<?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>12698</bug_id>
          <alias>CharLayout</alias>
          <creation_ts>2007-02-08 09:18:59 -0800</creation_ts>
          <short_desc>SVG text needs a special per-character layout mode.</short_desc>
          <delta_ts>2007-10-18 12:37:08 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          <cc>a.neumann</cc>
    
    <cc>eric</cc>
    
    <cc>oliver</cc>
    
    <cc>rindahl</cc>
    
    <cc>rwlbuis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>25079</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-02-08 09:18:59 -0800</bug_when>
    <thetext>To be able to implement mutliple x/y, dx/dy, rotate values properly, SVG text needs a special layout mode. vertical text &amp; textPath can be built upon that - once it&apos;s done.

Attaching patch, which implements a new hot per-character layout mode.
x/y, dx/dy lists seem to work fine in all combinations.
rotate lists work fine, too.

text seletion is _DISABLED_ for per character layout mode and needs discussion - not yet sure how to properly implement that. vertical text is not yet &quot;hooked in&quot; - but you can switch a variable &quot;isVerticalText&quot; in the code to &quot;true&quot; to actually see vertical text :-)

Another problem is the width/height calculation of our InlineText/Flow boxes:
- rotate changes the size of the boxes - not taken into account yet.
- y lists may enlarge the size of the boxes - not taken into account yet.
 (only x lists are handled so far in the patch - see SVGInlineFlowBox)

These size calculations are easy to fix - just don&apos;t have time atm.
Please comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25081</commentid>
    <comment_count>1</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-02-08 09:19:56 -0800</bug_when>
    <thetext>*** Bug 6420 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25083</commentid>
    <comment_count>2</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-02-08 09:21:35 -0800</bug_when>
    <thetext>*** Bug 12376 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25085</commentid>
    <comment_count>3</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-02-08 09:22:26 -0800</bug_when>
    <thetext>*** Bug 12377 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25086</commentid>
    <comment_count>4</comment_count>
      <attachid>13058</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-02-08 09:23:36 -0800</bug_when>
    <thetext>Created attachment 13058
Initial patch

Initial - not yet complete (see bug description) - patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25127</commentid>
    <comment_count>5</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-02-08 14:12:03 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Created an attachment (id=13058) [edit]
&gt; Initial patch
&gt; 
&gt; Initial - not yet complete (see bug description) - patch.
&gt; 

Hm I am not sure anymore wheter we should do the actual width/height/xPos/yPos calculation in SVGInlineFlowBox for the per-character layout mode. We could easily do this in &quot;layoutSingleObject&quot; in SVGRootInlineBox, and don&apos;t use the placeSVGFlowHorizontally/placeSVGFlowVertically logic at all for per-character layout mode situations. Though I won&apos;t waste time in trying out this stuff before talking to Oliver/Eric/Rob... We need to discuss a masterplan on how to go on here - as it&apos;s just too important to get that right :-)

I&apos;m blocked by exams until next week Wednesday - and well it&apos;s &quot;stabilization spree&quot; anyway, so we don&apos;t need to hurry at all. Have a nice week(end)!

Niko
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20510</commentid>
    <comment_count>6</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-03-04 04:35:08 -0800</bug_when>
    <thetext>Uploading a new patch soon, showing how far I got so far:

baseline-shift is implemented, x/y/dx/dy lists work perfectly (even all Batik examples for this!)
text-anchor now works &quot;per text chunks&quot;, and fixes lots of misrenderings.
text on path layout, as well as vertical text are implemented.

Still a lot of TODO: text-anchor on text path, kerning property, letter-spacing/word-spacing has to be done manually to also work in path layouts, textLength/textAdjust etc.. etc..

Some screenshots:
http://www.flickr.com/photos/43532360@N00/409816149/ (text-on-path)
http://www.flickr.com/photos/43532360@N00/409816151/ (text-on-path)
http://www.flickr.com/photos/43532360@N00/409303358/ (vertical text)
http://www.flickr.com/photos/43532360@N00/409308387/ (vertical text)
http://www.flickr.com/photos/43532360@N00/381107759/ (per character layout, shows one misplaced character though: the &quot;,&quot; in Cute and Fuzzy is misplaced - fixed locally since a week)

Stay tuned!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20511</commentid>
    <comment_count>7</comment_count>
      <attachid>13471</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-03-04 04:36:29 -0800</bug_when>
    <thetext>Created attachment 13471
Updated patch

Show some progress to the world! :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20513</commentid>
    <comment_count>8</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-03-04 04:37:23 -0800</bug_when>
    <thetext>*** Bug 6425 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20515</commentid>
    <comment_count>9</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-03-04 04:37:36 -0800</bug_when>
    <thetext>*** Bug 6481 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20517</commentid>
    <comment_count>10</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-03-04 04:39:09 -0800</bug_when>
    <thetext>*** Bug 12574 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20303</commentid>
    <comment_count>11</comment_count>
      <attachid>13500</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-03-06 17:30:50 -0800</bug_when>
    <thetext>Created attachment 13500
First complete patch

No ChangeLog yet, as this is probably not the last patch before the commit :-)
Added the new text engine as experimental feature, aka. can be build with build-webkit --svg-experimental...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17997</commentid>
    <comment_count>12</comment_count>
      <attachid>13500</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2007-03-20 22:45:40 -0700</bug_when>
    <thetext>Comment on attachment 13500
First complete patch

&gt; FIXME - svgChar.x/y are absolute positions, need to respect ctm here!

This (and similar) should have bugs filed if they still exist when this is landed

This looks good, i&apos;m hesitant to r=me-ify it as someone will probably land it.

Finally -- I take it IDL has no enunmerated type equivalent?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14162</commentid>
    <comment_count>13</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2007-04-19 02:05:59 -0700</bug_when>
    <thetext>I think we should get this into the tree now.  I think things have stabilized sufficiently to go ahead and take it.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>11630</commentid>
    <comment_count>14</comment_count>
      <attachid>14273</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2007-04-30 02:02:58 -0700</bug_when>
    <thetext>Created attachment 14273
Updated patch to work against current ToT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>9806</commentid>
    <comment_count>15</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-05-16 15:22:37 -0700</bug_when>
    <thetext>*** Bug 11941 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>9801</commentid>
    <comment_count>16</comment_count>
      <attachid>14586</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-05-16 17:08:51 -0700</bug_when>
    <thetext>Created attachment 14586
Updated patch including text selection

Finally a new patch including the text selection work of the last months. I have been very busy - so finally after ~ 5 months a first comitable patch. Have fun reviewing :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>9802</commentid>
    <comment_count>17</comment_count>
      <attachid>14587</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-05-16 17:18:00 -0700</bug_when>
    <thetext>Created attachment 14587
Layout test results (new directory: svg/batik)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>9803</commentid>
    <comment_count>18</comment_count>
      <attachid>14586</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2007-05-16 17:35:43 -0700</bug_when>
    <thetext>Comment on attachment 14586
Updated patch including text selection

You will hate me for this:
class and struct fields should have the m_ prefix

Do you really want to retain the debug code in applyTextAnchorToTextChunk?

why does totalAdvanceOfInlineBox take a ref paramter instead of just returning the length?  Or is this a preexisting method?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>9776</commentid>
    <comment_count>19</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-05-17 04:55:59 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; (From update of attachment 14586 [edit])
&gt; You will hate me for this:
Definately ;-)

&gt; class and struct fields should have the m_ prefix
I guess I can do that before landing - aka. not upload a new patch just for this.
 
&gt; Do you really want to retain the debug code in applyTextAnchorToTextChunk?
Yeah, it is essential for finding the corner cases for text selection.
 
&gt; why does totalAdvanceOfInlineBox take a ref paramter instead of just returning
&gt; the length?  Or is this a preexisting method?
totalAdvanceOfInlineBox is a recursive method? I need to pass around a ref.
Only the totalAdvanceOfInlineTextBox could be modified as you said..

Greetings,
Niko</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>9743</commentid>
    <comment_count>20</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2007-05-17 17:49:04 -0700</bug_when>
    <thetext>Maybe it would make more sense to land this on the feature branch for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>9609</commentid>
    <comment_count>21</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-05-19 04:22:56 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; Maybe it would make more sense to land this on the feature branch for now.
&gt; 
Hi Maciej,

I&apos;ve discussed this with Oliver - and we both find the option: land in trunk as experimental feature best. Because it&apos;s a) all prepared in this patch (builds flawlessly in experimental/non-experimental mode) and b) easiest way to merge in the normal build in the future and c) easy way for ppl to try out (just get trunk, and set the right build flags)

What do you think?

Greetings,
Niko</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>9560</commentid>
    <comment_count>22</comment_count>
      <attachid>14632</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-05-19 17:23:39 -0700</bug_when>
    <thetext>Created attachment 14632
Updated patch including text selection

Final version that should be comittable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>9562</commentid>
    <comment_count>23</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-05-19 18:45:19 -0700</bug_when>
    <thetext>Landed in the new feature-branch in r21607.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>4423</commentid>
    <comment_count>24</comment_count>
    <who name="Bruce Rindahl">rindahl</who>
    <bug_when>2007-07-18 08:40:07 -0700</bug_when>
    <thetext>I would love to see this land on the trunk soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>4345</commentid>
    <comment_count>25</comment_count>
    <who name="Andreas Neumann">a.neumann</who>
    <bug_when>2007-07-19 03:14:11 -0700</bug_when>
    <thetext>yes, I also think that the functionality from this patch is essential to the final release (main trunk). Please prioritize and move it to the main trunk.

I use the functionality provided by this patch in many SVG projects.

Thanks a lot,
Andreas</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>58426</commentid>
    <comment_count>26</comment_count>
    <who name="Bruce Rindahl">rindahl</who>
    <bug_when>2007-10-13 14:45:12 -0700</bug_when>
    <thetext>I hate to be annoying ;) but could the feature-branch be available as a special nightly?  You would have lots of potential testers on some of these advanced but must have features.  Please consider this ASAP.  Thanks again.  Bruce</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>58427</commentid>
    <comment_count>27</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2007-10-13 16:23:59 -0700</bug_when>
    <thetext>Well, I have good news for you:

1.  It was available as a special nightly:
http://nightly.webkit.org/builds/overview/feature-branch

2.  BUT, even better: feature-branch just got rolled into trunk last night.  So:
http://nightly.webkit.org/ should have these changes tomorrow (if it doesn&apos;t already today).
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>58430</commentid>
    <comment_count>28</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2007-10-13 18:01:20 -0700</bug_when>
    <thetext>The feature-branch no longer exists, it was merged into trunk yesterday.

Feature-branch has been available as a nightly for a few weeks now :D

*Theoretically* a nightly should be available shortly which will be post merge (you&apos;re looking for a version &gt; r26552</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>58823</commentid>
    <comment_count>29</comment_count>
    <who name="Bruce Rindahl">rindahl</who>
    <bug_when>2007-10-18 12:37:08 -0700</bug_when>
    <thetext>Thanks!
Great news
Bruce</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>13058</attachid>
            <date>2007-02-08 09:23:36 -0800</date>
            <delta_ts>2007-03-04 04:36:29 -0800</delta_ts>
            <desc>Initial patch</desc>
            <filename>TextPatch.diff</filename>
            <type>text/plain</type>
            <size>28007</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IHJlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcmVuZGVyaW5n
L0lubGluZVRleHRCb3guaAkocmV2aXNpb24gMTk0MzMpCisrKyByZW5kZXJpbmcvSW5saW5lVGV4
dEJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw5IEBACiBjbGFzcyBIaXRUZXN0UmVz
dWx0OwogY2xhc3MgUG9zaXRpb247CiAKKy8vIEhlbHBlciBmdW5jdGlvbiBzaGFyZWQgYnkgSW5s
aW5lVGV4dEJveCAvIFNWR1Jvb3RJbmxpbmVCb3gKK3ZvaWQgdXBkYXRlR3JhcGhpY3NDb250ZXh0
KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgQ29sb3ImIGZpbGxDb2xvciwgY29uc3Qg
Q29sb3ImIHN0cm9rZUNvbG9yLCBmbG9hdCBzdHJva2VUaGlja25lc3MpOworCiBjbGFzcyBJbmxp
bmVUZXh0Qm94IDogcHVibGljIElubGluZVJ1bkJveCB7CiBwdWJsaWM6CiAgICAgSW5saW5lVGV4
dEJveChSZW5kZXJPYmplY3QqIG9iaikKSW5kZXg6IHJlbmRlcmluZy9TVkdSb290SW5saW5lQm94
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSByZW5kZXJpbmcvU1ZHUm9vdElubGluZUJveC5jcHAJKHJldmlz
aW9uIDE5NDMzKQorKysgcmVuZGVyaW5nL1NWR1Jvb3RJbmxpbmVCb3guY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zLDYgKzMsNyBAQAogICoKICAqIENvcHlyaWdodCAoQykgMjAwNiBPbGl2ZXIgSHVu
dCA8b2poMTZAc3R1ZGVudC5jYW50ZXJidXJ5LmFjLm56PgogICogICAgICAgICAgIChDKSAyMDA2
IEFwcGxlIENvbXB1dGVyIEluYy4KKyAqICAgICAgICAgICAoQykgMjAwNyBOaWtvbGFzIFppbW1l
cm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjQsMTAg
KzI1LDE2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKICNpZmRlZiBTVkdfU1VQUE9SVAotCiAj
aW5jbHVkZSAiU1ZHUm9vdElubGluZUJveC5oIgogCisjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0
LmgiCisjaW5jbHVkZSAiU1ZHQW5nbGUuaCIKICNpbmNsdWRlICJTVkdJbmxpbmVGbG93Qm94Lmgi
CisjaW5jbHVkZSAiU1ZHSW5saW5lVGV4dEJveC5oIgorI2luY2x1ZGUgIlNWR0xlbmd0aExpc3Qu
aCIKKyNpbmNsdWRlICJTVkdOdW1iZXJMaXN0LmgiCisjaW5jbHVkZSAiU1ZHVGV4dFBvc2l0aW9u
aW5nRWxlbWVudC5oIgorI2luY2x1ZGUgIlRleHRTdHlsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKQEAgLTUwLDYgKzU3LDQ3OSBAQAogICAgIHBsYWNlU1ZHRmxvd1ZlcnRpY2FsbHkodGhp
cywgaGVpZ2h0T2ZCbG9jayk7CiB9CiAKK3N0cnVjdCBTVkdDaGFyTGF5b3V0SW5mbyB7CisgICAg
U1ZHQ2hhckxheW91dEluZm8oKQorICAgICAgICA6IGN1cngoMC4wKQorICAgICAgICAsIGN1cnko
MC4wKQorICAgICAgICAsIHhQb3MoMCkKKyAgICAgICAgLCB5UG9zKDApCisgICAgICAgICwgZHhQ
b3MoMCkKKyAgICAgICAgLCBkeVBvcygwKQorICAgICAgICAsIGFuZ2xlUG9zKDApCisgICAgeyB9
CisKKyAgICBlbnVtIExpc3RUeXBlIHsgTGlzdFgsIExpc3RZLCBMaXN0RHgsIExpc3REeSwgTGlz
dEFuZ2xlIH07CisKKyAgICB2b2lkIHByb2Nlc3NlZENoYXJhY3RlcnModW5zaWduZWQgaW50IGkp
CisgICAgeworICAgICAgICB4UG9zICs9IGk7CisgICAgICAgIHlQb3MgKz0gaTsKKyAgICAgICAg
ZHhQb3MgKz0gaTsKKyAgICAgICAgZHlQb3MgKz0gaTsKKyAgICAgICAgYW5nbGVQb3MgKz0gaTsK
KyAgICB9CisKKyAgICB2b2lkIGFkZExheW91dEluZm9ybWF0aW9uKFNWR1RleHRQb3NpdGlvbmlu
Z0VsZW1lbnQqIGVsZW1lbnQsIGJvb2wgb25seU1lcmdlSWZFbXB0eSwgYm9vbCByZXNldEl0ZXJh
dG9ycykKKyAgICB7CisgICAgICAgIGJvb2wgeE1lcmdlID0gb25seU1lcmdlSWZFbXB0eSA/IHhM
aXN0LmlzRW1wdHkoKSA6IHRydWU7CisgICAgICAgIGJvb2wgeU1lcmdlID0gb25seU1lcmdlSWZF
bXB0eSA/IHlMaXN0LmlzRW1wdHkoKSA6IHRydWU7CisgICAgICAgIGJvb2wgZHhNZXJnZSA9IG9u
bHlNZXJnZUlmRW1wdHkgPyBkeExpc3QuaXNFbXB0eSgpIDogdHJ1ZTsKKyAgICAgICAgYm9vbCBk
eU1lcmdlID0gb25seU1lcmdlSWZFbXB0eSA/IGR5TGlzdC5pc0VtcHR5KCkgOiB0cnVlOworICAg
ICAgICBib29sIGFuZ2xlTWVyZ2UgPSBvbmx5TWVyZ2VJZkVtcHR5ID8gYW5nbGVMaXN0LmlzRW1w
dHkoKSA6IHRydWU7CisKKyAgICAgICAgaWYgKHhNZXJnZSkgeworICAgICAgICAgICAgaWYgKHJl
c2V0SXRlcmF0b3JzKQorICAgICAgICAgICAgICAgIHhQb3MgPSAwOworCisgICAgICAgICAgICBt
ZXJnZUxpc3QoTGlzdFgsIGVsZW1lbnQtPngoKSk7CisgICAgICAgIH0KKworICAgICAgICBpZiAo
eU1lcmdlKSB7CisgICAgICAgICAgICBpZiAocmVzZXRJdGVyYXRvcnMpCisgICAgICAgICAgICAg
ICAgeVBvcyA9IDA7CisKKyAgICAgICAgICAgIG1lcmdlTGlzdChMaXN0WSwgZWxlbWVudC0+eSgp
KTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChkeE1lcmdlKSB7CisgICAgICAgICAgICBpZiAo
cmVzZXRJdGVyYXRvcnMpCisgICAgICAgICAgICAgICAgZHhQb3MgPSAwOworCisgICAgICAgICAg
ICBtZXJnZUxpc3QoTGlzdER4LCBlbGVtZW50LT5keCgpKTsKKyAgICAgICAgfQorCisgICAgICAg
IGlmIChkeU1lcmdlKSB7CisgICAgICAgICAgICBpZiAocmVzZXRJdGVyYXRvcnMpCisgICAgICAg
ICAgICAgICAgZHlQb3MgPSAwOworCisgICAgICAgICAgICBtZXJnZUxpc3QoTGlzdER5LCBlbGVt
ZW50LT5keSgpKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChhbmdsZU1lcmdlKSB7CisgICAg
ICAgICAgICBpZiAocmVzZXRJdGVyYXRvcnMpCisgICAgICAgICAgICAgICAgYW5nbGVQb3MgPSAw
OworCisgICAgICAgICAgICBtZXJnZUxpc3QoTGlzdEFuZ2xlLCBlbGVtZW50LT5yb3RhdGUoKSk7
CisgICAgICAgIH0KKyAgICB9CisKKyAgICBmbG9hdCB4VmFsdWVBdCh1bnNpZ25lZCBpbnQgcmVs
YXRpdmVQb3NpdGlvbikKKyAgICB7CisgICAgICAgIEFTU0VSVCgoeFBvcyArIHJlbGF0aXZlUG9z
aXRpb24pIDwgeExpc3Quc2l6ZSgpKTsKKyAgICAgICAgcmV0dXJuIHhMaXN0LmF0KHhQb3MgKyBy
ZWxhdGl2ZVBvc2l0aW9uKTsKKyAgICB9CisKKyAgICBmbG9hdCB5VmFsdWVBdCh1bnNpZ25lZCBp
bnQgcmVsYXRpdmVQb3NpdGlvbikKKyAgICB7CisgICAgICAgIEFTU0VSVCgoeVBvcyArIHJlbGF0
aXZlUG9zaXRpb24pIDwgeUxpc3Quc2l6ZSgpKTsKKyAgICAgICAgcmV0dXJuIHlMaXN0LmF0KHlQ
b3MgKyByZWxhdGl2ZVBvc2l0aW9uKTsKKyAgICB9CisKKyAgICBmbG9hdCBkeFZhbHVlQXQodW5z
aWduZWQgaW50IHJlbGF0aXZlUG9zaXRpb24pCisgICAgeworICAgICAgICBBU1NFUlQoKGR4UG9z
ICsgcmVsYXRpdmVQb3NpdGlvbikgPCBkeExpc3Quc2l6ZSgpKTsKKyAgICAgICAgcmV0dXJuIGR4
TGlzdC5hdChkeFBvcyArIHJlbGF0aXZlUG9zaXRpb24pOworICAgIH0KKworICAgIGZsb2F0IGR5
VmFsdWVBdCh1bnNpZ25lZCBpbnQgcmVsYXRpdmVQb3NpdGlvbikKKyAgICB7CisgICAgICAgIEFT
U0VSVCgoZHlQb3MgKyByZWxhdGl2ZVBvc2l0aW9uKSA8IGR5TGlzdC5zaXplKCkpOworICAgICAg
ICByZXR1cm4gZHlMaXN0LmF0KGR5UG9zICsgcmVsYXRpdmVQb3NpdGlvbik7CisgICAgfQorCisg
ICAgZmxvYXQgYW5nbGVWYWx1ZUF0KHVuc2lnbmVkIGludCByZWxhdGl2ZVBvc2l0aW9uKQorICAg
IHsKKyAgICAgICAgQVNTRVJUKChhbmdsZVBvcyArIHJlbGF0aXZlUG9zaXRpb24pIDwgYW5nbGVM
aXN0LnNpemUoKSk7CisgICAgICAgIHJldHVybiBhbmdsZUxpc3QuYXQoYW5nbGVQb3MgKyByZWxh
dGl2ZVBvc2l0aW9uKTsKKyAgICB9CisKKyAgICAvLyBQdWJsaWMgdmFyaWFibGVzCisgICAgZmxv
YXQgY3VyeDsKKyAgICBmbG9hdCBjdXJ5OworCisgICAgdW5zaWduZWQgaW50IHhQb3M7CisgICAg
dW5zaWduZWQgaW50IHlQb3M7CisgICAgdW5zaWduZWQgaW50IGR4UG9zOworICAgIHVuc2lnbmVk
IGludCBkeVBvczsKKyAgICB1bnNpZ25lZCBpbnQgYW5nbGVQb3M7CisKKyAgICBWZWN0b3I8Zmxv
YXQ+IHhMaXN0OworICAgIFZlY3RvcjxmbG9hdD4geUxpc3Q7CisgICAgVmVjdG9yPGZsb2F0PiBk
eExpc3Q7CisgICAgVmVjdG9yPGZsb2F0PiBkeUxpc3Q7CisgICAgVmVjdG9yPGZsb2F0PiBhbmds
ZUxpc3Q7CisKK3ByaXZhdGU6CisgICAgLy8gTWVyZ2UgaW4gYWxsIGVsZW1lbnRzIGZyb20gdGhl
IFNWR051bWJlckxpc3QgYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gCisgICAgdm9pZCBtZXJnZUxp
c3QoTGlzdFR5cGUgdHlwZSwgU1ZHTnVtYmVyTGlzdCogbGlzdCkKKyAgICB7CisgICAgICAgIHVu
c2lnbmVkIGludCBsZW5ndGggPSBsaXN0LT5udW1iZXJPZkl0ZW1zKCk7CisgICAgICAgIGlmICgh
bGVuZ3RoKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGJvb2wgd2FzRW1wdHkgPSBm
YWxzZTsKKyAgICAgICAgc3dpdGNoICh0eXBlKSB7CisgICAgICAgICAgICBjYXNlIExpc3RBbmds
ZToKKyAgICAgICAgICAgICAgICB3YXNFbXB0eSA9IGFuZ2xlTGlzdC5pc0VtcHR5KCk7CisgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICB9CisgCisgICAgICAgIEV4Y2VwdGlvbkNv
ZGUgZWMgPSAwOworICAgICAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IGxlbmd0aDsg
KytpKSB7CisgICAgICAgICAgICBmbG9hdCB2YWx1ZSA9IGxpc3QtPmdldEl0ZW0oaSwgZWMpOwor
ICAgICAgICAgICAgQVNTRVJUKGVjID09IDApOworCisgICAgICAgICAgICBzd2l0Y2ggKHR5cGUp
IHsKKyAgICAgICAgICAgICAgICBjYXNlIExpc3RBbmdsZToKKyAgICAgICAgICAgICAgICAgICAg
aWYgKCF3YXNFbXB0eSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGFuZ2xlTGlzdC5yZW1vdmUo
YW5nbGVQb3MgKyBpKTsKKworICAgICAgICAgICAgICAgICAgICBhbmdsZUxpc3QuaW5zZXJ0KGFu
Z2xlUG9zICsgaSwgdmFsdWUpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIC8vIE1lcmdlIGluIGFs
bCBlbGVtZW50cyBmcm9tIHRoZSBTVkdMZW5ndGhMaXN0IGF0IHRoZSBjdXJyZW50IHBvc2l0aW9u
CisgICAgdm9pZCBtZXJnZUxpc3QoTGlzdFR5cGUgdHlwZSwgU1ZHTGVuZ3RoTGlzdCogbGlzdCkK
KyAgICB7CisgICAgICAgIHVuc2lnbmVkIGludCBsZW5ndGggPSBsaXN0LT5udW1iZXJPZkl0ZW1z
KCk7CisgICAgICAgIGlmICghbGVuZ3RoKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAg
IGJvb2wgd2FzRW1wdHkgPSBmYWxzZTsKKyAgICAgICAgc3dpdGNoICh0eXBlKSB7CisgICAgICAg
ICAgICBjYXNlIExpc3RYOgorICAgICAgICAgICAgICAgIHdhc0VtcHR5ID0gZHhMaXN0LmlzRW1w
dHkoKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgTGlzdFk6Cisg
ICAgICAgICAgICAgICAgd2FzRW1wdHkgPSB5TGlzdC5pc0VtcHR5KCk7CisgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIExpc3REeDoKKyAgICAgICAgICAgICAgICB3YXNF
bXB0eSA9IGR4TGlzdC5pc0VtcHR5KCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICBjYXNlIExpc3REeToKKyAgICAgICAgICAgICAgICB3YXNFbXB0eSA9IGR5TGlzdC5pc0Vt
cHR5KCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0OgorICAg
ICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICB9CisgCisgICAgICAg
IEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgICAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsg
aSA8IGxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICBmbG9hdCB2YWx1ZSA9IGxpc3QtPmdldEl0
ZW0oaSwgZWMpLnZhbHVlKCk7CisgICAgICAgICAgICBBU1NFUlQoZWMgPT0gMCk7CisKKyAgICAg
ICAgICAgIHN3aXRjaCAodHlwZSkgeworICAgICAgICAgICAgICAgIGNhc2UgTGlzdFg6CisgICAg
ICAgICAgICAgICAgICAgIGlmICghd2FzRW1wdHkpCisgICAgICAgICAgICAgICAgICAgICAgICB4
TGlzdC5yZW1vdmUoeFBvcyArIGkpOworCisgICAgICAgICAgICAgICAgICAgIHhMaXN0Lmluc2Vy
dCh4UG9zICsgaSwgdmFsdWUpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgICAgICBjYXNlIExpc3RZOgorICAgICAgICAgICAgICAgICAgICBpZiAoIXdhc0VtcHR5KQor
ICAgICAgICAgICAgICAgICAgICAgICAgeUxpc3QucmVtb3ZlKHlQb3MgKyBpKTsKKworICAgICAg
ICAgICAgICAgICAgICB5TGlzdC5pbnNlcnQoeVBvcyArIGksIHZhbHVlKTsKKyAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSBMaXN0RHg6CisgICAgICAgICAg
ICAgICAgICAgIGlmICghd2FzRW1wdHkpCisgICAgICAgICAgICAgICAgICAgICAgICBkeExpc3Qu
cmVtb3ZlKGR4UG9zICsgaSk7CisKKyAgICAgICAgICAgICAgICAgICAgZHhMaXN0Lmluc2VydChk
eFBvcyArIGksIHZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAg
ICAgICAgY2FzZSBMaXN0RHk6CisgICAgICAgICAgICAgICAgICAgIGlmICghd2FzRW1wdHkpCisg
ICAgICAgICAgICAgICAgICAgICAgICBkeUxpc3QucmVtb3ZlKGR5UG9zICsgaSk7CisKKyAgICAg
ICAgICAgICAgICAgICAgZHlMaXN0Lmluc2VydChkeVBvcyArIGksIHZhbHVlKTsKKyAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAg
ICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0K
KyAgICB9Cit9OworCitzdGF0aWMgYm9vbCBjaGlsZHJlbk5lZWRQZXJDaGFyYWN0ZXJMYXlvdXQo
SW5saW5lRmxvd0JveCogc3RhcnQpCit7CisgICAgZm9yIChJbmxpbmVCb3gqIGN1cnIgPSBzdGFy
dC0+Zmlyc3RDaGlsZCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dE9uTGluZSgpKSB7CisgICAg
ICAgIGlmIChjdXJyLT5vYmplY3QoKS0+aXNUZXh0KCkpIHsKKyAgICAgICAgICAgIFNWR0lubGlu
ZVRleHRCb3gqIHRleHQgPSBzdGF0aWNfY2FzdDxTVkdJbmxpbmVUZXh0Qm94Kj4oY3Vycik7Cisg
ICAgICAgICAgICBpZiAodGV4dC0+bmVlZHNQZXJDaGFyYWN0ZXJMYXlvdXQoKSkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIEFTU0VS
VChjdXJyLT5pc0lubGluZUZsb3dCb3goKSk7CisgICAgICAgICAgICBib29sIHJlc3VsdCA9IGNo
aWxkcmVuTmVlZFBlckNoYXJhY3RlckxheW91dChzdGF0aWNfY2FzdDxJbmxpbmVGbG93Qm94Kj4o
Y3VycikpOworICAgICAgICAgICAgaWYgKHJlc3VsdCkKKyAgICAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBT
VkdSb290SW5saW5lQm94Ojpjb21wdXRlUGVyQ2hhcmFjdGVyTGF5b3V0aW5nSW5mb3JtYXRpb25J
Zk5lZWRlZCgpCit7CisgICAgaWYgKCFjaGlsZHJlbk5lZWRQZXJDaGFyYWN0ZXJMYXlvdXQodGhp
cykpCisgICAgICAgIHJldHVybjsKKworICAgIHNldE5lZWRzUGVyQ2hhcmFjdGVyTGF5b3V0KCk7
CisKKyAgICAvLyBUaGlzIGlzIGEgc3BlY2lhbCBjb2RlIHBhdGggZm9yIHBlci1jaGFyYWN0ZXIg
bGF5b3V0IG1vZGUuCisgICAgLy8KKyAgICAvLyBBdCB0aGlzIHBvaW50IHRoZSB0ZXh0L2Zsb3cg
Ym94ZXMgaGF2ZSBjb3JyZWN0IGRpbWVuc2lvbnMsIHJlc3BlY3RpbmcKKyAgICAvLyBtdWx0aXBs
ZSB4L3ksIGR4L2R5IHZhbHVlcyBzZXQgb24gdGhlIDx0ZXh0PiBlbGVtZW50cy4gV2Ugbm93IGhh
dmUgdG8KKyAgICAvLyBmaWd1cmUgb3V0IHRoZSBhYnNvbHV0ZSB4L3kgcG9zaXRpb25zIGZvciBl
dmVyeSBnbHlwaCB0byByZW5kZXIuCisgICAgbV9zdmdDaGFycy5jbGVhcigpOworCisgICAgU1ZH
Q2hhckxheW91dEluZm8gaW5mbzsKKyAgICBsYXlvdXRQZXJDaGFyYWN0ZXIodGhpcywgaW5mbyk7
Cit9CisKK3ZvaWQgU1ZHUm9vdElubGluZUJveDo6bGF5b3V0UGVyQ2hhcmFjdGVyKElubGluZUZs
b3dCb3gqIHN0YXJ0LCBTVkdDaGFyTGF5b3V0SW5mbyYgaW5mbykKK3sKKyAgICBmb3IgKElubGlu
ZUJveCogY3VyciA9IHN0YXJ0LT5maXJzdENoaWxkKCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0
T25MaW5lKCkpIHsKKyAgICAgICAgaWYgKGN1cnItPm9iamVjdCgpLT5pc1RleHQoKSkgeworICAg
ICAgICAgICAgU1ZHSW5saW5lVGV4dEJveCogdGV4dEJveCA9IHN0YXRpY19jYXN0PFNWR0lubGlu
ZVRleHRCb3gqPihjdXJyKTsKKworICAgICAgICAgICAgUmVuZGVyVGV4dCogdGV4dCA9IHN0YXRp
Y19jYXN0PFJlbmRlclRleHQqPih0ZXh0Qm94LT5vYmplY3QoKSk7CisgICAgICAgICAgICBBU1NF
UlQodGV4dCk7CisgICAgICAgICAgICBBU1NFUlQodGV4dC0+cGFyZW50KCkpOworCisgICAgICAg
ICAgICBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50KiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZH
VGV4dFBvc2l0aW9uaW5nRWxlbWVudCo+KHRleHQtPnBhcmVudCgpLT5lbGVtZW50KCkpOworICAg
ICAgICAgICAgQVNTRVJUKGVsZW1lbnQpOworICAgICAgICAgICAgQVNTRVJUKGVsZW1lbnQtPnBh
cmVudE5vZGUoKSk7CisKKyAgICAgICAgICAgIGluZm8uYWRkTGF5b3V0SW5mb3JtYXRpb24oZWxl
bWVudCwgdHJ1ZSwgZmFsc2UpOworICAgICAgICAgICAgbGF5b3V0U2luZ2xlVGV4dE9iamVjdChp
bmZvLCB0ZXh0KTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIEFTU0VSVChjdXJyLT5p
c0lubGluZUZsb3dCb3goKSk7CisgICAgICAgICAgICBJbmxpbmVGbG93Qm94KiBmbG93Qm94ID0g
c3RhdGljX2Nhc3Q8SW5saW5lRmxvd0JveCo+KGN1cnIpOworCisgICAgICAgICAgICBTVkdUZXh0
UG9zaXRpb25pbmdFbGVtZW50KiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHVGV4dFBvc2l0aW9u
aW5nRWxlbWVudCo+KGZsb3dCb3gtPm9iamVjdCgpLT5lbGVtZW50KCkpOworICAgICAgICAgICAg
QVNTRVJUKGVsZW1lbnQpOworICAgICAgICAgICAgQVNTRVJUKGVsZW1lbnQtPnBhcmVudE5vZGUo
KSk7CisKKyAgICAgICAgICAgIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQqIHBhcmVudEVsZW1l
bnQgPSAwOworICAgICAgICAgICAgaWYgKGVsZW1lbnQtPnBhcmVudE5vZGUoKS0+bm9kZU5hbWUo
KSA9PSBTVkdOYW1lczo6dHNwYW5UYWcgfHwKKyAgICAgICAgICAgICAgICBlbGVtZW50LT5wYXJl
bnROb2RlKCktPm5vZGVOYW1lKCkgPT0gU1ZHTmFtZXM6OnRleHRUYWcpCisgICAgICAgICAgICAg
ICAgcGFyZW50RWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQq
PihlbGVtZW50LT5wYXJlbnROb2RlKCkpOworCisgICAgICAgICAgICAvLyBJZiB0aGVyZSBhcmUg
c29tZSBsaXN0cyBub3QgYXNzaWduZWQgYXQgdGhpcyBwb2ludCwgdGhlcmUgaGFzbid0IGJlZW4g
YSBSZW5kZXJUZXh0IG9iamVjdAorICAgICAgICAgICAgLy8gc2VlbiB5ZXQgLSBzbyBpbml0aWFs
aXplIHRoZXNlIGxpc3RzIHdpdGggdGhlIHBhcmVudCBub2RlIG9mICdlbGVtZW50JyAoPHRleHQ+
IG5vZGUuKQorICAgICAgICAgICAgaWYgKHBhcmVudEVsZW1lbnQpCisgICAgICAgICAgICAgICAg
aW5mby5hZGRMYXlvdXRJbmZvcm1hdGlvbihwYXJlbnRFbGVtZW50LCB0cnVlLCB0cnVlKTsKKwor
ICAgICAgICAgICAgLy8gU2F2ZSBjdXJyZW50IHgveSwgZHgvZHkgbGlzdHMgYmVmb3JlIGVudGVy
aW5nIHJlY3Vyc2lvbgorICAgICAgICAgICAgVmVjdG9yPGZsb2F0PiB4TGlzdCA9IGluZm8ueExp
c3Q7CisgICAgICAgICAgICBWZWN0b3I8ZmxvYXQ+IHlMaXN0ID0gaW5mby55TGlzdDsKKyAgICAg
ICAgICAgIFZlY3RvcjxmbG9hdD4gZHhMaXN0ID0gaW5mby5keExpc3Q7CisgICAgICAgICAgICBW
ZWN0b3I8ZmxvYXQ+IGR5TGlzdCA9IGluZm8uZHlMaXN0OworCisgICAgICAgICAgICBpbmZvLmFk
ZExheW91dEluZm9ybWF0aW9uKGVsZW1lbnQsIGZhbHNlLCBmYWxzZSk7CisgICAgICAgICAgICBs
YXlvdXRQZXJDaGFyYWN0ZXIoZmxvd0JveCwgaW5mbyk7CisKKyAgICAgICAgICAgIC8vIFJlc3Rv
cmUgeC95LCBkeC9keSBsaXN0cyBhbmQga2VlcCBjdXJyZW50IGl0ZXJhdG9yIHBvc2l0aW9uCisg
ICAgICAgICAgICBpbmZvLnhMaXN0ID0geExpc3Q7CisgICAgICAgICAgICBpbmZvLnlMaXN0ID0g
eUxpc3Q7CisgICAgICAgICAgICBpbmZvLmR4TGlzdCA9IGR4TGlzdDsKKyAgICAgICAgICAgIGlu
Zm8uZHlMaXN0ID0gZHlMaXN0OworICAgICAgICB9CisgICAgfQorfQorCit2b2lkIFNWR1Jvb3RJ
bmxpbmVCb3g6OmxheW91dFNpbmdsZVRleHRPYmplY3QoU1ZHQ2hhckxheW91dEluZm8mIGluZm8s
IFJlbmRlclRleHQqIHRleHQpCit7CisgICAgY29uc3QgRm9udCYgZm9udCA9IHRleHQtPnN0eWxl
KGlzRmlyc3RMaW5lU3R5bGUoKSktPmZvbnQoKTsKKyAgICBjb25zdCBVQ2hhciogY2hhcnMgPSB0
ZXh0LT5jaGFyYWN0ZXJzKCk7CisgICAgdW5zaWduZWQgaW50IGxlbmd0aCA9IHRleHQtPnRleHRM
ZW5ndGgoKTsKKworICAgIEFTU0VSVChjaGFycyk7CisgICAgQVNTRVJUKGxlbmd0aCk7CisKKyAg
ICAvLyBXYWxrIHRoZSB3aG9sZSBzdHJpbmcgdG8gcmVuZGVyIGFuZCBmaWd1cmUgb3V0IGFuIGFi
c29sdXRlIHgveSBwb3NpdGlvbiBmb3IgX2VhY2hfIGdseXBoLgorICAgIC8vIElmIGFuIHggdmFs
dWUgaXMgcHJlc2VudCBpbiB0aGUgJ3gnIGxpc3QgLSB1c2UgdGhhdCBvbmUuIElmIHRoZXJlIGlz
IGFsc28gYSAnZHgnIHZhbHVlCisgICAgLy8gc3BlY2lmaWVkLCBpdCBoYXMgdG8gYmUgYWRkZWQg
dG8gdGhlIGN1cnJlbnQgeCB2YWx1ZS4gSWYgdGhlcmUgaXMgbm8gJ3gnIHZhbHVlIGluIHRoZSBs
aXN0CisgICAgLy8gYW55bW9yZSBmb3IgYSBjZXJ0YWluIGdseXBoLCBhZHZhbmNlIGJ5IHRoZSBj
dXJyZW50IGdseXBoIHdpZHRoLiBJZiB0aGVyZSBhcmUgbW9yZSAneCcgZWxlbWVudHMKKyAgICAv
LyBpbiB0aGUgbGFzdCB0aGVuIGdseXBocyB0byByZW5kZXIsIGlnbm9yZSB0aGVtLiBUaGlzIGlz
IGFsbCBzcGVjaWZpZWQgaW4gdGhlIFNWRyAxLjEgdGV4dCBzZWN0aW9uLgorICAgIC8vIEFuYWxv
ZyBwcm9jZXNzaW5nIHRvIGNvbXB1dGUgdGhlIGFic29sdXRlIHkgdmFsdWVzLgorICAgIHVuc2ln
bmVkIGludCBpID0gMDsKKworICAgIGJvb2wgaXNWZXJ0aWNhbFRleHQgPSBmYWxzZTsgLy8gVE9E
TyEKKworICAgIHdoaWxlIChpIDwgbGVuZ3RoKSB7CisgICAgICAgIFVDaGFyIGN1ciA9ICpjaGFy
czsKKworICAgICAgICBpZiAoKGkgKyBpbmZvLnhQb3MpIDwgaW5mby54TGlzdC5zaXplKCkpCisg
ICAgICAgICAgICBpbmZvLmN1cnggPSBpbmZvLnhWYWx1ZUF0KGkpOworICAgICAgICBlbHNlIGlm
IChpID4gMCAmJiAhaXNWZXJ0aWNhbFRleHQpCisgICAgICAgICAgICBpbmZvLmN1cnggKz0gdGV4
dC0+d2lkdGgoaSwgMSwgZm9udCwgaW5mby5jdXJ4KTsKKworICAgICAgICBpZiAoKGkgKyBpbmZv
LmR4UG9zKSA8IGluZm8uZHhMaXN0LnNpemUoKSkKKyAgICAgICAgICAgIGluZm8uY3VyeCArPSBp
bmZvLmR4VmFsdWVBdChpKTsKKworICAgICAgICBpZiAoKGkgKyBpbmZvLnlQb3MpIDwgaW5mby55
TGlzdC5zaXplKCkpCisgICAgICAgICAgICBpbmZvLmN1cnkgPSBpbmZvLnlWYWx1ZUF0KGkpOwor
ICAgICAgICBlbHNlIGlmIChpID4gMCAmJiBpc1ZlcnRpY2FsVGV4dCkKKyAgICAgICAgICAgIGlu
Zm8uY3VyeSArPSB0ZXh0LT5oZWlnaHQoKTsKKworICAgICAgICBpZiAoKGkgKyBpbmZvLmR5UG9z
KSA8IGluZm8uZHlMaXN0LnNpemUoKSkKKyAgICAgICAgICAgIGluZm8uY3VyeSArPSBpbmZvLmR5
VmFsdWVBdChpKTsKKworICAgICAgICBTVkdDaGFyIHN2Z0NoYXI7CisgICAgICAgIHN2Z0NoYXIu
Y2hhcmFjdGVyID0gY3VyOworCisgICAgICAgIGlmICgoaSArIGluZm8uYW5nbGVQb3MpIDwgaW5m
by5hbmdsZUxpc3Quc2l6ZSgpKQorICAgICAgICAgICAgc3ZnQ2hhci5hbmdsZSA9IGluZm8uYW5n
bGVWYWx1ZUF0KGkpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBzdmdDaGFyLmFuZ2xlID0g
MDsKKworICAgICAgICBzdmdDaGFyLnggPSBpbmZvLmN1cng7CisgICAgICAgIHN2Z0NoYXIueSA9
IGluZm8uY3VyeTsKKworICAgICAgICBtX3N2Z0NoYXJzLmFwcGVuZChzdmdDaGFyKTsKKworICAg
ICAgICAvLyBmcHJpbnRmKHN0ZGVyciwgIkNVUiBYOiAlZiwgWTogJWYsIENIQVI6ICVzXG4iLCBz
dmdDaGFyLngsIHN2Z0NoYXIueSwgKGNoYXIqKSZjdXIpOworCisgICAgICAgIGkrKzsKKyAgICAg
ICAgY2hhcnMrKzsKKyAgICB9CisKKyAgICBpbmZvLnByb2Nlc3NlZENoYXJhY3RlcnMoaSk7Cit9
CisKK3ZvaWQgU1ZHUm9vdElubGluZUJveDo6cGFpbnRQZXJDaGFyYWN0ZXIoUmVuZGVyT2JqZWN0
OjpQYWludEluZm8mIHBhaW50SW5mbywgaW50IHR4LCBpbnQgdHkpCit7CisgICAgVmVjdG9yPFNW
R0NoYXI+OjppdGVyYXRvciBpdCA9IG1fc3ZnQ2hhcnMuYmVnaW4oKTsKKyAgICBwYWludFBlckNo
YXJhY3RlcihwYWludEluZm8sIHR4LCB0eSwgdGhpcywgaXQpOworICAgIC8vQVNTRVJUKGl0ID09
IG1fc3ZnQ2hhcnMuZW5kKCkpOworfQorCit2b2lkIFNWR1Jvb3RJbmxpbmVCb3g6OnBhaW50UGVy
Q2hhcmFjdGVyKFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiBwYWludEluZm8sIGludCB0eCwgaW50
IHR5LCBJbmxpbmVGbG93Qm94KiBzdGFydCwgVmVjdG9yPFNWR0NoYXI+OjppdGVyYXRvciYgaXQp
Cit7CisgICAgZm9yIChJbmxpbmVCb3gqIGN1cnIgPSBzdGFydC0+Zmlyc3RDaGlsZCgpOyBjdXJy
OyBjdXJyID0gY3Vyci0+bmV4dE9uTGluZSgpKSB7CisgICAgICAgIGlmIChjdXJyLT5vYmplY3Qo
KS0+aXNUZXh0KCkpIHsKKyAgICAgICAgICAgIElubGluZVRleHRCb3gqIHRleHRCb3ggPSBzdGF0
aWNfY2FzdDxJbmxpbmVUZXh0Qm94Kj4oY3Vycik7CisKKyAgICAgICAgICAgIFJlbmRlclRleHQq
IHRleHQgPSBzdGF0aWNfY2FzdDxSZW5kZXJUZXh0Kj4odGV4dEJveC0+b2JqZWN0KCkpOworICAg
ICAgICAgICAgQVNTRVJUKHRleHQpOworCisgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGVuZ3Ro
ID0gdGV4dC0+dGV4dExlbmd0aCgpOworCisgICAgICAgICAgICAvLyBQYWludCBhbGwgY29udGFp
bmVkIGNoYXJhY3RlcnMsIG9uZS1ieS1vbmUuCisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGlu
dCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICAgICAgQVNTRVJUKGl0ICE9
IG1fc3ZnQ2hhcnMuZW5kKCkpOworICAgICAgICAgICAgICAgIHBhaW50U2luZ2xlQ2hhcmFjdGVy
KHBhaW50SW5mbywgdHgsIHR5LCB0ZXh0Qm94LCAqaXQpOworICAgICAgICAgICAgICAgIGl0Kys7
CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBBU1NFUlQoY3Vy
ci0+aXNJbmxpbmVGbG93Qm94KCkpOworICAgICAgICAgICAgcGFpbnRQZXJDaGFyYWN0ZXIocGFp
bnRJbmZvLCB0eCwgdHksIHN0YXRpY19jYXN0PElubGluZUZsb3dCb3gqPihjdXJyKSwgaXQpOwor
ICAgICAgICB9CisgICAgfQorfQorCit2b2lkIFNWR1Jvb3RJbmxpbmVCb3g6OnBhaW50U2luZ2xl
Q2hhcmFjdGVyKFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiBwYWludEluZm8sIGludCB0eCwgaW50
IHR5LCBJbmxpbmVUZXh0Qm94KiB0ZXh0Qm94LCBjb25zdCBTVkdDaGFyJiBzdmdDaGFyKQorewor
ICAgIC8vIFRPRE86IHRleHQgc2VsZWN0aW9uIQorCisgICAgUmVuZGVyVGV4dCogdGV4dCA9IHN0
YXRpY19jYXN0PFJlbmRlclRleHQqPih0ZXh0Qm94LT5vYmplY3QoKSk7CisgICAgQVNTRVJUKHRl
eHQpOworCisgICAgaWYgKHRleHQtPnN0eWxlKCktPnZpc2liaWxpdHkoKSAhPSBWSVNJQkxFKQor
ICAgICAgICByZXR1cm47CisgICAgCisgICAgQVNTRVJUKHBhaW50SW5mby5waGFzZSAhPSBQYWlu
dFBoYXNlU2VsZk91dGxpbmUgJiYgcGFpbnRJbmZvLnBoYXNlICE9IFBhaW50UGhhc2VDaGlsZE91
dGxpbmVzKTsKKworICAgIGludCB4UG9zID0gdHggKyBzdmdDaGFyLnggLSB0ZXh0Qm94LT5wYXJl
bnQoKS0+bWF4SG9yaXpvbnRhbFZpc3VhbE92ZXJmbG93KCk7CisgICAgaW50IHcgPSB3aWR0aCgp
ICsgMiAqIHRleHRCb3gtPnBhcmVudCgpLT5tYXhIb3Jpem9udGFsVmlzdWFsT3ZlcmZsb3coKTsK
KyAgICBpZiAoeFBvcyA+PSBwYWludEluZm8ucmVjdC5yaWdodCgpIHx8IHhQb3MgKyB3IDw9IHBh
aW50SW5mby5yZWN0LngoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gU2V0IG91ciBmb250
CisgICAgUmVuZGVyU3R5bGUqIHN0eWxlVG9Vc2UgPSB0ZXh0LT5zdHlsZSh0ZXh0Qm94LT5tX2Zp
cnN0TGluZSk7CisgICAgaW50IGQgPSBzdHlsZVRvVXNlLT50ZXh0RGVjb3JhdGlvbnNJbkVmZmVj
dCgpOworICAgIGNvbnN0IEZvbnQqIGZvbnQgPSAmc3R5bGVUb1VzZS0+Zm9udCgpOworICAgIGlm
ICgqZm9udCAhPSBwYWludEluZm8uY29udGV4dC0+Zm9udCgpKQorICAgICAgICBwYWludEluZm8u
Y29udGV4dC0+c2V0Rm9udCgqZm9udCk7CisKKyAgICAvLyBTZXQgZmlsbC9zdHJva2UgY29sb3IK
KyAgICBDb2xvciB0ZXh0RmlsbENvbG9yOworICAgIENvbG9yIHRleHRTdHJva2VDb2xvcjsKKyAg
ICBmbG9hdCB0ZXh0U3Ryb2tlV2lkdGggPSBzdHlsZVRvVXNlLT50ZXh0U3Ryb2tlV2lkdGgoKTsK
KworICAgIEFTU0VSVCghcGFpbnRJbmZvLmZvcmNlV2hpdGVUZXh0KTsKKyAgICBBU1NFUlQoIXN0
eWxlVG9Vc2UtPmZvcmNlQmFja2dyb3VuZHNUb1doaXRlKCkpOworCisgICAgdGV4dEZpbGxDb2xv
ciA9IHN0eWxlVG9Vc2UtPnRleHRGaWxsQ29sb3IoKTsKKyAgICBpZiAoIXRleHRGaWxsQ29sb3Iu
aXNWYWxpZCgpKQorICAgICAgICB0ZXh0RmlsbENvbG9yID0gc3R5bGVUb1VzZS0+Y29sb3IoKTsK
KworICAgIHRleHRTdHJva2VDb2xvciA9IHN0eWxlVG9Vc2UtPnRleHRTdHJva2VDb2xvcigpOwor
ICAgIGlmICghdGV4dFN0cm9rZUNvbG9yLmlzVmFsaWQoKSkKKyAgICAgICAgdGV4dFN0cm9rZUNv
bG9yID0gc3R5bGVUb1VzZS0+Y29sb3IoKTsKKworICAgIC8vIEZvciBzdHJva2VkIHBhaW50aW5n
LCB3ZSBoYXZlIHRvIGNoYW5nZSB0aGUgdGV4dCBkcmF3aW5nIG1vZGUuICBJdCdzIHByb2JhYmx5
IGRhbmdlcm91cyB0byBsZWF2ZSB0aGF0IG11dGF0ZWQgYXMgYSBzaWRlCisgICAgLy8gZWZmZWN0
LCBzbyBvbmx5IHdoZW4gd2Uga25vdyB3ZSdyZSBzdHJva2luZywgZG8gYSBzYXZlL3Jlc3RvcmUu
CisgICAgaWYgKHRleHRTdHJva2VXaWR0aCA+IDApCisgICAgICAgIHBhaW50SW5mby5jb250ZXh0
LT5zYXZlKCk7CisKKyAgICB1cGRhdGVHcmFwaGljc0NvbnRleHQocGFpbnRJbmZvLmNvbnRleHQs
IHRleHRGaWxsQ29sb3IsIHRleHRTdHJva2VDb2xvciwgdGV4dFN0cm9rZVdpZHRoKTsKKyAgICAK
KyAgICAvLyBTZXQgYSB0ZXh0IHNoYWRvdyBpZiB3ZSBoYXZlIG9uZS4KKyAgICAvLyBGSVhNRTog
U3VwcG9ydCBtdWx0aXBsZSBzaGFkb3cgZWZmZWN0cy4gIE5lZWQgbW9yZSBmcm9tIHRoZSBDRyBB
UEkgYmVmb3JlCisgICAgLy8gd2UgY2FuIGRvIHRoaXMuCisgICAgYm9vbCBzZXRTaGFkb3cgPSBm
YWxzZTsKKyAgICBpZiAoc3R5bGVUb1VzZS0+dGV4dFNoYWRvdygpKSB7CisgICAgICAgIHBhaW50
SW5mby5jb250ZXh0LT5zZXRTaGFkb3coSW50U2l6ZShzdHlsZVRvVXNlLT50ZXh0U2hhZG93KCkt
PngsIHN0eWxlVG9Vc2UtPnRleHRTaGFkb3coKS0+eSksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3R5bGVUb1VzZS0+dGV4dFNoYWRvdygpLT5ibHVyLCBzdHlsZVRvVXNl
LT50ZXh0U2hhZG93KCktPmNvbG9yKTsKKyAgICAgICAgc2V0U2hhZG93ID0gdHJ1ZTsKKyAgICB9
CisKKyAgICBUZXh0U3R5bGUgdGV4dFN0eWxlKDAsIHN2Z0NoYXIueCwgMCwgdGV4dEJveC0+bV9y
ZXZlcnNlZCwgdGV4dEJveC0+bV9kaXJPdmVycmlkZSB8fCBzdHlsZVRvVXNlLT52aXN1YWxseU9y
ZGVyZWQoKSk7CisKKyAgICAvLyBQYWludCBzaW5nbGUgY2hhcmFjdGVyCisgICAgaWYgKHN2Z0No
YXIuYW5nbGUgIT0gMCkgeworICAgICAgICBwYWludEluZm8uY29udGV4dC0+c2F2ZSgpOworICAg
ICAgICBwYWludEluZm8uY29udGV4dC0+Y29uY2F0Q1RNKEFmZmluZVRyYW5zZm9ybSgpLnRyYW5z
bGF0ZShzdmdDaGFyLngsIHN2Z0NoYXIueSkpOworICAgICAgICBwYWludEluZm8uY29udGV4dC0+
Y29uY2F0Q1RNKEFmZmluZVRyYW5zZm9ybSgpLnJvdGF0ZShzdmdDaGFyLmFuZ2xlKSk7CisgICAg
ICAgIHBhaW50SW5mby5jb250ZXh0LT5jb25jYXRDVE0oQWZmaW5lVHJhbnNmb3JtKCkudHJhbnNs
YXRlKC1zdmdDaGFyLngsIC1zdmdDaGFyLnkpKTsKKyAgICB9CisKKyAgICBwYWludEluZm8uY29u
dGV4dC0+ZHJhd1RleHQoVGV4dFJ1bigmc3ZnQ2hhci5jaGFyYWN0ZXIsIDEpLCBJbnRQb2ludChz
dmdDaGFyLngsIHN2Z0NoYXIueSksIHRleHRTdHlsZSk7CisKKyAgICBpZiAoc3ZnQ2hhci5hbmds
ZSAhPSAwKSAgICAKKyAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPnJlc3RvcmUoKTsKKworICAg
IC8vIFBhaW50IGRlY29yYXRpb25zCisgICAgaWYgKGQgIT0gVEROT05FICYmIHBhaW50SW5mby5w
aGFzZSAhPSBQYWludFBoYXNlU2VsZWN0aW9uICYmIHN0eWxlVG9Vc2UtPmh0bWxIYWNrcygpKSB7
CisgICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5zZXRTdHJva2VDb2xvcihzdHlsZVRvVXNlLT5j
b2xvcigpKTsKKyAgICAgICAgdGV4dEJveC0+cGFpbnREZWNvcmF0aW9uKHBhaW50SW5mby5jb250
ZXh0LCB0eCwgdHksIGQpOworICAgIH0KKworICAgIGlmIChzZXRTaGFkb3cpCisgICAgICAgIHBh
aW50SW5mby5jb250ZXh0LT5jbGVhclNoYWRvdygpOworICAgICAgICAKKyAgICBpZiAodGV4dFN0
cm9rZVdpZHRoID4gMCkKKyAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPnJlc3RvcmUoKTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gU1ZHX1NVUFBPUlQKSW5kZXg6
IHJlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSByZW5kZXJpbmcvSW5s
aW5lVGV4dEJveC5jcHAJKHJldmlzaW9uIDE5NDMzKQorKysgcmVuZGVyaW5nL0lubGluZVRleHRC
b3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjMsNyArMjIzLDcgQEAKICAgICByZXR1cm4gdGV4
dENvbG9yLmxpZ2h0KCk7CiB9CiAKLXN0YXRpYyB2b2lkIHVwZGF0ZUdyYXBoaWNzQ29udGV4dChH
cmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IENvbG9yJiBmaWxsQ29sb3IsIGNvbnN0IENv
bG9yJiBzdHJva2VDb2xvciwgZmxvYXQgc3Ryb2tlVGhpY2tuZXNzKQordm9pZCB1cGRhdGVHcmFw
aGljc0NvbnRleHQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBDb2xvciYgZmlsbENv
bG9yLCBjb25zdCBDb2xvciYgc3Ryb2tlQ29sb3IsIGZsb2F0IHN0cm9rZVRoaWNrbmVzcykKIHsK
ICAgICBpbnQgbW9kZSA9IGNvbnRleHQtPnRleHREcmF3aW5nTW9kZSgpOwogICAgIGlmIChzdHJv
a2VUaGlja25lc3MgPiAwKSB7CkluZGV4OiByZW5kZXJpbmcvU1ZHSW5saW5lVGV4dEJveC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIHJlbmRlcmluZy9TVkdJbmxpbmVUZXh0Qm94LmgJKHJldmlzaW9uIDE5NDMz
KQorKysgcmVuZGVyaW5nL1NWR0lubGluZVRleHRCb3guaAkod29ya2luZyBjb3B5KQpAQCAtMiw2
ICsyLDcgQEAKICAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBET00gaW1wbGVtZW50YXRpb24g
Zm9yIEtERS4KICAqCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9y
Zz4KKyAqICAgICAgICAgICAgICAgMjAwNyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5A
a2RlLm9yZz4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjksOSArMzAsMjAgQEAKIAogICAgIGNs
YXNzIFNWR0lubGluZVRleHRCb3ggOiBwdWJsaWMgSW5saW5lVGV4dEJveCB7CiAgICAgcHVibGlj
OgotICAgICAgICBTVkdJbmxpbmVUZXh0Qm94KFJlbmRlck9iamVjdCogb2JqKSA6IElubGluZVRl
eHRCb3gob2JqKSB7fQorICAgICAgICBTVkdJbmxpbmVUZXh0Qm94KFJlbmRlck9iamVjdCogb2Jq
KQorICAgICAgICAgICAgOiBJbmxpbmVUZXh0Qm94KG9iaikKKyAgICAgICAgICAgICwgbV9uZWVk
c1BlckNoYXJhY3RlckxheW91dChmYWxzZSkKKyAgICAgICAgeworICAgICAgICB9CisKKyAgICAg
ICAgYm9vbCBuZWVkc1BlckNoYXJhY3RlckxheW91dCgpIGNvbnN0IHsgcmV0dXJuIG1fbmVlZHNQ
ZXJDaGFyYWN0ZXJMYXlvdXQ7IH0KKyAgICAgICAgdm9pZCBzZXROZWVkc1BlckNoYXJhY3Rlckxh
eW91dCgpIHsgbV9uZWVkc1BlckNoYXJhY3RlckxheW91dCA9IHRydWU7IH0KKwogICAgICAgICB2
aXJ0dWFsIGludCBzZWxlY3Rpb25Ub3AoKTsKICAgICAgICAgdmlydHVhbCBpbnQgc2VsZWN0aW9u
SGVpZ2h0KCk7CisKKyAgICBwcml2YXRlOgorICAgICAgICBib29sIG1fbmVlZHNQZXJDaGFyYWN0
ZXJMYXlvdXQgOiAxOwogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IHJl
bmRlcmluZy9Sb290SW5saW5lQm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcmVuZGVyaW5nL1Jvb3RJbmxp
bmVCb3guaAkocmV2aXNpb24gMTk0MzMpCisrKyByZW5kZXJpbmcvUm9vdElubGluZUJveC5oCSh3
b3JraW5nIGNvcHkpCkBAIC03MCw2ICs3MCwxMCBAQAogCiAgICAgdmlydHVhbCB2b2lkIHNldFZl
cnRpY2FsU2VsZWN0aW9uUG9zaXRpb25zKGludCB0b3AsIGludCBib3R0b20pIHsgbV9zZWxlY3Rp
b25Ub3AgPSB0b3A7IG1fc2VsZWN0aW9uQm90dG9tID0gYm90dG9tOyB9CiAKKyNpZmRlZiBTVkdf
U1VQUE9SVAorICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUGVyQ2hhcmFjdGVyTGF5b3V0aW5nSW5m
b3JtYXRpb25JZk5lZWRlZCgpIHsgfQorI2VuZGlmCisKICAgICBSZW5kZXJPYmplY3QqIGxpbmVC
cmVha09iaigpIGNvbnN0IHsgcmV0dXJuIG1fbGluZUJyZWFrT2JqOyB9CiAgICAgQmlkaVN0YXR1
cyBsaW5lQnJlYWtCaWRpU3RhdHVzKCkgY29uc3QgeyByZXR1cm4gbV9saW5lQnJlYWtCaWRpU3Rh
dHVzOyB9CiAgICAgQmlkaUNvbnRleHQqIGxpbmVCcmVha0JpZGlDb250ZXh0KCkgY29uc3QgeyBy
ZXR1cm4gbV9saW5lQnJlYWtDb250ZXh0LmdldCgpOyB9CkluZGV4OiByZW5kZXJpbmcvYmlkaS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gcmVuZGVyaW5nL2JpZGkuY3BwCShyZXZpc2lvbiAxOTQzMykKKysr
IHJlbmRlcmluZy9iaWRpLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTcxNSw2ICsxNzE1LDEzIEBA
CiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOb3cgcG9zaXRpb24gb3VyIHRleHQgcnVucyB2
ZXJ0aWNhbGx5LgogICAgICAgICAgICAgICAgICAgICAgICAgY29tcHV0ZVZlcnRpY2FsUG9zaXRp
b25zRm9yTGluZShsaW5lQm94KTsKIAorI2lmZGVmIFNWR19TVVBQT1JUCisgICAgICAgICAgICAg
ICAgICAgICAgICAvLyBTVkcgcGVyIGNoYXJhY3RlciBsYXlvdXRzIGlzIHNwZWNpYWwuIEFmdGVy
IHRoZSBob3Jpem9udGFsL3ZlcmljYWwgbGluZSBwb3NpdGlvbnMKKyAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIGFyZSBjb21wdXRlZCwgd2UgaGF2ZSB0byBidWlsZCBhIHNwZWNpYWwgZGF0YXRz
dHJ1Y3R1cmUsIGNhbGxlZCBTVkdDaGFyLCBjb250YWluaW5nCisgICAgICAgICAgICAgICAgICAg
ICAgICAvLyBsYXlvdXRpbmcgaW5mb3JtYXRpb24gKHgveS9hbmdsZS9vcmllbnRhdGlvbikgX3Bl
ciBjaGFyYWN0ZXJfLgorICAgICAgICAgICAgICAgICAgICAgICAgbGluZUJveC0+Y29tcHV0ZVBl
ckNoYXJhY3RlckxheW91dGluZ0luZm9ybWF0aW9uSWZOZWVkZWQoKTsKKyNlbmRpZgorCiAjaWYg
UExBVEZPUk0oTUFDKQogICAgICAgICAgICAgICAgICAgICAgICAgLy8gSGlnaGxpZ2h0IGFjdHMg
YXMgYW4gb3ZlcmZsb3cgaW5mbGF0aW9uLgogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0
eWxlKCktPmhpZ2hsaWdodCgpICE9IG51bGxBdG9tKQpJbmRleDogcmVuZGVyaW5nL1NWR0lubGlu
ZUZsb3dCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHJlbmRlcmluZy9TVkdJbmxpbmVGbG93Qm94LmNw
cAkocmV2aXNpb24gMTk0MzMpCisrKyByZW5kZXJpbmcvU1ZHSW5saW5lRmxvd0JveC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTI3LDE0ICsyNywxNiBAQAogI2luY2x1ZGUgIlNWR0lubGluZUZsb3dC
b3guaCIKIAogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgotI2luY2x1ZGUgIklubGluZVRl
eHRCb3guaCIKICNpbmNsdWRlICJLQ2FudmFzUmVuZGVyaW5nU3R5bGUuaCIKICNpbmNsdWRlICJS
b290SW5saW5lQm94LmgiCisjaW5jbHVkZSAiU1ZHSW5saW5lVGV4dEJveC5oIgogI2luY2x1ZGUg
IlNWR0xlbmd0aExpc3QuaCIKKyNpbmNsdWRlICJTVkdOdW1iZXJMaXN0LmgiCiAjaW5jbHVkZSAi
U1ZHUGFpbnRTZXJ2ZXIuaCIKICNpbmNsdWRlICJTVkdSZXNvdXJjZUNsaXBwZXIuaCIKICNpbmNs
dWRlICJTVkdSZXNvdXJjZUZpbHRlci5oIgogI2luY2x1ZGUgIlNWR1Jlc291cmNlTWFza2VyLmgi
CisjaW5jbHVkZSAiU1ZHUm9vdElubGluZUJveC5oIgogI2luY2x1ZGUgIlNWR1RleHRQb3NpdGlv
bmluZ0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdVUklSZWZlcmVuY2UuaCIKIApAQCAtMTEwLDEw
ICsxMTIsMjIgQEAKICAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPmJlZ2luVHJhbnNwYXJlbmN5
TGF5ZXIob3BhY2l0eSk7CiAgICAgfQogCisgICAgU1ZHUm9vdElubGluZUJveCogcm9vdEJveCA9
IDA7CisgICAgCisgICAgaWYgKGZsb3ctPmlzUm9vdElubGluZUJveCgpKSB7CisgICAgICAgIHJv
b3RCb3ggPSBzdGF0aWNfY2FzdDxTVkdSb290SW5saW5lQm94Kj4oZmxvdyk7CisgICAgICAgIGlm
ICghcm9vdEJveC0+bmVlZHNQZXJDaGFyYWN0ZXJMYXlvdXQoKSkKKyAgICAgICAgICAgICByb290
Qm94ID0gMDsKKyAgICB9CisKICAgICBTVkdQYWludFNlcnZlciogZmlsbFBhaW50U2VydmVyID0g
S1NWR1BhaW50ZXJGYWN0b3J5OjpmaWxsUGFpbnRTZXJ2ZXIob2JqZWN0LT5zdHlsZSgpLCBvYmpl
Y3QpOwogICAgIGlmIChmaWxsUGFpbnRTZXJ2ZXIpIHsKICAgICAgICAgaWYgKGZpbGxQYWludFNl
cnZlci0+c2V0dXAocGkuY29udGV4dCwgb2JqZWN0LCBBcHBseVRvRmlsbFRhcmdldFR5cGUsIHRy
dWUpKSB7Ci0gICAgICAgICAgICBmbG93LT5JbmxpbmVGbG93Qm94OjpwYWludChwaSwgdHgsIHR5
KTsKKyAgICAgICAgICAgIGlmIChyb290Qm94KQorICAgICAgICAgICAgICAgIHJvb3RCb3gtPnBh
aW50UGVyQ2hhcmFjdGVyKHBpLCB0eCwgdHkpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAg
ICAgICAgIGZsb3ctPklubGluZUZsb3dCb3g6OnBhaW50KHBpLCB0eCwgdHkpOworCiAgICAgICAg
ICAgICBmaWxsUGFpbnRTZXJ2ZXItPnRlYXJkb3duKHBpLmNvbnRleHQsIG9iamVjdCwgQXBwbHlU
b0ZpbGxUYXJnZXRUeXBlLCB0cnVlKTsKICAgICAgICAgfQogICAgIH0KQEAgLTEyMSw3ICsxMzUs
MTEgQEAKICAgICBTVkdQYWludFNlcnZlciogc3Ryb2tlUGFpbnRTZXJ2ZXIgPSBLU1ZHUGFpbnRl
ckZhY3Rvcnk6OnN0cm9rZVBhaW50U2VydmVyKG9iamVjdC0+c3R5bGUoKSwgb2JqZWN0KTsKICAg
ICBpZiAoc3Ryb2tlUGFpbnRTZXJ2ZXIpIHsKICAgICAgICAgaWYgKHN0cm9rZVBhaW50U2VydmVy
LT5zZXR1cChwaS5jb250ZXh0LCBvYmplY3QsIEFwcGx5VG9TdHJva2VUYXJnZXRUeXBlLCB0cnVl
KSkgewotICAgICAgICAgICAgZmxvdy0+SW5saW5lRmxvd0JveDo6cGFpbnQocGksIHR4LCB0eSk7
CisgICAgICAgICAgICBpZiAocm9vdEJveCkKKyAgICAgICAgICAgICAgICByb290Qm94LT5wYWlu
dFBlckNoYXJhY3RlcihwaSwgdHgsIHR5KTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICBmbG93LT5JbmxpbmVGbG93Qm94OjpwYWludChwaSwgdHgsIHR5KTsKKwogICAgICAgICAg
ICAgc3Ryb2tlUGFpbnRTZXJ2ZXItPnRlYXJkb3duKHBpLmNvbnRleHQsIG9iamVjdCwgQXBwbHlU
b1N0cm9rZVRhcmdldFR5cGUsIHRydWUpOwogICAgICAgICB9CiAgICAgfQpAQCAtMTM1LDYgKzE1
MywzNSBAQAogICAgIHBhaW50SW5mby5jb250ZXh0LT5yZXN0b3JlKCk7CiB9CiAKK3N0YXRpYyBi
b29sIG5lZWRzUGVyQ2hhcmFjdGVyTGF5b3V0KFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQqIGVs
ZW1lbnQpCit7CisgICAgcmV0dXJuIGVsZW1lbnQtPngoKS0+bnVtYmVyT2ZJdGVtcygpID4gMQor
ICAgICAgICAgICB8fCBlbGVtZW50LT55KCktPm51bWJlck9mSXRlbXMoKSA+IDEKKyAgICAgICAg
ICAgfHwgZWxlbWVudC0+ZHgoKS0+bnVtYmVyT2ZJdGVtcygpID4gMQorICAgICAgICAgICB8fCBl
bGVtZW50LT5keSgpLT5udW1iZXJPZkl0ZW1zKCkgPiAxCisgICAgICAgICAgIHx8IGVsZW1lbnQt
PnJvdGF0ZSgpLT5udW1iZXJPZkl0ZW1zKCkgPiAwOworfSAgICAKKworc3RhdGljIHZvaWQgZmlu
ZEhpZ2hlc3RBbmRMb3dlc3RFbnRyeUluTGVuZ3RoTGlzdChTVkdMZW5ndGhMaXN0KiBsaXN0LCBm
bG9hdCYgbWluLCBmbG9hdCYgbWF4KQoreworICAgIHVuc2lnbmVkIGludCBsZW5ndGggPSBsaXN0
LT5udW1iZXJPZkl0ZW1zKCk7CisgICAgaWYgKCFsZW5ndGgpCisgICAgICAgIHJldHVybjsKKwor
ICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworCisgICAgbWluID0gbGlzdC0+Z2V0SXRlbSgwLCBl
YykudmFsdWUoKTsKKyAgICBtYXggPSBtaW47CisKKyAgICBmb3IgKHVuc2lnbmVkIGludCBpID0g
MTsgaSA8IGxlbmd0aDsgaSsrKSB7CisgICAgICAgIGZsb2F0IHZhbHVlID0gbGlzdC0+Z2V0SXRl
bShpLCBlYykudmFsdWUoKTsKKyAgICAgICAgaWYgKHZhbHVlIDwgbWluKQorICAgICAgICAgICAg
bWluID0gdmFsdWU7CisgICAgICAgIGlmICh2YWx1ZSA+IG1heCkKKyAgICAgICAgICAgIG1heCA9
IHZhbHVlOworICAgIH0KK30KKwogc3RhdGljIGJvb2wgdHJhbnNsYXRlQm94KElubGluZUJveCog
Ym94LCBpbnQgeCwgaW50IHksIGJvb2wgdG9wTGV2ZWwpCiB7CiAgICAgaWYgKGJveC0+b2JqZWN0
KCktPmlzVGV4dCgpKSB7CkBAIC0xNjgsMTcgKzIxNSwzNyBAQAogICAgIGZsb3ctPnNldFhQb3Mo
eCk7CiAgICAgZm9yIChJbmxpbmVCb3gqIGN1cnIgPSBmbG93LT5maXJzdENoaWxkKCk7IGN1cnI7
IGN1cnIgPSBjdXJyLT5uZXh0T25MaW5lKCkpIHsKICAgICAgICAgaWYgKGN1cnItPm9iamVjdCgp
LT5pc1RleHQoKSkgeworICAgICAgICAgICAgU1ZHSW5saW5lVGV4dEJveCogdGV4dCA9IHN0YXRp
Y19jYXN0PFNWR0lubGluZVRleHRCb3gqPihjdXJyKTsKKyAgICAgICAgICAgIFJlbmRlclRleHQq
IHJ0ID0gc3RhdGljX2Nhc3Q8UmVuZGVyVGV4dCo+KHRleHQtPm9iamVjdCgpKTsKKyAgICAgICAg
ICAgIEFTU0VSVChydC0+cGFyZW50KCkpOworICAgICAgICAgICAgU1ZHVGV4dFBvc2l0aW9uaW5n
RWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQq
PihydC0+cGFyZW50KCktPmVsZW1lbnQoKSk7CisgICAgICAgICAgICBBU1NFUlQoZWxlbWVudCk7
CisgICAgCisgICAgICAgICAgICBjb25zdCBGb250JiBmb250ID0gcnQtPnN0eWxlKGZsb3ctPmlz
Rmlyc3RMaW5lU3R5bGUoKSktPmZvbnQoKTsKKyAgICAgICAgICAgIGludCB3aWR0aDsKKworICAg
ICAgICAgICAgaWYgKG5lZWRzUGVyQ2hhcmFjdGVyTGF5b3V0KGVsZW1lbnQpKSB7CisgICAgICAg
ICAgICAgICAgdGV4dC0+c2V0TmVlZHNQZXJDaGFyYWN0ZXJMYXlvdXQoKTsKKworICAgICAgICAg
ICAgICAgIGZsb2F0IG1pblggPSBGTFRfTUlOLCBtYXhYID0gRkxUX01BWDsKKyAgICAgICAgICAg
ICAgICBmaW5kSGlnaGVzdEFuZExvd2VzdEVudHJ5SW5MZW5ndGhMaXN0KGVsZW1lbnQtPngoKSwg
bWluWCwgbWF4WCk7CisKKyAgICAgICAgICAgICAgICBpZiAobWluWCAhPSBGTFRfTUlOICYmIG1h
eFggIT0gRkxUX01BWCkgeworICAgICAgICAgICAgICAgICAgICB4UG9zID0gKGludCkgbWluWDsK
KyAgICAgICAgICAgICAgICAgICAgd2lkdGggPSAoaW50KSAobWF4WCAtIG1pblgpICsgcnQtPndp
ZHRoKHJ0LT50ZXh0TGVuZ3RoKCkgLSAxLCAxLCBmb250LCB4UG9zKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICB3aWR0aCA9IHRleHQtPndp
ZHRoKCk7CisKICAgICAgICAgICAgIG1uID0gbWluKG1uLCB4KTsKICAgICAgICAgICAgIGFtbiA9
IG1pbihhbW4sIHgpOwotICAgICAgICAgICAgSW5saW5lVGV4dEJveCogdGV4dCA9IHN0YXRpY19j
YXN0PElubGluZVRleHRCb3gqPihjdXJyKTsKLSAgICAgICAgICAgIFJlbmRlclRleHQqIHJ0ID0g
c3RhdGljX2Nhc3Q8UmVuZGVyVGV4dCo+KHRleHQtPm9iamVjdCgpKTsKICAgICAgICAgICAgIGlm
IChydC0+dGV4dExlbmd0aCgpKSB7CiAgICAgICAgICAgICAgICAgaWYgKG5lZWRzV29yZFNwYWNp
bmcgJiYgRGVwcmVjYXRlZENoYXIocnQtPmNoYXJhY3RlcnMoKVt0ZXh0LT5zdGFydCgpXSkuaXNT
cGFjZSgpKQotICAgICAgICAgICAgICAgICAgICB4ICs9IHJ0LT5zdHlsZShmbG93LT5pc0ZpcnN0
TGluZVN0eWxlKCkpLT5mb250KCkud29yZFNwYWNpbmcoKTsKKyAgICAgICAgICAgICAgICAgICAg
eCArPSBmb250LndvcmRTcGFjaW5nKCk7CiAgICAgICAgICAgICAgICAgbmVlZHNXb3JkU3BhY2lu
ZyA9ICFEZXByZWNhdGVkQ2hhcihydC0+Y2hhcmFjdGVycygpW3RleHQtPmVuZCgpXSkuaXNTcGFj
ZSgpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgdGV4dC0+c2V0WFBvcyh4KTsKLSAgICAg
ICAgICAgIHggKz0gdGV4dC0+d2lkdGgoKTsKKyAgICAgICAgICAgIHggKz0gd2lkdGg7CiAgICAg
ICAgICAgICBteCA9IG1heChteCwgeCk7CiAgICAgICAgICAgICBhbXggPSBtYXgoYW14LCB4KTsK
ICAgICAgICAgfSBlbHNlIHsKSW5kZXg6IHJlbmRlcmluZy9TVkdSb290SW5saW5lQm94LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gcmVuZGVyaW5nL1NWR1Jvb3RJbmxpbmVCb3guaAkocmV2aXNpb24gMTk0MzMp
CisrKyByZW5kZXJpbmcvU1ZHUm9vdElubGluZUJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zLDYg
KzMsNyBAQAogICoKICAqIENvcHlyaWdodCAoQykgMjAwNiBPbGl2ZXIgSHVudCA8b2poMTZAc3R1
ZGVudC5jYW50ZXJidXJ5LmFjLm56PgogICogICAgICAgICAgIChDKSAyMDA2IEFwcGxlIENvbXB1
dGVyIEluYy4KKyAqICAgICAgICAgICAoQykgMjAwNyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1l
cm1hbm5Aa2RlLm9yZz4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjUsMjEgKzI2LDUyIEBACiAj
ZGVmaW5lIFNWR1Jvb3RJbmxpbmVCb3hfaAogCiAjaWZkZWYgU1ZHX1NVUFBPUlQKLQogI2luY2x1
ZGUgIlJvb3RJbmxpbmVCb3guaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisvLyBDb250YWlu
cyBpbmZvcm1hdGlvbiBmb3IgcGVyLWNoYXJhY3RlciBsYXlvdXQgbW9kZS4KK3N0cnVjdCBTVkdD
aGFyIHsKKyAgICBVQ2hhciBjaGFyYWN0ZXI7CisKKyAgICBmbG9hdCB4OworICAgIGZsb2F0IHk7
CisKKyAgICBzaG9ydCBhbmdsZTsgCit9OworCitjbGFzcyBJbmxpbmVUZXh0Qm94Oworc3RydWN0
IFNWR0NoYXJMYXlvdXRJbmZvOworCiBjbGFzcyBTVkdSb290SW5saW5lQm94IDogcHVibGljIFJv
b3RJbmxpbmVCb3ggewogcHVibGljOgogICAgIFNWR1Jvb3RJbmxpbmVCb3goUmVuZGVyT2JqZWN0
KiBvYmopCiAgICAgICAgIDogUm9vdElubGluZUJveChvYmopCisgICAgICAgICwgbV9uZWVkc1Bl
ckNoYXJhY3RlckxheW91dChmYWxzZSkKICAgICB7CiAgICAgfQogCiAgICAgdmlydHVhbCB2b2lk
IHBhaW50KFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwgaW50IHR4LCBpbnQgdHkpOwogICAgIHZp
cnR1YWwgaW50IHBsYWNlQm94ZXNIb3Jpem9udGFsbHkoaW50IHgsIGludCYgbGVmdFBvc2l0aW9u
LCBpbnQmIHJpZ2h0UG9zaXRpb24sIGJvb2wmIG5lZWRzV29yZFNwYWNpbmcpOwogICAgIHZpcnR1
YWwgdm9pZCB2ZXJ0aWNhbGx5QWxpZ25Cb3hlcyhpbnQmIGhlaWdodE9mQmxvY2spOworCisgICAg
dmlydHVhbCB2b2lkIGNvbXB1dGVQZXJDaGFyYWN0ZXJMYXlvdXRpbmdJbmZvcm1hdGlvbklmTmVl
ZGVkKCk7CisKKyAgICBib29sIG5lZWRzUGVyQ2hhcmFjdGVyTGF5b3V0KCkgY29uc3QgeyByZXR1
cm4gbV9uZWVkc1BlckNoYXJhY3RlckxheW91dDsgfQorICAgIHZvaWQgc2V0TmVlZHNQZXJDaGFy
YWN0ZXJMYXlvdXQoKSB7IG1fbmVlZHNQZXJDaGFyYWN0ZXJMYXlvdXQgPSB0cnVlOyB9CisKKyAg
ICB2b2lkIGxheW91dFBlckNoYXJhY3RlcihJbmxpbmVGbG93Qm94KiBzdGFydCwgU1ZHQ2hhckxh
eW91dEluZm8mIGluZm8pOworICAgIHZvaWQgbGF5b3V0U2luZ2xlVGV4dE9iamVjdChTVkdDaGFy
TGF5b3V0SW5mbyYgaW5mbywgUmVuZGVyVGV4dCopOworCisgICAgdm9pZCBwYWludFBlckNoYXJh
Y3RlcihSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYsIGludCB0eCwgaW50IHR5KTsKKyAgICB2b2lk
IHBhaW50UGVyQ2hhcmFjdGVyKFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwgaW50IHR4LCBpbnQg
dHksIElubGluZUZsb3dCb3gqIHN0YXJ0LCBWZWN0b3I8U1ZHQ2hhcj46Oml0ZXJhdG9yJiBpdCk7
CisgICAgdm9pZCBwYWludFNpbmdsZUNoYXJhY3RlcihSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYg
cGFpbnRJbmZvLCBpbnQgdHgsIGludCB0eSwgSW5saW5lVGV4dEJveCosIGNvbnN0IFNWR0NoYXIm
IHN2Z0NoYXIpOworCitwcml2YXRlOgorICAgIGJvb2wgbV9uZWVkc1BlckNoYXJhY3RlckxheW91
dCA6IDE7CisKKyAgICAvLyBIb2xkcyBwZXIgY2hhcmFjdGVyIGxheW91dGluZyBpbmZvcm1hdGlv
biwgaWYgbmVlZGVkLgorICAgIFZlY3RvcjxTVkdDaGFyPiBtX3N2Z0NoYXJzOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>13471</attachid>
            <date>2007-03-04 04:36:29 -0800</date>
            <delta_ts>2007-03-06 17:30:50 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>TextPatch.diff</filename>
            <type>text/plain</type>
            <size>75987</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IHJlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcmVuZGVyaW5n
L0lubGluZVRleHRCb3guaAkocmV2aXNpb24gMTk5MjYpCisrKyByZW5kZXJpbmcvSW5saW5lVGV4
dEJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCwxMCBAQAogY2xhc3MgSGl0VGVzdFJl
c3VsdDsKIGNsYXNzIFBvc2l0aW9uOwogCisvLyBIZWxwZXIgZnVuY3Rpb25zIHNoYXJlZCBieSBJ
bmxpbmVUZXh0Qm94IC8gU1ZHUm9vdElubGluZUJveAordm9pZCB1cGRhdGVHcmFwaGljc0NvbnRl
eHQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBDb2xvciYgZmlsbENvbG9yLCBjb25z
dCBDb2xvciYgc3Ryb2tlQ29sb3IsIGZsb2F0IHN0cm9rZVRoaWNrbmVzcyk7CitDb2xvciBjb3Jy
ZWN0ZWRUZXh0Q29sb3IoQ29sb3IgdGV4dENvbG9yLCBDb2xvciBiYWNrZ3JvdW5kQ29sb3IpOwor
CiBjbGFzcyBJbmxpbmVUZXh0Qm94IDogcHVibGljIElubGluZVJ1bkJveCB7CiBwdWJsaWM6CiAg
ICAgSW5saW5lVGV4dEJveChSZW5kZXJPYmplY3QqIG9iaikKSW5kZXg6IHJlbmRlcmluZy9TVkdS
b290SW5saW5lQm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSByZW5kZXJpbmcvU1ZHUm9vdElubGluZUJv
eC5jcHAJKHJldmlzaW9uIDE5OTI2KQorKysgcmVuZGVyaW5nL1NWR1Jvb3RJbmxpbmVCb3guY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zLDYgKzMsNyBAQAogICoKICAqIENvcHlyaWdodCAoQykgMjAw
NiBPbGl2ZXIgSHVudCA8b2poMTZAc3R1ZGVudC5jYW50ZXJidXJ5LmFjLm56PgogICogICAgICAg
ICAgIChDKSAyMDA2IEFwcGxlIENvbXB1dGVyIEluYy4KKyAqICAgICAgICAgICAoQykgMjAwNyBO
aWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAqCiAgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YwpAQCAtMjQsMzIgKzI1LDkzOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogCiAjaWYgRU5BQkxF
KFNWRykKLQogI2luY2x1ZGUgIlNWR1Jvb3RJbmxpbmVCb3guaCIKIAotI2luY2x1ZGUgIlNWR0lu
bGluZUZsb3dCb3guaCIKKyNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIkdyYXBoaWNzQ29u
dGV4dC5oIgorI2luY2x1ZGUgIklubGluZVRleHRCb3guaCIKKyNpbmNsdWRlICJLQ2FudmFzUmVu
ZGVyaW5nU3R5bGUuaCIKKyNpbmNsdWRlICJSYW5nZS5oIgorI2luY2x1ZGUgIlNWR1BhaW50U2Vy
dmVyLmgiCisjaW5jbHVkZSAiU1ZHUmVzb3VyY2VDbGlwcGVyLmgiCiAKKyNpZiBFTkFCTEUoU1ZH
X0VYUEVSSU1FTlRBTF9GRUFUVVJFUykKKyNpbmNsdWRlICJTVkdSZXNvdXJjZUZpbHRlci5oIgor
I2VuZGlmCisKKyNpbmNsdWRlICJTVkdSZXNvdXJjZU1hc2tlci5oIgorI2luY2x1ZGUgIlNWR1Rl
eHRQb3NpdGlvbmluZ0VsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdVUklSZWZlcmVuY2UuaCIKKyNp
bmNsdWRlICJUZXh0U3R5bGUuaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12b2lkIFNWR1Jv
b3RJbmxpbmVCb3g6OnBhaW50KFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiBwYWludEluZm8sIGlu
dCBwYXJlbnRYLCBpbnQgcGFyZW50WSkKKyNpZiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9GRUFU
VVJFUykKK3N0YXRpYyB2b2lkIHByZXBhcmVUZXh0UmVuZGVyaW5nKFJlbmRlck9iamVjdDo6UGFp
bnRJbmZvJiBwYWludEluZm8sIGludCB0eCwgaW50IHR5LCBJbmxpbmVGbG93Qm94KiBmbG93Qm94
LCBGbG9hdFJlY3QmIGJvdW5kaW5nQm94LCBTVkdSZXNvdXJjZUZpbHRlciomIGZpbHRlcikKKyNl
bHNlCitzdGF0aWMgdm9pZCBwcmVwYXJlVGV4dFJlbmRlcmluZyhSZW5kZXJPYmplY3Q6OlBhaW50
SW5mbyYgcGFpbnRJbmZvLCBpbnQgdHgsIGludCB0eSwgSW5saW5lRmxvd0JveCogZmxvd0JveCwg
RmxvYXRSZWN0JiBib3VuZGluZ0JveCkKKyNlbmRpZgogewotICAgIHBhaW50U1ZHSW5saW5lRmxv
dyh0aGlzLCBvYmplY3QoKSwgcGFpbnRJbmZvLCBwYXJlbnRYLCBwYXJlbnRZKTsKKyAgICBSZW5k
ZXJPYmplY3QqIG9iamVjdCA9IGZsb3dCb3gtPm9iamVjdCgpOworCisgICAgcGFpbnRJbmZvLmNv
bnRleHQtPnNhdmUoKTsKKyAgICBwYWludEluZm8uY29udGV4dC0+Y29uY2F0Q1RNKG9iamVjdC0+
bG9jYWxUcmFuc2Zvcm0oKSk7CisKKyAgICBib3VuZGluZ0JveCA9IEZsb2F0UmVjdCh0eCArIGZs
b3dCb3gtPnhQb3MoKSwgdHkgKyBmbG93Qm94LT55UG9zKCksIGZsb3dCb3gtPndpZHRoKCksIGZs
b3dCb3gtPmhlaWdodCgpKTsKKworICAgIFNWR0VsZW1lbnQqIHN2Z0VsZW1lbnQgPSBzdGF0aWNf
Y2FzdDxTVkdFbGVtZW50Kj4ob2JqZWN0LT5lbGVtZW50KCkpOworICAgIEFTU0VSVChzdmdFbGVt
ZW50ICYmIHN2Z0VsZW1lbnQtPmRvY3VtZW50KCkgJiYgc3ZnRWxlbWVudC0+aXNTdHlsZWQoKSk7
CisKKyAgICBTVkdTdHlsZWRFbGVtZW50KiBzdHlsZWRFbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZH
U3R5bGVkRWxlbWVudCo+KHN2Z0VsZW1lbnQpOworICAgIGNvbnN0IFNWR1JlbmRlclN0eWxlKiBz
dmdTdHlsZSA9IG9iamVjdC0+c3R5bGUoKS0+c3ZnU3R5bGUoKTsKKworICAgIEF0b21pY1N0cmlu
ZyBmaWx0ZXJJZChTVkdVUklSZWZlcmVuY2U6OmdldFRhcmdldChzdmdTdHlsZS0+ZmlsdGVyKCkp
KTsKKyAgICBBdG9taWNTdHJpbmcgY2xpcHBlcklkKFNWR1VSSVJlZmVyZW5jZTo6Z2V0VGFyZ2V0
KHN2Z1N0eWxlLT5jbGlwUGF0aCgpKSk7CisgICAgQXRvbWljU3RyaW5nIG1hc2tlcklkKFNWR1VS
SVJlZmVyZW5jZTo6Z2V0VGFyZ2V0KHN2Z1N0eWxlLT5tYXNrRWxlbWVudCgpKSk7CisKKyAgICBT
VkdSZXNvdXJjZUNsaXBwZXIqIGNsaXBwZXIgPSBnZXRDbGlwcGVyQnlJZChvYmplY3QtPmRvY3Vt
ZW50KCksIGNsaXBwZXJJZCk7CisgICAgU1ZHUmVzb3VyY2VNYXNrZXIqIG1hc2tlciA9IGdldE1h
c2tlckJ5SWQob2JqZWN0LT5kb2N1bWVudCgpLCBtYXNrZXJJZCk7CisKKyNpZiBFTkFCTEUoU1ZH
X0VYUEVSSU1FTlRBTF9GRUFUVVJFUykKKyAgICBmaWx0ZXIgPSBnZXRGaWx0ZXJCeUlkKG9iamVj
dC0+ZG9jdW1lbnQoKSwgZmlsdGVySWQpOworCisgICAgaWYgKGZpbHRlcikKKyAgICAgICAgZmls
dGVyLT5wcmVwYXJlRmlsdGVyKHBhaW50SW5mby5jb250ZXh0LCBib3VuZGluZ0JveCk7CisgICAg
ZWxzZSBpZiAoIWZpbHRlcklkLmlzRW1wdHkoKSkKKyAgICAgICAgc3ZnRWxlbWVudC0+ZG9jdW1l
bnQoKS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpLT5hZGRQZW5kaW5nUmVzb3VyY2UoZmlsdGVySWQs
IHN0eWxlZEVsZW1lbnQpOworI2VuZGlmCisKKyAgICBpZiAoY2xpcHBlcikgeworICAgICAgICBj
bGlwcGVyLT5hZGRDbGllbnQoc3R5bGVkRWxlbWVudCk7CisgICAgICAgIGNsaXBwZXItPmFwcGx5
Q2xpcChwYWludEluZm8uY29udGV4dCwgYm91bmRpbmdCb3gpOworICAgIH0gZWxzZSBpZiAoIWNs
aXBwZXJJZC5pc0VtcHR5KCkpCisgICAgICAgIHN2Z0VsZW1lbnQtPmRvY3VtZW50KCktPmFjY2Vz
c1NWR0V4dGVuc2lvbnMoKS0+YWRkUGVuZGluZ1Jlc291cmNlKGNsaXBwZXJJZCwgc3R5bGVkRWxl
bWVudCk7CisKKyAgICBpZiAobWFza2VyKSB7CisgICAgICAgIG1hc2tlci0+YWRkQ2xpZW50KHN0
eWxlZEVsZW1lbnQpOworICAgICAgICBtYXNrZXItPmFwcGx5TWFzayhwYWludEluZm8uY29udGV4
dCwgYm91bmRpbmdCb3gpOworICAgIH0gZWxzZSBpZiAoIW1hc2tlcklkLmlzRW1wdHkoKSkKKyAg
ICAgICAgc3ZnRWxlbWVudC0+ZG9jdW1lbnQoKS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpLT5hZGRQ
ZW5kaW5nUmVzb3VyY2UobWFza2VySWQsIHN0eWxlZEVsZW1lbnQpOwogfQogCitpbmxpbmUgYm9v
bCBpc1ZlcnRpY2FsV3JpdGluZ01vZGUoY29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN0eWxlKQorewor
ICAgIHJldHVybiBzdHlsZS0+d3JpdGluZ01vZGUoKSA9PSBXTV9UQlJMIHx8IHN0eWxlLT53cml0
aW5nTW9kZSgpID09IFdNX1RCOyAKK30KKwordm9pZCBTVkdSb290SW5saW5lQm94OjpwYWludChS
ZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYgcGFpbnRJbmZvLCBpbnQgdHgsIGludCB0eSkKK3sKKyAg
ICBpZiAocGFpbnRJbmZvLmNvbnRleHQtPnBhaW50aW5nRGlzYWJsZWQoKSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgRmxvYXRSZWN0IGJvdW5kaW5nQm94OworCisjaWYgRU5BQkxFKFNWR19FWFBF
UklNRU5UQUxfRkVBVFVSRVMpCisgICAgU1ZHUmVzb3VyY2VGaWx0ZXIqIGZpbHRlciA9IDA7Cisg
ICAgcHJlcGFyZVRleHRSZW5kZXJpbmcocGFpbnRJbmZvLCB0eCwgdHksIHRoaXMsIGJvdW5kaW5n
Qm94LCBmaWx0ZXIpOworI2Vsc2UKKyAgICBwcmVwYXJlVGV4dFJlbmRlcmluZyhwYWludEluZm8s
IHR4LCB0eSwgdGhpcywgYm91bmRpbmdCb3gpOworI2VuZGlmCisKKworICAgIFJlbmRlck9iamVj
dDo6UGFpbnRJbmZvIHBpKHBhaW50SW5mbyk7CisKKyAgICBmbG9hdCBvcGFjaXR5ID0gb2JqZWN0
KCktPnN0eWxlKCktPm9wYWNpdHkoKTsKKyAgICBpZiAob3BhY2l0eSA8IDEuMGYpIHsKKyAgICAg
ICAgcGFpbnRJbmZvLmNvbnRleHQtPmNsaXAoZW5jbG9zaW5nSW50UmVjdChib3VuZGluZ0JveCkp
OworICAgICAgICBwYWludEluZm8uY29udGV4dC0+YmVnaW5UcmFuc3BhcmVuY3lMYXllcihvcGFj
aXR5KTsKKyAgICB9CisKKyAgICBTVkdQYWludFNlcnZlciogZmlsbFBhaW50U2VydmVyID0gS1NW
R1BhaW50ZXJGYWN0b3J5OjpmaWxsUGFpbnRTZXJ2ZXIob2JqZWN0KCktPnN0eWxlKCksIG9iamVj
dCgpKTsKKyAgICBpZiAoZmlsbFBhaW50U2VydmVyKSB7CisgICAgICAgIGlmIChmaWxsUGFpbnRT
ZXJ2ZXItPnNldHVwKHBpLmNvbnRleHQsIG9iamVjdCgpLCBBcHBseVRvRmlsbFRhcmdldFR5cGUs
IHRydWUpKSB7CisgICAgICAgICAgICBWZWN0b3I8U1ZHQ2hhcj46Oml0ZXJhdG9yIGl0ID0gbV9z
dmdDaGFycy5iZWdpbigpOworICAgICAgICAgICAgcGFpbnRJbmxpbmVCb3hlcyhwaSwgdHgsIHR5
LCB0aGlzLCBpdCk7CisgICAgICAgICAgICBBU1NFUlQoaXQgPT0gbV9zdmdDaGFycy5lbmQoKSk7
CisKKyAgICAgICAgICAgIGZpbGxQYWludFNlcnZlci0+dGVhcmRvd24ocGkuY29udGV4dCwgb2Jq
ZWN0KCksIEFwcGx5VG9GaWxsVGFyZ2V0VHlwZSwgdHJ1ZSk7CisgICAgICAgIH0KKyAgICB9CisK
KyAgICBTVkdQYWludFNlcnZlciogc3Ryb2tlUGFpbnRTZXJ2ZXIgPSBLU1ZHUGFpbnRlckZhY3Rv
cnk6OnN0cm9rZVBhaW50U2VydmVyKG9iamVjdCgpLT5zdHlsZSgpLCBvYmplY3QoKSk7CisgICAg
aWYgKHN0cm9rZVBhaW50U2VydmVyKSB7CisgICAgICAgIGlmIChzdHJva2VQYWludFNlcnZlci0+
c2V0dXAocGkuY29udGV4dCwgb2JqZWN0KCksIEFwcGx5VG9TdHJva2VUYXJnZXRUeXBlLCB0cnVl
KSkgeworICAgICAgICAgICAgVmVjdG9yPFNWR0NoYXI+OjppdGVyYXRvciBpdCA9IG1fc3ZnQ2hh
cnMuYmVnaW4oKTsKKyAgICAgICAgICAgIHBhaW50SW5saW5lQm94ZXMocGksIHR4LCB0eSwgdGhp
cywgaXQpOworICAgICAgICAgICAgQVNTRVJUKGl0ID09IG1fc3ZnQ2hhcnMuZW5kKCkpOworCisg
ICAgICAgICAgICBzdHJva2VQYWludFNlcnZlci0+dGVhcmRvd24ocGkuY29udGV4dCwgb2JqZWN0
KCksIEFwcGx5VG9TdHJva2VUYXJnZXRUeXBlLCB0cnVlKTsKKyAgICAgICAgfQorICAgIH0KKwor
I2lmIEVOQUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKQorICAgIGlmIChmaWx0ZXIpCisg
ICAgICAgIGZpbHRlci0+YXBwbHlGaWx0ZXIocGFpbnRJbmZvLmNvbnRleHQsIGJvdW5kaW5nQm94
KTsKKyNlbmRpZgorCisgICAgaWYgKG9wYWNpdHkgPCAxLjBmKQorICAgICAgICBwYWludEluZm8u
Y29udGV4dC0+ZW5kVHJhbnNwYXJlbmN5TGF5ZXIoKTsKKworICAgIHBhaW50SW5mby5jb250ZXh0
LT5yZXN0b3JlKCk7Cit9CisKIGludCBTVkdSb290SW5saW5lQm94OjpwbGFjZUJveGVzSG9yaXpv
bnRhbGx5KGludCB4LCBpbnQmIGxlZnRQb3NpdGlvbiwgaW50JiByaWdodFBvc2l0aW9uLCBib29s
JiBuZWVkc1dvcmRTcGFjaW5nKQogewogICAgIC8vIFJlbW92ZSBhbnkgb2Zmc2V0cyBjYXVzZWQg
YnkgUlRMIHRleHQgbGF5b3V0Ci0gICAgeCA9IDA7CiAgICAgbGVmdFBvc2l0aW9uID0gMDsKICAg
ICByaWdodFBvc2l0aW9uID0gMDsKLSAgICByZXR1cm4gcGxhY2VTVkdGbG93SG9yaXpvbnRhbGx5
KHRoaXMsIHgsIGxlZnRQb3NpdGlvbiwgcmlnaHRQb3NpdGlvbiwgbmVlZHNXb3JkU3BhY2luZyk7
CisgICAgcmV0dXJuIDA7CiB9CiAKIHZvaWQgU1ZHUm9vdElubGluZUJveDo6dmVydGljYWxseUFs
aWduQm94ZXMoaW50JiBoZWlnaHRPZkJsb2NrKQogewotICAgIHBsYWNlU1ZHRmxvd1ZlcnRpY2Fs
bHkodGhpcywgaGVpZ2h0T2ZCbG9jayk7CisgICAgLy8gaGVpZ2h0IGlzIHNldCBieSBsYXlvdXRJ
bmxpbmVCb3hlcy4KKyAgICBoZWlnaHRPZkJsb2NrID0gaGVpZ2h0KCk7CiB9CiAKK3N0YXRpYyB2
b2lkIGN1bW11bGF0ZWRXaWR0aEFuZEhlaWdodE9mVGV4dENodW5rKGNvbnN0IFNWR1RleHRDaHVu
ayYgY2h1bmssIGZsb2F0JiB3aWR0aCwgZmxvYXQmIGhlaWdodCkKK3sKKyAgICBmbG9hdCBtaW5Y
ID0gMC4wLCBtaW5ZID0gMC4wOworICAgIGZsb2F0IG1heFggPSAwLjAsIG1heFkgPSAwLjA7CisK
KyAgICBWZWN0b3I8U1ZHQ2hhcj46Oml0ZXJhdG9yIGl0ID0gY2h1bmsuc3RhcnQ7CisgICAgZm9y
ICg7IGl0ICE9IGNodW5rLmVuZDsgKytpdCkgeworICAgICAgICBTVkdDaGFyIGN1ckNoYXIgPSAq
aXQ7CisKKyAgICAgICAgaWYgKGl0ID09IGNodW5rLnN0YXJ0IHx8IGN1ckNoYXIueCA8IG1pblgp
CisgICAgICAgICAgICBtaW5YID0gY3VyQ2hhci54OworCisgICAgICAgIGlmIChpdCA9PSBjaHVu
ay5zdGFydCB8fCBjdXJDaGFyLnggPiBtYXhYKQorICAgICAgICAgICAgbWF4WCA9IGN1ckNoYXIu
eDsKKworICAgICAgICBpZiAoaXQgPT0gY2h1bmsuc3RhcnQgfHwgY3VyQ2hhci55IDwgbWluWSkK
KyAgICAgICAgICAgIG1pblkgPSBjdXJDaGFyLnk7CisKKyAgICAgICAgaWYgKGl0ID09IGNodW5r
LnN0YXJ0IHx8IGN1ckNoYXIueSA+IG1heFkpCisgICAgICAgICAgICBtYXhZID0gY3VyQ2hhci55
OworICAgIH0KKworICAgIHdpZHRoID0gbWF4WCAtIG1pblg7CisgICAgaGVpZ2h0ID0gbWF4WSAt
IG1pblk7Cit9CisKK3N0YXRpYyB2b2lkIGFwcGx5VGV4dEFuY2hvclRvVGV4dENodW5rKGNvbnN0
IFNWR1RleHRDaHVuayYgY2h1bmspCit7CisgICAgaWYgKGNodW5rLmFuY2hvciA9PSBUQV9TVEFS
VCkKKyAgICAgICAgcmV0dXJuOworCisgICAgZmxvYXQgd2lkdGggPSAwLjAsIGhlaWdodCA9IDAu
MDsKKyAgICBjdW1tdWxhdGVkV2lkdGhBbmRIZWlnaHRPZlRleHRDaHVuayhjaHVuaywgd2lkdGgs
IGhlaWdodCk7CisKKyAgICBmbG9hdCBzaGlmdCA9IDAuMDsKKworICAgIGlmIChjaHVuay5pc1Zl
cnRpY2FsVGV4dCkKKyAgICAgICAgc2hpZnQgPSBoZWlnaHQgKyBjaHVuay5sYXN0R2x5cGhIZWln
aHQ7CisgICAgZWxzZQorICAgICAgICBzaGlmdCA9IHdpZHRoICsgY2h1bmsubGFzdEdseXBoV2lk
dGg7CisKKyAgICBpZiAoY2h1bmsuYW5jaG9yID09IFRBX01JRERMRSkKKyAgICAgICAgc2hpZnQg
Lz0gLTIuMDsKKyAgICBlbHNlCisgICAgICAgIHNoaWZ0ICo9IC0xLjA7CisKKyAgICAvLyBBcHBs
eSBjb3JyZWN0aW9uIHRvIGNodW5rCisgICAgVmVjdG9yPFNWR0NoYXI+OjppdGVyYXRvciBjaHVu
a0l0ID0gY2h1bmsuc3RhcnQ7CisgICAgZm9yICg7IGNodW5rSXQgIT0gY2h1bmsuZW5kOyArK2No
dW5rSXQpIHsKKyAgICAgICAgU1ZHQ2hhciYgY3VyQ2hhciA9ICpjaHVua0l0OworCisgICAgICAg
IGlmIChjaHVuay5pc1ZlcnRpY2FsVGV4dCkKKyAgICAgICAgICAgIGN1ckNoYXIueSArPSBzaGlm
dDsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgY3VyQ2hhci54ICs9IHNoaWZ0OworICAgIH0K
KworICAgIC8vIE1vdmUgaW5saW5lIGJveGVzCisgICAgSGFzaFNldDxJbmxpbmVCb3gqPjo6Y29u
c3RfaXRlcmF0b3IgYm94SXQgPSBjaHVuay5ib3hlcy5iZWdpbigpOworICAgIGNvbnN0IEhhc2hT
ZXQ8SW5saW5lQm94Kj46OmNvbnN0X2l0ZXJhdG9yIGJveEVuZCA9IGNodW5rLmJveGVzLmVuZCgp
OworCisgICAgZm9yICg7IGJveEl0ICE9IGJveEVuZDsgKytib3hJdCkgeworICAgICAgICBJbmxp
bmVCb3gqIGN1ckJveCA9ICpib3hJdDsKKworICAgICAgICBpZiAoY2h1bmsuaXNWZXJ0aWNhbFRl
eHQpCisgICAgICAgICAgICBjdXJCb3gtPnNldFlQb3MoY3VyQm94LT55UG9zKCkgKyBzaGlmdCk7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGN1ckJveC0+c2V0WFBvcyhjdXJCb3gtPnhQb3Mo
KSArIHNoaWZ0KTsKKyAgICB9Cit9CisKK3ZvaWQgU1ZHUm9vdElubGluZUJveDo6Y29tcHV0ZVBl
ckNoYXJhY3RlckxheW91dEluZm9ybWF0aW9uKCkKK3sKKyAgICAvLyBDbGVhbiB1cCBhbnkgcHJl
dmlvdXMgbGF5b3V0IGluZm9ybWF0aW9uCisgICAgbV9zdmdDaGFycy5jbGVhcigpOworICAgIG1f
c3ZnVGV4dENodW5rcy5jbGVhcigpOworCisgICAgLy8gQnVpbGQgbGF5b3V0IGluZm9ybWF0aW9u
IGZvciBhbGwgY29udGFpbmVkIHJlbmRlciBvYmplY3RzCisgICAgU1ZHQ2hhcmFjdGVyTGF5b3V0
SW5mbyBpbmZvOworICAgIGJ1aWxkTGF5b3V0SW5mb3JtYXRpb24odGhpcywgaW5mbyk7CisKKyAg
ICAvLyBMYXlvdXQgYWxsIElubGluZVRleHQvRmxvdyBib3hlcworICAgIGxheW91dElubGluZUJv
eGVzKCk7CisKKyAgICAvLyBOb3cgYWxsIGxheW91dCBpbmZvcm1hdGlvbiBhcmUgYXZhaWxhYmxl
IGZvciBldmVyeSBjaGFyYWN0ZXIKKyAgICAvLyBjb250YWluZWQgaW4gYW55IG9mIG91ciBjaGls
ZCBpbmxpbmUvZmxvdyBib3hlcy4gQnVpbGQgbGlzdAorICAgIC8vIG9mIHRleHQgY2h1bmtzIG5v
dywgdG8gYmUgYWJsZSB0byBhcHBseSB0ZXh0LWFuY2hvciBzaGlmdHMuCisgICAgYnVpbGRUZXh0
Q2h1bmtzKCk7CisKKyAgICAvLyBMYXlvdXQgYWxsIHRleHQgY2h1bmtzCisgICAgLy8gdGV4dC1h
bmNob3IgbmVlZHMgdG8gYmUgYXBwbGllZCB0byBpbmRpdmlkdWFsIGNodW5rcy4KKyAgICBsYXlv
dXRUZXh0Q2h1bmtzKCk7Cit9CisKK3ZvaWQgU1ZHUm9vdElubGluZUJveDo6YnVpbGRMYXlvdXRJ
bmZvcm1hdGlvbihJbmxpbmVGbG93Qm94KiBzdGFydCwgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbyYg
aW5mbykKK3sKKyAgICBpZiAoc3RhcnQtPmlzUm9vdElubGluZUJveCgpKSB7CisgICAgICAgIEFT
U0VSVChzdGFydC0+b2JqZWN0KCktPmVsZW1lbnQoKS0+aGFzVGFnTmFtZShTVkdOYW1lczo6dGV4
dFRhZykpOworCisgICAgICAgIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQqIHBvc2l0aW9uaW5n
RWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQqPihzdGFydC0+
b2JqZWN0KCktPmVsZW1lbnQoKSk7CisgICAgICAgIEFTU0VSVChwb3NpdGlvbmluZ0VsZW1lbnQp
OworICAgICAgICBBU1NFUlQocG9zaXRpb25pbmdFbGVtZW50LT5wYXJlbnROb2RlKCkpOworCisg
ICAgICAgIGluZm8uYWRkTGF5b3V0SW5mb3JtYXRpb24ocG9zaXRpb25pbmdFbGVtZW50KTsKKyAg
ICB9CisKKyAgICBmb3IgKElubGluZUJveCogY3VyciA9IHN0YXJ0LT5maXJzdENoaWxkKCk7IGN1
cnI7IGN1cnIgPSBjdXJyLT5uZXh0T25MaW5lKCkpIHsKKyAgICAgICAgaWYgKGN1cnItPm9iamVj
dCgpLT5pc1RleHQoKSkKKyAgICAgICAgICAgIGJ1aWxkTGF5b3V0SW5mb3JtYXRpb25Gb3JUZXh0
Qm94KGluZm8sIHN0YXRpY19jYXN0PElubGluZVRleHRCb3gqPihjdXJyKSk7CisgICAgICAgIGVs
c2UgeworICAgICAgICAgICAgQVNTRVJUKGN1cnItPmlzSW5saW5lRmxvd0JveCgpKTsKKyAgICAg
ICAgICAgIElubGluZUZsb3dCb3gqIGZsb3dCb3ggPSBzdGF0aWNfY2FzdDxJbmxpbmVGbG93Qm94
Kj4oY3Vycik7CisKKyAgICAgICAgICAgIGJvb2wgaXNUZXh0UGF0aCA9IGZsb3dCb3gtPm9iamVj
dCgpLT5lbGVtZW50KCktPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnRleHRQYXRoVGFnKTsKKyAgICAg
ICAgICAgIGlmICghaXNUZXh0UGF0aCkgeworICAgICAgICAgICAgICAgIFNWR1RleHRQb3NpdGlv
bmluZ0VsZW1lbnQqIHBvc2l0aW9uaW5nRWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR1RleHRQb3Np
dGlvbmluZ0VsZW1lbnQqPihmbG93Qm94LT5vYmplY3QoKS0+ZWxlbWVudCgpKTsKKyAgICAgICAg
ICAgICAgICBBU1NFUlQocG9zaXRpb25pbmdFbGVtZW50KTsKKyAgICAgICAgICAgICAgICBBU1NF
UlQocG9zaXRpb25pbmdFbGVtZW50LT5wYXJlbnROb2RlKCkpOworCisgICAgICAgICAgICAgICAg
aW5mby5hZGRMYXlvdXRJbmZvcm1hdGlvbihwb3NpdGlvbmluZ0VsZW1lbnQpOworICAgICAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBpbmZvLmluUGF0aExheW91dCA9IHRydWU7Cisg
ICAgICAgICAgICAgICAgaW5mby5hZGRMYXlvdXRJbmZvcm1hdGlvbihmbG93Qm94KTsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgZmxvYXQgc2hpZnR4U2F2ZWQgPSBpbmZvLnNoaWZ0eCwg
c2hpZnR5U2F2ZWQgPSBpbmZvLnNoaWZ0eTsKKyAgICAgICAgICAgIGJ1aWxkTGF5b3V0SW5mb3Jt
YXRpb24oZmxvd0JveCwgaW5mbyk7CisgICAgICAgICAgICBpbmZvLnByb2Nlc3NlZENodW5rKHNo
aWZ0eFNhdmVkLCBzaGlmdHlTYXZlZCk7CisKKyAgICAgICAgICAgIGlmIChpc1RleHRQYXRoKQor
ICAgICAgICAgICAgICAgIGluZm8uaW5QYXRoTGF5b3V0ID0gZmFsc2U7CisgICAgICAgIH0KKyAg
ICB9Cit9CisKK3ZvaWQgU1ZHUm9vdElubGluZUJveDo6bGF5b3V0SW5saW5lQm94ZXMoKQorewor
ICAgIGludCBsb3dYID0gSU5UX01BWDsKKyAgICBpbnQgbG93WSA9IElOVF9NQVg7CisgICAgaW50
IGhpZ2hYID0gSU5UX01JTjsKKyAgICBpbnQgaGlnaFkgPSBJTlRfTUlOOworCisgICAgLy8gTGF5
b3V0IGFsbCBjaGlsZCBib3hlcworICAgIFZlY3RvcjxTVkdDaGFyPjo6aXRlcmF0b3IgaXQgPSBt
X3N2Z0NoYXJzLmJlZ2luKCk7IAorICAgIGxheW91dElubGluZUJveGVzKHRoaXMsIGl0LCBsb3dY
LCBoaWdoWCwgbG93WSwgaGlnaFkpOworICAgIEFTU0VSVChpdCA9PSBtX3N2Z0NoYXJzLmVuZCgp
KTsKK30KKwordm9pZCBTVkdSb290SW5saW5lQm94OjpsYXlvdXRJbmxpbmVCb3hlcyhJbmxpbmVG
bG93Qm94KiBzdGFydCwgVmVjdG9yPFNWR0NoYXI+OjppdGVyYXRvciYgaXQsIGludCYgbG93WCwg
aW50JiBoaWdoWCwgaW50JiBsb3dZLCBpbnQmIGhpZ2hZKQoreworICAgIGZvciAoSW5saW5lQm94
KiBjdXJyID0gc3RhcnQtPmZpcnN0Q2hpbGQoKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRPbkxp
bmUoKSkgeworICAgICAgICBjb25zdCBGb250JiBmb250ID0gY3Vyci0+b2JqZWN0KCktPnN0eWxl
KCktPmZvbnQoKTsKKyAgIAorICAgICAgICBpZiAoY3Vyci0+b2JqZWN0KCktPmlzVGV4dCgpKSB7
CisgICAgICAgICAgICBJbmxpbmVUZXh0Qm94KiB0ZXh0Qm94ID0gc3RhdGljX2Nhc3Q8SW5saW5l
VGV4dEJveCo+KGN1cnIpOworICAgICAgICAgICAgdW5zaWduZWQgbGVuZ3RoID0gdGV4dEJveC0+
bGVuKCk7CisKKyAgICAgICAgICAgIGZsb2F0IG1pblggPSAwLjAsIG1pblkgPSAwLjA7CisgICAg
ICAgICAgICBmbG9hdCBtYXhYID0gMC4wLCBtYXhZID0gMC4wOworCisgICAgICAgICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgICAgICBBU1NF
UlQoaXQgIT0gbV9zdmdDaGFycy5lbmQoKSk7CisgICAgICAgICAgICAgICAgU1ZHQ2hhciBjdXJD
aGFyID0gKml0OworCisgICAgICAgICAgICAgICAgaWYgKGkgPT0gMCB8fCBjdXJDaGFyLnggPCBt
aW5YKQorICAgICAgICAgICAgICAgICAgICBtaW5YID0gY3VyQ2hhci54OworCisgICAgICAgICAg
ICAgICAgaWYgKGkgPT0gMCB8fCBjdXJDaGFyLnggPiBtYXhYKQorICAgICAgICAgICAgICAgICAg
ICBtYXhYID0gY3VyQ2hhci54OworCisgICAgICAgICAgICAgICAgaWYgKGkgPT0gMCB8fCBjdXJD
aGFyLnkgPCBtaW5ZKQorICAgICAgICAgICAgICAgICAgICBtaW5ZID0gY3VyQ2hhci55OworCisg
ICAgICAgICAgICAgICAgaWYgKGkgPT0gMCB8fCBjdXJDaGFyLnkgPiBtYXhZKQorICAgICAgICAg
ICAgICAgICAgICBtYXhZID0gY3VyQ2hhci55OworCisgICAgICAgICAgICAgICAgaXQrKzsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgUmVuZGVyVGV4dCogdGV4dCA9IHRleHRCb3gtPnRl
eHRPYmplY3QoKTsKKyAgICAgICAgICAgIEFTU0VSVCh0ZXh0KTsKKworICAgICAgICAgICAgbWF4
WCArPSB0ZXh0LT53aWR0aCh0ZXh0Qm94LT5lbmQoKSwgMSwgZm9udCwgMCk7CisgICAgICAgICAg
ICBtYXhZICs9IGZvbnQuYXNjZW50KCkgKyBmb250LmRlc2NlbnQoKTsKKworICAgICAgICAgICAg
Y3Vyci0+c2V0WFBvcyhtaW5YIC0gb2JqZWN0KCktPnhQb3MoKSk7CisgICAgICAgICAgICBjdXJy
LT5zZXRXaWR0aChtYXhYIC0gbWluWCk7CisKKyAgICAgICAgICAgIGN1cnItPnNldFlQb3MobWlu
WSAtIG9iamVjdCgpLT55UG9zKCkgLSBmb250LmFzY2VudCgpKTsKKyAgICAgICAgICAgIGN1cnIt
PnNldEJhc2VsaW5lKGZvbnQuYXNjZW50KCkpOworICAgICAgICAgICAgY3Vyci0+c2V0SGVpZ2h0
KG1heFkgLSBtaW5ZKTsKKworICAgICAgICAgICAgaWYgKG1pblggPCBsb3dYKQorICAgICAgICAg
ICAgICAgIGxvd1ggPSBtaW5YOworCisgICAgICAgICAgICBpZiAobWF4WCA+IGhpZ2hYKQorICAg
ICAgICAgICAgICAgIGhpZ2hYID0gbWF4WDsKKworICAgICAgICAgICAgaWYgKG1pblkgPCBsb3dZ
KQorICAgICAgICAgICAgICAgIGxvd1kgPSBtaW5ZOworCisgICAgICAgICAgICBpZiAobWF4WSA+
IGhpZ2hZKQorICAgICAgICAgICAgICAgIGhpZ2hZID0gbWF4WTsKKyAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgIEFTU0VSVChjdXJyLT5pc0lubGluZUZsb3dCb3goKSk7CisKKyAgICAgICAg
ICAgIGludCBtaW5YID0gSU5UX01BWDsKKyAgICAgICAgICAgIGludCBtaW5ZID0gSU5UX01BWDsK
KyAgICAgICAgICAgIGludCBtYXhYID0gSU5UX01JTjsKKyAgICAgICAgICAgIGludCBtYXhZID0g
SU5UX01JTjsKKworICAgICAgICAgICAgSW5saW5lRmxvd0JveCogZmxvd0JveCA9IHN0YXRpY19j
YXN0PElubGluZUZsb3dCb3gqPihjdXJyKTsKKyAgICAgICAgICAgIGxheW91dElubGluZUJveGVz
KGZsb3dCb3gsIGl0LCBtaW5YLCBtYXhYLCBtaW5ZLCBtYXhZKTsKKworICAgICAgICAgICAgY3Vy
ci0+c2V0WFBvcyhtaW5YIC0gb2JqZWN0KCktPnhQb3MoKSk7CisgICAgICAgICAgICBjdXJyLT5z
ZXRXaWR0aChtYXhYIC0gbWluWCk7CisKKyAgICAgICAgICAgIGN1cnItPnNldFlQb3MobWluWSAt
IG9iamVjdCgpLT55UG9zKCkgLSBmb250LmFzY2VudCgpKTsKKyAgICAgICAgICAgIGN1cnItPnNl
dEJhc2VsaW5lKGZvbnQuYXNjZW50KCkpOworICAgICAgICAgICAgY3Vyci0+c2V0SGVpZ2h0KG1h
eFkgLSBtaW5ZKTsKKworICAgICAgICAgICAgbG93WCA9IG1pblg7CisgICAgICAgICAgICBoaWdo
WCA9IG1heFg7CisKKyAgICAgICAgICAgIGxvd1kgPSBtaW5ZOworICAgICAgICAgICAgaGlnaFkg
PSBtYXhZOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKHN0YXJ0LT5pc1Jvb3RJbmxpbmVC
b3goKSkgeworICAgICAgICBjb25zdCBGb250JiBmb250ID0gc3RhcnQtPm9iamVjdCgpLT5zdHls
ZSgpLT5mb250KCk7CisgCisgICAgICAgIGludCB0b3AgPSBsb3dZIC0gb2JqZWN0KCktPnlQb3Mo
KSAtIGZvbnQuYXNjZW50KCk7CisgICAgICAgIGludCBib3R0b20gPSBoaWdoWSAtIG9iamVjdCgp
LT55UG9zKCk7CisKKyAgICAgICAgc3RhcnQtPnNldFhQb3MobG93WCAtIG9iamVjdCgpLT54UG9z
KCkpOworICAgICAgICBzdGFydC0+c2V0WVBvcyh0b3ApOworCisgICAgICAgIHN0YXJ0LT5zZXRX
aWR0aChoaWdoWCAtIGxvd1gpOworICAgICAgICBzdGFydC0+c2V0SGVpZ2h0KGhpZ2hZIC0gbG93
WSk7CisKKyAgICAgICAgc3RhcnQtPnNldFZlcnRpY2FsT3ZlcmZsb3dQb3NpdGlvbnModG9wLCBi
b3R0b20pOworICAgICAgICBzdGFydC0+c2V0VmVydGljYWxTZWxlY3Rpb25Qb3NpdGlvbnModG9w
LCBib3R0b20pOworICAgIH0KK30KKwordm9pZCBTVkdSb290SW5saW5lQm94OjpidWlsZExheW91
dEluZm9ybWF0aW9uRm9yVGV4dEJveChTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvJiBpbmZvLCBJbmxp
bmVUZXh0Qm94KiB0ZXh0Qm94KQoreworICAgIFJlbmRlclRleHQqIHRleHQgPSB0ZXh0Qm94LT50
ZXh0T2JqZWN0KCk7CisgICAgQVNTRVJUKHRleHQpOworCisgICAgUmVuZGVyU3R5bGUqIHN0eWxl
ID0gdGV4dC0+c3R5bGUodGV4dEJveC0+aXNGaXJzdExpbmVTdHlsZSgpKTsKKyAgICBBU1NFUlQo
c3R5bGUpOworCisgICAgY29uc3QgRm9udCYgZm9udCA9IHN0eWxlLT5mb250KCk7CisgICAgdW5z
aWduZWQgbGVuZ3RoID0gdGV4dEJveC0+bGVuKCk7CisgICAgYm9vbCBpc1ZlcnRpY2FsVGV4dCA9
IGlzVmVydGljYWxXcml0aW5nTW9kZShzdHlsZS0+c3ZnU3R5bGUoKSk7CisKKyAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKKyAgICAgICAgU1ZHQ2hhciBzdmdDaGFy
OworICAgICAgICBzdmdDaGFyLm5ld1RleHRDaHVuayA9IGZhbHNlOworICAgICAgICBzdmdDaGFy
LmRyYXduU2VwZXJhdGVkID0gZmFsc2U7CisgCisgICAgICAgIGZsb2F0IGFuZ2xlID0gMC4wOwor
ICAgICAgICBmbG9hdCBnbHlwaFdpZHRoID0gZm9udC5mbG9hdFdpZHRoKFRleHRSdW4odGV4dC0+
dGV4dCgpLCB0ZXh0Qm94LT5zdGFydCgpICsgaSwgMSwgMCksIFRleHRTdHlsZSgwLCAwKSk7Cisg
ICAgICAgIGZsb2F0IGdseXBoSGVpZ2h0ID0gZm9udC5hc2NlbnQoKSArIGZvbnQuZGVzY2VudCgp
OworCisgICAgICAgIC8vIENhbGN1bGF0ZSBhYnNvbHV0ZSB4L3kgdmFsdWVzLCBpZiBuZWVkZWQK
KyAgICAgICAgaWYgKCFpbmZvLmluUGF0aExheW91dCkgeworICAgICAgICAgICAgaWYgKGluZm8u
eFZhbHVlQXZhaWxhYmxlKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAoIWlzVmVydGljYWxUZXh0
KQorICAgICAgICAgICAgICAgICAgICBzdmdDaGFyLm5ld1RleHRDaHVuayA9IHRydWU7CisKKyAg
ICAgICAgICAgICAgICBzdmdDaGFyLmRyYXduU2VwZXJhdGVkID0gdHJ1ZTsKKyAgICAgICAgICAg
ICAgICBpbmZvLmN1cnggPSBpbmZvLnhWYWx1ZU5leHQoKTsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgaWYgKGluZm8ueVZhbHVlQXZhaWxhYmxlKCkpIHsKKyAgICAgICAgICAgICAgICBp
ZiAoaXNWZXJ0aWNhbFRleHQpCisgICAgICAgICAgICAgICAgICAgIHN2Z0NoYXIubmV3VGV4dENo
dW5rID0gdHJ1ZTsKKworICAgICAgICAgICAgICAgIHN2Z0NoYXIuZHJhd25TZXBlcmF0ZWQgPSB0
cnVlOworICAgICAgICAgICAgICAgIGluZm8uY3VyeSA9IGluZm8ueVZhbHVlTmV4dCgpOworICAg
ICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZmxvYXQgZ2x5cGhBZHZh
bmNlID0gaXNWZXJ0aWNhbFRleHQgPyBnbHlwaEhlaWdodCA6IGdseXBoV2lkdGg7CisgICAgICAg
ICAgICBpbmZvLm5leHRQYXRoTGF5b3V0UG9pbnRBbmRBbmdsZShpbmZvLmN1cngsIGluZm8uY3Vy
eSwgYW5nbGUsIGdseXBoQWR2YW5jZSk7CisgICAgICAgIH0KKworICAgICAgICAvLyBBcHBseSB4
LWF4aXMgc2hpZnQKKyAgICAgICAgaWYgKGluZm8uZHhWYWx1ZUF2YWlsYWJsZSgpKSB7CisgICAg
ICAgICAgICBzdmdDaGFyLmRyYXduU2VwZXJhdGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIGluZm8u
Y3VyeCArPSBpbmZvLmR4VmFsdWVOZXh0KCk7CisgICAgICAgIH0KKworICAgICAgICAvLyBBcHBs
eSB5LWF4aXMgc2hpZnQKKyAgICAgICAgaWYgKGluZm8uZHlWYWx1ZUF2YWlsYWJsZSgpKSB7Cisg
ICAgICAgICAgICBzdmdDaGFyLmRyYXduU2VwZXJhdGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIGlu
Zm8uY3VyeSArPSBpbmZvLmR5VmFsdWVOZXh0KCk7CisgICAgICAgIH0KKworICAgICAgICAvLyBB
cHBseSByb3RhdGlvbgorICAgICAgICBpZiAoaW5mby5hbmdsZVZhbHVlQXZhaWxhYmxlKCkpIHsK
KyAgICAgICAgICAgIHN2Z0NoYXIuZHJhd25TZXBlcmF0ZWQgPSB0cnVlOworICAgICAgICAgICAg
YW5nbGUgPSBpbmZvLmFuZ2xlVmFsdWVOZXh0KCk7CisgICAgICAgIH0KKworICAgICAgICAvLyBB
cHBseSBiYXNlbGluZS1zaGlmdAorICAgICAgICBpZiAoaW5mby5iYXNlbGluZVNoaWZ0VmFsdWVB
dmFpbGFibGUoKSkgeworICAgICAgICAgICAgc3ZnQ2hhci5kcmF3blNlcGVyYXRlZCA9IHRydWU7
CisgICAgICAgICAgICBmbG9hdCBzaGlmdCA9IGluZm8uYmFzZWxpbmVTaGlmdFZhbHVlTmV4dCgp
OworCisgICAgICAgICAgICBpZiAoaXNWZXJ0aWNhbFRleHQpIHsKKyAgICAgICAgICAgICAgICBp
bmZvLnNoaWZ0eCArPSBzaGlmdDsKKyAgICAgICAgICAgICAgICBpbmZvLmN1cnggKz0gc2hpZnQ7
CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGluZm8uc2hpZnR5IC09IHNo
aWZ0OworICAgICAgICAgICAgICAgIGluZm8uY3VyeSAtPSBzaGlmdDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorCisgICAgICAgIHN2Z0NoYXIueCA9IGluZm8uY3VyeDsKKyAgICAgICAgc3Zn
Q2hhci55ID0gaW5mby5jdXJ5OworCisgICAgICAgIGZsb2F0IGR4ID0gMC4wOworICAgICAgICBm
bG9hdCBkeSA9IDAuMDsKKworICAgICAgICAvLyBDb3JyZWN0IGNoYXJhY3RlciBwb3NpdGlvbiBm
b3IgdGV4dCBvbiBwYXRoIGxheW91dAorICAgICAgICBpZiAoaW5mby5pblBhdGhMYXlvdXQpIHsK
KyAgICAgICAgICAgIHN2Z0NoYXIuZHJhd25TZXBlcmF0ZWQgPSB0cnVlOworCisgICAgICAgICAg
ICBpZiAoaXNWZXJ0aWNhbFRleHQpCisgICAgICAgICAgICAgICAgZHkgPSBnbHlwaEhlaWdodCAv
IDIuMDsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBkeCA9IGdseXBoV2lkdGgg
LyAyLjA7CisKKyAgICAgICAgICAgIHN2Z0NoYXIueCAtPSBkeDsKKyAgICAgICAgICAgIHN2Z0No
YXIueSAtPSBkeTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIENvcnJlY3QgY2hhcmFjdGVyIHBv
c2l0aW9uIGZvciB2ZXJ0aWNhbCB0ZXh0IGxheW91dAorICAgICAgICBpZiAoaXNWZXJ0aWNhbFRl
eHQpIHsKKyAgICAgICAgICAgIHN2Z0NoYXIuZHJhd25TZXBlcmF0ZWQgPSB0cnVlOworICAgICAg
ICAgICAgc3ZnQ2hhci54IC09IGdseXBoV2lkdGggLyAyLjA7CisgICAgICAgICAgICBzdmdDaGFy
LnkgKz0gZ2x5cGhIZWlnaHQ7CisgICAgICAgIH0KKworICAgICAgICAvLyBTZXR1cCBhZmZpbmUg
dHJhbnNmb3JtIGZvciBzaW5nbGUgZ2x5cGgKKyAgICAgICAgaWYgKGFuZ2xlICE9IDAuMCkgewor
ICAgICAgICAgICAgQWZmaW5lVHJhbnNmb3JtIHJvdGF0aW9uTWF0cml4OworCisgICAgICAgICAg
ICByb3RhdGlvbk1hdHJpeC50cmFuc2xhdGUoc3ZnQ2hhci54ICsgZHgsIHN2Z0NoYXIueSArIGR5
KTsKKyAgICAgICAgICAgIHJvdGF0aW9uTWF0cml4LnJvdGF0ZShhbmdsZSk7CisgICAgICAgICAg
ICByb3RhdGlvbk1hdHJpeC50cmFuc2xhdGUoLXN2Z0NoYXIueCAtIGR4LCAtc3ZnQ2hhci55IC0g
ZHkpOworCisgICAgICAgICAgICBzdmdDaGFyLnRyYW5zZm9ybSA9IHJvdGF0aW9uTWF0cml4Owor
ICAgICAgICB9CisKKyAgICAgICAgLy8gQWR2YW5jZSBjdXJyZW50IHBvc2l0aW9uCisgICAgICAg
IGlmICghaXNWZXJ0aWNhbFRleHQpCisgICAgICAgICAgICBpbmZvLmN1cnggKz0gZ2x5cGhXaWR0
aDsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgaW5mby5jdXJ5ICs9IGdseXBoSGVpZ2h0Owor
CisgICAgICAgIG1fc3ZnQ2hhcnMuYXBwZW5kKHN2Z0NoYXIpOworICAgICAgICBpbmZvLnByb2Nl
c3NlZFNpbmdsZUNoYXJhY3RlcigpOworICAgIH0KK30KKwordm9pZCBTVkdSb290SW5saW5lQm94
OjpidWlsZFRleHRDaHVua3MoKQoreworICAgIFNWR1RleHRDaHVua0xheW91dEluZm8gaW5mbzsK
KyAgICBpbmZvLml0ID0gbV9zdmdDaGFycy5iZWdpbigpOworICAgIGluZm8uY2h1bmsuc3RhcnQg
PSBtX3N2Z0NoYXJzLmJlZ2luKCk7CisgICAgaW5mby5jaHVuay5lbmQgPSBtX3N2Z0NoYXJzLmJl
Z2luKCk7CisKKyAgICBidWlsZFRleHRDaHVua3ModGhpcywgaW5mbyk7CisgICAgQVNTRVJUKGlu
Zm8uaXQgPT0gbV9zdmdDaGFycy5lbmQoKSk7Cit9CisKK3ZvaWQgU1ZHUm9vdElubGluZUJveDo6
YnVpbGRUZXh0Q2h1bmtzKElubGluZUZsb3dCb3gqIHN0YXJ0LCBTVkdUZXh0Q2h1bmtMYXlvdXRJ
bmZvJiBpbmZvKQoreworICAgIGZvciAoSW5saW5lQm94KiBjdXJyID0gc3RhcnQtPmZpcnN0Q2hp
bGQoKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRPbkxpbmUoKSkgeworICAgICAgICBpZiAoY3Vy
ci0+b2JqZWN0KCktPmlzVGV4dCgpKSB7CisgICAgICAgICAgICBJbmxpbmVUZXh0Qm94KiB0ZXh0
Qm94ID0gc3RhdGljX2Nhc3Q8SW5saW5lVGV4dEJveCo+KGN1cnIpOworCisgICAgICAgICAgICB1
bnNpZ25lZCBsZW5ndGggPSB0ZXh0Qm94LT5sZW4oKTsKKyAgICAgICAgICAgIGlmICghbGVuZ3Ro
KQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBjb25zdCBGb250JiBm
b250ID0gY3Vyci0+b2JqZWN0KCktPnN0eWxlKCktPmZvbnQoKTsKKyAgICAgICAgICAgIFJlbmRl
clRleHQqIHRleHQgPSB0ZXh0Qm94LT50ZXh0T2JqZWN0KCk7CisgICAgICAgICAgICBBU1NFUlQo
dGV4dCk7CisKKyAgICAgICAgICAgIC8vIElmIGEgbmV3IChvciB0aGUgZmlyc3QpIGNodW5rIGhh
cyBiZWVuIHN0YXJ0ZWQsIHJlY29yZCBpdCdzIHRleHQtYW5jaG9yLgorICAgICAgICAgICAgaWYg
KGluZm8uYXNzaWduTmV3QW5jaG9yKSB7CisgICAgICAgICAgICAgICAgaW5mby5hc3NpZ25OZXdB
bmNob3IgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBpbmZvLmNodW5rLmlzVmVydGljYWxUZXh0
ID0gaXNWZXJ0aWNhbFdyaXRpbmdNb2RlKHRleHQtPnN0eWxlKCktPnN2Z1N0eWxlKCkpOworICAg
ICAgICAgICAgICAgIGluZm8uY2h1bmsuYW5jaG9yID0gdGV4dC0+c3R5bGUoKS0+c3ZnU3R5bGUo
KS0+dGV4dEFuY2hvcigpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAoIWluZm8u
Y2h1bmsuYm94ZXMuY29udGFpbnMoY3VycikpCisgICAgICAgICAgICAgICAgaW5mby5jaHVuay5i
b3hlcy5hZGQoY3Vycik7CisKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBs
ZW5ndGg7ICsraSkgeworICAgICAgICAgICAgICAgIEFTU0VSVChpbmZvLml0ICE9IG1fc3ZnQ2hh
cnMuZW5kKCkpOworCisgICAgICAgICAgICAgICAgYm9vbCBpc0ZpcnN0Q2hhcmFjdGVyID0gaW5m
by5jaHVuay5zdGFydCA9PSBpbmZvLml0ICYmIGluZm8uY2h1bmsuc3RhcnQgPT0gaW5mby5jaHVu
ay5lbmQ7CisgICAgICAgICAgICAgICAgaWYgKCgqaW5mby5pdCkubmV3VGV4dENodW5rKSB7Cisg
ICAgICAgICAgICAgICAgICAgIGlmICghaXNGaXJzdENoYXJhY3RlcikgeworICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gQ2xvc2UgbWlkIGNodW5rCisgICAgICAgICAgICAgICAgICAgICAgICBp
bmZvLmNodW5rLmVuZCA9IGluZm8uaXQ7CisgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLmNo
dW5rLmxhc3RHbHlwaFdpZHRoID0gdGV4dC0+d2lkdGgodGV4dEJveC0+c3RhcnQoKSArIGkgLSAx
LCAxLCBmb250LCAwKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGluZm8uY2h1bmsubGFzdEds
eXBoSGVpZ2h0ID0gZm9udC5hc2NlbnQoKSArIGZvbnQuZGVzY2VudCgpOworICAgICAgICAgICAg
ICAgICAgICAgICAgbV9zdmdUZXh0Q2h1bmtzLmFwcGVuZChpbmZvLmNodW5rKTsKKworICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gUHJlcGFyZSBmb3IgbmV4dCBjaHVuaworICAgICAgICAgICAg
ICAgICAgICAgICAgaW5mby5jaHVuay5ib3hlcy5jbGVhcigpOworICAgICAgICAgICAgICAgICAg
ICAgICAgaW5mby5jaHVuay5zdGFydCA9IGluZm8uaXQ7CisgICAgICAgICAgICAgICAgICAgICAg
ICBpbmZvLmNodW5rLmFuY2hvciA9IHRleHQtPnN0eWxlKCktPnN2Z1N0eWxlKCktPnRleHRBbmNo
b3IoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGluZm8uY2h1bmsuaXNWZXJ0aWNhbFRleHQg
PSBpc1ZlcnRpY2FsV3JpdGluZ01vZGUodGV4dC0+c3R5bGUoKS0+c3ZnU3R5bGUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgCisgICAgICAgICAgICAg
ICAgaW5mby5pdCsrOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAoaW5mby5pdCA9
PSBtX3N2Z0NoYXJzLmVuZCgpKSB7CisgICAgICAgICAgICAgICAgLy8gUmVtZW1iZXIgdWFzdCBn
bHlwaCB3aWR0aC9oZWlnaHQsIGFzIHRoZSBmaW5hbCBjaHVuayBnZXRzIGNsb3NlZCBzb29uLgor
ICAgICAgICAgICAgICAgIGluZm8uY2h1bmsubGFzdEdseXBoV2lkdGggPSB0ZXh0LT53aWR0aCh0
ZXh0Qm94LT5lbmQoKSwgMSwgZm9udCwgMCk7CisgICAgICAgICAgICAgICAgaW5mby5jaHVuay5s
YXN0R2x5cGhIZWlnaHQgPSBmb250LmFzY2VudCgpICsgZm9udC5kZXNjZW50KCk7CisgICAgICAg
ICAgICB9CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBBU1NFUlQoY3Vyci0+aXNJbmxp
bmVGbG93Qm94KCkpOworICAgICAgICAgICAgYnVpbGRUZXh0Q2h1bmtzKHN0YXRpY19jYXN0PElu
bGluZUZsb3dCb3gqPihjdXJyKSwgaW5mbyk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvLyBD
bG9zZSBmaW5hbCBjaHVuaworICAgIGlmIChzdGFydC0+aXNSb290SW5saW5lQm94KCkpIHsKKyAg
ICAgICAgQVNTRVJUKGluZm8uaXQgPT0gbV9zdmdDaGFycy5lbmQoKSk7CisKKyAgICAgICAgaW5m
by5jaHVuay5lbmQgPSBpbmZvLml0OworICAgICAgICBtX3N2Z1RleHRDaHVua3MuYXBwZW5kKGlu
Zm8uY2h1bmspOworICAgIH0KK30KKwordm9pZCBTVkdSb290SW5saW5lQm94OjpsYXlvdXRUZXh0
Q2h1bmtzKCkKK3sKKyAgICBWZWN0b3I8U1ZHVGV4dENodW5rPjo6aXRlcmF0b3IgaXQgPSBtX3N2
Z1RleHRDaHVua3MuYmVnaW4oKTsKKyAgICBWZWN0b3I8U1ZHVGV4dENodW5rPjo6aXRlcmF0b3Ig
ZW5kID0gbV9zdmdUZXh0Q2h1bmtzLmVuZCgpOworCisgICAgZm9yICg7IGl0ICE9IGVuZDsgKytp
dCkgeworICAgICAgICBTVkdUZXh0Q2h1bmsgY3VycmVudCA9ICppdDsKKworICAgICAgICAvLyBB
cHBseSB0ZXh0IGFuY2hvciBmaXJzdAorICAgICAgICBhcHBseVRleHRBbmNob3JUb1RleHRDaHVu
ayhjdXJyZW50KTsKKyAgICB9Cit9CisKK3ZvaWQgU1ZHUm9vdElubGluZUJveDo6cGFpbnRJbmxp
bmVCb3hlcyhSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYgcGFpbnRJbmZvLCBpbnQgdHgsIGludCB0
eSwgSW5saW5lRmxvd0JveCogc3RhcnQsIFZlY3RvcjxTVkdDaGFyPjo6aXRlcmF0b3ImIGl0KQor
eworICAgIGZvciAoSW5saW5lQm94KiBjdXJyID0gc3RhcnQtPmZpcnN0Q2hpbGQoKTsgY3Vycjsg
Y3VyciA9IGN1cnItPm5leHRPbkxpbmUoKSkgeworICAgICAgICBpZiAoY3Vyci0+b2JqZWN0KCkt
PmlzVGV4dCgpKSB7CisgICAgICAgICAgICBJbmxpbmVUZXh0Qm94KiB0ZXh0Qm94ID0gc3RhdGlj
X2Nhc3Q8SW5saW5lVGV4dEJveCo+KGN1cnIpOworCisgICAgICAgICAgICB1bnNpZ25lZCBsZW5n
dGggPSB0ZXh0Qm94LT5sZW4oKTsKKyAgICAgICAgICAgIGlmICghbGVuZ3RoKQorICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBSZW5kZXJUZXh0KiB0ZXh0ID0gdGV4dEJv
eC0+dGV4dE9iamVjdCgpOworICAgICAgICAgICAgQVNTRVJUKHRleHQpOworCisgICAgICAgICAg
ICAvLyBQYWludCBhbGwgY29udGFpbmVkIGNoYXJhY3RlcnMsIG9uZS1ieS1vbmUgYXMgd29yc3Qg
Y2FzZS4KKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkg
eworICAgICAgICAgICAgICAgIEFTU0VSVChpdCAhPSBtX3N2Z0NoYXJzLmVuZCgpKTsKKworICAg
ICAgICAgICAgICAgIFNWR0NoYXIgY3VyQ2h1bmsgPSAqaXQ7CisKKyAgICAgICAgICAgICAgICAv
LyBEZXRlcm1pbmUgaG93IG1hbnkgY2hhcmFjdGVycyAtIHN0YXJ0aW5nIGZyb20gdGhlIGN1cnJl
bnQgLSBjYW4gYmUgZHJhd24gYXQgb25jZS4KKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBzdGFy
dE9mZnNldCA9IGkgKyAxLCBydW4gPSAxOworICAgICAgICAgICAgICAgIHdoaWxlIChzdGFydE9m
ZnNldCA8IGxlbmd0aCkgeworICAgICAgICAgICAgICAgICAgICBTVkdDaGFyIGNodW5rID0gKihp
dCArIHN0YXJ0T2Zmc2V0IC0gaSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChjaHVuay5kcmF3
blNlcGVyYXRlZCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAg
ICAgICAgICAgIHJ1bisrOworICAgICAgICAgICAgICAgICAgICBzdGFydE9mZnNldCsrOworICAg
ICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIHBhaW50Q2hhcmFjdGVyUmFuZ2VGb3JU
ZXh0Qm94KHBhaW50SW5mbywgdHgsIHR5LCB0ZXh0Qm94LCAqaXQsIHRleHQtPmNoYXJhY3RlcnMo
KSArIHRleHRCb3gtPnN0YXJ0KCkgKyBpLCBydW4pOworCisgICAgICAgICAgICAgICAgaSArPSBy
dW4gLSAxOworICAgICAgICAgICAgICAgIGl0ICs9IHJ1bjsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgIEFTU0VSVChjdXJyLT5pc0lubGluZUZsb3dCb3goKSk7
CisgICAgICAgICAgICBJbmxpbmVGbG93Qm94KiBmbG93Qm94ID0gc3RhdGljX2Nhc3Q8SW5saW5l
Rmxvd0JveCo+KGN1cnIpOworCisgICAgICAgICAgICBGbG9hdFJlY3QgYm91bmRpbmdCb3g7CisK
KyNpZiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykKKyAgICAgICAgICAgIFNWR1Jl
c291cmNlRmlsdGVyKiBmaWx0ZXIgPSAwOworICAgICAgICAgICAgcHJlcGFyZVRleHRSZW5kZXJp
bmcocGFpbnRJbmZvLCB0eCwgdHksIGZsb3dCb3gsIGJvdW5kaW5nQm94LCBmaWx0ZXIpOworI2Vs
c2UKKyAgICAgICAgICAgIHByZXBhcmVUZXh0UmVuZGVyaW5nKHBhaW50SW5mbywgdHgsIHR5LCBm
bG93Qm94LCBib3VuZGluZ0JveCk7CisjZW5kaWYKKworICAgICAgICAgICAgUmVuZGVyT2JqZWN0
KiBvYmplY3QgPSBmbG93Qm94LT5vYmplY3QoKTsKKyAgICAgICAgICAgIFJlbmRlck9iamVjdDo6
UGFpbnRJbmZvIHBpKHBhaW50SW5mbyk7CisKKyAgICAgICAgICAgIGlmICghZmxvd0JveC0+aXNS
b290SW5saW5lQm94KCkpCisgICAgICAgICAgICAgICAgcGkucmVjdCA9IChvYmplY3QtPmxvY2Fs
VHJhbnNmb3JtKCkpLmludmVyc2UoKS5tYXBSZWN0KHBpLnJlY3QpOworCisgICAgICAgICAgICBm
bG9hdCBvcGFjaXR5ID0gb2JqZWN0LT5zdHlsZSgpLT5vcGFjaXR5KCk7CisgICAgICAgICAgICBp
ZiAob3BhY2l0eSA8IDEuMGYpIHsKKyAgICAgICAgICAgICAgICBwYWludEluZm8uY29udGV4dC0+
Y2xpcChlbmNsb3NpbmdJbnRSZWN0KGJvdW5kaW5nQm94KSk7CisgICAgICAgICAgICAgICAgcGFp
bnRJbmZvLmNvbnRleHQtPmJlZ2luVHJhbnNwYXJlbmN5TGF5ZXIob3BhY2l0eSk7CisgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgIGJvb2wgcGFpbnRlZCA9IGZhbHNlOworICAgICAgICAgICAg
VmVjdG9yPFNWR0NoYXI+OjppdGVyYXRvciBzYXZlZEl0ID0gaXQ7CisgICAgCisgICAgICAgICAg
ICBTVkdQYWludFNlcnZlciogZmlsbFBhaW50U2VydmVyID0gS1NWR1BhaW50ZXJGYWN0b3J5Ojpm
aWxsUGFpbnRTZXJ2ZXIob2JqZWN0LT5zdHlsZSgpLCBvYmplY3QpOworICAgICAgICAgICAgaWYg
KGZpbGxQYWludFNlcnZlcikgeworICAgICAgICAgICAgICAgIGlmIChmaWxsUGFpbnRTZXJ2ZXIt
PnNldHVwKHBpLmNvbnRleHQsIG9iamVjdCwgQXBwbHlUb0ZpbGxUYXJnZXRUeXBlLCB0cnVlKSkg
eworICAgICAgICAgICAgICAgICAgICBwYWludGVkID0gdHJ1ZTsKKworICAgICAgICAgICAgICAg
ICAgICBwYWludElubGluZUJveGVzKHBpLCB0eCwgdHksIGZsb3dCb3gsIGl0KTsKKyAgICAgICAg
ICAgICAgICAgICAgZmlsbFBhaW50U2VydmVyLT50ZWFyZG93bihwaS5jb250ZXh0LCBvYmplY3Qs
IEFwcGx5VG9GaWxsVGFyZ2V0VHlwZSwgdHJ1ZSk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICBTVkdQYWludFNlcnZlciogc3Ryb2tlUGFpbnRTZXJ2ZXIg
PSBLU1ZHUGFpbnRlckZhY3Rvcnk6OnN0cm9rZVBhaW50U2VydmVyKG9iamVjdC0+c3R5bGUoKSwg
b2JqZWN0KTsKKyAgICAgICAgICAgIGlmIChzdHJva2VQYWludFNlcnZlcikgeworICAgICAgICAg
ICAgICAgIGlmIChzdHJva2VQYWludFNlcnZlci0+c2V0dXAocGkuY29udGV4dCwgb2JqZWN0LCBB
cHBseVRvU3Ryb2tlVGFyZ2V0VHlwZSwgdHJ1ZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYg
KHBhaW50ZWQpCisgICAgICAgICAgICAgICAgICAgICAgICBpdCA9IHNhdmVkSXQ7CisKKyAgICAg
ICAgICAgICAgICAgICAgcGFpbnRJbmxpbmVCb3hlcyhwaSwgdHgsIHR5LCBmbG93Qm94LCBpdCk7
CisgICAgICAgICAgICAgICAgICAgIHN0cm9rZVBhaW50U2VydmVyLT50ZWFyZG93bihwaS5jb250
ZXh0LCBvYmplY3QsIEFwcGx5VG9TdHJva2VUYXJnZXRUeXBlLCB0cnVlKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9CisKKyNpZiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9GRUFU
VVJFUykKKyAgICAgICAgICAgIGlmIChmaWx0ZXIpCisgICAgICAgICAgICAgICAgZmlsdGVyLT5h
cHBseUZpbHRlcihwYWludEluZm8uY29udGV4dCwgYm91bmRpbmdCb3gpOworI2VuZGlmCisKKyAg
ICAgICAgICAgIGlmIChvcGFjaXR5IDwgMS4wZikKKyAgICAgICAgICAgICAgICBwYWludEluZm8u
Y29udGV4dC0+ZW5kVHJhbnNwYXJlbmN5TGF5ZXIoKTsKKworICAgICAgICAgICAgcGFpbnRJbmZv
LmNvbnRleHQtPnJlc3RvcmUoKTsKKyAgICAgICAgfQorICAgIH0KK30KKwordm9pZCBTVkdSb290
SW5saW5lQm94OjpwYWludENoYXJhY3RlclJhbmdlRm9yVGV4dEJveChSZW5kZXJPYmplY3Q6OlBh
aW50SW5mbyYgcGFpbnRJbmZvLCBpbnQgdHgsIGludCB0eSwgSW5saW5lVGV4dEJveCogdGV4dEJv
eCwgY29uc3QgU1ZHQ2hhciYgc3ZnQ2hhciwgY29uc3QgVUNoYXIqIGNoYXJzLCBpbnQgbGVuZ3Ro
KQoreworICAgIFJlbmRlclRleHQqIHRleHQgPSB0ZXh0Qm94LT50ZXh0T2JqZWN0KCk7CisgICAg
QVNTRVJUKHRleHQpOworCisgICAgaWYgKG9iamVjdCgpLT5zdHlsZSgpLT52aXNpYmlsaXR5KCkg
IT0gVklTSUJMRSB8fCBwYWludEluZm8ucGhhc2UgPT0gUGFpbnRQaGFzZU91dGxpbmUpCisgICAg
ICAgIHJldHVybjsKKyAgICAKKyAgICBBU1NFUlQocGFpbnRJbmZvLnBoYXNlICE9IFBhaW50UGhh
c2VTZWxmT3V0bGluZSAmJiBwYWludEluZm8ucGhhc2UgIT0gUGFpbnRQaGFzZUNoaWxkT3V0bGlu
ZXMpOworCisvKiBGSVhNRSAtIHN2Z0NoYXIueC95IGFyZSBhYnNvbHV0ZSBwb3NpdGlvbnMsIG5l
ZWQgdG8gcmVzcGVjdCBjdG0gaGVyZSEKKyAgICBpbnQgeFBvcyA9IHR4ICsgc3ZnQ2hhci54IC0g
dGV4dEJveC0+cGFyZW50KCktPm1heEhvcml6b250YWxWaXN1YWxPdmVyZmxvdygpOworICAgIGlu
dCB3ID0gd2lkdGgoKSArIDIgKiB0ZXh0Qm94LT5wYXJlbnQoKS0+bWF4SG9yaXpvbnRhbFZpc3Vh
bE92ZXJmbG93KCk7CisgICAgaWYgKHhQb3MgPj0gcGFpbnRJbmZvLnJlY3QucmlnaHQoKSB8fCB4
UG9zICsgdyA8PSBwYWludEluZm8ucmVjdC54KCkpCisgICAgICAgIHJldHVybjsKKyovCisgICAg
Ym9vbCBpc1ByaW50aW5nID0gdGV4dC0+ZG9jdW1lbnQoKS0+cHJpbnRpbmcoKTsKKworICAgIC8v
IERldGVybWluZSB3aGV0aGVyIG9yIG5vdCB3ZSdyZSBzZWxlY3RlZC4KKyAgICBib29sIGhhdmVT
ZWxlY3Rpb24gPSAhaXNQcmludGluZyAmJiBzZWxlY3Rpb25TdGF0ZSgpICE9IFJlbmRlck9iamVj
dDo6U2VsZWN0aW9uTm9uZTsKKyAgICBpZiAoIWhhdmVTZWxlY3Rpb24gJiYgcGFpbnRJbmZvLnBo
YXNlID09IFBhaW50UGhhc2VTZWxlY3Rpb24pCisgICAgICAgIC8vIFdoZW4gb25seSBwYWludGlu
ZyB0aGUgc2VsZWN0aW9uLCBkb24ndCBib3RoZXIgdG8gcGFpbnQgaWYgdGhlcmUgaXMgbm9uZS4K
KyAgICAgICAgcmV0dXJuOworCisgICAgLy8gRGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90IHdlIGhh
dmUgbWFya2VkIHRleHQuCisgICAgUmFuZ2UqIG1hcmtlZFRleHRSYW5nZSA9IHRleHQtPmRvY3Vt
ZW50KCktPmZyYW1lKCktPm1hcmtlZFRleHRSYW5nZSgpOworICAgIGludCBleGNlcHRpb24gPSAw
OworICAgIGJvb2wgaGF2ZU1hcmtlZFRleHQgPSBtYXJrZWRUZXh0UmFuZ2UgJiYgbWFya2VkVGV4
dFJhbmdlLT5zdGFydENvbnRhaW5lcihleGNlcHRpb24pID09IHRleHQtPm5vZGUoKTsKKyAgICBi
b29sIG1hcmtlZFRleHRVc2VzVW5kZXJsaW5lcyA9IHRleHQtPmRvY3VtZW50KCktPmZyYW1lKCkt
Pm1hcmtlZFRleHRVc2VzVW5kZXJsaW5lcygpOworCisgICAgLy8gU2V0IG91ciBmb250CisgICAg
UmVuZGVyU3R5bGUqIHN0eWxlVG9Vc2UgPSB0ZXh0LT5zdHlsZSh0ZXh0Qm94LT5pc0ZpcnN0TGlu
ZVN0eWxlKCkpOworICAgIGludCBkID0gc3R5bGVUb1VzZS0+dGV4dERlY29yYXRpb25zSW5FZmZl
Y3QoKTsKKyAgICBjb25zdCBGb250KiBmb250ID0gJnN0eWxlVG9Vc2UtPmZvbnQoKTsKKyAgICBp
ZiAoKmZvbnQgIT0gcGFpbnRJbmZvLmNvbnRleHQtPmZvbnQoKSkKKyAgICAgICAgcGFpbnRJbmZv
LmNvbnRleHQtPnNldEZvbnQoKmZvbnQpOworCisgICAgLy8gMS4gUGFpbnQgYmFja2dyb3VuZHMg
YmVoaW5kIHRleHQgaWYgbmVlZGVkLiAgRXhhbXBsZXMgb2Ygc3VjaCBiYWNrZ3JvdW5kcyBpbmNs
dWRlIHNlbGVjdGlvbgorICAgIC8vIGFuZCBtYXJrZWQgdGV4dC4KKyAgICBpZiAocGFpbnRJbmZv
LnBoYXNlICE9IFBhaW50UGhhc2VTZWxlY3Rpb24gJiYgIWlzUHJpbnRpbmcpIHsKKyNpZiBQTEFU
Rk9STShNQUMpCisgICAgICAgIC8vIEN1c3RvbSBoaWdobGlnaHRlcnMgZ28gYmVoaW5kIGV2ZXJ5
dGhpbmcgZWxzZS4KKyAgICAgICAgaWYgKHN0eWxlVG9Vc2UtPmhpZ2hsaWdodCgpICE9IG51bGxB
dG9tICYmICFwYWludEluZm8uY29udGV4dC0+cGFpbnRpbmdEaXNhYmxlZCgpKQorICAgICAgICAg
ICAgdGV4dEJveC0+cGFpbnRDdXN0b21IaWdobGlnaHQodHgsIHR5LCBzdHlsZVRvVXNlLT5oaWdo
bGlnaHQoKSk7CisjZW5kaWYKKworICAgICAgICBpZiAoaGF2ZU1hcmtlZFRleHQgICYmICFtYXJr
ZWRUZXh0VXNlc1VuZGVybGluZXMpCisgICAgICAgICAgICB0ZXh0Qm94LT5wYWludE1hcmtlZFRl
eHRCYWNrZ3JvdW5kKHBhaW50SW5mby5jb250ZXh0LCB0eCwgdHksIHN0eWxlVG9Vc2UsIGZvbnQs
IG1hcmtlZFRleHRSYW5nZS0+c3RhcnRPZmZzZXQoZXhjZXB0aW9uKSwgbWFya2VkVGV4dFJhbmdl
LT5lbmRPZmZzZXQoZXhjZXB0aW9uKSk7CisKKyAgICAgICAgdGV4dEJveC0+cGFpbnREb2N1bWVu
dE1hcmtlcnMocGFpbnRJbmZvLmNvbnRleHQsIHR4LCB0eSwgc3R5bGVUb1VzZSwgZm9udCwgdHJ1
ZSk7CisKKyAgICAgICAgaWYgKGhhdmVTZWxlY3Rpb24pCisgICAgICAgICAgICB0ZXh0Qm94LT5w
YWludFNlbGVjdGlvbihwYWludEluZm8uY29udGV4dCwgdHgsIHR5LCBzdHlsZVRvVXNlLCBmb250
KTsKKyAgICB9CisKKyAgICBjb25zdCBWZWN0b3I8TWFya2VkVGV4dFVuZGVybGluZT4qIHVuZGVy
bGluZXMgPSAwOworICAgIHNpemVfdCBudW1VbmRlcmxpbmVzID0gMDsKKyAgICBpZiAoaGF2ZU1h
cmtlZFRleHQgJiYgbWFya2VkVGV4dFVzZXNVbmRlcmxpbmVzKSB7CisgICAgICAgIHVuZGVybGlu
ZXMgPSAmdGV4dC0+ZG9jdW1lbnQoKS0+ZnJhbWUoKS0+bWFya2VkVGV4dFVuZGVybGluZXMoKTsK
KyAgICAgICAgbnVtVW5kZXJsaW5lcyA9IHVuZGVybGluZXMtPnNpemUoKTsKKyAgICB9CisKKyAg
ICBDb2xvciB0ZXh0RmlsbENvbG9yOworICAgIENvbG9yIHRleHRTdHJva2VDb2xvcjsKKyAgICBm
bG9hdCB0ZXh0U3Ryb2tlV2lkdGggPSBzdHlsZVRvVXNlLT50ZXh0U3Ryb2tlV2lkdGgoKTsKKwor
ICAgIGlmIChwYWludEluZm8uZm9yY2VXaGl0ZVRleHQpIHsKKyAgICAgICAgdGV4dEZpbGxDb2xv
ciA9IENvbG9yOjp3aGl0ZTsKKyAgICAgICAgdGV4dFN0cm9rZUNvbG9yID0gQ29sb3I6OndoaXRl
OworICAgIH0gZWxzZSB7CisgICAgICAgIHRleHRGaWxsQ29sb3IgPSBzdHlsZVRvVXNlLT50ZXh0
RmlsbENvbG9yKCk7CisgICAgICAgIGlmICghdGV4dEZpbGxDb2xvci5pc1ZhbGlkKCkpCisgICAg
ICAgICAgICB0ZXh0RmlsbENvbG9yID0gc3R5bGVUb1VzZS0+Y29sb3IoKTsKKworICAgICAgICAv
LyBNYWtlIHRoZSB0ZXh0IGZpbGwgY29sb3IgbGVnaWJsZSBhZ2FpbnN0IGEgd2hpdGUgYmFja2dy
b3VuZAorICAgICAgICBpZiAoc3R5bGVUb1VzZS0+Zm9yY2VCYWNrZ3JvdW5kc1RvV2hpdGUoKSkK
KyAgICAgICAgICAgIHRleHRGaWxsQ29sb3IgPSBjb3JyZWN0ZWRUZXh0Q29sb3IodGV4dEZpbGxD
b2xvciwgQ29sb3I6OndoaXRlKTsKKworICAgICAgICB0ZXh0U3Ryb2tlQ29sb3IgPSBzdHlsZVRv
VXNlLT50ZXh0U3Ryb2tlQ29sb3IoKTsKKyAgICAgICAgaWYgKCF0ZXh0U3Ryb2tlQ29sb3IuaXNW
YWxpZCgpKQorICAgICAgICAgICAgdGV4dFN0cm9rZUNvbG9yID0gc3R5bGVUb1VzZS0+Y29sb3Io
KTsKKworICAgICAgICAvLyBNYWtlIHRoZSB0ZXh0IHN0cm9rZSBjb2xvciBsZWdpYmxlIGFnYWlu
c3QgYSB3aGl0ZSBiYWNrZ3JvdW5kCisgICAgICAgIGlmIChzdHlsZVRvVXNlLT5mb3JjZUJhY2tn
cm91bmRzVG9XaGl0ZSgpKQorICAgICAgICAgICAgdGV4dFN0cm9rZUNvbG9yID0gY29ycmVjdGVk
VGV4dENvbG9yKHRleHRTdHJva2VDb2xvciwgQ29sb3I6OndoaXRlKTsKKyAgICB9CisKKyAgICAv
LyBGb3Igc3Ryb2tlZCBwYWludGluZywgd2UgaGF2ZSB0byBjaGFuZ2UgdGhlIHRleHQgZHJhd2lu
ZyBtb2RlLiAgSXQncyBwcm9iYWJseSBkYW5nZXJvdXMgdG8gbGVhdmUgdGhhdCBtdXRhdGVkIGFz
IGEgc2lkZQorICAgIC8vIGVmZmVjdCwgc28gb25seSB3aGVuIHdlIGtub3cgd2UncmUgc3Ryb2tp
bmcsIGRvIGEgc2F2ZS9yZXN0b3JlLgorICAgIGlmICh0ZXh0U3Ryb2tlV2lkdGggPiAwKQorICAg
ICAgICBwYWludEluZm8uY29udGV4dC0+c2F2ZSgpOworCisgICAgaWYgKCFzdmdDaGFyLnRyYW5z
Zm9ybS5pc0lkZW50aXR5KCkpCisgICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5jb25jYXRDVE0o
c3ZnQ2hhci50cmFuc2Zvcm0pOworCisgICAgdXBkYXRlR3JhcGhpY3NDb250ZXh0KHBhaW50SW5m
by5jb250ZXh0LCB0ZXh0RmlsbENvbG9yLCB0ZXh0U3Ryb2tlQ29sb3IsIHRleHRTdHJva2VXaWR0
aCk7CisgICAgCisgICAgLy8gU2V0IGEgdGV4dCBzaGFkb3cgaWYgd2UgaGF2ZSBvbmUuCisgICAg
Ly8gRklYTUU6IFN1cHBvcnQgbXVsdGlwbGUgc2hhZG93IGVmZmVjdHMuICBOZWVkIG1vcmUgZnJv
bSB0aGUgQ0cgQVBJIGJlZm9yZQorICAgIC8vIHdlIGNhbiBkbyB0aGlzLgorICAgIGJvb2wgc2V0
U2hhZG93ID0gZmFsc2U7CisgICAgaWYgKHN0eWxlVG9Vc2UtPnRleHRTaGFkb3coKSkgeworICAg
ICAgICBwYWludEluZm8uY29udGV4dC0+c2V0U2hhZG93KEludFNpemUoc3R5bGVUb1VzZS0+dGV4
dFNoYWRvdygpLT54LCBzdHlsZVRvVXNlLT50ZXh0U2hhZG93KCktPnkpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlVG9Vc2UtPnRleHRTaGFkb3coKS0+Ymx1ciwg
c3R5bGVUb1VzZS0+dGV4dFNoYWRvdygpLT5jb2xvcik7CisgICAgICAgIHNldFNoYWRvdyA9IHRy
dWU7CisgICAgfQorCisgICAgYm9vbCBwYWludFNlbGVjdGVkVGV4dE9ubHkgPSAocGFpbnRJbmZv
LnBoYXNlID09IFBhaW50UGhhc2VTZWxlY3Rpb24pOworICAgIGJvb2wgcGFpbnRTZWxlY3RlZFRl
eHRTZXBhcmF0ZWx5ID0gZmFsc2U7IC8vIFdoZXRoZXIgb3Igbm90IHdlIGhhdmUgdG8gZG8gbXVs
dGlwbGUgcGFpbnRzLiAgT25seQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIG5lY2Vzc2FyeSB3aGVuIGEgY3VzdG9tIDo6c2VsZWN0aW9uIGZvcmVncm91
bmQgY29sb3IgaXMgYXBwbGllZC4KKyAgICBDb2xvciBzZWxlY3Rpb25GaWxsQ29sb3IgPSB0ZXh0
RmlsbENvbG9yOworICAgIENvbG9yIHNlbGVjdGlvblN0cm9rZUNvbG9yID0gdGV4dFN0cm9rZUNv
bG9yOworICAgIGZsb2F0IHNlbGVjdGlvblN0cm9rZVdpZHRoID0gdGV4dFN0cm9rZVdpZHRoOwor
ICAgIFNoYWRvd0RhdGEqIHNlbGVjdGlvblRleHRTaGFkb3cgPSAwOworCisgICAgaWYgKGhhdmVT
ZWxlY3Rpb24pIHsKKyAgICAgICAgLy8gQ2hlY2sgZm9yZWdyb3VuZCBjb2xvciBmaXJzdC4KKyAg
ICAgICAgQ29sb3IgZm9yZWdyb3VuZCA9IG9iamVjdCgpLT5zZWxlY3Rpb25Gb3JlZ3JvdW5kQ29s
b3IoKTsKKyAgICAgICAgaWYgKGZvcmVncm91bmQuaXNWYWxpZCgpICYmIGZvcmVncm91bmQgIT0g
c2VsZWN0aW9uRmlsbENvbG9yKSB7CisgICAgICAgICAgICBpZiAoIXBhaW50U2VsZWN0ZWRUZXh0
T25seSkKKyAgICAgICAgICAgICAgICBwYWludFNlbGVjdGVkVGV4dFNlcGFyYXRlbHkgPSB0cnVl
OworICAgICAgICAgICAgc2VsZWN0aW9uRmlsbENvbG9yID0gZm9yZWdyb3VuZDsKKyAgICAgICAg
fQorICAgICAgICBSZW5kZXJTdHlsZSogcHNldWRvU3R5bGUgPSBvYmplY3QoKS0+Z2V0UHNldWRv
U3R5bGUoUmVuZGVyU3R5bGU6OlNFTEVDVElPTik7CisgICAgICAgIGlmIChwc2V1ZG9TdHlsZSkg
eworICAgICAgICAgICAgaWYgKHBzZXVkb1N0eWxlLT50ZXh0U2hhZG93KCkpIHsKKyAgICAgICAg
ICAgICAgICBpZiAoIXBhaW50U2VsZWN0ZWRUZXh0T25seSkKKyAgICAgICAgICAgICAgICAgICAg
cGFpbnRTZWxlY3RlZFRleHRTZXBhcmF0ZWx5ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBpZiAo
cHNldWRvU3R5bGUtPnRleHRTaGFkb3coKSkKKyAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9u
VGV4dFNoYWRvdyA9IHBzZXVkb1N0eWxlLT50ZXh0U2hhZG93KCk7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIGZsb2F0IHN0cm9rZVdpZHRoID0gcHNldWRvU3R5bGUtPnRleHRTdHJva2VX
aWR0aCgpOworICAgICAgICAgICAgaWYgKHN0cm9rZVdpZHRoICE9IHNlbGVjdGlvblN0cm9rZVdp
ZHRoKSB7CisgICAgICAgICAgICAgICAgaWYgKCFwYWludFNlbGVjdGVkVGV4dE9ubHkpCisgICAg
ICAgICAgICAgICAgICAgIHBhaW50U2VsZWN0ZWRUZXh0U2VwYXJhdGVseSA9IHRydWU7CisgICAg
ICAgICAgICAgICAgc2VsZWN0aW9uU3Ryb2tlV2lkdGggPSBzdHJva2VXaWR0aDsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgQ29sb3Igc3Ryb2tlID0gcHNldWRvU3R5bGUtPnRleHRTdHJv
a2VDb2xvcigpOworICAgICAgICAgICAgaWYgKCFzdHJva2UuaXNWYWxpZCgpKQorICAgICAgICAg
ICAgICAgIHN0cm9rZSA9IHBzZXVkb1N0eWxlLT5jb2xvcigpOworICAgICAgICAgICAgaWYgKHN0
cm9rZSAhPSBzZWxlY3Rpb25TdHJva2VDb2xvcikgeworICAgICAgICAgICAgICAgIGlmICghcGFp
bnRTZWxlY3RlZFRleHRPbmx5KQorICAgICAgICAgICAgICAgICAgICBwYWludFNlbGVjdGVkVGV4
dFNlcGFyYXRlbHkgPSB0cnVlOworICAgICAgICAgICAgICAgIHNlbGVjdGlvblN0cm9rZUNvbG9y
ID0gc3Ryb2tlOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgVGV4dFN0
eWxlIHRleHRTdHlsZSgwLCBzdmdDaGFyLngsIHRleHRCb3gtPm1fdG9BZGQsIHRleHRCb3gtPm1f
cmV2ZXJzZWQsIHRleHRCb3gtPm1fZGlyT3ZlcnJpZGUgfHwgc3R5bGVUb1VzZS0+dmlzdWFsbHlP
cmRlcmVkKCkpOworCisgICAgaWYgKCFwYWludFNlbGVjdGVkVGV4dE9ubHkgJiYgIXBhaW50U2Vs
ZWN0ZWRUZXh0U2VwYXJhdGVseSkgeworICAgICAgICAvLyBwYWludCBhbGwgdGhlIHRleHQKKyAg
ICAgICAgLy8gRklYTUU6IEhhbmRsZSBSVEwgZGlyZWN0aW9uLCBoYW5kbGUgcmV2ZXJzZWQgc3Ry
aW5ncy4gIEZvciBub3cgdHJ1bmNhdGlvbiBjYW4gb25seSBiZSB0dXJuZWQgb24KKyAgICAgICAg
Ly8gZm9yIG5vbi1yZXZlcnNlZCBMVFIgc3RyaW5ncy4KKyAgICAgICAgcGFpbnRJbmZvLmNvbnRl
eHQtPmRyYXdUZXh0KFRleHRSdW4oY2hhcnMsIGxlbmd0aCksIEludFBvaW50KHN2Z0NoYXIueCwg
c3ZnQ2hhci55KSwgdGV4dFN0eWxlKTsKKyAgICB9IGVsc2UgeworICAgICAgICBpbnQgc1Bvcywg
ZVBvczsKKyAgICAgICAgdGV4dEJveC0+c2VsZWN0aW9uU3RhcnRFbmQoc1BvcywgZVBvcyk7Cisg
ICAgICAgIGlmIChwYWludFNlbGVjdGVkVGV4dFNlcGFyYXRlbHkpIHsKKyAgICAgICAgICAgIC8v
IHBhaW50IG9ubHkgdGhlIHRleHQgdGhhdCBpcyBub3Qgc2VsZWN0ZWQKKyAgICAgICAgICAgIGlm
IChzUG9zID49IGVQb3MpCisgICAgICAgICAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPmRyYXdU
ZXh0KFRleHRSdW4oY2hhcnMsIGxlbmd0aCksIEludFBvaW50KHN2Z0NoYXIueCwgc3ZnQ2hhci55
KSwgdGV4dFN0eWxlKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChzUG9zIDwgZVBvcykgewor
ICAgICAgICAgICAgLy8gcGFpbnQgb25seSB0aGUgdGV4dCB0aGF0IGlzIHNlbGVjdGVkCisgICAg
ICAgICAgICBpZiAoc2VsZWN0aW9uU3Ryb2tlV2lkdGggPiAwKQorICAgICAgICAgICAgICAgIHBh
aW50SW5mby5jb250ZXh0LT5zYXZlKCk7CisKKyAgICAgICAgICAgIHVwZGF0ZUdyYXBoaWNzQ29u
dGV4dChwYWludEluZm8uY29udGV4dCwgc2VsZWN0aW9uRmlsbENvbG9yLCBzZWxlY3Rpb25TdHJv
a2VDb2xvciwgc2VsZWN0aW9uU3Ryb2tlV2lkdGgpOworCisgICAgICAgICAgICBpZiAoc2VsZWN0
aW9uVGV4dFNoYWRvdykKKyAgICAgICAgICAgICAgICBwYWludEluZm8uY29udGV4dC0+c2V0U2hh
ZG93KEludFNpemUoc2VsZWN0aW9uVGV4dFNoYWRvdy0+eCwgc2VsZWN0aW9uVGV4dFNoYWRvdy0+
eSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rp
b25UZXh0U2hhZG93LT5ibHVyLCBzZWxlY3Rpb25UZXh0U2hhZG93LT5jb2xvcik7CisgICAgICAg
ICAgICBwYWludEluZm8uY29udGV4dC0+ZHJhd1RleHQoVGV4dFJ1bihjaGFycywgbGVuZ3RoLCBz
UG9zLCBlUG9zKSwgSW50UG9pbnQoc3ZnQ2hhci54LCBzdmdDaGFyLnkpLCB0ZXh0U3R5bGUpOwor
ICAgICAgICAgICAgaWYgKHNlbGVjdGlvblRleHRTaGFkb3cpCisgICAgICAgICAgICAgICAgcGFp
bnRJbmZvLmNvbnRleHQtPmNsZWFyU2hhZG93KCk7CisKKyAgICAgICAgICAgIGlmIChzZWxlY3Rp
b25TdHJva2VXaWR0aCA+IDApCisgICAgICAgICAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPnJl
c3RvcmUoKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8vIFBhaW50IGRlY29yYXRpb25zCisg
ICAgaWYgKGQgIT0gVEROT05FICYmIHBhaW50SW5mby5waGFzZSAhPSBQYWludFBoYXNlU2VsZWN0
aW9uKSB7CisgICAgICAgIC8vIElubGluZVRleHRCb3g6OnBhaW50LCBjaGVja3MgZm9yIGh0bWxI
YWNrcygpIGJlaW5nIGVuYWJsZWQgLSBvYmV5IHRoYXQuCisgICAgICAgIC8vIElubGluZVRleHRC
b3g6OnBhaW50LCBkb2Vzbid0IHNhdmUvcmVzdG9yZSBjb250ZXh0IGhlcmUsIG5lZWRlZCBmb3Ig
dXMhCisgICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5zYXZlKCk7CisgICAgICAgIHBhaW50SW5m
by5jb250ZXh0LT5zZXRTdHJva2VDb2xvcihzdHlsZVRvVXNlLT5jb2xvcigpKTsKKyAgICAgICAg
dGV4dEJveC0+cGFpbnREZWNvcmF0aW9uKHBhaW50SW5mby5jb250ZXh0LCB0eCwgdHksIGQpOwor
ICAgICAgICBwYWludEluZm8uY29udGV4dC0+cmVzdG9yZSgpOworICAgIH0KKworICAgIGlmIChw
YWludEluZm8ucGhhc2UgIT0gUGFpbnRQaGFzZVNlbGVjdGlvbikgeworICAgICAgICB0ZXh0Qm94
LT5wYWludERvY3VtZW50TWFya2VycyhwYWludEluZm8uY29udGV4dCwgdHgsIHR5LCBzdHlsZVRv
VXNlLCBmb250LCBmYWxzZSk7CisKKyAgICAgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRl
eCA8IG51bVVuZGVybGluZXM7ICsraW5kZXgpIHsKKyAgICAgICAgICAgIGNvbnN0IE1hcmtlZFRl
eHRVbmRlcmxpbmUmIHVuZGVybGluZSA9ICgqdW5kZXJsaW5lcylbaW5kZXhdOworCisgICAgICAg
ICAgICBpZiAodW5kZXJsaW5lLmVuZE9mZnNldCA8PSB0ZXh0Qm94LT5zdGFydCgpKQorICAgICAg
ICAgICAgICAgIC8vIHVuZGVybGluZSBpcyBjb21wbGV0ZWx5IGJlZm9yZSB0aGlzIHJ1bi4gIFRo
aXMgbWlnaHQgYmUgYW4gdW5kZXJsaW5lIHRoYXQgc2l0cworICAgICAgICAgICAgICAgIC8vIGJl
Zm9yZSB0aGUgZmlyc3QgcnVuIHdlIGRyYXcsIG9yIHVuZGVybGluZXMgdGhhdCB3ZXJlIHdpdGhp
biBydW5zIHdlIHNraXBwZWQgCisgICAgICAgICAgICAgICAgLy8gZHVlIHRvIHRydW5jYXRpb24u
CisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIGlmICh1bmRlcmxpbmUu
c3RhcnRPZmZzZXQgPD0gdGV4dEJveC0+ZW5kKCkpIHsKKyAgICAgICAgICAgICAgICAvLyB1bmRl
cmxpbmUgaW50ZXJzZWN0cyB0aGlzIHJ1bi4gIFBhaW50IGl0LgorICAgICAgICAgICAgICAgIHRl
eHRCb3gtPnBhaW50TWFya2VkVGV4dFVuZGVybGluZShwYWludEluZm8uY29udGV4dCwgdHgsIHR5
LCB1bmRlcmxpbmUpOworICAgICAgICAgICAgICAgIGlmICh1bmRlcmxpbmUuZW5kT2Zmc2V0ID4g
dGV4dEJveC0+ZW5kKCkgKyAxKQorICAgICAgICAgICAgICAgICAgICAvLyB1bmRlcmxpbmUgYWxz
byBydW5zIGludG8gdGhlIG5leHQgcnVuLiBCYWlsIG5vdywgbm8gbW9yZSBtYXJrZXIgYWR2YW5j
ZW1lbnQuCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfSBlbHNlCisg
ICAgICAgICAgICAgICAgLy8gdW5kZXJsaW5lIGlzIGNvbXBsZXRlbHkgYWZ0ZXIgdGhpcyBydW4s
IGJhaWwuICBBIGxhdGVyIHJ1biB3aWxsIHBhaW50IGl0LgorICAgICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKHNldFNoYWRvdykKKyAgICAgICAgcGFpbnRJ
bmZvLmNvbnRleHQtPmNsZWFyU2hhZG93KCk7CisKKyAgICBpZiAoIXN2Z0NoYXIudHJhbnNmb3Jt
LmlzSWRlbnRpdHkoKSkKKyAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPmNvbmNhdENUTShzdmdD
aGFyLnRyYW5zZm9ybS5pbnZlcnNlKCkpOworCisgICAgaWYgKHRleHRTdHJva2VXaWR0aCA+IDAp
CisgICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5yZXN0b3JlKCk7Cit9CisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCkluZGV4OiByZW5kZXJpbmcvUmVu
ZGVyU1ZHVGV4dFBhdGguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHJlbmRlcmluZy9SZW5kZXJTVkdUZXh0
UGF0aC5jcHAJKHJldmlzaW9uIDApCisrKyByZW5kZXJpbmcvUmVuZGVyU1ZHVGV4dFBhdGguY3Bw
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDkxIEBACisvKgorICogVGhpcyBmaWxlIGlzIHBhcnQg
b2YgdGhlIFdlYktpdCBwcm9qZWN0LgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwNyBOaWtvbGFz
IFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAq
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCisgKiBCb3N0b24s
IE1BIDAyMTExLTEzMDcsIFVTQS4KKyAqCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisj
aWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJSZW5kZXJTVkdUZXh0UGF0aC5oIgorCisjaW5jbHVk
ZSAiQWZmaW5lVHJhbnNmb3JtLmgiCisjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCisjaW5jbHVkZSAi
SW5saW5lRmxvd0JveC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlbmRlclNWR1RleHRQ
YXRoOjpSZW5kZXJTVkdUZXh0UGF0aChOb2RlKiBuKQorICAgIDogUmVuZGVyU1ZHSW5saW5lKG4p
CisgICAgLCBtX3N0YXJ0T2Zmc2V0KDAuMCkKKyAgICAsIG1fZXhhY3RBbGlnbm1lbnQodHJ1ZSkK
KyAgICAsIG1fc3RyZXRjaE1ldGhvZChmYWxzZSkKK3sKK30KKworUGF0aCBSZW5kZXJTVkdUZXh0
UGF0aDo6bGF5b3V0UGF0aCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fbGF5b3V0UGF0aDsKK30K
Kwordm9pZCBSZW5kZXJTVkdUZXh0UGF0aDo6YXNzaWduTGF5b3V0UGF0aChjb25zdCBQYXRoJiBw
YXRoKQoreworICAgIG1fbGF5b3V0UGF0aCA9IHBhdGg7Cit9CisKK2Zsb2F0IFJlbmRlclNWR1Rl
eHRQYXRoOjpzdGFydE9mZnNldCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc3RhcnRPZmZzZXQ7
Cit9CisKK3ZvaWQgUmVuZGVyU1ZHVGV4dFBhdGg6OnNldFN0YXJ0T2Zmc2V0KGZsb2F0IG9mZnNl
dCkKK3sKKyAgICBtX3N0YXJ0T2Zmc2V0ID0gb2Zmc2V0OworfQorCitib29sIFJlbmRlclNWR1Rl
eHRQYXRoOjpleGFjdEFsaWdubWVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZXhhY3RBbGln
bm1lbnQ7Cit9CisKK3ZvaWQgUmVuZGVyU1ZHVGV4dFBhdGg6OnNldEV4YWN0QWxpZ25tZW50KGJv
b2wgdmFsdWUpCit7CisgICAgbV9leGFjdEFsaWdubWVudCA9IHZhbHVlOworfQorCitib29sIFJl
bmRlclNWR1RleHRQYXRoOjpzdHJldGNoTWV0aG9kKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9z
dHJldGNoTWV0aG9kOworfQorCit2b2lkIFJlbmRlclNWR1RleHRQYXRoOjpzZXRTdHJldGNoTWV0
aG9kKGJvb2wgdmFsdWUpCit7CisgICAgbV9zdHJldGNoTWV0aG9kID0gdmFsdWU7Cit9CisKK3Zv
aWQgUmVuZGVyU1ZHVGV4dFBhdGg6OmFic29sdXRlUmVjdHMoVmVjdG9yPEludFJlY3Q+JiByZWN0
cywgaW50IHR4LCBpbnQgdHkpCit7CisgICAgSW5saW5lRmxvd0JveCogaW5pdEZsb3cgPSBmaXJz
dExpbmVCb3goKTsKKyAgICBGbG9hdFJlY3QgYm91bmRzKHR4ICsgaW5pdEZsb3ctPnhQb3MoKSwg
dHkgKyBpbml0Rmxvdy0+eVBvcygpLCB3aWR0aCgpLCBoZWlnaHQoKSk7CisgICAgcmVjdHMuYXBw
ZW5kKGVuY2xvc2luZ0ludFJlY3QoYWJzb2x1dGVUcmFuc2Zvcm0oKS5tYXBSZWN0KGJvdW5kcykp
KTsKK30KKworfQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykKSW5kZXg6IHJlbmRlcmluZy9SZW5k
ZXJUZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSByZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAJKHJldmlz
aW9uIDE5OTI2KQorKysgcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC04NTAsOSArODUwLDggQEAKICAgICAgICAgICAgICAgICAvLyBUaGVuLCBpdCB3aWxsIHN0cmlw
IG9mZiBhbGwgbGVhZGluZyBhbmQgdHJhaWxpbmcgc3BhY2UgY2hhcmFjdGVycy4KICAgICAgICAg
ICAgICAgICAvLyBUaGVuLCBhbGwgY29udGlndW91cyBzcGFjZSBjaGFyYWN0ZXJzIHdpbGwgYmUg
Y29uc29saWRhdGVkLiAgICAKIAotICAgICAgICAgICAgICAgIHN0YXRpYyBTdHJpbmdJbXBsIGVt
cHR5KCIiLCAwKTsKLSAgICAgICAgICAgICAgICBtX3RleHQgPSBtX3RleHQtPnJlcGxhY2UoJ1xu
JywgJmVtcHR5KTsKLSAgICAKKyAgICAgICAgICAgICAgICBtX3RleHQgPSBtX3RleHQtPnJlcGxh
Y2UoJ1xuJywgU3RyaW5nSW1wbDo6ZW1wdHkoKSk7CisKICAgICAgICAgICAgICAgICAvLyBJZiB4
bWw6c3BhY2U9ImRlZmF1bHQiIGlzIHNldCwgd2hpdGUtc3BhY2UgaXMgc2V0IHRvICJub3dyYXAi
LCB3aGljaCBoYW5kbGVzCiAgICAgICAgICAgICAgICAgLy8gbGVhZGluZywgdHJhaWxpbmcgJiBj
b250aWd1b3VzIHNwYWNlIGNoYXJhY3RlciByZW1vdmFsIGZvciB1cy4KICAgICAgICAgICAgIH0K
SW5kZXg6IHJlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSByZW5kZXJp
bmcvSW5saW5lVGV4dEJveC5jcHAJKHJldmlzaW9uIDE5OTI2KQorKysgcmVuZGVyaW5nL0lubGlu
ZVRleHRCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTYsNyArMTk2LDcgQEAKICAgICByZXR1
cm4gLTE7CiB9CiAKLXN0YXRpYyBDb2xvciBjb3JyZWN0ZWRUZXh0Q29sb3IoQ29sb3IgdGV4dENv
bG9yLCBDb2xvciBiYWNrZ3JvdW5kQ29sb3IpIAorQ29sb3IgY29ycmVjdGVkVGV4dENvbG9yKENv
bG9yIHRleHRDb2xvciwgQ29sb3IgYmFja2dyb3VuZENvbG9yKSAKIHsKICAgICAvLyBBZGp1c3Qg
dGhlIHRleHQgY29sb3IgaWYgaXQgaXMgdG9vIGNsb3NlIHRvIHRoZSBiYWNrZ3JvdW5kIGNvbG9y
LAogICAgIC8vIGJ5IGRhcmtlbmluZyBvciBsaWdodGVuaW5nIGl0IHRvIG1vdmUgaXQgZnVydGhl
ciBhd2F5LgpAQCAtMjE3LDcgKzIxNyw3IEBACiAgICAgcmV0dXJuIHRleHRDb2xvci5saWdodCgp
OwogfQogCi1zdGF0aWMgdm9pZCB1cGRhdGVHcmFwaGljc0NvbnRleHQoR3JhcGhpY3NDb250ZXh0
KiBjb250ZXh0LCBjb25zdCBDb2xvciYgZmlsbENvbG9yLCBjb25zdCBDb2xvciYgc3Ryb2tlQ29s
b3IsIGZsb2F0IHN0cm9rZVRoaWNrbmVzcykKK3ZvaWQgdXBkYXRlR3JhcGhpY3NDb250ZXh0KEdy
YXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgQ29sb3ImIGZpbGxDb2xvciwgY29uc3QgQ29s
b3ImIHN0cm9rZUNvbG9yLCBmbG9hdCBzdHJva2VUaGlja25lc3MpCiB7CiAgICAgaW50IG1vZGUg
PSBjb250ZXh0LT50ZXh0RHJhd2luZ01vZGUoKTsKICAgICBpZiAoc3Ryb2tlVGhpY2tuZXNzID4g
MCkgewpJbmRleDogcmVuZGVyaW5nL1JlbmRlclNWR1RleHRQYXRoLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
cmVuZGVyaW5nL1JlbmRlclNWR1RleHRQYXRoLmgJKHJldmlzaW9uIDApCisrKyByZW5kZXJpbmcv
UmVuZGVyU1ZHVGV4dFBhdGguaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAq
IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgcHJvamVjdC4KKyAqCisgKiBDb3B5cmln
aHQgKEMpIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKgor
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICog
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3Vp
dGUgMzMwLAorICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKgorICovCisKKyNpZm5k
ZWYgUmVuZGVyU1ZHVGV4dFBhdGhfaAorI2RlZmluZSBSZW5kZXJTVkdUZXh0UGF0aF9oCisKKyNp
ZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIlJlbmRlclNWR0lubGluZS5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKKyAgICBjbGFzcyBSZW5kZXJTVkdUZXh0UGF0aCA6IHB1YmxpYyBSZW5kZXJT
VkdJbmxpbmUgeworICAgIHB1YmxpYzoKKyAgICAgICAgUmVuZGVyU1ZHVGV4dFBhdGgoTm9kZSop
OworCisgICAgICAgIFBhdGggbGF5b3V0UGF0aCgpIGNvbnN0OworICAgICAgICB2b2lkIGFzc2ln
bkxheW91dFBhdGgoY29uc3QgUGF0aCYpOworCisgICAgICAgIGZsb2F0IHN0YXJ0T2Zmc2V0KCkg
Y29uc3Q7CisgICAgICAgIHZvaWQgc2V0U3RhcnRPZmZzZXQoZmxvYXQpOworCisgICAgICAgIGJv
b2wgZXhhY3RBbGlnbm1lbnQoKSBjb25zdDsKKyAgICAgICAgdm9pZCBzZXRFeGFjdEFsaWdubWVu
dChib29sKTsKKworICAgICAgICBib29sIHN0cmV0Y2hNZXRob2QoKSBjb25zdDsKKyAgICAgICAg
dm9pZCBzZXRTdHJldGNoTWV0aG9kKGJvb2wpOworCisgICAgICAgIHZpcnR1YWwgY29uc3QgY2hh
ciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5kZXJTVkdUZXh0UGF0aCI7IH0KKyAg
ICAgICAgdmlydHVhbCB2b2lkIGFic29sdXRlUmVjdHMoVmVjdG9yPEludFJlY3Q+JiByZWN0cywg
aW50IHR4LCBpbnQgdHkpOworCisgICAgcHJpdmF0ZToKKyAgICAgICAgZmxvYXQgbV9zdGFydE9m
ZnNldDsKKworICAgICAgICBib29sIG1fZXhhY3RBbGlnbm1lbnQgOiAxOworICAgICAgICBib29s
IG1fc3RyZXRjaE1ldGhvZCA6IDE7CisKKyAgICAgICAgUGF0aCBtX2xheW91dFBhdGg7CisgICAg
fTsKK30KKworI2VuZGlmIC8vIEVOQUJMRShTVkcpCisjZW5kaWYgLy8gUmVuZGVyU1ZHVGV4dFBh
dGhfaApJbmRleDogcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSByZW5k
ZXJpbmcvUm9vdElubGluZUJveC5oCShyZXZpc2lvbiAxOTkyNikKKysrIHJlbmRlcmluZy9Sb290
SW5saW5lQm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTcwLDYgKzcwLDEwIEBACiAKICAgICB2aXJ0
dWFsIHZvaWQgc2V0VmVydGljYWxTZWxlY3Rpb25Qb3NpdGlvbnMoaW50IHRvcCwgaW50IGJvdHRv
bSkgeyBtX3NlbGVjdGlvblRvcCA9IHRvcDsgbV9zZWxlY3Rpb25Cb3R0b20gPSBib3R0b207IH0K
IAorI2lmIEVOQUJMRShTVkcpCisgICAgdmlydHVhbCB2b2lkIGNvbXB1dGVQZXJDaGFyYWN0ZXJM
YXlvdXRJbmZvcm1hdGlvbigpIHsgfQorI2VuZGlmCisKICAgICBSZW5kZXJPYmplY3QqIGxpbmVC
cmVha09iaigpIGNvbnN0IHsgcmV0dXJuIG1fbGluZUJyZWFrT2JqOyB9CiAgICAgQmlkaVN0YXR1
cyBsaW5lQnJlYWtCaWRpU3RhdHVzKCkgY29uc3QgeyByZXR1cm4gbV9saW5lQnJlYWtCaWRpU3Rh
dHVzOyB9CiAgICAgQmlkaUNvbnRleHQqIGxpbmVCcmVha0JpZGlDb250ZXh0KCkgY29uc3QgeyBy
ZXR1cm4gbV9saW5lQnJlYWtDb250ZXh0LmdldCgpOyB9CkluZGV4OiByZW5kZXJpbmcvYmlkaS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gcmVuZGVyaW5nL2JpZGkuY3BwCShyZXZpc2lvbiAxOTkyNikKKysr
IHJlbmRlcmluZy9iaWRpLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTczNCw3ICsxNzM0LDEyIEBA
CiAgICAgICAgICAgICAgICAgICAgIGxpbmVCb3ggPSBjb25zdHJ1Y3RMaW5lKHN0YXJ0LCBlbmQp
OwogICAgICAgICAgICAgICAgICAgICBpZiAobGluZUJveCkgewogICAgICAgICAgICAgICAgICAg
ICAgICAgbGluZUJveC0+c2V0RW5kc1dpdGhCcmVhayhwcmV2aW91c0xpbmVCcm9rZUNsZWFubHkp
OwotICAgICAgICAgICAgICAgICAgICAgICAgCisKKyNpZiBFTkFCTEUoU1ZHKQorICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gU3BlY2lhbCBTVkcgdGV4dCBsYXlvdXQgY29kZQorICAgICAgICAg
ICAgICAgICAgICAgICAgbGluZUJveC0+Y29tcHV0ZVBlckNoYXJhY3RlckxheW91dEluZm9ybWF0
aW9uKCk7CisjZW5kaWYKKwogICAgICAgICAgICAgICAgICAgICAgICAgLy8gTm93IHdlIHBvc2l0
aW9uIGFsbCBvZiBvdXIgdGV4dCBydW5zIGhvcml6b250YWxseS4KICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbXB1dGVIb3Jpem9udGFsUG9zaXRpb25zRm9yTGluZShsaW5lQm94LCBiaWRpKTsK
ICAgICAgICAgCkluZGV4OiByZW5kZXJpbmcvU1ZHSW5saW5lRmxvd0JveC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIHJlbmRlcmluZy9TVkdJbmxpbmVGbG93Qm94LmgJKHJldmlzaW9uIDE5OTI2KQorKysgcmVu
ZGVyaW5nL1NWR0lubGluZUZsb3dCb3guaAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTAgKzMwLDYg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12b2lkIHBhaW50U1ZHSW5saW5lRmxvdyhJbmxp
bmVGbG93Qm94KiwgUmVuZGVyT2JqZWN0KiwgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBpbnQg
dHgsIGludCB0eSk7Ci1pbnQgcGxhY2VTVkdGbG93SG9yaXpvbnRhbGx5KElubGluZUZsb3dCb3gq
LCBpbnQgeCwgaW50JiBsZWZ0UG9zaXRpb24sIGludCYgcmlnaHRQb3NpdGlvbiwgYm9vbCYgbmVl
ZHNXb3JkU3BhY2luZyk7Ci12b2lkIHBsYWNlU1ZHRmxvd1ZlcnRpY2FsbHkoSW5saW5lRmxvd0Jv
eCosIGludCYgaGVpZ2h0T2ZCbG9jayk7Ci0KIGNsYXNzIFNWR0lubGluZUZsb3dCb3ggOiBwdWJs
aWMgSW5saW5lRmxvd0JveCB7CiBwdWJsaWM6CiAgICAgU1ZHSW5saW5lRmxvd0JveChSZW5kZXJP
YmplY3QqIG9iaikKSW5kZXg6IHJlbmRlcmluZy9TVkdJbmxpbmVGbG93Qm94LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSByZW5kZXJpbmcvU1ZHSW5saW5lRmxvd0JveC5jcHAJKHJldmlzaW9uIDE5OTI2KQor
KysgcmVuZGVyaW5nL1NWR0lubGluZUZsb3dCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zLDYg
KzMsNyBAQAogICoKICAqIENvcHlyaWdodCAoQykgMjAwNiBPbGl2ZXIgSHVudCA8b2poMTZAc3R1
ZGVudC5jYW50ZXJidXJ5LmFjLm56PgogICogICAgICAgICAgIChDKSAyMDA2IEFwcGxlIENvbXB1
dGVyIEluYy4KKyAqICAgICAgICAgICAoQykgMjAwNyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1l
cm1hbm5Aa2RlLm9yZz4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjYsMjc4ICsyNywyNCBAQAog
I2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZHSW5saW5lRmxvd0JveC5oIgogCi0jaW5jbHVk
ZSAiR3JhcGhpY3NDb250ZXh0LmgiCi0jaW5jbHVkZSAiSW5saW5lVGV4dEJveC5oIgotI2luY2x1
ZGUgIktDYW52YXNSZW5kZXJpbmdTdHlsZS5oIgotI2luY2x1ZGUgIlJvb3RJbmxpbmVCb3guaCIK
LSNpbmNsdWRlICJTVkdMZW5ndGhMaXN0LmgiCi0jaW5jbHVkZSAiU1ZHUGFpbnRTZXJ2ZXIuaCIK
LSNpbmNsdWRlICJTVkdSZXNvdXJjZUNsaXBwZXIuaCIKLSNpbmNsdWRlICJTVkdSZXNvdXJjZUZp
bHRlci5oIgotI2luY2x1ZGUgIlNWR1Jlc291cmNlTWFza2VyLmgiCi0jaW5jbHVkZSAiU1ZHVGV4
dFBvc2l0aW9uaW5nRWxlbWVudC5oIgotI2luY2x1ZGUgIlNWR1VSSVJlZmVyZW5jZS5oIgotCi11
c2luZyBzdGQ6Om1pbjsKLXVzaW5nIHN0ZDo6bWF4OwotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHZvaWQgU1ZHSW5saW5lRmxvd0JveDo6cGFpbnQoUmVuZGVyT2JqZWN0OjpQYWludEluZm8mIHBh
aW50SW5mbywgaW50IHR4LCBpbnQgdHkpCiB7Ci0gICAgcGFpbnRTVkdJbmxpbmVGbG93KHRoaXMs
IG9iamVjdCgpLCBwYWludEluZm8sIHR4LCB0eSk7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CiB9CiAKIGludCBTVkdJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVzSG9yaXpvbnRhbGx5KGludCB4
LCBpbnQmIGxlZnRQb3NpdGlvbiwgaW50JiByaWdodFBvc2l0aW9uLCBib29sJiBuZWVkc1dvcmRT
cGFjaW5nKQogewotICAgIHJldHVybiBwbGFjZVNWR0Zsb3dIb3Jpem9udGFsbHkodGhpcywgeCwg
bGVmdFBvc2l0aW9uLCByaWdodFBvc2l0aW9uLCBuZWVkc1dvcmRTcGFjaW5nKTsKKyAgICAvLyBu
by1vcAorICAgIHJldHVybiAwOwogfQogCiB2b2lkIFNWR0lubGluZUZsb3dCb3g6OnZlcnRpY2Fs
bHlBbGlnbkJveGVzKGludCYgaGVpZ2h0T2ZCbG9jaykKIHsKLSAgICBwbGFjZVNWR0Zsb3dWZXJ0
aWNhbGx5KHRoaXMsIGhlaWdodE9mQmxvY2spOworICAgIC8vIG5vLW9wCiB9CiAKLXZvaWQgcGFp
bnRTVkdJbmxpbmVGbG93KElubGluZUZsb3dCb3gqIGZsb3csIFJlbmRlck9iamVjdCogb2JqZWN0
LCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYgcGFpbnRJbmZvLCBpbnQgdHgsIGludCB0eSkKLXsK
LSAgICBpZiAocGFpbnRJbmZvLmNvbnRleHQtPnBhaW50aW5nRGlzYWJsZWQoKSkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgcGFpbnRJbmZvLmNvbnRleHQtPnNhdmUoKTsKLSAgICBwYWludEluZm8u
Y29udGV4dC0+Y29uY2F0Q1RNKG9iamVjdC0+bG9jYWxUcmFuc2Zvcm0oKSk7Ci0KLSAgICBGbG9h
dFJlY3QgYm91bmRpbmdCb3godHggKyBmbG93LT54UG9zKCksIHR5ICsgZmxvdy0+eVBvcygpLCBm
bG93LT53aWR0aCgpLCBmbG93LT5oZWlnaHQoKSk7Ci0KLSAgICBTVkdFbGVtZW50KiBzdmdFbGVt
ZW50ID0gc3RhdGljX2Nhc3Q8U1ZHRWxlbWVudCo+KG9iamVjdC0+ZWxlbWVudCgpKTsKLSAgICBB
U1NFUlQoc3ZnRWxlbWVudCAmJiBzdmdFbGVtZW50LT5kb2N1bWVudCgpICYmIHN2Z0VsZW1lbnQt
PmlzU3R5bGVkKCkpOwotCi0gICAgU1ZHU3R5bGVkRWxlbWVudCogc3R5bGVkRWxlbWVudCA9IHN0
YXRpY19jYXN0PFNWR1N0eWxlZEVsZW1lbnQqPihzdmdFbGVtZW50KTsKLSAgICBjb25zdCBTVkdS
ZW5kZXJTdHlsZSogc3ZnU3R5bGUgPSBvYmplY3QtPnN0eWxlKCktPnN2Z1N0eWxlKCk7Ci0KLSAg
ICBBdG9taWNTdHJpbmcgZmlsdGVySWQoU1ZHVVJJUmVmZXJlbmNlOjpnZXRUYXJnZXQoc3ZnU3R5
bGUtPmZpbHRlcigpKSk7Ci0gICAgQXRvbWljU3RyaW5nIGNsaXBwZXJJZChTVkdVUklSZWZlcmVu
Y2U6OmdldFRhcmdldChzdmdTdHlsZS0+Y2xpcFBhdGgoKSkpOwotICAgIEF0b21pY1N0cmluZyBt
YXNrZXJJZChTVkdVUklSZWZlcmVuY2U6OmdldFRhcmdldChzdmdTdHlsZS0+bWFza0VsZW1lbnQo
KSkpOwotCi0jaWYgRU5BQkxFKFNWR19FWFBFUklNRU5UQUxfRkVBVFVSRVMpCi0gICAgU1ZHUmVz
b3VyY2VGaWx0ZXIqIGZpbHRlciA9IGdldEZpbHRlckJ5SWQob2JqZWN0LT5kb2N1bWVudCgpLCBm
aWx0ZXJJZCk7Ci0jZW5kaWYKLSAgICBTVkdSZXNvdXJjZUNsaXBwZXIqIGNsaXBwZXIgPSBnZXRD
bGlwcGVyQnlJZChvYmplY3QtPmRvY3VtZW50KCksIGNsaXBwZXJJZCk7Ci0gICAgU1ZHUmVzb3Vy
Y2VNYXNrZXIqIG1hc2tlciA9IGdldE1hc2tlckJ5SWQob2JqZWN0LT5kb2N1bWVudCgpLCBtYXNr
ZXJJZCk7Ci0KLSNpZiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykKLSAgICBpZiAo
ZmlsdGVyKQotICAgICAgICBmaWx0ZXItPnByZXBhcmVGaWx0ZXIocGFpbnRJbmZvLmNvbnRleHQs
IGJvdW5kaW5nQm94KTsKLSAgICBlbHNlIGlmICghZmlsdGVySWQuaXNFbXB0eSgpKQotICAgICAg
ICBzdmdFbGVtZW50LT5kb2N1bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25zKCktPmFkZFBlbmRp
bmdSZXNvdXJjZShmaWx0ZXJJZCwgc3R5bGVkRWxlbWVudCk7Ci0jZW5kaWYKLQotICAgIGlmIChj
bGlwcGVyKSB7Ci0gICAgICAgIGNsaXBwZXItPmFkZENsaWVudChzdHlsZWRFbGVtZW50KTsKLSAg
ICAgICAgY2xpcHBlci0+YXBwbHlDbGlwKHBhaW50SW5mby5jb250ZXh0LCBib3VuZGluZ0JveCk7
Ci0gICAgfSBlbHNlIGlmICghY2xpcHBlcklkLmlzRW1wdHkoKSkKLSAgICAgICAgc3ZnRWxlbWVu
dC0+ZG9jdW1lbnQoKS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpLT5hZGRQZW5kaW5nUmVzb3VyY2Uo
Y2xpcHBlcklkLCBzdHlsZWRFbGVtZW50KTsKLQotICAgIGlmIChtYXNrZXIpIHsKLSAgICAgICAg
bWFza2VyLT5hZGRDbGllbnQoc3R5bGVkRWxlbWVudCk7Ci0gICAgICAgIG1hc2tlci0+YXBwbHlN
YXNrKHBhaW50SW5mby5jb250ZXh0LCBib3VuZGluZ0JveCk7Ci0gICAgfSBlbHNlIGlmICghbWFz
a2VySWQuaXNFbXB0eSgpKQotICAgICAgICBzdmdFbGVtZW50LT5kb2N1bWVudCgpLT5hY2Nlc3NT
VkdFeHRlbnNpb25zKCktPmFkZFBlbmRpbmdSZXNvdXJjZShtYXNrZXJJZCwgc3R5bGVkRWxlbWVu
dCk7Ci0KLSAgICBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyBwaShwYWludEluZm8pOwotCi0gICAg
aWYgKCFmbG93LT5pc1Jvb3RJbmxpbmVCb3goKSkKLSAgICAgICAgcGkucmVjdCA9IChvYmplY3Qt
PmxvY2FsVHJhbnNmb3JtKCkpLmludmVyc2UoKS5tYXBSZWN0KHBpLnJlY3QpOwotCi0gICAgZmxv
YXQgb3BhY2l0eSA9IG9iamVjdC0+c3R5bGUoKS0+b3BhY2l0eSgpOwotICAgIGlmIChvcGFjaXR5
IDwgMS4wZikgewotICAgICAgICBwYWludEluZm8uY29udGV4dC0+Y2xpcChlbmNsb3NpbmdJbnRS
ZWN0KGJvdW5kaW5nQm94KSk7Ci0gICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5iZWdpblRyYW5z
cGFyZW5jeUxheWVyKG9wYWNpdHkpOwotICAgIH0KLQotICAgIFNWR1BhaW50U2VydmVyKiBmaWxs
UGFpbnRTZXJ2ZXIgPSBLU1ZHUGFpbnRlckZhY3Rvcnk6OmZpbGxQYWludFNlcnZlcihvYmplY3Qt
PnN0eWxlKCksIG9iamVjdCk7Ci0gICAgaWYgKGZpbGxQYWludFNlcnZlcikgewotICAgICAgICBp
ZiAoZmlsbFBhaW50U2VydmVyLT5zZXR1cChwaS5jb250ZXh0LCBvYmplY3QsIEFwcGx5VG9GaWxs
VGFyZ2V0VHlwZSwgdHJ1ZSkpIHsKLSAgICAgICAgICAgIGZsb3ctPklubGluZUZsb3dCb3g6OnBh
aW50KHBpLCB0eCwgdHkpOwotICAgICAgICAgICAgZmlsbFBhaW50U2VydmVyLT50ZWFyZG93bihw
aS5jb250ZXh0LCBvYmplY3QsIEFwcGx5VG9GaWxsVGFyZ2V0VHlwZSwgdHJ1ZSk7Ci0gICAgICAg
IH0KLSAgICB9Ci0KLSAgICBTVkdQYWludFNlcnZlciogc3Ryb2tlUGFpbnRTZXJ2ZXIgPSBLU1ZH
UGFpbnRlckZhY3Rvcnk6OnN0cm9rZVBhaW50U2VydmVyKG9iamVjdC0+c3R5bGUoKSwgb2JqZWN0
KTsKLSAgICBpZiAoc3Ryb2tlUGFpbnRTZXJ2ZXIpIHsKLSAgICAgICAgaWYgKHN0cm9rZVBhaW50
U2VydmVyLT5zZXR1cChwaS5jb250ZXh0LCBvYmplY3QsIEFwcGx5VG9TdHJva2VUYXJnZXRUeXBl
LCB0cnVlKSkgewotICAgICAgICAgICAgZmxvdy0+SW5saW5lRmxvd0JveDo6cGFpbnQocGksIHR4
LCB0eSk7Ci0gICAgICAgICAgICBzdHJva2VQYWludFNlcnZlci0+dGVhcmRvd24ocGkuY29udGV4
dCwgb2JqZWN0LCBBcHBseVRvU3Ryb2tlVGFyZ2V0VHlwZSwgdHJ1ZSk7Ci0gICAgICAgIH0KLSAg
ICB9Ci0KLSNpZiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykKLSAgICBpZiAoZmls
dGVyKQotICAgICAgICBmaWx0ZXItPmFwcGx5RmlsdGVyKHBhaW50SW5mby5jb250ZXh0LCBib3Vu
ZGluZ0JveCk7Ci0jZW5kaWYKLQotICAgIGlmIChvcGFjaXR5IDwgMS4wZikKLSAgICAgICAgcGFp
bnRJbmZvLmNvbnRleHQtPmVuZFRyYW5zcGFyZW5jeUxheWVyKCk7Ci0KLSAgICBwYWludEluZm8u
Y29udGV4dC0+cmVzdG9yZSgpOwotfQotCi1zdGF0aWMgYm9vbCB0cmFuc2xhdGVCb3goSW5saW5l
Qm94KiBib3gsIGludCB4LCBpbnQgeSwgYm9vbCB0b3BMZXZlbCkKLXsKLSAgICBpZiAoYm94LT5v
YmplY3QoKS0+aXNUZXh0KCkpIHsKLSAgICAgICAgYm94LT5zZXRYUG9zKGJveC0+eFBvcygpICsg
eCk7Ci0gICAgICAgIGJveC0+c2V0WVBvcyhib3gtPnlQb3MoKSArIHkpOwotICAgIH0gZWxzZSB7
Ci0gICAgICAgIElubGluZUZsb3dCb3gqIGZsb3cgPSBzdGF0aWNfY2FzdDxJbmxpbmVGbG93Qm94
Kj4oYm94KTsKLSAgICAgICAgU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCogdGV4dCA9IHN0YXRp
Y19jYXN0PFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQqPihib3gtPm9iamVjdCgpLT5lbGVtZW50
KCkpOwotCi0gICAgICAgIGlmICh0b3BMZXZlbCB8fCAhKHRleHQtPngoKS0+Z2V0Rmlyc3QoKS52
YWx1ZSgpIHx8IHRleHQtPnkoKS0+Z2V0Rmlyc3QoKS52YWx1ZSgpIHx8Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgIHRleHQtPmR4KCktPmdldEZpcnN0KCkudmFsdWUoKSB8fCB0ZXh0LT5keSgp
LT5nZXRGaXJzdCgpLnZhbHVlKCkpKSB7Ci0gICAgICAgICAgICBib3gtPnNldFhQb3MoYm94LT54
UG9zKCkgKyB4KTsKLSAgICAgICAgICAgIGJveC0+c2V0WVBvcyhib3gtPnlQb3MoKSArIHkpOwot
ICAgICAgICAgICAgZm9yIChJbmxpbmVCb3gqIGN1cnIgPSBmbG93LT5maXJzdENoaWxkKCk7IGN1
cnI7IGN1cnIgPSBjdXJyLT5uZXh0T25MaW5lKCkpIHsKLSAgICAgICAgICAgICAgICBpZiAoIXRy
YW5zbGF0ZUJveChjdXJyLCB4LCB5LCBmYWxzZSkpCi0gICAgICAgICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gdHJ1
ZTsKLX0KLQotc3RhdGljIGludCBwbGFjZVBvc2l0aW9uZWRCb3hlc0hvcml6b250YWxseShJbmxp
bmVGbG93Qm94KiBmbG93LCBpbnQgeCwgaW50JiBsZWZ0UG9zaXRpb24sIGludCYgcmlnaHRQb3Np
dGlvbiwgaW50JiBsZWZ0QWxpZ24sIGludCYgcmlnaHRBbGlnbiwgYm9vbCYgbmVlZHNXb3JkU3Bh
Y2luZywgaW50IHhQb3MsIGJvb2wgcG9zaXRpb25lZCkKLXsKLSAgICBpbnQgbW4gPSBJTlRfTUFY
OwotICAgIGludCBteCA9IElOVF9NSU47Ci0gICAgaW50IGFtbiA9IElOVF9NQVg7Ci0gICAgaW50
IGFteCA9IElOVF9NSU47Ci0gICAgaW50IHN0YXJ0eCA9IHg7Ci0gICAgYm9vbCBzZWVuUG9zaXRp
b25lZEVsZW1lbnQgPSBmYWxzZTsKLSAgICBmbG93LT5zZXRYUG9zKHgpOwotICAgIGZvciAoSW5s
aW5lQm94KiBjdXJyID0gZmxvdy0+Zmlyc3RDaGlsZCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4
dE9uTGluZSgpKSB7Ci0gICAgICAgIGlmIChjdXJyLT5vYmplY3QoKS0+aXNUZXh0KCkpIHsKLSAg
ICAgICAgICAgIG1uID0gbWluKG1uLCB4KTsKLSAgICAgICAgICAgIGFtbiA9IG1pbihhbW4sIHgp
OwotICAgICAgICAgICAgSW5saW5lVGV4dEJveCogdGV4dCA9IHN0YXRpY19jYXN0PElubGluZVRl
eHRCb3gqPihjdXJyKTsKLSAgICAgICAgICAgIFJlbmRlclRleHQqIHJ0ID0gc3RhdGljX2Nhc3Q8
UmVuZGVyVGV4dCo+KHRleHQtPm9iamVjdCgpKTsKLSAgICAgICAgICAgIGlmIChydC0+dGV4dExl
bmd0aCgpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKG5lZWRzV29yZFNwYWNpbmcgJiYgRGVwcmVj
YXRlZENoYXIocnQtPmNoYXJhY3RlcnMoKVt0ZXh0LT5zdGFydCgpXSkuaXNTcGFjZSgpKQotICAg
ICAgICAgICAgICAgICAgICB4ICs9IHJ0LT5zdHlsZShmbG93LT5pc0ZpcnN0TGluZVN0eWxlKCkp
LT5mb250KCkud29yZFNwYWNpbmcoKTsKLSAgICAgICAgICAgICAgICBuZWVkc1dvcmRTcGFjaW5n
ID0gIURlcHJlY2F0ZWRDaGFyKHJ0LT5jaGFyYWN0ZXJzKClbdGV4dC0+ZW5kKCldKS5pc1NwYWNl
KCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICB0ZXh0LT5zZXRYUG9zKHgpOwotICAgICAg
ICAgICAgeCArPSB0ZXh0LT53aWR0aCgpOwotICAgICAgICAgICAgbXggPSBtYXgobXgsIHgpOwot
ICAgICAgICAgICAgYW14ID0gbWF4KGFteCwgeCk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICBBU1NFUlQoY3Vyci0+b2JqZWN0KCktPmlzSW5saW5lRmxvdygpKTsKLSAgICAgICAgICAg
IElubGluZUZsb3dCb3gqIGZsb3cgPSBzdGF0aWNfY2FzdDxJbmxpbmVGbG93Qm94Kj4oY3Vycik7
Ci0gICAgICAgICAgICBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50KiB0ZXh0ID0gc3RhdGljX2Nh
c3Q8U1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCo+KGZsb3ctPm9iamVjdCgpLT5lbGVtZW50KCkp
OwotICAgICAgICAgICAgeCArPSAoaW50KSh0ZXh0LT5keCgpLT5nZXRGaXJzdCgpLnZhbHVlKCkp
OwotICAgICAgICAgICAgaWYgKHRleHQtPngoKS0+bnVtYmVyT2ZJdGVtcygpID4gMCkKLSAgICAg
ICAgICAgICAgICB4ID0gKGludCkodGV4dC0+eCgpLT5nZXRGaXJzdCgpLnZhbHVlKCkgLSB4UG9z
KTsKLSAgICAgICAgICAgIGlmICh0ZXh0LT54KCktPm51bWJlck9mSXRlbXMoKSA+IDAgfHwgdGV4
dC0+eSgpLT5udW1iZXJPZkl0ZW1zKCkgPiAwIHx8Ci0gICAgICAgICAgICAgICAgdGV4dC0+ZHgo
KS0+bnVtYmVyT2ZJdGVtcygpID4gMCB8fCB0ZXh0LT5keSgpLT5udW1iZXJPZkl0ZW1zKCkgPiAw
KSB7Ci0gICAgICAgICAgICAgICAgc2VlblBvc2l0aW9uZWRFbGVtZW50ID0gdHJ1ZTsKLSAgICAg
ICAgICAgICAgICBuZWVkc1dvcmRTcGFjaW5nID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgaW50
IGlnbm9yZVgsIGlnbm9yZVk7Ci0gICAgICAgICAgICAgICAgeCA9IHBsYWNlUG9zaXRpb25lZEJv
eGVzSG9yaXpvbnRhbGx5KGZsb3csIHgsIG1uLCBteCwgaWdub3JlWCwgaWdub3JlWSwgbmVlZHNX
b3JkU3BhY2luZywgeFBvcywgdHJ1ZSk7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKHNlZW5Qb3Np
dGlvbmVkRWxlbWVudCkgewotICAgICAgICAgICAgICAgIGludCBpZ25vcmVYLCBpZ25vcmVZOwot
ICAgICAgICAgICAgICAgIHggPSBwbGFjZVBvc2l0aW9uZWRCb3hlc0hvcml6b250YWxseShmbG93
LCB4LCBtbiwgbXgsIGlnbm9yZVgsIGlnbm9yZVksIG5lZWRzV29yZFNwYWNpbmcsIHhQb3MsIGZh
bHNlKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHggPSBwbGFjZVBvc2l0
aW9uZWRCb3hlc0hvcml6b250YWxseShmbG93LCB4LCBtbiwgbXgsIGFtbiwgYW14LCBuZWVkc1dv
cmRTcGFjaW5nLCB4UG9zLCBmYWxzZSk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAobW4g
PiBteCkKLSAgICAgICAgbW4gPSBteCA9IHN0YXJ0eDsKLSAgICBpZiAoYW1uID4gYW14KQotICAg
ICAgICBhbW4gPSBhbXggPSBzdGFydHg7Ci0KLSAgICBpbnQgd2lkdGggPSBteCAtIG1uOwotICAg
IGZsb3ctPnNldFdpZHRoKHdpZHRoKTsKLQotICAgIGludCBhd2lkdGggPSBhbXggLSBhbW47Ci0g
ICAgaW50IGR4ID0gMDsKLSAgICBpZiAocG9zaXRpb25lZCkgewotICAgICAgICBzd2l0Y2ggKGZs
b3ctPm9iamVjdCgpLT5zdHlsZSgpLT5zdmdTdHlsZSgpLT50ZXh0QW5jaG9yKCkpIHsKLSAgICAg
ICAgICAgIGNhc2UgVEFfTUlERExFOgotICAgICAgICAgICAgICAgIHRyYW5zbGF0ZUJveChmbG93
LCBkeCA9IC1hd2lkdGggLyAyLCAwLCB0cnVlKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgIGNhc2UgVEFfRU5EOgotICAgICAgICAgICAgICAgIHRyYW5zbGF0ZUJveChmbG93
LCBkeCA9IC1hd2lkdGgsIDAsIHRydWUpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICAgICAgY2FzZSBUQV9TVEFSVDoKLSAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAoZHgpIHsKLSAgICAgICAgICAgIHgg
Kz0gZHg7Ci0gICAgICAgICAgICBtbiArPSBkeDsKLSAgICAgICAgICAgIG14ICs9IGR4OwotICAg
ICAgICB9Ci0gICAgfQotCi0gICAgbGVmdFBvc2l0aW9uID0gbWluKGxlZnRQb3NpdGlvbiwgbW4p
OwotICAgIHJpZ2h0UG9zaXRpb24gPSBtYXgocmlnaHRQb3NpdGlvbiwgbXgpOwotICAgIGxlZnRB
bGlnbiA9IG1pbihsZWZ0QWxpZ24sIGFtbik7Ci0gICAgcmlnaHRBbGlnbiA9IG1heChyaWdodEFs
aWduLCBhbXgpOwotCi0gICAgcmV0dXJuIHg7Ci19Ci0KLWludCBwbGFjZVNWR0Zsb3dIb3Jpem9u
dGFsbHkoSW5saW5lRmxvd0JveCogZmxvdywgaW50IHgsIGludCYgbGVmdFBvc2l0aW9uLCBpbnQm
IHJpZ2h0UG9zaXRpb24sIGJvb2wmIG5lZWRzV29yZFNwYWNpbmcpCi17Ci0gICAgaW50IGlnbm9y
ZVgsIGlnbm9yZVk7Ci0gICAgeCA9IHBsYWNlUG9zaXRpb25lZEJveGVzSG9yaXpvbnRhbGx5KGZs
b3csIHgsIGxlZnRQb3NpdGlvbiwgcmlnaHRQb3NpdGlvbiwgaWdub3JlWCwgaWdub3JlWSwgbmVl
ZHNXb3JkU3BhY2luZywgZmxvdy0+b2JqZWN0KCktPnhQb3MoKSwgdHJ1ZSk7Ci0gICAgbmVlZHNX
b3JkU3BhY2luZyA9IGZhbHNlOwotICAgIHJldHVybiB4OwotfQotCi1zdGF0aWMgdm9pZCBwbGFj
ZUJveGVzVmVydGljYWxseVdpdGhBYnNCYXNlbGluZShJbmxpbmVGbG93Qm94KiBmbG93LCBpbnQm
IGhlaWdodE9mQmxvY2ssIGludCYgbWluWSwgaW50JiBtYXhZLCBpbnQmIGJhc2VsaW5lLCBpbnQg
eVBvcykKLXsKLSAgICBmb3IgKElubGluZUJveCogY3VyciA9IGZsb3ctPmZpcnN0Q2hpbGQoKTsg
Y3VycjsgY3VyciA9IGN1cnItPm5leHRPbkxpbmUoKSkgewotICAgICAgICBpZiAoY3Vyci0+aXNJ
bmxpbmVGbG93Qm94KCkpIHsKLSAgICAgICAgICAgIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQq
IHRleHQgPSBzdGF0aWNfY2FzdDxTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50Kj4oY3Vyci0+b2Jq
ZWN0KCktPmVsZW1lbnQoKSk7Ci0gICAgICAgICAgICBiYXNlbGluZSArPSAoaW50KSh0ZXh0LT5k
eSgpLT5nZXRGaXJzdCgpLnZhbHVlKCkpOwotCi0gICAgICAgICAgICBpZiAodGV4dC0+eSgpLT5u
dW1iZXJPZkl0ZW1zKCkgPiAwKQotICAgICAgICAgICAgICAgIGJhc2VsaW5lID0gKGludCkodGV4
dC0+eSgpLT5nZXRGaXJzdCgpLnZhbHVlKCkgLSB5UG9zKTsKLQotICAgICAgICAgICAgcGxhY2VC
b3hlc1ZlcnRpY2FsbHlXaXRoQWJzQmFzZWxpbmUoc3RhdGljX2Nhc3Q8SW5saW5lRmxvd0JveCo+
KGN1cnIpLCBoZWlnaHRPZkJsb2NrLCBtaW5ZLCBtYXhZLCBiYXNlbGluZSwgeVBvcyk7Ci0gICAg
ICAgIH0KLSAgICAgICAgY29uc3QgRm9udCYgZm9udCA9IGN1cnItPm9iamVjdCgpLT5maXJzdExp
bmVTdHlsZSgpLT5mb250KCk7IC8vIEZJWE1FOiBJcyBpdCByaWdodCB0byBhbHdheXMgdXNlIGZp
cnN0TGluZVN0eWxlIGhlcmU/Ci0gICAgICAgIGludCBhc2NlbnQgPSBmb250LmFzY2VudCgpOwot
ICAgICAgICBpbnQgcG9zaXRpb24gPSBiYXNlbGluZSAtIGFzY2VudDsKLSAgICAgICAgaW50IGhl
aWdodCA9IGFzY2VudCArIGZvbnQuZGVzY2VudCgpOwotICAgICAgICBjdXJyLT5zZXRCYXNlbGlu
ZShhc2NlbnQpOwotICAgICAgICBjdXJyLT5zZXRZUG9zKHBvc2l0aW9uKTsKLSAgICAgICAgY3Vy
ci0+c2V0SGVpZ2h0KGhlaWdodCk7Ci0KLSAgICAgICAgaWYgKHBvc2l0aW9uIDwgbWluWSkKLSAg
ICAgICAgICAgIG1pblkgPSBwb3NpdGlvbjsKLSAgICAgICAgaWYgKHBvc2l0aW9uICsgaGVpZ2h0
ID4gbWF4WSkKLSAgICAgICAgICAgIG1heFkgPSBwb3NpdGlvbiArIGhlaWdodDsKLSAgICB9Ci0K
LSAgICBpZiAoZmxvdy0+aXNSb290SW5saW5lQm94KCkpIHsKLSAgICAgICAgZmxvdy0+c2V0WVBv
cyhtaW5ZKTsKLSAgICAgICAgZmxvdy0+c2V0SGVpZ2h0KG1heFkgLSBtaW5ZKTsKLSAgICAgICAg
Zmxvdy0+c2V0QmFzZWxpbmUoYmFzZWxpbmUgLSBtaW5ZKTsKLSAgICAgICAgaGVpZ2h0T2ZCbG9j
ayArPSBtYXhZIC0gbWluWTsKLSAgICB9Ci19Ci0KLXZvaWQgcGxhY2VTVkdGbG93VmVydGljYWxs
eShJbmxpbmVGbG93Qm94KiBmbG93LCBpbnQmIGhlaWdodE9mQmxvY2spCi17Ci0gICAgaW50IHRv
cCA9IElOVF9NQVg7Ci0gICAgaW50IGJvdHRvbSA9IElOVF9NSU47Ci0gICAgaW50IGJhc2VsaW5l
ID0gaGVpZ2h0T2ZCbG9jazsKLSAgICBwbGFjZUJveGVzVmVydGljYWxseVdpdGhBYnNCYXNlbGlu
ZShmbG93LCBoZWlnaHRPZkJsb2NrLCB0b3AsIGJvdHRvbSwgYmFzZWxpbmUsIGZsb3ctPm9iamVj
dCgpLT55UG9zKCkpOwotICAgIGZsb3ctPnNldFZlcnRpY2FsT3ZlcmZsb3dQb3NpdGlvbnModG9w
LCBib3R0b20pOwotICAgIGZsb3ctPnNldFZlcnRpY2FsU2VsZWN0aW9uUG9zaXRpb25zKHRvcCwg
Ym90dG9tKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxF
KFNWRykKSW5kZXg6IHJlbmRlcmluZy9TVkdDaGFyYWN0ZXJMYXlvdXRJbmZvLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSByZW5kZXJpbmcvU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mby5jcHAJKHJldmlzaW9uIDAp
CisrKyByZW5kZXJpbmcvU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mby5jcHAJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsNDc1IEBACisvKgorICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdlYktpdCBw
cm9qZWN0LgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwNyBOaWtvbGFzIFppbW1lcm1hbm4gPHpp
bW1lcm1hbm5Aa2RlLm9yZz4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9u
IDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCisgKiBCb3N0b24sIE1BIDAyMTExLTEzMDcs
IFVTQS4KKyAqCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKFNWRykK
KyNpbmNsdWRlICJTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvLmgiCisKKyNpbmNsdWRlICJJbmxpbmVG
bG93Qm94LmgiCisjaW5jbHVkZSAiSW5saW5lVGV4dEJveC5oIgorI2luY2x1ZGUgIlNWR0xlbmd0
aExpc3QuaCIKKyNpbmNsdWRlICJTVkdOdW1iZXJMaXN0LmgiCisjaW5jbHVkZSAiU1ZHVGV4dFBv
c2l0aW9uaW5nRWxlbWVudC5oIgorI2luY2x1ZGUgIlJlbmRlclNWR1RleHRQYXRoLmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworLy8gSGVscGVyIGZ1bmN0aW9uCitzdGF0aWMgZmxvYXQgY2Fs
Y3VsYXRlQmFzZWxpbmVTaGlmdChjb25zdCBGb250JiBmb250LCBjb25zdCBTVkdSZW5kZXJTdHls
ZSogc3R5bGUpCit7CisgICAgZmxvYXQgYmFzZWxpbmVTaGlmdCA9IDAuMDsKKyAgICBpZiAoc3R5
bGUtPmJhc2VsaW5lU2hpZnRNb2RlKCkgPT0gQlNfVkFMVUUpCisgICAgICAgIGJhc2VsaW5lU2hp
ZnQgPSBzdHlsZS0+YmFzZWxpbmVTaGlmdCgpOworICAgIGVsc2UgaWYgKHN0eWxlLT5iYXNlbGlu
ZVNoaWZ0TW9kZSgpID09IEJTX1BFUkNFTlRBR0UpIHsKKyAgICAgICAgYmFzZWxpbmVTaGlmdCA9
IHN0eWxlLT5iYXNlbGluZVNoaWZ0KCk7CisgICAgICAgIGJhc2VsaW5lU2hpZnQgKj0gZm9udC5w
aXhlbFNpemUoKTsKKyAgICB9IGVsc2UgeworICAgICAgICAvLyBGSVhNRTogZm9yIHZlcnRpY2Fs
IHRleHQgd2UgcHJvYmFibHkgbmVlZCB0aGUgZ2x5cGggbWV0cmljcy4KKyAgICAgICAgZmxvYXQg
YmFzZWxpbmVBc2NlbnQgPSBmb250LmFzY2VudCgpICsgZm9udC5kZXNjZW50KCk7CisKKyAgICAg
ICAgc3dpdGNoIChzdHlsZS0+YmFzZWxpbmVTaGlmdE1vZGUoKSkgeworICAgICAgICBjYXNlIEJT
X0JBU0VMSU5FOgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQlNfU1VCOgorICAg
ICAgICAgICAgYmFzZWxpbmVTaGlmdCA9IC1iYXNlbGluZUFzY2VudCAvIDIuMDsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjYXNlIEJTX1NVUEVSOgorICAgICAgICAgICAgYmFzZWxpbmVT
aGlmdCA9IGJhc2VsaW5lQXNjZW50IC8gMi4wOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IGRlZmF1bHQ6CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgfQor
ICAgIH0KKworICAgIHJldHVybiBiYXNlbGluZVNoaWZ0OworfQorCitTVkdDaGFyYWN0ZXJMYXlv
dXRJbmZvOjpTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvKCkKKyAgICA6IGN1cngoMC4wKQorICAgICwg
Y3VyeSgwLjApCisgICAgLCBzaGlmdHgoMC4wKQorICAgICwgc2hpZnR5KDAuMCkKKyAgICAsIGlu
UGF0aExheW91dChmYWxzZSkKKyAgICAsIHhTdGFja0NoYW5nZWQoZmFsc2UpCisgICAgLCB5U3Rh
Y2tDaGFuZ2VkKGZhbHNlKQorICAgICwgZHhTdGFja0NoYW5nZWQoZmFsc2UpCisgICAgLCBkeVN0
YWNrQ2hhbmdlZChmYWxzZSkKKyAgICAsIGFuZ2xlU3RhY2tDaGFuZ2VkKGZhbHNlKQorICAgICwg
YmFzZWxpbmVTaGlmdFN0YWNrQ2hhbmdlZChmYWxzZSkKKyAgICAsIGN1cnJlbnRPZmZzZXQoMC4w
KQorICAgICwgc3RhcnRPZmZzZXQoMC4wKQorICAgICwgbGF5b3V0UGF0aExlbmd0aCgwLjApCit7
Cit9CisKK2Jvb2wgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6eFZhbHVlQXZhaWxhYmxlKCkgY29u
c3QKK3sKKyAgICByZXR1cm4geFN0YWNrLmlzRW1wdHkoKSA/IGZhbHNlIDogeFN0YWNrLmxhc3Qo
KS5wb3NpdGlvbigpIDwgeFN0YWNrLmxhc3QoKS5zaXplKCk7Cit9CisKK2Jvb2wgU1ZHQ2hhcmFj
dGVyTGF5b3V0SW5mbzo6eVZhbHVlQXZhaWxhYmxlKCkgY29uc3QKK3sKKyAgICByZXR1cm4geVN0
YWNrLmlzRW1wdHkoKSA/IGZhbHNlIDogeVN0YWNrLmxhc3QoKS5wb3NpdGlvbigpIDwgeVN0YWNr
Lmxhc3QoKS5zaXplKCk7Cit9CisKK2Jvb2wgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6ZHhWYWx1
ZUF2YWlsYWJsZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGR4U3RhY2suaXNFbXB0eSgpID8gZmFs
c2UgOiBkeFN0YWNrLmxhc3QoKS5wb3NpdGlvbigpIDwgZHhTdGFjay5sYXN0KCkuc2l6ZSgpOwor
fQorCitib29sIFNWR0NoYXJhY3RlckxheW91dEluZm86OmR5VmFsdWVBdmFpbGFibGUoKSBjb25z
dAoreworICAgIHJldHVybiBkeVN0YWNrLmlzRW1wdHkoKSA/IGZhbHNlIDogZHlTdGFjay5sYXN0
KCkucG9zaXRpb24oKSA8IGR5U3RhY2subGFzdCgpLnNpemUoKTsKK30KKworYm9vbCBTVkdDaGFy
YWN0ZXJMYXlvdXRJbmZvOjphbmdsZVZhbHVlQXZhaWxhYmxlKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gYW5nbGVTdGFjay5pc0VtcHR5KCkgPyBmYWxzZSA6IGFuZ2xlU3RhY2subGFzdCgpLnBvc2l0
aW9uKCkgPCBhbmdsZVN0YWNrLmxhc3QoKS5zaXplKCk7Cit9CisKK2Jvb2wgU1ZHQ2hhcmFjdGVy
TGF5b3V0SW5mbzo6YmFzZWxpbmVTaGlmdFZhbHVlQXZhaWxhYmxlKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gIWJhc2VsaW5lU2hpZnRTdGFjay5pc0VtcHR5KCk7Cit9CisKK2Zsb2F0IFNWR0NoYXJh
Y3RlckxheW91dEluZm86OnhWYWx1ZU5leHQoKSBjb25zdAoreworICAgIEFTU0VSVCgheFN0YWNr
LmlzRW1wdHkoKSk7CisgICAgcmV0dXJuIHhTdGFjay5sYXN0KCkudmFsdWVBdEN1cnJlbnRQb3Np
dGlvbigpOworfQorCitmbG9hdCBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjp5VmFsdWVOZXh0KCkg
Y29uc3QKK3sKKyAgICBBU1NFUlQoIXlTdGFjay5pc0VtcHR5KCkpOworICAgIHJldHVybiB5U3Rh
Y2subGFzdCgpLnZhbHVlQXRDdXJyZW50UG9zaXRpb24oKTsKK30KKworZmxvYXQgU1ZHQ2hhcmFj
dGVyTGF5b3V0SW5mbzo6ZHhWYWx1ZU5leHQoKSBjb25zdAoreworICAgIEFTU0VSVCghZHhTdGFj
ay5pc0VtcHR5KCkpOworICAgIHJldHVybiBkeFN0YWNrLmxhc3QoKS52YWx1ZUF0Q3VycmVudFBv
c2l0aW9uKCk7Cit9CisKK2Zsb2F0IFNWR0NoYXJhY3RlckxheW91dEluZm86OmR5VmFsdWVOZXh0
KCkgY29uc3QKK3sKKyAgICBBU1NFUlQoIWR5U3RhY2suaXNFbXB0eSgpKTsKKyAgICByZXR1cm4g
ZHlTdGFjay5sYXN0KCkudmFsdWVBdEN1cnJlbnRQb3NpdGlvbigpOworfQorCitmbG9hdCBTVkdD
aGFyYWN0ZXJMYXlvdXRJbmZvOjphbmdsZVZhbHVlTmV4dCgpIGNvbnN0Cit7CisgICAgQVNTRVJU
KCFhbmdsZVN0YWNrLmlzRW1wdHkoKSk7CisgICAgcmV0dXJuIGFuZ2xlU3RhY2subGFzdCgpLnZh
bHVlQXRDdXJyZW50UG9zaXRpb24oKTsKK30KKworZmxvYXQgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5m
bzo6YmFzZWxpbmVTaGlmdFZhbHVlTmV4dCgpIGNvbnN0Cit7CisgICAgQVNTRVJUKCFiYXNlbGlu
ZVNoaWZ0U3RhY2suaXNFbXB0eSgpKTsKKyAgICByZXR1cm4gYmFzZWxpbmVTaGlmdFN0YWNrLmxh
c3QoKTsKK30KKwordm9pZCBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjpwcm9jZXNzZWRTaW5nbGVD
aGFyYWN0ZXIoKQoreworICAgIHhTdGFja1dhbGsoKTsKKyAgICB5U3RhY2tXYWxrKCk7CisgICAg
ZHhTdGFja1dhbGsoKTsKKyAgICBkeVN0YWNrV2FsaygpOworICAgIGFuZ2xlU3RhY2tXYWxrKCk7
CisgICAgYmFzZWxpbmVTaGlmdFN0YWNrV2FsaygpOworfQorCit2b2lkIFNWR0NoYXJhY3Rlckxh
eW91dEluZm86OnByb2Nlc3NlZENodW5rKGZsb2F0IGxhc3RTaGlmdFgsIGZsb2F0IGxhc3RTaGlm
dFkpCit7CisgICAgLy8gYmFzZWxpbmUtc2hpZnQgZG9lc24ndCBzcGFuIGFjcm9zcyBhbmNlc3Rv
cnMsIHVubGlrZSBkeC9keS4KKyAgICBjdXJ4ICs9IGxhc3RTaGlmdFggLSBzaGlmdHg7CisgICAg
Y3VyeSArPSBsYXN0U2hpZnRZIC0gc2hpZnR5OworCisgICAgaWYgKHhTdGFja0NoYW5nZWQpIHsK
KyAgICAgICAgQVNTRVJUKCF4U3RhY2suaXNFbXB0eSgpKTsKKyAgICAgICAgeFN0YWNrLnJlbW92
ZUxhc3QoKTsKKyAgICAgICAgeFN0YWNrQ2hhbmdlZCA9IGZhbHNlOworICAgIH0KKworICAgIGlm
ICh5U3RhY2tDaGFuZ2VkKSB7CisgICAgICAgIEFTU0VSVCgheVN0YWNrLmlzRW1wdHkoKSk7Cisg
ICAgICAgIHlTdGFjay5yZW1vdmVMYXN0KCk7CisgICAgICAgIHlTdGFja0NoYW5nZWQgPSBmYWxz
ZTsKKyAgICB9CisKKyAgICBpZiAoZHhTdGFja0NoYW5nZWQpIHsKKyAgICAgICAgQVNTRVJUKCFk
eFN0YWNrLmlzRW1wdHkoKSk7CisgICAgICAgIGR4U3RhY2sucmVtb3ZlTGFzdCgpOworICAgICAg
ICBkeFN0YWNrQ2hhbmdlZCA9IGZhbHNlOworICAgIH0KKworICAgIGlmIChkeVN0YWNrQ2hhbmdl
ZCkgeworICAgICAgICBBU1NFUlQoIWR5U3RhY2suaXNFbXB0eSgpKTsKKyAgICAgICAgZHlTdGFj
ay5yZW1vdmVMYXN0KCk7CisgICAgICAgIGR5U3RhY2tDaGFuZ2VkID0gZmFsc2U7CisgICAgfQor
CisgICAgaWYgKGFuZ2xlU3RhY2tDaGFuZ2VkKSB7CisgICAgICAgIEFTU0VSVCghYW5nbGVTdGFj
ay5pc0VtcHR5KCkpOworICAgICAgICBhbmdsZVN0YWNrLnJlbW92ZUxhc3QoKTsKKyAgICAgICAg
YW5nbGVTdGFja0NoYW5nZWQgPSBmYWxzZTsKKyAgICB9CisKKyAgICBpZiAoYmFzZWxpbmVTaGlm
dFN0YWNrQ2hhbmdlZCkgeworICAgICAgICBBU1NFUlQoIWJhc2VsaW5lU2hpZnRTdGFjay5pc0Vt
cHR5KCkpOworICAgICAgICBiYXNlbGluZVNoaWZ0U3RhY2sucmVtb3ZlTGFzdCgpOworICAgICAg
ICBiYXNlbGluZVNoaWZ0U3RhY2tDaGFuZ2VkID0gZmFsc2U7CisgICAgfQorfQorCit2b2lkIFNW
R0NoYXJhY3RlckxheW91dEluZm86Om5leHRQYXRoTGF5b3V0UG9pbnRBbmRBbmdsZShmbG9hdCYg
eCwgZmxvYXQmIHksIGZsb2F0JiBhbmdsZSwgZmxvYXQgZ2x5cGhBZHZhbmNlKQoreworICAgIGlm
IChsYXlvdXRQYXRoTGVuZ3RoIDw9IDAuMCkKKyAgICAgICAgcmV0dXJuOworCisgICAgZmxvYXQg
b2Zmc2V0ID0gY3VycmVudE9mZnNldCArIGdseXBoQWR2YW5jZSAvIDIuMDsKKyAgICBpZiAob2Zm
c2V0ID4gbGF5b3V0UGF0aExlbmd0aCkKKyAgICAgICAgcmV0dXJuOworCisgICAgYm9vbCBvayA9
IGZhbHNlOyAKKyAgICBGbG9hdFBvaW50IHBvaW50ID0gbGF5b3V0UGF0aC5wb2ludEF0TGVuZ3Ro
KG9mZnNldCwgb2spOworICAgIEFTU0VSVChvayk7CisKKyAgICB4ID0gcG9pbnQueCgpOworICAg
IHkgPSBwb2ludC55KCk7CisKKyAgICBhbmdsZSA9IGxheW91dFBhdGgubm9ybWFsQW5nbGVBdExl
bmd0aChvZmZzZXQsIG9rKTsKKyAgICBBU1NFUlQob2spOworCisgICAgZnByaW50ZihzdGRlcnIs
ICJ0OiAlZiwgeDogJWYsIHk6ICVmLCBhbmdsZTogJWYsIGdseXBoQWR2YW5jZTogJWZcbiIsIGN1
cnJlbnRPZmZzZXQsIHgsIHksIGFuZ2xlLCBnbHlwaEFkdmFuY2UpOworICAgIGN1cnJlbnRPZmZz
ZXQgKz0gZ2x5cGhBZHZhbmNlOworfQorCit2b2lkIFNWR0NoYXJhY3RlckxheW91dEluZm86OmFk
ZExheW91dEluZm9ybWF0aW9uKElubGluZUZsb3dCb3gqIGZsb3dCb3gpCit7CisgICAgYm9vbCBp
c0luaXRpYWxMYXlvdXQgPSB4U3RhY2suaXNFbXB0eSgpICYmIHlTdGFjay5pc0VtcHR5KCkgJiYK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIGR4U3RhY2suaXNFbXB0eSgpICYmIGR5U3RhY2su
aXNFbXB0eSgpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmdsZVN0YWNrLmlzRW1w
dHkoKSAmJiBiYXNlbGluZVNoaWZ0U3RhY2suaXNFbXB0eSgpICYmCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjdXJ4ID09IDAuMCAmJiBjdXJ5ID09IDAuMDsKKworICAgIFJlbmRlclNWR1Rl
eHRQYXRoKiB0ZXh0UGF0aCA9IHN0YXRpY19jYXN0PFJlbmRlclNWR1RleHRQYXRoKj4oZmxvd0Jv
eC0+b2JqZWN0KCkpOworICAgIFBhdGggcGF0aCA9IHRleHRQYXRoLT5sYXlvdXRQYXRoKCk7CisK
KyAgICBjb25zdCBTVkdSZW5kZXJTdHlsZSogc3R5bGUgPSB0ZXh0UGF0aC0+c3R5bGUoKS0+c3Zn
U3R5bGUoKTsKKyAgICBjb25zdCBGb250JiBmb250ID0gdGV4dFBhdGgtPnN0eWxlKCktPmZvbnQo
KTsKKyAgICBmbG9hdCBiYXNlbGluZVNoaWZ0ID0gY2FsY3VsYXRlQmFzZWxpbmVTaGlmdChmb250
LCBzdHlsZSk7CisKKyAgICBsYXlvdXRQYXRoID0gcGF0aDsKKyAgICBsYXlvdXRQYXRoTGVuZ3Ro
ID0gcGF0aC5sZW5ndGgoKTsKKworICAgIGlmIChsYXlvdXRQYXRoTGVuZ3RoIDw9IDAuMCkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgc3RhcnRPZmZzZXQgPSB0ZXh0UGF0aC0+c3RhcnRPZmZzZXQo
KTsKKworICAgIGlmIChzdGFydE9mZnNldCA+IDEuMCkKKyAgICAgICAgc3RhcnRPZmZzZXQgLz0g
bGF5b3V0UGF0aExlbmd0aDsKKyAgICBlbHNlCisgICAgICAgIEFTU0VSVChzdGFydE9mZnNldCA+
PSAwLjApOworCisgICAgY3VycmVudE9mZnNldCA9IHN0YXJ0T2Zmc2V0ICogbGF5b3V0UGF0aExl
bmd0aDsKKworICAgIC8vIE9ubHkgYmFzZWxpbmUtc2hpZnQgaXMgaGFuZGxlZCB0aHJvdWdoIHRo
ZSBub3JtYWwgbGF5b3V0IHN5c3RlbQorICAgIGFkZFN0YWNrQ29udGVudChCYXNlbGluZVNoaWZ0
U3RhY2ssIGJhc2VsaW5lU2hpZnQpOworCisgICAgaWYgKGlzSW5pdGlhbExheW91dCkgeworICAg
ICAgICB4U3RhY2tDaGFuZ2VkID0gZmFsc2U7CisgICAgICAgIHlTdGFja0NoYW5nZWQgPSBmYWxz
ZTsKKyAgICAgICAgZHhTdGFja0NoYW5nZWQgPSBmYWxzZTsKKyAgICAgICAgZHlTdGFja0NoYW5n
ZWQgPSBmYWxzZTsKKyAgICAgICAgYW5nbGVTdGFja0NoYW5nZWQgPSBmYWxzZTsKKyAgICAgICAg
YmFzZWxpbmVTaGlmdFN0YWNrQ2hhbmdlZCA9IGZhbHNlOworICAgIH0KK30KKwordm9pZCBTVkdD
aGFyYWN0ZXJMYXlvdXRJbmZvOjphZGRMYXlvdXRJbmZvcm1hdGlvbihTVkdUZXh0UG9zaXRpb25p
bmdFbGVtZW50KiBlbGVtZW50KQoreworICAgIGJvb2wgaXNJbml0aWFsTGF5b3V0ID0geFN0YWNr
LmlzRW1wdHkoKSAmJiB5U3RhY2suaXNFbXB0eSgpICYmCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkeFN0YWNrLmlzRW1wdHkoKSAmJiBkeVN0YWNrLmlzRW1wdHkoKSAmJgorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYW5nbGVTdGFjay5pc0VtcHR5KCkgJiYgYmFzZWxpbmVTaGlmdFN0
YWNrLmlzRW1wdHkoKSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VyeCA9PSAwLjAg
JiYgY3VyeSA9PSAwLjA7CisKKyAgICBSZW5kZXJPYmplY3QqIG9iamVjdCA9IGVsZW1lbnQtPnJl
bmRlcmVyKCk7CisgICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN0eWxlID0gb2JqZWN0LT5zdHls
ZSgpLT5zdmdTdHlsZSgpOworICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBvYmplY3QtPnN0eWxlKCkt
PmZvbnQoKTsKKyAgICBmbG9hdCBiYXNlbGluZVNoaWZ0ID0gY2FsY3VsYXRlQmFzZWxpbmVTaGlm
dChmb250LCBzdHlsZSk7CisKKyAgICBhZGRTdGFja0NvbnRlbnQoWFN0YWNrLCBlbGVtZW50LT54
KCkpOworICAgIGFkZFN0YWNrQ29udGVudChZU3RhY2ssIGVsZW1lbnQtPnkoKSk7CisgICAgYWRk
U3RhY2tDb250ZW50KER4U3RhY2ssIGVsZW1lbnQtPmR4KCkpOworICAgIGFkZFN0YWNrQ29udGVu
dChEeVN0YWNrLCBlbGVtZW50LT5keSgpKTsKKyAgICBhZGRTdGFja0NvbnRlbnQoQW5nbGVTdGFj
aywgZWxlbWVudC0+cm90YXRlKCkpOworICAgIGFkZFN0YWNrQ29udGVudChCYXNlbGluZVNoaWZ0
U3RhY2ssIGJhc2VsaW5lU2hpZnQpOworCisgICAgaWYgKGlzSW5pdGlhbExheW91dCkgeworICAg
ICAgICB4U3RhY2tDaGFuZ2VkID0gZmFsc2U7CisgICAgICAgIHlTdGFja0NoYW5nZWQgPSBmYWxz
ZTsKKyAgICAgICAgZHhTdGFja0NoYW5nZWQgPSBmYWxzZTsKKyAgICAgICAgZHlTdGFja0NoYW5n
ZWQgPSBmYWxzZTsKKyAgICAgICAgYW5nbGVTdGFja0NoYW5nZWQgPSBmYWxzZTsKKyAgICAgICAg
YmFzZWxpbmVTaGlmdFN0YWNrQ2hhbmdlZCA9IGZhbHNlOworICAgIH0KK30KKwordm9pZCBTVkdD
aGFyYWN0ZXJMYXlvdXRJbmZvOjphZGRTdGFja0NvbnRlbnQoU3RhY2tUeXBlIHR5cGUsIFNWR051
bWJlckxpc3QqIGxpc3QpCit7CisgICAgdW5zaWduZWQgbGVuZ3RoID0gbGlzdC0+bnVtYmVyT2ZJ
dGVtcygpOworICAgIGlmICghbGVuZ3RoKQorICAgICAgICByZXR1cm47CisKKyAgICBQb3NpdGlv
bmVkRmxvYXRWZWN0b3IgbmV3TGF5b3V0SW5mbzsKKworICAgIC8vIFRPRE86IENvbnZlcnQgbW9y
ZSBlZmZpY2llbnRseSEKKyAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKKyAgICAgICAgZmxvYXQgdmFsdWUgPSBsaXN0
LT5nZXRJdGVtKGksIGVjKTsKKyAgICAgICAgQVNTRVJUKGVjID09IDApOworCisgICAgICAgIG5l
d0xheW91dEluZm8uYXBwZW5kKHZhbHVlKTsKKyAgICB9CisKKyAgICBhZGRTdGFja0NvbnRlbnQo
dHlwZSwgbmV3TGF5b3V0SW5mbyk7Cit9CisKK3ZvaWQgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6
YWRkU3RhY2tDb250ZW50KFN0YWNrVHlwZSB0eXBlLCBTVkdMZW5ndGhMaXN0KiBsaXN0KQorewor
ICAgIHVuc2lnbmVkIGxlbmd0aCA9IGxpc3QtPm51bWJlck9mSXRlbXMoKTsKKyAgICBpZiAoIWxl
bmd0aCkKKyAgICAgICAgcmV0dXJuOworCisgICAgUG9zaXRpb25lZEZsb2F0VmVjdG9yIG5ld0xh
eW91dEluZm87CisKKyAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKKyAgICAgICAgZmxvYXQgdmFsdWUgPSBsaXN0LT5n
ZXRJdGVtKGksIGVjKS52YWx1ZSgpOworICAgICAgICBBU1NFUlQoZWMgPT0gMCk7CisKKyAgICAg
ICAgbmV3TGF5b3V0SW5mby5hcHBlbmQodmFsdWUpOworICAgIH0KKworICAgIGFkZFN0YWNrQ29u
dGVudCh0eXBlLCBuZXdMYXlvdXRJbmZvKTsKK30KKwordm9pZCBTVkdDaGFyYWN0ZXJMYXlvdXRJ
bmZvOjphZGRTdGFja0NvbnRlbnQoU3RhY2tUeXBlIHR5cGUsIGNvbnN0IFBvc2l0aW9uZWRGbG9h
dFZlY3RvciYgbGlzdCkKK3sKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIFhTdGFjazoK
KyAgICAgICAgeFN0YWNrQ2hhbmdlZCA9IHRydWU7CisgICAgICAgIHhTdGFjay5hcHBlbmQobGlz
dCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgWVN0YWNrOgorICAgICAgICB5U3RhY2tDaGFu
Z2VkID0gdHJ1ZTsKKyAgICAgICAgeVN0YWNrLmFwcGVuZChsaXN0KTsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBEeFN0YWNrOgorICAgICAgICBkeFN0YWNrQ2hhbmdlZCA9IHRydWU7CisgICAg
ICAgIGR4U3RhY2suYXBwZW5kKGxpc3QpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIER5U3Rh
Y2s6CisgICAgICAgIGR5U3RhY2tDaGFuZ2VkID0gdHJ1ZTsKKyAgICAgICAgZHlTdGFjay5hcHBl
bmQobGlzdCk7CisgICAgICAgIGJyZWFrOworICAgY2FzZSBBbmdsZVN0YWNrOgorICAgICAgICBh
bmdsZVN0YWNrQ2hhbmdlZCA9IHRydWU7CisgICAgICAgIGFuZ2xlU3RhY2suYXBwZW5kKGxpc3Qp
OworICAgICAgICBicmVhazsgCisgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICB9Cit9CisKK3ZvaWQgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6YWRkU3RhY2tD
b250ZW50KFN0YWNrVHlwZSB0eXBlLCBmbG9hdCB2YWx1ZSkKK3sKKyAgICBpZiAodmFsdWUgPT0g
MC4wKQorICAgICAgICByZXR1cm47CisKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIEJh
c2VsaW5lU2hpZnRTdGFjazoKKyAgICAgICAgYmFzZWxpbmVTaGlmdFN0YWNrQ2hhbmdlZCA9IHRy
dWU7CisgICAgICAgIGJhc2VsaW5lU2hpZnRTdGFjay5hcHBlbmQodmFsdWUpOworICAgICAgICBi
cmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICB9
Cit9CisKK3ZvaWQgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6eFN0YWNrV2FsaygpCit7CisgICAg
dW5zaWduZWQgaSA9IDE7CisKKyAgICB3aGlsZSAoIXhTdGFjay5pc0VtcHR5KCkpIHsKKyAgICAg
ICAgUG9zaXRpb25lZEZsb2F0VmVjdG9yJiBjdXIgPSB4U3RhY2subGFzdCgpOworICAgICAgICBp
ZiAoaSArIGN1ci5wb3NpdGlvbigpIDwgY3VyLnNpemUoKSkgeworICAgICAgICAgICAgY3VyLmFk
dmFuY2UoaSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGkgKz0g
Y3VyLnBvc2l0aW9uKCk7CisgICAgICAgIHhTdGFjay5yZW1vdmVMYXN0KCk7CisgICAgICAgIHhT
dGFja0NoYW5nZWQgPSBmYWxzZTsKKyAgICB9Cit9CisKK3ZvaWQgU1ZHQ2hhcmFjdGVyTGF5b3V0
SW5mbzo6eVN0YWNrV2FsaygpCit7CisgICAgdW5zaWduZWQgaSA9IDE7CisKKyAgICB3aGlsZSAo
IXlTdGFjay5pc0VtcHR5KCkpIHsKKyAgICAgICAgUG9zaXRpb25lZEZsb2F0VmVjdG9yJiBjdXIg
PSB5U3RhY2subGFzdCgpOworICAgICAgICBpZiAoaSArIGN1ci5wb3NpdGlvbigpIDwgY3VyLnNp
emUoKSkgeworICAgICAgICAgICAgY3VyLmFkdmFuY2UoaSk7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgfQorCisgICAgICAgIGkgKz0gY3VyLnBvc2l0aW9uKCk7CisgICAgICAgIHlTdGFj
ay5yZW1vdmVMYXN0KCk7CisgICAgICAgIHlTdGFja0NoYW5nZWQgPSBmYWxzZTsKKyAgICB9Cit9
CisKK3ZvaWQgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6ZHhTdGFja1dhbGsoKQoreworICAgIHVu
c2lnbmVkIGkgPSAxOworCisgICAgd2hpbGUgKCFkeFN0YWNrLmlzRW1wdHkoKSkgeworICAgICAg
ICBQb3NpdGlvbmVkRmxvYXRWZWN0b3ImIGN1ciA9IGR4U3RhY2subGFzdCgpOworICAgICAgICBp
ZiAoaSArIGN1ci5wb3NpdGlvbigpIDwgY3VyLnNpemUoKSkgeworICAgICAgICAgICAgY3VyLmFk
dmFuY2UoaSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGkgKz0g
Y3VyLnBvc2l0aW9uKCk7CisgICAgICAgIGR4U3RhY2sucmVtb3ZlTGFzdCgpOworICAgICAgICBk
eFN0YWNrQ2hhbmdlZCA9IGZhbHNlOworICAgIH0KK30KKwordm9pZCBTVkdDaGFyYWN0ZXJMYXlv
dXRJbmZvOjpkeVN0YWNrV2FsaygpCit7CisgICAgdW5zaWduZWQgaSA9IDE7CisKKyAgICB3aGls
ZSAoIWR5U3RhY2suaXNFbXB0eSgpKSB7CisgICAgICAgIFBvc2l0aW9uZWRGbG9hdFZlY3RvciYg
Y3VyID0gZHlTdGFjay5sYXN0KCk7CisgICAgICAgIGlmIChpICsgY3VyLnBvc2l0aW9uKCkgPCBj
dXIuc2l6ZSgpKSB7CisgICAgICAgICAgICBjdXIuYWR2YW5jZShpKTsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICB9CisKKyAgICAgICAgaSArPSBjdXIucG9zaXRpb24oKTsKKyAgICAgICAg
ZHlTdGFjay5yZW1vdmVMYXN0KCk7CisgICAgICAgIGR5U3RhY2tDaGFuZ2VkID0gZmFsc2U7Cisg
ICAgfQorfQorCit2b2lkIFNWR0NoYXJhY3RlckxheW91dEluZm86OmFuZ2xlU3RhY2tXYWxrKCkK
K3sKKyAgICB1bnNpZ25lZCBpID0gMTsKKworICAgIHdoaWxlICghYW5nbGVTdGFjay5pc0VtcHR5
KCkpIHsKKyAgICAgICAgUG9zaXRpb25lZEZsb2F0VmVjdG9yJiBjdXIgPSBhbmdsZVN0YWNrLmxh
c3QoKTsKKyAgICAgICAgaWYgKGkgKyBjdXIucG9zaXRpb24oKSA8IGN1ci5zaXplKCkpIHsKKyAg
ICAgICAgICAgIGN1ci5hZHZhbmNlKGkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0K
KworICAgICAgICBpICs9IGN1ci5wb3NpdGlvbigpOworICAgICAgICBhbmdsZVN0YWNrLnJlbW92
ZUxhc3QoKTsKKyAgICAgICAgYW5nbGVTdGFja0NoYW5nZWQgPSBmYWxzZTsKKyAgICB9Cit9CisK
K3ZvaWQgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6YmFzZWxpbmVTaGlmdFN0YWNrV2FsaygpCit7
CisgICAgaWYgKCFiYXNlbGluZVNoaWZ0U3RhY2suaXNFbXB0eSgpKSB7CisgICAgICAgIGJhc2Vs
aW5lU2hpZnRTdGFjay5yZW1vdmVMYXN0KCk7CisgICAgICAgIGJhc2VsaW5lU2hpZnRTdGFja0No
YW5nZWQgPSBmYWxzZTsKKyAgICB9Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShTVkcpCkluZGV4OiByZW5kZXJpbmcvU1ZHUm9vdElubGluZUJveC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIHJlbmRlcmluZy9TVkdSb290SW5saW5lQm94LmgJKHJldmlzaW9uIDE5OTI2
KQorKysgcmVuZGVyaW5nL1NWR1Jvb3RJbmxpbmVCb3guaAkod29ya2luZyBjb3B5KQpAQCAtMyw2
ICszLDcgQEAKICAqCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgT2xpdmVyIEh1bnQgPG9qaDE2QHN0
dWRlbnQuY2FudGVyYnVyeS5hYy5uej4KICAqICAgICAgICAgICAoQykgMjAwNiBBcHBsZSBDb21w
dXRlciBJbmMuCisgKiAgICAgICAgICAgKEMpIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1t
ZXJtYW5uQGtkZS5vcmc+CiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI1LDExICsyNiwxMyBAQAog
I2RlZmluZSBTVkdSb290SW5saW5lQm94X2gKIAogI2lmIEVOQUJMRShTVkcpCi0KICNpbmNsdWRl
ICJSb290SW5saW5lQm94LmgiCisjaW5jbHVkZSAiU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mby5oIgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIElubGluZVRleHRCb3g7CisKIGNsYXNzIFNW
R1Jvb3RJbmxpbmVCb3ggOiBwdWJsaWMgUm9vdElubGluZUJveCB7CiBwdWJsaWM6CiAgICAgU1ZH
Um9vdElubGluZUJveChSZW5kZXJPYmplY3QqIG9iaikKQEAgLTM4LDggKzQxLDMwIEBACiAgICAg
fQogCiAgICAgdmlydHVhbCB2b2lkIHBhaW50KFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwgaW50
IHR4LCBpbnQgdHkpOworCiAgICAgdmlydHVhbCBpbnQgcGxhY2VCb3hlc0hvcml6b250YWxseShp
bnQgeCwgaW50JiBsZWZ0UG9zaXRpb24sIGludCYgcmlnaHRQb3NpdGlvbiwgYm9vbCYgbmVlZHNX
b3JkU3BhY2luZyk7CiAgICAgdmlydHVhbCB2b2lkIHZlcnRpY2FsbHlBbGlnbkJveGVzKGludCYg
aGVpZ2h0T2ZCbG9jayk7CisKKyAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVBlckNoYXJhY3Rlckxh
eW91dEluZm9ybWF0aW9uKCk7CisKK3ByaXZhdGU6CisgICAgdm9pZCBsYXlvdXRJbmxpbmVCb3hl
cygpOworICAgIHZvaWQgbGF5b3V0SW5saW5lQm94ZXMoSW5saW5lRmxvd0JveCogc3RhcnQsIFZl
Y3RvcjxTVkdDaGFyPjo6aXRlcmF0b3ImIGl0LCBpbnQmIG1pblgsIGludCYgbWF4WCwgaW50JiBt
aW5ZLCBpbnQmIG1heFkpOworCisgICAgdm9pZCBidWlsZExheW91dEluZm9ybWF0aW9uKElubGlu
ZUZsb3dCb3gqIHN0YXJ0LCBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvJiBpbmZvKTsKKyAgICB2b2lk
IGJ1aWxkTGF5b3V0SW5mb3JtYXRpb25Gb3JUZXh0Qm94KFNWR0NoYXJhY3RlckxheW91dEluZm8m
IGluZm8sIElubGluZVRleHRCb3gqKTsKKworICAgIHZvaWQgYnVpbGRUZXh0Q2h1bmtzKCk7Cisg
ICAgdm9pZCBidWlsZFRleHRDaHVua3MoSW5saW5lRmxvd0JveCogc3RhcnQsIFNWR1RleHRDaHVu
a0xheW91dEluZm8mIGluZm8pOworCisgICAgdm9pZCBsYXlvdXRUZXh0Q2h1bmtzKCk7CisKKyAg
ICB2b2lkIHBhaW50SW5saW5lQm94ZXMoUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBpbnQgdHgs
IGludCB0eSwgSW5saW5lRmxvd0JveCogc3RhcnQsIFZlY3RvcjxTVkdDaGFyPjo6aXRlcmF0b3Im
IGl0KTsKKyAgICB2b2lkIHBhaW50Q2hhcmFjdGVyUmFuZ2VGb3JUZXh0Qm94KFJlbmRlck9iamVj
dDo6UGFpbnRJbmZvJiBwYWludEluZm8sIGludCB0eCwgaW50IHR5LCBJbmxpbmVUZXh0Qm94Kiwg
Y29uc3QgU1ZHQ2hhciYsIGNvbnN0IFVDaGFyKiBjaGFycywgaW50IGxlbmd0aCk7CisKK3ByaXZh
dGU6CisgICAgVmVjdG9yPFNWR0NoYXI+IG1fc3ZnQ2hhcnM7CisgICAgVmVjdG9yPFNWR1RleHRD
aHVuaz4gbV9zdmdUZXh0Q2h1bmtzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRl
eDogcmVuZGVyaW5nL1NWR0NoYXJhY3RlckxheW91dEluZm8uaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSByZW5k
ZXJpbmcvU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mby5oCShyZXZpc2lvbiAwKQorKysgcmVuZGVyaW5n
L1NWR0NoYXJhY3RlckxheW91dEluZm8uaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMDYgQEAK
Ky8qCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IHByb2plY3QuCisgKgorICog
Q29weXJpZ2h0IChDKSAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3Jn
PgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
KyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUg
dG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFj
ZSAtIFN1aXRlIDMzMCwKKyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICoKKyAqLwor
CisjaWZuZGVmIFNWR0NoYXJhY3RlckxheW91dEluZm9faAorI2RlZmluZSBTVkdDaGFyYWN0ZXJM
YXlvdXRJbmZvX2gKKworI2lmIEVOQUJMRShTVkcpCisKKyNpbmNsdWRlIDx3dGYvSGFzaFNldC5o
PgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgor
CisjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCisjaW5jbHVkZSAiU1ZHUmVuZGVyU3R5bGUu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBJbmxpbmVCb3g7CitjbGFzcyBJbmxp
bmVGbG93Qm94OworY2xhc3MgU1ZHTGVuZ3RoTGlzdDsKK2NsYXNzIFNWR051bWJlckxpc3Q7Citj
bGFzcyBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50OworCit0ZW1wbGF0ZTxjbGFzcyBUeXBlPgor
Y2xhc3MgUG9zaXRpb25lZFZlY3RvciA6IHB1YmxpYyBWZWN0b3I8VHlwZT4KK3sKK3B1YmxpYzoK
KyAgICBQb3NpdGlvbmVkVmVjdG9yPFR5cGU+KCkKKyAgICAgICAgOiBtX3Bvc2l0aW9uKDApCisg
ICAgeworICAgIH0KKworICAgIHVuc2lnbmVkIHBvc2l0aW9uKCkgY29uc3QKKyAgICB7CisgICAg
ICAgIHJldHVybiBtX3Bvc2l0aW9uOworICAgIH0KKworICAgIHZvaWQgYWR2YW5jZSh1bnNpZ25l
ZCBwb3NpdGlvbikKKyAgICB7CisgICAgICAgIG1fcG9zaXRpb24gKz0gcG9zaXRpb247CisgICAg
ICAgIEFTU0VSVChtX3Bvc2l0aW9uIDwgVmVjdG9yPFR5cGU+OjpzaXplKCkpOworICAgIH0KKwor
ICAgIFR5cGUgdmFsdWVBdEN1cnJlbnRQb3NpdGlvbigpIGNvbnN0CisgICAgeworICAgICAgICBB
U1NFUlQobV9wb3NpdGlvbiA8IFZlY3RvcjxUeXBlPjo6c2l6ZSgpKTsKKyAgICAgICAgcmV0dXJu
IFZlY3RvcjxUeXBlPjo6YXQobV9wb3NpdGlvbik7CisgICAgfQorCitwcml2YXRlOgorICAgIHVu
c2lnbmVkIG1fcG9zaXRpb247Cit9OworCitjbGFzcyBQb3NpdGlvbmVkRmxvYXRWZWN0b3IgOiBw
dWJsaWMgUG9zaXRpb25lZFZlY3RvcjxmbG9hdD4geyB9OworCitzdHJ1Y3QgU1ZHQ2hhcmFjdGVy
TGF5b3V0SW5mbyB7CisgICAgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbygpOworCisgICAgZW51bSBT
dGFja1R5cGUgeyBYU3RhY2ssIFlTdGFjaywgRHhTdGFjaywgRHlTdGFjaywgQW5nbGVTdGFjaywg
QmFzZWxpbmVTaGlmdFN0YWNrIH07CisKKyAgICBib29sIHhWYWx1ZUF2YWlsYWJsZSgpIGNvbnN0
OworICAgIGJvb2wgeVZhbHVlQXZhaWxhYmxlKCkgY29uc3Q7CisgICAgYm9vbCBkeFZhbHVlQXZh
aWxhYmxlKCkgY29uc3Q7CisgICAgYm9vbCBkeVZhbHVlQXZhaWxhYmxlKCkgY29uc3Q7CisgICAg
Ym9vbCBhbmdsZVZhbHVlQXZhaWxhYmxlKCkgY29uc3Q7CisgICAgYm9vbCBiYXNlbGluZVNoaWZ0
VmFsdWVBdmFpbGFibGUoKSBjb25zdDsKKworICAgIGZsb2F0IHhWYWx1ZU5leHQoKSBjb25zdDsK
KyAgICBmbG9hdCB5VmFsdWVOZXh0KCkgY29uc3Q7CisgICAgZmxvYXQgZHhWYWx1ZU5leHQoKSBj
b25zdDsKKyAgICBmbG9hdCBkeVZhbHVlTmV4dCgpIGNvbnN0OworICAgIGZsb2F0IGFuZ2xlVmFs
dWVOZXh0KCkgY29uc3Q7CisgICAgZmxvYXQgYmFzZWxpbmVTaGlmdFZhbHVlTmV4dCgpIGNvbnN0
OworCisgICAgdm9pZCBwcm9jZXNzZWRDaHVuayhmbG9hdCBsYXN0U2hpZnRYLCBmbG9hdCBsYXN0
U2hpZnRZKTsKKyAgICB2b2lkIHByb2Nlc3NlZFNpbmdsZUNoYXJhY3RlcigpOworCisgICAgdm9p
ZCBuZXh0UGF0aExheW91dFBvaW50QW5kQW5nbGUoZmxvYXQmIHgsIGZsb2F0JiB5LCBmbG9hdCYg
YW5nbGUsIGZsb2F0IGdseXBoQWR2YW5jZSk7CisKKyAgICAvLyBVc2VkIGZvciB0ZXh0LW9uLXBh
dGguCisgICAgdm9pZCBhZGRMYXlvdXRJbmZvcm1hdGlvbihJbmxpbmVGbG93Qm94Kik7CisKKyAg
ICAvLyBVc2VkIGZvciBhbnl0aGluZyBlbHNlLgorICAgIHZvaWQgYWRkTGF5b3V0SW5mb3JtYXRp
b24oU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCopOworCisgICAgLy8gR2xvYmFsIHBvc2l0aW9u
CisgICAgZmxvYXQgY3VyeDsKKyAgICBmbG9hdCBjdXJ5OworCisgICAgLy8gQWNjdW11bGF0ZWQg
YXBwbGllZCBzaGlmdCB2YWx1ZXMKKyAgICBmbG9hdCBzaGlmdHg7CisgICAgZmxvYXQgc2hpZnR5
OworCisgICAgLy8gTGF5b3V0IG9uIHBhdGggYWN0aXZlPworICAgIGJvb2wgaW5QYXRoTGF5b3V0
IDogMTsKKworcHJpdmF0ZToKKyAgICAvLyBVc2VkIGZvciBiYXNlbGluZS1zaGlmdC4KKyAgICB2
b2lkIGFkZFN0YWNrQ29udGVudChTdGFja1R5cGUsIGZsb2F0KTsKKworICAgIC8vIFVzZWQgZm9y
IGFuZ2xlLgorICAgIHZvaWQgYWRkU3RhY2tDb250ZW50KFN0YWNrVHlwZSwgU1ZHTnVtYmVyTGlz
dCopOworCisgICAgLy8gVXNlZCBmb3IgeC95L2R4L2R5LiAgICAKKyAgICB2b2lkIGFkZFN0YWNr
Q29udGVudChTdGFja1R5cGUsIFNWR0xlbmd0aExpc3QqKTsKKworICAgIHZvaWQgYWRkU3RhY2tD
b250ZW50KFN0YWNrVHlwZSwgY29uc3QgUG9zaXRpb25lZEZsb2F0VmVjdG9yJik7CisKKyAgICB2
b2lkIHhTdGFja1dhbGsoKTsKKyAgICB2b2lkIHlTdGFja1dhbGsoKTsKKyAgICB2b2lkIGR4U3Rh
Y2tXYWxrKCk7CisgICAgdm9pZCBkeVN0YWNrV2FsaygpOworICAgIHZvaWQgYW5nbGVTdGFja1dh
bGsoKTsKKyAgICB2b2lkIGJhc2VsaW5lU2hpZnRTdGFja1dhbGsoKTsKKworcHJpdmF0ZToKKyAg
ICBib29sIHhTdGFja0NoYW5nZWQgOiAxOworICAgIGJvb2wgeVN0YWNrQ2hhbmdlZCA6IDE7Cisg
ICAgYm9vbCBkeFN0YWNrQ2hhbmdlZCA6IDE7CisgICAgYm9vbCBkeVN0YWNrQ2hhbmdlZCA6IDE7
CisgICAgYm9vbCBhbmdsZVN0YWNrQ2hhbmdlZCA6IDE7CisgICAgYm9vbCBiYXNlbGluZVNoaWZ0
U3RhY2tDaGFuZ2VkIDogMTsKKworICAgIC8vIHRleHQgb24gcGF0aCBsYXlvdXQKKyAgICBmbG9h
dCBjdXJyZW50T2Zmc2V0OworICAgIGZsb2F0IHN0YXJ0T2Zmc2V0OworICAgIGZsb2F0IGxheW91
dFBhdGhMZW5ndGg7CisgICAgUGF0aCBsYXlvdXRQYXRoOworCisgICAgVmVjdG9yPFBvc2l0aW9u
ZWRGbG9hdFZlY3Rvcj4geFN0YWNrOworICAgIFZlY3RvcjxQb3NpdGlvbmVkRmxvYXRWZWN0b3I+
IHlTdGFjazsKKyAgICBWZWN0b3I8UG9zaXRpb25lZEZsb2F0VmVjdG9yPiBkeFN0YWNrOworICAg
IFZlY3RvcjxQb3NpdGlvbmVkRmxvYXRWZWN0b3I+IGR5U3RhY2s7CisgICAgVmVjdG9yPFBvc2l0
aW9uZWRGbG9hdFZlY3Rvcj4gYW5nbGVTdGFjazsKKyAgICBWZWN0b3I8ZmxvYXQ+IGJhc2VsaW5l
U2hpZnRTdGFjazsKK307CisKK3N0cnVjdCBTVkdDaGFyIHsKKyAgICBmbG9hdCB4OworICAgIGZs
b2F0IHk7CisKKyAgICBBZmZpbmVUcmFuc2Zvcm0gdHJhbnNmb3JtOworCisgICAgLy8gRGV0ZXJt
aW5lcyB3aGV0ZXIgdGhpcyBjaGFyIG5lZWRzIHRvIGJlIGRyYXduIHNlcGVyYXRlZAorICAgIGJv
b2wgZHJhd25TZXBlcmF0ZWQgOiAxOworCisgICAgLy8gRGV0ZXJtaW5lcyB3aGV0ZXIgdGhpcyBj
aGFyIHN0YXJ0cyBhIG5ldyBjaHVuaworICAgIGJvb2wgbmV3VGV4dENodW5rIDogMTsKK307CisK
K3N0cnVjdCBTVkdUZXh0Q2h1bmsgeworICAgIFNWR1RleHRDaHVuaygpCisgICAgICAgIDogYW5j
aG9yKFRBX1NUQVJUKQorICAgICAgICAsIGlzVmVydGljYWxUZXh0KGZhbHNlKQorICAgICAgICAs
IGxhc3RHbHlwaFdpZHRoKDAuMCkKKyAgICAgICAgLCBsYXN0R2x5cGhIZWlnaHQoMC4wKQorICAg
IHsgfQorCisgICAgRVRleHRBbmNob3IgYW5jaG9yOworICAgIGJvb2wgaXNWZXJ0aWNhbFRleHQg
OiAxOworCisgICAgZmxvYXQgbGFzdEdseXBoV2lkdGg7CisgICAgZmxvYXQgbGFzdEdseXBoSGVp
Z2h0OworCisgICAgVmVjdG9yPFNWR0NoYXI+OjppdGVyYXRvciBzdGFydDsKKyAgICBWZWN0b3I8
U1ZHQ2hhcj46Oml0ZXJhdG9yIGVuZDsKKworICAgIC8vIENvbnRhaW5zIGFsbCBib3hlcyB0aGlz
IGNodW5rIHNwYW5zLgorICAgIEhhc2hTZXQ8SW5saW5lQm94Kj4gYm94ZXM7Cit9OworCitzdHJ1
Y3QgU1ZHVGV4dENodW5rTGF5b3V0SW5mbyB7CisgICAgU1ZHVGV4dENodW5rTGF5b3V0SW5mbygp
CisgICAgICAgIDogYXNzaWduTmV3QW5jaG9yKHRydWUpCisgICAgeworICAgIH0KKworICAgIGJv
b2wgYXNzaWduTmV3QW5jaG9yIDogMTsKKyAgICBTVkdUZXh0Q2h1bmsgY2h1bms7CisKKyAgICBW
ZWN0b3I8U1ZHQ2hhcj46Oml0ZXJhdG9yIGl0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykKKyNlbmRpZiAvLyBTVkdDaGFyYWN0ZXJMYXlvdXRJ
bmZvX2gK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>13500</attachid>
            <date>2007-03-06 17:30:50 -0800</date>
            <delta_ts>2007-04-30 02:02:58 -0700</delta_ts>
            <desc>First complete patch</desc>
            <filename>TextPatch.diff</filename>
            <type>text/plain</type>
            <size>96789</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IERlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gRGVyaXZlZFNvdXJjZXMu
bWFrZQkocmV2aXNpb24gMTk5OTIpCisrKyBEZXJpdmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNv
cHkpCkBAIC0yNjUsNiArMjY1LDcgQEAKICAgICBET01TVkdUZXN0cy5oIFwKICAgICBET01TVkdU
ZXh0Q29udGVudEVsZW1lbnQuaCBcCiAgICAgRE9NU1ZHVGV4dEVsZW1lbnQuaCBcCisgICAgRE9N
U1ZHVGV4dFBhdGhFbGVtZW50LmggXAogICAgIERPTVNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQu
aCBcCiAgICAgRE9NU1ZHVGl0bGVFbGVtZW50LmggXAogICAgIERPTVNWR1RyYW5zZm9ybS5oIFwK
QEAgLTQ1Miw2ICs0NTMsNyBAQAogICAgIEpTU1ZHVFNwYW5FbGVtZW50LmggXAogICAgIEpTU1ZH
VGV4dEVsZW1lbnQuaCBcCiAgICAgSlNTVkdUZXh0Q29udGVudEVsZW1lbnQuaCBcCisgICAgSlNT
VkdUZXh0UGF0aEVsZW1lbnQuaCBcCiAgICAgSlNTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50Lmgg
XAogICAgIEpTU1ZHVGl0bGVFbGVtZW50LmggXAogICAgIEpTU1ZHVHJhbnNmb3JtLmggXApJbmRl
eDogcmVuZGVyaW5nL0lubGluZVRleHRCb3guaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSByZW5kZXJpbmcvSW5s
aW5lVGV4dEJveC5oCShyZXZpc2lvbiAxOTk5MikKKysrIHJlbmRlcmluZy9JbmxpbmVUZXh0Qm94
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDEwIEBACiBjbGFzcyBIaXRUZXN0UmVzdWx0
OwogY2xhc3MgUG9zaXRpb247CiAKKy8vIEhlbHBlciBmdW5jdGlvbnMgc2hhcmVkIGJ5IElubGlu
ZVRleHRCb3ggLyBTVkdSb290SW5saW5lQm94Cit2b2lkIHVwZGF0ZUdyYXBoaWNzQ29udGV4dChH
cmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IENvbG9yJiBmaWxsQ29sb3IsIGNvbnN0IENv
bG9yJiBzdHJva2VDb2xvciwgZmxvYXQgc3Ryb2tlVGhpY2tuZXNzKTsKK0NvbG9yIGNvcnJlY3Rl
ZFRleHRDb2xvcihDb2xvciB0ZXh0Q29sb3IsIENvbG9yIGJhY2tncm91bmRDb2xvcik7CisKIGNs
YXNzIElubGluZVRleHRCb3ggOiBwdWJsaWMgSW5saW5lUnVuQm94IHsKIHB1YmxpYzoKICAgICBJ
bmxpbmVUZXh0Qm94KFJlbmRlck9iamVjdCogb2JqKQpJbmRleDogcmVuZGVyaW5nL1NWR1Jvb3RJ
bmxpbmVCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHJlbmRlcmluZy9TVkdSb290SW5saW5lQm94LmNw
cAkocmV2aXNpb24gMTk5OTIpCisrKyByZW5kZXJpbmcvU1ZHUm9vdElubGluZUJveC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTMsNiArMyw3IEBACiAgKgogICogQ29weXJpZ2h0IChDKSAyMDA2IE9s
aXZlciBIdW50IDxvamgxNkBzdHVkZW50LmNhbnRlcmJ1cnkuYWMubno+CiAgKiAgICAgICAgICAg
KEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIgSW5jLgorICogICAgICAgICAgIChDKSAyMDA3IE5pa29s
YXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgogICoKICAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBA
IC0yNCwxMyArMjUsMjQgQEAKICNpbmNsdWRlICJjb25maWcuaCIKIAogI2lmIEVOQUJMRShTVkcp
Ci0KICNpbmNsdWRlICJTVkdSb290SW5saW5lQm94LmgiCiAKLSNpbmNsdWRlICJTVkdJbmxpbmVG
bG93Qm94LmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQu
aCIKKyNpbmNsdWRlICJJbmxpbmVUZXh0Qm94LmgiCisjaW5jbHVkZSAiS0NhbnZhc1JlbmRlcmlu
Z1N0eWxlLmgiCisjaW5jbHVkZSAiUmFuZ2UuaCIKKyNpbmNsdWRlICJTVkdQYWludFNlcnZlci5o
IgorI2luY2x1ZGUgIlNWR1Jlc291cmNlQ2xpcHBlci5oIgorI2luY2x1ZGUgIlNWR1Jlc291cmNl
RmlsdGVyLmgiCisjaW5jbHVkZSAiU1ZHUmVzb3VyY2VNYXNrZXIuaCIKKyNpbmNsdWRlICJTVkdU
ZXh0UG9zaXRpb25pbmdFbGVtZW50LmgiCisjaW5jbHVkZSAiU1ZHVVJJUmVmZXJlbmNlLmgiCisj
aW5jbHVkZSAiVGV4dFN0eWxlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorI2lmICFFTkFC
TEUoU1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykKIHZvaWQgU1ZHUm9vdElubGluZUJveDo6cGFp
bnQoUmVuZGVyT2JqZWN0OjpQYWludEluZm8mIHBhaW50SW5mbywgaW50IHBhcmVudFgsIGludCBw
YXJlbnRZKQogewogICAgIHBhaW50U1ZHSW5saW5lRmxvdyh0aGlzLCBvYmplY3QoKSwgcGFpbnRJ
bmZvLCBwYXJlbnRYLCBwYXJlbnRZKTsKQEAgLTQ5LDcgKzYxLDEwMDUgQEAKIHsKICAgICBwbGFj
ZVNWR0Zsb3dWZXJ0aWNhbGx5KHRoaXMsIGhlaWdodE9mQmxvY2spOwogfQorI2Vsc2UKK3N0YXRp
YyB2b2lkIHByZXBhcmVUZXh0UmVuZGVyaW5nKFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiBwYWlu
dEluZm8sIGludCB0eCwgaW50IHR5LCBJbmxpbmVGbG93Qm94KiBmbG93Qm94LCBGbG9hdFJlY3Qm
IGJvdW5kaW5nQm94LCBTVkdSZXNvdXJjZUZpbHRlciomIGZpbHRlcikKK3sKKyAgICBSZW5kZXJP
YmplY3QqIG9iamVjdCA9IGZsb3dCb3gtPm9iamVjdCgpOwogCisgICAgcGFpbnRJbmZvLmNvbnRl
eHQtPnNhdmUoKTsKKyAgICBwYWludEluZm8uY29udGV4dC0+Y29uY2F0Q1RNKG9iamVjdC0+bG9j
YWxUcmFuc2Zvcm0oKSk7CisKKyAgICBib3VuZGluZ0JveCA9IEZsb2F0UmVjdCh0eCArIGZsb3dC
b3gtPnhQb3MoKSwgdHkgKyBmbG93Qm94LT55UG9zKCksIGZsb3dCb3gtPndpZHRoKCksIGZsb3dC
b3gtPmhlaWdodCgpKTsKKworICAgIFNWR0VsZW1lbnQqIHN2Z0VsZW1lbnQgPSBzdGF0aWNfY2Fz
dDxTVkdFbGVtZW50Kj4ob2JqZWN0LT5lbGVtZW50KCkpOworICAgIEFTU0VSVChzdmdFbGVtZW50
ICYmIHN2Z0VsZW1lbnQtPmRvY3VtZW50KCkgJiYgc3ZnRWxlbWVudC0+aXNTdHlsZWQoKSk7CisK
KyAgICBTVkdTdHlsZWRFbGVtZW50KiBzdHlsZWRFbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHU3R5
bGVkRWxlbWVudCo+KHN2Z0VsZW1lbnQpOworICAgIGNvbnN0IFNWR1JlbmRlclN0eWxlKiBzdmdT
dHlsZSA9IG9iamVjdC0+c3R5bGUoKS0+c3ZnU3R5bGUoKTsKKworICAgIEF0b21pY1N0cmluZyBm
aWx0ZXJJZChTVkdVUklSZWZlcmVuY2U6OmdldFRhcmdldChzdmdTdHlsZS0+ZmlsdGVyKCkpKTsK
KyAgICBBdG9taWNTdHJpbmcgY2xpcHBlcklkKFNWR1VSSVJlZmVyZW5jZTo6Z2V0VGFyZ2V0KHN2
Z1N0eWxlLT5jbGlwUGF0aCgpKSk7CisgICAgQXRvbWljU3RyaW5nIG1hc2tlcklkKFNWR1VSSVJl
ZmVyZW5jZTo6Z2V0VGFyZ2V0KHN2Z1N0eWxlLT5tYXNrRWxlbWVudCgpKSk7CisKKyAgICBTVkdS
ZXNvdXJjZUNsaXBwZXIqIGNsaXBwZXIgPSBnZXRDbGlwcGVyQnlJZChvYmplY3QtPmRvY3VtZW50
KCksIGNsaXBwZXJJZCk7CisgICAgU1ZHUmVzb3VyY2VNYXNrZXIqIG1hc2tlciA9IGdldE1hc2tl
ckJ5SWQob2JqZWN0LT5kb2N1bWVudCgpLCBtYXNrZXJJZCk7CisKKyAgICBmaWx0ZXIgPSBnZXRG
aWx0ZXJCeUlkKG9iamVjdC0+ZG9jdW1lbnQoKSwgZmlsdGVySWQpOworCisgICAgaWYgKGZpbHRl
cikKKyAgICAgICAgZmlsdGVyLT5wcmVwYXJlRmlsdGVyKHBhaW50SW5mby5jb250ZXh0LCBib3Vu
ZGluZ0JveCk7CisgICAgZWxzZSBpZiAoIWZpbHRlcklkLmlzRW1wdHkoKSkKKyAgICAgICAgc3Zn
RWxlbWVudC0+ZG9jdW1lbnQoKS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpLT5hZGRQZW5kaW5nUmVz
b3VyY2UoZmlsdGVySWQsIHN0eWxlZEVsZW1lbnQpOworCisgICAgaWYgKGNsaXBwZXIpIHsKKyAg
ICAgICAgY2xpcHBlci0+YWRkQ2xpZW50KHN0eWxlZEVsZW1lbnQpOworICAgICAgICBjbGlwcGVy
LT5hcHBseUNsaXAocGFpbnRJbmZvLmNvbnRleHQsIGJvdW5kaW5nQm94KTsKKyAgICB9IGVsc2Ug
aWYgKCFjbGlwcGVySWQuaXNFbXB0eSgpKQorICAgICAgICBzdmdFbGVtZW50LT5kb2N1bWVudCgp
LT5hY2Nlc3NTVkdFeHRlbnNpb25zKCktPmFkZFBlbmRpbmdSZXNvdXJjZShjbGlwcGVySWQsIHN0
eWxlZEVsZW1lbnQpOworCisgICAgaWYgKG1hc2tlcikgeworICAgICAgICBtYXNrZXItPmFkZENs
aWVudChzdHlsZWRFbGVtZW50KTsKKyAgICAgICAgbWFza2VyLT5hcHBseU1hc2socGFpbnRJbmZv
LmNvbnRleHQsIGJvdW5kaW5nQm94KTsKKyAgICB9IGVsc2UgaWYgKCFtYXNrZXJJZC5pc0VtcHR5
KCkpCisgICAgICAgIHN2Z0VsZW1lbnQtPmRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMo
KS0+YWRkUGVuZGluZ1Jlc291cmNlKG1hc2tlcklkLCBzdHlsZWRFbGVtZW50KTsKK30KKworaW5s
aW5lIGJvb2wgaXNWZXJ0aWNhbFdyaXRpbmdNb2RlKGNvbnN0IFNWR1JlbmRlclN0eWxlKiBzdHls
ZSkKK3sKKyAgICByZXR1cm4gc3R5bGUtPndyaXRpbmdNb2RlKCkgPT0gV01fVEJSTCB8fCBzdHls
ZS0+d3JpdGluZ01vZGUoKSA9PSBXTV9UQjsgCit9CisKK3ZvaWQgU1ZHUm9vdElubGluZUJveDo6
cGFpbnQoUmVuZGVyT2JqZWN0OjpQYWludEluZm8mIHBhaW50SW5mbywgaW50IHR4LCBpbnQgdHkp
Cit7CisgICAgaWYgKHBhaW50SW5mby5jb250ZXh0LT5wYWludGluZ0Rpc2FibGVkKCkpCisgICAg
ICAgIHJldHVybjsKKworICAgIEZsb2F0UmVjdCBib3VuZGluZ0JveDsKKworICAgIFNWR1Jlc291
cmNlRmlsdGVyKiBmaWx0ZXIgPSAwOworICAgIHByZXBhcmVUZXh0UmVuZGVyaW5nKHBhaW50SW5m
bywgdHgsIHR5LCB0aGlzLCBib3VuZGluZ0JveCwgZmlsdGVyKTsKKworICAgIFJlbmRlck9iamVj
dDo6UGFpbnRJbmZvIHBpKHBhaW50SW5mbyk7CisKKyAgICBmbG9hdCBvcGFjaXR5ID0gb2JqZWN0
KCktPnN0eWxlKCktPm9wYWNpdHkoKTsKKyAgICBpZiAob3BhY2l0eSA8IDEuMGYpIHsKKyAgICAg
ICAgcGFpbnRJbmZvLmNvbnRleHQtPmNsaXAoZW5jbG9zaW5nSW50UmVjdChib3VuZGluZ0JveCkp
OworICAgICAgICBwYWludEluZm8uY29udGV4dC0+YmVnaW5UcmFuc3BhcmVuY3lMYXllcihvcGFj
aXR5KTsKKyAgICB9CisKKyAgICBTVkdQYWludFNlcnZlciogZmlsbFBhaW50U2VydmVyID0gS1NW
R1BhaW50ZXJGYWN0b3J5OjpmaWxsUGFpbnRTZXJ2ZXIob2JqZWN0KCktPnN0eWxlKCksIG9iamVj
dCgpKTsKKyAgICBpZiAoZmlsbFBhaW50U2VydmVyKSB7CisgICAgICAgIGlmIChmaWxsUGFpbnRT
ZXJ2ZXItPnNldHVwKHBpLmNvbnRleHQsIG9iamVjdCgpLCBBcHBseVRvRmlsbFRhcmdldFR5cGUs
IHRydWUpKSB7CisgICAgICAgICAgICBWZWN0b3I8U1ZHQ2hhcj46Oml0ZXJhdG9yIGl0ID0gbV9z
dmdDaGFycy5iZWdpbigpOworICAgICAgICAgICAgcGFpbnRJbmxpbmVCb3hlcyhwaSwgdHgsIHR5
LCB0aGlzLCBpdCk7CisgICAgICAgICAgICBBU1NFUlQoaXQgPT0gbV9zdmdDaGFycy5lbmQoKSk7
CisKKyAgICAgICAgICAgIGZpbGxQYWludFNlcnZlci0+dGVhcmRvd24ocGkuY29udGV4dCwgb2Jq
ZWN0KCksIEFwcGx5VG9GaWxsVGFyZ2V0VHlwZSwgdHJ1ZSk7CisgICAgICAgIH0KKyAgICB9CisK
KyAgICBTVkdQYWludFNlcnZlciogc3Ryb2tlUGFpbnRTZXJ2ZXIgPSBLU1ZHUGFpbnRlckZhY3Rv
cnk6OnN0cm9rZVBhaW50U2VydmVyKG9iamVjdCgpLT5zdHlsZSgpLCBvYmplY3QoKSk7CisgICAg
aWYgKHN0cm9rZVBhaW50U2VydmVyKSB7CisgICAgICAgIGlmIChzdHJva2VQYWludFNlcnZlci0+
c2V0dXAocGkuY29udGV4dCwgb2JqZWN0KCksIEFwcGx5VG9TdHJva2VUYXJnZXRUeXBlLCB0cnVl
KSkgeworICAgICAgICAgICAgVmVjdG9yPFNWR0NoYXI+OjppdGVyYXRvciBpdCA9IG1fc3ZnQ2hh
cnMuYmVnaW4oKTsKKyAgICAgICAgICAgIHBhaW50SW5saW5lQm94ZXMocGksIHR4LCB0eSwgdGhp
cywgaXQpOworICAgICAgICAgICAgQVNTRVJUKGl0ID09IG1fc3ZnQ2hhcnMuZW5kKCkpOworCisg
ICAgICAgICAgICBzdHJva2VQYWludFNlcnZlci0+dGVhcmRvd24ocGkuY29udGV4dCwgb2JqZWN0
KCksIEFwcGx5VG9TdHJva2VUYXJnZXRUeXBlLCB0cnVlKTsKKyAgICAgICAgfQorICAgIH0KKwor
ICAgIGlmIChmaWx0ZXIpCisgICAgICAgIGZpbHRlci0+YXBwbHlGaWx0ZXIocGFpbnRJbmZvLmNv
bnRleHQsIGJvdW5kaW5nQm94KTsKKworICAgIGlmIChvcGFjaXR5IDwgMS4wZikKKyAgICAgICAg
cGFpbnRJbmZvLmNvbnRleHQtPmVuZFRyYW5zcGFyZW5jeUxheWVyKCk7CisKKyAgICBwYWludElu
Zm8uY29udGV4dC0+cmVzdG9yZSgpOworfQorCitpbnQgU1ZHUm9vdElubGluZUJveDo6cGxhY2VC
b3hlc0hvcml6b250YWxseShpbnQgeCwgaW50JiBsZWZ0UG9zaXRpb24sIGludCYgcmlnaHRQb3Np
dGlvbiwgYm9vbCYgbmVlZHNXb3JkU3BhY2luZykKK3sKKyAgICAvLyBSZW1vdmUgYW55IG9mZnNl
dHMgY2F1c2VkIGJ5IFJUTCB0ZXh0IGxheW91dAorICAgIGxlZnRQb3NpdGlvbiA9IDA7CisgICAg
cmlnaHRQb3NpdGlvbiA9IDA7CisgICAgcmV0dXJuIDA7Cit9CisKK3ZvaWQgU1ZHUm9vdElubGlu
ZUJveDo6dmVydGljYWxseUFsaWduQm94ZXMoaW50JiBoZWlnaHRPZkJsb2NrKQoreworICAgIC8v
IGhlaWdodCBpcyBzZXQgYnkgbGF5b3V0SW5saW5lQm94ZXMuCisgICAgaGVpZ2h0T2ZCbG9jayA9
IGhlaWdodCgpOworfQorCitzdGF0aWMgdm9pZCBjdW1tdWxhdGVkV2lkdGhBbmRIZWlnaHRPZlRl
eHRDaHVuayhjb25zdCBTVkdUZXh0Q2h1bmsmIGNodW5rLCBmbG9hdCYgd2lkdGgsIGZsb2F0JiBo
ZWlnaHQpCit7CisgICAgZmxvYXQgbWluWCA9IDAuMCwgbWluWSA9IDAuMDsKKyAgICBmbG9hdCBt
YXhYID0gMC4wLCBtYXhZID0gMC4wOworCisgICAgVmVjdG9yPFNWR0NoYXI+OjppdGVyYXRvciBp
dCA9IGNodW5rLnN0YXJ0OworICAgIGZvciAoOyBpdCAhPSBjaHVuay5lbmQ7ICsraXQpIHsKKyAg
ICAgICAgU1ZHQ2hhciBjdXJDaGFyID0gKml0OworCisgICAgICAgIGlmIChpdCA9PSBjaHVuay5z
dGFydCB8fCBjdXJDaGFyLnggPCBtaW5YKQorICAgICAgICAgICAgbWluWCA9IGN1ckNoYXIueDsK
KworICAgICAgICBpZiAoaXQgPT0gY2h1bmsuc3RhcnQgfHwgY3VyQ2hhci54ID4gbWF4WCkKKyAg
ICAgICAgICAgIG1heFggPSBjdXJDaGFyLng7CisKKyAgICAgICAgaWYgKGl0ID09IGNodW5rLnN0
YXJ0IHx8IGN1ckNoYXIueSA8IG1pblkpCisgICAgICAgICAgICBtaW5ZID0gY3VyQ2hhci55Owor
CisgICAgICAgIGlmIChpdCA9PSBjaHVuay5zdGFydCB8fCBjdXJDaGFyLnkgPiBtYXhZKQorICAg
ICAgICAgICAgbWF4WSA9IGN1ckNoYXIueTsKKyAgICB9CisKKyAgICB3aWR0aCA9IG1heFggLSBt
aW5YOworICAgIGhlaWdodCA9IG1heFkgLSBtaW5ZOworfQorCitzdGF0aWMgdm9pZCBhcHBseVRl
eHRBbmNob3JUb1RleHRDaHVuayhjb25zdCBTVkdUZXh0Q2h1bmsmIGNodW5rKQoreworICAgIGlm
IChjaHVuay5hbmNob3IgPT0gVEFfU1RBUlQpCisgICAgICAgIHJldHVybjsKKworICAgIGZsb2F0
IHdpZHRoID0gMC4wLCBoZWlnaHQgPSAwLjA7CisgICAgY3VtbXVsYXRlZFdpZHRoQW5kSGVpZ2h0
T2ZUZXh0Q2h1bmsoY2h1bmssIHdpZHRoLCBoZWlnaHQpOworCisgICAgZmxvYXQgc2hpZnQgPSAw
LjA7CisKKyAgICBpZiAoY2h1bmsuaXNWZXJ0aWNhbFRleHQpCisgICAgICAgIHNoaWZ0ID0gaGVp
Z2h0ICsgY2h1bmsubGFzdEdseXBoSGVpZ2h0OworICAgIGVsc2UKKyAgICAgICAgc2hpZnQgPSB3
aWR0aCArIGNodW5rLmxhc3RHbHlwaFdpZHRoOworCisgICAgaWYgKGNodW5rLmFuY2hvciA9PSBU
QV9NSURETEUpCisgICAgICAgIHNoaWZ0IC89IC0yLjA7CisgICAgZWxzZQorICAgICAgICBzaGlm
dCAqPSAtMS4wOworCisgICAgLy8gQXBwbHkgY29ycmVjdGlvbiB0byBjaHVuaworICAgIFZlY3Rv
cjxTVkdDaGFyPjo6aXRlcmF0b3IgY2h1bmtJdCA9IGNodW5rLnN0YXJ0OworICAgIGZvciAoOyBj
aHVua0l0ICE9IGNodW5rLmVuZDsgKytjaHVua0l0KSB7CisgICAgICAgIFNWR0NoYXImIGN1ckNo
YXIgPSAqY2h1bmtJdDsKKworICAgICAgICBpZiAoY2h1bmsuaXNWZXJ0aWNhbFRleHQpCisgICAg
ICAgICAgICBjdXJDaGFyLnkgKz0gc2hpZnQ7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGN1
ckNoYXIueCArPSBzaGlmdDsKKyAgICB9CisKKyAgICAvLyBNb3ZlIGlubGluZSBib3hlcworICAg
IEhhc2hTZXQ8SW5saW5lQm94Kj46OmNvbnN0X2l0ZXJhdG9yIGJveEl0ID0gY2h1bmsuYm94ZXMu
YmVnaW4oKTsKKyAgICBjb25zdCBIYXNoU2V0PElubGluZUJveCo+Ojpjb25zdF9pdGVyYXRvciBi
b3hFbmQgPSBjaHVuay5ib3hlcy5lbmQoKTsKKworICAgIGZvciAoOyBib3hJdCAhPSBib3hFbmQ7
ICsrYm94SXQpIHsKKyAgICAgICAgSW5saW5lQm94KiBjdXJCb3ggPSAqYm94SXQ7CisKKyAgICAg
ICAgaWYgKGNodW5rLmlzVmVydGljYWxUZXh0KQorICAgICAgICAgICAgY3VyQm94LT5zZXRZUG9z
KGN1ckJveC0+eVBvcygpICsgc2hpZnQpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBjdXJC
b3gtPnNldFhQb3MoY3VyQm94LT54UG9zKCkgKyBzaGlmdCk7CisgICAgfQorfQorCit2b2lkIFNW
R1Jvb3RJbmxpbmVCb3g6OmNvbXB1dGVQZXJDaGFyYWN0ZXJMYXlvdXRJbmZvcm1hdGlvbigpCit7
CisgICAgLy8gQ2xlYW4gdXAgYW55IHByZXZpb3VzIGxheW91dCBpbmZvcm1hdGlvbgorICAgIG1f
c3ZnQ2hhcnMuY2xlYXIoKTsKKyAgICBtX3N2Z1RleHRDaHVua3MuY2xlYXIoKTsKKworICAgIC8v
IEJ1aWxkIGxheW91dCBpbmZvcm1hdGlvbiBmb3IgYWxsIGNvbnRhaW5lZCByZW5kZXIgb2JqZWN0
cworICAgIFNWR0NoYXJhY3RlckxheW91dEluZm8gaW5mbzsKKyAgICBidWlsZExheW91dEluZm9y
bWF0aW9uKHRoaXMsIGluZm8pOworCisgICAgLy8gTGF5b3V0IGFsbCBJbmxpbmVUZXh0L0Zsb3cg
Ym94ZXMKKyAgICBsYXlvdXRJbmxpbmVCb3hlcygpOworCisgICAgLy8gTm93IGFsbCBsYXlvdXQg
aW5mb3JtYXRpb24gYXJlIGF2YWlsYWJsZSBmb3IgZXZlcnkgY2hhcmFjdGVyCisgICAgLy8gY29u
dGFpbmVkIGluIGFueSBvZiBvdXIgY2hpbGQgaW5saW5lL2Zsb3cgYm94ZXMuIEJ1aWxkIGxpc3QK
KyAgICAvLyBvZiB0ZXh0IGNodW5rcyBub3csIHRvIGJlIGFibGUgdG8gYXBwbHkgdGV4dC1hbmNo
b3Igc2hpZnRzLgorICAgIGJ1aWxkVGV4dENodW5rcygpOworCisgICAgLy8gTGF5b3V0IGFsbCB0
ZXh0IGNodW5rcworICAgIC8vIHRleHQtYW5jaG9yIG5lZWRzIHRvIGJlIGFwcGxpZWQgdG8gaW5k
aXZpZHVhbCBjaHVua3MuCisgICAgbGF5b3V0VGV4dENodW5rcygpOworfQorCitzdGF0aWMgdm9p
ZCB0b3RhbEFkdmFuY2VPZkFsbEdseXBoc0luSW5saW5lQm94KElubGluZUZsb3dCb3gqIHN0YXJ0
LCBib29sIGlzVmVydGljYWxUZXh0LCBmbG9hdCYgdG90YWxBZHZhbmNlKQoreworICAgIGZvciAo
SW5saW5lQm94KiBjdXJyID0gc3RhcnQtPmZpcnN0Q2hpbGQoKTsgY3VycjsgY3VyciA9IGN1cnIt
Pm5leHRPbkxpbmUoKSkgeworICAgICAgICBpZiAoY3Vyci0+b2JqZWN0KCktPmlzVGV4dCgpKSB7
CisgICAgICAgICAgICBJbmxpbmVUZXh0Qm94KiB0ZXh0Qm94ID0gc3RhdGljX2Nhc3Q8SW5saW5l
VGV4dEJveCo+KGN1cnIpOworICAgICAgICAgICAgUmVuZGVyVGV4dCogdGV4dCA9IHN0YXRpY19j
YXN0PFJlbmRlclRleHQqPih0ZXh0Qm94LT5vYmplY3QoKSk7CisgICAgICAgICAgICBBU1NFUlQo
dGV4dCk7CisKKyAgICAgICAgICAgIGNvbnN0IEZvbnQmIGZvbnQgPSB0ZXh0LT5zdHlsZSgpLT5m
b250KCk7CisgICAgICAgICAgICB1bnNpZ25lZCBsZW5ndGggPSB0ZXh0Qm94LT5sZW4oKTsKKwor
ICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7CisgICAg
ICAgICAgICAgICAgaWYgKCFpc1ZlcnRpY2FsVGV4dCkKKyAgICAgICAgICAgICAgICAgICAgdG90
YWxBZHZhbmNlICs9IGZvbnQuZmxvYXRXaWR0aChUZXh0UnVuKHRleHQtPnRleHQoKSwgdGV4dEJv
eC0+c3RhcnQoKSArIGksIDEsIDApLCBUZXh0U3R5bGUoMCwgMCkpOworICAgICAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICAgICAgdG90YWxBZHZhbmNlICs9IGZvbnQuYXNjZW50KCkg
KyBmb250LmRlc2NlbnQoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgIEFTU0VSVChjdXJyLT5pc0lubGluZUZsb3dCb3goKSk7CisgICAgICAgICAgICB0b3Rh
bEFkdmFuY2VPZkFsbEdseXBoc0luSW5saW5lQm94KHN0YXRpY19jYXN0PElubGluZUZsb3dCb3gq
PihjdXJyKSwgaXNWZXJ0aWNhbFRleHQsIHRvdGFsQWR2YW5jZSk7CisgICAgICAgIH0KKyAgICB9
Cit9CisKK3ZvaWQgU1ZHUm9vdElubGluZUJveDo6YnVpbGRMYXlvdXRJbmZvcm1hdGlvbihJbmxp
bmVGbG93Qm94KiBzdGFydCwgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbyYgaW5mbykKK3sKKyAgICBp
ZiAoc3RhcnQtPmlzUm9vdElubGluZUJveCgpKSB7CisgICAgICAgIEFTU0VSVChzdGFydC0+b2Jq
ZWN0KCktPmVsZW1lbnQoKS0+aGFzVGFnTmFtZShTVkdOYW1lczo6dGV4dFRhZykpOworCisgICAg
ICAgIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQqIHBvc2l0aW9uaW5nRWxlbWVudCA9IHN0YXRp
Y19jYXN0PFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQqPihzdGFydC0+b2JqZWN0KCktPmVsZW1l
bnQoKSk7CisgICAgICAgIEFTU0VSVChwb3NpdGlvbmluZ0VsZW1lbnQpOworICAgICAgICBBU1NF
UlQocG9zaXRpb25pbmdFbGVtZW50LT5wYXJlbnROb2RlKCkpOworCisgICAgICAgIGluZm8uYWRk
TGF5b3V0SW5mb3JtYXRpb24ocG9zaXRpb25pbmdFbGVtZW50KTsKKyAgICB9CisKKyAgICBmb3Ig
KElubGluZUJveCogY3VyciA9IHN0YXJ0LT5maXJzdENoaWxkKCk7IGN1cnI7IGN1cnIgPSBjdXJy
LT5uZXh0T25MaW5lKCkpIHsKKyAgICAgICAgaWYgKGN1cnItPm9iamVjdCgpLT5pc1RleHQoKSkK
KyAgICAgICAgICAgIGJ1aWxkTGF5b3V0SW5mb3JtYXRpb25Gb3JUZXh0Qm94KGluZm8sIHN0YXRp
Y19jYXN0PElubGluZVRleHRCb3gqPihjdXJyKSk7CisgICAgICAgIGVsc2UgeworICAgICAgICAg
ICAgQVNTRVJUKGN1cnItPmlzSW5saW5lRmxvd0JveCgpKTsKKyAgICAgICAgICAgIElubGluZUZs
b3dCb3gqIGZsb3dCb3ggPSBzdGF0aWNfY2FzdDxJbmxpbmVGbG93Qm94Kj4oY3Vycik7CisKKyAg
ICAgICAgICAgIGJvb2wgaXNUZXh0UGF0aCA9IGZsb3dCb3gtPm9iamVjdCgpLT5lbGVtZW50KCkt
Pmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnRleHRQYXRoVGFnKTsKKyAgICAgICAgICAgIGlmICghaXNU
ZXh0UGF0aCkgeworICAgICAgICAgICAgICAgIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQqIHBv
c2l0aW9uaW5nRWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQq
PihmbG93Qm94LT5vYmplY3QoKS0+ZWxlbWVudCgpKTsKKyAgICAgICAgICAgICAgICBBU1NFUlQo
cG9zaXRpb25pbmdFbGVtZW50KTsKKyAgICAgICAgICAgICAgICBBU1NFUlQocG9zaXRpb25pbmdF
bGVtZW50LT5wYXJlbnROb2RlKCkpOworCisgICAgICAgICAgICAgICAgaW5mby5hZGRMYXlvdXRJ
bmZvcm1hdGlvbihwb3NpdGlvbmluZ0VsZW1lbnQpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgICAgICBpbmZvLnNldEluUGF0aExheW91dCh0cnVlKTsKKworICAgICAgICAgICAg
ICAgIGZsb2F0IHRleHRBbmNob3JTdGFydE9mZnNldCA9IDAuMDsKKyAgICAgICAgICAgICAgICBi
b29sIGlzVmVydGljYWxUZXh0ID0gaXNWZXJ0aWNhbFdyaXRpbmdNb2RlKGZsb3dCb3gtPm9iamVj
dCgpLT5zdHlsZSgpLT5zdmdTdHlsZSgpKTsKKworICAgICAgICAgICAgICAgIC8vIEhhbmRsZSB0
ZXh0LWFuY2hvciBvbiBwYXRoLCB3aGljaCBpcyBzcGVjaWFsLgorICAgICAgICAgICAgICAgIEVU
ZXh0QW5jaG9yIGFuY2hvciA9IGZsb3dCb3gtPm9iamVjdCgpLT5zdHlsZSgpLT5zdmdTdHlsZSgp
LT50ZXh0QW5jaG9yKCk7CisgICAgICAgICAgICAgICAgc3dpdGNoIChhbmNob3IpIHsKKyAgICAg
ICAgICAgICAgICAgICAgY2FzZSBUQV9FTkQ6CisgICAgICAgICAgICAgICAgICAgIGNhc2UgVEFf
TUlERExFOgorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICBm
bG9hdCB0b3RhbEFkdmFuY2UgPSAwLjA7CisgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbEFk
dmFuY2VPZkFsbEdseXBoc0luSW5saW5lQm94KGZsb3dCb3gsIGlzVmVydGljYWxUZXh0LCB0b3Rh
bEFkdmFuY2UpOworCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYW5jaG9yID09IFRBX0VO
RCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yU3RhcnRPZmZzZXQgLT0g
dG90YWxBZHZhbmNlOworICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRleHRBbmNob3JTdGFydE9mZnNldCAtPSB0b3RhbEFkdmFuY2UgLyAy
LjA7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgY2FzZSBUQV9T
VEFSVDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAg
ICBkZWZhdWx0OgorICAgICAgICAgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaW5mby5hZGRMYXlvdXRJbmZv
cm1hdGlvbihmbG93Qm94LCB0ZXh0QW5jaG9yU3RhcnRPZmZzZXQpOworICAgICAgICAgICAgfQor
CisgICAgICAgICAgICBmbG9hdCBzaGlmdHhTYXZlZCA9IGluZm8uc2hpZnR4OworICAgICAgICAg
ICAgZmxvYXQgc2hpZnR5U2F2ZWQgPSBpbmZvLnNoaWZ0eTsKKworICAgICAgICAgICAgYnVpbGRM
YXlvdXRJbmZvcm1hdGlvbihmbG93Qm94LCBpbmZvKTsKKyAgICAgICAgICAgIGluZm8ucHJvY2Vz
c2VkQ2h1bmsoc2hpZnR4U2F2ZWQsIHNoaWZ0eVNhdmVkKTsKKworICAgICAgICAgICAgaWYgKGlz
VGV4dFBhdGgpCisgICAgICAgICAgICAgICAgaW5mby5zZXRJblBhdGhMYXlvdXQoZmFsc2UpOwor
ICAgICAgICB9CisgICAgfQorfQorCit2b2lkIFNWR1Jvb3RJbmxpbmVCb3g6OmxheW91dElubGlu
ZUJveGVzKCkKK3sKKyAgICBpbnQgbG93WCA9IElOVF9NQVg7CisgICAgaW50IGxvd1kgPSBJTlRf
TUFYOworICAgIGludCBoaWdoWCA9IElOVF9NSU47CisgICAgaW50IGhpZ2hZID0gSU5UX01JTjsK
KworICAgIC8vIExheW91dCBhbGwgY2hpbGQgYm94ZXMKKyAgICBWZWN0b3I8U1ZHQ2hhcj46Oml0
ZXJhdG9yIGl0ID0gbV9zdmdDaGFycy5iZWdpbigpOyAKKyAgICBsYXlvdXRJbmxpbmVCb3hlcyh0
aGlzLCBpdCwgbG93WCwgaGlnaFgsIGxvd1ksIGhpZ2hZKTsKKyAgICBBU1NFUlQoaXQgPT0gbV9z
dmdDaGFycy5lbmQoKSk7Cit9CisKK3ZvaWQgU1ZHUm9vdElubGluZUJveDo6bGF5b3V0SW5saW5l
Qm94ZXMoSW5saW5lRmxvd0JveCogc3RhcnQsIFZlY3RvcjxTVkdDaGFyPjo6aXRlcmF0b3ImIGl0
LCBpbnQmIGxvd1gsIGludCYgaGlnaFgsIGludCYgbG93WSwgaW50JiBoaWdoWSkKK3sKKyAgICBm
b3IgKElubGluZUJveCogY3VyciA9IHN0YXJ0LT5maXJzdENoaWxkKCk7IGN1cnI7IGN1cnIgPSBj
dXJyLT5uZXh0T25MaW5lKCkpIHsKKyAgICAgICAgY29uc3QgRm9udCYgZm9udCA9IGN1cnItPm9i
amVjdCgpLT5zdHlsZSgpLT5mb250KCk7CisgICAKKyAgICAgICAgaWYgKGN1cnItPm9iamVjdCgp
LT5pc1RleHQoKSkgeworICAgICAgICAgICAgSW5saW5lVGV4dEJveCogdGV4dEJveCA9IHN0YXRp
Y19jYXN0PElubGluZVRleHRCb3gqPihjdXJyKTsKKyAgICAgICAgICAgIHVuc2lnbmVkIGxlbmd0
aCA9IHRleHRCb3gtPmxlbigpOworCisgICAgICAgICAgICBmbG9hdCBtaW5YID0gMC4wLCBtaW5Z
ID0gMC4wOworICAgICAgICAgICAgZmxvYXQgbWF4WCA9IDAuMCwgbWF4WSA9IDAuMDsKKworICAg
ICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7CisgICAgICAg
ICAgICAgICAgQVNTRVJUKGl0ICE9IG1fc3ZnQ2hhcnMuZW5kKCkpOworICAgICAgICAgICAgICAg
IFNWR0NoYXIgY3VyQ2hhciA9ICppdDsKKworICAgICAgICAgICAgICAgIGlmIChpID09IDAgfHwg
Y3VyQ2hhci54IDwgbWluWCkKKyAgICAgICAgICAgICAgICAgICAgbWluWCA9IGN1ckNoYXIueDsK
KworICAgICAgICAgICAgICAgIGlmIChpID09IDAgfHwgY3VyQ2hhci54ID4gbWF4WCkKKyAgICAg
ICAgICAgICAgICAgICAgbWF4WCA9IGN1ckNoYXIueDsKKworICAgICAgICAgICAgICAgIGlmIChp
ID09IDAgfHwgY3VyQ2hhci55IDwgbWluWSkKKyAgICAgICAgICAgICAgICAgICAgbWluWSA9IGN1
ckNoYXIueTsKKworICAgICAgICAgICAgICAgIGlmIChpID09IDAgfHwgY3VyQ2hhci55ID4gbWF4
WSkKKyAgICAgICAgICAgICAgICAgICAgbWF4WSA9IGN1ckNoYXIueTsKKworICAgICAgICAgICAg
ICAgIGl0Kys7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIFJlbmRlclRleHQqIHRleHQg
PSB0ZXh0Qm94LT50ZXh0T2JqZWN0KCk7CisgICAgICAgICAgICBBU1NFUlQodGV4dCk7CisKKyAg
ICAgICAgICAgIG1heFggKz0gdGV4dC0+d2lkdGgodGV4dEJveC0+ZW5kKCksIDEsIGZvbnQsIDAp
OworICAgICAgICAgICAgbWF4WSArPSBmb250LmFzY2VudCgpICsgZm9udC5kZXNjZW50KCk7CisK
KyAgICAgICAgICAgIGN1cnItPnNldFhQb3MobWluWCAtIG9iamVjdCgpLT54UG9zKCkpOworICAg
ICAgICAgICAgY3Vyci0+c2V0V2lkdGgobWF4WCAtIG1pblgpOworCisgICAgICAgICAgICBjdXJy
LT5zZXRZUG9zKG1pblkgLSBvYmplY3QoKS0+eVBvcygpIC0gZm9udC5hc2NlbnQoKSk7CisgICAg
ICAgICAgICBjdXJyLT5zZXRCYXNlbGluZShmb250LmFzY2VudCgpKTsKKyAgICAgICAgICAgIGN1
cnItPnNldEhlaWdodChtYXhZIC0gbWluWSk7CisKKyAgICAgICAgICAgIGlmIChtaW5YIDwgbG93
WCkKKyAgICAgICAgICAgICAgICBsb3dYID0gbWluWDsKKworICAgICAgICAgICAgaWYgKG1heFgg
PiBoaWdoWCkKKyAgICAgICAgICAgICAgICBoaWdoWCA9IG1heFg7CisKKyAgICAgICAgICAgIGlm
IChtaW5ZIDwgbG93WSkKKyAgICAgICAgICAgICAgICBsb3dZID0gbWluWTsKKworICAgICAgICAg
ICAgaWYgKG1heFkgPiBoaWdoWSkKKyAgICAgICAgICAgICAgICBoaWdoWSA9IG1heFk7CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICBBU1NFUlQoY3Vyci0+aXNJbmxpbmVGbG93Qm94KCkp
OworCisgICAgICAgICAgICBpbnQgbWluWCA9IElOVF9NQVg7CisgICAgICAgICAgICBpbnQgbWlu
WSA9IElOVF9NQVg7CisgICAgICAgICAgICBpbnQgbWF4WCA9IElOVF9NSU47CisgICAgICAgICAg
ICBpbnQgbWF4WSA9IElOVF9NSU47CisKKyAgICAgICAgICAgIElubGluZUZsb3dCb3gqIGZsb3dC
b3ggPSBzdGF0aWNfY2FzdDxJbmxpbmVGbG93Qm94Kj4oY3Vycik7CisgICAgICAgICAgICBsYXlv
dXRJbmxpbmVCb3hlcyhmbG93Qm94LCBpdCwgbWluWCwgbWF4WCwgbWluWSwgbWF4WSk7CisKKyAg
ICAgICAgICAgIGN1cnItPnNldFhQb3MobWluWCAtIG9iamVjdCgpLT54UG9zKCkpOworICAgICAg
ICAgICAgY3Vyci0+c2V0V2lkdGgobWF4WCAtIG1pblgpOworCisgICAgICAgICAgICBjdXJyLT5z
ZXRZUG9zKG1pblkgLSBvYmplY3QoKS0+eVBvcygpIC0gZm9udC5hc2NlbnQoKSk7CisgICAgICAg
ICAgICBjdXJyLT5zZXRCYXNlbGluZShmb250LmFzY2VudCgpKTsKKyAgICAgICAgICAgIGN1cnIt
PnNldEhlaWdodChtYXhZIC0gbWluWSk7CisKKyAgICAgICAgICAgIGxvd1ggPSBtaW5YOworICAg
ICAgICAgICAgaGlnaFggPSBtYXhYOworCisgICAgICAgICAgICBsb3dZID0gbWluWTsKKyAgICAg
ICAgICAgIGhpZ2hZID0gbWF4WTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChzdGFydC0+
aXNSb290SW5saW5lQm94KCkpIHsKKyAgICAgICAgY29uc3QgRm9udCYgZm9udCA9IHN0YXJ0LT5v
YmplY3QoKS0+c3R5bGUoKS0+Zm9udCgpOworIAorICAgICAgICBpbnQgdG9wID0gbG93WSAtIG9i
amVjdCgpLT55UG9zKCkgLSBmb250LmFzY2VudCgpOworICAgICAgICBpbnQgYm90dG9tID0gaGln
aFkgLSBvYmplY3QoKS0+eVBvcygpOworCisgICAgICAgIHN0YXJ0LT5zZXRYUG9zKGxvd1ggLSBv
YmplY3QoKS0+eFBvcygpKTsKKyAgICAgICAgc3RhcnQtPnNldFlQb3ModG9wKTsKKworICAgICAg
ICBzdGFydC0+c2V0V2lkdGgoaGlnaFggLSBsb3dYKTsKKyAgICAgICAgc3RhcnQtPnNldEhlaWdo
dChoaWdoWSAtIGxvd1kpOworCisgICAgICAgIHN0YXJ0LT5zZXRWZXJ0aWNhbE92ZXJmbG93UG9z
aXRpb25zKHRvcCwgYm90dG9tKTsKKyAgICAgICAgc3RhcnQtPnNldFZlcnRpY2FsU2VsZWN0aW9u
UG9zaXRpb25zKHRvcCwgYm90dG9tKTsKKyAgICB9Cit9CisKK3ZvaWQgU1ZHUm9vdElubGluZUJv
eDo6YnVpbGRMYXlvdXRJbmZvcm1hdGlvbkZvclRleHRCb3goU1ZHQ2hhcmFjdGVyTGF5b3V0SW5m
byYgaW5mbywgSW5saW5lVGV4dEJveCogdGV4dEJveCkKK3sKKyAgICBSZW5kZXJUZXh0KiB0ZXh0
ID0gdGV4dEJveC0+dGV4dE9iamVjdCgpOworICAgIEFTU0VSVCh0ZXh0KTsKKworICAgIFJlbmRl
clN0eWxlKiBzdHlsZSA9IHRleHQtPnN0eWxlKHRleHRCb3gtPmlzRmlyc3RMaW5lU3R5bGUoKSk7
CisgICAgQVNTRVJUKHN0eWxlKTsKKworICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBzdHlsZS0+Zm9u
dCgpOworICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRleHRCb3gtPmxlbigpOworICAgIGJvb2wgaXNW
ZXJ0aWNhbFRleHQgPSBpc1ZlcnRpY2FsV3JpdGluZ01vZGUoc3R5bGUtPnN2Z1N0eWxlKCkpOwor
CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7CisgICAgICAgIFNW
R0NoYXIgc3ZnQ2hhcjsKKyAgICAgICAgc3ZnQ2hhci5uZXdUZXh0Q2h1bmsgPSBmYWxzZTsKKwor
ICAgICAgICBmbG9hdCBhbmdsZSA9IDAuMDsKKyAgICAgICAgZmxvYXQgZ2x5cGhXaWR0aCA9IGZv
bnQuZmxvYXRXaWR0aChUZXh0UnVuKHRleHQtPnRleHQoKSwgdGV4dEJveC0+c3RhcnQoKSArIGks
IDEsIDApLCBUZXh0U3R5bGUoMCwgMCkpOworICAgICAgICBmbG9hdCBnbHlwaEhlaWdodCA9IGZv
bnQuYXNjZW50KCkgKyBmb250LmRlc2NlbnQoKTsKKworICAgICAgICBib29sIGFzc2lnbmVkWCA9
IGZhbHNlOworICAgICAgICBib29sIGFzc2lnbmVkWSA9IGZhbHNlOworCisgICAgICAgIGlmIChp
bmZvLnhWYWx1ZUF2YWlsYWJsZSgpICYmICghaW5mby5pblBhdGhMYXlvdXQoKSB8fCAoaW5mby5p
blBhdGhMYXlvdXQoKSAmJiAhaXNWZXJ0aWNhbFRleHQpKSkgeworICAgICAgICAgICAgaWYgKCFp
c1ZlcnRpY2FsVGV4dCkKKyAgICAgICAgICAgICAgICBzdmdDaGFyLm5ld1RleHRDaHVuayA9IHRy
dWU7CisKKyAgICAgICAgICAgIGFzc2lnbmVkWCA9IHRydWU7CisgICAgICAgICAgICBzdmdDaGFy
LmRyYXduU2VwZXJhdGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIGluZm8uY3VyeCA9IGluZm8ueFZh
bHVlTmV4dCgpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGluZm8ueVZhbHVlQXZhaWxhYmxl
KCkgJiYgKCFpbmZvLmluUGF0aExheW91dCgpIHx8IChpbmZvLmluUGF0aExheW91dCgpICYmIGlz
VmVydGljYWxUZXh0KSkpIHsKKyAgICAgICAgICAgIGlmIChpc1ZlcnRpY2FsVGV4dCkKKyAgICAg
ICAgICAgICAgICBzdmdDaGFyLm5ld1RleHRDaHVuayA9IHRydWU7CisKKyAgICAgICAgICAgIGFz
c2lnbmVkWSA9IHRydWU7CisgICAgICAgICAgICBzdmdDaGFyLmRyYXduU2VwZXJhdGVkID0gdHJ1
ZTsKKyAgICAgICAgICAgIGluZm8uY3VyeSA9IGluZm8ueVZhbHVlTmV4dCgpOworICAgICAgICB9
CisKKyAgICAgICAgLy8gQ2FsY3VsYXRlIGFic29sdXRlIHgveSB2YWx1ZXMsIGlmIG5lZWRlZAor
ICAgICAgICBpZiAoIWluZm8uaW5QYXRoTGF5b3V0KCkpIHsKKyAgICAgICAgICAgIHN2Z0NoYXIu
dmlzaWJsZSA9IHRydWU7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBmbG9hdCBnbHlw
aEFkdmFuY2UgPSBpc1ZlcnRpY2FsVGV4dCA/IGdseXBoSGVpZ2h0IDogZ2x5cGhXaWR0aDsKKyAg
ICAgICAgICAgIGZsb2F0IG5ld09mZnNldCA9IEZMVF9NSU47CisKKyAgICAgICAgICAgIGlmIChh
c3NpZ25lZFggJiYgIWlzVmVydGljYWxUZXh0KQorICAgICAgICAgICAgICAgIG5ld09mZnNldCA9
IGluZm8uY3VyeDsKKyAgICAgICAgICAgIGVsc2UgaWYgKGFzc2lnbmVkWSAmJiBpc1ZlcnRpY2Fs
VGV4dCkKKyAgICAgICAgICAgICAgICBuZXdPZmZzZXQgPSBpbmZvLmN1cnk7CisKKyAgICAgICAg
ICAgIHN2Z0NoYXIudmlzaWJsZSA9IGluZm8ubmV4dFBhdGhMYXlvdXRQb2ludEFuZEFuZ2xlKGlu
Zm8uY3VyeCwgaW5mby5jdXJ5LCBhbmdsZSwgZ2x5cGhBZHZhbmNlLCBuZXdPZmZzZXQpOworICAg
ICAgICB9CisKKyAgICAgICAgZmxvYXQgZHggPSAwLjA7CisgICAgICAgIGZsb2F0IGR5ID0gMC4w
OworCisgICAgICAgIC8vIEFwcGx5IHgtYXhpcyBzaGlmdAorICAgICAgICBpZiAoaW5mby5keFZh
bHVlQXZhaWxhYmxlKCkpIHsKKyAgICAgICAgICAgIGR4ID0gaW5mby5keFZhbHVlTmV4dCgpOwor
ICAgICAgICAgICAgc3ZnQ2hhci5kcmF3blNlcGVyYXRlZCA9IHRydWU7CisKKyAgICAgICAgICAg
IGluZm8uZHggKz0gZHg7CisgICAgCisgICAgICAgICAgICBpZiAoIWluZm8uaW5QYXRoTGF5b3V0
KCkpCisgICAgICAgICAgICAgICAgaW5mby5jdXJ4ICs9IGR4OworICAgICAgICB9CisKKyAgICAg
ICAgLy8gQXBwbHkgeS1heGlzIHNoaWZ0CisgICAgICAgIGlmIChpbmZvLmR5VmFsdWVBdmFpbGFi
bGUoKSkgeworICAgICAgICAgICAgZHkgPSBpbmZvLmR5VmFsdWVOZXh0KCk7CisgICAgICAgICAg
ICBzdmdDaGFyLmRyYXduU2VwZXJhdGVkID0gdHJ1ZTsKKworICAgICAgICAgICAgaW5mby5keSAr
PSBkeTsKKworICAgICAgICAgICAgaWYgKCFpbmZvLmluUGF0aExheW91dCgpKQorICAgICAgICAg
ICAgICAgIGluZm8uY3VyeSArPSBkeTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIEFwcGx5IHJv
dGF0aW9uCisgICAgICAgIGlmIChpbmZvLmFuZ2xlVmFsdWVBdmFpbGFibGUoKSkgeworICAgICAg
ICAgICAgc3ZnQ2hhci5kcmF3blNlcGVyYXRlZCA9IHRydWU7CisgICAgICAgICAgICBhbmdsZSA9
IGluZm8uYW5nbGVWYWx1ZU5leHQoKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIEFwcGx5IGJh
c2VsaW5lLXNoaWZ0CisgICAgICAgIGlmIChpbmZvLmJhc2VsaW5lU2hpZnRWYWx1ZUF2YWlsYWJs
ZSgpKSB7CisgICAgICAgICAgICBzdmdDaGFyLmRyYXduU2VwZXJhdGVkID0gdHJ1ZTsKKyAgICAg
ICAgICAgIGZsb2F0IHNoaWZ0ID0gaW5mby5iYXNlbGluZVNoaWZ0VmFsdWVOZXh0KCk7CisKKyAg
ICAgICAgICAgIGlmIChpc1ZlcnRpY2FsVGV4dCkgeworICAgICAgICAgICAgICAgIGluZm8uc2hp
ZnR4ICs9IHNoaWZ0OworICAgICAgICAgICAgICAgIGluZm8uY3VyeCArPSBzaGlmdDsKKyAgICAg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaW5mby5zaGlmdHkgLT0gc2hpZnQ7Cisg
ICAgICAgICAgICAgICAgaW5mby5jdXJ5IC09IHNoaWZ0OworICAgICAgICAgICAgfQorICAgICAg
ICB9CisKKyAgICAgICAgc3ZnQ2hhci54ID0gaW5mby5jdXJ4OworICAgICAgICBzdmdDaGFyLnkg
PSBpbmZvLmN1cnk7CisKKyAgICAgICAgZmxvYXQgcGF0aFhTaGlmdCA9IDAuMDsKKyAgICAgICAg
ZmxvYXQgcGF0aFlTaGlmdCA9IDAuMDsKKworICAgICAgICAvLyBDb3JyZWN0IGNoYXJhY3RlciBw
b3NpdGlvbiBmb3IgdGV4dCBvbiBwYXRoIGxheW91dAorICAgICAgICAvLyBBbGwgcGxhY2VkIGNo
YXJhY3RlcnMgb24gYSBwYXRoIHVzZSBhYnNvbHV0ZSBwb3NpdGlvbmluZyAoaW50ZXJuYWxseSku
CisgICAgICAgIC8vIFNvIHdlIHN0aWxsIGhhdmUgdG8gYXBwbHkgYmFzZWxpbmUtc2hpZnQvZHgv
ZHkgY29ycmVjdGlvbnMgbWFudWFsbHkuCisgICAgICAgIGlmIChpbmZvLmluUGF0aExheW91dCgp
KSB7CisgICAgICAgICAgICBzdmdDaGFyLmRyYXduU2VwZXJhdGVkID0gdHJ1ZTsKKworICAgICAg
ICAgICAgLy8gVHJhbnNsYXRlIHRvIGdseXBoIG1pZHBvaW50CisgICAgICAgICAgICBpZiAoaXNW
ZXJ0aWNhbFRleHQpCisgICAgICAgICAgICAgICAgcGF0aFlTaGlmdCA9IGdseXBoSGVpZ2h0IC8g
Mi4wOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHBhdGhYU2hpZnQgPSBnbHlw
aFdpZHRoIC8gMi4wOworCisgICAgICAgICAgICAvLyBSZXNwZWN0IGFjY3VtdWxhdGVkIGR4L2R5
IHZhbHVlcworICAgICAgICAgICAgcGF0aFhTaGlmdCAtPSBpbmZvLmR4OworICAgICAgICAgICAg
cGF0aFlTaGlmdCAtPSBpbmZvLmR5OworCisgICAgICAgICAgICAvLyBBbHRlciBjaGFyYWN0ZXIg
cG9zaXRpb24KKyAgICAgICAgICAgIHN2Z0NoYXIueCAtPSBwYXRoWFNoaWZ0OworICAgICAgICAg
ICAgc3ZnQ2hhci55IC09IHBhdGhZU2hpZnQ7CisgICAgICAgIH0KKworICAgICAgICAvLyBDb3Jy
ZWN0IGNoYXJhY3RlciBwb3NpdGlvbiBmb3IgdmVydGljYWwgdGV4dCBsYXlvdXQKKyAgICAgICAg
aWYgKGlzVmVydGljYWxUZXh0KSB7CisgICAgICAgICAgICBzdmdDaGFyLmRyYXduU2VwZXJhdGVk
ID0gdHJ1ZTsKKyAgICAgICAgICAgIHN2Z0NoYXIueCAtPSBnbHlwaFdpZHRoIC8gMi4wOworICAg
ICAgICAgICAgc3ZnQ2hhci55ICs9IGdseXBoSGVpZ2h0OworICAgICAgICB9CisKKyAgICAgICAg
Ly8gU2V0dXAgYWZmaW5lIHRyYW5zZm9ybSBmb3Igc2luZ2xlIGdseXBoCisgICAgICAgIGlmIChh
bmdsZSAhPSAwLjApIHsKKyAgICAgICAgICAgIEFmZmluZVRyYW5zZm9ybSByb3RhdGlvbk1hdHJp
eDsKKworICAgICAgICAgICAgcm90YXRpb25NYXRyaXgudHJhbnNsYXRlKHN2Z0NoYXIueCArIHBh
dGhYU2hpZnQsIHN2Z0NoYXIueSArIHBhdGhZU2hpZnQpOworICAgICAgICAgICAgcm90YXRpb25N
YXRyaXgucm90YXRlKGFuZ2xlKTsKKyAgICAgICAgICAgIHJvdGF0aW9uTWF0cml4LnRyYW5zbGF0
ZSgtc3ZnQ2hhci54IC0gcGF0aFhTaGlmdCwgLXN2Z0NoYXIueSAtIHBhdGhZU2hpZnQpOworCisg
ICAgICAgICAgICBzdmdDaGFyLnRyYW5zZm9ybSA9IHJvdGF0aW9uTWF0cml4OworICAgICAgICB9
CisKKyAgICAgICAgLy8gQWR2YW5jZSBjdXJyZW50IHBvc2l0aW9uCisgICAgICAgIGlmICghaXNW
ZXJ0aWNhbFRleHQpCisgICAgICAgICAgICBpbmZvLmN1cnggKz0gZ2x5cGhXaWR0aDsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgaW5mby5jdXJ5ICs9IGdseXBoSGVpZ2h0OworCisgICAgICAg
IG1fc3ZnQ2hhcnMuYXBwZW5kKHN2Z0NoYXIpOworICAgICAgICBpbmZvLnByb2Nlc3NlZFNpbmds
ZUNoYXJhY3RlcigpOworICAgIH0KK30KKwordm9pZCBTVkdSb290SW5saW5lQm94OjpidWlsZFRl
eHRDaHVua3MoKQoreworICAgIFNWR1RleHRDaHVua0xheW91dEluZm8gaW5mbzsKKyAgICBpbmZv
Lml0ID0gbV9zdmdDaGFycy5iZWdpbigpOworICAgIGluZm8uY2h1bmsuc3RhcnQgPSBtX3N2Z0No
YXJzLmJlZ2luKCk7CisgICAgaW5mby5jaHVuay5lbmQgPSBtX3N2Z0NoYXJzLmJlZ2luKCk7CisK
KyAgICBidWlsZFRleHRDaHVua3ModGhpcywgaW5mbyk7CisgICAgQVNTRVJUKGluZm8uaXQgPT0g
bV9zdmdDaGFycy5lbmQoKSk7Cit9CisKK3ZvaWQgU1ZHUm9vdElubGluZUJveDo6YnVpbGRUZXh0
Q2h1bmtzKElubGluZUZsb3dCb3gqIHN0YXJ0LCBTVkdUZXh0Q2h1bmtMYXlvdXRJbmZvJiBpbmZv
KQoreworICAgIGZvciAoSW5saW5lQm94KiBjdXJyID0gc3RhcnQtPmZpcnN0Q2hpbGQoKTsgY3Vy
cjsgY3VyciA9IGN1cnItPm5leHRPbkxpbmUoKSkgeworICAgICAgICBpZiAoY3Vyci0+b2JqZWN0
KCktPmlzVGV4dCgpKSB7CisgICAgICAgICAgICBJbmxpbmVUZXh0Qm94KiB0ZXh0Qm94ID0gc3Rh
dGljX2Nhc3Q8SW5saW5lVGV4dEJveCo+KGN1cnIpOworCisgICAgICAgICAgICB1bnNpZ25lZCBs
ZW5ndGggPSB0ZXh0Qm94LT5sZW4oKTsKKyAgICAgICAgICAgIGlmICghbGVuZ3RoKQorICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBpZiAoaW5mby5hZHZhbmNlT25seSkg
eworICAgICAgICAgICAgICAgIGluZm8uaXQgKz0gbGVuZ3RoOworICAgICAgICAgICAgICAgIGNv
bnRpbnVlOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBjb25zdCBGb250JiBmb250ID0g
Y3Vyci0+b2JqZWN0KCktPnN0eWxlKCktPmZvbnQoKTsKKyAgICAgICAgICAgIFJlbmRlclRleHQq
IHRleHQgPSB0ZXh0Qm94LT50ZXh0T2JqZWN0KCk7CisgICAgICAgICAgICBBU1NFUlQodGV4dCk7
CisKKyAgICAgICAgICAgIC8vIElmIGEgbmV3IChvciB0aGUgZmlyc3QpIGNodW5rIGhhcyBiZWVu
IHN0YXJ0ZWQsIHJlY29yZCBpdCdzIHRleHQtYW5jaG9yLgorICAgICAgICAgICAgaWYgKGluZm8u
YXNzaWduTmV3QW5jaG9yKSB7CisgICAgICAgICAgICAgICAgaW5mby5hc3NpZ25OZXdBbmNob3Ig
PSBmYWxzZTsKKyAgICAgICAgICAgICAgICBpbmZvLmNodW5rLmlzVmVydGljYWxUZXh0ID0gaXNW
ZXJ0aWNhbFdyaXRpbmdNb2RlKHRleHQtPnN0eWxlKCktPnN2Z1N0eWxlKCkpOworICAgICAgICAg
ICAgICAgIGluZm8uY2h1bmsuYW5jaG9yID0gdGV4dC0+c3R5bGUoKS0+c3ZnU3R5bGUoKS0+dGV4
dEFuY2hvcigpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAoIWluZm8uY2h1bmsu
Ym94ZXMuY29udGFpbnMoY3VycikpCisgICAgICAgICAgICAgICAgaW5mby5jaHVuay5ib3hlcy5h
ZGQoY3Vycik7CisKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7
ICsraSkgeworICAgICAgICAgICAgICAgIEFTU0VSVChpbmZvLml0ICE9IG1fc3ZnQ2hhcnMuZW5k
KCkpOworCisgICAgICAgICAgICAgICAgYm9vbCBpc0ZpcnN0Q2hhcmFjdGVyID0gaW5mby5jaHVu
ay5zdGFydCA9PSBpbmZvLml0ICYmIGluZm8uY2h1bmsuc3RhcnQgPT0gaW5mby5jaHVuay5lbmQ7
CisgICAgICAgICAgICAgICAgaWYgKCgqaW5mby5pdCkubmV3VGV4dENodW5rKSB7CisgICAgICAg
ICAgICAgICAgICAgIGlmICghaXNGaXJzdENoYXJhY3RlcikgeworICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gQ2xvc2UgbWlkIGNodW5rCisgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLmNo
dW5rLmVuZCA9IGluZm8uaXQ7CisgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLmNodW5rLmxh
c3RHbHlwaFdpZHRoID0gdGV4dC0+d2lkdGgodGV4dEJveC0+c3RhcnQoKSArIGkgLSAxLCAxLCBm
b250LCAwKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGluZm8uY2h1bmsubGFzdEdseXBoSGVp
Z2h0ID0gZm9udC5hc2NlbnQoKSArIGZvbnQuZGVzY2VudCgpOworICAgICAgICAgICAgICAgICAg
ICAgICAgbV9zdmdUZXh0Q2h1bmtzLmFwcGVuZChpbmZvLmNodW5rKTsKKworICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gUHJlcGFyZSBmb3IgbmV4dCBjaHVuaworICAgICAgICAgICAgICAgICAg
ICAgICAgaW5mby5jaHVuay5ib3hlcy5jbGVhcigpOworICAgICAgICAgICAgICAgICAgICAgICAg
aW5mby5jaHVuay5zdGFydCA9IGluZm8uaXQ7CisgICAgICAgICAgICAgICAgICAgICAgICBpbmZv
LmNodW5rLmFuY2hvciA9IHRleHQtPnN0eWxlKCktPnN2Z1N0eWxlKCktPnRleHRBbmNob3IoKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGluZm8uY2h1bmsuaXNWZXJ0aWNhbFRleHQgPSBpc1Zl
cnRpY2FsV3JpdGluZ01vZGUodGV4dC0+c3R5bGUoKS0+c3ZnU3R5bGUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgCisgICAgICAgICAgICAgICAgaW5m
by5pdCsrOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAoaW5mby5pdCA9PSBtX3N2
Z0NoYXJzLmVuZCgpKSB7CisgICAgICAgICAgICAgICAgLy8gUmVtZW1iZXIgdWFzdCBnbHlwaCB3
aWR0aC9oZWlnaHQsIGFzIHRoZSBmaW5hbCBjaHVuayBnZXRzIGNsb3NlZCBzb29uLgorICAgICAg
ICAgICAgICAgIGluZm8uY2h1bmsubGFzdEdseXBoV2lkdGggPSB0ZXh0LT53aWR0aCh0ZXh0Qm94
LT5lbmQoKSwgMSwgZm9udCwgMCk7CisgICAgICAgICAgICAgICAgaW5mby5jaHVuay5sYXN0R2x5
cGhIZWlnaHQgPSBmb250LmFzY2VudCgpICsgZm9udC5kZXNjZW50KCk7CisgICAgICAgICAgICB9
CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBBU1NFUlQoY3Vyci0+aXNJbmxpbmVGbG93
Qm94KCkpOworICAgICAgICAgICAgSW5saW5lRmxvd0JveCogZmxvd0JveCA9IHN0YXRpY19jYXN0
PElubGluZUZsb3dCb3gqPihjdXJyKTsKKworICAgICAgICAgICAgLy8gPHRleHRQYXRoPiBkb2Vz
bid0IG5lZWQgdGhpcyBjaHVuayBsb2dpYy4KKyAgICAgICAgICAgIGJvb2wgaXNUZXh0UGF0aCA9
IGZsb3dCb3gtPm9iamVjdCgpLT5lbGVtZW50KCktPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnRleHRQ
YXRoVGFnKTsKKworICAgICAgICAgICAgaWYgKGlzVGV4dFBhdGgpCisgICAgICAgICAgICAgICAg
aW5mby5hZHZhbmNlT25seSA9IHRydWU7CisKKyAgICAgICAgICAgIGJ1aWxkVGV4dENodW5rcyhm
bG93Qm94LCBpbmZvKTsKKworICAgICAgICAgICAgaWYgKGlzVGV4dFBhdGgpCisgICAgICAgICAg
ICAgICAgaW5mby5hZHZhbmNlT25seSA9IGZhbHNlOworICAgICAgICB9CisgICAgfQorCisgICAg
Ly8gQ2xvc2UgZmluYWwgY2h1bmsKKyAgICBpZiAoc3RhcnQtPmlzUm9vdElubGluZUJveCgpKSB7
CisgICAgICAgIEFTU0VSVChpbmZvLml0ID09IG1fc3ZnQ2hhcnMuZW5kKCkpOworCisgICAgICAg
IGluZm8uY2h1bmsuZW5kID0gaW5mby5pdDsKKyAgICAgICAgbV9zdmdUZXh0Q2h1bmtzLmFwcGVu
ZChpbmZvLmNodW5rKTsKKyAgICB9Cit9CisKK3ZvaWQgU1ZHUm9vdElubGluZUJveDo6bGF5b3V0
VGV4dENodW5rcygpCit7CisgICAgVmVjdG9yPFNWR1RleHRDaHVuaz46Oml0ZXJhdG9yIGl0ID0g
bV9zdmdUZXh0Q2h1bmtzLmJlZ2luKCk7CisgICAgVmVjdG9yPFNWR1RleHRDaHVuaz46Oml0ZXJh
dG9yIGVuZCA9IG1fc3ZnVGV4dENodW5rcy5lbmQoKTsKKworICAgIGZvciAoOyBpdCAhPSBlbmQ7
ICsraXQpIHsKKyAgICAgICAgU1ZHVGV4dENodW5rIGN1cnJlbnQgPSAqaXQ7CisKKyAgICAgICAg
Ly8gQXBwbHkgdGV4dCBhbmNob3IgZmlyc3QKKyAgICAgICAgYXBwbHlUZXh0QW5jaG9yVG9UZXh0
Q2h1bmsoY3VycmVudCk7CisgICAgfQorfQorCit2b2lkIFNWR1Jvb3RJbmxpbmVCb3g6OnBhaW50
SW5saW5lQm94ZXMoUmVuZGVyT2JqZWN0OjpQYWludEluZm8mIHBhaW50SW5mbywgaW50IHR4LCBp
bnQgdHksIElubGluZUZsb3dCb3gqIHN0YXJ0LCBWZWN0b3I8U1ZHQ2hhcj46Oml0ZXJhdG9yJiBp
dCkKK3sKKyAgICBmb3IgKElubGluZUJveCogY3VyciA9IHN0YXJ0LT5maXJzdENoaWxkKCk7IGN1
cnI7IGN1cnIgPSBjdXJyLT5uZXh0T25MaW5lKCkpIHsKKyAgICAgICAgaWYgKGN1cnItPm9iamVj
dCgpLT5pc1RleHQoKSkgeworICAgICAgICAgICAgSW5saW5lVGV4dEJveCogdGV4dEJveCA9IHN0
YXRpY19jYXN0PElubGluZVRleHRCb3gqPihjdXJyKTsKKworICAgICAgICAgICAgdW5zaWduZWQg
bGVuZ3RoID0gdGV4dEJveC0+bGVuKCk7CisgICAgICAgICAgICBpZiAoIWxlbmd0aCkKKyAgICAg
ICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgUmVuZGVyVGV4dCogdGV4dCA9IHRl
eHRCb3gtPnRleHRPYmplY3QoKTsKKyAgICAgICAgICAgIEFTU0VSVCh0ZXh0KTsKKworICAgICAg
ICAgICAgLy8gUGFpbnQgYWxsIGNvbnRhaW5lZCBjaGFyYWN0ZXJzLCBvbmUtYnktb25lIGFzIHdv
cnN0IGNhc2UuCisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyAr
K2kpIHsKKyAgICAgICAgICAgICAgICBBU1NFUlQoaXQgIT0gbV9zdmdDaGFycy5lbmQoKSk7CisK
KyAgICAgICAgICAgICAgICBpZiAoISgqaXQpLnZpc2libGUpIHsKKyAgICAgICAgICAgICAgICAg
ICAgaXQrKzsKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAg
fQorCisgICAgICAgICAgICAgICAgLy8gRGV0ZXJtaW5lIGhvdyBtYW55IGNoYXJhY3RlcnMgLSBz
dGFydGluZyBmcm9tIHRoZSBjdXJyZW50IC0gY2FuIGJlIGRyYXduIGF0IG9uY2UuCisgICAgICAg
ICAgICAgICAgdW5zaWduZWQgc3RhcnRPZmZzZXQgPSBpICsgMSwgcnVuID0gMTsKKyAgICAgICAg
ICAgICAgICB3aGlsZSAoc3RhcnRPZmZzZXQgPCBsZW5ndGgpIHsKKyAgICAgICAgICAgICAgICAg
ICAgU1ZHQ2hhciBjaHVuayA9ICooaXQgKyBzdGFydE9mZnNldCAtIGkpOworICAgICAgICAgICAg
ICAgICAgICBpZiAoY2h1bmsuZHJhd25TZXBlcmF0ZWQpCisgICAgICAgICAgICAgICAgICAgICAg
ICBicmVhazsKKworICAgICAgICAgICAgICAgICAgICBydW4rKzsKKyAgICAgICAgICAgICAgICAg
ICAgc3RhcnRPZmZzZXQrKzsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBw
YWludENoYXJhY3RlclJhbmdlRm9yVGV4dEJveChwYWludEluZm8sIHR4LCB0eSwgdGV4dEJveCwg
Kml0LCB0ZXh0LT5jaGFyYWN0ZXJzKCkgKyB0ZXh0Qm94LT5zdGFydCgpICsgaSwgcnVuKTsKKwor
ICAgICAgICAgICAgICAgIGkgKz0gcnVuIC0gMTsKKyAgICAgICAgICAgICAgICBpdCArPSBydW47
CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBBU1NFUlQoY3Vy
ci0+aXNJbmxpbmVGbG93Qm94KCkpOworICAgICAgICAgICAgSW5saW5lRmxvd0JveCogZmxvd0Jv
eCA9IHN0YXRpY19jYXN0PElubGluZUZsb3dCb3gqPihjdXJyKTsKKworICAgICAgICAgICAgRmxv
YXRSZWN0IGJvdW5kaW5nQm94OworCisgICAgICAgICAgICBTVkdSZXNvdXJjZUZpbHRlciogZmls
dGVyID0gMDsKKyAgICAgICAgICAgIHByZXBhcmVUZXh0UmVuZGVyaW5nKHBhaW50SW5mbywgdHgs
IHR5LCBmbG93Qm94LCBib3VuZGluZ0JveCwgZmlsdGVyKTsKKworICAgICAgICAgICAgUmVuZGVy
T2JqZWN0KiBvYmplY3QgPSBmbG93Qm94LT5vYmplY3QoKTsKKyAgICAgICAgICAgIFJlbmRlck9i
amVjdDo6UGFpbnRJbmZvIHBpKHBhaW50SW5mbyk7CisKKyAgICAgICAgICAgIGlmICghZmxvd0Jv
eC0+aXNSb290SW5saW5lQm94KCkpCisgICAgICAgICAgICAgICAgcGkucmVjdCA9IChvYmplY3Qt
PmxvY2FsVHJhbnNmb3JtKCkpLmludmVyc2UoKS5tYXBSZWN0KHBpLnJlY3QpOworCisgICAgICAg
ICAgICBmbG9hdCBvcGFjaXR5ID0gb2JqZWN0LT5zdHlsZSgpLT5vcGFjaXR5KCk7CisgICAgICAg
ICAgICBpZiAob3BhY2l0eSA8IDEuMGYpIHsKKyAgICAgICAgICAgICAgICBwYWludEluZm8uY29u
dGV4dC0+Y2xpcChlbmNsb3NpbmdJbnRSZWN0KGJvdW5kaW5nQm94KSk7CisgICAgICAgICAgICAg
ICAgcGFpbnRJbmZvLmNvbnRleHQtPmJlZ2luVHJhbnNwYXJlbmN5TGF5ZXIob3BhY2l0eSk7Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGJvb2wgcGFpbnRlZCA9IGZhbHNlOworICAgICAg
ICAgICAgVmVjdG9yPFNWR0NoYXI+OjppdGVyYXRvciBzYXZlZEl0ID0gaXQ7CisgICAgCisgICAg
ICAgICAgICBTVkdQYWludFNlcnZlciogZmlsbFBhaW50U2VydmVyID0gS1NWR1BhaW50ZXJGYWN0
b3J5OjpmaWxsUGFpbnRTZXJ2ZXIob2JqZWN0LT5zdHlsZSgpLCBvYmplY3QpOworICAgICAgICAg
ICAgaWYgKGZpbGxQYWludFNlcnZlcikgeworICAgICAgICAgICAgICAgIGlmIChmaWxsUGFpbnRT
ZXJ2ZXItPnNldHVwKHBpLmNvbnRleHQsIG9iamVjdCwgQXBwbHlUb0ZpbGxUYXJnZXRUeXBlLCB0
cnVlKSkgeworICAgICAgICAgICAgICAgICAgICBwYWludGVkID0gdHJ1ZTsKKworICAgICAgICAg
ICAgICAgICAgICBwYWludElubGluZUJveGVzKHBpLCB0eCwgdHksIGZsb3dCb3gsIGl0KTsKKyAg
ICAgICAgICAgICAgICAgICAgZmlsbFBhaW50U2VydmVyLT50ZWFyZG93bihwaS5jb250ZXh0LCBv
YmplY3QsIEFwcGx5VG9GaWxsVGFyZ2V0VHlwZSwgdHJ1ZSk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICBTVkdQYWludFNlcnZlciogc3Ryb2tlUGFpbnRT
ZXJ2ZXIgPSBLU1ZHUGFpbnRlckZhY3Rvcnk6OnN0cm9rZVBhaW50U2VydmVyKG9iamVjdC0+c3R5
bGUoKSwgb2JqZWN0KTsKKyAgICAgICAgICAgIGlmIChzdHJva2VQYWludFNlcnZlcikgeworICAg
ICAgICAgICAgICAgIGlmIChzdHJva2VQYWludFNlcnZlci0+c2V0dXAocGkuY29udGV4dCwgb2Jq
ZWN0LCBBcHBseVRvU3Ryb2tlVGFyZ2V0VHlwZSwgdHJ1ZSkpIHsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKHBhaW50ZWQpCisgICAgICAgICAgICAgICAgICAgICAgICBpdCA9IHNhdmVkSXQ7CisK
KyAgICAgICAgICAgICAgICAgICAgcGFpbnRJbmxpbmVCb3hlcyhwaSwgdHgsIHR5LCBmbG93Qm94
LCBpdCk7CisgICAgICAgICAgICAgICAgICAgIHN0cm9rZVBhaW50U2VydmVyLT50ZWFyZG93bihw
aS5jb250ZXh0LCBvYmplY3QsIEFwcGx5VG9TdHJva2VUYXJnZXRUeXBlLCB0cnVlKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyNpZiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRB
TF9GRUFUVVJFUykKKyAgICAgICAgICAgIGlmIChmaWx0ZXIpCisgICAgICAgICAgICAgICAgZmls
dGVyLT5hcHBseUZpbHRlcihwYWludEluZm8uY29udGV4dCwgYm91bmRpbmdCb3gpOworI2VuZGlm
CisKKyAgICAgICAgICAgIGlmIChvcGFjaXR5IDwgMS4wZikKKyAgICAgICAgICAgICAgICBwYWlu
dEluZm8uY29udGV4dC0+ZW5kVHJhbnNwYXJlbmN5TGF5ZXIoKTsKKworICAgICAgICAgICAgcGFp
bnRJbmZvLmNvbnRleHQtPnJlc3RvcmUoKTsKKyAgICAgICAgfQorICAgIH0KK30KKwordm9pZCBT
VkdSb290SW5saW5lQm94OjpwYWludENoYXJhY3RlclJhbmdlRm9yVGV4dEJveChSZW5kZXJPYmpl
Y3Q6OlBhaW50SW5mbyYgcGFpbnRJbmZvLCBpbnQgdHgsIGludCB0eSwgSW5saW5lVGV4dEJveCog
dGV4dEJveCwgY29uc3QgU1ZHQ2hhciYgc3ZnQ2hhciwgY29uc3QgVUNoYXIqIGNoYXJzLCBpbnQg
bGVuZ3RoKQoreworICAgIFJlbmRlclRleHQqIHRleHQgPSB0ZXh0Qm94LT50ZXh0T2JqZWN0KCk7
CisgICAgQVNTRVJUKHRleHQpOworCisgICAgaWYgKG9iamVjdCgpLT5zdHlsZSgpLT52aXNpYmls
aXR5KCkgIT0gVklTSUJMRSB8fCBwYWludEluZm8ucGhhc2UgPT0gUGFpbnRQaGFzZU91dGxpbmUp
CisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBBU1NFUlQocGFpbnRJbmZvLnBoYXNlICE9IFBh
aW50UGhhc2VTZWxmT3V0bGluZSAmJiBwYWludEluZm8ucGhhc2UgIT0gUGFpbnRQaGFzZUNoaWxk
T3V0bGluZXMpOworCisvKiBGSVhNRSAtIHN2Z0NoYXIueC95IGFyZSBhYnNvbHV0ZSBwb3NpdGlv
bnMsIG5lZWQgdG8gcmVzcGVjdCBjdG0gaGVyZSEKKyAgICBpbnQgeFBvcyA9IHR4ICsgc3ZnQ2hh
ci54IC0gdGV4dEJveC0+cGFyZW50KCktPm1heEhvcml6b250YWxWaXN1YWxPdmVyZmxvdygpOwor
ICAgIGludCB3ID0gd2lkdGgoKSArIDIgKiB0ZXh0Qm94LT5wYXJlbnQoKS0+bWF4SG9yaXpvbnRh
bFZpc3VhbE92ZXJmbG93KCk7CisgICAgaWYgKHhQb3MgPj0gcGFpbnRJbmZvLnJlY3QucmlnaHQo
KSB8fCB4UG9zICsgdyA8PSBwYWludEluZm8ucmVjdC54KCkpCisgICAgICAgIHJldHVybjsKKyov
CisgICAgYm9vbCBpc1ByaW50aW5nID0gdGV4dC0+ZG9jdW1lbnQoKS0+cHJpbnRpbmcoKTsKKwor
ICAgIC8vIERldGVybWluZSB3aGV0aGVyIG9yIG5vdCB3ZSdyZSBzZWxlY3RlZC4KKyAgICBib29s
IGhhdmVTZWxlY3Rpb24gPSAhaXNQcmludGluZyAmJiBzZWxlY3Rpb25TdGF0ZSgpICE9IFJlbmRl
ck9iamVjdDo6U2VsZWN0aW9uTm9uZTsKKyAgICBpZiAoIWhhdmVTZWxlY3Rpb24gJiYgcGFpbnRJ
bmZvLnBoYXNlID09IFBhaW50UGhhc2VTZWxlY3Rpb24pCisgICAgICAgIC8vIFdoZW4gb25seSBw
YWludGluZyB0aGUgc2VsZWN0aW9uLCBkb24ndCBib3RoZXIgdG8gcGFpbnQgaWYgdGhlcmUgaXMg
bm9uZS4KKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gRGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90
IHdlIGhhdmUgbWFya2VkIHRleHQuCisgICAgUmFuZ2UqIG1hcmtlZFRleHRSYW5nZSA9IHRleHQt
PmRvY3VtZW50KCktPmZyYW1lKCktPm1hcmtlZFRleHRSYW5nZSgpOworICAgIGludCBleGNlcHRp
b24gPSAwOworICAgIGJvb2wgaGF2ZU1hcmtlZFRleHQgPSBtYXJrZWRUZXh0UmFuZ2UgJiYgbWFy
a2VkVGV4dFJhbmdlLT5zdGFydENvbnRhaW5lcihleGNlcHRpb24pID09IHRleHQtPm5vZGUoKTsK
KyAgICBib29sIG1hcmtlZFRleHRVc2VzVW5kZXJsaW5lcyA9IHRleHQtPmRvY3VtZW50KCktPmZy
YW1lKCktPm1hcmtlZFRleHRVc2VzVW5kZXJsaW5lcygpOworCisgICAgLy8gU2V0IG91ciBmb250
CisgICAgUmVuZGVyU3R5bGUqIHN0eWxlVG9Vc2UgPSB0ZXh0LT5zdHlsZSh0ZXh0Qm94LT5pc0Zp
cnN0TGluZVN0eWxlKCkpOworICAgIGludCBkID0gc3R5bGVUb1VzZS0+dGV4dERlY29yYXRpb25z
SW5FZmZlY3QoKTsKKyAgICBjb25zdCBGb250KiBmb250ID0gJnN0eWxlVG9Vc2UtPmZvbnQoKTsK
KyAgICBpZiAoKmZvbnQgIT0gcGFpbnRJbmZvLmNvbnRleHQtPmZvbnQoKSkKKyAgICAgICAgcGFp
bnRJbmZvLmNvbnRleHQtPnNldEZvbnQoKmZvbnQpOworCisgICAgLy8gMS4gUGFpbnQgYmFja2dy
b3VuZHMgYmVoaW5kIHRleHQgaWYgbmVlZGVkLiAgRXhhbXBsZXMgb2Ygc3VjaCBiYWNrZ3JvdW5k
cyBpbmNsdWRlIHNlbGVjdGlvbgorICAgIC8vIGFuZCBtYXJrZWQgdGV4dC4KKyAgICBpZiAocGFp
bnRJbmZvLnBoYXNlICE9IFBhaW50UGhhc2VTZWxlY3Rpb24gJiYgIWlzUHJpbnRpbmcpIHsKKyNp
ZiBQTEFURk9STShNQUMpCisgICAgICAgIC8vIEN1c3RvbSBoaWdobGlnaHRlcnMgZ28gYmVoaW5k
IGV2ZXJ5dGhpbmcgZWxzZS4KKyAgICAgICAgaWYgKHN0eWxlVG9Vc2UtPmhpZ2hsaWdodCgpICE9
IG51bGxBdG9tICYmICFwYWludEluZm8uY29udGV4dC0+cGFpbnRpbmdEaXNhYmxlZCgpKQorICAg
ICAgICAgICAgdGV4dEJveC0+cGFpbnRDdXN0b21IaWdobGlnaHQodHgsIHR5LCBzdHlsZVRvVXNl
LT5oaWdobGlnaHQoKSk7CisjZW5kaWYKKworICAgICAgICBpZiAoaGF2ZU1hcmtlZFRleHQgICYm
ICFtYXJrZWRUZXh0VXNlc1VuZGVybGluZXMpCisgICAgICAgICAgICB0ZXh0Qm94LT5wYWludE1h
cmtlZFRleHRCYWNrZ3JvdW5kKHBhaW50SW5mby5jb250ZXh0LCB0eCwgdHksIHN0eWxlVG9Vc2Us
IGZvbnQsIG1hcmtlZFRleHRSYW5nZS0+c3RhcnRPZmZzZXQoZXhjZXB0aW9uKSwgbWFya2VkVGV4
dFJhbmdlLT5lbmRPZmZzZXQoZXhjZXB0aW9uKSk7CisKKyAgICAgICAgdGV4dEJveC0+cGFpbnRE
b2N1bWVudE1hcmtlcnMocGFpbnRJbmZvLmNvbnRleHQsIHR4LCB0eSwgc3R5bGVUb1VzZSwgZm9u
dCwgdHJ1ZSk7CisKKyAgICAgICAgaWYgKGhhdmVTZWxlY3Rpb24pCisgICAgICAgICAgICB0ZXh0
Qm94LT5wYWludFNlbGVjdGlvbihwYWludEluZm8uY29udGV4dCwgdHgsIHR5LCBzdHlsZVRvVXNl
LCBmb250KTsKKyAgICB9CisKKyAgICBjb25zdCBWZWN0b3I8TWFya2VkVGV4dFVuZGVybGluZT4q
IHVuZGVybGluZXMgPSAwOworICAgIHNpemVfdCBudW1VbmRlcmxpbmVzID0gMDsKKyAgICBpZiAo
aGF2ZU1hcmtlZFRleHQgJiYgbWFya2VkVGV4dFVzZXNVbmRlcmxpbmVzKSB7CisgICAgICAgIHVu
ZGVybGluZXMgPSAmdGV4dC0+ZG9jdW1lbnQoKS0+ZnJhbWUoKS0+bWFya2VkVGV4dFVuZGVybGlu
ZXMoKTsKKyAgICAgICAgbnVtVW5kZXJsaW5lcyA9IHVuZGVybGluZXMtPnNpemUoKTsKKyAgICB9
CisKKyAgICBDb2xvciB0ZXh0RmlsbENvbG9yOworICAgIENvbG9yIHRleHRTdHJva2VDb2xvcjsK
KyAgICBmbG9hdCB0ZXh0U3Ryb2tlV2lkdGggPSBzdHlsZVRvVXNlLT50ZXh0U3Ryb2tlV2lkdGgo
KTsKKworICAgIGlmIChwYWludEluZm8uZm9yY2VXaGl0ZVRleHQpIHsKKyAgICAgICAgdGV4dEZp
bGxDb2xvciA9IENvbG9yOjp3aGl0ZTsKKyAgICAgICAgdGV4dFN0cm9rZUNvbG9yID0gQ29sb3I6
OndoaXRlOworICAgIH0gZWxzZSB7CisgICAgICAgIHRleHRGaWxsQ29sb3IgPSBzdHlsZVRvVXNl
LT50ZXh0RmlsbENvbG9yKCk7CisgICAgICAgIGlmICghdGV4dEZpbGxDb2xvci5pc1ZhbGlkKCkp
CisgICAgICAgICAgICB0ZXh0RmlsbENvbG9yID0gc3R5bGVUb1VzZS0+Y29sb3IoKTsKKworICAg
ICAgICAvLyBNYWtlIHRoZSB0ZXh0IGZpbGwgY29sb3IgbGVnaWJsZSBhZ2FpbnN0IGEgd2hpdGUg
YmFja2dyb3VuZAorICAgICAgICBpZiAoc3R5bGVUb1VzZS0+Zm9yY2VCYWNrZ3JvdW5kc1RvV2hp
dGUoKSkKKyAgICAgICAgICAgIHRleHRGaWxsQ29sb3IgPSBjb3JyZWN0ZWRUZXh0Q29sb3IodGV4
dEZpbGxDb2xvciwgQ29sb3I6OndoaXRlKTsKKworICAgICAgICB0ZXh0U3Ryb2tlQ29sb3IgPSBz
dHlsZVRvVXNlLT50ZXh0U3Ryb2tlQ29sb3IoKTsKKyAgICAgICAgaWYgKCF0ZXh0U3Ryb2tlQ29s
b3IuaXNWYWxpZCgpKQorICAgICAgICAgICAgdGV4dFN0cm9rZUNvbG9yID0gc3R5bGVUb1VzZS0+
Y29sb3IoKTsKKworICAgICAgICAvLyBNYWtlIHRoZSB0ZXh0IHN0cm9rZSBjb2xvciBsZWdpYmxl
IGFnYWluc3QgYSB3aGl0ZSBiYWNrZ3JvdW5kCisgICAgICAgIGlmIChzdHlsZVRvVXNlLT5mb3Jj
ZUJhY2tncm91bmRzVG9XaGl0ZSgpKQorICAgICAgICAgICAgdGV4dFN0cm9rZUNvbG9yID0gY29y
cmVjdGVkVGV4dENvbG9yKHRleHRTdHJva2VDb2xvciwgQ29sb3I6OndoaXRlKTsKKyAgICB9CisK
KyAgICAvLyBGb3Igc3Ryb2tlZCBwYWludGluZywgd2UgaGF2ZSB0byBjaGFuZ2UgdGhlIHRleHQg
ZHJhd2luZyBtb2RlLiAgSXQncyBwcm9iYWJseSBkYW5nZXJvdXMgdG8gbGVhdmUgdGhhdCBtdXRh
dGVkIGFzIGEgc2lkZQorICAgIC8vIGVmZmVjdCwgc28gb25seSB3aGVuIHdlIGtub3cgd2UncmUg
c3Ryb2tpbmcsIGRvIGEgc2F2ZS9yZXN0b3JlLgorICAgIGlmICh0ZXh0U3Ryb2tlV2lkdGggPiAw
KQorICAgICAgICBwYWludEluZm8uY29udGV4dC0+c2F2ZSgpOworCisgICAgaWYgKCFzdmdDaGFy
LnRyYW5zZm9ybS5pc0lkZW50aXR5KCkpCisgICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5jb25j
YXRDVE0oc3ZnQ2hhci50cmFuc2Zvcm0pOworCisgICAgdXBkYXRlR3JhcGhpY3NDb250ZXh0KHBh
aW50SW5mby5jb250ZXh0LCB0ZXh0RmlsbENvbG9yLCB0ZXh0U3Ryb2tlQ29sb3IsIHRleHRTdHJv
a2VXaWR0aCk7CisgICAgCisgICAgLy8gU2V0IGEgdGV4dCBzaGFkb3cgaWYgd2UgaGF2ZSBvbmUu
CisgICAgLy8gRklYTUU6IFN1cHBvcnQgbXVsdGlwbGUgc2hhZG93IGVmZmVjdHMuICBOZWVkIG1v
cmUgZnJvbSB0aGUgQ0cgQVBJIGJlZm9yZQorICAgIC8vIHdlIGNhbiBkbyB0aGlzLgorICAgIGJv
b2wgc2V0U2hhZG93ID0gZmFsc2U7CisgICAgaWYgKHN0eWxlVG9Vc2UtPnRleHRTaGFkb3coKSkg
eworICAgICAgICBwYWludEluZm8uY29udGV4dC0+c2V0U2hhZG93KEludFNpemUoc3R5bGVUb1Vz
ZS0+dGV4dFNoYWRvdygpLT54LCBzdHlsZVRvVXNlLT50ZXh0U2hhZG93KCktPnkpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlVG9Vc2UtPnRleHRTaGFkb3coKS0+
Ymx1ciwgc3R5bGVUb1VzZS0+dGV4dFNoYWRvdygpLT5jb2xvcik7CisgICAgICAgIHNldFNoYWRv
dyA9IHRydWU7CisgICAgfQorCisgICAgYm9vbCBwYWludFNlbGVjdGVkVGV4dE9ubHkgPSAocGFp
bnRJbmZvLnBoYXNlID09IFBhaW50UGhhc2VTZWxlY3Rpb24pOworICAgIGJvb2wgcGFpbnRTZWxl
Y3RlZFRleHRTZXBhcmF0ZWx5ID0gZmFsc2U7IC8vIFdoZXRoZXIgb3Igbm90IHdlIGhhdmUgdG8g
ZG8gbXVsdGlwbGUgcGFpbnRzLiAgT25seQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIG5lY2Vzc2FyeSB3aGVuIGEgY3VzdG9tIDo6c2VsZWN0aW9uIGZv
cmVncm91bmQgY29sb3IgaXMgYXBwbGllZC4KKyAgICBDb2xvciBzZWxlY3Rpb25GaWxsQ29sb3Ig
PSB0ZXh0RmlsbENvbG9yOworICAgIENvbG9yIHNlbGVjdGlvblN0cm9rZUNvbG9yID0gdGV4dFN0
cm9rZUNvbG9yOworICAgIGZsb2F0IHNlbGVjdGlvblN0cm9rZVdpZHRoID0gdGV4dFN0cm9rZVdp
ZHRoOworICAgIFNoYWRvd0RhdGEqIHNlbGVjdGlvblRleHRTaGFkb3cgPSAwOworCisgICAgaWYg
KGhhdmVTZWxlY3Rpb24pIHsKKyAgICAgICAgLy8gQ2hlY2sgZm9yZWdyb3VuZCBjb2xvciBmaXJz
dC4KKyAgICAgICAgQ29sb3IgZm9yZWdyb3VuZCA9IG9iamVjdCgpLT5zZWxlY3Rpb25Gb3JlZ3Jv
dW5kQ29sb3IoKTsKKyAgICAgICAgaWYgKGZvcmVncm91bmQuaXNWYWxpZCgpICYmIGZvcmVncm91
bmQgIT0gc2VsZWN0aW9uRmlsbENvbG9yKSB7CisgICAgICAgICAgICBpZiAoIXBhaW50U2VsZWN0
ZWRUZXh0T25seSkKKyAgICAgICAgICAgICAgICBwYWludFNlbGVjdGVkVGV4dFNlcGFyYXRlbHkg
PSB0cnVlOworICAgICAgICAgICAgc2VsZWN0aW9uRmlsbENvbG9yID0gZm9yZWdyb3VuZDsKKyAg
ICAgICAgfQorICAgICAgICBSZW5kZXJTdHlsZSogcHNldWRvU3R5bGUgPSBvYmplY3QoKS0+Z2V0
UHNldWRvU3R5bGUoUmVuZGVyU3R5bGU6OlNFTEVDVElPTik7CisgICAgICAgIGlmIChwc2V1ZG9T
dHlsZSkgeworICAgICAgICAgICAgaWYgKHBzZXVkb1N0eWxlLT50ZXh0U2hhZG93KCkpIHsKKyAg
ICAgICAgICAgICAgICBpZiAoIXBhaW50U2VsZWN0ZWRUZXh0T25seSkKKyAgICAgICAgICAgICAg
ICAgICAgcGFpbnRTZWxlY3RlZFRleHRTZXBhcmF0ZWx5ID0gdHJ1ZTsKKyAgICAgICAgICAgICAg
ICBpZiAocHNldWRvU3R5bGUtPnRleHRTaGFkb3coKSkKKyAgICAgICAgICAgICAgICAgICAgc2Vs
ZWN0aW9uVGV4dFNoYWRvdyA9IHBzZXVkb1N0eWxlLT50ZXh0U2hhZG93KCk7CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgIGZsb2F0IHN0cm9rZVdpZHRoID0gcHNldWRvU3R5bGUtPnRleHRT
dHJva2VXaWR0aCgpOworICAgICAgICAgICAgaWYgKHN0cm9rZVdpZHRoICE9IHNlbGVjdGlvblN0
cm9rZVdpZHRoKSB7CisgICAgICAgICAgICAgICAgaWYgKCFwYWludFNlbGVjdGVkVGV4dE9ubHkp
CisgICAgICAgICAgICAgICAgICAgIHBhaW50U2VsZWN0ZWRUZXh0U2VwYXJhdGVseSA9IHRydWU7
CisgICAgICAgICAgICAgICAgc2VsZWN0aW9uU3Ryb2tlV2lkdGggPSBzdHJva2VXaWR0aDsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgQ29sb3Igc3Ryb2tlID0gcHNldWRvU3R5bGUtPnRl
eHRTdHJva2VDb2xvcigpOworICAgICAgICAgICAgaWYgKCFzdHJva2UuaXNWYWxpZCgpKQorICAg
ICAgICAgICAgICAgIHN0cm9rZSA9IHBzZXVkb1N0eWxlLT5jb2xvcigpOworICAgICAgICAgICAg
aWYgKHN0cm9rZSAhPSBzZWxlY3Rpb25TdHJva2VDb2xvcikgeworICAgICAgICAgICAgICAgIGlm
ICghcGFpbnRTZWxlY3RlZFRleHRPbmx5KQorICAgICAgICAgICAgICAgICAgICBwYWludFNlbGVj
dGVkVGV4dFNlcGFyYXRlbHkgPSB0cnVlOworICAgICAgICAgICAgICAgIHNlbGVjdGlvblN0cm9r
ZUNvbG9yID0gc3Ryb2tlOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAg
VGV4dFN0eWxlIHRleHRTdHlsZSgwLCBzdmdDaGFyLngsIHRleHRCb3gtPm1fdG9BZGQsIHRleHRC
b3gtPm1fcmV2ZXJzZWQsIHRleHRCb3gtPm1fZGlyT3ZlcnJpZGUgfHwgc3R5bGVUb1VzZS0+dmlz
dWFsbHlPcmRlcmVkKCkpOworCisgICAgaWYgKCFwYWludFNlbGVjdGVkVGV4dE9ubHkgJiYgIXBh
aW50U2VsZWN0ZWRUZXh0U2VwYXJhdGVseSkgeworICAgICAgICAvLyBwYWludCBhbGwgdGhlIHRl
eHQKKyAgICAgICAgLy8gRklYTUU6IEhhbmRsZSBSVEwgZGlyZWN0aW9uLCBoYW5kbGUgcmV2ZXJz
ZWQgc3RyaW5ncy4gIEZvciBub3cgdHJ1bmNhdGlvbiBjYW4gb25seSBiZSB0dXJuZWQgb24KKyAg
ICAgICAgLy8gZm9yIG5vbi1yZXZlcnNlZCBMVFIgc3RyaW5ncy4KKyAgICAgICAgcGFpbnRJbmZv
LmNvbnRleHQtPmRyYXdUZXh0KFRleHRSdW4oY2hhcnMsIGxlbmd0aCksIEludFBvaW50KHN2Z0No
YXIueCwgc3ZnQ2hhci55KSwgdGV4dFN0eWxlKTsKKyAgICB9IGVsc2UgeworICAgICAgICBpbnQg
c1BvcywgZVBvczsKKyAgICAgICAgdGV4dEJveC0+c2VsZWN0aW9uU3RhcnRFbmQoc1BvcywgZVBv
cyk7CisgICAgICAgIGlmIChwYWludFNlbGVjdGVkVGV4dFNlcGFyYXRlbHkpIHsKKyAgICAgICAg
ICAgIC8vIHBhaW50IG9ubHkgdGhlIHRleHQgdGhhdCBpcyBub3Qgc2VsZWN0ZWQKKyAgICAgICAg
ICAgIGlmIChzUG9zID49IGVQb3MpCisgICAgICAgICAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQt
PmRyYXdUZXh0KFRleHRSdW4oY2hhcnMsIGxlbmd0aCksIEludFBvaW50KHN2Z0NoYXIueCwgc3Zn
Q2hhci55KSwgdGV4dFN0eWxlKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChzUG9zIDwgZVBv
cykgeworICAgICAgICAgICAgLy8gcGFpbnQgb25seSB0aGUgdGV4dCB0aGF0IGlzIHNlbGVjdGVk
CisgICAgICAgICAgICBpZiAoc2VsZWN0aW9uU3Ryb2tlV2lkdGggPiAwKQorICAgICAgICAgICAg
ICAgIHBhaW50SW5mby5jb250ZXh0LT5zYXZlKCk7CisKKyAgICAgICAgICAgIHVwZGF0ZUdyYXBo
aWNzQ29udGV4dChwYWludEluZm8uY29udGV4dCwgc2VsZWN0aW9uRmlsbENvbG9yLCBzZWxlY3Rp
b25TdHJva2VDb2xvciwgc2VsZWN0aW9uU3Ryb2tlV2lkdGgpOworCisgICAgICAgICAgICBpZiAo
c2VsZWN0aW9uVGV4dFNoYWRvdykKKyAgICAgICAgICAgICAgICBwYWludEluZm8uY29udGV4dC0+
c2V0U2hhZG93KEludFNpemUoc2VsZWN0aW9uVGV4dFNoYWRvdy0+eCwgc2VsZWN0aW9uVGV4dFNo
YWRvdy0+eSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZWxlY3Rpb25UZXh0U2hhZG93LT5ibHVyLCBzZWxlY3Rpb25UZXh0U2hhZG93LT5jb2xvcik7Cisg
ICAgICAgICAgICBwYWludEluZm8uY29udGV4dC0+ZHJhd1RleHQoVGV4dFJ1bihjaGFycywgbGVu
Z3RoLCBzUG9zLCBlUG9zKSwgSW50UG9pbnQoc3ZnQ2hhci54LCBzdmdDaGFyLnkpLCB0ZXh0U3R5
bGUpOworICAgICAgICAgICAgaWYgKHNlbGVjdGlvblRleHRTaGFkb3cpCisgICAgICAgICAgICAg
ICAgcGFpbnRJbmZvLmNvbnRleHQtPmNsZWFyU2hhZG93KCk7CisKKyAgICAgICAgICAgIGlmIChz
ZWxlY3Rpb25TdHJva2VXaWR0aCA+IDApCisgICAgICAgICAgICAgICAgcGFpbnRJbmZvLmNvbnRl
eHQtPnJlc3RvcmUoKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8vIFBhaW50IGRlY29yYXRp
b25zCisgICAgaWYgKGQgIT0gVEROT05FICYmIHBhaW50SW5mby5waGFzZSAhPSBQYWludFBoYXNl
U2VsZWN0aW9uKSB7CisgICAgICAgIC8vIElubGluZVRleHRCb3g6OnBhaW50LCBjaGVja3MgZm9y
IGh0bWxIYWNrcygpIGJlaW5nIGVuYWJsZWQgLSBvYmV5IHRoYXQuCisgICAgICAgIC8vIElubGlu
ZVRleHRCb3g6OnBhaW50LCBkb2Vzbid0IHNhdmUvcmVzdG9yZSBjb250ZXh0IGhlcmUsIG5lZWRl
ZCBmb3IgdXMhCisgICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5zYXZlKCk7CisgICAgICAgIHBh
aW50SW5mby5jb250ZXh0LT5zZXRTdHJva2VDb2xvcihzdHlsZVRvVXNlLT5jb2xvcigpKTsKKyAg
ICAgICAgdGV4dEJveC0+cGFpbnREZWNvcmF0aW9uKHBhaW50SW5mby5jb250ZXh0LCB0eCwgdHks
IGQpOworICAgICAgICBwYWludEluZm8uY29udGV4dC0+cmVzdG9yZSgpOworICAgIH0KKworICAg
IGlmIChwYWludEluZm8ucGhhc2UgIT0gUGFpbnRQaGFzZVNlbGVjdGlvbikgeworICAgICAgICB0
ZXh0Qm94LT5wYWludERvY3VtZW50TWFya2VycyhwYWludEluZm8uY29udGV4dCwgdHgsIHR5LCBz
dHlsZVRvVXNlLCBmb250LCBmYWxzZSk7CisKKyAgICAgICAgZm9yIChzaXplX3QgaW5kZXggPSAw
OyBpbmRleCA8IG51bVVuZGVybGluZXM7ICsraW5kZXgpIHsKKyAgICAgICAgICAgIGNvbnN0IE1h
cmtlZFRleHRVbmRlcmxpbmUmIHVuZGVybGluZSA9ICgqdW5kZXJsaW5lcylbaW5kZXhdOworCisg
ICAgICAgICAgICBpZiAodW5kZXJsaW5lLmVuZE9mZnNldCA8PSB0ZXh0Qm94LT5zdGFydCgpKQor
ICAgICAgICAgICAgICAgIC8vIHVuZGVybGluZSBpcyBjb21wbGV0ZWx5IGJlZm9yZSB0aGlzIHJ1
bi4gIFRoaXMgbWlnaHQgYmUgYW4gdW5kZXJsaW5lIHRoYXQgc2l0cworICAgICAgICAgICAgICAg
IC8vIGJlZm9yZSB0aGUgZmlyc3QgcnVuIHdlIGRyYXcsIG9yIHVuZGVybGluZXMgdGhhdCB3ZXJl
IHdpdGhpbiBydW5zIHdlIHNraXBwZWQgCisgICAgICAgICAgICAgICAgLy8gZHVlIHRvIHRydW5j
YXRpb24uCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIGlmICh1bmRl
cmxpbmUuc3RhcnRPZmZzZXQgPD0gdGV4dEJveC0+ZW5kKCkpIHsKKyAgICAgICAgICAgICAgICAv
LyB1bmRlcmxpbmUgaW50ZXJzZWN0cyB0aGlzIHJ1bi4gIFBhaW50IGl0LgorICAgICAgICAgICAg
ICAgIHRleHRCb3gtPnBhaW50TWFya2VkVGV4dFVuZGVybGluZShwYWludEluZm8uY29udGV4dCwg
dHgsIHR5LCB1bmRlcmxpbmUpOworICAgICAgICAgICAgICAgIGlmICh1bmRlcmxpbmUuZW5kT2Zm
c2V0ID4gdGV4dEJveC0+ZW5kKCkgKyAxKQorICAgICAgICAgICAgICAgICAgICAvLyB1bmRlcmxp
bmUgYWxzbyBydW5zIGludG8gdGhlIG5leHQgcnVuLiBCYWlsIG5vdywgbm8gbW9yZSBtYXJrZXIg
YWR2YW5jZW1lbnQuCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfSBl
bHNlCisgICAgICAgICAgICAgICAgLy8gdW5kZXJsaW5lIGlzIGNvbXBsZXRlbHkgYWZ0ZXIgdGhp
cyBydW4sIGJhaWwuICBBIGxhdGVyIHJ1biB3aWxsIHBhaW50IGl0LgorICAgICAgICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKHNldFNoYWRvdykKKyAgICAgICAg
cGFpbnRJbmZvLmNvbnRleHQtPmNsZWFyU2hhZG93KCk7CisKKyAgICBpZiAoIXN2Z0NoYXIudHJh
bnNmb3JtLmlzSWRlbnRpdHkoKSkKKyAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPmNvbmNhdENU
TShzdmdDaGFyLnRyYW5zZm9ybS5pbnZlcnNlKCkpOworCisgICAgaWYgKHRleHRTdHJva2VXaWR0
aCA+IDApCisgICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5yZXN0b3JlKCk7Cit9CisjZW5kaWYK
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKSW5kZXg6
IHJlbmRlcmluZy9SZW5kZXJTVkdUZXh0UGF0aC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcmVuZGVyaW5n
L1JlbmRlclNWR1RleHRQYXRoLmNwcAkocmV2aXNpb24gMCkKKysrIHJlbmRlcmluZy9SZW5kZXJT
VkdUZXh0UGF0aC5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOTEgQEAKKy8qCisgKiBUaGlz
IGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IHByb2plY3QuCisgKgorICogQ29weXJpZ2h0IChD
KSAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg
KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMz
MCwKKyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICoKKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisKKyNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9G
RUFUVVJFUykKKyNpbmNsdWRlICJSZW5kZXJTVkdUZXh0UGF0aC5oIgorCisjaW5jbHVkZSAiQWZm
aW5lVHJhbnNmb3JtLmgiCisjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCisjaW5jbHVkZSAiSW5saW5l
Rmxvd0JveC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlbmRlclNWR1RleHRQYXRoOjpS
ZW5kZXJTVkdUZXh0UGF0aChOb2RlKiBuKQorICAgIDogUmVuZGVyU1ZHSW5saW5lKG4pCisgICAg
LCBtX3N0YXJ0T2Zmc2V0KDAuMCkKKyAgICAsIG1fZXhhY3RBbGlnbm1lbnQodHJ1ZSkKKyAgICAs
IG1fc3RyZXRjaE1ldGhvZChmYWxzZSkKK3sKK30KKworUGF0aCBSZW5kZXJTVkdUZXh0UGF0aDo6
bGF5b3V0UGF0aCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fbGF5b3V0UGF0aDsKK30KKwordm9p
ZCBSZW5kZXJTVkdUZXh0UGF0aDo6YXNzaWduTGF5b3V0UGF0aChjb25zdCBQYXRoJiBwYXRoKQor
eworICAgIG1fbGF5b3V0UGF0aCA9IHBhdGg7Cit9CisKK2Zsb2F0IFJlbmRlclNWR1RleHRQYXRo
OjpzdGFydE9mZnNldCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc3RhcnRPZmZzZXQ7Cit9CisK
K3ZvaWQgUmVuZGVyU1ZHVGV4dFBhdGg6OnNldFN0YXJ0T2Zmc2V0KGZsb2F0IG9mZnNldCkKK3sK
KyAgICBtX3N0YXJ0T2Zmc2V0ID0gb2Zmc2V0OworfQorCitib29sIFJlbmRlclNWR1RleHRQYXRo
OjpleGFjdEFsaWdubWVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZXhhY3RBbGlnbm1lbnQ7
Cit9CisKK3ZvaWQgUmVuZGVyU1ZHVGV4dFBhdGg6OnNldEV4YWN0QWxpZ25tZW50KGJvb2wgdmFs
dWUpCit7CisgICAgbV9leGFjdEFsaWdubWVudCA9IHZhbHVlOworfQorCitib29sIFJlbmRlclNW
R1RleHRQYXRoOjpzdHJldGNoTWV0aG9kKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zdHJldGNo
TWV0aG9kOworfQorCit2b2lkIFJlbmRlclNWR1RleHRQYXRoOjpzZXRTdHJldGNoTWV0aG9kKGJv
b2wgdmFsdWUpCit7CisgICAgbV9zdHJldGNoTWV0aG9kID0gdmFsdWU7Cit9CisKK3ZvaWQgUmVu
ZGVyU1ZHVGV4dFBhdGg6OmFic29sdXRlUmVjdHMoVmVjdG9yPEludFJlY3Q+JiByZWN0cywgaW50
IHR4LCBpbnQgdHkpCit7CisgICAgSW5saW5lRmxvd0JveCogaW5pdEZsb3cgPSBmaXJzdExpbmVC
b3goKTsKKyAgICBGbG9hdFJlY3QgYm91bmRzKHR4ICsgaW5pdEZsb3ctPnhQb3MoKSwgdHkgKyBp
bml0Rmxvdy0+eVBvcygpLCB3aWR0aCgpLCBoZWlnaHQoKSk7CisgICAgcmVjdHMuYXBwZW5kKGVu
Y2xvc2luZ0ludFJlY3QoYWJzb2x1dGVUcmFuc2Zvcm0oKS5tYXBSZWN0KGJvdW5kcykpKTsKK30K
KworfQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykKSW5kZXg6IHJlbmRlcmluZy9SZW5kZXJUZXh0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSByZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAJKHJldmlzaW9uIDE5
OTkyKQorKysgcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NTAs
OSArODUwLDggQEAKICAgICAgICAgICAgICAgICAvLyBUaGVuLCBpdCB3aWxsIHN0cmlwIG9mZiBh
bGwgbGVhZGluZyBhbmQgdHJhaWxpbmcgc3BhY2UgY2hhcmFjdGVycy4KICAgICAgICAgICAgICAg
ICAvLyBUaGVuLCBhbGwgY29udGlndW91cyBzcGFjZSBjaGFyYWN0ZXJzIHdpbGwgYmUgY29uc29s
aWRhdGVkLiAgICAKIAotICAgICAgICAgICAgICAgIHN0YXRpYyBTdHJpbmdJbXBsIGVtcHR5KCIi
LCAwKTsKLSAgICAgICAgICAgICAgICBtX3RleHQgPSBtX3RleHQtPnJlcGxhY2UoJ1xuJywgJmVt
cHR5KTsKLSAgICAKKyAgICAgICAgICAgICAgICBtX3RleHQgPSBtX3RleHQtPnJlcGxhY2UoJ1xu
JywgU3RyaW5nSW1wbDo6ZW1wdHkoKSk7CisKICAgICAgICAgICAgICAgICAvLyBJZiB4bWw6c3Bh
Y2U9ImRlZmF1bHQiIGlzIHNldCwgd2hpdGUtc3BhY2UgaXMgc2V0IHRvICJub3dyYXAiLCB3aGlj
aCBoYW5kbGVzCiAgICAgICAgICAgICAgICAgLy8gbGVhZGluZywgdHJhaWxpbmcgJiBjb250aWd1
b3VzIHNwYWNlIGNoYXJhY3RlciByZW1vdmFsIGZvciB1cy4KICAgICAgICAgICAgIH0KSW5kZXg6
IHJlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSByZW5kZXJpbmcvSW5s
aW5lVGV4dEJveC5jcHAJKHJldmlzaW9uIDE5OTkyKQorKysgcmVuZGVyaW5nL0lubGluZVRleHRC
b3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTYsNyArMTk2LDcgQEAKICAgICByZXR1cm4gLTE7
CiB9CiAKLXN0YXRpYyBDb2xvciBjb3JyZWN0ZWRUZXh0Q29sb3IoQ29sb3IgdGV4dENvbG9yLCBD
b2xvciBiYWNrZ3JvdW5kQ29sb3IpIAorQ29sb3IgY29ycmVjdGVkVGV4dENvbG9yKENvbG9yIHRl
eHRDb2xvciwgQ29sb3IgYmFja2dyb3VuZENvbG9yKSAKIHsKICAgICAvLyBBZGp1c3QgdGhlIHRl
eHQgY29sb3IgaWYgaXQgaXMgdG9vIGNsb3NlIHRvIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLAogICAg
IC8vIGJ5IGRhcmtlbmluZyBvciBsaWdodGVuaW5nIGl0IHRvIG1vdmUgaXQgZnVydGhlciBhd2F5
LgpAQCAtMjE3LDcgKzIxNyw3IEBACiAgICAgcmV0dXJuIHRleHRDb2xvci5saWdodCgpOwogfQog
Ci1zdGF0aWMgdm9pZCB1cGRhdGVHcmFwaGljc0NvbnRleHQoR3JhcGhpY3NDb250ZXh0KiBjb250
ZXh0LCBjb25zdCBDb2xvciYgZmlsbENvbG9yLCBjb25zdCBDb2xvciYgc3Ryb2tlQ29sb3IsIGZs
b2F0IHN0cm9rZVRoaWNrbmVzcykKK3ZvaWQgdXBkYXRlR3JhcGhpY3NDb250ZXh0KEdyYXBoaWNz
Q29udGV4dCogY29udGV4dCwgY29uc3QgQ29sb3ImIGZpbGxDb2xvciwgY29uc3QgQ29sb3ImIHN0
cm9rZUNvbG9yLCBmbG9hdCBzdHJva2VUaGlja25lc3MpCiB7CiAgICAgaW50IG1vZGUgPSBjb250
ZXh0LT50ZXh0RHJhd2luZ01vZGUoKTsKICAgICBpZiAoc3Ryb2tlVGhpY2tuZXNzID4gMCkgewpJ
bmRleDogcmVuZGVyaW5nL1JlbmRlclNWR1RleHRQYXRoLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcmVuZGVy
aW5nL1JlbmRlclNWR1RleHRQYXRoLmgJKHJldmlzaW9uIDApCisrKyByZW5kZXJpbmcvUmVuZGVy
U1ZHVGV4dFBhdGguaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIFRoaXMg
ZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgcHJvamVjdC4KKyAqCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAq
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMw
LAorICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKgorICovCisKKyNpZm5kZWYgUmVu
ZGVyU1ZHVGV4dFBhdGhfaAorI2RlZmluZSBSZW5kZXJTVkdUZXh0UGF0aF9oCisKKyNpZiBFTkFC
TEUoU1ZHKSAmJiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykKKyNpbmNsdWRlICJS
ZW5kZXJTVkdJbmxpbmUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisgICAgY2xhc3MgUmVu
ZGVyU1ZHVGV4dFBhdGggOiBwdWJsaWMgUmVuZGVyU1ZHSW5saW5lIHsKKyAgICBwdWJsaWM6Cisg
ICAgICAgIFJlbmRlclNWR1RleHRQYXRoKE5vZGUqKTsKKworICAgICAgICBQYXRoIGxheW91dFBh
dGgoKSBjb25zdDsKKyAgICAgICAgdm9pZCBhc3NpZ25MYXlvdXRQYXRoKGNvbnN0IFBhdGgmKTsK
KworICAgICAgICBmbG9hdCBzdGFydE9mZnNldCgpIGNvbnN0OworICAgICAgICB2b2lkIHNldFN0
YXJ0T2Zmc2V0KGZsb2F0KTsKKworICAgICAgICBib29sIGV4YWN0QWxpZ25tZW50KCkgY29uc3Q7
CisgICAgICAgIHZvaWQgc2V0RXhhY3RBbGlnbm1lbnQoYm9vbCk7CisKKyAgICAgICAgYm9vbCBz
dHJldGNoTWV0aG9kKCkgY29uc3Q7CisgICAgICAgIHZvaWQgc2V0U3RyZXRjaE1ldGhvZChib29s
KTsKKworICAgICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJl
dHVybiAiUmVuZGVyU1ZHVGV4dFBhdGgiOyB9CisgICAgICAgIHZpcnR1YWwgdm9pZCBhYnNvbHV0
ZVJlY3RzKFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMsIGludCB0eCwgaW50IHR5KTsKKworICAgIHBy
aXZhdGU6CisgICAgICAgIGZsb2F0IG1fc3RhcnRPZmZzZXQ7CisKKyAgICAgICAgYm9vbCBtX2V4
YWN0QWxpZ25tZW50IDogMTsKKyAgICAgICAgYm9vbCBtX3N0cmV0Y2hNZXRob2QgOiAxOworCisg
ICAgICAgIFBhdGggbV9sYXlvdXRQYXRoOworICAgIH07Cit9CisKKyNlbmRpZiAvLyBFTkFCTEUo
U1ZHKQorI2VuZGlmIC8vIFJlbmRlclNWR1RleHRQYXRoX2gKSW5kZXg6IHJlbmRlcmluZy9Sb290
SW5saW5lQm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaAkocmV2
aXNpb24gMTk5OTIpCisrKyByZW5kZXJpbmcvUm9vdElubGluZUJveC5oCSh3b3JraW5nIGNvcHkp
CkBAIC03MCw2ICs3MCwxMCBAQAogCiAgICAgdmlydHVhbCB2b2lkIHNldFZlcnRpY2FsU2VsZWN0
aW9uUG9zaXRpb25zKGludCB0b3AsIGludCBib3R0b20pIHsgbV9zZWxlY3Rpb25Ub3AgPSB0b3A7
IG1fc2VsZWN0aW9uQm90dG9tID0gYm90dG9tOyB9CiAKKyNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFC
TEUoU1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykKKyAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVBl
ckNoYXJhY3RlckxheW91dEluZm9ybWF0aW9uKCkgeyB9CisjZW5kaWYKKwogICAgIFJlbmRlck9i
amVjdCogbGluZUJyZWFrT2JqKCkgY29uc3QgeyByZXR1cm4gbV9saW5lQnJlYWtPYmo7IH0KICAg
ICBCaWRpU3RhdHVzIGxpbmVCcmVha0JpZGlTdGF0dXMoKSBjb25zdCB7IHJldHVybiBtX2xpbmVC
cmVha0JpZGlTdGF0dXM7IH0KICAgICBCaWRpQ29udGV4dCogbGluZUJyZWFrQmlkaUNvbnRleHQo
KSBjb25zdCB7IHJldHVybiBtX2xpbmVCcmVha0NvbnRleHQuZ2V0KCk7IH0KSW5kZXg6IHJlbmRl
cmluZy9iaWRpLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSByZW5kZXJpbmcvYmlkaS5jcHAJKHJldmlzaW9u
IDE5OTkyKQorKysgcmVuZGVyaW5nL2JpZGkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzM0LDcg
KzE3MzQsMTIgQEAKICAgICAgICAgICAgICAgICAgICAgbGluZUJveCA9IGNvbnN0cnVjdExpbmUo
c3RhcnQsIGVuZCk7CiAgICAgICAgICAgICAgICAgICAgIGlmIChsaW5lQm94KSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBsaW5lQm94LT5zZXRFbmRzV2l0aEJyZWFrKHByZXZpb3VzTGluZUJy
b2tlQ2xlYW5seSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAKKworI2lmIEVOQUJMRShTVkcp
ICYmIEVOQUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKQorICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gU3BlY2lhbCBTVkcgdGV4dCBsYXlvdXQgY29kZQorICAgICAgICAgICAgICAgICAg
ICAgICAgbGluZUJveC0+Y29tcHV0ZVBlckNoYXJhY3RlckxheW91dEluZm9ybWF0aW9uKCk7Cisj
ZW5kaWYKKwogICAgICAgICAgICAgICAgICAgICAgICAgLy8gTm93IHdlIHBvc2l0aW9uIGFsbCBv
ZiBvdXIgdGV4dCBydW5zIGhvcml6b250YWxseS4KICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bXB1dGVIb3Jpem9udGFsUG9zaXRpb25zRm9yTGluZShsaW5lQm94LCBiaWRpKTsKICAgICAgICAg
CkluZGV4OiByZW5kZXJpbmcvU1ZHSW5saW5lRmxvd0JveC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHJlbmRl
cmluZy9TVkdJbmxpbmVGbG93Qm94LmgJKHJldmlzaW9uIDE5OTkyKQorKysgcmVuZGVyaW5nL1NW
R0lubGluZUZsb3dCb3guaAkod29ya2luZyBjb3B5KQpAQCAtMzAsOSArMzAsMTEgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCisjaWYgIUVOQUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRVUkVT
KQogdm9pZCBwYWludFNWR0lubGluZUZsb3coSW5saW5lRmxvd0JveCosIFJlbmRlck9iamVjdCos
IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwgaW50IHR4LCBpbnQgdHkpOwogaW50IHBsYWNlU1ZH
Rmxvd0hvcml6b250YWxseShJbmxpbmVGbG93Qm94KiwgaW50IHgsIGludCYgbGVmdFBvc2l0aW9u
LCBpbnQmIHJpZ2h0UG9zaXRpb24sIGJvb2wmIG5lZWRzV29yZFNwYWNpbmcpOwogdm9pZCBwbGFj
ZVNWR0Zsb3dWZXJ0aWNhbGx5KElubGluZUZsb3dCb3gqLCBpbnQmIGhlaWdodE9mQmxvY2spOwor
I2VuZGlmCiAKIGNsYXNzIFNWR0lubGluZUZsb3dCb3ggOiBwdWJsaWMgSW5saW5lRmxvd0JveCB7
CiBwdWJsaWM6CkluZGV4OiByZW5kZXJpbmcvU1ZHSW5saW5lRmxvd0JveC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gcmVuZGVyaW5nL1NWR0lubGluZUZsb3dCb3guY3BwCShyZXZpc2lvbiAxOTk5MikKKysr
IHJlbmRlcmluZy9TVkdJbmxpbmVGbG93Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMyw2ICsz
LDcgQEAKICAqCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgT2xpdmVyIEh1bnQgPG9qaDE2QHN0dWRl
bnQuY2FudGVyYnVyeS5hYy5uej4KICAqICAgICAgICAgICAoQykgMjAwNiBBcHBsZSBDb21wdXRl
ciBJbmMuCisgKiAgICAgICAgICAgKEMpIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJt
YW5uQGtkZS5vcmc+CiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI2LDYgKzI3LDcgQEAKICNpZiBF
TkFCTEUoU1ZHKQogI2luY2x1ZGUgIlNWR0lubGluZUZsb3dCb3guaCIKIAorI2lmICFFTkFCTEUo
U1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIK
ICNpbmNsdWRlICJJbmxpbmVUZXh0Qm94LmgiCiAjaW5jbHVkZSAiS0NhbnZhc1JlbmRlcmluZ1N0
eWxlLmgiCkBAIC00MCwxMSArNDIsMjkgQEAKIAogdXNpbmcgc3RkOjptaW47CiB1c2luZyBzdGQ6
Om1heDsKKyNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyNpZiBFTkFCTEUoU1ZHX0VY
UEVSSU1FTlRBTF9GRUFUVVJFUykKIHZvaWQgU1ZHSW5saW5lRmxvd0JveDo6cGFpbnQoUmVuZGVy
T2JqZWN0OjpQYWludEluZm8mIHBhaW50SW5mbywgaW50IHR4LCBpbnQgdHkpCiB7CisgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7Cit9CisKK2ludCBTVkdJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVz
SG9yaXpvbnRhbGx5KGludCB4LCBpbnQmIGxlZnRQb3NpdGlvbiwgaW50JiByaWdodFBvc2l0aW9u
LCBib29sJiBuZWVkc1dvcmRTcGFjaW5nKQoreworICAgIC8vIG5vLW9wCisgICAgcmV0dXJuIDA7
Cit9CisKK3ZvaWQgU1ZHSW5saW5lRmxvd0JveDo6dmVydGljYWxseUFsaWduQm94ZXMoaW50JiBo
ZWlnaHRPZkJsb2NrKQoreworICAgIC8vIG5vLW9wCit9CisjZWxzZQordm9pZCBTVkdJbmxpbmVG
bG93Qm94OjpwYWludChSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYgcGFpbnRJbmZvLCBpbnQgdHgs
IGludCB0eSkKK3sKICAgICBwYWludFNWR0lubGluZUZsb3codGhpcywgb2JqZWN0KCksIHBhaW50
SW5mbywgdHgsIHR5KTsKIH0KIApAQCAtMjk3LDYgKzMxNyw3IEBACiAgICAgZmxvdy0+c2V0VmVy
dGljYWxPdmVyZmxvd1Bvc2l0aW9ucyh0b3AsIGJvdHRvbSk7CiAgICAgZmxvdy0+c2V0VmVydGlj
YWxTZWxlY3Rpb25Qb3NpdGlvbnModG9wLCBib3R0b20pOwogfQorI2VuZGlmCiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIApJbmRleDogcmVuZGVyaW5nL1NWR0NoYXJhY3RlckxheW91dEluZm8u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIHJlbmRlcmluZy9TVkdDaGFyYWN0ZXJMYXlvdXRJbmZvLmNwcAko
cmV2aXNpb24gMCkKKysrIHJlbmRlcmluZy9TVkdDaGFyYWN0ZXJMYXlvdXRJbmZvLmNwcAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw0ODkgQEAKKy8qCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0
aGUgV2ViS2l0IHByb2plY3QuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA3IE5pa29sYXMgWmlt
bWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
KyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBD
T1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKKyAqIEJvc3RvbiwgTUEg
MDIxMTEtMTMwNywgVVNBLgorICoKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBF
TkFCTEUoU1ZHKSAmJiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykKKyNpbmNsdWRl
ICJTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvLmgiCisKKyNpbmNsdWRlICJJbmxpbmVGbG93Qm94Lmgi
CisjaW5jbHVkZSAiSW5saW5lVGV4dEJveC5oIgorI2luY2x1ZGUgIktDYW52YXNSZW5kZXJpbmdT
dHlsZS5oIgorI2luY2x1ZGUgIlNWR0xlbmd0aExpc3QuaCIKKyNpbmNsdWRlICJTVkdOdW1iZXJM
aXN0LmgiCisjaW5jbHVkZSAiU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5oIgorI2luY2x1ZGUg
IlJlbmRlclNWR1RleHRQYXRoLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gSGVscGVy
IGZ1bmN0aW9uCitzdGF0aWMgZmxvYXQgY2FsY3VsYXRlQmFzZWxpbmVTaGlmdChSZW5kZXJPYmpl
Y3QqIGl0ZW0pCit7CisgICAgY29uc3QgRm9udCYgZm9udCA9IGl0ZW0tPnN0eWxlKCktPmZvbnQo
KTsKKyAgICBjb25zdCBTVkdSZW5kZXJTdHlsZSogc3ZnU3R5bGUgPSBpdGVtLT5zdHlsZSgpLT5z
dmdTdHlsZSgpOworCisgICAgZmxvYXQgYmFzZWxpbmVTaGlmdCA9IDAuMDsKKyAgICBpZiAoc3Zn
U3R5bGUtPmJhc2VsaW5lU2hpZnQoKSA9PSBCU19MRU5HVEgpIHsKKyAgICAgICAgQ1NTUHJpbWl0
aXZlVmFsdWUqIHByaW1pdGl2ZSA9IHN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlKj4oc3Zn
U3R5bGUtPmJhc2VsaW5lU2hpZnRWYWx1ZSgpKTsKKyAgICAgICAgYmFzZWxpbmVTaGlmdCA9IEtT
VkdQYWludGVyRmFjdG9yeTo6Y3NzUHJpbWl0aXZlVG9MZW5ndGgoaXRlbSwgcHJpbWl0aXZlLCAw
LjApOworCisgICAgICAgIGlmIChwcmltaXRpdmUtPnByaW1pdGl2ZVR5cGUoKSA9PSBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpCisgICAgICAgICAgICBiYXNlbGluZVNoaWZ0ID0g
YmFzZWxpbmVTaGlmdCAvIDEwMC4wICogZm9udC5waXhlbFNpemUoKTsKKyAgICB9IGVsc2Ugewor
ICAgICAgICBmbG9hdCBiYXNlbGluZUFzY2VudCA9IGZvbnQuYXNjZW50KCkgKyBmb250LmRlc2Nl
bnQoKTsKKworICAgICAgICBzd2l0Y2ggKHN2Z1N0eWxlLT5iYXNlbGluZVNoaWZ0KCkpIHsKKyAg
ICAgICAgY2FzZSBCU19CQVNFTElORToKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNl
IEJTX1NVQjoKKyAgICAgICAgICAgIGJhc2VsaW5lU2hpZnQgPSAtYmFzZWxpbmVBc2NlbnQgLyAy
LjA7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBCU19TVVBFUjoKKyAgICAgICAg
ICAgIGJhc2VsaW5lU2hpZnQgPSBiYXNlbGluZUFzY2VudCAvIDIuMDsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gYmFzZWxpbmVTaGlmdDsKK30KKworU1ZH
Q2hhcmFjdGVyTGF5b3V0SW5mbzo6U1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbygpCisgICAgOiBjdXJ4
KDAuMCkKKyAgICAsIGN1cnkoMC4wKQorICAgICwgZHgoMC4wKQorICAgICwgZHkoMC4wKQorICAg
ICwgc2hpZnR4KDAuMCkKKyAgICAsIHNoaWZ0eSgwLjApCisgICAgLCB4U3RhY2tDaGFuZ2VkKGZh
bHNlKQorICAgICwgeVN0YWNrQ2hhbmdlZChmYWxzZSkKKyAgICAsIGR4U3RhY2tDaGFuZ2VkKGZh
bHNlKQorICAgICwgZHlTdGFja0NoYW5nZWQoZmFsc2UpCisgICAgLCBhbmdsZVN0YWNrQ2hhbmdl
ZChmYWxzZSkKKyAgICAsIGJhc2VsaW5lU2hpZnRTdGFja0NoYW5nZWQoZmFsc2UpCisgICAgLCBw
YXRoTGF5b3V0KGZhbHNlKQorICAgICwgY3VycmVudE9mZnNldCgwLjApCisgICAgLCBzdGFydE9m
ZnNldCgwLjApCisgICAgLCBsYXlvdXRQYXRoTGVuZ3RoKDAuMCkKK3sKK30KKworYm9vbCBTVkdD
aGFyYWN0ZXJMYXlvdXRJbmZvOjp4VmFsdWVBdmFpbGFibGUoKSBjb25zdAoreworICAgIHJldHVy
biB4U3RhY2suaXNFbXB0eSgpID8gZmFsc2UgOiB4U3RhY2subGFzdCgpLnBvc2l0aW9uKCkgPCB4
U3RhY2subGFzdCgpLnNpemUoKTsKK30KKworYm9vbCBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjp5
VmFsdWVBdmFpbGFibGUoKSBjb25zdAoreworICAgIHJldHVybiB5U3RhY2suaXNFbXB0eSgpID8g
ZmFsc2UgOiB5U3RhY2subGFzdCgpLnBvc2l0aW9uKCkgPCB5U3RhY2subGFzdCgpLnNpemUoKTsK
K30KKworYm9vbCBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjpkeFZhbHVlQXZhaWxhYmxlKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gZHhTdGFjay5pc0VtcHR5KCkgPyBmYWxzZSA6IGR4U3RhY2subGFz
dCgpLnBvc2l0aW9uKCkgPCBkeFN0YWNrLmxhc3QoKS5zaXplKCk7Cit9CisKK2Jvb2wgU1ZHQ2hh
cmFjdGVyTGF5b3V0SW5mbzo6ZHlWYWx1ZUF2YWlsYWJsZSgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IGR5U3RhY2suaXNFbXB0eSgpID8gZmFsc2UgOiBkeVN0YWNrLmxhc3QoKS5wb3NpdGlvbigpIDwg
ZHlTdGFjay5sYXN0KCkuc2l6ZSgpOworfQorCitib29sIFNWR0NoYXJhY3RlckxheW91dEluZm86
OmFuZ2xlVmFsdWVBdmFpbGFibGUoKSBjb25zdAoreworICAgIHJldHVybiBhbmdsZVN0YWNrLmlz
RW1wdHkoKSA/IGZhbHNlIDogYW5nbGVTdGFjay5sYXN0KCkucG9zaXRpb24oKSA8IGFuZ2xlU3Rh
Y2subGFzdCgpLnNpemUoKTsKK30KKworYm9vbCBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjpiYXNl
bGluZVNoaWZ0VmFsdWVBdmFpbGFibGUoKSBjb25zdAoreworICAgIHJldHVybiAhYmFzZWxpbmVT
aGlmdFN0YWNrLmlzRW1wdHkoKTsKK30KKworZmxvYXQgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6
eFZhbHVlTmV4dCgpIGNvbnN0Cit7CisgICAgQVNTRVJUKCF4U3RhY2suaXNFbXB0eSgpKTsKKyAg
ICByZXR1cm4geFN0YWNrLmxhc3QoKS52YWx1ZUF0Q3VycmVudFBvc2l0aW9uKCk7Cit9CisKK2Zs
b2F0IFNWR0NoYXJhY3RlckxheW91dEluZm86OnlWYWx1ZU5leHQoKSBjb25zdAoreworICAgIEFT
U0VSVCgheVN0YWNrLmlzRW1wdHkoKSk7CisgICAgcmV0dXJuIHlTdGFjay5sYXN0KCkudmFsdWVB
dEN1cnJlbnRQb3NpdGlvbigpOworfQorCitmbG9hdCBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjpk
eFZhbHVlTmV4dCgpIGNvbnN0Cit7CisgICAgQVNTRVJUKCFkeFN0YWNrLmlzRW1wdHkoKSk7Cisg
ICAgcmV0dXJuIGR4U3RhY2subGFzdCgpLnZhbHVlQXRDdXJyZW50UG9zaXRpb24oKTsKK30KKwor
ZmxvYXQgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6ZHlWYWx1ZU5leHQoKSBjb25zdAoreworICAg
IEFTU0VSVCghZHlTdGFjay5pc0VtcHR5KCkpOworICAgIHJldHVybiBkeVN0YWNrLmxhc3QoKS52
YWx1ZUF0Q3VycmVudFBvc2l0aW9uKCk7Cit9CisKK2Zsb2F0IFNWR0NoYXJhY3RlckxheW91dElu
Zm86OmFuZ2xlVmFsdWVOZXh0KCkgY29uc3QKK3sKKyAgICBBU1NFUlQoIWFuZ2xlU3RhY2suaXNF
bXB0eSgpKTsKKyAgICByZXR1cm4gYW5nbGVTdGFjay5sYXN0KCkudmFsdWVBdEN1cnJlbnRQb3Np
dGlvbigpOworfQorCitmbG9hdCBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjpiYXNlbGluZVNoaWZ0
VmFsdWVOZXh0KCkgY29uc3QKK3sKKyAgICBBU1NFUlQoIWJhc2VsaW5lU2hpZnRTdGFjay5pc0Vt
cHR5KCkpOworICAgIHJldHVybiBiYXNlbGluZVNoaWZ0U3RhY2subGFzdCgpOworfQorCit2b2lk
IFNWR0NoYXJhY3RlckxheW91dEluZm86OnByb2Nlc3NlZFNpbmdsZUNoYXJhY3RlcigpCit7Cisg
ICAgeFN0YWNrV2FsaygpOworICAgIHlTdGFja1dhbGsoKTsKKyAgICBkeFN0YWNrV2FsaygpOwor
ICAgIGR5U3RhY2tXYWxrKCk7CisgICAgYW5nbGVTdGFja1dhbGsoKTsKKyAgICBiYXNlbGluZVNo
aWZ0U3RhY2tXYWxrKCk7Cit9CisKK3ZvaWQgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6cHJvY2Vz
c2VkQ2h1bmsoZmxvYXQgbGFzdFNoaWZ0WCwgZmxvYXQgbGFzdFNoaWZ0WSkKK3sKKyAgICAvLyBi
YXNlbGluZS1zaGlmdCBkb2Vzbid0IHNwYW4gYWNyb3NzIGFuY2VzdG9ycywgdW5saWtlIGR4L2R5
LgorICAgIGN1cnggKz0gbGFzdFNoaWZ0WCAtIHNoaWZ0eDsKKyAgICBjdXJ5ICs9IGxhc3RTaGlm
dFkgLSBzaGlmdHk7CisKKyAgICBpZiAoeFN0YWNrQ2hhbmdlZCkgeworICAgICAgICBBU1NFUlQo
IXhTdGFjay5pc0VtcHR5KCkpOworICAgICAgICB4U3RhY2sucmVtb3ZlTGFzdCgpOworICAgICAg
ICB4U3RhY2tDaGFuZ2VkID0gZmFsc2U7CisgICAgfQorCisgICAgaWYgKHlTdGFja0NoYW5nZWQp
IHsKKyAgICAgICAgQVNTRVJUKCF5U3RhY2suaXNFbXB0eSgpKTsKKyAgICAgICAgeVN0YWNrLnJl
bW92ZUxhc3QoKTsKKyAgICAgICAgeVN0YWNrQ2hhbmdlZCA9IGZhbHNlOworICAgIH0KKworICAg
IGlmIChkeFN0YWNrQ2hhbmdlZCkgeworICAgICAgICBBU1NFUlQoIWR4U3RhY2suaXNFbXB0eSgp
KTsKKyAgICAgICAgZHhTdGFjay5yZW1vdmVMYXN0KCk7CisgICAgICAgIGR4U3RhY2tDaGFuZ2Vk
ID0gZmFsc2U7CisgICAgfQorCisgICAgaWYgKGR5U3RhY2tDaGFuZ2VkKSB7CisgICAgICAgIEFT
U0VSVCghZHlTdGFjay5pc0VtcHR5KCkpOworICAgICAgICBkeVN0YWNrLnJlbW92ZUxhc3QoKTsK
KyAgICAgICAgZHlTdGFja0NoYW5nZWQgPSBmYWxzZTsKKyAgICB9CisKKyAgICBpZiAoYW5nbGVT
dGFja0NoYW5nZWQpIHsKKyAgICAgICAgQVNTRVJUKCFhbmdsZVN0YWNrLmlzRW1wdHkoKSk7Cisg
ICAgICAgIGFuZ2xlU3RhY2sucmVtb3ZlTGFzdCgpOworICAgICAgICBhbmdsZVN0YWNrQ2hhbmdl
ZCA9IGZhbHNlOworICAgIH0KKworICAgIGlmIChiYXNlbGluZVNoaWZ0U3RhY2tDaGFuZ2VkKSB7
CisgICAgICAgIEFTU0VSVCghYmFzZWxpbmVTaGlmdFN0YWNrLmlzRW1wdHkoKSk7CisgICAgICAg
IGJhc2VsaW5lU2hpZnRTdGFjay5yZW1vdmVMYXN0KCk7CisgICAgICAgIGJhc2VsaW5lU2hpZnRT
dGFja0NoYW5nZWQgPSBmYWxzZTsKKyAgICB9Cit9CisKK2Jvb2wgU1ZHQ2hhcmFjdGVyTGF5b3V0
SW5mbzo6bmV4dFBhdGhMYXlvdXRQb2ludEFuZEFuZ2xlKGZsb2F0JiB4LCBmbG9hdCYgeSwgZmxv
YXQmIGFuZ2xlLCBmbG9hdCBnbHlwaEFkdmFuY2UsIGZsb2F0IG5ld09mZnNldCkKK3sKKyAgICBp
ZiAobGF5b3V0UGF0aExlbmd0aCA8PSAwLjApCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IGlmIChuZXdPZmZzZXQgIT0gRkxUX01JTikKKyAgICAgICAgY3VycmVudE9mZnNldCA9IHN0YXJ0
T2Zmc2V0ICsgbmV3T2Zmc2V0OworCisgICAgZmxvYXQgb2Zmc2V0ID0gY3VycmVudE9mZnNldCAr
IGdseXBoQWR2YW5jZSAvIDIuMDsKKyAgICBjdXJyZW50T2Zmc2V0ICs9IGdseXBoQWR2YW5jZTsK
KworICAgIGlmIChvZmZzZXQgPCAwLjAgfHwgb2Zmc2V0ID4gbGF5b3V0UGF0aExlbmd0aCkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYm9vbCBvayA9IGZhbHNlOyAKKyAgICBGbG9hdFBv
aW50IHBvaW50ID0gbGF5b3V0UGF0aC5wb2ludEF0TGVuZ3RoKG9mZnNldCwgb2spOworICAgIEFT
U0VSVChvayk7CisKKyAgICB4ID0gcG9pbnQueCgpOworICAgIHkgPSBwb2ludC55KCk7CisKKyAg
ICBhbmdsZSA9IGxheW91dFBhdGgubm9ybWFsQW5nbGVBdExlbmd0aChvZmZzZXQsIG9rKTsKKyAg
ICBBU1NFUlQob2spOworCisgICAgLy8gZnByaW50ZihzdGRlcnIsICJ0OiAlZiwgeDogJWYsIHk6
ICVmLCBhbmdsZTogJWYsIGdseXBoQWR2YW5jZTogJWZcbiIsIGN1cnJlbnRPZmZzZXQsIHgsIHks
IGFuZ2xlLCBnbHlwaEFkdmFuY2UpOworICAgIHJldHVybiB0cnVlOworfQorCitib29sIFNWR0No
YXJhY3RlckxheW91dEluZm86OmluUGF0aExheW91dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHBh
dGhMYXlvdXQ7Cit9CisKK3ZvaWQgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6c2V0SW5QYXRoTGF5
b3V0KGJvb2wgdmFsdWUpCit7CisgICAgcGF0aExheW91dCA9IHZhbHVlOworfQorCit2b2lkIFNW
R0NoYXJhY3RlckxheW91dEluZm86OmFkZExheW91dEluZm9ybWF0aW9uKElubGluZUZsb3dCb3gq
IGZsb3dCb3gsIGZsb2F0IHRleHRBbmNob3JTdGFydE9mZnNldCkKK3sKKyAgICBib29sIGlzSW5p
dGlhbExheW91dCA9IHhTdGFjay5pc0VtcHR5KCkgJiYgeVN0YWNrLmlzRW1wdHkoKSAmJgorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZHhTdGFjay5pc0VtcHR5KCkgJiYgZHlTdGFjay5pc0Vt
cHR5KCkgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZ2xlU3RhY2suaXNFbXB0eSgp
ICYmIGJhc2VsaW5lU2hpZnRTdGFjay5pc0VtcHR5KCkgJiYKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGN1cnggPT0gMC4wICYmIGN1cnkgPT0gMC4wOworCisgICAgUmVuZGVyU1ZHVGV4dFBh
dGgqIHRleHRQYXRoID0gc3RhdGljX2Nhc3Q8UmVuZGVyU1ZHVGV4dFBhdGgqPihmbG93Qm94LT5v
YmplY3QoKSk7CisgICAgUGF0aCBwYXRoID0gdGV4dFBhdGgtPmxheW91dFBhdGgoKTsKKyAgICBm
bG9hdCBiYXNlbGluZVNoaWZ0ID0gY2FsY3VsYXRlQmFzZWxpbmVTaGlmdCh0ZXh0UGF0aCk7CisK
KyAgICBsYXlvdXRQYXRoID0gcGF0aDsKKyAgICBsYXlvdXRQYXRoTGVuZ3RoID0gcGF0aC5sZW5n
dGgoKTsKKworICAgIGlmIChsYXlvdXRQYXRoTGVuZ3RoIDw9IDAuMCkKKyAgICAgICAgcmV0dXJu
OworCisgICAgc3RhcnRPZmZzZXQgPSB0ZXh0UGF0aC0+c3RhcnRPZmZzZXQoKTsKKworICAgIGlm
ICh0ZXh0UGF0aC0+c3RhcnRPZmZzZXQoKSA+PSAwLjAgJiYgdGV4dFBhdGgtPnN0YXJ0T2Zmc2V0
KCkgPD0gMS4wKQorICAgICAgICBzdGFydE9mZnNldCAqPSBsYXlvdXRQYXRoTGVuZ3RoOworCisg
ICAgc3RhcnRPZmZzZXQgKz0gdGV4dEFuY2hvclN0YXJ0T2Zmc2V0OworICAgIGN1cnJlbnRPZmZz
ZXQgPSBzdGFydE9mZnNldDsKKworICAgIC8vIE9ubHkgYmFzZWxpbmUtc2hpZnQgaXMgaGFuZGxl
ZCB0aHJvdWdoIHRoZSBub3JtYWwgbGF5b3V0IHN5c3RlbQorICAgIGFkZFN0YWNrQ29udGVudChC
YXNlbGluZVNoaWZ0U3RhY2ssIGJhc2VsaW5lU2hpZnQpOworCisgICAgaWYgKGlzSW5pdGlhbExh
eW91dCkgeworICAgICAgICB4U3RhY2tDaGFuZ2VkID0gZmFsc2U7CisgICAgICAgIHlTdGFja0No
YW5nZWQgPSBmYWxzZTsKKyAgICAgICAgZHhTdGFja0NoYW5nZWQgPSBmYWxzZTsKKyAgICAgICAg
ZHlTdGFja0NoYW5nZWQgPSBmYWxzZTsKKyAgICAgICAgYW5nbGVTdGFja0NoYW5nZWQgPSBmYWxz
ZTsKKyAgICAgICAgYmFzZWxpbmVTaGlmdFN0YWNrQ2hhbmdlZCA9IGZhbHNlOworICAgIH0KK30K
Kwordm9pZCBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjphZGRMYXlvdXRJbmZvcm1hdGlvbihTVkdU
ZXh0UG9zaXRpb25pbmdFbGVtZW50KiBlbGVtZW50KQoreworICAgIGJvb2wgaXNJbml0aWFsTGF5
b3V0ID0geFN0YWNrLmlzRW1wdHkoKSAmJiB5U3RhY2suaXNFbXB0eSgpICYmCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkeFN0YWNrLmlzRW1wdHkoKSAmJiBkeVN0YWNrLmlzRW1wdHkoKSAm
JgorICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5nbGVTdGFjay5pc0VtcHR5KCkgJiYgYmFz
ZWxpbmVTaGlmdFN0YWNrLmlzRW1wdHkoKSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y3VyeCA9PSAwLjAgJiYgY3VyeSA9PSAwLjA7CisKKyAgICBmbG9hdCBiYXNlbGluZVNoaWZ0ID0g
Y2FsY3VsYXRlQmFzZWxpbmVTaGlmdChlbGVtZW50LT5yZW5kZXJlcigpKTsKKworICAgIGFkZFN0
YWNrQ29udGVudChYU3RhY2ssIGVsZW1lbnQtPngoKSk7CisgICAgYWRkU3RhY2tDb250ZW50KFlT
dGFjaywgZWxlbWVudC0+eSgpKTsKKyAgICBhZGRTdGFja0NvbnRlbnQoRHhTdGFjaywgZWxlbWVu
dC0+ZHgoKSk7CisgICAgYWRkU3RhY2tDb250ZW50KER5U3RhY2ssIGVsZW1lbnQtPmR5KCkpOwor
ICAgIGFkZFN0YWNrQ29udGVudChBbmdsZVN0YWNrLCBlbGVtZW50LT5yb3RhdGUoKSk7CisgICAg
YWRkU3RhY2tDb250ZW50KEJhc2VsaW5lU2hpZnRTdGFjaywgYmFzZWxpbmVTaGlmdCk7CisKKyAg
ICBpZiAoaXNJbml0aWFsTGF5b3V0KSB7CisgICAgICAgIHhTdGFja0NoYW5nZWQgPSBmYWxzZTsK
KyAgICAgICAgeVN0YWNrQ2hhbmdlZCA9IGZhbHNlOworICAgICAgICBkeFN0YWNrQ2hhbmdlZCA9
IGZhbHNlOworICAgICAgICBkeVN0YWNrQ2hhbmdlZCA9IGZhbHNlOworICAgICAgICBhbmdsZVN0
YWNrQ2hhbmdlZCA9IGZhbHNlOworICAgICAgICBiYXNlbGluZVNoaWZ0U3RhY2tDaGFuZ2VkID0g
ZmFsc2U7CisgICAgfQorfQorCit2b2lkIFNWR0NoYXJhY3RlckxheW91dEluZm86OmFkZFN0YWNr
Q29udGVudChTdGFja1R5cGUgdHlwZSwgU1ZHTnVtYmVyTGlzdCogbGlzdCkKK3sKKyAgICB1bnNp
Z25lZCBsZW5ndGggPSBsaXN0LT5udW1iZXJPZkl0ZW1zKCk7CisgICAgaWYgKCFsZW5ndGgpCisg
ICAgICAgIHJldHVybjsKKworICAgIFBvc2l0aW9uZWRGbG9hdFZlY3RvciBuZXdMYXlvdXRJbmZv
OworCisgICAgLy8gVE9ETzogQ29udmVydCBtb3JlIGVmZmljaWVudGx5IQorICAgIEV4Y2VwdGlv
bkNvZGUgZWMgPSAwOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkg
eworICAgICAgICBmbG9hdCB2YWx1ZSA9IGxpc3QtPmdldEl0ZW0oaSwgZWMpOworICAgICAgICBB
U1NFUlQoZWMgPT0gMCk7CisKKyAgICAgICAgbmV3TGF5b3V0SW5mby5hcHBlbmQodmFsdWUpOwor
ICAgIH0KKworICAgIGFkZFN0YWNrQ29udGVudCh0eXBlLCBuZXdMYXlvdXRJbmZvKTsKK30KKwor
dm9pZCBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjphZGRTdGFja0NvbnRlbnQoU3RhY2tUeXBlIHR5
cGUsIFNWR0xlbmd0aExpc3QqIGxpc3QpCit7CisgICAgdW5zaWduZWQgbGVuZ3RoID0gbGlzdC0+
bnVtYmVyT2ZJdGVtcygpOworICAgIGlmICghbGVuZ3RoKQorICAgICAgICByZXR1cm47CisKKyAg
ICBQb3NpdGlvbmVkRmxvYXRWZWN0b3IgbmV3TGF5b3V0SW5mbzsKKworICAgIEV4Y2VwdGlvbkNv
ZGUgZWMgPSAwOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgewor
ICAgICAgICBmbG9hdCB2YWx1ZSA9IGxpc3QtPmdldEl0ZW0oaSwgZWMpLnZhbHVlKCk7CisgICAg
ICAgIEFTU0VSVChlYyA9PSAwKTsKKworICAgICAgICBuZXdMYXlvdXRJbmZvLmFwcGVuZCh2YWx1
ZSk7CisgICAgfQorCisgICAgYWRkU3RhY2tDb250ZW50KHR5cGUsIG5ld0xheW91dEluZm8pOwor
fQorCit2b2lkIFNWR0NoYXJhY3RlckxheW91dEluZm86OmFkZFN0YWNrQ29udGVudChTdGFja1R5
cGUgdHlwZSwgY29uc3QgUG9zaXRpb25lZEZsb2F0VmVjdG9yJiBsaXN0KQoreworICAgIHN3aXRj
aCAodHlwZSkgeworICAgIGNhc2UgWFN0YWNrOgorICAgICAgICB4U3RhY2tDaGFuZ2VkID0gdHJ1
ZTsKKyAgICAgICAgeFN0YWNrLmFwcGVuZChsaXN0KTsKKyAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBZU3RhY2s6CisgICAgICAgIHlTdGFja0NoYW5nZWQgPSB0cnVlOworICAgICAgICB5U3RhY2su
YXBwZW5kKGxpc3QpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIER4U3RhY2s6CisgICAgICAg
IGR4U3RhY2tDaGFuZ2VkID0gdHJ1ZTsKKyAgICAgICAgZHhTdGFjay5hcHBlbmQobGlzdCk7Cisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgRHlTdGFjazoKKyAgICAgICAgZHlTdGFja0NoYW5nZWQg
PSB0cnVlOworICAgICAgICBkeVN0YWNrLmFwcGVuZChsaXN0KTsKKyAgICAgICAgYnJlYWs7Cisg
ICBjYXNlIEFuZ2xlU3RhY2s6CisgICAgICAgIGFuZ2xlU3RhY2tDaGFuZ2VkID0gdHJ1ZTsKKyAg
ICAgICAgYW5nbGVTdGFjay5hcHBlbmQobGlzdCk7CisgICAgICAgIGJyZWFrOyAKKyAgIGRlZmF1
bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KK30KKwordm9pZCBTVkdD
aGFyYWN0ZXJMYXlvdXRJbmZvOjphZGRTdGFja0NvbnRlbnQoU3RhY2tUeXBlIHR5cGUsIGZsb2F0
IHZhbHVlKQoreworICAgIGlmICh2YWx1ZSA9PSAwLjApCisgICAgICAgIHJldHVybjsKKworICAg
IHN3aXRjaCAodHlwZSkgeworICAgIGNhc2UgQmFzZWxpbmVTaGlmdFN0YWNrOgorICAgICAgICBi
YXNlbGluZVNoaWZ0U3RhY2tDaGFuZ2VkID0gdHJ1ZTsKKyAgICAgICAgYmFzZWxpbmVTaGlmdFN0
YWNrLmFwcGVuZCh2YWx1ZSk7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KK30KKwordm9pZCBTVkdDaGFyYWN0ZXJMYXlv
dXRJbmZvOjp4U3RhY2tXYWxrKCkKK3sKKyAgICB1bnNpZ25lZCBpID0gMTsKKworICAgIHdoaWxl
ICgheFN0YWNrLmlzRW1wdHkoKSkgeworICAgICAgICBQb3NpdGlvbmVkRmxvYXRWZWN0b3ImIGN1
ciA9IHhTdGFjay5sYXN0KCk7CisgICAgICAgIGlmIChpICsgY3VyLnBvc2l0aW9uKCkgPCBjdXIu
c2l6ZSgpKSB7CisgICAgICAgICAgICBjdXIuYWR2YW5jZShpKTsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICB9CisKKyAgICAgICAgaSArPSBjdXIucG9zaXRpb24oKTsKKyAgICAgICAgeFN0
YWNrLnJlbW92ZUxhc3QoKTsKKyAgICAgICAgeFN0YWNrQ2hhbmdlZCA9IGZhbHNlOworICAgIH0K
K30KKwordm9pZCBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjp5U3RhY2tXYWxrKCkKK3sKKyAgICB1
bnNpZ25lZCBpID0gMTsKKworICAgIHdoaWxlICgheVN0YWNrLmlzRW1wdHkoKSkgeworICAgICAg
ICBQb3NpdGlvbmVkRmxvYXRWZWN0b3ImIGN1ciA9IHlTdGFjay5sYXN0KCk7CisgICAgICAgIGlm
IChpICsgY3VyLnBvc2l0aW9uKCkgPCBjdXIuc2l6ZSgpKSB7CisgICAgICAgICAgICBjdXIuYWR2
YW5jZShpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgaSArPSBj
dXIucG9zaXRpb24oKTsKKyAgICAgICAgeVN0YWNrLnJlbW92ZUxhc3QoKTsKKyAgICAgICAgeVN0
YWNrQ2hhbmdlZCA9IGZhbHNlOworICAgIH0KK30KKwordm9pZCBTVkdDaGFyYWN0ZXJMYXlvdXRJ
bmZvOjpkeFN0YWNrV2FsaygpCit7CisgICAgdW5zaWduZWQgaSA9IDE7CisKKyAgICB3aGlsZSAo
IWR4U3RhY2suaXNFbXB0eSgpKSB7CisgICAgICAgIFBvc2l0aW9uZWRGbG9hdFZlY3RvciYgY3Vy
ID0gZHhTdGFjay5sYXN0KCk7CisgICAgICAgIGlmIChpICsgY3VyLnBvc2l0aW9uKCkgPCBjdXIu
c2l6ZSgpKSB7CisgICAgICAgICAgICBjdXIuYWR2YW5jZShpKTsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICB9CisKKyAgICAgICAgaSArPSBjdXIucG9zaXRpb24oKTsKKyAgICAgICAgZHhT
dGFjay5yZW1vdmVMYXN0KCk7CisgICAgICAgIGR4U3RhY2tDaGFuZ2VkID0gZmFsc2U7CisgICAg
fQorfQorCit2b2lkIFNWR0NoYXJhY3RlckxheW91dEluZm86OmR5U3RhY2tXYWxrKCkKK3sKKyAg
ICB1bnNpZ25lZCBpID0gMTsKKworICAgIHdoaWxlICghZHlTdGFjay5pc0VtcHR5KCkpIHsKKyAg
ICAgICAgUG9zaXRpb25lZEZsb2F0VmVjdG9yJiBjdXIgPSBkeVN0YWNrLmxhc3QoKTsKKyAgICAg
ICAgaWYgKGkgKyBjdXIucG9zaXRpb24oKSA8IGN1ci5zaXplKCkpIHsKKyAgICAgICAgICAgIGN1
ci5hZHZhbmNlKGkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBp
ICs9IGN1ci5wb3NpdGlvbigpOworICAgICAgICBkeVN0YWNrLnJlbW92ZUxhc3QoKTsKKyAgICAg
ICAgZHlTdGFja0NoYW5nZWQgPSBmYWxzZTsKKyAgICB9Cit9CisKK3ZvaWQgU1ZHQ2hhcmFjdGVy
TGF5b3V0SW5mbzo6YW5nbGVTdGFja1dhbGsoKQoreworICAgIHVuc2lnbmVkIGkgPSAxOworCisg
ICAgd2hpbGUgKCFhbmdsZVN0YWNrLmlzRW1wdHkoKSkgeworICAgICAgICBQb3NpdGlvbmVkRmxv
YXRWZWN0b3ImIGN1ciA9IGFuZ2xlU3RhY2subGFzdCgpOworICAgICAgICBpZiAoaSArIGN1ci5w
b3NpdGlvbigpIDwgY3VyLnNpemUoKSkgeworICAgICAgICAgICAgY3VyLmFkdmFuY2UoaSk7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGkgKz0gY3VyLnBvc2l0aW9u
KCk7CisgICAgICAgIGFuZ2xlU3RhY2sucmVtb3ZlTGFzdCgpOworICAgICAgICBhbmdsZVN0YWNr
Q2hhbmdlZCA9IGZhbHNlOworICAgIH0KK30KKwordm9pZCBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZv
OjpiYXNlbGluZVNoaWZ0U3RhY2tXYWxrKCkKK3sKKyAgICBpZiAoIWJhc2VsaW5lU2hpZnRTdGFj
ay5pc0VtcHR5KCkpIHsKKyAgICAgICAgYmFzZWxpbmVTaGlmdFN0YWNrLnJlbW92ZUxhc3QoKTsK
KyAgICAgICAgYmFzZWxpbmVTaGlmdFN0YWNrQ2hhbmdlZCA9IGZhbHNlOworICAgIH0KK30KKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykKSW5kZXg6IHJl
bmRlcmluZy9TVkdSb290SW5saW5lQm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcmVuZGVyaW5nL1NWR1Jv
b3RJbmxpbmVCb3guaAkocmV2aXNpb24gMTk5OTIpCisrKyByZW5kZXJpbmcvU1ZHUm9vdElubGlu
ZUJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zLDYgKzMsNyBAQAogICoKICAqIENvcHlyaWdodCAo
QykgMjAwNiBPbGl2ZXIgSHVudCA8b2poMTZAc3R1ZGVudC5jYW50ZXJidXJ5LmFjLm56PgogICog
ICAgICAgICAgIChDKSAyMDA2IEFwcGxlIENvbXB1dGVyIEluYy4KKyAqICAgICAgICAgICAoQykg
MjAwNyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAqCiAgKiBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYwpAQCAtMjUsMTEgKzI2LDEzIEBACiAjZGVmaW5lIFNWR1Jvb3RJbmxpbmVCb3hfaAog
CiAjaWYgRU5BQkxFKFNWRykKLQogI2luY2x1ZGUgIlJvb3RJbmxpbmVCb3guaCIKKyNpbmNsdWRl
ICJTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xh
c3MgSW5saW5lVGV4dEJveDsKKwogY2xhc3MgU1ZHUm9vdElubGluZUJveCA6IHB1YmxpYyBSb290
SW5saW5lQm94IHsKIHB1YmxpYzoKICAgICBTVkdSb290SW5saW5lQm94KFJlbmRlck9iamVjdCog
b2JqKQpAQCAtMzgsOCArNDEsMzIgQEAKICAgICB9CiAKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnQo
UmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBpbnQgdHgsIGludCB0eSk7CisKICAgICB2aXJ0dWFs
IGludCBwbGFjZUJveGVzSG9yaXpvbnRhbGx5KGludCB4LCBpbnQmIGxlZnRQb3NpdGlvbiwgaW50
JiByaWdodFBvc2l0aW9uLCBib29sJiBuZWVkc1dvcmRTcGFjaW5nKTsKICAgICB2aXJ0dWFsIHZv
aWQgdmVydGljYWxseUFsaWduQm94ZXMoaW50JiBoZWlnaHRPZkJsb2NrKTsKKworI2lmIEVOQUJM
RShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKQorICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUGVy
Q2hhcmFjdGVyTGF5b3V0SW5mb3JtYXRpb24oKTsKKworcHJpdmF0ZToKKyAgICB2b2lkIGxheW91
dElubGluZUJveGVzKCk7CisgICAgdm9pZCBsYXlvdXRJbmxpbmVCb3hlcyhJbmxpbmVGbG93Qm94
KiBzdGFydCwgVmVjdG9yPFNWR0NoYXI+OjppdGVyYXRvciYgaXQsIGludCYgbWluWCwgaW50JiBt
YXhYLCBpbnQmIG1pblksIGludCYgbWF4WSk7CisKKyAgICB2b2lkIGJ1aWxkTGF5b3V0SW5mb3Jt
YXRpb24oSW5saW5lRmxvd0JveCogc3RhcnQsIFNWR0NoYXJhY3RlckxheW91dEluZm8mIGluZm8p
OworICAgIHZvaWQgYnVpbGRMYXlvdXRJbmZvcm1hdGlvbkZvclRleHRCb3goU1ZHQ2hhcmFjdGVy
TGF5b3V0SW5mbyYgaW5mbywgSW5saW5lVGV4dEJveCopOworCisgICAgdm9pZCBidWlsZFRleHRD
aHVua3MoKTsKKyAgICB2b2lkIGJ1aWxkVGV4dENodW5rcyhJbmxpbmVGbG93Qm94KiBzdGFydCwg
U1ZHVGV4dENodW5rTGF5b3V0SW5mbyYgaW5mbyk7CisKKyAgICB2b2lkIGxheW91dFRleHRDaHVu
a3MoKTsKKworICAgIHZvaWQgcGFpbnRJbmxpbmVCb3hlcyhSZW5kZXJPYmplY3Q6OlBhaW50SW5m
byYsIGludCB0eCwgaW50IHR5LCBJbmxpbmVGbG93Qm94KiBzdGFydCwgVmVjdG9yPFNWR0NoYXI+
OjppdGVyYXRvciYgaXQpOworICAgIHZvaWQgcGFpbnRDaGFyYWN0ZXJSYW5nZUZvclRleHRCb3go
UmVuZGVyT2JqZWN0OjpQYWludEluZm8mIHBhaW50SW5mbywgaW50IHR4LCBpbnQgdHksIElubGlu
ZVRleHRCb3gqLCBjb25zdCBTVkdDaGFyJiwgY29uc3QgVUNoYXIqIGNoYXJzLCBpbnQgbGVuZ3Ro
KTsKKworcHJpdmF0ZToKKyAgICBWZWN0b3I8U1ZHQ2hhcj4gbV9zdmdDaGFyczsKKyAgICBWZWN0
b3I8U1ZHVGV4dENodW5rPiBtX3N2Z1RleHRDaHVua3M7CisjZW5kaWYKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKSW5kZXg6IHJlbmRlcmluZy9TVkdDaGFyYWN0ZXJMYXlvdXRJbmZvLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gcmVuZGVyaW5nL1NWR0NoYXJhY3RlckxheW91dEluZm8uaAkocmV2aXNp
b24gMCkKKysrIHJlbmRlcmluZy9TVkdDaGFyYWN0ZXJMYXlvdXRJbmZvLmgJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMjE2IEBACisvKgorICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdlYktp
dCBwcm9qZWN0LgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwNyBOaWtvbGFzIFppbW1lcm1hbm4g
PHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCisgKiBCb3N0b24sIE1BIDAyMTExLTEz
MDcsIFVTQS4KKyAqCisgKi8KKworI2lmbmRlZiBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvX2gKKyNk
ZWZpbmUgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mb19oCisKKyNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFC
TEUoU1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykKKworI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+
CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisK
KyNpbmNsdWRlICJBZmZpbmVUcmFuc2Zvcm0uaCIKKyNpbmNsdWRlICJTVkdSZW5kZXJTdHlsZS5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIElubGluZUJveDsKK2NsYXNzIElubGlu
ZUZsb3dCb3g7CitjbGFzcyBTVkdMZW5ndGhMaXN0OworY2xhc3MgU1ZHTnVtYmVyTGlzdDsKK2Ns
YXNzIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQ7CisKK3RlbXBsYXRlPGNsYXNzIFR5cGU+Citj
bGFzcyBQb3NpdGlvbmVkVmVjdG9yIDogcHVibGljIFZlY3RvcjxUeXBlPgoreworcHVibGljOgor
ICAgIFBvc2l0aW9uZWRWZWN0b3I8VHlwZT4oKQorICAgICAgICA6IG1fcG9zaXRpb24oMCkKKyAg
ICB7CisgICAgfQorCisgICAgdW5zaWduZWQgcG9zaXRpb24oKSBjb25zdAorICAgIHsKKyAgICAg
ICAgcmV0dXJuIG1fcG9zaXRpb247CisgICAgfQorCisgICAgdm9pZCBhZHZhbmNlKHVuc2lnbmVk
IHBvc2l0aW9uKQorICAgIHsKKyAgICAgICAgbV9wb3NpdGlvbiArPSBwb3NpdGlvbjsKKyAgICAg
ICAgQVNTRVJUKG1fcG9zaXRpb24gPCBWZWN0b3I8VHlwZT46OnNpemUoKSk7CisgICAgfQorCisg
ICAgVHlwZSB2YWx1ZUF0Q3VycmVudFBvc2l0aW9uKCkgY29uc3QKKyAgICB7CisgICAgICAgIEFT
U0VSVChtX3Bvc2l0aW9uIDwgVmVjdG9yPFR5cGU+OjpzaXplKCkpOworICAgICAgICByZXR1cm4g
VmVjdG9yPFR5cGU+OjphdChtX3Bvc2l0aW9uKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgdW5z
aWduZWQgbV9wb3NpdGlvbjsKK307CisKK2NsYXNzIFBvc2l0aW9uZWRGbG9hdFZlY3RvciA6IHB1
YmxpYyBQb3NpdGlvbmVkVmVjdG9yPGZsb2F0PiB7IH07CisKK3N0cnVjdCBTVkdDaGFyYWN0ZXJM
YXlvdXRJbmZvIHsKKyAgICBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvKCk7CisKKyAgICBlbnVtIFN0
YWNrVHlwZSB7IFhTdGFjaywgWVN0YWNrLCBEeFN0YWNrLCBEeVN0YWNrLCBBbmdsZVN0YWNrLCBC
YXNlbGluZVNoaWZ0U3RhY2sgfTsKKworICAgIGJvb2wgeFZhbHVlQXZhaWxhYmxlKCkgY29uc3Q7
CisgICAgYm9vbCB5VmFsdWVBdmFpbGFibGUoKSBjb25zdDsKKyAgICBib29sIGR4VmFsdWVBdmFp
bGFibGUoKSBjb25zdDsKKyAgICBib29sIGR5VmFsdWVBdmFpbGFibGUoKSBjb25zdDsKKyAgICBi
b29sIGFuZ2xlVmFsdWVBdmFpbGFibGUoKSBjb25zdDsKKyAgICBib29sIGJhc2VsaW5lU2hpZnRW
YWx1ZUF2YWlsYWJsZSgpIGNvbnN0OworCisgICAgZmxvYXQgeFZhbHVlTmV4dCgpIGNvbnN0Owor
ICAgIGZsb2F0IHlWYWx1ZU5leHQoKSBjb25zdDsKKyAgICBmbG9hdCBkeFZhbHVlTmV4dCgpIGNv
bnN0OworICAgIGZsb2F0IGR5VmFsdWVOZXh0KCkgY29uc3Q7CisgICAgZmxvYXQgYW5nbGVWYWx1
ZU5leHQoKSBjb25zdDsKKyAgICBmbG9hdCBiYXNlbGluZVNoaWZ0VmFsdWVOZXh0KCkgY29uc3Q7
CisKKyAgICB2b2lkIHByb2Nlc3NlZENodW5rKGZsb2F0IGxhc3RTaGlmdFgsIGZsb2F0IGxhc3RT
aGlmdFkpOworICAgIHZvaWQgcHJvY2Vzc2VkU2luZ2xlQ2hhcmFjdGVyKCk7CisKKyAgICBib29s
IG5leHRQYXRoTGF5b3V0UG9pbnRBbmRBbmdsZShmbG9hdCYgeCwgZmxvYXQmIHksIGZsb2F0JiBh
bmdsZSwgZmxvYXQgZ2x5cGhBZHZhbmNlLCBmbG9hdCBuZXdPZmZzZXQpOworCisgICAgLy8gVXNl
ZCBmb3IgdGV4dC1vbi1wYXRoLgorICAgIHZvaWQgYWRkTGF5b3V0SW5mb3JtYXRpb24oSW5saW5l
Rmxvd0JveCosIGZsb2F0IHRleHRBbmNob3JPZmZzZXQgPSAwLjApOworCisgICAgYm9vbCBpblBh
dGhMYXlvdXQoKSBjb25zdDsKKyAgICB2b2lkIHNldEluUGF0aExheW91dChib29sIHZhbHVlKTsK
KworICAgIC8vIFVzZWQgZm9yIGFueXRoaW5nIGVsc2UuCisgICAgdm9pZCBhZGRMYXlvdXRJbmZv
cm1hdGlvbihTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50Kik7CisKKyAgICAvLyBHbG9iYWwgcG9z
aXRpb24KKyAgICBmbG9hdCBjdXJ4OworICAgIGZsb2F0IGN1cnk7CisKKyAgICAvLyBBY2N1bXVs
YXRlZCBkeC9keSB2YWx1ZXMKKyAgICBmbG9hdCBkeDsKKyAgICBmbG9hdCBkeTsKKworICAgIC8v
IEFjY3VtdWxhdGVkIGFwcGxpZWQgc2hpZnQgdmFsdWVzCisgICAgZmxvYXQgc2hpZnR4OworICAg
IGZsb2F0IHNoaWZ0eTsKKworcHJpdmF0ZToKKyAgICAvLyBVc2VkIGZvciBiYXNlbGluZS1zaGlm
dC4KKyAgICB2b2lkIGFkZFN0YWNrQ29udGVudChTdGFja1R5cGUsIGZsb2F0KTsKKworICAgIC8v
IFVzZWQgZm9yIGFuZ2xlLgorICAgIHZvaWQgYWRkU3RhY2tDb250ZW50KFN0YWNrVHlwZSwgU1ZH
TnVtYmVyTGlzdCopOworCisgICAgLy8gVXNlZCBmb3IgeC95L2R4L2R5LiAgICAKKyAgICB2b2lk
IGFkZFN0YWNrQ29udGVudChTdGFja1R5cGUsIFNWR0xlbmd0aExpc3QqKTsKKworICAgIHZvaWQg
YWRkU3RhY2tDb250ZW50KFN0YWNrVHlwZSwgY29uc3QgUG9zaXRpb25lZEZsb2F0VmVjdG9yJik7
CisKKyAgICB2b2lkIHhTdGFja1dhbGsoKTsKKyAgICB2b2lkIHlTdGFja1dhbGsoKTsKKyAgICB2
b2lkIGR4U3RhY2tXYWxrKCk7CisgICAgdm9pZCBkeVN0YWNrV2FsaygpOworICAgIHZvaWQgYW5n
bGVTdGFja1dhbGsoKTsKKyAgICB2b2lkIGJhc2VsaW5lU2hpZnRTdGFja1dhbGsoKTsKKworcHJp
dmF0ZToKKyAgICBib29sIHhTdGFja0NoYW5nZWQgOiAxOworICAgIGJvb2wgeVN0YWNrQ2hhbmdl
ZCA6IDE7CisgICAgYm9vbCBkeFN0YWNrQ2hhbmdlZCA6IDE7CisgICAgYm9vbCBkeVN0YWNrQ2hh
bmdlZCA6IDE7CisgICAgYm9vbCBhbmdsZVN0YWNrQ2hhbmdlZCA6IDE7CisgICAgYm9vbCBiYXNl
bGluZVNoaWZ0U3RhY2tDaGFuZ2VkIDogMTsKKworICAgIC8vIHRleHQgb24gcGF0aCBsYXlvdXQK
KyAgICBib29sIHBhdGhMYXlvdXQgOiAxOworICAgIGZsb2F0IGN1cnJlbnRPZmZzZXQ7CisgICAg
ZmxvYXQgc3RhcnRPZmZzZXQ7CisgICAgZmxvYXQgbGF5b3V0UGF0aExlbmd0aDsKKyAgICBQYXRo
IGxheW91dFBhdGg7CisKKyAgICBWZWN0b3I8UG9zaXRpb25lZEZsb2F0VmVjdG9yPiB4U3RhY2s7
CisgICAgVmVjdG9yPFBvc2l0aW9uZWRGbG9hdFZlY3Rvcj4geVN0YWNrOworICAgIFZlY3RvcjxQ
b3NpdGlvbmVkRmxvYXRWZWN0b3I+IGR4U3RhY2s7CisgICAgVmVjdG9yPFBvc2l0aW9uZWRGbG9h
dFZlY3Rvcj4gZHlTdGFjazsKKyAgICBWZWN0b3I8UG9zaXRpb25lZEZsb2F0VmVjdG9yPiBhbmds
ZVN0YWNrOworICAgIFZlY3RvcjxmbG9hdD4gYmFzZWxpbmVTaGlmdFN0YWNrOworfTsKKworc3Ry
dWN0IFNWR0NoYXIgeworICAgIGZsb2F0IHg7CisgICAgZmxvYXQgeTsKKworICAgIEFmZmluZVRy
YW5zZm9ybSB0cmFuc2Zvcm07CisKKyAgICAvLyBEZXRlcm1pbmVzIHdoZXRlciB0aGlzIGNoYXIg
aXMgdmlzaWJsZSAoaWUuIGZhbHNlIGZvciBjaGFycyAib2ZmIiB0aGUgdGV4dCBsYXlvdXQgcGF0
aCkKKyAgICBib29sIHZpc2libGUgOiAxOworCisgICAgLy8gRGV0ZXJtaW5lcyB3aGV0ZXIgdGhp
cyBjaGFyIG5lZWRzIHRvIGJlIGRyYXduIHNlcGVyYXRlZAorICAgIGJvb2wgZHJhd25TZXBlcmF0
ZWQgOiAxOworCisgICAgLy8gRGV0ZXJtaW5lcyB3aGV0ZXIgdGhpcyBjaGFyIHN0YXJ0cyBhIG5l
dyBjaHVuaworICAgIGJvb2wgbmV3VGV4dENodW5rIDogMTsKK307CisKK3N0cnVjdCBTVkdUZXh0
Q2h1bmsgeworICAgIFNWR1RleHRDaHVuaygpCisgICAgICAgIDogYW5jaG9yKFRBX1NUQVJUKQor
ICAgICAgICAsIGlzVmVydGljYWxUZXh0KGZhbHNlKQorICAgICAgICAsIGxhc3RHbHlwaFdpZHRo
KDAuMCkKKyAgICAgICAgLCBsYXN0R2x5cGhIZWlnaHQoMC4wKQorICAgIHsgfQorCisgICAgRVRl
eHRBbmNob3IgYW5jaG9yOworICAgIGJvb2wgaXNWZXJ0aWNhbFRleHQgOiAxOworCisgICAgZmxv
YXQgbGFzdEdseXBoV2lkdGg7CisgICAgZmxvYXQgbGFzdEdseXBoSGVpZ2h0OworCisgICAgVmVj
dG9yPFNWR0NoYXI+OjppdGVyYXRvciBzdGFydDsKKyAgICBWZWN0b3I8U1ZHQ2hhcj46Oml0ZXJh
dG9yIGVuZDsKKworICAgIC8vIENvbnRhaW5zIGFsbCBib3hlcyB0aGlzIGNodW5rIHNwYW5zLgor
ICAgIEhhc2hTZXQ8SW5saW5lQm94Kj4gYm94ZXM7Cit9OworCitzdHJ1Y3QgU1ZHVGV4dENodW5r
TGF5b3V0SW5mbyB7CisgICAgU1ZHVGV4dENodW5rTGF5b3V0SW5mbygpCisgICAgICAgIDogYXNz
aWduTmV3QW5jaG9yKHRydWUpCisgICAgICAgICwgYWR2YW5jZU9ubHkoZmFsc2UpCisgICAgewor
ICAgIH0KKworICAgIGJvb2wgYXNzaWduTmV3QW5jaG9yIDogMTsKKyAgICBib29sIGFkdmFuY2VP
bmx5IDogMTsKKyAgICBTVkdUZXh0Q2h1bmsgY2h1bms7CisKKyAgICBWZWN0b3I8U1ZHQ2hhcj46
Oml0ZXJhdG9yIGl0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8g
RU5BQkxFKFNWRykKKyNlbmRpZiAvLyBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvX2gKSW5kZXg6IFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDE5OTkyKQorKysgV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yMjkwLDYgKzIyOTAsMTQg
QEAKIAkJQjI1QUU1NUYwQjQ5RDY2MzAwNzRDNzI2IC8qIExpbmVhckdyYWRpZW50QXR0cmlidXRl
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjI1QUU1
NUQwQjQ5RDY2MzAwNzRDNzI2IC8qIExpbmVhckdyYWRpZW50QXR0cmlidXRlcy5oICovOyB9Owog
CQlCMjVBRTU2MDBCNDlENjYzMDA3NEM3MjYgLyogUmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjVBRTU1RTBC
NDlENjYzMDA3NEM3MjYgLyogUmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVzLmggKi87IH07CiAJCUIy
NURGQUFGMEIyRTI5MjkwMDBFNjUxMCAvKiBKU1NWR01hdHJpeEN1c3RvbS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjVERkFBRTBCMkUyOTI5MDAw
RTY1MTAgLyogSlNTVkdNYXRyaXhDdXN0b20uY3BwICovOyB9OworCQlCMjY1NTRDMDBCODBBRDYw
MDBBNTBFQzMgLyogU1ZHVGV4dFBhdGhFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyNjU1NEJEMEI4MEFENjAwMEE1MEVDMyAvKiBTVkdU
ZXh0UGF0aEVsZW1lbnQuY3BwICovOyB9OworCQlCMjY1NTRDMTBCODBBRDYwMDBBNTBFQzMgLyog
U1ZHVGV4dFBhdGhFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCMjY1NTRCRTBCODBBRDYwMDBBNTBFQzMgLyogU1ZHVGV4dFBhdGhFbGVtZW50
LmggKi87IH07CisJCUIyNjU1NEMyMEI4MEFENjAwMEE1MEVDMyAvKiBTVkdUZXh0UGF0aEVsZW1l
bnQuaWRsIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
MjY1NTRCRjBCODBBRDYwMDBBNTBFQzMgLyogU1ZHVGV4dFBhdGhFbGVtZW50LmlkbCAqLzsgfTsK
KwkJQjI2NTU0Q0UwQjgwQURFQTAwQTUwRUMzIC8qIERPTVNWR1RleHRQYXRoRWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjI2NTU0Q0IwQjgw
QURFQTAwQTUwRUMzIC8qIERPTVNWR1RleHRQYXRoRWxlbWVudC5oICovOyB9OworCQlCMjY1NTRD
RjBCODBBREVBMDBBNTBFQzMgLyogRE9NU1ZHVGV4dFBhdGhFbGVtZW50SW50ZXJuYWwuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyNjU1NENDMEI4MEFE
RUEwMEE1MEVDMyAvKiBET01TVkdUZXh0UGF0aEVsZW1lbnRJbnRlcm5hbC5oICovOyB9OworCQlC
MjY1NTREMDBCODBBREVBMDBBNTBFQzMgLyogSlNTVkdUZXh0UGF0aEVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyNjU1NENEMEI4MEFERUEw
MEE1MEVDMyAvKiBKU1NWR1RleHRQYXRoRWxlbWVudC5oICovOyB9OworCQlCMjY1NTRFQTBCODBE
NzQ5MDBBNTBFQzMgLyogUmVuZGVyU1ZHVGV4dFBhdGguY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjI2NTU0RTgwQjgwRDc0OTAwQTUwRUMzIC8qIFJl
bmRlclNWR1RleHRQYXRoLmNwcCAqLzsgfTsKKwkJQjI2NTU0RUIwQjgwRDc0OTAwQTUwRUMzIC8q
IFJlbmRlclNWR1RleHRQYXRoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCMjY1NTRFOTBCODBENzQ5MDBBNTBFQzMgLyogUmVuZGVyU1ZHVGV4dFBhdGgu
aCAqLzsgfTsKIAkJQjI3NTM1NTYwQjA1MzgxNDAwMkNFNjRGIC8qIEFmZmluZVRyYW5zZm9ybS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjc1MzUy
NzBCMDUzODE0MDAyQ0U2NEYgLyogQWZmaW5lVHJhbnNmb3JtLmNwcCAqLzsgfTsKIAkJQjI3NTM1
NTcwQjA1MzgxNDAwMkNFNjRGIC8qIEFmZmluZVRyYW5zZm9ybS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjI3NTM1MjgwQjA1MzgxNDAwMkNFNjRGIC8q
IEFmZmluZVRyYW5zZm9ybS5oICovOyB9OwogCQlCMjc1MzU1ODBCMDUzODE0MDAyQ0U2NEYgLyog
QWZmaW5lVHJhbnNmb3JtQ0cuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQjI3NTM1MkEwQjA1MzgxNDAwMkNFNjRGIC8qIEFmZmluZVRyYW5zZm9ybUNH
LmNwcCAqLzsgfTsKQEAgLTIzNTMsNiArMjM2MSw4IEBACiAJCUIyQTAxNUJBMEFGNkNENTMwMDZC
Q0UwRSAvKiBTVkdSZXNvdXJjZU1hc2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQjJBMDE1QTcwQUY2Q0Q1MzAwNkJDRTBFIC8qIFNWR1Jlc291cmNl
TWFza2VyLmggKi87IH07CiAJCUIyQTEwQjkyMEIzODE4QkQwMDA5OUFBNCAvKiBJbWFnZUJ1ZmZl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJBMTBC
OTEwQjM4MThCRDAwMDk5QUE0IC8qIEltYWdlQnVmZmVyLmggKi87IH07CiAJCUIyQTEwQjk0MEIz
ODE4RDcwMDA5OUFBNCAvKiBJbWFnZUJ1ZmZlckNHLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyQTEwQjkzMEIzODE4RDcwMDA5OUFBNCAvKiBJbWFn
ZUJ1ZmZlckNHLmNwcCAqLzsgfTsKKwkJQjJCMzNBNUYwQjg4N0NFRjAwQzE1OTg0IC8qIFNWR0No
YXJhY3RlckxheW91dEluZm8uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQjJCMzNBNUQwQjg4N0NFRjAwQzE1OTg0IC8qIFNWR0NoYXJhY3RlckxheW91
dEluZm8uY3BwICovOyB9OworCQlCMkIzM0E2MDBCODg3Q0VGMDBDMTU5ODQgLyogU1ZHQ2hhcmFj
dGVyTGF5b3V0SW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQjJCMzNBNUUwQjg4N0NFRjAwQzE1OTg0IC8qIFNWR0NoYXJhY3RlckxheW91dEluZm8u
aCAqLzsgfTsKIAkJQjJCRkI1QTAwQjIyRjc2MjAwNTY3RTgwIC8qIEltYWdlQW5pbWF0aW9uT2Jz
ZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIy
QkZCNTlGMEIyMkY3NjIwMDU2N0U4MCAvKiBJbWFnZUFuaW1hdGlvbk9ic2VydmVyLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQjJDOTZEOEQwQjNB
RjJCNzAwNUU4MEVDIC8qIEpTU1ZHUGF0aFNlZ0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkM5NkQ4QzBCM0FGMkI3MDA1RTgwRUMgLyog
SlNTVkdQYXRoU2VnQ3VzdG9tLmNwcCAqLzsgfTsKIAkJQjJDQjQxOTMwQUI3NTkwNDAwNEQ5QzQ1
IC8qIFNWR1JlbmRlcmluZ0ludGVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQjJDQjQxNEMwQUI3NTkwNDAwNEQ5QzQ1IC8qIFNWR1JlbmRlcmluZ0lu
dGVudC5oICovOyB9OwpAQCAtNTM1Miw2ICs1MzYyLDE0IEBACiAJCUIyNUFFNTVEMEI0OUQ2NjMw
MDc0QzcyNiAvKiBMaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IExpbmVhckdyYWRpZW50QXR0cmlidXRlcy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlCMjVBRTU1RTBCNDlENjYzMDA3NEM3MjYgLyogUmFkaWFsR3JhZGll
bnRBdHRyaWJ1dGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSYWRpYWxH
cmFkaWVudEF0dHJpYnV0ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjI1REZB
QUUwQjJFMjkyOTAwMEU2NTEwIC8qIEpTU1ZHTWF0cml4Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1NWR01hdHJpeEN1c3RvbS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUIyNjU1NEJEMEI4MEFENjAwMEE1MEVDMyAvKiBTVkdUZXh0
UGF0aEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNW
R1RleHRQYXRoRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIyNjU1
NEJFMEI4MEFENjAwMEE1MEVDMyAvKiBTVkdUZXh0UGF0aEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1RleHRQYXRoRWxlbWVudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlCMjY1NTRCRjBCODBBRDYwMDBBNTBFQzMgLyogU1ZHVGV4dFBhdGhF
bGVtZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU1ZHVGV4dFBhdGhFbGVtZW50Lmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjI2NTU0Q0IwQjgwQURFQTAwQTUwRUMz
IC8qIERPTVNWR1RleHRQYXRoRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRE9NU1ZHVGV4dFBhdGhFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUIyNjU1NENDMEI4MEFERUEwMEE1MEVDMyAvKiBET01TVkdUZXh0UGF0aEVsZW1lbnRJbnRl
cm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NU1ZHVGV4dFBhdGhF
bGVtZW50SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjI2NTU0Q0Qw
QjgwQURFQTAwQTUwRUMzIC8qIEpTU1ZHVGV4dFBhdGhFbGVtZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU1NWR1RleHRQYXRoRWxlbWVudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlCMjY1NTRFODBCODBENzQ5MDBBNTBFQzMgLyogUmVuZGVyU1ZHVGV4
dFBhdGguY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlclNW
R1RleHRQYXRoLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjI2NTU0RTkwQjgw
RDc0OTAwQTUwRUMzIC8qIFJlbmRlclNWR1RleHRQYXRoLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBSZW5kZXJTVkdUZXh0UGF0aC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlCMjc1MzUyNzBCMDUzODE0MDAyQ0U2NEYgLyogQWZmaW5lVHJhbnNmb3JtLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBZmZpbmVUcmFuc2Zvcm0uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjc1MzUyODBCMDUzODE0MDAyQ0U2NEYg
LyogQWZmaW5lVHJhbnNmb3JtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBB
ZmZpbmVUcmFuc2Zvcm0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjI3NTM1MkEw
QjA1MzgxNDAwMkNFNjRGIC8qIEFmZmluZVRyYW5zZm9ybUNHLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBZmZpbmVUcmFuc2Zvcm1DRy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC01NDE1LDYgKzU0MzMsOCBAQAogCQlCMkEwMTVBNzBBRjZDRDUz
MDA2QkNFMEUgLyogU1ZHUmVzb3VyY2VNYXNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFNWR1Jlc291cmNlTWFza2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUIyQTEwQjkxMEIzODE4QkQwMDA5OUFBNCAvKiBJbWFnZUJ1ZmZlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW1hZ2VCdWZmZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQjJBMTBCOTMwQjM4MThENzAwMDk5QUE0IC8qIEltYWdlQnVmZmVyQ0cuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEltYWdlQnVmZmVyQ0cuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMkIzM0E1RDBCODg3Q0VGMDBDMTU5ODQg
LyogU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mby5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mby5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUIyQjMzQTVFMEI4ODdDRUYwMEMxNTk4NCAvKiBTVkdDaGFyYWN0ZXJMYXlv
dXRJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdDaGFyYWN0ZXJM
YXlvdXRJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyQkZCNTlGMEIyMkY3
NjIwMDU2N0U4MCAvKiBJbWFnZUFuaW1hdGlvbk9ic2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBJbWFnZUFuaW1hdGlvbk9ic2VydmVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUIyQzk2RDhDMEIzQUYyQjcwMDVFODBFQyAvKiBKU1NWR1BhdGhTZWdD
dXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1ZHUGF0
aFNlZ0N1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyQ0I0MTAxMEFC
NzU4RTYwMDREOUM0NSAvKiBTVkdBRWxlbWVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IFNWR0FFbGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTYxNzAsNiAr
NjE5MCw5IEBACiAJCTA4NjdENjkxRkU4NDAyOEZDMDJBQUMwNyAvKiBXZWJLaXQgKi8gPSB7CiAJ
CQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUIyNjU1NENCMEI4MEFERUEw
MEE1MEVDMyAvKiBET01TVkdUZXh0UGF0aEVsZW1lbnQuaCAqLywKKwkJCQlCMjY1NTRDQzBCODBB
REVBMDBBNTBFQzMgLyogRE9NU1ZHVGV4dFBhdGhFbGVtZW50SW50ZXJuYWwuaCAqLywKKwkJCQlC
MjY1NTRDRDBCODBBREVBMDBBNTBFQzMgLyogSlNTVkdUZXh0UGF0aEVsZW1lbnQuaCAqLywKIAkJ
CQk2NUM5N0FGMjA4RUE5MDg4MDBBQ0QyNzMgLyogY29uZmlnLmggKi8sCiAJCQkJRURFQzk4MDIw
QUVEN0UxNzAwNTkxMzdGIC8qIFdlYkNvcmVQcmVmaXguaCAqLywKIAkJCQk5MzA3MDYxMzA5RTBD
QTgyMDBCMTdGRTQgLyogRGVyaXZlZFNvdXJjZXMubWFrZSAqLywKQEAgLTg1ODQsNiArODYwNyw5
IEBACiAJCQkJQThDMEY4RDcwODk3MDFGNDAwQkE1MTE0IC8qIFNWR1RleHRFbGVtZW50LmNwcCAq
LywKIAkJCQlBOEMwRjhEODA4OTcwMUY0MDBCQTUxMTQgLyogU1ZHVGV4dEVsZW1lbnQuaCAqLywK
IAkJCQlCMkNCNDE1ODBBQjc1OTA0MDA0RDlDNDUgLyogU1ZHVGV4dEVsZW1lbnQuaWRsICovLAor
CQkJCUIyNjU1NEJEMEI4MEFENjAwMEE1MEVDMyAvKiBTVkdUZXh0UGF0aEVsZW1lbnQuY3BwICov
LAorCQkJCUIyNjU1NEJFMEI4MEFENjAwMEE1MEVDMyAvKiBTVkdUZXh0UGF0aEVsZW1lbnQuaCAq
LywKKwkJCQlCMjY1NTRCRjBCODBBRDYwMDBBNTBFQzMgLyogU1ZHVGV4dFBhdGhFbGVtZW50Lmlk
bCAqLywKIAkJCQlBOEMwRjhEOTA4OTcwMUY0MDBCQTUxMTQgLyogU1ZHVGV4dFBvc2l0aW9uaW5n
RWxlbWVudC5jcHAgKi8sCiAJCQkJQThDMEY4REEwODk3MDFGNDAwQkE1MTE0IC8qIFNWR1RleHRQ
b3NpdGlvbmluZ0VsZW1lbnQuaCAqLywKIAkJCQlCMkNCNDE1OTBBQjc1OTA0MDA0RDlDNDUgLyog
U1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5pZGwgKi8sCkBAIC05NDc0LDYgKzk1MDAsOCBAQAog
CQkJCTg1M0NBOUQxMEFFRUM1RTkwMDIzNzJEQyAvKiBSZW5kZXJTVkdJbmxpbmVUZXh0LmggKi8s
CiAJCQkJODUzQ0E5RDIwQUVFQzVFOTAwMjM3MkRDIC8qIFJlbmRlclNWR1RleHQuY3BwICovLAog
CQkJCTg1M0NBOUQzMEFFRUM1RTkwMDIzNzJEQyAvKiBSZW5kZXJTVkdUZXh0LmggKi8sCisJCQkJ
QjI2NTU0RTgwQjgwRDc0OTAwQTUwRUMzIC8qIFJlbmRlclNWR1RleHRQYXRoLmNwcCAqLywKKwkJ
CQlCMjY1NTRFOTBCODBENzQ5MDBBNTBFQzMgLyogUmVuZGVyU1ZHVGV4dFBhdGguaCAqLywKIAkJ
CQk4NTNDQTlENDBBRUVDNUU5MDAyMzcyREMgLyogUmVuZGVyU1ZHVFNwYW4uY3BwICovLAogCQkJ
CTg1M0NBOUQ1MEFFRUM1RTkwMDIzNzJEQyAvKiBSZW5kZXJTVkdUU3Bhbi5oICovLAogCQkJCUE4
REY0QUUyMDk4MEM0MkMwMDUyOTgxQiAvKiBSZW5kZXJUYWJsZS5jcHAgKi8sCkBAIC05NTA0LDYg
Kzk1MzIsOCBAQAogCQkJCUE4NzFERkUwMEExNTM3NkIwMEIxMkE2OCAvKiBSZW5kZXJXaWRnZXQu
aCAqLywKIAkJCQlBOENGRjVFMDBBMTU1QTA1MDAwQTQyMzQgLyogUm9vdElubGluZUJveC5jcHAg
Ki8sCiAJCQkJQThDRkY1REEwQTE1NUEwNTAwMEE0MjM0IC8qIFJvb3RJbmxpbmVCb3guaCAqLywK
KwkJCQlCMkIzM0E1RDBCODg3Q0VGMDBDMTU5ODQgLyogU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mby5j
cHAgKi8sCisJCQkJQjJCMzNBNUUwQjg4N0NFRjAwQzE1OTg0IC8qIFNWR0NoYXJhY3RlckxheW91
dEluZm8uaCAqLywKIAkJCQk4NTNDQTlFMjBBRUVDNjA4MDAyMzcyREMgLyogU1ZHSW5saW5lRmxv
d0JveC5jcHAgKi8sCiAJCQkJODUzQ0E5RTMwQUVFQzYwODAwMjM3MkRDIC8qIFNWR0lubGluZUZs
b3dCb3guaCAqLywKIAkJCQlBQTA5NzJDQTBCNjk0N0E4MDBBNzA1RTkgLyogU1ZHSW5saW5lVGV4
dEJveC5jcHAgKi8sCkBAIC0xMTE1MSw5ICsxMTE4MSwxNSBAQAogCQkJCUUxMEI5MzdDMEI3M0Mw
MEEwMDNFRDg5MCAvKiBKU0N1c3RvbVhQYXRoTlNSZXNvbHZlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRTEwQjlCNkMwQjc0NzU5OTAwM0VEODkwIC8qIE5hdGl2ZVhQYXRoTlNSZXNvbHZlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTEwQjlDQ0MwQjc0N0E0NDAwM0VEODkwIC8qIERPTUN1c3RvbVhQ
YXRoTlNSZXNvbHZlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjI2NTU0QzEwQjgwQUQ2MDAwQTUw
RUMzIC8qIFNWR1RleHRQYXRoRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjI2NTU0Q0Uw
QjgwQURFQTAwQTUwRUMzIC8qIERPTVNWR1RleHRQYXRoRWxlbWVudC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQjI2NTU0Q0YwQjgwQURFQTAwQTUwRUMzIC8qIERPTVNWR1RleHRQYXRoRWxlbWVudElu
dGVybmFsLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMjY1NTREMDBCODBBREVBMDBBNTBFQzMgLyog
SlNTVkdUZXh0UGF0aEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUIyNjU1NEVCMEI4MEQ3
NDkwMEE1MEVDMyAvKiBSZW5kZXJTVkdUZXh0UGF0aC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMz
QTE0MzAwQjdEMTg4NjAwQTUzRkZEIC8qIFRleHRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTMzQTE0QjkwQjdEMUQ1MjAwQTUzRkZEIC8qIEpTVGV4dEV2ZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQlEREU2M0VENTBCN0Q0NUE4MDAyMjY5OTggLyogRE9NVGV4dEV2ZW50LmggaW4gSGVhZGVy
cyAqLywKKwkJCQlCMkIzM0E2MDBCODg3Q0VGMDBDMTU5ODQgLyogU1ZHQ2hhcmFjdGVyTGF5b3V0
SW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzc5MTlDMjQwQjdEMTg4NjAwQTU2OTk4IC8qIFBv
c2l0aW9uSXRlcmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUREMDVGRTBEMEI4QkEzQzYwMDlB
Q0RGRSAvKiBXZWJDb3JlT2JqQ0V4dHJhcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUI0Q0I0RUIw
QjhCREEzRDAwOUY0MEIwIC8qIEpTSFRNTFNlbGVjdEVsZW1lbnRDdXN0b20uaCBpbiBIZWFkZXJz
ICovLApAQCAtMTEyNjcsNiArMTEzMDMsNyBAQAogCQkJCTQ2QkQxNkUzMEIyNzk0NzMwMDFGMDgz
OSAvKiBub25lQ3Vyc29yLnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJQjJERTI4MUQwQjVCRkE1
NDAwQ0MyODlBIC8qIFNWR0VsZW1lbnRJbnN0YW5jZS5pZGwgaW4gUmVzb3VyY2VzICovLAogCQkJ
CUIyREUyODFFMEI1QkZBNTQwMENDMjg5QSAvKiBTVkdFbGVtZW50SW5zdGFuY2VMaXN0LmlkbCBp
biBSZXNvdXJjZXMgKi8sCisJCQkJQjI2NTU0QzIwQjgwQUQ2MDAwQTUwRUMzIC8qIFNWR1RleHRQ
YXRoRWxlbWVudC5pZGwgaW4gUmVzb3VyY2VzICovLAogCQkJCTkzM0ExNDJGMEI3RDE4ODYwMEE1
M0ZGRCAvKiBUZXh0RXZlbnQuaWRsIGluIFJlc291cmNlcyAqLywKIAkJCQk0NjRFQTI3MzBCOEEz
NTBCMDBBOEU2RTMgLyogY3Jvc3NIYWlyQ3Vyc29yLnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJ
NDY0RUEyNzQwQjhBMzUwQjAwQThFNkUzIC8qIG5vdEFsbG93ZWRDdXJzb3IucG5nIGluIFJlc291
cmNlcyAqLywKQEAgLTEyNTE1LDkgKzEyNTUyLDEyIEBACiAJCQkJRTEwQjkzQzMwQjczQzI5MTAw
M0VEODkwIC8qIEpTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUUxMEI5QjZEMEI3NDc1OTkwMDNFRDg5MCAvKiBOYXRpdmVYUGF0aE5TUmVzb2x2ZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJRTEwQjlDQ0QwQjc0N0E0NDAwM0VEODkwIC8qIERPTUN1c3RvbVhQ
YXRoTlNSZXNvbHZlci5tbSBpbiBTb3VyY2VzICovLAorCQkJCUIyNjU1NEMwMEI4MEFENjAwMEE1
MEVDMyAvKiBTVkdUZXh0UGF0aEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjI2NTU0
RUEwQjgwRDc0OTAwQTUwRUMzIC8qIFJlbmRlclNWR1RleHRQYXRoLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTkzM0ExNDJFMEI3RDE4ODYwMEE1M0ZGRCAvKiBUZXh0RXZlbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJOTMzQTE0QUEwQjdEMUQwOTAwQTUzRkZEIC8qIERPTVRleHRFdmVudC5tbSBp
biBTb3VyY2VzICovLAogCQkJCTkzM0ExNEI4MEI3RDFENTIwMEE1M0ZGRCAvKiBKU1RleHRFdmVu
dC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCMkIzM0E1RjBCODg3Q0VGMDBDMTU5ODQgLyogU1ZH
Q2hhcmFjdGVyTGF5b3V0SW5mby5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBN0NGQjNEMTBCN0VE
MTBBMDA3MEMzMkQgLyogRHJhZ0ltYWdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3Q0ZCM0Q1
MEI3RUQxMTgwMDcwQzMyRCAvKiBEcmFnSW1hZ2VNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQkz
NzkxOUMyMzBCN0QxODg2MDBBNTY5OTggLyogUG9zaXRpb25JdGVyYXRvci5jcHAgaW4gU291cmNl
cyAqLywKSW5kZXg6IGNzcy9zdmcuY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGNzcy9zdmcuY3NzCShyZXZp
c2lvbiAxOTk5MikKKysrIGNzcy9zdmcuY3NzCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCw2
IEBACiAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudAogfQogCi10ZXh0LCB0c3BhbiB7Cit0
ZXh0LCB0c3BhbiwgdGV4dFBhdGggewogICAgd2hpdGUtc3BhY2U6IG5vd3JhcAogfQpJbmRleDog
a3N2ZzIvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtzdmcyL3N2Zy9T
VkdUZXh0UGF0aEVsZW1lbnQuaAkocmV2aXNpb24gMCkKKysrIGtzdmcyL3N2Zy9TVkdUZXh0UGF0
aEVsZW1lbnQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw3OCBAQAorLyoKKyAgICBDb3B5cmln
aHQgKEMpIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisKKyAg
ICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgS0RFIHByb2plY3QKKworICAgIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YworICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsg
c2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAgIHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwK
KyAgICBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KKyovCisKKyNpZm5kZWYgU1ZHVGV4dFBh
dGhFbGVtZW50X2gKKyNkZWZpbmUgU1ZHVGV4dFBhdGhFbGVtZW50X2gKKworI2lmIEVOQUJMRShT
VkcpICYmIEVOQUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKQorI2luY2x1ZGUgIlNWR1Rl
eHRDb250ZW50RWxlbWVudC5oIgorCisjaW5jbHVkZSAiU1ZHVVJJUmVmZXJlbmNlLmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlCit7CisgICAgZW51bSBTVkdUZXh0UGF0aE1ldGhvZFR5cGUgeworICAg
ICAgICBTVkdfVEVYVFBBVEhfTUVUSE9EVFlQRV9VTktOT1dOID0gMCwKKyAgICAgICAgU1ZHX1RF
WFRQQVRIX01FVEhPRFRZUEVfQUxJR04gPSAxLAorICAgICAgICBTVkdfVEVYVFBBVEhfTUVUSE9E
VFlQRV9TVFJFVENIID0gMgorICAgIH07CisKKyAgICBlbnVtIFNWR1RleHRQYXRoU3BhY2luZ1R5
cGUgeworICAgICAgICBTVkdfVEVYVFBBVEhfU1BBQ0lOR1RZUEVfVU5LTk9XTiA9IDAsCisgICAg
ICAgIFNWR19URVhUUEFUSF9TUEFDSU5HVFlQRV9BVVRPID0gMSwKKyAgICAgICAgU1ZHX1RFWFRQ
QVRIX1NQQUNJTkdUWVBFX0VYQUNUID0gMgorICAgIH07CisKKyAgICBjbGFzcyBTVkdUZXh0UGF0
aEVsZW1lbnQgOiBwdWJsaWMgU1ZHVGV4dENvbnRlbnRFbGVtZW50LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdVUklSZWZlcmVuY2UKKyAgICB7CisgICAgcHVibGlj
OgorICAgICAgICBTVkdUZXh0UGF0aEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3Vt
ZW50Kik7CisgICAgICAgIHZpcnR1YWwgflNWR1RleHRQYXRoRWxlbWVudCgpOworIAorICAgICAg
ICB2aXJ0dWFsIHZvaWQgaW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKKyAgICAgICAgdmlydHVhbCB2
b2lkIGJ1aWxkUGVuZGluZ1Jlc291cmNlKCk7CisKKyAgICAgICAgdmlydHVhbCB2b2lkIGF0dGFj
aCgpOworCisgICAgICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRB
dHRyaWJ1dGUqIGF0dHIpOworICAgICAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChS
ZW5kZXJTdHlsZSogc3R5bGUpIHsgcmV0dXJuIFN0eWxlZEVsZW1lbnQ6OnJlbmRlcmVySXNOZWVk
ZWQoc3R5bGUpOyB9CisgICAgICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJl
cihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CisKKyAgICAgICAgYm9vbCBjaGlsZFNob3Vs
ZENyZWF0ZVJlbmRlcmVyKE5vZGUqKSBjb25zdDsKKyAgICAKKyAgICBwcm90ZWN0ZWQ6CisgICAg
ICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJl
dHVybiB0aGlzOyB9CisKKyAgICBwcml2YXRlOgorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9G
T1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdVUklSZWZlcmVuY2UsIFN0cmluZywgSHJlZiwgaHJlZikK
KworICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHVGV4dFBhdGhFbGVt
ZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgU3RhcnRPZmZzZXQsIHN0YXJ0T2Zmc2V0KQorICAg
ICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHVGV4dFBhdGhFbGVtZW50LCBp
bnQsIGludCwgTWV0aG9kLCBtZXRob2QpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xB
UkFUSU9OUyhTVkdUZXh0UGF0aEVsZW1lbnQsIGludCwgaW50LCBTcGFjaW5nLCBzcGFjaW5nKQor
ICAgIH07CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTVkcp
CisjZW5kaWYKKworLy8gdmltOnRzPTQ6bm9ldApJbmRleDoga3N2ZzIvc3ZnL1NWR1RleHRQYXRo
RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0ga3N2ZzIvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5p
ZGwJKHJldmlzaW9uIDApCisrKyBrc3ZnMi9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmlkbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNyBOaWtv
bGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworbW9kdWxlIHN2ZyB7
CisKKyAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPVNWRyZTVkdfRVhQRVJJTUVOVEFMX0ZFQVRV
UkVTXSBTVkdUZXh0UGF0aEVsZW1lbnQgOiBTVkdUZXh0Q29udGVudEVsZW1lbnQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNWR1VSSVJlZmVy
ZW5jZSB7ICAgIAorICAgICAgICAvLyB0ZXh0UGF0aCBNZXRob2QgVHlwZXMKKyAgICAgICAgY29u
c3QgdW5zaWduZWQgc2hvcnQgVEVYVFBBVEhfTUVUSE9EVFlQRV9VTktOT1dOICAgPSAwOworICAg
ICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBURVhUUEFUSF9NRVRIT0RUWVBFX0FMSUdOICAgICA9
IDE7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFRFWFRQQVRIX01FVEhPRFRZUEVfU1RS
RVRDSCAgID0gMjsKKworICAgICAgICAvLyB0ZXh0UGF0aCBTcGFjaW5nIFR5cGVzCisgICAgICAg
IGNvbnN0IHVuc2lnbmVkIHNob3J0IFRFWFRQQVRIX1NQQUNJTkdUWVBFX1VOS05PV04gID0gMDsK
KyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgVEVYVFBBVEhfU1BBQ0lOR1RZUEVfQVVUTyAg
ICAgPSAxOworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBURVhUUEFUSF9TUEFDSU5HVFlQ
RV9FWEFDVCAgICA9IDI7CisKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0FuaW1hdGVk
TGVuZ3RoIHN0YXJ0T2Zmc2V0OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHQW5pbWF0
ZWRFbnVtZXJhdGlvbiBtZXRob2Q7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmlt
YXRlZEVudW1lcmF0aW9uIHNwYWNpbmc7CisgICAgfTsKKworfQpJbmRleDoga3N2ZzIvc3ZnL1NW
R1RleHRQYXRoRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga3N2ZzIvc3ZnL1NWR1RleHRQYXRo
RWxlbWVudC5jcHAJKHJldmlzaW9uIDApCisrKyBrc3ZnMi9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50
LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNDkgQEAKKy8qCisgICAgQ29weXJpZ2h0IChD
KSAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorCisgICAgVGhp
cyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBwcm9qZWN0CisKKyAgICBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAg
ICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKKyAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
CisgICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisK
KyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAgICB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCisgICAg
Qm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisK
KyNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykKKyNp
bmNsdWRlICJTVkdUZXh0UGF0aEVsZW1lbnQuaCIKKworI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9y
bS5oIgorI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgorI2luY2x1ZGUgIlJlbmRlclNWR1RleHRQYXRo
LmgiCisjaW5jbHVkZSAiU1ZHTGVuZ3RoTGlzdC5oIgorI2luY2x1ZGUgIlNWR1BhdGhFbGVtZW50
LmgiCisjaW5jbHVkZSAiU1ZHUmVuZGVyU3R5bGUuaCIKKyNpbmNsdWRlICJTVkdUZXh0UGF0aEVs
ZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdUcmFuc2Zvcm1MaXN0LmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworU1ZHVGV4dFBhdGhFbGVtZW50OjpTVkdUZXh0UGF0aEVsZW1lbnQoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvYykKKyAgICA6IFNWR1RleHRDb250ZW50
RWxlbWVudCh0YWdOYW1lLCBkb2MpCisgICAgLCBTVkdVUklSZWZlcmVuY2UoKQorICAgICwgbV9z
dGFydE9mZnNldCh0aGlzLCBMZW5ndGhNb2RlT3RoZXIpCisgICAgLCBtX21ldGhvZChTVkdfVEVY
VFBBVEhfTUVUSE9EVFlQRV9BTElHTikKKyAgICAsIG1fc3BhY2luZyhTVkdfVEVYVFBBVEhfU1BB
Q0lOR1RZUEVfRVhBQ1QpCit7Cit9CisKK1NWR1RleHRQYXRoRWxlbWVudDo6flNWR1RleHRQYXRo
RWxlbWVudCgpCit7Cit9CisKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1RleHRQ
YXRoRWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgU3RhcnRPZmZzZXQsIHN0YXJ0
T2Zmc2V0LCBTVkdOYW1lczo6c3RhcnRPZmZzZXRBdHRyLmxvY2FsTmFtZSgpLCBtX3N0YXJ0T2Zm
c2V0KQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHVGV4dFBhdGhFbGVtZW50LCBp
bnQsIEVudW1lcmF0aW9uLCBlbnVtZXJhdGlvbiwgTWV0aG9kLCBtZXRob2QsIFNWR05hbWVzOjpt
ZXRob2RBdHRyLmxvY2FsTmFtZSgpLCBtX21ldGhvZCkKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklO
SVRJT05TKFNWR1RleHRQYXRoRWxlbWVudCwgaW50LCBFbnVtZXJhdGlvbiwgZW51bWVyYXRpb24s
IFNwYWNpbmcsIHNwYWNpbmcsIFNWR05hbWVzOjpzcGFjaW5nQXR0ci5sb2NhbE5hbWUoKSwgbV9z
cGFjaW5nKQorCit2b2lkIFNWR1RleHRQYXRoRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUo
TWFwcGVkQXR0cmlidXRlKiBhdHRyKQoreworICAgIGNvbnN0IFN0cmluZyYgdmFsdWUgPSBhdHRy
LT52YWx1ZSgpOworCisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6c3RhcnRPZmZz
ZXRBdHRyKQorICAgICAgICBzZXRTdGFydE9mZnNldEJhc2VWYWx1ZShTVkdMZW5ndGgodGhpcywg
TGVuZ3RoTW9kZU90aGVyLCB2YWx1ZSkpOworICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBT
VkdOYW1lczo6bWV0aG9kQXR0cikgeworICAgICAgICBpZiAodmFsdWUgPT0gImFsaWduIikKKyAg
ICAgICAgICAgIHNldFNwYWNpbmdCYXNlVmFsdWUoU1ZHX1RFWFRQQVRIX01FVEhPRFRZUEVfQUxJ
R04pOworICAgICAgICBlbHNlIGlmKHZhbHVlID09ICJzdHJldGNoIikKKyAgICAgICAgICAgIHNl
dFNwYWNpbmdCYXNlVmFsdWUoU1ZHX1RFWFRQQVRIX01FVEhPRFRZUEVfU1RSRVRDSCk7CisgICAg
fSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OnNwYWNpbmdBdHRyKSB7CisgICAg
ICAgIGlmICh2YWx1ZSA9PSAiYXV0byIpCisgICAgICAgICAgICBzZXRNZXRob2RCYXNlVmFsdWUo
U1ZHX1RFWFRQQVRIX1NQQUNJTkdUWVBFX0FVVE8pOworICAgICAgICBlbHNlIGlmICh2YWx1ZSA9
PSAiZXhhY3QiKQorICAgICAgICAgICAgc2V0TWV0aG9kQmFzZVZhbHVlKFNWR19URVhUUEFUSF9T
UEFDSU5HVFlQRV9FWEFDVCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKFNWR1VSSVJlZmVy
ZW5jZTo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCisgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIFNWR1RleHRDb250ZW50RWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7
CisgICAgfQorfQorCitSZW5kZXJPYmplY3QqIFNWR1RleHRQYXRoRWxlbWVudDo6Y3JlYXRlUmVu
ZGVyZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsZSogc3R5bGUpCit7CisgICAgcmV0
dXJuIG5ldyAoYXJlbmEpIFJlbmRlclNWR1RleHRQYXRoKHRoaXMpOworfQorCitib29sIFNWR1Rl
eHRQYXRoRWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihOb2RlKiBjaGlsZCkgY29u
c3QKK3sKKyAgICBpZiAoY2hpbGQtPmlzVGV4dE5vZGUoKSB8fCBjaGlsZC0+aGFzVGFnTmFtZShT
VkdOYW1lczo6dHJlZlRhZykgfHwKKyAgICAgICAgY2hpbGQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6
OnRzcGFuVGFnKSB8fCBjaGlsZC0+aGFzVGFnTmFtZShTVkdOYW1lczo6dGV4dFBhdGhUYWcpKQor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBTVkdU
ZXh0UGF0aEVsZW1lbnQ6Omluc2VydGVkSW50b0RvY3VtZW50KCkKK3sKKyAgICBTVkdFbGVtZW50
OjppbnNlcnRlZEludG9Eb2N1bWVudCgpOworCisgICAgU3RyaW5nIGlkID0gU1ZHVVJJUmVmZXJl
bmNlOjpnZXRUYXJnZXQoaHJlZigpKTsKKyAgICBFbGVtZW50KiB0YXJnZXRFbGVtZW50ID0gb3du
ZXJEb2N1bWVudCgpLT5nZXRFbGVtZW50QnlJZChpZCk7CisgICAgaWYgKCF0YXJnZXRFbGVtZW50
KSB7CisgICAgICAgIGRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS0+YWRkUGVuZGlu
Z1Jlc291cmNlKGlkLCB0aGlzKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGJ1aWxk
UGVuZGluZ1Jlc291cmNlKCk7Cit9CisKK3ZvaWQgU1ZHVGV4dFBhdGhFbGVtZW50OjpidWlsZFBl
bmRpbmdSZXNvdXJjZSgpCit7CisgICAgLy8gRklYTUU6IFJlYWwgbG9naWMgaGVyZSEKKyAgICBp
ZiAoYXR0YWNoZWQoKSkKKyAgICAgICAgZGV0YWNoKCk7CisgICAgCisgICAgQVNTRVJUKCFhdHRh
Y2hlZCgpKTsKKyAgICBhdHRhY2goKTsKK30KKwordm9pZCBTVkdUZXh0UGF0aEVsZW1lbnQ6OmF0
dGFjaCgpCit7IAorICAgIFNWR1N0eWxlZEVsZW1lbnQ6OmF0dGFjaCgpOworCisgICAgaWYgKCFy
ZW5kZXJlcigpKQorICAgICAgICByZXR1cm47CisKKyAgICBTdHJpbmcgaWQgPSBTVkdVUklSZWZl
cmVuY2U6OmdldFRhcmdldChocmVmKCkpOworICAgIEVsZW1lbnQqIHRhcmdldEVsZW1lbnQgPSBv
d25lckRvY3VtZW50KCktPmdldEVsZW1lbnRCeUlkKGlkKTsKKyAgICBBU1NFUlQodGFyZ2V0RWxl
bWVudCk7CisKKyAgICBpZiAoIXRhcmdldEVsZW1lbnQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnBh
dGhUYWcpKQorICAgICAgICByZXR1cm47CisKKyAgICBTVkdQYXRoRWxlbWVudCogcGF0aEVsZW1l
bnQgPSBzdGF0aWNfY2FzdDxTVkdQYXRoRWxlbWVudCo+KHRhcmdldEVsZW1lbnQpOworCisgICAg
UmVuZGVyU1ZHVGV4dFBhdGgqIHRleHRQYXRoID0gc3RhdGljX2Nhc3Q8UmVuZGVyU1ZHVGV4dFBh
dGgqPihyZW5kZXJlcigpKTsKKyAgICBBU1NFUlQodGV4dFBhdGgpOworCisgICAgdGV4dFBhdGgt
PnNldFN0YXJ0T2Zmc2V0KG1fc3RhcnRPZmZzZXQudmFsdWVBc1BlcmNlbnRhZ2UoKSk7CisgICAg
dGV4dFBhdGgtPnNldEV4YWN0QWxpZ25tZW50KG1fbWV0aG9kID09IFNWR19URVhUUEFUSF9TUEFD
SU5HVFlQRV9FWEFDVCk7CisgICAgdGV4dFBhdGgtPnNldFN0cmV0Y2hNZXRob2QobV9zcGFjaW5n
ID09IFNWR19URVhUUEFUSF9NRVRIT0RUWVBFX1NUUkVUQ0gpOworCisgICAgLy8gVE9ETzogQ2F0
Y2ggdHJhbnNmb3JtIHVwZGF0ZXMgOi0pCisgICAgUGF0aCBwYXRoRGF0YSA9IHBhdGhFbGVtZW50
LT50b1BhdGhEYXRhKCk7CisgICAgcGF0aERhdGEudHJhbnNmb3JtKHBhdGhFbGVtZW50LT5sb2Nh
bE1hdHJpeCgpKTsKKyAgICB0ZXh0UGF0aC0+YXNzaWduTGF5b3V0UGF0aChwYXRoRGF0YSk7Cit9
CisKK30KKworI2VuZGlmIC8vIEVOQUJMRShTVkcpCisKKy8vIHZpbTp0cz00Om5vZXQKSW5kZXg6
IGtzdmcyL3N2Zy9zdmd0YWdzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtzdmcyL3N2Zy9zdmd0YWdzLmlu
CShyZXZpc2lvbiAxOTk5MikKKysrIGtzdmcyL3N2Zy9zdmd0YWdzLmluCSh3b3JraW5nIGNvcHkp
CkBAIC05NCw3ICs5NCw3IEBACiBzd2l0Y2gKIHN5bWJvbAogdGV4dAotI2lmIDAKKyNpZmRlZiBF
TkFCTEVfU1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJFUwogdGV4dFBhdGgKICNlbmRpZgogdGl0bGUK
SW5kZXg6IGtzdmcyL3N2Zy9TVkdUU3BhbkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtzdmcy
L3N2Zy9TVkdUU3BhbkVsZW1lbnQuY3BwCShyZXZpc2lvbiAxOTk5MikKKysrIGtzdmcyL3N2Zy9T
VkdUU3BhbkVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAg
ICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUgTmlrb2xhcyBaaW1tZXJtYW5uIDx3aWxkZm94QGtk
ZS5vcmc+CisgICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA3IE5pa29sYXMgWmltbWVy
bWFubiA8emltbWVybWFubkBrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwNCwgMjAwNSwg
MjAwNiBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgogCiAgICAgVGhpcyBmaWxlIGlzIHBhcnQgb2Yg
dGhlIEtERSBwcm9qZWN0CkBAIC0yMSw2ICsyMSw3IEBACiAqLwogCiAjaW5jbHVkZSAiY29uZmln
LmgiCisKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlNWR1RTcGFuRWxlbWVudC5oIgogCkBA
IC00Miw4ICs0MywxMyBAQAogYm9vbCBTVkdUU3BhbkVsZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRl
UmVuZGVyZXIoTm9kZSogY2hpbGQpIGNvbnN0CiB7CiAgICAgaWYgKGNoaWxkLT5pc1RleHROb2Rl
KCkgfHwgY2hpbGQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnRzcGFuVGFnKSB8fAotICAgICAgICBj
aGlsZC0+aGFzVGFnTmFtZShTVkdOYW1lczo6dHJlZlRhZykpCisgICAgICAgIGNoaWxkLT5oYXNU
YWdOYW1lKFNWR05hbWVzOjp0cmVmVGFnKSB8fAorI2lmIEVOQUJMRShTVkdfRVhQRVJJTUVOVEFM
X0ZFQVRVUkVTKQorICAgICAgICBjaGlsZC0+aGFzVGFnTmFtZShTVkdOYW1lczo6dGV4dFBhdGhU
YWcpCisjZW5kaWYKKyAgICAgICApCiAgICAgICAgIHJldHVybiB0cnVlOworCiAgICAgcmV0dXJu
IGZhbHNlOwogfQogCkBAIC01NCw2ICs2MCw2IEBACiAKIH0KIAotLy8gdmltOnRzPTQ6bm9ldAog
I2VuZGlmIC8vIEVOQUJMRShTVkcpCiAKKy8vIHZpbTp0cz00Om5vZXQKSW5kZXg6IGtzdmcyL3N2
Zy9TVkdUZXh0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga3N2ZzIvc3ZnL1NWR1RleHRFbGVt
ZW50LmNwcAkocmV2aXNpb24gMTk5OTIpCisrKyBrc3ZnMi9zdmcvU1ZHVGV4dEVsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIw
MDQsIDIwMDUgTmlrb2xhcyBaaW1tZXJtYW5uIDx3aWxkZm94QGtkZS5vcmc+CisgICAgQ29weXJp
Z2h0IChDKSAyMDA0LCAyMDA1LCAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBr
ZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwNCwgMjAwNSwgMjAwNiBSb2IgQnVpcyA8YnVp
c0BrZGUub3JnPgogCiAgICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBwcm9qZWN0CkBA
IC0yMSw2ICsyMSw3IEBACiAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCisKICNpZiBFTkFCTEUo
U1ZHKQogI2luY2x1ZGUgIlNWR1RleHRFbGVtZW50LmgiCiAKQEAgLTEyMiwxMyArMTIzLDE3IEBA
CiBib29sIFNWR1RleHRFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKE5vZGUqIGNo
aWxkKSBjb25zdAogewogICAgIGlmIChjaGlsZC0+aXNUZXh0Tm9kZSgpIHx8IGNoaWxkLT5oYXNU
YWdOYW1lKFNWR05hbWVzOjp0c3BhblRhZykgfHwKLSAgICAgICAgY2hpbGQtPmhhc1RhZ05hbWUo
U1ZHTmFtZXM6OnRyZWZUYWcpKQorICAgICAgICBjaGlsZC0+aGFzVGFnTmFtZShTVkdOYW1lczo6
dHJlZlRhZykKKyNpZiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykKKyAgICAgICAg
fHwgY2hpbGQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnRleHRQYXRoVGFnKQorI2VuZGlmCisgICAg
ICAgKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKIH0KIAot
Ly8gdmltOnRzPTQ6bm9ldAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCiAKKy8vIHZpbTp0cz00Om5v
ZXQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>14273</attachid>
            <date>2007-04-30 02:02:58 -0700</date>
            <delta_ts>2007-05-16 17:08:51 -0700</delta_ts>
            <desc>Updated patch to work against current ToT</desc>
            <filename>per-character-positioning.patch</filename>
            <type>text/plain</type>
            <size>102166</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">SW5kZXg6IERlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gRGVyaXZlZFNvdXJjZXMu
bWFrZQkocmV2aXNpb24gMjExODYpCisrKyBEZXJpdmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNv
cHkpCkBAIC0yNjYsNiArMjY2LDcgQEAgYWxsIDogXAogICAgIERPTVNWR1Rlc3RzLmggXAogICAg
IERPTVNWR1RleHRDb250ZW50RWxlbWVudC5oIFwKICAgICBET01TVkdUZXh0RWxlbWVudC5oIFwK
KyAgICBET01TVkdUZXh0UGF0aEVsZW1lbnQuaCBcCiAgICAgRE9NU1ZHVGV4dFBvc2l0aW9uaW5n
RWxlbWVudC5oIFwKICAgICBET01TVkdUaXRsZUVsZW1lbnQuaCBcCiAgICAgRE9NU1ZHVHJhbnNm
b3JtLmggXApAQCAtNDU2LDYgKzQ1Nyw3IEBAIGFsbCA6IFwKICAgICBKU1NWR1RTcGFuRWxlbWVu
dC5oIFwKICAgICBKU1NWR1RleHRFbGVtZW50LmggXAogICAgIEpTU1ZHVGV4dENvbnRlbnRFbGVt
ZW50LmggXAorICAgIEpTU1ZHVGV4dFBhdGhFbGVtZW50LmggXAogICAgIEpTU1ZHVGV4dFBvc2l0
aW9uaW5nRWxlbWVudC5oIFwKICAgICBKU1NWR1RpdGxlRWxlbWVudC5oIFwKICAgICBKU1NWR1Ry
YW5zZm9ybS5oIFwKSW5kZXg6IFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIx
MTg2KQorKysgV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkp
CkBAIC0yNjksMTAgKzI2OSwxMCBAQAogCQkxQ0ZDRUVENTBBQUNDNjY5MDAzNDg3NTAgLyogRE9N
SFRNTE9wdGlvbnNDb2xsZWN0aW9uUHJpdmF0ZS5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNGQ0VFRDQwQUFDQzY1RDAwMzQ4
NzUwIC8qIERPTUhUTUxPcHRpb25zQ29sbGVjdGlvblByaXZhdGUuaCAqLzsgfTsKIAkJMUNGQ0VF
REYwQUFDQzZBMzAwMzQ4NzUwIC8qIERPTUhUTUxQcmVFbGVtZW50UHJpdmF0ZS5oIGluIENvcHkg
R2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNG
Q0VFREEwQUFDQzY4MzAwMzQ4NzUwIC8qIERPTUhUTUxQcmVFbGVtZW50UHJpdmF0ZS5oICovOyB9
OwogCQkxQ0ZDRUVGQTBBQUNDN0E3MDAzNDg3NTAgLyogRE9NSFRNTElucHV0RWxlbWVudFByaXZh
dGUuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFDRkNFRUY5MEFBQ0M3OTAwMDM0ODc1MCAvKiBET01IVE1MSW5wdXRFbGVtZW50
UHJpdmF0ZS5oICovOyB9OwotCQkzNzkxOUMyMzBCN0QxODg2MDBBNTY5OTggLyogUG9zaXRpb25J
dGVyYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAzNzkxOUMyMTBCN0QxODg2MDBBNTY5OTggLyogUG9zaXRpb25JdGVyYXRvci5jcHAgKi87IH07
Ci0JCTM3OTE5QzI0MEI3RDE4ODYwMEE1Njk5OCAvKiBQb3NpdGlvbkl0ZXJhdG9yLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzkxOUMyMjBCN0QxODg2
MDBBNTY5OTggLyogUG9zaXRpb25JdGVyYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKCk7IH07IH07CiAJCTJEOTA2NjA2MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0ZS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDkwNjYw
NDBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3RhdGUuY3BwICovOyB9OwogCQkyRDkwNjYwNzBC
RTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOTA2NjA1MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRT
dGF0ZS5oICovOyB9OworCQkzNzkxOUMyMzBCN0QxODg2MDBBNTY5OTggLyogUG9zaXRpb25JdGVy
YXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
NzkxOUMyMTBCN0QxODg2MDBBNTY5OTggLyogUG9zaXRpb25JdGVyYXRvci5jcHAgKi87IH07CisJ
CTM3OTE5QzI0MEI3RDE4ODYwMEE1Njk5OCAvKiBQb3NpdGlvbkl0ZXJhdG9yLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzkxOUMyMjBCN0QxODg2MDBB
NTY5OTggLyogUG9zaXRpb25JdGVyYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KCk7IH07IH07CiAJCTQ0OEEyOUJGMEE0NkQ5Q0IwMDMwNzU5RiAvKiBKU0hUTUxPcHRpb25zQ29s
bGVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDQ4QTI5QkQwQTQ2RDlDQjAwMzA3NTlGIC8qIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmggKi87
IH07CiAJCTQ0OEEyOUMwMEE0NkQ5Q0IwMDMwNzU5RiAvKiBKU0hUTUxPcHRpb25zQ29sbGVjdGlv
bi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDhB
MjlCRTBBNDZEOUNCMDAzMDc1OUYgLyogSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb24uY3BwICovOyB9
OwogCQk0NDhBRDI3QzBBNDgxMzdBMDAyM0QxNzkgLyogSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb25D
dXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDQ4QUQyN0EwQTQ4MTM3OTAwMjNEMTc5IC8qIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uQ3VzdG9t
LmNwcCAqLzsgfTsKQEAgLTE2NzYsNiArMTY3Niw4IEBACiAJCUE3Q0ZCM0QyMEI3RUQxMEEwMDcw
QzMyRCAvKiBEcmFnSW1hZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE3Q0ZCM0QwMEI3RUQxMEEwMDcwQzMyRCAvKiBEcmFnSW1hZ2UuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBN0NGQjNENTBCN0VE
MTE4MDA3MEMzMkQgLyogRHJhZ0ltYWdlTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTdDRkIzRDQwQjdFRDExODAwNzBDMzJEIC8qIERyYWdJbWFn
ZU1hYy5tbSAqLzsgfTsKIAkJQTdEM0M1MjQwQjU3NkI0QjAwMkNBNDUwIC8qIFBhc3RlYm9hcmRI
ZWxwZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3
RDNDNTIzMEI1NzZCNEIwMDJDQTQ1MCAvKiBQYXN0ZWJvYXJkSGVscGVyLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTdFN0FDQkQwQkU1OUNGNjAw
M0VGNDhCIC8qIFNWR0NoYXJhY3RlckxheW91dEluZm8uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdFN0FDQkIwQkU1OUNGNjAwM0VGNDhCIC8qIFNW
R0NoYXJhY3RlckxheW91dEluZm8uY3BwICovOyB9OworCQlBN0U3QUNCRTBCRTU5Q0Y2MDAzRUY0
OEIgLyogU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTdFN0FDQkMwQkU1OUNGNjAwM0VGNDhCIC8qIFNWR0NoYXJh
Y3RlckxheW91dEluZm8uaCAqLzsgfTsKIAkJQTgwOUYxNDcwQjczNzkzQTAwMkU0RDdGIC8qIFJl
bmRlclNWR0dyYWRpZW50U3RvcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTgwOUYxNDUwQjczNzkzQTAwMkU0RDdGIC8qIFJlbmRlclNWR0dyYWRpZW50
U3RvcC5oICovOyB9OwogCQlBODA5RjE0ODBCNzM3OTNCMDAyRTREN0YgLyogUmVuZGVyU1ZHR3Jh
ZGllbnRTdG9wLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE4MDlGMTQ2MEI3Mzc5M0EwMDJFNEQ3RiAvKiBSZW5kZXJTVkdHcmFkaWVudFN0b3AuY3Bw
ICovOyB9OwogCQlBODA5RjFBQTBCNzM3RkI2MDAyRTREN0YgLyogUmVuZGVyU1ZHSGlkZGVuQ29u
dGFpbmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
ODA5RjFBODBCNzM3RkI2MDAyRTREN0YgLyogUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyLmggKi87
IH07CkBAIC0yMjk4LDYgKzIzMDAsMTQgQEAKIAkJQjI1QUU1NUYwQjQ5RDY2MzAwNzRDNzI2IC8q
IExpbmVhckdyYWRpZW50QXR0cmlidXRlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQjI1QUU1NUQwQjQ5RDY2MzAwNzRDNzI2IC8qIExpbmVhckdyYWRp
ZW50QXR0cmlidXRlcy5oICovOyB9OwogCQlCMjVBRTU2MDBCNDlENjYzMDA3NEM3MjYgLyogUmFk
aWFsR3JhZGllbnRBdHRyaWJ1dGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCMjVBRTU1RTBCNDlENjYzMDA3NEM3MjYgLyogUmFkaWFsR3JhZGllbnRB
dHRyaWJ1dGVzLmggKi87IH07CiAJCUIyNURGQUFGMEIyRTI5MjkwMDBFNjUxMCAvKiBKU1NWR01h
dHJpeEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCMjVERkFBRTBCMkUyOTI5MDAwRTY1MTAgLyogSlNTVkdNYXRyaXhDdXN0b20uY3BwICov
OyB9OworCQlCMjY1NTRDMDBCODBBRDYwMDBBNTBFQzMgLyogU1ZHVGV4dFBhdGhFbGVtZW50LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyNjU1NEJE
MEI4MEFENjAwMEE1MEVDMyAvKiBTVkdUZXh0UGF0aEVsZW1lbnQuY3BwICovOyB9OworCQlCMjY1
NTRDMTBCODBBRDYwMDBBNTBFQzMgLyogU1ZHVGV4dFBhdGhFbGVtZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjY1NTRCRTBCODBBRDYwMDBBNTBF
QzMgLyogU1ZHVGV4dFBhdGhFbGVtZW50LmggKi87IH07CisJCUIyNjU1NEMyMEI4MEFENjAwMEE1
MEVDMyAvKiBTVkdUZXh0UGF0aEVsZW1lbnQuaWRsIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjY1NTRCRjBCODBBRDYwMDBBNTBFQzMgLyogU1ZHVGV4
dFBhdGhFbGVtZW50LmlkbCAqLzsgfTsKKwkJQjI2NTU0Q0UwQjgwQURFQTAwQTUwRUMzIC8qIERP
TVNWR1RleHRQYXRoRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQjI2NTU0Q0IwQjgwQURFQTAwQTUwRUMzIC8qIERPTVNWR1RleHRQYXRoRWxl
bWVudC5oICovOyB9OworCQlCMjY1NTRDRjBCODBBREVBMDBBNTBFQzMgLyogRE9NU1ZHVGV4dFBh
dGhFbGVtZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEIyNjU1NENDMEI4MEFERUEwMEE1MEVDMyAvKiBET01TVkdUZXh0UGF0aEVsZW1l
bnRJbnRlcm5hbC5oICovOyB9OworCQlCMjY1NTREMDBCODBBREVBMDBBNTBFQzMgLyogSlNTVkdU
ZXh0UGF0aEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEIyNjU1NENEMEI4MEFERUEwMEE1MEVDMyAvKiBKU1NWR1RleHRQYXRoRWxlbWVudC5o
ICovOyB9OworCQlCMjY1NTRFQTBCODBENzQ5MDBBNTBFQzMgLyogUmVuZGVyU1ZHVGV4dFBhdGgu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjI2NTU0
RTgwQjgwRDc0OTAwQTUwRUMzIC8qIFJlbmRlclNWR1RleHRQYXRoLmNwcCAqLzsgfTsKKwkJQjI2
NTU0RUIwQjgwRDc0OTAwQTUwRUMzIC8qIFJlbmRlclNWR1RleHRQYXRoLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjY1NTRFOTBCODBENzQ5MDBBNTBF
QzMgLyogUmVuZGVyU1ZHVGV4dFBhdGguaCAqLzsgfTsKIAkJQjI3NTM1NTYwQjA1MzgxNDAwMkNF
NjRGIC8qIEFmZmluZVRyYW5zZm9ybS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCMjc1MzUyNzBCMDUzODE0MDAyQ0U2NEYgLyogQWZmaW5lVHJhbnNm
b3JtLmNwcCAqLzsgfTsKIAkJQjI3NTM1NTcwQjA1MzgxNDAwMkNFNjRGIC8qIEFmZmluZVRyYW5z
Zm9ybS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjI3
NTM1MjgwQjA1MzgxNDAwMkNFNjRGIC8qIEFmZmluZVRyYW5zZm9ybS5oICovOyB9OwogCQlCMjc1
MzU1ODBCMDUzODE0MDAyQ0U2NEYgLyogQWZmaW5lVHJhbnNmb3JtQ0cuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjI3NTM1MkEwQjA1MzgxNDAwMkNF
NjRGIC8qIEFmZmluZVRyYW5zZm9ybUNHLmNwcCAqLzsgfTsKQEAgLTMzODAsMTIgKzMzOTAsMTIg
QEAKIAkJMUNGQ0VFRDQwQUFDQzY1RDAwMzQ4NzUwIC8qIERPTUhUTUxPcHRpb25zQ29sbGVjdGlv
blByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSFRNTE9wdGlv
bnNDb2xsZWN0aW9uUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0ZD
RUVEQTBBQUNDNjgzMDAzNDg3NTAgLyogRE9NSFRNTFByZUVsZW1lbnRQcml2YXRlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUhUTUxQcmVFbGVtZW50UHJpdmF0ZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0ZDRUVGOTBBQUNDNzkwMDAzNDg3NTAgLyog
RE9NSFRNTElucHV0RWxlbWVudFByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRE9NSFRNTElucHV0RWxlbWVudFByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMkQ5MDY2MDQwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMYXlvdXRTdGF0ZS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOTA2NjA1MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlv
dXRTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGF5b3V0U3RhdGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ5MDY2MEIwNjY1RDkzNzAwNkI2RjFB
IC8qIENsaXBib2FyZE1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDbGlwYm9hcmRNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFi
V2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CiAJCTJEOTA2NjBDMDY2NUQ5MzcwMDZCNkYxQSAv
KiBDbGlwYm9hcmRNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBDbGlwYm9hcmRNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQkzNzkxOUMyMTBCN0QxODg2MDBB
NTY5OTggLyogUG9zaXRpb25JdGVyYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUG9zaXRpb25JdGVyYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTM3OTE5QzIyMEI3RDE4ODYwMEE1Njk5OCAvKiBQb3NpdGlvbkl0ZXJhdG9yLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQb3NpdGlvbkl0ZXJhdG9yLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTJEOTA2NjA0MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlv
dXRTdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGF5b3V0
U3RhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkyRDkwNjYwNTBCRTE0MUQ0
MDA5NTY5OTggLyogTGF5b3V0U3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IExheW91dFN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0OEEyOUJE
MEE0NkQ5Q0IwMDMwNzU5RiAvKiBKU0hUTUxPcHRpb25zQ29sbGVjdGlvbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb24uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQ4QTI5QkUwQTQ2RDlDQjAwMzA3NTlGIC8qIEpTSFRN
TE9wdGlvbnNDb2xsZWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0hUTUxPcHRpb25zQ29sbGVjdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQ0OEFEMjdBMEE0ODEzNzkwMDIzRDE3OSAvKiBKU0hUTUxPcHRpb25zQ29sbGVjdGlv
bkN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0hUTUxP
cHRpb25zQ29sbGVjdGlvbkN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC00NzIyLDYgKzQ3MzIsOCBAQAogCQlBN0NGQjNEMDBCN0VEMTBBMDA3MEMzMkQgLyogRHJhZ0lt
YWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEcmFnSW1hZ2UuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTdDRkIzRDQwQjdFRDExODAwNzBDMzJEIC8qIERy
YWdJbWFnZU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBE
cmFnSW1hZ2VNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3RDNDNTIzMEI1
NzZCNEIwMDJDQTQ1MCAvKiBQYXN0ZWJvYXJkSGVscGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFBhc3RlYm9hcmRIZWxwZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTdFN0FDQkIwQkU1OUNGNjAwM0VGNDhCIC8qIFNWR0NoYXJhY3RlckxheW91dEluZm8u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR0NoYXJhY3Rlckxh
eW91dEluZm8uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0U3QUNCQzBCRTU5
Q0Y2MDAzRUY0OEIgLyogU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mby5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mby5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBODA5RjE0NTBCNzM3OTNBMDAyRTREN0YgLyogUmVuZGVyU1ZHR3Jh
ZGllbnRTdG9wLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclNWR0dy
YWRpZW50U3RvcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBODA5RjE0NjBCNzM3
OTNBMDAyRTREN0YgLyogUmVuZGVyU1ZHR3JhZGllbnRTdG9wLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlclNWR0dyYWRpZW50U3RvcC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4MDlGMUE4MEI3MzdGQjYwMDJFNEQ3RiAvKiBSZW5kZXJT
VkdIaWRkZW5Db250YWluZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVu
ZGVyU1ZHSGlkZGVuQ29udGFpbmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01
Mzc3LDYgKzUzODksMTQgQEAKIAkJQjI1QUU1NUQwQjQ5RDY2MzAwNzRDNzI2IC8qIExpbmVhckdy
YWRpZW50QXR0cmlidXRlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGlu
ZWFyR3JhZGllbnRBdHRyaWJ1dGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIy
NUFFNTVFMEI0OUQ2NjMwMDc0QzcyNiAvKiBSYWRpYWxHcmFkaWVudEF0dHJpYnV0ZXMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJhZGlhbEdyYWRpZW50QXR0cmlidXRlcy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjVERkFBRTBCMkUyOTI5MDAwRTY1MTAg
LyogSlNTVkdNYXRyaXhDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEpTU1ZHTWF0cml4Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQjI2NTU0QkQwQjgwQUQ2MDAwQTUwRUMzIC8qIFNWR1RleHRQYXRoRWxlbWVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHVGV4dFBhdGhFbGVtZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjI2NTU0QkUwQjgwQUQ2MDAwQTUwRUMz
IC8qIFNWR1RleHRQYXRoRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU1ZHVGV4dFBhdGhFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIy
NjU1NEJGMEI4MEFENjAwMEE1MEVDMyAvKiBTVkdUZXh0UGF0aEVsZW1lbnQuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBTVkdUZXh0UGF0aEVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlCMjY1NTRDQjBCODBBREVBMDBBNTBFQzMgLyogRE9NU1ZHVGV4dFBhdGhF
bGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01TVkdUZXh0UGF0
aEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjI2NTU0Q0MwQjgwQURF
QTAwQTUwRUMzIC8qIERPTVNWR1RleHRQYXRoRWxlbWVudEludGVybmFsLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBET01TVkdUZXh0UGF0aEVsZW1lbnRJbnRlcm5hbC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMjY1NTRDRDBCODBBREVBMDBBNTBFQzMgLyog
SlNTVkdUZXh0UGF0aEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTU1ZHVGV4dFBhdGhFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIy
NjU1NEU4MEI4MEQ3NDkwMEE1MEVDMyAvKiBSZW5kZXJTVkdUZXh0UGF0aC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyU1ZHVGV4dFBhdGguY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMjY1NTRFOTBCODBENzQ5MDBBNTBFQzMgLyogUmVu
ZGVyU1ZHVGV4dFBhdGguaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRl
clNWR1RleHRQYXRoLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyNzUzNTI3MEIw
NTM4MTQwMDJDRTY0RiAvKiBBZmZpbmVUcmFuc2Zvcm0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEFmZmluZVRyYW5zZm9ybS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUIyNzUzNTI4MEIwNTM4MTQwMDJDRTY0RiAvKiBBZmZpbmVUcmFuc2Zvcm0u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFmZmluZVRyYW5zZm9ybS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjc1MzUyQTBCMDUzODE0MDAyQ0U2NEYgLyog
QWZmaW5lVHJhbnNmb3JtQ0cuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEFmZmluZVRyYW5zZm9ybUNHLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTYxOTcsNiArNjIxNyw5IEBACiAJCTA4NjdENjkxRkU4NDAyOEZDMDJBQUMwNyAvKiBXZWJLaXQg
Ki8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUIyNjU1NENC
MEI4MEFERUEwMEE1MEVDMyAvKiBET01TVkdUZXh0UGF0aEVsZW1lbnQuaCAqLywKKwkJCQlCMjY1
NTRDQzBCODBBREVBMDBBNTBFQzMgLyogRE9NU1ZHVGV4dFBhdGhFbGVtZW50SW50ZXJuYWwuaCAq
LywKKwkJCQlCMjY1NTRDRDBCODBBREVBMDBBNTBFQzMgLyogSlNTVkdUZXh0UGF0aEVsZW1lbnQu
aCAqLywKIAkJCQk2NUM5N0FGMjA4RUE5MDg4MDBBQ0QyNzMgLyogY29uZmlnLmggKi8sCiAJCQkJ
RURFQzk4MDIwQUVEN0UxNzAwNTkxMzdGIC8qIFdlYkNvcmVQcmVmaXguaCAqLywKIAkJCQk5MzA3
MDYxMzA5RTBDQTgyMDBCMTdGRTQgLyogRGVyaXZlZFNvdXJjZXMubWFrZSAqLywKQEAgLTg2NDks
NiArODY3Miw5IEBACiAJCQkJQThDMEY4RDcwODk3MDFGNDAwQkE1MTE0IC8qIFNWR1RleHRFbGVt
ZW50LmNwcCAqLywKIAkJCQlBOEMwRjhEODA4OTcwMUY0MDBCQTUxMTQgLyogU1ZHVGV4dEVsZW1l
bnQuaCAqLywKIAkJCQlCMkNCNDE1ODBBQjc1OTA0MDA0RDlDNDUgLyogU1ZHVGV4dEVsZW1lbnQu
aWRsICovLAorCQkJCUIyNjU1NEJEMEI4MEFENjAwMEE1MEVDMyAvKiBTVkdUZXh0UGF0aEVsZW1l
bnQuY3BwICovLAorCQkJCUIyNjU1NEJFMEI4MEFENjAwMEE1MEVDMyAvKiBTVkdUZXh0UGF0aEVs
ZW1lbnQuaCAqLywKKwkJCQlCMjY1NTRCRjBCODBBRDYwMDBBNTBFQzMgLyogU1ZHVGV4dFBhdGhF
bGVtZW50LmlkbCAqLywKIAkJCQlBOEMwRjhEOTA4OTcwMUY0MDBCQTUxMTQgLyogU1ZHVGV4dFBv
c2l0aW9uaW5nRWxlbWVudC5jcHAgKi8sCiAJCQkJQThDMEY4REEwODk3MDFGNDAwQkE1MTE0IC8q
IFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQuaCAqLywKIAkJCQlCMkNCNDE1OTBBQjc1OTA0MDA0
RDlDNDUgLyogU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5pZGwgKi8sCkBAIC05NDQ2LDYgKzk0
NzIsOCBAQAogCQlGNTIzRDJGMzAyREU0NDNCMDE4NjM1Q0EgLyogcmVuZGVyaW5nICovID0gewog
CQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlBN0U3QUNCQjBCRTU5Q0Y2
MDAzRUY0OEIgLyogU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mby5jcHAgKi8sCisJCQkJQTdFN0FDQkMw
QkU1OUNGNjAwM0VGNDhCIC8qIFNWR0NoYXJhY3RlckxheW91dEluZm8uaCAqLywKIAkJCQlBOENG
RjA0QjBBMTU0RjA5MDAwQTQyMzQgLyogQXV0b1RhYmxlTGF5b3V0LmNwcCAqLywKIAkJCQlBOENG
RjA0OTBBMTU0RjA5MDAwQTQyMzQgLyogQXV0b1RhYmxlTGF5b3V0LmggKi8sCiAJCQkJQkNFQTQ4
MTMwOTdEOTMwMjAwOTRDOUU0IC8qIGJpZGkuY3BwICovLApAQCAtOTU1Myw2ICs5NTgxLDggQEAK
IAkJCQk4NTNDQTlEMTBBRUVDNUU5MDAyMzcyREMgLyogUmVuZGVyU1ZHSW5saW5lVGV4dC5oICov
LAogCQkJCTg1M0NBOUQyMEFFRUM1RTkwMDIzNzJEQyAvKiBSZW5kZXJTVkdUZXh0LmNwcCAqLywK
IAkJCQk4NTNDQTlEMzBBRUVDNUU5MDAyMzcyREMgLyogUmVuZGVyU1ZHVGV4dC5oICovLAorCQkJ
CUIyNjU1NEU4MEI4MEQ3NDkwMEE1MEVDMyAvKiBSZW5kZXJTVkdUZXh0UGF0aC5jcHAgKi8sCisJ
CQkJQjI2NTU0RTkwQjgwRDc0OTAwQTUwRUMzIC8qIFJlbmRlclNWR1RleHRQYXRoLmggKi8sCiAJ
CQkJODUzQ0E5RDQwQUVFQzVFOTAwMjM3MkRDIC8qIFJlbmRlclNWR1RTcGFuLmNwcCAqLywKIAkJ
CQk4NTNDQTlENTBBRUVDNUU5MDAyMzcyREMgLyogUmVuZGVyU1ZHVFNwYW4uaCAqLywKIAkJCQlB
OERGNEFFMjA5ODBDNDJDMDA1Mjk4MUIgLyogUmVuZGVyVGFibGUuY3BwICovLApAQCAtMTEyMzAs
NiArMTEyNjAsMTEgQEAKIAkJCQlFMTBCOTM3QzBCNzNDMDBBMDAzRUQ4OTAgLyogSlNDdXN0b21Y
UGF0aE5TUmVzb2x2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMEI5QjZDMEI3NDc1OTkwMDNF
RDg5MCAvKiBOYXRpdmVYUGF0aE5TUmVzb2x2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMEI5
Q0NDMEI3NDdBNDQwMDNFRDg5MCAvKiBET01DdXN0b21YUGF0aE5TUmVzb2x2ZXIuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUIyNjU1NEMxMEI4MEFENjAwMEE1MEVDMyAvKiBTVkdUZXh0UGF0aEVsZW1l
bnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUIyNjU1NENFMEI4MEFERUEwMEE1MEVDMyAvKiBET01T
VkdUZXh0UGF0aEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUIyNjU1NENGMEI4MEFERUEw
MEE1MEVDMyAvKiBET01TVkdUZXh0UGF0aEVsZW1lbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQjI2NTU0RDAwQjgwQURFQTAwQTUwRUMzIC8qIEpTU1ZHVGV4dFBhdGhFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQlCMjY1NTRFQjBCODBENzQ5MDBBNTBFQzMgLyogUmVuZGVyU1ZH
VGV4dFBhdGguaCBpbiBIZWFkZXJzICovLAogCQkJCTkzM0ExNDMwMEI3RDE4ODYwMEE1M0ZGRCAv
KiBUZXh0RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzM0ExNEI5MEI3RDFENTIwMEE1M0ZG
RCAvKiBKU1RleHRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRERFNjNFRDUwQjdENDVBODAw
MjI2OTk4IC8qIERPTVRleHRFdmVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMTI0Nyw2ICsxMTI4
Miw3IEBACiAJCQkJMDZGQzQ0MkUwQkFFNUE5RTAwOTBFREUxIC8qIEphdmFTY3JpcHRTdGF0aXN0
aWNzLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUVDMjlBMDBCQjA0QzZCMDBFQTE4N0IgLyogWFBh
dGhOb2RlU2V0LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDkwNjYwNzBCRTE0MUQ0MDA5NTY5OTgg
LyogTGF5b3V0U3RhdGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3RTdBQ0JFMEJFNTlDRjYwMDNF
RjQ4QiAvKiBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTExMzU0
LDYgKzExMzkwLDcgQEAKIAkJCQk0NkJEMTZFMzBCMjc5NDczMDAxRjA4MzkgLyogbm9uZUN1cnNv
ci5wbmcgaW4gUmVzb3VyY2VzICovLAogCQkJCUIyREUyODFEMEI1QkZBNTQwMENDMjg5QSAvKiBT
VkdFbGVtZW50SW5zdGFuY2UuaWRsIGluIFJlc291cmNlcyAqLywKIAkJCQlCMkRFMjgxRTBCNUJG
QTU0MDBDQzI4OUEgLyogU1ZHRWxlbWVudEluc3RhbmNlTGlzdC5pZGwgaW4gUmVzb3VyY2VzICov
LAorCQkJCUIyNjU1NEMyMEI4MEFENjAwMEE1MEVDMyAvKiBTVkdUZXh0UGF0aEVsZW1lbnQuaWRs
IGluIFJlc291cmNlcyAqLywKIAkJCQk5MzNBMTQyRjBCN0QxODg2MDBBNTNGRkQgLyogVGV4dEV2
ZW50LmlkbCBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJNDY0RUEyNzMwQjhBMzUwQjAwQThFNkUzIC8q
IGNyb3NzSGFpckN1cnNvci5wbmcgaW4gUmVzb3VyY2VzICovLAogCQkJCTQ2NEVBMjc0MEI4QTM1
MEIwMEE4RTZFMyAvKiBub3RBbGxvd2VkQ3Vyc29yLnBuZyBpbiBSZXNvdXJjZXMgKi8sCkBAIC0x
MjU5OSw2ICsxMjYzNiw4IEBACiAJCQkJRTEwQjkzQzMwQjczQzI5MTAwM0VEODkwIC8qIEpTQ3Vz
dG9tWFBhdGhOU1Jlc29sdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxMEI5QjZEMEI3NDc1
OTkwMDNFRDg5MCAvKiBOYXRpdmVYUGF0aE5TUmVzb2x2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRTEwQjlDQ0QwQjc0N0E0NDAwM0VEODkwIC8qIERPTUN1c3RvbVhQYXRoTlNSZXNvbHZlci5t
bSBpbiBTb3VyY2VzICovLAorCQkJCUIyNjU1NEMwMEI4MEFENjAwMEE1MEVDMyAvKiBTVkdUZXh0
UGF0aEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjI2NTU0RUEwQjgwRDc0OTAwQTUw
RUMzIC8qIFJlbmRlclNWR1RleHRQYXRoLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzM0ExNDJF
MEI3RDE4ODYwMEE1M0ZGRCAvKiBUZXh0RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMz
QTE0QUEwQjdEMUQwOTAwQTUzRkZEIC8qIERPTVRleHRFdmVudC5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTkzM0ExNEI4MEI3RDFENTIwMEE1M0ZGRCAvKiBKU1RleHRFdmVudC5jcHAgaW4gU291cmNl
cyAqLywKQEAgLTEyNjE3LDYgKzEyNjU2LDcgQEAKIAkJCQlFMUVDMjk5RjBCQjA0QzZCMDBFQTE4
N0IgLyogWFBhdGhOb2RlU2V0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxQUEzRjZGMEJENUFB
OUUwMDg5Mjk3MSAvKiBSZXNvdXJjZUxvYWRlck1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJE
OTA2NjA2MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0ZS5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQlBN0U3QUNCRDBCRTU5Q0Y2MDAzRUY0OEIgLyogU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mby5j
cHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJfTsKSW5kZXg6IGNzcy9zdmcuY3NzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGNzcy9z
dmcuY3NzCShyZXZpc2lvbiAyMTE4NikKKysrIGNzcy9zdmcuY3NzCSh3b3JraW5nIGNvcHkpCkBA
IC01MCw2ICs1MCw2IEBAIHRleHQsIGZvcmVpZ25PYmplY3QgewogICAgIGRpc3BsYXk6IGJsb2Nr
ICFpbXBvcnRhbnQKIH0KIAotdGV4dCwgdHNwYW4gewordGV4dCwgdHNwYW4sIHRleHRQYXRoIHsK
ICAgIHdoaXRlLXNwYWNlOiBub3dyYXAKIH0KSW5kZXg6IGtzdmcyL3N2Zy9TVkdUU3BhbkVsZW1l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIGtzdmcyL3N2Zy9TVkdUU3BhbkVsZW1lbnQuY3BwCShyZXZp
c2lvbiAyMTE4NikKKysrIGtzdmcyL3N2Zy9TVkdUU3BhbkVsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUgTmlr
b2xhcyBaaW1tZXJtYW5uIDx3aWxkZm94QGtkZS5vcmc+CisgICAgQ29weXJpZ2h0IChDKSAyMDA0
LCAyMDA1LCAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgogICAg
ICAgICAgICAgICAgICAgMjAwNCwgMjAwNSwgMjAwNiBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgog
CiAgICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBwcm9qZWN0CkBAIC0yMSw2ICsyMSw3
IEBACiAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCisKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1
ZGUgIlNWR1RTcGFuRWxlbWVudC5oIgogCkBAIC00MSw5ICs0MiwxNCBAQCBTVkdUU3BhbkVsZW1l
bnQ6On5TVkdUU3BhbkVsZW1lbnQoKQogCiBib29sIFNWR1RTcGFuRWxlbWVudDo6Y2hpbGRTaG91
bGRDcmVhdGVSZW5kZXJlcihOb2RlKiBjaGlsZCkgY29uc3QKIHsKLSAgICBpZiAoY2hpbGQtPmlz
VGV4dE5vZGUoKSB8fCBjaGlsZC0+aGFzVGFnTmFtZShTVkdOYW1lczo6dHNwYW5UYWcpIHx8Ci0g
ICAgICAgIGNoaWxkLT5oYXNUYWdOYW1lKFNWR05hbWVzOjp0cmVmVGFnKSkKKyAgICBpZiAoY2hp
bGQtPmlzVGV4dE5vZGUoKSB8fCBjaGlsZC0+aGFzVGFnTmFtZShTVkdOYW1lczo6dHNwYW5UYWcp
IAorICAgICAgICB8fCBjaGlsZC0+aGFzVGFnTmFtZShTVkdOYW1lczo6dHJlZlRhZykgCisjaWYg
RU5BQkxFKFNWR19FWFBFUklNRU5UQUxfRkVBVFVSRVMpCisgICAgICAgIHx8IGNoaWxkLT5oYXNU
YWdOYW1lKFNWR05hbWVzOjp0ZXh0UGF0aFRhZykKKyNlbmRpZgorICAgICAgICkKICAgICAgICAg
cmV0dXJuIHRydWU7CisKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKQEAgLTU0LDYgKzYwLDYgQEAg
UmVuZGVyT2JqZWN0KiBTVkdUU3BhbkVsZW1lbnQ6OmNyZWF0ZVJlbgogCiB9CiAKLS8vIHZpbTp0
cz00Om5vZXQKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQogCisvLyB2aW06dHM9NDpub2V0CkluZGV4
OiBrc3ZnMi9zdmcvU1ZHVGV4dEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtzdmcyL3N2Zy9T
VkdUZXh0RWxlbWVudC5jcHAJKHJldmlzaW9uIDIxMTg2KQorKysga3N2ZzIvc3ZnL1NWR1RleHRF
bGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29weXJp
Z2h0IChDKSAyMDA0LCAyMDA1IE5pa29sYXMgWmltbWVybWFubiA8d2lsZGZveEBrZGUub3JnPgor
ICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNyBOaWtvbGFzIFppbW1lcm1hbm4gPHpp
bW1lcm1hbm5Aa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDQsIDIwMDUsIDIwMDYgUm9i
IEJ1aXMgPGJ1aXNAa2RlLm9yZz4KIAogICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUg
cHJvamVjdApAQCAtMjEsNiArMjEsNyBAQAogKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgorCiAj
aWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJTVkdUZXh0RWxlbWVudC5oIgogCkBAIC0xMjMsNyAr
MTI0LDExIEBAIGJvb2wgU1ZHVGV4dEVsZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmUKIHsKICAg
ICBpZiAoY2hpbGQtPmlzVGV4dE5vZGUoKSB8fCBjaGlsZC0+aGFzVGFnTmFtZShTVkdOYW1lczo6
dHNwYW5UYWcpCiAgICAgICAgIHx8IGNoaWxkLT5oYXNUYWdOYW1lKFNWR05hbWVzOjphVGFnKQot
ICAgICAgICB8fCBjaGlsZC0+aGFzVGFnTmFtZShTVkdOYW1lczo6dHJlZlRhZykpCisgICAgICAg
IHx8IGNoaWxkLT5oYXNUYWdOYW1lKFNWR05hbWVzOjp0cmVmVGFnKQorI2lmIEVOQUJMRShTVkdf
RVhQRVJJTUVOVEFMX0ZFQVRVUkVTKQorICAgICAgICB8fCBjaGlsZC0+aGFzVGFnTmFtZShTVkdO
YW1lczo6dGV4dFBhdGhUYWcpCisjZW5kaWYgICAgICAgIAorICAgICAgICApCiAgICAgICAgIHJl
dHVybiB0cnVlOwogICAgIHJldHVybiBmYWxzZTsKIH0KSW5kZXg6IGtzdmcyL3N2Zy9TVkdUZXh0
UGF0aEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtzdmcyL3N2Zy9TVkdUZXh0UGF0aEVsZW1l
bnQuY3BwCShyZXZpc2lvbiAwKQorKysga3N2ZzIvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5jcHAJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQ5IEBACisvKgorICAgIENvcHlyaWdodCAoQykgMjAw
NyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKworICAgIFRoaXMgZmls
ZSBpcyBwYXJ0IG9mIHRoZSBLREUgcHJvamVjdAorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgICAgTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
CisgICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgICBNRVJDSEFOVEFCSUxJ
VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICAg
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAg
WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZQorICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgICAgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorICAgIEJvc3Rv
biwgTUEgMDIxMTEtMTMwNywgVVNBLgorKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYg
RU5BQkxFKFNWRykgJiYgRU5BQkxFKFNWR19FWFBFUklNRU5UQUxfRkVBVFVSRVMpCisjaW5jbHVk
ZSAiU1ZHVGV4dFBhdGhFbGVtZW50LmgiCisKKyNpbmNsdWRlICJBZmZpbmVUcmFuc2Zvcm0uaCIK
KyNpbmNsdWRlICJGbG9hdFJlY3QuaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdUZXh0UGF0aC5oIgor
I2luY2x1ZGUgIlNWR0xlbmd0aExpc3QuaCIKKyNpbmNsdWRlICJTVkdQYXRoRWxlbWVudC5oIgor
I2luY2x1ZGUgIlNWR1JlbmRlclN0eWxlLmgiCisjaW5jbHVkZSAiU1ZHVGV4dFBhdGhFbGVtZW50
LmgiCisjaW5jbHVkZSAiU1ZHVHJhbnNmb3JtTGlzdC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK1NWR1RleHRQYXRoRWxlbWVudDo6U1ZHVGV4dFBhdGhFbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2MpCisgICAgOiBTVkdUZXh0Q29udGVudEVsZW1l
bnQodGFnTmFtZSwgZG9jKQorICAgICwgU1ZHVVJJUmVmZXJlbmNlKCkKKyAgICAsIG1fc3RhcnRP
ZmZzZXQodGhpcywgTGVuZ3RoTW9kZU90aGVyKQorICAgICwgbV9tZXRob2QoU1ZHX1RFWFRQQVRI
X01FVEhPRFRZUEVfQUxJR04pCisgICAgLCBtX3NwYWNpbmcoU1ZHX1RFWFRQQVRIX1NQQUNJTkdU
WVBFX0VYQUNUKQoreworfQorCitTVkdUZXh0UGF0aEVsZW1lbnQ6On5TVkdUZXh0UGF0aEVsZW1l
bnQoKQoreworfQorCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdUZXh0UGF0aEVs
ZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgsIFN0YXJ0T2Zmc2V0LCBzdGFydE9mZnNl
dCwgU1ZHTmFtZXM6OnN0YXJ0T2Zmc2V0QXR0ci5sb2NhbE5hbWUoKSwgbV9zdGFydE9mZnNldCkK
K0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1RleHRQYXRoRWxlbWVudCwgaW50LCBF
bnVtZXJhdGlvbiwgZW51bWVyYXRpb24sIE1ldGhvZCwgbWV0aG9kLCBTVkdOYW1lczo6bWV0aG9k
QXR0ci5sb2NhbE5hbWUoKSwgbV9tZXRob2QpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9O
UyhTVkdUZXh0UGF0aEVsZW1lbnQsIGludCwgRW51bWVyYXRpb24sIGVudW1lcmF0aW9uLCBTcGFj
aW5nLCBzcGFjaW5nLCBTVkdOYW1lczo6c3BhY2luZ0F0dHIubG9jYWxOYW1lKCksIG1fc3BhY2lu
ZykKKwordm9pZCBTVkdUZXh0UGF0aEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBl
ZEF0dHJpYnV0ZSogYXR0cikKK3sKKyAgICBjb25zdCBTdHJpbmcmIHZhbHVlID0gYXR0ci0+dmFs
dWUoKTsKKworICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OnN0YXJ0T2Zmc2V0QXR0
cikKKyAgICAgICAgc2V0U3RhcnRPZmZzZXRCYXNlVmFsdWUoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0
aE1vZGVPdGhlciwgdmFsdWUpKTsKKyAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFt
ZXM6Om1ldGhvZEF0dHIpIHsKKyAgICAgICAgaWYgKHZhbHVlID09ICJhbGlnbiIpCisgICAgICAg
ICAgICBzZXRTcGFjaW5nQmFzZVZhbHVlKFNWR19URVhUUEFUSF9NRVRIT0RUWVBFX0FMSUdOKTsK
KyAgICAgICAgZWxzZSBpZih2YWx1ZSA9PSAic3RyZXRjaCIpCisgICAgICAgICAgICBzZXRTcGFj
aW5nQmFzZVZhbHVlKFNWR19URVhUUEFUSF9NRVRIT0RUWVBFX1NUUkVUQ0gpOworICAgIH0gZWxz
ZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpzcGFjaW5nQXR0cikgeworICAgICAgICBp
ZiAodmFsdWUgPT0gImF1dG8iKQorICAgICAgICAgICAgc2V0TWV0aG9kQmFzZVZhbHVlKFNWR19U
RVhUUEFUSF9TUEFDSU5HVFlQRV9BVVRPKTsKKyAgICAgICAgZWxzZSBpZiAodmFsdWUgPT0gImV4
YWN0IikKKyAgICAgICAgICAgIHNldE1ldGhvZEJhc2VWYWx1ZShTVkdfVEVYVFBBVEhfU1BBQ0lO
R1RZUEVfRVhBQ1QpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChTVkdVUklSZWZlcmVuY2U6
OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpOworICAg
IH0KK30KKworUmVuZGVyT2JqZWN0KiBTVkdUZXh0UGF0aEVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVy
KFJlbmRlckFyZW5hKiBhcmVuYSwgUmVuZGVyU3R5bGUqIHN0eWxlKQoreworICAgIHJldHVybiBu
ZXcgKGFyZW5hKSBSZW5kZXJTVkdUZXh0UGF0aCh0aGlzKTsKK30KKworYm9vbCBTVkdUZXh0UGF0
aEVsZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoTm9kZSogY2hpbGQpIGNvbnN0Cit7
CisgICAgaWYgKGNoaWxkLT5pc1RleHROb2RlKCkgfHwgY2hpbGQtPmhhc1RhZ05hbWUoU1ZHTmFt
ZXM6OnRyZWZUYWcpIHx8CisgICAgICAgIGNoaWxkLT5oYXNUYWdOYW1lKFNWR05hbWVzOjp0c3Bh
blRhZykgfHwgY2hpbGQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnRleHRQYXRoVGFnKSkKKyAgICAg
ICAgcmV0dXJuIHRydWU7CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgU1ZHVGV4dFBh
dGhFbGVtZW50OjppbnNlcnRlZEludG9Eb2N1bWVudCgpCit7CisgICAgU1ZHRWxlbWVudDo6aW5z
ZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKKworICAgIFN0cmluZyBpZCA9IFNWR1VSSVJlZmVyZW5jZTo6
Z2V0VGFyZ2V0KGhyZWYoKSk7CisgICAgRWxlbWVudCogdGFyZ2V0RWxlbWVudCA9IG93bmVyRG9j
dW1lbnQoKS0+Z2V0RWxlbWVudEJ5SWQoaWQpOworICAgIGlmICghdGFyZ2V0RWxlbWVudCkgewor
ICAgICAgICBkb2N1bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25zKCktPmFkZFBlbmRpbmdSZXNv
dXJjZShpZCwgdGhpcyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBidWlsZFBlbmRp
bmdSZXNvdXJjZSgpOworfQorCit2b2lkIFNWR1RleHRQYXRoRWxlbWVudDo6YnVpbGRQZW5kaW5n
UmVzb3VyY2UoKQoreworICAgIC8vIEZJWE1FOiBSZWFsIGxvZ2ljIGhlcmUhCisgICAgaWYgKGF0
dGFjaGVkKCkpCisgICAgICAgIGRldGFjaCgpOworICAgIAorICAgIEFTU0VSVCghYXR0YWNoZWQo
KSk7CisgICAgYXR0YWNoKCk7Cit9CisKK3ZvaWQgU1ZHVGV4dFBhdGhFbGVtZW50OjphdHRhY2go
KQoreyAKKyAgICBTVkdTdHlsZWRFbGVtZW50OjphdHRhY2goKTsKKworICAgIGlmICghcmVuZGVy
ZXIoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgU3RyaW5nIGlkID0gU1ZHVVJJUmVmZXJlbmNl
OjpnZXRUYXJnZXQoaHJlZigpKTsKKyAgICBFbGVtZW50KiB0YXJnZXRFbGVtZW50ID0gb3duZXJE
b2N1bWVudCgpLT5nZXRFbGVtZW50QnlJZChpZCk7CisgICAgQVNTRVJUKHRhcmdldEVsZW1lbnQp
OworCisgICAgaWYgKCF0YXJnZXRFbGVtZW50LT5oYXNUYWdOYW1lKFNWR05hbWVzOjpwYXRoVGFn
KSkKKyAgICAgICAgcmV0dXJuOworCisgICAgU1ZHUGF0aEVsZW1lbnQqIHBhdGhFbGVtZW50ID0g
c3RhdGljX2Nhc3Q8U1ZHUGF0aEVsZW1lbnQqPih0YXJnZXRFbGVtZW50KTsKKworICAgIFJlbmRl
clNWR1RleHRQYXRoKiB0ZXh0UGF0aCA9IHN0YXRpY19jYXN0PFJlbmRlclNWR1RleHRQYXRoKj4o
cmVuZGVyZXIoKSk7CisgICAgQVNTRVJUKHRleHRQYXRoKTsKKworICAgIHRleHRQYXRoLT5zZXRT
dGFydE9mZnNldChtX3N0YXJ0T2Zmc2V0LnZhbHVlQXNQZXJjZW50YWdlKCkpOworICAgIHRleHRQ
YXRoLT5zZXRFeGFjdEFsaWdubWVudChtX21ldGhvZCA9PSBTVkdfVEVYVFBBVEhfU1BBQ0lOR1RZ
UEVfRVhBQ1QpOworICAgIHRleHRQYXRoLT5zZXRTdHJldGNoTWV0aG9kKG1fc3BhY2luZyA9PSBT
VkdfVEVYVFBBVEhfTUVUSE9EVFlQRV9TVFJFVENIKTsKKworICAgIC8vIFRPRE86IENhdGNoIHRy
YW5zZm9ybSB1cGRhdGVzIDotKQorICAgIFBhdGggcGF0aERhdGEgPSBwYXRoRWxlbWVudC0+dG9Q
YXRoRGF0YSgpOworICAgIHBhdGhEYXRhLnRyYW5zZm9ybShwYXRoRWxlbWVudC0+bG9jYWxNYXRy
aXgoKSk7CisgICAgdGV4dFBhdGgtPmFzc2lnbkxheW91dFBhdGgocGF0aERhdGEpOworfQorCit9
CisKKyNlbmRpZiAvLyBFTkFCTEUoU1ZHKQorCisvLyB2aW06dHM9NDpub2V0CkluZGV4OiBrc3Zn
Mi9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga3N2ZzIvc3ZnL1NWR1Rl
eHRQYXRoRWxlbWVudC5oCShyZXZpc2lvbiAwKQorKysga3N2ZzIvc3ZnL1NWR1RleHRQYXRoRWxl
bWVudC5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDc4IEBACisvKgorICAgIENvcHlyaWdodCAo
QykgMjAwNyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKworICAgIFRo
aXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUgcHJvamVjdAorCisgICAgVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAgIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisg
ICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCisgICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICAgYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgICBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQorICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor
CisgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgICAgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorICAg
IEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorKi8KKworI2lmbmRlZiBTVkdUZXh0UGF0aEVs
ZW1lbnRfaAorI2RlZmluZSBTVkdUZXh0UGF0aEVsZW1lbnRfaAorCisjaWYgRU5BQkxFKFNWRykg
JiYgRU5BQkxFKFNWR19FWFBFUklNRU5UQUxfRkVBVFVSRVMpCisjaW5jbHVkZSAiU1ZHVGV4dENv
bnRlbnRFbGVtZW50LmgiCisKKyNpbmNsdWRlICJTVkdVUklSZWZlcmVuY2UuaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUKK3sKKyAgICBlbnVtIFNWR1RleHRQYXRoTWV0aG9kVHlwZSB7CisgICAgICAg
IFNWR19URVhUUEFUSF9NRVRIT0RUWVBFX1VOS05PV04gPSAwLAorICAgICAgICBTVkdfVEVYVFBB
VEhfTUVUSE9EVFlQRV9BTElHTiA9IDEsCisgICAgICAgIFNWR19URVhUUEFUSF9NRVRIT0RUWVBF
X1NUUkVUQ0ggPSAyCisgICAgfTsKKworICAgIGVudW0gU1ZHVGV4dFBhdGhTcGFjaW5nVHlwZSB7
CisgICAgICAgIFNWR19URVhUUEFUSF9TUEFDSU5HVFlQRV9VTktOT1dOID0gMCwKKyAgICAgICAg
U1ZHX1RFWFRQQVRIX1NQQUNJTkdUWVBFX0FVVE8gPSAxLAorICAgICAgICBTVkdfVEVYVFBBVEhf
U1BBQ0lOR1RZUEVfRVhBQ1QgPSAyCisgICAgfTsKKworICAgIGNsYXNzIFNWR1RleHRQYXRoRWxl
bWVudCA6IHB1YmxpYyBTVkdUZXh0Q29udGVudEVsZW1lbnQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHVibGljIFNWR1VSSVJlZmVyZW5jZQorICAgIHsKKyAgICBwdWJsaWM6Cisg
ICAgICAgIFNWR1RleHRQYXRoRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQq
KTsKKyAgICAgICAgdmlydHVhbCB+U1ZHVGV4dFBhdGhFbGVtZW50KCk7CisgCisgICAgICAgIHZp
cnR1YWwgdm9pZCBpbnNlcnRlZEludG9Eb2N1bWVudCgpOworICAgICAgICB2aXJ0dWFsIHZvaWQg
YnVpbGRQZW5kaW5nUmVzb3VyY2UoKTsKKworICAgICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoKCk7
CisKKyAgICAgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJp
YnV0ZSogYXR0cik7CisgICAgICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVlZGVkKFJlbmRl
clN0eWxlKiBzdHlsZSkgeyByZXR1cm4gU3R5bGVkRWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZChz
dHlsZSk7IH0KKyAgICAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJl
bmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKKworICAgICAgICBib29sIGNoaWxkU2hvdWxkQ3Jl
YXRlUmVuZGVyZXIoTm9kZSopIGNvbnN0OworICAgIAorICAgIHByb3RlY3RlZDoKKyAgICAgICAg
dmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJu
IHRoaXM7IH0KKworICAgIHByaXZhdGU6CisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldB
UkRfREVDTEFSQVRJT05TKFNWR1VSSVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVmLCBocmVmKQorCisg
ICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdUZXh0UGF0aEVsZW1lbnQs
IFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBTdGFydE9mZnNldCwgc3RhcnRPZmZzZXQpCisgICAgICAg
IEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdUZXh0UGF0aEVsZW1lbnQsIGludCwg
aW50LCBNZXRob2QsIG1ldGhvZCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJ
T05TKFNWR1RleHRQYXRoRWxlbWVudCwgaW50LCBpbnQsIFNwYWNpbmcsIHNwYWNpbmcpCisgICAg
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykKKyNl
bmRpZgorCisvLyB2aW06dHM9NDpub2V0CkluZGV4OiBrc3ZnMi9zdmcvU1ZHVGV4dFBhdGhFbGVt
ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBrc3ZnMi9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmlkbAko
cmV2aXNpb24gMCkKKysrIGtzdmcyL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuaWRsCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA3IE5pa29sYXMg
WmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCittb2R1bGUgc3ZnIHsKKwor
ICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9U1ZHJlNWR19FWFBFUklNRU5UQUxfRkVBVFVSRVNd
IFNWR1RleHRQYXRoRWxlbWVudCA6IFNWR1RleHRDb250ZW50RWxlbWVudCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1ZHVVJJUmVmZXJlbmNl
IHsgICAgCisgICAgICAgIC8vIHRleHRQYXRoIE1ldGhvZCBUeXBlcworICAgICAgICBjb25zdCB1
bnNpZ25lZCBzaG9ydCBURVhUUEFUSF9NRVRIT0RUWVBFX1VOS05PV04gICA9IDA7CisgICAgICAg
IGNvbnN0IHVuc2lnbmVkIHNob3J0IFRFWFRQQVRIX01FVEhPRFRZUEVfQUxJR04gICAgID0gMTsK
KyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgVEVYVFBBVEhfTUVUSE9EVFlQRV9TVFJFVENI
ICAgPSAyOworCisgICAgICAgIC8vIHRleHRQYXRoIFNwYWNpbmcgVHlwZXMKKyAgICAgICAgY29u
c3QgdW5zaWduZWQgc2hvcnQgVEVYVFBBVEhfU1BBQ0lOR1RZUEVfVU5LTk9XTiAgPSAwOworICAg
ICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBURVhUUEFUSF9TUEFDSU5HVFlQRV9BVVRPICAgICA9
IDE7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFRFWFRQQVRIX1NQQUNJTkdUWVBFX0VY
QUNUICAgID0gMjsKKworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHQW5pbWF0ZWRMZW5n
dGggc3RhcnRPZmZzZXQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZEVu
dW1lcmF0aW9uIG1ldGhvZDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0FuaW1hdGVk
RW51bWVyYXRpb24gc3BhY2luZzsKKyAgICB9OworCit9CkluZGV4OiBrc3ZnMi9zdmcvc3ZndGFn
cy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBrc3ZnMi9zdmcvc3ZndGFncy5pbgkocmV2aXNpb24gMjExODYp
CisrKyBrc3ZnMi9zdmcvc3ZndGFncy5pbgkod29ya2luZyBjb3B5KQpAQCAtOTQsNyArOTQsNyBA
QCBzdmcKIHN3aXRjaAogc3ltYm9sCiB0ZXh0Ci0jaWYgMAorI2lmZGVmIEVOQUJMRV9TVkdfRVhQ
RVJJTUVOVEFMX0ZFQVRVUkVTCiB0ZXh0UGF0aAogI2VuZGlmCiB0aXRsZQpJbmRleDogcmVuZGVy
aW5nL0lubGluZVRleHRCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHJlbmRlcmluZy9JbmxpbmVUZXh0
Qm94LmNwcAkocmV2aXNpb24gMjExODYpCisrKyByZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTIwMCw3ICsyMDAsNyBAQCBpbnQgSW5saW5lVGV4dEJveDo6cGxh
Y2VFbGxpcHNpc0JveChib29sCiAgICAgcmV0dXJuIC0xOwogfQogCi1zdGF0aWMgQ29sb3IgY29y
cmVjdGVkVGV4dENvbG9yKENvbG9yIHRleHRDb2xvciwgQ29sb3IgYmFja2dyb3VuZENvbG9yKSAK
K0NvbG9yIGNvcnJlY3RlZFRleHRDb2xvcihDb2xvciB0ZXh0Q29sb3IsIENvbG9yIGJhY2tncm91
bmRDb2xvcikgCiB7CiAgICAgLy8gQWRqdXN0IHRoZSB0ZXh0IGNvbG9yIGlmIGl0IGlzIHRvbyBj
bG9zZSB0byB0aGUgYmFja2dyb3VuZCBjb2xvciwKICAgICAvLyBieSBkYXJrZW5pbmcgb3IgbGln
aHRlbmluZyBpdCB0byBtb3ZlIGl0IGZ1cnRoZXIgYXdheS4KQEAgLTIyMSw3ICsyMjEsNyBAQCBz
dGF0aWMgQ29sb3IgY29ycmVjdGVkVGV4dENvbG9yKENvbG9yIHRlCiAgICAgcmV0dXJuIHRleHRD
b2xvci5saWdodCgpOwogfQogCi1zdGF0aWMgdm9pZCB1cGRhdGVHcmFwaGljc0NvbnRleHQoR3Jh
cGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBDb2xvciYgZmlsbENvbG9yLCBjb25zdCBDb2xv
ciYgc3Ryb2tlQ29sb3IsIGZsb2F0IHN0cm9rZVRoaWNrbmVzcykKK3ZvaWQgdXBkYXRlR3JhcGhp
Y3NDb250ZXh0KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgQ29sb3ImIGZpbGxDb2xv
ciwgY29uc3QgQ29sb3ImIHN0cm9rZUNvbG9yLCBmbG9hdCBzdHJva2VUaGlja25lc3MpCiB7CiAg
ICAgaW50IG1vZGUgPSBjb250ZXh0LT50ZXh0RHJhd2luZ01vZGUoKTsKICAgICBpZiAoc3Ryb2tl
VGhpY2tuZXNzID4gMCkgewpJbmRleDogcmVuZGVyaW5nL0lubGluZVRleHRCb3guaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSByZW5kZXJpbmcvSW5saW5lVGV4dEJveC5oCShyZXZpc2lvbiAyMTE4NikKKysrIHJl
bmRlcmluZy9JbmxpbmVUZXh0Qm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDEwIEBA
IGNsYXNzIE1hcmtlZFRleHRVbmRlcmxpbmU7CiBjbGFzcyBIaXRUZXN0UmVzdWx0OwogY2xhc3Mg
UG9zaXRpb247CiAKKy8vIEhlbHBlciBmdW5jdGlvbnMgc2hhcmVkIGJ5IElubGluZVRleHRCb3gg
LyBTVkdSb290SW5saW5lQm94Cit2b2lkIHVwZGF0ZUdyYXBoaWNzQ29udGV4dChHcmFwaGljc0Nv
bnRleHQqIGNvbnRleHQsIGNvbnN0IENvbG9yJiBmaWxsQ29sb3IsIGNvbnN0IENvbG9yJiBzdHJv
a2VDb2xvciwgZmxvYXQgc3Ryb2tlVGhpY2tuZXNzKTsKK0NvbG9yIGNvcnJlY3RlZFRleHRDb2xv
cihDb2xvciB0ZXh0Q29sb3IsIENvbG9yIGJhY2tncm91bmRDb2xvcik7CisKIGNsYXNzIElubGlu
ZVRleHRCb3ggOiBwdWJsaWMgSW5saW5lUnVuQm94IHsKIHB1YmxpYzoKICAgICBJbmxpbmVUZXh0
Qm94KFJlbmRlck9iamVjdCogb2JqKQpJbmRleDogcmVuZGVyaW5nL1JlbmRlclNWR1RleHRQYXRo
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSByZW5kZXJpbmcvUmVuZGVyU1ZHVGV4dFBhdGguY3BwCShyZXZp
c2lvbiAwKQorKysgcmVuZGVyaW5nL1JlbmRlclNWR1RleHRQYXRoLmNwcAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSw5MSBAQAorLyoKKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQg
cHJvamVjdC4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6
aW1tZXJtYW5uQGtkZS5vcmc+CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lv
biAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElC
LiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j
LiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorICogQm9zdG9uLCBNQSAwMjExMS0xMzA3
LCBVU0EuCisgKgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShTVkcp
ICYmIEVOQUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKQorI2luY2x1ZGUgIlJlbmRlclNW
R1RleHRQYXRoLmgiCisKKyNpbmNsdWRlICJBZmZpbmVUcmFuc2Zvcm0uaCIKKyNpbmNsdWRlICJG
bG9hdFJlY3QuaCIKKyNpbmNsdWRlICJJbmxpbmVGbG93Qm94LmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworUmVuZGVyU1ZHVGV4dFBhdGg6OlJlbmRlclNWR1RleHRQYXRoKE5vZGUqIG4pCisg
ICAgOiBSZW5kZXJTVkdJbmxpbmUobikKKyAgICAsIG1fc3RhcnRPZmZzZXQoMC4wKQorICAgICwg
bV9leGFjdEFsaWdubWVudCh0cnVlKQorICAgICwgbV9zdHJldGNoTWV0aG9kKGZhbHNlKQorewor
fQorCitQYXRoIFJlbmRlclNWR1RleHRQYXRoOjpsYXlvdXRQYXRoKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbV9sYXlvdXRQYXRoOworfQorCit2b2lkIFJlbmRlclNWR1RleHRQYXRoOjphc3NpZ25M
YXlvdXRQYXRoKGNvbnN0IFBhdGgmIHBhdGgpCit7CisgICAgbV9sYXlvdXRQYXRoID0gcGF0aDsK
K30KKworZmxvYXQgUmVuZGVyU1ZHVGV4dFBhdGg6OnN0YXJ0T2Zmc2V0KCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gbV9zdGFydE9mZnNldDsKK30KKwordm9pZCBSZW5kZXJTVkdUZXh0UGF0aDo6c2V0
U3RhcnRPZmZzZXQoZmxvYXQgb2Zmc2V0KQoreworICAgIG1fc3RhcnRPZmZzZXQgPSBvZmZzZXQ7
Cit9CisKK2Jvb2wgUmVuZGVyU1ZHVGV4dFBhdGg6OmV4YWN0QWxpZ25tZW50KCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbV9leGFjdEFsaWdubWVudDsKK30KKwordm9pZCBSZW5kZXJTVkdUZXh0UGF0
aDo6c2V0RXhhY3RBbGlnbm1lbnQoYm9vbCB2YWx1ZSkKK3sKKyAgICBtX2V4YWN0QWxpZ25tZW50
ID0gdmFsdWU7Cit9CisKK2Jvb2wgUmVuZGVyU1ZHVGV4dFBhdGg6OnN0cmV0Y2hNZXRob2QoKSBj
b25zdAoreworICAgIHJldHVybiBtX3N0cmV0Y2hNZXRob2Q7Cit9CisKK3ZvaWQgUmVuZGVyU1ZH
VGV4dFBhdGg6OnNldFN0cmV0Y2hNZXRob2QoYm9vbCB2YWx1ZSkKK3sKKyAgICBtX3N0cmV0Y2hN
ZXRob2QgPSB2YWx1ZTsKK30KKwordm9pZCBSZW5kZXJTVkdUZXh0UGF0aDo6YWJzb2x1dGVSZWN0
cyhWZWN0b3I8SW50UmVjdD4mIHJlY3RzLCBpbnQgdHgsIGludCB0eSkKK3sKKyAgICBJbmxpbmVG
bG93Qm94KiBpbml0RmxvdyA9IGZpcnN0TGluZUJveCgpOworICAgIEZsb2F0UmVjdCBib3VuZHMo
dHggKyBpbml0Rmxvdy0+eFBvcygpLCB0eSArIGluaXRGbG93LT55UG9zKCksIHdpZHRoKCksIGhl
aWdodCgpKTsKKyAgICByZWN0cy5hcHBlbmQoZW5jbG9zaW5nSW50UmVjdChhYnNvbHV0ZVRyYW5z
Zm9ybSgpLm1hcFJlY3QoYm91bmRzKSkpOworfQorCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoU1ZH
KQpJbmRleDogcmVuZGVyaW5nL1JlbmRlclNWR1RleHRQYXRoLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcmVu
ZGVyaW5nL1JlbmRlclNWR1RleHRQYXRoLmgJKHJldmlzaW9uIDApCisrKyByZW5kZXJpbmcvUmVu
ZGVyU1ZHVGV4dFBhdGguaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIFRo
aXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgcHJvamVjdC4KKyAqCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKgorICog
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
KyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg
ZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUg
MzMwLAorICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKgorICovCisKKyNpZm5kZWYg
UmVuZGVyU1ZHVGV4dFBhdGhfaAorI2RlZmluZSBSZW5kZXJTVkdUZXh0UGF0aF9oCisKKyNpZiBF
TkFCTEUoU1ZHKSAmJiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykKKyNpbmNsdWRl
ICJSZW5kZXJTVkdJbmxpbmUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisgICAgY2xhc3Mg
UmVuZGVyU1ZHVGV4dFBhdGggOiBwdWJsaWMgUmVuZGVyU1ZHSW5saW5lIHsKKyAgICBwdWJsaWM6
CisgICAgICAgIFJlbmRlclNWR1RleHRQYXRoKE5vZGUqKTsKKworICAgICAgICBQYXRoIGxheW91
dFBhdGgoKSBjb25zdDsKKyAgICAgICAgdm9pZCBhc3NpZ25MYXlvdXRQYXRoKGNvbnN0IFBhdGgm
KTsKKworICAgICAgICBmbG9hdCBzdGFydE9mZnNldCgpIGNvbnN0OworICAgICAgICB2b2lkIHNl
dFN0YXJ0T2Zmc2V0KGZsb2F0KTsKKworICAgICAgICBib29sIGV4YWN0QWxpZ25tZW50KCkgY29u
c3Q7CisgICAgICAgIHZvaWQgc2V0RXhhY3RBbGlnbm1lbnQoYm9vbCk7CisKKyAgICAgICAgYm9v
bCBzdHJldGNoTWV0aG9kKCkgY29uc3Q7CisgICAgICAgIHZvaWQgc2V0U3RyZXRjaE1ldGhvZChi
b29sKTsKKworICAgICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7
IHJldHVybiAiUmVuZGVyU1ZHVGV4dFBhdGgiOyB9CisgICAgICAgIHZpcnR1YWwgdm9pZCBhYnNv
bHV0ZVJlY3RzKFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMsIGludCB0eCwgaW50IHR5KTsKKworICAg
IHByaXZhdGU6CisgICAgICAgIGZsb2F0IG1fc3RhcnRPZmZzZXQ7CisKKyAgICAgICAgYm9vbCBt
X2V4YWN0QWxpZ25tZW50IDogMTsKKyAgICAgICAgYm9vbCBtX3N0cmV0Y2hNZXRob2QgOiAxOwor
CisgICAgICAgIFBhdGggbV9sYXlvdXRQYXRoOworICAgIH07Cit9CisKKyNlbmRpZiAvLyBFTkFC
TEUoU1ZHKQorI2VuZGlmIC8vIFJlbmRlclNWR1RleHRQYXRoX2gKSW5kZXg6IHJlbmRlcmluZy9S
ZW5kZXJUZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSByZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAJKHJl
dmlzaW9uIDIxMTg2KQorKysgcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC04NDQsOCArODQ0LDcgQEAgdm9pZCBSZW5kZXJUZXh0OjpzZXRUZXh0SW50ZXJuYWwoUGFz
c1JlZgogICAgICAgICAgICAgLy8gVGhlbiwgaXQgd2lsbCBzdHJpcCBvZmYgYWxsIGxlYWRpbmcg
YW5kIHRyYWlsaW5nIHNwYWNlIGNoYXJhY3RlcnMuCiAgICAgICAgICAgICAvLyBUaGVuLCBhbGwg
Y29udGlndW91cyBzcGFjZSBjaGFyYWN0ZXJzIHdpbGwgYmUgY29uc29saWRhdGVkLiAgICAKIAot
ICAgICAgICAgICAgc3RhdGljIFN0cmluZ0ltcGwgZW1wdHkoIiIsIDApOwotICAgICAgICAgICAg
bV90ZXh0ID0gbV90ZXh0LT5yZXBsYWNlKCdcbicsICZlbXB0eSk7CisgICAgICAgICAgICBtX3Rl
eHQgPSBtX3RleHQtPnJlcGxhY2UoJ1xuJywgU3RyaW5nSW1wbDo6ZW1wdHkoKSk7CiAKICAgICAg
ICAgICAgIC8vIElmIHhtbDpzcGFjZT0iZGVmYXVsdCIgaXMgc2V0LCB3aGl0ZS1zcGFjZSBpcyBz
ZXQgdG8gIm5vd3JhcCIsIHdoaWNoIGhhbmRsZXMKICAgICAgICAgICAgIC8vIGxlYWRpbmcsIHRy
YWlsaW5nICYgY29udGlndW91cyBzcGFjZSBjaGFyYWN0ZXIgcmVtb3ZhbCBmb3IgdXMuCkluZGV4
OiByZW5kZXJpbmcvUm9vdElubGluZUJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHJlbmRlcmluZy9Sb290
SW5saW5lQm94LmgJKHJldmlzaW9uIDIxMTg2KQorKysgcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3gu
aAkod29ya2luZyBjb3B5KQpAQCAtNjMsNiArNjMsMTAgQEAgcHVibGljOgogCiAgICAgdmlydHVh
bCB2b2lkIHNldFZlcnRpY2FsU2VsZWN0aW9uUG9zaXRpb25zKGludCB0b3AsIGludCBib3R0b20p
OwogCisjaWYgRU5BQkxFKFNWRykgJiYgRU5BQkxFKFNWR19FWFBFUklNRU5UQUxfRkVBVFVSRVMp
CisgICAgdmlydHVhbCB2b2lkIGNvbXB1dGVQZXJDaGFyYWN0ZXJMYXlvdXRJbmZvcm1hdGlvbigp
IHsgfQorI2VuZGlmCisKICAgICBSZW5kZXJPYmplY3QqIGxpbmVCcmVha09iaigpIGNvbnN0IHsg
cmV0dXJuIG1fbGluZUJyZWFrT2JqOyB9CiAgICAgQmlkaVN0YXR1cyBsaW5lQnJlYWtCaWRpU3Rh
dHVzKCkgY29uc3QgeyAKICAgICAgICAgQmlkaVN0YXR1cyBzdGF0dXM7CkluZGV4OiByZW5kZXJp
bmcvU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mby5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcmVuZGVyaW5nL1NW
R0NoYXJhY3RlckxheW91dEluZm8uY3BwCShyZXZpc2lvbiAwKQorKysgcmVuZGVyaW5nL1NWR0No
YXJhY3RlckxheW91dEluZm8uY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ4OSBAQAorLyoK
KyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgcHJvamVjdC4KKyAqCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+Cisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICog
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwor
ICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0g
U3VpdGUgMzMwLAorICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShTVkcpICYmIEVOQUJMRShTVkdfRVhQRVJJ
TUVOVEFMX0ZFQVRVUkVTKQorI2luY2x1ZGUgIlNWR0NoYXJhY3RlckxheW91dEluZm8uaCIKKwor
I2luY2x1ZGUgIklubGluZUZsb3dCb3guaCIKKyNpbmNsdWRlICJJbmxpbmVUZXh0Qm94LmgiCisj
aW5jbHVkZSAiS0NhbnZhc1JlbmRlcmluZ1N0eWxlLmgiCisjaW5jbHVkZSAiU1ZHTGVuZ3RoTGlz
dC5oIgorI2luY2x1ZGUgIlNWR051bWJlckxpc3QuaCIKKyNpbmNsdWRlICJTVkdUZXh0UG9zaXRp
b25pbmdFbGVtZW50LmgiCisjaW5jbHVkZSAiUmVuZGVyU1ZHVGV4dFBhdGguaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCisvLyBIZWxwZXIgZnVuY3Rpb24KK3N0YXRpYyBmbG9hdCBjYWxjdWxh
dGVCYXNlbGluZVNoaWZ0KFJlbmRlck9iamVjdCogaXRlbSkKK3sKKyAgICBjb25zdCBGb250JiBm
b250ID0gaXRlbS0+c3R5bGUoKS0+Zm9udCgpOworICAgIGNvbnN0IFNWR1JlbmRlclN0eWxlKiBz
dmdTdHlsZSA9IGl0ZW0tPnN0eWxlKCktPnN2Z1N0eWxlKCk7CisKKyAgICBmbG9hdCBiYXNlbGlu
ZVNoaWZ0ID0gMC4wOworICAgIGlmIChzdmdTdHlsZS0+YmFzZWxpbmVTaGlmdCgpID09IEJTX0xF
TkdUSCkgeworICAgICAgICBDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlID0gc3RhdGljX2Nh
c3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPihzdmdTdHlsZS0+YmFzZWxpbmVTaGlmdFZhbHVlKCkpOwor
ICAgICAgICBiYXNlbGluZVNoaWZ0ID0gS1NWR1BhaW50ZXJGYWN0b3J5Ojpjc3NQcmltaXRpdmVU
b0xlbmd0aChpdGVtLCBwcmltaXRpdmUsIDAuMCk7CisKKyAgICAgICAgaWYgKHByaW1pdGl2ZS0+
cHJpbWl0aXZlVHlwZSgpID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSkKKyAg
ICAgICAgICAgIGJhc2VsaW5lU2hpZnQgPSBiYXNlbGluZVNoaWZ0IC8gMTAwLjAgKiBmb250LnBp
eGVsU2l6ZSgpOworICAgIH0gZWxzZSB7CisgICAgICAgIGZsb2F0IGJhc2VsaW5lQXNjZW50ID0g
Zm9udC5hc2NlbnQoKSArIGZvbnQuZGVzY2VudCgpOworCisgICAgICAgIHN3aXRjaCAoc3ZnU3R5
bGUtPmJhc2VsaW5lU2hpZnQoKSkgeworICAgICAgICBjYXNlIEJTX0JBU0VMSU5FOgorICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQlNfU1VCOgorICAgICAgICAgICAgYmFzZWxpbmVT
aGlmdCA9IC1iYXNlbGluZUFzY2VudCAvIDIuMDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjYXNlIEJTX1NVUEVSOgorICAgICAgICAgICAgYmFzZWxpbmVTaGlmdCA9IGJhc2VsaW5lQXNj
ZW50IC8gMi4wOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVy
biBiYXNlbGluZVNoaWZ0OworfQorCitTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjpTVkdDaGFyYWN0
ZXJMYXlvdXRJbmZvKCkKKyAgICA6IGN1cngoMC4wKQorICAgICwgY3VyeSgwLjApCisgICAgLCBk
eCgwLjApCisgICAgLCBkeSgwLjApCisgICAgLCBzaGlmdHgoMC4wKQorICAgICwgc2hpZnR5KDAu
MCkKKyAgICAsIHhTdGFja0NoYW5nZWQoZmFsc2UpCisgICAgLCB5U3RhY2tDaGFuZ2VkKGZhbHNl
KQorICAgICwgZHhTdGFja0NoYW5nZWQoZmFsc2UpCisgICAgLCBkeVN0YWNrQ2hhbmdlZChmYWxz
ZSkKKyAgICAsIGFuZ2xlU3RhY2tDaGFuZ2VkKGZhbHNlKQorICAgICwgYmFzZWxpbmVTaGlmdFN0
YWNrQ2hhbmdlZChmYWxzZSkKKyAgICAsIHBhdGhMYXlvdXQoZmFsc2UpCisgICAgLCBjdXJyZW50
T2Zmc2V0KDAuMCkKKyAgICAsIHN0YXJ0T2Zmc2V0KDAuMCkKKyAgICAsIGxheW91dFBhdGhMZW5n
dGgoMC4wKQoreworfQorCitib29sIFNWR0NoYXJhY3RlckxheW91dEluZm86OnhWYWx1ZUF2YWls
YWJsZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHhTdGFjay5pc0VtcHR5KCkgPyBmYWxzZSA6IHhT
dGFjay5sYXN0KCkucG9zaXRpb24oKSA8IHhTdGFjay5sYXN0KCkuc2l6ZSgpOworfQorCitib29s
IFNWR0NoYXJhY3RlckxheW91dEluZm86OnlWYWx1ZUF2YWlsYWJsZSgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIHlTdGFjay5pc0VtcHR5KCkgPyBmYWxzZSA6IHlTdGFjay5sYXN0KCkucG9zaXRpb24o
KSA8IHlTdGFjay5sYXN0KCkuc2l6ZSgpOworfQorCitib29sIFNWR0NoYXJhY3RlckxheW91dElu
Zm86OmR4VmFsdWVBdmFpbGFibGUoKSBjb25zdAoreworICAgIHJldHVybiBkeFN0YWNrLmlzRW1w
dHkoKSA/IGZhbHNlIDogZHhTdGFjay5sYXN0KCkucG9zaXRpb24oKSA8IGR4U3RhY2subGFzdCgp
LnNpemUoKTsKK30KKworYm9vbCBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjpkeVZhbHVlQXZhaWxh
YmxlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZHlTdGFjay5pc0VtcHR5KCkgPyBmYWxzZSA6IGR5
U3RhY2subGFzdCgpLnBvc2l0aW9uKCkgPCBkeVN0YWNrLmxhc3QoKS5zaXplKCk7Cit9CisKK2Jv
b2wgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6YW5nbGVWYWx1ZUF2YWlsYWJsZSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIGFuZ2xlU3RhY2suaXNFbXB0eSgpID8gZmFsc2UgOiBhbmdsZVN0YWNrLmxh
c3QoKS5wb3NpdGlvbigpIDwgYW5nbGVTdGFjay5sYXN0KCkuc2l6ZSgpOworfQorCitib29sIFNW
R0NoYXJhY3RlckxheW91dEluZm86OmJhc2VsaW5lU2hpZnRWYWx1ZUF2YWlsYWJsZSgpIGNvbnN0
Cit7CisgICAgcmV0dXJuICFiYXNlbGluZVNoaWZ0U3RhY2suaXNFbXB0eSgpOworfQorCitmbG9h
dCBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjp4VmFsdWVOZXh0KCkgY29uc3QKK3sKKyAgICBBU1NF
UlQoIXhTdGFjay5pc0VtcHR5KCkpOworICAgIHJldHVybiB4U3RhY2subGFzdCgpLnZhbHVlQXRD
dXJyZW50UG9zaXRpb24oKTsKK30KKworZmxvYXQgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6eVZh
bHVlTmV4dCgpIGNvbnN0Cit7CisgICAgQVNTRVJUKCF5U3RhY2suaXNFbXB0eSgpKTsKKyAgICBy
ZXR1cm4geVN0YWNrLmxhc3QoKS52YWx1ZUF0Q3VycmVudFBvc2l0aW9uKCk7Cit9CisKK2Zsb2F0
IFNWR0NoYXJhY3RlckxheW91dEluZm86OmR4VmFsdWVOZXh0KCkgY29uc3QKK3sKKyAgICBBU1NF
UlQoIWR4U3RhY2suaXNFbXB0eSgpKTsKKyAgICByZXR1cm4gZHhTdGFjay5sYXN0KCkudmFsdWVB
dEN1cnJlbnRQb3NpdGlvbigpOworfQorCitmbG9hdCBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjpk
eVZhbHVlTmV4dCgpIGNvbnN0Cit7CisgICAgQVNTRVJUKCFkeVN0YWNrLmlzRW1wdHkoKSk7Cisg
ICAgcmV0dXJuIGR5U3RhY2subGFzdCgpLnZhbHVlQXRDdXJyZW50UG9zaXRpb24oKTsKK30KKwor
ZmxvYXQgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6YW5nbGVWYWx1ZU5leHQoKSBjb25zdAorewor
ICAgIEFTU0VSVCghYW5nbGVTdGFjay5pc0VtcHR5KCkpOworICAgIHJldHVybiBhbmdsZVN0YWNr
Lmxhc3QoKS52YWx1ZUF0Q3VycmVudFBvc2l0aW9uKCk7Cit9CisKK2Zsb2F0IFNWR0NoYXJhY3Rl
ckxheW91dEluZm86OmJhc2VsaW5lU2hpZnRWYWx1ZU5leHQoKSBjb25zdAoreworICAgIEFTU0VS
VCghYmFzZWxpbmVTaGlmdFN0YWNrLmlzRW1wdHkoKSk7CisgICAgcmV0dXJuIGJhc2VsaW5lU2hp
ZnRTdGFjay5sYXN0KCk7Cit9CisKK3ZvaWQgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6cHJvY2Vz
c2VkU2luZ2xlQ2hhcmFjdGVyKCkKK3sKKyAgICB4U3RhY2tXYWxrKCk7CisgICAgeVN0YWNrV2Fs
aygpOworICAgIGR4U3RhY2tXYWxrKCk7CisgICAgZHlTdGFja1dhbGsoKTsKKyAgICBhbmdsZVN0
YWNrV2FsaygpOworICAgIGJhc2VsaW5lU2hpZnRTdGFja1dhbGsoKTsKK30KKwordm9pZCBTVkdD
aGFyYWN0ZXJMYXlvdXRJbmZvOjpwcm9jZXNzZWRDaHVuayhmbG9hdCBsYXN0U2hpZnRYLCBmbG9h
dCBsYXN0U2hpZnRZKQoreworICAgIC8vIGJhc2VsaW5lLXNoaWZ0IGRvZXNuJ3Qgc3BhbiBhY3Jv
c3MgYW5jZXN0b3JzLCB1bmxpa2UgZHgvZHkuCisgICAgY3VyeCArPSBsYXN0U2hpZnRYIC0gc2hp
ZnR4OworICAgIGN1cnkgKz0gbGFzdFNoaWZ0WSAtIHNoaWZ0eTsKKworICAgIGlmICh4U3RhY2tD
aGFuZ2VkKSB7CisgICAgICAgIEFTU0VSVCgheFN0YWNrLmlzRW1wdHkoKSk7CisgICAgICAgIHhT
dGFjay5yZW1vdmVMYXN0KCk7CisgICAgICAgIHhTdGFja0NoYW5nZWQgPSBmYWxzZTsKKyAgICB9
CisKKyAgICBpZiAoeVN0YWNrQ2hhbmdlZCkgeworICAgICAgICBBU1NFUlQoIXlTdGFjay5pc0Vt
cHR5KCkpOworICAgICAgICB5U3RhY2sucmVtb3ZlTGFzdCgpOworICAgICAgICB5U3RhY2tDaGFu
Z2VkID0gZmFsc2U7CisgICAgfQorCisgICAgaWYgKGR4U3RhY2tDaGFuZ2VkKSB7CisgICAgICAg
IEFTU0VSVCghZHhTdGFjay5pc0VtcHR5KCkpOworICAgICAgICBkeFN0YWNrLnJlbW92ZUxhc3Qo
KTsKKyAgICAgICAgZHhTdGFja0NoYW5nZWQgPSBmYWxzZTsKKyAgICB9CisKKyAgICBpZiAoZHlT
dGFja0NoYW5nZWQpIHsKKyAgICAgICAgQVNTRVJUKCFkeVN0YWNrLmlzRW1wdHkoKSk7CisgICAg
ICAgIGR5U3RhY2sucmVtb3ZlTGFzdCgpOworICAgICAgICBkeVN0YWNrQ2hhbmdlZCA9IGZhbHNl
OworICAgIH0KKworICAgIGlmIChhbmdsZVN0YWNrQ2hhbmdlZCkgeworICAgICAgICBBU1NFUlQo
IWFuZ2xlU3RhY2suaXNFbXB0eSgpKTsKKyAgICAgICAgYW5nbGVTdGFjay5yZW1vdmVMYXN0KCk7
CisgICAgICAgIGFuZ2xlU3RhY2tDaGFuZ2VkID0gZmFsc2U7CisgICAgfQorCisgICAgaWYgKGJh
c2VsaW5lU2hpZnRTdGFja0NoYW5nZWQpIHsKKyAgICAgICAgQVNTRVJUKCFiYXNlbGluZVNoaWZ0
U3RhY2suaXNFbXB0eSgpKTsKKyAgICAgICAgYmFzZWxpbmVTaGlmdFN0YWNrLnJlbW92ZUxhc3Qo
KTsKKyAgICAgICAgYmFzZWxpbmVTaGlmdFN0YWNrQ2hhbmdlZCA9IGZhbHNlOworICAgIH0KK30K
KworYm9vbCBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjpuZXh0UGF0aExheW91dFBvaW50QW5kQW5n
bGUoZmxvYXQmIHgsIGZsb2F0JiB5LCBmbG9hdCYgYW5nbGUsIGZsb2F0IGdseXBoQWR2YW5jZSwg
ZmxvYXQgbmV3T2Zmc2V0KQoreworICAgIGlmIChsYXlvdXRQYXRoTGVuZ3RoIDw9IDAuMCkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKG5ld09mZnNldCAhPSBGTFRfTUlOKQorICAg
ICAgICBjdXJyZW50T2Zmc2V0ID0gc3RhcnRPZmZzZXQgKyBuZXdPZmZzZXQ7CisKKyAgICBmbG9h
dCBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0ICsgZ2x5cGhBZHZhbmNlIC8gMi4wOworICAgIGN1cnJl
bnRPZmZzZXQgKz0gZ2x5cGhBZHZhbmNlOworCisgICAgaWYgKG9mZnNldCA8IDAuMCB8fCBvZmZz
ZXQgPiBsYXlvdXRQYXRoTGVuZ3RoKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBib29s
IG9rID0gZmFsc2U7IAorICAgIEZsb2F0UG9pbnQgcG9pbnQgPSBsYXlvdXRQYXRoLnBvaW50QXRM
ZW5ndGgob2Zmc2V0LCBvayk7CisgICAgQVNTRVJUKG9rKTsKKworICAgIHggPSBwb2ludC54KCk7
CisgICAgeSA9IHBvaW50LnkoKTsKKworICAgIGFuZ2xlID0gbGF5b3V0UGF0aC5ub3JtYWxBbmds
ZUF0TGVuZ3RoKG9mZnNldCwgb2spOworICAgIEFTU0VSVChvayk7CisKKyAgICAvLyBmcHJpbnRm
KHN0ZGVyciwgInQ6ICVmLCB4OiAlZiwgeTogJWYsIGFuZ2xlOiAlZiwgZ2x5cGhBZHZhbmNlOiAl
ZlxuIiwgY3VycmVudE9mZnNldCwgeCwgeSwgYW5nbGUsIGdseXBoQWR2YW5jZSk7CisgICAgcmV0
dXJuIHRydWU7Cit9CisKK2Jvb2wgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6aW5QYXRoTGF5b3V0
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gcGF0aExheW91dDsKK30KKwordm9pZCBTVkdDaGFyYWN0
ZXJMYXlvdXRJbmZvOjpzZXRJblBhdGhMYXlvdXQoYm9vbCB2YWx1ZSkKK3sKKyAgICBwYXRoTGF5
b3V0ID0gdmFsdWU7Cit9CisKK3ZvaWQgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6YWRkTGF5b3V0
SW5mb3JtYXRpb24oSW5saW5lRmxvd0JveCogZmxvd0JveCwgZmxvYXQgdGV4dEFuY2hvclN0YXJ0
T2Zmc2V0KQoreworICAgIGJvb2wgaXNJbml0aWFsTGF5b3V0ID0geFN0YWNrLmlzRW1wdHkoKSAm
JiB5U3RhY2suaXNFbXB0eSgpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAgICBkeFN0YWNr
LmlzRW1wdHkoKSAmJiBkeVN0YWNrLmlzRW1wdHkoKSAmJgorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYW5nbGVTdGFjay5pc0VtcHR5KCkgJiYgYmFzZWxpbmVTaGlmdFN0YWNrLmlzRW1wdHko
KSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VyeCA9PSAwLjAgJiYgY3VyeSA9PSAw
LjA7CisKKyAgICBSZW5kZXJTVkdUZXh0UGF0aCogdGV4dFBhdGggPSBzdGF0aWNfY2FzdDxSZW5k
ZXJTVkdUZXh0UGF0aCo+KGZsb3dCb3gtPm9iamVjdCgpKTsKKyAgICBQYXRoIHBhdGggPSB0ZXh0
UGF0aC0+bGF5b3V0UGF0aCgpOworICAgIGZsb2F0IGJhc2VsaW5lU2hpZnQgPSBjYWxjdWxhdGVC
YXNlbGluZVNoaWZ0KHRleHRQYXRoKTsKKworICAgIGxheW91dFBhdGggPSBwYXRoOworICAgIGxh
eW91dFBhdGhMZW5ndGggPSBwYXRoLmxlbmd0aCgpOworCisgICAgaWYgKGxheW91dFBhdGhMZW5n
dGggPD0gMC4wKQorICAgICAgICByZXR1cm47CisKKyAgICBzdGFydE9mZnNldCA9IHRleHRQYXRo
LT5zdGFydE9mZnNldCgpOworCisgICAgaWYgKHRleHRQYXRoLT5zdGFydE9mZnNldCgpID49IDAu
MCAmJiB0ZXh0UGF0aC0+c3RhcnRPZmZzZXQoKSA8PSAxLjApCisgICAgICAgIHN0YXJ0T2Zmc2V0
ICo9IGxheW91dFBhdGhMZW5ndGg7CisKKyAgICBzdGFydE9mZnNldCArPSB0ZXh0QW5jaG9yU3Rh
cnRPZmZzZXQ7CisgICAgY3VycmVudE9mZnNldCA9IHN0YXJ0T2Zmc2V0OworCisgICAgLy8gT25s
eSBiYXNlbGluZS1zaGlmdCBpcyBoYW5kbGVkIHRocm91Z2ggdGhlIG5vcm1hbCBsYXlvdXQgc3lz
dGVtCisgICAgYWRkU3RhY2tDb250ZW50KEJhc2VsaW5lU2hpZnRTdGFjaywgYmFzZWxpbmVTaGlm
dCk7CisKKyAgICBpZiAoaXNJbml0aWFsTGF5b3V0KSB7CisgICAgICAgIHhTdGFja0NoYW5nZWQg
PSBmYWxzZTsKKyAgICAgICAgeVN0YWNrQ2hhbmdlZCA9IGZhbHNlOworICAgICAgICBkeFN0YWNr
Q2hhbmdlZCA9IGZhbHNlOworICAgICAgICBkeVN0YWNrQ2hhbmdlZCA9IGZhbHNlOworICAgICAg
ICBhbmdsZVN0YWNrQ2hhbmdlZCA9IGZhbHNlOworICAgICAgICBiYXNlbGluZVNoaWZ0U3RhY2tD
aGFuZ2VkID0gZmFsc2U7CisgICAgfQorfQorCit2b2lkIFNWR0NoYXJhY3RlckxheW91dEluZm86
OmFkZExheW91dEluZm9ybWF0aW9uKFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQqIGVsZW1lbnQp
Cit7CisgICAgYm9vbCBpc0luaXRpYWxMYXlvdXQgPSB4U3RhY2suaXNFbXB0eSgpICYmIHlTdGFj
ay5pc0VtcHR5KCkgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGR4U3RhY2suaXNFbXB0
eSgpICYmIGR5U3RhY2suaXNFbXB0eSgpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAgICBh
bmdsZVN0YWNrLmlzRW1wdHkoKSAmJiBiYXNlbGluZVNoaWZ0U3RhY2suaXNFbXB0eSgpICYmCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJ4ID09IDAuMCAmJiBjdXJ5ID09IDAuMDsKKwor
ICAgIGZsb2F0IGJhc2VsaW5lU2hpZnQgPSBjYWxjdWxhdGVCYXNlbGluZVNoaWZ0KGVsZW1lbnQt
PnJlbmRlcmVyKCkpOworCisgICAgYWRkU3RhY2tDb250ZW50KFhTdGFjaywgZWxlbWVudC0+eCgp
KTsKKyAgICBhZGRTdGFja0NvbnRlbnQoWVN0YWNrLCBlbGVtZW50LT55KCkpOworICAgIGFkZFN0
YWNrQ29udGVudChEeFN0YWNrLCBlbGVtZW50LT5keCgpKTsKKyAgICBhZGRTdGFja0NvbnRlbnQo
RHlTdGFjaywgZWxlbWVudC0+ZHkoKSk7CisgICAgYWRkU3RhY2tDb250ZW50KEFuZ2xlU3RhY2ss
IGVsZW1lbnQtPnJvdGF0ZSgpKTsKKyAgICBhZGRTdGFja0NvbnRlbnQoQmFzZWxpbmVTaGlmdFN0
YWNrLCBiYXNlbGluZVNoaWZ0KTsKKworICAgIGlmIChpc0luaXRpYWxMYXlvdXQpIHsKKyAgICAg
ICAgeFN0YWNrQ2hhbmdlZCA9IGZhbHNlOworICAgICAgICB5U3RhY2tDaGFuZ2VkID0gZmFsc2U7
CisgICAgICAgIGR4U3RhY2tDaGFuZ2VkID0gZmFsc2U7CisgICAgICAgIGR5U3RhY2tDaGFuZ2Vk
ID0gZmFsc2U7CisgICAgICAgIGFuZ2xlU3RhY2tDaGFuZ2VkID0gZmFsc2U7CisgICAgICAgIGJh
c2VsaW5lU2hpZnRTdGFja0NoYW5nZWQgPSBmYWxzZTsKKyAgICB9Cit9CisKK3ZvaWQgU1ZHQ2hh
cmFjdGVyTGF5b3V0SW5mbzo6YWRkU3RhY2tDb250ZW50KFN0YWNrVHlwZSB0eXBlLCBTVkdOdW1i
ZXJMaXN0KiBsaXN0KQoreworICAgIHVuc2lnbmVkIGxlbmd0aCA9IGxpc3QtPm51bWJlck9mSXRl
bXMoKTsKKyAgICBpZiAoIWxlbmd0aCkKKyAgICAgICAgcmV0dXJuOworCisgICAgUG9zaXRpb25l
ZEZsb2F0VmVjdG9yIG5ld0xheW91dEluZm87CisKKyAgICAvLyBUT0RPOiBDb252ZXJ0IG1vcmUg
ZWZmaWNpZW50bHkhCisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7CisgICAgICAgIGZsb2F0IHZhbHVlID0gbGlzdC0+
Z2V0SXRlbShpLCBlYyk7CisgICAgICAgIEFTU0VSVChlYyA9PSAwKTsKKworICAgICAgICBuZXdM
YXlvdXRJbmZvLmFwcGVuZCh2YWx1ZSk7CisgICAgfQorCisgICAgYWRkU3RhY2tDb250ZW50KHR5
cGUsIG5ld0xheW91dEluZm8pOworfQorCit2b2lkIFNWR0NoYXJhY3RlckxheW91dEluZm86OmFk
ZFN0YWNrQ29udGVudChTdGFja1R5cGUgdHlwZSwgU1ZHTGVuZ3RoTGlzdCogbGlzdCkKK3sKKyAg
ICB1bnNpZ25lZCBsZW5ndGggPSBsaXN0LT5udW1iZXJPZkl0ZW1zKCk7CisgICAgaWYgKCFsZW5n
dGgpCisgICAgICAgIHJldHVybjsKKworICAgIFBvc2l0aW9uZWRGbG9hdFZlY3RvciBuZXdMYXlv
dXRJbmZvOworCisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7CisgICAgICAgIGZsb2F0IHZhbHVlID0gbGlzdC0+Z2V0
SXRlbShpLCBlYykudmFsdWUoKTsKKyAgICAgICAgQVNTRVJUKGVjID09IDApOworCisgICAgICAg
IG5ld0xheW91dEluZm8uYXBwZW5kKHZhbHVlKTsKKyAgICB9CisKKyAgICBhZGRTdGFja0NvbnRl
bnQodHlwZSwgbmV3TGF5b3V0SW5mbyk7Cit9CisKK3ZvaWQgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5m
bzo6YWRkU3RhY2tDb250ZW50KFN0YWNrVHlwZSB0eXBlLCBjb25zdCBQb3NpdGlvbmVkRmxvYXRW
ZWN0b3ImIGxpc3QpCit7CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBYU3RhY2s6Cisg
ICAgICAgIHhTdGFja0NoYW5nZWQgPSB0cnVlOworICAgICAgICB4U3RhY2suYXBwZW5kKGxpc3Qp
OworICAgICAgICBicmVhazsKKyAgICBjYXNlIFlTdGFjazoKKyAgICAgICAgeVN0YWNrQ2hhbmdl
ZCA9IHRydWU7CisgICAgICAgIHlTdGFjay5hcHBlbmQobGlzdCk7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgRHhTdGFjazoKKyAgICAgICAgZHhTdGFja0NoYW5nZWQgPSB0cnVlOworICAgICAg
ICBkeFN0YWNrLmFwcGVuZChsaXN0KTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBEeVN0YWNr
OgorICAgICAgICBkeVN0YWNrQ2hhbmdlZCA9IHRydWU7CisgICAgICAgIGR5U3RhY2suYXBwZW5k
KGxpc3QpOworICAgICAgICBicmVhazsKKyAgIGNhc2UgQW5nbGVTdGFjazoKKyAgICAgICAgYW5n
bGVTdGFja0NoYW5nZWQgPSB0cnVlOworICAgICAgICBhbmdsZVN0YWNrLmFwcGVuZChsaXN0KTsK
KyAgICAgICAgYnJlYWs7IAorICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgfQorfQorCit2b2lkIFNWR0NoYXJhY3RlckxheW91dEluZm86OmFkZFN0YWNrQ29u
dGVudChTdGFja1R5cGUgdHlwZSwgZmxvYXQgdmFsdWUpCit7CisgICAgaWYgKHZhbHVlID09IDAu
MCkKKyAgICAgICAgcmV0dXJuOworCisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBCYXNl
bGluZVNoaWZ0U3RhY2s6CisgICAgICAgIGJhc2VsaW5lU2hpZnRTdGFja0NoYW5nZWQgPSB0cnVl
OworICAgICAgICBiYXNlbGluZVNoaWZ0U3RhY2suYXBwZW5kKHZhbHVlKTsKKyAgICAgICAgYnJl
YWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgfQor
fQorCit2b2lkIFNWR0NoYXJhY3RlckxheW91dEluZm86OnhTdGFja1dhbGsoKQoreworICAgIHVu
c2lnbmVkIGkgPSAxOworCisgICAgd2hpbGUgKCF4U3RhY2suaXNFbXB0eSgpKSB7CisgICAgICAg
IFBvc2l0aW9uZWRGbG9hdFZlY3RvciYgY3VyID0geFN0YWNrLmxhc3QoKTsKKyAgICAgICAgaWYg
KGkgKyBjdXIucG9zaXRpb24oKSA8IGN1ci5zaXplKCkpIHsKKyAgICAgICAgICAgIGN1ci5hZHZh
bmNlKGkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBpICs9IGN1
ci5wb3NpdGlvbigpOworICAgICAgICB4U3RhY2sucmVtb3ZlTGFzdCgpOworICAgICAgICB4U3Rh
Y2tDaGFuZ2VkID0gZmFsc2U7CisgICAgfQorfQorCit2b2lkIFNWR0NoYXJhY3RlckxheW91dElu
Zm86OnlTdGFja1dhbGsoKQoreworICAgIHVuc2lnbmVkIGkgPSAxOworCisgICAgd2hpbGUgKCF5
U3RhY2suaXNFbXB0eSgpKSB7CisgICAgICAgIFBvc2l0aW9uZWRGbG9hdFZlY3RvciYgY3VyID0g
eVN0YWNrLmxhc3QoKTsKKyAgICAgICAgaWYgKGkgKyBjdXIucG9zaXRpb24oKSA8IGN1ci5zaXpl
KCkpIHsKKyAgICAgICAgICAgIGN1ci5hZHZhbmNlKGkpOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIH0KKworICAgICAgICBpICs9IGN1ci5wb3NpdGlvbigpOworICAgICAgICB5U3RhY2su
cmVtb3ZlTGFzdCgpOworICAgICAgICB5U3RhY2tDaGFuZ2VkID0gZmFsc2U7CisgICAgfQorfQor
Cit2b2lkIFNWR0NoYXJhY3RlckxheW91dEluZm86OmR4U3RhY2tXYWxrKCkKK3sKKyAgICB1bnNp
Z25lZCBpID0gMTsKKworICAgIHdoaWxlICghZHhTdGFjay5pc0VtcHR5KCkpIHsKKyAgICAgICAg
UG9zaXRpb25lZEZsb2F0VmVjdG9yJiBjdXIgPSBkeFN0YWNrLmxhc3QoKTsKKyAgICAgICAgaWYg
KGkgKyBjdXIucG9zaXRpb24oKSA8IGN1ci5zaXplKCkpIHsKKyAgICAgICAgICAgIGN1ci5hZHZh
bmNlKGkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBpICs9IGN1
ci5wb3NpdGlvbigpOworICAgICAgICBkeFN0YWNrLnJlbW92ZUxhc3QoKTsKKyAgICAgICAgZHhT
dGFja0NoYW5nZWQgPSBmYWxzZTsKKyAgICB9Cit9CisKK3ZvaWQgU1ZHQ2hhcmFjdGVyTGF5b3V0
SW5mbzo6ZHlTdGFja1dhbGsoKQoreworICAgIHVuc2lnbmVkIGkgPSAxOworCisgICAgd2hpbGUg
KCFkeVN0YWNrLmlzRW1wdHkoKSkgeworICAgICAgICBQb3NpdGlvbmVkRmxvYXRWZWN0b3ImIGN1
ciA9IGR5U3RhY2subGFzdCgpOworICAgICAgICBpZiAoaSArIGN1ci5wb3NpdGlvbigpIDwgY3Vy
LnNpemUoKSkgeworICAgICAgICAgICAgY3VyLmFkdmFuY2UoaSk7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgfQorCisgICAgICAgIGkgKz0gY3VyLnBvc2l0aW9uKCk7CisgICAgICAgIGR5
U3RhY2sucmVtb3ZlTGFzdCgpOworICAgICAgICBkeVN0YWNrQ2hhbmdlZCA9IGZhbHNlOworICAg
IH0KK30KKwordm9pZCBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjphbmdsZVN0YWNrV2FsaygpCit7
CisgICAgdW5zaWduZWQgaSA9IDE7CisKKyAgICB3aGlsZSAoIWFuZ2xlU3RhY2suaXNFbXB0eSgp
KSB7CisgICAgICAgIFBvc2l0aW9uZWRGbG9hdFZlY3RvciYgY3VyID0gYW5nbGVTdGFjay5sYXN0
KCk7CisgICAgICAgIGlmIChpICsgY3VyLnBvc2l0aW9uKCkgPCBjdXIuc2l6ZSgpKSB7CisgICAg
ICAgICAgICBjdXIuYWR2YW5jZShpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisK
KyAgICAgICAgaSArPSBjdXIucG9zaXRpb24oKTsKKyAgICAgICAgYW5nbGVTdGFjay5yZW1vdmVM
YXN0KCk7CisgICAgICAgIGFuZ2xlU3RhY2tDaGFuZ2VkID0gZmFsc2U7CisgICAgfQorfQorCit2
b2lkIFNWR0NoYXJhY3RlckxheW91dEluZm86OmJhc2VsaW5lU2hpZnRTdGFja1dhbGsoKQorewor
ICAgIGlmICghYmFzZWxpbmVTaGlmdFN0YWNrLmlzRW1wdHkoKSkgeworICAgICAgICBiYXNlbGlu
ZVNoaWZ0U3RhY2sucmVtb3ZlTGFzdCgpOworICAgICAgICBiYXNlbGluZVNoaWZ0U3RhY2tDaGFu
Z2VkID0gZmFsc2U7CisgICAgfQorfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoU1ZHKQpJbmRleDogcmVuZGVyaW5nL1NWR0NoYXJhY3RlckxheW91dEluZm8u
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSByZW5kZXJpbmcvU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mby5oCShyZXZp
c2lvbiAwKQorKysgcmVuZGVyaW5nL1NWR0NoYXJhY3RlckxheW91dEluZm8uaAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwyMTYgQEAKKy8qCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2Vi
S2l0IHByb2plY3QuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA3IE5pa29sYXMgWmltbWVybWFu
biA8emltbWVybWFubkBrZGUub3JnPgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKKyAqIEJvc3RvbiwgTUEgMDIxMTEt
MTMwNywgVVNBLgorICoKKyAqLworCisjaWZuZGVmIFNWR0NoYXJhY3RlckxheW91dEluZm9faAor
I2RlZmluZSBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvX2gKKworI2lmIEVOQUJMRShTVkcpICYmIEVO
QUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKQorCisjaW5jbHVkZSA8d3RmL0hhc2hTZXQu
aD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4K
KworI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgorI2luY2x1ZGUgIlNWR1JlbmRlclN0eWxl
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSW5saW5lQm94OworY2xhc3MgSW5s
aW5lRmxvd0JveDsKK2NsYXNzIFNWR0xlbmd0aExpc3Q7CitjbGFzcyBTVkdOdW1iZXJMaXN0Owor
Y2xhc3MgU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudDsKKwordGVtcGxhdGU8Y2xhc3MgVHlwZT4K
K2NsYXNzIFBvc2l0aW9uZWRWZWN0b3IgOiBwdWJsaWMgVmVjdG9yPFR5cGU+Cit7CitwdWJsaWM6
CisgICAgUG9zaXRpb25lZFZlY3RvcjxUeXBlPigpCisgICAgICAgIDogbV9wb3NpdGlvbigwKQor
ICAgIHsKKyAgICB9CisKKyAgICB1bnNpZ25lZCBwb3NpdGlvbigpIGNvbnN0CisgICAgeworICAg
ICAgICByZXR1cm4gbV9wb3NpdGlvbjsKKyAgICB9CisKKyAgICB2b2lkIGFkdmFuY2UodW5zaWdu
ZWQgcG9zaXRpb24pCisgICAgeworICAgICAgICBtX3Bvc2l0aW9uICs9IHBvc2l0aW9uOworICAg
ICAgICBBU1NFUlQobV9wb3NpdGlvbiA8IFZlY3RvcjxUeXBlPjo6c2l6ZSgpKTsKKyAgICB9CisK
KyAgICBUeXBlIHZhbHVlQXRDdXJyZW50UG9zaXRpb24oKSBjb25zdAorICAgIHsKKyAgICAgICAg
QVNTRVJUKG1fcG9zaXRpb24gPCBWZWN0b3I8VHlwZT46OnNpemUoKSk7CisgICAgICAgIHJldHVy
biBWZWN0b3I8VHlwZT46OmF0KG1fcG9zaXRpb24pOworICAgIH0KKworcHJpdmF0ZToKKyAgICB1
bnNpZ25lZCBtX3Bvc2l0aW9uOworfTsKKworY2xhc3MgUG9zaXRpb25lZEZsb2F0VmVjdG9yIDog
cHVibGljIFBvc2l0aW9uZWRWZWN0b3I8ZmxvYXQ+IHsgfTsKKworc3RydWN0IFNWR0NoYXJhY3Rl
ckxheW91dEluZm8geworICAgIFNWR0NoYXJhY3RlckxheW91dEluZm8oKTsKKworICAgIGVudW0g
U3RhY2tUeXBlIHsgWFN0YWNrLCBZU3RhY2ssIER4U3RhY2ssIER5U3RhY2ssIEFuZ2xlU3RhY2ss
IEJhc2VsaW5lU2hpZnRTdGFjayB9OworCisgICAgYm9vbCB4VmFsdWVBdmFpbGFibGUoKSBjb25z
dDsKKyAgICBib29sIHlWYWx1ZUF2YWlsYWJsZSgpIGNvbnN0OworICAgIGJvb2wgZHhWYWx1ZUF2
YWlsYWJsZSgpIGNvbnN0OworICAgIGJvb2wgZHlWYWx1ZUF2YWlsYWJsZSgpIGNvbnN0OworICAg
IGJvb2wgYW5nbGVWYWx1ZUF2YWlsYWJsZSgpIGNvbnN0OworICAgIGJvb2wgYmFzZWxpbmVTaGlm
dFZhbHVlQXZhaWxhYmxlKCkgY29uc3Q7CisKKyAgICBmbG9hdCB4VmFsdWVOZXh0KCkgY29uc3Q7
CisgICAgZmxvYXQgeVZhbHVlTmV4dCgpIGNvbnN0OworICAgIGZsb2F0IGR4VmFsdWVOZXh0KCkg
Y29uc3Q7CisgICAgZmxvYXQgZHlWYWx1ZU5leHQoKSBjb25zdDsKKyAgICBmbG9hdCBhbmdsZVZh
bHVlTmV4dCgpIGNvbnN0OworICAgIGZsb2F0IGJhc2VsaW5lU2hpZnRWYWx1ZU5leHQoKSBjb25z
dDsKKworICAgIHZvaWQgcHJvY2Vzc2VkQ2h1bmsoZmxvYXQgbGFzdFNoaWZ0WCwgZmxvYXQgbGFz
dFNoaWZ0WSk7CisgICAgdm9pZCBwcm9jZXNzZWRTaW5nbGVDaGFyYWN0ZXIoKTsKKworICAgIGJv
b2wgbmV4dFBhdGhMYXlvdXRQb2ludEFuZEFuZ2xlKGZsb2F0JiB4LCBmbG9hdCYgeSwgZmxvYXQm
IGFuZ2xlLCBmbG9hdCBnbHlwaEFkdmFuY2UsIGZsb2F0IG5ld09mZnNldCk7CisKKyAgICAvLyBV
c2VkIGZvciB0ZXh0LW9uLXBhdGguCisgICAgdm9pZCBhZGRMYXlvdXRJbmZvcm1hdGlvbihJbmxp
bmVGbG93Qm94KiwgZmxvYXQgdGV4dEFuY2hvck9mZnNldCA9IDAuMCk7CisKKyAgICBib29sIGlu
UGF0aExheW91dCgpIGNvbnN0OworICAgIHZvaWQgc2V0SW5QYXRoTGF5b3V0KGJvb2wgdmFsdWUp
OworCisgICAgLy8gVXNlZCBmb3IgYW55dGhpbmcgZWxzZS4KKyAgICB2b2lkIGFkZExheW91dElu
Zm9ybWF0aW9uKFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQqKTsKKworICAgIC8vIEdsb2JhbCBw
b3NpdGlvbgorICAgIGZsb2F0IGN1cng7CisgICAgZmxvYXQgY3VyeTsKKworICAgIC8vIEFjY3Vt
dWxhdGVkIGR4L2R5IHZhbHVlcworICAgIGZsb2F0IGR4OworICAgIGZsb2F0IGR5OworCisgICAg
Ly8gQWNjdW11bGF0ZWQgYXBwbGllZCBzaGlmdCB2YWx1ZXMKKyAgICBmbG9hdCBzaGlmdHg7Cisg
ICAgZmxvYXQgc2hpZnR5OworCitwcml2YXRlOgorICAgIC8vIFVzZWQgZm9yIGJhc2VsaW5lLXNo
aWZ0LgorICAgIHZvaWQgYWRkU3RhY2tDb250ZW50KFN0YWNrVHlwZSwgZmxvYXQpOworCisgICAg
Ly8gVXNlZCBmb3IgYW5nbGUuCisgICAgdm9pZCBhZGRTdGFja0NvbnRlbnQoU3RhY2tUeXBlLCBT
VkdOdW1iZXJMaXN0Kik7CisKKyAgICAvLyBVc2VkIGZvciB4L3kvZHgvZHkuICAgIAorICAgIHZv
aWQgYWRkU3RhY2tDb250ZW50KFN0YWNrVHlwZSwgU1ZHTGVuZ3RoTGlzdCopOworCisgICAgdm9p
ZCBhZGRTdGFja0NvbnRlbnQoU3RhY2tUeXBlLCBjb25zdCBQb3NpdGlvbmVkRmxvYXRWZWN0b3Im
KTsKKworICAgIHZvaWQgeFN0YWNrV2FsaygpOworICAgIHZvaWQgeVN0YWNrV2FsaygpOworICAg
IHZvaWQgZHhTdGFja1dhbGsoKTsKKyAgICB2b2lkIGR5U3RhY2tXYWxrKCk7CisgICAgdm9pZCBh
bmdsZVN0YWNrV2FsaygpOworICAgIHZvaWQgYmFzZWxpbmVTaGlmdFN0YWNrV2FsaygpOworCitw
cml2YXRlOgorICAgIGJvb2wgeFN0YWNrQ2hhbmdlZCA6IDE7CisgICAgYm9vbCB5U3RhY2tDaGFu
Z2VkIDogMTsKKyAgICBib29sIGR4U3RhY2tDaGFuZ2VkIDogMTsKKyAgICBib29sIGR5U3RhY2tD
aGFuZ2VkIDogMTsKKyAgICBib29sIGFuZ2xlU3RhY2tDaGFuZ2VkIDogMTsKKyAgICBib29sIGJh
c2VsaW5lU2hpZnRTdGFja0NoYW5nZWQgOiAxOworCisgICAgLy8gdGV4dCBvbiBwYXRoIGxheW91
dAorICAgIGJvb2wgcGF0aExheW91dCA6IDE7CisgICAgZmxvYXQgY3VycmVudE9mZnNldDsKKyAg
ICBmbG9hdCBzdGFydE9mZnNldDsKKyAgICBmbG9hdCBsYXlvdXRQYXRoTGVuZ3RoOworICAgIFBh
dGggbGF5b3V0UGF0aDsKKworICAgIFZlY3RvcjxQb3NpdGlvbmVkRmxvYXRWZWN0b3I+IHhTdGFj
azsKKyAgICBWZWN0b3I8UG9zaXRpb25lZEZsb2F0VmVjdG9yPiB5U3RhY2s7CisgICAgVmVjdG9y
PFBvc2l0aW9uZWRGbG9hdFZlY3Rvcj4gZHhTdGFjazsKKyAgICBWZWN0b3I8UG9zaXRpb25lZEZs
b2F0VmVjdG9yPiBkeVN0YWNrOworICAgIFZlY3RvcjxQb3NpdGlvbmVkRmxvYXRWZWN0b3I+IGFu
Z2xlU3RhY2s7CisgICAgVmVjdG9yPGZsb2F0PiBiYXNlbGluZVNoaWZ0U3RhY2s7Cit9OworCitz
dHJ1Y3QgU1ZHQ2hhciB7CisgICAgZmxvYXQgeDsKKyAgICBmbG9hdCB5OworCisgICAgQWZmaW5l
VHJhbnNmb3JtIHRyYW5zZm9ybTsKKworICAgIC8vIERldGVybWluZXMgd2hldGVyIHRoaXMgY2hh
ciBpcyB2aXNpYmxlIChpZS4gZmFsc2UgZm9yIGNoYXJzICJvZmYiIHRoZSB0ZXh0IGxheW91dCBw
YXRoKQorICAgIGJvb2wgdmlzaWJsZSA6IDE7CisKKyAgICAvLyBEZXRlcm1pbmVzIHdoZXRlciB0
aGlzIGNoYXIgbmVlZHMgdG8gYmUgZHJhd24gc2VwZXJhdGVkCisgICAgYm9vbCBkcmF3blNlcGVy
YXRlZCA6IDE7CisKKyAgICAvLyBEZXRlcm1pbmVzIHdoZXRlciB0aGlzIGNoYXIgc3RhcnRzIGEg
bmV3IGNodW5rCisgICAgYm9vbCBuZXdUZXh0Q2h1bmsgOiAxOworfTsKKworc3RydWN0IFNWR1Rl
eHRDaHVuayB7CisgICAgU1ZHVGV4dENodW5rKCkKKyAgICAgICAgOiBhbmNob3IoVEFfU1RBUlQp
CisgICAgICAgICwgaXNWZXJ0aWNhbFRleHQoZmFsc2UpCisgICAgICAgICwgbGFzdEdseXBoV2lk
dGgoMC4wKQorICAgICAgICAsIGxhc3RHbHlwaEhlaWdodCgwLjApCisgICAgeyB9CisKKyAgICBF
VGV4dEFuY2hvciBhbmNob3I7CisgICAgYm9vbCBpc1ZlcnRpY2FsVGV4dCA6IDE7CisKKyAgICBm
bG9hdCBsYXN0R2x5cGhXaWR0aDsKKyAgICBmbG9hdCBsYXN0R2x5cGhIZWlnaHQ7CisKKyAgICBW
ZWN0b3I8U1ZHQ2hhcj46Oml0ZXJhdG9yIHN0YXJ0OworICAgIFZlY3RvcjxTVkdDaGFyPjo6aXRl
cmF0b3IgZW5kOworCisgICAgLy8gQ29udGFpbnMgYWxsIGJveGVzIHRoaXMgY2h1bmsgc3BhbnMu
CisgICAgSGFzaFNldDxJbmxpbmVCb3gqPiBib3hlczsKK307CisKK3N0cnVjdCBTVkdUZXh0Q2h1
bmtMYXlvdXRJbmZvIHsKKyAgICBTVkdUZXh0Q2h1bmtMYXlvdXRJbmZvKCkKKyAgICAgICAgOiBh
c3NpZ25OZXdBbmNob3IodHJ1ZSkKKyAgICAgICAgLCBhZHZhbmNlT25seShmYWxzZSkKKyAgICB7
CisgICAgfQorCisgICAgYm9vbCBhc3NpZ25OZXdBbmNob3IgOiAxOworICAgIGJvb2wgYWR2YW5j
ZU9ubHkgOiAxOworICAgIFNWR1RleHRDaHVuayBjaHVuazsKKworICAgIFZlY3RvcjxTVkdDaGFy
Pjo6aXRlcmF0b3IgaXQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoU1ZHKQorI2VuZGlmIC8vIFNWR0NoYXJhY3RlckxheW91dEluZm9faApJbmRleDog
cmVuZGVyaW5nL1NWR0lubGluZUZsb3dCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHJlbmRlcmluZy9T
VkdJbmxpbmVGbG93Qm94LmNwcAkocmV2aXNpb24gMjExODYpCisrKyByZW5kZXJpbmcvU1ZHSW5s
aW5lRmxvd0JveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMsNiArMyw3IEBACiAgKgogICogQ29w
eXJpZ2h0IChDKSAyMDA2IE9saXZlciBIdW50IDxvamgxNkBzdHVkZW50LmNhbnRlcmJ1cnkuYWMu
bno+CiAgKiAgICAgICAgICAgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIgSW5jLgorICogICAgICAg
ICAgIChDKSAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgogICoK
ICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljCkBAIC0yNiw2ICsyNyw3IEBACiAjaWYgRU5BQkxFKFNWRykKICNpbmNs
dWRlICJTVkdJbmxpbmVGbG93Qm94LmgiCiAKKyNpZiAhRU5BQkxFKFNWR19FWFBFUklNRU5UQUxf
RkVBVFVSRVMpCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSW5saW5l
VGV4dEJveC5oIgogI2luY2x1ZGUgIktDYW52YXNSZW5kZXJpbmdTdHlsZS5oIgpAQCAtNDIsMTAg
KzQ0LDMwIEBACiB1c2luZyBzdGQ6Om1pbjsKIHVzaW5nIHN0ZDo6bWF4OwogCisjZW5kaWYKKwog
bmFtZXNwYWNlIFdlYkNvcmUgeworI2lmIEVOQUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRVUkVT
KQordm9pZCBTVkdJbmxpbmVGbG93Qm94OjpwYWludChSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYg
cGFpbnRJbmZvLCBpbnQgdHgsIGludCB0eSkKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
K30KKyAgICAKK2ludCBTVkdJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVzSG9yaXpvbnRhbGx5KGlu
dCB4LCBpbnQmIGxlZnRQb3NpdGlvbiwgaW50JiByaWdodFBvc2l0aW9uLCBib29sJiBuZWVkc1dv
cmRTcGFjaW5nKQoreworICAgIC8vIG5vLW9wCisgICAgcmV0dXJuIDA7Cit9CisgICAgCit2b2lk
IFNWR0lubGluZUZsb3dCb3g6OnZlcnRpY2FsbHlBbGlnbkJveGVzKGludCYgaGVpZ2h0T2ZCbG9j
aykKK3sKKyAgICAvLyBuby1vcAorfQorICAgIAorI2Vsc2UKIAogdXNpbmcgbmFtZXNwYWNlIFNW
R05hbWVzOwotCisgICAgCiB2b2lkIFNWR0lubGluZUZsb3dCb3g6OnBhaW50KFJlbmRlck9iamVj
dDo6UGFpbnRJbmZvJiBwYWludEluZm8sIGludCB0eCwgaW50IHR5KQogewogICAgIHBhaW50U1ZH
SW5saW5lRmxvdyh0aGlzLCBvYmplY3QoKSwgcGFpbnRJbmZvLCB0eCwgdHkpOwpAQCAtMzAzLDYg
KzMyNSw3IEBAIHZvaWQgcGxhY2VTVkdGbG93VmVydGljYWxseShJbmxpbmVGbG93Qm8KICAgICBm
bG93LT5zZXRWZXJ0aWNhbE92ZXJmbG93UG9zaXRpb25zKHRvcCwgYm90dG9tKTsKICAgICBmbG93
LT5zZXRWZXJ0aWNhbFNlbGVjdGlvblBvc2l0aW9ucyh0b3AsIGJvdHRvbSk7CiB9CisjZW5kaWYK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCkluZGV4OiByZW5kZXJpbmcvU1ZHSW5saW5lRmxv
d0JveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIHJlbmRlcmluZy9TVkdJbmxpbmVGbG93Qm94LmgJKHJldmlz
aW9uIDIxMTg2KQorKysgcmVuZGVyaW5nL1NWR0lubGluZUZsb3dCb3guaAkod29ya2luZyBjb3B5
KQpAQCAtMzAsOSArMzAsMTEgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisjaWYgIUVOQUJM
RShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKQogdm9pZCBwYWludFNWR0lubGluZUZsb3coSW5s
aW5lRmxvd0JveCosIFJlbmRlck9iamVjdCosIFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwgaW50
IHR4LCBpbnQgdHkpOwogaW50IHBsYWNlU1ZHRmxvd0hvcml6b250YWxseShJbmxpbmVGbG93Qm94
KiwgaW50IHgsIGludCYgbGVmdFBvc2l0aW9uLCBpbnQmIHJpZ2h0UG9zaXRpb24sIGJvb2wmIG5l
ZWRzV29yZFNwYWNpbmcpOwogdm9pZCBwbGFjZVNWR0Zsb3dWZXJ0aWNhbGx5KElubGluZUZsb3dC
b3gqLCBpbnQmIGhlaWdodE9mQmxvY2spOworI2VuZGlmCiAKIGNsYXNzIFNWR0lubGluZUZsb3dC
b3ggOiBwdWJsaWMgSW5saW5lRmxvd0JveCB7CiBwdWJsaWM6CkluZGV4OiByZW5kZXJpbmcvU1ZH
Um9vdElubGluZUJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcmVuZGVyaW5nL1NWR1Jvb3RJbmxpbmVC
b3guY3BwCShyZXZpc2lvbiAyMTE4NikKKysrIHJlbmRlcmluZy9TVkdSb290SW5saW5lQm94LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMyw2ICszLDcgQEAKICAqCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MDYgT2xpdmVyIEh1bnQgPG9qaDE2QHN0dWRlbnQuY2FudGVyYnVyeS5hYy5uej4KICAqICAgICAg
ICAgICAoQykgMjAwNiBBcHBsZSBDb21wdXRlciBJbmMuCisgKiAgICAgICAgICAgKEMpIDIwMDcg
Tmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgKgogICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKQEAgLTI0LDEzICsyNSwyNSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogCiAjaWYgRU5BQkxF
KFNWRykKLQogI2luY2x1ZGUgIlNWR1Jvb3RJbmxpbmVCb3guaCIKIAorI2luY2x1ZGUgIkZyYW1l
LmgiCisjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCisjaW5jbHVkZSAiSW5saW5lVGV4dEJv
eC5oIgorI2luY2x1ZGUgIktDYW52YXNSZW5kZXJpbmdTdHlsZS5oIgorI2luY2x1ZGUgIlJhbmdl
LmgiCiAjaW5jbHVkZSAiU1ZHSW5saW5lRmxvd0JveC5oIgorI2luY2x1ZGUgIlNWR1BhaW50U2Vy
dmVyLmgiCisjaW5jbHVkZSAiU1ZHUmVzb3VyY2VDbGlwcGVyLmgiCisjaW5jbHVkZSAiU1ZHUmVz
b3VyY2VGaWx0ZXIuaCIKKyNpbmNsdWRlICJTVkdSZXNvdXJjZU1hc2tlci5oIgorI2luY2x1ZGUg
IlNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdVUklSZWZlcmVuY2Uu
aCIKKyNpbmNsdWRlICJUZXh0U3R5bGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisjaWYg
IUVOQUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKQogdm9pZCBTVkdSb290SW5saW5lQm94
OjpwYWludChSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYgcGFpbnRJbmZvLCBpbnQgcGFyZW50WCwg
aW50IHBhcmVudFkpCiB7CiAgICAgcGFpbnRTVkdJbmxpbmVGbG93KHRoaXMsIG9iamVjdCgpLCBw
YWludEluZm8sIHBhcmVudFgsIHBhcmVudFkpOwpAQCAtNDksNiArNjIsMTAwNCBAQCB2b2lkIFNW
R1Jvb3RJbmxpbmVCb3g6OnZlcnRpY2FsbHlBbGlnbkJvCiB7CiAgICAgcGxhY2VTVkdGbG93VmVy
dGljYWxseSh0aGlzLCBoZWlnaHRPZkJsb2NrKTsKIH0KKyNlbHNlCitzdGF0aWMgdm9pZCBwcmVw
YXJlVGV4dFJlbmRlcmluZyhSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYgcGFpbnRJbmZvLCBpbnQg
dHgsIGludCB0eSwgSW5saW5lRmxvd0JveCogZmxvd0JveCwgRmxvYXRSZWN0JiBib3VuZGluZ0Jv
eCwgU1ZHUmVzb3VyY2VGaWx0ZXIqJiBmaWx0ZXIpCit7CisgICAgUmVuZGVyT2JqZWN0KiBvYmpl
Y3QgPSBmbG93Qm94LT5vYmplY3QoKTsKKworICAgIHBhaW50SW5mby5jb250ZXh0LT5zYXZlKCk7
CisgICAgcGFpbnRJbmZvLmNvbnRleHQtPmNvbmNhdENUTShvYmplY3QtPmxvY2FsVHJhbnNmb3Jt
KCkpOworCisgICAgYm91bmRpbmdCb3ggPSBGbG9hdFJlY3QodHggKyBmbG93Qm94LT54UG9zKCks
IHR5ICsgZmxvd0JveC0+eVBvcygpLCBmbG93Qm94LT53aWR0aCgpLCBmbG93Qm94LT5oZWlnaHQo
KSk7CisKKyAgICBTVkdFbGVtZW50KiBzdmdFbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHRWxlbWVu
dCo+KG9iamVjdC0+ZWxlbWVudCgpKTsKKyAgICBBU1NFUlQoc3ZnRWxlbWVudCAmJiBzdmdFbGVt
ZW50LT5kb2N1bWVudCgpICYmIHN2Z0VsZW1lbnQtPmlzU3R5bGVkKCkpOworCisgICAgU1ZHU3R5
bGVkRWxlbWVudCogc3R5bGVkRWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR1N0eWxlZEVsZW1lbnQq
PihzdmdFbGVtZW50KTsKKyAgICBjb25zdCBTVkdSZW5kZXJTdHlsZSogc3ZnU3R5bGUgPSBvYmpl
Y3QtPnN0eWxlKCktPnN2Z1N0eWxlKCk7CisKKyAgICBBdG9taWNTdHJpbmcgZmlsdGVySWQoU1ZH
VVJJUmVmZXJlbmNlOjpnZXRUYXJnZXQoc3ZnU3R5bGUtPmZpbHRlcigpKSk7CisgICAgQXRvbWlj
U3RyaW5nIGNsaXBwZXJJZChTVkdVUklSZWZlcmVuY2U6OmdldFRhcmdldChzdmdTdHlsZS0+Y2xp
cFBhdGgoKSkpOworICAgIEF0b21pY1N0cmluZyBtYXNrZXJJZChTVkdVUklSZWZlcmVuY2U6Omdl
dFRhcmdldChzdmdTdHlsZS0+bWFza0VsZW1lbnQoKSkpOworCisgICAgU1ZHUmVzb3VyY2VDbGlw
cGVyKiBjbGlwcGVyID0gZ2V0Q2xpcHBlckJ5SWQob2JqZWN0LT5kb2N1bWVudCgpLCBjbGlwcGVy
SWQpOworICAgIFNWR1Jlc291cmNlTWFza2VyKiBtYXNrZXIgPSBnZXRNYXNrZXJCeUlkKG9iamVj
dC0+ZG9jdW1lbnQoKSwgbWFza2VySWQpOworCisgICAgZmlsdGVyID0gZ2V0RmlsdGVyQnlJZChv
YmplY3QtPmRvY3VtZW50KCksIGZpbHRlcklkKTsKKworICAgIGlmIChmaWx0ZXIpCisgICAgICAg
IGZpbHRlci0+cHJlcGFyZUZpbHRlcihwYWludEluZm8uY29udGV4dCwgYm91bmRpbmdCb3gpOwor
ICAgIGVsc2UgaWYgKCFmaWx0ZXJJZC5pc0VtcHR5KCkpCisgICAgICAgIHN2Z0VsZW1lbnQtPmRv
Y3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS0+YWRkUGVuZGluZ1Jlc291cmNlKGZpbHRl
cklkLCBzdHlsZWRFbGVtZW50KTsKKworICAgIGlmIChjbGlwcGVyKSB7CisgICAgICAgIGNsaXBw
ZXItPmFkZENsaWVudChzdHlsZWRFbGVtZW50KTsKKyAgICAgICAgY2xpcHBlci0+YXBwbHlDbGlw
KHBhaW50SW5mby5jb250ZXh0LCBib3VuZGluZ0JveCk7CisgICAgfSBlbHNlIGlmICghY2xpcHBl
cklkLmlzRW1wdHkoKSkKKyAgICAgICAgc3ZnRWxlbWVudC0+ZG9jdW1lbnQoKS0+YWNjZXNzU1ZH
RXh0ZW5zaW9ucygpLT5hZGRQZW5kaW5nUmVzb3VyY2UoY2xpcHBlcklkLCBzdHlsZWRFbGVtZW50
KTsKKworICAgIGlmIChtYXNrZXIpIHsKKyAgICAgICAgbWFza2VyLT5hZGRDbGllbnQoc3R5bGVk
RWxlbWVudCk7CisgICAgICAgIG1hc2tlci0+YXBwbHlNYXNrKHBhaW50SW5mby5jb250ZXh0LCBi
b3VuZGluZ0JveCk7CisgICAgfSBlbHNlIGlmICghbWFza2VySWQuaXNFbXB0eSgpKQorICAgICAg
ICBzdmdFbGVtZW50LT5kb2N1bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25zKCktPmFkZFBlbmRp
bmdSZXNvdXJjZShtYXNrZXJJZCwgc3R5bGVkRWxlbWVudCk7Cit9CisKK2lubGluZSBib29sIGlz
VmVydGljYWxXcml0aW5nTW9kZShjb25zdCBTVkdSZW5kZXJTdHlsZSogc3R5bGUpCit7CisgICAg
cmV0dXJuIHN0eWxlLT53cml0aW5nTW9kZSgpID09IFdNX1RCUkwgfHwgc3R5bGUtPndyaXRpbmdN
b2RlKCkgPT0gV01fVEI7IAorfQorCit2b2lkIFNWR1Jvb3RJbmxpbmVCb3g6OnBhaW50KFJlbmRl
ck9iamVjdDo6UGFpbnRJbmZvJiBwYWludEluZm8sIGludCB0eCwgaW50IHR5KQoreworICAgIGlm
IChwYWludEluZm8uY29udGV4dC0+cGFpbnRpbmdEaXNhYmxlZCgpKQorICAgICAgICByZXR1cm47
CisKKyAgICBGbG9hdFJlY3QgYm91bmRpbmdCb3g7CisKKyAgICBTVkdSZXNvdXJjZUZpbHRlciog
ZmlsdGVyID0gMDsKKyAgICBwcmVwYXJlVGV4dFJlbmRlcmluZyhwYWludEluZm8sIHR4LCB0eSwg
dGhpcywgYm91bmRpbmdCb3gsIGZpbHRlcik7CisKKyAgICBSZW5kZXJPYmplY3Q6OlBhaW50SW5m
byBwaShwYWludEluZm8pOworCisgICAgZmxvYXQgb3BhY2l0eSA9IG9iamVjdCgpLT5zdHlsZSgp
LT5vcGFjaXR5KCk7CisgICAgaWYgKG9wYWNpdHkgPCAxLjBmKSB7CisgICAgICAgIHBhaW50SW5m
by5jb250ZXh0LT5jbGlwKGVuY2xvc2luZ0ludFJlY3QoYm91bmRpbmdCb3gpKTsKKyAgICAgICAg
cGFpbnRJbmZvLmNvbnRleHQtPmJlZ2luVHJhbnNwYXJlbmN5TGF5ZXIob3BhY2l0eSk7CisgICAg
fQorCisgICAgU1ZHUGFpbnRTZXJ2ZXIqIGZpbGxQYWludFNlcnZlciA9IEtTVkdQYWludGVyRmFj
dG9yeTo6ZmlsbFBhaW50U2VydmVyKG9iamVjdCgpLT5zdHlsZSgpLCBvYmplY3QoKSk7CisgICAg
aWYgKGZpbGxQYWludFNlcnZlcikgeworICAgICAgICBpZiAoZmlsbFBhaW50U2VydmVyLT5zZXR1
cChwaS5jb250ZXh0LCBvYmplY3QoKSwgQXBwbHlUb0ZpbGxUYXJnZXRUeXBlLCB0cnVlKSkgewor
ICAgICAgICAgICAgVmVjdG9yPFNWR0NoYXI+OjppdGVyYXRvciBpdCA9IG1fc3ZnQ2hhcnMuYmVn
aW4oKTsKKyAgICAgICAgICAgIHBhaW50SW5saW5lQm94ZXMocGksIHR4LCB0eSwgdGhpcywgaXQp
OworICAgICAgICAgICAgQVNTRVJUKGl0ID09IG1fc3ZnQ2hhcnMuZW5kKCkpOworCisgICAgICAg
ICAgICBmaWxsUGFpbnRTZXJ2ZXItPnRlYXJkb3duKHBpLmNvbnRleHQsIG9iamVjdCgpLCBBcHBs
eVRvRmlsbFRhcmdldFR5cGUsIHRydWUpOworICAgICAgICB9CisgICAgfQorCisgICAgU1ZHUGFp
bnRTZXJ2ZXIqIHN0cm9rZVBhaW50U2VydmVyID0gS1NWR1BhaW50ZXJGYWN0b3J5OjpzdHJva2VQ
YWludFNlcnZlcihvYmplY3QoKS0+c3R5bGUoKSwgb2JqZWN0KCkpOworICAgIGlmIChzdHJva2VQ
YWludFNlcnZlcikgeworICAgICAgICBpZiAoc3Ryb2tlUGFpbnRTZXJ2ZXItPnNldHVwKHBpLmNv
bnRleHQsIG9iamVjdCgpLCBBcHBseVRvU3Ryb2tlVGFyZ2V0VHlwZSwgdHJ1ZSkpIHsKKyAgICAg
ICAgICAgIFZlY3RvcjxTVkdDaGFyPjo6aXRlcmF0b3IgaXQgPSBtX3N2Z0NoYXJzLmJlZ2luKCk7
CisgICAgICAgICAgICBwYWludElubGluZUJveGVzKHBpLCB0eCwgdHksIHRoaXMsIGl0KTsKKyAg
ICAgICAgICAgIEFTU0VSVChpdCA9PSBtX3N2Z0NoYXJzLmVuZCgpKTsKKworICAgICAgICAgICAg
c3Ryb2tlUGFpbnRTZXJ2ZXItPnRlYXJkb3duKHBpLmNvbnRleHQsIG9iamVjdCgpLCBBcHBseVRv
U3Ryb2tlVGFyZ2V0VHlwZSwgdHJ1ZSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoZmls
dGVyKQorICAgICAgICBmaWx0ZXItPmFwcGx5RmlsdGVyKHBhaW50SW5mby5jb250ZXh0LCBib3Vu
ZGluZ0JveCk7CisKKyAgICBpZiAob3BhY2l0eSA8IDEuMGYpCisgICAgICAgIHBhaW50SW5mby5j
b250ZXh0LT5lbmRUcmFuc3BhcmVuY3lMYXllcigpOworCisgICAgcGFpbnRJbmZvLmNvbnRleHQt
PnJlc3RvcmUoKTsKK30KKworaW50IFNWR1Jvb3RJbmxpbmVCb3g6OnBsYWNlQm94ZXNIb3Jpem9u
dGFsbHkoaW50IHgsIGludCYgbGVmdFBvc2l0aW9uLCBpbnQmIHJpZ2h0UG9zaXRpb24sIGJvb2wm
IG5lZWRzV29yZFNwYWNpbmcpCit7CisgICAgLy8gUmVtb3ZlIGFueSBvZmZzZXRzIGNhdXNlZCBi
eSBSVEwgdGV4dCBsYXlvdXQKKyAgICBsZWZ0UG9zaXRpb24gPSAwOworICAgIHJpZ2h0UG9zaXRp
b24gPSAwOworICAgIHJldHVybiAwOworfQorCit2b2lkIFNWR1Jvb3RJbmxpbmVCb3g6OnZlcnRp
Y2FsbHlBbGlnbkJveGVzKGludCYgaGVpZ2h0T2ZCbG9jaykKK3sKKyAgICAvLyBoZWlnaHQgaXMg
c2V0IGJ5IGxheW91dElubGluZUJveGVzLgorICAgIGhlaWdodE9mQmxvY2sgPSBoZWlnaHQoKTsK
K30KKworc3RhdGljIHZvaWQgY3VtbXVsYXRlZFdpZHRoQW5kSGVpZ2h0T2ZUZXh0Q2h1bmsoY29u
c3QgU1ZHVGV4dENodW5rJiBjaHVuaywgZmxvYXQmIHdpZHRoLCBmbG9hdCYgaGVpZ2h0KQorewor
ICAgIGZsb2F0IG1pblggPSAwLjAsIG1pblkgPSAwLjA7CisgICAgZmxvYXQgbWF4WCA9IDAuMCwg
bWF4WSA9IDAuMDsKKworICAgIFZlY3RvcjxTVkdDaGFyPjo6aXRlcmF0b3IgaXQgPSBjaHVuay5z
dGFydDsKKyAgICBmb3IgKDsgaXQgIT0gY2h1bmsuZW5kOyArK2l0KSB7CisgICAgICAgIFNWR0No
YXIgY3VyQ2hhciA9ICppdDsKKworICAgICAgICBpZiAoaXQgPT0gY2h1bmsuc3RhcnQgfHwgY3Vy
Q2hhci54IDwgbWluWCkKKyAgICAgICAgICAgIG1pblggPSBjdXJDaGFyLng7CisKKyAgICAgICAg
aWYgKGl0ID09IGNodW5rLnN0YXJ0IHx8IGN1ckNoYXIueCA+IG1heFgpCisgICAgICAgICAgICBt
YXhYID0gY3VyQ2hhci54OworCisgICAgICAgIGlmIChpdCA9PSBjaHVuay5zdGFydCB8fCBjdXJD
aGFyLnkgPCBtaW5ZKQorICAgICAgICAgICAgbWluWSA9IGN1ckNoYXIueTsKKworICAgICAgICBp
ZiAoaXQgPT0gY2h1bmsuc3RhcnQgfHwgY3VyQ2hhci55ID4gbWF4WSkKKyAgICAgICAgICAgIG1h
eFkgPSBjdXJDaGFyLnk7CisgICAgfQorCisgICAgd2lkdGggPSBtYXhYIC0gbWluWDsKKyAgICBo
ZWlnaHQgPSBtYXhZIC0gbWluWTsKK30KKworc3RhdGljIHZvaWQgYXBwbHlUZXh0QW5jaG9yVG9U
ZXh0Q2h1bmsoY29uc3QgU1ZHVGV4dENodW5rJiBjaHVuaykKK3sKKyAgICBpZiAoY2h1bmsuYW5j
aG9yID09IFRBX1NUQVJUKQorICAgICAgICByZXR1cm47CisKKyAgICBmbG9hdCB3aWR0aCA9IDAu
MCwgaGVpZ2h0ID0gMC4wOworICAgIGN1bW11bGF0ZWRXaWR0aEFuZEhlaWdodE9mVGV4dENodW5r
KGNodW5rLCB3aWR0aCwgaGVpZ2h0KTsKKworICAgIGZsb2F0IHNoaWZ0ID0gMC4wOworCisgICAg
aWYgKGNodW5rLmlzVmVydGljYWxUZXh0KQorICAgICAgICBzaGlmdCA9IGhlaWdodCArIGNodW5r
Lmxhc3RHbHlwaEhlaWdodDsKKyAgICBlbHNlCisgICAgICAgIHNoaWZ0ID0gd2lkdGggKyBjaHVu
ay5sYXN0R2x5cGhXaWR0aDsKKworICAgIGlmIChjaHVuay5hbmNob3IgPT0gVEFfTUlERExFKQor
ICAgICAgICBzaGlmdCAvPSAtMi4wOworICAgIGVsc2UKKyAgICAgICAgc2hpZnQgKj0gLTEuMDsK
KworICAgIC8vIEFwcGx5IGNvcnJlY3Rpb24gdG8gY2h1bmsKKyAgICBWZWN0b3I8U1ZHQ2hhcj46
Oml0ZXJhdG9yIGNodW5rSXQgPSBjaHVuay5zdGFydDsKKyAgICBmb3IgKDsgY2h1bmtJdCAhPSBj
aHVuay5lbmQ7ICsrY2h1bmtJdCkgeworICAgICAgICBTVkdDaGFyJiBjdXJDaGFyID0gKmNodW5r
SXQ7CisKKyAgICAgICAgaWYgKGNodW5rLmlzVmVydGljYWxUZXh0KQorICAgICAgICAgICAgY3Vy
Q2hhci55ICs9IHNoaWZ0OworICAgICAgICBlbHNlCisgICAgICAgICAgICBjdXJDaGFyLnggKz0g
c2hpZnQ7CisgICAgfQorCisgICAgLy8gTW92ZSBpbmxpbmUgYm94ZXMKKyAgICBIYXNoU2V0PElu
bGluZUJveCo+Ojpjb25zdF9pdGVyYXRvciBib3hJdCA9IGNodW5rLmJveGVzLmJlZ2luKCk7Cisg
ICAgY29uc3QgSGFzaFNldDxJbmxpbmVCb3gqPjo6Y29uc3RfaXRlcmF0b3IgYm94RW5kID0gY2h1
bmsuYm94ZXMuZW5kKCk7CisKKyAgICBmb3IgKDsgYm94SXQgIT0gYm94RW5kOyArK2JveEl0KSB7
CisgICAgICAgIElubGluZUJveCogY3VyQm94ID0gKmJveEl0OworCisgICAgICAgIGlmIChjaHVu
ay5pc1ZlcnRpY2FsVGV4dCkKKyAgICAgICAgICAgIGN1ckJveC0+c2V0WVBvcyhjdXJCb3gtPnlQ
b3MoKSArIHNoaWZ0KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgY3VyQm94LT5zZXRYUG9z
KGN1ckJveC0+eFBvcygpICsgc2hpZnQpOworICAgIH0KK30KKwordm9pZCBTVkdSb290SW5saW5l
Qm94Ojpjb21wdXRlUGVyQ2hhcmFjdGVyTGF5b3V0SW5mb3JtYXRpb24oKQoreworICAgIC8vIENs
ZWFuIHVwIGFueSBwcmV2aW91cyBsYXlvdXQgaW5mb3JtYXRpb24KKyAgICBtX3N2Z0NoYXJzLmNs
ZWFyKCk7CisgICAgbV9zdmdUZXh0Q2h1bmtzLmNsZWFyKCk7CisKKyAgICAvLyBCdWlsZCBsYXlv
dXQgaW5mb3JtYXRpb24gZm9yIGFsbCBjb250YWluZWQgcmVuZGVyIG9iamVjdHMKKyAgICBTVkdD
aGFyYWN0ZXJMYXlvdXRJbmZvIGluZm87CisgICAgYnVpbGRMYXlvdXRJbmZvcm1hdGlvbih0aGlz
LCBpbmZvKTsKKworICAgIC8vIExheW91dCBhbGwgSW5saW5lVGV4dC9GbG93IGJveGVzCisgICAg
bGF5b3V0SW5saW5lQm94ZXMoKTsKKworICAgIC8vIE5vdyBhbGwgbGF5b3V0IGluZm9ybWF0aW9u
IGFyZSBhdmFpbGFibGUgZm9yIGV2ZXJ5IGNoYXJhY3RlcgorICAgIC8vIGNvbnRhaW5lZCBpbiBh
bnkgb2Ygb3VyIGNoaWxkIGlubGluZS9mbG93IGJveGVzLiBCdWlsZCBsaXN0CisgICAgLy8gb2Yg
dGV4dCBjaHVua3Mgbm93LCB0byBiZSBhYmxlIHRvIGFwcGx5IHRleHQtYW5jaG9yIHNoaWZ0cy4K
KyAgICBidWlsZFRleHRDaHVua3MoKTsKKworICAgIC8vIExheW91dCBhbGwgdGV4dCBjaHVua3MK
KyAgICAvLyB0ZXh0LWFuY2hvciBuZWVkcyB0byBiZSBhcHBsaWVkIHRvIGluZGl2aWR1YWwgY2h1
bmtzLgorICAgIGxheW91dFRleHRDaHVua3MoKTsKK30KKworc3RhdGljIHZvaWQgdG90YWxBZHZh
bmNlT2ZBbGxHbHlwaHNJbklubGluZUJveChJbmxpbmVGbG93Qm94KiBzdGFydCwgYm9vbCBpc1Zl
cnRpY2FsVGV4dCwgZmxvYXQmIHRvdGFsQWR2YW5jZSkKK3sKKyAgICBmb3IgKElubGluZUJveCog
Y3VyciA9IHN0YXJ0LT5maXJzdENoaWxkKCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0T25MaW5l
KCkpIHsKKyAgICAgICAgaWYgKGN1cnItPm9iamVjdCgpLT5pc1RleHQoKSkgeworICAgICAgICAg
ICAgSW5saW5lVGV4dEJveCogdGV4dEJveCA9IHN0YXRpY19jYXN0PElubGluZVRleHRCb3gqPihj
dXJyKTsKKyAgICAgICAgICAgIFJlbmRlclRleHQqIHRleHQgPSBzdGF0aWNfY2FzdDxSZW5kZXJU
ZXh0Kj4odGV4dEJveC0+b2JqZWN0KCkpOworICAgICAgICAgICAgQVNTRVJUKHRleHQpOworCisg
ICAgICAgICAgICBjb25zdCBGb250JiBmb250ID0gdGV4dC0+c3R5bGUoKS0+Zm9udCgpOworICAg
ICAgICAgICAgdW5zaWduZWQgbGVuZ3RoID0gdGV4dEJveC0+bGVuKCk7CisKKyAgICAgICAgICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgeworICAgICAgICAgICAgICAg
IGlmICghaXNWZXJ0aWNhbFRleHQpCisgICAgICAgICAgICAgICAgICAgIHRvdGFsQWR2YW5jZSAr
PSBmb250LmZsb2F0V2lkdGgoVGV4dFJ1bih0ZXh0LT50ZXh0KCktPmNoYXJhY3RlcnMoKSArIHRl
eHRCb3gtPnN0YXJ0KCkgKyBpLCAxKSwgVGV4dFN0eWxlKDAsIDApKTsKKyAgICAgICAgICAgICAg
ICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHRvdGFsQWR2YW5jZSArPSBmb250LmFzY2VudCgp
ICsgZm9udC5kZXNjZW50KCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICBBU1NFUlQoY3Vyci0+aXNJbmxpbmVGbG93Qm94KCkpOworICAgICAgICAgICAgdG90
YWxBZHZhbmNlT2ZBbGxHbHlwaHNJbklubGluZUJveChzdGF0aWNfY2FzdDxJbmxpbmVGbG93Qm94
Kj4oY3VyciksIGlzVmVydGljYWxUZXh0LCB0b3RhbEFkdmFuY2UpOworICAgICAgICB9CisgICAg
fQorfQorCit2b2lkIFNWR1Jvb3RJbmxpbmVCb3g6OmJ1aWxkTGF5b3V0SW5mb3JtYXRpb24oSW5s
aW5lRmxvd0JveCogc3RhcnQsIFNWR0NoYXJhY3RlckxheW91dEluZm8mIGluZm8pCit7CisgICAg
aWYgKHN0YXJ0LT5pc1Jvb3RJbmxpbmVCb3goKSkgeworICAgICAgICBBU1NFUlQoc3RhcnQtPm9i
amVjdCgpLT5lbGVtZW50KCktPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnRleHRUYWcpKTsKKworICAg
ICAgICBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50KiBwb3NpdGlvbmluZ0VsZW1lbnQgPSBzdGF0
aWNfY2FzdDxTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50Kj4oc3RhcnQtPm9iamVjdCgpLT5lbGVt
ZW50KCkpOworICAgICAgICBBU1NFUlQocG9zaXRpb25pbmdFbGVtZW50KTsKKyAgICAgICAgQVNT
RVJUKHBvc2l0aW9uaW5nRWxlbWVudC0+cGFyZW50Tm9kZSgpKTsKKworICAgICAgICBpbmZvLmFk
ZExheW91dEluZm9ybWF0aW9uKHBvc2l0aW9uaW5nRWxlbWVudCk7CisgICAgfQorCisgICAgZm9y
IChJbmxpbmVCb3gqIGN1cnIgPSBzdGFydC0+Zmlyc3RDaGlsZCgpOyBjdXJyOyBjdXJyID0gY3Vy
ci0+bmV4dE9uTGluZSgpKSB7CisgICAgICAgIGlmIChjdXJyLT5vYmplY3QoKS0+aXNUZXh0KCkp
CisgICAgICAgICAgICBidWlsZExheW91dEluZm9ybWF0aW9uRm9yVGV4dEJveChpbmZvLCBzdGF0
aWNfY2FzdDxJbmxpbmVUZXh0Qm94Kj4oY3VycikpOworICAgICAgICBlbHNlIHsKKyAgICAgICAg
ICAgIEFTU0VSVChjdXJyLT5pc0lubGluZUZsb3dCb3goKSk7CisgICAgICAgICAgICBJbmxpbmVG
bG93Qm94KiBmbG93Qm94ID0gc3RhdGljX2Nhc3Q8SW5saW5lRmxvd0JveCo+KGN1cnIpOworCisg
ICAgICAgICAgICBib29sIGlzVGV4dFBhdGggPSBmbG93Qm94LT5vYmplY3QoKS0+ZWxlbWVudCgp
LT5oYXNUYWdOYW1lKFNWR05hbWVzOjp0ZXh0UGF0aFRhZyk7CisgICAgICAgICAgICBpZiAoIWlz
VGV4dFBhdGgpIHsKKyAgICAgICAgICAgICAgICBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50KiBw
b3NpdGlvbmluZ0VsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50
Kj4oZmxvd0JveC0+b2JqZWN0KCktPmVsZW1lbnQoKSk7CisgICAgICAgICAgICAgICAgQVNTRVJU
KHBvc2l0aW9uaW5nRWxlbWVudCk7CisgICAgICAgICAgICAgICAgQVNTRVJUKHBvc2l0aW9uaW5n
RWxlbWVudC0+cGFyZW50Tm9kZSgpKTsKKworICAgICAgICAgICAgICAgIGluZm8uYWRkTGF5b3V0
SW5mb3JtYXRpb24ocG9zaXRpb25pbmdFbGVtZW50KTsKKyAgICAgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICAgICAgaW5mby5zZXRJblBhdGhMYXlvdXQodHJ1ZSk7CisKKyAgICAgICAgICAg
ICAgICBmbG9hdCB0ZXh0QW5jaG9yU3RhcnRPZmZzZXQgPSAwLjA7CisgICAgICAgICAgICAgICAg
Ym9vbCBpc1ZlcnRpY2FsVGV4dCA9IGlzVmVydGljYWxXcml0aW5nTW9kZShmbG93Qm94LT5vYmpl
Y3QoKS0+c3R5bGUoKS0+c3ZnU3R5bGUoKSk7CisKKyAgICAgICAgICAgICAgICAvLyBIYW5kbGUg
dGV4dC1hbmNob3Igb24gcGF0aCwgd2hpY2ggaXMgc3BlY2lhbC4KKyAgICAgICAgICAgICAgICBF
VGV4dEFuY2hvciBhbmNob3IgPSBmbG93Qm94LT5vYmplY3QoKS0+c3R5bGUoKS0+c3ZnU3R5bGUo
KS0+dGV4dEFuY2hvcigpOworICAgICAgICAgICAgICAgIHN3aXRjaCAoYW5jaG9yKSB7CisgICAg
ICAgICAgICAgICAgICAgIGNhc2UgVEFfRU5EOgorICAgICAgICAgICAgICAgICAgICBjYXNlIFRB
X01JRERMRToKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAg
ZmxvYXQgdG90YWxBZHZhbmNlID0gMC4wOworICAgICAgICAgICAgICAgICAgICAgICAgdG90YWxB
ZHZhbmNlT2ZBbGxHbHlwaHNJbklubGluZUJveChmbG93Qm94LCBpc1ZlcnRpY2FsVGV4dCwgdG90
YWxBZHZhbmNlKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFuY2hvciA9PSBUQV9F
TkQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvclN0YXJ0T2Zmc2V0IC09
IHRvdGFsQWR2YW5jZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yU3RhcnRPZmZzZXQgLT0gdG90YWxBZHZhbmNlIC8g
Mi4wOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGNhc2UgVEFf
U1RBUlQ6CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAg
ICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGluZm8uYWRkTGF5b3V0SW5m
b3JtYXRpb24oZmxvd0JveCwgdGV4dEFuY2hvclN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgZmxvYXQgc2hpZnR4U2F2ZWQgPSBpbmZvLnNoaWZ0eDsKKyAgICAgICAg
ICAgIGZsb2F0IHNoaWZ0eVNhdmVkID0gaW5mby5zaGlmdHk7CisKKyAgICAgICAgICAgIGJ1aWxk
TGF5b3V0SW5mb3JtYXRpb24oZmxvd0JveCwgaW5mbyk7CisgICAgICAgICAgICBpbmZvLnByb2Nl
c3NlZENodW5rKHNoaWZ0eFNhdmVkLCBzaGlmdHlTYXZlZCk7CisKKyAgICAgICAgICAgIGlmIChp
c1RleHRQYXRoKQorICAgICAgICAgICAgICAgIGluZm8uc2V0SW5QYXRoTGF5b3V0KGZhbHNlKTsK
KyAgICAgICAgfQorICAgIH0KK30KKwordm9pZCBTVkdSb290SW5saW5lQm94OjpsYXlvdXRJbmxp
bmVCb3hlcygpCit7CisgICAgaW50IGxvd1ggPSBJTlRfTUFYOworICAgIGludCBsb3dZID0gSU5U
X01BWDsKKyAgICBpbnQgaGlnaFggPSBJTlRfTUlOOworICAgIGludCBoaWdoWSA9IElOVF9NSU47
CisKKyAgICAvLyBMYXlvdXQgYWxsIGNoaWxkIGJveGVzCisgICAgVmVjdG9yPFNWR0NoYXI+Ojpp
dGVyYXRvciBpdCA9IG1fc3ZnQ2hhcnMuYmVnaW4oKTsgCisgICAgbGF5b3V0SW5saW5lQm94ZXMo
dGhpcywgaXQsIGxvd1gsIGhpZ2hYLCBsb3dZLCBoaWdoWSk7CisgICAgQVNTRVJUKGl0ID09IG1f
c3ZnQ2hhcnMuZW5kKCkpOworfQorCit2b2lkIFNWR1Jvb3RJbmxpbmVCb3g6OmxheW91dElubGlu
ZUJveGVzKElubGluZUZsb3dCb3gqIHN0YXJ0LCBWZWN0b3I8U1ZHQ2hhcj46Oml0ZXJhdG9yJiBp
dCwgaW50JiBsb3dYLCBpbnQmIGhpZ2hYLCBpbnQmIGxvd1ksIGludCYgaGlnaFkpCit7CisgICAg
Zm9yIChJbmxpbmVCb3gqIGN1cnIgPSBzdGFydC0+Zmlyc3RDaGlsZCgpOyBjdXJyOyBjdXJyID0g
Y3Vyci0+bmV4dE9uTGluZSgpKSB7CisgICAgICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBjdXJyLT5v
YmplY3QoKS0+c3R5bGUoKS0+Zm9udCgpOworICAgCisgICAgICAgIGlmIChjdXJyLT5vYmplY3Qo
KS0+aXNUZXh0KCkpIHsKKyAgICAgICAgICAgIElubGluZVRleHRCb3gqIHRleHRCb3ggPSBzdGF0
aWNfY2FzdDxJbmxpbmVUZXh0Qm94Kj4oY3Vycik7CisgICAgICAgICAgICB1bnNpZ25lZCBsZW5n
dGggPSB0ZXh0Qm94LT5sZW4oKTsKKworICAgICAgICAgICAgZmxvYXQgbWluWCA9IDAuMCwgbWlu
WSA9IDAuMDsKKyAgICAgICAgICAgIGZsb2F0IG1heFggPSAwLjAsIG1heFkgPSAwLjA7CisKKyAg
ICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgeworICAgICAg
ICAgICAgICAgIEFTU0VSVChpdCAhPSBtX3N2Z0NoYXJzLmVuZCgpKTsKKyAgICAgICAgICAgICAg
ICBTVkdDaGFyIGN1ckNoYXIgPSAqaXQ7CisKKyAgICAgICAgICAgICAgICBpZiAoaSA9PSAwIHx8
IGN1ckNoYXIueCA8IG1pblgpCisgICAgICAgICAgICAgICAgICAgIG1pblggPSBjdXJDaGFyLng7
CisKKyAgICAgICAgICAgICAgICBpZiAoaSA9PSAwIHx8IGN1ckNoYXIueCA+IG1heFgpCisgICAg
ICAgICAgICAgICAgICAgIG1heFggPSBjdXJDaGFyLng7CisKKyAgICAgICAgICAgICAgICBpZiAo
aSA9PSAwIHx8IGN1ckNoYXIueSA8IG1pblkpCisgICAgICAgICAgICAgICAgICAgIG1pblkgPSBj
dXJDaGFyLnk7CisKKyAgICAgICAgICAgICAgICBpZiAoaSA9PSAwIHx8IGN1ckNoYXIueSA+IG1h
eFkpCisgICAgICAgICAgICAgICAgICAgIG1heFkgPSBjdXJDaGFyLnk7CisKKyAgICAgICAgICAg
ICAgICBpdCsrOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBSZW5kZXJUZXh0KiB0ZXh0
ID0gdGV4dEJveC0+dGV4dE9iamVjdCgpOworICAgICAgICAgICAgQVNTRVJUKHRleHQpOworCisg
ICAgICAgICAgICBtYXhYICs9IHRleHQtPndpZHRoKHRleHRCb3gtPmVuZCgpLCAxLCBmb250LCAw
KTsKKyAgICAgICAgICAgIG1heFkgKz0gZm9udC5hc2NlbnQoKSArIGZvbnQuZGVzY2VudCgpOwor
CisgICAgICAgICAgICBjdXJyLT5zZXRYUG9zKG1pblggLSBvYmplY3QoKS0+eFBvcygpKTsKKyAg
ICAgICAgICAgIGN1cnItPnNldFdpZHRoKG1heFggLSBtaW5YKTsKKworICAgICAgICAgICAgY3Vy
ci0+c2V0WVBvcyhtaW5ZIC0gb2JqZWN0KCktPnlQb3MoKSAtIGZvbnQuYXNjZW50KCkpOworICAg
ICAgICAgICAgY3Vyci0+c2V0QmFzZWxpbmUoZm9udC5hc2NlbnQoKSk7CisgICAgICAgICAgICBj
dXJyLT5zZXRIZWlnaHQobWF4WSAtIG1pblkpOworCisgICAgICAgICAgICBpZiAobWluWCA8IGxv
d1gpCisgICAgICAgICAgICAgICAgbG93WCA9IG1pblg7CisKKyAgICAgICAgICAgIGlmIChtYXhY
ID4gaGlnaFgpCisgICAgICAgICAgICAgICAgaGlnaFggPSBtYXhYOworCisgICAgICAgICAgICBp
ZiAobWluWSA8IGxvd1kpCisgICAgICAgICAgICAgICAgbG93WSA9IG1pblk7CisKKyAgICAgICAg
ICAgIGlmIChtYXhZID4gaGlnaFkpCisgICAgICAgICAgICAgICAgaGlnaFkgPSBtYXhZOworICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgQVNTRVJUKGN1cnItPmlzSW5saW5lRmxvd0JveCgp
KTsKKworICAgICAgICAgICAgaW50IG1pblggPSBJTlRfTUFYOworICAgICAgICAgICAgaW50IG1p
blkgPSBJTlRfTUFYOworICAgICAgICAgICAgaW50IG1heFggPSBJTlRfTUlOOworICAgICAgICAg
ICAgaW50IG1heFkgPSBJTlRfTUlOOworCisgICAgICAgICAgICBJbmxpbmVGbG93Qm94KiBmbG93
Qm94ID0gc3RhdGljX2Nhc3Q8SW5saW5lRmxvd0JveCo+KGN1cnIpOworICAgICAgICAgICAgbGF5
b3V0SW5saW5lQm94ZXMoZmxvd0JveCwgaXQsIG1pblgsIG1heFgsIG1pblksIG1heFkpOworCisg
ICAgICAgICAgICBjdXJyLT5zZXRYUG9zKG1pblggLSBvYmplY3QoKS0+eFBvcygpKTsKKyAgICAg
ICAgICAgIGN1cnItPnNldFdpZHRoKG1heFggLSBtaW5YKTsKKworICAgICAgICAgICAgY3Vyci0+
c2V0WVBvcyhtaW5ZIC0gb2JqZWN0KCktPnlQb3MoKSAtIGZvbnQuYXNjZW50KCkpOworICAgICAg
ICAgICAgY3Vyci0+c2V0QmFzZWxpbmUoZm9udC5hc2NlbnQoKSk7CisgICAgICAgICAgICBjdXJy
LT5zZXRIZWlnaHQobWF4WSAtIG1pblkpOworCisgICAgICAgICAgICBsb3dYID0gbWluWDsKKyAg
ICAgICAgICAgIGhpZ2hYID0gbWF4WDsKKworICAgICAgICAgICAgbG93WSA9IG1pblk7CisgICAg
ICAgICAgICBoaWdoWSA9IG1heFk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoc3RhcnQt
PmlzUm9vdElubGluZUJveCgpKSB7CisgICAgICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBzdGFydC0+
b2JqZWN0KCktPnN0eWxlKCktPmZvbnQoKTsKKyAKKyAgICAgICAgaW50IHRvcCA9IGxvd1kgLSBv
YmplY3QoKS0+eVBvcygpIC0gZm9udC5hc2NlbnQoKTsKKyAgICAgICAgaW50IGJvdHRvbSA9IGhp
Z2hZIC0gb2JqZWN0KCktPnlQb3MoKTsKKworICAgICAgICBzdGFydC0+c2V0WFBvcyhsb3dYIC0g
b2JqZWN0KCktPnhQb3MoKSk7CisgICAgICAgIHN0YXJ0LT5zZXRZUG9zKHRvcCk7CisKKyAgICAg
ICAgc3RhcnQtPnNldFdpZHRoKGhpZ2hYIC0gbG93WCk7CisgICAgICAgIHN0YXJ0LT5zZXRIZWln
aHQoaGlnaFkgLSBsb3dZKTsKKworICAgICAgICBzdGFydC0+c2V0VmVydGljYWxPdmVyZmxvd1Bv
c2l0aW9ucyh0b3AsIGJvdHRvbSk7CisgICAgICAgIHN0YXJ0LT5zZXRWZXJ0aWNhbFNlbGVjdGlv
blBvc2l0aW9ucyh0b3AsIGJvdHRvbSk7CisgICAgfQorfQorCit2b2lkIFNWR1Jvb3RJbmxpbmVC
b3g6OmJ1aWxkTGF5b3V0SW5mb3JtYXRpb25Gb3JUZXh0Qm94KFNWR0NoYXJhY3RlckxheW91dElu
Zm8mIGluZm8sIElubGluZVRleHRCb3gqIHRleHRCb3gpCit7CisgICAgUmVuZGVyVGV4dCogdGV4
dCA9IHRleHRCb3gtPnRleHRPYmplY3QoKTsKKyAgICBBU1NFUlQodGV4dCk7CisKKyAgICBSZW5k
ZXJTdHlsZSogc3R5bGUgPSB0ZXh0LT5zdHlsZSh0ZXh0Qm94LT5pc0ZpcnN0TGluZVN0eWxlKCkp
OworICAgIEFTU0VSVChzdHlsZSk7CisKKyAgICBjb25zdCBGb250JiBmb250ID0gc3R5bGUtPmZv
bnQoKTsKKyAgICB1bnNpZ25lZCBsZW5ndGggPSB0ZXh0Qm94LT5sZW4oKTsKKyAgICBib29sIGlz
VmVydGljYWxUZXh0ID0gaXNWZXJ0aWNhbFdyaXRpbmdNb2RlKHN0eWxlLT5zdmdTdHlsZSgpKTsK
KworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgeworICAgICAgICBT
VkdDaGFyIHN2Z0NoYXI7CisgICAgICAgIHN2Z0NoYXIubmV3VGV4dENodW5rID0gZmFsc2U7CisK
KyAgICAgICAgZmxvYXQgYW5nbGUgPSAwLjA7CisgICAgICAgIGZsb2F0IGdseXBoV2lkdGggPSBm
b250LmZsb2F0V2lkdGgoVGV4dFJ1bih0ZXh0LT50ZXh0KCktPmNoYXJhY3RlcnMoKSArIHRleHRC
b3gtPnN0YXJ0KCkgKyBpLCAxKSwgVGV4dFN0eWxlKDAsIDApKTsKKyAgICAgICAgZmxvYXQgZ2x5
cGhIZWlnaHQgPSBmb250LmFzY2VudCgpICsgZm9udC5kZXNjZW50KCk7CisKKyAgICAgICAgYm9v
bCBhc3NpZ25lZFggPSBmYWxzZTsKKyAgICAgICAgYm9vbCBhc3NpZ25lZFkgPSBmYWxzZTsKKwor
ICAgICAgICBpZiAoaW5mby54VmFsdWVBdmFpbGFibGUoKSAmJiAoIWluZm8uaW5QYXRoTGF5b3V0
KCkgfHwgKGluZm8uaW5QYXRoTGF5b3V0KCkgJiYgIWlzVmVydGljYWxUZXh0KSkpIHsKKyAgICAg
ICAgICAgIGlmICghaXNWZXJ0aWNhbFRleHQpCisgICAgICAgICAgICAgICAgc3ZnQ2hhci5uZXdU
ZXh0Q2h1bmsgPSB0cnVlOworCisgICAgICAgICAgICBhc3NpZ25lZFggPSB0cnVlOworICAgICAg
ICAgICAgc3ZnQ2hhci5kcmF3blNlcGVyYXRlZCA9IHRydWU7CisgICAgICAgICAgICBpbmZvLmN1
cnggPSBpbmZvLnhWYWx1ZU5leHQoKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChpbmZvLnlW
YWx1ZUF2YWlsYWJsZSgpICYmICghaW5mby5pblBhdGhMYXlvdXQoKSB8fCAoaW5mby5pblBhdGhM
YXlvdXQoKSAmJiBpc1ZlcnRpY2FsVGV4dCkpKSB7CisgICAgICAgICAgICBpZiAoaXNWZXJ0aWNh
bFRleHQpCisgICAgICAgICAgICAgICAgc3ZnQ2hhci5uZXdUZXh0Q2h1bmsgPSB0cnVlOworCisg
ICAgICAgICAgICBhc3NpZ25lZFkgPSB0cnVlOworICAgICAgICAgICAgc3ZnQ2hhci5kcmF3blNl
cGVyYXRlZCA9IHRydWU7CisgICAgICAgICAgICBpbmZvLmN1cnkgPSBpbmZvLnlWYWx1ZU5leHQo
KTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIENhbGN1bGF0ZSBhYnNvbHV0ZSB4L3kgdmFsdWVz
LCBpZiBuZWVkZWQKKyAgICAgICAgaWYgKCFpbmZvLmluUGF0aExheW91dCgpKSB7CisgICAgICAg
ICAgICBzdmdDaGFyLnZpc2libGUgPSB0cnVlOworICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgZmxvYXQgZ2x5cGhBZHZhbmNlID0gaXNWZXJ0aWNhbFRleHQgPyBnbHlwaEhlaWdodCA6IGds
eXBoV2lkdGg7CisgICAgICAgICAgICBmbG9hdCBuZXdPZmZzZXQgPSBGTFRfTUlOOworCisgICAg
ICAgICAgICBpZiAoYXNzaWduZWRYICYmICFpc1ZlcnRpY2FsVGV4dCkKKyAgICAgICAgICAgICAg
ICBuZXdPZmZzZXQgPSBpbmZvLmN1cng7CisgICAgICAgICAgICBlbHNlIGlmIChhc3NpZ25lZFkg
JiYgaXNWZXJ0aWNhbFRleHQpCisgICAgICAgICAgICAgICAgbmV3T2Zmc2V0ID0gaW5mby5jdXJ5
OworCisgICAgICAgICAgICBzdmdDaGFyLnZpc2libGUgPSBpbmZvLm5leHRQYXRoTGF5b3V0UG9p
bnRBbmRBbmdsZShpbmZvLmN1cngsIGluZm8uY3VyeSwgYW5nbGUsIGdseXBoQWR2YW5jZSwgbmV3
T2Zmc2V0KTsKKyAgICAgICAgfQorCisgICAgICAgIGZsb2F0IGR4ID0gMC4wOworICAgICAgICBm
bG9hdCBkeSA9IDAuMDsKKworICAgICAgICAvLyBBcHBseSB4LWF4aXMgc2hpZnQKKyAgICAgICAg
aWYgKGluZm8uZHhWYWx1ZUF2YWlsYWJsZSgpKSB7CisgICAgICAgICAgICBkeCA9IGluZm8uZHhW
YWx1ZU5leHQoKTsKKyAgICAgICAgICAgIHN2Z0NoYXIuZHJhd25TZXBlcmF0ZWQgPSB0cnVlOwor
CisgICAgICAgICAgICBpbmZvLmR4ICs9IGR4OworICAgIAorICAgICAgICAgICAgaWYgKCFpbmZv
LmluUGF0aExheW91dCgpKQorICAgICAgICAgICAgICAgIGluZm8uY3VyeCArPSBkeDsKKyAgICAg
ICAgfQorCisgICAgICAgIC8vIEFwcGx5IHktYXhpcyBzaGlmdAorICAgICAgICBpZiAoaW5mby5k
eVZhbHVlQXZhaWxhYmxlKCkpIHsKKyAgICAgICAgICAgIGR5ID0gaW5mby5keVZhbHVlTmV4dCgp
OworICAgICAgICAgICAgc3ZnQ2hhci5kcmF3blNlcGVyYXRlZCA9IHRydWU7CisKKyAgICAgICAg
ICAgIGluZm8uZHkgKz0gZHk7CisKKyAgICAgICAgICAgIGlmICghaW5mby5pblBhdGhMYXlvdXQo
KSkKKyAgICAgICAgICAgICAgICBpbmZvLmN1cnkgKz0gZHk7CisgICAgICAgIH0KKworICAgICAg
ICAvLyBBcHBseSByb3RhdGlvbgorICAgICAgICBpZiAoaW5mby5hbmdsZVZhbHVlQXZhaWxhYmxl
KCkpIHsKKyAgICAgICAgICAgIHN2Z0NoYXIuZHJhd25TZXBlcmF0ZWQgPSB0cnVlOworICAgICAg
ICAgICAgYW5nbGUgPSBpbmZvLmFuZ2xlVmFsdWVOZXh0KCk7CisgICAgICAgIH0KKworICAgICAg
ICAvLyBBcHBseSBiYXNlbGluZS1zaGlmdAorICAgICAgICBpZiAoaW5mby5iYXNlbGluZVNoaWZ0
VmFsdWVBdmFpbGFibGUoKSkgeworICAgICAgICAgICAgc3ZnQ2hhci5kcmF3blNlcGVyYXRlZCA9
IHRydWU7CisgICAgICAgICAgICBmbG9hdCBzaGlmdCA9IGluZm8uYmFzZWxpbmVTaGlmdFZhbHVl
TmV4dCgpOworCisgICAgICAgICAgICBpZiAoaXNWZXJ0aWNhbFRleHQpIHsKKyAgICAgICAgICAg
ICAgICBpbmZvLnNoaWZ0eCArPSBzaGlmdDsKKyAgICAgICAgICAgICAgICBpbmZvLmN1cnggKz0g
c2hpZnQ7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGluZm8uc2hpZnR5
IC09IHNoaWZ0OworICAgICAgICAgICAgICAgIGluZm8uY3VyeSAtPSBzaGlmdDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIHN2Z0NoYXIueCA9IGluZm8uY3VyeDsKKyAgICAg
ICAgc3ZnQ2hhci55ID0gaW5mby5jdXJ5OworCisgICAgICAgIGZsb2F0IHBhdGhYU2hpZnQgPSAw
LjA7CisgICAgICAgIGZsb2F0IHBhdGhZU2hpZnQgPSAwLjA7CisKKyAgICAgICAgLy8gQ29ycmVj
dCBjaGFyYWN0ZXIgcG9zaXRpb24gZm9yIHRleHQgb24gcGF0aCBsYXlvdXQKKyAgICAgICAgLy8g
QWxsIHBsYWNlZCBjaGFyYWN0ZXJzIG9uIGEgcGF0aCB1c2UgYWJzb2x1dGUgcG9zaXRpb25pbmcg
KGludGVybmFsbHkpLgorICAgICAgICAvLyBTbyB3ZSBzdGlsbCBoYXZlIHRvIGFwcGx5IGJhc2Vs
aW5lLXNoaWZ0L2R4L2R5IGNvcnJlY3Rpb25zIG1hbnVhbGx5LgorICAgICAgICBpZiAoaW5mby5p
blBhdGhMYXlvdXQoKSkgeworICAgICAgICAgICAgc3ZnQ2hhci5kcmF3blNlcGVyYXRlZCA9IHRy
dWU7CisKKyAgICAgICAgICAgIC8vIFRyYW5zbGF0ZSB0byBnbHlwaCBtaWRwb2ludAorICAgICAg
ICAgICAgaWYgKGlzVmVydGljYWxUZXh0KQorICAgICAgICAgICAgICAgIHBhdGhZU2hpZnQgPSBn
bHlwaEhlaWdodCAvIDIuMDsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBwYXRo
WFNoaWZ0ID0gZ2x5cGhXaWR0aCAvIDIuMDsKKworICAgICAgICAgICAgLy8gUmVzcGVjdCBhY2N1
bXVsYXRlZCBkeC9keSB2YWx1ZXMKKyAgICAgICAgICAgIHBhdGhYU2hpZnQgLT0gaW5mby5keDsK
KyAgICAgICAgICAgIHBhdGhZU2hpZnQgLT0gaW5mby5keTsKKworICAgICAgICAgICAgLy8gQWx0
ZXIgY2hhcmFjdGVyIHBvc2l0aW9uCisgICAgICAgICAgICBzdmdDaGFyLnggLT0gcGF0aFhTaGlm
dDsKKyAgICAgICAgICAgIHN2Z0NoYXIueSAtPSBwYXRoWVNoaWZ0OworICAgICAgICB9CisKKyAg
ICAgICAgLy8gQ29ycmVjdCBjaGFyYWN0ZXIgcG9zaXRpb24gZm9yIHZlcnRpY2FsIHRleHQgbGF5
b3V0CisgICAgICAgIGlmIChpc1ZlcnRpY2FsVGV4dCkgeworICAgICAgICAgICAgc3ZnQ2hhci5k
cmF3blNlcGVyYXRlZCA9IHRydWU7CisgICAgICAgICAgICBzdmdDaGFyLnggLT0gZ2x5cGhXaWR0
aCAvIDIuMDsKKyAgICAgICAgICAgIHN2Z0NoYXIueSArPSBnbHlwaEhlaWdodDsKKyAgICAgICAg
fQorCisgICAgICAgIC8vIFNldHVwIGFmZmluZSB0cmFuc2Zvcm0gZm9yIHNpbmdsZSBnbHlwaAor
ICAgICAgICBpZiAoYW5nbGUgIT0gMC4wKSB7CisgICAgICAgICAgICBBZmZpbmVUcmFuc2Zvcm0g
cm90YXRpb25NYXRyaXg7CisKKyAgICAgICAgICAgIHJvdGF0aW9uTWF0cml4LnRyYW5zbGF0ZShz
dmdDaGFyLnggKyBwYXRoWFNoaWZ0LCBzdmdDaGFyLnkgKyBwYXRoWVNoaWZ0KTsKKyAgICAgICAg
ICAgIHJvdGF0aW9uTWF0cml4LnJvdGF0ZShhbmdsZSk7CisgICAgICAgICAgICByb3RhdGlvbk1h
dHJpeC50cmFuc2xhdGUoLXN2Z0NoYXIueCAtIHBhdGhYU2hpZnQsIC1zdmdDaGFyLnkgLSBwYXRo
WVNoaWZ0KTsKKworICAgICAgICAgICAgc3ZnQ2hhci50cmFuc2Zvcm0gPSByb3RhdGlvbk1hdHJp
eDsKKyAgICAgICAgfQorCisgICAgICAgIC8vIEFkdmFuY2UgY3VycmVudCBwb3NpdGlvbgorICAg
ICAgICBpZiAoIWlzVmVydGljYWxUZXh0KQorICAgICAgICAgICAgaW5mby5jdXJ4ICs9IGdseXBo
V2lkdGg7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGluZm8uY3VyeSArPSBnbHlwaEhlaWdo
dDsKKworICAgICAgICBtX3N2Z0NoYXJzLmFwcGVuZChzdmdDaGFyKTsKKyAgICAgICAgaW5mby5w
cm9jZXNzZWRTaW5nbGVDaGFyYWN0ZXIoKTsKKyAgICB9Cit9CisKK3ZvaWQgU1ZHUm9vdElubGlu
ZUJveDo6YnVpbGRUZXh0Q2h1bmtzKCkKK3sKKyAgICBTVkdUZXh0Q2h1bmtMYXlvdXRJbmZvIGlu
Zm87CisgICAgaW5mby5pdCA9IG1fc3ZnQ2hhcnMuYmVnaW4oKTsKKyAgICBpbmZvLmNodW5rLnN0
YXJ0ID0gbV9zdmdDaGFycy5iZWdpbigpOworICAgIGluZm8uY2h1bmsuZW5kID0gbV9zdmdDaGFy
cy5iZWdpbigpOworCisgICAgYnVpbGRUZXh0Q2h1bmtzKHRoaXMsIGluZm8pOworICAgIEFTU0VS
VChpbmZvLml0ID09IG1fc3ZnQ2hhcnMuZW5kKCkpOworfQorCit2b2lkIFNWR1Jvb3RJbmxpbmVC
b3g6OmJ1aWxkVGV4dENodW5rcyhJbmxpbmVGbG93Qm94KiBzdGFydCwgU1ZHVGV4dENodW5rTGF5
b3V0SW5mbyYgaW5mbykKK3sKKyAgICBmb3IgKElubGluZUJveCogY3VyciA9IHN0YXJ0LT5maXJz
dENoaWxkKCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0T25MaW5lKCkpIHsKKyAgICAgICAgaWYg
KGN1cnItPm9iamVjdCgpLT5pc1RleHQoKSkgeworICAgICAgICAgICAgSW5saW5lVGV4dEJveCog
dGV4dEJveCA9IHN0YXRpY19jYXN0PElubGluZVRleHRCb3gqPihjdXJyKTsKKworICAgICAgICAg
ICAgdW5zaWduZWQgbGVuZ3RoID0gdGV4dEJveC0+bGVuKCk7CisgICAgICAgICAgICBpZiAoIWxl
bmd0aCkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgaWYgKGluZm8u
YWR2YW5jZU9ubHkpIHsKKyAgICAgICAgICAgICAgICBpbmZvLml0ICs9IGxlbmd0aDsKKyAgICAg
ICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgY29uc3Qg
Rm9udCYgZm9udCA9IGN1cnItPm9iamVjdCgpLT5zdHlsZSgpLT5mb250KCk7CisgICAgICAgICAg
ICBSZW5kZXJUZXh0KiB0ZXh0ID0gdGV4dEJveC0+dGV4dE9iamVjdCgpOworICAgICAgICAgICAg
QVNTRVJUKHRleHQpOworCisgICAgICAgICAgICAvLyBJZiBhIG5ldyAob3IgdGhlIGZpcnN0KSBj
aHVuayBoYXMgYmVlbiBzdGFydGVkLCByZWNvcmQgaXQncyB0ZXh0LWFuY2hvci4KKyAgICAgICAg
ICAgIGlmIChpbmZvLmFzc2lnbk5ld0FuY2hvcikgeworICAgICAgICAgICAgICAgIGluZm8uYXNz
aWduTmV3QW5jaG9yID0gZmFsc2U7CisgICAgICAgICAgICAgICAgaW5mby5jaHVuay5pc1ZlcnRp
Y2FsVGV4dCA9IGlzVmVydGljYWxXcml0aW5nTW9kZSh0ZXh0LT5zdHlsZSgpLT5zdmdTdHlsZSgp
KTsKKyAgICAgICAgICAgICAgICBpbmZvLmNodW5rLmFuY2hvciA9IHRleHQtPnN0eWxlKCktPnN2
Z1N0eWxlKCktPnRleHRBbmNob3IoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYg
KCFpbmZvLmNodW5rLmJveGVzLmNvbnRhaW5zKGN1cnIpKQorICAgICAgICAgICAgICAgIGluZm8u
Y2h1bmsuYm94ZXMuYWRkKGN1cnIpOworCisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgbGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgICAgICBBU1NFUlQoaW5mby5pdCAhPSBt
X3N2Z0NoYXJzLmVuZCgpKTsKKworICAgICAgICAgICAgICAgIGJvb2wgaXNGaXJzdENoYXJhY3Rl
ciA9IGluZm8uY2h1bmsuc3RhcnQgPT0gaW5mby5pdCAmJiBpbmZvLmNodW5rLnN0YXJ0ID09IGlu
Zm8uY2h1bmsuZW5kOworICAgICAgICAgICAgICAgIGlmICgoKmluZm8uaXQpLm5ld1RleHRDaHVu
aykgeworICAgICAgICAgICAgICAgICAgICBpZiAoIWlzRmlyc3RDaGFyYWN0ZXIpIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIENsb3NlIG1pZCBjaHVuaworICAgICAgICAgICAgICAgICAg
ICAgICAgaW5mby5jaHVuay5lbmQgPSBpbmZvLml0OworICAgICAgICAgICAgICAgICAgICAgICAg
aW5mby5jaHVuay5sYXN0R2x5cGhXaWR0aCA9IHRleHQtPndpZHRoKHRleHRCb3gtPnN0YXJ0KCkg
KyBpIC0gMSwgMSwgZm9udCwgMCk7CisgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLmNodW5r
Lmxhc3RHbHlwaEhlaWdodCA9IGZvbnQuYXNjZW50KCkgKyBmb250LmRlc2NlbnQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIG1fc3ZnVGV4dENodW5rcy5hcHBlbmQoaW5mby5jaHVuayk7CisK
KyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFByZXBhcmUgZm9yIG5leHQgY2h1bmsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGluZm8uY2h1bmsuYm94ZXMuY2xlYXIoKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGluZm8uY2h1bmsuc3RhcnQgPSBpbmZvLml0OworICAgICAgICAgICAgICAg
ICAgICAgICAgaW5mby5jaHVuay5hbmNob3IgPSB0ZXh0LT5zdHlsZSgpLT5zdmdTdHlsZSgpLT50
ZXh0QW5jaG9yKCk7CisgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLmNodW5rLmlzVmVydGlj
YWxUZXh0ID0gaXNWZXJ0aWNhbFdyaXRpbmdNb2RlKHRleHQtPnN0eWxlKCktPnN2Z1N0eWxlKCkp
OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgIAorICAgICAg
ICAgICAgICAgIGluZm8uaXQrKzsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKGlu
Zm8uaXQgPT0gbV9zdmdDaGFycy5lbmQoKSkgeworICAgICAgICAgICAgICAgIC8vIFJlbWVtYmVy
IHVhc3QgZ2x5cGggd2lkdGgvaGVpZ2h0LCBhcyB0aGUgZmluYWwgY2h1bmsgZ2V0cyBjbG9zZWQg
c29vbi4KKyAgICAgICAgICAgICAgICBpbmZvLmNodW5rLmxhc3RHbHlwaFdpZHRoID0gdGV4dC0+
d2lkdGgodGV4dEJveC0+ZW5kKCksIDEsIGZvbnQsIDApOworICAgICAgICAgICAgICAgIGluZm8u
Y2h1bmsubGFzdEdseXBoSGVpZ2h0ID0gZm9udC5hc2NlbnQoKSArIGZvbnQuZGVzY2VudCgpOwor
ICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgQVNTRVJUKGN1cnIt
PmlzSW5saW5lRmxvd0JveCgpKTsKKyAgICAgICAgICAgIElubGluZUZsb3dCb3gqIGZsb3dCb3gg
PSBzdGF0aWNfY2FzdDxJbmxpbmVGbG93Qm94Kj4oY3Vycik7CisKKyAgICAgICAgICAgIC8vIDx0
ZXh0UGF0aD4gZG9lc24ndCBuZWVkIHRoaXMgY2h1bmsgbG9naWMuCisgICAgICAgICAgICBib29s
IGlzVGV4dFBhdGggPSBmbG93Qm94LT5vYmplY3QoKS0+ZWxlbWVudCgpLT5oYXNUYWdOYW1lKFNW
R05hbWVzOjp0ZXh0UGF0aFRhZyk7CisKKyAgICAgICAgICAgIGlmIChpc1RleHRQYXRoKQorICAg
ICAgICAgICAgICAgIGluZm8uYWR2YW5jZU9ubHkgPSB0cnVlOworCisgICAgICAgICAgICBidWls
ZFRleHRDaHVua3MoZmxvd0JveCwgaW5mbyk7CisKKyAgICAgICAgICAgIGlmIChpc1RleHRQYXRo
KQorICAgICAgICAgICAgICAgIGluZm8uYWR2YW5jZU9ubHkgPSBmYWxzZTsKKyAgICAgICAgfQor
ICAgIH0KKworICAgIC8vIENsb3NlIGZpbmFsIGNodW5rCisgICAgaWYgKHN0YXJ0LT5pc1Jvb3RJ
bmxpbmVCb3goKSkgeworICAgICAgICBBU1NFUlQoaW5mby5pdCA9PSBtX3N2Z0NoYXJzLmVuZCgp
KTsKKworICAgICAgICBpbmZvLmNodW5rLmVuZCA9IGluZm8uaXQ7CisgICAgICAgIG1fc3ZnVGV4
dENodW5rcy5hcHBlbmQoaW5mby5jaHVuayk7CisgICAgfQorfQorCit2b2lkIFNWR1Jvb3RJbmxp
bmVCb3g6OmxheW91dFRleHRDaHVua3MoKQoreworICAgIFZlY3RvcjxTVkdUZXh0Q2h1bms+Ojpp
dGVyYXRvciBpdCA9IG1fc3ZnVGV4dENodW5rcy5iZWdpbigpOworICAgIFZlY3RvcjxTVkdUZXh0
Q2h1bms+OjppdGVyYXRvciBlbmQgPSBtX3N2Z1RleHRDaHVua3MuZW5kKCk7CisKKyAgICBmb3Ig
KDsgaXQgIT0gZW5kOyArK2l0KSB7CisgICAgICAgIFNWR1RleHRDaHVuayBjdXJyZW50ID0gKml0
OworCisgICAgICAgIC8vIEFwcGx5IHRleHQgYW5jaG9yIGZpcnN0CisgICAgICAgIGFwcGx5VGV4
dEFuY2hvclRvVGV4dENodW5rKGN1cnJlbnQpOworICAgIH0KK30KKwordm9pZCBTVkdSb290SW5s
aW5lQm94OjpwYWludElubGluZUJveGVzKFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiBwYWludElu
Zm8sIGludCB0eCwgaW50IHR5LCBJbmxpbmVGbG93Qm94KiBzdGFydCwgVmVjdG9yPFNWR0NoYXI+
OjppdGVyYXRvciYgaXQpCit7CisgICAgZm9yIChJbmxpbmVCb3gqIGN1cnIgPSBzdGFydC0+Zmly
c3RDaGlsZCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dE9uTGluZSgpKSB7CisgICAgICAgIGlm
IChjdXJyLT5vYmplY3QoKS0+aXNUZXh0KCkpIHsKKyAgICAgICAgICAgIElubGluZVRleHRCb3gq
IHRleHRCb3ggPSBzdGF0aWNfY2FzdDxJbmxpbmVUZXh0Qm94Kj4oY3Vycik7CisKKyAgICAgICAg
ICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRleHRCb3gtPmxlbigpOworICAgICAgICAgICAgaWYgKCFs
ZW5ndGgpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIFJlbmRlclRl
eHQqIHRleHQgPSB0ZXh0Qm94LT50ZXh0T2JqZWN0KCk7CisgICAgICAgICAgICBBU1NFUlQodGV4
dCk7CisKKyAgICAgICAgICAgIC8vIFBhaW50IGFsbCBjb250YWluZWQgY2hhcmFjdGVycywgb25l
LWJ5LW9uZSBhcyB3b3JzdCBjYXNlLgorICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IGxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICAgICAgQVNTRVJUKGl0ICE9IG1fc3ZnQ2hh
cnMuZW5kKCkpOworCisgICAgICAgICAgICAgICAgaWYgKCEoKml0KS52aXNpYmxlKSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0Kys7CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIC8vIERldGVybWluZSBob3cgbWFueSBj
aGFyYWN0ZXJzIC0gc3RhcnRpbmcgZnJvbSB0aGUgY3VycmVudCAtIGNhbiBiZSBkcmF3biBhdCBv
bmNlLgorICAgICAgICAgICAgICAgIHVuc2lnbmVkIHN0YXJ0T2Zmc2V0ID0gaSArIDEsIHJ1biA9
IDE7CisgICAgICAgICAgICAgICAgd2hpbGUgKHN0YXJ0T2Zmc2V0IDwgbGVuZ3RoKSB7CisgICAg
ICAgICAgICAgICAgICAgIFNWR0NoYXIgY2h1bmsgPSAqKGl0ICsgc3RhcnRPZmZzZXQgLSBpKTsK
KyAgICAgICAgICAgICAgICAgICAgaWYgKGNodW5rLmRyYXduU2VwZXJhdGVkKQorICAgICAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICAgICAgcnVuKys7CisgICAg
ICAgICAgICAgICAgICAgIHN0YXJ0T2Zmc2V0Kys7CisgICAgICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICAgICAgcGFpbnRDaGFyYWN0ZXJSYW5nZUZvclRleHRCb3gocGFpbnRJbmZvLCB0eCwg
dHksIHRleHRCb3gsICppdCwgdGV4dC0+Y2hhcmFjdGVycygpICsgdGV4dEJveC0+c3RhcnQoKSAr
IGksIHJ1bik7CisKKyAgICAgICAgICAgICAgICBpICs9IHJ1biAtIDE7CisgICAgICAgICAgICAg
ICAgaXQgKz0gcnVuOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgQVNTRVJUKGN1cnItPmlzSW5saW5lRmxvd0JveCgpKTsKKyAgICAgICAgICAgIElubGluZUZs
b3dCb3gqIGZsb3dCb3ggPSBzdGF0aWNfY2FzdDxJbmxpbmVGbG93Qm94Kj4oY3Vycik7CisKKyAg
ICAgICAgICAgIEZsb2F0UmVjdCBib3VuZGluZ0JveDsKKworICAgICAgICAgICAgU1ZHUmVzb3Vy
Y2VGaWx0ZXIqIGZpbHRlciA9IDA7CisgICAgICAgICAgICBwcmVwYXJlVGV4dFJlbmRlcmluZyhw
YWludEluZm8sIHR4LCB0eSwgZmxvd0JveCwgYm91bmRpbmdCb3gsIGZpbHRlcik7CisKKyAgICAg
ICAgICAgIFJlbmRlck9iamVjdCogb2JqZWN0ID0gZmxvd0JveC0+b2JqZWN0KCk7CisgICAgICAg
ICAgICBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyBwaShwYWludEluZm8pOworCisgICAgICAgICAg
ICBpZiAoIWZsb3dCb3gtPmlzUm9vdElubGluZUJveCgpKQorICAgICAgICAgICAgICAgIHBpLnJl
Y3QgPSAob2JqZWN0LT5sb2NhbFRyYW5zZm9ybSgpKS5pbnZlcnNlKCkubWFwUmVjdChwaS5yZWN0
KTsKKworICAgICAgICAgICAgZmxvYXQgb3BhY2l0eSA9IG9iamVjdC0+c3R5bGUoKS0+b3BhY2l0
eSgpOworICAgICAgICAgICAgaWYgKG9wYWNpdHkgPCAxLjBmKSB7CisgICAgICAgICAgICAgICAg
cGFpbnRJbmZvLmNvbnRleHQtPmNsaXAoZW5jbG9zaW5nSW50UmVjdChib3VuZGluZ0JveCkpOwor
ICAgICAgICAgICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5iZWdpblRyYW5zcGFyZW5jeUxheWVy
KG9wYWNpdHkpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBib29sIHBhaW50ZWQgPSBm
YWxzZTsKKyAgICAgICAgICAgIFZlY3RvcjxTVkdDaGFyPjo6aXRlcmF0b3Igc2F2ZWRJdCA9IGl0
OworICAgIAorICAgICAgICAgICAgU1ZHUGFpbnRTZXJ2ZXIqIGZpbGxQYWludFNlcnZlciA9IEtT
VkdQYWludGVyRmFjdG9yeTo6ZmlsbFBhaW50U2VydmVyKG9iamVjdC0+c3R5bGUoKSwgb2JqZWN0
KTsKKyAgICAgICAgICAgIGlmIChmaWxsUGFpbnRTZXJ2ZXIpIHsKKyAgICAgICAgICAgICAgICBp
ZiAoZmlsbFBhaW50U2VydmVyLT5zZXR1cChwaS5jb250ZXh0LCBvYmplY3QsIEFwcGx5VG9GaWxs
VGFyZ2V0VHlwZSwgdHJ1ZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgcGFpbnRlZCA9IHRydWU7
CisKKyAgICAgICAgICAgICAgICAgICAgcGFpbnRJbmxpbmVCb3hlcyhwaSwgdHgsIHR5LCBmbG93
Qm94LCBpdCk7CisgICAgICAgICAgICAgICAgICAgIGZpbGxQYWludFNlcnZlci0+dGVhcmRvd24o
cGkuY29udGV4dCwgb2JqZWN0LCBBcHBseVRvRmlsbFRhcmdldFR5cGUsIHRydWUpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgU1ZHUGFpbnRTZXJ2ZXIq
IHN0cm9rZVBhaW50U2VydmVyID0gS1NWR1BhaW50ZXJGYWN0b3J5OjpzdHJva2VQYWludFNlcnZl
cihvYmplY3QtPnN0eWxlKCksIG9iamVjdCk7CisgICAgICAgICAgICBpZiAoc3Ryb2tlUGFpbnRT
ZXJ2ZXIpIHsKKyAgICAgICAgICAgICAgICBpZiAoc3Ryb2tlUGFpbnRTZXJ2ZXItPnNldHVwKHBp
LmNvbnRleHQsIG9iamVjdCwgQXBwbHlUb1N0cm9rZVRhcmdldFR5cGUsIHRydWUpKSB7CisgICAg
ICAgICAgICAgICAgICAgIGlmIChwYWludGVkKQorICAgICAgICAgICAgICAgICAgICAgICAgaXQg
PSBzYXZlZEl0OworCisgICAgICAgICAgICAgICAgICAgIHBhaW50SW5saW5lQm94ZXMocGksIHR4
LCB0eSwgZmxvd0JveCwgaXQpOworICAgICAgICAgICAgICAgICAgICBzdHJva2VQYWludFNlcnZl
ci0+dGVhcmRvd24ocGkuY29udGV4dCwgb2JqZWN0LCBBcHBseVRvU3Ryb2tlVGFyZ2V0VHlwZSwg
dHJ1ZSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisjaWYgRU5BQkxFKFNW
R19FWFBFUklNRU5UQUxfRkVBVFVSRVMpCisgICAgICAgICAgICBpZiAoZmlsdGVyKQorICAgICAg
ICAgICAgICAgIGZpbHRlci0+YXBwbHlGaWx0ZXIocGFpbnRJbmZvLmNvbnRleHQsIGJvdW5kaW5n
Qm94KTsKKyNlbmRpZgorCisgICAgICAgICAgICBpZiAob3BhY2l0eSA8IDEuMGYpCisgICAgICAg
ICAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPmVuZFRyYW5zcGFyZW5jeUxheWVyKCk7CisKKyAg
ICAgICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5yZXN0b3JlKCk7CisgICAgICAgIH0KKyAgICB9
Cit9CisKK3ZvaWQgU1ZHUm9vdElubGluZUJveDo6cGFpbnRDaGFyYWN0ZXJSYW5nZUZvclRleHRC
b3goUmVuZGVyT2JqZWN0OjpQYWludEluZm8mIHBhaW50SW5mbywgaW50IHR4LCBpbnQgdHksIElu
bGluZVRleHRCb3gqIHRleHRCb3gsIGNvbnN0IFNWR0NoYXImIHN2Z0NoYXIsIGNvbnN0IFVDaGFy
KiBjaGFycywgaW50IGxlbmd0aCkKK3sKKyAgICBSZW5kZXJUZXh0KiB0ZXh0ID0gdGV4dEJveC0+
dGV4dE9iamVjdCgpOworICAgIEFTU0VSVCh0ZXh0KTsKKworICAgIGlmIChvYmplY3QoKS0+c3R5
bGUoKS0+dmlzaWJpbGl0eSgpICE9IFZJU0lCTEUgfHwgcGFpbnRJbmZvLnBoYXNlID09IFBhaW50
UGhhc2VPdXRsaW5lKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgQVNTRVJUKHBhaW50SW5m
by5waGFzZSAhPSBQYWludFBoYXNlU2VsZk91dGxpbmUgJiYgcGFpbnRJbmZvLnBoYXNlICE9IFBh
aW50UGhhc2VDaGlsZE91dGxpbmVzKTsKKworLyogRklYTUUgLSBzdmdDaGFyLngveSBhcmUgYWJz
b2x1dGUgcG9zaXRpb25zLCBuZWVkIHRvIHJlc3BlY3QgY3RtIGhlcmUhCisgICAgaW50IHhQb3Mg
PSB0eCArIHN2Z0NoYXIueCAtIHRleHRCb3gtPnBhcmVudCgpLT5tYXhIb3Jpem9udGFsVmlzdWFs
T3ZlcmZsb3coKTsKKyAgICBpbnQgdyA9IHdpZHRoKCkgKyAyICogdGV4dEJveC0+cGFyZW50KCkt
Pm1heEhvcml6b250YWxWaXN1YWxPdmVyZmxvdygpOworICAgIGlmICh4UG9zID49IHBhaW50SW5m
by5yZWN0LnJpZ2h0KCkgfHwgeFBvcyArIHcgPD0gcGFpbnRJbmZvLnJlY3QueCgpKQorICAgICAg
ICByZXR1cm47CisqLworICAgIGJvb2wgaXNQcmludGluZyA9IHRleHQtPmRvY3VtZW50KCktPnBy
aW50aW5nKCk7CisKKyAgICAvLyBEZXRlcm1pbmUgd2hldGhlciBvciBub3Qgd2UncmUgc2VsZWN0
ZWQuCisgICAgYm9vbCBoYXZlU2VsZWN0aW9uID0gIWlzUHJpbnRpbmcgJiYgc2VsZWN0aW9uU3Rh
dGUoKSAhPSBSZW5kZXJPYmplY3Q6OlNlbGVjdGlvbk5vbmU7CisgICAgaWYgKCFoYXZlU2VsZWN0
aW9uICYmIHBhaW50SW5mby5waGFzZSA9PSBQYWludFBoYXNlU2VsZWN0aW9uKQorICAgICAgICAv
LyBXaGVuIG9ubHkgcGFpbnRpbmcgdGhlIHNlbGVjdGlvbiwgZG9uJ3QgYm90aGVyIHRvIHBhaW50
IGlmIHRoZXJlIGlzIG5vbmUuCisgICAgICAgIHJldHVybjsKKworICAgIC8vIERldGVybWluZSB3
aGV0aGVyIG9yIG5vdCB3ZSBoYXZlIG1hcmtlZCB0ZXh0LgorICAgIFJhbmdlKiBtYXJrZWRUZXh0
UmFuZ2UgPSB0ZXh0LT5kb2N1bWVudCgpLT5mcmFtZSgpLT5tYXJrZWRUZXh0UmFuZ2UoKTsKKyAg
ICBpbnQgZXhjZXB0aW9uID0gMDsKKyAgICBib29sIGhhdmVNYXJrZWRUZXh0ID0gbWFya2VkVGV4
dFJhbmdlICYmIG1hcmtlZFRleHRSYW5nZS0+c3RhcnRDb250YWluZXIoZXhjZXB0aW9uKSA9PSB0
ZXh0LT5ub2RlKCk7CisgICAgYm9vbCBtYXJrZWRUZXh0VXNlc1VuZGVybGluZXMgPSB0ZXh0LT5k
b2N1bWVudCgpLT5mcmFtZSgpLT5tYXJrZWRUZXh0VXNlc1VuZGVybGluZXMoKTsKKworICAgIC8v
IFNldCBvdXIgZm9udAorICAgIFJlbmRlclN0eWxlKiBzdHlsZVRvVXNlID0gdGV4dC0+c3R5bGUo
dGV4dEJveC0+aXNGaXJzdExpbmVTdHlsZSgpKTsKKyAgICBpbnQgZCA9IHN0eWxlVG9Vc2UtPnRl
eHREZWNvcmF0aW9uc0luRWZmZWN0KCk7CisgICAgY29uc3QgRm9udCogZm9udCA9ICZzdHlsZVRv
VXNlLT5mb250KCk7CisgICAgaWYgKCpmb250ICE9IHBhaW50SW5mby5jb250ZXh0LT5mb250KCkp
CisgICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5zZXRGb250KCpmb250KTsKKworICAgIC8vIDEu
IFBhaW50IGJhY2tncm91bmRzIGJlaGluZCB0ZXh0IGlmIG5lZWRlZC4gIEV4YW1wbGVzIG9mIHN1
Y2ggYmFja2dyb3VuZHMgaW5jbHVkZSBzZWxlY3Rpb24KKyAgICAvLyBhbmQgbWFya2VkIHRleHQu
CisgICAgaWYgKHBhaW50SW5mby5waGFzZSAhPSBQYWludFBoYXNlU2VsZWN0aW9uICYmICFpc1By
aW50aW5nKSB7CisjaWYgUExBVEZPUk0oTUFDKQorICAgICAgICAvLyBDdXN0b20gaGlnaGxpZ2h0
ZXJzIGdvIGJlaGluZCBldmVyeXRoaW5nIGVsc2UuCisgICAgICAgIGlmIChzdHlsZVRvVXNlLT5o
aWdobGlnaHQoKSAhPSBudWxsQXRvbSAmJiAhcGFpbnRJbmZvLmNvbnRleHQtPnBhaW50aW5nRGlz
YWJsZWQoKSkKKyAgICAgICAgICAgIHRleHRCb3gtPnBhaW50Q3VzdG9tSGlnaGxpZ2h0KHR4LCB0
eSwgc3R5bGVUb1VzZS0+aGlnaGxpZ2h0KCkpOworI2VuZGlmCisKKyAgICAgICAgaWYgKGhhdmVN
YXJrZWRUZXh0ICAmJiAhbWFya2VkVGV4dFVzZXNVbmRlcmxpbmVzKQorICAgICAgICAgICAgdGV4
dEJveC0+cGFpbnRNYXJrZWRUZXh0QmFja2dyb3VuZChwYWludEluZm8uY29udGV4dCwgdHgsIHR5
LCBzdHlsZVRvVXNlLCBmb250LCBtYXJrZWRUZXh0UmFuZ2UtPnN0YXJ0T2Zmc2V0KGV4Y2VwdGlv
biksIG1hcmtlZFRleHRSYW5nZS0+ZW5kT2Zmc2V0KGV4Y2VwdGlvbikpOworCisgICAgICAgIHRl
eHRCb3gtPnBhaW50RG9jdW1lbnRNYXJrZXJzKHBhaW50SW5mby5jb250ZXh0LCB0eCwgdHksIHN0
eWxlVG9Vc2UsIGZvbnQsIHRydWUpOworCisgICAgICAgIGlmIChoYXZlU2VsZWN0aW9uKQorICAg
ICAgICAgICAgdGV4dEJveC0+cGFpbnRTZWxlY3Rpb24ocGFpbnRJbmZvLmNvbnRleHQsIHR4LCB0
eSwgc3R5bGVUb1VzZSwgZm9udCk7CisgICAgfQorCisgICAgY29uc3QgVmVjdG9yPE1hcmtlZFRl
eHRVbmRlcmxpbmU+KiB1bmRlcmxpbmVzID0gMDsKKyAgICBzaXplX3QgbnVtVW5kZXJsaW5lcyA9
IDA7CisgICAgaWYgKGhhdmVNYXJrZWRUZXh0ICYmIG1hcmtlZFRleHRVc2VzVW5kZXJsaW5lcykg
eworICAgICAgICB1bmRlcmxpbmVzID0gJnRleHQtPmRvY3VtZW50KCktPmZyYW1lKCktPm1hcmtl
ZFRleHRVbmRlcmxpbmVzKCk7CisgICAgICAgIG51bVVuZGVybGluZXMgPSB1bmRlcmxpbmVzLT5z
aXplKCk7CisgICAgfQorCisgICAgQ29sb3IgdGV4dEZpbGxDb2xvcjsKKyAgICBDb2xvciB0ZXh0
U3Ryb2tlQ29sb3I7CisgICAgZmxvYXQgdGV4dFN0cm9rZVdpZHRoID0gc3R5bGVUb1VzZS0+dGV4
dFN0cm9rZVdpZHRoKCk7CisKKyAgICBpZiAocGFpbnRJbmZvLmZvcmNlV2hpdGVUZXh0KSB7Cisg
ICAgICAgIHRleHRGaWxsQ29sb3IgPSBDb2xvcjo6d2hpdGU7CisgICAgICAgIHRleHRTdHJva2VD
b2xvciA9IENvbG9yOjp3aGl0ZTsKKyAgICB9IGVsc2UgeworICAgICAgICB0ZXh0RmlsbENvbG9y
ID0gc3R5bGVUb1VzZS0+dGV4dEZpbGxDb2xvcigpOworICAgICAgICBpZiAoIXRleHRGaWxsQ29s
b3IuaXNWYWxpZCgpKQorICAgICAgICAgICAgdGV4dEZpbGxDb2xvciA9IHN0eWxlVG9Vc2UtPmNv
bG9yKCk7CisKKyAgICAgICAgLy8gTWFrZSB0aGUgdGV4dCBmaWxsIGNvbG9yIGxlZ2libGUgYWdh
aW5zdCBhIHdoaXRlIGJhY2tncm91bmQKKyAgICAgICAgaWYgKHN0eWxlVG9Vc2UtPmZvcmNlQmFj
a2dyb3VuZHNUb1doaXRlKCkpCisgICAgICAgICAgICB0ZXh0RmlsbENvbG9yID0gY29ycmVjdGVk
VGV4dENvbG9yKHRleHRGaWxsQ29sb3IsIENvbG9yOjp3aGl0ZSk7CisKKyAgICAgICAgdGV4dFN0
cm9rZUNvbG9yID0gc3R5bGVUb1VzZS0+dGV4dFN0cm9rZUNvbG9yKCk7CisgICAgICAgIGlmICgh
dGV4dFN0cm9rZUNvbG9yLmlzVmFsaWQoKSkKKyAgICAgICAgICAgIHRleHRTdHJva2VDb2xvciA9
IHN0eWxlVG9Vc2UtPmNvbG9yKCk7CisKKyAgICAgICAgLy8gTWFrZSB0aGUgdGV4dCBzdHJva2Ug
Y29sb3IgbGVnaWJsZSBhZ2FpbnN0IGEgd2hpdGUgYmFja2dyb3VuZAorICAgICAgICBpZiAoc3R5
bGVUb1VzZS0+Zm9yY2VCYWNrZ3JvdW5kc1RvV2hpdGUoKSkKKyAgICAgICAgICAgIHRleHRTdHJv
a2VDb2xvciA9IGNvcnJlY3RlZFRleHRDb2xvcih0ZXh0U3Ryb2tlQ29sb3IsIENvbG9yOjp3aGl0
ZSk7CisgICAgfQorCisgICAgLy8gRm9yIHN0cm9rZWQgcGFpbnRpbmcsIHdlIGhhdmUgdG8gY2hh
bmdlIHRoZSB0ZXh0IGRyYXdpbmcgbW9kZS4gIEl0J3MgcHJvYmFibHkgZGFuZ2Vyb3VzIHRvIGxl
YXZlIHRoYXQgbXV0YXRlZCBhcyBhIHNpZGUKKyAgICAvLyBlZmZlY3QsIHNvIG9ubHkgd2hlbiB3
ZSBrbm93IHdlJ3JlIHN0cm9raW5nLCBkbyBhIHNhdmUvcmVzdG9yZS4KKyAgICBpZiAodGV4dFN0
cm9rZVdpZHRoID4gMCkKKyAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPnNhdmUoKTsKKworICAg
IGlmICghc3ZnQ2hhci50cmFuc2Zvcm0uaXNJZGVudGl0eSgpKQorICAgICAgICBwYWludEluZm8u
Y29udGV4dC0+Y29uY2F0Q1RNKHN2Z0NoYXIudHJhbnNmb3JtKTsKKworICAgIHVwZGF0ZUdyYXBo
aWNzQ29udGV4dChwYWludEluZm8uY29udGV4dCwgdGV4dEZpbGxDb2xvciwgdGV4dFN0cm9rZUNv
bG9yLCB0ZXh0U3Ryb2tlV2lkdGgpOworICAgIAorICAgIC8vIFNldCBhIHRleHQgc2hhZG93IGlm
IHdlIGhhdmUgb25lLgorICAgIC8vIEZJWE1FOiBTdXBwb3J0IG11bHRpcGxlIHNoYWRvdyBlZmZl
Y3RzLiAgTmVlZCBtb3JlIGZyb20gdGhlIENHIEFQSSBiZWZvcmUKKyAgICAvLyB3ZSBjYW4gZG8g
dGhpcy4KKyAgICBib29sIHNldFNoYWRvdyA9IGZhbHNlOworICAgIGlmIChzdHlsZVRvVXNlLT50
ZXh0U2hhZG93KCkpIHsKKyAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPnNldFNoYWRvdyhJbnRT
aXplKHN0eWxlVG9Vc2UtPnRleHRTaGFkb3coKS0+eCwgc3R5bGVUb1VzZS0+dGV4dFNoYWRvdygp
LT55KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZVRvVXNlLT50
ZXh0U2hhZG93KCktPmJsdXIsIHN0eWxlVG9Vc2UtPnRleHRTaGFkb3coKS0+Y29sb3IpOworICAg
ICAgICBzZXRTaGFkb3cgPSB0cnVlOworICAgIH0KKworICAgIGJvb2wgcGFpbnRTZWxlY3RlZFRl
eHRPbmx5ID0gKHBhaW50SW5mby5waGFzZSA9PSBQYWludFBoYXNlU2VsZWN0aW9uKTsKKyAgICBi
b29sIHBhaW50U2VsZWN0ZWRUZXh0U2VwYXJhdGVseSA9IGZhbHNlOyAvLyBXaGV0aGVyIG9yIG5v
dCB3ZSBoYXZlIHRvIGRvIG11bHRpcGxlIHBhaW50cy4gIE9ubHkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBuZWNlc3Nhcnkgd2hlbiBhIGN1c3RvbSA6
OnNlbGVjdGlvbiBmb3JlZ3JvdW5kIGNvbG9yIGlzIGFwcGxpZWQuCisgICAgQ29sb3Igc2VsZWN0
aW9uRmlsbENvbG9yID0gdGV4dEZpbGxDb2xvcjsKKyAgICBDb2xvciBzZWxlY3Rpb25TdHJva2VD
b2xvciA9IHRleHRTdHJva2VDb2xvcjsKKyAgICBmbG9hdCBzZWxlY3Rpb25TdHJva2VXaWR0aCA9
IHRleHRTdHJva2VXaWR0aDsKKyAgICBTaGFkb3dEYXRhKiBzZWxlY3Rpb25UZXh0U2hhZG93ID0g
MDsKKworICAgIGlmIChoYXZlU2VsZWN0aW9uKSB7CisgICAgICAgIC8vIENoZWNrIGZvcmVncm91
bmQgY29sb3IgZmlyc3QuCisgICAgICAgIENvbG9yIGZvcmVncm91bmQgPSBvYmplY3QoKS0+c2Vs
ZWN0aW9uRm9yZWdyb3VuZENvbG9yKCk7CisgICAgICAgIGlmIChmb3JlZ3JvdW5kLmlzVmFsaWQo
KSAmJiBmb3JlZ3JvdW5kICE9IHNlbGVjdGlvbkZpbGxDb2xvcikgeworICAgICAgICAgICAgaWYg
KCFwYWludFNlbGVjdGVkVGV4dE9ubHkpCisgICAgICAgICAgICAgICAgcGFpbnRTZWxlY3RlZFRl
eHRTZXBhcmF0ZWx5ID0gdHJ1ZTsKKyAgICAgICAgICAgIHNlbGVjdGlvbkZpbGxDb2xvciA9IGZv
cmVncm91bmQ7CisgICAgICAgIH0KKyAgICAgICAgUmVuZGVyU3R5bGUqIHBzZXVkb1N0eWxlID0g
b2JqZWN0KCktPmdldFBzZXVkb1N0eWxlKFJlbmRlclN0eWxlOjpTRUxFQ1RJT04pOworICAgICAg
ICBpZiAocHNldWRvU3R5bGUpIHsKKyAgICAgICAgICAgIGlmIChwc2V1ZG9TdHlsZS0+dGV4dFNo
YWRvdygpKSB7CisgICAgICAgICAgICAgICAgaWYgKCFwYWludFNlbGVjdGVkVGV4dE9ubHkpCisg
ICAgICAgICAgICAgICAgICAgIHBhaW50U2VsZWN0ZWRUZXh0U2VwYXJhdGVseSA9IHRydWU7Cisg
ICAgICAgICAgICAgICAgaWYgKHBzZXVkb1N0eWxlLT50ZXh0U2hhZG93KCkpCisgICAgICAgICAg
ICAgICAgICAgIHNlbGVjdGlvblRleHRTaGFkb3cgPSBwc2V1ZG9TdHlsZS0+dGV4dFNoYWRvdygp
OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmbG9hdCBzdHJva2VXaWR0aCA9IHBzZXVk
b1N0eWxlLT50ZXh0U3Ryb2tlV2lkdGgoKTsKKyAgICAgICAgICAgIGlmIChzdHJva2VXaWR0aCAh
PSBzZWxlY3Rpb25TdHJva2VXaWR0aCkgeworICAgICAgICAgICAgICAgIGlmICghcGFpbnRTZWxl
Y3RlZFRleHRPbmx5KQorICAgICAgICAgICAgICAgICAgICBwYWludFNlbGVjdGVkVGV4dFNlcGFy
YXRlbHkgPSB0cnVlOworICAgICAgICAgICAgICAgIHNlbGVjdGlvblN0cm9rZVdpZHRoID0gc3Ry
b2tlV2lkdGg7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIENvbG9yIHN0cm9rZSA9IHBz
ZXVkb1N0eWxlLT50ZXh0U3Ryb2tlQ29sb3IoKTsKKyAgICAgICAgICAgIGlmICghc3Ryb2tlLmlz
VmFsaWQoKSkKKyAgICAgICAgICAgICAgICBzdHJva2UgPSBwc2V1ZG9TdHlsZS0+Y29sb3IoKTsK
KyAgICAgICAgICAgIGlmIChzdHJva2UgIT0gc2VsZWN0aW9uU3Ryb2tlQ29sb3IpIHsKKyAgICAg
ICAgICAgICAgICBpZiAoIXBhaW50U2VsZWN0ZWRUZXh0T25seSkKKyAgICAgICAgICAgICAgICAg
ICAgcGFpbnRTZWxlY3RlZFRleHRTZXBhcmF0ZWx5ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBz
ZWxlY3Rpb25TdHJva2VDb2xvciA9IHN0cm9rZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQor
ICAgIH0KKworICAgIFRleHRTdHlsZSB0ZXh0U3R5bGUoMCwgc3ZnQ2hhci54LCB0ZXh0Qm94LT5t
X3RvQWRkLCB0ZXh0Qm94LT5tX3JldmVyc2VkLCB0ZXh0Qm94LT5tX2Rpck92ZXJyaWRlIHx8IHN0
eWxlVG9Vc2UtPnZpc3VhbGx5T3JkZXJlZCgpKTsKKworICAgIGlmICghcGFpbnRTZWxlY3RlZFRl
eHRPbmx5ICYmICFwYWludFNlbGVjdGVkVGV4dFNlcGFyYXRlbHkpIHsKKyAgICAgICAgLy8gcGFp
bnQgYWxsIHRoZSB0ZXh0CisgICAgICAgIC8vIEZJWE1FOiBIYW5kbGUgUlRMIGRpcmVjdGlvbiwg
aGFuZGxlIHJldmVyc2VkIHN0cmluZ3MuICBGb3Igbm93IHRydW5jYXRpb24gY2FuIG9ubHkgYmUg
dHVybmVkIG9uCisgICAgICAgIC8vIGZvciBub24tcmV2ZXJzZWQgTFRSIHN0cmluZ3MuCisgICAg
ICAgIHBhaW50SW5mby5jb250ZXh0LT5kcmF3VGV4dChUZXh0UnVuKGNoYXJzLCBsZW5ndGgpLCBJ
bnRQb2ludChzdmdDaGFyLngsIHN2Z0NoYXIueSksIHRleHRTdHlsZSk7CisgICAgfSBlbHNlIHsK
KyAgICAgICAgaW50IHNQb3MsIGVQb3M7CisgICAgICAgIHRleHRCb3gtPnNlbGVjdGlvblN0YXJ0
RW5kKHNQb3MsIGVQb3MpOworICAgICAgICBpZiAocGFpbnRTZWxlY3RlZFRleHRTZXBhcmF0ZWx5
KSB7CisgICAgICAgICAgICAvLyBwYWludCBvbmx5IHRoZSB0ZXh0IHRoYXQgaXMgbm90IHNlbGVj
dGVkCisgICAgICAgICAgICBpZiAoc1BvcyA+PSBlUG9zKQorICAgICAgICAgICAgICAgIHBhaW50
SW5mby5jb250ZXh0LT5kcmF3VGV4dChUZXh0UnVuKGNoYXJzLCBsZW5ndGgpLCBJbnRQb2ludChz
dmdDaGFyLngsIHN2Z0NoYXIueSksIHRleHRTdHlsZSk7CisgICAgICAgICAgICBlbHNlCisgICAg
ICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIH0KKworICAgICAgICBp
ZiAoc1BvcyA8IGVQb3MpIHsKKyAgICAgICAgICAgIC8vIHBhaW50IG9ubHkgdGhlIHRleHQgdGhh
dCBpcyBzZWxlY3RlZAorICAgICAgICAgICAgaWYgKHNlbGVjdGlvblN0cm9rZVdpZHRoID4gMCkK
KyAgICAgICAgICAgICAgICBwYWludEluZm8uY29udGV4dC0+c2F2ZSgpOworCisgICAgICAgICAg
ICB1cGRhdGVHcmFwaGljc0NvbnRleHQocGFpbnRJbmZvLmNvbnRleHQsIHNlbGVjdGlvbkZpbGxD
b2xvciwgc2VsZWN0aW9uU3Ryb2tlQ29sb3IsIHNlbGVjdGlvblN0cm9rZVdpZHRoKTsKKworICAg
ICAgICAgICAgaWYgKHNlbGVjdGlvblRleHRTaGFkb3cpCisgICAgICAgICAgICAgICAgcGFpbnRJ
bmZvLmNvbnRleHQtPnNldFNoYWRvdyhJbnRTaXplKHNlbGVjdGlvblRleHRTaGFkb3ctPngsIHNl
bGVjdGlvblRleHRTaGFkb3ctPnkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2VsZWN0aW9uVGV4dFNoYWRvdy0+Ymx1ciwgc2VsZWN0aW9uVGV4dFNoYWRv
dy0+Y29sb3IpOworICAgICAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPmRyYXdUZXh0KFRleHRS
dW4oY2hhcnMgKyBsZW5ndGggKyBzUG9zLCBlUG9zIC0gc1BvcyksIEludFBvaW50KHN2Z0NoYXIu
eCwgc3ZnQ2hhci55KSwgdGV4dFN0eWxlKTsKKyAgICAgICAgICAgIGlmIChzZWxlY3Rpb25UZXh0
U2hhZG93KQorICAgICAgICAgICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5jbGVhclNoYWRvdygp
OworCisgICAgICAgICAgICBpZiAoc2VsZWN0aW9uU3Ryb2tlV2lkdGggPiAwKQorICAgICAgICAg
ICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5yZXN0b3JlKCk7CisgICAgICAgIH0KKyAgICB9CisK
KyAgICAvLyBQYWludCBkZWNvcmF0aW9ucworICAgIGlmIChkICE9IFRETk9ORSAmJiBwYWludElu
Zm8ucGhhc2UgIT0gUGFpbnRQaGFzZVNlbGVjdGlvbikgeworICAgICAgICAvLyBJbmxpbmVUZXh0
Qm94OjpwYWludCwgY2hlY2tzIGZvciBodG1sSGFja3MoKSBiZWluZyBlbmFibGVkIC0gb2JleSB0
aGF0LgorICAgICAgICAvLyBJbmxpbmVUZXh0Qm94OjpwYWludCwgZG9lc24ndCBzYXZlL3Jlc3Rv
cmUgY29udGV4dCBoZXJlLCBuZWVkZWQgZm9yIHVzIQorICAgICAgICBwYWludEluZm8uY29udGV4
dC0+c2F2ZSgpOworICAgICAgICBwYWludEluZm8uY29udGV4dC0+c2V0U3Ryb2tlQ29sb3Ioc3R5
bGVUb1VzZS0+Y29sb3IoKSk7CisgICAgICAgIHRleHRCb3gtPnBhaW50RGVjb3JhdGlvbihwYWlu
dEluZm8uY29udGV4dCwgdHgsIHR5LCBkKTsKKyAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPnJl
c3RvcmUoKTsKKyAgICB9CisKKyAgICBpZiAocGFpbnRJbmZvLnBoYXNlICE9IFBhaW50UGhhc2VT
ZWxlY3Rpb24pIHsKKyAgICAgICAgdGV4dEJveC0+cGFpbnREb2N1bWVudE1hcmtlcnMocGFpbnRJ
bmZvLmNvbnRleHQsIHR4LCB0eSwgc3R5bGVUb1VzZSwgZm9udCwgZmFsc2UpOworCisgICAgICAg
IGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBudW1VbmRlcmxpbmVzOyArK2luZGV4KSB7
CisgICAgICAgICAgICBjb25zdCBNYXJrZWRUZXh0VW5kZXJsaW5lJiB1bmRlcmxpbmUgPSAoKnVu
ZGVybGluZXMpW2luZGV4XTsKKworICAgICAgICAgICAgaWYgKHVuZGVybGluZS5lbmRPZmZzZXQg
PD0gdGV4dEJveC0+c3RhcnQoKSkKKyAgICAgICAgICAgICAgICAvLyB1bmRlcmxpbmUgaXMgY29t
cGxldGVseSBiZWZvcmUgdGhpcyBydW4uICBUaGlzIG1pZ2h0IGJlIGFuIHVuZGVybGluZSB0aGF0
IHNpdHMKKyAgICAgICAgICAgICAgICAvLyBiZWZvcmUgdGhlIGZpcnN0IHJ1biB3ZSBkcmF3LCBv
ciB1bmRlcmxpbmVzIHRoYXQgd2VyZSB3aXRoaW4gcnVucyB3ZSBza2lwcGVkIAorICAgICAgICAg
ICAgICAgIC8vIGR1ZSB0byB0cnVuY2F0aW9uLgorICAgICAgICAgICAgICAgIGNvbnRpbnVlOwor
CisgICAgICAgICAgICBpZiAodW5kZXJsaW5lLnN0YXJ0T2Zmc2V0IDw9IHRleHRCb3gtPmVuZCgp
KSB7CisgICAgICAgICAgICAgICAgLy8gdW5kZXJsaW5lIGludGVyc2VjdHMgdGhpcyBydW4uICBQ
YWludCBpdC4KKyAgICAgICAgICAgICAgICB0ZXh0Qm94LT5wYWludE1hcmtlZFRleHRVbmRlcmxp
bmUocGFpbnRJbmZvLmNvbnRleHQsIHR4LCB0eSwgdW5kZXJsaW5lKTsKKyAgICAgICAgICAgICAg
ICBpZiAodW5kZXJsaW5lLmVuZE9mZnNldCA+IHRleHRCb3gtPmVuZCgpICsgMSkKKyAgICAgICAg
ICAgICAgICAgICAgLy8gdW5kZXJsaW5lIGFsc28gcnVucyBpbnRvIHRoZSBuZXh0IHJ1bi4gQmFp
bCBub3csIG5vIG1vcmUgbWFya2VyIGFkdmFuY2VtZW50LgorICAgICAgICAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIC8vIHVuZGVybGluZSBp
cyBjb21wbGV0ZWx5IGFmdGVyIHRoaXMgcnVuLCBiYWlsLiAgQSBsYXRlciBydW4gd2lsbCBwYWlu
dCBpdC4KKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlm
IChzZXRTaGFkb3cpCisgICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5jbGVhclNoYWRvdygpOwor
CisgICAgaWYgKCFzdmdDaGFyLnRyYW5zZm9ybS5pc0lkZW50aXR5KCkpCisgICAgICAgIHBhaW50
SW5mby5jb250ZXh0LT5jb25jYXRDVE0oc3ZnQ2hhci50cmFuc2Zvcm0uaW52ZXJzZSgpKTsKKwor
ICAgIGlmICh0ZXh0U3Ryb2tlV2lkdGggPiAwKQorICAgICAgICBwYWludEluZm8uY29udGV4dC0+
cmVzdG9yZSgpOworfQorI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApJbmRleDog
cmVuZGVyaW5nL1NWR1Jvb3RJbmxpbmVCb3guaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSByZW5kZXJpbmcvU1ZH
Um9vdElubGluZUJveC5oCShyZXZpc2lvbiAyMTE4NikKKysrIHJlbmRlcmluZy9TVkdSb290SW5s
aW5lQm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTMsNiArMyw3IEBACiAgKgogICogQ29weXJpZ2h0
IChDKSAyMDA2IE9saXZlciBIdW50IDxvamgxNkBzdHVkZW50LmNhbnRlcmJ1cnkuYWMubno+CiAg
KiAgICAgICAgICAgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIgSW5jLgorICogICAgICAgICAgIChD
KSAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgogICoKICAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCkBAIC0yNSwxMSArMjYsMTMgQEAKICNkZWZpbmUgU1ZHUm9vdElubGluZUJveF9o
CiAKICNpZiBFTkFCTEUoU1ZHKQotCiAjaW5jbHVkZSAiUm9vdElubGluZUJveC5oIgorI2luY2x1
ZGUgIlNWR0NoYXJhY3RlckxheW91dEluZm8uaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitj
bGFzcyBJbmxpbmVUZXh0Qm94OworCiBjbGFzcyBTVkdSb290SW5saW5lQm94IDogcHVibGljIFJv
b3RJbmxpbmVCb3ggewogcHVibGljOgogICAgIFNWR1Jvb3RJbmxpbmVCb3goUmVuZGVyT2JqZWN0
KiBvYmopCkBAIC0zOCw4ICs0MSwzMiBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgdmlydHVhbCB2
b2lkIHBhaW50KFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwgaW50IHR4LCBpbnQgdHkpOworCiAg
ICAgdmlydHVhbCBpbnQgcGxhY2VCb3hlc0hvcml6b250YWxseShpbnQgeCwgaW50JiBsZWZ0UG9z
aXRpb24sIGludCYgcmlnaHRQb3NpdGlvbiwgYm9vbCYgbmVlZHNXb3JkU3BhY2luZyk7CiAgICAg
dmlydHVhbCB2b2lkIHZlcnRpY2FsbHlBbGlnbkJveGVzKGludCYgaGVpZ2h0T2ZCbG9jayk7CisK
KyNpZiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykKKyAgICB2aXJ0dWFsIHZvaWQg
Y29tcHV0ZVBlckNoYXJhY3RlckxheW91dEluZm9ybWF0aW9uKCk7CisKK3ByaXZhdGU6CisgICAg
dm9pZCBsYXlvdXRJbmxpbmVCb3hlcygpOworICAgIHZvaWQgbGF5b3V0SW5saW5lQm94ZXMoSW5s
aW5lRmxvd0JveCogc3RhcnQsIFZlY3RvcjxTVkdDaGFyPjo6aXRlcmF0b3ImIGl0LCBpbnQmIG1p
blgsIGludCYgbWF4WCwgaW50JiBtaW5ZLCBpbnQmIG1heFkpOworCisgICAgdm9pZCBidWlsZExh
eW91dEluZm9ybWF0aW9uKElubGluZUZsb3dCb3gqIHN0YXJ0LCBTVkdDaGFyYWN0ZXJMYXlvdXRJ
bmZvJiBpbmZvKTsKKyAgICB2b2lkIGJ1aWxkTGF5b3V0SW5mb3JtYXRpb25Gb3JUZXh0Qm94KFNW
R0NoYXJhY3RlckxheW91dEluZm8mIGluZm8sIElubGluZVRleHRCb3gqKTsKKworICAgIHZvaWQg
YnVpbGRUZXh0Q2h1bmtzKCk7CisgICAgdm9pZCBidWlsZFRleHRDaHVua3MoSW5saW5lRmxvd0Jv
eCogc3RhcnQsIFNWR1RleHRDaHVua0xheW91dEluZm8mIGluZm8pOworCisgICAgdm9pZCBsYXlv
dXRUZXh0Q2h1bmtzKCk7CisKKyAgICB2b2lkIHBhaW50SW5saW5lQm94ZXMoUmVuZGVyT2JqZWN0
OjpQYWludEluZm8mLCBpbnQgdHgsIGludCB0eSwgSW5saW5lRmxvd0JveCogc3RhcnQsIFZlY3Rv
cjxTVkdDaGFyPjo6aXRlcmF0b3ImIGl0KTsKKyAgICB2b2lkIHBhaW50Q2hhcmFjdGVyUmFuZ2VG
b3JUZXh0Qm94KFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiBwYWludEluZm8sIGludCB0eCwgaW50
IHR5LCBJbmxpbmVUZXh0Qm94KiwgY29uc3QgU1ZHQ2hhciYsIGNvbnN0IFVDaGFyKiBjaGFycywg
aW50IGxlbmd0aCk7CisKK3ByaXZhdGU6CisgICAgVmVjdG9yPFNWR0NoYXI+IG1fc3ZnQ2hhcnM7
CisgICAgVmVjdG9yPFNWR1RleHRDaHVuaz4gbV9zdmdUZXh0Q2h1bmtzOworI2VuZGlmCiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiByZW5kZXJpbmcvYmlkaS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gcmVuZGVyaW5nL2JpZGkuY3BwCShyZXZpc2lvbiAyMTE4NikKKysrIHJlbmRlcmlu
Zy9iaWRpLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc0Myw3ICsxNzQzLDEyIEBAIHZvaWQgUmVu
ZGVyQmxvY2s6OmxheW91dElubGluZUNoaWxkcmVuKGIKICAgICAgICAgICAgICAgICAgICAgbGlu
ZUJveCA9IGNvbnN0cnVjdExpbmUoc3RhcnQsIGVuZCk7CiAgICAgICAgICAgICAgICAgICAgIGlm
IChsaW5lQm94KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lQm94LT5zZXRFbmRzV2l0
aEJyZWFrKHByZXZpb3VzTGluZUJyb2tlQ2xlYW5seSk7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAKKworI2lmIEVOQUJMRShTVkcpICYmIEVOQUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRVUkVT
KQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3BlY2lhbCBTVkcgdGV4dCBsYXlvdXQgY29k
ZQorICAgICAgICAgICAgICAgICAgICAgICAgbGluZUJveC0+Y29tcHV0ZVBlckNoYXJhY3Rlckxh
eW91dEluZm9ybWF0aW9uKCk7CisjZW5kaWYKKwogICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Tm93IHdlIHBvc2l0aW9uIGFsbCBvZiBvdXIgdGV4dCBydW5zIGhvcml6b250YWxseS4KICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbXB1dGVIb3Jpem9udGFsUG9zaXRpb25zRm9yTGluZShsaW5l
Qm94LCBiaWRpKTsKICAgICAgICAgCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>14586</attachid>
            <date>2007-05-16 17:08:51 -0700</date>
            <delta_ts>2007-05-19 17:23:39 -0700</delta_ts>
            <desc>Updated patch including text selection</desc>
            <filename>NewSVGTextEngine.diff</filename>
            <type>text/plain</type>
            <size>124493</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDIxNTIy
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQ1IEBACisyMDA3LTA1
LTE3ICBOaWtvbGFzIFppbW1lcm1hbm4gIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4ZXM6IGh0dHA6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNjk4CisgCisgICAgICAgIEludHJvZHVjZSBu
ZXcgZXhwZXJpbWVudGFsIFNWRyB0ZXh0IGVuZ2luZS4KKworICAgICAgICBBZGQgdGV4dFBhdGgg
c3VwcG9ydCwgYWJzb2x1dGUgcG9zaXRpb25lZCBTVkcgY2hhcmFjdGVycywgdmVydGljYWwgdGV4
dC4KKyAgICAgICAgVGV4dCByb3RhdGlvbiwgYmFzZWxpbmUtc2hpZnQsIHRleHQgY2h1bmtzIHNw
YW5uaW5nIDx0c3Bhbj4ncyBldGMuCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgor
ICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBj
c3Mvc3ZnLmNzczoKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHRkVGbG9vZEVsZW1lbnQuY3BwOgor
ICAgICAgICAqIGtzdmcyL3N2Zy9TVkdUU3BhbkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHVFNwYW5FbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAg
KiBrc3ZnMi9zdmcvU1ZHVGV4dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4
dEVsZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIpOgorICAgICAgICAqIGtzdmcyL3N2
Zy9TVkdUZXh0UGF0aEVsZW1lbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Rl
eHRQYXRoRWxlbWVudDo6U1ZHVGV4dFBhdGhFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R1RleHRQYXRoRWxlbWVudDo6flNWR1RleHRQYXRoRWxlbWVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdUZXh0UGF0aEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR1RleHRQYXRoRWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHVGV4dFBhdGhFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1RleHRQYXRoRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQp
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dFBhdGhFbGVtZW50OjpidWlsZFBlbmRpbmdSZXNv
dXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0UGF0aEVsZW1lbnQ6OmF0dGFjaCk6Cisg
ICAgICAgICoga3N2ZzIvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6Oik6CisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0UGF0aEVsZW1lbnQ6OnJlbmRl
cmVySXNOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dFBhdGhFbGVtZW50Ojpjb250
ZXh0RWxlbWVudCk6CisgICAgICAgICoga3N2ZzIvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5pZGw6
IEFkZGVkLgorICAgICAgICAqIGtzdmcyL3N2Zy9zdmd0YWdzLmluOgorICAgICAgICAqIHJlbmRl
cmluZy9JbmxpbmVUZXh0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvcnJlY3RlZFRleHRD
b2xvcik6CisgICAgICAgIChXZWJDb3JlOjp1cGRhdGVHcmFwaGljc0NvbnRleHQpOgorICAgICAg
ICAqIHJlbmRlcmluZy9JbmxpbmVUZXh0Qm94Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clNWR0lubGluZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHSW5saW5lVGV4
dDo6c2VsZWN0aW9uUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdJbmxpbmVUZXh0
OjpjYXJldFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHSW5saW5lVGV4dDo6cG9z
aXRpb25Gb3JDb29yZGluYXRlcyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNWR0lubGlu
ZVRleHQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHVGV4dFBhdGguY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1RleHRQYXRoOjpSZW5kZXJTVkdUZXh0UGF0
aCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdUZXh0UGF0aDo6bGF5b3V0UGF0aCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdUZXh0UGF0aDo6c2V0TGF5b3V0UGF0aCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJTVkdUZXh0UGF0aDo6c3RhcnRPZmZzZXQpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU1ZHVGV4dFBhdGg6OnNldFN0YXJ0T2Zmc2V0KToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclNWR1RleHRQYXRoOjpleGFjdEFsaWdubWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJTVkdUZXh0UGF0aDo6c2V0RXhhY3RBbGlnbm1lbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyU1ZHVGV4dFBhdGg6OnN0cmV0Y2hNZXRob2QpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyU1ZHVGV4dFBhdGg6OnNldFN0cmV0Y2hNZXRob2QpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyU1ZHVGV4dFBhdGg6OmFic29sdXRlUmVjdHMpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJTVkdUZXh0UGF0aC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNW
R1RleHRQYXRoOjpyZW5kZXJOYW1lKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0OjpzZXRUZXh0SW50ZXJuYWwpOgorICAg
ICAgICAqIHJlbmRlcmluZy9Sb290SW5saW5lQm94Lmg6CisgICAgICAgIChXZWJDb3JlOjpSb290
SW5saW5lQm94Ojpjb21wdXRlUGVyQ2hhcmFjdGVyTGF5b3V0SW5mb3JtYXRpb24pOgorICAgICAg
ICAqIHJlbmRlcmluZy9TVkdDaGFyYWN0ZXJMYXlvdXRJbmZvLmNwcDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlOjpjYWxjdWxhdGVCYXNlbGluZVNoaWZ0KToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0NoYXJhY3RlckxheW91dEluZm86OlNWR0NoYXJhY3RlckxheW91dEluZm8pOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6eFZhbHVlQXZhaWxhYmxlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0NoYXJhY3RlckxheW91dEluZm86OnlWYWx1ZUF2YWlsYWJsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjpkeFZhbHVlQXZhaWxhYmxl
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0NoYXJhY3RlckxheW91dEluZm86OmR5VmFsdWVBdmFp
bGFibGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6YW5nbGVW
YWx1ZUF2YWlsYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdDaGFyYWN0ZXJMYXlvdXRJbmZv
OjpiYXNlbGluZVNoaWZ0VmFsdWVBdmFpbGFibGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQ2hh
cmFjdGVyTGF5b3V0SW5mbzo6eFZhbHVlTmV4dCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdDaGFy
YWN0ZXJMYXlvdXRJbmZvOjp5VmFsdWVOZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0NoYXJh
Y3RlckxheW91dEluZm86OmR4VmFsdWVOZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0NoYXJh
Y3RlckxheW91dEluZm86OmR5VmFsdWVOZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0NoYXJh
Y3RlckxheW91dEluZm86OmFuZ2xlVmFsdWVOZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0No
YXJhY3RlckxheW91dEluZm86OmJhc2VsaW5lU2hpZnRWYWx1ZU5leHQpOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6cHJvY2Vzc2VkU2luZ2xlQ2hhcmFjdGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0NoYXJhY3RlckxheW91dEluZm86OnByb2Nlc3NlZENodW5r
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0NoYXJhY3RlckxheW91dEluZm86Om5leHRQYXRoTGF5
b3V0UG9pbnRBbmRBbmdsZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdDaGFyYWN0ZXJMYXlvdXRJ
bmZvOjppblBhdGhMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQ2hhcmFjdGVyTGF5b3V0
SW5mbzo6c2V0SW5QYXRoTGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0NoYXJhY3Rlckxh
eW91dEluZm86OmFkZExheW91dEluZm9ybWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0No
YXJhY3RlckxheW91dEluZm86OmFkZFN0YWNrQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjp4U3RhY2tXYWxrKToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0NoYXJhY3RlckxheW91dEluZm86OnlTdGFja1dhbGspOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
Q2hhcmFjdGVyTGF5b3V0SW5mbzo6ZHhTdGFja1dhbGspOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
Q2hhcmFjdGVyTGF5b3V0SW5mbzo6ZHlTdGFja1dhbGspOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
Q2hhcmFjdGVyTGF5b3V0SW5mbzo6YW5nbGVTdGFja1dhbGspOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6YmFzZWxpbmVTaGlmdFN0YWNrV2Fsayk6CisgICAgICAg
ICogcmVuZGVyaW5nL1NWR0NoYXJhY3RlckxheW91dEluZm8uaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpQb3NpdGlvbmVkVmVjdG9yOjpUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlBvc2l0
aW9uZWRWZWN0b3I6OnBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlBvc2l0aW9uZWRWZWN0
b3I6OmFkdmFuY2UpOgorICAgICAgICAoV2ViQ29yZTo6UG9zaXRpb25lZFZlY3Rvcjo6dmFsdWVB
dEN1cnJlbnRQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdDaGFyYWN0ZXJMYXlvdXRJ
bmZvOjopOgorICAgICAgICAoV2ViQ29yZTo6U1ZHSW5saW5lQm94Q2hhcmFjdGVyUmFuZ2U6OlNW
R0lubGluZUJveENoYXJhY3RlclJhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZUJv
eENoYXJhY3RlclJhbmdlOjppc09wZW4pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHSW5saW5lQm94
Q2hhcmFjdGVyUmFuZ2U6OmlzQ2xvc2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRDaHVu
azo6U1ZHVGV4dENodW5rKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRDaHVua0xheW91dElu
Zm86OlNWR1RleHRDaHVua0xheW91dEluZm8pOgorICAgICAgICAqIHJlbmRlcmluZy9TVkdJbmxp
bmVGbG93Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZUZsb3dCb3g6OnBhaW50
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNIb3Jpem9u
dGFsbHkpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHSW5saW5lRmxvd0JveDo6dmVydGljYWxseUFs
aWduQm94ZXMpOgorICAgICAgICAqIHJlbmRlcmluZy9TVkdJbmxpbmVGbG93Qm94Lmg6CisgICAg
ICAgICogcmVuZGVyaW5nL1NWR0lubGluZVRleHRCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHSW5saW5lVGV4dEJveDo6U1ZHSW5saW5lVGV4dEJveCk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdJbmxpbmVUZXh0Qm94OjpzZWxlY3Rpb25Ub3ApOgorICAgICAgICAoV2ViQ29yZTo6U1ZHSW5s
aW5lVGV4dEJveDo6c3ZnUm9vdElubGluZUJveCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdJbmxp
bmVUZXh0Qm94OjpjbG9zZXN0Q2hhcmFjdGVyVG9Qb3NpdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdJbmxpbmVUZXh0Qm94OjpzdmdDaGFyYWN0ZXJIaXRzUG9zaXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHSW5saW5lVGV4dEJveDo6b2Zmc2V0Rm9yUG9zaXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHSW5saW5lVGV4dEJveDo6cG9zaXRpb25Gb3JPZmZzZXQpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHSW5saW5lVGV4dEJveDo6bm9kZUF0UG9pbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHSW5saW5lVGV4dEJveDo6c2VsZWN0aW9uUmVjdCk6CisgICAgICAgICogcmVuZGVyaW5n
L1NWR0lubGluZVRleHRCb3guaDoKKyAgICAgICAgKiByZW5kZXJpbmcvU1ZHUm9vdElubGluZUJv
eC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpwcmVwYXJlVGV4dFJlbmRlcmluZyk6CisgICAgICAg
IChXZWJDb3JlOjppc1ZlcnRpY2FsV3JpdGluZ01vZGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
Um9vdElubGluZUJveDo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUm9vdElubGluZUJv
eDo6cGxhY2VCb3hlc0hvcml6b250YWxseSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdSb290SW5s
aW5lQm94Ojp2ZXJ0aWNhbGx5QWxpZ25Cb3hlcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdSb290
SW5saW5lQm94OjpjdW1tdWxhdGVkV2lkdGhPZlNlbGVjdGlvblJhbmdlKToKKyAgICAgICAgKFdl
YkNvcmU6OmN1bW11bGF0ZWRXaWR0aE9mSW5saW5lQm94Q2hhcmFjdGVyUmFuZ2UpOgorICAgICAg
ICAoV2ViQ29yZTo6Y3VtbXVsYXRlZFdpZHRoT2ZUZXh0Q2h1bmspOgorICAgICAgICAoV2ViQ29y
ZTo6Y3VtbXVsYXRlZEhlaWdodE9mVGV4dENodW5rKToKKyAgICAgICAgKFdlYkNvcmU6OmFwcGx5
VGV4dEFuY2hvclRvVGV4dENodW5rKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jvb3RJbmxpbmVC
b3g6OmNvbXB1dGVQZXJDaGFyYWN0ZXJMYXlvdXRJbmZvcm1hdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjp0b3RhbEFkdmFuY2VPZklubGluZVRleHRCb3gpOgorICAgICAgICAoV2ViQ29yZTo6dG90
YWxBZHZhbmNlT2ZJbmxpbmVCb3gpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUm9vdElubGluZUJv
eDo6YnVpbGRMYXlvdXRJbmZvcm1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdSb290SW5s
aW5lQm94OjpsYXlvdXRJbmxpbmVCb3hlcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdSb290SW5s
aW5lQm94OjpidWlsZExheW91dEluZm9ybWF0aW9uRm9yVGV4dEJveCk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdSb290SW5saW5lQm94OjpidWlsZFRleHRDaHVua3MpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHUm9vdElubGluZUJveDo6c3ZnVGV4dENodW5rcyk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdSb290SW5saW5lQm94OjpsYXlvdXRUZXh0Q2h1bmtzKToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R1Jvb3RJbmxpbmVCb3g6OnBhaW50U2VsZWN0aW9uRm9yVGV4dEJveCk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdSb290SW5saW5lQm94OjpwYWludElubGluZUJveGVzKToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1Jvb3RJbmxpbmVCb3g6OnBhaW50Q2hhcmFjdGVyUmFuZ2VGb3JUZXh0Qm94KToKKyAg
ICAgICAgKiByZW5kZXJpbmcvU1ZHUm9vdElubGluZUJveC5oOgorICAgICAgICAqIHJlbmRlcmlu
Zy9iaWRpLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpsYXlvdXRJbmxpbmVD
aGlsZHJlbik6CisKIDIwMDctMDUtMTYgIGRldGhiYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgSHlhdHQuCkluZGV4OiBEZXJpdmVkU291cmNlcy5tYWtlCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIERlcml2ZWRTb3VyY2VzLm1ha2UJKHJldmlzaW9uIDIxNTIyKQorKysgRGVy
aXZlZFNvdXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtMjY2LDYgKzI2Niw3IEBAIGFsbCA6
IFwKICAgICBET01TVkdUZXN0cy5oIFwKICAgICBET01TVkdUZXh0Q29udGVudEVsZW1lbnQuaCBc
CiAgICAgRE9NU1ZHVGV4dEVsZW1lbnQuaCBcCisgICAgRE9NU1ZHVGV4dFBhdGhFbGVtZW50Lmgg
XAogICAgIERPTVNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQuaCBcCiAgICAgRE9NU1ZHVGl0bGVF
bGVtZW50LmggXAogICAgIERPTVNWR1RyYW5zZm9ybS5oIFwKQEAgLTQ1Niw2ICs0NTcsNyBAQCBh
bGwgOiBcCiAgICAgSlNTVkdUU3BhbkVsZW1lbnQuaCBcCiAgICAgSlNTVkdUZXh0RWxlbWVudC5o
IFwKICAgICBKU1NWR1RleHRDb250ZW50RWxlbWVudC5oIFwKKyAgICBKU1NWR1RleHRQYXRoRWxl
bWVudC5oIFwKICAgICBKU1NWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQuaCBcCiAgICAgSlNTVkdU
aXRsZUVsZW1lbnQuaCBcCiAgICAgSlNTVkdUcmFuc2Zvcm0uaCBcCkluZGV4OiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMTUyMikKKysrIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMjMwNSw2ICsyMzA1LDE0IEBACiAJCUIy
NUFFNTVGMEI0OUQ2NjMwMDc0QzcyNiAvKiBMaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyNUFFNTVEMEI0OUQ2
NjMwMDc0QzcyNiAvKiBMaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMuaCAqLzsgfTsKIAkJQjI1QUU1
NjAwQjQ5RDY2MzAwNzRDNzI2IC8qIFJhZGlhbEdyYWRpZW50QXR0cmlidXRlcy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjI1QUU1NUUwQjQ5RDY2MzAw
NzRDNzI2IC8qIFJhZGlhbEdyYWRpZW50QXR0cmlidXRlcy5oICovOyB9OwogCQlCMjVERkFBRjBC
MkUyOTI5MDAwRTY1MTAgLyogSlNTVkdNYXRyaXhDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjI1REZBQUUwQjJFMjkyOTAwMEU2NTEwIC8q
IEpTU1ZHTWF0cml4Q3VzdG9tLmNwcCAqLzsgfTsKKwkJQjI2NTU0QzAwQjgwQUQ2MDAwQTUwRUMz
IC8qIFNWR1RleHRQYXRoRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCMjY1NTRCRDBCODBBRDYwMDBBNTBFQzMgLyogU1ZHVGV4dFBhdGhF
bGVtZW50LmNwcCAqLzsgfTsKKwkJQjI2NTU0QzEwQjgwQUQ2MDAwQTUwRUMzIC8qIFNWR1RleHRQ
YXRoRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQjI2NTU0QkUwQjgwQUQ2MDAwQTUwRUMzIC8qIFNWR1RleHRQYXRoRWxlbWVudC5oICovOyB9
OworCQlCMjY1NTRDMjBCODBBRDYwMDBBNTBFQzMgLyogU1ZHVGV4dFBhdGhFbGVtZW50LmlkbCBp
biBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjI2NTU0QkYw
QjgwQUQ2MDAwQTUwRUMzIC8qIFNWR1RleHRQYXRoRWxlbWVudC5pZGwgKi87IH07CisJCUIyNjU1
NENFMEI4MEFERUEwMEE1MEVDMyAvKiBET01TVkdUZXh0UGF0aEVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyNjU1NENCMEI4MEFERUEwMEE1
MEVDMyAvKiBET01TVkdUZXh0UGF0aEVsZW1lbnQuaCAqLzsgfTsKKwkJQjI2NTU0Q0YwQjgwQURF
QTAwQTUwRUMzIC8qIERPTVNWR1RleHRQYXRoRWxlbWVudEludGVybmFsLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjY1NTRDQzBCODBBREVBMDBBNTBF
QzMgLyogRE9NU1ZHVGV4dFBhdGhFbGVtZW50SW50ZXJuYWwuaCAqLzsgfTsKKwkJQjI2NTU0RDAw
QjgwQURFQTAwQTUwRUMzIC8qIEpTU1ZHVGV4dFBhdGhFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjY1NTRDRDBCODBBREVBMDBBNTBFQzMg
LyogSlNTVkdUZXh0UGF0aEVsZW1lbnQuaCAqLzsgfTsKKwkJQjI2NTU0RUEwQjgwRDc0OTAwQTUw
RUMzIC8qIFJlbmRlclNWR1RleHRQYXRoLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEIyNjU1NEU4MEI4MEQ3NDkwMEE1MEVDMyAvKiBSZW5kZXJTVkdU
ZXh0UGF0aC5jcHAgKi87IH07CisJCUIyNjU1NEVCMEI4MEQ3NDkwMEE1MEVDMyAvKiBSZW5kZXJT
VkdUZXh0UGF0aC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQjI2NTU0RTkwQjgwRDc0OTAwQTUwRUMzIC8qIFJlbmRlclNWR1RleHRQYXRoLmggKi87IH07
CiAJCUIyNzUzNTU2MEIwNTM4MTQwMDJDRTY0RiAvKiBBZmZpbmVUcmFuc2Zvcm0uY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjI3NTM1MjcwQjA1Mzgx
NDAwMkNFNjRGIC8qIEFmZmluZVRyYW5zZm9ybS5jcHAgKi87IH07CiAJCUIyNzUzNTU3MEIwNTM4
MTQwMDJDRTY0RiAvKiBBZmZpbmVUcmFuc2Zvcm0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyNzUzNTI4MEIwNTM4MTQwMDJDRTY0RiAvKiBBZmZpbmVU
cmFuc2Zvcm0uaCAqLzsgfTsKIAkJQjI3NTM1NTgwQjA1MzgxNDAwMkNFNjRGIC8qIEFmZmluZVRy
YW5zZm9ybUNHLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEIyNzUzNTJBMEIwNTM4MTQwMDJDRTY0RiAvKiBBZmZpbmVUcmFuc2Zvcm1DRy5jcHAgKi87
IH07CkBAIC0yMzY4LDYgKzIzNzYsOCBAQAogCQlCMkEwMTVCQTBBRjZDRDUzMDA2QkNFMEUgLyog
U1ZHUmVzb3VyY2VNYXNrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEIyQTAxNUE3MEFGNkNENTMwMDZCQ0UwRSAvKiBTVkdSZXNvdXJjZU1hc2tlci5o
ICovOyB9OwogCQlCMkExMEI5MjBCMzgxOEJEMDAwOTlBQTQgLyogSW1hZ2VCdWZmZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyQTEwQjkxMEIzODE4
QkQwMDA5OUFBNCAvKiBJbWFnZUJ1ZmZlci5oICovOyB9OwogCQlCMkExMEI5NDBCMzgxOEQ3MDAw
OTlBQTQgLyogSW1hZ2VCdWZmZXJDRy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCMkExMEI5MzBCMzgxOEQ3MDAwOTlBQTQgLyogSW1hZ2VCdWZmZXJD
Ry5jcHAgKi87IH07CisJCUIyQjMzQTVGMEI4ODdDRUYwMEMxNTk4NCAvKiBTVkdDaGFyYWN0ZXJM
YXlvdXRJbmZvLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEIyQjMzQTVEMEI4ODdDRUYwMEMxNTk4NCAvKiBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvLmNw
cCAqLzsgfTsKKwkJQjJCMzNBNjAwQjg4N0NFRjAwQzE1OTg0IC8qIFNWR0NoYXJhY3RlckxheW91
dEluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIy
QjMzQTVFMEI4ODdDRUYwMEMxNTk4NCAvKiBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvLmggKi87IH07
CiAJCUIyQzk2RDhEMEIzQUYyQjcwMDVFODBFQyAvKiBKU1NWR1BhdGhTZWdDdXN0b20uY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJDOTZEOEMwQjNB
RjJCNzAwNUU4MEVDIC8qIEpTU1ZHUGF0aFNlZ0N1c3RvbS5jcHAgKi87IH07CiAJCUIyQ0I0MTkz
MEFCNzU5MDQwMDREOUM0NSAvKiBTVkdSZW5kZXJpbmdJbnRlbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyQ0I0MTRDMEFCNzU5MDQwMDREOUM0NSAv
KiBTVkdSZW5kZXJpbmdJbnRlbnQuaCAqLzsgfTsKIAkJQjJDQjQxQTYwQUI3NTkwNDAwNEQ5QzQ1
IC8qIFNWR1VuaXRUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQjJDQjQxNUYwQUI3NTkwNDAwNEQ5QzQ1IC8qIFNWR1VuaXRUeXBlcy5oICovOyB9
OwpAQCAtNTM5Myw2ICs1NDAzLDE0IEBACiAJCUIyNUFFNTVEMEI0OUQ2NjMwMDc0QzcyNiAvKiBM
aW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IExpbmVhckdyYWRpZW50QXR0cmlidXRlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlCMjVBRTU1RTBCNDlENjYzMDA3NEM3MjYgLyogUmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSYWRpYWxHcmFkaWVudEF0dHJp
YnV0ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjI1REZBQUUwQjJFMjkyOTAw
MEU2NTEwIC8qIEpTU1ZHTWF0cml4Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU1NWR01hdHJpeEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUIyNjU1NEJEMEI4MEFENjAwMEE1MEVDMyAvKiBTVkdUZXh0UGF0aEVsZW1lbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1RleHRQYXRoRWxl
bWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIyNjU1NEJFMEI4MEFENjAw
MEE1MEVDMyAvKiBTVkdUZXh0UGF0aEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFNWR1RleHRQYXRoRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlCMjY1NTRCRjBCODBBRDYwMDBBNTBFQzMgLyogU1ZHVGV4dFBhdGhFbGVtZW50LmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU1ZHVGV4dFBhdGhFbGVtZW50LmlkbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjI2NTU0Q0IwQjgwQURFQTAwQTUwRUMzIC8qIERPTVNWR1Rl
eHRQYXRoRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NU1ZH
VGV4dFBhdGhFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIyNjU1NEND
MEI4MEFERUEwMEE1MEVDMyAvKiBET01TVkdUZXh0UGF0aEVsZW1lbnRJbnRlcm5hbC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NU1ZHVGV4dFBhdGhFbGVtZW50SW50ZXJu
YWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjI2NTU0Q0QwQjgwQURFQTAwQTUw
RUMzIC8qIEpTU1ZHVGV4dFBhdGhFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU1NWR1RleHRQYXRoRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlCMjY1NTRFODBCODBENzQ5MDBBNTBFQzMgLyogUmVuZGVyU1ZHVGV4dFBhdGguY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlclNWR1RleHRQYXRoLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjI2NTU0RTkwQjgwRDc0OTAwQTUwRUMz
IC8qIFJlbmRlclNWR1RleHRQYXRoLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSZW5kZXJTVkdUZXh0UGF0aC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjc1
MzUyNzBCMDUzODE0MDAyQ0U2NEYgLyogQWZmaW5lVHJhbnNmb3JtLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBZmZpbmVUcmFuc2Zvcm0uY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlCMjc1MzUyODBCMDUzODE0MDAyQ0U2NEYgLyogQWZmaW5lVHJh
bnNmb3JtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBZmZpbmVUcmFuc2Zv
cm0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjI3NTM1MkEwQjA1MzgxNDAwMkNF
NjRGIC8qIEFmZmluZVRyYW5zZm9ybUNHLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBBZmZpbmVUcmFuc2Zvcm1DRy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC01NDU2LDYgKzU0NzQsOCBAQAogCQlCMkEwMTVBNzBBRjZDRDUzMDA2QkNFMEUgLyog
U1ZHUmVzb3VyY2VNYXNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNW
R1Jlc291cmNlTWFza2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyQTEwQjkx
MEIzODE4QkQwMDA5OUFBNCAvKiBJbWFnZUJ1ZmZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSW1hZ2VCdWZmZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QjJBMTBCOTMwQjM4MThENzAwMDk5QUE0IC8qIEltYWdlQnVmZmVyQ0cuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEltYWdlQnVmZmVyQ0cuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlCMkIzM0E1RDBCODg3Q0VGMDBDMTU5ODQgLyogU1ZHQ2hhcmFj
dGVyTGF5b3V0SW5mby5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
U1ZHQ2hhcmFjdGVyTGF5b3V0SW5mby5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUIyQjMzQTVFMEI4ODdDRUYwMEMxNTk4NCAvKiBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyQzk2RDhDMEIzQUYyQjcwMDVFODBFQyAv
KiBKU1NWR1BhdGhTZWdDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEpTU1ZHUGF0aFNlZ0N1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUIyQ0I0MTAxMEFCNzU4RTYwMDREOUM0NSAvKiBTVkdBRWxlbWVudC5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IFNWR0FFbGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQjJDQjQxMDIwQUI3NThFNjAwNEQ5QzQ1IC8qIFNWR0FuaW1hdGVDb2xvckVsZW1lbnQu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTVkdBbmltYXRlQ29sb3JFbGVtZW50LmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTYyMTUsNiArNjIzNSw5IEBACiAJCTA4NjdE
NjkxRkU4NDAyOEZDMDJBQUMwNyAvKiBXZWJLaXQgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsK
IAkJCWNoaWxkcmVuID0gKAorCQkJCUIyNjU1NENCMEI4MEFERUEwMEE1MEVDMyAvKiBET01TVkdU
ZXh0UGF0aEVsZW1lbnQuaCAqLywKKwkJCQlCMjY1NTRDQzBCODBBREVBMDBBNTBFQzMgLyogRE9N
U1ZHVGV4dFBhdGhFbGVtZW50SW50ZXJuYWwuaCAqLywKKwkJCQlCMjY1NTRDRDBCODBBREVBMDBB
NTBFQzMgLyogSlNTVkdUZXh0UGF0aEVsZW1lbnQuaCAqLywKIAkJCQk2NUM5N0FGMjA4RUE5MDg4
MDBBQ0QyNzMgLyogY29uZmlnLmggKi8sCiAJCQkJRURFQzk4MDIwQUVEN0UxNzAwNTkxMzdGIC8q
IFdlYkNvcmVQcmVmaXguaCAqLywKIAkJCQk5MzA3MDYxMzA5RTBDQTgyMDBCMTdGRTQgLyogRGVy
aXZlZFNvdXJjZXMubWFrZSAqLywKQEAgLTg2NzIsNiArODY5NSw5IEBACiAJCQkJQThDMEY4RDcw
ODk3MDFGNDAwQkE1MTE0IC8qIFNWR1RleHRFbGVtZW50LmNwcCAqLywKIAkJCQlBOEMwRjhEODA4
OTcwMUY0MDBCQTUxMTQgLyogU1ZHVGV4dEVsZW1lbnQuaCAqLywKIAkJCQlCMkNCNDE1ODBBQjc1
OTA0MDA0RDlDNDUgLyogU1ZHVGV4dEVsZW1lbnQuaWRsICovLAorCQkJCUIyNjU1NEJEMEI4MEFE
NjAwMEE1MEVDMyAvKiBTVkdUZXh0UGF0aEVsZW1lbnQuY3BwICovLAorCQkJCUIyNjU1NEJFMEI4
MEFENjAwMEE1MEVDMyAvKiBTVkdUZXh0UGF0aEVsZW1lbnQuaCAqLywKKwkJCQlCMjY1NTRCRjBC
ODBBRDYwMDBBNTBFQzMgLyogU1ZHVGV4dFBhdGhFbGVtZW50LmlkbCAqLywKIAkJCQlBOEMwRjhE
OTA4OTcwMUY0MDBCQTUxMTQgLyogU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5jcHAgKi8sCiAJ
CQkJQThDMEY4REEwODk3MDFGNDAwQkE1MTE0IC8qIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQu
aCAqLywKIAkJCQlCMkNCNDE1OTBBQjc1OTA0MDA0RDlDNDUgLyogU1ZHVGV4dFBvc2l0aW9uaW5n
RWxlbWVudC5pZGwgKi8sCkBAIC05NTc4LDYgKzk2MDQsOCBAQAogCQkJCTg1M0NBOUQxMEFFRUM1
RTkwMDIzNzJEQyAvKiBSZW5kZXJTVkdJbmxpbmVUZXh0LmggKi8sCiAJCQkJODUzQ0E5RDIwQUVF
QzVFOTAwMjM3MkRDIC8qIFJlbmRlclNWR1RleHQuY3BwICovLAogCQkJCTg1M0NBOUQzMEFFRUM1
RTkwMDIzNzJEQyAvKiBSZW5kZXJTVkdUZXh0LmggKi8sCisJCQkJQjI2NTU0RTgwQjgwRDc0OTAw
QTUwRUMzIC8qIFJlbmRlclNWR1RleHRQYXRoLmNwcCAqLywKKwkJCQlCMjY1NTRFOTBCODBENzQ5
MDBBNTBFQzMgLyogUmVuZGVyU1ZHVGV4dFBhdGguaCAqLywKIAkJCQk4NTNDQTlENDBBRUVDNUU5
MDAyMzcyREMgLyogUmVuZGVyU1ZHVFNwYW4uY3BwICovLAogCQkJCTg1M0NBOUQ1MEFFRUM1RTkw
MDIzNzJEQyAvKiBSZW5kZXJTVkdUU3Bhbi5oICovLAogCQkJCUE4REY0QUUyMDk4MEM0MkMwMDUy
OTgxQiAvKiBSZW5kZXJUYWJsZS5jcHAgKi8sCkBAIC05NjEwLDYgKzk2MzgsOCBAQAogCQkJCTkz
Nzk5RUY3MEJGMjc0MzYwMEQwRjIzMCAvKiBSZW5kZXJXb3JkQnJlYWsuaCAqLywKIAkJCQlBOENG
RjVFMDBBMTU1QTA1MDAwQTQyMzQgLyogUm9vdElubGluZUJveC5jcHAgKi8sCiAJCQkJQThDRkY1
REEwQTE1NUEwNTAwMEE0MjM0IC8qIFJvb3RJbmxpbmVCb3guaCAqLywKKwkJCQlCMkIzM0E1RDBC
ODg3Q0VGMDBDMTU5ODQgLyogU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mby5jcHAgKi8sCisJCQkJQjJC
MzNBNUUwQjg4N0NFRjAwQzE1OTg0IC8qIFNWR0NoYXJhY3RlckxheW91dEluZm8uaCAqLywKIAkJ
CQk4NTNDQTlFMjBBRUVDNjA4MDAyMzcyREMgLyogU1ZHSW5saW5lRmxvd0JveC5jcHAgKi8sCiAJ
CQkJODUzQ0E5RTMwQUVFQzYwODAwMjM3MkRDIC8qIFNWR0lubGluZUZsb3dCb3guaCAqLywKIAkJ
CQlBQTA5NzJDQTBCNjk0N0E4MDBBNzA1RTkgLyogU1ZHSW5saW5lVGV4dEJveC5jcHAgKi8sCkBA
IC0xMTI1Niw5ICsxMTI4NiwxNSBAQAogCQkJCUUxMEI5MzdDMEI3M0MwMEEwMDNFRDg5MCAvKiBK
U0N1c3RvbVhQYXRoTlNSZXNvbHZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEwQjlCNkMwQjc0
NzU5OTAwM0VEODkwIC8qIE5hdGl2ZVhQYXRoTlNSZXNvbHZlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRTEwQjlDQ0MwQjc0N0E0NDAwM0VEODkwIC8qIERPTUN1c3RvbVhQYXRoTlNSZXNvbHZlci5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQjI2NTU0QzEwQjgwQUQ2MDAwQTUwRUMzIC8qIFNWR1RleHRQ
YXRoRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjI2NTU0Q0UwQjgwQURFQTAwQTUwRUMz
IC8qIERPTVNWR1RleHRQYXRoRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjI2NTU0Q0Yw
QjgwQURFQTAwQTUwRUMzIC8qIERPTVNWR1RleHRQYXRoRWxlbWVudEludGVybmFsLmggaW4gSGVh
ZGVycyAqLywKKwkJCQlCMjY1NTREMDBCODBBREVBMDBBNTBFQzMgLyogSlNTVkdUZXh0UGF0aEVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUIyNjU1NEVCMEI4MEQ3NDkwMEE1MEVDMyAvKiBS
ZW5kZXJTVkdUZXh0UGF0aC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMzQTE0MzAwQjdEMTg4NjAw
QTUzRkZEIC8qIFRleHRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMzQTE0QjkwQjdEMUQ1
MjAwQTUzRkZEIC8qIEpTVGV4dEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlEREU2M0VENTBC
N0Q0NUE4MDAyMjY5OTggLyogRE9NVGV4dEV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlCMkIz
M0E2MDBCODg3Q0VGMDBDMTU5ODQgLyogU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mby5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMzc5MTlDMjQwQjdEMTg4NjAwQTU2OTk4IC8qIFBvc2l0aW9uSXRlcmF0b3Iu
aCBpbiBIZWFkZXJzICovLAogCQkJCUREMDVGRTBEMEI4QkEzQzYwMDlBQ0RGRSAvKiBXZWJDb3Jl
T2JqQ0V4dHJhcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUI0Q0I0RUIwQjhCREEzRDAwOUY0MEIw
IC8qIEpTSFRNTFNlbGVjdEVsZW1lbnRDdXN0b20uaCBpbiBIZWFkZXJzICovLApAQCAtMTEzODUs
NiArMTE0MjEsNyBAQAogCQkJCTQ2QkQxNkUzMEIyNzk0NzMwMDFGMDgzOSAvKiBub25lQ3Vyc29y
LnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJQjJERTI4MUQwQjVCRkE1NDAwQ0MyODlBIC8qIFNW
R0VsZW1lbnRJbnN0YW5jZS5pZGwgaW4gUmVzb3VyY2VzICovLAogCQkJCUIyREUyODFFMEI1QkZB
NTQwMENDMjg5QSAvKiBTVkdFbGVtZW50SW5zdGFuY2VMaXN0LmlkbCBpbiBSZXNvdXJjZXMgKi8s
CisJCQkJQjI2NTU0QzIwQjgwQUQ2MDAwQTUwRUMzIC8qIFNWR1RleHRQYXRoRWxlbWVudC5pZGwg
aW4gUmVzb3VyY2VzICovLAogCQkJCTkzM0ExNDJGMEI3RDE4ODYwMEE1M0ZGRCAvKiBUZXh0RXZl
bnQuaWRsIGluIFJlc291cmNlcyAqLywKIAkJCQk0NjRFQTI3MzBCOEEzNTBCMDBBOEU2RTMgLyog
Y3Jvc3NIYWlyQ3Vyc29yLnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJNDY0RUEyNzQwQjhBMzUw
QjAwQThFNkUzIC8qIG5vdEFsbG93ZWRDdXJzb3IucG5nIGluIFJlc291cmNlcyAqLywKQEAgLTEy
NjI5LDkgKzEyNjY2LDEyIEBACiAJCQkJRTEwQjkzQzMwQjczQzI5MTAwM0VEODkwIC8qIEpTQ3Vz
dG9tWFBhdGhOU1Jlc29sdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxMEI5QjZEMEI3NDc1
OTkwMDNFRDg5MCAvKiBOYXRpdmVYUGF0aE5TUmVzb2x2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRTEwQjlDQ0QwQjc0N0E0NDAwM0VEODkwIC8qIERPTUN1c3RvbVhQYXRoTlNSZXNvbHZlci5t
bSBpbiBTb3VyY2VzICovLAorCQkJCUIyNjU1NEMwMEI4MEFENjAwMEE1MEVDMyAvKiBTVkdUZXh0
UGF0aEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjI2NTU0RUEwQjgwRDc0OTAwQTUw
RUMzIC8qIFJlbmRlclNWR1RleHRQYXRoLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzM0ExNDJF
MEI3RDE4ODYwMEE1M0ZGRCAvKiBUZXh0RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMz
QTE0QUEwQjdEMUQwOTAwQTUzRkZEIC8qIERPTVRleHRFdmVudC5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTkzM0ExNEI4MEI3RDFENTIwMEE1M0ZGRCAvKiBKU1RleHRFdmVudC5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQlCMkIzM0E1RjBCODg3Q0VGMDBDMTU5ODQgLyogU1ZHQ2hhcmFjdGVyTGF5b3V0
SW5mby5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBN0NGQjNEMTBCN0VEMTBBMDA3MEMzMkQgLyog
RHJhZ0ltYWdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3Q0ZCM0Q1MEI3RUQxMTgwMDcwQzMy
RCAvKiBEcmFnSW1hZ2VNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQkzNzkxOUMyMzBCN0QxODg2
MDBBNTY5OTggLyogUG9zaXRpb25JdGVyYXRvci5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IGNz
cy9zdmcuY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIGNzcy9zdmcuY3NzCShyZXZpc2lvbiAyMTUyMikKKysr
IGNzcy9zdmcuY3NzCSh3b3JraW5nIGNvcHkpCkBAIC01MCw3ICs1MCw3IEBAIHRleHQsIGZvcmVp
Z25PYmplY3QgewogICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQKIH0KIAotdGV4dCwgdHNw
YW4gewordGV4dCwgdHNwYW4sIHRleHRQYXRoIHsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXAKIH0K
IApJbmRleDoga3N2ZzIvc3ZnL1NWR0ZFRmxvb2RFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBr
c3ZnMi9zdmcvU1ZHRkVGbG9vZEVsZW1lbnQuY3BwCShyZXZpc2lvbiAyMTUyMikKKysrIGtzdmcy
L3N2Zy9TVkdGRUZsb29kRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDcg
QEAKICNpbmNsdWRlICJTVkdGRUZsb29kRWxlbWVudC5oIgogCiAjaW5jbHVkZSAiQXR0ci5oIgor
I2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKICNpbmNsdWRl
ICJTVkdSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIlNWR1Jlc291cmNlRmlsdGVyLmgiCkluZGV4
OiBrc3ZnMi9zdmcvU1ZHVFNwYW5FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBrc3ZnMi9zdmcv
U1ZHVFNwYW5FbGVtZW50LmNwcAkocmV2aXNpb24gMjE1MjIpCisrKyBrc3ZnMi9zdmcvU1ZHVFNw
YW5FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29w
eXJpZ2h0IChDKSAyMDA0LCAyMDA1IE5pa29sYXMgWmltbWVybWFubiA8d2lsZGZveEBrZGUub3Jn
PgorICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNyBOaWtvbGFzIFppbW1lcm1hbm4g
PHppbW1lcm1hbm5Aa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDQsIDIwMDUsIDIwMDYg
Um9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KIAogICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBL
REUgcHJvamVjdApAQCAtMjEsNiArMjEsNyBAQAogKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgor
CiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJTVkdUU3BhbkVsZW1lbnQuaCIKIApAQCAtNDIs
OCArNDMsMTMgQEAgU1ZHVFNwYW5FbGVtZW50Ojp+U1ZHVFNwYW5FbGVtZW50KCkKIGJvb2wgU1ZH
VFNwYW5FbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKE5vZGUqIGNoaWxkKSBjb25z
dAogewogICAgIGlmIChjaGlsZC0+aXNUZXh0Tm9kZSgpIHx8IGNoaWxkLT5oYXNUYWdOYW1lKFNW
R05hbWVzOjp0c3BhblRhZykgfHwKLSAgICAgICAgY2hpbGQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6
OnRyZWZUYWcpKQorICAgICAgICBjaGlsZC0+aGFzVGFnTmFtZShTVkdOYW1lczo6dHJlZlRhZykK
KyNpZiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykKKyAgICAgICAgfHwgY2hpbGQt
Pmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnRleHRQYXRoVGFnKQorI2VuZGlmCisgICAgICAgKQogICAg
ICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIHJldHVybiBmYWxzZTsKIH0KIApAQCAtNTQsNiArNjAs
NiBAQCBSZW5kZXJPYmplY3QqIFNWR1RTcGFuRWxlbWVudDo6Y3JlYXRlUmVuCiAKIH0KIAotLy8g
dmltOnRzPTQ6bm9ldAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCiAKKy8vIHZpbTp0cz00Om5vZXQK
SW5kZXg6IGtzdmcyL3N2Zy9TVkdUZXh0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga3N2ZzIv
c3ZnL1NWR1RleHRFbGVtZW50LmNwcAkocmV2aXNpb24gMjE1MjIpCisrKyBrc3ZnMi9zdmcvU1ZH
VGV4dEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAgICBD
b3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUgTmlrb2xhcyBaaW1tZXJtYW5uIDx3aWxkZm94QGtkZS5v
cmc+CisgICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA3IE5pa29sYXMgWmltbWVybWFu
biA8emltbWVybWFubkBrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwNCwgMjAwNSwgMjAw
NiBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgogCiAgICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhl
IEtERSBwcm9qZWN0CkBAIC0yMSw2ICsyMSw3IEBACiAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgi
CisKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlNWR1RleHRFbGVtZW50LmgiCiAKQEAgLTEy
MSwxNSArMTIyLDE4IEBAIFJlbmRlck9iamVjdCogU1ZHVGV4dEVsZW1lbnQ6OmNyZWF0ZVJlbmQK
IAogYm9vbCBTVkdUZXh0RWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihOb2RlKiBj
aGlsZCkgY29uc3QKIHsKLSAgICBpZiAoY2hpbGQtPmlzVGV4dE5vZGUoKSB8fCBjaGlsZC0+aGFz
VGFnTmFtZShTVkdOYW1lczo6dHNwYW5UYWcpCi0gICAgICAgIHx8IGNoaWxkLT5oYXNUYWdOYW1l
KFNWR05hbWVzOjphVGFnKQotICAgICAgICB8fCBjaGlsZC0+aGFzVGFnTmFtZShTVkdOYW1lczo6
dHJlZlRhZykpCisgICAgaWYgKGNoaWxkLT5pc1RleHROb2RlKCkgfHwgY2hpbGQtPmhhc1RhZ05h
bWUoU1ZHTmFtZXM6OnRzcGFuVGFnKSB8fAorICAgICAgICBjaGlsZC0+aGFzVGFnTmFtZShTVkdO
YW1lczo6dHJlZlRhZykgfHwgY2hpbGQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OmFUYWcpCisjaWYg
RU5BQkxFKFNWR19FWFBFUklNRU5UQUxfRkVBVFVSRVMpCisgICAgICAgIHx8IGNoaWxkLT5oYXNU
YWdOYW1lKFNWR05hbWVzOjp0ZXh0UGF0aFRhZykKKyNlbmRpZgorICAgICAgICkKICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCiB9CiAKLS8vIHZpbTp0cz00Om5v
ZXQKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQogCisvLyB2aW06dHM9NDpub2V0CkluZGV4OiBrc3Zn
Mi9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBrc3ZnMi9zdmcvU1ZH
VGV4dFBhdGhFbGVtZW50LmNwcAkocmV2aXNpb24gMCkKKysrIGtzdmcyL3N2Zy9TVkdUZXh0UGF0
aEVsZW1lbnQuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0OSBAQAorLyoKKyAgICBDb3B5
cmlnaHQgKEMpIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisK
KyAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgS0RFIHByb2plY3QKKworICAgIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAg
ICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYworICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAg
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAgIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMz
MCwKKyAgICBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KKyovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKworI2lmIEVOQUJMRShTVkcpICYmIEVOQUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRV
UkVTKQorI2luY2x1ZGUgIlNWR1RleHRQYXRoRWxlbWVudC5oIgorCisjaW5jbHVkZSAiQWZmaW5l
VHJhbnNmb3JtLmgiCisjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCisjaW5jbHVkZSAiUmVuZGVyU1ZH
VGV4dFBhdGguaCIKKyNpbmNsdWRlICJTVkdMZW5ndGhMaXN0LmgiCisjaW5jbHVkZSAiU1ZHUGF0
aEVsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdSZW5kZXJTdHlsZS5oIgorI2luY2x1ZGUgIlNWR1Rl
eHRQYXRoRWxlbWVudC5oIgorI2luY2x1ZGUgIlNWR1RyYW5zZm9ybUxpc3QuaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitTVkdUZXh0UGF0aEVsZW1lbnQ6OlNWR1RleHRQYXRoRWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jKQorICAgIDogU1ZHVGV4
dENvbnRlbnRFbGVtZW50KHRhZ05hbWUsIGRvYykKKyAgICAsIFNWR1VSSVJlZmVyZW5jZSgpCisg
ICAgLCBtX3N0YXJ0T2Zmc2V0KHRoaXMsIExlbmd0aE1vZGVPdGhlcikKKyAgICAsIG1fbWV0aG9k
KFNWR19URVhUUEFUSF9NRVRIT0RUWVBFX0FMSUdOKQorICAgICwgbV9zcGFjaW5nKFNWR19URVhU
UEFUSF9TUEFDSU5HVFlQRV9FWEFDVCkKK3sKK30KKworU1ZHVGV4dFBhdGhFbGVtZW50Ojp+U1ZH
VGV4dFBhdGhFbGVtZW50KCkKK3sKK30KKworQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMo
U1ZHVGV4dFBhdGhFbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBTdGFydE9mZnNl
dCwgc3RhcnRPZmZzZXQsIFNWR05hbWVzOjpzdGFydE9mZnNldEF0dHIubG9jYWxOYW1lKCksIG1f
c3RhcnRPZmZzZXQpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdUZXh0UGF0aEVs
ZW1lbnQsIGludCwgRW51bWVyYXRpb24sIGVudW1lcmF0aW9uLCBNZXRob2QsIG1ldGhvZCwgU1ZH
TmFtZXM6Om1ldGhvZEF0dHIubG9jYWxOYW1lKCksIG1fbWV0aG9kKQorQU5JTUFURURfUFJPUEVS
VFlfREVGSU5JVElPTlMoU1ZHVGV4dFBhdGhFbGVtZW50LCBpbnQsIEVudW1lcmF0aW9uLCBlbnVt
ZXJhdGlvbiwgU3BhY2luZywgc3BhY2luZywgU1ZHTmFtZXM6OnNwYWNpbmdBdHRyLmxvY2FsTmFt
ZSgpLCBtX3NwYWNpbmcpCisKK3ZvaWQgU1ZHVGV4dFBhdGhFbGVtZW50OjpwYXJzZU1hcHBlZEF0
dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUqIGF0dHIpCit7CisgICAgY29uc3QgU3RyaW5nJiB2YWx1
ZSA9IGF0dHItPnZhbHVlKCk7CisKKyAgICBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpz
dGFydE9mZnNldEF0dHIpCisgICAgICAgIHNldFN0YXJ0T2Zmc2V0QmFzZVZhbHVlKFNWR0xlbmd0
aCh0aGlzLCBMZW5ndGhNb2RlT3RoZXIsIHZhbHVlKSk7CisgICAgZWxzZSBpZiAoYXR0ci0+bmFt
ZSgpID09IFNWR05hbWVzOjptZXRob2RBdHRyKSB7CisgICAgICAgIGlmICh2YWx1ZSA9PSAiYWxp
Z24iKQorICAgICAgICAgICAgc2V0U3BhY2luZ0Jhc2VWYWx1ZShTVkdfVEVYVFBBVEhfTUVUSE9E
VFlQRV9BTElHTik7CisgICAgICAgIGVsc2UgaWYodmFsdWUgPT0gInN0cmV0Y2giKQorICAgICAg
ICAgICAgc2V0U3BhY2luZ0Jhc2VWYWx1ZShTVkdfVEVYVFBBVEhfTUVUSE9EVFlQRV9TVFJFVENI
KTsKKyAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6c3BhY2luZ0F0dHIp
IHsKKyAgICAgICAgaWYgKHZhbHVlID09ICJhdXRvIikKKyAgICAgICAgICAgIHNldE1ldGhvZEJh
c2VWYWx1ZShTVkdfVEVYVFBBVEhfU1BBQ0lOR1RZUEVfQVVUTyk7CisgICAgICAgIGVsc2UgaWYg
KHZhbHVlID09ICJleGFjdCIpCisgICAgICAgICAgICBzZXRNZXRob2RCYXNlVmFsdWUoU1ZHX1RF
WFRQQVRIX1NQQUNJTkdUWVBFX0VYQUNUKTsKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAoU1ZH
VVJJUmVmZXJlbmNlOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgU1ZHVGV4dENvbnRlbnRFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0
ZShhdHRyKTsKKyAgICB9Cit9CisKK1JlbmRlck9iamVjdCogU1ZHVGV4dFBhdGhFbGVtZW50Ojpj
cmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSogYXJlbmEsIFJlbmRlclN0eWxlKiBzdHlsZSkKK3sK
KyAgICByZXR1cm4gbmV3IChhcmVuYSkgUmVuZGVyU1ZHVGV4dFBhdGgodGhpcyk7Cit9CisKK2Jv
b2wgU1ZHVGV4dFBhdGhFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKE5vZGUqIGNo
aWxkKSBjb25zdAoreworICAgIGlmIChjaGlsZC0+aXNUZXh0Tm9kZSgpIHx8IGNoaWxkLT5oYXNU
YWdOYW1lKFNWR05hbWVzOjp0cmVmVGFnKSB8fAorICAgICAgICBjaGlsZC0+aGFzVGFnTmFtZShT
VkdOYW1lczo6dHNwYW5UYWcpIHx8IGNoaWxkLT5oYXNUYWdOYW1lKFNWR05hbWVzOjp0ZXh0UGF0
aFRhZykpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgcmV0dXJuIGZhbHNlOworfQorCit2
b2lkIFNWR1RleHRQYXRoRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKQoreworICAgIFNW
R0VsZW1lbnQ6Omluc2VydGVkSW50b0RvY3VtZW50KCk7CisKKyAgICBTdHJpbmcgaWQgPSBTVkdV
UklSZWZlcmVuY2U6OmdldFRhcmdldChocmVmKCkpOworICAgIEVsZW1lbnQqIHRhcmdldEVsZW1l
bnQgPSBvd25lckRvY3VtZW50KCktPmdldEVsZW1lbnRCeUlkKGlkKTsKKyAgICBpZiAoIXRhcmdl
dEVsZW1lbnQpIHsKKyAgICAgICAgZG9jdW1lbnQoKS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpLT5h
ZGRQZW5kaW5nUmVzb3VyY2UoaWQsIHRoaXMpOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgYnVpbGRQZW5kaW5nUmVzb3VyY2UoKTsKK30KKwordm9pZCBTVkdUZXh0UGF0aEVsZW1lbnQ6
OmJ1aWxkUGVuZGluZ1Jlc291cmNlKCkKK3sKKyAgICAvLyBGSVhNRTogUmVhbCBsb2dpYyBoZXJl
IQorICAgIGlmIChhdHRhY2hlZCgpKQorICAgICAgICBkZXRhY2goKTsKKyAgICAKKyAgICBBU1NF
UlQoIWF0dGFjaGVkKCkpOworICAgIGF0dGFjaCgpOworfQorCit2b2lkIFNWR1RleHRQYXRoRWxl
bWVudDo6YXR0YWNoKCkKK3sgCisgICAgU1ZHU3R5bGVkRWxlbWVudDo6YXR0YWNoKCk7CisKKyAg
ICBpZiAoIXJlbmRlcmVyKCkpCisgICAgICAgIHJldHVybjsKKworICAgIFN0cmluZyBpZCA9IFNW
R1VSSVJlZmVyZW5jZTo6Z2V0VGFyZ2V0KGhyZWYoKSk7CisgICAgRWxlbWVudCogdGFyZ2V0RWxl
bWVudCA9IG93bmVyRG9jdW1lbnQoKS0+Z2V0RWxlbWVudEJ5SWQoaWQpOworICAgIEFTU0VSVCh0
YXJnZXRFbGVtZW50KTsKKworICAgIGlmICghdGFyZ2V0RWxlbWVudC0+aGFzVGFnTmFtZShTVkdO
YW1lczo6cGF0aFRhZykpCisgICAgICAgIHJldHVybjsKKworICAgIFNWR1BhdGhFbGVtZW50KiBw
YXRoRWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR1BhdGhFbGVtZW50Kj4odGFyZ2V0RWxlbWVudCk7
CisKKyAgICBSZW5kZXJTVkdUZXh0UGF0aCogdGV4dFBhdGggPSBzdGF0aWNfY2FzdDxSZW5kZXJT
VkdUZXh0UGF0aCo+KHJlbmRlcmVyKCkpOworICAgIEFTU0VSVCh0ZXh0UGF0aCk7CisKKyAgICB0
ZXh0UGF0aC0+c2V0U3RhcnRPZmZzZXQobV9zdGFydE9mZnNldC52YWx1ZUFzUGVyY2VudGFnZSgp
KTsKKyAgICB0ZXh0UGF0aC0+c2V0RXhhY3RBbGlnbm1lbnQobV9tZXRob2QgPT0gU1ZHX1RFWFRQ
QVRIX1NQQUNJTkdUWVBFX0VYQUNUKTsKKyAgICB0ZXh0UGF0aC0+c2V0U3RyZXRjaE1ldGhvZCht
X3NwYWNpbmcgPT0gU1ZHX1RFWFRQQVRIX01FVEhPRFRZUEVfU1RSRVRDSCk7CisKKyAgICAvLyBU
T0RPOiBDYXRjaCB0cmFuc2Zvcm0gdXBkYXRlcyA6LSkKKyAgICBQYXRoIHBhdGhEYXRhID0gcGF0
aEVsZW1lbnQtPnRvUGF0aERhdGEoKTsKKyAgICBwYXRoRGF0YS50cmFuc2Zvcm0ocGF0aEVsZW1l
bnQtPmxvY2FsTWF0cml4KCkpOworICAgIHRleHRQYXRoLT5zZXRMYXlvdXRQYXRoKHBhdGhEYXRh
KTsKK30KKworfQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykKKworLy8gdmltOnRzPTQ6bm9ldApJ
bmRleDoga3N2ZzIvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtzdmcy
L3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuaAkocmV2aXNpb24gMCkKKysrIGtzdmcyL3N2Zy9TVkdU
ZXh0UGF0aEVsZW1lbnQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw3OCBAQAorLyoKKyAgICBD
b3B5cmlnaHQgKEMpIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+
CisKKyAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgS0RFIHByb2plY3QKKworICAgIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
KyAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYworICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg
ICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg
ZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAgIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRl
IDMzMCwKKyAgICBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KKyovCisKKyNpZm5kZWYgU1ZH
VGV4dFBhdGhFbGVtZW50X2gKKyNkZWZpbmUgU1ZHVGV4dFBhdGhFbGVtZW50X2gKKworI2lmIEVO
QUJMRShTVkcpICYmIEVOQUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKQorI2luY2x1ZGUg
IlNWR1RleHRDb250ZW50RWxlbWVudC5oIgorCisjaW5jbHVkZSAiU1ZHVVJJUmVmZXJlbmNlLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlCit7CisgICAgZW51bSBTVkdUZXh0UGF0aE1ldGhvZFR5cGUg
eworICAgICAgICBTVkdfVEVYVFBBVEhfTUVUSE9EVFlQRV9VTktOT1dOID0gMCwKKyAgICAgICAg
U1ZHX1RFWFRQQVRIX01FVEhPRFRZUEVfQUxJR04gPSAxLAorICAgICAgICBTVkdfVEVYVFBBVEhf
TUVUSE9EVFlQRV9TVFJFVENIID0gMgorICAgIH07CisKKyAgICBlbnVtIFNWR1RleHRQYXRoU3Bh
Y2luZ1R5cGUgeworICAgICAgICBTVkdfVEVYVFBBVEhfU1BBQ0lOR1RZUEVfVU5LTk9XTiA9IDAs
CisgICAgICAgIFNWR19URVhUUEFUSF9TUEFDSU5HVFlQRV9BVVRPID0gMSwKKyAgICAgICAgU1ZH
X1RFWFRQQVRIX1NQQUNJTkdUWVBFX0VYQUNUID0gMgorICAgIH07CisKKyAgICBjbGFzcyBTVkdU
ZXh0UGF0aEVsZW1lbnQgOiBwdWJsaWMgU1ZHVGV4dENvbnRlbnRFbGVtZW50LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdVUklSZWZlcmVuY2UKKyAgICB7CisgICAg
cHVibGljOgorICAgICAgICBTVkdUZXh0UGF0aEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IERvY3VtZW50Kik7CisgICAgICAgIHZpcnR1YWwgflNWR1RleHRQYXRoRWxlbWVudCgpOworIAor
ICAgICAgICB2aXJ0dWFsIHZvaWQgaW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKKyAgICAgICAgdmly
dHVhbCB2b2lkIGJ1aWxkUGVuZGluZ1Jlc291cmNlKCk7CisKKyAgICAgICAgdmlydHVhbCB2b2lk
IGF0dGFjaCgpOworCisgICAgICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShN
YXBwZWRBdHRyaWJ1dGUqIGF0dHIpOworICAgICAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05l
ZWRlZChSZW5kZXJTdHlsZSogc3R5bGUpIHsgcmV0dXJuIFN0eWxlZEVsZW1lbnQ6OnJlbmRlcmVy
SXNOZWVkZWQoc3R5bGUpOyB9CisgICAgICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVS
ZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CisKKyAgICAgICAgYm9vbCBjaGls
ZFNob3VsZENyZWF0ZVJlbmRlcmVyKE5vZGUqKSBjb25zdDsKKyAgICAKKyAgICBwcm90ZWN0ZWQ6
CisgICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25z
dCB7IHJldHVybiB0aGlzOyB9CisKKyAgICBwcml2YXRlOgorICAgICAgICBBTklNQVRFRF9QUk9Q
RVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdVUklSZWZlcmVuY2UsIFN0cmluZywgSHJlZiwg
aHJlZikKKworICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHVGV4dFBh
dGhFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgU3RhcnRPZmZzZXQsIHN0YXJ0T2Zmc2V0
KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHVGV4dFBhdGhFbGVt
ZW50LCBpbnQsIGludCwgTWV0aG9kLCBtZXRob2QpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZ
X0RFQ0xBUkFUSU9OUyhTVkdUZXh0UGF0aEVsZW1lbnQsIGludCwgaW50LCBTcGFjaW5nLCBzcGFj
aW5nKQorICAgIH07CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RShTVkcpCisjZW5kaWYKKworLy8gdmltOnRzPTQ6bm9ldApJbmRleDoga3N2ZzIvc3ZnL1NWR1Rl
eHRQYXRoRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga3N2ZzIvc3ZnL1NWR1RleHRQYXRoRWxl
bWVudC5pZGwJKHJldmlzaW9uIDApCisrKyBrc3ZnMi9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50Lmlk
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAw
NyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworbW9kdWxl
IHN2ZyB7CisKKyAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPVNWRyZTVkdfRVhQRVJJTUVOVEFM
X0ZFQVRVUkVTXSBTVkdUZXh0UGF0aEVsZW1lbnQgOiBTVkdUZXh0Q29udGVudEVsZW1lbnQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNWR1VS
SVJlZmVyZW5jZSB7ICAgIAorICAgICAgICAvLyB0ZXh0UGF0aCBNZXRob2QgVHlwZXMKKyAgICAg
ICAgY29uc3QgdW5zaWduZWQgc2hvcnQgVEVYVFBBVEhfTUVUSE9EVFlQRV9VTktOT1dOICAgPSAw
OworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBURVhUUEFUSF9NRVRIT0RUWVBFX0FMSUdO
ICAgICA9IDE7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFRFWFRQQVRIX01FVEhPRFRZ
UEVfU1RSRVRDSCAgID0gMjsKKworICAgICAgICAvLyB0ZXh0UGF0aCBTcGFjaW5nIFR5cGVzCisg
ICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFRFWFRQQVRIX1NQQUNJTkdUWVBFX1VOS05PV04g
ID0gMDsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgVEVYVFBBVEhfU1BBQ0lOR1RZUEVf
QVVUTyAgICAgPSAxOworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBURVhUUEFUSF9TUEFD
SU5HVFlQRV9FWEFDVCAgICA9IDI7CisKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0Fu
aW1hdGVkTGVuZ3RoIHN0YXJ0T2Zmc2V0OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZH
QW5pbWF0ZWRFbnVtZXJhdGlvbiBtZXRob2Q7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBT
VkdBbmltYXRlZEVudW1lcmF0aW9uIHNwYWNpbmc7CisgICAgfTsKKworfQpJbmRleDoga3N2ZzIv
c3ZnL3N2Z3RhZ3MuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga3N2ZzIvc3ZnL3N2Z3RhZ3MuaW4JKHJldmlz
aW9uIDIxNTIyKQorKysga3N2ZzIvc3ZnL3N2Z3RhZ3MuaW4JKHdvcmtpbmcgY29weSkKQEAgLTk0
LDcgKzk0LDcgQEAgc3ZnCiBzd2l0Y2gKIHN5bWJvbAogdGV4dAotI2lmIDAKKyNpZmRlZiBFTkFC
TEVfU1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJFUwogdGV4dFBhdGgKICNlbmRpZgogdGl0bGUKSW5k
ZXg6IHJlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSByZW5kZXJpbmcv
SW5saW5lVGV4dEJveC5jcHAJKHJldmlzaW9uIDIxNTIyKQorKysgcmVuZGVyaW5nL0lubGluZVRl
eHRCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDAsNyArMjAwLDcgQEAgaW50IElubGluZVRl
eHRCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9vbAogICAgIHJldHVybiAtMTsKIH0KIAotc3RhdGlj
IENvbG9yIGNvcnJlY3RlZFRleHRDb2xvcihDb2xvciB0ZXh0Q29sb3IsIENvbG9yIGJhY2tncm91
bmRDb2xvcikgCitDb2xvciBjb3JyZWN0ZWRUZXh0Q29sb3IoQ29sb3IgdGV4dENvbG9yLCBDb2xv
ciBiYWNrZ3JvdW5kQ29sb3IpIAogewogICAgIC8vIEFkanVzdCB0aGUgdGV4dCBjb2xvciBpZiBp
dCBpcyB0b28gY2xvc2UgdG8gdGhlIGJhY2tncm91bmQgY29sb3IsCiAgICAgLy8gYnkgZGFya2Vu
aW5nIG9yIGxpZ2h0ZW5pbmcgaXQgdG8gbW92ZSBpdCBmdXJ0aGVyIGF3YXkuCkBAIC0yMjEsNyAr
MjIxLDcgQEAgc3RhdGljIENvbG9yIGNvcnJlY3RlZFRleHRDb2xvcihDb2xvciB0ZQogICAgIHJl
dHVybiB0ZXh0Q29sb3IubGlnaHQoKTsKIH0KIAotc3RhdGljIHZvaWQgdXBkYXRlR3JhcGhpY3ND
b250ZXh0KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgQ29sb3ImIGZpbGxDb2xvciwg
Y29uc3QgQ29sb3ImIHN0cm9rZUNvbG9yLCBmbG9hdCBzdHJva2VUaGlja25lc3MpCit2b2lkIHVw
ZGF0ZUdyYXBoaWNzQ29udGV4dChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IENvbG9y
JiBmaWxsQ29sb3IsIGNvbnN0IENvbG9yJiBzdHJva2VDb2xvciwgZmxvYXQgc3Ryb2tlVGhpY2tu
ZXNzKQogewogICAgIGludCBtb2RlID0gY29udGV4dC0+dGV4dERyYXdpbmdNb2RlKCk7CiAgICAg
aWYgKHN0cm9rZVRoaWNrbmVzcyA+IDApIHsKSW5kZXg6IHJlbmRlcmluZy9JbmxpbmVUZXh0Qm94
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gcmVuZGVyaW5nL0lubGluZVRleHRCb3guaAkocmV2aXNpb24gMjE1
MjIpCisrKyByZW5kZXJpbmcvSW5saW5lVGV4dEJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2
ICs0MCwxMCBAQCBjbGFzcyBNYXJrZWRUZXh0VW5kZXJsaW5lOwogY2xhc3MgSGl0VGVzdFJlc3Vs
dDsKIGNsYXNzIFBvc2l0aW9uOwogCisvLyBIZWxwZXIgZnVuY3Rpb25zIHNoYXJlZCBieSBJbmxp
bmVUZXh0Qm94IC8gU1ZHUm9vdElubGluZUJveAordm9pZCB1cGRhdGVHcmFwaGljc0NvbnRleHQo
R3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBDb2xvciYgZmlsbENvbG9yLCBjb25zdCBD
b2xvciYgc3Ryb2tlQ29sb3IsIGZsb2F0IHN0cm9rZVRoaWNrbmVzcyk7CitDb2xvciBjb3JyZWN0
ZWRUZXh0Q29sb3IoQ29sb3IgdGV4dENvbG9yLCBDb2xvciBiYWNrZ3JvdW5kQ29sb3IpOworCiBj
bGFzcyBJbmxpbmVUZXh0Qm94IDogcHVibGljIElubGluZVJ1bkJveCB7CiBwdWJsaWM6CiAgICAg
SW5saW5lVGV4dEJveChSZW5kZXJPYmplY3QqIG9iaikKQEAgLTY3LDcgKzcxLDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgaW50IHNlbGVjdGlvblRvcCgpOwogICAgIHZpcnR1YWwgaW50IHNlbGVj
dGlvbkhlaWdodCgpOwogCi0gICAgSW50UmVjdCBzZWxlY3Rpb25SZWN0KGludCBhYnN4LCBpbnQg
YWJzeSwgaW50IHN0YXJ0UG9zLCBpbnQgZW5kUG9zKTsKKyAgICB2aXJ0dWFsIEludFJlY3Qgc2Vs
ZWN0aW9uUmVjdChpbnQgYWJzeCwgaW50IGFic3ksIGludCBzdGFydFBvcywgaW50IGVuZFBvcyk7
CiAgICAgYm9vbCBpc1NlbGVjdGVkKGludCBzdGFydFBvcywgaW50IGVuZFBvcykgY29uc3Q7CiAg
ICAgdm9pZCBzZWxlY3Rpb25TdGFydEVuZChpbnQmIHNQb3MsIGludCYgZVBvcyk7CiAKQEAgLTEy
MSw4ICsxMjUsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB1bnNpZ25lZCBjYXJldE1heFJlbmRl
cmVkT2Zmc2V0KCkgY29uc3Q7CiAKICAgICBpbnQgdGV4dFBvcygpIGNvbnN0OwotICAgIGludCBv
ZmZzZXRGb3JQb3NpdGlvbihpbnQgeCwgYm9vbCBpbmNsdWRlUGFydGlhbEdseXBocyA9IHRydWUp
IGNvbnN0OwotICAgIGludCBwb3NpdGlvbkZvck9mZnNldChpbnQgb2Zmc2V0KSBjb25zdDsKKyAg
ICB2aXJ0dWFsIGludCBvZmZzZXRGb3JQb3NpdGlvbihpbnQgeCwgYm9vbCBpbmNsdWRlUGFydGlh
bEdseXBocyA9IHRydWUpIGNvbnN0OworICAgIHZpcnR1YWwgaW50IHBvc2l0aW9uRm9yT2Zmc2V0
KGludCBvZmZzZXQpIGNvbnN0OwogCiAgICAgYm9vbCBjb250YWluc0NhcmV0T2Zmc2V0KGludCBv
ZmZzZXQpIGNvbnN0OyAvLyBmYWxzZSBmb3Igb2Zmc2V0IGFmdGVyIGxpbmUgYnJlYWsKIApJbmRl
eDogcmVuZGVyaW5nL1JlbmRlclNWR0lubGluZVRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHJlbmRl
cmluZy9SZW5kZXJTVkdJbmxpbmVUZXh0LmNwcAkocmV2aXNpb24gMjE1MjIpCisrKyByZW5kZXJp
bmcvUmVuZGVyU1ZHSW5saW5lVGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMsNiArMyw3IEBA
CiAgKgogICogQ29weXJpZ2h0IChDKSAyMDA2IE9saXZlciBIdW50IDxvamgxNkBzdHVkZW50LmNh
bnRlcmJ1cnkuYWMubno+CiAgKiAgICAgICAgICAgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIgSW5j
LgorICogICAgICAgICAgIChDKSAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBr
ZGUub3JnPgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yNCwxMiArMjUsMTMgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKIAogI2lmIEVOQUJMRShTVkcpCi0KICNpbmNsdWRlICJSZW5kZXJTVkdJbmxp
bmVUZXh0LmgiCiAKICNpbmNsdWRlICJBZmZpbmVUcmFuc2Zvcm0uaCIKICNpbmNsdWRlICJHcmFw
aGljc0NvbnRleHQuaCIKKyNpbmNsdWRlICJSZW5kZXJCbG9jay5oIgogI2luY2x1ZGUgIlNWR0lu
bGluZVRleHRCb3guaCIKKyNpbmNsdWRlICJTVkdSb290SW5saW5lQm94LmgiCiAjaW5jbHVkZSAi
S0NhbnZhc1JlbmRlcmluZ1N0eWxlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ3LDkg
KzQ5LDUzIEBAIHZvaWQgUmVuZGVyU1ZHSW5saW5lVGV4dDo6YWJzb2x1dGVSZWN0cygKIAogSW50
UmVjdCBSZW5kZXJTVkdJbmxpbmVUZXh0OjpzZWxlY3Rpb25SZWN0KGJvb2wgY2xpcFRvVmlzaWJs
ZUNvbnRlbnQpCiB7CisjaWYgIUVOQUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKQogICAg
IEludFJlY3QgcmVjdCA9IFJlbmRlclRleHQ6OnNlbGVjdGlvblJlY3QoY2xpcFRvVmlzaWJsZUNv
bnRlbnQpOwogICAgIHJlY3QgPSBwYXJlbnQoKS0+YWJzb2x1dGVUcmFuc2Zvcm0oKS5tYXBSZWN0
KHJlY3QpOwogICAgIHJldHVybiByZWN0OworI2Vsc2UKKyAgICBpZiAoc2VsZWN0aW9uU3RhdGUo
KSA9PSBTZWxlY3Rpb25Ob25lKQorICAgICAgICByZXR1cm4gSW50UmVjdCgpOworCisgICAgUmVu
ZGVyQmxvY2sqIGNiID0gIGNvbnRhaW5pbmdCbG9jaygpOworICAgIGlmICghY2IpCisgICAgICAg
IHJldHVybiBJbnRSZWN0KCk7CisKKyAgICAvLyBOb3cgY2FsY3VsYXRlIHN0YXJ0UG9zIGFuZCBl
bmRQb3MgZm9yIHBhaW50aW5nIHNlbGVjdGlvbi4KKyAgICAvLyBXZSBpbmNsdWRlIGEgc2VsZWN0
aW9uIHdoaWxlIGVuZFBvcyA+IDAKKyAgICBpbnQgc3RhcnRQb3MsIGVuZFBvczsKKyAgICBpZiAo
c2VsZWN0aW9uU3RhdGUoKSA9PSBTZWxlY3Rpb25JbnNpZGUpIHsKKyAgICAgICAgLy8gV2UgYXJl
IGZ1bGx5IHNlbGVjdGVkLgorICAgICAgICBzdGFydFBvcyA9IDA7CisgICAgICAgIGVuZFBvcyA9
IHRleHRMZW5ndGgoKTsKKyAgICB9IGVsc2UgeworICAgICAgICBzZWxlY3Rpb25TdGFydEVuZChz
dGFydFBvcywgZW5kUG9zKTsKKworICAgICAgICBpZiAoc2VsZWN0aW9uU3RhdGUoKSA9PSBTZWxl
Y3Rpb25TdGFydCkKKyAgICAgICAgICAgIGVuZFBvcyA9IHRleHRMZW5ndGgoKTsKKyAgICAgICAg
ZWxzZSBpZiAoc2VsZWN0aW9uU3RhdGUoKSA9PSBTZWxlY3Rpb25FbmQpCisgICAgICAgICAgICBz
dGFydFBvcyA9IDA7CisgICAgfQorCisgICAgaWYgKHN0YXJ0UG9zID09IGVuZFBvcykKKyAgICAg
ICAgcmV0dXJuIEludFJlY3QoKTsKKworICAgIEZsb2F0UmVjdCByZXN1bHQ7CisKKyAgICBmb3Ig
KElubGluZVRleHRCb3gqIGJveCA9IGZpcnN0VGV4dEJveCgpOyBib3g7IGJveCA9IGJveC0+bmV4
dFRleHRCb3goKSkgeworICAgICAgICBTVkdJbmxpbmVUZXh0Qm94KiB0ZXh0Qm94ID0gc3RhdGlj
X2Nhc3Q8U1ZHSW5saW5lVGV4dEJveCo+KGJveCk7CisKKyAgICAgICAgU1ZHUm9vdElubGluZUJv
eCogcm9vdEJveCA9IHRleHRCb3gtPnN2Z1Jvb3RJbmxpbmVCb3goKTsKKyAgICAgICAgQVNTRVJU
KHJvb3RCb3gtPm9iamVjdCgpKTsKKworICAgICAgICBpbnQgeFN0YXJ0ID0gcm9vdEJveC0+b2Jq
ZWN0KCktPnhQb3MoKTsKKyAgICAgICAgaW50IHlTdGFydCA9IHJvb3RCb3gtPm9iamVjdCgpLT55
UG9zKCk7CisKKyAgICAgICAgcmVzdWx0LnVuaXRlKGFic29sdXRlVHJhbnNmb3JtKCkubWFwUmVj
dChGbG9hdFJlY3QoeFN0YXJ0LCB5U3RhcnQsIHdpZHRoKCksIGhlaWdodCgpKSkpOworICAgIH0K
KworICAgIHJldHVybiBlbmNsb3NpbmdJbnRSZWN0KHJlc3VsdCk7CisjZW5kaWYKIH0KIAogSW5s
aW5lVGV4dEJveCogUmVuZGVyU1ZHSW5saW5lVGV4dDo6Y3JlYXRlSW5saW5lVGV4dEJveCgpCkBA
IC01Nyw2ICsxMDMsMzUgQEAgSW5saW5lVGV4dEJveCogUmVuZGVyU1ZHSW5saW5lVGV4dDo6Y3Jl
YQogICAgIHJldHVybiBuZXcgKHJlbmRlckFyZW5hKCkpIFNWR0lubGluZVRleHRCb3godGhpcyk7
CiB9CiAKKyNpZiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykKK0ludFJlY3QgUmVu
ZGVyU1ZHSW5saW5lVGV4dDo6Y2FyZXRSZWN0KGludCBvZmZzZXQsIEVBZmZpbml0eSBhZmZpbml0
eSwgaW50KiBleHRyYVdpZHRoVG9FbmRPZkxpbmUpCit7CisgICAgLy8gU1ZHIGRvZXNuJ3QgaGF2
ZSBhbnkgZWRpdGFibGUgY29udGVudCB3aGVyZSBhIGNhcmV0IHJlY3Qgd291bGQgYmUgbmVlZGVk
CisgICAgcmV0dXJuIEludFJlY3QoKTsKK30KKworVmlzaWJsZVBvc2l0aW9uIFJlbmRlclNWR0lu
bGluZVRleHQ6OnBvc2l0aW9uRm9yQ29vcmRpbmF0ZXMoaW50IHgsIGludCB5KQoreworICAgIGlm
ICghZmlyc3RUZXh0Qm94KCkgfHwgdGV4dExlbmd0aCgpID09IDApCisgICAgICAgIHJldHVybiBW
aXNpYmxlUG9zaXRpb24oZWxlbWVudCgpLCAwLCBET1dOU1RSRUFNKTsKKworICAgIGZvciAoSW5s
aW5lVGV4dEJveCogYm94ID0gZmlyc3RUZXh0Qm94KCk7IGJveDsgYm94ID0gYm94LT5uZXh0VGV4
dEJveCgpKSB7CisgICAgICAgIFNWR0lubGluZVRleHRCb3gqIHRleHRCb3ggPSBzdGF0aWNfY2Fz
dDxTVkdJbmxpbmVUZXh0Qm94Kj4oYm94KTsKKworICAgICAgICBTVkdSb290SW5saW5lQm94KiBy
b290Qm94ID0gdGV4dEJveC0+c3ZnUm9vdElubGluZUJveCgpOworICAgICAgICBBU1NFUlQocm9v
dEJveC0+b2JqZWN0KCkpOworCisgICAgICAgIGludCB4U3RhcnQgPSB4ICsgcm9vdEJveC0+b2Jq
ZWN0KCktPnhQb3MoKTsKKyAgICAgICAgaW50IHlTdGFydCA9IHkgKyByb290Qm94LT5vYmplY3Qo
KS0+eVBvcygpOworCisgICAgICAgIGludCBvZmZzZXQgPSAwOworICAgICAgICBpZiAodGV4dEJv
eC0+c3ZnQ2hhcmFjdGVySGl0c1Bvc2l0aW9uKHhTdGFydCwgeVN0YXJ0LCBvZmZzZXQpKQorICAg
ICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihlbGVtZW50KCksIG9mZnNldCArIHRleHRC
b3gtPnN0YXJ0KCksIERPV05TVFJFQU0pOworICAgIH0KKworICAgIHJldHVybiBWaXNpYmxlUG9z
aXRpb24oZWxlbWVudCgpLCAwLCBET1dOU1RSRUFNKTsKIH0KKyNlbmRpZgogCit9CiAjZW5kaWYg
Ly8gRU5BQkxFKFNWRykKSW5kZXg6IHJlbmRlcmluZy9SZW5kZXJTVkdJbmxpbmVUZXh0LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gcmVuZGVyaW5nL1JlbmRlclNWR0lubGluZVRleHQuaAkocmV2aXNpb24gMjE1
MjIpCisrKyByZW5kZXJpbmcvUmVuZGVyU1ZHSW5saW5lVGV4dC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zOCw2ICszOCwxMSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBJbnRSZWN0IHNlbGVjdGlvblJl
Y3QoYm9vbCBjbGlwVG9WaXNpYmxlQ29udGVudCA9IHRydWUpOwogICAgIHZpcnR1YWwgYm9vbCBp
c1NWR1RleHQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBJbmxpbmVUZXh0
Qm94KiBjcmVhdGVJbmxpbmVUZXh0Qm94KCk7CisKKyNpZiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRB
TF9GRUFUVVJFUykKKyAgICB2aXJ0dWFsIEludFJlY3QgY2FyZXRSZWN0KGludCBvZmZzZXQsIEVB
ZmZpbml0eSwgaW50KiBleHRyYVdpZHRoVG9FbmRPZkxpbmUgPSAwKTsKKyAgICB2aXJ0dWFsIFZp
c2libGVQb3NpdGlvbiBwb3NpdGlvbkZvckNvb3JkaW5hdGVzKGludCB4LCBpbnQgeSk7CisjZW5k
aWYKIH07CiB9CiAKSW5kZXg6IHJlbmRlcmluZy9SZW5kZXJTVkdUZXh0UGF0aC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gcmVuZGVyaW5nL1JlbmRlclNWR1RleHRQYXRoLmNwcAkocmV2aXNpb24gMCkKKysr
IHJlbmRlcmluZy9SZW5kZXJTVkdUZXh0UGF0aC5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
OTEgQEAKKy8qCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IHByb2plY3QuCisg
KgorICogQ29weXJpZ2h0IChDKSAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBr
ZGUub3JnPgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBU
aGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz
ZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk
IGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBs
ZSBQbGFjZSAtIFN1aXRlIDMzMCwKKyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICoK
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUo
U1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykKKyNpbmNsdWRlICJSZW5kZXJTVkdUZXh0UGF0aC5o
IgorCisjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCisjaW5jbHVkZSAiRmxvYXRSZWN0Lmgi
CisjaW5jbHVkZSAiSW5saW5lRmxvd0JveC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Jl
bmRlclNWR1RleHRQYXRoOjpSZW5kZXJTVkdUZXh0UGF0aChOb2RlKiBuKQorICAgIDogUmVuZGVy
U1ZHSW5saW5lKG4pCisgICAgLCBtX3N0YXJ0T2Zmc2V0KDAuMCkKKyAgICAsIG1fZXhhY3RBbGln
bm1lbnQodHJ1ZSkKKyAgICAsIG1fc3RyZXRjaE1ldGhvZChmYWxzZSkKK3sKK30KKworUGF0aCBS
ZW5kZXJTVkdUZXh0UGF0aDo6bGF5b3V0UGF0aCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fbGF5
b3V0UGF0aDsKK30KKwordm9pZCBSZW5kZXJTVkdUZXh0UGF0aDo6c2V0TGF5b3V0UGF0aChjb25z
dCBQYXRoJiBwYXRoKQoreworICAgIG1fbGF5b3V0UGF0aCA9IHBhdGg7Cit9CisKK2Zsb2F0IFJl
bmRlclNWR1RleHRQYXRoOjpzdGFydE9mZnNldCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc3Rh
cnRPZmZzZXQ7Cit9CisKK3ZvaWQgUmVuZGVyU1ZHVGV4dFBhdGg6OnNldFN0YXJ0T2Zmc2V0KGZs
b2F0IG9mZnNldCkKK3sKKyAgICBtX3N0YXJ0T2Zmc2V0ID0gb2Zmc2V0OworfQorCitib29sIFJl
bmRlclNWR1RleHRQYXRoOjpleGFjdEFsaWdubWVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1f
ZXhhY3RBbGlnbm1lbnQ7Cit9CisKK3ZvaWQgUmVuZGVyU1ZHVGV4dFBhdGg6OnNldEV4YWN0QWxp
Z25tZW50KGJvb2wgdmFsdWUpCit7CisgICAgbV9leGFjdEFsaWdubWVudCA9IHZhbHVlOworfQor
Citib29sIFJlbmRlclNWR1RleHRQYXRoOjpzdHJldGNoTWV0aG9kKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbV9zdHJldGNoTWV0aG9kOworfQorCit2b2lkIFJlbmRlclNWR1RleHRQYXRoOjpzZXRT
dHJldGNoTWV0aG9kKGJvb2wgdmFsdWUpCit7CisgICAgbV9zdHJldGNoTWV0aG9kID0gdmFsdWU7
Cit9CisKK3ZvaWQgUmVuZGVyU1ZHVGV4dFBhdGg6OmFic29sdXRlUmVjdHMoVmVjdG9yPEludFJl
Y3Q+JiByZWN0cywgaW50IHR4LCBpbnQgdHkpCit7CisgICAgSW5saW5lRmxvd0JveCogaW5pdEZs
b3cgPSBmaXJzdExpbmVCb3goKTsKKyAgICBGbG9hdFJlY3QgYm91bmRzKHR4ICsgaW5pdEZsb3ct
PnhQb3MoKSwgdHkgKyBpbml0Rmxvdy0+eVBvcygpLCB3aWR0aCgpLCBoZWlnaHQoKSk7CisgICAg
cmVjdHMuYXBwZW5kKGVuY2xvc2luZ0ludFJlY3QoYWJzb2x1dGVUcmFuc2Zvcm0oKS5tYXBSZWN0
KGJvdW5kcykpKTsKK30KKworfQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykKSW5kZXg6IHJlbmRl
cmluZy9SZW5kZXJTVkdUZXh0UGF0aC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHJlbmRlcmluZy9SZW5kZXJT
VkdUZXh0UGF0aC5oCShyZXZpc2lvbiAwKQorKysgcmVuZGVyaW5nL1JlbmRlclNWR1RleHRQYXRo
LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBUaGlzIGZpbGUgaXMgcGFy
dCBvZiB0aGUgV2ViS2l0IHByb2plY3QuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA3IE5pa29s
YXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisg
KiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQor
ICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgor
ICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKKyAqIEJvc3Rv
biwgTUEgMDIxMTEtMTMwNywgVVNBLgorICoKKyAqLworCisjaWZuZGVmIFJlbmRlclNWR1RleHRQ
YXRoX2gKKyNkZWZpbmUgUmVuZGVyU1ZHVGV4dFBhdGhfaAorCisjaWYgRU5BQkxFKFNWRykgJiYg
RU5BQkxFKFNWR19FWFBFUklNRU5UQUxfRkVBVFVSRVMpCisjaW5jbHVkZSAiUmVuZGVyU1ZHSW5s
aW5lLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworICAgIGNsYXNzIFJlbmRlclNWR1RleHRQ
YXRoIDogcHVibGljIFJlbmRlclNWR0lubGluZSB7CisgICAgcHVibGljOgorICAgICAgICBSZW5k
ZXJTVkdUZXh0UGF0aChOb2RlKik7CisKKyAgICAgICAgUGF0aCBsYXlvdXRQYXRoKCkgY29uc3Q7
CisgICAgICAgIHZvaWQgc2V0TGF5b3V0UGF0aChjb25zdCBQYXRoJik7CisKKyAgICAgICAgZmxv
YXQgc3RhcnRPZmZzZXQoKSBjb25zdDsKKyAgICAgICAgdm9pZCBzZXRTdGFydE9mZnNldChmbG9h
dCk7CisKKyAgICAgICAgYm9vbCBleGFjdEFsaWdubWVudCgpIGNvbnN0OworICAgICAgICB2b2lk
IHNldEV4YWN0QWxpZ25tZW50KGJvb2wpOworCisgICAgICAgIGJvb2wgc3RyZXRjaE1ldGhvZCgp
IGNvbnN0OworICAgICAgICB2b2lkIHNldFN0cmV0Y2hNZXRob2QoYm9vbCk7CisKKyAgICAgICAg
dmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJlbmRlclNW
R1RleHRQYXRoIjsgfQorICAgICAgICB2aXJ0dWFsIHZvaWQgYWJzb2x1dGVSZWN0cyhWZWN0b3I8
SW50UmVjdD4mIHJlY3RzLCBpbnQgdHgsIGludCB0eSk7CisKKyAgICBwcml2YXRlOgorICAgICAg
ICBmbG9hdCBtX3N0YXJ0T2Zmc2V0OworCisgICAgICAgIGJvb2wgbV9leGFjdEFsaWdubWVudCA6
IDE7CisgICAgICAgIGJvb2wgbV9zdHJldGNoTWV0aG9kIDogMTsKKworICAgICAgICBQYXRoIG1f
bGF5b3V0UGF0aDsKKyAgICB9OworfQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykKKyNlbmRpZiAv
LyBSZW5kZXJTVkdUZXh0UGF0aF9oCkluZGV4OiByZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCShyZXZpc2lvbiAyMTUyMikKKysr
IHJlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODQ0LDExICs4NDQs
MTAgQEAgdm9pZCBSZW5kZXJUZXh0OjpzZXRUZXh0SW50ZXJuYWwoUGFzc1JlZgogICAgICAgICAg
ICAgLy8gVGhlbiwgaXQgd2lsbCBzdHJpcCBvZmYgYWxsIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHNw
YWNlIGNoYXJhY3RlcnMuCiAgICAgICAgICAgICAvLyBUaGVuLCBhbGwgY29udGlndW91cyBzcGFj
ZSBjaGFyYWN0ZXJzIHdpbGwgYmUgY29uc29saWRhdGVkLiAgICAKIAotICAgICAgICAgICAgc3Rh
dGljIFN0cmluZ0ltcGwgZW1wdHkoIiIsIDApOwotICAgICAgICAgICAgbV90ZXh0ID0gbV90ZXh0
LT5yZXBsYWNlKCdcbicsICZlbXB0eSk7CisgICAgICAgICAgIG1fdGV4dCA9IG1fdGV4dC0+cmVw
bGFjZSgnXG4nLCBTdHJpbmdJbXBsOjplbXB0eSgpKTsKIAotICAgICAgICAgICAgLy8gSWYgeG1s
OnNwYWNlPSJkZWZhdWx0IiBpcyBzZXQsIHdoaXRlLXNwYWNlIGlzIHNldCB0byAibm93cmFwIiwg
d2hpY2ggaGFuZGxlcwotICAgICAgICAgICAgLy8gbGVhZGluZywgdHJhaWxpbmcgJiBjb250aWd1
b3VzIHNwYWNlIGNoYXJhY3RlciByZW1vdmFsIGZvciB1cy4KKyAgICAgICAgICAgLy8gSWYgeG1s
OnNwYWNlPSJkZWZhdWx0IiBpcyBzZXQsIHdoaXRlLXNwYWNlIGlzIHNldCB0byAibm93cmFwIiwg
d2hpY2ggaGFuZGxlcworICAgICAgICAgICAvLyBsZWFkaW5nLCB0cmFpbGluZyAmIGNvbnRpZ3Vv
dXMgc3BhY2UgY2hhcmFjdGVyIHJlbW92YWwgZm9yIHVzLgogICAgICAgICB9CiAKICAgICAgICAg
bV90ZXh0ID0gbV90ZXh0LT5yZXBsYWNlKCdcdCcsICcgJyk7CkluZGV4OiByZW5kZXJpbmcvUm9v
dElubGluZUJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHJlbmRlcmluZy9Sb290SW5saW5lQm94LmgJKHJl
dmlzaW9uIDIxNTIyKQorKysgcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaAkod29ya2luZyBjb3B5
KQpAQCAtNjMsNiArNjMsMTAgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHNldFZlcnRp
Y2FsU2VsZWN0aW9uUG9zaXRpb25zKGludCB0b3AsIGludCBib3R0b20pOwogCisjaWYgRU5BQkxF
KFNWRykgJiYgRU5BQkxFKFNWR19FWFBFUklNRU5UQUxfRkVBVFVSRVMpCisgICAgdmlydHVhbCB2
b2lkIGNvbXB1dGVQZXJDaGFyYWN0ZXJMYXlvdXRJbmZvcm1hdGlvbigpIHsgfQorI2VuZGlmCisK
ICAgICBSZW5kZXJPYmplY3QqIGxpbmVCcmVha09iaigpIGNvbnN0IHsgcmV0dXJuIG1fbGluZUJy
ZWFrT2JqOyB9CiAgICAgQmlkaVN0YXR1cyBsaW5lQnJlYWtCaWRpU3RhdHVzKCkgY29uc3QgeyAK
ICAgICAgICAgQmlkaVN0YXR1cyBzdGF0dXM7CkluZGV4OiByZW5kZXJpbmcvU1ZHQ2hhcmFjdGVy
TGF5b3V0SW5mby5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcmVuZGVyaW5nL1NWR0NoYXJhY3RlckxheW91
dEluZm8uY3BwCShyZXZpc2lvbiAwKQorKysgcmVuZGVyaW5nL1NWR0NoYXJhY3RlckxheW91dElu
Zm8uY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ4OSBAQAorLyoKKyAqIFRoaXMgZmlsZSBp
cyBwYXJ0IG9mIHRoZSBXZWJLaXQgcHJvamVjdC4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcg
Tmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKgorICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorICog
Qm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKworI2lmIEVOQUJMRShTVkcpICYmIEVOQUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRVUkVT
KQorI2luY2x1ZGUgIlNWR0NoYXJhY3RlckxheW91dEluZm8uaCIKKworI2luY2x1ZGUgIklubGlu
ZUZsb3dCb3guaCIKKyNpbmNsdWRlICJJbmxpbmVUZXh0Qm94LmgiCisjaW5jbHVkZSAiS0NhbnZh
c1JlbmRlcmluZ1N0eWxlLmgiCisjaW5jbHVkZSAiU1ZHTGVuZ3RoTGlzdC5oIgorI2luY2x1ZGUg
IlNWR051bWJlckxpc3QuaCIKKyNpbmNsdWRlICJTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50Lmgi
CisjaW5jbHVkZSAiUmVuZGVyU1ZHVGV4dFBhdGguaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CisvLyBIZWxwZXIgZnVuY3Rpb24KK3N0YXRpYyBmbG9hdCBjYWxjdWxhdGVCYXNlbGluZVNoaWZ0
KFJlbmRlck9iamVjdCogaXRlbSkKK3sKKyAgICBjb25zdCBGb250JiBmb250ID0gaXRlbS0+c3R5
bGUoKS0+Zm9udCgpOworICAgIGNvbnN0IFNWR1JlbmRlclN0eWxlKiBzdmdTdHlsZSA9IGl0ZW0t
PnN0eWxlKCktPnN2Z1N0eWxlKCk7CisKKyAgICBmbG9hdCBiYXNlbGluZVNoaWZ0ID0gMC4wOwor
ICAgIGlmIChzdmdTdHlsZS0+YmFzZWxpbmVTaGlmdCgpID09IEJTX0xFTkdUSCkgeworICAgICAg
ICBDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlID0gc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZl
VmFsdWUqPihzdmdTdHlsZS0+YmFzZWxpbmVTaGlmdFZhbHVlKCkpOworICAgICAgICBiYXNlbGlu
ZVNoaWZ0ID0gcHJpbWl0aXZlLT5nZXRGbG9hdFZhbHVlKCk7CisKKyAgICAgICAgaWYgKHByaW1p
dGl2ZS0+cHJpbWl0aXZlVHlwZSgpID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFH
RSkKKyAgICAgICAgICAgIGJhc2VsaW5lU2hpZnQgPSBiYXNlbGluZVNoaWZ0IC8gMTAwLjAgKiBm
b250LnBpeGVsU2l6ZSgpOworICAgIH0gZWxzZSB7CisgICAgICAgIGZsb2F0IGJhc2VsaW5lQXNj
ZW50ID0gZm9udC5hc2NlbnQoKSArIGZvbnQuZGVzY2VudCgpOworCisgICAgICAgIHN3aXRjaCAo
c3ZnU3R5bGUtPmJhc2VsaW5lU2hpZnQoKSkgeworICAgICAgICBjYXNlIEJTX0JBU0VMSU5FOgor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQlNfU1VCOgorICAgICAgICAgICAgYmFz
ZWxpbmVTaGlmdCA9IC1iYXNlbGluZUFzY2VudCAvIDIuMDsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBjYXNlIEJTX1NVUEVSOgorICAgICAgICAgICAgYmFzZWxpbmVTaGlmdCA9IGJhc2Vs
aW5lQXNjZW50IC8gMi4wOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6Cisg
ICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgfQorICAgIH0KKworICAg
IHJldHVybiBiYXNlbGluZVNoaWZ0OworfQorCitTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjpTVkdD
aGFyYWN0ZXJMYXlvdXRJbmZvKCkKKyAgICA6IGN1cngoMC4wKQorICAgICwgY3VyeSgwLjApCisg
ICAgLCBkeCgwLjApCisgICAgLCBkeSgwLjApCisgICAgLCBzaGlmdHgoMC4wKQorICAgICwgc2hp
ZnR5KDAuMCkKKyAgICAsIHhTdGFja0NoYW5nZWQoZmFsc2UpCisgICAgLCB5U3RhY2tDaGFuZ2Vk
KGZhbHNlKQorICAgICwgZHhTdGFja0NoYW5nZWQoZmFsc2UpCisgICAgLCBkeVN0YWNrQ2hhbmdl
ZChmYWxzZSkKKyAgICAsIGFuZ2xlU3RhY2tDaGFuZ2VkKGZhbHNlKQorICAgICwgYmFzZWxpbmVT
aGlmdFN0YWNrQ2hhbmdlZChmYWxzZSkKKyAgICAsIHBhdGhMYXlvdXQoZmFsc2UpCisgICAgLCBj
dXJyZW50T2Zmc2V0KDAuMCkKKyAgICAsIHN0YXJ0T2Zmc2V0KDAuMCkKKyAgICAsIGxheW91dFBh
dGhMZW5ndGgoMC4wKQoreworfQorCitib29sIFNWR0NoYXJhY3RlckxheW91dEluZm86OnhWYWx1
ZUF2YWlsYWJsZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHhTdGFjay5pc0VtcHR5KCkgPyBmYWxz
ZSA6IHhTdGFjay5sYXN0KCkucG9zaXRpb24oKSA8IHhTdGFjay5sYXN0KCkuc2l6ZSgpOworfQor
Citib29sIFNWR0NoYXJhY3RlckxheW91dEluZm86OnlWYWx1ZUF2YWlsYWJsZSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIHlTdGFjay5pc0VtcHR5KCkgPyBmYWxzZSA6IHlTdGFjay5sYXN0KCkucG9z
aXRpb24oKSA8IHlTdGFjay5sYXN0KCkuc2l6ZSgpOworfQorCitib29sIFNWR0NoYXJhY3Rlckxh
eW91dEluZm86OmR4VmFsdWVBdmFpbGFibGUoKSBjb25zdAoreworICAgIHJldHVybiBkeFN0YWNr
LmlzRW1wdHkoKSA/IGZhbHNlIDogZHhTdGFjay5sYXN0KCkucG9zaXRpb24oKSA8IGR4U3RhY2su
bGFzdCgpLnNpemUoKTsKK30KKworYm9vbCBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjpkeVZhbHVl
QXZhaWxhYmxlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZHlTdGFjay5pc0VtcHR5KCkgPyBmYWxz
ZSA6IGR5U3RhY2subGFzdCgpLnBvc2l0aW9uKCkgPCBkeVN0YWNrLmxhc3QoKS5zaXplKCk7Cit9
CisKK2Jvb2wgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6YW5nbGVWYWx1ZUF2YWlsYWJsZSgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIGFuZ2xlU3RhY2suaXNFbXB0eSgpID8gZmFsc2UgOiBhbmdsZVN0
YWNrLmxhc3QoKS5wb3NpdGlvbigpIDwgYW5nbGVTdGFjay5sYXN0KCkuc2l6ZSgpOworfQorCiti
b29sIFNWR0NoYXJhY3RlckxheW91dEluZm86OmJhc2VsaW5lU2hpZnRWYWx1ZUF2YWlsYWJsZSgp
IGNvbnN0Cit7CisgICAgcmV0dXJuICFiYXNlbGluZVNoaWZ0U3RhY2suaXNFbXB0eSgpOworfQor
CitmbG9hdCBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjp4VmFsdWVOZXh0KCkgY29uc3QKK3sKKyAg
ICBBU1NFUlQoIXhTdGFjay5pc0VtcHR5KCkpOworICAgIHJldHVybiB4U3RhY2subGFzdCgpLnZh
bHVlQXRDdXJyZW50UG9zaXRpb24oKTsKK30KKworZmxvYXQgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5m
bzo6eVZhbHVlTmV4dCgpIGNvbnN0Cit7CisgICAgQVNTRVJUKCF5U3RhY2suaXNFbXB0eSgpKTsK
KyAgICByZXR1cm4geVN0YWNrLmxhc3QoKS52YWx1ZUF0Q3VycmVudFBvc2l0aW9uKCk7Cit9CisK
K2Zsb2F0IFNWR0NoYXJhY3RlckxheW91dEluZm86OmR4VmFsdWVOZXh0KCkgY29uc3QKK3sKKyAg
ICBBU1NFUlQoIWR4U3RhY2suaXNFbXB0eSgpKTsKKyAgICByZXR1cm4gZHhTdGFjay5sYXN0KCku
dmFsdWVBdEN1cnJlbnRQb3NpdGlvbigpOworfQorCitmbG9hdCBTVkdDaGFyYWN0ZXJMYXlvdXRJ
bmZvOjpkeVZhbHVlTmV4dCgpIGNvbnN0Cit7CisgICAgQVNTRVJUKCFkeVN0YWNrLmlzRW1wdHko
KSk7CisgICAgcmV0dXJuIGR5U3RhY2subGFzdCgpLnZhbHVlQXRDdXJyZW50UG9zaXRpb24oKTsK
K30KKworZmxvYXQgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6YW5nbGVWYWx1ZU5leHQoKSBjb25z
dAoreworICAgIEFTU0VSVCghYW5nbGVTdGFjay5pc0VtcHR5KCkpOworICAgIHJldHVybiBhbmds
ZVN0YWNrLmxhc3QoKS52YWx1ZUF0Q3VycmVudFBvc2l0aW9uKCk7Cit9CisKK2Zsb2F0IFNWR0No
YXJhY3RlckxheW91dEluZm86OmJhc2VsaW5lU2hpZnRWYWx1ZU5leHQoKSBjb25zdAoreworICAg
IEFTU0VSVCghYmFzZWxpbmVTaGlmdFN0YWNrLmlzRW1wdHkoKSk7CisgICAgcmV0dXJuIGJhc2Vs
aW5lU2hpZnRTdGFjay5sYXN0KCk7Cit9CisKK3ZvaWQgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6
cHJvY2Vzc2VkU2luZ2xlQ2hhcmFjdGVyKCkKK3sKKyAgICB4U3RhY2tXYWxrKCk7CisgICAgeVN0
YWNrV2FsaygpOworICAgIGR4U3RhY2tXYWxrKCk7CisgICAgZHlTdGFja1dhbGsoKTsKKyAgICBh
bmdsZVN0YWNrV2FsaygpOworICAgIGJhc2VsaW5lU2hpZnRTdGFja1dhbGsoKTsKK30KKwordm9p
ZCBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjpwcm9jZXNzZWRDaHVuayhmbG9hdCBsYXN0U2hpZnRY
LCBmbG9hdCBsYXN0U2hpZnRZKQoreworICAgIC8vIGJhc2VsaW5lLXNoaWZ0IGRvZXNuJ3Qgc3Bh
biBhY3Jvc3MgYW5jZXN0b3JzLCB1bmxpa2UgZHgvZHkuCisgICAgY3VyeCArPSBsYXN0U2hpZnRY
IC0gc2hpZnR4OworICAgIGN1cnkgKz0gbGFzdFNoaWZ0WSAtIHNoaWZ0eTsKKworICAgIGlmICh4
U3RhY2tDaGFuZ2VkKSB7CisgICAgICAgIEFTU0VSVCgheFN0YWNrLmlzRW1wdHkoKSk7CisgICAg
ICAgIHhTdGFjay5yZW1vdmVMYXN0KCk7CisgICAgICAgIHhTdGFja0NoYW5nZWQgPSBmYWxzZTsK
KyAgICB9CisKKyAgICBpZiAoeVN0YWNrQ2hhbmdlZCkgeworICAgICAgICBBU1NFUlQoIXlTdGFj
ay5pc0VtcHR5KCkpOworICAgICAgICB5U3RhY2sucmVtb3ZlTGFzdCgpOworICAgICAgICB5U3Rh
Y2tDaGFuZ2VkID0gZmFsc2U7CisgICAgfQorCisgICAgaWYgKGR4U3RhY2tDaGFuZ2VkKSB7Cisg
ICAgICAgIEFTU0VSVCghZHhTdGFjay5pc0VtcHR5KCkpOworICAgICAgICBkeFN0YWNrLnJlbW92
ZUxhc3QoKTsKKyAgICAgICAgZHhTdGFja0NoYW5nZWQgPSBmYWxzZTsKKyAgICB9CisKKyAgICBp
ZiAoZHlTdGFja0NoYW5nZWQpIHsKKyAgICAgICAgQVNTRVJUKCFkeVN0YWNrLmlzRW1wdHkoKSk7
CisgICAgICAgIGR5U3RhY2sucmVtb3ZlTGFzdCgpOworICAgICAgICBkeVN0YWNrQ2hhbmdlZCA9
IGZhbHNlOworICAgIH0KKworICAgIGlmIChhbmdsZVN0YWNrQ2hhbmdlZCkgeworICAgICAgICBB
U1NFUlQoIWFuZ2xlU3RhY2suaXNFbXB0eSgpKTsKKyAgICAgICAgYW5nbGVTdGFjay5yZW1vdmVM
YXN0KCk7CisgICAgICAgIGFuZ2xlU3RhY2tDaGFuZ2VkID0gZmFsc2U7CisgICAgfQorCisgICAg
aWYgKGJhc2VsaW5lU2hpZnRTdGFja0NoYW5nZWQpIHsKKyAgICAgICAgQVNTRVJUKCFiYXNlbGlu
ZVNoaWZ0U3RhY2suaXNFbXB0eSgpKTsKKyAgICAgICAgYmFzZWxpbmVTaGlmdFN0YWNrLnJlbW92
ZUxhc3QoKTsKKyAgICAgICAgYmFzZWxpbmVTaGlmdFN0YWNrQ2hhbmdlZCA9IGZhbHNlOworICAg
IH0KK30KKworYm9vbCBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjpuZXh0UGF0aExheW91dFBvaW50
QW5kQW5nbGUoZmxvYXQmIHgsIGZsb2F0JiB5LCBmbG9hdCYgYW5nbGUsIGZsb2F0IGdseXBoQWR2
YW5jZSwgZmxvYXQgbmV3T2Zmc2V0KQoreworICAgIGlmIChsYXlvdXRQYXRoTGVuZ3RoIDw9IDAu
MCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKG5ld09mZnNldCAhPSBGTFRfTUlO
KQorICAgICAgICBjdXJyZW50T2Zmc2V0ID0gc3RhcnRPZmZzZXQgKyBuZXdPZmZzZXQ7CisKKyAg
ICBmbG9hdCBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0ICsgZ2x5cGhBZHZhbmNlIC8gMi4wOworICAg
IGN1cnJlbnRPZmZzZXQgKz0gZ2x5cGhBZHZhbmNlOworCisgICAgaWYgKG9mZnNldCA8IDAuMCB8
fCBvZmZzZXQgPiBsYXlvdXRQYXRoTGVuZ3RoKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBib29sIG9rID0gZmFsc2U7IAorICAgIEZsb2F0UG9pbnQgcG9pbnQgPSBsYXlvdXRQYXRoLnBv
aW50QXRMZW5ndGgob2Zmc2V0LCBvayk7CisgICAgQVNTRVJUKG9rKTsKKworICAgIHggPSBwb2lu
dC54KCk7CisgICAgeSA9IHBvaW50LnkoKTsKKworICAgIGFuZ2xlID0gbGF5b3V0UGF0aC5ub3Jt
YWxBbmdsZUF0TGVuZ3RoKG9mZnNldCwgb2spOworICAgIEFTU0VSVChvayk7CisKKyAgICAvLyBm
cHJpbnRmKHN0ZGVyciwgInQ6ICVmLCB4OiAlZiwgeTogJWYsIGFuZ2xlOiAlZiwgZ2x5cGhBZHZh
bmNlOiAlZlxuIiwgY3VycmVudE9mZnNldCwgeCwgeSwgYW5nbGUsIGdseXBoQWR2YW5jZSk7Cisg
ICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6aW5QYXRo
TGF5b3V0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gcGF0aExheW91dDsKK30KKwordm9pZCBTVkdD
aGFyYWN0ZXJMYXlvdXRJbmZvOjpzZXRJblBhdGhMYXlvdXQoYm9vbCB2YWx1ZSkKK3sKKyAgICBw
YXRoTGF5b3V0ID0gdmFsdWU7Cit9CisKK3ZvaWQgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6YWRk
TGF5b3V0SW5mb3JtYXRpb24oSW5saW5lRmxvd0JveCogZmxvd0JveCwgZmxvYXQgdGV4dEFuY2hv
clN0YXJ0T2Zmc2V0KQoreworICAgIGJvb2wgaXNJbml0aWFsTGF5b3V0ID0geFN0YWNrLmlzRW1w
dHkoKSAmJiB5U3RhY2suaXNFbXB0eSgpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAgICBk
eFN0YWNrLmlzRW1wdHkoKSAmJiBkeVN0YWNrLmlzRW1wdHkoKSAmJgorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYW5nbGVTdGFjay5pc0VtcHR5KCkgJiYgYmFzZWxpbmVTaGlmdFN0YWNrLmlz
RW1wdHkoKSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VyeCA9PSAwLjAgJiYgY3Vy
eSA9PSAwLjA7CisKKyAgICBSZW5kZXJTVkdUZXh0UGF0aCogdGV4dFBhdGggPSBzdGF0aWNfY2Fz
dDxSZW5kZXJTVkdUZXh0UGF0aCo+KGZsb3dCb3gtPm9iamVjdCgpKTsKKyAgICBQYXRoIHBhdGgg
PSB0ZXh0UGF0aC0+bGF5b3V0UGF0aCgpOworICAgIGZsb2F0IGJhc2VsaW5lU2hpZnQgPSBjYWxj
dWxhdGVCYXNlbGluZVNoaWZ0KHRleHRQYXRoKTsKKworICAgIGxheW91dFBhdGggPSBwYXRoOwor
ICAgIGxheW91dFBhdGhMZW5ndGggPSBwYXRoLmxlbmd0aCgpOworCisgICAgaWYgKGxheW91dFBh
dGhMZW5ndGggPD0gMC4wKQorICAgICAgICByZXR1cm47CisKKyAgICBzdGFydE9mZnNldCA9IHRl
eHRQYXRoLT5zdGFydE9mZnNldCgpOworCisgICAgaWYgKHRleHRQYXRoLT5zdGFydE9mZnNldCgp
ID49IDAuMCAmJiB0ZXh0UGF0aC0+c3RhcnRPZmZzZXQoKSA8PSAxLjApCisgICAgICAgIHN0YXJ0
T2Zmc2V0ICo9IGxheW91dFBhdGhMZW5ndGg7CisKKyAgICBzdGFydE9mZnNldCArPSB0ZXh0QW5j
aG9yU3RhcnRPZmZzZXQ7CisgICAgY3VycmVudE9mZnNldCA9IHN0YXJ0T2Zmc2V0OworCisgICAg
Ly8gT25seSBiYXNlbGluZS1zaGlmdCBpcyBoYW5kbGVkIHRocm91Z2ggdGhlIG5vcm1hbCBsYXlv
dXQgc3lzdGVtCisgICAgYWRkU3RhY2tDb250ZW50KEJhc2VsaW5lU2hpZnRTdGFjaywgYmFzZWxp
bmVTaGlmdCk7CisKKyAgICBpZiAoaXNJbml0aWFsTGF5b3V0KSB7CisgICAgICAgIHhTdGFja0No
YW5nZWQgPSBmYWxzZTsKKyAgICAgICAgeVN0YWNrQ2hhbmdlZCA9IGZhbHNlOworICAgICAgICBk
eFN0YWNrQ2hhbmdlZCA9IGZhbHNlOworICAgICAgICBkeVN0YWNrQ2hhbmdlZCA9IGZhbHNlOwor
ICAgICAgICBhbmdsZVN0YWNrQ2hhbmdlZCA9IGZhbHNlOworICAgICAgICBiYXNlbGluZVNoaWZ0
U3RhY2tDaGFuZ2VkID0gZmFsc2U7CisgICAgfQorfQorCit2b2lkIFNWR0NoYXJhY3RlckxheW91
dEluZm86OmFkZExheW91dEluZm9ybWF0aW9uKFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQqIGVs
ZW1lbnQpCit7CisgICAgYm9vbCBpc0luaXRpYWxMYXlvdXQgPSB4U3RhY2suaXNFbXB0eSgpICYm
IHlTdGFjay5pc0VtcHR5KCkgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGR4U3RhY2su
aXNFbXB0eSgpICYmIGR5U3RhY2suaXNFbXB0eSgpICYmCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICBhbmdsZVN0YWNrLmlzRW1wdHkoKSAmJiBiYXNlbGluZVNoaWZ0U3RhY2suaXNFbXB0eSgp
ICYmCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJ4ID09IDAuMCAmJiBjdXJ5ID09IDAu
MDsKKworICAgIGZsb2F0IGJhc2VsaW5lU2hpZnQgPSBjYWxjdWxhdGVCYXNlbGluZVNoaWZ0KGVs
ZW1lbnQtPnJlbmRlcmVyKCkpOworCisgICAgYWRkU3RhY2tDb250ZW50KFhTdGFjaywgZWxlbWVu
dC0+eCgpKTsKKyAgICBhZGRTdGFja0NvbnRlbnQoWVN0YWNrLCBlbGVtZW50LT55KCkpOworICAg
IGFkZFN0YWNrQ29udGVudChEeFN0YWNrLCBlbGVtZW50LT5keCgpKTsKKyAgICBhZGRTdGFja0Nv
bnRlbnQoRHlTdGFjaywgZWxlbWVudC0+ZHkoKSk7CisgICAgYWRkU3RhY2tDb250ZW50KEFuZ2xl
U3RhY2ssIGVsZW1lbnQtPnJvdGF0ZSgpKTsKKyAgICBhZGRTdGFja0NvbnRlbnQoQmFzZWxpbmVT
aGlmdFN0YWNrLCBiYXNlbGluZVNoaWZ0KTsKKworICAgIGlmIChpc0luaXRpYWxMYXlvdXQpIHsK
KyAgICAgICAgeFN0YWNrQ2hhbmdlZCA9IGZhbHNlOworICAgICAgICB5U3RhY2tDaGFuZ2VkID0g
ZmFsc2U7CisgICAgICAgIGR4U3RhY2tDaGFuZ2VkID0gZmFsc2U7CisgICAgICAgIGR5U3RhY2tD
aGFuZ2VkID0gZmFsc2U7CisgICAgICAgIGFuZ2xlU3RhY2tDaGFuZ2VkID0gZmFsc2U7CisgICAg
ICAgIGJhc2VsaW5lU2hpZnRTdGFja0NoYW5nZWQgPSBmYWxzZTsKKyAgICB9Cit9CisKK3ZvaWQg
U1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6YWRkU3RhY2tDb250ZW50KFN0YWNrVHlwZSB0eXBlLCBT
VkdOdW1iZXJMaXN0KiBsaXN0KQoreworICAgIHVuc2lnbmVkIGxlbmd0aCA9IGxpc3QtPm51bWJl
ck9mSXRlbXMoKTsKKyAgICBpZiAoIWxlbmd0aCkKKyAgICAgICAgcmV0dXJuOworCisgICAgUG9z
aXRpb25lZEZsb2F0VmVjdG9yIG5ld0xheW91dEluZm87CisKKyAgICAvLyBUT0RPOiBDb252ZXJ0
IG1vcmUgZWZmaWNpZW50bHkhCisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgZm9yICh1
bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7CisgICAgICAgIGZsb2F0IHZhbHVlID0g
bGlzdC0+Z2V0SXRlbShpLCBlYyk7CisgICAgICAgIEFTU0VSVChlYyA9PSAwKTsKKworICAgICAg
ICBuZXdMYXlvdXRJbmZvLmFwcGVuZCh2YWx1ZSk7CisgICAgfQorCisgICAgYWRkU3RhY2tDb250
ZW50KHR5cGUsIG5ld0xheW91dEluZm8pOworfQorCit2b2lkIFNWR0NoYXJhY3RlckxheW91dElu
Zm86OmFkZFN0YWNrQ29udGVudChTdGFja1R5cGUgdHlwZSwgU1ZHTGVuZ3RoTGlzdCogbGlzdCkK
K3sKKyAgICB1bnNpZ25lZCBsZW5ndGggPSBsaXN0LT5udW1iZXJPZkl0ZW1zKCk7CisgICAgaWYg
KCFsZW5ndGgpCisgICAgICAgIHJldHVybjsKKworICAgIFBvc2l0aW9uZWRGbG9hdFZlY3RvciBu
ZXdMYXlvdXRJbmZvOworCisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7CisgICAgICAgIGZsb2F0IHZhbHVlID0gbGlz
dC0+Z2V0SXRlbShpLCBlYykudmFsdWUoKTsKKyAgICAgICAgQVNTRVJUKGVjID09IDApOworCisg
ICAgICAgIG5ld0xheW91dEluZm8uYXBwZW5kKHZhbHVlKTsKKyAgICB9CisKKyAgICBhZGRTdGFj
a0NvbnRlbnQodHlwZSwgbmV3TGF5b3V0SW5mbyk7Cit9CisKK3ZvaWQgU1ZHQ2hhcmFjdGVyTGF5
b3V0SW5mbzo6YWRkU3RhY2tDb250ZW50KFN0YWNrVHlwZSB0eXBlLCBjb25zdCBQb3NpdGlvbmVk
RmxvYXRWZWN0b3ImIGxpc3QpCit7CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBYU3Rh
Y2s6CisgICAgICAgIHhTdGFja0NoYW5nZWQgPSB0cnVlOworICAgICAgICB4U3RhY2suYXBwZW5k
KGxpc3QpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFlTdGFjazoKKyAgICAgICAgeVN0YWNr
Q2hhbmdlZCA9IHRydWU7CisgICAgICAgIHlTdGFjay5hcHBlbmQobGlzdCk7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgRHhTdGFjazoKKyAgICAgICAgZHhTdGFja0NoYW5nZWQgPSB0cnVlOwor
ICAgICAgICBkeFN0YWNrLmFwcGVuZChsaXN0KTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBE
eVN0YWNrOgorICAgICAgICBkeVN0YWNrQ2hhbmdlZCA9IHRydWU7CisgICAgICAgIGR5U3RhY2su
YXBwZW5kKGxpc3QpOworICAgICAgICBicmVhazsKKyAgIGNhc2UgQW5nbGVTdGFjazoKKyAgICAg
ICAgYW5nbGVTdGFja0NoYW5nZWQgPSB0cnVlOworICAgICAgICBhbmdsZVN0YWNrLmFwcGVuZChs
aXN0KTsKKyAgICAgICAgYnJlYWs7IAorICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisgICAgfQorfQorCit2b2lkIFNWR0NoYXJhY3RlckxheW91dEluZm86OmFkZFN0
YWNrQ29udGVudChTdGFja1R5cGUgdHlwZSwgZmxvYXQgdmFsdWUpCit7CisgICAgaWYgKHZhbHVl
ID09IDAuMCkKKyAgICAgICAgcmV0dXJuOworCisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2Fz
ZSBCYXNlbGluZVNoaWZ0U3RhY2s6CisgICAgICAgIGJhc2VsaW5lU2hpZnRTdGFja0NoYW5nZWQg
PSB0cnVlOworICAgICAgICBiYXNlbGluZVNoaWZ0U3RhY2suYXBwZW5kKHZhbHVlKTsKKyAgICAg
ICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgfQorfQorCit2b2lkIFNWR0NoYXJhY3RlckxheW91dEluZm86OnhTdGFja1dhbGsoKQorewor
ICAgIHVuc2lnbmVkIGkgPSAxOworCisgICAgd2hpbGUgKCF4U3RhY2suaXNFbXB0eSgpKSB7Cisg
ICAgICAgIFBvc2l0aW9uZWRGbG9hdFZlY3RvciYgY3VyID0geFN0YWNrLmxhc3QoKTsKKyAgICAg
ICAgaWYgKGkgKyBjdXIucG9zaXRpb24oKSA8IGN1ci5zaXplKCkpIHsKKyAgICAgICAgICAgIGN1
ci5hZHZhbmNlKGkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBp
ICs9IGN1ci5wb3NpdGlvbigpOworICAgICAgICB4U3RhY2sucmVtb3ZlTGFzdCgpOworICAgICAg
ICB4U3RhY2tDaGFuZ2VkID0gZmFsc2U7CisgICAgfQorfQorCit2b2lkIFNWR0NoYXJhY3Rlckxh
eW91dEluZm86OnlTdGFja1dhbGsoKQoreworICAgIHVuc2lnbmVkIGkgPSAxOworCisgICAgd2hp
bGUgKCF5U3RhY2suaXNFbXB0eSgpKSB7CisgICAgICAgIFBvc2l0aW9uZWRGbG9hdFZlY3RvciYg
Y3VyID0geVN0YWNrLmxhc3QoKTsKKyAgICAgICAgaWYgKGkgKyBjdXIucG9zaXRpb24oKSA8IGN1
ci5zaXplKCkpIHsKKyAgICAgICAgICAgIGN1ci5hZHZhbmNlKGkpOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIH0KKworICAgICAgICBpICs9IGN1ci5wb3NpdGlvbigpOworICAgICAgICB5
U3RhY2sucmVtb3ZlTGFzdCgpOworICAgICAgICB5U3RhY2tDaGFuZ2VkID0gZmFsc2U7CisgICAg
fQorfQorCit2b2lkIFNWR0NoYXJhY3RlckxheW91dEluZm86OmR4U3RhY2tXYWxrKCkKK3sKKyAg
ICB1bnNpZ25lZCBpID0gMTsKKworICAgIHdoaWxlICghZHhTdGFjay5pc0VtcHR5KCkpIHsKKyAg
ICAgICAgUG9zaXRpb25lZEZsb2F0VmVjdG9yJiBjdXIgPSBkeFN0YWNrLmxhc3QoKTsKKyAgICAg
ICAgaWYgKGkgKyBjdXIucG9zaXRpb24oKSA8IGN1ci5zaXplKCkpIHsKKyAgICAgICAgICAgIGN1
ci5hZHZhbmNlKGkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBp
ICs9IGN1ci5wb3NpdGlvbigpOworICAgICAgICBkeFN0YWNrLnJlbW92ZUxhc3QoKTsKKyAgICAg
ICAgZHhTdGFja0NoYW5nZWQgPSBmYWxzZTsKKyAgICB9Cit9CisKK3ZvaWQgU1ZHQ2hhcmFjdGVy
TGF5b3V0SW5mbzo6ZHlTdGFja1dhbGsoKQoreworICAgIHVuc2lnbmVkIGkgPSAxOworCisgICAg
d2hpbGUgKCFkeVN0YWNrLmlzRW1wdHkoKSkgeworICAgICAgICBQb3NpdGlvbmVkRmxvYXRWZWN0
b3ImIGN1ciA9IGR5U3RhY2subGFzdCgpOworICAgICAgICBpZiAoaSArIGN1ci5wb3NpdGlvbigp
IDwgY3VyLnNpemUoKSkgeworICAgICAgICAgICAgY3VyLmFkdmFuY2UoaSk7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGkgKz0gY3VyLnBvc2l0aW9uKCk7CisgICAg
ICAgIGR5U3RhY2sucmVtb3ZlTGFzdCgpOworICAgICAgICBkeVN0YWNrQ2hhbmdlZCA9IGZhbHNl
OworICAgIH0KK30KKwordm9pZCBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjphbmdsZVN0YWNrV2Fs
aygpCit7CisgICAgdW5zaWduZWQgaSA9IDE7CisKKyAgICB3aGlsZSAoIWFuZ2xlU3RhY2suaXNF
bXB0eSgpKSB7CisgICAgICAgIFBvc2l0aW9uZWRGbG9hdFZlY3RvciYgY3VyID0gYW5nbGVTdGFj
ay5sYXN0KCk7CisgICAgICAgIGlmIChpICsgY3VyLnBvc2l0aW9uKCkgPCBjdXIuc2l6ZSgpKSB7
CisgICAgICAgICAgICBjdXIuYWR2YW5jZShpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICB9CisKKyAgICAgICAgaSArPSBjdXIucG9zaXRpb24oKTsKKyAgICAgICAgYW5nbGVTdGFjay5y
ZW1vdmVMYXN0KCk7CisgICAgICAgIGFuZ2xlU3RhY2tDaGFuZ2VkID0gZmFsc2U7CisgICAgfQor
fQorCit2b2lkIFNWR0NoYXJhY3RlckxheW91dEluZm86OmJhc2VsaW5lU2hpZnRTdGFja1dhbGso
KQoreworICAgIGlmICghYmFzZWxpbmVTaGlmdFN0YWNrLmlzRW1wdHkoKSkgeworICAgICAgICBi
YXNlbGluZVNoaWZ0U3RhY2sucmVtb3ZlTGFzdCgpOworICAgICAgICBiYXNlbGluZVNoaWZ0U3Rh
Y2tDaGFuZ2VkID0gZmFsc2U7CisgICAgfQorfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpJbmRleDogcmVuZGVyaW5nL1NWR0NoYXJhY3RlckxheW91
dEluZm8uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSByZW5kZXJpbmcvU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mby5o
CShyZXZpc2lvbiAwKQorKysgcmVuZGVyaW5nL1NWR0NoYXJhY3RlckxheW91dEluZm8uaAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwyMzIgQEAKKy8qCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0
aGUgV2ViS2l0IHByb2plY3QuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA3IE5pa29sYXMgWmlt
bWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
KyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBD
T1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKKyAqIEJvc3RvbiwgTUEg
MDIxMTEtMTMwNywgVVNBLgorICoKKyAqLworCisjaWZuZGVmIFNWR0NoYXJhY3RlckxheW91dElu
Zm9faAorI2RlZmluZSBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvX2gKKworI2lmIEVOQUJMRShTVkcp
ICYmIEVOQUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKQorCisjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8d3RmL0Fzc2VydGlv
bnMuaD4KKworI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgorI2luY2x1ZGUgIlNWR1JlbmRl
clN0eWxlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSW5saW5lQm94OworY2xh
c3MgSW5saW5lRmxvd0JveDsKK2NsYXNzIFNWR0xlbmd0aExpc3Q7CitjbGFzcyBTVkdOdW1iZXJM
aXN0OworY2xhc3MgU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudDsKKwordGVtcGxhdGU8Y2xhc3Mg
VHlwZT4KK2NsYXNzIFBvc2l0aW9uZWRWZWN0b3IgOiBwdWJsaWMgVmVjdG9yPFR5cGU+Cit7Citw
dWJsaWM6CisgICAgUG9zaXRpb25lZFZlY3RvcjxUeXBlPigpCisgICAgICAgIDogbV9wb3NpdGlv
bigwKQorICAgIHsKKyAgICB9CisKKyAgICB1bnNpZ25lZCBwb3NpdGlvbigpIGNvbnN0CisgICAg
eworICAgICAgICByZXR1cm4gbV9wb3NpdGlvbjsKKyAgICB9CisKKyAgICB2b2lkIGFkdmFuY2Uo
dW5zaWduZWQgcG9zaXRpb24pCisgICAgeworICAgICAgICBtX3Bvc2l0aW9uICs9IHBvc2l0aW9u
OworICAgICAgICBBU1NFUlQobV9wb3NpdGlvbiA8IFZlY3RvcjxUeXBlPjo6c2l6ZSgpKTsKKyAg
ICB9CisKKyAgICBUeXBlIHZhbHVlQXRDdXJyZW50UG9zaXRpb24oKSBjb25zdAorICAgIHsKKyAg
ICAgICAgQVNTRVJUKG1fcG9zaXRpb24gPCBWZWN0b3I8VHlwZT46OnNpemUoKSk7CisgICAgICAg
IHJldHVybiBWZWN0b3I8VHlwZT46OmF0KG1fcG9zaXRpb24pOworICAgIH0KKworcHJpdmF0ZToK
KyAgICB1bnNpZ25lZCBtX3Bvc2l0aW9uOworfTsKKworY2xhc3MgUG9zaXRpb25lZEZsb2F0VmVj
dG9yIDogcHVibGljIFBvc2l0aW9uZWRWZWN0b3I8ZmxvYXQ+IHsgfTsKKworc3RydWN0IFNWR0No
YXJhY3RlckxheW91dEluZm8geworICAgIFNWR0NoYXJhY3RlckxheW91dEluZm8oKTsKKworICAg
IGVudW0gU3RhY2tUeXBlIHsgWFN0YWNrLCBZU3RhY2ssIER4U3RhY2ssIER5U3RhY2ssIEFuZ2xl
U3RhY2ssIEJhc2VsaW5lU2hpZnRTdGFjayB9OworCisgICAgYm9vbCB4VmFsdWVBdmFpbGFibGUo
KSBjb25zdDsKKyAgICBib29sIHlWYWx1ZUF2YWlsYWJsZSgpIGNvbnN0OworICAgIGJvb2wgZHhW
YWx1ZUF2YWlsYWJsZSgpIGNvbnN0OworICAgIGJvb2wgZHlWYWx1ZUF2YWlsYWJsZSgpIGNvbnN0
OworICAgIGJvb2wgYW5nbGVWYWx1ZUF2YWlsYWJsZSgpIGNvbnN0OworICAgIGJvb2wgYmFzZWxp
bmVTaGlmdFZhbHVlQXZhaWxhYmxlKCkgY29uc3Q7CisKKyAgICBmbG9hdCB4VmFsdWVOZXh0KCkg
Y29uc3Q7CisgICAgZmxvYXQgeVZhbHVlTmV4dCgpIGNvbnN0OworICAgIGZsb2F0IGR4VmFsdWVO
ZXh0KCkgY29uc3Q7CisgICAgZmxvYXQgZHlWYWx1ZU5leHQoKSBjb25zdDsKKyAgICBmbG9hdCBh
bmdsZVZhbHVlTmV4dCgpIGNvbnN0OworICAgIGZsb2F0IGJhc2VsaW5lU2hpZnRWYWx1ZU5leHQo
KSBjb25zdDsKKworICAgIHZvaWQgcHJvY2Vzc2VkQ2h1bmsoZmxvYXQgbGFzdFNoaWZ0WCwgZmxv
YXQgbGFzdFNoaWZ0WSk7CisgICAgdm9pZCBwcm9jZXNzZWRTaW5nbGVDaGFyYWN0ZXIoKTsKKwor
ICAgIGJvb2wgbmV4dFBhdGhMYXlvdXRQb2ludEFuZEFuZ2xlKGZsb2F0JiB4LCBmbG9hdCYgeSwg
ZmxvYXQmIGFuZ2xlLCBmbG9hdCBnbHlwaEFkdmFuY2UsIGZsb2F0IG5ld09mZnNldCk7CisKKyAg
ICAvLyBVc2VkIGZvciB0ZXh0LW9uLXBhdGguCisgICAgdm9pZCBhZGRMYXlvdXRJbmZvcm1hdGlv
bihJbmxpbmVGbG93Qm94KiwgZmxvYXQgdGV4dEFuY2hvck9mZnNldCA9IDAuMCk7CisKKyAgICBi
b29sIGluUGF0aExheW91dCgpIGNvbnN0OworICAgIHZvaWQgc2V0SW5QYXRoTGF5b3V0KGJvb2wg
dmFsdWUpOworCisgICAgLy8gVXNlZCBmb3IgYW55dGhpbmcgZWxzZS4KKyAgICB2b2lkIGFkZExh
eW91dEluZm9ybWF0aW9uKFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQqKTsKKworICAgIC8vIEds
b2JhbCBwb3NpdGlvbgorICAgIGZsb2F0IGN1cng7CisgICAgZmxvYXQgY3VyeTsKKworICAgIC8v
IEFjY3VtdWxhdGVkIGR4L2R5IHZhbHVlcworICAgIGZsb2F0IGR4OworICAgIGZsb2F0IGR5Owor
CisgICAgLy8gQWNjdW11bGF0ZWQgYXBwbGllZCBzaGlmdCB2YWx1ZXMKKyAgICBmbG9hdCBzaGlm
dHg7CisgICAgZmxvYXQgc2hpZnR5OworCitwcml2YXRlOgorICAgIC8vIFVzZWQgZm9yIGJhc2Vs
aW5lLXNoaWZ0LgorICAgIHZvaWQgYWRkU3RhY2tDb250ZW50KFN0YWNrVHlwZSwgZmxvYXQpOwor
CisgICAgLy8gVXNlZCBmb3IgYW5nbGUuCisgICAgdm9pZCBhZGRTdGFja0NvbnRlbnQoU3RhY2tU
eXBlLCBTVkdOdW1iZXJMaXN0Kik7CisKKyAgICAvLyBVc2VkIGZvciB4L3kvZHgvZHkuICAgIAor
ICAgIHZvaWQgYWRkU3RhY2tDb250ZW50KFN0YWNrVHlwZSwgU1ZHTGVuZ3RoTGlzdCopOworCisg
ICAgdm9pZCBhZGRTdGFja0NvbnRlbnQoU3RhY2tUeXBlLCBjb25zdCBQb3NpdGlvbmVkRmxvYXRW
ZWN0b3ImKTsKKworICAgIHZvaWQgeFN0YWNrV2FsaygpOworICAgIHZvaWQgeVN0YWNrV2Fsaygp
OworICAgIHZvaWQgZHhTdGFja1dhbGsoKTsKKyAgICB2b2lkIGR5U3RhY2tXYWxrKCk7CisgICAg
dm9pZCBhbmdsZVN0YWNrV2FsaygpOworICAgIHZvaWQgYmFzZWxpbmVTaGlmdFN0YWNrV2Fsaygp
OworCitwcml2YXRlOgorICAgIGJvb2wgeFN0YWNrQ2hhbmdlZCA6IDE7CisgICAgYm9vbCB5U3Rh
Y2tDaGFuZ2VkIDogMTsKKyAgICBib29sIGR4U3RhY2tDaGFuZ2VkIDogMTsKKyAgICBib29sIGR5
U3RhY2tDaGFuZ2VkIDogMTsKKyAgICBib29sIGFuZ2xlU3RhY2tDaGFuZ2VkIDogMTsKKyAgICBi
b29sIGJhc2VsaW5lU2hpZnRTdGFja0NoYW5nZWQgOiAxOworCisgICAgLy8gdGV4dCBvbiBwYXRo
IGxheW91dAorICAgIGJvb2wgcGF0aExheW91dCA6IDE7CisgICAgZmxvYXQgY3VycmVudE9mZnNl
dDsKKyAgICBmbG9hdCBzdGFydE9mZnNldDsKKyAgICBmbG9hdCBsYXlvdXRQYXRoTGVuZ3RoOwor
ICAgIFBhdGggbGF5b3V0UGF0aDsKKworICAgIFZlY3RvcjxQb3NpdGlvbmVkRmxvYXRWZWN0b3I+
IHhTdGFjazsKKyAgICBWZWN0b3I8UG9zaXRpb25lZEZsb2F0VmVjdG9yPiB5U3RhY2s7CisgICAg
VmVjdG9yPFBvc2l0aW9uZWRGbG9hdFZlY3Rvcj4gZHhTdGFjazsKKyAgICBWZWN0b3I8UG9zaXRp
b25lZEZsb2F0VmVjdG9yPiBkeVN0YWNrOworICAgIFZlY3RvcjxQb3NpdGlvbmVkRmxvYXRWZWN0
b3I+IGFuZ2xlU3RhY2s7CisgICAgVmVjdG9yPGZsb2F0PiBiYXNlbGluZVNoaWZ0U3RhY2s7Cit9
OworCitzdHJ1Y3QgU1ZHQ2hhciB7CisgICAgZmxvYXQgeDsKKyAgICBmbG9hdCB5OworCisgICAg
QWZmaW5lVHJhbnNmb3JtIHRyYW5zZm9ybTsKKworICAgIC8vIERldGVybWluZXMgd2hldGVyIHRo
aXMgY2hhciBpcyB2aXNpYmxlIChpZS4gZmFsc2UgZm9yIGNoYXJzICJvZmYiIHRoZSB0ZXh0IGxh
eW91dCBwYXRoKQorICAgIGJvb2wgdmlzaWJsZSA6IDE7CisKKyAgICAvLyBEZXRlcm1pbmVzIHdo
ZXRlciB0aGlzIGNoYXIgbmVlZHMgdG8gYmUgZHJhd24gc2VwZXJhdGVkCisgICAgYm9vbCBkcmF3
blNlcGVyYXRlZCA6IDE7CisKKyAgICAvLyBEZXRlcm1pbmVzIHdoZXRlciB0aGlzIGNoYXIgc3Rh
cnRzIGEgbmV3IGNodW5rCisgICAgYm9vbCBuZXdUZXh0Q2h1bmsgOiAxOworCisgICAgLy8gRGV0
ZXJtaW5lcyB3aGV0ZXIgdGhpcyBjaGFyIGlzIHNlbGVjdGVkCisgICAgYm9vbCBzZWxlY3RlZCA6
IDE7Cit9OworCitzdHJ1Y3QgU1ZHSW5saW5lQm94Q2hhcmFjdGVyUmFuZ2UgeworICAgIFNWR0lu
bGluZUJveENoYXJhY3RlclJhbmdlKCkKKyAgICAgICAgOiBzdGFydE9mZnNldChJTlRfTUlOKQor
ICAgICAgICAsIGVuZE9mZnNldChJTlRfTUlOKQorICAgICAgICAsIGJveCgwKQorICAgIHsKKyAg
ICB9CisKKyAgICBib29sIGlzT3BlbigpIGNvbnN0IHsgcmV0dXJuIChzdGFydE9mZnNldCA9PSBl
bmRPZmZzZXQpICYmIChlbmRPZmZzZXQgPT0gSU5UX01JTik7IH0KKyAgICBib29sIGlzQ2xvc2Vk
KCkgY29uc3QgeyByZXR1cm4gc3RhcnRPZmZzZXQgIT0gSU5UX01JTiAmJiBlbmRPZmZzZXQgIT0g
SU5UX01JTjsgfQorCisgICAgaW50IHN0YXJ0T2Zmc2V0OworICAgIGludCBlbmRPZmZzZXQ7CisK
KyAgICBJbmxpbmVCb3gqIGJveDsKK307CisKK3N0cnVjdCBTVkdUZXh0Q2h1bmsgeworICAgIFNW
R1RleHRDaHVuaygpCisgICAgICAgIDogYW5jaG9yKFRBX1NUQVJUKQorICAgICAgICAsIGlzVmVy
dGljYWxUZXh0KGZhbHNlKQorICAgICAgICAsIHN0YXJ0KDApCisgICAgICAgICwgZW5kKDApCisg
ICAgeyB9CisKKyAgICBFVGV4dEFuY2hvciBhbmNob3I7CisgICAgYm9vbCBpc1ZlcnRpY2FsVGV4
dCA6IDE7CisKKyAgICBWZWN0b3I8U1ZHQ2hhcj46Oml0ZXJhdG9yIHN0YXJ0OworICAgIFZlY3Rv
cjxTVkdDaGFyPjo6aXRlcmF0b3IgZW5kOworCisgICAgVmVjdG9yPFNWR0lubGluZUJveENoYXJh
Y3RlclJhbmdlPiBib3hlczsKK307CisKK3N0cnVjdCBTVkdUZXh0Q2h1bmtMYXlvdXRJbmZvIHsK
KyAgICBTVkdUZXh0Q2h1bmtMYXlvdXRJbmZvKCkKKyAgICAgICAgOiBhc3NpZ25OZXdBbmNob3Io
dHJ1ZSkKKyAgICAgICAgLCBhZHZhbmNlT25seShmYWxzZSkKKyAgICB7CisgICAgfQorCisgICAg
Ym9vbCBhc3NpZ25OZXdBbmNob3IgOiAxOworICAgIGJvb2wgYWR2YW5jZU9ubHkgOiAxOworCisg
ICAgU1ZHVGV4dENodW5rIGNodW5rOworICAgIFZlY3RvcjxTVkdDaGFyPjo6aXRlcmF0b3IgaXQ7
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU1ZHKQor
I2VuZGlmIC8vIFNWR0NoYXJhY3RlckxheW91dEluZm9faApJbmRleDogcmVuZGVyaW5nL1NWR0lu
bGluZUZsb3dCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHJlbmRlcmluZy9TVkdJbmxpbmVGbG93Qm94
LmNwcAkocmV2aXNpb24gMjE1MjIpCisrKyByZW5kZXJpbmcvU1ZHSW5saW5lRmxvd0JveC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMsNiArMyw3IEBACiAgKgogICogQ29weXJpZ2h0IChDKSAyMDA2
IE9saXZlciBIdW50IDxvamgxNkBzdHVkZW50LmNhbnRlcmJ1cnkuYWMubno+CiAgKiAgICAgICAg
ICAgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIgSW5jLgorICogICAgICAgICAgIChDKSAyMDA3IE5p
a29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgogICoKICAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
CkBAIC0yNSwxMyArMjYsMTQgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZHSW5s
aW5lRmxvd0JveC5oIgorI2luY2x1ZGUgIlNWR05hbWVzLmgiCiAKKyNpZiAhRU5BQkxFKFNWR19F
WFBFUklNRU5UQUxfRkVBVFVSRVMpCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5j
bHVkZSAiSW5saW5lVGV4dEJveC5oIgogI2luY2x1ZGUgIktDYW52YXNSZW5kZXJpbmdTdHlsZS5o
IgogI2luY2x1ZGUgIlJvb3RJbmxpbmVCb3guaCIKICNpbmNsdWRlICJTVkdMZW5ndGhMaXN0Lmgi
Ci0jaW5jbHVkZSAiU1ZHTmFtZXMuaCIKICNpbmNsdWRlICJTVkdQYWludFNlcnZlci5oIgogI2lu
Y2x1ZGUgIlNWR1Jlc291cmNlQ2xpcHBlci5oIgogI2luY2x1ZGUgIlNWR1Jlc291cmNlRmlsdGVy
LmgiCkBAIC00MSwxMSArNDMsMjkgQEAKIAogdXNpbmcgc3RkOjptaW47CiB1c2luZyBzdGQ6Om1h
eDsKKyNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBTVkdO
YW1lczsKIAorI2lmIEVOQUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKQordm9pZCBTVkdJ
bmxpbmVGbG93Qm94OjpwYWludChSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYgcGFpbnRJbmZvLCBp
bnQgdHgsIGludCB0eSkKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKworaW50IFNW
R0lubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNIb3Jpem9udGFsbHkoaW50IHgsIGludCYgbGVmdFBv
c2l0aW9uLCBpbnQmIHJpZ2h0UG9zaXRpb24sIGJvb2wmIG5lZWRzV29yZFNwYWNpbmcpCit7Cisg
ICAgLy8gbm8tb3AKKyAgICByZXR1cm4gMDsKK30KKwordm9pZCBTVkdJbmxpbmVGbG93Qm94Ojp2
ZXJ0aWNhbGx5QWxpZ25Cb3hlcyhpbnQmIGhlaWdodE9mQmxvY2spCit7CisgICAgLy8gbm8tb3AK
K30KKyNlbHNlCiB2b2lkIFNWR0lubGluZUZsb3dCb3g6OnBhaW50KFJlbmRlck9iamVjdDo6UGFp
bnRJbmZvJiBwYWludEluZm8sIGludCB0eCwgaW50IHR5KQogewogICAgIHBhaW50U1ZHSW5saW5l
Rmxvdyh0aGlzLCBvYmplY3QoKSwgcGFpbnRJbmZvLCB0eCwgdHkpOwpAQCAtMzAzLDYgKzMyMyw3
IEBAIHZvaWQgcGxhY2VTVkdGbG93VmVydGljYWxseShJbmxpbmVGbG93Qm8KICAgICBmbG93LT5z
ZXRWZXJ0aWNhbE92ZXJmbG93UG9zaXRpb25zKHRvcCwgYm90dG9tKTsKICAgICBmbG93LT5zZXRW
ZXJ0aWNhbFNlbGVjdGlvblBvc2l0aW9ucyh0b3AsIGJvdHRvbSk7CiB9CisjZW5kaWYKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCkluZGV4OiByZW5kZXJpbmcvU1ZHSW5saW5lRmxvd0JveC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIHJlbmRlcmluZy9TVkdJbmxpbmVGbG93Qm94LmgJKHJldmlzaW9uIDIx
NTIyKQorKysgcmVuZGVyaW5nL1NWR0lubGluZUZsb3dCb3guaAkod29ya2luZyBjb3B5KQpAQCAt
MzAsOSArMzAsMTEgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisjaWYgIUVOQUJMRShTVkdf
RVhQRVJJTUVOVEFMX0ZFQVRVUkVTKQogdm9pZCBwYWludFNWR0lubGluZUZsb3coSW5saW5lRmxv
d0JveCosIFJlbmRlck9iamVjdCosIFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwgaW50IHR4LCBp
bnQgdHkpOwogaW50IHBsYWNlU1ZHRmxvd0hvcml6b250YWxseShJbmxpbmVGbG93Qm94KiwgaW50
IHgsIGludCYgbGVmdFBvc2l0aW9uLCBpbnQmIHJpZ2h0UG9zaXRpb24sIGJvb2wmIG5lZWRzV29y
ZFNwYWNpbmcpOwogdm9pZCBwbGFjZVNWR0Zsb3dWZXJ0aWNhbGx5KElubGluZUZsb3dCb3gqLCBp
bnQmIGhlaWdodE9mQmxvY2spOworI2VuZGlmCiAKIGNsYXNzIFNWR0lubGluZUZsb3dCb3ggOiBw
dWJsaWMgSW5saW5lRmxvd0JveCB7CiBwdWJsaWM6CkluZGV4OiByZW5kZXJpbmcvU1ZHSW5saW5l
VGV4dEJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gcmVuZGVyaW5nL1NWR0lubGluZVRleHRCb3guY3Bw
CShyZXZpc2lvbiAyMTUyMikKKysrIHJlbmRlcmluZy9TVkdJbmxpbmVUZXh0Qm94LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMiw2ICsyLDcgQEAKICAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBE
T00gaW1wbGVtZW50YXRpb24gZm9yIEtERS4KICAqCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgUm9i
IEJ1aXMgPGJ1aXNAa2RlLm9yZz4KKyAqICAgICAgICAgICAoQykgMjAwNyBOaWtvbGFzIFppbW1l
cm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjMsMTYg
KzI0LDIzMSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNWR0lubGluZVRleHRC
b3guaCIKIAorI2lmIEVOQUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKQorI2luY2x1ZGUg
IkZsb2F0UmVjdC5oIgorI2luY2x1ZGUgIlRleHRTdHlsZS5oIgorI2luY2x1ZGUgIklubGluZUZs
b3dCb3guaCIKKyNpbmNsdWRlICJTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvLmgiCisjaW5jbHVkZSAi
U1ZHUm9vdElubGluZUJveC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorU1ZH
SW5saW5lVGV4dEJveDo6U1ZHSW5saW5lVGV4dEJveChSZW5kZXJPYmplY3QqIG9iaikKKyAgICA6
IElubGluZVRleHRCb3gob2JqKQoreworfQorCiBpbnQgU1ZHSW5saW5lVGV4dEJveDo6c2VsZWN0
aW9uVG9wKCkKIHsKKyNpZiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykKKyAgICBy
ZXR1cm4gbV95OworI2VuZGlmCisKICAgICByZXR1cm4gbV95IC0gMTsKIH0KLQorIAogaW50IFNW
R0lubGluZVRleHRCb3g6OnNlbGVjdGlvbkhlaWdodCgpCiB7CiAgICAgcmV0dXJuIG1faGVpZ2h0
OwogfQogCisjaWYgRU5BQkxFKFNWR19FWFBFUklNRU5UQUxfRkVBVFVSRVMpCitTVkdSb290SW5s
aW5lQm94KiBTVkdJbmxpbmVUZXh0Qm94OjpzdmdSb290SW5saW5lQm94KCkgY29uc3QKK3sKKyAg
ICAvLyBGaW5kIGFzc29jaWF0ZWQgcm9vdCBpbmxpbmUgYm94CisgICAgSW5saW5lRmxvd0JveCog
cGFyZW50Qm94ID0gcGFyZW50KCk7CisKKyAgICB3aGlsZSAocGFyZW50Qm94ICYmICFwYXJlbnRC
b3gtPmlzUm9vdElubGluZUJveCgpKQorICAgICAgICBwYXJlbnRCb3ggPSBwYXJlbnRCb3gtPnBh
cmVudCgpOworCisgICAgQVNTRVJUKHBhcmVudEJveCk7CisgICAgQVNTRVJUKHBhcmVudEJveC0+
aXNSb290SW5saW5lQm94KCkpOworCisgICAgcmV0dXJuIHN0YXRpY19jYXN0PFNWR1Jvb3RJbmxp
bmVCb3gqPihwYXJlbnRCb3gpOworfQorCitTVkdDaGFyKiBTVkdJbmxpbmVUZXh0Qm94OjpjbG9z
ZXN0Q2hhcmFjdGVyVG9Qb3NpdGlvbihpbnQgeCwgaW50IHksIGludCYgb2Zmc2V0KSBjb25zdAor
eworICAgIC8vIEZpbmQgY29ycmVzcG9uZGluZyB0ZXh0IGNodW5rIGZvciBvdXIgaW5saW5lIGJv
eCAmIHJlZmVyZW5jZSB4IHBvc2l0aW9uCisgICAgU1ZHUm9vdElubGluZUJveCogcm9vdEJveCA9
IHN2Z1Jvb3RJbmxpbmVCb3goKTsKKyAgICBWZWN0b3I8U1ZHVGV4dENodW5rPiYgY2h1bmtzID0g
Y29uc3RfY2FzdDxWZWN0b3I8U1ZHVGV4dENodW5rPiYgPihyb290Qm94LT5zdmdUZXh0Q2h1bmtz
KCkpOworCisgICAgLy8gSXRlcmF0ZSB0aHJvdWdoIHRoZSBjaGFyYWN0ZXJzLCByZXNwZWN0aW5n
IHRoZWlyIGluZGl2aWR1YWwgcGxhY2VtZW50CisgICAgLy8gRmluZCB0aGUgY2hhcmFjdGVyIHdp
dGhpbiB0aGUgY2h1bmsgd2l0aCB0aGUgc21hbGxlc3QgZGlhZ29uYWwgZGlzdGFuY2UKKyAgICAv
LyB0byB0aGUgY3VycmVudCBwb3NpdGlvbi4gQ2hlY2sgd2hldGVyIHRoZSBwYXNzZWQgeCB2YWx1
ZSBoaXRzIHRoYXQgY2hhcmFjdGVyLgorICAgIGZsb2F0IGRpc3RhbmNlID0gRkxUX01BWDsKKyAg
ICBpbnQgY2h1bmtPZmZzZXQgPSAwOworCisgICAgU1ZHVGV4dENodW5rIGNodW5rOworICAgIFZl
Y3RvcjxTVkdUZXh0Q2h1bms+OjppdGVyYXRvciBpdCA9IGNodW5rcy5iZWdpbigpOworICAgIFZl
Y3RvcjxTVkdUZXh0Q2h1bms+OjppdGVyYXRvciBlbmQgPSBjaHVua3MuZW5kKCk7CisKKyAgICBj
b25zdCBGb250JiBmb250ID0gdGV4dE9iamVjdCgpLT5zdHlsZSgpLT5mb250KCk7CisKKyAgICBm
b3IgKDsgaXQgIT0gZW5kOyArK2l0KSB7CisgICAgICAgIFNWR1RleHRDaHVuayYgY3VyQ2h1bmsg
PSAqaXQ7CisKKyAgICAgICAgVmVjdG9yPFNWR0lubGluZUJveENoYXJhY3RlclJhbmdlPjo6aXRl
cmF0b3IgYm94SXQgPSBjdXJDaHVuay5ib3hlcy5iZWdpbigpOworICAgICAgICBWZWN0b3I8U1ZH
SW5saW5lQm94Q2hhcmFjdGVyUmFuZ2U+OjppdGVyYXRvciBib3hFbmQgPSBjdXJDaHVuay5ib3hl
cy5lbmQoKTsKKworICAgICAgICBib29sIGZvdW5kID0gZmFsc2U7CisgICAgICAgIGZvciAoOyBi
b3hJdCAhPSBib3hFbmQ7ICsrYm94SXQpIHsKKyAgICAgICAgICAgIFNWR0lubGluZUJveENoYXJh
Y3RlclJhbmdlJiByYW5nZSA9ICpib3hJdDsKKyAgICAgICAgICAgIGlmIChyYW5nZS5ib3ggPT0g
dGhpcykgeworICAgICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIGlmICghZm91bmQpCisg
ICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBib3hJdCA9IGN1ckNodW5rLmJveGVzLmJl
Z2luKCk7CisKKyAgICAgICAgdW5zaWduZWQgaW50IHN0YXJ0T2Zmc2V0ID0gMDsKKyAgICAgICAg
dW5zaWduZWQgaW50IGxlbmd0aCA9IGN1ckNodW5rLmVuZCAtIGN1ckNodW5rLnN0YXJ0OworCisg
ICAgICAgIGZvciAoOyBib3hJdCAhPSBib3hFbmQ7ICsrYm94SXQpIHsKKyAgICAgICAgICAgIFNW
R0lubGluZUJveENoYXJhY3RlclJhbmdlJiByYW5nZSA9ICpib3hJdDsKKyAgICAgICAgICAgIGlm
IChyYW5nZS5ib3ggPT0gdGhpcykKKyAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAg
ICAgc3RhcnRPZmZzZXQgKz0gKHJhbmdlLmVuZE9mZnNldCAtIHJhbmdlLnN0YXJ0T2Zmc2V0KTsK
KyAgICAgICAgfQorCisgICAgICAgIGlmIChsZW5ndGggPiBsZW4oKSkKKyAgICAgICAgICAgIGxl
bmd0aCA9IGxlbigpOworCisgICAgICAgIFZlY3RvcjxTVkdDaGFyPjo6aXRlcmF0b3IgaXRDaGFy
ID0gY3VyQ2h1bmsuc3RhcnQgKyBzdGFydE9mZnNldDsKKyAgICAgICAgVmVjdG9yPFNWR0NoYXI+
OjppdGVyYXRvciBpdENoYXJFbmQgPSBjdXJDaHVuay5zdGFydCArIHN0YXJ0T2Zmc2V0ICsgbGVu
Z3RoOworCisgICAgICAgIGlmIChpdENoYXJFbmQgPiBjdXJDaHVuay5lbmQpCisgICAgICAgICAg
ICBpdENoYXJFbmQgPSBjdXJDaHVuay5lbmQ7CisKKyAgICAgICAgZm9yICg7IGl0Q2hhciAhPSBp
dENoYXJFbmQ7ICsraXRDaGFyKSB7CisgICAgICAgICAgICBmbG9hdCBnbHlwaFdpZHRoID0gZm9u
dC5mbG9hdFdpZHRoKFRleHRSdW4odGV4dE9iamVjdCgpLT5jaGFyYWN0ZXJzKCkgKyBzdGFydE9m
ZnNldCwgMSksIFRleHRTdHlsZSgwLCAwKSk7CisgICAgICAgICAgICBmbG9hdCBnbHlwaEhlaWdo
dCA9IGZvbnQuYXNjZW50KCkgKyBmb250LmRlc2NlbnQoKTsKKworICAgICAgICAgICAgZmxvYXQg
eERpc3RhbmNlID0gKCppdENoYXIpLnggKyBnbHlwaFdpZHRoIC8gMi4wIC0geDsKKyAgICAgICAg
ICAgIGZsb2F0IHlEaXN0YW5jZSA9ICgqaXRDaGFyKS55IC0gZ2x5cGhIZWlnaHQgLyAyLjAgLSB5
OworCisgICAgICAgICAgICBmbG9hdCBuZXdEaXN0YW5jZSA9IHNxcnQoeERpc3RhbmNlICogeERp
c3RhbmNlICsgeURpc3RhbmNlICogeURpc3RhbmNlKTsKKyAgICAgICAgICAgIGlmIChuZXdEaXN0
YW5jZSA8PSBkaXN0YW5jZSkgeworICAgICAgICAgICAgICAgIGRpc3RhbmNlID0gbmV3RGlzdGFu
Y2U7CisgICAgICAgICAgICAgICAgb2Zmc2V0ID0gaXRDaGFyIC0gY3VyQ2h1bmsuc3RhcnQ7Cisg
ICAgICAgICAgICAgICAgY2h1bmtPZmZzZXQgPSAoaXQgLSBjaHVua3MuYmVnaW4oKSkgLSBzdGFy
dE9mZnNldDsKKyAgICAgICAgICAgICAgICBjaHVuayA9IGN1ckNodW5rOworICAgICAgICAgICAg
fQorICAgICAgICB9CisgICAgfQorCisgICAgaWYgKCFjaHVuay5zdGFydCkgeworICAgICAgICBv
ZmZzZXQgPSAwOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBTVkdDaGFyKiByZXN1
bHQgPSBjaHVuay5zdGFydCArIG9mZnNldDsKKyAgICBvZmZzZXQgKz0gY2h1bmtPZmZzZXQ7CisK
KyAgICByZXR1cm4gcmVzdWx0OworfQorCitib29sIFNWR0lubGluZVRleHRCb3g6OnN2Z0NoYXJh
Y3RlckhpdHNQb3NpdGlvbihpbnQgeCwgaW50IHksIGludCYgb2Zmc2V0KSBjb25zdAoreworICAg
IFNWR0NoYXIqIGNoYXJBdFBvc1B0ciA9IGNsb3Nlc3RDaGFyYWN0ZXJUb1Bvc2l0aW9uKHgsIHks
IG9mZnNldCk7CisgICAgaWYgKCFjaGFyQXRQb3NQdHIpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgIFNWR0NoYXImIGNoYXJBdFBvcyA9ICpjaGFyQXRQb3NQdHI7CisgICAgUmVuZGVyU3R5
bGUqIHN0eWxlID0gdGV4dE9iamVjdCgpLT5zdHlsZShtX2ZpcnN0TGluZSk7CisKKyAgICAvLyBD
aGVjayB3aGV0ZXIgeSBwb3NpdGlvbiBoaXRzIHRoZSBjdXJyZW50IGNoYXJhY3RlcgorICAgIGZs
b2F0IGdseXBoSGVpZ2h0ID0gc3R5bGUtPmZvbnQoKS5hc2NlbnQoKSArIHN0eWxlLT5mb250KCku
ZGVzY2VudCgpOworCisgICAgLy8gVE9ETzogc2VsZWN0aW9uIGxvZ2ljIG11c3QgZGVwZW5kIG9u
IHRoZSB0ZXh0IGRpcmVjdGlvbiAoaWUuIHRvcC10by1ib3R0b20gdmVydGljYWwgdGV4dCkKKyAg
ICAvLyBJbiB2ZXJ0aWNhbCB0ZXh0IHRoZSBzZWxlY3Rpb24gbG9naWMgdHJpY2tzIG11c3QgYmUg
ZG9uZSBoZXJlIGFuZCBub3QgYmVsb3chCisgICAgaWYgKHkgPCBjaGFyQXRQb3MueSAtIGdseXBo
SGVpZ2h0IHx8IHkgPiBjaGFyQXRQb3MueSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
Ly8gQ2hlY2sgd2hldGVyIHggcG9zaXRpb24gaGl0cyB0aGUgY3VycmVudCBjaGFyYWN0ZXIKKyAg
ICBmbG9hdCBnbHlwaFdpZHRoID0gc3R5bGUtPmZvbnQoKS5mbG9hdFdpZHRoKFRleHRSdW4odGV4
dE9iamVjdCgpLT50ZXh0KCktPmNoYXJhY3RlcnMoKSArIG9mZnNldCwgMSksIFRleHRTdHlsZSgw
LCAwKSk7CisgICAgaWYgKHggPCBjaGFyQXRQb3MueCB8fCB4ID4gY2hhckF0UG9zLnggKyBnbHlw
aFdpZHRoKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBTbmFwIHRvIGNoYXJhY3Rl
ciBhdCBoYWxmIG9mIGl0J3MgYWR2YW5jZQorICAgIGlmICh4ID49IGNoYXJBdFBvcy54ICsgZ2x5
cGhXaWR0aCAvIDIuMCkKKyAgICAgICAgb2Zmc2V0Kys7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30K
KworaW50IFNWR0lubGluZVRleHRCb3g6Om9mZnNldEZvclBvc2l0aW9uKGludCB4LCBib29sIGlu
Y2x1ZGVQYXJ0aWFsR2x5cGhzKSBjb25zdAoreworICAgIC8vIFNWRyBkb2Vzbid0IHVzZSB0aGUg
b2Zmc2V0IDwtPiBwb3NpdGlvbiBzZWxlY3Rpb24gc3lzdGVtLiAKKyAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKKyAgICByZXR1cm4gMDsKK30KKworaW50IFNWR0lubGluZVRleHRCb3g6OnBvc2l0
aW9uRm9yT2Zmc2V0KGludCBvZmZzZXQpIGNvbnN0Cit7CisgICAgLy8gU1ZHIGRvZXNuJ3QgdXNl
IHRoZSBvZmZzZXQgPC0+IHBvc2l0aW9uIHNlbGVjdGlvbiBzeXN0ZW0uIAorICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgIHJldHVybiAwOworfQorCitib29sIFNWR0lubGluZVRleHRCb3g6
Om5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBIaXRUZXN0UmVzdWx0
JiByZXN1bHQsIGludCB4LCBpbnQgeSwgaW50IHR4LCBpbnQgdHkpCit7CisgICAgQVNTRVJUKCFp
c0xpbmVCcmVhaygpKTsKKworICAgIGlmIChvYmplY3QoKS0+c3R5bGUoKS0+dmlzaWJpbGl0eSgp
ICE9IFZJU0lCTEUpCisgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaW50IG9mZnNldCA9IDA7
CisgICAgaWYgKCFzdmdDaGFyYWN0ZXJIaXRzUG9zaXRpb24oeCwgeSwgb2Zmc2V0KSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgb2JqZWN0KCktPnVwZGF0ZUhpdFRlc3RSZXN1bHQocmVz
dWx0LCBJbnRQb2ludCh4IC0gdHgsIHkgLSB0eSkpOworICAgIHJldHVybiB0cnVlOworfQorCitJ
bnRSZWN0IFNWR0lubGluZVRleHRCb3g6OnNlbGVjdGlvblJlY3QoaW50IHR4LCBpbnQgdHksIGlu
dCBzdGFydFBvcywgaW50IGVuZFBvcykKK3sKKyAgICBpZiAoc3RhcnRQb3MgPj0gZW5kUG9zKQor
ICAgICAgICByZXR1cm4gSW50UmVjdCgpOworCisgICAgU1ZHUm9vdElubGluZUJveCogcm9vdEJv
eCA9IHN2Z1Jvb3RJbmxpbmVCb3goKTsKKworICAgIC8vIEZpbmQgY29ycmVzcG9uZGluZyB0ZXh0
IGNodW5rIGZvciBvdXIgaW5saW5lIGJveAorICAgIFZlY3RvcjxTVkdUZXh0Q2h1bms+JiBjaHVu
a3MgPSBjb25zdF9jYXN0PFZlY3RvcjxTVkdUZXh0Q2h1bms+JiA+KHJvb3RCb3gtPnN2Z1RleHRD
aHVua3MoKSk7CisKKyAgICBWZWN0b3I8U1ZHVGV4dENodW5rPjo6aXRlcmF0b3IgaXQgPSBjaHVu
a3MuYmVnaW4oKTsKKyAgICBWZWN0b3I8U1ZHVGV4dENodW5rPjo6aXRlcmF0b3IgZW5kID0gY2h1
bmtzLmVuZCgpOworCisgICAgZmxvYXQgd2lkdGggPSAwLjA7CisgICAgZm9yICg7IGl0ICE9IGVu
ZDsgKytpdCkgeworICAgICAgICBTVkdUZXh0Q2h1bmsmIGNodW5rID0gKml0OworCisgICAgICAg
IFZlY3RvcjxTVkdJbmxpbmVCb3hDaGFyYWN0ZXJSYW5nZT46Oml0ZXJhdG9yIGJveEl0ID0gY2h1
bmsuYm94ZXMuYmVnaW4oKTsKKyAgICAgICAgVmVjdG9yPFNWR0lubGluZUJveENoYXJhY3RlclJh
bmdlPjo6aXRlcmF0b3IgYm94RW5kID0gY2h1bmsuYm94ZXMuZW5kKCk7CisKKyAgICAgICAgZm9y
ICg7IGJveEl0ICE9IGJveEVuZDsgKytib3hJdCkgeworICAgICAgICAgICAgU1ZHSW5saW5lQm94
Q2hhcmFjdGVyUmFuZ2UmIHJhbmdlID0gKmJveEl0OworICAgICAgICAgICAgaWYgKHJhbmdlLmJv
eCAhPSB0aGlzKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBmbG9h
dCBuZXdXaWR0aCA9IHJvb3RCb3gtPmN1bW11bGF0ZWRXaWR0aE9mU2VsZWN0aW9uUmFuZ2UodGhp
cywgc3RhcnRQb3MsIGVuZFBvcywgbGVuKCksIDApOworICAgICAgICAgICAgaWYgKG5ld1dpZHRo
ICE9IEZMVF9NQVgpCisgICAgICAgICAgICAgICAgd2lkdGggKz0gbmV3V2lkdGg7CisgICAgICAg
IH0KKyAgICB9CisKKyAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSB0ZXh0T2JqZWN0KCktPnN0eWxl
KG1fZmlyc3RMaW5lKTsKKyAgICBBU1NFUlQoc3R5bGUpOworCisgICAgZmxvYXQgaGVpZ2h0ID0g
c3R5bGUtPmZvbnQoKS5hc2NlbnQoKSArIHN0eWxlLT5mb250KCkuZGVzY2VudCgpOworICAgIHJl
dHVybiBlbmNsb3NpbmdJbnRSZWN0KEZsb2F0UmVjdCh0eCwgdHkgLSBzdHlsZS0+Zm9udCgpLmFz
Y2VudCgpLCB3aWR0aCwgaGVpZ2h0KSk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpJbmRleDogcmVuZGVyaW5nL1NWR0lubGluZVRleHRCb3guaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBy
ZW5kZXJpbmcvU1ZHSW5saW5lVGV4dEJveC5oCShyZXZpc2lvbiAyMTUyMikKKysrIHJlbmRlcmlu
Zy9TVkdJbmxpbmVUZXh0Qm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTIsNiArMiw3IEBACiAgKiBU
aGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgRE9NIGltcGxlbWVudGF0aW9uIGZvciBLREUuCiAgKgog
ICogQ29weXJpZ2h0IChDKSAyMDA3IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CisgKiAgICAgICAg
ICAgKEMpIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgKgog
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKQEAgLTI3LDExICsyOCwzMiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKKyAgICBjbGFzcyBTVkdDaGFyOworICAgIGNsYXNzIFNWR1Jvb3RJbmxpbmVCb3g7CisKICAg
ICBjbGFzcyBTVkdJbmxpbmVUZXh0Qm94IDogcHVibGljIElubGluZVRleHRCb3ggewogICAgIHB1
YmxpYzoKLSAgICAgICAgU1ZHSW5saW5lVGV4dEJveChSZW5kZXJPYmplY3QqIG9iaikgOiBJbmxp
bmVUZXh0Qm94KG9iaikge30KKyAgICAgICAgU1ZHSW5saW5lVGV4dEJveChSZW5kZXJPYmplY3Qq
IG9iaik7CisKICAgICAgICAgdmlydHVhbCBpbnQgc2VsZWN0aW9uVG9wKCk7CiAgICAgICAgIHZp
cnR1YWwgaW50IHNlbGVjdGlvbkhlaWdodCgpOworCisjaWYgRU5BQkxFKFNWR19FWFBFUklNRU5U
QUxfRkVBVFVSRVMpCisgICAgICAgIHZpcnR1YWwgaW50IG9mZnNldEZvclBvc2l0aW9uKGludCB4
LCBib29sIGluY2x1ZGVQYXJ0aWFsR2x5cGhzID0gdHJ1ZSkgY29uc3Q7CisgICAgICAgIHZpcnR1
YWwgaW50IHBvc2l0aW9uRm9yT2Zmc2V0KGludCBvZmZzZXQpIGNvbnN0OworCisgICAgICAgIHZp
cnR1YWwgYm9vbCBub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1
bHQmLCBpbnQgeCwgaW50IHksIGludCB0eCwgaW50IHR5KTsKKyAgICAgICAgdmlydHVhbCBJbnRS
ZWN0IHNlbGVjdGlvblJlY3QoaW50IGFic3gsIGludCBhYnN5LCBpbnQgc3RhcnRQb3MsIGludCBl
bmRQb3MpOworCisgICAgcHJvdGVjdGVkOgorICAgICAgICBmcmllbmQgY2xhc3MgUmVuZGVyU1ZH
SW5saW5lVGV4dDsKKworICAgICAgICBTVkdSb290SW5saW5lQm94KiBzdmdSb290SW5saW5lQm94
KCkgY29uc3Q7CisgICAgICAgIGJvb2wgc3ZnQ2hhcmFjdGVySGl0c1Bvc2l0aW9uKGludCB4LCBp
bnQgeSwgaW50JiBvZmZzZXQpIGNvbnN0OworCisgICAgcHJpdmF0ZToKKyAgICAgICAgU1ZHQ2hh
ciogY2xvc2VzdENoYXJhY3RlclRvUG9zaXRpb24oaW50IHgsIGludCB5LCBpbnQmIG9mZnNldCkg
Y29uc3Q7CisjZW5kaWYKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBy
ZW5kZXJpbmcvU1ZHUm9vdElubGluZUJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcmVuZGVyaW5nL1NW
R1Jvb3RJbmxpbmVCb3guY3BwCShyZXZpc2lvbiAyMTUyMikKKysrIHJlbmRlcmluZy9TVkdSb290
SW5saW5lQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMyw2ICszLDcgQEAKICAqCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMDYgT2xpdmVyIEh1bnQgPG9qaDE2QHN0dWRlbnQuY2FudGVyYnVyeS5hYy5u
ej4KICAqICAgICAgICAgICAoQykgMjAwNiBBcHBsZSBDb21wdXRlciBJbmMuCisgKiAgICAgICAg
ICAgKEMpIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgKgog
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKQEAgLTI0LDEzICsyNSwyNSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
CiAjaWYgRU5BQkxFKFNWRykKLQogI2luY2x1ZGUgIlNWR1Jvb3RJbmxpbmVCb3guaCIKIAorI2lu
Y2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCisjaW5jbHVkZSAi
SW5saW5lVGV4dEJveC5oIgorI2luY2x1ZGUgIktDYW52YXNSZW5kZXJpbmdTdHlsZS5oIgorI2lu
Y2x1ZGUgIlJhbmdlLmgiCiAjaW5jbHVkZSAiU1ZHSW5saW5lRmxvd0JveC5oIgorI2luY2x1ZGUg
IlNWR1BhaW50U2VydmVyLmgiCisjaW5jbHVkZSAiU1ZHUmVzb3VyY2VDbGlwcGVyLmgiCisjaW5j
bHVkZSAiU1ZHUmVzb3VyY2VGaWx0ZXIuaCIKKyNpbmNsdWRlICJTVkdSZXNvdXJjZU1hc2tlci5o
IgorI2luY2x1ZGUgIlNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdV
UklSZWZlcmVuY2UuaCIKKyNpbmNsdWRlICJUZXh0U3R5bGUuaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCisjaWYgIUVOQUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKQogdm9pZCBTVkdS
b290SW5saW5lQm94OjpwYWludChSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYgcGFpbnRJbmZvLCBp
bnQgcGFyZW50WCwgaW50IHBhcmVudFkpCiB7CiAgICAgcGFpbnRTVkdJbmxpbmVGbG93KHRoaXMs
IG9iamVjdCgpLCBwYWludEluZm8sIHBhcmVudFgsIHBhcmVudFkpOwpAQCAtNDksNiArNjIsMTEw
OSBAQCB2b2lkIFNWR1Jvb3RJbmxpbmVCb3g6OnZlcnRpY2FsbHlBbGlnbkJvCiB7CiAgICAgcGxh
Y2VTVkdGbG93VmVydGljYWxseSh0aGlzLCBoZWlnaHRPZkJsb2NrKTsKIH0KKyNlbHNlCitzdGF0
aWMgdm9pZCBwcmVwYXJlVGV4dFJlbmRlcmluZyhSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYgcGFp
bnRJbmZvLCBpbnQgdHgsIGludCB0eSwgSW5saW5lRmxvd0JveCogZmxvd0JveCwgRmxvYXRSZWN0
JiBib3VuZGluZ0JveCwgU1ZHUmVzb3VyY2VGaWx0ZXIqJiBmaWx0ZXIpCit7CisgICAgUmVuZGVy
T2JqZWN0KiBvYmplY3QgPSBmbG93Qm94LT5vYmplY3QoKTsKKworICAgIHBhaW50SW5mby5jb250
ZXh0LT5zYXZlKCk7CisgICAgcGFpbnRJbmZvLmNvbnRleHQtPmNvbmNhdENUTShvYmplY3QtPmxv
Y2FsVHJhbnNmb3JtKCkpOworCisgICAgYm91bmRpbmdCb3ggPSBGbG9hdFJlY3QodHggKyBmbG93
Qm94LT54UG9zKCksIHR5ICsgZmxvd0JveC0+eVBvcygpLCBmbG93Qm94LT53aWR0aCgpLCBmbG93
Qm94LT5oZWlnaHQoKSk7CisKKyAgICBTVkdFbGVtZW50KiBzdmdFbGVtZW50ID0gc3RhdGljX2Nh
c3Q8U1ZHRWxlbWVudCo+KG9iamVjdC0+ZWxlbWVudCgpKTsKKyAgICBBU1NFUlQoc3ZnRWxlbWVu
dCAmJiBzdmdFbGVtZW50LT5kb2N1bWVudCgpICYmIHN2Z0VsZW1lbnQtPmlzU3R5bGVkKCkpOwor
CisgICAgU1ZHU3R5bGVkRWxlbWVudCogc3R5bGVkRWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR1N0
eWxlZEVsZW1lbnQqPihzdmdFbGVtZW50KTsKKyAgICBjb25zdCBTVkdSZW5kZXJTdHlsZSogc3Zn
U3R5bGUgPSBvYmplY3QtPnN0eWxlKCktPnN2Z1N0eWxlKCk7CisKKyAgICBBdG9taWNTdHJpbmcg
ZmlsdGVySWQoU1ZHVVJJUmVmZXJlbmNlOjpnZXRUYXJnZXQoc3ZnU3R5bGUtPmZpbHRlcigpKSk7
CisgICAgQXRvbWljU3RyaW5nIGNsaXBwZXJJZChTVkdVUklSZWZlcmVuY2U6OmdldFRhcmdldChz
dmdTdHlsZS0+Y2xpcFBhdGgoKSkpOworICAgIEF0b21pY1N0cmluZyBtYXNrZXJJZChTVkdVUklS
ZWZlcmVuY2U6OmdldFRhcmdldChzdmdTdHlsZS0+bWFza0VsZW1lbnQoKSkpOworCisgICAgU1ZH
UmVzb3VyY2VDbGlwcGVyKiBjbGlwcGVyID0gZ2V0Q2xpcHBlckJ5SWQob2JqZWN0LT5kb2N1bWVu
dCgpLCBjbGlwcGVySWQpOworICAgIFNWR1Jlc291cmNlTWFza2VyKiBtYXNrZXIgPSBnZXRNYXNr
ZXJCeUlkKG9iamVjdC0+ZG9jdW1lbnQoKSwgbWFza2VySWQpOworCisgICAgZmlsdGVyID0gZ2V0
RmlsdGVyQnlJZChvYmplY3QtPmRvY3VtZW50KCksIGZpbHRlcklkKTsKKworICAgIGlmIChmaWx0
ZXIpCisgICAgICAgIGZpbHRlci0+cHJlcGFyZUZpbHRlcihwYWludEluZm8uY29udGV4dCwgYm91
bmRpbmdCb3gpOworICAgIGVsc2UgaWYgKCFmaWx0ZXJJZC5pc0VtcHR5KCkpCisgICAgICAgIHN2
Z0VsZW1lbnQtPmRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS0+YWRkUGVuZGluZ1Jl
c291cmNlKGZpbHRlcklkLCBzdHlsZWRFbGVtZW50KTsKKworICAgIGlmIChjbGlwcGVyKSB7Cisg
ICAgICAgIGNsaXBwZXItPmFkZENsaWVudChzdHlsZWRFbGVtZW50KTsKKyAgICAgICAgY2xpcHBl
ci0+YXBwbHlDbGlwKHBhaW50SW5mby5jb250ZXh0LCBib3VuZGluZ0JveCk7CisgICAgfSBlbHNl
IGlmICghY2xpcHBlcklkLmlzRW1wdHkoKSkKKyAgICAgICAgc3ZnRWxlbWVudC0+ZG9jdW1lbnQo
KS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpLT5hZGRQZW5kaW5nUmVzb3VyY2UoY2xpcHBlcklkLCBz
dHlsZWRFbGVtZW50KTsKKworICAgIGlmIChtYXNrZXIpIHsKKyAgICAgICAgbWFza2VyLT5hZGRD
bGllbnQoc3R5bGVkRWxlbWVudCk7CisgICAgICAgIG1hc2tlci0+YXBwbHlNYXNrKHBhaW50SW5m
by5jb250ZXh0LCBib3VuZGluZ0JveCk7CisgICAgfSBlbHNlIGlmICghbWFza2VySWQuaXNFbXB0
eSgpKQorICAgICAgICBzdmdFbGVtZW50LT5kb2N1bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25z
KCktPmFkZFBlbmRpbmdSZXNvdXJjZShtYXNrZXJJZCwgc3R5bGVkRWxlbWVudCk7Cit9CisKK2lu
bGluZSBib29sIGlzVmVydGljYWxXcml0aW5nTW9kZShjb25zdCBTVkdSZW5kZXJTdHlsZSogc3R5
bGUpCit7CisgICAgcmV0dXJuIHN0eWxlLT53cml0aW5nTW9kZSgpID09IFdNX1RCUkwgfHwgc3R5
bGUtPndyaXRpbmdNb2RlKCkgPT0gV01fVEI7IAorfQorCit2b2lkIFNWR1Jvb3RJbmxpbmVCb3g6
OnBhaW50KFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiBwYWludEluZm8sIGludCB0eCwgaW50IHR5
KQoreworICAgIGlmIChwYWludEluZm8uY29udGV4dC0+cGFpbnRpbmdEaXNhYmxlZCgpKQorICAg
ICAgICByZXR1cm47CisKKyAgICBGbG9hdFJlY3QgYm91bmRpbmdCb3g7CisKKyAgICBTVkdSZXNv
dXJjZUZpbHRlciogZmlsdGVyID0gMDsKKyAgICBwcmVwYXJlVGV4dFJlbmRlcmluZyhwYWludElu
Zm8sIHR4LCB0eSwgdGhpcywgYm91bmRpbmdCb3gsIGZpbHRlcik7CisKKyAgICBSZW5kZXJPYmpl
Y3Q6OlBhaW50SW5mbyBwaShwYWludEluZm8pOworCisgICAgZmxvYXQgb3BhY2l0eSA9IG9iamVj
dCgpLT5zdHlsZSgpLT5vcGFjaXR5KCk7CisgICAgaWYgKG9wYWNpdHkgPCAxLjBmKSB7CisgICAg
ICAgIHBhaW50SW5mby5jb250ZXh0LT5jbGlwKGVuY2xvc2luZ0ludFJlY3QoYm91bmRpbmdCb3gp
KTsKKyAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPmJlZ2luVHJhbnNwYXJlbmN5TGF5ZXIob3Bh
Y2l0eSk7CisgICAgfQorCisgICAgU1ZHUGFpbnRTZXJ2ZXIqIGZpbGxQYWludFNlcnZlciA9IEtT
VkdQYWludGVyRmFjdG9yeTo6ZmlsbFBhaW50U2VydmVyKG9iamVjdCgpLT5zdHlsZSgpLCBvYmpl
Y3QoKSk7CisgICAgaWYgKGZpbGxQYWludFNlcnZlcikgeworICAgICAgICBpZiAoZmlsbFBhaW50
U2VydmVyLT5zZXR1cChwaS5jb250ZXh0LCBvYmplY3QoKSwgQXBwbHlUb0ZpbGxUYXJnZXRUeXBl
LCB0cnVlKSkgeworICAgICAgICAgICAgVmVjdG9yPFNWR0NoYXI+OjppdGVyYXRvciBpdCA9IG1f
c3ZnQ2hhcnMuYmVnaW4oKTsKKyAgICAgICAgICAgIHBhaW50SW5saW5lQm94ZXMocGksIHR4LCB0
eSwgdGhpcywgaXQpOworICAgICAgICAgICAgQVNTRVJUKGl0ID09IG1fc3ZnQ2hhcnMuZW5kKCkp
OworCisgICAgICAgICAgICBmaWxsUGFpbnRTZXJ2ZXItPnRlYXJkb3duKHBpLmNvbnRleHQsIG9i
amVjdCgpLCBBcHBseVRvRmlsbFRhcmdldFR5cGUsIHRydWUpOworICAgICAgICB9CisgICAgfQor
CisgICAgU1ZHUGFpbnRTZXJ2ZXIqIHN0cm9rZVBhaW50U2VydmVyID0gS1NWR1BhaW50ZXJGYWN0
b3J5OjpzdHJva2VQYWludFNlcnZlcihvYmplY3QoKS0+c3R5bGUoKSwgb2JqZWN0KCkpOworICAg
IGlmIChzdHJva2VQYWludFNlcnZlcikgeworICAgICAgICBpZiAoc3Ryb2tlUGFpbnRTZXJ2ZXIt
PnNldHVwKHBpLmNvbnRleHQsIG9iamVjdCgpLCBBcHBseVRvU3Ryb2tlVGFyZ2V0VHlwZSwgdHJ1
ZSkpIHsKKyAgICAgICAgICAgIFZlY3RvcjxTVkdDaGFyPjo6aXRlcmF0b3IgaXQgPSBtX3N2Z0No
YXJzLmJlZ2luKCk7CisgICAgICAgICAgICBwYWludElubGluZUJveGVzKHBpLCB0eCwgdHksIHRo
aXMsIGl0KTsKKyAgICAgICAgICAgIEFTU0VSVChpdCA9PSBtX3N2Z0NoYXJzLmVuZCgpKTsKKwor
ICAgICAgICAgICAgc3Ryb2tlUGFpbnRTZXJ2ZXItPnRlYXJkb3duKHBpLmNvbnRleHQsIG9iamVj
dCgpLCBBcHBseVRvU3Ryb2tlVGFyZ2V0VHlwZSwgdHJ1ZSk7CisgICAgICAgIH0KKyAgICB9CisK
KyAgICBpZiAoZmlsdGVyKQorICAgICAgICBmaWx0ZXItPmFwcGx5RmlsdGVyKHBhaW50SW5mby5j
b250ZXh0LCBib3VuZGluZ0JveCk7CisKKyAgICBpZiAob3BhY2l0eSA8IDEuMGYpCisgICAgICAg
IHBhaW50SW5mby5jb250ZXh0LT5lbmRUcmFuc3BhcmVuY3lMYXllcigpOworCisgICAgcGFpbnRJ
bmZvLmNvbnRleHQtPnJlc3RvcmUoKTsKK30KKworaW50IFNWR1Jvb3RJbmxpbmVCb3g6OnBsYWNl
Qm94ZXNIb3Jpem9udGFsbHkoaW50IHgsIGludCYgbGVmdFBvc2l0aW9uLCBpbnQmIHJpZ2h0UG9z
aXRpb24sIGJvb2wmIG5lZWRzV29yZFNwYWNpbmcpCit7CisgICAgLy8gUmVtb3ZlIGFueSBvZmZz
ZXRzIGNhdXNlZCBieSBSVEwgdGV4dCBsYXlvdXQKKyAgICBsZWZ0UG9zaXRpb24gPSAwOworICAg
IHJpZ2h0UG9zaXRpb24gPSAwOworICAgIHJldHVybiAwOworfQorCit2b2lkIFNWR1Jvb3RJbmxp
bmVCb3g6OnZlcnRpY2FsbHlBbGlnbkJveGVzKGludCYgaGVpZ2h0T2ZCbG9jaykKK3sKKyAgICAv
LyBoZWlnaHQgaXMgc2V0IGJ5IGxheW91dElubGluZUJveGVzLgorICAgIGhlaWdodE9mQmxvY2sg
PSBoZWlnaHQoKTsKK30KKworZmxvYXQgU1ZHUm9vdElubGluZUJveDo6Y3VtbXVsYXRlZFdpZHRo
T2ZTZWxlY3Rpb25SYW5nZShJbmxpbmVUZXh0Qm94KiB0ZXh0Qm94LCBpbnQgc3RhcnRQb3MsIGlu
dCBlbmRQb3MsIGludCBsZW5ndGgsIGludCBib3hTdGFydE9mZnNldCkKK3sKKyAgICBpbnQgY2h1
bmtTdGFydFBvcyA9IGJveFN0YXJ0T2Zmc2V0OworICAgIGludCBjaHVua0VuZFBvcyA9IGNodW5r
U3RhcnRQb3MgKyBsZW5ndGg7CisKKyAgICBpZiAoKHN0YXJ0UG9zID4gY2h1bmtTdGFydFBvcyAm
JiBlbmRQb3MgPiBjaHVua0VuZFBvcykgfHwgY2h1bmtTdGFydFBvcyA+PSBlbmRQb3MpCisgICAg
ICAgIHJldHVybiBGTFRfTUFYOworCisgICAgaWYgKGVuZFBvcyA+IGNodW5rRW5kUG9zKQorICAg
ICAgICBlbmRQb3MgPSBjaHVua0VuZFBvczsKKworICAgIGlmIChzdGFydFBvcyA8IGNodW5rU3Rh
cnRQb3MpCisgICAgICAgIHN0YXJ0UG9zID0gY2h1bmtTdGFydFBvczsKKworICAgIEFTU0VSVChz
dGFydFBvcyA+PSBjaHVua1N0YXJ0UG9zKTsKKyAgICBBU1NFUlQoZW5kUG9zIDw9IGNodW5rRW5k
UG9zKTsKKworICAgIEFTU0VSVChzdGFydFBvcyA8IGVuZFBvcyk7CisKKyAgICBSZW5kZXJUZXh0
KiB0ZXh0ID0gdGV4dEJveC0+dGV4dE9iamVjdCgpOworICAgIGNvbnN0IEZvbnQmIGZvbnQgPSB0
ZXh0LT5zdHlsZSgpLT5mb250KCk7CisKKyAgICByZXR1cm4gZm9udC5mbG9hdFdpZHRoKFRleHRS
dW4odGV4dC0+Y2hhcmFjdGVycygpICsgc3RhcnRQb3MsIGVuZFBvcyAtIHN0YXJ0UG9zKSwgVGV4
dFN0eWxlKDAsIDApKTsKK30KKworc3RhdGljIGZsb2F0IGN1bW11bGF0ZWRXaWR0aE9mSW5saW5l
Qm94Q2hhcmFjdGVyUmFuZ2UoU1ZHSW5saW5lQm94Q2hhcmFjdGVyUmFuZ2UmIHJhbmdlKQorewor
ICAgIEFTU0VSVCghcmFuZ2UuaXNPcGVuKCkpOworICAgIEFTU0VSVChyYW5nZS5pc0Nsb3NlZCgp
KTsKKyAgICBBU1NFUlQocmFuZ2UuYm94LT5pc0lubGluZVRleHRCb3goKSk7CisKKyAgICBJbmxp
bmVUZXh0Qm94KiB0ZXh0Qm94ID0gc3RhdGljX2Nhc3Q8SW5saW5lVGV4dEJveCo+KHJhbmdlLmJv
eCk7CisgICAgUmVuZGVyVGV4dCogdGV4dCA9IHRleHRCb3gtPnRleHRPYmplY3QoKTsKKyAgICBj
b25zdCBGb250JiBmb250ID0gdGV4dC0+c3R5bGUoKS0+Zm9udCgpOworCisgICAgcmV0dXJuIGZv
bnQuZmxvYXRXaWR0aChUZXh0UnVuKHRleHQtPmNoYXJhY3RlcnMoKSArIHJhbmdlLnN0YXJ0T2Zm
c2V0LCByYW5nZS5lbmRPZmZzZXQgLSByYW5nZS5zdGFydE9mZnNldCksIFRleHRTdHlsZSgwLCAw
KSk7Cit9CisKK3N0YXRpYyBmbG9hdCBjdW1tdWxhdGVkV2lkdGhPZlRleHRDaHVuayhTVkdUZXh0
Q2h1bmsmIGNodW5rKQoreworICAgIGZsb2F0IHdpZHRoID0gMC4wOworCisgICAgVmVjdG9yPFNW
R0lubGluZUJveENoYXJhY3RlclJhbmdlPjo6aXRlcmF0b3IgaXQgPSBjaHVuay5ib3hlcy5iZWdp
bigpOworICAgIFZlY3RvcjxTVkdJbmxpbmVCb3hDaGFyYWN0ZXJSYW5nZT46Oml0ZXJhdG9yIGVu
ZCA9IGNodW5rLmJveGVzLmVuZCgpOworCisgICAgZm9yICg7IGl0ICE9IGVuZDsgKytpdCkKKyAg
ICAgICAgICAgd2lkdGggKz0gY3VtbXVsYXRlZFdpZHRoT2ZJbmxpbmVCb3hDaGFyYWN0ZXJSYW5n
ZSgqaXQpOworCisgICAgcmV0dXJuIHdpZHRoOworfQorCitzdGF0aWMgZmxvYXQgY3VtbXVsYXRl
ZEhlaWdodE9mVGV4dENodW5rKFNWR1RleHRDaHVuayYgY2h1bmspCit7CisgICAgZmxvYXQgaGVp
Z2h0ID0gMC4wOworCisgICAgVmVjdG9yPFNWR0lubGluZUJveENoYXJhY3RlclJhbmdlPjo6aXRl
cmF0b3IgaXQgPSBjaHVuay5ib3hlcy5iZWdpbigpOworICAgIFZlY3RvcjxTVkdJbmxpbmVCb3hD
aGFyYWN0ZXJSYW5nZT46Oml0ZXJhdG9yIGVuZCA9IGNodW5rLmJveGVzLmVuZCgpOworCisgICAg
Zm9yICg7IGl0ICE9IGVuZDsgKytpdCkgeworICAgICAgICBTVkdJbmxpbmVCb3hDaGFyYWN0ZXJS
YW5nZSYgcmFuZ2UgPSAqaXQ7CisKKyAgICAgICAgQVNTRVJUKCFyYW5nZS5pc09wZW4oKSk7Cisg
ICAgICAgIEFTU0VSVChyYW5nZS5pc0Nsb3NlZCgpKTsKKyAgICAgICAgQVNTRVJUKHJhbmdlLmJv
eC0+aXNJbmxpbmVUZXh0Qm94KCkpOworCisgICAgICAgIElubGluZVRleHRCb3gqIHRleHRCb3gg
PSBzdGF0aWNfY2FzdDxJbmxpbmVUZXh0Qm94Kj4ocmFuZ2UuYm94KTsKKyAgICAgICAgUmVuZGVy
VGV4dCogdGV4dCA9IHRleHRCb3gtPnRleHRPYmplY3QoKTsKKyAgICAgICAgY29uc3QgRm9udCYg
Zm9udCA9IHRleHQtPnN0eWxlKCktPmZvbnQoKTsKKworICAgICAgICBmbG9hdCBuZXdIZWlnaHQg
PSBmb250LmFzY2VudCgpICsgZm9udC5kZXNjZW50KCk7CisgICAgICAgIGlmIChuZXdIZWlnaHQg
PiBoZWlnaHQpCisgICAgICAgICAgICBuZXdIZWlnaHQgPSBoZWlnaHQ7CisgICAgfQorCisgICAg
cmV0dXJuIGhlaWdodDsKK30KKworc3RhdGljIHZvaWQgYXBwbHlUZXh0QW5jaG9yVG9UZXh0Q2h1
bmsoU1ZHVGV4dENodW5rJiBjaHVuaykKK3sKKyAgICAvKiBERUJVRyBDT0RFIFRPIENIRUNLIFdI
RVRFUiBBTEwgUkFOR0VTIEFSRSBDT1JSRUNUCisgICAgeworICAgICAgICBWZWN0b3I8U1ZHSW5s
aW5lQm94Q2hhcmFjdGVyUmFuZ2U+OjppdGVyYXRvciBib3hJdCA9IGNodW5rLmJveGVzLmJlZ2lu
KCk7CisgICAgICAgIFZlY3RvcjxTVkdJbmxpbmVCb3hDaGFyYWN0ZXJSYW5nZT46Oml0ZXJhdG9y
IGJveEVuZCA9IGNodW5rLmJveGVzLmVuZCgpOworCisgICAgICAgIHVuc2lnbmVkIGludCBpID0g
MDsKKyAgICAgICAgZm9yICg7IGJveEl0ICE9IGJveEVuZDsgKytib3hJdCkgeworICAgICAgICAg
ICAgU1ZHSW5saW5lQm94Q2hhcmFjdGVyUmFuZ2UmIHJhbmdlID0gKmJveEl0OyBpKys7CisgICAg
ICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlJBTkdFICVpIFNUQVJUT0ZGU0VUOiAlaSwgRU5ET0ZG
U0VUOiAlaSwgQk9YOiAlcCwgU1RBUlQgT0YgQk9YOiAlaVxuIiwgaSwgcmFuZ2Uuc3RhcnRPZmZz
ZXQsIHJhbmdlLmVuZE9mZnNldCwgcmFuZ2UuYm94LCBzdGFydCk7CisgICAgICAgIH0KKyAgICB9
CisgICAgKi8KKworICAgIGlmIChjaHVuay5hbmNob3IgPT0gVEFfU1RBUlQpCisgICAgICAgIHJl
dHVybjsKKworICAgIGZsb2F0IHNoaWZ0ID0gMC4wOworCisgICAgaWYgKGNodW5rLmlzVmVydGlj
YWxUZXh0KQorICAgICAgICBzaGlmdCA9IGN1bW11bGF0ZWRIZWlnaHRPZlRleHRDaHVuayhjaHVu
ayk7CisgICAgZWxzZQorICAgICAgICBzaGlmdCA9IGN1bW11bGF0ZWRXaWR0aE9mVGV4dENodW5r
KGNodW5rKTsKKworICAgIGlmIChjaHVuay5hbmNob3IgPT0gVEFfTUlERExFKQorICAgICAgICBz
aGlmdCAqPSAtMC41OworICAgIGVsc2UKKyAgICAgICAgc2hpZnQgKj0gLTEuMDsKKworICAgIC8v
IEFwcGx5IGNvcnJlY3Rpb24gdG8gY2h1bmsKKyAgICBWZWN0b3I8U1ZHQ2hhcj46Oml0ZXJhdG9y
IGNodW5rSXQgPSBjaHVuay5zdGFydDsKKyAgICBmb3IgKDsgY2h1bmtJdCAhPSBjaHVuay5lbmQ7
ICsrY2h1bmtJdCkgeworICAgICAgICBTVkdDaGFyJiBjdXJDaGFyID0gKmNodW5rSXQ7CisKKyAg
ICAgICAgaWYgKGNodW5rLmlzVmVydGljYWxUZXh0KQorICAgICAgICAgICAgY3VyQ2hhci55ICs9
IHNoaWZ0OworICAgICAgICBlbHNlCisgICAgICAgICAgICBjdXJDaGFyLnggKz0gc2hpZnQ7Cisg
ICAgfQorCisgICAgLy8gTW92ZSBpbmxpbmUgYm94ZXMKKyAgICBWZWN0b3I8U1ZHSW5saW5lQm94
Q2hhcmFjdGVyUmFuZ2U+OjppdGVyYXRvciBib3hJdCA9IGNodW5rLmJveGVzLmJlZ2luKCk7Cisg
ICAgVmVjdG9yPFNWR0lubGluZUJveENoYXJhY3RlclJhbmdlPjo6aXRlcmF0b3IgYm94RW5kID0g
Y2h1bmsuYm94ZXMuZW5kKCk7CisKKyAgICBmb3IgKDsgYm94SXQgIT0gYm94RW5kOyArK2JveEl0
KSB7CisgICAgICAgIFNWR0lubGluZUJveENoYXJhY3RlclJhbmdlJiByYW5nZSA9ICpib3hJdDsK
KyAgICAgICAgSW5saW5lQm94KiBjdXJCb3ggPSByYW5nZS5ib3g7CisKKyAgICAgICAgaWYgKGNo
dW5rLmlzVmVydGljYWxUZXh0KQorICAgICAgICAgICAgY3VyQm94LT5zZXRZUG9zKGN1ckJveC0+
eVBvcygpICsgc2hpZnQpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBjdXJCb3gtPnNldFhQ
b3MoY3VyQm94LT54UG9zKCkgKyBzaGlmdCk7CisgICAgfQorfQorCit2b2lkIFNWR1Jvb3RJbmxp
bmVCb3g6OmNvbXB1dGVQZXJDaGFyYWN0ZXJMYXlvdXRJbmZvcm1hdGlvbigpCit7CisgICAgLy8g
Q2xlYW4gdXAgYW55IHByZXZpb3VzIGxheW91dCBpbmZvcm1hdGlvbgorICAgIG1fc3ZnQ2hhcnMu
Y2xlYXIoKTsKKyAgICBtX3N2Z1RleHRDaHVua3MuY2xlYXIoKTsKKworICAgIC8vIEJ1aWxkIGxh
eW91dCBpbmZvcm1hdGlvbiBmb3IgYWxsIGNvbnRhaW5lZCByZW5kZXIgb2JqZWN0cworICAgIFNW
R0NoYXJhY3RlckxheW91dEluZm8gaW5mbzsKKyAgICBidWlsZExheW91dEluZm9ybWF0aW9uKHRo
aXMsIGluZm8pOworCisgICAgLy8gTGF5b3V0IGFsbCBJbmxpbmVUZXh0L0Zsb3cgYm94ZXMKKyAg
ICBsYXlvdXRJbmxpbmVCb3hlcygpOworCisgICAgLy8gTm93IGFsbCBsYXlvdXQgaW5mb3JtYXRp
b24gYXJlIGF2YWlsYWJsZSBmb3IgZXZlcnkgY2hhcmFjdGVyCisgICAgLy8gY29udGFpbmVkIGlu
IGFueSBvZiBvdXIgY2hpbGQgaW5saW5lL2Zsb3cgYm94ZXMuIEJ1aWxkIGxpc3QKKyAgICAvLyBv
ZiB0ZXh0IGNodW5rcyBub3csIHRvIGJlIGFibGUgdG8gYXBwbHkgdGV4dC1hbmNob3Igc2hpZnRz
LgorICAgIGJ1aWxkVGV4dENodW5rcygpOworCisgICAgLy8gTGF5b3V0IGFsbCB0ZXh0IGNodW5r
cworICAgIC8vIHRleHQtYW5jaG9yIG5lZWRzIHRvIGJlIGFwcGxpZWQgdG8gaW5kaXZpZHVhbCBj
aHVua3MuCisgICAgbGF5b3V0VGV4dENodW5rcygpOworfQorCitzdGF0aWMgdm9pZCB0b3RhbEFk
dmFuY2VPZklubGluZVRleHRCb3goSW5saW5lVGV4dEJveCogdGV4dEJveCwgaW50IGZyb20sIGlu
dCB0bywgYm9vbCBpc1ZlcnRpY2FsVGV4dCwgZmxvYXQmIHRvdGFsQWR2YW5jZSkKK3sKKyAgICBB
U1NFUlQodGV4dEJveCk7CisgICAgQVNTRVJUKHRleHRCb3gtPm9iamVjdCgpKTsKKworICAgIGlm
ICh0byA+IDAgJiYgKHVuc2lnbmVkIGludCkgdG8gPiB0ZXh0Qm94LT5sZW4oKSkKKyAgICAgICAg
dG8gPSB0ZXh0Qm94LT5sZW4oKTsKKworICAgIFJlbmRlclRleHQqIHRleHQgPSBzdGF0aWNfY2Fz
dDxSZW5kZXJUZXh0Kj4odGV4dEJveC0+b2JqZWN0KCkpOworICAgIGNvbnN0IEZvbnQmIGZvbnQg
PSB0ZXh0LT5zdHlsZSgpLT5mb250KCk7CisKKyAgICBmb3IgKGludCBpID0gZnJvbTsgaSA8IHRv
OyArK2kpIHsKKyAgICAgICAgaWYgKCFpc1ZlcnRpY2FsVGV4dCkKKyAgICAgICAgICAgIHRvdGFs
QWR2YW5jZSArPSBmb250LmZsb2F0V2lkdGgoVGV4dFJ1bih0ZXh0LT50ZXh0KCktPmNoYXJhY3Rl
cnMoKSArIGksIDEpLCBUZXh0U3R5bGUoMCwgMCkpOworICAgICAgICBlbHNlCisgICAgICAgICAg
ICB0b3RhbEFkdmFuY2UgKz0gZm9udC5hc2NlbnQoKSArIGZvbnQuZGVzY2VudCgpOworICAgIH0K
K30KKworc3RhdGljIHZvaWQgdG90YWxBZHZhbmNlT2ZJbmxpbmVCb3goSW5saW5lRmxvd0JveCog
c3RhcnQsIGJvb2wgaXNWZXJ0aWNhbFRleHQsIGZsb2F0JiB0b3RhbEFkdmFuY2UpCit7CisgICAg
Zm9yIChJbmxpbmVCb3gqIGN1cnIgPSBzdGFydC0+Zmlyc3RDaGlsZCgpOyBjdXJyOyBjdXJyID0g
Y3Vyci0+bmV4dE9uTGluZSgpKSB7CisgICAgICAgIGlmIChjdXJyLT5vYmplY3QoKS0+aXNUZXh0
KCkpIHsKKyAgICAgICAgICAgIElubGluZVRleHRCb3gqIHRleHRCb3ggPSBzdGF0aWNfY2FzdDxJ
bmxpbmVUZXh0Qm94Kj4oY3Vycik7CisgICAgICAgICAgICB0b3RhbEFkdmFuY2VPZklubGluZVRl
eHRCb3godGV4dEJveCwgMCwgdGV4dEJveC0+bGVuKCksIGlzVmVydGljYWxUZXh0LCB0b3RhbEFk
dmFuY2UpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgQVNTRVJUKGN1cnItPmlzSW5s
aW5lRmxvd0JveCgpKTsKKyAgICAgICAgICAgIHRvdGFsQWR2YW5jZU9mSW5saW5lQm94KHN0YXRp
Y19jYXN0PElubGluZUZsb3dCb3gqPihjdXJyKSwgaXNWZXJ0aWNhbFRleHQsIHRvdGFsQWR2YW5j
ZSk7CisgICAgICAgIH0KKyAgICB9Cit9CisKK3ZvaWQgU1ZHUm9vdElubGluZUJveDo6YnVpbGRM
YXlvdXRJbmZvcm1hdGlvbihJbmxpbmVGbG93Qm94KiBzdGFydCwgU1ZHQ2hhcmFjdGVyTGF5b3V0
SW5mbyYgaW5mbykKK3sKKyAgICBpZiAoc3RhcnQtPmlzUm9vdElubGluZUJveCgpKSB7CisgICAg
ICAgIEFTU0VSVChzdGFydC0+b2JqZWN0KCktPmVsZW1lbnQoKS0+aGFzVGFnTmFtZShTVkdOYW1l
czo6dGV4dFRhZykpOworCisgICAgICAgIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQqIHBvc2l0
aW9uaW5nRWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQqPihz
dGFydC0+b2JqZWN0KCktPmVsZW1lbnQoKSk7CisgICAgICAgIEFTU0VSVChwb3NpdGlvbmluZ0Vs
ZW1lbnQpOworICAgICAgICBBU1NFUlQocG9zaXRpb25pbmdFbGVtZW50LT5wYXJlbnROb2RlKCkp
OworCisgICAgICAgIGluZm8uYWRkTGF5b3V0SW5mb3JtYXRpb24ocG9zaXRpb25pbmdFbGVtZW50
KTsKKyAgICB9CisKKyAgICBmb3IgKElubGluZUJveCogY3VyciA9IHN0YXJ0LT5maXJzdENoaWxk
KCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0T25MaW5lKCkpIHsKKyAgICAgICAgaWYgKGN1cnIt
Pm9iamVjdCgpLT5pc1RleHQoKSkKKyAgICAgICAgICAgIGJ1aWxkTGF5b3V0SW5mb3JtYXRpb25G
b3JUZXh0Qm94KGluZm8sIHN0YXRpY19jYXN0PElubGluZVRleHRCb3gqPihjdXJyKSk7CisgICAg
ICAgIGVsc2UgeworICAgICAgICAgICAgQVNTRVJUKGN1cnItPmlzSW5saW5lRmxvd0JveCgpKTsK
KyAgICAgICAgICAgIElubGluZUZsb3dCb3gqIGZsb3dCb3ggPSBzdGF0aWNfY2FzdDxJbmxpbmVG
bG93Qm94Kj4oY3Vycik7CisKKyAgICAgICAgICAgIGJvb2wgaXNBbmNob3IgPSBmbG93Qm94LT5v
YmplY3QoKS0+ZWxlbWVudCgpLT5oYXNUYWdOYW1lKFNWR05hbWVzOjphVGFnKTsKKyAgICAgICAg
ICAgIGJvb2wgaXNUZXh0UGF0aCA9IGZsb3dCb3gtPm9iamVjdCgpLT5lbGVtZW50KCktPmhhc1Rh
Z05hbWUoU1ZHTmFtZXM6OnRleHRQYXRoVGFnKTsKKworICAgICAgICAgICAgaWYgKCFpc1RleHRQ
YXRoICYmICFpc0FuY2hvcikgeworICAgICAgICAgICAgICAgIFNWR1RleHRQb3NpdGlvbmluZ0Vs
ZW1lbnQqIHBvc2l0aW9uaW5nRWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR1RleHRQb3NpdGlvbmlu
Z0VsZW1lbnQqPihmbG93Qm94LT5vYmplY3QoKS0+ZWxlbWVudCgpKTsKKyAgICAgICAgICAgICAg
ICBBU1NFUlQocG9zaXRpb25pbmdFbGVtZW50KTsKKyAgICAgICAgICAgICAgICBBU1NFUlQocG9z
aXRpb25pbmdFbGVtZW50LT5wYXJlbnROb2RlKCkpOworCisgICAgICAgICAgICAgICAgaW5mby5h
ZGRMYXlvdXRJbmZvcm1hdGlvbihwb3NpdGlvbmluZ0VsZW1lbnQpOworICAgICAgICAgICAgfSBl
bHNlIGlmICghaXNBbmNob3IpIHsKKyAgICAgICAgICAgICAgICBpbmZvLnNldEluUGF0aExheW91
dCh0cnVlKTsKKworICAgICAgICAgICAgICAgIGZsb2F0IHRleHRBbmNob3JTdGFydE9mZnNldCA9
IDAuMDsKKyAgICAgICAgICAgICAgICBib29sIGlzVmVydGljYWxUZXh0ID0gaXNWZXJ0aWNhbFdy
aXRpbmdNb2RlKGZsb3dCb3gtPm9iamVjdCgpLT5zdHlsZSgpLT5zdmdTdHlsZSgpKTsKKworICAg
ICAgICAgICAgICAgIC8vIEhhbmRsZSB0ZXh0LWFuY2hvciBvbiBwYXRoLCB3aGljaCBpcyBzcGVj
aWFsLgorICAgICAgICAgICAgICAgIEVUZXh0QW5jaG9yIGFuY2hvciA9IGZsb3dCb3gtPm9iamVj
dCgpLT5zdHlsZSgpLT5zdmdTdHlsZSgpLT50ZXh0QW5jaG9yKCk7CisgICAgICAgICAgICAgICAg
c3dpdGNoIChhbmNob3IpIHsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBUQV9FTkQ6CisgICAg
ICAgICAgICAgICAgICAgIGNhc2UgVEFfTUlERExFOgorICAgICAgICAgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCB0b3RhbEFkdmFuY2UgPSAwLjA7CisgICAgICAg
ICAgICAgICAgICAgICAgICB0b3RhbEFkdmFuY2VPZklubGluZUJveChmbG93Qm94LCBpc1ZlcnRp
Y2FsVGV4dCwgdG90YWxBZHZhbmNlKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFu
Y2hvciA9PSBUQV9FTkQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvclN0
YXJ0T2Zmc2V0IC09IHRvdGFsQWR2YW5jZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yU3RhcnRPZmZzZXQgLT0gdG90
YWxBZHZhbmNlIC8gMi4wOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg
ICAgIGNhc2UgVEFfU1RBUlQ6CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGluZm8u
YWRkTGF5b3V0SW5mb3JtYXRpb24oZmxvd0JveCwgdGV4dEFuY2hvclN0YXJ0T2Zmc2V0KTsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgZmxvYXQgc2hpZnR4U2F2ZWQgPSBpbmZvLnNoaWZ0
eDsKKyAgICAgICAgICAgIGZsb2F0IHNoaWZ0eVNhdmVkID0gaW5mby5zaGlmdHk7CisKKyAgICAg
ICAgICAgIGJ1aWxkTGF5b3V0SW5mb3JtYXRpb24oZmxvd0JveCwgaW5mbyk7CisgICAgICAgICAg
ICBpbmZvLnByb2Nlc3NlZENodW5rKHNoaWZ0eFNhdmVkLCBzaGlmdHlTYXZlZCk7CisKKyAgICAg
ICAgICAgIGlmIChpc1RleHRQYXRoKQorICAgICAgICAgICAgICAgIGluZm8uc2V0SW5QYXRoTGF5
b3V0KGZhbHNlKTsKKyAgICAgICAgfQorICAgIH0KK30KKwordm9pZCBTVkdSb290SW5saW5lQm94
OjpsYXlvdXRJbmxpbmVCb3hlcygpCit7CisgICAgaW50IGxvd1ggPSBJTlRfTUFYOworICAgIGlu
dCBsb3dZID0gSU5UX01BWDsKKyAgICBpbnQgaGlnaFggPSBJTlRfTUlOOworICAgIGludCBoaWdo
WSA9IElOVF9NSU47CisKKyAgICAvLyBMYXlvdXQgYWxsIGNoaWxkIGJveGVzCisgICAgVmVjdG9y
PFNWR0NoYXI+OjppdGVyYXRvciBpdCA9IG1fc3ZnQ2hhcnMuYmVnaW4oKTsgCisgICAgbGF5b3V0
SW5saW5lQm94ZXModGhpcywgaXQsIGxvd1gsIGhpZ2hYLCBsb3dZLCBoaWdoWSk7CisgICAgQVNT
RVJUKGl0ID09IG1fc3ZnQ2hhcnMuZW5kKCkpOworfQorCit2b2lkIFNWR1Jvb3RJbmxpbmVCb3g6
OmxheW91dElubGluZUJveGVzKElubGluZUZsb3dCb3gqIHN0YXJ0LCBWZWN0b3I8U1ZHQ2hhcj46
Oml0ZXJhdG9yJiBpdCwgaW50JiBsb3dYLCBpbnQmIGhpZ2hYLCBpbnQmIGxvd1ksIGludCYgaGln
aFkpCit7CisgICAgZm9yIChJbmxpbmVCb3gqIGN1cnIgPSBzdGFydC0+Zmlyc3RDaGlsZCgpOyBj
dXJyOyBjdXJyID0gY3Vyci0+bmV4dE9uTGluZSgpKSB7CisgICAgICAgIGNvbnN0IEZvbnQmIGZv
bnQgPSBjdXJyLT5vYmplY3QoKS0+c3R5bGUoKS0+Zm9udCgpOworICAgCisgICAgICAgIGlmIChj
dXJyLT5vYmplY3QoKS0+aXNUZXh0KCkpIHsKKyAgICAgICAgICAgIElubGluZVRleHRCb3gqIHRl
eHRCb3ggPSBzdGF0aWNfY2FzdDxJbmxpbmVUZXh0Qm94Kj4oY3Vycik7CisgICAgICAgICAgICB1
bnNpZ25lZCBsZW5ndGggPSB0ZXh0Qm94LT5sZW4oKTsKKworICAgICAgICAgICAgU1ZHQ2hhciBj
dXJDaGFyID0gKml0OworICAgICAgICAgICAgQVNTRVJUKGl0ICE9IG1fc3ZnQ2hhcnMuZW5kKCkp
OworIAorICAgICAgICAgICAgZmxvYXQgbWluWCA9IGN1ckNoYXIueCwgbWluWSA9IGN1ckNoYXIu
eTsKKyAgICAgICAgICAgIGZsb2F0IG1heFggPSBtaW5YLCBtYXhZID0gbWluWTsKKworICAgICAg
ICAgICAgaXQrKzsKKworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMTsgaSA8IGxlbmd0
aDsgKytpKSB7CisgICAgICAgICAgICAgICAgQVNTRVJUKGl0ICE9IG1fc3ZnQ2hhcnMuZW5kKCkp
OworICAgICAgICAgICAgICAgIFNWR0NoYXIgY3VyQ2hhciA9ICppdDsKKworICAgICAgICAgICAg
ICAgIGlmIChjdXJDaGFyLnggPCBtaW5YKQorICAgICAgICAgICAgICAgICAgICBtaW5YID0gY3Vy
Q2hhci54OworCisgICAgICAgICAgICAgICAgaWYgKGN1ckNoYXIueCA+IG1heFgpCisgICAgICAg
ICAgICAgICAgICAgIG1heFggPSBjdXJDaGFyLng7CisKKyAgICAgICAgICAgICAgICBpZiAoY3Vy
Q2hhci55IDwgbWluWSkKKyAgICAgICAgICAgICAgICAgICAgbWluWSA9IGN1ckNoYXIueTsKKwor
ICAgICAgICAgICAgICAgIGlmIChjdXJDaGFyLnkgPiBtYXhZKQorICAgICAgICAgICAgICAgICAg
ICBtYXhZID0gY3VyQ2hhci55OworCisgICAgICAgICAgICAgICAgaXQrKzsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgUmVuZGVyVGV4dCogdGV4dCA9IHRleHRCb3gtPnRleHRPYmplY3Qo
KTsKKyAgICAgICAgICAgIEFTU0VSVCh0ZXh0KTsKKworICAgICAgICAgICAgbWF4WCArPSB0ZXh0
LT53aWR0aCh0ZXh0Qm94LT5lbmQoKSwgMSwgZm9udCwgMCk7CisgICAgICAgICAgICBtYXhZICs9
IGZvbnQuYXNjZW50KCkgKyBmb250LmRlc2NlbnQoKTsKKworICAgICAgICAgICAgY3Vyci0+c2V0
WFBvcyhtaW5YIC0gb2JqZWN0KCktPnhQb3MoKSk7CisgICAgICAgICAgICBjdXJyLT5zZXRXaWR0
aChtYXhYIC0gbWluWCk7CisKKyAgICAgICAgICAgIGN1cnItPnNldFlQb3MobWluWSAtIG9iamVj
dCgpLT55UG9zKCkgLSBmb250LmFzY2VudCgpKTsKKyAgICAgICAgICAgIGN1cnItPnNldEJhc2Vs
aW5lKGZvbnQuYXNjZW50KCkpOworICAgICAgICAgICAgY3Vyci0+c2V0SGVpZ2h0KG1heFkgLSBt
aW5ZKTsKKworICAgICAgICAgICAgaWYgKG1pblggPCBsb3dYKQorICAgICAgICAgICAgICAgIGxv
d1ggPSBtaW5YOworCisgICAgICAgICAgICBpZiAobWF4WCA+IGhpZ2hYKQorICAgICAgICAgICAg
ICAgIGhpZ2hYID0gbWF4WDsKKworICAgICAgICAgICAgaWYgKG1pblkgPCBsb3dZKQorICAgICAg
ICAgICAgICAgIGxvd1kgPSBtaW5ZOworCisgICAgICAgICAgICBpZiAobWF4WSA+IGhpZ2hZKQor
ICAgICAgICAgICAgICAgIGhpZ2hZID0gbWF4WTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgIEFTU0VSVChjdXJyLT5pc0lubGluZUZsb3dCb3goKSk7CisKKyAgICAgICAgICAgIGludCBt
aW5YID0gSU5UX01BWDsKKyAgICAgICAgICAgIGludCBtaW5ZID0gSU5UX01BWDsKKyAgICAgICAg
ICAgIGludCBtYXhYID0gSU5UX01JTjsKKyAgICAgICAgICAgIGludCBtYXhZID0gSU5UX01JTjsK
KworICAgICAgICAgICAgSW5saW5lRmxvd0JveCogZmxvd0JveCA9IHN0YXRpY19jYXN0PElubGlu
ZUZsb3dCb3gqPihjdXJyKTsKKyAgICAgICAgICAgIGxheW91dElubGluZUJveGVzKGZsb3dCb3gs
IGl0LCBtaW5YLCBtYXhYLCBtaW5ZLCBtYXhZKTsKKworICAgICAgICAgICAgY3Vyci0+c2V0WFBv
cyhtaW5YIC0gb2JqZWN0KCktPnhQb3MoKSk7CisgICAgICAgICAgICBjdXJyLT5zZXRXaWR0aCht
YXhYIC0gbWluWCk7CisKKyAgICAgICAgICAgIGN1cnItPnNldFlQb3MobWluWSAtIG9iamVjdCgp
LT55UG9zKCkgLSBmb250LmFzY2VudCgpKTsKKyAgICAgICAgICAgIGN1cnItPnNldEJhc2VsaW5l
KGZvbnQuYXNjZW50KCkpOworICAgICAgICAgICAgY3Vyci0+c2V0SGVpZ2h0KG1heFkgLSBtaW5Z
KTsKKworICAgICAgICAgICAgaWYgKG1pblggPCBsb3dYKQorICAgICAgICAgICAgICAgIGxvd1gg
PSBtaW5YOworCisgICAgICAgICAgICBpZiAobWF4WCA+IGhpZ2hYKQorICAgICAgICAgICAgICAg
IGhpZ2hYID0gbWF4WDsKKworICAgICAgICAgICAgaWYgKG1pblkgPCBsb3dZKQorICAgICAgICAg
ICAgICAgIGxvd1kgPSBtaW5ZOworCisgICAgICAgICAgICBpZiAobWF4WSA+IGhpZ2hZKQorICAg
ICAgICAgICAgICAgIGhpZ2hZID0gbWF4WTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChz
dGFydC0+aXNSb290SW5saW5lQm94KCkpIHsKKyAgICAgICAgY29uc3QgRm9udCYgZm9udCA9IHN0
YXJ0LT5vYmplY3QoKS0+c3R5bGUoKS0+Zm9udCgpOworIAorICAgICAgICBpbnQgdG9wID0gbG93
WSAtIG9iamVjdCgpLT55UG9zKCkgLSBmb250LmFzY2VudCgpOworICAgICAgICBpbnQgYm90dG9t
ID0gaGlnaFkgLSBvYmplY3QoKS0+eVBvcygpOworCisgICAgICAgIHN0YXJ0LT5zZXRYUG9zKGxv
d1ggLSBvYmplY3QoKS0+eFBvcygpKTsKKyAgICAgICAgc3RhcnQtPnNldFlQb3ModG9wKTsKKwor
ICAgICAgICBzdGFydC0+c2V0V2lkdGgoaGlnaFggLSBsb3dYKTsKKyAgICAgICAgc3RhcnQtPnNl
dEhlaWdodChoaWdoWSAtIGxvd1kpOworCisgICAgICAgIHN0YXJ0LT5zZXRWZXJ0aWNhbE92ZXJm
bG93UG9zaXRpb25zKHRvcCwgYm90dG9tKTsKKyAgICAgICAgc3RhcnQtPnNldFZlcnRpY2FsU2Vs
ZWN0aW9uUG9zaXRpb25zKHRvcCwgYm90dG9tKTsKKyAgICB9Cit9CisKK3ZvaWQgU1ZHUm9vdElu
bGluZUJveDo6YnVpbGRMYXlvdXRJbmZvcm1hdGlvbkZvclRleHRCb3goU1ZHQ2hhcmFjdGVyTGF5
b3V0SW5mbyYgaW5mbywgSW5saW5lVGV4dEJveCogdGV4dEJveCkKK3sKKyAgICBSZW5kZXJUZXh0
KiB0ZXh0ID0gdGV4dEJveC0+dGV4dE9iamVjdCgpOworICAgIEFTU0VSVCh0ZXh0KTsKKworICAg
IFJlbmRlclN0eWxlKiBzdHlsZSA9IHRleHQtPnN0eWxlKHRleHRCb3gtPmlzRmlyc3RMaW5lU3R5
bGUoKSk7CisgICAgQVNTRVJUKHN0eWxlKTsKKworICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBzdHls
ZS0+Zm9udCgpOworICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRleHRCb3gtPmxlbigpOworICAgIGJv
b2wgaXNWZXJ0aWNhbFRleHQgPSBpc1ZlcnRpY2FsV3JpdGluZ01vZGUoc3R5bGUtPnN2Z1N0eWxl
KCkpOworCisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7CisgICAg
ICAgIFNWR0NoYXIgc3ZnQ2hhcjsKKyAgICAgICAgc3ZnQ2hhci5zZWxlY3RlZCA9IGZhbHNlOwor
ICAgICAgICBzdmdDaGFyLmRyYXduU2VwZXJhdGVkID0gZmFsc2U7CisgICAgICAgIHN2Z0NoYXIu
bmV3VGV4dENodW5rID0gZmFsc2U7CisKKyAgICAgICAgZmxvYXQgYW5nbGUgPSAwLjA7CisgICAg
ICAgIGZsb2F0IGdseXBoV2lkdGggPSBmb250LmZsb2F0V2lkdGgoVGV4dFJ1bih0ZXh0LT50ZXh0
KCktPmNoYXJhY3RlcnMoKSArIHRleHRCb3gtPnN0YXJ0KCkgKyBpLCAxKSwgVGV4dFN0eWxlKDAs
IDApKTsKKyAgICAgICAgZmxvYXQgZ2x5cGhIZWlnaHQgPSBmb250LmFzY2VudCgpICsgZm9udC5k
ZXNjZW50KCk7CisKKyAgICAgICAgYm9vbCBhc3NpZ25lZFggPSBmYWxzZTsKKyAgICAgICAgYm9v
bCBhc3NpZ25lZFkgPSBmYWxzZTsKKworICAgICAgICBpZiAoaW5mby54VmFsdWVBdmFpbGFibGUo
KSAmJiAoIWluZm8uaW5QYXRoTGF5b3V0KCkgfHwgKGluZm8uaW5QYXRoTGF5b3V0KCkgJiYgIWlz
VmVydGljYWxUZXh0KSkpIHsKKyAgICAgICAgICAgIGlmICghaXNWZXJ0aWNhbFRleHQpCisgICAg
ICAgICAgICAgICAgc3ZnQ2hhci5uZXdUZXh0Q2h1bmsgPSB0cnVlOworCisgICAgICAgICAgICBh
c3NpZ25lZFggPSB0cnVlOworICAgICAgICAgICAgc3ZnQ2hhci5kcmF3blNlcGVyYXRlZCA9IHRy
dWU7CisgICAgICAgICAgICBpbmZvLmN1cnggPSBpbmZvLnhWYWx1ZU5leHQoKTsKKyAgICAgICAg
fQorCisgICAgICAgIGlmIChpbmZvLnlWYWx1ZUF2YWlsYWJsZSgpICYmICghaW5mby5pblBhdGhM
YXlvdXQoKSB8fCAoaW5mby5pblBhdGhMYXlvdXQoKSAmJiBpc1ZlcnRpY2FsVGV4dCkpKSB7Cisg
ICAgICAgICAgICBpZiAoaXNWZXJ0aWNhbFRleHQpCisgICAgICAgICAgICAgICAgc3ZnQ2hhci5u
ZXdUZXh0Q2h1bmsgPSB0cnVlOworCisgICAgICAgICAgICBhc3NpZ25lZFkgPSB0cnVlOworICAg
ICAgICAgICAgc3ZnQ2hhci5kcmF3blNlcGVyYXRlZCA9IHRydWU7CisgICAgICAgICAgICBpbmZv
LmN1cnkgPSBpbmZvLnlWYWx1ZU5leHQoKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIENhbGN1
bGF0ZSBhYnNvbHV0ZSB4L3kgdmFsdWVzLCBpZiBuZWVkZWQKKyAgICAgICAgaWYgKCFpbmZvLmlu
UGF0aExheW91dCgpKSB7CisgICAgICAgICAgICBzdmdDaGFyLnZpc2libGUgPSB0cnVlOworICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgZmxvYXQgZ2x5cGhBZHZhbmNlID0gaXNWZXJ0aWNh
bFRleHQgPyBnbHlwaEhlaWdodCA6IGdseXBoV2lkdGg7CisgICAgICAgICAgICBmbG9hdCBuZXdP
ZmZzZXQgPSBGTFRfTUlOOworCisgICAgICAgICAgICBpZiAoYXNzaWduZWRYICYmICFpc1ZlcnRp
Y2FsVGV4dCkKKyAgICAgICAgICAgICAgICBuZXdPZmZzZXQgPSBpbmZvLmN1cng7CisgICAgICAg
ICAgICBlbHNlIGlmIChhc3NpZ25lZFkgJiYgaXNWZXJ0aWNhbFRleHQpCisgICAgICAgICAgICAg
ICAgbmV3T2Zmc2V0ID0gaW5mby5jdXJ5OworCisgICAgICAgICAgICBzdmdDaGFyLnZpc2libGUg
PSBpbmZvLm5leHRQYXRoTGF5b3V0UG9pbnRBbmRBbmdsZShpbmZvLmN1cngsIGluZm8uY3VyeSwg
YW5nbGUsIGdseXBoQWR2YW5jZSwgbmV3T2Zmc2V0KTsKKyAgICAgICAgfQorCisgICAgICAgIGZs
b2F0IGR4ID0gMC4wOworICAgICAgICBmbG9hdCBkeSA9IDAuMDsKKworICAgICAgICAvLyBBcHBs
eSB4LWF4aXMgc2hpZnQKKyAgICAgICAgaWYgKGluZm8uZHhWYWx1ZUF2YWlsYWJsZSgpKSB7Cisg
ICAgICAgICAgICBkeCA9IGluZm8uZHhWYWx1ZU5leHQoKTsKKyAgICAgICAgICAgIHN2Z0NoYXIu
ZHJhd25TZXBlcmF0ZWQgPSB0cnVlOworCisgICAgICAgICAgICBpbmZvLmR4ICs9IGR4OworICAg
IAorICAgICAgICAgICAgaWYgKCFpbmZvLmluUGF0aExheW91dCgpKQorICAgICAgICAgICAgICAg
IGluZm8uY3VyeCArPSBkeDsKKyAgICAgICAgfQorCisgICAgICAgIC8vIEFwcGx5IHktYXhpcyBz
aGlmdAorICAgICAgICBpZiAoaW5mby5keVZhbHVlQXZhaWxhYmxlKCkpIHsKKyAgICAgICAgICAg
IGR5ID0gaW5mby5keVZhbHVlTmV4dCgpOworICAgICAgICAgICAgc3ZnQ2hhci5kcmF3blNlcGVy
YXRlZCA9IHRydWU7CisKKyAgICAgICAgICAgIGluZm8uZHkgKz0gZHk7CisKKyAgICAgICAgICAg
IGlmICghaW5mby5pblBhdGhMYXlvdXQoKSkKKyAgICAgICAgICAgICAgICBpbmZvLmN1cnkgKz0g
ZHk7CisgICAgICAgIH0KKworICAgICAgICAvLyBBcHBseSByb3RhdGlvbgorICAgICAgICBpZiAo
aW5mby5hbmdsZVZhbHVlQXZhaWxhYmxlKCkpIHsKKyAgICAgICAgICAgIHN2Z0NoYXIuZHJhd25T
ZXBlcmF0ZWQgPSB0cnVlOworICAgICAgICAgICAgYW5nbGUgPSBpbmZvLmFuZ2xlVmFsdWVOZXh0
KCk7CisgICAgICAgIH0KKworICAgICAgICAvLyBBcHBseSBiYXNlbGluZS1zaGlmdAorICAgICAg
ICBpZiAoaW5mby5iYXNlbGluZVNoaWZ0VmFsdWVBdmFpbGFibGUoKSkgeworICAgICAgICAgICAg
c3ZnQ2hhci5kcmF3blNlcGVyYXRlZCA9IHRydWU7CisgICAgICAgICAgICBmbG9hdCBzaGlmdCA9
IGluZm8uYmFzZWxpbmVTaGlmdFZhbHVlTmV4dCgpOworCisgICAgICAgICAgICBpZiAoaXNWZXJ0
aWNhbFRleHQpIHsKKyAgICAgICAgICAgICAgICBpbmZvLnNoaWZ0eCArPSBzaGlmdDsKKyAgICAg
ICAgICAgICAgICBpbmZvLmN1cnggKz0gc2hpZnQ7CisgICAgICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgICAgICAgIGluZm8uc2hpZnR5IC09IHNoaWZ0OworICAgICAgICAgICAgICAgIGluZm8u
Y3VyeSAtPSBzaGlmdDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIHN2Z0No
YXIueCA9IGluZm8uY3VyeDsKKyAgICAgICAgc3ZnQ2hhci55ID0gaW5mby5jdXJ5OworCisgICAg
ICAgIGZsb2F0IHBhdGhYU2hpZnQgPSAwLjA7CisgICAgICAgIGZsb2F0IHBhdGhZU2hpZnQgPSAw
LjA7CisKKyAgICAgICAgLy8gQ29ycmVjdCBjaGFyYWN0ZXIgcG9zaXRpb24gZm9yIHRleHQgb24g
cGF0aCBsYXlvdXQKKyAgICAgICAgLy8gQWxsIHBsYWNlZCBjaGFyYWN0ZXJzIG9uIGEgcGF0aCB1
c2UgYWJzb2x1dGUgcG9zaXRpb25pbmcgKGludGVybmFsbHkpLgorICAgICAgICAvLyBTbyB3ZSBz
dGlsbCBoYXZlIHRvIGFwcGx5IGJhc2VsaW5lLXNoaWZ0L2R4L2R5IGNvcnJlY3Rpb25zIG1hbnVh
bGx5LgorICAgICAgICBpZiAoaW5mby5pblBhdGhMYXlvdXQoKSkgeworICAgICAgICAgICAgc3Zn
Q2hhci5kcmF3blNlcGVyYXRlZCA9IHRydWU7CisKKyAgICAgICAgICAgIC8vIFRyYW5zbGF0ZSB0
byBnbHlwaCBtaWRwb2ludAorICAgICAgICAgICAgaWYgKGlzVmVydGljYWxUZXh0KQorICAgICAg
ICAgICAgICAgIHBhdGhZU2hpZnQgPSBnbHlwaEhlaWdodCAvIDIuMDsKKyAgICAgICAgICAgIGVs
c2UKKyAgICAgICAgICAgICAgICBwYXRoWFNoaWZ0ID0gZ2x5cGhXaWR0aCAvIDIuMDsKKworICAg
ICAgICAgICAgLy8gUmVzcGVjdCBhY2N1bXVsYXRlZCBkeC9keSB2YWx1ZXMKKyAgICAgICAgICAg
IHBhdGhYU2hpZnQgLT0gaW5mby5keDsKKyAgICAgICAgICAgIHBhdGhZU2hpZnQgLT0gaW5mby5k
eTsKKworICAgICAgICAgICAgLy8gQWx0ZXIgY2hhcmFjdGVyIHBvc2l0aW9uCisgICAgICAgICAg
ICBzdmdDaGFyLnggLT0gcGF0aFhTaGlmdDsKKyAgICAgICAgICAgIHN2Z0NoYXIueSAtPSBwYXRo
WVNoaWZ0OworICAgICAgICB9CisKKyAgICAgICAgLy8gQ29ycmVjdCBjaGFyYWN0ZXIgcG9zaXRp
b24gZm9yIHZlcnRpY2FsIHRleHQgbGF5b3V0CisgICAgICAgIGlmIChpc1ZlcnRpY2FsVGV4dCkg
eworICAgICAgICAgICAgc3ZnQ2hhci5kcmF3blNlcGVyYXRlZCA9IHRydWU7CisgICAgICAgICAg
ICBzdmdDaGFyLnggLT0gZ2x5cGhXaWR0aCAvIDIuMDsKKyAgICAgICAgICAgIHN2Z0NoYXIueSAr
PSBnbHlwaEhlaWdodDsKKyAgICAgICAgfQorCisgICAgICAgIC8vIFNldHVwIGFmZmluZSB0cmFu
c2Zvcm0gZm9yIHNpbmdsZSBnbHlwaAorICAgICAgICBpZiAoYW5nbGUgIT0gMC4wKSB7CisgICAg
ICAgICAgICBBZmZpbmVUcmFuc2Zvcm0gcm90YXRpb25NYXRyaXg7CisKKyAgICAgICAgICAgIHJv
dGF0aW9uTWF0cml4LnRyYW5zbGF0ZShzdmdDaGFyLnggKyBwYXRoWFNoaWZ0LCBzdmdDaGFyLnkg
KyBwYXRoWVNoaWZ0KTsKKyAgICAgICAgICAgIHJvdGF0aW9uTWF0cml4LnJvdGF0ZShhbmdsZSk7
CisgICAgICAgICAgICByb3RhdGlvbk1hdHJpeC50cmFuc2xhdGUoLXN2Z0NoYXIueCAtIHBhdGhY
U2hpZnQsIC1zdmdDaGFyLnkgLSBwYXRoWVNoaWZ0KTsKKworICAgICAgICAgICAgc3ZnQ2hhci50
cmFuc2Zvcm0gPSByb3RhdGlvbk1hdHJpeDsKKyAgICAgICAgfQorCisgICAgICAgIC8vIEFkdmFu
Y2UgY3VycmVudCBwb3NpdGlvbgorICAgICAgICBpZiAoIWlzVmVydGljYWxUZXh0KQorICAgICAg
ICAgICAgaW5mby5jdXJ4ICs9IGdseXBoV2lkdGg7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IGluZm8uY3VyeSArPSBnbHlwaEhlaWdodDsKKworICAgICAgICBtX3N2Z0NoYXJzLmFwcGVuZChz
dmdDaGFyKTsKKyAgICAgICAgaW5mby5wcm9jZXNzZWRTaW5nbGVDaGFyYWN0ZXIoKTsKKyAgICB9
Cit9CisKK3ZvaWQgU1ZHUm9vdElubGluZUJveDo6YnVpbGRUZXh0Q2h1bmtzKCkKK3sKKyAgICBT
VkdUZXh0Q2h1bmtMYXlvdXRJbmZvIGluZm87CisgICAgaW5mby5pdCA9IG1fc3ZnQ2hhcnMuYmVn
aW4oKTsKKyAgICBpbmZvLmNodW5rLnN0YXJ0ID0gbV9zdmdDaGFycy5iZWdpbigpOworICAgIGlu
Zm8uY2h1bmsuZW5kID0gbV9zdmdDaGFycy5iZWdpbigpOworCisgICAgYnVpbGRUZXh0Q2h1bmtz
KHRoaXMsIGluZm8pOworICAgIEFTU0VSVChpbmZvLml0ID09IG1fc3ZnQ2hhcnMuZW5kKCkpOwor
fQorCit2b2lkIFNWR1Jvb3RJbmxpbmVCb3g6OmJ1aWxkVGV4dENodW5rcyhJbmxpbmVGbG93Qm94
KiBzdGFydCwgU1ZHVGV4dENodW5rTGF5b3V0SW5mbyYgaW5mbykKK3sKKyAgICBmb3IgKElubGlu
ZUJveCogY3VyciA9IHN0YXJ0LT5maXJzdENoaWxkKCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0
T25MaW5lKCkpIHsKKyAgICAgICAgaWYgKGN1cnItPm9iamVjdCgpLT5pc1RleHQoKSkgeworICAg
ICAgICAgICAgSW5saW5lVGV4dEJveCogdGV4dEJveCA9IHN0YXRpY19jYXN0PElubGluZVRleHRC
b3gqPihjdXJyKTsKKworICAgICAgICAgICAgdW5zaWduZWQgbGVuZ3RoID0gdGV4dEJveC0+bGVu
KCk7CisgICAgICAgICAgICBpZiAoIWxlbmd0aCkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsK
KworICAgICAgICAgICAgaWYgKGluZm8uYWR2YW5jZU9ubHkpIHsKKyAgICAgICAgICAgICAgICBp
bmZvLml0ICs9IGxlbmd0aDsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgUmVuZGVyVGV4dCogdGV4dCA9IHRleHRCb3gtPnRleHRPYmplY3Qo
KTsKKyAgICAgICAgICAgIEFTU0VSVCh0ZXh0KTsKKworICAgICAgICAgICAgLy8gSWYgYSBuZXcg
KG9yIHRoZSBmaXJzdCkgY2h1bmsgaGFzIGJlZW4gc3RhcnRlZCwgcmVjb3JkIGl0J3MgdGV4dC1h
bmNob3IuCisgICAgICAgICAgICBpZiAoaW5mby5hc3NpZ25OZXdBbmNob3IpIHsKKyAgICAgICAg
ICAgICAgICBpbmZvLmFzc2lnbk5ld0FuY2hvciA9IGZhbHNlOworICAgICAgICAgICAgICAgIGlu
Zm8uY2h1bmsuaXNWZXJ0aWNhbFRleHQgPSBpc1ZlcnRpY2FsV3JpdGluZ01vZGUodGV4dC0+c3R5
bGUoKS0+c3ZnU3R5bGUoKSk7CisgICAgICAgICAgICAgICAgaW5mby5jaHVuay5hbmNob3IgPSB0
ZXh0LT5zdHlsZSgpLT5zdmdTdHlsZSgpLT50ZXh0QW5jaG9yKCk7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIGlmIChpbmZvLmNodW5rLmJveGVzLmlzRW1wdHkoKSkKKyAgICAgICAgICAg
ICAgICBpbmZvLmNodW5rLmJveGVzLmFwcGVuZChTVkdJbmxpbmVCb3hDaGFyYWN0ZXJSYW5nZSgp
KTsKKworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7
CisgICAgICAgICAgICAgICAgQVNTRVJUKGluZm8uaXQgIT0gbV9zdmdDaGFycy5lbmQoKSk7CisK
KyAgICAgICAgICAgICAgICBTVkdJbmxpbmVCb3hDaGFyYWN0ZXJSYW5nZSYgcmFuZ2UgPSBpbmZv
LmNodW5rLmJveGVzLmxhc3QoKTsKKyAgICAgICAgICAgICAgICBpZiAocmFuZ2UuaXNPcGVuKCkp
IHsKKyAgICAgICAgICAgICAgICAgICAgcmFuZ2UuYm94ID0gY3VycjsKKyAgICAgICAgICAgICAg
ICAgICAgcmFuZ2Uuc3RhcnRPZmZzZXQgPSAoaSA9PSAwID8gMCA6IGkgLSAxKTsKKyAgICAgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBib29sIGlzRmlyc3RDaGFyYWN0ZXIgPSBpbmZv
LmNodW5rLnN0YXJ0ID09IGluZm8uaXQgJiYgaW5mby5jaHVuay5zdGFydCA9PSBpbmZvLmNodW5r
LmVuZDsKKyAgICAgICAgICAgICAgICBpZiAoKCppbmZvLml0KS5uZXdUZXh0Q2h1bmspIHsKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKCFpc0ZpcnN0Q2hhcmFjdGVyKSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAvLyBDbG9zZSBtaWQgY2h1bmsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlu
Zm8uY2h1bmsuZW5kID0gaW5mby5pdDsKKworICAgICAgICAgICAgICAgICAgICAgICAgQVNTRVJU
KCFyYW5nZS5pc09wZW4oKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBBU1NFUlQoIXJhbmdl
LmlzQ2xvc2VkKCkpOworCisgICAgICAgICAgICAgICAgICAgICAgICByYW5nZS5lbmRPZmZzZXQg
PSBpOworICAgICAgICAgICAgICAgICAgICAgICAgbV9zdmdUZXh0Q2h1bmtzLmFwcGVuZChpbmZv
LmNodW5rKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgLy8gUHJlcGFyZSBmb3IgbmV4dCBj
aHVuayAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgIGluZm8uY2h1bmsuYm94ZXMuY2xlYXIo
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGluZm8uY2h1bmsuYm94ZXMuYXBwZW5kKFNWR0lu
bGluZUJveENoYXJhY3RlclJhbmdlKCkpOworCisgICAgICAgICAgICAgICAgICAgICAgICBpbmZv
LmNodW5rLnN0YXJ0ID0gaW5mby5pdDsKKyAgICAgICAgICAgICAgICAgICAgICAgIGluZm8uY2h1
bmsuYW5jaG9yID0gdGV4dC0+c3R5bGUoKS0+c3ZnU3R5bGUoKS0+dGV4dEFuY2hvcigpOworICAg
ICAgICAgICAgICAgICAgICAgICAgaW5mby5jaHVuay5pc1ZlcnRpY2FsVGV4dCA9IGlzVmVydGlj
YWxXcml0aW5nTW9kZSh0ZXh0LT5zdHlsZSgpLT5zdmdTdHlsZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAKKyAgICAgICAgICAgICAgICBpbmZvLml0
Kys7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIFNWR0lubGluZUJveENoYXJhY3RlclJh
bmdlJiByYW5nZSA9IGluZm8uY2h1bmsuYm94ZXMubGFzdCgpOworICAgICAgICAgICAgaWYgKCFy
YW5nZS5pc0Nsb3NlZCgpKSB7CisgICAgICAgICAgICAgICAgaWYgKGluZm8uaXQgPT0gbV9zdmdD
aGFycy5lbmQoKSkgeworICAgICAgICAgICAgICAgICAgICAvLyBTcGVjaWFsIGNhc2UgaWYgd2Un
cmUgYXQgdGhlIGVuZCwgYW5kIHRoZSBjdXJyZW50IGNodW5rCisgICAgICAgICAgICAgICAgICAg
IC8vIGhhcyBqdXN0IGJlZW4gc3RhcnRlZCwgYW5kIG5vdCB5ZXQgZmlsbGVkIGluIGRhdGEuCisg
ICAgICAgICAgICAgICAgICAgIGlmIChyYW5nZS5pc09wZW4oKSkgeworICAgICAgICAgICAgICAg
ICAgICAgICAgQVNTRVJUKCFyYW5nZS5ib3gpOworICAgICAgICAgICAgICAgICAgICAgICAgcmFu
Z2UuYm94ID0gY3VycjsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhbmdlLnN0YXJ0T2Zmc2V0
ID0gbGVuZ3RoIC0gMTsKKyAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAg
ICAgIHJhbmdlLmVuZE9mZnNldCA9IGxlbmd0aDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIEFTU0VSVChjdXJyLT5pc0lubGlu
ZUZsb3dCb3goKSk7CisgICAgICAgICAgICBJbmxpbmVGbG93Qm94KiBmbG93Qm94ID0gc3RhdGlj
X2Nhc3Q8SW5saW5lRmxvd0JveCo+KGN1cnIpOworCisgICAgICAgICAgICAvLyA8dGV4dFBhdGg+
IGRvZXNuJ3QgbmVlZCB0aGlzIGNodW5rIGxvZ2ljLgorICAgICAgICAgICAgYm9vbCBpc1RleHRQ
YXRoID0gZmxvd0JveC0+b2JqZWN0KCktPmVsZW1lbnQoKS0+aGFzVGFnTmFtZShTVkdOYW1lczo6
dGV4dFBhdGhUYWcpOworCisgICAgICAgICAgICBpZiAoaXNUZXh0UGF0aCkKKyAgICAgICAgICAg
ICAgICBpbmZvLmFkdmFuY2VPbmx5ID0gdHJ1ZTsKKworICAgICAgICAgICAgYnVpbGRUZXh0Q2h1
bmtzKGZsb3dCb3gsIGluZm8pOworCisgICAgICAgICAgICBpZiAoaXNUZXh0UGF0aCkKKyAgICAg
ICAgICAgICAgICBpbmZvLmFkdmFuY2VPbmx5ID0gZmFsc2U7CisgICAgICAgIH0KKyAgICB9CisK
KyAgICAvLyBDbG9zZSBmaW5hbCBjaHVuaworICAgIGlmIChzdGFydC0+aXNSb290SW5saW5lQm94
KCkpIHsKKyAgICAgICAgQVNTRVJUKGluZm8uaXQgPT0gbV9zdmdDaGFycy5lbmQoKSk7CisKKyAg
ICAgICAgaW5mby5jaHVuay5lbmQgPSBpbmZvLml0OworICAgICAgICBtX3N2Z1RleHRDaHVua3Mu
YXBwZW5kKGluZm8uY2h1bmspOworICAgIH0KK30KKworY29uc3QgVmVjdG9yPFNWR1RleHRDaHVu
az4mIFNWR1Jvb3RJbmxpbmVCb3g6OnN2Z1RleHRDaHVua3MoKSBjb25zdCAKK3sKKyAgICByZXR1
cm4gbV9zdmdUZXh0Q2h1bmtzOworfQorCit2b2lkIFNWR1Jvb3RJbmxpbmVCb3g6OmxheW91dFRl
eHRDaHVua3MoKQoreworICAgIFZlY3RvcjxTVkdUZXh0Q2h1bms+OjppdGVyYXRvciBpdCA9IG1f
c3ZnVGV4dENodW5rcy5iZWdpbigpOworICAgIFZlY3RvcjxTVkdUZXh0Q2h1bms+OjppdGVyYXRv
ciBlbmQgPSBtX3N2Z1RleHRDaHVua3MuZW5kKCk7CisKKyAgICBmb3IgKDsgaXQgIT0gZW5kOyAr
K2l0KQorICAgICAgICBhcHBseVRleHRBbmNob3JUb1RleHRDaHVuaygqaXQpOworfQorCit2b2lk
IFNWR1Jvb3RJbmxpbmVCb3g6OnBhaW50U2VsZWN0aW9uRm9yVGV4dEJveChJbmxpbmVUZXh0Qm94
KiB0ZXh0Qm94LCBpbnQgYm94U3RhcnRPZmZzZXQsIFNWR0NoYXIqIHN2Z0NoYXJQdHIsIGNvbnN0
IFVDaGFyKiBjaGFycywgaW50IGxlbmd0aCwgR3JhcGhpY3NDb250ZXh0KiBwLCBpbnQgdHgsIGlu
dCB0eSwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBGb250KiBmKQoreworICAgIGlmICh0ZXh0
Qm94LT5zZWxlY3Rpb25TdGF0ZSgpID09IFJlbmRlck9iamVjdDo6U2VsZWN0aW9uTm9uZSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW50IHN0YXJ0UG9zLCBlbmRQb3M7CisgICAgdGV4dEJveC0+
c2VsZWN0aW9uU3RhcnRFbmQoc3RhcnRQb3MsIGVuZFBvcyk7CisKKyAgICBpZiAoc3RhcnRQb3Mg
Pj0gZW5kUG9zKQorICAgICAgICByZXR1cm47CisKKyAgICBmbG9hdCB3aWR0aCA9IGN1bW11bGF0
ZWRXaWR0aE9mU2VsZWN0aW9uUmFuZ2UodGV4dEJveCwgc3RhcnRQb3MsIGVuZFBvcywgbGVuZ3Ro
LCBib3hTdGFydE9mZnNldCk7CisgICAgaWYgKHdpZHRoID09IEZMVF9NQVgpCisgICAgICAgIHJl
dHVybjsKKworICAgIENvbG9yIHRleHRDb2xvciA9IHN0eWxlLT5jb2xvcigpOworICAgIENvbG9y
IGNvbG9yID0gdGV4dEJveC0+b2JqZWN0KCktPnNlbGVjdGlvbkJhY2tncm91bmRDb2xvcigpOwor
ICAgIGlmICghY29sb3IuaXNWYWxpZCgpIHx8IGNvbG9yLmFscGhhKCkgPT0gMCkKKyAgICAgICAg
cmV0dXJuOworCisgICAgLy8gSWYgdGhlIHRleHQgY29sb3IgZW5kcyB1cCBiZWluZyB0aGUgc2Ft
ZSBhcyB0aGUgc2VsZWN0aW9uIGJhY2tncm91bmQsIGludmVydCB0aGUgc2VsZWN0aW9uCisgICAg
Ly8gYmFja2dyb3VuZC4gIFRoaXMgc2hvdWxkIGJhc2ljYWxseSBuZXZlciBoYXBwZW4sIHNpbmNl
IHRoZSBzZWxlY3Rpb24gaGFzIHRyYW5zcGFyZW5jeS4KKyAgICBpZiAodGV4dENvbG9yID09IGNv
bG9yKQorICAgICAgICBjb2xvciA9IENvbG9yKDB4ZmYgLSBjb2xvci5yZWQoKSwgMHhmZiAtIGNv
bG9yLmdyZWVuKCksIDB4ZmYgLSBjb2xvci5ibHVlKCkpOworCisgICAgcC0+c2F2ZSgpOworCisg
ICAgU1ZHQ2hhciBmaXJzdENoYXIgPSAqKHN2Z0NoYXJQdHIgKyAoc3RhcnRQb3MgPiBib3hTdGFy
dE9mZnNldCA/IHN0YXJ0UG9zIC0gYm94U3RhcnRPZmZzZXQgOiAwKSk7CisgICAgaWYgKCFmaXJz
dENoYXIudHJhbnNmb3JtLmlzSWRlbnRpdHkoKSkKKyAgICAgICAgcC0+Y29uY2F0Q1RNKGZpcnN0
Q2hhci50cmFuc2Zvcm0pOworCisgICAgY29uc3QgRm9udCYgZm9udCA9IHRleHRCb3gtPnRleHRP
YmplY3QoKS0+c3R5bGUoKS0+Zm9udCgpOworICAgIEZsb2F0UmVjdCBzZWxlY3Rpb25SZWN0KGZp
cnN0Q2hhci54LCBmaXJzdENoYXIueSAtIGZvbnQuYXNjZW50KCksIHdpZHRoLCBmb250LmFzY2Vu
dCgpICsgZm9udC5kZXNjZW50KCkpOworICAgIHAtPmZpbGxSZWN0KHNlbGVjdGlvblJlY3QsIGNv
bG9yKTsKKworICAgIHAtPnJlc3RvcmUoKTsKK30KKwordm9pZCBTVkdSb290SW5saW5lQm94Ojpw
YWludElubGluZUJveGVzKFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiBwYWludEluZm8sIGludCB0
eCwgaW50IHR5LCBJbmxpbmVGbG93Qm94KiBzdGFydCwgVmVjdG9yPFNWR0NoYXI+OjppdGVyYXRv
ciYgaXQpCit7CisgICAgZm9yIChJbmxpbmVCb3gqIGN1cnIgPSBzdGFydC0+Zmlyc3RDaGlsZCgp
OyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dE9uTGluZSgpKSB7CisgICAgICAgIGlmIChjdXJyLT5v
YmplY3QoKS0+aXNUZXh0KCkpIHsKKyAgICAgICAgICAgIElubGluZVRleHRCb3gqIHRleHRCb3gg
PSBzdGF0aWNfY2FzdDxJbmxpbmVUZXh0Qm94Kj4oY3Vycik7CisKKyAgICAgICAgICAgIHVuc2ln
bmVkIGxlbmd0aCA9IHRleHRCb3gtPmxlbigpOworICAgICAgICAgICAgaWYgKCFsZW5ndGgpCisg
ICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIFJlbmRlclRleHQqIHRleHQg
PSB0ZXh0Qm94LT50ZXh0T2JqZWN0KCk7CisgICAgICAgICAgICBBU1NFUlQodGV4dCk7CisKKyAg
ICAgICAgICAgIC8vIFBhaW50IGFsbCBjb250YWluZWQgY2hhcmFjdGVycywgb25lLWJ5LW9uZSBh
cyB3b3JzdCBjYXNlLgorICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0
aDsgKytpKSB7CisgICAgICAgICAgICAgICAgQVNTRVJUKGl0ICE9IG1fc3ZnQ2hhcnMuZW5kKCkp
OworCisgICAgICAgICAgICAgICAgaWYgKCEoKml0KS52aXNpYmxlKSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0Kys7CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgICAgIC8vIERldGVybWluZSBob3cgbWFueSBjaGFyYWN0ZXJz
IC0gc3RhcnRpbmcgZnJvbSB0aGUgY3VycmVudCAtIGNhbiBiZSBkcmF3biBhdCBvbmNlLgorICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIHN0YXJ0T2Zmc2V0ID0gaSArIDEsIHJ1biA9IDE7CisgICAg
ICAgICAgICAgICAgd2hpbGUgKHN0YXJ0T2Zmc2V0IDwgbGVuZ3RoKSB7CisgICAgICAgICAgICAg
ICAgICAgIFNWR0NoYXIgY2h1bmsgPSAqKGl0ICsgc3RhcnRPZmZzZXQgLSBpKTsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKGNodW5rLmRyYXduU2VwZXJhdGVkKQorICAgICAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICAgICAgcnVuKys7CisgICAgICAgICAgICAg
ICAgICAgIHN0YXJ0T2Zmc2V0Kys7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAg
ICAgcGFpbnRDaGFyYWN0ZXJSYW5nZUZvclRleHRCb3gocGFpbnRJbmZvLCB0eCwgdHksIHRleHRC
b3gsICppdCwgdGV4dC0+Y2hhcmFjdGVycygpICsgdGV4dEJveC0+c3RhcnQoKSArIGksIHJ1bik7
CisKKyAgICAgICAgICAgICAgICBpICs9IHJ1biAtIDE7CisgICAgICAgICAgICAgICAgaXQgKz0g
cnVuOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgQVNTRVJU
KGN1cnItPmlzSW5saW5lRmxvd0JveCgpKTsKKyAgICAgICAgICAgIElubGluZUZsb3dCb3gqIGZs
b3dCb3ggPSBzdGF0aWNfY2FzdDxJbmxpbmVGbG93Qm94Kj4oY3Vycik7CisKKyAgICAgICAgICAg
IEZsb2F0UmVjdCBib3VuZGluZ0JveDsKKworICAgICAgICAgICAgU1ZHUmVzb3VyY2VGaWx0ZXIq
IGZpbHRlciA9IDA7CisgICAgICAgICAgICBwcmVwYXJlVGV4dFJlbmRlcmluZyhwYWludEluZm8s
IHR4LCB0eSwgZmxvd0JveCwgYm91bmRpbmdCb3gsIGZpbHRlcik7CisKKyAgICAgICAgICAgIFJl
bmRlck9iamVjdCogb2JqZWN0ID0gZmxvd0JveC0+b2JqZWN0KCk7CisgICAgICAgICAgICBSZW5k
ZXJPYmplY3Q6OlBhaW50SW5mbyBwaShwYWludEluZm8pOworCisgICAgICAgICAgICBpZiAoIWZs
b3dCb3gtPmlzUm9vdElubGluZUJveCgpKQorICAgICAgICAgICAgICAgIHBpLnJlY3QgPSAob2Jq
ZWN0LT5sb2NhbFRyYW5zZm9ybSgpKS5pbnZlcnNlKCkubWFwUmVjdChwaS5yZWN0KTsKKworICAg
ICAgICAgICAgZmxvYXQgb3BhY2l0eSA9IG9iamVjdC0+c3R5bGUoKS0+b3BhY2l0eSgpOworICAg
ICAgICAgICAgaWYgKG9wYWNpdHkgPCAxLjBmKSB7CisgICAgICAgICAgICAgICAgcGFpbnRJbmZv
LmNvbnRleHQtPmNsaXAoZW5jbG9zaW5nSW50UmVjdChib3VuZGluZ0JveCkpOworICAgICAgICAg
ICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5iZWdpblRyYW5zcGFyZW5jeUxheWVyKG9wYWNpdHkp
OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBib29sIHBhaW50ZWQgPSBmYWxzZTsKKyAg
ICAgICAgICAgIFZlY3RvcjxTVkdDaGFyPjo6aXRlcmF0b3Igc2F2ZWRJdCA9IGl0OworICAgIAor
ICAgICAgICAgICAgU1ZHUGFpbnRTZXJ2ZXIqIGZpbGxQYWludFNlcnZlciA9IEtTVkdQYWludGVy
RmFjdG9yeTo6ZmlsbFBhaW50U2VydmVyKG9iamVjdC0+c3R5bGUoKSwgb2JqZWN0KTsKKyAgICAg
ICAgICAgIGlmIChmaWxsUGFpbnRTZXJ2ZXIpIHsKKyAgICAgICAgICAgICAgICBpZiAoZmlsbFBh
aW50U2VydmVyLT5zZXR1cChwaS5jb250ZXh0LCBvYmplY3QsIEFwcGx5VG9GaWxsVGFyZ2V0VHlw
ZSwgdHJ1ZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgcGFpbnRlZCA9IHRydWU7CisKKyAgICAg
ICAgICAgICAgICAgICAgcGFpbnRJbmxpbmVCb3hlcyhwaSwgdHgsIHR5LCBmbG93Qm94LCBpdCk7
CisgICAgICAgICAgICAgICAgICAgIGZpbGxQYWludFNlcnZlci0+dGVhcmRvd24ocGkuY29udGV4
dCwgb2JqZWN0LCBBcHBseVRvRmlsbFRhcmdldFR5cGUsIHRydWUpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgU1ZHUGFpbnRTZXJ2ZXIqIHN0cm9rZVBh
aW50U2VydmVyID0gS1NWR1BhaW50ZXJGYWN0b3J5OjpzdHJva2VQYWludFNlcnZlcihvYmplY3Qt
PnN0eWxlKCksIG9iamVjdCk7CisgICAgICAgICAgICBpZiAoc3Ryb2tlUGFpbnRTZXJ2ZXIpIHsK
KyAgICAgICAgICAgICAgICBpZiAoc3Ryb2tlUGFpbnRTZXJ2ZXItPnNldHVwKHBpLmNvbnRleHQs
IG9iamVjdCwgQXBwbHlUb1N0cm9rZVRhcmdldFR5cGUsIHRydWUpKSB7CisgICAgICAgICAgICAg
ICAgICAgIGlmIChwYWludGVkKQorICAgICAgICAgICAgICAgICAgICAgICAgaXQgPSBzYXZlZEl0
OworCisgICAgICAgICAgICAgICAgICAgIHBhaW50SW5saW5lQm94ZXMocGksIHR4LCB0eSwgZmxv
d0JveCwgaXQpOworICAgICAgICAgICAgICAgICAgICBzdHJva2VQYWludFNlcnZlci0+dGVhcmRv
d24ocGkuY29udGV4dCwgb2JqZWN0LCBBcHBseVRvU3Ryb2tlVGFyZ2V0VHlwZSwgdHJ1ZSk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAoZmlsdGVy
KQorICAgICAgICAgICAgICAgIGZpbHRlci0+YXBwbHlGaWx0ZXIocGFpbnRJbmZvLmNvbnRleHQs
IGJvdW5kaW5nQm94KTsKKworICAgICAgICAgICAgaWYgKG9wYWNpdHkgPCAxLjBmKQorICAgICAg
ICAgICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5lbmRUcmFuc3BhcmVuY3lMYXllcigpOworCisg
ICAgICAgICAgICBwYWludEluZm8uY29udGV4dC0+cmVzdG9yZSgpOworICAgICAgICB9CisgICAg
fQorfQorCit2b2lkIFNWR1Jvb3RJbmxpbmVCb3g6OnBhaW50Q2hhcmFjdGVyUmFuZ2VGb3JUZXh0
Qm94KFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiBwYWludEluZm8sIGludCB0eCwgaW50IHR5LCBJ
bmxpbmVUZXh0Qm94KiB0ZXh0Qm94LCBjb25zdCBTVkdDaGFyJiBzdmdDaGFyLCBjb25zdCBVQ2hh
ciogY2hhcnMsIGludCBsZW5ndGgpCit7CisgICAgaWYgKG9iamVjdCgpLT5zdHlsZSgpLT52aXNp
YmlsaXR5KCkgIT0gVklTSUJMRSB8fCBwYWludEluZm8ucGhhc2UgPT0gUGFpbnRQaGFzZU91dGxp
bmUpCisgICAgICAgIHJldHVybjsKKworICAgIEFTU0VSVChwYWludEluZm8ucGhhc2UgIT0gUGFp
bnRQaGFzZVNlbGZPdXRsaW5lICYmIHBhaW50SW5mby5waGFzZSAhPSBQYWludFBoYXNlQ2hpbGRP
dXRsaW5lcyk7CisKKyAgICBSZW5kZXJUZXh0KiB0ZXh0ID0gdGV4dEJveC0+dGV4dE9iamVjdCgp
OworICAgIEFTU0VSVCh0ZXh0KTsKKworICAgIGJvb2wgaXNQcmludGluZyA9IHRleHQtPmRvY3Vt
ZW50KCktPnByaW50aW5nKCk7CisKKyAgICAvLyBEZXRlcm1pbmUgd2hldGhlciBvciBub3Qgd2Un
cmUgc2VsZWN0ZWQuCisgICAgYm9vbCBoYXZlU2VsZWN0aW9uID0gIWlzUHJpbnRpbmcgJiYgc2Vs
ZWN0aW9uU3RhdGUoKSAhPSBSZW5kZXJPYmplY3Q6OlNlbGVjdGlvbk5vbmU7CisgICAgaWYgKCFo
YXZlU2VsZWN0aW9uICYmIHBhaW50SW5mby5waGFzZSA9PSBQYWludFBoYXNlU2VsZWN0aW9uKQor
ICAgICAgICAvLyBXaGVuIG9ubHkgcGFpbnRpbmcgdGhlIHNlbGVjdGlvbiwgZG9uJ3QgYm90aGVy
IHRvIHBhaW50IGlmIHRoZXJlIGlzIG5vbmUuCisgICAgICAgIHJldHVybjsKKworICAgIC8vIERl
dGVybWluZSB3aGV0aGVyIG9yIG5vdCB3ZSBoYXZlIG1hcmtlZCB0ZXh0LgorICAgIFJhbmdlKiBt
YXJrZWRUZXh0UmFuZ2UgPSB0ZXh0LT5kb2N1bWVudCgpLT5mcmFtZSgpLT5tYXJrZWRUZXh0UmFu
Z2UoKTsKKyAgICBpbnQgZXhjZXB0aW9uID0gMDsKKyAgICBib29sIGhhdmVNYXJrZWRUZXh0ID0g
bWFya2VkVGV4dFJhbmdlICYmIG1hcmtlZFRleHRSYW5nZS0+c3RhcnRDb250YWluZXIoZXhjZXB0
aW9uKSA9PSB0ZXh0LT5ub2RlKCk7CisgICAgYm9vbCBtYXJrZWRUZXh0VXNlc1VuZGVybGluZXMg
PSB0ZXh0LT5kb2N1bWVudCgpLT5mcmFtZSgpLT5tYXJrZWRUZXh0VXNlc1VuZGVybGluZXMoKTsK
KworICAgIC8vIFNldCBvdXIgZm9udAorICAgIFJlbmRlclN0eWxlKiBzdHlsZVRvVXNlID0gdGV4
dC0+c3R5bGUodGV4dEJveC0+aXNGaXJzdExpbmVTdHlsZSgpKTsKKyAgICBpbnQgZCA9IHN0eWxl
VG9Vc2UtPnRleHREZWNvcmF0aW9uc0luRWZmZWN0KCk7CisgICAgY29uc3QgRm9udCogZm9udCA9
ICZzdHlsZVRvVXNlLT5mb250KCk7CisgICAgaWYgKCpmb250ICE9IHBhaW50SW5mby5jb250ZXh0
LT5mb250KCkpCisgICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5zZXRGb250KCpmb250KTsKKwor
ICAgIC8vIDEuIFBhaW50IGJhY2tncm91bmRzIGJlaGluZCB0ZXh0IGlmIG5lZWRlZC4gIEV4YW1w
bGVzIG9mIHN1Y2ggYmFja2dyb3VuZHMgaW5jbHVkZSBzZWxlY3Rpb24KKyAgICAvLyBhbmQgbWFy
a2VkIHRleHQuCisgICAgaWYgKHBhaW50SW5mby5waGFzZSAhPSBQYWludFBoYXNlU2VsZWN0aW9u
ICYmICFpc1ByaW50aW5nKSB7CisjaWYgUExBVEZPUk0oTUFDKQorICAgICAgICAvLyBDdXN0b20g
aGlnaGxpZ2h0ZXJzIGdvIGJlaGluZCBldmVyeXRoaW5nIGVsc2UuCisgICAgICAgIGlmIChzdHls
ZVRvVXNlLT5oaWdobGlnaHQoKSAhPSBudWxsQXRvbSAmJiAhcGFpbnRJbmZvLmNvbnRleHQtPnBh
aW50aW5nRGlzYWJsZWQoKSkKKyAgICAgICAgICAgIHRleHRCb3gtPnBhaW50Q3VzdG9tSGlnaGxp
Z2h0KHR4LCB0eSwgc3R5bGVUb1VzZS0+aGlnaGxpZ2h0KCkpOworI2VuZGlmCisKKyAgICAgICAg
aWYgKGhhdmVNYXJrZWRUZXh0ICAmJiAhbWFya2VkVGV4dFVzZXNVbmRlcmxpbmVzKQorICAgICAg
ICAgICAgdGV4dEJveC0+cGFpbnRNYXJrZWRUZXh0QmFja2dyb3VuZChwYWludEluZm8uY29udGV4
dCwgdHgsIHR5LCBzdHlsZVRvVXNlLCBmb250LCBtYXJrZWRUZXh0UmFuZ2UtPnN0YXJ0T2Zmc2V0
KGV4Y2VwdGlvbiksIG1hcmtlZFRleHRSYW5nZS0+ZW5kT2Zmc2V0KGV4Y2VwdGlvbikpOworCisg
ICAgICAgIHRleHRCb3gtPnBhaW50RG9jdW1lbnRNYXJrZXJzKHBhaW50SW5mby5jb250ZXh0LCB0
eCwgdHksIHN0eWxlVG9Vc2UsIGZvbnQsIHRydWUpOworCisgICAgICAgIGlmIChoYXZlU2VsZWN0
aW9uICYmICFtYXJrZWRUZXh0VXNlc1VuZGVybGluZXMpIHsKKyAgICAgICAgICAgIGludCBib3hT
dGFydE9mZnNldCA9IGNoYXJzIC0gdGV4dC0+Y2hhcmFjdGVycygpIC0gdGV4dEJveC0+c3RhcnQo
KTsKKyAgICAgICAgICAgIHBhaW50U2VsZWN0aW9uRm9yVGV4dEJveCh0ZXh0Qm94LCBib3hTdGFy
dE9mZnNldCwgY29uc3RfY2FzdDxTVkdDaGFyKj4oJnN2Z0NoYXIpLCBjaGFycywgbGVuZ3RoLCBw
YWludEluZm8uY29udGV4dCwgdHgsIHR5LCBzdHlsZVRvVXNlLCBmb250KTsKKyAgICAgICAgfQor
ICAgIH0KKworICAgIGNvbnN0IFZlY3RvcjxNYXJrZWRUZXh0VW5kZXJsaW5lPiogdW5kZXJsaW5l
cyA9IDA7CisgICAgc2l6ZV90IG51bVVuZGVybGluZXMgPSAwOworICAgIGlmIChoYXZlTWFya2Vk
VGV4dCAmJiBtYXJrZWRUZXh0VXNlc1VuZGVybGluZXMpIHsKKyAgICAgICAgdW5kZXJsaW5lcyA9
ICZ0ZXh0LT5kb2N1bWVudCgpLT5mcmFtZSgpLT5tYXJrZWRUZXh0VW5kZXJsaW5lcygpOworICAg
ICAgICBudW1VbmRlcmxpbmVzID0gdW5kZXJsaW5lcy0+c2l6ZSgpOworICAgIH0KKworICAgIENv
bG9yIHRleHRGaWxsQ29sb3I7CisgICAgQ29sb3IgdGV4dFN0cm9rZUNvbG9yOworICAgIGZsb2F0
IHRleHRTdHJva2VXaWR0aCA9IHN0eWxlVG9Vc2UtPnRleHRTdHJva2VXaWR0aCgpOworCisgICAg
aWYgKHBhaW50SW5mby5mb3JjZVdoaXRlVGV4dCkgeworICAgICAgICB0ZXh0RmlsbENvbG9yID0g
Q29sb3I6OndoaXRlOworICAgICAgICB0ZXh0U3Ryb2tlQ29sb3IgPSBDb2xvcjo6d2hpdGU7Cisg
ICAgfSBlbHNlIHsKKyAgICAgICAgdGV4dEZpbGxDb2xvciA9IHN0eWxlVG9Vc2UtPnRleHRGaWxs
Q29sb3IoKTsKKyAgICAgICAgaWYgKCF0ZXh0RmlsbENvbG9yLmlzVmFsaWQoKSkKKyAgICAgICAg
ICAgIHRleHRGaWxsQ29sb3IgPSBzdHlsZVRvVXNlLT5jb2xvcigpOworCisgICAgICAgIC8vIE1h
a2UgdGhlIHRleHQgZmlsbCBjb2xvciBsZWdpYmxlIGFnYWluc3QgYSB3aGl0ZSBiYWNrZ3JvdW5k
CisgICAgICAgIGlmIChzdHlsZVRvVXNlLT5mb3JjZUJhY2tncm91bmRzVG9XaGl0ZSgpKQorICAg
ICAgICAgICAgdGV4dEZpbGxDb2xvciA9IGNvcnJlY3RlZFRleHRDb2xvcih0ZXh0RmlsbENvbG9y
LCBDb2xvcjo6d2hpdGUpOworCisgICAgICAgIHRleHRTdHJva2VDb2xvciA9IHN0eWxlVG9Vc2Ut
PnRleHRTdHJva2VDb2xvcigpOworICAgICAgICBpZiAoIXRleHRTdHJva2VDb2xvci5pc1ZhbGlk
KCkpCisgICAgICAgICAgICB0ZXh0U3Ryb2tlQ29sb3IgPSBzdHlsZVRvVXNlLT5jb2xvcigpOwor
CisgICAgICAgIC8vIE1ha2UgdGhlIHRleHQgc3Ryb2tlIGNvbG9yIGxlZ2libGUgYWdhaW5zdCBh
IHdoaXRlIGJhY2tncm91bmQKKyAgICAgICAgaWYgKHN0eWxlVG9Vc2UtPmZvcmNlQmFja2dyb3Vu
ZHNUb1doaXRlKCkpCisgICAgICAgICAgICB0ZXh0U3Ryb2tlQ29sb3IgPSBjb3JyZWN0ZWRUZXh0
Q29sb3IodGV4dFN0cm9rZUNvbG9yLCBDb2xvcjo6d2hpdGUpOworICAgIH0KKworICAgIC8vIEZv
ciBzdHJva2VkIHBhaW50aW5nLCB3ZSBoYXZlIHRvIGNoYW5nZSB0aGUgdGV4dCBkcmF3aW5nIG1v
ZGUuICBJdCdzIHByb2JhYmx5IGRhbmdlcm91cyB0byBsZWF2ZSB0aGF0IG11dGF0ZWQgYXMgYSBz
aWRlCisgICAgLy8gZWZmZWN0LCBzbyBvbmx5IHdoZW4gd2Uga25vdyB3ZSdyZSBzdHJva2luZywg
ZG8gYSBzYXZlL3Jlc3RvcmUuCisgICAgaWYgKHRleHRTdHJva2VXaWR0aCA+IDApCisgICAgICAg
IHBhaW50SW5mby5jb250ZXh0LT5zYXZlKCk7CisKKyAgICBpZiAoIXN2Z0NoYXIudHJhbnNmb3Jt
LmlzSWRlbnRpdHkoKSkKKyAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPmNvbmNhdENUTShzdmdD
aGFyLnRyYW5zZm9ybSk7CisKKyAgICB1cGRhdGVHcmFwaGljc0NvbnRleHQocGFpbnRJbmZvLmNv
bnRleHQsIHRleHRGaWxsQ29sb3IsIHRleHRTdHJva2VDb2xvciwgdGV4dFN0cm9rZVdpZHRoKTsK
KyAgICAKKyAgICAvLyBTZXQgYSB0ZXh0IHNoYWRvdyBpZiB3ZSBoYXZlIG9uZS4KKyAgICAvLyBG
SVhNRTogU3VwcG9ydCBtdWx0aXBsZSBzaGFkb3cgZWZmZWN0cy4gIE5lZWQgbW9yZSBmcm9tIHRo
ZSBDRyBBUEkgYmVmb3JlCisgICAgLy8gd2UgY2FuIGRvIHRoaXMuCisgICAgYm9vbCBzZXRTaGFk
b3cgPSBmYWxzZTsKKyAgICBpZiAoc3R5bGVUb1VzZS0+dGV4dFNoYWRvdygpKSB7CisgICAgICAg
IHBhaW50SW5mby5jb250ZXh0LT5zZXRTaGFkb3coSW50U2l6ZShzdHlsZVRvVXNlLT50ZXh0U2hh
ZG93KCktPngsIHN0eWxlVG9Vc2UtPnRleHRTaGFkb3coKS0+eSksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3R5bGVUb1VzZS0+dGV4dFNoYWRvdygpLT5ibHVyLCBzdHls
ZVRvVXNlLT50ZXh0U2hhZG93KCktPmNvbG9yKTsKKyAgICAgICAgc2V0U2hhZG93ID0gdHJ1ZTsK
KyAgICB9CisKKyAgICBib29sIHBhaW50U2VsZWN0ZWRUZXh0T25seSA9IChwYWludEluZm8ucGhh
c2UgPT0gUGFpbnRQaGFzZVNlbGVjdGlvbik7CisgICAgYm9vbCBwYWludFNlbGVjdGVkVGV4dFNl
cGFyYXRlbHkgPSBmYWxzZTsgLy8gV2hldGhlciBvciBub3Qgd2UgaGF2ZSB0byBkbyBtdWx0aXBs
ZSBwYWludHMuICBPbmx5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gbmVjZXNzYXJ5IHdoZW4gYSBjdXN0b20gOjpzZWxlY3Rpb24gZm9yZWdyb3VuZCBj
b2xvciBpcyBhcHBsaWVkLgorICAgIENvbG9yIHNlbGVjdGlvbkZpbGxDb2xvciA9IHRleHRGaWxs
Q29sb3I7CisgICAgQ29sb3Igc2VsZWN0aW9uU3Ryb2tlQ29sb3IgPSB0ZXh0U3Ryb2tlQ29sb3I7
CisgICAgZmxvYXQgc2VsZWN0aW9uU3Ryb2tlV2lkdGggPSB0ZXh0U3Ryb2tlV2lkdGg7CisgICAg
U2hhZG93RGF0YSogc2VsZWN0aW9uVGV4dFNoYWRvdyA9IDA7CisKKyAgICBpZiAoaGF2ZVNlbGVj
dGlvbikgeworICAgICAgICAvLyBDaGVjayBmb3JlZ3JvdW5kIGNvbG9yIGZpcnN0LgorICAgICAg
ICBDb2xvciBmb3JlZ3JvdW5kID0gb2JqZWN0KCktPnNlbGVjdGlvbkZvcmVncm91bmRDb2xvcigp
OworICAgICAgICBpZiAoZm9yZWdyb3VuZC5pc1ZhbGlkKCkgJiYgZm9yZWdyb3VuZCAhPSBzZWxl
Y3Rpb25GaWxsQ29sb3IpIHsKKyAgICAgICAgICAgIGlmICghcGFpbnRTZWxlY3RlZFRleHRPbmx5
KQorICAgICAgICAgICAgICAgIHBhaW50U2VsZWN0ZWRUZXh0U2VwYXJhdGVseSA9IHRydWU7Cisg
ICAgICAgICAgICBzZWxlY3Rpb25GaWxsQ29sb3IgPSBmb3JlZ3JvdW5kOworICAgICAgICB9Cisg
ICAgICAgIFJlbmRlclN0eWxlKiBwc2V1ZG9TdHlsZSA9IG9iamVjdCgpLT5nZXRQc2V1ZG9TdHls
ZShSZW5kZXJTdHlsZTo6U0VMRUNUSU9OKTsKKyAgICAgICAgaWYgKHBzZXVkb1N0eWxlKSB7Cisg
ICAgICAgICAgICBpZiAocHNldWRvU3R5bGUtPnRleHRTaGFkb3coKSkgeworICAgICAgICAgICAg
ICAgIGlmICghcGFpbnRTZWxlY3RlZFRleHRPbmx5KQorICAgICAgICAgICAgICAgICAgICBwYWlu
dFNlbGVjdGVkVGV4dFNlcGFyYXRlbHkgPSB0cnVlOworICAgICAgICAgICAgICAgIGlmIChwc2V1
ZG9TdHlsZS0+dGV4dFNoYWRvdygpKQorICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25UZXh0
U2hhZG93ID0gcHNldWRvU3R5bGUtPnRleHRTaGFkb3coKTsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgZmxvYXQgc3Ryb2tlV2lkdGggPSBwc2V1ZG9TdHlsZS0+dGV4dFN0cm9rZVdpZHRo
KCk7CisgICAgICAgICAgICBpZiAoc3Ryb2tlV2lkdGggIT0gc2VsZWN0aW9uU3Ryb2tlV2lkdGgp
IHsKKyAgICAgICAgICAgICAgICBpZiAoIXBhaW50U2VsZWN0ZWRUZXh0T25seSkKKyAgICAgICAg
ICAgICAgICAgICAgcGFpbnRTZWxlY3RlZFRleHRTZXBhcmF0ZWx5ID0gdHJ1ZTsKKyAgICAgICAg
ICAgICAgICBzZWxlY3Rpb25TdHJva2VXaWR0aCA9IHN0cm9rZVdpZHRoOworICAgICAgICAgICAg
fQorCisgICAgICAgICAgICBDb2xvciBzdHJva2UgPSBwc2V1ZG9TdHlsZS0+dGV4dFN0cm9rZUNv
bG9yKCk7CisgICAgICAgICAgICBpZiAoIXN0cm9rZS5pc1ZhbGlkKCkpCisgICAgICAgICAgICAg
ICAgc3Ryb2tlID0gcHNldWRvU3R5bGUtPmNvbG9yKCk7CisgICAgICAgICAgICBpZiAoc3Ryb2tl
ICE9IHNlbGVjdGlvblN0cm9rZUNvbG9yKSB7CisgICAgICAgICAgICAgICAgaWYgKCFwYWludFNl
bGVjdGVkVGV4dE9ubHkpCisgICAgICAgICAgICAgICAgICAgIHBhaW50U2VsZWN0ZWRUZXh0U2Vw
YXJhdGVseSA9IHRydWU7CisgICAgICAgICAgICAgICAgc2VsZWN0aW9uU3Ryb2tlQ29sb3IgPSBz
dHJva2U7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICBUZXh0U3R5bGUg
dGV4dFN0eWxlKDAsIHN2Z0NoYXIueCwgdGV4dEJveC0+bV90b0FkZCwgdGV4dEJveC0+bV9yZXZl
cnNlZCwgdGV4dEJveC0+bV9kaXJPdmVycmlkZSB8fCBzdHlsZVRvVXNlLT52aXN1YWxseU9yZGVy
ZWQoKSk7CisKKyAgICBBU1NFUlQoIXBhaW50U2VsZWN0ZWRUZXh0T25seSAmJiAhcGFpbnRTZWxl
Y3RlZFRleHRTZXBhcmF0ZWx5KTsKKyAgICBwYWludEluZm8uY29udGV4dC0+ZHJhd1RleHQoVGV4
dFJ1bihjaGFycywgbGVuZ3RoKSwgSW50UG9pbnQoc3ZnQ2hhci54LCBzdmdDaGFyLnkpLCB0ZXh0
U3R5bGUpOworCisgICAgLy8gUGFpbnQgZGVjb3JhdGlvbnMKKyAgICBpZiAoZCAhPSBURE5PTkUg
JiYgcGFpbnRJbmZvLnBoYXNlICE9IFBhaW50UGhhc2VTZWxlY3Rpb24pIHsKKyAgICAgICAgLy8g
SW5saW5lVGV4dEJveDo6cGFpbnQsIGNoZWNrcyBmb3IgaHRtbEhhY2tzKCkgYmVpbmcgZW5hYmxl
ZCAtIG9iZXkgdGhhdC4KKyAgICAgICAgLy8gSW5saW5lVGV4dEJveDo6cGFpbnQsIGRvZXNuJ3Qg
c2F2ZS9yZXN0b3JlIGNvbnRleHQgaGVyZSwgbmVlZGVkIGZvciB1cyEKKyAgICAgICAgcGFpbnRJ
bmZvLmNvbnRleHQtPnNhdmUoKTsKKyAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPnNldFN0cm9r
ZUNvbG9yKHN0eWxlVG9Vc2UtPmNvbG9yKCkpOworICAgICAgICB0ZXh0Qm94LT5wYWludERlY29y
YXRpb24ocGFpbnRJbmZvLmNvbnRleHQsIHR4LCB0eSwgZCk7CisgICAgICAgIHBhaW50SW5mby5j
b250ZXh0LT5yZXN0b3JlKCk7CisgICAgfQorCisgICAgaWYgKHBhaW50SW5mby5waGFzZSAhPSBQ
YWludFBoYXNlU2VsZWN0aW9uKSB7CisgICAgICAgIHRleHRCb3gtPnBhaW50RG9jdW1lbnRNYXJr
ZXJzKHBhaW50SW5mby5jb250ZXh0LCB0eCwgdHksIHN0eWxlVG9Vc2UsIGZvbnQsIGZhbHNlKTsK
KworICAgICAgICBmb3IgKHNpemVfdCBpbmRleCA9IDA7IGluZGV4IDwgbnVtVW5kZXJsaW5lczsg
KytpbmRleCkgeworICAgICAgICAgICAgY29uc3QgTWFya2VkVGV4dFVuZGVybGluZSYgdW5kZXJs
aW5lID0gKCp1bmRlcmxpbmVzKVtpbmRleF07CisKKyAgICAgICAgICAgIGlmICh1bmRlcmxpbmUu
ZW5kT2Zmc2V0IDw9IHRleHRCb3gtPnN0YXJ0KCkpCisgICAgICAgICAgICAgICAgLy8gdW5kZXJs
aW5lIGlzIGNvbXBsZXRlbHkgYmVmb3JlIHRoaXMgcnVuLiAgVGhpcyBtaWdodCBiZSBhbiB1bmRl
cmxpbmUgdGhhdCBzaXRzCisgICAgICAgICAgICAgICAgLy8gYmVmb3JlIHRoZSBmaXJzdCBydW4g
d2UgZHJhdywgb3IgdW5kZXJsaW5lcyB0aGF0IHdlcmUgd2l0aGluIHJ1bnMgd2Ugc2tpcHBlZCAK
KyAgICAgICAgICAgICAgICAvLyBkdWUgdG8gdHJ1bmNhdGlvbi4KKyAgICAgICAgICAgICAgICBj
b250aW51ZTsKKworICAgICAgICAgICAgaWYgKHVuZGVybGluZS5zdGFydE9mZnNldCA8PSB0ZXh0
Qm94LT5lbmQoKSkgeworICAgICAgICAgICAgICAgIC8vIHVuZGVybGluZSBpbnRlcnNlY3RzIHRo
aXMgcnVuLiAgUGFpbnQgaXQuCisgICAgICAgICAgICAgICAgdGV4dEJveC0+cGFpbnRNYXJrZWRU
ZXh0VW5kZXJsaW5lKHBhaW50SW5mby5jb250ZXh0LCB0eCwgdHksIHVuZGVybGluZSk7CisgICAg
ICAgICAgICAgICAgaWYgKHVuZGVybGluZS5lbmRPZmZzZXQgPiB0ZXh0Qm94LT5lbmQoKSArIDEp
CisgICAgICAgICAgICAgICAgICAgIC8vIHVuZGVybGluZSBhbHNvIHJ1bnMgaW50byB0aGUgbmV4
dCBydW4uIEJhaWwgbm93LCBubyBtb3JlIG1hcmtlciBhZHZhbmNlbWVudC4KKyAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICAvLyB1
bmRlcmxpbmUgaXMgY29tcGxldGVseSBhZnRlciB0aGlzIHJ1biwgYmFpbC4gIEEgbGF0ZXIgcnVu
IHdpbGwgcGFpbnQgaXQuCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9
CisKKyAgICBpZiAoc2V0U2hhZG93KQorICAgICAgICBwYWludEluZm8uY29udGV4dC0+Y2xlYXJT
aGFkb3coKTsKKworICAgIGlmICghc3ZnQ2hhci50cmFuc2Zvcm0uaXNJZGVudGl0eSgpKQorICAg
ICAgICBwYWludEluZm8uY29udGV4dC0+Y29uY2F0Q1RNKHN2Z0NoYXIudHJhbnNmb3JtLmludmVy
c2UoKSk7CisKKyAgICBpZiAodGV4dFN0cm9rZVdpZHRoID4gMCkKKyAgICAgICAgcGFpbnRJbmZv
LmNvbnRleHQtPnJlc3RvcmUoKTsKK30KKyNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKSW5kZXg6IHJlbmRlcmluZy9TVkdSb290SW5saW5lQm94LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcmVu
ZGVyaW5nL1NWR1Jvb3RJbmxpbmVCb3guaAkocmV2aXNpb24gMjE1MjIpCisrKyByZW5kZXJpbmcv
U1ZHUm9vdElubGluZUJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zLDYgKzMsNyBAQAogICoKICAq
IENvcHlyaWdodCAoQykgMjAwNiBPbGl2ZXIgSHVudCA8b2poMTZAc3R1ZGVudC5jYW50ZXJidXJ5
LmFjLm56PgogICogICAgICAgICAgIChDKSAyMDA2IEFwcGxlIENvbXB1dGVyIEluYy4KKyAqICAg
ICAgICAgICAoQykgMjAwNyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4K
ICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjUsMTEgKzI2LDEzIEBACiAjZGVmaW5lIFNWR1Jvb3RJ
bmxpbmVCb3hfaAogCiAjaWYgRU5BQkxFKFNWRykKLQogI2luY2x1ZGUgIlJvb3RJbmxpbmVCb3gu
aCIKKyNpbmNsdWRlICJTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvLmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAorY2xhc3MgSW5saW5lVGV4dEJveDsKKwogY2xhc3MgU1ZHUm9vdElubGluZUJveCA6
IHB1YmxpYyBSb290SW5saW5lQm94IHsKIHB1YmxpYzoKICAgICBTVkdSb290SW5saW5lQm94KFJl
bmRlck9iamVjdCogb2JqKQpAQCAtMzgsOCArNDEsMzcgQEAgcHVibGljOgogICAgIH0KIAogICAg
IHZpcnR1YWwgdm9pZCBwYWludChSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYsIGludCB0eCwgaW50
IHR5KTsKKwogICAgIHZpcnR1YWwgaW50IHBsYWNlQm94ZXNIb3Jpem9udGFsbHkoaW50IHgsIGlu
dCYgbGVmdFBvc2l0aW9uLCBpbnQmIHJpZ2h0UG9zaXRpb24sIGJvb2wmIG5lZWRzV29yZFNwYWNp
bmcpOwogICAgIHZpcnR1YWwgdm9pZCB2ZXJ0aWNhbGx5QWxpZ25Cb3hlcyhpbnQmIGhlaWdodE9m
QmxvY2spOworCisjaWYgRU5BQkxFKFNWR19FWFBFUklNRU5UQUxfRkVBVFVSRVMpCisgICAgdmly
dHVhbCB2b2lkIGNvbXB1dGVQZXJDaGFyYWN0ZXJMYXlvdXRJbmZvcm1hdGlvbigpOworCisgICAg
Ly8gVXNlZCBieSBTVkdJbmxpbmVUZXh0Qm94CisgICAgY29uc3QgVmVjdG9yPFNWR1RleHRDaHVu
az4mIHN2Z1RleHRDaHVua3MoKSBjb25zdDsKKyAgICBmbG9hdCBjdW1tdWxhdGVkV2lkdGhPZlNl
bGVjdGlvblJhbmdlKElubGluZVRleHRCb3gqLCBpbnQgc3RhcnRQb3MsIGludCBlbmRQb3MsIGlu
dCBsZW5ndGgsIGludCBib3hTdGFydE9mZnNldCA9IDApOworCitwcml2YXRlOgorICAgIHZvaWQg
bGF5b3V0SW5saW5lQm94ZXMoKTsKKyAgICB2b2lkIGxheW91dElubGluZUJveGVzKElubGluZUZs
b3dCb3gqIHN0YXJ0LCBWZWN0b3I8U1ZHQ2hhcj46Oml0ZXJhdG9yJiBpdCwgaW50JiBtaW5YLCBp
bnQmIG1heFgsIGludCYgbWluWSwgaW50JiBtYXhZKTsKKworICAgIHZvaWQgYnVpbGRMYXlvdXRJ
bmZvcm1hdGlvbihJbmxpbmVGbG93Qm94KiBzdGFydCwgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbyYp
OworICAgIHZvaWQgYnVpbGRMYXlvdXRJbmZvcm1hdGlvbkZvclRleHRCb3goU1ZHQ2hhcmFjdGVy
TGF5b3V0SW5mbyYsIElubGluZVRleHRCb3gqKTsKKworICAgIHZvaWQgYnVpbGRUZXh0Q2h1bmtz
KCk7CisgICAgdm9pZCBidWlsZFRleHRDaHVua3MoSW5saW5lRmxvd0JveCogc3RhcnQsIFNWR1Rl
eHRDaHVua0xheW91dEluZm8mKTsKKyAgICB2b2lkIGxheW91dFRleHRDaHVua3MoKTsKKworICAg
IHZvaWQgcGFpbnRTZWxlY3Rpb25Gb3JUZXh0Qm94KElubGluZVRleHRCb3gqLCBpbnQgYm94U3Rh
cnRPZmZzZXQsIFNWR0NoYXIqLCBjb25zdCBVQ2hhciosIGludCBsZW5ndGgsIEdyYXBoaWNzQ29u
dGV4dCosIGludCB0eCwgaW50IHR5LCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQqKTsKKworICAg
IHZvaWQgcGFpbnRJbmxpbmVCb3hlcyhSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYsIGludCB0eCwg
aW50IHR5LCBJbmxpbmVGbG93Qm94KiBzdGFydCwgVmVjdG9yPFNWR0NoYXI+OjppdGVyYXRvciYg
aXQpOworICAgIHZvaWQgcGFpbnRDaGFyYWN0ZXJSYW5nZUZvclRleHRCb3goUmVuZGVyT2JqZWN0
OjpQYWludEluZm8mIHBhaW50SW5mbywgaW50IHR4LCBpbnQgdHksIElubGluZVRleHRCb3gqLCBj
b25zdCBTVkdDaGFyJiwgY29uc3QgVUNoYXIqIGNoYXJzLCBpbnQgbGVuZ3RoKTsKKworcHJpdmF0
ZToKKyAgICBWZWN0b3I8U1ZHQ2hhcj4gbV9zdmdDaGFyczsKKyAgICBWZWN0b3I8U1ZHVGV4dENo
dW5rPiBtX3N2Z1RleHRDaHVua3M7CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKSW5kZXg6IHJlbmRlcmluZy9iaWRpLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSByZW5kZXJpbmcvYmlk
aS5jcHAJKHJldmlzaW9uIDIxNTIyKQorKysgcmVuZGVyaW5nL2JpZGkuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xNzQxLDEzICsxNzQxLDE4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dElubGlu
ZUNoaWxkcmVuKGIKICAgICAgICAgICAgICAgICAgICAgbGluZUJveCA9IGNvbnN0cnVjdExpbmUo
c3RhcnQsIGVuZCk7CiAgICAgICAgICAgICAgICAgICAgIGlmIChsaW5lQm94KSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBsaW5lQm94LT5zZXRFbmRzV2l0aEJyZWFrKHByZXZpb3VzTGluZUJy
b2tlQ2xlYW5seSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAKKwogICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gTm93IHdlIHBvc2l0aW9uIGFsbCBvZiBvdXIgdGV4dCBydW5zIGhvcml6b250
YWxseS4KICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXB1dGVIb3Jpem9udGFsUG9zaXRpb25z
Rm9yTGluZShsaW5lQm94LCBiaWRpKTsKLSAgICAgICAgCisKICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIE5vdyBwb3NpdGlvbiBvdXIgdGV4dCBydW5zIHZlcnRpY2FsbHkuCiAgICAgICAgICAg
ICAgICAgICAgICAgICBjb21wdXRlVmVydGljYWxQb3NpdGlvbnNGb3JMaW5lKGxpbmVCb3gpOwog
CisjaWYgRU5BQkxFKFNWRykgJiYgRU5BQkxFKFNWR19FWFBFUklNRU5UQUxfRkVBVFVSRVMpCisg
ICAgICAgICAgICAgICAgICAgICAgICAvLyBTcGVjaWFsIFNWRyB0ZXh0IGxheW91dCBjb2RlCisg
ICAgICAgICAgICAgICAgICAgICAgICBsaW5lQm94LT5jb21wdXRlUGVyQ2hhcmFjdGVyTGF5b3V0
SW5mb3JtYXRpb24oKTsKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oTUFDKQogICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gSGlnaGxpZ2h0IGFjdHMgYXMgYW4gb3ZlcmZsb3cgaW5mbGF0aW9uLgog
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0eWxlKCktPmhpZ2hsaWdodCgpICE9IG51bGxB
dG9tKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>14587</attachid>
            <date>2007-05-16 17:18:00 -0700</date>
            <delta_ts>2007-05-19 17:23:39 -0700</delta_ts>
            <desc>Layout test results (new directory: svg/batik)</desc>
            <filename>LayoutTestResults.diff</filename>
            <type>text/plain</type>
            <size>484771</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDIxNTIy
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTM0IEBACisyMDA3LTA1
LTE3ICBOaWtvbGFzIFppbW1lcm1hbm4gIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG5ldyB0ZXN0cyByZXN1
bHRzIGZyb20gdGhlIFNWRyBleHBlcmltZW50YWwgdGV4dCBlbmdpbmUuCisKKyAgICAgICAgKiBz
dmcvYmF0aWsvcmVzb3VyY2VzL2JhdGlrTG9nby5zdmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9i
YXRpay9yZXNvdXJjZXMvdGVzdC5jc3M6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0
L2xvbmdUZXh0T25QYXRoLWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBzdmcv
YmF0aWsvdGV4dC9sb25nVGV4dE9uUGF0aC1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAq
IHN2Zy9iYXRpay90ZXh0L2xvbmdUZXh0T25QYXRoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogc3ZnL2JhdGlrL3RleHQvbG9uZ1RleHRPblBhdGguc3ZnOiBBZGRlZC4KKyAgICAgICAg
KiBzdmcvYmF0aWsvdGV4dC9zbWFsbEZvbnRzLnN2Zy1kaXNhYmxlZDogQWRkZWQuCisgICAgICAg
ICogc3ZnL2JhdGlrL3RleHQvdGV4dEFuY2hvci1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisg
ICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dEFuY2hvci1leHBlY3RlZC5wbmc6IEFkZGVkLgor
ICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRBbmNob3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0QW5jaG9yLnN2ZzogQWRkZWQuCisgICAgICAg
ICogc3ZnL2JhdGlrL3RleHQvdGV4dEFuY2hvcjItZXhwZWN0ZWQuY2hlY2tzdW06IEFkZGVkLgor
ICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRBbmNob3IyLWV4cGVjdGVkLnBuZzogQWRkZWQu
CisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dEFuY2hvcjItZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0QW5jaG9yMi5zdmc6IEFkZGVkLgorICAg
ICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRBbmNob3IzLWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRl
ZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0QW5jaG9yMy1leHBlY3RlZC5wbmc6IEFk
ZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRBbmNob3IzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dEFuY2hvcjMuc3ZnOiBBZGRlZC4K
KyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0QmlEaS1leHBlY3RlZC5jaGVja3N1bTogQWRk
ZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dEJpRGktZXhwZWN0ZWQucG5nOiBBZGRl
ZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0QmlEaS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRCaURpLnN2ZzogQWRkZWQuCisgICAgICAg
ICogc3ZnL2JhdGlrL3RleHQvdGV4dERlY29yYXRpb24uc3ZnLWRpc2FibGVkOiBBZGRlZC4KKyAg
ICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0RGVjb3JhdGlvbjItZXhwZWN0ZWQuY2hlY2tzdW06
IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHREZWNvcmF0aW9uMi1leHBlY3Rl
ZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHREZWNvcmF0aW9uMi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHREZWNvcmF0
aW9uMi5zdmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRFZmZlY3QtZXhw
ZWN0ZWQuY2hlY2tzdW06IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRFZmZl
Y3QtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0RWZm
ZWN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dEVm
ZmVjdC5zdmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRFZmZlY3QyLWV4
cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0RWZm
ZWN0Mi1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRF
ZmZlY3QyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4
dEVmZmVjdDIuc3ZnOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0RWZmZWN0
My1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4
dEVmZmVjdDMtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90
ZXh0RWZmZWN0My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0
L3RleHRFZmZlY3QzLnN2ZzogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dEZl
YXR1cmVzLWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4
dC90ZXh0RmVhdHVyZXMtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsv
dGV4dC90ZXh0RmVhdHVyZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0
aWsvdGV4dC90ZXh0RmVhdHVyZXMuc3ZnOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4
dC90ZXh0R2x5cGhPcmllbnRhdGlvbkhvcml6b250YWwtZXhwZWN0ZWQuY2hlY2tzdW06IEFkZGVk
LgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRHbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRh
bC1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRHbHlw
aE9yaWVudGF0aW9uSG9yaXpvbnRhbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2
Zy9iYXRpay90ZXh0L3RleHRHbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbC5zdmc6IEFkZGVkLgor
ICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRMYXlvdXQtZXhwZWN0ZWQuY2hlY2tzdW06IEFk
ZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRMYXlvdXQtZXhwZWN0ZWQucG5nOiBB
ZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0TGF5b3V0LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dExheW91dC5zdmc6IEFkZGVkLgor
ICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRMYXlvdXQyLWV4cGVjdGVkLmNoZWNrc3VtOiBB
ZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0TGF5b3V0Mi1leHBlY3RlZC5wbmc6
IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRMYXlvdXQyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dExheW91dDIuc3ZnOiBBZGRl
ZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0TGVuZ3RoLWV4cGVjdGVkLmNoZWNrc3Vt
OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0TGVuZ3RoLWV4cGVjdGVkLnBu
ZzogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dExlbmd0aC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRMZW5ndGguc3ZnOiBBZGRl
ZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0T25QYXRoLWV4cGVjdGVkLmNoZWNrc3Vt
OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0T25QYXRoLWV4cGVjdGVkLnBu
ZzogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dE9uUGF0aC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRPblBhdGguc3ZnOiBBZGRl
ZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0T25QYXRoMi1leHBlY3RlZC5jaGVja3N1
bTogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dE9uUGF0aDItZXhwZWN0ZWQu
cG5nOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0T25QYXRoMi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRPblBhdGgyLnN2Zzog
QWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dE9uUGF0aDMtZXhwZWN0ZWQuY2hl
Y2tzdW06IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRPblBhdGgzLWV4cGVj
dGVkLnBuZzogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dE9uUGF0aDMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0T25QYXRoMy5z
dmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRPblBhdGhTcGFjZXMtZXhw
ZWN0ZWQuY2hlY2tzdW06IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRPblBh
dGhTcGFjZXMtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90
ZXh0T25QYXRoU3BhY2VzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlr
L3RleHQvdGV4dE9uUGF0aFNwYWNlcy5zdmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90
ZXh0L3RleHRQQ0RBVEEtZXhwZWN0ZWQuY2hlY2tzdW06IEFkZGVkLgorICAgICAgICAqIHN2Zy9i
YXRpay90ZXh0L3RleHRQQ0RBVEEtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBzdmcv
YmF0aWsvdGV4dC90ZXh0UENEQVRBLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3Zn
L2JhdGlrL3RleHQvdGV4dFBDREFUQS5zdmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90
ZXh0L3RleHRQb3NpdGlvbi1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAgICAgICogc3Zn
L2JhdGlrL3RleHQvdGV4dFBvc2l0aW9uLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICog
c3ZnL2JhdGlrL3RleHQvdGV4dFBvc2l0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogc3ZnL2JhdGlrL3RleHQvdGV4dFBvc2l0aW9uLnN2ZzogQWRkZWQuCisgICAgICAgICogc3Zn
L2JhdGlrL3RleHQvdGV4dFBvc2l0aW9uMi1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAg
ICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dFBvc2l0aW9uMi1leHBlY3RlZC5wbmc6IEFkZGVkLgor
ICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRQb3NpdGlvbjItZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0UG9zaXRpb24yLnN2ZzogQWRkZWQuCisg
ICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dFByb3BlcnRpZXMtZXhwZWN0ZWQuY2hlY2tzdW06
IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRQcm9wZXJ0aWVzLWV4cGVjdGVk
LnBuZzogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dFByb3BlcnRpZXMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0UHJvcGVydGll
cy5zdmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRQcm9wZXJ0aWVzMi1l
eHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dFBy
b3BlcnRpZXMyLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQv
dGV4dFByb3BlcnRpZXMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlr
L3RleHQvdGV4dFByb3BlcnRpZXMyLnN2ZzogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3Rl
eHQvdGV4dFN0eWxlcy1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAgICAgICogc3ZnL2Jh
dGlrL3RleHQvdGV4dFN0eWxlcy1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9i
YXRpay90ZXh0L3RleHRTdHlsZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcv
YmF0aWsvdGV4dC90ZXh0U3R5bGVzLnN2ZzogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3Rl
eHQvdmVydGljYWxUZXh0LWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBzdmcv
YmF0aWsvdGV4dC92ZXJ0aWNhbFRleHQtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBz
dmcvYmF0aWsvdGV4dC92ZXJ0aWNhbFRleHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBzdmcvYmF0aWsvdGV4dC92ZXJ0aWNhbFRleHQuc3ZnOiBBZGRlZC4KKyAgICAgICAgKiBzdmcv
YmF0aWsvdGV4dC92ZXJ0aWNhbFRleHRPblBhdGgtZXhwZWN0ZWQuY2hlY2tzdW06IEFkZGVkLgor
ICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3ZlcnRpY2FsVGV4dE9uUGF0aC1leHBlY3RlZC5wbmc6
IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3ZlcnRpY2FsVGV4dE9uUGF0aC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3ZlcnRpY2FsVGV4dE9u
UGF0aC5zdmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3htbFNwYWNlLWV4cGVj
dGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC94bWxTcGFjZS1l
eHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3htbFNwYWNlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQveG1sU3BhY2Uuc3Zn
OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL3RleHQtbGV0dGVyLXNwYWNpbmctZXhwZWN0
ZWQuY2hlY2tzdW06IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vdGV4dC1sZXR0ZXItc3Bh
Y2luZy1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vdGV4dC1sZXR0
ZXItc3BhY2luZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vdGV4
dC1sZXR0ZXItc3BhY2luZy5zdmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vdGV4dC14
LWR4LWxpc3RzLWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9t
L3RleHQteC1keC1saXN0cy1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0
b20vdGV4dC14LWR4LWxpc3RzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2N1
c3RvbS90ZXh0LXgtZHgtbGlzdHMuc3ZnOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL3Rl
eHQteC1vdmVycmlkZS1pbi10c3Bhbi1jaGlsZC1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisg
ICAgICAgICogc3ZnL2N1c3RvbS90ZXh0LXgtb3ZlcnJpZGUtaW4tdHNwYW4tY2hpbGQtZXhwZWN0
ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL3RleHQteC1vdmVycmlkZS1pbi10
c3Bhbi1jaGlsZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vdGV4
dC14LW92ZXJyaWRlLWluLXRzcGFuLWNoaWxkLnN2ZzogQWRkZWQuCisKIDIwMDctMDUtMTYgIGRl
dGhiYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSHlhdHQu
CkluZGV4OiBzdmcvYmF0aWsvcmVzb3VyY2VzL2JhdGlrTG9nby5zdmcKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
c3ZnL2JhdGlrL3Jlc291cmNlcy9iYXRpa0xvZ28uc3ZnCShyZXZpc2lvbiAwKQorKysgc3ZnL2Jh
dGlrL3Jlc291cmNlcy9iYXRpa0xvZ28uc3ZnCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE4NSBA
QAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PgorPCFET0NUWVBFIHN2ZyBQ
VUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjAvL0VOIgorImh0dHA6Ly93d3cudzMub3JnL1RSLzIw
MDEvUkVDLVNWRy0yMDAxMDkwNC9EVEQvc3ZnMTAuZHRkIj4KKworPCEtLQorCisgICBDb3B5cmln
aHQgMjAwMC0yMDAzICBUaGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gCisKKyAgIExpY2Vu
c2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIp
OworICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRo
IHRoZSBMaWNlbnNlLgorICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0
CisKKyAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKwor
ICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0
aW5nLCBzb2Z0d2FyZQorICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJp
YnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05E
SVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICAgU2VlIHRo
ZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25z
IGFuZAorICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKy0tPgorPCEtLSA9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09IC0tPgorPCEtLSBEZWZpbmVzIHRoZSBCYXRpayBMb2dvIHVzaW5nIGFuIFNWRyBm
b250LiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorPCEtLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC0tPgorPCEtLSBAYXV0aG9yIHZoYXJkeUBhcGFjaGUub3JnICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorPCEtLSBAYXV0aG9yIHRob21hcy5kZXdlZXNl
QGtvZGFrLmNvbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorPCEt
LSBAYXV0aG9yIGJlbGxhLnJvYmluc29uQGNtaXMuY3Npcm8uYXUgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC0tPgorPCEtLSBAdmVyc2lvbiAkSWQ6IGJhdGlrTG9nby5zdmcsdiAx
LjE0IDIwMDQvMDgvMTggMDc6MTE6MzYgdmhhcmR5IEV4cCAkICAgIC0tPgorPCEtLSA9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09IC0tPgorCis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1s
bnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGlkPSJib2R5IiB3aWR0aD0i
NDUwIiBoZWlnaHQ9IjUwMCIgdmlld0JveD0iMCAwIDQ1MCA1MDAiPgorICAgIDx0aXRsZT5CYXRp
ayBMb2dvPC90aXRsZT4KKyAgICA8ZyBpZD0iY29udGVudCI+CisgICAgICAgIDxkZWZzPgorICAg
ICAgICAgICAgPHN5bWJvbCBpZD0iQmF0aWtfU3F1aWdnbGUiIHN0cm9rZT0ibm9uZSIgdmlld0Jv
eD0iMCAwIDU0MCA1NzAiPgorICAgICAgICAgICAgICAgIDxwYXRoIGlkPSJCYXRpa19TcXVpZ2ds
ZV9CbHVlIiBmaWxsPSIjNjY2NkZGIgorICAgICAgICAgICAgICAgICBkPSJNMTcyLDQ0QzEzNyw2
MCwzMSwxMzUsMTEsMTk5Yy04LDI3LDIyLDQ4LDQ0LDMzCisgICAgICAgICAgICAgICAgICAgIEMx
NCwzMDYtMSwzMzIsMCwzNTZjMCwxNCwxMyw0Miw0NCwyN2M4LTQsMzUtMjUsNTItNDEKKyAgICAg
ICAgICAgICAgICAgICAgYzE0LTEsMjQtMTEsNDItMjhjMTcsMTQsMzYsMTAsNTItN2MyMiwyLDgy
LTc4LDQ0LTEwOAorICAgICAgICAgICAgICAgICAgICBjLTMtMjQtMzAtMzctNTMtMThjLTYtMi0x
My0xLTE4LDFjMjItMzUsNDMtODIsNDktMTA1CisgICAgICAgICAgICAgICAgICAgIEMyMTksNDcs
MTg4LDM2LDE3Miw0NHoiLz4KKyAgICAgICAgICAgICAgICA8cGF0aCBpZD0iQmF0aWtfU3F1aWdn
bGVfUmVkIiBmaWxsPSIjRkYwMDAwIgorICAgICAgICAgICAgICAgICBkPSJNNDAwLDBjLTE4LDMt
NDksMzEtNDksMzFjLTI5LDIzLTQzLDU4LTI4LDk1CisgICAgICAgICAgICAgICAgICAgIGMtMTMs
MTQtMjksNDQtMjksNjdjMCwyOCwyMCw1Miw1MCwyOWM3LDgsMjEsMTYsMzcsNQorICAgICAgICAg
ICAgICAgICAgICBjLTUsMjksMyw0OCwyNiw0OWMxLDEwLDEzLDMxLDM2LDE3YzE2LTEwLDU4LTM5
LDc5LTU2CisgICAgICAgICAgICAgICAgICAgIGMyNS0yMywyNS05NC0xOC04OWMzMy01OS0zLTk2
LTI3LTg0Yy0xMCw0LTQ2LDI1LTUyLDMwCisgICAgICAgICAgICAgICAgICAgIGMtMS03LTUtMTIt
MTEtMTRDNDM2LDQ1LDQzNi01LDQwMSwweiIvPgorICAgICAgICAgICAgICAgIDxwYXRoIGlkPSJC
YXRpa19TcXVpZ2dsZV9HcmVlbiIgZmlsbD0iIzMzQ0MzMyIKKyAgICAgICAgICAgICAgICAgZD0i
TTI3NSwzNTNjLTQ2LDEyLTg4LDQzLTExNCw5MWMtOSwxNiw2LDM3LDI1LDMzCisgICAgICAgICAg
ICAgICAgICAgIGMtMTQsMjQtNDAsNjctMTUsODFjMjgsMTYsNTItOCw2MC0xNWMxOCwyMSw1MCwx
MCw4MS0xNworICAgICAgICAgICAgICAgICAgICBjNDEsMTQsNjgtMiwxMDMtNTNjOC0xMiwzMC00
MywzMC02NWMwLTE2LTE1LTMwLTM1LTIxCisgICAgICAgICAgICAgICAgICAgIGMtMS0xMi05LTM4
LTUzLTE5Yy0xMC02LTMxLTUtNTQsMTcKKyAgICAgICAgICAgICAgICAgICAgQzMwOCwzNzUsMzAw
LDM0NywyNzUsMzUzeiIvPgorICAgICAgICAgICAgPC9zeW1ib2w+CisKKyAgICAgICAgICA8IS0t
ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorICAgICAgICAgIDwhLS0gQmF0aWsg
U1ZHIEZvbnQgRGVmaW5pdGlvbiAgICAgLS0+CisgICAgICAgICAgPCEtLSA9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PSAtLT4KKyAgICAgICAgICAKKyAgICAgICAgICA8Zm9udCBob3Jpei1h
ZHYteD0iMTUwIiBpZD0iQmF0aWsiPgorICAgICAgICAgICAgICA8Zm9udC1mYWNlCisgICAgICAg
ICAgICAgICAgICBmb250LWZhbWlseT0iQmF0aWsgU1ZHRm9udCIKKyAgICAgICAgICAgICAgICAg
IHVuaXRzLXBlci1lbT0iMjQwIgorICAgICAgICAgICAgICAgICAgYXNjZW50PSIxOTAiCisgICAg
ICAgICAgICAgICAgICBkZXNjZW50PSI1MCIKKyAgICAgICAgICAgICAgICAgIGFscGhhYmV0aWM9
IjAiLz4KKyAgICAgICAgICAKKyAgICAgICAgICAgICAgPG1pc3NpbmctZ2x5cGggaG9yaXotYWR2
LXg9IjE1MCIgZD0iTTIwIDAgVjI0MCBIMTAwIFYwIHoiLz4KKyAgICAgICAgICAKKyAgICAgICAg
ICAKKyAgICAgICAgICAgICAgPGdseXBoIHVuaWNvZGU9IiAiIGdseXBoLW5hbWU9IiAiIGhvcml6
LWFkdi14PSIxMDAiLz4KKyAgICAgICAgICAKKyAgICAgICAgICAgICAgPGdseXBoIGlkPSJCIiB1
bmljb2RlPSJCIiBnbHlwaC1uYW1lPSJCIiBob3Jpei1hZHYteD0iMTMwIj4gCisgICAgICAgICAg
ICAgICAgICA8ZyB0cmFuc2Zvcm09InNjYWxlKDEsLTEpdHJhbnNsYXRlKDAsLTE3MCkiPgorICAg
ICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMS4yNDQsMTQxLjk2M1Y0MC44MzFjMC02LjE4
OC0wLjU3LTEwLjc3My0xLjcwNy0xMy43NTRjLTEuMTM3LTIuOTc3LTMuMDY2LTUuNDYxLTUuNzkz
LTcuNDQ5Yy0xLjEzNy0wLjc2Ni0yLjM2Ny0xLjM5NS0zLjY5NS0xLjg5MXMtMy4wMTItMC45Mzgt
NS4wNTUtMS4zMmMtMi4xMjUtMC4zNzEtMy40ODgtMC43ODEtNC4wOTQtMS4yM3MtMC45MDYtMS4x
MjEtMC45MDYtMi4wMgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLTEuMTk1LDAu
MzItMi4wMzUsMC45NjktMi41MmMwLjY0NS0wLjQ4NCwxLjk1My0wLjczLDMuOTMtMC43M2MwLjc1
OCwwLDMuODE2LDAuMjExLDkuMTc2LDAuNjI1YzUuMzU1LDAuNDE4LDEwLjM4NywwLjYyNSwxNS4w
OTgsMC42MjVjMi45NjEsMCw3Ljg4My0wLjIwNywxNC43NTgtMC42MjVjNi44NzUtMC40MTQsMTIu
MzI0LTAuNjI1LDE2LjM1Mi0wLjYyNWMxNi43MTEsMCwyOS43NjIsMy40NjEsMzkuMTQ1LDEwLjM3
OQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMxNC4wNzQsMTYuNTc0LDE0LjA3NCwy
OC45NjVjMCw3LjE0OC0xLjc5MywxMy40MTgtNS4zNzUsMTguODE2Yy0zLjU4Niw1LjM5OC05LDku
OTk2LTE2LjI0MiwxMy43OTd2Mi4xOGMxMS41NzQsMi4wNTEsMjAuNDQ1LDYuNTQ3LDI2LjYxMywx
My40OTJzOS4yNTQsMTUuODc5LDkuMjU0LDI2LjgwNWMwLDE1LjQwNi01LjE4NCwyNy42NDUtMTUu
NTUxLDM2LjcxNXMtMjQuNDczLDEzLjYwMi00Mi4zMTYsMTMuNjAyCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYy02LjA3OCwwLTEzLjM2Ny0wLjI5My0yMS44NzEtMC44NzVjLTguNTA4
LTAuNTg2LTEzLjg5OC0wLjg3NS0xNi4xNzItMC44NzVjLTYuNzYyLDAtMTMuODYzLDAuMzQ4LTIx
LjMwMSwxLjA0M2MtMS44MjQsMC4xMzctMi45NjUsMC4yMDctMy40MTgsMC4yMDdjLTAuNjA5LDAt
MS4xOTktMC4zNDQtMS43Ny0xLjAyN3MtMC44NTItMS40MDYtMC44NTItMi4xNzJjMC0xLjU5OCwx
LjM1NS0yLjkzLDQuMDc0LTMuOTk2bDAuMTEzLTAuMDU1CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYzEuODA5LTAuODM2LDMuMjIzLTEuNTc0LDQuMjQyLTIuMjIzYzEuMDItMC42NDUs
MS45MDYtMS4zODcsMi42Ni0yLjIyM2MyLjAzOS0yLjA0NywzLjQ5Mi00LjUxNiw0LjM1OS03LjQw
MnMxLjMwMS03LjI1NCwxLjMwMS0xMy4xMDV6IE0zOS4yNDQsNzMuMjA5YzAsMy42NDgsMC40NTMs
NS45MywxLjM2Nyw2Ljg0YzAuOTE0LDAuOTE0LDIuODE2LDEuMzY3LDUuNzExLDEuMzY3aDE2LjU1
NQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMxMi4wMjMsMCwyMC43NTgtMi4wMzEs
MjYuMjAzLTYuMDk4YzUuNDQxLTQuMDY2LDguMTY0LTEwLjUwOCw4LjE2NC0xOS4zMjRjMC0xMC45
NDUtNC4xODgtMjAuMDI3LTEyLjU1OS0yNy4yNDZjLTguMzc1LTcuMjE5LTE4LjkxNC0xMC44MzIt
MzEuNjI1LTEwLjgzMmMtNS43MTEsMC05LjQ0MSwwLjg1NS0xMS4xOTEsMi41NjZzLTIuNjI1LDUu
MTQ4LTIuNjI1LDEwLjMxNnY0Mi40MXogTTM5LjI0NCwxNTAuNzM3CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYzAsNi41MzksMS43ODksMTAuOTUzLDUuMzcxLDEzLjI0MmMzLjU3OCwy
LjI5MywxMS4xNiwzLjQzOCwyMi43NDYsMy40MzhjMTQuMTcyLDAsMjQuODItMy4wMzEsMzEuOTQ1
LTkuMDk0czEwLjY4OC0xNS4xNTYsMTAuNjg4LTI3LjI4MWMwLTEzLjAzMS00LjIzNC0yMy4xODgt
MTIuNjk1LTMwLjQ2MXMtMjAuMzE2LTEwLjkxNC0zNS41NjMtMTAuOTE0SDQ3LjQ2M2MtMy41Nzgs
MC01Ljg0LDAuNDc3LTYuNzkzLDEuNDI2CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cy0xLjQyNiwzLjI4NS0xLjQyNiw3LjAwNHY1Mi42NDF6Ii8+CisgICAgICAgICAgICAgICAgICAg
ICA8IS0tIFB1dCB0aGUgU3F1aWdnbGUgaW4gdGhlIEIgLS0+CisgICAgICAgICAgICAgICAgICAg
ICA8dXNlIHhsaW5rOmhyZWY9IiNCYXRpa19TcXVpZ2dsZSIgd2lkdGg9IjU0IiBoZWlnaHQ9IjU3
IgorICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0NSwxMDMp
IiAvPgorICAgICAgICAgICAgICAgICAgIDwvZz4KKwkgICAgICAgICAgPC9nbHlwaD4KKyAgICAg
ICAgICAKKyAgICAgICAgICAgICAgPGdseXBoIGlkPSJhIiB1bmljb2RlPSJhIiBnbHlwaC1uYW1l
PSJhIiBob3Jpei1hZHYteD0iMTA1Ij4gCisgICAgICAgICAgICAgICAgICA8cGF0aCB0cmFuc2Zv
cm09InNjYWxlKDEsLTEpdHJhbnNsYXRlKC0xMjUsIC0xNzApIgorICAgICAgICAgICAgICAgICAg
ICBkPSJNMTk0LjgyNSwxNjEuOTUyYy01LjIzOCw0Ljc2Ni0xMC44OTEsOC4yODUtMTYuOTYxLDEw
LjU1OWMtNi4wNywyLjI3LTEyLjg2MywzLjQwNi0yMC4zNzUsMy40MDZjLTcuMzYzLDAtMTIuOTgt
MS45MjItMTYuODQ4LTUuNzYyYy0zLjg3MS0zLjg0NC01LjgwNS05LjQxNC01LjgwNS0xNi43MTlj
MC05LjM1OSw0LjI2Ni0xNi43NTgsMTIuODA1LTIyLjE5NQorICAgICAgICAgICAgICAgICAgICAg
IGM4LjUzNS01LjQzOCwyMy43NjYtMTAuMjE1LDQ1LjY5NS0xNC4zMjR2LTE1Ljc4OWMwLTcuMDkt
Mi4xNi0xMi41MjMtNi40NzctMTYuMjk3cy0xMC41MjMtNS42NjQtMTguNjI1LTUuNjY0Yy02Ljg5
MSwwLTExLjc1OCwwLjk5Mi0xNC41OTgsMi45NzdzLTQuMjU4LDUuMzM2LTQuMjU4LDEwLjA2M2Mw
LDEuOTg0LDAuMjgxLDQuMjcsMC44NTIsNi44NjNzMC44NTUsNC4xNTYsMC44NTUsNC42ODgKKyAg
ICAgICAgICAgICAgICAgICAgICBjMCwxLjA3LTAuNTE2LDEuOTQ1LTEuNTQ3LDIuNjMzcy0yLjM1
MiwxLjAyNy0zLjk1MywxLjAyN2MtMy4wNTUsMC01LjY1Mi0wLjgxNi03Ljc5My0yLjQ0OXMtMy4y
MDctMy42NjQtMy4yMDctNi4wOThjMC02LjYwNSwzLjY2NC0xMi42MjUsMTEtMTguMDU1YzcuMzMy
LTUuNDMsMTUuOTc3LTguMTQ4LDI1LjkzLTguMTQ4YzEzLjkwNiwwLDIzLjcyNywyLjYyMSwyOS40
NjUsNy44NTUKKyAgICAgICAgICAgICAgICAgICAgICBjNS43MzQsNS4yMzgsOC42MDUsMTQuNTM1
LDguNjA1LDI3Ljg5MXY0Mi44NDRjMCw2LjUxNiwwLjYyMSwxMC43MTUsMS44NjcsMTIuNTk0czMu
NjA5LDIuODE2LDcuMDg2LDIuODE2YzAuNjAyLDAsMS40MzQtMC4wMzUsMi40OTItMC4xMTNjMS4w
NTUtMC4wNzgsMS43NzMtMC4xMTcsMi4xNTItMC4xMTdjMC41MjcsMCwxLjAyLDAuMjQ2LDEuNDcz
LDAuNzNjMC40NTMsMC40ODgsMC42OCwxLjA3LDAuNjgsMS43NDIKKyAgICAgICAgICAgICAgICAg
ICAgICBjMCwxLjU3NC0xLjI3MywyLjg4Ny0zLjgxNiwzLjkzNHMtNS43ODUsMS41NzQtOS43Mywx
LjU3NGMtNC4xNzYsMC03LjY2OC0xLjAzOS0xMC40NzctMy4xMTdzLTQuOTczLTUuMTkxLTYuNDg4
LTkuMzQ4eiBNMTkzLjAzNywxMjIuMTY3Yy0xNi40MywzLjQzLTI3Ljc4OSw3LjI3My0zNC4wNzQs
MTEuNTM1Yy02LjI4NSw0LjI2Ni05LjQyNiw5Ljk3My05LjQyNiwxNy4xMjljMCw1LjU1OSwxLjUx
Miw5Ljg3OSw0LjU0MywxMi45NjEKKyAgICAgICAgICAgICAgICAgICAgICBjMy4wMjcsMy4wODYs
Ny4yNyw0LjYyNSwxMi43MjMsNC42MjVjNy40OTIsMCwxMy43MzgtMS45NDEsMTguNzM4LTUuODMy
YzQuOTk2LTMuODg3LDcuNDk2LTguODEzLDcuNDk2LTE0Ljc3N3YtMjUuNjQxeiIvPgorICAgICAg
ICAgICAgICA8L2dseXBoPgorICAgICAgICAgIAorICAgICAgICAgICAgICA8Z2x5cGggaWQ9InRp
IiB1bmljb2RlPSJ0aSIgZ2x5cGgtbmFtZT0idGkiIGhvcml6LWFkdi14PSIxMDAiPiAKKyAgICAg
ICAgICAgICAgICAgIDxnIHN0eWxlPSJmaWxsOiNGRjAwMDA7IiB0cmFuc2Zvcm09InNjYWxlKDEs
LTEpdHJhbnNsYXRlKC0yMTUsLTE3MCkiPgorICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9
Ik0zMTEuMjU5LDE2OC42OWMtMC42ODQtMC41MzEtMi4xOTktMC44NzEtNC41NTEtMS4wMjNjLTEu
NDQxLDAtMi43MTEtMC4xMTMtMy44MTMtMC4zNHMtMi4xMDUtMC41Ny0zLjAxMi0xLjAyN2MtMy4w
MzUtMS41OTQtNS4xMDItMy41ODYtNi4yMDMtNS45OGMtMS4xMDItMi4zOTEtMS42NDgtNi42MjUt
MS42NDgtMTIuNzAzdi0zNS41NDNjMC0xMS42ODgsMC4xODgtMjMuMjI3LDAuNTY2LTM0LjYxNwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjA3OC0yLjA0NywwLjExNy0zLjIyNyww
LjExNy0zLjUzMWMwLTEuNTk0LTAuMTkxLTIuNjE3LTAuNTctMy4wNzRjLTAuMzgzLTAuNDUzLTEu
MDY2LTAuNjg0LTIuMDU5LTAuNjg0Yy0xLjA2NiwwLTkuNDQsMy42ODEtMTEuNDUxLDQuMTk2cy02
LjY1NSwxLjgwNC0xMS4yMDksMS44MDRoLTIwLjI2NlY1NS4wNDVjMC0xLjE0OC0wLjExNy0xLjkx
OC0wLjM0NC0yLjMwMXMtMC42ODQtMC41NzgtMS4zNjMtMC41NzgKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjLTEuMjE5LDAtMy4wNTksMi4xNzItNS41MjcsNi41MTZzLTQuNzI3LDcu
NjE3LTYuNzc3LDkuODI0Yy0yLjg4NywzLjE5OS01Ljk4LDYuMjQ2LTkuMjg1LDkuMTQxcy00Ljk1
Myw0LjYwOS00Ljk1Myw1LjE0MWMwLDAuNjA5LDAuMzc1LDEuMjAzLDEuMTI5LDEuNzczczEuNDM0
LDAuODU1LDIuMDM1LDAuODU1aDguNTg2djU5Ljg0YzAsMTEuMjY2LDIuMDUxLDE5LjI3Myw2LjE2
LDI0LjAyNworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGM0LjEwNSw0Ljc1NCwxMC44
NzUsNy4xMzMsMjAuMzA1LDcuMTMzYzUuNzI0LDAsMTEuMDM4LTEuMDY2LDE1Ljk0OC0zLjE3YzQu
MjYtMC4zODEsOC42MzMtMC41OCwxMy4xMjYtMC41OGM0LjMyOCwwLDguOTU3LDAuMjExLDEzLjg5
NSwwLjYyNWM0LjkzNCwwLjQxNCw3LjY2OCwwLjYyNSw4LjE5OSwwLjYyNWMxLjE0MSwwLDIuMDkt
MC4yNjYsMi44NDgtMC43OTNjMC43NTgtMC41MzEsMS4xNDEtMS4xNzYsMS4xNDEtMS45MzQKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjMC0xLjEzNy0wLjM0NC0xLjk2OS0xLjAyMy0y
LjV6IE0yNTEuMzE3LDE2My4yODhjLTIuNzczLTIuOTIyLTQuMTU2LTcuMjI3LTQuMTU2LTEyLjkx
NHYtNjQuOTU3YzAsMCwxMi44MTIsMC41NDMsMTMuMjE1LDAuNTdjMS4xOTQsMC4wODEsMi45NjUs
MC4xODQsNS4xNjQsMC4xODRjMy44NjcsMCw2LjIzLDEuNjM3LDcuNjM3LDMuOTE0YzEuNDAyLDIu
MjgxLDIuMTA1LDcuMzY3LDIuMTA1LDE1LjI2NnY0Mi4wMzkKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjMCw0Ljc4MS0wLjI4NSw4LjI3My0wLjg0OCwxMC40NzdjLTAuNTY2LDIuMjAz
LTEuNTYzLDQuMjExLTIuOTkyLDYuMDMxYy0wLjc1OCwwLjgzNi0xLjk2MSwxLjg2My0zLjYxNywz
LjA3NGMtMC4yOTIsMC4xNjktMC41MzIsMC4zMTItMC43MzEsMC40MzRjLTEuMjI5LDAuMTcyLTIu
NDQ2LDAuMjYxLTMuNjUxLDAuMjYxYy01LjMxMywwLTkuMzU1LTEuNDU3LTEyLjEyNS00LjM3OXoi
Lz4KKyAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjg0LjA2Nyw0OC42NjdjMS45Njks
MCw0LjIwNy0xLjUzNSw2LjcxMS00LjYwNWMyLjUtMy4wNywzLjc1NC01LjU1NSwzLjc1NC03LjQ1
M2MwLTEuOTY5LTEuMzA5LTQuNDUzLTMuOTI2LTcuNDQ5Yy0yLjYxNy0yLjk5Mi00LjY0OC00LjQ5
Mi02LjA4Ni00LjQ5MmMtMS41OTQsMC0zLjY5NSwxLjU1NS02LjMxMyw0LjY2NHMtMy45MjYsNS43
NjYtMy45MjYsNy45NjFjMCwyLjM1MiwxLjEzNyw0LjgzNiwzLjQxLDcuNDUzczQuMzk4LDMuOTIy
LDYuMzc1LDMuOTIyeiIvPgorICAgICAgICAgICAgICAgICAgPC9nPgorICAgICAgICAgICAgICA8
L2dseXBoPgorICAgICAgICAgIAorICAgICAgICAgIAorICAgICAgICAgICAgICA8Z2x5cGggaWQ9
ImsiIHVuaWNvZGU9ImsiIGdseXBoLW5hbWU9ImsiIGhvcml6LWFkdi14PSIxMjAiPiAKKyAgICAg
ICAgICAgICAgICAgIDxwYXRoIHRyYW5zZm9ybT0ic2NhbGUoMSwtMSl0cmFuc2xhdGUoLTMxMCwg
LTE3MCkiCisgICAgICAgICAgICAgICAgICAgICBkPSJNMzMxLjUwNywxNDcuMzA3VjM1LjQxM2Mw
LTguMDc4LTAuNjgtMTMuMjE5LTIuMDMxLTE1LjQzcy0zLjkwNi0zLjMxNi03LjY2NC0zLjMxNmgt
MS44MDVjLTEuMzg3LDAtMi40NjUtMC4yNDItMy4yMy0wLjczNGMtMC43Ny0wLjQ5Mi0xLjE5MS0x
LjE4OC0xLjI3LTIuMDk0YzAtMS42NTYsMS45NzctMi45NDEsNS45My0zLjg0OGwwLjIzLTAuMDc0
CisgICAgICAgICAgICAgICAgICAgICAgYzEuODI0LTAuMzAxLDMuNTE2LTAuNjgsNS4wNzQtMS4x
MzNzMy4wOTgtMC45ODQsNC42MTctMS41OTRjMi42Ni0xLjA1OSw1LjU4Ni0yLjUzNSw4Ljc4MS00
LjQzYzMuMTkxLTEuODk1LDUuMjQ2LTIuODQ0LDYuMTYtMi44NDRjMC45ODQsMCwxLjc0NiwwLjM4
MywyLjI3NywxLjE0MXMwLjgwMSwxLjg1OSwwLjgwMSwzLjMwMWMwLDAuMzA1LTAuMDM5LDEuMDgy
LTAuMTEzLDIuMzMyCisgICAgICAgICAgICAgICAgICAgICAgYy0wLjA3OCwxLjI1NC0wLjExMywy
LjM3NS0wLjExMywzLjM1OWMtMC4zODMsNS4zOTEtMC42NjgsMTAuNjg0LTAuODU5LDE1Ljg4M3Mt
MC4yODUsMTAuNTMxLTAuMjg1LDE1Ljk5NnY4MC42NDFsMzMuMTQ4LTMwLjIwN2MxLjQzNC0xLjM2
NywyLjU2Ni0yLjcxNSwzLjM5OC00LjA0N2MwLjgzMi0xLjMyOCwxLjI1LTIuNTI3LDEuMjUtMy41
OTRjMC0xLjI4OS0xLjMyNC0yLjMxNi0zLjk2OS0zLjA3OAorICAgICAgICAgICAgICAgICAgICAg
IGMtMC4zMDUtMC4wNzQtMC41NjYtMC4xNDgtMC43OTMtMC4yMjdjLTEuODkxLTAuMzc1LTMuMjE1
LTAuODI4LTMuOTY5LTEuMzU5Yy0wLjc1OC0wLjUyNy0xLjEzMy0xLjI0Mi0xLjEzMy0yLjE0OGMw
LTAuNjgsMC40NTMtMS4yNjIsMS4zNTktMS43NTRzMi4wMDQtMC43MzgsMy4yODktMC43MzhjMC4z
MDEsMCwyLjMwNSwwLjIxMSw2LjAwOCwwLjYyNWMzLjcwMywwLjQxOCw3LjI5NywwLjYyNSwxMC43
NzMsMC42MjUKKyAgICAgICAgICAgICAgICAgICAgICBjMi44NzEsMCw2LjE0MS0wLjIwNyw5Ljgw
OS0wLjYyNWMzLjY2NC0wLjQxNCw1Ljg3NS0wLjYyNSw2LjYzMy0wLjYyNWMxLjQzOCwwLDIuNDk2
LDAuMjI3LDMuMTc2LDAuNjhzMS4wMiwxLjEzMywxLjAyLDIuMDM5YzAsMS43MzQtMS4yODUsMi44
MjgtMy44NTUsMy4yODFoLTAuMTEzYy0xLjEzMywwLjE1Mi0yLjI3LDAuMzc5LTMuNDAyLDAuNjg0
cy0yLjMwNSwwLjcyMy0zLjUxNiwxLjI1NAorICAgICAgICAgICAgICAgICAgICAgIGMtNy4zMzIs
Mi44OTEtMTMuNzU4LDcuMDctMTkuMjczLDEyLjU0M2MtMC42MDUsMC42ODQtMS4wNTksMS4xNDEt
MS4zNTksMS4zNjdsLTE5LjczLDE3Ljc4MWMxMC42NiwxNC45MTQsMTkuMjIzLDI2LjIxNSwyNS42
ODgsMzMuOTAyczExLjU5LDEyLjY3MiwxNS4zNzEsMTQuOTUzYzMuMDIzLDEuNzUsNi44NzksMi45
NjksMTEuNTY2LDMuNjUyYzAuMzc1LDAuMDc4LDAuNjQxLDAuMTEzLDAuNzkzLDAuMTEzCisgICAg
ICAgICAgICAgICAgICAgICAgYzIuMTkxLDAuMTUyLDMuNjA5LDAuNDM4LDQuMjU0LDAuODUyYzAu
NjQxLDAuNDE0LDEsMS4xMTMsMS4wNzgsMi4wOTRjMCwxLjEzMy0wLjUxMiwxLjkyMi0xLjUzNSwy
LjM3NXMtMy4wMTIsMC42OC01Ljk2NSwwLjY4aC0xOS4yNzdjLTUsMC0xNS4yMy0xMC4xMTMtMzAu
Njg0LTMwLjM0Yy01LjYwOS03LjM3NS0xMC4xMTctMTMuMjI3LTEzLjUyMy0xNy41NjNsLTYuNTE2
LDYuMTU2djE1LjYxNworICAgICAgICAgICAgICAgICAgICAgIGMwLDYuODUyLDAuNTMxLDExLjM0
NCwxLjYwMiwxMy40NzdjMS4wNjYsMi4xMzMsMy4wODYsMy44ODMsNi4wNTksNS4yNWMxLjIxOSww
LjUzNSwzLjEyMSwwLjk5Miw1LjcxNSwxLjM3MWMwLjA3OCwwLjAyMywwLjE1MiwwLjAzMSwwLjIz
LDAuMDMxYzIuMTMzLDAuMTUyLDMuNTIzLDAuNDkyLDQuMTcyLDEuMDIzczAuOTczLDEuMzYzLDAu
OTczLDIuNWMwLDAuODM2LTAuMzQ0LDEuNDk2LTEuMDI3LDEuOTg4CisgICAgICAgICAgICAgICAg
ICAgICAgcy0xLjU5NCwwLjczOC0yLjczNCwwLjczOGMtMC4zMDUsMC0yLjc1OC0wLjIxMS03LjM1
NS0wLjYyNWMtNC42MDItMC40MTQtOC45OTItMC42MjUtMTMuMTcyLTAuNjI1Yy02LjMwOSwwLTEy
LjMxMywwLjM3NS0xOC4wMTYsMS4xMjVjLTAuOTE0LDAuMDgyLTEuNDQ1LDAuMTI1LTEuNTk0LDAu
MTI1Yy0wLjgzNiwwLTEuNTIzLTAuMjUtMi4wNTUtMC43NDZzLTAuNzk3LTEuMDktMC43OTctMS43
NzcKKyAgICAgICAgICAgICAgICAgICAgICBjMC0wLjc2NiwwLjI2Mi0xLjQ3MywwLjc4OS0yLjEy
MWMwLjUyMy0wLjY0OCwxLjYxMy0xLjQzNCwzLjI3LTIuMzU1YzAuMzc1LTAuMjI3LDAuNzg5LTAu
NDkyLDEuMjQyLTAuNzk3YzEuMjczLTAuNzU4LDIuMjE1LTEuNDQ1LDIuODE2LTIuMDU1YzEuMjc3
LTEuMzY3LDIuMTYtMy4wNzQsMi42NDgtNS4xMjljMC40ODgtMi4wNTEsMC43MzQtNS45MjYsMC43
MzQtMTEuNjI5eiIvPgorICAgICAgICAgICAgICAgPC9nbHlwaD4KKworICAgICAgICAgICAgICAg
PGdseXBoIHVuaWNvZGU9IioiIGdseXBoLW5hbWU9IioiIGhvcml6LWFkdi14PSIxMjAiPgorICAg
ICAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0ic2NhbGUoMSwgLTEpIj4KKyAgICAgICAgICAgICAg
ICAgIDx1c2UgeGxpbms6aHJlZj0iI0JhdGlrX1NxdWlnZ2xlIiB3aWR0aD0iMTA4IiBoZWlnaHQ9
IjExNCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwt
MTMwKSIgLz4KKyAgICAgICAgICAgICAgICA8L2c+CisgICAgICAgICAgICAgICA8L2dseXBoPgor
ICAgICAgICAgIAorICAgICAgICAgICAgICAgPGhrZXJuIGcxPSJCIiAgZzI9ImEiICBrPSI1Ii8+
CisgICAgICAgICAgICAgICA8aGtlcm4gZzE9ImEiICBnMj0idCIgIGs9IjE0Ii8+CisgICAgICAg
ICAgICAgICA8aGtlcm4gZzE9ImEiICBnMj0idGkiIGs9IjE0Ii8+CisgICAgICAgICAgICAgICA8
aGtlcm4gZzE9ImkiICBnMj0iayIgIGs9IjYiLz4KKyAgICAgICAgICAgICAgIDxoa2VybiBnMT0i
dGkiIGcyPSJrIiAgaz0iNiIvPgorICAgICAgICAgIDwvZm9udD4KKworICAgICAgICAgIDxnIGlk
PSJCYXRpa19Mb2dvX1VuZGVybGluZSIgdHJhbnNmb3JtPSJzY2FsZSguNzUsLjc1KSIgPgorICAg
ICAgICAgICAgIDxwYXRoIGQ9Ik0zNy44ODYsNjBjLTAuMDE4LDAuMS0wLjM3NywxLjM3NS0wLjQz
OSwxLjQ5MmMtMC4xNSwwLjI4NS0xLjM4MiwyLjA0Ni0xLjU5OCwyLjI5MWMwLjIwNi0wLjIzMyww
LjQyOC0wLjQ1MiwwLjY1LTAuNjdjLTYuODUxLDYuNzUxLTAuMjYyLDAuNzEzLDAuODkzLTAuNDk5
YzEuODkzLTEuOTg2LTIuMTI0LDEuNzEyLDAuMTEyLTAuMDgKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGMwLjYwNC0wLjQ4NCwxLjI0Mi0wLjkyNSwxLjg4Ni0xLjM1NWMtMi41NzQsMS43
MTksMC40NTgtMC4yMjgsMS40MTctMC44NjhjLTIuNjM0LDEuNzYxLTEuMjMxLDAuNzg4LTAuNjA1
LDAuNDIzYzEuNzk5LTEuMDQ5LDMuNjg2LTEuOTQ2LDUuNTkxLTIuNzgzYzAuOTc4LTAuNDMsMS45
Ny0wLjgyOCwyLjk2NC0xLjIxN2MxLjg0NC0wLjcyMy0xLjkxOCwwLjY4My0wLjAwMywwLjAxMgor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYzAuNzA2LTAuMjY0LDEuNDEyLTAuNTI4LDIu
MTE3LTAuNzkyYy0xLjIyNCwwLjQ1Ni0xLjM4OCwwLjUyMS0wLjQ5MSwwLjE5NWMyLjUzMS0wLjkw
OCw1LjEwMi0xLjcwOCw3LjY4My0yLjQ2MWM1LjczLTEuNjcyLDExLjU1Ni0zLjAxMywxNy40MDEt
NC4yMTZjMzAuNjg5LTYuMzE1LDYxLjU1NS04Ljc2NSw5Mi43MjMtMTAuNDY3YzM1LjIyNS0xLjky
NCw3MC41NTktMi4zMTMsMTA1LjgxOS0xLjI3OAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYzI3LjM3NSwwLjgwMyw1NS4xMzcsMi4wMjksODIuMTU0LDYuODEzYzEuODU0LDAuMzI4LDMu
NzAyLDAuNjksNS41NDUsMS4wNzljLTIuMTgyLTAuNDU5LDAuNjMyLDAuMTQ5LDEuMTAyLDAuMjZj
MC43ODUsMC4xODUsMS41NjYsMC4zODMsMi4zNDcsMC41ODVjMi43MTQsMC43MDUsNS40MDcsMS41
MzcsNy45ODcsMi42NDJjMC42NzYtNC45OCwxLjM1MS05Ljk1OSwyLjAyNi0xNC45MzkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGMtMjkuMDAxLDIwLjQyOC03MC4xODQsMTguNzgzLTEw
NC40ODQsMjAuODgxYy0zNy44NSwyLjMxNC03OC40MjIsNy4zNDEtMTA1LjM3MSwzNy4wMjRjLTMu
MTQyLDMuNDYtNS42OTMsMTAuMzUtMC4yMSwxMi45OThjOC4wMTgsMy44NzMsMTYuNjgzLDUuMTM3
LDI1LjI2Niw3LjE2NmM3LjE0OSwxLjY5LDEzLjM2Miw0LjM4MSwxNi45MzQsMTEuMTIxYzQuOTM0
LDkuMzExLDIuNzUsMTguNTE5LTAuMTc1LDI4LjAwMworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYy0zLjIxNywxMC40MjgtNS41MDgsMjAuODg2LTAuNjkyLDMxLjIxOWM0LjIxOSw5LjA1
LDE5LjQ0MS0zLjY0MSwxNS44MjMtMTEuNjExYy00LjIzNC05LjMyNiwxLjQwNy0xOS44MjgsMy42
NTMtMjguOTk3YzIuNjY3LTEwLjg4OCwxLjkwOC0yMi40MDEtMy44NzItMzIuMjI0Yy05Ljc2LTE2
LjU4OC0zMS4wNjYtMTMuODQ4LTQ2LjQ0OS0yMS4yNzFjLTAuMDcsNC4zMzMtMC4xNCw4LjY2Ni0w
LjIxLDEyLjk5OAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYzEwLjUzNy0xMS43MTks
MjUuMDE3LTE4LjY2OCw0MC45NzQtMjIuNzE0YzE4LjE1OS00LjYwNCwzNy4wMzQtNS43MTksNTUu
NjY2LTYuNzQ3YzM3LjE0Ni0yLjA0OSw3Ny44MjItMi40MDUsMTA5LjUwNi0yNC42MzRjNC4xMzYt
Mi45MDIsOC43NzEtMTIuMDQ4LDIuMDI2LTE0LjkzOWMtNy44NjgtMy4zNzMtMTYuNjg3LTQuNzgx
LTI1LjA4My02LjEzMmMtMTIuNDQ3LTIuMDA0LTI1LjAzMi0zLjE1Ni0zNy42LTQuMDc1CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjLTMzLjIxNS0yLjQyNy02Ni41OTktMi44MzktOTku
ODg3LTIuMjQ3Yy0zNC44NzIsMC42MjEtNjkuNzkxLDIuNDk2LTEwNC40MzIsNi42MzdjLTI0LjMx
NywyLjkwNy01MC45NzIsNi4xMTItNzMuMTg3LDE3LjE3MWMtNC45NTEsMi40NjUtOS41MDUsNS41
ODctMTMuMzA5LDkuNjIzYy0xLjAyNywxLjA4OS0yLjE5LDIuNDY0LTIuOTg2LDMuNjQzYzAuMTM3
LTAuMjAzLTMuNDE5LDYuNjM5LTEuNTE4LDMuMTY1CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjLTAuMjA1LDAuMzc0LTAuMzgsMC43NjItMC41NDksMS4xNTFjLTEuMTI2LDIuNTktMi4w
NTYsNS4zMjItMi4xOTYsOC4xNjhjLTAuMjIyLDQuNDg0LDQuNDgsMy4wOTEsNi45MTcsMS41NTFj
My44NTYtMi40MzcsNy4zNDUtNi41MTYsOC4xNjctMTEuMDkzeiIvPgorICAgICAgICAgIDwvZz4g
PCEtLSBFbmQgQmF0aWtfTG9nb19VbmRlcmxpbmUgLS0+CisKKyAgICAgICAgICA8ZmlsdGVyIGlk
PSJkcm9wU2hhZG93IiAgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiAKKyAgICAgICAg
ICAgICAgICAgIGZpbHRlclJlcz0iMjAwIiB3aWR0aD0iMS40IiBoZWlnaHQ9IjEuNCI+CisgICAg
ICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBpbj0iU291cmNlQWxwaGEiIHN0ZERldmlhdGlvbj0i
NCIgLz4gCisgICAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iOCIgZHk9IjgiIC8+CisgICAgICAg
ICAgICAgIDxmZUNvbXBvbmVudFRyYW5zZmVyIHJlc3VsdD0ic2hhZG93Ij4KKyAgICAgICAgICAg
ICAgICAgPGZlRnVuY0EgdHlwZT0ibGluZWFyIiBzbG9wZT0iLjUiIGludGVyY2VwdD0iMCIgLz4K
KyAgICAgICAgICAgICAgPC9mZUNvbXBvbmVudFRyYW5zZmVyPgorICAgICAgICAgICAgICA8ZmVD
b21wb3NpdGUgaW4yPSJzaGFkb3ciIGluPSJTb3VyY2VHcmFwaGljIi8+CisgICAgICAgICAgPC9m
aWx0ZXI+CisgICAgICAgICAgCisgICAgICAgICAgPGcgaWQ9IkJhdGlrX0xvZ29fU2hhZG93IiBm
aWx0ZXI9InVybCgjZHJvcFNoYWRvdykiPgorICAgICAgICAgICAgICA8ZyBpZD0iQmF0aWtfTG9n
byI+CisgICAgICAgICAgICAgICAgIDx0ZXh0IGlkPSJ0ZXh0IiB4PSIwIiB5PSIwIiBmb250LWZh
bWlseT0iQmF0aWsgU1ZHRm9udCIgCisgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZT0i
MTgwIj5CYXRpazwvdGV4dD4KKyAgICAgICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjQmF0
aWtfTG9nb19VbmRlcmxpbmUiLz4KKyAgICAgICAgICAgICAgPC9nPiA8IS0tIEVuZCBCYXRpa19M
b2dvIC0tPgorICAgICAgICAgIDwvZz4gPCEtLSBFbmQgQmF0aWtfTG9nb19TaGFkb3cgLS0+Cisg
ICAgICAgICAgCisgICAgICAgICAgPGcgaWQ9IkJhdGlrX1RhZ19Cb3giID4KKyAgICAgICAgICAg
ICAgPHJlY3QgeD0iMSIgeT0iMSIgd2lkdGg9IjQ0NiIgaGVpZ2h0PSI0OTYiIAorICAgICAgICAg
ICAgICAgICAgICBzdHlsZT0iZmlsbDpub25lOyBzdHJva2U6YmxhY2siIC8+CisgICAgICAgICAg
ICAgIDx1c2UgeGxpbms6aHJlZj0iI0JhdGlrX1NxdWlnZ2xlIiB3aWR0aD0iMjciIGhlaWdodD0i
MjgiCisgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDE4LDQ2NykiIC8+
CisgICAgICAgICAgPC9nPiA8IS0tIEVuZCBCYXRpa19UYWdfQm94IC0tPgorICAgICAgICA8L2Rl
ZnM+CisKKyAgICAgICAgPHVzZSB4PSI2NSIgeT0iMjMzIiB4bGluazpocmVmPSIjQmF0aWtfTG9n
b19TaGFkb3ciIC8+CisgICAgPC9nPgorCisgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorICAgIDwhLS0gQmF0
aWsgc2FtcGxlIG1hcmsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAtLT4KKyAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0gLS0+CisgICAgPHVzZSB4bGluazpocmVmPSIjQmF0aWtfVGFn
X0JveCIgLz4gCis8L3N2Zz4KClByb3BlcnR5IGNoYW5nZXMgb246IHN2Zy9iYXRpay9yZXNvdXJj
ZXMvYmF0aWtMb2dvLnN2ZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjpleGVjdXRhYmxlCiAgICsgKgoK
SW5kZXg6IHN2Zy9iYXRpay9yZXNvdXJjZXMvdGVzdC5jc3MKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3ZnL2Jh
dGlrL3Jlc291cmNlcy90ZXN0LmNzcwkocmV2aXNpb24gMCkKKysrIHN2Zy9iYXRpay9yZXNvdXJj
ZXMvdGVzdC5jc3MJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTEgQEAKKworLnRpdGxlIHsKKyAg
Zm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2E7IAorICBmb250LXNpemU6IDE2OworICB0ZXh0
LWFuY2hvcjogbWlkZGxlOworfQorLmxlZ2VuZCB7CisgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVs
dmV0aWNhOyAKKyAgZm9udC1zaXplOiAxMDsKKyAgdGV4dC1hbmNob3I6IG1pZGRsZTsKK30KClBy
b3BlcnR5IGNoYW5nZXMgb246IHN2Zy9iYXRpay9yZXNvdXJjZXMvdGVzdC5jc3MKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpOYW1lOiBzdm46ZXhlY3V0YWJsZQogICArICoKCkluZGV4OiBzdmcvYmF0aWsvdGV4dC9sb25n
VGV4dE9uUGF0aC1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzdmcvYmF0aWsvdGV4
dC9sb25nVGV4dE9uUGF0aC1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKKysrIHN2Zy9i
YXRpay90ZXh0L2xvbmdUZXh0T25QYXRoLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxIEBACitjZWU2Yzk3MjVlOGE1N2VmYTJjODUwZDQ2MmY3NDUwZQpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IHN2Zy9iYXRpay90ZXh0L2xvbmdUZXh0T25QYXRoLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzdmcvYmF0aWsvdGV4dC9sb25nVGV4dE9uUGF0aC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBzdmcvYmF0aWsvdGV4dC9sb25nVGV4dE9uUGF0
aC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjIgQEAKK2xheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorICAg
IFJlbmRlclNWR0NvbnRhaW5lciB7c3ZnfSBhdCAoMjAsMjYpIHNpemUgNDA3eDQ0OQorICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjAsMjYpIHNpemUgNDA3eDQ0OQorICAgICAgICBS
ZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjI1LDQwKSBzaXplIDgwMHgwCisgICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgtMTI3LC0xNCkgc2l6ZSAyNTR4MTcKKyAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgtMTI3LC0xNCkgd2lkdGggMjU0OiAiTG9uZyB0ZXh0IG9uIGEg
cGF0aCB0ZXN0IGZvciBzZWxlY3Rpb24iCisgICAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5l
ciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBh
dCAoMjUsMTQ5LjUwKSBzaXplIDQwMHgyODEgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0j
MDAwMEZGXX1dIFtkYXRhPSJNMjUuMDAsMTUwLjAwTDQyNS4wMCwxNTAuMDBNMjUuMDAsMTcwLjAw
TDQyNS4wMCwxNzAuMDBNMjUuMDAsMTkwLjAwTDQyNS4wMCwxOTAuMDBNMjUuMDAsMjEwLjAwTDQy
NS4wMCwyMTAuMDBNMjUuMDAsMjMwLjAwTDQyNS4wMCwyMzAuMDBNMjUuMDAsMjUwLjAwTDQyNS4w
MCwyNTAuMDBNMjUuMDAsMjcwLjAwTDQyNS4wMCwyNzAuMDBNMjUuMDAsMjkwLjAwTDQyNS4wMCwy
OTAuMDBNMjUuMDAsMzEwLjAwTDQyNS4wMCwzMTAuMDBNMjUuMDAsMzMwLjAwTDQyNS4wMCwzMzAu
MDBNMjUuMDAsMzUwLjAwTDQyNS4wMCwzNTAuMDBNMjUuMDAsMzcwLjAwTDQyNS4wMCwzNzAuMDBN
MjUuMDAsMzkwLjAwTDQyNS4wMCwzOTAuMDBNMjUuMDAsNDEwLjAwTDQyNS4wMCw0MTAuMDBNMjUu
MDAsNDMwLjAwTDQyNS4wMCw0MzAuMDBNMjUuMDAsNDUwLjAwIl0KKyAgICAgICAgUmVuZGVyU1ZH
Q29udGFpbmVyIHt1c2V9IGF0ICgyNSwxNDkuNTApIHNpemUgNDAweDI4MQorICAgICAgICAgIFJl
bmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDI1LDE0OS41MCkgc2l6ZSA0MDB4MjgxCisgICAgICAg
ICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMjUsMTQ5LjUwKSBzaXplIDQwMHgyODEgW3N0cm9r
ZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMEZGXX1dIFtkYXRhPSJNMjUuMDAsMTUwLjAwTDQy
NS4wMCwxNTAuMDBNMjUuMDAsMTcwLjAwTDQyNS4wMCwxNzAuMDBNMjUuMDAsMTkwLjAwTDQyNS4w
MCwxOTAuMDBNMjUuMDAsMjEwLjAwTDQyNS4wMCwyMTAuMDBNMjUuMDAsMjMwLjAwTDQyNS4wMCwy
MzAuMDBNMjUuMDAsMjUwLjAwTDQyNS4wMCwyNTAuMDBNMjUuMDAsMjcwLjAwTDQyNS4wMCwyNzAu
MDBNMjUuMDAsMjkwLjAwTDQyNS4wMCwyOTAuMDBNMjUuMDAsMzEwLjAwTDQyNS4wMCwzMTAuMDBN
MjUuMDAsMzMwLjAwTDQyNS4wMCwzMzAuMDBNMjUuMDAsMzUwLjAwTDQyNS4wMCwzNTAuMDBNMjUu
MDAsMzcwLjAwTDQyNS4wMCwzNzAuMDBNMjUuMDAsMzkwLjAwTDQyNS4wMCwzOTAuMDBNMjUuMDAs
NDEwLjAwTDQyNS4wMCw0MTAuMDBNMjUuMDAsNDMwLjAwTDQyNS4wMCw0MzAuMDBNMjUuMDAsNDUw
LjAwIl0KKyAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDIwLDEwMCkgc2l6ZSAyMDV4Mzc1
IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNDOEM4RkZdfV0gW2RhdGE9Ik0yMC4wMCwxMDAu
MDBMMjI1LjAwLDEwMC4wMEwyMjUuMDAsNDc1LjAwTDIwLjAwLDQ3NS4wMCJdCisgICAgICAgIFJl
bmRlclNWR1RleHQge3RleHR9IGF0ICgwLDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJT
VkdUZXh0UGF0aCB7dGV4dFBhdGh9IGF0ICgwLDApIHNpemUgNDA2eDI2MworICAgICAgICAgICAg
UmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgyMSwxMzIpIHNpemUgNDA2eDI2MworICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjEsMTMyKSB3aWR0aCA0MDY6ICJUaGlzIGlzIGFuIGV4
YW1wbGUgb2YgYSB2ZXJ5IGxvbmcgc3RyaW5nIHRoYXQgaXMgc3BsaXQgYWNyb3NzIG11bHRpcGxl
IGxpbmVzIHZpYSB0aGUgdGV4dFBhdGggdGFnLiBUaGUgcHVycG9zZSBvZiB0aGlzIHRlc3QgaXMg
dG8gZW5zdXJlIHRoYXQgdGV4dC1zZWxlY3Rpb24gY2FuIGtlZXAgdXAgZXZlbiB3aGVuIHJlbGF0
aXZlbHkgbGFyZ2UgbnVtYmVycyBvZiBjaGFyYWN0ZXJzIGFyZSBwYXJ0IG9mIHRoZSBzZWxlY3Rp
b24uIFNpbmNlIEkgaGF2ZW4ndCByZWFjaGVkIHRoZSBlbmQgeWV0LCBsZXQgbWUga2VlcCBnb2lu
ZyB3aXRoIG1vcmUgcmVhbGx5IHF1aXRlIHVzZWxlc3MgdGV4dCBqdXN0IHRvIHNlZSBpZiB3ZSBo
aXQgYSBsaW1pdCB3aGVyZSBpdCByZWFsbHkgc3RhcnRzIHRvIHNsb3cgdGhpbmdzIGRvd24uICIK
KyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI3LDI5Mikgd2lkdGggMzk1OiAiSG93ZXZlciBp
ZiBpdCBoYXNuJ3Qgc2xvd2VkIGRvd24gYnkgbm93IEknbSBndWVzc2luZyB0aGF0IGl0IHdvbid0
IHNsb3cgZG93biBhdCBhbGwuICIKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDIyLDMxMikg
d2lkdGggMzk5OiAiQnV0IHlvdSBuZXZlciBrbm93IGZvciBzdXJlIHVudGlsIHlvdSB0cnkgaXQs
IHNvIEkgYW0sIGFuZCBoZXJlIGlzIHRoZSByZXN1bHQuICIKKyAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDI1LDM1Mikgd2lkdGggMzk2OiAiU2VsZWN0aW9uIGRvZXMgYm9nIGRvd24gYSBsaXR0
bGUgbmVhciB0aGUgZW5kIGJ1dCBpdCdzIHJlZHJhdyByZWxhdGVkLiIKKyAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlclNW
R0NvbnRhaW5lciB7dXNlfSBhdCAoMCwwKSBzaXplIDB4MApJbmRleDogc3ZnL2JhdGlrL3RleHQv
bG9uZ1RleHRPblBhdGguc3ZnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN2Zy9iYXRpay90ZXh0L2xvbmdUZXh0
T25QYXRoLnN2ZwkocmV2aXNpb24gMCkKKysrIHN2Zy9iYXRpay90ZXh0L2xvbmdUZXh0T25QYXRo
LnN2ZwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1NSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBz
dGFuZGFsb25lPSJubyI/PgorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAx
LjAvL0VOIgorImh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLVNWRy0yMDAxMDkwNC9EVEQv
c3ZnMTAuZHRkIj4KKworPCEtLQorCisgICBDb3B5cmlnaHQgMjAwMSAgVGhlIEFwYWNoZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uIAorCisgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2Us
IFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZp
bGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAgIFlvdSBtYXkgb2J0
YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgICAgaHR0cDovL3d3dy5hcGFjaGUu
b3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNh
YmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAgIGRpc3RyaWJ1dGVk
IHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisg
ICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4
cHJlc3Mgb3IgaW1wbGllZC4KKyAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxh
bmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAgIGxpbWl0YXRpb25zIHVuZGVyIHRo
ZSBMaWNlbnNlLgorCistLT4KKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKzwhLS0gVGVzdHMgdmFy
aW91cyB0ZXh0IG9uIGEgcGF0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAtLT4KKzwhLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKzwhLS0gQGF1dGhvciBiZWxsYS5yb2Jp
bnNvbkBjbWlzLmNzaXJvLmF1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4K
KzwhLS0gQHZlcnNpb24gJElkOiBsb25nVGV4dE9uUGF0aC5zdmcsdiAxLjQgMjAwNC8wOC8xOCAw
NzoxMjoyMSB2aGFyZHkgRXhwICQgICAtLT4KKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKzw/eG1s
LXN0eWxlc2hlZXQgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3Jlc291cmNlcy90ZXN0LmNzcyIg
Pz4gIAorCis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxp
bms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGlkPSJib2R5IiB3aWR0aD0iNDUwIiBo
ZWlnaHQ9IjUwMCIgdmlld0JveD0iMCAwIDQ1MCA1MDAiPgorPHRpdGxlPkxvbmcgdGV4dCBvbiBh
IHBhdGggdGVzdCBmb3Igc2VsZWN0aW9uPC90aXRsZT4KKworICAgIDxnIGlkPSJjb250ZW50Ij4K
KworICAgICAgICA8dGV4dCBjbGFzcz0idGl0bGUiIHg9IjUwJSIgeT0iNDAiPkxvbmcgdGV4dCBv
biBhIHBhdGggdGVzdCBmb3Igc2VsZWN0aW9uPC90ZXh0PgorCisgICAgICAgIDxkZWZzPgorCSAg
ICAgIDxwYXRoIGlkPSJQYXRoIiBzdHlsZT0iZmlsbDpub25lOyBzdHJva2U6Ymx1ZTsiIAorICAg
ICAgICAgICAgICAgICAgICBkPSJNIDI1IDE1MCBoIDQwMCBtIC00MDAgMjAgaCA0MDAgbSAtNDAw
IDIwIGggNDAwIG0gLTQwMCAyMCBoIDQwMCBtIC00MDAgMjAgaCA0MDAgbSAtNDAwIDIwIGggNDAw
IG0gLTQwMCAyMCBoIDQwMCBtIC00MDAgMjAgaCA0MDAgbSAtNDAwIDIwIGggNDAwIG0gLTQwMCAy
MCBoIDQwMCBtIC00MDAgMjAgaCA0MDAgbSAtNDAwIDIwIGggNDAwIG0gLTQwMCAyMCBoIDQwMCBt
IC00MDAgMjAgaCA0MDAgbSAtNDAwIDIwIGggNDAwIG0gLTQwMCAyMCIvPgorCisgICAgICAgIDwv
ZGVmcz4KKworICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNQYXRoIiBmaWxsPSJub25lIiBzdHJv
a2U9ImJsdWUiIC8+CisgICAgICAgIDxyZWN0IHg9IjIwIiB5PSIxMDAiIHdpZHRoPSIyMDUiIGhl
aWdodD0iMzc1IiBmaWxsPSJyZ2IoMjAwLDIwMCwyNTUpIi8+CisJPHRleHQgZm9udC1zaXplPSIy
MCIgc3R5bGU9InRleHQtYW5jaG9yOnN0YXJ0Ij4KKyAgICAgICAgICAgIDx0ZXh0UGF0aCB4bGlu
azpocmVmPSIjUGF0aCIgc3RhcnRPZmZzZXQ9IjAlIj5UaGlzIGlzIGFuIGV4YW1wbGUgb2YgYSB2
ZXJ5IGxvbmcgc3RyaW5nIHRoYXQgaXMgc3BsaXQgYWNyb3NzIG11bHRpcGxlIGxpbmVzIHZpYSB0
aGUgdGV4dFBhdGggdGFnLiBUaGUgcHVycG9zZSBvZiB0aGlzIHRlc3QgaXMgdG8gZW5zdXJlIHRo
YXQgdGV4dC1zZWxlY3Rpb24gY2FuIGtlZXAgdXAgZXZlbiB3aGVuIHJlbGF0aXZlbHkgbGFyZ2Ug
bnVtYmVycyBvZiBjaGFyYWN0ZXJzIGFyZSBwYXJ0IG9mIHRoZSBzZWxlY3Rpb24uIFNpbmNlIEkg
aGF2ZW4ndCByZWFjaGVkIHRoZSBlbmQgeWV0LCBsZXQgbWUga2VlcCBnb2luZyB3aXRoIG1vcmUg
cmVhbGx5IHF1aXRlIHVzZWxlc3MgdGV4dCBqdXN0IHRvIHNlZSBpZiB3ZSBoaXQgYSBsaW1pdCB3
aGVyZSBpdCByZWFsbHkgc3RhcnRzIHRvIHNsb3cgdGhpbmdzIGRvd24uICBIb3dldmVyIGlmIGl0
IGhhc24ndCBzbG93ZWQgZG93biBieSBub3cgSSdtIGd1ZXNzaW5nIHRoYXQgaXQgd29uJ3Qgc2xv
dyBkb3duIGF0IGFsbC4gIEJ1dCB5b3UgbmV2ZXIga25vdyBmb3Igc3VyZSB1bnRpbCB5b3UgdHJ5
IGl0LCBzbyBJIGFtLCBhbmQgaGVyZSBpcyB0aGUgcmVzdWx0LiAgU2VsZWN0aW9uIGRvZXMgYm9n
IGRvd24gYSBsaXR0bGUgbmVhciB0aGUgZW5kIGJ1dCBpdCdzIHJlZHJhdyByZWxhdGVkLjwvdGV4
dFBhdGg+CisgICAgICAgIDwvdGV4dD4KKyAgICA8L2c+CisKKyAgICA8IS0tID09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cisg
ICAgPCEtLSBCYXRpayBzYW1wbGUgbWFyayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC0tPgorICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKyAgICA8dXNlIHhsaW5rOmhyZWY9
Ii4uL3Jlc291cmNlcy9iYXRpa0xvZ28uc3ZnI0JhdGlrX1RhZ19Cb3giIC8+Cis8L3N2Zz4KKwoK
UHJvcGVydHkgY2hhbmdlcyBvbjogc3ZnL2JhdGlrL3RleHQvbG9uZ1RleHRPblBhdGguc3ZnCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KTmFtZTogc3ZuOmV4ZWN1dGFibGUKICAgKyAqCgpJbmRleDogc3ZnL2JhdGlrL3Rl
eHQvc21hbGxGb250cy5zdmctZGlzYWJsZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3ZnL2JhdGlrL3RleHQv
c21hbGxGb250cy5zdmctZGlzYWJsZWQJKHJldmlzaW9uIDApCisrKyBzdmcvYmF0aWsvdGV4dC9z
bWFsbEZvbnRzLnN2Zy1kaXNhYmxlZAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMzUgQEAKKzw/
eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ibm8iPz4KKzwhRE9DVFlQRSBzdmcgUFVCTElD
ICItLy9XM0MvL0RURCBTVkcgMS4wLy9FTiIKKyJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JF
Qy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI+CisKKzwhLS0KKworICAgQ29weXJpZ2h0IDIw
MDEgIFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAKKworICAgTGljZW5zZWQgdW5kZXIg
dGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgICB5b3Ug
bWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vu
c2UuCisgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICAg
IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgICBVbmxlc3Mg
cmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3
YXJlCisgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBh
biAiQVMgSVMiIEJBU0lTLAorICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0Yg
QU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgICBTZWUgdGhlIExpY2Vuc2Ug
Zm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgICBs
aW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworLS0+Cis8IS0tID09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0gLS0+Cis8IS0tIFRlc3RzIHNtYWxsIGZvbnQgc2l6ZXMgKDwxKSB3aXRoIHZhcmlvdXMgdGV4
dCBmZWF0dXJlcy4gICAgICAgICAgICAgICAgICAgIC0tPgorPCEtLSBUaGlzIGlzIGJhc2ljYWxs
eSBhIGNvcHkgb2YgdGhlIHRleHRGZWF0dXJlcyB0ZXN0IGZpbGUgd2l0aCBhIHNtYWxsICAgICAg
IC0tPgorPCEtLSB2aWV3Ym94IHNldC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKzwhLS0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt
LT4KKzwhLS0gQGF1dGhvciBiZWxsYS5yb2JpbnNvbkBjbWlzLmNzaXJvLmF1ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorPCEtLSBAdmVyc2lvbiAkSWQ6IHNtYWxsRm9u
dHMuc3ZnLHYgMS40IDIwMDQvMDgvMTggMDc6MTI6MjEgdmhhcmR5IEV4cCAkICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorPCEt
LSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09IC0tPgorPD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L2NzcyIg
aHJlZj0iLi4vLi4vcmVzb3VyY2VzL3N0eWxlL3Rlc3QuY3NzIiA/PgorPHN2ZyB4bWxucz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
OTk5L3hsaW5rIiB3aWR0aD0iNDUwIiBoZWlnaHQ9IjUwMCIgdmlld0JveD0iMCAwIDkgMTAiPgor
ICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PSAtLT4KKyAgICA8IS0tIFRlc3QgY29udGVudCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+CisgICAgPCEtLSA9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgor
CisgICAgPGRlZnM+CisgICAgICAgIDxmaWx0ZXIgaWQ9ImJsdXIiIGZpbHRlclVuaXRzPSJ1c2Vy
U3BhY2VPblVzZSIgeD0iMCIgeT0iLTEuNiIgd2lkdGg9IjQiIGhlaWdodD0iMiIgZmlsdGVyUmVz
PSIyMDAiPgorICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMC4wNCAw
LjA0IiB4PSIwIiB5PSItMS42IiB3aWR0aD0iNCIgaGVpZ2h0PSIyIi8+IAorICAgICAgICA8L2Zp
bHRlcj4gCisKKyAgICAgICAgPHBhdGggaWQ9IlBhdGgxIiBzdHlsZT0iZmlsbDpub25lOyBzdHJv
a2U6Z3JlZW47IHN0cm9rZS13aWR0aDo1IiB0cmFuc2Zvcm09InNjYWxlKDAuMDAzLDAuMDAzKSIK
KyAgICAgICAgICAgICAgICAgIGQ9Ik0gMTAwIDIwMCBDIDIwMCAxMDAgMzAwIDAgNDAwIDEwMCBD
IDUwMCAyMDAgNjAwIDMwMCA3MDAgMjAwIEMgODAwIDEwMCA5MDAgMTAwIDkwMCAxMDAiLz4KKyAg
ICAgICAKKyAgICA8L2RlZnM+CisKKyAgICA8ZyBpZD0idGVzdENvbnRlbnQiIHN0cm9rZS13aWR0
aD0iMC4wMSI+CisKKyAgICAgICAgPHRleHQgIHg9IjUwJSIgeT0iMTAlIiBmb250LXNpemU9IjAu
MyIgdGV4dC1hbmNob3I9Im1pZGRsZSIgPgorICAgICAgICAgICAgU21hbGwgZm9udCBzaXplIHRl
c3QgKHZpZXdCb3g9IjAgMCA5IDEwIik8L3RleHQ+CisKKyAgICAgIDxnIGZvbnQtZmFtaWx5PSJk
aWFsb2ciIGZvbnQtc2l6ZT0iMC4zIiAKKyAgICAgICAgICAgICAgICAgIHRleHQtYW5jaG9yPSJz
dGFydCIgZmlsbD0iTWlkbmlnaHRCbHVlIj4KKyAgICAgICAgPHRleHQgeD0iMTAlIiB5PSIyMCUi
PgorICAgICAgICBUZXh0IGNhbiBjaGFuZ2UgCisgICAgICAgIDx0c3BhbiBmb250LXNpemU9IjAu
NiI+c2l6ZSw8L3RzcGFuPgorICAgICAgICA8dHNwYW4gZm9udC1zaXplPSIwLjQiIGZvbnQtZmFt
aWx5PSJTZXJpZiI+dHlwZWZhY2UsPC90c3Bhbj4gCisgICAgICAgIDx0c3BhbiBmaWxsPSJncmVl
biI+Y29sb3IsPC90c3Bhbj4KKyAgICAgICAgb3IgCisgICAgICAgIDx0c3BhbiBmaWxsPSJub25l
IiBmb250LXN0eWxlPSJvYmxpcXVlIiBzdHJva2U9InJlZCIgc3Ryb2tlLXdpZHRoPSIwLjAyIj5z
dHlsZTwvdHNwYW4+CisgICAgICAgIDwvdGV4dD4KKworICAgICAgICA8dGV4dCBmaWxsPSJNaWRu
aWdodEJsdWUiIHg9IjEwJSIgeT0iMjQlIj4gCisgICAgICAgIHdpdGhpbiBhIHNpbmdsZSB0ZXh0
IGVsZW1lbnQuCisgICAgICAgIDwvdGV4dD4gCisKKyAgICAgICAgPHRleHQgeD0iMTAlIiB5PSIz
MiUiPlN0eWxpbmcgZmVhdHVyZXMgaW5jbHVkZSAKKyAgICAgICAgICAgIDx0c3BhbiBmb250LXdl
aWdodD0iYm9sZCI+d2VpZ2h0LDwvdHNwYW4+IAorICAgICAgICAgICAgPHRzcGFuIGZvbnQtc3R5
bGU9Im9ibGlxdWUiPnBvc3R1cmUsPC90c3Bhbj4gYW5kIAorICAgICAgICAgICAgPHRzcGFuIGZv
bnQtZmFtaWx5PSJzZXJpZiI+dHlwZWZhY2UuPC90c3Bhbj4KKyAgICAgICAgPC90ZXh0PgorCisg
ICAgICAgIDxyZWN0IHg9IjEwJSIgeT0iMzUlIiB3aWR0aD0iNDUlIiBoZWlnaHQ9IjEwJSIgZmls
bD0iRG9kZ2VyQmx1ZSIvPgorICAgICAgICA8dGV4dCB4PSIxMCUiIHk9IjQwJSI+CisgICAgICAg
IEdyYXBoaWNzIGF0dHJpYnV0ZXMgc3VjaCBhcyAKKyAgICAgICAgICAgIDx0c3BhbiBmaWxsPSJy
ZWQiIG9wYWNpdHk9IjAuMyI+b3BhY2l0eTwvdHNwYW4+IGNhbiBiZSBhcHBsaWVkLgorICAgICAg
ICA8L3RleHQ+CisKKyAgICAgICAgPHRleHQgeD0iMTAlIiB5PSI1MCUiPiJ0ZXh0IGRlY29yYXRp
b24iIGNhbiBpbmNsdWRlIAorICAgICAgICAgICAgPHRzcGFuIHRleHQtZGVjb3JhdGlvbj0idW5k
ZXJsaW5lIj51bmRlcmxpbmUsPC90c3Bhbj4KKyAgICAgICAgICAgIDx0c3BhbiB0ZXh0LWRlY29y
YXRpb249Im92ZXJsaW5lIj5vdmVybGluZSw8L3RzcGFuPiBhbmQKKyAgICAgICAgPC90ZXh0PiAK
KworICAgICAgICA8dGV4dCB4PSIxMCUiIHk9IjU0JSI+CisgICAgICAgIDx0c3BhbiB0ZXh0LWRl
Y29yYXRpb249ImxpbmUtdGhyb3VnaCI+c3RyaWtldGhyb3VnaC4gPC90c3Bhbj4KKyAgICAgICAg
PHRzcGFuIGR4PSIwLjEiIGJhc2VsaW5lLXNoaWZ0PSJzdXBlciIgZm9udC1zaXplPSIwLjIiPlN1
cGVyPC90c3Bhbj4gYW5kCisgICAgICAgIDx0c3BhbiBiYXNlbGluZS1zaGlmdD0ic3ViIiBmb250
LXNpemU9IjAuMiI+c3ViPC90c3Bhbj4gc2NyaXB0cyBhcmUgYXZhaWxhYmxlLiAKKyAgICAgICAg
PC90ZXh0PgorCisgICAgICAgIDx0ZXh0IHg9IjEwJSIgeT0iNjIlIiBzdHJva2UtbGluZWNhcD0i
cm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgorICAgICAgICAgICAgVmFyaW91cyAKKyAg
ICAgICAgICAgIDx0c3BhbiBzdHJva2U9InJlZCIgZmlsbD0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIw
LjAxIj5vdXRsaW5lCisgICAgICAgICAgICA8L3RzcGFuPnN0eWxlcywgCisgICAgICAgICAgICA8
dHNwYW4gc3Ryb2tlPSJyZWQiIHN0cm9rZS13aWR0aD0iMC4wMSIgZmlsbD0iYmx1ZSIgPmZpbGwg
Y29sb3JzCisgICAgICAgICAgICA8L3RzcGFuPmFuZAorICAgICAgICAgICAgPHRzcGFuIHN0cm9r
ZT0icmVkIiBzdHJva2Utd2lkdGg9IjAuMDIiIGZpbGw9ImJsdWUiID50aGlja25lc3NlcworICAg
ICAgICAgICAgPC90c3Bhbj5jYW4gYmUKKyAgICAgICAgPC90ZXh0PgorCisgICAgICAgIDx0ZXh0
IHg9IjEwJSIgeT0iNjYlIj51c2VkLCBhbmQgdGhlIG91dGxpbmUgc3Ryb2tlIGNhbiBiZSAKKyAg
ICAgICAgICAgIDx0c3BhbiBzdHJva2U9ImJsYWNrIiBmaWxsPSJub25lIiBzdHJva2Utd2lkdGg9
IjAuMDEiIAorICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGlu
ZWpvaW49InJvdW5kIj5yb3VuZGVkPC90c3Bhbj4KKyAgICAgICAgICAgIG9yIAorICAgICAgICAg
ICAgPHRzcGFuIHN0cm9rZT0iYmxhY2siIGZpbGw9Im5vbmUiIHN0cm9rZS13aWR0aD0iMC4wMSIg
CisgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBzdHJva2UtbGluZWpvaW49
Im1pdGVyIj5taXRlcmVkLjwvdHNwYW4+CisgICAgICAgIDwvdGV4dD4KKworICAgICAgICA8dGV4
dCB4PSIxMCUiIHk9Ijc1JSI+VGV4dCBlbGVtZW50cyBhbHNvIGNhbiBiZSBmaWx0ZXJlZCwgdHJh
bnNmb3JtZWQKKyAgICAgICAgPHRzcGFuIHg9IjEwJSIgeT0iNzklIj5hbmQgcGxhY2VkIG9uIGEg
cGF0aC48L3RzcGFuPjwvdGV4dD4KKworICAgICAgIDxnIGZvbnQtc2l6ZT0iMC44IiB0cmFuc2Zv
cm09InRyYW5zbGF0ZSgxLjUsIDkpIj4gIAorICAgICAgICA8dGV4dCB4PSIwIiB5PSIwIiBmaWx0
ZXI9InVybCgjYmx1cikiIGZpbGw9ImJsYWNrIiBvcGFjaXR5PSIwLjciCisgICAgICAgICAgICAg
ICAgdHJhbnNmb3JtPSJza2V3WCg0MCkgdHJhbnNsYXRlKC0wLjEyLC0wLjEyKSI+CisgICAgICAg
ICAgICBTaGFkb3cKKyAgICAgICAgICA8L3RleHQ+CisgICAgICAgICAgPHRleHQgeD0iMCIgeT0i
MCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIwLjAxIiBmaWxsPSJ3aGl0ZSI+CisgICAg
ICAgICAgICBTaGFkb3cKKyAgICAgICAgICA8L3RleHQ+CisgICAgICAgIDwvZz4KKworCSAgPGcg
dHJhbnNmb3JtPSJ0cmFuc2xhdGUoNSw4KSI+CisgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9
IiNQYXRoMSIvPgorCSAgICAgIDx0ZXh0IGZvbnQtc2l6ZT0iMC4zIiBzdHlsZT0idGV4dC1hbmNo
b3I6c3RhcnQiPgorICAgICAgICAgICAgICAgIDx0ZXh0UGF0aCB4bGluazpocmVmPSIjUGF0aDEi
IHN0YXJ0T2Zmc2V0PSIwJSI+U21hbGwgdGV4dCA8dHNwYW4gZmlsbD0icmVkIiBkeT0iLTAuMSI+
b248L3RzcGFuPjx0c3BhbiBkeT0iMC4xIj4gYSBQYXRoPC90c3Bhbj48L3RleHRQYXRoPgorICAg
ICAgICAgICAgPC90ZXh0PgorICAgICAgICAgPC9nPgorCisgICAgICA8L2c+CisgICAgPC9nPgor
CisgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09IC0tPgorICAgIDwhLS0gQmF0aWsgc2FtcGxlIG1hcmsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKyAgICA8IS0tID09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+
CisgICAgPHVzZSB0cmFuc2Zvcm09InNjYWxlKDAuMDIsIDAuMDIpIiB4bGluazpocmVmPSIuLi8u
Li8uLi9iYXRpa0xvZ28uc3ZnI0JhdGlrX1RhZ19Cb3giIC8+CisgICAgCis8L3N2Zz4KClByb3Bl
cnR5IGNoYW5nZXMgb246IHN2Zy9iYXRpay90ZXh0L3NtYWxsRm9udHMuc3ZnLWRpc2FibGVkCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KTmFtZTogc3ZuOmV4ZWN1dGFibGUKICAgKyAqCgpJbmRleDogc3ZnL2JhdGlrL3Rl
eHQvdGV4dEFuY2hvcjItZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3ZnL2JhdGlr
L3RleHQvdGV4dEFuY2hvcjItZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCisrKyBzdmcv
YmF0aWsvdGV4dC90ZXh0QW5jaG9yMi1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSBAQAorYzEzMzc5Yjg0YWNjMDViOGRkZTRmNDVkYTcyMDg0MTMKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCkluZGV4OiBzdmcvYmF0aWsvdGV4dC90ZXh0QW5jaG9yMi1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gc3ZnL2JhdGlrL3RleHQvdGV4dEFuY2hvcjItZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQorKysgc3ZnL2JhdGlrL3RleHQvdGV4dEFuY2hvcjItZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDgxIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJTVkdD
b250YWluZXIge3N2Z30gYXQgKDc0LjUwLDE2KSBzaXplIDMwMXg0NzQuNTAKKyAgICAgIFJlbmRl
clNWR1RleHQge3RleHR9IGF0ICgyMjUsMzApIHNpemUgODAweDAKKyAgICAgICAgUmVuZGVyU1ZH
SW5saW5lVGV4dCB7I3RleHR9IGF0ICgtMTExLC0xNCkgc2l6ZSAyMjJ4MTcKKyAgICAgICAgICB0
ZXh0IHJ1biBhdCAoLTExMSwtMTQpIHdpZHRoIDIyMjogInRleHQtYW5jaG9yIG9uIGEgc2luZ2xl
IDx0c3Bhbj4iCisgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg3NC41MCw0OS41MCkg
c2l6ZSAzMDF4NDQxCisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDc0LjUwLDQ5
LjUwKSBzaXplIDMwMXgxNDEKKyAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoNzQuNTAs
NDkuNTApIHNpemUgMzAxeDIxIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19
XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJNNzUuMDAsNTAu
MDBMMzc1LjAwLDUwLjAwTDM3NS4wMCw3MC4wMEw3NS4wMCw3MC4wMCJdCisgICAgICAgICAgUmVu
ZGVyUGF0aCB7cmVjdH0gYXQgKDc0LjUwLDY5LjUwKSBzaXplIDMwMXg0MSBbc3Ryb2tlPXtbdHlw
ZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0VF
RUVFRV19XSBbZGF0YT0iTTc1LjAwLDcwLjAwTDM3NS4wMCw3MC4wMEwzNzUuMDAsMTEwLjAwTDc1
LjAwLDExMC4wMCJdCisgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDc0LjUwLDEwOS41
MCkgc2l6ZSAzMDF4NDEgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtm
aWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkZGRkZdfV0gW2RhdGE9Ik03NS4wMCwxMTAuMDBM
Mzc1LjAwLDExMC4wMEwzNzUuMDAsMTUwLjAwTDc1LjAwLDE1MC4wMCJdCisgICAgICAgICAgUmVu
ZGVyUGF0aCB7cmVjdH0gYXQgKDc0LjUwLDE0OS41MCkgc2l6ZSAzMDF4NDEgW3N0cm9rZT17W3R5
cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNF
RUVFRUVdfV0gW2RhdGE9Ik03NS4wMCwxNTAuMDBMMzc1LjAwLDE1MC4wMEwzNzUuMDAsMTkwLjAw
TDc1LjAwLDE5MC4wMCJdCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDkwLDY0
KSBzaXplIDgwMHgwIFtjb2xvcj0jRkZGRkZGXQorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5l
VGV4dCB7I3RleHR9IGF0ICgwLC0xMykgc2l6ZSAxOTJ4MTcKKyAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsLTEzKSB3aWR0aCAxOTI6ICJ4IGF0dHJpYnV0ZSBkZWZpbmUgbmV3IHRleHQgY2h1
bmtzIgorICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDE0NC41MCw3MCkgc2l6
ZSAxNjF4MTIwCisgICAgICAgICAgICBSZW5kZXJQYXRoIHtsaW5lfSBhdCAoMTQ0LjUwLDcwKSBz
aXplIDF4MTIwIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0RDMTQzQ119XSBbZGF0YT0i
TTE0NS4wMCw3MC4wMEwxNDUuMDAsMTkwLjAwIl0KKyAgICAgICAgICAgIFJlbmRlclBhdGgge2xp
bmV9IGF0ICgxODQuNTAsNzApIHNpemUgMXgxMjAgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xv
cj0jREMxNDNDXX1dIFtkYXRhPSJNMTg1LjAwLDcwLjAwTDE4NS4wMCwxOTAuMDAiXQorICAgICAg
ICAgICAgUmVuZGVyUGF0aCB7bGluZX0gYXQgKDIyNC41MCw3MCkgc2l6ZSAxeDEyMCBbc3Ryb2tl
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNEQzE0M0NdfV0gW2RhdGE9Ik0yMjUuMDAsNzAuMDBMMjI1
LjAwLDE5MC4wMCJdCisgICAgICAgICAgICBSZW5kZXJQYXRoIHtsaW5lfSBhdCAoMjY0LjUwLDcw
KSBzaXplIDF4MTIwIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0RDMTQzQ119XSBbZGF0
YT0iTTI2NS4wMCw3MC4wMEwyNjUuMDAsMTkwLjAwIl0KKyAgICAgICAgICAgIFJlbmRlclBhdGgg
e2xpbmV9IGF0ICgzMDQuNTAsNzApIHNpemUgMXgxMjAgW3N0cm9rZT17W3R5cGU9U09MSURdIFtj
b2xvcj0jREMxNDNDXX1dIFtkYXRhPSJNMzA1LjAwLDcwLjAwTDMwNS4wMCwxOTAuMDAiXQorICAg
ICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg3NC41MCwxOTkuNTApIHNpemUgMzAxeDE0
MSBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgwLjAwLDE1MC4wMCl9
XQorICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICg3NC41MCwxOTkuNTApIHNpemUgMzAx
eDIxIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9
U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJNNzUuMDAsNTAuMDBMMzc1LjAwLDUwLjAw
TDM3NS4wMCw3MC4wMEw3NS4wMCw3MC4wMCJdCisgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0g
YXQgKDc0LjUwLDIxOS41MCkgc2l6ZSAzMDF4NDEgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xv
cj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNFRUVFRUVdfV0gW2RhdGE9
Ik03NS4wMCw3MC4wMEwzNzUuMDAsNzAuMDBMMzc1LjAwLDExMC4wMEw3NS4wMCwxMTAuMDAiXQor
ICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICg3NC41MCwyNTkuNTApIHNpemUgMzAxeDQx
IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9U09M
SURdIFtjb2xvcj0jRkZGRkZGXX1dIFtkYXRhPSJNNzUuMDAsMTEwLjAwTDM3NS4wMCwxMTAuMDBM
Mzc1LjAwLDE1MC4wMEw3NS4wMCwxNTAuMDAiXQorICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9
IGF0ICg3NC41MCwyOTkuNTApIHNpemUgMzAxeDQxIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29s
b3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRUVFRUVFXX1dIFtkYXRh
PSJNNzUuMDAsMTUwLjAwTDM3NS4wMCwxNTAuMDBMMzc1LjAwLDE5MC4wMEw3NS4wMCwxOTAuMDAi
XQorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICg5MCw2NCkgc2l6ZSA4MDB4MCBb
Y29sb3I9I0ZGRkZGRl0KKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoMCwtMTMpIHNpemUgMjM4eDE3CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xMykg
d2lkdGggMjM4OiAieSBhdHRyaWJ1dGUgZG9lcyBub3QgZGVmaW5lIG5ldyB0ZXh0IGNodW5rIgor
ICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDIyNC41MCwyMjApIHNpemUgMXgx
MjAKKyAgICAgICAgICAgIFJlbmRlclBhdGgge2xpbmV9IGF0ICgyMjQuNTAsMjIwKSBzaXplIDF4
MTIwIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0RDMTQzQ119XSBbZGF0YT0iTTIyNS4w
MCw3MC4wMEwyMjUuMDAsMTkwLjAwIl0KKyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBh
dCAoNzQuNTAsMzQ5LjUwKSBzaXplIDMwMXgxNDEgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCko
MC4wMCwxLjAwKSkgdD0oMC4wMCwzMDAuMDApfV0KKyAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0
fSBhdCAoNzQuNTAsMzQ5LjUwKSBzaXplIDMwMXgyMSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2Nv
bG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZGF0
YT0iTTc1LjAwLDUwLjAwTDM3NS4wMCw1MC4wMEwzNzUuMDAsNzAuMDBMNzUuMDAsNzAuMDAiXQor
ICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICg3NC41MCwzNjkuNTApIHNpemUgMzAxeDQx
IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9U09M
SURdIFtjb2xvcj0jRUVFRUVFXX1dIFtkYXRhPSJNNzUuMDAsNzAuMDBMMzc1LjAwLDcwLjAwTDM3
NS4wMCwxMTAuMDBMNzUuMDAsMTEwLjAwIl0KKyAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBh
dCAoNzQuNTAsNDA5LjUwKSBzaXplIDMwMXg0MSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9y
PSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGRkZGRl19XSBbZGF0YT0i
TTc1LjAwLDExMC4wMEwzNzUuMDAsMTEwLjAwTDM3NS4wMCwxNTAuMDBMNzUuMDAsMTUwLjAwIl0K
KyAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoNzQuNTAsNDQ5LjUwKSBzaXplIDMwMXg0
MSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNP
TElEXSBbY29sb3I9I0VFRUVFRV19XSBbZGF0YT0iTTc1LjAwLDE1MC4wMEwzNzUuMDAsMTUwLjAw
TDM3NS4wMCwxOTAuMDBMNzUuMDAsMTkwLjAwIl0KKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0
ZXh0fSBhdCAoOTAsNjQpIHNpemUgODAweDAgW2NvbG9yPSNGRkZGRkZdCisgICAgICAgICAgICBS
ZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEzKSBzaXplIDIyM3gxNworICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTMpIHdpZHRoIDIyMzogInggJiB5IGF0dHJpYnV0ZXMg
ZGVmaW5lIG5ldyB0ZXh0IGNodW5rcyIKKyAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9
IGF0ICgxNDQuNTAsMzcwKSBzaXplIDE2MXgxMjAKKyAgICAgICAgICAgIFJlbmRlclBhdGgge2xp
bmV9IGF0ICgxNDQuNTAsMzcwKSBzaXplIDF4MTIwIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29s
b3I9I0RDMTQzQ119XSBbZGF0YT0iTTE0NS4wMCw3MC4wMEwxNDUuMDAsMTkwLjAwIl0KKyAgICAg
ICAgICAgIFJlbmRlclBhdGgge2xpbmV9IGF0ICgxODQuNTAsMzcwKSBzaXplIDF4MTIwIFtzdHJv
a2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0RDMTQzQ119XSBbZGF0YT0iTTE4NS4wMCw3MC4wMEwx
ODUuMDAsMTkwLjAwIl0KKyAgICAgICAgICAgIFJlbmRlclBhdGgge2xpbmV9IGF0ICgyMjQuNTAs
MzcwKSBzaXplIDF4MTIwIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0RDMTQzQ119XSBb
ZGF0YT0iTTIyNS4wMCw3MC4wMEwyMjUuMDAsMTkwLjAwIl0KKyAgICAgICAgICAgIFJlbmRlclBh
dGgge2xpbmV9IGF0ICgyNjQuNTAsMzcwKSBzaXplIDF4MTIwIFtzdHJva2U9e1t0eXBlPVNPTElE
XSBbY29sb3I9I0RDMTQzQ119XSBbZGF0YT0iTTI2NS4wMCw3MC4wMEwyNjUuMDAsMTkwLjAwIl0K
KyAgICAgICAgICAgIFJlbmRlclBhdGgge2xpbmV9IGF0ICgzMDQuNTAsMzcwKSBzaXplIDF4MTIw
IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0RDMTQzQ119XSBbZGF0YT0iTTMwNS4wMCw3
MC4wMEwzMDUuMDAsMTkwLjAwIl0KKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAs
MCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkg
c2l6ZSAxNjh4MTgKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAo
MCwtMTQpIHNpemUgMTY4eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xNCkgd2lk
dGggMTY4OiAiQmF0aWsiCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDApIHNp
emUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUg
MTY4eDE4CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC0xNiwt
MTQpIHNpemUgMTY4eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtMTYsLTE0KSB3aWR0
aCAxNjg6ICJCYXRpayIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6
ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAx
Njh4MTgKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTM0LC0x
NCkgc2l6ZSAxNjh4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKC0zNCwtMTQpIHdpZHRo
IDE2ODogIkJhdGlrIgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwwKSBzaXpl
IDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDM0
eDI4CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBz
aXplIDM0eDI4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xNCkgd2lkdGggMzQ6ICJC
YXRpayIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAor
ICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAzNHgyOAorICAg
ICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgtMTcsLTE0KSBzaXplIDM0
eDI4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtMTcsLTE0KSB3aWR0aCAzNDogIkJhdGlr
IgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwwKSBzaXplIDgwMHgwCisgICAg
ICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDM0eDI4CisgICAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC0zNCwtMTQpIHNpemUgMzR4MjgK
KyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKC0zNCwtMTQpIHdpZHRoIDM0OiAiQmF0aWsiCisg
ICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDApIHNpemUgODAweDAKKyAgICAgICAg
ICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMTY4eDI4CisgICAgICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBzaXplIDE2OHgyOAorICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTQpIHdpZHRoIDE2ODogIkJhdGlrIgorICAgICAg
ICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwwKSBzaXplIDgwMHgwCisgICAgICAgICAgUmVu
ZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDE2OHgyOAorICAgICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgtMTYsLTE0KSBzaXplIDE2OHgyOAorICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoLTE2LC0xNCkgd2lkdGggMTY4OiAiQmF0aWsiCisgICAgICAg
IFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5k
ZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMTY4eDI4CisgICAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC0zNCwtMTQpIHNpemUgMTY4eDI4CisgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgtMzQsLTE0KSB3aWR0aCAxNjg6ICJCYXRpayIKSW5kZXg6IHN2
Zy9iYXRpay90ZXh0L3RleHRBbmNob3IyLnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzdmcvYmF0aWsvdGV4
dC90ZXh0QW5jaG9yMi5zdmcJKHJldmlzaW9uIDApCisrKyBzdmcvYmF0aWsvdGV4dC90ZXh0QW5j
aG9yMi5zdmcJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTA3IEBACis8P3htbCB2ZXJzaW9uPSIx
LjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ibm8iPz4KKzwhRE9DVFlQRSBzdmcgUFVC
TElDICItLy9XM0MvL0RURCBTVkcgMjAwMTA5MDQvL0VOIiAKKyJodHRwOi8vd3d3LnczLm9yZy9U
Ui8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI+CisKKzwhLS0KKworICAgQ29w
eXJpZ2h0IDIwMDEtMjAwMiAgVGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIAorCisgICBM
aWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vu
c2UiKTsKKyAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ug
d2l0aCB0aGUgTGljZW5zZS4KKyAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5z
ZSBhdAorCisgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4w
CisKKyAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4g
d3JpdGluZywgc29mdHdhcmUKKyAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRp
c3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1Ig
Q09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAgIFNl
ZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNz
aW9ucyBhbmQKKyAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCistLT4KKzwhLS0g
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PSAtLT4KKzwhLS0gVGVzdHMgdGV4dC1hbmNob3Igb24gbXVsdGlwbGUgdGV4
dCBjaHVua3Mgb24gc2luZ2xlIHRzcGFuIGVsZW1lbnQgICAgICAtLT4KKzwhLS0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAtLT4KKzwhLS0gQGF1dGhvciB0a29ybWFubkBpbG9nLmZyICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKzwhLS0gQHZlcnNpb24gJElkOiB0ZXh0
QW5jaG9yMi5zdmcsdiAxLjUgMjAwNS8wMS8wMyAxMDo0ODowNSBkZXdlZXNlIEV4cCAkICAtLT4K
KzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PSAtLT4KKzw/eG1sLXN0eWxlc2hlZXQgdHlwZT0idGV4dC9jc3Mi
IGhyZWY9Ii4uL3Jlc291cmNlcy90ZXN0LmNzcyIgPz4gIAorCis8c3ZnIHdpZHRoPSI0NTAiIGhl
aWdodD0iNTAwIiB2aWV3Qm94PSIwIDAgNDUwIDUwMCIKKyAgICAgeG1sbnM9Imh0dHA6Ly93d3cu
dzMub3JnLzIwMDAvc3ZnIiAKKyAgICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5
OTkveGxpbmsiID4KKworPHRleHQgY2xhc3M9InRpdGxlIiB4PSI1MCUiIHk9IjMwIj50ZXh0LWFu
Y2hvciBvbiBhIHNpbmdsZSAmbHQ7dHNwYW4mZ3Q7PC90ZXh0PgorCis8ZyBpZD0idGVzdENvbnRl
bnQiPgorCis8IS0tICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIC0tPgorPCEtLSB0YWJsZSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKzwhLS0gIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMgLS0+Cis8Zz4KKwk8cmVjdCB4PSI3NSIgeT0iNTAiICB3aWR0aD0iMzAwIiBoZWlnaHQ9IjIw
IiBzdHlsZT0iZmlsbDpibGFjazsgc3Ryb2tlOmJsYWNrIiAvPgorCTxyZWN0IHg9Ijc1IiB5PSI3
MCIgd2lkdGg9IjMwMCIgaGVpZ2h0PSI0MCIgc3R5bGU9ImZpbGw6I2VlZTsgc3Ryb2tlOmJsYWNr
IiAvPgorCTxyZWN0IHg9Ijc1IiB5PSIxMTAiIHdpZHRoPSIzMDAiIGhlaWdodD0iNDAiIHN0eWxl
PSJmaWxsOndoaXRlOyBzdHJva2U6YmxhY2siIC8+CisJPHJlY3QgeD0iNzUiIHk9IjE1MCIgd2lk
dGg9IjMwMCIgaGVpZ2h0PSI0MCIgc3R5bGU9ImZpbGw6I2VlZTsgc3Ryb2tlOmJsYWNrIiAvPgor
CTx0ZXh0IHg9IjkwIiB5PSI2NCIgc3R5bGU9ImZpbGw6d2hpdGU7Zm9udC1zaXplOjE0cHgiPngg
YXR0cmlidXRlIGRlZmluZSBuZXcgdGV4dCBjaHVua3M8L3RleHQ+CisJPGcgc3R5bGU9InN0cm9r
ZTpjcmltc29uOyBmaWxsOm5vbmUiPgorCQk8bGluZSB4MT0iMTQ1IiB5MT0iNzAiIHgyPSIxNDUi
IHkyPSIxOTAiIC8+CisJCTxsaW5lIHgxPSIxODUiIHkxPSI3MCIgeDI9IjE4NSIgeTI9IjE5MCIg
Lz4KKwkJPGxpbmUgeDE9IjIyNSIgeTE9IjcwIiB4Mj0iMjI1IiB5Mj0iMTkwIiAvPgorCQk8bGlu
ZSB4MT0iMjY1IiB5MT0iNzAiIHgyPSIyNjUiIHkyPSIxOTAiIC8+CisJCTxsaW5lIHgxPSIzMDUi
IHkxPSI3MCIgeDI9IjMwNSIgeTI9IjE5MCIgLz4KKwk8L2c+Cis8L2c+CisKKzxnIHRyYW5zZm9y
bT0idHJhbnNsYXRlKDAgMTUwKSIgc3Ryb2tlPSJibGFjayIgPgorCTxyZWN0IHg9Ijc1IiB5PSI1
MCIgIHdpZHRoPSIzMDAiIGhlaWdodD0iMjAiIHN0eWxlPSJmaWxsOmJsYWNrIiAvPgorCTxyZWN0
IHg9Ijc1IiB5PSI3MCIgd2lkdGg9IjMwMCIgaGVpZ2h0PSI0MCIgc3R5bGU9ImZpbGw6I2VlZSIg
Lz4KKwk8cmVjdCB4PSI3NSIgeT0iMTEwIiB3aWR0aD0iMzAwIiBoZWlnaHQ9IjQwIiBzdHlsZT0i
ZmlsbDp3aGl0ZSIgLz4KKwk8cmVjdCB4PSI3NSIgeT0iMTUwIiB3aWR0aD0iMzAwIiBoZWlnaHQ9
IjQwIiBzdHlsZT0iZmlsbDojZWVlIiAvPgorCTx0ZXh0IHg9IjkwIiB5PSI2NCIgc3R5bGU9ImZp
bGw6d2hpdGU7c3Ryb2tlOm5vbmU7Zm9udC1zaXplOjE0cHgiCisgICAgICAgICA+eSBhdHRyaWJ1
dGUgZG9lcyBub3QgZGVmaW5lIG5ldyB0ZXh0IGNodW5rPC90ZXh0PgorCTxnIHN0eWxlPSJzdHJv
a2U6Y3JpbXNvbjsgZmlsbDpub25lIj4KKwkJPGxpbmUgeDE9IjIyNSIgeTE9IjcwIiB4Mj0iMjI1
IiB5Mj0iMTkwIiAvPgorCTwvZz4KKzwvZz4KKworPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAz
MDApIj4KKwk8cmVjdCB4PSI3NSIgeT0iNTAiICB3aWR0aD0iMzAwIiBoZWlnaHQ9IjIwIiBzdHls
ZT0iZmlsbDpibGFjazsgc3Ryb2tlOmJsYWNrIiAvPgorCTxyZWN0IHg9Ijc1IiB5PSI3MCIgd2lk
dGg9IjMwMCIgaGVpZ2h0PSI0MCIgc3R5bGU9ImZpbGw6I2VlZTsgc3Ryb2tlOmJsYWNrIiAvPgor
CTxyZWN0IHg9Ijc1IiB5PSIxMTAiIHdpZHRoPSIzMDAiIGhlaWdodD0iNDAiIHN0eWxlPSJmaWxs
OndoaXRlOyBzdHJva2U6YmxhY2siIC8+CisJPHJlY3QgeD0iNzUiIHk9IjE1MCIgd2lkdGg9IjMw
MCIgaGVpZ2h0PSI0MCIgc3R5bGU9ImZpbGw6I2VlZTsgc3Ryb2tlOmJsYWNrIiAvPgorCTx0ZXh0
IHg9IjkwIiB5PSI2NCIgc3R5bGU9ImZpbGw6d2hpdGU7Zm9udC1zaXplOjE0cHgiPnggJmFtcDsg
eSBhdHRyaWJ1dGVzIGRlZmluZSBuZXcgdGV4dCBjaHVua3M8L3RleHQ+CisJPGcgc3R5bGU9InN0
cm9rZTpjcmltc29uOyBmaWxsOm5vbmUiPgorCQk8bGluZSB4MT0iMTQ1IiB5MT0iNzAiIHgyPSIx
NDUiIHkyPSIxOTAiIC8+CisJCTxsaW5lIHgxPSIxODUiIHkxPSI3MCIgeDI9IjE4NSIgeTI9IjE5
MCIgLz4KKwkJPGxpbmUgeDE9IjIyNSIgeTE9IjcwIiB4Mj0iMjI1IiB5Mj0iMTkwIiAvPgorCQk8
bGluZSB4MT0iMjY1IiB5MT0iNzAiIHgyPSIyNjUiIHkyPSIxOTAiIC8+CisJCTxsaW5lIHgxPSIz
MDUiIHkxPSI3MCIgeDI9IjMwNSIgeTI9IjE5MCIgLz4KKwk8L2c+Cis8L2c+CisKKzwhLS0gIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMgLS0+Cis8IS0tIHggYXR0cmlidXRlIGRlZmluZXMgbmV3IHRleHQgY2h1bmtzICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAtLT4KKworPHRleHQg
dHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQ1IDk0KSI+PHRzcGFuIHg9IjAgNDAgODAgMTIwIDE2MCIg
c3R5bGU9InRleHQtYW5jaG9yOnN0YXJ0Ij5CYXRpazwvdHNwYW4+PC90ZXh0PgorPHRleHQgdHJh
bnNmb3JtPSJ0cmFuc2xhdGUoMTQ1IDEzNCkiPjx0c3BhbiB4PSIwIDQwIDgwIDEyMCAxNjAiIHN0
eWxlPSJ0ZXh0LWFuY2hvcjptaWRkbGUiPkJhdGlrPC90c3Bhbj48L3RleHQ+Cis8dGV4dCB0cmFu
c2Zvcm09InRyYW5zbGF0ZSgxNDUgMTc0KSI+PHRzcGFuIHg9IjAgNDAgODAgMTIwIDE2MCIgc3R5
bGU9InRleHQtYW5jaG9yOmVuZCI+QmF0aWs8L3RzcGFuPjwvdGV4dD4KKworPCEtLSAjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyAtLT4KKzwhLS0geSBhdHRyaWJ1dGUgZG9lcyBub3QgZGVmaW5lIG5ldyB0ZXh0IGNodW5rICAg
ICAgICAgICAgICAgICAgICAgICAgLS0+Cis8IS0tICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIC0tPgorPHRleHQgdHJhbnNm
b3JtPSJ0cmFuc2xhdGUoMjI1IDI0MCkiPjx0c3BhbiB5PSIwIDEwIDAgMTAgMCIgc3R5bGU9InRl
eHQtYW5jaG9yOnN0YXJ0Ij5CYXRpazwvdHNwYW4+PC90ZXh0PgorPHRleHQgdHJhbnNmb3JtPSJ0
cmFuc2xhdGUoMjI1IDI4MCkiPjx0c3BhbiB5PSIwIDEwIDAgMTAgMCIgc3R5bGU9InRleHQtYW5j
aG9yOm1pZGRsZSI+QmF0aWs8L3RzcGFuPjwvdGV4dD4KKzx0ZXh0IHRyYW5zZm9ybT0idHJhbnNs
YXRlKDIyNSAzMjApIj48dHNwYW4geT0iMCAxMCAwIDEwIDAiIHN0eWxlPSJ0ZXh0LWFuY2hvcjpl
bmQiPkJhdGlrPC90c3Bhbj48L3RleHQ+CisKKzwhLS0gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgLS0+Cis8IS0tIGJvdGgg
eCBhbmQgeSBhdHRyaWJ1dGVzIGRlZmluZSBuZXcgdGV4dCBjaHVua3MgICAgICAgICAgICAgICAg
ICAgIC0tPgorPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAtLT4KKzx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0
NSAzOTApIj48dHNwYW4geD0iMCA0MCA4MCAxMjAgMTYwIiB5PSIwIDEwIDAgMTAgMCIgc3R5bGU9
InRleHQtYW5jaG9yOnN0YXJ0Ij5CYXRpazwvdHNwYW4+PC90ZXh0PgorPHRleHQgdHJhbnNmb3Jt
PSJ0cmFuc2xhdGUoMTQ1IDQzMCkiPjx0c3BhbiB4PSIwIDQwIDgwIDEyMCAxNjAiIHk9IjAgMTAg
MCAxMCAwIiBzdHlsZT0idGV4dC1hbmNob3I6bWlkZGxlIj5CYXRpazwvdHNwYW4+PC90ZXh0Pgor
PHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQ1IDQ3MCkiPjx0c3BhbiB4PSIwIDQwIDgwIDEy
MCAxNjAiIHk9IjAgMTAgMCAxMCAwIiBzdHlsZT0idGV4dC1hbmNob3I6ZW5kIj5CYXRpazwvdHNw
YW4+PC90ZXh0PgorCis8L2c+CisKKzwvc3ZnPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogc3ZnL2Jh
dGlrL3RleHQvdGV4dEFuY2hvcjIuc3ZnCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOmV4ZWN1dGFibGUK
ICAgKyAqCgpJbmRleDogc3ZnL2JhdGlrL3RleHQvdGV4dEFuY2hvcjMtZXhwZWN0ZWQuY2hlY2tz
dW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gc3ZnL2JhdGlrL3RleHQvdGV4dEFuY2hvcjMtZXhwZWN0ZWQuY2hl
Y2tzdW0JKHJldmlzaW9uIDApCisrKyBzdmcvYmF0aWsvdGV4dC90ZXh0QW5jaG9yMy1leHBlY3Rl
ZC5jaGVja3N1bQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorMzAwYjUzOTgyNWNmNmMxM2M0
N2VmOWIxZmNkZWUwNDQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBzdmcvYmF0
aWsvdGV4dC90ZXh0QW5jaG9yMy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3ZnL2JhdGlr
L3RleHQvdGV4dEFuY2hvcjMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgc3ZnL2JhdGlr
L3RleHQvdGV4dEFuY2hvcjMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEw
MCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtzdmd9IGF0ICg3NC41MCwxNikg
c2l6ZSAzMDF4NDc0LjUwCisgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjI1LDMwKSBz
aXplIDgwMHgwCisgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTExMSwt
MTQpIHNpemUgMjIyeDE3CisgICAgICAgICAgdGV4dCBydW4gYXQgKC0xMTEsLTE0KSB3aWR0aCAy
MjI6ICJ0ZXh0LWFuY2hvciBvbiBhIHNpbmdsZSA8dHNwYW4+IgorICAgICAgUmVuZGVyU1ZHQ29u
dGFpbmVyIHtnfSBhdCAoNzQuNTAsNDkuNTApIHNpemUgMzAxeDQ0MQorICAgICAgICBSZW5kZXJT
VkdDb250YWluZXIge2d9IGF0ICg3NC41MCw0OS41MCkgc2l6ZSAzMDF4MTQxCisgICAgICAgICAg
UmVuZGVyUGF0aCB7cmVjdH0gYXQgKDc0LjUwLDQ5LjUwKSBzaXplIDMwMXgyMSBbc3Ryb2tlPXtb
dHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9
IzAwMDAwMF19XSBbZGF0YT0iTTc1LjAwLDUwLjAwTDM3NS4wMCw1MC4wMEwzNzUuMDAsNzAuMDBM
NzUuMDAsNzAuMDAiXQorICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICg3NC41MCw2OS41
MCkgc2l6ZSAzMDF4NDEgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtm
aWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNFRUVFRUVdfV0gW2RhdGE9Ik03NS4wMCw3MC4wMEwz
NzUuMDAsNzAuMDBMMzc1LjAwLDExMC4wMEw3NS4wMCwxMTAuMDAiXQorICAgICAgICAgIFJlbmRl
clBhdGgge3JlY3R9IGF0ICg3NC41MCwxMDkuNTApIHNpemUgMzAxeDQxIFtzdHJva2U9e1t0eXBl
PVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZG
RkZGXX1dIFtkYXRhPSJNNzUuMDAsMTEwLjAwTDM3NS4wMCwxMTAuMDBMMzc1LjAwLDE1MC4wMEw3
NS4wMCwxNTAuMDAiXQorICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICg3NC41MCwxNDku
NTApIHNpemUgMzAxeDQxIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBb
ZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRUVFRUVFXX1dIFtkYXRhPSJNNzUuMDAsMTUwLjAw
TDM3NS4wMCwxNTAuMDBMMzc1LjAwLDE5MC4wMEw3NS4wMCwxOTAuMDAiXQorICAgICAgICAgIFJl
bmRlclNWR1RleHQge3RleHR9IGF0ICg5MCw2NCkgc2l6ZSA4MDB4MCBbY29sb3I9I0ZGRkZGRl0K
KyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTMpIHNpemUg
MTg0eDE3CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xMykgd2lkdGggMTg0OiAieCBh
dHRyaWJ1dGVkIHRzcGFuIHdpdGggZXh0cmEgdGV4dCIKKyAgICAgICAgICBSZW5kZXJTVkdDb250
YWluZXIge2d9IGF0ICgxNDkuNTAsNzApIHNpemUgMTYxeDEyMAorICAgICAgICAgICAgUmVuZGVy
UGF0aCB7bGluZX0gYXQgKDE0OS41MCw3MCkgc2l6ZSAxeDEyMCBbc3Ryb2tlPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSNCMEM0REVdfV0gW2RhdGE9Ik0xNTAuMDAsNzAuMDBMMTUwLjAwLDE5MC4wMCJd
CisgICAgICAgICAgICBSZW5kZXJQYXRoIHtsaW5lfSBhdCAoMTg5LjUwLDcwKSBzaXplIDF4MTIw
IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0IwQzRERV19XSBbZGF0YT0iTTE5MC4wMCw3
MC4wMEwxOTAuMDAsMTkwLjAwIl0KKyAgICAgICAgICAgIFJlbmRlclBhdGgge2xpbmV9IGF0ICgy
MjkuNTAsNzApIHNpemUgMXgxMjAgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jQjBDNERF
XX1dIFtkYXRhPSJNMjMwLjAwLDcwLjAwTDIzMC4wMCwxOTAuMDAiXQorICAgICAgICAgICAgUmVu
ZGVyUGF0aCB7bGluZX0gYXQgKDI2OS41MCw3MCkgc2l6ZSAxeDEyMCBbc3Ryb2tlPXtbdHlwZT1T
T0xJRF0gW2NvbG9yPSNCMEM0REVdfV0gW2RhdGE9Ik0yNzAuMDAsNzAuMDBMMjcwLjAwLDE5MC4w
MCJdCisgICAgICAgICAgICBSZW5kZXJQYXRoIHtsaW5lfSBhdCAoMzA5LjUwLDcwKSBzaXplIDF4
MTIwIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0IwQzRERV19XSBbZGF0YT0iTTMxMC4w
MCw3MC4wMEwzMTAuMDAsMTkwLjAwIl0KKyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBh
dCAoNzQuNTAsMTk5LjUwKSBzaXplIDMwMXgxNDEgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCko
MC4wMCwxLjAwKSkgdD0oMC4wMCwxNTAuMDApfV0KKyAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0
fSBhdCAoNzQuNTAsMTk5LjUwKSBzaXplIDMwMXgyMSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2Nv
bG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZGF0
YT0iTTc1LjAwLDUwLjAwTDM3NS4wMCw1MC4wMEwzNzUuMDAsNzAuMDBMNzUuMDAsNzAuMDAiXQor
ICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICg3NC41MCwyMTkuNTApIHNpemUgMzAxeDQx
IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9U09M
SURdIFtjb2xvcj0jRUVFRUVFXX1dIFtkYXRhPSJNNzUuMDAsNzAuMDBMMzc1LjAwLDcwLjAwTDM3
NS4wMCwxMTAuMDBMNzUuMDAsMTEwLjAwIl0KKyAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBh
dCAoNzQuNTAsMjU5LjUwKSBzaXplIDMwMXg0MSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9y
PSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGRkZGRl19XSBbZGF0YT0i
TTc1LjAwLDExMC4wMEwzNzUuMDAsMTEwLjAwTDM3NS4wMCwxNTAuMDBMNzUuMDAsMTUwLjAwIl0K
KyAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoNzQuNTAsMjk5LjUwKSBzaXplIDMwMXg0
MSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNP
TElEXSBbY29sb3I9I0VFRUVFRV19XSBbZGF0YT0iTTc1LjAwLDE1MC4wMEwzNzUuMDAsMTUwLjAw
TDM3NS4wMCwxOTAuMDBMNzUuMDAsMTkwLjAwIl0KKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0
ZXh0fSBhdCAoOTAsNjQpIHNpemUgODAweDAgW2NvbG9yPSNGRkZGRkZdCisgICAgICAgICAgICBS
ZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEzKSBzaXplIDE0NXgxNworICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTMpIHdpZHRoIDE0NTogInggYXR0cmlidXRlIGZvciBz
b21lIGNoYXJzIgorICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDE0OS41MCwy
MjApIHNpemUgODF4MTIwCisgICAgICAgICAgICBSZW5kZXJQYXRoIHtsaW5lfSBhdCAoMTQ5LjUw
LDIyMCkgc2l6ZSAxeDEyMCBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNCMEM0REVdfV0g
W2RhdGE9Ik0xNTAuMDAsNzAuMDBMMTUwLjAwLDE5MC4wMCJdCisgICAgICAgICAgICBSZW5kZXJQ
YXRoIHtsaW5lfSBhdCAoMTg5LjUwLDIyMCkgc2l6ZSAxeDEyMCBbc3Ryb2tlPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSNCMEM0REVdfV0gW2RhdGE9Ik0xOTAuMDAsNzAuMDBMMTkwLjAwLDE5MC4wMCJd
CisgICAgICAgICAgICBSZW5kZXJQYXRoIHtsaW5lfSBhdCAoMjI5LjUwLDIyMCkgc2l6ZSAxeDEy
MCBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNCMEM0REVdfV0gW2RhdGE9Ik0yMzAuMDAs
NzAuMDBMMjMwLjAwLDE5MC4wMCJdCisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQg
KDc0LjUwLDM0OS41MCkgc2l6ZSAzMDF4MTQxIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAu
MDAsMS4wMCkpIHQ9KDAuMDAsMzAwLjAwKX1dCisgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0g
YXQgKDc0LjUwLDM0OS41MCkgc2l6ZSAzMDF4MjEgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xv
cj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9
Ik03NS4wMCw1MC4wMEwzNzUuMDAsNTAuMDBMMzc1LjAwLDcwLjAwTDc1LjAwLDcwLjAwIl0KKyAg
ICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoNzQuNTAsMzY5LjUwKSBzaXplIDMwMXg0MSBb
c3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElE
XSBbY29sb3I9I0VFRUVFRV19XSBbZGF0YT0iTTc1LjAwLDcwLjAwTDM3NS4wMCw3MC4wMEwzNzUu
MDAsMTEwLjAwTDc1LjAwLDExMC4wMCJdCisgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQg
KDc0LjUwLDQwOS41MCkgc2l6ZSAzMDF4NDEgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0j
MDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkZGRkZdfV0gW2RhdGE9Ik03
NS4wMCwxMTAuMDBMMzc1LjAwLDExMC4wMEwzNzUuMDAsMTUwLjAwTDc1LjAwLDE1MC4wMCJdCisg
ICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDc0LjUwLDQ0OS41MCkgc2l6ZSAzMDF4NDEg
W3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSNFRUVFRUVdfV0gW2RhdGE9Ik03NS4wMCwxNTAuMDBMMzc1LjAwLDE1MC4wMEwz
NzUuMDAsMTkwLjAwTDc1LjAwLDE5MC4wMCJdCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4
dH0gYXQgKDkwLDY0KSBzaXplIDgwMHgwIFtjb2xvcj0jRkZGRkZGXQorICAgICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xMykgc2l6ZSAxODR4MTcKKyAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsLTEzKSB3aWR0aCAxODQ6ICJ4ICYgeSBhdHRyaWJ1dGVzIHdp
dGggaW5oZXJpdGFuY2UiCisgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTQ5
LjUwLDM3MCkgc2l6ZSAxMjF4MTIwCisgICAgICAgICAgICBSZW5kZXJQYXRoIHtsaW5lfSBhdCAo
MTQ5LjUwLDM3MCkgc2l6ZSAxeDEyMCBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNCMEM0
REVdfV0gW2RhdGE9Ik0xNTAuMDAsNzAuMDBMMTUwLjAwLDE5MC4wMCJdCisgICAgICAgICAgICBS
ZW5kZXJQYXRoIHtsaW5lfSBhdCAoMTg5LjUwLDM3MCkgc2l6ZSAxeDEyMCBbc3Ryb2tlPXtbdHlw
ZT1TT0xJRF0gW2NvbG9yPSNCMEM0REVdfV0gW2RhdGE9Ik0xOTAuMDAsNzAuMDBMMTkwLjAwLDE5
MC4wMCJdCisgICAgICAgICAgICBSZW5kZXJQYXRoIHtsaW5lfSBhdCAoMjI5LjUwLDM3MCkgc2l6
ZSAxeDEyMCBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNCMEM0REVdfV0gW2RhdGE9Ik0y
MzAuMDAsNzAuMDBMMjMwLjAwLDE5MC4wMCJdCisgICAgICAgICAgICBSZW5kZXJQYXRoIHtsaW5l
fSBhdCAoMjY5LjUwLDM3MCkgc2l6ZSAxeDEyMCBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9y
PSNCMEM0REVdfV0gW2RhdGE9Ik0yNzAuMDAsNzAuMDBMMjcwLjAwLDE5MC4wMCJdCisgICAgICAg
IFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5k
ZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMTY4eDI4CisgICAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBzaXplIDE2OHgyOAorICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwtMTQpIHdpZHRoIDE2ODogIkJhdGlrIgorICAgICAgICAgIFJl
bmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAzOXgxOCBbY29sb3I9I0RDMTQzQ10K
KyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMTY4LC00KSBzaXpl
IDM5eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNjgsLTQpIHdpZHRoIDM5OiAiIHJ1
bGVzISIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAor
ICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAxNjh4MjgKKyAg
ICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTEyLC0xNCkgc2l6ZSAx
Njh4MjgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKC0xMiwtMTQpIHdpZHRoIDE2ODogIkJh
dGlrIgorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAzOXgx
OCBbY29sb3I9I0RDMTQzQ10KKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoMTQ4LC00KSBzaXplIDM5eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNDgs
LTQpIHdpZHRoIDM5OiAiIHJ1bGVzISIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQg
KDAsMCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAs
MCkgc2l6ZSAxNjh4MjgKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoLTI2LC0xNCkgc2l6ZSAxNjh4MjgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKC0yNiwt
MTQpIHdpZHRoIDE2ODogIkJhdGlrIgorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0g
YXQgKDAsMCkgc2l6ZSAzOXgxOCBbY29sb3I9I0RDMTQzQ10KKyAgICAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMTI5LC00KSBzaXplIDM5eDE4CisgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgxMjksLTQpIHdpZHRoIDM5OiAiIHJ1bGVzISIKKyAgICAgICAgUmVuZGVy
U1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR1RT
cGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSA5NngxOAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSA5NngxOAorICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwtMTQpIHdpZHRoIDk2OiAiQmF0aWsiCisgICAgICAgIFJlbmRlclNWR1RleHQg
e3RleHR9IGF0ICgwLDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNw
YW59IGF0ICgwLDApIHNpemUgOTZ4MTgKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQg
eyN0ZXh0fSBhdCAoLTE2LC0xNCkgc2l6ZSA5NngxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoLTE2LC0xNCkgd2lkdGggOTY6ICJCYXRpayIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4
dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0g
YXQgKDAsMCkgc2l6ZSA5NngxOAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3Rl
eHR9IGF0ICgtMzQsLTE0KSBzaXplIDk2eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgt
MzQsLTE0KSB3aWR0aCA5NjogIkJhdGlrIgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBh
dCAoMCwwKSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAo
MCwwKSBzaXplIDEzMngyOAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgwLC0xNCkgc2l6ZSAxMzJ4MjgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTE0
KSB3aWR0aCAxMzI6ICJCYXRpayIKKyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0
ICgwLDApIHNpemUgMzl4MTggW2NvbG9yPSNEQzE0M0NdCisgICAgICAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKDEzMiwtNCkgc2l6ZSAzOXgxOAorICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMTMyLC00KSB3aWR0aCAzOTogIiBydWxlcyEiCisgICAgICAgIFJlbmRlclNW
R1RleHQge3RleHR9IGF0ICgwLDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdUU3Bh
biB7dHNwYW59IGF0ICgwLDApIHNpemUgMTMyeDI4CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKC0yMiwtMTQpIHNpemUgMTMyeDI4CisgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgtMjIsLTE0KSB3aWR0aCAxMzI6ICJCYXRpayIKKyAgICAgICAgICBSZW5kZXJT
VkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMzl4MTggW2NvbG9yPSNEQzE0M0NdCisgICAg
ICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDEzMiwtNCkgc2l6ZSAzOXgx
OAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTMyLC00KSB3aWR0aCAzOTogIiBydWxlcyEi
CisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDApIHNpemUgODAweDAKKyAgICAg
ICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMTMyeDI4CisgICAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC00NiwtMTQpIHNpemUgMTMyeDI4
CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtNDYsLTE0KSB3aWR0aCAxMzI6ICJCYXRpayIK
KyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMzl4MTggW2Nv
bG9yPSNEQzE0M0NdCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KDEzMiwtNCkgc2l6ZSAzOXgxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTMyLC00KSB3
aWR0aCAzOTogIiBydWxlcyEiCkluZGV4OiBzdmcvYmF0aWsvdGV4dC90ZXh0QW5jaG9yMy5zdmcK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gc3ZnL2JhdGlrL3RleHQvdGV4dEFuY2hvcjMuc3ZnCShyZXZpc2lvbiAw
KQorKysgc3ZnL2JhdGlrL3RleHQvdGV4dEFuY2hvcjMuc3ZnCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDEwNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxv
bmU9Im5vIj8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0
Ly9FTiIgCisiaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMtU1ZHLTIwMDEwOTA0L0RURC9z
dmcxMC5kdGQiPgorCis8IS0tCisKKyAgIENvcHlyaWdodCAyMDAxICBUaGUgQXBhY2hlIFNvZnR3
YXJlIEZvdW5kYXRpb24gCisKKyAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwg
VmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmls
ZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICAgWW91IG1heSBvYnRh
aW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5v
cmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2Fi
bGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICAgZGlzdHJpYnV0ZWQg
dW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAg
IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhw
cmVzcyBvciBpbXBsaWVkLgorICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFu
Z3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICAgbGltaXRhdGlvbnMgdW5kZXIgdGhl
IExpY2Vuc2UuCisKKy0tPgorPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPCEtLSBUZXN0cyB0ZXh0
LWFuY2hvciBvbiBtdWx0aXBsZSB0ZXh0IGNodW5rcyBvbiBzaW5nbGUgdHNwYW4gZWxlbWVudCAg
ICAgIC0tPgorPCEtLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorPCEtLSBAYXV0aG9yIHRrb3JtYW5uQGls
b2cuZnIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgor
PCEtLSBAdmVyc2lvbiAkSWQ6IHRleHRBbmNob3IzLnN2Zyx2IDEuNCAyMDA1LzAxLzAzIDEwOjQ4
OjA1IGRld2Vlc2UgRXhwICQgIC0tPgorPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPD94bWwtc3R5
bGVzaGVldCB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vcmVzb3VyY2VzL3Rlc3QuY3NzIiA/PiAg
CisKKzxzdmcgd2lkdGg9IjQ1MCIgaGVpZ2h0PSI1MDAiIHZpZXdCb3g9IjAgMCA0NTAgNTAwIgor
ICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIAorICAgICB4bWxuczp4bGlu
az0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgPgorCis8dGV4dCBjbGFzcz0idGl0bGUi
IHg9IjUwJSIgeT0iMzAiPnRleHQtYW5jaG9yIG9uIGEgc2luZ2xlICZsdDt0c3BhbiZndDs8L3Rl
eHQ+CisKKzxnIGlkPSJ0ZXN0Q29udGVudCI+CisKKzwhLS0gIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgLS0+Cis8IS0tIHRh
YmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC0tPgorPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAtLT4KKzxnPgorCTxyZWN0IHg9Ijc1IiB5PSI1MCIg
IHdpZHRoPSIzMDAiIGhlaWdodD0iMjAiIHN0eWxlPSJmaWxsOmJsYWNrOyBzdHJva2U6YmxhY2si
IC8+CisJPHJlY3QgeD0iNzUiIHk9IjcwIiB3aWR0aD0iMzAwIiBoZWlnaHQ9IjQwIiBzdHlsZT0i
ZmlsbDojZWVlOyBzdHJva2U6YmxhY2siIC8+CisJPHJlY3QgeD0iNzUiIHk9IjExMCIgd2lkdGg9
IjMwMCIgaGVpZ2h0PSI0MCIgc3R5bGU9ImZpbGw6d2hpdGU7IHN0cm9rZTpibGFjayIgLz4KKwk8
cmVjdCB4PSI3NSIgeT0iMTUwIiB3aWR0aD0iMzAwIiBoZWlnaHQ9IjQwIiBzdHlsZT0iZmlsbDoj
ZWVlOyBzdHJva2U6YmxhY2siIC8+CisJPHRleHQgeD0iOTAiIHk9IjY0IiBzdHlsZT0iZmlsbDp3
aGl0ZTtmb250LXNpemU6MTRweCI+eCBhdHRyaWJ1dGVkIHRzcGFuIHdpdGggZXh0cmEgdGV4dDwv
dGV4dD4KKwk8ZyBzdHlsZT0ic3Ryb2tlOmxpZ2h0c3RlZWxibHVlOyBmaWxsOm5vbmUiPgorCQk8
bGluZSB4MT0iMTUwIiB5MT0iNzAiIHgyPSIxNTAiIHkyPSIxOTAiIC8+CisJCTxsaW5lIHgxPSIx
OTAiIHkxPSI3MCIgeDI9IjE5MCIgeTI9IjE5MCIgLz4KKwkJPGxpbmUgeDE9IjIzMCIgeTE9Ijcw
IiB4Mj0iMjMwIiB5Mj0iMTkwIiAvPgorCQk8bGluZSB4MT0iMjcwIiB5MT0iNzAiIHgyPSIyNzAi
IHkyPSIxOTAiIC8+CisJCTxsaW5lIHgxPSIzMTAiIHkxPSI3MCIgeDI9IjMxMCIgeTI9IjE5MCIg
Lz4KKwk8L2c+Cis8L2c+CisKKzxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMTUwKSI+CisJPHJl
Y3QgeD0iNzUiIHk9IjUwIiAgd2lkdGg9IjMwMCIgaGVpZ2h0PSIyMCIgc3R5bGU9ImZpbGw6Ymxh
Y2s7IHN0cm9rZTpibGFjayIgLz4KKwk8cmVjdCB4PSI3NSIgeT0iNzAiIHdpZHRoPSIzMDAiIGhl
aWdodD0iNDAiIHN0eWxlPSJmaWxsOiNlZWU7IHN0cm9rZTpibGFjayIgLz4KKwk8cmVjdCB4PSI3
NSIgeT0iMTEwIiB3aWR0aD0iMzAwIiBoZWlnaHQ9IjQwIiBzdHlsZT0iZmlsbDp3aGl0ZTsgc3Ry
b2tlOmJsYWNrIiAvPgorCTxyZWN0IHg9Ijc1IiB5PSIxNTAiIHdpZHRoPSIzMDAiIGhlaWdodD0i
NDAiIHN0eWxlPSJmaWxsOiNlZWU7IHN0cm9rZTpibGFjayIgLz4KKwk8dGV4dCB4PSI5MCIgeT0i
NjQiIHN0eWxlPSJmaWxsOndoaXRlO2ZvbnQtc2l6ZToxNHB4Ij54IGF0dHJpYnV0ZSBmb3Igc29t
ZSBjaGFyczwvdGV4dD4KKwk8ZyBzdHlsZT0ic3Ryb2tlOmxpZ2h0c3RlZWxibHVlOyBmaWxsOm5v
bmUiPgorCQk8bGluZSB4MT0iMTUwIiB5MT0iNzAiIHgyPSIxNTAiIHkyPSIxOTAiIC8+CisJCTxs
aW5lIHgxPSIxOTAiIHkxPSI3MCIgeDI9IjE5MCIgeTI9IjE5MCIgLz4KKwkJPGxpbmUgeDE9IjIz
MCIgeTE9IjcwIiB4Mj0iMjMwIiB5Mj0iMTkwIiAvPgorCTwvZz4KKzwvZz4KKworPGcgdHJhbnNm
b3JtPSJ0cmFuc2xhdGUoMCAzMDApIj4KKwk8cmVjdCB4PSI3NSIgeT0iNTAiICB3aWR0aD0iMzAw
IiBoZWlnaHQ9IjIwIiBzdHlsZT0iZmlsbDpibGFjazsgc3Ryb2tlOmJsYWNrIiAvPgorCTxyZWN0
IHg9Ijc1IiB5PSI3MCIgd2lkdGg9IjMwMCIgaGVpZ2h0PSI0MCIgc3R5bGU9ImZpbGw6I2VlZTsg
c3Ryb2tlOmJsYWNrIiAvPgorCTxyZWN0IHg9Ijc1IiB5PSIxMTAiIHdpZHRoPSIzMDAiIGhlaWdo
dD0iNDAiIHN0eWxlPSJmaWxsOndoaXRlOyBzdHJva2U6YmxhY2siIC8+CisJPHJlY3QgeD0iNzUi
IHk9IjE1MCIgd2lkdGg9IjMwMCIgaGVpZ2h0PSI0MCIgc3R5bGU9ImZpbGw6I2VlZTsgc3Ryb2tl
OmJsYWNrIiAvPgorCTx0ZXh0IHg9IjkwIiB5PSI2NCIgc3R5bGU9ImZpbGw6d2hpdGU7Zm9udC1z
aXplOjE0cHgiPnggJmFtcDsgeSBhdHRyaWJ1dGVzIHdpdGggaW5oZXJpdGFuY2U8L3RleHQ+CisJ
PGcgc3R5bGU9InN0cm9rZTpsaWdodHN0ZWVsYmx1ZTsgZmlsbDpub25lIj4KKwkJPGxpbmUgeDE9
IjE1MCIgeTE9IjcwIiB4Mj0iMTUwIiB5Mj0iMTkwIiAvPgorCQk8bGluZSB4MT0iMTkwIiB5MT0i
NzAiIHgyPSIxOTAiIHkyPSIxOTAiIC8+CisJCTxsaW5lIHgxPSIyMzAiIHkxPSI3MCIgeDI9IjIz
MCIgeTI9IjE5MCIgLz4KKwkJPGxpbmUgeDE9IjI3MCIgeTE9IjcwIiB4Mj0iMjcwIiB5Mj0iMTkw
IiAvPgorCTwvZz4KKzwvZz4KKworPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAtLT4KKzwhLS0geCBhdHRyaWJ1dGUg
ZGVmaW5lcyBuZXcgdGV4dCBjaHVua3MgZXh0cmEgdGV4dCBhZnRlciB0c3BhbiAgICAgICAgLS0+
Cis8IS0tICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIC0tPgorCis8dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNTAgIDk0
KSI+PHRzcGFuIHg9IjAgNDAgODAgMTIwIDE2MCIgeT0iMCAwIDAgMCAxMCIgc3R5bGU9InRleHQt
YW5jaG9yOnN0YXJ0Ij5CYXRpazwvdHNwYW4+PHRzcGFuIGZpbGw9ImNyaW1zb24iPiBydWxlcyE8
L3RzcGFuPjwvdGV4dD4KKzx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDE1MCAxMzQpIj48dHNw
YW4geD0iMCA0MCA4MCAxMjAgMTYwIiB5PSIwIDAgMCAwIDEwIiBzdHlsZT0idGV4dC1hbmNob3I6
bWlkZGxlIj5CYXRpazwvdHNwYW4+PHRzcGFuIGZpbGw9ImNyaW1zb24iPiBydWxlcyE8L3RzcGFu
PjwvdGV4dD4KKzx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDE1MCAxNzQpIj48dHNwYW4geD0i
MCA0MCA4MCAxMjAgMTYwIiB5PSIwIDAgMCAwIDEwIiBzdHlsZT0idGV4dC1hbmNob3I6ZW5kIj5C
YXRpazwvdHNwYW4+PHRzcGFuIGZpbGw9ImNyaW1zb24iPiBydWxlcyE8L3RzcGFuPjwvdGV4dD4K
KworPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyAtLT4KKzwhLS0geCBhdHRyaWJ1dGUgZGVmaW5lcyBuZXcgdGV4dCBj
aHVua3MgZm9yIG9ubHkgc29tZSBjaGFycyAgICAgICAgICAgLS0+Cis8IS0tICMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIC0t
PgorPHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDI0MCkiPjx0c3BhbiB4PSIwIDQwIDgw
IiBzdHlsZT0idGV4dC1hbmNob3I6c3RhcnQiPkJhdGlrPC90c3Bhbj48L3RleHQ+Cis8dGV4dCB0
cmFuc2Zvcm09InRyYW5zbGF0ZSgxNTAgMjgwKSI+PHRzcGFuIHg9IjAgNDAgODAiIHN0eWxlPSJ0
ZXh0LWFuY2hvcjptaWRkbGUiPkJhdGlrPC90c3Bhbj48L3RleHQ+Cis8dGV4dCB0cmFuc2Zvcm09
InRyYW5zbGF0ZSgxNTAgMzIwKSI+PHRzcGFuIHg9IjAgNDAgODAiIHN0eWxlPSJ0ZXh0LWFuY2hv
cjplbmQiPkJhdGlrPC90c3Bhbj48L3RleHQ+CisKKzwhLS0gIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgLS0+Cis8IS0tIGJv
dGggeCBhbmQgeSBhdHRyaWJ1dGVzIGRlZmluZSBuZXcgdGV4dCBjaHVua3MgICAgICAgICAgICAg
ICAgICAgIC0tPgorPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAtLT4KKzx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRl
KDE1MCAzOTApIiB4PSIwIDAgMCAxMjAiPjx0c3BhbiB4PSIwIDQwIDgwIiB5PSIwIDEwIDAgMTAi
IHN0eWxlPSJ0ZXh0LWFuY2hvcjpzdGFydCI+QmF0aWs8L3RzcGFuPjx0c3BhbiBmaWxsPSJjcmlt
c29uIj4gcnVsZXMhPC90c3Bhbj48L3RleHQ+Cis8dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgx
NTAgNDMwKSIgeD0iMCAwIDAgMTIwIj48dHNwYW4geD0iMCA0MCA4MCIgeT0iMCAxMCAwIDEwIiBz
dHlsZT0idGV4dC1hbmNob3I6bWlkZGxlIj5CYXRpazwvdHNwYW4+PHRzcGFuIGZpbGw9ImNyaW1z
b24iPiBydWxlcyE8L3RzcGFuPjwvdGV4dD4KKzx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDE1
MCA0NzApIiB4PSIwIDAgMCAxMjAiPjx0c3BhbiB4PSIwIDQwIDgwIiB5PSIwIDEwIDAgMTAiIHN0
eWxlPSJ0ZXh0LWFuY2hvcjplbmQiPkJhdGlrPC90c3Bhbj48dHNwYW4gZmlsbD0iY3JpbXNvbiI+
IHJ1bGVzITwvdHNwYW4+PC90ZXh0PgorCis8L2c+CisKKzwvc3ZnPgoKUHJvcGVydHkgY2hhbmdl
cyBvbjogc3ZnL2JhdGlrL3RleHQvdGV4dEFuY2hvcjMuc3ZnCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFtZTogc3Zu
OmV4ZWN1dGFibGUKICAgKyAqCgpJbmRleDogc3ZnL2JhdGlrL3RleHQvdGV4dEFuY2hvci1leHBl
Y3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzdmcvYmF0aWsvdGV4dC90ZXh0QW5jaG9yLWV4
cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQorKysgc3ZnL2JhdGlrL3RleHQvdGV4dEFuY2hv
ci1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorZWI5N2Y3ZDA0
NjhjMDZmZDdkMjY2MjM3YmExN2NmMTEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4
OiBzdmcvYmF0aWsvdGV4dC90ZXh0QW5jaG9yLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBz
dmcvYmF0aWsvdGV4dC90ZXh0QW5jaG9yLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIHN2
Zy9iYXRpay90ZXh0L3RleHRBbmNob3ItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDE2MiBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtzdmd9IGF0ICg1NS44
OCwyNikgc2l6ZSAzMzguMjV4NDMxLjg4CisgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAo
MjI1LDQwKSBzaXplIDgwMHgwCisgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoLTgxLC0xNCkgc2l6ZSAxNjJ4MTcKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTgxLC0xNCkg
d2lkdGggMTYyOiAidGV4dC1hbmNob3Igb24gPHRzcGFuPiIKKyAgICAgIFJlbmRlclNWR0NvbnRh
aW5lciB7Z30gYXQgKDU1Ljg4LDgyLjEyKSBzaXplIDMzOC4yNXgzNzUuNzUgW3RyYW5zZm9ybT17
bT0oKDAuNzUsMC4wMCkoMC4wMCwwLjc1KSkgdD0oNTYuMjUsODIuNTApfV0KKyAgICAgICAgUmVu
ZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoNTUuODgsODIuMTIpIHNpemUgMzM4LjI1eDM3NS43NQor
ICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICg1Ni4yNSw4Mi41MCkgc2l6ZSAzMzcuNTB4
MTI1LjI1IFtvcGFjaXR5PTAuMTBdIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBd
fV0gW2RhdGE9Ik0wLjAwLDAuMDBMNDUwLjAwLDAuMDBMNDUwLjAwLDE2Ny4wMEwwLjAwLDE2Ny4w
MCJdCisgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDU2LjI1LDIwNy43NSkgc2l6ZSAz
MzcuNTB4MTI1LjI1IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkZGRkZdfV0gW2RhdGE9
Ik0wLjAwLDE2Ny4wMEw0NTAuMDAsMTY3LjAwTDQ1MC4wMCwzMzQuMDBMMC4wMCwzMzQuMDAiXQor
ICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICg1Ni4yNSwzMzMpIHNpemUgMzM3LjUweDEy
NC41MCBbb3BhY2l0eT0wLjEwXSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1d
IFtkYXRhPSJNMC4wMCwzMzQuMDBMNDUwLjAwLDMzNC4wMEw0NTAuMDAsNTAwLjAwTDAuMDAsNTAw
LjAwIl0KKyAgICAgICAgICBSZW5kZXJQYXRoIHtsaW5lfSBhdCAoMTY4LjM4LDgyLjUwKSBzaXpl
IDAuNzV4Mzc1IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZGF0YT0i
TTE1MC4wMCwwLjAwTDE1MC4wMCw1MDAuMDAiXQorICAgICAgICAgIFJlbmRlclBhdGgge2xpbmV9
IGF0ICgyOTUuODgsODIuNTApIHNpemUgMC43NXgzNzUgW3N0cm9rZT17W3R5cGU9U09MSURdIFtj
b2xvcj0jRkYwMDAwXX1dIFtkYXRhPSJNMzIwLjAwLDAuMDBMMzIwLjAwLDUwMC4wMCJdCisgICAg
ICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDU1Ljg4LDgyLjEyKSBzaXplIDMzOC4yNXgzNzUu
NzUgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFtkYXRhPSJNMC4wMCww
LjAwTDQ1MC4wMCwwLjAwTDQ1MC4wMCw1MDAuMDBMMC4wMCw1MDAuMDAiXQorICAgICAgICBSZW5k
ZXJTVkdDb250YWluZXIge2d9IGF0ICgxNjguNzUsOTQuNTApIHNpemUgMjE1LjI1eDg4LjUwCisg
ICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTY4Ljc1LDk0LjUwKSBzaXplIDIx
NS4yNXgyOC41MAorICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsNTApIHNp
emUgODAweDAKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBz
aXplIDUxeDE4CisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgxNTAsLTE0KSBzaXplIDUxeDE4CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTUw
LC0xNCkgd2lkdGggNTE6ICJJIGFtIHRoZSIKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5l
VGV4dCB7I3RleHR9IGF0ICgyMDEsLTE0KSBzaXplIDR4MTgKKyAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMjAxLC0xNCkgd2lkdGggNDogIiAiCisgICAgICAgICAgICAgIFJlbmRlclNWR1RT
cGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAxMDJ4MTggW2NvbG9yPSNGRjAwMDBdCisgICAgICAg
ICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgyMDUsLTE0KSBzaXplIDEw
MngxOAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDIwNSwtMTQpIHdpZHRoIDEwMjog
InNhbWUgdGV4dCBjaHVuayIKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3Rl
eHR9IGF0ICgzMDcsLTE0KSBzaXplIDR4MTgKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MzA3LC0xNCkgd2lkdGggNDogIiAiCisgICAgICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bh
bn0gYXQgKDAsMCkgc2l6ZSAxMTd4MTgKKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDMyMCwtMzQpIHNpemUgMTE3eDE4CisgICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMzIwLC0zNCkgd2lkdGggMTE3OiAiYW5vdGhlciB0ZXh0IGNodW5rIgorICAg
ICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAK
KyAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxNjguNzUsMTI0LjUwKSBzaXpl
IDIxNS4yNXgyOC41MCBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgw
LjAwLDQwLjAwKX1dCisgICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCw1MCkg
c2l6ZSA4MDB4MAorICAgICAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDAp
IHNpemUgNTF4MTgKKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0g
YXQgKDE1MCwtMTQpIHNpemUgNTF4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgx
NTAsLTE0KSB3aWR0aCA1MTogIkkgYW0gdGhlIgorICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDIwMSwtMTQpIHNpemUgNHgxOAorICAgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgyMDEsLTE0KSB3aWR0aCA0OiAiICIKKyAgICAgICAgICAgICAgUmVuZGVyU1ZH
VFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDEwMngxOCBbY29sb3I9I0ZGMDAwMF0KKyAgICAg
ICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDIwNSwtMTQpIHNpemUg
MTAyeDE4CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjA1LC0xNCkgd2lkdGggMTAy
OiAic2FtZSB0ZXh0IGNodW5rIgorICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsj
dGV4dH0gYXQgKDMwNywtMTQpIHNpemUgNHgxOAorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgzMDcsLTE0KSB3aWR0aCA0OiAiICIKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3Rz
cGFufSBhdCAoMCwwKSBzaXplIDExN3gxOAorICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGlu
ZVRleHQgeyN0ZXh0fSBhdCAoMzIwLC0zNCkgc2l6ZSAxMTd4MTgKKyAgICAgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgzMjAsLTM0KSB3aWR0aCAxMTc6ICJhbm90aGVyIHRleHQgY2h1bmsiCisg
ICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4
MAorICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDE2OC43NSwxNTQuNTApIHNp
emUgMjE1LjI1eDI4LjUwIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9
KDAuMDAsODAuMDApfV0KKyAgICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDUw
KSBzaXplIDgwMHgwCisgICAgICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAs
MCkgc2l6ZSA1MXgxOAorICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoMTUwLC0xNCkgc2l6ZSA1MXgxOAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDE1MCwtMTQpIHdpZHRoIDUxOiAiSSBhbSB0aGUiCisgICAgICAgICAgICAgIFJlbmRlclNWR0lu
bGluZVRleHQgeyN0ZXh0fSBhdCAoMjAxLC0xNCkgc2l6ZSA0eDE4CisgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDIwMSwtMTQpIHdpZHRoIDQ6ICIgIgorICAgICAgICAgICAgICBSZW5kZXJT
VkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMTAyeDE4IFtjb2xvcj0jRkYwMDAwXQorICAg
ICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMjA1LC0xNCkgc2l6
ZSAxMDJ4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMDUsLTE0KSB3aWR0aCAx
MDI6ICJzYW1lIHRleHQgY2h1bmsiCisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQg
eyN0ZXh0fSBhdCAoMzA3LC0xNCkgc2l6ZSA0eDE4CisgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDMwNywtMTQpIHdpZHRoIDQ6ICIgIgorICAgICAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7
dHNwYW59IGF0ICgwLDApIHNpemUgMTE3eDE4CisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgzMjAsLTM0KSBzaXplIDExN3gxOAorICAgICAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDMyMCwtMzQpIHdpZHRoIDExNzogImFub3RoZXIgdGV4dCBjaHVuayIK
KyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwCisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDE2OC43NSwyMjIpIHNpemUg
MjE1LjI1eDg4LjUwIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDAu
MDAsNTAuMDApfV0KKyAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxNjguNzUs
MjIyKSBzaXplIDIxNS4yNXgyOC41MCBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEu
MDApKSB0PSgwLjAwLDEyMC4wMCl9XQorICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0g
YXQgKDAsNTApIHNpemUgODAweDAKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFu
fSBhdCAoMCwwKSBzaXplIDUxeDE4CisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4
dCB7I3RleHR9IGF0ICgxNTAsLTE0KSBzaXplIDUxeDE4CisgICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMTUwLC0xNCkgd2lkdGggNTE6ICJJIGFtIHRoZSIKKyAgICAgICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgyMDEsLTE0KSBzaXplIDR4MTgKKyAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMjAxLC0xNCkgd2lkdGggNDogIiAiCisgICAgICAgICAgICAg
IFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAxMDJ4MTggW2NvbG9yPSNGRjAw
MDBdCisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgyMDUs
LTE0KSBzaXplIDEwMngxOAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDIwNSwtMTQp
IHdpZHRoIDEwMjogInNhbWUgdGV4dCBjaHVuayIKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgzMDcsLTE0KSBzaXplIDR4MTgKKyAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMzA3LC0xNCkgd2lkdGggNDogIiAiCisgICAgICAgICAgICAgIFJlbmRlclNW
R1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAxMTd4MTgKKyAgICAgICAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDI2MSwtMzQpIHNpemUgMTE3eDE4CisgICAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjYxLC0zNCkgd2lkdGggMTE3OiAiYW5vdGhlciB0ZXh0
IGNodW5rIgorICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxNjguNzUs
MjUyKSBzaXplIDIxNS4yNXgyOC41MCBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEu
MDApKSB0PSgwLjAwLDE2MC4wMCl9XQorICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0g
YXQgKDAsNTApIHNpemUgODAweDAKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFu
fSBhdCAoMCwwKSBzaXplIDUxeDE4CisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4
dCB7I3RleHR9IGF0ICgxNTAsLTE0KSBzaXplIDUxeDE4CisgICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMTUwLC0xNCkgd2lkdGggNTE6ICJJIGFtIHRoZSIKKyAgICAgICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgyMDEsLTE0KSBzaXplIDR4MTgKKyAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMjAxLC0xNCkgd2lkdGggNDogIiAiCisgICAgICAgICAgICAg
IFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAxMDJ4MTggW2NvbG9yPSNGRjAw
MDBdCisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgyMDUs
LTE0KSBzaXplIDEwMngxOAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDIwNSwtMTQp
IHdpZHRoIDEwMjogInNhbWUgdGV4dCBjaHVuayIKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgzMDcsLTE0KSBzaXplIDR4MTgKKyAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMzA3LC0xNCkgd2lkdGggNDogIiAiCisgICAgICAgICAgICAgIFJlbmRlclNW
R1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAxMTd4MTgKKyAgICAgICAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDI2MSwtMzQpIHNpemUgMTE3eDE4CisgICAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjYxLC0zNCkgd2lkdGggMTE3OiAiYW5vdGhlciB0ZXh0
IGNodW5rIgorICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxNjguNzUs
MjgyKSBzaXplIDIxNS4yNXgyOC41MCBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEu
MDApKSB0PSgwLjAwLDIwMC4wMCl9XQorICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0g
YXQgKDAsNTApIHNpemUgODAweDAKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFu
fSBhdCAoMCwwKSBzaXplIDUxeDE4CisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4
dCB7I3RleHR9IGF0ICgxNTAsLTE0KSBzaXplIDUxeDE4CisgICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMTUwLC0xNCkgd2lkdGggNTE6ICJJIGFtIHRoZSIKKyAgICAgICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgyMDEsLTE0KSBzaXplIDR4MTgKKyAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMjAxLC0xNCkgd2lkdGggNDogIiAiCisgICAgICAgICAgICAg
IFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAxMDJ4MTggW2NvbG9yPSNGRjAw
MDBdCisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgyMDUs
LTE0KSBzaXplIDEwMngxOAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDIwNSwtMTQp
IHdpZHRoIDEwMjogInNhbWUgdGV4dCBjaHVuayIKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgzMDcsLTE0KSBzaXplIDR4MTgKKyAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMzA3LC0xNCkgd2lkdGggNDogIiAiCisgICAgICAgICAgICAgIFJlbmRlclNW
R1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAxMTd4MTgKKyAgICAgICAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDI2MSwtMzQpIHNpemUgMTE3eDE4CisgICAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjYxLC0zNCkgd2lkdGggMTE3OiAiYW5vdGhlciB0ZXh0
IGNodW5rIgorICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAweDAKKyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTY4Ljc1LDM0
OS41MCkgc2l6ZSAyMTUuMjV4ODguNTAgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwx
LjAwKSkgdD0oMC4wMCw4MC4wMCl9XQorICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30g
YXQgKDE2OC43NSwzNDkuNTApIHNpemUgMjE1LjI1eDI4LjUwIFt0cmFuc2Zvcm09e209KCgxLjAw
LDAuMDApKDAuMDAsMS4wMCkpIHQ9KDAuMDAsMjYwLjAwKX1dCisgICAgICAgICAgICBSZW5kZXJT
VkdUZXh0IHt0ZXh0fSBhdCAoMCw1MCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgICBSZW5kZXJT
VkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgNTF4MTgKKyAgICAgICAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDE1MCwtMTQpIHNpemUgNTF4MTgKKyAgICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgxNTAsLTE0KSB3aWR0aCA1MTogIkkgYW0gdGhlIgorICAg
ICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDIwMSwtMTQpIHNpemUg
NHgxOAorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMDEsLTE0KSB3aWR0aCA0OiAiICIK
KyAgICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDEwMngx
OCBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsj
dGV4dH0gYXQgKDIwNSwtMTQpIHNpemUgMTAyeDE4CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMjA1LC0xNCkgd2lkdGggMTAyOiAic2FtZSB0ZXh0IGNodW5rIgorICAgICAgICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDMwNywtMTQpIHNpemUgNHgxOAorICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzMDcsLTE0KSB3aWR0aCA0OiAiICIKKyAgICAgICAg
ICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDExN3gxOAorICAgICAg
ICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMjAzLC0zNCkgc2l6ZSAx
MTd4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMDMsLTM0KSB3aWR0aCAxMTc6
ICJhbm90aGVyIHRleHQgY2h1bmsiCisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7
Z30gYXQgKDE2OC43NSwzNzkuNTApIHNpemUgMjE1LjI1eDI4LjUwIFt0cmFuc2Zvcm09e209KCgx
LjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDAuMDAsMzAwLjAwKX1dCisgICAgICAgICAgICBSZW5k
ZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCw1MCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgICBSZW5k
ZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgNTF4MTgKKyAgICAgICAgICAgICAgICBS
ZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDE1MCwtMTQpIHNpemUgNTF4MTgKKyAgICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNTAsLTE0KSB3aWR0aCA1MTogIkkgYW0gdGhlIgor
ICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDIwMSwtMTQpIHNp
emUgNHgxOAorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMDEsLTE0KSB3aWR0aCA0OiAi
ICIKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDEw
MngxOCBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0
IHsjdGV4dH0gYXQgKDIwNSwtMTQpIHNpemUgMTAyeDE4CisgICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMjA1LC0xNCkgd2lkdGggMTAyOiAic2FtZSB0ZXh0IGNodW5rIgorICAgICAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDMwNywtMTQpIHNpemUgNHgxOAor
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzMDcsLTE0KSB3aWR0aCA0OiAiICIKKyAgICAg
ICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDExN3gxOAorICAg
ICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMjAzLC0zNCkgc2l6
ZSAxMTd4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMDMsLTM0KSB3aWR0aCAx
MTc6ICJhbm90aGVyIHRleHQgY2h1bmsiCisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5l
ciB7Z30gYXQgKDE2OC43NSw0MDkuNTApIHNpemUgMjE1LjI1eDI4LjUwIFt0cmFuc2Zvcm09e209
KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDAuMDAsMzQwLjAwKX1dCisgICAgICAgICAgICBS
ZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCw1MCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgICBS
ZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgNTF4MTgKKyAgICAgICAgICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDE1MCwtMTQpIHNpemUgNTF4MTgKKyAg
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNTAsLTE0KSB3aWR0aCA1MTogIkkgYW0gdGhl
IgorICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDIwMSwtMTQp
IHNpemUgNHgxOAorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMDEsLTE0KSB3aWR0aCA0
OiAiICIKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXpl
IDEwMngxOCBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDIwNSwtMTQpIHNpemUgMTAyeDE4CisgICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMjA1LC0xNCkgd2lkdGggMTAyOiAic2FtZSB0ZXh0IGNodW5rIgorICAgICAg
ICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDMwNywtMTQpIHNpemUgNHgx
OAorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzMDcsLTE0KSB3aWR0aCA0OiAiICIKKyAg
ICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDExN3gxOAor
ICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMjAzLC0zNCkg
c2l6ZSAxMTd4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMDMsLTM0KSB3aWR0
aCAxMTc6ICJhbm90aGVyIHRleHQgY2h1bmsiCisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGlu
ZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyU1ZHQ29udGFpbmVy
IHt1c2V9IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBzdmcvYmF0aWsvdGV4dC90ZXh0QW5jaG9y
LnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBzdmcvYmF0aWsvdGV4dC90ZXh0QW5jaG9yLnN2ZwkocmV2aXNp
b24gMCkKKysrIHN2Zy9iYXRpay90ZXh0L3RleHRBbmNob3Iuc3ZnCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDE5NCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5k
YWxvbmU9Im5vIj8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEw
OTA0Ly9FTiIgCisiaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMtU1ZHLTIwMDEwOTA0L0RU
RC9zdmcxMC5kdGQiPgorCis8IS0tCisKKyAgIENvcHlyaWdodCAyMDAxICBUaGUgQXBhY2hlIFNv
ZnR3YXJlIEZvdW5kYXRpb24gCisKKyAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5z
ZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICAgeW91IG1heSBub3QgdXNlIHRoaXMg
ZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICAgWW91IG1heSBv
YnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgICBodHRwOi8vd3d3LmFwYWNo
ZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxp
Y2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICAgZGlzdHJpYnV0
ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywK
KyAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIg
ZXhwcmVzcyBvciBpbXBsaWVkLgorICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMg
bGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICAgbGltaXRhdGlvbnMgdW5kZXIg
dGhlIExpY2Vuc2UuCisKKy0tPgorPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPCEtLSBUZXN0cyB0
ZXh0LWFuY2hvciBvbiB0c3BhbiBlbGVtZW50cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC0tPgorPCEtLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorPCEtLSBAYXV0aG9yIHRrb3JtYW5u
QGlsb2cuZnIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0t
PgorPCEtLSBAdmVyc2lvbiAkSWQ6IHRleHRBbmNob3Iuc3ZnLHYgMS40IDIwMDUvMDEvMDMgMTA6
NDg6MDUgZGV3ZWVzZSBFeHAgJCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAtLT4KKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKzw/eG1sLXN0
eWxlc2hlZXQgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3Jlc291cmNlcy90ZXN0LmNzcyIgPz4g
IAorCis8c3ZnIHdpZHRoPSI0NTAiIGhlaWdodD0iNTAwIiB2aWV3Qm94PSIwIDAgNDUwIDUwMCIK
KyAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAKKyAgICAgeG1sbnM6eGxp
bms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiID4KKworICAgIDx0ZXh0IGNsYXNzPSJ0
aXRsZSIgeD0iNTAlIiB5PSI0MCI+dGV4dC1hbmNob3Igb24gJmx0O3RzcGFuJmd0OzwvdGV4dD4K
KworICAgIDxnIGlkPSJ0ZXN0Q29udGVudCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTYuMjUsIDgy
LjUpIHNjYWxlKC43NSwuNzUpIj4KKworICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgw
LDApIj4KKyAgICAgICAgICAgIDxyZWN0IHdpZHRoPSI0NTAiIGhlaWdodD0iMTY3IiBmaWxsPSJi
bGFjayIgb3BhY2l0eT0iLjEiIC8+CisgICAgICAgICAgICA8cmVjdCB5PSIxNjciIHdpZHRoPSI0
NTAiIGhlaWdodD0iMTY3IiBmaWxsPSJ3aGl0ZSIgLz4KKyAgICAgICAgICAgIDxyZWN0IHk9IjMz
NCIgd2lkdGg9IjQ1MCIgaGVpZ2h0PSIxNjYiIGZpbGw9ImJsYWNrIiBvcGFjaXR5PSIuMSIgLz4K
KworICAgICAgICAgICAgPGxpbmUgeDE9IjE1MCIgeTE9IjAiIHgyPSIxNTAiIHkyPSI1MDAiIHN0
eWxlPSJzdHJva2U6cmVkOyBmaWxsOm5vbmUiIC8+CisgICAgICAgICAgICA8bGluZSB4MT0iMzIw
IiB5MT0iMCIgeDI9IjMyMCIgeTI9IjUwMCIgc3R5bGU9InN0cm9rZTpyZWQ7IGZpbGw6bm9uZSIg
Lz4KKyAgICAgICAgICAgIDxyZWN0IHdpZHRoPSI0NTAiIGhlaWdodD0iNTAwIiBzdHJva2U9InJl
ZCIgZmlsbD0ibm9uZSIgLz4KKyAgICAgICAgPC9nPgorCisgICAgICAgIDxnIHRyYW5zZm9ybT0i
dHJhbnNsYXRlKDAsIDApIj4KKyAgICAgICAgPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMgLS0+CisgICAgICAgIDwhLS0gdGV4dENodW5rMTogdGV4dC1hbmNob3I6c3RhcnQgIC0t
PgorICAgICAgICA8IS0tIHRleHRDaHVuazI6IHRleHQtYW5jaG9yOnN0YXJ0ICAtLT4KKyAgICAg
ICAgPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgLS0+CisgICAgICAgIDxnIHRy
YW5zZm9ybT0idHJhbnNsYXRlKDAsIDApIj4KKyAgICAKKyAgICAgICAgICAgIDx0ZXh0IHk9IjUw
Ij4KKyAgICAgICAgICAgICAgICA8dHNwYW4geD0iMTUwIiBzdHlsZT0idGV4dC1hbmNob3I6c3Rh
cnQiPkkgYW0gdGhlPC90c3Bhbj4KKyAgICAgICAgICAgICAgICA8dHNwYW4gc3R5bGU9ImZpbGw6
cmVkIj4gc2FtZSB0ZXh0IGNodW5rPC90c3Bhbj4KKyAgICAgICAgICAgICAgICA8dHNwYW4geD0i
MzIwIiB5PSIzMCIgc3R5bGU9InRleHQtYW5jaG9yOnN0YXJ0Ij5hbm90aGVyIHRleHQgY2h1bms8
L3RzcGFuPgorICAgICAgICAgICAgPC90ZXh0PgorCisgICAgICAgIDwvZz4KKworCisgICAgICAg
IDwhLS0gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIC0tPgorICAgICAgICA8IS0tIHRl
eHRDaHVuazE6IHRleHQtYW5jaG9yOm1pZGRsZSAtLT4KKyAgICAgICAgPCEtLSB0ZXh0Q2h1bmsy
OiB0ZXh0LWFuY2hvcjpzdGFydCAgLS0+CisgICAgICAgIDwhLS0gIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIC0tPgorICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDQwKSI+
CisKKyAgICAgICAgICAgIDx0ZXh0IHk9IjUwIj4KKyAgICAgICAgICAgICAgICA8dHNwYW4geD0i
MTUwIiBzdHlsZT0idGV4dC1hbmNob3I6bWlkZGxlIj5JIGFtIHRoZTwvdHNwYW4+CisgICAgICAg
ICAgICAgICAgPHRzcGFuIHN0eWxlPSJmaWxsOnJlZCI+IHNhbWUgdGV4dCBjaHVuazwvdHNwYW4+
CisgICAgICAgICAgICAgICAgPHRzcGFuIHg9IjMyMCIgeT0iMzAiIHN0eWxlPSJ0ZXh0LWFuY2hv
cjpzdGFydCI+YW5vdGhlciB0ZXh0IGNodW5rPC90c3Bhbj4KKyAgICAgICAgICAgIDwvdGV4dD4K
KworICAgICAgICA8L2c+CisKKyAgICAgICAgPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMgLS0+CisgICAgICAgIDwhLS0gdGV4dENodW5rMTogdGV4dC1hbmNob3I6ZW5kICAgIC0t
PgorICAgICAgICA8IS0tIHRleHRDaHVuazI6IHRleHQtYW5jaG9yOnN0YXJ0ICAtLT4KKyAgICAg
ICAgPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgLS0+CisgICAgICAgIDxnIHRy
YW5zZm9ybT0idHJhbnNsYXRlKDAgODApIj4KKworICAgICAgICAgICAgPHRleHQgeT0iNTAiPgor
ICAgICAgICAgICAgICAgIDx0c3BhbiB4PSIxNTAiIHN0eWxlPSJ0ZXh0LWFuY2hvcjplbmQiPkkg
YW0gdGhlPC90c3Bhbj4KKyAgICAgICAgICAgICAgICA8dHNwYW4gc3R5bGU9ImZpbGw6cmVkIj4g
c2FtZSB0ZXh0IGNodW5rPC90c3Bhbj4KKyAgICAgICAgICAgICAgICA8dHNwYW4geD0iMzIwIiB5
PSIzMCIgc3R5bGU9InRleHQtYW5jaG9yOnN0YXJ0Ij5hbm90aGVyIHRleHQgY2h1bms8L3RzcGFu
PgorICAgICAgICAgICAgPC90ZXh0PgorCisgICAgICAgIDwvZz4KKyAgICAgICAgPC9nPgorCisg
ICAgICAgIDwhLS0gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAtLT4KKyAgICAgICAgPCEtLSAjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIC0tPgorCisgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgNTAp
Ij4KKyAgICAgICAgPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgLS0+CisgICAg
ICAgIDwhLS0gdGV4dENodW5rMTogdGV4dC1hbmNob3I6c3RhcnQgIC0tPgorICAgICAgICA8IS0t
IHRleHRDaHVuazI6IHRleHQtYW5jaG9yOm1pZGRsZSAtLT4KKyAgICAgICAgPCEtLSAjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgLS0+CisgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNs
YXRlKDAgMTIwKSI+CisKKyAgICAgICAgICAgIDx0ZXh0IHk9IjUwIj4KKyAgICAgICAgICAgICAg
ICA8dHNwYW4geD0iMTUwIiBzdHlsZT0idGV4dC1hbmNob3I6c3RhcnQiPkkgYW0gdGhlPC90c3Bh
bj4KKyAgICAgICAgICAgICAgICA8dHNwYW4gc3R5bGU9ImZpbGw6cmVkIj4gc2FtZSB0ZXh0IGNo
dW5rPC90c3Bhbj4KKyAgICAgICAgICAgICAgICA8dHNwYW4geD0iMzIwIiB5PSIzMCIgc3R5bGU9
InRleHQtYW5jaG9yOm1pZGRsZSI+YW5vdGhlciB0ZXh0IGNodW5rPC90c3Bhbj4KKyAgICAgICAg
ICAgIDwvdGV4dD4KKworICAgICAgICA8L2c+CisKKworICAgICAgICA8IS0tICMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyAtLT4KKyAgICAgICAgPCEtLSB0ZXh0Q2h1bmsxOiB0ZXh0LWFu
Y2hvcjptaWRkbGUgLS0+CisgICAgICAgIDwhLS0gdGV4dENodW5rMjogdGV4dC1hbmNob3I6bWlk
ZGxlIC0tPgorICAgICAgICA8IS0tICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAtLT4K
KyAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAxNjApIj4KKworICAgICAgICAgICAg
PHRleHQgeT0iNTAiPgorICAgICAgICAgICAgICAgIDx0c3BhbiB4PSIxNTAiIHN0eWxlPSJ0ZXh0
LWFuY2hvcjptaWRkbGUiPkkgYW0gdGhlPC90c3Bhbj4KKyAgICAgICAgICAgICAgICA8dHNwYW4g
c3R5bGU9ImZpbGw6cmVkIj4gc2FtZSB0ZXh0IGNodW5rPC90c3Bhbj4KKyAgICAgICAgICAgICAg
ICA8dHNwYW4geD0iMzIwIiB5PSIzMCIgc3R5bGU9InRleHQtYW5jaG9yOm1pZGRsZSI+YW5vdGhl
ciB0ZXh0IGNodW5rPC90c3Bhbj4KKyAgICAgICAgICAgIDwvdGV4dD4KKworICAgICAgICA8L2c+
CisKKyAgICAgICAgPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgLS0+CisgICAg
ICAgIDwhLS0gdGV4dENodW5rMTogdGV4dC1hbmNob3I6ZW5kICAgIC0tPgorICAgICAgICA8IS0t
IHRleHRDaHVuazI6IHRleHQtYW5jaG9yOm1pZGRsZSAtLT4KKyAgICAgICAgPCEtLSAjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgLS0+CisgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNs
YXRlKDAgMjAwKSI+CisKKyAgICAgICAgICAgIDx0ZXh0IHk9IjUwIj4KKyAgICAgICAgICAgICAg
ICA8dHNwYW4geD0iMTUwIiBzdHlsZT0idGV4dC1hbmNob3I6ZW5kIj5JIGFtIHRoZTwvdHNwYW4+
CisgICAgICAgICAgICAgICAgPHRzcGFuIHN0eWxlPSJmaWxsOnJlZCI+IHNhbWUgdGV4dCBjaHVu
azwvdHNwYW4+CisgICAgICAgICAgICAgICAgPHRzcGFuIHg9IjMyMCIgeT0iMzAiIHN0eWxlPSJ0
ZXh0LWFuY2hvcjptaWRkbGUiPmFub3RoZXIgdGV4dCBjaHVuazwvdHNwYW4+CisgICAgICAgICAg
ICA8L3RleHQ+CisKKyAgICAgICAgPC9nPgorICAgICAgICA8L2c+CisKKyAgICAgICAgPCEtLSAj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIC0tPgorICAgICAgICA8IS0tICMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMg
LS0+CisgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsIDgwKSI+CisKKyAgICAgICAg
PCEtLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAtLT4KKyAgICAgICAgPCEtLSB0ZXh0
Q2h1bmsxOiB0ZXh0LWFuY2hvcjpzdGFydCAtLT4KKyAgICAgICAgPCEtLSB0ZXh0Q2h1bmsyOiB0
ZXh0LWFuY2hvcjplbmQgICAtLT4KKyAgICAgICAgPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyAtLT4KKyAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAyNjApIj4KKwor
ICAgICAgICAgICAgPHRleHQgeT0iNTAiPgorICAgICAgICAgICAgICAgIDx0c3BhbiB4PSIxNTAi
IHN0eWxlPSJ0ZXh0LWFuY2hvcjpzdGFydCI+SSBhbSB0aGU8L3RzcGFuPgorICAgICAgICAgICAg
ICAgIDx0c3BhbiBzdHlsZT0iZmlsbDpyZWQiPiBzYW1lIHRleHQgY2h1bms8L3RzcGFuPgorICAg
ICAgICAgICAgICAgIDx0c3BhbiB4PSIzMjAiIHk9IjMwIiBzdHlsZT0idGV4dC1hbmNob3I6ZW5k
Ij5hbm90aGVyIHRleHQgY2h1bms8L3RzcGFuPgorICAgICAgICAgICAgICAgIDwvdGV4dD4KKwor
ICAgICAgICA8L2c+CisKKworICAgICAgICA8IS0tICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyAtLT4KKyAgICAgICAgPCEtLSB0ZXh0Q2h1bmsxOiB0ZXh0LWFuY2hvcjptaWRkbGUgLS0+
CisgICAgICAgIDwhLS0gdGV4dENodW5rMjogdGV4dC1hbmNob3I6ZW5kICAgIC0tPgorICAgICAg
ICA8IS0tICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAtLT4KKyAgICAgICAgPGcgdHJh
bnNmb3JtPSJ0cmFuc2xhdGUoMCAzMDApIj4KKworICAgICAgICAgICAgPHRleHQgeT0iNTAiPgor
ICAgICAgICAgICAgICAgIDx0c3BhbiB4PSIxNTAiIHN0eWxlPSJ0ZXh0LWFuY2hvcjptaWRkbGUi
PkkgYW0gdGhlPC90c3Bhbj4KKyAgICAgICAgICAgICAgICA8dHNwYW4gc3R5bGU9ImZpbGw6cmVk
Ij4gc2FtZSB0ZXh0IGNodW5rPC90c3Bhbj4KKyAgICAgICAgICAgICAgICA8dHNwYW4geD0iMzIw
IiB5PSIzMCIgc3R5bGU9InRleHQtYW5jaG9yOmVuZCI+YW5vdGhlciB0ZXh0IGNodW5rPC90c3Bh
bj4KKyAgICAgICAgICAgIDwvdGV4dD4KKworICAgICAgICA8L2c+CisKKyAgICAgICAgPCEtLSAj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgLS0+CisgICAgICAgIDwhLS0gdGV4dENodW5r
MTogdGV4dC1hbmNob3I6ZW5kICAgIC0tPgorICAgICAgICA8IS0tIHRleHRDaHVuazI6IHRleHQt
YW5jaG9yOmVuZCAgICAtLT4KKyAgICAgICAgPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMgLS0+CisgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMzQwKSI+CisKKyAg
ICAgICAgICAgIDx0ZXh0IHk9IjUwIj4KKyAgICAgICAgICAgICAgICA8dHNwYW4geD0iMTUwIiBz
dHlsZT0idGV4dC1hbmNob3I6ZW5kIj5JIGFtIHRoZTwvdHNwYW4+CisgICAgICAgICAgICAgICAg
PHRzcGFuIHN0eWxlPSJmaWxsOnJlZCI+IHNhbWUgdGV4dCBjaHVuazwvdHNwYW4+CisgICAgICAg
ICAgICAgICAgPHRzcGFuIHg9IjMyMCIgeT0iMzAiIHN0eWxlPSJ0ZXh0LWFuY2hvcjplbmQiPmFu
b3RoZXIgdGV4dCBjaHVuazwvdHNwYW4+CisgICAgICAgICAgICA8L3RleHQ+CisKKyAgICAgICAg
PC9nPgorICAgICAgICA8L2c+CisgICAgPC9nPgorCisgICAgPCEtLSA9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorICAgIDwh
LS0gQmF0aWsgc2FtcGxlIG1hcmsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAtLT4KKyAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisgICAgPHVzZSB4bGluazpocmVmPSIuLi9y
ZXNvdXJjZXMvYmF0aWtMb2dvLnN2ZyNCYXRpa19UYWdfQm94IiAvPgorPC9zdmc+CgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBzdmcvYmF0aWsvdGV4dC90ZXh0QW5jaG9yLnN2ZwpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5h
bWU6IHN2bjpleGVjdXRhYmxlCiAgICsgKgoKSW5kZXg6IHN2Zy9iYXRpay90ZXh0L3RleHRCaURp
LWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN2Zy9iYXRpay90ZXh0L3RleHRCaURp
LWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQorKysgc3ZnL2JhdGlrL3RleHQvdGV4dEJp
RGktZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKK2YzZGJlNWRl
OGQ3ZDRlNTE2NjcwZmMwNzA5ZjQ2MjhhClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRl
eDogc3ZnL2JhdGlrL3RleHQvdGV4dEJpRGktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN2
Zy9iYXRpay90ZXh0L3RleHRCaURpLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIHN2Zy9i
YXRpay90ZXh0L3RleHRCaURpLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2
MiBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtzdmd9IGF0ICg0NSwzNikgc2l6
ZSA1MDd4MzY4CisgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg0NSwzNikgc2l6ZSA1
MDd4MzY4CisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyMjUsNTApIHNpemUgODAw
eDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC03OCwtMTQpIHNp
emUgMTg0eDE3CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTc4LC0xNCkgd2lkdGggMTg0OiAi
QmlEaSBUZXh0IC8gSW50ZXJuYXRpb25hbCBUZXh0IgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0
ZXh0fSBhdCAoMjI1LDEyNSkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoLTg3LC0xMikgc2l6ZSA4N3gxNQorICAgICAgICAgICAgdGV4dCBydW4g
YXQgKC04NywtMTIpIHdpZHRoIDg1OiAiU29tZSB0ZXh0IGdvZXMgIgorICAgICAgICAgIFJlbmRl
clNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSA2OXgxNSBbY29sb3I9IzAwMDBGRl0KKyAg
ICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoODUsLTEyKSBzaXplIDY5
eDE1CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg4NSwtMTIpIHdpZHRoIDY5IFJUTCBvdmVy
cmlkZTogIihyaWdodCB0byBsZWZ0KSIKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsj
dGV4dH0gYXQgKDE1NCwtMTIpIHNpemUgMTYxeDE1CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MTU0LC0xMikgd2lkdGggMTYxOiAiLCBvdGhlciB0ZXh0IGdvZXMgKGxlZnQgdG8gcmlnaHQpLiIK
KyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIyNSwxNTApIHNpemUgODAweDAKKyAg
ICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC0yMSwtMTIpIHNpemUgMzN4
MTUKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtMjEsLTEyKSB3aWR0aCAzMzogIlNvbWUgIgor
ICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSA4OXgxNSBbY29s
b3I9IzhCMDAwMF0KKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAo
MzMsLTEyKSBzaXplIDg5eDE1CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzMywtMTIpIHdp
ZHRoIDQgUlRMOiAiKSIKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM3LC0xMikgd2lkdGgg
ODE6ICJlbWJlZGRlZCBiaWRpIgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTE4LC0xMikg
d2lkdGggNCBSVEw6ICIoIgorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoMTIyLC0xMikgc2l6ZSAyN3gxNQorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEyMiwtMTIp
IHdpZHRoIDI3OiAiIHRleHQuIgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjI1
LDE3NSkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoLTY4LC0xMCkgc2l6ZSAzOTV4MTMKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtNjgsLTEw
KSB3aWR0aCAxODE6ICJUZXh0IHNlbGVjdGlvbiBhbGxvd3MgdmlzdWFsbHkgZGlzY29udGlndW91
cyAiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTgxLC0xMCkgd2lkdGggMTQ2OiAic2VsZWN0
aW9ucyBhY3Jvc3MgYmktZGlyZWN0aW9uYWwgdGV4dC4iCisgICAgICAgIFJlbmRlclNWR0NvbnRh
aW5lciB7Z30gYXQgKDQ1LDIxMikgc2l6ZSAzMTF4MTkyCisgICAgICAgICAgUmVuZGVyU1ZHVGV4
dCB7dGV4dH0gYXQgKDQ1LDIyNSkgc2l6ZSA4MDB4MCBbY29sb3I9IzE5MTk3MF0KKyAgICAgICAg
ICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTMpIHNpemUgMjk2eDE3Cisg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xMykgd2lkdGggMzU6ICJsYXRpbjogIgorICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzUsLTEzKSB3aWR0aCA3NDogIkFCQ0RFRkcgIgorICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTA5LC0xMykgd2lkdGggMTg3OiAiYWJjZGVmZ2hpamts
bW5vcHFyc3R1dnd4eXoiCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDQ1LDI1
MCkgc2l6ZSA4MDB4MCBbY29sb3I9I0EwNTIyRF0KKyAgICAgICAgICAgIFJlbmRlclNWR0lubGlu
ZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTMpIHNpemUgMTk4eDE3CisgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLC0xMykgd2lkdGggOTc6ICJsYXRpbi1leHRlbmRlZDogIgorICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoOTcsLTEzKSB3aWR0aCAxMDE6ICJceHtFNn1ceHtFN31ceHtFOH1ceHtF
OX1ceHtFQX1ceHtFQn1ceHtFQ31ceHtFRH1ceHtFRX1ceHtFRn1ceHtGMH1ceHtGMX1ceHtGMn1c
eHtGM31ceHtGNH0iCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDQ1LDI3NSkg
c2l6ZSA4MDB4MCBbY29sb3I9IzRCMDA4Ml0KKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoMCwtMTMpIHNpemUgMjkxeDE3CisgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLC0xMykgd2lkdGggNTE6ICJjeXJpbGxpYzogIgorICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoNTEsLTEzKSB3aWR0aCAyNDA6ICJceHs0MTF9XHh7NDEyfVx4ezQxM31ceHs0MTR9XHh7
NDE1fVx4ezQxNn1ceHs0MTd9XHh7NDE4fVx4ezQxOX1ceHs0MUF9XHh7NDFCfVx4ezQxQ31ceHs0
MUR9XHh7NDFFfVx4ezQxRn1ceHs0MjB9XHh7NDIxfVx4ezQyMn1ceHs0MjN9XHh7NDI0fVx4ezQy
NX1ceHs0MjZ9XHh7NDI3fSIKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoNDUs
MzAwKSBzaXplIDgwMHgwIFtjb2xvcj0jODAwMDAwXQorICAgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xMykgc2l6ZSAyOTN4MTcKKyAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsLTEzKSB3aWR0aCA0MzogImdyZWVrOiAiCisgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICg0MywtMTMpIHdpZHRoIDI1MDogIlx4ezM5MX1ceHszOTJ9XHh7MzkzfVx4ezM5NH0g
XHh7M0IxfVx4ezNCMn1ceHszQjN9XHh7M0I0fVx4ezNCNX1ceHszQjZ9XHh7M0I3fVx4ezNCOH1c
eHszQjl9XHh7M0JBfVx4ezNCQn1ceHszQkN9XHh7M0JEfVx4ezNCRX1ceHszQkZ9XHh7M0MwfVx4
ezNDMX1ceHszQzJ9XHh7M0MzfVx4ezNDNH1ceHszQzV9XHh7M0M2fVx4ezNDN31ceHszQzh9XHh7
M0M5fSIKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoNDUsMzI1KSBzaXplIDgw
MHgwIFtjb2xvcj0jNTU2QjJGXQorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3Rl
eHR9IGF0ICgwLC0xMykgc2l6ZSAyODl4MTcKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
LTEzKSB3aWR0aCA1NDogImhlYnJldzogIgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTQs
LTEzKSB3aWR0aCAyMzUgUlRMOiAiXHh7NUQwfVx4ezVEMX1ceHs1RDJ9XHh7NUQzfVx4ezVENH1c
eHs1RDV9XHh7NUQ2fVx4ezVEN31ceHs1RDh9XHh7NUQ5fVx4ezVEQX1ceHs1REJ9XHh7NURDfVx4
ezVERH1ceHs1REV9XHh7NURGfVx4ezVFMH1ceHs1RTF9XHh7NUUyfVx4ezVFM31ceHs1RTR9XHh7
NUU1fVx4ezVFNn1ceHs1RTd9XHh7NUU4fVx4ezVFOX1ceHs1RUF9IgorICAgICAgICAgIFJlbmRl
clNWR1RleHQge3RleHR9IGF0ICg0NSwzNTApIHNpemUgODAweDAgW2NvbG9yPSM1NTZCMkZdCisg
ICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEzKSBzaXplIDIz
NXgxNworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTMpIHdpZHRoIDIzNSBSVEw6ICJc
eHs1RDB9XHh7NUQxfVx4ezVEMn1ceHs1RDN9XHh7NUQ0fVx4ezVENX1ceHs1RDZ9XHh7NUQ3fVx4
ezVEOH1ceHs1RDl9XHh7NURBfVx4ezVEQn1ceHs1REN9XHh7NUREfVx4ezVERX1ceHs1REZ9XHh7
NUUwfVx4ezVFMX1ceHs1RTJ9XHh7NUUzfVx4ezVFNH1ceHs1RTV9XHh7NUU2fVx4ezVFN31ceHs1
RTh9XHh7NUU5fVx4ezVFQX0iCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDQ1
LDM3NSkgc2l6ZSA4MDB4MCBbY29sb3I9IzhCMDAwMF0KKyAgICAgICAgICAgIFJlbmRlclNWR0lu
bGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTMpIHNpemUgMzExeDE3CisgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLC0xMykgd2lkdGggNDY6ICJhcmFiaWM6ICIKKyAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDQ2LC0xMykgd2lkdGggMjY1IFJUTDogIlx4ezYyMX1ceHs2MjN9XHh7NjI0fVx4
ezYyNX1ceHs2MjZ9XHh7NjI3fVx4ezYyOH1ceHs2Mjl9XHh7NjJBfVx4ezYyQn1ceHs2MkN9XHh7
NjJEfVx4ezYyRX1ceHs2MkZ9XHh7NjMwfVx4ezYzMX1ceHs2MzJ9XHh7NjMzfVx4ezYzNH1ceHs2
MzV9XHh7NjM2fVx4ezYzN31ceHs2Mzh9XHh7NjM5fVx4ezY0MH1ceHs2NDF9XHh7NjQyfVx4ezY0
M31ceHs2NDR9XHh7NjQ1fVx4ezY0Nn1ceHs2NDd9XHh7NjQ4fVx4ezY0OX1ceHs2NTB9XHh7Njc2
fSIKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoNDUsNDAwKSBzaXplIDgwMHgw
IFtjb2xvcj0jOEIwMDAwXQorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgwLC0xMykgc2l6ZSAyNjV4MTcKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTEz
KSB3aWR0aCAyNjUgUlRMOiAiXHh7NjIxfVx4ezYyM31ceHs2MjR9XHh7NjI1fVx4ezYyNn1ceHs2
Mjd9XHh7NjI4fVx4ezYyOX1ceHs2MkF9XHh7NjJCfVx4ezYyQ31ceHs2MkR9XHh7NjJFfVx4ezYy
Rn1ceHs2MzB9XHh7NjMxfVx4ezYzMn1ceHs2MzN9XHh7NjM0fVx4ezYzNX1ceHs2MzZ9XHh7NjM3
fVx4ezYzOH1ceHs2Mzl9XHh7NjQwfVx4ezY0MX1ceHs2NDJ9XHh7NjQzfVx4ezY0NH1ceHs2NDV9
XHh7NjQ2fVx4ezY0N31ceHs2NDh9XHh7NjQ5fVx4ezY1MH1ceHs2NzZ9IgorICAgICAgUmVuZGVy
U1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBzdmcvYmF0aWsvdGV4
dC90ZXh0QmlEaS5zdmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3ZnL2JhdGlrL3RleHQvdGV4dEJpRGkuc3Zn
CShyZXZpc2lvbiAwKQorKysgc3ZnL2JhdGlrL3RleHQvdGV4dEJpRGkuc3ZnCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDcyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+
Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMC8vRU4iCisiaHR0cDov
L3d3dy53My5vcmcvVFIvMjAwMS9SRUMtU1ZHLTIwMDEwOTA0L0RURC9zdmcxMC5kdGQiPgorCis8
IS0tCisKKyAgIENvcHlyaWdodCAyMDAxLTIwMDMgIFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRh
dGlvbiAKKworICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIu
MCAodGhlICJMaWNlbnNlIik7CisgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBp
biBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkg
b2YgdGhlIExpY2Vuc2UgYXQKKworICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNl
cy9MSUNFTlNFLTIuMAorCisgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3Ig
YWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgICBkaXN0cmlidXRlZCB1bmRlciB0aGUg
TGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICAgV0lUSE9VVCBX
QVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGlt
cGxpZWQuCisgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zl
cm5pbmcgcGVybWlzc2lvbnMgYW5kCisgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4K
KworLS0+Cis8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cis8IS0tIFRlc3QgZGVzY3JpcHRpb24g
aGVyZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
LS0+Cis8IS0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+Cis8IS0tIEBhdXRob3IgYmlsbC5oYW5lbWFu
QGlyZWxhbmQuc3VuLmNvbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+
Cis8IS0tIEB2ZXJzaW9uICRJZDogdGV4dEJpRGkuc3ZnLHYgMS43IDIwMDQvMDgvMTggMDc6MTI6
MjEgdmhhcmR5IEV4cCAkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC0tPgorPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPD94bWwt
c3R5bGVzaGVldCB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vcmVzb3VyY2VzL3Rlc3QuY3NzIiA/
PgorCis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9
Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSI0NTAiIGhlaWdodD0iNTAwIiB2
aWV3Qm94PSIwIDAgNDUwIDUwMCI+CisgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorICAgIDwhLS0gVGVzdCBj
b250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt
LT4KKyAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0gLS0+CisKKyAgICA8ZyBpZD0idGVzdENvbnRlbnQiPgorICAgICAg
ICA8dGV4dCBjbGFzcz0idGl0bGUiIHg9IjUwJSIgeT0iMTAlIiBmb250LXNpemU9IjE1IiB0ZXh0
LWFuY2hvcj0ibWlkZGxlIiA+CisgICAgICAgICAgICBCaURpIFRleHQgLyBJbnRlcm5hdGlvbmFs
IFRleHQ8L3RleHQ+CisgICAgICAgIDx0ZXh0IHg9IjUwJSIgeT0iMjUlIiBmb250LXNpemU9IjEy
LjUiIHRleHQtYW5jaG9yPSJtaWRkbGUiPlNvbWUgdGV4dCBnb2VzIDx0c3BhbiBmaWxsPSJibHVl
IiBkaXJlY3Rpb249InJ0bCIgdW5pY29kZS1iaWRpPSJiaWRpLW92ZXJyaWRlIj4ocmlnaHQgdG8g
bGVmdCk8L3RzcGFuPiwgb3RoZXIgdGV4dCBnb2VzIChsZWZ0IHRvIHJpZ2h0KS48L3RleHQ+Cisg
ICAgICAKKyAgICAgICAgPHRleHQgeD0iNTAlIiB5PSIzMCUiIGZvbnQtc2l6ZT0iMTIuNSIgdGV4
dC1hbmNob3I9Im1pZGRsZSI+U29tZSA8dHNwYW4gZmlsbD0iZGFya3JlZCIgZGlyZWN0aW9uPSJy
dGwiIHVuaWNvZGUtYmlkaT0iZW1iZWQiPihlbWJlZGRlZCBiaWRpKTwvdHNwYW4+IHRleHQuPC90
ZXh0PgorICAgICAKKyAgICAgIDx0ZXh0IHN0eWxlPSJmb250LXN0eWxlOm9ibGlxdWU7Zm9udC1z
aXplOjEwcHg7dGV4dC1hbmNob3I6bWlkZGxlIiB4PSI1MCUiIHk9IjM1JSI+CisgICAgICAgICAg
ICAgICBUZXh0IHNlbGVjdGlvbiBhbGxvd3MgdmlzdWFsbHkgZGlzY29udGlndW91cyAKKyAgICAg
ICAgICAgICAgIHNlbGVjdGlvbnMgYWNyb3NzIGJpLWRpcmVjdGlvbmFsIHRleHQuCisgICAgICAg
IDwvdGV4dD4KKyAgICAgIDxnIGZvbnQtZmFtaWx5PSJkaWFsb2ciIGZvbnQtc2l6ZT0iMTUiIHRl
eHQtYW5jaG9yPSJzdGFydCI+CisgICAgICAgIDx0ZXh0IGlkPSJsYXRpbiIgZmlsbD0iTWlkbmln
aHRCbHVlIiB4PSIxMCUiIHk9IjQ1JSI+bGF0aW46CisgICAgICAgICBBQkNERUZHCisgICAgICAg
ICBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejwvdGV4dD4gCisgICAgICAgIDx0ZXh0IGlkPSJs
YXRpbi1leHRlbmRlZCIgZmlsbD0iU2llbm5hIiB4PSIxMCUiIHk9IjUwJSI+bGF0aW4tZXh0ZW5k
ZWQ6IAorICAgICAgICAgJiN4MGU2OyYjeDBlNzsmI3gwZTg7JiN4MGU5OyYjeDBlYTsmI3gwZWI7
JiN4MGVjOyYjeDBlZDsmI3gwZWU7JiN4MGVmOyYjeDBmMDsmI3gwZjE7JiN4MGYyOyYjeDBmMzsm
I3gwZjQ7PC90ZXh0PgorICAgICAgICA8dGV4dCBpZD0iY3lyaWxsaWMiIGZpbGw9IkluZGlnbyIg
eD0iMTAlIiB5PSI1NSUiPmN5cmlsbGljOiAKKyAgICAgICAgICYjeDQxMTsmI3g0MTI7JiN4NDEz
OyYjeDQxNDsmI3g0MTU7JiN4NDE2OyYjeDQxNzsmI3g0MTg7JiN4NDE5OyYjeDQxYTsmI3g0MWI7
JiN4NDFjOyYjeDQxZDsmI3g0MWU7JiN4NDFmOyYjeDQyMDsmI3g0MjE7JiN4NDIyOyYjeDQyMzsm
I3g0MjQ7JiN4NDI1OyYjeDQyNjsmI3g0Mjc7PC90ZXh0PgorICAgICAgICA8dGV4dCBpZD0iZ3Jl
ZWsiIGZpbGw9Ik1hcm9vbiIgeD0iMTAlIiB5PSI2MCUiPmdyZWVrOgorICAgICAgICAgJiN4Mzkx
OyYjeDM5MjsmI3gzOTM7JiN4Mzk0OyAmI3gzYjE7JiN4M2IyOyYjeDNiMzsmI3gzYjQ7JiN4M2I1
OyYjeDNiNjsmI3gzYjc7JiN4M2I4OyYjeDNiOTsmI3gzYmE7JiN4M2JiOyYjeDNiYzsmI3gzYmQ7
JiN4M2JlOyYjeDNiZjsmI3gzYzA7JiN4M2MxOyYjeDNjMjsmI3gzYzM7JiN4M2M0OyYjeDNjNTsm
I3gzYzY7JiN4M2M3OyYjeDNjODsmI3gzYzk7PC90ZXh0PiAKKyAgICAgICAgPHRleHQgaWQ9Imhl
YnJldyIgZmlsbD0iRGFya09saXZlR3JlZW4iIHg9IjEwJSIgeT0iNjUlIj5oZWJyZXc6IAorICAg
ICAgICAgJiN4NWQwOyYjeDVkMTsmI3g1ZDI7JiN4NWQzOyYjeDVkNDsmI3g1ZDU7JiN4NWQ2OyYj
eDVkNzsmI3g1ZDg7JiN4NWQ5OyYjeDVkYTsmI3g1ZGI7JiN4NWRjOyYjeDVkZDsmI3g1ZGU7JiN4
NWRmOyYjeDVlMDsmI3g1ZTE7JiN4NWUyOyYjeDVlMzsmI3g1ZTQ7JiN4NWU1OyYjeDVlNjsmI3g1
ZTc7JiN4NWU4OyYjeDVlOTsmI3g1ZWE7PC90ZXh0PgorICAgICAgICA8dGV4dCBmaWxsPSJEYXJr
T2xpdmVHcmVlbiIgeD0iMTAlIiB5PSI3MCUiIAorCSA+JiN4NWQwOyYjeDVkMTsmI3g1ZDI7JiN4
NWQzOyYjeDVkNDsmI3g1ZDU7JiN4NWQ2OyYjeDVkNzsmI3g1ZDg7JiN4NWQ5OyYjeDVkYTsmI3g1
ZGI7JiN4NWRjOyYjeDVkZDsmI3g1ZGU7JiN4NWRmOyYjeDVlMDsmI3g1ZTE7JiN4NWUyOyYjeDVl
MzsmI3g1ZTQ7JiN4NWU1OyYjeDVlNjsmI3g1ZTc7JiN4NWU4OyYjeDVlOTsmI3g1ZWE7PC90ZXh0
PgorICAgICAgICA8dGV4dCBpZD0iYXJhYmljIiBmaWxsPSJEYXJrUmVkIiB4PSIxMCUiIHk9Ijc1
JSI+YXJhYmljOiAKKyAgICAgICAgICYjeDYyMTsmI3g2MjM7JiN4NjI0OyYjeDYyNTsmI3g2MjY7
JiN4NjI3OyYjeDYyODsmI3g2Mjk7JiN4NjJhOyYjeDYyYjsmI3g2MmM7JiN4NjJkOyYjeDYyZTsm
I3g2MmY7JiN4NjMwOyYjeDYzMTsmI3g2MzI7JiN4NjMzOyYjeDYzNDsmI3g2MzU7JiN4NjM2OyYj
eDYzNzsmI3g2Mzg7JiN4NjM5OyYjeDY0MDsmI3g2NDE7JiN4NjQyOyYjeDY0MzsmI3g2NDQ7JiN4
NjQ1OyYjeDY0NjsmI3g2NDc7JiN4NjQ4OyYjeDY0OTsmI3g2NTA7JiN4Njc2OzwvdGV4dD4KKyAg
ICAgICAgPHRleHQgZmlsbD0iRGFya1JlZCIgeD0iMTAlIiB5PSI4MCUiCisJID4mI3g2MjE7JiN4
NjIzOyYjeDYyNDsmI3g2MjU7JiN4NjI2OyYjeDYyNzsmI3g2Mjg7JiN4NjI5OyYjeDYyYTsmI3g2
MmI7JiN4NjJjOyYjeDYyZDsmI3g2MmU7JiN4NjJmOyYjeDYzMDsmI3g2MzE7JiN4NjMyOyYjeDYz
MzsmI3g2MzQ7JiN4NjM1OyYjeDYzNjsmI3g2Mzc7JiN4NjM4OyYjeDYzOTsmI3g2NDA7JiN4NjQx
OyYjeDY0MjsmI3g2NDM7JiN4NjQ0OyYjeDY0NTsmI3g2NDY7JiN4NjQ3OyYjeDY0ODsmI3g2NDk7
JiN4NjUwOyYjeDY3Njs8L3RleHQ+CisgICAgICA8L2c+CisgICAgPC9nPgorCisgICAgPCEtLSA9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09IC0tPgorICAgIDwhLS0gQmF0aWsgc2FtcGxlIG1hcmsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAtLT4KKyAgICA8IS0tID09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisgICAgPHVzZSB4
bGluazpocmVmPSIuLi9yZXNvdXJjZXMvYmF0aWtMb2dvLnN2ZyNCYXRpa19UYWdfQm94IiAvPgor
ICAgIAorPC9zdmc+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBzdmcvYmF0aWsvdGV4dC90ZXh0QmlE
aS5zdmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpOYW1lOiBzdm46ZXhlY3V0YWJsZQogICArICoKCkluZGV4OiBzdmcv
YmF0aWsvdGV4dC90ZXh0RGVjb3JhdGlvbjItZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gc3ZnL2JhdGlrL3RleHQvdGV4dERlY29yYXRpb24yLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZp
c2lvbiAwKQorKysgc3ZnL2JhdGlrL3RleHQvdGV4dERlY29yYXRpb24yLWV4cGVjdGVkLmNoZWNr
c3VtCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACisyM2Q3NTMwYTAwOGM0ODkxNDc2Mzc0MmE1
MmI4MWJiMgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IHN2Zy9iYXRpay90ZXh0
L3RleHREZWNvcmF0aW9uMi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3ZnL2JhdGlrL3Rl
eHQvdGV4dERlY29yYXRpb24yLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIHN2Zy9iYXRp
ay90ZXh0L3RleHREZWNvcmF0aW9uMi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMjIwIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJTVkdDb250YWluZXIge3N2Z30gYXQgKDMxLDI2
KSBzaXplIDM4MHg0MDIKKyAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyMjUsNDApIHNp
emUgODAweDAKKyAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgtMTE0LC0x
NCkgc2l6ZSAyMjl4MTcKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTExNCwtMTQpIHdpZHRoIDIy
OTogIlRleHQgRGVjb3JhdGlvbiB3aXRoIGR4LCBkeSB0ZXN0cyIKKyAgICAgIFJlbmRlclNWR0Nv
bnRhaW5lciB7Z30gYXQgKDMxLDYwKSBzaXplIDM4MHgzNjggW3RyYW5zZm9ybT17bT0oKDEuMDAs
MC4wMCkoMC4wMCwxLjAwKSkgdD0oMC4wMCw1MC4wMCl9XQorICAgICAgICBSZW5kZXJTVkdUZXh0
IHt0ZXh0fSBhdCAoMzEsMjQpIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBzaXplIDEyNngxNworICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsLTE0KSB3aWR0aCAxMjY6ICJUaGlzIGlzIGEgdGV4dCIKKyAgICAgICAgICBSZW5kZXJT
VkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMTgweDE3CisgICAgICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsNCkgc2l6ZSAxODB4MTcKKyAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsNCkgd2lkdGggMTgwOiAidGhhdCBjb3ZlcnMgbXVsdGlwbGUiCisgICAg
ICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDQ1eDE3CisgICAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMjIpIHNpemUgNDV4MTcKKyAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMjIpIHdpZHRoIDQ1OiAibGluZXMiCisgICAgICAg
IFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyMzEsMjQpIHNpemUgODAweDAKKyAgICAgICAgICBS
ZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBzaXplIDEyNngxNworICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsLTE0KSB3aWR0aCAxMjY6ICJUaGlzIGlzIGEgdGV4dCIKKyAg
ICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMTgweDE3CisgICAg
ICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMykgc2l6ZSAxODB4MTcK
KyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMykgd2lkdGggMTgwOiAidGhhdCBjb3ZlcnMg
bXVsdGlwbGUiCisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXpl
IDQ1eDE3CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMjIp
IHNpemUgNDV4MTcKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMjIpIHdpZHRoIDQ1OiAi
bGluZXMiCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzMSwxMDApIHNpemUgODAw
eDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBzaXpl
IDQ1eDE3CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTQpIHdpZHRoIDQ1OiAiVGV4dCAi
CisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDM2eDE3Cisg
ICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDQ1LC0xOSkgc2l6ZSAz
NngxNworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDUsLTE5KSB3aWR0aCAzNjogInRoYXQi
CisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg4MSwtMTkpIHNpemUg
OXgxNworICAgICAgICAgICAgdGV4dCBydW4gYXQgKDgxLC0xOSkgd2lkdGggOTogIiAiCisgICAg
ICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDU0eDE3CisgICAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDkwLC05KSBzaXplIDU0eDE3Cisg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg5MCwtOSkgd2lkdGggNTQ6ICJzaGlmdHMiCisgICAg
ICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzMSwxMzApIHNpemUgODAweDAKKyAgICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBzaXplIDQ1eDE3CisgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTQpIHdpZHRoIDQ1OiAiVGV4dCAiCisgICAgICAgICAg
UmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDM2eDE3CisgICAgICAgICAgICBS
ZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDQ1LC0xOSkgc2l6ZSAzNngxNworICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNDUsLTE5KSB3aWR0aCAzNjogInRoYXQiCisgICAgICAgICAg
UmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg4MSwtMTkpIHNpemUgOXgxNworICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDgxLC0xOSkgd2lkdGggOTogIiAiCisgICAgICAgICAgUmVuZGVy
U1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDU0eDE3CisgICAgICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDkwLC05KSBzaXplIDU0eDE3CisgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICg5MCwtOSkgd2lkdGggNTQ6ICJzaGlmdHMiCisgICAgICAgIFJlbmRlclNW
R1RleHQge3RleHR9IGF0ICgzMSwxNjApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBzaXplIDQ1eDE3CisgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwtMTQpIHdpZHRoIDQ1OiAiVGV4dCAiCisgICAgICAgICAgUmVuZGVyU1ZHVFNw
YW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDM2eDE3CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDQ1LC0xOSkgc2l6ZSAzNngxNworICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoNDUsLTE5KSB3aWR0aCAzNjogInRoYXQiCisgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICg4MSwtMTkpIHNpemUgOXgxNworICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDgxLC0xOSkgd2lkdGggOTogIiAiCisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3Rz
cGFufSBhdCAoMCwwKSBzaXplIDU0eDE3CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0
IHsjdGV4dH0gYXQgKDkwLC05KSBzaXplIDU0eDE3CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICg5MCwtOSkgd2lkdGggNTQ6ICJzaGlmdHMiCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9
IGF0ICgzMSwyMDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsj
dGV4dH0gYXQgKDAsLTE0KSBzaXplIDQ1eDE3CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwt
MTQpIHdpZHRoIDQ1OiAiVGV4dCAiCisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBh
dCAoMCwwKSBzaXplIDM2eDE3CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4
dH0gYXQgKDQ1LC0xOSkgc2l6ZSAzNngxNworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDUs
LTE5KSB3aWR0aCAzNjogInRoYXQiCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3Rl
eHR9IGF0ICg4MSwtMTkpIHNpemUgOXgxNworICAgICAgICAgICAgdGV4dCBydW4gYXQgKDgxLC0x
OSkgd2lkdGggOTogIiAiCisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCww
KSBzaXplIDU0eDE3CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KDkwLC0yNCkgc2l6ZSA1NHgxNworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTAsLTI0KSB3
aWR0aCA1NDogInNoaWZ0cyIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIzMSwx
MDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KDAsLTE0KSBzaXplIDQ1eDE3CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTQpIHdpZHRo
IDQ1OiAiVGV4dCAiCisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBz
aXplIDM2eDE3CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDQ1
LC0xOSkgc2l6ZSAzNngxNworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDUsLTE5KSB3aWR0
aCAzNjogInRoYXQiCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg4
MSwtMTkpIHNpemUgOXgxNworICAgICAgICAgICAgdGV4dCBydW4gYXQgKDgxLC0xOSkgd2lkdGgg
OTogIiAiCisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDU0
eDE3CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDkwLC05KSBz
aXplIDU0eDE3CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg5MCwtOSkgd2lkdGggNTQ6ICJz
aGlmdHMiCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyMzEsMTMwKSBzaXplIDgw
MHgwCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6
ZSA0NXgxNworICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTE0KSB3aWR0aCA0NTogIlRleHQg
IgorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAzNngxNwor
ICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg0NSwtMTkpIHNpemUg
MzZ4MTcKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ1LC0xOSkgd2lkdGggMzY6ICJ0aGF0
IgorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoODEsLTE5KSBzaXpl
IDl4MTcKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg4MSwtMTkpIHdpZHRoIDk6ICIgIgorICAg
ICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSA1NHgxNworICAgICAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg5MCwtOSkgc2l6ZSA1NHgxNwor
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTAsLTkpIHdpZHRoIDU0OiAic2hpZnRzIgorICAg
ICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjMxLDE2MCkgc2l6ZSA4MDB4MAorICAgICAg
ICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgNDV4MTcKKyAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xNCkgd2lkdGggNDU6ICJUZXh0ICIKKyAgICAgICAg
ICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMzZ4MTcKKyAgICAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoNDUsLTE5KSBzaXplIDM2eDE3CisgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICg0NSwtMTkpIHdpZHRoIDM2OiAidGhhdCIKKyAgICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDgxLC0xOSkgc2l6ZSA5eDE3CisgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoODEsLTE5KSB3aWR0aCA5OiAiICIKKyAgICAgICAgICBSZW5k
ZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgNTR4MTcKKyAgICAgICAgICAgIFJlbmRl
clNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoOTAsLTkpIHNpemUgNTR4MTcKKyAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDkwLC05KSB3aWR0aCA1NDogInNoaWZ0cyIKKyAgICAgICAgUmVuZGVy
U1ZHVGV4dCB7dGV4dH0gYXQgKDIzMSwyMDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBzaXplIDQ1eDE3CisgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwtMTQpIHdpZHRoIDQ1OiAiVGV4dCAiCisgICAgICAgICAgUmVuZGVyU1ZH
VFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDM2eDE3CisgICAgICAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKDQ1LC0xOSkgc2l6ZSAzNngxNworICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoNDUsLTE5KSB3aWR0aCAzNjogInRoYXQiCisgICAgICAgICAgUmVuZGVyU1ZH
SW5saW5lVGV4dCB7I3RleHR9IGF0ICg4MSwtMTkpIHNpemUgOXgxNworICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDgxLC0xOSkgd2lkdGggOTogIiAiCisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4g
e3RzcGFufSBhdCAoMCwwKSBzaXplIDU0eDE3CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDkwLC0yNCkgc2l6ZSA1NHgxNworICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoOTAsLTI0KSB3aWR0aCA1NDogInNoaWZ0cyIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7
dGV4dH0gYXQgKDMxLDI0MCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgNDV4MTcKKyAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLC0xNCkgd2lkdGggNDU6ICJUZXh0ICIKKyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNw
YW59IGF0ICgwLDApIHNpemUgMzZ4MTcKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQg
eyN0ZXh0fSBhdCAoNDUsLTE5KSBzaXplIDM2eDE3CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICg0NSwtMTkpIHdpZHRoIDM2OiAidGhhdCIKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0
IHsjdGV4dH0gYXQgKDgxLC0xOSkgc2l6ZSA5eDE3CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
ODEsLTE5KSB3aWR0aCA5OiAiICIKKyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0
ICgwLDApIHNpemUgNTR4MTcKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoOTAsLTkpIHNpemUgNTR4MTcKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDkwLC05
KSB3aWR0aCA1NDogInNoaWZ0cyIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDMx
LDI3MCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoMCwtMTQpIHNpemUgNDV4MTcKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xNCkgd2lk
dGggNDU6ICJUZXh0ICIKKyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDAp
IHNpemUgMzZ4MTcKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAo
NDUsLTE5KSBzaXplIDM2eDE3CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0NSwtMTkpIHdp
ZHRoIDM2OiAidGhhdCIKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KDgxLC0xOSkgc2l6ZSA5eDE3CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoODEsLTE5KSB3aWR0
aCA5OiAiICIKKyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUg
NTR4MTcKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoOTAsLTkp
IHNpemUgNTR4MTcKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDkwLC05KSB3aWR0aCA1NDog
InNoaWZ0cyIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDMxLDMwMCkgc2l6ZSA4
MDB4MAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNp
emUgNDV4MTcKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xNCkgd2lkdGggNDU6ICJUZXh0
ICIKKyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMzZ4MTcK
KyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoNDUsLTE5KSBzaXpl
IDM2eDE3CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0NSwtMTkpIHdpZHRoIDM2OiAidGhh
dCIKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDgxLC0xOSkgc2l6
ZSA5eDE3CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoODEsLTE5KSB3aWR0aCA5OiAiICIKKyAg
ICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgNTR4MTcKKyAgICAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoOTAsLTkpIHNpemUgNTR4MTcK
KyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDkwLC05KSB3aWR0aCA1NDogInNoaWZ0cyIKKyAg
ICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDMxLDMzMCkgc2l6ZSA4MDB4MAorICAgICAg
ICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgNDV4MTcKKyAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xNCkgd2lkdGggNDU6ICJUZXh0ICIKKyAgICAgICAg
ICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMzZ4MTcKKyAgICAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoNDUsLTE5KSBzaXplIDM2eDE3CisgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICg0NSwtMTkpIHdpZHRoIDM2OiAidGhhdCIKKyAgICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDgxLC0xOSkgc2l6ZSA5eDE3CisgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoODEsLTE5KSB3aWR0aCA5OiAiICIKKyAgICAgICAgICBSZW5k
ZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgNTR4MTcKKyAgICAgICAgICAgIFJlbmRl
clNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoOTAsLTI0KSBzaXplIDU0eDE3CisgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICg5MCwtMjQpIHdpZHRoIDU0OiAic2hpZnRzIgorICAgICAgICBSZW5k
ZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjMxLDI0MCkgc2l6ZSA4MDB4MCBbY29sb3I9IzAwMDBGRl0K
KyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMTQ0eDI3IFtj
b2xvcj0jMDAwMDAwXQorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgwLC0xNCkgc2l6ZSA0NXgxNworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTQpIHdp
ZHRoIDQ1OiAiVGV4dCAiCisgICAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgw
LDApIHNpemUgMzZ4MTcKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICg0NSwtMTkpIHNpemUgMzZ4MTcKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDUs
LTE5KSB3aWR0aCAzNjogInRoYXQiCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsj
dGV4dH0gYXQgKDgxLC0xOSkgc2l6ZSA5eDE3CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg4
MSwtMTkpIHdpZHRoIDk6ICIgIgorICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBh
dCAoMCwwKSBzaXplIDU0eDE3CisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoOTAsLTkpIHNpemUgNTR4MTcKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
OTAsLTkpIHdpZHRoIDU0OiAic2hpZnRzIgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBh
dCAoMjMxLDI3MCkgc2l6ZSA4MDB4MCBbY29sb3I9IzAwMDBGRl0KKyAgICAgICAgICBSZW5kZXJT
VkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMTQ0eDI3IFtjb2xvcj0jMDAwMDAwXQorICAg
ICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSA0NXgx
NworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTQpIHdpZHRoIDQ1OiAiVGV4dCAiCisg
ICAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMzZ4MTcgW2Nv
bG9yPSNGRjAwMDBdCisgICAgICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAs
MCkgc2l6ZSAzNngxNyBbY29sb3I9IzAwMDAwMF0KKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKDQ1LC0xOSkgc2l6ZSAzNngxNworICAgICAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDQ1LC0xOSkgd2lkdGggMzY6ICJ0aGF0IgorICAgICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg4MSwtMTkpIHNpemUgOXgxNworICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoODEsLTE5KSB3aWR0aCA5OiAiICIKKyAgICAgICAgICAgIFJlbmRl
clNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSA1NHgxNworICAgICAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDkwLC05KSBzaXplIDU0eDE3CisgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDkwLC05KSB3aWR0aCA1NDogInNoaWZ0cyIKKyAgICAgICAgUmVu
ZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIzMSwzMDApIHNpemUgODAweDAgW2NvbG9yPSMwMDAwRkZd
CisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDE0NHgyNyBb
Y29sb3I9IzAwMDAwMF0KKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoMCwtMTQpIHNpemUgNDV4MTcKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTE0KSB3
aWR0aCA0NTogIlRleHQgIgorICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAo
MCwwKSBzaXplIDM2eDE3CisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoNDUsLTE5KSBzaXplIDM2eDE3CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ1
LC0xOSkgd2lkdGggMzY6ICJ0aGF0IgorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7
I3RleHR9IGF0ICg4MSwtMTkpIHNpemUgOXgxNworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
ODEsLTE5KSB3aWR0aCA5OiAiICIKKyAgICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0g
YXQgKDAsMCkgc2l6ZSA1NHgxNyBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgICAgICAgUmVuZGVy
U1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgICAgIFJl
bmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSA1NHgxNyBbY29sb3I9IzAwMDAwMF0K
KyAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDkwLC05KSBz
aXplIDU0eDE3CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTAsLTkpIHdpZHRoIDU0
OiAic2hpZnRzIgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjMxLDMzMCkgc2l6
ZSA4MDB4MCBbY29sb3I9IzAwMDBGRl0KKyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59
IGF0ICgwLDApIHNpemUgMTQ0eDI3IFtjb2xvcj0jMDAwMDAwXQorICAgICAgICAgICAgUmVuZGVy
U1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSA0NXgxNworICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwtMTQpIHdpZHRoIDQ1OiAiVGV4dCAiCisgICAgICAgICAgICBSZW5k
ZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgOTl4MjcgW2NvbG9yPSNGRjAwMDBdCisg
ICAgICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSA5OXgyNyBb
Y29sb3I9IzAwMDAwMF0KKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4
dH0gYXQgKDQ1LC0xOSkgc2l6ZSA0NXgxNworICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDQ1LC0xOSkgd2lkdGggNDU6ICJ0aGF0ICIKKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdUU3Bh
biB7dHNwYW59IGF0ICgwLDApIHNpemUgNTR4MTcgW2NvbG9yPSMwMDgwMDBdCisgICAgICAgICAg
ICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgNTR4MTcgW2NvbG9y
PSMwMDAwMDBdCisgICAgICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoOTAsLTkpIHNpemUgNTR4MTcKKyAgICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoOTAsLTkpIHdpZHRoIDU0OiAic2hpZnRzIgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0
fSBhdCAoMTMxLDM3MCkgc2l6ZSA4MDB4MCBbY29sb3I9IzAwMDBGRl0KKyAgICAgICAgICBSZW5k
ZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMTQ0eDMyIFtjb2xvcj0jMDAwMDAwXQor
ICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSA0
NXgxNworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTQpIHdpZHRoIDQ1OiAiVGV4dCAi
CisgICAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMzZ4MTcK
KyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg0NSwtMjQpIHNp
emUgMzZ4MTcKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDUsLTI0KSB3aWR0aCAzNjog
InRoYXQiCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDgxLC0y
NCkgc2l6ZSA5eDE3CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg4MSwtMjQpIHdpZHRoIDk6
ICIgIgorICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDU0
eDE3CisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoOTAsLTkp
IHNpemUgNTR4MTcKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTAsLTkpIHdpZHRoIDU0
OiAic2hpZnRzIgpJbmRleDogc3ZnL2JhdGlrL3RleHQvdGV4dERlY29yYXRpb24yLnN2Zwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBzdmcvYmF0aWsvdGV4dC90ZXh0RGVjb3JhdGlvbjIuc3ZnCShyZXZpc2lvbiAw
KQorKysgc3ZnL2JhdGlrL3RleHQvdGV4dERlY29yYXRpb24yLnN2ZwkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwxMjggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ibm8iPz4KKzwh
RE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4wLy9FTiIKKyJodHRwOi8vd3d3
LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI+CisKKzwhLS0K
KworICAgQ29weXJpZ2h0IDIwMDMgIFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAKKwor
ICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJM
aWNlbnNlIik7CisgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlh
bmNlIHdpdGggdGhlIExpY2Vuc2UuCisgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExp
Y2Vuc2UgYXQKKworICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNF
LTIuMAorCisgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRv
IGluIHdyaXRpbmcsIHNvZnR3YXJlCisgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBp
cyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICAgV0lUSE9VVCBXQVJSQU5USUVT
IE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisg
ICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVy
bWlzc2lvbnMgYW5kCisgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworLS0+Cis8
IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0gLS0+Cis8IS0tIFRlc3QgdGhlIGhhbmRsaW5nIG9mIHRleHQgZGVj
b3JhdGlvbiwgZXNwZWNpYWxseSBpbiB0aGUgcHJlc2VuY2Ugb2YgICAgLS0+Cis8IS0tIG9mIGR4
LCBkeSBhdHRyaWJ1dGVzLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLS0+Cis8IS0tIEBhdXRob3IgZGV3ZWVzZUBhcGFjaGUub3JnICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+Cis8IS0tIEB2ZXJzaW9uICRJZDog
dGV4dERlY29yYXRpb24yLnN2Zyx2IDEuMyAyMDA0LzA4LzE4IDA3OjEyOjIxIHZoYXJkeSBFeHAg
JCAtLT4KKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKzw/eG1sLXN0eWxlc2hlZXQgdHlwZT0idGV4
dC9jc3MiIGhyZWY9Ii4uL3Jlc291cmNlcy90ZXN0LmNzcyIgPz4gIAorCis8c3ZnIGlkPSJib2R5
IiB3aWR0aD0iNDUwIiBoZWlnaHQ9IjUwMCIgdmlld0JveD0iMCAwIDQ1MCA1MDAiCisgICAgIHht
bG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgCisgICAgIHhtbG5zOnhsaW5rPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KKworICA8dGl0bGU+VGV4dCBEZWNvcmF0aW9uIHdp
dGggZHgsZHkgVGVzdHM8L3RpdGxlPgorICAgIDx0ZXh0IGNsYXNzPSJ0aXRsZSIgeD0iNTAlIiB5
PSI0MCIKKyAgICA+VGV4dCBEZWNvcmF0aW9uIHdpdGggZHgsIGR5IHRlc3RzPC90ZXh0PgorCisg
IDwhLS0gPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0i
bGlnaHRncmV5Ii8+IC0tPgorICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLCA1MCkiIAorICAg
IGZpbGw9InJnYigwLDAsMCkiIGZvbnQtZmFtaWx5PSJMdWNpZGEgU2FucyBUeXBld3JpdGVyIiBm
b250LXNpemU9IjE1LjAiPgorICAgIDx0ZXh0IHg9IjMxLjAiIHk9IjI0LjAiIHRleHQtZGVjb3Jh
dGlvbj0idW5kZXJsaW5lIgorICAgICAgICA+VGhpcyBpcyBhIHRleHQ8dHNwYW4geD0iMzEuMCIg
ZHk9IjEuMmVtIgorICAgICAgICA+dGhhdCBjb3ZlcnMgbXVsdGlwbGU8L3RzcGFuPjx0c3BhbiB4
PSIzMS4wIiBkeT0iMS4yZW0iCisgICAgICAgID5saW5lczwvdHNwYW4+PC90ZXh0PgorICAgIAor
ICAgIDx0ZXh0IHg9IjIzMS4wIiB5PSIyNCIgdGV4dC1kZWNvcmF0aW9uPSJ1bmRlcmxpbmUiCisg
ICAgICAgID5UaGlzIGlzIGEgdGV4dDx0c3BhbiB4PSIyMzEuMCIgeT0iNDEiCisgICAgICAgID50
aGF0IGNvdmVycyBtdWx0aXBsZTwvdHNwYW4+PHRzcGFuIHg9IjIzMSIgeT0iNjAiCisgICAgICAg
ID5saW5lczwvdHNwYW4+PC90ZXh0PgorCisgICAgPHRleHQgeD0iMzEuMCIgeT0iMTAwIiB0ZXh0
LWRlY29yYXRpb249ImxpbmUtdGhyb3VnaCIKKyAgICAgICAgPlRleHQgPHRzcGFuIGR5PSItNSI+
dGhhdDwvdHNwYW4+IDx0c3BhbiBkeT0iMTAiPnNoaWZ0czwvdHNwYW4+PC90ZXh0PgorICAgIAor
ICAgIDx0ZXh0IHg9IjMxLjAiIHk9IjEzMCIKKyAgICAgICAgPlRleHQgPHRzcGFuIGR5PSItNSIg
dGV4dC1kZWNvcmF0aW9uPSJsaW5lLXRocm91Z2giIAorICAgICAgICA+dGhhdDwvdHNwYW4+IDx0
c3BhbiBkeT0iMTAiPnNoaWZ0czwvdHNwYW4+PC90ZXh0PgorICAgIAorICAgIDx0ZXh0IHg9IjMx
LjAiIHk9IjE2MCIKKyAgICAgICAgPlRleHQgPHRzcGFuIGR5PSItNSI+dGhhdDwvdHNwYW4+IDx0
c3BhbiAKKyAgICAgICAgZHk9IjEwIiB0ZXh0LWRlY29yYXRpb249ImxpbmUtdGhyb3VnaCI+c2hp
ZnRzPC90c3Bhbj48L3RleHQ+CisgICAgCisgICAgPHRleHQgeD0iMzEuMCIgeT0iMjAwIgorICAg
ICAgICA+VGV4dCA8dHNwYW4gZHk9Ii01Ij50aGF0PC90c3Bhbj4gPHRzcGFuIAorICAgICAgICBk
eT0iLTUiIHRleHQtZGVjb3JhdGlvbj0ibGluZS10aHJvdWdoIj5zaGlmdHM8L3RzcGFuPjwvdGV4
dD4KKworICAgIDx0ZXh0IHg9IjIzMS4wIiB5PSIxMDAiIHRleHQtZGVjb3JhdGlvbj0ib3Zlcmxp
bmUiCisgICAgICAgID5UZXh0IDx0c3BhbiBkeT0iLTUiPnRoYXQ8L3RzcGFuPiA8dHNwYW4gZHk9
IjEwIj5zaGlmdHM8L3RzcGFuPjwvdGV4dD4KKyAgICAKKyAgICA8dGV4dCB4PSIyMzEuMCIgeT0i
MTMwIgorICAgICAgICA+VGV4dCA8dHNwYW4gZHk9Ii01IiB0ZXh0LWRlY29yYXRpb249Im92ZXJs
aW5lIiAKKyAgICAgICAgPnRoYXQ8L3RzcGFuPiA8dHNwYW4gZHk9IjEwIj5zaGlmdHM8L3RzcGFu
PjwvdGV4dD4KKyAgICAKKyAgICA8dGV4dCB4PSIyMzEuMCIgeT0iMTYwIgorICAgICAgICA+VGV4
dCA8dHNwYW4gZHk9Ii01Ij50aGF0PC90c3Bhbj4gPHRzcGFuIAorICAgICAgICBkeT0iMTAiIHRl
eHQtZGVjb3JhdGlvbj0ib3ZlcmxpbmUiPnNoaWZ0czwvdHNwYW4+PC90ZXh0PgorICAgIAorICAg
IDx0ZXh0IHg9IjIzMS4wIiB5PSIyMDAiCisgICAgICAgID5UZXh0IDx0c3BhbiBkeT0iLTUiPnRo
YXQ8L3RzcGFuPiA8dHNwYW4gCisgICAgICAgIGR5PSItNSIgdGV4dC1kZWNvcmF0aW9uPSJvdmVy
bGluZSI+c2hpZnRzPC90c3Bhbj48L3RleHQ+CisKKyAgICA8dGV4dCB4PSIzMS4wIiB5PSIyNDAi
IHRleHQtZGVjb3JhdGlvbj0idW5kZXJsaW5lIiAKKyAgICAgICAgPlRleHQgPHRzcGFuIGR5PSIt
NSI+dGhhdDwvdHNwYW4+IDx0c3BhbiBkeT0iMTAiPnNoaWZ0czwvdHNwYW4+PC90ZXh0PgorICAg
IAorICAgIDx0ZXh0IHg9IjMxLjAiIHk9IjI3MCIKKyAgICAgICAgPlRleHQgPHRzcGFuIGR5PSIt
NSIgdGV4dC1kZWNvcmF0aW9uPSJ1bmRlcmxpbmUiIAorICAgICAgICA+dGhhdDwvdHNwYW4+IDx0
c3BhbiBkeT0iMTAiPnNoaWZ0czwvdHNwYW4+PC90ZXh0PgorICAgIAorICAgIDx0ZXh0IHg9IjMx
LjAiIHk9IjMwMCIKKyAgICAgICAgPlRleHQgPHRzcGFuIGR5PSItNSI+dGhhdDwvdHNwYW4+IDx0
c3BhbiAKKyAgICAgICAgZHk9IjEwIiB0ZXh0LWRlY29yYXRpb249InVuZGVybGluZSI+c2hpZnRz
PC90c3Bhbj48L3RleHQ+CisgICAgCisgICAgPHRleHQgeD0iMzEuMCIgeT0iMzMwIgorICAgICAg
ICA+VGV4dCA8dHNwYW4gZHk9Ii01Ij50aGF0PC90c3Bhbj4gPHRzcGFuIAorICAgICAgICBkeT0i
LTUiIHRleHQtZGVjb3JhdGlvbj0idW5kZXJsaW5lIj5zaGlmdHM8L3RzcGFuPjwvdGV4dD4KKwor
CisgICAgPHRleHQgeD0iMjMxLjAiIHk9IjI0MCIgdGV4dC1kZWNvcmF0aW9uPSJ1bmRlcmxpbmUi
IGZpbGw9ImJsdWUiCisgICAgICA+PHRzcGFuIGZpbGw9ImJsYWNrIiBzdHJva2U9Im5vbmUiCisg
ICAgICA+VGV4dCA8dHNwYW4gZHk9Ii01Ij50aGF0PC90c3Bhbj4gPHRzcGFuIGR5PSIxMCIKKyAg
ICAgID5zaGlmdHM8L3RzcGFuPjwvdHNwYW4+PC90ZXh0PgorICAgIAorICAgIDx0ZXh0IHg9IjIz
MS4wIiB5PSIyNzAiIHRleHQtZGVjb3JhdGlvbj0idW5kZXJsaW5lIiBmaWxsPSJibHVlIgorICAg
ICAgPjx0c3BhbiBmaWxsPSJibGFjayIKKyAgICAgID5UZXh0IDx0c3BhbiBkeT0iLTUiIHRleHQt
ZGVjb3JhdGlvbj0ibGluZS10aHJvdWdoIiBmaWxsPSJyZWQiCisgICAgICA+PHRzcGFuIGZpbGw9
ImJsYWNrIj50aGF0PC90c3Bhbj48L3RzcGFuPiA8dHNwYW4gZHk9IjEwIgorICAgICAgPnNoaWZ0
czwvdHNwYW4+PC90c3Bhbj48L3RleHQ+CisgICAgCisgICAgPHRleHQgeD0iMjMxLjAiIHk9IjMw
MCIgdGV4dC1kZWNvcmF0aW9uPSJ1bmRlcmxpbmUiIGZpbGw9ImJsdWUiCisgICAgICA+PHRzcGFu
IGZpbGw9ImJsYWNrIgorICAgICAgICA+VGV4dCA8dHNwYW4gZHk9Ii01Ij50aGF0PC90c3Bhbj4g
PHRzcGFuIAorICAgICAgICBkeT0iMTAiIHRleHQtZGVjb3JhdGlvbj0idW5kZXJsaW5lIiBmaWxs
PSJyZWQiPgorICAgICAgICAgIDx0c3BhbiBmaWxsPSJibGFjayI+c2hpZnRzPC90c3Bhbj48L3Rz
cGFuPjwvdHNwYW4+PC90ZXh0PgorICAgIAorICAgIDx0ZXh0IHg9IjIzMS4wIiB5PSIzMzAiIHRl
eHQtZGVjb3JhdGlvbj0idW5kZXJsaW5lIiBmaWxsPSJibHVlIgorICAgICAgPjx0c3BhbiBmaWxs
PSJibGFjayIKKyAgICAgID5UZXh0IDx0c3BhbiBkeT0iLTUiIHRleHQtZGVjb3JhdGlvbj0ibGlu
ZS10aHJvdWdoIiBmaWxsPSJyZWQiCisgICAgICA+PHRzcGFuIGZpbGw9ImJsYWNrIgorICAgICAg
PnRoYXQgPHRzcGFuIGR5PSIxMCIgdGV4dC1kZWNvcmF0aW9uPSJvdmVybGluZSIgZmlsbD0iZ3Jl
ZW4iCisgICAgICA+PHRzcGFuIGZpbGw9ImJsYWNrIgorICAgICAgPnNoaWZ0czwvdHNwYW4+PC90
c3Bhbj48L3RzcGFuPjwvdHNwYW4+PC90c3Bhbj48L3RleHQ+CisKKyAgICA8dGV4dCB4PSIxMzEu
MCIgeT0iMzcwIiB0ZXh0LWRlY29yYXRpb249InVuZGVybGluZSIgZmlsbD0iYmx1ZSIKKyAgICAg
ID48dHNwYW4gZmlsbD0iYmxhY2siPlRleHQgPHRzcGFuIHk9IjM2MCI+dGhhdDwvdHNwYW4+IAor
ICAgICAgPHRzcGFuIHk9IjM3NSIgPnNoaWZ0czwvdHNwYW4+PC90c3Bhbj48L3RleHQ+CisKKyAg
ICA8L2c+Cis8L3N2Zz4KKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogc3ZnL2JhdGlrL3RleHQvdGV4
dERlY29yYXRpb24yLnN2ZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjpleGVjdXRhYmxlCiAgICsgKgoK
SW5kZXg6IHN2Zy9iYXRpay90ZXh0L3RleHREZWNvcmF0aW9uLnN2Zy1kaXNhYmxlZAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBzdmcvYmF0aWsvdGV4dC90ZXh0RGVjb3JhdGlvbi5zdmctZGlzYWJsZWQJKHJldmlz
aW9uIDApCisrKyBzdmcvYmF0aWsvdGV4dC90ZXh0RGVjb3JhdGlvbi5zdmctZGlzYWJsZWQJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsOTYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9u
ZT0ibm8iPz4KKzwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4wLy9FTiIK
KyJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0
ZCI+CisKKzwhLS0KKworICAgQ29weXJpZ2h0IDIwMDEgIFRoZSBBcGFjaGUgU29mdHdhcmUgRm91
bmRhdGlvbiAKKworICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9u
IDIuMCAodGhlICJMaWNlbnNlIik7CisgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2Vw
dCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgICBZb3UgbWF5IG9idGFpbiBhIGNv
cHkgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNl
bnNlcy9MSUNFTlNFLTIuMAorCisgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcg
b3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgICBkaXN0cmlidXRlZCB1bmRlciB0
aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICAgV0lUSE9V
VCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9y
IGltcGxpZWQuCisgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBn
b3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5z
ZS4KKworLS0+Cis8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cis8IS0tIFRlc3RzIHRoZSB0ZXh0
IGRlY29yYXRpb24gcHJvcGVydHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLS0+Cis8IS0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+Cis8IS0tIEBhdXRob3IgYmVsbGEucm9i
aW5zb25AY21pcy5jc2lyby5hdSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
LS0+Cis8IS0tIEB2ZXJzaW9uICRJZDogdGV4dERlY29yYXRpb24uc3ZnLHYgMS40IDIwMDQvMDgv
MTggMDc6MTI6MjEgdmhhcmR5IEV4cCAkICAgICAgICAtLT4KKzwhLS0gPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PSAtLT4KKzw/eG1sLXN0eWxlc2hlZXQgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uLy4uL3Jlc291
cmNlcy9zdHlsZS90ZXN0LmNzcyIgPz4gIAorCis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9y
Zy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGlk
PSJib2R5IiB3aWR0aD0iNDUwIiBoZWlnaHQ9IjUwMCIgdmlld0JveD0iMCAwIDQ1MCA1MDAiPgor
PHRpdGxlPlRleHQgZGVjb3JhdGlvbiB0ZXN0PC90aXRsZT4KKworICAgIDxzdHlsZSB0eXBlPSJ0
ZXh0L2NzcyI+PCFbQ0RBVEFbCisgICAgICAgIAorICAgIF1dPjwvc3R5bGU+CisKKyAgICA8ZGVm
cz4KKyAgICAgICAgICAgIDxwYXR0ZXJuIGlkPSJzdmdQYXR0ZXJuIiB2aWV3Qm94PSIwIDAgMTAg
MTAiIHg9IjAiIHk9IjAiIHdpZHRoPSI1IiBoZWlnaHQ9IjUiCisgICAgICAgICAgICAgICAgICAg
ICBwYXR0ZXJuQ29udGVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgcGF0dGVyblVuaXRzPSJ1c2Vy
U3BhY2VPblVzZSI+CisgICAgICAgICAgICAgICAgPGcgZmlsbD0icmVkIiBzdHJva2U9Im5vbmUi
PgorICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iNSIgaGVpZ2h0
PSI1IiAvPgorICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PSI1IiB5PSI1IiB3aWR0aD0iNSIg
aGVpZ2h0PSI1IiAvPgorICAgICAgICAgICAgICAgIDwvZz4KKyAgICAgICAgICAgICAgICA8ZyBm
aWxsPSJibGFjayIgc3Ryb2tlPSJub25lIj4KKyAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD0i
MCIgeT0iNSIgd2lkdGg9IjUiIGhlaWdodD0iNSIgLz4KKyAgICAgICAgICAgICAgICAgICAgPHJl
Y3QgeD0iNSIgeT0iMCIgd2lkdGg9IjUiIGhlaWdodD0iNSIgLz4KKyAgICAgICAgICAgICAgICA8
L2c+CisKKyAgICAgICAgICAgIDwvcGF0dGVybj4KKyAgICA8L2RlZnM+CisKKworICAgIDxnIGlk
PSJjb250ZW50Ij4KKworICAgICAgICA8dGV4dCBjbGFzcz0idGl0bGUiIHg9IjUwJSIgeT0iNDAi
PlRleHQgZGVjb3JhdGlvbiB0ZXN0PC90ZXh0PgorCisgICAgICAgIDxnIGZvbnQtc2l6ZT0iMjAi
PgorCisgICAgICAgICAgIDxnIGZpbGw9IiM2NjY2RkYiPgorICAgICAgICAgICAgICAgIDx0ZXh0
IHg9IjUwIiB5PSIxMDAiIHRleHQtZGVjb3JhdGlvbj0idW5kZXJsaW5lIj5VbmRlcmxpbmU8L3Rl
eHQ+ICAgICAKKyAgICAgICAgICAgICAgICA8dGV4dCB4PSIxNzAiIHk9IjEwMCIgdGV4dC1kZWNv
cmF0aW9uPSJvdmVybGluZSI+T3ZlcmxpbmU8L3RleHQ+IAorICAgICAgICAgICAgICAgIDx0ZXh0
IHg9IjI3MCIgeT0iMTAwIiB0ZXh0LWRlY29yYXRpb249ImxpbmUtdGhyb3VnaCI+TGluZS10aHJv
dWdoPC90ZXh0PgorICAgICAgICAgICAgPC9nPgorCisJCTxnIGZpbGw9Im5vbmUiIHN0cm9rZT0i
IzMzQ0MzMyIgc3Ryb2tlLXdpZHRoPSIwLjI1Ij4KKyAgICAgICAgICAgICAgICA8dGV4dCB4PSI1
MCIgeT0iMTQwIiB0ZXh0LWRlY29yYXRpb249InVuZGVybGluZSI+VW5kZXJsaW5lPC90ZXh0PiAg
ICAgCisgICAgICAgICAgICAgICAgPHRleHQgeD0iMTcwIiB5PSIxNDAiIHRleHQtZGVjb3JhdGlv
bj0ib3ZlcmxpbmUiPk92ZXJsaW5lPC90ZXh0PiAKKyAgICAgICAgICAgICAgICA8dGV4dCB4PSIy
NzAiIHk9IjE0MCIgdGV4dC1kZWNvcmF0aW9uPSJsaW5lLXRocm91Z2giPkxpbmUtdGhyb3VnaDwv
dGV4dD4KKyAgICAgICAgICAgIDwvZz4KKworCSAgICAgIDxnIGZpbGw9InVybCgjc3ZnUGF0dGVy
bikiPgorICAgICAgICAgICAgICAgIDx0ZXh0IHg9IjUwIiB5PSIxODAiIHRleHQtZGVjb3JhdGlv
bj0idW5kZXJsaW5lIj5VbmRlcmxpbmU8L3RleHQ+ICAgICAKKyAgICAgICAgICAgICAgICA8dGV4
dCB4PSIxNzAiIHk9IjE4MCIgdGV4dC1kZWNvcmF0aW9uPSJvdmVybGluZSI+T3ZlcmxpbmU8L3Rl
eHQ+IAorICAgICAgICAgICAgICAgIDx0ZXh0IHg9IjI3MCIgeT0iMTgwIiB0ZXh0LWRlY29yYXRp
b249ImxpbmUtdGhyb3VnaCI+TGluZS10aHJvdWdoPC90ZXh0PgorICAgICAgICAgICAgPC9nPgor
CisKKyAgICAgICAgICAgIDx0ZXh0IHg9IjUwIiB5PSIyMjAiIGZpbGw9IiM2NjY2RkYiIHRleHQt
ZGVjb3JhdGlvbj0idW5kZXJsaW5lIG92ZXJsaW5lIj5VbmRlcmxpbmUgYW5kIG92ZXJsaW5lPC90
ZXh0PiAgCisgICAgICAgICAgICA8dGV4dCB4PSI1MCIgeT0iMjYwIiBmaWxsPSJub25lIiBzdHJv
a2U9IiMzM0NDMzMiIHN0cm9rZS13aWR0aD0iMC4yNSIgdGV4dC1kZWNvcmF0aW9uPSJsaW5lLXRo
cm91Z2ggdW5kZXJsaW5lIG92ZXJsaW5lIj5VbmRlcmxpbmUsIG92ZXJsaW5lIGFuZCBsaW5lLXRo
cm91Z2g8L3RleHQ+CisgICAgICAgICAgICA8dGV4dCB4PSI1MCIgeT0iMzAwIiBmaWxsPSJ1cmwo
I3N2Z1BhdHRlcm4pIiB0ZXh0LWRlY29yYXRpb249InVuZGVybGluZSI+RGVjb3JhdGlvbnMgPHRz
cGFuIGZpbGw9ImJsYWNrIiBkeT0iLTEwIj53aXRoPC90c3Bhbj48dHNwYW4gZHk9IjEwIj4gdHNw
YW48L3RzcGFuPjwvdGV4dD4gCisgICAgICAgICAgICA8dGV4dCB4PSI1MCIgeT0iMzQwIiBmaWxs
PSIjNjY2NkZGIiBmaWxsLW9wYWNpdHk9IjAuNSIgdGV4dC1kZWNvcmF0aW9uPSJsaW5lLXRocm91
Z2giPlRyYW5zcGFyZW50IHRleHQgPHRzcGFuIGZpbGw9IiMzM0NDMzMiIGZpbGwtb3BhY2l0eT0i
MSI+d2l0aDwvdHNwYW4+IHRzcGFuPC90ZXh0PiAKKyAgICAgICAgICAgIDx0ZXh0IHg9IjUwIiB5
PSIzODAiIHRleHQtZGVjb3JhdGlvbj0ibGluZS10aHJvdWdoIj5Uc3BhbiA8dHNwYW4gZmlsbD0i
dXJsKCNzdmdQYXR0ZXJuKSIgdGV4dC1kZWNvcmF0aW9uPSJsaW5lLXRocm91Z2giPndpdGggb3du
PC90c3Bhbj4gZGVjb3JhdGlvbjwvdGV4dD4KKyAgICAgICAgICAgIDx0ZXh0IHg9IjUwIiB5PSI0
MjAiIGZpbGw9IiM2NjY2RkYiIHRleHQtZGVjb3JhdGlvbj0ib3ZlcmxpbmUiPlRzcGFuIDx0c3Bh
biBmaWxsPSIjMzNDQzMzIiB0ZXh0LWRlY29yYXRpb249Im5vbmUiPndpdGggbm88L3RzcGFuPiBk
ZWNvcmF0aW9uPC90ZXh0PgorICAgICAgICAgICAgPHRleHQgeD0iNTAiIHk9IjQ2MCIgZmlsbD0i
IzY2NjZGRiIgdGV4dC1kZWNvcmF0aW9uPSJsaW5lLXRocm91Z2giPk5lc3RlZCA8dHNwYW4gZmls
bD0idXJsKCNzdmdQYXR0ZXJuKSIgdGV4dC1kZWNvcmF0aW9uPSJ1bmRlcmxpbmUiPnRzcGFuIDx0
c3BhbiBmaWxsPSIjMzNDQzMzIiB0ZXh0LWRlY29yYXRpb249Im92ZXJsaW5lIj5kZWNvcjwvdHNw
YW4+YXRpb25zPC90c3Bhbj48L3RleHQ+CisgCisgICAgPC9nPgorICAgICAgIAorICAgIDwvZz4K
KworICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PSAtLT4KKyAgICA8IS0tIEJhdGlrIHNhbXBsZSBtYXJrICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+CisgICAgPCEtLSA9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0t
PgorICAgIDx1c2UgeGxpbms6aHJlZj0iLi4vLi4vLi4vYmF0aWtMb2dvLnN2ZyNCYXRpa19UYWdf
Qm94IiAvPgorCis8L3N2Zz4KKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogc3ZnL2JhdGlrL3RleHQv
dGV4dERlY29yYXRpb24uc3ZnLWRpc2FibGVkCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOmV4ZWN1dGFi
bGUKICAgKyAqCgpJbmRleDogc3ZnL2JhdGlrL3RleHQvdGV4dEVmZmVjdDItZXhwZWN0ZWQuY2hl
Y2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gc3ZnL2JhdGlrL3RleHQvdGV4dEVmZmVjdDItZXhwZWN0ZWQu
Y2hlY2tzdW0JKHJldmlzaW9uIDApCisrKyBzdmcvYmF0aWsvdGV4dC90ZXh0RWZmZWN0Mi1leHBl
Y3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorOTkyMjE5MTIxZmQ5NWNm
Mzg2ZTRmYTU2N2JiM2EzMzgKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBzdmcv
YmF0aWsvdGV4dC90ZXh0RWZmZWN0Mi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3ZnL2Jh
dGlrL3RleHQvdGV4dEVmZmVjdDItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgc3ZnL2Jh
dGlrL3RleHQvdGV4dEVmZmVjdDItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDI3IEBACitLUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJncmFkIiBbdHlwZT1MSU5FQVItR1JB
RElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGRDcwMCksICgwLjUwLCNGRkE1MDApLCAoMS4wMCwjREMx
NDNDKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV19CitLQ2FudmFzUmVzb3VyY2Uge2lkPSJj
bGlwIiBbdHlwZT1DTElQUEVSXSBbY2xpcCBkYXRhPVtdXX0KK0tDYW52YXNSZXNvdXJjZSB7aWQ9
InN2Z0NsaXAiIFt0eXBlPUNMSVBQRVJdIFtjbGlwIGRhdGE9W11dfQorbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVu
ZGVyU1ZHQ29udGFpbmVyIHtzdmd9IGF0ICgxMDAsMTYpIHNpemUgMjY1eDI4OQorICAgICAgUmVu
ZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTAwLDE2KSBzaXplIDI2NXgyODkKKyAgICAgICAgUmVu
ZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIyNSwzMCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRl
clNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTY2LC0xNCkgc2l6ZSAxMzN4MTcKKyAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgtNjYsLTE0KSB3aWR0aCAxMzM6ICJjbGlwLXBhdGggdXNpbmcgdGV4
dCIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIyNSw1MCkgc2l6ZSA4MDB4MAor
ICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTExOSwtMTQpIHNpemUg
MjM4eDE3CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTExOSwtMTQpIHdpZHRoIDIzODogIihV
c2luZyBTeXN0ZW0gZm9udCBhbmQgU1ZHIGZvbnQpIgorICAgICAgICBSZW5kZXJTVkdIaWRkZW5D
b250YWluZXIge2RlZnN9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVyU1ZHSGlk
ZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAg
ICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAg
ICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAg
ICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAK
KyAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDEwMCwxNjApIHNpemUgMjAweDQ1IFtmaWxs
PXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGRDcwMCksICgwLjUwLCNG
RkE1MDApLCAoMS4wMCwjREMxNDNDKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV19XSBbY2xp
cCBwYXRoPSIjY2xpcCJdIFtkYXRhPSJNMTAwLjAwLDE2MC4wMEwzMDAuMDAsMTYwLjAwTDMwMC4w
MCwyMDUuMDBMMTAwLjAwLDIwNS4wMCJdCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0
ICgzMDAsMjAwKSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3Rl
eHR9IGF0ICgwLC0xMSkgc2l6ZSA2NXgxNAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTEx
KSB3aWR0aCA2NTogIihTeXN0ZW0gZm9udCkiCisgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0
ICgxMDAsMjYwKSBzaXplIDIwMHg0NSBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3Rv
cHM9WygwLjAwLCNGRkQ3MDApLCAoMC41MCwjRkZBNTAwKSwgKDEuMDAsI0RDMTQzQyldXSBbc3Rh
cnQ9KDAsMCldIFtlbmQ9KDEsMCldfV0gW2NsaXAgcGF0aD0iI3N2Z0NsaXAiXSBbZGF0YT0iTTEw
MC4wMCwyNjAuMDBMMzAwLjAwLDI2MC4wMEwzMDAuMDAsMzA1LjAwTDEwMC4wMCwzMDUuMDAiXQor
ICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMzAwLDMwMCkgc2l6ZSA4MDB4MAorICAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTEpIHNpemUgNTV4MTQK
KyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xMSkgd2lkdGggNTU6ICIoU1ZHIGZvbnQpIgor
ICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBz
dmcvYmF0aWsvdGV4dC90ZXh0RWZmZWN0Mi5zdmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3ZnL2JhdGlrL3Rl
eHQvdGV4dEVmZmVjdDIuc3ZnCShyZXZpc2lvbiAwKQorKysgc3ZnL2JhdGlrL3RleHQvdGV4dEVm
ZmVjdDIuc3ZnCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDkyIEBACis8P3htbCB2ZXJzaW9uPSIx
LjAiIHN0YW5kYWxvbmU9Im5vIj8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQg
U1ZHIDEuMC8vRU4iCisiaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMtU1ZHLTIwMDEwOTA0
L0RURC9zdmcxMC5kdGQiPgorCis8IS0tCisKKyAgIENvcHlyaWdodCAyMDAxICBUaGUgQXBhY2hl
IFNvZnR3YXJlIEZvdW5kYXRpb24gCisKKyAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGlj
ZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICAgeW91IG1heSBub3QgdXNlIHRo
aXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICAgWW91IG1h
eSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgICBodHRwOi8vd3d3LmFw
YWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFw
cGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICAgZGlzdHJp
YnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJ
UywKKyAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRo
ZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lm
aWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICAgbGltaXRhdGlvbnMgdW5k
ZXIgdGhlIExpY2Vuc2UuCisKKy0tPgorPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPCEtLSAg
dGV4dCBlZmZlY3RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC0tPgorPCEtLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorPCEtLSBAYXV0
aG9yIHRrb3JtYW5uQGFwYWNoZS5vcmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC0tPgorPCEtLSBAdmVyc2lvbiAkSWQ6IHRleHRFZmZlY3QyLnN2Zyx2IDEu
NSAyMDA0LzA4LzE4IDA3OjEyOjIxIHZoYXJkeSBFeHAgJCAtLT4KKzwhLS0gPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PSAtLT4KKworPD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vcmVz
b3VyY2VzL3Rlc3QuY3NzIiA/PgorCis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAw
L3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSI0
NTAiIGhlaWdodD0iNTAwIiB2aWV3Qm94PSIwIDAgNDUwIDUwMCI+Cis8dGl0bGU+TWl4IHRleHQg
dHJhbnNmb3JtYXRpb248L3RpdGxlPgorCisgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorICAgIDwhLS0gVGVz
dCBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAtLT4KKyAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0gLS0+CisgICAgPGcgaWQ9InRlc3RDb250ZW50Ij4KKyAgICAg
ICAgPHRleHQgeD0iMjI1IiB5PSIzMCIgY2xhc3M9InRpdGxlIj5jbGlwLXBhdGggdXNpbmcgdGV4
dDwvdGV4dD4KKyAgICAgICAgPHRleHQgeD0iMjI1IiB5PSI1MCIgY2xhc3M9InRpdGxlIj4oVXNp
bmcgU3lzdGVtIGZvbnQgYW5kIFNWRyBmb250KTwvdGV4dD4KKworCis8ZGVmcz4KKworPGZvbnQg
aWQ9IlNWR0FyaWFsIiBob3Jpei1hZHYteD0iOTA0IiA+Cis8Zm9udC1mYWNlCisgICAgZm9udC1m
YW1pbHk9IlNWR0FyaWFsIgorICAgIHVuaXRzLXBlci1lbT0iMjA0OCIKKyAgICBwYW5vc2UtMT0i
MiAxMSA2IDQgMiAyIDIgMiAyIDQiCisgICAgYXNjZW50PSIxODU0IgorICAgIGRlc2NlbnQ9Ii00
MzQiIC8+CisKKzxtaXNzaW5nLWdseXBoIGhvcml6LWFkdi14PSIxNTM2IiBkPSJNMjU2IDBWMTI4
MEgxMjgwVjBIMjU2Wk0yODggMzJIMTI0OFYxMjQ4SDI4OFYzMloiIC8+CisKKzxnbHlwaCB1bmlj
b2RlPSJBIiBnbHlwaC1uYW1lPSJBIiBob3Jpei1hZHYteD0iMTM2NiIgZD0iTS0zIDBMNTYwIDE0
NjZINzY5TDEzNjkgMEgxMTQ4TDk3NyA0NDRIMzY0TDIwMyAwSC0zWk00MjAgNjAySDkxN0w3NjQg
MTAwOFE2OTQgMTE5MyA2NjAgMTMxMlE2MzIgMTE3MSA1ODEgMTAzMkw0MjAgNjAyWiIgLz4KKzxn
bHlwaCB1bmljb2RlPSJCIiBnbHlwaC1uYW1lPSJCIiBob3Jpei1hZHYteD0iMTM2NiIgZD0iTTE1
MCAwVjE0NjZINzAwUTg2OCAxNDY2IDk2OSAxNDIyVDExMjggMTI4NVQxMTg2IDEwOTFRMTE4NiA5
OTcgMTEzNSA5MTRUOTgxIDc4MFExMTE0IDc0MSAxMTg1IDY0N1QxMjU3IDQyNVExMjU3IDMyMiAx
MjE0IDIzNFQxMTA2IDk3VDk0NiAyNVQ3MDkgMEgxNTBaTTM0NCA4NTBINjYxUTc5MCA4NTAgODQ2
IDg2N1E5MjAgODg5Cis5NTcgOTQwVDk5NSAxMDY4UTk5NSAxMTQxIDk2MCAxMTk2VDg2MCAxMjcy
VDYzNyAxMjkzSDM0NFY4NTBaTTM0NCAxNzNINzA5UTgwMyAxNzMgODQxIDE4MFE5MDggMTkyIDk1
MyAyMjBUMTAyNyAzMDFUMTA1NiA0MjVRMTA1NiA1MDcgMTAxNCA1NjdUODk4IDY1MlQ2ODMgNjc3
SDM0NFYxNzNaIiAvPgorPGdseXBoIHVuaWNvZGU9IkkiIGdseXBoLW5hbWU9IkkiIGhvcml6LWFk
di14PSI1NjkiIGQ9Ik0xOTEgMFYxNDY2SDM4NVYwSDE5MVoiIC8+Cis8Z2x5cGggdW5pY29kZT0i
SyIgZ2x5cGgtbmFtZT0iSyIgaG9yaXotYWR2LXg9IjEzNjYiIGQ9Ik0xNTAgMFYxNDY2SDM0NFY3
MzlMMTA3MiAxNDY2SDEzMzVMNzIwIDg3MkwxMzYyIDBIMTEwNkw1ODQgNzQyTDM0NCA1MDhWMEgx
NTBaIiAvPgorPGdseXBoIHVuaWNvZGU9IlQiIGdseXBoLW5hbWU9IlQiIGhvcml6LWFkdi14PSIx
MjUxIiBkPSJNNTMxIDBWMTI5M0g0OFYxNDY2SDEyMTBWMTI5M0g3MjVWMEg1MzFaIiAvPgorPC9m
b250PgorCisJPGxpbmVhckdyYWRpZW50IGlkPSJncmFkIj4KKwkJPHN0b3Agc3R5bGU9InN0b3At
Y29sb3I6Z29sZCIgb2Zmc2V0PSIwIi8+CisJCTxzdG9wIHN0eWxlPSJzdG9wLWNvbG9yOm9yYW5n
ZSIgb2Zmc2V0PSIuNSIvPgorCQk8c3RvcCBzdHlsZT0ic3RvcC1jb2xvcjpjcmltc29uIiBvZmZz
ZXQ9IjEiLz4KKwk8L2xpbmVhckdyYWRpZW50PgorCis8Y2xpcFBhdGggaWQ9ImNsaXAiIGNsaXBQ
YXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KKyAgPHRleHQgeD0iMTAwIiB5PSIyMDAiIHN0eWxl
PSJmb250LXNpemU6NDBwdDsgZm9udC1mYW1pbHk6QXJpYWwiPkJBVElLPC90ZXh0PgorPC9jbGlw
UGF0aD4KKworPGNsaXBQYXRoIGlkPSJzdmdDbGlwIiBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VP
blVzZSIgPgorICA8dGV4dCB4PSIxMDAiIHk9IjMwMCIgc3R5bGU9ImZvbnQtc2l6ZTo0MHB0OyBm
b250LWZhbWlseTpBcmlhbCI+QkFUSUs8L3RleHQ+Cis8L2NsaXBQYXRoPgorCis8L2RlZnM+CisK
KyAgPHJlY3QgeD0iMTAwIiB5PSIxNjAiIHdpZHRoPSIyMDAiIGhlaWdodD0iNDUiIHN0eWxlPSJm
aWxsOnVybCgjZ3JhZCk7IGNsaXAtcGF0aDp1cmwoI2NsaXApIiAvPgorICA8dGV4dCB4PSIzMDAi
IHk9IjIwMCIgc3R5bGU9ImZvbnQtc2l6ZToxMnB4OyBmaWx0ZXI6bm9uZTsgZmlsbDpibGFjayI+
KFN5c3RlbSBmb250KTwvdGV4dD4KKworICA8cmVjdCB4PSIxMDAiIHk9IjI2MCIgd2lkdGg9IjIw
MCIgaGVpZ2h0PSI0NSIgc3R5bGU9ImZpbGw6dXJsKCNncmFkKTsgY2xpcC1wYXRoOnVybCgjc3Zn
Q2xpcCkiIC8+CisgIDx0ZXh0IHg9IjMwMCIgeT0iMzAwIiBzdHlsZT0iZm9udC1zaXplOjEycHg7
IGZpbHRlcjpub25lOyBmaWxsOmJsYWNrIj4oU1ZHIGZvbnQpPC90ZXh0PgorCisgICAgPC9nPgor
CisKKyAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0gLS0+CisgICAgPCEtLSBCYXRpayBzYW1wbGUgbWFyayAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorICAgIDwhLS0gPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAt
LT4KKyAgICA8dXNlIHhsaW5rOmhyZWY9Ii4uL3Jlc291cmNlcy9iYXRpa0xvZ28uc3ZnI0JhdGlr
X1RhZ19Cb3giIC8+CisKKzwvc3ZnPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogc3ZnL2JhdGlrL3Rl
eHQvdGV4dEVmZmVjdDIuc3ZnCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOmV4ZWN1dGFibGUKICAgKyAq
CgpJbmRleDogc3ZnL2JhdGlrL3RleHQvdGV4dEVmZmVjdDMtZXhwZWN0ZWQuY2hlY2tzdW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gc3ZnL2JhdGlrL3RleHQvdGV4dEVmZmVjdDMtZXhwZWN0ZWQuY2hlY2tzdW0J
KHJldmlzaW9uIDApCisrKyBzdmcvYmF0aWsvdGV4dC90ZXh0RWZmZWN0My1leHBlY3RlZC5jaGVj
a3N1bQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorMGM5ODZjODMxNWY0Yjg1YmI0MWFmODBh
MWNlMWExMmYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBzdmcvYmF0aWsvdGV4
dC90ZXh0RWZmZWN0My1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3ZnL2JhdGlrL3RleHQv
dGV4dEVmZmVjdDMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgc3ZnL2JhdGlrL3RleHQv
dGV4dEVmZmVjdDMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDExOSBAQAor
S1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0ibGluZWFyR3JhZGllbnQiIFt0eXBlPUxJTkVBUi1H
UkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkZENzAwKSwgKDAuNTAsI0ZGQTUwMCksICgxLjAwLCNE
QzE0M0MpXV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXX0KK0tSZW5kZXJpbmdQYWludFNlcnZl
ciB7aWQ9InJhZGlhbEdyYWRpZW50IiBbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtzdG9wcz1bKDAu
MDAsI0ZGRDcwMCksICgwLjUwLCNGRkE1MDApLCAoMS4wMCwjREMxNDNDKV1dIFtjZW50ZXI9KDAu
NTAsMC41MCldIFtmb2NhbD0oMC41MCwwLjUwKV0gW3JhZGl1cz0wLjUwXX0KK0tDYW52YXNSZXNv
dXJjZSB7aWQ9ImRyb3BTaGFkb3ciIFt0eXBlPUZJTFRFUl0gIFtib3VuZGluZyBib3g9YXQgKC0x
MC4wMCUsLTEwLjAwJSkgc2l6ZSAxMjAuMDAleDEyMC4wMCVdIFtlZmZlY3RzPVtbdHlwZT1HQVVT
U0lBTi1CTFVSXSBbaW49IlNvdXJjZUdyYXBoaWMiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXpl
IDQ1MHg1MDAiXSBbc3RkIGRldi4geD0yLjAwIHk9Mi4wMF1dXX0KK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRl
clNWR0NvbnRhaW5lciB7c3ZnfSBhdCAoODgsMTYpIHNpemUgMzgxeDM4NworICAgICAgUmVuZGVy
U1ZHQ29udGFpbmVyIHtnfSBhdCAoODgsMTYpIHNpemUgMzgxeDM4NworICAgICAgICBSZW5kZXJT
VkdUZXh0IHt0ZXh0fSBhdCAoMjI1LDMwKSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZH
SW5saW5lVGV4dCB7I3RleHR9IGF0ICgtMTI1LC0xNCkgc2l6ZSAyNTF4MTcKKyAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgtMTI1LC0xNCkgd2lkdGggMjUxOiAiR3JhZGllbnQgYW5kIGZpbHRlciBv
biB0ZXh0IGFuZCB0c3BhbiIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIyNSw1
MCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAo
LTExOSwtMTQpIHNpemUgMjM4eDE3CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTExOSwtMTQp
IHdpZHRoIDIzODogIihVc2luZyBTeXN0ZW0gZm9udCBhbmQgU1ZHIGZvbnQpIgorICAgICAgICBS
ZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2RlZnN9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAg
ICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6
ZSAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkg
c2l6ZSAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAs
MCkgc2l6ZSAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQg
KDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge3JhZGlh
bEdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHR3JhZGll
bnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHR3Jh
ZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZH
R3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICBSZW5kZXJTVkdU
ZXh0IHt0ZXh0fSBhdCAoMTIwLDE2MCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR0lu
bGluZVRleHQgeyN0ZXh0fSBhdCAoLTcsLTQ4KSBzaXplIDM1eDU5CisgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoLTcsLTQ4KSB3aWR0aCAzNTogIkIiCisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4g
e3RzcGFufSBhdCAoMCwwKSBzaXplIDE4eDMwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDM1LC00NCkgc2l6ZSAxOHgzMAorICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMzUsLTQ0KSB3aWR0aCAxODogIkEiCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4
dCB7I3RleHR9IGF0ICg1MywtNjgpIHNpemUgMzJ4NTkKKyAgICAgICAgICAgIHRleHQgcnVuIGF0
ICg1MywtNjgpIHdpZHRoIDMyOiAiVCIKKyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59
IGF0ICgwLDApIHNpemUgMTF4NDQKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoODUsLTU2KSBzaXplIDExeDQ0CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg4
NSwtNTYpIHdpZHRoIDExOiAiSSIKKyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0
ICgwLDApIHNpemUgMzV4NTkKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoOTYsLTY4KSBzaXplIDM1eDU5CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg5Niwt
NjgpIHdpZHRoIDM1OiAiSyIKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDMzMCwx
NjApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KC02LC00OCkgc2l6ZSAzNXg2MQorICAgICAgICAgICAgdGV4dCBydW4gYXQgKC02LC00OCkgd2lk
dGggMzU6ICJCIgorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6
ZSAxOXgzMQorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgzNSwt
NDQpIHNpemUgMTl4MzEKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM1LC00NCkgd2lkdGgg
MTk6ICJBIgorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoNTQsLTY4
KSBzaXplIDMyeDYxCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTQsLTY4KSB3aWR0aCAzMjog
IlQiCisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDEzeDQ2
CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDg2LC01Nikgc2l6
ZSAxM3g0NgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoODYsLTU2KSB3aWR0aCAxMzogIkki
CisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDM4eDYxCisg
ICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDk5LC02OCkgc2l6ZSAz
OHg2MQorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTksLTY4KSB3aWR0aCAzODogIksiCisg
ICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisg
ICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMjAsMjYwKSBzaXplIDgwMHgwIFtjb2xv
cj0jRkZGRkZGXQorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTcs
LTQ4KSBzaXplIDM1eDU5CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTcsLTQ4KSB3aWR0aCAz
NTogIkIiCisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDE4
eDMwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDM1LC00NCkg
c2l6ZSAxOHgzMAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzUsLTQ0KSB3aWR0aCAxODog
IkEiCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg1MywtNjgpIHNp
emUgMzJ4NTkKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1MywtNjgpIHdpZHRoIDMyOiAiVCIK
KyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMTF4NDQKKyAg
ICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoODUsLTU2KSBzaXplIDEx
eDQ0CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg4NSwtNTYpIHdpZHRoIDExOiAiSSIKKyAg
ICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMzV4NTkKKyAgICAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoOTYsLTY4KSBzaXplIDM1eDU5
CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg5NiwtNjgpIHdpZHRoIDM1OiAiSyIKKyAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAg
ICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDMzMCwyNjApIHNpemUgODAweDAgW2NvbG9yPSNG
RkZGRkZdCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgtNiwtNDgp
IHNpemUgMzV4NjEKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtNiwtNDgpIHdpZHRoIDM1OiAi
QiIKKyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMTl4MzEK
KyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMzUsLTQ0KSBzaXpl
IDE5eDMxCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzNSwtNDQpIHdpZHRoIDE5OiAiQSIK
KyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDU0LC02OCkgc2l6ZSAz
Mng2MQorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDU0LC02OCkgd2lkdGggMzI6ICJUIgorICAg
ICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAxM3g0NgorICAgICAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg4NiwtNTYpIHNpemUgMTN4NDYK
KyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDg2LC01Nikgd2lkdGggMTM6ICJJIgorICAgICAg
ICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAzOHg2MQorICAgICAgICAg
ICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg5OSwtNjgpIHNpemUgMzh4NjEKKyAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDk5LC02OCkgd2lkdGggMzg6ICJLIgorICAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICBS
ZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTIwLDM2MCkgc2l6ZSA4MDB4MCBbY29sb3I9I0ZGMDAw
MF0KKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC03LC00OCkgc2l6
ZSAzNXg1OQorICAgICAgICAgICAgdGV4dCBydW4gYXQgKC03LC00OCkgd2lkdGggMzU6ICJCIgor
ICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAxOHgzMAorICAg
ICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgzNSwtNDQpIHNpemUgMTh4
MzAKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM1LC00NCkgd2lkdGggMTg6ICJBIgorICAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoNTMsLTY4KSBzaXplIDMyeDU5
CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTMsLTY4KSB3aWR0aCAzMjogIlQiCisgICAgICAg
ICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDExeDQ0CisgICAgICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDg1LC01Nikgc2l6ZSAxMXg0NAorICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoODUsLTU2KSB3aWR0aCAxMTogIkkiCisgICAgICAgICAg
UmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDM1eDU5CisgICAgICAgICAgICBS
ZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDk2LC02OCkgc2l6ZSAzNXg1OQorICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoOTYsLTY4KSB3aWR0aCAzNTogIksiCisgICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgIFJlbmRl
clNWR1RleHQge3RleHR9IGF0ICgzMzAsMzYwKSBzaXplIDgwMHgwIFtjb2xvcj0jRkYwMDAwXQor
ICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTYsLTQ4KSBzaXplIDM1
eDYxCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTYsLTQ4KSB3aWR0aCAzNTogIkIiCisgICAg
ICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDE5eDMxCisgICAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDM1LC00NCkgc2l6ZSAxOXgzMQor
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzUsLTQ0KSB3aWR0aCAxOTogIkEiCisgICAgICAg
ICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg1NCwtNjgpIHNpemUgMzJ4NjEKKyAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICg1NCwtNjgpIHdpZHRoIDMyOiAiVCIKKyAgICAgICAgICBS
ZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMTN4NDYKKyAgICAgICAgICAgIFJl
bmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoODYsLTU2KSBzaXplIDEzeDQ2CisgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICg4NiwtNTYpIHdpZHRoIDEzOiAiSSIKKyAgICAgICAgICBSZW5k
ZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMzh4NjEKKyAgICAgICAgICAgIFJlbmRl
clNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoOTksLTY4KSBzaXplIDM4eDYxCisgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICg5OSwtNjgpIHdpZHRoIDM4OiAiSyIKKyAgICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgUmVuZGVyU1ZH
VGV4dCB7dGV4dH0gYXQgKDEyMCw0MDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKC0zMiwtMTEpIHNpemUgNjV4MTQKKyAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgtMzIsLTExKSB3aWR0aCA2NTogIihTeXN0ZW0gZm9udCkiCisgICAgICAgIFJl
bmRlclNWR1RleHQge3RleHR9IGF0ICgzMzAsNDAwKSBzaXplIDgwMHgwCisgICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgtMjcsLTExKSBzaXplIDU1eDE0CisgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoLTI3LC0xMSkgd2lkdGggNTU6ICIoU1ZHIGZvbnQpIgorICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBzdmcvYmF0
aWsvdGV4dC90ZXh0RWZmZWN0My5zdmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3ZnL2JhdGlrL3RleHQvdGV4
dEVmZmVjdDMuc3ZnCShyZXZpc2lvbiAwKQorKysgc3ZnL2JhdGlrL3RleHQvdGV4dEVmZmVjdDMu
c3ZnCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDExNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBz
dGFuZGFsb25lPSJubyI/PgorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAx
LjAvL0VOIgorImh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLVNWRy0yMDAxMDkwNC9EVEQv
c3ZnMTAuZHRkIj4KKworPCEtLQorCisgICBDb3B5cmlnaHQgMjAwMSAgVGhlIEFwYWNoZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uIAorCisgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2Us
IFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZp
bGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAgIFlvdSBtYXkgb2J0
YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgICAgaHR0cDovL3d3dy5hcGFjaGUu
b3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNh
YmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAgIGRpc3RyaWJ1dGVk
IHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisg
ICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4
cHJlc3Mgb3IgaW1wbGllZC4KKyAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxh
bmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAgIGxpbWl0YXRpb25zIHVuZGVyIHRo
ZSBMaWNlbnNlLgorCistLT4KKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKzwhLS0gIHRleHQg
ZWZmZWN0cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAtLT4KKzwhLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKzwhLS0gQGF1dGhvciB0
a29ybWFubkBhcGFjaGUub3JnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAtLT4KKzwhLS0gQHZlcnNpb24gJElkOiB0ZXh0RWZmZWN0My5zdmcsdiAxLjUgMjAw
NC8wOC8xOCAwNzoxMjoyMSB2aGFyZHkgRXhwICQgLS0+Cis8IS0tID09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0g
LS0+CisKKzw/eG1sLXN0eWxlc2hlZXQgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3Jlc291cmNl
cy90ZXN0LmNzcyIgPz4KKworPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmci
IHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDUwIiBo
ZWlnaHQ9IjUwMCIgdmlld0JveD0iMCAwIDQ1MCA1MDAiPgorPHRpdGxlPk1peCB0ZXh0IHRyYW5z
Zm9ybWF0aW9uPC90aXRsZT4KKworICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKyAgICA8IS0tIFRlc3QgY29u
dGVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+
CisgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09IC0tPgorICAgIDxnIGlkPSJ0ZXN0Q29udGVudCI+CisgICAgICAgIDx0
ZXh0IHg9IjIyNSIgeT0iMzAiIGNsYXNzPSJ0aXRsZSI+R3JhZGllbnQgYW5kIGZpbHRlciBvbiB0
ZXh0IGFuZCB0c3BhbjwvdGV4dD4KKyAgICAgICAgPHRleHQgeD0iMjI1IiB5PSI1MCIgY2xhc3M9
InRpdGxlIj4oVXNpbmcgU3lzdGVtIGZvbnQgYW5kIFNWRyBmb250KTwvdGV4dD4KKworCis8ZGVm
cz4KKworPGZvbnQgaWQ9IlNWR0FyaWFsIiBob3Jpei1hZHYteD0iOTA0IiA+Cis8Zm9udC1mYWNl
CisgICAgZm9udC1mYW1pbHk9IlNWR0FyaWFsIgorICAgIHVuaXRzLXBlci1lbT0iMjA0OCIKKyAg
ICBwYW5vc2UtMT0iMiAxMSA2IDQgMiAyIDIgMiAyIDQiCisgICAgYXNjZW50PSIxODU0IgorICAg
IGRlc2NlbnQ9Ii00MzQiIC8+CisKKzxtaXNzaW5nLWdseXBoIGhvcml6LWFkdi14PSIxNTM2IiBk
PSJNMjU2IDBWMTI4MEgxMjgwVjBIMjU2Wk0yODggMzJIMTI0OFYxMjQ4SDI4OFYzMloiIC8+CisK
KzxnbHlwaCB1bmljb2RlPSJBIiBnbHlwaC1uYW1lPSJBIiBob3Jpei1hZHYteD0iMTM2NiIgZD0i
TS0zIDBMNTYwIDE0NjZINzY5TDEzNjkgMEgxMTQ4TDk3NyA0NDRIMzY0TDIwMyAwSC0zWk00MjAg
NjAySDkxN0w3NjQgMTAwOFE2OTQgMTE5MyA2NjAgMTMxMlE2MzIgMTE3MSA1ODEgMTAzMkw0MjAg
NjAyWiIgLz4KKzxnbHlwaCB1bmljb2RlPSJCIiBnbHlwaC1uYW1lPSJCIiBob3Jpei1hZHYteD0i
MTM2NiIgZD0iTTE1MCAwVjE0NjZINzAwUTg2OCAxNDY2IDk2OSAxNDIyVDExMjggMTI4NVQxMTg2
IDEwOTFRMTE4NiA5OTcgMTEzNSA5MTRUOTgxIDc4MFExMTE0IDc0MSAxMTg1IDY0N1QxMjU3IDQy
NVExMjU3IDMyMiAxMjE0IDIzNFQxMTA2IDk3VDk0NiAyNVQ3MDkgMEgxNTBaTTM0NCA4NTBINjYx
UTc5MCA4NTAgODQ2IDg2N1E5MjAgODg5Cis5NTcgOTQwVDk5NSAxMDY4UTk5NSAxMTQxIDk2MCAx
MTk2VDg2MCAxMjcyVDYzNyAxMjkzSDM0NFY4NTBaTTM0NCAxNzNINzA5UTgwMyAxNzMgODQxIDE4
MFE5MDggMTkyIDk1MyAyMjBUMTAyNyAzMDFUMTA1NiA0MjVRMTA1NiA1MDcgMTAxNCA1NjdUODk4
IDY1MlQ2ODMgNjc3SDM0NFYxNzNaIiAvPgorPGdseXBoIHVuaWNvZGU9IkkiIGdseXBoLW5hbWU9
IkkiIGhvcml6LWFkdi14PSI1NjkiIGQ9Ik0xOTEgMFYxNDY2SDM4NVYwSDE5MVoiIC8+Cis8Z2x5
cGggdW5pY29kZT0iSyIgZ2x5cGgtbmFtZT0iSyIgaG9yaXotYWR2LXg9IjEzNjYiIGQ9Ik0xNTAg
MFYxNDY2SDM0NFY3MzlMMTA3MiAxNDY2SDEzMzVMNzIwIDg3MkwxMzYyIDBIMTEwNkw1ODQgNzQy
TDM0NCA1MDhWMEgxNTBaIiAvPgorPGdseXBoIHVuaWNvZGU9IlQiIGdseXBoLW5hbWU9IlQiIGhv
cml6LWFkdi14PSIxMjUxIiBkPSJNNTMxIDBWMTI5M0g0OFYxNDY2SDEyMTBWMTI5M0g3MjVWMEg1
MzFaIiAvPgorPC9mb250PgorCisJPGxpbmVhckdyYWRpZW50IGlkPSJsaW5lYXJHcmFkaWVudCI+
CisJCTxzdG9wIHN0eWxlPSJzdG9wLWNvbG9yOmdvbGQiIG9mZnNldD0iMCIvPgorCQk8c3RvcCBz
dHlsZT0ic3RvcC1jb2xvcjpvcmFuZ2UiIG9mZnNldD0iLjUiLz4KKwkJPHN0b3Agc3R5bGU9InN0
b3AtY29sb3I6Y3JpbXNvbiIgb2Zmc2V0PSIxIi8+CisJPC9saW5lYXJHcmFkaWVudD4KKworCisg
ICAgICA8cmFkaWFsR3JhZGllbnQgaWQ9InJhZGlhbEdyYWRpZW50Ij4KKwkJPHN0b3Agc3R5bGU9
InN0b3AtY29sb3I6Z29sZCIgb2Zmc2V0PSIwIi8+CisJCTxzdG9wIHN0eWxlPSJzdG9wLWNvbG9y
Om9yYW5nZSIgb2Zmc2V0PSIuNSIvPgorCQk8c3RvcCBzdHlsZT0ic3RvcC1jb2xvcjpjcmltc29u
IiBvZmZzZXQ9IjEiLz4KKwk8L3JhZGlhbEdyYWRpZW50PgorCisKKyAgICAgICAgPGZpbHRlciBp
ZD0iZHJvcFNoYWRvdyIgIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCI+CisgICAgICAg
ICAgICA8ZmVHYXVzc2lhbkJsdXIgaW49IlNvdXJjZUdyYXBoaWMiIHN0ZERldmlhdGlvbj0iMiAy
IiAvPiAKKyAgICAgICAgPC9maWx0ZXI+CisKKzwvZGVmcz4KKworICA8dGV4dCB4PSIxMjAiIHk9
IjE2MCIgc3R5bGU9ImZpbGw6dXJsKCNsaW5lYXJHcmFkaWVudCk7IGZvbnQtc2l6ZTo0MHB0OyBm
b250LWZhbWlseTpBcmlhbDsgdGV4dC1hbmNob3I6bWlkZGxlIj4KKyAgICBCPHRzcGFuIGR5PSIt
MjAiIHN0eWxlPSJmb250LXNpemU6MjBwdCI+QTwvdHNwYW4+VDx0c3BhbiBzdHlsZT0iZm9udC1z
aXplOjMwcHQiPkk8L3RzcGFuPjx0c3BhbiByb3RhdGU9IjIwIj5LPC90c3Bhbj4KKyAgPC90ZXh0
PgorCisgIDx0ZXh0IHg9IjMzMCIgeT0iMTYwIiBzdHlsZT0iZmlsbDp1cmwoI2xpbmVhckdyYWRp
ZW50KTsgZm9udC1mYW1pbHk6U1ZHQXJpYWw7IGZvbnQtc2l6ZTo0MHB0OyB0ZXh0LWFuY2hvcjpt
aWRkbGUiPgorICAgIEI8dHNwYW4gZHk9Ii0yMCIgc3R5bGU9ImZvbnQtc2l6ZToyMHB0Ij5BPC90
c3Bhbj5UPHRzcGFuIHN0eWxlPSJmb250LXNpemU6MzBwdCI+STwvdHNwYW4+PHRzcGFuIHJvdGF0
ZT0iMjAiPks8L3RzcGFuPgorICA8L3RleHQ+CisKKyAgPHRleHQgeD0iMTIwIiB5PSIyNjAiIHN0
eWxlPSJzdHJva2U6dXJsKCNyYWRpYWxHcmFkaWVudCk7IHN0cm9rZS13aWR0aDoyOyBmaWxsOm5v
bmU7IGZvbnQtc2l6ZTo0MHB0OyB0ZXh0LWFuY2hvcjptaWRkbGU7IGZvbnQtZmFtaWx5OkFyaWFs
Ij4KKyAgICBCPHRzcGFuIGR5PSItMjAiIHN0eWxlPSJmb250LXNpemU6MjBwdCI+QTwvdHNwYW4+
VDx0c3BhbiBzdHlsZT0iZm9udC1zaXplOjMwcHQiPkk8L3RzcGFuPjx0c3BhbiByb3RhdGU9IjIw
Ij5LPC90c3Bhbj4KKyAgPC90ZXh0PgorCisgIDx0ZXh0IHg9IjMzMCIgeT0iMjYwIiBzdHlsZT0i
c3Ryb2tlOnVybCgjcmFkaWFsR3JhZGllbnQpOyBzdHJva2Utd2lkdGg6MjsgZmlsbDpub25lOyBm
b250LWZhbWlseTpTVkdBcmlhbDsgZm9udC1zaXplOjQwcHQ7IHRleHQtYW5jaG9yOm1pZGRsZSI+
CisgICAgQjx0c3BhbiBkeT0iLTIwIiBzdHlsZT0iZm9udC1zaXplOjIwcHQiPkE8L3RzcGFuPlQ8
dHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTozMHB0Ij5JPC90c3Bhbj48dHNwYW4gcm90YXRlPSIyMCI+
SzwvdHNwYW4+CisgIDwvdGV4dD4KKworICA8dGV4dCB4PSIxMjAiIHk9IjM2MCIgc3R5bGU9ImZp
bHRlcjp1cmwoI2Ryb3BTaGFkb3cpOyBmaWxsOnJlZDsgZm9udC1zaXplOjQwcHQ7IGZvbnQtZmFt
aWx5OkFyaWFsOyB0ZXh0LWFuY2hvcjptaWRkbGUiPgorICAgIEI8dHNwYW4gZHk9Ii0yMCIgc3R5
bGU9ImZvbnQtc2l6ZToyMHB0Ij5BPC90c3Bhbj5UPHRzcGFuIHN0eWxlPSJmb250LXNpemU6MzBw
dCI+STwvdHNwYW4+PHRzcGFuIHJvdGF0ZT0iMjAiPks8L3RzcGFuPgorICA8L3RleHQ+CisgIAor
ICA8dGV4dCB4PSIzMzAiIHk9IjM2MCIgc3R5bGU9ImZpbHRlcjp1cmwoI2Ryb3BTaGFkb3cpOyBm
aWxsOnJlZDsgZm9udC1mYW1pbHk6U1ZHQXJpYWw7IGZvbnQtc2l6ZTo0MHB0OyB0ZXh0LWFuY2hv
cjptaWRkbGUiPgorICAgIEI8dHNwYW4gZHk9Ii0yMCIgc3R5bGU9ImZvbnQtc2l6ZToyMHB0Ij5B
PC90c3Bhbj5UPHRzcGFuIHN0eWxlPSJmb250LXNpemU6MzBwdCI+STwvdHNwYW4+PHRzcGFuIHJv
dGF0ZT0iMjAiPks8L3RzcGFuPgorICA8L3RleHQ+CisgIAorICA8dGV4dCB4PSIxMjAiIHk9IjQw
MCIgc3R5bGU9ImZvbnQtc2l6ZToxMnB4OyBmaWx0ZXI6bm9uZTsgZmlsbDpibGFjazsgdGV4dC1h
bmNob3I6bWlkZGxlIj4oU3lzdGVtIGZvbnQpPC90ZXh0PgorICA8dGV4dCB4PSIzMzAiIHk9IjQw
MCIgc3R5bGU9ImZvbnQtc2l6ZToxMnB4OyBmaWx0ZXI6bm9uZTsgZmlsbDpibGFjazsgdGV4dC1h
bmNob3I6bWlkZGxlIj4oU1ZHIGZvbnQpPC90ZXh0PgorCisgICAgPC9nPgorCisKKyAgICA8IS0t
ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0gLS0+CisgICAgPCEtLSBCYXRpayBzYW1wbGUgbWFyayAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorICAgIDwhLS0gPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKyAgICA8dXNl
IHhsaW5rOmhyZWY9Ii4uL3Jlc291cmNlcy9iYXRpa0xvZ28uc3ZnI0JhdGlrX1RhZ19Cb3giIC8+
CisKKzwvc3ZnPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogc3ZnL2JhdGlrL3RleHQvdGV4dEVmZmVj
dDMuc3ZnCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOmV4ZWN1dGFibGUKICAgKyAqCgpJbmRleDogc3Zn
L2JhdGlrL3RleHQvdGV4dEVmZmVjdC1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBz
dmcvYmF0aWsvdGV4dC90ZXh0RWZmZWN0LWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQor
Kysgc3ZnL2JhdGlrL3RleHQvdGV4dEVmZmVjdC1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSBAQAorYTBlNGE3MDcyOGRmYjA1MzUxMjQzOTUzM2Y1ZTk0OTUKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBzdmcvYmF0aWsvdGV4dC90ZXh0RWZmZWN0LWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzdmcvYmF0aWsvdGV4dC90ZXh0RWZmZWN0LWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKKysrIHN2Zy9iYXRpay90ZXh0L3RleHRFZmZlY3QtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ3IEBACitLUmVuZGVyaW5nUGFpbnRTZXJ2
ZXIge2lkPSJsaW5lYXJHcmFkaWVudCIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9Wygw
LjAwLCNGRkQ3MDApLCAoMC41MCwjRkZBNTAwKSwgKDEuMDAsI0RDMTQzQyldXSBbc3RhcnQ9KDAs
MCldIFtlbmQ9KDEsMCldfQorS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0icmFkaWFsR3JhZGll
bnQiIFt0eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkZENzAwKSwgKDAuNTAs
I0ZGQTUwMCksICgxLjAwLCNEQzE0M0MpXV0gW2NlbnRlcj0oMC41MCwwLjUwKV0gW2ZvY2FsPSgw
LjUwLDAuNTApXSBbcmFkaXVzPTAuNTBdfQorS0NhbnZhc1Jlc291cmNlIHtpZD0iZHJvcFNoYWRv
dyIgW3R5cGU9RklMVEVSXSAgW2JvdW5kaW5nIGJveD1hdCAoLTEwLjAwJSwtMTAuMDAlKSBzaXpl
IDEyMC4wMCV4MTIwLjAwJV0gW2VmZmVjdHM9W1t0eXBlPUdBVVNTSUFOLUJMVVJdIFtpbj0iU291
cmNlR3JhcGhpYyJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgNDUweDUwMCJdIFtzdGQgZGV2
LiB4PTIuMDAgeT0yLjAwXV1dfQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRl
clZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtzdmd9
IGF0ICg3MSwxNikgc2l6ZSAzNzl4Mzg3CisgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0
ICg3MSwxNikgc2l6ZSAzNzl4Mzg3CisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgy
MjUsMzApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0g
YXQgKC04OCwtMTQpIHNpemUgMTc3eDE3CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTg4LC0x
NCkgd2lkdGggMTc3OiAiR3JhZGllbnQgYW5kIGZpbHRlciBvbiB0ZXh0IgorICAgICAgICBSZW5k
ZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjI1LDUwKSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVy
U1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgtMTE5LC0xNCkgc2l6ZSAyMzh4MTcKKyAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgtMTE5LC0xNCkgd2lkdGggMjM4OiAiKFVzaW5nIFN5c3RlbSBmb250
IGFuZCBTVkcgZm9udCkiCisgICAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30g
YXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2xp
bmVhckdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHR3Jh
ZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZH
R3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJlbmRl
clNWR0hpZGRlbkNvbnRhaW5lciB7cmFkaWFsR3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCisg
ICAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgw
CisgICAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUg
MHgwCisgICAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNp
emUgMHgwCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMjAsMTYwKSBzaXplIDgw
MHgwCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgtNDcsLTQ4KSBz
aXplIDE1Mng1OQorICAgICAgICAgICAgdGV4dCBydW4gYXQgKC00NywtNDgpIHdpZHRoIDE1Mjog
IkJBVElLIgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMzMwLDE2MCkgc2l6ZSA4
MDB4MAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTQzLC00OCkg
c2l6ZSAxNjF4NjEKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtNDMsLTQ4KSB3aWR0aCAxNjE6
ICJCQVRJSyIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEyMCwyNjApIHNpemUg
ODAweDAgW2NvbG9yPSNGRkZGRkZdCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3Rl
eHR9IGF0ICgtNDcsLTQ4KSBzaXplIDE1Mng1OQorICAgICAgICAgICAgdGV4dCBydW4gYXQgKC00
NywtNDgpIHdpZHRoIDE1MjogIkJBVElLIgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBh
dCAoMzMwLDI2MCkgc2l6ZSA4MDB4MCBbY29sb3I9I0ZGRkZGRl0KKyAgICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC00MywtNDgpIHNpemUgMTYxeDYxCisgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoLTQzLC00OCkgd2lkdGggMTYxOiAiQkFUSUsiCisgICAgICAgIFJlbmRl
clNWR1RleHQge3RleHR9IGF0ICgxMjAsMzYwKSBzaXplIDgwMHgwIFtjb2xvcj0jRkYwMDAwXQor
ICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTQ3LC00OCkgc2l6ZSAx
NTJ4NTkKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtNDcsLTQ4KSB3aWR0aCAxNTI6ICJCQVRJ
SyIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDMzMCwzNjApIHNpemUgODAweDAg
W2NvbG9yPSNGRjAwMDBdCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgtNDMsLTQ4KSBzaXplIDE2MXg2MQorICAgICAgICAgICAgdGV4dCBydW4gYXQgKC00MywtNDgp
IHdpZHRoIDE2MTogIkJBVElLIgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTIw
LDQwMCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoLTMyLC0xMSkgc2l6ZSA2NXgxNAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKC0zMiwtMTEp
IHdpZHRoIDY1OiAiKFN5c3RlbSBmb250KSIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0g
YXQgKDMzMCw0MDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsj
dGV4dH0gYXQgKC0yNywtMTEpIHNpemUgNTV4MTQKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgt
MjcsLTExKSB3aWR0aCA1NTogIihTVkcgZm9udCkiCisgICAgICBSZW5kZXJTVkdDb250YWluZXIg
e3VzZX0gYXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6IHN2Zy9iYXRpay90ZXh0L3RleHRFZmZlY3Qu
c3ZnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIHN2Zy9iYXRpay90ZXh0L3RleHRFZmZlY3Quc3ZnCShyZXZpc2lv
biAwKQorKysgc3ZnL2JhdGlrL3RleHQvdGV4dEVmZmVjdC5zdmcJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMTE3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+Cis8IURP
Q1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMC8vRU4iCisiaHR0cDovL3d3dy53
My5vcmcvVFIvMjAwMS9SRUMtU1ZHLTIwMDEwOTA0L0RURC9zdmcxMC5kdGQiPgorCis8IS0tCisK
KyAgIENvcHlyaWdodCAyMDAxICBUaGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gCisKKyAg
IExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGlj
ZW5zZSIpOworICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5j
ZSB3aXRoIHRoZSBMaWNlbnNlLgorICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNl
bnNlIGF0CisKKyAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0y
LjAKKworICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBp
biB3cml0aW5nLCBzb2Z0d2FyZQorICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMg
ZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgIFdJVEhPVVQgV0FSUkFOVElFUyBP
UiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICAg
U2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1p
c3Npb25zIGFuZAorICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKy0tPgorPCEt
LSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09IC0tPgorPCEtLSAgdGV4dCBlZmZlY3RzICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorPCEtLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC0tPgorPCEtLSBAYXV0aG9yIHRrb3JtYW5uQGFwYWNoZS5vcmcgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorPCEtLSBAdmVy
c2lvbiAkSWQ6IHRleHRFZmZlY3Quc3ZnLHYgMS41IDIwMDQvMDgvMTggMDc6MTI6MjEgdmhhcmR5
IEV4cCAkIC0tPgorPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCis8P3htbC1zdHlsZXNoZWV0
IHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9yZXNvdXJjZXMvdGVzdC5jc3MiID8+CisKKzxzdmcg
eG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3
dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjQ1MCIgaGVpZ2h0PSI1MDAiIHZpZXdCb3g9IjAg
MCA0NTAgNTAwIj4KKzx0aXRsZT5NaXggdGV4dCB0cmFuc2Zvcm1hdGlvbjwvdGl0bGU+CisKKyAg
ICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0gLS0+CisgICAgPCEtLSBUZXN0IGNvbnRlbnQgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorICAgIDwhLS0gPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKyAg
ICA8ZyBpZD0idGVzdENvbnRlbnQiPgorICAgICAgICA8dGV4dCB4PSIyMjUiIHk9IjMwIiBjbGFz
cz0idGl0bGUiPkdyYWRpZW50IGFuZCBmaWx0ZXIgb24gdGV4dDwvdGV4dD4KKyAgICAgICAgPHRl
eHQgeD0iMjI1IiB5PSI1MCIgY2xhc3M9InRpdGxlIj4oVXNpbmcgU3lzdGVtIGZvbnQgYW5kIFNW
RyBmb250KTwvdGV4dD4KKworCis8ZGVmcz4KKworPGZvbnQgaWQ9IlNWR0FyaWFsIiBob3Jpei1h
ZHYteD0iOTA0IiA+Cis8Zm9udC1mYWNlCisgICAgZm9udC1mYW1pbHk9IlNWR0FyaWFsIgorICAg
IHVuaXRzLXBlci1lbT0iMjA0OCIKKyAgICBwYW5vc2UtMT0iMiAxMSA2IDQgMiAyIDIgMiAyIDQi
CisgICAgYXNjZW50PSIxODU0IgorICAgIGRlc2NlbnQ9Ii00MzQiIC8+CisKKzxtaXNzaW5nLWds
eXBoIGhvcml6LWFkdi14PSIxNTM2IiBkPSJNMjU2IDBWMTI4MEgxMjgwVjBIMjU2Wk0yODggMzJI
MTI0OFYxMjQ4SDI4OFYzMloiIC8+CisKKzxnbHlwaCB1bmljb2RlPSJBIiBnbHlwaC1uYW1lPSJB
IiBob3Jpei1hZHYteD0iMTM2NiIgZD0iTS0zIDBMNTYwIDE0NjZINzY5TDEzNjkgMEgxMTQ4TDk3
NyA0NDRIMzY0TDIwMyAwSC0zWk00MjAgNjAySDkxN0w3NjQgMTAwOFE2OTQgMTE5MyA2NjAgMTMx
MlE2MzIgMTE3MSA1ODEgMTAzMkw0MjAgNjAyWiIgLz4KKzxnbHlwaCB1bmljb2RlPSJCIiBnbHlw
aC1uYW1lPSJCIiBob3Jpei1hZHYteD0iMTM2NiIgZD0iTTE1MCAwVjE0NjZINzAwUTg2OCAxNDY2
IDk2OSAxNDIyVDExMjggMTI4NVQxMTg2IDEwOTFRMTE4NiA5OTcgMTEzNSA5MTRUOTgxIDc4MFEx
MTE0IDc0MSAxMTg1IDY0N1QxMjU3IDQyNVExMjU3IDMyMiAxMjE0IDIzNFQxMTA2IDk3VDk0NiAy
NVQ3MDkgMEgxNTBaTTM0NCA4NTBINjYxUTc5MCA4NTAgODQ2IDg2N1E5MjAgODg5Cis5NTcgOTQw
VDk5NSAxMDY4UTk5NSAxMTQxIDk2MCAxMTk2VDg2MCAxMjcyVDYzNyAxMjkzSDM0NFY4NTBaTTM0
NCAxNzNINzA5UTgwMyAxNzMgODQxIDE4MFE5MDggMTkyIDk1MyAyMjBUMTAyNyAzMDFUMTA1NiA0
MjVRMTA1NiA1MDcgMTAxNCA1NjdUODk4IDY1MlQ2ODMgNjc3SDM0NFYxNzNaIiAvPgorPGdseXBo
IHVuaWNvZGU9IkkiIGdseXBoLW5hbWU9IkkiIGhvcml6LWFkdi14PSI1NjkiIGQ9Ik0xOTEgMFYx
NDY2SDM4NVYwSDE5MVoiIC8+Cis8Z2x5cGggdW5pY29kZT0iSyIgZ2x5cGgtbmFtZT0iSyIgaG9y
aXotYWR2LXg9IjEzNjYiIGQ9Ik0xNTAgMFYxNDY2SDM0NFY3MzlMMTA3MiAxNDY2SDEzMzVMNzIw
IDg3MkwxMzYyIDBIMTEwNkw1ODQgNzQyTDM0NCA1MDhWMEgxNTBaIiAvPgorPGdseXBoIHVuaWNv
ZGU9IlQiIGdseXBoLW5hbWU9IlQiIGhvcml6LWFkdi14PSIxMjUxIiBkPSJNNTMxIDBWMTI5M0g0
OFYxNDY2SDEyMTBWMTI5M0g3MjVWMEg1MzFaIiAvPgorPC9mb250PgorCisJPGxpbmVhckdyYWRp
ZW50IGlkPSJsaW5lYXJHcmFkaWVudCI+CisJCTxzdG9wIHN0eWxlPSJzdG9wLWNvbG9yOmdvbGQi
IG9mZnNldD0iMCIvPgorCQk8c3RvcCBzdHlsZT0ic3RvcC1jb2xvcjpvcmFuZ2UiIG9mZnNldD0i
LjUiLz4KKwkJPHN0b3Agc3R5bGU9InN0b3AtY29sb3I6Y3JpbXNvbiIgb2Zmc2V0PSIxIi8+CisJ
PC9saW5lYXJHcmFkaWVudD4KKworCisgICAgICA8cmFkaWFsR3JhZGllbnQgaWQ9InJhZGlhbEdy
YWRpZW50Ij4KKwkJPHN0b3Agc3R5bGU9InN0b3AtY29sb3I6Z29sZCIgb2Zmc2V0PSIwIi8+CisJ
CTxzdG9wIHN0eWxlPSJzdG9wLWNvbG9yOm9yYW5nZSIgb2Zmc2V0PSIuNSIvPgorCQk8c3RvcCBz
dHlsZT0ic3RvcC1jb2xvcjpjcmltc29uIiBvZmZzZXQ9IjEiLz4KKwk8L3JhZGlhbEdyYWRpZW50
PgorCisKKyAgICAgICAgPGZpbHRlciBpZD0iZHJvcFNoYWRvdyIgIGZpbHRlclVuaXRzPSJvYmpl
Y3RCb3VuZGluZ0JveCI+CisgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgaW49IlNvdXJjZUdy
YXBoaWMiIHN0ZERldmlhdGlvbj0iMiAyIiAvPiAKKyAgICAgICAgPC9maWx0ZXI+CisKKzwvZGVm
cz4KKworICA8dGV4dCB4PSIxMjAiIHk9IjE2MCIgc3R5bGU9ImZpbGw6dXJsKCNsaW5lYXJHcmFk
aWVudCk7IGZvbnQtc2l6ZTo0MHB0OyBmb250LWZhbWlseTpBcmlhbDsgdGV4dC1hbmNob3I6bWlk
ZGxlIj4KKyAgICBCQVRJSworICA8L3RleHQ+CisKKyAgPHRleHQgeD0iMzMwIiB5PSIxNjAiIHN0
eWxlPSJmaWxsOnVybCgjbGluZWFyR3JhZGllbnQpOyBmb250LWZhbWlseTpTVkdBcmlhbDsgZm9u
dC1zaXplOjQwcHQ7IHRleHQtYW5jaG9yOm1pZGRsZSI+CisgICAgQkFUSUsKKyAgPC90ZXh0Pgor
CisgIDx0ZXh0IHg9IjEyMCIgeT0iMjYwIiBzdHlsZT0ic3Ryb2tlOnVybCgjcmFkaWFsR3JhZGll
bnQpOyBzdHJva2Utd2lkdGg6MjsgZmlsbDpub25lOyBmb250LXNpemU6NDBwdDsgdGV4dC1hbmNo
b3I6bWlkZGxlOyBmb250LWZhbWlseTpBcmlhbCI+CisgICAgQkFUSUsKKyAgPC90ZXh0PgorCisg
IDx0ZXh0IHg9IjMzMCIgeT0iMjYwIiBzdHlsZT0ic3Ryb2tlOnVybCgjcmFkaWFsR3JhZGllbnQp
OyBzdHJva2Utd2lkdGg6MjsgZmlsbDpub25lOyBmb250LWZhbWlseTpTVkdBcmlhbDsgZm9udC1z
aXplOjQwcHQ7IHRleHQtYW5jaG9yOm1pZGRsZSI+CisgICAgQkFUSUsKKyAgPC90ZXh0PgorCisg
IDx0ZXh0IHg9IjEyMCIgeT0iMzYwIiBzdHlsZT0iZmlsdGVyOnVybCgjZHJvcFNoYWRvdyk7IGZp
bGw6cmVkOyBmb250LXNpemU6NDBwdDsgZm9udC1mYW1pbHk6QXJpYWw7IHRleHQtYW5jaG9yOm1p
ZGRsZSI+CisgICAgQkFUSUsKKyAgPC90ZXh0PgorICAKKyAgPHRleHQgeD0iMzMwIiB5PSIzNjAi
IHN0eWxlPSJmaWx0ZXI6dXJsKCNkcm9wU2hhZG93KTsgZmlsbDpyZWQ7IGZvbnQtZmFtaWx5OlNW
R0FyaWFsOyBmb250LXNpemU6NDBwdDsgdGV4dC1hbmNob3I6bWlkZGxlIj4KKyAgICBCQVRJSwor
ICA8L3RleHQ+CisgIAorICA8dGV4dCB4PSIxMjAiIHk9IjQwMCIgc3R5bGU9ImZvbnQtc2l6ZTox
MnB4OyBmaWx0ZXI6bm9uZTsgZmlsbDpibGFjazsgdGV4dC1hbmNob3I6bWlkZGxlIj4oU3lzdGVt
IGZvbnQpPC90ZXh0PgorICA8dGV4dCB4PSIzMzAiIHk9IjQwMCIgc3R5bGU9ImZvbnQtc2l6ZTox
MnB4OyBmaWx0ZXI6bm9uZTsgZmlsbDpibGFjazsgdGV4dC1hbmNob3I6bWlkZGxlIj4oU1ZHIGZv
bnQpPC90ZXh0PgorCisgICAgPC9nPgorCisKKyAgICA8IS0tID09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisgICAgPCEtLSBC
YXRpayBzYW1wbGUgbWFyayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC0tPgorICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKyAgICA8dXNlIHhsaW5rOmhyZWY9Ii4uL3Jlc291
cmNlcy9iYXRpa0xvZ28uc3ZnI0JhdGlrX1RhZ19Cb3giIC8+CisKKzwvc3ZnPgoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogc3ZnL2JhdGlrL3RleHQvdGV4dEVmZmVjdC5zdmcKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1l
OiBzdm46ZXhlY3V0YWJsZQogICArICoKCkluZGV4OiBzdmcvYmF0aWsvdGV4dC90ZXh0RmVhdHVy
ZXMtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3ZnL2JhdGlrL3RleHQvdGV4dEZl
YXR1cmVzLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQorKysgc3ZnL2JhdGlrL3RleHQv
dGV4dEZlYXR1cmVzLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBA
Cis3MjIyYmVhNWFlZTc1YzA0YjA5OTI1ZDdiODZmOTM4YQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKSW5kZXg6IHN2Zy9iYXRpay90ZXh0L3RleHRGZWF0dXJlcy1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gc3ZnL2JhdGlrL3RleHQvdGV4dEZlYXR1cmVzLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKKysrIHN2Zy9iYXRpay90ZXh0L3RleHRGZWF0dXJlcy1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMTQ5IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
KyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJTVkdDb250YWlu
ZXIge3N2Z30gYXQgKDQ1LDM2KSBzaXplIDM0OXg0NDkuMjAKKyAgICAgIFJlbmRlclNWR0NvbnRh
aW5lciB7Z30gYXQgKDQ1LDM2KSBzaXplIDM0OXg0NDkuMjAKKyAgICAgICAgUmVuZGVyU1ZHVGV4
dCB7dGV4dH0gYXQgKDIyNSw1MCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR0lubGlu
ZVRleHQgeyN0ZXh0fSBhdCAoLTU3LC0xNCkgc2l6ZSAxNDh4MTcKKyAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgtNTcsLTE0KSB3aWR0aCAxNDg6ICJUZXh0IEVsZW1lbnQgRmVhdHVyZXMiCisgICAg
ICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDQ1LDcyKSBzaXplIDM0OXg0MTMuMjAKKyAg
ICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoNDUsMTAwKSBzaXplIDgwMHgwIFtjb2xv
cj0jMTkxOTcwXQorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgw
LC0xMykgc2l6ZSAxMDd4MTcKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTEzKSB3aWR0
aCAxMDc6ICJUZXh0IGNhbiBjaGFuZ2UgIgorICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3Rz
cGFufSBhdCAoMCwwKSBzaXplIDU0eDM2CisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoMTA3LC0yOCkgc2l6ZSA1NHgzNgorICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgxMDcsLTI4KSB3aWR0aCA1NDogInNpemUsIgorICAgICAgICAgICAgUmVuZGVyU1ZH
SW5saW5lVGV4dCB7I3RleHR9IGF0ICgxNjEsLTEzKSBzaXplIDR4MTcKKyAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDE2MSwtMTMpIHdpZHRoIDQ6ICIgIgorICAgICAgICAgICAgUmVuZGVyU1ZH
VFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDc0eDIzCisgICAgICAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMTY1LC0xOCkgc2l6ZSA3NHgyMworICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgxNjUsLTE4KSB3aWR0aCA3NDogInR5cGVmYWNlLCIKKyAgICAgICAg
ICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMjM5LC0xMykgc2l6ZSA0eDE3Cisg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMzksLTEzKSB3aWR0aCA0OiAiICIKKyAgICAgICAg
ICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAzNngxNyBbY29sb3I9IzAw
ODAwMF0KKyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgyNDMs
LTEzKSBzaXplIDM2eDE3CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI0MywtMTMpIHdp
ZHRoIDM2OiAiY29sb3IsIgorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgyNzksLTEzKSBzaXplIDIxeDE3CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNzks
LTEzKSB3aWR0aCA0OiAiICIKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI4MywtMTMpIHdp
ZHRoIDE3OiAib3IgIgorICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCww
KSBzaXplIDI4eDE3IFtjb2xvcj0jRkYwMDAwXQorICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDMwMCwtMTMpIHNpemUgMjh4MTcKKyAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMzAwLC0xMykgd2lkdGggMjg6ICJzdHlsZSIKKyAgICAgICAgICAgIFJlbmRl
clNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJlbmRl
clNWR1RleHQge3RleHR9IGF0ICg0NSwxMjUpIHNpemUgODAweDAgW2NvbG9yPSMxOTE5NzBdCisg
ICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEzKSBzaXplIDE3
NXgxNworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTMpIHdpZHRoIDE3NTogIndpdGhp
biBhIHNpbmdsZSB0ZXh0IGVsZW1lbnQuIgorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9
IGF0ICg0NSwxNzUpIHNpemUgODAweDAgW2NvbG9yPSMxOTE5NzBdCisgICAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEzKSBzaXplIDE1MXgxNworICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwtMTMpIHdpZHRoIDE1MTogIlN0eWxpbmcgZmVhdHVyZXMgaW5j
bHVkZSAiCisgICAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUg
NDd4MTcKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgxNTEs
LTEzKSBzaXplIDQ3eDE3CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE1MSwtMTMpIHdp
ZHRoIDQ3OiAid2VpZ2h0LCIKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoMTk4LC0xMykgc2l6ZSA0eDE3CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxOTgs
LTEzKSB3aWR0aCA0OiAiICIKKyAgICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQg
KDAsMCkgc2l6ZSA1MXgxNworICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4
dH0gYXQgKDIwMiwtMTMpIHNpemUgNTF4MTcKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MjAyLC0xMykgd2lkdGggNTE6ICJwb3N0dXJlLCIKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGlu
ZVRleHQgeyN0ZXh0fSBhdCAoMjUzLC0xMykgc2l6ZSAzMXgxNworICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMjUzLC0xMykgd2lkdGggMzE6ICIgYW5kICIKKyAgICAgICAgICAgIFJlbmRlclNW
R1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSA1N3gxNworICAgICAgICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDI4NCwtMTMpIHNpemUgNTd4MTcKKyAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMjg0LC0xMykgd2lkdGggNTc6ICJ0eXBlZmFjZS4iCisgICAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAg
ICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoNDUsMjAwKSBzaXplIDIwMi41MHg1MCBbZmlsbD17
W3R5cGU9U09MSURdIFtjb2xvcj0jMUU5MEZGXX1dIFtkYXRhPSJNNDUuMDAsMjAwLjAwTDI0Ny41
MCwyMDAuMDBMMjQ3LjUwLDI1MC4wMEw0NS4wMCwyNTAuMDAiXQorICAgICAgICAgIFJlbmRlclNW
R1RleHQge3RleHR9IGF0ICg0NSwyMjUpIHNpemUgODAweDAgW2NvbG9yPSMxOTE5NzBdCisgICAg
ICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEzKSBzaXplIDE3MXgx
NworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTMpIHdpZHRoIDE3MTogIkdyYXBoaWNz
IGF0dHJpYnV0ZXMgc3VjaCBhcyAiCisgICAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59
IGF0ICgwLDApIHNpemUgNDZ4MTcgW2NvbG9yPSNGRjAwMDBdCisgICAgICAgICAgICAgIFJlbmRl
clNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMTcxLC0xMykgc2l6ZSA0NngxNworICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgxNzEsLTEzKSB3aWR0aCA0NjogIm9wYWNpdHkiCisgICAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDIxNywtMTMpIHNpemUgOTl4MTcK
KyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDIxNywtMTMpIHdpZHRoIDk5OiAiIGNhbiBiZSBh
cHBsaWVkLiIKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoNDUsMjc1KSBzaXpl
IDgwMHgwIFtjb2xvcj0jMTkxOTcwXQorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7
I3RleHR9IGF0ICgwLC0xMykgc2l6ZSAxODV4MTcKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsLTEzKSB3aWR0aCAxODU6ICJcInRleHQgZGVjb3JhdGlvblwiIGNhbiBpbmNsdWRlICIKKyAg
ICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSA2M3gxNworICAg
ICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDE4NSwtMTMpIHNpemUg
NjN4MTcKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTg1LC0xMykgd2lkdGggNjM6ICJ1
bmRlcmxpbmUsIgorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgy
NDgsLTEzKSBzaXplIDR4MTcKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI0OCwtMTMpIHdp
ZHRoIDQ6ICIgIgorICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBz
aXplIDU1eDE3CisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAo
MjUyLC0xMykgc2l6ZSA1NXgxNworICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNTIsLTEz
KSB3aWR0aCA1NTogIm92ZXJsaW5lLCIKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQg
eyN0ZXh0fSBhdCAoMzA3LC0xMykgc2l6ZSAyN3gxNworICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMzA3LC0xMykgd2lkdGggMjc6ICIgYW5kIgorICAgICAgICAgIFJlbmRlclNWR1RleHQge3Rl
eHR9IGF0ICg0NSwzMDApIHNpemUgODAweDAgW2NvbG9yPSMxOTE5NzBdCisgICAgICAgICAgICBS
ZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgODd4MTcKKyAgICAgICAgICAgICAg
UmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xMykgc2l6ZSA4N3gxNworICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xMykgd2lkdGggODc6ICJzdHJpa2V0aHJvdWdoLiIK
KyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoODcsLTEzKSBzaXpl
IDR4MTcKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDg3LC0xMykgd2lkdGggNDogIiAiCisg
ICAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMjV4MTMKKyAg
ICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg5MSwtMTYpIHNpemUg
MjV4MTMKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTEsLTE2KSB3aWR0aCAyNTogInN1
cGVyIgorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgxMTYsLTEz
KSBzaXplIDM3eDE3CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMTYsLTEzKSB3aWR0aCAz
NzogIi1hbmQtICIKKyAgICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkg
c2l6ZSAxNngxMworICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KDE1MywtMykgc2l6ZSAxNngxMworICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNTMsLTMp
IHdpZHRoIDE2OiAic3ViIgorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgxNjksLTEzKSBzaXplIDEzMngxNworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTY5
LC0xMykgd2lkdGggNDk6ICItc2NyaXB0cyAiCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgy
MTgsLTEzKSB3aWR0aCA4MzogImFyZSBhdmFpbGFibGUuIgorICAgICAgICAgIFJlbmRlclNWR1Rl
eHQge3RleHR9IGF0ICg0NSwzMjUpIHNpemUgODAweDAgW2NvbG9yPSMxOTE5NzBdCisgICAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEzKSBzaXplIDE3N3gxNwor
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTMpIHdpZHRoIDE3NzogIkJhc2VsaW5lIGNh
biBhbHNvIGJlIHNoaWZ0ZWQgIgorICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBh
dCAoMCwwKSBzaXplIDEyeDEzCisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoMTc3LC0xNSkgc2l6ZSAxMngxMworICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgxNzcsLTE1KSB3aWR0aCAxMjogInVwIgorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4
dCB7I3RleHR9IGF0ICgxODksLTEzKSBzaXplIDMxeDE3CisgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgxODksLTEzKSB3aWR0aCAzMTogIiBhbmQgIgorICAgICAgICAgICAgUmVuZGVyU1ZHVFNw
YW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDI2eDEzCisgICAgICAgICAgICAgIFJlbmRlclNWR0lu
bGluZVRleHQgeyN0ZXh0fSBhdCAoMjIwLC00KSBzaXplIDI2eDEzCisgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDIyMCwtNCkgd2lkdGggMjY6ICJkb3duIgorICAgICAgICAgICAgUmVuZGVy
U1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgyNDYsLTEzKSBzaXplIDk2eDE3CisgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgyNDYsLTEzKSB3aWR0aCA0OiAiICIKKyAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDI1MCwtMTMpIHdpZHRoIDkyOiAiYnkgcGVyY2VudGFnZS4iCisgICAgICAgICAg
UmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDQ1LDM3NSkgc2l6ZSA4MDB4MCBbY29sb3I9IzE5MTk3
MF0KKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTMpIHNp
emUgNTN4MTcKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTEzKSB3aWR0aCA1MzogIlZh
cmlvdXMgIgorICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXpl
IDQ3eDE3IFtjb2xvcj0jRkYwMDAwXQorICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0
IHsjdGV4dH0gYXQgKDUzLC0xMykgc2l6ZSA0N3gxNworICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICg1MywtMTMpIHdpZHRoIDQ3OiAib3V0bGluZSAiCisgICAgICAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKDEwMCwtMTMpIHNpemUgNDN4MTcKKyAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDEwMCwtMTMpIHdpZHRoIDQzOiAic3R5bGVzLCAiCisgICAgICAgICAgICBS
ZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgNjN4MTcgW2NvbG9yPSNGRjAwMDBd
CisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMTQzLC0xMykg
c2l6ZSA2M3gxNworICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNDMsLTEzKSB3aWR0aCA2
MzogImZpbGwgY29sb3JzICIKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoMjA2LC0xMykgc2l6ZSAyN3gxNworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjA2
LC0xMykgd2lkdGggMjc6ICJhbmQgIgorICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFu
fSBhdCAoMCwwKSBzaXplIDc1eDE3IFtjb2xvcj0jRkYwMDAwXQorICAgICAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDIzMywtMTMpIHNpemUgNzV4MTcKKyAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMjMzLC0xMykgd2lkdGggNzU6ICJ0aGlja25lc3NlcyAiCisg
ICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDMwOCwtMTMpIHNpemUg
NDF4MTcKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMwOCwtMTMpIHdpZHRoIDQxOiAiY2Fu
IGJlIgorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICg0NSw0MDApIHNpemUgODAw
eDAgW2NvbG9yPSMxOTE5NzBdCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4
dH0gYXQgKDAsLTEzKSBzaXplIDIyMXgxNworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwt
MTMpIHdpZHRoIDIyMTogInVzZWQsIGFuZCB0aGUgb3V0bGluZSBzdHJva2UgY2FuIGJlICIKKyAg
ICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSA1MngxNyBbY29s
b3I9IzAwMDAwMF0KKyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgyMjEsLTEzKSBzaXplIDUyeDE3CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDIyMSwt
MTMpIHdpZHRoIDUyOiAicm91bmRlZCIKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQg
eyN0ZXh0fSBhdCAoMjczLC0xMykgc2l6ZSAyMXgxNworICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMjczLC0xMykgd2lkdGggNDogIiAiCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNzcs
LTEzKSB3aWR0aCAxNzogIm9yICIKKyAgICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0g
YXQgKDAsMCkgc2l6ZSA1MXgxNyBbY29sb3I9IzAwMDAwMF0KKyAgICAgICAgICAgICAgUmVuZGVy
U1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgyOTQsLTEzKSBzaXplIDUxeDE3CisgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDI5NCwtMTMpIHdpZHRoIDUxOiAibWl0ZXJlZC4iCisgICAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAg
ICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoNDUsNDUwKSBzaXplIDgwMHgwIFtjb2xvcj0j
MTkxOTcwXQorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0x
Mykgc2l6ZSAxNjF4MTcKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTEzKSB3aWR0aCAx
NjE6ICJUZXh0IGVsZW1lbnRzIGFsc28gY2FuIGJlIgorICAgICAgICAgIFJlbmRlclNWR1RleHQg
e3RleHR9IGF0ICg0NSw0NzUpIHNpemUgODAweDAgW2NvbG9yPSMxOTE5NzBdCisgICAgICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEzKSBzaXplIDE1NHgxNworICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTMpIHdpZHRoIDE1NDogImZpbHRlcmVkIGFuZCB0
cmFuc2Zvcm1lZC4iCisgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjA4Ljc2
LDQzMykgc2l6ZSAxNzAuNDR4NTIuMjAgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwx
LjAwKSkgdD0oMjUwLjAwLDQ3NS4wMCl9XQorICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4
dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0
IHsjdGV4dH0gYXQgKDAsLTM2KSBzaXplIDEyOXg0NgorICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLC0zNikgd2lkdGggMTI5OiAiU2hhZG93IgorICAgICAgICAgICAgUmVuZGVyU1ZHVGV4
dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDAsLTM2KSBzaXplIDEyOXg0NgorICAgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLC0zNikgd2lkdGggMTI5OiAiU2hhZG93IgorICAgICAgUmVuZGVyU1ZHQ29u
dGFpbmVyIHt1c2V9IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBzdmcvYmF0aWsvdGV4dC90ZXh0
RmVhdHVyZXMuc3ZnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN2Zy9iYXRpay90ZXh0L3RleHRGZWF0dXJlcy5z
dmcJKHJldmlzaW9uIDApCisrKyBzdmcvYmF0aWsvdGV4dC90ZXh0RmVhdHVyZXMuc3ZnCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDExNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25l
PSJubyI/PgorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjAvL0VOIgor
Imh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLVNWRy0yMDAxMDkwNC9EVEQvc3ZnMTAuZHRk
Ij4KKworPCEtLQorCisgICBDb3B5cmlnaHQgMjAwMS0yMDAzICBUaGUgQXBhY2hlIFNvZnR3YXJl
IEZvdW5kYXRpb24gCisKKyAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVy
c2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBl
eGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICAgWW91IG1heSBvYnRhaW4g
YSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcv
bGljZW5zZXMvTElDRU5TRS0yLjAKKworICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUg
bGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICAgZGlzdHJpYnV0ZWQgdW5k
ZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgIFdJ
VEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVz
cyBvciBpbXBsaWVkLgorICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3Vh
Z2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExp
Y2Vuc2UuCisKKy0tPgorPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPCEtLSBUZXN0IGRlc2Ny
aXB0aW9uIGhlcmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC0tPgorPCEtLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorPCEtLSBAYXV0aG9yIGJpbGwu
aGFuZW1hbkBpcmVsYW5kLnN1bi5jb20gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC0tPgorPCEtLSBAdmVyc2lvbiAkSWQ6IHRleHRGZWF0dXJlcy5zdmcsdiAxLjYgMjAwNC8w
OC8xOCAwNzoxMjoyMSB2aGFyZHkgRXhwICQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+Cis8IS0tID09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0g
LS0+Cis8P3htbC1zdHlsZXNoZWV0IHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9yZXNvdXJjZXMv
dGVzdC5jc3MiID8+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1s
bnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSI0NTAiIGhlaWdo
dD0iNTAwIiB2aWV3Qm94PSIwIDAgNDUwIDUwMCI+CisgICAgPCEtLSA9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorICAgIDwh
LS0gVGVzdCBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAtLT4KKyAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisKKzwhLS0gQ1JBU0hFUyBXRUJLSVQKKyAg
ICA8ZGVmcz4KKyAgICAgICAgPGZpbHRlciBpZD0iYmx1ciIgIGZpbHRlclVuaXRzPSJ1c2VyU3Bh
Y2VPblVzZSIgeD0iMCIgeT0iLTgwIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjEwMCIgZmlsdGVyUmVz
PSIyMDAiPgorICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMiAyIiB4
PSIwIiB5PSItODAiIHdpZHRoPSIyMDAiIGhlaWdodD0iMTAwIi8+IAorICAgICAgICA8L2ZpbHRl
cj4KKyAgICA8L2RlZnM+CistLT4KKyAgICA8ZyBpZD0idGVzdENvbnRlbnQiPgorICAgICAgICA8
dGV4dCBjbGFzcz0idGl0bGUiIHg9IjUwJSIgeT0iMTAlIiBmb250LXNpemU9IjE1IiB0ZXh0LWFu
Y2hvcj0ibWlkZGxlIiA+CisgICAgICAgICAgICBUZXh0IEVsZW1lbnQgRmVhdHVyZXM8L3RleHQ+
CisgICAgICA8ZyBmb250LWZhbWlseT0iZGlhbG9nIiBmb250LXNpemU9IjE1IiAKKyAgICAgICAg
ICAgICAgICAgIHRleHQtYW5jaG9yPSJzdGFydCIgZmlsbD0iTWlkbmlnaHRCbHVlIj4KKyAgICAg
ICAgPHRleHQgeD0iMTAlIiB5PSIyMCUiPgorICAgICAgICBUZXh0IGNhbiBjaGFuZ2UgCisgICAg
ICAgIDx0c3BhbiBmb250LXNpemU9IjMwIj5zaXplLDwvdHNwYW4+CisgICAgICAgIDx0c3BhbiBm
b250LXNpemU9IjIwIiBmb250LWZhbWlseT0iU2VyaWYiPnR5cGVmYWNlLDwvdHNwYW4+IAorICAg
ICAgICA8dHNwYW4gZmlsbD0iZ3JlZW4iPmNvbG9yLDwvdHNwYW4+CisgICAgICAgIG9yIAorICAg
ICAgICA8dHNwYW4gZmlsbD0ibm9uZSIgZm9udC1zdHlsZT0ib2JsaXF1ZSIgc3Ryb2tlPSJyZWQi
IHN0cm9rZS13aWR0aD0iMSI+c3R5bGU8L3RzcGFuPgorICAgICAgICA8L3RleHQ+CisgICAgICAg
IDx0ZXh0IGZpbGw9Ik1pZG5pZ2h0Qmx1ZSIgeD0iMTAlIiB5PSIyNSUiPiAKKyAgICAgICAgd2l0
aGluIGEgc2luZ2xlIHRleHQgZWxlbWVudC4KKyAgICAgICAgPC90ZXh0PiAKKyAgICAgICAgPHRl
eHQgeD0iMTAlIiB5PSIzNSUiPlN0eWxpbmcgZmVhdHVyZXMgaW5jbHVkZSAKKyAgICAgICAgICAg
IDx0c3BhbiBmb250LXdlaWdodD0iYm9sZCI+d2VpZ2h0LDwvdHNwYW4+IAorICAgICAgICAgICAg
PHRzcGFuIGZvbnQtc3R5bGU9Im9ibGlxdWUiPnBvc3R1cmUsPC90c3Bhbj4gYW5kIAorICAgICAg
ICAgICAgPHRzcGFuIGZvbnQtZmFtaWx5PSJzZXJpZiI+dHlwZWZhY2UuPC90c3Bhbj4KKyAgICAg
ICAgPC90ZXh0PgorICAgICAgICA8cmVjdCB4PSIxMCUiIHk9IjQwJSIgd2lkdGg9IjQ1JSIgaGVp
Z2h0PSIxMCUiIGZpbGw9IkRvZGdlckJsdWUiLz4KKyAgICAgICAgPHRleHQgeD0iMTAlIiB5PSI0
NSUiPgorICAgICAgICBHcmFwaGljcyBhdHRyaWJ1dGVzIHN1Y2ggYXMgCisgICAgICAgICAgICA8
dHNwYW4gZmlsbD0icmVkIiBvcGFjaXR5PSIwLjMiPm9wYWNpdHk8L3RzcGFuPiBjYW4gYmUgYXBw
bGllZC4KKyAgICAgICAgPC90ZXh0PgorICAgICAgICA8dGV4dCB4PSIxMCUiIHk9IjU1JSI+InRl
eHQgZGVjb3JhdGlvbiIgY2FuIGluY2x1ZGUgCisgICAgICAgICAgICA8dHNwYW4gdGV4dC1kZWNv
cmF0aW9uPSJ1bmRlcmxpbmUiPnVuZGVybGluZSw8L3RzcGFuPgorICAgICAgICAgICAgPHRzcGFu
IHRleHQtZGVjb3JhdGlvbj0ib3ZlcmxpbmUiPm92ZXJsaW5lLDwvdHNwYW4+IGFuZAorICAgICAg
ICA8L3RleHQ+IAorICAgICAgICA8dGV4dCB4PSIxMCUiIHk9IjYwJSI+CisgICAgICAgIDx0c3Bh
biB0ZXh0LWRlY29yYXRpb249ImxpbmUtdGhyb3VnaCI+c3RyaWtldGhyb3VnaC48L3RzcGFuPgor
ICAgICAgICA8dHNwYW4gYmFzZWxpbmUtc2hpZnQ9InN1cGVyIiBmb250LXNpemU9Ijc1JSI+c3Vw
ZXI8L3RzcGFuPi1hbmQtCisgICAgICAgIDx0c3BhbiBiYXNlbGluZS1zaGlmdD0ic3ViIiBmb250
LXNpemU9Ijc1JSI+c3ViPC90c3Bhbj4tc2NyaXB0cyAKKwlhcmUgYXZhaWxhYmxlLjwvdGV4dD4K
KyAgICAgICAgPHRleHQgeD0iMTAlIiB5PSI2NSUiPkJhc2VsaW5lIGNhbiBhbHNvIGJlIHNoaWZ0
ZWQKKyAgICAgICAgPHRzcGFuIGJhc2VsaW5lLXNoaWZ0PSI1MCUiIGZvbnQtc2l6ZT0iNzUlIj51
cDwvdHNwYW4+IGFuZAorICAgICAgICA8dHNwYW4gYmFzZWxpbmUtc2hpZnQ9Ii01MCUiIGZvbnQt
c2l6ZT0iNzUlIj5kb3duPC90c3Bhbj4gCisJYnkgcGVyY2VudGFnZS48L3RleHQ+CisgICAgICAg
IDx0ZXh0IHg9IjEwJSIgeT0iNzUlIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5l
am9pbj0icm91bmQiPgorICAgICAgICAgICAgVmFyaW91cyAKKyAgICAgICAgICAgIDx0c3BhbiBz
dHJva2U9InJlZCIgZmlsbD0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIwLjUiPm91dGxpbmUKKyAgICAg
ICAgICAgIDwvdHNwYW4+c3R5bGVzLCAKKyAgICAgICAgICAgIDx0c3BhbiBzdHJva2U9InJlZCIg
c3Ryb2tlLXdpZHRoPSIwLjUiIGZpbGw9ImJsdWUiID5maWxsIGNvbG9ycworICAgICAgICAgICAg
PC90c3Bhbj5hbmQKKyAgICAgICAgICAgIDx0c3BhbiBzdHJva2U9InJlZCIgc3Ryb2tlLXdpZHRo
PSIxIiBmaWxsPSJibHVlIiA+dGhpY2tuZXNzZXMKKyAgICAgICAgICAgIDwvdHNwYW4+Y2FuIGJl
CisgICAgICAgIDwvdGV4dD4KKyAgICAgICAgPHRleHQgeD0iMTAlIiB5PSI4MCUiPnVzZWQsIGFu
ZCB0aGUgb3V0bGluZSBzdHJva2UgY2FuIGJlIAorICAgICAgICAgICAgPHRzcGFuIHN0cm9rZT0i
YmxhY2siIGZpbGw9Im5vbmUiIHN0cm9rZS13aWR0aD0iMC41IiAKKyAgICAgICAgICAgICAgIHN0
cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+cm91bmRlZDwvdHNw
YW4+CisgICAgICAgICAgICBvciAKKyAgICAgICAgICAgIDx0c3BhbiBzdHJva2U9ImJsYWNrIiBm
aWxsPSJub25lIiBzdHJva2Utd2lkdGg9IjAuNSIgCisgICAgICAgICAgICAgICBzdHJva2UtbGlu
ZWNhcD0ic3F1YXJlIiBzdHJva2UtbGluZWpvaW49Im1pdGVyIj5taXRlcmVkLjwvdHNwYW4+Cisg
ICAgICAgIDwvdGV4dD4KKyAgICAgICAgPHRleHQgeD0iMTAlIiB5PSI5MCUiPlRleHQgZWxlbWVu
dHMgYWxzbyBjYW4gYmU8L3RleHQ+CisgICAgICAgIDx0ZXh0IHg9IjEwJSIgeT0iOTUlIj5maWx0
ZXJlZCBhbmQgdHJhbnNmb3JtZWQuPC90ZXh0PgorICAgICAgICA8ZyBmb250LXNpemU9IjQwIiB0
cmFuc2Zvcm09InRyYW5zbGF0ZSgyNTAsIDQ3NSkiPiAgCisgICAgICAgIDx0ZXh0IHg9IjAiIHk9
IjAiIGZpbHRlcj0idXJsKCNibHVyKSIgZmlsbD0iYmxhY2siIG9wYWNpdHk9IjAuNyIKKyAgICAg
ICAgIHRyYW5zZm9ybT0ic2tld1goNDApIHRyYW5zbGF0ZSgtNiwtNikiPgorICAgICAgICAgICAg
U2hhZG93CisgICAgICAgIDwvdGV4dD4KKyAgICAgICAgPHRleHQgeD0iMCIgeT0iMCIgc3Ryb2tl
PSJibGFjayIgc3Ryb2tlLXdpZHRoPSIwLjIiIGZpbGw9IndoaXRlIj4KKyAgICAgICAgICAgIFNo
YWRvdworICAgICAgICA8L3RleHQ+CisgICAgICAgIDwvZz4KKyAgICAgIDwvZz4KKyAgICA8L2c+
CisKKyAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0gLS0+CisgICAgPCEtLSBCYXRpayBzYW1wbGUgbWFyayAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorICAgIDwhLS0gPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAt
LT4KKyAgICA8dXNlIHhsaW5rOmhyZWY9Ii4uL3Jlc291cmNlcy9iYXRpa0xvZ28uc3ZnI0JhdGlr
X1RhZ19Cb3giIC8+CisgICAgCis8L3N2Zz4KClByb3BlcnR5IGNoYW5nZXMgb246IHN2Zy9iYXRp
ay90ZXh0L3RleHRGZWF0dXJlcy5zdmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46ZXhlY3V0YWJsZQog
ICArICoKCkluZGV4OiBzdmcvYmF0aWsvdGV4dC90ZXh0R2x5cGhPcmllbnRhdGlvbkhvcml6b250
YWwtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3ZnL2JhdGlrL3RleHQvdGV4dEds
eXBoT3JpZW50YXRpb25Ib3Jpem9udGFsLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQor
Kysgc3ZnL2JhdGlrL3RleHQvdGV4dEdseXBoT3JpZW50YXRpb25Ib3Jpem9udGFsLWV4cGVjdGVk
LmNoZWNrc3VtCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACis0MTYyY2M5NjIzYTZjZTJhNzNl
MjczZjkwOTQzY2UyOQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IHN2Zy9iYXRp
ay90ZXh0L3RleHRHbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gc3ZnL2JhdGlrL3RleHQvdGV4dEdseXBoT3JpZW50YXRpb25Ib3Jpem9udGFsLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIHN2Zy9iYXRpay90ZXh0L3RleHRHbHlwaE9yaWVu
dGF0aW9uSG9yaXpvbnRhbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsODYg
QEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNp
emUgODAweDYwMAorICAgIFJlbmRlclNWR0NvbnRhaW5lciB7c3ZnfSBhdCAoNDksMTYpIHNpemUg
MzUxeDM3NS41MgorICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAoMCww
KSBzaXplIDB4MAorICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMTkuNjUsOC45Nikgc2l6
ZSAxNjAuMzV4NDIuMDggW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMEZGXX1dIFtk
YXRhPSJNMjAuMDAsNDAuMDBDNDAuMDAsMjAuMDAsNjAuMDAsMC4wMCw4MC4wMCwyMC4wMEMxMDAu
MDAsNDAuMDAsMTIwLjAwLDYwLjAwLDE0MC4wMCw0MC4wMEMxNjAuMDAsMjAuMDAsMTgwLjAwLDIw
LjAwLDE4MC4wMCwyMC4wMCJdCisgICAgICAgIFJlbmRlclBhdGgge3BhdGh9IGF0ICgxOS43OCw4
Ljk5KSBzaXplIDMyMC4yMng0Mi4wMiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAw
RkZdfV0gW2RhdGE9Ik0yMC4wMCw0MC4wMEM2MC4wMCwyMC4wMCwxMDAuMDAsMC4wMCwxNDAuMDAs
MjAuMDBDMTgwLjAwLDQwLjAwLDIyMC4wMCw2MC4wMCwyNjAuMDAsNDAuMDBDMzAwLjAwLDIwLjAw
LDM0MC4wMCwyMC4wMCwzNDAuMDAsMjAuMDAiXQorICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0g
YXQgKDIyNSwzMCkgc2l6ZSA4MDB4MAorICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4
dH0gYXQgKC05NSwtMTQpIHNpemUgMTkweDE3CisgICAgICAgICAgdGV4dCBydW4gYXQgKC05NSwt
MTQpIHdpZHRoIDE5MDogIlRleHQgT3JpZW50YXRpb24gSG9yaXpvbnRhbCIKKyAgICAgIFJlbmRl
clNWR0NvbnRhaW5lciB7Z30gYXQgKDQ5LDQyKSBzaXplIDM1MXgzNDkuNTIKKyAgICAgICAgUmVu
ZGVyUGF0aCB7bGluZX0gYXQgKDUwLDc5KSBzaXplIDE1MHgyIFtzdHJva2U9e1t0eXBlPVNPTElE
XSBbY29sb3I9IzAwMDBGRl0gW3N0cm9rZSB3aWR0aD0yLjAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik01MC4wMCw4MC4wMEwyMDAuMDAsODAuMDAiXQor
ICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoNTAsODApIHNpemUgODAweDAKKyAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTIyKSBzaXplIDE0MngyNwor
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTIyKSB3aWR0aCAxNDI6ICJCYXRpayBpcyBHb29k
IgorICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgyMzcsNDIpIHNpemUgMTYzeDcx
IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDIyMC4wMCw2MC4wMCl9
XQorICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMjM5LjI5LDY4LjQyKSBz
aXplIDE2MC43MXg0My4xNgorICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAo
MjM5LjI5LDY4LjQyKSBzaXplIDE2MC43MXg0My4xNgorICAgICAgICAgICAgICBSZW5kZXJQYXRo
IHtwYXRofSBhdCAoMjM5LjI5LDY4LjQyKSBzaXplIDE2MC43MXg0My4xNiBbc3Ryb2tlPXtbdHlw
ZT1TT0xJRF0gW2NvbG9yPSMwMDAwRkZdIFtzdHJva2Ugd2lkdGg9Mi4wMF19XSBbZGF0YT0iTTIw
LjAwLDQwLjAwQzQwLjAwLDIwLjAwLDYwLjAwLDAuMDAsODAuMDAsMjAuMDBDMTAwLjAwLDQwLjAw
LDEyMC4wMCw2MC4wMCwxNDAuMDAsNDAuMDBDMTYwLjAwLDIwLjAwLDE4MC4wMCwyMC4wMCwxODAu
MDAsMjAuMDAiXQorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDApIHNpemUg
ODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR1RleHRQYXRoIHt0ZXh0UGF0aH0gYXQgKDAsMCkg
c2l6ZSAxMjJ4NzEKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgxNywtOSkgc2l6ZSA1Mng0OQorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNywtOSkg
d2lkdGggNTI6ICJCYXRpayAiCisgICAgICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0g
YXQgKDAsMCkgc2l6ZSAxNngzMiBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDY5LC0xNykgc2l6ZSAxNXgzMQorICAgICAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDY5LC0xNykgd2lkdGggMTU6ICJpcyIKKyAgICAgICAgICAg
ICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDU3eDUwCisgICAgICAgICAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg4MiwzKSBzaXplIDU3eDQ5Cisg
ICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoODIsMykgd2lkdGggNTc6ICIgR29vZCIKKyAg
ICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAor
ICAgICAgICBSZW5kZXJQYXRoIHtsaW5lfSBhdCAoNTAsMTI5KSBzaXplIDM1MHgyIFtzdHJva2U9
e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDBGRl0gW3N0cm9rZSB3aWR0aD0yLjAwXX1dIFtmaWxs
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik01MC4wMCwxMzAuMDBMNDAw
LjAwLDEzMC4wMCJdCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICg1MCwxMzApIHNp
emUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTIy
KSBzaXplIDE0MngyNworICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTIyKSB3aWR0aCAxNDI6
ICJCYXRpayBpcyBHb29kIgorICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg0OSwx
MzEpIHNpemUgMzIxeDcwLjUyIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkp
IHQ9KDMwLjAwLDE1MC4wMCl9XQorICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBh
dCAoNDkuNTUsMTU4LjQ4KSBzaXplIDMyMC40NXg0My4wNQorICAgICAgICAgICAgUmVuZGVyU1ZH
Q29udGFpbmVyIHtnfSBhdCAoNDkuNTUsMTU4LjQ4KSBzaXplIDMyMC40NXg0My4wNQorICAgICAg
ICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoNDkuNTUsMTU4LjQ4KSBzaXplIDMyMC40NXg0
My4wNSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwRkZdIFtzdHJva2Ugd2lkdGg9
Mi4wMF19XSBbZGF0YT0iTTIwLjAwLDQwLjAwQzYwLjAwLDIwLjAwLDEwMC4wMCwwLjAwLDE0MC4w
MCwyMC4wMEMxODAuMDAsNDAuMDAsMjIwLjAwLDYwLjAwLDI2MC4wMCw0MC4wMEMzMDAuMDAsMjAu
MDAsMzQwLjAwLDIwLjAwLDM0MC4wMCwyMC4wMCJdCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7
dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dFBhdGgg
e3RleHRQYXRofSBhdCAoMCwwKSBzaXplIDEzNXg2MAorICAgICAgICAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKDE5LC00KSBzaXplIDU2eDQ2CisgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDE5LC00KSB3aWR0aCA1NjogIkJhdGlrICIKKyAgICAgICAgICAgICAgUmVu
ZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDE3eDI5IFtjb2xvcj0jRkYwMDAwXQor
ICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoNzQsLTE4KSBz
aXplIDE2eDI4CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzQsLTE4KSB3aWR0aCAx
NjogImlzIgorICAgICAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNp
emUgNjN4MzkKKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KDkxLC0xMCkgc2l6ZSA2MngzOQorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDkxLC0x
MCkgd2lkdGggNjI6ICIgR29vZCIKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICBSZW5kZXJQYXRoIHtsaW5lfSBhdCAoNTAs
MjM5KSBzaXplIDE1MHgyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDBGRl0gW3N0
cm9rZSB3aWR0aD0yLjAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0g
W2RhdGE9Ik01MC4wMCwyNDAuMDBMMjAwLjAwLDI0MC4wMCJdCisgICAgICAgIFJlbmRlclNWR1Rl
eHQge3RleHR9IGF0ICg1MCwyNDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDAsLTIyKSBzaXplIDE0MngyNworICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsLTIyKSB3aWR0aCAxNDI6ICJCYXRpayBpcyBHb29kIgorICAgICAgICBSZW5kZXJT
VkdDb250YWluZXIge2d9IGF0ICgyMzcsMjAyKSBzaXplIDE2M3g3MSBbdHJhbnNmb3JtPXttPSgo
MS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgyMjAuMDAsMjIwLjAwKX1dCisgICAgICAgICAgUmVu
ZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgyMzkuMjksMjI4LjQyKSBzaXplIDE2MC43MXg0My4x
NgorICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjM5LjI5LDIyOC40Mikg
c2l6ZSAxNjAuNzF4NDMuMTYKKyAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cGF0aH0gYXQgKDIz
OS4yOSwyMjguNDIpIHNpemUgMTYwLjcxeDQzLjE2IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29s
b3I9IzAwMDBGRl0gW3N0cm9rZSB3aWR0aD0yLjAwXX1dIFtkYXRhPSJNMjAuMDAsNDAuMDBDNDAu
MDAsMjAuMDAsNjAuMDAsMC4wMCw4MC4wMCwyMC4wMEMxMDAuMDAsNDAuMDAsMTIwLjAwLDYwLjAw
LDE0MC4wMCw0MC4wMEMxNjAuMDAsMjAuMDAsMTgwLjAwLDIwLjAwLDE4MC4wMCwyMC4wMCJdCisg
ICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAorICAgICAg
ICAgICAgUmVuZGVyU1ZHVGV4dFBhdGgge3RleHRQYXRofSBhdCAoMCwwKSBzaXplIDEyMng3MQor
ICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDE3LC05KSBzaXpl
IDUyeDQ5CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE3LC05KSB3aWR0aCA1MjogIkJh
dGlrICIKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXpl
IDE2eDMyIFtjb2xvcj0jRkYwMDAwXQorICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoNjksLTE3KSBzaXplIDE1eDMxCisgICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoNjksLTE3KSB3aWR0aCAxNTogImlzIgorICAgICAgICAgICAgICBSZW5kZXJTVkdU
U3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgNTd4NTAKKyAgICAgICAgICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDgyLDMpIHNpemUgNTd4NDkKKyAgICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICg4MiwzKSB3aWR0aCA1NzogIiBHb29kIgorICAgICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgIFJlbmRl
clBhdGgge2xpbmV9IGF0ICg1MCwzMTkpIHNpemUgMzUweDIgW3N0cm9rZT17W3R5cGU9U09MSURd
IFtjb2xvcj0jMDAwMEZGXSBbc3Ryb2tlIHdpZHRoPTIuMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElE
XSBbY29sb3I9IzAwMDAwMF19XSBbZGF0YT0iTTUwLjAwLDMyMC4wMEw0MDAuMDAsMzIwLjAwIl0K
KyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDUwLDMyMCkgc2l6ZSA4MDB4MAorICAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMjIpIHNpemUgMTQyeDI3
CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMjIpIHdpZHRoIDE0MjogIkJhdGlrIGlzIEdv
b2QiCisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDQ5LDMyMSkgc2l6ZSAzMjF4
NzAuNTIgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMzAuMDAsMzQw
LjAwKX1dCisgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICg0OS41NSwzNDgu
NDgpIHNpemUgMzIwLjQ1eDQzLjA1CisgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9
IGF0ICg0OS41NSwzNDguNDgpIHNpemUgMzIwLjQ1eDQzLjA1CisgICAgICAgICAgICAgIFJlbmRl
clBhdGgge3BhdGh9IGF0ICg0OS41NSwzNDguNDgpIHNpemUgMzIwLjQ1eDQzLjA1IFtzdHJva2U9
e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDBGRl0gW3N0cm9rZSB3aWR0aD0yLjAwXX1dIFtkYXRh
PSJNMjAuMDAsNDAuMDBDNjAuMDAsMjAuMDAsMTAwLjAwLDAuMDAsMTQwLjAwLDIwLjAwQzE4MC4w
MCw0MC4wMCwyMjAuMDAsNjAuMDAsMjYwLjAwLDQwLjAwQzMwMC4wMCwyMC4wMCwzNDAuMDAsMjAu
MDAsMzQwLjAwLDIwLjAwIl0KKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCww
KSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdUZXh0UGF0aCB7dGV4dFBhdGh9IGF0
ICgwLDApIHNpemUgMTM1eDYwCisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoMTksLTQpIHNpemUgNTZ4NDYKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MTksLTQpIHdpZHRoIDU2OiAiQmF0aWsgIgorICAgICAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7
dHNwYW59IGF0ICgwLDApIHNpemUgMTd4MjkgW2NvbG9yPSNGRjAwMDBdCisgICAgICAgICAgICAg
ICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg3NCwtMTgpIHNpemUgMTZ4MjgKKyAg
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg3NCwtMTgpIHdpZHRoIDE2OiAiaXMiCisgICAg
ICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSA2M3gzOQorICAg
ICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoOTEsLTEwKSBzaXpl
IDYyeDM5CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTEsLTEwKSB3aWR0aCA2Mjog
IiBHb29kIgorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMHgwCkluZGV4OiBzdmcvYmF0aWsvdGV4dC90ZXh0R2x5cGhPcmllbnRhdGlvbkhvcml6
b250YWwuc3ZnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIHN2Zy9iYXRpay90ZXh0L3RleHRHbHlwaE9yaWVudGF0
aW9uSG9yaXpvbnRhbC5zdmcJKHJldmlzaW9uIDApCisrKyBzdmcvYmF0aWsvdGV4dC90ZXh0R2x5
cGhPcmllbnRhdGlvbkhvcml6b250YWwuc3ZnCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEwNyBA
QAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PgorPCFET0NUWVBFIHN2ZyBQ
VUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjAvL0VOIgorImh0dHA6Ly93d3cudzMub3JnL1RSLzIw
MDEvUkVDLVNWRy0yMDAxMDkwNC9EVEQvc3ZnMTAuZHRkIj4KKworPCEtLQorCisgICBDb3B5cmln
aHQgMjAwMyAgVGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIAorCisgICBMaWNlbnNlZCB1
bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAg
IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUg
TGljZW5zZS4KKyAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisg
ICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyAgIFVu
bGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywg
c29mdHdhcmUKKyAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVk
IG9uIGFuICJBUyBJUyIgQkFTSVMsCisgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9O
UyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAgIFNlZSB0aGUgTGlj
ZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQK
KyAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCistLT4KKzwhLS0gPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PSAtLT4KKzwhLS0gVGVzdCB0aGUgeCxkeCBhbmQgeSxkeSBhdHRyaWJ1dGVzICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKzwhLS0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4K
KzwhLS0gQGF1dGhvciB0a29ybWFubkBpbG9nLmZyICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAtLT4KKzwhLS0gQHZlcnNpb24gJElkOiB0ZXh0R2x5cGhPcmll
bnRhdGlvbkhvcml6b250YWwuc3ZnLHYgMS4zIDIwMDQvMDgvMTggMDc6MTI6MjEgdmhhcmR5IEV4
cCAkIC0tPgorPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCis8P3htbC1zdHlsZXNoZWV0IHR5cGU9
InRleHQvY3NzIiBocmVmPSIuLi9yZXNvdXJjZXMvdGVzdC5jc3MiID8+CisKKzxzdmcgd2lkdGg9
IjQ1MCIgaGVpZ2h0PSI1MDAiIHZpZXdCb3g9IjAgMCA0NTAgNTAwIgorICAgICB4bWxucz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMC9zdmciIAorICAgICB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53
My5vcmcvMTk5OS94bGluayIgPgorICAgPHRpdGxlPlRleHQgT3JpZW50YXRpb24gSG9yaXpvbnRh
bDwvdGl0bGU+CisKKyAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisgICAgPCEtLSBUZXN0IGNvbnRlbnQgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorICAgIDwh
LS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PSAtLT4KKworICAgPGRlZnM+IAorCTxwYXRoIGlkPSJwYXRoIiBzdHlsZT0iZmlsbDpu
b25lOyBzdHJva2U6Ymx1ZTsiIAorICAgICAgICAgICAgICBkPSJNIDIwIDQwIEMgNDAgMjAgNjAg
MCA4MCAyMCBDIDEwMCA0MCAxMjAgNjAgMTQwIDQwIAorICAgICAgICAgICAgICAgICBDIDE2MCAy
MCAxODAgMjAgMTgwIDIwIi8+CisJPHBhdGggaWQ9ImxwYXRoIiBzdHlsZT0iZmlsbDpub25lOyBz
dHJva2U6Ymx1ZTsiIAorICAgICAgICAgICAgICBkPSJNIDIwIDQwIGMgNDAgLTIwIDgwIC00MCAx
MjAgLTIwIGMgNDAgMjAgODAgNDAgMTIwIDIwCisgICAgICAgICAgICAgICAgIGMgNDAgLTIwIDgw
IC0yMCA4MCAtMjAiLz4KKyAgIDwvZGVmcz4KKworCisgICA8dGV4dCBjbGFzcz0idGl0bGUiIHg9
IjUwJSIgeT0iMzAiPlRleHQgT3JpZW50YXRpb24gSG9yaXpvbnRhbDwvdGV4dD4KKworICAgPGcg
aWQ9InRlc3RDb250ZW50IiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWw7IGZvbnQtc2l6ZToyNHB4
Ij4KKworICAgICAgPGxpbmUgeDE9IjUwIiB4Mj0iMjAwIiB5MT0iODAiIHkyPSI4MCIgCisgICAg
ICAgICAgICBzdHJva2U9ImJsdWUiIHN0cm9rZS13aWR0aD0iMiIvPgorICAgICAgPHRleHQgeD0i
NTAiIHk9IjgwIiBnbHlwaC1vcmllbnRhdGlvbi1ob3Jpem9udGFsPSIwIj5CYXRpayBpcyBHb29k
PC90ZXh0PgorCisgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMjAsIDYwKSI+CisgICAg
ICAgICA8dXNlIHhsaW5rOmhyZWY9IiNwYXRoIiBmaWxsPSJub25lIiBzdHJva2U9ImJsdWUiIHN0
cm9rZS13aWR0aD0iMiIvPgorCSA8dGV4dCBnbHlwaC1vcmllbnRhdGlvbi1ob3Jpem9udGFsPSIw
Ij4KKyAgICAgICAgICAgIDx0ZXh0UGF0aCB4bGluazpocmVmPSIjcGF0aCI+QmF0aWsgPHRzcGFu
IGZpbGw9InJlZCIgZHk9Ii0xMCI+aXM8L3RzcGFuPjx0c3BhbiBkeT0iMTAiPiBHb29kPC90c3Bh
bj48L3RleHRQYXRoPgorICAgICAgICAgICAgPC90ZXh0PgorICAgICAgPC9nPgorCisgICAgICA8
bGluZSB4MT0iNTAiIHgyPSI0MDAiIHkxPSIxMzAiIHkyPSIxMzAiIAorICAgICAgICAgICAgc3Ry
b2tlPSJibHVlIiBzdHJva2Utd2lkdGg9IjIiLz4KKyAgICAgIDx0ZXh0IHg9IjUwIiB5PSIxMzAi
IGdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWw9IjkwIgorICAgICAgICA+QmF0aWsgaXMgR29v
ZDwvdGV4dD4KKworICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAsIDE1MCkiPgorICAg
ICAgICAgPHVzZSB4bGluazpocmVmPSIjbHBhdGgiIGZpbGw9Im5vbmUiIHN0cm9rZT0iYmx1ZSIg
c3Ryb2tlLXdpZHRoPSIyIi8+CisJIDx0ZXh0IGdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWw9
IjkwIj4KKyAgICAgICAgICAgIDx0ZXh0UGF0aCB4bGluazpocmVmPSIjbHBhdGgiPkJhdGlrIDx0
c3BhbiBmaWxsPSJyZWQiIGR5PSItMTAiPmlzPC90c3Bhbj48dHNwYW4gZHk9IjEwIj4gR29vZDwv
dHNwYW4+PC90ZXh0UGF0aD4KKyAgICAgICAgICAgIDwvdGV4dD4KKyAgICAgICAKKyAgICAgIDwv
Zz4KKworICAgICAgPGxpbmUgeDE9IjUwIiB4Mj0iMjAwIiB5MT0iMjQwIiB5Mj0iMjQwIiAKKyAg
ICAgICAgICAgIHN0cm9rZT0iYmx1ZSIgc3Ryb2tlLXdpZHRoPSIyIi8+CisgICAgICA8dGV4dCB4
PSI1MCIgeT0iMjQwIiBnbHlwaC1vcmllbnRhdGlvbi1ob3Jpem9udGFsPSIxODAiCisgICAgICAg
ID5CYXRpayBpcyBHb29kPC90ZXh0PgorCisgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgy
MjAsIDIyMCkiPgorICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjcGF0aCIgZmlsbD0ibm9uZSIg
c3Ryb2tlPSJibHVlIiBzdHJva2Utd2lkdGg9IjIiLz4KKwkgPHRleHQgZ2x5cGgtb3JpZW50YXRp
b24taG9yaXpvbnRhbD0iMTgwIj4KKyAgICAgICAgICAgIDx0ZXh0UGF0aCB4bGluazpocmVmPSIj
cGF0aCI+QmF0aWsgPHRzcGFuIGZpbGw9InJlZCIgZHk9Ii0xMCI+aXM8L3RzcGFuPjx0c3BhbiBk
eT0iMTAiPiBHb29kPC90c3Bhbj48L3RleHRQYXRoPgorICAgICAgICAgICAgPC90ZXh0PgorICAg
ICAgIAorICAgICAgPC9nPgorCisgICAgICA8bGluZSB4MT0iNTAiIHgyPSI0MDAiIHkxPSIzMjAi
IHkyPSIzMjAiIAorICAgICAgICAgICAgc3Ryb2tlPSJibHVlIiBzdHJva2Utd2lkdGg9IjIiLz4K
KyAgICAgIDx0ZXh0IHg9IjUwIiB5PSIzMjAiIGdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWw9
IjI3MCIKKyAgICAgICAgPkJhdGlrIGlzIEdvb2Q8L3RleHQ+CisKKyAgICAgIDxnIHRyYW5zZm9y
bT0idHJhbnNsYXRlKDMwLCAzNDApIj4KKyAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI2xwYXRo
IiBmaWxsPSJub25lIiBzdHJva2U9ImJsdWUiIHN0cm9rZS13aWR0aD0iMiIvPgorCSA8dGV4dCBn
bHlwaC1vcmllbnRhdGlvbi1ob3Jpem9udGFsPSIyNzAiPgorICAgICAgICAgICAgPHRleHRQYXRo
IHhsaW5rOmhyZWY9IiNscGF0aCI+QmF0aWsgPHRzcGFuIGZpbGw9InJlZCIgZHk9Ii0xMCI+aXM8
L3RzcGFuPjx0c3BhbiBkeT0iMTAiPiBHb29kPC90c3Bhbj48L3RleHRQYXRoPgorICAgICAgICAg
ICAgPC90ZXh0PgorICAgICAgIAorICAgICAgPC9nPgorICAgPC9nPgorCisKKworPC9zdmc+CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBzdmcvYmF0aWsvdGV4dC90ZXh0R2x5cGhPcmllbnRhdGlvbkhv
cml6b250YWwuc3ZnCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOmV4ZWN1dGFibGUKICAgKyAqCgpJbmRl
eDogc3ZnL2JhdGlrL3RleHQvdGV4dExheW91dDItZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gc3ZnL2JhdGlrL3RleHQvdGV4dExheW91dDItZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlz
aW9uIDApCisrKyBzdmcvYmF0aWsvdGV4dC90ZXh0TGF5b3V0Mi1leHBlY3RlZC5jaGVja3N1bQko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorYmRhZmY1NGFmNTc4MGQ5MWQ3NjA3NWQ0MzMzNDY3
NmMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBzdmcvYmF0aWsvdGV4dC90ZXh0
TGF5b3V0Mi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3ZnL2JhdGlrL3RleHQvdGV4dExh
eW91dDItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgc3ZnL2JhdGlrL3RleHQvdGV4dExh
eW91dDItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDgwIEBACitsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
KyAgICBSZW5kZXJTVkdDb250YWluZXIge3N2Z30gYXQgKDkwLDM2KSBzaXplIDM1NXg0MzMKKyAg
ICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKKyAg
ICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAorICAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgNDR4MTgKKyAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLC0xNCkgd2lkdGggNDQ6ICJzYW1wbGUiCisgICAgICBSZW5k
ZXJTVkdDb250YWluZXIge2d9IGF0ICg5MCwzNikgc2l6ZSAzNTV4NDMzCisgICAgICAgIFJlbmRl
clNWR1RleHQge3RleHR9IGF0ICgyMjUsNTApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC03MiwtMTQpIHNpemUgMTcweDE3CisgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoLTcyLC0xNCkgd2lkdGggMTcwOiAiVGV4dCBMYXlvdXQgUHJvcGVydGll
cyAoMikiCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyMjUsNzUpIHNpemUgODAw
eDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC0zOCwtMTApIHNp
emUgNzd4MTMKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtMzgsLTEwKSB3aWR0aCA3NzogIkJh
c2VsaW5lIFByb3BlcnRpZXMiCisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDE1
NSw4OCkgc2l6ZSAxOTd4NDkKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjI1
LDExMCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAo
MCwwKSBzaXplIDM0eDE3IFtjb2xvcj0jMDAwMEZGXQorICAgICAgICAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKC0yMiwtMjEpIHNpemUgMzR4MTcKKyAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoLTIyLC0yMSkgd2lkdGggMzQ6ICJzdXBlciIKKyAgICAgICAgICAgIFJl
bmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMzQsLTEzKSBzaXplIDMxeDE3CisgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgzNCwtMTMpIHdpZHRoIDMxOiAiIGFuZCAiCisgICAgICAgICAg
ICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMjJ4MTcgW2NvbG9yPSMwMDgw
MDBdCisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoNjUsLTQp
IHNpemUgMjJ4MTcKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjUsLTQpIHdpZHRoIDIy
OiAic3ViIgorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg4Nywt
MTMpIHNpemUgNDB4MTcKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDg3LC0xMykgd2lkdGgg
NDA6ICJzY3JpcHRzIgorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyMjUsMTM1
KSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KC03MCwtNykgc2l6ZSAxNDF4OQorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTcwLC03KSB3
aWR0aCAxNDE6ICJiYXNlbGluZS1zaGlmdD1cInN1cGVyXCIvYmFzZWxpbmUtc2hpZnQ9XCJzdWJc
IiIKKyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTg1LDE0OSkgc2l6ZSAyNjB4
MzMKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjI1LDE2NSkgc2l6ZSA4MDB4
MAorICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDQ5eDE3
IFtjb2xvcj0jMDAwMEZGXQorICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4
dH0gYXQgKC00MCwtMTYpIHNpemUgNDl4MTcKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
LTQwLC0xNikgd2lkdGggNDk6ICJwb3NpdGl2ZSIKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGlu
ZVRleHQgeyN0ZXh0fSBhdCAoNDksLTEzKSBzaXplIDMxeDE3CisgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICg0OSwtMTMpIHdpZHRoIDMxOiAiIGFuZCAiCisgICAgICAgICAgICBSZW5kZXJTVkdU
U3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgNTd4MTcgW2NvbG9yPSMwMDgwMDBdCisgICAgICAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoODAsLTEwKSBzaXplIDU3eDE3
CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDgwLC0xMCkgd2lkdGggNTc6ICJuZWdhdGl2
ZSAiCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDEzNywtMTMp
IHNpemUgODN4MTcKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEzNywtMTMpIHdpZHRoIDgz
OiAiYmFzZWxpbmUtc2hpZnQiCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIy
NSwxODApIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoLTQwLC03KSBzaXplIDgweDkKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKC00MCwt
Nykgd2lkdGggODA6ICJiYXNlbGluZS1zaGlmdD1cIisvLTIwJVwiIgorICAgICAgICBSZW5kZXJT
VkdUZXh0IHt0ZXh0fSBhdCAoMjI1LDIxMCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTUxLC0xMCkgc2l6ZSAxMDJ4MTMKKyAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgtNTEsLTEwKSB3aWR0aCAxMDI6ICJNdWx0aS1saW5lIFRleHQgU2VsZWN0
aW9uIgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjI1LDIyNSkgc2l6ZSA4MDB4
MAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTY1LC03KSBzaXpl
IDEzMXg5CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTY1LC03KSB3aWR0aCAxMzE6ICIoVHJ5
IHNlbGVjdGluZyB0aGUgZm9sbG93aW5nIHRleHQgcmVnaW9ucykiCisgICAgICAgIFJlbmRlclNW
R1RleHQge3RleHR9IGF0ICgwLDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdUU3Bh
biB7dHNwYW59IGF0ICgwLDApIHNpemUgMjA3eDE3CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDEyMCwyMzcpIHNpemUgMjA3eDE3CisgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgxMjAsMjM3KSB3aWR0aCAyMDc6ICJUZXh0IHNlbGVjdGlvbnMgY2FuIHNwYW4g
bXVsdGlwbGUiCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgzMjcs
MjM3KSBzaXplIDR4MTcKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzMjcsMjM3KSB3aWR0aCA0
OiAiICIKKyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMTY4
eDE3CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDEyMCwyNTIp
IHNpemUgMTY4eDE3CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMjAsMjUyKSB3aWR0aCAx
Njg6ICJsaW5lcyB2aWEgPHRzcGFuPiBlbGVtZW50cy4iCisgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgIFJlbmRlclNWR1RleHQg
e3RleHR9IGF0ICgwLDApIHNpemUgODAweDAgW2NvbG9yPSMwMDAwRkZdCisgICAgICAgICAgUmVu
ZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDEwNXgxMjMKKyAgICAgICAgICAgIFJl
bmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtNjgpIHNpemUgMTA1eDEyMworICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtNjgpIHdpZHRoIDEwNTogIlRleHQtY2lyY2xlLiIKKyAg
ICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAg
ICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MCBbY29sb3I9IzAw
ODAwMF0KKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE4KSBz
aXplIDg5eDEwMworICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTE4KSB3aWR0aCA4OTogIlRl
eHQtaW4tYS1zcXVhcmUiCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyMjUsNDUw
KSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgt
MjMsLTEzKSBzaXplIDYzeDE3CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTIzLC0xMykgd2lk
dGggNjM6ICJUZXh0IHdpdGggIgorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQg
KDAsMCkgc2l6ZSA0M3gxNyBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgICAgIFJlbmRlclNWR0lu
bGluZVRleHQgeyN0ZXh0fSBhdCAoNjMsLTEzKSBzaXplIDQzeDE3CisgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICg2MywtMTMpIHdpZHRoIDQzOiAicm90YXRlZCIKKyAgICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDEwNiwtMTMpIHNpemUgNDZ4MTcKKyAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgxMDYsLTEzKSB3aWR0aCA0NjogIiBnbHlwaHMiCisgICAgICAgIFJlbmRl
clNWR1RleHQge3RleHR9IGF0ICgyMjUsNDY1KSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVy
U1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgtNjMsLTEzKSBzaXplIDEyNngxNworICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKC02MywtMTMpIHdpZHRoIDEyNjogIk1vcmUgcm90YXRlZCBnbHlwaHMi
CisgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6
IHN2Zy9iYXRpay90ZXh0L3RleHRMYXlvdXQyLnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzdmcvYmF0aWsv
dGV4dC90ZXh0TGF5b3V0Mi5zdmcJKHJldmlzaW9uIDApCisrKyBzdmcvYmF0aWsvdGV4dC90ZXh0
TGF5b3V0Mi5zdmcJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOTggQEAKKzw/eG1sIHZlcnNpb249
IjEuMCIgc3RhbmRhbG9uZT0ibm8iPz4KKzwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RU
RCBTVkcgMS4wLy9FTiIKKyJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5
MDQvRFREL3N2ZzEwLmR0ZCI+CisKKzwhLS0KKworICAgQ29weXJpZ2h0IDIwMDEtMjAwMiAgVGhl
IEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIAorCisgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBh
Y2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAgIHlvdSBtYXkgbm90
IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAg
IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgICAgaHR0cDov
L3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyAgIFVubGVzcyByZXF1aXJl
ZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAg
IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJ
UyIgQkFTSVMsCisgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lO
RCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhl
IHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAgIGxpbWl0YXRp
b25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCistLT4KKzwhLS0gPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4K
KzwhLS0gVGVzdCBkZXNjcmlwdGlvbiBoZXJlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAtLT4KKzwhLS0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKzwh
LS0gQGF1dGhvciBiaWxsLmhhbmVtYW5AaXJlbGFuZC5zdW4uY29tICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAtLT4KKzwhLS0gQHZlcnNpb24gJElkOiB0ZXh0TGF5b3V0Mi5z
dmcsdiAxLjUgMjAwNC8wOC8xOCAwNzoxMjoyMiB2aGFyZHkgRXhwICQgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+Cis8IS0tID09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0gLS0+Cis8P3htbC1zdHlsZXNoZWV0IHR5cGU9InRleHQvY3NzIiBocmVm
PSIuLi9yZXNvdXJjZXMvdGVzdC5jc3MiID8+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9y
Zy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdp
ZHRoPSI0NTAiIGhlaWdodD0iNTAwIiB2aWV3Qm94PSIwIDAgNDUwIDUwMCI+Cis8dGl0bGU+VGV4
dCBMYXlvdXQgUHJvcGVydGllczwvdGl0bGU+CisKKyAgICA8IS0tID09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisgICAgPCEt
LSBUZXN0IGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC0tPgorICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKworICAgIDxkZWZzPgorICAgICA8c3R5bGUg
dHlwZT0idGV4dC9jc3MiPjwhW0NEQVRBWworICAgICAgIC5DYXB0aW9uIHsgZm9udC1zaXplOiA4
cHg7IGZvbnQtZmFtaWx5OiBkaWFsb2c7IGZvbnQtd2VpZ2h0OiBub3JtYWw7CisgICAgICAgICAg
ICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7IHN0cm9rZTogbm9uZTsgc3Ryb2tlLXdpZHRoOiAw
OyAKKyAgICAgICAgICAgICAgICAgIGZpbGw6IGJsYWNrIH0gXV0+CisgICAgIDwvc3R5bGU+CisK
KyAgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj48IVtDREFUQVsKKyAgICAgICAuU2VyaWZQbGFp
biB7IGZvbnQtc2l6ZTogMjRweDsgZm9udC1mYW1pbHk6IFNlcmlmOyBmb250LXdlaWdodDogbm9y
bWFsOworICAgICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOyBzdHJva2U6IG5vbmU7
IHN0cm9rZS13aWR0aDogMDsgCisgICAgICAgICAgICAgICAgICBmaWxsOiBibGFjayB9IF1dPgor
ICAgICA8L3N0eWxlPgorCisgICAgIDx0ZXh0IHg9IjAiIHk9IjAiIHRleHQtYW5jaG9yPSJzdGFy
dCIgaWQ9InNhbXBsZSI+c2FtcGxlPC90ZXh0PgorCisgICAgPC9kZWZzPgorCisgICAgPGcgaWQ9
InRlc3RDb250ZW50IiB0ZXh0LWFuY2hvcj0ic3RhcnQiIGZvbnQtc2l6ZT0iMzAiIGNsYXNzPSJT
ZXJpZlBsYWluIj4KKyAgICAgICAgPHRleHQgdGV4dC1hbmNob3I9Im1pZGRsZSIgY2xhc3M9InRp
dGxlIiB4PSI1MCUiIHk9IjEwJSIgZm9udC1zaXplPSIxNSIgPgorICAgICAgICAgICAgVGV4dCBM
YXlvdXQgUHJvcGVydGllcyAoMik8L3RleHQ+CisKKyAgICAgICAgPHRleHQgeD0iNTAlIiB5PSIx
NSUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTAiPkJhc2VsaW5lIFByb3BlcnRp
ZXM8L3RleHQ+CisKKyAgICAgICAgPGcgdGV4dC1hbmNob3I9Im1pZGRsZSI+CisgICAgICAgICAg
ICA8dGV4dCB4PSIyMjUiIHk9IjExMCIgZm9udC1zaXplPSIxNSI+PHRzcGFuIGJhc2VsaW5lLXNo
aWZ0PSJzdXBlciIgZmlsbD0iYmx1ZSI+c3VwZXI8L3RzcGFuPiBhbmQgPHRzcGFuIGJhc2VsaW5l
LXNoaWZ0PSJzdWIiIGZpbGw9ImdyZWVuIj5zdWI8L3RzcGFuPnNjcmlwdHM8L3RleHQ+CisgICAg
ICAgICAgICA8dGV4dCB4PSIyMjUiIHk9IjEzNSIgY2xhc3M9IkNhcHRpb24iPmJhc2VsaW5lLXNo
aWZ0PSJzdXBlciIvYmFzZWxpbmUtc2hpZnQ9InN1YiI8L3RleHQ+CisgICAgICAgIDwvZz4KKwor
ICAgICAgICA8ZyB0ZXh0LWFuY2hvcj0ibWlkZGxlIj4KKyAgICAgICAgICAgIDx0ZXh0IHg9IjIy
NSIgeT0iMTY1IiBmb250LXNpemU9IjE1Ij48dHNwYW4gYmFzZWxpbmUtc2hpZnQ9IisyMCUiIGZp
bGw9ImJsdWUiPnBvc2l0aXZlPC90c3Bhbj4gYW5kIDx0c3BhbiBiYXNlbGluZS1zaGlmdD0iLTIw
JSIgZmlsbD0iZ3JlZW4iPm5lZ2F0aXZlIDwvdHNwYW4+YmFzZWxpbmUtc2hpZnQ8L3RleHQ+Cisg
ICAgICAgICAgICA8dGV4dCB4PSIyMjUiIHk9IjE4MCIgY2xhc3M9IkNhcHRpb24iPmJhc2VsaW5l
LXNoaWZ0PSIrLy0yMCUiPC90ZXh0PgorICAgICAgICA8L2c+CisgICAgICAgIDx0ZXh0IHg9IjUw
JSIgeT0iNDIlIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjEwIj5NdWx0aS1saW5l
IFRleHQgU2VsZWN0aW9uPC90ZXh0PgorCisgICAgICAgIDx0ZXh0IHg9IjUwJSIgeT0iNDUlIiB0
ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjcuNSIgZm9udC1zdHlsZT0iaXRhbGljIj4o
VHJ5IHNlbGVjdGluZyB0aGUgZm9sbG93aW5nIHRleHQgcmVnaW9ucyk8L3RleHQ+CisKKyAgICAg
ICAgPHRleHQgdGV4dC1hbmNob3I9InN0YXJ0IiBmb250LXNpemU9IjE1Ij4KKwkgICAgPHRzcGFu
IHg9IjEyMCIgeT0iNTAlIj5UZXh0IHNlbGVjdGlvbnMgY2FuIHNwYW4gbXVsdGlwbGU8L3RzcGFu
PgorICAgICAgICAgIDx0c3BhbiB4PSIxMjAiIHk9IjUzJSI+bGluZXMgdmlhICZsdDt0c3BhbiZn
dDsgZWxlbWVudHMuPC90c3Bhbj4KKyAgICAgICAgPC90ZXh0PgorCisgICAgICAgIDx0ZXh0IHRl
eHQtYW5jaG9yPSJzdGFydCIgZmlsbD0iYmx1ZSIgZm9udC1zaXplPSIyMCIgdHJhbnNmb3JtPSJ0
cmFuc2xhdGUoOTAsIDM2MCkiPgorICAgICAgICAgIDx0c3BhbiB4PSIwIDEwIDI1IDUwIDc1IDkw
IDEwMCA5MCA3NSA1MCAyNSAxMCAwIiAKKyAgICAgICAgICAgICAgICAgeT0iMCAtMjUgLTQwIC01
MCAtNDAgLTI1IDAgMjUgNDAgNTAgNDAgMjUgMTAgMCI+VGV4dC1jaXJjbGUuPC90c3Bhbj4KKyAg
ICAgICAgPC90ZXh0PgorCisgICAgICAgIDx0ZXh0IGZpbGw9ImdyZWVuIiBmb250LXNpemU9IjIw
IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNTAsIDMyMCkiCisgICAgICAgICAgICB4PSIwIDIwIDQw
IDYwIDgwIDgwIDgwIDgwIDgwIDYwIDQwIDIwIDAgMCAwIDAiIAorICAgICAgICAgICAgeT0iMCAw
IDAgMCAwIDIwIDQwIDYwIDgwIDgwIDgwIDgwIDgwIDYwIDQwIDIwIj4KKyAgICAgICAgICAgIFRl
eHQtaW4tYS1zcXVhcmUKKyAgICAgICAgPC90ZXh0PgorCisgICAgICAgIDx0ZXh0IGZvbnQtc2l6
ZT0iMTUiIHg9IjIyNSIgeT0iNDUwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj5UZXh0IHdpdGggPHRz
cGFuIHJvdGF0ZT0iMTAgLTEwIDEwIC0xMCAxMCAtMTAgMTAiIGZpbGw9InJlZCI+cm90YXRlZDwv
dHNwYW4+IGdseXBoczwvdGV4dD4KKyAgICAgICAgPHRleHQgZm9udC1zaXplPSIxNSIgeD0iMjI1
IiB5PSI0NjUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHJvdGF0ZT0iMTUiPk1vcmUgcm90YXRlZCBn
bHlwaHM8L3RleHQ+CisKKyAgICA8L2c+CisKKyAgICA8IS0tID09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisgICAgPCEtLSBC
YXRpayBzYW1wbGUgbWFyayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC0tPgorICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKyAgICA8dXNlIHhsaW5rOmhyZWY9Ii4uL3Jlc291
cmNlcy9iYXRpa0xvZ28uc3ZnI0JhdGlrX1RhZ19Cb3giIC8+CisgICAgCis8L3N2Zz4KClByb3Bl
cnR5IGNoYW5nZXMgb246IHN2Zy9iYXRpay90ZXh0L3RleHRMYXlvdXQyLnN2ZwpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
Ck5hbWU6IHN2bjpleGVjdXRhYmxlCiAgICsgKgoKSW5kZXg6IHN2Zy9iYXRpay90ZXh0L3RleHRM
YXlvdXQtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3ZnL2JhdGlrL3RleHQvdGV4
dExheW91dC1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKKysrIHN2Zy9iYXRpay90ZXh0
L3RleHRMYXlvdXQtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAK
KzFjZTBkOTI1ZDk1NTI5ZTUxZDliOGI2ZGEwZjMwYWZkClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpJbmRleDogc3ZnL2JhdGlrL3RleHQvdGV4dExheW91dC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gc3ZnL2JhdGlrL3RleHQvdGV4dExheW91dC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCisrKyBzdmcvYmF0aWsvdGV4dC90ZXh0TGF5b3V0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwxMzQgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlclNWR0NvbnRhaW5lciB7c3Zn
fSBhdCAoNDAsMzYpIHNpemUgMzc5eDQyMQorICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVy
IHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBh
dCAoMCwwKSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgwLC0xNCkgc2l6ZSA0NHgxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTE0KSB3
aWR0aCA0NDogInNhbXBsZSIKKyAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDQwLDM2
KSBzaXplIDM3OXg0MjEKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIyNSw1MCkg
c2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTYw
LC0xNCkgc2l6ZSAxNDh4MTcKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtNjAsLTE0KSB3aWR0
aCAxNDg6ICJUZXh0IExheW91dCBQcm9wZXJ0aWVzIgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0
ZXh0fSBhdCAoMjI1LDc1KSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4
dCB7I3RleHR9IGF0ICgtNTUsLTEwKSBzaXplIDExMHgxMworICAgICAgICAgICAgdGV4dCBydW4g
YXQgKC01NSwtMTApIHdpZHRoIDExMDogIkV4cGxpY2l0IEdseXBoIFBvc2l0aW9uaW5nIgorICAg
ICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg0MCw4OCkgc2l6ZSAxMTF4MzkKKyAgICAg
ICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwwKSBzaXplIDgwMHgwCisgICAgICAgICAg
ICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMTExeDI4CisgICAgICAgICAg
ICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoNDAsODgpIHNpemUgMTExeDI4Cisg
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQwLDg4KSB3aWR0aCAxMTE6ICJzYW1wbGUiCisg
ICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDQwLDEyNSkgc2l6ZSA4MDB4MAorICAg
ICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC03KSBzaXplIDEwNHg5
CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC03KSB3aWR0aCAxMDQ6ICJ0c3BhbiB4PVwi
NDAsNjAsODAsMTA1LDEyNSwxNDBcIiIKKyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBh
dCAoMTg1LDg4KSBzaXplIDcweDM5CisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQg
KDE4NSwxMTApIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoMCwtMjIpIHNpemUgNjl4MjgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
LTIyKSB3aWR0aCA2OTogInNhbXBsZSIKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBh
dCAoMTg1LDEyNSkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7
I3RleHR9IGF0ICgwLC03KSBzaXplIDcweDkKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
LTcpIHdpZHRoIDcwOiAiU2VyaWYsIGRlZmF1bHQgc3BhY2luZyIKKyAgICAgICAgUmVuZGVyU1ZH
Q29udGFpbmVyIHtnfSBhdCAoMjkwLDg4KSBzaXplIDExOXgzOQorICAgICAgICAgIFJlbmRlclNW
R1RleHQge3RleHR9IGF0ICgyOTAsMTEwKSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJT
VkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMTE5eDI4CisgICAgICAgICAgICAgIFJlbmRl
clNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMjIpIHNpemUgMTE5eDI4CisgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsLTIyKSB3aWR0aCAxMTk6ICJzYW1wbGUiCisgICAgICAgICAg
UmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDI5MCwxMjUpIHNpemUgODAweDAKKyAgICAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtNykgc2l6ZSAxMDJ4OQorICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtNykgd2lkdGggMTAyOiAieD1cIjE3NVwiIGR4PVwiMCwx
MCwxMCwxMCwxMCwxMFwiIgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjI1LDE1
MCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAo
LTEyMywtMTApIHNpemUgMjQ2eDEzCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTEyMywtMTAp
IHdpZHRoIDI0NjogIkxldHRlciBTcGFjaW5nIEFkanVzdG1lbnQgYW5kIEV4cGxpY2l0IExlbmd0
aCBTcGVjaWZpY2F0aW9uIgorICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg0MCwx
NTgpIHNpemUgNjl4MzkKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoNDAsMTgw
KSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KDAsLTIyKSBzaXplIDY5eDI4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0yMikgd2lk
dGggNjk6ICJzYW1wbGUiCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDQwLDE5
NSkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgwLC03KSBzaXplIDU4eDkKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTcpIHdpZHRo
IDU4OiAidGV4dExlbmd0aD1cIjEyMFwiIgorICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9
IGF0ICgxODUsMTU4KSBzaXplIDY5eDM5CisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0g
YXQgKDE4NSwxODApIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQg
eyN0ZXh0fSBhdCAoMCwtMjIpIHNpemUgNjl4MjgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsLTIyKSB3aWR0aCA2OTogInNhbXBsZSIKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0
fSBhdCAoMTg1LDE5NSkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4
dCB7I3RleHR9IGF0ICgwLC03KSBzaXplIDU0eDkKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsLTcpIHdpZHRoIDU0OiAidGV4dExlbmd0aD1cIjcwXCIiCisgICAgICAgIFJlbmRlclNWR0Nv
bnRhaW5lciB7Z30gYXQgKDI5MCwxNTgpIHNpemUgNjl4MzkKKyAgICAgICAgICBSZW5kZXJTVkdU
ZXh0IHt0ZXh0fSBhdCAoMjkwLDE4MCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZH
SW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0yMikgc2l6ZSA2OXgyOAorICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwtMjIpIHdpZHRoIDY5OiAic2FtcGxlIgorICAgICAgICAgIFJlbmRlclNW
R1RleHQge3RleHR9IGF0ICgyOTAsMTk1KSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTcpIHNpemUgNDR4OQorICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwtNykgd2lkdGggNDQ6ICJrZXJuaW5nPVwiMTBcIiIKKyAgICAgICAgUmVu
ZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoNDAsMjAzKSBzaXplIDExNHg0OQorICAgICAgICAgIFJl
bmRlclNWR1RleHQge3RleHR9IGF0ICg0MCwyMjUpIHNpemUgODAweDAKKyAgICAgICAgICAgIFJl
bmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMjIpIHNpemUgNjl4MjgKKyAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsLTIyKSB3aWR0aCA2OTogInNhbXBsZSIKKyAgICAgICAgICBS
ZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoNDAsMjQwKSBzaXplIDgwMHgwCisgICAgICAgICAgICBS
ZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTcpIHNpemUgNjJ4OQorICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwtNykgd2lkdGggNjI6ICJ0ZXh0TGVuZ3RoPVwiMTIwXCIsICIK
KyAgICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAxMTR4OQor
ICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMykgc2l6ZSAx
MTR4OQorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDMpIHdpZHRoIDExNDogImxlbmd0
aEFkanVzdD1cInNwYWNpbmdBbmRHbHlwaHNcIiIKKyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVy
IHtnfSBhdCAoMTg1LDIwMykgc2l6ZSAxMTR4NDkKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0
ZXh0fSBhdCAoMTg1LDIyNSkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5l
VGV4dCB7I3RleHR9IGF0ICgwLC0yMikgc2l6ZSA2OXgyOAorICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwtMjIpIHdpZHRoIDY5OiAic2FtcGxlIgorICAgICAgICAgIFJlbmRlclNWR1RleHQg
e3RleHR9IGF0ICgxODUsMjQwKSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDAsLTcpIHNpemUgNTZ4OQorICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwtNykgd2lkdGggNTY6ICJ0ZXh0TGVuZ3RoPVwiNzBcIiAiCisgICAgICAgICAgICBS
ZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMTE0eDkKKyAgICAgICAgICAgICAg
UmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDMpIHNpemUgMTE0eDkKKyAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzKSB3aWR0aCAxMTQ6ICJsZW5ndGhBZGp1c3Q9XCJzcGFj
aW5nQW5kR2x5cGhzXCIiCisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDI5MCwy
MDMpIHNpemUgMTA0eDM5CisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDI5MCwy
MjUpIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoMCwtMjIpIHNpemUgNjl4MjgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTIyKSB3
aWR0aCA2OTogInNhbXBsZSIKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjkw
LDI0MCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgwLC03KSBzaXplIDEwNHg5CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC03KSB3
aWR0aCAxMDQ6ICJ0ZXh0TGVuZ3RoPVwiMTIwXCIsa2VybmluZz1cIjEwXCIiCisgICAgICAgIFJl
bmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDQwLDI1Mykgc2l6ZSAxMTF4MzkKKyAgICAgICAgICBS
ZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoNDAsMjc1KSBzaXplIDgwMHgwCisgICAgICAgICAgICBS
ZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTIyKSBzaXplIDExMXgyOAorICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMjIpIHdpZHRoIDExMTogInNhbXBsZSIKKyAgICAgICAg
ICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoNDAsMjkwKSBzaXplIDgwMHgwCisgICAgICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTcpIHNpemUgNzZ4OQorICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtNykgd2lkdGggNzY6ICJsZXR0ZXItc3BhY2luZz1cIjAu
M2VtXCIiCisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDE4NSwyNTMpIHNpemUg
NjN4MzkKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTg1LDI3NSkgc2l6ZSA4
MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0yMikg
c2l6ZSA1MXgyOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMjIpIHdpZHRoIDUxOiAi
c2FtcGxlIgorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxODUsMjkwKSBzaXpl
IDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTcp
IHNpemUgNjN4OQorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtNykgd2lkdGggNjM6ICJs
ZXR0ZXItc3BhY2luZz1cIi0zXCIiCisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQg
KDI5MCwyNTMpIHNpemUgMTI5eDM5CisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQg
KDI5MCwyNzUpIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoMCwtMjIpIHNpemUgMTI5eDI4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LC0yMikgd2lkdGggMTI5OiAic2FtcGxlIgorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9
IGF0ICgyOTAsMjkwKSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0
IHsjdGV4dH0gYXQgKDAsLTcpIHNpemUgNjR4OQorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwtNykgd2lkdGggNjQ6ICJsZXR0ZXItc3BhY2luZz1cIjEwXCIiCisgICAgICAgIFJlbmRlclNW
R1RleHQge3RleHR9IGF0ICgyMjUsMzIwKSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZH
SW5saW5lVGV4dCB7I3RleHR9IGF0ICgtNTMsLTEwKSBzaXplIDEwN3gxMworICAgICAgICAgICAg
dGV4dCBydW4gYXQgKC01MywtMTApIHdpZHRoIDEwNzogIldvcmQgU3BhY2luZyBBZGp1c3RtZW50
IgorICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg0MCwzMzcpIHNpemUgMTk5eDMw
CisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDQwLDM1MCkgc2l6ZSA4MDB4MAor
ICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xMykgc2l6ZSAx
OTl4MTcKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTEzKSB3aWR0aCAxOTk6ICJXaWRl
IHNlcGFyYXRpb24gYmV0d2VlbiB3b3JkcyIKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0
fSBhdCAoNDAsMzY1KSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0
IHsjdGV4dH0gYXQgKDAsLTcpIHNpemUgMTMweDkKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsLTcpIHdpZHRoIDEzMDogInRleHRMZW5ndGg9XCIzNTBcIiB3b3JkLXNwYWNpbmc9XCIzZW1c
IiIKKyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoNDAsMzgyKSBzaXplIDIxM3gz
MAorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICg0MCwzOTUpIHNpemUgODAweDAK
KyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTMpIHNpemUg
MjEzeDE3CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xMykgd2lkdGggMjEzOiAiTmFy
cm93IHNlcGFyYXRpb24gYmV0d2VlbiB3b3JkcyIKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0
ZXh0fSBhdCAoNDAsNDEwKSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDAsLTcpIHNpemUgMTIzeDkKKyAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsLTcpIHdpZHRoIDEyMzogInRleHRMZW5ndGg9XCIzNTBcIiB3b3JkLXNwYWNpbmc9XCIt
NVwiIgorICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg0MCw0MjcpIHNpemUgMjM5
eDMwCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDQwLDQ0MCkgc2l6ZSA4MDB4
MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xMykgc2l6
ZSAyMTN4MTcKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTEzKSB3aWR0aCAyMTM6ICJO
YXJyb3cgc2VwYXJhdGlvbiBiZXR3ZWVuIHdvcmRzIgorICAgICAgICAgIFJlbmRlclNWR1RleHQg
e3RleHR9IGF0ICg0MCw0NTUpIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGlu
ZVRleHQgeyN0ZXh0fSBhdCAoMCwtNykgc2l6ZSAyMzl4OQorICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwtNykgd2lkdGggMjM5OiAidGV4dExlbmd0aD1cIjM1MFwiIGxlbmd0aEFkanVzdD1c
InNwYWNpbmdBbmRHbHlwaHNcIiB3b3JkLXNwYWNpbmc9XCItNVwiIgorICAgICAgUmVuZGVyU1ZH
Q29udGFpbmVyIHt1c2V9IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBzdmcvYmF0aWsvdGV4dC90
ZXh0TGF5b3V0LnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzdmcvYmF0aWsvdGV4dC90ZXh0TGF5b3V0LnN2
ZwkocmV2aXNpb24gMCkKKysrIHN2Zy9iYXRpay90ZXh0L3RleHRMYXlvdXQuc3ZnCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDE0NiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJu
byI/PgorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjAvL0VOIgorImh0
dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLVNWRy0yMDAxMDkwNC9EVEQvc3ZnMTAuZHRkIj4K
KworPCEtLQorCisgICBDb3B5cmlnaHQgMjAwMS0yMDAyICBUaGUgQXBhY2hlIFNvZnR3YXJlIEZv
dW5kYXRpb24gCisKKyAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lv
biAyLjAgKHRoZSAiTGljZW5zZSIpOworICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNl
cHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICAgWW91IG1heSBvYnRhaW4gYSBj
b3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGlj
ZW5zZXMvTElDRU5TRS0yLjAKKworICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3
IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICAgZGlzdHJpYnV0ZWQgdW5kZXIg
dGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgIFdJVEhP
VVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBv
ciBpbXBsaWVkLgorICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2Ug
Z292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vu
c2UuCisKKy0tPgorPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPCEtLSBUZXN0IGRlc2NyaXB0
aW9uIGhlcmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC0tPgorPCEtLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorPCEtLSBAYXV0aG9yIGJpbGwuaGFu
ZW1hbkBpcmVsYW5kLnN1bi5jb20gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC0tPgorPCEtLSBAdmVyc2lvbiAkSWQ6IHRleHRMYXlvdXQuc3ZnLHYgMS42IDIwMDQvMDgvMTgg
MDc6MTI6MjEgdmhhcmR5IEV4cCAkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorPCEtLSA9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgor
PD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vcmVzb3VyY2VzL3Rlc3Qu
Y3NzIiA/PgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhs
aW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDUwIiBoZWlnaHQ9IjUw
MCIgdmlld0JveD0iMCAwIDQ1MCA1MDAiPgorPHRpdGxlPlRleHQgTGF5b3V0IFByb3BlcnRpZXM8
L3RpdGxlPgorCisgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorICAgIDwhLS0gVGVzdCBjb250ZW50ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKyAgICA8IS0t
ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0gLS0+CisKKyAgICA8ZGVmcz4KKyAgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj48IVtD
REFUQVsKKyAgICAgICAuQ2FwdGlvbiB7IGZvbnQtc2l6ZTogOHB4OyBmb250LWZhbWlseTogZGlh
bG9nOyBmb250LXdlaWdodDogbm9ybWFsOworICAgICAgICAgICAgICAgICAgZm9udC1zdHlsZTog
bm9ybWFsOyBzdHJva2U6IG5vbmU7IHN0cm9rZS13aWR0aDogMDsgCisgICAgICAgICAgICAgICAg
ICBmaWxsOiBibGFjayB9IF1dPgorICAgICA8L3N0eWxlPgorCisgICAgIDxzdHlsZSB0eXBlPSJ0
ZXh0L2NzcyI+PCFbQ0RBVEFbCisgICAgICAgLlNlcmlmUGxhaW4geyBmb250LXNpemU6IDI0cHg7
IGZvbnQtZmFtaWx5OiBTZXJpZjsgZm9udC13ZWlnaHQ6IG5vcm1hbDsKKyAgICAgICAgICAgICAg
ICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgc3Ryb2tlOiBub25lOyBzdHJva2Utd2lkdGg6IDA7IAor
ICAgICAgICAgICAgICAgICAgZmlsbDogYmxhY2sgfSBdXT4KKyAgICAgPC9zdHlsZT4KKworICAg
ICA8dGV4dCB4PSIwIiB5PSIwIiB0ZXh0LWFuY2hvcj0ic3RhcnQiIGlkPSJzYW1wbGUiPnNhbXBs
ZTwvdGV4dD4KKworICAgIDwvZGVmcz4KKworICAgIDxnIGlkPSJ0ZXN0Q29udGVudCIgdGV4dC1h
bmNob3I9InN0YXJ0IiBmb250LXNpemU9IjMwIiBjbGFzcz0iU2VyaWZQbGFpbiI+CisgICAgICAg
IDx0ZXh0IHRleHQtYW5jaG9yPSJtaWRkbGUiIGNsYXNzPSJ0aXRsZSIgeD0iNTAlIiB5PSIxMCUi
IGZvbnQtc2l6ZT0iMTUiID4KKyAgICAgICAgICAgIFRleHQgTGF5b3V0IFByb3BlcnRpZXM8L3Rl
eHQ+CisgICAgICAgCisgICAgICAgPHRleHQgeD0iNTAlIiB5PSIxNSUiIHRleHQtYW5jaG9yPSJt
aWRkbGUiIGZvbnQtc2l6ZT0iMTAiPkV4cGxpY2l0IEdseXBoIFBvc2l0aW9uaW5nPC90ZXh0Pgor
CisgICAgICAgIDxnPgorICAgICAgICAgICAgPHRleHQ+PHRzcGFuIHg9IjQwLDYwLDgwLDEwNSwx
MjUsMTQwIiB5PSIxMTAiPnNhbXBsZTwvdHNwYW4+PC90ZXh0PgorICAgICAgICAgICAgPHRleHQg
eD0iNDAiIHk9IjEyNSIgY2xhc3M9IkNhcHRpb24iPnRzcGFuIHg9IjQwLDYwLDgwLDEwNSwxMjUs
MTQwIjwvdGV4dD4KKyAgICAgICAgPC9nPgorCisgICAgICAgIDxnPgorICAgICAgICAgICAgPHRl
eHQgeD0iMTg1IiB5PSIxMTAiPnNhbXBsZTwvdGV4dD4KKyAgICAgICAgICAgIDx0ZXh0IHg9IjE4
NSIgeT0iMTI1IiBjbGFzcz0iQ2FwdGlvbiI+U2VyaWYsIGRlZmF1bHQgc3BhY2luZzwvdGV4dD4K
KyAgICAgICAgPC9nPgorCisgICAgICAgIDxnPgorICAgICAgICAgICAgPHRleHQgeD0iMjkwIiB5
PSIxMTAiPjx0c3BhbiBkeD0iMCwxMCwxMCwxMCwxMCwxMCI+c2FtcGxlPC90c3Bhbj48L3RleHQ+
CisgICAgICAgICAgICA8dGV4dCB4PSIyOTAiIHk9IjEyNSIgY2xhc3M9IkNhcHRpb24iPng9IjE3
NSIgZHg9IjAsMTAsMTAsMTAsMTAsMTAiCis8L3RleHQ+CisgICAgICAgIDwvZz4KKworICAgICAg
IDx0ZXh0IHg9IjUwJSIgeT0iMzAlIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjEw
Ij5MZXR0ZXIgU3BhY2luZyBBZGp1c3RtZW50IGFuZCBFeHBsaWNpdCBMZW5ndGggU3BlY2lmaWNh
dGlvbjwvdGV4dD4KKworICAgICAgICA8Zz4KKyAgICAgICAgICAgIDx0ZXh0IHg9IjQwIiB5PSIx
ODAiIHRleHRMZW5ndGg9IjEyMCI+c2FtcGxlPC90ZXh0PgorICAgICAgICAgICAgPHRleHQgeD0i
NDAiIHk9IjE5NSIgY2xhc3M9IkNhcHRpb24iPnRleHRMZW5ndGg9IjEyMCI8L3RleHQ+CisgICAg
ICAgIDwvZz4KKworICAgICAgICA8Zz4KKyAgICAgICAgICAgIDx0ZXh0IHg9IjE4NSIgeT0iMTgw
IiB0ZXh0TGVuZ3RoPSI3MCI+c2FtcGxlPC90ZXh0PgorICAgICAgICAgICAgPHRleHQgeD0iMTg1
IiB5PSIxOTUiIGNsYXNzPSJDYXB0aW9uIj50ZXh0TGVuZ3RoPSI3MCI8L3RleHQ+CisgICAgICAg
IDwvZz4KKworICAgICAgICA8Zz4KKyAgICAgICAgICAgIDx0ZXh0IHg9IjI5MCIgeT0iMTgwIiBr
ZXJuaW5nPSIxMCI+c2FtcGxlPC90ZXh0PgorICAgICAgICAgICAgPHRleHQgeD0iMjkwIiB5PSIx
OTUiIGNsYXNzPSJDYXB0aW9uIj5rZXJuaW5nPSIxMCI8L3RleHQ+CisgICAgICAgIDwvZz4KKwor
ICAgICAgICA8Zz4KKyAgICAgICAgICAgIDx0ZXh0IHg9IjQwIiB5PSIyMjUiIHRleHRMZW5ndGg9
IjEyMCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIj5zYW1wbGU8L3RleHQ+CisgICAg
ICAgICAgICA8dGV4dCB4PSI0MCIgeT0iMjQwIiBjbGFzcz0iQ2FwdGlvbiI+dGV4dExlbmd0aD0i
MTIwIiwKKyAgICAgICAgICAgIDx0c3BhbiB4PSI0MCIgZHk9IjEwIj5sZW5ndGhBZGp1c3Q9InNw
YWNpbmdBbmRHbHlwaHMiPC90c3Bhbj48L3RleHQ+CisgICAgICAgIDwvZz4KKworICAgICAgICA8
Zz4KKyAgICAgICAgICAgIDx0ZXh0IHg9IjE4NSIgeT0iMjI1IiB0ZXh0TGVuZ3RoPSI3MCIgbGVu
Z3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIj5zYW1wbGU8L3RleHQ+CisgICAgICAgICAgICA8
dGV4dCB4PSIxODUiIHk9IjI0MCIgY2xhc3M9IkNhcHRpb24iPnRleHRMZW5ndGg9IjcwIiAgICAg
ICAgICAgICAgICAgICAgICAgICAgPHRzcGFuIHg9IjE4NSIgZHk9IjEwIj5sZW5ndGhBZGp1c3Q9
InNwYWNpbmdBbmRHbHlwaHMiPC90c3Bhbj48L3RleHQ+CisgICAgICAgIDwvZz4KKworICAgICAg
ICA8Zz4KKyAgICAgICAgICAgIDx0ZXh0IHg9IjI5MCIgeT0iMjI1IiAgdGV4dExlbmd0aD0iMTIw
IiBsZW5ndGhBZGp1c3Q9InNwYWNpbmdBbmRHbHlwaHMiIGtlcm5pbmc9IjEwIj5zYW1wbGU8L3Rl
eHQ+CisgICAgICAgICAgICA8dGV4dCB4PSIyOTAiIHk9IjI0MCIgY2xhc3M9IkNhcHRpb24iPnRl
eHRMZW5ndGg9IjEyMCIsa2VybmluZz0iMTAiPC90ZXh0PgorICAgICAgICA8L2c+CisKKyAgICAg
ICAgPGc+CisgICAgICAgICAgICA8dGV4dCB4PSI0MCIgeT0iMjc1IiBsZXR0ZXItc3BhY2luZz0i
MC4zZW0iPnNhbXBsZTwvdGV4dD4KKyAgICAgICAgICAgIDx0ZXh0IHg9IjQwIiB5PSIyOTAiIGNs
YXNzPSJDYXB0aW9uIj5sZXR0ZXItc3BhY2luZz0iMC4zZW0iPC90ZXh0PiAgICAgICAgCisgICAg
ICAgIDwvZz4KKworICAgICAgICA8Zz4KKyAgICAgICAgICAgIDx0ZXh0IHg9IjE4NSIgeT0iMjc1
IiBsZXR0ZXItc3BhY2luZz0iLTMiPnNhbXBsZTwvdGV4dD4KKyAgICAgICAgICAgIDx0ZXh0IHg9
IjE4NSIgeT0iMjkwIiBjbGFzcz0iQ2FwdGlvbiI+bGV0dGVyLXNwYWNpbmc9Ii0zIjwvdGV4dD4K
KyAgICAgICA8L2c+CisKKyAgICAgICAgPGc+CisgICAgICAgICAgICA8dGV4dCB4PSIyOTAiIHk9
IjI3NSIgbGV0dGVyLXNwYWNpbmc9IjEwIj5zYW1wbGU8L3RleHQ+CisgICAgICAgICAgICA8dGV4
dCB4PSIyOTAiIHk9IjI5MCIgY2xhc3M9IkNhcHRpb24iPmxldHRlci1zcGFjaW5nPSIxMCI8L3Rl
eHQ+CisgICAgICAgIDwvZz4KKworICAgICAgIDx0ZXh0IHg9IjUwJSIgeT0iNjQlIiB0ZXh0LWFu
Y2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjEwIj5Xb3JkIFNwYWNpbmcgQWRqdXN0bWVudDwvdGV4
dD4KKworICAgICAgICA8ZyBmb250LXNpemU9IjE1Ij4KKyAgICAgICAgICAgIDx0ZXh0IHg9IjQw
IiB5PSIzNTAiIHRleHRMZW5ndGg9IjM1MCIgd29yZC1zcGFjaW5nPSIzZW0iPldpZGUgc2VwYXJh
dGlvbiBiZXR3ZWVuIHdvcmRzPC90ZXh0PgorICAgICAgICAgICAgPHRleHQgeD0iNDAiIHk9IjM2
NSIgY2xhc3M9IkNhcHRpb24iPnRleHRMZW5ndGg9IjM1MCIgd29yZC1zcGFjaW5nPSIzZW0iPC90
ZXh0PgorICAgICAgICA8L2c+CisKKyAgICAgICAgPGcgZm9udC1zaXplPSIxNSI+CisgICAgICAg
ICAgICA8dGV4dCB4PSI0MCIgeT0iMzk1IiB0ZXh0TGVuZ3RoPSIzNTAiIHdvcmQtc3BhY2luZz0i
LTUiPk5hcnJvdyBzZXBhcmF0aW9uIGJldHdlZW4gd29yZHM8L3RleHQ+CisgICAgICAgICAgICA8
dGV4dCB4PSI0MCIgeT0iNDEwIiBjbGFzcz0iQ2FwdGlvbiI+dGV4dExlbmd0aD0iMzUwIiB3b3Jk
LXNwYWNpbmc9Ii01IjwvdGV4dD4KKyAgICAgICAgPC9nPgorCisgICAgICAgIDxnIGZvbnQtc2l6
ZT0iMTUiPgorICAgICAgICAgICAgPHRleHQgeD0iNDAiIHk9IjQ0MCIgdGV4dExlbmd0aD0iMzUw
IiBsZW5ndGhBZGp1c3Q9InNwYWNpbmdBbmRHbHlwaHMiIHdvcmQtc3BhY2luZz0iLTUiPk5hcnJv
dyBzZXBhcmF0aW9uIGJldHdlZW4gd29yZHM8L3RleHQ+CisgICAgICAgICAgICA8dGV4dCB4PSI0
MCIgeT0iNDU1IiBjbGFzcz0iQ2FwdGlvbiI+dGV4dExlbmd0aD0iMzUwIiBsZW5ndGhBZGp1c3Q9
InNwYWNpbmdBbmRHbHlwaHMiIHdvcmQtc3BhY2luZz0iLTUiPC90ZXh0PgorICAgICAgICA8L2c+
CisgICAgPC9nPgorCisgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorICAgIDwhLS0gQmF0aWsgc2FtcGxlIG1h
cmsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKyAgICA8
IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0gLS0+CisgICAgPHVzZSB4bGluazpocmVmPSIuLi9yZXNvdXJjZXMvYmF0aWtMb2dv
LnN2ZyNCYXRpa19UYWdfQm94IiAvPgorICAgIAorPC9zdmc+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBzdmcvYmF0aWsvdGV4dC90ZXh0TGF5b3V0LnN2ZwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjpleGVj
dXRhYmxlCiAgICsgKgoKSW5kZXg6IHN2Zy9iYXRpay90ZXh0L3RleHRMZW5ndGgtZXhwZWN0ZWQu
Y2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gc3ZnL2JhdGlrL3RleHQvdGV4dExlbmd0aC1leHBlY3Rl
ZC5jaGVja3N1bQkocmV2aXNpb24gMCkKKysrIHN2Zy9iYXRpay90ZXh0L3RleHRMZW5ndGgtZXhw
ZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKK2Q3YTAyZDUzOGVlN2My
YjU5ZTIyN2ZmY2JlOTE4NzY2ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogc3Zn
L2JhdGlrL3RleHQvdGV4dExlbmd0aC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3ZnL2Jh
dGlrL3RleHQvdGV4dExlbmd0aC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBzdmcvYmF0
aWsvdGV4dC90ZXh0TGVuZ3RoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwy
MzIgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzE4CisgIFJlbmRlckJsb2Nr
IHtzdmd9IGF0ICgwLDApIHNpemUgODAweDMxOAorICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMp
IGF0ICgwLDApIHNpemUgODAweDAKKyAgICAgIFJlbmRlcklubGluZSB7cGFyc2VyZXJyb3J9IGF0
ICgwLDApIHNpemUgMHgwIFtiZ2NvbG9yPSNGRkRERERdIFtib3JkZXI6ICgycHggc29saWQgI0ND
Nzc3NyldCisgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTgpIHNpemUgODAweDE5
MgorICAgICAgUmVuZGVyQmxvY2sge2gzfSBhdCAoMCwwKSBzaXplIDgwMHgyMgorICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzMjR4MjIKKyAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCAzMjQ6ICJUaGlzIHBhZ2UgY29udGFpbnMgdGhlIGZvbGxvd2luZyBl
cnJvcnM6IgorICAgICAgUmVuZGVyQmxvY2sge2Rpdn0gYXQgKDAsNDApIHNpemUgODAweDExMgor
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA2MDJ4MTEyCisgICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNTg4OiAiZXJyb3Igb24gbGluZSA0NSBhdCBjb2x1
bW4gMzA6IE5hbWVzcGFjZSBwcmVmaXggeGxpbmsgZm9yIGhyZWYgb24gdXNlIGlzIG5vdCBkZWZp
bmVkIgorICAgICAgICAgIHRleHQgcnVuIGF0ICg1ODgsMCkgd2lkdGggMDogIiAiCisgICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsMTQpIHdpZHRoIDU5NTogImVycm9yIG9uIGxpbmUgNTggYXQgY29s
dW1uIDEwMzogTmFtZXNwYWNlIHByZWZpeCB4bGluayBmb3IgaHJlZiBvbiB1c2UgaXMgbm90IGRl
ZmluZWQiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDU5NSwxNCkgd2lkdGggMDogIiAiCisgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMjgpIHdpZHRoIDU5NTogImVycm9yIG9uIGxpbmUgNjUgYXQg
Y29sdW1uIDIyOTogTmFtZXNwYWNlIHByZWZpeCB4bGluayBmb3IgaHJlZiBvbiB1c2UgaXMgbm90
IGRlZmluZWQiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDU5NSwyOCkgd2lkdGggMDogIiAiCisg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsNDIpIHdpZHRoIDU5NTogImVycm9yIG9uIGxpbmUgNzMg
YXQgY29sdW1uIDEwODogTmFtZXNwYWNlIHByZWZpeCB4bGluayBmb3IgaHJlZiBvbiB1c2UgaXMg
bm90IGRlZmluZWQiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDU5NSw0Mikgd2lkdGggMDogIiAi
CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNTYpIHdpZHRoIDU4ODogImVycm9yIG9uIGxpbmUg
OTcgYXQgY29sdW1uIDk1OiBOYW1lc3BhY2UgcHJlZml4IHhsaW5rIGZvciBocmVmIG9uIHVzZSBp
cyBub3QgZGVmaW5lZCIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTg4LDU2KSB3aWR0aCAwOiAi
ICIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw3MCkgd2lkdGggNjAyOiAiZXJyb3Igb24gbGlu
ZSAxMDUgYXQgY29sdW1uIDEwNjogTmFtZXNwYWNlIHByZWZpeCB4bGluayBmb3IgaHJlZiBvbiB1
c2UgaXMgbm90IGRlZmluZWQiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDYwMiw3MCkgd2lkdGgg
MDogIiAiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsODQpIHdpZHRoIDYwMjogImVycm9yIG9u
IGxpbmUgMTEzIGF0IGNvbHVtbiAxMDI6IE5hbWVzcGFjZSBwcmVmaXggeGxpbmsgZm9yIGhyZWYg
b24gdXNlIGlzIG5vdCBkZWZpbmVkIgorICAgICAgICAgIHRleHQgcnVuIGF0ICg2MDIsODQpIHdp
ZHRoIDA6ICIgIgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDk4KSB3aWR0aCA2MDI6ICJlcnJv
ciBvbiBsaW5lIDEzOCBhdCBjb2x1bW4gMjg5OiBOYW1lc3BhY2UgcHJlZml4IHhsaW5rIGZvciBo
cmVmIG9uIHVzZSBpcyBub3QgZGVmaW5lZCIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjAyLDk4
KSB3aWR0aCAwOiAiICIKKyAgICAgIFJlbmRlckJsb2NrIHtoM30gYXQgKDAsMTcwKSBzaXplIDgw
MHgyMgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0Mjl4MjIKKyAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0Mjk6ICJCZWxvdyBpcyBhIHJlbmRlcmlu
ZyBvZiB0aGUgcGFnZSB1cCB0byB0aGUgZmlyc3QgZXJyb3IuIgorICAgIFJlbmRlckJsb2NrIChh
bm9ueW1vdXMpIGF0ICgwLDIyOCkgc2l6ZSA4MDB4OTAKKyAgICAgIFJlbmRlcklubGluZSB7cGFy
c2VyZXJyb3J9IGF0ICgwLDApIHNpemUgMHgwIFtiZ2NvbG9yPSNGRkRERERdIFtib3JkZXI6ICgy
cHggc29saWQgI0NDNzc3NyldCisgICAgICBSZW5kZXJJbmxpbmUge3RleHR9IGF0ICgwLDApIHNp
emUgMTUyeDE4CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE1Mngx
OAorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE1MjogInRleHRMZW5ndGggd2l0
aCBBbmNob3IiCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE1MiwwKSBzaXplIDR4MTgK
KyAgICAgICAgdGV4dCBydW4gYXQgKDE1MiwwKSB3aWR0aCA0OiAiICIKKyAgICAgIFJlbmRlcklu
bGluZSB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgIFJlbmRlcklubGluZSB7Z30gYXQgKDAsMCkgc2l6
ZSAweDAKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAg
ICAgICAgICBSZW5kZXJJbmxpbmUge3JlY3R9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVySW5s
aW5lIHtsaW5lfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAweDAKKyAgICAgICAgUmVuZGVySW5saW5lIHtnfSBhdCAoMCwwKSBzaXplIDB4MAorICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJl
bmRlcklubGluZSB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJJbmxpbmUge3VzZX0g
YXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAweDAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisg
ICAgICAgIFJlbmRlcklubGluZSB7Z30gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJJbmxpbmUg
e3JlY3R9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVySW5saW5lIHt1c2V9IGF0ICgwLDApIHNp
emUgMHgwCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJJbmxpbmUge2d9IGF0
ICgwLDApIHNpemUgNzk0eDkwCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDB4MAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAg
ICAgICAgUmVuZGVySW5saW5lIHtnfSBhdCAoMCwwKSBzaXplIDE2MHgxOAorICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJlbmRlcklubGlu
ZSB7dXNlfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJlbmRlcklubGluZSB7dGV4dH0gYXQgKDAsMCkg
c2l6ZSA2MHgxOAorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxNTYsMCkgc2l6
ZSA2MHgxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTU2LDApIHdpZHRoIDYwOiAieG1s
LWJhdGlrIgorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjE2LDApIHNpemUgNHgx
OAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDIxNiwwKSB3aWR0aCA0OiAiICIKKyAgICAgICAg
ICBSZW5kZXJJbmxpbmUge3RleHR9IGF0ICgwLDApIHNpemUgOTJ4MTgKKyAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMjIwLDApIHNpemUgOTJ4MTgKKyAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDIyMCwwKSB3aWR0aCA5MjogIk5vIHRleHRMZW5ndGgiCisgICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgzMTIsMCkgc2l6ZSA0eDE4CisgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMzEyLDApIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAweDAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwCisgICAgICAgIFJlbmRlcklubGluZSB7Z30gYXQgKDAsMCkgc2l6ZSAzNTZ4MTgKKyAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5k
ZXJJbmxpbmUge3VzZX0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJJbmxpbmUge3RleHR9IGF0
ICgwLDApIHNpemUgMTF4MTgKKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzE2
LDApIHNpemUgMTF4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMxNiwwKSB3aWR0aCAx
MTogIkIiCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzMjcsMCkgc2l6ZSA0eDE4
CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzI3LDApIHdpZHRoIDQ6ICIgIgorICAgICAgICAg
IFJlbmRlcklubGluZSB7dGV4dH0gYXQgKDAsMCkgc2l6ZSAzMzd4MTgKKyAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMzMxLDApIHNpemUgMzM3eDE4CisgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgzMzEsMCkgd2lkdGggMzM3OiAidGV4dExlbmd0aD1cIjUwXCIgbGVuZ3RoQWRq
dXN0PVwic3BhY2luZ0FuZEdseXBoc1wiIgorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoNjY4LDApIHNpemUgNHgxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDY2OCwwKSB3aWR0
aCA0OiAiICIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICBSZW5k
ZXJJbmxpbmUge2d9IGF0ICgwLDApIHNpemUgNzk0eDM2CisgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVySW5saW5lIHt1c2V9IGF0
ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMHgwCisgICAgICAgICAgUmVuZGVySW5saW5lIHt0ZXh0fSBhdCAoMCwwKSBzaXplIDExeDE4
CisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDY3MiwwKSBzaXplIDExeDE4Cisg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2NzIsMCkgd2lkdGggMTE6ICJCIgorICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNjgzLDApIHNpemUgNHgxOAorICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDY4MywwKSB3aWR0aCA0OiAiICIKKyAgICAgICAgICBSZW5kZXJJbmxpbmUge3Rl
eHR9IGF0ICgwLDApIHNpemUgNzk0eDM2CisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDY4NywwKSBzaXplIDc5NHgzNgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjg3LDAp
IHdpZHRoIDEwNzogInRleHRMZW5ndGg9XCI1MFwiIgorICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwxOCkgd2lkdGggMTUyOiAibGVuZ3RoQWRqdXN0PVwic3BhY2luZ1wiIgorICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTUyLDE4KSBzaXplIDR4MTgKKyAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgxNTIsMTgpIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMHgwCisgICAgICAgIFJlbmRlcklubGluZSB7Z30gYXQgKDAsMCkgc2l6ZSAzNzl4MTgK
KyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAg
ICBSZW5kZXJJbmxpbmUge3VzZX0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJJbmxpbmUge3Rl
eHR9IGF0ICgwLDApIHNpemUgMzR4MTgKKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMTU2LDE4KSBzaXplIDM0eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNTYsMTgp
IHdpZHRoIDM0OiAiQmF0aWsiCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxOTAs
MTgpIHNpemUgNHgxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE5MCwxOCkgd2lkdGggNDog
IiAiCisgICAgICAgICAgUmVuZGVySW5saW5lIHt0ZXh0fSBhdCAoMCwwKSBzaXplIDMzN3gxOAor
ICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxOTQsMTgpIHNpemUgMzM3eDE4Cisg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxOTQsMTgpIHdpZHRoIDMzNzogInRleHRMZW5ndGg9
XCI1MFwiIGxlbmd0aEFkanVzdD1cInNwYWNpbmdBbmRHbHlwaHNcIiIKKyAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDUzMSwxOCkgc2l6ZSA0eDE4CisgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoNTMxLDE4KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgMHgwCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDB4MAorICAgICAgICBSZW5kZXJJbmxpbmUge2d9IGF0ICgwLDApIHNpemUgNjgweDM2CisgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVu
ZGVySW5saW5lIHt1c2V9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVySW5saW5lIHt0ZXh0fSBh
dCAoMCwwKSBzaXplIDM0eDE4CisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDUz
NSwxOCkgc2l6ZSAzNHgxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTM1LDE4KSB3aWR0
aCAzNDogIkJhdGlrIgorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTY5LDE4KSBz
aXplIDR4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1NjksMTgpIHdpZHRoIDQ6ICIgIgor
ICAgICAgICAgIFJlbmRlcklubGluZSB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA2ODB4MzYKKyAgICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTczLDE4KSBzaXplIDY4MHgzNgorICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNTczLDE4KSB3aWR0aCAxMDc6ICJ0ZXh0TGVuZ3RoPVwiNTBc
IiIKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMzYpIHdpZHRoIDE1MjogImxlbmd0aEFk
anVzdD1cInNwYWNpbmdcIiIKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE1Miwz
Nikgc2l6ZSA0eDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTUyLDM2KSB3aWR0aCA0OiAi
ICIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICBSZW5kZXJJbmxp
bmUge2d9IGF0ICgwLDApIHNpemUgNTA1eDE4CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVySW5saW5lIHt1c2V9IGF0ICgwLDAp
IHNpemUgMHgwCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgw
CisgICAgICAgICAgUmVuZGVySW5saW5lIHt0ZXh0fSBhdCAoMCwwKSBzaXplIDg3eDE4CisgICAg
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE1NiwzNikgc2l6ZSA4N3gxOAorICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMTU2LDM2KSB3aWR0aCA4NzogIkFwYWNoZSBCYXRpayIKKyAg
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDI0MywzNikgc2l6ZSA0eDE4CisgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMjQzLDM2KSB3aWR0aCA0OiAiICIKKyAgICAgICAgICBSZW5kZXJJ
bmxpbmUge3RleHR9IGF0ICgwLDApIHNpemUgNDEweDE4CisgICAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDI0NywzNikgc2l6ZSA0MTB4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDI0NywzNikgd2lkdGggNDEwOiAidGV4dExlbmd0aD1cIjUwXCIgbGVuZ3RoQWRqdXN0PVwi
c3BhY2luZ0FuZEdseXBoc1wiIChzaHJpbmtpbmcpIgorICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoNjU3LDM2KSBzaXplIDR4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2NTcs
MzYpIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSAweDAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAg
ICAgIFJlbmRlcklubGluZSB7Z30gYXQgKDAsMCkgc2l6ZSA3NDh4MzYKKyAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJJbmxpbmUg
e3VzZX0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJJbmxpbmUge3RleHR9IGF0ICgwLDApIHNp
emUgODd4MTgKKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNjYxLDM2KSBzaXpl
IDg3eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2NjEsMzYpIHdpZHRoIDg3OiAiQXBh
Y2hlIEJhdGlrIgorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4
MAorICAgICAgICAgIFJlbmRlcklubGluZSB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA0MTR4MTgKKyAg
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw1NCkgc2l6ZSA0MTR4MTgKKyAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsNTQpIHdpZHRoIDQxNDogInRleHRMZW5ndGg9XCI1MFwi
IGxlbmd0aEFkanVzdD1cInNwYWNpbmdBbmRHbHlwaHNcIiAobm8gYW5jaG9yKSIKKyAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDQxNCw1NCkgc2l6ZSA0eDE4CisgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoNDE0LDU0KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDB4MAorICAgICAgICBSZW5kZXJJbmxpbmUge2d9IGF0ICgwLDApIHNpemUgNjI2eDM2
CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAg
ICAgUmVuZGVySW5saW5lIHt1c2V9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVySW5saW5lIHt0
ZXh0fSBhdCAoMCwwKSBzaXplIDk3eDE4CisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDQxOCw1NCkgc2l6ZSA1M3gxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDE4LDU0
KSB3aWR0aCA1MzogIkFwYWNoZSAiCisgICAgICAgICAgICBSZW5kZXJJbmxpbmUge3RzcGFufSBh
dCAoMCwwKSBzaXplIDM0eDE4CisgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
NDcxLDU0KSBzaXplIDM0eDE4CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ3MSw1NCkg
d2lkdGggMzQ6ICJCYXRpayIKKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTA1
LDU0KSBzaXplIDEweDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1MDUsNTQpIHdpZHRo
IDEwOiAiISEiCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1MTUsNTQpIHNpemUg
NHgxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDUxNSw1NCkgd2lkdGggNDogIiAiCisgICAg
ICAgICAgUmVuZGVySW5saW5lIHt0ZXh0fSBhdCAoMCwwKSBzaXplIDYyNngzNgorICAgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1MTksNTQpIHNpemUgNjI2eDM2CisgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICg1MTksNTQpIHdpZHRoIDEwNzogInRleHRMZW5ndGg9XCI1MFwiIgor
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw3Mikgd2lkdGggMjczOiAibGVuZ3RoQWRqdXN0
PVwic3BhY2luZ0FuZEdseXBoc1wiICh0c3BhbikiCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgyNzMsNzIpIHNpemUgNHgxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI3Myw3
Mikgd2lkdGggNDogIiAiCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDB4MAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAg
ICAgUmVuZGVySW5saW5lIHtnfSBhdCAoMCwwKSBzaXplIDQ5NngxOAorICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJlbmRlcklubGluZSB7
cmVjdH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJJbmxpbmUge3JlY3R9IGF0ICgwLDApIHNp
emUgMHgwCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisg
ICAgICAgICAgUmVuZGVySW5saW5lIHtsaW5lfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJlbmRlcklu
bGluZSB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA1MHgxOAorICAgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgyNzcsNzIpIHNpemUgNTB4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDI3Nyw3Mikgd2lkdGggNTA6ICJCIGEgdCBpIGsiCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgzMjcsNzIpIHNpemUgNHgxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMyNyw3
Mikgd2lkdGggNDogIiAiCisgICAgICAgICAgUmVuZGVySW5saW5lIHt0ZXh0fSBhdCAoMCwwKSBz
aXplIDQ0MngxOAorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzMzEsNzIpIHNp
emUgMjMweDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzMzEsNzIpIHdpZHRoIDIzMDog
Imxlbmd0aEFkanVzdD1cInNwYWNpbmdBbmRHbHlwaHNcIiAiCisgICAgICAgICAgICBSZW5kZXJJ
bmxpbmUge3RzcGFufSBhdCAoMCwwKSBzaXplIDEwN3gxOAorICAgICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDU2MSw3Mikgc2l6ZSAxMDd4MTgKKyAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoNTYxLDcyKSB3aWR0aCAxMDc6ICJ0ZXh0TGVuZ3RoPVwiMjVcIiIKKyAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNjY4LDcyKSBzaXplIDR4MTgKKyAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDY2OCw3Mikgd2lkdGggNDogIiAiCisgICAgICAgICAgICBSZW5kZXJJ
bmxpbmUge3RzcGFufSBhdCAoMCwwKSBzaXplIDEwMXgxOAorICAgICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDY3Miw3Mikgc2l6ZSAxMDF4MTgKKyAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoNjcyLDcyKSB3aWR0aCAxMDE6ICJmb250LXNpemU9XCIxMDBcIiIKKyAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4
MAorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlcklubGluZSB7dXNl
fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMHgwCkluZGV4OiBzdmcvYmF0aWsvdGV4dC90ZXh0TGVuZ3RoLnN2Zwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBzdmcvYmF0aWsvdGV4dC90ZXh0TGVuZ3RoLnN2ZwkocmV2aXNpb24gMCkKKysrIHN2Zy9iYXRp
ay90ZXh0L3RleHRMZW5ndGguc3ZnCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzOSBAQAorPD94
bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cis8IURP
Q1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0Ly9FTiIgCisiaHR0cDov
L3d3dy53My5vcmcvVFIvMjAwMS9SRUMtU1ZHLTIwMDEwOTA0L0RURC9zdmcxMC5kdGQiPgorCis8
IS0tCisKKyAgIENvcHlyaWdodCAyMDAyICBUaGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24g
CisKKyAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRo
ZSAiTGljZW5zZSIpOworICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29t
cGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRo
ZSBMaWNlbnNlIGF0CisKKyAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElD
RU5TRS0yLjAKKworICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVl
ZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vu
c2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgIFdJVEhPVVQgV0FSUkFO
VElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVk
LgorICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5n
IHBlcm1pc3Npb25zIGFuZAorICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKy0t
PgorPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09IC0tPgorPCEtLSBUZXN0cyB0ZXh0LWFuY2hvciBvbiB0c3Bh
biBlbGVtZW50cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorPCEtLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC0tPgorPCEtLSBAYXV0aG9yIGRld2Vlc2VAYXBhY2hlLm9yZyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorPCEtLSBAdmVyc2lvbiAk
SWQ6IHRleHRMZW5ndGguc3ZnLHYgMS40IDIwMDQvMDgvMTggMDc6MTI6MjIgdmhhcmR5IEV4cCAk
ICAgIC0tPgorPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0
ZXh0L2NzcyIgaHJlZj0iLi4vcmVzb3VyY2VzL3Rlc3QuY3NzIiA/PiAgCisKKzxzdmcgd2lkdGg9
IjQ1MCIgaGVpZ2h0PSI1MDAiIHZpZXdCb3g9IjAgMCA0NTAgNTAwIj4KKworICAgIDx0ZXh0IGNs
YXNzPSJ0aXRsZSIgeD0iNTAlIiB5PSIyMCI+dGV4dExlbmd0aCB3aXRoIEFuY2hvcjwvdGV4dD4K
KworCisgICA8ZGVmcz4KKyAgICAgIDxnIGlkPSJmaWxsLXJnbiI+CisgICAgICAgICA8cmVjdCB4
PSIyMDAiIHk9IjUiIHdpZHRoPSI1MCIgaGVpZ2h0PSIyMCIKKyAgICAgICAgICAgICAgICAgZmls
bD0iI0RERThGRiIgc3Ryb2tlPSJub25lIi8+CisgICAgICAgICA8bGluZSB4MT0iMjI1IiB5MT0i
MyIgeDI9IjIyNSIgeTI9IjI3IiBzdHJva2U9InJlZCIvPgorICAgICAgPC9nPgorCisgICAgICA8
ZyBpZD0iYmcxIj4KKyAgICAgICAgIDxyZWN0IHg9IjUwIiAgeT0iMCIgd2lkdGggPSIzNTAiIGhl
aWdodD0iNDUiCisgICAgICAgICAgICAgICBmaWxsPSJsaWdodEdyZXkiIHN0cm9rZT0iYmxhY2si
Lz4KKyAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI2ZpbGwtcmduIi8+CisgICAgICA8L2c+CisK
KyAgICAgIDxnIGlkPSJiZzIiPgorICAgICAgICAgPHJlY3QgeD0iNTAiICB5PSIwIiB3aWR0aCA9
IjM1MCIgaGVpZ2h0PSI0NSIKKyAgICAgICAgICAgICAgIGZpbGw9IndoaXRlIiBzdHJva2U9ImJs
YWNrIi8+CisgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNmaWxsLXJnbiIvPgorICAgICAgPC9n
PgorICAgPC9kZWZzPgorICAgCisgICA8ZyBmb250LXNpemU9IjEyIiA+CisgICAgICA8IS0tIG5v
IGxlbmd0aGFkanVzdCAtLT4KKyAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsICAzMCki
PgorICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNiZzEiLz4KKyAgICAgICAgICAgICAg
PHRleHQgeD0iMjI1IiB5PSIxOSIgdGV4dC1hbmNob3I9Im1pZGRsZSI+eG1sLWJhdGlrPC90ZXh0
PgorICAgICAgICAgICAgICA8dGV4dCB4PSIyMjUiIHk9IjQwIiB0ZXh0LWFuY2hvcj0ibWlkZGxl
Ij5ObyB0ZXh0TGVuZ3RoPC90ZXh0PgorICAgICAgPC9nPgorICAgICAgCisgICAgICA8IS0tIFdp
dGggbGVuZ3RoQWRqdXN0IHNwYWNpbmdBbmRHbHlwaHMgLS0+CisgICAgICA8ZyB0cmFuc2Zvcm09
InRyYW5zbGF0ZSgwLCA3NSkiPgorICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNiZzIi
Lz4KKyAgICAgICAgICAgICAgPHRleHQgeD0iMjI1IiB5PSIxOSIgdGV4dC1hbmNob3I9Im1pZGRs
ZSIgdGV4dExlbmd0aD0iNTAiCisgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoQWRqdXN0PSJz
cGFjaW5nQW5kR2x5cGhzIj5CPC90ZXh0PgorICAgICAgICAgICAgICA8dGV4dCB4PSIyMjUiIHk9
IjQwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj50ZXh0TGVuZ3RoPSI1MCIgbGVuZ3RoQWRqdXN0PSJz
cGFjaW5nQW5kR2x5cGhzIjwvdGV4dD4KKyAgICAgIDwvZz4KKyAgICAgIAorICAgICAgPCEtLSB3
aXRoIGxlbmd0aEFkanVzdCBzcGFjaW5nIC0tPgorICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xh
dGUoMCwgMTIwKSI+CisgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI2JnMSIvPgorICAg
ICAgICAgICAgICA8dGV4dCB4PSIyMjUiIHk9IjE5IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiB0ZXh0
TGVuZ3RoPSI1MCIKKyAgICAgICAgICAgICAgICAgICAgICBsZW5ndGhBZGp1c3Q9InNwYWNpbmci
PkI8L3RleHQ+CisgICAgICAgICAgICAgIDx0ZXh0IHg9IjIyNSIgeT0iNDAiIHRleHQtYW5jaG9y
PSJtaWRkbGUiPnRleHRMZW5ndGg9IjUwIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciPC90ZXh0Pgor
ICAgICAgPC9nPgorICAgICAgCisgICAgICA8IS0tIHdpdGggbGVuZ3RoQWRqdXN0IHNwYWNpbmcg
LS0+CisgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLCAxNjUpIj4KKyAgICAgICAgICAg
ICAgPHVzZSB4bGluazpocmVmPSIjYmcyIi8+CisgICAgICAgICAgICAgIDx0ZXh0IHg9IjIyNSIg
eT0iMTkiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHRleHRMZW5ndGg9IjUwIgorICAgICAgICAgICAg
ICAgICAgICAgIGxlbmd0aEFkanVzdD0ic3BhY2luZ0FuZEdseXBocyI+QmF0aWs8L3RleHQ+Cisg
ICAgICAgICAgICAgIDx0ZXh0IHg9IjIyNSIgeT0iNDAiIHRleHQtYW5jaG9yPSJtaWRkbGUiPnRl
eHRMZW5ndGg9IjUwIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmdBbmRHbHlwaHMiPC90ZXh0PgorICAg
ICAgPC9nPgorICAgICAgCisgICAgICA8IS0tIHdpdGggbGVuZ3RoQWRqdXN0IHNwYWNpbmcgLS0+
CisgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLCAyMTApIj4KKyAgICAgICAgICAgICAg
PHVzZSB4bGluazpocmVmPSIjYmcxIi8+CisgICAgICAgICAgICAgIDx0ZXh0IHg9IjIyNSIgeT0i
MTkiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHRleHRMZW5ndGg9IjUwIgorICAgICAgICAgICAgICAg
ICAgICAgIGxlbmd0aEFkanVzdD0ic3BhY2luZyI+QmF0aWs8L3RleHQ+CisgICAgICAgICAgICAg
IDx0ZXh0IHg9IjIyNSIgeT0iNDAiIHRleHQtYW5jaG9yPSJtaWRkbGUiPnRleHRMZW5ndGg9IjUw
IiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciPC90ZXh0PgorICAgICAgPC9nPgorICAgICAgCisgICAg
ICA8IS0tIGxhcmdlIG51bWJlciAtLT4KKyAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAs
IDI1NSkiPgorICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNiZzIiLz4KKyAgICAgICAg
ICAgICAgPHRleHQgeD0iMjI1IiB5PSIxOSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgdGV4dExlbmd0
aD0iNTAiCisgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5
cGhzIj5BcGFjaGUgQmF0aWs8L3RleHQ+CisgICAgICAgICAgICAgIDx0ZXh0IHg9IjIyNSIgeT0i
NDAiIHRleHQtYW5jaG9yPSJtaWRkbGUiPnRleHRMZW5ndGg9IjUwIiBsZW5ndGhBZGp1c3Q9InNw
YWNpbmdBbmRHbHlwaHMiIChzaHJpbmtpbmcpPC90ZXh0PgorICAgICAgPC9nPgorICAgICAgCisg
ICAgICA8IS0tIGxhcmdlIG51bWJlciwgbm8gYW5jaG9yIC0tPgorICAgICAgPGcgdHJhbnNmb3Jt
PSJ0cmFuc2xhdGUoMCwgMzAwKSI+CisgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI2Jn
MSIvPgorICAgICAgICAgICAgICA8dGV4dCB4PSIyMDAiIHk9IjE5IiB0ZXh0TGVuZ3RoPSI1MCIK
KyAgICAgICAgICAgICAgICAgICAgICBsZW5ndGhBZGp1c3Q9InNwYWNpbmdBbmRHbHlwaHMiPkFw
YWNoZSBCYXRpazwvdGV4dD4KKyAgICAgICAgICAgICAgPHRleHQgeD0iMjI1IiB5PSI0MCIgdGV4
dC1hbmNob3I9Im1pZGRsZSI+dGV4dExlbmd0aD0iNTAiIGxlbmd0aEFkanVzdD0ic3BhY2luZ0Fu
ZEdseXBocyIgKG5vIGFuY2hvcik8L3RleHQ+CisgICAgICA8L2c+CisgICAgICAKKyAgICAgIDwh
LS0gbGFyZ2UgbnVtYmVyLCB0c3BhbiAtLT4KKyAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRl
KDAsIDM0NSkiPgorICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNiZzIiLz4KKyAgICAg
ICAgICAgICAgPHRleHQgeD0iMjI1IiB5PSIxOSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgdGV4dExl
bmd0aD0iNTAiIAorICAgICAgICAgICAgICAgICAgICBsZW5ndGhBZGp1c3Q9InNwYWNpbmdBbmRH
bHlwaHMiPkFwYWNoZSA8dHNwYW4gZmlsbD0icmVkIj5CYXRpazwvdHNwYW4+ISE8L3RleHQ+Cisg
ICAgICAgICAgICAgIDx0ZXh0IHg9IjIyNSIgeT0iNDAiIHRleHQtYW5jaG9yPSJtaWRkbGUiPnRl
eHRMZW5ndGg9IjUwIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmdBbmRHbHlwaHMiICh0c3Bhbik8L3Rl
eHQ+CisgICAgICA8L2c+CisKKyAgICAgIDwhLS0gQmlnIEZvbnQgU3F1ZWV6ZWQgYWxvdCAtLT4K
KyAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsIDM5MCkiPgorICAgICAgICAgPHJlY3Qg
eD0iNTAiICB5PSIwIiB3aWR0aCA9IjM1MCIgaGVpZ2h0PSI5NSIKKyAgICAgICAgICAgICAgIGZp
bGw9ImxpZ2h0R3JleSIgc3Ryb2tlPSJibGFjayIvPgorICAgICAgICAgPHJlY3QgeD0iMTEyLjUi
IHk9IjUiIHdpZHRoPSIyNSIgaGVpZ2h0PSI4MCIKKyAgICAgICAgICAgICAgICAgZmlsbD0iI0RE
RThGRiIgc3Ryb2tlPSJub25lIi8+CisgICAgICAgICA8bGluZSB4MT0iMTI1IiB5MT0iMyIgeDI9
IjEyNSIgeTI9Ijg3IiBzdHJva2U9InJlZCIvPgorICAgICAgICAgPHRleHQgeD0iMTI1IiB5PSI3
OSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgdGV4dExlbmd0aD0iMjUiIAorICAgICAgICAgICAgICAg
bGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIgorICAgICAgICAgICAgICAgZm9udC1zaXpl
PSIxMDAiPkIgYSB0IGkgazwvdGV4dD4KKyAgICAgICAgIDx0ZXh0IHg9IjE2MCIgeT0iNDAiPmxl
bmd0aEFkanVzdD0ic3BhY2luZ0FuZEdseXBocyIKKyAgICAgICAgICA8dHNwYW4geD0iMTYwIiBk
eT0iMS4yZW0iPnRleHRMZW5ndGg9IjI1IjwvdHNwYW4+CisgICAgICAgICAgPHRzcGFuIHg9IjE2
MCIgZHk9IjEuMmVtIj5mb250LXNpemU9IjEwMCI8L3RzcGFuPjwvdGV4dD4KKyAgICAgIDwvZz4K
KyAgIDwvZz4KKworICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorICAgPCEtLSBCYXRpayBzYW1wbGUgbWFyayAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorICAgPCEtLSA9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09IC0tPgorICAgPHVzZSB4bGluazpocmVmPSIuLi9yZXNvdXJjZXMvYmF0aWtMb2dvLnN2ZyNC
YXRpa19UYWdfQm94IiAvPgorPC9zdmc+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBzdmcvYmF0aWsv
dGV4dC90ZXh0TGVuZ3RoLnN2ZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjpleGVjdXRhYmxlCiAgICsg
KgoKSW5kZXg6IHN2Zy9iYXRpay90ZXh0L3RleHRPblBhdGgyLWV4cGVjdGVkLmNoZWNrc3VtCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIHN2Zy9iYXRpay90ZXh0L3RleHRPblBhdGgyLWV4cGVjdGVkLmNoZWNrc3Vt
CShyZXZpc2lvbiAwKQorKysgc3ZnL2JhdGlrL3RleHQvdGV4dE9uUGF0aDItZXhwZWN0ZWQuY2hl
Y2tzdW0JKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKK2NmZTljOWQ1ZTg2ZTBiMzUxZGM5MjRk
YTUxNDZmN2Y5ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogc3ZnL2JhdGlrL3Rl
eHQvdGV4dE9uUGF0aDItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN2Zy9iYXRpay90ZXh0
L3RleHRPblBhdGgyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIHN2Zy9iYXRpay90ZXh0
L3RleHRPblBhdGgyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw5MiBAQAor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtzdmd9IGF0ICgyOS41MCwyNikgc2l6ZSA0
MzcuNTB4NDU0LjUwCisgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjI1LDQwKSBzaXpl
IDgwMHgwCisgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTExOCwtMTQp
IHNpemUgMjM2eDE3CisgICAgICAgICAgdGV4dCBydW4gYXQgKC0xMTgsLTE0KSB3aWR0aCAyMzY6
ICJUZXh0IG9uIFBhdGggd2l0aCB0cmFpbGluZyA8dHNwYW4+IgorICAgICAgUmVuZGVyUGF0aCB7
cmVjdH0gYXQgKDI5LjUwLDQ5LjUwKSBzaXplIDM5MXgyMSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0g
W2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBb
ZGF0YT0iTTMwLjAwLDUwLjAwTDQyMC4wMCw1MC4wMEw0MjAuMDAsNzAuMDBMMzAuMDAsNzAuMDAi
XQorICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDI5LjUwLDY5LjUwKSBzaXplIDM5MXgxMjEg
W3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSNGRkZGRkZdfV0gW2RhdGE9Ik0zMC4wMCw3MC4wMEw0MjAuMDAsNzAuMDBMNDIw
LjAwLDE5MC4wMEwzMC4wMCwxOTAuMDAiXQorICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQg
KDQwLDY0KSBzaXplIDgwMHgwIFtjb2xvcj0jRkZGRkZGXQorICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEzKSBzaXplIDMxOXgxNworICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLC0xMykgd2lkdGggMzE5OiAiVGV4dCB3aXRoIGVtYmVkZGVkIHRleHRQYXRoIGFuZCBt
dWx0aXBsZSB0cmFpbGluZyB0c3BhbiIKKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyOS41
MCwxOTQuNTApIHNpemUgMzkxeDIxIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAw
MF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJNMzAuMDAs
MTk1LjAwTDQyMC4wMCwxOTUuMDBMNDIwLjAwLDIxNS4wMEwzMC4wMCwyMTUuMDAiXQorICAgICAg
UmVuZGVyUGF0aCB7cmVjdH0gYXQgKDI5LjUwLDIxNC41MCkgc2l6ZSAzOTF4MTIxIFtzdHJva2U9
e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xv
cj0jRkZGRkZGXX1dIFtkYXRhPSJNMzAuMDAsMjE1LjAwTDQyMC4wMCwyMTUuMDBMNDIwLjAwLDMz
NS4wMEwzMC4wMCwzMzUuMDAiXQorICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDQwLDIw
OSkgc2l6ZSA4MDB4MCBbY29sb3I9I0ZGRkZGRl0KKyAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4
dCB7I3RleHR9IGF0ICgwLC0xMykgc2l6ZSAxNzd4MTcKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwtMTMpIHdpZHRoIDE3NzogInRleHRQYXRoIGhhcyBzdGFydE9mZnNldD1cIjEwJVwiIgorICAg
ICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDI5LjUwLDMzOS41MCkgc2l6ZSAzOTF4MjEgW3N0cm9r
ZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2Nv
bG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0zMC4wMCwzNDAuMDBMNDIwLjAwLDM0MC4wMEw0MjAuMDAs
MzYwLjAwTDMwLjAwLDM2MC4wMCJdCisgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjkuNTAs
MzU5LjUwKSBzaXplIDM5MXgxMjEgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAw
XX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkZGRkZdfV0gW2RhdGE9Ik0zMC4wMCwz
NjAuMDBMNDIwLjAwLDM2MC4wMEw0MjAuMDAsNDgwLjAwTDMwLjAwLDQ4MC4wMCJdCisgICAgICBS
ZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoNDAsMzU0KSBzaXplIDgwMHgwIFtjb2xvcj0jRkZGRkZG
XQorICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEzKSBzaXplIDIz
MHgxNworICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xMykgd2lkdGggMjMwOiAidGV4dFBhdGgg
d2l0aCBzdGFydE9mZnNldCBhbmQgdGV4dC1hbmNob3IiCisgICAgICBSZW5kZXJTVkdIaWRkZW5D
b250YWluZXIge2RlZnN9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgIFJlbmRlclBhdGgge3Bh
dGh9IGF0ICg5OS41MCwtMTI1LjY3KSBzaXplIDE0MXgxMjUuNjcgW3N0cm9rZT17W3R5cGU9U09M
SURdIFtjb2xvcj0jMDAwMEZGXX1dIFtkYXRhPSJNMTAwLjAwLDAuMDBDMTAwLjAwLC0xMjUuMDAs
MjQwLjAwLC0xMjUuMDAsMjQwLjAwLDAuMDAiXQorICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtn
fSBhdCAoNTAsNTkuMzMpIHNpemUgNDAyeDEyOS42NyBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAw
KSgwLjAwLDEuMDApKSB0PSg0MC4wMCwxODUuMDApfV0KKyAgICAgICAgUmVuZGVyU1ZHQ29udGFp
bmVyIHt1c2V9IGF0ICgxMzkuNTAsNTkuMzMpIHNpemUgMTQxeDEyNS42NworICAgICAgICAgIFJl
bmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDEzOS41MCw1OS4zMykgc2l6ZSAxNDF4MTI1LjY3Cisg
ICAgICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMTM5LjUwLDU5LjMzKSBzaXplIDE0MXgx
MjUuNjcgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMEZGXX1dIFtkYXRhPSJNMTAw
LjAwLDAuMDBDMTAwLjAwLC0xMjUuMDAsMjQwLjAwLC0xMjUuMDAsMjQwLjAwLDAuMDAiXQorICAg
ICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAsMCkgc2l6ZSA4MDB4MAorICAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgODd4MTgKKyAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLC0xNCkgd2lkdGggODc6ICJUaGlzIGlzIHNpbXBsZSIKKyAg
ICAgICAgICBSZW5kZXJTVkdUZXh0UGF0aCB7dGV4dFBhdGh9IGF0ICgwLDApIHNpemUgMTI4eDEx
OSBbY29sb3I9I0RDMTQzQ10KKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoODYsLTg4KSBzaXplIDMzeDkwCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg4Niwt
ODgpIHdpZHRoIDMzOiAidGV4dCBvbiBhIHBhdGgiCisgICAgICAgICAgICBSZW5kZXJTVkdUU3Bh
biB7dHNwYW59IGF0ICgwLDApIHNpemUgNjl4MzAgW2NvbG9yPSNGRkE1MDBdCisgICAgICAgICAg
ICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMTE3LC0xMTcpIHNpemUgNjh4MzAK
KyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTE3LC0xMTcpIHdpZHRoIDY4OiAid2l0aCBu
ZXN0ZWQiCisgICAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUg
Mjl4MzkgW2NvbG9yPSMwMDgwMDBdCisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQg
eyN0ZXh0fSBhdCAoMTg1LC0xMDEpIHNpemUgMjl4MzgKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMTg1LC0xMDEpIHdpZHRoIDI5OiAiIHRzcGFuIgorICAgICAgICAgIFJlbmRlclNWR0lu
bGluZVRleHQgeyN0ZXh0fSBhdCAoMjE4LC04MCkgc2l6ZSAzMngxOAorICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDIxOCwtODApIHdpZHRoIDMyOiAiIHh4eCAiCisgICAgICAgICAgUmVuZGVyU1ZH
VFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDUxeDE4IFtjb2xvcj0jMDAwMEZGXQorICAgICAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgyNjAsLTgwKSBzaXplIDUxeDE4
CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNjAsLTgwKSB3aWR0aCA1MTogImFsbCB3aXRo
ICIKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDMxMSwtODApIHNp
emUgOTF4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzMTEsLTgwKSB3aWR0aCA5MTogImRp
ZmZlcmVudCBsaW5rcy4iCisgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg1MCwyMDQu
MzMpIHNpemUgNDE0eDEyOS42NyBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDAp
KSB0PSg0MC4wMCwzMzAuMDApfV0KKyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0
ICgxMzkuNTAsMjA0LjMzKSBzaXplIDE0MXgxMjUuNjcKKyAgICAgICAgICBSZW5kZXJTVkdDb250
YWluZXIge2d9IGF0ICgxMzkuNTAsMjA0LjMzKSBzaXplIDE0MXgxMjUuNjcKKyAgICAgICAgICAg
IFJlbmRlclBhdGgge3BhdGh9IGF0ICgxMzkuNTAsMjA0LjMzKSBzaXplIDE0MXgxMjUuNjcgW3N0
cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMEZGXX1dIFtkYXRhPSJNMTAwLjAwLDAuMDBD
MTAwLjAwLC0xMjUuMDAsMjQwLjAwLC0xMjUuMDAsMjQwLjAwLDAuMDAiXQorICAgICAgICBSZW5k
ZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAsMCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgODd4MTgKKyAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLC0xNCkgd2lkdGggODc6ICJUaGlzIGlzIHNpbXBsZSIKKyAgICAgICAgICBS
ZW5kZXJTVkdUZXh0UGF0aCB7dGV4dFBhdGh9IGF0ICgwLDApIHNpemUgMTM2eDk0IFtjb2xvcj0j
REMxNDNDXQorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg5MCwt
MTAzKSBzaXplIDUweDc5CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg5MCwtMTAzKSB3aWR0
aCA1MDogInRleHQgb24gYSBwYXRoIgorICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFu
fSBhdCAoMCwwKSBzaXplIDY3eDM2IFtjb2xvcj0jRkZBNTAwXQorICAgICAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDE0MCwtMTE3KSBzaXplIDY2eDM2CisgICAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDE0MCwtMTE3KSB3aWR0aCA2NjogIndpdGggbmVzdGVkIgor
ICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDIxeDQ0IFtj
b2xvcj0jMDA4MDAwXQorICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0g
YXQgKDIwNSwtODQpIHNpemUgMjF4NDQKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjA1
LC04NCkgd2lkdGggMjE6ICIgdHNwYW4iCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7
I3RleHR9IGF0ICgyMzAsLTU4KSBzaXplIDMxeDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MjMwLC01OCkgd2lkdGggMzE6ICIgeHh4ICIKKyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNw
YW59IGF0ICgwLDApIHNpemUgNTF4MTggW2NvbG9yPSMwMDAwRkZdCisgICAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDI3MiwtNTgpIHNpemUgNTF4MTgKKyAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDI3MiwtNTgpIHdpZHRoIDUxOiAiYWxsIHdpdGggIgorICAgICAg
ICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMzIzLC01OCkgc2l6ZSA5MXgxOAor
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMyMywtNTgpIHdpZHRoIDkxOiAiZGlmZmVyZW50IGxp
bmtzLiIKKyAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDUwLDM0OS4zMykgc2l6ZSA0
MTd4MTI5LjY3IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDQwLjAw
LDQ3NS4wMCl9XQorICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDEzOS41MCwz
NDkuMzMpIHNpemUgMTQxeDEyNS42NworICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30g
YXQgKDEzOS41MCwzNDkuMzMpIHNpemUgMTQxeDEyNS42NworICAgICAgICAgICAgUmVuZGVyUGF0
aCB7cGF0aH0gYXQgKDEzOS41MCwzNDkuMzMpIHNpemUgMTQxeDEyNS42NyBbc3Ryb2tlPXtbdHlw
ZT1TT0xJRF0gW2NvbG9yPSMwMDAwRkZdfV0gW2RhdGE9Ik0xMDAuMDAsMC4wMEMxMDAuMDAsLTEy
NS4wMCwyNDAuMDAsLTEyNS4wMCwyNDAuMDAsMC4wMCJdCisgICAgICAgIFJlbmRlclNWR1RleHQg
e3RleHR9IGF0ICgxMCwwKSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4
dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSA4N3gxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsLTE0KSB3aWR0aCA4NzogIlRoaXMgaXMgc2ltcGxlIgorICAgICAgICAgIFJlbmRlclNWR1Rl
eHRQYXRoIHt0ZXh0UGF0aH0gYXQgKDAsMCkgc2l6ZSAxMzd4ODYgW2NvbG9yPSNEQzE0M0NdCisg
ICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDkyLC0xMDUpIHNpemUg
NTV4NzQKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDkyLC0xMDUpIHdpZHRoIDU1OiAidGV4
dCBvbiBhIHBhdGgiCisgICAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDAp
IHNpemUgNjR4NDIgW2NvbG9yPSNGRkE1MDBdCisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGlu
ZVRleHQgeyN0ZXh0fSBhdCAoMTQ4LC0xMTcpIHNpemUgNjR4NDEKKyAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMTQ4LC0xMTcpIHdpZHRoIDY0OiAid2l0aCBuZXN0ZWQiCisgICAgICAgICAg
ICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMTl4NDUgW2NvbG9yPSMwMDgw
MDBdCisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMjEwLC03
OCkgc2l6ZSAxOHg0NQorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMTAsLTc4KSB3aWR0
aCAxODogIiB0c3BhbiIKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KDIzMywtNTEpIHNpemUgMzJ4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMzMsLTUxKSB3
aWR0aCAzMjogIiB4eHggIgorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAs
MCkgc2l6ZSA1MXgxOCBbY29sb3I9IzAwMDBGRl0KKyAgICAgICAgICAgIFJlbmRlclNWR0lubGlu
ZVRleHQgeyN0ZXh0fSBhdCAoMjc1LC01MSkgc2l6ZSA1MXgxOAorICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMjc1LC01MSkgd2lkdGggNTE6ICJhbGwgd2l0aCAiCisgICAgICAgICAgUmVuZGVy
U1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgzMjYsLTUxKSBzaXplIDkxeDE4CisgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMzI2LC01MSkgd2lkdGggOTE6ICJkaWZmZXJlbnQgbGlua3MuIgpJbmRl
eDogc3ZnL2JhdGlrL3RleHQvdGV4dE9uUGF0aDIuc3ZnCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN2Zy9iYXRp
ay90ZXh0L3RleHRPblBhdGgyLnN2ZwkocmV2aXNpb24gMCkKKysrIHN2Zy9iYXRpay90ZXh0L3Rl
eHRPblBhdGgyLnN2ZwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw4NiBAQAorPD94bWwgdmVyc2lv
bj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PgorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8v
RFREIFNWRyAxLjAvL0VOIgorImh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLVNWRy0yMDAx
MDkwNC9EVEQvc3ZnMTAuZHRkIj4KKworPCEtLQorCisgICBDb3B5cmlnaHQgMjAwMi0yMDAzICBU
aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gCisKKyAgIExpY2Vuc2VkIHVuZGVyIHRoZSBB
cGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICAgeW91IG1heSBu
b3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgor
ICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgICBodHRw
Oi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworICAgVW5sZXNzIHJlcXVp
cmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQor
ICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFT
IElTIiBCQVNJUywKKyAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBL
SU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0
aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICAgbGltaXRh
dGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKy0tPgorPD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0
ZXh0L2NzcyIgaHJlZj0iLi4vcmVzb3VyY2VzL3Rlc3QuY3NzIiA/PiAgCisKKzxzdmcgeG1sbnM9
Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAKKyAgICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93
d3cudzMub3JnLzE5OTkveGxpbmsiCisgICAgIGlkPSJib2R5IiB3aWR0aD0iNDUwIiBoZWlnaHQ9
IjUwMCIgdmlld0JveD0iMCAwIDQ1MCA1MDAiPgorCisgICA8dGl0bGU+VGV4dCBvbiBQYXRoIHdp
dGggdHJhaWxpbmcgJmx0O3RzcGFuPjwvdGl0bGU+CisKKyAgIDx0ZXh0IGNsYXNzPSJ0aXRsZSIg
eD0iNTAlIiB5PSI0MCIKKyAgICA+VGV4dCBvbiBQYXRoIHdpdGggdHJhaWxpbmcgJmx0O3RzcGFu
PjwvdGV4dD4KKworICAgPHJlY3QgZmlsbD0iYmxhY2siIHN0cm9rZT0iYmxhY2siIHg9IjMwIiB5
PSI1MCIgd2lkdGg9IjM5MCIgaGVpZ2h0PSIyMCIvPgorICAgPHJlY3QgZmlsbD0id2hpdGUiIHN0
cm9rZT0iYmxhY2siIHg9IjMwIiB5PSI3MCIgd2lkdGg9IjM5MCIgaGVpZ2h0PSIxMjAiLz4KKyAg
IDx0ZXh0IHg9IjQwIiB5PSI2NCIgZmlsbD0id2hpdGUiIGZvbnQtc2l6ZT0iMTQiCisgICAgPlRl
eHQgd2l0aCBlbWJlZGRlZCB0ZXh0UGF0aCBhbmQgbXVsdGlwbGUgdHJhaWxpbmcgdHNwYW48L3Rl
eHQ+CisKKyAgIDxyZWN0IGZpbGw9ImJsYWNrIiBzdHJva2U9ImJsYWNrIiB4PSIzMCIgeT0iMTk1
IiB3aWR0aD0iMzkwIiBoZWlnaHQ9IjIwIi8+CisgICA8cmVjdCBmaWxsPSJ3aGl0ZSIgc3Ryb2tl
PSJibGFjayIgeD0iMzAiIHk9IjIxNSIgd2lkdGg9IjM5MCIgaGVpZ2h0PSIxMjAiLz4KKyAgIDx0
ZXh0IHg9IjQwIiB5PSIyMDkiIGZpbGw9IndoaXRlIiBmb250LXNpemU9IjE0IgorICAgID50ZXh0
UGF0aCBoYXMgc3RhcnRPZmZzZXQ9IjEwJSI8L3RleHQ+CisKKyAgIDxyZWN0IGZpbGw9ImJsYWNr
IiBzdHJva2U9ImJsYWNrIiB4PSIzMCIgeT0iMzQwIiB3aWR0aD0iMzkwIiBoZWlnaHQ9IjIwIi8+
CisgICA8cmVjdCBmaWxsPSJ3aGl0ZSIgc3Ryb2tlPSJibGFjayIgeD0iMzAiIHk9IjM2MCIgd2lk
dGg9IjM5MCIgaGVpZ2h0PSIxMjAiLz4KKyAgIDx0ZXh0IHg9IjQwIiB5PSIzNTQiIGZpbGw9Indo
aXRlIiBmb250LXNpemU9IjE0IgorICAgID50ZXh0UGF0aCB3aXRoIHN0YXJ0T2Zmc2V0IGFuZCB0
ZXh0LWFuY2hvcjwvdGV4dD4KKyAgIDxkZWZzPgorICAgICAgPHBhdGggaWQ9InBhdGgiIHN0eWxl
PSJmaWxsOm5vbmU7IHN0cm9rZTpibHVlOyIgCisgICAgICAgICAgICBkPSJNMTAwIDAgYzAgLTEy
NSAxNDAgLTEyNSAxNDAgMCIvPgorICAgPC9kZWZzPgorCisgICA8ZyB0cmFuc2Zvcm09InRyYW5z
bGF0ZSg0MCwgMTg1KSIgPgorICAgICAgPHVzZSB4bGluazpocmVmPSIjcGF0aCIvPiAgICAgIAor
ICAgICAgPHRleHQgeD0iMTAiIHk9IjAiIGZpbGw9ImJsYWNrIj5UaGlzIGlzIHNpbXBsZTx0ZXh0
UGF0aCAKKyAgICAgICAgICBmaWxsPSJjcmltc29uIiB4bGluazpocmVmPSIjcGF0aCIgc3RhcnRP
ZmZzZXQ9IjAlIgorICAgICAgICAgID50ZXh0IG9uIGEgcGF0aDx0c3BhbiBmaWxsPSJvcmFuZ2Ui
IGR5PSItMTAiCisgICAgICAgICAgPndpdGggbmVzdGVkPC90c3Bhbj48dHNwYW4gZmlsbD0iZ3Jl
ZW4iIGR5PSIxMCIKKyAgICAgICAgICA+IHRzcGFuPC90c3Bhbj48L3RleHRQYXRoCisgICAgICAg
ICAgPiB4eHggPHRzcGFuIGZpbGw9ImJsdWUiIGR4PSIxMCIKKyAgICAgICAgICA+YWxsIHdpdGgg
PC90c3Bhbj4gZGlmZmVyZW50IGxpbmtzLjwvdGV4dD4KKyAgPC9nPgorCisKKyAgIDxnIHRyYW5z
Zm9ybT0idHJhbnNsYXRlKDQwLCAzMzApIiA+CisgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNwYXRo
Ii8+ICAgICAgCisgICAgICA8dGV4dCB4PSIxMCIgeT0iMCIgZmlsbD0iYmxhY2siPlRoaXMgaXMg
c2ltcGxlPHRleHRQYXRoIAorICAgICAgICAgIGZpbGw9ImNyaW1zb24iIHhsaW5rOmhyZWY9IiNw
YXRoIiBzdGFydE9mZnNldD0iMTAlIgorICAgICAgICAgID50ZXh0IG9uIGEgcGF0aDx0c3BhbiBm
aWxsPSJvcmFuZ2UiIGR5PSItMTAiCisgICAgICAgICAgPndpdGggbmVzdGVkPC90c3Bhbj48dHNw
YW4gZmlsbD0iZ3JlZW4iIGR5PSIxMCIKKyAgICAgICAgICA+IHRzcGFuPC90c3Bhbj48L3RleHRQ
YXRoCisgICAgICAgICAgPiB4eHggPHRzcGFuIGZpbGw9ImJsdWUiIGR4PSIxMCIKKyAgICAgICAg
ICA+YWxsIHdpdGggPC90c3Bhbj4gZGlmZmVyZW50IGxpbmtzLjwvdGV4dD4KKyAgPC9nPgorCisg
ICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0MCwgNDc1KSIgPgorICAgICAgPHVzZSB4bGluazpo
cmVmPSIjcGF0aCIvPiAgICAgIAorICAgICAgPHRleHQgeD0iMTAiIHk9IjAiIGZpbGw9ImJsYWNr
Ij5UaGlzIGlzIHNpbXBsZTx0ZXh0UGF0aCAKKyAgICAgICAgICBmaWxsPSJjcmltc29uIiB4bGlu
azpocmVmPSIjcGF0aCIgCisgICAgICAgICAgc3RhcnRPZmZzZXQ9IjUwJSIgdGV4dC1hbmNob3I9
Im1pZGRsZSIKKyAgICAgICAgICA+dGV4dCBvbiBhIHBhdGg8dHNwYW4gZmlsbD0ib3JhbmdlIiBk
eT0iLTEwIgorICAgICAgICAgID53aXRoIG5lc3RlZDwvdHNwYW4+PHRzcGFuIGZpbGw9ImdyZWVu
IiBkeT0iMTAiCisgICAgICAgICAgPiB0c3BhbjwvdHNwYW4+PC90ZXh0UGF0aAorICAgICAgICAg
ID4geHh4IDx0c3BhbiBmaWxsPSJibHVlIiBkeD0iMTAiCisgICAgICAgICAgPmFsbCB3aXRoIDwv
dHNwYW4+IGRpZmZlcmVudCBsaW5rcy48L3RleHQ+CisgIDwvZz4KKzwvc3ZnPgoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogc3ZnL2JhdGlrL3RleHQvdGV4dE9uUGF0aDIuc3ZnCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFt
ZTogc3ZuOmV4ZWN1dGFibGUKICAgKyAqCgpJbmRleDogc3ZnL2JhdGlrL3RleHQvdGV4dE9uUGF0
aDMtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3ZnL2JhdGlrL3RleHQvdGV4dE9u
UGF0aDMtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCisrKyBzdmcvYmF0aWsvdGV4dC90
ZXh0T25QYXRoMy1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAor
NGVmZTJhMGY3MmNkMDNhZjgzN2FhOWNiYTdiYzU2YzgKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCkluZGV4OiBzdmcvYmF0aWsvdGV4dC90ZXh0T25QYXRoMy1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gc3ZnL2JhdGlrL3RleHQvdGV4dE9uUGF0aDMtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQorKysgc3ZnL2JhdGlrL3RleHQvdGV4dE9uUGF0aDMtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDUwIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVu
ZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJTVkdDb250YWluZXIge3N2
Z30gYXQgKC02NSwyNikgc2l6ZSA0ODUuNTB4NDU0LjUwCisgICAgICBSZW5kZXJTVkdUZXh0IHt0
ZXh0fSBhdCAoMjI1LDQwKSBzaXplIDgwMHgwCisgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQg
eyN0ZXh0fSBhdCAoLTEyMywtMTQpIHNpemUgMjQ3eDE3CisgICAgICAgICAgdGV4dCBydW4gYXQg
KC0xMjMsLTE0KSB3aWR0aCAyNDc6ICJUZXh0IG9uIFBhdGggd2l0aCBmb3IgdGV4dCB3aXRoIGFu
ICd4JyIKKyAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6
ZSAweDAKKyAgICAgICAgUmVuZGVyUGF0aCB7cGF0aH0gYXQgKDk5LjUwLC0xMjUuNjcpIHNpemUg
MTQxeDEyNS42NyBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwRkZdfV0gW2RhdGE9
Ik0xMDAuMDAsMC4wMEMxMDAuMDAsLTEyNS4wMCwyNDAuMDAsLTEyNS4wMCwyNDAuMDAsMC4wMCJd
CisgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgyOS41MCw0OS41MCkgc2l6ZSAzOTF4
MTQxIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDQwLjAwLDE4NS4w
MCl9XQorICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjkuNTAsNDkuNTApIHNpemUgMzkx
eDIxIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9
U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJNLTEwLjAwLC0xMzUuMDBMMzgwLjAwLC0x
MzUuMDBMMzgwLjAwLC0xMTUuMDBMLTEwLjAwLC0xMTUuMDAiXQorICAgICAgICBSZW5kZXJQYXRo
IHtyZWN0fSBhdCAoMjkuNTAsNjkuNTApIHNpemUgMzkxeDEyMSBbc3Ryb2tlPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGRkZGRl19
XSBbZGF0YT0iTS0xMC4wMCwtMTE1LjAwTDM4MC4wMCwtMTE1LjAwTDM4MC4wMCw1LjAwTC0xMC4w
MCw1LjAwIl0KKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKC0xMCwtMTIwKSBzaXpl
IDgwMHgwIFtjb2xvcj0jRkZGRkZGXQorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoMCwtMTMpIHNpemUgMjMweDE3CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwt
MTMpIHdpZHRoIDIzMDogIlRleHQgd2l0aCBvbmUgdGV4dFBhdGggY2hpbGQgYW5kIHg9XCIxMFwi
IgorICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDEzOS41MCw1OS4zMykgc2l6
ZSAxNDF4MTI1LjY3CisgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTM5LjUw
LDU5LjMzKSBzaXplIDE0MXgxMjUuNjcKKyAgICAgICAgICAgIFJlbmRlclBhdGgge3BhdGh9IGF0
ICgxMzkuNTAsNTkuMzMpIHNpemUgMTQxeDEyNS42NyBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2Nv
bG9yPSMwMDAwRkZdfV0gW2RhdGE9Ik0xMDAuMDAsMC4wMEMxMDAuMDAsLTEyNS4wMCwyNDAuMDAs
LTEyNS4wMCwyNDAuMDAsMC4wMCJdCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgx
MCwwKSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dFBhdGgge3RleHRQYXRofSBh
dCAoMCwwKSBzaXplIDEzM3g4MCBbY29sb3I9I0RDMTQzQ10KKyAgICAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoOTUsLTEwNykgc2l6ZSAxMzJ4ODAKKyAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDk1LC0xMDcpIHdpZHRoIDEzMjogIlRleHQgb24gYSBwYXRoIGZvciB0
ZXh0IHcvICd4Jy4iCisgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgyOS41MCwxOTQu
NTApIHNpemUgMzkxeDE0MSBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0
PSg0MC4wMCwzMzAuMDApfV0KKyAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDI5LjUwLDE5
NC41MCkgc2l6ZSAzOTF4MjEgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1d
IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0tMTAuMDAsLTEz
NS4wMEwzODAuMDAsLTEzNS4wMEwzODAuMDAsLTExNS4wMEwtMTAuMDAsLTExNS4wMCJdCisgICAg
ICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyOS41MCwyMTQuNTApIHNpemUgMzkxeDEyMSBbc3Ry
b2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBb
Y29sb3I9I0ZGRkZGRl19XSBbZGF0YT0iTS0xMC4wMCwtMTE1LjAwTDM4MC4wMCwtMTE1LjAwTDM4
MC4wMCw1LjAwTC0xMC4wMCw1LjAwIl0KKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQg
KC0xMCwtMTIwKSBzaXplIDgwMHgwIFtjb2xvcj0jRkZGRkZGXQorICAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTMpIHNpemUgMjM3eDE3CisgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwtMTMpIHdpZHRoIDIzNzogIlRleHQgd2l0aCBvbmUgdGV4dFBhdGggY2hp
bGQgYW5kIHg9XCIxMDBcIiIKKyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgx
MzkuNTAsMjA0LjMzKSBzaXplIDE0MXgxMjUuNjcKKyAgICAgICAgICBSZW5kZXJTVkdDb250YWlu
ZXIge2d9IGF0ICgxMzkuNTAsMjA0LjMzKSBzaXplIDE0MXgxMjUuNjcKKyAgICAgICAgICAgIFJl
bmRlclBhdGgge3BhdGh9IGF0ICgxMzkuNTAsMjA0LjMzKSBzaXplIDE0MXgxMjUuNjcgW3N0cm9r
ZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMEZGXX1dIFtkYXRhPSJNMTAwLjAwLDAuMDBDMTAw
LjAwLC0xMjUuMDAsMjQwLjAwLC0xMjUuMDAsMjQwLjAwLDAuMDAiXQorICAgICAgICBSZW5kZXJT
VkdUZXh0IHt0ZXh0fSBhdCAoMTAwLDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdU
ZXh0UGF0aCB7dGV4dFBhdGh9IGF0ICgwLDApIHNpemUgMTI0eDEwNyBbY29sb3I9I0RDMTQzQ10K
KyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoNzgsLTEwNikgc2l6
ZSAxMjR4MTA3CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg3OCwtMTA2KSB3aWR0aCAxMjQ6
ICJUZXh0IG9uIGEgcGF0aCBmb3IgdGV4dCB3LyAneCcuIgorICAgICAgUmVuZGVyU1ZHQ29udGFp
bmVyIHtnfSBhdCAoLTY1LDMzOS41MCkgc2l6ZSA0ODUuNTB4MTQxIFt0cmFuc2Zvcm09e209KCgx
LjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDQwLjAwLDQ3NS4wMCl9XQorICAgICAgICBSZW5kZXJQ
YXRoIHtyZWN0fSBhdCAoMjkuNTAsMzM5LjUwKSBzaXplIDM5MXgyMSBbc3Ryb2tlPXtbdHlwZT1T
T0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAw
MF19XSBbZGF0YT0iTS0xMC4wMCwtMTM1LjAwTDM4MC4wMCwtMTM1LjAwTDM4MC4wMCwtMTE1LjAw
TC0xMC4wMCwtMTE1LjAwIl0KKyAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDI5LjUwLDM1
OS41MCkgc2l6ZSAzOTF4MTIxIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19
XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZGRkZGXX1dIFtkYXRhPSJNLTEwLjAwLC0x
MTUuMDBMMzgwLjAwLC0xMTUuMDBMMzgwLjAwLDUuMDBMLTEwLjAwLDUuMDAiXQorICAgICAgICBS
ZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoLTEwLC0xMjApIHNpemUgODAweDAgW2NvbG9yPSNGRkZG
RkZdCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xMykgc2l6
ZSAyODd4MTcKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xMykgd2lkdGggMjg3OiAiVGV4
dCB3aXRoIG9uZSB0ZXh0UGF0aCBjaGlsZCBhbmQgeD1cIi0xMDBcIiB5PVwiMTBcIiIKKyAgICAg
ICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgxMzkuNTAsMzQ5LjMzKSBzaXplIDE0MXgx
MjUuNjcKKyAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxMzkuNTAsMzQ5LjMz
KSBzaXplIDE0MXgxMjUuNjcKKyAgICAgICAgICAgIFJlbmRlclBhdGgge3BhdGh9IGF0ICgxMzku
NTAsMzQ5LjMzKSBzaXplIDE0MXgxMjUuNjcgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0j
MDAwMEZGXX1dIFtkYXRhPSJNMTAwLjAwLDAuMDBDMTAwLjAwLC0xMjUuMDAsMjQwLjAwLC0xMjUu
MDAsMjQwLjAwLDAuMDAiXQorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoLTEwMCwx
MCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR1RleHRQYXRoIHt0ZXh0UGF0aH0gYXQg
KDAsMCkgc2l6ZSAzMzV4MTExIFtjb2xvcj0jREMxNDNDXQorICAgICAgICAgICAgUmVuZGVyU1ZH
SW5saW5lVGV4dCB7I3RleHR9IGF0ICgtNSwtMjUpIHNpemUgMjA3eDE5CisgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgtNSwtMjUpIHdpZHRoIDIwNzogIlRleHQgb24gYSAiCisgICAgICAgICAg
ICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgOTl4NTgKKyAgICAgICAgICAg
ICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgyMzEsLTExNykgc2l6ZSA5OXg1Nwor
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMzEsLTExNykgd2lkdGggOTk6ICJwYXRoIGZv
ciB0ZXh0IHcvICd4Jy4iCkluZGV4OiBzdmcvYmF0aWsvdGV4dC90ZXh0T25QYXRoMy5zdmcKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gc3ZnL2JhdGlrL3RleHQvdGV4dE9uUGF0aDMuc3ZnCShyZXZpc2lvbiAwKQor
Kysgc3ZnL2JhdGlrL3RleHQvdGV4dE9uUGF0aDMuc3ZnCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDgyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+Cis8IURPQ1RZUEUg
c3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMC8vRU4iCisiaHR0cDovL3d3dy53My5vcmcv
VFIvMjAwMS9SRUMtU1ZHLTIwMDEwOTA0L0RURC9zdmcxMC5kdGQiPgorCis8IS0tCisKKyAgIENv
cHlyaWdodCAyMDAzICBUaGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gCisKKyAgIExpY2Vu
c2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIp
OworICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRo
IHRoZSBMaWNlbnNlLgorICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0
CisKKyAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKwor
ICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0
aW5nLCBzb2Z0d2FyZQorICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJp
YnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05E
SVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICAgU2VlIHRo
ZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25z
IGFuZAorICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKy0tPgorPD94bWwtc3R5
bGVzaGVldCB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vcmVzb3VyY2VzL3Rlc3QuY3NzIiA/PiAg
CisKKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAKKyAgICAgeG1sbnM6
eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiCisgICAgIGlkPSJib2R5IiB3aWR0
aD0iNDUwIiBoZWlnaHQ9IjUwMCIgdmlld0JveD0iMCAwIDQ1MCA1MDAiPgorCisgICA8dGl0bGU+
VGV4dCBvbiBQYXRoIHdpdGggZm9yIHRleHQgd2l0aCBhbiAneCc8L3RpdGxlPgorICAgPHRleHQg
Y2xhc3M9InRpdGxlIiB4PSI1MCUiIHk9IjQwIgorICAgID5UZXh0IG9uIFBhdGggd2l0aCBmb3Ig
dGV4dCB3aXRoIGFuICd4JzwvdGV4dD4KKworICAgPGRlZnM+CisgICAgICA8cGF0aCBpZD0icGF0
aCIgc3R5bGU9ImZpbGw6bm9uZTsgc3Ryb2tlOmJsdWU7IiAKKyAgICAgICAgICAgIGQ9Ik0xMDAg
MCBjMCAtMTI1IDE0MCAtMTI1IDE0MCAwIi8+CisgICA8L2RlZnM+CisKKyAgIDxnIHRyYW5zZm9y
bT0idHJhbnNsYXRlKDQwLCAxODUpIiA+CisgICAgICA8cmVjdCBmaWxsPSJibGFjayIgc3Ryb2tl
PSJibGFjayIgeD0iLTEwIiB5PSItMTM1IiAKKwkgICAgd2lkdGg9IjM5MCIgaGVpZ2h0PSIyMCIv
PgorICAgICAgPHJlY3QgZmlsbD0id2hpdGUiIHN0cm9rZT0iYmxhY2siIHg9Ii0xMCIgeT0iLTEx
NSIgCisJICAgIHdpZHRoPSIzOTAiIGhlaWdodD0iMTIwIi8+CisgICAgICA8dGV4dCB4PSItMTAi
IHk9Ii0xMjAiIGZpbGw9IndoaXRlIiBmb250LXNpemU9IjE0IgorICAgICAgID5UZXh0IHdpdGgg
b25lIHRleHRQYXRoIGNoaWxkIGFuZCB4PSIxMCI8L3RleHQ+CisKKyAgICAgIDx1c2UgeGxpbms6
aHJlZj0iI3BhdGgiIC8+CisgICAgICA8dGV4dCB4PSIxMCIgeT0iMCIgZmlsbD0iYmxhY2siPjx0
ZXh0UGF0aCAKKyAgICAgICAgICBmaWxsPSJjcmltc29uIiB4bGluazpocmVmPSIjcGF0aCIgc3Rh
cnRPZmZzZXQ9IjUwJSIKKyAgICAgICAgICB0ZXh0LWFuY2hvcj0ibWlkZGxlIj5UZXh0IG9uIGEg
cGF0aCBmb3IgdGV4dCB3LyAneCcuPC90ZXh0UGF0aAorCT48L3RleHQ+CisgIDwvZz4KKworICAg
PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDAsIDMzMCkiID4KKyAgICAgIDxyZWN0IGZpbGw9ImJs
YWNrIiBzdHJva2U9ImJsYWNrIiB4PSItMTAiIHk9Ii0xMzUiIAorCSAgICB3aWR0aD0iMzkwIiBo
ZWlnaHQ9IjIwIi8+CisgICAgICA8cmVjdCBmaWxsPSJ3aGl0ZSIgc3Ryb2tlPSJibGFjayIgeD0i
LTEwIiB5PSItMTE1IiAKKwkgICAgd2lkdGg9IjM5MCIgaGVpZ2h0PSIxMjAiLz4KKyAgICAgIDx0
ZXh0IHg9Ii0xMCIgeT0iLTEyMCIgZmlsbD0id2hpdGUiIGZvbnQtc2l6ZT0iMTQiCisgICAgICAg
PlRleHQgd2l0aCBvbmUgdGV4dFBhdGggY2hpbGQgYW5kIHg9IjEwMCI8L3RleHQ+CisKKyAgICAg
IDx1c2UgeGxpbms6aHJlZj0iI3BhdGgiIC8+CisgICAgICA8dGV4dCB4PSIxMDAiIHk9IjAiIGZp
bGw9ImJsYWNrIj48dGV4dFBhdGggCisgICAgICAgICAgZmlsbD0iY3JpbXNvbiIgeGxpbms6aHJl
Zj0iI3BhdGgiIHN0YXJ0T2Zmc2V0PSI1MCUiCisgICAgICAgICAgdGV4dC1hbmNob3I9Im1pZGRs
ZSI+VGV4dCBvbiBhIHBhdGggZm9yIHRleHQgdy8gJ3gnLjwvdGV4dFBhdGgKKwk+PC90ZXh0Pgor
ICA8L2c+CisKKyAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQwLCA0NzUpIiA+CisgICAgICA8
cmVjdCBmaWxsPSJibGFjayIgc3Ryb2tlPSJibGFjayIgeD0iLTEwIiB5PSItMTM1IiAKKwkgICAg
d2lkdGg9IjM5MCIgaGVpZ2h0PSIyMCIvPgorICAgICAgPHJlY3QgZmlsbD0id2hpdGUiIHN0cm9r
ZT0iYmxhY2siIHg9Ii0xMCIgeT0iLTExNSIgCisJICAgIHdpZHRoPSIzOTAiIGhlaWdodD0iMTIw
Ii8+CisgICAgICA8dGV4dCB4PSItMTAiIHk9Ii0xMjAiIGZpbGw9IndoaXRlIiBmb250LXNpemU9
IjE0IgorICAgICAgID5UZXh0IHdpdGggb25lIHRleHRQYXRoIGNoaWxkIGFuZCB4PSItMTAwIiB5
PSIxMCI8L3RleHQ+CisKKyAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgiIC8+CisgICAgICA8
dGV4dCB4PSItMTAwIiB5PSIxMCIgZmlsbD0iYmxhY2siPjx0ZXh0UGF0aCAKKyAgICAgICAgICBm
aWxsPSJjcmltc29uIiB4bGluazpocmVmPSIjcGF0aCIgc3RhcnRPZmZzZXQ9IjUwJSIKKyAgICAg
ICAgICB0ZXh0LWFuY2hvcj0ibWlkZGxlIj5UZXh0IG9uIGEgPHRzcGFuIHg9IjUwIgorICAgICAg
ICAgID5wYXRoIGZvciB0ZXh0IHcvICd4Jy48L3RzcGFuPjwvdGV4dFBhdGgKKwk+PC90ZXh0Pgor
ICA8L2c+Cis8L3N2Zz4KClByb3BlcnR5IGNoYW5nZXMgb246IHN2Zy9iYXRpay90ZXh0L3RleHRP
blBhdGgzLnN2ZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjpleGVjdXRhYmxlCiAgICsgKgoKSW5kZXg6
IHN2Zy9iYXRpay90ZXh0L3RleHRPblBhdGgtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gc3ZnL2JhdGlrL3RleHQvdGV4dE9uUGF0aC1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24g
MCkKKysrIHN2Zy9iYXRpay90ZXh0L3RleHRPblBhdGgtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEgQEAKK2Q4MGNlZDlmZTE3MGEzZTA4ZmMyZjI5NGZjNzY0OGExClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogc3ZnL2JhdGlrL3RleHQvdGV4dE9uUGF0
aC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3ZnL2JhdGlrL3RleHQvdGV4dE9uUGF0aC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBzdmcvYmF0aWsvdGV4dC90ZXh0T25QYXRoLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNTcgQEAKK2xheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJl
bmRlclNWR0NvbnRhaW5lciB7c3ZnfSBhdCAoMjQsMjYpIHNpemUgNDAweDQxNworICAgICAgUmVu
ZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjQsMjYpIHNpemUgNDAweDQxNworICAgICAgICBSZW5k
ZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjI1LDQwKSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVy
U1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgtNjUsLTE0KSBzaXplIDEzMHgxNworICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKC02NSwtMTQpIHdpZHRoIDEzMDogIlRleHQgb24gYSBwYXRoIHRlc3Qi
CisgICAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAw
eDAKKyAgICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMTQuOTUsNy4wNCkgc2l6ZSAxMjAu
MDV4MzAuOTEgW3RyYW5zZm9ybT17bT0oKDAuMTUsMC4wMCkoMC4wMCwwLjE1KSkgdD0oMC4wMCww
LjAwKX1dIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDBGRl19XSBbZGF0YT0iTTEw
MC4wMCwyMDAuMDBDMjAwLjAwLDEwMC4wMCwzMDAuMDAsMC4wMCw0MDAuMDAsMTAwLjAwQzUwMC4w
MCwyMDAuMDAsNjAwLjAwLDMwMC4wMCw3MDAuMDAsMjAwLjAwQzgwMC4wMCwxMDAuMDAsOTAwLjAw
LDEwMC4wMCw5MDAuMDAsMTAwLjAwIl0KKyAgICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAo
MjkuODUsMTIuMjUpIHNpemUgOTAuMzB4MzcuNzUgW3RyYW5zZm9ybT17bT0oKDAuMzAsMC4wMCko
MC4wMCwwLjUwKSkgdD0oMC4wMCwwLjAwKX1dIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9
IzAwMDBGRl19XSBbZGF0YT0iTTEwMC4wMCwxMDAuMDBDMTAwLjAwLDAuMDAsNDAwLjAwLDAuMDAs
NDAwLjAwLDEwMC4wMCJdCisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDI0LDU1
KSBzaXplIDk2LjMweDg4IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9
KDAuMDAsNzAuMDApfV0KKyAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDI5
LjcwLDcwLjY3KSBzaXplIDkwLjYweDQ5LjMzCisgICAgICAgICAgICBSZW5kZXJTVkdDb250YWlu
ZXIge2d9IGF0ICgyOS43MCw3MC42Nykgc2l6ZSA5MC42MHg0OS4zMworICAgICAgICAgICAgICBS
ZW5kZXJQYXRoIHtwYXRofSBhdCAoMjkuNzAsNzAuNjcpIHNpemUgOTAuNjB4NDkuMzMgW3RyYW5z
Zm9ybT17bT0oKDAuMzAsMC4wMCkoMC4wMCwwLjUwKSkgdD0oMC4wMCwwLjAwKX1dIFtzdHJva2U9
e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDBGRl0gW3N0cm9rZSB3aWR0aD0yLjAwXX1dIFtkYXRh
PSJNMTAwLjAwLDEwMC4wMEMxMDAuMDAsMC4wMCw0MDAuMDAsMC4wMCw0MDAuMDAsMTAwLjAwIl0K
KyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwwKSBzaXplIDgwMHgwCisgICAg
ICAgICAgICBSZW5kZXJTVkdUZXh0UGF0aCB7dGV4dFBhdGh9IGF0ICgwLDApIHNpemUgOTZ4NjQK
KyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgyNCwwKSBzaXpl
IDI3eDQ4CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI0LDApIHdpZHRoIDI3OiAiVGV4
dCAiCisgICAgICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAy
MHgyNSBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0
IHsjdGV4dH0gYXQgKDUxLC0xNCkgc2l6ZSAxOXgyNQorICAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDUxLC0xNCkgd2lkdGggMTk6ICJvbiIKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVFNw
YW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDQ5eDQyCisgICAgICAgICAgICAgICAgUmVuZGVyU1ZH
SW5saW5lVGV4dCB7I3RleHR9IGF0ICg3MSwtNSkgc2l6ZSA0OHg0MgorICAgICAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDcxLC01KSB3aWR0aCA0ODogIiBhIFBhdGgiCisgICAgICAgICAgICBS
ZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBS
ZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMzUsNjApIHNpemUgODAweDAKKyAgICAgICAgICAgIFJl
bmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTApIHNpemUgNjh4MTMKKyAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsLTEwKSB3aWR0aCA2ODogInN0YXJ0T2Zmc2V0PVwiMCVcIiIK
KyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMzUsNzApIHNpemUgODAweDAKKyAg
ICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTApIHNpemUgNzV4
MTMKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTEwKSB3aWR0aCA3NTogInRleHQtYW5j
aG9yPVwic3RhcnRcIiIKKyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTQ0LDQy
KSBzaXplIDEyN3gxMDEgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0o
MTUwLjAwLDcwLjAwKX1dCisgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgx
NzkuNzAsNzAuNjcpIHNpemUgOTAuNjB4NDkuMzMKKyAgICAgICAgICAgIFJlbmRlclNWR0NvbnRh
aW5lciB7Z30gYXQgKDE3OS43MCw3MC42Nykgc2l6ZSA5MC42MHg0OS4zMworICAgICAgICAgICAg
ICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMTc5LjcwLDcwLjY3KSBzaXplIDkwLjYweDQ5LjMzIFt0
cmFuc2Zvcm09e209KCgwLjMwLDAuMDApKDAuMDAsMC41MCkpIHQ9KDAuMDAsMC4wMCl9XSBbc3Ry
b2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwRkZdIFtzdHJva2Ugd2lkdGg9Mi4wMF19XSBb
ZGF0YT0iTTEwMC4wMCwxMDAuMDBDMTAwLjAwLDAuMDAsNDAwLjAwLDAuMDAsNDAwLjAwLDEwMC4w
MCJdCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAor
ICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dFBhdGgge3RleHRQYXRofSBhdCAoMCwwKSBzaXplIDc0
eDc3CisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTYsLTE4
KSBzaXplIDQ1eDIzCisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKC02LC0xOCkgd2lkdGgg
NDU6ICJUZXh0ICIKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCww
KSBzaXplIDIweDIzIFtjb2xvcj0jRkYwMDAwXQorICAgICAgICAgICAgICAgIFJlbmRlclNWR0lu
bGluZVRleHQgeyN0ZXh0fSBhdCAoMzcsLTI4KSBzaXplIDIweDIzCisgICAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMzcsLTI4KSB3aWR0aCAyMDogIm9uIgorICAgICAgICAgICAgICBSZW5k
ZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgNDF4NTQKKyAgICAgICAgICAgICAgICBS
ZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDI3LC00KSBzaXplIDQweDUzCisgICAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjcsLTQpIHdpZHRoIDQwOiAiIGEgUGF0aCIKKyAgICAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAg
ICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzNSw2MCkgc2l6ZSA4MDB4MAorICAgICAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xMCkgc2l6ZSA2OHgxMwor
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTApIHdpZHRoIDY4OiAic3RhcnRPZmZzZXQ9
XCIwJVwiIgorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzNSw3MCkgc2l6ZSA4
MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xMCkg
c2l6ZSA4NngxMworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTApIHdpZHRoIDg2OiAi
dGV4dC1hbmNob3I9XCJtaWRkbGVcIiIKKyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBh
dCAoMjk0LDQyKSBzaXplIDEyNi4zMHgxMDEgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4w
MCwxLjAwKSkgdD0oMzAwLjAwLDcwLjAwKX1dCisgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVy
IHt1c2V9IGF0ICgzMjkuNzAsNzAuNjcpIHNpemUgOTAuNjB4NDkuMzMKKyAgICAgICAgICAgIFJl
bmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDMyOS43MCw3MC42Nykgc2l6ZSA5MC42MHg0OS4zMwor
ICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMzI5LjcwLDcwLjY3KSBzaXplIDkw
LjYweDQ5LjMzIFt0cmFuc2Zvcm09e209KCgwLjMwLDAuMDApKDAuMDAsMC41MCkpIHQ9KDAuMDAs
MC4wMCl9XSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwRkZdIFtzdHJva2Ugd2lk
dGg9Mi4wMF19XSBbZGF0YT0iTTEwMC4wMCwxMDAuMDBDMTAwLjAwLDAuMDAsNDAwLjAwLDAuMDAs
NDAwLjAwLDEwMC4wMCJdCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkg
c2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dFBhdGgge3RleHRQYXRofSBhdCAo
MCwwKSBzaXplIDgxeDcwCisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoLTYsLTE4KSBzaXplIDQ1eDIzCisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKC02
LC0xOCkgd2lkdGggNDU6ICJUZXh0ICIKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3Rz
cGFufSBhdCAoMCwwKSBzaXplIDIyeDY3IFtjb2xvcj0jRkYwMDAwXQorICAgICAgICAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMjUsLTI4KSBzaXplIDIxeDY3CisgICAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjUsLTI4KSB3aWR0aCAyMTogIm9uIgorICAgICAg
ICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgNDZ4NDgKKyAgICAg
ICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDI5LC01KSBzaXplIDQ1
eDQ3CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjksLTUpIHdpZHRoIDQ1OiAiIGEg
UGF0aCIKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDB4MAorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzNSw2MCkgc2l6ZSA4
MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xMCkg
c2l6ZSA3M3gxMworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTApIHdpZHRoIDczOiAi
c3RhcnRPZmZzZXQ9XCI1MCVcIiIKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAo
MzUsNzApIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoMCwtMTApIHNpemUgNzJ4MTMKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTEw
KSB3aWR0aCA3MjogInRleHQtYW5jaG9yPVwiZW5kXCIiCisgICAgICAgIFJlbmRlclNWR0NvbnRh
aW5lciB7Z30gYXQgKDI5LjcwLDE2NCkgc2l6ZSAxMzkuMzB4NzkgW3RyYW5zZm9ybT17bT0oKDEu
MDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMC4wMCwxNzAuMDApfV0KKyAgICAgICAgICBSZW5kZXJT
VkdDb250YWluZXIge3VzZX0gYXQgKDI5LjcwLDE3MC42Nykgc2l6ZSA5MC42MHg0OS4zMworICAg
ICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjkuNzAsMTcwLjY3KSBzaXplIDkw
LjYweDQ5LjMzCisgICAgICAgICAgICAgIFJlbmRlclBhdGgge3BhdGh9IGF0ICgyOS43MCwxNzAu
NjcpIHNpemUgOTAuNjB4NDkuMzMgW3RyYW5zZm9ybT17bT0oKDAuMzAsMC4wMCkoMC4wMCwwLjUw
KSkgdD0oMC4wMCwwLjAwKX1dIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDBGRl0g
W3N0cm9rZSB3aWR0aD0yLjAwXX1dIFtkYXRhPSJNMTAwLjAwLDEwMC4wMEMxMDAuMDAsMC4wMCw0
MDAuMDAsMC4wMCw0MDAuMDAsMTAwLjAwIl0KKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0
fSBhdCAoMCwwKSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdUZXh0UGF0aCB7dGV4
dFBhdGh9IGF0ICgwLDApIHNpemUgOTV4NTkKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5l
VGV4dCB7I3RleHR9IGF0ICg3NCwtNSkgc2l6ZSAzOHgzNgorICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICg3NCwtNSkgd2lkdGggMzg6ICJUZXh0ICIKKyAgICAgICAgICAgICAgUmVuZGVyU1ZH
VFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDE0eDMyIFtjb2xvcj0jRkYwMDAwXQorICAgICAg
ICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMTEwLDQpIHNpemUgMTN4
MzIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMTAsNCkgd2lkdGggMTM6ICJvbiIK
KyAgICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDUyeDIz
CisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgxMTcsMzAp
IHNpemUgNTJ4MjMKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMTcsMzApIHdpZHRo
IDUyOiAiIGEgUGF0aCIKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzNSw2
MCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgwLC0xMCkgc2l6ZSA3M3gxMworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTApIHdp
ZHRoIDczOiAic3RhcnRPZmZzZXQ9XCI1MCVcIiIKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0
ZXh0fSBhdCAoMzUsNzApIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoMCwtMTApIHNpemUgNzV4MTMKKyAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsLTEwKSB3aWR0aCA3NTogInRleHQtYW5jaG9yPVwic3RhcnRcIiIKKyAgICAgICAgUmVu
ZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTc2LDE1NCkgc2l6ZSA5N3g4OSBbdHJhbnNmb3JtPXtt
PSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgxNTAuMDAsMTcwLjAwKX1dCisgICAgICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgxNzkuNzAsMTcwLjY3KSBzaXplIDkwLjYweDQ5
LjMzCisgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxNzkuNzAsMTcwLjY3
KSBzaXplIDkwLjYweDQ5LjMzCisgICAgICAgICAgICAgIFJlbmRlclBhdGgge3BhdGh9IGF0ICgx
NzkuNzAsMTcwLjY3KSBzaXplIDkwLjYweDQ5LjMzIFt0cmFuc2Zvcm09e209KCgwLjMwLDAuMDAp
KDAuMDAsMC41MCkpIHQ9KDAuMDAsMC4wMCl9XSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9y
PSMwMDAwRkZdIFtzdHJva2Ugd2lkdGg9Mi4wMF19XSBbZGF0YT0iTTEwMC4wMCwxMDAuMDBDMTAw
LjAwLDAuMDAsNDAwLjAwLDAuMDAsNDAwLjAwLDEwMC4wMCJdCisgICAgICAgICAgUmVuZGVyU1ZH
VGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHVGV4
dFBhdGgge3RleHRQYXRofSBhdCAoMCwwKSBzaXplIDk3eDU5CisgICAgICAgICAgICAgIFJlbmRl
clNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMjYsLTIpIHNpemUgMzJ4NDQKKyAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMjYsLTIpIHdpZHRoIDMyOiAiVGV4dCAiCisgICAgICAgICAgICAg
IFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAyMHgyNCBbY29sb3I9I0ZGMDAw
MF0KKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDU4LC0x
NSkgc2l6ZSAxOXgyNAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDU4LC0xNSkgd2lk
dGggMTk6ICJvbiIKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCww
KSBzaXplIDQ1eDQ5CisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICg3OCwtNSkgc2l6ZSA0NHg0OAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDc4
LC01KSB3aWR0aCA0NDogIiBhIFBhdGgiCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0
fSBhdCAoMzUsNjApIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQg
eyN0ZXh0fSBhdCAoMCwtMTApIHNpemUgNzN4MTMKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsLTEwKSB3aWR0aCA3MzogInN0YXJ0T2Zmc2V0PVwiNTAlXCIiCisgICAgICAgICAgUmVuZGVy
U1ZHVGV4dCB7dGV4dH0gYXQgKDM1LDcwKSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEwKSBzaXplIDg2eDEzCisgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLC0xMCkgd2lkdGggODY6ICJ0ZXh0LWFuY2hvcj1cIm1pZGRsZVwiIgor
ICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgzMjksMTU0KSBzaXplIDk1eDg5IFt0
cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDMwMC4wMCwxNzAuMDApfV0K
KyAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDMyOS43MCwxNzAuNjcpIHNp
emUgOTAuNjB4NDkuMzMKKyAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDMy
OS43MCwxNzAuNjcpIHNpemUgOTAuNjB4NDkuMzMKKyAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7
cGF0aH0gYXQgKDMyOS43MCwxNzAuNjcpIHNpemUgOTAuNjB4NDkuMzMgW3RyYW5zZm9ybT17bT0o
KDAuMzAsMC4wMCkoMC4wMCwwLjUwKSkgdD0oMC4wMCwwLjAwKX1dIFtzdHJva2U9e1t0eXBlPVNP
TElEXSBbY29sb3I9IzAwMDBGRl0gW3N0cm9rZSB3aWR0aD0yLjAwXX1dIFtkYXRhPSJNMTAwLjAw
LDEwMC4wMEMxMDAuMDAsMC4wMCw0MDAuMDAsMC4wMCw0MDAuMDAsMTAwLjAwIl0KKyAgICAgICAg
ICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwwKSBzaXplIDgwMHgwCisgICAgICAgICAgICBS
ZW5kZXJTVkdUZXh0UGF0aCB7dGV4dFBhdGh9IGF0ICgwLDApIHNpemUgOTV4NjYKKyAgICAgICAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgyOSwtNCkgc2l6ZSAzNng0MAor
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyOSwtNCkgd2lkdGggMzY6ICJUZXh0ICIKKyAg
ICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDIweDIzIFtj
b2xvcj0jRkYwMDAwXQorICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoNjUsLTE1KSBzaXplIDE5eDIzCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
NjUsLTE1KSB3aWR0aCAxOTogIm9uIgorICAgICAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNw
YW59IGF0ICgwLDApIHNpemUgMzl4NTUKKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDg1LC00KSBzaXplIDM5eDU0CisgICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoODUsLTQpIHdpZHRoIDM5OiAiIGEgUGF0aCIKKyAgICAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJlbmRlclNW
R1RleHQge3RleHR9IGF0ICgzNSw2MCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZH
SW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xMCkgc2l6ZSA3OHgxMworICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwtMTApIHdpZHRoIDc4OiAic3RhcnRPZmZzZXQ9XCIxMDAlXCIiCisgICAg
ICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDM1LDcwKSBzaXplIDgwMHgwCisgICAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEwKSBzaXplIDcyeDEzCisg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xMCkgd2lkdGggNzI6ICJ0ZXh0LWFuY2hvcj1c
ImVuZFwiIgorICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgyOS43MCwyNTYpIHNp
emUgMTE5LjMweDg3IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDAu
MDAsMjcwLjAwKX1dCisgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgyOS43
MCwyNzAuNjcpIHNpemUgOTAuNjB4NDkuMzMKKyAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5l
ciB7Z30gYXQgKDI5LjcwLDI3MC42Nykgc2l6ZSA5MC42MHg0OS4zMworICAgICAgICAgICAgICBS
ZW5kZXJQYXRoIHtwYXRofSBhdCAoMjkuNzAsMjcwLjY3KSBzaXplIDkwLjYweDQ5LjMzIFt0cmFu
c2Zvcm09e209KCgwLjMwLDAuMDApKDAuMDAsMC41MCkpIHQ9KDAuMDAsMC4wMCl9XSBbc3Ryb2tl
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwRkZdIFtzdHJva2Ugd2lkdGg9Mi4wMF19XSBbZGF0
YT0iTTEwMC4wMCwxMDAuMDBDMTAwLjAwLDAuMDAsNDAwLjAwLDAuMDAsNDAwLjAwLDEwMC4wMCJd
CisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAorICAg
ICAgICAgICAgUmVuZGVyU1ZHVGV4dFBhdGgge3RleHRQYXRofSBhdCAoMCwwKSBzaXplIDEwNHg1
OQorICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDQ1LC01KSBz
aXplIDQxeDI4CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ1LC01KSB3aWR0aCA0MTog
IlRleHQgIgorICAgICAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNp
emUgMTl4MjcgW2NvbG9yPSNGRjAwMDBdCisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5l
VGV4dCB7I3RleHR9IGF0ICg4NiwtMTMpIHNpemUgMTl4MjYKKyAgICAgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICg4NiwtMTMpIHdpZHRoIDE5OiAib24iCisgICAgICAgICAgICAgIFJlbmRlclNW
R1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSA0NXg0MQorICAgICAgICAgICAgICAgIFJlbmRl
clNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMTA0LDQpIHNpemUgNDV4NDAKKyAgICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgxMDQsNCkgd2lkdGggNDU6ICIgYSBQYXRoIgorICAgICAgICAg
ICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAg
ICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDM1LDYwKSBzaXplIDgwMHgwCisgICAgICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEwKSBzaXplIDY1eDEzCisgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xMCkgd2lkdGggNjU6ICJzdGFydE9mZnNldD1cIjM1
XCIiCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDM1LDcwKSBzaXplIDgwMHgw
CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEwKSBzaXpl
IDc1eDEzCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xMCkgd2lkdGggNzU6ICJ0ZXh0
LWFuY2hvcj1cInN0YXJ0XCIiCisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDE0
NCwyNTIpIHNpemUgMTI3eDkxIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkp
IHQ9KDE1MC4wMCwyNzAuMDApfV0KKyAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0g
YXQgKDE3OS43MCwyNzAuNjcpIHNpemUgOTAuNjB4NDkuMzMKKyAgICAgICAgICAgIFJlbmRlclNW
R0NvbnRhaW5lciB7Z30gYXQgKDE3OS43MCwyNzAuNjcpIHNpemUgOTAuNjB4NDkuMzMKKyAgICAg
ICAgICAgICAgUmVuZGVyUGF0aCB7cGF0aH0gYXQgKDE3OS43MCwyNzAuNjcpIHNpemUgOTAuNjB4
NDkuMzMgW3RyYW5zZm9ybT17bT0oKDAuMzAsMC4wMCkoMC4wMCwwLjUwKSkgdD0oMC4wMCwwLjAw
KX1dIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDBGRl0gW3N0cm9rZSB3aWR0aD0y
LjAwXX1dIFtkYXRhPSJNMTAwLjAwLDEwMC4wMEMxMDAuMDAsMC4wMCw0MDAuMDAsMC4wMCw0MDAu
MDAsMTAwLjAwIl0KKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwwKSBzaXpl
IDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdUZXh0UGF0aCB7dGV4dFBhdGh9IGF0ICgwLDAp
IHNpemUgMTA4eDcwCisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoLTYsLTE4KSBzaXplIDQxeDcwCisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKC02LC0x
OCkgd2lkdGggNDE6ICJUZXh0ICIKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFu
fSBhdCAoMCwwKSBzaXplIDE3eDMwIFtjb2xvcj0jRkYwMDAwXQorICAgICAgICAgICAgICAgIFJl
bmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMzIsLTYpIHNpemUgMTd4MjkKKyAgICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgzMiwtNikgd2lkdGggMTc6ICJvbiIKKyAgICAgICAgICAg
ICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDU0eDI4CisgICAgICAgICAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg0OCwtNSkgc2l6ZSA1M3gyOAor
ICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ4LC01KSB3aWR0aCA1MzogIiBhIFBhdGgi
CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAw
eDAKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMzUsNjApIHNpemUgODAweDAK
KyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTApIHNpemUg
NjV4MTMKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTEwKSB3aWR0aCA2NTogInN0YXJ0
T2Zmc2V0PVwiMzVcIiIKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMzUsNzAp
IHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAo
MCwtMTApIHNpemUgODZ4MTMKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTEwKSB3aWR0
aCA4NjogInRleHQtYW5jaG9yPVwibWlkZGxlXCIiCisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5l
ciB7Z30gYXQgKDI5NCwyNDIpIHNpemUgMTI2LjMweDEwMSBbdHJhbnNmb3JtPXttPSgoMS4wMCww
LjAwKSgwLjAwLDEuMDApKSB0PSgzMDAuMDAsMjcwLjAwKX1dCisgICAgICAgICAgUmVuZGVyU1ZH
Q29udGFpbmVyIHt1c2V9IGF0ICgzMjkuNzAsMjcwLjY3KSBzaXplIDkwLjYweDQ5LjMzCisgICAg
ICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgzMjkuNzAsMjcwLjY3KSBzaXplIDkw
LjYweDQ5LjMzCisgICAgICAgICAgICAgIFJlbmRlclBhdGgge3BhdGh9IGF0ICgzMjkuNzAsMjcw
LjY3KSBzaXplIDkwLjYweDQ5LjMzIFt0cmFuc2Zvcm09e209KCgwLjMwLDAuMDApKDAuMDAsMC41
MCkpIHQ9KDAuMDAsMC4wMCl9XSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwRkZd
IFtzdHJva2Ugd2lkdGg9Mi4wMF19XSBbZGF0YT0iTTEwMC4wMCwxMDAuMDBDMTAwLjAwLDAuMDAs
NDAwLjAwLDAuMDAsNDAwLjAwLDEwMC4wMCJdCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4
dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dFBhdGgge3Rl
eHRQYXRofSBhdCAoMCwwKSBzaXplIDg5eDc4CisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGlu
ZVRleHQgeyN0ZXh0fSBhdCAoLTYsLTE4KSBzaXplIDQ1eDIzCisgICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKC02LC0xOCkgd2lkdGggNDU6ICJUZXh0ICIKKyAgICAgICAgICAgICAgUmVuZGVy
U1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDIweDIzIFtjb2xvcj0jRkYwMDAwXQorICAg
ICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMzcsLTI4KSBzaXpl
IDIweDIzCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzcsLTI4KSB3aWR0aCAyMDog
Im9uIgorICAgICAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUg
NTl4NjgKKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDI0
LC0xOCkgc2l6ZSA1OHg2OAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI0LC0xOCkg
d2lkdGggNTg6ICIgYSBQYXRoIgorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQg
KDM1LDYwKSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4
dH0gYXQgKDAsLTEwKSBzaXplIDY1eDEzCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0x
MCkgd2lkdGggNjU6ICJzdGFydE9mZnNldD1cIjM1XCIiCisgICAgICAgICAgUmVuZGVyU1ZHVGV4
dCB7dGV4dH0gYXQgKDM1LDcwKSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEwKSBzaXplIDcyeDEzCisgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLC0xMCkgd2lkdGggNzI6ICJ0ZXh0LWFuY2hvcj1cImVuZFwiIgorICAgICAgICBS
ZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgyNCwzNjUpIHNpemUgMTIxeDc4IFt0cmFuc2Zvcm09
e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDEwLjAwLDM3MC4wMCl9XQorICAgICAgICAg
IFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMjQuODksMzc3LjI5KSBzaXplIDEyMC4xMXgz
MC40MworICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjQuODksMzc3LjI5
KSBzaXplIDEyMC4xMXgzMC40MworICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAo
MjQuODksMzc3LjI5KSBzaXplIDEyMC4xMXgzMC40MyBbdHJhbnNmb3JtPXttPSgoMC4xNSwwLjAw
KSgwLjAwLDAuMTUpKSB0PSgwLjAwLDAuMDApfV0gW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xv
cj0jMDAwMEZGXSBbc3Ryb2tlIHdpZHRoPTIuMDBdfV0gW2RhdGE9Ik0xMDAuMDAsMjAwLjAwQzIw
MC4wMCwxMDAuMDAsMzAwLjAwLDAuMDAsNDAwLjAwLDEwMC4wMEM1MDAuMDAsMjAwLjAwLDYwMC4w
MCwzMDAuMDAsNzAwLjAwLDIwMC4wMEM4MDAuMDAsMTAwLjAwLDkwMC4wMCwxMDAuMDAsOTAwLjAw
LDEwMC4wMCJdCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4
MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dFBhdGgge3RleHRQYXRofSBhdCAoMCwwKSBz
aXplIDEwNng0NAorICAgICAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDAp
IHNpemUgMjd4MjkgW2NvbG9yPSMwMDgwMDBdCisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgxNCwtMikgc2l6ZSAyN3gyOQorICAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDE0LC0yKSB3aWR0aCAyNzogInN1cGVyIgorICAgICAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDQxLC00KSBzaXplIDI2eDI5CisgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDQxLC00KSB3aWR0aCAyNjogIiBhbmQgIgorICAgICAgICAgICAg
ICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMjB4MjEgW2NvbG9yPSNGRjAw
MDBdCisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg2Niwx
Nikgc2l6ZSAxOXgyMQorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDY2LDE2KSB3aWR0
aCAxOTogInN1YiIKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICg4NSw3KSBzaXplIDM0eDMyCisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDg1LDcpIHdp
ZHRoIDM0OiAic2NyaXB0cyIKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgy
MCw2MCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgwLC0xMCkgc2l6ZSA4OHgxMworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTAp
IHdpZHRoIDg4OiAiYmFzZWxpbmUtc2hpZnQ9XCJzdXBlclwiIgorICAgICAgICAgIFJlbmRlclNW
R1RleHQge3RleHR9IGF0ICgyMCw3MCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZH
SW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xMCkgc2l6ZSA5OHgxMworICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwtMTApIHdpZHRoIDk4OiAiYW5kIGJhc2VsaW5lLXNoaWZ0PVwic3ViXCIi
CisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDE2OCwzNjUpIHNpemUgMTIyeDY4
IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDE1NS4wMCwzNzAuMDAp
fV0KKyAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDE2OS44OSwzNzcuMjkp
IHNpemUgMTIwLjExeDMwLjQzCisgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0
ICgxNjkuODksMzc3LjI5KSBzaXplIDEyMC4xMXgzMC40MworICAgICAgICAgICAgICBSZW5kZXJQ
YXRoIHtwYXRofSBhdCAoMTY5Ljg5LDM3Ny4yOSkgc2l6ZSAxMjAuMTF4MzAuNDMgW3RyYW5zZm9y
bT17bT0oKDAuMTUsMC4wMCkoMC4wMCwwLjE1KSkgdD0oMC4wMCwwLjAwKX1dIFtzdHJva2U9e1t0
eXBlPVNPTElEXSBbY29sb3I9IzAwMDBGRl0gW3N0cm9rZSB3aWR0aD0yLjAwXX1dIFtkYXRhPSJN
MTAwLjAwLDIwMC4wMEMyMDAuMDAsMTAwLjAwLDMwMC4wMCwwLjAwLDQwMC4wMCwxMDAuMDBDNTAw
LjAwLDIwMC4wMCw2MDAuMDAsMzAwLjAwLDcwMC4wMCwyMDAuMDBDODAwLjAwLDEwMC4wMCw5MDAu
MDAsMTAwLjAwLDkwMC4wMCwxMDAuMDAiXQorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9
IGF0ICgwLDApIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR1RleHRQYXRoIHt0ZXh0
UGF0aH0gYXQgKDAsMCkgc2l6ZSAxMTJ4NDUKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4g
e3RzcGFufSBhdCAoMCwwKSBzaXplIDQzeDMzIFtjb2xvcj0jMDA4MDAwXQorICAgICAgICAgICAg
ICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMTMsLTQpIHNpemUgNDJ4MzIKKyAg
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMywtNCkgd2lkdGggNDI6ICJwb3NpdGl2ZSIK
KyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg1NSwwKSBzaXpl
IDI0eDM0CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDU1LDApIHdpZHRoIDI0OiAiIGFu
ZCAiCisgICAgICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSA0
N3gzNSBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0
IHsjdGV4dH0gYXQgKDc4LDUpIHNpemUgNDd4MzUKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICg3OCw1KSB3aWR0aCA0NzogIm5lZ2F0aXZlIgorICAgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVyU1ZHVGV4
dCB7dGV4dH0gYXQgKDIwLDYwKSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEwKSBzaXplIDk3eDEzCisgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLC0xMCkgd2lkdGggOTc6ICJiYXNlbGluZS1zaGlmdD1cIisvLTIwJVwiIgorICAg
ICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgzMTQsMzY2KSBzaXplIDEwNC41MHg2NyBb
dHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgzMDAuMDAsMzkwLjAwKX1d
CisgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMzE0LDM2Nikgc2l6ZSAxMDQu
NTB4NDkgW3RyYW5zZm9ybT17bT0oKDAuNTAsMC4wMCkoMC4wMCwwLjUwKSkgdD0oMC4wMCwwLjAw
KX1dCisgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDMxNC44NSwzOTAu
MzMpIHNpemUgNDUuMzB4MjQuNjcKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtn
fSBhdCAoMzE0Ljg1LDM5MC4zMykgc2l6ZSA0NS4zMHgyNC42NworICAgICAgICAgICAgICAgIFJl
bmRlclBhdGgge3BhdGh9IGF0ICgzMTQuODUsMzkwLjMzKSBzaXplIDQ1LjMweDI0LjY3IFt0cmFu
c2Zvcm09e209KCgwLjMwLDAuMDApKDAuMDAsMC41MCkpIHQ9KDAuMDAsMC4wMCl9XSBbc3Ryb2tl
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwRkZdIFtzdHJva2Ugd2lkdGg9Mi4wMF19XSBbZGF0
YT0iTTEwMC4wMCwxMDAuMDBDMTAwLjAwLDAuMDAsNDAwLjAwLDAuMDAsNDAwLjAwLDEwMC4wMCJd
CisgICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMzAsLTIwKSBzaXplIDgwMHgw
CisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMjgpIHNp
emUgMTQzeDM2CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTI4KSB3aWR0aCAxNDM6
ICJiZWZvcmUgcGF0aCAiCisgICAgICAgICAgICAgIFJlbmRlclNWR1RleHRQYXRoIHt0ZXh0UGF0
aH0gYXQgKDAsMCkgc2l6ZSA4Mng1NCBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgICAgICAgICBS
ZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC0xLDQpIHNpemUgODJ4NTMKKyAgICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgtMSw0KSB3aWR0aCA4MjogIm9uIHBhdGgiCisgICAgICAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoODcsMTEpIHNpemUgMTIweDM2
CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDg3LDExKSB3aWR0aCAxMjA6ICIgYWZ0ZXIg
cGF0aCIKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTUsNDApIHNpemUgODAw
eDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTApIHNp
emUgOTh4MTMKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTEwKSB3aWR0aCA5ODogInRl
eHQgYmVmb3JlL2FmdGVyIHRleHRQYXRoIgorICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9
IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBzdmcvYmF0aWsvdGV4dC90ZXh0T25QYXRoLnN2Zwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBzdmcvYmF0aWsvdGV4dC90ZXh0T25QYXRoLnN2ZwkocmV2aXNpb24gMCkK
KysrIHN2Zy9iYXRpay90ZXh0L3RleHRPblBhdGguc3ZnCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDE3MyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PgorPCFET0NUWVBF
IHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjAvL0VOIgorImh0dHA6Ly93d3cudzMub3Jn
L1RSLzIwMDEvUkVDLVNWRy0yMDAxMDkwNC9EVEQvc3ZnMTAuZHRkIj4KKworPCEtLQorCisgICBD
b3B5cmlnaHQgMjAwMSAgVGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIAorCisgICBMaWNl
bnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2Ui
KTsKKyAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0
aCB0aGUgTGljZW5zZS4KKyAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBh
dAorCisgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisK
KyAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3Jp
dGluZywgc29mdHdhcmUKKyAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3Ry
aWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09O
RElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAgIFNlZSB0
aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9u
cyBhbmQKKyAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCistLT4KKzwhLS0gPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PSAtLT4KKzwhLS0gVGVzdHMgdmFyaW91cyB0ZXh0IG9uIGEgcGF0aCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKzwhLS0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAtLT4KKzwhLS0gQGF1dGhvciBiZWxsYS5yb2JpbnNvbkBjbWlzLmNzaXJvLmF1
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKzwhLS0gQHZlcnNpb24g
JElkOiB0ZXh0T25QYXRoLnN2Zyx2IDEuNCAyMDA0LzA4LzE4IDA3OjEyOjIyIHZoYXJkeSBFeHAg
JCAgICAgICAgLS0+Cis8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cis8P3htbC1zdHlsZXNoZWV0
IHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9yZXNvdXJjZXMvdGVzdC5jc3MiID8+ICAKKworPHN2
ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8v
d3d3LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0iYm9keSIgd2lkdGg9IjQ1MCIgaGVpZ2h0PSI1MDAi
IHZpZXdCb3g9IjAgMCA0NTAgNTAwIj4KKzx0aXRsZT5UZXh0IG9uIGEgcGF0aCB0ZXN0PC90aXRs
ZT4KKworICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PCFbQ0RBVEFbCisgICAgICAgIAorICAg
IF1dPjwvc3R5bGU+CisKKyAgICA8ZyBpZD0iY29udGVudCI+CisKKyAgICAgICAgPHRleHQgY2xh
c3M9InRpdGxlIiB4PSI1MCUiIHk9IjQwIj5UZXh0IG9uIGEgcGF0aCB0ZXN0PC90ZXh0PgorCisg
ICAgICAgIDxkZWZzPgorCSAgICAgIDxwYXRoIGlkPSJQYXRoMiIgc3R5bGU9ImZpbGw6bm9uZTsg
c3Ryb2tlOmJsdWU7IiB0cmFuc2Zvcm09InNjYWxlKDAuMTUsMC4xNSkiCisgICAgICAgICAgICAg
ICAgICBkPSJNIDEwMCAyMDAgQyAyMDAgMTAwIDMwMCAwIDQwMCAxMDAgQyA1MDAgMjAwIDYwMCAz
MDAgNzAwIDIwMCBDIDgwMCAxMDAgOTAwIDEwMCA5MDAgMTAwIi8+CisgICAgICAgICAgICA8cGF0
aCBpZD0iUGF0aDEiIHN0eWxlPSJmaWxsOm5vbmU7IHN0cm9rZTpibHVlOyIgdHJhbnNmb3JtPSJz
Y2FsZSgwLjMwLDAuNTApIgorICAgICAgICAgICAgICAgICAgZD0iTSAxMDAgMTAwIEMxMDAgMCA0
MDAgMDAgNDAwIDEwMCIvPgorCisgICAgICAgIDwvZGVmcz4KKworCSAgPGcgdHJhbnNmb3JtPSJ0
cmFuc2xhdGUoMCw3MCkiPgorICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjUGF0aDEiIHN0
eWxlPSJmaWxsOm5vbmU7IHN0cm9rZTpibHVlOyBzdHJva2Utd2lkdGg6MiIvPgorCSAgICAgIDx0
ZXh0IGZvbnQtc2l6ZT0iMjAiIHN0eWxlPSJ0ZXh0LWFuY2hvcjpzdGFydCI+CisgICAgICAgICAg
ICAgICAgPHRleHRQYXRoIHhsaW5rOmhyZWY9IiNQYXRoMSIgc3RhcnRPZmZzZXQ9IjAlIj5UZXh0
IDx0c3BhbiBmaWxsPSJyZWQiIGR5PSItMTAiPm9uPC90c3Bhbj48dHNwYW4gZHk9IjEwIj4gYSBQ
YXRoPC90c3Bhbj48L3RleHRQYXRoPgorICAgICAgICAgICAgPC90ZXh0PgorICAgICAgICAgICAg
PHRleHQgZm9udC1zaXplPSIxMCIgeD0iMzUiIHk9IjYwIj5zdGFydE9mZnNldD0iMCUiPC90ZXh0
PgorICAgICAgICAgICAgPHRleHQgZm9udC1zaXplPSIxMCIgeD0iMzUiIHk9IjcwIj50ZXh0LWFu
Y2hvcj0ic3RhcnQiPC90ZXh0PgorICAgICAgICAgPC9nPgorCisKKyAgICAgICAgIDxnIHRyYW5z
Zm9ybT0idHJhbnNsYXRlKDE1MCw3MCkiPgorICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIj
UGF0aDEiIHN0eWxlPSJmaWxsOm5vbmU7IHN0cm9rZTpibHVlOyBzdHJva2Utd2lkdGg6MiIvPgor
CSAgICAgIDx0ZXh0IGZvbnQtc2l6ZT0iMjAiIHN0eWxlPSJ0ZXh0LWFuY2hvcjptaWRkbGUiPgor
ICAgICAgICAgICAgICAgIDx0ZXh0UGF0aCB4bGluazpocmVmPSIjUGF0aDEiIHN0YXJ0T2Zmc2V0
PSIwJSI+VGV4dCA8dHNwYW4gZmlsbD0icmVkIiBkeT0iLTEwIj5vbjwvdHNwYW4+PHRzcGFuIGR5
PSIxMCI+IGEgUGF0aDwvdHNwYW4+PC90ZXh0UGF0aD4KKyAgICAgICAgICAgIDwvdGV4dD4KKwkJ
PHRleHQgZm9udC1zaXplPSIxMCIgeD0iMzUiIHk9IjYwIj5zdGFydE9mZnNldD0iMCUiPC90ZXh0
PgorICAgICAgICAgICAgPHRleHQgZm9udC1zaXplPSIxMCIgeD0iMzUiIHk9IjcwIj50ZXh0LWFu
Y2hvcj0ibWlkZGxlIjwvdGV4dD4KKyAgICAgICAgIDwvZz4KKworICAgICAgICAgPGcgdHJhbnNm
b3JtPSJ0cmFuc2xhdGUoMzAwLDcwKSI+CisgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNQ
YXRoMSIgc3R5bGU9ImZpbGw6bm9uZTsgc3Ryb2tlOmJsdWU7IHN0cm9rZS13aWR0aDoyIi8+CisJ
ICAgICAgPHRleHQgZm9udC1zaXplPSIyMCIgc3R5bGU9InRleHQtYW5jaG9yOmVuZCI+CisgICAg
ICAgICAgICAgICAgPHRleHRQYXRoIHhsaW5rOmhyZWY9IiNQYXRoMSIgc3RhcnRPZmZzZXQ9IjUw
JSI+VGV4dCA8dHNwYW4gZmlsbD0icmVkIiBkeT0iLTEwIj5vbjwvdHNwYW4+PHRzcGFuIGR5PSIx
MCI+IGEgUGF0aDwvdHNwYW4+PC90ZXh0UGF0aD4KKyAgICAgICAgICAgIDwvdGV4dD4KKwkJPHRl
eHQgZm9udC1zaXplPSIxMCIgeD0iMzUiIHk9IjYwIj5zdGFydE9mZnNldD0iNTAlIjwvdGV4dD4K
KyAgICAgICAgICAgIDx0ZXh0IGZvbnQtc2l6ZT0iMTAiIHg9IjM1IiB5PSI3MCI+dGV4dC1hbmNo
b3I9ImVuZCI8L3RleHQ+CisgICAgICAgICA8L2c+CisKKworICAgICAgICAgPGcgdHJhbnNmb3Jt
PSJ0cmFuc2xhdGUoMCwxNzApIj4KKyAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI1BhdGgx
IiBzdHlsZT0iZmlsbDpub25lOyBzdHJva2U6Ymx1ZTsgc3Ryb2tlLXdpZHRoOjIiLz4KKwkgICAg
ICA8dGV4dCBmb250LXNpemU9IjIwIiBzdHlsZT0idGV4dC1hbmNob3I6c3RhcnQiPgorICAgICAg
ICAgICAgICAgIDx0ZXh0UGF0aCB4bGluazpocmVmPSIjUGF0aDEiIHN0YXJ0T2Zmc2V0PSI1MCUi
PlRleHQgPHRzcGFuIGZpbGw9InJlZCIgZHk9Ii0xMCI+b248L3RzcGFuPjx0c3BhbiBkeT0iMTAi
PiBhIFBhdGg8L3RzcGFuPjwvdGV4dFBhdGg+CisgICAgICAgICAgICA8L3RleHQ+CisgICAgICAg
ICAgICA8dGV4dCBmb250LXNpemU9IjEwIiB4PSIzNSIgeT0iNjAiPnN0YXJ0T2Zmc2V0PSI1MCUi
PC90ZXh0PgorICAgICAgICAgICAgPHRleHQgZm9udC1zaXplPSIxMCIgeD0iMzUiIHk9IjcwIj50
ZXh0LWFuY2hvcj0ic3RhcnQiPC90ZXh0PgorICAgICAgICAgPC9nPgorCisKKyAgICAgICAgIDxn
IHRyYW5zZm9ybT0idHJhbnNsYXRlKDE1MCwxNzApIj4KKyAgICAgICAgICAgIDx1c2UgeGxpbms6
aHJlZj0iI1BhdGgxIiBzdHlsZT0iZmlsbDpub25lOyBzdHJva2U6Ymx1ZTsgc3Ryb2tlLXdpZHRo
OjIiLz4KKwkgICAgICA8dGV4dCBmb250LXNpemU9IjIwIiBzdHlsZT0idGV4dC1hbmNob3I6bWlk
ZGxlIj4KKyAgICAgICAgICAgICAgICA8dGV4dFBhdGggeGxpbms6aHJlZj0iI1BhdGgxIiBzdGFy
dE9mZnNldD0iNTAlIj5UZXh0IDx0c3BhbiBmaWxsPSJyZWQiIGR5PSItMTAiPm9uPC90c3Bhbj48
dHNwYW4gZHk9IjEwIj4gYSBQYXRoPC90c3Bhbj48L3RleHRQYXRoPgorICAgICAgICAgICAgPC90
ZXh0PgorICAgICAgICAgICAgPHRleHQgZm9udC1zaXplPSIxMCIgeD0iMzUiIHk9IjYwIj5zdGFy
dE9mZnNldD0iNTAlIjwvdGV4dD4KKyAgICAgICAgICAgIDx0ZXh0IGZvbnQtc2l6ZT0iMTAiIHg9
IjM1IiB5PSI3MCI+dGV4dC1hbmNob3I9Im1pZGRsZSI8L3RleHQ+CisgICAgICAgICA8L2c+CisK
KyAgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMwMCwxNzApIj4KKyAgICAgICAgICAg
IDx1c2UgeGxpbms6aHJlZj0iI1BhdGgxIiBzdHlsZT0iZmlsbDpub25lOyBzdHJva2U6Ymx1ZTsg
c3Ryb2tlLXdpZHRoOjIiLz4KKwkgICAgICA8dGV4dCBmb250LXNpemU9IjIwIiBzdHlsZT0idGV4
dC1hbmNob3I6ZW5kIj4KKyAgICAgICAgICAgICAgICA8dGV4dFBhdGggeGxpbms6aHJlZj0iI1Bh
dGgxIiBzdGFydE9mZnNldD0iMTAwJSI+VGV4dCA8dHNwYW4gZmlsbD0icmVkIiBkeT0iLTEwIj5v
bjwvdHNwYW4+PHRzcGFuIGR5PSIxMCI+IGEgUGF0aDwvdHNwYW4+PC90ZXh0UGF0aD4KKyAgICAg
ICAgICAgIDwvdGV4dD4KKyAgICAgICAgICAgIDx0ZXh0IGZvbnQtc2l6ZT0iMTAiIHg9IjM1IiB5
PSI2MCI+c3RhcnRPZmZzZXQ9IjEwMCUiPC90ZXh0PgorICAgICAgICAgICAgPHRleHQgZm9udC1z
aXplPSIxMCIgeD0iMzUiIHk9IjcwIj50ZXh0LWFuY2hvcj0iZW5kIjwvdGV4dD4KKyAgICAgICAg
IDwvZz4KKworCisgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsMjcwKSI+CisgICAg
ICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNQYXRoMSIgc3R5bGU9ImZpbGw6bm9uZTsgc3Ryb2tl
OmJsdWU7IHN0cm9rZS13aWR0aDoyIi8+CisJICAgICAgPHRleHQgZm9udC1zaXplPSIyMCIgc3R5
bGU9InRleHQtYW5jaG9yOnN0YXJ0Ij4KKyAgICAgICAgICAgICAgICA8dGV4dFBhdGggeGxpbms6
aHJlZj0iI1BhdGgxIiBzdGFydE9mZnNldD0iMzUiPlRleHQgPHRzcGFuIGZpbGw9InJlZCIgZHk9
Ii0xMCI+b248L3RzcGFuPjx0c3BhbiBkeT0iMTAiPiBhIFBhdGg8L3RzcGFuPjwvdGV4dFBhdGg+
CisgICAgICAgICAgICA8L3RleHQ+CisgICAgICAgICAgICA8dGV4dCBmb250LXNpemU9IjEwIiB4
PSIzNSIgeT0iNjAiPnN0YXJ0T2Zmc2V0PSIzNSI8L3RleHQ+CisgICAgICAgICAgICA8dGV4dCBm
b250LXNpemU9IjEwIiB4PSIzNSIgeT0iNzAiPnRleHQtYW5jaG9yPSJzdGFydCI8L3RleHQ+Cisg
ICAgICAgICA8L2c+CisKKworICAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwLDI3
MCkiPgorICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjUGF0aDEiIHN0eWxlPSJmaWxsOm5v
bmU7IHN0cm9rZTpibHVlOyBzdHJva2Utd2lkdGg6MiIvPgorCSAgICAgIDx0ZXh0IGZvbnQtc2l6
ZT0iMjAiIHN0eWxlPSJ0ZXh0LWFuY2hvcjptaWRkbGUiPgorICAgICAgICAgICAgICAgIDx0ZXh0
UGF0aCB4bGluazpocmVmPSIjUGF0aDEiIHN0YXJ0T2Zmc2V0PSIzNSI+VGV4dCA8dHNwYW4gZmls
bD0icmVkIiBkeT0iLTEwIj5vbjwvdHNwYW4+PHRzcGFuIGR5PSIxMCI+IGEgUGF0aDwvdHNwYW4+
PC90ZXh0UGF0aD4KKyAgICAgICAgICAgIDwvdGV4dD4KKyAgICAgICAgICAgIDx0ZXh0IGZvbnQt
c2l6ZT0iMTAiIHg9IjM1IiB5PSI2MCI+c3RhcnRPZmZzZXQ9IjM1IjwvdGV4dD4KKyAgICAgICAg
ICAgIDx0ZXh0IGZvbnQtc2l6ZT0iMTAiIHg9IjM1IiB5PSI3MCI+dGV4dC1hbmNob3I9Im1pZGRs
ZSI8L3RleHQ+CisgICAgICAgICA8L2c+CisKKyAgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNs
YXRlKDMwMCwyNzApIj4KKyAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI1BhdGgxIiBzdHls
ZT0iZmlsbDpub25lOyBzdHJva2U6Ymx1ZTsgc3Ryb2tlLXdpZHRoOjIiLz4KKwkgICAgICA8dGV4
dCBmb250LXNpemU9IjIwIiBzdHlsZT0idGV4dC1hbmNob3I6ZW5kIj4KKyAgICAgICAgICAgICAg
ICA8dGV4dFBhdGggeGxpbms6aHJlZj0iI1BhdGgxIiBzdGFydE9mZnNldD0iMzUiPlRleHQgPHRz
cGFuIGZpbGw9InJlZCIgZHk9Ii0xMCI+b248L3RzcGFuPjx0c3BhbiBkeT0iMTAiPiBhIFBhdGg8
L3RzcGFuPjwvdGV4dFBhdGg+CisgICAgICAgICAgICA8L3RleHQ+CisgICAgICAgICAgICA8dGV4
dCBmb250LXNpemU9IjEwIiB4PSIzNSIgeT0iNjAiPnN0YXJ0T2Zmc2V0PSIzNSI8L3RleHQ+Cisg
ICAgICAgICAgICA8dGV4dCBmb250LXNpemU9IjEwIiB4PSIzNSIgeT0iNzAiPnRleHQtYW5jaG9y
PSJlbmQiPC90ZXh0PgorICAgICAgICAgPC9nPgorCisKKworICAgICAgICA8ZyB0cmFuc2Zvcm09
InRyYW5zbGF0ZSgxMCwzNzApIj4KKyAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI1BhdGgy
IiBzdHlsZT0iZmlsbDpub25lOyBzdHJva2U6Ymx1ZTsgc3Ryb2tlLXdpZHRoOjIiLz4KKyAgICAg
ICAgICAgIDx0ZXh0IGZvbnQtc2l6ZT0iMTUiPgorICAgICAgICAgICAgICAgPHRleHRQYXRoIHhs
aW5rOmhyZWY9IiNQYXRoMiI+PHRzcGFuIGJhc2VsaW5lLXNoaWZ0PSJzdXBlciIgZmlsbD0iZ3Jl
ZW4iPnN1cGVyPC90c3Bhbj4gYW5kIDx0c3BhbiBiYXNlbGluZS1zaGlmdD0ic3ViIiBmaWxsPSJy
ZWQiPnN1YjwvdHNwYW4+c2NyaXB0czwvdGV4dFBhdGg+CisgICAgICAgICAgICA8L3RleHQ+Cisg
ICAgICAgICAgICA8dGV4dCBmb250LXNpemU9IjEwIiB4PSIyMCIgeT0iNjAiPmJhc2VsaW5lLXNo
aWZ0PSJzdXBlciI8L3RleHQ+CisgICAgICAgICAgICA8dGV4dCBmb250LXNpemU9IjEwIiB4PSIy
MCIgeT0iNzAiPmFuZCBiYXNlbGluZS1zaGlmdD0ic3ViIjwvdGV4dD4KKyAgICAgICAgPC9nPgor
CisKKyAgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE1NSwzNzApIj4KKyAgICAgICAg
ICAgIDx1c2UgeGxpbms6aHJlZj0iI1BhdGgyIiBzdHlsZT0iZmlsbDpub25lOyBzdHJva2U6Ymx1
ZTsgc3Ryb2tlLXdpZHRoOjIiLz4KKwkgICAgICA8dGV4dCBmb250LXNpemU9IjE1Ij4KKyAgICAg
ICAgICAgICAgICA8dGV4dFBhdGggeGxpbms6aHJlZj0iI1BhdGgyIj48dHNwYW4gYmFzZWxpbmUt
c2hpZnQ9IisyMCUiIGZpbGw9ImdyZWVuIj5wb3NpdGl2ZTwvdHNwYW4+IGFuZCA8dHNwYW4gYmFz
ZWxpbmUtc2hpZnQ9Ii0yMCUiIGZpbGw9InJlZCI+bmVnYXRpdmUgPC90c3Bhbj48L3RleHRQYXRo
PgorICAgICAgICAgICAgPC90ZXh0PgorCQk8dGV4dCBmb250LXNpemU9IjEwIiB4PSIyMCIgeT0i
NjAiPmJhc2VsaW5lLXNoaWZ0PSIrLy0yMCUiPC90ZXh0PgorICAgICAgICAgPC9nPgorCisgICAg
ICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMwMCwzOTApIj4KKyAgICAgICAgICAgIDxnIHRy
YW5zZm9ybT0ic2NhbGUoMC41KSI+CisgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNQYXRo
MSIgc3R5bGU9ImZpbGw6bm9uZTsgc3Ryb2tlOmJsdWU7IHN0cm9rZS13aWR0aDoyIi8+CisgICAg
ICAgICAgICA8dGV4dCBmb250LXNpemU9IjMwIiB4PSIzMCIgeT0iLTIwIj5iZWZvcmUgcGF0aAor
ICAgICAgICAgICAgICAgPHRleHRQYXRoIHhsaW5rOmhyZWY9IiNQYXRoMSIgZmlsbD0icmVkIiBz
dGFydE9mZnNldD0iMTAlIj5vbiBwYXRoPC90ZXh0UGF0aD4gYWZ0ZXIgcGF0aAorICAgICAgICAg
ICAgPC90ZXh0PgorICAgICAgICAgICAgPC9nPgorICAgICAgICAgICAgPHRleHQgZm9udC1zaXpl
PSIxMCIgeD0iMTUiIHk9IjQwIj50ZXh0IGJlZm9yZS9hZnRlciB0ZXh0UGF0aDwvdGV4dD4KKyAg
ICAgICAgPC9nPgorICAgICAgIAorICAgIDwvZz4KKworICAgIDwhLS0gPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKyAgICA8
IS0tIEJhdGlrIHNhbXBsZSBtYXJrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLS0+CisgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorICAgIDx1c2UgeGxpbms6aHJlZj0iLi4v
cmVzb3VyY2VzL2JhdGlrTG9nby5zdmcjQmF0aWtfVGFnX0JveCIgLz4KKworPC9zdmc+CisKClBy
b3BlcnR5IGNoYW5nZXMgb246IHN2Zy9iYXRpay90ZXh0L3RleHRPblBhdGguc3ZnCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KTmFtZTogc3ZuOmV4ZWN1dGFibGUKICAgKyAqCgpJbmRleDogc3ZnL2JhdGlrL3RleHQvdGV4
dE9uUGF0aFNwYWNlcy1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzdmcvYmF0aWsv
dGV4dC90ZXh0T25QYXRoU3BhY2VzLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQorKysg
c3ZnL2JhdGlrL3RleHQvdGV4dE9uUGF0aFNwYWNlcy1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSBAQAorM2IyZTBiZmFhNTlkZDE1MTBhMTc4NGNlNmZiYTU4YjgKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBzdmcvYmF0aWsvdGV4dC90ZXh0T25QYXRo
U3BhY2VzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzdmcvYmF0aWsvdGV4dC90ZXh0T25Q
YXRoU3BhY2VzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIHN2Zy9iYXRpay90ZXh0L3Rl
eHRPblBhdGhTcGFjZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE5MSBA
QAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtzdmd9IGF0ICgxMywyNikgc2l6ZSA0
MjR4NDE3CisgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxMywyNikgc2l6ZSA0MjR4
NDE3CisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyMjUsNDApIHNpemUgODAweDAK
KyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC0xMjksLTE0KSBzaXpl
IDI1OXgxNworICAgICAgICAgICAgdGV4dCBydW4gYXQgKC0xMjksLTE0KSB3aWR0aCAyNTk6ICJU
ZXh0IG9uIGEgcGF0aCB3aXRoIGFkanVzdGVkIHNwYWNpbmciCisgICAgICAgIFJlbmRlclNWR0hp
ZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJQ
YXRoIHtwYXRofSBhdCAoMTQuOTUsNy4wNCkgc2l6ZSAxMjAuMDV4MzAuOTEgW3RyYW5zZm9ybT17
bT0oKDAuMTUsMC4wMCkoMC4wMCwwLjE1KSkgdD0oMC4wMCwwLjAwKX1dIFtzdHJva2U9e1t0eXBl
PVNPTElEXSBbY29sb3I9IzAwMDBGRl19XSBbZGF0YT0iTTEwMC4wMCwyMDAuMDBDMjAwLjAwLDEw
MC4wMCwzMDAuMDAsMC4wMCw0MDAuMDAsMTAwLjAwQzUwMC4wMCwyMDAuMDAsNjAwLjAwLDMwMC4w
MCw3MDAuMDAsMjAwLjAwQzgwMC4wMCwxMDAuMDAsOTAwLjAwLDEwMC4wMCw5MDAuMDAsMTAwLjAw
Il0KKyAgICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMjkuODUsMTIuMjUpIHNpemUgOTAu
MzB4MzcuNzUgW3RyYW5zZm9ybT17bT0oKDAuMzAsMC4wMCkoMC4wMCwwLjUwKSkgdD0oMC4wMCww
LjAwKX1dIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDBGRl19XSBbZGF0YT0iTTEw
MC4wMCwxMDAuMDBDMTAwLjAwLDAuMDAsNDAwLjAwLDAuMDAsNDAwLjAwLDEwMC4wMCJdCisgICAg
ICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDEzLDYwKSBzaXplIDEyMng3MyBbdHJhbnNm
b3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgwLjAwLDcwLjAwKX1dCisgICAgICAg
ICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgxNC44OSw3Ny4yOSkgc2l6ZSAxMjAuMTF4
MzAuNDMKKyAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDE0Ljg5LDc3LjI5
KSBzaXplIDEyMC4xMXgzMC40MworICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAo
MTQuODksNzcuMjkpIHNpemUgMTIwLjExeDMwLjQzIFt0cmFuc2Zvcm09e209KCgwLjE1LDAuMDAp
KDAuMDAsMC4xNSkpIHQ9KDAuMDAsMC4wMCl9XSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9y
PSMwMDAwRkZdIFtzdHJva2Ugd2lkdGg9Mi4wMF19XSBbZGF0YT0iTTEwMC4wMCwyMDAuMDBDMjAw
LjAwLDEwMC4wMCwzMDAuMDAsMC4wMCw0MDAuMDAsMTAwLjAwQzUwMC4wMCwyMDAuMDAsNjAwLjAw
LDMwMC4wMCw3MDAuMDAsMjAwLjAwQzgwMC4wMCwxMDAuMDAsOTAwLjAwLDEwMC4wMCw5MDAuMDAs
MTAwLjAwIl0KKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwwKSBzaXplIDgw
MHgwCisgICAgICAgICAgICBSZW5kZXJTVkdUZXh0UGF0aCB7dGV4dFBhdGh9IGF0ICgwLDApIHNp
emUgNTF4NDIKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBz
aXplIDUxeDQyCisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgxMywtOSkgc2l6ZSA1MHg0MQorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEzLC05
KSB3aWR0aCA1MDogInNhbXBsZSIKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0
ICgzNSw2MCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3Rl
eHR9IGF0ICgwLC0xMCkgc2l6ZSA2MHgxMworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwt
MTApIHdpZHRoIDYwOiAiZGVmYXVsdCBzcGFjaW5nIgorICAgICAgICBSZW5kZXJTVkdDb250YWlu
ZXIge2d9IGF0ICgxNjQuODksNjEpIHNpemUgMTIzLjExeDgyIFt0cmFuc2Zvcm09e209KCgxLjAw
LDAuMDApKDAuMDAsMS4wMCkpIHQ9KDE1MC4wMCw3MC4wMCl9XQorICAgICAgICAgIFJlbmRlclNW
R0NvbnRhaW5lciB7dXNlfSBhdCAoMTY0Ljg5LDc3LjI5KSBzaXplIDEyMC4xMXgzMC40MworICAg
ICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTY0Ljg5LDc3LjI5KSBzaXplIDEy
MC4xMXgzMC40MworICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMTY0Ljg5LDc3
LjI5KSBzaXplIDEyMC4xMXgzMC40MyBbdHJhbnNmb3JtPXttPSgoMC4xNSwwLjAwKSgwLjAwLDAu
MTUpKSB0PSgwLjAwLDAuMDApfV0gW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMEZG
XSBbc3Ryb2tlIHdpZHRoPTIuMDBdfV0gW2RhdGE9Ik0xMDAuMDAsMjAwLjAwQzIwMC4wMCwxMDAu
MDAsMzAwLjAwLDAuMDAsNDAwLjAwLDEwMC4wMEM1MDAuMDAsMjAwLjAwLDYwMC4wMCwzMDAuMDAs
NzAwLjAwLDIwMC4wMEM4MDAuMDAsMTAwLjAwLDkwMC4wMCwxMDAuMDAsOTAwLjAwLDEwMC4wMCJd
CisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAorICAg
ICAgICAgICAgUmVuZGVyU1ZHVGV4dFBhdGgge3RleHRQYXRofSBhdCAoMCwwKSBzaXplIDkzeDQ5
CisgICAgICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSA5M3g0
OQorICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMjEsLTgp
IHNpemUgOTN4NDkKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMSwtOCkgd2lkdGgg
OTM6ICJzYW1wbGUiCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTUsNjAp
IHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAo
MCwtMTApIHNpemUgMTIzeDEzCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xMCkgd2lk
dGggMTIzOiAidHNwYW4geD1cIjEwLDMwLDUwLDc1LDk1LDExMFwiIgorICAgICAgICAgIFJlbmRl
clNWR1RleHQge3RleHR9IGF0ICgzNSw3MCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVy
U1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xMCkgc2l6ZSAzNHgxMworICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwtMTApIHdpZHRoIDM0OiAieT1cIjExMFwiIgorICAgICAgICBSZW5k
ZXJTVkdDb250YWluZXIge2d9IGF0ICgzMTMsNjApIHNpemUgMTIyeDczIFt0cmFuc2Zvcm09e209
KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDMwMC4wMCw3MC4wMCl9XQorICAgICAgICAgIFJl
bmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMzE0Ljg5LDc3LjI5KSBzaXplIDEyMC4xMXgzMC40
MworICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMzE0Ljg5LDc3LjI5KSBz
aXplIDEyMC4xMXgzMC40MworICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMzE0
Ljg5LDc3LjI5KSBzaXplIDEyMC4xMXgzMC40MyBbdHJhbnNmb3JtPXttPSgoMC4xNSwwLjAwKSgw
LjAwLDAuMTUpKSB0PSgwLjAwLDAuMDApfV0gW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0j
MDAwMEZGXSBbc3Ryb2tlIHdpZHRoPTIuMDBdfV0gW2RhdGE9Ik0xMDAuMDAsMjAwLjAwQzIwMC4w
MCwxMDAuMDAsMzAwLjAwLDAuMDAsNDAwLjAwLDEwMC4wMEM1MDAuMDAsMjAwLjAwLDYwMC4wMCwz
MDAuMDAsNzAwLjAwLDIwMC4wMEM4MDAuMDAsMTAwLjAwLDkwMC4wMCwxMDAuMDAsOTAwLjAwLDEw
MC4wMCJdCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4
MAorICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dFBhdGgge3RleHRQYXRofSBhdCAoMCwwKSBzaXpl
IDEwMXg0MgorICAgICAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNp
emUgMTAxeDQyCisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgxMywtOSkgc2l6ZSAxMDB4NDEKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMywt
OSkgd2lkdGggMTAwOiAic2FtcGxlIgorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0g
YXQgKDE1LDYwKSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsj
dGV4dH0gYXQgKDAsLTEwKSBzaXplIDExOHgxMworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwtMTApIHdpZHRoIDExODogInRzcGFuIGR4PVwiMCwxMCwxMCwxMCwxMCwxMFwiIgorICAgICAg
ICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxMywxNTApIHNpemUgMTIyeDczIFt0cmFuc2Zv
cm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDAuMDAsMTYwLjAwKX1dCisgICAgICAg
ICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgxNC44OSwxNjcuMjkpIHNpemUgMTIwLjEx
eDMwLjQzCisgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxNC44OSwxNjcu
MjkpIHNpemUgMTIwLjExeDMwLjQzCisgICAgICAgICAgICAgIFJlbmRlclBhdGgge3BhdGh9IGF0
ICgxNC44OSwxNjcuMjkpIHNpemUgMTIwLjExeDMwLjQzIFt0cmFuc2Zvcm09e209KCgwLjE1LDAu
MDApKDAuMDAsMC4xNSkpIHQ9KDAuMDAsMC4wMCl9XSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2Nv
bG9yPSMwMDAwRkZdIFtzdHJva2Ugd2lkdGg9Mi4wMF19XSBbZGF0YT0iTTEwMC4wMCwyMDAuMDBD
MjAwLjAwLDEwMC4wMCwzMDAuMDAsMC4wMCw0MDAuMDAsMTAwLjAwQzUwMC4wMCwyMDAuMDAsNjAw
LjAwLDMwMC4wMCw3MDAuMDAsMjAwLjAwQzgwMC4wMCwxMDAuMDAsOTAwLjAwLDEwMC4wMCw5MDAu
MDAsMTAwLjAwIl0KKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwwKSBzaXpl
IDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdUZXh0UGF0aCB7dGV4dFBhdGh9IGF0ICgwLDAp
IHNpemUgNTF4NDIKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgxMywtOSkgc2l6ZSA1MHg0MQorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMywtOSkg
d2lkdGggNTA6ICJzYW1wbGUiCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAo
MzUsNjApIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoMCwtMTApIHNpemUgNzJ4MTMKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTEw
KSB3aWR0aCA3MjogInRleHRMZW5ndGg9XCIxNDBcIiIKKyAgICAgICAgUmVuZGVyU1ZHQ29udGFp
bmVyIHtnfSBhdCAoMTYzLDE1MCkgc2l6ZSAxMjJ4NzMgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4w
MCkoMC4wMCwxLjAwKSkgdD0oMTUwLjAwLDE2MC4wMCl9XQorICAgICAgICAgIFJlbmRlclNWR0Nv
bnRhaW5lciB7dXNlfSBhdCAoMTY0Ljg5LDE2Ny4yOSkgc2l6ZSAxMjAuMTF4MzAuNDMKKyAgICAg
ICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDE2NC44OSwxNjcuMjkpIHNpemUgMTIw
LjExeDMwLjQzCisgICAgICAgICAgICAgIFJlbmRlclBhdGgge3BhdGh9IGF0ICgxNjQuODksMTY3
LjI5KSBzaXplIDEyMC4xMXgzMC40MyBbdHJhbnNmb3JtPXttPSgoMC4xNSwwLjAwKSgwLjAwLDAu
MTUpKSB0PSgwLjAwLDAuMDApfV0gW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMEZG
XSBbc3Ryb2tlIHdpZHRoPTIuMDBdfV0gW2RhdGE9Ik0xMDAuMDAsMjAwLjAwQzIwMC4wMCwxMDAu
MDAsMzAwLjAwLDAuMDAsNDAwLjAwLDEwMC4wMEM1MDAuMDAsMjAwLjAwLDYwMC4wMCwzMDAuMDAs
NzAwLjAwLDIwMC4wMEM4MDAuMDAsMTAwLjAwLDkwMC4wMCwxMDAuMDAsOTAwLjAwLDEwMC4wMCJd
CisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAorICAg
ICAgICAgICAgUmVuZGVyU1ZHVGV4dFBhdGgge3RleHRQYXRofSBhdCAoMCwwKSBzaXplIDUxeDQy
CisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMTMsLTkpIHNp
emUgNTB4NDEKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTMsLTkpIHdpZHRoIDUwOiAi
c2FtcGxlIgorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMHgwCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDM1LDYwKSBzaXpl
IDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEw
KSBzaXplIDY3eDEzCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xMCkgd2lkdGggNjc6
ICJ0ZXh0TGVuZ3RoPVwiNzBcIiIKKyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAo
MzEzLDE1MCkgc2l6ZSAxMjJ4NzMgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAw
KSkgdD0oMzAwLjAwLDE2MC4wMCl9XQorICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNl
fSBhdCAoMzE0Ljg5LDE2Ny4yOSkgc2l6ZSAxMjAuMTF4MzAuNDMKKyAgICAgICAgICAgIFJlbmRl
clNWR0NvbnRhaW5lciB7Z30gYXQgKDMxNC44OSwxNjcuMjkpIHNpemUgMTIwLjExeDMwLjQzCisg
ICAgICAgICAgICAgIFJlbmRlclBhdGgge3BhdGh9IGF0ICgzMTQuODksMTY3LjI5KSBzaXplIDEy
MC4xMXgzMC40MyBbdHJhbnNmb3JtPXttPSgoMC4xNSwwLjAwKSgwLjAwLDAuMTUpKSB0PSgwLjAw
LDAuMDApfV0gW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMEZGXSBbc3Ryb2tlIHdp
ZHRoPTIuMDBdfV0gW2RhdGE9Ik0xMDAuMDAsMjAwLjAwQzIwMC4wMCwxMDAuMDAsMzAwLjAwLDAu
MDAsNDAwLjAwLDEwMC4wMEM1MDAuMDAsMjAwLjAwLDYwMC4wMCwzMDAuMDAsNzAwLjAwLDIwMC4w
MEM4MDAuMDAsMTAwLjAwLDkwMC4wMCwxMDAuMDAsOTAwLjAwLDEwMC4wMCJdCisgICAgICAgICAg
UmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVu
ZGVyU1ZHVGV4dFBhdGgge3RleHRQYXRofSBhdCAoMCwwKSBzaXplIDUxeDQyCisgICAgICAgICAg
ICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMTMsLTkpIHNpemUgNTB4NDEKKyAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTMsLTkpIHdpZHRoIDUwOiAic2FtcGxlIgorICAg
ICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisg
ICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDM1LDYwKSBzaXplIDgwMHgwCisgICAg
ICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEwKSBzaXplIDU0eDEz
CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xMCkgd2lkdGggNTQ6ICJrZXJuaW5nPVwi
MTBcIiIKKyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTMsMjQwKSBzaXplIDEy
Mng5MyBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgwLjAwLDI1MC4w
MCl9XQorICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMTQuODksMjU3LjI5
KSBzaXplIDEyMC4xMXgzMC40MworICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBh
dCAoMTQuODksMjU3LjI5KSBzaXplIDEyMC4xMXgzMC40MworICAgICAgICAgICAgICBSZW5kZXJQ
YXRoIHtwYXRofSBhdCAoMTQuODksMjU3LjI5KSBzaXplIDEyMC4xMXgzMC40MyBbdHJhbnNmb3Jt
PXttPSgoMC4xNSwwLjAwKSgwLjAwLDAuMTUpKSB0PSgwLjAwLDAuMDApfV0gW3N0cm9rZT17W3R5
cGU9U09MSURdIFtjb2xvcj0jMDAwMEZGXSBbc3Ryb2tlIHdpZHRoPTIuMDBdfV0gW2RhdGE9Ik0x
MDAuMDAsMjAwLjAwQzIwMC4wMCwxMDAuMDAsMzAwLjAwLDAuMDAsNDAwLjAwLDEwMC4wMEM1MDAu
MDAsMjAwLjAwLDYwMC4wMCwzMDAuMDAsNzAwLjAwLDIwMC4wMEM4MDAuMDAsMTAwLjAwLDkwMC4w
MCwxMDAuMDAsOTAwLjAwLDEwMC4wMCJdCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0g
YXQgKDAsMCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dFBhdGgge3RleHRQ
YXRofSBhdCAoMCwwKSBzaXplIDUxeDQyCisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoMTMsLTkpIHNpemUgNTB4NDEKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMTMsLTkpIHdpZHRoIDUwOiAic2FtcGxlIgorICAgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVyU1ZHVGV4
dCB7dGV4dH0gYXQgKDM1LDYwKSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEwKSBzaXplIDcyeDEzCisgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLC0xMCkgd2lkdGggNzI6ICJ0ZXh0TGVuZ3RoPVwiMTQwXCIiCisgICAgICAgICAg
UmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDM1LDcwKSBzaXplIDgwMHgwCisgICAgICAgICAgICBS
ZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEwKSBzaXplIDU4eDEzCisgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLC0xMCkgd2lkdGggNTg6ICJsZW5ndGhBZGp1c3Q9IgorICAg
ICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzNSw4MCkgc2l6ZSA4MDB4MAorICAgICAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xMCkgc2l6ZSA4NHgxMwor
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTApIHdpZHRoIDg0OiAiXCJzcGFjaW5nQW5k
R2x5cGhzXCIiCisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDE2MywyNDApIHNp
emUgMTIyeDkzIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDE1MC4w
MCwyNTAuMDApfV0KKyAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDE2NC44
OSwyNTcuMjkpIHNpemUgMTIwLjExeDMwLjQzCisgICAgICAgICAgICBSZW5kZXJTVkdDb250YWlu
ZXIge2d9IGF0ICgxNjQuODksMjU3LjI5KSBzaXplIDEyMC4xMXgzMC40MworICAgICAgICAgICAg
ICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMTY0Ljg5LDI1Ny4yOSkgc2l6ZSAxMjAuMTF4MzAuNDMg
W3RyYW5zZm9ybT17bT0oKDAuMTUsMC4wMCkoMC4wMCwwLjE1KSkgdD0oMC4wMCwwLjAwKX1dIFtz
dHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDBGRl0gW3N0cm9rZSB3aWR0aD0yLjAwXX1d
IFtkYXRhPSJNMTAwLjAwLDIwMC4wMEMyMDAuMDAsMTAwLjAwLDMwMC4wMCwwLjAwLDQwMC4wMCwx
MDAuMDBDNTAwLjAwLDIwMC4wMCw2MDAuMDAsMzAwLjAwLDcwMC4wMCwyMDAuMDBDODAwLjAwLDEw
MC4wMCw5MDAuMDAsMTAwLjAwLDkwMC4wMCwxMDAuMDAiXQorICAgICAgICAgIFJlbmRlclNWR1Rl
eHQge3RleHR9IGF0ICgwLDApIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR1RleHRQ
YXRoIHt0ZXh0UGF0aH0gYXQgKDAsMCkgc2l6ZSA1MXg0MgorICAgICAgICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDEzLC05KSBzaXplIDUweDQxCisgICAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDEzLC05KSB3aWR0aCA1MDogInNhbXBsZSIKKyAgICAgICAgICAgIFJl
bmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJl
bmRlclNWR1RleHQge3RleHR9IGF0ICgzNSw2MCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xMCkgc2l6ZSA2N3gxMworICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwtMTApIHdpZHRoIDY3OiAidGV4dExlbmd0aD1cIjUwXCIiCisg
ICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDM1LDcwKSBzaXplIDgwMHgwCisgICAg
ICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEwKSBzaXplIDU4eDEz
CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xMCkgd2lkdGggNTg6ICJsZW5ndGhBZGp1
c3Q9IgorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzNSw4MCkgc2l6ZSA4MDB4
MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xMCkgc2l6
ZSA4NHgxMworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTApIHdpZHRoIDg0OiAiXCJz
cGFjaW5nQW5kR2x5cGhzXCIiCisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDMw
NSwyNDApIHNpemUgMTMyeDkzIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkp
IHQ9KDMwMC4wMCwyNTAuMDApfV0KKyAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0g
YXQgKDMxNC44OSwyNTcuMjkpIHNpemUgMTIwLjExeDMwLjQzCisgICAgICAgICAgICBSZW5kZXJT
VkdDb250YWluZXIge2d9IGF0ICgzMTQuODksMjU3LjI5KSBzaXplIDEyMC4xMXgzMC40MworICAg
ICAgICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMzE0Ljg5LDI1Ny4yOSkgc2l6ZSAxMjAu
MTF4MzAuNDMgW3RyYW5zZm9ybT17bT0oKDAuMTUsMC4wMCkoMC4wMCwwLjE1KSkgdD0oMC4wMCww
LjAwKX1dIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDBGRl0gW3N0cm9rZSB3aWR0
aD0yLjAwXX1dIFtkYXRhPSJNMTAwLjAwLDIwMC4wMEMyMDAuMDAsMTAwLjAwLDMwMC4wMCwwLjAw
LDQwMC4wMCwxMDAuMDBDNTAwLjAwLDIwMC4wMCw2MDAuMDAsMzAwLjAwLDcwMC4wMCwyMDAuMDBD
ODAwLjAwLDEwMC4wMCw5MDAuMDAsMTAwLjAwLDkwMC4wMCwxMDAuMDAiXQorICAgICAgICAgIFJl
bmRlclNWR1RleHQge3RleHR9IGF0ICgwLDApIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRl
clNWR1RleHRQYXRoIHt0ZXh0UGF0aH0gYXQgKDAsMCkgc2l6ZSA1MXg0MgorICAgICAgICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDEzLC05KSBzaXplIDUweDQxCisgICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEzLC05KSB3aWR0aCA1MDogInNhbXBsZSIKKyAgICAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAg
ICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICg1LDYwKSBzaXplIDgwMHgwCisgICAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEwKSBzaXplIDEzMngxMwor
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTApIHdpZHRoIDEzMjogInRleHRMZW5ndGg9
XCIxNDBcIiwga2VybmluZz1cIjEwXCIiCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0g
YXQgKDUsNzApIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoMCwtMTApIHNpemUgNTh4MTMKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
LTEwKSB3aWR0aCA1ODogImxlbmd0aEFkanVzdD0iCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7
dGV4dH0gYXQgKDUsODApIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoMCwtMTApIHNpemUgODR4MTMKKyAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsLTEwKSB3aWR0aCA4NDogIlwic3BhY2luZ0FuZEdseXBoc1wiIgorICAgICAgICBSZW5k
ZXJTVkdDb250YWluZXIge2d9IGF0ICgxNCwzNDApIHNpemUgMTIxeDczIFt0cmFuc2Zvcm09e209
KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDAuMDAsMzUwLjAwKX1dCisgICAgICAgICAgUmVu
ZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgxNC44OSwzNTcuMjkpIHNpemUgMTIwLjExeDMwLjQz
CisgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxNC44OSwzNTcuMjkpIHNp
emUgMTIwLjExeDMwLjQzCisgICAgICAgICAgICAgIFJlbmRlclBhdGgge3BhdGh9IGF0ICgxNC44
OSwzNTcuMjkpIHNpemUgMTIwLjExeDMwLjQzIFt0cmFuc2Zvcm09e209KCgwLjE1LDAuMDApKDAu
MDAsMC4xNSkpIHQ9KDAuMDAsMC4wMCl9XSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMw
MDAwRkZdIFtzdHJva2Ugd2lkdGg9Mi4wMF19XSBbZGF0YT0iTTEwMC4wMCwyMDAuMDBDMjAwLjAw
LDEwMC4wMCwzMDAuMDAsMC4wMCw0MDAuMDAsMTAwLjAwQzUwMC4wMCwyMDAuMDAsNjAwLjAwLDMw
MC4wMCw3MDAuMDAsMjAwLjAwQzgwMC4wMCwxMDAuMDAsOTAwLjAwLDEwMC4wMCw5MDAuMDAsMTAw
LjAwIl0KKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwwKSBzaXplIDgwMHgw
CisgICAgICAgICAgICBSZW5kZXJTVkdUZXh0UGF0aCB7dGV4dFBhdGh9IGF0ICgwLDApIHNpemUg
MzN4NDMKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgxNCwt
OSkgc2l6ZSAzM3g0MgorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNCwtOSkgd2lkdGgg
MzM6ICJzYW1wbGUiCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMzUsNjAp
IHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAo
MCwtMTApIHNpemUgNzV4MTMKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTEwKSB3aWR0
aCA3NTogImxldHRlci1zcGFjaW5nPVwiLTNcIiIKKyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVy
IHtnfSBhdCAoMTYzLDM0MCkgc2l6ZSAxMjJ4ODMgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCko
MC4wMCwxLjAwKSkgdD0oMTUwLjAwLDM1MC4wMCl9XQorICAgICAgICAgIFJlbmRlclNWR0NvbnRh
aW5lciB7dXNlfSBhdCAoMTY0Ljg5LDM1Ny4yOSkgc2l6ZSAxMjAuMTF4MzAuNDMKKyAgICAgICAg
ICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDE2NC44OSwzNTcuMjkpIHNpemUgMTIwLjEx
eDMwLjQzCisgICAgICAgICAgICAgIFJlbmRlclBhdGgge3BhdGh9IGF0ICgxNjQuODksMzU3LjI5
KSBzaXplIDEyMC4xMXgzMC40MyBbdHJhbnNmb3JtPXttPSgoMC4xNSwwLjAwKSgwLjAwLDAuMTUp
KSB0PSgwLjAwLDAuMDApfV0gW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMEZGXSBb
c3Ryb2tlIHdpZHRoPTIuMDBdfV0gW2RhdGE9Ik0xMDAuMDAsMjAwLjAwQzIwMC4wMCwxMDAuMDAs
MzAwLjAwLDAuMDAsNDAwLjAwLDEwMC4wMEM1MDAuMDAsMjAwLjAwLDYwMC4wMCwzMDAuMDAsNzAw
LjAwLDIwMC4wMEM4MDAuMDAsMTAwLjAwLDkwMC4wMCwxMDAuMDAsOTAwLjAwLDEwMC4wMCJdCisg
ICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAorICAgICAg
ICAgICAgUmVuZGVyU1ZHVGV4dFBhdGgge3RleHRQYXRofSBhdCAoMCwwKSBzaXplIDEwMng1MAor
ICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDEzLC05KSBzaXpl
IDEwMXg0OQorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMywtOSkgd2lkdGggMTAxOiAi
c2FtcGxlIHNhbXBsZSIKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzNSw2
MCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgwLC0xMCkgc2l6ZSA3MngxMworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTApIHdp
ZHRoIDcyOiAidGV4dExlbmd0aD1cIjE0MFwiIgorICAgICAgICAgIFJlbmRlclNWR1RleHQge3Rl
eHR9IGF0ICgzNSw3MCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4
dCB7I3RleHR9IGF0ICgwLC0xMCkgc2l6ZSA4NHgxMworICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwtMTApIHdpZHRoIDg0OiAid29yZC1zcGFjaW5nPVwiMmVtXCIiCisgICAgICAgIFJlbmRl
clNWR0NvbnRhaW5lciB7Z30gYXQgKDMxMywzNDApIHNpemUgMTIyeDEwMyBbdHJhbnNmb3JtPXtt
PSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgzMDAuMDAsMzUwLjAwKX1dCisgICAgICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgzMTQuODksMzU3LjI5KSBzaXplIDEyMC4xMXgz
MC40MworICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMzE0Ljg5LDM1Ny4y
OSkgc2l6ZSAxMjAuMTF4MzAuNDMKKyAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cGF0aH0gYXQg
KDMxNC44OSwzNTcuMjkpIHNpemUgMTIwLjExeDMwLjQzIFt0cmFuc2Zvcm09e209KCgwLjE1LDAu
MDApKDAuMDAsMC4xNSkpIHQ9KDAuMDAsMC4wMCl9XSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2Nv
bG9yPSMwMDAwRkZdIFtzdHJva2Ugd2lkdGg9Mi4wMF19XSBbZGF0YT0iTTEwMC4wMCwyMDAuMDBD
MjAwLjAwLDEwMC4wMCwzMDAuMDAsMC4wMCw0MDAuMDAsMTAwLjAwQzUwMC4wMCwyMDAuMDAsNjAw
LjAwLDMwMC4wMCw3MDAuMDAsMjAwLjAwQzgwMC4wMCwxMDAuMDAsOTAwLjAwLDEwMC4wMCw5MDAu
MDAsMTAwLjAwIl0KKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwwKSBzaXpl
IDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdUZXh0UGF0aCB7dGV4dFBhdGh9IGF0ICgwLDAp
IHNpemUgMTAyeDUwCisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoMTMsLTkpIHNpemUgMTAxeDQ5CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEzLC05
KSB3aWR0aCAxMDE6ICJzYW1wbGUgc2FtcGxlIgorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5l
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7
dGV4dH0gYXQgKDM1LDYwKSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDAsLTEwKSBzaXplIDcyeDEzCisgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLC0xMCkgd2lkdGggNzI6ICJ0ZXh0TGVuZ3RoPVwiMTQwXCIiCisgICAgICAgICAgUmVu
ZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDM1LDcwKSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEwKSBzaXplIDc1eDEzCisgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLC0xMCkgd2lkdGggNzU6ICJ3b3JkLXNwYWNpbmc9XCItNVwiIgor
ICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzNSw4MCkgc2l6ZSA4MDB4MAorICAg
ICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xMCkgc2l6ZSA1OHgx
MworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTApIHdpZHRoIDU4OiAibGVuZ3RoQWRq
dXN0PSIKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMzUsOTApIHNpemUgODAw
eDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTApIHNp
emUgODR4MTMKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTEwKSB3aWR0aCA4NDogIlwi
c3BhY2luZ0FuZEdseXBoc1wiIgorICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgw
LDApIHNpemUgMHgwCkluZGV4OiBzdmcvYmF0aWsvdGV4dC90ZXh0T25QYXRoU3BhY2VzLnN2Zwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBzdmcvYmF0aWsvdGV4dC90ZXh0T25QYXRoU3BhY2VzLnN2ZwkocmV2aXNp
b24gMCkKKysrIHN2Zy9iYXRpay90ZXh0L3RleHRPblBhdGhTcGFjZXMuc3ZnCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDE3MiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/
PgorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjAvL0VOIgorImh0dHA6
Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLVNWRy0yMDAxMDkwNC9EVEQvc3ZnMTAuZHRkIj4KKwor
PCEtLQorCisgICBDb3B5cmlnaHQgMjAwMSAgVGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
IAorCisgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0
aGUgIkxpY2Vuc2UiKTsKKyAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNv
bXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0
aGUgTGljZW5zZSBhdAorCisgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJ
Q0VOU0UtMi4wCisKKyAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3Jl
ZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNl
bnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgICBXSVRIT1VUIFdBUlJB
TlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGll
ZC4KKyAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmlu
ZyBwZXJtaXNzaW9ucyBhbmQKKyAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCist
LT4KKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKzwhLS0gVGVzdHMgdmFyaW91cyB0ZXh0IG9u
IGEgcGF0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4K
KzwhLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAtLT4KKzwhLS0gQGF1dGhvciBiZWxsYS5yb2JpbnNvbkBj
bWlzLmNzaXJvLmF1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKzwh
LS0gQHZlcnNpb24gJElkOiB0ZXh0T25QYXRoU3BhY2VzLnN2Zyx2IDEuNCAyMDA0LzA4LzE4IDA3
OjEyOjIzIHZoYXJkeSBFeHAgJCAgICAgICAgLS0+Cis8IS0tID09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+
Cis8P3htbC1zdHlsZXNoZWV0IHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9yZXNvdXJjZXMvdGVz
dC5jc3MiID8+ICAKKworPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHht
bG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0iYm9keSIgd2lkdGg9
IjQ1MCIgaGVpZ2h0PSI1MDAiIHZpZXdCb3g9IjAgMCA0NTAgNTAwIj4KKzx0aXRsZT5UZXh0IG9u
IGEgcGF0aCB3aXRoIHNwYWNlcyB0ZXN0PC90aXRsZT4KKworICAgIDxzdHlsZSB0eXBlPSJ0ZXh0
L2NzcyI+PCFbQ0RBVEFbCisgICAgICAgIAorICAgIF1dPjwvc3R5bGU+CisKKyAgICA8ZyBpZD0i
Y29udGVudCI+CisKKyAgICAgICAgPHRleHQgY2xhc3M9InRpdGxlIiB4PSI1MCUiIHk9IjQwIj5U
ZXh0IG9uIGEgcGF0aCB3aXRoIGFkanVzdGVkIHNwYWNpbmc8L3RleHQ+CisKKyAgICAgICAgPGRl
ZnM+CisJICAgICAgPHBhdGggaWQ9IlBhdGgxIiBzdHlsZT0iZmlsbDpub25lOyBzdHJva2U6Ymx1
ZTsiIHRyYW5zZm9ybT0ic2NhbGUoMC4xNSwwLjE1KSIKKyAgICAgICAgICAgICAgICAgIGQ9Ik0g
MTAwIDIwMCBDIDIwMCAxMDAgMzAwIDAgNDAwIDEwMCBDIDUwMCAyMDAgNjAwIDMwMCA3MDAgMjAw
IEMgODAwIDEwMCA5MDAgMTAwIDkwMCAxMDAiLz4KKyAgICAgICAgICAgIDxwYXRoIGlkPSJQYXRo
MiIgc3R5bGU9ImZpbGw6bm9uZTsgc3Ryb2tlOmJsdWU7IiB0cmFuc2Zvcm09InNjYWxlKDAuMzAs
MC41MCkiCisgICAgICAgICAgICAgICAgICBkPSJNIDEwMCAxMDAgQzEwMCAwIDQwMCAwMCA0MDAg
MTAwIi8+CisKKyAgICAgICAgPC9kZWZzPgorCisKKyAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFu
c2xhdGUoMCw3MCkiPgorICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjUGF0aDEiIHN0eWxl
PSJmaWxsOm5vbmU7IHN0cm9rZTpibHVlOyBzdHJva2Utd2lkdGg6MiIvPgorCSAgICAgIDx0ZXh0
IGZvbnQtc2l6ZT0iMjAiPgorICAgICAgICAgICAgICAgIDx0ZXh0UGF0aCB4bGluazpocmVmPSIj
UGF0aDEiPjx0c3Bhbj5zYW1wbGU8L3RzcGFuPjwvdGV4dFBhdGg+CisgICAgICAgICAgICA8L3Rl
eHQ+CisJCTx0ZXh0IGZvbnQtc2l6ZT0iMTAiIHg9IjM1IiB5PSI2MCI+ZGVmYXVsdCBzcGFjaW5n
PC90ZXh0PgorICAgICAgICAgPC9nPgorCisJICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNTAs
NzApIj4KKyAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI1BhdGgxIiBzdHlsZT0iZmlsbDpu
b25lOyBzdHJva2U6Ymx1ZTsgc3Ryb2tlLXdpZHRoOjIiLz4KKwkgICAgICA8dGV4dCBmb250LXNp
emU9IjIwIj4KKyAgICAgICAgICAgICAgICA8dGV4dFBhdGggeGxpbms6aHJlZj0iI1BhdGgxIj48
dHNwYW4geD0iMTAsMzAsNTAsNzUsOTUsMTEwIiB5PSIxMTAiPnNhbXBsZTwvdHNwYW4+PC90ZXh0
UGF0aD4KKyAgICAgICAgICAgIDwvdGV4dD4KKyAgICAgICAgICAgIDx0ZXh0IGZvbnQtc2l6ZT0i
MTAiIHg9IjE1IiB5PSI2MCI+dHNwYW4geD0iMTAsMzAsNTAsNzUsOTUsMTEwIjwvdGV4dD4KKyAg
ICAgICAgICAgIDx0ZXh0IGZvbnQtc2l6ZT0iMTAiIHg9IjM1IiB5PSI3MCI+eT0iMTEwIjwvdGV4
dD4KKyAgICAgICAgIDwvZz4KKyAgICAgICAgCisgICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5z
bGF0ZSgzMDAsNzApIj4KKyAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI1BhdGgxIiBzdHls
ZT0iZmlsbDpub25lOyBzdHJva2U6Ymx1ZTsgc3Ryb2tlLXdpZHRoOjIiLz4KKwkgICAgICA8dGV4
dCBmb250LXNpemU9IjIwIj4KKyAgICAgICAgICAgICAgICA8dGV4dFBhdGggeGxpbms6aHJlZj0i
I1BhdGgxIj48dHNwYW4gZHg9IjAsMTAsMTAsMTAsMTAsMTAiPnNhbXBsZTwvdHNwYW4+PC90ZXh0
UGF0aD4KKyAgICAgICAgICAgIDwvdGV4dD4KKwkJPHRleHQgZm9udC1zaXplPSIxMCIgeD0iMTUi
IHk9IjYwIj50c3BhbiBkeD0iMCwxMCwxMCwxMCwxMCwxMCI8L3RleHQ+CisgICAgICAgICA8L2c+
CisKKworICAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwxNjApIj4KKyAgICAgICAg
ICAgIDx1c2UgeGxpbms6aHJlZj0iI1BhdGgxIiBzdHlsZT0iZmlsbDpub25lOyBzdHJva2U6Ymx1
ZTsgc3Ryb2tlLXdpZHRoOjIiLz4KKwkgICAgICA8dGV4dCBmb250LXNpemU9IjIwIj4KKyAgICAg
ICAgICAgICAgICA8dGV4dFBhdGggeGxpbms6aHJlZj0iI1BhdGgxIiB0ZXh0TGVuZ3RoPSIxNDAi
PnNhbXBsZTwvdGV4dFBhdGg+CisgICAgICAgICAgICA8L3RleHQ+CisgICAgICAgICAgICA8dGV4
dCBmb250LXNpemU9IjEwIiB4PSIzNSIgeT0iNjAiPnRleHRMZW5ndGg9IjE0MCI8L3RleHQ+Cisg
ICAgICAgICA8L2c+CisKKworICAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwLDE2
MCkiPgorICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjUGF0aDEiIHN0eWxlPSJmaWxsOm5v
bmU7IHN0cm9rZTpibHVlOyBzdHJva2Utd2lkdGg6MiIvPgorCSAgICAgIDx0ZXh0IGZvbnQtc2l6
ZT0iMjAiPgorICAgICAgICAgICAgICAgIDx0ZXh0UGF0aCB4bGluazpocmVmPSIjUGF0aDEiIHRl
eHRMZW5ndGg9IjcwIj5zYW1wbGU8L3RleHRQYXRoPgorICAgICAgICAgICAgPC90ZXh0PgorICAg
ICAgICAgICAgPHRleHQgZm9udC1zaXplPSIxMCIgeD0iMzUiIHk9IjYwIj50ZXh0TGVuZ3RoPSI3
MCI8L3RleHQ+CisgICAgICAgICA8L2c+CisKKyAgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNs
YXRlKDMwMCwxNjApIj4KKyAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI1BhdGgxIiBzdHls
ZT0iZmlsbDpub25lOyBzdHJva2U6Ymx1ZTsgc3Ryb2tlLXdpZHRoOjIiLz4KKwkgICAgICA8dGV4
dCBmb250LXNpemU9IjIwIj4KKyAgICAgICAgICAgICAgICA8dGV4dFBhdGggeGxpbms6aHJlZj0i
I1BhdGgxIiBrZXJuaW5nPSIxMCI+c2FtcGxlPC90ZXh0UGF0aD4KKyAgICAgICAgICAgIDwvdGV4
dD4KKyAgICAgICAgICAgIDx0ZXh0IGZvbnQtc2l6ZT0iMTAiIHg9IjM1IiB5PSI2MCI+a2Vybmlu
Zz0iMTAiPC90ZXh0PgorICAgICAgICAgPC9nPgorCisKKyAgICAgICAgPGcgdHJhbnNmb3JtPSJ0
cmFuc2xhdGUoMCwyNTApIj4KKyAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI1BhdGgxIiBz
dHlsZT0iZmlsbDpub25lOyBzdHJva2U6Ymx1ZTsgc3Ryb2tlLXdpZHRoOjIiLz4KKwkgICAgICA8
dGV4dCBmb250LXNpemU9IjIwIj4KKyAgICAgICAgICAgICAgICA8dGV4dFBhdGggeGxpbms6aHJl
Zj0iI1BhdGgxIiB0ZXh0TGVuZ3RoPSIxNDAiIGxlbmd0aEFkanVzdD0ic3BhY2luZ0FuZEdseXBo
cyI+c2FtcGxlPC90ZXh0UGF0aD4KKyAgICAgICAgICAgIDwvdGV4dD4KKyAgICAgICAgICAgIDx0
ZXh0IGZvbnQtc2l6ZT0iMTAiIHg9IjM1IiB5PSI2MCI+dGV4dExlbmd0aD0iMTQwIjwvdGV4dD4K
KyAgICAgICAgICAgIDx0ZXh0IGZvbnQtc2l6ZT0iMTAiIHg9IjM1IiB5PSI3MCI+bGVuZ3RoQWRq
dXN0PTwvdGV4dD4KKyAgICAgICAgICAgIDx0ZXh0IGZvbnQtc2l6ZT0iMTAiIHg9IjM1IiB5PSI4
MCI+InNwYWNpbmdBbmRHbHlwaHMiPC90ZXh0PgorICAgICAgICAgPC9nPgorCisgICAgICAgICA8
ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNTAsMjUwKSI+CisgICAgICAgICAgICA8dXNlIHhsaW5r
OmhyZWY9IiNQYXRoMSIgc3R5bGU9ImZpbGw6bm9uZTsgc3Ryb2tlOmJsdWU7IHN0cm9rZS13aWR0
aDoyIi8+CisJICAgICAgPHRleHQgZm9udC1zaXplPSIyMCI+CisgICAgICAgICAgICAgICAgPHRl
eHRQYXRoIHhsaW5rOmhyZWY9IiNQYXRoMSIgdGV4dExlbmd0aD0iNTAiIGxlbmd0aEFkanVzdD0i
c3BhY2luZ0FuZEdseXBocyI+c2FtcGxlPC90ZXh0UGF0aD4KKyAgICAgICAgICAgIDwvdGV4dD4K
KyAgICAgICAgICAgIDx0ZXh0IGZvbnQtc2l6ZT0iMTAiIHg9IjM1IiB5PSI2MCI+dGV4dExlbmd0
aD0iNTAiPC90ZXh0PgorICAgICAgICAgICAgPHRleHQgZm9udC1zaXplPSIxMCIgeD0iMzUiIHk9
IjcwIj5sZW5ndGhBZGp1c3Q9PC90ZXh0PgorICAgICAgICAgICAgPHRleHQgZm9udC1zaXplPSIx
MCIgeD0iMzUiIHk9IjgwIj4ic3BhY2luZ0FuZEdseXBocyI8L3RleHQ+CisgICAgICAgICA8L2c+
CisKKyAgICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMDAsMjUwKSI+CisgICAgICAg
ICAgICA8dXNlIHhsaW5rOmhyZWY9IiNQYXRoMSIgc3R5bGU9ImZpbGw6bm9uZTsgc3Ryb2tlOmJs
dWU7IHN0cm9rZS13aWR0aDoyIi8+CisJICAgICAgPHRleHQgZm9udC1zaXplPSIyMCI+CisgICAg
ICAgICAgICAgICAgPHRleHRQYXRoIHhsaW5rOmhyZWY9IiNQYXRoMSIgdGV4dExlbmd0aD0iMTQw
IiBsZW5ndGhBZGp1c3Q9InNwYWNpbmdBbmRHbHlwaHMiIGtlcm5pbmc9IjEwIj5zYW1wbGU8L3Rl
eHRQYXRoPgorICAgICAgICAgICAgPC90ZXh0PgorICAgICAgICAgICAgPHRleHQgZm9udC1zaXpl
PSIxMCIgeD0iNSIgeT0iNjAiPnRleHRMZW5ndGg9IjE0MCIsIGtlcm5pbmc9IjEwIjwvdGV4dD4K
KyAgICAgICAgICAgIDx0ZXh0IGZvbnQtc2l6ZT0iMTAiIHg9IjUiIHk9IjcwIj5sZW5ndGhBZGp1
c3Q9PC90ZXh0PgorICAgICAgICAgICAgPHRleHQgZm9udC1zaXplPSIxMCIgeD0iNSIgeT0iODAi
PiJzcGFjaW5nQW5kR2x5cGhzIjwvdGV4dD4KKyAgICAgICAgIDwvZz4KKyAgICAgICAKKyAgICAg
ICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsMzUwKSI+CisgICAgICAgICAgICA8dXNlIHhs
aW5rOmhyZWY9IiNQYXRoMSIgc3R5bGU9ImZpbGw6bm9uZTsgc3Ryb2tlOmJsdWU7IHN0cm9rZS13
aWR0aDoyIi8+CisJICAgICAgPHRleHQgZm9udC1zaXplPSIyMCI+CisgICAgICAgICAgICAgICAg
PHRleHRQYXRoIHhsaW5rOmhyZWY9IiNQYXRoMSIgbGV0dGVyLXNwYWNpbmc9Ii0zIj5zYW1wbGU8
L3RleHRQYXRoPgorICAgICAgICAgICAgPC90ZXh0PgorICAgICAgICAgICAgPHRleHQgZm9udC1z
aXplPSIxMCIgeD0iMzUiIHk9IjYwIj5sZXR0ZXItc3BhY2luZz0iLTMiPC90ZXh0PgorICAgICAg
ICAgPC9nPgorCisgICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNTAsMzUwKSI+Cisg
ICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNQYXRoMSIgc3R5bGU9ImZpbGw6bm9uZTsgc3Ry
b2tlOmJsdWU7IHN0cm9rZS13aWR0aDoyIi8+CisJICAgICAgPHRleHQgZm9udC1zaXplPSIyMCI+
CisgICAgICAgICAgICAgICAgPHRleHRQYXRoIHhsaW5rOmhyZWY9IiNQYXRoMSIgdGV4dExlbmd0
aD0iMTQwIiB3b3JkLXNwYWNpbmc9IjJlbSI+c2FtcGxlIHNhbXBsZTwvdGV4dFBhdGg+CisgICAg
ICAgICAgICA8L3RleHQ+CisgICAgICAgICAgICA8dGV4dCBmb250LXNpemU9IjEwIiB4PSIzNSIg
eT0iNjAiPnRleHRMZW5ndGg9IjE0MCI8L3RleHQ+CisgICAgICAgICAgICA8dGV4dCBmb250LXNp
emU9IjEwIiB4PSIzNSIgeT0iNzAiPndvcmQtc3BhY2luZz0iMmVtIjwvdGV4dD4KKyAgICAgICAg
IDwvZz4KKworICAgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMwMCwzNTApIj4KKyAg
ICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI1BhdGgxIiBzdHlsZT0iZmlsbDpub25lOyBzdHJv
a2U6Ymx1ZTsgc3Ryb2tlLXdpZHRoOjIiLz4KKwkgICAgICA8dGV4dCBmb250LXNpemU9IjIwIj4K
KyAgICAgICAgICAgICAgICA8dGV4dFBhdGggeGxpbms6aHJlZj0iI1BhdGgxIiB0ZXh0TGVuZ3Ro
PSIxNDAiIGxlbmd0aEFkanVzdD0ic3BhY2luZ0FuZEdseXBocyIgd29yZC1zcGFjaW5nPSItNSI+
c2FtcGxlIHNhbXBsZTwvdGV4dFBhdGg+CisgICAgICAgICAgICA8L3RleHQ+CisgICAgICAgICAg
ICA8dGV4dCBmb250LXNpemU9IjEwIiB4PSIzNSIgeT0iNjAiPnRleHRMZW5ndGg9IjE0MCI8L3Rl
eHQ+CisgICAgICAgICAgICA8dGV4dCBmb250LXNpemU9IjEwIiB4PSIzNSIgeT0iNzAiPndvcmQt
c3BhY2luZz0iLTUiPC90ZXh0PgorICAgICAgICAgICAgPHRleHQgZm9udC1zaXplPSIxMCIgeD0i
MzUiIHk9IjgwIj5sZW5ndGhBZGp1c3Q9PC90ZXh0PgorICAgICAgICAgICAgPHRleHQgZm9udC1z
aXplPSIxMCIgeD0iMzUiIHk9IjkwIj4ic3BhY2luZ0FuZEdseXBocyI8L3RleHQ+CisgICAgICAg
ICA8L2c+CisKKworCisKKworICAgIDwvZz4KKworICAgIDwhLS0gPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKyAgICA8IS0t
IEJhdGlrIHNhbXBsZSBtYXJrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLS0+CisgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorICAgIDx1c2UgeGxpbms6aHJlZj0iLi4vcmVz
b3VyY2VzL2JhdGlrTG9nby5zdmcjQmF0aWtfVGFnX0JveCIgLz4KKworPC9zdmc+CisKClByb3Bl
cnR5IGNoYW5nZXMgb246IHN2Zy9iYXRpay90ZXh0L3RleHRPblBhdGhTcGFjZXMuc3ZnCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KTmFtZTogc3ZuOmV4ZWN1dGFibGUKICAgKyAqCgpJbmRleDogc3ZnL2JhdGlrL3RleHQv
dGV4dFBDREFUQS1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzdmcvYmF0aWsvdGV4
dC90ZXh0UENEQVRBLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQorKysgc3ZnL2JhdGlr
L3RleHQvdGV4dFBDREFUQS1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSBAQAorZjY1YjdiMmQyY2YxMjFhODI2MTc0NGI1YzgyNmUxMmYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCkluZGV4OiBzdmcvYmF0aWsvdGV4dC90ZXh0UENEQVRBLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBzdmcvYmF0aWsvdGV4dC90ZXh0UENEQVRBLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKKysrIHN2Zy9iYXRpay90ZXh0L3RleHRQQ0RBVEEtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDQzIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJTVkdDb250YWluZXIg
e3N2Z30gYXQgKDExMywxNikgc2l6ZSA2MTV4MjQ4CisgICAgICBSZW5kZXJTVkdDb250YWluZXIg
e2d9IGF0ICgxMTMsMTYpIHNpemUgNjE1eDI0OAorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0
fSBhdCAoMjI1LDMwKSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7
I3RleHR9IGF0ICgtODgsLTE0KSBzaXplIDE3N3gxNworICAgICAgICAgICAgdGV4dCBydW4gYXQg
KC04OCwtMTQpIHdpZHRoIDE3NzogIkNoYXJhY3RlciBEYXRhIG9uIDx0ZXh0PiIKKyAgICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTI5LDEwNikgc2l6ZSAxOTN4MzggW3RyYW5zZm9y
bT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMjI1LjAwLDEyMC4wMCl9XQorICAgICAg
ICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDApIHNpemUgODAweDAKKyAgICAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTQ0LC0xNCkgc2l6ZSA4OXgxOAorICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTQ0LC0xNCkgd2lkdGggODk6ICJDREFUQSBvbmx5Igor
ICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDIwKSBzaXplIDgwMHgwIFtjb2xv
cj0jREMxNDNDXQorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I2NkYXRhLXNlY3Rp
b259IGF0ICgtOTYsLTE0KSBzaXplIDE5M3gxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
LTk2LC0xNCkgd2lkdGggMTkzOiAiPHRleHQ+IHdpdGggYSBDREFUQSBzZWN0aW9uIgorICAgICAg
ICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxNjYsMTY2KSBzaXplIDM5MHgzOCBbdHJhbnNm
b3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgyMjUuMDAsMTgwLjAwKX1dCisgICAg
ICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAorICAgICAgICAg
ICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgtNTksLTE0KSBzaXplIDExOXgxOAor
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTU5LC0xNCkgd2lkdGggMTE5OiAidGV4dCwgQ0RB
VEEsIHRleHQiCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMjApIHNpemUg
ODAweDAgW2NvbG9yPSNEQzE0M0NdCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsj
dGV4dH0gYXQgKC0zMiwtMTQpIHNpemUgOTZ4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KC0zMiwtMTQpIHdpZHRoIDk2OiAiVGV4dCBmaXJzdCwgdGhlbiAiCisgICAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjY2RhdGEtc2VjdGlvbn0gYXQgKDk2LC0xNCkgc2l6ZSAxNjZ4MTgK
KyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDk2LC0xNCkgd2lkdGggMTY2OiAiQ0RBVEEgc2Vj
dGlvbiBpbiA8dGV4dD4iCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0g
YXQgKDI2MiwtMTQpIHNpemUgNjl4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI2Miwt
MTQpIHdpZHRoIDY5OiAiLCB0ZXh0IGFnYWluIgorICAgICAgICBSZW5kZXJTVkdDb250YWluZXIg
e2d9IGF0ICgxMTMsMjI2KSBzaXplIDYxNXgzOCBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgw
LjAwLDEuMDApKSB0PSgyMjUuMDAsMjQwLjAwKX1dCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7
dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4
dCB7I3RleHR9IGF0ICgtMTEyLC0xNCkgc2l6ZSAyMjV4MTgKKyAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKC0xMTIsLTE0KSB3aWR0aCAyMjU6ICJ0ZXh0LCBDREFUQSwgdHNwYW4sIENEQVRBLCB0
ZXh0IgorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDIwKSBzaXplIDgwMHgw
IFtjb2xvcj0jREMxNDNDXQorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgtMjUsLTE0KSBzaXplIDMxeDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtMjUs
LTE0KSB3aWR0aCAzMTogInRleHQsICIKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQg
eyNjZGF0YS1zZWN0aW9ufSBhdCAoMzEsLTE0KSBzaXplIDE2NngxOAorICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMzEsLTE0KSB3aWR0aCAxNjY6ICJDREFUQSBzZWN0aW9uIGluIDx0ZXh0PiIK
KyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMTk3LC0xNCkgc2l6
ZSA4eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxOTcsLTE0KSB3aWR0aCA4OiAiLCAi
CisgICAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMjI5eDE4
IFtjb2xvcj0jRkZENzAwXQorICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4
dH0gYXQgKDIwNSwtMTQpIHNpemUgNTN4MTgKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MjA1LC0xNCkgd2lkdGggNTM6ICJ0c3BhbiB3LyIKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I2NkYXRhLXNlY3Rpb259IGF0ICgyNTgsLTE0KSBzaXplIDE3NngxOAorICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgyNTgsLTE0KSB3aWR0aCAxNzY6ICJDREFUQSBzZWN0aW9u
IGluIDx0c3Bhbj4iCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KDQzNCwtMTQpIHNpemUgNjl4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQzNCwtMTQp
IHdpZHRoIDY5OiAiLCB0ZXh0IGFnYWluIgpJbmRleDogc3ZnL2JhdGlrL3RleHQvdGV4dFBDREFU
QS5zdmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gc3ZnL2JhdGlrL3RleHQvdGV4dFBDREFUQS5zdmcJKHJldmlz
aW9uIDApCisrKyBzdmcvYmF0aWsvdGV4dC90ZXh0UENEQVRBLnN2ZwkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSw1NSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PgorPCFE
T0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjAvL0VOIgorImh0dHA6Ly93d3cu
dzMub3JnL1RSLzIwMDEvUkVDLVNWRy0yMDAxMDkwNC9EVEQvc3ZnMTAuZHRkIj4KKworPCEtLQor
CisgICBDb3B5cmlnaHQgMjAwMSAgVGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIAorCisg
ICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxp
Y2Vuc2UiKTsKKyAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFu
Y2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGlj
ZW5zZSBhdAorCisgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0Ut
Mi4wCisKKyAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8g
aW4gd3JpdGluZywgc29mdHdhcmUKKyAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlz
IGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgICBXSVRIT1VUIFdBUlJBTlRJRVMg
T1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAg
IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJt
aXNzaW9ucyBhbmQKKyAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCistLT4KKzwh
LS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PSAtLT4KKzwhLS0gVmFsaWRhdGVzIHRoYXQgQ0RBVEEgc2VjdGlv
bnMgaW4gJmx0O3RleHQmZ3Q7IGVsZW1lbnRzIGFyZSBzdXBwb3J0ZWQuICAgICAtLT4KKzwhLS0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAtLT4KKzwhLS0gQGF1dGhvciB2aW5jZW50LmhhcmR5QHN1bi5jb20g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKzwhLS0gQHZl
cnNpb24gJElkOiB0ZXh0UENEQVRBLnN2Zyx2IDEuNCAyMDA0LzA4LzE4IDA3OjEyOjIzIHZoYXJk
eSBFeHAgJCAgICAgICAgLS0+Cis8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cis8P3htbC1zdHls
ZXNoZWV0IHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9yZXNvdXJjZXMvdGVzdC5jc3MiID8+CisK
KzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0
cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjQ1MCIgaGVpZ2h0PSI1MDAiIHZpZXdC
b3g9IjAgMCA0NTAgNTAwIj4KKworICAgIDxnIGlkPSJjb250ZW50Ij4KKworICAgICAgICA8dGV4
dCBjbGFzcz0idGl0bGUiIHg9IjUwJSIgeT0iMzAiPkNoYXJhY3RlciBEYXRhIG9uICZsdDt0ZXh0
Jmd0OzwvdGV4dD4KKworICAgICAgICA8IS0tIFNpbXBsZSBjYXNlOiBDREFUQSBvbmx5IC0tPgor
ICAgICAgICA8ZyBjbGFzcz0ibGFiZWwiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHRyYW5zZm9ybT0i
dHJhbnNsYXRlKDIyNSwgMTIwKSI+CisgICAgICAgICAgICA8dGV4dD5DREFUQSBvbmx5PC90ZXh0
PgorICAgICAgICAgICAgPHRleHQgZmlsbD0iY3JpbXNvbiIgeT0iMjAiPjwhW0NEQVRBWzx0ZXh0
PiB3aXRoIGEgQ0RBVEEgc2VjdGlvbl1dPjwvdGV4dD4KKyAgICAgICAgPC9nPgorCisgICAgICAg
IDwhLS0gdGV4dCwgQ0RBVEEsIHRleHQgLS0+CisgICAgICAgIDxnIGNsYXNzPSJsYWJlbCIgdGV4
dC1hbmNob3I9Im1pZGRsZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjI1LCAxODApIj4KKyAgICAg
ICAgICAgIDx0ZXh0PnRleHQsIENEQVRBLCB0ZXh0PC90ZXh0PgorICAgICAgICAgICAgPHRleHQg
ZmlsbD0iY3JpbXNvbiIgeT0iMjAiID5UZXh0IGZpcnN0LCB0aGVuIDwhW0NEQVRBW0NEQVRBIHNl
Y3Rpb24gaW4gPHRleHQ+XV0+LCB0ZXh0IGFnYWluPC90ZXh0PgorICAgICAgICA8L2c+CisKKyAg
ICAgICAgPCEtLSB0ZXh0LCBDREFUQSwgdHNwYW4sIENEQVRBLCB0ZXh0IC0tPgorICAgICAgICA8
ZyBjbGFzcz0ibGFiZWwiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHRyYW5zZm9ybT0idHJhbnNsYXRl
KDIyNSwgMjQwKSI+CisgICAgICAgICAgICA8dGV4dD50ZXh0LCBDREFUQSwgdHNwYW4sIENEQVRB
LCB0ZXh0PC90ZXh0PgorICAgICAgICAgICAgPHRleHQgZmlsbD0iY3JpbXNvbiIgeT0iMjAiPnRl
eHQsIDwhW0NEQVRBW0NEQVRBIHNlY3Rpb24gaW4gPHRleHQ+XV0+LCA8dHNwYW4gZmlsbD0iZ29s
ZCI+dHNwYW4gdy88IVtDREFUQVtDREFUQSBzZWN0aW9uIGluIDx0c3Bhbj5dXT48L3RzcGFuPiwg
dGV4dCBhZ2FpbjwvdGV4dD4KKyAgICAgICAgPC9nPgorCisgICAgPC9nPgorPC9zdmc+CgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBzdmcvYmF0aWsvdGV4dC90ZXh0UENEQVRBLnN2ZwpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
Ck5hbWU6IHN2bjpleGVjdXRhYmxlCiAgICsgKgoKSW5kZXg6IHN2Zy9iYXRpay90ZXh0L3RleHRQ
b3NpdGlvbjItZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3ZnL2JhdGlrL3RleHQv
dGV4dFBvc2l0aW9uMi1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKKysrIHN2Zy9iYXRp
ay90ZXh0L3RleHRQb3NpdGlvbjItZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEgQEAKKzRkNzNhZjJmYTViMDQ4YmQ1MTQzMWIxZTk1NzlkNmJmClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpJbmRleDogc3ZnL2JhdGlrL3RleHQvdGV4dFBvc2l0aW9uMi1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gc3ZnL2JhdGlrL3RleHQvdGV4dFBvc2l0aW9uMi1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCisrKyBzdmcvYmF0aWsvdGV4dC90ZXh0UG9zaXRpb24yLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw4MiBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVy
U1ZHQ29udGFpbmVyIHtzdmd9IGF0ICg1MCwxNikgc2l6ZSAzOTl4MzM3CisgICAgICBSZW5kZXJT
VkdIaWRkZW5Db250YWluZXIge2RlZnN9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJT
VkdUZXh0IHt0ZXh0fSBhdCAoMjI1LDMwKSBzaXplIDgwMHgwCisgICAgICAgIFJlbmRlclNWR0lu
bGluZVRleHQgeyN0ZXh0fSBhdCAoLTUzLC0xNCkgc2l6ZSAxMDZ4MTcKKyAgICAgICAgICB0ZXh0
IHJ1biBhdCAoLTUzLC0xNCkgd2lkdGggMTA2OiAiVGV4dCBQb3NpdGlvbiAyIgorICAgICAgUmVu
ZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoNTAsNTgpIHNpemUgMzk5eDI5NQorICAgICAgICBSZW5k
ZXJTVkdUZXh0IHt0ZXh0fSBhdCAoNTAsODApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTIyKSBzaXplIDUzeDI4CisgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwtMjIpIHdpZHRoIDUzOiAiQmF0aWsiCisgICAgICAgIFJlbmRlclNWR1Rl
eHQge3RleHR9IGF0ICg1MCwxMDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDAsLTkpIHNpemUgMTAzeDExCisgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwtOSkgd2lkdGggMTAzOiAiPHRleHQgeD1cIjEwMFwiIHk9XCI4MFwiPiIKKyAgICAg
ICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDI0MCw4MCkgc2l6ZSA4MDB4MAorICAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMjIpIHNpemUgNTN4MjgKKyAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLC0yMikgd2lkdGggNTM6ICJCYXRpayIKKyAgICAgICAgUmVu
ZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDI0MCwxMDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTkpIHNpemUgMTk0eDExCisgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwtOSkgd2lkdGggMTk0OiAiPHRleHQgeD1cIjI0MFwiIHk9XCI4MFwi
IGxldHRlci1zcGFjaW5nPVwiMjBcIj4iCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0
ICg1MCwxNDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4
dH0gYXQgKDAsLTIyKSBzaXplIDkyeDI4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMjIp
IHdpZHRoIDkyOiAiQmF0aWsiCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICg1MCwx
NjApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KDAsLTkpIHNpemUgMTc1eDExCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtOSkgd2lkdGgg
MTc1OiAiPHRleHQgeD1cIjUwIDcwIDkwIDExMCAxMzBcIiB5PVwiMTQwXCI+IgorICAgICAgICBS
ZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwxNDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDI0MCwtMjIpIHNpemUgMTMzeDI4CisgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMjQwLC0yMikgd2lkdGggMTMzOiAiQmF0aWsiCisgICAgICAgIFJl
bmRlclNWR1RleHQge3RleHR9IGF0ICgyNDAsMTYwKSBzaXplIDgwMHgwCisgICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC05KSBzaXplIDE3NXgxMQorICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsLTkpIHdpZHRoIDE3NTogIjx0ZXh0IGR4PVwiMjQwIDIwIDIwIDIw
IDIwXCIgeT1cIjE0MFwiPiIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkg
c2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6
ZSA1M3gyOAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg1MCwx
NzgpIHNpemUgNTN4MjgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDUwLDE3OCkgd2lkdGgg
NTM6ICJCYXRpayIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDUwLDIyMCkgc2l6
ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtOSkg
c2l6ZSAxMTJ4MTEKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC05KSB3aWR0aCAxMTI6ICI8
dHNwYW4geD1cIjUwXCIgeT1cIjIwMFwiPiIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0g
YXQgKDAsMCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQg
KDAsMCkgc2l6ZSA1M3gyOAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgyNDAsMTc4KSBzaXplIDUzeDI4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNDAs
MTc4KSB3aWR0aCA1MzogIkJhdGlrIgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAo
MCwwKSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCww
KSBzaXplIDIwOXgxMQorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgyNDAsMjExKSBzaXplIDIwOXgxMQorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjQwLDIx
MSkgd2lkdGggMjA5OiAiPHRzcGFuIHg9XCIyNDBcIiB5PVwiMjAwXCIgbGV0dGVyLXNwYWNpbmc9
XCIyMFwiPiIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4
MAorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSA5MngyOAor
ICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg1MCwyMzgpIHNpemUg
OTJ4MjgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDUwLDIzOCkgd2lkdGggOTI6ICJCYXRp
ayIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDUwLDI4MCkgc2l6ZSA4MDB4MAor
ICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtOSkgc2l6ZSAxODR4
MTEKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC05KSB3aWR0aCAxODQ6ICI8dHNwYW4geD1c
IjUwIDcwIDkwIDExMCAxMzBcIiB5PVwiMjYwXCI+IgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0
ZXh0fSBhdCAoMCwwKSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFu
fSBhdCAoMCwwKSBzaXplIDEzM3gyOAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7
I3RleHR9IGF0ICgyNDAsMjM4KSBzaXplIDEzM3gyOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMjQwLDIzOCkgd2lkdGggMTMzOiAiQmF0aWsiCisgICAgICAgIFJlbmRlclNWR1RleHQge3Rl
eHR9IGF0ICgyNDAsMjgwKSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4
dCB7I3RleHR9IGF0ICgwLC05KSBzaXplIDE4NHgxMQorICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsLTkpIHdpZHRoIDE4NDogIjx0c3BhbiBkeD1cIjI0MCAyMCAyMCAyMCAyMFwiIHk9XCIyNjBc
Ij4iCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDApIHNpemUgODAweDAKKyAg
ICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgOTJ4MjgKKyAgICAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoNTAsMjk4KSBzaXplIDkyeDI4
CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1MCwyOTgpIHdpZHRoIDkyOiAiQmF0aWsiCisg
ICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICg1MCwzNDApIHNpemUgODAweDAKKyAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTkpIHNpemUgMTI5eDExCisg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtOSkgd2lkdGggMTI5OiAiPHRzcGFuIHg9XCI1MCA2
MCA3MCA4MCA5MFwiICIKKyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDAp
IHNpemUgMTM3eDExCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KDMzLDIpIHNpemUgMTM3eDExCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzMywyKSB3aWR0
aCAxMzc6ICJkeD1cIjAgMTAgMjAgMzAgNDBcIiB5PVwiMzIwXCI+IgorICAgICAgICBSZW5kZXJT
VkdUZXh0IHt0ZXh0fSBhdCAoMCwwKSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHVFNw
YW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDkzeDI4CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDI0MCwyOTgpIHNpemUgOTN4MjgKKyAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDI0MCwyOTgpIHdpZHRoIDkzOiAiQmF0aWsiCisgICAgICAgIFJlbmRlclNWR1Rl
eHQge3RleHR9IGF0ICgyNDAsMzQwKSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgwLC05KSBzaXplIDE2OXgxMQorICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsLTkpIHdpZHRoIDE2OTogIjx0c3BhbiB4PVwiMjQwXCIgZHg9XCIwIDEwIDEwIDEw
IDEwXCIgIgorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAx
NTh4MTEKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMzMsMikg
c2l6ZSAxNTh4MTEKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMzLDIpIHdpZHRoIDE1ODog
Ink9XCIzMjBcIiBzdHlsZT1cImxldHRlci1zcGFjaW5nOjEwXCI+IgorICAgICAgUmVuZGVyU1ZH
Q29udGFpbmVyIHt1c2V9IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBzdmcvYmF0aWsvdGV4dC90
ZXh0UG9zaXRpb24yLnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzdmcvYmF0aWsvdGV4dC90ZXh0UG9zaXRp
b24yLnN2ZwkocmV2aXNpb24gMCkKKysrIHN2Zy9iYXRpay90ZXh0L3RleHRQb3NpdGlvbjIuc3Zn
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEyMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFu
ZGFsb25lPSJubyI/PgorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjAv
L0VOIgorImh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLVNWRy0yMDAxMDkwNC9EVEQvc3Zn
MTAuZHRkIj4KKworPCEtLQorCisgICBDb3B5cmlnaHQgMjAwMS0yMDAyICBUaGUgQXBhY2hlIFNv
ZnR3YXJlIEZvdW5kYXRpb24gCisKKyAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5z
ZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICAgeW91IG1heSBub3QgdXNlIHRoaXMg
ZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICAgWW91IG1heSBv
YnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgICBodHRwOi8vd3d3LmFwYWNo
ZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxp
Y2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICAgZGlzdHJpYnV0
ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywK
KyAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIg
ZXhwcmVzcyBvciBpbXBsaWVkLgorICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMg
bGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICAgbGltaXRhdGlvbnMgdW5kZXIg
dGhlIExpY2Vuc2UuCisKKy0tPgorPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPCEtLSBUZXN0
IHRoZSB4LGR4IGFuZCB5LGR5IGF0dHJpYnV0ZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC0tPgorPCEtLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorPCEtLSBAYXV0aG9y
IHRrb3JtYW5uQGlsb2cuZnIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC0tPgorPCEtLSBAdmVyc2lvbiAkSWQ6IHRleHRQb3NpdGlvbjIuc3ZnLHYgMS40
IDIwMDQvMDgvMTggMDc6MTI6MjMgdmhhcmR5IEV4cCAkIC0tPgorPCEtLSA9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09IC0tPgorPD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vcmVzb3Vy
Y2VzL3Rlc3QuY3NzIiA/PgorCis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2
ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSI0NTAi
IGhlaWdodD0iNTAwIiB2aWV3Qm94PSIwIDAgNDUwIDUwMCI+Cis8dGl0bGU+VGV4dCBQb3NpdGlv
biAyPC90aXRsZT4KKworICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwhW0NEQVRBWworICAgIC5p
bmZvIHsKKyAgICAgIGZvbnQtZmFtaWx5OiBBcmlhbDsKKyAgICAgIGZvbnQtc2l6ZTogMTBweDsK
KyAgICB9CisgIF1dPgorICA8L3N0eWxlPgorCis8ZGVmcz4KKzxmb250IGhvcml6LWFkdi14PSI5
MDQiID48Zm9udC1mYWNlCisgICAgZm9udC1mYW1pbHk9IlNWR0FyaWFsIgorICAgIHVuaXRzLXBl
ci1lbT0iMjA0OCIKKyAgICBwYW5vc2UtMT0iMiAxMSA2IDQgMiAyIDIgMiAyIDQiCisgICAgYXNj
ZW50PSIxODU0IgorICAgIGRlc2NlbnQ9Ii00MzQiCisgICAgYWxwaGFiZXRpYz0iMCIgLz4KKzxt
aXNzaW5nLWdseXBoIGhvcml6LWFkdi14PSIxNTM2IiBkPSJNMjU2IDBWMTI4MEgxMjgwVjBIMjU2
Wk0yODggMzJIMTI0OFYxMjQ4SDI4OFYzMloiIC8+Cis8Z2x5cGggdW5pY29kZT0iQiIgZ2x5cGgt
bmFtZT0iQiIgaG9yaXotYWR2LXg9IjEzNjYiIGQ9Ik0xNTAgMFYxNDY2SDcwMFE4NjggMTQ2NiA5
NjkgMTQyMlQxMTI4IDEyODVUMTE4NiAxMDkxUTExODYgOTk3IDExMzUgOTE0VDk4MSA3ODBRMTEx
NCA3NDEgMTE4NSA2NDdUMTI1NyA0MjVRMTI1NyAzMjIgMTIxNCAyMzRUMTEwNiA5N1Q5NDYgMjVU
NzA5IDBIMTUwWk0zNDQgODUwSDY2MVE3OTAgODUwIDg0NiA4NjdROTIwIDg4OQorOTU3IDk0MFQ5
OTUgMTA2OFE5OTUgMTE0MSA5NjAgMTE5NlQ4NjAgMTI3MlQ2MzcgMTI5M0gzNDRWODUwWk0zNDQg
MTczSDcwOVE4MDMgMTczIDg0MSAxODBROTA4IDE5MiA5NTMgMjIwVDEwMjcgMzAxVDEwNTYgNDI1
UTEwNTYgNTA3IDEwMTQgNTY3VDg5OCA2NTJUNjgzIDY3N0gzNDRWMTczWiIgLz4KKzxnbHlwaCB1
bmljb2RlPSJhIiBnbHlwaC1uYW1lPSJhIiBob3Jpei1hZHYteD0iMTEzOSIgZD0iTTgyOCAxMzFR
NzI4IDQ2IDYzNiAxMVQ0MzcgLTI0UTI2MiAtMjQgMTY4IDYxVDc0IDI4MFE3NCAzNTggMTA5IDQy
MlQyMDIgNTI2VDMzMiA1ODVRMzg1IDU5OSA0OTIgNjEyUTcxMCA2MzggODEzIDY3NFE4MTQgNzEx
IDgxNCA3MjFRODE0IDgzMSA3NjMgODc2UTY5NCA5MzcgNTU4IDkzN1E0MzEgOTM3IDM3MSA4OTNU
MjgxIDczNUwxMDUKKzc1OVExMjkgODcyIDE4NCA5NDFUMzQzIDEwNDhUNTg0IDEwODZRNzIwIDEw
ODYgODA1IDEwNTRUOTMwIDk3NFQ5ODYgODUxUTk5NSA4MDUgOTk1IDY4NVY0NDVROTk1IDE5NCAx
MDA2IDEyOFQxMDUyIDBIODY0UTgzNiA1NiA4MjggMTMxWk04MTMgNTMzUTcxNSA0OTMgNTE5IDQ2
NVE0MDggNDQ5IDM2MiA0MjlUMjkxIDM3MVQyNjYgMjg1UTI2NiAyMTMgMzIwIDE2NVQ0ODAgMTE3
UTU4NCAxMTcgNjY1IDE2MlQ3ODQgMjg3UTgxMworMzQ4IDgxMyA0NjdWNTMzWiIgLz4KKzxnbHlw
aCB1bmljb2RlPSJpIiBnbHlwaC1uYW1lPSJpIiBob3Jpei1hZHYteD0iNDU1IiBkPSJNMTM2IDEy
NTlWMTQ2NkgzMTZWMTI1OUgxMzZaTTEzNiAwVjEwNjJIMzE2VjBIMTM2WiIgLz4KKzxnbHlwaCB1
bmljb2RlPSJrIiBnbHlwaC1uYW1lPSJrIiBob3Jpei1hZHYteD0iMTAyNCIgZD0iTTEzNiAwVjE0
NjZIMzE2VjYzMEw3NDIgMTA2Mkg5NzVMNTY5IDY2OEwxMDE2IDBINzk0TDQ0MyA1NDNMMzE2IDQy
MVYwSDEzNloiIC8+Cis8Z2x5cGggdW5pY29kZT0idCIgZ2x5cGgtbmFtZT0idCIgaG9yaXotYWR2
LXg9IjU2OSIgZD0iTTUyOCAxNjFMNTU0IDJRNDc4IC0xNCA0MTggLTE0UTMyMCAtMTQgMjY2IDE3
VDE5MCA5OFQxNjggMzExVjkyMkgzNlYxMDYySDE2OFYxMzI1TDM0NyAxNDMzVjEwNjJINTI4Vjky
MkgzNDdWMzAxUTM0NyAyMjQgMzU2IDIwMlQzODcgMTY3VDQ0OSAxNTRRNDc5IDE1NCA1MjggMTYx
WiIgLz4KKzwvZm9udD4KKworPC9kZWZzPgorCisKKyAgICA8IS0tID09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisgICAgPCEt
LSBUZXN0IGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC0tPgorICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKworPHRleHQgY2xhc3M9InRpdGxlIiB4PSI1
MCUiIHk9IjMwIj5UZXh0IFBvc2l0aW9uIDI8L3RleHQ+CisKKzxnIGlkPSJ0ZXN0Q29udGVudCIg
c3R5bGU9ImZvbnQtZmFtaWx5OlNWR0FyaWFsOyBmb250LXNpemU6MjRweCI+CisKKzwhLS0gIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyAtLT4KKworPHRleHQgeD0iNTAiIHk9IjgwIj5CYXRpazwvdGV4dD4KKzx0ZXh0IHg9IjUw
IiB5PSIxMDAiIGNsYXNzPSJpbmZvIj4mbHQ7dGV4dCB4PSIxMDAiIHk9IjgwIj48L3RleHQ+CisK
Kzx0ZXh0IHg9IjI0MCIgeT0iODAiIHN0eWxlPSJsZXR0ZXItc3BhY2luZzoyMCI+QmF0aWs8L3Rl
eHQ+Cis8dGV4dCB4PSIyNDAiIHk9IjEwMCIgY2xhc3M9ImluZm8iPiZsdDt0ZXh0IHg9IjI0MCIg
eT0iODAiIGxldHRlci1zcGFjaW5nPSIyMCI+PC90ZXh0PgorCisKKzx0ZXh0IHg9IjUwIDcwIDkw
IDExMCAxMzAiIHk9IjE0MCI+QmF0aWs8L3RleHQ+Cis8dGV4dCB4PSI1MCIgeT0iMTYwIiBjbGFz
cz0iaW5mbyI+Jmx0O3RleHQgeD0iNTAgNzAgOTAgMTEwIDEzMCIgeT0iMTQwIj48L3RleHQ+CisK
Kzx0ZXh0IGR4PSIyNDAgMjAgMjAgMjAgMjAiIHk9IjE0MCI+QmF0aWs8L3RleHQ+Cis8dGV4dCB4
PSIyNDAiIHk9IjE2MCIgY2xhc3M9ImluZm8iPiZsdDt0ZXh0IGR4PSIyNDAgMjAgMjAgMjAgMjAi
IHk9IjE0MCI+PC90ZXh0PgorCis8IS0tICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgLS0+CisKKzx0ZXh0Pjx0c3BhbiB4PSI1
MCIgeT0iMjAwIj5CYXRpazwvdHNwYW4+PC90ZXh0PgorPHRleHQgeD0iNTAiIHk9IjIyMCIgY2xh
c3M9ImluZm8iPiZsdDt0c3BhbiB4PSI1MCIgeT0iMjAwIj48L3RleHQ+CisKKzx0ZXh0Pjx0c3Bh
biB4PSIyNDAiIHk9IjIwMCIgc3R5bGU9ImxldHRlci1zcGFjaW5nOjIwIj5CYXRpazwvdHNwYW4+
PC90ZXh0PgorPHRleHQ+PHRzcGFuIHg9IjI0MCIgeT0iMjIwIiBjbGFzcz0iaW5mbyI+Jmx0O3Rz
cGFuIHg9IjI0MCIgeT0iMjAwIiBsZXR0ZXItc3BhY2luZz0iMjAiPjwvdHNwYW4+PC90ZXh0Pgor
CisKKzx0ZXh0Pjx0c3BhbiB4PSI1MCA3MCA5MCAxMTAgMTMwIiB5PSIyNjAiPkJhdGlrPC90c3Bh
bj48L3RleHQ+Cis8dGV4dCB4PSI1MCIgeT0iMjgwIiBjbGFzcz0iaW5mbyI+Jmx0O3RzcGFuIHg9
IjUwIDcwIDkwIDExMCAxMzAiIHk9IjI2MCI+PC90ZXh0PgorCis8dGV4dD48dHNwYW4gZHg9IjI0
MCAyMCAyMCAyMCAyMCIgeT0iMjYwIj5CYXRpazwvdHNwYW4+PC90ZXh0PgorPHRleHQgeD0iMjQw
IiB5PSIyODAiIGNsYXNzPSJpbmZvIj4mbHQ7dHNwYW4gZHg9IjI0MCAyMCAyMCAyMCAyMCIgeT0i
MjYwIj48L3RleHQ+CisKKzwhLS0gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAtLT4KKworPHRleHQ+PHRzcGFuIHg9IjUwIDYw
IDcwIDgwIDkwIiBkeD0iMCAxMCAyMCAzMCA0MCIgeT0iMzIwIj5CYXRpazwvdHNwYW4+PC90ZXh0
PgorPHRleHQgeD0iNTAiIHk9IjM0MCIgY2xhc3M9ImluZm8iPiZsdDt0c3BhbiB4PSI1MCA2MCA3
MCA4MCA5MCIgPHRzcGFuIHg9IjgzIiBkeT0iMS4xZW0iPmR4PSIwIDEwIDIwIDMwIDQwIiB5PSIz
MjAiPjwvdHNwYW4+PC90ZXh0PgorCisKKzx0ZXh0Pjx0c3BhbiB4PSIyNDAiIGR4PSIwIDEwIDEw
IDEwIDEwIiB5PSIzMjAiIHN0eWxlPSJsZXR0ZXItc3BhY2luZzoxMCI+QmF0aWs8L3RzcGFuPjwv
dGV4dD4KKzx0ZXh0IHg9IjI0MCIgeT0iMzQwIiBjbGFzcz0iaW5mbyI+Jmx0O3RzcGFuIHg9IjI0
MCIgZHg9IjAgMTAgMTAgMTAgMTAiIDx0c3BhbiB4PSIyNzMiIGR5PSIxLjFlbSI+eT0iMzIwIiBz
dHlsZT0ibGV0dGVyLXNwYWNpbmc6MTAiPjwvdHNwYW4+PC90ZXh0PgorCisKKworPC9nPgorCisg
ICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09IC0tPgorICAgIDwhLS0gQmF0aWsgc2FtcGxlIG1hcmsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKyAgICA8IS0tID09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cisg
ICAgPHVzZSB4bGluazpocmVmPSIuLi9yZXNvdXJjZXMvYmF0aWtMb2dvLnN2ZyNCYXRpa19UYWdf
Qm94IiAvPgorICAgIAorPC9zdmc+CisKClByb3BlcnR5IGNoYW5nZXMgb246IHN2Zy9iYXRpay90
ZXh0L3RleHRQb3NpdGlvbjIuc3ZnCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOmV4ZWN1dGFibGUKICAg
KyAqCgpJbmRleDogc3ZnL2JhdGlrL3RleHQvdGV4dFBvc2l0aW9uLWV4cGVjdGVkLmNoZWNrc3Vt
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIHN2Zy9iYXRpay90ZXh0L3RleHRQb3NpdGlvbi1leHBlY3RlZC5jaGVj
a3N1bQkocmV2aXNpb24gMCkKKysrIHN2Zy9iYXRpay90ZXh0L3RleHRQb3NpdGlvbi1leHBlY3Rl
ZC5jaGVja3N1bQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorYTUyNmM5YmI0MDc1MTVlZGEy
ZWM4MWY2YjI2NjhiNzIKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBzdmcvYmF0
aWsvdGV4dC90ZXh0UG9zaXRpb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN2Zy9iYXRp
ay90ZXh0L3RleHRQb3NpdGlvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBzdmcvYmF0
aWsvdGV4dC90ZXh0UG9zaXRpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDk3IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCww
KSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJTVkdDb250YWluZXIge3N2Z30gYXQgKDUwLDE2KSBz
aXplIDIxNDc0ODM2NDguMDB4MjE0NzQ4MzY0OC4wMAorICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4
dH0gYXQgKDIyNSwzMCkgc2l6ZSA4MDB4MAorICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsj
dGV4dH0gYXQgKC00NiwtMTQpIHNpemUgOTN4MTcKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTQ2
LC0xNCkgd2lkdGggOTM6ICJUZXh0IFBvc2l0aW9uIgorICAgICAgUmVuZGVyU1ZHQ29udGFpbmVy
IHtnfSBhdCAoNTAsNTgpIHNpemUgMjE0NzQ4MzY0OC4wMHgyMTQ3NDgzNjQ4LjAwCisgICAgICAg
IFJlbmRlclNWR1RleHQge3RleHR9IGF0ICg1MCw4MCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJl
bmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMjIpIHNpemUgNTN4MjcKKyAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLC0yMikgd2lkdGggNTM6ICJCYXRpayIKKyAgICAgICAgUmVuZGVy
U1ZHVGV4dCB7dGV4dH0gYXQgKDUwLDEwMCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtOSkgc2l6ZSAxMDN4MTEKKyAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLC05KSB3aWR0aCAxMDM6ICI8dGV4dCB4PVwiMTAwXCIgeT1cIjgwXCI+Igor
ICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjQwLDgwKSBzaXplIDgwMHgwCisgICAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0yMikgc2l6ZSA1M3gyNwor
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTIyKSB3aWR0aCA1MzogIkJhdGlrIgorICAgICAg
ICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjQwLDEwMCkgc2l6ZSA4MDB4MAorICAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtOSkgc2l6ZSAxOTR4MTEKKyAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLC05KSB3aWR0aCAxOTQ6ICI8dGV4dCB4PVwiMjQwXCIgeT1c
IjgwXCIgbGV0dGVyLXNwYWNpbmc9XCIyMFwiPiIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4
dH0gYXQgKDUwLDE0MCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQg
eyN0ZXh0fSBhdCAoMCwtMjIpIHNpemUgOTJ4MjcKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LC0yMikgd2lkdGggOTI6ICJCYXRpayIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQg
KDUwLDE2MCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoMCwtOSkgc2l6ZSAxNzV4MTEKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC05KSB3
aWR0aCAxNzU6ICI8dGV4dCB4PVwiNTAgNzAgOTAgMTEwIDEzMFwiIHk9XCIxNDBcIj4iCisgICAg
ICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDE0MCkgc2l6ZSA4MDB4MAorICAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMjQwLC0yMikgc2l6ZSAxMzN4MjcKKyAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgyNDAsLTIyKSB3aWR0aCAxMzM6ICJCYXRpayIKKyAgICAg
ICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDI0MCwxNjApIHNpemUgODAweDAKKyAgICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTkpIHNpemUgMTc1eDExCisgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtOSkgd2lkdGggMTc1OiAiPHRleHQgZHg9XCIyNDAgMjAg
MjAgMjAgMjBcIiB5PVwiMTQwXCI+IgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAo
MCwwKSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCww
KSBzaXplIDUzeDI3CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KDUwLDE3OCkgc2l6ZSA1M3gyNworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTAsMTc4KSB3
aWR0aCA1MzogIkJhdGlrIgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoNTAsMjIw
KSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgw
LC05KSBzaXplIDExMngxMQorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTkpIHdpZHRoIDEx
MjogIjx0c3BhbiB4PVwiNTBcIiB5PVwiMjAwXCI+IgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0
ZXh0fSBhdCAoMCwwKSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFu
fSBhdCAoMCwwKSBzaXplIDUzeDI3CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsj
dGV4dH0gYXQgKDI0MCwxNzgpIHNpemUgNTN4MjcKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDI0MCwxNzgpIHdpZHRoIDUzOiAiQmF0aWsiCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9
IGF0ICgwLDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0
ICgwLDApIHNpemUgMjA5eDExCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4
dH0gYXQgKDI0MCwyMTEpIHNpemUgMjA5eDExCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgy
NDAsMjExKSB3aWR0aCAyMDk6ICI8dHNwYW4geD1cIjI0MFwiIHk9XCIyMDBcIiBsZXR0ZXItc3Bh
Y2luZz1cIjIwXCI+IgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwwKSBzaXpl
IDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDky
eDI3CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDUwLDIzOCkg
c2l6ZSA5MngyNworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTAsMjM4KSB3aWR0aCA5Mjog
IkJhdGlrIgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoNTAsMjgwKSBzaXplIDgw
MHgwCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC05KSBzaXpl
IDE4NHgxMQorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTkpIHdpZHRoIDE4NDogIjx0c3Bh
biB4PVwiNTAgNzAgOTAgMTEwIDEzMFwiIHk9XCIyNjBcIj4iCisgICAgICAgIFJlbmRlclNWR1Rl
eHQge3RleHR9IGF0ICgwLDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7
dHNwYW59IGF0ICgwLDApIHNpemUgMTMzeDI3CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDI0MCwyMzgpIHNpemUgMTMzeDI3CisgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgyNDAsMjM4KSB3aWR0aCAxMzM6ICJCYXRpayIKKyAgICAgICAgUmVuZGVyU1ZHVGV4
dCB7dGV4dH0gYXQgKDI0MCwyODApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDAsLTkpIHNpemUgMTg0eDExCisgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwtOSkgd2lkdGggMTg0OiAiPHRzcGFuIGR4PVwiMjQwIDIwIDIwIDIwIDIwXCIgeT1c
IjI2MFwiPiIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4
MAorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSA5MngyNwor
ICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg1MCwyOTgpIHNpemUg
OTJ4MjcKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDUwLDI5OCkgd2lkdGggOTI6ICJCYXRp
ayIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDUwLDM0MCkgc2l6ZSA4MDB4MAor
ICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtOSkgc2l6ZSAxMjl4
MTEKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC05KSB3aWR0aCAxMjk6ICI8dHNwYW4geD1c
IjUwIDYwIDcwIDgwIDkwXCIgIgorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQg
KDAsMCkgc2l6ZSAxMzd4MTEKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoMzMsMikgc2l6ZSAxMzd4MTEKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMzLDIp
IHdpZHRoIDEzNzogImR4PVwiMCAxMCAyMCAzMCA0MFwiIHk9XCIzMjBcIj4iCisgICAgICAgIFJl
bmRlclNWR1RleHQge3RleHR9IGF0ICgwLDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJT
VkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgOTN4MjcKKyAgICAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMjQwLDI5OCkgc2l6ZSA5M3gyNworICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMjQwLDI5OCkgd2lkdGggOTM6ICJCYXRpayIKKyAgICAgICAgUmVuZGVy
U1ZHVGV4dCB7dGV4dH0gYXQgKDI0MCwzNDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTkpIHNpemUgMTY5eDExCisgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwtOSkgd2lkdGggMTY5OiAiPHRzcGFuIHg9XCIyNDBcIiBkeD1cIjAgMTAg
MTAgMTAgMTBcIiAiCisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBz
aXplIDE1OHgxMQorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgz
MywyKSBzaXplIDE1OHgxMQorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzMsMikgd2lkdGgg
MTU4OiAieT1cIjMyMFwiIHN0eWxlPVwibGV0dGVyLXNwYWNpbmc6MTBcIj4iCisgICAgICAgIFJl
bmRlclNWR1RleHQge3RleHR9IGF0ICgwLDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJT
VkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMTAzeDI3CisgICAgICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDUwLDM1OCkgc2l6ZSAxMDN4MjcKKyAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDUwLDM1OCkgd2lkdGggMTAzOiAiQmF0aWsiCisgICAgICAgICAgUmVu
ZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDF4MQorICAgICAgICBSZW5kZXJTVkdU
ZXh0IHt0ZXh0fSBhdCAoNTAsNDAwKSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgwLC05KSBzaXplIDk0eDExCisgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwtOSkgd2lkdGggOTQ6ICJFbXB0eSBUcmFpbGluZyB0c3BhbiIKKyAgICAgICAgUmVu
ZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNW
R1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJTVkdUU3Bh
biB7dHNwYW59IGF0ICgwLDApIHNpemUgMTUzeDI3CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDI0MCwzNTgpIHNpemUgMTUzeDI3CisgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgyNDAsMzU4KSB3aWR0aCAxNTM6ICJCYXRpayIKKyAgICAgICAgUmVuZGVyU1ZH
VGV4dCB7dGV4dH0gYXQgKDI0MCw0MDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTkpIHNpemUgMTE0eDExCisgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwtOSkgd2lkdGggMTE0OiAiRW1wdHkgUHJlY2VlZGluZyB0c3BhbiIKKyAgICAg
IFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMCwwKSBzaXplIDB4MApJbmRleDogc3ZnL2Jh
dGlrL3RleHQvdGV4dFBvc2l0aW9uLnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzdmcvYmF0aWsvdGV4dC90
ZXh0UG9zaXRpb24uc3ZnCShyZXZpc2lvbiAwKQorKysgc3ZnL2JhdGlrL3RleHQvdGV4dFBvc2l0
aW9uLnN2ZwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMDcgQEAKKzw/eG1sIHZlcnNpb249IjEu
MCIgc3RhbmRhbG9uZT0ibm8iPz4KKzwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBT
VkcgMS4wLy9FTiIKKyJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQv
RFREL3N2ZzEwLmR0ZCI+CisKKzwhLS0KKworICAgQ29weXJpZ2h0IDIwMDEtMjAwMiAgVGhlIEFw
YWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIAorCisgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hl
IExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAgIHlvdSBtYXkgbm90IHVz
ZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAgIFlv
dSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgICAgaHR0cDovL3d3
dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyAgIFVubGVzcyByZXF1aXJlZCBi
eSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAgIGRp
c3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIg
QkFTSVMsCisgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwg
ZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNw
ZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAgIGxpbWl0YXRpb25z
IHVuZGVyIHRoZSBMaWNlbnNlLgorCistLT4KKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKzwh
LS0gVGVzdCB0aGUgeCxkeCBhbmQgeSxkeSBhdHRyaWJ1dGVzICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAtLT4KKzwhLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKzwhLS0g
QGF1dGhvciB0a29ybWFubkBpbG9nLmZyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAtLT4KKzwhLS0gQHZlcnNpb24gJElkOiB0ZXh0UG9zaXRpb24uc3Zn
LHYgMS40IDIwMDQvMDgvMTggMDc6MTI6MjMgdmhhcmR5IEV4cCAkIC0tPgorPCEtLSA9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09IC0tPgorPD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4v
cmVzb3VyY2VzL3Rlc3QuY3NzIiA/PgorCis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8y
MDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRo
PSI0NTAiIGhlaWdodD0iNTAwIiB2aWV3Qm94PSIwIDAgNDUwIDUwMCI+Cis8dGl0bGU+VGV4dCBQ
b3NpdGlvbjwvdGl0bGU+CisKKyAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj48IVtDREFUQVsKKyAg
ICAuaW5mbyB7CisgICAgICBmb250LWZhbWlseTogQXJpYWw7CisgICAgICBmb250LXNpemU6IDEw
cHg7CisgICAgfQorICBdXT4KKyAgPC9zdHlsZT4KKworICAgIDwhLS0gPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKyAgICA8
IS0tIFRlc3QgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLS0+CisgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCis8dGV4dCBjbGFzcz0idGl0bGUiIHg9
IjUwJSIgeT0iMzAiPlRleHQgUG9zaXRpb248L3RleHQ+CisKKzxnIGlkPSJ0ZXN0Q29udGVudCIg
c3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsOyBmb250LXNpemU6MjRweCI+CisKKzwhLS0gIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyAtLT4KKworPHRleHQgeD0iNTAiIHk9IjgwIj5CYXRpazwvdGV4dD4KKzx0ZXh0IHg9IjUwIiB5
PSIxMDAiIGNsYXNzPSJpbmZvIj4mbHQ7dGV4dCB4PSIxMDAiIHk9IjgwIj48L3RleHQ+CisKKzx0
ZXh0IHg9IjI0MCIgeT0iODAiIHN0eWxlPSJsZXR0ZXItc3BhY2luZzoyMCI+QmF0aWs8L3RleHQ+
Cis8dGV4dCB4PSIyNDAiIHk9IjEwMCIgY2xhc3M9ImluZm8iPiZsdDt0ZXh0IHg9IjI0MCIgeT0i
ODAiIGxldHRlci1zcGFjaW5nPSIyMCI+PC90ZXh0PgorCisKKzx0ZXh0IHg9IjUwIDcwIDkwIDEx
MCAxMzAiIHk9IjE0MCI+QmF0aWs8L3RleHQ+Cis8dGV4dCB4PSI1MCIgeT0iMTYwIiBjbGFzcz0i
aW5mbyI+Jmx0O3RleHQgeD0iNTAgNzAgOTAgMTEwIDEzMCIgeT0iMTQwIj48L3RleHQ+CisKKzx0
ZXh0IGR4PSIyNDAgMjAgMjAgMjAgMjAiIHk9IjE0MCI+QmF0aWs8L3RleHQ+Cis8dGV4dCB4PSIy
NDAiIHk9IjE2MCIgY2xhc3M9ImluZm8iPiZsdDt0ZXh0IGR4PSIyNDAgMjAgMjAgMjAgMjAiIHk9
IjE0MCI+PC90ZXh0PgorCis8IS0tICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgLS0+CisKKzx0ZXh0Pjx0c3BhbiB4PSI1MCIg
eT0iMjAwIj5CYXRpazwvdHNwYW4+PC90ZXh0PgorPHRleHQgeD0iNTAiIHk9IjIyMCIgY2xhc3M9
ImluZm8iPiZsdDt0c3BhbiB4PSI1MCIgeT0iMjAwIj48L3RleHQ+CisKKzx0ZXh0Pjx0c3BhbiB4
PSIyNDAiIHk9IjIwMCIgc3R5bGU9ImxldHRlci1zcGFjaW5nOjIwIj5CYXRpazwvdHNwYW4+PC90
ZXh0PgorPHRleHQ+PHRzcGFuIHg9IjI0MCIgeT0iMjIwIiBjbGFzcz0iaW5mbyI+Jmx0O3RzcGFu
IHg9IjI0MCIgeT0iMjAwIiBsZXR0ZXItc3BhY2luZz0iMjAiPjwvdHNwYW4+PC90ZXh0PgorCisK
Kzx0ZXh0Pjx0c3BhbiB4PSI1MCA3MCA5MCAxMTAgMTMwIiB5PSIyNjAiPkJhdGlrPC90c3Bhbj48
L3RleHQ+Cis8dGV4dCB4PSI1MCIgeT0iMjgwIiBjbGFzcz0iaW5mbyI+Jmx0O3RzcGFuIHg9IjUw
IDcwIDkwIDExMCAxMzAiIHk9IjI2MCI+PC90ZXh0PgorCis8dGV4dD48dHNwYW4gZHg9IjI0MCAy
MCAyMCAyMCAyMCIgeT0iMjYwIj5CYXRpazwvdHNwYW4+PC90ZXh0PgorPHRleHQgeD0iMjQwIiB5
PSIyODAiIGNsYXNzPSJpbmZvIj4mbHQ7dHNwYW4gZHg9IjI0MCAyMCAyMCAyMCAyMCIgeT0iMjYw
Ij48L3RleHQ+CisKKzwhLS0gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAtLT4KKworPHRleHQ+PHRzcGFuIHg9IjUwIDYwIDcw
IDgwIDkwIiBkeD0iMCAxMCAyMCAzMCA0MCIgeT0iMzIwIj5CYXRpazwvdHNwYW4+PC90ZXh0Pgor
PHRleHQgeD0iNTAiIHk9IjM0MCIgY2xhc3M9ImluZm8iPiZsdDt0c3BhbiB4PSI1MCA2MCA3MCA4
MCA5MCIgPHRzcGFuIHg9IjgzIiBkeT0iMS4xZW0iPmR4PSIwIDEwIDIwIDMwIDQwIiB5PSIzMjAi
PjwvdHNwYW4+PC90ZXh0PgorCisKKzx0ZXh0Pjx0c3BhbiB4PSIyNDAiIGR4PSIwIDEwIDEwIDEw
IDEwIiB5PSIzMjAiIHN0eWxlPSJsZXR0ZXItc3BhY2luZzoxMCI+QmF0aWs8L3RzcGFuPjwvdGV4
dD4KKzx0ZXh0IHg9IjI0MCIgeT0iMzQwIiBjbGFzcz0iaW5mbyI+Jmx0O3RzcGFuIHg9IjI0MCIg
ZHg9IjAgMTAgMTAgMTAgMTAiIDx0c3BhbiB4PSIyNzMiIGR5PSIxLjFlbSI+eT0iMzIwIiBzdHls
ZT0ibGV0dGVyLXNwYWNpbmc6MTAiPjwvdHNwYW4+PC90ZXh0PgorCisKKzwhLS0gIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAt
LT4KKworPHRleHQ+PHRzcGFuIHg9IjUwIiBsZXR0ZXItc3BhY2luZz0iMTAiIHk9IjM4MCI+QmF0
aWs8L3RzcGFuPjx0c3BhbiB4PSIxMCIgeT0iMzgwIi8+PC90ZXh0PgorPHRleHQgeD0iNTAiIHk9
IjQwMCIgY2xhc3M9ImluZm8iPkVtcHR5IFRyYWlsaW5nIHRzcGFuPC90ZXh0PgorCisKKzx0ZXh0
Pjx0c3BhbiB4PSIyMDAiIHk9IjM4MCIvPjx0c3BhbiB4PSIyNDAiIGxldHRlci1zcGFjaW5nPSIy
MCIgeT0iMzgwIj5CYXRpazwvdHNwYW4+PC90ZXh0PgorPHRleHQgeD0iMjQwIiB5PSI0MDAiIGNs
YXNzPSJpbmZvIj5FbXB0eSBQcmVjZWVkaW5nIHRzcGFuPC90ZXh0PgorCisKKzwvZz4KKworICAg
IDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PSAtLT4KKyAgICA8IS0tIEJhdGlrIHNhbXBsZSBtYXJrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+CisgICAgPCEtLSA9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorICAg
IDx1c2UgeGxpbms6aHJlZj0iLi4vcmVzb3VyY2VzL2JhdGlrTG9nby5zdmcjQmF0aWtfVGFnX0Jv
eCIgLz4KKyAgICAKKzwvc3ZnPgorCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBzdmcvYmF0aWsvdGV4
dC90ZXh0UG9zaXRpb24uc3ZnCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOmV4ZWN1dGFibGUKICAgKyAq
CgpJbmRleDogc3ZnL2JhdGlrL3RleHQvdGV4dFByb3BlcnRpZXMyLWV4cGVjdGVkLmNoZWNrc3Vt
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIHN2Zy9iYXRpay90ZXh0L3RleHRQcm9wZXJ0aWVzMi1leHBlY3RlZC5j
aGVja3N1bQkocmV2aXNpb24gMCkKKysrIHN2Zy9iYXRpay90ZXh0L3RleHRQcm9wZXJ0aWVzMi1l
eHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorZDFkNzc0YzJlOTdl
M2VhODM4YWU4NmZiNGFiNDE3NDgKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBz
dmcvYmF0aWsvdGV4dC90ZXh0UHJvcGVydGllczItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IHN2Zy9iYXRpay90ZXh0L3RleHRQcm9wZXJ0aWVzMi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CisrKyBzdmcvYmF0aWsvdGV4dC90ZXh0UHJvcGVydGllczItZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDE1MCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtz
dmd9IGF0ICgxMiwyNikgc2l6ZSA0Njl4MzA2LjUwCisgICAgICBSZW5kZXJTVkdIaWRkZW5Db250
YWluZXIge2RlZnN9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJTVkdDb250YWluZXIg
e2d9IGF0ICgxMiwyNikgc2l6ZSA0Njl4MzA2LjUwCisgICAgICAgIFJlbmRlclNWR1RleHQge3Rl
eHR9IGF0ICgyMjUsNDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0
IHsjdGV4dH0gYXQgKC03NywtMTQpIHNpemUgMTY2eDE3CisgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoLTc3LC0xNCkgd2lkdGggMTY2OiAiVGV4dCBkaXNwbGF5IGFuZCB2aXNpYmlsaXR5LiIKKyAg
ICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIyNSw3NCkgc2l6ZSA4MDB4MAorICAgICAg
ICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTgyLC0xNCkgc2l6ZSAxNjR4MTgK
KyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtODIsLTE0KSB3aWR0aCAxNjQ6ICJWaXNpYmlsaXR5
IG9uIHRleHQgJiB0c3BhbnMiCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyMjUs
MjAwKSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgtNzcsLTE0KSBzaXplIDE1NXgxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKC03NywtMTQp
IHdpZHRoIDE1NTogIkRpc3BsYXkgb24gdGV4dCAmIHRzcGFucyIKKyAgICAgICAgUmVuZGVyU1ZH
Q29udGFpbmVyIHtnfSBhdCAoMTIsODEuNTApIHNpemUgNDI2eDI1MQorICAgICAgICAgIFJlbmRl
clBhdGgge3JlY3R9IGF0ICgxMiw4MS41MCkgc2l6ZSA0MjZ4MjYgW3N0cm9rZT17W3R5cGU9U09M
SURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNFRUVFRUVd
fV0gW2RhdGE9Ik0xMi41MCw4Mi4wMEw0MzcuNTAsODIuMDBMNDM3LjUwLDEwNy4wMEwxMi41MCwx
MDcuMDAiXQorICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxMiwxMDYuNTApIHNpemUg
NDI2eDI2IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5
cGU9U09MSURdIFtjb2xvcj0jQ0NDQ0NDXX1dIFtkYXRhPSJNMTIuNTAsMTA3LjAwTDQzNy41MCwx
MDcuMDBMNDM3LjUwLDEzMi4wMEwxMi41MCwxMzIuMDAiXQorICAgICAgICAgIFJlbmRlclBhdGgg
e3JlY3R9IGF0ICgxMiwxMzEuNTApIHNpemUgNDI2eDI2IFtzdHJva2U9e1t0eXBlPVNPTElEXSBb
Y29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRUVFRUVFXX1dIFtk
YXRhPSJNMTIuNTAsMTMyLjAwTDQzNy41MCwxMzIuMDBMNDM3LjUwLDE1Ny4wMEwxMi41MCwxNTcu
MDAiXQorICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxMiwxNTYuNTApIHNpemUgNDI2
eDI2IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9
U09MSURdIFtjb2xvcj0jQ0NDQ0NDXX1dIFtkYXRhPSJNMTIuNTAsMTU3LjAwTDQzNy41MCwxNTcu
MDBMNDM3LjUwLDE4Mi4wMEwxMi41MCwxODIuMDAiXQorICAgICAgICAgIFJlbmRlclBhdGgge2xp
bmV9IGF0ICgzMzkuNTAsODIpIHNpemUgMXgxMDAgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xv
cj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9
Ik0zNDAuMDAsODIuMDBMMzQwLjAwLDE4Mi4wMCJdCisgICAgICAgICAgUmVuZGVyUGF0aCB7cmVj
dH0gYXQgKDEyLDIwNi41MCkgc2l6ZSA0MjZ4MjYgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xv
cj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNFRUVFRUVdfV0gW2RhdGE9
Ik0xMi41MCwyMDcuMDBMNDM3LjUwLDIwNy4wMEw0MzcuNTAsMjMyLjAwTDEyLjUwLDIzMi4wMCJd
CisgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDEyLDIzMS41MCkgc2l6ZSA0MjZ4MjYg
W3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSNDQ0NDQ0NdfV0gW2RhdGE9Ik0xMi41MCwyMzIuMDBMNDM3LjUwLDIzMi4wMEw0
MzcuNTAsMjU3LjAwTDEyLjUwLDI1Ny4wMCJdCisgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0g
YXQgKDEyLDI1Ni41MCkgc2l6ZSA0MjZ4MjYgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0j
MDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNFRUVFRUVdfV0gW2RhdGE9Ik0x
Mi41MCwyNTcuMDBMNDM3LjUwLDI1Ny4wMEw0MzcuNTAsMjgyLjAwTDEyLjUwLDI4Mi4wMCJdCisg
ICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDEyLDI4MS41MCkgc2l6ZSA0MjZ4MjYgW3N0
cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0g
W2NvbG9yPSNDQ0NDQ0NdfV0gW2RhdGE9Ik0xMi41MCwyODIuMDBMNDM3LjUwLDI4Mi4wMEw0Mzcu
NTAsMzA3LjAwTDEyLjUwLDMwNy4wMCJdCisgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQg
KDEyLDMwNi41MCkgc2l6ZSA0MjZ4MjYgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAw
MDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNFRUVFRUVdfV0gW2RhdGE9Ik0xMi41
MCwzMDcuMDBMNDM3LjUwLDMwNy4wMEw0MzcuNTAsMzMyLjAwTDEyLjUwLDMzMi4wMCJdCisgICAg
ICAgICAgUmVuZGVyUGF0aCB7bGluZX0gYXQgKDMzOS41MCwyMDcpIHNpemUgMXgxMjUgW3N0cm9r
ZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2Nv
bG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0zNDAuMDAsMjA3LjAwTDM0MC4wMCwzMzIuMDAiXQorICAg
ICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMzYwLDk3KSBzaXplIDgwMHgwCisgICAgICAg
ICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSA3MHgxOAorICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTE0KSB3aWR0aCA3MDogInZpcywgdmlzLCB2aXMiCisg
ICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzNjAsMTIyKSBzaXplIDgwMHgwCisgICAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSA3MngxOAor
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTE0KSB3aWR0aCA3MjogInZpcywgaGlkLCB2aXMi
CisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzNjAsMTQ3KSBzaXplIDgwMHgwCisg
ICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSA3NHgx
OAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTE0KSB3aWR0aCA3NDogInZpcywgaGlkLCBo
aWQiCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzNjAsMTcyKSBzaXplIDgwMHgw
CisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSA3
NHgxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTE0KSB3aWR0aCA3NDogImhpZCwgdmlz
LCBoaWQiCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzNjAsMjIzKSBzaXplIDgw
MHgwCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6
ZSAxMjF4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xNCkgd2lkdGggMTIxOiAiaW5s
aW5lLCBpbmxpbmUsIGlubGluZSIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDM2
MCwyNDgpIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0g
YXQgKDAsLTE0KSBzaXplIDExN3gxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTE0KSB3
aWR0aCAxMTc6ICJpbmxpbmUsIGlubGluZSwgbm9uZSIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7
dGV4dH0gYXQgKDM2MCwyNzMpIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBzaXplIDExN3gxOAorICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsLTE0KSB3aWR0aCAxMTc6ICJpbmxpbmUsIG5vbmUsIGlubGluZSIKKyAgICAgICAgUmVu
ZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDM2MCwyOTgpIHNpemUgODAweDAKKyAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBzaXplIDExM3gxOAorICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsLTE0KSB3aWR0aCAxMTM6ICJpbmxpbmUsIG5vbmUsIG5vbmUiCisg
ICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzNjAsMzIzKSBzaXplIDgwMHgwCisgICAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSAxMTN4MTgK
KyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xNCkgd2lkdGggMTEzOiAibm9uZSwgaW5saW5l
LCBub25lIgorICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgyNSw4Mi41MCkgc2l6
ZSAzNDIuNTB4MjQ3LjUwIFt0cmFuc2Zvcm09e209KCgxLjI1LDAuMDApKDAuMDAsMS4yNSkpIHQ9
KDAuMDAsMTIuNTApfV0KKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjAsNzAp
IHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAo
MCwtMTQpIHNpemUgMzN4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTE0KSB3aWR0
aCAzMzogIlRleHQgIgorICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCww
KSBzaXplIDE3NXgxOCBbY29sb3I9IzAwMDBGRl0KKyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgzMywtMTQpIHNpemUgNDl4MTgKKyAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMzMsLTE0KSB3aWR0aCA0OTogInRzcGFuIDEgIgorICAgICAgICAgICAgICBS
ZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgNDV4MTggW2NvbG9yPSM4MDAwODBd
CisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg4MiwtMTQp
IHNpemUgNDV4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg4MiwtMTQpIHdpZHRo
IDQ1OiAidHNwYW4gMiIKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgxMjcsLTE0KSBzaXplIDgxeDE4CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEy
NywtMTQpIHdpZHRoIDgxOiAiIG1vcmUgc3BhbiAxIgorICAgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgyMDgsLTE0KSBzaXplIDY2eDE4CisgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgyMDgsLTE0KSB3aWR0aCA2NjogIiBmaW5pc2ggdGV4dCIKKyAgICAgICAgICBS
ZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjAsOTApIHNpemUgODAweDAKKyAgICAgICAgICAgIFJl
bmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgMzN4MTgKKyAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsLTE0KSB3aWR0aCAzMzogIlRleHQgIgorICAgICAgICAgICAg
UmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDE3NXgxOCBbY29sb3I9IzAwMDBG
Rl0KKyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgzMywtMTQp
IHNpemUgNDl4MTgKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzMsLTE0KSB3aWR0aCA0
OTogInRzcGFuIDEgIgorICAgICAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgw
LDApIHNpemUgNDV4MTggW2NvbG9yPSM4MDAwODBdCisgICAgICAgICAgICAgICAgUmVuZGVyU1ZH
SW5saW5lVGV4dCB7I3RleHR9IGF0ICg4MiwtMTQpIHNpemUgNDV4MTgKKyAgICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICg4MiwtMTQpIHdpZHRoIDQ1OiAidHNwYW4gMiIKKyAgICAgICAgICAg
ICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgxMjcsLTE0KSBzaXplIDgxeDE4Cisg
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEyNywtMTQpIHdpZHRoIDgxOiAiIG1vcmUgc3Bh
biAxIgorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgyMDgsLTE0
KSBzaXplIDY2eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMDgsLTE0KSB3aWR0aCA2
NjogIiBmaW5pc2ggdGV4dCIKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjAs
MTEwKSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0g
YXQgKDAsLTE0KSBzaXplIDMzeDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xNCkg
d2lkdGggMzM6ICJUZXh0ICIKKyAgICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQg
KDAsMCkgc2l6ZSAxNzV4MTggW2NvbG9yPSMwMDAwRkZdCisgICAgICAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMzMsLTE0KSBzaXplIDQ5eDE4CisgICAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDMzLC0xNCkgd2lkdGggNDk6ICJ0c3BhbiAxICIKKyAgICAgICAgICAg
ICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDQ1eDE4IFtjb2xvcj0jODAw
MDgwXQorICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoODIs
LTE0KSBzaXplIDQ1eDE4CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoODIsLTE0KSB3
aWR0aCA0NTogInRzcGFuIDIiCisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoMTI3LC0xNCkgc2l6ZSA4MXgxOAorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgxMjcsLTE0KSB3aWR0aCA4MTogIiBtb3JlIHNwYW4gMSIKKyAgICAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMjA4LC0xNCkgc2l6ZSA2NngxOAorICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMjA4LC0xNCkgd2lkdGggNjY6ICIgZmluaXNoIHRleHQiCisgICAgICAg
ICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIwLDEzMCkgc2l6ZSA4MDB4MAorICAgICAgICAg
ICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSAzM3gxOAorICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTQpIHdpZHRoIDMzOiAiVGV4dCAiCisgICAgICAg
ICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMTc1eDE4IFtjb2xvcj0j
MDAwMEZGXQorICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDMz
LC0xNCkgc2l6ZSA0OXgxOAorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzMywtMTQpIHdp
ZHRoIDQ5OiAidHNwYW4gMSAiCisgICAgICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0g
YXQgKDAsMCkgc2l6ZSA0NXgxOCBbY29sb3I9IzgwMDA4MF0KKyAgICAgICAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDgyLC0xNCkgc2l6ZSA0NXgxOAorICAgICAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDgyLC0xNCkgd2lkdGggNDU6ICJ0c3BhbiAyIgorICAgICAg
ICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDEyNywtMTQpIHNpemUgODF4
MTgKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTI3LC0xNCkgd2lkdGggODE6ICIgbW9y
ZSBzcGFuIDEiCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDIw
OCwtMTQpIHNpemUgNjZ4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDIwOCwtMTQpIHdp
ZHRoIDY2OiAiIGZpbmlzaCB0ZXh0IgorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0
ICgyMCwxNzApIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoMCwtMTQpIHNpemUgMzN4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
LTE0KSB3aWR0aCAzMzogIlRleHQgIgorICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFu
fSBhdCAoMCwwKSBzaXplIDE3NXgxOCBbY29sb3I9IzAwMDBGRl0KKyAgICAgICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgzMywtMTQpIHNpemUgNDl4MTgKKyAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMzMsLTE0KSB3aWR0aCA0OTogInRzcGFuIDEgIgorICAgICAg
ICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgNDl4MTggW2NvbG9y
PSM4MDAwODBdCisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICg4MiwtMTQpIHNpemUgNDl4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg4Miwt
MTQpIHdpZHRoIDQ5OiAidHNwYW4gMiAiCisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoMTMxLC0xNCkgc2l6ZSA3N3gxOAorICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgxMzEsLTE0KSB3aWR0aCA3NzogIm1vcmUgc3BhbiAxIgorICAgICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgyMDgsLTE0KSBzaXplIDY2eDE4CisgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgyMDgsLTE0KSB3aWR0aCA2NjogIiBmaW5pc2ggdGV4dCIKKyAg
ICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjAsMTkwKSBzaXplIDgwMHgwCisgICAg
ICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBzaXplIDMzeDE4
CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xNCkgd2lkdGggMzM6ICJUZXh0ICIKKyAg
ICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAxMjZ4MTggW2Nv
bG9yPSMwMDAwRkZdCisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoMzMsLTE0KSBzaXplIDQ5eDE4CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMzLC0x
NCkgd2lkdGggNDk6ICJ0c3BhbiAxICIKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4
dCB7I3RleHR9IGF0ICg4MiwtMTQpIHNpemUgNzd4MTgKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoODIsLTE0KSB3aWR0aCA3NzogIm1vcmUgc3BhbiAxIgorICAgICAgICAgICAgUmVuZGVy
U1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgxNTksLTE0KSBzaXplIDY2eDE4CisgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgxNTksLTE0KSB3aWR0aCA2NjogIiBmaW5pc2ggdGV4dCIKKyAgICAg
ICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjAsMjEwKSBzaXplIDgwMHgwCisgICAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBzaXplIDMzeDE4Cisg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xNCkgd2lkdGggMzM6ICJUZXh0ICIKKyAgICAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMzMsLTE0KSBzaXplIDYyeDE4
CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzMywtMTQpIHdpZHRoIDYyOiAiZmluaXNoIHRl
eHQiCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIwLDIzMCkgc2l6ZSA4MDB4
MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6
ZSAzM3gxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTQpIHdpZHRoIDMzOiAiVGV4
dCAiCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDMzLC0xNCkg
c2l6ZSA2MngxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzMsLTE0KSB3aWR0aCA2Mjog
ImZpbmlzaCB0ZXh0IgorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyMCwyNTAp
IHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAo
MCwtMTQpIHNpemUgMzN4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTE0KSB3aWR0
aCAzMzogIlRleHQgIgorICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCww
KSBzaXplIDEyNngxOCBbY29sb3I9IzAwMDBGRl0KKyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgzMywtMTQpIHNpemUgNDl4MTgKKyAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMzMsLTE0KSB3aWR0aCA0OTogInRzcGFuIDEgIgorICAgICAgICAgICAgICBS
ZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDgyLC0xNCkgc2l6ZSA3N3gxOAorICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICg4MiwtMTQpIHdpZHRoIDc3OiAibW9yZSBzcGFuIDEiCisg
ICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDE1OSwtMTQpIHNpemUg
NjZ4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE1OSwtMTQpIHdpZHRoIDY2OiAiIGZp
bmlzaCB0ZXh0IgorICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgwLDApIHNpemUg
MHgwCkluZGV4OiBzdmcvYmF0aWsvdGV4dC90ZXh0UHJvcGVydGllczIuc3ZnCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIHN2Zy9iYXRpay90ZXh0L3RleHRQcm9wZXJ0aWVzMi5zdmcJKHJldmlzaW9uIDApCisrKyBz
dmcvYmF0aWsvdGV4dC90ZXh0UHJvcGVydGllczIuc3ZnCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDEwOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PgorPCFET0NUWVBF
IHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjAvL0VOIgorImh0dHA6Ly93d3cudzMub3Jn
L1RSLzIwMDEvUkVDLVNWRy0yMDAxMDkwNC9EVEQvc3ZnMTAuZHRkIj4KKworPCEtLQorCisgICBD
b3B5cmlnaHQgMjAwMS0yMDAyICBUaGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gCisKKyAg
IExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGlj
ZW5zZSIpOworICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5j
ZSB3aXRoIHRoZSBMaWNlbnNlLgorICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNl
bnNlIGF0CisKKyAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0y
LjAKKworICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBp
biB3cml0aW5nLCBzb2Z0d2FyZQorICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMg
ZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgIFdJVEhPVVQgV0FSUkFOVElFUyBP
UiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICAg
U2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1p
c3Npb25zIGFuZAorICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKy0tPgorPCEt
LSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09IC0tPgorPCEtLSBUZXN0IGRlc2NyaXB0aW9uIGhlcmUgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorPCEtLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC0tPgorPCEtLSBAYXV0aG9yIGJpbGwuaGFuZW1hbkBpcmVsYW5kLnN1
bi5jb20gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorPCEtLSBAdmVy
c2lvbiAkSWQ6IHRleHRQcm9wZXJ0aWVzMi5zdmcsdiAxLjEgMjAwNC8xMS8yMSAyMToyMDoyMyBk
ZXdlZXNlIEV4cCAkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC0tPgorPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPD94bWwtc3R5
bGVzaGVldCB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vcmVzb3VyY2VzL3Rlc3QuY3NzIiA/Pgor
Cis8c3ZnIHdpZHRoPSI0NTAiIGhlaWdodD0iNTAwIiB2aWV3Qm94PSIwIDAgNDUwIDUwMCIKKyAg
eG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAKKyAgeG1sbnM6eGxpbms9Imh0dHA6
Ly93d3cudzMub3JnLzE5OTkveGxpbmsiID4KKworPHRpdGxlPlRleHQgUHJvcGVydGllczwvdGl0
bGU+CisKKyAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0gLS0+CisgICAgPCEtLSBUZXN0IGNvbnRlbnQgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorICAgIDwhLS0gPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PSAtLT4KKworICAgIDxkZWZzPgorCisgICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PCFbQ0RB
VEFbCisgICAgICAgLkNhcHRpb24geyBmb250LXNpemU6IDg7IGZvbnQtZmFtaWx5OiBkaWFsb2c7
IGZvbnQtd2VpZ2h0OiBub3JtYWw7CisgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3Jt
YWw7IHN0cm9rZTogbm9uZTsgc3Ryb2tlLXdpZHRoOiAwOyAKKyAgICAgICAgICAgICAgICAgIGZp
bGw6IGJsYWNrIH0gCisgICAgICAgdGV4dCA+IHRzcGFuIHsgZmlsbDogYmx1ZTsgfQorICAgICAg
IHRleHQgPiB0c3BhbiA+IHRzcGFuIHsgZmlsbDogcHVycGxlOyB9XV0+CisgICAgIDwvc3R5bGU+
CisgICAgPC9kZWZzPgorCisgICAgPGcgaWQ9InRlc3RDb250ZW50Ij4KKyAgICAgICAgPHRleHQg
Y2xhc3M9InRpdGxlIiB4PSI1MCUiIHk9IjQwIiBmb250LXNpemU9IjE1IiA+CisgICAgICAgICAg
ICBUZXh0IGRpc3BsYXkgYW5kIHZpc2liaWxpdHkuPC90ZXh0PgorCisgICAgICAgIDx0ZXh0IHg9
IjUwJSIgeT0iNzQiIHRleHQtYW5jaG9yPSJtaWRkbGUiCisgICAgICAgICA+VmlzaWJpbGl0eSBv
biB0ZXh0ICZhbXA7IHRzcGFuczwvdGV4dD4KKyAgICAgICAgPHRleHQgeD0iNTAlIiB5PSIyMDAi
IHRleHQtYW5jaG9yPSJtaWRkbGUiCisgICAgICAgICA+RGlzcGxheSBvbiB0ZXh0ICZhbXA7IHRz
cGFuczwvdGV4dD4KKworICAgICAgICAgPGcgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIx
Ij4KKyAgICAgICAgIDxyZWN0IHg9IjEyLjUiIHk9IjgyIiB3aWR0aD0iNDI1IiBoZWlnaHQ9IjI1
IiBmaWxsPSIjRUVFIi8+CisgICAgICAgICA8cmVjdCB4PSIxMi41IiB5PSIxMDciIHdpZHRoPSI0
MjUiIGhlaWdodD0iMjUiIGZpbGw9IiNDQ0MiLz4KKyAgICAgICAgIDxyZWN0IHg9IjEyLjUiIHk9
IjEzMiIgd2lkdGg9IjQyNSIgaGVpZ2h0PSIyNSIgZmlsbD0iI0VFRSIvPgorICAgICAgICAgPHJl
Y3QgeD0iMTIuNSIgeT0iMTU3IiB3aWR0aD0iNDI1IiBoZWlnaHQ9IjI1IiBmaWxsPSIjQ0NDIi8+
CisgICAgICAgICA8bGluZSB4MT0iMzQwIiB4Mj0iMzQwIiB5MT0iODIiIHkyPSIxODIiLz4KKwor
ICAgICAgICAgPHJlY3QgeD0iMTIuNSIgeT0iMjA3IiB3aWR0aD0iNDI1IiBoZWlnaHQ9IjI1IiBm
aWxsPSIjRUVFIi8+CisgICAgICAgICA8cmVjdCB4PSIxMi41IiB5PSIyMzIiIHdpZHRoPSI0MjUi
IGhlaWdodD0iMjUiIGZpbGw9IiNDQ0MiLz4KKyAgICAgICAgIDxyZWN0IHg9IjEyLjUiIHk9IjI1
NyIgd2lkdGg9IjQyNSIgaGVpZ2h0PSIyNSIgZmlsbD0iI0VFRSIvPgorICAgICAgICAgPHJlY3Qg
eD0iMTIuNSIgeT0iMjgyIiB3aWR0aD0iNDI1IiBoZWlnaHQ9IjI1IiBmaWxsPSIjQ0NDIi8+Cisg
ICAgICAgICA8cmVjdCB4PSIxMi41IiB5PSIzMDciIHdpZHRoPSI0MjUiIGhlaWdodD0iMjUiIGZp
bGw9IiNFRUUiLz4KKyAgICAgICAgIDxsaW5lIHgxPSIzNDAiIHgyPSIzNDAiIHkxPSIyMDciIHky
PSIzMzIiLz4KKyAgICAgICAgIDwvZz4KKworICAgICAgICAgPHRleHQgY2xhc3M9IkNhcHRpb24i
IHg9IjM2MCIgeT0iOTciID52aXMsIHZpcywgdmlzPC90ZXh0PgorICAgICAgICAgPHRleHQgY2xh
c3M9IkNhcHRpb24iIHg9IjM2MCIgeT0iMTIyIj52aXMsIGhpZCwgdmlzPC90ZXh0PgorICAgICAg
ICAgPHRleHQgY2xhc3M9IkNhcHRpb24iIHg9IjM2MCIgeT0iMTQ3Ij52aXMsIGhpZCwgaGlkPC90
ZXh0PgorICAgICAgICAgPHRleHQgY2xhc3M9IkNhcHRpb24iIHg9IjM2MCIgeT0iMTcyIj5oaWQs
IHZpcywgaGlkPC90ZXh0PgorCisgICAgICAgICA8dGV4dCBjbGFzcz0iQ2FwdGlvbiIgeD0iMzYw
IiB5PSIyMjMiPmlubGluZSwgaW5saW5lLCBpbmxpbmU8L3RleHQ+CisgICAgICAgICA8dGV4dCBj
bGFzcz0iQ2FwdGlvbiIgeD0iMzYwIiB5PSIyNDgiPmlubGluZSwgaW5saW5lLCBub25lPC90ZXh0
PgorICAgICAgICAgPHRleHQgY2xhc3M9IkNhcHRpb24iIHg9IjM2MCIgeT0iMjczIj5pbmxpbmUs
IG5vbmUsIGlubGluZTwvdGV4dD4KKyAgICAgICAgIDx0ZXh0IGNsYXNzPSJDYXB0aW9uIiB4PSIz
NjAiIHk9IjI5OCI+aW5saW5lLCBub25lLCBub25lPC90ZXh0PgorICAgICAgICAgPHRleHQgY2xh
c3M9IkNhcHRpb24iIHg9IjM2MCIgeT0iMzIzIj5ub25lLCBpbmxpbmUsIG5vbmU8L3RleHQ+CisK
KyAgICAgICA8ZyB0cmFuc2Zvcm09InNjYWxlKDEuMjUpLCB0cmFuc2xhdGUoMCwgMTApIj4KKyAg
ICAgICAgPHRleHQgeD0iMjAiIHk9IjcwIj5UZXh0IDx0c3Bhbj50c3BhbiAxIDx0c3Bhbj4gdHNw
YW4gMjwvdHNwYW4+IG1vcmUgc3BhbiAxPC90c3Bhbj4gZmluaXNoIHRleHQ8L3RleHQ+CisKKyAg
ICAgICAgPHRleHQgeD0iMjAiIHk9IjkwIj5UZXh0IDx0c3BhbiB2aXNpYmlsaXR5PSJoaWRkZW4i
PnRzcGFuIDEgPHRzcGFuIHZpc2liaWxpdHk9InZpc2libGUiPiB0c3BhbiAyPC90c3Bhbj4gbW9y
ZSBzcGFuIDE8L3RzcGFuPiBmaW5pc2ggdGV4dDwvdGV4dD4KKworICAgICAgICA8dGV4dCB4PSIy
MCIgeT0iMTEwIj5UZXh0IDx0c3BhbiB2aXNpYmlsaXR5PSJoaWRkZW4iPnRzcGFuIDEgPHRzcGFu
IHZpc2liaWxpdHk9ImhpZGRlbiI+IHRzcGFuIDI8L3RzcGFuPiBtb3JlIHNwYW4gMTwvdHNwYW4+
IGZpbmlzaCB0ZXh0PC90ZXh0PgorCisgICAgICAgIDx0ZXh0IHg9IjIwIiB5PSIxMzAiIHZpc2li
aWxpdHk9ImhpZGRlbiI+VGV4dCA8dHNwYW4gdmlzaWJpbGl0eT0idmlzaWJsZSI+dHNwYW4gMSA8
dHNwYW4gdmlzaWJpbGl0eT0iaGlkZGVuIj4gdHNwYW4gMjwvdHNwYW4+IG1vcmUgc3BhbiAxPC90
c3Bhbj4gZmluaXNoIHRleHQ8L3RleHQ+CisKKworICAgICAgICA8dGV4dCB4PSIyMCIgeT0iMTcw
Ij5UZXh0IDx0c3Bhbj50c3BhbiAxIDx0c3Bhbj50c3BhbiAyIDwvdHNwYW4+bW9yZSBzcGFuIDE8
L3RzcGFuPiBmaW5pc2ggdGV4dDwvdGV4dD4KKyAgICAgICAgPHRleHQgeD0iMjAiIHk9IjE5MCI+
VGV4dCA8dHNwYW4gZGlzcGxheT0iaW5saW5lIj50c3BhbiAxIDx0c3BhbiBkaXNwbGF5PSJub25l
Ij4gdHNwYW4gMjwvdHNwYW4+IG1vcmUgc3BhbiAxPC90c3Bhbj4gZmluaXNoIHRleHQ8L3RleHQ+
CisgICAgICAgIDx0ZXh0IHg9IjIwIiB5PSIyMTAiPlRleHQgPHRzcGFuIGRpc3BsYXk9Im5vbmUi
PnRzcGFuIDEgPHRzcGFuIGRpc3BsYXk9ImlubGluZSI+IHRzcGFuIDI8L3RzcGFuPiBtb3JlIHNw
YW4gMTwvdHNwYW4+IGZpbmlzaCB0ZXh0PC90ZXh0PgorICAgICAgICA8dGV4dCB4PSIyMCIgeT0i
MjMwIj5UZXh0IDx0c3BhbiBkaXNwbGF5PSJub25lIj50c3BhbiAxIDx0c3BhbiBkaXNwbGF5PSJu
b25lIj4gdHNwYW4gMjwvdHNwYW4+IG1vcmUgc3BhbiAxPC90c3Bhbj4gZmluaXNoIHRleHQ8L3Rl
eHQ+CisgICAgICAgIDx0ZXh0IHg9IjIwIiB5PSIyNTAiIGRpc3BsYXk9Im5vbmUiPlRleHQgPHRz
cGFuIGRpc3BsYXk9ImlubGluZSI+dHNwYW4gMSA8dHNwYW4gZGlzcGxheT0ibm9uZSI+IHRzcGFu
IDI8L3RzcGFuPiBtb3JlIHNwYW4gMTwvdHNwYW4+IGZpbmlzaCB0ZXh0PC90ZXh0PgorICAgIDwv
Zz4KKyAgICA8L2c+CisKKyAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisgICAgPCEtLSBCYXRpayBzYW1wbGUg
bWFyayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorICAg
IDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PSAtLT4KKyAgICA8dXNlIHhsaW5rOmhyZWY9Ii4uL3Jlc291cmNlcy9iYXRpa0xv
Z28uc3ZnI0JhdGlrX1RhZ19Cb3giIC8+CisgICAgCis8L3N2Zz4KClByb3BlcnR5IGNoYW5nZXMg
b246IHN2Zy9iYXRpay90ZXh0L3RleHRQcm9wZXJ0aWVzMi5zdmcKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBz
dm46ZXhlY3V0YWJsZQogICArICoKCkluZGV4OiBzdmcvYmF0aWsvdGV4dC90ZXh0UHJvcGVydGll
cy1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzdmcvYmF0aWsvdGV4dC90ZXh0UHJv
cGVydGllcy1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKKysrIHN2Zy9iYXRpay90ZXh0
L3RleHRQcm9wZXJ0aWVzLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
IEBACis2MDkwYTkxZDI2Y2E4MDU5MDAxYzBlN2E5YmQxZDFlZgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKSW5kZXg6IHN2Zy9iYXRpay90ZXh0L3RleHRQcm9wZXJ0aWVzLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBzdmcvYmF0aWsvdGV4dC90ZXh0UHJvcGVydGllcy1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBzdmcvYmF0aWsvdGV4dC90ZXh0UHJvcGVydGllcy1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTYwIEBACitLQ2FudmFzUmVzb3VyY2Uge2lk
PSJnYXVzc2lhbkJsdXIiIFt0eXBlPUZJTFRFUl0gIFtib3VuZGluZyBib3g9YXQgKC0xMDAsLTEw
MCkgc2l6ZSAyMDB4MjAwXSBbYm91bmRpbmcgYm94IG1vZGU9MF0gW2VmZmVjdHM9W1t0eXBlPUdB
VVNTSUFOLUJMVVJdICBbc3VicmVnaW9uPSJhdCAoLTEwMCwtNTApIHNpemUgMjAweDEwMCJdIFtz
dGQgZGV2LiB4PTIuMDAgeT0yLjAwXV1dfQorS0NhbnZhc1Jlc291cmNlIHtpZD0idGV4dENsaXAi
IFt0eXBlPUNMSVBQRVJdIFtjbGlwIGRhdGE9W11dfQorS1JlbmRlcmluZ1BhaW50U2VydmVyIHtp
ZD0iZ3JhZGllbnQiIFt0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDAwMEZG
KSwgKDEuMDAsIzAwODAwMCldXSBbYm91bmRpbmcgYm94IG1vZGU9MF0gW3N0YXJ0PSgtNTAsLTI1
KV0gW2VuZD0oNTAsMjUpXX0KK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlclNWR0NvbnRhaW5lciB7c3ZnfSBh
dCAoMTYsMzYpIHNpemUgNDE0eDQzMworICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtk
ZWZzfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAo
MCwwKSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgtMjIsLTE0KSBzaXplIDQ0eDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTIyLC0xNCkg
d2lkdGggNDQ6ICJzYW1wbGUiCisgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxNiwz
Nikgc2l6ZSA0MTR4NDMzCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyMjUsNTAp
IHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC0x
NDcsLTE0KSBzaXplIDMzMngxNworICAgICAgICAgICAgdGV4dCBydW4gYXQgKC0xNDcsLTE0KSB3
aWR0aCAzMzI6ICJUZXh0IEFsaWdubWVudCwgR2VvbWV0cnksIFJlZmVyZW5jZXMsIGFuZCBTcGFu
cyIKKyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTU0LDcwKSBzaXplIDE4OHg3
MAorICAgICAgICAgIFJlbmRlclBhdGgge2xpbmV9IGF0ICgyMjQuNTAsNzApIHNpemUgMXg3MCBb
c3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM4MDgwODBdfV0gW2ZpbGw9e1t0eXBlPVNPTElE
XSBbY29sb3I9IzAwMDAwMF19XSBbZGF0YT0iTTIyNS4wMCw3MC4wMEwyMjUuMDAsMTQwLjAwIl0K
KyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjI1LDkwKSBzaXplIDgwMHgwIFtj
b2xvcj0jMTkxOTcwXQorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgwLC0xMykgc2l6ZSAxMTd4MTcKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTEzKSB3
aWR0aCAxMTc6ICJ0ZXh0LWFuY2hvcj1cInN0YXJ0XCIiCisgICAgICAgICAgUmVuZGVyU1ZHVGV4
dCB7dGV4dH0gYXQgKDIyNSwxMTApIHNpemUgODAweDAgW2NvbG9yPSM4QjAwMDBdCisgICAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC00NCwtMTMpIHNpemUgMTM0eDE3
CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtNDQsLTEzKSB3aWR0aCAxMzQ6ICJ0ZXh0LWFu
Y2hvcj1cIm1pZGRsZVwiIgorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyMjUs
MTMwKSBzaXplIDgwMHgwIFtjb2xvcj0jMjI4QjIyXQorICAgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgtNzEsLTEzKSBzaXplIDExNHgxNworICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoLTcxLC0xMykgd2lkdGggMTE0OiAidGV4dC1hbmNob3I9XCJlbmRcIiIKKyAg
ICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoNDYsMTQ1KSBzaXplIDEwOXg1NCBbdHJh
bnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgxMDAuMDAsMTgwLjAwKX1dCisg
ICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAorICAgICAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgtNTQsLTM1KSBzaXplIDEwOXg0
NQorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTU0LC0zNSkgd2lkdGggMTA5OiAic2FtcGxl
IgorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDE1KSBzaXplIDgwMHgwCisg
ICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC01MiwtMTQpIHNpemUg
MTA0eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtNTIsLTE0KSB3aWR0aCAxMDQ6ICJm
b250LXNpemU9XCIxY21cIiIKKyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTY4
LDE1MSkgc2l6ZSAxMTR4NDggW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkg
dD0oMjI1LjAwLDE4MC4wMCl9XQorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgw
LDApIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoLTQ1LC0yOSkgc2l6ZSA5MHgzNworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTQ1LC0y
OSkgd2lkdGggOTA6ICJzYW1wbGUiCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQg
KDAsMTUpIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoLTU3LC0xNCkgc2l6ZSAxMTR4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKC01
NywtMTQpIHdpZHRoIDExNDogImZvbnQtc2l6ZT1cIjIwMCVcIiIKKyAgICAgICAgUmVuZGVyU1ZH
Q29udGFpbmVyIHtnfSBhdCAoMjkzLDE0NCkgc2l6ZSAxMTR4NTUgW3RyYW5zZm9ybT17bT0oKDEu
MDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMzUwLjAwLDE4MC4wMCl9XQorICAgICAgICAgIFJlbmRl
clNWR1RleHQge3RleHR9IGF0ICgwLDApIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTU3LC0zNikgc2l6ZSAxMTR4NDYKKyAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKC01NywtMzYpIHdpZHRoIDExNDogInNhbXBsZSIKKyAgICAgICAgICBS
ZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwxNSkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgtNDYsLTE0KSBzaXplIDkzeDE4CisgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgtNDYsLTE0KSB3aWR0aCA5MzogImZvbnQtc2l6ZT1cIjI4XCIi
CisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDIxLDE5Nykgc2l6ZSAxNjN4NDcg
W3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMTAwLjAwLDIyNS4wMCl9
XQorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDApIHNpemUgODAweDAKKyAg
ICAgICAgICAgIFJlbmRlclNWR0lubGluZSB7dHJlZn0gYXQgKDAsMCkgc2l6ZSA4NHgzNgorICAg
ICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC00MiwtMjgpIHNpemUg
ODR4MzYKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTQyLC0yOCkgd2lkdGggODQ6ICJz
YW1wbGUiCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMTUpIHNpemUgODAw
eDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTc5LC0xNCkg
c2l6ZSAxNTl4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKC03OSwtMTQpIHdpZHRoIDE1
OTogInJlZmVyZW5jZWQgdGV4dCB2aWEgPHRyZWY+IgorICAgICAgICBSZW5kZXJTVkdDb250YWlu
ZXIge2d9IGF0ICgxNzksMTk3KSBzaXplIDEzMng0NyBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAw
KSgwLjAwLDEuMDApKSB0PSgyMjUuMDAsMjI1LjAwKX1dCisgICAgICAgICAgUmVuZGVyU1ZHVGV4
dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5l
VGV4dCB7I3RleHR9IGF0ICgtMTIsLTI4KSBzaXplIDI1eDM2CisgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgtMTIsLTI4KSB3aWR0aCAyNTogInNhIgorICAgICAgICAgICAgUmVuZGVyU1ZHVFNw
YW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDI1eDM2IFtjb2xvcj0jOEIwMDAwXQorICAgICAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDI1LC0yOCkgc2l6ZSAyNXgzNgor
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNSwtMjgpIHdpZHRoIDI1OiAibSIKKyAgICAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoNTAsLTI4KSBzaXplIDM2eDM2
CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1MCwtMjgpIHdpZHRoIDM2OiAicGxlIgorICAg
ICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDE1KSBzaXplIDgwMHgwCisgICAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC00NiwtMTQpIHNpemUgOTN4MTgK
KyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKC00NiwtMTQpIHdpZHRoIDkzOiAidXNlIG9mIDx0
c3Bhbj4iCisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDI3MCwxOTcpIHNpemUg
MTYweDQ3IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDM1MC4wMCwy
MjUuMDApfV0KKyAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgzMDgsMTk3KSBz
aXplIDg0eDM2CisgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDMwOCwx
OTcpIHNpemUgODR4MzYKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAo
MzA4LDE5Nykgc2l6ZSA4NHgzNgorICAgICAgICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9
IGF0ICgwLDApIHNpemUgODAweDAKKyAgICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoLTQyLC0yOCkgc2l6ZSA4NHgzNgorICAgICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoLTQyLC0yOCkgd2lkdGggODQ6ICJzYW1wbGUiCisgICAgICAgICAgUmVuZGVy
U1ZHVGV4dCB7dGV4dH0gYXQgKDAsMTUpIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTgwLC0xNCkgc2l6ZSAxNjB4MTgKKyAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKC04MCwtMTQpIHdpZHRoIDE2MDogInByZWRlZmluZWQgdGV4dCB2aWEg
PHVzZT4iCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyMjUsMjgwKSBzaXplIDgw
MHgwCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgtNjgsLTEzKSBz
aXplIDE2M3gxNworICAgICAgICAgICAgdGV4dCBydW4gYXQgKC02OCwtMTMpIHdpZHRoIDE2Mzog
IlRleHQgUmVuZGVyaW5nIFByb3BlcnRpZXMiCisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7
Z30gYXQgKDI0LDI5Nykgc2l6ZSAxNTJ4NDIgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4w
MCwxLjAwKSkgdD0oMTAwLjAwLDMwNS4wMCl9XQorICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5l
ciB7Z30gYXQgKDU4LjAwLDI5Nykgc2l6ZSA4NHgzNiBbdHJhbnNmb3JtPXttPSgoLTEuMDAsLTAu
MDApKDAuMDAsLTEuMDApKSB0PSgwLjAwLDAuMDApfV0KKyAgICAgICAgICAgIFJlbmRlclNWR0Nv
bnRhaW5lciB7dXNlfSBhdCAoNTguMDAsMjk3KSBzaXplIDg0eDM2CisgICAgICAgICAgICAgIFJl
bmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDU4LjAwLDI5Nykgc2l6ZSA4NHgzNgorICAgICAgICAg
ICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDApIHNpemUgODAweDAKKyAgICAgICAg
ICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTQyLC0yOCkgc2l6ZSA4
NHgzNgorICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTQyLC0yOCkgd2lkdGggODQ6
ICJzYW1wbGUiCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMzApIHNpemUg
ODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTc2LC0x
NCkgc2l6ZSAxNTJ4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKC03NiwtMTQpIHdpZHRo
IDE1MjogInRyYW5zZm9ybT1cInJvdGF0ZSgxODApXCIiCisgICAgICAgIFJlbmRlclNWR0NvbnRh
aW5lciB7Z30gYXQgKDE4MSwyOTIpIHNpemUgODl4NDcgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4w
MCkoMC4wMCwxLjAwKSkgdD0oMjI1LjAwLDMyMC4wMCl9XQorICAgICAgICAgIFJlbmRlclNWR0Nv
bnRhaW5lciB7Z30gYXQgKDE4MywyOTIpIHNpemUgODR4MzYgW29wYWNpdHk9MC41MF0KKyAgICAg
ICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMTgzLDI5Mikgc2l6ZSA4NHgzNgor
ICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxODMsMjkyKSBzaXplIDg0
eDM2CisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4
MDB4MAorICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgt
NDIsLTI4KSBzaXplIDg0eDM2CisgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtNDIs
LTI4KSB3aWR0aCA4NDogInNhbXBsZSIKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBh
dCAoMCwxNSkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3Rl
eHR9IGF0ICgtNDQsLTE0KSBzaXplIDg5eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgt
NDQsLTE0KSB3aWR0aCA4OTogIm9wYWNpdHk9XCIwLjVcIiIKKyAgICAgICAgUmVuZGVyU1ZHQ29u
dGFpbmVyIHtnfSBhdCAoMzAxLDI5Mikgc2l6ZSA5OHg0NyBbdHJhbnNmb3JtPXttPSgoMS4wMCww
LjAwKSgwLjAwLDEuMDApKSB0PSgzNTAuMDAsMzIwLjAwKX1dCisgICAgICAgICAgUmVuZGVyU1ZH
Q29udGFpbmVyIHtnfSBhdCAoMzA4LDI5Mikgc2l6ZSA4NHgzNgorICAgICAgICAgICAgUmVuZGVy
U1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgzMDgsMjkyKSBzaXplIDg0eDM2CisgICAgICAgICAgICAg
IFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDMwOCwyOTIpIHNpemUgODR4MzYKKyAgICAgICAg
ICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwwKSBzaXplIDgwMHgwIFtjb2xvcj0j
OEIwMDAwXQorICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgtNDIsLTI4KSBzaXplIDg0eDM2CisgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgt
NDIsLTI4KSB3aWR0aCA4NDogInNhbXBsZSIKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0
fSBhdCAoMCwxNSkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7
I3RleHR9IGF0ICgtNDksLTE0KSBzaXplIDk4eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgtNDksLTE0KSB3aWR0aCA5ODogImZpbGw9XCJEYXJrUmVkXCIiCisgICAgICAgIFJlbmRlclNW
R0NvbnRhaW5lciB7Z30gYXQgKDE2LDM0Mikgc2l6ZSAxNjl4NDcgW3RyYW5zZm9ybT17bT0oKDEu
MDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMTAwLjAwLDM3MC4wMCl9XQorICAgICAgICAgIFJlbmRl
clNWR0NvbnRhaW5lciB7Z30gYXQgKDU4LDM0Mikgc2l6ZSA4NHgzNiBbZmlsdGVyPSNnYXVzc2lh
bkJsdXJdCisgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDU4LDM0Mikg
c2l6ZSA4NHgzNgorICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg1OCwz
NDIpIHNpemUgODR4MzYKKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAo
MCwwKSBzaXplIDgwMHgwCisgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsj
dGV4dH0gYXQgKC00MiwtMjgpIHNpemUgODR4MzYKKyAgICAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKC00MiwtMjgpIHdpZHRoIDg0OiAic2FtcGxlIgorICAgICAgICAgIFJlbmRlclNWR1Rl
eHQge3RleHR9IGF0ICgwLDE1KSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKC04NCwtMTQpIHNpemUgMTY5eDE4CisgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgtODQsLTE0KSB3aWR0aCAxNjk6ICJmaWx0ZXI9XCJ1cmwoI2dhdXNzaWFuQmx1
cilcIiIKKyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTUxLDM0Mikgc2l6ZSAx
NDl4NTcgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMjI1LjAwLDM3
MC4wMCl9XQorICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDE4MywzNDIpIHNp
emUgODR4MzYKKyAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMTgzLDM0
Mikgc2l6ZSA4NHgzNgorICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgx
ODMsMzQyKSBzaXplIDg0eDM2CisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0g
YXQgKDAsMCkgc2l6ZSA4MDB4MCBbY29sb3I9IzE5MTk3MF0KKyAgICAgICAgICAgICAgICAgIFJl
bmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTQyLC0yOCkgc2l6ZSA4NHgzNgorICAgICAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTQyLC0yOCkgd2lkdGggODQ6ICJzYW1wbGUiCisg
ICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMTUpIHNpemUgODAweDAKKyAgICAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTQzLC0xNCkgc2l6ZSA4N3gx
OAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTQzLC0xNCkgd2lkdGggODc6ICJmaWxsPVwi
eWVsbG93XCI7IgorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDI1KSBzaXpl
IDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC03NCwt
MTQpIHNpemUgMTQ5eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtNzQsLTE0KSB3aWR0
aCAxNDk6ICJzdHJva2U9XCJNaWRuaWdodEJsdWVcIiIKKyAgICAgICAgUmVuZGVyU1ZHSGlkZGVu
Q29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJlbmRlclNWR0hp
ZGRlbkNvbnRhaW5lciB7bGluZWFyR3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAg
ICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCisgICAg
ICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCisg
ICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDMwMCwzNDUpIHNpemUgMTAweDUwIFt0
cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDM1MC4wMCwzNzAuMDApfV0K
KyAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMzAwLDM0NSkgc2l6ZSAxMDB4NTAgW2Zp
bGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDAwMEZGKSwgKDEuMDAs
IzAwODAwMCldXSBbYm91bmRpbmcgYm94IG1vZGU9MF0gW3N0YXJ0PSgtNTAsLTI1KV0gW2VuZD0o
NTAsMjUpXX1dIFtjbGlwIHBhdGg9IiN0ZXh0Q2xpcCJdIFtkYXRhPSJNLTUwLjAwLC0yNS4wMEw1
MC4wMCwtMjUuMDBMNTAuMDAsMjUuMDBMLTUwLjAwLDI1LjAwIl0KKyAgICAgICAgICBSZW5kZXJT
VkdUZXh0IHt0ZXh0fSBhdCAoMCwxNSkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZH
SW5saW5lVGV4dCB7I3RleHR9IGF0ICgtNDksLTE0KSBzaXplIDk5eDE4CisgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgtNDksLTE0KSB3aWR0aCA5OTogInRleHQgYXMgY2xpcC1wYXRoIgorICAg
ICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTUwLDQ0MCkgc2l6ZSA4MDB4MCBbY29sb3I9
IzhCMDAwMF0KKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC03LC01
NCkgc2l6ZSAyN3g2OQorICAgICAgICAgICAgdGV4dCBydW4gYXQgKC03LC01NCkgd2lkdGggMjc6
ICJhIgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTUwLDQ1NSkgc2l6ZSA4MDB4
MAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTcyLC0xNCkgc2l6
ZSAxNDV4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtNzIsLTE0KSB3aWR0aCAxNDU6ICJz
dHJva2UtbGluZWpvaW49XCJtaXRlclwiIgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBh
dCAoMTUwLDQ2NSkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoLTc2LC0xNCkgc2l6ZSAxNTJ4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgt
NzYsLTE0KSB3aWR0aCAxNTI6ICJzdHJva2UtbGluZWNhcD1cInNxdWFyZVwiIgorICAgICAgICBS
ZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMzAwLDQ0MCkgc2l6ZSA4MDB4MCBbY29sb3I9IzhCMDAw
MF0KKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC03LC01NCkgc2l6
ZSAyN3g2OQorICAgICAgICAgICAgdGV4dCBydW4gYXQgKC03LC01NCkgd2lkdGggMjc6ICJhIgor
ICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMzAwLDQ1NSkgc2l6ZSA4MDB4MAorICAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTc1LC0xNCkgc2l6ZSAxNTB4
MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtNzUsLTE0KSB3aWR0aCAxNTA6ICJzdHJva2Ut
bGluZWpvaW49XCJyb3VuZFwiIgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMzAw
LDQ2NSkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoLTc0LC0xNCkgc2l6ZSAxNDh4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtNzQsLTE0
KSB3aWR0aCAxNDg6ICJzdHJva2UtbGluZWNhcD1cInJvdW5kXCIiCisgICAgICBSZW5kZXJTVkdD
b250YWluZXIge3VzZX0gYXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6IHN2Zy9iYXRpay90ZXh0L3Rl
eHRQcm9wZXJ0aWVzLnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzdmcvYmF0aWsvdGV4dC90ZXh0UHJvcGVy
dGllcy5zdmcJKHJldmlzaW9uIDApCisrKyBzdmcvYmF0aWsvdGV4dC90ZXh0UHJvcGVydGllcy5z
dmcJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTgwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0
YW5kYWxvbmU9Im5vIj8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEu
MC8vRU4iCisiaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMtU1ZHLTIwMDEwOTA0L0RURC9z
dmcxMC5kdGQiPgorCis8IS0tCisKKyAgIENvcHlyaWdodCAyMDAxLTIwMDIgIFRoZSBBcGFjaGUg
U29mdHdhcmUgRm91bmRhdGlvbiAKKworICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNl
bnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgICB5b3UgbWF5IG5vdCB1c2UgdGhp
cyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgICBZb3UgbWF5
IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICAgIGh0dHA6Ly93d3cuYXBh
Y2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBw
bGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgICBkaXN0cmli
dXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lT
LAorICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhl
ciBleHByZXNzIG9yIGltcGxpZWQuCisgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZp
YyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgICBsaW1pdGF0aW9ucyB1bmRl
ciB0aGUgTGljZW5zZS4KKworLS0+Cis8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cis8IS0tIFRl
c3QgZGVzY3JpcHRpb24gaGVyZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLS0+Cis8IS0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+Cis8IS0tIEBhdXRo
b3IgYmlsbC5oYW5lbWFuQGlyZWxhbmQuc3VuLmNvbSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLS0+Cis8IS0tIEB2ZXJzaW9uICRJZDogdGV4dFByb3BlcnRpZXMuc3ZnLHYg
MS42IDIwMDQvMDgvMTggMDc6MTI6MjMgdmhhcmR5IEV4cCAkICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorPCEtLSA9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09IC0tPgorPD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4v
cmVzb3VyY2VzL3Rlc3QuY3NzIiA/PgorCis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8y
MDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRo
PSI0NTAiIGhlaWdodD0iNTAwIiB2aWV3Qm94PSIwIDAgNDUwIDUwMCI+Cis8dGl0bGU+VGV4dCBQ
cm9wZXJ0aWVzPC90aXRsZT4KKworICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKyAgICA8IS0tIFRlc3QgY29u
dGVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+
CisgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09IC0tPgorCisgICAgPGRlZnM+CisKKyAgICAgPHN0eWxlIHR5cGU9InRl
eHQvY3NzIj48IVtDREFUQVsKKyAgICAgICAuQ2FwdGlvbiB7IGZvbnQtc2l6ZTogODsgZm9udC1m
YW1pbHk6IGRpYWxvZzsgZm9udC13ZWlnaHQ6IG5vcm1hbDsKKyAgICAgICAgICAgICAgICAgIGZv
bnQtc3R5bGU6IG5vcm1hbDsgc3Ryb2tlOiBub25lOyBzdHJva2Utd2lkdGg6IDA7IAorICAgICAg
ICAgICAgICAgICAgZmlsbDogYmxhY2sgfSBdXT4KKyAgICAgPC9zdHlsZT4KKworICAgICA8Zmls
dGVyIGlkPSJnYXVzc2lhbkJsdXIiICBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9Ii0x
MDAiIHk9Ii0xMDAiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBmaWx0ZXJSZXM9IjIwMCI+Cisg
ICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjIgMiIgeD0iLTEwMCIgeT0iLTUw
IiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjEwMCIvPiAKKyAgICAgPC9maWx0ZXI+CisKKyAgICAgPHRl
eHQgeD0iMCIgeT0iMCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgaWQ9InNhbXBsZSI+c2FtcGxlPC90
ZXh0PgorCisgICAgPC9kZWZzPgorCisgICAgPGcgaWQ9InRlc3RDb250ZW50IiB0ZXh0LWFuY2hv
cj0ibWlkZGxlIj4KKyAgICAgICAgPHRleHQgY2xhc3M9InRpdGxlIiB4PSI1MCUiIHk9IjEwJSIg
Zm9udC1zaXplPSIxNSIgPgorICAgICAgICAgICAgVGV4dCBBbGlnbm1lbnQsIEdlb21ldHJ5LCBS
ZWZlcmVuY2VzLCBhbmQgU3BhbnM8L3RleHQ+CisKKyAgICAgICAgPGcgZm9udC1zaXplPSIxNSI+
CisgICAgICAgICAgICA8bGluZSB4MT0iNTAlIiB5MT0iMTQlIiB4Mj0iNTAlIiB5Mj0iMjglIiBz
dHJva2U9IkdyYXkiIHN0cm9rZS13aWR0aD0iMSIvPgorICAgICAgICAgICAgPHRleHQgeD0iNTAl
IiAgeT0iMTglIiB0ZXh0LWFuY2hvcj0ic3RhcnQiIGZpbGw9Ik1pZG5pZ2h0Qmx1ZSI+CisgICAg
ICAgICAgICAgICB0ZXh0LWFuY2hvcj0ic3RhcnQiPC90ZXh0PgorICAgICAgICAgICAgPHRleHQg
eD0iNTAlIiAgeT0iMjIlIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmaWxsPSJEYXJrUmVkIj4KKyAg
ICAgICAgICAgICAgIHRleHQtYW5jaG9yPSJtaWRkbGUiPC90ZXh0PgorICAgICAgICAgICAgPHRl
eHQgeD0iNTAlIiAgeT0iMjYlIiB0ZXh0LWFuY2hvcj0iZW5kIiBmaWxsPSJGb3Jlc3RHcmVlbiI+
CisgICAgICAgICAgICAgICB0ZXh0LWFuY2hvcj0iZW5kIjwvdGV4dD4KKyAgICAgICAgPC9nPiAg
ICAgICAKKworCisgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEwMCwgMTgwKSI+Cisg
ICAgICAgICAgICA8dGV4dCBmb250LXNpemU9IjFjbSI+c2FtcGxlPC90ZXh0PgorICAgICAgICAg
ICAgPHRleHQgeT0iMTUiIHN0eWxlPSJDYXB0aW9uIj5mb250LXNpemU9IjFjbSI8L3RleHQ+Cisg
ICAgICAgIDwvZz4gICAgICAgCisKKyAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjI1
LCAxODApIj4KKyAgICAgICAgICAgIDx0ZXh0IGZvbnQtc2l6ZT0iMjAwJSI+c2FtcGxlPC90ZXh0
PgorICAgICAgICAgICAgPHRleHQgeT0iMTUiIHN0eWxlPSJDYXB0aW9uIj5mb250LXNpemU9IjIw
MCUiPC90ZXh0PgorICAgICAgICA8L2c+ICAgICAgIAorCisgICAgICAgIDxnIHRyYW5zZm9ybT0i
dHJhbnNsYXRlKDM1MCwgMTgwKSI+CisgICAgICAgICAgICA8dGV4dCBmb250LXNpemU9IjMwcHQi
PnNhbXBsZTwvdGV4dD4KKyAgICAgICAgICAgIDx0ZXh0IHk9IjE1IiBzdHlsZT0iQ2FwdGlvbiI+
Zm9udC1zaXplPSIyOCI8L3RleHQ+CisgICAgICAgIDwvZz4gICAgICAgCisKKyAgICAgICAgPGcg
dHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAwLCAyMjUpIj4KKyAgICAgICAgICAgIDx0ZXh0IGZvbnQt
c2l6ZT0iMzAiPjx0cmVmIHhsaW5rOmhyZWY9IiNzYW1wbGUiLz48L3RleHQ+CisgICAgICAgICAg
ICA8dGV4dCB5PSIxNSIgc3R5bGU9IkNhcHRpb24iPnJlZmVyZW5jZWQgdGV4dCB2aWEgJmx0O3Ry
ZWYmZ3Q7PC90ZXh0PgorICAgICAgICA8L2c+ICAgICAgIAorCisgICAgICAgIDxnIHRyYW5zZm9y
bT0idHJhbnNsYXRlKDIyNSwgMjI1KSI+CisgICAgICAgICAgICA8dGV4dCBmb250LXNpemU9IjMw
Ij4KKyAgICAgICAgICAgIHNhPHRzcGFuIGZvbnQtZmFtaWx5PSJTZXJpZiIgZm9udC13ZWlnaHQ9
ImJvbGQiIGZpbGw9IkRhcmtSZWQiCisgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb249InVuZGVy
bGluZSIgPm08L3RzcGFuPnBsZQorICAgICAgICAgICAgPC90ZXh0PgorICAgICAgICAgICAgPHRl
eHQgeT0iMTUiIHN0eWxlPSJDYXB0aW9uIj51c2Ugb2YgJmx0O3RzcGFuJmd0OzwvdGV4dD4KKyAg
ICAgICAgPC9nPiAgICAgICAKKworICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNTAs
IDIyNSkiPgorICAgICAgICAgICAgPGcgZm9udC1zaXplPSIzMCI+CisgICAgICAgICAgICAgICAg
PHVzZSB4bGluazpocmVmPSIjc2FtcGxlIi8+CisgICAgICAgICAgICA8L2c+CisgICAgICAgICAg
ICA8dGV4dCB5PSIxNSIgc3R5bGU9IkNhcHRpb24iPnByZWRlZmluZWQgdGV4dCB2aWEgJmx0O3Vz
ZSZndDs8L3RleHQ+CisgICAgICAgIDwvZz4gICAgICAgCisgCisgICAgICAgIDx0ZXh0IHg9IjUw
JSIgeT0iMjgwIiBmb250LXNpemU9IjE1IiA+CisgICAgICAgICAgICBUZXh0IFJlbmRlcmluZyBQ
cm9wZXJ0aWVzPC90ZXh0PgorCisgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEwMCwg
MzA1KSI+CisgICAgICAgICAgICA8ZyBmb250LXNpemU9IjMwIiB0cmFuc2Zvcm09InJvdGF0ZSgx
ODApIj4KKyAgICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNzYW1wbGUiLz4KKyAgICAg
ICAgICAgIDwvZz4KKyAgICAgICAgICAgIDx0ZXh0IHk9IjMwIiBzdHlsZT0iQ2FwdGlvbiI+dHJh
bnNmb3JtPSJyb3RhdGUoMTgwKSI8L3RleHQ+CisgICAgICAgIDwvZz4gICAgICAgCisKKyAgICAg
ICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjI1LCAzMjApIj4KKyAgICAgICAgICAgIDxnIGZv
bnQtc2l6ZT0iMzAiIG9wYWNpdHk9IjAuNSI+CisgICAgICAgICAgICAgICAgPHVzZSB4bGluazpo
cmVmPSIjc2FtcGxlIi8+CisgICAgICAgICAgICA8L2c+CisgICAgICAgICAgICA8dGV4dCB5PSIx
NSIgc3R5bGU9IkNhcHRpb24iPm9wYWNpdHk9IjAuNSI8L3RleHQ+CisgICAgICAgIDwvZz4gICAg
ICAgCisKKyAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzUwLCAzMjApIj4KKyAgICAg
ICAgICAgIDxnIGZvbnQtc2l6ZT0iMzAiIGZpbGw9IkRhcmtSZWQiPgorICAgICAgICAgICAgICAg
IDx1c2UgeGxpbms6aHJlZj0iI3NhbXBsZSIvPgorICAgICAgICAgICAgPC9nPgorICAgICAgICAg
ICAgPHRleHQgeT0iMTUiIHN0eWxlPSJDYXB0aW9uIj5maWxsPSJEYXJrUmVkIjwvdGV4dD4KKyAg
ICAgICAgPC9nPiAgICAgICAKKworICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMDAs
IDM3MCkiPgorICAgICAgICAgICAgPGcgZm9udC1zaXplPSIzMCIgZmlsdGVyPSJ1cmwoI2dhdXNz
aWFuQmx1cikiPgorICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3NhbXBsZSIvPgor
ICAgICAgICAgICAgPC9nPgorICAgICAgICAgICAgPHRleHQgeT0iMTUiIHN0eWxlPSJDYXB0aW9u
Ij5maWx0ZXI9InVybCgjZ2F1c3NpYW5CbHVyKSI8L3RleHQ+CisgICAgICAgIDwvZz4gICAgICAg
CisKKyAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjI1LCAzNzApIj4KKyAgICAgICAg
ICAgIDxnIGZvbnQtc2l6ZT0iMzAiIGZpbGw9InllbGxvdyIgc3Ryb2tlPSJNaWRuaWdodEJsdWUi
PgorICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3NhbXBsZSIvPgorICAgICAgICAg
ICAgPC9nPgorICAgICAgICAgICAgPHRleHQgeT0iMTUiIHN0eWxlPSJDYXB0aW9uIj5maWxsPSJ5
ZWxsb3ciOzwvdGV4dD4KKyAgICAgICAgICAgIDx0ZXh0IHk9IjI1IiBzdHlsZT0iQ2FwdGlvbiI+
c3Ryb2tlPSJNaWRuaWdodEJsdWUiPC90ZXh0PgorICAgICAgICA8L2c+ICAgICAgIAorCis8ZGVm
cz4KKyAgICA8Y2xpcFBhdGggaWQ9InRleHRDbGlwIj4KKyAgICAgICAgPHRleHQgZm9udC1zaXpl
PSIzMCI+c2FtcGxlPC90ZXh0PgorICAgIDwvY2xpcFBhdGg+CisgICAgPGxpbmVhckdyYWRpZW50
IGlkPSJncmFkaWVudCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiCisgICAgIHgxPSIt
NTAiIHkxPSItMjUiIHgyPSI1MCIgeTI9IjI1Ij4KKyAgICAgICAgPHN0b3Agb2Zmc2V0PSIwJSIg
c3R5bGU9InN0b3AtY29sb3I6Ymx1ZSIvPgorICAgICAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0
eWxlPSJzdG9wLWNvbG9yOmdyZWVuIi8+CisgICAgPC9saW5lYXJHcmFkaWVudD4KKzwvZGVmcz4K
KyAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzUwLCAzNzApIj4KKyAgICAgICAgICAg
IDxyZWN0IHg9Ii01MCIgeT0iLTI1IiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjUwIiAKKyAgICAgICAg
ICAgICAgIGZpbGw9InVybCgjZ3JhZGllbnQpIiAKKyAgICAgICAgICAgICAgIGNsaXAtcGF0aD0i
dXJsKCN0ZXh0Q2xpcCkiLz4KKyAgICAgICAgICAgIDx0ZXh0IHk9IjE1IiBzdHlsZT0iQ2FwdGlv
biI+dGV4dCBhcyBjbGlwLXBhdGg8L3RleHQ+CisgICAgICAgIDwvZz4gICAgICAgCisKKyAgICAg
ICAgPHRleHQgeD0iMTUwIiB5PSI0NDAiIGZvbnQtc2l6ZT0iNjAiIAorICAgICAgICAgIGZpbGw9
IkJsYW5jaGVEYWxtb25kIiBzdHJva2U9IkRhcmtSZWQiIHN0cm9rZS13aWR0aD0iMiIKKyAgICAg
ICAgICBzdHJva2UtbGluZWpvaW49Im1pdGVyIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIj4KKyAg
ICAgICAgIGE8L3RleHQ+CisgICAgICAgIDx0ZXh0IHg9IjE1MCIgeT0iNDU1IiBzdHlsZT0iQ2Fw
dGlvbiI+c3Ryb2tlLWxpbmVqb2luPSJtaXRlciI8L3RleHQ+CisgICAgICAgIDx0ZXh0IHg9IjE1
MCIgeT0iNDY1IiBzdHlsZT0iQ2FwdGlvbiI+c3Ryb2tlLWxpbmVjYXA9InNxdWFyZSI8L3RleHQ+
CisKKyAgICAgICAgPHRleHQgeD0iMzAwIiB5PSI0NDAiIGZvbnQtc2l6ZT0iNjAiIAorICAgICAg
ICAgIGZpbGw9IkJsYW5jaGVEYWxtb25kIiBzdHJva2U9IkRhcmtSZWQiIHN0cm9rZS13aWR0aD0i
MiIKKyAgICAgICAgICBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbGluZWNhcD0icm91
bmQiPgorICAgICAgICAgYTwvdGV4dD4KKyAgICAgICAgPHRleHQgeD0iMzAwIiB5PSI0NTUiIHN0
eWxlPSJDYXB0aW9uIj5zdHJva2UtbGluZWpvaW49InJvdW5kIjwvdGV4dD4KKyAgICAgICAgPHRl
eHQgeD0iMzAwIiB5PSI0NjUiIHN0eWxlPSJDYXB0aW9uIj5zdHJva2UtbGluZWNhcD0icm91bmQi
PC90ZXh0PgorCisgICAgPC9nPgorCisgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorICAgIDwhLS0gQmF0aWsg
c2FtcGxlIG1hcmsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt
LT4KKyAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0gLS0+CisgICAgPHVzZSB4bGluazpocmVmPSIuLi9yZXNvdXJjZXMv
YmF0aWtMb2dvLnN2ZyNCYXRpa19UYWdfQm94IiAvPgorICAgIAorPC9zdmc+CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBzdmcvYmF0aWsvdGV4dC90ZXh0UHJvcGVydGllcy5zdmcKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpO
YW1lOiBzdm46ZXhlY3V0YWJsZQogICArICoKCkluZGV4OiBzdmcvYmF0aWsvdGV4dC90ZXh0U3R5
bGVzLWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN2Zy9iYXRpay90ZXh0L3RleHRT
dHlsZXMtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCisrKyBzdmcvYmF0aWsvdGV4dC90
ZXh0U3R5bGVzLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACitj
YWYyNTU5MTgxZGZhZDE1NjAyNzkzZDYzYTExYWNmNQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKSW5kZXg6IHN2Zy9iYXRpay90ZXh0L3RleHRTdHlsZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIHN2Zy9iYXRpay90ZXh0L3RleHRTdHlsZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQorKysgc3ZnL2JhdGlrL3RleHQvdGV4dFN0eWxlcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMTgxIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVy
VmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJTVkdDb250YWluZXIge3N2Z30g
YXQgKC03MSwzNikgc2l6ZSA1ODJ4Mzk3CisgICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIg
e2RlZnN9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0
ICgwLDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0g
YXQgKC0yMiwtMTQpIHNpemUgNDR4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtMjIsLTE0
KSB3aWR0aCA0NDogInNhbXBsZSIKKyAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKC03
MSwzNikgc2l6ZSA1ODJ4Mzk3CisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyMjUs
NTApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KC03MywtMTQpIHNpemUgMTgweDE3CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTczLC0xNCkg
d2lkdGggMTgwOiAiVGV4dCBGb250IEZhY2VzIGFuZCBTdHlsZXMiCisgICAgICAgIFJlbmRlclNW
R1RleHQge3RleHR9IGF0ICgyMjUsNzUpIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKC00MSwtMTApIHNpemUgODJ4MTMKKyAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgtNDEsLTEwKSB3aWR0aCA4MjogIlN0YW5kYXJkIEZvbnQgRmFjZXMiCisgICAg
ICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKC01Miw4Mikgc2l6ZSAzMDR4NTEgW3RyYW5z
Zm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMTAwLjAwLDExMC4wMCl9XQorICAg
ICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoNTgsODIpIHNpemUgODR4MzYKKyAg
ICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDU4LDgyKSBzaXplIDg0eDM2Cisg
ICAgICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDApIHNpemUgODAweDAKKyAg
ICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC00MiwtMjgpIHNp
emUgODR4MzYKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtNDIsLTI4KSB3aWR0aCA4
NDogInNhbXBsZSIKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwxNSkgc2l6
ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgtMTUy
LC0yOCkgc2l6ZSAzMDR4MzYKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKC0xNTIsLTI4KSB3
aWR0aCAzMDQ6ICJTYW5zU2VyaWYsIG5vcm1hbCB3ZWlnaHQiCisgICAgICAgIFJlbmRlclNWR0Nv
bnRhaW5lciB7Z30gYXQgKDEzMyw4Mikgc2l6ZSAxODR4NTEgW3RyYW5zZm9ybT17bT0oKDEuMDAs
MC4wMCkoMC4wMCwxLjAwKSkgdD0oMjI1LjAwLDExMC4wMCl9XQorICAgICAgICAgIFJlbmRlclNW
R0NvbnRhaW5lciB7dXNlfSBhdCAoMTgwLDgyKSBzaXplIDkweDM2CisgICAgICAgICAgICBSZW5k
ZXJTVkdDb250YWluZXIge2d9IGF0ICgxODAsODIpIHNpemUgOTB4MzYKKyAgICAgICAgICAgICAg
UmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTQ1LC0yOCkgc2l6ZSA5MHgzNgorICAg
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKC00NSwtMjgpIHdpZHRoIDkwOiAic2FtcGxlIgor
ICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDE1KSBzaXplIDgwMHgwCisgICAg
ICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC05MiwtMjgpIHNpemUgMTg0
eDM2CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtOTIsLTI4KSB3aWR0aCAxODQ6ICJTYW5z
U2VyaWYsIGJvbGQiCisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDI0MCw4Mikg
c2l6ZSAyMjB4NTEgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMzUw
LjAwLDExMC4wMCl9XQorICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMzA4
LDgyKSBzaXplIDg1eDM2CisgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgz
MDgsODIpIHNpemUgODV4MzYKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQg
KDAsMCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoLTQyLC0yOCkgc2l6ZSA4NXgzNgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKC00MiwtMjgpIHdpZHRoIDg1OiAic2FtcGxlIgorICAgICAgICAgIFJlbmRlclNWR1RleHQg
e3RleHR9IGF0ICgwLDE1KSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKC0xMTAsLTI4KSBzaXplIDIyMHgzNgorICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoLTExMCwtMjgpIHdpZHRoIDIyMDogIlNhbnNTZXJpZiwgb2JsaXF1ZSIKKyAgICAg
ICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoLTIzLDEzMikgc2l6ZSAyNDd4NTEgW3RyYW5z
Zm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMTAwLjAwLDE2MC4wMCl9XQorICAg
ICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoNTgsMTMyKSBzaXplIDg0eDM2Cisg
ICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg1OCwxMzIpIHNpemUgODR4MzYK
KyAgICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAor
ICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTQyLC0yOCkg
c2l6ZSA4NHgzNgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKC00MiwtMjgpIHdpZHRo
IDg0OiAic2FtcGxlIgorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDE1KSBz
aXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC0x
MjMsLTI4KSBzaXplIDI0N3gzNgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTEyMywtMjgp
IHdpZHRoIDI0NzogIlNlcmlmLCBub3JtYWwgd2VpZ2h0IgorICAgICAgICBSZW5kZXJTVkdDb250
YWluZXIge2d9IGF0ICgxNjIsMTMyKSBzaXplIDEyN3g1MSBbdHJhbnNmb3JtPXttPSgoMS4wMCww
LjAwKSgwLjAwLDEuMDApKSB0PSgyMjUuMDAsMTYwLjAwKX1dCisgICAgICAgICAgUmVuZGVyU1ZH
Q29udGFpbmVyIHt1c2V9IGF0ICgxODAsMTMyKSBzaXplIDkweDM2CisgICAgICAgICAgICBSZW5k
ZXJTVkdDb250YWluZXIge2d9IGF0ICgxODAsMTMyKSBzaXplIDkweDM2CisgICAgICAgICAgICAg
IFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDApIHNpemUgODAweDAKKyAgICAgICAgICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC00NSwtMjgpIHNpemUgOTB4MzYKKyAg
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtNDUsLTI4KSB3aWR0aCA5MDogInNhbXBsZSIK
KyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwxNSkgc2l6ZSA4MDB4MAorICAg
ICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgtNjMsLTI4KSBzaXplIDEy
N3gzNgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTYzLC0yOCkgd2lkdGggMTI3OiAiU2Vy
aWYsIGJvbGQiCisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDI2OSwxMzIpIHNp
emUgMTYzeDUxIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDM1MC4w
MCwxNjAuMDApfV0KKyAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDMwOCwx
MzIpIHNpemUgODV4MzYKKyAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDMw
OCwxMzIpIHNpemUgODV4MzYKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQg
KDAsMCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoLTQyLC0yOCkgc2l6ZSA4NXgzNgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKC00MiwtMjgpIHdpZHRoIDg1OiAic2FtcGxlIgorICAgICAgICAgIFJlbmRlclNWR1RleHQg
e3RleHR9IGF0ICgwLDE1KSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKC04MSwtMjgpIHNpemUgMTYzeDM2CisgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgtODEsLTI4KSB3aWR0aCAxNjM6ICJTZXJpZiwgb2JsaXF1ZSIKKyAgICAgICAgUmVu
ZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoLTcxLDE4Mikgc2l6ZSAzNDJ4NTEgW3RyYW5zZm9ybT17
bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMTAwLjAwLDIxMC4wMCl9XQorICAgICAgICAg
IFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoNTgsMTgyKSBzaXplIDg0eDM2CisgICAgICAg
ICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg1OCwxODIpIHNpemUgODR4MzYKKyAgICAg
ICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAorICAgICAg
ICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTQyLC0yOCkgc2l6ZSA4
NHgzNgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKC00MiwtMjgpIHdpZHRoIDg0OiAi
c2FtcGxlIgorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDE1KSBzaXplIDgw
MHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC0xNzEsLTI4
KSBzaXplIDM0MngzNgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTE3MSwtMjgpIHdpZHRo
IDM0MjogIk1vbm9zcGFjZWQsIG5vcm1hbCB3ZWlnaHQiCisgICAgICAgIFJlbmRlclNWR0NvbnRh
aW5lciB7Z30gYXQgKDExNCwxODIpIHNpemUgMjIyeDUxIFt0cmFuc2Zvcm09e209KCgxLjAwLDAu
MDApKDAuMDAsMS4wMCkpIHQ9KDIyNS4wMCwyMTAuMDApfV0KKyAgICAgICAgICBSZW5kZXJTVkdD
b250YWluZXIge3VzZX0gYXQgKDE4MCwxODIpIHNpemUgOTB4MzYKKyAgICAgICAgICAgIFJlbmRl
clNWR0NvbnRhaW5lciB7Z30gYXQgKDE4MCwxODIpIHNpemUgOTB4MzYKKyAgICAgICAgICAgICAg
UmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTQ1LC0yOCkgc2l6ZSA5MHgzNgorICAg
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKC00NSwtMjgpIHdpZHRoIDkwOiAic2FtcGxlIgor
ICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDE1KSBzaXplIDgwMHgwCisgICAg
ICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC0xMTEsLTI4KSBzaXplIDIy
MngzNgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTExMSwtMjgpIHdpZHRoIDIyMjogIk1v
bm9zcGFjZWQsIGJvbGQiCisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDIyMSwx
ODIpIHNpemUgMjU4eDUxIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9
KDM1MC4wMCwyMTAuMDApfV0KKyAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQg
KDMwOCwxODIpIHNpemUgODV4MzYKKyAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30g
YXQgKDMwOCwxODIpIHNpemUgODV4MzYKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4
dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoLTQyLC0yOCkgc2l6ZSA4NXgzNgorICAgICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKC00MiwtMjgpIHdpZHRoIDg1OiAic2FtcGxlIgorICAgICAgICAgIFJlbmRlclNW
R1RleHQge3RleHR9IGF0ICgwLDE1KSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKC0xMjksLTI4KSBzaXplIDI1OHgzNgorICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoLTEyOSwtMjgpIHdpZHRoIDI1ODogIk1vbm9zcGFjZWQsIG9ibGlxdWUi
CisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDQ5LDIzMikgc2l6ZSAxMDJ4NTEg
W3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMTAwLjAwLDI2MC4wMCl9
XQorICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoNTgsMjMyKSBzaXplIDg0
eDM2CisgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg1OCwyMzIpIHNpemUg
ODR4MzYKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4
MDB4MAorICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTQy
LC0yOCkgc2l6ZSA4NHgzNgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKC00MiwtMjgp
IHdpZHRoIDg0OiAic2FtcGxlIgorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgw
LDE1KSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0g
YXQgKC01MSwtMjgpIHNpemUgMTAyeDM2CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtNTEs
LTI4KSB3aWR0aCAxMDI6ICIoZGVmYXVsdCkiCisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7
Z30gYXQgKDk3LDIzMikgc2l6ZSAyNTZ4NTEgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4w
MCwxLjAwKSkgdD0oMjI1LjAwLDI2MC4wMCl9XQorICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5l
ciB7dXNlfSBhdCAoMTgyLDIzMikgc2l6ZSA4NngzNgorICAgICAgICAgICAgUmVuZGVyU1ZHQ29u
dGFpbmVyIHtnfSBhdCAoMTgyLDIzMikgc2l6ZSA4NngzNgorICAgICAgICAgICAgICBSZW5kZXJT
VkdUZXh0IHt0ZXh0fSBhdCAoMCwwKSBzaXplIDgwMHgwCisgICAgICAgICAgICAgICAgUmVuZGVy
U1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgtNDMsLTI4KSBzaXplIDg2eDM2CisgICAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoLTQzLC0yOCkgd2lkdGggODY6ICJzYW1wbGUiCisgICAgICAg
ICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMTUpIHNpemUgODAweDAKKyAgICAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTEyOCwtMjgpIHNpemUgMjU2eDM2Cisg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtMTI4LC0yOCkgd2lkdGggMjU2OiAiZGVmYXVsdCwg
Ym9sZCwgb2JsaXF1ZSIKKyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTk2LDIz
MSkgc2l6ZSAzMDh4NTIgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0o
MzUwLjAwLDI2MC4wMCl9XQorICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAo
MzA3LDIzMSkgc2l6ZSA4NngzOAorICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBh
dCAoMzA3LDIzMSkgc2l6ZSA4NngzOAorICAgICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0
fSBhdCAoMCwwKSBzaXplIDgwMHgwCisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4
dCB7I3RleHR9IGF0ICgtNDIsLTI4KSBzaXplIDg0eDM2CisgICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoLTQyLC0yOCkgd2lkdGggODQ6ICJzYW1wbGUiCisgICAgICAgICAgUmVuZGVyU1ZH
VGV4dCB7dGV4dH0gYXQgKDAsMTUpIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lu
bGluZVRleHQgeyN0ZXh0fSBhdCAoLTE1NCwtMjgpIHNpemUgMzA4eDM2CisgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgtMTU0LC0yOCkgd2lkdGggMzA4OiAic3Ryb2tlLXdpZHRoPTEsIGZpbGw9
bm9uZSIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIyNSwzMTApIHNpemUgODAw
eDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC00NCwtMTApIHNp
emUgODh4MTMKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtNDQsLTEwKSB3aWR0aCA4ODogIk5h
bWVkIEZvbnQgRmFtaWxpZXMiCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyMjUs
MzI1KSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgtOTIsLTEwKSBzaXplIDE5M3gxMworICAgICAgICAgICAgdGV4dCBydW4gYXQgKC05MiwtMTAp
IHdpZHRoIDE5MzogIihOb3QgYWxsIHR5cGVmYWNlcyBhcmUgYXZhaWxhYmxlIG9uIGFsbCBzeXN0
ZW1zLikiCisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDU4LDMzMikgc2l6ZSA4
NHg1MSBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgxMDAuMDAsMzYw
LjAwKX1dCisgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICg1OCwzMzIpIHNp
emUgODR4MzYKKyAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDU4LDMzMikg
c2l6ZSA4NHgzNgorICAgICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwwKSBz
aXplIDgwMHgwCisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgtNDIsLTI4KSBzaXplIDg0eDM2CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTQy
LC0yOCkgd2lkdGggODQ6ICJzYW1wbGUiCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0g
YXQgKDAsMTUpIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoLTM3LC0yOCkgc2l6ZSA3NHgzNgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
LTM3LC0yOCkgd2lkdGggNzQ6ICJUaW1lcyIKKyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtn
fSBhdCAoMTcxLDMzMCkgc2l6ZSAxMDh4NTMgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4w
MCwxLjAwKSkgdD0oMjI1LjAwLDM2MC4wMCl9XQorICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5l
ciB7dXNlfSBhdCAoMTcxLDMzMCkgc2l6ZSAxMDh4MzYKKyAgICAgICAgICAgIFJlbmRlclNWR0Nv
bnRhaW5lciB7Z30gYXQgKDE3MSwzMzApIHNpemUgMTA4eDM2CisgICAgICAgICAgICAgIFJlbmRl
clNWR1RleHQge3RleHR9IGF0ICgwLDApIHNpemUgODAweDAKKyAgICAgICAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC01NCwtMzApIHNpemUgMTA4eDM2CisgICAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTU0LC0zMCkgd2lkdGggMTA4OiAic2FtcGxlIgorICAg
ICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDE1KSBzaXplIDgwMHgwCisgICAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC01MCwtMjgpIHNpemUgMTAxeDM2
CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtNTAsLTI4KSB3aWR0aCAxMDE6ICJWZXJkYW5h
IgorICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgyOTQsMzMyKSBzaXplIDExM3g1
MSBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgzNTAuMDAsMzYwLjAw
KX1dCisgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgzMDEsMzMyKSBzaXpl
IDk4eDM1CisgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgzMDEsMzMyKSBz
aXplIDk4eDM1CisgICAgICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDApIHNp
emUgODAweDAKKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KC00OSwtMjgpIHNpemUgOTh4MzUKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtNDks
LTI4KSB3aWR0aCA5ODogInNhbXBsZSIKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBh
dCAoMCwxNSkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3Rl
eHR9IGF0ICgtNTYsLTI4KSBzaXplIDExM3gzNgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
LTU2LC0yOCkgd2lkdGggMTEzOiAiSGVsdmV0aWNhIgorICAgICAgICBSZW5kZXJTVkdDb250YWlu
ZXIge2d9IGF0ICgtOCwzODMpIHNpemUgMjE2eDUwIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDAp
KDAuMDAsMS4wMCkpIHQ9KDEwMC4wMCw0MTAuMDApfV0KKyAgICAgICAgICBSZW5kZXJTVkdUZXh0
IHt0ZXh0fSBhdCAoMCwwKSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmUg
e3RyZWZ9IGF0ICgwLDApIHNpemUgOTh4MzMKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5l
VGV4dCB7I3RleHR9IGF0ICgtNDksLTI3KSBzaXplIDk4eDMzCisgICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKC00OSwtMjcpIHdpZHRoIDk4OiAic2FtcGxlIgorICAgICAgICAgIFJlbmRlclNW
R1RleHQge3RleHR9IGF0ICgwLDE1KSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKC0xMDgsLTI4KSBzaXplIDIxNngzNgorICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoLTEwOCwtMjgpIHdpZHRoIDIxNjogIkFyaWFsICh1bmRlcmxpbmVkKSIK
KyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTgwLDM4MCkgc2l6ZSA5MXg1MyBb
dHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgyMjUuMDAsNDEwLjAwKX1d
CisgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgxODAsMzgwKSBzaXplIDkx
eDM2CisgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxODAsMzgwKSBzaXpl
IDkxeDM2CisgICAgICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDApIHNpemUg
ODAweDAKKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC00
NSwtMzApIHNpemUgOTF4MzYKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtNDUsLTMw
KSB3aWR0aCA5MTogInNhbXBsZSIKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAo
MCwxNSkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgtNDEsLTI4KSBzaXplIDgyeDM2CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtNDEs
LTI4KSB3aWR0aCA4MjogIkltcGFjdCIKKyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBh
dCAoMTkwLDM4Mikgc2l6ZSAzMjF4NTEgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwx
LjAwKSkgdD0oMzUwLjAwLDQxMC4wMCl9XQorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9
IGF0ICgwLDApIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZSB7dHJlZn0g
YXQgKDAsMCkgc2l6ZSA4NHgzNgorICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsj
dGV4dH0gYXQgKC00MiwtMjgpIHNpemUgODR4MzYKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoLTQyLC0yOCkgd2lkdGggODQ6ICJzYW1wbGUiCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7
dGV4dH0gYXQgKDAsMTUpIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoLTE2MCwtMjgpIHNpemUgMzIxeDM2CisgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgtMTYwLC0yOCkgd2lkdGggMzIxOiAiQXZhbnRHYXJkZSAobGluZS10aHJvdWdoKSIK
KyAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMCwwKSBzaXplIDB4MApJbmRleDog
c3ZnL2JhdGlrL3RleHQvdGV4dFN0eWxlcy5zdmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3ZnL2JhdGlrL3Rl
eHQvdGV4dFN0eWxlcy5zdmcJKHJldmlzaW9uIDApCisrKyBzdmcvYmF0aWsvdGV4dC90ZXh0U3R5
bGVzLnN2ZwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMjcgQEAKKzw/eG1sIHZlcnNpb249IjEu
MCIgc3RhbmRhbG9uZT0ibm8iPz4KKzwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBT
VkcgMS4wLy9FTiIKKyJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQv
RFREL3N2ZzEwLmR0ZCI+CisKKzwhLS0KKworICAgQ29weXJpZ2h0IDIwMDEtMjAwMiAgVGhlIEFw
YWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIAorCisgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hl
IExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAgIHlvdSBtYXkgbm90IHVz
ZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAgIFlv
dSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgICAgaHR0cDovL3d3
dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyAgIFVubGVzcyByZXF1aXJlZCBi
eSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAgIGRp
c3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIg
QkFTSVMsCisgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwg
ZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNw
ZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAgIGxpbWl0YXRpb25z
IHVuZGVyIHRoZSBMaWNlbnNlLgorCistLT4KKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKzwh
LS0gVGVzdCBkZXNjcmlwdGlvbiBoZXJlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAtLT4KKzwhLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKzwhLS0g
QGF1dGhvciBiaWxsLmhhbmVtYW5AaXJlbGFuZC5zdW4uY29tICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAtLT4KKzwhLS0gQHZlcnNpb24gJElkOiB0ZXh0U3R5bGVzLnN2Zyx2
IDEuNSAyMDA0LzA4LzE4IDA3OjEyOjIzIHZoYXJkeSBFeHAgJCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKzwhLS0gPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PSAtLT4KKzw/eG1sLXN0eWxlc2hlZXQgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4u
L3Jlc291cmNlcy90ZXN0LmNzcyIgPz4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIw
MDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9
IjQ1MCIgaGVpZ2h0PSI1MDAiIHZpZXdCb3g9IjAgMCA0NTAgNTAwIj4KKzx0aXRsZT5UZXh0IEZv
bnQgRmFjZXMgYW5kIFN0eWxlczwvdGl0bGU+CisKKyAgICA8IS0tID09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisgICAgPCEt
LSBUZXN0IGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC0tPgorICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKworICAgIDxkZWZzPgorICAgICA8c3R5bGUg
dHlwZT0idGV4dC9jc3MiPjwhW0NEQVRBWworICAgICAgIC5DYXB0aW9uIHsgZm9udC1zaXplOiA4
OyBmb250LWZhbWlseTogZGlhbG9nOyBmb250LXdlaWdodDogbm9ybWFsOworICAgICAgICAgICAg
ICAgICAgZm9udC1zdHlsZTogbm9ybWFsOyBzdHJva2U6IG5vbmU7IHN0cm9rZS13aWR0aDogMDsg
CisgICAgICAgICAgICAgICAgICBmaWxsOiBibGFjayB9IF1dPgorICAgICA8L3N0eWxlPgorCisg
ICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PCFbQ0RBVEFbCisgICAgICAgLlNhbnNTZXJpZlBs
YWluIHsgZm9udC1mYW1pbHk6IFNhbnNTZXJpZiB9IF1dPgorICAgICA8L3N0eWxlPgorCisgICAg
IDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PCFbQ0RBVEFbCisgICAgICAgLlNhbnNTZXJpZkJvbGQg
eyBmb250LWZhbWlseTogU2Fuc1NlcmlmOyBmb250LXdlaWdodDogYm9sZCB9IF1dPgorICAgICA8
L3N0eWxlPgorCisgICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PCFbQ0RBVEFbCisgICAgICAg
LlNhbnNTZXJpZk9ibGlxdWUgeyBmb250LWZhbWlseTogU2Fuc1NlcmlmOyBmb250LXN0eWxlOiBv
YmxpcXVlIH0gXV0+CisgICAgIDwvc3R5bGU+CisKKyAgICAgPHN0eWxlIHR5cGU9InRleHQvY3Nz
Ij48IVtDREFUQVsKKyAgICAgICAuU2VyaWZQbGFpbiB7IGZvbnQtZmFtaWx5OiBTZXJpZiB9IF1d
PgorICAgICA8L3N0eWxlPgorCisgICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PCFbQ0RBVEFb
CisgICAgICAgLlNlcmlmQm9sZCB7IGZvbnQtZmFtaWx5OiBTZXJpZjsgZm9udC13ZWlnaHQ6IGJv
bGQgfSBdXT4KKyAgICAgPC9zdHlsZT4KKworICAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwh
W0NEQVRBWworICAgICAgIC5TZXJpZk9ibGlxdWUgeyBmb250LWZhbWlseTogU2VyaWY7IGZvbnQt
c3R5bGU6IG9ibGlxdWUgfSBdXT4KKyAgICAgPC9zdHlsZT4KKworICAgICA8c3R5bGUgdHlwZT0i
dGV4dC9jc3MiPjwhW0NEQVRBWworICAgICAgIC5Nb25vc3BhY2VkIHsgZm9udC1mYW1pbHk6IE1v
bm9zcGFjZWQgfSBdXT4KKyAgICAgPC9zdHlsZT4KKworICAgICA8c3R5bGUgdHlwZT0idGV4dC9j
c3MiPjwhW0NEQVRBWworICAgICAgIC5Nb25vc3BhY2VkQm9sZCB7IGZvbnQtZmFtaWx5OiBNb25v
c3BhY2VkOyBmb250LXdlaWdodDpib2xkIH0gXV0+CisgICAgIDwvc3R5bGU+CisKKyAgICAgPHN0
eWxlIHR5cGU9InRleHQvY3NzIj48IVtDREFUQVsKKyAgICAgICAuTW9ub3NwYWNlZE9ibGlxdWUg
eyBmb250LWZhbWlseTogTW9ub3NwYWNlZDsgZm9udC1zdHlsZTpvYmxpcXVlIH0gXV0+CisgICAg
IDwvc3R5bGU+CisKKyAgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj48IVtDREFUQVsKKyAgICAg
ICAuRGVmYXVsdCB7ICAgfSBdXT4KKyAgICAgPC9zdHlsZT4KKworICAgICA8c3R5bGUgdHlwZT0i
dGV4dC9jc3MiPjwhW0NEQVRBWworICAgICAgIC5EZWZhdWx0Qm9sZE9ibGlxdWUgeyBmb250LXN0
eWxlOiBvYmxpcXVlOyBmb250LXdlaWdodDogYm9sZCB9IF1dPgorICAgICA8L3N0eWxlPgorCisg
ICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PCFbQ0RBVEFbCisgICAgICAgLkRlZmF1bHRPdXRs
aW5lIHsgc3Ryb2tlLXdpZHRoOiAxOyBzdHJva2U6IGJsYWNrOyBmaWxsOiBub25lIH0gXV0+Cisg
ICAgIDwvc3R5bGU+CisKKyAgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj48IVtDREFUQVsKKyAg
ICAgICAuVGltZXMgeyBmb250LWZhbWlseTogVGltZXMgIH0gXV0+CisgICAgIDwvc3R5bGU+CisK
KyAgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj48IVtDREFUQVsKKyAgICAgICAuQXJpYWwgeyBm
b250LWZhbWlseTogQXJpYWwgIH0gXV0+CisgICAgIDwvc3R5bGU+CisKKyAgICAgPHN0eWxlIHR5
cGU9InRleHQvY3NzIj48IVtDREFUQVsKKyAgICAgICAuVmVyZGFuYSB7IGZvbnQtZmFtaWx5OiBW
ZXJkYW5hICB9IF1dPgorICAgICA8L3N0eWxlPgorCisgICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2Nz
cyI+PCFbQ0RBVEFbCisgICAgICAgLkhlbHZldGljYSB7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2Eg
IH0gXV0+CisgICAgIDwvc3R5bGU+CisKKyAgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj48IVtD
REFUQVsKKyAgICAgICAuSW1wYWN0IHsgZm9udC1mYW1pbHk6IEltcGFjdCAgfSBdXT4KKyAgICAg
PC9zdHlsZT4KKworICAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwhW0NEQVRBWworICAgICAg
IC5BdmFudEdhcmRlIHsgZm9udC1mYW1pbHk6IEF2YW50R2FyZGUgIH0gXV0+CisgICAgIDwvc3R5
bGU+CisKKyAgICAgPHRleHQgeD0iMCIgeT0iMCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgaWQ9InNh
bXBsZSI+c2FtcGxlPC90ZXh0PgorCisgICAgPC9kZWZzPgorCisgICAgPGcgaWQ9InRlc3RDb250
ZW50IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjMwIj4KKyAgICAgICAgPHRleHQg
Y2xhc3M9InRpdGxlIiB4PSI1MCUiIHk9IjEwJSIgZm9udC1zaXplPSIxNSIgPgorICAgICAgICAg
ICAgVGV4dCBGb250IEZhY2VzIGFuZCBTdHlsZXM8L3RleHQ+CisgICAgICAgCisgICAgICAgPHRl
eHQgeD0iNTAlIiB5PSIxNSUiIGZvbnQtc2l6ZT0iMTAiPlN0YW5kYXJkIEZvbnQgRmFjZXM8L3Rl
eHQ+CisKKyAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAwLCAxMTApIiBjbGFzcz0i
U2Fuc1NlcmlmUGxhaW4iPgorICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjc2FtcGxlIi8+
CisgICAgICAgICAgICA8dGV4dCB5PSIxNSIgY2xhc3M9IkNhcHRpb24iPlNhbnNTZXJpZiwgbm9y
bWFsIHdlaWdodDwvdGV4dD4KKyAgICAgICAgPC9nPgorCisgICAgICAgIDxnIHRyYW5zZm9ybT0i
dHJhbnNsYXRlKDIyNSwgMTEwKSIgY2xhc3M9IlNhbnNTZXJpZkJvbGQiPgorICAgICAgICAgICAg
PHVzZSB4bGluazpocmVmPSIjc2FtcGxlIi8+CisgICAgICAgICAgICA8dGV4dCB5PSIxNSIgY2xh
c3M9IkNhcHRpb24iPlNhbnNTZXJpZiwgYm9sZDwvdGV4dD4KKyAgICAgICAgPC9nPgorCisgICAg
ICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM1MCwgMTEwKSIgY2xhc3M9IlNhbnNTZXJpZk9i
bGlxdWUiPgorICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjc2FtcGxlIi8+CisgICAgICAg
ICAgICA8dGV4dCB5PSIxNSIgY2xhc3M9IkNhcHRpb24iPlNhbnNTZXJpZiwgb2JsaXF1ZTwvdGV4
dD4KKyAgICAgICAgPC9nPgorCisgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEwMCwg
MTYwKSIgY2xhc3M9IlNlcmlmUGxhaW4iPgorICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIj
c2FtcGxlIi8+CisgICAgICAgICAgICA8dGV4dCB5PSIxNSIgY2xhc3M9IkNhcHRpb24iPlNlcmlm
LCBub3JtYWwgd2VpZ2h0PC90ZXh0PgorICAgICAgICA8L2c+CisKKyAgICAgICAgPGcgdHJhbnNm
b3JtPSJ0cmFuc2xhdGUoMjI1LCAxNjApIiBjbGFzcz0iU2VyaWZCb2xkIj4KKyAgICAgICAgICAg
IDx1c2UgeGxpbms6aHJlZj0iI3NhbXBsZSIvPgorICAgICAgICAgICAgPHRleHQgeT0iMTUiIGNs
YXNzPSJDYXB0aW9uIj5TZXJpZiwgYm9sZDwvdGV4dD4KKyAgICAgICAgPC9nPgorCisgICAgICAg
IDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM1MCwgMTYwKSIgY2xhc3M9IlNlcmlmT2JsaXF1ZSI+
CisgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNzYW1wbGUiLz4KKyAgICAgICAgICAgIDx0
ZXh0IHk9IjE1IiBjbGFzcz0iQ2FwdGlvbiI+U2VyaWYsIG9ibGlxdWU8L3RleHQ+CisgICAgICAg
IDwvZz4KKworICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMDAsIDIxMCkiIGNsYXNz
PSJNb25vc3BhY2VkIj4KKyAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3NhbXBsZSIvPgor
ICAgICAgICAgICAgPHRleHQgeT0iMTUiIGNsYXNzPSJDYXB0aW9uIj5Nb25vc3BhY2VkLCBub3Jt
YWwgd2VpZ2h0PC90ZXh0PgorICAgICAgICA8L2c+CisKKyAgICAgICAgPGcgdHJhbnNmb3JtPSJ0
cmFuc2xhdGUoMjI1LCAyMTApIiBjbGFzcz0iTW9ub3NwYWNlZEJvbGQiPgorICAgICAgICAgICAg
PHVzZSB4bGluazpocmVmPSIjc2FtcGxlIi8+CisgICAgICAgICAgICA8dGV4dCB5PSIxNSIgY2xh
c3M9IkNhcHRpb24iPk1vbm9zcGFjZWQsIGJvbGQ8L3RleHQ+CisgICAgICAgIDwvZz4KKworICAg
ICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNTAsIDIxMCkiIGNsYXNzPSJNb25vc3BhY2Vk
T2JsaXF1ZSI+CisgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNzYW1wbGUiLz4KKyAgICAg
ICAgICAgIDx0ZXh0IHk9IjE1IiBjbGFzcz0iQ2FwdGlvbiI+TW9ub3NwYWNlZCwgb2JsaXF1ZTwv
dGV4dD4KKyAgICAgICAgPC9nPgorCisgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEw
MCwgMjYwKSIgY2xhc3M9IkRlZmF1bHQiPgorICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIj
c2FtcGxlIi8+CisgICAgICAgICAgICA8dGV4dCB5PSIxNSIgY2xhc3M9IkNhcHRpb24iPihkZWZh
dWx0KTwvdGV4dD4KKyAgICAgICAgPC9nPgorCisgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNs
YXRlKDIyNSwgMjYwKSIgY2xhc3M9IkRlZmF1bHRCb2xkT2JsaXF1ZSI+CisgICAgICAgICAgICA8
dXNlIHhsaW5rOmhyZWY9IiNzYW1wbGUiLz4KKyAgICAgICAgICAgIDx0ZXh0IHk9IjE1IiBjbGFz
cz0iQ2FwdGlvbiI+ZGVmYXVsdCwgYm9sZCwgb2JsaXF1ZTwvdGV4dD4KKyAgICAgICAgPC9nPgor
CisgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM1MCwgMjYwKSIgY2xhc3M9IkRlZmF1
bHRPdXRsaW5lIj4KKyAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3NhbXBsZSIvPgorICAg
ICAgICAgICAgPHRleHQgeT0iMTUiIGNsYXNzPSJDYXB0aW9uIj5zdHJva2Utd2lkdGg9MSwgZmls
bD1ub25lPC90ZXh0PgorICAgICAgICA8L2c+CisKKyAgICAgICAgPHRleHQgeD0iNTAlIiB5PSI2
MiUiIGZvbnQtc2l6ZT0iMTAiPk5hbWVkIEZvbnQgRmFtaWxpZXM8L3RleHQ+CisgICAgICAgIDx0
ZXh0IHg9IjUwJSIgeT0iNjUlIiBmb250LXNpemU9IjEwIiBmb250LXN0eWxlPSJvYmxpcXVlIj4K
KyAgICAgICAgICAgIChOb3QgYWxsIHR5cGVmYWNlcyBhcmUgYXZhaWxhYmxlIG9uIGFsbCBzeXN0
ZW1zLikKKyAgICAgICAgPC90ZXh0PgorCisgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRl
KDEwMCwgMzYwKSIgY2xhc3M9IlRpbWVzIj4KKyAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0i
I3NhbXBsZSIvPgorICAgICAgICAgICAgPHRleHQgeT0iMTUiIGNsYXNzPSJDYXB0aW9uIj5UaW1l
czwvdGV4dD4KKyAgICAgICAgPC9nPgorCisgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRl
KDIyNSwgMzYwKSIgY2xhc3M9IlZlcmRhbmEiPgorICAgICAgICAgICAgPHVzZSB4bGluazpocmVm
PSIjc2FtcGxlIi8+CisgICAgICAgICAgICA8dGV4dCB5PSIxNSIgY2xhc3M9IkNhcHRpb24iPlZl
cmRhbmE8L3RleHQ+CisgICAgICAgIDwvZz4KKworICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5z
bGF0ZSgzNTAsIDM2MCkiIGNsYXNzPSJIZWx2ZXRpY2EiPgorICAgICAgICAgICAgPHVzZSB4bGlu
azpocmVmPSIjc2FtcGxlIi8+CisgICAgICAgICAgICA8dGV4dCB5PSIxNSIgY2xhc3M9IkNhcHRp
b24iPkhlbHZldGljYTwvdGV4dD4KKyAgICAgICAgPC9nPgorCisgICAgICAgIDxnIHRyYW5zZm9y
bT0idHJhbnNsYXRlKDEwMCwgNDEwKSIgY2xhc3M9IkFyaWFsIj4KKyAgICAgICAgICAgIDx0ZXh0
Pjx0cmVmIHhsaW5rOmhyZWY9IiNzYW1wbGUiIHRleHQtZGVjb3JhdGlvbj0idW5kZXJsaW5lIi8+
PC90ZXh0PgorICAgICAgICAgICAgPHRleHQgeT0iMTUiIGNsYXNzPSJDYXB0aW9uIj5BcmlhbCAo
dW5kZXJsaW5lZCk8L3RleHQ+CisgICAgICAgIDwvZz4KKworICAgICAgICA8ZyB0cmFuc2Zvcm09
InRyYW5zbGF0ZSgyMjUsIDQxMCkiIGNsYXNzPSJJbXBhY3QiPgorICAgICAgICAgICAgPHVzZSB4
bGluazpocmVmPSIjc2FtcGxlIi8+CisgICAgICAgICAgICA8dGV4dCB5PSIxNSIgY2xhc3M9IkNh
cHRpb24iPkltcGFjdDwvdGV4dD4KKyAgICAgICAgPC9nPgorCisgICAgICAgIDxnIHRyYW5zZm9y
bT0idHJhbnNsYXRlKDM1MCwgNDEwKSIgY2xhc3M9IkF2YW50R2FyZGUiPgorICAgICAgICAgICAg
PHRleHQ+PHRyZWYgeGxpbms6aHJlZj0iI3NhbXBsZSIgdGV4dC1kZWNvcmF0aW9uPSJsaW5lLXRo
cm91Z2giLz48L3RleHQ+CisgICAgICAgICAgICA8dGV4dCB5PSIxNSIgY2xhc3M9IkNhcHRpb24i
PkF2YW50R2FyZGUgKGxpbmUtdGhyb3VnaCk8L3RleHQ+CisgICAgICAgIDwvZz4KKworICAgIDwv
Zz4KKworICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PSAtLT4KKyAgICA8IS0tIEJhdGlrIHNhbXBsZSBtYXJrICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+CisgICAgPCEtLSA9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
IC0tPgorICAgIDx1c2UgeGxpbms6aHJlZj0iLi4vcmVzb3VyY2VzL2JhdGlrTG9nby5zdmcjQmF0
aWtfVGFnX0JveCIgLz4KKyAgICAKKzwvc3ZnPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogc3ZnL2Jh
dGlrL3RleHQvdGV4dFN0eWxlcy5zdmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46ZXhlY3V0YWJsZQog
ICArICoKCkluZGV4OiBzdmcvYmF0aWsvdGV4dC92ZXJ0aWNhbFRleHQtZXhwZWN0ZWQuY2hlY2tz
dW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gc3ZnL2JhdGlrL3RleHQvdmVydGljYWxUZXh0LWV4cGVjdGVkLmNo
ZWNrc3VtCShyZXZpc2lvbiAwKQorKysgc3ZnL2JhdGlrL3RleHQvdmVydGljYWxUZXh0LWV4cGVj
dGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACitmY2NhMGM1MTY0ODg4ZTdi
NjcyY2M3NzI0N2NiNjZjYgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IHN2Zy9i
YXRpay90ZXh0L3ZlcnRpY2FsVGV4dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3ZnL2Jh
dGlrL3RleHQvdmVydGljYWxUZXh0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIHN2Zy9i
YXRpay90ZXh0L3ZlcnRpY2FsVGV4dC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsNzEgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDYwMAorICAgIFJlbmRlclNWR0NvbnRhaW5lciB7c3ZnfSBhdCAoMjAsMjYp
IHNpemUgNDEweDUxMgorICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAo
MCwwKSBzaXplIDB4MAorICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMTQuOTUsNy4wNCkg
c2l6ZSAzMTUuMTF4MzAuOTEgW3RyYW5zZm9ybT17bT0oKDAuMTUsMC4wMCkoMC4wMCwwLjE1KSkg
dD0oMC4wMCwwLjAwKX1dIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDBGRl19XSBb
ZGF0YT0iTTEwMC4wMCwyMDAuMDBDMjAwLjAwLDEwMC4wMCwzMDAuMDAsMC4wMCw0MDAuMDAsMTAw
LjAwQzUwMC4wMCwyMDAuMDAsNjAwLjAwLDMwMC4wMCw3MDAuMDAsMjAwLjAwQzgwMC4wMCwxMDAu
MDAsOTAwLjAwLDAuMDAsMTAwMC4wMCwxMDAuMDBDMTEwMC4wMCwyMDAuMDAsMTIwMC4wMCwzMDAu
MDAsMTMwMC4wMCwyMDAuMDBDMTQwMC4wMCwxMDAuMDAsMTUwMC4wMCwwLjAwLDE2MDAuMDAsMTAw
LjAwQzE3MDAuMDAsMjAwLjAwLDE4MDAuMDAsMzAwLjAwLDE5MDAuMDAsMjAwLjAwQzIwMDAuMDAs
MTAwLjAwLDIxMDAuMDAsMC4wMCwyMjAwLjAwLDEwMC4wMCJdCisgICAgICBSZW5kZXJTVkdDb250
YWluZXIge2d9IGF0ICgyMCwyNikgc2l6ZSA0MTB4NTEyCisgICAgICAgIFJlbmRlclNWR1RleHQg
e3RleHR9IGF0ICgyMjUsNDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKC02MiwtMTQpIHNpemUgMTI0eDE3CisgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoLTYyLC0xNCkgd2lkdGggMTI0OiAiVmVydGljYWwgVGV4dCBUZXN0IgorICAgICAgICBS
ZW5kZXJQYXRoIHtsaW5lfSBhdCAoMjAsNzQuNTApIHNpemUgNDEweDEgW3N0cm9rZT17W3R5cGU9
U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAw
MDBdfV0gW2RhdGE9Ik0yMC4wMCw3NS4wMEw0MzAuMDAsNzUuMDAiXQorICAgICAgICBSZW5kZXJT
VkdDb250YWluZXIge2d9IGF0ICg0OCw3Mykgc2l6ZSAzNTR4Mzc3IFtvcGFjaXR5PTAuNTBdCisg
ICAgICAgICAgUmVuZGVyUGF0aCB7Y2lyY2xlfSBhdCAoNDgsNzMpIHNpemUgNHg0IFtmaWxsPXtb
dHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2RhdGE9Ik01Mi4wMCw3NS4wMEw1Mi4wMCw3
NS4xM0w1MS45OCw3NS4yNUw1MS45Niw3NS4zN0w1MS45NCw3NS41MEw1MS45MCw3NS42Mkw1MS44
Niw3NS43NEw1MS44MSw3NS44NUw1MS43NSw3NS45Nkw1MS42OSw3Ni4wN0w1MS42Miw3Ni4xOEw1
MS41NCw3Ni4yN0w1MS40Niw3Ni4zN0w1MS4zNyw3Ni40Nkw1MS4yNyw3Ni41NEw1MS4xOCw3Ni42
Mkw1MS4wNyw3Ni42OUw1MC45Niw3Ni43NUw1MC44NSw3Ni44MUw1MC43NCw3Ni44Nkw1MC42Miw3
Ni45MEw1MC41MCw3Ni45NEw1MC4zNyw3Ni45Nkw1MC4yNSw3Ni45OEw1MC4xMyw3Ny4wMEw1MC4w
MCw3Ny4wMEw0OS44Nyw3Ny4wMEw0OS43NSw3Ni45OEw0OS42Myw3Ni45Nkw0OS41MCw3Ni45NEw0
OS4zOCw3Ni45MEw0OS4yNiw3Ni44Nkw0OS4xNSw3Ni44MUw0OS4wNCw3Ni43NUw0OC45Myw3Ni42
OUw0OC44Miw3Ni42Mkw0OC43Myw3Ni41NEw0OC42Myw3Ni40Nkw0OC41NCw3Ni4zN0w0OC40Niw3
Ni4yN0w0OC4zOCw3Ni4xOEw0OC4zMSw3Ni4wN0w0OC4yNSw3NS45Nkw0OC4xOSw3NS44NUw0OC4x
NCw3NS43NEw0OC4xMCw3NS42Mkw0OC4wNiw3NS41MEw0OC4wNCw3NS4zN0w0OC4wMiw3NS4yNUw0
OC4wMCw3NS4xM0w0OC4wMCw3NS4wMEw0OC4wMCw3NC44N0w0OC4wMiw3NC43NUw0OC4wNCw3NC42
M0w0OC4wNiw3NC41MEw0OC4xMCw3NC4zOEw0OC4xNCw3NC4yNkw0OC4xOSw3NC4xNUw0OC4yNSw3
NC4wNEw0OC4zMSw3My45M0w0OC4zOCw3My44Mkw0OC40Niw3My43M0w0OC41NCw3My42M0w0OC42
Myw3My41NEw0OC43Myw3My40Nkw0OC44Miw3My4zOEw0OC45Myw3My4zMUw0OS4wNCw3My4yNUw0
OS4xNSw3My4xOUw0OS4yNiw3My4xNEw0OS4zOCw3My4xMEw0OS41MCw3My4wNkw0OS42Myw3My4w
NEw0OS43NSw3My4wMkw0OS44Nyw3My4wMEw1MC4wMCw3My4wMEw1MC4xMyw3My4wMEw1MC4yNSw3
My4wMkw1MC4zNyw3My4wNEw1MC41MCw3My4wNkw1MC42Miw3My4xMEw1MC43NCw3My4xNEw1MC44
NSw3My4xOUw1MC45Niw3My4yNUw1MS4wNyw3My4zMUw1MS4xOCw3My4zOEw1MS4yNyw3My40Nkw1
MS4zNyw3My41NEw1MS40Niw3My42M0w1MS41NCw3My43M0w1MS42Miw3My44Mkw1MS42OSw3My45
M0w1MS43NSw3NC4wNEw1MS44MSw3NC4xNUw1MS44Niw3NC4yNkw1MS45MCw3NC4zOEw1MS45NCw3
NC41MEw1MS45Niw3NC42M0w1MS45OCw3NC43NUw1Mi4wMCw3NC44NyJdCisgICAgICAgICAgUmVu
ZGVyUGF0aCB7Y2lyY2xlfSBhdCAoOTgsNzMpIHNpemUgNHg0IFtmaWxsPXtbdHlwZT1TT0xJRF0g
W2NvbG9yPSNGRjAwMDBdfV0gW2RhdGE9Ik0xMDIuMDAsNzUuMDBMMTAyLjAwLDc1LjEzTDEwMS45
OCw3NS4yNUwxMDEuOTYsNzUuMzdMMTAxLjk0LDc1LjUwTDEwMS45MCw3NS42MkwxMDEuODYsNzUu
NzRMMTAxLjgxLDc1Ljg1TDEwMS43NSw3NS45NkwxMDEuNjksNzYuMDdMMTAxLjYyLDc2LjE4TDEw
MS41NCw3Ni4yN0wxMDEuNDYsNzYuMzdMMTAxLjM3LDc2LjQ2TDEwMS4yNyw3Ni41NEwxMDEuMTgs
NzYuNjJMMTAxLjA3LDc2LjY5TDEwMC45Niw3Ni43NUwxMDAuODUsNzYuODFMMTAwLjc0LDc2Ljg2
TDEwMC42Miw3Ni45MEwxMDAuNTAsNzYuOTRMMTAwLjM3LDc2Ljk2TDEwMC4yNSw3Ni45OEwxMDAu
MTMsNzcuMDBMMTAwLjAwLDc3LjAwTDk5Ljg3LDc3LjAwTDk5Ljc1LDc2Ljk4TDk5LjYzLDc2Ljk2
TDk5LjUwLDc2Ljk0TDk5LjM4LDc2LjkwTDk5LjI2LDc2Ljg2TDk5LjE1LDc2LjgxTDk5LjA0LDc2
Ljc1TDk4LjkzLDc2LjY5TDk4LjgyLDc2LjYyTDk4LjczLDc2LjU0TDk4LjYzLDc2LjQ2TDk4LjU0
LDc2LjM3TDk4LjQ2LDc2LjI3TDk4LjM4LDc2LjE4TDk4LjMxLDc2LjA3TDk4LjI1LDc1Ljk2TDk4
LjE5LDc1Ljg1TDk4LjE0LDc1Ljc0TDk4LjEwLDc1LjYyTDk4LjA2LDc1LjUwTDk4LjA0LDc1LjM3
TDk4LjAyLDc1LjI1TDk4LjAwLDc1LjEzTDk4LjAwLDc1LjAwTDk4LjAwLDc0Ljg3TDk4LjAyLDc0
Ljc1TDk4LjA0LDc0LjYzTDk4LjA2LDc0LjUwTDk4LjEwLDc0LjM4TDk4LjE0LDc0LjI2TDk4LjE5
LDc0LjE1TDk4LjI1LDc0LjA0TDk4LjMxLDczLjkzTDk4LjM4LDczLjgyTDk4LjQ2LDczLjczTDk4
LjU0LDczLjYzTDk4LjYzLDczLjU0TDk4LjczLDczLjQ2TDk4LjgyLDczLjM4TDk4LjkzLDczLjMx
TDk5LjA0LDczLjI1TDk5LjE1LDczLjE5TDk5LjI2LDczLjE0TDk5LjM4LDczLjEwTDk5LjUwLDcz
LjA2TDk5LjYzLDczLjA0TDk5Ljc1LDczLjAyTDk5Ljg3LDczLjAwTDEwMC4wMCw3My4wMEwxMDAu
MTMsNzMuMDBMMTAwLjI1LDczLjAyTDEwMC4zNyw3My4wNEwxMDAuNTAsNzMuMDZMMTAwLjYyLDcz
LjEwTDEwMC43NCw3My4xNEwxMDAuODUsNzMuMTlMMTAwLjk2LDczLjI1TDEwMS4wNyw3My4zMUwx
MDEuMTgsNzMuMzhMMTAxLjI3LDczLjQ2TDEwMS4zNyw3My41NEwxMDEuNDYsNzMuNjNMMTAxLjU0
LDczLjczTDEwMS42Miw3My44MkwxMDEuNjksNzMuOTNMMTAxLjc1LDc0LjA0TDEwMS44MSw3NC4x
NUwxMDEuODYsNzQuMjZMMTAxLjkwLDc0LjM4TDEwMS45NCw3NC41MEwxMDEuOTYsNzQuNjNMMTAx
Ljk4LDc0Ljc1TDEwMi4wMCw3NC44NyJdCisgICAgICAgICAgUmVuZGVyUGF0aCB7Y2lyY2xlfSBh
dCAoMTQ4LDczKSBzaXplIDR4NCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1d
IFtkYXRhPSJNMTUyLjAwLDc1LjAwTDE1Mi4wMCw3NS4xM0wxNTEuOTgsNzUuMjVMMTUxLjk2LDc1
LjM3TDE1MS45NCw3NS41MEwxNTEuOTAsNzUuNjJMMTUxLjg2LDc1Ljc0TDE1MS44MSw3NS44NUwx
NTEuNzUsNzUuOTZMMTUxLjY5LDc2LjA3TDE1MS42Miw3Ni4xOEwxNTEuNTQsNzYuMjdMMTUxLjQ2
LDc2LjM3TDE1MS4zNyw3Ni40NkwxNTEuMjcsNzYuNTRMMTUxLjE4LDc2LjYyTDE1MS4wNyw3Ni42
OUwxNTAuOTYsNzYuNzVMMTUwLjg1LDc2LjgxTDE1MC43NCw3Ni44NkwxNTAuNjIsNzYuOTBMMTUw
LjUwLDc2Ljk0TDE1MC4zNyw3Ni45NkwxNTAuMjUsNzYuOThMMTUwLjEzLDc3LjAwTDE1MC4wMCw3
Ny4wMEwxNDkuODcsNzcuMDBMMTQ5Ljc1LDc2Ljk4TDE0OS42Myw3Ni45NkwxNDkuNTAsNzYuOTRM
MTQ5LjM4LDc2LjkwTDE0OS4yNiw3Ni44NkwxNDkuMTUsNzYuODFMMTQ5LjA0LDc2Ljc1TDE0OC45
Myw3Ni42OUwxNDguODIsNzYuNjJMMTQ4LjczLDc2LjU0TDE0OC42Myw3Ni40NkwxNDguNTQsNzYu
MzdMMTQ4LjQ2LDc2LjI3TDE0OC4zOCw3Ni4xOEwxNDguMzEsNzYuMDdMMTQ4LjI1LDc1Ljk2TDE0
OC4xOSw3NS44NUwxNDguMTQsNzUuNzRMMTQ4LjEwLDc1LjYyTDE0OC4wNiw3NS41MEwxNDguMDQs
NzUuMzdMMTQ4LjAyLDc1LjI1TDE0OC4wMCw3NS4xM0wxNDguMDAsNzUuMDBMMTQ4LjAwLDc0Ljg3
TDE0OC4wMiw3NC43NUwxNDguMDQsNzQuNjNMMTQ4LjA2LDc0LjUwTDE0OC4xMCw3NC4zOEwxNDgu
MTQsNzQuMjZMMTQ4LjE5LDc0LjE1TDE0OC4yNSw3NC4wNEwxNDguMzEsNzMuOTNMMTQ4LjM4LDcz
LjgyTDE0OC40Niw3My43M0wxNDguNTQsNzMuNjNMMTQ4LjYzLDczLjU0TDE0OC43Myw3My40Nkwx
NDguODIsNzMuMzhMMTQ4LjkzLDczLjMxTDE0OS4wNCw3My4yNUwxNDkuMTUsNzMuMTlMMTQ5LjI2
LDczLjE0TDE0OS4zOCw3My4xMEwxNDkuNTAsNzMuMDZMMTQ5LjYzLDczLjA0TDE0OS43NSw3My4w
MkwxNDkuODcsNzMuMDBMMTUwLjAwLDczLjAwTDE1MC4xMyw3My4wMEwxNTAuMjUsNzMuMDJMMTUw
LjM3LDczLjA0TDE1MC41MCw3My4wNkwxNTAuNjIsNzMuMTBMMTUwLjc0LDczLjE0TDE1MC44NSw3
My4xOUwxNTAuOTYsNzMuMjVMMTUxLjA3LDczLjMxTDE1MS4xOCw3My4zOEwxNTEuMjcsNzMuNDZM
MTUxLjM3LDczLjU0TDE1MS40Niw3My42M0wxNTEuNTQsNzMuNzNMMTUxLjYyLDczLjgyTDE1MS42
OSw3My45M0wxNTEuNzUsNzQuMDRMMTUxLjgxLDc0LjE1TDE1MS44Niw3NC4yNkwxNTEuOTAsNzQu
MzhMMTUxLjk0LDc0LjUwTDE1MS45Niw3NC42M0wxNTEuOTgsNzQuNzVMMTUyLjAwLDc0Ljg3Il0K
KyAgICAgICAgICBSZW5kZXJQYXRoIHtjaXJjbGV9IGF0ICgxOTgsNzMpIHNpemUgNHg0IFtmaWxs
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2RhdGE9Ik0yMDIuMDAsNzUuMDBMMjAy
LjAwLDc1LjEzTDIwMS45OCw3NS4yNUwyMDEuOTYsNzUuMzdMMjAxLjk0LDc1LjUwTDIwMS45MCw3
NS42MkwyMDEuODYsNzUuNzRMMjAxLjgxLDc1Ljg1TDIwMS43NSw3NS45NkwyMDEuNjksNzYuMDdM
MjAxLjYyLDc2LjE4TDIwMS41NCw3Ni4yN0wyMDEuNDYsNzYuMzdMMjAxLjM3LDc2LjQ2TDIwMS4y
Nyw3Ni41NEwyMDEuMTgsNzYuNjJMMjAxLjA3LDc2LjY5TDIwMC45Niw3Ni43NUwyMDAuODUsNzYu
ODFMMjAwLjc0LDc2Ljg2TDIwMC42Miw3Ni45MEwyMDAuNTAsNzYuOTRMMjAwLjM3LDc2Ljk2TDIw
MC4yNSw3Ni45OEwyMDAuMTMsNzcuMDBMMjAwLjAwLDc3LjAwTDE5OS44Nyw3Ny4wMEwxOTkuNzUs
NzYuOThMMTk5LjYzLDc2Ljk2TDE5OS41MCw3Ni45NEwxOTkuMzgsNzYuOTBMMTk5LjI2LDc2Ljg2
TDE5OS4xNSw3Ni44MUwxOTkuMDQsNzYuNzVMMTk4LjkzLDc2LjY5TDE5OC44Miw3Ni42MkwxOTgu
NzMsNzYuNTRMMTk4LjYzLDc2LjQ2TDE5OC41NCw3Ni4zN0wxOTguNDYsNzYuMjdMMTk4LjM4LDc2
LjE4TDE5OC4zMSw3Ni4wN0wxOTguMjUsNzUuOTZMMTk4LjE5LDc1Ljg1TDE5OC4xNCw3NS43NEwx
OTguMTAsNzUuNjJMMTk4LjA2LDc1LjUwTDE5OC4wNCw3NS4zN0wxOTguMDIsNzUuMjVMMTk4LjAw
LDc1LjEzTDE5OC4wMCw3NS4wMEwxOTguMDAsNzQuODdMMTk4LjAyLDc0Ljc1TDE5OC4wNCw3NC42
M0wxOTguMDYsNzQuNTBMMTk4LjEwLDc0LjM4TDE5OC4xNCw3NC4yNkwxOTguMTksNzQuMTVMMTk4
LjI1LDc0LjA0TDE5OC4zMSw3My45M0wxOTguMzgsNzMuODJMMTk4LjQ2LDczLjczTDE5OC41NCw3
My42M0wxOTguNjMsNzMuNTRMMTk4LjczLDczLjQ2TDE5OC44Miw3My4zOEwxOTguOTMsNzMuMzFM
MTk5LjA0LDczLjI1TDE5OS4xNSw3My4xOUwxOTkuMjYsNzMuMTRMMTk5LjM4LDczLjEwTDE5OS41
MCw3My4wNkwxOTkuNjMsNzMuMDRMMTk5Ljc1LDczLjAyTDE5OS44Nyw3My4wMEwyMDAuMDAsNzMu
MDBMMjAwLjEzLDczLjAwTDIwMC4yNSw3My4wMkwyMDAuMzcsNzMuMDRMMjAwLjUwLDczLjA2TDIw
MC42Miw3My4xMEwyMDAuNzQsNzMuMTRMMjAwLjg1LDczLjE5TDIwMC45Niw3My4yNUwyMDEuMDcs
NzMuMzFMMjAxLjE4LDczLjM4TDIwMS4yNyw3My40NkwyMDEuMzcsNzMuNTRMMjAxLjQ2LDczLjYz
TDIwMS41NCw3My43M0wyMDEuNjIsNzMuODJMMjAxLjY5LDczLjkzTDIwMS43NSw3NC4wNEwyMDEu
ODEsNzQuMTVMMjAxLjg2LDc0LjI2TDIwMS45MCw3NC4zOEwyMDEuOTQsNzQuNTBMMjAxLjk2LDc0
LjYzTDIwMS45OCw3NC43NUwyMDIuMDAsNzQuODciXQorICAgICAgICAgIFJlbmRlclBhdGgge2Np
cmNsZX0gYXQgKDI0OCw3Mykgc2l6ZSA0eDQgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZG
MDAwMF19XSBbZGF0YT0iTTI1Mi4wMCw3NS4wMEwyNTIuMDAsNzUuMTNMMjUxLjk4LDc1LjI1TDI1
MS45Niw3NS4zN0wyNTEuOTQsNzUuNTBMMjUxLjkwLDc1LjYyTDI1MS44Niw3NS43NEwyNTEuODEs
NzUuODVMMjUxLjc1LDc1Ljk2TDI1MS42OSw3Ni4wN0wyNTEuNjIsNzYuMThMMjUxLjU0LDc2LjI3
TDI1MS40Niw3Ni4zN0wyNTEuMzcsNzYuNDZMMjUxLjI3LDc2LjU0TDI1MS4xOCw3Ni42MkwyNTEu
MDcsNzYuNjlMMjUwLjk2LDc2Ljc1TDI1MC44NSw3Ni44MUwyNTAuNzQsNzYuODZMMjUwLjYyLDc2
LjkwTDI1MC41MCw3Ni45NEwyNTAuMzcsNzYuOTZMMjUwLjI1LDc2Ljk4TDI1MC4xMyw3Ny4wMEwy
NTAuMDAsNzcuMDBMMjQ5Ljg3LDc3LjAwTDI0OS43NSw3Ni45OEwyNDkuNjMsNzYuOTZMMjQ5LjUw
LDc2Ljk0TDI0OS4zOCw3Ni45MEwyNDkuMjYsNzYuODZMMjQ5LjE1LDc2LjgxTDI0OS4wNCw3Ni43
NUwyNDguOTMsNzYuNjlMMjQ4LjgyLDc2LjYyTDI0OC43Myw3Ni41NEwyNDguNjMsNzYuNDZMMjQ4
LjU0LDc2LjM3TDI0OC40Niw3Ni4yN0wyNDguMzgsNzYuMThMMjQ4LjMxLDc2LjA3TDI0OC4yNSw3
NS45NkwyNDguMTksNzUuODVMMjQ4LjE0LDc1Ljc0TDI0OC4xMCw3NS42MkwyNDguMDYsNzUuNTBM
MjQ4LjA0LDc1LjM3TDI0OC4wMiw3NS4yNUwyNDguMDAsNzUuMTNMMjQ4LjAwLDc1LjAwTDI0OC4w
MCw3NC44N0wyNDguMDIsNzQuNzVMMjQ4LjA0LDc0LjYzTDI0OC4wNiw3NC41MEwyNDguMTAsNzQu
MzhMMjQ4LjE0LDc0LjI2TDI0OC4xOSw3NC4xNUwyNDguMjUsNzQuMDRMMjQ4LjMxLDczLjkzTDI0
OC4zOCw3My44MkwyNDguNDYsNzMuNzNMMjQ4LjU0LDczLjYzTDI0OC42Myw3My41NEwyNDguNzMs
NzMuNDZMMjQ4LjgyLDczLjM4TDI0OC45Myw3My4zMUwyNDkuMDQsNzMuMjVMMjQ5LjE1LDczLjE5
TDI0OS4yNiw3My4xNEwyNDkuMzgsNzMuMTBMMjQ5LjUwLDczLjA2TDI0OS42Myw3My4wNEwyNDku
NzUsNzMuMDJMMjQ5Ljg3LDczLjAwTDI1MC4wMCw3My4wMEwyNTAuMTMsNzMuMDBMMjUwLjI1LDcz
LjAyTDI1MC4zNyw3My4wNEwyNTAuNTAsNzMuMDZMMjUwLjYyLDczLjEwTDI1MC43NCw3My4xNEwy
NTAuODUsNzMuMTlMMjUwLjk2LDczLjI1TDI1MS4wNyw3My4zMUwyNTEuMTgsNzMuMzhMMjUxLjI3
LDczLjQ2TDI1MS4zNyw3My41NEwyNTEuNDYsNzMuNjNMMjUxLjU0LDczLjczTDI1MS42Miw3My44
MkwyNTEuNjksNzMuOTNMMjUxLjc1LDc0LjA0TDI1MS44MSw3NC4xNUwyNTEuODYsNzQuMjZMMjUx
LjkwLDc0LjM4TDI1MS45NCw3NC41MEwyNTEuOTYsNzQuNjNMMjUxLjk4LDc0Ljc1TDI1Mi4wMCw3
NC44NyJdCisgICAgICAgICAgUmVuZGVyUGF0aCB7Y2lyY2xlfSBhdCAoMjk4LDczKSBzaXplIDR4
NCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFtkYXRhPSJNMzAyLjAwLDc1
LjAwTDMwMi4wMCw3NS4xM0wzMDEuOTgsNzUuMjVMMzAxLjk2LDc1LjM3TDMwMS45NCw3NS41MEwz
MDEuOTAsNzUuNjJMMzAxLjg2LDc1Ljc0TDMwMS44MSw3NS44NUwzMDEuNzUsNzUuOTZMMzAxLjY5
LDc2LjA3TDMwMS42Miw3Ni4xOEwzMDEuNTQsNzYuMjdMMzAxLjQ2LDc2LjM3TDMwMS4zNyw3Ni40
NkwzMDEuMjcsNzYuNTRMMzAxLjE4LDc2LjYyTDMwMS4wNyw3Ni42OUwzMDAuOTYsNzYuNzVMMzAw
Ljg1LDc2LjgxTDMwMC43NCw3Ni44NkwzMDAuNjIsNzYuOTBMMzAwLjUwLDc2Ljk0TDMwMC4zNyw3
Ni45NkwzMDAuMjUsNzYuOThMMzAwLjEzLDc3LjAwTDMwMC4wMCw3Ny4wMEwyOTkuODcsNzcuMDBM
Mjk5Ljc1LDc2Ljk4TDI5OS42Myw3Ni45NkwyOTkuNTAsNzYuOTRMMjk5LjM4LDc2LjkwTDI5OS4y
Niw3Ni44NkwyOTkuMTUsNzYuODFMMjk5LjA0LDc2Ljc1TDI5OC45Myw3Ni42OUwyOTguODIsNzYu
NjJMMjk4LjczLDc2LjU0TDI5OC42Myw3Ni40NkwyOTguNTQsNzYuMzdMMjk4LjQ2LDc2LjI3TDI5
OC4zOCw3Ni4xOEwyOTguMzEsNzYuMDdMMjk4LjI1LDc1Ljk2TDI5OC4xOSw3NS44NUwyOTguMTQs
NzUuNzRMMjk4LjEwLDc1LjYyTDI5OC4wNiw3NS41MEwyOTguMDQsNzUuMzdMMjk4LjAyLDc1LjI1
TDI5OC4wMCw3NS4xM0wyOTguMDAsNzUuMDBMMjk4LjAwLDc0Ljg3TDI5OC4wMiw3NC43NUwyOTgu
MDQsNzQuNjNMMjk4LjA2LDc0LjUwTDI5OC4xMCw3NC4zOEwyOTguMTQsNzQuMjZMMjk4LjE5LDc0
LjE1TDI5OC4yNSw3NC4wNEwyOTguMzEsNzMuOTNMMjk4LjM4LDczLjgyTDI5OC40Niw3My43M0wy
OTguNTQsNzMuNjNMMjk4LjYzLDczLjU0TDI5OC43Myw3My40NkwyOTguODIsNzMuMzhMMjk4Ljkz
LDczLjMxTDI5OS4wNCw3My4yNUwyOTkuMTUsNzMuMTlMMjk5LjI2LDczLjE0TDI5OS4zOCw3My4x
MEwyOTkuNTAsNzMuMDZMMjk5LjYzLDczLjA0TDI5OS43NSw3My4wMkwyOTkuODcsNzMuMDBMMzAw
LjAwLDczLjAwTDMwMC4xMyw3My4wMEwzMDAuMjUsNzMuMDJMMzAwLjM3LDczLjA0TDMwMC41MCw3
My4wNkwzMDAuNjIsNzMuMTBMMzAwLjc0LDczLjE0TDMwMC44NSw3My4xOUwzMDAuOTYsNzMuMjVM
MzAxLjA3LDczLjMxTDMwMS4xOCw3My4zOEwzMDEuMjcsNzMuNDZMMzAxLjM3LDczLjU0TDMwMS40
Niw3My42M0wzMDEuNTQsNzMuNzNMMzAxLjYyLDczLjgyTDMwMS42OSw3My45M0wzMDEuNzUsNzQu
MDRMMzAxLjgxLDc0LjE1TDMwMS44Niw3NC4yNkwzMDEuOTAsNzQuMzhMMzAxLjk0LDc0LjUwTDMw
MS45Niw3NC42M0wzMDEuOTgsNzQuNzVMMzAyLjAwLDc0Ljg3Il0KKyAgICAgICAgICBSZW5kZXJQ
YXRoIHtjaXJjbGV9IGF0ICgzNDgsNzMpIHNpemUgNHg0IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2Nv
bG9yPSNGRjAwMDBdfV0gW2RhdGE9Ik0zNTIuMDAsNzUuMDBMMzUyLjAwLDc1LjEzTDM1MS45OCw3
NS4yNUwzNTEuOTYsNzUuMzdMMzUxLjk0LDc1LjUwTDM1MS45MCw3NS42MkwzNTEuODYsNzUuNzRM
MzUxLjgxLDc1Ljg1TDM1MS43NSw3NS45NkwzNTEuNjksNzYuMDdMMzUxLjYyLDc2LjE4TDM1MS41
NCw3Ni4yN0wzNTEuNDYsNzYuMzdMMzUxLjM3LDc2LjQ2TDM1MS4yNyw3Ni41NEwzNTEuMTgsNzYu
NjJMMzUxLjA3LDc2LjY5TDM1MC45Niw3Ni43NUwzNTAuODUsNzYuODFMMzUwLjc0LDc2Ljg2TDM1
MC42Miw3Ni45MEwzNTAuNTAsNzYuOTRMMzUwLjM3LDc2Ljk2TDM1MC4yNSw3Ni45OEwzNTAuMTMs
NzcuMDBMMzUwLjAwLDc3LjAwTDM0OS44Nyw3Ny4wMEwzNDkuNzUsNzYuOThMMzQ5LjYzLDc2Ljk2
TDM0OS41MCw3Ni45NEwzNDkuMzgsNzYuOTBMMzQ5LjI2LDc2Ljg2TDM0OS4xNSw3Ni44MUwzNDku
MDQsNzYuNzVMMzQ4LjkzLDc2LjY5TDM0OC44Miw3Ni42MkwzNDguNzMsNzYuNTRMMzQ4LjYzLDc2
LjQ2TDM0OC41NCw3Ni4zN0wzNDguNDYsNzYuMjdMMzQ4LjM4LDc2LjE4TDM0OC4zMSw3Ni4wN0wz
NDguMjUsNzUuOTZMMzQ4LjE5LDc1Ljg1TDM0OC4xNCw3NS43NEwzNDguMTAsNzUuNjJMMzQ4LjA2
LDc1LjUwTDM0OC4wNCw3NS4zN0wzNDguMDIsNzUuMjVMMzQ4LjAwLDc1LjEzTDM0OC4wMCw3NS4w
MEwzNDguMDAsNzQuODdMMzQ4LjAyLDc0Ljc1TDM0OC4wNCw3NC42M0wzNDguMDYsNzQuNTBMMzQ4
LjEwLDc0LjM4TDM0OC4xNCw3NC4yNkwzNDguMTksNzQuMTVMMzQ4LjI1LDc0LjA0TDM0OC4zMSw3
My45M0wzNDguMzgsNzMuODJMMzQ4LjQ2LDczLjczTDM0OC41NCw3My42M0wzNDguNjMsNzMuNTRM
MzQ4LjczLDczLjQ2TDM0OC44Miw3My4zOEwzNDguOTMsNzMuMzFMMzQ5LjA0LDczLjI1TDM0OS4x
NSw3My4xOUwzNDkuMjYsNzMuMTRMMzQ5LjM4LDczLjEwTDM0OS41MCw3My4wNkwzNDkuNjMsNzMu
MDRMMzQ5Ljc1LDczLjAyTDM0OS44Nyw3My4wMEwzNTAuMDAsNzMuMDBMMzUwLjEzLDczLjAwTDM1
MC4yNSw3My4wMkwzNTAuMzcsNzMuMDRMMzUwLjUwLDczLjA2TDM1MC42Miw3My4xMEwzNTAuNzQs
NzMuMTRMMzUwLjg1LDczLjE5TDM1MC45Niw3My4yNUwzNTEuMDcsNzMuMzFMMzUxLjE4LDczLjM4
TDM1MS4yNyw3My40NkwzNTEuMzcsNzMuNTRMMzUxLjQ2LDczLjYzTDM1MS41NCw3My43M0wzNTEu
NjIsNzMuODJMMzUxLjY5LDczLjkzTDM1MS43NSw3NC4wNEwzNTEuODEsNzQuMTVMMzUxLjg2LDc0
LjI2TDM1MS45MCw3NC4zOEwzNTEuOTQsNzQuNTBMMzUxLjk2LDc0LjYzTDM1MS45OCw3NC43NUwz
NTIuMDAsNzQuODciXQorICAgICAgICAgIFJlbmRlclBhdGgge2NpcmNsZX0gYXQgKDM5OCw3Mykg
c2l6ZSA0eDQgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZGF0YT0iTTQw
Mi4wMCw3NS4wMEw0MDIuMDAsNzUuMTNMNDAxLjk4LDc1LjI1TDQwMS45Niw3NS4zN0w0MDEuOTQs
NzUuNTBMNDAxLjkwLDc1LjYyTDQwMS44Niw3NS43NEw0MDEuODEsNzUuODVMNDAxLjc1LDc1Ljk2
TDQwMS42OSw3Ni4wN0w0MDEuNjIsNzYuMThMNDAxLjU0LDc2LjI3TDQwMS40Niw3Ni4zN0w0MDEu
MzcsNzYuNDZMNDAxLjI3LDc2LjU0TDQwMS4xOCw3Ni42Mkw0MDEuMDcsNzYuNjlMNDAwLjk2LDc2
Ljc1TDQwMC44NSw3Ni44MUw0MDAuNzQsNzYuODZMNDAwLjYyLDc2LjkwTDQwMC41MCw3Ni45NEw0
MDAuMzcsNzYuOTZMNDAwLjI1LDc2Ljk4TDQwMC4xMyw3Ny4wMEw0MDAuMDAsNzcuMDBMMzk5Ljg3
LDc3LjAwTDM5OS43NSw3Ni45OEwzOTkuNjMsNzYuOTZMMzk5LjUwLDc2Ljk0TDM5OS4zOCw3Ni45
MEwzOTkuMjYsNzYuODZMMzk5LjE1LDc2LjgxTDM5OS4wNCw3Ni43NUwzOTguOTMsNzYuNjlMMzk4
LjgyLDc2LjYyTDM5OC43Myw3Ni41NEwzOTguNjMsNzYuNDZMMzk4LjU0LDc2LjM3TDM5OC40Niw3
Ni4yN0wzOTguMzgsNzYuMThMMzk4LjMxLDc2LjA3TDM5OC4yNSw3NS45NkwzOTguMTksNzUuODVM
Mzk4LjE0LDc1Ljc0TDM5OC4xMCw3NS42MkwzOTguMDYsNzUuNTBMMzk4LjA0LDc1LjM3TDM5OC4w
Miw3NS4yNUwzOTguMDAsNzUuMTNMMzk4LjAwLDc1LjAwTDM5OC4wMCw3NC44N0wzOTguMDIsNzQu
NzVMMzk4LjA0LDc0LjYzTDM5OC4wNiw3NC41MEwzOTguMTAsNzQuMzhMMzk4LjE0LDc0LjI2TDM5
OC4xOSw3NC4xNUwzOTguMjUsNzQuMDRMMzk4LjMxLDczLjkzTDM5OC4zOCw3My44MkwzOTguNDYs
NzMuNzNMMzk4LjU0LDczLjYzTDM5OC42Myw3My41NEwzOTguNzMsNzMuNDZMMzk4LjgyLDczLjM4
TDM5OC45Myw3My4zMUwzOTkuMDQsNzMuMjVMMzk5LjE1LDczLjE5TDM5OS4yNiw3My4xNEwzOTku
MzgsNzMuMTBMMzk5LjUwLDczLjA2TDM5OS42Myw3My4wNEwzOTkuNzUsNzMuMDJMMzk5Ljg3LDcz
LjAwTDQwMC4wMCw3My4wMEw0MDAuMTMsNzMuMDBMNDAwLjI1LDczLjAyTDQwMC4zNyw3My4wNEw0
MDAuNTAsNzMuMDZMNDAwLjYyLDczLjEwTDQwMC43NCw3My4xNEw0MDAuODUsNzMuMTlMNDAwLjk2
LDczLjI1TDQwMS4wNyw3My4zMUw0MDEuMTgsNzMuMzhMNDAxLjI3LDczLjQ2TDQwMS4zNyw3My41
NEw0MDEuNDYsNzMuNjNMNDAxLjU0LDczLjczTDQwMS42Miw3My44Mkw0MDEuNjksNzMuOTNMNDAx
Ljc1LDc0LjA0TDQwMS44MSw3NC4xNUw0MDEuODYsNzQuMjZMNDAxLjkwLDc0LjM4TDQwMS45NCw3
NC41MEw0MDEuOTYsNzQuNjNMNDAxLjk4LDc0Ljc1TDQwMi4wMCw3NC44NyJdCisgICAgICAgICAg
UmVuZGVyUGF0aCB7bGluZX0gYXQgKDQ5LjUwLDc1KSBzaXplIDF4Mzc1IFtzdHJva2U9e1t0eXBl
PVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAw
MDAwXX1dIFtkYXRhPSJNNTAuMDAsNzUuMDBMNTAuMDAsNDUwLjAwIl0KKyAgICAgICAgICBSZW5k
ZXJQYXRoIHtsaW5lfSBhdCAoOTkuNTAsNzUpIHNpemUgMXgzNzUgW3N0cm9rZT17W3R5cGU9U09M
SURdIFtjb2xvcj0jRkYwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBd
fV0gW2RhdGE9Ik0xMDAuMDAsNzUuMDBMMTAwLjAwLDQ1MC4wMCJdCisgICAgICAgICAgUmVuZGVy
UGF0aCB7bGluZX0gYXQgKDE0OS41MCw3NSkgc2l6ZSAxeDM3NSBbc3Ryb2tlPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19
XSBbZGF0YT0iTTE1MC4wMCw3NS4wMEwxNTAuMDAsNDUwLjAwIl0KKyAgICAgICAgICBSZW5kZXJQ
YXRoIHtsaW5lfSBhdCAoMTk5LjUwLDc1KSBzaXplIDF4Mzc1IFtzdHJva2U9e1t0eXBlPVNPTElE
XSBbY29sb3I9I0ZGMDAwMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1d
IFtkYXRhPSJNMjAwLjAwLDc1LjAwTDIwMC4wMCw0NTAuMDAiXQorICAgICAgICAgIFJlbmRlclBh
dGgge2xpbmV9IGF0ICgyNDkuNTAsNzUpIHNpemUgMXgzNzUgW3N0cm9rZT17W3R5cGU9U09MSURd
IFtjb2xvcj0jRkYwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0g
W2RhdGE9Ik0yNTAuMDAsNzUuMDBMMjUwLjAwLDQ1MC4wMCJdCisgICAgICAgICAgUmVuZGVyUGF0
aCB7bGluZX0gYXQgKDI5OS41MCw3NSkgc2l6ZSAxeDM3NSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0g
W2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBb
ZGF0YT0iTTMwMC4wMCw3NS4wMEwzMDAuMDAsNDUwLjAwIl0KKyAgICAgICAgICBSZW5kZXJQYXRo
IHtsaW5lfSBhdCAoMzQ5LjUwLDc1KSBzaXplIDF4Mzc1IFtzdHJva2U9e1t0eXBlPVNPTElEXSBb
Y29sb3I9I0ZGMDAwMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtk
YXRhPSJNMzUwLjAwLDc1LjAwTDM1MC4wMCw0NTAuMDAiXQorICAgICAgICAgIFJlbmRlclBhdGgg
e2xpbmV9IGF0ICgzOTkuNTAsNzUpIHNpemUgMXgzNzUgW3N0cm9rZT17W3R5cGU9U09MSURdIFtj
b2xvcj0jRkYwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2Rh
dGE9Ik00MDAuMDAsNzUuMDBMNDAwLjAwLDQ1MC4wMCJdCisgICAgICAgIFJlbmRlclNWR1RleHQg
e3RleHR9IGF0ICg1MCw3NSkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoLTcsNCkgc2l6ZSAyMHgzOTEKKyAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgtNyw0KSB3aWR0aCAyMDogIldyaXRpbmcgdG9wIHRvIGJvdHRvbVx4ezc1M0J9XHh7NTBDRn0i
CisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMDAsNzUpIHNpemUgODAweDAKKyAg
ICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC03LDQpIHNpemUgMjB4NDA4
CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTcsNCkgd2lkdGggMjA6ICJHbHlwaCBPcmllbnRh
dGlvbjphdXRvXHh7NzUzQn1ceHs1MENGfSIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0g
YXQgKDE1MCw3NSkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoLTcsNCkgc2l6ZSAyMHgzNTcKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtNyw0
KSB3aWR0aCAyMDogIkdseXBoIE9yaWVudGF0aW9uOjBceHs3NTNCfVx4ezUwQ0Z9IgorICAgICAg
ICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjAwLDc1KSBzaXplIDgwMHgwCisgICAgICAgICAg
UmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgtNyw0KSBzaXplIDIweDM3NAorICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKC03LDQpIHdpZHRoIDIwOiAiR2x5cGggT3JpZW50YXRpb246OTBc
eHs3NTNCfVx4ezUwQ0Z9IgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjUwLDc1
KSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgt
Nyw0KSBzaXplIDIweDM5MQorICAgICAgICAgICAgdGV4dCBydW4gYXQgKC03LDQpIHdpZHRoIDIw
OiAiR2x5cGggT3JpZW50YXRpb246MTgwXHh7NzUzQn1ceHs1MENGfSIKKyAgICAgICAgUmVuZGVy
U1ZHVGV4dCB7dGV4dH0gYXQgKDMwMCw3NSkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTcsNCkgc2l6ZSAyMHgzOTEKKyAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgtNyw0KSB3aWR0aCAyMDogIkdseXBoIE9yaWVudGF0aW9uOjI3MFx4ezc1M0J9
XHh7NTBDRn0iCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzNTAsNzUpIHNpemUg
ODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC02LDQpIHNp
emUgOHgxNTMKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtNiw0KSB3aWR0aCA4OiAiRW1iZWRk
ZWQgIgorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAxMHgx
MTkgW2NvbG9yPSNGRjAwMDBdCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4
dH0gYXQgKC00LDE1Nykgc2l6ZSAxMHgxMTkKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKC00
LDE1Nykgd2lkdGggMTA6ICI8dHNwYW4+IgorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQg
eyN0ZXh0fSBhdCAoLTYsMjc2KSBzaXplIDh4MTM2CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
LTYsMjc2KSB3aWR0aCA4OiAiIGVsZW1lbnQiCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9
IGF0ICg0MDAsNzUpIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsj
dGV4dH0gYXQgKC02LDQpIHNpemUgOHgxNTMKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtNiw0
KSB3aWR0aCA4OiAiRW1iZWRkZWQgIgorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0g
YXQgKDAsMCkgc2l6ZSAxMHgxNzAgW2NvbG9yPSMwMDAwRkZdCisgICAgICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC00LDE1Nykgc2l6ZSAxMHgxNzAKKyAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKC00LDE1Nykgd2lkdGggMTA6ICJvcmllbnRhdGVkIgorICAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTYsMzI3KSBzaXplIDh4MTM2CisgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoLTYsMzI3KSB3aWR0aCA4OiAiIGVsZW1lbnQiCisgICAgICAg
IFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDU0Ljg5LDQ1NCkgc2l6ZSAzMTUuMjF4NDIgW3Ry
YW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oNDAuMDAsNDUwLjAwKX1dCisg
ICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICg1NC44OSw0NTcuMjkpIHNpemUg
MzE1LjIxeDMwLjQzCisgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg1NC44
OSw0NTcuMjkpIHNpemUgMzE1LjIxeDMwLjQzCisgICAgICAgICAgICAgIFJlbmRlclBhdGgge3Bh
dGh9IGF0ICg1NC44OSw0NTcuMjkpIHNpemUgMzE1LjIxeDMwLjQzIFt0cmFuc2Zvcm09e209KCgw
LjE1LDAuMDApKDAuMDAsMC4xNSkpIHQ9KDAuMDAsMC4wMCl9XSBbc3Ryb2tlPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSMwMDAwRkZdIFtzdHJva2Ugd2lkdGg9Mi4wMF19XSBbZGF0YT0iTTEwMC4wMCwy
MDAuMDBDMjAwLjAwLDEwMC4wMCwzMDAuMDAsMC4wMCw0MDAuMDAsMTAwLjAwQzUwMC4wMCwyMDAu
MDAsNjAwLjAwLDMwMC4wMCw3MDAuMDAsMjAwLjAwQzgwMC4wMCwxMDAuMDAsOTAwLjAwLDAuMDAs
MTAwMC4wMCwxMDAuMDBDMTEwMC4wMCwyMDAuMDAsMTIwMC4wMCwzMDAuMDAsMTMwMC4wMCwyMDAu
MDBDMTQwMC4wMCwxMDAuMDAsMTUwMC4wMCwwLjAwLDE2MDAuMDAsMTAwLjAwQzE3MDAuMDAsMjAw
LjAwLDE4MDAuMDAsMzAwLjAwLDE5MDAuMDAsMjAwLjAwQzIwMDAuMDAsMTAwLjAwLDIxMDAuMDAs
MC4wMCwyMjAwLjAwLDEwMC4wMCJdCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQg
KDAsMCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dFBhdGgge3RleHRQYXRo
fSBhdCAoMCwwKSBzaXplIDI4OXg0MgorICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0
IHsjdGV4dH0gYXQgKDE1LDQpIHNpemUgMjg4eDQxCisgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDE1LDQpIHdpZHRoIDI4ODogIlZlcnRpY2FsIHRleHQgb24gYSBQYXRoXHh7NzUzQn1ceHs1
MENGfSIKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDB4MAorICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgwLDApIHNpemUgMHgw
CkluZGV4OiBzdmcvYmF0aWsvdGV4dC92ZXJ0aWNhbFRleHQuc3ZnCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN2
Zy9iYXRpay90ZXh0L3ZlcnRpY2FsVGV4dC5zdmcJKHJldmlzaW9uIDApCisrKyBzdmcvYmF0aWsv
dGV4dC92ZXJ0aWNhbFRleHQuc3ZnCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDk4IEBACis8P3ht
bCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIHN2ZyBQVUJMSUMg
Ii0vL1czQy8vRFREIFNWRyAxLjAvL0VOIgorImh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVD
LVNWRy0yMDAxMDkwNC9EVEQvc3ZnMTAuZHRkIj4KKworPCEtLQorCisgICBDb3B5cmlnaHQgMjAw
MS0yMDAyICBUaGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gCisKKyAgIExpY2Vuc2VkIHVu
ZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICAg
eW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBM
aWNlbnNlLgorICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAg
ICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworICAgVW5s
ZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBz
b2Z0d2FyZQorICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQg
b24gYW4gIkFTIElTIiBCQVNJUywKKyAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05T
IE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICAgU2VlIHRoZSBMaWNl
bnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAor
ICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKy0tPgorPCEtLSA9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09IC0tPgorPCEtLSBWZXJ0aWNhbCA8dGV4dD4gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorPCEtLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC0tPgorPCEtLSBAYXV0aG9yIGRlYW4uamFja3NvbkBjbWlzLmNzaXJvLmF1ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+Cis8IS0tIEB2ZXJzaW9uICRJZDogdmVy
dGljYWxUZXh0LnN2Zyx2IDEuNiAyMDA0LzA4LzE4IDA3OjEyOjIzIHZoYXJkeSBFeHAgJCAgICAg
LS0+Cis8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cis8P3htbC1zdHlsZXNoZWV0IHR5cGU9InRl
eHQvY3NzIiBocmVmPSIuLi9yZXNvdXJjZXMvdGVzdC5jc3MiID8+ICAKKworPHN2ZyB4bWxucz0i
aHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9y
Zy8xOTk5L3hsaW5rIiBpZD0iYm9keSIgd2lkdGg9IjQ1MCIgaGVpZ2h0PSI1MDAiIHZpZXdCb3g9
IjAgMCA0NTAgNTAwIj4KKworICAgIDx0aXRsZT5WZXJ0aWNhbCBUZXh0IFRlc3Q8L3RpdGxlPgor
CisgICAgPGRlZnM+CisgICAgICAgIDxwYXRoIGlkPSJQYXRoMSIgc3R5bGU9ImZpbGw6bm9uZTsg
c3Ryb2tlOmJsdWU7IiB0cmFuc2Zvcm09InNjYWxlKDAuMTUsMC4xNSkiCisgICAgICAgICAgICAg
ICAgICBkPSJNIDEwMCAyMDAgQyAyMDAgMTAwIDMwMCAwIDQwMCAxMDAgQyA1MDAgMjAwIDYwMCAz
MDAgNzAwIDIwMCBDIDgwMCAxMDAgOTAwIDAgMTAwMCAxMDAKKyAgICAgICAgICAgICAgICAgICAg
IEMgMTEwMCAyMDAgMTIwMCAzMDAgMTMwMCAyMDAgQyAxNDAwIDEwMCAxNTAwIDAgMTYwMCAxMDAK
KyAgICAgICAgICAgICAgICAgICAgIEMgMTcwMCAyMDAgMTgwMCAzMDAgMTkwMCAyMDAgQyAyMDAw
IDEwMCAyMTAwIDAgMjIwMCAxMDAiLz4KKyAgICA8L2RlZnM+CisKKyAgICA8ZyBpZD0iY29udGVu
dCI+CisKKyAgICAgICAgPHRleHQgY2xhc3M9InRpdGxlIiB4PSI1MCUiIHk9IjQwIj5WZXJ0aWNh
bCBUZXh0IFRlc3Q8L3RleHQ+CisKKyAgICAgICAgPGxpbmUgeDE9IjIwIiB5MT0iNzUiIHgyPSI0
MzAiIHkyPSI3NSIgc3Ryb2tlPSJibGFjayIvPgorCisJICA8ZyBvcGFjaXR5PSIwLjUiPgorICAg
ICAgICAgICAgPGNpcmNsZSBjeD0iNTAiIGN5PSI3NSIgcj0iMiIgZmlsbD0icmVkIiAvPgorIAkJ
PGNpcmNsZSBjeD0iMTAwIiBjeT0iNzUiIHI9IjIiIGZpbGw9InJlZCIgLz4KKyAJCTxjaXJjbGUg
Y3g9IjE1MCIgY3k9Ijc1IiByPSIyIiBmaWxsPSJyZWQiIC8+CisgCQk8Y2lyY2xlIGN4PSIyMDAi
IGN5PSI3NSIgcj0iMiIgZmlsbD0icmVkIiAvPgorIAkJPGNpcmNsZSBjeD0iMjUwIiBjeT0iNzUi
IHI9IjIiIGZpbGw9InJlZCIgLz4KKyAJCTxjaXJjbGUgY3g9IjMwMCIgY3k9Ijc1IiByPSIyIiBm
aWxsPSJyZWQiIC8+CisgCQk8Y2lyY2xlIGN4PSIzNTAiIGN5PSI3NSIgcj0iMiIgZmlsbD0icmVk
IiAvPgorICAgICAgICAgICAgPGNpcmNsZSBjeD0iNDAwIiBjeT0iNzUiIHI9IjIiIGZpbGw9InJl
ZCIgLz4KKworICAgICAgICAgICAgPGxpbmUgeDE9IjUwIiB5MT0iNzUiIHgyPSI1MCIgeTI9IjQ1
MCIgc3Ryb2tlPSJyZWQiIC8+CisgICAgICAgICAgICA8bGluZSB4MT0iMTAwIiB5MT0iNzUiIHgy
PSIxMDAiIHkyPSI0NTAiIHN0cm9rZT0icmVkIiAvPgorCQk8bGluZSB4MT0iMTUwIiB5MT0iNzUi
IHgyPSIxNTAiIHkyPSI0NTAiIHN0cm9rZT0icmVkIiAvPgorCQk8bGluZSB4MT0iMjAwIiB5MT0i
NzUiIHgyPSIyMDAiIHkyPSI0NTAiIHN0cm9rZT0icmVkIiAvPgorCQk8bGluZSB4MT0iMjUwIiB5
MT0iNzUiIHgyPSIyNTAiIHkyPSI0NTAiIHN0cm9rZT0icmVkIiAvPgorCQk8bGluZSB4MT0iMzAw
IiB5MT0iNzUiIHgyPSIzMDAiIHkyPSI0NTAiIHN0cm9rZT0icmVkIiAvPgorICAgICAgICAgICAg
PGxpbmUgeDE9IjM1MCIgeTE9Ijc1IiB4Mj0iMzUwIiB5Mj0iNDUwIiBzdHJva2U9InJlZCIgLz4K
KyAgICAgICAgICAgIDxsaW5lIHgxPSI0MDAiIHkxPSI3NSIgeDI9IjQwMCIgeTI9IjQ1MCIgc3Ry
b2tlPSJyZWQiIC8+CisgICAgICAgIDwvZz4KKworCisgICAgICAgIDx0ZXh0IHg9IjUwIiB5PSI3
NSIgd3JpdGluZy1tb2RlPSJ0YiIgZm9udC1zaXplPSIxNSI+V3JpdGluZyB0b3AgdG8gYm90dG9t
JiN4NzUzYjsmI3g1MGNmOzwvdGV4dD4KKyAgICAgICAgPHRleHQgeD0iMTAwIiB5PSI3NSIgZ2x5
cGgtb3JpZW50YXRpb24tdmVydGljYWw9ImF1dG8iIHdyaXRpbmctbW9kZT0idGIiIGZvbnQtc2l6
ZT0iMTUiPkdseXBoIE9yaWVudGF0aW9uOmF1dG8mI3g3NTNiOyYjeDUwY2Y7PC90ZXh0PgorICAg
ICAgICA8dGV4dCBpZD0ib3JpZW50MCIgICB4PSIxNTAiIHk9Ijc1IiBnbHlwaC1vcmllbnRhdGlv
bi12ZXJ0aWNhbD0iMGRlZyIgCisgICAgICAgICAgICAgIHdyaXRpbmctbW9kZT0idGIiIGZvbnQt
c2l6ZT0iMTUiPkdseXBoIE9yaWVudGF0aW9uOjAmI3g3NTNiOyYjeDUwY2Y7PC90ZXh0PgorICAg
ICAgICA8dGV4dCBpZD0ib3JpZW50OTAiICB4PSIyMDAiIHk9Ijc1IiBnbHlwaC1vcmllbnRhdGlv
bi12ZXJ0aWNhbD0iOTBkZWciIAorICAgICAgICAgICAgICB3cml0aW5nLW1vZGU9InRiIiBmb250
LXNpemU9IjE1Ij5HbHlwaCBPcmllbnRhdGlvbjo5MCYjeDc1M2I7JiN4NTBjZjs8L3RleHQ+Cisg
ICAgICAgIDx0ZXh0IGlkPSJvcmllbnQxODAiIHg9IjI1MCIgeT0iNzUiIGdseXBoLW9yaWVudGF0
aW9uLXZlcnRpY2FsPSIxODBkZWciIAorICAgICAgICAgICAgICB3cml0aW5nLW1vZGU9InRiIiBm
b250LXNpemU9IjE1Ij5HbHlwaCBPcmllbnRhdGlvbjoxODAmI3g3NTNiOyYjeDUwY2Y7PC90ZXh0
PgorICAgICAgICA8dGV4dCBpZD0ib3JpZW50MjcwIiB4PSIzMDAiIHk9Ijc1IiBnbHlwaC1vcmll
bnRhdGlvbi12ZXJ0aWNhbD0iMjcwZGVnIiAKKyAgICAgICAgICAgICAgd3JpdGluZy1tb2RlPSJ0
YiIgZm9udC1zaXplPSIxNSI+R2x5cGggT3JpZW50YXRpb246MjcwJiN4NzUzYjsmI3g1MGNmOzwv
dGV4dD4KKyAgICAgICAgPHRleHQgeD0iMzUwIiB5PSI3NSIgd3JpdGluZy1tb2RlPSJ0YiIgZm9u
dC1zaXplPSIxNSI+RW1iZWRkZWQgPHRzcGFuIGZpbGw9InJlZCI+Jmx0O3RzcGFuJmd0OzwvdHNw
YW4+IGVsZW1lbnQ8L3RleHQ+CisgICAgICAgIDx0ZXh0IHg9IjQwMCIgeT0iNzUiIHdyaXRpbmct
bW9kZT0idGIiIGZvbnQtc2l6ZT0iMTUiPkVtYmVkZGVkIDx0c3BhbiBmaWxsPSJibHVlIiBnbHlw
aC1vcmllbnRhdGlvbi12ZXJ0aWNhbD0iMGRlZyI+b3JpZW50YXRlZDwvdHNwYW4+IGVsZW1lbnQ8
L3RleHQ+CisgICAgICAgCisKKworICAgICAgCisJICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0
MCw0NTApIj4KKyAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI1BhdGgxIiBzdHlsZT0iZmls
bDpub25lOyBzdHJva2U6Ymx1ZTsgc3Ryb2tlLXdpZHRoOjIiLz4KKwkgICAgICA8dGV4dCBmb250
LXNpemU9IjEyIiB3cml0aW5nLW1vZGU9InRiIiBnbHlwaC1vcmllbnRhdGlvbi12ZXJ0aWNhbD0i
MGRlZyI+CisgICAgICAgICAgICAgICAgPHRleHRQYXRoIHhsaW5rOmhyZWY9IiNQYXRoMSI+VmVy
dGljYWwgdGV4dCBvbiBhIFBhdGgmI3g3NTNiOyYjeDUwY2Y7PC90ZXh0UGF0aD4KKyAgICAgICAg
ICAgIDwvdGV4dD4KKyAgICAgICAgIDwvZz4KKworICAgIDwvZz4KKworICAgIDwhLS0gPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAt
LT4KKyAgICA8IS0tIEJhdGlrIHNhbXBsZSBtYXJrICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLS0+CisgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorICAgIDx1c2UgeGxpbms6
aHJlZj0iLi4vcmVzb3VyY2VzL2JhdGlrTG9nby5zdmcjQmF0aWtfVGFnX0JveCIgLz4KKworPC9z
dmc+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBzdmcvYmF0aWsvdGV4dC92ZXJ0aWNhbFRleHQuc3Zn
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KTmFtZTogc3ZuOmV4ZWN1dGFibGUKICAgKyAqCgpJbmRleDogc3ZnL2JhdGlr
L3RleHQvdmVydGljYWxUZXh0T25QYXRoLWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IHN2Zy9iYXRpay90ZXh0L3ZlcnRpY2FsVGV4dE9uUGF0aC1leHBlY3RlZC5jaGVja3N1bQkocmV2
aXNpb24gMCkKKysrIHN2Zy9iYXRpay90ZXh0L3ZlcnRpY2FsVGV4dE9uUGF0aC1leHBlY3RlZC5j
aGVja3N1bQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorNzNlNTkyZGViOWJhMmZjMzFkMWMz
NTY5NzNkNjU5ZWYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBzdmcvYmF0aWsv
dGV4dC92ZXJ0aWNhbFRleHRPblBhdGgtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN2Zy9i
YXRpay90ZXh0L3ZlcnRpY2FsVGV4dE9uUGF0aC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisr
KyBzdmcvYmF0aWsvdGV4dC92ZXJ0aWNhbFRleHRPblBhdGgtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDI5MCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtz
dmd9IGF0ICgxNC44OSwyNikgc2l6ZSA0MzIuMTF4NjIzCisgICAgICBSZW5kZXJTVkdDb250YWlu
ZXIge2d9IGF0ICgxNC44OSwyNikgc2l6ZSA0MzIuMTF4NjIzCisgICAgICAgIFJlbmRlclNWR1Rl
eHQge3RleHR9IGF0ICgyMjUsNDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKC05MSwtMTQpIHNpemUgMTgyeDE3CisgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoLTkxLC0xNCkgd2lkdGggMTgyOiAiVmVydGljYWwgdGV4dCBvbiBhIHBhdGggdGVz
dCIKKyAgICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXpl
IDB4MAorICAgICAgICAgIFJlbmRlclBhdGgge3BhdGh9IGF0ICgxNC45NSw3LjA0KSBzaXplIDEy
MC4wNXgzMC45MSBbdHJhbnNmb3JtPXttPSgoMC4xNSwwLjAwKSgwLjAwLDAuMTUpKSB0PSgwLjAw
LDAuMDApfV0gW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMEZGXX1dIFtkYXRhPSJN
MTAwLjAwLDIwMC4wMEMyMDAuMDAsMTAwLjAwLDMwMC4wMCwwLjAwLDQwMC4wMCwxMDAuMDBDNTAw
LjAwLDIwMC4wMCw2MDAuMDAsMzAwLjAwLDcwMC4wMCwyMDAuMDBDODAwLjAwLDEwMC4wMCw5MDAu
MDAsMTAwLjAwLDkwMC4wMCwxMDAuMDAiXQorICAgICAgICAgIFJlbmRlclBhdGgge3BhdGh9IGF0
ICgyOS44NSwxMi4yNSkgc2l6ZSA5MC4zMHgzNy43NSBbdHJhbnNmb3JtPXttPSgoMC4zMCwwLjAw
KSgwLjAwLDAuNTApKSB0PSgwLjAwLDAuMDApfV0gW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xv
cj0jMDAwMEZGXX1dIFtkYXRhPSJNMTAwLjAwLDEwMC4wMEMxMDAuMDAsMC4wMCw0MDAuMDAsMC4w
MCw0MDAuMDAsMTAwLjAwIl0KKyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTQu
ODksNzQpIHNpemUgMTIwLjExeDEyOSBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEu
MDApKSB0PSgwLjAwLDcwLjAwKX1dCisgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9
IGF0ICgxNC44OSw3Ny4yOSkgc2l6ZSAxMjAuMTF4MzAuNDMKKyAgICAgICAgICAgIFJlbmRlclNW
R0NvbnRhaW5lciB7Z30gYXQgKDE0Ljg5LDc3LjI5KSBzaXplIDEyMC4xMXgzMC40MworICAgICAg
ICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMTQuODksNzcuMjkpIHNpemUgMTIwLjExeDMw
LjQzIFt0cmFuc2Zvcm09e209KCgwLjE1LDAuMDApKDAuMDAsMC4xNSkpIHQ9KDAuMDAsMC4wMCl9
XSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwRkZdIFtzdHJva2Ugd2lkdGg9Mi4w
MF19XSBbZGF0YT0iTTEwMC4wMCwyMDAuMDBDMjAwLjAwLDEwMC4wMCwzMDAuMDAsMC4wMCw0MDAu
MDAsMTAwLjAwQzUwMC4wMCwyMDAuMDAsNjAwLjAwLDMwMC4wMCw3MDAuMDAsMjAwLjAwQzgwMC4w
MCwxMDAuMDAsOTAwLjAwLDEwMC4wMCw5MDAuMDAsMTAwLjAwIl0KKyAgICAgICAgICBSZW5kZXJT
VkdUZXh0IHt0ZXh0fSBhdCAoMCwwKSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdU
ZXh0UGF0aCB7dGV4dFBhdGh9IGF0ICgwLDApIHNpemUgMTEweDEyOQorICAgICAgICAgICAgICBS
ZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDE2LDQpIHNpemUgNjF4MzcKKyAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsNCkgd2lkdGggNjE6ICJUZXh0ICIKKyAgICAgICAgICAg
ICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDIyeDI1IFtjb2xvcj0jRkYw
MDAwXQorICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoOTgs
MjMpIHNpemUgMjJ4MjQKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg5OCwyMykgd2lk
dGggMjI6ICJvbiIKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCww
KSBzaXplIDEweDExOQorICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoMTE2LDE0KSBzaXplIDEweDExOQorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDExNiwxNCkgd2lkdGggMTA6ICIgYSBQYXRoIgorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5l
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7
dGV4dH0gYXQgKDM1LDYwKSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDAsLTEwKSBzaXplIDY4eDEzCisgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLC0xMCkgd2lkdGggNjg6ICJzdGFydE9mZnNldD1cIjAlXCIiCisgICAgICAgICAgUmVu
ZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDM1LDcwKSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEwKSBzaXplIDc1eDEzCisgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLC0xMCkgd2lkdGggNzU6ICJ0ZXh0LWFuY2hvcj1cInN0YXJ0XCIi
CisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDM1LDgwKSBzaXplIDgwMHgwCisg
ICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEwKSBzaXplIDEw
MHgxMworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTApIHdpZHRoIDEwMDogImdseXBo
LW9yaWVudGF0aW9uPVwiYXV0b1wiIgorICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0
ICgxNDYsNjUpIHNpemUgMTQxeDExOSBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEu
MDApKSB0PSgxNTAuMDAsNzAuMDApfV0KKyAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3Vz
ZX0gYXQgKDE2NC44OSw3Ny4yOSkgc2l6ZSAxMjAuMTF4MzAuNDMKKyAgICAgICAgICAgIFJlbmRl
clNWR0NvbnRhaW5lciB7Z30gYXQgKDE2NC44OSw3Ny4yOSkgc2l6ZSAxMjAuMTF4MzAuNDMKKyAg
ICAgICAgICAgICAgUmVuZGVyUGF0aCB7cGF0aH0gYXQgKDE2NC44OSw3Ny4yOSkgc2l6ZSAxMjAu
MTF4MzAuNDMgW3RyYW5zZm9ybT17bT0oKDAuMTUsMC4wMCkoMC4wMCwwLjE1KSkgdD0oMC4wMCww
LjAwKX1dIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDBGRl0gW3N0cm9rZSB3aWR0
aD0yLjAwXX1dIFtkYXRhPSJNMTAwLjAwLDIwMC4wMEMyMDAuMDAsMTAwLjAwLDMwMC4wMCwwLjAw
LDQwMC4wMCwxMDAuMDBDNTAwLjAwLDIwMC4wMCw2MDAuMDAsMzAwLjAwLDcwMC4wMCwyMDAuMDBD
ODAwLjAwLDEwMC4wMCw5MDAuMDAsMTAwLjAwLDkwMC4wMCwxMDAuMDAiXQorICAgICAgICAgIFJl
bmRlclNWR1RleHQge3RleHR9IGF0ICgwLDApIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRl
clNWR1RleHRQYXRoIHt0ZXh0UGF0aH0gYXQgKDAsMCkgc2l6ZSAxMTR4MTE5CisgICAgICAgICAg
ICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTQsLTQpIHNpemUgNng4NQorICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtNCwtNCkgd2lkdGggNjogIlRleHQgIgorICAgICAg
ICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgOHgzNCBbY29sb3I9
I0ZGMDAwMF0KKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KDYsODApIHNpemUgOHgzNAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDYsODApIHdp
ZHRoIDg6ICJvbiIKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCww
KSBzaXplIDkxeDQ0CisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgxOSw0KSBzaXplIDkxeDQ0CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTks
NCkgd2lkdGggOTE6ICIgYSBQYXRoIgorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0g
YXQgKDM1LDYwKSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsj
dGV4dH0gYXQgKDAsLTEwKSBzaXplIDY4eDEzCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LC0xMCkgd2lkdGggNjg6ICJzdGFydE9mZnNldD1cIjAlXCIiCisgICAgICAgICAgUmVuZGVyU1ZH
VGV4dCB7dGV4dH0gYXQgKDM1LDcwKSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEwKSBzaXplIDg2eDEzCisgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLC0xMCkgd2lkdGggODY6ICJ0ZXh0LWFuY2hvcj1cIm1pZGRsZVwiIgorICAg
ICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzNSw4MCkgc2l6ZSA4MDB4MAorICAgICAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xMCkgc2l6ZSAxMDJ4MTMK
KyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTEwKSB3aWR0aCAxMDI6ICJnbHlwaC1vcmll
bnRhdGlvbj1cIjBkZWdcIiIKKyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjk2
LDY1KSBzaXplIDE1MXgxNzAgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkg
dD0oMzAwLjAwLDcwLjAwKX1dCisgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0
ICgzMTQuODksNzcuMjkpIHNpemUgMTIwLjExeDMwLjQzCisgICAgICAgICAgICBSZW5kZXJTVkdD
b250YWluZXIge2d9IGF0ICgzMTQuODksNzcuMjkpIHNpemUgMTIwLjExeDMwLjQzCisgICAgICAg
ICAgICAgIFJlbmRlclBhdGgge3BhdGh9IGF0ICgzMTQuODksNzcuMjkpIHNpemUgMTIwLjExeDMw
LjQzIFt0cmFuc2Zvcm09e209KCgwLjE1LDAuMDApKDAuMDAsMC4xNSkpIHQ9KDAuMDAsMC4wMCl9
XSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwRkZdIFtzdHJva2Ugd2lkdGg9Mi4w
MF19XSBbZGF0YT0iTTEwMC4wMCwyMDAuMDBDMjAwLjAwLDEwMC4wMCwzMDAuMDAsMC4wMCw0MDAu
MDAsMTAwLjAwQzUwMC4wMCwyMDAuMDAsNjAwLjAwLDMwMC4wMCw3MDAuMDAsMjAwLjAwQzgwMC4w
MCwxMDAuMDAsOTAwLjAwLDEwMC4wMCw5MDAuMDAsMTAwLjAwIl0KKyAgICAgICAgICBSZW5kZXJT
VkdUZXh0IHt0ZXh0fSBhdCAoMCwwKSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdU
ZXh0UGF0aCB7dGV4dFBhdGh9IGF0ICgwLDApIHNpemUgNzR4MTcwCisgICAgICAgICAgICAgIFJl
bmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoLTQsLTQpIHNpemUgNng4NQorICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgtNCwtNCkgd2lkdGggNjogIlRleHQgIgorICAgICAgICAgICAg
ICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgOHgzNCBbY29sb3I9I0ZGMDAw
MF0KKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDYsODAp
IHNpemUgOHgzNAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDYsODApIHdpZHRoIDg6
ICJvbiIKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXpl
IDczeDE2MAorICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAo
LTMsNSkgc2l6ZSA3M3gxNTkKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtMyw1KSB3
aWR0aCA3MzogIiBhIFBhdGgiCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAo
MzUsNjApIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoMCwtMTApIHNpemUgNzN4MTMKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTEw
KSB3aWR0aCA3MzogInN0YXJ0T2Zmc2V0PVwiNTAlXCIiCisgICAgICAgICAgUmVuZGVyU1ZHVGV4
dCB7dGV4dH0gYXQgKDM1LDcwKSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEwKSBzaXplIDcyeDEzCisgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLC0xMCkgd2lkdGggNzI6ICJ0ZXh0LWFuY2hvcj1cImVuZFwiIgorICAgICAgICAg
IFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzNSw4MCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAg
UmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xMCkgc2l6ZSAxMTJ4MTMKKyAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTEwKSB3aWR0aCAxMTI6ICJnbHlwaC1vcmllbnRhdGlv
bj1cIjE4MGRlZ1wiIgorICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxNC44OSwx
NzcuMjkpIHNpemUgMTMyLjExeDE5Mi43MSBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAw
LDEuMDApKSB0PSgwLjAwLDE3MC4wMCl9XQorICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7
dXNlfSBhdCAoMTQuODksMTc3LjI5KSBzaXplIDEyMC4xMXgzMC40MworICAgICAgICAgICAgUmVu
ZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTQuODksMTc3LjI5KSBzaXplIDEyMC4xMXgzMC40Mwor
ICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMTQuODksMTc3LjI5KSBzaXplIDEy
MC4xMXgzMC40MyBbdHJhbnNmb3JtPXttPSgoMC4xNSwwLjAwKSgwLjAwLDAuMTUpKSB0PSgwLjAw
LDAuMDApfV0gW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMEZGXSBbc3Ryb2tlIHdp
ZHRoPTIuMDBdfV0gW2RhdGE9Ik0xMDAuMDAsMjAwLjAwQzIwMC4wMCwxMDAuMDAsMzAwLjAwLDAu
MDAsNDAwLjAwLDEwMC4wMEM1MDAuMDAsMjAwLjAwLDYwMC4wMCwzMDAuMDAsNzAwLjAwLDIwMC4w
MEM4MDAuMDAsMTAwLjAwLDkwMC4wMCwxMDAuMDAsOTAwLjAwLDEwMC4wMCJdCisgICAgICAgICAg
UmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVu
ZGVyU1ZHVGV4dFBhdGgge3RleHRQYXRofSBhdCAoMCwwKSBzaXplIDYzeDE4NworICAgICAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDc0LDEzKSBzaXplIDUweDM1Cisg
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDc0LDEzKSB3aWR0aCA1MDogIlRleHQgIgorICAg
ICAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgOHgzNCBbY29s
b3I9I0ZGMDAwMF0KKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0g
YXQgKDEyOSw0Nykgc2l6ZSA4eDM0CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTI5
LDQ3KSB3aWR0aCA4OiAib24iCisgICAgICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0g
YXQgKDAsMCkgc2l6ZSAxMHgxMTkKKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0
IHsjdGV4dH0gYXQgKDExOSw4MSkgc2l6ZSA5eDExOQorICAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDExOSw4MSkgd2lkdGggOTogIiBhIFBhdGgiCisgICAgICAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJTVkdU
ZXh0IHt0ZXh0fSBhdCAoMzUsNjApIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lu
bGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTApIHNpemUgNzN4MTMKKyAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsLTEwKSB3aWR0aCA3MzogInN0YXJ0T2Zmc2V0PVwiNTAlXCIiCisgICAgICAg
ICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDM1LDcwKSBzaXplIDgwMHgwCisgICAgICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEwKSBzaXplIDc1eDEzCisgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xMCkgd2lkdGggNzU6ICJ0ZXh0LWFuY2hvcj1cInN0
YXJ0XCIiCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDM1LDgwKSBzaXplIDgw
MHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEwKSBz
aXplIDExMngxMworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTApIHdpZHRoIDExMjog
ImdseXBoLW9yaWVudGF0aW9uPVwiMjcwZGVnXCIiCisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5l
ciB7Z30gYXQgKDE0NiwxNjUpIHNpemUgMTQxeDg4IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDAp
KDAuMDAsMS4wMCkpIHQ9KDE1MC4wMCwxNzAuMDApfV0KKyAgICAgICAgICBSZW5kZXJTVkdDb250
YWluZXIge3VzZX0gYXQgKDE2NC44OSwxNzcuMjkpIHNpemUgMTIwLjExeDMwLjQzCisgICAgICAg
ICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxNjQuODksMTc3LjI5KSBzaXplIDEyMC4x
MXgzMC40MworICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMTY0Ljg5LDE3Ny4y
OSkgc2l6ZSAxMjAuMTF4MzAuNDMgW3RyYW5zZm9ybT17bT0oKDAuMTUsMC4wMCkoMC4wMCwwLjE1
KSkgdD0oMC4wMCwwLjAwKX1dIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDBGRl0g
W3N0cm9rZSB3aWR0aD0yLjAwXX1dIFtkYXRhPSJNMTAwLjAwLDIwMC4wMEMyMDAuMDAsMTAwLjAw
LDMwMC4wMCwwLjAwLDQwMC4wMCwxMDAuMDBDNTAwLjAwLDIwMC4wMCw2MDAuMDAsMzAwLjAwLDcw
MC4wMCwyMDAuMDBDODAwLjAwLDEwMC4wMCw5MDAuMDAsMTAwLjAwLDkwMC4wMCwxMDAuMDAiXQor
ICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDApIHNpemUgODAweDAKKyAgICAg
ICAgICAgIFJlbmRlclNWR1RleHRQYXRoIHt0ZXh0UGF0aH0gYXQgKDAsMCkgc2l6ZSAxMzN4ODYK
KyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgtNCwtNCkgc2l6
ZSA0M3g1MQorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgtNCwtNCkgd2lkdGggNDM6ICJU
ZXh0ICIKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXpl
IDIxeDI4IFtjb2xvcj0jRkYwMDAwXQorICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoNTksNSkgc2l6ZSAyMHgyNworICAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDU5LDUpIHdpZHRoIDIwOiAib24iCisgICAgICAgICAgICAgIFJlbmRlclNWR1RTcGFu
IHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSA1Mng2OAorICAgICAgICAgICAgICAgIFJlbmRlclNWR0lu
bGluZVRleHQgeyN0ZXh0fSBhdCAoNzcsMTMpIHNpemUgNTJ4NjgKKyAgICAgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICg3NywxMykgd2lkdGggNTI6ICIgYSBQYXRoIgorICAgICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVu
ZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDM1LDYwKSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEwKSBzaXplIDczeDEzCisgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLC0xMCkgd2lkdGggNzM6ICJzdGFydE9mZnNldD1cIjUwJVwiIgor
ICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzNSw3MCkgc2l6ZSA4MDB4MAorICAg
ICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xMCkgc2l6ZSA4Nngx
MworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTApIHdpZHRoIDg2OiAidGV4dC1hbmNo
b3I9XCJtaWRkbGVcIiIKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMzUsODAp
IHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAo
MCwtMTApIHNpemUgMTAyeDEzCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xMCkgd2lk
dGggMTAyOiAiZ2x5cGgtb3JpZW50YXRpb249XCIwZGVnXCIiCisgICAgICAgIFJlbmRlclNWR0Nv
bnRhaW5lciB7Z30gYXQgKDI5NiwxNjUpIHNpemUgMTQ2eDEwMiBbdHJhbnNmb3JtPXttPSgoMS4w
MCwwLjAwKSgwLjAwLDEuMDApKSB0PSgzMDAuMDAsMTcwLjAwKX1dCisgICAgICAgICAgUmVuZGVy
U1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgzMTQuODksMTc3LjI5KSBzaXplIDEyMC4xMXgzMC40Mwor
ICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMzE0Ljg5LDE3Ny4yOSkgc2l6
ZSAxMjAuMTF4MzAuNDMKKyAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cGF0aH0gYXQgKDMxNC44
OSwxNzcuMjkpIHNpemUgMTIwLjExeDMwLjQzIFt0cmFuc2Zvcm09e209KCgwLjE1LDAuMDApKDAu
MDAsMC4xNSkpIHQ9KDAuMDAsMC4wMCl9XSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMw
MDAwRkZdIFtzdHJva2Ugd2lkdGg9Mi4wMF19XSBbZGF0YT0iTTEwMC4wMCwyMDAuMDBDMjAwLjAw
LDEwMC4wMCwzMDAuMDAsMC4wMCw0MDAuMDAsMTAwLjAwQzUwMC4wMCwyMDAuMDAsNjAwLjAwLDMw
MC4wMCw3MDAuMDAsMjAwLjAwQzgwMC4wMCwxMDAuMDAsOTAwLjAwLDEwMC4wMCw5MDAuMDAsMTAw
LjAwIl0KKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwwKSBzaXplIDgwMHgw
CisgICAgICAgICAgICBSZW5kZXJTVkdUZXh0UGF0aCB7dGV4dFBhdGh9IGF0ICgwLDApIHNpemUg
MTM0eDEwMgorICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC00
LC00KSBzaXplIDZ4ODUKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTQsLTQpIHdpZHRo
IDY6ICJUZXh0ICIKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCww
KSBzaXplIDMzeDgyIFtjb2xvcj0jRkYwMDAwXQorICAgICAgICAgICAgICAgIFJlbmRlclNWR0lu
bGluZVRleHQgeyN0ZXh0fSBhdCAoNiwxNSkgc2l6ZSAzM3g4MgorICAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDYsMTUpIHdpZHRoIDMzOiAib24iCisgICAgICAgICAgICAgIFJlbmRlclNW
R1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSA5M3g0MgorICAgICAgICAgICAgICAgIFJlbmRl
clNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMzcsNSkgc2l6ZSA5Mng0MQorICAgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDM3LDUpIHdpZHRoIDkyOiAiIGEgUGF0aCIKKyAgICAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAg
IFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzNSw2MCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAg
UmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xMCkgc2l6ZSA3OHgxMworICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTApIHdpZHRoIDc4OiAic3RhcnRPZmZzZXQ9XCIxMDAl
XCIiCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDM1LDcwKSBzaXplIDgwMHgw
CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEwKSBzaXpl
IDcyeDEzCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xMCkgd2lkdGggNzI6ICJ0ZXh0
LWFuY2hvcj1cImVuZFwiIgorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzNSw4
MCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgwLC0xMCkgc2l6ZSAxMDd4MTMKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTEwKSB3
aWR0aCAxMDc6ICJnbHlwaC1vcmllbnRhdGlvbj1cIjkwZGVnXCIiCisgICAgICAgIFJlbmRlclNW
R0NvbnRhaW5lciB7Z30gYXQgKDE0Ljg5LDI3NCkgc2l6ZSAxMzIuMTF4MTYyIFt0cmFuc2Zvcm09
e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDAuMDAsMjcwLjAwKX1dCisgICAgICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgxNC44OSwyNzcuMjkpIHNpemUgMTIwLjExeDMw
LjQzCisgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxNC44OSwyNzcuMjkp
IHNpemUgMTIwLjExeDMwLjQzCisgICAgICAgICAgICAgIFJlbmRlclBhdGgge3BhdGh9IGF0ICgx
NC44OSwyNzcuMjkpIHNpemUgMTIwLjExeDMwLjQzIFt0cmFuc2Zvcm09e209KCgwLjE1LDAuMDAp
KDAuMDAsMC4xNSkpIHQ9KDAuMDAsMC4wMCl9XSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9y
PSMwMDAwRkZdIFtzdHJva2Ugd2lkdGg9Mi4wMF19XSBbZGF0YT0iTTEwMC4wMCwyMDAuMDBDMjAw
LjAwLDEwMC4wMCwzMDAuMDAsMC4wMCw0MDAuMDAsMTAwLjAwQzUwMC4wMCwyMDAuMDAsNjAwLjAw
LDMwMC4wMCw3MDAuMDAsMjAwLjAwQzgwMC4wMCwxMDAuMDAsOTAwLjAwLDEwMC4wMCw5MDAuMDAs
MTAwLjAwIl0KKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwwKSBzaXplIDgw
MHgwCisgICAgICAgICAgICBSZW5kZXJTVkdUZXh0UGF0aCB7dGV4dFBhdGh9IGF0ICgwLDApIHNp
emUgODl4MTYyCisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAo
NDYsNCkgc2l6ZSA2Mng0MworICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0Niw0KSB3aWR0
aCA2MjogIlRleHQgIgorICAgICAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgw
LDApIHNpemUgOHgzNCBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKDEyNywxMykgc2l6ZSA4eDM0CisgICAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMTI3LDEzKSB3aWR0aCA4OiAib24iCisgICAgICAgICAgICAgIFJlbmRl
clNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAxMHgxMTkKKyAgICAgICAgICAgICAgICBS
ZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDExNyw0Nykgc2l6ZSAxMHgxMTkKKyAgICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMTcsNDcpIHdpZHRoIDEwOiAiIGEgUGF0aCIKKyAg
ICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAor
ICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzNSw2MCkgc2l6ZSA4MDB4MAorICAg
ICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xMCkgc2l6ZSA2NXgx
MworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTApIHdpZHRoIDY1OiAic3RhcnRPZmZz
ZXQ9XCIzNVwiIgorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzNSw3MCkgc2l6
ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0x
MCkgc2l6ZSA3NXgxMworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTApIHdpZHRoIDc1
OiAidGV4dC1hbmNob3I9XCJzdGFydFwiIgorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9
IGF0ICgzNSw4MCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7
I3RleHR9IGF0ICgwLC0xMCkgc2l6ZSAxMTJ4MTMKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsLTEwKSB3aWR0aCAxMTI6ICJnbHlwaC1vcmllbnRhdGlvbj1cIjE4MGRlZ1wiIgorICAgICAg
ICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxNDYsMjY1KSBzaXplIDEzOXg4NSBbdHJhbnNm
b3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgxNTAuMDAsMjcwLjAwKX1dCisgICAg
ICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgxNjQuODksMjc3LjI5KSBzaXplIDEy
MC4xMXgzMC40MworICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTY0Ljg5
LDI3Ny4yOSkgc2l6ZSAxMjAuMTF4MzAuNDMKKyAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cGF0
aH0gYXQgKDE2NC44OSwyNzcuMjkpIHNpemUgMTIwLjExeDMwLjQzIFt0cmFuc2Zvcm09e209KCgw
LjE1LDAuMDApKDAuMDAsMC4xNSkpIHQ9KDAuMDAsMC4wMCl9XSBbc3Ryb2tlPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSMwMDAwRkZdIFtzdHJva2Ugd2lkdGg9Mi4wMF19XSBbZGF0YT0iTTEwMC4wMCwy
MDAuMDBDMjAwLjAwLDEwMC4wMCwzMDAuMDAsMC4wMCw0MDAuMDAsMTAwLjAwQzUwMC4wMCwyMDAu
MDAsNjAwLjAwLDMwMC4wMCw3MDAuMDAsMjAwLjAwQzgwMC4wMCwxMDAuMDAsOTAwLjAwLDEwMC4w
MCw5MDAuMDAsMTAwLjAwIl0KKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCww
KSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdUZXh0UGF0aCB7dGV4dFBhdGh9IGF0
ICgwLDApIHNpemUgMTMxeDg1CisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoLTQsLTQpIHNpemUgNng4NQorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgt
NCwtNCkgd2lkdGggNjogIlRleHQgIgorICAgICAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNw
YW59IGF0ICgwLDApIHNpemUgMjF4MjcgW2NvbG9yPSNGRjAwMDBdCisgICAgICAgICAgICAgICAg
UmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgyNyw4KSBzaXplIDIxeDI3CisgICAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjcsOCkgd2lkdGggMjE6ICJvbiIKKyAgICAgICAgICAg
ICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDc4eDQ0CisgICAgICAgICAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg0OSw0KSBzaXplIDc4eDQzCisg
ICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDksNCkgd2lkdGggNzg6ICIgYSBQYXRoIgor
ICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgw
CisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDM1LDYwKSBzaXplIDgwMHgwCisg
ICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEwKSBzaXplIDY1
eDEzCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xMCkgd2lkdGggNjU6ICJzdGFydE9m
ZnNldD1cIjM1XCIiCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDM1LDcwKSBz
aXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAs
LTEwKSBzaXplIDg2eDEzCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xMCkgd2lkdGgg
ODY6ICJ0ZXh0LWFuY2hvcj1cIm1pZGRsZVwiIgorICAgICAgICBSZW5kZXJTVkdDb250YWluZXIg
e2d9IGF0ICgyOTYsMjY1KSBzaXplIDE0NngyMDQgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCko
MC4wMCwxLjAwKSkgdD0oMzAwLjAwLDI3MC4wMCl9XQorICAgICAgICAgIFJlbmRlclNWR0NvbnRh
aW5lciB7dXNlfSBhdCAoMzE0Ljg5LDI3Ny4yOSkgc2l6ZSAxMjAuMTF4MzAuNDMKKyAgICAgICAg
ICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDMxNC44OSwyNzcuMjkpIHNpemUgMTIwLjEx
eDMwLjQzCisgICAgICAgICAgICAgIFJlbmRlclBhdGgge3BhdGh9IGF0ICgzMTQuODksMjc3LjI5
KSBzaXplIDEyMC4xMXgzMC40MyBbdHJhbnNmb3JtPXttPSgoMC4xNSwwLjAwKSgwLjAwLDAuMTUp
KSB0PSgwLjAwLDAuMDApfV0gW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMEZGXSBb
c3Ryb2tlIHdpZHRoPTIuMDBdfV0gW2RhdGE9Ik0xMDAuMDAsMjAwLjAwQzIwMC4wMCwxMDAuMDAs
MzAwLjAwLDAuMDAsNDAwLjAwLDEwMC4wMEM1MDAuMDAsMjAwLjAwLDYwMC4wMCwzMDAuMDAsNzAw
LjAwLDIwMC4wMEM4MDAuMDAsMTAwLjAwLDkwMC4wMCwxMDAuMDAsOTAwLjAwLDEwMC4wMCJdCisg
ICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAorICAgICAg
ICAgICAgUmVuZGVyU1ZHVGV4dFBhdGgge3RleHRQYXRofSBhdCAoMCwwKSBzaXplIDQyeDIwNAor
ICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC00LC00KSBzaXpl
IDZ4ODUKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTQsLTQpIHdpZHRoIDY6ICJUZXh0
ICIKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDh4
MzQgW2NvbG9yPSNGRjAwMDBdCisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7
I3RleHR9IGF0ICg2LDgwKSBzaXplIDh4MzQKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICg2LDgwKSB3aWR0aCA4OiAib24iCisgICAgICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bh
bn0gYXQgKDAsMCkgc2l6ZSA0MngxOTEKKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKC00LDgpIHNpemUgNDJ4MTkxCisgICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoLTQsOCkgd2lkdGggNDI6ICIgYSBQYXRoIgorICAgICAgICAgICAgUmVuZGVyU1ZH
SW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVyU1ZH
VGV4dCB7dGV4dH0gYXQgKDM1LDYwKSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEwKSBzaXplIDY1eDEzCisgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLC0xMCkgd2lkdGggNjU6ICJzdGFydE9mZnNldD1cIjM1XCIiCisgICAgICAg
ICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDM1LDcwKSBzaXplIDgwMHgwCisgICAgICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEwKSBzaXplIDcyeDEzCisgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xMCkgd2lkdGggNzI6ICJ0ZXh0LWFuY2hvcj1cImVu
ZFwiIgorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzNSw4MCkgc2l6ZSA4MDB4
MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xMCkgc2l6
ZSAxMDd4MTMKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTEwKSB3aWR0aCAxMDc6ICJn
bHlwaC1vcmllbnRhdGlvbj1cIjkwZGVnXCIiCisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7
Z30gYXQgKDMwLDM3MC42Nykgc2l6ZSAxMDN4MjYxLjMzIFt0cmFuc2Zvcm09e209KCgxLjAwLDAu
MDApKDAuMDAsMS4wMCkpIHQ9KDEwLjAwLDM3MC4wMCl9XQorICAgICAgICAgIFJlbmRlclNWR0Nv
bnRhaW5lciB7dXNlfSBhdCAoMzkuNzAsMzcwLjY3KSBzaXplIDkwLjYweDQ5LjMzCisgICAgICAg
ICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgzOS43MCwzNzAuNjcpIHNpemUgOTAuNjB4
NDkuMzMKKyAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cGF0aH0gYXQgKDM5LjcwLDM3MC42Nykg
c2l6ZSA5MC42MHg0OS4zMyBbdHJhbnNmb3JtPXttPSgoMC4zMCwwLjAwKSgwLjAwLDAuNTApKSB0
PSgwLjAwLDAuMDApfV0gW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMEZGXSBbc3Ry
b2tlIHdpZHRoPTIuMDBdfV0gW2RhdGE9Ik0xMDAuMDAsMTAwLjAwQzEwMC4wMCwwLjAwLDQwMC4w
MCwwLjAwLDQwMC4wMCwxMDAuMDAiXQorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0
ICgwLDApIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR1RleHRQYXRoIHt0ZXh0UGF0
aH0gYXQgKDAsMCkgc2l6ZSA4OXgyNTQKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3Rz
cGFufSBhdCAoMCwwKSBzaXplIDU0eDQ2IFtjb2xvcj0jMDA4MDAwXQorICAgICAgICAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMzQsOCkgc2l6ZSA1M3g0NQorICAgICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM0LDgpIHdpZHRoIDUzOiAic3VwZXIiCisgICAgICAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoOTksMTQpIHNpemUgMjJ4NzgK
KyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTksMTQpIHdpZHRoIDIyOiAiIGFuZCAiCisg
ICAgICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSA5eDUxIFtj
b2xvcj0jRkYwMDAwXQorICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoMTA3LDkyKSBzaXplIDl4NTEKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgx
MDcsOTIpIHdpZHRoIDk6ICJzdWIiCisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQg
eyN0ZXh0fSBhdCAoMTE1LDE0Mykgc2l6ZSA4eDExOQorICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgxMTUsMTQzKSB3aWR0aCA4OiAic2NyaXB0cyIKKyAgICAgICAgICAgIFJlbmRlclNWR0lu
bGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJlbmRlclNWR1Rl
eHQge3RleHR9IGF0ICgyMCw2NSkgc2l6ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xMCkgc2l6ZSA4OHgxMworICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwtMTApIHdpZHRoIDg4OiAiYmFzZWxpbmUtc2hpZnQ9XCJzdXBlclwiIgorICAg
ICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyMCw3NSkgc2l6ZSA4MDB4MAorICAgICAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xMCkgc2l6ZSA5OHgxMwor
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTApIHdpZHRoIDk4OiAiYW5kIGJhc2VsaW5l
LXNoaWZ0PVwic3ViXCIiCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIwLDg1
KSBzaXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KDAsLTEwKSBzaXplIDEwMHgxMworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTApIHdp
ZHRoIDEwMDogImdseXBoLW9yaWVudGF0aW9uPVwiYXV0b1wiIgorICAgICAgICBSZW5kZXJTVkdD
b250YWluZXIge2d9IGF0ICgzMjAsMzcwLjY3KSBzaXplIDEwM3gyNzguMzMgW3RyYW5zZm9ybT17
bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMzAwLjAwLDM3MC4wMCl9XQorICAgICAgICAg
IFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMzI5LjcwLDM3MC42Nykgc2l6ZSA5MC42MHg0
OS4zMworICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMzI5LjcwLDM3MC42
Nykgc2l6ZSA5MC42MHg0OS4zMworICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAo
MzI5LjcwLDM3MC42Nykgc2l6ZSA5MC42MHg0OS4zMyBbdHJhbnNmb3JtPXttPSgoMC4zMCwwLjAw
KSgwLjAwLDAuNTApKSB0PSgwLjAwLDAuMDApfV0gW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xv
cj0jMDAwMEZGXSBbc3Ryb2tlIHdpZHRoPTIuMDBdfV0gW2RhdGE9Ik0xMDAuMDAsMTAwLjAwQzEw
MC4wMCwwLjAwLDQwMC4wMCwwLjAwLDQwMC4wMCwxMDAuMDAiXQorICAgICAgICAgIFJlbmRlclNW
R1RleHQge3RleHR9IGF0ICgwLDApIHNpemUgODAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR1Rl
eHRQYXRoIHt0ZXh0UGF0aH0gYXQgKDAsMCkgc2l6ZSA5NHgyNzEKKyAgICAgICAgICAgICAgUmVu
ZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDk0eDUwIFtjb2xvcj0jMDA4MDAwXQor
ICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMjksOCkgc2l6
ZSA5M3g1MAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI5LDgpIHdpZHRoIDkzOiAi
cG9zaXRpdmUiCisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAo
MTEyLDU4KSBzaXplIDZ4ODUKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTEyLDU4KSB3
aWR0aCA2OiAiIGFuZCAiCisgICAgICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQg
KDAsMCkgc2l6ZSA5eDEzNiBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDEwOSwxNDMpIHNpemUgOXgxMzYKKyAgICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgxMDksMTQzKSB3aWR0aCA5OiAibmVnYXRpdmUiCisgICAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAg
ICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjAsNjUpIHNpemUgODAweDAKKyAgICAgICAg
ICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTApIHNpemUgOTd4MTMKKyAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTEwKSB3aWR0aCA5NzogImJhc2VsaW5lLXNoaWZ0
PVwiKy8tMjAlXCIiCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIwLDc1KSBz
aXplIDgwMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAs
LTEwKSBzaXplIDEwMHgxMworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTApIHdpZHRo
IDEwMDogImdseXBoLW9yaWVudGF0aW9uPVwiYXV0b1wiIgorICAgICAgICBSZW5kZXJTVkdDb250
YWluZXIge2d9IGF0ICgxODAsMzU4Ljc1KSBzaXplIDEwMHgyNjUuNTAgW3RyYW5zZm9ybT17bT0o
KDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMTgwLjAwLDM3MC4wMCl9XQorICAgICAgICAgIFJl
bmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDE4My43NSwzNTguNzUpIHNpemUgODkuMjV4MjY1LjUw
IFt0cmFuc2Zvcm09e209KCgwLjc1LDAuMDApKDAuMDAsMC43NSkpIHQ9KDAuMDAsMC4wMCl9XQor
ICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgyMDIuMjcsMzcwLjUwKSBz
aXplIDY3Ljk1eDM3CisgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDIw
Mi4yNywzNzAuNTApIHNpemUgNjcuOTV4MzcKKyAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtw
YXRofSBhdCAoMjAyLjI3LDM3MC41MCkgc2l6ZSA2Ny45NXgzNyBbdHJhbnNmb3JtPXttPSgoMC4z
MCwwLjAwKSgwLjAwLDAuNTApKSB0PSgwLjAwLDAuMDApfV0gW3N0cm9rZT17W3R5cGU9U09MSURd
IFtjb2xvcj0jMDAwMEZGXSBbc3Ryb2tlIHdpZHRoPTIuMDBdfV0gW2RhdGE9Ik0xMDAuMDAsMTAw
LjAwQzEwMC4wMCwwLjAwLDQwMC4wMCwwLjAwLDQwMC4wMCwxMDAuMDAiXQorICAgICAgICAgICAg
UmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEwLC0yMCkgc2l6ZSA4MDB4MAorICAgICAgICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKC01LDUpIHNpemUgN3gyNzYKKyAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoLTUsNSkgd2lkdGggNzogImJlZm9yZSBwYXRoICIKKyAg
ICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dFBhdGgge3RleHRQYXRofSBhdCAoMCwwKSBzaXplIDkx
eDkyIFtjb2xvcj0jRkYwMDAwXQorICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQg
eyN0ZXh0fSBhdCAoMjMsMjYpIHNpemUgOTF4OTIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgyMywyNikgd2lkdGggOTE6ICJvbiBwYXRoIgorICAgICAgICAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKDEwMiwxMjkpIHNpemUgMTJ4MjMwCisgICAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDEwMiwxMjkpIHdpZHRoIDEyOiAiYWZ0ZXIgcGF0aCIKKyAgICAgICAg
ICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwxMDApIHNpemUgODAweDAKKyAgICAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTApIHNpemUgOTh4MTMKKyAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTEwKSB3aWR0aCA5ODogInRleHQgYmVmb3JlL2FmdGVy
IHRleHRQYXRoIgorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDExMCkgc2l6
ZSA4MDB4MAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0x
MCkgc2l6ZSAxMDB4MTMKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTEwKSB3aWR0aCAx
MDA6ICJnbHlwaC1vcmllbnRhdGlvbj1cImF1dG9cIiIKKyAgICAgIFJlbmRlclNWR0NvbnRhaW5l
ciB7dXNlfSBhdCAoMCwwKSBzaXplIDB4MApJbmRleDogc3ZnL2JhdGlrL3RleHQvdmVydGljYWxU
ZXh0T25QYXRoLnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzdmcvYmF0aWsvdGV4dC92ZXJ0aWNhbFRleHRP
blBhdGguc3ZnCShyZXZpc2lvbiAwKQorKysgc3ZnL2JhdGlrL3RleHQvdmVydGljYWxUZXh0T25Q
YXRoLnN2ZwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxODYgQEAKKzw/eG1sIHZlcnNpb249IjEu
MCIgc3RhbmRhbG9uZT0ibm8iPz4KKzwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBT
VkcgMS4wLy9FTiIKKyJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQv
RFREL3N2ZzEwLmR0ZCI+CisKKzwhLS0KKyAgIENvcHlyaWdodCAxOTk5LTIwMDMsMjAwNSBUaGUg
QXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgICAKKyAgIExpY2Vuc2VkIHVuZGVyIHRoZSBB
cGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICAgeW91IG1heSBu
b3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgor
ICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgICAKKyAgICAgICAg
aHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgICAKKyAgIFVubGVz
cyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29m
dHdhcmUKKyAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9u
IGFuICJBUyBJUyIgQkFTSVMsCisgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBP
RiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAgIFNlZSB0aGUgTGljZW5z
ZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAg
IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorLS0+CisKKzwhLS0gPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PSAtLT4KKzwhLS0gVGVzdHMgdmVydGljYWwgdGV4dCBvbiBhIHBhdGggICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+Cis8IS0tICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLS0+Cis8IS0tIEBhdXRob3IgYmVsbGEucm9iaW5zb25AY21pcy5jc2lyby5hdSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+Cis8IS0tIEB2ZXJzaW9uICRJZDogdmVy
dGljYWxUZXh0T25QYXRoLnN2Zyx2IDEuNiAyMDA1LzA0LzAxIDAyOjI4OjExIGRld2Vlc2UgRXhw
ICQgICAgICAgIC0tPgorPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPD94bWwtc3R5bGVzaGVl
dCB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vcmVzb3VyY2VzL3Rlc3QuY3NzIiA/PiAgCisKKzxz
dmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDov
L3d3dy53My5vcmcvMTk5OS94bGluayIgaWQ9ImJvZHkiIHdpZHRoPSI0NTAiIGhlaWdodD0iNTAw
IiB2aWV3Qm94PSIwIDAgNDUwIDUwMCI+Cis8dGl0bGU+VmVydGljYWwgdGV4dCBvbiBhIHBhdGgg
dGVzdDwvdGl0bGU+CisKKyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwhW0NEQVRBWworICAg
ICAgICAKKyAgICBdXT48L3N0eWxlPgorCisgICAgPGcgaWQ9ImNvbnRlbnQiPgorCisgICAgICAg
IDx0ZXh0IGNsYXNzPSJ0aXRsZSIgeD0iNTAlIiB5PSI0MCI+VmVydGljYWwgdGV4dCBvbiBhIHBh
dGggdGVzdDwvdGV4dD4KKworICAgICAgICA8ZGVmcz4KKwkgICAgICA8cGF0aCBpZD0iUGF0aDEi
IHN0eWxlPSJmaWxsOm5vbmU7IHN0cm9rZTpibHVlOyIgdHJhbnNmb3JtPSJzY2FsZSgwLjE1LDAu
MTUpIgorICAgICAgICAgICAgICAgICAgZD0iTSAxMDAgMjAwIEMgMjAwIDEwMCAzMDAgMCA0MDAg
MTAwIEMgNTAwIDIwMCA2MDAgMzAwIDcwMCAyMDAgQyA4MDAgMTAwIDkwMCAxMDAgOTAwIDEwMCIv
PgorICAgICAgICAgICAgPHBhdGggaWQ9IlBhdGgyIiBzdHlsZT0iZmlsbDpub25lOyBzdHJva2U6
Ymx1ZTsiIHRyYW5zZm9ybT0ic2NhbGUoMC4zMCwwLjUwKSIKKyAgICAgICAgICAgICAgICAgIGQ9
Ik0gMTAwIDEwMCBDMTAwIDAgNDAwIDAwIDQwMCAxMDAiLz4KKworICAgICAgICA8L2RlZnM+CisK
KwkgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsNzApIj4KKyAgICAgICAgICAgIDx1c2UgeGxp
bms6aHJlZj0iI1BhdGgxIiBzdHlsZT0iZmlsbDpub25lOyBzdHJva2U6Ymx1ZTsgc3Ryb2tlLXdp
ZHRoOjIiLz4KKwkgICAgICA8dGV4dCBmb250LXNpemU9IjE1IiBzdHlsZT0idGV4dC1hbmNob3I6
c3RhcnQiIHdyaXRpbmctbW9kZT0idGIiIGdseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsPSJhdXRv
Ij4KKyAgICAgICAgICAgICAgICA8dGV4dFBhdGggeGxpbms6aHJlZj0iI1BhdGgxIiBzdGFydE9m
ZnNldD0iMCUiPlRleHQgPHRzcGFuIGZpbGw9InJlZCIgZHg9IjEwIj5vbjwvdHNwYW4+PHRzcGFu
IGR4PSItMTAiPiBhIFBhdGg8L3RzcGFuPjwvdGV4dFBhdGg+CisgICAgICAgICAgICA8L3RleHQ+
CisgICAgICAgICAgICA8dGV4dCBmb250LXNpemU9IjEwIiB4PSIzNSIgeT0iNjAiPnN0YXJ0T2Zm
c2V0PSIwJSI8L3RleHQ+CisgICAgICAgICAgICA8dGV4dCBmb250LXNpemU9IjEwIiB4PSIzNSIg
eT0iNzAiPnRleHQtYW5jaG9yPSJzdGFydCI8L3RleHQ+CisgICAgICAgICAgICA8dGV4dCBmb250
LXNpemU9IjEwIiB4PSIzNSIgeT0iODAiPmdseXBoLW9yaWVudGF0aW9uPSJhdXRvIjwvdGV4dD4K
KyAgICAgICAgIDwvZz4KKworCisgICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNTAs
NzApIj4KKyAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI1BhdGgxIiBzdHlsZT0iZmlsbDpu
b25lOyBzdHJva2U6Ymx1ZTsgc3Ryb2tlLXdpZHRoOjIiLz4KKwkgICAgICA8dGV4dCBmb250LXNp
emU9IjE1IiBzdHlsZT0idGV4dC1hbmNob3I6bWlkZGxlIiB3cml0aW5nLW1vZGU9InRiIiBnbHlw
aC1vcmllbnRhdGlvbi12ZXJ0aWNhbD0iMGRlZyI+CisgICAgICAgICAgICAgICAgPHRleHRQYXRo
IHhsaW5rOmhyZWY9IiNQYXRoMSIgc3RhcnRPZmZzZXQ9IjAlIj5UZXh0IDx0c3BhbiBmaWxsPSJy
ZWQiIGR4PSIxMCI+b248L3RzcGFuPjx0c3BhbiBkeD0iLTEwIj4gYSBQYXRoPC90c3Bhbj48L3Rl
eHRQYXRoPgorICAgICAgICAgICAgPC90ZXh0PgorCQk8dGV4dCBmb250LXNpemU9IjEwIiB4PSIz
NSIgeT0iNjAiPnN0YXJ0T2Zmc2V0PSIwJSI8L3RleHQ+CisgICAgICAgICAgICA8dGV4dCBmb250
LXNpemU9IjEwIiB4PSIzNSIgeT0iNzAiPnRleHQtYW5jaG9yPSJtaWRkbGUiPC90ZXh0PgorICAg
ICAgICAgICAgPHRleHQgZm9udC1zaXplPSIxMCIgeD0iMzUiIHk9IjgwIj5nbHlwaC1vcmllbnRh
dGlvbj0iMGRlZyI8L3RleHQ+CisgICAgICAgICA8L2c+CisKKyAgICAgICAgIDxnIHRyYW5zZm9y
bT0idHJhbnNsYXRlKDMwMCw3MCkiPgorICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjUGF0
aDEiIHN0eWxlPSJmaWxsOm5vbmU7IHN0cm9rZTpibHVlOyBzdHJva2Utd2lkdGg6MiIvPgorCSAg
ICAgIDx0ZXh0IGZvbnQtc2l6ZT0iMTUiIHN0eWxlPSJ0ZXh0LWFuY2hvcjplbmQiIHdyaXRpbmct
bW9kZT0idGIiIGdseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsPSIxODBkZWciPgorICAgICAgICAg
ICAgICAgIDx0ZXh0UGF0aCB4bGluazpocmVmPSIjUGF0aDEiIHN0YXJ0T2Zmc2V0PSI1MCUiPlRl
eHQgPHRzcGFuIGZpbGw9InJlZCIgZHg9IjEwIj5vbjwvdHNwYW4+PHRzcGFuIGR4PSItMTAiPiBh
IFBhdGg8L3RzcGFuPjwvdGV4dFBhdGg+CisgICAgICAgICAgICA8L3RleHQ+CisJCTx0ZXh0IGZv
bnQtc2l6ZT0iMTAiIHg9IjM1IiB5PSI2MCI+c3RhcnRPZmZzZXQ9IjUwJSI8L3RleHQ+CisgICAg
ICAgICAgICA8dGV4dCBmb250LXNpemU9IjEwIiB4PSIzNSIgeT0iNzAiPnRleHQtYW5jaG9yPSJl
bmQiPC90ZXh0PgorICAgICAgICAgICAgPHRleHQgZm9udC1zaXplPSIxMCIgeD0iMzUiIHk9Ijgw
Ij5nbHlwaC1vcmllbnRhdGlvbj0iMTgwZGVnIjwvdGV4dD4KKyAgICAgICAgIDwvZz4KKworCisg
ICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLDE3MCkiPgorICAgICAgICAgICAgPHVz
ZSB4bGluazpocmVmPSIjUGF0aDEiIHN0eWxlPSJmaWxsOm5vbmU7IHN0cm9rZTpibHVlOyBzdHJv
a2Utd2lkdGg6MiIvPgorCSAgICAgIDx0ZXh0IGZvbnQtc2l6ZT0iMTUiIHN0eWxlPSJ0ZXh0LWFu
Y2hvcjpzdGFydCIgd3JpdGluZy1tb2RlPSJ0YiIgZ2x5cGgtb3JpZW50YXRpb24tdmVydGljYWw9
IjI3MGRlZyI+CisgICAgICAgICAgICAgICAgPHRleHRQYXRoIHhsaW5rOmhyZWY9IiNQYXRoMSIg
c3RhcnRPZmZzZXQ9IjUwJSI+VGV4dCA8dHNwYW4gZmlsbD0icmVkIiBkeD0iMTAiPm9uPC90c3Bh
bj48dHNwYW4gZHg9Ii0xMCI+IGEgUGF0aDwvdHNwYW4+PC90ZXh0UGF0aD4KKyAgICAgICAgICAg
IDwvdGV4dD4KKyAgICAgICAgICAgIDx0ZXh0IGZvbnQtc2l6ZT0iMTAiIHg9IjM1IiB5PSI2MCI+
c3RhcnRPZmZzZXQ9IjUwJSI8L3RleHQ+CisgICAgICAgICAgICA8dGV4dCBmb250LXNpemU9IjEw
IiB4PSIzNSIgeT0iNzAiPnRleHQtYW5jaG9yPSJzdGFydCI8L3RleHQ+CisgICAgICAgICAgICA8
dGV4dCBmb250LXNpemU9IjEwIiB4PSIzNSIgeT0iODAiPmdseXBoLW9yaWVudGF0aW9uPSIyNzBk
ZWciPC90ZXh0PgorICAgICAgICAgPC9nPgorCisKKyAgICAgICAgIDxnIHRyYW5zZm9ybT0idHJh
bnNsYXRlKDE1MCwxNzApIj4KKyAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI1BhdGgxIiBz
dHlsZT0iZmlsbDpub25lOyBzdHJva2U6Ymx1ZTsgc3Ryb2tlLXdpZHRoOjIiLz4KKwkgICAgICA8
dGV4dCBmb250LXNpemU9IjE1IiBzdHlsZT0idGV4dC1hbmNob3I6bWlkZGxlIiB3cml0aW5nLW1v
ZGU9InRiIiBnbHlwaC1vcmllbnRhdGlvbi12ZXJ0aWNhbD0iMGRlZyI+CisgICAgICAgICAgICAg
ICAgPHRleHRQYXRoIHhsaW5rOmhyZWY9IiNQYXRoMSIgc3RhcnRPZmZzZXQ9IjUwJSI+VGV4dCA8
dHNwYW4gZmlsbD0icmVkIiBkeD0iMTAiPm9uPC90c3Bhbj48dHNwYW4gZHg9Ii0xMCI+IGEgUGF0
aDwvdHNwYW4+PC90ZXh0UGF0aD4KKyAgICAgICAgICAgIDwvdGV4dD4KKyAgICAgICAgICAgIDx0
ZXh0IGZvbnQtc2l6ZT0iMTAiIHg9IjM1IiB5PSI2MCI+c3RhcnRPZmZzZXQ9IjUwJSI8L3RleHQ+
CisgICAgICAgICAgICA8dGV4dCBmb250LXNpemU9IjEwIiB4PSIzNSIgeT0iNzAiPnRleHQtYW5j
aG9yPSJtaWRkbGUiPC90ZXh0PgorICAgICAgICAgICAgPHRleHQgZm9udC1zaXplPSIxMCIgeD0i
MzUiIHk9IjgwIj5nbHlwaC1vcmllbnRhdGlvbj0iMGRlZyI8L3RleHQ+CisgICAgICAgICA8L2c+
CisKKyAgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMwMCwxNzApIj4KKyAgICAgICAg
ICAgIDx1c2UgeGxpbms6aHJlZj0iI1BhdGgxIiBzdHlsZT0iZmlsbDpub25lOyBzdHJva2U6Ymx1
ZTsgc3Ryb2tlLXdpZHRoOjIiLz4KKwkgICAgICA8dGV4dCBmb250LXNpemU9IjE1IiBzdHlsZT0i
dGV4dC1hbmNob3I6ZW5kIiB3cml0aW5nLW1vZGU9InRiIiBnbHlwaC1vcmllbnRhdGlvbi12ZXJ0
aWNhbD0iOTBkZWciPgorICAgICAgICAgICAgICAgIDx0ZXh0UGF0aCB4bGluazpocmVmPSIjUGF0
aDEiIHN0YXJ0T2Zmc2V0PSIxMDAlIj5UZXh0IDx0c3BhbiBmaWxsPSJyZWQiIGR4PSIxMCI+b248
L3RzcGFuPjx0c3BhbiBkeD0iLTEwIj4gYSBQYXRoPC90c3Bhbj48L3RleHRQYXRoPgorICAgICAg
ICAgICAgPC90ZXh0PgorICAgICAgICAgICAgPHRleHQgZm9udC1zaXplPSIxMCIgeD0iMzUiIHk9
IjYwIj5zdGFydE9mZnNldD0iMTAwJSI8L3RleHQ+CisgICAgICAgICAgICA8dGV4dCBmb250LXNp
emU9IjEwIiB4PSIzNSIgeT0iNzAiPnRleHQtYW5jaG9yPSJlbmQiPC90ZXh0PgorICAgICAgICAg
ICAgPHRleHQgZm9udC1zaXplPSIxMCIgeD0iMzUiIHk9IjgwIj5nbHlwaC1vcmllbnRhdGlvbj0i
OTBkZWciPC90ZXh0PgorICAgICAgICAgPC9nPgorCisKKyAgICAgICAgPGcgdHJhbnNmb3JtPSJ0
cmFuc2xhdGUoMCwyNzApIj4KKyAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI1BhdGgxIiBz
dHlsZT0iZmlsbDpub25lOyBzdHJva2U6Ymx1ZTsgc3Ryb2tlLXdpZHRoOjIiLz4KKwkgICAgICA8
dGV4dCBmb250LXNpemU9IjE1IiBzdHlsZT0idGV4dC1hbmNob3I6c3RhcnQiIHdyaXRpbmctbW9k
ZT0idGIiIGdseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsPSIxODBkZWciPgorICAgICAgICAgICAg
ICAgIDx0ZXh0UGF0aCB4bGluazpocmVmPSIjUGF0aDEiIHN0YXJ0T2Zmc2V0PSIzNSI+VGV4dCA8
dHNwYW4gZmlsbD0icmVkIiBkeD0iMTAiPm9uPC90c3Bhbj48dHNwYW4gZHg9Ii0xMCI+IGEgUGF0
aDwvdHNwYW4+PC90ZXh0UGF0aD4KKyAgICAgICAgICAgIDwvdGV4dD4KKyAgICAgICAgICAgIDx0
ZXh0IGZvbnQtc2l6ZT0iMTAiIHg9IjM1IiB5PSI2MCI+c3RhcnRPZmZzZXQ9IjM1IjwvdGV4dD4K
KyAgICAgICAgICAgIDx0ZXh0IGZvbnQtc2l6ZT0iMTAiIHg9IjM1IiB5PSI3MCI+dGV4dC1hbmNo
b3I9InN0YXJ0IjwvdGV4dD4KKyAgICAgICAgICAgIDx0ZXh0IGZvbnQtc2l6ZT0iMTAiIHg9IjM1
IiB5PSI4MCI+Z2x5cGgtb3JpZW50YXRpb249IjE4MGRlZyI8L3RleHQ+CisgICAgICAgICA8L2c+
CisKKworICAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwLDI3MCkiPgorICAgICAg
ICAgICAgPHVzZSB4bGluazpocmVmPSIjUGF0aDEiIHN0eWxlPSJmaWxsOm5vbmU7IHN0cm9rZTpi
bHVlOyBzdHJva2Utd2lkdGg6MiIvPgorCSAgICAgIDx0ZXh0IGZvbnQtc2l6ZT0iMTUiIHN0eWxl
PSJ0ZXh0LWFuY2hvcjptaWRkbGUiIHdyaXRpbmctbW9kZT0idGIiIGdseXBoLW9yaWVudGF0aW9u
LXZlcnRpY2FsPSIyNzBkZWciPgorICAgICAgICAgICAgICAgIDx0ZXh0UGF0aCB4bGluazpocmVm
PSIjUGF0aDEiIHN0YXJ0T2Zmc2V0PSIzNSI+VGV4dCA8dHNwYW4gZmlsbD0icmVkIiBkeD0iMTAi
Pm9uPC90c3Bhbj48dHNwYW4gZHg9Ii0xMCI+IGEgUGF0aDwvdHNwYW4+PC90ZXh0UGF0aD4KKyAg
ICAgICAgICAgIDwvdGV4dD4KKyAgICAgICAgICAgIDx0ZXh0IGZvbnQtc2l6ZT0iMTAiIHg9IjM1
IiB5PSI2MCI+c3RhcnRPZmZzZXQ9IjM1IjwvdGV4dD4KKyAgICAgICAgICAgIDx0ZXh0IGZvbnQt
c2l6ZT0iMTAiIHg9IjM1IiB5PSI3MCI+dGV4dC1hbmNob3I9Im1pZGRsZSI8L3RleHQ+CisgICAg
ICAgICA8L2c+CisKKyAgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMwMCwyNzApIj4K
KyAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI1BhdGgxIiBzdHlsZT0iZmlsbDpub25lOyBz
dHJva2U6Ymx1ZTsgc3Ryb2tlLXdpZHRoOjIiLz4KKwkgICAgICA8dGV4dCBmb250LXNpemU9IjE1
IiBzdHlsZT0idGV4dC1hbmNob3I6ZW5kIiB3cml0aW5nLW1vZGU9InRiIiBnbHlwaC1vcmllbnRh
dGlvbi12ZXJ0aWNhbD0iOTBkZWciPgorICAgICAgICAgICAgICAgIDx0ZXh0UGF0aCB4bGluazpo
cmVmPSIjUGF0aDEiIHN0YXJ0T2Zmc2V0PSIzNSI+VGV4dCA8dHNwYW4gZmlsbD0icmVkIiBkeD0i
MTAiPm9uPC90c3Bhbj48dHNwYW4gZHg9Ii0xMCI+IGEgUGF0aDwvdHNwYW4+PC90ZXh0UGF0aD4K
KyAgICAgICAgICAgIDwvdGV4dD4KKyAgICAgICAgICAgIDx0ZXh0IGZvbnQtc2l6ZT0iMTAiIHg9
IjM1IiB5PSI2MCI+c3RhcnRPZmZzZXQ9IjM1IjwvdGV4dD4KKyAgICAgICAgICAgIDx0ZXh0IGZv
bnQtc2l6ZT0iMTAiIHg9IjM1IiB5PSI3MCI+dGV4dC1hbmNob3I9ImVuZCI8L3RleHQ+CisgICAg
ICAgICAgICA8dGV4dCBmb250LXNpemU9IjEwIiB4PSIzNSIgeT0iODAiPmdseXBoLW9yaWVudGF0
aW9uPSI5MGRlZyI8L3RleHQ+CisgICAgICAgICA8L2c+CisKKworCisgICAgICAgIDxnIHRyYW5z
Zm9ybT0idHJhbnNsYXRlKDEwLDM3MCkiPgorICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIj
UGF0aDIiIHN0eWxlPSJmaWxsOm5vbmU7IHN0cm9rZTpibHVlOyBzdHJva2Utd2lkdGg6MiIvPgor
ICAgICAgICAgICAgPHRleHQgaWQ9InN1cGVyc3ViIiBmb250LXNpemU9IjE1IiB3cml0aW5nLW1v
ZGU9InRiIiAKKyAgICAgICAgICAgICAgICAgIGdseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsPSJh
dXRvIj4KKyAgICAgICAgICAgICAgIDx0ZXh0UGF0aCB4bGluazpocmVmPSIjUGF0aDIiPjx0c3Bh
biBiYXNlbGluZS1zaGlmdD0ic3VwZXIiIGZpbGw9ImdyZWVuIj5zdXBlcjwvdHNwYW4+IGFuZCA8
dHNwYW4gYmFzZWxpbmUtc2hpZnQ9InN1YiIgZmlsbD0icmVkIj5zdWI8L3RzcGFuPnNjcmlwdHM8
L3RleHRQYXRoPgorICAgICAgICAgICAgPC90ZXh0PgorICAgICAgICAgICAgPHRleHQgZm9udC1z
aXplPSIxMCIgeD0iMjAiIHk9IjY1Ij5iYXNlbGluZS1zaGlmdD0ic3VwZXIiPC90ZXh0PgorICAg
ICAgICAgICAgPHRleHQgZm9udC1zaXplPSIxMCIgeD0iMjAiIHk9Ijc1Ij5hbmQgYmFzZWxpbmUt
c2hpZnQ9InN1YiI8L3RleHQ+CisgICAgICAgICAgICA8dGV4dCBmb250LXNpemU9IjEwIiB4PSIy
MCIgeT0iODUiPmdseXBoLW9yaWVudGF0aW9uPSJhdXRvIjwvdGV4dD4KKyAgICAgICAgPC9nPgor
CisKKyAgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMwMCwzNzApIj4KKyAgICAgICAg
ICAgIDx1c2UgeGxpbms6aHJlZj0iI1BhdGgyIiBzdHlsZT0iZmlsbDpub25lOyBzdHJva2U6Ymx1
ZTsgc3Ryb2tlLXdpZHRoOjIiLz4KKwkgICAgICA8dGV4dCBpZD0ibmVncG9zIiBmb250LXNpemU9
IjE1IiB3cml0aW5nLW1vZGU9InRiIiAKKyAgICAgICAgICAgICAgICAgICAgZ2x5cGgtb3JpZW50
YXRpb24tdmVydGljYWw9ImF1dG8iPgorICAgICAgICAgICAgICAgIDx0ZXh0UGF0aCB4bGluazpo
cmVmPSIjUGF0aDIiPjx0c3BhbiBiYXNlbGluZS1zaGlmdD0iKzIwJSIgZmlsbD0iZ3JlZW4iPnBv
c2l0aXZlPC90c3Bhbj4gYW5kIDx0c3BhbiBiYXNlbGluZS1zaGlmdD0iLTIwJSIgZmlsbD0icmVk
Ij5uZWdhdGl2ZSA8L3RzcGFuPjwvdGV4dFBhdGg+CisgICAgICAgICAgICA8L3RleHQ+CisJCTx0
ZXh0IGZvbnQtc2l6ZT0iMTAiIHg9IjIwIiB5PSI2NSI+YmFzZWxpbmUtc2hpZnQ9IisvLTIwJSI8
L3RleHQ+CisgICAgICAgICAgICA8dGV4dCBmb250LXNpemU9IjEwIiB4PSIyMCIgeT0iNzUiPmds
eXBoLW9yaWVudGF0aW9uPSJhdXRvIjwvdGV4dD4KKyAgICAgICAgIDwvZz4KKworICAgICAgICA8
ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxODAsMzcwKSI+CisgICAgICAgICAgICA8ZyB0cmFuc2Zv
cm09InNjYWxlKDAuNzUpIj4KKyAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI1BhdGgyIiBz
dHlsZT0iZmlsbDpub25lOyBzdHJva2U6Ymx1ZTsgc3Ryb2tlLXdpZHRoOjIiLz4KKyAgICAgICAg
ICAgIDx0ZXh0IGlkPSJiZWZvcmVhZnRlciIgZm9udC1zaXplPSIyMCIgeD0iMTAiIHk9Ii0yMCIg
CisgICAgICAgICAgICAgICAgICB3cml0aW5nLW1vZGU9InRiIiBnbHlwaC1vcmllbnRhdGlvbi12
ZXJ0aWNhbD0iYXV0byI+YmVmb3JlIHBhdGgKKyAgICAgICAgICAgICAgIDx0ZXh0UGF0aCB4bGlu
azpocmVmPSIjUGF0aDIiIGZpbGw9InJlZCIgc3RhcnRPZmZzZXQ9IjEwJSI+b24gcGF0aDwvdGV4
dFBhdGg+YWZ0ZXIgcGF0aAorICAgICAgICAgICAgPC90ZXh0PgorICAgICAgICAgICAgPC9nPgor
ICAgICAgICAgICAgPHRleHQgZm9udC1zaXplPSIxMCIgeD0iMCIgeT0iMTAwIj50ZXh0IGJlZm9y
ZS9hZnRlciB0ZXh0UGF0aDwvdGV4dD4KKyAgICAgICAgICAgIDx0ZXh0IGZvbnQtc2l6ZT0iMTAi
IHg9IjAiIHk9IjExMCI+Z2x5cGgtb3JpZW50YXRpb249ImF1dG8iPC90ZXh0PgorICAgICAgICA8
L2c+CisgICAgICAgCisgICAgPC9nPgorCisgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorICAgIDwhLS0gQmF0
aWsgc2FtcGxlIG1hcmsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAtLT4KKyAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0gLS0+CisgICAgPHVzZSB4bGluazpocmVmPSIuLi9yZXNvdXJj
ZXMvYmF0aWtMb2dvLnN2ZyNCYXRpa19UYWdfQm94IiAvPgorCis8L3N2Zz4KKwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogc3ZnL2JhdGlrL3RleHQvdmVydGljYWxUZXh0T25QYXRoLnN2ZwpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCk5hbWU6IHN2bjpleGVjdXRhYmxlCiAgICsgKgoKSW5kZXg6IHN2Zy9iYXRpay90ZXh0L3ht
bFNwYWNlLWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN2Zy9iYXRpay90ZXh0L3ht
bFNwYWNlLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQorKysgc3ZnL2JhdGlrL3RleHQv
eG1sU3BhY2UtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKKzg3
ZTE3ZTZmNzRjNzA3NDU4NTMwNGQ5NDFlYTY0NmM1ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpJbmRleDogc3ZnL2JhdGlrL3RleHQveG1sU3BhY2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIHN2Zy9iYXRpay90ZXh0L3htbFNwYWNlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysr
IHN2Zy9iYXRpay90ZXh0L3htbFNwYWNlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwyNjggQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0
ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlclNWR0NvbnRhaW5lciB7c3ZnfSBhdCAoMTAs
LTE0KSBzaXplIDIxNDc0ODM2NDguMDB4MjE0NzQ4MzY0OC4wMAorICAgICAgUmVuZGVyU1ZHVGV4
dCB7dGV4dH0gYXQgKDIyNSw0MCkgc2l6ZSA4MDB4MAorICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKC05NSwtMTQpIHNpemUgMTkweDE3CisgICAgICAgICAgdGV4dCBydW4g
YXQgKC05NSwtMTQpIHdpZHRoIDE5MDogIlRlc3Qgb2YgeG1sOnNwYWNlIGhhbmRsaW5nIgorICAg
ICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTAsLTE0KSBzaXplIDIxNDc0ODM2NDguMDB4
MjE0NzQ4MzY0OC4wMAorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAsMCkgc2l6
ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQp
IHNpemUgMjh4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xNCkgd2lkdGggMTY6ICJY
ICIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNiwtMTQpIHdpZHRoIDEyOiAiWCIKKyAgICAg
ICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEyMCw3NSkgc2l6ZSA4MDB4MAorICAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgMTA3eDE4CisgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTQpIHdpZHRoIDEwNzogIm5vIHhtbDpzcGFjZSBhdHRy
IgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAsMTAwKSBzaXplIDgwMHgwCisg
ICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSAyOHgx
OAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTE0KSB3aWR0aCAxNjogIlggIgorICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDE2LC0xNCkgd2lkdGggMTI6ICJYIgorICAgICAgICBSZW5kZXJT
VkdUZXh0IHt0ZXh0fSBhdCAoMTIwLDEwMCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgMTI5eDE4CisgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwtMTQpIHdpZHRoIDEyOTogInhtbDpzcGFjZT1cImRlZmF1bHRcIiIKKyAg
ICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEwLDE1MCkgc2l6ZSA4MDB4MAorICAgICAg
ICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgNDh4MTgKKyAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xNCkgd2lkdGggNDg6ICIgIFggIFggICIKKyAgICAg
ICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMXgxIFtjb2xvcj0jRkYw
MDAwXQorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTIwLDE0MCkgc2l6ZSA4MDB4
MAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUg
MTI1eDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTQpIHdpZHRoIDEyNTogIkVtcHR5
IHRzcGFuIGF0IGVuZCAiCisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCww
KSBzaXplIDEyOXgxOAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgwLDUpIHNpemUgMTI5eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDUpIHdpZHRo
IDEyOTogInhtbDpzcGFjZT1cImRlZmF1bHRcIiIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4
dH0gYXQgKDEwLDE3NSkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQg
eyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgNDB4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LC0xNCkgd2lkdGggNDA6ICIgIFggIFgiCisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFu
fSBhdCAoMCwwKSBzaXplIDB4MCBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICBSZW5kZXJTVkdU
ZXh0IHt0ZXh0fSBhdCAoMTIwLDE2NSkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR0lu
bGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgOTd4MTgKKyAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLC0xNCkgd2lkdGggOTc6ICJ0c3BhbiBlbmQgMnNwYyAiCisgICAgICAgICAgUmVu
ZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDEyOXgxOAorICAgICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgMTI5eDE4CisgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDUpIHdpZHRoIDEyOTogInhtbDpzcGFjZT1cImRlZmF1bHRcIiIK
KyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEwLDIwMCkgc2l6ZSA4MDB4MAorICAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgNDR4MTgK
KyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xNCkgd2lkdGggNDQ6ICIgIFggIFggIgorICAg
ICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAweDAgW2NvbG9yPSNG
RjAwMDBdCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAweDAKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEyMCwxOTApIHNpemUg
ODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBz
aXplIDY0eDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTQpIHdpZHRoIDY0OiAidHNw
YW4gZW5kICIKKyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUg
MTI5eDE4CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsNSkg
c2l6ZSAxMjl4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNSkgd2lkdGggMTI5OiAi
eG1sOnNwYWNlPVwiZGVmYXVsdFwiIgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAo
MTAsMjI1KSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAo
MCwwKSBzaXplIDB4MCBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgICAgIFJlbmRlclNWR0lubGlu
ZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJlbmRlclNWR0lubGlu
ZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgNDR4MTgKKyAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLC0xNCkgd2lkdGggNDQ6ICIgWCAgWCAgIgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0
ZXh0fSBhdCAoMTIwLDIxNSkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgNjd4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLC0xNCkgd2lkdGggNjc6ICJ0c3BhbiBzdGFydCAiCisgICAgICAgICAgUmVuZGVyU1ZHVFNw
YW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDEyOXgxOAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgMTI5eDE4CisgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDUpIHdpZHRoIDEyOTogInhtbDpzcGFjZT1cImRlZmF1bHRcIiIKKyAgICAgICAg
UmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEwLDI1MCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJl
bmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgNHgxOAorICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsLTE0KSB3aWR0aCA0OiAiICIKKyAgICAgICAgICBSZW5kZXJTVkdU
U3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgNHgxOCBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAg
ICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoNCwtMTQpIHNpemUgNHgxOAorICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNCwtMTQpIHdpZHRoIDQ6ICIgIgorICAgICAgICAgIFJl
bmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoOCwtMTQpIHNpemUgNDB4MTgKKyAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICg4LC0xNCkgd2lkdGggNDA6ICJYICBYICAiCisgICAgICAgIFJlbmRl
clNWR1RleHQge3RleHR9IGF0ICgxMjAsMjQwKSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVy
U1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSA5OHgxOAorICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsLTE0KSB3aWR0aCA5ODogInRzcGFuIG5lYXIgc3RhcnQgIgorICAgICAg
ICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAxMjl4MTgKKyAgICAgICAg
ICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCw1KSBzaXplIDEyOXgxOAorICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1KSB3aWR0aCAxMjk6ICJ4bWw6c3BhY2U9XCJkZWZh
dWx0XCIiCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMCwyNzUpIHNpemUgODAw
eDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBzaXpl
IDIweDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTQpIHdpZHRoIDIwOiAiICBYIgor
ICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSA0eDE4IFtjb2xv
cj0jRkYwMDAwXQorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgy
MCwtMTQpIHNpemUgNHgxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjAsLTE0KSB3aWR0
aCA0OiAiICIKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDI0LC0x
NCkgc2l6ZSAyNHgxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI0LC0xNCkgd2lkdGggMjQ6
ICIgWCAgIgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTIwLDI2NSkgc2l6ZSA4
MDB4MAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNp
emUgMTE4eDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTQpIHdpZHRoIDExODogInRz
cGFuIG1pZGRsZSBmcm9udCAiCisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAo
MCwwKSBzaXplIDEyOXgxOAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgwLDUpIHNpemUgMTI5eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDUpIHdp
ZHRoIDEyOTogInhtbDpzcGFjZT1cImRlZmF1bHRcIiIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7
dGV4dH0gYXQgKDEwLDMwMCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgMjR4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLC0xNCkgd2lkdGggMjQ6ICIgIFggIgorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bh
bn0gYXQgKDAsMCkgc2l6ZSA0eDE4IFtjb2xvcj0jRkYwMDAwXQorICAgICAgICAgICAgUmVuZGVy
U1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgyNCwtMTQpIHNpemUgNHgxOAorICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMjQsLTE0KSB3aWR0aCA0OiAiICIKKyAgICAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKDI4LC0xNCkgc2l6ZSAyMHgxOAorICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDI4LC0xNCkgd2lkdGggMjA6ICJYICAiCisgICAgICAgIFJlbmRlclNWR1RleHQg
e3RleHR9IGF0ICgxMjAsMjkwKSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5l
VGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSAxMTF4MTgKKyAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLC0xNCkgd2lkdGggMTExOiAidHNwYW4gbWlkZGxlIGVuZCAiCisgICAgICAgICAgUmVu
ZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDEyOXgxOAorICAgICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgMTI5eDE4CisgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDUpIHdpZHRoIDEyOTogInhtbDpzcGFjZT1cImRlZmF1bHRcIiIK
KyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEwLDMyNSkgc2l6ZSA4MDB4MAorICAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgNHgxOAor
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTE0KSB3aWR0aCA0OiAiICIKKyAgICAgICAgICBS
ZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDQsLTE0KSBzaXplIDQ0eDE4CisgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoNCwtMTQpIHdpZHRoIDQ0OiAiIFggIFggICIKKyAgICAgICAgUmVu
ZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEyMCwzMTUpIHNpemUgODAweDAKKyAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBzaXplIDExN3gxOAorICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsLTE0KSB3aWR0aCAxMTc6ICJ1bmtub3duIGVsZW1lbnQgIgorICAg
ICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAyNngxOAorICAgICAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgMjZ4MTgKKyAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNSkgd2lkdGggMjY6ICJzdGFydCIKKyAgICAgICAg
UmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEwLDM1MCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJl
bmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgMjR4MTgKKyAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLC0xNCkgd2lkdGggMjQ6ICIgIFggIgorICAgICAgICAgIFJlbmRl
clNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMjQsLTE0KSBzaXplIDI0eDE4CisgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMjQsLTE0KSB3aWR0aCAyNDogIiBYICAiCisgICAgICAgIFJlbmRlclNW
R1RleHQge3RleHR9IGF0ICgxMjAsMzQwKSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZH
SW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSAxMTd4MTgKKyAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLC0xNCkgd2lkdGggMTE3OiAidW5rbm93biBlbGVtZW50ICIKKyAgICAgICAg
ICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgNDN4MTgKKyAgICAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCw1KSBzaXplIDQzeDE4CisgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDUpIHdpZHRoIDQzOiAibWlkZGxlIgorICAgICAgICBSZW5k
ZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAsMzc1KSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVy
U1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSA0NHgxOAorICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsLTE0KSB3aWR0aCA0NDogIiAgWCAgWCAiCisgICAgICAgICAgUmVuZGVy
U1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg0NCwtMTQpIHNpemUgNHgxOAorICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDQ0LC0xNCkgd2lkdGggNDogIiAiCisgICAgICAgIFJlbmRlclNWR1RleHQg
e3RleHR9IGF0ICgxMjAsMzY1KSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5l
VGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSAxMTd4MTgKKyAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLC0xNCkgd2lkdGggMTE3OiAidW5rbm93biBlbGVtZW50ICIKKyAgICAgICAgICBSZW5k
ZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMjN4MTgKKyAgICAgICAgICAgIFJlbmRl
clNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCw1KSBzaXplIDIzeDE4CisgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDUpIHdpZHRoIDIzOiAiZW5kIgorICAgICAgICBSZW5kZXJTVkdUZXh0
IHt0ZXh0fSBhdCAoMjM1LDEwMCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR0lubGlu
ZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgNDh4MTgKKyAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLC0xNCkgd2lkdGggNDg6ICIgIFggIFggICIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7
dGV4dH0gYXQgKDM0NSwxMDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBzaXplIDEzOXgxOAorICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsLTE0KSB3aWR0aCAxMzk6ICJ4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiIgorICAgICAgICBS
ZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjM1LDE1MCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJl
bmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgMjh4MTgKKyAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLC0xNCkgd2lkdGggMTY6ICJYICIKKyAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgxNiwtMTQpIHdpZHRoIDEyOiAiWCIKKyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7
dHNwYW59IGF0ICgwLDApIHNpemUgMHgwIFtjb2xvcj0jRkYwMDAwXQorICAgICAgICBSZW5kZXJT
VkdUZXh0IHt0ZXh0fSBhdCAoMzQ1LDE0MCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgMTI1eDE4CisgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwtMTQpIHdpZHRoIDEyNTogIkVtcHR5IHRzcGFuIGF0IGVuZCAiCisgICAg
ICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDEzOXgxOAorICAgICAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgMTM5eDE4Cisg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDUpIHdpZHRoIDEzOTogInhtbDpzcGFjZT1cInBy
ZXNlcnZlXCIiCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyMzUsMTc1KSBzaXpl
IDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkg
c2l6ZSAyOHgxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTE0KSB3aWR0aCAxNjogIlgg
IgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE2LC0xNCkgd2lkdGggMTI6ICJYIgorICAgICAg
ICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSA4eDE4IFtjb2xvcj0jRkYw
MDAwXQorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgyOCwtMTQp
IHNpemUgOHgxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjgsLTE0KSB3aWR0aCA4OiAi
ICAiCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzNDUsMTY1KSBzaXplIDgwMHgw
CisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSA5
N3gxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTE0KSB3aWR0aCA5NzogInRzcGFuIGVu
ZCAyc3BjICIKKyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUg
MTM5eDE4CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsNSkg
c2l6ZSAxMzl4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNSkgd2lkdGggMTM5OiAi
eG1sOnNwYWNlPVwicHJlc2VydmVcIiIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQg
KDIzNSwyMDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4
dH0gYXQgKDAsLTE0KSBzaXplIDMyeDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTQp
IHdpZHRoIDE2OiAiWCAiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsLTE0KSB3aWR0aCAx
NjogIlggIgorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSA0
eDE4IFtjb2xvcj0jRkYwMDAwXQorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3Rl
eHR9IGF0ICgzMiwtMTQpIHNpemUgNHgxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzIs
LTE0KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDM0NSwx
OTApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KDAsLTE0KSBzaXplIDY0eDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTQpIHdpZHRo
IDY0OiAidHNwYW4gZW5kICIKKyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgw
LDApIHNpemUgMTM5eDE4CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0g
YXQgKDAsNSkgc2l6ZSAxMzl4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNSkgd2lk
dGggMTM5OiAieG1sOnNwYWNlPVwicHJlc2VydmVcIiIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7
dGV4dH0gYXQgKDIzNSwyMjUpIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7
dHNwYW59IGF0ICgwLDApIHNpemUgNHgxOCBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgICAgIFJl
bmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgNHgxOAorICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwtMTQpIHdpZHRoIDQ6ICIgIgorICAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoNCwtMTQpIHNpemUgMzJ4MTgKKyAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICg0LC0xNCkgd2lkdGggMjA6ICIgWCAiCisgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMjQsLTE0KSB3aWR0aCAxMjogIlgiCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0
ICgzNDUsMjE1KSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3Rl
eHR9IGF0ICgwLC0xNCkgc2l6ZSA2N3gxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTE0
KSB3aWR0aCA2NzogInRzcGFuIHN0YXJ0ICIKKyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNw
YW59IGF0ICgwLDApIHNpemUgMTM5eDE4CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0
IHsjdGV4dH0gYXQgKDAsNSkgc2l6ZSAxMzl4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsNSkgd2lkdGggMTM5OiAieG1sOnNwYWNlPVwicHJlc2VydmVcIiIKKyAgICAgICAgUmVuZGVy
U1ZHVGV4dCB7dGV4dH0gYXQgKDIzNSwyNTApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJT
VkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgNHgxOCBbY29sb3I9I0ZGMDAwMF0KKyAgICAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgNHgxOAor
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTQpIHdpZHRoIDQ6ICIgIgorICAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoNCwtMTQpIHNpemUgMjh4MTgKKyAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICg0LC0xNCkgd2lkdGggMTY6ICJYICIKKyAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgyMCwtMTQpIHdpZHRoIDEyOiAiWCIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7
dGV4dH0gYXQgKDM0NSwyNDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBzaXplIDk4eDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwtMTQpIHdpZHRoIDk4OiAidHNwYW4gbmVhciBzdGFydCAiCisgICAgICAgICAgUmVuZGVy
U1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDEzOXgxOAorICAgICAgICAgICAgUmVuZGVy
U1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgMTM5eDE4CisgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDUpIHdpZHRoIDEzOTogInhtbDpzcGFjZT1cInByZXNlcnZlXCIiCisg
ICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyMzUsMjc1KSBzaXplIDgwMHgwCisgICAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSAxMngxOAor
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTE0KSB3aWR0aCAxMjogIlgiCisgICAgICAgICAg
UmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDR4MTggW2NvbG9yPSNGRjAwMDBd
CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDEyLC0xNCkgc2l6
ZSA0eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMiwtMTQpIHdpZHRoIDQ6ICIgIgor
ICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMTYsLTE0KSBzaXplIDE2
eDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsLTE0KSB3aWR0aCAxNjogIiBYIgorICAg
ICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMzQ1LDI2NSkgc2l6ZSA4MDB4MAorICAgICAg
ICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgMTE4eDE4Cisg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTQpIHdpZHRoIDExODogInRzcGFuIG1pZGRsZSBm
cm9udCAiCisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDEz
OXgxOAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNp
emUgMTM5eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDUpIHdpZHRoIDEzOTogInht
bDpzcGFjZT1cInByZXNlcnZlXCIiCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgy
MzUsMzAwKSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgwLC0xNCkgc2l6ZSAxNngxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTE0KSB3
aWR0aCAxNjogIlggIgorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkg
c2l6ZSA0eDE4IFtjb2xvcj0jRkYwMDAwXQorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4
dCB7I3RleHR9IGF0ICgxNiwtMTQpIHNpemUgNHgxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMTYsLTE0KSB3aWR0aCA0OiAiICIKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsj
dGV4dH0gYXQgKDIwLC0xNCkgc2l6ZSAxMngxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDIw
LC0xNCkgd2lkdGggMTI6ICJYIgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMzQ1
LDI5MCkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoMCwtMTQpIHNpemUgMTExeDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTQpIHdp
ZHRoIDExMTogInRzcGFuIG1pZGRsZSBlbmQgIgorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0
c3Bhbn0gYXQgKDAsMCkgc2l6ZSAxMzl4MTgKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoMCw1KSBzaXplIDEzOXgxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCw1KSB3aWR0aCAxMzk6ICJ4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiIgorICAgICAgICBSZW5k
ZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjM1LDMyNSkgc2l6ZSA4MDB4MAorICAgICAgICAgIFJlbmRl
clNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgMjh4MTgKKyAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLC0xNCkgd2lkdGggMTY6ICJYICIKKyAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgxNiwtMTQpIHdpZHRoIDEyOiAiWCIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0g
YXQgKDM0NSwzMTUpIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsj
dGV4dH0gYXQgKDAsLTE0KSBzaXplIDExN3gxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
LTE0KSB3aWR0aCAxMTc6ICJ1bmtub3duIGVsZW1lbnQgIgorICAgICAgICAgIFJlbmRlclNWR1RT
cGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAyNngxOAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgMjZ4MTgKKyAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsNSkgd2lkdGggMjY6ICJzdGFydCIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4
dH0gYXQgKDIzNSwzNTApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0
IHsjdGV4dH0gYXQgKDAsLTE0KSBzaXplIDE2eDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwtMTQpIHdpZHRoIDE2OiAiWCAiCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3Rl
eHR9IGF0ICgxNiwtMTQpIHNpemUgMTJ4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNiwt
MTQpIHdpZHRoIDEyOiAiWCIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDM0NSwz
NDApIHNpemUgODAweDAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KDAsLTE0KSBzaXplIDExN3gxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTE0KSB3aWR0
aCAxMTc6ICJ1bmtub3duIGVsZW1lbnQgIgorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bh
bn0gYXQgKDAsMCkgc2l6ZSA0M3gxOAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7
I3RleHR9IGF0ICgwLDUpIHNpemUgNDN4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
NSkgd2lkdGggNDM6ICJtaWRkbGUiCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgy
MzYsMzc1KSBzaXplIDgwMHgwCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgwLC0xNCkgc2l6ZSAyOHgxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTE0KSB3
aWR0aCAxNjogIlggIgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE2LC0xNCkgd2lkdGggMTI6
ICJYIgorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDB4MAorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMzQ1LDM2NSkgc2l6ZSA4MDB4
MAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUg
MTE3eDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTQpIHdpZHRoIDExNzogInVua25v
d24gZWxlbWVudCAiCisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBz
aXplIDIzeDE4CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAs
NSkgc2l6ZSAyM3gxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1KSB3aWR0aCAyMzog
ImVuZCIKSW5kZXg6IHN2Zy9iYXRpay90ZXh0L3htbFNwYWNlLnN2Zwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBz
dmcvYmF0aWsvdGV4dC94bWxTcGFjZS5zdmcJKHJldmlzaW9uIDApCisrKyBzdmcvYmF0aWsvdGV4
dC94bWxTcGFjZS5zdmcJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTUyIEBACis8P3htbCB2ZXJz
aW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ibm8iPz4KKzwhRE9DVFlQRSBz
dmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMjAwMTA5MDQvL0VOIiAKKyJodHRwOi8vd3d3Lncz
Lm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI+CisKKzwhLS0KKwor
ICAgQ29weXJpZ2h0IDIwMDQgIFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAKKworICAg
TGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNl
bnNlIik7CisgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNl
IHdpdGggdGhlIExpY2Vuc2UuCisgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vu
c2UgYXQKKworICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIu
MAorCisgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGlu
IHdyaXRpbmcsIHNvZnR3YXJlCisgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBk
aXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICAgV0lUSE9VVCBXQVJSQU5USUVTIE9S
IENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgICBT
ZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlz
c2lvbnMgYW5kCisgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworLS0+Cis8IS0t
ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0gLS0+Cis8IS0tIFRlc3RzICJwcm9wZXIiIGhhbmRsaW5nIG9mIHhtbDpz
cGFjZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+Cis8IS0tICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLS0+Cis8IS0tIEBhdXRob3IgZGV3ZWVzZUBhcGFjaGUub3JnICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+Cis8IS0tIEB2ZXJzaW9uICRJZDogeG1s
U3BhY2Uuc3ZnLHYgMS4xIDIwMDUvMDEvMDMgMTA6NDg6MDUgZGV3ZWVzZSBFeHAgJCAgICAtLT4K
KzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PSAtLT4KKworPD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L2Nz
cyIgaHJlZj0iLi4vcmVzb3VyY2VzL3Rlc3QuY3NzIiA/PgorCis8c3ZnIHdpZHRoPSI0NTAiIGhl
aWdodD0iNTAwIiB2aWV3Qm94PSIwIDAgNDUwIDUwMCIKKyAgICAgeG1sbnM9Imh0dHA6Ly93d3cu
dzMub3JnLzIwMDAvc3ZnIiAKKyAgICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5
OTkveGxpbmsiIAorICAgICB4bWxuczpmb289Imh0dHA6Ly9ncmFwaGljcy5hcGFjaGUub3JnL2Jh
dGlrL2ZvbyI+CisKKyAgICA8dGV4dCBjbGFzcz0idGl0bGUiIHg9IjUwJSIgeT0iNDAiPlRlc3Qg
b2YgeG1sOnNwYWNlIGhhbmRsaW5nPC90ZXh0PgorCisgICAgICA8Zm9udCBob3Jpei1hZHYteD0i
NjAwIiBpZD0ic3Ryb2tlIj4KKyAgICAgICAgIDxmb250LWZhY2UKKyAgICAgICAgICAgICBmb250
LWZhbWlseT0iQmxvY2tTcGFjZSIKKyAgICAgICAgICAgICBmb250LXdlaWdodD0ibm9ybWFsIgor
ICAgICAgICAgICAgIHVuaXRzLXBlci1lbT0iMTAwMCIKKyAgICAgICAgICAgICBhc2NlbnQ9IjEw
MDAiCisgICAgICAgICAgICAgZGVzY2VudD0iMjUwIgorICAgICAgICAgICAgIGFscGhhYmV0aWM9
IjAiLz4KKworICAgICAgICAgPG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjYwMCIgZD0iTTAg
MCBWODAwIEg1MDAgVjAgeiIvPgorCisgICAgICAgICA8Z2x5cGggdW5pY29kZT0iICIgZ2x5cGgt
bmFtZT0iICIgaG9yaXotYWR2LXg9IjYwMCIgCisgICAgICAgICAgICAgICAgZD0iTTIwIDAgVjgw
MCBINTIwIFYwIHogTSA1MCAzMCBINDkwIFY3NzAgSDUwIHoiLz4KKyAgICAgIDwvZm9udD4KKyAg
ICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PCFbQ0RBVEFbCisgICAgICAgIC5jYXAgeyBmb250
OiBub3JtYWwgbm9ybWFsIDggbW9ub3NwYWNlZDsKKyAgICAgICAgICAgICAgIHN0cm9rZTogbm9u
ZTsgc3Ryb2tlLXdpZHRoOiAwOyAKKyAgICAgICAgICAgICAgICAgICBmaWxsOiBibGFjayB9IF1d
PgorICAgICAgPC9zdHlsZT4KKworICAgICAgPGcgZm9udD0iMjAgQmxvY2tTcGFjZSI+CisgICAg
ICAgICA8dGV4dCB4PSIxMCIgeT0iIDc1Ij4gIFggIFggIDwvdGV4dD4KKyAgICAgICAgICAgIDx0
ZXh0IGNsYXNzPSJjYXAiIHg9IjEyMCIgeT0iNzUiPm5vIHhtbDpzcGFjZSBhdHRyPC90ZXh0Pgor
CisgICAgICAgICA8dGV4dCB4PSIxMCIgeT0iMTAwIiB4bWw6c3BhY2U9ImRlZmF1bHQiPiAgWCAg
WCAgPC90ZXh0PgorICAgICAgICAgICAgPHRleHQgY2xhc3M9ImNhcCIgeD0iMTIwIiB5PSIxMDAi
PnhtbDpzcGFjZT0iZGVmYXVsdCI8L3RleHQ+CisKKyAgICAgICAgIDx0ZXh0IHg9IjEwIiB5PSIx
NTAiIHhtbDpzcGFjZT0icHJlc2VydmUiPiAgWCAgWCAgPHRzcGFuIGZpbGw9InJlZCIgeG1sOnNw
YWNlPSJkZWZhdWx0Ii8+PC90ZXh0PgorICAgICAgICAgICAgPHRleHQgY2xhc3M9ImNhcCIgeD0i
MTIwIiB5PSIxNDAiPkVtcHR5IHRzcGFuIGF0IGVuZAorICAgICAgICAgICAgICAgICAgPHRzcGFu
IHg9IjEyMCIgZHk9IjEuMmVtIj54bWw6c3BhY2U9ImRlZmF1bHQiPC90c3Bhbj48L3RleHQ+CisK
KyAgICAgICAgIDx0ZXh0IHg9IjEwIiB5PSIxNzUiIHhtbDpzcGFjZT0icHJlc2VydmUiPiAgWCAg
WDx0c3BhbiBmaWxsPSJyZWQiIHhtbDpzcGFjZT0iZGVmYXVsdCI+ICA8L3RzcGFuPjwvdGV4dD4K
KyAgICAgICAgICAgIDx0ZXh0IGNsYXNzPSJjYXAiIHg9IjEyMCIgeT0iMTY1Ij50c3BhbiBlbmQg
MnNwYworICAgICAgICAgICAgICAgICAgPHRzcGFuIHg9IjEyMCIgZHk9IjEuMmVtIj54bWw6c3Bh
Y2U9ImRlZmF1bHQiPC90c3Bhbj48L3RleHQ+CisKKyAgICAgICAgIDx0ZXh0IHg9IjEwIiB5PSIy
MDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPiAgWCAgWCA8dHNwYW4gZmlsbD0icmVkIiB4bWw6c3Bh
Y2U9ImRlZmF1bHQiPiA8L3RzcGFuPjwvdGV4dD4KKyAgICAgICAgICAgIDx0ZXh0IGNsYXNzPSJj
YXAiIHg9IjEyMCIgeT0iMTkwIj50c3BhbiBlbmQKKyAgICAgICAgICAgICAgICAgIDx0c3BhbiB4
PSIxMjAiIGR5PSIxLjJlbSI+eG1sOnNwYWNlPSJkZWZhdWx0IjwvdHNwYW4+PC90ZXh0PgorCisg
ICAgICAgICA8dGV4dCB4PSIxMCIgeT0iMjI1IiB4bWw6c3BhY2U9InByZXNlcnZlIj48dHNwYW4g
ZmlsbD0icmVkIiB4bWw6c3BhY2U9ImRlZmF1bHQiPiA8L3RzcGFuPiBYICBYICA8L3RleHQ+Cisg
ICAgICAgICAgICA8dGV4dCBjbGFzcz0iY2FwIiB4PSIxMjAiIHk9IjIxNSI+dHNwYW4gc3RhcnQK
KyAgICAgICAgICAgICAgICAgIDx0c3BhbiB4PSIxMjAiIGR5PSIxLjJlbSI+eG1sOnNwYWNlPSJk
ZWZhdWx0IjwvdHNwYW4+PC90ZXh0PgorCisgICAgICAgICA8dGV4dCB4PSIxMCIgeT0iMjUwIiB4
bWw6c3BhY2U9InByZXNlcnZlIj4gPHRzcGFuIGZpbGw9InJlZCIgeG1sOnNwYWNlPSJkZWZhdWx0
Ij4gPC90c3Bhbj5YICBYICA8L3RleHQ+CisgICAgICAgICAgICA8dGV4dCBjbGFzcz0iY2FwIiB4
PSIxMjAiIHk9IjI0MCI+dHNwYW4gbmVhciBzdGFydAorICAgICAgICAgICAgICAgICAgPHRzcGFu
IHg9IjEyMCIgZHk9IjEuMmVtIj54bWw6c3BhY2U9ImRlZmF1bHQiPC90c3Bhbj48L3RleHQ+CisK
KyAgICAgICAgIDx0ZXh0IHg9IjEwIiB5PSIyNzUiIHhtbDpzcGFjZT0icHJlc2VydmUiPiAgWDx0
c3BhbiBmaWxsPSJyZWQiIHhtbDpzcGFjZT0iZGVmYXVsdCI+IDwvdHNwYW4+IFggIDwvdGV4dD4K
KyAgICAgICAgICAgIDx0ZXh0IGNsYXNzPSJjYXAiIHg9IjEyMCIgeT0iMjY1Ij50c3BhbiBtaWRk
bGUgZnJvbnQgCisgICAgICAgICAgICAgICAgICA8dHNwYW4geD0iMTIwIiBkeT0iMS4yZW0iPnht
bDpzcGFjZT0iZGVmYXVsdCI8L3RzcGFuPjwvdGV4dD4KKworICAgICAgICAgPHRleHQgeD0iMTAi
IHk9IjMwMCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+ICBYIDx0c3BhbiBmaWxsPSJyZWQiIHhtbDpz
cGFjZT0iZGVmYXVsdCI+IDwvdHNwYW4+WCAgPC90ZXh0PgorICAgICAgICAgICAgPHRleHQgY2xh
c3M9ImNhcCIgeD0iMTIwIiB5PSIyOTAiPnRzcGFuIG1pZGRsZSBlbmQKKyAgICAgICAgICAgICAg
ICAgIDx0c3BhbiB4PSIxMjAiIGR5PSIxLjJlbSI+eG1sOnNwYWNlPSJkZWZhdWx0IjwvdHNwYW4+
PC90ZXh0PgorCisgICAgICAgICA8dGV4dCB4PSIxMCIgeT0iMzI1IiB4bWw6c3BhY2U9InByZXNl
cnZlIj4gPGZvbzp4eHgvPiBYICBYICA8L3RleHQ+CisgICAgICAgICAgICA8dGV4dCBjbGFzcz0i
Y2FwIiB4PSIxMjAiIHk9IjMxNSI+dW5rbm93biBlbGVtZW50IAorICAgICAgICAgICAgICAgICAg
PHRzcGFuIHg9IjEyMCIgZHk9IjEuMmVtIj5zdGFydDwvdHNwYW4+PC90ZXh0PgorCisgICAgICAg
ICA8dGV4dCB4PSIxMCIgeT0iMzUwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4gIFggPGZvbzp4eHgv
PiBYICA8L3RleHQ+CisgICAgICAgICAgICA8dGV4dCBjbGFzcz0iY2FwIiB4PSIxMjAiIHk9IjM0
MCI+dW5rbm93biBlbGVtZW50IAorICAgICAgICAgICAgICAgICAgPHRzcGFuIHg9IjEyMCIgZHk9
IjEuMmVtIj5taWRkbGU8L3RzcGFuPjwvdGV4dD4KKworICAgICAgICAgPHRleHQgeD0iMTAiIHk9
IjM3NSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+ICBYICBYIDxmb286eHh4Lz4gPC90ZXh0PgorICAg
ICAgICAgICAgPHRleHQgY2xhc3M9ImNhcCIgeD0iMTIwIiB5PSIzNjUiPnVua25vd24gZWxlbWVu
dCAKKyAgICAgICAgICAgICAgICAgIDx0c3BhbiB4PSIxMjAiIGR5PSIxLjJlbSI+ZW5kPC90c3Bh
bj48L3RleHQ+CisKKyAgICAgICAgIDwhLS0gICAgICAtLT4KKworCisgICAgICAgICA8dGV4dCB4
PSIyMzUiIHk9IjEwMCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+ICBYICBYICA8L3RleHQ+CisgICAg
ICAgICAgICA8dGV4dCBjbGFzcz0iY2FwIiB4PSIzNDUiIHk9IjEwMCI+eG1sOnNwYWNlPSJwcmVz
ZXJ2ZSI8L3RleHQ+CisKKyAgICAgICAgIDx0ZXh0IHg9IjIzNSIgeT0iMTUwIiB4bWw6c3BhY2U9
ImRlZmF1bHQiPiAgWCAgWCAgPHRzcGFuIGZpbGw9InJlZCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIv
PjwvdGV4dD4KKyAgICAgICAgICAgIDx0ZXh0IGNsYXNzPSJjYXAiIHg9IjM0NSIgeT0iMTQwIj5F
bXB0eSB0c3BhbiBhdCBlbmQKKyAgICAgICAgICAgICAgICAgIDx0c3BhbiB4PSIzNDUiIGR5PSIx
LjJlbSI+eG1sOnNwYWNlPSJwcmVzZXJ2ZSI8L3RzcGFuPjwvdGV4dD4KKworICAgICAgICAgPHRl
eHQgeD0iMjM1IiB5PSIxNzUiIHhtbDpzcGFjZT0iZGVmYXVsdCI+ICBYICBYPHRzcGFuIGZpbGw9
InJlZCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+ICA8L3RzcGFuPjwvdGV4dD4KKyAgICAgICAgICAg
IDx0ZXh0IGNsYXNzPSJjYXAiIHg9IjM0NSIgeT0iMTY1Ij50c3BhbiBlbmQgMnNwYworICAgICAg
ICAgICAgICAgICAgPHRzcGFuIHg9IjM0NSIgZHk9IjEuMmVtIj54bWw6c3BhY2U9InByZXNlcnZl
IjwvdHNwYW4+PC90ZXh0PgorCisgICAgICAgICA8dGV4dCB4PSIyMzUiIHk9IjIwMCIgeG1sOnNw
YWNlPSJkZWZhdWx0Ij4gIFggIFggPHRzcGFuIGZpbGw9InJlZCIgeG1sOnNwYWNlPSJwcmVzZXJ2
ZSI+IDwvdHNwYW4+PC90ZXh0PgorICAgICAgICAgICAgPHRleHQgY2xhc3M9ImNhcCIgeD0iMzQ1
IiB5PSIxOTAiPnRzcGFuIGVuZAorICAgICAgICAgICAgICAgICAgPHRzcGFuIHg9IjM0NSIgZHk9
IjEuMmVtIj54bWw6c3BhY2U9InByZXNlcnZlIjwvdHNwYW4+PC90ZXh0PgorCisgICAgICAgICA8
dGV4dCB4PSIyMzUiIHk9IjIyNSIgeG1sOnNwYWNlPSJkZWZhdWx0Ij48dHNwYW4gZmlsbD0icmVk
IiB4bWw6c3BhY2U9InByZXNlcnZlIj4gPC90c3Bhbj4gWCAgWCAgPC90ZXh0PgorICAgICAgICAg
ICAgPHRleHQgY2xhc3M9ImNhcCIgeD0iMzQ1IiB5PSIyMTUiPnRzcGFuIHN0YXJ0CisgICAgICAg
ICAgICAgICAgICA8dHNwYW4geD0iMzQ1IiBkeT0iMS4yZW0iPnhtbDpzcGFjZT0icHJlc2VydmUi
PC90c3Bhbj48L3RleHQ+CisKKyAgICAgICAgIDx0ZXh0IHg9IjIzNSIgeT0iMjUwIiB4bWw6c3Bh
Y2U9ImRlZmF1bHQiPiA8dHNwYW4gZmlsbD0icmVkIiB4bWw6c3BhY2U9InByZXNlcnZlIj4gPC90
c3Bhbj5YICBYICA8L3RleHQ+CisgICAgICAgICAgICA8dGV4dCBjbGFzcz0iY2FwIiB4PSIzNDUi
IHk9IjI0MCI+dHNwYW4gbmVhciBzdGFydAorICAgICAgICAgICAgICAgICAgPHRzcGFuIHg9IjM0
NSIgZHk9IjEuMmVtIj54bWw6c3BhY2U9InByZXNlcnZlIjwvdHNwYW4+PC90ZXh0PgorCisgICAg
ICAgICA8dGV4dCB4PSIyMzUiIHk9IjI3NSIgeG1sOnNwYWNlPSJkZWZhdWx0Ij4gIFg8dHNwYW4g
ZmlsbD0icmVkIiB4bWw6c3BhY2U9InByZXNlcnZlIj4gPC90c3Bhbj4gWCAgPC90ZXh0PgorICAg
ICAgICAgICAgPHRleHQgY2xhc3M9ImNhcCIgeD0iMzQ1IiB5PSIyNjUiPnRzcGFuIG1pZGRsZSBm
cm9udCAKKyAgICAgICAgICAgICAgICAgIDx0c3BhbiB4PSIzNDUiIGR5PSIxLjJlbSI+eG1sOnNw
YWNlPSJwcmVzZXJ2ZSI8L3RzcGFuPjwvdGV4dD4KKworICAgICAgICAgPHRleHQgeD0iMjM1IiB5
PSIzMDAiIHhtbDpzcGFjZT0iZGVmYXVsdCI+ICBYIDx0c3BhbiBmaWxsPSJyZWQiIHhtbDpzcGFj
ZT0icHJlc2VydmUiPiA8L3RzcGFuPlggIDwvdGV4dD4KKyAgICAgICAgICAgIDx0ZXh0IGNsYXNz
PSJjYXAiIHg9IjM0NSIgeT0iMjkwIj50c3BhbiBtaWRkbGUgZW5kCisgICAgICAgICAgICAgICAg
ICA8dHNwYW4geD0iMzQ1IiBkeT0iMS4yZW0iPnhtbDpzcGFjZT0icHJlc2VydmUiPC90c3Bhbj48
L3RleHQ+CisKKyAgICAgICAgIDx0ZXh0IHg9IjIzNSIgeT0iMzI1IiB4bWw6c3BhY2U9ImRlZmF1
bHQiPiA8Zm9vOnh4eC8+IFggIFggIDwvdGV4dD4KKyAgICAgICAgICAgIDx0ZXh0IGNsYXNzPSJj
YXAiIHg9IjM0NSIgeT0iMzE1Ij51bmtub3duIGVsZW1lbnQgCisgICAgICAgICAgICAgICAgICA8
dHNwYW4geD0iMzQ1IiBkeT0iMS4yZW0iPnN0YXJ0PC90c3Bhbj48L3RleHQ+CisKKyAgICAgICAg
IDx0ZXh0IHg9IjIzNSIgeT0iMzUwIiB4bWw6c3BhY2U9ImRlZmF1bHQiPiAgWCA8Zm9vOnh4eC8+
IFggIDwvdGV4dD4KKyAgICAgICAgICAgIDx0ZXh0IGNsYXNzPSJjYXAiIHg9IjM0NSIgeT0iMzQw
Ij51bmtub3duIGVsZW1lbnQgCisgICAgICAgICAgICAgICAgICA8dHNwYW4geD0iMzQ1IiBkeT0i
MS4yZW0iPm1pZGRsZTwvdHNwYW4+PC90ZXh0PgorCisgICAgICAgICA8dGV4dCB4PSIyMzYiIHk9
IjM3NSIgeG1sOnNwYWNlPSJkZWZhdWx0Ij4gIFggIFggPGZvbzp4eHgvPiA8L3RleHQ+CisgICAg
ICAgICAgICA8dGV4dCBjbGFzcz0iY2FwIiB4PSIzNDUiIHk9IjM2NSI+dW5rbm93biBlbGVtZW50
IAorICAgICAgICAgICAgICAgICAgPHRzcGFuIHg9IjM0NSIgZHk9IjEuMmVtIj5lbmQ8L3RzcGFu
PjwvdGV4dD4KKworICAgICAgPC9nPgorPC9zdmc+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBzdmcv
YmF0aWsvdGV4dC94bWxTcGFjZS5zdmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46ZXhlY3V0YWJsZQog
ICArICoKCkluZGV4OiBzdmcvY3VzdG9tL3RleHQtbGV0dGVyLXNwYWNpbmctZXhwZWN0ZWQuY2hl
Y2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gc3ZnL2N1c3RvbS90ZXh0LWxldHRlci1zcGFjaW5nLWV4cGVj
dGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQorKysgc3ZnL2N1c3RvbS90ZXh0LWxldHRlci1zcGFj
aW5nLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACis2MTM5NDhl
MzgyZmYwZGUyNTMzM2VhNWFiYWYzNWM5NQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5k
ZXg6IHN2Zy9jdXN0b20vdGV4dC1sZXR0ZXItc3BhY2luZy1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gc3ZnL2N1c3RvbS90ZXh0LWxldHRlci1zcGFjaW5nLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKKysrIHN2Zy9jdXN0b20vdGV4dC1sZXR0ZXItc3BhY2luZy1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMjggQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAor
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlclNWR0NvbnRhaW5l
ciB7c3ZnfSBhdCAoMjAsMTIpIHNpemUgMzkweDE1NgorICAgICAgUmVuZGVyU1ZHQ29udGFpbmVy
IHtnfSBhdCAoMjAsMTIpIHNpemUgMzkweDE1NgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0
fSBhdCAoMTAsMjApIHNpemUgODAweDE4CisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7
I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSAxOTV4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LC0xNCkgd2lkdGggMTk1OiAiQUJDIERFRiIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0g
YXQgKDEwLDQwKSBzaXplIDgwMHgxOAorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0g
YXQgKDAsMCkgc2l6ZSA4OHgxOAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3Rl
eHR9IGF0ICgwLC0xNCkgc2l6ZSA4OHgxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwt
MTQpIHdpZHRoIDg4OiAiQUJDIgorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoODgsLTE0KSBzaXplIDIyeDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoODgsLTE0
KSB3aWR0aCAyMjogIiAiCisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCww
KSBzaXplIDE5NXgxOAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgxMTAsLTE0KSBzaXplIDg1eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMTAsLTE0
KSB3aWR0aCA4NTogIkRFRiIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEwLDYw
KSBzaXplIDgwMHgxOAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAo
MCwtMTQpIHNpemUgMTQ3eDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTQpIHdpZHRo
IDE0NzogIkFCQyBERUYiCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMCw4MCkg
c2l6ZSA4MDB4MTgKKyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNp
emUgNjl4MTgKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwt
MTQpIHNpemUgNjl4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTE0KSB3aWR0aCA2
OTogIkFCQyIKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDYwLC0x
NCkgc2l6ZSAyMngxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDYwLC0xNCkgd2lkdGggMjI6
ICIgIgorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAxNDd4
MTgKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoODAsLTE0KSBz
aXplIDY3eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg4MCwtMTQpIHdpZHRoIDY3OiAi
REVGIgpJbmRleDogc3ZnL2N1c3RvbS90ZXh0LWxldHRlci1zcGFjaW5nLnN2Zwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBzdmcvY3VzdG9tL3RleHQtbGV0dGVyLXNwYWNpbmcuc3ZnCShyZXZpc2lvbiAwKQorKysg
c3ZnL2N1c3RvbS90ZXh0LWxldHRlci1zcGFjaW5nLnN2ZwkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwxMyBAQAorPHN2ZyB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCIgdmlld0JveD0iMCAwIDQwMCAz
MDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KKwor
PGcgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CisKKzx0ZXh0IHg9IjEwIiBsZXR0ZXItc3BhY2luZz0i
NW1tIiB5PSIyMCI+QUJDIERFRjwvdGV4dD4KKzx0ZXh0IHg9IjEwIiBsZXR0ZXItc3BhY2luZz0i
NW1tIiB5PSI0MCI+PHRzcGFuIGZpbGw9InJlZCI+QUJDPC90c3Bhbj4gPHRzcGFuIGZpbGw9ImJs
dWUiPkRFRjwvdHNwYW4+PC90ZXh0PgorCis8dGV4dCB4PSIxMCwzMCw1MCw3MCw5MCwxMTAsMTMw
IiBsZXR0ZXItc3BhY2luZz0iNW1tIiB5PSI2MCI+QUJDIERFRjwvdGV4dD4KKzx0ZXh0IHg9IjEw
LDMwLDUwLDcwLDkwLDExMCwxMzAiIGxldHRlci1zcGFjaW5nPSI1bW0iIHk9IjgwIj48dHNwYW4g
ZmlsbD0icmVkIj5BQkM8L3RzcGFuPiA8dHNwYW4gZmlsbD0iYmx1ZSI+REVGPC90c3Bhbj48L3Rl
eHQ+CisKKzwvZz4KKworPC9zdmc+CkluZGV4OiBzdmcvY3VzdG9tL3RleHQteC1keC1saXN0cy1l
eHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzdmcvY3VzdG9tL3RleHQteC1keC1saXN0
cy1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKKysrIHN2Zy9jdXN0b20vdGV4dC14LWR4
LWxpc3RzLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACis0YzQw
NDBjMDM0NDZlZjBmNzBjM2VmN2NkNjU3OTQzNApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
SW5kZXg6IHN2Zy9jdXN0b20vdGV4dC14LWR4LWxpc3RzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBzdmcvY3VzdG9tL3RleHQteC1keC1saXN0cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CisrKyBzdmcvY3VzdG9tL3RleHQteC1keC1saXN0cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNDggQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlclNWR0NvbnRhaW5lciB7c3ZnfSBh
dCAoMjAsMTIpIHNpemUgMTQyeDM1NgorICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEw
LDIwKSBzaXplIDgwMHgxOAorICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KDAsLTE0KSBzaXplIDcxeDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTE0KSB3aWR0aCA3
MTogIkFCQyIKKyAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMCw0MCkgc2l6ZSA4MDB4
MTgKKyAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSA3
MXgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0xNCkgd2lkdGggNzE6ICJBQkMiCisgICAg
ICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAsNjApIHNpemUgODAweDE4CisgICAgICAgIFJl
bmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgMTJ4MTgKKyAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwtMTQpIHdpZHRoIDEyOiAiQSIKKyAgICAgICAgUmVuZGVyU1ZHVFNw
YW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDUxeDE4CisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5l
VGV4dCB7I3RleHR9IGF0ICg0MCwtMTQpIHNpemUgMTF4MTgKKyAgICAgICAgICAgIHRleHQgcnVu
IGF0ICg0MCwtMTQpIHdpZHRoIDExOiAiQiIKKyAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7
I3RleHR9IGF0ICg2MCwtMTQpIHNpemUgMTF4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjAs
LTE0KSB3aWR0aCAxMTogIkMiCisgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAsODAp
IHNpemUgODAweDE4CisgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwt
MTQpIHNpemUgMTJ4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMTQpIHdpZHRoIDEyOiAi
QSIKKyAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDUxeDE4Cisg
ICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg0MCwtMTQpIHNpemUgMTF4
MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0MCwtMTQpIHdpZHRoIDExOiAiQiIKKyAgICAg
ICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg2MCwtMTQpIHNpemUgMTF4MTgKKyAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNjAsLTE0KSB3aWR0aCAxMTogIkMiCisgICAgICBSZW5kZXJT
VkdDb250YWluZXIge2d9IGF0ICgyMCwyMTIpIHNpemUgMTQyeDE1NiBbdHJhbnNmb3JtPXttPSgo
MS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgtNS4wMCwwLjAwKX1dCisgICAgICAgIFJlbmRlclNW
R1RleHQge3RleHR9IGF0ICgxMCwxMjApIHNpemUgODAweDE4CisgICAgICAgICAgUmVuZGVyU1ZH
SW5saW5lVGV4dCB7I3RleHR9IGF0ICg1LC0xNCkgc2l6ZSA3MXgxOAorICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDUsLTE0KSB3aWR0aCA3MTogIkFCQyIKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7
dGV4dH0gYXQgKDEwLDE0MCkgc2l6ZSA4MDB4MTgKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDUsLTE0KSBzaXplIDEyeDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoNSwtMTQpIHdpZHRoIDEyOiAiQSIKKyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59
IGF0ICgwLDApIHNpemUgNTF4MTgKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoNDUsLTE0KSBzaXplIDExeDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0
NSwtMTQpIHdpZHRoIDExOiAiQiIKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4
dH0gYXQgKDY1LC0xNCkgc2l6ZSAxMXgxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDY1LC0x
NCkgd2lkdGggMTE6ICJDIgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAsMTYw
KSBzaXplIDgwMHgxOAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAo
NSwtMTQpIHNpemUgNzF4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1LC0xNCkgd2lkdGgg
NzE6ICJBQkMiCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMCwxODApIHNpemUg
ODAweDE4CisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg1LC0xNCkg
c2l6ZSAxMngxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDUsLTE0KSB3aWR0aCAxMjogIkEi
CisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDUxeDE4Cisg
ICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDQ1LC0xNCkgc2l6ZSAx
MXgxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDUsLTE0KSB3aWR0aCAxMTogIkIiCisg
ICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg2NSwtMTQpIHNpemUgMTF4
MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2NSwtMTQpIHdpZHRoIDExOiAiQyIKSW5kZXg6
IHN2Zy9jdXN0b20vdGV4dC14LWR4LWxpc3RzLnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzdmcvY3VzdG9t
L3RleHQteC1keC1saXN0cy5zdmcJKHJldmlzaW9uIDApCisrKyBzdmcvY3VzdG9tL3RleHQteC1k
eC1saXN0cy5zdmcJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTcgQEAKKzxzdmcgd2lkdGg9Ijgw
MCIgaGVpZ2h0PSI2MDAiIHZpZXdCb3g9IjAgMCA0MDAgMzAwIiB2ZXJzaW9uPSIxLjEiIHhtbG5z
PSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CisKKzxkZXNjPkFsbCB0ZXh0IGVsZW1lbnRz
IHNob3VsZCBsaWtlIGlkZW50aWNhbC48L2Rlc2M+CisKKzx0ZXh0IHg9IjEwLDUwLDcwIiB5PSIy
MCI+QUJDPC90ZXh0PgorPHRleHQgeD0iMTAsNTAsNzAsOTAsMTAwIiB5PSI0MCI+QUJDPC90ZXh0
PgorPHRleHQgeD0iMTAsNTAsNzAiIHk9IjYwIj5BPHRzcGFuPkI8L3RzcGFuPkM8L3RleHQ+Cis8
dGV4dCB4PSIxMCw1MCw3MCw5MCwxMDAiIHk9IjgwIj5BPHRzcGFuPkI8L3RzcGFuPkM8L3RleHQ+
CisKKzxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01LDApIj4KKzx0ZXh0IHg9IjEwLDUwLDcwIiBk
eD0iNSw1LDUiIHk9IjEyMCI+QUJDPC90ZXh0PgorPHRleHQgeD0iMTAsNTAsNzAiIGR4PSI1LDUs
NSIgeT0iMTQwIj5BPHRzcGFuPkI8L3RzcGFuPkM8L3RleHQ+Cis8dGV4dCB4PSIxMCw1MCw3MCIg
ZHg9IjUsNSw1LDEwLDEwIiB5PSIxNjAiPkFCQzwvdGV4dD4KKzx0ZXh0IHg9IjEwLDUwLDcwIiBk
eD0iNSw1LDUsMTAsMTAiIHk9IjE4MCI+QTx0c3Bhbj5CPC90c3Bhbj5DPC90ZXh0PgorPC9nPgor
Cis8L3N2Zz4KSW5kZXg6IHN2Zy9jdXN0b20vdGV4dC14LW92ZXJyaWRlLWluLXRzcGFuLWNoaWxk
LWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN2Zy9jdXN0b20vdGV4dC14LW92ZXJy
aWRlLWluLXRzcGFuLWNoaWxkLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQorKysgc3Zn
L2N1c3RvbS90ZXh0LXgtb3ZlcnJpZGUtaW4tdHNwYW4tY2hpbGQtZXhwZWN0ZWQuY2hlY2tzdW0J
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKK2VjMzllOTlmNTJiYzMzYjE4ZWViZGM0YjYwOWMy
YWVkClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogc3ZnL2N1c3RvbS90ZXh0LXgt
b3ZlcnJpZGUtaW4tdHNwYW4tY2hpbGQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN2Zy9j
dXN0b20vdGV4dC14LW92ZXJyaWRlLWluLXRzcGFuLWNoaWxkLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKKysrIHN2Zy9jdXN0b20vdGV4dC14LW92ZXJyaWRlLWluLXRzcGFuLWNoaWxkLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2MiBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVy
U1ZHQ29udGFpbmVyIHtzdmd9IGF0ICgtMjAsMTIpIHNpemUgMTgyeDMxNgorICAgICAgUmVuZGVy
U1ZHVGV4dCB7dGV4dH0gYXQgKDEwLDIwKSBzaXplIDgwMHgxOAorICAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBzaXplIDEyeDE4CisgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsLTE0KSB3aWR0aCAxMjogIkEiCisgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bh
bn0gYXQgKDAsMCkgc2l6ZSA0MXgxOAorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoMzAsLTE0KSBzaXplIDExeDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzAs
LTE0KSB3aWR0aCAxMTogIkIiCisgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoNjAsLTE0KSBzaXplIDExeDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDYwLC0xNCkgd2lk
dGggMTE6ICJDIgorICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsNDApIHNpemUgODAw
eDE4CisgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSA0MXgxOAor
ICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMTAsLTE0KSBzaXplIDQx
eDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTAsLTE0KSB3aWR0aCA0MTogIkFCIgorICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDcwLC0xNCkgc2l6ZSAxMXgxOAor
ICAgICAgICAgIHRleHQgcnVuIGF0ICg3MCwtMTQpIHdpZHRoIDExOiAiQyIKKyAgICAgIFJlbmRl
clNWR0NvbnRhaW5lciB7Z30gYXQgKDIwLDkyKSBzaXplIDE0Mng3NiBbdHJhbnNmb3JtPXttPSgo
MS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgtMTAuMDAsMC4wMCl9XQorICAgICAgICBSZW5kZXJT
VkdUZXh0IHt0ZXh0fSBhdCAoMTAsNjApIHNpemUgODAweDE4CisgICAgICAgICAgUmVuZGVyU1ZH
SW5saW5lVGV4dCB7I3RleHR9IGF0ICgxMCwtMTQpIHNpemUgMTJ4MTgKKyAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgxMCwtMTQpIHdpZHRoIDEyOiAiQSIKKyAgICAgICAgICBSZW5kZXJTVkdUU3Bh
biB7dHNwYW59IGF0ICgwLDApIHNpemUgNDF4MTgKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGlu
ZVRleHQgeyN0ZXh0fSBhdCAoNDAsLTE0KSBzaXplIDExeDE4CisgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICg0MCwtMTQpIHdpZHRoIDExOiAiQiIKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDcwLC0xNCkgc2l6ZSAxMXgxOAorICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDcwLC0xNCkgd2lkdGggMTE6ICJDIgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBh
dCAoMCw4MCkgc2l6ZSA4MDB4MTgKKyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0
ICgwLDApIHNpemUgNDF4MTgKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoMjAsLTE0KSBzaXplIDQxeDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMCwt
MTQpIHdpZHRoIDQxOiAiQUIiCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICg4MCwtMTQpIHNpemUgMTF4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg4MCwtMTQp
IHdpZHRoIDExOiAiQyIKKyAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDIwLDE3Mikg
c2l6ZSAxNDJ4NzYgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oLTEw
LjAwLDAuMDApfV0KKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEwLDEwMCkgc2l6
ZSA4MDB4MTgKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDEwLC0x
NCkgc2l6ZSAxMngxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEwLC0xNCkgd2lkdGggMTI6
ICJBIgorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSA0MXgx
OAorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg0MCwtMTQpIHNp
emUgMTF4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQwLC0xNCkgd2lkdGggMTE6ICJC
IgorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoNzAsLTE0KSBzaXpl
IDExeDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzAsLTE0KSB3aWR0aCAxMTogIkMiCisg
ICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDEyMCkgc2l6ZSA4MDB4MTgKKyAgICAg
ICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgNDF4MTgKKyAgICAgICAg
ICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMjAsLTE0KSBzaXplIDQxeDE4Cisg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMCwtMTQpIHdpZHRoIDQxOiAiQUIiCisgICAgICAg
ICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg4MCwtMTQpIHNpemUgMTF4MTgKKyAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICg4MCwtMTQpIHdpZHRoIDExOiAiQyIKKyAgICAgIFJlbmRl
clNWR0NvbnRhaW5lciB7Z30gYXQgKC0yMCwyNTIpIHNpemUgMTgyeDc2IFt0cmFuc2Zvcm09e209
KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KC0xMC4wMCwwLjAwKX1dCisgICAgICAgIFJlbmRl
clNWR1RleHQge3RleHR9IGF0ICgxMCwxNDApIHNpemUgODAweDE4CisgICAgICAgICAgUmVuZGVy
U1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgxMCwtMTQpIHNpemUgMTJ4MTgKKyAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgxMCwtMTQpIHdpZHRoIDEyOiAiQSIKKyAgICAgICAgICBSZW5kZXJTVkdU
U3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgNDF4MTgKKyAgICAgICAgICAgIFJlbmRlclNWR0lu
bGluZVRleHQgeyN0ZXh0fSBhdCAoNDAsLTE0KSBzaXplIDExeDE4CisgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICg0MCwtMTQpIHdpZHRoIDExOiAiQiIKKyAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDcwLC0xNCkgc2l6ZSAxMXgxOAorICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDcwLC0xNCkgd2lkdGggMTE6ICJDIgorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0
fSBhdCAoMCwxNjApIHNpemUgODAweDE4CisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFu
fSBhdCAoMCwwKSBzaXplIDMxeDE4CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsj
dGV4dH0gYXQgKDIwLC0xNCkgc2l6ZSAzMXgxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MjAsLTE0KSB3aWR0aCAzMTogIkFCIgorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoMCwtMTQpIHNpemUgMTF4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0x
NCkgd2lkdGggMTE6ICJDIgpJbmRleDogc3ZnL2N1c3RvbS90ZXh0LXgtb3ZlcnJpZGUtaW4tdHNw
YW4tY2hpbGQuc3ZnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN2Zy9jdXN0b20vdGV4dC14LW92ZXJyaWRlLWlu
LXRzcGFuLWNoaWxkLnN2ZwkocmV2aXNpb24gMCkKKysrIHN2Zy9jdXN0b20vdGV4dC14LW92ZXJy
aWRlLWluLXRzcGFuLWNoaWxkLnN2ZwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMyBAQAorPHN2
ZyB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCIgdmlld0JveD0iMCAwIDQwMCAzMDAiIHZlcnNpb249
IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KKworPGRlc2M+QWxsIHRl
eHQgZWxlbWVudHMgc2hvdWxkIGxpa2UgaWRlbnRpY2FsLjwvZGVzYz4KKworPHRleHQgeD0iMTAs
MTAwLDcwIiB5PSIyMCI+QTx0c3BhbiB4PSI0MCI+QjwvdHNwYW4+QzwvdGV4dD4KKzx0ZXh0IHg9
IjAsMCw3MCIgeT0iNDAiPjx0c3BhbiB4PSIxMCw0MCI+QUI8L3RzcGFuPkM8L3RleHQ+CisKKzxn
IHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMCwwKSI+Cis8dGV4dCBkeD0iMTAsMTAsMTAiIHg9IjEw
LDEwMCw3MCIgeT0iNjAiPkE8dHNwYW4geD0iNDAiPkI8L3RzcGFuPkM8L3RleHQ+Cis8dGV4dCBk
eD0iMTAsMTAsMTAiIHg9IjAsMCw3MCIgeT0iODAiPjx0c3BhbiB4PSIxMCw0MCI+QUI8L3RzcGFu
PkM8L3RleHQ+Cis8L2c+CisKKzxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMCwwKSI+Cis8dGV4
dCBkeD0iMTAsMTAwMCwxMCIgeD0iMTAsMTAwLDcwIiB5PSIxMDAiPkE8dHNwYW4gZHg9IjEwIiB4
PSI0MCI+QjwvdHNwYW4+QzwvdGV4dD4KKzx0ZXh0IGR4PSIxMDAwLDEwLDEwIiB4PSIwLDAsNzAi
IHk9IjEyMCI+PHRzcGFuIGR4PSIxMCIgeD0iMTAsNDAiPkFCPC90c3Bhbj5DPC90ZXh0PgorPC9n
PgorCis8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTAsMCkiPgorPHRleHQgZHg9IjEwLDEwMDAs
MTAiIHg9IjEwLDEwMCw3MCIgeT0iMTQwIj5BPHRzcGFuIGR4PSIxMCIgeD0iNDAiPkI8L3RzcGFu
PkM8L3RleHQ+Cis8dGV4dCBkeD0iMTAiIHg9IjAsMCw3MCIgeT0iMTYwIj48dHNwYW4geD0iMTAs
NDAsMTcwIj5BQjwvdHNwYW4+QzwvdGV4dD4KKzwvZz4KKworPC9zdmc+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>14632</attachid>
            <date>2007-05-19 17:23:39 -0700</date>
            <delta_ts>2007-05-19 17:49:42 -0700</delta_ts>
            <desc>Updated patch including text selection</desc>
            <filename>TextPatch.diff</filename>
            <type>text/plain</type>
            <size>141714</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDIxNjAzKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTM1IEBACisyMDA3LTA1LTIwICBOaWtvbGFzIFppbW1lcm1h
bm4gIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIG5ldyB0ZXN0cyBmb3IgdGhlIFNWRyBleHBlcmltZW50YWwg
dGV4dCBlbmdpbmUuCisgICAgICAgIChUaGVzZSByZXN1bHRzIGFyZSBnZW5lcmF0ZWQgd2l0aCB0
aGUgbmV3IHRleHQgZW5naW5lLCBhbmQgd2lsbCBmYWlsIHdpdGggYSBub24tZXhwZXJpbWVudGFs
IGJ1aWxkKQorCisgICAgICAgICogc3ZnL2JhdGlrL3Jlc291cmNlcy9iYXRpa0xvZ28uc3ZnOiBB
ZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvcmVzb3VyY2VzL3Rlc3QuY3NzOiBBZGRlZC4KKyAg
ICAgICAgKiBzdmcvYmF0aWsvdGV4dC9sb25nVGV4dE9uUGF0aC1leHBlY3RlZC5jaGVja3N1bTog
QWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvbG9uZ1RleHRPblBhdGgtZXhwZWN0ZWQu
cG5nOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC9sb25nVGV4dE9uUGF0aC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L2xvbmdUZXh0T25QYXRo
LnN2ZzogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvc21hbGxGb250cy5zdmctZGlz
YWJsZWQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRBbmNob3ItZXhwZWN0
ZWQuY2hlY2tzdW06IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRBbmNob3It
ZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0QW5jaG9y
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dEFuY2hv
ci5zdmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRBbmNob3IyLWV4cGVj
dGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0QW5jaG9y
Mi1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRBbmNo
b3IyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dEFu
Y2hvcjIuc3ZnOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0QW5jaG9yMy1l
eHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dEFu
Y2hvcjMtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0
QW5jaG9yMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3Rl
eHRBbmNob3IzLnN2ZzogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dEJpRGkt
ZXhwZWN0ZWQuY2hlY2tzdW06IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRC
aURpLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dEJp
RGktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0QmlE
aS5zdmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHREZWNvcmF0aW9uLnN2
Zy1kaXNhYmxlZDogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dERlY29yYXRp
b24yLWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90
ZXh0RGVjb3JhdGlvbjItZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsv
dGV4dC90ZXh0RGVjb3JhdGlvbjItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcv
YmF0aWsvdGV4dC90ZXh0RGVjb3JhdGlvbjIuc3ZnOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0
aWsvdGV4dC90ZXh0RWZmZWN0LWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBz
dmcvYmF0aWsvdGV4dC90ZXh0RWZmZWN0LWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICog
c3ZnL2JhdGlrL3RleHQvdGV4dEVmZmVjdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHN2Zy9iYXRpay90ZXh0L3RleHRFZmZlY3Quc3ZnOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0
aWsvdGV4dC90ZXh0RWZmZWN0Mi1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAgICAgICog
c3ZnL2JhdGlrL3RleHQvdGV4dEVmZmVjdDItZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAg
KiBzdmcvYmF0aWsvdGV4dC90ZXh0RWZmZWN0Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHN2Zy9iYXRpay90ZXh0L3RleHRFZmZlY3QyLnN2ZzogQWRkZWQuCisgICAgICAgICogc3Zn
L2JhdGlrL3RleHQvdGV4dEVmZmVjdDMtZXhwZWN0ZWQuY2hlY2tzdW06IEFkZGVkLgorICAgICAg
ICAqIHN2Zy9iYXRpay90ZXh0L3RleHRFZmZlY3QzLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAg
ICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dEVmZmVjdDMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0RWZmZWN0My5zdmc6IEFkZGVkLgorICAgICAgICAq
IHN2Zy9iYXRpay90ZXh0L3RleHRGZWF0dXJlcy1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisg
ICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dEZlYXR1cmVzLWV4cGVjdGVkLnBuZzogQWRkZWQu
CisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dEZlYXR1cmVzLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dEZlYXR1cmVzLnN2ZzogQWRkZWQuCisg
ICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dEdseXBoT3JpZW50YXRpb25Ib3Jpem9udGFsLWV4
cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0R2x5
cGhPcmllbnRhdGlvbkhvcml6b250YWwtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBz
dmcvYmF0aWsvdGV4dC90ZXh0R2x5cGhPcmllbnRhdGlvbkhvcml6b250YWwtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0R2x5cGhPcmllbnRhdGlvbkhv
cml6b250YWwuc3ZnOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0TGF5b3V0
LWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0
TGF5b3V0LWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4
dExheW91dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3Rl
eHRMYXlvdXQuc3ZnOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0TGF5b3V0
Mi1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4
dExheW91dDItZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90
ZXh0TGF5b3V0Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0
L3RleHRMYXlvdXQyLnN2ZzogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dExl
bmd0aC1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQv
dGV4dExlbmd0aC1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0
L3RleHRMZW5ndGgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4
dC90ZXh0TGVuZ3RoLnN2ZzogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dE9u
UGF0aC1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQv
dGV4dE9uUGF0aC1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0
L3RleHRPblBhdGgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4
dC90ZXh0T25QYXRoLnN2ZzogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dE9u
UGF0aDItZXhwZWN0ZWQuY2hlY2tzdW06IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0
L3RleHRPblBhdGgyLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3Rl
eHQvdGV4dE9uUGF0aDItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsv
dGV4dC90ZXh0T25QYXRoMi5zdmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3Rl
eHRPblBhdGgzLWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsv
dGV4dC90ZXh0T25QYXRoMy1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRp
ay90ZXh0L3RleHRPblBhdGgzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2Jh
dGlrL3RleHQvdGV4dE9uUGF0aDMuc3ZnOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4
dC90ZXh0T25QYXRoU3BhY2VzLWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBz
dmcvYmF0aWsvdGV4dC90ZXh0T25QYXRoU3BhY2VzLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAg
ICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dE9uUGF0aFNwYWNlcy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRPblBhdGhTcGFjZXMuc3ZnOiBBZGRlZC4K
KyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0UENEQVRBLWV4cGVjdGVkLmNoZWNrc3VtOiBB
ZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0UENEQVRBLWV4cGVjdGVkLnBuZzog
QWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dFBDREFUQS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRQQ0RBVEEuc3ZnOiBBZGRlZC4K
KyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0UG9zaXRpb24tZXhwZWN0ZWQuY2hlY2tzdW06
IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRQb3NpdGlvbi1leHBlY3RlZC5w
bmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRQb3NpdGlvbi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRQb3NpdGlvbi5zdmc6
IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRQb3NpdGlvbjItZXhwZWN0ZWQu
Y2hlY2tzdW06IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRQb3NpdGlvbjIt
ZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0UG9zaXRp
b24yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dFBv
c2l0aW9uMi5zdmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRQcm9wZXJ0
aWVzLWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90
ZXh0UHJvcGVydGllcy1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90
ZXh0L3RleHRQcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2Jh
dGlrL3RleHQvdGV4dFByb3BlcnRpZXMuc3ZnOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsv
dGV4dC90ZXh0UHJvcGVydGllczItZXhwZWN0ZWQuY2hlY2tzdW06IEFkZGVkLgorICAgICAgICAq
IHN2Zy9iYXRpay90ZXh0L3RleHRQcm9wZXJ0aWVzMi1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAg
ICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRQcm9wZXJ0aWVzMi1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRQcm9wZXJ0aWVzMi5zdmc6IEFkZGVkLgor
ICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRTdHlsZXMtZXhwZWN0ZWQuY2hlY2tzdW06IEFk
ZGVkLgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3RleHRTdHlsZXMtZXhwZWN0ZWQucG5nOiBB
ZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0U3R5bGVzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dFN0eWxlcy5zdmc6IEFkZGVkLgor
ICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3ZlcnRpY2FsVGV4dC1leHBlY3RlZC5jaGVja3N1bTog
QWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdmVydGljYWxUZXh0LWV4cGVjdGVkLnBu
ZzogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdmVydGljYWxUZXh0LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdmVydGljYWxUZXh0LnN2Zzog
QWRkZWQuCisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdmVydGljYWxUZXh0T25QYXRoLWV4cGVj
dGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC92ZXJ0aWNhbFRl
eHRPblBhdGgtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC92
ZXJ0aWNhbFRleHRPblBhdGgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0
aWsvdGV4dC92ZXJ0aWNhbFRleHRPblBhdGguc3ZnOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYmF0
aWsvdGV4dC94bWxTcGFjZS1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAgICAgICogc3Zn
L2JhdGlrL3RleHQveG1sU3BhY2UtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBzdmcv
YmF0aWsvdGV4dC94bWxTcGFjZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9i
YXRpay90ZXh0L3htbFNwYWNlLnN2ZzogQWRkZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS90ZXh0
LWxldHRlci1zcGFjaW5nLWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBzdmcv
Y3VzdG9tL3RleHQtbGV0dGVyLXNwYWNpbmctZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAg
KiBzdmcvY3VzdG9tL3RleHQtbGV0dGVyLXNwYWNpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBzdmcvY3VzdG9tL3RleHQtbGV0dGVyLXNwYWNpbmcuc3ZnOiBBZGRlZC4KKyAgICAg
ICAgKiBzdmcvY3VzdG9tL3RleHQteC1keC1saXN0cy1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQu
CisgICAgICAgICogc3ZnL2N1c3RvbS90ZXh0LXgtZHgtbGlzdHMtZXhwZWN0ZWQucG5nOiBBZGRl
ZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL3RleHQteC1keC1saXN0cy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vdGV4dC14LWR4LWxpc3RzLnN2ZzogQWRkZWQuCisg
ICAgICAgICogc3ZnL2N1c3RvbS90ZXh0LXgtb3ZlcnJpZGUtaW4tdHNwYW4tY2hpbGQtZXhwZWN0
ZWQuY2hlY2tzdW06IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vdGV4dC14LW92ZXJyaWRl
LWluLXRzcGFuLWNoaWxkLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogc3ZnL2N1c3Rv
bS90ZXh0LXgtb3ZlcnJpZGUtaW4tdHNwYW4tY2hpbGQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBzdmcvY3VzdG9tL3RleHQteC1vdmVycmlkZS1pbi10c3Bhbi1jaGlsZC5zdmc6IEFk
ZGVkLgorCiAyMDA3LTA1LTE5ICBNaXR6IFBldHRlbCAgPG1pdHpAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBEYXJpbi4KSW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTYwMykKKysrIFdlYkNvcmUvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkwIEBACisyMDA3LTA1LTIwICBOaWtv
bGFzIFppbW1lcm1hbm4gIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4ZXM6IGh0dHA6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEyNjk4IChTVkcgdGV4dCBuZWVkcyBhIHNwZWNpYWwgcGVyLWNo
YXJhY3RlciBsYXlvdXQgbW9kZS4pCisKKyAgICAgICAgRml4ZXM6IGh0dHA6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTY0MjAgKDx0ZXh0PiBkb2VzIG5vdCByZXNwZWN0IHgseSBv
ZmZzZXQgbGlzdHMpCisgICAgICAgIEZpeGVzOiBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02NDI1ICg8dGV4dFBhdGg+IGVsZW1lbnQgbm90IGltcGxlbWVudGVkKQorICAg
ICAgICBGaXhlczogaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4MSAo
dGV4dC1hbmNob3IgKHZlcnRpY2FsKSBkb2VzIG5vdCB3b3JrIGluIFNWRyB0ZXh0IGVsZW1lbnRz
KQorICAgICAgICBGaXhlczogaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTE5NDEgKFJFR1JFU1NJT046IE1pc3NpbmcgdGV4dCBzdHJva2UgaW4gc3ZnL1czQy1TVkctMS4x
L3RleHQtZGVjby0wMS1iLnN2ZykKKyAgICAgICAgRml4ZXM6IGh0dHA6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEyMzc2IChnbHlwaCByb3RhdGlvbiBpbiB0ZXh0L3RzcGFuIG5v
dCBpbXBsZW1lbnRlZCkKKyAgICAgICAgRml4ZXM6IGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyMzc3IChtdWx0aXBsZSBkeCBhbmQgZHkgYXR0cmlidXRlcyBub3QgcmVz
cGVjdGVkIGluIHRleHQgYW5kIHRzcGFuIGVsZW1lbnRzKQorICAgICAgICBGaXhlczogaHR0cDov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1NzQgKDx0ZXh0PiBkb2VzIG5vdCBo
YW5kbGUgYmFzZWxpbmUtc2hpZnQgY29ycmVjdGx5KQorCisgICAgICAgIEludHJvZHVjZSBuZXcg
ZXhwZXJpbWVudGFsIFNWRyB0ZXh0IGVuZ2luZSAtIGFmdGVyIDUrIG1vbnRocyBvZiBoYWNraW5n
LgorCisgICAgICAgIEFkZCB0ZXh0UGF0aCBzdXBwb3J0LCBhYnNvbHV0ZSBwb3NpdGlvbmVkIFNW
RyBjaGFyYWN0ZXJzLCB2ZXJ0aWNhbCB0ZXh0LAorICAgICAgICB0ZXh0IHJvdGF0aW9uLCBiYXNl
bGluZS1zaGlmdCwgdGV4dCBjaHVua3Mgc3Bhbm5pbmcgPHRzcGFuPidzIGV0Yy4KKworICAgICAg
ICBDaGVjayBteSBGbGlja3IgcGFnZSBmb3Igc2NyZWVuc2hvdHM6IGh0dHA6Ly93d3cuZmxpY2ty
LmNvbS9waG90b3MvNDM1MzIzNjBATjAwIChhIGJpdCBvdXRkYXRlZCkKKworICAgICAgICBGaXhl
cy9JbXByb3ZtZW50czoKKyAgICAgICAgLSBhbmltYXRlLWVsZW0tNDAtdC5zdmcgKHgveSBsaXN0
cyByZXNwZWN0ZWQgb24gPHRleHQ+IG5vdykKKyAgICAgICAgLSBpbnRlcmFjdC1jdXJzb3ItMDEt
Zi5zdmcgKHRleHQtYW5jaG9yIGNvcnJlY3RseSBoYW5kbGVkIGluIDx0ZXh0PjxhPiBzaXR1YXRp
b25zKQorICAgICAgICAtIHN0cnVjdC1mcmFnLTA1LXQuc3ZnIChkaXR0bykKKyAgICAgICAgLSB0
ZXh0LWFsaWduLTAyLWIuc3ZnIChiYXNlbGluZS1zaGlmdCByZWNvZ25pemVkKQorICAgICAgICAt
IHRleHQtYWxpZ24tMDQtYi5zdmcgKHRleHRQYXRoIGRpc3BsYXllZCkKKyAgICAgICAgLSB0ZXh0
LWFsaWduLTA1LWIuc3ZnICh0ZXh0LWFuY2hvciAmIHZlcnRpY2FsIHRleHQgaGFuZGxlZCBjb3Jy
ZWN0bHkpCisgICAgICAgIC0gdGV4dC1hbGlnbi0wNi1iLnN2ZyAoYmFzZWxpbmUtc2hpZnQgJiB2
ZXJ0aWNhbCB0ZXh0IGhhbmRsZWQgY29ycmVjdGx5KQorICAgICAgICAtIHRleHQtZGVjby0wMS1i
LnN2ZyAobG9uZ3N0YW5kaW5nIHJlZ3Jlc3Npb24gZml4ZWQgZm9yIHRleHQtZGVjb3JhdGlvbikK
KyAgICAgICAgLSB0ZXh0LXBhdGgtMDEtYi5zdmcgKGFsbCB0ZXh0UGF0aHMgYXJlIGRpc3BsYXll
ZCBjb3JyZWN0bHkpCisgICAgICAgIC0gdGV4dC10ZXh0LTA0LXQuc3ZnIChhbGwgeC95L2R4L2R5
IGxpc3Qgc2l0dWF0aW9ucyB3b3JrIGZpbmUgbm93KQorICAgICAgICAtIHRleHQtdGV4dC0wNS10
LnN2ZyAoZGl0dG8pCisgICAgICAgIC0gdGV4dC10ZXh0LTA2LXQuc3ZnIChkaXR0bykKKyAgICAg
ICAgLSB0ZXh0LXRleHQtMDctdC5zdmcgKHJvdGF0aW9uIHdvcmtzIGZpbmUgbm93KQorICAgICAg
ICAtIHRleHQtdHNwYW4tMDEtYi5zdmcgKHBlciBjaGFyYWN0ZXIgcGxhY21lbnQgd29ya3MgZ3Jl
YXQgaW4gYWxsIHNpdHVhdGlvbnMpCisKKyAgICAgICAgTW9zdCBmaWxlcyB1c2luZyB0ZXh0LWFu
Y2hvciBzaG93IDAuNS0xJSBkaWZmZXJlbmNlcyBiZWNhdXNlIHRoZSBzaGlmdCBvZmZzZXQgY2Fs
Y3VsYXRpb24gaXMgbW9yZSBjb3JyZWN0IG5vdy4KKworICAgICAgICBSZWdyZXNzaW9uczogICAg
CisgICAgICAgIC0gR3JhZGllbnQgb24gZmlsbCBpcyBicm9rZW4gKG9uIHN0cm9rZSB3b3Jrcykg
LT4gdGhpcyBpcyBhIHJlZ3Jlc3Npb24gKGVhc3kgdG8gZml4IHNvb24pCisgICAgICAgICAganMt
bGF0ZS1ncmFkaWVudC1hbmQtb2JqZWN0LWNyZWF0aW9uLnN2ZyAmIGpzLWxhdGUtZ3JhZGllbnQt
Y3JlYXRpb24uc3ZnICYgcHNlcnZlcnMtZ3JhZC0wOC1iLnN2ZyAmIHBzZXJ2ZXJzLWdyYWQtMTEt
Yi5zdmcgYXJlIGJyb2tlbgorCisgICAgICAgIENvbXBsZXRlIGxpc3Qgb2YgbWlzc2luZyB0aGlu
Z3M6CisgICAgICAgIC0gJ3RleHRMZW5ndGgnIC8gJ2xlbmd0aEFkanVzdCcgcHJvcGVydGllcyBv
biA8dGV4dD4vPHRzcGFuPiBub3QgeWV0IGhhbmRsZWQuCisgICAgICAgIC0gJ2RvbWluYW50LWJh
c2VsaW5lIC8gYWxpZ25tZW50LWJhc2VsaW5lIG1pc3NpbmcgKG5laXRoZXIgRkYvT3BlcmEvQmF0
aWsgc3VwcG9ydCB0aGlzKQorICAgICAgICAtICdrZXJuaW5nJyBwcm9wZXJ0eSBpZ25vcmVkCisg
ICAgICAgIC0gJ2dseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsJyAvICdnbHlwaC1vcmllbnRhdGlv
bi1ob3Jpem9udGFsJyBub3QgeWV0IGhhbmRsZWQuCisgICAgICAgIC0gSGVicmV3IHRleHQgc2Vs
ZWN0aW9uIGJyb2tlbiAoZGlzY29udGlub3VzIHNlbGVjdGlvbiBkb2Vzbid0IHdvcmspCisgICAg
ICAgIC0gPHRleHRQYXRoPiBkb2Vzbid0IHlldCBwYXJ0aWNpcGF0ZSBpbiB0ZXh0IHNlbGVjdGlv
bgorICAgICAgICAtIDx0ZXh0UGF0aD4gJ3RleHQtYW5jaG9yJyBoYW5kbGluZyBpcyBmbGF3ZWQK
KyAgICAgICAgLSA8dGV4dFBhdGg+IGRvZXNuJ3QgeWV0IGhhbmRsZSAnbWV0aG9kJyAvICdzcGFj
aW5nJyBwcm9wZXJ0aWVzCisgICAgICAgIC0gJ2xldHRlci1zcGFjaW5nJyAvICd3b3JkLXNwYWNp
bmcnIGlzIHN0aWxsIGhhbmRsZWQgaW4gdGhlICJsZWdhY3kiIG1vZGUuIFRoYXQgbWVhbnMgaXQg
b25seSB3b3JrcworICAgICAgICAgIGZvciBzaW1wbGUgY2FzZXMgLT4gd29uJ3Qgd29yayBmb3Ig
dGV4dFBhdGgncyBmb3IgaW5zdGFuY2UKKyAgICAgICAgLSBTVkcgZm9udHMgKDxhbHRHbHlwaD4s
IDxmb250PiAuLi4uLiB0b25zIG1vcmUpCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtl
OiBBZGQgRE9NL0pTU1ZHVGV4dFBhdGhFbGVtZW50LmggdG8gYnVpbGQKKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IEFkZCB0ZXh0UGF0aCByZWxhdGVkIGZpbGVz
IHRvIGJ1aWxkCisgICAgICAgICogY3NzL3N2Zy5jc3M6IENvcnJlY3Qgd2hpdGUtc3BhY2UgZGVm
YXVsdCBzZXR0aW5nIGZvciB0ZXh0UGF0aCBlbGVtZW50CisgICAgICAgICoga3N2ZzIvc3ZnL1NW
R0ZFRmxvb2RFbGVtZW50LmNwcDogTWlzc2luZyBpbmNsdWRlIChleHBlcmltZW50YWwgYnVpbGQg
d2FzIGJyb2tlbikKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHVFNwYW5FbGVtZW50LmNwcDogUmVj
b2duaXplIHRleHRQYXRoIGNoaWxkcmVuLgorICAgICAgICAoV2ViQ29yZTo6U1ZHVFNwYW5FbGVt
ZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZH
VGV4dEVsZW1lbnQuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRFbGVtZW50
OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHVGV4
dFBhdGhFbGVtZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0UGF0aEVs
ZW1lbnQ6OlNWR1RleHRQYXRoRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0UGF0
aEVsZW1lbnQ6On5TVkdUZXh0UGF0aEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4
dFBhdGhFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdUZXh0UGF0aEVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R1RleHRQYXRoRWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcik6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdUZXh0UGF0aEVsZW1lbnQ6Omluc2VydGVkSW50b0RvY3VtZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1RleHRQYXRoRWxlbWVudDo6YnVpbGRQZW5kaW5nUmVzb3VyY2UpOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dFBhdGhFbGVtZW50OjphdHRhY2gpOgorICAgICAgICAq
IGtzdmcyL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjopOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dFBhdGhFbGVtZW50OjpyZW5kZXJlcklzTmVl
ZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRQYXRoRWxlbWVudDo6Y29udGV4dEVsZW1l
bnQpOgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuaWRsOiBBZGRlZC4K
KyAgICAgICAgKiBrc3ZnMi9zdmcvc3ZndGFncy5pbjogQWRkIHRleHRQYXRoIHRhZy4KKyAgICAg
ICAgKiByZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHA6IE1ha2UgdHdvIG1ldGhvZHMgbm9uIHN0
YXRpYyB0byBzaGFyZSB3aXRoIFNWRy4KKyAgICAgICAgKFdlYkNvcmU6OmNvcnJlY3RlZFRleHRD
b2xvcik6CisgICAgICAgIChXZWJDb3JlOjp1cGRhdGVHcmFwaGljc0NvbnRleHQpOgorICAgICAg
ICAqIHJlbmRlcmluZy9JbmxpbmVUZXh0Qm94Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clNWR0lubGluZVRleHQuY3BwOiBTcGVjaWFsIHBvc2l0aW9uRm9yQ29vcmRpbmF0ZXMoKSBpbXBs
ZW1lbnRhdGlvbi4gU3R1YiBjYXJldFJlY3QoKSBmb3IgU1ZHLgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU1ZHSW5saW5lVGV4dDo6c2VsZWN0aW9uUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJTVkdJbmxpbmVUZXh0OjpjYXJldFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
U1ZHSW5saW5lVGV4dDo6cG9zaXRpb25Gb3JDb29yZGluYXRlcyk6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclNWR0lubGluZVRleHQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZH
VGV4dFBhdGguY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1RleHRQYXRo
OjpSZW5kZXJTVkdUZXh0UGF0aCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdUZXh0UGF0
aDo6bGF5b3V0UGF0aCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdUZXh0UGF0aDo6c2V0
TGF5b3V0UGF0aCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdUZXh0UGF0aDo6c3RhcnRP
ZmZzZXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHVGV4dFBhdGg6OnNldFN0YXJ0T2Zm
c2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1RleHRQYXRoOjpleGFjdEFsaWdubWVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdUZXh0UGF0aDo6c2V0RXhhY3RBbGlnbm1l
bnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHVGV4dFBhdGg6OnN0cmV0Y2hNZXRob2Qp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHVGV4dFBhdGg6OnNldFN0cmV0Y2hNZXRob2Qp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHVGV4dFBhdGg6OmFic29sdXRlUmVjdHMpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdUZXh0UGF0aC5oOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclNWR1RleHRQYXRoOjpyZW5kZXJOYW1lKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGV4dC5jcHA6IEZpeCBpbmRlbnRpb24gYW5kIHVzZSBTdHJpbmdJbXBsOjpl
bXB0eSgpIGluc3RlYWQgb2YgY3JlYXRpbmcgYW4gZW1wdHkgc3RyaW5nIG1hbnVhbGx5LgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6c2V0VGV4dEludGVybmFsKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUm9vdElubGluZUJveC5oOiBBZGQgdmlydHVhbCBuby1vcCBjb21wdXRlUGVyQ2hh
cmFjdGVyTGF5b3V0SW5mb3JtYXRpb24oKS4KKyAgICAgICAgKFdlYkNvcmU6OlJvb3RJbmxpbmVC
b3g6OmNvbXB1dGVQZXJDaGFyYWN0ZXJMYXlvdXRJbmZvcm1hdGlvbik6CisgICAgICAgICogcmVu
ZGVyaW5nL1NWR0NoYXJhY3RlckxheW91dEluZm8uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OmNhbGN1bGF0ZUJhc2VsaW5lU2hpZnQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQ2hhcmFj
dGVyTGF5b3V0SW5mbzo6U1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbyk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjp4VmFsdWVBdmFpbGFibGUpOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6eVZhbHVlQXZhaWxhYmxlKToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0NoYXJhY3RlckxheW91dEluZm86OmR4VmFsdWVBdmFpbGFibGUpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6ZHlWYWx1ZUF2YWlsYWJsZSk6
CisgICAgICAgIChXZWJDb3JlOjpTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjphbmdsZVZhbHVlQXZh
aWxhYmxlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0NoYXJhY3RlckxheW91dEluZm86OmJhc2Vs
aW5lU2hpZnRWYWx1ZUF2YWlsYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdDaGFyYWN0ZXJM
YXlvdXRJbmZvOjp4VmFsdWVOZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0NoYXJhY3Rlckxh
eW91dEluZm86OnlWYWx1ZU5leHQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQ2hhcmFjdGVyTGF5
b3V0SW5mbzo6ZHhWYWx1ZU5leHQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQ2hhcmFjdGVyTGF5
b3V0SW5mbzo6ZHlWYWx1ZU5leHQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQ2hhcmFjdGVyTGF5
b3V0SW5mbzo6YW5nbGVWYWx1ZU5leHQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQ2hhcmFjdGVy
TGF5b3V0SW5mbzo6YmFzZWxpbmVTaGlmdFZhbHVlTmV4dCk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjpwcm9jZXNzZWRTaW5nbGVDaGFyYWN0ZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6cHJvY2Vzc2VkQ2h1bmspOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6bmV4dFBhdGhMYXlvdXRQb2lu
dEFuZEFuZ2xlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0NoYXJhY3RlckxheW91dEluZm86Omlu
UGF0aExheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjpz
ZXRJblBhdGhMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQ2hhcmFjdGVyTGF5b3V0SW5m
bzo6YWRkTGF5b3V0SW5mb3JtYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQ2hhcmFjdGVy
TGF5b3V0SW5mbzo6YWRkU3RhY2tDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0NoYXJh
Y3RlckxheW91dEluZm86OnhTdGFja1dhbGspOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQ2hhcmFj
dGVyTGF5b3V0SW5mbzo6eVN0YWNrV2Fsayk6CisgICAgICAgIChXZWJDb3JlOjpTVkdDaGFyYWN0
ZXJMYXlvdXRJbmZvOjpkeFN0YWNrV2Fsayk6CisgICAgICAgIChXZWJDb3JlOjpTVkdDaGFyYWN0
ZXJMYXlvdXRJbmZvOjpkeVN0YWNrV2Fsayk6CisgICAgICAgIChXZWJDb3JlOjpTVkdDaGFyYWN0
ZXJMYXlvdXRJbmZvOjphbmdsZVN0YWNrV2Fsayk6CisgICAgICAgIChXZWJDb3JlOjpTVkdDaGFy
YWN0ZXJMYXlvdXRJbmZvOjpiYXNlbGluZVNoaWZ0U3RhY2tXYWxrKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mby5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlBvc2l0aW9uZWRWZWN0b3I6OlR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6UG9zaXRpb25lZFZl
Y3Rvcjo6cG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UG9zaXRpb25lZFZlY3Rvcjo6YWR2
YW5jZSk6CisgICAgICAgIChXZWJDb3JlOjpQb3NpdGlvbmVkVmVjdG9yOjp2YWx1ZUF0Q3VycmVu
dFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0NoYXJhY3RlckxheW91dEluZm86Oik6
CisgICAgICAgIChXZWJDb3JlOjpTVkdJbmxpbmVCb3hDaGFyYWN0ZXJSYW5nZTo6U1ZHSW5saW5l
Qm94Q2hhcmFjdGVyUmFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHSW5saW5lQm94Q2hhcmFj
dGVyUmFuZ2U6OmlzT3Blbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdJbmxpbmVCb3hDaGFyYWN0
ZXJSYW5nZTo6aXNDbG9zZWQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dENodW5rOjpTVkdU
ZXh0Q2h1bmspOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dENodW5rTGF5b3V0SW5mbzo6U1ZH
VGV4dENodW5rTGF5b3V0SW5mbyk6CisgICAgICAgICogcmVuZGVyaW5nL1NWR0lubGluZUZsb3dC
b3guY3BwOiBNYWtlIGFsbCBtZXRob2RzIG5vLW9wcyB3aGVuIHVzaW5nIHRoZSBuZXcgdGV4dCBl
bmdpbmUuCisgICAgICAgIChXZWJDb3JlOjpTVkdJbmxpbmVGbG93Qm94OjpwYWludCk6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVzSG9yaXpvbnRhbGx5KToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZUZsb3dCb3g6OnZlcnRpY2FsbHlBbGlnbkJveGVz
KToKKyAgICAgICAgKiByZW5kZXJpbmcvU1ZHSW5saW5lRmxvd0JveC5oOgorICAgICAgICAqIHJl
bmRlcmluZy9TVkdJbmxpbmVUZXh0Qm94LmNwcDogQWRkIG5ldyB0ZXh0IHNlbGVjdGlvbiAvIGNo
YXJhY3RlciBoaXQgZGV0ZWN0aW9uIHJlbGF0ZWQgY29kZS4KKyAgICAgICAgKFdlYkNvcmU6OlNW
R0lubGluZVRleHRCb3g6OlNWR0lubGluZVRleHRCb3gpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
SW5saW5lVGV4dEJveDo6c2VsZWN0aW9uVG9wKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGlu
ZVRleHRCb3g6OnN2Z1Jvb3RJbmxpbmVCb3gpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHSW5saW5l
VGV4dEJveDo6Y2xvc2VzdENoYXJhY3RlclRvUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHSW5saW5lVGV4dEJveDo6c3ZnQ2hhcmFjdGVySGl0c1Bvc2l0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0lubGluZVRleHRCb3g6Om9mZnNldEZvclBvc2l0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0lubGluZVRleHRCb3g6OnBvc2l0aW9uRm9yT2Zmc2V0KToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0lubGluZVRleHRCb3g6Om5vZGVBdFBvaW50KToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0lubGluZVRleHRCb3g6OnNlbGVjdGlvblJlY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9T
VkdJbmxpbmVUZXh0Qm94Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1NWR1Jvb3RJbmxpbmVCb3gu
Y3BwOiBUaGUgaGVhcnQgb2YgdGhlIG5ldyB0ZXh0IGVuZ2luZSBsaXZlcyBoZXJlLgorICAgICAg
ICAoV2ViQ29yZTo6cHJlcGFyZVRleHRSZW5kZXJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6aXNW
ZXJ0aWNhbFdyaXRpbmdNb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jvb3RJbmxpbmVCb3g6
OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jvb3RJbmxpbmVCb3g6OnBsYWNlQm94ZXNI
b3Jpem9udGFsbHkpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUm9vdElubGluZUJveDo6dmVydGlj
YWxseUFsaWduQm94ZXMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUm9vdElubGluZUJveDo6Y3Vt
bXVsYXRlZFdpZHRoT2ZTZWxlY3Rpb25SYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpjdW1tdWxh
dGVkV2lkdGhPZklubGluZUJveENoYXJhY3RlclJhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OmN1
bW11bGF0ZWRXaWR0aE9mVGV4dENodW5rKToKKyAgICAgICAgKFdlYkNvcmU6OmN1bW11bGF0ZWRI
ZWlnaHRPZlRleHRDaHVuayk6CisgICAgICAgIChXZWJDb3JlOjphcHBseVRleHRBbmNob3JUb1Rl
eHRDaHVuayk6CisgICAgICAgIChXZWJDb3JlOjpTVkdSb290SW5saW5lQm94Ojpjb21wdXRlUGVy
Q2hhcmFjdGVyTGF5b3V0SW5mb3JtYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6dG90YWxBZHZh
bmNlT2ZJbmxpbmVUZXh0Qm94KToKKyAgICAgICAgKFdlYkNvcmU6OnRvdGFsQWR2YW5jZU9mSW5s
aW5lQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jvb3RJbmxpbmVCb3g6OmJ1aWxkTGF5b3V0
SW5mb3JtYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUm9vdElubGluZUJveDo6bGF5b3V0
SW5saW5lQm94ZXMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUm9vdElubGluZUJveDo6YnVpbGRM
YXlvdXRJbmZvcm1hdGlvbkZvclRleHRCb3gpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUm9vdElu
bGluZUJveDo6YnVpbGRUZXh0Q2h1bmtzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jvb3RJbmxp
bmVCb3g6OnN2Z1RleHRDaHVua3MpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUm9vdElubGluZUJv
eDo6bGF5b3V0VGV4dENodW5rcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdSb290SW5saW5lQm94
OjpwYWludFNlbGVjdGlvbkZvclRleHRCb3gpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUm9vdElu
bGluZUJveDo6cGFpbnRJbmxpbmVCb3hlcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdSb290SW5s
aW5lQm94OjpwYWludENoYXJhY3RlclJhbmdlRm9yVGV4dEJveCk6CisgICAgICAgICogcmVuZGVy
aW5nL1NWR1Jvb3RJbmxpbmVCb3guaDoKKyAgICAgICAgKiByZW5kZXJpbmcvYmlkaS5jcHA6IENh
bGwgdGhlIG5ldyBjb21wdXRlUGVyQ2hhcmFjdGVyTGF5b3V0SW5mb3JtYXRpb24oKSBtZXRob2Qu
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bGF5b3V0SW5saW5lQ2hpbGRyZW4pOgor
CiAyMDA3LTA1LTE5ICBNaXR6IFBldHRlbCAgPG1pdHpAd2Via2l0Lm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBEYXZlIEh5YXR0LgpJbmRleDogV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkocmV2aXNpb24gMjE2
MDMpCisrKyBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTI2
Niw2ICsyNjYsNyBAQCBhbGwgOiBcCiAgICAgRE9NU1ZHVGVzdHMuaCBcCiAgICAgRE9NU1ZHVGV4
dENvbnRlbnRFbGVtZW50LmggXAogICAgIERPTVNWR1RleHRFbGVtZW50LmggXAorICAgIERPTVNW
R1RleHRQYXRoRWxlbWVudC5oIFwKICAgICBET01TVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50Lmgg
XAogICAgIERPTVNWR1RpdGxlRWxlbWVudC5oIFwKICAgICBET01TVkdUcmFuc2Zvcm0uaCBcCkBA
IC00NjIsNiArNDYzLDcgQEAgYWxsIDogXAogICAgIEpTU1ZHVFNwYW5FbGVtZW50LmggXAogICAg
IEpTU1ZHVGV4dEVsZW1lbnQuaCBcCiAgICAgSlNTVkdUZXh0Q29udGVudEVsZW1lbnQuaCBcCisg
ICAgSlNTVkdUZXh0UGF0aEVsZW1lbnQuaCBcCiAgICAgSlNTVkdUZXh0UG9zaXRpb25pbmdFbGVt
ZW50LmggXAogICAgIEpTU1ZHVGl0bGVFbGVtZW50LmggXAogICAgIEpTU1ZHVHJhbnNmb3JtLmgg
XApJbmRleDogV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlz
aW9uIDIxNjAzKQorKysgV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJ
KHdvcmtpbmcgY29weSkKQEAgLTIzMDUsNiArMjMwNSwxNCBAQAogCQlCMjVBRTU1RjBCNDlENjYz
MDA3NEM3MjYgLyogTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjVBRTU1RDBCNDlENjYzMDA3NEM3MjYgLyog
TGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzLmggKi87IH07CiAJCUIyNUFFNTYwMEI0OUQ2NjMwMDc0
QzcyNiAvKiBSYWRpYWxHcmFkaWVudEF0dHJpYnV0ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyNUFFNTVFMEI0OUQ2NjMwMDc0QzcyNiAvKiBSYWRp
YWxHcmFkaWVudEF0dHJpYnV0ZXMuaCAqLzsgfTsKIAkJQjI1REZBQUYwQjJFMjkyOTAwMEU2NTEw
IC8qIEpTU1ZHTWF0cml4Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEIyNURGQUFFMEIyRTI5MjkwMDBFNjUxMCAvKiBKU1NWR01hdHJpeEN1
c3RvbS5jcHAgKi87IH07CisJCUIyNjU1NEMwMEI4MEFENjAwMEE1MEVDMyAvKiBTVkdUZXh0UGF0
aEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQjI2NTU0QkQwQjgwQUQ2MDAwQTUwRUMzIC8qIFNWR1RleHRQYXRoRWxlbWVudC5jcHAgKi87
IH07CisJCUIyNjU1NEMxMEI4MEFENjAwMEE1MEVDMyAvKiBTVkdUZXh0UGF0aEVsZW1lbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyNjU1NEJFMEI4
MEFENjAwMEE1MEVDMyAvKiBTVkdUZXh0UGF0aEVsZW1lbnQuaCAqLzsgfTsKKwkJQjI2NTU0QzIw
QjgwQUQ2MDAwQTUwRUMzIC8qIFNWR1RleHRQYXRoRWxlbWVudC5pZGwgaW4gUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyNjU1NEJGMEI4MEFENjAwMEE1MEVD
MyAvKiBTVkdUZXh0UGF0aEVsZW1lbnQuaWRsICovOyB9OworCQlCMjY1NTRDRTBCODBBREVBMDBB
NTBFQzMgLyogRE9NU1ZHVGV4dFBhdGhFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjY1NTRDQjBCODBBREVBMDBBNTBFQzMgLyogRE9NU1ZH
VGV4dFBhdGhFbGVtZW50LmggKi87IH07CisJCUIyNjU1NENGMEI4MEFERUEwMEE1MEVDMyAvKiBE
T01TVkdUZXh0UGF0aEVsZW1lbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQjI2NTU0Q0MwQjgwQURFQTAwQTUwRUMzIC8qIERPTVNWR1Rl
eHRQYXRoRWxlbWVudEludGVybmFsLmggKi87IH07CisJCUIyNjU1NEQwMEI4MEFERUEwMEE1MEVD
MyAvKiBKU1NWR1RleHRQYXRoRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQjI2NTU0Q0QwQjgwQURFQTAwQTUwRUMzIC8qIEpTU1ZHVGV4dFBh
dGhFbGVtZW50LmggKi87IH07CisJCUIyNjU1NEVBMEI4MEQ3NDkwMEE1MEVDMyAvKiBSZW5kZXJT
VkdUZXh0UGF0aC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCMjY1NTRFODBCODBENzQ5MDBBNTBFQzMgLyogUmVuZGVyU1ZHVGV4dFBhdGguY3BwICov
OyB9OworCQlCMjY1NTRFQjBCODBENzQ5MDBBNTBFQzMgLyogUmVuZGVyU1ZHVGV4dFBhdGguaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyNjU1NEU5MEI4
MEQ3NDkwMEE1MEVDMyAvKiBSZW5kZXJTVkdUZXh0UGF0aC5oICovOyB9OwogCQlCMjc1MzU1NjBC
MDUzODE0MDAyQ0U2NEYgLyogQWZmaW5lVHJhbnNmb3JtLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyNzUzNTI3MEIwNTM4MTQwMDJDRTY0RiAvKiBB
ZmZpbmVUcmFuc2Zvcm0uY3BwICovOyB9OwogCQlCMjc1MzU1NzBCMDUzODE0MDAyQ0U2NEYgLyog
QWZmaW5lVHJhbnNmb3JtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCMjc1MzUyODBCMDUzODE0MDAyQ0U2NEYgLyogQWZmaW5lVHJhbnNmb3JtLmggKi87
IH07CiAJCUIyNzUzNTU4MEIwNTM4MTQwMDJDRTY0RiAvKiBBZmZpbmVUcmFuc2Zvcm1DRy5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjc1MzUyQTBC
MDUzODE0MDAyQ0U2NEYgLyogQWZmaW5lVHJhbnNmb3JtQ0cuY3BwICovOyB9OwpAQCAtMjM2OCw2
ICsyMzc2LDggQEAKIAkJQjJBMDE1QkEwQUY2Q0Q1MzAwNkJDRTBFIC8qIFNWR1Jlc291cmNlTWFz
a2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkEw
MTVBNzBBRjZDRDUzMDA2QkNFMEUgLyogU1ZHUmVzb3VyY2VNYXNrZXIuaCAqLzsgfTsKIAkJQjJB
MTBCOTIwQjM4MThCRDAwMDk5QUE0IC8qIEltYWdlQnVmZmVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkExMEI5MTBCMzgxOEJEMDAwOTlBQTQgLyog
SW1hZ2VCdWZmZXIuaCAqLzsgfTsKIAkJQjJBMTBCOTQwQjM4MThENzAwMDk5QUE0IC8qIEltYWdl
QnVmZmVyQ0cuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQjJBMTBCOTMwQjM4MThENzAwMDk5QUE0IC8qIEltYWdlQnVmZmVyQ0cuY3BwICovOyB9Owor
CQlCMkIzM0E1RjBCODg3Q0VGMDBDMTU5ODQgLyogU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mby5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkIzM0E1RDBC
ODg3Q0VGMDBDMTU5ODQgLyogU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mby5jcHAgKi87IH07CisJCUIy
QjMzQTYwMEI4ODdDRUYwMEMxNTk4NCAvKiBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkIzM0E1RTBCODg3Q0VG
MDBDMTU5ODQgLyogU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mby5oICovOyB9OwogCQlCMkM5NkQ4RDBC
M0FGMkI3MDA1RTgwRUMgLyogSlNTVkdQYXRoU2VnQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyQzk2RDhDMEIzQUYyQjcwMDVFODBFQyAv
KiBKU1NWR1BhdGhTZWdDdXN0b20uY3BwICovOyB9OwogCQlCMkNCNDE5MzBBQjc1OTA0MDA0RDlD
NDUgLyogU1ZHUmVuZGVyaW5nSW50ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCMkNCNDE0QzBBQjc1OTA0MDA0RDlDNDUgLyogU1ZHUmVuZGVyaW5n
SW50ZW50LmggKi87IH07CiAJCUIyQ0I0MUE2MEFCNzU5MDQwMDREOUM0NSAvKiBTVkdVbml0VHlw
ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyQ0I0
MTVGMEFCNzU5MDQwMDREOUM0NSAvKiBTVkdVbml0VHlwZXMuaCAqLzsgfTsKQEAgLTU0MDYsNiAr
NTQxNiwxNCBAQAogCQlCMjVBRTU1RDBCNDlENjYzMDA3NEM3MjYgLyogTGluZWFyR3JhZGllbnRB
dHRyaWJ1dGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMaW5lYXJHcmFk
aWVudEF0dHJpYnV0ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjI1QUU1NUUw
QjQ5RDY2MzAwNzRDNzI2IC8qIFJhZGlhbEdyYWRpZW50QXR0cmlidXRlcy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyNURGQUFFMEIyRTI5MjkwMDBFNjUxMCAvKiBKU1NW
R01hdHJpeEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNTVkdNYXRyaXhDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMjY1
NTRCRDBCODBBRDYwMDBBNTBFQzMgLyogU1ZHVGV4dFBhdGhFbGVtZW50LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdUZXh0UGF0aEVsZW1lbnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMjY1NTRCRTBCODBBRDYwMDBBNTBFQzMgLyogU1ZH
VGV4dFBhdGhFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdU
ZXh0UGF0aEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjI2NTU0QkYw
QjgwQUQ2MDAwQTUwRUMzIC8qIFNWR1RleHRQYXRoRWxlbWVudC5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IFNWR1RleHRQYXRoRWxlbWVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUIyNjU1NENCMEI4MEFERUEwMEE1MEVDMyAvKiBET01TVkdUZXh0UGF0aEVsZW1lbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVNWR1RleHRQYXRoRWxlbWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMjY1NTRDQzBCODBBREVBMDBBNTBF
QzMgLyogRE9NU1ZHVGV4dFBhdGhFbGVtZW50SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IERPTVNWR1RleHRQYXRoRWxlbWVudEludGVybmFsLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUIyNjU1NENEMEI4MEFERUEwMEE1MEVDMyAvKiBKU1NWR1Rl
eHRQYXRoRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTVkdU
ZXh0UGF0aEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjI2NTU0RTgw
QjgwRDc0OTAwQTUwRUMzIC8qIFJlbmRlclNWR1RleHRQYXRoLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJTVkdUZXh0UGF0aC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUIyNjU1NEU5MEI4MEQ3NDkwMEE1MEVDMyAvKiBSZW5kZXJTVkdU
ZXh0UGF0aC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyU1ZHVGV4
dFBhdGguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjI3NTM1MjcwQjA1MzgxNDAw
MkNFNjRGIC8qIEFmZmluZVRyYW5zZm9ybS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQWZmaW5lVHJhbnNmb3JtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQjI3NTM1MjgwQjA1MzgxNDAwMkNFNjRGIC8qIEFmZmluZVRyYW5zZm9ybS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWZmaW5lVHJhbnNmb3JtLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyNzUzNTJBMEIwNTM4MTQwMDJDRTY0RiAvKiBBZmZpbmVU
cmFuc2Zvcm1DRy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWZm
aW5lVHJhbnNmb3JtQ0cuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTQ2OSw2
ICs1NDg3LDggQEAKIAkJQjJBMDE1QTcwQUY2Q0Q1MzAwNkJDRTBFIC8qIFNWR1Jlc291cmNlTWFz
a2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdSZXNvdXJjZU1hc2tl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMkExMEI5MTBCMzgxOEJEMDAwOTlB
QTQgLyogSW1hZ2VCdWZmZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElt
YWdlQnVmZmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyQTEwQjkzMEIzODE4
RDcwMDA5OUFBNCAvKiBJbWFnZUJ1ZmZlckNHLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBJbWFnZUJ1ZmZlckNHLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQjJCMzNBNUQwQjg4N0NFRjAwQzE1OTg0IC8qIFNWR0NoYXJhY3RlckxheW91dEluZm8u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR0NoYXJhY3Rlckxh
eW91dEluZm8uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMkIzM0E1RTBCODg3
Q0VGMDBDMTU5ODQgLyogU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mby5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mby5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlCMkM5NkQ4QzBCM0FGMkI3MDA1RTgwRUMgLyogSlNTVkdQYXRoU2Vn
Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1NWR1Bh
dGhTZWdDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMkNCNDEwMTBB
Qjc1OEU2MDA0RDlDNDUgLyogU1ZHQUVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBTVkdBRWxlbWVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyQ0I0MTAy
MEFCNzU4RTYwMDREOUM0NSAvKiBTVkdBbmltYXRlQ29sb3JFbGVtZW50LmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudC5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC02MjQxLDYgKzYyNjEsOSBAQAogCQkwODY3RDY5MUZFODQwMjhGQzAy
QUFDMDcgLyogV2ViS2l0ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9
ICgKKwkJCQlCMjY1NTRDQjBCODBBREVBMDBBNTBFQzMgLyogRE9NU1ZHVGV4dFBhdGhFbGVtZW50
LmggKi8sCisJCQkJQjI2NTU0Q0MwQjgwQURFQTAwQTUwRUMzIC8qIERPTVNWR1RleHRQYXRoRWxl
bWVudEludGVybmFsLmggKi8sCisJCQkJQjI2NTU0Q0QwQjgwQURFQTAwQTUwRUMzIC8qIEpTU1ZH
VGV4dFBhdGhFbGVtZW50LmggKi8sCiAJCQkJNjVDOTdBRjIwOEVBOTA4ODAwQUNEMjczIC8qIGNv
bmZpZy5oICovLAogCQkJCUVERUM5ODAyMEFFRDdFMTcwMDU5MTM3RiAvKiBXZWJDb3JlUHJlZml4
LmggKi8sCiAJCQkJOTMwNzA2MTMwOUUwQ0E4MjAwQjE3RkU0IC8qIERlcml2ZWRTb3VyY2VzLm1h
a2UgKi8sCkBAIC04NzEwLDYgKzg3MzMsOSBAQAogCQkJCUE4QzBGOEQ3MDg5NzAxRjQwMEJBNTEx
NCAvKiBTVkdUZXh0RWxlbWVudC5jcHAgKi8sCiAJCQkJQThDMEY4RDgwODk3MDFGNDAwQkE1MTE0
IC8qIFNWR1RleHRFbGVtZW50LmggKi8sCiAJCQkJQjJDQjQxNTgwQUI3NTkwNDAwNEQ5QzQ1IC8q
IFNWR1RleHRFbGVtZW50LmlkbCAqLywKKwkJCQlCMjY1NTRCRDBCODBBRDYwMDBBNTBFQzMgLyog
U1ZHVGV4dFBhdGhFbGVtZW50LmNwcCAqLywKKwkJCQlCMjY1NTRCRTBCODBBRDYwMDBBNTBFQzMg
LyogU1ZHVGV4dFBhdGhFbGVtZW50LmggKi8sCisJCQkJQjI2NTU0QkYwQjgwQUQ2MDAwQTUwRUMz
IC8qIFNWR1RleHRQYXRoRWxlbWVudC5pZGwgKi8sCiAJCQkJQThDMEY4RDkwODk3MDFGNDAwQkE1
MTE0IC8qIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQuY3BwICovLAogCQkJCUE4QzBGOERBMDg5
NzAxRjQwMEJBNTExNCAvKiBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LmggKi8sCiAJCQkJQjJD
QjQxNTkwQUI3NTkwNDAwNEQ5QzQ1IC8qIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQuaWRsICov
LApAQCAtOTYxNyw2ICs5NjQzLDggQEAKIAkJCQk4NTNDQTlEMTBBRUVDNUU5MDAyMzcyREMgLyog
UmVuZGVyU1ZHSW5saW5lVGV4dC5oICovLAogCQkJCTg1M0NBOUQyMEFFRUM1RTkwMDIzNzJEQyAv
KiBSZW5kZXJTVkdUZXh0LmNwcCAqLywKIAkJCQk4NTNDQTlEMzBBRUVDNUU5MDAyMzcyREMgLyog
UmVuZGVyU1ZHVGV4dC5oICovLAorCQkJCUIyNjU1NEU4MEI4MEQ3NDkwMEE1MEVDMyAvKiBSZW5k
ZXJTVkdUZXh0UGF0aC5jcHAgKi8sCisJCQkJQjI2NTU0RTkwQjgwRDc0OTAwQTUwRUMzIC8qIFJl
bmRlclNWR1RleHRQYXRoLmggKi8sCiAJCQkJODUzQ0E5RDQwQUVFQzVFOTAwMjM3MkRDIC8qIFJl
bmRlclNWR1RTcGFuLmNwcCAqLywKIAkJCQk4NTNDQTlENTBBRUVDNUU5MDAyMzcyREMgLyogUmVu
ZGVyU1ZHVFNwYW4uaCAqLywKIAkJCQlBOERGNEFFMjA5ODBDNDJDMDA1Mjk4MUIgLyogUmVuZGVy
VGFibGUuY3BwICovLApAQCAtOTY0OSw2ICs5Njc3LDggQEAKIAkJCQk5Mzc5OUVGNzBCRjI3NDM2
MDBEMEYyMzAgLyogUmVuZGVyV29yZEJyZWFrLmggKi8sCiAJCQkJQThDRkY1RTAwQTE1NUEwNTAw
MEE0MjM0IC8qIFJvb3RJbmxpbmVCb3guY3BwICovLAogCQkJCUE4Q0ZGNURBMEExNTVBMDUwMDBB
NDIzNCAvKiBSb290SW5saW5lQm94LmggKi8sCisJCQkJQjJCMzNBNUQwQjg4N0NFRjAwQzE1OTg0
IC8qIFNWR0NoYXJhY3RlckxheW91dEluZm8uY3BwICovLAorCQkJCUIyQjMzQTVFMEI4ODdDRUYw
MEMxNTk4NCAvKiBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvLmggKi8sCiAJCQkJODUzQ0E5RTIwQUVF
QzYwODAwMjM3MkRDIC8qIFNWR0lubGluZUZsb3dCb3guY3BwICovLAogCQkJCTg1M0NBOUUzMEFF
RUM2MDgwMDIzNzJEQyAvKiBTVkdJbmxpbmVGbG93Qm94LmggKi8sCiAJCQkJQUEwOTcyQ0EwQjY5
NDdBODAwQTcwNUU5IC8qIFNWR0lubGluZVRleHRCb3guY3BwICovLApAQCAtMTEyOTUsOSArMTEz
MjUsMTUgQEAKIAkJCQlFMTBCOTM3QzBCNzNDMDBBMDAzRUQ4OTAgLyogSlNDdXN0b21YUGF0aE5T
UmVzb2x2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMEI5QjZDMEI3NDc1OTkwMDNFRDg5MCAv
KiBOYXRpdmVYUGF0aE5TUmVzb2x2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMEI5Q0NDMEI3
NDdBNDQwMDNFRDg5MCAvKiBET01DdXN0b21YUGF0aE5TUmVzb2x2ZXIuaCBpbiBIZWFkZXJzICov
LAorCQkJCUIyNjU1NEMxMEI4MEFENjAwMEE1MEVDMyAvKiBTVkdUZXh0UGF0aEVsZW1lbnQuaCBp
biBIZWFkZXJzICovLAorCQkJCUIyNjU1NENFMEI4MEFERUEwMEE1MEVDMyAvKiBET01TVkdUZXh0
UGF0aEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUIyNjU1NENGMEI4MEFERUEwMEE1MEVD
MyAvKiBET01TVkdUZXh0UGF0aEVsZW1lbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
QjI2NTU0RDAwQjgwQURFQTAwQTUwRUMzIC8qIEpTU1ZHVGV4dFBhdGhFbGVtZW50LmggaW4gSGVh
ZGVycyAqLywKKwkJCQlCMjY1NTRFQjBCODBENzQ5MDBBNTBFQzMgLyogUmVuZGVyU1ZHVGV4dFBh
dGguaCBpbiBIZWFkZXJzICovLAogCQkJCTkzM0ExNDMwMEI3RDE4ODYwMEE1M0ZGRCAvKiBUZXh0
RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzM0ExNEI5MEI3RDFENTIwMEE1M0ZGRCAvKiBK
U1RleHRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRERFNjNFRDUwQjdENDVBODAwMjI2OTk4
IC8qIERPTVRleHRFdmVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjJCMzNBNjAwQjg4N0NFRjAw
QzE1OTg0IC8qIFNWR0NoYXJhY3RlckxheW91dEluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTM3
OTE5QzI0MEI3RDE4ODYwMEE1Njk5OCAvKiBQb3NpdGlvbkl0ZXJhdG9yLmggaW4gSGVhZGVycyAq
LywKIAkJCQlERDA1RkUwRDBCOEJBM0M2MDA5QUNERkUgLyogV2ViQ29yZU9iakNFeHRyYXMuaCBp
biBIZWFkZXJzICovLAogCQkJCUFCNENCNEVCMEI4QkRBM0QwMDlGNDBCMCAvKiBKU0hUTUxTZWxl
Y3RFbGVtZW50Q3VzdG9tLmggaW4gSGVhZGVycyAqLywKQEAgLTExNDMwLDYgKzExNDY2LDcgQEAK
IAkJCQk0NkJEMTZFMzBCMjc5NDczMDAxRjA4MzkgLyogbm9uZUN1cnNvci5wbmcgaW4gUmVzb3Vy
Y2VzICovLAogCQkJCUIyREUyODFEMEI1QkZBNTQwMENDMjg5QSAvKiBTVkdFbGVtZW50SW5zdGFu
Y2UuaWRsIGluIFJlc291cmNlcyAqLywKIAkJCQlCMkRFMjgxRTBCNUJGQTU0MDBDQzI4OUEgLyog
U1ZHRWxlbWVudEluc3RhbmNlTGlzdC5pZGwgaW4gUmVzb3VyY2VzICovLAorCQkJCUIyNjU1NEMy
MEI4MEFENjAwMEE1MEVDMyAvKiBTVkdUZXh0UGF0aEVsZW1lbnQuaWRsIGluIFJlc291cmNlcyAq
LywKIAkJCQk5MzNBMTQyRjBCN0QxODg2MDBBNTNGRkQgLyogVGV4dEV2ZW50LmlkbCBpbiBSZXNv
dXJjZXMgKi8sCiAJCQkJNDY0RUEyNzMwQjhBMzUwQjAwQThFNkUzIC8qIGNyb3NzSGFpckN1cnNv
ci5wbmcgaW4gUmVzb3VyY2VzICovLAogCQkJCTQ2NEVBMjc0MEI4QTM1MEIwMEE4RTZFMyAvKiBu
b3RBbGxvd2VkQ3Vyc29yLnBuZyBpbiBSZXNvdXJjZXMgKi8sCkBAIC0xMjY3NCw5ICsxMjcxMSwx
MiBAQAogCQkJCUUxMEI5M0MzMEI3M0MyOTEwMDNFRDg5MCAvKiBKU0N1c3RvbVhQYXRoTlNSZXNv
bHZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTBCOUI2RDBCNzQ3NTk5MDAzRUQ4OTAgLyog
TmF0aXZlWFBhdGhOU1Jlc29sdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxMEI5Q0NEMEI3
NDdBNDQwMDNFRDg5MCAvKiBET01DdXN0b21YUGF0aE5TUmVzb2x2ZXIubW0gaW4gU291cmNlcyAq
LywKKwkJCQlCMjY1NTRDMDBCODBBRDYwMDBBNTBFQzMgLyogU1ZHVGV4dFBhdGhFbGVtZW50LmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCUIyNjU1NEVBMEI4MEQ3NDkwMEE1MEVDMyAvKiBSZW5kZXJT
VkdUZXh0UGF0aC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzNBMTQyRTBCN0QxODg2MDBBNTNG
RkQgLyogVGV4dEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzM0ExNEFBMEI3RDFEMDkw
MEE1M0ZGRCAvKiBET01UZXh0RXZlbnQubW0gaW4gU291cmNlcyAqLywKIAkJCQk5MzNBMTRCODBC
N0QxRDUyMDBBNTNGRkQgLyogSlNUZXh0RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjJC
MzNBNUYwQjg4N0NFRjAwQzE1OTg0IC8qIFNWR0NoYXJhY3RlckxheW91dEluZm8uY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQTdDRkIzRDEwQjdFRDEwQTAwNzBDMzJEIC8qIERyYWdJbWFnZS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlBN0NGQjNENTBCN0VEMTE4MDA3MEMzMkQgLyogRHJhZ0ltYWdl
TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMzc5MTlDMjMwQjdEMTg4NjAwQTU2OTk4IC8qIFBv
c2l0aW9uSXRlcmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBXZWJDb3JlL2Nzcy9zdmcu
Y3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL3N2Zy5jc3MJKHJldmlzaW9uIDIxNjAzKQor
KysgV2ViQ29yZS9jc3Mvc3ZnLmNzcwkod29ya2luZyBjb3B5KQpAQCAtNTAsNyArNTAsNyBAQCB0
ZXh0LCBmb3JlaWduT2JqZWN0IHsKICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50CiB9CiAK
LXRleHQsIHRzcGFuIHsKK3RleHQsIHRzcGFuLCB0ZXh0UGF0aCB7CiAgICB3aGl0ZS1zcGFjZTog
bm93cmFwCiB9CiAKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFRmxvb2RFbGVtZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRUZsb29kRWxlbWVudC5jcHAJ
KHJldmlzaW9uIDIxNjAzKQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVGbG9vZEVsZW1lbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiU1ZHRkVGbG9v
ZEVsZW1lbnQuaCIKIAogI2luY2x1ZGUgIkF0dHIuaCIKKyNpbmNsdWRlICJSZW5kZXJTdHlsZS5o
IgogI2luY2x1ZGUgIlNWR05hbWVzLmgiCiAjaW5jbHVkZSAiU1ZHUmVuZGVyU3R5bGUuaCIKICNp
bmNsdWRlICJTVkdSZXNvdXJjZUZpbHRlci5oIgpJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZH
VFNwYW5FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdUU3Bh
bkVsZW1lbnQuY3BwCShyZXZpc2lvbiAyMTYwMykKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1RT
cGFuRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICAgIENv
cHlyaWdodCAoQykgMjAwNCwgMjAwNSBOaWtvbGFzIFppbW1lcm1hbm4gPHdpbGRmb3hAa2RlLm9y
Zz4KKyAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5u
IDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAgICAyMDA0LCAyMDA1LCAyMDA2
IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CiAKICAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUg
S0RFIHByb2plY3QKQEAgLTIxLDYgKzIxLDcgQEAKICovCiAKICNpbmNsdWRlICJjb25maWcuaCIK
KwogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZHVFNwYW5FbGVtZW50LmgiCiAKQEAgLTQy
LDggKzQzLDEzIEBAIFNWR1RTcGFuRWxlbWVudDo6flNWR1RTcGFuRWxlbWVudCgpCiBib29sIFNW
R1RTcGFuRWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihOb2RlKiBjaGlsZCkgY29u
c3QKIHsKICAgICBpZiAoY2hpbGQtPmlzVGV4dE5vZGUoKSB8fCBjaGlsZC0+aGFzVGFnTmFtZShT
VkdOYW1lczo6dHNwYW5UYWcpIHx8Ci0gICAgICAgIGNoaWxkLT5oYXNUYWdOYW1lKFNWR05hbWVz
Ojp0cmVmVGFnKSkKKyAgICAgICAgY2hpbGQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnRyZWZUYWcp
CisjaWYgRU5BQkxFKFNWR19FWFBFUklNRU5UQUxfRkVBVFVSRVMpCisgICAgICAgIHx8IGNoaWxk
LT5oYXNUYWdOYW1lKFNWR05hbWVzOjp0ZXh0UGF0aFRhZykKKyNlbmRpZgorICAgICAgICkKICAg
ICAgICAgcmV0dXJuIHRydWU7CisKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKQEAgLTU0LDYgKzYw
LDYgQEAgUmVuZGVyT2JqZWN0KiBTVkdUU3BhbkVsZW1lbnQ6OmNyZWF0ZVJlbgogCiB9CiAKLS8v
IHZpbTp0cz00Om5vZXQKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQogCisvLyB2aW06dHM9NDpub2V0
CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdUZXh0RWxlbWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHVGV4dEVsZW1lbnQuY3BwCShyZXZpc2lvbiAyMTYwMykK
KysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1RleHRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1IE5pa29sYXMg
WmltbWVybWFubiA8d2lsZGZveEBrZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAw
NSwgMjAwNyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAgICAgICAg
ICAgICAgICAgIDIwMDQsIDIwMDUsIDIwMDYgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KIAogICAg
IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUgcHJvamVjdApAQCAtMjEsNiArMjEsNyBAQAog
Ki8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgorCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJT
VkdUZXh0RWxlbWVudC5oIgogCkBAIC0xMjEsMTUgKzEyMiwxOCBAQCBSZW5kZXJPYmplY3QqIFNW
R1RleHRFbGVtZW50OjpjcmVhdGVSZW5kCiAKIGJvb2wgU1ZHVGV4dEVsZW1lbnQ6OmNoaWxkU2hv
dWxkQ3JlYXRlUmVuZGVyZXIoTm9kZSogY2hpbGQpIGNvbnN0CiB7Ci0gICAgaWYgKGNoaWxkLT5p
c1RleHROb2RlKCkgfHwgY2hpbGQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnRzcGFuVGFnKQotICAg
ICAgICB8fCBjaGlsZC0+aGFzVGFnTmFtZShTVkdOYW1lczo6YVRhZykKLSAgICAgICAgfHwgY2hp
bGQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnRyZWZUYWcpKQorICAgIGlmIChjaGlsZC0+aXNUZXh0
Tm9kZSgpIHx8IGNoaWxkLT5oYXNUYWdOYW1lKFNWR05hbWVzOjp0c3BhblRhZykgfHwKKyAgICAg
ICAgY2hpbGQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnRyZWZUYWcpIHx8IGNoaWxkLT5oYXNUYWdO
YW1lKFNWR05hbWVzOjphVGFnKQorI2lmIEVOQUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRVUkVT
KQorICAgICAgICB8fCBjaGlsZC0+aGFzVGFnTmFtZShTVkdOYW1lczo6dGV4dFBhdGhUYWcpCisj
ZW5kaWYKKyAgICAgICApCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIHJldHVybiBmYWxzZTsK
IH0KIAogfQogCi0vLyB2aW06dHM9NDpub2V0CiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKIAorLy8g
dmltOnRzPTQ6bm9ldApJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQu
Y3BwCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50
LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNDkgQEAKKy8qCisgICAgQ29weXJpZ2h0IChD
KSAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorCisgICAgVGhp
cyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBwcm9qZWN0CisKKyAgICBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAg
ICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKKyAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
CisgICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisK
KyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAgICB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCisgICAg
Qm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisK
KyNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykKKyNp
bmNsdWRlICJTVkdUZXh0UGF0aEVsZW1lbnQuaCIKKworI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9y
bS5oIgorI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgorI2luY2x1ZGUgIlJlbmRlclNWR1RleHRQYXRo
LmgiCisjaW5jbHVkZSAiU1ZHTGVuZ3RoTGlzdC5oIgorI2luY2x1ZGUgIlNWR1BhdGhFbGVtZW50
LmgiCisjaW5jbHVkZSAiU1ZHUmVuZGVyU3R5bGUuaCIKKyNpbmNsdWRlICJTVkdUZXh0UGF0aEVs
ZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdUcmFuc2Zvcm1MaXN0LmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworU1ZHVGV4dFBhdGhFbGVtZW50OjpTVkdUZXh0UGF0aEVsZW1lbnQoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvYykKKyAgICA6IFNWR1RleHRDb250ZW50
RWxlbWVudCh0YWdOYW1lLCBkb2MpCisgICAgLCBTVkdVUklSZWZlcmVuY2UoKQorICAgICwgbV9z
dGFydE9mZnNldCh0aGlzLCBMZW5ndGhNb2RlT3RoZXIpCisgICAgLCBtX21ldGhvZChTVkdfVEVY
VFBBVEhfTUVUSE9EVFlQRV9BTElHTikKKyAgICAsIG1fc3BhY2luZyhTVkdfVEVYVFBBVEhfU1BB
Q0lOR1RZUEVfRVhBQ1QpCit7Cit9CisKK1NWR1RleHRQYXRoRWxlbWVudDo6flNWR1RleHRQYXRo
RWxlbWVudCgpCit7Cit9CisKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1RleHRQ
YXRoRWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgU3RhcnRPZmZzZXQsIHN0YXJ0
T2Zmc2V0LCBTVkdOYW1lczo6c3RhcnRPZmZzZXRBdHRyLmxvY2FsTmFtZSgpLCBtX3N0YXJ0T2Zm
c2V0KQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHVGV4dFBhdGhFbGVtZW50LCBp
bnQsIEVudW1lcmF0aW9uLCBlbnVtZXJhdGlvbiwgTWV0aG9kLCBtZXRob2QsIFNWR05hbWVzOjpt
ZXRob2RBdHRyLmxvY2FsTmFtZSgpLCBtX21ldGhvZCkKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklO
SVRJT05TKFNWR1RleHRQYXRoRWxlbWVudCwgaW50LCBFbnVtZXJhdGlvbiwgZW51bWVyYXRpb24s
IFNwYWNpbmcsIHNwYWNpbmcsIFNWR05hbWVzOjpzcGFjaW5nQXR0ci5sb2NhbE5hbWUoKSwgbV9z
cGFjaW5nKQorCit2b2lkIFNWR1RleHRQYXRoRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUo
TWFwcGVkQXR0cmlidXRlKiBhdHRyKQoreworICAgIGNvbnN0IFN0cmluZyYgdmFsdWUgPSBhdHRy
LT52YWx1ZSgpOworCisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6c3RhcnRPZmZz
ZXRBdHRyKQorICAgICAgICBzZXRTdGFydE9mZnNldEJhc2VWYWx1ZShTVkdMZW5ndGgodGhpcywg
TGVuZ3RoTW9kZU90aGVyLCB2YWx1ZSkpOworICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBT
VkdOYW1lczo6bWV0aG9kQXR0cikgeworICAgICAgICBpZiAodmFsdWUgPT0gImFsaWduIikKKyAg
ICAgICAgICAgIHNldFNwYWNpbmdCYXNlVmFsdWUoU1ZHX1RFWFRQQVRIX01FVEhPRFRZUEVfQUxJ
R04pOworICAgICAgICBlbHNlIGlmKHZhbHVlID09ICJzdHJldGNoIikKKyAgICAgICAgICAgIHNl
dFNwYWNpbmdCYXNlVmFsdWUoU1ZHX1RFWFRQQVRIX01FVEhPRFRZUEVfU1RSRVRDSCk7CisgICAg
fSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OnNwYWNpbmdBdHRyKSB7CisgICAg
ICAgIGlmICh2YWx1ZSA9PSAiYXV0byIpCisgICAgICAgICAgICBzZXRNZXRob2RCYXNlVmFsdWUo
U1ZHX1RFWFRQQVRIX1NQQUNJTkdUWVBFX0FVVE8pOworICAgICAgICBlbHNlIGlmICh2YWx1ZSA9
PSAiZXhhY3QiKQorICAgICAgICAgICAgc2V0TWV0aG9kQmFzZVZhbHVlKFNWR19URVhUUEFUSF9T
UEFDSU5HVFlQRV9FWEFDVCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKFNWR1VSSVJlZmVy
ZW5jZTo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCisgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIFNWR1RleHRDb250ZW50RWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7
CisgICAgfQorfQorCitSZW5kZXJPYmplY3QqIFNWR1RleHRQYXRoRWxlbWVudDo6Y3JlYXRlUmVu
ZGVyZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsZSogc3R5bGUpCit7CisgICAgcmV0
dXJuIG5ldyAoYXJlbmEpIFJlbmRlclNWR1RleHRQYXRoKHRoaXMpOworfQorCitib29sIFNWR1Rl
eHRQYXRoRWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihOb2RlKiBjaGlsZCkgY29u
c3QKK3sKKyAgICBpZiAoY2hpbGQtPmlzVGV4dE5vZGUoKSB8fCBjaGlsZC0+aGFzVGFnTmFtZShT
VkdOYW1lczo6dHJlZlRhZykgfHwKKyAgICAgICAgY2hpbGQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6
OnRzcGFuVGFnKSB8fCBjaGlsZC0+aGFzVGFnTmFtZShTVkdOYW1lczo6dGV4dFBhdGhUYWcpKQor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBTVkdU
ZXh0UGF0aEVsZW1lbnQ6Omluc2VydGVkSW50b0RvY3VtZW50KCkKK3sKKyAgICBTVkdFbGVtZW50
OjppbnNlcnRlZEludG9Eb2N1bWVudCgpOworCisgICAgU3RyaW5nIGlkID0gU1ZHVVJJUmVmZXJl
bmNlOjpnZXRUYXJnZXQoaHJlZigpKTsKKyAgICBFbGVtZW50KiB0YXJnZXRFbGVtZW50ID0gb3du
ZXJEb2N1bWVudCgpLT5nZXRFbGVtZW50QnlJZChpZCk7CisgICAgaWYgKCF0YXJnZXRFbGVtZW50
KSB7CisgICAgICAgIGRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS0+YWRkUGVuZGlu
Z1Jlc291cmNlKGlkLCB0aGlzKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGJ1aWxk
UGVuZGluZ1Jlc291cmNlKCk7Cit9CisKK3ZvaWQgU1ZHVGV4dFBhdGhFbGVtZW50OjpidWlsZFBl
bmRpbmdSZXNvdXJjZSgpCit7CisgICAgLy8gRklYTUU6IFJlYWwgbG9naWMgaGVyZSEKKyAgICBp
ZiAoYXR0YWNoZWQoKSkKKyAgICAgICAgZGV0YWNoKCk7CisgICAgCisgICAgQVNTRVJUKCFhdHRh
Y2hlZCgpKTsKKyAgICBhdHRhY2goKTsKK30KKwordm9pZCBTVkdUZXh0UGF0aEVsZW1lbnQ6OmF0
dGFjaCgpCit7IAorICAgIFNWR1N0eWxlZEVsZW1lbnQ6OmF0dGFjaCgpOworCisgICAgaWYgKCFy
ZW5kZXJlcigpKQorICAgICAgICByZXR1cm47CisKKyAgICBTdHJpbmcgaWQgPSBTVkdVUklSZWZl
cmVuY2U6OmdldFRhcmdldChocmVmKCkpOworICAgIEVsZW1lbnQqIHRhcmdldEVsZW1lbnQgPSBv
d25lckRvY3VtZW50KCktPmdldEVsZW1lbnRCeUlkKGlkKTsKKyAgICBBU1NFUlQodGFyZ2V0RWxl
bWVudCk7CisKKyAgICBpZiAoIXRhcmdldEVsZW1lbnQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnBh
dGhUYWcpKQorICAgICAgICByZXR1cm47CisKKyAgICBTVkdQYXRoRWxlbWVudCogcGF0aEVsZW1l
bnQgPSBzdGF0aWNfY2FzdDxTVkdQYXRoRWxlbWVudCo+KHRhcmdldEVsZW1lbnQpOworCisgICAg
UmVuZGVyU1ZHVGV4dFBhdGgqIHRleHRQYXRoID0gc3RhdGljX2Nhc3Q8UmVuZGVyU1ZHVGV4dFBh
dGgqPihyZW5kZXJlcigpKTsKKyAgICBBU1NFUlQodGV4dFBhdGgpOworCisgICAgdGV4dFBhdGgt
PnNldFN0YXJ0T2Zmc2V0KG1fc3RhcnRPZmZzZXQudmFsdWVBc1BlcmNlbnRhZ2UoKSk7CisgICAg
dGV4dFBhdGgtPnNldEV4YWN0QWxpZ25tZW50KG1fbWV0aG9kID09IFNWR19URVhUUEFUSF9TUEFD
SU5HVFlQRV9FWEFDVCk7CisgICAgdGV4dFBhdGgtPnNldFN0cmV0Y2hNZXRob2QobV9zcGFjaW5n
ID09IFNWR19URVhUUEFUSF9NRVRIT0RUWVBFX1NUUkVUQ0gpOworCisgICAgLy8gVE9ETzogQ2F0
Y2ggdHJhbnNmb3JtIHVwZGF0ZXMgOi0pCisgICAgUGF0aCBwYXRoRGF0YSA9IHBhdGhFbGVtZW50
LT50b1BhdGhEYXRhKCk7CisgICAgcGF0aERhdGEudHJhbnNmb3JtKHBhdGhFbGVtZW50LT5sb2Nh
bE1hdHJpeCgpKTsKKyAgICB0ZXh0UGF0aC0+c2V0TGF5b3V0UGF0aChwYXRoRGF0YSk7Cit9CisK
K30KKworI2VuZGlmIC8vIEVOQUJMRShTVkcpCisKKy8vIHZpbTp0cz00Om5vZXQKSW5kZXg6IFdl
YkNvcmUva3N2ZzIvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUva3N2ZzIvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29y
ZS9rc3ZnMi9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
NzggQEAKKy8qCisgICAgQ29weXJpZ2h0IChDKSAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emlt
bWVybWFubkBrZGUub3JnPgorCisgICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBwcm9q
ZWN0CisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgICB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgICBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICAgYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KKyAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1w
bGUgUGxhY2UgLSBTdWl0ZSAzMzAsCisgICAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisq
LworCisjaWZuZGVmIFNWR1RleHRQYXRoRWxlbWVudF9oCisjZGVmaW5lIFNWR1RleHRQYXRoRWxl
bWVudF9oCisKKyNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9GRUFU
VVJFUykKKyNpbmNsdWRlICJTVkdUZXh0Q29udGVudEVsZW1lbnQuaCIKKworI2luY2x1ZGUgIlNW
R1VSSVJlZmVyZW5jZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZQoreworICAgIGVudW0gU1ZHVGV4
dFBhdGhNZXRob2RUeXBlIHsKKyAgICAgICAgU1ZHX1RFWFRQQVRIX01FVEhPRFRZUEVfVU5LTk9X
TiA9IDAsCisgICAgICAgIFNWR19URVhUUEFUSF9NRVRIT0RUWVBFX0FMSUdOID0gMSwKKyAgICAg
ICAgU1ZHX1RFWFRQQVRIX01FVEhPRFRZUEVfU1RSRVRDSCA9IDIKKyAgICB9OworCisgICAgZW51
bSBTVkdUZXh0UGF0aFNwYWNpbmdUeXBlIHsKKyAgICAgICAgU1ZHX1RFWFRQQVRIX1NQQUNJTkdU
WVBFX1VOS05PV04gPSAwLAorICAgICAgICBTVkdfVEVYVFBBVEhfU1BBQ0lOR1RZUEVfQVVUTyA9
IDEsCisgICAgICAgIFNWR19URVhUUEFUSF9TUEFDSU5HVFlQRV9FWEFDVCA9IDIKKyAgICB9Owor
CisgICAgY2xhc3MgU1ZHVGV4dFBhdGhFbGVtZW50IDogcHVibGljIFNWR1RleHRDb250ZW50RWxl
bWVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHVVJJUmVmZXJl
bmNlCisgICAgeworICAgIHB1YmxpYzoKKyAgICAgICAgU1ZHVGV4dFBhdGhFbGVtZW50KGNvbnN0
IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOworICAgICAgICB2aXJ0dWFsIH5TVkdUZXh0UGF0
aEVsZW1lbnQoKTsKKyAKKyAgICAgICAgdmlydHVhbCB2b2lkIGluc2VydGVkSW50b0RvY3VtZW50
KCk7CisgICAgICAgIHZpcnR1YWwgdm9pZCBidWlsZFBlbmRpbmdSZXNvdXJjZSgpOworCisgICAg
ICAgIHZpcnR1YWwgdm9pZCBhdHRhY2goKTsKKworICAgICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VN
YXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRyKTsKKyAgICAgICAgdmlydHVhbCBi
b29sIHJlbmRlcmVySXNOZWVkZWQoUmVuZGVyU3R5bGUqIHN0eWxlKSB7IHJldHVybiBTdHlsZWRF
bGVtZW50OjpyZW5kZXJlcklzTmVlZGVkKHN0eWxlKTsgfQorICAgICAgICB2aXJ0dWFsIFJlbmRl
ck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopOworCisg
ICAgICAgIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihOb2RlKikgY29uc3Q7CisgICAg
CisgICAgcHJvdGVjdGVkOgorICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRl
eHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQorCisgICAgcHJpdmF0ZToKKyAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHVVJJUmVmZXJlbmNl
LCBTdHJpbmcsIEhyZWYsIGhyZWYpCisKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFS
QVRJT05TKFNWR1RleHRQYXRoRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFN0YXJ0T2Zm
c2V0LCBzdGFydE9mZnNldCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05T
KFNWR1RleHRQYXRoRWxlbWVudCwgaW50LCBpbnQsIE1ldGhvZCwgbWV0aG9kKQorICAgICAgICBB
TklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHVGV4dFBhdGhFbGVtZW50LCBpbnQsIGlu
dCwgU3BhY2luZywgc3BhY2luZykKKyAgICB9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoU1ZHKQorI2VuZGlmCisKKy8vIHZpbTp0cz00Om5vZXQKSW5kZXg6
IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9rc3ZnMi9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmlkbAkocmV2aXNpb24gMCkKKysr
IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5pZGwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcgTmlrb2xhcyBaaW1tZXJt
YW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKK21vZHVsZSBzdmcgeworCisgICAgaW50
ZXJmYWNlIFtDb25kaXRpb25hbD1TVkcmU1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJFU10gU1ZHVGV4
dFBhdGhFbGVtZW50IDogU1ZHVGV4dENvbnRlbnRFbGVtZW50LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVkdVUklSZWZlcmVuY2UgeyAgICAK
KyAgICAgICAgLy8gdGV4dFBhdGggTWV0aG9kIFR5cGVzCisgICAgICAgIGNvbnN0IHVuc2lnbmVk
IHNob3J0IFRFWFRQQVRIX01FVEhPRFRZUEVfVU5LTk9XTiAgID0gMDsKKyAgICAgICAgY29uc3Qg
dW5zaWduZWQgc2hvcnQgVEVYVFBBVEhfTUVUSE9EVFlQRV9BTElHTiAgICAgPSAxOworICAgICAg
ICBjb25zdCB1bnNpZ25lZCBzaG9ydCBURVhUUEFUSF9NRVRIT0RUWVBFX1NUUkVUQ0ggICA9IDI7
CisKKyAgICAgICAgLy8gdGV4dFBhdGggU3BhY2luZyBUeXBlcworICAgICAgICBjb25zdCB1bnNp
Z25lZCBzaG9ydCBURVhUUEFUSF9TUEFDSU5HVFlQRV9VTktOT1dOICA9IDA7CisgICAgICAgIGNv
bnN0IHVuc2lnbmVkIHNob3J0IFRFWFRQQVRIX1NQQUNJTkdUWVBFX0FVVE8gICAgID0gMTsKKyAg
ICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgVEVYVFBBVEhfU1BBQ0lOR1RZUEVfRVhBQ1QgICAg
PSAyOworCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZExlbmd0aCBzdGFy
dE9mZnNldDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0FuaW1hdGVkRW51bWVyYXRp
b24gbWV0aG9kOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHQW5pbWF0ZWRFbnVtZXJh
dGlvbiBzcGFjaW5nOworICAgIH07CisKK30KSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL3N2Z3Rh
Z3MuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvc3ZndGFncy5pbgkocmV2aXNp
b24gMjE2MDMpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9zdmd0YWdzLmluCSh3b3JraW5nIGNvcHkp
CkBAIC05NCw3ICs5NCw3IEBAIHN2Zwogc3dpdGNoCiBzeW1ib2wKIHRleHQKLSNpZiAwCisjaWZk
ZWYgRU5BQkxFX1NWR19FWFBFUklNRU5UQUxfRkVBVFVSRVMKIHRleHRQYXRoCiAjZW5kaWYKIHRp
dGxlCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAkocmV2aXNpb24gMjE2MDMp
CisrKyBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjAwLDcgKzIwMCw3IEBAIGludCBJbmxpbmVUZXh0Qm94OjpwbGFjZUVsbGlwc2lzQm94KGJv
b2wKICAgICByZXR1cm4gLTE7CiB9CiAKLXN0YXRpYyBDb2xvciBjb3JyZWN0ZWRUZXh0Q29sb3Io
Q29sb3IgdGV4dENvbG9yLCBDb2xvciBiYWNrZ3JvdW5kQ29sb3IpIAorQ29sb3IgY29ycmVjdGVk
VGV4dENvbG9yKENvbG9yIHRleHRDb2xvciwgQ29sb3IgYmFja2dyb3VuZENvbG9yKSAKIHsKICAg
ICAvLyBBZGp1c3QgdGhlIHRleHQgY29sb3IgaWYgaXQgaXMgdG9vIGNsb3NlIHRvIHRoZSBiYWNr
Z3JvdW5kIGNvbG9yLAogICAgIC8vIGJ5IGRhcmtlbmluZyBvciBsaWdodGVuaW5nIGl0IHRvIG1v
dmUgaXQgZnVydGhlciBhd2F5LgpAQCAtMjIxLDcgKzIyMSw3IEBAIHN0YXRpYyBDb2xvciBjb3Jy
ZWN0ZWRUZXh0Q29sb3IoQ29sb3IgdGUKICAgICByZXR1cm4gdGV4dENvbG9yLmxpZ2h0KCk7CiB9
CiAKLXN0YXRpYyB2b2lkIHVwZGF0ZUdyYXBoaWNzQ29udGV4dChHcmFwaGljc0NvbnRleHQqIGNv
bnRleHQsIGNvbnN0IENvbG9yJiBmaWxsQ29sb3IsIGNvbnN0IENvbG9yJiBzdHJva2VDb2xvciwg
ZmxvYXQgc3Ryb2tlVGhpY2tuZXNzKQordm9pZCB1cGRhdGVHcmFwaGljc0NvbnRleHQoR3JhcGhp
Y3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBDb2xvciYgZmlsbENvbG9yLCBjb25zdCBDb2xvciYg
c3Ryb2tlQ29sb3IsIGZsb2F0IHN0cm9rZVRoaWNrbmVzcykKIHsKICAgICBpbnQgbW9kZSA9IGNv
bnRleHQtPnRleHREcmF3aW5nTW9kZSgpOwogICAgIGlmIChzdHJva2VUaGlja25lc3MgPiAwKSB7
CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5oCShyZXZpc2lvbiAyMTYwMykKKysrIFdl
YkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guaAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiAr
NDAsMTAgQEAgY2xhc3MgTWFya2VkVGV4dFVuZGVybGluZTsKIGNsYXNzIEhpdFRlc3RSZXN1bHQ7
CiBjbGFzcyBQb3NpdGlvbjsKIAorLy8gSGVscGVyIGZ1bmN0aW9ucyBzaGFyZWQgYnkgSW5saW5l
VGV4dEJveCAvIFNWR1Jvb3RJbmxpbmVCb3gKK3ZvaWQgdXBkYXRlR3JhcGhpY3NDb250ZXh0KEdy
YXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgQ29sb3ImIGZpbGxDb2xvciwgY29uc3QgQ29s
b3ImIHN0cm9rZUNvbG9yLCBmbG9hdCBzdHJva2VUaGlja25lc3MpOworQ29sb3IgY29ycmVjdGVk
VGV4dENvbG9yKENvbG9yIHRleHRDb2xvciwgQ29sb3IgYmFja2dyb3VuZENvbG9yKTsKKwogY2xh
c3MgSW5saW5lVGV4dEJveCA6IHB1YmxpYyBJbmxpbmVSdW5Cb3ggewogcHVibGljOgogICAgIElu
bGluZVRleHRCb3goUmVuZGVyT2JqZWN0KiBvYmopCkBAIC02Nyw3ICs3MSw3IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIGludCBzZWxlY3Rpb25Ub3AoKTsKICAgICB2aXJ0dWFsIGludCBzZWxlY3Rp
b25IZWlnaHQoKTsKIAotICAgIEludFJlY3Qgc2VsZWN0aW9uUmVjdChpbnQgYWJzeCwgaW50IGFi
c3ksIGludCBzdGFydFBvcywgaW50IGVuZFBvcyk7CisgICAgdmlydHVhbCBJbnRSZWN0IHNlbGVj
dGlvblJlY3QoaW50IGFic3gsIGludCBhYnN5LCBpbnQgc3RhcnRQb3MsIGludCBlbmRQb3MpOwog
ICAgIGJvb2wgaXNTZWxlY3RlZChpbnQgc3RhcnRQb3MsIGludCBlbmRQb3MpIGNvbnN0OwogICAg
IHZvaWQgc2VsZWN0aW9uU3RhcnRFbmQoaW50JiBzUG9zLCBpbnQmIGVQb3MpOwogCkBAIC0xMjEs
OCArMTI1LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdW5zaWduZWQgY2FyZXRNYXhSZW5kZXJl
ZE9mZnNldCgpIGNvbnN0OwogCiAgICAgaW50IHRleHRQb3MoKSBjb25zdDsKLSAgICBpbnQgb2Zm
c2V0Rm9yUG9zaXRpb24oaW50IHgsIGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMgPSB0cnVlKSBj
b25zdDsKLSAgICBpbnQgcG9zaXRpb25Gb3JPZmZzZXQoaW50IG9mZnNldCkgY29uc3Q7CisgICAg
dmlydHVhbCBpbnQgb2Zmc2V0Rm9yUG9zaXRpb24oaW50IHgsIGJvb2wgaW5jbHVkZVBhcnRpYWxH
bHlwaHMgPSB0cnVlKSBjb25zdDsKKyAgICB2aXJ0dWFsIGludCBwb3NpdGlvbkZvck9mZnNldChp
bnQgb2Zmc2V0KSBjb25zdDsKIAogICAgIGJvb2wgY29udGFpbnNDYXJldE9mZnNldChpbnQgb2Zm
c2V0KSBjb25zdDsgLy8gZmFsc2UgZm9yIG9mZnNldCBhZnRlciBsaW5lIGJyZWFrCiAKSW5kZXg6
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR0lubGluZVRleHQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR0lubGluZVRleHQuY3BwCShyZXZpc2lvbiAyMTYw
MykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR0lubGluZVRleHQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zLDYgKzMsNyBAQAogICoKICAqIENvcHlyaWdodCAoQykgMjAwNiBPbGl2ZXIg
SHVudCA8b2poMTZAc3R1ZGVudC5jYW50ZXJidXJ5LmFjLm56PgogICogICAgICAgICAgIChDKSAy
MDA2IEFwcGxlIENvbXB1dGVyIEluYy4KKyAqICAgICAgICAgICAoQykgMjAwNyBOaWtvbGFzIFpp
bW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjQs
MTIgKzI1LDEzIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKICNpZiBFTkFCTEUoU1ZHKQotCiAj
aW5jbHVkZSAiUmVuZGVyU1ZHSW5saW5lVGV4dC5oIgogCiAjaW5jbHVkZSAiQWZmaW5lVHJhbnNm
b3JtLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCisjaW5jbHVkZSAiUmVuZGVyQmxv
Y2suaCIKICNpbmNsdWRlICJTVkdJbmxpbmVUZXh0Qm94LmgiCisjaW5jbHVkZSAiU1ZHUm9vdElu
bGluZUJveC5oIgogI2luY2x1ZGUgIktDYW52YXNSZW5kZXJpbmdTdHlsZS5oIgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC01Nyw2ICs1OSwzNSBAQCBJbmxpbmVUZXh0Qm94KiBSZW5kZXJTVkdJ
bmxpbmVUZXh0OjpjcmVhCiAgICAgcmV0dXJuIG5ldyAocmVuZGVyQXJlbmEoKSkgU1ZHSW5saW5l
VGV4dEJveCh0aGlzKTsKIH0KIAorI2lmIEVOQUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRVUkVT
KQorSW50UmVjdCBSZW5kZXJTVkdJbmxpbmVUZXh0OjpjYXJldFJlY3QoaW50IG9mZnNldCwgRUFm
ZmluaXR5IGFmZmluaXR5LCBpbnQqIGV4dHJhV2lkdGhUb0VuZE9mTGluZSkKK3sKKyAgICAvLyBT
VkcgZG9lc24ndCBoYXZlIGFueSBlZGl0YWJsZSBjb250ZW50IHdoZXJlIGEgY2FyZXQgcmVjdCB3
b3VsZCBiZSBuZWVkZWQKKyAgICByZXR1cm4gSW50UmVjdCgpOwogfQogCitWaXNpYmxlUG9zaXRp
b24gUmVuZGVyU1ZHSW5saW5lVGV4dDo6cG9zaXRpb25Gb3JDb29yZGluYXRlcyhpbnQgeCwgaW50
IHkpCit7CisgICAgaWYgKCFmaXJzdFRleHRCb3goKSB8fCB0ZXh0TGVuZ3RoKCkgPT0gMCkKKyAg
ICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihlbGVtZW50KCksIDAsIERPV05TVFJFQU0pOwor
CisgICAgZm9yIChJbmxpbmVUZXh0Qm94KiBib3ggPSBmaXJzdFRleHRCb3goKTsgYm94OyBib3gg
PSBib3gtPm5leHRUZXh0Qm94KCkpIHsKKyAgICAgICAgU1ZHSW5saW5lVGV4dEJveCogdGV4dEJv
eCA9IHN0YXRpY19jYXN0PFNWR0lubGluZVRleHRCb3gqPihib3gpOworCisgICAgICAgIFNWR1Jv
b3RJbmxpbmVCb3gqIHJvb3RCb3ggPSB0ZXh0Qm94LT5zdmdSb290SW5saW5lQm94KCk7CisgICAg
ICAgIEFTU0VSVChyb290Qm94LT5vYmplY3QoKSk7CisKKyAgICAgICAgaW50IHhTdGFydCA9IHgg
KyByb290Qm94LT5vYmplY3QoKS0+eFBvcygpOworICAgICAgICBpbnQgeVN0YXJ0ID0geSArIHJv
b3RCb3gtPm9iamVjdCgpLT55UG9zKCk7CisKKyAgICAgICAgaW50IG9mZnNldCA9IDA7CisgICAg
ICAgIGlmICh0ZXh0Qm94LT5zdmdDaGFyYWN0ZXJIaXRzUG9zaXRpb24oeFN0YXJ0LCB5U3RhcnQs
IG9mZnNldCkpCisgICAgICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKGVsZW1lbnQoKSwg
b2Zmc2V0ICsgdGV4dEJveC0+c3RhcnQoKSwgRE9XTlNUUkVBTSk7CisgICAgfQorCisgICAgcmV0
dXJuIFZpc2libGVQb3NpdGlvbihlbGVtZW50KCksIDAsIERPV05TVFJFQU0pOworfQorI2VuZGlm
CisKK30KICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU1ZHSW5saW5lVGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clNWR0lubGluZVRleHQuaAkocmV2aXNpb24gMjE2MDMpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJTVkdJbmxpbmVUZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDYgKzM4LDExIEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIEludFJlY3Qgc2VsZWN0aW9uUmVjdChib29sIGNsaXBUb1Zpc2li
bGVDb250ZW50ID0gdHJ1ZSk7CiAgICAgdmlydHVhbCBib29sIGlzU1ZHVGV4dCgpIGNvbnN0IHsg
cmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIElubGluZVRleHRCb3gqIGNyZWF0ZUlubGluZVRl
eHRCb3goKTsKKworI2lmIEVOQUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKQorICAgIHZp
cnR1YWwgSW50UmVjdCBjYXJldFJlY3QoaW50IG9mZnNldCwgRUFmZmluaXR5LCBpbnQqIGV4dHJh
V2lkdGhUb0VuZE9mTGluZSA9IDApOworICAgIHZpcnR1YWwgVmlzaWJsZVBvc2l0aW9uIHBvc2l0
aW9uRm9yQ29vcmRpbmF0ZXMoaW50IHgsIGludCB5KTsKKyNlbmRpZgogfTsKIH0KIApJbmRleDog
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHVGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyU1ZHVGV4dC5jcHAJKHJldmlzaW9uIDIxNjAzKQorKysgV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyU1ZHVGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY3LDcgKzY3
LDcgQEAgdm9pZCBSZW5kZXJTVkdUZXh0OjpsYXlvdXQoKQogICAgICAgICBvbGRPdXRsaW5lQm94
ID0gYWJzb2x1dGVPdXRsaW5lQm94KCk7CiAgICAgfQogCi0gICAgLy8gRklYTUU6IG5lZWQgdG8g
YWxsb3cgZmxvYXRpbmcgcG9pbnQgcG9zaXRpb25zIAorICAgIC8vIEJlc3QgZ3Vlc3MgZm9yIGEg
cmVsYXRpdmUgc3RhcnRpbmcgcG9pbnQKICAgICBTVkdUZXh0RWxlbWVudCogdGV4dCA9IHN0YXRp
Y19jYXN0PFNWR1RleHRFbGVtZW50Kj4oZWxlbWVudCgpKTsKICAgICBpbnQgeE9mZnNldCA9IChp
bnQpKHRleHQtPngoKS0+Z2V0Rmlyc3QoKS52YWx1ZSgpKTsKICAgICBpbnQgeU9mZnNldCA9IChp
bnQpKHRleHQtPnkoKS0+Z2V0Rmlyc3QoKS52YWx1ZSgpKTsKQEAgLTExNCw2ICsxMTQsNyBAQCBi
b29sIFJlbmRlclNWR1RleHQ6Om5vZGVBdFBvaW50KGNvbnN0IEhpCiAgICAgICAgICAgICByZXR1
cm4gUmVuZGVyQmxvY2s6Om5vZGVBdFBvaW50KHJlcXVlc3QsIHJlc3VsdCwgKGludClsb2NhbFgs
IChpbnQpbG9jYWxZLCBfdHgsIF90eSwgaGl0VGVzdEFjdGlvbik7CiAgICAgICAgIH0KICAgICB9
CisKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clNWR1RleHRQYXRoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJT
VkdUZXh0UGF0aC5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJT
VkdUZXh0UGF0aC5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOTEgQEAKKy8qCisgKiBUaGlz
IGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IHByb2plY3QuCisgKgorICogQ29weXJpZ2h0IChD
KSAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg
KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMz
MCwKKyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICoKKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisKKyNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9G
RUFUVVJFUykKKyNpbmNsdWRlICJSZW5kZXJTVkdUZXh0UGF0aC5oIgorCisjaW5jbHVkZSAiQWZm
aW5lVHJhbnNmb3JtLmgiCisjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCisjaW5jbHVkZSAiSW5saW5l
Rmxvd0JveC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlbmRlclNWR1RleHRQYXRoOjpS
ZW5kZXJTVkdUZXh0UGF0aChOb2RlKiBuKQorICAgIDogUmVuZGVyU1ZHSW5saW5lKG4pCisgICAg
LCBtX3N0YXJ0T2Zmc2V0KDAuMCkKKyAgICAsIG1fZXhhY3RBbGlnbm1lbnQodHJ1ZSkKKyAgICAs
IG1fc3RyZXRjaE1ldGhvZChmYWxzZSkKK3sKK30KKworUGF0aCBSZW5kZXJTVkdUZXh0UGF0aDo6
bGF5b3V0UGF0aCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fbGF5b3V0UGF0aDsKK30KKwordm9p
ZCBSZW5kZXJTVkdUZXh0UGF0aDo6c2V0TGF5b3V0UGF0aChjb25zdCBQYXRoJiBwYXRoKQorewor
ICAgIG1fbGF5b3V0UGF0aCA9IHBhdGg7Cit9CisKK2Zsb2F0IFJlbmRlclNWR1RleHRQYXRoOjpz
dGFydE9mZnNldCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc3RhcnRPZmZzZXQ7Cit9CisKK3Zv
aWQgUmVuZGVyU1ZHVGV4dFBhdGg6OnNldFN0YXJ0T2Zmc2V0KGZsb2F0IG9mZnNldCkKK3sKKyAg
ICBtX3N0YXJ0T2Zmc2V0ID0gb2Zmc2V0OworfQorCitib29sIFJlbmRlclNWR1RleHRQYXRoOjpl
eGFjdEFsaWdubWVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZXhhY3RBbGlnbm1lbnQ7Cit9
CisKK3ZvaWQgUmVuZGVyU1ZHVGV4dFBhdGg6OnNldEV4YWN0QWxpZ25tZW50KGJvb2wgdmFsdWUp
Cit7CisgICAgbV9leGFjdEFsaWdubWVudCA9IHZhbHVlOworfQorCitib29sIFJlbmRlclNWR1Rl
eHRQYXRoOjpzdHJldGNoTWV0aG9kKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zdHJldGNoTWV0
aG9kOworfQorCit2b2lkIFJlbmRlclNWR1RleHRQYXRoOjpzZXRTdHJldGNoTWV0aG9kKGJvb2wg
dmFsdWUpCit7CisgICAgbV9zdHJldGNoTWV0aG9kID0gdmFsdWU7Cit9CisKK3ZvaWQgUmVuZGVy
U1ZHVGV4dFBhdGg6OmFic29sdXRlUmVjdHMoVmVjdG9yPEludFJlY3Q+JiByZWN0cywgaW50IHR4
LCBpbnQgdHkpCit7CisgICAgSW5saW5lRmxvd0JveCogaW5pdEZsb3cgPSBmaXJzdExpbmVCb3go
KTsKKyAgICBGbG9hdFJlY3QgYm91bmRzKHR4ICsgaW5pdEZsb3ctPnhQb3MoKSwgdHkgKyBpbml0
Rmxvdy0+eVBvcygpLCB3aWR0aCgpLCBoZWlnaHQoKSk7CisgICAgcmVjdHMuYXBwZW5kKGVuY2xv
c2luZ0ludFJlY3QoYWJzb2x1dGVUcmFuc2Zvcm0oKS5tYXBSZWN0KGJvdW5kcykpKTsKK30KKwor
fQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clNWR1RleHRQYXRoLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZH
VGV4dFBhdGguaAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Rl
eHRQYXRoLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBUaGlzIGZpbGUg
aXMgcGFydCBvZiB0aGUgV2ViS2l0IHByb2plY3QuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA3
IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICoKKyAqIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAq
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
CisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNl
ZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKKyAq
IEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICoKKyAqLworCisjaWZuZGVmIFJlbmRlclNW
R1RleHRQYXRoX2gKKyNkZWZpbmUgUmVuZGVyU1ZHVGV4dFBhdGhfaAorCisjaWYgRU5BQkxFKFNW
RykgJiYgRU5BQkxFKFNWR19FWFBFUklNRU5UQUxfRkVBVFVSRVMpCisjaW5jbHVkZSAiUmVuZGVy
U1ZHSW5saW5lLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworICAgIGNsYXNzIFJlbmRlclNW
R1RleHRQYXRoIDogcHVibGljIFJlbmRlclNWR0lubGluZSB7CisgICAgcHVibGljOgorICAgICAg
ICBSZW5kZXJTVkdUZXh0UGF0aChOb2RlKik7CisKKyAgICAgICAgUGF0aCBsYXlvdXRQYXRoKCkg
Y29uc3Q7CisgICAgICAgIHZvaWQgc2V0TGF5b3V0UGF0aChjb25zdCBQYXRoJik7CisKKyAgICAg
ICAgZmxvYXQgc3RhcnRPZmZzZXQoKSBjb25zdDsKKyAgICAgICAgdm9pZCBzZXRTdGFydE9mZnNl
dChmbG9hdCk7CisKKyAgICAgICAgYm9vbCBleGFjdEFsaWdubWVudCgpIGNvbnN0OworICAgICAg
ICB2b2lkIHNldEV4YWN0QWxpZ25tZW50KGJvb2wpOworCisgICAgICAgIGJvb2wgc3RyZXRjaE1l
dGhvZCgpIGNvbnN0OworICAgICAgICB2b2lkIHNldFN0cmV0Y2hNZXRob2QoYm9vbCk7CisKKyAg
ICAgICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJl
bmRlclNWR1RleHRQYXRoIjsgfQorICAgICAgICB2aXJ0dWFsIHZvaWQgYWJzb2x1dGVSZWN0cyhW
ZWN0b3I8SW50UmVjdD4mIHJlY3RzLCBpbnQgdHgsIGludCB0eSk7CisKKyAgICBwcml2YXRlOgor
ICAgICAgICBmbG9hdCBtX3N0YXJ0T2Zmc2V0OworCisgICAgICAgIGJvb2wgbV9leGFjdEFsaWdu
bWVudCA6IDE7CisgICAgICAgIGJvb2wgbV9zdHJldGNoTWV0aG9kIDogMTsKKworICAgICAgICBQ
YXRoIG1fbGF5b3V0UGF0aDsKKyAgICB9OworfQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykKKyNl
bmRpZiAvLyBSZW5kZXJTVkdUZXh0UGF0aF9oCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNw
cAkocmV2aXNpb24gMjE2MDMpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtODQ0LDExICs4NDQsMTAgQEAgdm9pZCBSZW5kZXJUZXh0OjpzZXRU
ZXh0SW50ZXJuYWwoUGFzc1JlZgogICAgICAgICAgICAgLy8gVGhlbiwgaXQgd2lsbCBzdHJpcCBv
ZmYgYWxsIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHNwYWNlIGNoYXJhY3RlcnMuCiAgICAgICAgICAg
ICAvLyBUaGVuLCBhbGwgY29udGlndW91cyBzcGFjZSBjaGFyYWN0ZXJzIHdpbGwgYmUgY29uc29s
aWRhdGVkLiAgICAKIAotICAgICAgICAgICAgc3RhdGljIFN0cmluZ0ltcGwgZW1wdHkoIiIsIDAp
OwotICAgICAgICAgICAgbV90ZXh0ID0gbV90ZXh0LT5yZXBsYWNlKCdcbicsICZlbXB0eSk7Cisg
ICAgICAgICAgIG1fdGV4dCA9IG1fdGV4dC0+cmVwbGFjZSgnXG4nLCBTdHJpbmdJbXBsOjplbXB0
eSgpKTsKIAotICAgICAgICAgICAgLy8gSWYgeG1sOnNwYWNlPSJkZWZhdWx0IiBpcyBzZXQsIHdo
aXRlLXNwYWNlIGlzIHNldCB0byAibm93cmFwIiwgd2hpY2ggaGFuZGxlcwotICAgICAgICAgICAg
Ly8gbGVhZGluZywgdHJhaWxpbmcgJiBjb250aWd1b3VzIHNwYWNlIGNoYXJhY3RlciByZW1vdmFs
IGZvciB1cy4KKyAgICAgICAgICAgLy8gSWYgeG1sOnNwYWNlPSJkZWZhdWx0IiBpcyBzZXQsIHdo
aXRlLXNwYWNlIGlzIHNldCB0byAibm93cmFwIiwgd2hpY2ggaGFuZGxlcworICAgICAgICAgICAv
LyBsZWFkaW5nLCB0cmFpbGluZyAmIGNvbnRpZ3VvdXMgc3BhY2UgY2hhcmFjdGVyIHJlbW92YWwg
Zm9yIHVzLgogICAgICAgICB9CiAKICAgICAgICAgbV90ZXh0ID0gbV90ZXh0LT5yZXBsYWNlKCdc
dCcsICcgJyk7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5oCShyZXZpc2lvbiAyMTYw
MykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaAkod29ya2luZyBjb3B5KQpA
QCAtNjMsNiArNjMsMTAgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHNldFZlcnRpY2Fs
U2VsZWN0aW9uUG9zaXRpb25zKGludCB0b3AsIGludCBib3R0b20pOwogCisjaWYgRU5BQkxFKFNW
RykgJiYgRU5BQkxFKFNWR19FWFBFUklNRU5UQUxfRkVBVFVSRVMpCisgICAgdmlydHVhbCB2b2lk
IGNvbXB1dGVQZXJDaGFyYWN0ZXJMYXlvdXRJbmZvcm1hdGlvbigpIHsgfQorI2VuZGlmCisKICAg
ICBSZW5kZXJPYmplY3QqIGxpbmVCcmVha09iaigpIGNvbnN0IHsgcmV0dXJuIG1fbGluZUJyZWFr
T2JqOyB9CiAgICAgQmlkaVN0YXR1cyBsaW5lQnJlYWtCaWRpU3RhdHVzKCkgY29uc3QgeyAKICAg
ICAgICAgQmlkaVN0YXR1cyBzdGF0dXM7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9TVkdDaGFy
YWN0ZXJMYXlvdXRJbmZvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9TVkdD
aGFyYWN0ZXJMYXlvdXRJbmZvLmNwcAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvcmVuZGVyaW5n
L1NWR0NoYXJhY3RlckxheW91dEluZm8uY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ4OSBA
QAorLyoKKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgcHJvamVjdC4KKyAqCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5v
cmc+CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBs
YWNlIC0gU3VpdGUgMzMwLAorICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShTVkcpICYmIEVOQUJMRShTVkdf
RVhQRVJJTUVOVEFMX0ZFQVRVUkVTKQorI2luY2x1ZGUgIlNWR0NoYXJhY3RlckxheW91dEluZm8u
aCIKKworI2luY2x1ZGUgIklubGluZUZsb3dCb3guaCIKKyNpbmNsdWRlICJJbmxpbmVUZXh0Qm94
LmgiCisjaW5jbHVkZSAiS0NhbnZhc1JlbmRlcmluZ1N0eWxlLmgiCisjaW5jbHVkZSAiU1ZHTGVu
Z3RoTGlzdC5oIgorI2luY2x1ZGUgIlNWR051bWJlckxpc3QuaCIKKyNpbmNsdWRlICJTVkdUZXh0
UG9zaXRpb25pbmdFbGVtZW50LmgiCisjaW5jbHVkZSAiUmVuZGVyU1ZHVGV4dFBhdGguaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCisvLyBIZWxwZXIgZnVuY3Rpb24KK3N0YXRpYyBmbG9hdCBj
YWxjdWxhdGVCYXNlbGluZVNoaWZ0KFJlbmRlck9iamVjdCogaXRlbSkKK3sKKyAgICBjb25zdCBG
b250JiBmb250ID0gaXRlbS0+c3R5bGUoKS0+Zm9udCgpOworICAgIGNvbnN0IFNWR1JlbmRlclN0
eWxlKiBzdmdTdHlsZSA9IGl0ZW0tPnN0eWxlKCktPnN2Z1N0eWxlKCk7CisKKyAgICBmbG9hdCBi
YXNlbGluZVNoaWZ0ID0gMC4wOworICAgIGlmIChzdmdTdHlsZS0+YmFzZWxpbmVTaGlmdCgpID09
IEJTX0xFTkdUSCkgeworICAgICAgICBDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlID0gc3Rh
dGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPihzdmdTdHlsZS0+YmFzZWxpbmVTaGlmdFZhbHVl
KCkpOworICAgICAgICBiYXNlbGluZVNoaWZ0ID0gcHJpbWl0aXZlLT5nZXRGbG9hdFZhbHVlKCk7
CisKKyAgICAgICAgaWYgKHByaW1pdGl2ZS0+cHJpbWl0aXZlVHlwZSgpID09IENTU1ByaW1pdGl2
ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSkKKyAgICAgICAgICAgIGJhc2VsaW5lU2hpZnQgPSBiYXNl
bGluZVNoaWZ0IC8gMTAwLjAgKiBmb250LnBpeGVsU2l6ZSgpOworICAgIH0gZWxzZSB7CisgICAg
ICAgIGZsb2F0IGJhc2VsaW5lQXNjZW50ID0gZm9udC5hc2NlbnQoKSArIGZvbnQuZGVzY2VudCgp
OworCisgICAgICAgIHN3aXRjaCAoc3ZnU3R5bGUtPmJhc2VsaW5lU2hpZnQoKSkgeworICAgICAg
ICBjYXNlIEJTX0JBU0VMSU5FOgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQlNf
U1VCOgorICAgICAgICAgICAgYmFzZWxpbmVTaGlmdCA9IC1iYXNlbGluZUFzY2VudCAvIDIuMDsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEJTX1NVUEVSOgorICAgICAgICAgICAg
YmFzZWxpbmVTaGlmdCA9IGJhc2VsaW5lQXNjZW50IC8gMi4wOworICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBiYXNlbGluZVNoaWZ0OworfQorCitTVkdDaGFy
YWN0ZXJMYXlvdXRJbmZvOjpTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvKCkKKyAgICA6IGN1cngoMC4w
KQorICAgICwgY3VyeSgwLjApCisgICAgLCBkeCgwLjApCisgICAgLCBkeSgwLjApCisgICAgLCBz
aGlmdHgoMC4wKQorICAgICwgc2hpZnR5KDAuMCkKKyAgICAsIHhTdGFja0NoYW5nZWQoZmFsc2Up
CisgICAgLCB5U3RhY2tDaGFuZ2VkKGZhbHNlKQorICAgICwgZHhTdGFja0NoYW5nZWQoZmFsc2Up
CisgICAgLCBkeVN0YWNrQ2hhbmdlZChmYWxzZSkKKyAgICAsIGFuZ2xlU3RhY2tDaGFuZ2VkKGZh
bHNlKQorICAgICwgYmFzZWxpbmVTaGlmdFN0YWNrQ2hhbmdlZChmYWxzZSkKKyAgICAsIHBhdGhM
YXlvdXQoZmFsc2UpCisgICAgLCBjdXJyZW50T2Zmc2V0KDAuMCkKKyAgICAsIHN0YXJ0T2Zmc2V0
KDAuMCkKKyAgICAsIGxheW91dFBhdGhMZW5ndGgoMC4wKQoreworfQorCitib29sIFNWR0NoYXJh
Y3RlckxheW91dEluZm86OnhWYWx1ZUF2YWlsYWJsZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHhT
dGFjay5pc0VtcHR5KCkgPyBmYWxzZSA6IHhTdGFjay5sYXN0KCkucG9zaXRpb24oKSA8IHhTdGFj
ay5sYXN0KCkuc2l6ZSgpOworfQorCitib29sIFNWR0NoYXJhY3RlckxheW91dEluZm86OnlWYWx1
ZUF2YWlsYWJsZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHlTdGFjay5pc0VtcHR5KCkgPyBmYWxz
ZSA6IHlTdGFjay5sYXN0KCkucG9zaXRpb24oKSA8IHlTdGFjay5sYXN0KCkuc2l6ZSgpOworfQor
Citib29sIFNWR0NoYXJhY3RlckxheW91dEluZm86OmR4VmFsdWVBdmFpbGFibGUoKSBjb25zdAor
eworICAgIHJldHVybiBkeFN0YWNrLmlzRW1wdHkoKSA/IGZhbHNlIDogZHhTdGFjay5sYXN0KCku
cG9zaXRpb24oKSA8IGR4U3RhY2subGFzdCgpLnNpemUoKTsKK30KKworYm9vbCBTVkdDaGFyYWN0
ZXJMYXlvdXRJbmZvOjpkeVZhbHVlQXZhaWxhYmxlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZHlT
dGFjay5pc0VtcHR5KCkgPyBmYWxzZSA6IGR5U3RhY2subGFzdCgpLnBvc2l0aW9uKCkgPCBkeVN0
YWNrLmxhc3QoKS5zaXplKCk7Cit9CisKK2Jvb2wgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6YW5n
bGVWYWx1ZUF2YWlsYWJsZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGFuZ2xlU3RhY2suaXNFbXB0
eSgpID8gZmFsc2UgOiBhbmdsZVN0YWNrLmxhc3QoKS5wb3NpdGlvbigpIDwgYW5nbGVTdGFjay5s
YXN0KCkuc2l6ZSgpOworfQorCitib29sIFNWR0NoYXJhY3RlckxheW91dEluZm86OmJhc2VsaW5l
U2hpZnRWYWx1ZUF2YWlsYWJsZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuICFiYXNlbGluZVNoaWZ0
U3RhY2suaXNFbXB0eSgpOworfQorCitmbG9hdCBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjp4VmFs
dWVOZXh0KCkgY29uc3QKK3sKKyAgICBBU1NFUlQoIXhTdGFjay5pc0VtcHR5KCkpOworICAgIHJl
dHVybiB4U3RhY2subGFzdCgpLnZhbHVlQXRDdXJyZW50UG9zaXRpb24oKTsKK30KKworZmxvYXQg
U1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6eVZhbHVlTmV4dCgpIGNvbnN0Cit7CisgICAgQVNTRVJU
KCF5U3RhY2suaXNFbXB0eSgpKTsKKyAgICByZXR1cm4geVN0YWNrLmxhc3QoKS52YWx1ZUF0Q3Vy
cmVudFBvc2l0aW9uKCk7Cit9CisKK2Zsb2F0IFNWR0NoYXJhY3RlckxheW91dEluZm86OmR4VmFs
dWVOZXh0KCkgY29uc3QKK3sKKyAgICBBU1NFUlQoIWR4U3RhY2suaXNFbXB0eSgpKTsKKyAgICBy
ZXR1cm4gZHhTdGFjay5sYXN0KCkudmFsdWVBdEN1cnJlbnRQb3NpdGlvbigpOworfQorCitmbG9h
dCBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjpkeVZhbHVlTmV4dCgpIGNvbnN0Cit7CisgICAgQVNT
RVJUKCFkeVN0YWNrLmlzRW1wdHkoKSk7CisgICAgcmV0dXJuIGR5U3RhY2subGFzdCgpLnZhbHVl
QXRDdXJyZW50UG9zaXRpb24oKTsKK30KKworZmxvYXQgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6
YW5nbGVWYWx1ZU5leHQoKSBjb25zdAoreworICAgIEFTU0VSVCghYW5nbGVTdGFjay5pc0VtcHR5
KCkpOworICAgIHJldHVybiBhbmdsZVN0YWNrLmxhc3QoKS52YWx1ZUF0Q3VycmVudFBvc2l0aW9u
KCk7Cit9CisKK2Zsb2F0IFNWR0NoYXJhY3RlckxheW91dEluZm86OmJhc2VsaW5lU2hpZnRWYWx1
ZU5leHQoKSBjb25zdAoreworICAgIEFTU0VSVCghYmFzZWxpbmVTaGlmdFN0YWNrLmlzRW1wdHko
KSk7CisgICAgcmV0dXJuIGJhc2VsaW5lU2hpZnRTdGFjay5sYXN0KCk7Cit9CisKK3ZvaWQgU1ZH
Q2hhcmFjdGVyTGF5b3V0SW5mbzo6cHJvY2Vzc2VkU2luZ2xlQ2hhcmFjdGVyKCkKK3sKKyAgICB4
U3RhY2tXYWxrKCk7CisgICAgeVN0YWNrV2FsaygpOworICAgIGR4U3RhY2tXYWxrKCk7CisgICAg
ZHlTdGFja1dhbGsoKTsKKyAgICBhbmdsZVN0YWNrV2FsaygpOworICAgIGJhc2VsaW5lU2hpZnRT
dGFja1dhbGsoKTsKK30KKwordm9pZCBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjpwcm9jZXNzZWRD
aHVuayhmbG9hdCBsYXN0U2hpZnRYLCBmbG9hdCBsYXN0U2hpZnRZKQoreworICAgIC8vIGJhc2Vs
aW5lLXNoaWZ0IGRvZXNuJ3Qgc3BhbiBhY3Jvc3MgYW5jZXN0b3JzLCB1bmxpa2UgZHgvZHkuCisg
ICAgY3VyeCArPSBsYXN0U2hpZnRYIC0gc2hpZnR4OworICAgIGN1cnkgKz0gbGFzdFNoaWZ0WSAt
IHNoaWZ0eTsKKworICAgIGlmICh4U3RhY2tDaGFuZ2VkKSB7CisgICAgICAgIEFTU0VSVCgheFN0
YWNrLmlzRW1wdHkoKSk7CisgICAgICAgIHhTdGFjay5yZW1vdmVMYXN0KCk7CisgICAgICAgIHhT
dGFja0NoYW5nZWQgPSBmYWxzZTsKKyAgICB9CisKKyAgICBpZiAoeVN0YWNrQ2hhbmdlZCkgewor
ICAgICAgICBBU1NFUlQoIXlTdGFjay5pc0VtcHR5KCkpOworICAgICAgICB5U3RhY2sucmVtb3Zl
TGFzdCgpOworICAgICAgICB5U3RhY2tDaGFuZ2VkID0gZmFsc2U7CisgICAgfQorCisgICAgaWYg
KGR4U3RhY2tDaGFuZ2VkKSB7CisgICAgICAgIEFTU0VSVCghZHhTdGFjay5pc0VtcHR5KCkpOwor
ICAgICAgICBkeFN0YWNrLnJlbW92ZUxhc3QoKTsKKyAgICAgICAgZHhTdGFja0NoYW5nZWQgPSBm
YWxzZTsKKyAgICB9CisKKyAgICBpZiAoZHlTdGFja0NoYW5nZWQpIHsKKyAgICAgICAgQVNTRVJU
KCFkeVN0YWNrLmlzRW1wdHkoKSk7CisgICAgICAgIGR5U3RhY2sucmVtb3ZlTGFzdCgpOworICAg
ICAgICBkeVN0YWNrQ2hhbmdlZCA9IGZhbHNlOworICAgIH0KKworICAgIGlmIChhbmdsZVN0YWNr
Q2hhbmdlZCkgeworICAgICAgICBBU1NFUlQoIWFuZ2xlU3RhY2suaXNFbXB0eSgpKTsKKyAgICAg
ICAgYW5nbGVTdGFjay5yZW1vdmVMYXN0KCk7CisgICAgICAgIGFuZ2xlU3RhY2tDaGFuZ2VkID0g
ZmFsc2U7CisgICAgfQorCisgICAgaWYgKGJhc2VsaW5lU2hpZnRTdGFja0NoYW5nZWQpIHsKKyAg
ICAgICAgQVNTRVJUKCFiYXNlbGluZVNoaWZ0U3RhY2suaXNFbXB0eSgpKTsKKyAgICAgICAgYmFz
ZWxpbmVTaGlmdFN0YWNrLnJlbW92ZUxhc3QoKTsKKyAgICAgICAgYmFzZWxpbmVTaGlmdFN0YWNr
Q2hhbmdlZCA9IGZhbHNlOworICAgIH0KK30KKworYm9vbCBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZv
OjpuZXh0UGF0aExheW91dFBvaW50QW5kQW5nbGUoZmxvYXQmIHgsIGZsb2F0JiB5LCBmbG9hdCYg
YW5nbGUsIGZsb2F0IGdseXBoQWR2YW5jZSwgZmxvYXQgbmV3T2Zmc2V0KQoreworICAgIGlmIChs
YXlvdXRQYXRoTGVuZ3RoIDw9IDAuMCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYg
KG5ld09mZnNldCAhPSBGTFRfTUlOKQorICAgICAgICBjdXJyZW50T2Zmc2V0ID0gc3RhcnRPZmZz
ZXQgKyBuZXdPZmZzZXQ7CisKKyAgICBmbG9hdCBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0ICsgZ2x5
cGhBZHZhbmNlIC8gMi4wOworICAgIGN1cnJlbnRPZmZzZXQgKz0gZ2x5cGhBZHZhbmNlOworCisg
ICAgaWYgKG9mZnNldCA8IDAuMCB8fCBvZmZzZXQgPiBsYXlvdXRQYXRoTGVuZ3RoKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBib29sIG9rID0gZmFsc2U7IAorICAgIEZsb2F0UG9pbnQg
cG9pbnQgPSBsYXlvdXRQYXRoLnBvaW50QXRMZW5ndGgob2Zmc2V0LCBvayk7CisgICAgQVNTRVJU
KG9rKTsKKworICAgIHggPSBwb2ludC54KCk7CisgICAgeSA9IHBvaW50LnkoKTsKKworICAgIGFu
Z2xlID0gbGF5b3V0UGF0aC5ub3JtYWxBbmdsZUF0TGVuZ3RoKG9mZnNldCwgb2spOworICAgIEFT
U0VSVChvayk7CisKKyAgICAvLyBmcHJpbnRmKHN0ZGVyciwgInQ6ICVmLCB4OiAlZiwgeTogJWYs
IGFuZ2xlOiAlZiwgZ2x5cGhBZHZhbmNlOiAlZlxuIiwgY3VycmVudE9mZnNldCwgeCwgeSwgYW5n
bGUsIGdseXBoQWR2YW5jZSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgU1ZHQ2hhcmFj
dGVyTGF5b3V0SW5mbzo6aW5QYXRoTGF5b3V0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gcGF0aExh
eW91dDsKK30KKwordm9pZCBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvOjpzZXRJblBhdGhMYXlvdXQo
Ym9vbCB2YWx1ZSkKK3sKKyAgICBwYXRoTGF5b3V0ID0gdmFsdWU7Cit9CisKK3ZvaWQgU1ZHQ2hh
cmFjdGVyTGF5b3V0SW5mbzo6YWRkTGF5b3V0SW5mb3JtYXRpb24oSW5saW5lRmxvd0JveCogZmxv
d0JveCwgZmxvYXQgdGV4dEFuY2hvclN0YXJ0T2Zmc2V0KQoreworICAgIGJvb2wgaXNJbml0aWFs
TGF5b3V0ID0geFN0YWNrLmlzRW1wdHkoKSAmJiB5U3RhY2suaXNFbXB0eSgpICYmCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkeFN0YWNrLmlzRW1wdHkoKSAmJiBkeVN0YWNrLmlzRW1wdHko
KSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5nbGVTdGFjay5pc0VtcHR5KCkgJiYg
YmFzZWxpbmVTaGlmdFN0YWNrLmlzRW1wdHkoKSAmJgorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY3VyeCA9PSAwLjAgJiYgY3VyeSA9PSAwLjA7CisKKyAgICBSZW5kZXJTVkdUZXh0UGF0aCog
dGV4dFBhdGggPSBzdGF0aWNfY2FzdDxSZW5kZXJTVkdUZXh0UGF0aCo+KGZsb3dCb3gtPm9iamVj
dCgpKTsKKyAgICBQYXRoIHBhdGggPSB0ZXh0UGF0aC0+bGF5b3V0UGF0aCgpOworICAgIGZsb2F0
IGJhc2VsaW5lU2hpZnQgPSBjYWxjdWxhdGVCYXNlbGluZVNoaWZ0KHRleHRQYXRoKTsKKworICAg
IGxheW91dFBhdGggPSBwYXRoOworICAgIGxheW91dFBhdGhMZW5ndGggPSBwYXRoLmxlbmd0aCgp
OworCisgICAgaWYgKGxheW91dFBhdGhMZW5ndGggPD0gMC4wKQorICAgICAgICByZXR1cm47CisK
KyAgICBzdGFydE9mZnNldCA9IHRleHRQYXRoLT5zdGFydE9mZnNldCgpOworCisgICAgaWYgKHRl
eHRQYXRoLT5zdGFydE9mZnNldCgpID49IDAuMCAmJiB0ZXh0UGF0aC0+c3RhcnRPZmZzZXQoKSA8
PSAxLjApCisgICAgICAgIHN0YXJ0T2Zmc2V0ICo9IGxheW91dFBhdGhMZW5ndGg7CisKKyAgICBz
dGFydE9mZnNldCArPSB0ZXh0QW5jaG9yU3RhcnRPZmZzZXQ7CisgICAgY3VycmVudE9mZnNldCA9
IHN0YXJ0T2Zmc2V0OworCisgICAgLy8gT25seSBiYXNlbGluZS1zaGlmdCBpcyBoYW5kbGVkIHRo
cm91Z2ggdGhlIG5vcm1hbCBsYXlvdXQgc3lzdGVtCisgICAgYWRkU3RhY2tDb250ZW50KEJhc2Vs
aW5lU2hpZnRTdGFjaywgYmFzZWxpbmVTaGlmdCk7CisKKyAgICBpZiAoaXNJbml0aWFsTGF5b3V0
KSB7CisgICAgICAgIHhTdGFja0NoYW5nZWQgPSBmYWxzZTsKKyAgICAgICAgeVN0YWNrQ2hhbmdl
ZCA9IGZhbHNlOworICAgICAgICBkeFN0YWNrQ2hhbmdlZCA9IGZhbHNlOworICAgICAgICBkeVN0
YWNrQ2hhbmdlZCA9IGZhbHNlOworICAgICAgICBhbmdsZVN0YWNrQ2hhbmdlZCA9IGZhbHNlOwor
ICAgICAgICBiYXNlbGluZVNoaWZ0U3RhY2tDaGFuZ2VkID0gZmFsc2U7CisgICAgfQorfQorCit2
b2lkIFNWR0NoYXJhY3RlckxheW91dEluZm86OmFkZExheW91dEluZm9ybWF0aW9uKFNWR1RleHRQ
b3NpdGlvbmluZ0VsZW1lbnQqIGVsZW1lbnQpCit7CisgICAgYm9vbCBpc0luaXRpYWxMYXlvdXQg
PSB4U3RhY2suaXNFbXB0eSgpICYmIHlTdGFjay5pc0VtcHR5KCkgJiYKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGR4U3RhY2suaXNFbXB0eSgpICYmIGR5U3RhY2suaXNFbXB0eSgpICYmCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICBhbmdsZVN0YWNrLmlzRW1wdHkoKSAmJiBiYXNlbGlu
ZVNoaWZ0U3RhY2suaXNFbXB0eSgpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJ4
ID09IDAuMCAmJiBjdXJ5ID09IDAuMDsKKworICAgIGZsb2F0IGJhc2VsaW5lU2hpZnQgPSBjYWxj
dWxhdGVCYXNlbGluZVNoaWZ0KGVsZW1lbnQtPnJlbmRlcmVyKCkpOworCisgICAgYWRkU3RhY2tD
b250ZW50KFhTdGFjaywgZWxlbWVudC0+eCgpKTsKKyAgICBhZGRTdGFja0NvbnRlbnQoWVN0YWNr
LCBlbGVtZW50LT55KCkpOworICAgIGFkZFN0YWNrQ29udGVudChEeFN0YWNrLCBlbGVtZW50LT5k
eCgpKTsKKyAgICBhZGRTdGFja0NvbnRlbnQoRHlTdGFjaywgZWxlbWVudC0+ZHkoKSk7CisgICAg
YWRkU3RhY2tDb250ZW50KEFuZ2xlU3RhY2ssIGVsZW1lbnQtPnJvdGF0ZSgpKTsKKyAgICBhZGRT
dGFja0NvbnRlbnQoQmFzZWxpbmVTaGlmdFN0YWNrLCBiYXNlbGluZVNoaWZ0KTsKKworICAgIGlm
IChpc0luaXRpYWxMYXlvdXQpIHsKKyAgICAgICAgeFN0YWNrQ2hhbmdlZCA9IGZhbHNlOworICAg
ICAgICB5U3RhY2tDaGFuZ2VkID0gZmFsc2U7CisgICAgICAgIGR4U3RhY2tDaGFuZ2VkID0gZmFs
c2U7CisgICAgICAgIGR5U3RhY2tDaGFuZ2VkID0gZmFsc2U7CisgICAgICAgIGFuZ2xlU3RhY2tD
aGFuZ2VkID0gZmFsc2U7CisgICAgICAgIGJhc2VsaW5lU2hpZnRTdGFja0NoYW5nZWQgPSBmYWxz
ZTsKKyAgICB9Cit9CisKK3ZvaWQgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6YWRkU3RhY2tDb250
ZW50KFN0YWNrVHlwZSB0eXBlLCBTVkdOdW1iZXJMaXN0KiBsaXN0KQoreworICAgIHVuc2lnbmVk
IGxlbmd0aCA9IGxpc3QtPm51bWJlck9mSXRlbXMoKTsKKyAgICBpZiAoIWxlbmd0aCkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgUG9zaXRpb25lZEZsb2F0VmVjdG9yIG5ld0xheW91dEluZm87CisK
KyAgICAvLyBUT0RPOiBDb252ZXJ0IG1vcmUgZWZmaWNpZW50bHkhCisgICAgRXhjZXB0aW9uQ29k
ZSBlYyA9IDA7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7Cisg
ICAgICAgIGZsb2F0IHZhbHVlID0gbGlzdC0+Z2V0SXRlbShpLCBlYyk7CisgICAgICAgIEFTU0VS
VChlYyA9PSAwKTsKKworICAgICAgICBuZXdMYXlvdXRJbmZvLmFwcGVuZCh2YWx1ZSk7CisgICAg
fQorCisgICAgYWRkU3RhY2tDb250ZW50KHR5cGUsIG5ld0xheW91dEluZm8pOworfQorCit2b2lk
IFNWR0NoYXJhY3RlckxheW91dEluZm86OmFkZFN0YWNrQ29udGVudChTdGFja1R5cGUgdHlwZSwg
U1ZHTGVuZ3RoTGlzdCogbGlzdCkKK3sKKyAgICB1bnNpZ25lZCBsZW5ndGggPSBsaXN0LT5udW1i
ZXJPZkl0ZW1zKCk7CisgICAgaWYgKCFsZW5ndGgpCisgICAgICAgIHJldHVybjsKKworICAgIFBv
c2l0aW9uZWRGbG9hdFZlY3RvciBuZXdMYXlvdXRJbmZvOworCisgICAgRXhjZXB0aW9uQ29kZSBl
YyA9IDA7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7CisgICAg
ICAgIGZsb2F0IHZhbHVlID0gbGlzdC0+Z2V0SXRlbShpLCBlYykudmFsdWUoKTsKKyAgICAgICAg
QVNTRVJUKGVjID09IDApOworCisgICAgICAgIG5ld0xheW91dEluZm8uYXBwZW5kKHZhbHVlKTsK
KyAgICB9CisKKyAgICBhZGRTdGFja0NvbnRlbnQodHlwZSwgbmV3TGF5b3V0SW5mbyk7Cit9CisK
K3ZvaWQgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6YWRkU3RhY2tDb250ZW50KFN0YWNrVHlwZSB0
eXBlLCBjb25zdCBQb3NpdGlvbmVkRmxvYXRWZWN0b3ImIGxpc3QpCit7CisgICAgc3dpdGNoICh0
eXBlKSB7CisgICAgY2FzZSBYU3RhY2s6CisgICAgICAgIHhTdGFja0NoYW5nZWQgPSB0cnVlOwor
ICAgICAgICB4U3RhY2suYXBwZW5kKGxpc3QpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFlT
dGFjazoKKyAgICAgICAgeVN0YWNrQ2hhbmdlZCA9IHRydWU7CisgICAgICAgIHlTdGFjay5hcHBl
bmQobGlzdCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgRHhTdGFjazoKKyAgICAgICAgZHhT
dGFja0NoYW5nZWQgPSB0cnVlOworICAgICAgICBkeFN0YWNrLmFwcGVuZChsaXN0KTsKKyAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBEeVN0YWNrOgorICAgICAgICBkeVN0YWNrQ2hhbmdlZCA9IHRy
dWU7CisgICAgICAgIGR5U3RhY2suYXBwZW5kKGxpc3QpOworICAgICAgICBicmVhazsKKyAgIGNh
c2UgQW5nbGVTdGFjazoKKyAgICAgICAgYW5nbGVTdGFja0NoYW5nZWQgPSB0cnVlOworICAgICAg
ICBhbmdsZVN0YWNrLmFwcGVuZChsaXN0KTsKKyAgICAgICAgYnJlYWs7IAorICAgZGVmYXVsdDoK
KyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgfQorfQorCit2b2lkIFNWR0NoYXJh
Y3RlckxheW91dEluZm86OmFkZFN0YWNrQ29udGVudChTdGFja1R5cGUgdHlwZSwgZmxvYXQgdmFs
dWUpCit7CisgICAgaWYgKHZhbHVlID09IDAuMCkKKyAgICAgICAgcmV0dXJuOworCisgICAgc3dp
dGNoICh0eXBlKSB7CisgICAgY2FzZSBCYXNlbGluZVNoaWZ0U3RhY2s6CisgICAgICAgIGJhc2Vs
aW5lU2hpZnRTdGFja0NoYW5nZWQgPSB0cnVlOworICAgICAgICBiYXNlbGluZVNoaWZ0U3RhY2su
YXBwZW5kKHZhbHVlKTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CisgICAgfQorfQorCit2b2lkIFNWR0NoYXJhY3RlckxheW91dElu
Zm86OnhTdGFja1dhbGsoKQoreworICAgIHVuc2lnbmVkIGkgPSAxOworCisgICAgd2hpbGUgKCF4
U3RhY2suaXNFbXB0eSgpKSB7CisgICAgICAgIFBvc2l0aW9uZWRGbG9hdFZlY3RvciYgY3VyID0g
eFN0YWNrLmxhc3QoKTsKKyAgICAgICAgaWYgKGkgKyBjdXIucG9zaXRpb24oKSA8IGN1ci5zaXpl
KCkpIHsKKyAgICAgICAgICAgIGN1ci5hZHZhbmNlKGkpOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIH0KKworICAgICAgICBpICs9IGN1ci5wb3NpdGlvbigpOworICAgICAgICB4U3RhY2su
cmVtb3ZlTGFzdCgpOworICAgICAgICB4U3RhY2tDaGFuZ2VkID0gZmFsc2U7CisgICAgfQorfQor
Cit2b2lkIFNWR0NoYXJhY3RlckxheW91dEluZm86OnlTdGFja1dhbGsoKQoreworICAgIHVuc2ln
bmVkIGkgPSAxOworCisgICAgd2hpbGUgKCF5U3RhY2suaXNFbXB0eSgpKSB7CisgICAgICAgIFBv
c2l0aW9uZWRGbG9hdFZlY3RvciYgY3VyID0geVN0YWNrLmxhc3QoKTsKKyAgICAgICAgaWYgKGkg
KyBjdXIucG9zaXRpb24oKSA8IGN1ci5zaXplKCkpIHsKKyAgICAgICAgICAgIGN1ci5hZHZhbmNl
KGkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBpICs9IGN1ci5w
b3NpdGlvbigpOworICAgICAgICB5U3RhY2sucmVtb3ZlTGFzdCgpOworICAgICAgICB5U3RhY2tD
aGFuZ2VkID0gZmFsc2U7CisgICAgfQorfQorCit2b2lkIFNWR0NoYXJhY3RlckxheW91dEluZm86
OmR4U3RhY2tXYWxrKCkKK3sKKyAgICB1bnNpZ25lZCBpID0gMTsKKworICAgIHdoaWxlICghZHhT
dGFjay5pc0VtcHR5KCkpIHsKKyAgICAgICAgUG9zaXRpb25lZEZsb2F0VmVjdG9yJiBjdXIgPSBk
eFN0YWNrLmxhc3QoKTsKKyAgICAgICAgaWYgKGkgKyBjdXIucG9zaXRpb24oKSA8IGN1ci5zaXpl
KCkpIHsKKyAgICAgICAgICAgIGN1ci5hZHZhbmNlKGkpOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIH0KKworICAgICAgICBpICs9IGN1ci5wb3NpdGlvbigpOworICAgICAgICBkeFN0YWNr
LnJlbW92ZUxhc3QoKTsKKyAgICAgICAgZHhTdGFja0NoYW5nZWQgPSBmYWxzZTsKKyAgICB9Cit9
CisKK3ZvaWQgU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mbzo6ZHlTdGFja1dhbGsoKQoreworICAgIHVu
c2lnbmVkIGkgPSAxOworCisgICAgd2hpbGUgKCFkeVN0YWNrLmlzRW1wdHkoKSkgeworICAgICAg
ICBQb3NpdGlvbmVkRmxvYXRWZWN0b3ImIGN1ciA9IGR5U3RhY2subGFzdCgpOworICAgICAgICBp
ZiAoaSArIGN1ci5wb3NpdGlvbigpIDwgY3VyLnNpemUoKSkgeworICAgICAgICAgICAgY3VyLmFk
dmFuY2UoaSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGkgKz0g
Y3VyLnBvc2l0aW9uKCk7CisgICAgICAgIGR5U3RhY2sucmVtb3ZlTGFzdCgpOworICAgICAgICBk
eVN0YWNrQ2hhbmdlZCA9IGZhbHNlOworICAgIH0KK30KKwordm9pZCBTVkdDaGFyYWN0ZXJMYXlv
dXRJbmZvOjphbmdsZVN0YWNrV2FsaygpCit7CisgICAgdW5zaWduZWQgaSA9IDE7CisKKyAgICB3
aGlsZSAoIWFuZ2xlU3RhY2suaXNFbXB0eSgpKSB7CisgICAgICAgIFBvc2l0aW9uZWRGbG9hdFZl
Y3RvciYgY3VyID0gYW5nbGVTdGFjay5sYXN0KCk7CisgICAgICAgIGlmIChpICsgY3VyLnBvc2l0
aW9uKCkgPCBjdXIuc2l6ZSgpKSB7CisgICAgICAgICAgICBjdXIuYWR2YW5jZShpKTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgaSArPSBjdXIucG9zaXRpb24oKTsK
KyAgICAgICAgYW5nbGVTdGFjay5yZW1vdmVMYXN0KCk7CisgICAgICAgIGFuZ2xlU3RhY2tDaGFu
Z2VkID0gZmFsc2U7CisgICAgfQorfQorCit2b2lkIFNWR0NoYXJhY3RlckxheW91dEluZm86OmJh
c2VsaW5lU2hpZnRTdGFja1dhbGsoKQoreworICAgIGlmICghYmFzZWxpbmVTaGlmdFN0YWNrLmlz
RW1wdHkoKSkgeworICAgICAgICBiYXNlbGluZVNoaWZ0U3RhY2sucmVtb3ZlTGFzdCgpOworICAg
ICAgICBiYXNlbGluZVNoaWZ0U3RhY2tDaGFuZ2VkID0gZmFsc2U7CisgICAgfQorfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpJbmRleDogV2ViQ29y
ZS9yZW5kZXJpbmcvU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mby5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcmVuZGVyaW5nL1NWR0NoYXJhY3RlckxheW91dEluZm8uaAkocmV2aXNpb24gMCkKKysrIFdl
YkNvcmUvcmVuZGVyaW5nL1NWR0NoYXJhY3RlckxheW91dEluZm8uaAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwyMzIgQEAKKy8qCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IHBy
b2plY3QuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emlt
bWVybWFubkBrZGUub3JnPgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxp
c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
KyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4g
IElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKKyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywg
VVNBLgorICoKKyAqLworCisjaWZuZGVmIFNWR0NoYXJhY3RlckxheW91dEluZm9faAorI2RlZmlu
ZSBTVkdDaGFyYWN0ZXJMYXlvdXRJbmZvX2gKKworI2lmIEVOQUJMRShTVkcpICYmIEVOQUJMRShT
VkdfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKQorCisjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KKyNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KKworI2lu
Y2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgorI2luY2x1ZGUgIlNWR1JlbmRlclN0eWxlLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSW5saW5lQm94OworY2xhc3MgSW5saW5lRmxv
d0JveDsKK2NsYXNzIFNWR0xlbmd0aExpc3Q7CitjbGFzcyBTVkdOdW1iZXJMaXN0OworY2xhc3Mg
U1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudDsKKwordGVtcGxhdGU8Y2xhc3MgVHlwZT4KK2NsYXNz
IFBvc2l0aW9uZWRWZWN0b3IgOiBwdWJsaWMgVmVjdG9yPFR5cGU+Cit7CitwdWJsaWM6CisgICAg
UG9zaXRpb25lZFZlY3RvcjxUeXBlPigpCisgICAgICAgIDogbV9wb3NpdGlvbigwKQorICAgIHsK
KyAgICB9CisKKyAgICB1bnNpZ25lZCBwb3NpdGlvbigpIGNvbnN0CisgICAgeworICAgICAgICBy
ZXR1cm4gbV9wb3NpdGlvbjsKKyAgICB9CisKKyAgICB2b2lkIGFkdmFuY2UodW5zaWduZWQgcG9z
aXRpb24pCisgICAgeworICAgICAgICBtX3Bvc2l0aW9uICs9IHBvc2l0aW9uOworICAgICAgICBB
U1NFUlQobV9wb3NpdGlvbiA8IFZlY3RvcjxUeXBlPjo6c2l6ZSgpKTsKKyAgICB9CisKKyAgICBU
eXBlIHZhbHVlQXRDdXJyZW50UG9zaXRpb24oKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJU
KG1fcG9zaXRpb24gPCBWZWN0b3I8VHlwZT46OnNpemUoKSk7CisgICAgICAgIHJldHVybiBWZWN0
b3I8VHlwZT46OmF0KG1fcG9zaXRpb24pOworICAgIH0KKworcHJpdmF0ZToKKyAgICB1bnNpZ25l
ZCBtX3Bvc2l0aW9uOworfTsKKworY2xhc3MgUG9zaXRpb25lZEZsb2F0VmVjdG9yIDogcHVibGlj
IFBvc2l0aW9uZWRWZWN0b3I8ZmxvYXQ+IHsgfTsKKworc3RydWN0IFNWR0NoYXJhY3RlckxheW91
dEluZm8geworICAgIFNWR0NoYXJhY3RlckxheW91dEluZm8oKTsKKworICAgIGVudW0gU3RhY2tU
eXBlIHsgWFN0YWNrLCBZU3RhY2ssIER4U3RhY2ssIER5U3RhY2ssIEFuZ2xlU3RhY2ssIEJhc2Vs
aW5lU2hpZnRTdGFjayB9OworCisgICAgYm9vbCB4VmFsdWVBdmFpbGFibGUoKSBjb25zdDsKKyAg
ICBib29sIHlWYWx1ZUF2YWlsYWJsZSgpIGNvbnN0OworICAgIGJvb2wgZHhWYWx1ZUF2YWlsYWJs
ZSgpIGNvbnN0OworICAgIGJvb2wgZHlWYWx1ZUF2YWlsYWJsZSgpIGNvbnN0OworICAgIGJvb2wg
YW5nbGVWYWx1ZUF2YWlsYWJsZSgpIGNvbnN0OworICAgIGJvb2wgYmFzZWxpbmVTaGlmdFZhbHVl
QXZhaWxhYmxlKCkgY29uc3Q7CisKKyAgICBmbG9hdCB4VmFsdWVOZXh0KCkgY29uc3Q7CisgICAg
ZmxvYXQgeVZhbHVlTmV4dCgpIGNvbnN0OworICAgIGZsb2F0IGR4VmFsdWVOZXh0KCkgY29uc3Q7
CisgICAgZmxvYXQgZHlWYWx1ZU5leHQoKSBjb25zdDsKKyAgICBmbG9hdCBhbmdsZVZhbHVlTmV4
dCgpIGNvbnN0OworICAgIGZsb2F0IGJhc2VsaW5lU2hpZnRWYWx1ZU5leHQoKSBjb25zdDsKKwor
ICAgIHZvaWQgcHJvY2Vzc2VkQ2h1bmsoZmxvYXQgbGFzdFNoaWZ0WCwgZmxvYXQgbGFzdFNoaWZ0
WSk7CisgICAgdm9pZCBwcm9jZXNzZWRTaW5nbGVDaGFyYWN0ZXIoKTsKKworICAgIGJvb2wgbmV4
dFBhdGhMYXlvdXRQb2ludEFuZEFuZ2xlKGZsb2F0JiB4LCBmbG9hdCYgeSwgZmxvYXQmIGFuZ2xl
LCBmbG9hdCBnbHlwaEFkdmFuY2UsIGZsb2F0IG5ld09mZnNldCk7CisKKyAgICAvLyBVc2VkIGZv
ciB0ZXh0LW9uLXBhdGguCisgICAgdm9pZCBhZGRMYXlvdXRJbmZvcm1hdGlvbihJbmxpbmVGbG93
Qm94KiwgZmxvYXQgdGV4dEFuY2hvck9mZnNldCA9IDAuMCk7CisKKyAgICBib29sIGluUGF0aExh
eW91dCgpIGNvbnN0OworICAgIHZvaWQgc2V0SW5QYXRoTGF5b3V0KGJvb2wgdmFsdWUpOworCisg
ICAgLy8gVXNlZCBmb3IgYW55dGhpbmcgZWxzZS4KKyAgICB2b2lkIGFkZExheW91dEluZm9ybWF0
aW9uKFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQqKTsKKworICAgIC8vIEdsb2JhbCBwb3NpdGlv
bgorICAgIGZsb2F0IGN1cng7CisgICAgZmxvYXQgY3VyeTsKKworICAgIC8vIEFjY3VtdWxhdGVk
IGR4L2R5IHZhbHVlcworICAgIGZsb2F0IGR4OworICAgIGZsb2F0IGR5OworCisgICAgLy8gQWNj
dW11bGF0ZWQgYXBwbGllZCBzaGlmdCB2YWx1ZXMKKyAgICBmbG9hdCBzaGlmdHg7CisgICAgZmxv
YXQgc2hpZnR5OworCitwcml2YXRlOgorICAgIC8vIFVzZWQgZm9yIGJhc2VsaW5lLXNoaWZ0Lgor
ICAgIHZvaWQgYWRkU3RhY2tDb250ZW50KFN0YWNrVHlwZSwgZmxvYXQpOworCisgICAgLy8gVXNl
ZCBmb3IgYW5nbGUuCisgICAgdm9pZCBhZGRTdGFja0NvbnRlbnQoU3RhY2tUeXBlLCBTVkdOdW1i
ZXJMaXN0Kik7CisKKyAgICAvLyBVc2VkIGZvciB4L3kvZHgvZHkuICAgIAorICAgIHZvaWQgYWRk
U3RhY2tDb250ZW50KFN0YWNrVHlwZSwgU1ZHTGVuZ3RoTGlzdCopOworCisgICAgdm9pZCBhZGRT
dGFja0NvbnRlbnQoU3RhY2tUeXBlLCBjb25zdCBQb3NpdGlvbmVkRmxvYXRWZWN0b3ImKTsKKwor
ICAgIHZvaWQgeFN0YWNrV2FsaygpOworICAgIHZvaWQgeVN0YWNrV2FsaygpOworICAgIHZvaWQg
ZHhTdGFja1dhbGsoKTsKKyAgICB2b2lkIGR5U3RhY2tXYWxrKCk7CisgICAgdm9pZCBhbmdsZVN0
YWNrV2FsaygpOworICAgIHZvaWQgYmFzZWxpbmVTaGlmdFN0YWNrV2FsaygpOworCitwcml2YXRl
OgorICAgIGJvb2wgeFN0YWNrQ2hhbmdlZCA6IDE7CisgICAgYm9vbCB5U3RhY2tDaGFuZ2VkIDog
MTsKKyAgICBib29sIGR4U3RhY2tDaGFuZ2VkIDogMTsKKyAgICBib29sIGR5U3RhY2tDaGFuZ2Vk
IDogMTsKKyAgICBib29sIGFuZ2xlU3RhY2tDaGFuZ2VkIDogMTsKKyAgICBib29sIGJhc2VsaW5l
U2hpZnRTdGFja0NoYW5nZWQgOiAxOworCisgICAgLy8gdGV4dCBvbiBwYXRoIGxheW91dAorICAg
IGJvb2wgcGF0aExheW91dCA6IDE7CisgICAgZmxvYXQgY3VycmVudE9mZnNldDsKKyAgICBmbG9h
dCBzdGFydE9mZnNldDsKKyAgICBmbG9hdCBsYXlvdXRQYXRoTGVuZ3RoOworICAgIFBhdGggbGF5
b3V0UGF0aDsKKworICAgIFZlY3RvcjxQb3NpdGlvbmVkRmxvYXRWZWN0b3I+IHhTdGFjazsKKyAg
ICBWZWN0b3I8UG9zaXRpb25lZEZsb2F0VmVjdG9yPiB5U3RhY2s7CisgICAgVmVjdG9yPFBvc2l0
aW9uZWRGbG9hdFZlY3Rvcj4gZHhTdGFjazsKKyAgICBWZWN0b3I8UG9zaXRpb25lZEZsb2F0VmVj
dG9yPiBkeVN0YWNrOworICAgIFZlY3RvcjxQb3NpdGlvbmVkRmxvYXRWZWN0b3I+IGFuZ2xlU3Rh
Y2s7CisgICAgVmVjdG9yPGZsb2F0PiBiYXNlbGluZVNoaWZ0U3RhY2s7Cit9OworCitzdHJ1Y3Qg
U1ZHQ2hhciB7CisgICAgZmxvYXQgeDsKKyAgICBmbG9hdCB5OworCisgICAgQWZmaW5lVHJhbnNm
b3JtIHRyYW5zZm9ybTsKKworICAgIC8vIERldGVybWluZXMgd2hldGVyIHRoaXMgY2hhciBpcyB2
aXNpYmxlIChpZS4gZmFsc2UgZm9yIGNoYXJzICJvZmYiIHRoZSB0ZXh0IGxheW91dCBwYXRoKQor
ICAgIGJvb2wgdmlzaWJsZSA6IDE7CisKKyAgICAvLyBEZXRlcm1pbmVzIHdoZXRlciB0aGlzIGNo
YXIgbmVlZHMgdG8gYmUgZHJhd24gc2VwZXJhdGVkCisgICAgYm9vbCBkcmF3blNlcGVyYXRlZCA6
IDE7CisKKyAgICAvLyBEZXRlcm1pbmVzIHdoZXRlciB0aGlzIGNoYXIgc3RhcnRzIGEgbmV3IGNo
dW5rCisgICAgYm9vbCBuZXdUZXh0Q2h1bmsgOiAxOworCisgICAgLy8gRGV0ZXJtaW5lcyB3aGV0
ZXIgdGhpcyBjaGFyIGlzIHNlbGVjdGVkCisgICAgYm9vbCBzZWxlY3RlZCA6IDE7Cit9OworCitz
dHJ1Y3QgU1ZHSW5saW5lQm94Q2hhcmFjdGVyUmFuZ2UgeworICAgIFNWR0lubGluZUJveENoYXJh
Y3RlclJhbmdlKCkKKyAgICAgICAgOiBzdGFydE9mZnNldChJTlRfTUlOKQorICAgICAgICAsIGVu
ZE9mZnNldChJTlRfTUlOKQorICAgICAgICAsIGJveCgwKQorICAgIHsKKyAgICB9CisKKyAgICBi
b29sIGlzT3BlbigpIGNvbnN0IHsgcmV0dXJuIChzdGFydE9mZnNldCA9PSBlbmRPZmZzZXQpICYm
IChlbmRPZmZzZXQgPT0gSU5UX01JTik7IH0KKyAgICBib29sIGlzQ2xvc2VkKCkgY29uc3QgeyBy
ZXR1cm4gc3RhcnRPZmZzZXQgIT0gSU5UX01JTiAmJiBlbmRPZmZzZXQgIT0gSU5UX01JTjsgfQor
CisgICAgaW50IHN0YXJ0T2Zmc2V0OworICAgIGludCBlbmRPZmZzZXQ7CisKKyAgICBJbmxpbmVC
b3gqIGJveDsKK307CisKK3N0cnVjdCBTVkdUZXh0Q2h1bmsgeworICAgIFNWR1RleHRDaHVuaygp
CisgICAgICAgIDogYW5jaG9yKFRBX1NUQVJUKQorICAgICAgICAsIGlzVmVydGljYWxUZXh0KGZh
bHNlKQorICAgICAgICAsIHN0YXJ0KDApCisgICAgICAgICwgZW5kKDApCisgICAgeyB9CisKKyAg
ICBFVGV4dEFuY2hvciBhbmNob3I7CisgICAgYm9vbCBpc1ZlcnRpY2FsVGV4dCA6IDE7CisKKyAg
ICBWZWN0b3I8U1ZHQ2hhcj46Oml0ZXJhdG9yIHN0YXJ0OworICAgIFZlY3RvcjxTVkdDaGFyPjo6
aXRlcmF0b3IgZW5kOworCisgICAgVmVjdG9yPFNWR0lubGluZUJveENoYXJhY3RlclJhbmdlPiBi
b3hlczsKK307CisKK3N0cnVjdCBTVkdUZXh0Q2h1bmtMYXlvdXRJbmZvIHsKKyAgICBTVkdUZXh0
Q2h1bmtMYXlvdXRJbmZvKCkKKyAgICAgICAgOiBhc3NpZ25DaHVua1Byb3BlcnRpZXModHJ1ZSkK
KyAgICAgICAgLCBhZHZhbmNlT25seShmYWxzZSkKKyAgICB7CisgICAgfQorCisgICAgYm9vbCBh
c3NpZ25DaHVua1Byb3BlcnRpZXMgOiAxOworICAgIGJvb2wgYWR2YW5jZU9ubHkgOiAxOworCisg
ICAgU1ZHVGV4dENodW5rIGNodW5rOworICAgIFZlY3RvcjxTVkdDaGFyPjo6aXRlcmF0b3IgaXQ7
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU1ZHKQor
I2VuZGlmIC8vIFNWR0NoYXJhY3RlckxheW91dEluZm9faApJbmRleDogV2ViQ29yZS9yZW5kZXJp
bmcvU1ZHSW5saW5lRmxvd0JveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcv
U1ZHSW5saW5lRmxvd0JveC5jcHAJKHJldmlzaW9uIDIxNjAzKQorKysgV2ViQ29yZS9yZW5kZXJp
bmcvU1ZHSW5saW5lRmxvd0JveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMsNiArMyw3IEBACiAg
KgogICogQ29weXJpZ2h0IChDKSAyMDA2IE9saXZlciBIdW50IDxvamgxNkBzdHVkZW50LmNhbnRl
cmJ1cnkuYWMubno+CiAgKiAgICAgICAgICAgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIgSW5jLgor
ICogICAgICAgICAgIChDKSAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUu
b3JnPgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yNSwxMyArMjYsMTQgQEAKIAogI2lmIEVOQUJM
RShTVkcpCiAjaW5jbHVkZSAiU1ZHSW5saW5lRmxvd0JveC5oIgorI2luY2x1ZGUgIlNWR05hbWVz
LmgiCiAKKyNpZiAhRU5BQkxFKFNWR19FWFBFUklNRU5UQUxfRkVBVFVSRVMpCiAjaW5jbHVkZSAi
R3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSW5saW5lVGV4dEJveC5oIgogI2luY2x1ZGUg
IktDYW52YXNSZW5kZXJpbmdTdHlsZS5oIgogI2luY2x1ZGUgIlJvb3RJbmxpbmVCb3guaCIKICNp
bmNsdWRlICJTVkdMZW5ndGhMaXN0LmgiCi0jaW5jbHVkZSAiU1ZHTmFtZXMuaCIKICNpbmNsdWRl
ICJTVkdQYWludFNlcnZlci5oIgogI2luY2x1ZGUgIlNWR1Jlc291cmNlQ2xpcHBlci5oIgogI2lu
Y2x1ZGUgIlNWR1Jlc291cmNlRmlsdGVyLmgiCkBAIC00MSwxMSArNDMsMjkgQEAKIAogdXNpbmcg
c3RkOjptaW47CiB1c2luZyBzdGQ6Om1heDsKKyNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIHVzaW5nIG5hbWVzcGFjZSBTVkdOYW1lczsKIAorI2lmIEVOQUJMRShTVkdfRVhQRVJJTUVO
VEFMX0ZFQVRVUkVTKQordm9pZCBTVkdJbmxpbmVGbG93Qm94OjpwYWludChSZW5kZXJPYmplY3Q6
OlBhaW50SW5mbyYgcGFpbnRJbmZvLCBpbnQgdHgsIGludCB0eSkKK3sKKyAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKK30KKworaW50IFNWR0lubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNIb3Jpem9u
dGFsbHkoaW50IHgsIGludCYgbGVmdFBvc2l0aW9uLCBpbnQmIHJpZ2h0UG9zaXRpb24sIGJvb2wm
IG5lZWRzV29yZFNwYWNpbmcpCit7CisgICAgLy8gbm8tb3AKKyAgICByZXR1cm4gMDsKK30KKwor
dm9pZCBTVkdJbmxpbmVGbG93Qm94Ojp2ZXJ0aWNhbGx5QWxpZ25Cb3hlcyhpbnQmIGhlaWdodE9m
QmxvY2spCit7CisgICAgLy8gbm8tb3AKK30KKyNlbHNlCiB2b2lkIFNWR0lubGluZUZsb3dCb3g6
OnBhaW50KFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiBwYWludEluZm8sIGludCB0eCwgaW50IHR5
KQogewogICAgIHBhaW50U1ZHSW5saW5lRmxvdyh0aGlzLCBvYmplY3QoKSwgcGFpbnRJbmZvLCB0
eCwgdHkpOwpAQCAtMzAzLDYgKzMyMyw3IEBAIHZvaWQgcGxhY2VTVkdGbG93VmVydGljYWxseShJ
bmxpbmVGbG93Qm8KICAgICBmbG93LT5zZXRWZXJ0aWNhbE92ZXJmbG93UG9zaXRpb25zKHRvcCwg
Ym90dG9tKTsKICAgICBmbG93LT5zZXRWZXJ0aWNhbFNlbGVjdGlvblBvc2l0aW9ucyh0b3AsIGJv
dHRvbSk7CiB9CisjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCkluZGV4OiBXZWJD
b3JlL3JlbmRlcmluZy9TVkdJbmxpbmVGbG93Qm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9y
ZW5kZXJpbmcvU1ZHSW5saW5lRmxvd0JveC5oCShyZXZpc2lvbiAyMTYwMykKKysrIFdlYkNvcmUv
cmVuZGVyaW5nL1NWR0lubGluZUZsb3dCb3guaAkod29ya2luZyBjb3B5KQpAQCAtMzAsOSArMzAs
MTEgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisjaWYgIUVOQUJMRShTVkdfRVhQRVJJTUVO
VEFMX0ZFQVRVUkVTKQogdm9pZCBwYWludFNWR0lubGluZUZsb3coSW5saW5lRmxvd0JveCosIFJl
bmRlck9iamVjdCosIFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwgaW50IHR4LCBpbnQgdHkpOwog
aW50IHBsYWNlU1ZHRmxvd0hvcml6b250YWxseShJbmxpbmVGbG93Qm94KiwgaW50IHgsIGludCYg
bGVmdFBvc2l0aW9uLCBpbnQmIHJpZ2h0UG9zaXRpb24sIGJvb2wmIG5lZWRzV29yZFNwYWNpbmcp
Owogdm9pZCBwbGFjZVNWR0Zsb3dWZXJ0aWNhbGx5KElubGluZUZsb3dCb3gqLCBpbnQmIGhlaWdo
dE9mQmxvY2spOworI2VuZGlmCiAKIGNsYXNzIFNWR0lubGluZUZsb3dCb3ggOiBwdWJsaWMgSW5s
aW5lRmxvd0JveCB7CiBwdWJsaWM6CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9TVkdJbmxpbmVU
ZXh0Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9TVkdJbmxpbmVUZXh0
Qm94LmNwcAkocmV2aXNpb24gMjE2MDMpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9TVkdJbmxpbmVU
ZXh0Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMiw2ICsyLDcgQEAKICAqIFRoaXMgZmlsZSBp
cyBwYXJ0IG9mIHRoZSBET00gaW1wbGVtZW50YXRpb24gZm9yIEtERS4KICAqCiAgKiBDb3B5cmln
aHQgKEMpIDIwMDcgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KKyAqICAgICAgICAgICAoQykgMjAw
NyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAqCiAgKiBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAg
KiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYwpAQCAtMjMsMTYgKzI0LDI0MCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IlNWR0lubGluZVRleHRCb3guaCIKIAorI2lmIEVOQUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRV
UkVTKQorI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgorI2luY2x1ZGUgIlRleHRTdHlsZS5oIgorI2lu
Y2x1ZGUgIklubGluZUZsb3dCb3guaCIKKyNpbmNsdWRlICJTVkdDaGFyYWN0ZXJMYXlvdXRJbmZv
LmgiCisjaW5jbHVkZSAiU1ZHUm9vdElubGluZUJveC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAorU1ZHSW5saW5lVGV4dEJveDo6U1ZHSW5saW5lVGV4dEJveChSZW5kZXJPYmpl
Y3QqIG9iaikKKyAgICA6IElubGluZVRleHRCb3gob2JqKQoreworfQorCiBpbnQgU1ZHSW5saW5l
VGV4dEJveDo6c2VsZWN0aW9uVG9wKCkKIHsKKyNpZiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9G
RUFUVVJFUykKKyAgICByZXR1cm4gbV95OworI2VuZGlmCisKICAgICByZXR1cm4gbV95IC0gMTsK
IH0KLQorIAogaW50IFNWR0lubGluZVRleHRCb3g6OnNlbGVjdGlvbkhlaWdodCgpCiB7CiAgICAg
cmV0dXJuIG1faGVpZ2h0OwogfQogCisjaWYgRU5BQkxFKFNWR19FWFBFUklNRU5UQUxfRkVBVFVS
RVMpCitTVkdSb290SW5saW5lQm94KiBTVkdJbmxpbmVUZXh0Qm94OjpzdmdSb290SW5saW5lQm94
KCkgY29uc3QKK3sKKyAgICAvLyBGaW5kIGFzc29jaWF0ZWQgcm9vdCBpbmxpbmUgYm94CisgICAg
SW5saW5lRmxvd0JveCogcGFyZW50Qm94ID0gcGFyZW50KCk7CisKKyAgICB3aGlsZSAocGFyZW50
Qm94ICYmICFwYXJlbnRCb3gtPmlzUm9vdElubGluZUJveCgpKQorICAgICAgICBwYXJlbnRCb3gg
PSBwYXJlbnRCb3gtPnBhcmVudCgpOworCisgICAgQVNTRVJUKHBhcmVudEJveCk7CisgICAgQVNT
RVJUKHBhcmVudEJveC0+aXNSb290SW5saW5lQm94KCkpOworCisgICAgcmV0dXJuIHN0YXRpY19j
YXN0PFNWR1Jvb3RJbmxpbmVCb3gqPihwYXJlbnRCb3gpOworfQorCitTVkdDaGFyKiBTVkdJbmxp
bmVUZXh0Qm94OjpjbG9zZXN0Q2hhcmFjdGVyVG9Qb3NpdGlvbihpbnQgeCwgaW50IHksIGludCYg
b2Zmc2V0KSBjb25zdAoreworICAgIC8vIEZpbmQgY29ycmVzcG9uZGluZyB0ZXh0IGNodW5rIGZv
ciBvdXIgaW5saW5lIGJveCAmIHJlZmVyZW5jZSB4IHBvc2l0aW9uCisgICAgU1ZHUm9vdElubGlu
ZUJveCogcm9vdEJveCA9IHN2Z1Jvb3RJbmxpbmVCb3goKTsKKyAgICBWZWN0b3I8U1ZHVGV4dENo
dW5rPiYgY2h1bmtzID0gY29uc3RfY2FzdDxWZWN0b3I8U1ZHVGV4dENodW5rPiYgPihyb290Qm94
LT5zdmdUZXh0Q2h1bmtzKCkpOworCisgICAgLy8gSXRlcmF0ZSB0aHJvdWdoIHRoZSBjaGFyYWN0
ZXJzLCByZXNwZWN0aW5nIHRoZWlyIGluZGl2aWR1YWwgcGxhY2VtZW50CisgICAgLy8gRmluZCB0
aGUgY2hhcmFjdGVyIHdpdGhpbiB0aGUgY2h1bmsgd2l0aCB0aGUgc21hbGxlc3QgZGlhZ29uYWwg
ZGlzdGFuY2UKKyAgICAvLyB0byB0aGUgY3VycmVudCBwb3NpdGlvbi4gQ2hlY2sgd2hldGVyIHRo
ZSBwYXNzZWQgeCB2YWx1ZSBoaXRzIHRoYXQgY2hhcmFjdGVyLgorICAgIGZsb2F0IGRpc3RhbmNl
ID0gRkxUX01BWDsKKyAgICBpbnQgY2h1bmtPZmZzZXQgPSAwOworCisgICAgU1ZHVGV4dENodW5r
IGNodW5rOworICAgIFZlY3RvcjxTVkdUZXh0Q2h1bms+OjppdGVyYXRvciBpdCA9IGNodW5rcy5i
ZWdpbigpOworICAgIFZlY3RvcjxTVkdUZXh0Q2h1bms+OjppdGVyYXRvciBlbmQgPSBjaHVua3Mu
ZW5kKCk7CisKKyAgICBjb25zdCBGb250JiBmb250ID0gdGV4dE9iamVjdCgpLT5zdHlsZSgpLT5m
b250KCk7CisKKyAgICBmb3IgKDsgaXQgIT0gZW5kOyArK2l0KSB7CisgICAgICAgIFNWR1RleHRD
aHVuayYgY3VyQ2h1bmsgPSAqaXQ7CisKKyAgICAgICAgVmVjdG9yPFNWR0lubGluZUJveENoYXJh
Y3RlclJhbmdlPjo6aXRlcmF0b3IgYm94SXQgPSBjdXJDaHVuay5ib3hlcy5iZWdpbigpOworICAg
ICAgICBWZWN0b3I8U1ZHSW5saW5lQm94Q2hhcmFjdGVyUmFuZ2U+OjppdGVyYXRvciBib3hFbmQg
PSBjdXJDaHVuay5ib3hlcy5lbmQoKTsKKworICAgICAgICBib29sIGZvdW5kID0gZmFsc2U7Cisg
ICAgICAgIGZvciAoOyBib3hJdCAhPSBib3hFbmQ7ICsrYm94SXQpIHsKKyAgICAgICAgICAgIFNW
R0lubGluZUJveENoYXJhY3RlclJhbmdlJiByYW5nZSA9ICpib3hJdDsKKyAgICAgICAgICAgIGlm
IChyYW5nZS5ib3ggPT0gdGhpcykgeworICAgICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTsKKyAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAg
IGlmICghZm91bmQpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBib3hJdCA9IGN1
ckNodW5rLmJveGVzLmJlZ2luKCk7CisKKyAgICAgICAgdW5zaWduZWQgaW50IHN0YXJ0T2Zmc2V0
ID0gMDsKKyAgICAgICAgdW5zaWduZWQgaW50IGxlbmd0aCA9IGN1ckNodW5rLmVuZCAtIGN1ckNo
dW5rLnN0YXJ0OworCisgICAgICAgIGZvciAoOyBib3hJdCAhPSBib3hFbmQ7ICsrYm94SXQpIHsK
KyAgICAgICAgICAgIFNWR0lubGluZUJveENoYXJhY3RlclJhbmdlJiByYW5nZSA9ICpib3hJdDsK
KyAgICAgICAgICAgIGlmIChyYW5nZS5ib3ggPT0gdGhpcykKKyAgICAgICAgICAgICAgICBicmVh
azsKKworICAgICAgICAgICAgc3RhcnRPZmZzZXQgKz0gKHJhbmdlLmVuZE9mZnNldCAtIHJhbmdl
LnN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChsZW5ndGggPiBsZW4oKSkK
KyAgICAgICAgICAgIGxlbmd0aCA9IGxlbigpOworCisgICAgICAgIFZlY3RvcjxTVkdDaGFyPjo6
aXRlcmF0b3IgaXRDaGFyID0gY3VyQ2h1bmsuc3RhcnQgKyBzdGFydE9mZnNldDsKKyAgICAgICAg
VmVjdG9yPFNWR0NoYXI+OjppdGVyYXRvciBpdENoYXJFbmQgPSBjdXJDaHVuay5zdGFydCArIHN0
YXJ0T2Zmc2V0ICsgbGVuZ3RoOworCisgICAgICAgIGlmIChpdENoYXJFbmQgPiBjdXJDaHVuay5l
bmQpCisgICAgICAgICAgICBpdENoYXJFbmQgPSBjdXJDaHVuay5lbmQ7CisKKyAgICAgICAgZm9y
ICg7IGl0Q2hhciAhPSBpdENoYXJFbmQ7ICsraXRDaGFyKSB7CisgICAgICAgICAgICBmbG9hdCBn
bHlwaFdpZHRoID0gZm9udC5mbG9hdFdpZHRoKFRleHRSdW4odGV4dE9iamVjdCgpLT5jaGFyYWN0
ZXJzKCkgKyBzdGFydE9mZnNldCwgMSksIFRleHRTdHlsZSgwLCAwKSk7CisgICAgICAgICAgICBm
bG9hdCBnbHlwaEhlaWdodCA9IGZvbnQuYXNjZW50KCkgKyBmb250LmRlc2NlbnQoKTsKKworICAg
ICAgICAgICAgZmxvYXQgeERpc3RhbmNlID0gKCppdENoYXIpLnggKyBnbHlwaFdpZHRoIC8gMi4w
IC0geDsKKyAgICAgICAgICAgIGZsb2F0IHlEaXN0YW5jZSA9ICgqaXRDaGFyKS55IC0gZ2x5cGhI
ZWlnaHQgLyAyLjAgLSB5OworCisgICAgICAgICAgICBmbG9hdCBuZXdEaXN0YW5jZSA9IHNxcnQo
eERpc3RhbmNlICogeERpc3RhbmNlICsgeURpc3RhbmNlICogeURpc3RhbmNlKTsKKyAgICAgICAg
ICAgIGlmIChuZXdEaXN0YW5jZSA8PSBkaXN0YW5jZSkgeworICAgICAgICAgICAgICAgIGRpc3Rh
bmNlID0gbmV3RGlzdGFuY2U7CisgICAgICAgICAgICAgICAgb2Zmc2V0ID0gaXRDaGFyIC0gY3Vy
Q2h1bmsuc3RhcnQ7CisgICAgICAgICAgICAgICAgY2h1bmtPZmZzZXQgPSAoaXQgLSBjaHVua3Mu
YmVnaW4oKSkgLSBzdGFydE9mZnNldDsKKyAgICAgICAgICAgICAgICBjaHVuayA9IGN1ckNodW5r
OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgaWYgKCFjaHVuay5zdGFy
dCkgeworICAgICAgICBvZmZzZXQgPSAwOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAg
ICBTVkdDaGFyKiByZXN1bHQgPSBjaHVuay5zdGFydCArIG9mZnNldDsKKyAgICBvZmZzZXQgKz0g
Y2h1bmtPZmZzZXQ7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitib29sIFNWR0lubGluZVRl
eHRCb3g6OnN2Z0NoYXJhY3RlckhpdHNQb3NpdGlvbihpbnQgeCwgaW50IHksIGludCYgb2Zmc2V0
KSBjb25zdAoreworICAgIFNWR0NoYXIqIGNoYXJBdFBvc1B0ciA9IGNsb3Nlc3RDaGFyYWN0ZXJU
b1Bvc2l0aW9uKHgsIHksIG9mZnNldCk7CisgICAgaWYgKCFjaGFyQXRQb3NQdHIpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIFNWR0NoYXImIGNoYXJBdFBvcyA9ICpjaGFyQXRQb3NQdHI7
CisgICAgUmVuZGVyU3R5bGUqIHN0eWxlID0gdGV4dE9iamVjdCgpLT5zdHlsZShtX2ZpcnN0TGlu
ZSk7CisKKyAgICAvLyBDaGVjayB3aGV0ZXIgeSBwb3NpdGlvbiBoaXRzIHRoZSBjdXJyZW50IGNo
YXJhY3RlcgorICAgIGZsb2F0IGdseXBoSGVpZ2h0ID0gc3R5bGUtPmZvbnQoKS5hc2NlbnQoKSAr
IHN0eWxlLT5mb250KCkuZGVzY2VudCgpOworCisgICAgLy8gVE9ETzogc2VsZWN0aW9uIGxvZ2lj
IG11c3QgZGVwZW5kIG9uIHRoZSB0ZXh0IGRpcmVjdGlvbiAoaWUuIHRvcC10by1ib3R0b20gdmVy
dGljYWwgdGV4dCkKKyAgICAvLyBJbiB2ZXJ0aWNhbCB0ZXh0IHRoZSBzZWxlY3Rpb24gbG9naWMg
dHJpY2tzIG11c3QgYmUgZG9uZSBoZXJlIGFuZCBub3QgYmVsb3chCisgICAgaWYgKHkgPCBjaGFy
QXRQb3MueSAtIGdseXBoSGVpZ2h0IHx8IHkgPiBjaGFyQXRQb3MueSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgLy8gQ2hlY2sgd2hldGVyIHggcG9zaXRpb24gaGl0cyB0aGUgY3VycmVu
dCBjaGFyYWN0ZXIKKyAgICBmbG9hdCBnbHlwaFdpZHRoID0gc3R5bGUtPmZvbnQoKS5mbG9hdFdp
ZHRoKFRleHRSdW4odGV4dE9iamVjdCgpLT50ZXh0KCktPmNoYXJhY3RlcnMoKSArIG9mZnNldCwg
MSksIFRleHRTdHlsZSgwLCAwKSk7CisgICAgaWYgKHggPCBjaGFyQXRQb3MueCB8fCB4ID4gY2hh
ckF0UG9zLnggKyBnbHlwaFdpZHRoKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBT
bmFwIHRvIGNoYXJhY3RlciBhdCBoYWxmIG9mIGl0J3MgYWR2YW5jZQorICAgIGlmICh4ID49IGNo
YXJBdFBvcy54ICsgZ2x5cGhXaWR0aCAvIDIuMCkKKyAgICAgICAgb2Zmc2V0Kys7CisKKyAgICBy
ZXR1cm4gdHJ1ZTsKK30KKworaW50IFNWR0lubGluZVRleHRCb3g6Om9mZnNldEZvclBvc2l0aW9u
KGludCB4LCBib29sIGluY2x1ZGVQYXJ0aWFsR2x5cGhzKSBjb25zdAoreworICAgIC8vIFNWRyBk
b2Vzbid0IHVzZSB0aGUgb2Zmc2V0IDwtPiBwb3NpdGlvbiBzZWxlY3Rpb24gc3lzdGVtLiAKKyAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gMDsKK30KKworaW50IFNWR0lubGlu
ZVRleHRCb3g6OnBvc2l0aW9uRm9yT2Zmc2V0KGludCBvZmZzZXQpIGNvbnN0Cit7CisgICAgLy8g
U1ZHIGRvZXNuJ3QgdXNlIHRoZSBvZmZzZXQgPC0+IHBvc2l0aW9uIHNlbGVjdGlvbiBzeXN0ZW0u
IAorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiAwOworfQorCitib29sIFNW
R0lubGluZVRleHRCb3g6Om5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0
LCBIaXRUZXN0UmVzdWx0JiByZXN1bHQsIGludCB4LCBpbnQgeSwgaW50IHR4LCBpbnQgdHkpCit7
CisgICAgQVNTRVJUKCFpc0xpbmVCcmVhaygpKTsKKworICAgIGlmIChvYmplY3QoKS0+c3R5bGUo
KS0+dmlzaWJpbGl0eSgpICE9IFZJU0lCTEUpCisgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
aW50IG9mZnNldCA9IDA7CisgICAgaWYgKCFzdmdDaGFyYWN0ZXJIaXRzUG9zaXRpb24oeCwgeSwg
b2Zmc2V0KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgb2JqZWN0KCktPnVwZGF0ZUhp
dFRlc3RSZXN1bHQocmVzdWx0LCBJbnRQb2ludCh4IC0gdHgsIHkgLSB0eSkpOworICAgIHJldHVy
biB0cnVlOworfQorCitJbnRSZWN0IFNWR0lubGluZVRleHRCb3g6OnNlbGVjdGlvblJlY3QoaW50
IHR4LCBpbnQgdHksIGludCBzdGFydFBvcywgaW50IGVuZFBvcykKK3sKKyAgICBpZiAoc3RhcnRQ
b3MgPj0gZW5kUG9zKQorICAgICAgICByZXR1cm4gSW50UmVjdCgpOworCisgICAgU1ZHUm9vdElu
bGluZUJveCogcm9vdEJveCA9IHN2Z1Jvb3RJbmxpbmVCb3goKTsKKworICAgIC8vIEZpbmQgY29y
cmVzcG9uZGluZyB0ZXh0IGNodW5rIGZvciBvdXIgaW5saW5lIGJveAorICAgIFZlY3RvcjxTVkdU
ZXh0Q2h1bms+JiBjaHVua3MgPSBjb25zdF9jYXN0PFZlY3RvcjxTVkdUZXh0Q2h1bms+JiA+KHJv
b3RCb3gtPnN2Z1RleHRDaHVua3MoKSk7CisKKyAgICBWZWN0b3I8U1ZHVGV4dENodW5rPjo6aXRl
cmF0b3IgaXQgPSBjaHVua3MuYmVnaW4oKTsKKyAgICBWZWN0b3I8U1ZHVGV4dENodW5rPjo6aXRl
cmF0b3IgZW5kID0gY2h1bmtzLmVuZCgpOworCisgICAgZmxvYXQgd2lkdGggPSAwLjA7CisgICAg
ZmxvYXQgYmVmb3JlV2lkdGggPSAwLjA7CisKKyAgICBmb3IgKDsgaXQgIT0gZW5kOyArK2l0KSB7
CisgICAgICAgIFNWR1RleHRDaHVuayYgY2h1bmsgPSAqaXQ7CisKKyAgICAgICAgVmVjdG9yPFNW
R0lubGluZUJveENoYXJhY3RlclJhbmdlPjo6aXRlcmF0b3IgYm94SXQgPSBjaHVuay5ib3hlcy5i
ZWdpbigpOworICAgICAgICBWZWN0b3I8U1ZHSW5saW5lQm94Q2hhcmFjdGVyUmFuZ2U+OjppdGVy
YXRvciBib3hFbmQgPSBjaHVuay5ib3hlcy5lbmQoKTsKKworICAgICAgICBmb3IgKDsgYm94SXQg
IT0gYm94RW5kOyArK2JveEl0KSB7CisgICAgICAgICAgICBTVkdJbmxpbmVCb3hDaGFyYWN0ZXJS
YW5nZSYgcmFuZ2UgPSAqYm94SXQ7CisgICAgICAgICAgICBpZiAocmFuZ2UuYm94ICE9IHRoaXMp
CisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIGZsb2F0IG5ld1dpZHRo
ID0gcm9vdEJveC0+Y3VtbXVsYXRlZFdpZHRoT2ZTZWxlY3Rpb25SYW5nZSh0aGlzLCBzdGFydFBv
cywgZW5kUG9zLCBsZW4oKSwgMCk7CisgICAgICAgICAgICBpZiAobmV3V2lkdGggIT0gRkxUX01B
WCkgeworICAgICAgICAgICAgICAgIHdpZHRoICs9IG5ld1dpZHRoOworCisgICAgICAgICAgICAg
ICAgaWYgKHN0YXJ0UG9zID4gMCkgeworICAgICAgICAgICAgICAgICAgICBuZXdXaWR0aCA9IHJv
b3RCb3gtPmN1bW11bGF0ZWRXaWR0aE9mU2VsZWN0aW9uUmFuZ2UodGhpcywgMCwgc3RhcnRQb3Ms
IGxlbigpLCAwKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG5ld1dpZHRoICE9IEZMVF9NQVgp
CisgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmVXaWR0aCArPSBuZXdXaWR0aDsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9ICAgIAorICAgICAgICB9CisgICAgfQorCisgICAg
UmVuZGVyU3R5bGUqIHN0eWxlID0gdGV4dE9iamVjdCgpLT5zdHlsZShtX2ZpcnN0TGluZSk7Cisg
ICAgQVNTRVJUKHN0eWxlKTsKKworICAgIGZsb2F0IGhlaWdodCA9IHN0eWxlLT5mb250KCkuYXNj
ZW50KCkgKyBzdHlsZS0+Zm9udCgpLmRlc2NlbnQoKTsKKyAgICByZXR1cm4gZW5jbG9zaW5nSW50
UmVjdChGbG9hdFJlY3QodHggKyBiZWZvcmVXaWR0aCArIHhQb3MoKSwgdHkgKyB5UG9zKCksIHdp
ZHRoLCBoZWlnaHQpKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4
OiBXZWJDb3JlL3JlbmRlcmluZy9TVkdJbmxpbmVUZXh0Qm94LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9yZW5kZXJpbmcvU1ZHSW5saW5lVGV4dEJveC5oCShyZXZpc2lvbiAyMTYwMykKKysrIFdl
YkNvcmUvcmVuZGVyaW5nL1NWR0lubGluZVRleHRCb3guaAkod29ya2luZyBjb3B5KQpAQCAtMiw2
ICsyLDcgQEAKICAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBET00gaW1wbGVtZW50YXRpb24g
Zm9yIEtERS4KICAqCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9y
Zz4KKyAqICAgICAgICAgICAoQykgMjAwNyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5A
a2RlLm9yZz4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjcsMTEgKzI4LDMyIEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAorICAgIGNsYXNzIFNWR0NoYXI7CisgICAgY2xhc3MgU1ZHUm9vdElu
bGluZUJveDsKKwogICAgIGNsYXNzIFNWR0lubGluZVRleHRCb3ggOiBwdWJsaWMgSW5saW5lVGV4
dEJveCB7CiAgICAgcHVibGljOgotICAgICAgICBTVkdJbmxpbmVUZXh0Qm94KFJlbmRlck9iamVj
dCogb2JqKSA6IElubGluZVRleHRCb3gob2JqKSB7fQorICAgICAgICBTVkdJbmxpbmVUZXh0Qm94
KFJlbmRlck9iamVjdCogb2JqKTsKKwogICAgICAgICB2aXJ0dWFsIGludCBzZWxlY3Rpb25Ub3Ao
KTsKICAgICAgICAgdmlydHVhbCBpbnQgc2VsZWN0aW9uSGVpZ2h0KCk7CisKKyNpZiBFTkFCTEUo
U1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykKKyAgICAgICAgdmlydHVhbCBpbnQgb2Zmc2V0Rm9y
UG9zaXRpb24oaW50IHgsIGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMgPSB0cnVlKSBjb25zdDsK
KyAgICAgICAgdmlydHVhbCBpbnQgcG9zaXRpb25Gb3JPZmZzZXQoaW50IG9mZnNldCkgY29uc3Q7
CisKKyAgICAgICAgdmlydHVhbCBib29sIG5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0
JiwgSGl0VGVzdFJlc3VsdCYsIGludCB4LCBpbnQgeSwgaW50IHR4LCBpbnQgdHkpOworICAgICAg
ICB2aXJ0dWFsIEludFJlY3Qgc2VsZWN0aW9uUmVjdChpbnQgYWJzeCwgaW50IGFic3ksIGludCBz
dGFydFBvcywgaW50IGVuZFBvcyk7CisKKyAgICBwcm90ZWN0ZWQ6CisgICAgICAgIGZyaWVuZCBj
bGFzcyBSZW5kZXJTVkdJbmxpbmVUZXh0OworCisgICAgICAgIFNWR1Jvb3RJbmxpbmVCb3gqIHN2
Z1Jvb3RJbmxpbmVCb3goKSBjb25zdDsKKyAgICAgICAgYm9vbCBzdmdDaGFyYWN0ZXJIaXRzUG9z
aXRpb24oaW50IHgsIGludCB5LCBpbnQmIG9mZnNldCkgY29uc3Q7CisKKyAgICBwcml2YXRlOgor
ICAgICAgICBTVkdDaGFyKiBjbG9zZXN0Q2hhcmFjdGVyVG9Qb3NpdGlvbihpbnQgeCwgaW50IHks
IGludCYgb2Zmc2V0KSBjb25zdDsKKyNlbmRpZgogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1NWR1Jvb3RJbmxpbmVCb3guY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1NWR1Jvb3RJbmxpbmVCb3guY3BwCShyZXZpc2lv
biAyMTYwMykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1NWR1Jvb3RJbmxpbmVCb3guY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zLDYgKzMsNyBAQAogICoKICAqIENvcHlyaWdodCAoQykgMjAwNiBPbGl2
ZXIgSHVudCA8b2poMTZAc3R1ZGVudC5jYW50ZXJidXJ5LmFjLm56PgogICogICAgICAgICAgIChD
KSAyMDA2IEFwcGxlIENvbXB1dGVyIEluYy4KKyAqICAgICAgICAgICAoQykgMjAwNyBOaWtvbGFz
IFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAt
MjQsMTMgKzI1LDI5IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKICNpZiBFTkFCTEUoU1ZHKQot
CiAjaW5jbHVkZSAiU1ZHUm9vdElubGluZUJveC5oIgogCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNp
bmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKKyNpbmNsdWRlICJJbmxpbmVUZXh0Qm94LmgiCisj
aW5jbHVkZSAiS0NhbnZhc1JlbmRlcmluZ1N0eWxlLmgiCisjaW5jbHVkZSAiUmFuZ2UuaCIKICNp
bmNsdWRlICJTVkdJbmxpbmVGbG93Qm94LmgiCisjaW5jbHVkZSAiU1ZHUGFpbnRTZXJ2ZXIuaCIK
KyNpbmNsdWRlICJTVkdSZXNvdXJjZUNsaXBwZXIuaCIKKyNpbmNsdWRlICJTVkdSZXNvdXJjZUZp
bHRlci5oIgorI2luY2x1ZGUgIlNWR1Jlc291cmNlTWFza2VyLmgiCisjaW5jbHVkZSAiU1ZHVGV4
dFBvc2l0aW9uaW5nRWxlbWVudC5oIgorI2luY2x1ZGUgIlNWR1VSSVJlZmVyZW5jZS5oIgorI2lu
Y2x1ZGUgIlRleHRTdHlsZS5oIgorCisvLyBUZXh0IGNodW5rIGNyZWF0aW9uIGlzIGNvbXBsZXgg
YW5kIHRoZSB3aG9sZSBwcm9jZXNzCisvLyBjYW4gZWFzaWx5IGJlIHRyYWNlZCBieSBzZXR0aW5n
IHRoaXMgdmFyaWFibGUgPiAwLgorI2RlZmluZSBERUJVR19DSFVOS19CVUlMRElORyAwCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAorI2lmICFFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJF
UykKIHZvaWQgU1ZHUm9vdElubGluZUJveDo6cGFpbnQoUmVuZGVyT2JqZWN0OjpQYWludEluZm8m
IHBhaW50SW5mbywgaW50IHBhcmVudFgsIGludCBwYXJlbnRZKQogewogICAgIHBhaW50U1ZHSW5s
aW5lRmxvdyh0aGlzLCBvYmplY3QoKSwgcGFpbnRJbmZvLCBwYXJlbnRYLCBwYXJlbnRZKTsKQEAg
LTQ5LDYgKzY2LDEyMzMgQEAgdm9pZCBTVkdSb290SW5saW5lQm94Ojp2ZXJ0aWNhbGx5QWxpZ25C
bwogewogICAgIHBsYWNlU1ZHRmxvd1ZlcnRpY2FsbHkodGhpcywgaGVpZ2h0T2ZCbG9jayk7CiB9
CisjZWxzZQorc3RhdGljIHZvaWQgcHJlcGFyZVRleHRSZW5kZXJpbmcoUmVuZGVyT2JqZWN0OjpQ
YWludEluZm8mIHBhaW50SW5mbywgaW50IHR4LCBpbnQgdHksIElubGluZUZsb3dCb3gqIGZsb3dC
b3gsIEZsb2F0UmVjdCYgYm91bmRpbmdCb3gsIFNWR1Jlc291cmNlRmlsdGVyKiYgZmlsdGVyKQor
eworICAgIFJlbmRlck9iamVjdCogb2JqZWN0ID0gZmxvd0JveC0+b2JqZWN0KCk7CisKKyAgICBw
YWludEluZm8uY29udGV4dC0+c2F2ZSgpOworICAgIHBhaW50SW5mby5jb250ZXh0LT5jb25jYXRD
VE0ob2JqZWN0LT5sb2NhbFRyYW5zZm9ybSgpKTsKKworICAgIGJvdW5kaW5nQm94ID0gRmxvYXRS
ZWN0KHR4ICsgZmxvd0JveC0+eFBvcygpLCB0eSArIGZsb3dCb3gtPnlQb3MoKSwgZmxvd0JveC0+
d2lkdGgoKSwgZmxvd0JveC0+aGVpZ2h0KCkpOworCisgICAgU1ZHRWxlbWVudCogc3ZnRWxlbWVu
dCA9IHN0YXRpY19jYXN0PFNWR0VsZW1lbnQqPihvYmplY3QtPmVsZW1lbnQoKSk7CisgICAgQVNT
RVJUKHN2Z0VsZW1lbnQgJiYgc3ZnRWxlbWVudC0+ZG9jdW1lbnQoKSAmJiBzdmdFbGVtZW50LT5p
c1N0eWxlZCgpKTsKKworICAgIFNWR1N0eWxlZEVsZW1lbnQqIHN0eWxlZEVsZW1lbnQgPSBzdGF0
aWNfY2FzdDxTVkdTdHlsZWRFbGVtZW50Kj4oc3ZnRWxlbWVudCk7CisgICAgY29uc3QgU1ZHUmVu
ZGVyU3R5bGUqIHN2Z1N0eWxlID0gb2JqZWN0LT5zdHlsZSgpLT5zdmdTdHlsZSgpOworCisgICAg
QXRvbWljU3RyaW5nIGZpbHRlcklkKFNWR1VSSVJlZmVyZW5jZTo6Z2V0VGFyZ2V0KHN2Z1N0eWxl
LT5maWx0ZXIoKSkpOworICAgIEF0b21pY1N0cmluZyBjbGlwcGVySWQoU1ZHVVJJUmVmZXJlbmNl
OjpnZXRUYXJnZXQoc3ZnU3R5bGUtPmNsaXBQYXRoKCkpKTsKKyAgICBBdG9taWNTdHJpbmcgbWFz
a2VySWQoU1ZHVVJJUmVmZXJlbmNlOjpnZXRUYXJnZXQoc3ZnU3R5bGUtPm1hc2tFbGVtZW50KCkp
KTsKKworICAgIFNWR1Jlc291cmNlQ2xpcHBlciogY2xpcHBlciA9IGdldENsaXBwZXJCeUlkKG9i
amVjdC0+ZG9jdW1lbnQoKSwgY2xpcHBlcklkKTsKKyAgICBTVkdSZXNvdXJjZU1hc2tlciogbWFz
a2VyID0gZ2V0TWFza2VyQnlJZChvYmplY3QtPmRvY3VtZW50KCksIG1hc2tlcklkKTsKKworICAg
IGZpbHRlciA9IGdldEZpbHRlckJ5SWQob2JqZWN0LT5kb2N1bWVudCgpLCBmaWx0ZXJJZCk7CisK
KyAgICBpZiAoZmlsdGVyKQorICAgICAgICBmaWx0ZXItPnByZXBhcmVGaWx0ZXIocGFpbnRJbmZv
LmNvbnRleHQsIGJvdW5kaW5nQm94KTsKKyAgICBlbHNlIGlmICghZmlsdGVySWQuaXNFbXB0eSgp
KQorICAgICAgICBzdmdFbGVtZW50LT5kb2N1bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25zKCkt
PmFkZFBlbmRpbmdSZXNvdXJjZShmaWx0ZXJJZCwgc3R5bGVkRWxlbWVudCk7CisKKyAgICBpZiAo
Y2xpcHBlcikgeworICAgICAgICBjbGlwcGVyLT5hZGRDbGllbnQoc3R5bGVkRWxlbWVudCk7Cisg
ICAgICAgIGNsaXBwZXItPmFwcGx5Q2xpcChwYWludEluZm8uY29udGV4dCwgYm91bmRpbmdCb3gp
OworICAgIH0gZWxzZSBpZiAoIWNsaXBwZXJJZC5pc0VtcHR5KCkpCisgICAgICAgIHN2Z0VsZW1l
bnQtPmRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS0+YWRkUGVuZGluZ1Jlc291cmNl
KGNsaXBwZXJJZCwgc3R5bGVkRWxlbWVudCk7CisKKyAgICBpZiAobWFza2VyKSB7CisgICAgICAg
IG1hc2tlci0+YWRkQ2xpZW50KHN0eWxlZEVsZW1lbnQpOworICAgICAgICBtYXNrZXItPmFwcGx5
TWFzayhwYWludEluZm8uY29udGV4dCwgYm91bmRpbmdCb3gpOworICAgIH0gZWxzZSBpZiAoIW1h
c2tlcklkLmlzRW1wdHkoKSkKKyAgICAgICAgc3ZnRWxlbWVudC0+ZG9jdW1lbnQoKS0+YWNjZXNz
U1ZHRXh0ZW5zaW9ucygpLT5hZGRQZW5kaW5nUmVzb3VyY2UobWFza2VySWQsIHN0eWxlZEVsZW1l
bnQpOworfQorCitpbmxpbmUgYm9vbCBpc1ZlcnRpY2FsV3JpdGluZ01vZGUoY29uc3QgU1ZHUmVu
ZGVyU3R5bGUqIHN0eWxlKQoreworICAgIHJldHVybiBzdHlsZS0+d3JpdGluZ01vZGUoKSA9PSBX
TV9UQlJMIHx8IHN0eWxlLT53cml0aW5nTW9kZSgpID09IFdNX1RCOyAKK30KKworaW5saW5lIHZv
aWQgc3RhcnRUZXh0Q2h1bmsoU1ZHVGV4dENodW5rTGF5b3V0SW5mbyYgaW5mbykKK3sKKyAgICBp
bmZvLmNodW5rLmJveGVzLmNsZWFyKCk7CisgICAgaW5mby5jaHVuay5ib3hlcy5hcHBlbmQoU1ZH
SW5saW5lQm94Q2hhcmFjdGVyUmFuZ2UoKSk7CisKKyAgICBpbmZvLmNodW5rLnN0YXJ0ID0gaW5m
by5pdDsKKyAgICBpbmZvLmFzc2lnbkNodW5rUHJvcGVydGllcyA9IHRydWU7Cit9CisKK2lubGlu
ZSB2b2lkIGNsb3NlVGV4dENodW5rKFNWR1RleHRDaHVua0xheW91dEluZm8mIGluZm8sIFZlY3Rv
cjxTVkdUZXh0Q2h1bms+JiB0ZXh0Q2h1bmtzKQoreworICAgIEFTU0VSVCghaW5mby5jaHVuay5i
b3hlcy5sYXN0KCkuaXNPcGVuKCkpOworICAgIEFTU0VSVChpbmZvLmNodW5rLmJveGVzLmxhc3Qo
KS5pc0Nsb3NlZCgpKTsKKworICAgIGluZm8uY2h1bmsuZW5kID0gaW5mby5pdDsKKyAgICBBU1NF
UlQoaW5mby5jaHVuay5lbmQgPj0gaW5mby5jaHVuay5zdGFydCk7CisKKyAgICB0ZXh0Q2h1bmtz
LmFwcGVuZChpbmZvLmNodW5rKTsKK30KKworaW5saW5lIEludFBvaW50IHJvb3RCb3hUb3BMZWZ0
UG9zaXRpb24oVmVjdG9yPFNWR0NoYXI+JiBjaGFycykKK3sKKyAgICBWZWN0b3I8U1ZHQ2hhcj46
Oml0ZXJhdG9yIGl0ID0gY2hhcnMuYmVnaW4oKTsKKyAgICBWZWN0b3I8U1ZHQ2hhcj46Oml0ZXJh
dG9yIGVuZCA9IGNoYXJzLmVuZCgpOworCisgICAgZmxvYXQgbG93WCA9IEZMVF9NQVgsIGxvd1kg
PSBGTFRfTUFYOworICAgIGZvciAoOyBpdCAhPSBlbmQ7ICsraXQpIHsKKyAgICAgICAgZmxvYXQg
eCA9ICgqaXQpLng7CisgICAgICAgIGZsb2F0IHkgPSAoKml0KS55OworCisgICAgICAgIGlmICh4
IDwgbG93WCkKKyAgICAgICAgICAgIGxvd1ggPSB4OworCisgICAgICAgIGlmICh5IDwgbG93WSkK
KyAgICAgICAgICAgIGxvd1kgPSB5OworICAgIH0KKworICAgIHJldHVybiBJbnRQb2ludCgoaW50
KSBmbG9vcmYobG93WCksIChpbnQpIGZsb29yZihsb3dZKSk7Cit9CisKK3ZvaWQgU1ZHUm9vdElu
bGluZUJveDo6cGFpbnQoUmVuZGVyT2JqZWN0OjpQYWludEluZm8mIHBhaW50SW5mbywgaW50IHR4
LCBpbnQgdHkpCit7CisgICAgaWYgKHBhaW50SW5mby5jb250ZXh0LT5wYWludGluZ0Rpc2FibGVk
KCkpCisgICAgICAgIHJldHVybjsKKworICAgIEZsb2F0UmVjdCBib3VuZGluZ0JveDsKKworICAg
IFNWR1Jlc291cmNlRmlsdGVyKiBmaWx0ZXIgPSAwOworICAgIHByZXBhcmVUZXh0UmVuZGVyaW5n
KHBhaW50SW5mbywgdHgsIHR5LCB0aGlzLCBib3VuZGluZ0JveCwgZmlsdGVyKTsKKworICAgIFJl
bmRlck9iamVjdDo6UGFpbnRJbmZvIHBpKHBhaW50SW5mbyk7CisKKyAgICBmbG9hdCBvcGFjaXR5
ID0gb2JqZWN0KCktPnN0eWxlKCktPm9wYWNpdHkoKTsKKyAgICBpZiAob3BhY2l0eSA8IDEuMGYp
IHsKKyAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPmNsaXAoZW5jbG9zaW5nSW50UmVjdChib3Vu
ZGluZ0JveCkpOworICAgICAgICBwYWludEluZm8uY29udGV4dC0+YmVnaW5UcmFuc3BhcmVuY3lM
YXllcihvcGFjaXR5KTsKKyAgICB9CisKKyAgICBTVkdQYWludFNlcnZlciogZmlsbFBhaW50U2Vy
dmVyID0gS1NWR1BhaW50ZXJGYWN0b3J5OjpmaWxsUGFpbnRTZXJ2ZXIob2JqZWN0KCktPnN0eWxl
KCksIG9iamVjdCgpKTsKKyAgICBpZiAoZmlsbFBhaW50U2VydmVyKSB7CisgICAgICAgIGlmIChm
aWxsUGFpbnRTZXJ2ZXItPnNldHVwKHBpLmNvbnRleHQsIG9iamVjdCgpLCBBcHBseVRvRmlsbFRh
cmdldFR5cGUsIHRydWUpKSB7CisgICAgICAgICAgICBWZWN0b3I8U1ZHQ2hhcj46Oml0ZXJhdG9y
IGl0ID0gbV9zdmdDaGFycy5iZWdpbigpOworICAgICAgICAgICAgcGFpbnRJbmxpbmVCb3hlcyhw
aSwgdHgsIHR5LCB0aGlzLCBpdCk7CisgICAgICAgICAgICBBU1NFUlQoaXQgPT0gbV9zdmdDaGFy
cy5lbmQoKSk7CisKKyAgICAgICAgICAgIGZpbGxQYWludFNlcnZlci0+dGVhcmRvd24ocGkuY29u
dGV4dCwgb2JqZWN0KCksIEFwcGx5VG9GaWxsVGFyZ2V0VHlwZSwgdHJ1ZSk7CisgICAgICAgIH0K
KyAgICB9CisKKyAgICBTVkdQYWludFNlcnZlciogc3Ryb2tlUGFpbnRTZXJ2ZXIgPSBLU1ZHUGFp
bnRlckZhY3Rvcnk6OnN0cm9rZVBhaW50U2VydmVyKG9iamVjdCgpLT5zdHlsZSgpLCBvYmplY3Qo
KSk7CisgICAgaWYgKHN0cm9rZVBhaW50U2VydmVyKSB7CisgICAgICAgIGlmIChzdHJva2VQYWlu
dFNlcnZlci0+c2V0dXAocGkuY29udGV4dCwgb2JqZWN0KCksIEFwcGx5VG9TdHJva2VUYXJnZXRU
eXBlLCB0cnVlKSkgeworICAgICAgICAgICAgVmVjdG9yPFNWR0NoYXI+OjppdGVyYXRvciBpdCA9
IG1fc3ZnQ2hhcnMuYmVnaW4oKTsKKyAgICAgICAgICAgIHBhaW50SW5saW5lQm94ZXMocGksIHR4
LCB0eSwgdGhpcywgaXQpOworICAgICAgICAgICAgQVNTRVJUKGl0ID09IG1fc3ZnQ2hhcnMuZW5k
KCkpOworCisgICAgICAgICAgICBzdHJva2VQYWludFNlcnZlci0+dGVhcmRvd24ocGkuY29udGV4
dCwgb2JqZWN0KCksIEFwcGx5VG9TdHJva2VUYXJnZXRUeXBlLCB0cnVlKTsKKyAgICAgICAgfQor
ICAgIH0KKworICAgIGlmIChmaWx0ZXIpCisgICAgICAgIGZpbHRlci0+YXBwbHlGaWx0ZXIocGFp
bnRJbmZvLmNvbnRleHQsIGJvdW5kaW5nQm94KTsKKworICAgIGlmIChvcGFjaXR5IDwgMS4wZikK
KyAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPmVuZFRyYW5zcGFyZW5jeUxheWVyKCk7CisKKyAg
ICBwYWludEluZm8uY29udGV4dC0+cmVzdG9yZSgpOworfQorCitpbnQgU1ZHUm9vdElubGluZUJv
eDo6cGxhY2VCb3hlc0hvcml6b250YWxseShpbnQgeCwgaW50JiBsZWZ0UG9zaXRpb24sIGludCYg
cmlnaHRQb3NpdGlvbiwgYm9vbCYgbmVlZHNXb3JkU3BhY2luZykKK3sKKyAgICAvLyBSZW1vdmUg
YW55IG9mZnNldHMgY2F1c2VkIGJ5IFJUTCB0ZXh0IGxheW91dAorICAgIGxlZnRQb3NpdGlvbiA9
IDA7CisgICAgcmlnaHRQb3NpdGlvbiA9IDA7CisgICAgcmV0dXJuIDA7Cit9CisKK3ZvaWQgU1ZH
Um9vdElubGluZUJveDo6dmVydGljYWxseUFsaWduQm94ZXMoaW50JiBoZWlnaHRPZkJsb2NrKQor
eworICAgIC8vIGhlaWdodCBpcyBzZXQgYnkgbGF5b3V0SW5saW5lQm94ZXMuCisgICAgaGVpZ2h0
T2ZCbG9jayA9IGhlaWdodCgpOworfQorCitmbG9hdCBTVkdSb290SW5saW5lQm94OjpjdW1tdWxh
dGVkV2lkdGhPZlNlbGVjdGlvblJhbmdlKElubGluZVRleHRCb3gqIHRleHRCb3gsIGludCBzdGFy
dFBvcywgaW50IGVuZFBvcywgaW50IGxlbmd0aCwgaW50IGJveFN0YXJ0T2Zmc2V0KQoreworICAg
IGludCBjaHVua1N0YXJ0UG9zID0gYm94U3RhcnRPZmZzZXQ7CisgICAgaW50IGNodW5rRW5kUG9z
ID0gY2h1bmtTdGFydFBvcyArIGxlbmd0aDsKKworICAgIGlmICgoc3RhcnRQb3MgPiBjaHVua1N0
YXJ0UG9zICYmIGVuZFBvcyA+IGNodW5rRW5kUG9zKSB8fCBjaHVua1N0YXJ0UG9zID49IGVuZFBv
cykKKyAgICAgICAgcmV0dXJuIEZMVF9NQVg7CisKKyAgICBpZiAoZW5kUG9zID4gY2h1bmtFbmRQ
b3MpCisgICAgICAgIGVuZFBvcyA9IGNodW5rRW5kUG9zOworCisgICAgaWYgKHN0YXJ0UG9zIDwg
Y2h1bmtTdGFydFBvcykKKyAgICAgICAgc3RhcnRQb3MgPSBjaHVua1N0YXJ0UG9zOworCisgICAg
QVNTRVJUKHN0YXJ0UG9zID49IGNodW5rU3RhcnRQb3MpOworICAgIEFTU0VSVChlbmRQb3MgPD0g
Y2h1bmtFbmRQb3MpOworCisgICAgQVNTRVJUKHN0YXJ0UG9zIDwgZW5kUG9zKTsKKworICAgIFJl
bmRlclRleHQqIHRleHQgPSB0ZXh0Qm94LT50ZXh0T2JqZWN0KCk7CisgICAgY29uc3QgRm9udCYg
Zm9udCA9IHRleHQtPnN0eWxlKCktPmZvbnQoKTsKKworICAgIHJldHVybiBmb250LmZsb2F0V2lk
dGgoVGV4dFJ1bih0ZXh0LT5jaGFyYWN0ZXJzKCkgKyBzdGFydFBvcywgZW5kUG9zIC0gc3RhcnRQ
b3MpLCBUZXh0U3R5bGUoMCwgMCkpOworfQorCitzdGF0aWMgZmxvYXQgY3VtbXVsYXRlZFdpZHRo
T2ZJbmxpbmVCb3hDaGFyYWN0ZXJSYW5nZShTVkdJbmxpbmVCb3hDaGFyYWN0ZXJSYW5nZSYgcmFu
Z2UpCit7CisgICAgQVNTRVJUKCFyYW5nZS5pc09wZW4oKSk7CisgICAgQVNTRVJUKHJhbmdlLmlz
Q2xvc2VkKCkpOworICAgIEFTU0VSVChyYW5nZS5ib3gtPmlzSW5saW5lVGV4dEJveCgpKTsKKwor
ICAgIElubGluZVRleHRCb3gqIHRleHRCb3ggPSBzdGF0aWNfY2FzdDxJbmxpbmVUZXh0Qm94Kj4o
cmFuZ2UuYm94KTsKKyAgICBSZW5kZXJUZXh0KiB0ZXh0ID0gdGV4dEJveC0+dGV4dE9iamVjdCgp
OworICAgIGNvbnN0IEZvbnQmIGZvbnQgPSB0ZXh0LT5zdHlsZSgpLT5mb250KCk7CisKKyAgICBy
ZXR1cm4gZm9udC5mbG9hdFdpZHRoKFRleHRSdW4odGV4dC0+Y2hhcmFjdGVycygpICsgcmFuZ2Uu
c3RhcnRPZmZzZXQsIHJhbmdlLmVuZE9mZnNldCAtIHJhbmdlLnN0YXJ0T2Zmc2V0KSwgVGV4dFN0
eWxlKDAsIDApKTsKK30KKworc3RhdGljIGZsb2F0IGN1bW11bGF0ZWRIZWlnaHRPZklubGluZUJv
eENoYXJhY3RlclJhbmdlKFNWR0lubGluZUJveENoYXJhY3RlclJhbmdlJiByYW5nZSkKK3sKKyAg
ICBBU1NFUlQoIXJhbmdlLmlzT3BlbigpKTsKKyAgICBBU1NFUlQocmFuZ2UuaXNDbG9zZWQoKSk7
CisgICAgQVNTRVJUKHJhbmdlLmJveC0+aXNJbmxpbmVUZXh0Qm94KCkpOworCisgICAgSW5saW5l
VGV4dEJveCogdGV4dEJveCA9IHN0YXRpY19jYXN0PElubGluZVRleHRCb3gqPihyYW5nZS5ib3gp
OworICAgIFJlbmRlclRleHQqIHRleHQgPSB0ZXh0Qm94LT50ZXh0T2JqZWN0KCk7CisgICAgY29u
c3QgRm9udCYgZm9udCA9IHRleHQtPnN0eWxlKCktPmZvbnQoKTsKKworICAgIC8vIEZJWE1FOiBX
aWxkIGd1ZXNzIC0gd29ya3MgZm9yIHRoZSBXM0MgMS4xIHZlcnRpY2FsIHRleHQgZXhhbXBsZXMg
LSBub3QgcmVhbGx5IGhlYXZpbHkgdGVzdGVkIHNvIGZhci4KKyAgICByZXR1cm4gKHJhbmdlLmVu
ZE9mZnNldCAtIHJhbmdlLnN0YXJ0T2Zmc2V0KSAqIChmb250LmFzY2VudCgpICsgZm9udC5kZXNj
ZW50KCkpOworfQorCitzdGF0aWMgZmxvYXQgY3VtbXVsYXRlZFdpZHRoT2ZUZXh0Q2h1bmsoU1ZH
VGV4dENodW5rJiBjaHVuaykKK3sKKyAgICBmbG9hdCB3aWR0aCA9IDAuMDsKKworICAgIFZlY3Rv
cjxTVkdJbmxpbmVCb3hDaGFyYWN0ZXJSYW5nZT46Oml0ZXJhdG9yIGl0ID0gY2h1bmsuYm94ZXMu
YmVnaW4oKTsKKyAgICBWZWN0b3I8U1ZHSW5saW5lQm94Q2hhcmFjdGVyUmFuZ2U+OjppdGVyYXRv
ciBlbmQgPSBjaHVuay5ib3hlcy5lbmQoKTsKKworICAgIGZvciAoOyBpdCAhPSBlbmQ7ICsraXQp
CisgICAgICAgIHdpZHRoICs9IGN1bW11bGF0ZWRXaWR0aE9mSW5saW5lQm94Q2hhcmFjdGVyUmFu
Z2UoKml0KTsKKworICAgIHJldHVybiB3aWR0aDsKK30KKworc3RhdGljIGZsb2F0IGN1bW11bGF0
ZWRIZWlnaHRPZlRleHRDaHVuayhTVkdUZXh0Q2h1bmsmIGNodW5rKQoreworICAgIGZsb2F0IGhl
aWdodCA9IDAuMDsKKworICAgIFZlY3RvcjxTVkdJbmxpbmVCb3hDaGFyYWN0ZXJSYW5nZT46Oml0
ZXJhdG9yIGl0ID0gY2h1bmsuYm94ZXMuYmVnaW4oKTsKKyAgICBWZWN0b3I8U1ZHSW5saW5lQm94
Q2hhcmFjdGVyUmFuZ2U+OjppdGVyYXRvciBlbmQgPSBjaHVuay5ib3hlcy5lbmQoKTsKKworICAg
IGZvciAoOyBpdCAhPSBlbmQ7ICsraXQpCisgICAgICAgIGhlaWdodCArPSBjdW1tdWxhdGVkSGVp
Z2h0T2ZJbmxpbmVCb3hDaGFyYWN0ZXJSYW5nZSgqaXQpOworCisgICAgcmV0dXJuIGhlaWdodDsK
K30KKworc3RhdGljIHZvaWQgYXBwbHlUZXh0QW5jaG9yVG9UZXh0Q2h1bmsoU1ZHVGV4dENodW5r
JiBjaHVuaykKK3sKKyNpZiBERUJVR19DSFVOS19CVUlMRElORyA+IDAKKyAgICB7CisgICAgICAg
IGZwcmludGYoc3RkZXJyLCAiSGFuZGxlIFRFWFQgQ0hVTkshIGFuY2hvcj0laSwgaXNWZXJ0aWNh
bFRleHQ9JWksIHN0YXJ0PSVwLCBlbmQ9JXAgLT4gZGlzdDogJWlcbiIsIChpbnQpIGNodW5rLmFu
Y2hvciwgKGludCkgY2h1bmsuaXNWZXJ0aWNhbFRleHQsIGNodW5rLnN0YXJ0LCBjaHVuay5lbmQs
ICh1bnNpZ25lZCBpbnQpIChjaHVuay5lbmQtY2h1bmsuc3RhcnQpKTsKKworICAgICAgICBWZWN0
b3I8U1ZHSW5saW5lQm94Q2hhcmFjdGVyUmFuZ2U+OjppdGVyYXRvciBib3hJdCA9IGNodW5rLmJv
eGVzLmJlZ2luKCk7CisgICAgICAgIFZlY3RvcjxTVkdJbmxpbmVCb3hDaGFyYWN0ZXJSYW5nZT46
Oml0ZXJhdG9yIGJveEVuZCA9IGNodW5rLmJveGVzLmVuZCgpOworCisgICAgICAgIHVuc2lnbmVk
IGludCBpID0gMDsKKyAgICAgICAgZm9yICg7IGJveEl0ICE9IGJveEVuZDsgKytib3hJdCkgewor
ICAgICAgICAgICAgU1ZHSW5saW5lQm94Q2hhcmFjdGVyUmFuZ2UmIHJhbmdlID0gKmJveEl0OyBp
Kys7CisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlJBTkdFICVpIFNUQVJUT0ZGU0VUOiAl
aSwgRU5ET0ZGU0VUOiAlaSwgQk9YOiAlcFxuIiwgaSwgcmFuZ2Uuc3RhcnRPZmZzZXQsIHJhbmdl
LmVuZE9mZnNldCwgcmFuZ2UuYm94KTsKKyAgICAgICAgfQorICAgIH0KKyNlbmRpZgorCisgICAg
aWYgKGNodW5rLmFuY2hvciA9PSBUQV9TVEFSVCkKKyAgICAgICAgcmV0dXJuOworCisgICAgZmxv
YXQgc2hpZnQgPSAwLjA7CisKKyAgICBpZiAoY2h1bmsuaXNWZXJ0aWNhbFRleHQpCisgICAgICAg
IHNoaWZ0ID0gY3VtbXVsYXRlZEhlaWdodE9mVGV4dENodW5rKGNodW5rKTsKKyAgICBlbHNlCisg
ICAgICAgIHNoaWZ0ID0gY3VtbXVsYXRlZFdpZHRoT2ZUZXh0Q2h1bmsoY2h1bmspOworCisgICAg
aWYgKGNodW5rLmFuY2hvciA9PSBUQV9NSURETEUpCisgICAgICAgIHNoaWZ0ICo9IC0wLjU7Cisg
ICAgZWxzZQorICAgICAgICBzaGlmdCAqPSAtMS4wOworCisgICAgLy8gQXBwbHkgY29ycmVjdGlv
biB0byBjaHVuaworICAgIFZlY3RvcjxTVkdDaGFyPjo6aXRlcmF0b3IgY2h1bmtJdCA9IGNodW5r
LnN0YXJ0OworICAgIGZvciAoOyBjaHVua0l0ICE9IGNodW5rLmVuZDsgKytjaHVua0l0KSB7Cisg
ICAgICAgIFNWR0NoYXImIGN1ckNoYXIgPSAqY2h1bmtJdDsKKworICAgICAgICBpZiAoY2h1bmsu
aXNWZXJ0aWNhbFRleHQpCisgICAgICAgICAgICBjdXJDaGFyLnkgKz0gc2hpZnQ7CisgICAgICAg
IGVsc2UKKyAgICAgICAgICAgIGN1ckNoYXIueCArPSBzaGlmdDsKKyAgICB9CisKKyAgICAvLyBN
b3ZlIGlubGluZSBib3hlcworICAgIFZlY3RvcjxTVkdJbmxpbmVCb3hDaGFyYWN0ZXJSYW5nZT46
Oml0ZXJhdG9yIGJveEl0ID0gY2h1bmsuYm94ZXMuYmVnaW4oKTsKKyAgICBWZWN0b3I8U1ZHSW5s
aW5lQm94Q2hhcmFjdGVyUmFuZ2U+OjppdGVyYXRvciBib3hFbmQgPSBjaHVuay5ib3hlcy5lbmQo
KTsKKworICAgIGZvciAoOyBib3hJdCAhPSBib3hFbmQ7ICsrYm94SXQpIHsKKyAgICAgICAgU1ZH
SW5saW5lQm94Q2hhcmFjdGVyUmFuZ2UmIHJhbmdlID0gKmJveEl0OworCisgICAgICAgIElubGlu
ZUJveCogY3VyQm94ID0gcmFuZ2UuYm94OworICAgICAgICBBU1NFUlQoY3VyQm94LT5pc0lubGlu
ZVRleHRCb3goKSk7CisKKyAgICAgICAgSW5saW5lQm94KiBwYXJlbnRCb3ggPSBjdXJCb3gtPnBh
cmVudCgpOworICAgICAgICBBU1NFUlQocGFyZW50Qm94ICYmIChwYXJlbnRCb3gtPmlzUm9vdElu
bGluZUJveCgpIHx8IHBhcmVudEJveC0+aXNJbmxpbmVGbG93Qm94KCkpKTsKKworICAgICAgICAv
LyBNb3ZlIHRhcmdldCBib3gKKyAgICAgICAgaWYgKGNodW5rLmlzVmVydGljYWxUZXh0KQorICAg
ICAgICAgICAgY3VyQm94LT5zZXRZUG9zKGN1ckJveC0+eVBvcygpICsgc2hpZnQpOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICBjdXJCb3gtPnNldFhQb3MoY3VyQm94LT54UG9zKCkgKyBzaGlm
dCk7CisgICAgfQorfQorCit2b2lkIFNWR1Jvb3RJbmxpbmVCb3g6OmNvbXB1dGVQZXJDaGFyYWN0
ZXJMYXlvdXRJbmZvcm1hdGlvbigpCit7CisgICAgLy8gQ2xlYW4gdXAgYW55IHByZXZpb3VzIGxh
eW91dCBpbmZvcm1hdGlvbgorICAgIG1fc3ZnQ2hhcnMuY2xlYXIoKTsKKyAgICBtX3N2Z1RleHRD
aHVua3MuY2xlYXIoKTsKKworICAgIC8vIEJ1aWxkIGxheW91dCBpbmZvcm1hdGlvbiBmb3IgYWxs
IGNvbnRhaW5lZCByZW5kZXIgb2JqZWN0cworICAgIFNWR0NoYXJhY3RlckxheW91dEluZm8gaW5m
bzsKKyAgICBidWlsZExheW91dEluZm9ybWF0aW9uKHRoaXMsIGluZm8pOworCisgICAgLy8gTm93
IGFsbCBsYXlvdXQgaW5mb3JtYXRpb24gYXJlIGF2YWlsYWJsZSBmb3IgZXZlcnkgY2hhcmFjdGVy
CisgICAgLy8gY29udGFpbmVkIGluIGFueSBvZiBvdXIgY2hpbGQgaW5saW5lL2Zsb3cgYm94ZXMu
IEJ1aWxkIGxpc3QKKyAgICAvLyBvZiB0ZXh0IGNodW5rcyBub3csIHRvIGJlIGFibGUgdG8gYXBw
bHkgdGV4dC1hbmNob3Igc2hpZnRzLgorICAgIGJ1aWxkVGV4dENodW5rcygpOworCisgICAgLy8g
TGF5b3V0IGFsbCB0ZXh0IGNodW5rcworICAgIC8vIHRleHQtYW5jaG9yIG5lZWRzIHRvIGJlIGFw
cGxpZWQgdG8gaW5kaXZpZHVhbCBjaHVua3MuCisgICAgbGF5b3V0VGV4dENodW5rcygpOworCisg
ICAgLy8gRmluYWxseSB0aGUgdG9wIGxlZnQgcG9zaXRpb24gb2Ygb3VyIGJveCBpcyBrbm93bi4K
KyAgICAvLyBQcm9wb2dhdGUgdGhpcyBrbm93bmxlZGdlIHRvIG91ciBSZW5kZXJTVkdUZXh0IHBh
cmVudC4KKyAgICBJbnRQb2ludCB0b3BMZWZ0ID0gcm9vdEJveFRvcExlZnRQb3NpdGlvbihtX3N2
Z0NoYXJzKTsKKyAgICBvYmplY3QoKS0+c2V0UG9zKHRvcExlZnQueCgpLCB0b3BMZWZ0LnkoKSk7
CisKKyAgICAvLyBMYXlvdXQgYWxsIElubGluZVRleHQvRmxvdyBib3hlcworICAgIC8vIEJFV0FS
RTogVGhpcyByZXF1aXJlcyB0aGUgcm9vdCB0b3AvbGVmdCBwb3NpdGlvbiB0byBiZSBzZXQgY29y
cmVjdGx5IGJlZm9yZSEKKyAgICBsYXlvdXRJbmxpbmVCb3hlcygpOworfQorCitzdGF0aWMgdm9p
ZCB0b3RhbEFkdmFuY2VPZklubGluZVRleHRCb3goSW5saW5lVGV4dEJveCogdGV4dEJveCwgaW50
IGZyb20sIGludCB0bywgYm9vbCBpc1ZlcnRpY2FsVGV4dCwgZmxvYXQmIHRvdGFsQWR2YW5jZSkK
K3sKKyAgICBBU1NFUlQodGV4dEJveCk7CisgICAgQVNTRVJUKHRleHRCb3gtPm9iamVjdCgpKTsK
KworICAgIGlmICh0byA+IDAgJiYgKHVuc2lnbmVkIGludCkgdG8gPiB0ZXh0Qm94LT5sZW4oKSkK
KyAgICAgICAgdG8gPSB0ZXh0Qm94LT5sZW4oKTsKKworICAgIFJlbmRlclRleHQqIHRleHQgPSBz
dGF0aWNfY2FzdDxSZW5kZXJUZXh0Kj4odGV4dEJveC0+b2JqZWN0KCkpOworICAgIGNvbnN0IEZv
bnQmIGZvbnQgPSB0ZXh0LT5zdHlsZSgpLT5mb250KCk7CisKKyAgICBmb3IgKGludCBpID0gZnJv
bTsgaSA8IHRvOyArK2kpIHsKKyAgICAgICAgaWYgKCFpc1ZlcnRpY2FsVGV4dCkKKyAgICAgICAg
ICAgIHRvdGFsQWR2YW5jZSArPSBmb250LmZsb2F0V2lkdGgoVGV4dFJ1bih0ZXh0LT50ZXh0KCkt
PmNoYXJhY3RlcnMoKSArIGksIDEpLCBUZXh0U3R5bGUoMCwgMCkpOworICAgICAgICBlbHNlCisg
ICAgICAgICAgICB0b3RhbEFkdmFuY2UgKz0gZm9udC5hc2NlbnQoKSArIGZvbnQuZGVzY2VudCgp
OworICAgIH0KK30KKworc3RhdGljIHZvaWQgdG90YWxBZHZhbmNlT2ZJbmxpbmVCb3goSW5saW5l
Rmxvd0JveCogc3RhcnQsIGJvb2wgaXNWZXJ0aWNhbFRleHQsIGZsb2F0JiB0b3RhbEFkdmFuY2Up
Cit7CisgICAgZm9yIChJbmxpbmVCb3gqIGN1cnIgPSBzdGFydC0+Zmlyc3RDaGlsZCgpOyBjdXJy
OyBjdXJyID0gY3Vyci0+bmV4dE9uTGluZSgpKSB7CisgICAgICAgIGlmIChjdXJyLT5vYmplY3Qo
KS0+aXNUZXh0KCkpIHsKKyAgICAgICAgICAgIElubGluZVRleHRCb3gqIHRleHRCb3ggPSBzdGF0
aWNfY2FzdDxJbmxpbmVUZXh0Qm94Kj4oY3Vycik7CisgICAgICAgICAgICB0b3RhbEFkdmFuY2VP
ZklubGluZVRleHRCb3godGV4dEJveCwgMCwgdGV4dEJveC0+bGVuKCksIGlzVmVydGljYWxUZXh0
LCB0b3RhbEFkdmFuY2UpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgQVNTRVJUKGN1
cnItPmlzSW5saW5lRmxvd0JveCgpKTsKKyAgICAgICAgICAgIHRvdGFsQWR2YW5jZU9mSW5saW5l
Qm94KHN0YXRpY19jYXN0PElubGluZUZsb3dCb3gqPihjdXJyKSwgaXNWZXJ0aWNhbFRleHQsIHRv
dGFsQWR2YW5jZSk7CisgICAgICAgIH0KKyAgICB9Cit9CisKK3ZvaWQgU1ZHUm9vdElubGluZUJv
eDo6YnVpbGRMYXlvdXRJbmZvcm1hdGlvbihJbmxpbmVGbG93Qm94KiBzdGFydCwgU1ZHQ2hhcmFj
dGVyTGF5b3V0SW5mbyYgaW5mbykKK3sKKyAgICBpZiAoc3RhcnQtPmlzUm9vdElubGluZUJveCgp
KSB7CisgICAgICAgIEFTU0VSVChzdGFydC0+b2JqZWN0KCktPmVsZW1lbnQoKS0+aGFzVGFnTmFt
ZShTVkdOYW1lczo6dGV4dFRhZykpOworCisgICAgICAgIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1l
bnQqIHBvc2l0aW9uaW5nRWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR1RleHRQb3NpdGlvbmluZ0Vs
ZW1lbnQqPihzdGFydC0+b2JqZWN0KCktPmVsZW1lbnQoKSk7CisgICAgICAgIEFTU0VSVChwb3Np
dGlvbmluZ0VsZW1lbnQpOworICAgICAgICBBU1NFUlQocG9zaXRpb25pbmdFbGVtZW50LT5wYXJl
bnROb2RlKCkpOworCisgICAgICAgIGluZm8uYWRkTGF5b3V0SW5mb3JtYXRpb24ocG9zaXRpb25p
bmdFbGVtZW50KTsKKyAgICB9CisKKyAgICBmb3IgKElubGluZUJveCogY3VyciA9IHN0YXJ0LT5m
aXJzdENoaWxkKCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0T25MaW5lKCkpIHsKKyAgICAgICAg
aWYgKGN1cnItPm9iamVjdCgpLT5pc1RleHQoKSkKKyAgICAgICAgICAgIGJ1aWxkTGF5b3V0SW5m
b3JtYXRpb25Gb3JUZXh0Qm94KGluZm8sIHN0YXRpY19jYXN0PElubGluZVRleHRCb3gqPihjdXJy
KSk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgQVNTRVJUKGN1cnItPmlzSW5saW5lRmxv
d0JveCgpKTsKKyAgICAgICAgICAgIElubGluZUZsb3dCb3gqIGZsb3dCb3ggPSBzdGF0aWNfY2Fz
dDxJbmxpbmVGbG93Qm94Kj4oY3Vycik7CisKKyAgICAgICAgICAgIGJvb2wgaXNBbmNob3IgPSBm
bG93Qm94LT5vYmplY3QoKS0+ZWxlbWVudCgpLT5oYXNUYWdOYW1lKFNWR05hbWVzOjphVGFnKTsK
KyAgICAgICAgICAgIGJvb2wgaXNUZXh0UGF0aCA9IGZsb3dCb3gtPm9iamVjdCgpLT5lbGVtZW50
KCktPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnRleHRQYXRoVGFnKTsKKworICAgICAgICAgICAgaWYg
KCFpc1RleHRQYXRoICYmICFpc0FuY2hvcikgeworICAgICAgICAgICAgICAgIFNWR1RleHRQb3Np
dGlvbmluZ0VsZW1lbnQqIHBvc2l0aW9uaW5nRWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR1RleHRQ
b3NpdGlvbmluZ0VsZW1lbnQqPihmbG93Qm94LT5vYmplY3QoKS0+ZWxlbWVudCgpKTsKKyAgICAg
ICAgICAgICAgICBBU1NFUlQocG9zaXRpb25pbmdFbGVtZW50KTsKKyAgICAgICAgICAgICAgICBB
U1NFUlQocG9zaXRpb25pbmdFbGVtZW50LT5wYXJlbnROb2RlKCkpOworCisgICAgICAgICAgICAg
ICAgaW5mby5hZGRMYXlvdXRJbmZvcm1hdGlvbihwb3NpdGlvbmluZ0VsZW1lbnQpOworICAgICAg
ICAgICAgfSBlbHNlIGlmICghaXNBbmNob3IpIHsKKyAgICAgICAgICAgICAgICBpbmZvLnNldElu
UGF0aExheW91dCh0cnVlKTsKKworICAgICAgICAgICAgICAgIGZsb2F0IHRleHRBbmNob3JTdGFy
dE9mZnNldCA9IDAuMDsKKyAgICAgICAgICAgICAgICBib29sIGlzVmVydGljYWxUZXh0ID0gaXNW
ZXJ0aWNhbFdyaXRpbmdNb2RlKGZsb3dCb3gtPm9iamVjdCgpLT5zdHlsZSgpLT5zdmdTdHlsZSgp
KTsKKworICAgICAgICAgICAgICAgIC8vIEhhbmRsZSB0ZXh0LWFuY2hvciBvbiBwYXRoLCB3aGlj
aCBpcyBzcGVjaWFsLgorICAgICAgICAgICAgICAgIEVUZXh0QW5jaG9yIGFuY2hvciA9IGZsb3dC
b3gtPm9iamVjdCgpLT5zdHlsZSgpLT5zdmdTdHlsZSgpLT50ZXh0QW5jaG9yKCk7CisgICAgICAg
ICAgICAgICAgc3dpdGNoIChhbmNob3IpIHsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBUQV9F
TkQ6CisgICAgICAgICAgICAgICAgICAgIGNhc2UgVEFfTUlERExFOgorICAgICAgICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCB0b3RhbEFkdmFuY2UgPSAwLjA7
CisgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbEFkdmFuY2VPZklubGluZUJveChmbG93Qm94
LCBpc1ZlcnRpY2FsVGV4dCwgdG90YWxBZHZhbmNlKTsKKworICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKGFuY2hvciA9PSBUQV9FTkQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4
dEFuY2hvclN0YXJ0T2Zmc2V0IC09IHRvdGFsQWR2YW5jZTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yU3RhcnRPZmZz
ZXQgLT0gdG90YWxBZHZhbmNlIC8gMi4wOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgICAgIGNhc2UgVEFfU1RBUlQ6CisgICAgICAgICAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
ICAgIGluZm8uYWRkTGF5b3V0SW5mb3JtYXRpb24oZmxvd0JveCwgdGV4dEFuY2hvclN0YXJ0T2Zm
c2V0KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZmxvYXQgc2hpZnR4U2F2ZWQgPSBp
bmZvLnNoaWZ0eDsKKyAgICAgICAgICAgIGZsb2F0IHNoaWZ0eVNhdmVkID0gaW5mby5zaGlmdHk7
CisKKyAgICAgICAgICAgIGJ1aWxkTGF5b3V0SW5mb3JtYXRpb24oZmxvd0JveCwgaW5mbyk7Cisg
ICAgICAgICAgICBpbmZvLnByb2Nlc3NlZENodW5rKHNoaWZ0eFNhdmVkLCBzaGlmdHlTYXZlZCk7
CisKKyAgICAgICAgICAgIGlmIChpc1RleHRQYXRoKQorICAgICAgICAgICAgICAgIGluZm8uc2V0
SW5QYXRoTGF5b3V0KGZhbHNlKTsKKyAgICAgICAgfQorICAgIH0KK30KKwordm9pZCBTVkdSb290
SW5saW5lQm94OjpsYXlvdXRJbmxpbmVCb3hlcygpCit7CisgICAgaW50IGxvd1ggPSBJTlRfTUFY
OworICAgIGludCBsb3dZID0gSU5UX01BWDsKKyAgICBpbnQgaGlnaFggPSBJTlRfTUlOOworICAg
IGludCBoaWdoWSA9IElOVF9NSU47CisKKyAgICAvLyBMYXlvdXQgYWxsIGNoaWxkIGJveGVzCisg
ICAgVmVjdG9yPFNWR0NoYXI+OjppdGVyYXRvciBpdCA9IG1fc3ZnQ2hhcnMuYmVnaW4oKTsgCisg
ICAgbGF5b3V0SW5saW5lQm94ZXModGhpcywgaXQsIGxvd1gsIGhpZ2hYLCBsb3dZLCBoaWdoWSk7
CisgICAgQVNTRVJUKGl0ID09IG1fc3ZnQ2hhcnMuZW5kKCkpOworfQorCit2b2lkIFNWR1Jvb3RJ
bmxpbmVCb3g6OmxheW91dElubGluZUJveGVzKElubGluZUZsb3dCb3gqIHN0YXJ0LCBWZWN0b3I8
U1ZHQ2hhcj46Oml0ZXJhdG9yJiBpdCwgaW50JiBsb3dYLCBpbnQmIGhpZ2hYLCBpbnQmIGxvd1ks
IGludCYgaGlnaFkpCit7CisgICAgZm9yIChJbmxpbmVCb3gqIGN1cnIgPSBzdGFydC0+Zmlyc3RD
aGlsZCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dE9uTGluZSgpKSB7CisgICAgICAgIGNvbnN0
IEZvbnQmIGZvbnQgPSBjdXJyLT5vYmplY3QoKS0+c3R5bGUoKS0+Zm9udCgpOworICAgCisgICAg
ICAgIGlmIChjdXJyLT5vYmplY3QoKS0+aXNUZXh0KCkpIHsKKyAgICAgICAgICAgIElubGluZVRl
eHRCb3gqIHRleHRCb3ggPSBzdGF0aWNfY2FzdDxJbmxpbmVUZXh0Qm94Kj4oY3Vycik7CisgICAg
ICAgICAgICB1bnNpZ25lZCBsZW5ndGggPSB0ZXh0Qm94LT5sZW4oKTsKKworICAgICAgICAgICAg
U1ZHQ2hhciBjdXJDaGFyID0gKml0OworICAgICAgICAgICAgQVNTRVJUKGl0ICE9IG1fc3ZnQ2hh
cnMuZW5kKCkpOworIAorICAgICAgICAgICAgZmxvYXQgbWluWCA9IGN1ckNoYXIueCwgbWluWSA9
IGN1ckNoYXIueTsKKyAgICAgICAgICAgIGZsb2F0IG1heFggPSBtaW5YLCBtYXhZID0gbWluWTsK
KworICAgICAgICAgICAgaXQrKzsKKworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMTsg
aSA8IGxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICAgICAgQVNTRVJUKGl0ICE9IG1fc3ZnQ2hh
cnMuZW5kKCkpOworICAgICAgICAgICAgICAgIFNWR0NoYXIgY3VyQ2hhciA9ICppdDsKKworICAg
ICAgICAgICAgICAgIGlmIChjdXJDaGFyLnggPCBtaW5YKQorICAgICAgICAgICAgICAgICAgICBt
aW5YID0gY3VyQ2hhci54OworCisgICAgICAgICAgICAgICAgaWYgKGN1ckNoYXIueCA+IG1heFgp
CisgICAgICAgICAgICAgICAgICAgIG1heFggPSBjdXJDaGFyLng7CisKKyAgICAgICAgICAgICAg
ICBpZiAoY3VyQ2hhci55IDwgbWluWSkKKyAgICAgICAgICAgICAgICAgICAgbWluWSA9IGN1ckNo
YXIueTsKKworICAgICAgICAgICAgICAgIGlmIChjdXJDaGFyLnkgPiBtYXhZKQorICAgICAgICAg
ICAgICAgICAgICBtYXhZID0gY3VyQ2hhci55OworCisgICAgICAgICAgICAgICAgaXQrKzsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgUmVuZGVyVGV4dCogdGV4dCA9IHRleHRCb3gtPnRl
eHRPYmplY3QoKTsKKyAgICAgICAgICAgIEFTU0VSVCh0ZXh0KTsKKworICAgICAgICAgICAgbWF4
WCArPSB0ZXh0LT53aWR0aCh0ZXh0Qm94LT5lbmQoKSwgMSwgZm9udCwgMCk7CisgICAgICAgICAg
ICBtYXhZICs9IGZvbnQuYXNjZW50KCkgKyBmb250LmRlc2NlbnQoKTsKKworICAgICAgICAgICAg
Y3Vyci0+c2V0WFBvcyhtaW5YIC0gb2JqZWN0KCktPnhQb3MoKSk7CisgICAgICAgICAgICBjdXJy
LT5zZXRXaWR0aChtYXhYIC0gbWluWCk7CisKKyAgICAgICAgICAgIGN1cnItPnNldFlQb3MobWlu
WSAtIG9iamVjdCgpLT55UG9zKCkgLSBmb250LmFzY2VudCgpKTsKKyAgICAgICAgICAgIGN1cnIt
PnNldEJhc2VsaW5lKGZvbnQuYXNjZW50KCkpOworICAgICAgICAgICAgY3Vyci0+c2V0SGVpZ2h0
KG1heFkgLSBtaW5ZKTsKKworICAgICAgICAgICAgaWYgKG1pblggPCBsb3dYKQorICAgICAgICAg
ICAgICAgIGxvd1ggPSBtaW5YOworCisgICAgICAgICAgICBpZiAobWF4WCA+IGhpZ2hYKQorICAg
ICAgICAgICAgICAgIGhpZ2hYID0gbWF4WDsKKworICAgICAgICAgICAgaWYgKG1pblkgPCBsb3dZ
KQorICAgICAgICAgICAgICAgIGxvd1kgPSBtaW5ZOworCisgICAgICAgICAgICBpZiAobWF4WSA+
IGhpZ2hZKQorICAgICAgICAgICAgICAgIGhpZ2hZID0gbWF4WTsKKyAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgIEFTU0VSVChjdXJyLT5pc0lubGluZUZsb3dCb3goKSk7CisKKyAgICAgICAg
ICAgIGludCBtaW5YID0gSU5UX01BWDsKKyAgICAgICAgICAgIGludCBtaW5ZID0gSU5UX01BWDsK
KyAgICAgICAgICAgIGludCBtYXhYID0gSU5UX01JTjsKKyAgICAgICAgICAgIGludCBtYXhZID0g
SU5UX01JTjsKKworICAgICAgICAgICAgSW5saW5lRmxvd0JveCogZmxvd0JveCA9IHN0YXRpY19j
YXN0PElubGluZUZsb3dCb3gqPihjdXJyKTsKKyAgICAgICAgICAgIGxheW91dElubGluZUJveGVz
KGZsb3dCb3gsIGl0LCBtaW5YLCBtYXhYLCBtaW5ZLCBtYXhZKTsKKworICAgICAgICAgICAgY3Vy
ci0+c2V0WFBvcyhtaW5YIC0gb2JqZWN0KCktPnhQb3MoKSk7CisgICAgICAgICAgICBjdXJyLT5z
ZXRXaWR0aChtYXhYIC0gbWluWCk7CisKKyAgICAgICAgICAgIGN1cnItPnNldFlQb3MobWluWSAt
IG9iamVjdCgpLT55UG9zKCkgLSBmb250LmFzY2VudCgpKTsKKyAgICAgICAgICAgIGN1cnItPnNl
dEJhc2VsaW5lKGZvbnQuYXNjZW50KCkpOworICAgICAgICAgICAgY3Vyci0+c2V0SGVpZ2h0KG1h
eFkgLSBtaW5ZKTsKKworICAgICAgICAgICAgaWYgKG1pblggPCBsb3dYKQorICAgICAgICAgICAg
ICAgIGxvd1ggPSBtaW5YOworCisgICAgICAgICAgICBpZiAobWF4WCA+IGhpZ2hYKQorICAgICAg
ICAgICAgICAgIGhpZ2hYID0gbWF4WDsKKworICAgICAgICAgICAgaWYgKG1pblkgPCBsb3dZKQor
ICAgICAgICAgICAgICAgIGxvd1kgPSBtaW5ZOworCisgICAgICAgICAgICBpZiAobWF4WSA+IGhp
Z2hZKQorICAgICAgICAgICAgICAgIGhpZ2hZID0gbWF4WTsKKyAgICAgICAgfQorICAgIH0KKwor
ICAgIGlmIChzdGFydC0+aXNSb290SW5saW5lQm94KCkpIHsKKyAgICAgICAgY29uc3QgRm9udCYg
Zm9udCA9IHN0YXJ0LT5vYmplY3QoKS0+c3R5bGUoKS0+Zm9udCgpOworIAorICAgICAgICBpbnQg
dG9wID0gbG93WSAtIG9iamVjdCgpLT55UG9zKCkgLSBmb250LmFzY2VudCgpOworICAgICAgICBp
bnQgYm90dG9tID0gaGlnaFkgLSBvYmplY3QoKS0+eVBvcygpOworCisgICAgICAgIHN0YXJ0LT5z
ZXRYUG9zKGxvd1ggLSBvYmplY3QoKS0+eFBvcygpKTsKKyAgICAgICAgc3RhcnQtPnNldFlQb3Mo
dG9wKTsKKworICAgICAgICBzdGFydC0+c2V0V2lkdGgoaGlnaFggLSBsb3dYKTsKKyAgICAgICAg
c3RhcnQtPnNldEhlaWdodChoaWdoWSAtIGxvd1kpOworCisgICAgICAgIHN0YXJ0LT5zZXRWZXJ0
aWNhbE92ZXJmbG93UG9zaXRpb25zKHRvcCwgYm90dG9tKTsKKyAgICAgICAgc3RhcnQtPnNldFZl
cnRpY2FsU2VsZWN0aW9uUG9zaXRpb25zKHRvcCwgYm90dG9tKTsKKyAgICB9Cit9CisKK3ZvaWQg
U1ZHUm9vdElubGluZUJveDo6YnVpbGRMYXlvdXRJbmZvcm1hdGlvbkZvclRleHRCb3goU1ZHQ2hh
cmFjdGVyTGF5b3V0SW5mbyYgaW5mbywgSW5saW5lVGV4dEJveCogdGV4dEJveCkKK3sKKyAgICBS
ZW5kZXJUZXh0KiB0ZXh0ID0gdGV4dEJveC0+dGV4dE9iamVjdCgpOworICAgIEFTU0VSVCh0ZXh0
KTsKKworICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IHRleHQtPnN0eWxlKHRleHRCb3gtPmlzRmly
c3RMaW5lU3R5bGUoKSk7CisgICAgQVNTRVJUKHN0eWxlKTsKKworICAgIGNvbnN0IEZvbnQmIGZv
bnQgPSBzdHlsZS0+Zm9udCgpOworICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRleHRCb3gtPmxlbigp
OworICAgIGJvb2wgaXNWZXJ0aWNhbFRleHQgPSBpc1ZlcnRpY2FsV3JpdGluZ01vZGUoc3R5bGUt
PnN2Z1N0eWxlKCkpOworCisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgKytp
KSB7CisgICAgICAgIFNWR0NoYXIgc3ZnQ2hhcjsKKyAgICAgICAgc3ZnQ2hhci5zZWxlY3RlZCA9
IGZhbHNlOworICAgICAgICBzdmdDaGFyLmRyYXduU2VwZXJhdGVkID0gZmFsc2U7CisgICAgICAg
IHN2Z0NoYXIubmV3VGV4dENodW5rID0gZmFsc2U7CisKKyAgICAgICAgZmxvYXQgYW5nbGUgPSAw
LjA7CisgICAgICAgIGZsb2F0IGdseXBoV2lkdGggPSBmb250LmZsb2F0V2lkdGgoVGV4dFJ1bih0
ZXh0LT50ZXh0KCktPmNoYXJhY3RlcnMoKSArIHRleHRCb3gtPnN0YXJ0KCkgKyBpLCAxKSwgVGV4
dFN0eWxlKDAsIDApKTsKKyAgICAgICAgZmxvYXQgZ2x5cGhIZWlnaHQgPSBmb250LmFzY2VudCgp
ICsgZm9udC5kZXNjZW50KCk7CisKKyAgICAgICAgYm9vbCBhc3NpZ25lZFggPSBmYWxzZTsKKyAg
ICAgICAgYm9vbCBhc3NpZ25lZFkgPSBmYWxzZTsKKworICAgICAgICBpZiAoaW5mby54VmFsdWVB
dmFpbGFibGUoKSAmJiAoIWluZm8uaW5QYXRoTGF5b3V0KCkgfHwgKGluZm8uaW5QYXRoTGF5b3V0
KCkgJiYgIWlzVmVydGljYWxUZXh0KSkpIHsKKyAgICAgICAgICAgIGlmICghaXNWZXJ0aWNhbFRl
eHQpCisgICAgICAgICAgICAgICAgc3ZnQ2hhci5uZXdUZXh0Q2h1bmsgPSB0cnVlOworCisgICAg
ICAgICAgICBhc3NpZ25lZFggPSB0cnVlOworICAgICAgICAgICAgc3ZnQ2hhci5kcmF3blNlcGVy
YXRlZCA9IHRydWU7CisgICAgICAgICAgICBpbmZvLmN1cnggPSBpbmZvLnhWYWx1ZU5leHQoKTsK
KyAgICAgICAgfQorCisgICAgICAgIGlmIChpbmZvLnlWYWx1ZUF2YWlsYWJsZSgpICYmICghaW5m
by5pblBhdGhMYXlvdXQoKSB8fCAoaW5mby5pblBhdGhMYXlvdXQoKSAmJiBpc1ZlcnRpY2FsVGV4
dCkpKSB7CisgICAgICAgICAgICBpZiAoaXNWZXJ0aWNhbFRleHQpCisgICAgICAgICAgICAgICAg
c3ZnQ2hhci5uZXdUZXh0Q2h1bmsgPSB0cnVlOworCisgICAgICAgICAgICBhc3NpZ25lZFkgPSB0
cnVlOworICAgICAgICAgICAgc3ZnQ2hhci5kcmF3blNlcGVyYXRlZCA9IHRydWU7CisgICAgICAg
ICAgICBpbmZvLmN1cnkgPSBpbmZvLnlWYWx1ZU5leHQoKTsKKyAgICAgICAgfQorCisgICAgICAg
IC8vIENhbGN1bGF0ZSBhYnNvbHV0ZSB4L3kgdmFsdWVzLCBpZiBuZWVkZWQKKyAgICAgICAgaWYg
KCFpbmZvLmluUGF0aExheW91dCgpKSB7CisgICAgICAgICAgICBzdmdDaGFyLnZpc2libGUgPSB0
cnVlOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZmxvYXQgZ2x5cGhBZHZhbmNlID0g
aXNWZXJ0aWNhbFRleHQgPyBnbHlwaEhlaWdodCA6IGdseXBoV2lkdGg7CisgICAgICAgICAgICBm
bG9hdCBuZXdPZmZzZXQgPSBGTFRfTUlOOworCisgICAgICAgICAgICBpZiAoYXNzaWduZWRYICYm
ICFpc1ZlcnRpY2FsVGV4dCkKKyAgICAgICAgICAgICAgICBuZXdPZmZzZXQgPSBpbmZvLmN1cng7
CisgICAgICAgICAgICBlbHNlIGlmIChhc3NpZ25lZFkgJiYgaXNWZXJ0aWNhbFRleHQpCisgICAg
ICAgICAgICAgICAgbmV3T2Zmc2V0ID0gaW5mby5jdXJ5OworCisgICAgICAgICAgICBzdmdDaGFy
LnZpc2libGUgPSBpbmZvLm5leHRQYXRoTGF5b3V0UG9pbnRBbmRBbmdsZShpbmZvLmN1cngsIGlu
Zm8uY3VyeSwgYW5nbGUsIGdseXBoQWR2YW5jZSwgbmV3T2Zmc2V0KTsKKyAgICAgICAgfQorCisg
ICAgICAgIGZsb2F0IGR4ID0gMC4wOworICAgICAgICBmbG9hdCBkeSA9IDAuMDsKKworICAgICAg
ICAvLyBBcHBseSB4LWF4aXMgc2hpZnQKKyAgICAgICAgaWYgKGluZm8uZHhWYWx1ZUF2YWlsYWJs
ZSgpKSB7CisgICAgICAgICAgICBkeCA9IGluZm8uZHhWYWx1ZU5leHQoKTsKKyAgICAgICAgICAg
IHN2Z0NoYXIuZHJhd25TZXBlcmF0ZWQgPSB0cnVlOworCisgICAgICAgICAgICBpbmZvLmR4ICs9
IGR4OworICAgIAorICAgICAgICAgICAgaWYgKCFpbmZvLmluUGF0aExheW91dCgpKQorICAgICAg
ICAgICAgICAgIGluZm8uY3VyeCArPSBkeDsKKyAgICAgICAgfQorCisgICAgICAgIC8vIEFwcGx5
IHktYXhpcyBzaGlmdAorICAgICAgICBpZiAoaW5mby5keVZhbHVlQXZhaWxhYmxlKCkpIHsKKyAg
ICAgICAgICAgIGR5ID0gaW5mby5keVZhbHVlTmV4dCgpOworICAgICAgICAgICAgc3ZnQ2hhci5k
cmF3blNlcGVyYXRlZCA9IHRydWU7CisKKyAgICAgICAgICAgIGluZm8uZHkgKz0gZHk7CisKKyAg
ICAgICAgICAgIGlmICghaW5mby5pblBhdGhMYXlvdXQoKSkKKyAgICAgICAgICAgICAgICBpbmZv
LmN1cnkgKz0gZHk7CisgICAgICAgIH0KKworICAgICAgICAvLyBBcHBseSByb3RhdGlvbgorICAg
ICAgICBpZiAoaW5mby5hbmdsZVZhbHVlQXZhaWxhYmxlKCkpIHsKKyAgICAgICAgICAgIHN2Z0No
YXIuZHJhd25TZXBlcmF0ZWQgPSB0cnVlOworICAgICAgICAgICAgYW5nbGUgPSBpbmZvLmFuZ2xl
VmFsdWVOZXh0KCk7CisgICAgICAgIH0KKworICAgICAgICAvLyBBcHBseSBiYXNlbGluZS1zaGlm
dAorICAgICAgICBpZiAoaW5mby5iYXNlbGluZVNoaWZ0VmFsdWVBdmFpbGFibGUoKSkgeworICAg
ICAgICAgICAgc3ZnQ2hhci5kcmF3blNlcGVyYXRlZCA9IHRydWU7CisgICAgICAgICAgICBmbG9h
dCBzaGlmdCA9IGluZm8uYmFzZWxpbmVTaGlmdFZhbHVlTmV4dCgpOworCisgICAgICAgICAgICBp
ZiAoaXNWZXJ0aWNhbFRleHQpIHsKKyAgICAgICAgICAgICAgICBpbmZvLnNoaWZ0eCArPSBzaGlm
dDsKKyAgICAgICAgICAgICAgICBpbmZvLmN1cnggKz0gc2hpZnQ7CisgICAgICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgICAgIGluZm8uc2hpZnR5IC09IHNoaWZ0OworICAgICAgICAgICAg
ICAgIGluZm8uY3VyeSAtPSBzaGlmdDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAg
ICAgIHN2Z0NoYXIueCA9IGluZm8uY3VyeDsKKyAgICAgICAgc3ZnQ2hhci55ID0gaW5mby5jdXJ5
OworCisgICAgICAgIGZsb2F0IHBhdGhYU2hpZnQgPSAwLjA7CisgICAgICAgIGZsb2F0IHBhdGhZ
U2hpZnQgPSAwLjA7CisKKyAgICAgICAgLy8gQ29ycmVjdCBjaGFyYWN0ZXIgcG9zaXRpb24gZm9y
IHRleHQgb24gcGF0aCBsYXlvdXQKKyAgICAgICAgLy8gQWxsIHBsYWNlZCBjaGFyYWN0ZXJzIG9u
IGEgcGF0aCB1c2UgYWJzb2x1dGUgcG9zaXRpb25pbmcgKGludGVybmFsbHkpLgorICAgICAgICAv
LyBTbyB3ZSBzdGlsbCBoYXZlIHRvIGFwcGx5IGJhc2VsaW5lLXNoaWZ0L2R4L2R5IGNvcnJlY3Rp
b25zIG1hbnVhbGx5LgorICAgICAgICBpZiAoaW5mby5pblBhdGhMYXlvdXQoKSkgeworICAgICAg
ICAgICAgc3ZnQ2hhci5kcmF3blNlcGVyYXRlZCA9IHRydWU7CisKKyAgICAgICAgICAgIC8vIFRy
YW5zbGF0ZSB0byBnbHlwaCBtaWRwb2ludAorICAgICAgICAgICAgaWYgKGlzVmVydGljYWxUZXh0
KQorICAgICAgICAgICAgICAgIHBhdGhZU2hpZnQgPSBnbHlwaEhlaWdodCAvIDIuMDsKKyAgICAg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBwYXRoWFNoaWZ0ID0gZ2x5cGhXaWR0aCAvIDIu
MDsKKworICAgICAgICAgICAgLy8gUmVzcGVjdCBhY2N1bXVsYXRlZCBkeC9keSB2YWx1ZXMKKyAg
ICAgICAgICAgIHBhdGhYU2hpZnQgLT0gaW5mby5keDsKKyAgICAgICAgICAgIHBhdGhZU2hpZnQg
LT0gaW5mby5keTsKKworICAgICAgICAgICAgLy8gQWx0ZXIgY2hhcmFjdGVyIHBvc2l0aW9uCisg
ICAgICAgICAgICBzdmdDaGFyLnggLT0gcGF0aFhTaGlmdDsKKyAgICAgICAgICAgIHN2Z0NoYXIu
eSAtPSBwYXRoWVNoaWZ0OworICAgICAgICB9CisKKyAgICAgICAgLy8gQ29ycmVjdCBjaGFyYWN0
ZXIgcG9zaXRpb24gZm9yIHZlcnRpY2FsIHRleHQgbGF5b3V0CisgICAgICAgIGlmIChpc1ZlcnRp
Y2FsVGV4dCkgeworICAgICAgICAgICAgc3ZnQ2hhci5kcmF3blNlcGVyYXRlZCA9IHRydWU7Cisg
ICAgICAgICAgICBzdmdDaGFyLnggLT0gZ2x5cGhXaWR0aCAvIDIuMDsKKyAgICAgICAgICAgIHN2
Z0NoYXIueSArPSBnbHlwaEhlaWdodDsKKyAgICAgICAgfQorCisgICAgICAgIC8vIFNldHVwIGFm
ZmluZSB0cmFuc2Zvcm0gZm9yIHNpbmdsZSBnbHlwaAorICAgICAgICBpZiAoYW5nbGUgIT0gMC4w
KSB7CisgICAgICAgICAgICBBZmZpbmVUcmFuc2Zvcm0gcm90YXRpb25NYXRyaXg7CisKKyAgICAg
ICAgICAgIHJvdGF0aW9uTWF0cml4LnRyYW5zbGF0ZShzdmdDaGFyLnggKyBwYXRoWFNoaWZ0LCBz
dmdDaGFyLnkgKyBwYXRoWVNoaWZ0KTsKKyAgICAgICAgICAgIHJvdGF0aW9uTWF0cml4LnJvdGF0
ZShhbmdsZSk7CisgICAgICAgICAgICByb3RhdGlvbk1hdHJpeC50cmFuc2xhdGUoLXN2Z0NoYXIu
eCAtIHBhdGhYU2hpZnQsIC1zdmdDaGFyLnkgLSBwYXRoWVNoaWZ0KTsKKworICAgICAgICAgICAg
c3ZnQ2hhci50cmFuc2Zvcm0gPSByb3RhdGlvbk1hdHJpeDsKKyAgICAgICAgfQorCisgICAgICAg
IC8vIEFkdmFuY2UgY3VycmVudCBwb3NpdGlvbgorICAgICAgICBpZiAoIWlzVmVydGljYWxUZXh0
KQorICAgICAgICAgICAgaW5mby5jdXJ4ICs9IGdseXBoV2lkdGg7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIGluZm8uY3VyeSArPSBnbHlwaEhlaWdodDsKKworICAgICAgICBtX3N2Z0NoYXJz
LmFwcGVuZChzdmdDaGFyKTsKKyAgICAgICAgaW5mby5wcm9jZXNzZWRTaW5nbGVDaGFyYWN0ZXIo
KTsKKyAgICB9Cit9CisKK3ZvaWQgU1ZHUm9vdElubGluZUJveDo6YnVpbGRUZXh0Q2h1bmtzKCkK
K3sKKyAgICBTVkdUZXh0Q2h1bmtMYXlvdXRJbmZvIGluZm87CisgICAgaW5mby5pdCA9IG1fc3Zn
Q2hhcnMuYmVnaW4oKTsKKyAgICBpbmZvLmNodW5rLnN0YXJ0ID0gbV9zdmdDaGFycy5iZWdpbigp
OworICAgIGluZm8uY2h1bmsuZW5kID0gbV9zdmdDaGFycy5iZWdpbigpOworCisgICAgYnVpbGRU
ZXh0Q2h1bmtzKHRoaXMsIGluZm8pOworICAgIEFTU0VSVChpbmZvLml0ID09IG1fc3ZnQ2hhcnMu
ZW5kKCkpOworfQorCit2b2lkIFNWR1Jvb3RJbmxpbmVCb3g6OmJ1aWxkVGV4dENodW5rcyhJbmxp
bmVGbG93Qm94KiBzdGFydCwgU1ZHVGV4dENodW5rTGF5b3V0SW5mbyYgaW5mbykKK3sKKyNpZiBE
RUJVR19DSFVOS19CVUlMRElORyA+IDEKKyAgICBmcHJpbnRmKHN0ZGVyciwgIiAtPiBidWlsZFRl
eHRDaHVua3Moc3RhcnQ9JXApXG4iLCBzdGFydCk7CisjZW5kaWYKKworICAgIGZvciAoSW5saW5l
Qm94KiBjdXJyID0gc3RhcnQtPmZpcnN0Q2hpbGQoKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRP
bkxpbmUoKSkgeworICAgICAgICBpZiAoY3Vyci0+b2JqZWN0KCktPmlzVGV4dCgpKSB7CisgICAg
ICAgICAgICBJbmxpbmVUZXh0Qm94KiB0ZXh0Qm94ID0gc3RhdGljX2Nhc3Q8SW5saW5lVGV4dEJv
eCo+KGN1cnIpOworCisgICAgICAgICAgICB1bnNpZ25lZCBsZW5ndGggPSB0ZXh0Qm94LT5sZW4o
KTsKKyAgICAgICAgICAgIGlmICghbGVuZ3RoKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOwor
CisjaWYgREVCVUdfQ0hVTktfQlVJTERJTkcgPiAxCisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVy
ciwgIiAtPiBIYW5kbGUgaW5saW5lIHRleHQgYm94ICglcCkgd2l0aCAlaSBjaGFyYWN0ZXJzLCBh
ZHZhbmNlT25seT0laVxuIiwgdGV4dEJveCwgbGVuZ3RoLCAoaW50KSBpbmZvLmFkdmFuY2VPbmx5
KTsKKyNlbmRpZgorCisgICAgICAgICAgICBpZiAoaW5mby5hZHZhbmNlT25seSkgeworICAgICAg
ICAgICAgICAgIGluZm8uaXQgKz0gbGVuZ3RoOworICAgICAgICAgICAgICAgIGNvbnRpbnVlOwor
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICBSZW5kZXJUZXh0KiB0ZXh0ID0gdGV4dEJveC0+
dGV4dE9iamVjdCgpOworICAgICAgICAgICAgQVNTRVJUKHRleHQpOworCisgICAgICAgICAgICAv
LyBTdGFydCBuZXcgY2hhcmFjdGVyIHJhbmdlIGZvciB0aGUgZmlyc3QgY2h1bmsKKyAgICAgICAg
ICAgIGJvb2wgaXNGaXJzdENoYXJhY3RlciA9IG1fc3ZnVGV4dENodW5rcy5pc0VtcHR5KCkgJiYg
aW5mby5jaHVuay5zdGFydCA9PSBpbmZvLml0ICYmIGluZm8uY2h1bmsuc3RhcnQgPT0gaW5mby5j
aHVuay5lbmQ7CisgICAgICAgICAgICBpZiAoaXNGaXJzdENoYXJhY3RlcikgeworICAgICAgICAg
ICAgICAgIEFTU0VSVChpbmZvLmNodW5rLmJveGVzLmlzRW1wdHkoKSk7CisgICAgICAgICAgICAg
ICAgaW5mby5jaHVuay5ib3hlcy5hcHBlbmQoU1ZHSW5saW5lQm94Q2hhcmFjdGVyUmFuZ2UoKSk7
CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBBU1NFUlQoIWluZm8uY2h1bmsu
Ym94ZXMuaXNFbXB0eSgpKTsKKworICAgICAgICAgICAgLy8gV2FsayBzdHJpbmcgdG8gZmluZCBv
dXQgbmV3IGNodW5rIHBvc2l0aW9ucywgaWYgZXhpc3RhbnQKKyAgICAgICAgICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgeworICAgICAgICAgICAgICAgIEFTU0VSVChp
bmZvLml0ICE9IG1fc3ZnQ2hhcnMuZW5kKCkpOworCisgICAgICAgICAgICAgICAgU1ZHSW5saW5l
Qm94Q2hhcmFjdGVyUmFuZ2UmIHJhbmdlID0gaW5mby5jaHVuay5ib3hlcy5sYXN0KCk7CisgICAg
ICAgICAgICAgICAgaWYgKHJhbmdlLmlzT3BlbigpKSB7CisgICAgICAgICAgICAgICAgICAgIHJh
bmdlLmJveCA9IGN1cnI7CisgICAgICAgICAgICAgICAgICAgIHJhbmdlLnN0YXJ0T2Zmc2V0ID0g
KGkgPT0gMCA/IDAgOiBpIC0gMSk7CisKKyNpZiBERUJVR19DSFVOS19CVUlMRElORyA+IDEKKyAg
ICAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICIgfCAtPiBSYW5nZSBpcyBvcGVuISBi
b3g9JXAsIHN0YXJ0T2Zmc2V0PSVpXG4iLCByYW5nZS5ib3gsIHJhbmdlLnN0YXJ0T2Zmc2V0KTsK
KyNlbmRpZgorICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIC8vIElmIGEgbmV3
IChvciB0aGUgZmlyc3QpIGNodW5rIGhhcyBiZWVuIHN0YXJ0ZWQsIHJlY29yZCBpdCdzIHRleHQt
YW5jaG9yIGFuZCB3cml0aW5nIG1vZGUuCisgICAgICAgICAgICAgICAgaWYgKGluZm8uYXNzaWdu
Q2h1bmtQcm9wZXJ0aWVzKSB7CisgICAgICAgICAgICAgICAgICAgIGluZm8uYXNzaWduQ2h1bmtQ
cm9wZXJ0aWVzID0gZmFsc2U7CisKKyAgICAgICAgICAgICAgICAgICAgaW5mby5jaHVuay5pc1Zl
cnRpY2FsVGV4dCA9IGlzVmVydGljYWxXcml0aW5nTW9kZSh0ZXh0LT5zdHlsZSgpLT5zdmdTdHls
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgaW5mby5jaHVuay5hbmNob3IgPSB0ZXh0LT5zdHls
ZSgpLT5zdmdTdHlsZSgpLT50ZXh0QW5jaG9yKCk7CisKKyNpZiBERUJVR19DSFVOS19CVUlMRElO
RyA+IDEKKyAgICAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICIgfCAtPiBBc3NpZ24g
Y2h1bmsgcHJvcGVydGllcywgaXNWZXJ0aWNhbFRleHQ9JWksIGFuY2hvcj0laVxuIiwgaW5mby5j
aHVuay5pc1ZlcnRpY2FsVGV4dCwgaW5mby5jaHVuay5hbmNob3IpOworI2VuZGlmCisgICAgICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKGkgPiAwICYmICFpc0ZpcnN0Q2hhcmFj
dGVyICYmICgqaW5mby5pdCkubmV3VGV4dENodW5rKSB7CisgICAgICAgICAgICAgICAgICAgIC8v
IENsb3NlIG1pZCBjaHVuayAmIGNoYXJhY3RlciByYW5nZQorICAgICAgICAgICAgICAgICAgICBB
U1NFUlQoIXJhbmdlLmlzT3BlbigpKTsKKyAgICAgICAgICAgICAgICAgICAgQVNTRVJUKCFyYW5n
ZS5pc0Nsb3NlZCgpKTsKKworICAgICAgICAgICAgICAgICAgICByYW5nZS5lbmRPZmZzZXQgPSBp
OworICAgICAgICAgICAgICAgICAgICBjbG9zZVRleHRDaHVuayhpbmZvLCBtX3N2Z1RleHRDaHVu
a3MpOworCisjaWYgREVCVUdfQ0hVTktfQlVJTERJTkcgPiAxCisgICAgICAgICAgICAgICAgICAg
IGZwcmludGYoc3RkZXJyLCAiIHwgLT4gQ2xvc2UgbWlkLXRleHQgY2h1bmssIGF0IGVuZE9mZnNl
dDogJWkgYW5kIHN0YXJ0aW5nIG5ldyBtaWQgY2h1bmshXG4iLCByYW5nZS5lbmRPZmZzZXQpOwor
I2VuZGlmCisgICAgCisgICAgICAgICAgICAgICAgICAgIC8vIFByZXBhcmUgZm9yIG5leHQgY2h1
bmssIGlmIHdlJ3JlIG5vdCBhdCB0aGUgZW5kICAgIAorICAgICAgICAgICAgICAgICAgICBzdGFy
dFRleHRDaHVuayhpbmZvKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGkgKyAxID09IGxlbmd0
aCkgeworI2lmIERFQlVHX0NIVU5LX0JVSUxESU5HID4gMQorICAgICAgICAgICAgICAgICAgICAg
ICAgZnByaW50ZihzdGRlcnIsICIgfCAtPiBSZWNvcmQgbGFzdCBjaHVuayBvZiBpbmxpbmUgdGV4
dCBib3ghXG4iKTsKKyNlbmRpZgorCisgICAgICAgICAgICAgICAgICAgICAgICBzdGFydFRleHRD
aHVuayhpbmZvKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFNWR0lubGluZUJveENoYXJhY3Rl
clJhbmdlJiByYW5nZSA9IGluZm8uY2h1bmsuYm94ZXMubGFzdCgpOworCisgICAgICAgICAgICAg
ICAgICAgICAgICBpbmZvLmFzc2lnbkNodW5rUHJvcGVydGllcyA9IGZhbHNlOworICAgICAgICAg
ICAgICAgICAgICAgICAgaW5mby5jaHVuay5pc1ZlcnRpY2FsVGV4dCA9IGlzVmVydGljYWxXcml0
aW5nTW9kZSh0ZXh0LT5zdHlsZSgpLT5zdmdTdHlsZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGluZm8uY2h1bmsuYW5jaG9yID0gdGV4dC0+c3R5bGUoKS0+c3ZnU3R5bGUoKS0+dGV4dEFu
Y2hvcigpOworCisgICAgICAgICAgICAgICAgICAgICAgICByYW5nZS5ib3ggPSBjdXJyOworICAg
ICAgICAgICAgICAgICAgICAgICAgcmFuZ2Uuc3RhcnRPZmZzZXQgPSBpOworCisgICAgICAgICAg
ICAgICAgICAgICAgICBBU1NFUlQoIXJhbmdlLmlzT3BlbigpKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIEFTU0VSVCghcmFuZ2UuaXNDbG9zZWQoKSk7CisgICAgICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAvLyBUaGlzIHNob3VsZCBvbmx5
IGhvbGQgdHJ1ZSBmb3IgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiB0aGUgZmlyc3QgY2h1bmsKKyAg
ICAgICAgICAgICAgICBpZiAoaXNGaXJzdENoYXJhY3RlcikKKyAgICAgICAgICAgICAgICAgICAg
aXNGaXJzdENoYXJhY3RlciA9IGZhbHNlOworICAgIAorICAgICAgICAgICAgICAgIGluZm8uaXQr
KzsKKyAgICAgICAgICAgIH0KKworI2lmIERFQlVHX0NIVU5LX0JVSUxESU5HID4gMSAgICAKKyAg
ICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiIC0+IEZpbmlzaGVkIGlubGluZSB0ZXh0IGJveCFc
biIpOworI2VuZGlmCisKKyAgICAgICAgICAgIFNWR0lubGluZUJveENoYXJhY3RlclJhbmdlJiBy
YW5nZSA9IGluZm8uY2h1bmsuYm94ZXMubGFzdCgpOworICAgICAgICAgICAgaWYgKCFyYW5nZS5p
c09wZW4oKSAmJiAhcmFuZ2UuaXNDbG9zZWQoKSkgeworI2lmIERFQlVHX0NIVU5LX0JVSUxESU5H
ID4gMQorICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiIC0+IExhc3QgcmFuZ2Ugbm90
IGNsb3NlZCAtIGNsb3Npbmcgd2l0aCBlbmRPZmZzZXQ6ICVpXG4iLCBsZW5ndGgpOworI2VuZGlm
CisKKyAgICAgICAgICAgICAgICAvLyBDdXJyZW50IHRleHQgY2h1bmsgaXMgbm90IHlldCBjbG9z
ZWQuIEZpbmlzaCB0aGUgY3VycmVudCByYW5nZSwgYnV0IGRvbid0IHN0YXJ0IGEgbmV3IGNodW5r
LgorICAgICAgICAgICAgICAgIHJhbmdlLmVuZE9mZnNldCA9IGxlbmd0aDsKKworICAgICAgICAg
ICAgICAgIGlmIChpbmZvLml0ICE9IG1fc3ZnQ2hhcnMuZW5kKCkpIHsKKyNpZiBERUJVR19DSFVO
S19CVUlMRElORyA+IDEKKyAgICAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICIgLT4g
Tm90IGF0IGxhc3QgY2hhcmFjdGVyIHlldCFcbiIpOworI2VuZGlmCisKKyAgICAgICAgICAgICAg
ICAgICAgLy8gSWYgd2UncmUgbm90IGF0IHRoZSBlbmQgb2YgdGhlIGxhc3QgYm94IHRvIGJlIHBy
b2Nlc3NlZCwgYW5kIGlmIHRoZSBuZXh0CisgICAgICAgICAgICAgICAgICAgIC8vIGNoYXJhY3Rl
ciBzdGFydHMgYSBuZXcgY2h1bmssIHRoZW4gY2xvc2UgdGhlIGN1cnJlbnQgY2h1bmsgYW5kIHN0
YXJ0IGEgbmV3IG9uZS4KKyAgICAgICAgICAgICAgICAgICAgaWYgKCgqaW5mby5pdCkubmV3VGV4
dENodW5rKSB7CisjaWYgREVCVUdfQ0hVTktfQlVJTERJTkcgPiAxCisgICAgICAgICAgICAgICAg
ICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiAtPiBOZXh0IGNoYXJhY3RlciBzdGFydHMgbmV3IGNo
dW5rISBDbG9zaW5nIGN1cnJlbnQgY2h1bmssIGFuZCBzdGFydGluZyBhIG5ldyBvbmUuLi5cbiIp
OworI2VuZGlmCisKKyAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlVGV4dENodW5rKGluZm8s
IG1fc3ZnVGV4dENodW5rcyk7CisgICAgICAgICAgICAgICAgICAgICAgICBzdGFydFRleHRDaHVu
ayhpbmZvKTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIEp1c3Qgc3RhcnQgYSBuZXcgY2hhcmFjdGVyIHJhbmdlCisgICAgICAgICAgICAg
ICAgICAgICAgICBpbmZvLmNodW5rLmJveGVzLmFwcGVuZChTVkdJbmxpbmVCb3hDaGFyYWN0ZXJS
YW5nZSgpKTsKKworI2lmIERFQlVHX0NIVU5LX0JVSUxESU5HID4gMQorICAgICAgICAgICAgICAg
ICAgICAgICAgZnByaW50ZihzdGRlcnIsICIgLT4gTmV4dCBjaGFyYWN0ZXIgZG9lcyBOT1Qgc3Rh
cnQgYSBuZXcgY2h1bmshIFN0YXJ0aW5nIG5ldyBjaGFyYWN0ZXIgcmFuZ2UuLi5cbiIpOworI2Vu
ZGlmCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9IGVsc2UgeworI2lm
IERFQlVHX0NIVU5LX0JVSUxESU5HID4gMQorICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKHN0
ZGVyciwgIiAtPiBDbG9zaW5nIGZpbmFsIGNodW5rISBGaW5pc2hlZCBwcm9jZXNzaW5nIVxuIik7
CisjZW5kaWYKKworICAgICAgICAgICAgICAgICAgICAvLyBDbG9zZSBmaW5hbCBjaHVuaywgb25j
ZSB3ZSdyZSBhdCB0aGUgZW5kIG9mIHRoZSBsYXN0IGJveAorICAgICAgICAgICAgICAgICAgICBj
bG9zZVRleHRDaHVuayhpbmZvLCBtX3N2Z1RleHRDaHVua3MpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIEFTU0VSVChjdXJy
LT5pc0lubGluZUZsb3dCb3goKSk7CisgICAgICAgICAgICBJbmxpbmVGbG93Qm94KiBmbG93Qm94
ID0gc3RhdGljX2Nhc3Q8SW5saW5lRmxvd0JveCo+KGN1cnIpOworCisgICAgICAgICAgICAvLyA8
dGV4dFBhdGg+IGRvZXNuJ3QgbmVlZCB0aGlzIGNodW5rIGxvZ2ljLiBGSVhNRTogSXQncyBuZWVk
ZWQgZm9yIHRleHQgc2VsZWN0aW9uISAobm90IGZvciB0ZXh0LWFuY2hvciB0aG91Z2gpCisgICAg
ICAgICAgICBib29sIGlzVGV4dFBhdGggPSBmbG93Qm94LT5vYmplY3QoKS0+ZWxlbWVudCgpLT5o
YXNUYWdOYW1lKFNWR05hbWVzOjp0ZXh0UGF0aFRhZyk7CisKKyNpZiBERUJVR19DSFVOS19CVUlM
RElORyA+IDEKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiIC0+IEhhbmRsZSBpbmxpbmUg
ZmxvdyBib3ggKCVwKSwgaXNUZXh0UGF0aD0laVxuIiwgZmxvd0JveCwgKGludCkgaXNUZXh0UGF0
aCk7CisjZW5kaWYKKworICAgICAgICAgICAgaWYgKGlzVGV4dFBhdGgpCisgICAgICAgICAgICAg
ICAgaW5mby5hZHZhbmNlT25seSA9IHRydWU7CisKKyAgICAgICAgICAgIGJ1aWxkVGV4dENodW5r
cyhmbG93Qm94LCBpbmZvKTsKKworICAgICAgICAgICAgaWYgKGlzVGV4dFBhdGgpCisgICAgICAg
ICAgICAgICAgaW5mby5hZHZhbmNlT25seSA9IGZhbHNlOworICAgICAgICB9CisgICAgfQorCisj
aWYgREVCVUdfQ0hVTktfQlVJTERJTkcgPiAxCisgICAgZnByaW50ZihzdGRlcnIsICIgPC0gYnVp
bGRUZXh0Q2h1bmtzKHN0YXJ0PSVwKVxuIiwgc3RhcnQpOworI2VuZGlmCit9CisKK2NvbnN0IFZl
Y3RvcjxTVkdUZXh0Q2h1bms+JiBTVkdSb290SW5saW5lQm94OjpzdmdUZXh0Q2h1bmtzKCkgY29u
c3QgCit7CisgICAgcmV0dXJuIG1fc3ZnVGV4dENodW5rczsKK30KKwordm9pZCBTVkdSb290SW5s
aW5lQm94OjpsYXlvdXRUZXh0Q2h1bmtzKCkKK3sKKyAgICBWZWN0b3I8U1ZHVGV4dENodW5rPjo6
aXRlcmF0b3IgaXQgPSBtX3N2Z1RleHRDaHVua3MuYmVnaW4oKTsKKyAgICBWZWN0b3I8U1ZHVGV4
dENodW5rPjo6aXRlcmF0b3IgZW5kID0gbV9zdmdUZXh0Q2h1bmtzLmVuZCgpOworCisgICAgZm9y
ICg7IGl0ICE9IGVuZDsgKytpdCkKKyAgICAgICAgYXBwbHlUZXh0QW5jaG9yVG9UZXh0Q2h1bmso
Kml0KTsKK30KKwordm9pZCBTVkdSb290SW5saW5lQm94OjpwYWludFNlbGVjdGlvbkZvclRleHRC
b3goSW5saW5lVGV4dEJveCogdGV4dEJveCwgaW50IGJveFN0YXJ0T2Zmc2V0LCBTVkdDaGFyKiBz
dmdDaGFyUHRyLCBjb25zdCBVQ2hhciogY2hhcnMsIGludCBsZW5ndGgsIEdyYXBoaWNzQ29udGV4
dCogcCwgaW50IHR4LCBpbnQgdHksIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCogZikK
K3sKKyAgICBpZiAodGV4dEJveC0+c2VsZWN0aW9uU3RhdGUoKSA9PSBSZW5kZXJPYmplY3Q6OlNl
bGVjdGlvbk5vbmUpCisgICAgICAgIHJldHVybjsKKworICAgIGludCBzdGFydFBvcywgZW5kUG9z
OworICAgIHRleHRCb3gtPnNlbGVjdGlvblN0YXJ0RW5kKHN0YXJ0UG9zLCBlbmRQb3MpOworCisg
ICAgaWYgKHN0YXJ0UG9zID49IGVuZFBvcykKKyAgICAgICAgcmV0dXJuOworCisgICAgZmxvYXQg
d2lkdGggPSBjdW1tdWxhdGVkV2lkdGhPZlNlbGVjdGlvblJhbmdlKHRleHRCb3gsIHN0YXJ0UG9z
LCBlbmRQb3MsIGxlbmd0aCwgYm94U3RhcnRPZmZzZXQpOworICAgIGlmICh3aWR0aCA9PSBGTFRf
TUFYKQorICAgICAgICByZXR1cm47CisKKyAgICBDb2xvciB0ZXh0Q29sb3IgPSBzdHlsZS0+Y29s
b3IoKTsKKyAgICBDb2xvciBjb2xvciA9IHRleHRCb3gtPm9iamVjdCgpLT5zZWxlY3Rpb25CYWNr
Z3JvdW5kQ29sb3IoKTsKKyAgICBpZiAoIWNvbG9yLmlzVmFsaWQoKSB8fCBjb2xvci5hbHBoYSgp
ID09IDApCisgICAgICAgIHJldHVybjsKKworICAgIC8vIElmIHRoZSB0ZXh0IGNvbG9yIGVuZHMg
dXAgYmVpbmcgdGhlIHNhbWUgYXMgdGhlIHNlbGVjdGlvbiBiYWNrZ3JvdW5kLCBpbnZlcnQgdGhl
IHNlbGVjdGlvbgorICAgIC8vIGJhY2tncm91bmQuICBUaGlzIHNob3VsZCBiYXNpY2FsbHkgbmV2
ZXIgaGFwcGVuLCBzaW5jZSB0aGUgc2VsZWN0aW9uIGhhcyB0cmFuc3BhcmVuY3kuCisgICAgaWYg
KHRleHRDb2xvciA9PSBjb2xvcikKKyAgICAgICAgY29sb3IgPSBDb2xvcigweGZmIC0gY29sb3Iu
cmVkKCksIDB4ZmYgLSBjb2xvci5ncmVlbigpLCAweGZmIC0gY29sb3IuYmx1ZSgpKTsKKworICAg
IHAtPnNhdmUoKTsKKworICAgIFNWR0NoYXIgZmlyc3RDaGFyID0gKihzdmdDaGFyUHRyICsgKHN0
YXJ0UG9zID4gYm94U3RhcnRPZmZzZXQgPyBzdGFydFBvcyAtIGJveFN0YXJ0T2Zmc2V0IDogMCkp
OworICAgIGlmICghZmlyc3RDaGFyLnRyYW5zZm9ybS5pc0lkZW50aXR5KCkpCisgICAgICAgIHAt
PmNvbmNhdENUTShmaXJzdENoYXIudHJhbnNmb3JtKTsKKworICAgIGNvbnN0IEZvbnQmIGZvbnQg
PSB0ZXh0Qm94LT50ZXh0T2JqZWN0KCktPnN0eWxlKCktPmZvbnQoKTsKKyAgICBGbG9hdFJlY3Qg
c2VsZWN0aW9uUmVjdChmaXJzdENoYXIueCwgZmlyc3RDaGFyLnkgLSBmb250LmFzY2VudCgpLCB3
aWR0aCwgZm9udC5hc2NlbnQoKSArIGZvbnQuZGVzY2VudCgpKTsKKyAgICBwLT5maWxsUmVjdChz
ZWxlY3Rpb25SZWN0LCBjb2xvcik7CisKKyAgICBwLT5yZXN0b3JlKCk7Cit9CisKK3ZvaWQgU1ZH
Um9vdElubGluZUJveDo6cGFpbnRJbmxpbmVCb3hlcyhSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYg
cGFpbnRJbmZvLCBpbnQgdHgsIGludCB0eSwgSW5saW5lRmxvd0JveCogc3RhcnQsIFZlY3RvcjxT
VkdDaGFyPjo6aXRlcmF0b3ImIGl0KQoreworICAgIGZvciAoSW5saW5lQm94KiBjdXJyID0gc3Rh
cnQtPmZpcnN0Q2hpbGQoKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRPbkxpbmUoKSkgeworICAg
ICAgICBpZiAoY3Vyci0+b2JqZWN0KCktPmlzVGV4dCgpKSB7CisgICAgICAgICAgICBJbmxpbmVU
ZXh0Qm94KiB0ZXh0Qm94ID0gc3RhdGljX2Nhc3Q8SW5saW5lVGV4dEJveCo+KGN1cnIpOworCisg
ICAgICAgICAgICB1bnNpZ25lZCBsZW5ndGggPSB0ZXh0Qm94LT5sZW4oKTsKKyAgICAgICAgICAg
IGlmICghbGVuZ3RoKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBS
ZW5kZXJUZXh0KiB0ZXh0ID0gdGV4dEJveC0+dGV4dE9iamVjdCgpOworICAgICAgICAgICAgQVNT
RVJUKHRleHQpOworCisgICAgICAgICAgICAvLyBQYWludCBhbGwgY29udGFpbmVkIGNoYXJhY3Rl
cnMsIG9uZS1ieS1vbmUgYXMgd29yc3QgY2FzZS4KKyAgICAgICAgICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgeworICAgICAgICAgICAgICAgIEFTU0VSVChpdCAhPSBt
X3N2Z0NoYXJzLmVuZCgpKTsKKworICAgICAgICAgICAgICAgIGlmICghKCppdCkudmlzaWJsZSkg
eworICAgICAgICAgICAgICAgICAgICBpdCsrOworICAgICAgICAgICAgICAgICAgICBjb250aW51
ZTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAvLyBEZXRlcm1pbmUgaG93
IG1hbnkgY2hhcmFjdGVycyAtIHN0YXJ0aW5nIGZyb20gdGhlIGN1cnJlbnQgLSBjYW4gYmUgZHJh
d24gYXQgb25jZS4KKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBzdGFydE9mZnNldCA9IGkgKyAx
LCBydW4gPSAxOworICAgICAgICAgICAgICAgIHdoaWxlIChzdGFydE9mZnNldCA8IGxlbmd0aCkg
eworICAgICAgICAgICAgICAgICAgICBTVkdDaGFyIGNodW5rID0gKihpdCArIHN0YXJ0T2Zmc2V0
IC0gaSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChjaHVuay5kcmF3blNlcGVyYXRlZCkKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAgICAgIHJ1bisr
OworICAgICAgICAgICAgICAgICAgICBzdGFydE9mZnNldCsrOworICAgICAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgICAgIHBhaW50Q2hhcmFjdGVyUmFuZ2VGb3JUZXh0Qm94KHBhaW50SW5m
bywgdHgsIHR5LCB0ZXh0Qm94LCAqaXQsIHRleHQtPmNoYXJhY3RlcnMoKSArIHRleHRCb3gtPnN0
YXJ0KCkgKyBpLCBydW4pOworCisgICAgICAgICAgICAgICAgaSArPSBydW4gLSAxOworICAgICAg
ICAgICAgICAgIGl0ICs9IHJ1bjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgIEFTU0VSVChjdXJyLT5pc0lubGluZUZsb3dCb3goKSk7CisgICAgICAgICAgICBJ
bmxpbmVGbG93Qm94KiBmbG93Qm94ID0gc3RhdGljX2Nhc3Q8SW5saW5lRmxvd0JveCo+KGN1cnIp
OworCisgICAgICAgICAgICBGbG9hdFJlY3QgYm91bmRpbmdCb3g7CisKKyAgICAgICAgICAgIFNW
R1Jlc291cmNlRmlsdGVyKiBmaWx0ZXIgPSAwOworICAgICAgICAgICAgcHJlcGFyZVRleHRSZW5k
ZXJpbmcocGFpbnRJbmZvLCB0eCwgdHksIGZsb3dCb3gsIGJvdW5kaW5nQm94LCBmaWx0ZXIpOwor
CisgICAgICAgICAgICBSZW5kZXJPYmplY3QqIG9iamVjdCA9IGZsb3dCb3gtPm9iamVjdCgpOwor
ICAgICAgICAgICAgUmVuZGVyT2JqZWN0OjpQYWludEluZm8gcGkocGFpbnRJbmZvKTsKKworICAg
ICAgICAgICAgaWYgKCFmbG93Qm94LT5pc1Jvb3RJbmxpbmVCb3goKSkKKyAgICAgICAgICAgICAg
ICBwaS5yZWN0ID0gKG9iamVjdC0+bG9jYWxUcmFuc2Zvcm0oKSkuaW52ZXJzZSgpLm1hcFJlY3Qo
cGkucmVjdCk7CisKKyAgICAgICAgICAgIGZsb2F0IG9wYWNpdHkgPSBvYmplY3QtPnN0eWxlKCkt
Pm9wYWNpdHkoKTsKKyAgICAgICAgICAgIGlmIChvcGFjaXR5IDwgMS4wZikgeworICAgICAgICAg
ICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5jbGlwKGVuY2xvc2luZ0ludFJlY3QoYm91bmRpbmdC
b3gpKTsKKyAgICAgICAgICAgICAgICBwYWludEluZm8uY29udGV4dC0+YmVnaW5UcmFuc3BhcmVu
Y3lMYXllcihvcGFjaXR5KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgYm9vbCBwYWlu
dGVkID0gZmFsc2U7CisgICAgICAgICAgICBWZWN0b3I8U1ZHQ2hhcj46Oml0ZXJhdG9yIHNhdmVk
SXQgPSBpdDsKKyAgICAKKyAgICAgICAgICAgIFNWR1BhaW50U2VydmVyKiBmaWxsUGFpbnRTZXJ2
ZXIgPSBLU1ZHUGFpbnRlckZhY3Rvcnk6OmZpbGxQYWludFNlcnZlcihvYmplY3QtPnN0eWxlKCks
IG9iamVjdCk7CisgICAgICAgICAgICBpZiAoZmlsbFBhaW50U2VydmVyKSB7CisgICAgICAgICAg
ICAgICAgaWYgKGZpbGxQYWludFNlcnZlci0+c2V0dXAocGkuY29udGV4dCwgb2JqZWN0LCBBcHBs
eVRvRmlsbFRhcmdldFR5cGUsIHRydWUpKSB7CisgICAgICAgICAgICAgICAgICAgIHBhaW50ZWQg
PSB0cnVlOworCisgICAgICAgICAgICAgICAgICAgIHBhaW50SW5saW5lQm94ZXMocGksIHR4LCB0
eSwgZmxvd0JveCwgaXQpOworICAgICAgICAgICAgICAgICAgICBmaWxsUGFpbnRTZXJ2ZXItPnRl
YXJkb3duKHBpLmNvbnRleHQsIG9iamVjdCwgQXBwbHlUb0ZpbGxUYXJnZXRUeXBlLCB0cnVlKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIFNWR1BhaW50
U2VydmVyKiBzdHJva2VQYWludFNlcnZlciA9IEtTVkdQYWludGVyRmFjdG9yeTo6c3Ryb2tlUGFp
bnRTZXJ2ZXIob2JqZWN0LT5zdHlsZSgpLCBvYmplY3QpOworICAgICAgICAgICAgaWYgKHN0cm9r
ZVBhaW50U2VydmVyKSB7CisgICAgICAgICAgICAgICAgaWYgKHN0cm9rZVBhaW50U2VydmVyLT5z
ZXR1cChwaS5jb250ZXh0LCBvYmplY3QsIEFwcGx5VG9TdHJva2VUYXJnZXRUeXBlLCB0cnVlKSkg
eworICAgICAgICAgICAgICAgICAgICBpZiAocGFpbnRlZCkKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGl0ID0gc2F2ZWRJdDsKKworICAgICAgICAgICAgICAgICAgICBwYWludElubGluZUJveGVz
KHBpLCB0eCwgdHksIGZsb3dCb3gsIGl0KTsKKyAgICAgICAgICAgICAgICAgICAgc3Ryb2tlUGFp
bnRTZXJ2ZXItPnRlYXJkb3duKHBpLmNvbnRleHQsIG9iamVjdCwgQXBwbHlUb1N0cm9rZVRhcmdl
dFR5cGUsIHRydWUpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgaWYgKGZpbHRlcikKKyAgICAgICAgICAgICAgICBmaWx0ZXItPmFwcGx5RmlsdGVyKHBh
aW50SW5mby5jb250ZXh0LCBib3VuZGluZ0JveCk7CisKKyAgICAgICAgICAgIGlmIChvcGFjaXR5
IDwgMS4wZikKKyAgICAgICAgICAgICAgICBwYWludEluZm8uY29udGV4dC0+ZW5kVHJhbnNwYXJl
bmN5TGF5ZXIoKTsKKworICAgICAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPnJlc3RvcmUoKTsK
KyAgICAgICAgfQorICAgIH0KK30KKwordm9pZCBTVkdSb290SW5saW5lQm94OjpwYWludENoYXJh
Y3RlclJhbmdlRm9yVGV4dEJveChSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYgcGFpbnRJbmZvLCBp
bnQgdHgsIGludCB0eSwgSW5saW5lVGV4dEJveCogdGV4dEJveCwgY29uc3QgU1ZHQ2hhciYgc3Zn
Q2hhciwgY29uc3QgVUNoYXIqIGNoYXJzLCBpbnQgbGVuZ3RoKQoreworICAgIGlmIChvYmplY3Qo
KS0+c3R5bGUoKS0+dmlzaWJpbGl0eSgpICE9IFZJU0lCTEUgfHwgcGFpbnRJbmZvLnBoYXNlID09
IFBhaW50UGhhc2VPdXRsaW5lKQorICAgICAgICByZXR1cm47CisKKyAgICBBU1NFUlQocGFpbnRJ
bmZvLnBoYXNlICE9IFBhaW50UGhhc2VTZWxmT3V0bGluZSAmJiBwYWludEluZm8ucGhhc2UgIT0g
UGFpbnRQaGFzZUNoaWxkT3V0bGluZXMpOworCisgICAgUmVuZGVyVGV4dCogdGV4dCA9IHRleHRC
b3gtPnRleHRPYmplY3QoKTsKKyAgICBBU1NFUlQodGV4dCk7CisKKyAgICBib29sIGlzUHJpbnRp
bmcgPSB0ZXh0LT5kb2N1bWVudCgpLT5wcmludGluZygpOworCisgICAgLy8gRGV0ZXJtaW5lIHdo
ZXRoZXIgb3Igbm90IHdlJ3JlIHNlbGVjdGVkLgorICAgIGJvb2wgaGF2ZVNlbGVjdGlvbiA9ICFp
c1ByaW50aW5nICYmIHNlbGVjdGlvblN0YXRlKCkgIT0gUmVuZGVyT2JqZWN0OjpTZWxlY3Rpb25O
b25lOworICAgIGlmICghaGF2ZVNlbGVjdGlvbiAmJiBwYWludEluZm8ucGhhc2UgPT0gUGFpbnRQ
aGFzZVNlbGVjdGlvbikKKyAgICAgICAgLy8gV2hlbiBvbmx5IHBhaW50aW5nIHRoZSBzZWxlY3Rp
b24sIGRvbid0IGJvdGhlciB0byBwYWludCBpZiB0aGVyZSBpcyBub25lLgorICAgICAgICByZXR1
cm47CisKKyAgICAvLyBEZXRlcm1pbmUgd2hldGhlciBvciBub3Qgd2UgaGF2ZSBtYXJrZWQgdGV4
dC4KKyAgICBSYW5nZSogbWFya2VkVGV4dFJhbmdlID0gdGV4dC0+ZG9jdW1lbnQoKS0+ZnJhbWUo
KS0+bWFya2VkVGV4dFJhbmdlKCk7CisgICAgaW50IGV4Y2VwdGlvbiA9IDA7CisgICAgYm9vbCBo
YXZlTWFya2VkVGV4dCA9IG1hcmtlZFRleHRSYW5nZSAmJiBtYXJrZWRUZXh0UmFuZ2UtPnN0YXJ0
Q29udGFpbmVyKGV4Y2VwdGlvbikgPT0gdGV4dC0+bm9kZSgpOworICAgIGJvb2wgbWFya2VkVGV4
dFVzZXNVbmRlcmxpbmVzID0gdGV4dC0+ZG9jdW1lbnQoKS0+ZnJhbWUoKS0+bWFya2VkVGV4dFVz
ZXNVbmRlcmxpbmVzKCk7CisKKyAgICAvLyBTZXQgb3VyIGZvbnQKKyAgICBSZW5kZXJTdHlsZSog
c3R5bGVUb1VzZSA9IHRleHQtPnN0eWxlKHRleHRCb3gtPmlzRmlyc3RMaW5lU3R5bGUoKSk7Cisg
ICAgaW50IGQgPSBzdHlsZVRvVXNlLT50ZXh0RGVjb3JhdGlvbnNJbkVmZmVjdCgpOworICAgIGNv
bnN0IEZvbnQqIGZvbnQgPSAmc3R5bGVUb1VzZS0+Zm9udCgpOworICAgIGlmICgqZm9udCAhPSBw
YWludEluZm8uY29udGV4dC0+Zm9udCgpKQorICAgICAgICBwYWludEluZm8uY29udGV4dC0+c2V0
Rm9udCgqZm9udCk7CisKKyAgICAvLyAxLiBQYWludCBiYWNrZ3JvdW5kcyBiZWhpbmQgdGV4dCBp
ZiBuZWVkZWQuICBFeGFtcGxlcyBvZiBzdWNoIGJhY2tncm91bmRzIGluY2x1ZGUgc2VsZWN0aW9u
CisgICAgLy8gYW5kIG1hcmtlZCB0ZXh0LgorICAgIGlmIChwYWludEluZm8ucGhhc2UgIT0gUGFp
bnRQaGFzZVNlbGVjdGlvbiAmJiAhaXNQcmludGluZykgeworI2lmIFBMQVRGT1JNKE1BQykKKyAg
ICAgICAgLy8gQ3VzdG9tIGhpZ2hsaWdodGVycyBnbyBiZWhpbmQgZXZlcnl0aGluZyBlbHNlLgor
ICAgICAgICBpZiAoc3R5bGVUb1VzZS0+aGlnaGxpZ2h0KCkgIT0gbnVsbEF0b20gJiYgIXBhaW50
SW5mby5jb250ZXh0LT5wYWludGluZ0Rpc2FibGVkKCkpCisgICAgICAgICAgICB0ZXh0Qm94LT5w
YWludEN1c3RvbUhpZ2hsaWdodCh0eCwgdHksIHN0eWxlVG9Vc2UtPmhpZ2hsaWdodCgpKTsKKyNl
bmRpZgorCisgICAgICAgIGlmIChoYXZlTWFya2VkVGV4dCAgJiYgIW1hcmtlZFRleHRVc2VzVW5k
ZXJsaW5lcykKKyAgICAgICAgICAgIHRleHRCb3gtPnBhaW50TWFya2VkVGV4dEJhY2tncm91bmQo
cGFpbnRJbmZvLmNvbnRleHQsIHR4LCB0eSwgc3R5bGVUb1VzZSwgZm9udCwgbWFya2VkVGV4dFJh
bmdlLT5zdGFydE9mZnNldChleGNlcHRpb24pLCBtYXJrZWRUZXh0UmFuZ2UtPmVuZE9mZnNldChl
eGNlcHRpb24pKTsKKworICAgICAgICB0ZXh0Qm94LT5wYWludERvY3VtZW50TWFya2VycyhwYWlu
dEluZm8uY29udGV4dCwgdHgsIHR5LCBzdHlsZVRvVXNlLCBmb250LCB0cnVlKTsKKworICAgICAg
ICBpZiAoaGF2ZVNlbGVjdGlvbiAmJiAhbWFya2VkVGV4dFVzZXNVbmRlcmxpbmVzKSB7CisgICAg
ICAgICAgICBpbnQgYm94U3RhcnRPZmZzZXQgPSBjaGFycyAtIHRleHQtPmNoYXJhY3RlcnMoKSAt
IHRleHRCb3gtPnN0YXJ0KCk7CisgICAgICAgICAgICBwYWludFNlbGVjdGlvbkZvclRleHRCb3go
dGV4dEJveCwgYm94U3RhcnRPZmZzZXQsIGNvbnN0X2Nhc3Q8U1ZHQ2hhcio+KCZzdmdDaGFyKSwg
Y2hhcnMsIGxlbmd0aCwgcGFpbnRJbmZvLmNvbnRleHQsIHR4LCB0eSwgc3R5bGVUb1VzZSwgZm9u
dCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBjb25zdCBWZWN0b3I8TWFya2VkVGV4dFVuZGVy
bGluZT4qIHVuZGVybGluZXMgPSAwOworICAgIHNpemVfdCBudW1VbmRlcmxpbmVzID0gMDsKKyAg
ICBpZiAoaGF2ZU1hcmtlZFRleHQgJiYgbWFya2VkVGV4dFVzZXNVbmRlcmxpbmVzKSB7CisgICAg
ICAgIHVuZGVybGluZXMgPSAmdGV4dC0+ZG9jdW1lbnQoKS0+ZnJhbWUoKS0+bWFya2VkVGV4dFVu
ZGVybGluZXMoKTsKKyAgICAgICAgbnVtVW5kZXJsaW5lcyA9IHVuZGVybGluZXMtPnNpemUoKTsK
KyAgICB9CisKKyAgICBDb2xvciB0ZXh0RmlsbENvbG9yOworICAgIENvbG9yIHRleHRTdHJva2VD
b2xvcjsKKyAgICBmbG9hdCB0ZXh0U3Ryb2tlV2lkdGggPSBzdHlsZVRvVXNlLT50ZXh0U3Ryb2tl
V2lkdGgoKTsKKworICAgIGlmIChwYWludEluZm8uZm9yY2VXaGl0ZVRleHQpIHsKKyAgICAgICAg
dGV4dEZpbGxDb2xvciA9IENvbG9yOjp3aGl0ZTsKKyAgICAgICAgdGV4dFN0cm9rZUNvbG9yID0g
Q29sb3I6OndoaXRlOworICAgIH0gZWxzZSB7CisgICAgICAgIHRleHRGaWxsQ29sb3IgPSBzdHls
ZVRvVXNlLT50ZXh0RmlsbENvbG9yKCk7CisgICAgICAgIGlmICghdGV4dEZpbGxDb2xvci5pc1Zh
bGlkKCkpCisgICAgICAgICAgICB0ZXh0RmlsbENvbG9yID0gc3R5bGVUb1VzZS0+Y29sb3IoKTsK
KworICAgICAgICAvLyBNYWtlIHRoZSB0ZXh0IGZpbGwgY29sb3IgbGVnaWJsZSBhZ2FpbnN0IGEg
d2hpdGUgYmFja2dyb3VuZAorICAgICAgICBpZiAoc3R5bGVUb1VzZS0+Zm9yY2VCYWNrZ3JvdW5k
c1RvV2hpdGUoKSkKKyAgICAgICAgICAgIHRleHRGaWxsQ29sb3IgPSBjb3JyZWN0ZWRUZXh0Q29s
b3IodGV4dEZpbGxDb2xvciwgQ29sb3I6OndoaXRlKTsKKworICAgICAgICB0ZXh0U3Ryb2tlQ29s
b3IgPSBzdHlsZVRvVXNlLT50ZXh0U3Ryb2tlQ29sb3IoKTsKKyAgICAgICAgaWYgKCF0ZXh0U3Ry
b2tlQ29sb3IuaXNWYWxpZCgpKQorICAgICAgICAgICAgdGV4dFN0cm9rZUNvbG9yID0gc3R5bGVU
b1VzZS0+Y29sb3IoKTsKKworICAgICAgICAvLyBNYWtlIHRoZSB0ZXh0IHN0cm9rZSBjb2xvciBs
ZWdpYmxlIGFnYWluc3QgYSB3aGl0ZSBiYWNrZ3JvdW5kCisgICAgICAgIGlmIChzdHlsZVRvVXNl
LT5mb3JjZUJhY2tncm91bmRzVG9XaGl0ZSgpKQorICAgICAgICAgICAgdGV4dFN0cm9rZUNvbG9y
ID0gY29ycmVjdGVkVGV4dENvbG9yKHRleHRTdHJva2VDb2xvciwgQ29sb3I6OndoaXRlKTsKKyAg
ICB9CisKKyAgICAvLyBGb3Igc3Ryb2tlZCBwYWludGluZywgd2UgaGF2ZSB0byBjaGFuZ2UgdGhl
IHRleHQgZHJhd2luZyBtb2RlLiAgSXQncyBwcm9iYWJseSBkYW5nZXJvdXMgdG8gbGVhdmUgdGhh
dCBtdXRhdGVkIGFzIGEgc2lkZQorICAgIC8vIGVmZmVjdCwgc28gb25seSB3aGVuIHdlIGtub3cg
d2UncmUgc3Ryb2tpbmcsIGRvIGEgc2F2ZS9yZXN0b3JlLgorICAgIGlmICh0ZXh0U3Ryb2tlV2lk
dGggPiAwKQorICAgICAgICBwYWludEluZm8uY29udGV4dC0+c2F2ZSgpOworCisgICAgaWYgKCFz
dmdDaGFyLnRyYW5zZm9ybS5pc0lkZW50aXR5KCkpCisgICAgICAgIHBhaW50SW5mby5jb250ZXh0
LT5jb25jYXRDVE0oc3ZnQ2hhci50cmFuc2Zvcm0pOworCisgICAgdXBkYXRlR3JhcGhpY3NDb250
ZXh0KHBhaW50SW5mby5jb250ZXh0LCB0ZXh0RmlsbENvbG9yLCB0ZXh0U3Ryb2tlQ29sb3IsIHRl
eHRTdHJva2VXaWR0aCk7CisgICAgCisgICAgLy8gU2V0IGEgdGV4dCBzaGFkb3cgaWYgd2UgaGF2
ZSBvbmUuCisgICAgLy8gRklYTUU6IFN1cHBvcnQgbXVsdGlwbGUgc2hhZG93IGVmZmVjdHMuICBO
ZWVkIG1vcmUgZnJvbSB0aGUgQ0cgQVBJIGJlZm9yZQorICAgIC8vIHdlIGNhbiBkbyB0aGlzLgor
ICAgIGJvb2wgc2V0U2hhZG93ID0gZmFsc2U7CisgICAgaWYgKHN0eWxlVG9Vc2UtPnRleHRTaGFk
b3coKSkgeworICAgICAgICBwYWludEluZm8uY29udGV4dC0+c2V0U2hhZG93KEludFNpemUoc3R5
bGVUb1VzZS0+dGV4dFNoYWRvdygpLT54LCBzdHlsZVRvVXNlLT50ZXh0U2hhZG93KCktPnkpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlVG9Vc2UtPnRleHRTaGFk
b3coKS0+Ymx1ciwgc3R5bGVUb1VzZS0+dGV4dFNoYWRvdygpLT5jb2xvcik7CisgICAgICAgIHNl
dFNoYWRvdyA9IHRydWU7CisgICAgfQorCisgICAgYm9vbCBwYWludFNlbGVjdGVkVGV4dE9ubHkg
PSAocGFpbnRJbmZvLnBoYXNlID09IFBhaW50UGhhc2VTZWxlY3Rpb24pOworICAgIGJvb2wgcGFp
bnRTZWxlY3RlZFRleHRTZXBhcmF0ZWx5ID0gZmFsc2U7IC8vIFdoZXRoZXIgb3Igbm90IHdlIGhh
dmUgdG8gZG8gbXVsdGlwbGUgcGFpbnRzLiAgT25seQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIG5lY2Vzc2FyeSB3aGVuIGEgY3VzdG9tIDo6c2VsZWN0
aW9uIGZvcmVncm91bmQgY29sb3IgaXMgYXBwbGllZC4KKyAgICBDb2xvciBzZWxlY3Rpb25GaWxs
Q29sb3IgPSB0ZXh0RmlsbENvbG9yOworICAgIENvbG9yIHNlbGVjdGlvblN0cm9rZUNvbG9yID0g
dGV4dFN0cm9rZUNvbG9yOworICAgIGZsb2F0IHNlbGVjdGlvblN0cm9rZVdpZHRoID0gdGV4dFN0
cm9rZVdpZHRoOworICAgIFNoYWRvd0RhdGEqIHNlbGVjdGlvblRleHRTaGFkb3cgPSAwOworCisg
ICAgaWYgKGhhdmVTZWxlY3Rpb24pIHsKKyAgICAgICAgLy8gQ2hlY2sgZm9yZWdyb3VuZCBjb2xv
ciBmaXJzdC4KKyAgICAgICAgQ29sb3IgZm9yZWdyb3VuZCA9IG9iamVjdCgpLT5zZWxlY3Rpb25G
b3JlZ3JvdW5kQ29sb3IoKTsKKyAgICAgICAgaWYgKGZvcmVncm91bmQuaXNWYWxpZCgpICYmIGZv
cmVncm91bmQgIT0gc2VsZWN0aW9uRmlsbENvbG9yKSB7CisgICAgICAgICAgICBpZiAoIXBhaW50
U2VsZWN0ZWRUZXh0T25seSkKKyAgICAgICAgICAgICAgICBwYWludFNlbGVjdGVkVGV4dFNlcGFy
YXRlbHkgPSB0cnVlOworICAgICAgICAgICAgc2VsZWN0aW9uRmlsbENvbG9yID0gZm9yZWdyb3Vu
ZDsKKyAgICAgICAgfQorICAgICAgICBSZW5kZXJTdHlsZSogcHNldWRvU3R5bGUgPSBvYmplY3Qo
KS0+Z2V0UHNldWRvU3R5bGUoUmVuZGVyU3R5bGU6OlNFTEVDVElPTik7CisgICAgICAgIGlmIChw
c2V1ZG9TdHlsZSkgeworICAgICAgICAgICAgaWYgKHBzZXVkb1N0eWxlLT50ZXh0U2hhZG93KCkp
IHsKKyAgICAgICAgICAgICAgICBpZiAoIXBhaW50U2VsZWN0ZWRUZXh0T25seSkKKyAgICAgICAg
ICAgICAgICAgICAgcGFpbnRTZWxlY3RlZFRleHRTZXBhcmF0ZWx5ID0gdHJ1ZTsKKyAgICAgICAg
ICAgICAgICBpZiAocHNldWRvU3R5bGUtPnRleHRTaGFkb3coKSkKKyAgICAgICAgICAgICAgICAg
ICAgc2VsZWN0aW9uVGV4dFNoYWRvdyA9IHBzZXVkb1N0eWxlLT50ZXh0U2hhZG93KCk7CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIGZsb2F0IHN0cm9rZVdpZHRoID0gcHNldWRvU3R5bGUt
PnRleHRTdHJva2VXaWR0aCgpOworICAgICAgICAgICAgaWYgKHN0cm9rZVdpZHRoICE9IHNlbGVj
dGlvblN0cm9rZVdpZHRoKSB7CisgICAgICAgICAgICAgICAgaWYgKCFwYWludFNlbGVjdGVkVGV4
dE9ubHkpCisgICAgICAgICAgICAgICAgICAgIHBhaW50U2VsZWN0ZWRUZXh0U2VwYXJhdGVseSA9
IHRydWU7CisgICAgICAgICAgICAgICAgc2VsZWN0aW9uU3Ryb2tlV2lkdGggPSBzdHJva2VXaWR0
aDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgQ29sb3Igc3Ryb2tlID0gcHNldWRvU3R5
bGUtPnRleHRTdHJva2VDb2xvcigpOworICAgICAgICAgICAgaWYgKCFzdHJva2UuaXNWYWxpZCgp
KQorICAgICAgICAgICAgICAgIHN0cm9rZSA9IHBzZXVkb1N0eWxlLT5jb2xvcigpOworICAgICAg
ICAgICAgaWYgKHN0cm9rZSAhPSBzZWxlY3Rpb25TdHJva2VDb2xvcikgeworICAgICAgICAgICAg
ICAgIGlmICghcGFpbnRTZWxlY3RlZFRleHRPbmx5KQorICAgICAgICAgICAgICAgICAgICBwYWlu
dFNlbGVjdGVkVGV4dFNlcGFyYXRlbHkgPSB0cnVlOworICAgICAgICAgICAgICAgIHNlbGVjdGlv
blN0cm9rZUNvbG9yID0gc3Ryb2tlOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQor
CisgICAgVGV4dFN0eWxlIHRleHRTdHlsZSgwLCBzdmdDaGFyLngsIHRleHRCb3gtPm1fdG9BZGQs
IHRleHRCb3gtPm1fcmV2ZXJzZWQsIHRleHRCb3gtPm1fZGlyT3ZlcnJpZGUgfHwgc3R5bGVUb1Vz
ZS0+dmlzdWFsbHlPcmRlcmVkKCkpOworCisgICAgQVNTRVJUKCFwYWludFNlbGVjdGVkVGV4dE9u
bHkgJiYgIXBhaW50U2VsZWN0ZWRUZXh0U2VwYXJhdGVseSk7CisgICAgcGFpbnRJbmZvLmNvbnRl
eHQtPmRyYXdUZXh0KFRleHRSdW4oY2hhcnMsIGxlbmd0aCksIEludFBvaW50KHN2Z0NoYXIueCwg
c3ZnQ2hhci55KSwgdGV4dFN0eWxlKTsKKworICAgIC8vIFBhaW50IGRlY29yYXRpb25zCisgICAg
aWYgKGQgIT0gVEROT05FICYmIHBhaW50SW5mby5waGFzZSAhPSBQYWludFBoYXNlU2VsZWN0aW9u
KSB7CisgICAgICAgIC8vIElubGluZVRleHRCb3g6OnBhaW50LCBjaGVja3MgZm9yIGh0bWxIYWNr
cygpIGJlaW5nIGVuYWJsZWQgLSBvYmV5IHRoYXQuCisgICAgICAgIC8vIElubGluZVRleHRCb3g6
OnBhaW50LCBkb2Vzbid0IHNhdmUvcmVzdG9yZSBjb250ZXh0IGhlcmUsIG5lZWRlZCBmb3IgdXMh
CisgICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5zYXZlKCk7CisgICAgICAgIHBhaW50SW5mby5j
b250ZXh0LT5zZXRTdHJva2VDb2xvcihzdHlsZVRvVXNlLT5jb2xvcigpKTsKKyAgICAgICAgdGV4
dEJveC0+cGFpbnREZWNvcmF0aW9uKHBhaW50SW5mby5jb250ZXh0LCB0eCwgdHksIGQpOworICAg
ICAgICBwYWludEluZm8uY29udGV4dC0+cmVzdG9yZSgpOworICAgIH0KKworICAgIGlmIChwYWlu
dEluZm8ucGhhc2UgIT0gUGFpbnRQaGFzZVNlbGVjdGlvbikgeworICAgICAgICB0ZXh0Qm94LT5w
YWludERvY3VtZW50TWFya2VycyhwYWludEluZm8uY29udGV4dCwgdHgsIHR5LCBzdHlsZVRvVXNl
LCBmb250LCBmYWxzZSk7CisKKyAgICAgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8
IG51bVVuZGVybGluZXM7ICsraW5kZXgpIHsKKyAgICAgICAgICAgIGNvbnN0IE1hcmtlZFRleHRV
bmRlcmxpbmUmIHVuZGVybGluZSA9ICgqdW5kZXJsaW5lcylbaW5kZXhdOworCisgICAgICAgICAg
ICBpZiAodW5kZXJsaW5lLmVuZE9mZnNldCA8PSB0ZXh0Qm94LT5zdGFydCgpKQorICAgICAgICAg
ICAgICAgIC8vIHVuZGVybGluZSBpcyBjb21wbGV0ZWx5IGJlZm9yZSB0aGlzIHJ1bi4gIFRoaXMg
bWlnaHQgYmUgYW4gdW5kZXJsaW5lIHRoYXQgc2l0cworICAgICAgICAgICAgICAgIC8vIGJlZm9y
ZSB0aGUgZmlyc3QgcnVuIHdlIGRyYXcsIG9yIHVuZGVybGluZXMgdGhhdCB3ZXJlIHdpdGhpbiBy
dW5zIHdlIHNraXBwZWQgCisgICAgICAgICAgICAgICAgLy8gZHVlIHRvIHRydW5jYXRpb24uCisg
ICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIGlmICh1bmRlcmxpbmUuc3Rh
cnRPZmZzZXQgPD0gdGV4dEJveC0+ZW5kKCkpIHsKKyAgICAgICAgICAgICAgICAvLyB1bmRlcmxp
bmUgaW50ZXJzZWN0cyB0aGlzIHJ1bi4gIFBhaW50IGl0LgorICAgICAgICAgICAgICAgIHRleHRC
b3gtPnBhaW50TWFya2VkVGV4dFVuZGVybGluZShwYWludEluZm8uY29udGV4dCwgdHgsIHR5LCB1
bmRlcmxpbmUpOworICAgICAgICAgICAgICAgIGlmICh1bmRlcmxpbmUuZW5kT2Zmc2V0ID4gdGV4
dEJveC0+ZW5kKCkgKyAxKQorICAgICAgICAgICAgICAgICAgICAvLyB1bmRlcmxpbmUgYWxzbyBy
dW5zIGludG8gdGhlIG5leHQgcnVuLiBCYWlsIG5vdywgbm8gbW9yZSBtYXJrZXIgYWR2YW5jZW1l
bnQuCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfSBlbHNlCisgICAg
ICAgICAgICAgICAgLy8gdW5kZXJsaW5lIGlzIGNvbXBsZXRlbHkgYWZ0ZXIgdGhpcyBydW4sIGJh
aWwuICBBIGxhdGVyIHJ1biB3aWxsIHBhaW50IGl0LgorICAgICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICB9CisgICAgfQorCisgICAgaWYgKHNldFNoYWRvdykKKyAgICAgICAgcGFpbnRJbmZv
LmNvbnRleHQtPmNsZWFyU2hhZG93KCk7CisKKyAgICBpZiAoIXN2Z0NoYXIudHJhbnNmb3JtLmlz
SWRlbnRpdHkoKSkKKyAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPmNvbmNhdENUTShzdmdDaGFy
LnRyYW5zZm9ybS5pbnZlcnNlKCkpOworCisgICAgaWYgKHRleHRTdHJva2VXaWR0aCA+IDApCisg
ICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5yZXN0b3JlKCk7Cit9CisjZW5kaWYKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9TVkdSb290SW5saW5l
Qm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUm9vdElubGluZUJveC5o
CShyZXZpc2lvbiAyMTYwMykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1NWR1Jvb3RJbmxpbmVCb3gu
aAkod29ya2luZyBjb3B5KQpAQCAtMyw2ICszLDcgQEAKICAqCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MDYgT2xpdmVyIEh1bnQgPG9qaDE2QHN0dWRlbnQuY2FudGVyYnVyeS5hYy5uej4KICAqICAgICAg
ICAgICAoQykgMjAwNiBBcHBsZSBDb21wdXRlciBJbmMuCisgKiAgICAgICAgICAgKEMpIDIwMDcg
Tmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgKgogICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKQEAgLTI1LDExICsyNiwxMyBAQAogI2RlZmluZSBTVkdSb290SW5saW5lQm94X2gKIAogI2lm
IEVOQUJMRShTVkcpCi0KICNpbmNsdWRlICJSb290SW5saW5lQm94LmgiCisjaW5jbHVkZSAiU1ZH
Q2hhcmFjdGVyTGF5b3V0SW5mby5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIElu
bGluZVRleHRCb3g7CisKIGNsYXNzIFNWR1Jvb3RJbmxpbmVCb3ggOiBwdWJsaWMgUm9vdElubGlu
ZUJveCB7CiBwdWJsaWM6CiAgICAgU1ZHUm9vdElubGluZUJveChSZW5kZXJPYmplY3QqIG9iaikK
QEAgLTM4LDggKzQxLDM3IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICB2aXJ0dWFsIHZvaWQgcGFp
bnQoUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBpbnQgdHgsIGludCB0eSk7CisKICAgICB2aXJ0
dWFsIGludCBwbGFjZUJveGVzSG9yaXpvbnRhbGx5KGludCB4LCBpbnQmIGxlZnRQb3NpdGlvbiwg
aW50JiByaWdodFBvc2l0aW9uLCBib29sJiBuZWVkc1dvcmRTcGFjaW5nKTsKICAgICB2aXJ0dWFs
IHZvaWQgdmVydGljYWxseUFsaWduQm94ZXMoaW50JiBoZWlnaHRPZkJsb2NrKTsKKworI2lmIEVO
QUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKQorICAgIHZpcnR1YWwgdm9pZCBjb21wdXRl
UGVyQ2hhcmFjdGVyTGF5b3V0SW5mb3JtYXRpb24oKTsKKworICAgIC8vIFVzZWQgYnkgU1ZHSW5s
aW5lVGV4dEJveAorICAgIGNvbnN0IFZlY3RvcjxTVkdUZXh0Q2h1bms+JiBzdmdUZXh0Q2h1bmtz
KCkgY29uc3Q7CisgICAgZmxvYXQgY3VtbXVsYXRlZFdpZHRoT2ZTZWxlY3Rpb25SYW5nZShJbmxp
bmVUZXh0Qm94KiwgaW50IHN0YXJ0UG9zLCBpbnQgZW5kUG9zLCBpbnQgbGVuZ3RoLCBpbnQgYm94
U3RhcnRPZmZzZXQgPSAwKTsKKworcHJpdmF0ZToKKyAgICB2b2lkIGxheW91dElubGluZUJveGVz
KCk7CisgICAgdm9pZCBsYXlvdXRJbmxpbmVCb3hlcyhJbmxpbmVGbG93Qm94KiBzdGFydCwgVmVj
dG9yPFNWR0NoYXI+OjppdGVyYXRvciYgaXQsIGludCYgbWluWCwgaW50JiBtYXhYLCBpbnQmIG1p
blksIGludCYgbWF4WSk7CisKKyAgICB2b2lkIGJ1aWxkTGF5b3V0SW5mb3JtYXRpb24oSW5saW5l
Rmxvd0JveCogc3RhcnQsIFNWR0NoYXJhY3RlckxheW91dEluZm8mKTsKKyAgICB2b2lkIGJ1aWxk
TGF5b3V0SW5mb3JtYXRpb25Gb3JUZXh0Qm94KFNWR0NoYXJhY3RlckxheW91dEluZm8mLCBJbmxp
bmVUZXh0Qm94Kik7CisKKyAgICB2b2lkIGJ1aWxkVGV4dENodW5rcygpOworICAgIHZvaWQgYnVp
bGRUZXh0Q2h1bmtzKElubGluZUZsb3dCb3gqIHN0YXJ0LCBTVkdUZXh0Q2h1bmtMYXlvdXRJbmZv
Jik7CisgICAgdm9pZCBsYXlvdXRUZXh0Q2h1bmtzKCk7CisKKyAgICB2b2lkIHBhaW50U2VsZWN0
aW9uRm9yVGV4dEJveChJbmxpbmVUZXh0Qm94KiwgaW50IGJveFN0YXJ0T2Zmc2V0LCBTVkdDaGFy
KiwgY29uc3QgVUNoYXIqLCBpbnQgbGVuZ3RoLCBHcmFwaGljc0NvbnRleHQqLCBpbnQgdHgsIGlu
dCB0eSwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250Kik7CisKKyAgICB2b2lkIHBhaW50SW5saW5l
Qm94ZXMoUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBpbnQgdHgsIGludCB0eSwgSW5saW5lRmxv
d0JveCogc3RhcnQsIFZlY3RvcjxTVkdDaGFyPjo6aXRlcmF0b3ImIGl0KTsKKyAgICB2b2lkIHBh
aW50Q2hhcmFjdGVyUmFuZ2VGb3JUZXh0Qm94KFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiBwYWlu
dEluZm8sIGludCB0eCwgaW50IHR5LCBJbmxpbmVUZXh0Qm94KiwgY29uc3QgU1ZHQ2hhciYsIGNv
bnN0IFVDaGFyKiBjaGFycywgaW50IGxlbmd0aCk7CisKK3ByaXZhdGU6CisgICAgVmVjdG9yPFNW
R0NoYXI+IG1fc3ZnQ2hhcnM7CisgICAgVmVjdG9yPFNWR1RleHRDaHVuaz4gbV9zdmdUZXh0Q2h1
bmtzOworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3Jl
L3JlbmRlcmluZy9iaWRpLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9iaWRp
LmNwcAkocmV2aXNpb24gMjE2MDMpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9iaWRpLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTc0MSwxMyArMTc0MSwxOCBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlv
dXRJbmxpbmVDaGlsZHJlbihiCiAgICAgICAgICAgICAgICAgICAgIGxpbmVCb3ggPSBjb25zdHJ1
Y3RMaW5lKHN0YXJ0LCBlbmQpOwogICAgICAgICAgICAgICAgICAgICBpZiAobGluZUJveCkgewog
ICAgICAgICAgICAgICAgICAgICAgICAgbGluZUJveC0+c2V0RW5kc1dpdGhCcmVhayhwcmV2aW91
c0xpbmVCcm9rZUNsZWFubHkpOwotICAgICAgICAgICAgICAgICAgICAgICAgCisKICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIE5vdyB3ZSBwb3NpdGlvbiBhbGwgb2Ygb3VyIHRleHQgcnVucyBo
b3Jpem9udGFsbHkuCiAgICAgICAgICAgICAgICAgICAgICAgICBjb21wdXRlSG9yaXpvbnRhbFBv
c2l0aW9uc0ZvckxpbmUobGluZUJveCwgYmlkaSk7Ci0gICAgICAgIAorCiAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyBOb3cgcG9zaXRpb24gb3VyIHRleHQgcnVucyB2ZXJ0aWNhbGx5LgogICAg
ICAgICAgICAgICAgICAgICAgICAgY29tcHV0ZVZlcnRpY2FsUG9zaXRpb25zRm9yTGluZShsaW5l
Qm94KTsKIAorI2lmIEVOQUJMRShTVkcpICYmIEVOQUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRV
UkVTKQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3BlY2lhbCBTVkcgdGV4dCBsYXlvdXQg
Y29kZQorICAgICAgICAgICAgICAgICAgICAgICAgbGluZUJveC0+Y29tcHV0ZVBlckNoYXJhY3Rl
ckxheW91dEluZm9ybWF0aW9uKCk7CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKE1BQykKICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIEhpZ2hsaWdodCBhY3RzIGFzIGFuIG92ZXJmbG93IGluZmxh
dGlvbi4KICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdHlsZSgpLT5oaWdobGlnaHQoKSAh
PSBudWxsQXRvbSkK
</data>
<flag name="review"
          id="6003"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>