<?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>5527</bug_id>
          
          <creation_ts>2005-10-28 00:54:56 -0700</creation_ts>
          <short_desc>Filters need subregion support</short_desc>
          <delta_ts>2007-10-28 16:36:56 -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>NeedsReduction</keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>5976</blocked>
    
    <blocked>6774</blocked>
    
    <blocked>6904</blocked>
    
    <blocked>12569</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          <cc>ian</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>23100</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-10-28 00:54:56 -0700</bug_when>
    <thetext>Filters need subregion support

All of the filter elements need to support subregions:
http://www.w3.org/TR/SVG/filters.html#FilterPrimitiveSubRegion

ours do not currently, however this should be really easy to do with a few strategic 
FE_QUARTZ_CROP_TO_RECT calls. :)

I&apos;ve added the NeedsReduction flag as this will need some test cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24222</commentid>
    <comment_count>1</comment_count>
    <who name="Erick Tryzelaar">erickt</who>
    <bug_when>2005-11-17 23:34:23 -0800</bug_when>
    <thetext>so it looks like this bug is also contributing to filters-tile-01-b.svg not working correctly. Two things 
need to be fixed as far as I can see:

1) We need to properly read in the subregion bounds. If nothing is specified for the filter subregion, it 
should default to {0%,0% 100%,100%} of the filter region according to the spec. Right now everything is 
defaulting to {0,0 0,0} if it&apos;s not specified. 

2) We need to properly clip the subregion. FE_QUARTZ_CROP_TO_RECT calls could work well enough, or 
we could pull out the subregion specification into the cross platform section to share more code, but 
I&apos;m not sure how to do that yet. 

Eric, do you know what would need to be changed in order to fix the first bullet? I haven&apos;t been able to 
figure out what would need to be done in order to fix it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24245</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-11-18 13:54:26 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; so it looks like this bug is also contributing to filters-tile-01-b.svg not working correctly. Two things 
&gt; need to be fixed as far as I can see:
&gt; 
&gt; 1) We need to properly read in the subregion bounds. If nothing is specified for the filter subregion, it 
&gt; should default to {0%,0% 100%,100%} of the filter region according to the spec. Right now everything 
is 
&gt; defaulting to {0,0 0,0} if it&apos;s not specified. 

Well, for now we&apos;d probably have to interpret 0,0,0,0 (or !myQRect.isValid()) as being &quot;the default&quot; and 
just make the code know about the 100% default...

Why we&apos;d have to do this, is because the KCanvas doesnt&apos; currently have any concept of &quot;relative 
lengths&quot; like the khtml render tree does.  Eventually this will change, and relative length computations 
will be made in the ksvg2 render tree instead of the dom.

Another solution would be to make the DOM know about this default (this would fit better with the 
current model) and pass absolute coordinates into KCanvas (as it expects).  You could model this off of 
other dom classes which handle relative lengths.  I believe there are existing methods on 
KCanvasRenderingStyle and KSVG::Helper to help you with this conversion.

&gt; 2) We need to properly clip the subregion. FE_QUARTZ_CROP_TO_RECT calls could work well enough, 
or 
&gt; we could pull out the subregion specification into the cross platform section to share more code, but 
&gt; I&apos;m not sure how to do that yet. 

Well,  I don&apos;t think clipping can be done in the cross platform section of the code... however, storing of 
the clipping data should be done there.  It should be added to the FEStandardAttributes class if it isn&apos;t 
there already.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24344</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-11-21 01:42:36 -0800</bug_when>
    <thetext>Moving to Erick who may already have a fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30068</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-01-26 03:45:21 -0800</bug_when>
    <thetext>http://bugzilla.opendarwin.org/show_bug.cgi?id=6774 has a good test case for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30158</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-01-26 14:46:15 -0800</bug_when>
    <thetext>Reassigning to &quot;webkit-unassigned&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30209</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-01-26 16:24:39 -0800</bug_when>
    <thetext>*** Bug 6774 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30210</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-01-26 16:25:07 -0800</bug_when>
    <thetext>A nice test case is attached to:
http://bugzilla.opendarwin.org/show_bug.cgi?id=6774</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773</commentid>
    <comment_count>8</comment_count>
      <attachid>16060</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-08-21 11:43:24 -0700</bug_when>
    <thetext>Created attachment 16060
Initial patch

This brings back SVG filters in a useable state. Fixes numerous other bugs, too. See ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774</commentid>
    <comment_count>9</comment_count>
      <attachid>16061</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-08-21 11:43:58 -0700</bug_when>
    <thetext>Created attachment 16061
LayoutTest results</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767</commentid>
    <comment_count>10</comment_count>
      <attachid>16060</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2007-08-21 14:01:05 -0700</bug_when>
    <thetext>Comment on attachment 16060
Initial patch

r=me, provided you deal with th e following issues:

Can we use RetainPtr for</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766</commentid>
    <comment_count>11</comment_count>
      <attachid>16060</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2007-08-21 14:05:53 -0700</bug_when>
    <thetext>Comment on attachment 16060
Initial patch

r=me, provided you deal with th e following issues:

Can we use RetainPtr for</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765</commentid>
    <comment_count>12</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2007-08-21 14:08:57 -0700</bug_when>
    <thetext>That should have said can we use RetainPtr for SVGResourceFilter::m_imagesByName

I&apos;m unhappy with DEBUG_OUTPUT_IMAGE/dumpOutputImage.  Our usual approach would be to have dumpOutputImage available in debug builds, and to then set a break pooint wherever, and call it from the debugger, rather than having yet another flag that effects runtime behaviour.

There are also a couple of places you change my copyright notices, while your at it you can update the email address to oliver &lt;at&gt; nerget &lt;dot&gt; com :D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764</commentid>
    <comment_count>13</comment_count>
      <attachid>16061</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2007-08-21 14:13:00 -0700</bug_when>
    <thetext>Comment on attachment 16061
LayoutTest results

rubber stamped</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763</commentid>
    <comment_count>14</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-08-21 14:16:38 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; That should have said can we use RetainPtr for
&gt; SVGResourceFilter::m_imagesByName
To be discussed on IRC.

&gt; 
&gt; I&apos;m unhappy with DEBUG_OUTPUT_IMAGE/dumpOutputImage.  Our usual approach would
&gt; be to have dumpOutputImage available in debug builds, and to then set a break
&gt; pooint wherever, and call it from the debugger, rather than having yet another
&gt; flag that effects runtime behaviour.
And passing a filename where to store the output? I&apos;m rather fine with this solution
as I&apos;m using it in quite a lot tricky places (ie. SVGRootInlineBox &amp; DEBUG_CHUNK_BUILDING).

It&apos;s just a per-file specific define, don&apos;t see a big problem with it.
 
&gt; There are also a couple of places you change my copyright notices, while your
&gt; at it you can update the email address to oliver &lt;at&gt; nerget &lt;dot&gt; com :D
Okay.

Greetings,
Niko</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760</commentid>
    <comment_count>15</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-08-21 14:34:08 -0700</bug_when>
    <thetext>Landed in r25175.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>59523</commentid>
    <comment_count>16</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2007-10-26 01:32:33 -0700</bug_when>
    <thetext>This seems broken on TOT. At least the test case for bug 6774.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>59722</commentid>
    <comment_count>17</comment_count>
      <attachid>16061</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-10-28 14:34:53 -0700</bug_when>
    <thetext>Comment on attachment 16061
LayoutTest results

Clearing flag, since this patch was already landed before the bug was reopened.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>59723</commentid>
    <comment_count>18</comment_count>
      <attachid>16060</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-10-28 14:35:02 -0700</bug_when>
    <thetext>Comment on attachment 16060
Initial patch

Clearing flag, since this patch was already landed before the bug was reopened.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>59737</commentid>
    <comment_count>19</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2007-10-28 16:36:56 -0700</bug_when>
    <thetext>My mistake.  This appears to work fine on TOT.  I must have been testing with Safari 3 by accident.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>16060</attachid>
            <date>2007-08-21 11:43:24 -0700</date>
            <delta_ts>2007-10-28 14:35:02 -0700</delta_ts>
            <desc>Initial patch</desc>
            <filename>FixSVGFilters.diff</filename>
            <type>text/plain</type>
            <size>173298</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL3F0L1NWR1Jlc291cmNlRmlsdGVy
UXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL3F0L1NW
R1Jlc291cmNlRmlsdGVyUXQuY3BwCShyZXZpc2lvbiAyNTE3MykKKysrIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvc3ZnL3F0L1NWR1Jlc291cmNlRmlsdGVyUXQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zNCw3ICszNCw3IEBACiB7CiB9CiAKLVNWR0ZpbHRlckVmZmVjdCogU1ZHUmVzb3VyY2VG
aWx0ZXI6OmNyZWF0ZUZpbHRlckVmZmVjdChjb25zdCBTVkdGaWx0ZXJFZmZlY3RUeXBlJikKK1NW
R0ZpbHRlckVmZmVjdCogU1ZHUmVzb3VyY2VGaWx0ZXI6OmNyZWF0ZUZpbHRlckVmZmVjdChjb25z
dCBTVkdGaWx0ZXJFZmZlY3RUeXBlJiwgU1ZHUmVzb3VyY2VGaWx0ZXIqKQogewogICAgIC8vIEZJ
WE1FOiBpbXBsZW1lbnQgbWUgOi0pCiAgICAgcmV0dXJuIDA7CkluZGV4OiBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3N2Zy9jZy9TVkdSZXNvdXJjZUZpbHRlckNnLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2NnL1NWR1Jlc291cmNlRmlsdGVyQ2cubW0J
KHJldmlzaW9uIDI1MTczKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvY2cvU1ZH
UmVzb3VyY2VGaWx0ZXJDZy5tbQkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAg
KiBDb3B5cmlnaHQgKEMpIDIwMDUgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiAgICAgICAgICAgKEMpIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJt
YW5uQGtkZS5vcmc+CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQ3LDYgKzQ4
LDkgQEAKIAogI2luY2x1ZGUgPFF1YXJ0ekNvcmUvQ29yZUltYWdlLmg+CiAKKy8vIFNldHRpbmcg
dG8gYSB2YWx1ZSA+IDAgYWxsb3dzIHRvIGR1bXAgdGhlIG91dHB1dCBpbWFnZSBhcyBKUEVHLgor
I2RlZmluZSBERUJVR19PVVRQVVRfSU1BR0UgMAorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0
YXRpYyBjb25zdCBjaGFyKiBjb25zdCBTVkdQcmV2aW91c0ZpbHRlck91dHB1dE5hbWUgPSAiX19w
cmV2aW91c091dHB1dF9fIjsKQEAgLTU2LDYgKzYwLDkgQEAKICAgICAsIG1fZmlsdGVyQ0dMYXll
cigwKQogewogICAgIG1faW1hZ2VzQnlOYW1lID0gSGFyZFJldGFpbldpdGhOU1JlbGVhc2UoW1tO
U011dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBpbml0XSk7CisKKyAgICBtX3hCQm94TW9kZSA9IGZh
bHNlOworICAgIG1feUJCb3hNb2RlID0gZmFsc2U7CiB9CiAKIFNWR1Jlc291cmNlRmlsdGVyOjp+
U1ZHUmVzb3VyY2VGaWx0ZXIoKQpAQCAtNjUsMzAgKzcyLDMwIEBACiAgICAgSGFyZFJlbGVhc2Uo
bV9pbWFnZXNCeU5hbWUpOwogfQogCi1TVkdGaWx0ZXJFZmZlY3QqIFNWR1Jlc291cmNlRmlsdGVy
OjpjcmVhdGVGaWx0ZXJFZmZlY3QoY29uc3QgU1ZHRmlsdGVyRWZmZWN0VHlwZSYgdHlwZSkKK1NW
R0ZpbHRlckVmZmVjdCogU1ZHUmVzb3VyY2VGaWx0ZXI6OmNyZWF0ZUZpbHRlckVmZmVjdChjb25z
dCBTVkdGaWx0ZXJFZmZlY3RUeXBlJiB0eXBlLCBTVkdSZXNvdXJjZUZpbHRlciogZmlsdGVyKQog
ewotICAgIHN3aXRjaCh0eXBlKQorICAgIHN3aXRjaCAodHlwZSkKICAgICB7CiAgICAgLyogTGln
aHQgc291cmNlcyBhcmUgY29udGFpbmVkIGJ5IHRoZSBkaWZmdXNlL3NwZWN1bGFyIGxpZ2h0IGJs
b2NrcyAKICAgICBjYXNlIEZFX0RJU1RBTlRfTElHSFQ6IAogICAgIGNhc2UgRkVfUE9JTlRfTElH
SFQ6IAogICAgIGNhc2UgRkVfU1BPVF9MSUdIVDogCiAgICAgKi8KLSAgICBjYXNlIEZFX0JMRU5E
OiByZXR1cm4gbmV3IFNWR0ZFQmxlbmQoKTsKLSAgICBjYXNlIEZFX0NPTE9SX01BVFJJWDogcmV0
dXJuIG5ldyBTVkdGRUNvbG9yTWF0cml4KCk7Ci0gICAgY2FzZSBGRV9DT01QT05FTlRfVFJBTlNG
RVI6IHJldHVybiBuZXcgU1ZHRkVDb21wb25lbnRUcmFuc2ZlcigpOwotICAgIGNhc2UgRkVfQ09N
UE9TSVRFOiByZXR1cm4gbmV3IFNWR0ZFQ29tcG9zaXRlKCk7CisgICAgY2FzZSBGRV9CTEVORDog
cmV0dXJuIG5ldyBTVkdGRUJsZW5kKGZpbHRlcik7CisgICAgY2FzZSBGRV9DT0xPUl9NQVRSSVg6
IHJldHVybiBuZXcgU1ZHRkVDb2xvck1hdHJpeChmaWx0ZXIpOworICAgIGNhc2UgRkVfQ09NUE9O
RU5UX1RSQU5TRkVSOiByZXR1cm4gbmV3IFNWR0ZFQ29tcG9uZW50VHJhbnNmZXIoZmlsdGVyKTsK
KyAgICBjYXNlIEZFX0NPTVBPU0lURTogcmV0dXJuIG5ldyBTVkdGRUNvbXBvc2l0ZShmaWx0ZXIp
OwogLy8gIGNhc2UgRkVfQ09OVk9MVkVfTUFUUklYOgotICAgIGNhc2UgRkVfRElGRlVTRV9MSUdI
VElORzogcmV0dXJuIG5ldyBTVkdGRURpZmZ1c2VMaWdodGluZygpOwotICAgIGNhc2UgRkVfRElT
UExBQ0VNRU5UX01BUDogcmV0dXJuIG5ldyBTVkdGRURpc3BsYWNlbWVudE1hcCgpOwotICAgIGNh
c2UgRkVfRkxPT0Q6IHJldHVybiBuZXcgU1ZHRkVGbG9vZCgpOwotICAgIGNhc2UgRkVfR0FVU1NJ
QU5fQkxVUjogcmV0dXJuIG5ldyBTVkdGRUdhdXNzaWFuQmx1cigpOwotICAgIGNhc2UgRkVfSU1B
R0U6IHJldHVybiBuZXcgU1ZHRkVJbWFnZSgpOwotICAgIGNhc2UgRkVfTUVSR0U6IHJldHVybiBu
ZXcgU1ZHRkVNZXJnZSgpOworICAgIGNhc2UgRkVfRElGRlVTRV9MSUdIVElORzogcmV0dXJuIG5l
dyBTVkdGRURpZmZ1c2VMaWdodGluZyhmaWx0ZXIpOworICAgIGNhc2UgRkVfRElTUExBQ0VNRU5U
X01BUDogcmV0dXJuIG5ldyBTVkdGRURpc3BsYWNlbWVudE1hcChmaWx0ZXIpOworICAgIGNhc2Ug
RkVfRkxPT0Q6IHJldHVybiBuZXcgU1ZHRkVGbG9vZChmaWx0ZXIpOworICAgIGNhc2UgRkVfR0FV
U1NJQU5fQkxVUjogcmV0dXJuIG5ldyBTVkdGRUdhdXNzaWFuQmx1cihmaWx0ZXIpOworICAgIGNh
c2UgRkVfSU1BR0U6IHJldHVybiBuZXcgU1ZHRkVJbWFnZShmaWx0ZXIpOworICAgIGNhc2UgRkVf
TUVSR0U6IHJldHVybiBuZXcgU1ZHRkVNZXJnZShmaWx0ZXIpOwogLy8gIGNhc2UgRkVfTU9SUEhP
TE9HWToKLSAgICBjYXNlIEZFX09GRlNFVDogcmV0dXJuIG5ldyBTVkdGRU9mZnNldCgpOwotICAg
IGNhc2UgRkVfU1BFQ1VMQVJfTElHSFRJTkc6IHJldHVybiBuZXcgU1ZHRkVTcGVjdWxhckxpZ2h0
aW5nKCk7Ci0gICAgY2FzZSBGRV9USUxFOiByZXR1cm4gbmV3IFNWR0ZFVGlsZSgpOworICAgIGNh
c2UgRkVfT0ZGU0VUOiByZXR1cm4gbmV3IFNWR0ZFT2Zmc2V0KGZpbHRlcik7CisgICAgY2FzZSBG
RV9TUEVDVUxBUl9MSUdIVElORzogcmV0dXJuIG5ldyBTVkdGRVNwZWN1bGFyTGlnaHRpbmcoZmls
dGVyKTsKKyAgICBjYXNlIEZFX1RJTEU6IHJldHVybiBuZXcgU1ZHRkVUaWxlKGZpbHRlcik7CiAv
LyAgY2FzZSBGRV9UVVJCVUxFTkNFOgogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiAwOwpA
QCAtMTEyLDE0ICsxMTksMzkgQEAKICAgICBtX2ZpbHRlckNJQ29udGV4dCA9IEhhcmRSZXRhaW4o
W0NJQ29udGV4dCBjb250ZXh0V2l0aENHQ29udGV4dDpjZ0NvbnRleHQgb3B0aW9uczpuaWxdKTsK
ICAgICBbZmlsdGVyQ29udGV4dFBvb2wgZHJhaW5dOwogCi0gICAgbV9maWx0ZXJDR0xheWVyID0g
W21fZmlsdGVyQ0lDb250ZXh0IGNyZWF0ZUNHTGF5ZXJXaXRoU2l6ZTpDR1JlY3QoYmJveCkuc2l6
ZSBpbmZvOk5VTExdOworICAgIEZsb2F0UmVjdCBmaWx0ZXJSZWN0ID0gZmlsdGVyQkJveEZvckl0
ZW1CQm94KGJib3gpOwogCisgICAgLy8gVE9ETzogRW5zdXJlIHRoZSBzaXplIGlzIG5vdCBncmVh
dGVyIHRoYW4gdGhlIG5lYXJlc3QgPHN2Zz4gc2l6ZSBhbmQvb3IgdGhlIHdpbmRvdyBzaXplLgor
ICAgIC8vIFRoaXMgaXMgYWxzbyBuZWVkZWQgZm9yIG1hc2tpbmcgJiBncmFkaWVudHMtb24tc3Ry
b2tlLW9mLXRleHQuIEZpbGUgYSBidWcgb24gdGhpcy4KKyAgICBmbG9hdCB3aWR0aCA9IGZpbHRl
clJlY3Qud2lkdGgoKTsKKyAgICBmbG9hdCBoZWlnaHQgPSBmaWx0ZXJSZWN0LmhlaWdodCgpOwor
CisgICAgbV9maWx0ZXJDR0xheWVyID0gW21fZmlsdGVyQ0lDb250ZXh0IGNyZWF0ZUNHTGF5ZXJX
aXRoU2l6ZTpDR1NpemVNYWtlKHdpZHRoLCBoZWlnaHQpIGluZm86TlVMTF07CisKICAgICBjb250
ZXh0ID0gbmV3IEdyYXBoaWNzQ29udGV4dChDR0xheWVyR2V0Q29udGV4dChtX2ZpbHRlckNHTGF5
ZXIpKTsKICAgICBjb250ZXh0LT5zYXZlKCk7CiAKLSAgICBjb250ZXh0LT50cmFuc2xhdGUoLWJi
b3gueCgpLCAtYmJveC55KCkpOworICAgIGNvbnRleHQtPnRyYW5zbGF0ZSgtZmlsdGVyUmVjdC54
KCksIC1maWx0ZXJSZWN0LnkoKSk7CiB9CiAKKyNpZiBERUJVR19PVVRQVVRfSU1BR0UgPiAwCit2
b2lkIGR1bXBPdXRwdXRJbWFnZShDSUltYWdlKiBvdXRwdXRJbWFnZSkKK3sKKyAgICBDR1NpemUg
ZXh0ZW50U2l6ZSA9IFtvdXRwdXRJbWFnZSBleHRlbnRdLnNpemU7CisgICAgTlNJbWFnZSogaW1h
Z2UgPSBbW1tOU0ltYWdlIGFsbG9jXSBpbml0V2l0aFNpemU6TlNNYWtlU2l6ZShleHRlbnRTaXpl
LndpZHRoLCBleHRlbnRTaXplLmhlaWdodCldIGF1dG9yZWxlYXNlXTsKKyAgICBbaW1hZ2UgYWRk
UmVwcmVzZW50YXRpb246W05TQ0lJbWFnZVJlcCBpbWFnZVJlcFdpdGhDSUltYWdlOm91dHB1dElt
YWdlXV07CisKKyAgICBOU0RhdGEqIGltYWdlRGF0YSA9IFtpbWFnZSBUSUZGUmVwcmVzZW50YXRp
b25dOworICAgIE5TQml0bWFwSW1hZ2VSZXAqIGltYWdlUmVwID0gW05TQml0bWFwSW1hZ2VSZXAg
aW1hZ2VSZXBXaXRoRGF0YTppbWFnZURhdGFdOworICAgIGltYWdlRGF0YSA9IFtpbWFnZVJlcCBy
ZXByZXNlbnRhdGlvblVzaW5nVHlwZTpOU0pQRUdGaWxlVHlwZSBwcm9wZXJ0aWVzOm5pbF07CisK
KyAgICBzdGF0aWMgdW5zaWduZWQgaW50IHNfY291bnRlciA9IDA7CisgICAgc19jb3VudGVyKys7
CisKKyAgICBbaW1hZ2VEYXRhIHdyaXRlVG9GaWxlOltOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0
OkAiL1VzZXJzL25pa296L291dHB1dEltYWdlcy8lZC5qcGVnIiwgc19jb3VudGVyXSBhdG9taWNh
bGx5OllFU107Cit9CisjZW5kaWYKKwogdm9pZCBTVkdSZXNvdXJjZUZpbHRlcjo6YXBwbHlGaWx0
ZXIoR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiBiYm94KQogewog
ICAgIGlmIChiYm94LmlzRW1wdHkoKSB8fCBtX2VmZmVjdHMuaXNFbXB0eSgpKQpAQCAtMTI3LDIw
ICsxNTksMjAgQEAKIAogICAgIC8vIGFjdHVhbGx5IGFwcGx5IHRoZSBmaWx0ZXIgZWZmZWN0cwog
ICAgIENJSW1hZ2UqIGlucHV0SW1hZ2UgPSBbQ0lJbWFnZSBpbWFnZVdpdGhDR0xheWVyOm1fZmls
dGVyQ0dMYXllcl07Ci0gICAgTlNBcnJheSogZmlsdGVyU3RhY2sgPSBnZXRDSUZpbHRlclN0YWNr
KGlucHV0SW1hZ2UpOworICAgIE5TQXJyYXkqIGZpbHRlclN0YWNrID0gZ2V0Q0lGaWx0ZXJTdGFj
ayhpbnB1dEltYWdlLCBiYm94KTsKICAgICBpZiAoW2ZpbHRlclN0YWNrIGNvdW50XSkgewogICAg
ICAgICBDSUltYWdlKiBvdXRwdXRJbWFnZSA9IFtbZmlsdGVyU3RhY2sgbGFzdE9iamVjdF0gdmFs
dWVGb3JLZXk6QCJvdXRwdXRJbWFnZSJdOworCiAgICAgICAgIGlmIChvdXRwdXRJbWFnZSkgewot
ICAgICAgICAgICAgQ0dSZWN0IGZpbHRlclJlY3QgPSBDR1JlY3QoZmlsdGVyQkJveEZvckl0ZW1C
Qm94KGJib3gpKTsKLSAgICAgICAgICAgIENHUmVjdCBzb3VyY2VSZWN0ID0gQ0dSZWN0SW50ZXJz
ZWN0aW9uKGZpbHRlclJlY3QsIFtvdXRwdXRJbWFnZSBleHRlbnRdKTsKKyNpZiBERUJVR19PVVRQ
VVRfSU1BR0UgPiAwCisgICAgICAgICAgICBkdW1wT3V0cHV0SW1hZ2Uob3V0cHV0SW1hZ2UpOwor
I2VuZGlmCiAKLSAgICAgICAgICAgIENHUG9pbnQgYmJveE9yaWdpbiA9IENHUmVjdChiYm94KS5v
cmlnaW47Ci0gICAgICAgICAgICBDR1BvaW50IGRlc3RPcmlnaW4gPSBzb3VyY2VSZWN0Lm9yaWdp
bjsKKyAgICAgICAgICAgIEZsb2F0UmVjdCBmaWx0ZXJSZWN0ID0gZmlsdGVyQkJveEZvckl0ZW1C
Qm94KGJib3gpOworICAgICAgICAgICAgRmxvYXRQb2ludCBkZXN0T3JpZ2luID0gZmlsdGVyUmVj
dC5sb2NhdGlvbigpOworICAgICAgICAgICAgZmlsdGVyUmVjdC5zZXRMb2NhdGlvbihGbG9hdFBv
aW50KDAuMCwgMC4wKSk7CiAKLSAgICAgICAgICAgIGRlc3RPcmlnaW4ueCArPSBiYm94T3JpZ2lu
Lng7Ci0gICAgICAgICAgICBkZXN0T3JpZ2luLnkgKz0gYmJveE9yaWdpbi55OwotCi0gICAgICAg
ICAgICBbbV9maWx0ZXJDSUNvbnRleHQgZHJhd0ltYWdlOm91dHB1dEltYWdlIGF0UG9pbnQ6ZGVz
dE9yaWdpbiBmcm9tUmVjdDpzb3VyY2VSZWN0XTsKKyAgICAgICAgICAgIFttX2ZpbHRlckNJQ29u
dGV4dCBkcmF3SW1hZ2U6b3V0cHV0SW1hZ2UgYXRQb2ludDpDR1BvaW50KGRlc3RPcmlnaW4pIGZy
b21SZWN0OmZpbHRlclJlY3RdOwogICAgICAgICB9CiAgICAgfQogCkBAIC0xNTQsMTQgKzE4Niwx
NCBAQAogICAgIGNvbnRleHQgPSAwOwogfQogCi1OU0FycmF5KiBTVkdSZXNvdXJjZUZpbHRlcjo6
Z2V0Q0lGaWx0ZXJTdGFjayhDSUltYWdlKiBpbnB1dEltYWdlKQorTlNBcnJheSogU1ZHUmVzb3Vy
Y2VGaWx0ZXI6OmdldENJRmlsdGVyU3RhY2soQ0lJbWFnZSogaW5wdXRJbWFnZSwgY29uc3QgRmxv
YXRSZWN0JiBiYm94KQogewogICAgIE5TTXV0YWJsZUFycmF5KiBmaWx0ZXJFZmZlY3RzID0gW05T
TXV0YWJsZUFycmF5IGFycmF5XTsKIAogICAgIHNldEltYWdlRm9yTmFtZShpbnB1dEltYWdlLCAi
U291cmNlR3JhcGhpYyIpOyAvLyBpbnB1dAogCiAgICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7
IGkgPCBtX2VmZmVjdHMuc2l6ZSgpOyBpKyspIHsKLSAgICAgICAgQ0lGaWx0ZXIqIGZpbHRlciA9
IG1fZWZmZWN0c1tpXS0+Z2V0Q0lGaWx0ZXIodGhpcyk7CisgICAgICAgIENJRmlsdGVyKiBmaWx0
ZXIgPSBtX2VmZmVjdHNbaV0tPmdldENJRmlsdGVyKGJib3gpOwogICAgICAgICBpZiAoZmlsdGVy
KQogICAgICAgICAgICAgW2ZpbHRlckVmZmVjdHMgYWRkT2JqZWN0OmZpbHRlcl07CiAgICAgfQpA
QCAtMTcxLDI2ICsyMDMsMjcgQEAKICAgICByZXR1cm4gZmlsdGVyRWZmZWN0czsKIH0KIAotQ0lJ
bWFnZSAqU1ZHUmVzb3VyY2VGaWx0ZXI6OmltYWdlRm9yTmFtZShjb25zdCBTdHJpbmcmIG5hbWUp
IGNvbnN0CitDSUltYWdlKiBTVkdSZXNvdXJjZUZpbHRlcjo6aW1hZ2VGb3JOYW1lKGNvbnN0IFN0
cmluZyYgbmFtZSkgY29uc3QKIHsKICAgICByZXR1cm4gW21faW1hZ2VzQnlOYW1lIG9iamVjdEZv
cktleTpuYW1lXTsKIH0KIAotdm9pZCBTVkdSZXNvdXJjZUZpbHRlcjo6c2V0SW1hZ2VGb3JOYW1l
KENJSW1hZ2UgKmltYWdlLCBjb25zdCBTdHJpbmcgJm5hbWUpCit2b2lkIFNWR1Jlc291cmNlRmls
dGVyOjpzZXRJbWFnZUZvck5hbWUoQ0lJbWFnZSogaW1hZ2UsIGNvbnN0IFN0cmluZyYgbmFtZSkK
IHsKICAgICBbbV9pbWFnZXNCeU5hbWUgc2V0VmFsdWU6aW1hZ2UgZm9yS2V5Om5hbWVdOwogfQog
Ci12b2lkIFNWR1Jlc291cmNlRmlsdGVyOjpzZXRPdXRwdXRJbWFnZShjb25zdCBTVkdGaWx0ZXJF
ZmZlY3QgKmZpbHRlckVmZmVjdCwgQ0lJbWFnZSAqb3V0cHV0KQordm9pZCBTVkdSZXNvdXJjZUZp
bHRlcjo6c2V0T3V0cHV0SW1hZ2UoY29uc3QgU1ZHRmlsdGVyRWZmZWN0KiBmaWx0ZXJFZmZlY3Qs
IENJSW1hZ2UqIG91dHB1dCkKIHsKICAgICBpZiAoIWZpbHRlckVmZmVjdC0+cmVzdWx0KCkuaXNF
bXB0eSgpKQogICAgICAgICBzZXRJbWFnZUZvck5hbWUob3V0cHV0LCBmaWx0ZXJFZmZlY3QtPnJl
c3VsdCgpKTsKKwogICAgIHNldEltYWdlRm9yTmFtZShvdXRwdXQsIFNWR1ByZXZpb3VzRmlsdGVy
T3V0cHV0TmFtZSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgQ0lJbWFnZSAqYWxwaGFJbWFnZUZvcklt
YWdlKENJSW1hZ2UgKmltYWdlKQorc3RhdGljIGlubGluZSBDSUltYWdlKiBhbHBoYUltYWdlRm9y
SW1hZ2UoQ0lJbWFnZSogaW1hZ2UpCiB7Ci0gICAgQ0lGaWx0ZXIgKm9ubHlBbHBoYSA9IFtDSUZp
bHRlciBmaWx0ZXJXaXRoTmFtZTpAIkNJQ29sb3JNYXRyaXgiXTsKKyAgICBDSUZpbHRlciogb25s
eUFscGhhID0gW0NJRmlsdGVyIGZpbHRlcldpdGhOYW1lOkAiQ0lDb2xvck1hdHJpeCJdOwogICAg
IENHRmxvYXQgemVyb1s0XSA9IHswLCAwLCAwLCAwfTsKICAgICBbb25seUFscGhhIHNldERlZmF1
bHRzXTsKICAgICBbb25seUFscGhhIHNldFZhbHVlOmltYWdlIGZvcktleTpAImlucHV0SW1hZ2Ui
XTsKQEAgLTIwMCwyMiArMjMzLDI4IEBACiAgICAgcmV0dXJuIFtvbmx5QWxwaGEgdmFsdWVGb3JL
ZXk6QCJvdXRwdXRJbWFnZSJdOwogfQogCi1DSUltYWdlICpTVkdSZXNvdXJjZUZpbHRlcjo6aW5w
dXRJbWFnZShjb25zdCBTVkdGaWx0ZXJFZmZlY3QgKmZpbHRlckVmZmVjdCkKK0NJSW1hZ2UqIFNW
R1Jlc291cmNlRmlsdGVyOjppbnB1dEltYWdlKGNvbnN0IFNWR0ZpbHRlckVmZmVjdCogZmlsdGVy
RWZmZWN0KQogewogICAgIGlmIChmaWx0ZXJFZmZlY3QtPmluKCkuaXNFbXB0eSgpKSB7Ci0gICAg
ICAgIENJSW1hZ2UgKmluSW1hZ2UgPSBpbWFnZUZvck5hbWUoU1ZHUHJldmlvdXNGaWx0ZXJPdXRw
dXROYW1lKTsKKyAgICAgICAgQ0lJbWFnZSogaW5JbWFnZSA9IGltYWdlRm9yTmFtZShTVkdQcmV2
aW91c0ZpbHRlck91dHB1dE5hbWUpOworCiAgICAgICAgIGlmICghaW5JbWFnZSkKICAgICAgICAg
ICAgIGluSW1hZ2UgPSBpbWFnZUZvck5hbWUoIlNvdXJjZUdyYXBoaWMiKTsKKwogICAgICAgICBy
ZXR1cm4gaW5JbWFnZTsKICAgICB9IGVsc2UgaWYgKGZpbHRlckVmZmVjdC0+aW4oKSA9PSAiU291
cmNlQWxwaGEiKSB7Ci0gICAgICAgIENJSW1hZ2UgKnNvdXJjZUFscGhhID0gaW1hZ2VGb3JOYW1l
KGZpbHRlckVmZmVjdC0+aW4oKSk7CisgICAgICAgIENJSW1hZ2UqIHNvdXJjZUFscGhhID0gaW1h
Z2VGb3JOYW1lKGZpbHRlckVmZmVjdC0+aW4oKSk7CisKICAgICAgICAgaWYgKCFzb3VyY2VBbHBo
YSkgewotICAgICAgICAgICAgQ0lJbWFnZSAqc291cmNlR3JhcGhpYyA9IGltYWdlRm9yTmFtZSgi
U291cmNlR3JhcGhpYyIpOworICAgICAgICAgICAgQ0lJbWFnZSogc291cmNlR3JhcGhpYyA9IGlt
YWdlRm9yTmFtZSgiU291cmNlR3JhcGhpYyIpOworCiAgICAgICAgICAgICBpZiAoIXNvdXJjZUdy
YXBoaWMpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG5pbDsKKwogICAgICAgICAgICAgc291cmNl
QWxwaGEgPSBhbHBoYUltYWdlRm9ySW1hZ2Uoc291cmNlR3JhcGhpYyk7CiAgICAgICAgICAgICBz
ZXRJbWFnZUZvck5hbWUoc291cmNlQWxwaGEsICJTb3VyY2VBbHBoYSIpOwogICAgICAgICB9CisK
ICAgICAgICAgcmV0dXJuIHNvdXJjZUFscGhhOwogICAgIH0KIApJbmRleDogV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9zdmcvU1ZHUmVzb3VyY2VGaWx0ZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL1NWR1Jlc291cmNlRmlsdGVyLmNwcAkocmV2aXNp
b24gMjUxNzMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9TVkdSZXNvdXJjZUZp
bHRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICAgIENvcHlyaWdo
dCAoQykgMjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHdpbGRmb3hAa2RlLm9y
Zz4KKyAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcgTmlrb2xhcyBaaW1t
ZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAgICAyMDA0LCAyMDA1
IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAgICAyMDA1IEVyaWMgU2Vp
ZGVsIDxlcmljLnNlaWRlbEBrZGVtYWlsLm5ldD4KIApAQCAtNDEsMjAgKzQxLDM3IEBACiB7CiAg
ICAgQVNTRVJUKGVmZmVjdCk7CiAKLSAgICBpZiAoZWZmZWN0KQorICAgIGlmIChlZmZlY3QpIHsK
KyAgICAgICAgQVNTRVJUKGVmZmVjdC0+ZmlsdGVyKCkgPT0gdGhpcyk7CiAgICAgICAgIG1fZWZm
ZWN0cy5hcHBlbmQoZWZmZWN0KTsKKyAgICB9CiB9CiAKLUZsb2F0UmVjdCBTVkdSZXNvdXJjZUZp
bHRlcjo6ZmlsdGVyQkJveEZvckl0ZW1CQm94KEZsb2F0UmVjdCBpdGVtQkJveCkgY29uc3QKK0Zs
b2F0UmVjdCBTVkdSZXNvdXJjZUZpbHRlcjo6ZmlsdGVyQkJveEZvckl0ZW1CQm94KGNvbnN0IEZs
b2F0UmVjdCYgaXRlbUJCb3gpIGNvbnN0CiB7CiAgICAgRmxvYXRSZWN0IGZpbHRlckJCb3ggPSBm
aWx0ZXJSZWN0KCk7CiAKLSAgICBpZiAoZmlsdGVyQm91bmRpbmdCb3hNb2RlKCkpCi0gICAgICAg
IGZpbHRlckJCb3ggPSBGbG9hdFJlY3QoZmlsdGVyQkJveC54KCkgKiBpdGVtQkJveC53aWR0aCgp
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlckJCb3gueSgpICogaXRlbUJC
b3guaGVpZ2h0KCksCisgICAgZmxvYXQgeE9mZnNldCA9IDAuMDsKKyAgICBmbG9hdCB5T2Zmc2V0
ID0gMC4wOworCisgICAgaWYgKCFlZmZlY3RCb3VuZGluZ0JveE1vZGUoKSkgeworICAgICAgICB4
T2Zmc2V0ID0gaXRlbUJCb3gueCgpOworICAgICAgICB5T2Zmc2V0ID0gaXRlbUJCb3gueSgpOwor
ICAgIH0KKworICAgIGlmIChmaWx0ZXJCb3VuZGluZ0JveE1vZGUoKSkgeworICAgICAgICBmaWx0
ZXJCQm94ID0gRmxvYXRSZWN0KHhPZmZzZXQgKyBmaWx0ZXJCQm94LngoKSAqIGl0ZW1CQm94Lndp
ZHRoKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeU9mZnNldCArIGZpbHRlckJC
b3gueSgpICogaXRlbUJCb3guaGVpZ2h0KCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZmlsdGVyQkJveC53aWR0aCgpICogaXRlbUJCb3gud2lkdGgoKSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBmaWx0ZXJCQm94LmhlaWdodCgpICogaXRlbUJCb3guaGVpZ2h0KCkp
OworICAgIH0gZWxzZSB7CisgICAgICAgIGlmICh4Qm91bmRpbmdCb3hNb2RlKCkpCisgICAgICAg
ICAgICBmaWx0ZXJCQm94LnNldFgoeE9mZnNldCArIGZpbHRlckJCb3gueCgpKTsKIAorICAgICAg
ICBpZiAoeUJvdW5kaW5nQm94TW9kZSgpKQorICAgICAgICAgICAgZmlsdGVyQkJveC5zZXRZKHlP
ZmZzZXQgKyBmaWx0ZXJCQm94LnkoKSk7CisgICAgfQorCiAgICAgcmV0dXJuIGZpbHRlckJCb3g7
CiB9CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL1NWR1Jlc291cmNlRmls
dGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvU1ZHUmVz
b3VyY2VGaWx0ZXIuaAkocmV2aXNpb24gMjUxNzMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3N2Zy9TVkdSZXNvdXJjZUZpbHRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYgTmlrb2xhcyBaaW1tZXJt
YW5uIDx3aWxkZm94QGtkZS5vcmc+CisgICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2
LCAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgogICAgICAgICAg
ICAgICAgICAgMjAwNCwgMjAwNSBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgogICAgICAgICAgICAg
ICAgICAgMjAwNSBFcmljIFNlaWRlbCA8ZXJpYy5zZWlkZWxAa2RlbWFpbC5uZXQ+CiAKQEAgLTU5
LDcgKzU5LDcgQEAKICAgICBTVkdSZXNvdXJjZUZpbHRlcigpOwogICAgIHZpcnR1YWwgflNWR1Jl
c291cmNlRmlsdGVyKCk7CiAKLSAgICBzdGF0aWMgU1ZHRmlsdGVyRWZmZWN0KiBjcmVhdGVGaWx0
ZXJFZmZlY3QoY29uc3QgU1ZHRmlsdGVyRWZmZWN0VHlwZSYpOworICAgIHN0YXRpYyBTVkdGaWx0
ZXJFZmZlY3QqIGNyZWF0ZUZpbHRlckVmZmVjdChjb25zdCBTVkdGaWx0ZXJFZmZlY3RUeXBlJiwg
U1ZHUmVzb3VyY2VGaWx0ZXIqKTsKIAogICAgIHZpcnR1YWwgYm9vbCBpc0ZpbHRlcigpIGNvbnN0
IHsgcmV0dXJuIHRydWU7IH0KIApAQCAtNjksMTAgKzY5LDE2IEBACiAgICAgYm9vbCBlZmZlY3RC
b3VuZGluZ0JveE1vZGUoKSBjb25zdCB7IHJldHVybiBtX2VmZmVjdEJCb3hNb2RlOyB9CiAgICAg
dm9pZCBzZXRFZmZlY3RCb3VuZGluZ0JveE1vZGUoYm9vbCBiYm94TW9kZSkgeyBtX2VmZmVjdEJC
b3hNb2RlID0gYmJveE1vZGU7IH0KIAorICAgIGJvb2wgeEJvdW5kaW5nQm94TW9kZSgpIGNvbnN0
IHsgcmV0dXJuIG1feEJCb3hNb2RlOyB9CisgICAgdm9pZCBzZXRYQm91bmRpbmdCb3hNb2RlKGJv
b2wgYmJveE1vZGUpIHsgbV94QkJveE1vZGUgPSBiYm94TW9kZTsgfQorCisgICAgYm9vbCB5Qm91
bmRpbmdCb3hNb2RlKCkgY29uc3QgeyByZXR1cm4gbV95QkJveE1vZGU7IH0KKyAgICB2b2lkIHNl
dFlCb3VuZGluZ0JveE1vZGUoYm9vbCBiYm94TW9kZSkgeyBtX3lCQm94TW9kZSA9IGJib3hNb2Rl
OyB9CisKICAgICBGbG9hdFJlY3QgZmlsdGVyUmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZmlsdGVy
UmVjdDsgfQogICAgIHZvaWQgc2V0RmlsdGVyUmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QpIHsg
bV9maWx0ZXJSZWN0ID0gcmVjdDsgfQogCi0gICAgRmxvYXRSZWN0IGZpbHRlckJCb3hGb3JJdGVt
QkJveChGbG9hdFJlY3QgaXRlbUJCb3gpIGNvbnN0OworICAgIEZsb2F0UmVjdCBmaWx0ZXJCQm94
Rm9ySXRlbUJCb3goY29uc3QgRmxvYXRSZWN0JiBpdGVtQkJveCkgY29uc3Q7CiAKICAgICB2b2lk
IGNsZWFyRWZmZWN0cygpOwogICAgIHZvaWQgYWRkRmlsdGVyRWZmZWN0KFNWR0ZpbHRlckVmZmVj
dCopOwpAQCAtOTMsNyArOTksNyBAQAogCiBwcml2YXRlOgogI2lmIFBMQVRGT1JNKENJKQotICAg
IE5TQXJyYXkqIGdldENJRmlsdGVyU3RhY2soQ0lJbWFnZSogaW5wdXRJbWFnZSk7CisgICAgTlNB
cnJheSogZ2V0Q0lGaWx0ZXJTdGFjayhDSUltYWdlKiBpbnB1dEltYWdlLCBjb25zdCBGbG9hdFJl
Y3QmIGJib3gpOwogCiAgICAgQ0lDb250ZXh0KiBtX2ZpbHRlckNJQ29udGV4dDsKICAgICBDR0xh
eWVyUmVmIG1fZmlsdGVyQ0dMYXllcjsKQEAgLTEwMyw4ICsxMDksMTEgQEAKICAgICBGbG9hdFJl
Y3QgbV9maWx0ZXJSZWN0OwogICAgIFZlY3RvcjxTVkdGaWx0ZXJFZmZlY3QqPiBtX2VmZmVjdHM7
CiAKLSAgICBib29sIG1fZmlsdGVyQkJveE1vZGU7Ci0gICAgYm9vbCBtX2VmZmVjdEJCb3hNb2Rl
OworICAgIGJvb2wgbV9maWx0ZXJCQm94TW9kZSA6IDE7CisgICAgYm9vbCBtX2VmZmVjdEJCb3hN
b2RlIDogMTsKKworICAgIGJvb2wgbV94QkJveE1vZGUgOiAxOworICAgIGJvb2wgbV95QkJveE1v
ZGUgOiAxOwogfTsKIAogU1ZHUmVzb3VyY2VGaWx0ZXIqIGdldEZpbHRlckJ5SWQoRG9jdW1lbnQq
LCBjb25zdCBBdG9taWNTdHJpbmcmKTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
c3ZnL2ZpbHRlcnMvU1ZHRkVDb2xvck1hdHJpeC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9TVkdGRUNvbG9yTWF0cml4LmNwcAkocmV2aXNp
b24gMjUxNzMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL1NWR0ZF
Q29sb3JNYXRyaXguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAgICBD
b3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx3aWxkZm94
QGtkZS5vcmc+CisgICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3IE5pa29s
YXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAw
NCwgMjAwNSBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwNSBF
cmljIFNlaWRlbCA8ZXJpYy5zZWlkZWxAa2RlbWFpbC5uZXQ+CiAKQEAgLTI4LDYgKzI4LDEyIEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorU1ZHRkVDb2xvck1hdHJpeDo6U1ZHRkVDb2xvck1h
dHJpeChTVkdSZXNvdXJjZUZpbHRlciogZmlsdGVyKQorICAgIDogU1ZHRmlsdGVyRWZmZWN0KGZp
bHRlcikKKwksIG1fdHlwZShTVkdfRkVDT0xPUk1BVFJJWF9UWVBFX1VOS05PV04pCit7Cit9CisK
IFNWR0NvbG9yTWF0cml4VHlwZSBTVkdGRUNvbG9yTWF0cml4Ojp0eXBlKCkgY29uc3QKIHsKICAg
ICByZXR1cm4gbV90eXBlOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmls
dGVycy9TVkdGRVNwZWN1bGFyTGlnaHRpbmcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVTcGVjdWxhckxpZ2h0aW5nLmNwcAkocmV2
aXNpb24gMjUxNzMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL1NW
R0ZFU3BlY3VsYXJMaWdodGluZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAv
KgotICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4g
PHdpbGRmb3hAa2RlLm9yZz4KKyAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIw
MDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgICAgICAgICAgICAg
ICAgICAyMDA0LCAyMDA1IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAg
ICAyMDA1IEVyaWMgU2VpZGVsIDxlcmljLnNlaWRlbEBrZGVtYWlsLm5ldD4KIApAQCAtMjksOCAr
MjksMTUgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TVkdGRVNwZWN1bGFyTGlnaHRpbmc6
OlNWR0ZFU3BlY3VsYXJMaWdodGluZygpCi0gICAgOiBtX2xpZ2h0U291cmNlKDApCitTVkdGRVNw
ZWN1bGFyTGlnaHRpbmc6OlNWR0ZFU3BlY3VsYXJMaWdodGluZyhTVkdSZXNvdXJjZUZpbHRlciog
ZmlsdGVyKQorICAgIDogU1ZHRmlsdGVyRWZmZWN0KGZpbHRlcikKKyAgICAsIG1fbGlnaHRpbmdD
b2xvcigpCisgICAgLCBtX3N1cmZhY2VTY2FsZSgwLjApCisgICAgLCBtX3NwZWN1bGFyQ29uc3Rh
bnQoMC4wKQorICAgICwgbV9zcGVjdWxhckV4cG9uZW50KDAuMCkKKyAgICAsIG1fa2VybmVsVW5p
dExlbmd0aFgoMC4wKQorICAgICwgbV9rZXJuZWxVbml0TGVuZ3RoWSgwLjApCisgICAgLCBtX2xp
Z2h0U291cmNlKDApCiB7CiB9CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3Zn
L2ZpbHRlcnMvU1ZHRkVNb3JwaG9sb2d5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9zdmcvZmlsdGVycy9TVkdGRU1vcnBob2xvZ3kuaAkocmV2aXNpb24gMjUxNzMp
CisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL1NWR0ZFTW9ycGhvbG9n
eS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAgICBDb3B5cmlnaHQgKEMp
IDIwMDQsIDIwMDUsIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx3aWxkZm94QGtkZS5vcmc+Cisg
ICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3IE5pa29sYXMgWmltbWVybWFu
biA8emltbWVybWFubkBrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwNCwgMjAwNSBSb2Ig
QnVpcyA8YnVpc0BrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwNSBFcmljIFNlaWRlbCA8
ZXJpYy5zZWlkZWxAa2RlbWFpbC5uZXQ+CiAKQEAgLTM3LDYgKzM3LDggQEAKIAogY2xhc3MgU1ZH
RkVNb3JwaG9sb2d5IDogcHVibGljIFNWR0ZpbHRlckVmZmVjdCB7CiBwdWJsaWM6CisgICAgU1ZH
RkVNb3JwaG9sb2d5KFNWR1Jlc291cmNlRmlsdGVyKik7CisKICAgICBTVkdNb3JwaG9sb2d5T3Bl
cmF0b3JUeXBlIG1vcnBob2xvZ3lPcGVyYXRvcigpIGNvbnN0OwogICAgIHZvaWQgc2V0TW9ycGhv
bG9neU9wZXJhdG9yKFNWR01vcnBob2xvZ3lPcGVyYXRvclR5cGUpOwogCkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL1NWR0ZFR2F1c3NpYW5CbHVyLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9TVkdGRUdhdXNz
aWFuQmx1ci5oCShyZXZpc2lvbiAyNTE3MykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
c3ZnL2ZpbHRlcnMvU1ZHRkVHYXVzc2lhbkJsdXIuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2IE5pa29sYXMgWmlt
bWVybWFubiA8d2lsZGZveEBrZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwg
MjAwNiwgMjAwNyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAgICAg
ICAgICAgICAgICAgIDIwMDQsIDIwMDUgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KICAgICAgICAg
ICAgICAgICAgIDIwMDUgRXJpYyBTZWlkZWwgPGVyaWMuc2VpZGVsQGtkZW1haWwubmV0PgogCkBA
IC0zMSw2ICszMSw4IEBACiAKIGNsYXNzIFNWR0ZFR2F1c3NpYW5CbHVyIDogcHVibGljIFNWR0Zp
bHRlckVmZmVjdCB7CiBwdWJsaWM6CisgICAgU1ZHRkVHYXVzc2lhbkJsdXIoU1ZHUmVzb3VyY2VG
aWx0ZXIqKTsKKwogICAgIGZsb2F0IHN0ZERldmlhdGlvblgoKSBjb25zdDsKICAgICB2b2lkIHNl
dFN0ZERldmlhdGlvblgoZmxvYXQpOwogCkBAIC00MCw3ICs0Miw3IEBACiAgICAgdmlydHVhbCBU
ZXh0U3RyZWFtJiBleHRlcm5hbFJlcHJlc2VudGF0aW9uKFRleHRTdHJlYW0mKSBjb25zdDsKIAog
I2lmIFBMQVRGT1JNKENJKQotICAgIHZpcnR1YWwgQ0lGaWx0ZXIqIGdldENJRmlsdGVyKFNWR1Jl
c291cmNlRmlsdGVyKikgY29uc3Q7CisgICAgdmlydHVhbCBDSUZpbHRlciogZ2V0Q0lGaWx0ZXIo
Y29uc3QgRmxvYXRSZWN0JiBiYm94KSBjb25zdDsKICNlbmRpZgogCiBwcml2YXRlOgpJbmRleDog
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9TVkdGRUNvbXBvbmVudFRyYW5z
ZmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0
ZXJzL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXIuY3BwCShyZXZpc2lvbiAyNTE3MykKKysrIFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVDb21wb25lbnRUcmFuc2Zlci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICAgIENvcHlyaWdodCAoQykg
MjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHdpbGRmb3hAa2RlLm9yZz4KKyAg
ICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5u
IDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAgICAyMDA0LCAyMDA1IFJvYiBC
dWlzIDxidWlzQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAgICAyMDA1IEVyaWMgU2VpZGVsIDxl
cmljLnNlaWRlbEBrZGVtYWlsLm5ldD4KIApAQCAtMjksNiArMjksMTEgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCitTVkdGRUNvbXBvbmVudFRyYW5zZmVyOjpTVkdGRUNvbXBvbmVudFRyYW5z
ZmVyKFNWR1Jlc291cmNlRmlsdGVyKiBmaWx0ZXIpCisgICAgOiBTVkdGaWx0ZXJFZmZlY3QoZmls
dGVyKQoreworfQorCiBTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uIFNWR0ZFQ29tcG9uZW50
VHJhbnNmZXI6OnJlZEZ1bmN0aW9uKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9yZWRGdW5jOwpJ
bmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9TVkdGRUZsb29kLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9TVkdG
RUZsb29kLmgJKHJldmlzaW9uIDI1MTczKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9z
dmcvZmlsdGVycy9TVkdGRUZsb29kLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAv
KgotICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4g
PHdpbGRmb3hAa2RlLm9yZz4KKyAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIw
MDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgICAgICAgICAgICAg
ICAgICAyMDA0LCAyMDA1IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAg
ICAyMDA1IEVyaWMgU2VpZGVsIDxlcmljLnNlaWRlbEBrZGVtYWlsLm5ldD4KIApAQCAtMzIsNiAr
MzIsOCBAQAogCiBjbGFzcyBTVkdGRUZsb29kIDogcHVibGljIFNWR0ZpbHRlckVmZmVjdCB7CiBw
dWJsaWM6CisgICAgU1ZHRkVGbG9vZChTVkdSZXNvdXJjZUZpbHRlciopOworCiAgICAgQ29sb3Ig
Zmxvb2RDb2xvcigpIGNvbnN0OwogICAgIHZvaWQgc2V0Rmxvb2RDb2xvcihjb25zdCBDb2xvciAm
KTsKIApAQCAtNDEsNyArNDMsNyBAQAogICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxS
ZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJikgY29uc3Q7CiAKICNpZiBQTEFURk9STShDSSkKLSAg
ICB2aXJ0dWFsIENJRmlsdGVyKiBnZXRDSUZpbHRlcihTVkdSZXNvdXJjZUZpbHRlciopIGNvbnN0
OworICAgIHZpcnR1YWwgQ0lGaWx0ZXIqIGdldENJRmlsdGVyKGNvbnN0IEZsb2F0UmVjdCYgYmJv
eCkgY29uc3Q7CiAjZW5kaWYKIAogcHJpdmF0ZToKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRGlzdGFudExpZ2h0U291cmNlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9TVkdEaXN0YW50TGlnaHRTb3Vy
Y2UuaAkocmV2aXNpb24gMjUxNzMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9m
aWx0ZXJzL1NWR0Rpc3RhbnRMaWdodFNvdXJjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYgTmlrb2xhcyBaaW1t
ZXJtYW5uIDx3aWxkZm94QGtkZS5vcmc+CisgICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAy
MDA2LCAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgogICAgICAg
ICAgICAgICAgICAgMjAwNCwgMjAwNSBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgogICAgICAgICAg
ICAgICAgICAgMjAwNSBFcmljIFNlaWRlbCA8ZXJpYy5zZWlkZWxAa2RlbWFpbC5uZXQ+CiAKSW5k
ZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVEaXNwbGFjZW1l
bnRNYXAuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0
ZXJzL1NWR0ZFRGlzcGxhY2VtZW50TWFwLmgJKHJldmlzaW9uIDI1MTczKQorKysgV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9TVkdGRURpc3BsYWNlbWVudE1hcC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIw
MDUsIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx3aWxkZm94QGtkZS5vcmc+CisgICAgQ29weXJp
Z2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emltbWVy
bWFubkBrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwNCwgMjAwNSBSb2IgQnVpcyA8YnVp
c0BrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwNSBFcmljIFNlaWRlbCA8ZXJpYy5zZWlk
ZWxAa2RlbWFpbC5uZXQ+CiAKQEAgLTM5LDcgKzM5LDcgQEAKIAogY2xhc3MgU1ZHRkVEaXNwbGFj
ZW1lbnRNYXAgOiBwdWJsaWMgU1ZHRmlsdGVyRWZmZWN0IHsKIHB1YmxpYzoKLSAgICBTVkdGRURp
c3BsYWNlbWVudE1hcCgpOworICAgIFNWR0ZFRGlzcGxhY2VtZW50TWFwKFNWR1Jlc291cmNlRmls
dGVyKik7CiAKICAgICBTdHJpbmcgaW4yKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRJbjIoY29uc3Qg
U3RyaW5nJik7CkBAIC01NiwxNCArNTYsMTQgQEAKICAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4
dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYpIGNvbnN0OwogCiAjaWYgUExBVEZPUk0o
Q0kpCi0gICAgdmlydHVhbCBDSUZpbHRlciogZ2V0Q0lGaWx0ZXIoU1ZHUmVzb3VyY2VGaWx0ZXIq
KSBjb25zdDsKKyAgICB2aXJ0dWFsIENJRmlsdGVyKiBnZXRDSUZpbHRlcihjb25zdCBGbG9hdFJl
Y3QmIGJib3gpIGNvbnN0OwogI2VuZGlmCiAKIHByaXZhdGU6Ci0gICAgU3RyaW5nIG1faW4yOwog
ICAgIFNWR0NoYW5uZWxTZWxlY3RvclR5cGUgbV94Q2hhbm5lbFNlbGVjdG9yOwogICAgIFNWR0No
YW5uZWxTZWxlY3RvclR5cGUgbV95Q2hhbm5lbFNlbGVjdG9yOwogICAgIGZsb2F0IG1fc2NhbGU7
CisgICAgU3RyaW5nIG1faW4yOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDog
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9TVkdGRVR1cmJ1bGVuY2UuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL1NWR0ZF
VHVyYnVsZW5jZS5oCShyZXZpc2lvbiAyNTE3MykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVUdXJidWxlbmNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSAr
MSw1IEBACiAvKgotICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFzIFpp
bW1lcm1hbm4gPHdpbGRmb3hAa2RlLm9yZz4KKyAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUs
IDIwMDYsIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgICAg
ICAgICAgICAgICAgICAyMDA0LCAyMDA1IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CiAgICAgICAg
ICAgICAgICAgICAyMDA1IEVyaWMgU2VpZGVsIDxlcmljLnNlaWRlbEBrZGVtYWlsLm5ldD4KIApA
QCAtMzcsNiArMzcsOCBAQAogCiBjbGFzcyBTVkdGRVR1cmJ1bGVuY2UgOiBwdWJsaWMgU1ZHRmls
dGVyRWZmZWN0IHsKIHB1YmxpYzoKKyAgICBTVkdGRVR1cmJ1bGVuY2UoU1ZHUmVzb3VyY2VGaWx0
ZXIqKTsKKwogICAgIFNWR1R1cmJ1bGFuY2VUeXBlIHR5cGUoKSBjb25zdDsKICAgICB2b2lkIHNl
dFR5cGUoU1ZHVHVyYnVsYW5jZVR5cGUpOwogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3N2Zy9maWx0ZXJzL1NWR0xpZ2h0U291cmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL1NWR0xpZ2h0U291cmNlLmNwcAkocmV2aXNp
b24gMjUxNzMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL1NWR0xp
Z2h0U291cmNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29w
eXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8d2lsZGZveEBr
ZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNyBOaWtvbGFz
IFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDQs
IDIwMDUgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDUgRXJp
YyBTZWlkZWwgPGVyaWMuc2VpZGVsQGtkZW1haWwubmV0PgogCkluZGV4OiBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9TVkdGRURpZmZ1c2VM
aWdodGluZy5oCShyZXZpc2lvbiAyNTE3MykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
c3ZnL2ZpbHRlcnMvU1ZHRkVEaWZmdXNlTGlnaHRpbmcuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2IE5pa29sYXMg
WmltbWVybWFubiA8d2lsZGZveEBrZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAw
NSwgMjAwNiwgMjAwNyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAg
ICAgICAgICAgICAgICAgIDIwMDQsIDIwMDUgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KICAgICAg
ICAgICAgICAgICAgIDIwMDUgRXJpYyBTZWlkZWwgPGVyaWMuc2VpZGVsQGtkZW1haWwubmV0Pgog
CkBAIC0zNCw3ICszNCw3IEBACiAKIGNsYXNzIFNWR0ZFRGlmZnVzZUxpZ2h0aW5nIDogcHVibGlj
IFNWR0ZpbHRlckVmZmVjdCB7CiBwdWJsaWM6Ci0gICAgU1ZHRkVEaWZmdXNlTGlnaHRpbmcoKTsK
KyAgICBTVkdGRURpZmZ1c2VMaWdodGluZyhTVkdSZXNvdXJjZUZpbHRlciopOwogICAgIHZpcnR1
YWwgflNWR0ZFRGlmZnVzZUxpZ2h0aW5nKCk7CiAKICAgICBDb2xvciBsaWdodGluZ0NvbG9yKCkg
Y29uc3Q7CkBAIC01OCw3ICs1OCw3IEBACiAgICAgdmlydHVhbCBUZXh0U3RyZWFtJiBleHRlcm5h
bFJlcHJlc2VudGF0aW9uKFRleHRTdHJlYW0mKSBjb25zdDsKIAogI2lmIFBMQVRGT1JNKENJKQot
ICAgIHZpcnR1YWwgQ0lGaWx0ZXIqIGdldENJRmlsdGVyKFNWR1Jlc291cmNlRmlsdGVyKikgY29u
c3Q7CisgICAgdmlydHVhbCBDSUZpbHRlciogZ2V0Q0lGaWx0ZXIoY29uc3QgRmxvYXRSZWN0JiBi
Ym94KSBjb25zdDsKICNlbmRpZgogCiBwcml2YXRlOgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9zdmcvZmlsdGVycy9TVkdGRUNvbnZvbHZlTWF0cml4LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9TVkdGRUNvbnZvbHZlTWF0cml4
LmgJKHJldmlzaW9uIDI1MTczKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmls
dGVycy9TVkdGRUNvbnZvbHZlTWF0cml4LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBA
CiAvKgotICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFzIFppbW1lcm1h
bm4gPHdpbGRmb3hAa2RlLm9yZz4KKyAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYs
IDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgICAgICAgICAg
ICAgICAgICAyMDA0LCAyMDA1IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CiAgICAgICAgICAgICAg
ICAgICAyMDA1IEVyaWMgU2VpZGVsIDxlcmljLnNlaWRlbEBrZGVtYWlsLm5ldD4KIApAQCAtMzgs
NiArMzgsOCBAQAogCiBjbGFzcyBTVkdGRUNvbnZvbHZlTWF0cml4IDogcHVibGljIFNWR0ZpbHRl
ckVmZmVjdCB7CiBwdWJsaWM6CisgICAgU1ZHRkVDb252b2x2ZU1hdHJpeChTVkdSZXNvdXJjZUZp
bHRlciopOworCiAgICAgRmxvYXRTaXplIGtlcm5lbFNpemUoKSBjb25zdDsKICAgICB2b2lkIHNl
dEtlcm5lbFNpemUoRmxvYXRTaXplKTsKIApAQCAtNjYsMTMgKzY4LDEzIEBACiAKIHByaXZhdGU6
CiAgICAgRmxvYXRTaXplIG1fa2VybmVsU2l6ZTsKLSAgICBWZWN0b3I8ZmxvYXQ+IG1fa2VybmVs
TWF0cml4OyAvLyBtYXliZSBzaG91bGQgYmUgYSByZWFsIG1hdHJpeD8KICAgICBmbG9hdCBtX2Rp
dmlzb3I7CiAgICAgZmxvYXQgbV9iaWFzOwogICAgIEZsb2F0U2l6ZSBtX3RhcmdldE9mZnNldDsK
ICAgICBTVkdFZGdlTW9kZVR5cGUgbV9lZGdlTW9kZTsKICAgICBGbG9hdFBvaW50IG1fa2VybmVs
VW5pdExlbmd0aDsKICAgICBib29sIG1fcHJlc2VydmVBbHBoYTsKKyAgICBWZWN0b3I8ZmxvYXQ+
IG1fa2VybmVsTWF0cml4OyAvLyBtYXliZSBzaG91bGQgYmUgYSByZWFsIG1hdHJpeD8KIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
c3ZnL2ZpbHRlcnMvU1ZHRkVPZmZzZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVPZmZzZXQuY3BwCShyZXZpc2lvbiAyNTE3MykK
KysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVPZmZzZXQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIw
MDQsIDIwMDUsIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx3aWxkZm94QGtkZS5vcmc+CisgICAg
Q29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8
emltbWVybWFubkBrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwNCwgMjAwNSBSb2IgQnVp
cyA8YnVpc0BrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwNSBFcmljIFNlaWRlbCA8ZXJp
Yy5zZWlkZWxAa2RlbWFpbC5uZXQ+CiAKQEAgLTI5LDYgKzI5LDEzIEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAorU1ZHRkVPZmZzZXQ6OlNWR0ZFT2Zmc2V0KFNWR1Jlc291cmNlRmlsdGVyKiBm
aWx0ZXIpCisgICAgOiBTVkdGaWx0ZXJFZmZlY3QoZmlsdGVyKQorICAgICwgbV9keCgwLjApCisg
ICAgLCBtX2R5KDAuMCkKK3sKK30KKwogZmxvYXQgU1ZHRkVPZmZzZXQ6OmR4KCkgY29uc3QKIHsK
ICAgICByZXR1cm4gbV9keDsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2Zp
bHRlcnMvU1ZHRkVJbWFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVJbWFnZS5oCShyZXZpc2lvbiAyNTE3MykKKysrIFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVJbWFnZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYg
Tmlrb2xhcyBaaW1tZXJtYW5uIDx3aWxkZm94QGtkZS5vcmc+CisgICAgQ29weXJpZ2h0IChDKSAy
MDA0LCAyMDA1LCAyMDA2LCAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUu
b3JnPgogICAgICAgICAgICAgICAgICAgMjAwNCwgMjAwNSBSb2IgQnVpcyA8YnVpc0BrZGUub3Jn
PgogICAgICAgICAgICAgICAgICAgMjAwNSBFcmljIFNlaWRlbCA8ZXJpYy5zZWlkZWxAa2RlbWFp
bC5uZXQ+CiAKQEAgLTMyLDEyICszMiwxMiBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBTVkdGRUltYWdlIDogcHVibGljIFNWR0ZpbHRlckVmZmVjdAotICAgICAgICAgICAgICAgICAg
ICAgICAgICwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgICAgICAgICAg
LCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgewogcHVibGljOgotICAgIFNWR0ZFSW1hZ2Uo
KTsKKyAgICBTVkdGRUltYWdlKFNWR1Jlc291cmNlRmlsdGVyKik7CiAgICAgdmlydHVhbCB+U1ZH
RkVJbWFnZSgpOwogCi0gICAgLy8gRklYTUU6IEV2ZW50dWFsbHkgd2UgbmVlZCB0byBzdXBwb3J0
IDxzdmc+IChSZW5kZXJPYmplY3QqKSBhcyB3ZWxsIGFzIGltYWdlIGRhdGEuCisgICAgLy8gRklY
TUU6IFdlIG5lZWQgdG8gc3VwcG9ydCA8c3ZnPiAoUmVuZGVyT2JqZWN0KikgYXMgd2VsbCBhcyBp
bWFnZSBkYXRhLgogCiAgICAgQ2FjaGVkSW1hZ2UqIGNhY2hlZEltYWdlKCkgY29uc3Q7CiAgICAg
dm9pZCBzZXRDYWNoZWRJbWFnZShDYWNoZWRJbWFnZSopOwpAQCAtNDUsNyArNDUsNyBAQAogICAg
IHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJikg
Y29uc3Q7CiAKICNpZiBQTEFURk9STShDSSkKLSAgICB2aXJ0dWFsIENJRmlsdGVyKiBnZXRDSUZp
bHRlcihTVkdSZXNvdXJjZUZpbHRlciopIGNvbnN0OworICAgIHZpcnR1YWwgQ0lGaWx0ZXIqIGdl
dENJRmlsdGVyKGNvbnN0IEZsb2F0UmVjdCYgYmJveCkgY29uc3Q7CiAjZW5kaWYKIAogcHJpdmF0
ZToKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHU3BvdExp
Z2h0U291cmNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcv
ZmlsdGVycy9TVkdTcG90TGlnaHRTb3VyY2UuaAkocmV2aXNpb24gMjUxNzMpCisrKyBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL1NWR1Nwb3RMaWdodFNvdXJjZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIw
MDUsIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx3aWxkZm94QGtkZS5vcmc+CisgICAgQ29weXJp
Z2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emltbWVy
bWFubkBrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwNCwgMjAwNSBSb2IgQnVpcyA8YnVp
c0BrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwNSBFcmljIFNlaWRlbCA8ZXJpYy5zZWlk
ZWxAa2RlbWFpbC5uZXQ+CiAKQEAgLTMyLDcgKzMyLDcgQEAKIAogY2xhc3MgU1ZHU3BvdExpZ2h0
U291cmNlIDogcHVibGljIFNWR0xpZ2h0U291cmNlIHsKIHB1YmxpYzoKLSAgICBTVkdTcG90TGln
aHRTb3VyY2UoRmxvYXRQb2ludDNEJiBwb3NpdGlvbiwgRmxvYXRQb2ludDNEJiBkaXJlY3Rpb24s
IGZsb2F0IHNwZWN1bGFyRXhwb25lbnQsIGZsb2F0IGxpbWl0aW5nQ29uZUFuZ2xlKQorICAgIFNW
R1Nwb3RMaWdodFNvdXJjZShjb25zdCBGbG9hdFBvaW50M0QmIHBvc2l0aW9uLCBjb25zdCBGbG9h
dFBvaW50M0QmIGRpcmVjdGlvbiwgZmxvYXQgc3BlY3VsYXJFeHBvbmVudCwgZmxvYXQgbGltaXRp
bmdDb25lQW5nbGUpCiAgICAgICAgIDogU1ZHTGlnaHRTb3VyY2UoTFNfU1BPVCkKICAgICAgICAg
LCBtX3Bvc2l0aW9uKHBvc2l0aW9uKQogICAgICAgICAsIG1fZGlyZWN0aW9uKGRpcmVjdGlvbikK
SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVCbGVuZC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZH
RkVCbGVuZC5oCShyZXZpc2lvbiAyNTE3MykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
c3ZnL2ZpbHRlcnMvU1ZHRkVCbGVuZC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5u
IDx3aWxkZm94QGtkZS5vcmc+CisgICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAy
MDA3IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgogICAgICAgICAgICAg
ICAgICAgMjAwNCwgMjAwNSBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgogICAgICAgICAgICAgICAg
ICAgMjAwNSBFcmljIFNlaWRlbCA8ZXJpYy5zZWlkZWxAa2RlbWFpbC5uZXQ+CiAKQEAgLTQwLDYg
KzQwLDggQEAKIAogY2xhc3MgU1ZHRkVCbGVuZCA6IHB1YmxpYyBTVkdGaWx0ZXJFZmZlY3Qgewog
cHVibGljOgorICAgIFNWR0ZFQmxlbmQoU1ZHUmVzb3VyY2VGaWx0ZXIqKTsKKwogICAgIFN0cmlu
ZyBpbjIoKSBjb25zdDsKICAgICB2b2lkIHNldEluMihjb25zdCBTdHJpbmcmKTsKIApAQCAtNDks
NyArNTEsNyBAQAogICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlv
bihUZXh0U3RyZWFtJikgY29uc3Q7CiAKICNpZiBQTEFURk9STShDSSkKLSAgICB2aXJ0dWFsIENJ
RmlsdGVyKiBnZXRDSUZpbHRlcihTVkdSZXNvdXJjZUZpbHRlciopIGNvbnN0OworICAgIHZpcnR1
YWwgQ0lGaWx0ZXIqIGdldENJRmlsdGVyKGNvbnN0IEZsb2F0UmVjdCYgYmJveCkgY29uc3Q7CiAj
ZW5kaWYKIAogcHJpdmF0ZToKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2Zp
bHRlcnMvU1ZHRmlsdGVyRWZmZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9zdmcvZmlsdGVycy9TVkdGaWx0ZXJFZmZlY3QuaAkocmV2aXNpb24gMjUxNzMpCisr
KyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL1NWR0ZpbHRlckVmZmVjdC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIw
MDQsIDIwMDUsIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx3aWxkZm94QGtkZS5vcmc+CisgICAg
Q29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8
emltbWVybWFubkBrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwNCwgMjAwNSBSb2IgQnVp
cyA8YnVpc0BrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwNSBFcmljIFNlaWRlbCA8ZXJp
Yy5zZWlkZWxAa2RlbWFpbC5uZXQ+CiAKQEAgLTY1LDEyICs2NSwyNSBAQAogCiBjbGFzcyBTVkdG
aWx0ZXJFZmZlY3QgewogcHVibGljOgotICAgIC8vIHRoaXMgZGVmYXVsdCBjb25zdHJ1Y3RvciBp
cyBvbmx5IG5lZWRlZCBmb3IgZ2NjIDMuMwotICAgIFNWR0ZpbHRlckVmZmVjdCgpIHsgfQorICAg
IFNWR0ZpbHRlckVmZmVjdChTVkdSZXNvdXJjZUZpbHRlciopOwogICAgIHZpcnR1YWwgflNWR0Zp
bHRlckVmZmVjdCgpIHsgfQogCiAgICAgdmlydHVhbCBTVkdGaWx0ZXJFZmZlY3RUeXBlIGVmZmVj
dFR5cGUoKSBjb25zdCB7IHJldHVybiBGRV9UVVJCVUxFTkNFOyB9CiAKKyAgICBib29sIHhCb3Vu
ZGluZ0JveE1vZGUoKSBjb25zdCB7IHJldHVybiBtX3hCQm94TW9kZTsgfQorICAgIHZvaWQgc2V0
WEJvdW5kaW5nQm94TW9kZShib29sIGJib3hNb2RlKSB7IG1feEJCb3hNb2RlID0gYmJveE1vZGU7
IH0KKworICAgIGJvb2wgeUJvdW5kaW5nQm94TW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1feUJCb3hN
b2RlOyB9CisgICAgdm9pZCBzZXRZQm91bmRpbmdCb3hNb2RlKGJvb2wgYmJveE1vZGUpIHsgbV95
QkJveE1vZGUgPSBiYm94TW9kZTsgfQorCisgICAgYm9vbCB3aWR0aEJvdW5kaW5nQm94TW9kZSgp
IGNvbnN0IHsgcmV0dXJuIG1fd2lkdGhCQm94TW9kZTsgfQorICAgIHZvaWQgc2V0V2lkdGhCb3Vu
ZGluZ0JveE1vZGUoYm9vbCBiYm94TW9kZSkgeyBtX3dpZHRoQkJveE1vZGUgPSBiYm94TW9kZTsg
fQorCisgICAgYm9vbCBoZWlnaHRCb3VuZGluZ0JveE1vZGUoKSBjb25zdCB7IHJldHVybiBtX2hl
aWdodEJCb3hNb2RlOyB9CisgICAgdm9pZCBzZXRIZWlnaHRCb3VuZGluZ0JveE1vZGUoYm9vbCBi
Ym94TW9kZSkgeyBtX2hlaWdodEJCb3hNb2RlID0gYmJveE1vZGU7IH0KKworICAgIEZsb2F0UmVj
dCBwcmltaXRpdmVCQm94Rm9yRmlsdGVyQkJveChjb25zdCBGbG9hdFJlY3QmIGZpbHRlckJCb3gs
IGNvbnN0IEZsb2F0UmVjdCYgaXRlbUJCb3gpIGNvbnN0OworCiAgICAgRmxvYXRSZWN0IHN1YlJl
Z2lvbigpIGNvbnN0OwogICAgIHZvaWQgc2V0U3ViUmVnaW9uKGNvbnN0IEZsb2F0UmVjdCYpOwog
CkBAIC04MCwxNyArOTMsMjYgQEAKICAgICBTdHJpbmcgcmVzdWx0KCkgY29uc3Q7CiAgICAgdm9p
ZCBzZXRSZXN1bHQoY29uc3QgU3RyaW5nJik7CiAKKyAgICBTVkdSZXNvdXJjZUZpbHRlciogZmls
dGVyKCkgY29uc3Q7CisgICAgdm9pZCBzZXRGaWx0ZXIoU1ZHUmVzb3VyY2VGaWx0ZXIqKTsKKwog
ICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFt
JikgY29uc3Q7CiAKICNpZiBQTEFURk9STShDSSkKLSAgICB2aXJ0dWFsIENJRmlsdGVyKiBnZXRD
SUZpbHRlcihTVkdSZXNvdXJjZUZpbHRlciopIGNvbnN0OworICAgIHZpcnR1YWwgQ0lGaWx0ZXIq
IGdldENJRmlsdGVyKGNvbnN0IEZsb2F0UmVjdCYgYmJveCkgY29uc3Q7CiAjZW5kaWYKIAogcHJp
dmF0ZToKKyAgICBTVkdSZXNvdXJjZUZpbHRlciogbV9maWx0ZXI7CiAgICAgRmxvYXRSZWN0IG1f
c3ViUmVnaW9uOwotCisgCiAgICAgU3RyaW5nIG1faW47CiAgICAgU3RyaW5nIG1fcmVzdWx0Owor
CisgICAgYm9vbCBtX3hCQm94TW9kZSA6IDE7CisgICAgYm9vbCBtX3lCQm94TW9kZSA6IDE7Cisg
ICAgYm9vbCBtX3dpZHRoQkJveE1vZGUgOiAxOworICAgIGJvb2wgbV9oZWlnaHRCQm94TW9kZSA6
IDE7CiB9OwogCiBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mLCBjb25zdCBTVkdG
aWx0ZXJFZmZlY3QmKTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRl
cnMvU1ZHUG9pbnRMaWdodFNvdXJjZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHUG9pbnRMaWdodFNvdXJjZS5oCShyZXZpc2lvbiAyNTE3
MykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHUG9pbnRMaWdo
dFNvdXJjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAgICBDb3B5cmln
aHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx3aWxkZm94QGtkZS5v
cmc+CisgICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3IE5pa29sYXMgWmlt
bWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwNCwgMjAw
NSBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwNSBFcmljIFNl
aWRlbCA8ZXJpYy5zZWlkZWxAa2RlbWFpbC5uZXQ+CiAKQEAgLTMyLDcgKzMyLDcgQEAKIAogY2xh
c3MgU1ZHUG9pbnRMaWdodFNvdXJjZSA6IHB1YmxpYyBTVkdMaWdodFNvdXJjZSB7CiBwdWJsaWM6
Ci0gICAgU1ZHUG9pbnRMaWdodFNvdXJjZShGbG9hdFBvaW50M0QmIHBvc2l0aW9uKQorICAgIFNW
R1BvaW50TGlnaHRTb3VyY2UoY29uc3QgRmxvYXRQb2ludDNEJiBwb3NpdGlvbikKICAgICAgICAg
OiBTVkdMaWdodFNvdXJjZShMU19QT0lOVCkKICAgICAgICAgLCBtX3Bvc2l0aW9uKHBvc2l0aW9u
KQogICAgIHsgfQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9T
VkdGRU1vcnBob2xvZ3kuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVNb3JwaG9sb2d5LmNwcAkocmV2aXNpb24gMjUxNzMpCisrKyBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL1NWR0ZFTW9ycGhvbG9neS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICAgIENvcHlyaWdodCAoQykgMjAw
NCwgMjAwNSwgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHdpbGRmb3hAa2RlLm9yZz4KKyAgICBD
b3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6
aW1tZXJtYW5uQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAgICAyMDA0LCAyMDA1IFJvYiBCdWlz
IDxidWlzQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAgICAyMDA1IEVyaWMgU2VpZGVsIDxlcmlj
LnNlaWRlbEBrZGVtYWlsLm5ldD4KIApAQCAtMjksNiArMjksMTQgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCitTVkdGRU1vcnBob2xvZ3k6OlNWR0ZFTW9ycGhvbG9neShTVkdSZXNvdXJjZUZp
bHRlciogZmlsdGVyKQorICAgIDogU1ZHRmlsdGVyRWZmZWN0KGZpbHRlcikKKyAgICAsIG1fb3Bl
cmF0b3IoU1ZHX01PUlBIT0xPR1lfT1BFUkFUT1JfVU5LTk9XTikKKyAgICAsIG1fcmFkaXVzWCgw
LjApCisgICAgLCBtX3JhZGl1c1koMC4wKQoreworfQorCiBTVkdNb3JwaG9sb2d5T3BlcmF0b3JU
eXBlIFNWR0ZFTW9ycGhvbG9neTo6bW9ycGhvbG9neU9wZXJhdG9yKCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gbV9vcGVyYXRvcjsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2Zp
bHRlcnMvU1ZHRkVHYXVzc2lhbkJsdXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVHYXVzc2lhbkJsdXIuY3BwCShyZXZpc2lvbiAy
NTE3MykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVHYXVz
c2lhbkJsdXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAgICBDb3B5
cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx3aWxkZm94QGtk
ZS5vcmc+CisgICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3IE5pa29sYXMg
WmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwNCwg
MjAwNSBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwNSBFcmlj
IFNlaWRlbCA8ZXJpYy5zZWlkZWxAa2RlbWFpbC5uZXQ+CiAKQEAgLTI5LDYgKzI5LDEzIEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorU1ZHRkVHYXVzc2lhbkJsdXI6OlNWR0ZFR2F1c3NpYW5C
bHVyKFNWR1Jlc291cmNlRmlsdGVyKiBmaWx0ZXIpCisgICAgOiBTVkdGaWx0ZXJFZmZlY3QoZmls
dGVyKQorICAgICwgbV94KDAuMCkKKyAgICAsIG1feSgwLjApCit7Cit9CisKIGZsb2F0IFNWR0ZF
R2F1c3NpYW5CbHVyOjpzdGREZXZpYXRpb25YKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV94OwpJ
bmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9TVkdGRVRpbGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL1NWR0ZF
VGlsZS5oCShyZXZpc2lvbiAyNTE3MykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3Zn
L2ZpbHRlcnMvU1ZHRkVUaWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgot
ICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHdp
bGRmb3hAa2RlLm9yZz4KKyAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcg
Tmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAg
ICAyMDA0LCAyMDA1IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAgICAy
MDA1IEVyaWMgU2VpZGVsIDxlcmljLnNlaWRlbEBrZGVtYWlsLm5ldD4KIApAQCAtMzIsOCArMzIs
MTAgQEAKIGNsYXNzIFNWR0ZFVGlsZSA6IHB1YmxpYyBTVkdGaWx0ZXJFZmZlY3QKIHsKIHB1Ymxp
YzoKKyAgICBTVkdGRVRpbGUoU1ZHUmVzb3VyY2VGaWx0ZXIqIGZpbHRlcikgOiBTVkdGaWx0ZXJF
ZmZlY3QoZmlsdGVyKSB7IH0KKwogI2lmIFBMQVRGT1JNKENJKQotICAgIHZpcnR1YWwgQ0lGaWx0
ZXIqIGdldENJRmlsdGVyKFNWR1Jlc291cmNlRmlsdGVyKikgY29uc3Q7CisgICAgdmlydHVhbCBD
SUZpbHRlciogZ2V0Q0lGaWx0ZXIoY29uc3QgRmxvYXRSZWN0JiBiYm94KSBjb25zdDsKICNlbmRp
ZgogfTsKIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9TVkdG
RUZsb29kLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9m
aWx0ZXJzL1NWR0ZFRmxvb2QuY3BwCShyZXZpc2lvbiAyNTE3MykKKysrIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVGbG9vZC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEsNSArMSw1IEBACiAvKgotICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBOaWtv
bGFzIFppbW1lcm1hbm4gPHdpbGRmb3hAa2RlLm9yZz4KKyAgICBDb3B5cmlnaHQgKEMpIDIwMDQs
IDIwMDUsIDIwMDYsIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+
CiAgICAgICAgICAgICAgICAgICAyMDA0LCAyMDA1IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CiAg
ICAgICAgICAgICAgICAgICAyMDA1IEVyaWMgU2VpZGVsIDxlcmljLnNlaWRlbEBrZGVtYWlsLm5l
dD4KIApAQCAtMjksNiArMjksMTMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitTVkdGRUZs
b29kOjpTVkdGRUZsb29kKFNWR1Jlc291cmNlRmlsdGVyKiBmaWx0ZXIpCisgICAgOiBTVkdGaWx0
ZXJFZmZlY3QoZmlsdGVyKQorICAgICwgbV9mbG9vZENvbG9yKCkKKyAgICAsIG1fZmxvb2RPcGFj
aXR5KDAuMCkKK3sKK30KKwogQ29sb3IgU1ZHRkVGbG9vZDo6Zmxvb2RDb2xvcigpIGNvbnN0CiB7
CiAgICAgcmV0dXJuIG1fZmxvb2RDb2xvcjsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVNZXJnZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVNZXJnZS5oCShyZXZpc2lvbiAyNTE3MykKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVNZXJnZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIw
MDUsIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx3aWxkZm94QGtkZS5vcmc+CisgICAgQ29weXJp
Z2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emltbWVy
bWFubkBrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwNCwgMjAwNSBSb2IgQnVpcyA8YnVp
c0BrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwNSBFcmljIFNlaWRlbCA8ZXJpYy5zZWlk
ZWxAa2RlbWFpbC5uZXQ+CiAKQEAgLTMxLDEzICszMSwxNSBAQAogCiBjbGFzcyBTVkdGRU1lcmdl
IDogcHVibGljIFNWR0ZpbHRlckVmZmVjdCB7CiBwdWJsaWM6CisgICAgU1ZHRkVNZXJnZShTVkdS
ZXNvdXJjZUZpbHRlciogZmlsdGVyKSA6IFNWR0ZpbHRlckVmZmVjdChmaWx0ZXIpIHsgfQorCiAg
ICAgY29uc3QgVmVjdG9yPFN0cmluZz4mIG1lcmdlSW5wdXRzKCkgY29uc3Q7CiAgICAgdm9pZCBz
ZXRNZXJnZUlucHV0cyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgbWVyZ2VJbnB1dHMpOwogCiAgICAg
dmlydHVhbCBUZXh0U3RyZWFtJiBleHRlcm5hbFJlcHJlc2VudGF0aW9uKFRleHRTdHJlYW0mKSBj
b25zdDsKIAogI2lmIFBMQVRGT1JNKENJKQotICAgIHZpcnR1YWwgQ0lGaWx0ZXIqIGdldENJRmls
dGVyKFNWR1Jlc291cmNlRmlsdGVyKikgY29uc3Q7CisgICAgdmlydHVhbCBDSUZpbHRlciogZ2V0
Q0lGaWx0ZXIoY29uc3QgRmxvYXRSZWN0JiBiYm94KSBjb25zdDsKICNlbmRpZgogCiBwcml2YXRl
OgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9TVkdGRURpc3Bs
YWNlbWVudE1hcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9z
dmcvZmlsdGVycy9TVkdGRURpc3BsYWNlbWVudE1hcC5jcHAJKHJldmlzaW9uIDI1MTczKQorKysg
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9TVkdGRURpc3BsYWNlbWVudE1h
cC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICAgIENvcHlyaWdodCAo
QykgMjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHdpbGRmb3hAa2RlLm9yZz4K
KyAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcgTmlrb2xhcyBaaW1tZXJt
YW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAgICAyMDA0LCAyMDA1IFJv
YiBCdWlzIDxidWlzQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAgICAyMDA1IEVyaWMgU2VpZGVs
IDxlcmljLnNlaWRlbEBrZGVtYWlsLm5ldD4KIApAQCAtMjksOSArMjksMTAgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1TVkdGRURpc3BsYWNlbWVudE1hcDo6U1ZHRkVEaXNwbGFjZW1lbnRN
YXAoKQotICAgIDogbV94Q2hhbm5lbFNlbGVjdG9yKFNWR19DSEFOTkVMX1IpCi0gICAgLCBtX3lD
aGFubmVsU2VsZWN0b3IoU1ZHX0NIQU5ORUxfUikKK1NWR0ZFRGlzcGxhY2VtZW50TWFwOjpTVkdG
RURpc3BsYWNlbWVudE1hcChTVkdSZXNvdXJjZUZpbHRlciogZmlsdGVyKQorICAgIDogU1ZHRmls
dGVyRWZmZWN0KGZpbHRlcikKKyAgICAsIG1feENoYW5uZWxTZWxlY3RvcihTVkdfQ0hBTk5FTF9V
TktOT1dOKQorICAgICwgbV95Q2hhbm5lbFNlbGVjdG9yKFNWR19DSEFOTkVMX1VOS05PV04pCiAg
ICAgLCBtX3NjYWxlKDApCiB7CiB9CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2
Zy9maWx0ZXJzL1NWR0ZFQ29tcG9zaXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9zdmcvZmlsdGVycy9TVkdGRUNvbXBvc2l0ZS5oCShyZXZpc2lvbiAyNTE3MykK
KysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVDb21wb3NpdGUu
aAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29weXJpZ2h0IChDKSAy
MDA0LCAyMDA1LCAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8d2lsZGZveEBrZGUub3JnPgorICAg
IENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNyBOaWtvbGFzIFppbW1lcm1hbm4g
PHppbW1lcm1hbm5Aa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDQsIDIwMDUgUm9iIEJ1
aXMgPGJ1aXNAa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDUgRXJpYyBTZWlkZWwgPGVy
aWMuc2VpZGVsQGtkZW1haWwubmV0PgogCkBAIC00MSw2ICs0MSw4IEBACiAKIGNsYXNzIFNWR0ZF
Q29tcG9zaXRlIDogcHVibGljIFNWR0ZpbHRlckVmZmVjdCB7CiBwdWJsaWM6CisgICAgU1ZHRkVD
b21wb3NpdGUoU1ZHUmVzb3VyY2VGaWx0ZXIqKTsKKwogICAgIFN0cmluZyBpbjIoKSBjb25zdDsK
ICAgICB2b2lkIHNldEluMihjb25zdCBTdHJpbmcmKTsKIApAQCAtNjIsMTYgKzY0LDE2IEBACiAg
ICAgdmlydHVhbCBUZXh0U3RyZWFtJiBleHRlcm5hbFJlcHJlc2VudGF0aW9uKFRleHRTdHJlYW0m
KSBjb25zdDsKIAogI2lmIFBMQVRGT1JNKENJKQotICAgIHZpcnR1YWwgQ0lGaWx0ZXIqIGdldENJ
RmlsdGVyKFNWR1Jlc291cmNlRmlsdGVyKikgY29uc3Q7CisgICAgdmlydHVhbCBDSUZpbHRlciog
Z2V0Q0lGaWx0ZXIoY29uc3QgRmxvYXRSZWN0JiBiYm94KSBjb25zdDsKICNlbmRpZgogCiBwcml2
YXRlOgotICAgIFN0cmluZyBtX2luMjsKICAgICBTVkdDb21wb3NpdGVPcGVyYXRpb25UeXBlIG1f
b3BlcmF0aW9uOwogICAgIGZsb2F0IG1fazE7CiAgICAgZmxvYXQgbV9rMjsKICAgICBmbG9hdCBt
X2szOwogICAgIGZsb2F0IG1fazQ7CisgICAgU3RyaW5nIG1faW4yOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVy
cy9TVkdGRVR1cmJ1bGVuY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVUdXJidWxlbmNlLmNwcAkocmV2aXNpb24gMjUxNzMpCisr
KyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL1NWR0ZFVHVyYnVsZW5jZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICAgIENvcHlyaWdodCAoQykg
MjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHdpbGRmb3hAa2RlLm9yZz4KKyAg
ICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5u
IDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAgICAyMDA0LCAyMDA1IFJvYiBC
dWlzIDxidWlzQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAgICAyMDA1IEVyaWMgU2VpZGVsIDxl
cmljLnNlaWRlbEBrZGVtYWlsLm5ldD4KIApAQCAtMjksNiArMjksMTcgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCitTVkdGRVR1cmJ1bGVuY2U6OlNWR0ZFVHVyYnVsZW5jZShTVkdSZXNvdXJj
ZUZpbHRlciogZmlsdGVyKQorICAgIDogU1ZHRmlsdGVyRWZmZWN0KGZpbHRlcikKKyAgICAsIG1f
YmFzZUZyZXF1ZW5jeVgoMC4wKQorICAgICwgbV9iYXNlRnJlcXVlbmN5WSgwLjApCisgICAgLCBt
X251bU9jdGF2ZXMoMCkKKyAgICAsIG1fc2VlZCgwKQorICAgICwgbV9zdGl0Y2hUaWxlcyhmYWxz
ZSkKKyAgICAsIG1fdHlwZShTVkdfVFVSQlVMRU5DRV9UWVBFX1VOS05PV04pCit7Cit9CisKIFNW
R1R1cmJ1bGFuY2VUeXBlIFNWR0ZFVHVyYnVsZW5jZTo6dHlwZSgpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIG1fdHlwZTsKQEAgLTEwMyw3ICsxMTQsNiBAQAogICAgIHJldHVybiB0czsKIH0KIAotCiBU
ZXh0U3RyZWFtJiBTVkdGRVR1cmJ1bGVuY2U6OmV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0
cmVhbSYgdHMpIGNvbnN0CiB7CiAgICAgdHMgPDwgIlt0eXBlPVRVUkJVTEVOQ0VdICI7CkluZGV4
OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL1NWR0ZFQ29sb3JNYXRyaXgu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL1NW
R0ZFQ29sb3JNYXRyaXguaAkocmV2aXNpb24gMjUxNzMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3N2Zy9maWx0ZXJzL1NWR0ZFQ29sb3JNYXRyaXguaAkod29ya2luZyBjb3B5KQpAQCAt
MSw1ICsxLDUgQEAKIC8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2IE5pa29s
YXMgWmltbWVybWFubiA8d2lsZGZveEBrZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAwNCwg
MjAwNSwgMjAwNiwgMjAwNyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4K
ICAgICAgICAgICAgICAgICAgIDIwMDQsIDIwMDUgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KICAg
ICAgICAgICAgICAgICAgIDIwMDUgRXJpYyBTZWlkZWwgPGVyaWMuc2VpZGVsQGtkZW1haWwubmV0
PgogCkBAIC00MCw2ICs0MCw4IEBACiAKIGNsYXNzIFNWR0ZFQ29sb3JNYXRyaXggOiBwdWJsaWMg
U1ZHRmlsdGVyRWZmZWN0IHsKIHB1YmxpYzoKKyAgICBTVkdGRUNvbG9yTWF0cml4KFNWR1Jlc291
cmNlRmlsdGVyKik7CisKICAgICBTVkdDb2xvck1hdHJpeFR5cGUgdHlwZSgpIGNvbnN0OwogICAg
IHZvaWQgc2V0VHlwZShTVkdDb2xvck1hdHJpeFR5cGUpOwogCkBAIC00OSw3ICs1MSw3IEBACiAg
ICAgdmlydHVhbCBUZXh0U3RyZWFtJiBleHRlcm5hbFJlcHJlc2VudGF0aW9uKFRleHRTdHJlYW0m
KSBjb25zdDsKIAogI2lmIFBMQVRGT1JNKENJKQotICAgIHZpcnR1YWwgQ0lGaWx0ZXIqIGdldENJ
RmlsdGVyKFNWR1Jlc291cmNlRmlsdGVyKikgY29uc3Q7CisgICAgdmlydHVhbCBDSUZpbHRlciog
Z2V0Q0lGaWx0ZXIoY29uc3QgRmxvYXRSZWN0JiBiYm94KSBjb25zdDsKICNlbmRpZgogCiBwcml2
YXRlOgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9TVkdGRVNw
ZWN1bGFyTGlnaHRpbmcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3N2Zy9maWx0ZXJzL1NWR0ZFU3BlY3VsYXJMaWdodGluZy5oCShyZXZpc2lvbiAyNTE3MykKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVTcGVjdWxhckxpZ2h0
aW5nLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICAgIENvcHlyaWdodCAo
QykgMjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHdpbGRmb3hAa2RlLm9yZz4K
KyAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcgTmlrb2xhcyBaaW1tZXJt
YW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAgICAyMDA0LCAyMDA1IFJv
YiBCdWlzIDxidWlzQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAgICAyMDA1IEVyaWMgU2VpZGVs
IDxlcmljLnNlaWRlbEBrZGVtYWlsLm5ldD4KIApAQCAtMzMsOCArMzMsOCBAQAogCiBjbGFzcyBT
VkdGRVNwZWN1bGFyTGlnaHRpbmcgOiBwdWJsaWMgU1ZHRmlsdGVyRWZmZWN0IHsKIHB1YmxpYzoK
LSAgICBTVkdGRVNwZWN1bGFyTGlnaHRpbmcoKTsKLSAgICB+U1ZHRkVTcGVjdWxhckxpZ2h0aW5n
KCk7CisgICAgU1ZHRkVTcGVjdWxhckxpZ2h0aW5nKFNWR1Jlc291cmNlRmlsdGVyKik7CisgICAg
dmlydHVhbCB+U1ZHRkVTcGVjdWxhckxpZ2h0aW5nKCk7CiAKICAgICBDb2xvciBsaWdodGluZ0Nv
bG9yKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRMaWdodGluZ0NvbG9yKGNvbnN0IENvbG9yJik7CkBA
IC02MCw3ICs2MCw3IEBACiAgICAgdmlydHVhbCBUZXh0U3RyZWFtJiBleHRlcm5hbFJlcHJlc2Vu
dGF0aW9uKFRleHRTdHJlYW0mKSBjb25zdDsKIAogI2lmIFBMQVRGT1JNKENJKQotICAgIHZpcnR1
YWwgQ0lGaWx0ZXIqIGdldENJRmlsdGVyKFNWR1Jlc291cmNlRmlsdGVyKikgY29uc3Q7CisgICAg
dmlydHVhbCBDSUZpbHRlciogZ2V0Q0lGaWx0ZXIoY29uc3QgRmxvYXRSZWN0JiBiYm94KSBjb25z
dDsKICNlbmRpZgogCiBwcml2YXRlOgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9z
dmcvZmlsdGVycy9TVkdGRURpZmZ1c2VMaWdodGluZy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9TVkdGRURpZmZ1c2VMaWdodGluZy5jcHAJ
KHJldmlzaW9uIDI1MTczKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVy
cy9TVkdGRURpZmZ1c2VMaWdodGluZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBA
CiAvKgotICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFzIFppbW1lcm1h
bm4gPHdpbGRmb3hAa2RlLm9yZz4KKyAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYs
IDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgICAgICAgICAg
ICAgICAgICAyMDA0LCAyMDA1IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CiAgICAgICAgICAgICAg
ICAgICAyMDA1IEVyaWMgU2VpZGVsIDxlcmljLnNlaWRlbEBrZGVtYWlsLm5ldD4KIApAQCAtMzAs
OCArMzAsMTQgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TVkdGRURpZmZ1c2VMaWdodGlu
Zzo6U1ZHRkVEaWZmdXNlTGlnaHRpbmcoKQotICAgIDogbV9saWdodFNvdXJjZSgwKQorU1ZHRkVE
aWZmdXNlTGlnaHRpbmc6OlNWR0ZFRGlmZnVzZUxpZ2h0aW5nKFNWR1Jlc291cmNlRmlsdGVyKiBm
aWx0ZXIpCisgICAgOiBTVkdGaWx0ZXJFZmZlY3QoZmlsdGVyKQorICAgICwgbV9saWdodGluZ0Nv
bG9yKCkKKyAgICAsIG1fc3VyZmFjZVNjYWxlKDAuMCkKKyAgICAsIG1fZGlmZnVzZUNvbnN0YW50
KDAuMCkKKyAgICAsIG1fa2VybmVsVW5pdExlbmd0aFgoMC4wKQorICAgICwgbV9rZXJuZWxVbml0
TGVuZ3RoWSgwLjApCisgICAgLCBtX2xpZ2h0U291cmNlKDApCiB7CiB9CiAKSW5kZXg6IFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVDb21wb25lbnRUcmFuc2Zlci5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZH
RkVDb21wb25lbnRUcmFuc2Zlci5oCShyZXZpc2lvbiAyNTE3MykKKysrIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVDb21wb25lbnRUcmFuc2Zlci5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUs
IDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx3aWxkZm94QGtkZS5vcmc+CisgICAgQ29weXJpZ2h0
IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFu
bkBrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwNCwgMjAwNSBSb2IgQnVpcyA8YnVpc0Br
ZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwNSBFcmljIFNlaWRlbCA8ZXJpYy5zZWlkZWxA
a2RlbWFpbC5uZXQ+CiAKQEAgLTUzLDIxICs1MywzMCBAQAogCiBzdHJ1Y3QgU1ZHQ29tcG9uZW50
VHJhbnNmZXJGdW5jdGlvbiB7CiAgICAgU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbigpCi0g
ICAgICAgIDogdHlwZShTVkdfRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0lERU5USVRZKQorICAg
ICAgICA6IHR5cGUoU1ZHX0ZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9VTktOT1dOKQorICAgICAg
ICAsIHNsb3BlKDAuMCkKKyAgICAgICAgLCBpbnRlcmNlcHQoMC4wKQorICAgICAgICAsIGFtcGxp
dHVkZSgwLjApCisgICAgICAgICwgZXhwb25lbnQoMC4wKQorICAgICAgICAsIG9mZnNldCgwLjAp
CiAgICAgewogICAgIH0KIAogICAgIFNWR0NvbXBvbmVudFRyYW5zZmVyVHlwZSB0eXBlOwotICAg
IFZlY3RvcjxmbG9hdD4gdGFibGVWYWx1ZXM7CisKICAgICBmbG9hdCBzbG9wZTsKICAgICBmbG9h
dCBpbnRlcmNlcHQ7CiAgICAgZmxvYXQgYW1wbGl0dWRlOwogICAgIGZsb2F0IGV4cG9uZW50Owog
ICAgIGZsb2F0IG9mZnNldDsKKworICAgIFZlY3RvcjxmbG9hdD4gdGFibGVWYWx1ZXM7CiB9Owog
CiBjbGFzcyBTVkdGRUNvbXBvbmVudFRyYW5zZmVyIDogcHVibGljIFNWR0ZpbHRlckVmZmVjdCB7
CiBwdWJsaWM6CisgICAgU1ZHRkVDb21wb25lbnRUcmFuc2ZlcihTVkdSZXNvdXJjZUZpbHRlciop
OworCiAgICAgU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbiByZWRGdW5jdGlvbigpIGNvbnN0
OwogICAgIHZvaWQgc2V0UmVkRnVuY3Rpb24oY29uc3QgU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5j
dGlvbiYpOwogCkBAIC04Myw3ICs5Miw3IEBACiAgICAgdmlydHVhbCBUZXh0U3RyZWFtJiBleHRl
cm5hbFJlcHJlc2VudGF0aW9uKFRleHRTdHJlYW0mKSBjb25zdDsKIAogI2lmIFBMQVRGT1JNKENJ
KQotICAgIHZpcnR1YWwgQ0lGaWx0ZXIqIGdldENJRmlsdGVyKFNWR1Jlc291cmNlRmlsdGVyKikg
Y29uc3Q7CisgICAgdmlydHVhbCBDSUZpbHRlciogZ2V0Q0lGaWx0ZXIoY29uc3QgRmxvYXRSZWN0
JiBiYm94KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBDSUZpbHRlciogZ2V0RnVuY3Rpb25GaWx0
ZXIoU1ZHQ2hhbm5lbFNlbGVjdG9yVHlwZSwgQ0lJbWFnZSogaW5wdXRJbWFnZSkgY29uc3Q7Cklu
ZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL2NnL1NWR0ZFQ29tcG9z
aXRlQ2cubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmls
dGVycy9jZy9TVkdGRUNvbXBvc2l0ZUNnLm1tCShyZXZpc2lvbiAyNTE3MykKKysrIFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvY2cvU1ZHRkVDb21wb3NpdGVDZy5tbQkod29y
a2luZyBjb3B5KQpAQCAtMjksOCArMjksOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUNJ
RmlsdGVyKiBTVkdGRUNvbXBvc2l0ZTo6Z2V0Q0lGaWx0ZXIoU1ZHUmVzb3VyY2VGaWx0ZXIqIHN2
Z0ZpbHRlcikgY29uc3QKK0NJRmlsdGVyKiBTVkdGRUNvbXBvc2l0ZTo6Z2V0Q0lGaWx0ZXIoY29u
c3QgRmxvYXRSZWN0JiBiYm94KSBjb25zdAogeworICAgIFNWR1Jlc291cmNlRmlsdGVyKiBzdmdG
aWx0ZXIgPSBmaWx0ZXIoKTsKICAgICBDSUZpbHRlciogZmlsdGVyID0gbmlsOwogICAgIEJFR0lO
X0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKIApAQCAtNzMsNiArNzQsOCBAQAogICAgICAgICBbZmls
dGVyIHNldFZhbHVlOltOU051bWJlciBudW1iZXJXaXRoRmxvYXQ6azMoKV0gZm9yS2V5OkAiaW5w
dXRLMyJdOwogICAgICAgICBbZmlsdGVyIHNldFZhbHVlOltOU051bWJlciBudW1iZXJXaXRoRmxv
YXQ6azQoKV0gZm9yS2V5OkAiaW5wdXRLNCJdOwogICAgIH0KKworICAgIEZFX1FVQVJUWl9NQVBf
VE9fU1VCUkVHSU9OKGJib3gpOwogICAgIEZFX1FVQVJUWl9PVVRQVVRfUkVUVVJOOwogfQogCklu
ZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL2NnL1NWR0ZFRmxvb2RD
Zy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJz
L2NnL1NWR0ZFRmxvb2RDZy5tbQkocmV2aXNpb24gMjUxNzMpCisrKyBXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3N2Zy9maWx0ZXJzL2NnL1NWR0ZFRmxvb2RDZy5tbQkod29ya2luZyBjb3B5KQpA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmltbWVy
bWFubiA8emltbWVybWFubkBrZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNyBO
aWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KIAogICAgIFRoaXMgZmlsZSBp
cyBwYXJ0IG9mIHRoZSBLREUgcHJvamVjdAogCkBAIC0yMywyOCArMjMsMjggQEAKIAogI2lmIEVO
QUJMRShTVkcpICYmIEVOQUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKQogI2luY2x1ZGUg
IlNWR0ZFRmxvb2QuaCIKKworI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgogI2luY2x1ZGUg
IlNWR0ZFSGVscGVyc0NnLmgiCisjaW5jbHVkZSAiQ2dTdXBwb3J0LmgiCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotQ0lGaWx0ZXIqIFNWR0ZFRmxvb2Q6OmdldENJRmlsdGVyKFNWR1Jlc291cmNl
RmlsdGVyKiBzdmdGaWx0ZXIpIGNvbnN0CitDSUZpbHRlciogU1ZHRkVGbG9vZDo6Z2V0Q0lGaWx0
ZXIoY29uc3QgRmxvYXRSZWN0JiBiYm94KSBjb25zdAogeworICAgIFNWR1Jlc291cmNlRmlsdGVy
KiBzdmdGaWx0ZXIgPSBmaWx0ZXIoKTsKICAgICBDSUZpbHRlciogZmlsdGVyOwogICAgIEJFR0lO
X0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKICAgICBmaWx0ZXIgPSBbQ0lGaWx0ZXIgZmlsdGVyV2l0
aE5hbWU6QCJDSUNvbnN0YW50Q29sb3JHZW5lcmF0b3IiXTsKICAgICBbZmlsdGVyIHNldERlZmF1
bHRzXTsKICAgICBDR0NvbG9yUmVmIGNvbG9yID0gY2dDb2xvcihmbG9vZENvbG9yKCkpOwotICAg
IENHQ29sb3JSZWYgd2l0aEFscGhhID0gQ0dDb2xvckNyZWF0ZUNvcHlXaXRoQWxwaGEoY29sb3Is
Q0dDb2xvckdldEFscGhhKGNvbG9yKSAqIGZsb29kT3BhY2l0eSgpKTsKKyAgICBDR0NvbG9yUmVm
IHdpdGhBbHBoYSA9IENHQ29sb3JDcmVhdGVDb3B5V2l0aEFscGhhKGNvbG9yLCBDR0NvbG9yR2V0
QWxwaGEoY29sb3IpICogZmxvb2RPcGFjaXR5KCkpOwogICAgIENJQ29sb3IqIGlucHV0Q29sb3Ig
PSBbQ0lDb2xvciBjb2xvcldpdGhDR0NvbG9yOndpdGhBbHBoYV07CiAgICAgQ0dDb2xvclJlbGVh
c2UoY29sb3IpOwogICAgIENHQ29sb3JSZWxlYXNlKHdpdGhBbHBoYSk7CiAgICAgW2ZpbHRlciBz
ZXRWYWx1ZTppbnB1dENvbG9yIGZvcktleTpAImlucHV0Q29sb3IiXTsKIAotICAgIENHUmVjdCBj
cm9wUmVjdCA9IENHUmVjdE1ha2UoLTEwMCwtMTAwLDEwMDAsMTAwMCk7IC8vIEhBQ0sKLSAgICBp
ZiAoIXN1YlJlZ2lvbigpLmlzRW1wdHkoKSkKLSAgICAgICAgY3JvcFJlY3QgPSBzdWJSZWdpb24o
KTsKLSAgICBGRV9RVUFSVFpfQ1JPUF9UT19SRUNUKGNyb3BSZWN0KTsKLQorICAgIEZFX1FVQVJU
Wl9NQVBfVE9fU1VCUkVHSU9OKGJib3gpOwogICAgIEZFX1FVQVJUWl9PVVRQVVRfUkVUVVJOOwog
fQogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL2NnL1NWR0ZF
U3BlY3VsYXJMaWdodGluZ0NnLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvc3ZnL2ZpbHRlcnMvY2cvU1ZHRkVTcGVjdWxhckxpZ2h0aW5nQ2cubW0JKHJldmlzaW9u
IDI1MTczKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9jZy9TVkdG
RVNwZWN1bGFyTGlnaHRpbmdDZy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjksMTQgKzI5LDE1IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQ0lGaWx0ZXIqIFNWR0ZFU3BlY3VsYXJMaWdodGlu
Zzo6Z2V0Q0lGaWx0ZXIoU1ZHUmVzb3VyY2VGaWx0ZXIqIHN2Z0ZpbHRlcikgY29uc3QKK0NJRmls
dGVyKiBTVkdGRVNwZWN1bGFyTGlnaHRpbmc6OmdldENJRmlsdGVyKGNvbnN0IEZsb2F0UmVjdCYg
YmJveCkgY29uc3QKIHsKICAgICBjb25zdCBTVkdMaWdodFNvdXJjZSogbGlnaHQgPSBsaWdodFNv
dXJjZSgpOwotICAgIGlmKCFsaWdodCkKKyAgICBpZiAoIWxpZ2h0KQogICAgICAgICByZXR1cm4g
bmlsOwogCiAgICAgW1dLU3BlY3VsYXJMaWdodGluZ0ZpbHRlciBjbGFzc107CiAKKyAgICBTVkdS
ZXNvdXJjZUZpbHRlciogc3ZnRmlsdGVyID0gZmlsdGVyKCk7CiAgICAgQ0lGaWx0ZXIqIGZpbHRl
cjsKICAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CiAgICAgZmlsdGVyID0gW0NJRmls
dGVyIGZpbHRlcldpdGhOYW1lOkAiV0tTcGVjdWxhckxpZ2h0aW5nIl07CkBAIC01OCw2ICs1OSw3
IEBACiAgICAgW2ZpbHRlciBzZXRWYWx1ZTpbTlNOdW1iZXIgbnVtYmVyV2l0aEZsb2F0Omtlcm5l
bFVuaXRMZW5ndGhYKCldIGZvcktleTpAImlucHV0S2VybmVsVW5pdExlbmd0aFgiXTsKICAgICBb
ZmlsdGVyIHNldFZhbHVlOltOU051bWJlciBudW1iZXJXaXRoRmxvYXQ6a2VybmVsVW5pdExlbmd0
aFkoKV0gZm9yS2V5OkAiaW5wdXRLZXJuZWxVbml0TGVuZ3RoWSJdOwogCisgICAgRkVfUVVBUlRa
X01BUF9UT19TVUJSRUdJT04oYmJveCk7CiAgICAgRkVfUVVBUlRaX09VVFBVVF9SRVRVUk47CiB9
CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvY2cvU1ZHRkVE
aWZmdXNlTGlnaHRpbmdDZy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3N2Zy9maWx0ZXJzL2NnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nQ2cubW0JKHJldmlzaW9uIDI1
MTczKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9jZy9TVkdGRURp
ZmZ1c2VMaWdodGluZ0NnLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotQ0lGaWx0ZXIqIFNWR0ZFRGlmZnVzZUxpZ2h0aW5nOjpnZXRD
SUZpbHRlcihTVkdSZXNvdXJjZUZpbHRlciogc3ZnRmlsdGVyKSBjb25zdAorQ0lGaWx0ZXIqIFNW
R0ZFRGlmZnVzZUxpZ2h0aW5nOjpnZXRDSUZpbHRlcihjb25zdCBGbG9hdFJlY3QmIGJib3gpIGNv
bnN0CiB7CiAgICAgY29uc3QgU1ZHTGlnaHRTb3VyY2UqIGxpZ2h0ID0gbGlnaHRTb3VyY2UoKTsK
ICAgICBpZiAoIWxpZ2h0KQpAQCAtMzcsNiArMzcsNyBAQAogCiAgICAgW1dLRGlmZnVzZUxpZ2h0
aW5nRmlsdGVyIGNsYXNzXTsKIAorICAgIFNWR1Jlc291cmNlRmlsdGVyKiBzdmdGaWx0ZXIgPSBm
aWx0ZXIoKTsKICAgICBDSUZpbHRlciogZmlsdGVyOwogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhD
RVBUSU9OUzsKICAgICBmaWx0ZXIgPSBbQ0lGaWx0ZXIgZmlsdGVyV2l0aE5hbWU6QCJXS0RpZmZ1
c2VMaWdodGluZyJdOwpAQCAtNjIsNiArNjMsNyBAQAogICAgIFtmaWx0ZXIgc2V0VmFsdWU6W05T
TnVtYmVyIG51bWJlcldpdGhGbG9hdDprZXJuZWxVbml0TGVuZ3RoWCgpXSBmb3JLZXk6QCJpbnB1
dEtlcm5lbFVuaXRMZW5ndGhYIl07CiAgICAgW2ZpbHRlciBzZXRWYWx1ZTpbTlNOdW1iZXIgbnVt
YmVyV2l0aEZsb2F0Omtlcm5lbFVuaXRMZW5ndGhZKCldIGZvcktleTpAImlucHV0S2VybmVsVW5p
dExlbmd0aFkiXTsKIAorICAgIEZFX1FVQVJUWl9NQVBfVE9fU1VCUkVHSU9OKGJib3gpOwogICAg
IEZFX1FVQVJUWl9PVVRQVVRfUkVUVVJOOwogfQogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3N2Zy9maWx0ZXJzL2NnL1NWR0ZFT2Zmc2V0Q2cubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9jZy9TVkdGRU9mZnNldENnLm1tCShy
ZXZpc2lvbiAyNTE3MykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMv
Y2cvU1ZHRkVPZmZzZXRDZy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjcsMTIgKzI3LDE1IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQ0lGaWx0ZXIqIFNWR0ZFT2Zmc2V0OjpnZXRDSUZpbHRl
cihTVkdSZXNvdXJjZUZpbHRlciogc3ZnRmlsdGVyKSBjb25zdAorQ0lGaWx0ZXIqIFNWR0ZFT2Zm
c2V0OjpnZXRDSUZpbHRlcihjb25zdCBGbG9hdFJlY3QmIGJib3gpIGNvbnN0CiB7CisgICAgU1ZH
UmVzb3VyY2VGaWx0ZXIqIHN2Z0ZpbHRlciA9IGZpbHRlcigpOwogICAgIEZFX1FVQVJUWl9TRVRV
UF9JTlBVVChAIkNJQWZmaW5lVHJhbnNmb3JtIik7CiAgICAgTlNBZmZpbmVUcmFuc2Zvcm0qIG9m
ZnNldFRyYW5zZm9ybSA9IFtOU0FmZmluZVRyYW5zZm9ybSB0cmFuc2Zvcm1dOwogICAgIFtvZmZz
ZXRUcmFuc2Zvcm0gdHJhbnNsYXRlWEJ5OmR4KCkgeUJ5OmR5KCldOwogICAgIFtmaWx0ZXIgc2V0
VmFsdWU6b2Zmc2V0VHJhbnNmb3JtICBmb3JLZXk6QCJpbnB1dFRyYW5zZm9ybSJdOworCisgICAg
RkVfUVVBUlRaX01BUF9UT19TVUJSRUdJT04oYmJveCk7CiAgICAgRkVfUVVBUlRaX09VVFBVVF9S
RVRVUk47CiB9CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMv
Y2cvU1ZHRmlsdGVyRWZmZWN0Q2cubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9zdmcvZmlsdGVycy9jZy9TVkdGaWx0ZXJFZmZlY3RDZy5tbQkocmV2aXNpb24gMjUx
NzMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL2NnL1NWR0ZpbHRl
ckVmZmVjdENnLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw3IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotQ0lGaWx0ZXIqIFNWR0ZpbHRlckVmZmVjdDo6Z2V0Q0lGaWx0ZXIoU1ZH
UmVzb3VyY2VGaWx0ZXIqIHN2Z0ZpbHRlcikgY29uc3QKK0NJRmlsdGVyKiBTVkdGaWx0ZXJFZmZl
Y3Q6OmdldENJRmlsdGVyKGNvbnN0IEZsb2F0UmVjdCYgYmJveCkgY29uc3QKIHsKICAgICByZXR1
cm4gbmlsOwogfQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9j
Zy9XS0Rpc3BsYWNlbWVudE1hcEZpbHRlci5jaWtlcm5lbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL2NnL1dLRGlzcGxhY2VtZW50TWFwRmlsdGVy
LmNpa2VybmVsCShyZXZpc2lvbiAyNTE3MykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
c3ZnL2ZpbHRlcnMvY2cvV0tEaXNwbGFjZW1lbnRNYXBGaWx0ZXIuY2lrZXJuZWwJKHdvcmtpbmcg
Y29weSkKQEAgLTQwLDcgKzQwLDYgQEAKICAgICBmbG9hdCB4YyA9IGRvdChYQ1lDLCB4Y2hhbm5l
bCk7CiAgICAgZmxvYXQgeWMgPSBkb3QoWENZQywgeWNoYW5uZWwpOwogICAgIHNhbXBsZVBvcy54
ICs9IHNjYWxlKih4Yy0wLjUpOwotICAgIC8vZmxpcCB0aGUgeS1heGlzCi0gICAgc2FtcGxlUG9z
LnkgLT0gc2NhbGUqKHljLTAuNSk7CisgICAgc2FtcGxlUG9zLnkgKz0gc2NhbGUqKHljLTAuNSk7
CiAgICAgcmV0dXJuIHNhbXBsZShpbWFnZSwgc2FtcGxlUG9zKTsKIH0KSW5kZXg6IFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvY2cvU1ZHRkVUaWxlQ2cubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9jZy9TVkdGRVRpbGVD
Zy5tbQkocmV2aXNpb24gMjUxNzMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9m
aWx0ZXJzL2NnL1NWR0ZFVGlsZUNnLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw5ICsyNywxMiBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUNJRmlsdGVyKiBTVkdGRVRpbGU6OmdldENJRmls
dGVyKFNWR1Jlc291cmNlRmlsdGVyKiBzdmdGaWx0ZXIpIGNvbnN0CitDSUZpbHRlciogU1ZHRkVU
aWxlOjpnZXRDSUZpbHRlcihjb25zdCBGbG9hdFJlY3QmIGJib3gpIGNvbnN0CiB7CisgICAgU1ZH
UmVzb3VyY2VGaWx0ZXIqIHN2Z0ZpbHRlciA9IGZpbHRlcigpOwogICAgIEZFX1FVQVJUWl9TRVRV
UF9JTlBVVChAIkNJQWZmaW5lVGlsZSIpOworCisgICAgRkVfUVVBUlRaX01BUF9UT19TVUJSRUdJ
T04oYmJveCk7CiAgICAgRkVfUVVBUlRaX09VVFBVVF9SRVRVUk47CiB9CiAKSW5kZXg6IFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvY2cvU1ZHRkVNZXJnZUNnLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvY2cvU1ZHRkVN
ZXJnZUNnLm1tCShyZXZpc2lvbiAyNTE3MykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
c3ZnL2ZpbHRlcnMvY2cvU1ZHRkVNZXJnZUNnLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw4ICsy
Nyw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQ0lGaWx0ZXIqIFNWR0ZFTWVyZ2U6Omdl
dENJRmlsdGVyKFNWR1Jlc291cmNlRmlsdGVyKiBzdmdGaWx0ZXIpIGNvbnN0CitDSUZpbHRlciog
U1ZHRkVNZXJnZTo6Z2V0Q0lGaWx0ZXIoY29uc3QgRmxvYXRSZWN0JiBiYm94KSBjb25zdAogewor
ICAgIFNWR1Jlc291cmNlRmlsdGVyKiBzdmdGaWx0ZXIgPSBmaWx0ZXIoKTsKICAgICBDSUZpbHRl
ciogZmlsdGVyID0gbmlsOwogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKICAgICBj
b25zdCBWZWN0b3I8U3RyaW5nPiYgaW5wdXRzID0gbWVyZ2VJbnB1dHMoKTsKQEAgLTQ0LDYgKzQ1
LDggQEAKICAgICAgICAgW2ZpbHRlciBzZXRWYWx1ZTpwcmV2aW91c091dHB1dCBmb3JLZXk6QCJp
bnB1dEJhY2tncm91bmRJbWFnZSJdOwogICAgICAgICBwcmV2aW91c091dHB1dCA9IFtmaWx0ZXIg
dmFsdWVGb3JLZXk6QCJvdXRwdXRJbWFnZSJdOwogICAgIH0KKworICAgIEZFX1FVQVJUWl9NQVBf
VE9fU1VCUkVHSU9OKGJib3gpOwogICAgIEZFX1FVQVJUWl9PVVRQVVRfUkVUVVJOOwogfQogCklu
ZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL2NnL1NWR0ZFQ29sb3JN
YXRyaXhDZy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9m
aWx0ZXJzL2NnL1NWR0ZFQ29sb3JNYXRyaXhDZy5tbQkocmV2aXNpb24gMjUxNzMpCisrKyBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL2NnL1NWR0ZFQ29sb3JNYXRyaXhDZy5t
bQkod29ya2luZyBjb3B5KQpAQCAtMzUsOCArMzUsOSBAQAogICAgICAgICByZXR1cm4gbmlsOyBc
CiAgICAgfQogCi1DSUZpbHRlciogU1ZHRkVDb2xvck1hdHJpeDo6Z2V0Q0lGaWx0ZXIoU1ZHUmVz
b3VyY2VGaWx0ZXIqIHN2Z0ZpbHRlcikgY29uc3QKK0NJRmlsdGVyKiBTVkdGRUNvbG9yTWF0cml4
OjpnZXRDSUZpbHRlcihjb25zdCBGbG9hdFJlY3QmIGJib3gpIGNvbnN0CiB7CisgICAgU1ZHUmVz
b3VyY2VGaWx0ZXIqIHN2Z0ZpbHRlciA9IGZpbHRlcigpOwogICAgIENJRmlsdGVyKiBmaWx0ZXIg
PSBuaWw7CiAgICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogICAgIHN3aXRjaCAodHlw
ZSgpKSB7CkBAIC05OCw2ICs5OSw3IEBACiAgICAgRkVfUVVBUlRaX0NIRUNLX0lOUFVUKGlucHV0
SW1hZ2UpOwogICAgIFtmaWx0ZXIgc2V0VmFsdWU6aW5wdXRJbWFnZSBmb3JLZXk6QCJpbnB1dElt
YWdlIl07CiAKKyAgICBGRV9RVUFSVFpfTUFQX1RPX1NVQlJFR0lPTihiYm94KTsKICAgICBGRV9R
VUFSVFpfT1VUUFVUX1JFVFVSTjsKIH0KIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9zdmcvZmlsdGVycy9jZy9XS1Nwb3RMaWdodEZpbHRlci5tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvY2cvV0tTcG90TGlnaHRGaWx0ZXIubQko
cmV2aXNpb24gMjUxNzMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJz
L2NnL1dLU3BvdExpZ2h0RmlsdGVyLm0JKHdvcmtpbmcgY29weSkKQEAgLTc0LDggKzc0LDYgQEAK
IC0gKENJSW1hZ2UgKilvdXRwdXRJbWFnZQogewogICAgIGZsb2F0IGNvc2N1dG9mZiA9IGNvc2Yo
W2lucHV0TGltaXRpbmdDb25lQW5nbGUgZmxvYXRWYWx1ZV0pOwotICAgIGlmIChjb3NjdXRvZmYg
PCAwKSAKLSAgICAgICAgY29zY3V0b2ZmID0gLWNvc2N1dG9mZjsKICAgICByZXR1cm4gW3NlbGYg
YXBwbHk6c3BvdExpZ2h0RmlsdGVyLCBpbnB1dExpZ2h0VmVjdG9ycywgaW5wdXRMaWdodERpcmVj
dGlvbiwgaW5wdXRTcGVjdWxhckV4cG9uZW50LCBbTlNOdW1iZXIgbnVtYmVyV2l0aEZsb2F0OmNv
c2N1dG9mZl0sIG5pbF07CiB9CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3Zn
L2ZpbHRlcnMvY2cvU1ZHRkVEaXNwbGFjZW1lbnRNYXBDZy5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL2NnL1NWR0ZFRGlzcGxhY2VtZW50TWFw
Q2cubW0JKHJldmlzaW9uIDI1MTczKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcv
ZmlsdGVycy9jZy9TVkdGRURpc3BsYWNlbWVudE1hcENnLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0y
OSw4ICsyOSw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQ0lGaWx0ZXIqIFNWR0ZFRGlz
cGxhY2VtZW50TWFwOjpnZXRDSUZpbHRlcihTVkdSZXNvdXJjZUZpbHRlciogc3ZnRmlsdGVyKSBj
b25zdAorQ0lGaWx0ZXIqIFNWR0ZFRGlzcGxhY2VtZW50TWFwOjpnZXRDSUZpbHRlcihjb25zdCBG
bG9hdFJlY3QmIGJib3gpIGNvbnN0CiB7CisgICAgU1ZHUmVzb3VyY2VGaWx0ZXIqIHN2Z0ZpbHRl
ciA9IGZpbHRlcigpOwogICAgIENJRmlsdGVyKiBmaWx0ZXIgPSBuaWw7CiAgICAgQkVHSU5fQkxP
Q0tfT0JKQ19FWENFUFRJT05TOwogICAgIFtXS0Rpc3BsYWNlbWVudE1hcEZpbHRlciBjbGFzc107
CkBAIC00NSw2ICs0Niw4IEBACiAgICAgW2ZpbHRlciBzZXRWYWx1ZTpnZXRWZWN0b3JGb3JDaGFu
bmVsKHhDaGFubmVsU2VsZWN0b3IoKSkgZm9yS2V5OkAiaW5wdXRYQ2hhbm5lbFNlbGVjdG9yIl07
CiAgICAgW2ZpbHRlciBzZXRWYWx1ZTpnZXRWZWN0b3JGb3JDaGFubmVsKHlDaGFubmVsU2VsZWN0
b3IoKSkgZm9yS2V5OkAiaW5wdXRZQ2hhbm5lbFNlbGVjdG9yIl07CiAgICAgW2ZpbHRlciBzZXRW
YWx1ZTpbTlNOdW1iZXIgbnVtYmVyV2l0aEZsb2F0OnNjYWxlKCldIGZvcktleTpAImlucHV0U2Nh
bGUiXTsKKworICAgIEZFX1FVQVJUWl9NQVBfVE9fU1VCUkVHSU9OKGJib3gpOwogICAgIEZFX1FV
QVJUWl9PVVRQVVRfUkVUVVJOOwogfQogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3N2Zy9maWx0ZXJzL2NnL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJDZy5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL2NnL1NWR0ZFQ29tcG9uZW50
VHJhbnNmZXJDZy5tbQkocmV2aXNpb24gMjUxNzMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3N2Zy9maWx0ZXJzL2NnL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJDZy5tbQkod29ya2luZyBj
b3B5KQpAQCAtODIsNiArODIsNyBAQAogewogICAgIENJRmlsdGVyICpmaWx0ZXI7CiAgICAgc3dp
dGNoIChmdW5jLnR5cGUpIHsKKyAgICBjYXNlIFNWR19GRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVf
VU5LTk9XTjoKICAgICBjYXNlIFNWR19GRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfSURFTlRJVFk6
CiAgICAgICAgIGZpbHRlciA9IFtDSUZpbHRlciBmaWx0ZXJXaXRoTmFtZTpAIldLSWRlbnRpdHlU
cmFuc2ZlciJdOwogICAgICAgICBicmVhazsKQEAgLTEzMiw3ICsxMzMsNyBAQAogICAgIH0KIH0K
IAotQ0lGaWx0ZXIqIFNWR0ZFQ29tcG9uZW50VHJhbnNmZXI6OmdldENJRmlsdGVyKFNWR1Jlc291
cmNlRmlsdGVyKiBzdmdGaWx0ZXIpIGNvbnN0CitDSUZpbHRlciogU1ZHRkVDb21wb25lbnRUcmFu
c2Zlcjo6Z2V0Q0lGaWx0ZXIoY29uc3QgRmxvYXRSZWN0JiBiYm94KSBjb25zdAogewogICAgIFtX
S0NvbXBvbmVudE1lcmdlRmlsdGVyIGNsYXNzXTsKICAgICBbV0tJZGVudGl0eVRyYW5zZmVyRmls
dGVyIGNsYXNzXTsKQEAgLTE0MSw2ICsxNDIsNyBAQAogICAgIFtXS0xpbmVhclRyYW5zZmVyRmls
dGVyIGNsYXNzXTsKICAgICBbV0tHYW1tYVRyYW5zZmVyRmlsdGVyIGNsYXNzXTsKIAorICAgIFNW
R1Jlc291cmNlRmlsdGVyKiBzdmdGaWx0ZXIgPSBmaWx0ZXIoKTsKICAgICBDSUZpbHRlciogZmls
dGVyID0gbmlsOwogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKICAgICBmaWx0ZXIg
PSBbQ0lGaWx0ZXIgZmlsdGVyV2l0aE5hbWU6QCJXS0NvbXBvbmVudE1lcmdlIl07CkBAIC0xNTUs
NiArMTU3LDcgQEAKICAgICBbZmlsdGVyIHNldFZhbHVlOmdldEZ1bmN0aW9uRmlsdGVyKFNWR19D
SEFOTkVMX0IsIGlucHV0SW1hZ2UpIGZvcktleTpAImlucHV0RnVuY0IiXTsKICAgICBbZmlsdGVy
IHNldFZhbHVlOmdldEZ1bmN0aW9uRmlsdGVyKFNWR19DSEFOTkVMX0EsIGlucHV0SW1hZ2UpIGZv
cktleTpAImlucHV0RnVuY0EiXTsKIAorICAgIEZFX1FVQVJUWl9NQVBfVE9fU1VCUkVHSU9OKGJi
b3gpOwogICAgIEZFX1FVQVJUWl9PVVRQVVRfUkVUVVJOOwogICAgIHJldHVybiBuaWw7CiB9Cklu
ZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL2NnL1NWR0ZFSGVscGVy
c0NnLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVy
cy9jZy9TVkdGRUhlbHBlcnNDZy5oCShyZXZpc2lvbiAyNTE3MykKKysrIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvY2cvU1ZHRkVIZWxwZXJzQ2cuaAkod29ya2luZyBjb3B5
KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmlt
bWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAwNiwgMjAw
NyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KIAogICAgIFRoaXMgZmls
ZSBpcyBwYXJ0IG9mIHRoZSBLREUgcHJvamVjdAogCkBAIC02MSwxNSArNjEsMjUgQEAKICAgICBF
TkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOyBcCiAgICAgcmV0dXJuIG5pbDsKIAotI2RlZmluZSBG
RV9RVUFSVFpfQ1JPUF9UT19SRUNUKHJlY3QpIFwKKyNkZWZpbmUgRkVfUVVBUlRaX01BUF9UT19T
VUJSRUdJT05fUFJFUEFSRShiYm94KSBcCisgICAgRmxvYXRSZWN0IGZpbHRlclJlY3QgPSBzdmdG
aWx0ZXItPmZpbHRlckJCb3hGb3JJdGVtQkJveChiYm94KTsgXAorICAgIEZsb2F0UmVjdCBjcm9w
UmVjdCA9IHByaW1pdGl2ZUJCb3hGb3JGaWx0ZXJCQm94KGZpbHRlclJlY3QsIGJib3gpOyBcCisg
ICAgY3JvcFJlY3QuaW50ZXJzZWN0KGZpbHRlclJlY3QpOyBcCisgICAgY3JvcFJlY3QubW92ZSgt
ZmlsdGVyUmVjdC54KCksIC1maWx0ZXJSZWN0LnkoKSk7CisKKyNkZWZpbmUgRkVfUVVBUlRaX01B
UF9UT19TVUJSRUdJT05fQVBQTFkoY3JvcFJlY3QpIFwKICAgICB7IFwKICAgICAgICAgQ0lGaWx0
ZXIqIGNyb3AgPSBbQ0lGaWx0ZXIgZmlsdGVyV2l0aE5hbWU6QCJDSUNyb3AiXTsgXAogICAgICAg
ICBbY3JvcCBzZXREZWZhdWx0c107IFwKICAgICAgICAgW2Nyb3Agc2V0VmFsdWU6W2ZpbHRlciB2
YWx1ZUZvcktleTpAIm91dHB1dEltYWdlIl0gZm9yS2V5OkAiaW5wdXRJbWFnZSJdOyBcCi0gICAg
ICAgIFtjcm9wIHNldFZhbHVlOltDSVZlY3RvciB2ZWN0b3JXaXRoWDpyZWN0Lm9yaWdpbi54IFk6
cmVjdC5vcmlnaW4ueSBaOnJlY3Quc2l6ZS53aWR0aCBXOnJlY3Quc2l6ZS5oZWlnaHRdIGZvcktl
eTpAImlucHV0UmVjdGFuZ2xlIl07IFwKKyAgICAgICAgW2Nyb3Agc2V0VmFsdWU6W0NJVmVjdG9y
IHZlY3RvcldpdGhYOmNyb3BSZWN0LngoKSBZOmNyb3BSZWN0LnkoKSBaOmNyb3BSZWN0LndpZHRo
KCkgVzpjcm9wUmVjdC5oZWlnaHQoKV0gZm9yS2V5OkAiaW5wdXRSZWN0YW5nbGUiXTsgXAogICAg
ICAgICBmaWx0ZXIgPSBjcm9wOyBcCiAgICAgfQogCisjZGVmaW5lIEZFX1FVQVJUWl9NQVBfVE9f
U1VCUkVHSU9OKGJib3gpIFwKKyAgICBGRV9RVUFSVFpfTUFQX1RPX1NVQlJFR0lPTl9QUkVQQVJF
KGJib3gpOyBcCisgICAgRkVfUVVBUlRaX01BUF9UT19TVUJSRUdJT05fQVBQTFkoY3JvcFJlY3Qp
OworCiAjZGVmaW5lIGRlZzJyYWQoZCkgKChkICogKDIuMCAqIE1fUEkpKSAvIDM2MC4wKQogCiAj
ZW5kaWYgLy8gRU5BQkxFKFNWRykgJiYgRU5BQkxFKFNWR19FWFBFUklNRU5UQUxfRkVBVFVSRVMp
CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL2NnL1NWR0ZFSW1h
Z2VDZy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0
ZXJzL2NnL1NWR0ZFSW1hZ2VDZy5tbQkocmV2aXNpb24gMjUxNzMpCisrKyBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL2NnL1NWR0ZFSW1hZ2VDZy5tbQkod29ya2luZyBjb3B5
KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmlt
bWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAwNiwgMjAw
NyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KIAogICAgIFRoaXMgZmls
ZSBpcyBwYXJ0IG9mIHRoZSBLREUgcHJvamVjdAogCkBAIC0zMCwzNiArMzAsNDYgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1DSUZpbHRlciogU1ZHRkVJbWFnZTo6Z2V0Q0lGaWx0ZXIoU1ZH
UmVzb3VyY2VGaWx0ZXIqIHN2Z0ZpbHRlcikgY29uc3QKK0NJRmlsdGVyKiBTVkdGRUltYWdlOjpn
ZXRDSUZpbHRlcihjb25zdCBGbG9hdFJlY3QmIGJib3gpIGNvbnN0CiB7CiAgICAgaWYgKCFjYWNo
ZWRJbWFnZSgpKQogICAgICAgICByZXR1cm4gbmlsOwogCisgICAgU1ZHUmVzb3VyY2VGaWx0ZXIq
IHN2Z0ZpbHRlciA9IGZpbHRlcigpOwogICAgIENJRmlsdGVyKiBmaWx0ZXI7CiAgICAgQkVHSU5f
QkxPQ0tfT0JKQ19FWENFUFRJT05TOwogICAgIENJSW1hZ2UqIGNpSW1hZ2UgPSBbQ0lJbWFnZSBp
bWFnZVdpdGhDR0ltYWdlOmNhY2hlZEltYWdlKCktPmltYWdlKCktPmdldENHSW1hZ2VSZWYoKV07
CiAKLSAgICAvLyBGSVhNRTogVGhlcmUgaXMgcHJvYmFibHkgYSBuaWNlciB3YXkgdG8gcGVyZm9y
bSBib3RoIG9mIHRoZXNlIHRyYW5zZm9ybXMuCiAgICAgZmlsdGVyID0gW0NJRmlsdGVyIGZpbHRl
cldpdGhOYW1lOkAiQ0lBZmZpbmVUcmFuc2Zvcm0iXTsKICAgICBbZmlsdGVyIHNldERlZmF1bHRz
XTsKICAgICBbZmlsdGVyIHNldFZhbHVlOmNpSW1hZ2UgZm9yS2V5OkAiaW5wdXRJbWFnZSJdOwog
Ci0gICAgQ0dBZmZpbmVUcmFuc2Zvcm0gY2dUcmFuc2Zvcm0gPSBDR0FmZmluZVRyYW5zZm9ybU1h
a2UoMSwwLDAsLTEsMCxjYWNoZWRJbWFnZSgpLT5pbWFnZSgpLT5yZWN0KCkuYm90dG9tKCkpOwor
ICAgIEZsb2F0UmVjdCBpbWFnZVJlY3QgPSBjYWNoZWRJbWFnZSgpLT5pbWFnZSgpLT5yZWN0KCk7
CisKKyAgICAvLyBGbGlwIGltYWdlIGludG8gcmlnaHQgb3JpZ2luCisgICAgQ0dBZmZpbmVUcmFu
c2Zvcm0gY2dUcmFuc2Zvcm0gPSBDR0FmZmluZVRyYW5zZm9ybU1ha2UoMS4wLCAwLjAsIDAuMCwg
LTEuMCwgMC4wLCBpbWFnZVJlY3QuYm90dG9tKCkpOwogICAgIE5TQWZmaW5lVHJhbnNmb3JtKiBu
c1RyYW5zZm9ybSA9IFtOU0FmZmluZVRyYW5zZm9ybSB0cmFuc2Zvcm1dOwogICAgIFtuc1RyYW5z
Zm9ybSBzZXRUcmFuc2Zvcm1TdHJ1Y3Q6KigoTlNBZmZpbmVUcmFuc2Zvcm1TdHJ1Y3QgKikmY2dU
cmFuc2Zvcm0pXTsKICAgICBbZmlsdGVyIHNldFZhbHVlOm5zVHJhbnNmb3JtIGZvcktleTpAImlu
cHV0VHJhbnNmb3JtIl07CiAKLSAgICBpZiAoIXN1YlJlZ2lvbigpLmlzRW1wdHkoKSkgeworICAg
IC8vIENhbGN1bGF0ZSBjcm9wIHJlY3QKKyAgICBGRV9RVUFSVFpfTUFQX1RPX1NVQlJFR0lPTl9Q
UkVQQVJFKGJib3gpOworCisgICAgLy8gTWFwIGJldHdlZW4gdGhlIGltYWdlIHJlY3RhbmdsZSBh
bmQgdGhlIGNyb3AgcmVjdAorICAgIGlmICghY3JvcFJlY3QuaXNFbXB0eSgpKSB7CiAgICAgICAg
IENJRmlsdGVyKiBzY2FsZUltYWdlID0gW0NJRmlsdGVyIGZpbHRlcldpdGhOYW1lOkAiQ0lBZmZp
bmVUcmFuc2Zvcm0iXTsKICAgICAgICAgW3NjYWxlSW1hZ2Ugc2V0RGVmYXVsdHNdOwogICAgICAg
ICBbc2NhbGVJbWFnZSBzZXRWYWx1ZTpbZmlsdGVyIHZhbHVlRm9yS2V5OkAib3V0cHV0SW1hZ2Ui
XSBmb3JLZXk6QCJpbnB1dEltYWdlIl07CiAKLSAgICAgICAgY2dUcmFuc2Zvcm0gPSBDR0FmZmlu
ZVRyYW5zZm9ybU1ha2VNYXBCZXR3ZWVuUmVjdHMoQ0dSZWN0KGNhY2hlZEltYWdlKCktPmltYWdl
KCktPnJlY3QoKSksIHN1YlJlZ2lvbigpKTsKKyAgICAgICAgY2dUcmFuc2Zvcm0gPSBDR0FmZmlu
ZVRyYW5zZm9ybU1ha2VNYXBCZXR3ZWVuUmVjdHMoQ0dSZWN0KGltYWdlUmVjdCksIENHUmVjdChj
cm9wUmVjdCkpOwogICAgICAgICBbbnNUcmFuc2Zvcm0gc2V0VHJhbnNmb3JtU3RydWN0OiooKE5T
QWZmaW5lVHJhbnNmb3JtU3RydWN0ICopJmNnVHJhbnNmb3JtKV07CiAgICAgICAgIFtzY2FsZUlt
YWdlIHNldFZhbHVlOm5zVHJhbnNmb3JtIGZvcktleTpAImlucHV0VHJhbnNmb3JtIl07CisKICAg
ICAgICAgZmlsdGVyID0gc2NhbGVJbWFnZTsKICAgICB9CiAKKyAgICAvLyBBY3R1YWxseSBhcHBs
eSBjcm9wcGluZworICAgIEZFX1FVQVJUWl9NQVBfVE9fU1VCUkVHSU9OX0FQUExZKGNyb3BSZWN0
KTsKICAgICBGRV9RVUFSVFpfT1VUUFVUX1JFVFVSTjsKIH0KIApJbmRleDogV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9jZy9TVkdGRUJsZW5kQ2cubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9jZy9TVkdGRUJsZW5kQ2cu
bW0JKHJldmlzaW9uIDI1MTczKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmls
dGVycy9jZy9TVkdGRUJsZW5kQ2cubW0JKHdvcmtpbmcgY29weSkKQEAgLTI3LDkgKzI3LDEwIEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQ0lGaWx0ZXIqIFNWR0ZFQmxlbmQ6OmdldENJRmls
dGVyKFNWR1Jlc291cmNlRmlsdGVyKiBzdmdGaWx0ZXIpIGNvbnN0CitDSUZpbHRlciogU1ZHRkVC
bGVuZDo6Z2V0Q0lGaWx0ZXIoY29uc3QgRmxvYXRSZWN0JiBiYm94KSBjb25zdAogewotICAgIENJ
RmlsdGVyICpmaWx0ZXIgPSBuaWw7CisgICAgU1ZHUmVzb3VyY2VGaWx0ZXIqIHN2Z0ZpbHRlciA9
IGZpbHRlcigpOworICAgIENJRmlsdGVyKiBmaWx0ZXIgPSBuaWw7CiAgICAgQkVHSU5fQkxPQ0tf
T0JKQ19FWENFUFRJT05TOwogCiAgICAgc3dpdGNoIChibGVuZE1vZGUoKSkgewpAQCAtNTcsMTMg
KzU4LDE2IEBACiAgICAgfQogCiAgICAgW2ZpbHRlciBzZXREZWZhdWx0c107Ci0gICAgQ0lJbWFn
ZSAqaW5wdXRJbWFnZSA9IHN2Z0ZpbHRlci0+aW5wdXRJbWFnZSh0aGlzKTsKKworICAgIENJSW1h
Z2UqIGlucHV0SW1hZ2UgPSBzdmdGaWx0ZXItPmlucHV0SW1hZ2UodGhpcyk7CiAgICAgRkVfUVVB
UlRaX0NIRUNLX0lOUFVUKGlucHV0SW1hZ2UpOwogICAgIFtmaWx0ZXIgc2V0VmFsdWU6aW5wdXRJ
bWFnZSBmb3JLZXk6QCJpbnB1dEltYWdlIl07Ci0gICAgQ0lJbWFnZSAqYmFja2dyb3VuZEltYWdl
ID0gc3ZnRmlsdGVyLT5pbWFnZUZvck5hbWUoaW4yKCkpOworCisgICAgQ0lJbWFnZSogYmFja2dy
b3VuZEltYWdlID0gc3ZnRmlsdGVyLT5pbWFnZUZvck5hbWUoaW4yKCkpOwogICAgIEZFX1FVQVJU
Wl9DSEVDS19JTlBVVChiYWNrZ3JvdW5kSW1hZ2UpOwogICAgIFtmaWx0ZXIgc2V0VmFsdWU6YmFj
a2dyb3VuZEltYWdlIGZvcktleTpAImlucHV0QmFja2dyb3VuZEltYWdlIl07CiAKKyAgICBGRV9R
VUFSVFpfTUFQX1RPX1NVQlJFR0lPTihiYm94KTsKICAgICBGRV9RVUFSVFpfT1VUUFVUX1JFVFVS
TjsKIH0KIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9jZy9T
VkdGRUdhdXNzaWFuQmx1ckNnLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvc3ZnL2ZpbHRlcnMvY2cvU1ZHRkVHYXVzc2lhbkJsdXJDZy5tbQkocmV2aXNpb24gMjUx
NzMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL2NnL1NWR0ZFR2F1
c3NpYW5CbHVyQ2cubW0JKHdvcmtpbmcgY29weSkKQEAgLTI3LDggKzI3LDkgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1DSUZpbHRlciogU1ZHRkVHYXVzc2lhbkJsdXI6OmdldENJRmlsdGVy
KFNWR1Jlc291cmNlRmlsdGVyKiBzdmdGaWx0ZXIpIGNvbnN0CitDSUZpbHRlciogU1ZHRkVHYXVz
c2lhbkJsdXI6OmdldENJRmlsdGVyKGNvbnN0IEZsb2F0UmVjdCYgYmJveCkgY29uc3QKIHsKKyAg
ICBTVkdSZXNvdXJjZUZpbHRlciogc3ZnRmlsdGVyID0gZmlsdGVyKCk7CiAgICAgRkVfUVVBUlRa
X1NFVFVQX0lOUFVUKEAiQ0lHYXVzc2lhblB5cmFtaWQiKTsKIAogICAgIGZsb2F0IGlucHV0UmFk
aXVzID0gc3RkRGV2aWF0aW9uWCgpOwpAQCAtMzksNiArNDAsNyBAQAogICAgIH0KICAgICBbZmls
dGVyIHNldFZhbHVlOltOU051bWJlciBudW1iZXJXaXRoRmxvYXQ6aW5wdXRSYWRpdXNdIGZvcktl
eTpAImlucHV0UmFkaXVzIl07CiAKKyAgICBGRV9RVUFSVFpfTUFQX1RPX1NVQlJFR0lPTihiYm94
KTsKICAgICBGRV9RVUFSVFpfT1VUUFVUX1JFVFVSTjsKIH0KIApJbmRleDogV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9jZy9XS0RpZmZ1c2VMaWdodGluZ0ZpbHRlci5jaWtl
cm5lbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJz
L2NnL1dLRGlmZnVzZUxpZ2h0aW5nRmlsdGVyLmNpa2VybmVsCShyZXZpc2lvbiAyNTE3MykKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvY2cvV0tEaWZmdXNlTGlnaHRp
bmdGaWx0ZXIuY2lrZXJuZWwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDggKzI0LDcgQEAKICAqLwog
CiBrZXJuZWwgdmVjNCBkaWZmdXNlTGlnaHRpbmcoc2FtcGxlciBub3JtYWxWZWN0b3JzLCBzYW1w
bGVyIGxpZ2h0VmVjdG9ycywgX19jb2xvciBsaWdodGluZ0NvbG9yLCAKLSAgICBmbG9hdCBzdXJm
YWNlU2NhbGUsIGZsb2F0IGRpZmZ1c2VDb25zdGFudCwgZmxvYXQga2VybmVsTGVuZ3RoWCwKLSAg
ICBmbG9hdCBrZXJuZWxMZW5ndGhZKQorICAgIGZsb2F0IHN1cmZhY2VTY2FsZSwgZmxvYXQgZGlm
ZnVzZUNvbnN0YW50LCBmbG9hdCBrZXJuZWxMZW5ndGhYLCBmbG9hdCBrZXJuZWxMZW5ndGhZKQog
ewogICAgIHZlYzIgcG9zID0gc2FtcGxlckNvb3JkKGxpZ2h0VmVjdG9ycyk7CiAgICAgdmVjMiBw
b3NuID0gc2FtcGxlckNvb3JkKG5vcm1hbFZlY3RvcnMpOwpAQCAtMzMsNyArMzIsNyBAQAogICAg
IHZlYzMgbCA9IGw0Lnh5ejsKICAgICBsID0gbm9ybWFsaXplKGwpOwogICAgIHZlYzMgbiA9IHNh
bXBsZShub3JtYWxWZWN0b3JzLCBwb3NuKS54eXo7Ci0gICAgZmxvYXQgbmwgPSBkb3QobCwgbik7
CisgICAgZmxvYXQgbmwgPSBkb3QobCwgbikgKiBkaWZmdXNlQ29uc3RhbnQ7CiAgICAgdmVjNCBy
ZXMgPSB2ZWM0KGxpZ2h0aW5nQ29sb3IuciAqIG5sLCBsaWdodGluZ0NvbG9yLmcgKiBubCwgbGln
aHRpbmdDb2xvci5iICogbmwsIDEuMCk7CiAgICAgcmVzLnh5eiAqPSBsNC53OwogICAgIHJldHVy
biByZXM7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL1NWR0ZF
Q29udm9sdmVNYXRyaXguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVDb252b2x2ZU1hdHJpeC5jcHAJKHJldmlzaW9uIDI1MTczKQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9TVkdGRUNvbnZvbHZlTWF0
cml4LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29weXJpZ2h0
IChDKSAyMDA0LCAyMDA1LCAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8d2lsZGZveEBrZGUub3Jn
PgorICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNyBOaWtvbGFzIFppbW1l
cm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDQsIDIwMDUg
Um9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDUgRXJpYyBTZWlk
ZWwgPGVyaWMuc2VpZGVsQGtkZW1haWwubmV0PgogCkBAIC0yOSw2ICsyOSwxOCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKK1NWR0ZFQ29udm9sdmVNYXRyaXg6OlNWR0ZFQ29udm9sdmVNYXRy
aXgoU1ZHUmVzb3VyY2VGaWx0ZXIqIGZpbHRlcikKKyAgICA6IFNWR0ZpbHRlckVmZmVjdChmaWx0
ZXIpCisgICAgLCBtX2tlcm5lbFNpemUoKQorICAgICwgbV9kaXZpc29yKDAuMCkKKyAgICAsIG1f
YmlhcygwLjApCisgICAgLCBtX3RhcmdldE9mZnNldCgpCisgICAgLCBtX2VkZ2VNb2RlKFNWR19F
REdFTU9ERV9VTktOT1dOKQorICAgICwgbV9rZXJuZWxVbml0TGVuZ3RoKCkKKyAgICAsIG1fcHJl
c2VydmVBbHBoYShmYWxzZSkKK3sKK30KKwogRmxvYXRTaXplIFNWR0ZFQ29udm9sdmVNYXRyaXg6
Omtlcm5lbFNpemUoKSBjb25zdAogewogICAgIHJldHVybiBtX2tlcm5lbFNpemU7CkluZGV4OiBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL1NWR0ZFSW1hZ2UuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVJbWFn
ZS5jcHAJKHJldmlzaW9uIDI1MTczKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcv
ZmlsdGVycy9TVkdGRUltYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8
d2lsZGZveEBrZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAw
NyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAgICAgICAgICAgICAg
ICAgIDIwMDQsIDIwMDUgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KICAgICAgICAgICAgICAgICAg
IDIwMDUgRXJpYyBTZWlkZWwgPGVyaWMuc2VpZGVsQGtkZW1haWwubmV0PgogCkBAIC0yOSw4ICsy
OSw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotU1ZHRkVJbWFnZTo6U1ZHRkVJbWFnZSgp
Ci0gICAgOiBtX2NhY2hlZEltYWdlKDApCitTVkdGRUltYWdlOjpTVkdGRUltYWdlKFNWR1Jlc291
cmNlRmlsdGVyKiBmaWx0ZXIpCisgICAgOiBTVkdGaWx0ZXJFZmZlY3QoZmlsdGVyKQorICAgICwg
bV9jYWNoZWRJbWFnZSgwKQogewogfQogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3N2Zy9maWx0ZXJzL1NWR0xpZ2h0U291cmNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9TVkdMaWdodFNvdXJjZS5oCShyZXZpc2lvbiAyNTE3
MykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHTGlnaHRTb3Vy
Y2UuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29weXJpZ2h0IChD
KSAyMDA0LCAyMDA1LCAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8d2lsZGZveEBrZGUub3JnPgor
ICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNyBOaWtvbGFzIFppbW1lcm1h
bm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDQsIDIwMDUgUm9i
IEJ1aXMgPGJ1aXNAa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDUgRXJpYyBTZWlkZWwg
PGVyaWMuc2VpZGVsQGtkZW1haWwubmV0PgogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3N2Zy9maWx0ZXJzL1NWR0ZFQmxlbmQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVCbGVuZC5jcHAJKHJldmlzaW9uIDI1MTcz
KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9TVkdGRUJsZW5kLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29weXJpZ2h0IChDKSAy
MDA0LCAyMDA1LCAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8d2lsZGZveEBrZGUub3JnPgorICAg
IENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNyBOaWtvbGFzIFppbW1lcm1hbm4g
PHppbW1lcm1hbm5Aa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDQsIDIwMDUgUm9iIEJ1
aXMgPGJ1aXNAa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDUgRXJpYyBTZWlkZWwgPGVy
aWMuc2VpZGVsQGtkZW1haWwubmV0PgogCkBAIC0yOSw2ICsyOSwxMiBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKK1NWR0ZFQmxlbmQ6OlNWR0ZFQmxlbmQoU1ZHUmVzb3VyY2VGaWx0ZXIqIGZp
bHRlcikKKyAgICA6IFNWR0ZpbHRlckVmZmVjdChmaWx0ZXIpCisgICAgLCBtX21vZGUoU1ZHX0ZF
QkxFTkRfTU9ERV9VTktOT1dOKQoreworfQorCiBTdHJpbmcgU1ZHRkVCbGVuZDo6aW4yKCkgY29u
c3QKIHsKICAgICByZXR1cm4gbV9pbjI7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3N2Zy9maWx0ZXJzL1NWR0ZpbHRlckVmZmVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9TVkdGaWx0ZXJFZmZlY3QuY3BwCShyZXZpc2lv
biAyNTE3MykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRmls
dGVyRWZmZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29w
eXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8d2lsZGZveEBr
ZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNyBOaWtvbGFz
IFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDQs
IDIwMDUgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDUgRXJp
YyBTZWlkZWwgPGVyaWMuc2VpZGVsQGtkZW1haWwubmV0PgogCkBAIC0yNywxMCArMjcsNTQgQEAK
ICNpbmNsdWRlICJTVkdGaWx0ZXJFZmZlY3QuaCIKIAogI2luY2x1ZGUgIlNWR1JlbmRlclRyZWVB
c1RleHQuaCIKKyNpbmNsdWRlICJTVkdSZXNvdXJjZUZpbHRlci5oIgogI2luY2x1ZGUgIlRleHRT
dHJlYW0uaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitTVkdGaWx0ZXJFZmZlY3Q6OlNWR0Zp
bHRlckVmZmVjdChTVkdSZXNvdXJjZUZpbHRlciogZmlsdGVyKQorICAgIDogbV9maWx0ZXIoZmls
dGVyKQoreworICAgIG1feEJCb3hNb2RlID0gZmFsc2U7CisgICAgbV95QkJveE1vZGUgPSBmYWxz
ZTsKKyAgICBtX3dpZHRoQkJveE1vZGUgPSBmYWxzZTsKKyAgICBtX2hlaWdodEJCb3hNb2RlID0g
ZmFsc2U7Cit9CisKK0Zsb2F0UmVjdCBTVkdGaWx0ZXJFZmZlY3Q6OnByaW1pdGl2ZUJCb3hGb3JG
aWx0ZXJCQm94KGNvbnN0IEZsb2F0UmVjdCYgZmlsdGVyQkJveCwgY29uc3QgRmxvYXRSZWN0JiBp
dGVtQkJveCkgY29uc3QKK3sKKyAgICBGbG9hdFJlY3Qgc3ViUmVnaW9uQkJveCA9IHN1YlJlZ2lv
bigpOworICAgIEZsb2F0UmVjdCB1c2VCQm94ID0gZmlsdGVyQkJveDsKKworICAgIEFTU0VSVCht
X2ZpbHRlcik7CisgICAgaWYgKCFtX2ZpbHRlcikKKyAgICAgICAgcmV0dXJuIEZsb2F0UmVjdCgp
OworCisgICAgaWYgKG1fZmlsdGVyLT5lZmZlY3RCb3VuZGluZ0JveE1vZGUoKSkgeworICAgICAg
ICBpZiAoIW1fZmlsdGVyLT5maWx0ZXJCb3VuZGluZ0JveE1vZGUoKSkKKyAgICAgICAgICAgIHVz
ZUJCb3ggPSBpdGVtQkJveDsKKworICAgICAgICBzdWJSZWdpb25CQm94ID0gRmxvYXRSZWN0KHVz
ZUJCb3gueCgpICsgc3ViUmVnaW9uQkJveC54KCkgKiB1c2VCQm94LndpZHRoKCksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlQkJveC55KCkgKyBzdWJSZWdpb25CQm94Lnko
KSAqIHVzZUJCb3guaGVpZ2h0KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c3ViUmVnaW9uQkJveC53aWR0aCgpICogdXNlQkJveC53aWR0aCgpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHN1YlJlZ2lvbkJCb3guaGVpZ2h0KCkgKiB1c2VCQm94LmhlaWdo
dCgpKTsKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAoeEJvdW5kaW5nQm94TW9kZSgpKQorICAg
ICAgICAgICAgc3ViUmVnaW9uQkJveC5zZXRYKHVzZUJCb3gueCgpICsgc3ViUmVnaW9uQkJveC54
KCkgKiB1c2VCQm94LndpZHRoKCkpOworCisgICAgICAgIGlmICh5Qm91bmRpbmdCb3hNb2RlKCkp
CisgICAgICAgICAgICBzdWJSZWdpb25CQm94LnNldFkodXNlQkJveC55KCkgKyBzdWJSZWdpb25C
Qm94LnkoKSAqIHVzZUJCb3guaGVpZ2h0KCkpOworCisgICAgICAgIGlmICh3aWR0aEJvdW5kaW5n
Qm94TW9kZSgpKQorICAgICAgICAgICAgc3ViUmVnaW9uQkJveC5zZXRXaWR0aChzdWJSZWdpb25C
Qm94LndpZHRoKCkgKiB1c2VCQm94LndpZHRoKCkpOworCisgICAgICAgIGlmIChoZWlnaHRCb3Vu
ZGluZ0JveE1vZGUoKSkKKyAgICAgICAgICAgIHN1YlJlZ2lvbkJCb3guc2V0SGVpZ2h0KHN1YlJl
Z2lvbkJCb3guaGVpZ2h0KCkgKiB1c2VCQm94LmhlaWdodCgpKTsKKyAgICB9CisKKyAgICByZXR1
cm4gc3ViUmVnaW9uQkJveDsKK30KKwogRmxvYXRSZWN0IFNWR0ZpbHRlckVmZmVjdDo6c3ViUmVn
aW9uKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9zdWJSZWdpb247CkBAIC02MSw2ICsxMDUsMTYg
QEAKICAgICBtX3Jlc3VsdCA9IHJlc3VsdDsKIH0KIAorU1ZHUmVzb3VyY2VGaWx0ZXIqIFNWR0Zp
bHRlckVmZmVjdDo6ZmlsdGVyKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9maWx0ZXI7Cit9CisK
K3ZvaWQgU1ZHRmlsdGVyRWZmZWN0OjpzZXRGaWx0ZXIoU1ZHUmVzb3VyY2VGaWx0ZXIqIGZpbHRl
cikKK3sKKyAgICBtX2ZpbHRlciA9IGZpbHRlcjsKK30KKwogVGV4dFN0cmVhbSYgU1ZHRmlsdGVy
RWZmZWN0OjpleHRlcm5hbFJlcHJlc2VudGF0aW9uKFRleHRTdHJlYW0mIHRzKSBjb25zdAogewog
ICAgIGlmICghaW4oKS5pc0VtcHR5KCkpCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3N2Zy9maWx0ZXJzL1NWR0ZFT2Zmc2V0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9zdmcvZmlsdGVycy9TVkdGRU9mZnNldC5oCShyZXZpc2lvbiAyNTE3MykKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVPZmZzZXQuaAkod29y
a2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDA0LCAy
MDA1LCAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8d2lsZGZveEBrZGUub3JnPgorICAgIENvcHly
aWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1l
cm1hbm5Aa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDQsIDIwMDUgUm9iIEJ1aXMgPGJ1
aXNAa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDUgRXJpYyBTZWlkZWwgPGVyaWMuc2Vp
ZGVsQGtkZW1haWwubmV0PgogCkBAIC0zMSw2ICszMSw4IEBACiAKIGNsYXNzIFNWR0ZFT2Zmc2V0
IDogcHVibGljIFNWR0ZpbHRlckVmZmVjdCB7CiBwdWJsaWM6CisgICAgU1ZHRkVPZmZzZXQoU1ZH
UmVzb3VyY2VGaWx0ZXIqKTsKKwogICAgIGZsb2F0IGR4KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRE
eChmbG9hdCk7CiAKQEAgLTQwLDcgKzQyLDcgQEAKICAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4
dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYpIGNvbnN0OwogCiAjaWYgUExBVEZPUk0o
Q0kpCi0gICAgdmlydHVhbCBDSUZpbHRlciogZ2V0Q0lGaWx0ZXIoU1ZHUmVzb3VyY2VGaWx0ZXIq
KSBjb25zdDsKKyAgICB2aXJ0dWFsIENJRmlsdGVyKiBnZXRDSUZpbHRlcihjb25zdCBGbG9hdFJl
Y3QmIGJib3gpIGNvbnN0OwogI2VuZGlmCiAKIHByaXZhdGU6CkluZGV4OiBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL1NWR0ZFTWVyZ2UuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVNZXJnZS5jcHAJKHJldmlz
aW9uIDI1MTczKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9TVkdG
RU1lcmdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29weXJp
Z2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8d2lsZGZveEBrZGUu
b3JnPgorICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNyBOaWtvbGFzIFpp
bW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDQsIDIw
MDUgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDUgRXJpYyBT
ZWlkZWwgPGVyaWMuc2VpZGVsQGtkZW1haWwubmV0PgogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3N2Zy9maWx0ZXJzL1NWR0ZFQ29tcG9zaXRlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL1NWR0ZFQ29tcG9zaXRlLmNwcAko
cmV2aXNpb24gMjUxNzMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJz
L1NWR0ZFQ29tcG9zaXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
ICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8d2ls
ZGZveEBrZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNyBO
aWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAgICAgICAgICAgICAgICAg
IDIwMDQsIDIwMDUgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIw
MDUgRXJpYyBTZWlkZWwgPGVyaWMuc2VpZGVsQGtkZW1haWwubmV0PgogCkBAIC0yOSw2ICsyOSwx
NiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK1NWR0ZFQ29tcG9zaXRlOjpTVkdGRUNvbXBv
c2l0ZShTVkdSZXNvdXJjZUZpbHRlciogZmlsdGVyKQorICAgIDogU1ZHRmlsdGVyRWZmZWN0KGZp
bHRlcikKKyAgICAsIG1fb3BlcmF0aW9uKFNWR19GRUNPTVBPU0lURV9PUEVSQVRPUl9VTktOT1dO
KQorICAgICwgbV9rMSgwLjApCisgICAgLCBtX2syKDAuMCkKKyAgICAsIG1fazMoMC4wKQorICAg
ICwgbV9rNCgwLjApCit7Cit9CisKIFN0cmluZyBTVkdGRUNvbXBvc2l0ZTo6aW4yKCkgY29uc3QK
IHsKICAgICByZXR1cm4gbV9pbjI7CkluZGV4OiBXZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjUxNzMpCisrKyBXZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1MyBAQAorMjAwNy0wOC0yMSAgTmlrb2xh
cyBaaW1tZXJtYW5uICA8emltbWVybWFubkBrZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExhcmdlIFNWRyBmaWx0ZXIgcmV3b3JrLiBCcmlu
ZyBpdCBiYWNrIGluIGEgdXNlYWJsZSBzdGF0ZS4KKworICAgICAgICBGaXhlczogaHR0cDovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTUyNyAoRmlsdGVycyBuZWVkIHN1YnJlZ2lv
biBzdXBwb3J0KQorICAgICAgICBGaXhlczogaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTU3OSAoV2ViS2l0K1NWRyByZW5kZXJzIGZ1bGwtZmlsdGVycy1leGFtcGxlIGlu
Y29ycmVjdGx5KQorICAgICAgICBGaXhlczogaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTk3NiAoZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBpcyBicm9rZW4gKGJy
ZWFraW5nIGZlVGlsZSB0ZXN0IGNhc2UpKQorICAgICAgICBGaXhlczogaHR0cDovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIwNjQgKE5lZWQgZnVuY3Rpb24gZm9yIG1hbnVhbCBz
dHlsZS1yZXNvbHV0aW9uIGZvciB0aGluZ3MgbGlrZSBncmFkaWVudCBzdG9wcykKKworICAgICAg
ICBmaWx0ZXJzLWJsZW5kLTAxLWIuc3ZnICYgZmlsdGVycy1leGFtcGxlLTAxLWIuc3ZnICYgZmls
dGVycy1kaXNwbGFjZS0wMS1iLnN2ZyAmIGZpbHRlcnMtZGlmZnVzZS0wMS1mLnN2ZyBhcmUgZml4
ZWQgbm93LgorCisgICAgICAgIEluIGRldGFpbDoKKyAgICAgICAgLSBmbG9vZC1jb2xvciAmIGZs
b29kLW9wYWNpdHkgaGF2ZSBiZWVuIGluY29ycmVjdGx5IHJlc29sdmVkIG9uIHRoZSA8ZmVCbGVu
ZD4gcGFyZW50IGVsZW1lbnQhCisgICAgICAgIC0gc2l6aW5nIG9mIGZpbHRlciByZWdpb24gd2Fz
IHRydW5jYXRlZCBpbiBzb21lIGNhc2VzLCBhcyB0aGUgYmJveCB3YXMgdXNlZCB0byByZXNvbHZl
IHRoZSBuZWVkZWQgZmlsdGVyIHJlZ2lvbiBpbnN0ZWFkIG9mIHRoZSBmaWx0ZXIgcmVjdAorICAg
ICAgICAtIGFkZCBzdWJyZWdpb24gc3VwcG9ydCB0byBhbGwgZmlsdGVyIHByaW1pdGl2ZXMgKHBy
aW1pdGl2ZVVuaXRzICYgZmlsdGVyVW5pdHMgaGFuZGxlZCBpbiBhbGwgY2FzZXMpCisgICAgICAg
IC0gV0tEaXNwbGFjbWVudE1hcC5jaWtlcm5lbCBpbmNvcnJlY3RseSBmbGlwcGVkIHRoZSB5LWF4
aXMuCisgICAgICAgIC0gQ29ycmVjdGx5IHNwZWNpZnkgZGVmYXVsdCB2YWx1ZXMgZm9yIGFsbCBm
aWx0ZXIgcHJpbWl0aXZlcyBpbiBrc3ZnMi9zdmchCisgICAgICAgIC0gSW5pdGlhbGl6ZSBhbGwg
dmFyaWFibGVzIG9mIHRoZSBTVkdGRSogY2xhc3NlcyBpbiBwbGF0Zm9ybS9ncmFwaGljcy9zdmcv
ZmlsdGVycy4KKyAgICAgICAgLSBGaXggJ2Zsb29kLWNvbG9yJyBpbml0aWFsIHZhbHVlICh3YXMg
c2V0IHRvIHRoZSBfc3RvcF8gY29sb3IgaW5pdGlhbCB2YWx1ZSkKKyAgICAgICAgICAtPiBib3Ro
IGluaXRpYWwgdmFsdWVzIHdlcmUgcG9pbnRpbmcgdG8gJ2JsYWNrJyB0aG91Z2gsIHNvIGl0IHdh
cyBubyB2aXNpYmxlIHByb2JsZW0uCisgICAgICAgIC0gUGFyc2UgJ2xpZ2h0aW5nLWNvbG9yJyBj
c3MgcHJvcGVydHksIG5vIG1vcmUgaGFja2luZyBpbiBTVkdGRURpZmZ1c2VMaWdodGluZy4KKyAg
ICAgICAgICAtPiBDb3JyZWN0IGl0J3MgaW5pdGlhbCBmcm9tIGJsYWNrIHRvIHdoaXRlIHZhbHVl
IGZpeGVzIFNWRyBsaWdodGluZyBmaWx0ZXJzIQorICAgICAgICAtIEFkZCBkaWZmdXNlQ29uc3Rh
bnQgc3VwcG9ydCB0byBmZURpZmZ1c2VMaWdodGluZyBmaWx0ZXIuCisgICAgICAgIC0gQ2VudHJh
bGl6ZSBtYW51YWwgc3R5bGUgcmVzb2x1dGlvbiAobmVlZGVkIGZvciBzdG9wLWNvbG9yLCBmbG9v
ZC1jb2xvciAmIGZsb29kLW9wYWNpdHksIGxpZ2h0aW5nLWNvbG9yKQorCisgICAgICAgICoga3N2
ZzIvY3NzL1NWR0NTU1BhcnNlci5jcHA6CisgICAgICAgICoga3N2ZzIvY3NzL1NWR0NTU1N0eWxl
U2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlT
VkdQcm9wZXJ0eSk6CisgICAgICAgICoga3N2ZzIvY3NzL1NWR1JlbmRlclN0eWxlLmg6CisgICAg
ICAgICoga3N2ZzIvY3NzL1NWR1JlbmRlclN0eWxlRGVmcy5jcHA6CisgICAgICAgIChTdHlsZU1p
c2NEYXRhOjpTdHlsZU1pc2NEYXRhKToKKyAgICAgICAgKFN0eWxlTWlzY0RhdGE6Om9wZXJhdG9y
PT0pOgorICAgICAgICAqIGtzdmcyL2Nzcy9TVkdSZW5kZXJTdHlsZURlZnMuaDoKKyAgICAgICAg
KiBrc3ZnMi9zdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQ6OlNWR0Nv
bXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50KToKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZH
RkVCbGVuZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVCbGVuZEVsZW1lbnQ6
OlNWR0ZFQmxlbmRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFQmxlbmRFbGVtZW50
OjpmaWx0ZXJFZmZlY3QpOgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdGRUJsZW5kRWxlbWVudC5o
OgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdGRUNvbG9yTWF0cml4RWxlbWVudDo6U1ZHRkVDb2xvck1hdHJpeEVs
ZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQ6OmZpbHRl
ckVmZmVjdCk6CisgICAgICAgICoga3N2ZzIvc3ZnL1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50Lmg6
CisgICAgICAgICoga3N2ZzIvc3ZnL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50OjpmaWx0ZXJF
ZmZlY3QpOgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVu
dC5oOgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHRkVDb21wb3NpdGVFbGVtZW50OjpTVkdGRUNvbXBvc2l0ZUVsZW1l
bnQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVDb21wb3NpdGVFbGVtZW50OjpwYXJzZU1hcHBl
ZEF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRUNvbXBvc2l0ZUVsZW1lbnQ6OmZp
bHRlckVmZmVjdCk6CisgICAgICAgICoga3N2ZzIvc3ZnL1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5o
OgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50OjpTVkdGRURpZmZ1
c2VMaWdodGluZ0VsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVEaWZmdXNlTGlnaHRp
bmdFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdG
RURpZmZ1c2VMaWdodGluZ0VsZW1lbnQ6OmZpbHRlckVmZmVjdCk6CisgICAgICAgICoga3N2ZzIv
c3ZnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5oOgorICAgICAgICAqIGtzdmcyL3N2Zy9T
VkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVE
aXNwbGFjZW1lbnRNYXBFbGVtZW50OjpTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50OjpmaWx0ZXJFZmZlY3Qp
OgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuaDoKKyAg
ICAgICAgKiBrc3ZnMi9zdmcvU1ZHRkVEaXN0YW50TGlnaHRFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0ZFRGlzdGFudExpZ2h0RWxlbWVudDo6U1ZHRkVEaXN0YW50TGlnaHRFbGVt
ZW50KToKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHRkVEaXN0YW50TGlnaHRFbGVtZW50Lmg6Cisg
ICAgICAgICoga3N2ZzIvc3ZnL1NWR0ZFRmxvb2RFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNWR0ZFRmxvb2RFbGVtZW50OjpmaWx0ZXJFZmZlY3QpOgorICAgICAgICAqIGtzdmcyL3N2
Zy9TVkdGRUZsb29kRWxlbWVudC5oOgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdGRUZ1bmNBRWxl
bWVudC5jcHA6CisgICAgICAgICoga3N2ZzIvc3ZnL1NWR0ZFRnVuY0FFbGVtZW50Lmg6CisgICAg
ICAgICoga3N2ZzIvc3ZnL1NWR0ZFRnVuY0JFbGVtZW50LmNwcDoKKyAgICAgICAgKiBrc3ZnMi9z
dmcvU1ZHRkVGdW5jQkVsZW1lbnQuaDoKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHRkVGdW5jR0Vs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVGdW5jR0VsZW1lbnQ6OlNWR0ZFRnVu
Y0dFbGVtZW50KToKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHRkVGdW5jR0VsZW1lbnQuaDoKKyAg
ICAgICAgKiBrc3ZnMi9zdmcvU1ZHRkVGdW5jUkVsZW1lbnQuY3BwOgorICAgICAgICAqIGtzdmcy
L3N2Zy9TVkdGRUZ1bmNSRWxlbWVudC5oOgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdGRUdhdXNz
aWFuQmx1ckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVHYXVzc2lhbkJsdXJF
bGVtZW50OjpmaWx0ZXJFZmZlY3QpOgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdGRUdhdXNzaWFu
Qmx1ckVsZW1lbnQuaDoKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVJbWFnZUVsZW1lbnQ6Om5vdGlmeUZpbmlzaGVkKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFSW1hZ2VFbGVtZW50OjpmaWx0ZXJFZmZlY3QpOgorICAg
ICAgICAqIGtzdmcyL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5oOgorICAgICAgICAqIGtzdmcyL3N2
Zy9TVkdGRUxpZ2h0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRUxpZ2h0RWxl
bWVudDo6U1ZHRkVMaWdodEVsZW1lbnQpOgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdGRUxpZ2h0
RWxlbWVudC5oOgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdGRU1lcmdlRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdGRU1lcmdlRWxlbWVudDo6ZmlsdGVyRWZmZWN0KToKKyAgICAg
ICAgKiBrc3ZnMi9zdmcvU1ZHRkVNZXJnZUVsZW1lbnQuaDoKKyAgICAgICAgKiBrc3ZnMi9zdmcv
U1ZHRkVNZXJnZU5vZGVFbGVtZW50LmNwcDoKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHRkVNZXJn
ZU5vZGVFbGVtZW50Lmg6CisgICAgICAgICoga3N2ZzIvc3ZnL1NWR0ZFT2Zmc2V0RWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRU9mZnNldEVsZW1lbnQ6OmZpbHRlckVmZmVjdCk6
CisgICAgICAgICoga3N2ZzIvc3ZnL1NWR0ZFT2Zmc2V0RWxlbWVudC5oOgorICAgICAgICAqIGtz
dmcyL3N2Zy9TVkdGRVBvaW50TGlnaHRFbGVtZW50Lmg6CisgICAgICAgICoga3N2ZzIvc3ZnL1NW
R0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVT
cGVjdWxhckxpZ2h0aW5nRWxlbWVudDo6U1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50OjpwYXJzZU1hcHBl
ZEF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVt
ZW50OjpmaWx0ZXJFZmZlY3QpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVTcGVjdWxhckxpZ2h0
aW5nRWxlbWVudDo6dXBkYXRlTGlnaHRzKToKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHRkVTcGVj
dWxhckxpZ2h0aW5nRWxlbWVudC5oOgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdGRVNwb3RMaWdo
dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVTcG90TGlnaHRFbGVtZW50Ojps
aWdodFNvdXJjZSk6CisgICAgICAgICoga3N2ZzIvc3ZnL1NWR0ZFU3BvdExpZ2h0RWxlbWVudC5o
OgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdGRVRpbGVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0ZFVGlsZUVsZW1lbnQ6OmZpbHRlckVmZmVjdCk6CisgICAgICAgICoga3N2ZzIv
c3ZnL1NWR0ZFVGlsZUVsZW1lbnQuaDoKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHRkVUdXJidWxl
bmNlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRVR1cmJ1bGVuY2VFbGVtZW50
OjpTVkdGRVR1cmJ1bGVuY2VFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFVHVyYnVs
ZW5jZUVsZW1lbnQ6OmZpbHRlckVmZmVjdCk6CisgICAgICAgICoga3N2ZzIvc3ZnL1NWR0ZFVHVy
YnVsZW5jZUVsZW1lbnQuaDoKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHRmlsdGVyRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGaWx0ZXJFbGVtZW50OjpjYW52YXNSZXNvdXJjZSk6
CisgICAgICAgICoga3N2ZzIvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuaDoKKyAgICAgICAgKiBrc3Zn
Mi9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczo6U1ZHRmlsdGVy
UHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRl
clByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczo6c2V0U3RhbmRhcmRBdHRyaWJ1dGVzKToKKyAg
ICAgICAgKiBrc3ZnMi9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmg6
CisgICAgICAgICoga3N2ZzIvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdHcmFkaWVudEVsZW1lbnQ6OmJ1aWxkU3RvcHMpOgorICAgICAgICAqIGtzdmcy
L3N2Zy9TVkdTdHlsZWRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1N0eWxlZEVs
ZW1lbnQ6OnJlc29sdmVTdHlsZSk6CisgICAgICAgICoga3N2ZzIvc3ZnL1NWR1N0eWxlZEVsZW1l
bnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9zdmcvU1ZHUmVzb3VyY2VGaWx0ZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVzb3VyY2VGaWx0ZXI6OmFkZEZpbHRlckVmZmVj
dCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZXNvdXJjZUZpbHRlcjo6ZmlsdGVyQkJveEZvckl0
ZW1CQm94KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9zdmcvU1ZHUmVzb3VyY2VGaWx0
ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jlc291cmNlRmlsdGVyOjp4Qm91bmRpbmdCb3hN
b2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jlc291cmNlRmlsdGVyOjpzZXRYQm91bmRpbmdC
b3hNb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jlc291cmNlRmlsdGVyOjp5Qm91bmRpbmdC
b3hNb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jlc291cmNlRmlsdGVyOjpzZXRZQm91bmRp
bmdCb3hNb2RlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9zdmcvY2cvU1ZHUmVzb3Vy
Y2VGaWx0ZXJDZy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jlc291cmNlRmlsdGVyOjpTVkdS
ZXNvdXJjZUZpbHRlcik6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZXNvdXJjZUZpbHRlcjo6Y3Jl
YXRlRmlsdGVyRWZmZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jlc291cmNlRmlsdGVyOjpw
cmVwYXJlRmlsdGVyKToKKyAgICAgICAgKFdlYkNvcmU6OmR1bXBPdXRwdXRJbWFnZSk6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdSZXNvdXJjZUZpbHRlcjo6YXBwbHlGaWx0ZXIpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHUmVzb3VyY2VGaWx0ZXI6OmdldENJRmlsdGVyU3RhY2spOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHUmVzb3VyY2VGaWx0ZXI6OmltYWdlRm9yTmFtZSk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdSZXNvdXJjZUZpbHRlcjo6c2V0SW1hZ2VGb3JOYW1lKToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1Jlc291cmNlRmlsdGVyOjpzZXRPdXRwdXRJbWFnZSk6CisgICAgICAgIChXZWJDb3Jl
OjphbHBoYUltYWdlRm9ySW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVzb3VyY2VGaWx0
ZXI6OmlucHV0SW1hZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJz
L1NWR0Rpc3RhbnRMaWdodFNvdXJjZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3N2
Zy9maWx0ZXJzL1NWR0ZFQmxlbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVCbGVuZDo6
U1ZHRkVCbGVuZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZH
RkVCbGVuZC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL1NWR0ZF
Q29sb3JNYXRyaXguY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVDb2xvck1hdHJpeDo6U1ZH
RkVDb2xvck1hdHJpeCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMv
U1ZHRkVDb2xvck1hdHJpeC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0
ZXJzL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVD
b21wb25lbnRUcmFuc2Zlcjo6U1ZHRkVDb21wb25lbnRUcmFuc2Zlcik6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVDb21wb25lbnRUcmFuc2Zlci5oOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbjo6U1ZHQ29tcG9uZW50
VHJhbnNmZXJGdW5jdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRl
cnMvU1ZHRkVDb21wb3NpdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVDb21wb3NpdGU6
OlNWR0ZFQ29tcG9zaXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVy
cy9TVkdGRUNvbXBvc2l0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0
ZXJzL1NWR0ZFQ29udm9sdmVNYXRyaXguY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVDb252
b2x2ZU1hdHJpeDo6U1ZHRkVDb252b2x2ZU1hdHJpeCk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVDb252b2x2ZU1hdHJpeC5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0ZFRGlmZnVzZUxpZ2h0aW5nOjpTVkdGRURpZmZ1c2VMaWdodGluZyk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVEaWZmdXNlTGln
aHRpbmcuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9TVkdGRURp
c3BsYWNlbWVudE1hcC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRURpc3BsYWNlbWVudE1h
cDo6U1ZHRkVEaXNwbGFjZW1lbnRNYXApOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3N2
Zy9maWx0ZXJzL1NWR0ZFRGlzcGxhY2VtZW50TWFwLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVGbG9vZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdG
RUZsb29kOjpTVkdGRUZsb29kKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmls
dGVycy9TVkdGRUZsb29kLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRl
cnMvU1ZHRkVHYXVzc2lhbkJsdXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVHYXVzc2lh
bkJsdXI6OlNWR0ZFR2F1c3NpYW5CbHVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9z
dmcvZmlsdGVycy9TVkdGRUdhdXNzaWFuQmx1ci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL3N2Zy9maWx0ZXJzL1NWR0ZFSW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVJ
bWFnZTo6U1ZHRkVJbWFnZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRl
cnMvU1ZHRkVJbWFnZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJz
L1NWR0ZFTWVyZ2UuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJz
L1NWR0ZFTWVyZ2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFTWVyZ2U6OlNWR0ZFTWVyZ2Up
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL1NWR0ZFTW9ycGhvbG9n
eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRU1vcnBob2xvZ3k6OlNWR0ZFTW9ycGhvbG9n
eSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVNb3JwaG9s
b2d5Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVPZmZz
ZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVPZmZzZXQ6OlNWR0ZFT2Zmc2V0KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9TVkdGRU9mZnNldC5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL1NWR0ZFU3BlY3VsYXJMaWdodGlu
Zy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRVNwZWN1bGFyTGlnaHRpbmc6OlNWR0ZFU3Bl
Y3VsYXJMaWdodGluZyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMv
U1ZHRkVTcGVjdWxhckxpZ2h0aW5nLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc3Zn
L2ZpbHRlcnMvU1ZHRkVUaWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRVRpbGU6OlNWR0ZF
VGlsZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRkVUdXJi
dWxlbmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFVHVyYnVsZW5jZTo6U1ZHRkVUdXJi
dWxlbmNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9TVkdGRVR1
cmJ1bGVuY2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9TVkdG
aWx0ZXJFZmZlY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyRWZmZWN0OjpTVkdG
aWx0ZXJFZmZlY3QpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyRWZmZWN0OjpwcmltaXRp
dmVCQm94Rm9yRmlsdGVyQkJveCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdGaWx0ZXJFZmZlY3Q6
OmZpbHRlcik6CisgICAgICAgIChXZWJDb3JlOjpTVkdGaWx0ZXJFZmZlY3Q6OnNldEZpbHRlcik6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvU1ZHRmlsdGVyRWZmZWN0
Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdGaWx0ZXJFZmZlY3Q6OnhCb3VuZGluZ0JveE1vZGUp
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyRWZmZWN0OjpzZXRYQm91bmRpbmdCb3hNb2Rl
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlckVmZmVjdDo6eUJvdW5kaW5nQm94TW9kZSk6
CisgICAgICAgIChXZWJDb3JlOjpTVkdGaWx0ZXJFZmZlY3Q6OnNldFlCb3VuZGluZ0JveE1vZGUp
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyRWZmZWN0Ojp3aWR0aEJvdW5kaW5nQm94TW9k
ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdGaWx0ZXJFZmZlY3Q6OnNldFdpZHRoQm91bmRpbmdC
b3hNb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlckVmZmVjdDo6aGVpZ2h0Qm91bmRp
bmdCb3hNb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlckVmZmVjdDo6c2V0SGVpZ2h0
Qm91bmRpbmdCb3hNb2RlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVy
cy9TVkdMaWdodFNvdXJjZS5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2Zp
bHRlcnMvU1ZHTGlnaHRTb3VyY2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9zdmcv
ZmlsdGVycy9TVkdQb2ludExpZ2h0U291cmNlLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQb2lu
dExpZ2h0U291cmNlOjpTVkdQb2ludExpZ2h0U291cmNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9zdmcvZmlsdGVycy9TVkdTcG90TGlnaHRTb3VyY2UuaDoKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1Nwb3RMaWdodFNvdXJjZTo6U1ZHU3BvdExpZ2h0U291cmNlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9jZy9TVkdGRUJsZW5kQ2cubW06CisgICAgICAg
IChXZWJDb3JlOjpTVkdGRUJsZW5kOjpnZXRDSUZpbHRlcik6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvY2cvU1ZHRkVDb2xvck1hdHJpeENnLm1tOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHRkVDb2xvck1hdHJpeDo6Z2V0Q0lGaWx0ZXIpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL2NnL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJDZy5tbToK
KyAgICAgICAgKFdlYkNvcmU6OmZpbHRlckZvckNvbXBvbmVudEZ1bmMpOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHRkVDb21wb25lbnRUcmFuc2Zlcjo6Z2V0Q0lGaWx0ZXIpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL2NnL1NWR0ZFQ29tcG9zaXRlQ2cubW06CisgICAg
ICAgIChXZWJDb3JlOjpTVkdGRUNvbXBvc2l0ZTo6Z2V0Q0lGaWx0ZXIpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL2NnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nQ2cubW06
CisgICAgICAgIChXZWJDb3JlOjpTVkdGRURpZmZ1c2VMaWdodGluZzo6Z2V0Q0lGaWx0ZXIpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL2NnL1NWR0ZFRGlzcGxhY2Vt
ZW50TWFwQ2cubW06CisgICAgICAgIChXZWJDb3JlOjpTVkdGRURpc3BsYWNlbWVudE1hcDo6Z2V0
Q0lGaWx0ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL2NnL1NW
R0ZFRmxvb2RDZy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFRmxvb2Q6OmdldENJRmlsdGVy
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9jZy9TVkdGRUdhdXNz
aWFuQmx1ckNnLm1tOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVHYXVzc2lhbkJsdXI6OmdldENJ
RmlsdGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9jZy9TVkdG
RUhlbHBlcnNDZy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL2Nn
L1NWR0ZFSW1hZ2VDZy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFSW1hZ2U6OmdldENJRmls
dGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9jZy9TVkdGRU1l
cmdlQ2cubW06CisgICAgICAgIChXZWJDb3JlOjpTVkdGRU1lcmdlOjpnZXRDSUZpbHRlcik6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvY2cvU1ZHRkVPZmZzZXRDZy5t
bToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFT2Zmc2V0OjpnZXRDSUZpbHRlcik6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvY2cvU1ZHRkVTcGVjdWxhckxpZ2h0aW5n
Q2cubW06CisgICAgICAgIChXZWJDb3JlOjpTVkdGRVNwZWN1bGFyTGlnaHRpbmc6OmdldENJRmls
dGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9zdmcvZmlsdGVycy9jZy9TVkdGRVRp
bGVDZy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFVGlsZTo6Z2V0Q0lGaWx0ZXIpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3N2Zy9maWx0ZXJzL2NnL1NWR0ZpbHRlckVmZmVjdENn
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyRWZmZWN0OjpnZXRDSUZpbHRlcik6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvY2cvV0tEaWZmdXNlTGlnaHRp
bmdGaWx0ZXIuY2lrZXJuZWw6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRl
cnMvY2cvV0tEaXNwbGFjZW1lbnRNYXBGaWx0ZXIuY2lrZXJuZWw6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3Mvc3ZnL2ZpbHRlcnMvY2cvV0tTcG90TGlnaHRGaWx0ZXIubToKKyAgICAgICAg
KC1bV0tTcG90TGlnaHRGaWx0ZXIgb3V0cHV0SW1hZ2VdKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9zdmcvcXQvU1ZHUmVzb3VyY2VGaWx0ZXJRdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdSZXNvdXJjZUZpbHRlcjo6Y3JlYXRlRmlsdGVyRWZmZWN0KToKKwogMjAwNy0wOC0yMCAg
Um9iIEJ1aXMgIDxidWlzQGtkZS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTmlrb2xhcy4K
SW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5oCShyZXZpc2lv
biAyNTE3MykKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMDQs
IDIwMDUgTmlrb2xhcyBaaW1tZXJtYW5uIDx3aWxkZm94QGtkZS5vcmc+CisgICAgQ29weXJpZ2h0
IChDKSAyMDA0LCAyMDA1LCAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUu
b3JnPgogICAgICAgICAgICAgICAgICAgMjAwNCwgMjAwNSwgMjAwNiBSb2IgQnVpcyA8YnVpc0Br
ZGUub3JnPgogCiAgICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBwcm9qZWN0CkBAIC0y
Miw4ICsyMiw4IEBACiAKICNpZm5kZWYgU1ZHRkVDb21wb3NpdGVFbGVtZW50X2gKICNkZWZpbmUg
U1ZHRkVDb21wb3NpdGVFbGVtZW50X2gKLSNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUoU1ZHX0VY
UEVSSU1FTlRBTF9GRUFUVVJFUykKIAorI2lmIEVOQUJMRShTVkcpICYmIEVOQUJMRShTVkdfRVhQ
RVJJTUVOVEFMX0ZFQVRVUkVTKQogI2luY2x1ZGUgIlNWR0ZFQ29tcG9zaXRlLmgiCiAjaW5jbHVk
ZSAiU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmgiCiAKQEAgLTM2LDEyICsz
Niw5IEBACiAgICAgICAgIFNWR0ZFQ29tcG9zaXRlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQqKTsKICAgICAgICAgdmlydHVhbCB+U1ZHRkVDb21wb3NpdGVFbGVtZW50KCk7
CiAKLSAgICAgICAgLy8gJ1NWR0ZFQ29tcG9zaXRlRWxlbWVudCcgZnVuY3Rpb25zCi0gICAgICAg
IC8vIERlcml2ZWQgZnJvbTogJ0VsZW1lbnQnCi0gICAgICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1h
cHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUqIGF0dHIpOworICAgICAgICB2aXJ0dWFsIHZv
aWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKik7CisgICAgICAgIHZpcnR1
YWwgU1ZHRkVDb21wb3NpdGUqIGZpbHRlckVmZmVjdChTVkdSZXNvdXJjZUZpbHRlciopIGNvbnN0
OwogCi0gICAgICAgIHZpcnR1YWwgU1ZHRkVDb21wb3NpdGUqIGZpbHRlckVmZmVjdCgpIGNvbnN0
OwotCiAgICAgcHJvdGVjdGVkOgogICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNv
bnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQogCkBAIC01Myw2ICs1MCw3IEBA
CiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUNvbXBvc2l0ZUVs
ZW1lbnQsIGRvdWJsZSwgZG91YmxlLCBLMiwgazIpCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZ
X0RFQ0xBUkFUSU9OUyhTVkdGRUNvbXBvc2l0ZUVsZW1lbnQsIGRvdWJsZSwgZG91YmxlLCBLMywg
azMpCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUNvbXBvc2l0
ZUVsZW1lbnQsIGRvdWJsZSwgZG91YmxlLCBLNCwgazQpCisKICAgICAgICAgbXV0YWJsZSBTVkdG
RUNvbXBvc2l0ZSogbV9maWx0ZXJFZmZlY3Q7CiAgICAgfTsKIApJbmRleDogV2ViQ29yZS9rc3Zn
Mi9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9rc3ZnMi9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmgJKHJldmlzaW9uIDI1MTcz
KQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmgJKHdv
cmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICAgIENvcHlyaWdodCAoQykgMjAwNCwg
MjAwNSBOaWtvbGFzIFppbW1lcm1hbm4gPHdpbGRmb3hAa2RlLm9yZz4KKyAgICBDb3B5cmlnaHQg
KEMpIDIwMDQsIDIwMDUsIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5v
cmc+CiAgICAgICAgICAgICAgICAgICAyMDA0LCAyMDA1IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+
CiAgICAgICAgICAgICAgICAgICAyMDA1IE9saXZlciBIdW50IDxvamgxNkBzdHVkZW50LmNhbnRl
cmJ1cnkuYWMubno+CiAKQEAgLTIxLDI2ICsyMSwyMyBAQAogCiAjaWZuZGVmIFNWR0ZFRGlmZnVz
ZUxpZ2h0aW5nRWxlbWVudF9oCiAjZGVmaW5lIFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudF9o
Ci0jaWYgRU5BQkxFKFNWRykgJiYgRU5BQkxFKFNWR19FWFBFUklNRU5UQUxfRkVBVFVSRVMpCiAK
KyNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykKICNp
bmNsdWRlICJTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNWR0ZFRGlmZnVzZUxpZ2h0aW5nOwogICAgIGNsYXNz
IFNWR0NvbG9yOwotICAgIAorCiAgICAgY2xhc3MgU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50
IDogcHVibGljIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcwogICAgIHsKICAg
ICBwdWJsaWM6CiAgICAgICAgIFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKICAgICAgICAgdmlydHVhbCB+U1ZHRkVEaWZmdXNlTGln
aHRpbmdFbGVtZW50KCk7CiAKLSAgICAgICAgLy8gJ1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVu
dCcgZnVuY3Rpb25zCi0gICAgICAgIC8vIERlcml2ZWQgZnJvbTogJ0VsZW1lbnQnCi0gICAgICAg
IHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUgKmF0dHIp
OworICAgICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmli
dXRlKik7CisgICAgICAgIHZpcnR1YWwgU1ZHRmlsdGVyRWZmZWN0KiBmaWx0ZXJFZmZlY3QoU1ZH
UmVzb3VyY2VGaWx0ZXIqKSBjb25zdDsKIAotICAgICAgICB2aXJ0dWFsIFNWR0ZpbHRlckVmZmVj
dCAqZmlsdGVyRWZmZWN0KCkgY29uc3Q7Ci0KICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIHZpcnR1
YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlz
OyB9CiAKQEAgLTQ4LDEzICs0NSwxMSBAQAogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNM
QVJBVElPTlMoU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LCBTdHJpbmcsIFN0cmluZywgSW4x
LCBpbjEpCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRURpZmZ1
c2VMaWdodGluZ0VsZW1lbnQsIGRvdWJsZSwgZG91YmxlLCBEaWZmdXNlQ29uc3RhbnQsIGRpZmZ1
c2VDb25zdGFudCkKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZF
RGlmZnVzZUxpZ2h0aW5nRWxlbWVudCwgZG91YmxlLCBkb3VibGUsIFN1cmZhY2VTY2FsZSwgc3Vy
ZmFjZVNjYWxlKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVE
aWZmdXNlTGlnaHRpbmdFbGVtZW50LCBTVkdDb2xvciosIFJlZlB0cjxTVkdDb2xvcj4sIExpZ2h0
aW5nQ29sb3IsIGxpZ2h0aW5nQ29sb3IpCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xB
UkFUSU9OUyhTVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQsIGRvdWJsZSwgZG91YmxlLCBLZXJu
ZWxVbml0TGVuZ3RoWCwga2VybmVsVW5pdExlbmd0aFgpCiAgICAgICAgIEFOSU1BVEVEX1BST1BF
UlRZX0RFQ0xBUkFUSU9OUyhTVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQsIGRvdWJsZSwgZG91
YmxlLCBLZXJuZWxVbml0TGVuZ3RoWSwga2VybmVsVW5pdExlbmd0aFkpCi0gICAgICAgIC8vbmVl
ZCBvdGhlciBwcm9wZXJ0aWVzIGhlcmUuLi4KLSAgICAgICAgbXV0YWJsZSBTVkdGRURpZmZ1c2VM
aWdodGluZyAqbV9maWx0ZXJFZmZlY3Q7CisKKyAgICAgICAgbXV0YWJsZSBTVkdGRURpZmZ1c2VM
aWdodGluZyogbV9maWx0ZXJFZmZlY3Q7CiAgICAgICAgIAotICAgICAgICAvL2xpZ2h0IG1hbmFn
ZW1lbnQKICAgICAgICAgdm9pZCB1cGRhdGVMaWdodHMoKSBjb25zdDsKICAgICB9OwogCkluZGV4
OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0
YW5kYXJkQXR0cmlidXRlcy5jcHAJKHJldmlzaW9uIDI1MTczKQorKysgV2ViQ29yZS9rc3ZnMi9z
dmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2
IE5pa29sYXMgWmltbWVybWFubiA8d2lsZGZveEBrZGUub3JnPgorICAgIENvcHlyaWdodCAoQykg
MjAwNCwgMjAwNSwgMjAwNiwgMjAwNyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2Rl
Lm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDQsIDIwMDUsIDIwMDYgUm9iIEJ1aXMgPGJ1aXNA
a2RlLm9yZz4KIAogICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUgcHJvamVjdApAQCAt
NDEsNiArNDEsMTAgQEAKICAgICAsIG1fd2lkdGgodGhpcywgTGVuZ3RoTW9kZVdpZHRoKQogICAg
ICwgbV9oZWlnaHQodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkKIHsKKyAgICAvLyBTcGVjOiBJZiB0
aGUgYXR0cmlidXRlIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBlZmZlY3QgaXMgYXMgaWYgYSB2YWx1
ZSBvZiAiMCUiIHdlcmUgc3BlY2lmaWVkLgorICAgIHNldFhCYXNlVmFsdWUoU1ZHTGVuZ3RoKHRo
aXMsIExlbmd0aE1vZGVXaWR0aCwgIjAlIikpOworICAgIHNldFlCYXNlVmFsdWUoU1ZHTGVuZ3Ro
KHRoaXMsIExlbmd0aE1vZGVIZWlnaHQsICIwJSIpKTsKKwogICAgIC8vIFNwZWM6IElmIHRoZSBh
dHRyaWJ1dGUgaXMgbm90IHNwZWNpZmllZCwgdGhlIGVmZmVjdCBpcyBhcyBpZiBhIHZhbHVlIG9m
ICIxMDAlIiB3ZXJlIHNwZWNpZmllZC4KICAgICBzZXRXaWR0aEJhc2VWYWx1ZShTVkdMZW5ndGgo
dGhpcywgTGVuZ3RoTW9kZVdpZHRoLCAiMTAwJSIpKTsKICAgICBzZXRIZWlnaHRCYXNlVmFsdWUo
U1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVIZWlnaHQsICIxMDAlIikpOwpAQCAtNzksMjQgKzgz
LDUwIEBACiAgICAgaWYgKCFmaWx0ZXJFZmZlY3QpCiAgICAgICAgIHJldHVybjsKIAotICAgIGJv
b2wgYmJveCA9IGZhbHNlOwotICAgIGlmIChwYXJlbnROb2RlKCkgJiYgcGFyZW50Tm9kZSgpLT5o
YXNUYWdOYW1lKFNWR05hbWVzOjpmaWx0ZXJUYWcpKQotICAgICAgICBiYm94ID0gc3RhdGljX2Nh
c3Q8U1ZHRmlsdGVyRWxlbWVudCo+KHBhcmVudE5vZGUoKSktPnByaW1pdGl2ZVVuaXRzKCkgPT0g
U1ZHVW5pdFR5cGVzOjpTVkdfVU5JVF9UWVBFX09CSkVDVEJPVU5ESU5HQk9YOworICAgIEFTU0VS
VChmaWx0ZXJFZmZlY3QtPmZpbHRlcigpKTsKIAogICAgIGZsb2F0IF94LCBfeSwgX3dpZHRoLCBf
aGVpZ2h0OwotICAKLSAgICBpZiAoYmJveCkgewotICAgICAgICBfeCA9IHgoKS52YWx1ZUluU3Bl
Y2lmaWVkVW5pdHMoKTsKLSAgICAgICAgX3kgPSB5KCkudmFsdWVJblNwZWNpZmllZFVuaXRzKCk7
Ci0gICAgICAgIF93aWR0aCA9IHdpZHRoKCkudmFsdWVJblNwZWNpZmllZFVuaXRzKCk7Ci0gICAg
ICAgIF9oZWlnaHQgPSBoZWlnaHQoKS52YWx1ZUluU3BlY2lmaWVkVW5pdHMoKTsKKworICAgIGlm
IChmaWx0ZXJFZmZlY3QtPmZpbHRlcigpLT5lZmZlY3RCb3VuZGluZ0JveE1vZGUoKSkgeworICAg
ICAgICBfeCA9IHgoKS52YWx1ZUFzUGVyY2VudGFnZSgpOworICAgICAgICBfeSA9IHkoKS52YWx1
ZUFzUGVyY2VudGFnZSgpOworICAgICAgICBfd2lkdGggPSB3aWR0aCgpLnZhbHVlQXNQZXJjZW50
YWdlKCk7CisgICAgICAgIF9oZWlnaHQgPSBoZWlnaHQoKS52YWx1ZUFzUGVyY2VudGFnZSgpOwog
ICAgIH0gZWxzZSB7Ci0gICAgICAgIF94ID0geCgpLnZhbHVlKCk7Ci0gICAgICAgIF95ID0geSgp
LnZhbHVlKCk7Ci0gICAgICAgIF93aWR0aCA9IHdpZHRoKCkudmFsdWUoKTsKLSAgICAgICAgX2hl
aWdodCA9IGhlaWdodCgpLnZhbHVlKCk7Ci0gICAgfSAKLSAgICAKKyAgICAgICAgLy8gV2UgbmVl
ZCB0byByZXNvbHZlIGFueSBwZXJjZW50YWdlcyBpbiBmaWx0ZXIgcmVjdCBzcGFjZS4KKyAgICAg
ICAgaWYgKHgoKS51bml0VHlwZSgpID09IExlbmd0aFR5cGVQZXJjZW50YWdlKSB7CisgICAgICAg
ICAgICBmaWx0ZXJFZmZlY3QtPnNldFhCb3VuZGluZ0JveE1vZGUodHJ1ZSk7CisgICAgICAgICAg
ICBfeCA9IHgoKS52YWx1ZUFzUGVyY2VudGFnZSgpOworICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgZmlsdGVyRWZmZWN0LT5zZXRYQm91bmRpbmdCb3hNb2RlKGZhbHNlKTsKKyAgICAgICAg
ICAgIF94ID0geCgpLnZhbHVlKCk7CisgICAgICAgIH0KKworICAgICAgICBpZiAoeSgpLnVuaXRU
eXBlKCkgPT0gTGVuZ3RoVHlwZVBlcmNlbnRhZ2UpIHsKKyAgICAgICAgICAgIGZpbHRlckVmZmVj
dC0+c2V0WUJvdW5kaW5nQm94TW9kZSh0cnVlKTsKKyAgICAgICAgICAgIF95ID0geSgpLnZhbHVl
QXNQZXJjZW50YWdlKCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBmaWx0ZXJFZmZl
Y3QtPnNldFlCb3VuZGluZ0JveE1vZGUoZmFsc2UpOworICAgICAgICAgICAgX3kgPSB5KCkudmFs
dWUoKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICh3aWR0aCgpLnVuaXRUeXBlKCkgPT0gTGVu
Z3RoVHlwZVBlcmNlbnRhZ2UpIHsKKyAgICAgICAgICAgIGZpbHRlckVmZmVjdC0+c2V0V2lkdGhC
b3VuZGluZ0JveE1vZGUodHJ1ZSk7CisgICAgICAgICAgICBfd2lkdGggPSB3aWR0aCgpLnZhbHVl
QXNQZXJjZW50YWdlKCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBmaWx0ZXJFZmZl
Y3QtPnNldFdpZHRoQm91bmRpbmdCb3hNb2RlKGZhbHNlKTsKKyAgICAgICAgICAgIF93aWR0aCA9
IHdpZHRoKCkudmFsdWUoKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChoZWlnaHQoKS51bml0
VHlwZSgpID09IExlbmd0aFR5cGVQZXJjZW50YWdlKSB7CisgICAgICAgICAgICBmaWx0ZXJFZmZl
Y3QtPnNldEhlaWdodEJvdW5kaW5nQm94TW9kZSh0cnVlKTsKKyAgICAgICAgICAgIF9oZWlnaHQg
PSBoZWlnaHQoKS52YWx1ZUFzUGVyY2VudGFnZSgpOworICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgZmlsdGVyRWZmZWN0LT5zZXRIZWlnaHRCb3VuZGluZ0JveE1vZGUoZmFsc2UpOworICAg
ICAgICAgICAgX2hlaWdodCA9IGhlaWdodCgpLnZhbHVlKCk7CisgICAgICAgIH0KKyAgICB9CisK
ICAgICBmaWx0ZXJFZmZlY3QtPnNldFN1YlJlZ2lvbihGbG9hdFJlY3QoX3gsIF95LCBfd2lkdGgs
IF9oZWlnaHQpKTsKICAgICBmaWx0ZXJFZmZlY3QtPnNldFJlc3VsdChyZXN1bHQoKSk7CiB9Cklu
ZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHQ29tcG9uZW50VHJhbnNm
ZXJGdW5jdGlvbkVsZW1lbnQuY3BwCShyZXZpc2lvbiAyNTE3MykKKysrIFdlYkNvcmUva3N2ZzIv
c3ZnL1NWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1IE5pa29s
YXMgWmltbWVybWFubiA8d2lsZGZveEBrZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAwNCwg
MjAwNSwgMjAwNyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAgICAg
ICAgICAgICAgICAgIDIwMDQsIDIwMDUsIDIwMDYgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KIAog
ICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUgcHJvamVjdApAQCAtMjEsNiArMjEsNyBA
QAogKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgorCiAjaWYgRU5BQkxFKFNWRykgJiYgRU5BQkxF
KFNWR19FWFBFUklNRU5UQUxfRkVBVFVSRVMpCiAjaW5jbHVkZSAiU1ZHQ29tcG9uZW50VHJhbnNm
ZXJGdW5jdGlvbkVsZW1lbnQuaCIKIApAQCAtMzIsMTIgKzMzLDEyIEBACiAKIFNWR0NvbXBvbmVu
dFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50OjpTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jKQogICAgIDog
U1ZHRWxlbWVudCh0YWdOYW1lLCBkb2MpCi0gICAgLCBtX3R5cGUoMCkKKyAgICAsIG1fdHlwZShT
VkdfRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX1VOS05PV04pCiAgICAgLCBtX3RhYmxlVmFsdWVz
KG5ldyBTVkdOdW1iZXJMaXN0KQotICAgICwgbV9zbG9wZSgwLjApCisgICAgLCBtX3Nsb3BlKDEu
MCkKICAgICAsIG1faW50ZXJjZXB0KDAuMCkKLSAgICAsIG1fYW1wbGl0dWRlKDAuMCkKLSAgICAs
IG1fZXhwb25lbnQoMC4wKQorICAgICwgbV9hbXBsaXR1ZGUoMS4wKQorICAgICwgbV9leHBvbmVu
dCgxLjApCiAgICAgLCBtX29mZnNldCgwLjApCiB7CiB9CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2
Zy9TVkdGRUZ1bmNHRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NW
R0ZFRnVuY0dFbGVtZW50LmgJKHJldmlzaW9uIDI1MTczKQorKysgV2ViQ29yZS9rc3ZnMi9zdmcv
U1ZHRkVGdW5jR0VsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
ICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1IE5pa29sYXMgWmltbWVybWFubiA8d2lsZGZveEBr
ZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSBOaWtvbGFzIFppbW1lcm1hbm4g
PHppbW1lcm1hbm5Aa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDQsIDIwMDUgUm9iIEJ1
aXMgPGJ1aXNAa2RlLm9yZz4KIAogICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUgcHJv
amVjdApAQCAtMjIsOCArMjIsOCBAQAogCiAjaWZuZGVmIFNWR0ZFRnVuY0dFbGVtZW50X2gKICNk
ZWZpbmUgU1ZHRkVGdW5jR0VsZW1lbnRfaAorCiAjaWYgRU5BQkxFKFNWRykgJiYgRU5BQkxFKFNW
R19FWFBFUklNRU5UQUxfRkVBVFVSRVMpCi0KICNpbmNsdWRlICJTVkdDb21wb25lbnRUcmFuc2Zl
ckZ1bmN0aW9uRWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9r
c3ZnMi9zdmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9rc3ZnMi9zdmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LmgJKHJldmlzaW9uIDI1
MTczKQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMjYgKzEsMjYgQEAKIC8qCi0gQ29weXJpZ2h0IChDKSAyMDA2
IE9saXZlciBIdW50IDxvamgxNkBzdHVkZW50LmNhbnRlcmJ1cnkuYWMubno+Ci0gCi0gVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgot
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCi0gTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCi0gdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgotIAotIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAKLSBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlCi0gYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCi0gQm9zdG9uLCBNQSAwMjExMS0xMzA3
LCBVU0EuCi0gKi8KKyAgICAgQ29weXJpZ2h0IChDKSAyMDA2IE9saXZlciBIdW50IDxvamgxNkBz
dHVkZW50LmNhbnRlcmJ1cnkuYWMubno+CisgICAgIAorICAgICBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICAgIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgICAg
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgorICAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCisgICAgIAorICAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICAgYnV0IFdJVEhPVVQg
QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgICAg
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKKyAgICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCisgICAgIAorICAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICAgIGFsb25nIHdpdGggdGhp
cyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisg
ICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAt
IFN1aXRlIDMzMCwKKyAgICAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisqLwogCiAjaWZu
ZGVmIFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudF9oCiAjZGVmaW5lIFNWR0ZFRGlzcGxhY2Vt
ZW50TWFwRWxlbWVudF9oCi0jaWYgRU5BQkxFKFNWRykgJiYgRU5BQkxFKFNWR19FWFBFUklNRU5U
QUxfRkVBVFVSRVMpCiAKKyNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRB
TF9GRUFUVVJFUykKICNpbmNsdWRlICJTVkdGRURpc3BsYWNlbWVudE1hcC5oIgogI2luY2x1ZGUg
IlNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5oIgogCkBAIC0zMSwxNCArMzEs
MTEgQEAKICAgICAgICAgU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Kik7CiAgICAgICAgIHZpcnR1YWwgflNWR0ZFRGlzcGxh
Y2VtZW50TWFwRWxlbWVudCgpOwogICAgICAgICAKLSAgICAgICAgLy8gJ1NWR0ZFRGlzcGxhY2Vt
ZW50TWFwRWxlbWVudCcgZnVuY3Rpb25zCiAgICAgICAgIHN0YXRpYyBTVkdDaGFubmVsU2VsZWN0
b3JUeXBlIHN0cmluZ1RvQ2hhbm5lbChjb25zdCBTdHJpbmcmKTsKICAgICAgICAgCi0gICAgICAg
IC8vIERlcml2ZWQgZnJvbTogJ0VsZW1lbnQnCiAgICAgICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1h
cHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUqKTsKKyAgICAgICAgdmlydHVhbCBTVkdGRURp
c3BsYWNlbWVudE1hcCogZmlsdGVyRWZmZWN0KFNWR1Jlc291cmNlRmlsdGVyKikgY29uc3Q7CiAg
ICAgICAgIAotICAgICAgICB2aXJ0dWFsIFNWR0ZFRGlzcGxhY2VtZW50TWFwKiBmaWx0ZXJFZmZl
Y3QoKSBjb25zdDsKLSAgICAgICAgCiAgICAgcHJvdGVjdGVkOgogICAgICAgICB2aXJ0dWFsIGNv
bnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQog
CkBAIC00OCw2ICs0NSw3IEBACiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9O
UyhTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQsIGludCwgaW50LCBYQ2hhbm5lbFNlbGVjdG9y
LCB4Q2hhbm5lbFNlbGVjdG9yKQogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElP
TlMoU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LCBpbnQsIGludCwgWUNoYW5uZWxTZWxlY3Rv
ciwgeUNoYW5uZWxTZWxlY3RvcikKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJ
T05TKFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCwgZG91YmxlLCBkb3VibGUsIFNjYWxlLCBz
Y2FsZSkKKwogICAgICAgICBtdXRhYmxlIFNWR0ZFRGlzcGxhY2VtZW50TWFwKiBtX2ZpbHRlckVm
ZmVjdDsKICAgICB9OwogCkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRUJsZW5kRWxlbWVu
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFQmxlbmRFbGVtZW50LmgJ
KHJldmlzaW9uIDI1MTczKQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVCbGVuZEVsZW1lbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29weXJpZ2h0IChDKSAy
MDA0LCAyMDA1IE5pa29sYXMgWmltbWVybWFubiA8d2lsZGZveEBrZGUub3JnPgorICAgIENvcHly
aWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5A
a2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDQsIDIwMDUsIDIwMDYgUm9iIEJ1aXMgPGJ1
aXNAa2RlLm9yZz4KIAogICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUgcHJvamVjdApA
QCAtMjIsOCArMjIsOCBAQAogCiAjaWZuZGVmIFNWR0ZFQmxlbmRFbGVtZW50X2gKICNkZWZpbmUg
U1ZHRkVCbGVuZEVsZW1lbnRfaAotI2lmIEVOQUJMRShTVkcpICYmIEVOQUJMRShTVkdfRVhQRVJJ
TUVOVEFMX0ZFQVRVUkVTKQogCisjaWYgRU5BQkxFKFNWRykgJiYgRU5BQkxFKFNWR19FWFBFUklN
RU5UQUxfRkVBVFVSRVMpCiAjaW5jbHVkZSAiU1ZHRkVCbGVuZC5oIgogI2luY2x1ZGUgIlNWR0Zp
bHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5oIgogCkBAIC0zNSwxMiArMzUsOSBAQAog
ICAgICAgICBTVkdGRUJsZW5kRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQq
KTsKICAgICAgICAgdmlydHVhbCB+U1ZHRkVCbGVuZEVsZW1lbnQoKTsKIAotICAgICAgICAvLyAn
U1ZHRkVCbGVuZEVsZW1lbnQnIGZ1bmN0aW9ucwotICAgICAgICAvLyBEZXJpdmVkIGZyb206ICdF
bGVtZW50JwotICAgICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVk
QXR0cmlidXRlKiBhdHRyKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmli
dXRlKE1hcHBlZEF0dHJpYnV0ZSopOworICAgICAgICB2aXJ0dWFsIFNWR0ZFQmxlbmQqIGZpbHRl
ckVmZmVjdChTVkdSZXNvdXJjZUZpbHRlciopIGNvbnN0OwogCi0gICAgICAgIHZpcnR1YWwgU1ZH
RkVCbGVuZCogZmlsdGVyRWZmZWN0KCkgY29uc3Q7Ci0KICAgICBwcm90ZWN0ZWQ6CiAgICAgICAg
IHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVy
biB0aGlzOyB9CiAKQEAgLTQ4LDYgKzQ1LDcgQEAKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlf
REVDTEFSQVRJT05TKFNWR0ZFQmxlbmRFbGVtZW50LCBTdHJpbmcsIFN0cmluZywgSW4xLCBpbjEp
CiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUJsZW5kRWxlbWVu
dCwgU3RyaW5nLCBTdHJpbmcsIEluMiwgaW4yKQogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9E
RUNMQVJBVElPTlMoU1ZHRkVCbGVuZEVsZW1lbnQsIGludCwgaW50LCBNb2RlLCBtb2RlKQorCiAg
ICAgICAgIG11dGFibGUgU1ZHRkVCbGVuZCogbV9maWx0ZXJFZmZlY3Q7CiAgICAgfTsKIApAQCAt
NTYsMyArNTQsNCBAQAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCiAjZW5kaWYKIAorLy8gdmltOnRz
PTQ6bm9ldApJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVNZXJnZUVsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFTWVyZ2VFbGVtZW50LmNwcAkocmV2
aXNpb24gMjUxNzMpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRU1lcmdlRWxlbWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICAgIENvcHlyaWdodCAoQykgMjAw
NCwgMjAwNSBOaWtvbGFzIFppbW1lcm1hbm4gPHdpbGRmb3hAa2RlLm9yZz4KKyAgICBDb3B5cmln
aHQgKEMpIDIwMDQsIDIwMDUsIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtk
ZS5vcmc+CiAgICAgICAgICAgICAgICAgICAyMDA0LCAyMDA1LCAyMDA2IFJvYiBCdWlzIDxidWlz
QGtkZS5vcmc+CiAKICAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgS0RFIHByb2plY3QKQEAg
LTQxLDEyICs0MSwxMyBAQAogICAgIGRlbGV0ZSBtX2ZpbHRlckVmZmVjdDsKIH0KIAotU1ZHRkVN
ZXJnZSogU1ZHRkVNZXJnZUVsZW1lbnQ6OmZpbHRlckVmZmVjdCgpIGNvbnN0CitTVkdGRU1lcmdl
KiBTVkdGRU1lcmdlRWxlbWVudDo6ZmlsdGVyRWZmZWN0KFNWR1Jlc291cmNlRmlsdGVyKiBmaWx0
ZXIpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2ZpbHRlckVmZmVjdCkKLSAgICAgICAgbV9maWx0ZXJF
ZmZlY3QgPSBzdGF0aWNfY2FzdDxTVkdGRU1lcmdlKj4oU1ZHUmVzb3VyY2VGaWx0ZXI6OmNyZWF0
ZUZpbHRlckVmZmVjdChGRV9NRVJHRSkpOworICAgICAgICBtX2ZpbHRlckVmZmVjdCA9IHN0YXRp
Y19jYXN0PFNWR0ZFTWVyZ2UqPihTVkdSZXNvdXJjZUZpbHRlcjo6Y3JlYXRlRmlsdGVyRWZmZWN0
KEZFX01FUkdFLCBmaWx0ZXIpKTsKICAgICBpZiAoIW1fZmlsdGVyRWZmZWN0KQogICAgICAgICBy
ZXR1cm4gMDsKKwogICAgIHNldFN0YW5kYXJkQXR0cmlidXRlcyhtX2ZpbHRlckVmZmVjdCk7CiAK
ICAgICBWZWN0b3I8U3RyaW5nPiBtZXJnZUlucHV0czsKQEAgLTYxLDcgKzYyLDYgQEAKIAogfQog
Ci0KICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQogCiAvLyB2aW06dHM9NDpub2V0CkluZGV4OiBXZWJD
b3JlL2tzdmcyL3N2Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5jcHAJKHJl
dmlzaW9uIDI1MTczKQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBF
bGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSwyMyArMSwyMiBAQAogLyoKLSBDb3B5cmln
aHQgKEMpIDIwMDYgT2xpdmVyIEh1bnQgPG9qaDE2QHN0dWRlbnQuY2FudGVyYnVyeS5hYy5uej4K
LSAKLSBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCi0gbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKLSBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gCi0gVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gYnV0IFdJVEhPVVQg
QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQotIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgot
IAotIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKLSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBm
aWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotIHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKLSBCb3N0b24sIE1B
IDAyMTExLTEzMDcsIFVTQS4KLSAqLworICAgICBDb3B5cmlnaHQgKEMpIDIwMDYgT2xpdmVyIEh1
bnQgPG9qaDE2QHN0dWRlbnQuY2FudGVyYnVyeS5hYy5uej4KKyAgICAgCisgICAgIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAg
ICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMKKyAgICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCisgICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAgICAgCisgICAgIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgICBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgorICAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQorICAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KKyAgICAgCisgICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICAgYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KKyAgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVt
cGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorICAgICBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4K
KyovCiAKLQogI2luY2x1ZGUgImNvbmZpZy5oIgogCiAjaWYgRU5BQkxFKFNWRykgJiYgRU5BQkxF
KFNWR19FWFBFUklNRU5UQUxfRkVBVFVSRVMpCkBAIC0yOSw4ICsyOCw4IEBACiAKIFNWR0ZFRGlz
cGxhY2VtZW50TWFwRWxlbWVudDo6U1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2MpCiAgICAgOiBTVkdGaWx0ZXJQcmlt
aXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXModGFnTmFtZSwgZG9jKQotICAgICwgbV94Q2hhbm5lbFNl
bGVjdG9yKDApCi0gICAgLCBtX3lDaGFubmVsU2VsZWN0b3IoMCkKKyAgICAsIG1feENoYW5uZWxT
ZWxlY3RvcihTVkdfQ0hBTk5FTF9BKQorICAgICwgbV95Q2hhbm5lbFNlbGVjdG9yKFNWR19DSEFO
TkVMX0EpCiAgICAgLCBtX3NjYWxlKDAuMCkKICAgICAsIG1fZmlsdGVyRWZmZWN0KDApCiB7CkBA
IC03OCwxNyArNzcsMTkgQEAKICAgICAgICAgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRy
aWJ1dGVzOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKTsKIH0KIAotU1ZHRkVEaXNwbGFjZW1l
bnRNYXAqIFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudDo6ZmlsdGVyRWZmZWN0KCkgY29uc3QK
K1NWR0ZFRGlzcGxhY2VtZW50TWFwKiBTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQ6OmZpbHRl
ckVmZmVjdChTVkdSZXNvdXJjZUZpbHRlciogZmlsdGVyKSBjb25zdAogewogICAgIGlmICghbV9m
aWx0ZXJFZmZlY3QpCi0gICAgICAgIG1fZmlsdGVyRWZmZWN0ID0gc3RhdGljX2Nhc3Q8U1ZHRkVE
aXNwbGFjZW1lbnRNYXAqPihTVkdSZXNvdXJjZUZpbHRlcjo6Y3JlYXRlRmlsdGVyRWZmZWN0KEZF
X0RJU1BMQUNFTUVOVF9NQVApKTsKKyAgICAgICAgbV9maWx0ZXJFZmZlY3QgPSBzdGF0aWNfY2Fz
dDxTVkdGRURpc3BsYWNlbWVudE1hcCo+KFNWR1Jlc291cmNlRmlsdGVyOjpjcmVhdGVGaWx0ZXJF
ZmZlY3QoRkVfRElTUExBQ0VNRU5UX01BUCwgZmlsdGVyKSk7CiAgICAgaWYgKCFtX2ZpbHRlckVm
ZmVjdCkKICAgICAgICAgcmV0dXJuIDA7CisKICAgICBtX2ZpbHRlckVmZmVjdC0+c2V0WENoYW5u
ZWxTZWxlY3RvcigoU1ZHQ2hhbm5lbFNlbGVjdG9yVHlwZSkgeENoYW5uZWxTZWxlY3RvcigpKTsK
ICAgICBtX2ZpbHRlckVmZmVjdC0+c2V0WUNoYW5uZWxTZWxlY3RvcigoU1ZHQ2hhbm5lbFNlbGVj
dG9yVHlwZSkgeUNoYW5uZWxTZWxlY3RvcigpKTsKICAgICBtX2ZpbHRlckVmZmVjdC0+c2V0SW4o
aW4xKCkpOwogICAgIG1fZmlsdGVyRWZmZWN0LT5zZXRJbjIoaW4yKCkpOwogICAgIG1fZmlsdGVy
RWZmZWN0LT5zZXRTY2FsZShzY2FsZSgpKTsKKwogICAgIHNldFN0YW5kYXJkQXR0cmlidXRlcyht
X2ZpbHRlckVmZmVjdCk7CiAgICAgcmV0dXJuIG1fZmlsdGVyRWZmZWN0OwogfQpJbmRleDogV2Vi
Q29yZS9rc3ZnMi9zdmcvU1ZHRmlsdGVyRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9rc3ZnMi9zdmcvU1ZHRmlsdGVyRWxlbWVudC5jcHAJKHJldmlzaW9uIDI1MTczKQorKysgV2Vi
Q29yZS9rc3ZnMi9zdmcvU1ZHRmlsdGVyRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEs
NSArMSw1IEBACiAvKgotICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFz
IFppbW1lcm1hbm4gPHdpbGRmb3hAa2RlLm9yZz4KKyAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIw
MDUsIDIwMDYsIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAg
ICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+
CiAgICAgQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwu
Y29tPgogCkBAIC0xMTYsNDQgKzExNiw0MiBAQAogICAgIGJvb2wgZmlsdGVyQkJveE1vZGUgPSBm
aWx0ZXJVbml0cygpID09IFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElO
R0JPWDsKICAgICBtX2ZpbHRlci0+c2V0RmlsdGVyQm91bmRpbmdCb3hNb2RlKGZpbHRlckJCb3hN
b2RlKTsKIAotICAgIGZsb2F0IF94LCBfeSwgdywgaDsKKyAgICBmbG9hdCBfeCwgX3ksIF93aWR0
aCwgX2hlaWdodDsKIAotICAgIGlmIChmaWx0ZXJCQm94TW9kZSAmJiB4KCkudW5pdFR5cGUoKSA9
PSBMZW5ndGhUeXBlUGVyY2VudGFnZSkKLSAgICAgICAgX3ggPSB4KCkudmFsdWVJblNwZWNpZmll
ZFVuaXRzKCkgLyAxMDAuMDsKLSAgICBlbHNlCi0gICAgICAgIF94ID0geCgpLnZhbHVlKCk7Cisg
ICAgaWYgKGZpbHRlckJCb3hNb2RlKSB7CisgICAgICAgIF94ID0geCgpLnZhbHVlQXNQZXJjZW50
YWdlKCk7CisgICAgICAgIF95ID0geSgpLnZhbHVlQXNQZXJjZW50YWdlKCk7CisgICAgICAgIF93
aWR0aCA9IHdpZHRoKCkudmFsdWVBc1BlcmNlbnRhZ2UoKTsKKyAgICAgICAgX2hlaWdodCA9IGhl
aWdodCgpLnZhbHVlQXNQZXJjZW50YWdlKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgbV9maWx0
ZXItPnNldFhCb3VuZGluZ0JveE1vZGUoeCgpLnVuaXRUeXBlKCkgPT0gTGVuZ3RoVHlwZVBlcmNl
bnRhZ2UpOworICAgICAgICBtX2ZpbHRlci0+c2V0WUJvdW5kaW5nQm94TW9kZSh5KCkudW5pdFR5
cGUoKSA9PSBMZW5ndGhUeXBlUGVyY2VudGFnZSk7CiAKLSAgICBpZiAoZmlsdGVyQkJveE1vZGUg
JiYgeSgpLnVuaXRUeXBlKCkgPT0gTGVuZ3RoVHlwZVBlcmNlbnRhZ2UpCi0gICAgICAgIF95ID0g
eSgpLnZhbHVlSW5TcGVjaWZpZWRVbml0cygpIC8gMTAwLjA7Ci0gICAgZWxzZQorICAgICAgICBf
eCA9IHgoKS52YWx1ZSgpOwogICAgICAgICBfeSA9IHkoKS52YWx1ZSgpOworICAgICAgICBfd2lk
dGggPSB3aWR0aCgpLnZhbHVlKCk7CisgICAgICAgIF9oZWlnaHQgPSBoZWlnaHQoKS52YWx1ZSgp
OworICAgIH0gCiAKLSAgICBpZiAoZmlsdGVyQkJveE1vZGUgJiYgd2lkdGgoKS51bml0VHlwZSgp
ID09IExlbmd0aFR5cGVQZXJjZW50YWdlKQotICAgICAgICB3ID0gd2lkdGgoKS52YWx1ZUluU3Bl
Y2lmaWVkVW5pdHMoKSAvIDEwMC4wOwotICAgIGVsc2UKLSAgICAgICAgdyA9IHdpZHRoKCkudmFs
dWUoKTsKKyAgICBtX2ZpbHRlci0+c2V0RmlsdGVyUmVjdChGbG9hdFJlY3QoX3gsIF95LCBfd2lk
dGgsIF9oZWlnaHQpKTsKIAotICAgIGlmIChmaWx0ZXJCQm94TW9kZSAmJiBoZWlnaHQoKS51bml0
VHlwZSgpID09IExlbmd0aFR5cGVQZXJjZW50YWdlKQotICAgICAgICBoID0gaGVpZ2h0KCkudmFs
dWVJblNwZWNpZmllZFVuaXRzKCkgLyAxMDAuMDsKLSAgICBlbHNlCi0gICAgICAgIGggPSBoZWln
aHQoKS52YWx1ZSgpOwotCi0gICAgbV9maWx0ZXItPnNldEZpbHRlclJlY3QoRmxvYXRSZWN0KF94
LCBfeSwgdywgaCkpOwotCiAgICAgYm9vbCBwcmltaXRpdmVCQm94TW9kZSA9IHByaW1pdGl2ZVVu
aXRzKCkgPT0gU1ZHVW5pdFR5cGVzOjpTVkdfVU5JVF9UWVBFX09CSkVDVEJPVU5ESU5HQk9YOwog
ICAgIG1fZmlsdGVyLT5zZXRFZmZlY3RCb3VuZGluZ0JveE1vZGUocHJpbWl0aXZlQkJveE1vZGUp
OwotICAgIC8vIEZJWE1FOiBXaGVuIGRvZXMgdGhpcyBpbmZvIGdldCBwYXNzZWQgdG8gdGhlIGZp
bHRlcnMgZWxlbWVudHM/CiAKICAgICAvLyBUT0RPIDogdXNlIHN3aXRjaC9jYXNlIGluc3RlYWQ/
CiAgICAgbV9maWx0ZXItPmNsZWFyRWZmZWN0cygpOwogICAgIGZvciAoTm9kZSogbiA9IGZpcnN0
Q2hpbGQoKTsgbiAhPSAwOyBuID0gbi0+bmV4dFNpYmxpbmcoKSkgewogICAgICAgICBTVkdFbGVt
ZW50KiBlbGVtZW50ID0gc3ZnX2R5bmFtaWNfY2FzdChuKTsKICAgICAgICAgaWYgKGVsZW1lbnQg
JiYgZWxlbWVudC0+aXNGaWx0ZXJFZmZlY3QoKSkgewotICAgICAgICAgICAgU1ZHRmlsdGVyUHJp
bWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzKiBmZSA9IHN0YXRpY19jYXN0PFNWR0ZpbHRlclByaW1p
dGl2ZVN0YW5kYXJkQXR0cmlidXRlcyo+KGVsZW1lbnQpOwotICAgICAgICAgICAgaWYgKGZlLT5m
aWx0ZXJFZmZlY3QoKSkKLSAgICAgICAgICAgICAgICBtX2ZpbHRlci0+YWRkRmlsdGVyRWZmZWN0
KGZlLT5maWx0ZXJFZmZlY3QoKSk7CisgICAgICAgICAgICBTVkdGaWx0ZXJQcmltaXRpdmVTdGFu
ZGFyZEF0dHJpYnV0ZXMqIGZpbHRlckF0dHJpYnV0ZXMgPSBzdGF0aWNfY2FzdDxTVkdGaWx0ZXJQ
cmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMqPihlbGVtZW50KTsKKyAgICAgICAgICAgIFNWR0Zp
bHRlckVmZmVjdCogZmlsdGVyRWZmZWN0ID0gZmlsdGVyQXR0cmlidXRlcy0+ZmlsdGVyRWZmZWN0
KG1fZmlsdGVyLmdldCgpKTsKKyAgICAgICAgICAgIGlmICghZmlsdGVyRWZmZWN0KQorICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBtX2ZpbHRlci0+YWRkRmlsdGVyRWZm
ZWN0KGZpbHRlckVmZmVjdCk7CiAgICAgICAgIH0KICAgICB9CisKICAgICByZXR1cm4gbV9maWx0
ZXIuZ2V0KCk7CiB9CiAKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0dyYWRpZW50RWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHR3JhZGllbnRFbGVtZW50
LmNwcAkocmV2aXNpb24gMjUxNzMpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdHcmFkaWVudEVs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsNyArMTE2LDcgQEAKIFZlY3RvcjxTVkdH
cmFkaWVudFN0b3A+IFNWR0dyYWRpZW50RWxlbWVudDo6YnVpbGRTdG9wcygpIGNvbnN0CiB7CiAg
ICAgVmVjdG9yPFNWR0dyYWRpZW50U3RvcD4gc3RvcHM7Ci0gICAgCisKICAgICAvLyBGSVhNRTog
TWFudWFsIHN0eWxlIHJlc29sdXRpb24gaXMgYSBoYWNrCiAgICAgUmVuZGVyU3R5bGUqIGdyYWRp
ZW50U3R5bGUgPSAwOwogICAgIGZvciAoTm9kZSogbiA9IGZpcnN0Q2hpbGQoKTsgbjsgbiA9IG4t
Pm5leHRTaWJsaW5nKCkpIHsKQEAgLTEyNCwxOSArMTI0LDExIEBACiAgICAgICAgIGlmIChlbGVt
ZW50ICYmIGVsZW1lbnQtPmlzR3JhZGllbnRTdG9wKCkpIHsKICAgICAgICAgICAgIFNWR1N0b3BF
bGVtZW50KiBzdG9wID0gc3RhdGljX2Nhc3Q8U1ZHU3RvcEVsZW1lbnQqPihlbGVtZW50KTsKICAg
ICAgICAgICAgIGZsb2F0IHN0b3BPZmZzZXQgPSBzdG9wLT5vZmZzZXQoKTsKLSAgICAgICAgICAg
IAotICAgICAgICAgICAgUmVuZGVyU3R5bGUqIHN0b3BTdHlsZTsKLSAgICAgICAgICAgIGlmIChz
dG9wLT5yZW5kZXJlcigpKQotICAgICAgICAgICAgICAgIHN0b3BTdHlsZSA9IHN0b3AtPnJlbmRl
cmVyKCktPnN0eWxlKCk7Ci0gICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICBpZiAo
IWdyYWRpZW50U3R5bGUpCi0gICAgICAgICAgICAgICAgICAgIGdyYWRpZW50U3R5bGUgPSBjb25z
dF9jYXN0PFNWR0dyYWRpZW50RWxlbWVudCo+KHRoaXMpLT5zdHlsZUZvclJlbmRlcmVyKHBhcmVu
dCgpLT5yZW5kZXJlcigpKTsKLSAgICAgICAgICAgICAgICAvLyBGSVhNRTogVGhlIHJlbmRlcmVy
IHRyZWUgaGFzIG5vIHdheSBmb3IgdXMgdG8gZm9yY2Ugc3RvcHMgdG8gYWx3YXlzIGhhdmUgYSBy
ZW5kZXJlcgotICAgICAgICAgICAgICAgIC8vIChkaXNwbGF5OiBub25lKSBvbiBhIHBhcmVudCB3
aWxsIGNhdXNlIHRoZW0gdG8gbm90LiAgVW50aWwgd2UgaGF2ZSBhIHdheSB0byBmb3JjZSByZW5k
ZXJlcnMKLSAgICAgICAgICAgICAgICAvLyB3ZSBoYXZlIGEgbWFudWFsIHN0eWxlIHJlc29sdXRp
b24gaGFjay4KLSAgICAgICAgICAgICAgICBzdG9wU3R5bGUgPSBkb2N1bWVudCgpLT5zdHlsZVNl
bGVjdG9yKCktPnN0eWxlRm9yRWxlbWVudChzdG9wLCBncmFkaWVudFN0eWxlKTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIAorCisgICAgICAgICAgICBpZiAoIXN0b3AtPnJlbmRlcmVyKCkg
JiYgIWdyYWRpZW50U3R5bGUpCisgICAgICAgICAgICAgICAgZ3JhZGllbnRTdHlsZSA9IGNvbnN0
X2Nhc3Q8U1ZHR3JhZGllbnRFbGVtZW50Kj4odGhpcyktPnN0eWxlRm9yUmVuZGVyZXIocGFyZW50
KCktPnJlbmRlcmVyKCkpOworCisgICAgICAgICAgICBSZW5kZXJTdHlsZSogc3RvcFN0eWxlID0g
c3RvcC0+cmVzb2x2ZVN0eWxlKGdyYWRpZW50U3R5bGUpOwogICAgICAgICAgICAgQ29sb3IgYyA9
IHN0b3BTdHlsZS0+c3ZnU3R5bGUoKS0+c3RvcENvbG9yKCk7CiAgICAgICAgICAgICBmbG9hdCBv
cGFjaXR5ID0gc3RvcFN0eWxlLT5zdmdTdHlsZSgpLT5zdG9wT3BhY2l0eSgpOwogICAgICAgICAg
ICAgCkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRUZ1bmNCRWxlbWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVGdW5jQkVsZW1lbnQuY3BwCShyZXZpc2lv
biAyNTE3MykKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFRnVuY0JFbGVtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDA0LCAy
MDA1IE5pa29sYXMgWmltbWVybWFubiA8d2lsZGZveEBrZGUub3JnPgorICAgIENvcHlyaWdodCAo
QykgMjAwNCwgMjAwNSBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAg
ICAgICAgICAgICAgICAgIDIwMDQsIDIwMDUsIDIwMDYgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4K
IAogICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUgcHJvamVjdApJbmRleDogV2ViQ29y
ZS9rc3ZnMi9zdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2tzdmcyL3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5oCShyZXZpc2lvbiAyNTE3MykK
KysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSBO
aWtvbGFzIFppbW1lcm1hbm4gPHdpbGRmb3hAa2RlLm9yZz4KKyAgICBDb3B5cmlnaHQgKEMpIDIw
MDQsIDIwMDUsIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAg
ICAgICAgICAgICAgICAgICAyMDA0LCAyMDA1LCAyMDA2IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+
CiAKICAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgS0RFIHByb2plY3QKQEAgLTIyLDggKzIy
LDggQEAKIAogI2lmbmRlZiBTVkdGRUNvbG9yTWF0cml4RWxlbWVudF9oCiAjZGVmaW5lIFNWR0ZF
Q29sb3JNYXRyaXhFbGVtZW50X2gKLSNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUoU1ZHX0VYUEVS
SU1FTlRBTF9GRUFUVVJFUykKIAorI2lmIEVOQUJMRShTVkcpICYmIEVOQUJMRShTVkdfRVhQRVJJ
TUVOVEFMX0ZFQVRVUkVTKQogI2luY2x1ZGUgIlNWR0ZFQ29sb3JNYXRyaXguaCIKICNpbmNsdWRl
ICJTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuaCIKIApAQCAtMzcsMTEgKzM3
LDggQEAKICAgICAgICAgU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50Kik7CiAgICAgICAgIHZpcnR1YWwgflNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50
KCk7CiAKLSAgICAgICAgLy8gJ1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50JyBmdW5jdGlvbnMKLSAg
ICAgICAgLy8gRGVyaXZlZCBmcm9tOiAnRWxlbWVudCcKLSAgICAgICAgdmlydHVhbCB2b2lkIHBh
cnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cik7Ci0gICAgICAgIAotICAg
ICAgICB2aXJ0dWFsIFNWR0ZFQ29sb3JNYXRyaXgqIGZpbHRlckVmZmVjdCgpIGNvbnN0OworICAg
ICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKik7
CisgICAgICAgIHZpcnR1YWwgU1ZHRkVDb2xvck1hdHJpeCogZmlsdGVyRWZmZWN0KFNWR1Jlc291
cmNlRmlsdGVyKikgY29uc3Q7CiAKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIHZpcnR1YWwgY29u
c3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CkBA
IC01MCw2ICs0Nyw3IEBACiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhT
VkdGRUNvbG9yTWF0cml4RWxlbWVudCwgU3RyaW5nLCBTdHJpbmcsIEluMSwgaW4xKQogICAgICAg
ICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQs
IGludCwgaW50LCBUeXBlLCB0eXBlKQogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJB
VElPTlMoU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQsIFNWR051bWJlckxpc3QqLCBSZWZQdHI8U1ZH
TnVtYmVyTGlzdD4sIFZhbHVlcywgdmFsdWVzKQorCiAgICAgICAgIG11dGFibGUgU1ZHRkVDb2xv
ck1hdHJpeCogbV9maWx0ZXJFZmZlY3Q7CiAgICAgfTsKIApJbmRleDogV2ViQ29yZS9rc3ZnMi9z
dmcvU1ZHRkVGdW5jUkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3Zn
L1NWR0ZFRnVuY1JFbGVtZW50LmNwcAkocmV2aXNpb24gMjUxNzMpCisrKyBXZWJDb3JlL2tzdmcy
L3N2Zy9TVkdGRUZ1bmNSRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBA
CiAvKgotICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSBOaWtvbGFzIFppbW1lcm1hbm4gPHdp
bGRmb3hAa2RlLm9yZz4KKyAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUgTmlrb2xhcyBaaW1t
ZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAgICAyMDA0LCAyMDA1
LCAyMDA2IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CiAKICAgICBUaGlzIGZpbGUgaXMgcGFydCBv
ZiB0aGUgS0RFIHByb2plY3QKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFRnVuY0JFbGVt
ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVGdW5jQkVsZW1lbnQu
aAkocmV2aXNpb24gMjUxNzMpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRUZ1bmNCRWxlbWVu
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAgICBDb3B5cmlnaHQgKEMp
IDIwMDQsIDIwMDUgTmlrb2xhcyBaaW1tZXJtYW5uIDx3aWxkZm94QGtkZS5vcmc+CisgICAgQ29w
eXJpZ2h0IChDKSAyMDA0LCAyMDA1IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUu
b3JnPgogICAgICAgICAgICAgICAgICAgMjAwNCwgMjAwNSBSb2IgQnVpcyA8YnVpc0BrZGUub3Jn
PgogCiAgICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBwcm9qZWN0CkBAIC0yMiw4ICsy
Miw4IEBACiAKICNpZm5kZWYgU1ZHRkVGdW5jQkVsZW1lbnRfaAogI2RlZmluZSBTVkdGRUZ1bmNC
RWxlbWVudF9oCisKICNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9G
RUFUVVJFUykKLQogI2luY2x1ZGUgIlNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50
LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRUZ1
bmNSRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFRnVuY1JF
bGVtZW50LmgJKHJldmlzaW9uIDI1MTczKQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVGdW5j
UkVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29weXJp
Z2h0IChDKSAyMDA0LCAyMDA1IE5pa29sYXMgWmltbWVybWFubiA8d2lsZGZveEBrZGUub3JnPgor
ICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1h
bm5Aa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDQsIDIwMDUgUm9iIEJ1aXMgPGJ1aXNA
a2RlLm9yZz4KIAogICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUgcHJvamVjdApAQCAt
MjIsOCArMjIsOCBAQAogCiAjaWZuZGVmIFNWR0ZFRnVuY1JFbGVtZW50X2gKICNkZWZpbmUgU1ZH
RkVGdW5jUkVsZW1lbnRfaAorCiAjaWYgRU5BQkxFKFNWRykgJiYgRU5BQkxFKFNWR19FWFBFUklN
RU5UQUxfRkVBVFVSRVMpCi0KICNpbmNsdWRlICJTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9u
RWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcv
U1ZHU3R5bGVkRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1N0
eWxlZEVsZW1lbnQuaAkocmV2aXNpb24gMjUxNzMpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdT
dHlsZWRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTY0LDYgKzY0LDkgQEAKIAogICAgICAg
ICB2aXJ0dWFsIHZvaWQgYXR0cmlidXRlQ2hhbmdlZChBdHRyaWJ1dGUqLCBib29sIHByZXNlcnZl
RGVjbHMgPSBmYWxzZSk7CiAKKyAgICAgICAgLy8gQ2VudHJhbGl6ZWQgcGxhY2UgdG8gZm9yY2Ug
YSBtYW51YWwgc3R5bGUgcmVzb2x1dGlvbi4gSGFja3kgYnV0IG5lZWRlZCBmb3Igbm93LgorICAg
ICAgICBSZW5kZXJTdHlsZSogcmVzb2x2ZVN0eWxlKFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSk7
CisKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIGZyaWVuZCBjbGFzcyBSZW5kZXJQYXRoOwogICAg
ICAgICB2b2lkIHJlYnVpbGRSZW5kZXJlcigpIGNvbnN0OwpJbmRleDogV2ViQ29yZS9rc3ZnMi9z
dmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIv
c3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuaAkocmV2aXNpb24gMjUxNzMpCisrKyBXZWJDb3Jl
L2tzdmcyL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEs
NSArMSw1IEBACiAvKgotICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSBOaWtvbGFzIFppbW1l
cm1hbm4gPHdpbGRmb3hAa2RlLm9yZz4KKyAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIw
MDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgICAgICAgICAgICAg
ICAgICAyMDA0LCAyMDA1LCAyMDA2IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CiAKICAgICBUaGlz
IGZpbGUgaXMgcGFydCBvZiB0aGUgS0RFIHByb2plY3QKQEAgLTIyLDggKzIyLDggQEAKIAogI2lm
bmRlZiBTVkdGRVR1cmJ1bGVuY2VFbGVtZW50X2gKICNkZWZpbmUgU1ZHRkVUdXJidWxlbmNlRWxl
bWVudF9oCi0jaWYgRU5BQkxFKFNWRykgJiYgRU5BQkxFKFNWR19FWFBFUklNRU5UQUxfRkVBVFVS
RVMpCiAKKyNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJF
UykKICNpbmNsdWRlICJTVkdGRVR1cmJ1bGVuY2UuaCIKICNpbmNsdWRlICJTVkdGaWx0ZXJQcmlt
aXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuaCIKIApAQCAtNDEsMTIgKzQxLDkgQEAKICAgICAgICAg
U1ZHRkVUdXJidWxlbmNlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsK
ICAgICAgICAgdmlydHVhbCB+U1ZHRkVUdXJidWxlbmNlRWxlbWVudCgpOwogCi0gICAgICAgIC8v
ICdTVkdGRVR1cmJ1bGVuY2VFbGVtZW50JyBmdW5jdGlvbnMKLSAgICAgICAgLy8gRGVyaXZlZCBm
cm9tOiAnRWxlbWVudCcKLSAgICAgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRl
KE1hcHBlZEF0dHJpYnV0ZSogYXR0cik7CisgICAgICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBl
ZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUqKTsKKyAgICAgICAgdmlydHVhbCBTVkdGRVR1cmJ1
bGVuY2UqIGZpbHRlckVmZmVjdChTVkdSZXNvdXJjZUZpbHRlciopIGNvbnN0OwogCi0gICAgICAg
IHZpcnR1YWwgU1ZHRkVUdXJidWxlbmNlKiBmaWx0ZXJFZmZlY3QoKSBjb25zdDsKLQogICAgIHBy
b3RlY3RlZDoKICAgICAgICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVu
dCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KIApAQCAtNTcsNiArNTQsNyBAQAogICAgICAgICBB
TklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVUdXJidWxlbmNlRWxlbWVudCwgZG91
YmxlLCBkb3VibGUsIFNlZWQsIHNlZWQpCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xB
UkFUSU9OUyhTVkdGRVR1cmJ1bGVuY2VFbGVtZW50LCBpbnQsIGludCwgU3RpdGNoVGlsZXMsIHN0
aXRjaFRpbGVzKQogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVU
dXJidWxlbmNlRWxlbWVudCwgaW50LCBpbnQsIFR5cGUsIHR5cGUpCisKICAgICAgICAgbXV0YWJs
ZSBTVkdGRVR1cmJ1bGVuY2UqIG1fZmlsdGVyRWZmZWN0OwogICAgIH07CiAKSW5kZXg6IFdlYkNv
cmUva3N2ZzIvc3ZnL1NWR0ZFRnVuY0FFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2tzdmcyL3N2Zy9TVkdGRUZ1bmNBRWxlbWVudC5jcHAJKHJldmlzaW9uIDI1MTczKQorKysgV2Vi
Q29yZS9rc3ZnMi9zdmcvU1ZHRkVGdW5jQUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUgTmlrb2xhcyBaaW1t
ZXJtYW5uIDx3aWxkZm94QGtkZS5vcmc+CisgICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1IE5p
a29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgogICAgICAgICAgICAgICAgICAg
MjAwNCwgMjAwNSwgMjAwNiBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgogCiAgICAgVGhpcyBmaWxl
IGlzIHBhcnQgb2YgdGhlIEtERSBwcm9qZWN0CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdG
RU1lcmdlTm9kZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NW
R0ZFTWVyZ2VOb2RlRWxlbWVudC5jcHAJKHJldmlzaW9uIDI1MTczKQorKysgV2ViQ29yZS9rc3Zn
Mi9zdmcvU1ZHRkVNZXJnZU5vZGVFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1IE5pa29sYXMgWmltbWVybWFu
biA8d2lsZGZveEBrZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSBOaWtvbGFz
IFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDQs
IDIwMDUsIDIwMDYgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KIAogICAgIFRoaXMgZmlsZSBpcyBw
YXJ0IG9mIHRoZSBLREUgcHJvamVjdApJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVJbWFn
ZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFSW1hZ2VF
bGVtZW50LmNwcAkocmV2aXNpb24gMjUxNzMpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRUlt
YWdlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICAgIENv
cHlyaWdodCAoQykgMjAwNCwgMjAwNSBOaWtvbGFzIFppbW1lcm1hbm4gPHdpbGRmb3hAa2RlLm9y
Zz4KKyAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5u
IDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAgICAyMDA0LCAyMDA1IFJvYiBC
dWlzIDxidWlzQGtkZS5vcmc+CiAKICAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgS0RFIHBy
b2plY3QKQEAgLTg2LDE2ICs4NiwyMSBAQAogCiB2b2lkIFNWR0ZFSW1hZ2VFbGVtZW50Ojpub3Rp
ZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSogZmluaXNoZWRPYmopCiB7Ci0gICAgaWYgKGZpbmlz
aGVkT2JqID09IG1fY2FjaGVkSW1hZ2UgJiYgZmlsdGVyRWZmZWN0KCkpCi0gICAgICAgIGZpbHRl
ckVmZmVjdCgpLT5zZXRDYWNoZWRJbWFnZShtX2NhY2hlZEltYWdlKTsKKyAgICBpZiAoZmluaXNo
ZWRPYmogPT0gbV9jYWNoZWRJbWFnZSAmJiBtX2ZpbHRlckVmZmVjdCkKKyAgICAgICAgbV9maWx0
ZXJFZmZlY3QtPnNldENhY2hlZEltYWdlKG1fY2FjaGVkSW1hZ2UpOwogfQogCi1TVkdGRUltYWdl
KiBTVkdGRUltYWdlRWxlbWVudDo6ZmlsdGVyRWZmZWN0KCkgY29uc3QKK1NWR0ZFSW1hZ2UqIFNW
R0ZFSW1hZ2VFbGVtZW50OjpmaWx0ZXJFZmZlY3QoU1ZHUmVzb3VyY2VGaWx0ZXIqIGZpbHRlcikg
Y29uc3QKIHsKICAgICBpZiAoIW1fZmlsdGVyRWZmZWN0KQotICAgICAgICBtX2ZpbHRlckVmZmVj
dCA9IHN0YXRpY19jYXN0PFNWR0ZFSW1hZ2UqPihTVkdSZXNvdXJjZUZpbHRlcjo6Y3JlYXRlRmls
dGVyRWZmZWN0KEZFX0lNQUdFKSk7CisgICAgICAgIG1fZmlsdGVyRWZmZWN0ID0gc3RhdGljX2Nh
c3Q8U1ZHRkVJbWFnZSo+KFNWR1Jlc291cmNlRmlsdGVyOjpjcmVhdGVGaWx0ZXJFZmZlY3QoRkVf
SU1BR0UsIGZpbHRlcikpOwogICAgIGlmICghbV9maWx0ZXJFZmZlY3QpCiAgICAgICAgIHJldHVy
biAwOworCisgICAgLy8gVGhlIHJlc291cmNlIG1heSBhbHJlYWR5IGJlIGxvYWRlZCEKKyAgICBp
ZiAobV9jYWNoZWRJbWFnZSkKKyAgICAgICAgbV9maWx0ZXJFZmZlY3QtPnNldENhY2hlZEltYWdl
KG1fY2FjaGVkSW1hZ2UpOworCiAgICAgc2V0U3RhbmRhcmRBdHRyaWJ1dGVzKG1fZmlsdGVyRWZm
ZWN0KTsKICAgICByZXR1cm4gbV9maWx0ZXJFZmZlY3Q7CiB9CkluZGV4OiBXZWJDb3JlL2tzdmcy
L3N2Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2
ZzIvc3ZnL1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5jcHAJKHJldmlzaW9uIDI1MTczKQorKysgV2Vi
Q29yZS9rc3ZnMi9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1IE5pa29sYXMg
WmltbWVybWFubiA8d2lsZGZveEBrZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAw
NSwgMjAwNyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAgICAgICAg
ICAgICAgICAgIDIwMDQsIDIwMDUsIDIwMDYgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KIAogICAg
IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUgcHJvamVjdApAQCAtMzIsNyArMzIsNyBAQAog
CiBTVkdGRUNvbXBvc2l0ZUVsZW1lbnQ6OlNWR0ZFQ29tcG9zaXRlRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jKQogICAgIDogU1ZHRmlsdGVyUHJpbWl0
aXZlU3RhbmRhcmRBdHRyaWJ1dGVzKHRhZ05hbWUsIGRvYykKLSAgICAsIG1fX29wZXJhdG9yKDAp
CisgICAgLCBtX19vcGVyYXRvcihTVkdfRkVDT01QT1NJVEVfT1BFUkFUT1JfT1ZFUikKICAgICAs
IG1fazEoMC4wKQogICAgICwgbV9rMigwLjApCiAgICAgLCBtX2szKDAuMCkKQEAgLTU3LDggKzU3
LDcgQEAKIHZvaWQgU1ZHRkVDb21wb3NpdGVFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShN
YXBwZWRBdHRyaWJ1dGUgKmF0dHIpCiB7CiAgICAgY29uc3QgU3RyaW5nJiB2YWx1ZSA9IGF0dHIt
PnZhbHVlKCk7Ci0gICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6b3BlcmF0b3JBdHRy
KQotICAgIHsKKyAgICBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpvcGVyYXRvckF0dHIp
IHsKICAgICAgICAgaWYgKHZhbHVlID09ICJvdmVyIikKICAgICAgICAgICAgIHNldF9vcGVyYXRv
ckJhc2VWYWx1ZShTVkdfRkVDT01QT1NJVEVfT1BFUkFUT1JfT1ZFUik7CiAgICAgICAgIGVsc2Ug
aWYgKHZhbHVlID09ICJpbiIpCkBAIC04OCwyMCArODcsMjIgQEAKICAgICAgICAgU1ZHRmlsdGVy
UHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKTsK
IH0KIAotU1ZHRkVDb21wb3NpdGUqIFNWR0ZFQ29tcG9zaXRlRWxlbWVudDo6ZmlsdGVyRWZmZWN0
KCkgY29uc3QKK1NWR0ZFQ29tcG9zaXRlKiBTVkdGRUNvbXBvc2l0ZUVsZW1lbnQ6OmZpbHRlckVm
ZmVjdChTVkdSZXNvdXJjZUZpbHRlciogZmlsdGVyKSBjb25zdAogewogICAgIGlmICghbV9maWx0
ZXJFZmZlY3QpCi0gICAgICAgIG1fZmlsdGVyRWZmZWN0ID0gc3RhdGljX2Nhc3Q8U1ZHRkVDb21w
b3NpdGUqPihTVkdSZXNvdXJjZUZpbHRlcjo6Y3JlYXRlRmlsdGVyRWZmZWN0KEZFX0NPTVBPU0lU
RSkpOworICAgICAgICBtX2ZpbHRlckVmZmVjdCA9IHN0YXRpY19jYXN0PFNWR0ZFQ29tcG9zaXRl
Kj4oU1ZHUmVzb3VyY2VGaWx0ZXI6OmNyZWF0ZUZpbHRlckVmZmVjdChGRV9DT01QT1NJVEUsIGZp
bHRlcikpOwogICAgIGlmICghbV9maWx0ZXJFZmZlY3QpCiAgICAgICAgIHJldHVybiAwOworCiAg
ICAgbV9maWx0ZXJFZmZlY3QtPnNldE9wZXJhdGlvbigoU1ZHQ29tcG9zaXRlT3BlcmF0aW9uVHlw
ZSkgX29wZXJhdG9yKCkpOwogICAgIG1fZmlsdGVyRWZmZWN0LT5zZXRJbihpbjEoKSk7CiAgICAg
bV9maWx0ZXJFZmZlY3QtPnNldEluMihpbjIoKSk7Ci0gICAgc2V0U3RhbmRhcmRBdHRyaWJ1dGVz
KG1fZmlsdGVyRWZmZWN0KTsKICAgICBtX2ZpbHRlckVmZmVjdC0+c2V0SzEoazEoKSk7CiAgICAg
bV9maWx0ZXJFZmZlY3QtPnNldEsyKGsyKCkpOwogICAgIG1fZmlsdGVyRWZmZWN0LT5zZXRLMyhr
MygpKTsKICAgICBtX2ZpbHRlckVmZmVjdC0+c2V0SzQoazQoKSk7CisKKyAgICBzZXRTdGFuZGFy
ZEF0dHJpYnV0ZXMobV9maWx0ZXJFZmZlY3QpOwogICAgIHJldHVybiBtX2ZpbHRlckVmZmVjdDsK
IH0KIApJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVGbG9vZEVsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFRmxvb2RFbGVtZW50LmNwcAkocmV2aXNp
b24gMjUxNzMpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRUZsb29kRWxlbWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICAgIENvcHlyaWdodCAoQykgMjAwNCwg
MjAwNSBOaWtvbGFzIFppbW1lcm1hbm4gPHdpbGRmb3hAa2RlLm9yZz4KKyAgICBDb3B5cmlnaHQg
KEMpIDIwMDQsIDIwMDUsIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5v
cmc+CiAgICAgICAgICAgICAgICAgICAyMDA0LCAyMDA1IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+
CiAKICAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgS0RFIHByb2plY3QKQEAgLTU2LDIwICs1
NiwyNiBAQAogICAgICAgICBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM6OnBh
cnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpOwogfQogCi1TVkdGRUZsb29kKiBTVkdGRUZsb29kRWxl
bWVudDo6ZmlsdGVyRWZmZWN0KCkgY29uc3QKK1NWR0ZFRmxvb2QqIFNWR0ZFRmxvb2RFbGVtZW50
OjpmaWx0ZXJFZmZlY3QoU1ZHUmVzb3VyY2VGaWx0ZXIqIGZpbHRlcikgY29uc3QKIHsKICAgICBp
ZiAoIW1fZmlsdGVyRWZmZWN0KQotICAgICAgICBtX2ZpbHRlckVmZmVjdCA9IHN0YXRpY19jYXN0
PFNWR0ZFRmxvb2QqPihTVkdSZXNvdXJjZUZpbHRlcjo6Y3JlYXRlRmlsdGVyRWZmZWN0KEZFX0ZM
T09EKSk7CisgICAgICAgIG1fZmlsdGVyRWZmZWN0ID0gc3RhdGljX2Nhc3Q8U1ZHRkVGbG9vZCo+
KFNWR1Jlc291cmNlRmlsdGVyOjpjcmVhdGVGaWx0ZXJFZmZlY3QoRkVfRkxPT0QsIGZpbHRlcikp
OwogICAgIGlmICghbV9maWx0ZXJFZmZlY3QpCiAgICAgICAgIHJldHVybiAwOworCiAgICAgbV9m
aWx0ZXJFZmZlY3QtPnNldEluKGluMSgpKTsKICAgICBzZXRTdGFuZGFyZEF0dHJpYnV0ZXMobV9m
aWx0ZXJFZmZlY3QpOwotICAgIFJlbmRlclN0eWxlKiBmaWx0ZXJTdHlsZSA9IGNvbnN0X2Nhc3Q8
U1ZHRkVGbG9vZEVsZW1lbnQgKj4odGhpcyktPnN0eWxlRm9yUmVuZGVyZXIocGFyZW50Tm9kZSgp
LT5yZW5kZXJlcigpKTsKLSAgICBjb25zdCBTVkdSZW5kZXJTdHlsZSogc3ZnU3R5bGUgPSBmaWx0
ZXJTdHlsZS0+c3ZnU3R5bGUoKTsKLSAgICBtX2ZpbHRlckVmZmVjdC0+c2V0Rmxvb2RDb2xvcihz
dmdTdHlsZS0+Zmxvb2RDb2xvcigpKTsKLSAgICBtX2ZpbHRlckVmZmVjdC0+c2V0Rmxvb2RPcGFj
aXR5KHN2Z1N0eWxlLT5mbG9vZE9wYWNpdHkoKSk7Ci0gICAgZmlsdGVyU3R5bGUtPmRlcmVmKHZp
ZXcoKS0+cmVuZGVyQXJlbmEoKSk7CiAKKyAgICBTVkdGRUZsb29kRWxlbWVudCogbm9uQ29uc3RU
aGlzID0gY29uc3RfY2FzdDxTVkdGRUZsb29kRWxlbWVudCo+KHRoaXMpOworCisgICAgUmVuZGVy
U3R5bGUqIHBhcmVudFN0eWxlID0gMDsKKyAgICBpZiAoIXJlbmRlcmVyKCkpCisgICAgICAgIHBh
cmVudFN0eWxlID0gbm9uQ29uc3RUaGlzLT5zdHlsZUZvclJlbmRlcmVyKHBhcmVudCgpLT5yZW5k
ZXJlcigpKTsKKworICAgIFJlbmRlclN0eWxlKiBmaWx0ZXJTdHlsZSA9IG5vbkNvbnN0VGhpcy0+
cmVzb2x2ZVN0eWxlKHBhcmVudFN0eWxlKTsKKyAgICBtX2ZpbHRlckVmZmVjdC0+c2V0Rmxvb2RD
b2xvcihmaWx0ZXJTdHlsZS0+c3ZnU3R5bGUoKS0+Zmxvb2RDb2xvcigpKTsKKyAgICBtX2ZpbHRl
ckVmZmVjdC0+c2V0Rmxvb2RPcGFjaXR5KGZpbHRlclN0eWxlLT5zdmdTdHlsZSgpLT5mbG9vZE9w
YWNpdHkoKSk7CisKICAgICByZXR1cm4gbV9maWx0ZXJFZmZlY3Q7CiB9CiAKSW5kZXg6IFdlYkNv
cmUva3N2ZzIvc3ZnL1NWR0ZFTWVyZ2VOb2RlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUva3N2ZzIvc3ZnL1NWR0ZFTWVyZ2VOb2RlRWxlbWVudC5oCShyZXZpc2lvbiAyNTE3MykKKysr
IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFTWVyZ2VOb2RlRWxlbWVudC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUgTmlrb2xh
cyBaaW1tZXJtYW5uIDx3aWxkZm94QGtkZS5vcmc+CisgICAgQ29weXJpZ2h0IChDKSAyMDA0LCAy
MDA1IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgogICAgICAgICAgICAg
ICAgICAgMjAwNCwgMjAwNSwgMjAwNiBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgogCiAgICAgVGhp
cyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBwcm9qZWN0CkBAIC0yMiwxMCArMjIsMTAgQEAKIAog
I2lmbmRlZiBTVkdGRU1lcmdlTm9kZUVsZW1lbnRfaAogI2RlZmluZSBTVkdGRU1lcmdlTm9kZUVs
ZW1lbnRfaAorCiAjaWYgRU5BQkxFKFNWRykgJiYgRU5BQkxFKFNWR19FWFBFUklNRU5UQUxfRkVB
VFVSRVMpCisjaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgogCi0jaW5jbHVkZSA8U1ZHRWxlbWVudC5o
PgotCiBuYW1lc3BhY2UgV2ViQ29yZQogewogICAgIGNsYXNzIFNWR0ZFTWVyZ2VOb2RlRWxlbWVu
dCA6IHB1YmxpYyBTVkdFbGVtZW50CkBAIC0zNCwxMSArMzQsOCBAQAogICAgICAgICBTVkdGRU1l
cmdlTm9kZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAgICAgICAg
IHZpcnR1YWwgflNWR0ZFTWVyZ2VOb2RlRWxlbWVudCgpOwogCi0gICAgICAgIC8vIERlcml2ZWQg
ZnJvbTogJ0VsZW1lbnQnCi0gICAgICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0
ZShNYXBwZWRBdHRyaWJ1dGUqIGF0dHIpOworICAgICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBw
ZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKik7CiAKLSAgICAgICAgLy8gJ1NWR0ZFTWVyZ2VO
b2RlRWxlbWVudCcgZnVuY3Rpb25zCi0gICAgCiAgICAgcHJvdGVjdGVkOgogICAgICAgICB2aXJ0
dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhp
czsgfQogCkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxl
bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFQ29tcG9uZW50VHJh
bnNmZXJFbGVtZW50LmgJKHJldmlzaW9uIDI1MTczKQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZH
RkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1IE5pa29sYXMgWmltbWVybWFubiA8
d2lsZGZveEBrZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNyBOaWtv
bGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIw
MDQsIDIwMDUgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KIAogICAgIFRoaXMgZmlsZSBpcyBwYXJ0
IG9mIHRoZSBLREUgcHJvamVjdApAQCAtMjIsOCArMjIsOCBAQAogCiAjaWZuZGVmIFNWR0ZFQ29t
cG9uZW50VHJhbnNmZXJFbGVtZW50X2gKICNkZWZpbmUgU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVs
ZW1lbnRfaAotI2lmIEVOQUJMRShTVkcpICYmIEVOQUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRV
UkVTKQogCisjaWYgRU5BQkxFKFNWRykgJiYgRU5BQkxFKFNWR19FWFBFUklNRU5UQUxfRkVBVFVS
RVMpCiAjaW5jbHVkZSAiU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmgiCiAj
aW5jbHVkZSAiU1ZHRkVDb21wb25lbnRUcmFuc2Zlci5oIgogCkBAIC0zNiwxNyArMzYsMTUgQEAK
ICAgICAgICAgU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50Kik7CiAgICAgICAgIHZpcnR1YWwgflNWR0ZFQ29tcG9uZW50VHJhbnNmZXJF
bGVtZW50KCk7CiAKLSAgICAgICAgLy8gJ1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50JyBm
dW5jdGlvbnMKLSAgICAgICAgLy8gRGVyaXZlZCBmcm9tOiAnRWxlbWVudCcKLSAgICAgICAgdmly
dHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSAqYXR0cik7Cisg
ICAgICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUq
KTsKKyAgICAgICAgdmlydHVhbCBTVkdGRUNvbXBvbmVudFRyYW5zZmVyKiBmaWx0ZXJFZmZlY3Qo
U1ZHUmVzb3VyY2VGaWx0ZXIqKSBjb25zdDsKIAotICAgICAgICB2aXJ0dWFsIFNWR0ZFQ29tcG9u
ZW50VHJhbnNmZXIgKmZpbHRlckVmZmVjdCgpIGNvbnN0OwotCiAgICAgcHJvdGVjdGVkOgogICAg
ICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyBy
ZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlf
REVDTEFSQVRJT05TKFNWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50LCBTdHJpbmcsIFN0cmlu
ZywgSW4xLCBpbjEpCisKICAgICAgICAgbXV0YWJsZSBTVkdGRUNvbXBvbmVudFRyYW5zZmVyICpt
X2ZpbHRlckVmZmVjdDsKICAgICB9OwogCkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGaWx0
ZXJFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRmlsdGVyRWxl
bWVudC5oCShyZXZpc2lvbiAyNTE3MykKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZpbHRlckVs
ZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29weXJpZ2h0
IChDKSAyMDA0LCAyMDA1LCAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8d2lsZGZveEBrZGUub3Jn
PgorICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNyBOaWtvbGFzIFppbW1l
cm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUs
IDIwMDYgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KICAgICBDb3B5cmlnaHQgKEMpIDIwMDYgU2Ft
dWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAKQEAgLTI1LDcgKzI1LDYgQEAKICNk
ZWZpbmUgU1ZHRmlsdGVyRWxlbWVudF9oCiAKICNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUoU1ZH
X0VYUEVSSU1FTlRBTF9GRUFUVVJFUykKLQogI2luY2x1ZGUgIlNWR1Jlc291cmNlRmlsdGVyLmgi
CiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUgIlNW
R0xhbmdTcGFjZS5oIgpAQCAtNDYsMTEgKzQ1LDkgQEAKIAogICAgICAgICB2aXJ0dWFsIFNWR1Jl
c291cmNlKiBjYW52YXNSZXNvdXJjZSgpOwogCi0gICAgICAgIC8vICdTVkdGaWx0ZXJFbGVtZW50
JyBmdW5jdGlvbnMKICAgICAgICAgdm9pZCBzZXRGaWx0ZXJSZXModW5zaWduZWQgbG9uZyBmaWx0
ZXJSZXNYLCB1bnNpZ25lZCBsb25nIGZpbHRlclJlc1kpIGNvbnN0OwogCi0gICAgICAgIHZpcnR1
YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUqIGF0dHIpOwotCisg
ICAgICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUq
KTsKICAgICAgICAgdmlydHVhbCBib29sIHJlbmRlcmVySXNOZWVkZWQoUmVuZGVyU3R5bGUqKSB7
IHJldHVybiBmYWxzZTsgfQogCiAgICAgcHJvdGVjdGVkOgpJbmRleDogV2ViQ29yZS9rc3ZnMi9z
dmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmgJ
KHJldmlzaW9uIDI1MTczKQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZl
U3RhbmRhcmRBdHRyaWJ1dGVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgot
ICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHdp
bGRmb3hAa2RlLm9yZz4KKyAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcg
Tmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAg
ICAyMDA0LCAyMDA1LCAyMDA2IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CiAKICAgICBUaGlzIGZp
bGUgaXMgcGFydCBvZiB0aGUgS0RFIHByb2plY3QKQEAgLTI0LDExICsyNCwxMSBAQAogI2RlZmlu
ZSBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXNfaAogCiAjaWYgRU5BQkxFKFNW
RykKLQogI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIGNsYXNzIFNWR0ZpbHRlckVmZmVjdDsKKyAgICBjbGFzcyBTVkdSZXNvdXJjZUZpbHRl
cjsKIAogICAgIGNsYXNzIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyA6IHB1
YmxpYyBTVkdTdHlsZWRFbGVtZW50CiAgICAgewpAQCAtMzgsMTUgKzM4LDEzIEBACiAgICAgICAg
IAogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNGaWx0ZXJFZmZlY3QoKSBjb25zdCB7IHJldHVybiB0
cnVlOyB9CiAKLSAgICAgICAgLy8gJ1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRl
cycgZnVuY3Rpb25zCi0gICAgICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShN
YXBwZWRBdHRyaWJ1dGUgKmF0dHIpOworICAgICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRB
dHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKik7CisgICAgICAgIHZpcnR1YWwgU1ZHRmlsdGVyRWZm
ZWN0KiBmaWx0ZXJFZmZlY3QoU1ZHUmVzb3VyY2VGaWx0ZXIqKSBjb25zdCA9IDA7CiAKLSAgICAg
ICAgdmlydHVhbCBTVkdGaWx0ZXJFZmZlY3QqIGZpbHRlckVmZmVjdCgpIGNvbnN0ID0gMDsKLQog
ICAgICAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChSZW5kZXJTdHlsZSopIHsgcmV0
dXJuIGZhbHNlOyB9CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZvaWQgc2V0U3RhbmRhcmRB
dHRyaWJ1dGVzKFNWR0ZpbHRlckVmZmVjdCogZmlsdGVyRWZmZWN0KSBjb25zdDsKKyAgICAgICAg
dm9pZCBzZXRTdGFuZGFyZEF0dHJpYnV0ZXMoU1ZHRmlsdGVyRWZmZWN0KikgY29uc3Q7CiAKICAg
ICBwcm90ZWN0ZWQ6CiAgICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVs
ZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9T
VkdGRVRpbGVFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdG
RVRpbGVFbGVtZW50LmNwcAkocmV2aXNpb24gMjUxNzMpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9T
VkdGRVRpbGVFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
ICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1IE5pa29sYXMgWmltbWVybWFubiA8d2lsZGZveEBr
ZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNyBOaWtvbGFzIFppbW1l
cm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDQsIDIwMDUg
Um9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KIAogICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBL
REUgcHJvamVjdApAQCAtNTMsMTMgKzUzLDE1IEBACiAgICAgICAgIFNWR0ZpbHRlclByaW1pdGl2
ZVN0YW5kYXJkQXR0cmlidXRlczo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7CiB9CiAKLVNW
R0ZFVGlsZSogU1ZHRkVUaWxlRWxlbWVudDo6ZmlsdGVyRWZmZWN0KCkgY29uc3QKK1NWR0ZFVGls
ZSogU1ZHRkVUaWxlRWxlbWVudDo6ZmlsdGVyRWZmZWN0KFNWR1Jlc291cmNlRmlsdGVyKiBmaWx0
ZXIpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2ZpbHRlckVmZmVjdCkKLSAgICAgICAgbV9maWx0ZXJF
ZmZlY3QgPSBzdGF0aWNfY2FzdDxTVkdGRVRpbGUqPihTVkdSZXNvdXJjZUZpbHRlcjo6Y3JlYXRl
RmlsdGVyRWZmZWN0KEZFX1RJTEUpKTsKKyAgICAgICAgbV9maWx0ZXJFZmZlY3QgPSBzdGF0aWNf
Y2FzdDxTVkdGRVRpbGUqPihTVkdSZXNvdXJjZUZpbHRlcjo6Y3JlYXRlRmlsdGVyRWZmZWN0KEZF
X1RJTEUsIGZpbHRlcikpOwogICAgIGlmICghbV9maWx0ZXJFZmZlY3QpCiAgICAgICAgIHJldHVy
biAwOworCiAgICAgbV9maWx0ZXJFZmZlY3QtPnNldEluKGluMSgpKTsKKwogICAgIHNldFN0YW5k
YXJkQXR0cmlidXRlcyhtX2ZpbHRlckVmZmVjdCk7CiAgICAgcmV0dXJuIG1fZmlsdGVyRWZmZWN0
OwogfQpJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVGdW5jR0VsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFRnVuY0dFbGVtZW50LmNwcAkocmV2aXNp
b24gMjUxNzMpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRUZ1bmNHRWxlbWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICAgIENvcHlyaWdodCAoQykgMjAwNCwg
MjAwNSBOaWtvbGFzIFppbW1lcm1hbm4gPHdpbGRmb3hAa2RlLm9yZz4KKyAgICBDb3B5cmlnaHQg
KEMpIDIwMDQsIDIwMDUgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAg
ICAgICAgICAgICAgICAgICAyMDA0LCAyMDA1LCAyMDA2IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+
CiAKICAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgS0RFIHByb2plY3QKQEAgLTI3LDggKzI3
LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TVkdGRUZ1bmNHRWxlbWVudDo6U1ZHRkVG
dW5jR0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvYykg
OiAKLSAgICBTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCh0YWdOYW1lLCBkb2Mp
CitTVkdGRUZ1bmNHRWxlbWVudDo6U1ZHRkVGdW5jR0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvYykKKyAgICA6IFNWR0NvbXBvbmVudFRyYW5zZmVyRnVu
Y3Rpb25FbGVtZW50KHRhZ05hbWUsIGRvYykKIHsKIH0KIApJbmRleDogV2ViQ29yZS9rc3ZnMi9z
dmcvU1ZHRkVMaWdodEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9T
VkdGRUxpZ2h0RWxlbWVudC5oCShyZXZpc2lvbiAyNTE3MykKKysrIFdlYkNvcmUva3N2ZzIvc3Zn
L1NWR0ZFTGlnaHRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgot
ICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSBOaWtvbGFzIFppbW1lcm1hbm4gPHdpbGRmb3hA
a2RlLm9yZz4KKyAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUgTmlrb2xhcyBaaW1tZXJtYW5u
IDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAgICAyMDA0LCAyMDA1LCAyMDA2
IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAgICAyMDA1IE9saXZlciBI
dW50IDxvamgxNkBzdHVkZW50LmNhbnRlcmJ1cnkuYWMubno+CiAKQEAgLTIxLDggKzIxLDggQEAK
IAogI2lmbmRlZiBTVkdGRUxpZ2h0RWxlbWVudF9oCiAjZGVmaW5lIFNWR0ZFTGlnaHRFbGVtZW50
X2gKLSNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykK
IAorI2lmIEVOQUJMRShTVkcpICYmIEVOQUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKQog
I2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdMaWdodFNvdXJjZS5oIgogCkBA
IC0zNiwxMSArMzYsOSBAQAogICAgICAgICBTVkdGRUxpZ2h0RWxlbWVudChjb25zdCBRdWFsaWZp
ZWROYW1lJiwgRG9jdW1lbnQqKTsKICAgICAgICAgdmlydHVhbCB+U1ZHRkVMaWdodEVsZW1lbnQo
KTsKICAgICAgICAgCi0gICAgICAgIC8vICdTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxl
bWVudCcgZnVuY3Rpb25zCiAgICAgICAgIHZpcnR1YWwgU1ZHTGlnaHRTb3VyY2UqIGxpZ2h0U291
cmNlKCkgY29uc3QgPSAwOwotICAgICAgICAKLSAgICAgICAgLy8gRGVyaXZlZCBmcm9tOiAnRWxl
bWVudCcKLSAgICAgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0
dHJpYnV0ZSogYXR0cik7ICAgICAgICAKKyAgICAgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVk
QXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSopOworCiAgICAgcHJpdmF0ZToKICAgICAgICAgQU5J
TUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFTGlnaHRFbGVtZW50LCBkb3VibGUsIGRv
dWJsZSwgQXppbXV0aCwgYXppbXV0aCkKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFS
QVRJT05TKFNWR0ZFTGlnaHRFbGVtZW50LCBkb3VibGUsIGRvdWJsZSwgRWxldmF0aW9uLCBlbGV2
YXRpb24pCkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRVBvaW50TGlnaHRFbGVtZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVQb2ludExpZ2h0RWxlbWVudC5o
CShyZXZpc2lvbiAyNTE3MykKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFUG9pbnRMaWdodEVs
ZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTksOCArMTksOCBAQAogCiAjaWZuZGVmIFNWR0ZF
UG9pbnRMaWdodEVsZW1lbnRfaAogI2RlZmluZSBTVkdGRVBvaW50TGlnaHRFbGVtZW50X2gKKwog
I2lmIEVOQUJMRShTVkcpICYmIEVOQUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKQotCiAj
aW5jbHVkZSAiU1ZHRkVMaWdodEVsZW1lbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUKQEAgLTMw
LDcgKzMwLDggQEAKICAgICAgICAgcHVibGljOgogICAgICAgICBTVkdGRVBvaW50TGlnaHRFbGVt
ZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwogICAgICAgICB2aXJ0dWFsIH5T
VkdGRVBvaW50TGlnaHRFbGVtZW50KCk7Ci0gICAgICAgIHZpcnR1YWwgU1ZHTGlnaHRTb3VyY2Ug
KmxpZ2h0U291cmNlKCkgY29uc3Q7CisKKyAgICAgICAgdmlydHVhbCBTVkdMaWdodFNvdXJjZSog
bGlnaHRTb3VyY2UoKSBjb25zdDsKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCklu
ZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRUZ1bmNBRWxlbWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFRnVuY0FFbGVtZW50LmgJKHJldmlzaW9uIDI1MTczKQor
KysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVGdW5jQUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1IE5pa29sYXMg
WmltbWVybWFubiA8d2lsZGZveEBrZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAw
NSBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAgICAgICAgICAgICAg
ICAgIDIwMDQsIDIwMDUgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KIAogICAgIFRoaXMgZmlsZSBp
cyBwYXJ0IG9mIHRoZSBLREUgcHJvamVjdApAQCAtMjIsOCArMjIsOCBAQAogCiAjaWZuZGVmIFNW
R0ZFRnVuY0FFbGVtZW50X2gKICNkZWZpbmUgU1ZHRkVGdW5jQUVsZW1lbnRfaAorCiAjaWYgRU5B
QkxFKFNWRykgJiYgRU5BQkxFKFNWR19FWFBFUklNRU5UQUxfRkVBVFVSRVMpCi0KICNpbmNsdWRl
ICJTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZQpJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVUaWxlRWxlbWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuaAkocmV2aXNpb24gMjUx
NzMpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRVRpbGVFbGVtZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNSArMSw1IEBACiAvKgotICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSBOaWtv
bGFzIFppbW1lcm1hbm4gPHdpbGRmb3hAa2RlLm9yZz4KKyAgICBDb3B5cmlnaHQgKEMpIDIwMDQs
IDIwMDUsIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgICAg
ICAgICAgICAgICAgICAyMDA0LCAyMDA1IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CiAKICAgICBU
aGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgS0RFIHByb2plY3QKQEAgLTIyLDggKzIyLDggQEAKIAog
I2lmbmRlZiBTVkdGRVRpbGVFbGVtZW50X2gKICNkZWZpbmUgU1ZHRkVUaWxlRWxlbWVudF9oCi0j
aWYgRU5BQkxFKFNWRykgJiYgRU5BQkxFKFNWR19FWFBFUklNRU5UQUxfRkVBVFVSRVMpCiAKKyNp
ZiBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykKICNpbmNs
dWRlICJTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuaCIKICNpbmNsdWRlICJT
VkdGRVRpbGUuaCIKIApAQCAtMzYsMTggKzM2LDE2IEBACiAgICAgICAgIFNWR0ZFVGlsZUVsZW1l
bnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAgICAgICAgIHZpcnR1YWwgflNW
R0ZFVGlsZUVsZW1lbnQoKTsKIAotICAgICAgICAvLyAnU1ZHRkVUaWxlRWxlbWVudCcgZnVuY3Rp
b25zCi0gICAgICAgIC8vIERlcml2ZWQgZnJvbTogJ0VsZW1lbnQnCi0gICAgICAgIHZpcnR1YWwg
dm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUgKmF0dHIpOworICAgICAg
ICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKik7Cisg
ICAgICAgIHZpcnR1YWwgU1ZHRkVUaWxlKiBmaWx0ZXJFZmZlY3QoU1ZHUmVzb3VyY2VGaWx0ZXIq
KSBjb25zdDsKIAotICAgICAgICB2aXJ0dWFsIFNWR0ZFVGlsZSAqZmlsdGVyRWZmZWN0KCkgY29u
c3Q7Ci0KICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCog
Y29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgog
ICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVUaWxlRWxlbWVudCwg
U3RyaW5nLCBTdHJpbmcsIEluMSwgaW4xKQotICAgICAgICBtdXRhYmxlIFNWR0ZFVGlsZSAqbV9m
aWx0ZXJFZmZlY3Q7CisKKyAgICAgICAgbXV0YWJsZSBTVkdGRVRpbGUqIG1fZmlsdGVyRWZmZWN0
OwogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUva3N2ZzIv
c3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUva3N2ZzIvc3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuY3BwCShyZXZpc2lvbiAy
NTE3MykKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAgICBDb3B5cmlnaHQgKEMp
IDIwMDQsIDIwMDUgTmlrb2xhcyBaaW1tZXJtYW5uIDx3aWxkZm94QGtkZS5vcmc+CisgICAgQ29w
eXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFu
bkBrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwNCwgMjAwNSwgMjAwNiBSb2IgQnVpcyA8
YnVpc0BrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwNSBPbGl2ZXIgSHVudCA8b2poMTZA
c3R1ZGVudC5jYW50ZXJidXJ5LmFjLm56PgogCkBAIC0yNCw2ICsyNCw3IEBACiAjaWYgRU5BQkxF
KFNWRykgJiYgRU5BQkxFKFNWR19FWFBFUklNRU5UQUxfRkVBVFVSRVMpCiAjaW5jbHVkZSAiU1ZH
RkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5oIgogCisjaW5jbHVkZSAiUmVuZGVyT2JqZWN0Lmgi
CiAjaW5jbHVkZSAiU1ZHQ29sb3IuaCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgogI2luY2x1ZGUg
IlNWR0ZFTGlnaHRFbGVtZW50LmgiCkBAIC0zNCwxMCArMzUsOSBAQAogCiBTVkdGRVNwZWN1bGFy
TGlnaHRpbmdFbGVtZW50OjpTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50KGNvbnN0IFF1YWxp
ZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2MpCiAgICAgOiBTVkdGaWx0ZXJQcmltaXRp
dmVTdGFuZGFyZEF0dHJpYnV0ZXModGFnTmFtZSwgZG9jKQotICAgICwgbV9zcGVjdWxhckNvbnN0
YW50KDAuMCkKLSAgICAsIG1fc3BlY3VsYXJFeHBvbmVudCgwLjApCi0gICAgLCBtX3N1cmZhY2VT
Y2FsZSgwLjApCi0gICAgLCBtX2xpZ2h0aW5nQ29sb3IobmV3IFNWR0NvbG9yKQorICAgICwgbV9z
cGVjdWxhckNvbnN0YW50KDEuMCkKKyAgICAsIG1fc3BlY3VsYXJFeHBvbmVudCgxLjApCisgICAg
LCBtX3N1cmZhY2VTY2FsZSgxLjApCiAgICAgLCBtX2tlcm5lbFVuaXRMZW5ndGhYKDAuMCkKICAg
ICAsIG1fa2VybmVsVW5pdExlbmd0aFkoMC4wKQogICAgICwgbV9maWx0ZXJFZmZlY3QoMCkKQEAg
LTU1LDcgKzU1LDYgQEAKIEFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFU3BlY3Vs
YXJMaWdodGluZ0VsZW1lbnQsIGRvdWJsZSwgTnVtYmVyLCBudW1iZXIsIFN1cmZhY2VTY2FsZSwg
c3VyZmFjZVNjYWxlLCBTVkdOYW1lczo6c3VyZmFjZVNjYWxlQXR0ci5sb2NhbE5hbWUoKSwgbV9z
dXJmYWNlU2NhbGUpCiBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRVNwZWN1bGFy
TGlnaHRpbmdFbGVtZW50LCBkb3VibGUsIE51bWJlciwgbnVtYmVyLCBLZXJuZWxVbml0TGVuZ3Ro
WCwga2VybmVsVW5pdExlbmd0aFgsICJrZXJuZWxVbml0TGVuZ3RoWCIsIG1fa2VybmVsVW5pdExl
bmd0aFgpCiBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRVNwZWN1bGFyTGlnaHRp
bmdFbGVtZW50LCBkb3VibGUsIE51bWJlciwgbnVtYmVyLCBLZXJuZWxVbml0TGVuZ3RoWSwga2Vy
bmVsVW5pdExlbmd0aFksICJrZXJuZWxVbml0TGVuZ3RoWSIsIG1fa2VybmVsVW5pdExlbmd0aFkp
Ci1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVt
ZW50LCBTVkdDb2xvciosIENvbG9yLCBjb2xvciwgTGlnaHRpbmdDb2xvciwgbGlnaHRpbmdDb2xv
ciwgU1ZHTmFtZXM6OmxpZ2h0aW5nX2NvbG9yQXR0ci5sb2NhbE5hbWUoKSwgbV9saWdodGluZ0Nv
bG9yLmdldCgpKQogCiB2b2lkIFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQ6OnBhcnNlTWFw
cGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cikKIHsgICAgCkBAIC03NCwyNiArNzMs
MzUgQEAKICAgICAgICAgICAgIHNldEtlcm5lbFVuaXRMZW5ndGhYQmFzZVZhbHVlKHgpOwogICAg
ICAgICAgICAgc2V0S2VybmVsVW5pdExlbmd0aFlCYXNlVmFsdWUoeSk7CiAgICAgICAgIH0KLSAg
ICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6bGlnaHRpbmdfY29sb3JBdHRy
KQotICAgICAgICBzZXRMaWdodGluZ0NvbG9yQmFzZVZhbHVlKG5ldyBTVkdDb2xvcih2YWx1ZSkp
OwotICAgIGVsc2UKKyAgICB9IGVsc2UKICAgICAgICAgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRh
cmRBdHRyaWJ1dGVzOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKTsKIH0KIAotU1ZHRkVTcGVj
dWxhckxpZ2h0aW5nKiBTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50OjpmaWx0ZXJFZmZlY3Qo
KSBjb25zdAorU1ZHRkVTcGVjdWxhckxpZ2h0aW5nKiBTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVt
ZW50OjpmaWx0ZXJFZmZlY3QoU1ZHUmVzb3VyY2VGaWx0ZXIqIGZpbHRlcikgY29uc3QKIHsKICAg
ICBpZiAoIW1fZmlsdGVyRWZmZWN0KSAKLSAgICAgICAgbV9maWx0ZXJFZmZlY3QgPSBzdGF0aWNf
Y2FzdDxTVkdGRVNwZWN1bGFyTGlnaHRpbmcqPihTVkdSZXNvdXJjZUZpbHRlcjo6Y3JlYXRlRmls
dGVyRWZmZWN0KEZFX1NQRUNVTEFSX0xJR0hUSU5HKSk7CisgICAgICAgIG1fZmlsdGVyRWZmZWN0
ID0gc3RhdGljX2Nhc3Q8U1ZHRkVTcGVjdWxhckxpZ2h0aW5nKj4oU1ZHUmVzb3VyY2VGaWx0ZXI6
OmNyZWF0ZUZpbHRlckVmZmVjdChGRV9TUEVDVUxBUl9MSUdIVElORywgZmlsdGVyKSk7CiAgICAg
aWYgKCFtX2ZpbHRlckVmZmVjdCkKICAgICAgICAgcmV0dXJuIDA7CisKICAgICBtX2ZpbHRlckVm
ZmVjdC0+c2V0SW4oaW4xKCkpOwotICAgIHNldFN0YW5kYXJkQXR0cmlidXRlcyhtX2ZpbHRlckVm
ZmVjdCk7CiAgICAgbV9maWx0ZXJFZmZlY3QtPnNldFNwZWN1bGFyQ29uc3RhbnQoKHNwZWN1bGFy
Q29uc3RhbnQoKSkpOwogICAgIG1fZmlsdGVyRWZmZWN0LT5zZXRTcGVjdWxhckV4cG9uZW50KChz
cGVjdWxhckV4cG9uZW50KCkpKTsKICAgICBtX2ZpbHRlckVmZmVjdC0+c2V0U3VyZmFjZVNjYWxl
KChzdXJmYWNlU2NhbGUoKSkpOwogICAgIG1fZmlsdGVyRWZmZWN0LT5zZXRLZXJuZWxVbml0TGVu
Z3RoWCgoa2VybmVsVW5pdExlbmd0aFgoKSkpOwogICAgIG1fZmlsdGVyRWZmZWN0LT5zZXRLZXJu
ZWxVbml0TGVuZ3RoWSgoa2VybmVsVW5pdExlbmd0aFkoKSkpOwotICAgIG1fZmlsdGVyRWZmZWN0
LT5zZXRMaWdodGluZ0NvbG9yKGxpZ2h0aW5nQ29sb3IoKS0+Y29sb3IoKSk7CisKKyAgICBTVkdG
RVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50KiBub25Db25zdFRoaXMgPSBjb25zdF9jYXN0PFNWR0ZF
U3BlY3VsYXJMaWdodGluZ0VsZW1lbnQqPih0aGlzKTsKKworICAgIFJlbmRlclN0eWxlKiBwYXJl
bnRTdHlsZSA9IDA7CisgICAgaWYgKCFyZW5kZXJlcigpKQorICAgICAgICBwYXJlbnRTdHlsZSA9
IG5vbkNvbnN0VGhpcy0+c3R5bGVGb3JSZW5kZXJlcihwYXJlbnQoKS0+cmVuZGVyZXIoKSk7CisK
KyAgICBSZW5kZXJTdHlsZSogZmlsdGVyU3R5bGUgPSBub25Db25zdFRoaXMtPnJlc29sdmVTdHls
ZShwYXJlbnRTdHlsZSk7CisgICAgbV9maWx0ZXJFZmZlY3QtPnNldExpZ2h0aW5nQ29sb3IoZmls
dGVyU3R5bGUtPnN2Z1N0eWxlKCktPmxpZ2h0aW5nQ29sb3IoKSk7CisKKyAgICBzZXRTdGFuZGFy
ZEF0dHJpYnV0ZXMobV9maWx0ZXJFZmZlY3QpOworCiAgICAgdXBkYXRlTGlnaHRzKCk7CiAgICAg
cmV0dXJuIG1fZmlsdGVyRWZmZWN0OwogfQpAQCAtMTEzLDYgKzEyMSw3IEBACiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgfQogICAgIH0KKwogICAgIG1fZmlsdGVyRWZmZWN0LT5zZXRMaWdo
dFNvdXJjZShsaWdodCk7CiB9CiAKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFRGlmZnVz
ZUxpZ2h0aW5nRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZH
RkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmNwcAkocmV2aXNpb24gMjUxNzMpCisrKyBXZWJDb3Jl
L2tzdmcyL3N2Zy9TVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xNSw3ICsxNSw3IEBACiAgICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCiAgICAgIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKICAgICAg
Qm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCi0gKi8KKyovCiAKICNpbmNsdWRlICJjb25maWcu
aCIKIApAQCAtMjMsNiArMjMsNyBAQAogI2luY2x1ZGUgIlNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxl
bWVudC5oIgogCiAjaW5jbHVkZSAiQXR0ci5oIgorI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgog
I2luY2x1ZGUgIlNWR0NvbG9yLmgiCiAjaW5jbHVkZSAiU1ZHRkVMaWdodEVsZW1lbnQuaCIKICNp
bmNsdWRlICJTVkdOYW1lcy5oIgpAQCAtMzUsOSArMzYsOCBAQAogCiBTVkdGRURpZmZ1c2VMaWdo
dGluZ0VsZW1lbnQ6OlNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jKQogICAgIDogU1ZHRmlsdGVyUHJpbWl0aXZlU3Rh
bmRhcmRBdHRyaWJ1dGVzKHRhZ05hbWUsIGRvYykKLSAgICAsIG1fZGlmZnVzZUNvbnN0YW50KDAu
MCkKLSAgICAsIG1fc3VyZmFjZVNjYWxlKDAuMCkKLSAgICAsIG1fbGlnaHRpbmdDb2xvcihuZXcg
U1ZHQ29sb3IoKSkKKyAgICAsIG1fZGlmZnVzZUNvbnN0YW50KDEuMCkKKyAgICAsIG1fc3VyZmFj
ZVNjYWxlKDEuMCkKICAgICAsIG1fa2VybmVsVW5pdExlbmd0aFgoMC4wKQogICAgICwgbV9rZXJu
ZWxVbml0TGVuZ3RoWSgwLjApCiAgICAgLCBtX2ZpbHRlckVmZmVjdCgwKQpAQCAtNTQsNyArNTQs
NiBAQAogQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVEaWZmdXNlTGlnaHRpbmdF
bGVtZW50LCBkb3VibGUsIE51bWJlciwgbnVtYmVyLCBTdXJmYWNlU2NhbGUsIHN1cmZhY2VTY2Fs
ZSwgU1ZHTmFtZXM6OnN1cmZhY2VTY2FsZUF0dHIubG9jYWxOYW1lKCksIG1fc3VyZmFjZVNjYWxl
KQogQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVt
ZW50LCBkb3VibGUsIE51bWJlciwgbnVtYmVyLCBLZXJuZWxVbml0TGVuZ3RoWCwga2VybmVsVW5p
dExlbmd0aFgsICJrZXJuZWxVbml0TGVuZ3RoWCIsIG1fa2VybmVsVW5pdExlbmd0aFgpCiBBTklN
QVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQsIGRv
dWJsZSwgTnVtYmVyLCBudW1iZXIsIEtlcm5lbFVuaXRMZW5ndGhZLCBrZXJuZWxVbml0TGVuZ3Ro
WSwgImtlcm5lbFVuaXRMZW5ndGhZIiwgbV9rZXJuZWxVbml0TGVuZ3RoWSkKLUFOSU1BVEVEX1BS
T1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudCwgU1ZHQ29sb3Iq
LCBDb2xvciwgY29sb3IsIExpZ2h0aW5nQ29sb3IsIGxpZ2h0aW5nQ29sb3IsIFNWR05hbWVzOjps
aWdodGluZ19jb2xvckF0dHIubG9jYWxOYW1lKCksIG1fbGlnaHRpbmdDb2xvci5nZXQoKSkKIAog
dm9pZCBTVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1h
cHBlZEF0dHJpYnV0ZSAqYXR0cikKIHsKQEAgLTcxLDI2ICs3MCwzNCBAQAogICAgICAgICAgICAg
c2V0S2VybmVsVW5pdExlbmd0aFhCYXNlVmFsdWUoeCk7CiAgICAgICAgICAgICBzZXRLZXJuZWxV
bml0TGVuZ3RoWUJhc2VWYWx1ZSh5KTsKICAgICAgICAgfQotICAgIH0gZWxzZSBpZiAoYXR0ci0+
bmFtZSgpID09IFNWR05hbWVzOjpsaWdodGluZ19jb2xvckF0dHIpCi0gICAgICAgIHNldExpZ2h0
aW5nQ29sb3JCYXNlVmFsdWUobmV3IFNWR0NvbG9yKHZhbHVlKSk7Ci0gICAgZWxzZQorICAgIH0g
ZWxzZQogICAgICAgICBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM6OnBhcnNl
TWFwcGVkQXR0cmlidXRlKGF0dHIpOwogfQogCi1TVkdGaWx0ZXJFZmZlY3QqIFNWR0ZFRGlmZnVz
ZUxpZ2h0aW5nRWxlbWVudDo6ZmlsdGVyRWZmZWN0KCkgY29uc3QKK1NWR0ZpbHRlckVmZmVjdCog
U1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50OjpmaWx0ZXJFZmZlY3QoU1ZHUmVzb3VyY2VGaWx0
ZXIqIGZpbHRlcikgY29uc3QKIHsKICAgICBpZiAoIW1fZmlsdGVyRWZmZWN0KSAKLSAgICAgICAg
bV9maWx0ZXJFZmZlY3QgPSBzdGF0aWNfY2FzdDxTVkdGRURpZmZ1c2VMaWdodGluZyo+KFNWR1Jl
c291cmNlRmlsdGVyOjpjcmVhdGVGaWx0ZXJFZmZlY3QoRkVfRElGRlVTRV9MSUdIVElORykpOwor
ICAgICAgICBtX2ZpbHRlckVmZmVjdCA9IHN0YXRpY19jYXN0PFNWR0ZFRGlmZnVzZUxpZ2h0aW5n
Kj4oU1ZHUmVzb3VyY2VGaWx0ZXI6OmNyZWF0ZUZpbHRlckVmZmVjdChGRV9ESUZGVVNFX0xJR0hU
SU5HLCBmaWx0ZXIpKTsKICAgICBpZiAoIW1fZmlsdGVyRWZmZWN0KQogICAgICAgICByZXR1cm4g
MDsKIAogICAgIG1fZmlsdGVyRWZmZWN0LT5zZXRJbihpbjEoKSk7Ci0gICAgc2V0U3RhbmRhcmRB
dHRyaWJ1dGVzKG1fZmlsdGVyRWZmZWN0KTsKICAgICBtX2ZpbHRlckVmZmVjdC0+c2V0RGlmZnVz
ZUNvbnN0YW50KGRpZmZ1c2VDb25zdGFudCgpKTsKICAgICBtX2ZpbHRlckVmZmVjdC0+c2V0U3Vy
ZmFjZVNjYWxlKHN1cmZhY2VTY2FsZSgpKTsKICAgICBtX2ZpbHRlckVmZmVjdC0+c2V0S2VybmVs
VW5pdExlbmd0aFgoa2VybmVsVW5pdExlbmd0aFgoKSk7CiAgICAgbV9maWx0ZXJFZmZlY3QtPnNl
dEtlcm5lbFVuaXRMZW5ndGhZKGtlcm5lbFVuaXRMZW5ndGhZKCkpOwotICAgIG1fZmlsdGVyRWZm
ZWN0LT5zZXRMaWdodGluZ0NvbG9yKGxpZ2h0aW5nQ29sb3IoKS0+Y29sb3IoKSk7CisKKyAgICBT
VkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQqIG5vbkNvbnN0VGhpcyA9IGNvbnN0X2Nhc3Q8U1ZH
RkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50Kj4odGhpcyk7CisKKyAgICBSZW5kZXJTdHlsZSogcGFy
ZW50U3R5bGUgPSAwOworICAgIGlmICghcmVuZGVyZXIoKSkKKyAgICAgICAgcGFyZW50U3R5bGUg
PSBub25Db25zdFRoaXMtPnN0eWxlRm9yUmVuZGVyZXIocGFyZW50KCktPnJlbmRlcmVyKCkpOwor
CisgICAgUmVuZGVyU3R5bGUqIGZpbHRlclN0eWxlID0gbm9uQ29uc3RUaGlzLT5yZXNvbHZlU3R5
bGUocGFyZW50U3R5bGUpOworICAgIG1fZmlsdGVyRWZmZWN0LT5zZXRMaWdodGluZ0NvbG9yKGZp
bHRlclN0eWxlLT5zdmdTdHlsZSgpLT5saWdodGluZ0NvbG9yKCkpOworCisgICAgc2V0U3RhbmRh
cmRBdHRyaWJ1dGVzKG1fZmlsdGVyRWZmZWN0KTsKKyAKICAgICB1cGRhdGVMaWdodHMoKTsKICAg
ICByZXR1cm4gbV9maWx0ZXJFZmZlY3Q7CiB9CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdT
dHlsZWRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdTdHls
ZWRFbGVtZW50LmNwcAkocmV2aXNpb24gMjUxNzMpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdT
dHlsZWRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYwLDYgKzI2MCwxNCBAQAogICAg
IG5vdGlmeUF0dHJpYnV0ZUNoYW5nZSgpOwogfQogCitSZW5kZXJTdHlsZSogU1ZHU3R5bGVkRWxl
bWVudDo6cmVzb2x2ZVN0eWxlKFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSkKK3sKKyAgICBpZiAo
cmVuZGVyZXIoKSkKKyAgICAgICAgcmV0dXJuIHJlbmRlcmVyKCktPnN0eWxlKCk7CisKKyAgICBy
ZXR1cm4gZG9jdW1lbnQoKS0+c3R5bGVTZWxlY3RvcigpLT5zdHlsZUZvckVsZW1lbnQodGhpcywg
cGFyZW50U3R5bGUpOworfQorCiBQYXNzUmVmUHRyPENTU1ZhbHVlPiBTVkdTdHlsZWRFbGVtZW50
OjpnZXRQcmVzZW50YXRpb25BdHRyaWJ1dGUoY29uc3QgU3RyaW5nJiBuYW1lKQogewogICAgIE1h
cHBlZEF0dHJpYnV0ZSogY3NzU1ZHQXR0ciA9IG1hcHBlZEF0dHJpYnV0ZXMoKS0+Z2V0QXR0cmli
dXRlSXRlbShuYW1lKTsKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVy
RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFR2F1c3NpYW5C
bHVyRWxlbWVudC5oCShyZXZpc2lvbiAyNTE3MykKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZF
R2F1c3NpYW5CbHVyRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUgTmlrb2xhcyBaaW1tZXJtYW5uIDx3aWxkZm94
QGtkZS5vcmc+CisgICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA3IE5pa29sYXMgWmlt
bWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwNCwgMjAw
NSwgMjAwNiBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgogCiAgICAgVGhpcyBmaWxlIGlzIHBhcnQg
b2YgdGhlIEtERSBwcm9qZWN0CkBAIC0yMiw4ICsyMiw4IEBACiAKICNpZm5kZWYgU1ZHRkVHYXVz
c2lhbkJsdXJFbGVtZW50X2gKICNkZWZpbmUgU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50X2gKLSNp
ZiBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykKIAorI2lm
IEVOQUJMRShTVkcpICYmIEVOQUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKQogI2luY2x1
ZGUgIlNWR0ZFR2F1c3NpYW5CbHVyLmgiCiAjaW5jbHVkZSAiU1ZHRmlsdGVyUHJpbWl0aXZlU3Rh
bmRhcmRBdHRyaWJ1dGVzLmgiCiAKQEAgLTM2LDE0ICszNiwxMSBAQAogICAgICAgICBTVkdGRUdh
dXNzaWFuQmx1ckVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAgICAg
ICAgIHZpcnR1YWwgflNWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudCgpOwogCi0gICAgICAgIC8vICdT
VkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQnIGZ1bmN0aW9ucwogICAgICAgICB2b2lkIHNldFN0ZERl
dmlhdGlvbihmbG9hdCBzdGREZXZpYXRpb25YLCBmbG9hdCBzdGREZXZpYXRpb25ZKTsKIAotICAg
ICAgICAvLyBEZXJpdmVkIGZyb206ICdFbGVtZW50JwotICAgICAgICB2aXJ0dWFsIHZvaWQgcGFy
c2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRyKTsKKyAgICAgICAgdmlydHVh
bCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSopOworICAgICAgICB2
aXJ0dWFsIFNWR0ZFR2F1c3NpYW5CbHVyKiBmaWx0ZXJFZmZlY3QoU1ZHUmVzb3VyY2VGaWx0ZXIq
KSBjb25zdDsKIAotICAgICAgICB2aXJ0dWFsIFNWR0ZFR2F1c3NpYW5CbHVyKiBmaWx0ZXJFZmZl
Y3QoKSBjb25zdDsKLQogICAgIHByb3RlY3RlZDoKICAgICAgICAgdmlydHVhbCBjb25zdCBTVkdF
bGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KIApAQCAtNTEs
NiArNDgsNyBAQAogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVH
YXVzc2lhbkJsdXJFbGVtZW50LCBTdHJpbmcsIFN0cmluZywgSW4xLCBpbjEpCiAgICAgICAgIEFO
SU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQsIGRv
dWJsZSwgZG91YmxlLCBTdGREZXZpYXRpb25YLCBzdGREZXZpYXRpb25YKQogICAgICAgICBBTklN
QVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50LCBkb3Vi
bGUsIGRvdWJsZSwgU3RkRGV2aWF0aW9uWSwgc3RkRGV2aWF0aW9uWSkKKwogICAgICAgICBtdXRh
YmxlIFNWR0ZFR2F1c3NpYW5CbHVyKiBtX2ZpbHRlckVmZmVjdDsKICAgICB9OwogCkluZGV4OiBX
ZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQu
Y3BwCShyZXZpc2lvbiAyNTE3MykKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFQ29tcG9uZW50
VHJhbnNmZXJFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
ICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1IE5pa29sYXMgWmltbWVybWFubiA8d2lsZGZveEBr
ZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNyBOaWtvbGFzIFppbW1l
cm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDQsIDIwMDUg
Um9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KIAogICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBL
REUgcHJvamVjdApAQCAtNTgsMTcgKzU4LDE3IEBACiAgICAgICAgIFNWR0ZpbHRlclByaW1pdGl2
ZVN0YW5kYXJkQXR0cmlidXRlczo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7CiB9CiAKLVNW
R0ZFQ29tcG9uZW50VHJhbnNmZXIqIFNWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50OjpmaWx0
ZXJFZmZlY3QoKSBjb25zdAorU1ZHRkVDb21wb25lbnRUcmFuc2ZlciogU1ZHRkVDb21wb25lbnRU
cmFuc2ZlckVsZW1lbnQ6OmZpbHRlckVmZmVjdChTVkdSZXNvdXJjZUZpbHRlciogZmlsdGVyKSBj
b25zdAogewogICAgIGlmICghbV9maWx0ZXJFZmZlY3QpCi0gICAgICAgIG1fZmlsdGVyRWZmZWN0
ID0gc3RhdGljX2Nhc3Q8U1ZHRkVDb21wb25lbnRUcmFuc2Zlcio+KFNWR1Jlc291cmNlRmlsdGVy
OjpjcmVhdGVGaWx0ZXJFZmZlY3QoRkVfQ09NUE9ORU5UX1RSQU5TRkVSKSk7CisgICAgICAgIG1f
ZmlsdGVyRWZmZWN0ID0gc3RhdGljX2Nhc3Q8U1ZHRkVDb21wb25lbnRUcmFuc2Zlcio+KFNWR1Jl
c291cmNlRmlsdGVyOjpjcmVhdGVGaWx0ZXJFZmZlY3QoRkVfQ09NUE9ORU5UX1RSQU5TRkVSLCBm
aWx0ZXIpKTsKICAgICBpZiAoIW1fZmlsdGVyRWZmZWN0KQogICAgICAgICByZXR1cm4gMDsKICAg
ICAKICAgICBtX2ZpbHRlckVmZmVjdC0+c2V0SW4oaW4xKCkpOwogICAgIHNldFN0YW5kYXJkQXR0
cmlidXRlcyhtX2ZpbHRlckVmZmVjdCk7CiAgICAgCi0gICAgZm9yIChOb2RlICpuID0gZmlyc3RD
aGlsZCgpOyBuICE9IDA7IG4gPSBuLT5uZXh0U2libGluZygpKSB7CisgICAgZm9yIChOb2RlKiBu
ID0gZmlyc3RDaGlsZCgpOyBuICE9IDA7IG4gPSBuLT5uZXh0U2libGluZygpKSB7CiAgICAgICAg
IGlmIChuLT5oYXNUYWdOYW1lKFNWR05hbWVzOjpmZUZ1bmNSVGFnKSkKICAgICAgICAgICAgIG1f
ZmlsdGVyRWZmZWN0LT5zZXRSZWRGdW5jdGlvbihzdGF0aWNfY2FzdDxTVkdGRUZ1bmNSRWxlbWVu
dCo+KG4pLT50cmFuc2ZlckZ1bmN0aW9uKCkpOwogICAgICAgICBlbHNlIGlmIChuLT5oYXNUYWdO
YW1lKFNWR05hbWVzOjpmZUZ1bmNHVGFnKSkKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZF
VHVyYnVsZW5jZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NW
R0ZFVHVyYnVsZW5jZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAyNTE3MykKKysrIFdlYkNvcmUva3N2
ZzIvc3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUgTmlrb2xhcyBaaW1tZXJt
YW5uIDx3aWxkZm94QGtkZS5vcmc+CisgICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA3
IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgogICAgICAgICAgICAgICAg
ICAgMjAwNCwgMjAwNSwgMjAwNiBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgogCiAgICAgVGhpcyBm
aWxlIGlzIHBhcnQgb2YgdGhlIEtERSBwcm9qZWN0CkBAIC0zNCwxMCArMzQsMTAgQEAKICAgICA6
IFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyh0YWdOYW1lLCBkb2MpCiAgICAg
LCBtX2Jhc2VGcmVxdWVuY3lYKDAuMCkKICAgICAsIG1fYmFzZUZyZXF1ZW5jeVkoMC4wKQotICAg
ICwgbV9udW1PY3RhdmVzKDApCisgICAgLCBtX251bU9jdGF2ZXMoMSkKICAgICAsIG1fc2VlZCgw
LjApCi0gICAgLCBtX3N0aXRjaFRpbGVzKDApCi0gICAgLCBtX3R5cGUoMCkKKyAgICAsIG1fc3Rp
dGNoVGlsZXMoU1ZHX1NUSVRDSFRZUEVfTk9TVElUQ0gpCisgICAgLCBtX3R5cGUoU1ZHX1RVUkJV
TEVOQ0VfVFlQRV9UVVJCVUxFTkNFKQogICAgICwgbV9maWx0ZXJFZmZlY3QoMCkKIHsKIH0KQEAg
LTgxLDIwICs4MSwyMSBAQAogICAgICAgICBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJp
YnV0ZXM6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpOwogfQogCi1TVkdGRVR1cmJ1bGVuY2Uq
IFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQ6OmZpbHRlckVmZmVjdCgpIGNvbnN0CitTVkdGRVR1cmJ1
bGVuY2UqIFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQ6OmZpbHRlckVmZmVjdChTVkdSZXNvdXJjZUZp
bHRlciogZmlsdGVyKSBjb25zdAogewogICAgIGlmICghbV9maWx0ZXJFZmZlY3QpCi0gICAgICAg
IG1fZmlsdGVyRWZmZWN0ID0gc3RhdGljX2Nhc3Q8U1ZHRkVUdXJidWxlbmNlKj4oU1ZHUmVzb3Vy
Y2VGaWx0ZXI6OmNyZWF0ZUZpbHRlckVmZmVjdChGRV9UVVJCVUxFTkNFKSk7CisgICAgICAgIG1f
ZmlsdGVyRWZmZWN0ID0gc3RhdGljX2Nhc3Q8U1ZHRkVUdXJidWxlbmNlKj4oU1ZHUmVzb3VyY2VG
aWx0ZXI6OmNyZWF0ZUZpbHRlckVmZmVjdChGRV9UVVJCVUxFTkNFLCBmaWx0ZXIpKTsKICAgICBp
ZiAoIW1fZmlsdGVyRWZmZWN0KQogICAgICAgICByZXR1cm4gMDsKICAgICAKICAgICBtX2ZpbHRl
ckVmZmVjdC0+c2V0VHlwZSgoU1ZHVHVyYnVsYW5jZVR5cGUpIHR5cGUoKSk7Ci0gICAgc2V0U3Rh
bmRhcmRBdHRyaWJ1dGVzKG1fZmlsdGVyRWZmZWN0KTsKICAgICBtX2ZpbHRlckVmZmVjdC0+c2V0
QmFzZUZyZXF1ZW5jeVgoYmFzZUZyZXF1ZW5jeVgoKSk7CiAgICAgbV9maWx0ZXJFZmZlY3QtPnNl
dEJhc2VGcmVxdWVuY3lZKGJhc2VGcmVxdWVuY3lZKCkpOwogICAgIG1fZmlsdGVyRWZmZWN0LT5z
ZXROdW1PY3RhdmVzKG51bU9jdGF2ZXMoKSk7CiAgICAgbV9maWx0ZXJFZmZlY3QtPnNldFNlZWQo
c2VlZCgpKTsKICAgICBtX2ZpbHRlckVmZmVjdC0+c2V0U3RpdGNoVGlsZXMoc3RpdGNoVGlsZXMo
KSA9PSBTVkdfU1RJVENIVFlQRV9TVElUQ0gpOworCisgICAgc2V0U3RhbmRhcmRBdHRyaWJ1dGVz
KG1fZmlsdGVyRWZmZWN0KTsgCiAgICAgcmV0dXJuIG1fZmlsdGVyRWZmZWN0OwogfQogCkluZGV4
OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRURpc3RhbnRMaWdodEVsZW1lbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRURpc3RhbnRMaWdodEVsZW1lbnQuaAkocmV2aXNp
b24gMjUxNzMpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRURpc3RhbnRMaWdodEVsZW1lbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtMTksOCArMTksOCBAQAogCiAjaWZuZGVmIFNWR0ZFRGlzdGFu
dExpZ2h0RWxlbWVudF9oCiAjZGVmaW5lIFNWR0ZFRGlzdGFudExpZ2h0RWxlbWVudF9oCisKICNp
ZiBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykKLQogI2lu
Y2x1ZGUgIlNWR0ZFTGlnaHRFbGVtZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlCkBAIC0zMCw3
ICszMCw4IEBACiAgICAgcHVibGljOgogICAgICAgICBTVkdGRURpc3RhbnRMaWdodEVsZW1lbnQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAgICAgICAgIHZpcnR1YWwgflNWR0ZF
RGlzdGFudExpZ2h0RWxlbWVudCgpOwotICAgICAgICB2aXJ0dWFsIFNWR0xpZ2h0U291cmNlICps
aWdodFNvdXJjZSgpIGNvbnN0OworCisgICAgICAgIHZpcnR1YWwgU1ZHTGlnaHRTb3VyY2UqIGxp
Z2h0U291cmNlKCkgY29uc3Q7CiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRl
eDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVMaWdodEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFTGlnaHRFbGVtZW50LmNwcAkocmV2aXNpb24gMjUxNzMp
CisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRUxpZ2h0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNSArMSw1IEBACiAvKgotICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSBOaWtv
bGFzIFppbW1lcm1hbm4gPHdpbGRmb3hAa2RlLm9yZz4KKyAgICBDb3B5cmlnaHQgKEMpIDIwMDQs
IDIwMDUsIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgICAg
ICAgICAgICAgICAgICAyMDA0LCAyMDA1LCAyMDA2IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CiAg
ICAgICAgICAgICAgICAgICAyMDA1IE9saXZlciBIdW50IDxvamgxNkBzdHVkZW50LmNhbnRlcmJ1
cnkuYWMubno+CiAKQEAgLTM4LDcgKzM4LDcgQEAKICAgICAsIG1fcG9pbnRzQXRYKDAuMCkKICAg
ICAsIG1fcG9pbnRzQXRZKDAuMCkKICAgICAsIG1fcG9pbnRzQXRaKDAuMCkKLSAgICAsIG1fc3Bl
Y3VsYXJFeHBvbmVudCgwLjApCisgICAgLCBtX3NwZWN1bGFyRXhwb25lbnQoMS4wKQogICAgICwg
bV9saW1pdGluZ0NvbmVBbmdsZSgwLjApCiB7CiB9CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9T
VkdGRURpc3RhbnRMaWdodEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIv
c3ZnL1NWR0ZFRGlzdGFudExpZ2h0RWxlbWVudC5jcHAJKHJldmlzaW9uIDI1MTczKQorKysgV2Vi
Q29yZS9rc3ZnMi9zdmcvU1ZHRkVEaXN0YW50TGlnaHRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjUsOCArMjUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNWR0ZFRGlzdGFu
dExpZ2h0RWxlbWVudDo6U1ZHRkVEaXN0YW50TGlnaHRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5h
bWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2MpIDogCi0gICAgU1ZHRkVMaWdodEVsZW1lbnQodGFn
TmFtZSwgZG9jKQorU1ZHRkVEaXN0YW50TGlnaHRFbGVtZW50OjpTVkdGRURpc3RhbnRMaWdodEVs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvYykKKyAgICA6
IFNWR0ZFTGlnaHRFbGVtZW50KHRhZ05hbWUsIGRvYykKIHsKIH0KIApAQCAtNDAsNSArNDAsNSBA
QAogfQogCiB9CisKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQotCkluZGV4OiBXZWJDb3JlL2tzdmcy
L3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9r
c3ZnMi9zdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuY3BwCShyZXZpc2lvbiAyNTE3MykKKysr
IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1IE5p
a29sYXMgWmltbWVybWFubiA8d2lsZGZveEBrZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAw
NCwgMjAwNSwgMjAwNyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAg
ICAgICAgICAgICAgICAgIDIwMDQsIDIwMDUsIDIwMDYgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4K
IAogICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUgcHJvamVjdApAQCAtMzMsNyArMzMs
NyBAQAogCiBTVkdGRUNvbG9yTWF0cml4RWxlbWVudDo6U1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvYykKICAgICA6IFNWR0Zp
bHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyh0YWdOYW1lLCBkb2MpCi0gICAgLCBtX3R5
cGUoMCkKKyAgICAsIG1fdHlwZShTVkdfRkVDT0xPUk1BVFJJWF9UWVBFX1VOS05PV04pCiAgICAg
LCBtX3ZhbHVlcyhuZXcgU1ZHTnVtYmVyTGlzdCkKICAgICAsIG1fZmlsdGVyRWZmZWN0KDApCiB7
CkBAIC02OSwxNSArNjksMTYgQEAKICAgICAgICAgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRB
dHRyaWJ1dGVzOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKTsKIH0KIAotU1ZHRkVDb2xvck1h
dHJpeCogU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQ6OmZpbHRlckVmZmVjdCgpIGNvbnN0CitTVkdG
RUNvbG9yTWF0cml4KiBTVkdGRUNvbG9yTWF0cml4RWxlbWVudDo6ZmlsdGVyRWZmZWN0KFNWR1Jl
c291cmNlRmlsdGVyKiBmaWx0ZXIpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2ZpbHRlckVmZmVjdCkK
LSAgICAgICAgbV9maWx0ZXJFZmZlY3QgPSBzdGF0aWNfY2FzdDxTVkdGRUNvbG9yTWF0cml4Kj4o
U1ZHUmVzb3VyY2VGaWx0ZXI6OmNyZWF0ZUZpbHRlckVmZmVjdChGRV9DT0xPUl9NQVRSSVgpKTsK
KyAgICAgICAgbV9maWx0ZXJFZmZlY3QgPSBzdGF0aWNfY2FzdDxTVkdGRUNvbG9yTWF0cml4Kj4o
U1ZHUmVzb3VyY2VGaWx0ZXI6OmNyZWF0ZUZpbHRlckVmZmVjdChGRV9DT0xPUl9NQVRSSVgsIGZp
bHRlcikpOwogICAgIGlmICghbV9maWx0ZXJFZmZlY3QpCiAgICAgICAgIHJldHVybiAwOwogICAg
ICAgICAKICAgICBtX2ZpbHRlckVmZmVjdC0+c2V0SW4oaW4xKCkpOwogICAgIHNldFN0YW5kYXJk
QXR0cmlidXRlcyhtX2ZpbHRlckVmZmVjdCk7CisKICAgICBWZWN0b3I8ZmxvYXQ+IF92YWx1ZXM7
CiAgICAgU1ZHTnVtYmVyTGlzdCogbnVtYmVycyA9IHZhbHVlcygpOwogCkBAIC04NSw2ICs4Niw3
IEBACiAgICAgdW5zaWduZWQgaW50IG5yID0gbnVtYmVycy0+bnVtYmVyT2ZJdGVtcygpOwogICAg
IGZvciAodW5zaWduZWQgaW50IGkgPSAwO2kgPCBucjtpKyspCiAgICAgICAgIF92YWx1ZXMuYXBw
ZW5kKG51bWJlcnMtPmdldEl0ZW0oaSwgZWMpKTsKKwogICAgIG1fZmlsdGVyRWZmZWN0LT5zZXRW
YWx1ZXMoX3ZhbHVlcyk7CiAgICAgbV9maWx0ZXJFZmZlY3QtPnNldFR5cGUoKFNWR0NvbG9yTWF0
cml4VHlwZSkgdHlwZSgpKTsKICAgICAKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFRmxv
b2RFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVGbG9vZEVs
ZW1lbnQuaAkocmV2aXNpb24gMjUxNzMpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRUZsb29k
RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAgICBDb3B5cmln
aHQgKEMpIDIwMDQsIDIwMDUgTmlrb2xhcyBaaW1tZXJtYW5uIDx3aWxkZm94QGtkZS5vcmc+Cisg
ICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emlt
bWVybWFubkBrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwNCwgMjAwNSBSb2IgQnVpcyA8
YnVpc0BrZGUub3JnPgogCiAgICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBwcm9qZWN0
CkBAIC0yMiwzMSArMjIsMjggQEAKIAogI2lmbmRlZiBTVkdGRUZsb29kRWxlbWVudF9oCiAjZGVm
aW5lIFNWR0ZFRmxvb2RFbGVtZW50X2gKLSNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUoU1ZHX0VY
UEVSSU1FTlRBTF9GRUFUVVJFUykKIAorI2lmIEVOQUJMRShTVkcpICYmIEVOQUJMRShTVkdfRVhQ
RVJJTUVOVEFMX0ZFQVRVUkVTKQogI2luY2x1ZGUgIlNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJk
QXR0cmlidXRlcy5oIgogI2luY2x1ZGUgIlNWR0ZFRmxvb2QuaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUKIHsKLQogICAgIGNsYXNzIFNWR0ZFRmxvb2RFbGVtZW50IDogcHVibGljIFNWR0ZpbHRlclBy
aW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcwogICAgIHsKICAgICBwdWJsaWM6CiAgICAgICAgIFNW
R0ZFRmxvb2RFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwogICAgICAg
ICB2aXJ0dWFsIH5TVkdGRUZsb29kRWxlbWVudCgpOwogCi0gICAgICAgIC8vICdTVkdGRUZsb29k
RWxlbWVudCcgZnVuY3Rpb25zCi0gICAgICAgIC8vIERlcml2ZWQgZnJvbTogJ0VsZW1lbnQnCi0g
ICAgICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUg
KmF0dHIpOworICAgICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVk
QXR0cmlidXRlKik7CisgICAgICAgIHZpcnR1YWwgU1ZHRkVGbG9vZCogZmlsdGVyRWZmZWN0KFNW
R1Jlc291cmNlRmlsdGVyKikgY29uc3Q7CiAKLSAgICAgICAgdmlydHVhbCBTVkdGRUZsb29kICpm
aWx0ZXJFZmZlY3QoKSBjb25zdDsKLQogICAgIHByb3RlY3RlZDoKICAgICAgICAgdmlydHVhbCBj
b25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0K
IAogICAgIHByaXZhdGU6CiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhT
VkdGRUZsb29kRWxlbWVudCwgU3RyaW5nLCBTdHJpbmcsIEluMSwgaW4xKQorCiAgICAgICAgIG11
dGFibGUgU1ZHRkVGbG9vZCAqbV9maWx0ZXJFZmZlY3Q7CiAgICAgfTsKIApJbmRleDogV2ViQ29y
ZS9rc3ZnMi9zdmcvU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuaAkocmV2aXNp
b24gMjUxNzMpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVt
ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICAgIENvcHlyaWdodCAo
QykgMjAwNCwgMjAwNSBOaWtvbGFzIFppbW1lcm1hbm4gPHdpbGRmb3hAa2RlLm9yZz4KKyAgICBD
b3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJt
YW5uQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAgICAyMDA0LCAyMDA1LCAyMDA2IFJvYiBCdWlz
IDxidWlzQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAgICAyMDA1IE9saXZlciBIdW50IDxvamgx
NkBzdHVkZW50LmNhbnRlcmJ1cnkuYWMubno+CiAKQEAgLTIxLDggKzIxLDggQEAKIAogI2lmbmRl
ZiBTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50X2gKICNkZWZpbmUgU1ZHRkVTcGVjdWxhckxp
Z2h0aW5nRWxlbWVudF9oCi0jaWYgRU5BQkxFKFNWRykgJiYgRU5BQkxFKFNWR19FWFBFUklNRU5U
QUxfRkVBVFVSRVMpCiAKKyNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRB
TF9GRUFUVVJFUykKICNpbmNsdWRlICJTVkdGRVNwZWN1bGFyTGlnaHRpbmcuaCIKICNpbmNsdWRl
ICJTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuaCIKIApAQCAtMzYsMTEgKzM2
LDggQEAKICAgICAgICAgU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudChjb25zdCBRdWFsaWZp
ZWROYW1lJiwgRG9jdW1lbnQqKTsKICAgICAgICAgdmlydHVhbCB+U1ZHRkVTcGVjdWxhckxpZ2h0
aW5nRWxlbWVudCgpOwogICAgICAgICAKLSAgICAgICAgLy8gJ1NWR0ZFRGlmZnVzZUxpZ2h0aW5n
RWxlbWVudCcgZnVuY3Rpb25zCi0gICAgICAgIC8vIERlcml2ZWQgZnJvbTogJ0VsZW1lbnQnCi0g
ICAgICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUq
IGF0dHIpOwotICAgICAgICAKLSAgICAgICAgdmlydHVhbCBTVkdGRVNwZWN1bGFyTGlnaHRpbmcq
IGZpbHRlckVmZmVjdCgpIGNvbnN0OworICAgICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRB
dHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKik7CisgICAgICAgIHZpcnR1YWwgU1ZHRkVTcGVjdWxh
ckxpZ2h0aW5nKiBmaWx0ZXJFZmZlY3QoU1ZHUmVzb3VyY2VGaWx0ZXIqKSBjb25zdDsKIAogICAg
IHByb3RlY3RlZDoKICAgICAgICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxl
bWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KQEAgLTUwLDEzICs0NywxMSBAQAogICAgICAg
ICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxl
bWVudCwgZG91YmxlLCBkb3VibGUsIFNwZWN1bGFyQ29uc3RhbnQsIHNwZWN1bGFyQ29uc3RhbnQp
CiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRVNwZWN1bGFyTGln
aHRpbmdFbGVtZW50LCBkb3VibGUsIGRvdWJsZSwgU3BlY3VsYXJFeHBvbmVudCwgc3BlY3VsYXJF
eHBvbmVudCkKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFU3Bl
Y3VsYXJMaWdodGluZ0VsZW1lbnQsIGRvdWJsZSwgZG91YmxlLCBTdXJmYWNlU2NhbGUsIHN1cmZh
Y2VTY2FsZSkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFU3Bl
Y3VsYXJMaWdodGluZ0VsZW1lbnQsIFNWR0NvbG9yKiwgUmVmUHRyPFNWR0NvbG9yPiwgTGlnaHRp
bmdDb2xvciwgbGlnaHRpbmdDb2xvcikKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFS
QVRJT05TKFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQsIGRvdWJsZSwgZG91YmxlLCBLZXJu
ZWxVbml0TGVuZ3RoWCwga2VybmVsVW5pdExlbmd0aFgpCiAgICAgICAgIEFOSU1BVEVEX1BST1BF
UlRZX0RFQ0xBUkFUSU9OUyhTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LCBkb3VibGUsIGRv
dWJsZSwgS2VybmVsVW5pdExlbmd0aFksIGtlcm5lbFVuaXRMZW5ndGhZKQotICAgICAgICAvL25l
ZWQgb3RoZXIgcHJvcGVydGllcyBoZXJlLi4uCisKICAgICAgICAgbXV0YWJsZSBTVkdGRVNwZWN1
bGFyTGlnaHRpbmcqIG1fZmlsdGVyRWZmZWN0OwogICAgICAgICAKLSAgICAgICAgLy9saWdodCBt
YW5hZ2VtZW50CiAgICAgICAgIHZvaWQgdXBkYXRlTGlnaHRzKCkgY29uc3Q7CiAgICAgfTsKIApJ
bmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVTcG90TGlnaHRFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRVNwb3RMaWdodEVsZW1lbnQuY3BwCShyZXZp
c2lvbiAyNTE3MykKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFU3BvdExpZ2h0RWxlbWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQwLDggKzQwLDkgQEAKIAogICAgIC8vIGNvbnZlcnQgbG9v
a0F0IHRvIGEgZGlyZWN0aW9uCiAgICAgRmxvYXRQb2ludDNEIGRpcmVjdGlvbihwb2ludHNBdFgo
KSAtIHBvcy54KCksIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludHNBdFkoKSAt
IHBvcy55KCksIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludHNBdFooKSAtIHBv
cy56KCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRzQXRZKCkgLSBwb3MueSgp
LCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50c0F0WigpIC0gcG9zLnooKSk7CisK
ICAgICBkaXJlY3Rpb24ubm9ybWFsaXplKCk7CiAgICAgcmV0dXJuIG5ldyBTVkdTcG90TGlnaHRT
b3VyY2UocG9zLCBkaXJlY3Rpb24sIHNwZWN1bGFyRXhwb25lbnQoKSwgbGltaXRpbmdDb25lQW5n
bGUoKSk7CiB9CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRUJsZW5kRWxlbWVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVCbGVuZEVsZW1lbnQuY3BwCShy
ZXZpc2lvbiAyNTE3MykKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFQmxlbmRFbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29weXJpZ2h0IChDKSAy
MDA0LCAyMDA1IE5pa29sYXMgWmltbWVybWFubiA8d2lsZGZveEBrZGUub3JnPgorICAgIENvcHly
aWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5A
a2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDQsIDIwMDUsIDIwMDYgUm9iIEJ1aXMgPGJ1
aXNAa2RlLm9yZz4KIAogICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUgcHJvamVjdApA
QCAtMjEsNiArMjEsNyBAQAogKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgorCiAjaWYgRU5BQkxF
KFNWRykgJiYgRU5BQkxFKFNWR19FWFBFUklNRU5UQUxfRkVBVFVSRVMpCiAjaW5jbHVkZSAiU1ZH
RkVCbGVuZEVsZW1lbnQuaCIKIApAQCAtMzAsNyArMzEsNyBAQAogCiBTVkdGRUJsZW5kRWxlbWVu
dDo6U1ZHRkVCbGVuZEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1l
bnQqIGRvYykKICAgICA6IFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyh0YWdO
YW1lLCBkb2MpCi0gICAgLCBtX21vZGUoMCkKKyAgICAsIG1fbW9kZShTVkdfRkVCTEVORF9NT0RF
X05PUk1BTCkKICAgICAsIG1fZmlsdGVyRWZmZWN0KDApCiB7CiB9CkBAIC02NiwxMCArNjcsMTAg
QEAKICAgICAgICAgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzOjpwYXJzZU1h
cHBlZEF0dHJpYnV0ZShhdHRyKTsKIH0KIAotU1ZHRkVCbGVuZCogU1ZHRkVCbGVuZEVsZW1lbnQ6
OmZpbHRlckVmZmVjdCgpIGNvbnN0CitTVkdGRUJsZW5kKiBTVkdGRUJsZW5kRWxlbWVudDo6Zmls
dGVyRWZmZWN0KFNWR1Jlc291cmNlRmlsdGVyKiBmaWx0ZXIpIGNvbnN0CiB7CiAgICAgaWYgKCFt
X2ZpbHRlckVmZmVjdCkKLSAgICAgICAgbV9maWx0ZXJFZmZlY3QgPSBzdGF0aWNfY2FzdDxTVkdG
RUJsZW5kKj4oU1ZHUmVzb3VyY2VGaWx0ZXI6OmNyZWF0ZUZpbHRlckVmZmVjdChGRV9CTEVORCkp
OworICAgICAgICBtX2ZpbHRlckVmZmVjdCA9IHN0YXRpY19jYXN0PFNWR0ZFQmxlbmQqPihTVkdS
ZXNvdXJjZUZpbHRlcjo6Y3JlYXRlRmlsdGVyRWZmZWN0KEZFX0JMRU5ELCBmaWx0ZXIpKTsKICAg
ICBpZiAoIW1fZmlsdGVyRWZmZWN0KQogICAgICAgICByZXR1cm4gMDsKICAgICBtX2ZpbHRlckVm
ZmVjdC0+c2V0QmxlbmRNb2RlKChTVkdCbGVuZE1vZGVUeXBlKSBtb2RlKCkpOwpAQCAtODEsNiAr
ODIsNiBAQAogCiB9CiAKLS8vIHZpbTp0cz00Om5vZXQKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQog
CisvLyB2aW06dHM9NDpub2V0CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRU9mZnNldEVs
ZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRU9mZnNldEVsZW1l
bnQuaAkocmV2aXNpb24gMjUxNzMpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRU9mZnNldEVs
ZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29weXJpZ2h0
IChDKSAyMDA0LCAyMDA1IE5pa29sYXMgWmltbWVybWFubiA8d2lsZGZveEBrZGUub3JnPgorICAg
IENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1l
cm1hbm5Aa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDQsIDIwMDUgUm9iIEJ1aXMgPGJ1
aXNAa2RlLm9yZz4KIAogICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUgcHJvamVjdApA
QCAtMjIsOCArMjIsOCBAQAogCiAjaWZuZGVmIFNWR0ZFT2Zmc2V0RWxlbWVudF9oCiAjZGVmaW5l
IFNWR0ZFT2Zmc2V0RWxlbWVudF9oCi0jaWYgRU5BQkxFKFNWRykgJiYgRU5BQkxFKFNWR19FWFBF
UklNRU5UQUxfRkVBVFVSRVMpCiAKKyNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUoU1ZHX0VYUEVS
SU1FTlRBTF9GRUFUVVJFUykKICNpbmNsdWRlICJTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0
dHJpYnV0ZXMuaCIKICNpbmNsdWRlICJTVkdGRU9mZnNldC5oIgogCkBAIC0zNiwxMiArMzYsOSBA
QAogICAgICAgICBTVkdGRU9mZnNldEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3Vt
ZW50Kik7CiAgICAgICAgIHZpcnR1YWwgflNWR0ZFT2Zmc2V0RWxlbWVudCgpOwogCi0gICAgICAg
IC8vICdTVkdGRU9mZnNldEVsZW1lbnQnIGZ1bmN0aW9ucwotICAgICAgICAvLyBEZXJpdmVkIGZy
b206ICdFbGVtZW50JwotICAgICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUo
TWFwcGVkQXR0cmlidXRlICphdHRyKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVk
QXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSopOworICAgICAgICB2aXJ0dWFsIFNWR0ZFT2Zmc2V0
KiBmaWx0ZXJFZmZlY3QoU1ZHUmVzb3VyY2VGaWx0ZXIqKSBjb25zdDsKIAotICAgICAgICB2aXJ0
dWFsIFNWR0ZFT2Zmc2V0ICpmaWx0ZXJFZmZlY3QoKSBjb25zdDsKLQogICAgIHByb3RlY3RlZDoK
ICAgICAgICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0
IHsgcmV0dXJuIHRoaXM7IH0KIApAQCAtNDksNyArNDYsOCBAQAogICAgICAgICBBTklNQVRFRF9Q
Uk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVPZmZzZXRFbGVtZW50LCBTdHJpbmcsIFN0cmluZywg
SW4xLCBpbjEpCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRU9m
ZnNldEVsZW1lbnQsIGRvdWJsZSwgZG91YmxlLCBEeCwgZHgpCiAgICAgICAgIEFOSU1BVEVEX1BS
T1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRU9mZnNldEVsZW1lbnQsIGRvdWJsZSwgZG91YmxlLCBE
eSwgZHkpCi0gICAgICAgIG11dGFibGUgU1ZHRkVPZmZzZXQgKm1fZmlsdGVyRWZmZWN0OworCisg
ICAgICAgIG11dGFibGUgU1ZHRkVPZmZzZXQqIG1fZmlsdGVyRWZmZWN0OwogICAgIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFR2F1c3Np
YW5CbHVyRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVH
YXVzc2lhbkJsdXJFbGVtZW50LmNwcAkocmV2aXNpb24gMjUxNzMpCisrKyBXZWJDb3JlL2tzdmcy
L3N2Zy9TVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUgTmlrb2xhcyBaaW1tZXJt
YW5uIDx3aWxkZm94QGtkZS5vcmc+CisgICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA3
IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgogICAgICAgICAgICAgICAg
ICAgMjAwNCwgMjAwNSwgMjAwNiBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgogCiAgICAgVGhpcyBm
aWxlIGlzIHBhcnQgb2YgdGhlIEtERSBwcm9qZWN0CkBAIC02NywxNiArNjcsMTggQEAKICAgICAg
ICAgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzOjpwYXJzZU1hcHBlZEF0dHJp
YnV0ZShhdHRyKTsKIH0KIAotU1ZHRkVHYXVzc2lhbkJsdXIqIFNWR0ZFR2F1c3NpYW5CbHVyRWxl
bWVudDo6ZmlsdGVyRWZmZWN0KCkgY29uc3QKK1NWR0ZFR2F1c3NpYW5CbHVyKiBTVkdGRUdhdXNz
aWFuQmx1ckVsZW1lbnQ6OmZpbHRlckVmZmVjdChTVkdSZXNvdXJjZUZpbHRlciogZmlsdGVyKSBj
b25zdAogewogICAgIGlmICghbV9maWx0ZXJFZmZlY3QpCi0gICAgICAgIG1fZmlsdGVyRWZmZWN0
ID0gc3RhdGljX2Nhc3Q8U1ZHRkVHYXVzc2lhbkJsdXIqPihTVkdSZXNvdXJjZUZpbHRlcjo6Y3Jl
YXRlRmlsdGVyRWZmZWN0KEZFX0dBVVNTSUFOX0JMVVIpKTsKKyAgICAgICAgbV9maWx0ZXJFZmZl
Y3QgPSBzdGF0aWNfY2FzdDxTVkdGRUdhdXNzaWFuQmx1cio+KFNWR1Jlc291cmNlRmlsdGVyOjpj
cmVhdGVGaWx0ZXJFZmZlY3QoRkVfR0FVU1NJQU5fQkxVUiwgZmlsdGVyKSk7CiAgICAgaWYgKCFt
X2ZpbHRlckVmZmVjdCkKICAgICAgICAgcmV0dXJuIDA7CisKICAgICBtX2ZpbHRlckVmZmVjdC0+
c2V0SW4oaW4xKCkpOwotICAgIHNldFN0YW5kYXJkQXR0cmlidXRlcyhtX2ZpbHRlckVmZmVjdCk7
CiAgICAgbV9maWx0ZXJFZmZlY3QtPnNldFN0ZERldmlhdGlvblgoc3RkRGV2aWF0aW9uWCgpKTsK
ICAgICBtX2ZpbHRlckVmZmVjdC0+c2V0U3RkRGV2aWF0aW9uWShzdGREZXZpYXRpb25ZKCkpOwor
CisgICAgc2V0U3RhbmRhcmRBdHRyaWJ1dGVzKG1fZmlsdGVyRWZmZWN0KTsgCiAgICAgcmV0dXJu
IG1fZmlsdGVyRWZmZWN0OwogfQogCkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRU1lcmdl
RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFTWVyZ2VFbGVt
ZW50LmgJKHJldmlzaW9uIDI1MTczKQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVNZXJnZUVs
ZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29weXJpZ2h0
IChDKSAyMDA0LCAyMDA1IE5pa29sYXMgWmltbWVybWFubiA8d2lsZGZveEBrZGUub3JnPgorICAg
IENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1l
cm1hbm5Aa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDQsIDIwMDUsIDIwMDYgUm9iIEJ1
aXMgPGJ1aXNAa2RlLm9yZz4KIAogICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUgcHJv
amVjdApAQCAtMjIsOCArMjIsOCBAQAogCiAjaWZuZGVmIFNWR0ZFTWVyZ2VFbGVtZW50X2gKICNk
ZWZpbmUgU1ZHRkVNZXJnZUVsZW1lbnRfaAotI2lmIEVOQUJMRShTVkcpICYmIEVOQUJMRShTVkdf
RVhQRVJJTUVOVEFMX0ZFQVRVUkVTKQogCisjaWYgRU5BQkxFKFNWRykgJiYgRU5BQkxFKFNWR19F
WFBFUklNRU5UQUxfRkVBVFVSRVMpCiAjaW5jbHVkZSAiU1ZHRkVNZXJnZS5oIgogI2luY2x1ZGUg
IlNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5oIgogCkBAIC0zNSw3ICszNSw3
IEBACiAgICAgICAgIFNWR0ZFTWVyZ2VFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1
bWVudCopOwogICAgICAgICB2aXJ0dWFsIH5TVkdGRU1lcmdlRWxlbWVudCgpOwogCi0gICAgICAg
IHZpcnR1YWwgU1ZHRkVNZXJnZSogZmlsdGVyRWZmZWN0KCkgY29uc3Q7CisgICAgICAgIHZpcnR1
YWwgU1ZHRkVNZXJnZSogZmlsdGVyRWZmZWN0KFNWR1Jlc291cmNlRmlsdGVyKikgY29uc3Q7CiAK
ICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4
dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CkBAIC00OCw0ICs0OCwzIEBACiAKICNl
bmRpZiAvLyBFTkFCTEUoU1ZHKQogI2VuZGlmCi0KSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NW
R0ZFU3BvdExpZ2h0RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NW
R0ZFU3BvdExpZ2h0RWxlbWVudC5oCShyZXZpc2lvbiAyNTE3MykKKysrIFdlYkNvcmUva3N2ZzIv
c3ZnL1NWR0ZFU3BvdExpZ2h0RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xOSw4ICsxOSw4
IEBACiAKICNpZm5kZWYgU1ZHRkVTcG90TGlnaHRFbGVtZW50X2gKICNkZWZpbmUgU1ZHRkVTcG90
TGlnaHRFbGVtZW50X2gKKwogI2lmIEVOQUJMRShTVkcpICYmIEVOQUJMRShTVkdfRVhQRVJJTUVO
VEFMX0ZFQVRVUkVTKQotCiAjaW5jbHVkZSAiU1ZHRkVMaWdodEVsZW1lbnQuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUKQEAgLTMwLDcgKzMwLDggQEAKICAgICBwdWJsaWM6CiAgICAgICAgIFNWR0ZF
U3BvdExpZ2h0RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKICAgICAg
ICAgdmlydHVhbCB+U1ZHRkVTcG90TGlnaHRFbGVtZW50KCk7Ci0gICAgICAgIHZpcnR1YWwgU1ZH
TGlnaHRTb3VyY2UgKmxpZ2h0U291cmNlKCkgY29uc3Q7CisKKyAgICAgICAgdmlydHVhbCBTVkdM
aWdodFNvdXJjZSogbGlnaHRTb3VyY2UoKSBjb25zdDsKICAgICB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRU9mZnNldEVsZW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFT2Zmc2V0RWxlbWVudC5jcHAJ
KHJldmlzaW9uIDI1MTczKQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVPZmZzZXRFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29weXJpZ2h0IChD
KSAyMDA0LCAyMDA1IE5pa29sYXMgWmltbWVybWFubiA8d2lsZGZveEBrZGUub3JnPgorICAgIENv
cHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1h
bm5Aa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDQsIDIwMDUgUm9iIEJ1aXMgPGJ1aXNA
a2RlLm9yZz4KIAogICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUgcHJvamVjdApAQCAt
MjYsNyArMjYsNiBAQAogI2luY2x1ZGUgIlNWR0ZFT2Zmc2V0RWxlbWVudC5oIgogCiAjaW5jbHVk
ZSAiQXR0ci5oIgotI2luY2x1ZGUgIlNWR1JlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiU1ZHUmVz
b3VyY2VGaWx0ZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNjEsMTYgKzYwLDE4IEBA
CiAgICAgICAgIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczo6cGFyc2VNYXBw
ZWRBdHRyaWJ1dGUoYXR0cik7CiB9CiAKLVNWR0ZFT2Zmc2V0KiBTVkdGRU9mZnNldEVsZW1lbnQ6
OmZpbHRlckVmZmVjdCgpIGNvbnN0CitTVkdGRU9mZnNldCogU1ZHRkVPZmZzZXRFbGVtZW50Ojpm
aWx0ZXJFZmZlY3QoU1ZHUmVzb3VyY2VGaWx0ZXIqIGZpbHRlcikgY29uc3QKIHsKICAgICBpZiAo
IW1fZmlsdGVyRWZmZWN0KQotICAgICAgICBtX2ZpbHRlckVmZmVjdCA9IHN0YXRpY19jYXN0PFNW
R0ZFT2Zmc2V0Kj4oU1ZHUmVzb3VyY2VGaWx0ZXI6OmNyZWF0ZUZpbHRlckVmZmVjdChGRV9PRkZT
RVQpKTsKKyAgICAgICAgbV9maWx0ZXJFZmZlY3QgPSBzdGF0aWNfY2FzdDxTVkdGRU9mZnNldCo+
KFNWR1Jlc291cmNlRmlsdGVyOjpjcmVhdGVGaWx0ZXJFZmZlY3QoRkVfT0ZGU0VULCBmaWx0ZXIp
KTsKICAgICBpZiAoIW1fZmlsdGVyRWZmZWN0KQogICAgICAgICByZXR1cm4gMDsKKwogICAgIG1f
ZmlsdGVyRWZmZWN0LT5zZXRJbihpbjEoKSk7Ci0gICAgc2V0U3RhbmRhcmRBdHRyaWJ1dGVzKG1f
ZmlsdGVyRWZmZWN0KTsKICAgICBtX2ZpbHRlckVmZmVjdC0+c2V0RHgoZHgoKSk7CiAgICAgbV9m
aWx0ZXJFZmZlY3QtPnNldER5KGR5KCkpOworCisgICAgc2V0U3RhbmRhcmRBdHRyaWJ1dGVzKG1f
ZmlsdGVyRWZmZWN0KTsgCiAgICAgcmV0dXJuIG1fZmlsdGVyRWZmZWN0OwogfQogCkluZGV4OiBX
ZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUva3N2ZzIvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmgJKHJldmlzaW9uIDI1MTczKQorKysgV2Vi
Q29yZS9rc3ZnMi9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1IE5pa29sYXMgWmltbWVy
bWFubiA8d2lsZGZveEBrZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAw
NyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAgICAgICAgICAgICAg
ICAgIDIwMDQsIDIwMDUgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KIAogICAgIFRoaXMgZmlsZSBp
cyBwYXJ0IG9mIHRoZSBLREUgcHJvamVjdApAQCAtMjIsOCArMjIsOCBAQAogCiAjaWZuZGVmIFNW
R0ZFSW1hZ2VFbGVtZW50X2gKICNkZWZpbmUgU1ZHRkVJbWFnZUVsZW1lbnRfaAotI2lmIEVOQUJM
RShTVkcpICYmIEVOQUJMRShTVkdfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKQogCisjaWYgRU5BQkxF
KFNWRykgJiYgRU5BQkxFKFNWR19FWFBFUklNRU5UQUxfRkVBVFVSRVMpCiAjaW5jbHVkZSAiU1ZH
RmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmgiCiAjaW5jbHVkZSAiU1ZHVVJJUmVm
ZXJlbmNlLmgiCiAjaW5jbHVkZSAiU1ZHTGFuZ1NwYWNlLmgiCkBAIC0zNCwyMSArMzQsMjAgQEAK
ICAgICBjbGFzcyBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOwogCiAgICAgY2xhc3MgU1ZHRkVJbWFn
ZUVsZW1lbnQgOiBwdWJsaWMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdVUklSZWZlcmVuY2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR0xhbmdTcGFjZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMg
Q2FjaGVkUmVzb3VyY2VDbGllbnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxp
YyBTVkdVUklSZWZlcmVuY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMg
U1ZHTGFuZ1NwYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR0V4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQKICAgICB7CiAgICAgcHVibGljOgogICAgICAgICBT
VkdGRUltYWdlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKICAgICAg
ICAgdmlydHVhbCB+U1ZHRkVJbWFnZUVsZW1lbnQoKTsKIAotICAgICAgICAvLyAnU1ZHRkVJbWFn
ZUVsZW1lbnQnIGZ1bmN0aW9ucwotICAgICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRy
aWJ1dGUoTWFwcGVkQXR0cmlidXRlICphdHRyKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIG5vdGlm
eUZpbmlzaGVkKENhY2hlZFJlc291cmNlICpmaW5pc2hlZE9iaik7CisgICAgICAgIHZpcnR1YWwg
dm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUqKTsKKyAgICAgICAgdmly
dHVhbCB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKik7CiAKICAgICBwcm90ZWN0
ZWQ6Ci0gICAgICAgIHZpcnR1YWwgU1ZHRkVJbWFnZSAqZmlsdGVyRWZmZWN0KCkgY29uc3Q7Cisg
ICAgICAgIHZpcnR1YWwgU1ZHRkVJbWFnZSogZmlsdGVyRWZmZWN0KFNWR1Jlc291cmNlRmlsdGVy
KikgY29uc3Q7CiAKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxl
bWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CkBAIC01OSw4ICs1
OCw4IEBACiAgCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUlt
YWdlRWxlbWVudCwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyosIFJlZlB0cjxTVkdQcmVzZXJ2ZUFz
cGVjdFJhdGlvPiwgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykKIAot
ICAgICAgICBDYWNoZWRJbWFnZSAqbV9jYWNoZWRJbWFnZTsKLSAgICAgICAgbXV0YWJsZSBTVkdG
RUltYWdlICptX2ZpbHRlckVmZmVjdDsKKyAgICAgICAgQ2FjaGVkSW1hZ2UqIG1fY2FjaGVkSW1h
Z2U7CisgICAgICAgIG11dGFibGUgU1ZHRkVJbWFnZSogbV9maWx0ZXJFZmZlY3Q7CiAgICAgfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9rc3ZnMi9jc3MvU1ZHUmVu
ZGVyU3R5bGVEZWZzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL2Nzcy9TVkdSZW5k
ZXJTdHlsZURlZnMuY3BwCShyZXZpc2lvbiAyNTE3MykKKysrIFdlYkNvcmUva3N2ZzIvY3NzL1NW
R1JlbmRlclN0eWxlRGVmcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4Myw2ICsxODMsNyBAQAog
ewogICAgIGZsb29kQ29sb3IgPSBTVkdSZW5kZXJTdHlsZTo6aW5pdGlhbEZsb29kQ29sb3IoKTsK
ICAgICBmbG9vZE9wYWNpdHkgPSBTVkdSZW5kZXJTdHlsZTo6aW5pdGlhbEZsb29kT3BhY2l0eSgp
OworICAgIGxpZ2h0aW5nQ29sb3IgPSBTVkdSZW5kZXJTdHlsZTo6aW5pdGlhbExpZ2h0aW5nQ29s
b3IoKTsKICAgICBiYXNlbGluZVNoaWZ0VmFsdWUgPSBTVkdSZW5kZXJTdHlsZTo6aW5pdGlhbEJh
c2VsaW5lU2hpZnRWYWx1ZSgpOwogfQogCkBAIC0xOTEsNiArMTkyLDcgQEAKICAgICBmaWx0ZXIg
PSBvdGhlci5maWx0ZXI7CiAgICAgZmxvb2RDb2xvciA9IG90aGVyLmZsb29kQ29sb3I7CiAgICAg
Zmxvb2RPcGFjaXR5ID0gb3RoZXIuZmxvb2RPcGFjaXR5OworICAgIGxpZ2h0aW5nQ29sb3IgPSBv
dGhlci5saWdodGluZ0NvbG9yOwogICAgIGJhc2VsaW5lU2hpZnRWYWx1ZSA9IG90aGVyLmJhc2Vs
aW5lU2hpZnRWYWx1ZTsKIH0KIApAQCAtMTk5LDYgKzIwMSw3IEBACiAgICAgcmV0dXJuIGZpbHRl
ciA9PSBvdGhlci5maWx0ZXIKICAgICAgICAgICAgJiYgZmxvb2RPcGFjaXR5ID09IG90aGVyLmZs
b29kT3BhY2l0eQogICAgICAgICAgICAmJiBmbG9vZENvbG9yID09IG90aGVyLmZsb29kQ29sb3IK
KyAgICAgICAgICAgJiYgbGlnaHRpbmdDb2xvciA9PSBvdGhlci5saWdodGluZ0NvbG9yCiAgICAg
ICAgICAgICYmIGJhc2VsaW5lU2hpZnRWYWx1ZSA9PSBvdGhlci5iYXNlbGluZVNoaWZ0VmFsdWU7
CiB9CiAKSW5kZXg6IFdlYkNvcmUva3N2ZzIvY3NzL1NWR0NTU1BhcnNlci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9rc3ZnMi9jc3MvU1ZHQ1NTUGFyc2VyLmNwcAkocmV2aXNpb24gMjUxNzMp
CisrKyBXZWJDb3JlL2tzdmcyL2Nzcy9TVkdDU1NQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDUgKzEsNSBAQAogLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUgTmlrb2xhcyBa
aW1tZXJtYW5uIDx3aWxkZm94QGtkZS5vcmc+CisgICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1
LCAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgogICAgICAgICAg
ICAgICAgICAgMjAwNCwgMjAwNSBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgogICAgIENvcHlyaWdo
dCAoQykgMjAwNSwgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgogCkluZGV4OiBXZWJDb3JlL2tz
dmcyL2Nzcy9TVkdSZW5kZXJTdHlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvY3Nz
L1NWR1JlbmRlclN0eWxlLmgJKHJldmlzaW9uIDI1MTczKQorKysgV2ViQ29yZS9rc3ZnMi9jc3Mv
U1ZHUmVuZGVyU3R5bGUuaAkod29ya2luZyBjb3B5KQpAQCAtOTAsNyArOTAsNyBAQAogCiAgICAg
ICAgIFNWR19SU19ERUZJTkVfQVRUUklCVVRFX0RBVEFSRUZfV0lUSF9JTklUSUFMKGZsb2F0LCBz
dG9wcywgb3BhY2l0eSwgU3RvcE9wYWNpdHksIHN0b3BPcGFjaXR5LCAxLjApCiAgICAgICAgIFNW
R19SU19ERUZJTkVfQVRUUklCVVRFX0RBVEFSRUZfV0lUSF9JTklUSUFMKENvbG9yLCBzdG9wcywg
Y29sb3IsIFN0b3BDb2xvciwgc3RvcENvbG9yLCBDb2xvcigwLCAwLCAwKSkgICAgCi0gICAgICAg
IAorCiAgICAgICAgIFNWR19SU19ERUZJTkVfQVRUUklCVVRFX0RBVEFSRUZfV0lUSF9JTklUSUFM
KFN0cmluZywgY2xpcCwgY2xpcFBhdGgsIENsaXBQYXRoLCBjbGlwUGF0aCwgU3RyaW5nKCkpCiAg
ICAgICAgIFNWR19SU19ERUZJTkVfQVRUUklCVVRFX0RBVEFSRUZfV0lUSF9JTklUSUFMKFN0cmlu
ZywgbWFzaywgbWFza0VsZW1lbnQsIE1hc2tFbGVtZW50LCBtYXNrRWxlbWVudCwgU3RyaW5nKCkp
CiAgICAgICAgIFNWR19SU19ERUZJTkVfQVRUUklCVVRFX0RBVEFSRUZfV0lUSF9JTklUSUFMKFN0
cmluZywgbWFya2Vycywgc3RhcnRNYXJrZXIsIFN0YXJ0TWFya2VyLCBzdGFydE1hcmtlciwgU3Ry
aW5nKCkpCkBAIC0xMDAsNiArMTAwLDcgQEAKICAgICAgICAgU1ZHX1JTX0RFRklORV9BVFRSSUJV
VEVfREFUQVJFRl9XSVRIX0lOSVRJQUwoU3RyaW5nLCBtaXNjLCBmaWx0ZXIsIEZpbHRlciwgZmls
dGVyLCBTdHJpbmcoKSkKICAgICAgICAgU1ZHX1JTX0RFRklORV9BVFRSSUJVVEVfREFUQVJFRl9X
SVRIX0lOSVRJQUwoZmxvYXQsIG1pc2MsIGZsb29kT3BhY2l0eSwgRmxvb2RPcGFjaXR5LCBmbG9v
ZE9wYWNpdHksIDEuMCkKICAgICAgICAgU1ZHX1JTX0RFRklORV9BVFRSSUJVVEVfREFUQVJFRl9X
SVRIX0lOSVRJQUwoQ29sb3IsIG1pc2MsIGZsb29kQ29sb3IsIEZsb29kQ29sb3IsIGZsb29kQ29s
b3IsIENvbG9yKDAsIDAsIDApKQorICAgICAgICBTVkdfUlNfREVGSU5FX0FUVFJJQlVURV9EQVRB
UkVGX1dJVEhfSU5JVElBTChDb2xvciwgbWlzYywgbGlnaHRpbmdDb2xvciwgTGlnaHRpbmdDb2xv
ciwgbGlnaHRpbmdDb2xvciwgQ29sb3IoMjU1LCAyNTUsIDI1NSkpCiAgICAgICAgIFNWR19SU19E
RUZJTkVfQVRUUklCVVRFX0RBVEFSRUZfV0lUSF9JTklUSUFMX1JFRkNPVU5URUQoQ1NTVmFsdWUs
IG1pc2MsIGJhc2VsaW5lU2hpZnRWYWx1ZSwgQmFzZWxpbmVTaGlmdFZhbHVlLCBiYXNlbGluZVNo
aWZ0VmFsdWUsIDApCiAKICAgICAgICAgLy8gY29udmVuaWVuY2UKSW5kZXg6IFdlYkNvcmUva3N2
ZzIvY3NzL1NWR1JlbmRlclN0eWxlRGVmcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIv
Y3NzL1NWR1JlbmRlclN0eWxlRGVmcy5oCShyZXZpc2lvbiAyNTE3MykKKysrIFdlYkNvcmUva3N2
ZzIvY3NzL1NWR1JlbmRlclN0eWxlRGVmcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNjgsNiArMjY4
LDggQEAKICAgICAgICAgQ29sb3IgZmxvb2RDb2xvcjsKICAgICAgICAgZmxvYXQgZmxvb2RPcGFj
aXR5OwogCisgICAgICAgIENvbG9yIGxpZ2h0aW5nQ29sb3I7CisKICAgICAgICAgLy8gbm9uLWlu
aGVyaXRlZCB0ZXh0IHN0dWZmIGxpdmVzIGhlcmUgbm90IGluIFN0eWxlVGV4dERhdGEuCiAgICAg
ICAgIFJlZlB0cjxDU1NWYWx1ZT4gYmFzZWxpbmVTaGlmdFZhbHVlOwogCkluZGV4OiBXZWJDb3Jl
L2tzdmcyL2Nzcy9TVkdDU1NTdHlsZVNlbGVjdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2tzdmcyL2Nzcy9TVkdDU1NTdHlsZVNlbGVjdG9yLmNwcAkocmV2aXNpb24gMjUxNzMpCisrKyBX
ZWJDb3JlL2tzdmcyL2Nzcy9TVkdDU1NTdHlsZVNlbGVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNzAzLDkgKzcwMywyNyBAQAogICAgICAgICAgICAgICAgIGNvbCA9IHN0eWxlLT5jb2xvcigp
OwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIGNvbCA9IGMtPmNvbG9yKCk7CisK
ICAgICAgICAgICAgIHN2Z3N0eWxlLT5zZXRTdG9wQ29sb3IoY29sKTsKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICB9CisgICAgICAgY2FzZSBTVkdDU1NfUFJPUF9MSUdIVElOR19DT0xPUjoK
KyAgICAgICAgeworICAgICAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUwobGlnaHRp
bmdDb2xvciwgTGlnaHRpbmdDb2xvcik7CisKKyAgICAgICAgICAgIFNWR0NvbG9yKiBjID0gc3Rh
dGljX2Nhc3Q8U1ZHQ29sb3IqPih2YWx1ZSk7CisgICAgICAgICAgICBpZiAoIWMpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkoaWQsIHZhbHVl
KTsKKworICAgICAgICAgICAgQ29sb3IgY29sOworICAgICAgICAgICAgaWYgKGMtPmNvbG9yVHlw
ZSgpID09IFNWR0NvbG9yOjpTVkdfQ09MT1JUWVBFX0NVUlJFTlRDT0xPUikKKyAgICAgICAgICAg
ICAgICBjb2wgPSBzdHlsZS0+Y29sb3IoKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICBjb2wgPSBjLT5jb2xvcigpOworCisgICAgICAgICAgICBzdmdzdHlsZS0+c2V0TGlnaHRp
bmdDb2xvcihjb2wpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICAgICAgY2Fz
ZSBTVkdDU1NfUFJPUF9GTE9PRF9PUEFDSVRZOgogICAgICAgICB7CiAgICAgICAgICAgICBIQU5E
TEVfSU5IRVJJVF9BTkRfSU5JVElBTChmbG9vZE9wYWNpdHksIEZsb29kT3BhY2l0eSkKQEAgLTcy
OCw3ICs3NDYsNyBAQAogICAgICAgICB7CiAgICAgICAgICAgICBDb2xvciBjb2w7CiAgICAgICAg
ICAgICBpZiAoaXNJbml0aWFsKQotICAgICAgICAgICAgICAgIGNvbCA9IFNWR1JlbmRlclN0eWxl
Ojppbml0aWFsU3RvcENvbG9yKCk7CisgICAgICAgICAgICAgICAgY29sID0gU1ZHUmVuZGVyU3R5
bGU6OmluaXRpYWxGbG9vZENvbG9yKCk7CiAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAg
ICAgICBTVkdDb2xvciAqYyA9IHN0YXRpY19jYXN0PFNWR0NvbG9yKj4odmFsdWUpOwogICAgICAg
ICAgICAgICAgIGlmICghYykK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>16061</attachid>
            <date>2007-08-21 11:43:58 -0700</date>
            <delta_ts>2007-10-28 14:34:53 -0700</delta_ts>
            <desc>LayoutTest results</desc>
            <filename>FixSVGFiltersTestResults.diff</filename>
            <type>text/plain</type>
            <size>81164</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI1MTczKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsODAgQEAKKzIwMDctMDgtMjEgIE5pa29sYXMgWmltbWVybWFu
biAgPHppbW1lcm1hbm5Aa2RlLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBVcGRhdGVkIGxheW91dCB0ZXN0cyByZXN1bHRzIGFmdGVyIHRoZSBT
VkcgZmlsdGVyIHJld29yay4KKworICAgICAgICAqIHN2Zy9XM0MtU1ZHLTEuMS9maWx0ZXJzLWJs
ZW5kLTAxLWItZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICogc3ZnL1czQy1TVkctMS4xL2Zp
bHRlcnMtYmxlbmQtMDEtYi1leHBlY3RlZC5wbmc6CisgICAgICAgICogc3ZnL1czQy1TVkctMS4x
L2ZpbHRlcnMtYmxlbmQtMDEtYi1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL1czQy1TVkct
MS4xL2ZpbHRlcnMtY29sb3ItMDEtYi1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBzdmcv
VzNDLVNWRy0xLjEvZmlsdGVycy1jb2xvci0wMS1iLWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBz
dmcvVzNDLVNWRy0xLjEvZmlsdGVycy1jb2xvci0wMS1iLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBzdmcvVzNDLVNWRy0xLjEvZmlsdGVycy1jb21wb3NpdGUtMDItYi1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogc3ZnL1czQy1TVkctMS4xL2ZpbHRlcnMtY29tcHRyYW4tMDEtYi1leHBlY3RlZC5j
aGVja3N1bToKKyAgICAgICAgKiBzdmcvVzNDLVNWRy0xLjEvZmlsdGVycy1jb21wdHJhbi0wMS1i
LWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBzdmcvVzNDLVNWRy0xLjEvZmlsdGVycy1jb21wdHJh
bi0wMS1iLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdmcvVzNDLVNWRy0xLjEvZmlsdGVycy1k
aWZmdXNlLTAxLWYtZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICogc3ZnL1czQy1TVkctMS4x
L2ZpbHRlcnMtZGlmZnVzZS0wMS1mLWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBzdmcvVzNDLVNW
Ry0xLjEvZmlsdGVycy1kaWZmdXNlLTAxLWYtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN2Zy9X
M0MtU1ZHLTEuMS9maWx0ZXJzLWRpc3BsYWNlLTAxLWYtZXhwZWN0ZWQuY2hlY2tzdW06CisgICAg
ICAgICogc3ZnL1czQy1TVkctMS4xL2ZpbHRlcnMtZGlzcGxhY2UtMDEtZi1leHBlY3RlZC5wbmc6
CisgICAgICAgICogc3ZnL1czQy1TVkctMS4xL2ZpbHRlcnMtZGlzcGxhY2UtMDEtZi1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogc3ZnL1czQy1TVkctMS4xL2ZpbHRlcnMtZXhhbXBsZS0wMS1iLWV4
cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHN2Zy9XM0MtU1ZHLTEuMS9maWx0ZXJzLWV4YW1w
bGUtMDEtYi1leHBlY3RlZC5wbmc6CisgICAgICAgICogc3ZnL1czQy1TVkctMS4xL2ZpbHRlcnMt
ZXhhbXBsZS0wMS1iLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdmcvVzNDLVNWRy0xLjEvZmls
dGVycy1nYXVzcy0wMS1iLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHN2Zy9XM0MtU1ZH
LTEuMS9maWx0ZXJzLWdhdXNzLTAxLWItZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHN2Zy9XM0Mt
U1ZHLTEuMS9maWx0ZXJzLWdhdXNzLTAxLWItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN2Zy9X
M0MtU1ZHLTEuMS9maWx0ZXJzLWltYWdlLTAxLWItZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAg
ICogc3ZnL1czQy1TVkctMS4xL2ZpbHRlcnMtaW1hZ2UtMDEtYi1leHBlY3RlZC5wbmc6CisgICAg
ICAgICogc3ZnL1czQy1TVkctMS4xL2ZpbHRlcnMtbGlnaHQtMDEtZi1leHBlY3RlZC5jaGVja3N1
bToKKyAgICAgICAgKiBzdmcvVzNDLVNWRy0xLjEvZmlsdGVycy1saWdodC0wMS1mLWV4cGVjdGVk
LnBuZzoKKyAgICAgICAgKiBzdmcvVzNDLVNWRy0xLjEvZmlsdGVycy1saWdodC0wMS1mLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBzdmcvVzNDLVNWRy0xLjEvZmlsdGVycy1vZmZzZXQtMDEtYi1l
eHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBzdmcvVzNDLVNWRy0xLjEvZmlsdGVycy1vZmZz
ZXQtMDEtYi1leHBlY3RlZC5wbmc6CisgICAgICAgICogc3ZnL1czQy1TVkctMS4xL2ZpbHRlcnMt
b2Zmc2V0LTAxLWItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN2Zy9XM0MtU1ZHLTEuMS9maWx0
ZXJzLXNwZWN1bGFyLTAxLWYtZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICogc3ZnL1czQy1T
VkctMS4xL2ZpbHRlcnMtc3BlY3VsYXItMDEtZi1leHBlY3RlZC5wbmc6CisgICAgICAgICogc3Zn
L1czQy1TVkctMS4xL2ZpbHRlcnMtc3BlY3VsYXItMDEtZi1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogc3ZnL1czQy1TVkctMS4xL2ZpbHRlcnMtdGlsZS0wMS1iLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0RWZmZWN0LWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAg
ICAqIHN2Zy9iYXRpay90ZXh0L3RleHRFZmZlY3QtZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHN2
Zy9iYXRpay90ZXh0L3RleHRFZmZlY3QtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN2Zy9iYXRp
ay90ZXh0L3RleHRFZmZlY3QzLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHN2Zy9iYXRp
ay90ZXh0L3RleHRFZmZlY3QzLWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4
dC90ZXh0RWZmZWN0My1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4
dEZlYXR1cmVzLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHN2Zy9iYXRpay90ZXh0L3Rl
eHRGZWF0dXJlcy1leHBlY3RlZC5wbmc6CisgICAgICAgICogc3ZnL2JhdGlrL3RleHQvdGV4dEZl
YXR1cmVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0UHJvcGVy
dGllcy1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBzdmcvYmF0aWsvdGV4dC90ZXh0UHJv
cGVydGllcy1leHBlY3RlZC5wbmc6CisgICAgICAgICogc3ZnL2N1c3RvbS9lbXB0eS1tZXJnZS1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2N1c3RvbS9mZUNvbXBvbmVudFRyYW5zZmVyLURp
c2NyZXRlLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHN2Zy9jdXN0b20vZmVDb21wb25l
bnRUcmFuc2Zlci1EaXNjcmV0ZS1leHBlY3RlZC5wbmc6CisgICAgICAgICogc3ZnL2N1c3RvbS9m
ZUNvbXBvbmVudFRyYW5zZmVyLURpc2NyZXRlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdmcv
Y3VzdG9tL2ZlQ29tcG9uZW50VHJhbnNmZXItR2FtbWEtZXhwZWN0ZWQuY2hlY2tzdW06CisgICAg
ICAgICogc3ZnL2N1c3RvbS9mZUNvbXBvbmVudFRyYW5zZmVyLUdhbW1hLWV4cGVjdGVkLnBuZzoK
KyAgICAgICAgKiBzdmcvY3VzdG9tL2ZlQ29tcG9uZW50VHJhbnNmZXItR2FtbWEtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHN2Zy9jdXN0b20vZmVDb21wb25lbnRUcmFuc2Zlci1MaW5lYXItZXhw
ZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICogc3ZnL2N1c3RvbS9mZUNvbXBvbmVudFRyYW5zZmVy
LUxpbmVhci1leHBlY3RlZC5wbmc6CisgICAgICAgICogc3ZnL2N1c3RvbS9mZUNvbXBvbmVudFRy
YW5zZmVyLUxpbmVhci1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2N1c3RvbS9mZUNvbXBv
bmVudFRyYW5zZmVyLVRhYmxlLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHN2Zy9jdXN0
b20vZmVDb21wb25lbnRUcmFuc2Zlci1UYWJsZS1leHBlY3RlZC5wbmc6CisgICAgICAgICogc3Zn
L2N1c3RvbS9mZUNvbXBvbmVudFRyYW5zZmVyLVRhYmxlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBzdmcvY3VzdG9tL2ZpbHRlci1zb3VyY2UtYWxwaGEtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHN2Zy9jdXN0b20vaW1hZ2Utd2l0aC10cmFuc2Zvcm0tY2xpcC1maWx0ZXItZXhwZWN0ZWQuY2hl
Y2tzdW06CisgICAgICAgICogc3ZnL2N1c3RvbS9pbWFnZS13aXRoLXRyYW5zZm9ybS1jbGlwLWZp
bHRlci1leHBlY3RlZC5wbmc6CisgICAgICAgICogc3ZnL2N1c3RvbS9pbWFnZS13aXRoLXRyYW5z
Zm9ybS1jbGlwLWZpbHRlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2N1c3RvbS9pbnZh
bGlkLWNzcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2N1c3RvbS9ub24tb3BhcXVlLWZp
bHRlcnMtZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICogc3ZnL2N1c3RvbS9ub24tb3BhcXVl
LWZpbHRlcnMtZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHN2Zy9jdXN0b20vbm9uLW9wYXF1ZS1m
aWx0ZXJzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3RleHQtZmlsdGVyLWV4
cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHN2Zy9jdXN0b20vdGV4dC1maWx0ZXItZXhwZWN0
ZWQucG5nOgorICAgICAgICAqIHN2Zy9jdXN0b20vdGV4dC1maWx0ZXItZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHN2Zy9jdXN0b20vdmlzaWJpbGl0eS1vdmVycmlkZS1maWx0ZXItZXhwZWN0ZWQu
dHh0OgorCiAyMDA3LTA4LTIwICBSb2IgQnVpcyAgPGJ1aXNAa2RlLm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBOaWtvbGFzLgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL1czQy1TVkctMS4xL2Zp
bHRlcnMtZXhhbXBsZS0wMS1iLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5
OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gaW1hZ2UvcG5n
CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvVzNDLVNWRy0xLjEvZmlsdGVycy1vZmZzZXQtMDEtYi1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL1czQy1TVkctMS4xL2Zp
bHRlcnMtb2Zmc2V0LTAxLWItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNTE3MykKKysrIExheW91
dFRlc3RzL3N2Zy9XM0MtU1ZHLTEuMS9maWx0ZXJzLW9mZnNldC0wMS1iLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKLUtDYW52YXNSZXNvdXJjZSB7aWQ9IkZPTVRl
c3QiIFt0eXBlPUZJTFRFUl0gIFtib3VuZGluZyBib3g9YXQgKDAuMDAlLDAuMDAlKSBzaXplIDI1
MC4wMCV4NDAwLjAwJV0gW2VmZmVjdHM9W1t0eXBlPU9GRlNFVF0gIFtyZXN1bHQ9Ik9mZjEiXSBb
c3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDQ4MHgzNjAiXSBbZHg9NDAuMDAgZHk9MzAuMDBdLCBb
dHlwZT1GTE9PRF0gIFtyZXN1bHQ9IkYxIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSA0ODB4
MzYwIl0gW2NvbG9yPSM0MDgwMDBdIFtvcGFjaXR5PTAuODBdLCBbdHlwZT1DT01QT1NJVEVdICBb
cmVzdWx0PSJDMSJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgNDgweDM2MCJdIFtpbjI9Ik9m
ZjEiXSBbazE9MC4wMCBrMj0wLjAwIGszPTAuMDAgazQ9MC4wMF0sIFt0eXBlPU9GRlNFVF0gW2lu
PSJTb3VyY2VHcmFwaGljIl0gW3Jlc3VsdD0iT2ZmMiJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNp
emUgNDgweDM2MCJdIFtkeD04MC4wMCBkeT02MC4wMF0sIFt0eXBlPUZMT09EXSAgW3Jlc3VsdD0i
RjIiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDQ4MHgzNjAiXSBbY29sb3I9IzQwODAwMF0g
W29wYWNpdHk9MC42MF0sIFt0eXBlPUNPTVBPU0lURV0gIFtyZXN1bHQ9IkMyIl0gW3N1YnJlZ2lv
bj0iYXQgKDAsMCkgc2l6ZSA0ODB4MzYwIl0gW2luMj0iT2ZmMiJdIFtrMT0wLjAwIGsyPTAuMDAg
azM9MC4wMCBrND0wLjAwXSwgW3R5cGU9T0ZGU0VUXSBbaW49IlNvdXJjZUdyYXBoaWMiXSBbcmVz
dWx0PSJPZmYzIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSA0ODB4MzYwIl0gW2R4PTEyMC4w
MCBkeT05MC4wMF0sIFt0eXBlPUZMT09EXSAgW3Jlc3VsdD0iRjMiXSBbc3VicmVnaW9uPSJhdCAo
MCwwKSBzaXplIDQ4MHgzNjAiXSBbY29sb3I9IzQwODAwMF0gW29wYWNpdHk9MC40MF0sIFt0eXBl
PUNPTVBPU0lURV0gIFtyZXN1bHQ9IkMzIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSA0ODB4
MzYwIl0gW2luMj0iT2ZmMyJdIFtrMT0wLjAwIGsyPTAuMDAgazM9MC4wMCBrND0wLjAwXSwgW3R5
cGU9TUVSR0VdICBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDQ4MHgzNjAiXVttZXJnZSBpbnB1
dHM9W0MzLCBDMiwgQzEsIFNvdXJjZUdyYXBoaWNdXV1dfQorS0NhbnZhc1Jlc291cmNlIHtpZD0i
Rk9NVGVzdCIgW3R5cGU9RklMVEVSXSAgW2JvdW5kaW5nIGJveD1hdCAoMC4wMCUsMC4wMCUpIHNp
emUgMjUwLjAwJXg0MDAuMDAlXSBbZWZmZWN0cz1bW3R5cGU9T0ZGU0VUXSAgW3Jlc3VsdD0iT2Zm
MSJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgMXgxIl0gW2R4PTQwLjAwIGR5PTMwLjAwXSwg
W3R5cGU9RkxPT0RdICBbcmVzdWx0PSJGMSJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgMXgx
Il0gW2NvbG9yPSM0MDgwMDBdIFtvcGFjaXR5PTAuODBdLCBbdHlwZT1DT01QT1NJVEVdICBbcmVz
dWx0PSJDMSJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgMXgxIl0gW2luMj0iT2ZmMSJdIFtr
MT0wLjAwIGsyPTAuMDAgazM9MC4wMCBrND0wLjAwXSwgW3R5cGU9T0ZGU0VUXSBbaW49IlNvdXJj
ZUdyYXBoaWMiXSBbcmVzdWx0PSJPZmYyIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEi
XSBbZHg9ODAuMDAgZHk9NjAuMDBdLCBbdHlwZT1GTE9PRF0gIFtyZXN1bHQ9IkYyIl0gW3N1YnJl
Z2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSBbY29sb3I9IzQwODAwMF0gW29wYWNpdHk9MC42MF0s
IFt0eXBlPUNPTVBPU0lURV0gIFtyZXN1bHQ9IkMyIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6
ZSAxeDEiXSBbaW4yPSJPZmYyIl0gW2sxPTAuMDAgazI9MC4wMCBrMz0wLjAwIGs0PTAuMDBdLCBb
dHlwZT1PRkZTRVRdIFtpbj0iU291cmNlR3JhcGhpYyJdIFtyZXN1bHQ9Ik9mZjMiXSBbc3VicmVn
aW9uPSJhdCAoMCwwKSBzaXplIDF4MSJdIFtkeD0xMjAuMDAgZHk9OTAuMDBdLCBbdHlwZT1GTE9P
RF0gIFtyZXN1bHQ9IkYzIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSBbY29sb3I9
IzQwODAwMF0gW29wYWNpdHk9MC40MF0sIFt0eXBlPUNPTVBPU0lURV0gIFtyZXN1bHQ9IkMzIl0g
W3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSBbaW4yPSJPZmYzIl0gW2sxPTAuMDAgazI9
MC4wMCBrMz0wLjAwIGs0PTAuMDBdLCBbdHlwZT1NRVJHRV0gIFtzdWJyZWdpb249ImF0ICgwLDAp
IHNpemUgMXgxIl1bbWVyZ2UgaW5wdXRzPVtDMywgQzIsIEMxLCBTb3VyY2VHcmFwaGljXV1dXX0K
IGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
NDgweDM2MAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCkluZGV4OiBMYXlvdXRUZXN0cy9z
dmcvVzNDLVNWRy0xLjEvZmlsdGVycy1vZmZzZXQtMDEtYi1leHBlY3RlZC5jaGVja3N1bQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvVzNDLVNWRy0xLjEvZmlsdGVycy1vZmZzZXQtMDEt
Yi1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMjUxNzMpCisrKyBMYXlvdXRUZXN0cy9zdmcv
VzNDLVNWRy0xLjEvZmlsdGVycy1vZmZzZXQtMDEtYi1leHBlY3RlZC5jaGVja3N1bQkod29ya2lu
ZyBjb3B5KQpAQCAtMSArMSBAQAotNWQ2MzgyNzIyYTljZjZkMWYyY2RhMGE5N2MwMjhjYjEKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis3NmE1MWYyZWEzNzkwOGYzYjg3NmU3N2NjNjAzYTE2
MwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9XM0Mt
U1ZHLTEuMS9maWx0ZXJzLWRpc3BsYWNlLTAxLWYtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fu
bm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUg
PSBpbWFnZS9wbmcKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9XM0MtU1ZHLTEuMS9maWx0ZXJzLWxp
Z2h0LTAxLWYtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFy
a2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1z
dHJlYW0KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9XM0MtU1ZHLTEuMS9maWx0ZXJzLWdhdXNzLTAx
LWItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9XM0MtU1ZHLTEu
MS9maWx0ZXJzLWdhdXNzLTAxLWItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNTE3MykKKysrIExh
eW91dFRlc3RzL3N2Zy9XM0MtU1ZHLTEuMS9maWx0ZXJzLWdhdXNzLTAxLWItZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAotS0NhbnZhc1Jlc291cmNlIHtpZD0iYmx1
ciIgW3R5cGU9RklMVEVSXSAgW2JvdW5kaW5nIGJveD1hdCAoLTEwLjAwJSwtMTAuMDAlKSBzaXpl
IDEyMC4wMCV4MTIwLjAwJV0gW2VmZmVjdHM9W1t0eXBlPUdBVVNTSUFOLUJMVVJdICBbc3VicmVn
aW9uPSJhdCAoMCwwKSBzaXplIDQ4MHgzNjAiXSBbc3RkIGRldi4geD0xMC4wMCB5PTEwLjAwXV1d
fQotS0NhbnZhc1Jlc291cmNlIHtpZD0iYmx1cnh5IiBbdHlwZT1GSUxURVJdICBbYm91bmRpbmcg
Ym94PWF0ICgtMTAuMDAlLC0xMC4wMCUpIHNpemUgMTIwLjAwJXgxMjAuMDAlXSBbZWZmZWN0cz1b
W3R5cGU9R0FVU1NJQU4tQkxVUl0gIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgNDgweDM2MCJd
IFtzdGQgZGV2LiB4PTIwLjAwIHk9MS4wMF1dXX0KK0tDYW52YXNSZXNvdXJjZSB7aWQ9ImJsdXIi
IFt0eXBlPUZJTFRFUl0gIFtib3VuZGluZyBib3g9YXQgKC0xMC4wMCUsLTEwLjAwJSkgc2l6ZSAx
MjAuMDAleDEyMC4wMCVdIFtlZmZlY3RzPVtbdHlwZT1HQVVTU0lBTi1CTFVSXSAgW3N1YnJlZ2lv
bj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSBbc3RkIGRldi4geD0xMC4wMCB5PTEwLjAwXV1dfQorS0Nh
bnZhc1Jlc291cmNlIHtpZD0iYmx1cnh5IiBbdHlwZT1GSUxURVJdICBbYm91bmRpbmcgYm94PWF0
ICgtMTAuMDAlLC0xMC4wMCUpIHNpemUgMTIwLjAwJXgxMjAuMDAlXSBbZWZmZWN0cz1bW3R5cGU9
R0FVU1NJQU4tQkxVUl0gIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgMXgxIl0gW3N0ZCBkZXYu
IHg9MjAuMDAgeT0xLjAwXV1dfQogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgIFJlbmRl
clZpZXcgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAK
SW5kZXg6IExheW91dFRlc3RzL3N2Zy9XM0MtU1ZHLTEuMS9maWx0ZXJzLXNwZWN1bGFyLTAxLWYt
ZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL1czQy1TVkct
MS4xL2ZpbHRlcnMtc3BlY3VsYXItMDEtZi1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMjUx
NzMpCisrKyBMYXlvdXRUZXN0cy9zdmcvVzNDLVNWRy0xLjEvZmlsdGVycy1zcGVjdWxhci0wMS1m
LWV4cGVjdGVkLmNoZWNrc3VtCSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi0zNjA5ODA2YzBh
Zjk2OTMzMTJmOTMxOGQxNWI3MzlkYgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzgwYWZh
OWQxZTY0OWMyMGZiZTRiNDJiN2Q1NzRiMjBjClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJ
bmRleDogTGF5b3V0VGVzdHMvc3ZnL1czQy1TVkctMS4xL2ZpbHRlcnMtZXhhbXBsZS0wMS1iLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvVzNDLVNWRy0xLjEvZmls
dGVycy1leGFtcGxlLTAxLWItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNTE3MykKKysrIExheW91
dFRlc3RzL3N2Zy9XM0MtU1ZHLTEuMS9maWx0ZXJzLWV4YW1wbGUtMDEtYi1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw0IEBACi1LQ2FudmFzUmVzb3VyY2Uge2lkPSJNeUZp
bHRlciIgW3R5cGU9RklMVEVSXSAgW2JvdW5kaW5nIGJveD1hdCAoMCwwKSBzaXplIDIwMHgxMjBd
IFtib3VuZGluZyBib3ggbW9kZT0wXSBbZWZmZWN0cz1bW3R5cGU9R0FVU1NJQU4tQkxVUl0gW2lu
PSJTb3VyY2VBbHBoYSJdIFtyZXN1bHQ9ImJsdXIiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXpl
IDIwMHgxMjAiXSBbc3RkIGRldi4geD00LjAwIHk9NC4wMF0sIFt0eXBlPU9GRlNFVF0gW2luPSJi
bHVyIl0gW3Jlc3VsdD0ib2Zmc2V0Qmx1ciJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgMjAw
eDEyMCJdIFtkeD00LjAwIGR5PTQuMDBdLCBbdHlwZT1DT01QT1NJVEVdIFtpbj0iU291cmNlR3Jh
cGhpYyJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgMjAweDEyMCJdIFtpbjI9Im9mZnNldEJs
dXIiXSBbazE9MC4wMCBrMj0wLjAwIGszPTAuMDAgazQ9MC4wMF1dXX0KK0tDYW52YXNSZXNvdXJj
ZSB7aWQ9Ik15RmlsdGVyIiBbdHlwZT1GSUxURVJdICBbYm91bmRpbmcgYm94PWF0ICgwLDApIHNp
emUgMjAweDEyMF0gW2JvdW5kaW5nIGJveCBtb2RlPTBdIFtlZmZlY3RzPVtbdHlwZT1HQVVTU0lB
Ti1CTFVSXSBbaW49IlNvdXJjZUFscGhhIl0gW3Jlc3VsdD0iYmx1ciJdIFtzdWJyZWdpb249ImF0
ICgwLDApIHNpemUgMXgxIl0gW3N0ZCBkZXYuIHg9NC4wMCB5PTQuMDBdLCBbdHlwZT1PRkZTRVRd
IFtpbj0iYmx1ciJdIFtyZXN1bHQ9Im9mZnNldEJsdXIiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBz
aXplIDF4MSJdIFtkeD00LjAwIGR5PTQuMDBdLCBbdHlwZT1DT01QT1NJVEVdIFtpbj0iU291cmNl
R3JhcGhpYyJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgMXgxIl0gW2luMj0ib2Zmc2V0Qmx1
ciJdIFtrMT0wLjAwIGsyPTAuMDAgazM9MC4wMCBrND0wLjAwXV1dfQogbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA0ODB4MzYwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiBsYXllciBh
dCAoMCwwKSBzaXplIDQ4MHgzNjAKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9XM0MtU1ZHLTEuMS9m
aWx0ZXJzLWNvbG9yLTAxLWItZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6
IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcK
SW5kZXg6IExheW91dFRlc3RzL3N2Zy9XM0MtU1ZHLTEuMS9maWx0ZXJzLWNvbXB0cmFuLTAxLWIt
ZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEg
YmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcKSW5kZXg6IExheW91dFRlc3Rz
L3N2Zy9XM0MtU1ZHLTEuMS9maWx0ZXJzLWRpc3BsYWNlLTAxLWYtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9XM0MtU1ZHLTEuMS9maWx0ZXJzLWRpc3BsYWNlLTAx
LWYtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNTE3MykKKysrIExheW91dFRlc3RzL3N2Zy9XM0Mt
U1ZHLTEuMS9maWx0ZXJzLWRpc3BsYWNlLTAxLWYtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDggKzEsOCBAQAotS0NhbnZhc1Jlc291cmNlIHtpZD0iRGlzcE1hcENoZWNrZXIiIFt0
eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1JTUFHRV0gIFtzdWJyZWdpb249ImF0ICgwLDAp
IHNpemUgNDgweDM2MCJdXV19Ci1LQ2FudmFzUmVzb3VyY2Uge2lkPSJSb3RhdGVNYXAiIFt0eXBl
PUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1JTUFHRV0gIFtzdWJyZWdpb249ImF0ICgwLDApIHNp
emUgNDgweDM2MCJdXV19Ci1LQ2FudmFzUmVzb3VyY2Uge2lkPSJTcGhlcmVNYXAiIFt0eXBlPUZJ
TFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1JTUFHRV0gIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUg
NDgweDM2MCJdXV19Ci1LQ2FudmFzUmVzb3VyY2Uge2lkPSJSb3RhdGVNYXBUZXN0IiBbdHlwZT1G
SUxURVJdICBbZWZmZWN0cz1bW3R5cGU9SU1BR0VdICBbcmVzdWx0PSJNYXAiXSBbc3VicmVnaW9u
PSJhdCAoMCwwKSBzaXplIDQ4MHgzNjAiXSwgW3R5cGU9SU1BR0VdICBbcmVzdWx0PSJUZXh0dXJl
Il0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSA0ODB4MzYwIl0sIFt0eXBlPURJU1BMQUNFTUVO
VC1NQVBdIFtpbj0iVGV4dHVyZSJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgNDgweDM2MCJd
IFtpbjI9TWFwXSBbc2NhbGU9NjQuMDBdIFt4IGNoYW5uZWwgc2VsZWN0b3I9UkVEXSBbeSBjaGFu
bmVsIHNlbGVjdG9yPUdSRUVOXV1dfQotS0NhbnZhc1Jlc291cmNlIHtpZD0iU3BoZXJlTWFwVGVz
dCIgW3R5cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPUlNQUdFXSAgW3Jlc3VsdD0iTWFwIl0g
W3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSA0ODB4MzYwIl0sIFt0eXBlPUlNQUdFXSAgW3Jlc3Vs
dD0iVGV4dHVyZSJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgNDgweDM2MCJdLCBbdHlwZT1E
SVNQTEFDRU1FTlQtTUFQXSBbaW49IlRleHR1cmUiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXpl
IDQ4MHgzNjAiXSBbaW4yPU1hcF0gW3NjYWxlPTY0LjAwXSBbeCBjaGFubmVsIHNlbGVjdG9yPVJF
RF0gW3kgY2hhbm5lbCBzZWxlY3Rvcj1HUkVFTl1dXX0KK0tDYW52YXNSZXNvdXJjZSB7aWQ9IkRp
c3BNYXBDaGVja2VyIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9SU1BR0VdICBbc3Vi
cmVnaW9uPSJhdCAoMCwwKSBzaXplIDF4MSJdXV19CitLQ2FudmFzUmVzb3VyY2Uge2lkPSJSb3Rh
dGVNYXAiIFt0eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1JTUFHRV0gIFtzdWJyZWdpb249
ImF0ICgwLDApIHNpemUgMXgxIl1dXX0KK0tDYW52YXNSZXNvdXJjZSB7aWQ9IlNwaGVyZU1hcCIg
W3R5cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPUlNQUdFXSAgW3N1YnJlZ2lvbj0iYXQgKDAs
MCkgc2l6ZSAxeDEiXV1dfQorS0NhbnZhc1Jlc291cmNlIHtpZD0iUm90YXRlTWFwVGVzdCIgW3R5
cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPUlNQUdFXSAgW3Jlc3VsdD0iTWFwIl0gW3N1YnJl
Z2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSwgW3R5cGU9SU1BR0VdICBbcmVzdWx0PSJUZXh0dXJl
Il0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSwgW3R5cGU9RElTUExBQ0VNRU5ULU1B
UF0gW2luPSJUZXh0dXJlIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSBbaW4yPU1h
cF0gW3NjYWxlPTY0LjAwXSBbeCBjaGFubmVsIHNlbGVjdG9yPVJFRF0gW3kgY2hhbm5lbCBzZWxl
Y3Rvcj1HUkVFTl1dXX0KK0tDYW52YXNSZXNvdXJjZSB7aWQ9IlNwaGVyZU1hcFRlc3QiIFt0eXBl
PUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1JTUFHRV0gIFtyZXN1bHQ9Ik1hcCJdIFtzdWJyZWdp
b249ImF0ICgwLDApIHNpemUgMXgxIl0sIFt0eXBlPUlNQUdFXSAgW3Jlc3VsdD0iVGV4dHVyZSJd
IFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgMXgxIl0sIFt0eXBlPURJU1BMQUNFTUVOVC1NQVBd
IFtpbj0iVGV4dHVyZSJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgMXgxIl0gW2luMj1NYXBd
IFtzY2FsZT02NC4wMF0gW3ggY2hhbm5lbCBzZWxlY3Rvcj1SRURdIFt5IGNoYW5uZWwgc2VsZWN0
b3I9R1JFRU5dXV19CiBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgUmVuZGVyVmlldyBh
dCAoMCwwKSBzaXplIDQ4MHgzNjAKIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MApJbmRleDog
TGF5b3V0VGVzdHMvc3ZnL1czQy1TVkctMS4xL2ZpbHRlcnMtY29tcG9zaXRlLTAyLWItZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9XM0MtU1ZHLTEuMS9maWx0ZXJz
LWNvbXBvc2l0ZS0wMi1iLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjUxNzMpCisrKyBMYXlvdXRU
ZXN0cy9zdmcvVzNDLVNWRy0xLjEvZmlsdGVycy1jb21wb3NpdGUtMDItYi1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMTUgKzEsMTUgQEAKLUtDYW52YXNSZXNvdXJjZSB7aWQ9Im92
ZXIiIFt0eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1JTUFHRV0gIFtyZXN1bHQ9ImJsdWUi
XSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDQ4MHgzNjAiXSwgW3R5cGU9SU1BR0VdICBbcmVz
dWx0PSJyZWQiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDQ4MHgzNjAiXSwgW3R5cGU9Q09N
UE9TSVRFXSBbaW49InJlZCJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgNDgweDM2MCJdIFtp
bjI9ImJsdWUiXSBbazE9MC4wMCBrMj0wLjAwIGszPTAuMDAgazQ9MC4wMF1dXX0KLUtDYW52YXNS
ZXNvdXJjZSB7aWQ9Im92ZXI1MCIgW3R5cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPUlNQUdF
XSAgW3Jlc3VsdD0iYmx1ZSJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgNDgweDM2MCJdLCBb
dHlwZT1JTUFHRV0gIFtyZXN1bHQ9InJlZCJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgNDgw
eDM2MCJdLCBbdHlwZT1DT01QT1NJVEVdIFtpbj0icmVkIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkg
c2l6ZSA0ODB4MzYwIl0gW2luMj0iYmx1ZSJdIFtrMT0wLjAwIGsyPTAuMDAgazM9MC4wMCBrND0w
LjAwXV1dfQotS0NhbnZhc1Jlc291cmNlIHtpZD0iaW4iIFt0eXBlPUZJTFRFUl0gIFtlZmZlY3Rz
PVtbdHlwZT1JTUFHRV0gIFtyZXN1bHQ9ImJsdWUiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXpl
IDQ4MHgzNjAiXSwgW3R5cGU9SU1BR0VdICBbcmVzdWx0PSJyZWQiXSBbc3VicmVnaW9uPSJhdCAo
MCwwKSBzaXplIDQ4MHgzNjAiXSwgW3R5cGU9Q09NUE9TSVRFXSBbaW49InJlZCJdIFtzdWJyZWdp
b249ImF0ICgwLDApIHNpemUgNDgweDM2MCJdIFtpbjI9ImJsdWUiXSBbazE9MC4wMCBrMj0wLjAw
IGszPTAuMDAgazQ9MC4wMF1dXX0KLUtDYW52YXNSZXNvdXJjZSB7aWQ9ImluNTAiIFt0eXBlPUZJ
TFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1JTUFHRV0gIFtyZXN1bHQ9ImJsdWUiXSBbc3VicmVnaW9u
PSJhdCAoMCwwKSBzaXplIDQ4MHgzNjAiXSwgW3R5cGU9SU1BR0VdICBbcmVzdWx0PSJyZWQiXSBb
c3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDQ4MHgzNjAiXSwgW3R5cGU9Q09NUE9TSVRFXSBbaW49
InJlZCJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgNDgweDM2MCJdIFtpbjI9ImJsdWUiXSBb
azE9MC4wMCBrMj0wLjAwIGszPTAuMDAgazQ9MC4wMF1dXX0KLUtDYW52YXNSZXNvdXJjZSB7aWQ9
Im91dCIgW3R5cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPUlNQUdFXSAgW3Jlc3VsdD0iYmx1
ZSJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgNDgweDM2MCJdLCBbdHlwZT1JTUFHRV0gIFty
ZXN1bHQ9InJlZCJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgNDgweDM2MCJdLCBbdHlwZT1D
T01QT1NJVEVdIFtpbj0icmVkIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSA0ODB4MzYwIl0g
W2luMj0iYmx1ZSJdIFtrMT0wLjAwIGsyPTAuMDAgazM9MC4wMCBrND0wLjAwXV1dfQotS0NhbnZh
c1Jlc291cmNlIHtpZD0ib3V0NTAiIFt0eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1JTUFH
RV0gIFtyZXN1bHQ9ImJsdWUiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDQ4MHgzNjAiXSwg
W3R5cGU9SU1BR0VdICBbcmVzdWx0PSJyZWQiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDQ4
MHgzNjAiXSwgW3R5cGU9Q09NUE9TSVRFXSBbaW49InJlZCJdIFtzdWJyZWdpb249ImF0ICgwLDAp
IHNpemUgNDgweDM2MCJdIFtpbjI9ImJsdWUiXSBbazE9MC4wMCBrMj0wLjAwIGszPTAuMDAgazQ9
MC4wMF1dXX0KLUtDYW52YXNSZXNvdXJjZSB7aWQ9ImF0b3AiIFt0eXBlPUZJTFRFUl0gIFtlZmZl
Y3RzPVtbdHlwZT1JTUFHRV0gIFtyZXN1bHQ9ImJsdWUiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBz
aXplIDQ4MHgzNjAiXSwgW3R5cGU9SU1BR0VdICBbcmVzdWx0PSJyZWQiXSBbc3VicmVnaW9uPSJh
dCAoMCwwKSBzaXplIDQ4MHgzNjAiXSwgW3R5cGU9Q09NUE9TSVRFXSBbaW49InJlZCJdIFtzdWJy
ZWdpb249ImF0ICgwLDApIHNpemUgNDgweDM2MCJdIFtpbjI9ImJsdWUiXSBbazE9MC4wMCBrMj0w
LjAwIGszPTAuMDAgazQ9MC4wMF1dXX0KLUtDYW52YXNSZXNvdXJjZSB7aWQ9ImF0b3A1MCIgW3R5
cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPUlNQUdFXSAgW3Jlc3VsdD0iYmx1ZSJdIFtzdWJy
ZWdpb249ImF0ICgwLDApIHNpemUgNDgweDM2MCJdLCBbdHlwZT1JTUFHRV0gIFtyZXN1bHQ9InJl
ZCJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgNDgweDM2MCJdLCBbdHlwZT1DT01QT1NJVEVd
IFtpbj0icmVkIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSA0ODB4MzYwIl0gW2luMj0iYmx1
ZSJdIFtrMT0wLjAwIGsyPTAuMDAgazM9MC4wMCBrND0wLjAwXV1dfQotS0NhbnZhc1Jlc291cmNl
IHtpZD0ieG9yIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9SU1BR0VdICBbcmVzdWx0
PSJibHVlIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSA0ODB4MzYwIl0sIFt0eXBlPUlNQUdF
XSAgW3Jlc3VsdD0icmVkIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSA0ODB4MzYwIl0sIFt0
eXBlPUNPTVBPU0lURV0gW2luPSJyZWQiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDQ4MHgz
NjAiXSBbaW4yPSJibHVlIl0gW2sxPTAuMDAgazI9MC4wMCBrMz0wLjAwIGs0PTAuMDBdXV19Ci1L
Q2FudmFzUmVzb3VyY2Uge2lkPSJ4b3I1MCIgW3R5cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBl
PUlNQUdFXSAgW3Jlc3VsdD0iYmx1ZSJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgNDgweDM2
MCJdLCBbdHlwZT1JTUFHRV0gIFtyZXN1bHQ9InJlZCJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNp
emUgNDgweDM2MCJdLCBbdHlwZT1DT01QT1NJVEVdIFtpbj0icmVkIl0gW3N1YnJlZ2lvbj0iYXQg
KDAsMCkgc2l6ZSA0ODB4MzYwIl0gW2luMj0iYmx1ZSJdIFtrMT0wLjAwIGsyPTAuMDAgazM9MC4w
MCBrND0wLjAwXV1dfQotS0NhbnZhc1Jlc291cmNlIHtpZD0iYXJpdGhtZXRpYyIgW3R5cGU9RklM
VEVSXSAgW2VmZmVjdHM9W1t0eXBlPUlNQUdFXSAgW3Jlc3VsdD0iYmx1ZSJdIFtzdWJyZWdpb249
ImF0ICgwLDApIHNpemUgNDgweDM2MCJdLCBbdHlwZT1JTUFHRV0gIFtyZXN1bHQ9InJlZCJdIFtz
dWJyZWdpb249ImF0ICgwLDApIHNpemUgNDgweDM2MCJdLCBbdHlwZT1DT01QT1NJVEVdIFtpbj0i
cmVkIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSA0ODB4MzYwIl0gW2luMj0iYmx1ZSJdIFtr
MT0wLjUwIGsyPTAuNTAgazM9MC41MCBrND0wLjUwXV1dfQotS0NhbnZhc1Jlc291cmNlIHtpZD0i
YXJpdGhtZXRpYzUwIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9SU1BR0VdICBbcmVz
dWx0PSJibHVlIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSA0ODB4MzYwIl0sIFt0eXBlPUlN
QUdFXSAgW3Jlc3VsdD0icmVkIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSA0ODB4MzYwIl0s
IFt0eXBlPUNPTVBPU0lURV0gW2luPSJyZWQiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDQ4
MHgzNjAiXSBbaW4yPSJibHVlIl0gW2sxPTAuNTAgazI9MC41MCBrMz0wLjUwIGs0PTAuNTBdXV19
CitLQ2FudmFzUmVzb3VyY2Uge2lkPSJvdmVyIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5
cGU9SU1BR0VdICBbcmVzdWx0PSJibHVlIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEi
XSwgW3R5cGU9SU1BR0VdICBbcmVzdWx0PSJyZWQiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXpl
IDF4MSJdLCBbdHlwZT1DT01QT1NJVEVdIFtpbj0icmVkIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkg
c2l6ZSAxeDEiXSBbaW4yPSJibHVlIl0gW2sxPTAuMDAgazI9MC4wMCBrMz0wLjAwIGs0PTAuMDBd
XV19CitLQ2FudmFzUmVzb3VyY2Uge2lkPSJvdmVyNTAiIFt0eXBlPUZJTFRFUl0gIFtlZmZlY3Rz
PVtbdHlwZT1JTUFHRV0gIFtyZXN1bHQ9ImJsdWUiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXpl
IDF4MSJdLCBbdHlwZT1JTUFHRV0gIFtyZXN1bHQ9InJlZCJdIFtzdWJyZWdpb249ImF0ICgwLDAp
IHNpemUgMXgxIl0sIFt0eXBlPUNPTVBPU0lURV0gW2luPSJyZWQiXSBbc3VicmVnaW9uPSJhdCAo
MCwwKSBzaXplIDF4MSJdIFtpbjI9ImJsdWUiXSBbazE9MC4wMCBrMj0wLjAwIGszPTAuMDAgazQ9
MC4wMF1dXX0KK0tDYW52YXNSZXNvdXJjZSB7aWQ9ImluIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0
cz1bW3R5cGU9SU1BR0VdICBbcmVzdWx0PSJibHVlIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6
ZSAxeDEiXSwgW3R5cGU9SU1BR0VdICBbcmVzdWx0PSJyZWQiXSBbc3VicmVnaW9uPSJhdCAoMCww
KSBzaXplIDF4MSJdLCBbdHlwZT1DT01QT1NJVEVdIFtpbj0icmVkIl0gW3N1YnJlZ2lvbj0iYXQg
KDAsMCkgc2l6ZSAxeDEiXSBbaW4yPSJibHVlIl0gW2sxPTAuMDAgazI9MC4wMCBrMz0wLjAwIGs0
PTAuMDBdXV19CitLQ2FudmFzUmVzb3VyY2Uge2lkPSJpbjUwIiBbdHlwZT1GSUxURVJdICBbZWZm
ZWN0cz1bW3R5cGU9SU1BR0VdICBbcmVzdWx0PSJibHVlIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkg
c2l6ZSAxeDEiXSwgW3R5cGU9SU1BR0VdICBbcmVzdWx0PSJyZWQiXSBbc3VicmVnaW9uPSJhdCAo
MCwwKSBzaXplIDF4MSJdLCBbdHlwZT1DT01QT1NJVEVdIFtpbj0icmVkIl0gW3N1YnJlZ2lvbj0i
YXQgKDAsMCkgc2l6ZSAxeDEiXSBbaW4yPSJibHVlIl0gW2sxPTAuMDAgazI9MC4wMCBrMz0wLjAw
IGs0PTAuMDBdXV19CitLQ2FudmFzUmVzb3VyY2Uge2lkPSJvdXQiIFt0eXBlPUZJTFRFUl0gIFtl
ZmZlY3RzPVtbdHlwZT1JTUFHRV0gIFtyZXN1bHQ9ImJsdWUiXSBbc3VicmVnaW9uPSJhdCAoMCww
KSBzaXplIDF4MSJdLCBbdHlwZT1JTUFHRV0gIFtyZXN1bHQ9InJlZCJdIFtzdWJyZWdpb249ImF0
ICgwLDApIHNpemUgMXgxIl0sIFt0eXBlPUNPTVBPU0lURV0gW2luPSJyZWQiXSBbc3VicmVnaW9u
PSJhdCAoMCwwKSBzaXplIDF4MSJdIFtpbjI9ImJsdWUiXSBbazE9MC4wMCBrMj0wLjAwIGszPTAu
MDAgazQ9MC4wMF1dXX0KK0tDYW52YXNSZXNvdXJjZSB7aWQ9Im91dDUwIiBbdHlwZT1GSUxURVJd
ICBbZWZmZWN0cz1bW3R5cGU9SU1BR0VdICBbcmVzdWx0PSJibHVlIl0gW3N1YnJlZ2lvbj0iYXQg
KDAsMCkgc2l6ZSAxeDEiXSwgW3R5cGU9SU1BR0VdICBbcmVzdWx0PSJyZWQiXSBbc3VicmVnaW9u
PSJhdCAoMCwwKSBzaXplIDF4MSJdLCBbdHlwZT1DT01QT1NJVEVdIFtpbj0icmVkIl0gW3N1YnJl
Z2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSBbaW4yPSJibHVlIl0gW2sxPTAuMDAgazI9MC4wMCBr
Mz0wLjAwIGs0PTAuMDBdXV19CitLQ2FudmFzUmVzb3VyY2Uge2lkPSJhdG9wIiBbdHlwZT1GSUxU
RVJdICBbZWZmZWN0cz1bW3R5cGU9SU1BR0VdICBbcmVzdWx0PSJibHVlIl0gW3N1YnJlZ2lvbj0i
YXQgKDAsMCkgc2l6ZSAxeDEiXSwgW3R5cGU9SU1BR0VdICBbcmVzdWx0PSJyZWQiXSBbc3VicmVn
aW9uPSJhdCAoMCwwKSBzaXplIDF4MSJdLCBbdHlwZT1DT01QT1NJVEVdIFtpbj0icmVkIl0gW3N1
YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSBbaW4yPSJibHVlIl0gW2sxPTAuMDAgazI9MC4w
MCBrMz0wLjAwIGs0PTAuMDBdXV19CitLQ2FudmFzUmVzb3VyY2Uge2lkPSJhdG9wNTAiIFt0eXBl
PUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1JTUFHRV0gIFtyZXN1bHQ9ImJsdWUiXSBbc3VicmVn
aW9uPSJhdCAoMCwwKSBzaXplIDF4MSJdLCBbdHlwZT1JTUFHRV0gIFtyZXN1bHQ9InJlZCJdIFtz
dWJyZWdpb249ImF0ICgwLDApIHNpemUgMXgxIl0sIFt0eXBlPUNPTVBPU0lURV0gW2luPSJyZWQi
XSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDF4MSJdIFtpbjI9ImJsdWUiXSBbazE9MC4wMCBr
Mj0wLjAwIGszPTAuMDAgazQ9MC4wMF1dXX0KK0tDYW52YXNSZXNvdXJjZSB7aWQ9InhvciIgW3R5
cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPUlNQUdFXSAgW3Jlc3VsdD0iYmx1ZSJdIFtzdWJy
ZWdpb249ImF0ICgwLDApIHNpemUgMXgxIl0sIFt0eXBlPUlNQUdFXSAgW3Jlc3VsdD0icmVkIl0g
W3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSwgW3R5cGU9Q09NUE9TSVRFXSBbaW49InJl
ZCJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgMXgxIl0gW2luMj0iYmx1ZSJdIFtrMT0wLjAw
IGsyPTAuMDAgazM9MC4wMCBrND0wLjAwXV1dfQorS0NhbnZhc1Jlc291cmNlIHtpZD0ieG9yNTAi
IFt0eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1JTUFHRV0gIFtyZXN1bHQ9ImJsdWUiXSBb
c3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDF4MSJdLCBbdHlwZT1JTUFHRV0gIFtyZXN1bHQ9InJl
ZCJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgMXgxIl0sIFt0eXBlPUNPTVBPU0lURV0gW2lu
PSJyZWQiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDF4MSJdIFtpbjI9ImJsdWUiXSBbazE9
MC4wMCBrMj0wLjAwIGszPTAuMDAgazQ9MC4wMF1dXX0KK0tDYW52YXNSZXNvdXJjZSB7aWQ9ImFy
aXRobWV0aWMiIFt0eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1JTUFHRV0gIFtyZXN1bHQ9
ImJsdWUiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDF4MSJdLCBbdHlwZT1JTUFHRV0gIFty
ZXN1bHQ9InJlZCJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgMXgxIl0sIFt0eXBlPUNPTVBP
U0lURV0gW2luPSJyZWQiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDF4MSJdIFtpbjI9ImJs
dWUiXSBbazE9MC41MCBrMj0wLjUwIGszPTAuNTAgazQ9MC41MF1dXX0KK0tDYW52YXNSZXNvdXJj
ZSB7aWQ9ImFyaXRobWV0aWM1MCIgW3R5cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPUlNQUdF
XSAgW3Jlc3VsdD0iYmx1ZSJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgMXgxIl0sIFt0eXBl
PUlNQUdFXSAgW3Jlc3VsdD0icmVkIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSwg
W3R5cGU9Q09NUE9TSVRFXSBbaW49InJlZCJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgMXgx
Il0gW2luMj0iYmx1ZSJdIFtrMT0wLjUwIGsyPTAuNTAgazM9MC41MCBrND0wLjUwXV1dfQogbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA0ODB4
MzYwCiBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9X
M0MtU1ZHLTEuMS9maWx0ZXJzLWxpZ2h0LTAxLWYtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3N2Zy9XM0MtU1ZHLTEuMS9maWx0ZXJzLWxpZ2h0LTAxLWYtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAyNTE3MykKKysrIExheW91dFRlc3RzL3N2Zy9XM0MtU1ZHLTEuMS9maWx0
ZXJzLWxpZ2h0LTAxLWYtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1ICsxLDE1
IEBACi1LQ2FudmFzUmVzb3VyY2Uge2lkPSJkaXN0YW50TGlnaHRBIiBbdHlwZT1GSUxURVJdICBb
ZWZmZWN0cz1bW3R5cGU9RElGRlVTRS1MSUdIVElOR10gW2luPSJTb3VyY2VHcmFwaGljIl0gW3N1
YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSA0ODB4MzYwIl0gW3N1cmZhY2Ugc2NhbGU9MTAuMDBdIFtk
aWZmdXNlIGNvbnN0YW50PTEuMDBdIFtrZXJuZWwgdW5pdCBsZW5ndGggMC4wMCwgMC4wMF1dXX0K
LUtDYW52YXNSZXNvdXJjZSB7aWQ9ImRpc3RhbnRMaWdodEIiIFt0eXBlPUZJTFRFUl0gIFtlZmZl
Y3RzPVtbdHlwZT1ESUZGVVNFLUxJR0hUSU5HXSBbaW49IlNvdXJjZUdyYXBoaWMiXSBbc3VicmVn
aW9uPSJhdCAoMCwwKSBzaXplIDQ4MHgzNjAiXSBbc3VyZmFjZSBzY2FsZT0xMC4wMF0gW2RpZmZ1
c2UgY29uc3RhbnQ9MS4wMF0gW2tlcm5lbCB1bml0IGxlbmd0aCAwLjAwLCAwLjAwXV1dfQotS0Nh
bnZhc1Jlc291cmNlIHtpZD0iZGlzdGFudExpZ2h0QyIgW3R5cGU9RklMVEVSXSAgW2VmZmVjdHM9
W1t0eXBlPURJRkZVU0UtTElHSFRJTkddIFtpbj0iU291cmNlR3JhcGhpYyJdIFtzdWJyZWdpb249
ImF0ICgwLDApIHNpemUgNDgweDM2MCJdIFtzdXJmYWNlIHNjYWxlPTEwLjAwXSBbZGlmZnVzZSBj
b25zdGFudD0xLjAwXSBba2VybmVsIHVuaXQgbGVuZ3RoIDAuMDAsIDAuMDBdXV19Ci1LQ2FudmFz
UmVzb3VyY2Uge2lkPSJkaXN0YW50TGlnaHREIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5
cGU9RElGRlVTRS1MSUdIVElOR10gW2luPSJTb3VyY2VHcmFwaGljIl0gW3N1YnJlZ2lvbj0iYXQg
KDAsMCkgc2l6ZSA0ODB4MzYwIl0gW3N1cmZhY2Ugc2NhbGU9MTAuMDBdIFtkaWZmdXNlIGNvbnN0
YW50PTEuMDBdIFtrZXJuZWwgdW5pdCBsZW5ndGggMC4wMCwgMC4wMF1dXX0KLUtDYW52YXNSZXNv
dXJjZSB7aWQ9InBvaW50TGlnaHRBIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9RElG
RlVTRS1MSUdIVElOR10gW2luPSJTb3VyY2VHcmFwaGljIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkg
c2l6ZSA0ODB4MzYwIl0gW3N1cmZhY2Ugc2NhbGU9MTAuMDBdIFtkaWZmdXNlIGNvbnN0YW50PTEu
MDBdIFtrZXJuZWwgdW5pdCBsZW5ndGggMC4wMCwgMC4wMF1dXX0KLUtDYW52YXNSZXNvdXJjZSB7
aWQ9InBvaW50TGlnaHRCIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9RElGRlVTRS1M
SUdIVElOR10gW2luPSJTb3VyY2VHcmFwaGljIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSA0
ODB4MzYwIl0gW3N1cmZhY2Ugc2NhbGU9MTAuMDBdIFtkaWZmdXNlIGNvbnN0YW50PTEuMDBdIFtr
ZXJuZWwgdW5pdCBsZW5ndGggMC4wMCwgMC4wMF1dXX0KLUtDYW52YXNSZXNvdXJjZSB7aWQ9InBv
aW50TGlnaHRDIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9RElGRlVTRS1MSUdIVElO
R10gW2luPSJTb3VyY2VHcmFwaGljIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSA0ODB4MzYw
Il0gW3N1cmZhY2Ugc2NhbGU9MTAuMDBdIFtkaWZmdXNlIGNvbnN0YW50PTEuMDBdIFtrZXJuZWwg
dW5pdCBsZW5ndGggMC4wMCwgMC4wMF1dXX0KLUtDYW52YXNSZXNvdXJjZSB7aWQ9InBvaW50TGln
aHREIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9RElGRlVTRS1MSUdIVElOR10gW2lu
PSJTb3VyY2VHcmFwaGljIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSA0ODB4MzYwIl0gW3N1
cmZhY2Ugc2NhbGU9MTAuMDBdIFtkaWZmdXNlIGNvbnN0YW50PTEuMDBdIFtrZXJuZWwgdW5pdCBs
ZW5ndGggMC4wMCwgMC4wMF1dXX0KLUtDYW52YXNSZXNvdXJjZSB7aWQ9InNwb3RMaWdodEEiIFt0
eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1ESUZGVVNFLUxJR0hUSU5HXSBbaW49IlNvdXJj
ZUdyYXBoaWMiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDQ4MHgzNjAiXSBbc3VyZmFjZSBz
Y2FsZT0xMC4wMF0gW2RpZmZ1c2UgY29uc3RhbnQ9MS4wMF0gW2tlcm5lbCB1bml0IGxlbmd0aCAw
LjAwLCAwLjAwXV1dfQotS0NhbnZhc1Jlc291cmNlIHtpZD0ic3BvdExpZ2h0QiIgW3R5cGU9RklM
VEVSXSAgW2VmZmVjdHM9W1t0eXBlPURJRkZVU0UtTElHSFRJTkddIFtpbj0iU291cmNlR3JhcGhp
YyJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgNDgweDM2MCJdIFtzdXJmYWNlIHNjYWxlPTEw
LjAwXSBbZGlmZnVzZSBjb25zdGFudD0xLjAwXSBba2VybmVsIHVuaXQgbGVuZ3RoIDAuMDAsIDAu
MDBdXV19Ci1LQ2FudmFzUmVzb3VyY2Uge2lkPSJzcG90TGlnaHRDIiBbdHlwZT1GSUxURVJdICBb
ZWZmZWN0cz1bW3R5cGU9RElGRlVTRS1MSUdIVElOR10gW2luPSJTb3VyY2VHcmFwaGljIl0gW3N1
YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSA0ODB4MzYwIl0gW3N1cmZhY2Ugc2NhbGU9MTAuMDBdIFtk
aWZmdXNlIGNvbnN0YW50PTEuMDBdIFtrZXJuZWwgdW5pdCBsZW5ndGggMC4wMCwgMC4wMF1dXX0K
LUtDYW52YXNSZXNvdXJjZSB7aWQ9InNwb3RMaWdodEQiIFt0eXBlPUZJTFRFUl0gIFtlZmZlY3Rz
PVtbdHlwZT1ESUZGVVNFLUxJR0hUSU5HXSBbaW49IlNvdXJjZUdyYXBoaWMiXSBbc3VicmVnaW9u
PSJhdCAoMCwwKSBzaXplIDQ4MHgzNjAiXSBbc3VyZmFjZSBzY2FsZT0xMC4wMF0gW2RpZmZ1c2Ug
Y29uc3RhbnQ9MS4wMF0gW2tlcm5lbCB1bml0IGxlbmd0aCAwLjAwLCAwLjAwXV1dfQorS0NhbnZh
c1Jlc291cmNlIHtpZD0iZGlzdGFudExpZ2h0QSIgW3R5cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0
eXBlPURJRkZVU0UtTElHSFRJTkddIFtpbj0iU291cmNlR3JhcGhpYyJdIFtzdWJyZWdpb249ImF0
ICgwLDApIHNpemUgMXgxIl0gW3N1cmZhY2Ugc2NhbGU9MTAuMDBdIFtkaWZmdXNlIGNvbnN0YW50
PTEuMDBdIFtrZXJuZWwgdW5pdCBsZW5ndGggMC4wMCwgMC4wMF1dXX0KK0tDYW52YXNSZXNvdXJj
ZSB7aWQ9ImRpc3RhbnRMaWdodEIiIFt0eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1ESUZG
VVNFLUxJR0hUSU5HXSBbaW49IlNvdXJjZUdyYXBoaWMiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBz
aXplIDF4MSJdIFtzdXJmYWNlIHNjYWxlPTEwLjAwXSBbZGlmZnVzZSBjb25zdGFudD0xLjAwXSBb
a2VybmVsIHVuaXQgbGVuZ3RoIDAuMDAsIDAuMDBdXV19CitLQ2FudmFzUmVzb3VyY2Uge2lkPSJk
aXN0YW50TGlnaHRDIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9RElGRlVTRS1MSUdI
VElOR10gW2luPSJTb3VyY2VHcmFwaGljIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEi
XSBbc3VyZmFjZSBzY2FsZT0xMC4wMF0gW2RpZmZ1c2UgY29uc3RhbnQ9MS4wMF0gW2tlcm5lbCB1
bml0IGxlbmd0aCAwLjAwLCAwLjAwXV1dfQorS0NhbnZhc1Jlc291cmNlIHtpZD0iZGlzdGFudExp
Z2h0RCIgW3R5cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPURJRkZVU0UtTElHSFRJTkddIFtp
bj0iU291cmNlR3JhcGhpYyJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgMXgxIl0gW3N1cmZh
Y2Ugc2NhbGU9MTAuMDBdIFtkaWZmdXNlIGNvbnN0YW50PTEuMDBdIFtrZXJuZWwgdW5pdCBsZW5n
dGggMC4wMCwgMC4wMF1dXX0KK0tDYW52YXNSZXNvdXJjZSB7aWQ9InBvaW50TGlnaHRBIiBbdHlw
ZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9RElGRlVTRS1MSUdIVElOR10gW2luPSJTb3VyY2VH
cmFwaGljIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSBbc3VyZmFjZSBzY2FsZT0x
MC4wMF0gW2RpZmZ1c2UgY29uc3RhbnQ9MS4wMF0gW2tlcm5lbCB1bml0IGxlbmd0aCAwLjAwLCAw
LjAwXV1dfQorS0NhbnZhc1Jlc291cmNlIHtpZD0icG9pbnRMaWdodEIiIFt0eXBlPUZJTFRFUl0g
IFtlZmZlY3RzPVtbdHlwZT1ESUZGVVNFLUxJR0hUSU5HXSBbaW49IlNvdXJjZUdyYXBoaWMiXSBb
c3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDF4MSJdIFtzdXJmYWNlIHNjYWxlPTEwLjAwXSBbZGlm
ZnVzZSBjb25zdGFudD0xLjAwXSBba2VybmVsIHVuaXQgbGVuZ3RoIDAuMDAsIDAuMDBdXV19CitL
Q2FudmFzUmVzb3VyY2Uge2lkPSJwb2ludExpZ2h0QyIgW3R5cGU9RklMVEVSXSAgW2VmZmVjdHM9
W1t0eXBlPURJRkZVU0UtTElHSFRJTkddIFtpbj0iU291cmNlR3JhcGhpYyJdIFtzdWJyZWdpb249
ImF0ICgwLDApIHNpemUgMXgxIl0gW3N1cmZhY2Ugc2NhbGU9MTAuMDBdIFtkaWZmdXNlIGNvbnN0
YW50PTEuMDBdIFtrZXJuZWwgdW5pdCBsZW5ndGggMC4wMCwgMC4wMF1dXX0KK0tDYW52YXNSZXNv
dXJjZSB7aWQ9InBvaW50TGlnaHREIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9RElG
RlVTRS1MSUdIVElOR10gW2luPSJTb3VyY2VHcmFwaGljIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkg
c2l6ZSAxeDEiXSBbc3VyZmFjZSBzY2FsZT0xMC4wMF0gW2RpZmZ1c2UgY29uc3RhbnQ9MS4wMF0g
W2tlcm5lbCB1bml0IGxlbmd0aCAwLjAwLCAwLjAwXV1dfQorS0NhbnZhc1Jlc291cmNlIHtpZD0i
c3BvdExpZ2h0QSIgW3R5cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPURJRkZVU0UtTElHSFRJ
TkddIFtpbj0iU291cmNlR3JhcGhpYyJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgMXgxIl0g
W3N1cmZhY2Ugc2NhbGU9MTAuMDBdIFtkaWZmdXNlIGNvbnN0YW50PTEuMDBdIFtrZXJuZWwgdW5p
dCBsZW5ndGggMC4wMCwgMC4wMF1dXX0KK0tDYW52YXNSZXNvdXJjZSB7aWQ9InNwb3RMaWdodEIi
IFt0eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1ESUZGVVNFLUxJR0hUSU5HXSBbaW49IlNv
dXJjZUdyYXBoaWMiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDF4MSJdIFtzdXJmYWNlIHNj
YWxlPTEwLjAwXSBbZGlmZnVzZSBjb25zdGFudD0xLjAwXSBba2VybmVsIHVuaXQgbGVuZ3RoIDAu
MDAsIDAuMDBdXV19CitLQ2FudmFzUmVzb3VyY2Uge2lkPSJzcG90TGlnaHRDIiBbdHlwZT1GSUxU
RVJdICBbZWZmZWN0cz1bW3R5cGU9RElGRlVTRS1MSUdIVElOR10gW2luPSJTb3VyY2VHcmFwaGlj
Il0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSBbc3VyZmFjZSBzY2FsZT0xMC4wMF0g
W2RpZmZ1c2UgY29uc3RhbnQ9MS4wMF0gW2tlcm5lbCB1bml0IGxlbmd0aCAwLjAwLCAwLjAwXV1d
fQorS0NhbnZhc1Jlc291cmNlIHtpZD0ic3BvdExpZ2h0RCIgW3R5cGU9RklMVEVSXSAgW2VmZmVj
dHM9W1t0eXBlPURJRkZVU0UtTElHSFRJTkddIFtpbj0iU291cmNlR3JhcGhpYyJdIFtzdWJyZWdp
b249ImF0ICgwLDApIHNpemUgMXgxIl0gW3N1cmZhY2Ugc2NhbGU9MTAuMDBdIFtkaWZmdXNlIGNv
bnN0YW50PTEuMDBdIFtrZXJuZWwgdW5pdCBsZW5ndGggMC4wMCwgMC4wMF1dXX0KIGxheWVyIGF0
ICgwLDApIHNpemUgNDgweDM2MAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNDgweDM2MAog
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvVzNDLVNW
Ry0xLjEvZmlsdGVycy1nYXVzcy0wMS1iLWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3N2Zy9XM0MtU1ZHLTEuMS9maWx0ZXJzLWdhdXNzLTAxLWItZXhwZWN0ZWQu
Y2hlY2tzdW0JKHJldmlzaW9uIDI1MTczKQorKysgTGF5b3V0VGVzdHMvc3ZnL1czQy1TVkctMS4x
L2ZpbHRlcnMtZ2F1c3MtMDEtYi1leHBlY3RlZC5jaGVja3N1bQkod29ya2luZyBjb3B5KQpAQCAt
MSArMSBAQAotZjk0ZWRmMDVlMWMyNzEwMDYzMGIwNGUyZmVmMTk0ZjUKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCitiZTNiZDU2MThmZTA4YzY0NmM2ZDI5OTJlMDZiNjBmOApcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9XM0MtU1ZHLTEuMS9maWx0
ZXJzLWJsZW5kLTAxLWItZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZp
bGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcKSW5k
ZXg6IExheW91dFRlc3RzL3N2Zy9XM0MtU1ZHLTEuMS9maWx0ZXJzLWRpZmZ1c2UtMDEtZi1leHBl
Y3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5h
cnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGltYWdlL3BuZwpJbmRleDogTGF5b3V0VGVzdHMvc3Zn
L1czQy1TVkctMS4xL2ZpbHRlcnMtdGlsZS0wMS1iLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9zdmcvVzNDLVNWRy0xLjEvZmlsdGVycy10aWxlLTAxLWItZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAyNTE3MykKKysrIExheW91dFRlc3RzL3N2Zy9XM0MtU1ZHLTEuMS9maWx0
ZXJzLXRpbGUtMDEtYi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw0IEBA
Ci1LQ2FudmFzUmVzb3VyY2Uge2lkPSJmZVRpbGVGaWx0ZXIiIFt0eXBlPUZJTFRFUl0gIFtib3Vu
ZGluZyBib3g9YXQgKDExNSw0MCkgc2l6ZSAyNTB4MjUwXSBbYm91bmRpbmcgYm94IG1vZGU9MF0g
W2VmZmVjdHM9W1t0eXBlPUZMT09EXSAgW3N1YnJlZ2lvbj0iYXQgKDExNSw0MCkgc2l6ZSA1NHgx
OSJdIFtjb2xvcj0jRkYwMDAwXSBbb3BhY2l0eT0xLjAwXSwgW3R5cGU9T0ZGU0VUXSAgW3Jlc3Vs
dD0ib2Zmc2V0Il0gW3N1YnJlZ2lvbj0iYXQgKDExNSw0MCkgc2l6ZSA1MHgyNSJdIFtkeD02LjAw
IGR5PTYuMDBdLCAgW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSA0ODB4MzYwIl1dXX0KK0tDYW52
YXNSZXNvdXJjZSB7aWQ9ImZlVGlsZUZpbHRlciIgW3R5cGU9RklMVEVSXSAgW2JvdW5kaW5nIGJv
eD1hdCAoMTE1LDQwKSBzaXplIDI1MHgyNTBdIFtib3VuZGluZyBib3ggbW9kZT0wXSBbZWZmZWN0
cz1bW3R5cGU9RkxPT0RdICBbc3VicmVnaW9uPSJhdCAoMTE1LDQwKSBzaXplIDU0eDE5Il0gW2Nv
bG9yPSNGRjAwMDBdIFtvcGFjaXR5PTEuMDBdLCBbdHlwZT1PRkZTRVRdICBbcmVzdWx0PSJvZmZz
ZXQiXSBbc3VicmVnaW9uPSJhdCAoMTE1LDQwKSBzaXplIDUweDI1Il0gW2R4PTYuMDAgZHk9Ni4w
MF0sICBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDF4MSJdXV19CiBsYXllciBhdCAoMCwwKSBz
aXplIDQ4MHgzNjAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKIGxheWVyIGF0
ICgwLDApIHNpemUgNDgweDM2MApJbmRleDogTGF5b3V0VGVzdHMvc3ZnL1czQy1TVkctMS4xL2Zp
bHRlcnMtc3BlY3VsYXItMDEtZi1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxh
eTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0
aW9uL29jdGV0LXN0cmVhbQpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL1czQy1TVkctMS4xL2ZpbHRl
cnMtY29sb3ItMDEtYi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3Zn
L1czQy1TVkctMS4xL2ZpbHRlcnMtY29sb3ItMDEtYi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI1
MTczKQorKysgTGF5b3V0VGVzdHMvc3ZnL1czQy1TVkctMS4xL2ZpbHRlcnMtY29sb3ItMDEtYi1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsOCArMSw4IEBACiBLUmVuZGVyaW5nUGFp
bnRTZXJ2ZXIge2lkPSJNeUdyYWRpZW50IiBbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1b
KDAuMDAsI0REMDBERCksICgwLjMzLCMyMkNDMjIpLCAoMC42NywjNDAwMDAwKSwgKDEuMDAsI0Ew
QTBGRildXSBbYm91bmRpbmcgYm94IG1vZGU9MF0gW3N0YXJ0PSgyMCwwKV0gW2VuZD0oNzYwLDAp
XX0KLUtDYW52YXNSZXNvdXJjZSB7aWQ9Ik1hdHJpeCIgW3R5cGU9RklMVEVSXSAgW2VmZmVjdHM9
W1t0eXBlPUNPTE9SLU1BVFJJWF0gW2luPSJTb3VyY2VHcmFwaGljIl0gW3N1YnJlZ2lvbj0iYXQg
KDAsMCkgc2l6ZSA4MDB4NTAwIl0gW2NvbG9yIG1hdHJpeCB0eXBlPUNNVF9NQVRSSVhdIFt2YWx1
ZXM9WzAuMzMsIDAuMzMsIDAuMzMsIDAuMDAsIDAuMDAsIDAuMzMsIDAuMzMsIDAuMzMsIDAuMDAs
IDAuMDAsIDAuMzMsIDAuMzMsIDAuMzMsIDAuMDAsIDAuMDAsIDAuMzMsIDAuMzMsIDAuMzMsIDAu
MDAsIDAuMDBdXV1dfQotS0NhbnZhc1Jlc291cmNlIHtpZD0iU2F0dXJhdGU0MCIgW3R5cGU9RklM
VEVSXSAgW2JvdW5kaW5nIGJveD1hdCAoLTUuMDAlLC01LjAwJSkgc2l6ZSAxMTAuMDAleDExMC4w
MCVdIFtlZmZlY3RzPVtbdHlwZT1DT0xPUi1NQVRSSVhdIFtpbj0iU291cmNlR3JhcGhpYyJdIFtz
dWJyZWdpb249ImF0ICgwLDApIHNpemUgODAweDUwMCJdIFtjb2xvciBtYXRyaXggdHlwZT1DTVRf
U0FUVVJBVEVdIFt2YWx1ZXM9WzAuMjVdXV1dfQotS0NhbnZhc1Jlc291cmNlIHtpZD0iSHVlUm90
YXRlOTAiIFt0eXBlPUZJTFRFUl0gIFtib3VuZGluZyBib3g9YXQgKC01LjAwJSwtNS4wMCUpIHNp
emUgMTEwLjAwJXgxMTAuMDAlXSBbZWZmZWN0cz1bW3R5cGU9Q09MT1ItTUFUUklYXSBbaW49IlNv
dXJjZUdyYXBoaWMiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDgwMHg1MDAiXSBbY29sb3Ig
bWF0cml4IHR5cGU9SFVFLVJPVEFURV0gW3ZhbHVlcz1bOTAuMDBdXV1dfQotS0NhbnZhc1Jlc291
cmNlIHtpZD0iTHVtaW5hbmNlVG9BbHBoYSIgW3R5cGU9RklMVEVSXSAgW2JvdW5kaW5nIGJveD1h
dCAoLTUuMDAlLC01LjAwJSkgc2l6ZSAxMTAuMDAleDExMC4wMCVdIFtlZmZlY3RzPVtbdHlwZT1D
T0xPUi1NQVRSSVhdIFtpbj0iU291cmNlR3JhcGhpYyJdIFtyZXN1bHQ9ImEiXSBbc3VicmVnaW9u
PSJhdCAoMCwwKSBzaXplIDgwMHg1MDAiXSBbY29sb3IgbWF0cml4IHR5cGU9TFVNSU5BTkNFLVRP
LUFMUEhBXSBbdmFsdWVzPVtdXSwgW3R5cGU9Q09NUE9TSVRFXSBbaW49IlNvdXJjZUdyYXBoaWMi
XSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDgwMHg1MDAiXSBbaW4yPSJhIl0gW2sxPTAuMDAg
azI9MC4wMCBrMz0wLjAwIGs0PTAuMDBdXV19CitLQ2FudmFzUmVzb3VyY2Uge2lkPSJNYXRyaXgi
IFt0eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1DT0xPUi1NQVRSSVhdIFtpbj0iU291cmNl
R3JhcGhpYyJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgMXgxIl0gW2NvbG9yIG1hdHJpeCB0
eXBlPUNNVF9NQVRSSVhdIFt2YWx1ZXM9WzAuMzMsIDAuMzMsIDAuMzMsIDAuMDAsIDAuMDAsIDAu
MzMsIDAuMzMsIDAuMzMsIDAuMDAsIDAuMDAsIDAuMzMsIDAuMzMsIDAuMzMsIDAuMDAsIDAuMDAs
IDAuMzMsIDAuMzMsIDAuMzMsIDAuMDAsIDAuMDBdXV1dfQorS0NhbnZhc1Jlc291cmNlIHtpZD0i
U2F0dXJhdGU0MCIgW3R5cGU9RklMVEVSXSAgW2JvdW5kaW5nIGJveD1hdCAoLTUuMDAlLC01LjAw
JSkgc2l6ZSAxMTAuMDAleDExMC4wMCVdIFtlZmZlY3RzPVtbdHlwZT1DT0xPUi1NQVRSSVhdIFtp
bj0iU291cmNlR3JhcGhpYyJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgMXgxIl0gW2NvbG9y
IG1hdHJpeCB0eXBlPUNNVF9TQVRVUkFURV0gW3ZhbHVlcz1bMC4yNV1dXV19CitLQ2FudmFzUmVz
b3VyY2Uge2lkPSJIdWVSb3RhdGU5MCIgW3R5cGU9RklMVEVSXSAgW2JvdW5kaW5nIGJveD1hdCAo
LTUuMDAlLC01LjAwJSkgc2l6ZSAxMTAuMDAleDExMC4wMCVdIFtlZmZlY3RzPVtbdHlwZT1DT0xP
Ui1NQVRSSVhdIFtpbj0iU291cmNlR3JhcGhpYyJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUg
MXgxIl0gW2NvbG9yIG1hdHJpeCB0eXBlPUhVRS1ST1RBVEVdIFt2YWx1ZXM9WzkwLjAwXV1dXX0K
K0tDYW52YXNSZXNvdXJjZSB7aWQ9Ikx1bWluYW5jZVRvQWxwaGEiIFt0eXBlPUZJTFRFUl0gIFti
b3VuZGluZyBib3g9YXQgKC01LjAwJSwtNS4wMCUpIHNpemUgMTEwLjAwJXgxMTAuMDAlXSBbZWZm
ZWN0cz1bW3R5cGU9Q09MT1ItTUFUUklYXSBbaW49IlNvdXJjZUdyYXBoaWMiXSBbcmVzdWx0PSJh
Il0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSBbY29sb3IgbWF0cml4IHR5cGU9TFVN
SU5BTkNFLVRPLUFMUEhBXSBbdmFsdWVzPVtdXSwgW3R5cGU9Q09NUE9TSVRFXSBbaW49IlNvdXJj
ZUdyYXBoaWMiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDF4MSJdIFtpbjI9ImEiXSBbazE9
MC4wMCBrMj0wLjAwIGszPTAuMDAgazQ9MC4wMF1dXX0KIGxheWVyIGF0ICgwLDApIHNpemUgNDgw
eDM2MAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNDgweDM2MAogbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA0ODB4MzYwCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvVzNDLVNWRy0xLjEvZmlsdGVycy1j
b2xvci0wMS1iLWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2
Zy9XM0MtU1ZHLTEuMS9maWx0ZXJzLWNvbG9yLTAxLWItZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlz
aW9uIDI1MTczKQorKysgTGF5b3V0VGVzdHMvc3ZnL1czQy1TVkctMS4xL2ZpbHRlcnMtY29sb3It
MDEtYi1leHBlY3RlZC5jaGVja3N1bQkod29ya2luZyBjb3B5KQpAQCAtMSArMSBAQAotZGZkMTQ5
ZWYyYTA4NWUzOWRhNDY0MDgxZTY2NWY2ZDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCisx
Y2Y1ZjM2YjEzZjAxMTBmNmI0OGQ2OWE5ZDA1MWU5YwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9XM0MtU1ZHLTEuMS9maWx0ZXJzLWNvbXB0cmFuLTAx
LWItZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL1czQy1T
VkctMS4xL2ZpbHRlcnMtY29tcHRyYW4tMDEtYi1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24g
MjUxNzMpCisrKyBMYXlvdXRUZXN0cy9zdmcvVzNDLVNWRy0xLjEvZmlsdGVycy1jb21wdHJhbi0w
MS1iLWV4cGVjdGVkLmNoZWNrc3VtCSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi0yOTdjNmQ4
NDczOGYyYjNhOTFjMzUzMmZkYzY3OTcxNQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzIy
NTlkY2ZkY2FkZDU1NzRkNGZjNWY0YWQxOTMwNjRjClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL1czQy1TVkctMS4xL2ZpbHRlcnMtb2Zmc2V0LTAxLWIt
ZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEg
YmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcKSW5kZXg6IExheW91dFRlc3Rz
L3N2Zy9XM0MtU1ZHLTEuMS9maWx0ZXJzLWNvbXB0cmFuLTAxLWItZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9XM0MtU1ZHLTEuMS9maWx0ZXJzLWNvbXB0cmFuLTAx
LWItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNTE3MykKKysrIExheW91dFRlc3RzL3N2Zy9XM0Mt
U1ZHLTEuMS9maWx0ZXJzLWNvbXB0cmFuLTAxLWItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDggKzEsOCBAQAogS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iTXlHcmFkaWVudCIg
W3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNGRjAwMDApLCAoMC4zMywjMDBG
RjAwKSwgKDAuNjcsIzAwMDBGRiksICgxLjAwLCMwMDAwMDApXV0gW2JvdW5kaW5nIGJveCBtb2Rl
PTBdIFtzdGFydD0oMTAsMCldIFtlbmQ9KDU5MCwwKV19Ci1LQ2FudmFzUmVzb3VyY2Uge2lkPSJJ
ZGVudGl0eSIgW3R5cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPUNPTVBPTkVOVC1UUkFOU0ZF
Ul0gIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgNjMweDQyMCJdIFtyZWQgZnVuYz1bdHlwZT1J
REVOVElUWV1dIFtncmVlbiBmdW5jPVt0eXBlPUlERU5USVRZXV0gW2JsdWUgZnVuYz1bdHlwZT1J
REVOVElUWV1dIFthbHBoYSBmdW5jPVt0eXBlPUlERU5USVRZXV1dXX0KLUtDYW52YXNSZXNvdXJj
ZSB7aWQ9IlRhYmxlIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9Q09NUE9ORU5ULVRS
QU5TRkVSXSAgW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSA2MzB4NDIwIl0gW3JlZCBmdW5jPVt0
eXBlPVRBQkxFXSBbdGFibGUgdmFsdWVzPTAuMDAgMC4wMCAxLjAwIDEuMDBdXSBbZ3JlZW4gZnVu
Yz1bdHlwZT1UQUJMRV0gW3RhYmxlIHZhbHVlcz0xLjAwIDEuMDAgMC4wMCAwLjAwXV0gW2JsdWUg
ZnVuYz1bdHlwZT1UQUJMRV0gW3RhYmxlIHZhbHVlcz0wLjAwIDEuMDAgMS4wMCAwLjAwXV0gW2Fs
cGhhIGZ1bmM9W3R5cGU9SURFTlRJVFldXV1dfQotS0NhbnZhc1Jlc291cmNlIHtpZD0iTGluZWFy
IiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9Q09NUE9ORU5ULVRSQU5TRkVSXSAgW3N1
YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSA2MzB4NDIwIl0gW3JlZCBmdW5jPVt0eXBlPUxJTkVBUl0g
W3Nsb3BlPTAuNTBdIFtpbnRlcmNlcHQ9MC4yNV1dIFtncmVlbiBmdW5jPVt0eXBlPUxJTkVBUl0g
W3Nsb3BlPTAuNTBdIFtpbnRlcmNlcHQ9MC4wMF1dIFtibHVlIGZ1bmM9W3R5cGU9TElORUFSXSBb
c2xvcGU9MC41MF0gW2ludGVyY2VwdD0wLjUwXV0gW2FscGhhIGZ1bmM9W3R5cGU9SURFTlRJVFld
XV1dfQotS0NhbnZhc1Jlc291cmNlIHtpZD0iR2FtbWEiIFt0eXBlPUZJTFRFUl0gIFtlZmZlY3Rz
PVtbdHlwZT1DT01QT05FTlQtVFJBTlNGRVJdICBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDYz
MHg0MjAiXSBbcmVkIGZ1bmM9W3R5cGU9R0FNTUFdIFthbXBsaXR1ZGU9Mi4wMF0gW2V4cG9uZW50
PTUuMDBdIFtvZmZzZXQ9MC4wMF1dIFtncmVlbiBmdW5jPVt0eXBlPUdBTU1BXSBbYW1wbGl0dWRl
PTIuMDBdIFtleHBvbmVudD0zLjAwXSBbb2Zmc2V0PTAuMDBdXSBbYmx1ZSBmdW5jPVt0eXBlPUdB
TU1BXSBbYW1wbGl0dWRlPTIuMDBdIFtleHBvbmVudD0xLjAwXSBbb2Zmc2V0PTAuMDBdXSBbYWxw
aGEgZnVuYz1bdHlwZT1JREVOVElUWV1dXV19CitLQ2FudmFzUmVzb3VyY2Uge2lkPSJJZGVudGl0
eSIgW3R5cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPUNPTVBPTkVOVC1UUkFOU0ZFUl0gIFtz
dWJyZWdpb249ImF0ICgwLDApIHNpemUgMXgxIl0gW3JlZCBmdW5jPVt0eXBlPUlERU5USVRZXV0g
W2dyZWVuIGZ1bmM9W3R5cGU9SURFTlRJVFldXSBbYmx1ZSBmdW5jPVt0eXBlPUlERU5USVRZXV0g
W2FscGhhIGZ1bmM9W3R5cGU9SURFTlRJVFldXV1dfQorS0NhbnZhc1Jlc291cmNlIHtpZD0iVGFi
bGUiIFt0eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1DT01QT05FTlQtVFJBTlNGRVJdICBb
c3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDF4MSJdIFtyZWQgZnVuYz1bdHlwZT1UQUJMRV0gW3Rh
YmxlIHZhbHVlcz0wLjAwIDAuMDAgMS4wMCAxLjAwXV0gW2dyZWVuIGZ1bmM9W3R5cGU9VEFCTEVd
IFt0YWJsZSB2YWx1ZXM9MS4wMCAxLjAwIDAuMDAgMC4wMF1dIFtibHVlIGZ1bmM9W3R5cGU9VEFC
TEVdIFt0YWJsZSB2YWx1ZXM9MC4wMCAxLjAwIDEuMDAgMC4wMF1dIFthbHBoYSBmdW5jPVt0eXBl
PVVOS05PV05dXV1dfQorS0NhbnZhc1Jlc291cmNlIHtpZD0iTGluZWFyIiBbdHlwZT1GSUxURVJd
ICBbZWZmZWN0cz1bW3R5cGU9Q09NUE9ORU5ULVRSQU5TRkVSXSAgW3N1YnJlZ2lvbj0iYXQgKDAs
MCkgc2l6ZSAxeDEiXSBbcmVkIGZ1bmM9W3R5cGU9TElORUFSXSBbc2xvcGU9MC41MF0gW2ludGVy
Y2VwdD0wLjI1XV0gW2dyZWVuIGZ1bmM9W3R5cGU9TElORUFSXSBbc2xvcGU9MC41MF0gW2ludGVy
Y2VwdD0wLjAwXV0gW2JsdWUgZnVuYz1bdHlwZT1MSU5FQVJdIFtzbG9wZT0wLjUwXSBbaW50ZXJj
ZXB0PTAuNTBdXSBbYWxwaGEgZnVuYz1bdHlwZT1VTktOT1dOXV1dXX0KK0tDYW52YXNSZXNvdXJj
ZSB7aWQ9IkdhbW1hIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9Q09NUE9ORU5ULVRS
QU5TRkVSXSAgW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSBbcmVkIGZ1bmM9W3R5cGU9
R0FNTUFdIFthbXBsaXR1ZGU9Mi4wMF0gW2V4cG9uZW50PTUuMDBdIFtvZmZzZXQ9MC4wMF1dIFtn
cmVlbiBmdW5jPVt0eXBlPUdBTU1BXSBbYW1wbGl0dWRlPTIuMDBdIFtleHBvbmVudD0zLjAwXSBb
b2Zmc2V0PTAuMDBdXSBbYmx1ZSBmdW5jPVt0eXBlPUdBTU1BXSBbYW1wbGl0dWRlPTIuMDBdIFtl
eHBvbmVudD0xLjAwXSBbb2Zmc2V0PTAuMDBdXSBbYWxwaGEgZnVuYz1bdHlwZT1VTktOT1dOXV1d
XX0KIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNp
emUgNDgweDM2MAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCkluZGV4OiBMYXlvdXRUZXN0
cy9zdmcvVzNDLVNWRy0xLjEvZmlsdGVycy1kaXNwbGFjZS0wMS1mLWV4cGVjdGVkLmNoZWNrc3Vt
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9XM0MtU1ZHLTEuMS9maWx0ZXJzLWRpc3Bs
YWNlLTAxLWYtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDI1MTczKQorKysgTGF5b3V0VGVz
dHMvc3ZnL1czQy1TVkctMS4xL2ZpbHRlcnMtZGlzcGxhY2UtMDEtZi1leHBlY3RlZC5jaGVja3N1
bQkod29ya2luZyBjb3B5KQpAQCAtMSArMSBAQAotNThjYzFmYjY2ODA1NjI3OGM1MGI3MTY3MzUw
MDM5ODIKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis4ZWE1YjFhMTY0Mjg2YmE4YjlhZDQ1
YWRmYWFlMDk3YwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3Rz
L3N2Zy9XM0MtU1ZHLTEuMS9maWx0ZXJzLWRpZmZ1c2UtMDEtZi1leHBlY3RlZC5jaGVja3N1bQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvVzNDLVNWRy0xLjEvZmlsdGVycy1kaWZmdXNl
LTAxLWYtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDI1MTczKQorKysgTGF5b3V0VGVzdHMv
c3ZnL1czQy1TVkctMS4xL2ZpbHRlcnMtZGlmZnVzZS0wMS1mLWV4cGVjdGVkLmNoZWNrc3VtCSh3
b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi1kNDQ3MmNlM2Y4OGUwZDNjOTcwNGNkMmExM2JmZTVk
MgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2YyNjgyMDQwYWJjYzExZWM4N2FiODJjNGM2
YmI2MDlkClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvc3Zn
L1czQy1TVkctMS4xL2ZpbHRlcnMtaW1hZ2UtMDEtYi1leHBlY3RlZC5wbmcKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpD
YW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlw
ZSA9IGltYWdlL3BuZwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL1czQy1TVkctMS4xL2ZpbHRlcnMt
bGlnaHQtMDEtZi1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9z
dmcvVzNDLVNWRy0xLjEvZmlsdGVycy1saWdodC0wMS1mLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZp
c2lvbiAyNTE3MykKKysrIExheW91dFRlc3RzL3N2Zy9XM0MtU1ZHLTEuMS9maWx0ZXJzLWxpZ2h0
LTAxLWYtZXhwZWN0ZWQuY2hlY2tzdW0JKHdvcmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLTAwY2Zk
MjViNGFjZTljNDQ2MDY0ODQ5YmQ0Y2FiZWRhClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQor
MDc1MzcxZDcyMDViMTgxYjkyMmQ5MTNmNjM4MzBlNTgKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvVzNDLVNWRy0xLjEvZmlsdGVycy1leGFtcGxlLTAx
LWItZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL1czQy1T
VkctMS4xL2ZpbHRlcnMtZXhhbXBsZS0wMS1iLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAy
NTE3MykKKysrIExheW91dFRlc3RzL3N2Zy9XM0MtU1ZHLTEuMS9maWx0ZXJzLWV4YW1wbGUtMDEt
Yi1leHBlY3RlZC5jaGVja3N1bQkod29ya2luZyBjb3B5KQpAQCAtMSArMSBAQAotOGFkYmUyNzAw
MzcyNTY2ZTU1Mzc5NmY4NTRjZjkwYjYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis1NDc0
ODA2Zjk3OGY3MjUxNmYwNDRkYmZhNDA2NzZiNwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
SW5kZXg6IExheW91dFRlc3RzL3N2Zy9XM0MtU1ZHLTEuMS9maWx0ZXJzLWJsZW5kLTAxLWItZXhw
ZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL1czQy1TVkctMS4x
L2ZpbHRlcnMtYmxlbmQtMDEtYi1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMjUxNzMpCisr
KyBMYXlvdXRUZXN0cy9zdmcvVzNDLVNWRy0xLjEvZmlsdGVycy1ibGVuZC0wMS1iLWV4cGVjdGVk
LmNoZWNrc3VtCSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi1kMWMyZjJhMmIyMzJlMzY4ZTBi
ZjE4ZTA5ZDFhZDNiZApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzJlYmI0NzY1MmFmNWZl
NzMzMDgyYzYzZDUzZDhmYjIyClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5
b3V0VGVzdHMvc3ZnL1czQy1TVkctMS4xL2ZpbHRlcnMtYmxlbmQtMDEtYi1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL1czQy1TVkctMS4xL2ZpbHRlcnMtYmxlbmQt
MDEtYi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI1MTczKQorKysgTGF5b3V0VGVzdHMvc3ZnL1cz
Qy1TVkctMS4xL2ZpbHRlcnMtYmxlbmQtMDEtYi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTEsOCArMSw4IEBACi1LQ2FudmFzUmVzb3VyY2Uge2lkPSJCbGVuZE5vcm1hbCIgW3R5cGU9
RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPUZMT09EXSBbaW49IkJhY2tncm91bmRBbHBoYSJdIFty
ZXN1bHQ9ImltZzEiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDE2MHgxMjAiXSBbY29sb3I9
IzAwRkYwMF0gW29wYWNpdHk9MC41MF0sIFt0eXBlPUJMRU5EXSBbaW49IlNvdXJjZUdyYXBoaWMi
XSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDE2MHgxMjAiXSBbaW4yPSJpbWcxIl0gW2JsZW5k
IG1vZGU9Tk9STUFMXV1dfQotS0NhbnZhc1Jlc291cmNlIHtpZD0iQmxlbmRNdWx0aXBseSIgW3R5
cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPUZMT09EXSBbaW49IlNvdXJjZUdyYXBoaWMiXSBb
cmVzdWx0PSJpbWcyIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxNjB4MTIwIl0gW2NvbG9y
PSMwMEZGMDBdIFtvcGFjaXR5PTAuNTBdLCBbdHlwZT1CTEVORF0gW2luPSJTb3VyY2VHcmFwaGlj
Il0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxNjB4MTIwIl0gW2luMj0iaW1nMiJdIFtibGVu
ZCBtb2RlPU1VTFRJUExZXV1dfQotS0NhbnZhc1Jlc291cmNlIHtpZD0iQmxlbmRTY3JlZW4iIFt0
eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1GTE9PRF0gW2luPSJTb3VyY2VHcmFwaGljIl0g
W3Jlc3VsdD0iaW1nMiJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgMTYweDEyMCJdIFtjb2xv
cj0jMDBGRjAwXSBbb3BhY2l0eT0wLjUwXSwgW3R5cGU9QkxFTkRdIFtpbj0iU291cmNlR3JhcGhp
YyJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgMTYweDEyMCJdIFtpbjI9ImltZzIiXSBbYmxl
bmQgbW9kZT1TQ1JFRU5dXV19Ci1LQ2FudmFzUmVzb3VyY2Uge2lkPSJCbGVuZERhcmtlbiIgW3R5
cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPUZMT09EXSBbaW49IlNvdXJjZUdyYXBoaWMiXSBb
cmVzdWx0PSJpbWcyIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxNjB4MTIwIl0gW2NvbG9y
PSMwMEZGMDBdIFtvcGFjaXR5PTAuNTBdLCBbdHlwZT1CTEVORF0gW2luPSJTb3VyY2VHcmFwaGlj
Il0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxNjB4MTIwIl0gW2luMj0iaW1nMiJdIFtibGVu
ZCBtb2RlPURBUktFTl1dXX0KLUtDYW52YXNSZXNvdXJjZSB7aWQ9IkJsZW5kTGlnaHRlbiIgW3R5
cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPUZMT09EXSBbaW49IlNvdXJjZUdyYXBoaWMiXSBb
cmVzdWx0PSJpbWcyIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxNjB4MTIwIl0gW2NvbG9y
PSMwMEZGMDBdIFtvcGFjaXR5PTAuNTBdLCBbdHlwZT1CTEVORF0gW2luPSJTb3VyY2VHcmFwaGlj
Il0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxNjB4MTIwIl0gW2luMj0iaW1nMiJdIFtibGVu
ZCBtb2RlPUxJR0hURU5dXV19CitLQ2FudmFzUmVzb3VyY2Uge2lkPSJCbGVuZE5vcm1hbCIgW3R5
cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPUZMT09EXSBbaW49IkJhY2tncm91bmRBbHBoYSJd
IFtyZXN1bHQ9ImltZzEiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDF4MSJdIFtjb2xvcj0j
MDBGRjAwXSBbb3BhY2l0eT0wLjUwXSwgW3R5cGU9QkxFTkRdIFtpbj0iU291cmNlR3JhcGhpYyJd
IFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgMXgxIl0gW2luMj0iaW1nMSJdIFtibGVuZCBtb2Rl
PU5PUk1BTF1dXX0KK0tDYW52YXNSZXNvdXJjZSB7aWQ9IkJsZW5kTXVsdGlwbHkiIFt0eXBlPUZJ
TFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1GTE9PRF0gW2luPSJTb3VyY2VHcmFwaGljIl0gW3Jlc3Vs
dD0iaW1nMiJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgMXgxIl0gW2NvbG9yPSMwMEZGMDBd
IFtvcGFjaXR5PTAuNTBdLCBbdHlwZT1CTEVORF0gW2luPSJTb3VyY2VHcmFwaGljIl0gW3N1YnJl
Z2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSBbaW4yPSJpbWcyIl0gW2JsZW5kIG1vZGU9TVVMVElQ
TFldXV19CitLQ2FudmFzUmVzb3VyY2Uge2lkPSJCbGVuZFNjcmVlbiIgW3R5cGU9RklMVEVSXSAg
W2VmZmVjdHM9W1t0eXBlPUZMT09EXSBbaW49IlNvdXJjZUdyYXBoaWMiXSBbcmVzdWx0PSJpbWcy
Il0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSBbY29sb3I9IzAwRkYwMF0gW29wYWNp
dHk9MC41MF0sIFt0eXBlPUJMRU5EXSBbaW49IlNvdXJjZUdyYXBoaWMiXSBbc3VicmVnaW9uPSJh
dCAoMCwwKSBzaXplIDF4MSJdIFtpbjI9ImltZzIiXSBbYmxlbmQgbW9kZT1TQ1JFRU5dXV19CitL
Q2FudmFzUmVzb3VyY2Uge2lkPSJCbGVuZERhcmtlbiIgW3R5cGU9RklMVEVSXSAgW2VmZmVjdHM9
W1t0eXBlPUZMT09EXSBbaW49IlNvdXJjZUdyYXBoaWMiXSBbcmVzdWx0PSJpbWcyIl0gW3N1YnJl
Z2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSBbY29sb3I9IzAwRkYwMF0gW29wYWNpdHk9MC41MF0s
IFt0eXBlPUJMRU5EXSBbaW49IlNvdXJjZUdyYXBoaWMiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBz
aXplIDF4MSJdIFtpbjI9ImltZzIiXSBbYmxlbmQgbW9kZT1EQVJLRU5dXV19CitLQ2FudmFzUmVz
b3VyY2Uge2lkPSJCbGVuZExpZ2h0ZW4iIFt0eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1G
TE9PRF0gW2luPSJTb3VyY2VHcmFwaGljIl0gW3Jlc3VsdD0iaW1nMiJdIFtzdWJyZWdpb249ImF0
ICgwLDApIHNpemUgMXgxIl0gW2NvbG9yPSMwMEZGMDBdIFtvcGFjaXR5PTAuNTBdLCBbdHlwZT1C
TEVORF0gW2luPSJTb3VyY2VHcmFwaGljIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEi
XSBbaW4yPSJpbWcyIl0gW2JsZW5kIG1vZGU9TElHSFRFTl1dXX0KIGxheWVyIGF0ICgwLDApIHNp
emUgNDgweDM2MAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNDgweDM2MAogbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA0ODB4MzYwCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvVzNDLVNWRy0xLjEvZmls
dGVycy1pbWFnZS0wMS1iLWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3N2Zy9XM0MtU1ZHLTEuMS9maWx0ZXJzLWltYWdlLTAxLWItZXhwZWN0ZWQuY2hlY2tzdW0J
KHJldmlzaW9uIDI1MTczKQorKysgTGF5b3V0VGVzdHMvc3ZnL1czQy1TVkctMS4xL2ZpbHRlcnMt
aW1hZ2UtMDEtYi1leHBlY3RlZC5jaGVja3N1bQkod29ya2luZyBjb3B5KQpAQCAtMSArMSBAQAot
Y2YyMzI1NGQ0ODYxZDUyODcwZWNiOGMwNGU2OGVjNGEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCisxY2ZlODU5ODVmYjFkYThjNzI1NmE5MmQ5MTk4OGQ5NwpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9XM0MtU1ZHLTEuMS9maWx0ZXJzLWRpZmZ1
c2UtMDEtZi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL1czQy1T
VkctMS4xL2ZpbHRlcnMtZGlmZnVzZS0wMS1mLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjUxNzMp
CisrKyBMYXlvdXRUZXN0cy9zdmcvVzNDLVNWRy0xLjEvZmlsdGVycy1kaWZmdXNlLTAxLWYtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDEyICsxLDEyIEBACi1LQ2FudmFzUmVzb3Vy
Y2Uge2lkPSJzdXJmYWNlU2NhbGVBIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9RElG
RlVTRS1MSUdIVElOR10gW2luPSJTb3VyY2VHcmFwaGljIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkg
c2l6ZSA0ODB4MzYwIl0gW3N1cmZhY2Ugc2NhbGU9MS4wMF0gW2RpZmZ1c2UgY29uc3RhbnQ9MS4w
MF0gW2tlcm5lbCB1bml0IGxlbmd0aCAwLjAwLCAwLjAwXV1dfQotS0NhbnZhc1Jlc291cmNlIHtp
ZD0ic3VyZmFjZVNjYWxlQiIgW3R5cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPURJRkZVU0Ut
TElHSFRJTkddIFtpbj0iU291cmNlR3JhcGhpYyJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUg
NDgweDM2MCJdIFtzdXJmYWNlIHNjYWxlPTEwLjAwXSBbZGlmZnVzZSBjb25zdGFudD0xLjAwXSBb
a2VybmVsIHVuaXQgbGVuZ3RoIDAuMDAsIDAuMDBdXV19Ci1LQ2FudmFzUmVzb3VyY2Uge2lkPSJz
dXJmYWNlU2NhbGVDIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9RElGRlVTRS1MSUdI
VElOR10gW2luPSJTb3VyY2VHcmFwaGljIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSA0ODB4
MzYwIl0gW3N1cmZhY2Ugc2NhbGU9LTEwLjAwXSBbZGlmZnVzZSBjb25zdGFudD0xLjAwXSBba2Vy
bmVsIHVuaXQgbGVuZ3RoIDAuMDAsIDAuMDBdXV19Ci1LQ2FudmFzUmVzb3VyY2Uge2lkPSJkaWZm
dXNlQ29uc3RhbnRBIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9RElGRlVTRS1MSUdI
VElOR10gW2luPSJTb3VyY2VHcmFwaGljIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSA0ODB4
MzYwIl0gW3N1cmZhY2Ugc2NhbGU9MTAuMDBdIFtkaWZmdXNlIGNvbnN0YW50PTAuMDBdIFtrZXJu
ZWwgdW5pdCBsZW5ndGggMC4wMCwgMC4wMF1dXX0KLUtDYW52YXNSZXNvdXJjZSB7aWQ9ImRpZmZ1
c2VDb25zdGFudEIiIFt0eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1ESUZGVVNFLUxJR0hU
SU5HXSBbaW49IlNvdXJjZUdyYXBoaWMiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDQ4MHgz
NjAiXSBbc3VyZmFjZSBzY2FsZT0xMC4wMF0gW2RpZmZ1c2UgY29uc3RhbnQ9MS4wMF0gW2tlcm5l
bCB1bml0IGxlbmd0aCAwLjAwLCAwLjAwXV1dfQotS0NhbnZhc1Jlc291cmNlIHtpZD0iZGlmZnVz
ZUNvbnN0YW50QyIgW3R5cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPURJRkZVU0UtTElHSFRJ
TkddIFtpbj0iU291cmNlR3JhcGhpYyJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgNDgweDM2
MCJdIFtzdXJmYWNlIHNjYWxlPTEwLjAwXSBbZGlmZnVzZSBjb25zdGFudD0yLjAwXSBba2VybmVs
IHVuaXQgbGVuZ3RoIDAuMDAsIDAuMDBdXV19Ci1LQ2FudmFzUmVzb3VyY2Uge2lkPSJsaWdodGlu
Z0NvbG9yQSIgW3R5cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPURJRkZVU0UtTElHSFRJTkdd
IFtpbj0iU291cmNlR3JhcGhpYyJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgNDgweDM2MCJd
IFtzdXJmYWNlIHNjYWxlPTEwLjAwXSBbZGlmZnVzZSBjb25zdGFudD0xLjAwXSBba2VybmVsIHVu
aXQgbGVuZ3RoIDAuMDAsIDAuMDBdXV19Ci1LQ2FudmFzUmVzb3VyY2Uge2lkPSJsaWdodGluZ0Nv
bG9yQiIgW3R5cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPURJRkZVU0UtTElHSFRJTkddIFtp
bj0iU291cmNlR3JhcGhpYyJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgNDgweDM2MCJdIFtz
dXJmYWNlIHNjYWxlPTEwLjAwXSBbZGlmZnVzZSBjb25zdGFudD0xLjAwXSBba2VybmVsIHVuaXQg
bGVuZ3RoIDAuMDAsIDAuMDBdXV19Ci1LQ2FudmFzUmVzb3VyY2Uge2lkPSJsaWdodGluZ0NvbG9y
QyIgW3R5cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPURJRkZVU0UtTElHSFRJTkddIFtpbj0i
U291cmNlR3JhcGhpYyJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgNDgweDM2MCJdIFtzdXJm
YWNlIHNjYWxlPTEwLjAwXSBbZGlmZnVzZSBjb25zdGFudD0xLjAwXSBba2VybmVsIHVuaXQgbGVu
Z3RoIDAuMDAsIDAuMDBdXV19CitLQ2FudmFzUmVzb3VyY2Uge2lkPSJzdXJmYWNlU2NhbGVBIiBb
dHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9RElGRlVTRS1MSUdIVElOR10gW2luPSJTb3Vy
Y2VHcmFwaGljIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSBbc3VyZmFjZSBzY2Fs
ZT0xLjAwXSBbZGlmZnVzZSBjb25zdGFudD0xLjAwXSBba2VybmVsIHVuaXQgbGVuZ3RoIDAuMDAs
IDAuMDBdXV19CitLQ2FudmFzUmVzb3VyY2Uge2lkPSJzdXJmYWNlU2NhbGVCIiBbdHlwZT1GSUxU
RVJdICBbZWZmZWN0cz1bW3R5cGU9RElGRlVTRS1MSUdIVElOR10gW2luPSJTb3VyY2VHcmFwaGlj
Il0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSBbc3VyZmFjZSBzY2FsZT0xMC4wMF0g
W2RpZmZ1c2UgY29uc3RhbnQ9MS4wMF0gW2tlcm5lbCB1bml0IGxlbmd0aCAwLjAwLCAwLjAwXV1d
fQorS0NhbnZhc1Jlc291cmNlIHtpZD0ic3VyZmFjZVNjYWxlQyIgW3R5cGU9RklMVEVSXSAgW2Vm
ZmVjdHM9W1t0eXBlPURJRkZVU0UtTElHSFRJTkddIFtpbj0iU291cmNlR3JhcGhpYyJdIFtzdWJy
ZWdpb249ImF0ICgwLDApIHNpemUgMXgxIl0gW3N1cmZhY2Ugc2NhbGU9LTEwLjAwXSBbZGlmZnVz
ZSBjb25zdGFudD0xLjAwXSBba2VybmVsIHVuaXQgbGVuZ3RoIDAuMDAsIDAuMDBdXV19CitLQ2Fu
dmFzUmVzb3VyY2Uge2lkPSJkaWZmdXNlQ29uc3RhbnRBIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0
cz1bW3R5cGU9RElGRlVTRS1MSUdIVElOR10gW2luPSJTb3VyY2VHcmFwaGljIl0gW3N1YnJlZ2lv
bj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSBbc3VyZmFjZSBzY2FsZT0xMC4wMF0gW2RpZmZ1c2UgY29u
c3RhbnQ9MC4wMF0gW2tlcm5lbCB1bml0IGxlbmd0aCAwLjAwLCAwLjAwXV1dfQorS0NhbnZhc1Jl
c291cmNlIHtpZD0iZGlmZnVzZUNvbnN0YW50QiIgW3R5cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0
eXBlPURJRkZVU0UtTElHSFRJTkddIFtpbj0iU291cmNlR3JhcGhpYyJdIFtzdWJyZWdpb249ImF0
ICgwLDApIHNpemUgMXgxIl0gW3N1cmZhY2Ugc2NhbGU9MTAuMDBdIFtkaWZmdXNlIGNvbnN0YW50
PTEuMDBdIFtrZXJuZWwgdW5pdCBsZW5ndGggMC4wMCwgMC4wMF1dXX0KK0tDYW52YXNSZXNvdXJj
ZSB7aWQ9ImRpZmZ1c2VDb25zdGFudEMiIFt0eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1E
SUZGVVNFLUxJR0hUSU5HXSBbaW49IlNvdXJjZUdyYXBoaWMiXSBbc3VicmVnaW9uPSJhdCAoMCww
KSBzaXplIDF4MSJdIFtzdXJmYWNlIHNjYWxlPTEwLjAwXSBbZGlmZnVzZSBjb25zdGFudD0yLjAw
XSBba2VybmVsIHVuaXQgbGVuZ3RoIDAuMDAsIDAuMDBdXV19CitLQ2FudmFzUmVzb3VyY2Uge2lk
PSJsaWdodGluZ0NvbG9yQSIgW3R5cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPURJRkZVU0Ut
TElHSFRJTkddIFtpbj0iU291cmNlR3JhcGhpYyJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUg
MXgxIl0gW3N1cmZhY2Ugc2NhbGU9MTAuMDBdIFtkaWZmdXNlIGNvbnN0YW50PTEuMDBdIFtrZXJu
ZWwgdW5pdCBsZW5ndGggMC4wMCwgMC4wMF1dXX0KK0tDYW52YXNSZXNvdXJjZSB7aWQ9ImxpZ2h0
aW5nQ29sb3JCIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9RElGRlVTRS1MSUdIVElO
R10gW2luPSJTb3VyY2VHcmFwaGljIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSBb
c3VyZmFjZSBzY2FsZT0xMC4wMF0gW2RpZmZ1c2UgY29uc3RhbnQ9MS4wMF0gW2tlcm5lbCB1bml0
IGxlbmd0aCAwLjAwLCAwLjAwXV1dfQorS0NhbnZhc1Jlc291cmNlIHtpZD0ibGlnaHRpbmdDb2xv
ckMiIFt0eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1ESUZGVVNFLUxJR0hUSU5HXSBbaW49
IlNvdXJjZUdyYXBoaWMiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDF4MSJdIFtzdXJmYWNl
IHNjYWxlPTEwLjAwXSBbZGlmZnVzZSBjb25zdGFudD0xLjAwXSBba2VybmVsIHVuaXQgbGVuZ3Ro
IDAuMDAsIDAuMDBdXV19CiBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgUmVuZGVyVmll
dyBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MApJbmRl
eDogTGF5b3V0VGVzdHMvc3ZnL1czQy1TVkctMS4xL2ZpbHRlcnMtZ2F1c3MtMDEtYi1leHBlY3Rl
ZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkg
dHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGltYWdlL3BuZwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL1cz
Qy1TVkctMS4xL2ZpbHRlcnMtc3BlY3VsYXItMDEtZi1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvc3ZnL1czQy1TVkctMS4xL2ZpbHRlcnMtc3BlY3VsYXItMDEtZi1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDI1MTczKQorKysgTGF5b3V0VGVzdHMvc3ZnL1czQy1TVkctMS4x
L2ZpbHRlcnMtc3BlY3VsYXItMDEtZi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEs
MTUgKzEsMTUgQEAKLUtDYW52YXNSZXNvdXJjZSB7aWQ9InN1cmZhY2VTY2FsZUEiIFt0eXBlPUZJ
TFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1TUEVDVUxBUi1MSUdIVElOR10gW2luPSJTb3VyY2VHcmFw
aGljIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSA0ODB4MzYwIl0gW3N1cmZhY2Ugc2NhbGU9
MS4wMF0gW3NwZWN1YWwgY29uc3RhbnQ9MS4wMF0gW3NwZWN1bGFyIGV4cG9uZW50PTEuMDBdXV19
Ci1LQ2FudmFzUmVzb3VyY2Uge2lkPSJzdXJmYWNlU2NhbGVCIiBbdHlwZT1GSUxURVJdICBbZWZm
ZWN0cz1bW3R5cGU9U1BFQ1VMQVItTElHSFRJTkddIFtpbj0iU291cmNlR3JhcGhpYyJdIFtzdWJy
ZWdpb249ImF0ICgwLDApIHNpemUgNDgweDM2MCJdIFtzdXJmYWNlIHNjYWxlPTEwLjAwXSBbc3Bl
Y3VhbCBjb25zdGFudD0xLjAwXSBbc3BlY3VsYXIgZXhwb25lbnQ9MS4wMF1dXX0KLUtDYW52YXNS
ZXNvdXJjZSB7aWQ9InN1cmZhY2VTY2FsZUMiIFt0eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlw
ZT1TUEVDVUxBUi1MSUdIVElOR10gW2luPSJTb3VyY2VHcmFwaGljIl0gW3N1YnJlZ2lvbj0iYXQg
KDAsMCkgc2l6ZSA0ODB4MzYwIl0gW3N1cmZhY2Ugc2NhbGU9LTEwLjAwXSBbc3BlY3VhbCBjb25z
dGFudD0xLjAwXSBbc3BlY3VsYXIgZXhwb25lbnQ9MS4wMF1dXX0KLUtDYW52YXNSZXNvdXJjZSB7
aWQ9InNwZWN1bGFyQ29uc3RhbnRBIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9U1BF
Q1VMQVItTElHSFRJTkddIFtpbj0iU291cmNlR3JhcGhpYyJdIFtzdWJyZWdpb249ImF0ICgwLDAp
IHNpemUgNDgweDM2MCJdIFtzdXJmYWNlIHNjYWxlPTEwLjAwXSBbc3BlY3VhbCBjb25zdGFudD0w
LjAwXSBbc3BlY3VsYXIgZXhwb25lbnQ9MS4wMF1dXX0KLUtDYW52YXNSZXNvdXJjZSB7aWQ9InNw
ZWN1bGFyQ29uc3RhbnRCIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9U1BFQ1VMQVIt
TElHSFRJTkddIFtpbj0iU291cmNlR3JhcGhpYyJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUg
NDgweDM2MCJdIFtzdXJmYWNlIHNjYWxlPTEwLjAwXSBbc3BlY3VhbCBjb25zdGFudD0xLjAwXSBb
c3BlY3VsYXIgZXhwb25lbnQ9MS4wMF1dXX0KLUtDYW52YXNSZXNvdXJjZSB7aWQ9InNwZWN1bGFy
Q29uc3RhbnRDIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9U1BFQ1VMQVItTElHSFRJ
TkddIFtpbj0iU291cmNlR3JhcGhpYyJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgNDgweDM2
MCJdIFtzdXJmYWNlIHNjYWxlPTEwLjAwXSBbc3BlY3VhbCBjb25zdGFudD0yLjAwXSBbc3BlY3Vs
YXIgZXhwb25lbnQ9MS4wMF1dXX0KLUtDYW52YXNSZXNvdXJjZSB7aWQ9InNwZWN1bGFyRXhwb25l
bnRBIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9U1BFQ1VMQVItTElHSFRJTkddIFtp
bj0iU291cmNlR3JhcGhpYyJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgNDgweDM2MCJdIFtz
dXJmYWNlIHNjYWxlPTEwLjAwXSBbc3BlY3VhbCBjb25zdGFudD0xLjAwXSBbc3BlY3VsYXIgZXhw
b25lbnQ9MS4wMF1dXX0KLUtDYW52YXNSZXNvdXJjZSB7aWQ9InNwZWN1bGFyRXhwb25lbnRCIiBb
dHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9U1BFQ1VMQVItTElHSFRJTkddIFtpbj0iU291
cmNlR3JhcGhpYyJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgNDgweDM2MCJdIFtzdXJmYWNl
IHNjYWxlPTEwLjAwXSBbc3BlY3VhbCBjb25zdGFudD0xLjAwXSBbc3BlY3VsYXIgZXhwb25lbnQ9
Mi4wMF1dXX0KLUtDYW52YXNSZXNvdXJjZSB7aWQ9InNwZWN1bGFyRXhwb25lbnRDIiBbdHlwZT1G
SUxURVJdICBbZWZmZWN0cz1bW3R5cGU9U1BFQ1VMQVItTElHSFRJTkddIFtpbj0iU291cmNlR3Jh
cGhpYyJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgNDgweDM2MCJdIFtzdXJmYWNlIHNjYWxl
PTEwLjAwXSBbc3BlY3VhbCBjb25zdGFudD0xLjAwXSBbc3BlY3VsYXIgZXhwb25lbnQ9NC4wMF1d
XX0KLUtDYW52YXNSZXNvdXJjZSB7aWQ9ImxpZ2h0aW5nQ29sb3JBIiBbdHlwZT1GSUxURVJdICBb
ZWZmZWN0cz1bW3R5cGU9U1BFQ1VMQVItTElHSFRJTkddIFtpbj0iU291cmNlR3JhcGhpYyJdIFtz
dWJyZWdpb249ImF0ICgwLDApIHNpemUgNDgweDM2MCJdIFtzdXJmYWNlIHNjYWxlPTEwLjAwXSBb
c3BlY3VhbCBjb25zdGFudD0xLjAwXSBbc3BlY3VsYXIgZXhwb25lbnQ9MS4wMF1dXX0KLUtDYW52
YXNSZXNvdXJjZSB7aWQ9ImxpZ2h0aW5nQ29sb3JCIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1b
W3R5cGU9U1BFQ1VMQVItTElHSFRJTkddIFtpbj0iU291cmNlR3JhcGhpYyJdIFtzdWJyZWdpb249
ImF0ICgwLDApIHNpemUgNDgweDM2MCJdIFtzdXJmYWNlIHNjYWxlPTEwLjAwXSBbc3BlY3VhbCBj
b25zdGFudD0xLjAwXSBbc3BlY3VsYXIgZXhwb25lbnQ9MS4wMF1dXX0KLUtDYW52YXNSZXNvdXJj
ZSB7aWQ9ImxpZ2h0aW5nQ29sb3JDIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9U1BF
Q1VMQVItTElHSFRJTkddIFtpbj0iU291cmNlR3JhcGhpYyJdIFtzdWJyZWdpb249ImF0ICgwLDAp
IHNpemUgNDgweDM2MCJdIFtzdXJmYWNlIHNjYWxlPTEwLjAwXSBbc3BlY3VhbCBjb25zdGFudD0x
LjAwXSBbc3BlY3VsYXIgZXhwb25lbnQ9MS4wMF1dXX0KK0tDYW52YXNSZXNvdXJjZSB7aWQ9InN1
cmZhY2VTY2FsZUEiIFt0eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1TUEVDVUxBUi1MSUdI
VElOR10gW2luPSJTb3VyY2VHcmFwaGljIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEi
XSBbc3VyZmFjZSBzY2FsZT0xLjAwXSBbc3BlY3VhbCBjb25zdGFudD0xLjAwXSBbc3BlY3VsYXIg
ZXhwb25lbnQ9MS4wMF1dXX0KK0tDYW52YXNSZXNvdXJjZSB7aWQ9InN1cmZhY2VTY2FsZUIiIFt0
eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1TUEVDVUxBUi1MSUdIVElOR10gW2luPSJTb3Vy
Y2VHcmFwaGljIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSBbc3VyZmFjZSBzY2Fs
ZT0xMC4wMF0gW3NwZWN1YWwgY29uc3RhbnQ9MS4wMF0gW3NwZWN1bGFyIGV4cG9uZW50PTEuMDBd
XV19CitLQ2FudmFzUmVzb3VyY2Uge2lkPSJzdXJmYWNlU2NhbGVDIiBbdHlwZT1GSUxURVJdICBb
ZWZmZWN0cz1bW3R5cGU9U1BFQ1VMQVItTElHSFRJTkddIFtpbj0iU291cmNlR3JhcGhpYyJdIFtz
dWJyZWdpb249ImF0ICgwLDApIHNpemUgMXgxIl0gW3N1cmZhY2Ugc2NhbGU9LTEwLjAwXSBbc3Bl
Y3VhbCBjb25zdGFudD0xLjAwXSBbc3BlY3VsYXIgZXhwb25lbnQ9MS4wMF1dXX0KK0tDYW52YXNS
ZXNvdXJjZSB7aWQ9InNwZWN1bGFyQ29uc3RhbnRBIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1b
W3R5cGU9U1BFQ1VMQVItTElHSFRJTkddIFtpbj0iU291cmNlR3JhcGhpYyJdIFtzdWJyZWdpb249
ImF0ICgwLDApIHNpemUgMXgxIl0gW3N1cmZhY2Ugc2NhbGU9MTAuMDBdIFtzcGVjdWFsIGNvbnN0
YW50PTAuMDBdIFtzcGVjdWxhciBleHBvbmVudD0xLjAwXV1dfQorS0NhbnZhc1Jlc291cmNlIHtp
ZD0ic3BlY3VsYXJDb25zdGFudEIiIFt0eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1TUEVD
VUxBUi1MSUdIVElOR10gW2luPSJTb3VyY2VHcmFwaGljIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkg
c2l6ZSAxeDEiXSBbc3VyZmFjZSBzY2FsZT0xMC4wMF0gW3NwZWN1YWwgY29uc3RhbnQ9MS4wMF0g
W3NwZWN1bGFyIGV4cG9uZW50PTEuMDBdXV19CitLQ2FudmFzUmVzb3VyY2Uge2lkPSJzcGVjdWxh
ckNvbnN0YW50QyIgW3R5cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPVNQRUNVTEFSLUxJR0hU
SU5HXSBbaW49IlNvdXJjZUdyYXBoaWMiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDF4MSJd
IFtzdXJmYWNlIHNjYWxlPTEwLjAwXSBbc3BlY3VhbCBjb25zdGFudD0yLjAwXSBbc3BlY3VsYXIg
ZXhwb25lbnQ9MS4wMF1dXX0KK0tDYW52YXNSZXNvdXJjZSB7aWQ9InNwZWN1bGFyRXhwb25lbnRB
IiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9U1BFQ1VMQVItTElHSFRJTkddIFtpbj0i
U291cmNlR3JhcGhpYyJdIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgMXgxIl0gW3N1cmZhY2Ug
c2NhbGU9MTAuMDBdIFtzcGVjdWFsIGNvbnN0YW50PTEuMDBdIFtzcGVjdWxhciBleHBvbmVudD0x
LjAwXV1dfQorS0NhbnZhc1Jlc291cmNlIHtpZD0ic3BlY3VsYXJFeHBvbmVudEIiIFt0eXBlPUZJ
TFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1TUEVDVUxBUi1MSUdIVElOR10gW2luPSJTb3VyY2VHcmFw
aGljIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSBbc3VyZmFjZSBzY2FsZT0xMC4w
MF0gW3NwZWN1YWwgY29uc3RhbnQ9MS4wMF0gW3NwZWN1bGFyIGV4cG9uZW50PTIuMDBdXV19CitL
Q2FudmFzUmVzb3VyY2Uge2lkPSJzcGVjdWxhckV4cG9uZW50QyIgW3R5cGU9RklMVEVSXSAgW2Vm
ZmVjdHM9W1t0eXBlPVNQRUNVTEFSLUxJR0hUSU5HXSBbaW49IlNvdXJjZUdyYXBoaWMiXSBbc3Vi
cmVnaW9uPSJhdCAoMCwwKSBzaXplIDF4MSJdIFtzdXJmYWNlIHNjYWxlPTEwLjAwXSBbc3BlY3Vh
bCBjb25zdGFudD0xLjAwXSBbc3BlY3VsYXIgZXhwb25lbnQ9NC4wMF1dXX0KK0tDYW52YXNSZXNv
dXJjZSB7aWQ9ImxpZ2h0aW5nQ29sb3JBIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9
U1BFQ1VMQVItTElHSFRJTkddIFtpbj0iU291cmNlR3JhcGhpYyJdIFtzdWJyZWdpb249ImF0ICgw
LDApIHNpemUgMXgxIl0gW3N1cmZhY2Ugc2NhbGU9MTAuMDBdIFtzcGVjdWFsIGNvbnN0YW50PTEu
MDBdIFtzcGVjdWxhciBleHBvbmVudD0xLjAwXV1dfQorS0NhbnZhc1Jlc291cmNlIHtpZD0ibGln
aHRpbmdDb2xvckIiIFt0eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1TUEVDVUxBUi1MSUdI
VElOR10gW2luPSJTb3VyY2VHcmFwaGljIl0gW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEi
XSBbc3VyZmFjZSBzY2FsZT0xMC4wMF0gW3NwZWN1YWwgY29uc3RhbnQ9MS4wMF0gW3NwZWN1bGFy
IGV4cG9uZW50PTEuMDBdXV19CitLQ2FudmFzUmVzb3VyY2Uge2lkPSJsaWdodGluZ0NvbG9yQyIg
W3R5cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPVNQRUNVTEFSLUxJR0hUSU5HXSBbaW49IlNv
dXJjZUdyYXBoaWMiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDF4MSJdIFtzdXJmYWNlIHNj
YWxlPTEwLjAwXSBbc3BlY3VhbCBjb25zdGFudD0xLjAwXSBbc3BlY3VsYXIgZXhwb25lbnQ9MS4w
MF1dXX0KIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgNDgweDM2MAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCkluZGV4OiBMYXlvdXRU
ZXN0cy9zdmcvYmF0aWsvdGV4dC90ZXh0RWZmZWN0My1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvYmF0aWsvdGV4dC90ZXh0RWZmZWN0My1leHBlY3RlZC5j
aGVja3N1bQkocmV2aXNpb24gMjUxNzMpCisrKyBMYXlvdXRUZXN0cy9zdmcvYmF0aWsvdGV4dC90
ZXh0RWZmZWN0My1leHBlY3RlZC5jaGVja3N1bQkod29ya2luZyBjb3B5KQpAQCAtMSArMSBAQAot
NmY3N2NjOWI0Yzk0ZDc1YWUzZGNmYWM3NTkyNTk4MWMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCitiM2YxNDgyZTJmMWM2NTUzMzhiODdmZjZiNTk0NWU2MApcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9iYXRpay90ZXh0L3RleHRFZmZlY3QzLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvYmF0aWsvdGV4dC90ZXh0
RWZmZWN0My1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI1MTczKQorKysgTGF5b3V0VGVzdHMvc3Zn
L2JhdGlrL3RleHQvdGV4dEVmZmVjdDMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0x
LDYgKzEsNiBAQAogS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0ibGluZWFyR3JhZGllbnQiIFt0
eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkZENzAwKSwgKDAuNTAsI0ZGQTUw
MCksICgxLjAwLCNEQzE0M0MpXV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXX0KIEtSZW5kZXJp
bmdQYWludFNlcnZlciB7aWQ9InJhZGlhbEdyYWRpZW50IiBbdHlwZT1SQURJQUwtR1JBRElFTlRd
IFtzdG9wcz1bKDAuMDAsI0ZGRDcwMCksICgwLjUwLCNGRkE1MDApLCAoMS4wMCwjREMxNDNDKV1d
IFtjZW50ZXI9KDAuNTAsMC41MCldIFtmb2NhbD0oMC41MCwwLjUwKV0gW3JhZGl1cz0wLjUwXX0K
LUtDYW52YXNSZXNvdXJjZSB7aWQ9ImRyb3BTaGFkb3ciIFt0eXBlPUZJTFRFUl0gIFtib3VuZGlu
ZyBib3g9YXQgKC0xMC4wMCUsLTEwLjAwJSkgc2l6ZSAxMjAuMDAleDEyMC4wMCVdIFtlZmZlY3Rz
PVtbdHlwZT1HQVVTU0lBTi1CTFVSXSBbaW49IlNvdXJjZUdyYXBoaWMiXSBbc3VicmVnaW9uPSJh
dCAoMCwwKSBzaXplIDQ1MHg1MDAiXSBbc3RkIGRldi4geD0yLjAwIHk9Mi4wMF1dXX0KK0tDYW52
YXNSZXNvdXJjZSB7aWQ9ImRyb3BTaGFkb3ciIFt0eXBlPUZJTFRFUl0gIFtib3VuZGluZyBib3g9
YXQgKC0xMC4wMCUsLTEwLjAwJSkgc2l6ZSAxMjAuMDAleDEyMC4wMCVdIFtlZmZlY3RzPVtbdHlw
ZT1HQVVTU0lBTi1CTFVSXSBbaW49IlNvdXJjZUdyYXBoaWMiXSBbc3VicmVnaW9uPSJhdCAoMCww
KSBzaXplIDF4MSJdIFtzdGQgZGV2LiB4PTIuMDAgeT0yLjAwXV1dfQogbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBh
dCAoMCwwKSBzaXplIDQ1MHg1MDAKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9iYXRpay90ZXh0L3Rl
eHRGZWF0dXJlcy1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9z
dmcvYmF0aWsvdGV4dC90ZXh0RmVhdHVyZXMtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDI1
MTczKQorKysgTGF5b3V0VGVzdHMvc3ZnL2JhdGlrL3RleHQvdGV4dEZlYXR1cmVzLWV4cGVjdGVk
LmNoZWNrc3VtCSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi1iYTljOGJkNDI2OTYzN2E3MGJj
ZWRiMzFlZTc1MzU0NQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzQ1MzY0YjBmMzYyNGJj
ZTNlODA3OGE3YTkxOWE4YThkClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5
b3V0VGVzdHMvc3ZnL2JhdGlrL3RleHQvdGV4dEVmZmVjdDMtZXhwZWN0ZWQucG5nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1l
LXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9i
YXRpay90ZXh0L3RleHRFZmZlY3QtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3N2Zy9iYXRpay90ZXh0L3RleHRFZmZlY3QtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNTE3
MykKKysrIExheW91dFRlc3RzL3N2Zy9iYXRpay90ZXh0L3RleHRFZmZlY3QtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogS1JlbmRlcmluZ1BhaW50U2VydmVyIHtp
ZD0ibGluZWFyR3JhZGllbnQiIFt0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwj
RkZENzAwKSwgKDAuNTAsI0ZGQTUwMCksICgxLjAwLCNEQzE0M0MpXV0gW3N0YXJ0PSgwLDApXSBb
ZW5kPSgxLDApXX0KIEtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9InJhZGlhbEdyYWRpZW50IiBb
dHlwZT1SQURJQUwtR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGRDcwMCksICgwLjUwLCNGRkE1
MDApLCAoMS4wMCwjREMxNDNDKV1dIFtjZW50ZXI9KDAuNTAsMC41MCldIFtmb2NhbD0oMC41MCww
LjUwKV0gW3JhZGl1cz0wLjUwXX0KLUtDYW52YXNSZXNvdXJjZSB7aWQ9ImRyb3BTaGFkb3ciIFt0
eXBlPUZJTFRFUl0gIFtib3VuZGluZyBib3g9YXQgKC0xMC4wMCUsLTEwLjAwJSkgc2l6ZSAxMjAu
MDAleDEyMC4wMCVdIFtlZmZlY3RzPVtbdHlwZT1HQVVTU0lBTi1CTFVSXSBbaW49IlNvdXJjZUdy
YXBoaWMiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDQ1MHg1MDAiXSBbc3RkIGRldi4geD0y
LjAwIHk9Mi4wMF1dXX0KK0tDYW52YXNSZXNvdXJjZSB7aWQ9ImRyb3BTaGFkb3ciIFt0eXBlPUZJ
TFRFUl0gIFtib3VuZGluZyBib3g9YXQgKC0xMC4wMCUsLTEwLjAwJSkgc2l6ZSAxMjAuMDAleDEy
MC4wMCVdIFtlZmZlY3RzPVtbdHlwZT1HQVVTU0lBTi1CTFVSXSBbaW49IlNvdXJjZUdyYXBoaWMi
XSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDF4MSJdIFtzdGQgZGV2LiB4PTIuMDAgeT0yLjAw
XV1dfQogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDQ1MHg1MDAKSW5kZXg6IExheW91dFRl
c3RzL3N2Zy9iYXRpay90ZXh0L3RleHRGZWF0dXJlcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvc3ZnL2JhdGlrL3RleHQvdGV4dEZlYXR1cmVzLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMjUxNzMpCisrKyBMYXlvdXRUZXN0cy9zdmcvYmF0aWsvdGV4dC90ZXh0RmVhdHVy
ZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAorS0NhbnZhc1Jl
c291cmNlIHtpZD0iYmx1ciIgW3R5cGU9RklMVEVSXSAgW2JvdW5kaW5nIGJveD1hdCAoMCwtODAp
IHNpemUgMjAweDEwMF0gW2JvdW5kaW5nIGJveCBtb2RlPTBdIFtlZmZlY3RzPVtbdHlwZT1HQVVT
U0lBTi1CTFVSXSAgW3N1YnJlZ2lvbj0iYXQgKDAsLTgwKSBzaXplIDIwMHgxMDAiXSBbc3RkIGRl
di4geD0yLjAwIHk9Mi4wMF1dXX0KIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0NTB4NTAw
CkBAIC0yLDIgKzMsMyBAQAogICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICg0NSwzNikgc2l6ZSAz
NDl4NDQ5LjIwCisgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBz
aXplIDB4MAogICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDQ1LDM2KSBzaXplIDM0OXg0
NDkuMjAKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9iYXRpay90ZXh0L3RleHRFZmZlY3QtZXhwZWN0
ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2JhdGlrL3RleHQvdGV4
dEVmZmVjdC1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMjUxNzMpCisrKyBMYXlvdXRUZXN0
cy9zdmcvYmF0aWsvdGV4dC90ZXh0RWZmZWN0LWV4cGVjdGVkLmNoZWNrc3VtCSh3b3JraW5nIGNv
cHkpCkBAIC0xICsxIEBACi0zYzhhZjM5MzNkNmU0ZmFjMDhkYmUxZTJlODY2NTdmOQpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKK2QxZDlmMTg2MjZkMTU0M2ZiNmU1ODRiZDRlOTZkYWYwClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2JhdGlrL3Rl
eHQvdGV4dFByb3BlcnRpZXMtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvc3ZnL2JhdGlrL3RleHQvdGV4dFByb3BlcnRpZXMtZXhwZWN0ZWQuY2hlY2tzdW0JKHJl
dmlzaW9uIDI1MTczKQorKysgTGF5b3V0VGVzdHMvc3ZnL2JhdGlrL3RleHQvdGV4dFByb3BlcnRp
ZXMtZXhwZWN0ZWQuY2hlY2tzdW0JKHdvcmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLTk1YjBlNWUx
YWJjZjlmNTc0ZjcxN2FlNzc4MDViYmE2ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorOWVi
YmEyODg1ODAxYWQ2ZmE0MWQ2ZDU5ZWQ3OGE4ZGQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvYmF0aWsvdGV4dC90ZXh0RWZmZWN0LWV4cGVjdGVkLnBu
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBl
Lgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRU
ZXN0cy9zdmcvYmF0aWsvdGV4dC90ZXh0UHJvcGVydGllcy1leHBlY3RlZC5wbmcKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUt
dHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2Jh
dGlrL3RleHQvdGV4dEZlYXR1cmVzLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNw
bGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGlj
YXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3RleHQtZmls
dGVyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3Rl
eHQtZmlsdGVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjUxNzMpCisrKyBMYXlvdXRUZXN0cy9z
dmcvY3VzdG9tL3RleHQtZmlsdGVyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw0
ICsxLDQgQEAKLUtDYW52YXNSZXNvdXJjZSB7aWQ9Im15ZmlsdGVyIiBbdHlwZT1GSUxURVJdICBb
Ym91bmRpbmcgYm94PWF0ICgtMTAuMDAlLC0xMC4wMCUpIHNpemUgMTIwLjAwJXgxMjAuMDAlXSBb
ZWZmZWN0cz1bW3R5cGU9R0FVU1NJQU4tQkxVUl0gIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUg
ODAweDYwMCJdIFtzdGQgZGV2LiB4PTMuMDAgeT0zLjAwXV1dfQorS0NhbnZhc1Jlc291cmNlIHtp
ZD0ibXlmaWx0ZXIiIFt0eXBlPUZJTFRFUl0gIFtib3VuZGluZyBib3g9YXQgKC0xMC4wMCUsLTEw
LjAwJSkgc2l6ZSAxMjAuMDAleDEyMC4wMCVdIFtlZmZlY3RzPVtbdHlwZT1HQVVTU0lBTi1CTFVS
XSAgW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSBbc3RkIGRldi4geD0zLjAwIHk9My4w
MF1dXX0KIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCkluZGV4OiBMYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL2ZlQ29tcG9uZW50VHJhbnNmZXItVGFibGUtZXhwZWN0ZWQucG5nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2
bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91dFRlc3Rz
L3N2Zy9jdXN0b20vaW1hZ2Utd2l0aC10cmFuc2Zvcm0tY2xpcC1maWx0ZXItZXhwZWN0ZWQucG5n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUu
CnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91dFRl
c3RzL3N2Zy9jdXN0b20vZmVDb21wb25lbnRUcmFuc2Zlci1UYWJsZS1leHBlY3RlZC5jaGVja3N1
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2ZlQ29tcG9uZW50VHJhbnNm
ZXItVGFibGUtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDI1MTczKQorKysgTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9mZUNvbXBvbmVudFRyYW5zZmVyLVRhYmxlLWV4cGVjdGVkLmNoZWNrc3Vt
CSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi1mZmZiMzE2NzRjZmVhYzEzM2EwYWY5NjZkOGVh
YWZhZApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzZkNDQwY2NlNWYwM2EyMWYxNjA4YzVk
MzNiYmMyNTI3ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS9mZUNvbXBvbmVudFRyYW5zZmVyLUdhbW1hLWV4cGVjdGVkLnBuZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWlt
ZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL25vbi1vcGFxdWUtZmlsdGVycy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS9ub24tb3BhcXVlLWZpbHRlcnMtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAyNTE3MykKKysrIExheW91dFRlc3RzL3N2Zy9jdXN0b20vbm9uLW9wYXF1ZS1maWx0ZXJz
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKLUtDYW52YXNSZXNv
dXJjZSB7aWQ9ImdibHVyIiBbdHlwZT1GSUxURVJdICBbYm91bmRpbmcgYm94PWF0ICgtMTAuMDAl
LC0xMC4wMCUpIHNpemUgMTIwLjAwJXgxMjAuMDAlXSBbZWZmZWN0cz1bW3R5cGU9R0FVU1NJQU4t
QkxVUl0gIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgODAweDYwMCJdIFtzdGQgZGV2LiB4PTAu
MDAgeT0wLjAwXV1dfQorS0NhbnZhc1Jlc291cmNlIHtpZD0iZ2JsdXIiIFt0eXBlPUZJTFRFUl0g
IFtib3VuZGluZyBib3g9YXQgKC0xMC4wMCUsLTEwLjAwJSkgc2l6ZSAxMjAuMDAleDEyMC4wMCVd
IFtlZmZlY3RzPVtbdHlwZT1HQVVTU0lBTi1CTFVSXSAgW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6
ZSAxeDEiXSBbc3RkIGRldi4geD0wLjAwIHk9MC4wMF1dXX0KIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL25vbi1vcGFxdWUt
ZmlsdGVycy1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL25vbi1vcGFxdWUtZmlsdGVycy1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMjUx
NzMpCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL25vbi1vcGFxdWUtZmlsdGVycy1leHBlY3Rl
ZC5jaGVja3N1bQkod29ya2luZyBjb3B5KQpAQCAtMSArMSBAQAotMDJkNTAyNDc2ZWU0ZjZkYzRm
NWNmYzNkZTU3MTMxZDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis5NzI1MmJiYjBiNzgw
ZWRhZGQ4OTFmOTE1MzU5NzQ3MgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExh
eW91dFRlc3RzL3N2Zy9jdXN0b20vZmVDb21wb25lbnRUcmFuc2Zlci1EaXNjcmV0ZS1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9mZUNvbXBvbmVudFRy
YW5zZmVyLURpc2NyZXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjUxNzMpCisrKyBMYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL2ZlQ29tcG9uZW50VHJhbnNmZXItRGlzY3JldGUtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDggKzEsOCBAQAogS1JlbmRlcmluZ1BhaW50U2VydmVyIHtp
ZD0iTXlHcmFkaWVudCIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMEZG
MDApLCAoMS4wMCwjMDAwMDAwKV1dIFtib3VuZGluZyBib3ggbW9kZT0wXSBbc3RhcnQ9KDEwLDAp
XSBbZW5kPSg1OTAsMCldfQotS0NhbnZhc1Jlc291cmNlIHtpZD0iSWRlbnRpdHkiIFt0eXBlPUZJ
TFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1DT01QT05FTlQtVFJBTlNGRVJdICBbc3VicmVnaW9uPSJh
dCAoMCwwKSBzaXplIDY1MHg0MjAiXSBbcmVkIGZ1bmM9W3R5cGU9SURFTlRJVFldXSBbZ3JlZW4g
ZnVuYz1bdHlwZT1JREVOVElUWV1dIFtibHVlIGZ1bmM9W3R5cGU9SURFTlRJVFldXSBbYWxwaGEg
ZnVuYz1bdHlwZT1JREVOVElUWV1dXV19Ci1LQ2FudmFzUmVzb3VyY2Uge2lkPSJEaXNjcmV0ZUJs
YW5rIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9Q09NUE9ORU5ULVRSQU5TRkVSXSAg
W3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSA2NTB4NDIwIl0gW3JlZCBmdW5jPVt0eXBlPUlERU5U
SVRZXV0gW2dyZWVuIGZ1bmM9W3R5cGU9RElTQ1JFVEVdIFt0YWJsZSB2YWx1ZXM9MC4wMF1dIFti
bHVlIGZ1bmM9W3R5cGU9SURFTlRJVFldXSBbYWxwaGEgZnVuYz1bdHlwZT1JREVOVElUWV1dXV19
Ci1LQ2FudmFzUmVzb3VyY2Uge2lkPSJEaXNjcmV0ZUZ1bGwiIFt0eXBlPUZJTFRFUl0gIFtlZmZl
Y3RzPVtbdHlwZT1DT01QT05FTlQtVFJBTlNGRVJdICBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXpl
IDY1MHg0MjAiXSBbcmVkIGZ1bmM9W3R5cGU9SURFTlRJVFldXSBbZ3JlZW4gZnVuYz1bdHlwZT1E
SVNDUkVURV0gW3RhYmxlIHZhbHVlcz0xLjAwXV0gW2JsdWUgZnVuYz1bdHlwZT1JREVOVElUWV1d
IFthbHBoYSBmdW5jPVt0eXBlPUlERU5USVRZXV1dXX0KLUtDYW52YXNSZXNvdXJjZSB7aWQ9IkRp
c2NyZXRlT3JkIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9Q09NUE9ORU5ULVRSQU5T
RkVSXSAgW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSA2NTB4NDIwIl0gW3JlZCBmdW5jPVt0eXBl
PUlERU5USVRZXV0gW2dyZWVuIGZ1bmM9W3R5cGU9RElTQ1JFVEVdIFt0YWJsZSB2YWx1ZXM9MC4w
MCAwLjI1IDAuNTAgMC43NSAxLjAwIDEuMDBdXSBbYmx1ZSBmdW5jPVt0eXBlPUlERU5USVRZXV0g
W2FscGhhIGZ1bmM9W3R5cGU9SURFTlRJVFldXV1dfQorS0NhbnZhc1Jlc291cmNlIHtpZD0iSWRl
bnRpdHkiIFt0eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1DT01QT05FTlQtVFJBTlNGRVJd
ICBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDF4MSJdIFtyZWQgZnVuYz1bdHlwZT1JREVOVElU
WV1dIFtncmVlbiBmdW5jPVt0eXBlPVVOS05PV05dXSBbYmx1ZSBmdW5jPVt0eXBlPVVOS05PV05d
XSBbYWxwaGEgZnVuYz1bdHlwZT1VTktOT1dOXV1dXX0KK0tDYW52YXNSZXNvdXJjZSB7aWQ9IkRp
c2NyZXRlQmxhbmsiIFt0eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1DT01QT05FTlQtVFJB
TlNGRVJdICBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDF4MSJdIFtyZWQgZnVuYz1bdHlwZT1V
TktOT1dOXV0gW2dyZWVuIGZ1bmM9W3R5cGU9RElTQ1JFVEVdIFt0YWJsZSB2YWx1ZXM9MC4wMF1d
IFtibHVlIGZ1bmM9W3R5cGU9VU5LTk9XTl1dIFthbHBoYSBmdW5jPVt0eXBlPVVOS05PV05dXV1d
fQorS0NhbnZhc1Jlc291cmNlIHtpZD0iRGlzY3JldGVGdWxsIiBbdHlwZT1GSUxURVJdICBbZWZm
ZWN0cz1bW3R5cGU9Q09NUE9ORU5ULVRSQU5TRkVSXSAgW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6
ZSAxeDEiXSBbcmVkIGZ1bmM9W3R5cGU9VU5LTk9XTl1dIFtncmVlbiBmdW5jPVt0eXBlPURJU0NS
RVRFXSBbdGFibGUgdmFsdWVzPTEuMDBdXSBbYmx1ZSBmdW5jPVt0eXBlPVVOS05PV05dXSBbYWxw
aGEgZnVuYz1bdHlwZT1VTktOT1dOXV1dXX0KK0tDYW52YXNSZXNvdXJjZSB7aWQ9IkRpc2NyZXRl
T3JkIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9Q09NUE9ORU5ULVRSQU5TRkVSXSAg
W3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSBbcmVkIGZ1bmM9W3R5cGU9VU5LTk9XTl1d
IFtncmVlbiBmdW5jPVt0eXBlPURJU0NSRVRFXSBbdGFibGUgdmFsdWVzPTAuMDAgMC4yNSAwLjUw
IDAuNzUgMS4wMCAxLjAwXV0gW2JsdWUgZnVuYz1bdHlwZT1VTktOT1dOXV0gW2FscGhhIGZ1bmM9
W3R5cGU9VU5LTk9XTl1dXV19CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVy
VmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMApJ
bmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9mZUNvbXBvbmVudFRyYW5zZmVyLUdhbW1hLWV4
cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jdXN0b20vZmVD
b21wb25lbnRUcmFuc2Zlci1HYW1tYS1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMjUxNzMp
CisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2ZlQ29tcG9uZW50VHJhbnNmZXItR2FtbWEtZXhw
ZWN0ZWQuY2hlY2tzdW0JKHdvcmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLWRjMWZkMThhMzdkNzZh
ODA0Yzk0YTE5ZjY5Mzg4MmM0ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorMjgzYzdiYjUw
MjdjMmRhMzYyNWNhZWEyZjMxNzk0OGMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4
OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3RleHQtZmlsdGVyLWV4cGVjdGVkLnBuZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWlt
ZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL3RleHQtZmlsdGVyLWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3N2Zy9jdXN0b20vdGV4dC1maWx0ZXItZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9u
IDI1MTczKQorKysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS90ZXh0LWZpbHRlci1leHBlY3RlZC5j
aGVja3N1bQkod29ya2luZyBjb3B5KQpAQCAtMSArMSBAQAotZmQzYjk2MjAzMzU2MDk1MGZmNTBl
OGZhN2NlODA0YTIKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCiszMTgzOWQwOWU2ODRlMDlk
ZTRlOWEwMWJkMjI4MmNkMgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91
dFRlc3RzL3N2Zy9jdXN0b20vZmVDb21wb25lbnRUcmFuc2Zlci1MaW5lYXItZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jdXN0b20vZmVDb21wb25lbnRUcmFuc2Zl
ci1MaW5lYXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNTE3MykKKysrIExheW91dFRlc3RzL3N2
Zy9jdXN0b20vZmVDb21wb25lbnRUcmFuc2Zlci1MaW5lYXItZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xLDggKzEsOCBAQAogS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iTXlHcmFk
aWVudCIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMEZGMDApLCAoMS4w
MCwjMDAwMDAwKV1dIFtib3VuZGluZyBib3ggbW9kZT0wXSBbc3RhcnQ9KDEwLDApXSBbZW5kPSg1
OTAsMCldfQotS0NhbnZhc1Jlc291cmNlIHtpZD0iSWRlbnRpdHkiIFt0eXBlPUZJTFRFUl0gIFtl
ZmZlY3RzPVtbdHlwZT1DT01QT05FTlQtVFJBTlNGRVJdICBbc3VicmVnaW9uPSJhdCAoMCwwKSBz
aXplIDY1MHg0MjAiXSBbcmVkIGZ1bmM9W3R5cGU9SURFTlRJVFldXSBbZ3JlZW4gZnVuYz1bdHlw
ZT1JREVOVElUWV1dIFtibHVlIGZ1bmM9W3R5cGU9SURFTlRJVFldXSBbYWxwaGEgZnVuYz1bdHlw
ZT1JREVOVElUWV1dXV19Ci1LQ2FudmFzUmVzb3VyY2Uge2lkPSJEaXNjcmV0ZUJsYW5rIiBbdHlw
ZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9Q09NUE9ORU5ULVRSQU5TRkVSXSAgW3N1YnJlZ2lv
bj0iYXQgKDAsMCkgc2l6ZSA2NTB4NDIwIl0gW3JlZCBmdW5jPVt0eXBlPUlERU5USVRZXV0gW2dy
ZWVuIGZ1bmM9W3R5cGU9TElORUFSXSBbc2xvcGU9MS4wMF0gW2ludGVyY2VwdD0wLjAwXV0gW2Js
dWUgZnVuYz1bdHlwZT1JREVOVElUWV1dIFthbHBoYSBmdW5jPVt0eXBlPUlERU5USVRZXV1dXX0K
LUtDYW52YXNSZXNvdXJjZSB7aWQ9IkRpc2NyZXRlRnVsbCIgW3R5cGU9RklMVEVSXSAgW2VmZmVj
dHM9W1t0eXBlPUNPTVBPTkVOVC1UUkFOU0ZFUl0gIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUg
NjUweDQyMCJdIFtyZWQgZnVuYz1bdHlwZT1JREVOVElUWV1dIFtncmVlbiBmdW5jPVt0eXBlPUxJ
TkVBUl0gW3Nsb3BlPS0xLjAwXSBbaW50ZXJjZXB0PTEuMDBdXSBbYmx1ZSBmdW5jPVt0eXBlPUlE
RU5USVRZXV0gW2FscGhhIGZ1bmM9W3R5cGU9SURFTlRJVFldXV1dfQotS0NhbnZhc1Jlc291cmNl
IHtpZD0iRGlzY3JldGVPcmQiIFt0eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1DT01QT05F
TlQtVFJBTlNGRVJdICBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDY1MHg0MjAiXSBbcmVkIGZ1
bmM9W3R5cGU9SURFTlRJVFldXSBbZ3JlZW4gZnVuYz1bdHlwZT1MSU5FQVJdIFtzbG9wZT0wLjUw
XSBbaW50ZXJjZXB0PTAuMjVdXSBbYmx1ZSBmdW5jPVt0eXBlPUlERU5USVRZXV0gW2FscGhhIGZ1
bmM9W3R5cGU9SURFTlRJVFldXV1dfQorS0NhbnZhc1Jlc291cmNlIHtpZD0iSWRlbnRpdHkiIFt0
eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1DT01QT05FTlQtVFJBTlNGRVJdICBbc3VicmVn
aW9uPSJhdCAoMCwwKSBzaXplIDF4MSJdIFtyZWQgZnVuYz1bdHlwZT1JREVOVElUWV1dIFtncmVl
biBmdW5jPVt0eXBlPVVOS05PV05dXSBbYmx1ZSBmdW5jPVt0eXBlPVVOS05PV05dXSBbYWxwaGEg
ZnVuYz1bdHlwZT1VTktOT1dOXV1dXX0KK0tDYW52YXNSZXNvdXJjZSB7aWQ9IkRpc2NyZXRlQmxh
bmsiIFt0eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1DT01QT05FTlQtVFJBTlNGRVJdICBb
c3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDF4MSJdIFtyZWQgZnVuYz1bdHlwZT1VTktOT1dOXV0g
W2dyZWVuIGZ1bmM9W3R5cGU9TElORUFSXSBbc2xvcGU9MS4wMF0gW2ludGVyY2VwdD0wLjAwXV0g
W2JsdWUgZnVuYz1bdHlwZT1VTktOT1dOXV0gW2FscGhhIGZ1bmM9W3R5cGU9VU5LTk9XTl1dXV19
CitLQ2FudmFzUmVzb3VyY2Uge2lkPSJEaXNjcmV0ZUZ1bGwiIFt0eXBlPUZJTFRFUl0gIFtlZmZl
Y3RzPVtbdHlwZT1DT01QT05FTlQtVFJBTlNGRVJdICBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXpl
IDF4MSJdIFtyZWQgZnVuYz1bdHlwZT1VTktOT1dOXV0gW2dyZWVuIGZ1bmM9W3R5cGU9TElORUFS
XSBbc2xvcGU9LTEuMDBdIFtpbnRlcmNlcHQ9MS4wMF1dIFtibHVlIGZ1bmM9W3R5cGU9VU5LTk9X
Tl1dIFthbHBoYSBmdW5jPVt0eXBlPVVOS05PV05dXV1dfQorS0NhbnZhc1Jlc291cmNlIHtpZD0i
RGlzY3JldGVPcmQiIFt0eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1DT01QT05FTlQtVFJB
TlNGRVJdICBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDF4MSJdIFtyZWQgZnVuYz1bdHlwZT1V
TktOT1dOXV0gW2dyZWVuIGZ1bmM9W3R5cGU9TElORUFSXSBbc2xvcGU9MC41MF0gW2ludGVyY2Vw
dD0wLjI1XV0gW2JsdWUgZnVuYz1bdHlwZT1VTktOT1dOXV0gW2FscGhhIGZ1bmM9W3R5cGU9VU5L
Tk9XTl1dXV19CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMApJbmRleDogTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS9mZUNvbXBvbmVudFRyYW5zZmVyLURpc2NyZXRlLWV4cGVjdGVk
LmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jdXN0b20vZmVDb21wb25l
bnRUcmFuc2Zlci1EaXNjcmV0ZS1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMjUxNzMpCisr
KyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2ZlQ29tcG9uZW50VHJhbnNmZXItRGlzY3JldGUtZXhw
ZWN0ZWQuY2hlY2tzdW0JKHdvcmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLTEzNDI4YmU5NWJhYmMz
N2QwOTEyODk4NDE4OGJkNjIyClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorYjUyOTBmNmQz
ODQ5ZTFiOTEwMmY5MWVmMThlMTcyNzMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4
OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2ludmFsaWQtY3NzLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2ludmFsaWQtY3NzLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMjUxNzMpCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2ludmFsaWQtY3NzLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIEtDYW52YXNSZXNvdXJj
ZSB7aWQ9ImNsaXAxIiBbdHlwZT1DTElQUEVSXSBbY2xpcCBkYXRhPVtbd2luZGluZz1OT04tWkVS
T10gW3BhdGg9TTQwLjAwLDQwLjAwTDM5Ljk4LDQwLjYzTDM5LjkyLDQxLjI1TDM5LjgyLDQxLjg3
TDM5LjY5LDQyLjQ5TDM5LjUxLDQzLjA5TDM5LjMwLDQzLjY4TDM5LjA1LDQ0LjI2TDM4Ljc2LDQ0
LjgyTDM4LjQ0LDQ1LjM2TDM4LjA5LDQ1Ljg4TDM3LjcxLDQ2LjM3TDM3LjI5LDQ2Ljg1TDM2Ljg1
LDQ3LjI5TDM2LjM3LDQ3LjcxTDM1Ljg4LDQ4LjA5TDM1LjM2LDQ4LjQ0TDM0LjgyLDQ4Ljc2TDM0
LjI2LDQ5LjA1TDMzLjY4LDQ5LjMwTDMzLjA5LDQ5LjUxTDMyLjQ5LDQ5LjY5TDMxLjg3LDQ5Ljgy
TDMxLjI1LDQ5LjkyTDMwLjYzLDQ5Ljk4TDMwLjAwLDUwLjAwTDI5LjM3LDQ5Ljk4TDI4Ljc1LDQ5
LjkyTDI4LjEzLDQ5LjgyTDI3LjUxLDQ5LjY5TDI2LjkxLDQ5LjUxTDI2LjMyLDQ5LjMwTDI1Ljc0
LDQ5LjA1TDI1LjE4LDQ4Ljc2TDI0LjY0LDQ4LjQ0TDI0LjEyLDQ4LjA5TDIzLjYzLDQ3LjcxTDIz
LjE1LDQ3LjI5TDIyLjcxLDQ2Ljg1TDIyLjI5LDQ2LjM3TDIxLjkxLDQ1Ljg4TDIxLjU2LDQ1LjM2
TDIxLjI0LDQ0LjgyTDIwLjk1LDQ0LjI2TDIwLjcwLDQzLjY4TDIwLjQ5LDQzLjA5TDIwLjMxLDQy
LjQ5TDIwLjE4LDQxLjg3TDIwLjA4LDQxLjI1TDIwLjAyLDQwLjYzTDIwLjAwLDQwLjAwTDIwLjAy
LDM5LjM3TDIwLjA4LDM4Ljc1TDIwLjE4LDM4LjEzTDIwLjMxLDM3LjUxTDIwLjQ5LDM2LjkxTDIw
LjcwLDM2LjMyTDIwLjk1LDM1Ljc0TDIxLjI0LDM1LjE4TDIxLjU2LDM0LjY0TDIxLjkxLDM0LjEy
TDIyLjI5LDMzLjYzTDIyLjcxLDMzLjE1TDIzLjE1LDMyLjcxTDIzLjYzLDMyLjI5TDI0LjEyLDMx
LjkxTDI0LjY0LDMxLjU2TDI1LjE4LDMxLjI0TDI1Ljc0LDMwLjk1TDI2LjMyLDMwLjcwTDI2Ljkx
LDMwLjQ5TDI3LjUxLDMwLjMxTDI4LjEzLDMwLjE4TDI4Ljc1LDMwLjA4TDI5LjM3LDMwLjAyTDMw
LjAwLDMwLjAwTDMwLjYzLDMwLjAyTDMxLjI1LDMwLjA4TDMxLjg3LDMwLjE4TDMyLjQ5LDMwLjMx
TDMzLjA5LDMwLjQ5TDMzLjY4LDMwLjcwTDM0LjI2LDMwLjk1TDM0LjgyLDMxLjI0TDM1LjM2LDMx
LjU2TDM1Ljg4LDMxLjkxTDM2LjM3LDMyLjI5TDM2Ljg1LDMyLjcxTDM3LjI5LDMzLjE1TDM3Ljcx
LDMzLjYzTDM4LjA5LDM0LjEyTDM4LjQ0LDM0LjY0TDM4Ljc2LDM1LjE4TDM5LjA1LDM1Ljc0TDM5
LjMwLDM2LjMyTDM5LjUxLDM2LjkxTDM5LjY5LDM3LjUxTDM5LjgyLDM4LjEzTDM5LjkyLDM4Ljc1
TDM5Ljk4LDM5LjM3XV1dfQogS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iZ3JhZCIgW3R5cGU9
TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDgwMDApXV0gW3N0YXJ0PSgwLDApXSBb
ZW5kPSgxLDApXX0KLUtDYW52YXNSZXNvdXJjZSB7aWQ9ImJsdXJ4eSIgW3R5cGU9RklMVEVSXSAg
W2JvdW5kaW5nIGJveD1hdCAoLTEwLjAwJSwtMTAuMDAlKSBzaXplIDEyMC4wMCV4MTIwLjAwJV0g
W2VmZmVjdHM9W1t0eXBlPUdBVVNTSUFOLUJMVVJdICBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXpl
IDQ4MHgzNjAiXSBbc3RkIGRldi4geD01LjAwIHk9MS4wMF1dXX0KK0tDYW52YXNSZXNvdXJjZSB7
aWQ9ImJsdXJ4eSIgW3R5cGU9RklMVEVSXSAgW2JvdW5kaW5nIGJveD1hdCAoLTEwLjAwJSwtMTAu
MDAlKSBzaXplIDEyMC4wMCV4MTIwLjAwJV0gW2VmZmVjdHM9W1t0eXBlPUdBVVNTSUFOLUJMVVJd
ICBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDF4MSJdIFtzdGQgZGV2LiB4PTUuMDAgeT0xLjAw
XV1dfQogS0NhbnZhc1Jlc291cmNlIHtpZD0ibWFya2VyMSIgW3R5cGU9TUFSS0VSXSBbYW5nbGU9
MC4wMF0gW3JlZiB4PTUuMDAgeT01LjAwXX0KIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAog
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMApJbmRleDogTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9mZUNvbXBvbmVudFRyYW5zZmVyLVRhYmxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2ZlQ29tcG9uZW50VHJhbnNmZXItVGFibGUtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAyNTE3MykKKysrIExheW91dFRlc3RzL3N2Zy9jdXN0b20vZmVD
b21wb25lbnRUcmFuc2Zlci1UYWJsZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEs
OCArMSw4IEBACiBLUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJNeUdyYWRpZW50IiBbdHlwZT1M
SU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsIzAwRkYwMCksICgxLjAwLCMwMDAwMDApXV0g
W2JvdW5kaW5nIGJveCBtb2RlPTBdIFtzdGFydD0oMTAsMCldIFtlbmQ9KDU5MCwwKV19Ci1LQ2Fu
dmFzUmVzb3VyY2Uge2lkPSJJZGVudGl0eSIgW3R5cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBl
PUNPTVBPTkVOVC1UUkFOU0ZFUl0gIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgNjUweDQyMCJd
IFtyZWQgZnVuYz1bdHlwZT1JREVOVElUWV1dIFtncmVlbiBmdW5jPVt0eXBlPUlERU5USVRZXV0g
W2JsdWUgZnVuYz1bdHlwZT1JREVOVElUWV1dIFthbHBoYSBmdW5jPVt0eXBlPUlERU5USVRZXV1d
XX0KLUtDYW52YXNSZXNvdXJjZSB7aWQ9IlRhYmxlQmxhbmsiIFt0eXBlPUZJTFRFUl0gIFtlZmZl
Y3RzPVtbdHlwZT1DT01QT05FTlQtVFJBTlNGRVJdICBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXpl
IDY1MHg0MjAiXSBbcmVkIGZ1bmM9W3R5cGU9SURFTlRJVFldXSBbZ3JlZW4gZnVuYz1bdHlwZT1U
QUJMRV0gW3RhYmxlIHZhbHVlcz0wLjAwXV0gW2JsdWUgZnVuYz1bdHlwZT1JREVOVElUWV1dIFth
bHBoYSBmdW5jPVt0eXBlPUlERU5USVRZXV1dXX0KLUtDYW52YXNSZXNvdXJjZSB7aWQ9IlRhYmxl
RnVsbCIgW3R5cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPUNPTVBPTkVOVC1UUkFOU0ZFUl0g
IFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgNjUweDQyMCJdIFtyZWQgZnVuYz1bdHlwZT1JREVO
VElUWV1dIFtncmVlbiBmdW5jPVt0eXBlPVRBQkxFXSBbdGFibGUgdmFsdWVzPTEuMDBdXSBbYmx1
ZSBmdW5jPVt0eXBlPUlERU5USVRZXV0gW2FscGhhIGZ1bmM9W3R5cGU9SURFTlRJVFldXV1dfQot
S0NhbnZhc1Jlc291cmNlIHtpZD0iVGFibGVPcmQiIFt0eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtb
dHlwZT1DT01QT05FTlQtVFJBTlNGRVJdICBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDY1MHg0
MjAiXSBbcmVkIGZ1bmM9W3R5cGU9SURFTlRJVFldXSBbZ3JlZW4gZnVuYz1bdHlwZT1UQUJMRV0g
W3RhYmxlIHZhbHVlcz0wLjAwIDAuMDAgMS4wMCAxLjAwXV0gW2JsdWUgZnVuYz1bdHlwZT1JREVO
VElUWV1dIFthbHBoYSBmdW5jPVt0eXBlPUlERU5USVRZXV1dXX0KK0tDYW52YXNSZXNvdXJjZSB7
aWQ9IklkZW50aXR5IiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9Q09NUE9ORU5ULVRS
QU5TRkVSXSAgW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSBbcmVkIGZ1bmM9W3R5cGU9
SURFTlRJVFldXSBbZ3JlZW4gZnVuYz1bdHlwZT1VTktOT1dOXV0gW2JsdWUgZnVuYz1bdHlwZT1V
TktOT1dOXV0gW2FscGhhIGZ1bmM9W3R5cGU9VU5LTk9XTl1dXV19CitLQ2FudmFzUmVzb3VyY2Ug
e2lkPSJUYWJsZUJsYW5rIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9Q09NUE9ORU5U
LVRSQU5TRkVSXSAgW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSBbcmVkIGZ1bmM9W3R5
cGU9VU5LTk9XTl1dIFtncmVlbiBmdW5jPVt0eXBlPVRBQkxFXSBbdGFibGUgdmFsdWVzPTAuMDBd
XSBbYmx1ZSBmdW5jPVt0eXBlPVVOS05PV05dXSBbYWxwaGEgZnVuYz1bdHlwZT1VTktOT1dOXV1d
XX0KK0tDYW52YXNSZXNvdXJjZSB7aWQ9IlRhYmxlRnVsbCIgW3R5cGU9RklMVEVSXSAgW2VmZmVj
dHM9W1t0eXBlPUNPTVBPTkVOVC1UUkFOU0ZFUl0gIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUg
MXgxIl0gW3JlZCBmdW5jPVt0eXBlPVVOS05PV05dXSBbZ3JlZW4gZnVuYz1bdHlwZT1UQUJMRV0g
W3RhYmxlIHZhbHVlcz0xLjAwXV0gW2JsdWUgZnVuYz1bdHlwZT1VTktOT1dOXV0gW2FscGhhIGZ1
bmM9W3R5cGU9VU5LTk9XTl1dXV19CitLQ2FudmFzUmVzb3VyY2Uge2lkPSJUYWJsZU9yZCIgW3R5
cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPUNPTVBPTkVOVC1UUkFOU0ZFUl0gIFtzdWJyZWdp
b249ImF0ICgwLDApIHNpemUgMXgxIl0gW3JlZCBmdW5jPVt0eXBlPVVOS05PV05dXSBbZ3JlZW4g
ZnVuYz1bdHlwZT1UQUJMRV0gW3RhYmxlIHZhbHVlcz0wLjAwIDAuMDAgMS4wMCAxLjAwXV0gW2Js
dWUgZnVuYz1bdHlwZT1VTktOT1dOXV0gW2FscGhhIGZ1bmM9W3R5cGU9VU5LTk9XTl1dXV19CiBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMApJbmRleDogTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9pbWFnZS13aXRoLXRyYW5zZm9ybS1jbGlwLWZpbHRlci1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9pbWFnZS13aXRoLXRyYW5zZm9ybS1j
bGlwLWZpbHRlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI1MTczKQorKysgTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS9pbWFnZS13aXRoLXRyYW5zZm9ybS1jbGlwLWZpbHRlci1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiBLQ2FudmFzUmVzb3VyY2Uge2lkPSJteWNs
aXAiIFt0eXBlPUNMSVBQRVJdIFtjbGlwIGRhdGE9W1t3aW5kaW5nPU5PTi1aRVJPXSBbcGF0aD1N
MC4wMCwwLjAwTDEwMC4wMCwwLjAwTDEwMC4wMCwxMDAuMDBMMC4wMCwxMDAuMDBdXV19Ci1LQ2Fu
dmFzUmVzb3VyY2Uge2lkPSJteWZpbHRlciIgW3R5cGU9RklMVEVSXSAgW2JvdW5kaW5nIGJveD1h
dCAoLTEwLjAwJSwtMTAuMDAlKSBzaXplIDEyMC4wMCV4MTIwLjAwJV0gW2VmZmVjdHM9W1t0eXBl
PUdBVVNTSUFOLUJMVVJdICBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDgwMHg2MDAiXSBbc3Rk
IGRldi4geD0xMC4wMCB5PTEwLjAwXV1dfQorS0NhbnZhc1Jlc291cmNlIHtpZD0ibXlmaWx0ZXIi
IFt0eXBlPUZJTFRFUl0gIFtib3VuZGluZyBib3g9YXQgKC0xMC4wMCUsLTEwLjAwJSkgc2l6ZSAx
MjAuMDAleDEyMC4wMCVdIFtlZmZlY3RzPVtbdHlwZT1HQVVTU0lBTi1CTFVSXSAgW3N1YnJlZ2lv
bj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSBbc3RkIGRldi4geD0xMC4wMCB5PTEwLjAwXV1dfQogbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9j
dXN0b20vbm9uLW9wYXF1ZS1maWx0ZXJzLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBk
aXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBw
bGljYXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2ZlQ29t
cG9uZW50VHJhbnNmZXItR2FtbWEtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3N2Zy9jdXN0b20vZmVDb21wb25lbnRUcmFuc2Zlci1HYW1tYS1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDI1MTczKQorKysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9mZUNvbXBvbmVudFRyYW5z
ZmVyLUdhbW1hLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw4ICsxLDggQEAKIEtS
ZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9Ik15R3JhZGllbnQiIFt0eXBlPUxJTkVBUi1HUkFESUVO
VF0gW3N0b3BzPVsoMC4wMCwjMDBGRjAwKSwgKDEuMDAsIzAwMDAwMCldXSBbYm91bmRpbmcgYm94
IG1vZGU9MF0gW3N0YXJ0PSgxMCwwKV0gW2VuZD0oNTkwLDApXX0KLUtDYW52YXNSZXNvdXJjZSB7
aWQ9IklkZW50aXR5IiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9Q09NUE9ORU5ULVRS
QU5TRkVSXSAgW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSA2NTB4NDIwIl0gW3JlZCBmdW5jPVt0
eXBlPUlERU5USVRZXV0gW2dyZWVuIGZ1bmM9W3R5cGU9SURFTlRJVFldXSBbYmx1ZSBmdW5jPVt0
eXBlPUlERU5USVRZXV0gW2FscGhhIGZ1bmM9W3R5cGU9SURFTlRJVFldXV1dfQotS0NhbnZhc1Jl
c291cmNlIHtpZD0iR2FtbWFCbGFuayIgW3R5cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPUNP
TVBPTkVOVC1UUkFOU0ZFUl0gIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgNjUweDQyMCJdIFty
ZWQgZnVuYz1bdHlwZT1JREVOVElUWV1dIFtncmVlbiBmdW5jPVt0eXBlPUdBTU1BXSBbYW1wbGl0
dWRlPTEuMDBdIFtleHBvbmVudD0xLjAwXSBbb2Zmc2V0PTAuMDBdXSBbYmx1ZSBmdW5jPVt0eXBl
PUlERU5USVRZXV0gW2FscGhhIGZ1bmM9W3R5cGU9SURFTlRJVFldXV1dfQotS0NhbnZhc1Jlc291
cmNlIHtpZD0iR2FtbWFGdWxsIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9Q09NUE9O
RU5ULVRSQU5TRkVSXSAgW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSA2NTB4NDIwIl0gW3JlZCBm
dW5jPVt0eXBlPUlERU5USVRZXV0gW2dyZWVuIGZ1bmM9W3R5cGU9R0FNTUFdIFthbXBsaXR1ZGU9
MS4wMF0gW2V4cG9uZW50PTAuNTBdIFtvZmZzZXQ9MC4wMF1dIFtibHVlIGZ1bmM9W3R5cGU9SURF
TlRJVFldXSBbYWxwaGEgZnVuYz1bdHlwZT1JREVOVElUWV1dXV19Ci1LQ2FudmFzUmVzb3VyY2Ug
e2lkPSJHYW1tYU9yZCIgW3R5cGU9RklMVEVSXSAgW2VmZmVjdHM9W1t0eXBlPUNPTVBPTkVOVC1U
UkFOU0ZFUl0gIFtzdWJyZWdpb249ImF0ICgwLDApIHNpemUgNjUweDQyMCJdIFtyZWQgZnVuYz1b
dHlwZT1JREVOVElUWV1dIFtncmVlbiBmdW5jPVt0eXBlPUdBTU1BXSBbYW1wbGl0dWRlPTEuMDBd
IFtleHBvbmVudD0yLjAwXSBbb2Zmc2V0PTAuMDBdXSBbYmx1ZSBmdW5jPVt0eXBlPUlERU5USVRZ
XV0gW2FscGhhIGZ1bmM9W3R5cGU9SURFTlRJVFldXV1dfQorS0NhbnZhc1Jlc291cmNlIHtpZD0i
SWRlbnRpdHkiIFt0eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1DT01QT05FTlQtVFJBTlNG
RVJdICBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDF4MSJdIFtyZWQgZnVuYz1bdHlwZT1JREVO
VElUWV1dIFtncmVlbiBmdW5jPVt0eXBlPVVOS05PV05dXSBbYmx1ZSBmdW5jPVt0eXBlPVVOS05P
V05dXSBbYWxwaGEgZnVuYz1bdHlwZT1VTktOT1dOXV1dXX0KK0tDYW52YXNSZXNvdXJjZSB7aWQ9
IkdhbW1hQmxhbmsiIFt0eXBlPUZJTFRFUl0gIFtlZmZlY3RzPVtbdHlwZT1DT01QT05FTlQtVFJB
TlNGRVJdICBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDF4MSJdIFtyZWQgZnVuYz1bdHlwZT1V
TktOT1dOXV0gW2dyZWVuIGZ1bmM9W3R5cGU9R0FNTUFdIFthbXBsaXR1ZGU9MS4wMF0gW2V4cG9u
ZW50PTEuMDBdIFtvZmZzZXQ9MC4wMF1dIFtibHVlIGZ1bmM9W3R5cGU9VU5LTk9XTl1dIFthbHBo
YSBmdW5jPVt0eXBlPVVOS05PV05dXV1dfQorS0NhbnZhc1Jlc291cmNlIHtpZD0iR2FtbWFGdWxs
IiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9Q09NUE9ORU5ULVRSQU5TRkVSXSAgW3N1
YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXSBbcmVkIGZ1bmM9W3R5cGU9VU5LTk9XTl1dIFtn
cmVlbiBmdW5jPVt0eXBlPUdBTU1BXSBbYW1wbGl0dWRlPTEuMDBdIFtleHBvbmVudD0wLjUwXSBb
b2Zmc2V0PTAuMDBdXSBbYmx1ZSBmdW5jPVt0eXBlPVVOS05PV05dXSBbYWxwaGEgZnVuYz1bdHlw
ZT1VTktOT1dOXV1dXX0KK0tDYW52YXNSZXNvdXJjZSB7aWQ9IkdhbW1hT3JkIiBbdHlwZT1GSUxU
RVJdICBbZWZmZWN0cz1bW3R5cGU9Q09NUE9ORU5ULVRSQU5TRkVSXSAgW3N1YnJlZ2lvbj0iYXQg
KDAsMCkgc2l6ZSAxeDEiXSBbcmVkIGZ1bmM9W3R5cGU9VU5LTk9XTl1dIFtncmVlbiBmdW5jPVt0
eXBlPUdBTU1BXSBbYW1wbGl0dWRlPTEuMDBdIFtleHBvbmVudD0yLjAwXSBbb2Zmc2V0PTAuMDBd
XSBbYmx1ZSBmdW5jPVt0eXBlPVVOS05PV05dXSBbYWxwaGEgZnVuYz1bdHlwZT1VTktOT1dOXV1d
XX0KIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNp
emUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCkluZGV4OiBMYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL2ZlQ29tcG9uZW50VHJhbnNmZXItRGlzY3JldGUtZXhwZWN0ZWQucG5nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2
bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91dFRlc3Rz
L3N2Zy9jdXN0b20vZW1wdHktbWVyZ2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3N2Zy9jdXN0b20vZW1wdHktbWVyZ2UtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNTE3
MykKKysrIExheW91dFRlc3RzL3N2Zy9jdXN0b20vZW1wdHktbWVyZ2UtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAotS0NhbnZhc1Jlc291cmNlIHtpZD0iTXlGaWx0
ZXIiIFt0eXBlPUZJTFRFUl0gIFtib3VuZGluZyBib3g9YXQgKDAsMCkgc2l6ZSAxMDB4MTAwXSBb
Ym91bmRpbmcgYm94IG1vZGU9MF0gW2VmZmVjdHM9W1t0eXBlPU1FUkdFXSAgW3N1YnJlZ2lvbj0i
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwIl1bbWVyZ2UgaW5wdXRzPVtdXV1dfQorS0NhbnZhc1Jlc291
cmNlIHtpZD0iTXlGaWx0ZXIiIFt0eXBlPUZJTFRFUl0gIFtib3VuZGluZyBib3g9YXQgKDAsMCkg
c2l6ZSAxMDB4MTAwXSBbYm91bmRpbmcgYm94IG1vZGU9MF0gW2VmZmVjdHM9W1t0eXBlPU1FUkdF
XSAgW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXVttZXJnZSBpbnB1dHM9W11dXV19CiBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMApJbmRleDogTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9pbWFnZS13aXRoLXRyYW5zZm9ybS1jbGlwLWZpbHRlci1leHBlY3RlZC5jaGVja3N1
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2ltYWdlLXdpdGgtdHJhbnNm
b3JtLWNsaXAtZmlsdGVyLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAyNTE3MykKKysrIExh
eW91dFRlc3RzL3N2Zy9jdXN0b20vaW1hZ2Utd2l0aC10cmFuc2Zvcm0tY2xpcC1maWx0ZXItZXhw
ZWN0ZWQuY2hlY2tzdW0JKHdvcmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLTE4ZmEyMTQ0ZTVmYTMy
NjcxODJhYjI1ZDgzMTAwMzk2ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorOTdlMGE3NzMx
YTk0MDA5ZjZlN2E4NDllOTJiYmFmNmQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4
OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3Zpc2liaWxpdHktb3ZlcnJpZGUtZmlsdGVyLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3Zpc2liaWxpdHkt
b3ZlcnJpZGUtZmlsdGVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjUxNzMpCisrKyBMYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL3Zpc2liaWxpdHktb3ZlcnJpZGUtZmlsdGVyLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKLUtDYW52YXNSZXNvdXJjZSB7aWQ9Im15Zmls
dGVyIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1bW3R5cGU9RkxPT0RdICBbc3VicmVnaW9uPSJh
dCAoMCwwKSBzaXplIDgwMHg2MDAiXSBbY29sb3I9IzAwODAwMF0gW29wYWNpdHk9MS4wMF1dXX0K
K0tDYW52YXNSZXNvdXJjZSB7aWQ9Im15ZmlsdGVyIiBbdHlwZT1GSUxURVJdICBbZWZmZWN0cz1b
W3R5cGU9RkxPT0RdICBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDF4MSJdIFtjb2xvcj0jMDA4
MDAwXSBbb3BhY2l0eT0xLjAwXV1dfQogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0b20vZmVDb21wb25lbnRUcmFuc2Zlci1MaW5l
YXItZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFz
IGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0K
SW5kZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0b20vZmlsdGVyLXNvdXJjZS1hbHBoYS1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9maWx0ZXItc291cmNl
LWFscGhhLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjUxNzMpCisrKyBMYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL2ZpbHRlci1zb3VyY2UtYWxwaGEtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xLDQgKzEsNCBAQAotS0NhbnZhc1Jlc291cmNlIHtpZD0iZmlsdGVyIiBbdHlwZT1GSUxURVJd
ICBbYm91bmRpbmcgYm94PWF0ICgtMTAuMDAlLC0xMC4wMCUpIHNpemUgMTIwLjAwJXgxMjAuMDAl
XSBbZWZmZWN0cz1bW3R5cGU9R0FVU1NJQU4tQkxVUl0gW2luPSJTb3VyY2VBbHBoYSJdIFtyZXN1
bHQ9ImJsdXIiXSBbc3VicmVnaW9uPSJhdCAoMCwwKSBzaXplIDgwMHg2MDAiXSBbc3RkIGRldi4g
eD0wLjAwIHk9MC4wMF0sIFt0eXBlPU1FUkdFXSAgW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwIl1bbWVyZ2UgaW5wdXRzPVtibHVyLCBTb3VyY2VHcmFwaGljXV1dXX0KK0tDYW52YXNS
ZXNvdXJjZSB7aWQ9ImZpbHRlciIgW3R5cGU9RklMVEVSXSAgW2JvdW5kaW5nIGJveD1hdCAoLTEw
LjAwJSwtMTAuMDAlKSBzaXplIDEyMC4wMCV4MTIwLjAwJV0gW2VmZmVjdHM9W1t0eXBlPUdBVVNT
SUFOLUJMVVJdIFtpbj0iU291cmNlQWxwaGEiXSBbcmVzdWx0PSJibHVyIl0gW3N1YnJlZ2lvbj0i
YXQgKDAsMCkgc2l6ZSAxeDEiXSBbc3RkIGRldi4geD0wLjAwIHk9MC4wMF0sIFt0eXBlPU1FUkdF
XSAgW3N1YnJlZ2lvbj0iYXQgKDAsMCkgc2l6ZSAxeDEiXVttZXJnZSBpbnB1dHM9W2JsdXIsIFNv
dXJjZUdyYXBoaWNdXV1dfQogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZp
ZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKSW5k
ZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0b20vZmVDb21wb25lbnRUcmFuc2Zlci1MaW5lYXItZXhw
ZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9mZUNv
bXBvbmVudFRyYW5zZmVyLUxpbmVhci1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMjUxNzMp
CisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2ZlQ29tcG9uZW50VHJhbnNmZXItTGluZWFyLWV4
cGVjdGVkLmNoZWNrc3VtCSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi02NTQ3ZjkyNmFmMDRm
NzQ1MWRmOTQwODVmYjk4ZDlmYwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzRiM2UzYjNh
MmRhNjk1ZjNlMTgzMGI1YzkyOWQxNDAxClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>