<?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>189009</bug_id>
          
          <creation_ts>2018-08-27 14:48:21 -0700</creation_ts>
          <short_desc>Bundle unified sources more tightly in projects with deep directory structures</short_desc>
          <delta_ts>2018-09-06 14:43:33 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bdakin</cc>
    
    <cc>dbates</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1454101</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-27 14:48:21 -0700</bug_when>
    <thetext>Bundle unified sources more tightly in projects with deep directory structures</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454104</commentid>
    <comment_count>1</comment_count>
      <attachid>348203</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-27 14:49:31 -0700</bug_when>
    <thetext>Created attachment 348203
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454131</commentid>
    <comment_count>2</comment_count>
      <attachid>348211</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-27 15:23:47 -0700</bug_when>
    <thetext>Created attachment 348211
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454132</commentid>
    <comment_count>3</comment_count>
      <attachid>348212</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-27 15:25:12 -0700</bug_when>
    <thetext>Created attachment 348212
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454135</commentid>
    <comment_count>4</comment_count>
      <attachid>348212</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-08-27 15:25:58 -0700</bug_when>
    <thetext>Comment on attachment 348212
Patch

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

&gt; Source/WebKit/ChangeLog:50
&gt; +2018-08-27  Tim Horton  &lt;timothy_horton@apple.com&gt;

double change log</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454137</commentid>
    <comment_count>5</comment_count>
      <attachid>348213</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-27 15:26:48 -0700</bug_when>
    <thetext>Created attachment 348213
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454139</commentid>
    <comment_count>6</comment_count>
      <attachid>348214</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-27 15:28:01 -0700</bug_when>
    <thetext>Created attachment 348214
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454141</commentid>
    <comment_count>7</comment_count>
      <attachid>348215</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-27 15:30:25 -0700</bug_when>
    <thetext>Created attachment 348215
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454146</commentid>
    <comment_count>8</comment_count>
      <attachid>348212</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-08-27 15:35:00 -0700</bug_when>
    <thetext>Comment on attachment 348212
Patch

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

&gt; Source/WebCore/page/AlternativeTextClient.h:-34
&gt; -#define USE_DICTATION_ALTERNATIVES 1

There&apos;s a FIXME in WebPageProxy.h about this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454158</commentid>
    <comment_count>9</comment_count>
      <attachid>348222</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-27 15:48:55 -0700</bug_when>
    <thetext>Created attachment 348222
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454168</commentid>
    <comment_count>10</comment_count>
      <attachid>348228</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-27 16:04:47 -0700</bug_when>
    <thetext>Created attachment 348228
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454172</commentid>
    <comment_count>11</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-08-27 16:07:18 -0700</bug_when>
    <thetext>r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454188</commentid>
    <comment_count>12</comment_count>
      <attachid>348233</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-27 16:24:12 -0700</bug_when>
    <thetext>Created attachment 348233
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454194</commentid>
    <comment_count>13</comment_count>
      <attachid>348234</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-27 16:29:07 -0700</bug_when>
    <thetext>Created attachment 348234
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454211</commentid>
    <comment_count>14</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-27 16:42:34 -0700</bug_when>
    <thetext>The WPE failure is super weird.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454216</commentid>
    <comment_count>15</comment_count>
      <attachid>348238</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-27 16:45:56 -0700</bug_when>
    <thetext>Created attachment 348238
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454250</commentid>
    <comment_count>16</comment_count>
      <attachid>348245</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-27 18:02:50 -0700</bug_when>
    <thetext>Created attachment 348245
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454256</commentid>
    <comment_count>17</comment_count>
      <attachid>348248</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-27 18:22:38 -0700</bug_when>
    <thetext>Created attachment 348248
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454259</commentid>
    <comment_count>18</comment_count>
      <attachid>348250</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-27 19:03:05 -0700</bug_when>
    <thetext>Created attachment 348250
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454262</commentid>
    <comment_count>19</comment_count>
      <attachid>348252</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-27 19:26:40 -0700</bug_when>
    <thetext>Created attachment 348252
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454265</commentid>
    <comment_count>20</comment_count>
      <attachid>348254</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-27 19:27:54 -0700</bug_when>
    <thetext>Created attachment 348254
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454278</commentid>
    <comment_count>21</comment_count>
      <attachid>348259</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-27 20:40:39 -0700</bug_when>
    <thetext>Created attachment 348259
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454281</commentid>
    <comment_count>22</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-27 20:57:57 -0700</bug_when>
    <thetext>Seems like X11 headers are super dirty (at least, have a macro `None`). So I&apos;m de-unifying some GTK things to keep it building.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454282</commentid>
    <comment_count>23</comment_count>
      <attachid>348261</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-27 20:58:39 -0700</bug_when>
    <thetext>Created attachment 348261
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454287</commentid>
    <comment_count>24</comment_count>
      <attachid>348263</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-27 21:28:00 -0700</bug_when>
    <thetext>Created attachment 348263
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454292</commentid>
    <comment_count>25</comment_count>
      <attachid>348264</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-27 22:42:09 -0700</bug_when>
    <thetext>Created attachment 348264
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454355</commentid>
    <comment_count>26</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-08-28 06:06:19 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #22)
&gt; Seems like X11 headers are super dirty (at least, have a macro `None`). So
&gt; I&apos;m de-unifying some GTK things to keep it building.

Yeah, that None&apos;s pretty infamous. :/ X11 is 80s technology, I&apos;m afraid.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454356</commentid>
    <comment_count>27</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-08-28 06:09:38 -0700</bug_when>
    <thetext>Does this commit lead to a good build speedup? If so, then OK, but otherwise perhaps it&apos;s not worth it? It&apos;s not surprising that unifying files from different directories is harder.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454357</commentid>
    <comment_count>28</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-08-28 06:18:09 -0700</bug_when>
    <thetext>BTW, I&apos;ll try to help with the GTK and WPE builds later today or tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454385</commentid>
    <comment_count>29</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-28 08:51:11 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #27)
&gt; Does this commit lead to a good build speedup? If so, then OK, but otherwise
&gt; perhaps it&apos;s not worth it? It&apos;s not surprising that unifying files from
&gt; different directories is harder.

In WebKit2 it’s quite sizable. In WebCore there’s impact but less huge.

I think WPE is ok, and Gtk is clooooose.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454434</commentid>
    <comment_count>30</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-28 10:40:02 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #29)
&gt; (In reply to Michael Catanzaro from comment #27)
&gt; &gt; Does this commit lead to a good build speedup? If so, then OK, but otherwise
&gt; &gt; perhaps it&apos;s not worth it? It&apos;s not surprising that unifying files from
&gt; &gt; different directories is harder.

ALSO, many of these fixes are errors that have crept in since we turned on unified sources and would affect our ability to build singly, so they&apos;re good to fix regardless.

&gt; In WebKit2 it’s quite sizable. In WebCore there’s impact but less huge.
&gt; 
&gt; I think WPE is ok, and Gtk is clooooose.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454442</commentid>
    <comment_count>31</comment_count>
      <attachid>348311</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-28 10:53:20 -0700</bug_when>
    <thetext>Created attachment 348311
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454472</commentid>
    <comment_count>32</comment_count>
      <attachid>348314</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-28 11:32:51 -0700</bug_when>
    <thetext>Created attachment 348314
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454502</commentid>
    <comment_count>33</comment_count>
      <attachid>348324</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-28 12:45:22 -0700</bug_when>
    <thetext>Created attachment 348324
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454509</commentid>
    <comment_count>34</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-28 13:01:55 -0700</bug_when>
    <thetext>I&apos;m going to give up until mcatanzaro has a chance to peek at GTK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454540</commentid>
    <comment_count>35</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-08-28 13:56:50 -0700</bug_when>
    <thetext>OK. Right now I am attempting to figure out which of 235407-235410 (inclusive) has busted the layout tests so badly for GTK. I&apos;ve never had so much trouble before.

This bug is next!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454544</commentid>
    <comment_count>36</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-08-28 14:09:34 -0700</bug_when>
    <thetext>Oh, just from glancing at EWS, you busted Windows too. :P The Ruby process is crashing. Congrats!


[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

      0 [main] ruby 8204 cygwin_exception::open_stackdumpfile: Dumping stack trace to ruby.exe.stackdump
CMake Error at Source/cmake/WebKitMacros.cmake:47 (message):
  generate-unified-source-bundles.rb exited with non-zero status, exiting
Call Stack (most recent call first):
  Source/JavaScriptCore/CMakeLists.txt:1227 (WEBKIT_COMPUTE_SOURCES)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454549</commentid>
    <comment_count>37</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-28 14:22:47 -0700</bug_when>
    <thetext>Oddly windows built fine a few patches ago.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454578</commentid>
    <comment_count>38</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-08-28 15:18:44 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #35)
&gt; OK. Right now I am attempting to figure out which of 235407-235410
&gt; (inclusive) has busted the layout tests so badly for GTK. I&apos;ve never had so
&gt; much trouble before.

Did I break it with https://trac.webkit.org/changeset/235408/webkit ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454586</commentid>
    <comment_count>39</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-08-28 15:33:25 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #38)
&gt; Did I break it with https://trac.webkit.org/changeset/235408/webkit ?

Probably either that one or r235409... I wanted to narrow it down to the right commit, for starters. Thanks for your interest. Let&apos;s discuss in bug #189009.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454678</commentid>
    <comment_count>40</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-08-28 19:54:24 -0700</bug_when>
    <thetext>Um, I meant bug #189063.

Tim, I&apos;ll be back tomorrow to try to get GTK building here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455097</commentid>
    <comment_count>41</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-08-29 18:36:05 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #40)
&gt; Um, I meant bug #189063.
&gt; 
&gt; Tim, I&apos;ll be back tomorrow to try to get GTK building here.

Um, tomorrow again, sorry!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455124</commentid>
    <comment_count>42</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-08-29 20:03:17 -0700</bug_when>
    <thetext>Just kidding, tonight!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455125</commentid>
    <comment_count>43</comment_count>
      <attachid>348474</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-08-29 20:03:41 -0700</bug_when>
    <thetext>Created attachment 348474
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455332</commentid>
    <comment_count>44</comment_count>
      <attachid>348522</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-30 11:57:20 -0700</bug_when>
    <thetext>Created attachment 348522
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455333</commentid>
    <comment_count>45</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-30 11:57:36 -0700</bug_when>
    <thetext>Taking a stab at making the ruby slightly worse to not crash on windows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455343</commentid>
    <comment_count>46</comment_count>
      <attachid>348525</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-30 12:11:40 -0700</bug_when>
    <thetext>Created attachment 348525
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457269</commentid>
    <comment_count>47</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-09-06 14:39:09 -0700</bug_when>
    <thetext>*** Bug 189370 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457270</commentid>
    <comment_count>48</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-06 14:42:25 -0700</bug_when>
    <thetext>&lt;rdar://problem/44198126&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457271</commentid>
    <comment_count>49</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-09-06 14:43:33 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/235521/webkit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348203</attachid>
            <date>2018-08-27 14:49:31 -0700</date>
            <delta_ts>2018-08-27 15:23:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189009-20180827144931.patch</filename>
            <type>text/plain</type>
            <size>34322</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1Mzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDI5MmM2NDA4MzcwZGM0YWY2ZmVmYmQ0
MzZlZGNhYTc3ZDA3NWUzOWEuLmU2OTI5Y2ZkOTExZGJhM2EyYjg4ZDIyMzE3YzMzNDE2NjE1ZTA4
MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3Jl
IHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvZ2Vu
ZXJhdGUtdW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYjoKKyAgICAgICAgSXQgdHVybnMgb3V0IG91
ciBwbGFuIHRvIHN3aXRjaCB1bmlmaWVkIHNvdXJjZSBidW5kbGUgZXZlcnkgdGltZSB0aGUgZGly
ZWN0b3J5CisgICAgICAgIGNoYW5nZXMgaXMgbm90IGEgZ29vZCBmaXQgZm9yIHByb2plY3RzIGxp
a2UgV2ViS2l0MiB3aXRoIG1hbnkgc21hbGwgZGlyZWN0b3JpZXMuCisgICAgICAgIEl0IGxlYXZl
cyBtYW55IHVuaWZpZWQgc291cmNlIGJ1bmRsZXMgd2l0aCBvbmx5IGEgc2luZ2xlIHNvdXJjZSBm
aWxlLAorICAgICAgICBhY2hpZXZpbmcgb25seSB+NDAlIGRlbnNpdHkuCisKKyAgICAgICAgSW5z
dGVhZCwgc3dpdGNoIHVuaWZpZWQgc291cmNlIGJ1bmRsZXMgZXZlcnkgdGltZSB0aGUgdG9wLWxl
dmVsIGRpcmVjdG9yeSBjaGFuZ2VzLgorICAgICAgICBUaGlzIHN0aWxsIGFjaGlldmVzIHRoZSBn
b2FsIG9mICp1c3VhbGx5KiBvbmx5IHJlYnVpbGRpbmcgdGhlIG9uZSB0b3AtbGV2ZWwKKyAgICAg
ICAgZGlyZWN0b3J5IHlvdSB0b3VjaGVkLCBhbmQgaW5jcmVhc2VzIHNvdXJjZSBidW5kbGUgZGVu
c2l0eSB3aWxkbHksIHRvIH45NSUuCisKIDIwMTgtMDgtMjcgIEtlaXRoIFJvbGxpbiAgPGtyb2xs
aW5AYXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxkIHN5c3RlbSBzdXBwb3J0IGZvciBMVE8KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCBhMGI5YTAyZDQ5MWQzYzc0NDBhY2U4YTIyNDFjNGU1MzUwYzVmNTE0Li5jYTA0
OWYxNTUzOTMzOTAyNDIyM2FlMjgyMTRkNGU0M2I2MjlhNGM3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjggQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5j
b20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3JlIHRpZ2h0bHkgaW4gcHJv
amVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggYSB2YXJpZXR5IG9mIHVuaWZpY2F0aW9u
IGVycm9ycyBkdWUgdG8gcmVzaHVmZmxpbmcgdGhlIGJ1bmRsZXMuCisKKyAgICAgICAgKiBNb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAqIGNyeXB0by9hbGdv
cml0aG1zL0NyeXB0b0FsZ29yaXRobUVDRFNBLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0
b0FsZ29yaXRobUVDRFNBOjppbXBvcnRLZXkpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgor
ICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHA6CisgICAgICAgICogbG9h
ZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAq
IHBhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vUGFzdGVi
b2FyZC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRv
ci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseVNwZWNpZmljYXRp
b25OdWxsLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29j
b2EuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5j
cHA6CisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tG
bG93LmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJ
bmxpbmUuY3BwOgorCiAyMDE4LTA4LTI3ICBLZWl0aCBSb2xsaW4gIDxrcm9sbGluQGFwcGxlLmNv
bT4KIAogICAgICAgICBCdWlsZCBzeXN0ZW0gc3VwcG9ydCBmb3IgTFRPCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDBm
ODY4ZjBlOWJhZTI2ODExZmJmMjRkMWM5YWY0ZTg5ZmQyM2VkMTcuLjFlYTZhMmEzMmVhM2UyNWRi
Zjg5Y2Y0ZDAyMDE5ZTZmZGM2ZGRkMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDggQEAKKzIwMTgt
MDgtMjcgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAg
QnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3JlIHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVw
IGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBGaXggYSB2YXJpZXR5IG9mIHVuaWZpY2F0aW9uIGVycm9ycyBkdWUgdG8g
cmVzaHVmZmxpbmcgdGhlIGJ1bmRsZXMuCisKKyAgICAgICAgKiBTaGFyZWQvUGx1Z2lucy9OZXRz
Y2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMubW06CisgICAgICAgICogU2hhcmVkL1Bs
dWdpbnMvTmV0c2NhcGUvbWFjL1BsdWdpbkluZm9ybWF0aW9uTWFjLm1tOgorICAgICAgICAqIFNv
dXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElBdXRvbWF0aW9uU2Vz
c2lvbkNsaWVudC5oOgorICAgICAgICAoQVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudDo6c2Vz
c2lvbklkZW50aWZpZXIgY29uc3QpOgorICAgICAgICAoQVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkNs
aWVudDo6bWVzc2FnZU9mQ3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UpOgorICAgICAgICAo
QVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudDo6c2V0VXNlcklucHV0Rm9yQ3VycmVudEphdmFT
Y3JpcHRQcm9tcHRPblBhZ2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9MZWdhY3lDdXN0
b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW06CisgICAgICAgICgtW1dLQ3VzdG9tUHJvdG9jb2xM
b2FkZXIgaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTpjdXN0b21Qcm90
b2NvbElEOnJlcXVlc3Q6XSk6CisgICAgICAgICgtW1dLQ3VzdG9tUHJvdG9jb2xMb2FkZXIgY29u
bmVjdGlvbjpkaWRGYWlsV2l0aEVycm9yOl0pOgorICAgICAgICAoLVtXS0N1c3RvbVByb3RvY29s
TG9hZGVyIGNvbm5lY3Rpb246ZGlkUmVjZWl2ZVJlc3BvbnNlOl0pOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Omdl
bmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQpOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Q
cm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Q
cm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2lu
UHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZvckhvc3ROYW1lcyk6CisgICAgICAgIChX
ZWJLaXQ6OmdlbmVyYXRlQ2FsbGJhY2tJRCk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNz
L1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OmdlbmVy
YXRlU3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVBy
b2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VQ
cm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFn
ZVByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKToKKyAgICAgICAgKFdl
YktpdDo6Z2VuZXJhdGVDYWxsYmFja0lEKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUERG
L1BERlBsdWdpbi5tbToKKyAgICAgICAgKC1bV0tQREZQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0
IGFjY2Vzc2liaWxpdHlQZXJmb3JtQWN0aW9uOl0pOgorICAgICAgICAoLVtXS1BERlBsdWdpbkFj
Y2Vzc2liaWxpdHlPYmplY3QgYWNjZXNzaWJpbGl0eUZvY3VzZWRVSUVsZW1lbnRdKToKKyAgICAg
ICAgKC1bV0tQREZQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0IGFjY2Vzc2liaWxpdHlBc3NvY2lh
dGVkQ29udHJvbEZvckFubm90YXRpb246XSk6CisgICAgICAgICgtW1dLUERGUGx1Z2luQWNjZXNz
aWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5SGl0VGVzdDpdKToKKyAgICAgICAgKC1bV0tQREZM
YXllckNvbnRyb2xsZXJEZWxlZ2F0ZSB1cGRhdGVTY3JvbGxQb3NpdGlvbjpdKToKKyAgICAgICAg
KFdlYktpdDo6UERGUGx1Z2luOjp1cGRhdGVDdXJzb3IpOgorICAgICAgICAoV2ViS2l0Ojpjb3Jl
Q3Vyc29yKToKKyAgICAgICAgKGFwcGVuZFZhbHVlc0luUERGTmFtZVN1YnRyZWVUb1ZlY3Rvcik6
IERlbGV0ZWQuCisgICAgICAgIChnZXRBbGxWYWx1ZXNJblBERk5hbWVUcmVlKTogRGVsZXRlZC4K
KyAgICAgICAgKGdldEFsbFNjcmlwdHNJblBERkRvY3VtZW50KTogRGVsZXRlZC4KKwogMjAxOC0w
OC0yNyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAg
ICAgIEZpeCBpbnRlcm5hbCBidWlsZHMgYWZ0ZXIgcjIzNTM2OApkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi9TY3JpcHRzL2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIgYi9Tb3VyY2Uv
V1RGL1NjcmlwdHMvZ2VuZXJhdGUtdW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYgppbmRleCBjMDE5
NjZlZTFiMmM2N2Q5NzYwZjAzYTViYmNhYTNjYjU3MjYxMmIzLi5hYmQ5NzY3N2EyMGFkYjRkNDYy
ZWI5OGY3NzhkOTgwMjliZGQ0OTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1NjcmlwdHMvZ2Vu
ZXJhdGUtdW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYgorKysgYi9Tb3VyY2UvV1RGL1NjcmlwdHMv
Z2VuZXJhdGUtdW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYgpAQCAtMjEwLDEwICsyMTAsMTcgQEAg
Y2xhc3MgQnVuZGxlTWFuYWdlcgogICAgIGVuZAogZW5kCiAKK2RlZiBUb3BMZXZlbERpcmVjdG9y
eUZvclBhdGgocGF0aCkKKyAgICBpZiAhcGF0aAorICAgICAgICByZXR1cm4gbmlsCisgICAgZW5k
CisgICAgcmV0dXJuIHBhdGguZWFjaF9maWxlbmFtZS5uZXh0CitlbmQKKwogZGVmIFByb2Nlc3NG
aWxlRm9yVW5pZmllZFNvdXJjZUdlbmVyYXRpb24oc291cmNlRmlsZSkKICAgICBwYXRoID0gc291
cmNlRmlsZS5wYXRoCi0gICAgaWYgKCRjdXJyZW50RGlyZWN0b3J5ICE9IHBhdGguZGlybmFtZSkK
LSAgICAgICAgbG9nKCJGbHVzaGluZyBiZWNhdXNlIG5ldyBkaXJuYW1lOyBvbGQ6ICN7JGN1cnJl
bnREaXJlY3Rvcnl9LCBuZXc6ICN7cGF0aC5kaXJuYW1lfSIpCisgICAgaWYgKFRvcExldmVsRGly
ZWN0b3J5Rm9yUGF0aCgkY3VycmVudERpcmVjdG9yeSkgIT0gVG9wTGV2ZWxEaXJlY3RvcnlGb3JQ
YXRoKHBhdGguZGlybmFtZSkpCisgICAgICAgIGxvZygiRmx1c2hpbmcgYmVjYXVzZSBuZXcgdG9w
IGxldmVsIGRpcmVjdG9yeTsgb2xkOiAjeyRjdXJyZW50RGlyZWN0b3J5fSwgbmV3OiAje3BhdGgu
ZGlybmFtZX0iKQogICAgICAgICAkYnVuZGxlTWFuYWdlcnMuZWFjaF92YWx1ZSB7IHx4fCB4LmZs
dXNoIH0KICAgICAgICAgJGN1cnJlbnREaXJlY3RvcnkgPSBwYXRoLmRpcm5hbWUKICAgICBlbmQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybS5oCmluZGV4IDBjNmVmYjg2Mjk4MjUzOWQyYjRiMmNjNGY4ZjhiNWZjYjRlYzg4ZTgu
LjY3Y2ZhOTMzMTNjOTA0MjFlYjZjZjE3OWQ5OGVmNzAzZGEwZTQ5ZGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApA
QCAtMTMxNCw2ICsxMzE0LDcgQEAKICNpZiBQTEFURk9STShNQUMpCiAjZGVmaW5lIEhBVkVfVE9V
Q0hfQkFSIDEKICNkZWZpbmUgSEFWRV9BRFZBTkNFRF9TUEVMTF9DSEVDS0lORyAxCisjZGVmaW5l
IFVTRV9ESUNUQVRJT05fQUxURVJOQVRJVkVTIDEKIAogI2lmIGRlZmluZWQoX19MUDY0X18pCiAj
ZGVmaW5lIEVOQUJMRV9XRUJfUExBWUJBQ0tfQ09OVFJPTFNfTUFOQUdFUiAxCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNwcAppbmRl
eCA5NjEzMmU2OTczN2FlOThhNjBmOTU0ZjFmMzExODM4NDEwNzFlMGE5Li5jZGI3NzdlOTk5Mjky
MjFjZjBhOGYwMTE0MmIyZDA3ZWRlOWVmZWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29udHJvbGxlci5jcHAKQEAgLTI3LDYgKzI3LDcgQEAK
IAogI2lmIEVOQUJMRShXRUJfUlRDKQogCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRl
ICJMaWJXZWJSVENQcm92aWRlci5oIgogI2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9uLmgiCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29y
aXRobUVDRFNBLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0Fs
Z29yaXRobUVDRFNBLmNwcAppbmRleCA5NzMxN2UwNGE5Nzk3ZjE1NjE2ZGU0Yzc2MDhiNzQ1ZDlm
ZGVkZWY3Li4xYjUzYzQ1M2IzNTI1MzZiNDgxMmVkZDJhYTY0ZDkxZTk1ZGY4NTRiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1FQ0RT
QS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3Jp
dGhtRUNEU0EuY3BwCkBAIC0zNiwxMiArMzYsMTQgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CituYW1lc3BhY2UgQ3J5cHRvQWxnb3JpdGhtRUNEU0FJbnRlcm5hbCB7CiBzdGF0aWMgY29uc3Qg
Y2hhciogY29uc3QgQUxHMjU2ID0gIkVTMjU2IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBB
TEczODQgPSAiRVMzODQiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzUxMiA9ICJFUzUx
MiI7CiBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgUDI1NiA9ICJQLTI1NiI7CiBzdGF0aWMgY29u
c3QgY2hhciogY29uc3QgUDM4NCA9ICJQLTM4NCI7CiBzdGF0aWMgY29uc3QgY2hhciogY29uc3Qg
UDUyMSA9ICJQLTUyMSI7Cit9CiAKIFJlZjxDcnlwdG9BbGdvcml0aG0+IENyeXB0b0FsZ29yaXRo
bUVDRFNBOjpjcmVhdGUoKQogewpAQCAtMTAyLDYgKzEwNCw3IEBAIHZvaWQgQ3J5cHRvQWxnb3Jp
dGhtRUNEU0E6OmdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMmIHBh
cmFtZXRlCiAKIHZvaWQgQ3J5cHRvQWxnb3JpdGhtRUNEU0E6OmltcG9ydEtleShDcnlwdG9LZXlG
b3JtYXQgZm9ybWF0LCBLZXlEYXRhJiYgZGF0YSwgY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1l
dGVycyYgcGFyYW1ldGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAg
dXNhZ2VzLCBLZXlDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2Vw
dGlvbkNhbGxiYWNrKQogeworICAgIHVzaW5nIG5hbWVzcGFjZSBDcnlwdG9BbGdvcml0aG1FQ0RT
QUludGVybmFsOwogICAgIGNvbnN0IGF1dG8mIGVjUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0
b0FsZ29yaXRobUVjS2V5UGFyYW1zPihwYXJhbWV0ZXJzKTsKIAogICAgIFJlZlB0cjxDcnlwdG9L
ZXlFQz4gcmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCAwYTFkOTAzNDE3ZDRjYTlkYzBl
MzBiYmZmYWM0MWQxODhmMzFiZGJjLi5iMTgwYmM0MzM5YTU5NmVhYjEzYjBkNGU5YjI2MTZiNGU3
OTU5MjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtNjQxLDcgKzY0MSw3IEBAIHB1YmxpYzoK
ICAgICAKICAgICBXRUJDT1JFX0VYUE9SVCBEb2N1bWVudExvYWRlciogbG9hZGVyKCkgY29uc3Q7
CiAKLSAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRpb25PcjxSZWZQdHI8V2luZG93UHJveHk+PiBv
cGVuRm9yQmluZGluZ3MoRE9NV2luZG93JiBhY3RpdmVXaW5kb3csIERPTVdpbmRvdyYgZmlyc3RX
aW5kb3csIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIGNvbnN0
IFN0cmluZyYgZmVhdHVyZXMpOworICAgIFdFQkNPUkVfRVhQT1JUIEV4Y2VwdGlvbk9yPFJlZlB0
cjxXaW5kb3dQcm94eT4+IG9wZW5Gb3JCaW5kaW5ncyhET01XaW5kb3cmIGFjdGl2ZVdpbmRvdywg
RE9NV2luZG93JiBmaXJzdERPTVdpbmRvdywgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IEF0b21p
Y1N0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBmZWF0dXJlcyk7CiAgICAgV0VCQ09SRV9FWFBP
UlQgRXhjZXB0aW9uT3I8RG9jdW1lbnQmPiBvcGVuRm9yQmluZGluZ3MoRG9jdW1lbnQqIHJlc3Bv
bnNpYmxlRG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgU3RyaW5nJiByZXBsYWNl
KTsKIAogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgcmVuYW1lIHRoaXMgYXQgc29tZSBwb2ludCBh
bmQgZ2l2ZSBiYWNrIHRoZSBuYW1lICdvcGVuJyB0byB0aGUgSFRNTCBzcGVjaWZpZWQgb25lcy4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCmluZGV4
IGU0MGY5YTg4NmYxNTkwNGU2MmYwZjI2ODhhODY5YTY5ODg5YjRhODkuLmM3MzE5MjJhZjgyOTgz
YjlkYWE2YmM3ZmU1MjI3ODYzNzMxNjgzZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkhU
TUxEb2N1bWVudFBhcnNlci5oIgogI2luY2x1ZGUgIkhUTUxGb3JtQ29udHJvbEVsZW1lbnQuaCIK
ICNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50
LmgiCiAjaW5jbHVkZSAiSFRNTE9wdEdyb3VwRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxPcHRp
b25FbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxv
YWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVS
ZXNvdXJjZUxvYWRlci5oCmluZGV4IDcyYjI5NzU1ZjExZDk0MDk1ZmE3ZWRkNTMwOTY4ZjdjNTdi
NTdiZWIuLjZkOWEyZGE5YmUwMzIwMDdhODJlZGE2OGMxNmZkMmYyOGIxYzEyODMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3Vy
Y2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRp
b25DYWNoZVJlc291cmNlTG9hZGVyLmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNl
CiAKKyNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2UuaCIKICNpbmNsdWRlICJDYWNo
ZWRSYXdSZXNvdXJjZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJhd1Jlc291cmNlQ2xpZW50LmgiCiAj
aW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Fs
dGVybmF0aXZlVGV4dENsaWVudC5oCmluZGV4IDkzNTU5Mzc4OGY5ODk5YzllMjI1MTA4OGI0ZTc2
ZDAwNWQzZDJmOTguLjE0M2RhNmM0N2Y0YmNlZmMwYTQxYWE4NzY0NjdkMDQ0NzE1YmE3MGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9BbHRlcm5hdGl2ZVRleHRDbGllbnQuaApAQCAtMjksMTEg
KzI5LDYgQEAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RG
U3RyaW5nLmg+CiAKLSNpZiBQTEFURk9STShNQUMpCi0vLyBTb21lIHBsYXRmb3JtcyBwcm92aWRl
IFVJIGZvciBzdWdnZXN0aW5nIGFsdGVybmF0aXZlIGRpY3RhdGlvbiB0ZXh0LgotI2RlZmluZSBV
U0VfRElDVEFUSU9OX0FMVEVSTkFUSVZFUyAxCi0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBlbnVtIFJlYXNvbkZvckRpc21pc3NpbmdBbHRlcm5hdGl2ZVRleHQgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vUGFzdGVib2FyZC5oCmluZGV4IGQ1NDMzZGQ5MjBhZTBlZTU5MmJkNDVmZDU2MGNk
ZDNlMzhhMzQ3MjEuLmUwOTgxNTY1MWJkMmQ2MDU3NGRhNDIzNmMzODBmYWQ0ZDYwMjE1YTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKQEAgLTMzOCw2ICszMzgsNyBAQCBleHRl
cm4gTlNTdHJpbmcgKlVJQ29sb3JQYm9hcmRUeXBlOwogI2lmIFBMQVRGT1JNKE1BQykKIGV4dGVy
biBjb25zdCBjaGFyKiBjb25zdCBXZWJBcmNoaXZlUGJvYXJkVHlwZTsKIGV4dGVybiBjb25zdCBj
aGFyKiBjb25zdCBXZWJVUkxOYW1lUGJvYXJkVHlwZTsKK2V4dGVybiBjb25zdCBjaGFyKiBjb25z
dCBXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGU7CiAjZW5kaWYKIAogI2lmICFQTEFURk9STShH
VEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5
UmVmcmVzaE1vbml0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlz
cGxheVJlZnJlc2hNb25pdG9yLmNwcAppbmRleCA5NjhiYjIyODZhMWY3ZTU4NDY0ZWY4OGQ3OWU2
MWVmNDI0OTAxNTVmLi4zZTJjODJiOGIxMmVkYTA5ZGI0M2Y0YzEzMDE0YzViYmFjMGI3MDMwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVz
aE1vbml0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3Bs
YXlSZWZyZXNoTW9uaXRvci5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkRpc3Bs
YXlSZWZyZXNoTW9uaXRvckNsaWVudC5oIgogI2luY2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRv
ck1hbmFnZXIuaCIKKyNpbmNsdWRlICJMb2dnaW5nLmgiCiAKICNpZiBQTEFURk9STShJT1MpCiAj
aW5jbHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9ySU9TLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseVNwZWNpZmljYXRp
b25OdWxsLmNwcAppbmRleCAyMTc2OTFmNzIzOTc0ZTgwMDU3OWIyOGNjMDU2YTdiOWMwODVjNjRk
Li4xNWMwMzg3Njk4MjYwZjQwNWUyMmU1YmY1Mjc4MDAzMDhjN2ZlM2JmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbk51
bGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlT
cGVjaWZpY2F0aW9uTnVsbC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJGb250RmFt
aWx5U3BlY2lmaWNhdGlvbk51bGwuaCIKIAogI2luY2x1ZGUgIkZvbnRTZWxlY3Rvci5oIgorI2lu
Y2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1h
Yy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCmluZGV4
IGNiNTA0Y2Y1NDNlYjdlODBkNzY2NWNkMWU1N2UzMDg5YWZmYjFhNzAuLmZkNmU5Mjk4Nzc0ZmFm
NGZlODczNWJmMjc1NjVhZGM5NTMyYmY2MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9QYXN0ZWJvYXJkTWFjLm1tCkBAIC01MiwxMCArNTIsMTAgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjb25zdCBjaGFyKiBjb25zdCBXZWJBcmNoaXZlUGJvYXJkVHlwZSA9ICJBcHBsZSBX
ZWIgQXJjaGl2ZSBwYXN0ZWJvYXJkIHR5cGUiOwogY29uc3QgY2hhciogY29uc3QgV2ViVVJMTmFt
ZVBib2FyZFR5cGUgPSAicHVibGljLnVybC1uYW1lIjsKK2NvbnN0IGNoYXIqIGNvbnN0IFdlYlVS
THNXaXRoVGl0bGVzUGJvYXJkVHlwZSA9ICJXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGUiOwog
CiBjb25zdCBjaGFyIFdlYlNtYXJ0UGFzdGVQYm9hcmRUeXBlW10gPSAiTmVYVCBzbWFydCBwYXN0
ZSBwYXN0ZWJvYXJkIHR5cGUiOwogY29uc3QgY2hhciBXZWJVUkxQYm9hcmRUeXBlW10gPSAicHVi
bGljLnVybCI7Ci1jb25zdCBjaGFyIFdlYlVSTHNXaXRoVGl0bGVzUGJvYXJkVHlwZVtdID0gIldl
YlVSTHNXaXRoVGl0bGVzUGJvYXJkVHlwZSI7CiAKIHN0YXRpYyBjb25zdCBWZWN0b3I8U3RyaW5n
PiB3cml0YWJsZVR5cGVzRm9yVVJMKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5h
Z2VyQ29jb2EuY3BwCmluZGV4IDVjMmE5ZDI0MTk4YTEzZTQ4YzRmNzNlOWRlNjFkZDM3YWRlOTI1
NTEuLmY0OTJlNjE0MmYwMjMxYjk5N2U5NmJhNTkyNzk1ODg1NjgwOTMzYWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1h
bmFnZXJDb2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL0Rpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29hLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAj
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAorI2luY2x1ZGUgIkNvcmVWaWRlb1NvZnRMaW5rLmgi
CiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgPHd0Zi9BbGdvcml0aG1zLmg+CiAjaW5j
bHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAppbmRleCAyNTQwOTY1NmMz
ZDYzMjAzNjE2NWZhYjFkZDc0OWU4OGZjYTY4NDgyLi5mZjU4MzYxNzRlYWI5NTk1MjhhMjA3YmZi
YWFiNjAwMzlkOWI1MDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNs
dWRlICJIVFRQSGVhZGVyTmFtZXMuaCIKICNpbmNsdWRlICJQdWJsaWNTdWZmaXguaCIKICNpbmNs
dWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCiAj
aW5jbHVkZSAiU2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlIDx3dGYvUG9pbnRlckNvbXBhcmlz
b24uaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91
cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5jcHAKaW5kZXggM2JjODJjNmUxYWJk
MmZhYzQzYjA5OWM4ZTZlM2NjZjM2NmRkODUzYi4uMmMyYjUwOGZhYzVjNmZjODQ2Mjg1YzlmZmE4
OTVhN2I0MDIyYjhlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0
aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cuY3BwCkBAIC0yNyw2
ICsyNyw4IEBACiAjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cuaCIKIAogI2lu
Y2x1ZGUgIlJlbmRlck11bHRpQ29sdW1uRmxvdy5oIgorI2luY2x1ZGUgIlJlbmRlclRyZWVCdWls
ZGVyQmxvY2suaCIKKyNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlck11bHRpQ29sdW1uLmgiCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5saW5lLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAKaW5kZXggN2Nk
MDcxNWRmNTI0YTc2ZmQyMDZhMjM0MjhkOWRhYzdkN2Q4NTNmOC4uZGM5NTNjY2RjZWU4MzAxZGZk
MDU5N2E2MWQwNTJlM2M1MGI5ZjYxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5saW5lLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwCkBAIC0z
MCw2ICszMCw3IEBACiAjaW5jbHVkZSAiUmVuZGVyRnVsbFNjcmVlbi5oIgogI2luY2x1ZGUgIlJl
bmRlcklubGluZS5oIgogI2luY2x1ZGUgIlJlbmRlclRhYmxlLmgiCisjaW5jbHVkZSAiUmVuZGVy
VHJlZUJ1aWxkZXJUYWJsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2lu
TW9kdWxlTWFjLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMv
TmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMubW0KaW5kZXggNjhkN2M2YWRmMzYyNzUxMzEyOTYzNTYy
ODZmMTFlODQ5YzE0YzJjMC4uYzBjY2FjNTk4NTNjZmFmZmQ5ZmYxZDFlM2Q2OGI2N2Q2NDU3Zjdj
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMv
TmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1
Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMubW0KQEAgLTM0LDkgKzM0
LDggQEAKICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYvc3BpL2NmL0NG
QnVuZGxlU1BJLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBzdGF0aWMgYm9vbCBnZXRQbHVnaW5B
cmNoaXRlY3R1cmUoQ0ZCdW5kbGVSZWYgYnVuZGxlLCBQbHVnaW5Nb2R1bGVJbmZvJiBwbHVnaW4p
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21h
Yy9QbHVnaW5JbmZvcm1hdGlvbk1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMv
TmV0c2NhcGUvbWFjL1BsdWdpbkluZm9ybWF0aW9uTWFjLm1tCmluZGV4IDVlYzg0MjQ5NTljYmMx
OTI4ODZmYTc1YWJmMDNmM2Q4ODViY2IxZDkuLjMyNTg0ZDQxNmJlMGZmMjVlOWU5MWRkZjQyODcw
ZTMzOTRmNDkzNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0
c2NhcGUvbWFjL1BsdWdpbkluZm9ybWF0aW9uTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL1BsdWdpbkluZm9ybWF0aW9uTWFjLm1tCkBAIC0zNCw5
ICszNCw4IEBACiAjaW1wb3J0ICJTdHJpbmdVdGlsaXRpZXMuaCIKICNpbXBvcnQgPFdlYkNvcmUv
UGx1Z2luQmxhY2tsaXN0Lmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiB2b2lkIGdldFBsYXRmb3Jt
UGx1Z2luTW9kdWxlSW5mb3JtYXRpb24oY29uc3QgUGx1Z2luTW9kdWxlSW5mbyYgcGx1Z2luLCBB
UEk6OkRpY3Rpb25hcnk6Ok1hcFR5cGUmIG1hcCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRl
eCBkOGEzYzkwZGZmZTMyMjMyMmQ3NjNlZTIxZTdjYmE0NTBmZTg1ZmNmLi40NmE4Y2Q1NTYyOTVi
ZTI1M2QxYTdmMDYxMTczYjFiYTljMzlkZDIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC0z
MDAsNyArMzAwLDcgQEAgVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGlu
YXRvclByb3h5Q29jb2EubW0KIAogVUlQcm9jZXNzL0FwcGxlUGF5L2lvcy9XZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eUlPUy5tbQogCi1VSVByb2Nlc3MvQXBwbGVQYXkvbWFjL1dlYlBheW1lbnRD
b29yZGluYXRvclByb3h5TWFjLm1tCitVSVByb2Nlc3MvQXBwbGVQYXkvbWFjL1dlYlBheW1lbnRD
b29yZGluYXRvclByb3h5TWFjLm1tIEBuby11bmlmeQogCiBVSVByb2Nlc3MvQXV0aGVudGljYXRp
b24vY29jb2EvQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eUNvY29hLm1tCiBVSVByb2Nlc3Mv
QXV0aGVudGljYXRpb24vY29jb2EvU2VjS2V5UHJveHlTdG9yZS5tbQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaApp
bmRleCBiZmM1ZWUzMzgyMjBkOTE1NmZjY2YwMGMxZTc2ZDBiYmVlOTA0MTkwLi4zNzljODg1N2Jl
OTRiNjE5NTU1ZWRmZmVjNGMzYTlhNmUxNzc5NDg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaApAQCAtNTEs
NyArNTEsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIH5BdXRvbWF0aW9uU2Vzc2lvbkNsaWVu
dCgpIHsgfQogCi0gICAgdmlydHVhbCBTdHJpbmcgc2Vzc2lvbklkZW50aWZpZXIoKSBjb25zdCB7
IHJldHVybiBTdHJpbmcoKTsgfQorICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgc2Vzc2lvbklkZW50
aWZpZXIoKSBjb25zdCB7IHJldHVybiBXVEY6OlN0cmluZygpOyB9CiAgICAgdmlydHVhbCB2b2lk
IGRpZERpc2Nvbm5lY3RGcm9tUmVtb3RlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mKSB7
IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdE5ld1BhZ2VXaXRoT3B0aW9ucyhXZWJLaXQ6Oldl
YkF1dG9tYXRpb25TZXNzaW9uJiwgQXV0b21hdGlvblNlc3Npb25Ccm93c2luZ0NvbnRleHRPcHRp
b25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYktpdDo6V2ViUGFnZVByb3h5Kik+JiYgY29t
cGxldGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIobnVsbHB0cik7IH0KICAgICB2aXJ0
dWFsIHZvaWQgcmVxdWVzdE1heGltaXplV2luZG93T2ZQYWdlKFdlYktpdDo6V2ViQXV0b21hdGlv
blNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikgeyBjb21wbGV0aW9uSGFuZGxlcigpOyB9CkBAIC02MSw4
ICs2MSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNTaG93aW5nSmF2YVNjcmlwdERp
YWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdl
UHJveHkmKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNtaXNzQ3VycmVu
dEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdl
YktpdDo6V2ViUGFnZVByb3h5JikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGFjY2VwdEN1cnJlbnRK
YXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJL
aXQ6OldlYlBhZ2VQcm94eSYpIHsgfQotICAgIHZpcnR1YWwgU3RyaW5nIG1lc3NhZ2VPZkN1cnJl
bnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBX
ZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgcmV0dXJuIFN0cmluZygpOyB9Ci0gICAgdmlydHVhbCB2
b2lkIHNldFVzZXJJbnB1dEZvckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKFdlYktpdDo6
V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIGNvbnN0IFN0cmlu
ZyYpIHsgfQorICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgbWVzc2FnZU9mQ3VycmVudEphdmFTY3Jp
cHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2Vi
UGFnZVByb3h5JikgeyByZXR1cm4gV1RGOjpTdHJpbmcoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBz
ZXRVc2VySW5wdXRGb3JDdXJyZW50SmF2YVNjcmlwdFByb21wdE9uUGFnZShXZWJLaXQ6OldlYkF1
dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBjb25zdCBXVEY6OlN0cmlu
ZyYpIHsgfQogICAgIHZpcnR1YWwgc3RkOjpvcHRpb25hbDxKYXZhU2NyaXB0RGlhbG9nVHlwZT4g
dHlwZU9mQ3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9u
U2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyByZXR1cm4gc3RkOjpudWxsb3B0OyB9
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9MZWdhY3lD
dXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW0KaW5kZXggMTFiYTM3MjY1
NDgzZmZlN2ZmMjQ2NTA5NDBkOGYzM2E1MmMwYzA0YS4uMTlhNTliNDJjYWI3YjU0N2VkOTQ0NjBl
NzJmYzAzOTZjZmU3OTI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbQpA
QCAtMzIsMjMgKzMyLDIwIEBACiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgog
I2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKLQogQGludGVyZmFjZSBXS0N1c3RvbVBy
b3RvY29sTG9hZGVyIDogTlNPYmplY3QgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlPiB7CiBAcHJp
dmF0ZQotICAgIExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiBfY3VzdG9tUHJvdG9j
b2xNYW5hZ2VyUHJveHk7CisgICAgV2ViS2l0OjpMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQ
cm94eSogX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OwogICAgIHVpbnQ2NF90IF9jdXN0b21Q
cm90b2NvbElEOwogICAgIE5TVVJMQ2FjaGVTdG9yYWdlUG9saWN5IF9zdG9yYWdlUG9saWN5Owog
ICAgIE5TVVJMQ29ubmVjdGlvbiAqX3VybENvbm5lY3Rpb247CiB9Ci0tIChpZClpbml0V2l0aExl
Z2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OihMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFn
ZXJQcm94eSopY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJvdG9jb2xJRDoodWlu
dDY0X3QpY3VzdG9tUHJvdG9jb2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0Owor
LSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTooV2ViS2l0OjpM
ZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSopY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJv
eHkgY3VzdG9tUHJvdG9jb2xJRDoodWludDY0X3QpY3VzdG9tUHJvdG9jb2xJRCByZXF1ZXN0OihO
U1VSTFJlcXVlc3QgKilyZXF1ZXN0OwogLSAodm9pZCljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94
eURlc3Ryb3llZDsKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdLQ3VzdG9tUHJvdG9jb2xMb2Fk
ZXIKIAotLSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTooTGVn
YWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5
IGN1c3RvbVByb3RvY29sSUQ6KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVzdDooTlNV
UkxSZXF1ZXN0ICopcmVxdWVzdAorLSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1h
bmFnZXJQcm94eTooV2ViS2l0OjpMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSopY3Vz
dG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJvdG9jb2xJRDoodWludDY0X3QpY3VzdG9t
UHJvdG9jb2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0CiB7CiAgICAgc2VsZiA9
IFtzdXBlciBpbml0XTsKICAgICBpZiAoIXNlbGYpCkBAIC04NSw3ICs4Miw3IEBAIC0gKHZvaWQp
Y3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHlEZXN0cm95ZWQKIAogLSAodm9pZCljb25uZWN0aW9u
OihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIGRpZEZhaWxXaXRoRXJyb3I6KE5TRXJyb3Ig
KillcnJvcgogewotICAgIFJlc291cmNlRXJyb3IgY29yZUVycm9yKGVycm9yKTsKKyAgICBXZWJD
b3JlOjpSZXNvdXJjZUVycm9yIGNvcmVFcnJvcihlcnJvcik7CiAgICAgX2N1c3RvbVByb3RvY29s
TWFuYWdlclByb3h5LT5kaWRGYWlsV2l0aEVycm9yKF9jdXN0b21Qcm90b2NvbElELCBjb3JlRXJy
b3IpOwogICAgIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS0+c3RvcExvYWRpbmcoX2N1c3Rv
bVByb3RvY29sSUQpOwogfQpAQCAtOTksNyArOTYsNyBAQCAtIChOU0NhY2hlZFVSTFJlc3BvbnNl
ICopY29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiB3aWxsQ2FjaGVSZXNw
bwogCiAtICh2b2lkKWNvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gZGlk
UmVjZWl2ZVJlc3BvbnNlOihOU1VSTFJlc3BvbnNlICopcmVzcG9uc2UKIHsKLSAgICBSZXNvdXJj
ZVJlc3BvbnNlIGNvcmVSZXNwb25zZShyZXNwb25zZSk7CisgICAgV2ViQ29yZTo6UmVzb3VyY2VS
ZXNwb25zZSBjb3JlUmVzcG9uc2UocmVzcG9uc2UpOwogICAgIF9jdXN0b21Qcm90b2NvbE1hbmFn
ZXJQcm94eS0+ZGlkUmVjZWl2ZVJlc3BvbnNlKF9jdXN0b21Qcm90b2NvbElELCBjb3JlUmVzcG9u
c2UsIF9zdG9yYWdlUG9saWN5KTsKIH0KIApAQCAtMTI3LDYgKzEyNCw3IEBAIC0gKHZvaWQpY29u
bmVjdGlvbkRpZEZpbmlzaExvYWRpbmc6KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24KIEBl
bmQKIAogbmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogdm9p
ZCBMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQ6OnN0YXJ0TG9hZGluZyhMZWdhY3lD
dXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSYgbWFuYWdlciwgdWludDY0X3QgY3VzdG9tUHJvdG9j
b2xJRCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBjb3JlUmVxdWVzdCkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcApp
bmRleCBjMmI5MWE2Mzk3M2U2MzEyMGFhZTUyOGY4OTc1Mzg1ZjdiNmRiZjYyLi5lZGVkOWM3ZDJh
NGU1OGUzZDA1OGQ4MzI2ODMxMDk4MTgyYWY0NDc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCkBAIC00OCw3ICs0
OCw3IEBAIHN0YXRpYyBjb25zdCBTZWNvbmRzIHNuYXBzaG90dGluZ01pbmltdW1MaWZldGltZSB7
IDMwX3MgfTsKIHN0YXRpYyBjb25zdCBTZWNvbmRzIHNodXRkb3duVGltZW91dCB7IDFfbWluIH07
CiBzdGF0aWMgY29uc3QgU2Vjb25kcyBzbmFwc2hvdHRpbmdTaHV0ZG93blRpbWVvdXQgeyAxNV9z
IH07CiAKLXN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUNhbGxiYWNrSUQoKQorc3RhdGljIHVpbnQ2
NF90IGdlbmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQoKQogewogICAgIHN0YXRpYyB1aW50
NjRfdCBjYWxsYmFja0lEOwogCkBAIC0xMTQsNyArMTE0LDcgQEAgdm9pZCBQbHVnaW5Qcm9jZXNz
UHJveHk6OmdldFBsdWdpblByb2Nlc3NDb25uZWN0aW9uKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJv
eHk6OkcKIAogdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEoQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZCAoVmVjdG9yPFN0cmluZz4pPiYmIGNvbXBsZXRpb25IYW5kbGVyKQog
ewotICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1
aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCgpOwog
ICAgIG1fcGVuZGluZ0ZldGNoV2Vic2l0ZURhdGFDYWxsYmFja3Muc2V0KGNhbGxiYWNrSUQsIFdU
Rk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIGlmIChzdGF0ZSgpID09IFN0YXRlOjpM
YXVuY2hpbmcpIHsKQEAgLTEyNyw3ICsxMjcsNyBAQCB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6
ZmV0Y2hXZWJzaXRlRGF0YShDb21wbGV0aW9uSGFuZGxlcjx2b2lkIChWZWN0b3I8U3RyaW5nPgog
CiB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEoV2FsbFRpbWUgbW9k
aWZpZWRTaW5jZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikKIHsKLSAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7Cisg
ICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQo
KTsKICAgICBtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUNhbGxiYWNrcy5zZXQoY2FsbGJhY2tJ
RCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAgaWYgKHN0YXRlKCkgPT0gU3Rh
dGU6OkxhdW5jaGluZykgewpAQCAtMTQwLDcgKzE0MCw3IEBAIHZvaWQgUGx1Z2luUHJvY2Vzc1By
b3h5OjpkZWxldGVXZWJzaXRlRGF0YShXYWxsVGltZSBtb2RpZmllZFNpbmNlLCBDb21wbGV0aW9u
SGFuCiAKIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZvckhvc3RO
YW1lcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgaG9zdE5hbWVzLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkICgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQg
PSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJh
dGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVE
YXRhRm9ySG9zdE5hbWVzQ2FsbGJhY2tzLnNldChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBsZXRp
b25IYW5kbGVyKSk7CiAKICAgICBpZiAoc3RhdGUoKSA9PSBTdGF0ZTo6TGF1bmNoaW5nKSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNz
UHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vz
c1Byb3h5LmNwcAppbmRleCBlZmE4ZDEzY2JiZDVmZmE4MDhiNWYwZWRiZjRhNTFkYzlkZjg1N2U3
Li4zYTEzMWI0ZDYwZDhhYTA3ZTg3ZmI1ZTRjNjE0ZjMwYTdkNDJiNTc0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJveHkuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94eS5j
cHAKQEAgLTM3LDcgKzM3LDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CiAKLXN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUNhbGxiYWNrSUQoKQorc3RhdGlj
IHVpbnQ2NF90IGdlbmVyYXRlU3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKCkKIHsKICAgICBzdGF0
aWMgdWludDY0X3QgY2FsbGJhY2tJRDsKIApAQCAtMTA1LDcgKzEwNSw3IEBAIHZvaWQgU3RvcmFn
ZVByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQs
IE9wdGlvblNldDxXCiB7CiAgICAgQVNTRVJUKGNhblNlbmRNZXNzYWdlKCkpOwogCi0gICAgdWlu
dDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIHVpbnQ2NF90IGNh
bGxiYWNrSUQgPSBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVu
ZGluZ0ZldGNoV2Vic2l0ZURhdGFDYWxsYmFja3MuYWRkKGNhbGxiYWNrSUQsIFdURk1vdmUoY29t
cGxldGlvbkhhbmRsZXIpKTsKIAogICAgIHNlbmQoTWVzc2FnZXM6OlN0b3JhZ2VQcm9jZXNzOjpG
ZXRjaFdlYnNpdGVEYXRhKHNlc3Npb25JRCwgZGF0YVR5cGVzLCBjYWxsYmFja0lEKSwgMCk7CkBA
IC0xMTMsNyArMTEzLDcgQEAgdm9pZCBTdG9yYWdlUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVE
YXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFcKIAogdm9pZCBTdG9yYWdl
UHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQs
IE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+IGRhdGFUeXBlcywgV2FsbFRpbWUgbW9kaWZpZWRT
aW5jZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsK
LSAgICBhdXRvIGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICBhdXRvIGNh
bGxiYWNrSUQgPSBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpOwogCiAgICAgbV9w
ZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFDYWxsYmFja3MuYWRkKGNhbGxiYWNrSUQsIFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpKTsKICAgICBzZW5kKE1lc3NhZ2VzOjpTdG9yYWdlUHJvY2Vzczo6
RGVsZXRlV2Vic2l0ZURhdGEoc2Vzc2lvbklELCBkYXRhVHlwZXMsIG1vZGlmaWVkU2luY2UsIGNh
bGxiYWNrSUQpLCAwKTsKQEAgLTEyMyw3ICsxMjMsNyBAQCB2b2lkIFN0b3JhZ2VQcm9jZXNzUHJv
eHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQs
CiB7CiAgICAgQVNTRVJUKGNhblNlbmRNZXNzYWdlKCkpOwogCi0gICAgdWludDY0X3QgY2FsbGJh
Y2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBn
ZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVuZGluZ0RlbGV0ZVdl
YnNpdGVEYXRhRm9yT3JpZ2luc0NhbGxiYWNrcy5hZGQoY2FsbGJhY2tJRCwgV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcikpOwogCiAgICAgc2VuZChNZXNzYWdlczo6U3RvcmFnZVByb2Nlc3M6OkRl
bGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhzZXNzaW9uSUQsIGRhdGFUeXBlcywgb3JpZ2lucywg
Y2FsbGJhY2tJRCksIDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggYzc3MTU1OTBlZDcxY2NkZDIzZGYyODVhM2FhN2MzNmU1NDNkYjdm
Ni4uMjNiOGQ0OWE2MDZkY2VhNjViMWIxN2JmNWYwYzE2MTA2NzhmOWQwMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03NTYsNiArNzU2
LDcgQEAKIAkJMkQ5MkE3OTUyMTJCNkFENDAwRjQ5M0ZEIC8qIFBsdWdpblByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUEyRDkwRDExMjgxQzk2NjAwMUVCOTYyIC8qIFBsdWdpblByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuY3BwICovOyB9OwogCQkyRDkyQTc5NjIxMkI2QURBMDBGNDkzRkQgLyogTmV0c2Nh
cGVQbHVnaW5Nb2R1bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUE0QTlDNTMxMkI4MTZDRjAwOEZFOTg0IC8qIE5ldHNjYXBlUGx1Z2luTW9kdWxl
LmNwcCAqLzsgfTsKIAkJMkQ5MkE3OTcyMTJCNkFEQTAwRjQ5M0ZEIC8qIFBsdWdpbkluZm9ybWF0
aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdD
M0Y4QzhFMTczQUY1MkQwMDdCN0YzOSAvKiBQbHVnaW5JbmZvcm1hdGlvbi5jcHAgKi87IH07CisJ
CTJEOTJBNzk4MjEzNDhEODUwMEY0OTNGRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1h
Yy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQjFG
NzdEMUQxQjMwQTkwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbSAq
LzsgfTsKIAkJMkQ5MzExNjkyMTJGNjFCMjAwMDQ0QkZFIC8qIFdLQ29udGVudFZpZXcubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNCNEUzRDE4QkJF
MDQ0MDAwRkNGQzkgLyogV0tDb250ZW50Vmlldy5tbSAqLzsgfTsKIAkJMkQ5MzExNkEyMTJGNjFC
NTAwMDQ0QkZFIC8qIFdLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0I0RTZCMThCQkYyNkEwMDBGQ0ZDOSAv
KiBXS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gKi87IH07CiAJCTJEOUVBMzBEMUE5NkNCNTkw
MDJEMjgwNyAvKiBXS1BhZ2VJbmplY3RlZEJ1bmRsZUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5RUEzMEMxQTk2Q0I1OTAwMkQyODA3IC8q
IFdLUGFnZUluamVjdGVkQnVuZGxlQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTExMjQxLDYgKzExMjQyLDcgQEAKIAkJCQk3Q0U5Q0Ux
MDFGQTA3NjdBMDAwMTc3REUgLyogV2ViUGFnZVVwZGF0ZVByZWZlcmVuY2VzLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTdDNDY5NEM5MUE0QjRFQTEwMEFENTg0NSAvKiBXZWJQYXN0ZWJvYXJkUHJv
eHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFCMUY3OTYxRDFCMzYx
MzAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkyRDkyQTc5ODIxMzQ4RDg1MDBGNDkzRkQgLyogV2ViUGF5bWVudENv
b3JkaW5hdG9yUHJveHlNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQUIxRjc5ODFEMUIzNjEz
MDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5MkE3OEQyMTJCNkFCMTAwRjQ5M0ZEIC8qIFdlYlBsYXRm
b3JtVG91Y2hQb2ludC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDkxMzQ0RTIxMkNGOUYwMDAx
MjhBRkQgLyogV2ViUGx1Z2luSW5mb1Byb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5tbSBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0KaW5kZXgg
NTMwN2UyNmE3NjM3ZThhNjliMDQ1YWJiOTI4NzlmM2Y4YzY1ODZmMi4uNGNhYTZjYzBmNjA0NTBj
MDNiMjJhMjg0ZGQxM2FmMjVlZmQ2ZTM4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tCkBAIC04OCw4ICs4OCw2IEBACiAjaW1wb3J0
IDxwYWwvc3BpL21hYy9OU01lbnVTUEkuaD4KICNpbXBvcnQgPHd0Zi9VVUlELmg+CiAKLXVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwotCiAvLyBTZXQgb3ZlcmZsb3c6IGhpZGRlbiBvbiB0aGUgYW5u
b3RhdGlvbiBjb250YWluZXIgc28gPGlucHV0PiBlbGVtZW50cyBzY3JvbGxlZCBvdXQgb2Ygdmll
dyBkb24ndCBzaG93CiAvLyBzY3JvbGxiYXJzIG9uIHRoZSBib2R5LiBXZSBjYW4ndCBhZGQgYW5u
b3RhdGlvbnMgZGlyZWN0bHkgdG8gdGhlIGJvZHksIGJlY2F1c2Ugb3ZlcmZsb3c6IGhpZGRlbiBv
biB0aGUgYm9keQogLy8gd2lsbCBicmVhayBydWJiZXItYmFuZGluZy4KQEAgLTI5MCw3ICsyODgs
NyBAQCAtIChOU0FycmF5ICopYWNjZXNzaWJpbGl0eUFjdGlvbk5hbWVzCiAtICh2b2lkKWFjY2Vz
c2liaWxpdHlQZXJmb3JtQWN0aW9uOihOU1N0cmluZyAqKWFjdGlvbgogewogICAgIGlmIChbYWN0
aW9uIGlzRXF1YWxUb1N0cmluZzpOU0FjY2Vzc2liaWxpdHlTaG93TWVudUFjdGlvbl0pCi0gICAg
ICAgIF9wZGZQbHVnaW4tPnNob3dDb250ZXh0TWVudUF0UG9pbnQoSW50UmVjdChJbnRQb2ludCgp
LCBfcGRmUGx1Z2luLT5zaXplKCkpLmNlbnRlcigpKTsKKyAgICAgICAgX3BkZlBsdWdpbi0+c2hv
d0NvbnRleHRNZW51QXRQb2ludChXZWJDb3JlOjpJbnRSZWN0KFdlYkNvcmU6OkludFBvaW50KCks
IF9wZGZQbHVnaW4tPnNpemUoKSkuY2VudGVyKCkpOwogfQogCiAtIChCT09MKWFjY2Vzc2liaWxp
dHlJc0F0dHJpYnV0ZVNldHRhYmxlOihOU1N0cmluZyAqKWF0dHJpYnV0ZQpAQCAtMzE2LDggKzMx
NCw4IEBAIC0gKGlkKWFjY2Vzc2liaWxpdHlGb2N1c2VkVUlFbGVtZW50CiB7CiAjaWYgX19NQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDAKICAgICBpZiAoV2ViS2l0OjpQREZQ
bHVnaW5Bbm5vdGF0aW9uKiBhY3RpdmVBbm5vdGF0aW9uID0gX3BkZlBsdWdpbi0+YWN0aXZlQW5u
b3RhdGlvbigpKSB7Ci0gICAgICAgIGlmIChBWE9iamVjdENhY2hlKiBleGlzdGluZ0NhY2hlID0g
X3BkZlBsdWdpbi0+YXhPYmplY3RDYWNoZSgpKSB7Ci0gICAgICAgICAgICBpZiAoQWNjZXNzaWJp
bGl0eU9iamVjdCogb2JqZWN0ID0gZXhpc3RpbmdDYWNoZS0+Z2V0T3JDcmVhdGUoYWN0aXZlQW5u
b3RhdGlvbi0+ZWxlbWVudCgpKSkKKyAgICAgICAgaWYgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGUq
IGV4aXN0aW5nQ2FjaGUgPSBfcGRmUGx1Z2luLT5heE9iamVjdENhY2hlKCkpIHsKKyAgICAgICAg
ICAgIGlmIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QgPSBleGlzdGluZ0Nh
Y2hlLT5nZXRPckNyZWF0ZShhY3RpdmVBbm5vdGF0aW9uLT5lbGVtZW50KCkpKQogI3ByYWdtYSBj
bGFuZyBkaWFnbm9zdGljIHB1c2gKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICIt
V2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIgogICAgICAgICAgICAgICAgIHJldHVybiBbb2JqZWN0
LT53cmFwcGVyKCkgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOkAiX0FYQXNzb2NpYXRlZFBs
dWdpblBhcmVudCJdOwpAQCAtMzM4LDExICszMzYsMTEgQEAgLSAoaWQpYWNjZXNzaWJpbGl0eUFz
c29jaWF0ZWRDb250cm9sRm9yQW5ub3RhdGlvbjooUERGQW5ub3RhdGlvbiAqKWFubm90YXRpb24K
ICAgICBpZiAoIWFjdGl2ZUFubm90YXRpb24gfHwgIVthY3RpdmVBbm5vdGF0aW9uLT5hbm5vdGF0
aW9uKCkgaXNFcXVhbDphbm5vdGF0aW9uXSkKICAgICAgICAgcmV0dXJuIG5pbDsKICAgICAKLSAg
ICBBWE9iamVjdENhY2hlKiBjYWNoZSA9IF9wZGZQbHVnaW4tPmF4T2JqZWN0Q2FjaGUoKTsKKyAg
ICBXZWJDb3JlOjpBWE9iamVjdENhY2hlKiBjYWNoZSA9IF9wZGZQbHVnaW4tPmF4T2JqZWN0Q2Fj
aGUoKTsKICAgICBpZiAoIWNhY2hlKQogICAgICAgICByZXR1cm4gbmlsOwogICAgIAotICAgIEFj
Y2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCA9IGNhY2hlLT5nZXRPckNyZWF0ZShhY3RpdmVBbm5v
dGF0aW9uLT5lbGVtZW50KCkpOworICAgIFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqIG9i
amVjdCA9IGNhY2hlLT5nZXRPckNyZWF0ZShhY3RpdmVBbm5vdGF0aW9uLT5lbGVtZW50KCkpOwog
ICAgIGlmICghb2JqZWN0KQogICAgICAgICByZXR1cm4gbmlsOwogCkBAIC0zNTMsNyArMzUxLDcg
QEAgLSAoaWQpYWNjZXNzaWJpbGl0eUFzc29jaWF0ZWRDb250cm9sRm9yQW5ub3RhdGlvbjooUERG
QW5ub3RhdGlvbiAqKWFubm90YXRpb24KIC0gKGlkKWFjY2Vzc2liaWxpdHlIaXRUZXN0OihOU1Bv
aW50KXBvaW50CiB7CiAjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEz
MDAKLSAgICBwb2ludCA9IF9wZGZQbHVnaW4tPmNvbnZlcnRGcm9tUm9vdFZpZXdUb1BERlZpZXco
SW50UG9pbnQocG9pbnQpKTsKKyAgICBwb2ludCA9IF9wZGZQbHVnaW4tPmNvbnZlcnRGcm9tUm9v
dFZpZXdUb1BERlZpZXcoV2ViQ29yZTo6SW50UG9pbnQocG9pbnQpKTsKICAgICByZXR1cm4gW19w
ZGZMYXllckNvbnRyb2xsZXIgYWNjZXNzaWJpbGl0eUhpdFRlc3Q6cG9pbnRdOwogI2Vsc2UKICAg
ICByZXR1cm4gc2VsZjsKQEAgLTQyMSw3ICs0MTksNyBAQCAtIChpZClpbml0V2l0aFBERlBsdWdp
bjooV2ViS2l0OjpQREZQbHVnaW4gKilwbHVnaW4KIAogLSAodm9pZCl1cGRhdGVTY3JvbGxQb3Np
dGlvbjooQ0dQb2ludCluZXdQb3NpdGlvbgogewotICAgIF9wZGZQbHVnaW4tPm5vdGlmeVNjcm9s
bFBvc2l0aW9uQ2hhbmdlZChJbnRQb2ludChuZXdQb3NpdGlvbikpOworICAgIF9wZGZQbHVnaW4t
Pm5vdGlmeVNjcm9sbFBvc2l0aW9uQ2hhbmdlZChXZWJDb3JlOjpJbnRQb2ludChuZXdQb3NpdGlv
bikpOwogfQogCiAtICh2b2lkKXdyaXRlSXRlbXNUb1Bhc3RlYm9hcmQ6KE5TQXJyYXkgKilpdGVt
cyB3aXRoVHlwZXM6KE5TQXJyYXkgKil0eXBlcwpAQCAtNTAwLDYgKzQ5OCwxMCBAQCAtIChOU1Jl
Y3QpY29udmVydFJlY3Q6KE5TUmVjdClyZWN0IGZyb21QYWdlOihQREZQYWdlICopIHBhZ2UgZm9y
U2NhbGVGYWN0b3I6KENHRgogLSAoUERGUGFnZSAqKXBhZ2VOZWFyZXN0UG9pbnQ6KE5TUG9pbnQp
cG9pbnQgY3VycmVudFBhZ2U6KFBERlBhZ2UgKiljdXJyZW50UGFnZTsKIEBlbmQKIAorbmFtZXNw
YWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKK3VzaW5nIG5hbWVzcGFjZSBI
VE1MTmFtZXM7CisKIHN0YXRpYyBjb25zdCBjaGFyKiBwb3N0U2NyaXB0TUlNRVR5cGUgPSAiYXBw
bGljYXRpb24vcG9zdHNjcmlwdCI7CiBjb25zdCB1aW50NjRfdCBwZGZEb2N1bWVudFJlcXVlc3RJ
RCA9IDE7IC8vIFBsdWdpbkNvbnRyb2xsZXIgc3VwcG9ydHMgbG9hZGluZyBtdWx0aXBsZSBzdHJl
YW1zLCBidXQgd2Ugb25seSBuZWVkIG9uZSBmb3IgUERGLgogCkBAIC01OTYsOSArNTk4LDYgQEAg
c3RhdGljIHZvaWQgZ2V0QWxsU2NyaXB0c0luUERGRG9jdW1lbnQoQ0dQREZEb2N1bWVudFJlZiBw
ZGZEb2N1bWVudCwgVmVjdG9yPFJldGEKICAgICB9CiB9CiAKLW5hbWVzcGFjZSBXZWJLaXQgewot
dXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKLQogUmVmPFBERlBsdWdpbj4gUERGUGx1Z2luOjpj
cmVhdGUoV2ViRnJhbWUmIGZyYW1lKQogewogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFBERlBs
dWdpbihmcmFtZSkpOwpAQCAtMTQ1MCw3ICsxNDQ5LDcgQEAgdm9pZCBQREZQbHVnaW46OnVwZGF0
ZUN1cnNvcihjb25zdCBXZWJNb3VzZUV2ZW50JiBldmVudCwgVXBkYXRlQ3Vyc29yTW9kZSBtb2Rl
KQogICAgIGlmIChoaXRUZXN0UmVzdWx0ID09IG1fbGFzdEhpdFRlc3RSZXN1bHQgJiYgbW9kZSA9
PSBVcGRhdGVJZk5lZWRlZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgd2ViRnJhbWUoKS0+cGFn
ZSgpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNldEN1cnNvcihoaXRUZXN0UmVzdWx0
ID09IFRleHQgPyBpQmVhbUN1cnNvcigpIDogcG9pbnRlckN1cnNvcigpKSk7CisgICAgd2ViRnJh
bWUoKS0+cGFnZSgpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNldEN1cnNvcihoaXRU
ZXN0UmVzdWx0ID09IFRleHQgPyBXZWJDb3JlOjppQmVhbUN1cnNvcigpIDogV2ViQ29yZTo6cG9p
bnRlckN1cnNvcigpKSk7CiAgICAgbV9sYXN0SGl0VGVzdFJlc3VsdCA9IGhpdFRlc3RSZXN1bHQ7
CiB9CiAjZW5kaWYKQEAgLTE5ODEsMTYgKzE5ODAsMTYgQEAgdm9pZCBQREZQbHVnaW46Om5vdGlm
eVNlbGVjdGlvbkNoYW5nZWQoUERGU2VsZWN0aW9uICopCiAgICAgd2ViRnJhbWUoKS0+cGFnZSgp
LT5kaWRDaGFuZ2VTZWxlY3Rpb24oKTsKIH0KIAotc3RhdGljIGNvbnN0IEN1cnNvciYgY29yZUN1
cnNvcihQREZMYXllckNvbnRyb2xsZXJDdXJzb3JUeXBlIHR5cGUpCitzdGF0aWMgY29uc3QgV2Vi
Q29yZTo6Q3Vyc29yJiBjb3JlQ3Vyc29yKFBERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGUgdHlw
ZSkKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIGtQREZMYXllckNvbnRyb2xsZXJD
dXJzb3JUeXBlSGFuZDoKLSAgICAgICAgcmV0dXJuIGhhbmRDdXJzb3IoKTsKKyAgICAgICAgcmV0
dXJuIFdlYkNvcmU6OmhhbmRDdXJzb3IoKTsKICAgICBjYXNlIGtQREZMYXllckNvbnRyb2xsZXJD
dXJzb3JUeXBlSUJlYW06Ci0gICAgICAgIHJldHVybiBpQmVhbUN1cnNvcigpOworICAgICAgICBy
ZXR1cm4gV2ViQ29yZTo6aUJlYW1DdXJzb3IoKTsKICAgICBjYXNlIGtQREZMYXllckNvbnRyb2xs
ZXJDdXJzb3JUeXBlUG9pbnRlcjoKICAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gcG9pbnRl
ckN1cnNvcigpOworICAgICAgICByZXR1cm4gV2ViQ29yZTo6cG9pbnRlckN1cnNvcigpOwogICAg
IH0KIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348211</attachid>
            <date>2018-08-27 15:23:47 -0700</date>
            <delta_ts>2018-08-27 15:25:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189009-20180827152346.patch</filename>
            <type>text/plain</type>
            <size>58588</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1Mzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDI5MmM2NDA4MzcwZGM0YWY2ZmVmYmQ0
MzZlZGNhYTc3ZDA3NWUzOWEuLmE1YTkyZTFkYTM5NTgwOTJiMzQ1M2NjMmJjNDhlZDJhMTI1NmRj
YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3Jl
IHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvZ2Vu
ZXJhdGUtdW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYjoKKyAgICAgICAgSXQgdHVybnMgb3V0IG91
ciBwbGFuIHRvIHN3aXRjaCB1bmlmaWVkIHNvdXJjZSBidW5kbGUgZXZlcnkgdGltZSB0aGUgZGly
ZWN0b3J5CisgICAgICAgIGNoYW5nZXMgaXMgbm90IGEgZ29vZCBmaXQgZm9yIHByb2plY3RzIGxp
a2UgV2ViS2l0MiB3aXRoIG1hbnkgc21hbGwgZGlyZWN0b3JpZXMuCisgICAgICAgIEl0IGxlYXZl
cyBtYW55IHVuaWZpZWQgc291cmNlIGJ1bmRsZXMgd2l0aCBvbmx5IGEgc2luZ2xlIHNvdXJjZSBm
aWxlLAorICAgICAgICBhY2hpZXZpbmcgb25seSB+NDAlIGRlbnNpdHkuCisKKyAgICAgICAgSW5z
dGVhZCwgc3dpdGNoIHVuaWZpZWQgc291cmNlIGJ1bmRsZXMgZXZlcnkgdGltZSB0aGUgdG9wLWxl
dmVsIGRpcmVjdG9yeSBjaGFuZ2VzLgorICAgICAgICBUaGlzIHN0aWxsIGFjaGlldmVzIHRoZSBn
b2FsIG9mICp1c3VhbGx5KiBvbmx5IHJlYnVpbGRpbmcgdGhlIG9uZSB0b3AtbGV2ZWwKKyAgICAg
ICAgZGlyZWN0b3J5IHlvdSB0b3VjaGVkLCBhbmQgaW5jcmVhc2VzIHNvdXJjZSBidW5kbGUgZGVu
c2l0eSB3aWxkbHksIHRvIH45NSUuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKKwogMjAx
OC0wOC0yNyAgS2VpdGggUm9sbGluICA8a3JvbGxpbkBhcHBsZS5jb20+CiAKICAgICAgICAgQnVp
bGQgc3lzdGVtIHN1cHBvcnQgZm9yIExUTwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGEwYjlhMDJkNDkxZDNjNzQ0
MGFjZThhMjI0MWM0ZTUzNTBjNWY1MTQuLmYzMWE5NDk5NThlYzM3NmM1ZDZjZmI1YmM5MTU2ZTNh
ZGYyNTRiYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOCBAQAorMjAxOC0wOC0yNyAgVGltIEhv
cnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBCdW5kbGUgdW5pZmll
ZCBzb3VyY2VzIG1vcmUgdGlnaHRseSBpbiBwcm9qZWN0cyB3aXRoIGRlZXAgZGlyZWN0b3J5IHN0
cnVjdHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE4OTAwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEZpeCBhIHZhcmlldHkgb2YgdW5pZmljYXRpb24gZXJyb3JzIGR1ZSB0byByZXNodWZmbGluZyB0
aGUgYnVuZGxlcy4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29udHJvbGxl
ci5jcHA6CisgICAgICAgICogU291cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3J5cHRvL2FsZ29yaXRobXMvQ3J5
cHRvQWxnb3JpdGhtRUNEU0EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGht
RUNEU0E6OmltcG9ydEtleSk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICog
aHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcDoKKyAgICAgICAgKiBsb2FkZXIvYXBwY2Fj
aGUvQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogcGFnZS9BbHRl
cm5hdGl2ZVRleHRDbGllbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9QYXN0ZWJvYXJkLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuY3Bw
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdMTGF5ZXIubW06CisgICAg
ICAgICgtW1dlYkdMTGF5ZXIgaW5pdFdpdGhHcmFwaGljc0NvbnRleHQzRDpdKToKKyAgICAgICAg
KC1bV2ViR0xMYXllciBjb3B5SW1hZ2VTbmFwc2hvdFdpdGhDb2xvclNwYWNlOl0pOgorICAgICAg
ICAoLVtXZWJHTExheWVyIGRpc3BsYXldKToKKyAgICAgICAgKC1bV2ViR0xMYXllciBhbGxvY2F0
ZUlPU3VyZmFjZUJhY2tpbmdTdG9yZVdpdGhTaXplOnVzaW5nQWxwaGE6XSk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR1BVTGF5ZXIubW06CisgICAgICAgICgtW1dlYkdQ
VUxheWVyIGluaXRXaXRoR1BVRGV2aWNlOl0pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9Q
YXN0ZWJvYXJkTWFjLm1tOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNw
bGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZVJlcXVlc3RCYXNlLmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVu
ZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cuY3BwOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGlu
Zy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHA6CisKIDIwMTgtMDgtMjcgIEtlaXRoIFJvbGxp
biAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxkIHN5c3RlbSBzdXBwb3J0IGZv
ciBMVE8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggMGY4NjhmMGU5YmFlMjY4MTFmYmYyNGQxYzlhZjRlODlmZDIzZWQx
Ny4uZWRjNGUwNzNiZGFhMDEwOTIxZmU4OTRkNGMwNDUwYWFjNTFlZTI1OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSw5NyBAQAorMjAxOC0wOC0yNyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFw
cGxlLmNvbT4KKworICAgICAgICBCdW5kbGUgdW5pZmllZCBzb3VyY2VzIG1vcmUgdGlnaHRseSBp
biBwcm9qZWN0cyB3aXRoIGRlZXAgZGlyZWN0b3J5IHN0cnVjdHVyZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTAwOQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBhIHZhcmlldHkgb2YgdW5pZmlj
YXRpb24gZXJyb3JzIGR1ZSB0byByZXNodWZmbGluZyB0aGUgYnVuZGxlcy4KKworICAgICAgICAq
IFNoYXJlZC9BUElXZWJBcmNoaXZlLm1tOgorICAgICAgICAqIFNoYXJlZC9BUElXZWJBcmNoaXZl
UmVzb3VyY2UubW06CisgICAgICAgICogU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNj
YXBlUGx1Z2luTW9kdWxlTWFjLm1tOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05ldHNjYXBl
L21hYy9QbHVnaW5JbmZvcm1hdGlvbk1hYy5tbToKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaDoK
KyAgICAgICAgKEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6OnNlc3Npb25JZGVudGlmaWVy
IGNvbnN0KToKKyAgICAgICAgKEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6Om1lc3NhZ2VP
ZkN1cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKToKKyAgICAgICAgKEFQSTo6QXV0b21hdGlv
blNlc3Npb25DbGllbnQ6OnNldFVzZXJJbnB1dEZvckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25Q
YWdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5h
Z2VyQ2xpZW50Lm1tOgorICAgICAgICAoLVtXS0N1c3RvbVByb3RvY29sTG9hZGVyIGluaXRXaXRo
TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6Y3VzdG9tUHJvdG9jb2xJRDpyZXF1ZXN0
Ol0pOgorICAgICAgICAoLVtXS0N1c3RvbVByb3RvY29sTG9hZGVyIGNvbm5lY3Rpb246ZGlkRmFp
bFdpdGhFcnJvcjpdKToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBjb25uZWN0
aW9uOmRpZFJlY2VpdmVSZXNwb25zZTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9Q
bHVnaW5Qcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZVBsdWdpblBy
b2Nlc3NDYWxsYmFja0lEKToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5Ojpm
ZXRjaFdlYnNpdGVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5Ojpk
ZWxldGVXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3NQcm94eTo6
ZGVsZXRlV2Vic2l0ZURhdGFGb3JIb3N0TmFtZXMpOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0
ZUNhbGxiYWNrSUQpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRy
ZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW06CisgICAgICAg
ICgtW1dLU2Nyb2xsaW5nTm9kZVNjcm9sbFZpZXdEZWxlZ2F0ZSBzY3JvbGxWaWV3V2lsbEVuZERy
YWdnaW5nOndpdGhWZWxvY2l0eTp0YXJnZXRDb250ZW50T2Zmc2V0Ol0pOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCk6CisgICAgICAgIChXZWJLaXQ6OlN0
b3JhZ2VQcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpT
dG9yYWdlUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6
OlN0b3JhZ2VQcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyk6CisgICAg
ICAgIChXZWJLaXQ6OmdlbmVyYXRlQ2FsbGJhY2tJRCk6IERlbGV0ZWQuCisgICAgICAgICogV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVn
aW5zL1BERi9QREZQbHVnaW4ubW06CisgICAgICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0
eU9iamVjdCBhY2Nlc3NpYmlsaXR5UGVyZm9ybUFjdGlvbjpdKToKKyAgICAgICAgKC1bV0tQREZQ
bHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0IGFjY2Vzc2liaWxpdHlGb2N1c2VkVUlFbGVtZW50XSk6
CisgICAgICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5
QXNzb2NpYXRlZENvbnRyb2xGb3JBbm5vdGF0aW9uOl0pOgorICAgICAgICAoLVtXS1BERlBsdWdp
bkFjY2Vzc2liaWxpdHlPYmplY3QgYWNjZXNzaWJpbGl0eUhpdFRlc3Q6XSk6CisgICAgICAgICgt
W1dLUERGTGF5ZXJDb250cm9sbGVyRGVsZWdhdGUgdXBkYXRlU2Nyb2xsUG9zaXRpb246XSk6Cisg
ICAgICAgIChXZWJLaXQ6OlBERlBsdWdpbjo6dXBkYXRlQ3Vyc29yKToKKyAgICAgICAgKFdlYktp
dDo6Y29yZUN1cnNvcik6CisgICAgICAgIChhcHBlbmRWYWx1ZXNJblBERk5hbWVTdWJ0cmVlVG9W
ZWN0b3IpOiBEZWxldGVkLgorICAgICAgICAoZ2V0QWxsVmFsdWVzSW5QREZOYW1lVHJlZSk6IERl
bGV0ZWQuCisgICAgICAgIChnZXRBbGxTY3JpcHRzSW5QREZEb2N1bWVudCk6IERlbGV0ZWQuCisK
KzIwMTgtMDgtMjcgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAg
ICAgICAgQnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3JlIHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0
aCBkZWVwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBGaXggYSB2YXJpZXR5IG9mIHVuaWZpY2F0aW9uIGVycm9ycyBk
dWUgdG8gcmVzaHVmZmxpbmcgdGhlIGJ1bmRsZXMuCisKKyAgICAgICAgKiBTaGFyZWQvUGx1Z2lu
cy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMubW06CisgICAgICAgICogU2hh
cmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL1BsdWdpbkluZm9ybWF0aW9uTWFjLm1tOgorICAgICAg
ICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElBdXRvbWF0
aW9uU2Vzc2lvbkNsaWVudC5oOgorICAgICAgICAoQVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkNsaWVu
dDo6c2Vzc2lvbklkZW50aWZpZXIgY29uc3QpOgorICAgICAgICAoQVBJOjpBdXRvbWF0aW9uU2Vz
c2lvbkNsaWVudDo6bWVzc2FnZU9mQ3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UpOgorICAg
ICAgICAoQVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudDo6c2V0VXNlcklucHV0Rm9yQ3VycmVu
dEphdmFTY3JpcHRQcm9tcHRPblBhZ2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9MZWdh
Y3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW06CisgICAgICAgICgtW1dLQ3VzdG9tUHJv
dG9jb2xMb2FkZXIgaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTpjdXN0
b21Qcm90b2NvbElEOnJlcXVlc3Q6XSk6CisgICAgICAgICgtW1dLQ3VzdG9tUHJvdG9jb2xMb2Fk
ZXIgY29ubmVjdGlvbjpkaWRGYWlsV2l0aEVycm9yOl0pOgorICAgICAgICAoLVtXS0N1c3RvbVBy
b3RvY29sTG9hZGVyIGNvbm5lY3Rpb246ZGlkUmVjZWl2ZVJlc3BvbnNlOl0pOgorICAgICAgICAq
IFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OmdlbmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQpOgorICAgICAgICAoV2ViS2l0OjpQ
bHVnaW5Qcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpQ
bHVnaW5Qcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6
UGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZvckhvc3ROYW1lcyk6CisgICAg
ICAgIChXZWJLaXQ6OmdlbmVyYXRlQ2FsbGJhY2tJRCk6IERlbGV0ZWQuCisgICAgICAgICogVUlQ
cm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OmdlbmVyYXRlU3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKToKKyAgICAgICAgKFdlYktpdDo6U3Rv
cmFnZVByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlN0
b3JhZ2VQcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6
U3RvcmFnZVByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKToKKyAgICAg
ICAgKFdlYktpdDo6Z2VuZXJhdGVDYWxsYmFja0lEKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdp
bnMvUERGL1BERlBsdWdpbi5tbToKKyAgICAgICAgKC1bV0tQREZQbHVnaW5BY2Nlc3NpYmlsaXR5
T2JqZWN0IGFjY2Vzc2liaWxpdHlQZXJmb3JtQWN0aW9uOl0pOgorICAgICAgICAoLVtXS1BERlBs
dWdpbkFjY2Vzc2liaWxpdHlPYmplY3QgYWNjZXNzaWJpbGl0eUZvY3VzZWRVSUVsZW1lbnRdKToK
KyAgICAgICAgKC1bV0tQREZQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0IGFjY2Vzc2liaWxpdHlB
c3NvY2lhdGVkQ29udHJvbEZvckFubm90YXRpb246XSk6CisgICAgICAgICgtW1dLUERGUGx1Z2lu
QWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5SGl0VGVzdDpdKToKKyAgICAgICAgKC1b
V0tQREZMYXllckNvbnRyb2xsZXJEZWxlZ2F0ZSB1cGRhdGVTY3JvbGxQb3NpdGlvbjpdKToKKyAg
ICAgICAgKFdlYktpdDo6UERGUGx1Z2luOjp1cGRhdGVDdXJzb3IpOgorICAgICAgICAoV2ViS2l0
Ojpjb3JlQ3Vyc29yKToKKyAgICAgICAgKGFwcGVuZFZhbHVlc0luUERGTmFtZVN1YnRyZWVUb1Zl
Y3Rvcik6IERlbGV0ZWQuCisgICAgICAgIChnZXRBbGxWYWx1ZXNJblBERk5hbWVUcmVlKTogRGVs
ZXRlZC4KKyAgICAgICAgKGdldEFsbFNjcmlwdHNJblBERkRvY3VtZW50KTogRGVsZXRlZC4KKwog
MjAxOC0wOC0yNyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgog
CiAgICAgICAgIEZpeCBpbnRlcm5hbCBidWlsZHMgYWZ0ZXIgcjIzNTM2OApkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi9TY3JpcHRzL2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIgYi9T
b3VyY2UvV1RGL1NjcmlwdHMvZ2VuZXJhdGUtdW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYgppbmRl
eCBjMDE5NjZlZTFiMmM2N2Q5NzYwZjAzYTViYmNhYTNjYjU3MjYxMmIzLi5hYmQ5NzY3N2EyMGFk
YjRkNDYyZWI5OGY3NzhkOTgwMjliZGQ0OTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1Njcmlw
dHMvZ2VuZXJhdGUtdW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYgorKysgYi9Tb3VyY2UvV1RGL1Nj
cmlwdHMvZ2VuZXJhdGUtdW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYgpAQCAtMjEwLDEwICsyMTAs
MTcgQEAgY2xhc3MgQnVuZGxlTWFuYWdlcgogICAgIGVuZAogZW5kCiAKK2RlZiBUb3BMZXZlbERp
cmVjdG9yeUZvclBhdGgocGF0aCkKKyAgICBpZiAhcGF0aAorICAgICAgICByZXR1cm4gbmlsCisg
ICAgZW5kCisgICAgcmV0dXJuIHBhdGguZWFjaF9maWxlbmFtZS5uZXh0CitlbmQKKwogZGVmIFBy
b2Nlc3NGaWxlRm9yVW5pZmllZFNvdXJjZUdlbmVyYXRpb24oc291cmNlRmlsZSkKICAgICBwYXRo
ID0gc291cmNlRmlsZS5wYXRoCi0gICAgaWYgKCRjdXJyZW50RGlyZWN0b3J5ICE9IHBhdGguZGly
bmFtZSkKLSAgICAgICAgbG9nKCJGbHVzaGluZyBiZWNhdXNlIG5ldyBkaXJuYW1lOyBvbGQ6ICN7
JGN1cnJlbnREaXJlY3Rvcnl9LCBuZXc6ICN7cGF0aC5kaXJuYW1lfSIpCisgICAgaWYgKFRvcExl
dmVsRGlyZWN0b3J5Rm9yUGF0aCgkY3VycmVudERpcmVjdG9yeSkgIT0gVG9wTGV2ZWxEaXJlY3Rv
cnlGb3JQYXRoKHBhdGguZGlybmFtZSkpCisgICAgICAgIGxvZygiRmx1c2hpbmcgYmVjYXVzZSBu
ZXcgdG9wIGxldmVsIGRpcmVjdG9yeTsgb2xkOiAjeyRjdXJyZW50RGlyZWN0b3J5fSwgbmV3OiAj
e3BhdGguZGlybmFtZX0iKQogICAgICAgICAkYnVuZGxlTWFuYWdlcnMuZWFjaF92YWx1ZSB7IHx4
fCB4LmZsdXNoIH0KICAgICAgICAgJGN1cnJlbnREaXJlY3RvcnkgPSBwYXRoLmRpcm5hbWUKICAg
ICBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RG
L3d0Zi9QbGF0Zm9ybS5oCmluZGV4IDBjNmVmYjg2Mjk4MjUzOWQyYjRiMmNjNGY4ZjhiNWZjYjRl
Yzg4ZTguLjY3Y2ZhOTMzMTNjOTA0MjFlYjZjZjE3OWQ5OGVmNzAzZGEwZTQ5ZGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZv
cm0uaApAQCAtMTMxNCw2ICsxMzE0LDcgQEAKICNpZiBQTEFURk9STShNQUMpCiAjZGVmaW5lIEhB
VkVfVE9VQ0hfQkFSIDEKICNkZWZpbmUgSEFWRV9BRFZBTkNFRF9TUEVMTF9DSEVDS0lORyAxCisj
ZGVmaW5lIFVTRV9ESUNUQVRJT05fQUxURVJOQVRJVkVTIDEKIAogI2lmIGRlZmluZWQoX19MUDY0
X18pCiAjZGVmaW5lIEVOQUJMRV9XRUJfUExBWUJBQ0tfQ09OVFJPTFNfTUFOQUdFUiAxCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNw
cAppbmRleCA5NjEzMmU2OTczN2FlOThhNjBmOTU0ZjFmMzExODM4NDEwNzFlMGE5Li5jZGI3Nzdl
OTk5MjkyMjFjZjBhOGYwMTE0MmIyZDA3ZWRlOWVmZWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29udHJvbGxlci5jcHAKQEAgLTI3LDYgKzI3
LDcgQEAKIAogI2lmIEVOQUJMRShXRUJfUlRDKQogCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNp
bmNsdWRlICJMaWJXZWJSVENQcm92aWRlci5oIgogI2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9u
LmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQgYi9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDY2ZjdmMTZiZDY0ZjgyYzQzMmJlYWVk
OGU3MGQxYjVmZjA2M2E1MTcuLjk1N2U0YjViNjYxYjQwMjBmMGEyMWVlMDA5NWMwMTc2NDZlNDkz
YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dApAQCAtMzg5LDcgKzM4OSw3IEBAIHBsYXRmb3Jt
L2lvcy9QbGF0Zm9ybVNjcmVlbklPUy5tbQogcGxhdGZvcm0vaW9zL1BsYXRmb3JtU3BlZWNoU3lu
dGhlc2l6ZXJJT1MubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvUGxheWJhY2tTZXNzaW9uSW50
ZXJmYWNlQVZLaXQubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvUXVpY2tMb29rLm1tCi1wbGF0
Zm9ybS9pb3MvUXVpY2tMb29rU29mdExpbmsubW0KK3BsYXRmb3JtL2lvcy9RdWlja0xvb2tTb2Z0
TGluay5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9SZW1vdGVDb21tYW5kTGlzdGVuZXJJT1Mu
bW0KIHBsYXRmb3JtL2lvcy9TY3JvbGxBbmltYXRvcklPUy5tbQogcGxhdGZvcm0vaW9zL1Njcm9s
bGJhclRoZW1lSU9TLm1tCkBAIC0zOTksNyArMzk5LDcgQEAgcGxhdGZvcm0vaW9zL1NTTEtleUdl
bmVyYXRvcklPUy5jcHAKIHBsYXRmb3JtL2lvcy9TeXN0ZW1NZW1vcnlJT1MuY3BwCiBwbGF0Zm9y
bS9pb3MvVGhlbWVJT1MubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvVGlsZUNvbnRyb2xsZXJN
ZW1vcnlIYW5kbGVySU9TLmNwcAotcGxhdGZvcm0vaW9zL1VzZXJBZ2VudElPUy5tbQorcGxhdGZv
cm0vaW9zL1VzZXJBZ2VudElPUy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9WYWxpZGF0aW9u
QnViYmxlSU9TLm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVlbkludGVy
ZmFjZUFWS2l0Lm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1dlYkFWUGxheWVyQ29udHJvbGxl
ci5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDcyNTVkMjY1Yzc3MjE1ZWMwOWJhMzhkOTY3Y2E0Y2Q3ZThhYTE2NTguLmJmZGU2
YjE1N2UxOTFiNjRkYTY2NmI0N2M4ZGJjYjJmOTY4Y2Q3NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTgwNiw2ICs4MDYsOCBA
QAogCQkyRDhCOTJGRjIwM0QxM0UxMDA5Qzg2OEYgLyogVW5pZmllZFNvdXJjZTUzMC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBERTVGODVEMzFGQTIz
ODU5MDA2REI2M0IgLyogVW5pZmllZFNvdXJjZTUzMC5jcHAgKi87IH07CiAJCTJEOEZFQkREMTQz
RTNFRjcwMDcyNTAyQiAvKiBDU1NDcm9zc2ZhZGVWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ4RkVCREIxNDNFM0VGNzAwNzI1MDJCIC8qIENT
U0Nyb3NzZmFkZVZhbHVlLmggKi87IH07CiAJCTJEOTA2NjA3MEJFMTQxRDQwMDk1Njk5OCAvKiBM
YXlvdXRTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMkQ5MDY2MDUwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMkQ5MkE3OUEyMTM0QUQ3OTAw
RjQ5M0ZEIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzOTE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9v
a1NvZnRMaW5rLm1tICovOyB9OworCQkyRDkyQTc5RDIxMzRBRjk1MDBGNDkzRkQgLyogVXNlckFn
ZW50SU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTNBRjlEODMyMDMyNTY5MTAwNkNBRDA2IC8qIFVzZXJBZ2VudElPUy5tbSAqLzsgfTsKIAkJMkQ5
M0FFRTMxOURGNTY0MTAwMkE4NkMzIC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOTNBRUUxMTlERjU2
NDEwMDJBODZDMyAvKiBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmggKi87IH07CiAJCTJEOTdG
MDQ3MTlERDQxM0MwMDFFRTlDMyAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRBQUUzMkMxOURDQUY2MDAw
RTAwMkQyIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5jcHAgKi87IH07CiAJCTJEOTdGMDQ4MTlE
RDQxNDAwMDFFRTlDMyAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQUFFMzJEMTlEQ0FGNjAwMEUwMDJEMiAv
KiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuaCAqLzsgfTsKQEAgLTQwNTUsOCArNDA1Nyw4IEBACiAJ
CUNERTU5NTk1MUJGMTZERjMwMEExQ0JFOCAvKiBDRE1TZXNzaW9uQVZDb250ZW50S2V5U2Vzc2lv
bi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTU5
NTkzMUJGMTY2QUQwMEExQ0JFOCAvKiBDRE1TZXNzaW9uQVZDb250ZW50S2V5U2Vzc2lvbi5tbSAq
LzsgfTsKIAkJQ0RFNTk1OTcxQkYyNkUyMTAwQTFDQkU4IC8qIENETVNlc3Npb25NZWRpYVNvdXJj
ZUFWRk9iakMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENERTU5NTk2MUJGMjZFMjEwMEExQ0JFOCAvKiBDRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpD
LmggKi87IH07CiAJCUNERTU5NTlEMUJGMjc1NzEwMEExQ0JFOCAvKiBDRE1TZXNzaW9uTWVkaWFT
b3VyY2VBVkZPYmpDLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQ0RFNTk1OUMxQkYyNzU3MTAwQTFDQkU4IC8qIENETVNlc3Npb25NZWRpYVNvdXJjZUFW
Rk9iakMubW0gKi87IH07Ci0JCUNERTY2N0E0MUU0QkJGMTUwMEU4MTU0QSAvKiBXZWJBdWRpb0J1
ZmZlckxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0RFNjY3QTIxRTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5jcHAgKi87
IH07Ci0JCUNERTY2N0E1MUU0QkJGMTUwMEU4MTU0QSAvKiBXZWJBdWRpb0J1ZmZlckxpc3QuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTY2N0EzMUU0
QkJGMTUwMEU4MTU0QSAvKiBXZWJBdWRpb0J1ZmZlckxpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDREU2NjdBNDFFNEJCRjE1MDBFODE1NEEg
LyogY29jb2EvV2ViQXVkaW9CdWZmZXJMaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTY2N0EyMUU0QkJGMTUwMEU4MTU0QSAvKiBjb2NvYS9X
ZWJBdWRpb0J1ZmZlckxpc3QuY3BwICovOyB9OworCQlDREU2NjdBNTFFNEJCRjE1MDBFODE1NEEg
LyogY29jb2EvV2ViQXVkaW9CdWZmZXJMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDREU2NjdBMzFFNEJCRjE1MDBFODE1NEEgLyogY29jb2EvV2Vi
QXVkaW9CdWZmZXJMaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJQ0RFN0ZDNDUxODE5MDRCMTAwMkJCQjc3IC8qIE9yZGVySXRlcmF0b3IuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTdGQzQzMTgx
OTA0QjEwMDJCQkI3NyAvKiBPcmRlckl0ZXJhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0RFODNEQjIxODNDNDQwNjAwMzFFQUEzIC8qIFZp
ZGVvUGxheWJhY2tRdWFsaXR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDREU4M0RCMDE4M0M0NDA2MDAzMUVBQTMgLyogVmlkZW9QbGF5YmFja1F1YWxp
dHkuaCAqLzsgfTsKIAkJQ0RFOEI1RUMxQTY5Nzc3MzAwQjRCNjZBIC8qIExlZ2FjeUNETVByaXZh
dGVDbGVhcktleS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDREU4QjVFQTFBNjk3NzczMDBCNEI2NkEgLyogTGVnYWN5Q0RNUHJpdmF0ZUNsZWFyS2V5
LmNwcCAqLzsgfTsKQEAgLTcwNzMsNyArNzA3NSw3IEBACiAJCTMzOUI1QjYyMTMxREFBMzIwMEY0
OEQwMiAvKiBDb29raWVzU3RyYXRlZ3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ29va2llc1N0cmF0ZWd5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM2NjJG
OTg0MDQ3Q0VEQkU1REREQUZBQSAvKiBSZW5kZXJNYXRoTUxNZW5jbG9zZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJNYXRoTUxNZW5jbG9zZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3MTE5QTc5MjBDQ0I2MTAwMDJDNkRDOSAvKiBX
ZWJLaXRUYXJnZXRDb25kaXRpb25hbHMueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gV2ViS2l0VGFy
Z2V0Q29uZGl0aW9uYWxzLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkz
NzE3RDdFNTE3RUNDM0E2MDAzQzI3NkQgLyogZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5z
Y3JpcHQucGVybDsgbmFtZSA9IGV4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbDsgcGF0aCA9
ICJTY3JpcHRzL2V4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCI7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTM3MTdEN0U1MTdFQ0MzQTYwMDNDMjc2RCAvKiBleHRyYWN0LWxvY2Fs
aXphYmxlLXN0cmluZ3MucGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5wZXJsOyBuYW1lID0gImV4dHJhY3QtbG9jYWxpemFibGUt
c3RyaW5ncy5wbCI7IHBhdGggPSAiU2NyaXB0cy9leHRyYWN0LWxvY2FsaXphYmxlLXN0cmluZ3Mu
cGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzFBNjdDQTExQzZDN0RCMDAwNDdC
OEIgLyogSHlwaGVuYXRpb25DRi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBIeXBoZW5hdGlvbkNGLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzcx
RTY1Q0IxMzY2MUVEQzAwQkVFREIwIC8qIFBhZ2VTZXJpYWxpemVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFBhZ2VTZXJpYWxpemVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTM3MUU2NUNEMTM2NjFFRUQwMEJFRURCMCAvKiBQYWdlU2VyaWFsaXplci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQYWdlU2VyaWFsaXplci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzM1OCw4ICsxMzM2MCw4IEBACiAJCUNE
RTU5NTlDMUJGMjc1NzEwMEExQ0JFOCAvKiBDRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ0RNU2Vzc2lvbk1lZGlh
U291cmNlQVZGT2JqQy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFNjU2MEUx
N0NBNkU3NjAwNTI2QkE3IC8qIG1lZGlhQ29udHJvbHNBcHBsZS5qcyAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsg
cGF0aCA9IG1lZGlhQ29udHJvbHNBcHBsZS5qczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQ0RFNjY3QTExRTRCQkE0RDAwRTgxNTRBIC8qIFBsYXRmb3JtQXVkaW9EYXRhLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtQXVkaW9EYXRhLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNERTY2N0EyMUU0QkJGMTUwMEU4MTU0QSAvKiBXZWJBdWRp
b0J1ZmZlckxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gY29j
b2EvV2ViQXVkaW9CdWZmZXJMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
Q0RFNjY3QTMxRTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBjb2NvYS9XZWJBdWRpb0J1ZmZlckxpc3QuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0RFNjY3QTIxRTRCQkYxNTAwRTgxNTRBIC8qIGNv
Y29hL1dlYkF1ZGlvQnVmZmVyTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBjb2NvYS9XZWJBdWRpb0J1ZmZlckxpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlDREU2NjdBMzFFNEJCRjE1MDBFODE1NEEgLyogY29jb2EvV2ViQXVkaW9CdWZm
ZXJMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGNvY29hL1dlYkF1ZGlv
QnVmZmVyTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU3RkM0MjE4MTkw
NEIxMDAyQkJCNzcgLyogT3JkZXJJdGVyYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBPcmRlckl0ZXJhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQ0RFN0ZDNDMxODE5MDRCMTAwMkJCQjc3IC8qIE9yZGVySXRlcmF0b3IuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT3JkZXJJdGVyYXRvci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlDREU4M0RBRjE4M0M0NDA2MDAzMUVBQTMgLyogVmlkZW9QbGF5YmFj
a1F1YWxpdHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVmlkZW9Q
bGF5YmFja1F1YWxpdHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTUyNDAs
OCArMTUyNDIsOCBAQAogCQkJCTQxMTAzQUE3MUUzOTc5MEEwMDc2OUYxNCAvKiBSZWFsdGltZU91
dGdvaW5nQXVkaW9Tb3VyY2VDb2NvYS5jcHAgKi8sCiAJCQkJNDExMDNBQTgxRTM5NzkwQTAwNzY5
RjE0IC8qIFJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZUNvY29hLmggKi8sCiAJCQkJNUNERDgz
M0IxRTQzMjRCQjAwNjIxQjgzIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLmNw
cCAqLywKLQkJCQk0MTkyNDI0NzIxMjdCN0NDMDA2MzRGQ0YgLyogUmVhbHRpbWVPdXRnb2luZ1Zp
ZGVvU291cmNlQ29jb2EubW0gKi8sCiAJCQkJNUNERDgzM0MxRTQzMjRCQjAwNjIxQjgzIC8qIFJl
YWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLmggKi8sCisJCQkJNDE5MjQyNDcyMTI3QjdD
QzAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tICovLAogCQkJ
CTA3MEE5RjVFMUZGRUNDNzAwMDNERjY0OSAvKiBTY3JlZW5EaXNwbGF5Q2FwdHVyZVNvdXJjZU1h
Yy5oICovLAogCQkJCTA3MEE5RjYwMUZGRUNDNzEwMDNERjY0OSAvKiBTY3JlZW5EaXNwbGF5Q2Fw
dHVyZVNvdXJjZU1hYy5tbSAqLywKIAkJCQkwN0Q2MzczRTFCQjBCMTEzMDAyNTZDRTkgLyogV2Vi
QXVkaW9Tb3VyY2VQcm92aWRlckFWRk9iakMuaCAqLywKQEAgLTI0NTU0LDEwICsyNDU1NiwxMCBA
QAogCQlDRDY2OUQ2NTFEMjMyREY0MDA0RDE4NjYgLyogY29jb2EgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUNERTY2N0EyMUU0QkJGMTUwMEU4MTU0QSAv
KiBjb2NvYS9XZWJBdWRpb0J1ZmZlckxpc3QuY3BwICovLAorCQkJCUNERTY2N0EzMUU0QkJGMTUw
MEU4MTU0QSAvKiBjb2NvYS9XZWJBdWRpb0J1ZmZlckxpc3QuaCAqLywKIAkJCQlDRDY2OUQ2NjFE
MjMyREZGMDA0RDE4NjYgLyogTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmNwcCAqLywKIAkJCQlD
RDIyN0UzNjIxMTNBRUZBMDBEMjg1QUYgLyogTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmggKi8s
Ci0JCQkJQ0RFNjY3QTIxRTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5jcHAg
Ki8sCi0JCQkJQ0RFNjY3QTMxRTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5o
ICovLAogCQkJKTsKIAkJCW5hbWUgPSBjb2NvYTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
CkBAIC0yNzI2OCw2ICsyNzI3MCw3IEBACiAJCQkJRkI5MkRGNEIxNUZFRDA4NzAwOTk0NDMzIC8q
IENsaXBQYXRoT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1ODAzNzE2MjFBNjZGMDBB
MDBCQUY1MTkgLyogQ2xpcFJlY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QUFCRDEzMTRGQTA5
RDUwMDc0NTdBRSAvKiBDbG9zZUV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlDREU2NjdBNTFF
NEJCRjE1MDBFODE1NEEgLyogY29jb2EvV2ViQXVkaW9CdWZmZXJMaXN0LmggaW4gSGVhZGVycyAq
LywKIAkJCQlDMEMwNTRDQjExMThDOEU0MDBDRTI2MzYgLyogQ29kZUdlbmVyYXRvci5wbSBpbiBI
ZWFkZXJzICovLAogCQkJCUJDNUVCNURGMEU4MUI5QUIwMEIyNTk2NSAvKiBDb2xsYXBzZWRCb3Jk
ZXJWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQyNUE0OUExODI5MkI4NDAwMjBDRkNGIC8q
IENvbGxlY3Rpb25JbmRleENhY2hlLmggaW4gSGVhZGVycyAqLywKQEAgLTMwNzU3LDcgKzMwNzYw
LDYgQEAKIAkJCQk3MTMyNDQ1MTIwMTA5REE1MDBBRTdGQjIgLyogV2ViQW5pbWF0aW9uVXRpbGl0
aWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTg1MzY4NDFGNEU0ODE0MDBGRTA5MUIgLyogV2Vi
QXJjaGl2ZVJlc291cmNlRnJvbU5TQXR0cmlidXRlZFN0cmluZy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRTE4QzM1NDQxRjcxOTcwQzAwRkY2MzJEIC8qIFdlYkFyY2hpdmVSZXNvdXJjZVdlYlJlc291
cmNlSGFuZGxlci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQ0RFNjY3QTUxRTRCQkYxNTAwRTgxNTRB
IC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFCMkE2MjYxRUYx
QkY2RDAwMkI5RDdBIC8qIFdlYkF1ZGlvU291cmNlUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTA3RDYzNzQwMUJCMEIxMTMwMDI1NkNFOSAvKiBXZWJBdWRpb1NvdXJjZVByb3ZpZGVyQVZG
T2JqQy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUYzNkVBOUMxRTIxQkExNzAwNjIxRTI1IC8qIFdl
YkJhY2tncm91bmRUYXNrQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMTM1Niw2ICsz
MTM1OCw3IEBACiAJCQkJQ0RERTAyRUQxOEIzRUQ2RDAwQ0Y3RkYxIC8qIENETVNlc3Npb25BVkZv
dW5kYXRpb25PYmpDLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RERTAyRjAxOEI1NjUxMzAwQ0Y3
RkYxIC8qIENETVNlc3Npb25BVlN0cmVhbVNlc3Npb24ubW0gaW4gU291cmNlcyAqLywKIAkJCQlD
REU1OTU5RDFCRjI3NTcxMDBBMUNCRTggLyogQ0RNU2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQy5t
bSBpbiBTb3VyY2VzICovLAorCQkJCUNERTY2N0E0MUU0QkJGMTUwMEU4MTU0QSAvKiBjb2NvYS9X
ZWJBdWRpb0J1ZmZlckxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTE0MDkwRkIxQUE1MUUx
RDAwOTExOTFBIC8qIENvbnRlbnRGaWx0ZXJVbmJsb2NrSGFuZGxlckNvY29hLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMDdBRkY0MjMxRUZCMTQ0OTAwQjU0NUIzIC8qIENvcmVBdWRpb0NhcHR1cmVT
b3VyY2VJT1MubW0gaW4gU291cmNlcyAqLywKIAkJCQk0NkM2OTZDQzFFNzIwNUZDMDA1OTc5Mzcg
LyogQ1BVTW9uaXRvci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMxNDQ2LDYgKzMxNDQ5LDggQEAK
IAkJCQlBQTEyREY0OTE3NDNERjgzMDA0REFGREYgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXpl
cklPUy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNEQTI5QTMwMUNCRjc0RDQwMDkwMUNDRiAvKiBQ
bGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNEQTI5
QTE2MUNCREE1NkMwMDkwMUNDRiAvKiBQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMubW0gaW4g
U291cmNlcyAqLywKKwkJCQkyRDkyQTc5QTIxMzRBRDc5MDBGNDkzRkQgLyogUXVpY2tMb29rU29m
dExpbmsubW0gaW4gU291cmNlcyAqLywKKwkJCQk0MTkyNDI0OTIxMjdCOTNFMDA2MzRGQ0YgLyog
UmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQkz
MTZEQ0I4QTFFN0E2OTk2MDAxQjVGODcgLyogUlRDSWNlVHJhbnNwb3J0LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUJDNTExNTZFMTJCMTc0OUMwMEM5Njc1NCAvKiBTY3JvbGxBbmltYXRvck1hYy5t
bSBpbiBTb3VyY2VzICovLAogCQkJCUJDRUY4NjlGMEU4NDRFOUQwMEE4NUNENSAvKiBTY3JvbGxi
YXJUaGVtZU1hYy5tbSBpbiBTb3VyY2VzICovLApAQCAtMzE1NjYsNyArMzE1NzEsNiBAQAogCQkJ
CTUzOEVDOEExMUY5OTNGOUQwMDREMjJBOCAvKiBVbmlmaWVkU291cmNlNDguY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJREU1Rjg1OTkxRkExQUJGNDAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U0OS1t
bS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUzOEVDOEEyMUY5OTNGOUQwMDREMjJBOCAvKiBVbmlm
aWVkU291cmNlNDkuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNDE5MjQyNDkyMTI3QjkzRTAwNjM0
RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJREU1Rjg1OUExRkExQUJGNDAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U1MC1tbS5tbSBp
biBTb3VyY2VzICovLAogCQkJCTUzOEVDOEEzMUY5OTNGOUQwMDREMjJBOCAvKiBVbmlmaWVkU291
cmNlNTAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJREU1Rjg2NTAxRkEyQUYyNDAwNkRCNjNBIC8q
IFVuaWZpZWRTb3VyY2U1MS1tbS5tbSBpbiBTb3VyY2VzICovLApAQCAtMzIwNjAsNiArMzIwNjQs
NyBAQAogCQkJCTJEOEI5MkZEMjAzRDEzRTEwMDlDODY4RiAvKiBVbmlmaWVkU291cmNlNTI4LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTJEOEI5MkZFMjAzRDEzRTEwMDlDODY4RiAvKiBVbmlmaWVk
U291cmNlNTI5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOEI5MkZGMjAzRDEzRTEwMDlDODY4
RiAvKiBVbmlmaWVkU291cmNlNTMwLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJBNzlEMjEz
NEFGOTUwMEY0OTNGRCAvKiBVc2VyQWdlbnRJT1MubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MzIw
NDIwMjFGOUE5RjEwMDBCODFCMkEgLyogVXNlckFnZW50U2NyaXB0c0RhdGEuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJN0MzQjc5NzExOTA4NzU3QjAwQjQ3QTJEIC8qIFVzZXJNZXNzYWdlSGFuZGxl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0U2ODM0NDE5MjE0M0E4MDBGNEQ5MjggLyogVXNl
ck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMyMDgyLDcg
KzMyMDg3LDYgQEAKIAkJCQlBMTQ4MzJCOTE4N0Y2M0Q1MDBEQTYzQTYgLyogV0FLVmlldy5tbSBp
biBTb3VyY2VzICovLAogCQkJCURFNUY4NjFFMUZBMjgxRkQwMDZEQjYzQSAvKiBXZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW0gaW4gU291cmNlcyAqLywKIAkJCQlERTVGODYxRDFG
QTI4MTVCMDA2REI2M0EgLyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0gaW4g
U291cmNlcyAqLywKLQkJCQlDREU2NjdBNDFFNEJCRjE1MDBFODE1NEEgLyogV2ViQXVkaW9CdWZm
ZXJMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNEN0UwNTIyMTY1MUMyODIwMEMxMjAxRiAv
KiBXZWJDb3JlQVZGUmVzb3VyY2VMb2FkZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQlDRDIyNUMw
QjFDNDZGQkY0MDAxNDA3NjEgLyogV2ViQ29yZU5TVVJMU2Vzc2lvbi5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTkzRjE5QjA3MDgyNDVFNTkwMDFFOUFCQyAvKiBXZWJDb3JlVmlldy5tIGluIFNvdXJj
ZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9Dcnlw
dG9BbGdvcml0aG1FQ0RTQS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9D
cnlwdG9BbGdvcml0aG1FQ0RTQS5jcHAKaW5kZXggOTczMTdlMDRhOTc5N2YxNTYxNmRlNGM3NjA4
Yjc0NWQ5ZmRlZGVmNy4uMWI1M2M0NTNiMzUyNTM2YjQ4MTJlZGQyYWE2NGQ5MWU5NWRmODU0YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3Jp
dGhtRUNEU0EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0
b0FsZ29yaXRobUVDRFNBLmNwcApAQCAtMzYsMTIgKzM2LDE0IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAorbmFtZXNwYWNlIENyeXB0b0FsZ29yaXRobUVDRFNBSW50ZXJuYWwgewogc3RhdGlj
IGNvbnN0IGNoYXIqIGNvbnN0IEFMRzI1NiA9ICJFUzI1NiI7CiBzdGF0aWMgY29uc3QgY2hhciog
Y29uc3QgQUxHMzg0ID0gIkVTMzg0IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBBTEc1MTIg
PSAiRVM1MTIiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IFAyNTYgPSAiUC0yNTYiOwogc3Rh
dGljIGNvbnN0IGNoYXIqIGNvbnN0IFAzODQgPSAiUC0zODQiOwogc3RhdGljIGNvbnN0IGNoYXIq
IGNvbnN0IFA1MjEgPSAiUC01MjEiOworfQogCiBSZWY8Q3J5cHRvQWxnb3JpdGhtPiBDcnlwdG9B
bGdvcml0aG1FQ0RTQTo6Y3JlYXRlKCkKIHsKQEAgLTEwMiw2ICsxMDQsNyBAQCB2b2lkIENyeXB0
b0FsZ29yaXRobUVDRFNBOjpnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0
ZXJzJiBwYXJhbWV0ZQogCiB2b2lkIENyeXB0b0FsZ29yaXRobUVDRFNBOjppbXBvcnRLZXkoQ3J5
cHRvS2V5Rm9ybWF0IGZvcm1hdCwgS2V5RGF0YSYmIGRhdGEsIGNvbnN0IENyeXB0b0FsZ29yaXRo
bVBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdl
Qml0bWFwIHVzYWdlcywgS2V5Q2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2sm
JiBleGNlcHRpb25DYWxsYmFjaykKIHsKKyAgICB1c2luZyBuYW1lc3BhY2UgQ3J5cHRvQWxnb3Jp
dGhtRUNEU0FJbnRlcm5hbDsKICAgICBjb25zdCBhdXRvJiBlY1BhcmFtZXRlcnMgPSBkb3duY2Fz
dDxDcnlwdG9BbGdvcml0aG1FY0tleVBhcmFtcz4ocGFyYW1ldGVycyk7CiAKICAgICBSZWZQdHI8
Q3J5cHRvS2V5RUM+IHJlc3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggMGExZDkwMzQxN2Q0
Y2E5ZGMwZTMwYmJmZmFjNDFkMTg4ZjMxYmRiYy4uYjE4MGJjNDMzOWE1OTZlYWIxM2IwZDRlOWIy
NjE2YjRlNzk1OTI1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTY0MSw3ICs2NDEsNyBAQCBw
dWJsaWM6CiAgICAgCiAgICAgV0VCQ09SRV9FWFBPUlQgRG9jdW1lbnRMb2FkZXIqIGxvYWRlcigp
IGNvbnN0OwogCi0gICAgV0VCQ09SRV9FWFBPUlQgRXhjZXB0aW9uT3I8UmVmUHRyPFdpbmRvd1By
b3h5Pj4gb3BlbkZvckJpbmRpbmdzKERPTVdpbmRvdyYgYWN0aXZlV2luZG93LCBET01XaW5kb3cm
IGZpcnN0V2luZG93LCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1l
LCBjb25zdCBTdHJpbmcmIGZlYXR1cmVzKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRpb25P
cjxSZWZQdHI8V2luZG93UHJveHk+PiBvcGVuRm9yQmluZGluZ3MoRE9NV2luZG93JiBhY3RpdmVX
aW5kb3csIERPTVdpbmRvdyYgZmlyc3RET01XaW5kb3csIGNvbnN0IFN0cmluZyYgdXJsLCBjb25z
dCBBdG9taWNTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZmVhdHVyZXMpOwogICAgIFdFQkNP
UkVfRVhQT1JUIEV4Y2VwdGlvbk9yPERvY3VtZW50Jj4gb3BlbkZvckJpbmRpbmdzKERvY3VtZW50
KiByZXNwb25zaWJsZURvY3VtZW50LCBjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYg
cmVwbGFjZSk7CiAKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHJlbmFtZSB0aGlzIGF0IHNvbWUg
cG9pbnQgYW5kIGdpdmUgYmFjayB0aGUgbmFtZSAnb3BlbicgdG8gdGhlIEhUTUwgc3BlY2lmaWVk
IG9uZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1
aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNw
cAppbmRleCBlNDBmOWE4ODZmMTU5MDRlNjJmMGYyNjg4YTg2OWE2OTg4OWI0YTg5Li5jNzMxOTIy
YWY4Mjk4M2I5ZGFhNmJjN2ZlNTIyNzg2MzczMTY4M2ZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNs
dWRlICJIVE1MRG9jdW1lbnRQYXJzZXIuaCIKICNpbmNsdWRlICJIVE1MRm9ybUNvbnRyb2xFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTElucHV0
RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxPcHRHcm91cEVsZW1lbnQuaCIKICNpbmNsdWRlICJI
VE1MT3B0aW9uRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVz
b3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlv
bkNhY2hlUmVzb3VyY2VMb2FkZXIuaAppbmRleCA3MmIyOTc1NWYxMWQ5NDA5NWZhN2VkZDUzMDk2
OGY3YzU3YjU3YmViLi42ZDlhMmRhOWJlMDMyMDA3YTgyZWRhNjhjMTZmZDJmMjhiMWMxMjgzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNo
ZVJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0Fw
cGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFn
bWEgb25jZQogCisjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZVJlc291cmNlLmgiCiAjaW5jbHVk
ZSAiQ2FjaGVkUmF3UmVzb3VyY2UuaCIKICNpbmNsdWRlICJDYWNoZWRSYXdSZXNvdXJjZUNsaWVu
dC5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0FsdGVybmF0aXZlVGV4dENsaWVudC5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9BbHRlcm5hdGl2ZVRleHRDbGllbnQuaAppbmRleCA5MzU1OTM3ODhmOTg5OWM5ZTIyNTEw
ODhiNGU3NmQwMDVkM2QyZjk4Li4xNDNkYTZjNDdmNGJjZWZjMGE0MWFhODc2NDY3ZDA0NDcxNWJh
NzBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0FsdGVybmF0aXZlVGV4dENsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmgKQEAg
LTI5LDExICsyOSw2IEBACiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgogCi0jaWYgUExBVEZPUk0oTUFDKQotLy8gU29tZSBwbGF0Zm9ybXMg
cHJvdmlkZSBVSSBmb3Igc3VnZ2VzdGluZyBhbHRlcm5hdGl2ZSBkaWN0YXRpb24gdGV4dC4KLSNk
ZWZpbmUgVVNFX0RJQ1RBVElPTl9BTFRFUk5BVElWRVMgMQotI2VuZGlmCi0KIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogZW51bSBSZWFzb25Gb3JEaXNtaXNzaW5nQWx0ZXJuYXRpdmVUZXh0IHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCBkNTQzM2RkOTIwYWUwZWU1OTJiZDQ1
ZmQ1NjBjZGQzZTM4YTM0NzIxLi5lMDk4MTU2NTFiZDJkNjA1NzRkYTQyMzZjMzgwZmFkNGQ2MDIx
NWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCkBAIC0zMzgsNiArMzM4LDcg
QEAgZXh0ZXJuIE5TU3RyaW5nICpVSUNvbG9yUGJvYXJkVHlwZTsKICNpZiBQTEFURk9STShNQUMp
CiBleHRlcm4gY29uc3QgY2hhciogY29uc3QgV2ViQXJjaGl2ZVBib2FyZFR5cGU7CiBleHRlcm4g
Y29uc3QgY2hhciogY29uc3QgV2ViVVJMTmFtZVBib2FyZFR5cGU7CitleHRlcm4gY29uc3QgY2hh
ciogY29uc3QgV2ViVVJMc1dpdGhUaXRsZXNQYm9hcmRUeXBlOwogI2VuZGlmCiAKICNpZiAhUExB
VEZPUk0oR1RLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
RGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKaW5kZXggOTY4YmIyMjg2YTFmN2U1ODQ2NGVm
ODhkNzllNjFlZjQyNDkwMTU1Zi4uM2UyYzgyYjhiMTJlZGEwOWRiNDNmNGMxMzAxNGM1YmJhYzBi
NzAzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxh
eVJlZnJlc2hNb25pdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRl
ICJEaXNwbGF5UmVmcmVzaE1vbml0b3JDbGllbnQuaCIKICNpbmNsdWRlICJEaXNwbGF5UmVmcmVz
aE1vbml0b3JNYW5hZ2VyLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgogCiAjaWYgUExBVEZPUk0o
SU9TKQogI2luY2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvcklPUy5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseVNwZWNpZmljYXRpb25O
dWxsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlTcGVj
aWZpY2F0aW9uTnVsbC5jcHAKaW5kZXggMjE3NjkxZjcyMzk3NGU4MDA1NzliMjhjYzA1NmE3Yjlj
MDg1YzY0ZC4uMTVjMDM4NzY5ODI2MGY0MDVlMjJlNWJmNTI3ODAwMzA4YzdmZTNiZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseVNwZWNpZmlj
YXRpb25OdWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAi
Rm9udEZhbWlseVNwZWNpZmljYXRpb25OdWxsLmgiCiAKICNpbmNsdWRlICJGb250U2VsZWN0b3Iu
aCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvV2ViR0xMYXllci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL1dlYkdMTGF5ZXIubW0KaW5kZXggM2VkN2U0MWU3YzY4ODQ2ZjNmYmMxNzJjZTZiYTk4OWZm
ODdmNTdlYi4uYjg3Nzc0NmJhNTFhZWRjZjNiMDY2MDU4NGJhOTNkZDRjNzk3MTdjOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHTExheWVy
Lm1tCkBAIC00MiwxMyArNDIsMTEgQEAKICNpbXBvcnQgPE9wZW5HTC9nbC5oPgogI2VuZGlmCiAK
LXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBAaW1wbGVtZW50YXRpb24gV2ViR0xMYXllcgog
CiBAc3ludGhlc2l6ZSBjb250ZXh0PV9jb250ZXh0OwogCi0tKGlkKWluaXRXaXRoR3JhcGhpY3ND
b250ZXh0M0Q6KEdyYXBoaWNzQ29udGV4dDNEKiljb250ZXh0CistKGlkKWluaXRXaXRoR3JhcGhp
Y3NDb250ZXh0M0Q6KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEKiljb250ZXh0CiB7CiAgICAg
X2NvbnRleHQgPSBjb250ZXh0OwogICAgIHNlbGYgPSBbc3VwZXIgaW5pdF07CkBAIC04Niw3ICs4
NCw3IEBAIHN0YXRpYyB2b2lkIGZyZWVEYXRhKHZvaWQgKiwgY29uc3Qgdm9pZCAqZGF0YSwgc2l6
ZV90IC8qIHNpemUgKi8pCiB9CiAjZW5kaWYKIAotLShDR0ltYWdlUmVmKWNvcHlJbWFnZVNuYXBz
aG90V2l0aENvbG9yU3BhY2U6KENHQ29sb3JTcGFjZVJlZiljb2xvclNwYWNlCistIChDR0ltYWdl
UmVmKWNvcHlJbWFnZVNuYXBzaG90V2l0aENvbG9yU3BhY2U6KENHQ29sb3JTcGFjZVJlZiljb2xv
clNwYWNlCiB7CiAgICAgaWYgKCFfY29udGV4dCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBA
IC05Niw3ICs5NCw3IEBAIC0oQ0dJbWFnZVJlZiljb3B5SW1hZ2VTbmFwc2hvdFdpdGhDb2xvclNw
YWNlOihDR0NvbG9yU3BhY2VSZWYpY29sb3JTcGFjZQogCiAgICAgUmV0YWluUHRyPENHQ29sb3JT
cGFjZVJlZj4gaW1hZ2VDb2xvclNwYWNlID0gY29sb3JTcGFjZTsKICAgICBpZiAoIWltYWdlQ29s
b3JTcGFjZSkKLSAgICAgICAgaW1hZ2VDb2xvclNwYWNlID0gc1JHQkNvbG9yU3BhY2VSZWYoKTsK
KyAgICAgICAgaW1hZ2VDb2xvclNwYWNlID0gV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYoKTsK
IAogICAgIENHUmVjdCBsYXllckJvdW5kcyA9IENHUmVjdEludGVncmFsKFtzZWxmIGJvdW5kc10p
OwogCkBAIC0xNDEsMTMgKzEzOSwxMyBAQCAtICh2b2lkKWRpc3BsYXkKICNlbmRpZgogCiAgICAg
X2NvbnRleHQtPm1hcmtMYXllckNvbXBvc2l0ZWQoKTsKLSAgICBQbGF0Zm9ybUNBTGF5ZXIqIGxh
eWVyID0gUGxhdGZvcm1DQUxheWVyOjpwbGF0Zm9ybUNBTGF5ZXIoKF9fYnJpZGdlIHZvaWQqKXNl
bGYpOworICAgIFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXllciogbGF5ZXIgPSBXZWJDb3JlOjpQbGF0
Zm9ybUNBTGF5ZXI6OnBsYXRmb3JtQ0FMYXllcigoX19icmlkZ2Ugdm9pZCopc2VsZik7CiAgICAg
aWYgKGxheWVyICYmIGxheWVyLT5vd25lcigpKQogICAgICAgICBsYXllci0+b3duZXIoKS0+cGxh
dGZvcm1DQUxheWVyTGF5ZXJEaWREaXNwbGF5KGxheWVyKTsKIH0KIAogI2lmIFVTRShPUEVOR0wp
Ci0tICh2b2lkKWFsbG9jYXRlSU9TdXJmYWNlQmFja2luZ1N0b3JlV2l0aFNpemU6KEludFNpemUp
c2l6ZSB1c2luZ0FscGhhOihCT09MKXVzaW5nQWxwaGEKKy0gKHZvaWQpYWxsb2NhdGVJT1N1cmZh
Y2VCYWNraW5nU3RvcmVXaXRoU2l6ZTooV2ViQ29yZTo6SW50U2l6ZSlzaXplIHVzaW5nQWxwaGE6
KEJPT0wpdXNpbmdBbHBoYQogewogICAgIF9idWZmZXJTaXplID0gc2l6ZTsKICAgICBfdXNpbmdB
bHBoYSA9IHVzaW5nQWxwaGE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLm1tCmluZGV4IDVjMzU1N2Y4YmQ2NmE2OGM5MjNiMjNh
YTY0N2JiNzE0ODQwOWU5YTEuLjI1ZWZiOGI3NDc2ODAyNDU1OGRiY2RmMzBmNzQzMTg3MTQ2OTU1
YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dl
YkdQVUxheWVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L1dlYkdQVUxheWVyLm1tCkBAIC0zNCwxMyArMzQsMTEgQEAKICNpbXBvcnQgPHd0Zi9GYXN0TWFs
bG9jLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwotCiBAaW1wbGVtZW50YXRpb24gV2ViR1BVTGF5ZXIKIAogQHN5bnRoZXNpemUgY29udGV4
dD1fY29udGV4dDsKIAotLSAoaWQpaW5pdFdpdGhHUFVEZXZpY2U6KEdQVURldmljZSopY29udGV4
dAorLSAoaWQpaW5pdFdpdGhHUFVEZXZpY2U6KFdlYkNvcmU6OkdQVURldmljZSopY29udGV4dAog
ewogICAgIHNlbGYgPSBbc3VwZXIgaW5pdF07CiAgICAgX2NvbnRleHQgPSBjb250ZXh0OwpAQCAt
NTAsNyArNDgsNyBAQCAtIChpZClpbml0V2l0aEdQVURldmljZTooR1BVRGV2aWNlKiljb250ZXh0
CiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgc2VsZi5jb250ZW50c1NjYWxlID0gX2RldmljZVBp
eGVsUmF0aW87Ci0gICAgc2VsZi5jb2xvcnNwYWNlID0gc1JHQkNvbG9yU3BhY2VSZWYoKTsKKyAg
ICBzZWxmLmNvbG9yc3BhY2UgPSBXZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigpOwogI2VuZGlm
CiAgICAgcmV0dXJuIHNlbGY7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tCmluZGV4IDgy
MGFmOGJjMTZkYjNiNDg2NWU3OWI3YjgyNGRiMmM3YjRkZjNlY2MuLjMwM2IyNWRhM2Q0YTY0ZWQx
YjAwMzBiNzJiOWZkYmM2Zjk2NWMzM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tCkBA
IC0zMSw2ICszMSw3IEBACiAjaW1wb3J0ICJHUFVEZXZpY2UuaCIKICNpbXBvcnQgIkxvZ2dpbmcu
aCIKICNpbXBvcnQgPE1ldGFsL01ldGFsLmg+CisjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9QYXN0ZWJvYXJkTWFjLm1tCmluZGV4IGNiNTA0Y2Y1NDNlYjdlODBkNzY2NWNkMWU1N2UzMDg5
YWZmYjFhNzAuLmZkNmU5Mjk4Nzc0ZmFmNGZlODczNWJmMjc1NjVhZGM5NTMyYmY2MzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCkBAIC01MiwxMCAr
NTIsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjb25zdCBjaGFyKiBjb25zdCBXZWJBcmNo
aXZlUGJvYXJkVHlwZSA9ICJBcHBsZSBXZWIgQXJjaGl2ZSBwYXN0ZWJvYXJkIHR5cGUiOwogY29u
c3QgY2hhciogY29uc3QgV2ViVVJMTmFtZVBib2FyZFR5cGUgPSAicHVibGljLnVybC1uYW1lIjsK
K2NvbnN0IGNoYXIqIGNvbnN0IFdlYlVSTHNXaXRoVGl0bGVzUGJvYXJkVHlwZSA9ICJXZWJVUkxz
V2l0aFRpdGxlc1Bib2FyZFR5cGUiOwogCiBjb25zdCBjaGFyIFdlYlNtYXJ0UGFzdGVQYm9hcmRU
eXBlW10gPSAiTmVYVCBzbWFydCBwYXN0ZSBwYXN0ZWJvYXJkIHR5cGUiOwogY29uc3QgY2hhciBX
ZWJVUkxQYm9hcmRUeXBlW10gPSAicHVibGljLnVybCI7Ci1jb25zdCBjaGFyIFdlYlVSTHNXaXRo
VGl0bGVzUGJvYXJkVHlwZVtdID0gIldlYlVSTHNXaXRoVGl0bGVzUGJvYXJkVHlwZSI7CiAKIHN0
YXRpYyBjb25zdCBWZWN0b3I8U3RyaW5nPiB3cml0YWJsZVR5cGVzRm9yVVJMKCkKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2Fw
dHVyZU1hbmFnZXJDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwCmluZGV4IDVjMmE5ZDI0MTk4YTEz
ZTQ4YzRmNzNlOWRlNjFkZDM3YWRlOTI1NTEuLmY0OTJlNjE0MmYwMjMxYjk5N2U5NmJhNTkyNzk1
ODg1NjgwOTMzYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29hLmNw
cApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAorI2luY2x1
ZGUgIkNvcmVWaWRlb1NvZnRMaW5rLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUg
PHd0Zi9BbGdvcml0aG1zLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJh
c2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RC
YXNlLmNwcAppbmRleCAyNTQwOTY1NmMzZDYzMjAzNjE2NWZhYjFkZDc0OWU4OGZjYTY4NDgyLi5m
ZjU4MzYxNzRlYWI5NTk1MjhhMjA3YmZiYWFiNjAwMzlkOWI1MDMzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAK
QEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJIVFRQSGVhZGVyTmFtZXMuaCIKICNpbmNsdWRl
ICJQdWJsaWNTdWZmaXguaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKKyNpbmNsdWRl
ICJSZXNvdXJjZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlQb2xpY3kuaCIKICNpbmNs
dWRlIDx3dGYvUG9pbnRlckNvbXBhcmlzb24uaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxv
dy5jcHAKaW5kZXggM2JjODJjNmUxYWJkMmZhYzQzYjA5OWM4ZTZlM2NjZjM2NmRkODUzYi4uMmMy
YjUwOGZhYzVjNmZjODQ2Mjg1YzlmZmE4OTVhN2I0MDIyYjhlYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxk
ZXJCbG9ja0Zsb3cuY3BwCkBAIC0yNyw2ICsyNyw4IEBACiAjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1
aWxkZXJCbG9ja0Zsb3cuaCIKIAogI2luY2x1ZGUgIlJlbmRlck11bHRpQ29sdW1uRmxvdy5oIgor
I2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyQmxvY2suaCIKKyNpbmNsdWRlICJSZW5kZXJUcmVl
QnVpbGRlck11bHRpQ29sdW1uLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5s
aW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVp
bGRlcklubGluZS5jcHAKaW5kZXggN2NkMDcxNWRmNTI0YTc2ZmQyMDZhMjM0MjhkOWRhYzdkN2Q4
NTNmOC4uZGM5NTNjY2RjZWU4MzAxZGZkMDU5N2E2MWQwNTJlM2M1MGI5ZjYxYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5s
aW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJl
ZUJ1aWxkZXJJbmxpbmUuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiUmVuZGVyRnVs
bFNjcmVlbi5oIgogI2luY2x1ZGUgIlJlbmRlcklubGluZS5oIgogI2luY2x1ZGUgIlJlbmRlclRh
YmxlLmgiCisjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJUYWJsZS5oIgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hp
dmUubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlLm1tCmluZGV4IGIxNzQy
ZmRmZGQzODY5ZWFkZDNkN2M1YWVlNzA1ZTY2MWY5N2VlZGMuLmI4Yzk3MmY3ZWMxOGViN2Q0Yzlh
NzFkZTJiNGUxZTJjNjVkZTg3NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQ
SVdlYkFyY2hpdmUubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZS5t
bQpAQCAtMzQsOSArMzQsOCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTGVnYWN5V2ViQXJjaGl2ZS5o
PgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
Ci0KIG5hbWVzcGFjZSBBUEkgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIFJlZjxXZWJB
cmNoaXZlPiBXZWJBcmNoaXZlOjpjcmVhdGUoV2ViQXJjaGl2ZVJlc291cmNlKiBtYWluUmVzb3Vy
Y2UsIFJlZlB0cjxBUEk6OkFycmF5PiYmIHN1YnJlc291cmNlcywgUmVmUHRyPEFQSTo6QXJyYXk+
JiYgc3ViZnJhbWVBcmNoaXZlcykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0FQSVdlYkFyY2hpdmVSZXNvdXJjZS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFy
Y2hpdmVSZXNvdXJjZS5tbQppbmRleCBjYWU1Yjg1ZGYxNzdkZGRlNjhkODUyZTVlNTA2ZDhkOTJi
ZTJlYTk0Li5kYzBmOTBmMGYzODUxYWJmMTAwNDg0YmE1NzNhZTRhZjhlODBiMjMyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW0KKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tCkBAIC0zMyw5ICsz
Myw4IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9VUkwuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRy
Lmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBuYW1lc3BhY2UgQVBJIHsKK3VzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogCiBSZWY8V2ViQXJjaGl2ZVJlc291cmNlPiBXZWJBcmNoaXZl
UmVzb3VyY2U6OmNyZWF0ZShBUEk6OkRhdGEqIGRhdGEsIGNvbnN0IFN0cmluZyYgVVJMLCBjb25z
dCBTdHJpbmcmIE1JTUVUeXBlLCBjb25zdCBTdHJpbmcmIHRleHRFbmNvZGluZykKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBl
UGx1Z2luTW9kdWxlTWFjLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2Fw
ZS9tYWMvTmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMubW0KaW5kZXggNjhkN2M2YWRmMzYyNzUxMzEy
OTYzNTYyODZmMTFlODQ5YzE0YzJjMC4uYzBjY2FjNTk4NTNjZmFmZmQ5ZmYxZDFlM2Q2OGI2N2Q2
NDU3ZjdjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2Fw
ZS9tYWMvTmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMubW0KQEAgLTM0
LDkgKzM0LDggQEAKICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYvc3Bp
L2NmL0NGQnVuZGxlU1BJLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBzdGF0aWMgYm9vbCBnZXRQ
bHVnaW5BcmNoaXRlY3R1cmUoQ0ZCdW5kbGVSZWYgYnVuZGxlLCBQbHVnaW5Nb2R1bGVJbmZvJiBw
bHVnaW4pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNj
YXBlL21hYy9QbHVnaW5JbmZvcm1hdGlvbk1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Bs
dWdpbnMvTmV0c2NhcGUvbWFjL1BsdWdpbkluZm9ybWF0aW9uTWFjLm1tCmluZGV4IDVlYzg0MjQ5
NTljYmMxOTI4ODZmYTc1YWJmMDNmM2Q4ODViY2IxZDkuLjMyNTg0ZDQxNmJlMGZmMjVlOWU5MWRk
ZjQyODcwZTMzOTRmNDkzNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdp
bnMvTmV0c2NhcGUvbWFjL1BsdWdpbkluZm9ybWF0aW9uTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL1BsdWdpbkluZm9ybWF0aW9uTWFjLm1tCkBA
IC0zNCw5ICszNCw4IEBACiAjaW1wb3J0ICJTdHJpbmdVdGlsaXRpZXMuaCIKICNpbXBvcnQgPFdl
YkNvcmUvUGx1Z2luQmxhY2tsaXN0Lmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBu
YW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiB2b2lkIGdldFBs
YXRmb3JtUGx1Z2luTW9kdWxlSW5mb3JtYXRpb24oY29uc3QgUGx1Z2luTW9kdWxlSW5mbyYgcGx1
Z2luLCBBUEk6OkRpY3Rpb25hcnk6Ok1hcFR5cGUmIG1hcCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4
dAppbmRleCBkOGEzYzkwZGZmZTMyMjMyMmQ3NjNlZTIxZTdjYmE0NTBmZTg1ZmNmLi40YjhkNDgw
NmI0NGYyMjA0NjU4NTc3ZWI3YTk2NzhjYjhlMzQ3OWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0
CkBAIC0yOTgsOSArMjk4LDkgQEAgVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tIEBuby11bmlm
eQogCiBVSVByb2Nlc3MvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlD
b2NvYS5tbQogCi1VSVByb2Nlc3MvQXBwbGVQYXkvaW9zL1dlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5SU9TLm1tCitVSVByb2Nlc3MvQXBwbGVQYXkvaW9zL1dlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5SU9TLm1tIEBuby11bmlmeQogCi1VSVByb2Nlc3MvQXBwbGVQYXkvbWFjL1dlYlBheW1lbnRD
b29yZGluYXRvclByb3h5TWFjLm1tCitVSVByb2Nlc3MvQXBwbGVQYXkvbWFjL1dlYlBheW1lbnRD
b29yZGluYXRvclByb3h5TWFjLm1tIEBuby11bmlmeQogCiBVSVByb2Nlc3MvQXV0aGVudGljYXRp
b24vY29jb2EvQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eUNvY29hLm1tCiBVSVByb2Nlc3Mv
QXV0aGVudGljYXRpb24vY29jb2EvU2VjS2V5UHJveHlTdG9yZS5tbQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaApp
bmRleCBiZmM1ZWUzMzgyMjBkOTE1NmZjY2YwMGMxZTc2ZDBiYmVlOTA0MTkwLi4zNzljODg1N2Jl
OTRiNjE5NTU1ZWRmZmVjNGMzYTlhNmUxNzc5NDg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaApAQCAtNTEs
NyArNTEsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIH5BdXRvbWF0aW9uU2Vzc2lvbkNsaWVu
dCgpIHsgfQogCi0gICAgdmlydHVhbCBTdHJpbmcgc2Vzc2lvbklkZW50aWZpZXIoKSBjb25zdCB7
IHJldHVybiBTdHJpbmcoKTsgfQorICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgc2Vzc2lvbklkZW50
aWZpZXIoKSBjb25zdCB7IHJldHVybiBXVEY6OlN0cmluZygpOyB9CiAgICAgdmlydHVhbCB2b2lk
IGRpZERpc2Nvbm5lY3RGcm9tUmVtb3RlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mKSB7
IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdE5ld1BhZ2VXaXRoT3B0aW9ucyhXZWJLaXQ6Oldl
YkF1dG9tYXRpb25TZXNzaW9uJiwgQXV0b21hdGlvblNlc3Npb25Ccm93c2luZ0NvbnRleHRPcHRp
b25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYktpdDo6V2ViUGFnZVByb3h5Kik+JiYgY29t
cGxldGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIobnVsbHB0cik7IH0KICAgICB2aXJ0
dWFsIHZvaWQgcmVxdWVzdE1heGltaXplV2luZG93T2ZQYWdlKFdlYktpdDo6V2ViQXV0b21hdGlv
blNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikgeyBjb21wbGV0aW9uSGFuZGxlcigpOyB9CkBAIC02MSw4
ICs2MSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNTaG93aW5nSmF2YVNjcmlwdERp
YWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdl
UHJveHkmKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNtaXNzQ3VycmVu
dEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdl
YktpdDo6V2ViUGFnZVByb3h5JikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGFjY2VwdEN1cnJlbnRK
YXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJL
aXQ6OldlYlBhZ2VQcm94eSYpIHsgfQotICAgIHZpcnR1YWwgU3RyaW5nIG1lc3NhZ2VPZkN1cnJl
bnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBX
ZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgcmV0dXJuIFN0cmluZygpOyB9Ci0gICAgdmlydHVhbCB2
b2lkIHNldFVzZXJJbnB1dEZvckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKFdlYktpdDo6
V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIGNvbnN0IFN0cmlu
ZyYpIHsgfQorICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgbWVzc2FnZU9mQ3VycmVudEphdmFTY3Jp
cHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2Vi
UGFnZVByb3h5JikgeyByZXR1cm4gV1RGOjpTdHJpbmcoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBz
ZXRVc2VySW5wdXRGb3JDdXJyZW50SmF2YVNjcmlwdFByb21wdE9uUGFnZShXZWJLaXQ6OldlYkF1
dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBjb25zdCBXVEY6OlN0cmlu
ZyYpIHsgfQogICAgIHZpcnR1YWwgc3RkOjpvcHRpb25hbDxKYXZhU2NyaXB0RGlhbG9nVHlwZT4g
dHlwZU9mQ3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9u
U2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyByZXR1cm4gc3RkOjpudWxsb3B0OyB9
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9MZWdhY3lD
dXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW0KaW5kZXggMTFiYTM3MjY1
NDgzZmZlN2ZmMjQ2NTA5NDBkOGYzM2E1MmMwYzA0YS4uMTlhNTliNDJjYWI3YjU0N2VkOTQ0NjBl
NzJmYzAzOTZjZmU3OTI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbQpA
QCAtMzIsMjMgKzMyLDIwIEBACiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgog
I2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKLQogQGludGVyZmFjZSBXS0N1c3RvbVBy
b3RvY29sTG9hZGVyIDogTlNPYmplY3QgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlPiB7CiBAcHJp
dmF0ZQotICAgIExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiBfY3VzdG9tUHJvdG9j
b2xNYW5hZ2VyUHJveHk7CisgICAgV2ViS2l0OjpMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQ
cm94eSogX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OwogICAgIHVpbnQ2NF90IF9jdXN0b21Q
cm90b2NvbElEOwogICAgIE5TVVJMQ2FjaGVTdG9yYWdlUG9saWN5IF9zdG9yYWdlUG9saWN5Owog
ICAgIE5TVVJMQ29ubmVjdGlvbiAqX3VybENvbm5lY3Rpb247CiB9Ci0tIChpZClpbml0V2l0aExl
Z2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OihMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFn
ZXJQcm94eSopY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJvdG9jb2xJRDoodWlu
dDY0X3QpY3VzdG9tUHJvdG9jb2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0Owor
LSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTooV2ViS2l0OjpM
ZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSopY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJv
eHkgY3VzdG9tUHJvdG9jb2xJRDoodWludDY0X3QpY3VzdG9tUHJvdG9jb2xJRCByZXF1ZXN0OihO
U1VSTFJlcXVlc3QgKilyZXF1ZXN0OwogLSAodm9pZCljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94
eURlc3Ryb3llZDsKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdLQ3VzdG9tUHJvdG9jb2xMb2Fk
ZXIKIAotLSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTooTGVn
YWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5
IGN1c3RvbVByb3RvY29sSUQ6KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVzdDooTlNV
UkxSZXF1ZXN0ICopcmVxdWVzdAorLSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1h
bmFnZXJQcm94eTooV2ViS2l0OjpMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSopY3Vz
dG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJvdG9jb2xJRDoodWludDY0X3QpY3VzdG9t
UHJvdG9jb2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0CiB7CiAgICAgc2VsZiA9
IFtzdXBlciBpbml0XTsKICAgICBpZiAoIXNlbGYpCkBAIC04NSw3ICs4Miw3IEBAIC0gKHZvaWQp
Y3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHlEZXN0cm95ZWQKIAogLSAodm9pZCljb25uZWN0aW9u
OihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIGRpZEZhaWxXaXRoRXJyb3I6KE5TRXJyb3Ig
KillcnJvcgogewotICAgIFJlc291cmNlRXJyb3IgY29yZUVycm9yKGVycm9yKTsKKyAgICBXZWJD
b3JlOjpSZXNvdXJjZUVycm9yIGNvcmVFcnJvcihlcnJvcik7CiAgICAgX2N1c3RvbVByb3RvY29s
TWFuYWdlclByb3h5LT5kaWRGYWlsV2l0aEVycm9yKF9jdXN0b21Qcm90b2NvbElELCBjb3JlRXJy
b3IpOwogICAgIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS0+c3RvcExvYWRpbmcoX2N1c3Rv
bVByb3RvY29sSUQpOwogfQpAQCAtOTksNyArOTYsNyBAQCAtIChOU0NhY2hlZFVSTFJlc3BvbnNl
ICopY29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiB3aWxsQ2FjaGVSZXNw
bwogCiAtICh2b2lkKWNvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gZGlk
UmVjZWl2ZVJlc3BvbnNlOihOU1VSTFJlc3BvbnNlICopcmVzcG9uc2UKIHsKLSAgICBSZXNvdXJj
ZVJlc3BvbnNlIGNvcmVSZXNwb25zZShyZXNwb25zZSk7CisgICAgV2ViQ29yZTo6UmVzb3VyY2VS
ZXNwb25zZSBjb3JlUmVzcG9uc2UocmVzcG9uc2UpOwogICAgIF9jdXN0b21Qcm90b2NvbE1hbmFn
ZXJQcm94eS0+ZGlkUmVjZWl2ZVJlc3BvbnNlKF9jdXN0b21Qcm90b2NvbElELCBjb3JlUmVzcG9u
c2UsIF9zdG9yYWdlUG9saWN5KTsKIH0KIApAQCAtMTI3LDYgKzEyNCw3IEBAIC0gKHZvaWQpY29u
bmVjdGlvbkRpZEZpbmlzaExvYWRpbmc6KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24KIEBl
bmQKIAogbmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogdm9p
ZCBMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQ6OnN0YXJ0TG9hZGluZyhMZWdhY3lD
dXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSYgbWFuYWdlciwgdWludDY0X3QgY3VzdG9tUHJvdG9j
b2xJRCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBjb3JlUmVxdWVzdCkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcApp
bmRleCBjMmI5MWE2Mzk3M2U2MzEyMGFhZTUyOGY4OTc1Mzg1ZjdiNmRiZjYyLi5lZGVkOWM3ZDJh
NGU1OGUzZDA1OGQ4MzI2ODMxMDk4MTgyYWY0NDc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCkBAIC00OCw3ICs0
OCw3IEBAIHN0YXRpYyBjb25zdCBTZWNvbmRzIHNuYXBzaG90dGluZ01pbmltdW1MaWZldGltZSB7
IDMwX3MgfTsKIHN0YXRpYyBjb25zdCBTZWNvbmRzIHNodXRkb3duVGltZW91dCB7IDFfbWluIH07
CiBzdGF0aWMgY29uc3QgU2Vjb25kcyBzbmFwc2hvdHRpbmdTaHV0ZG93blRpbWVvdXQgeyAxNV9z
IH07CiAKLXN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUNhbGxiYWNrSUQoKQorc3RhdGljIHVpbnQ2
NF90IGdlbmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQoKQogewogICAgIHN0YXRpYyB1aW50
NjRfdCBjYWxsYmFja0lEOwogCkBAIC0xMTQsNyArMTE0LDcgQEAgdm9pZCBQbHVnaW5Qcm9jZXNz
UHJveHk6OmdldFBsdWdpblByb2Nlc3NDb25uZWN0aW9uKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJv
eHk6OkcKIAogdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEoQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZCAoVmVjdG9yPFN0cmluZz4pPiYmIGNvbXBsZXRpb25IYW5kbGVyKQog
ewotICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1
aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCgpOwog
ICAgIG1fcGVuZGluZ0ZldGNoV2Vic2l0ZURhdGFDYWxsYmFja3Muc2V0KGNhbGxiYWNrSUQsIFdU
Rk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIGlmIChzdGF0ZSgpID09IFN0YXRlOjpM
YXVuY2hpbmcpIHsKQEAgLTEyNyw3ICsxMjcsNyBAQCB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6
ZmV0Y2hXZWJzaXRlRGF0YShDb21wbGV0aW9uSGFuZGxlcjx2b2lkIChWZWN0b3I8U3RyaW5nPgog
CiB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEoV2FsbFRpbWUgbW9k
aWZpZWRTaW5jZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikKIHsKLSAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7Cisg
ICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQo
KTsKICAgICBtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUNhbGxiYWNrcy5zZXQoY2FsbGJhY2tJ
RCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAgaWYgKHN0YXRlKCkgPT0gU3Rh
dGU6OkxhdW5jaGluZykgewpAQCAtMTQwLDcgKzE0MCw3IEBAIHZvaWQgUGx1Z2luUHJvY2Vzc1By
b3h5OjpkZWxldGVXZWJzaXRlRGF0YShXYWxsVGltZSBtb2RpZmllZFNpbmNlLCBDb21wbGV0aW9u
SGFuCiAKIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZvckhvc3RO
YW1lcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgaG9zdE5hbWVzLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkICgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQg
PSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJh
dGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVE
YXRhRm9ySG9zdE5hbWVzQ2FsbGJhY2tzLnNldChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBsZXRp
b25IYW5kbGVyKSk7CiAKICAgICBpZiAoc3RhdGUoKSA9PSBTdGF0ZTo6TGF1bmNoaW5nKSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Nj
cm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVs
ZWdhdGVJT1MubW0KaW5kZXggNGEyZTI5YjU2MDk2MWE1OWIxY2I1NTE5NzgzOTE0OWMzMTA2ODRj
Mi4uNzJhODgyZjA1ODFkNWVhYzkxZmMxNGJjMDVhMDJmMTQ0ZjE2YzExZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlP
Uy5tbQpAQCAtNDMsOCArNDMsNiBAQAogI2ltcG9ydCA8V2ViQ29yZS9TY3JvbGxTbmFwT2Zmc2V0
c0luZm8uaD4KICNlbmRpZgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogQGltcGxlbWVu
dGF0aW9uIFdLU2Nyb2xsaW5nTm9kZVNjcm9sbFZpZXdEZWxlZ2F0ZQogCiAtIChpbnN0YW5jZXR5
cGUpaW5pdFdpdGhTY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlOihXZWJLaXQ6OlNjcm9sbGluZ1Ry
ZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MqKWRlbGVnYXRlCkBAIC04MCw3ICs3OCw3IEBAIC0g
KHZvaWQpc2Nyb2xsVmlld1dpbGxFbmREcmFnZ2luZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmll
dyB3aXRoVmVsb2NpdHk6KENHUG9pCiAKICAgICBpZiAoIV9zY3JvbGxpbmdUcmVlTm9kZURlbGVn
YXRlLT5zY3JvbGxpbmdOb2RlKCkuaG9yaXpvbnRhbFNuYXBPZmZzZXRzKCkuaXNFbXB0eSgpKSB7
CiAgICAgICAgIHVuc2lnbmVkIGluZGV4OwotICAgICAgICBmbG9hdCBwb3RlbnRpYWxTbmFwUG9z
aXRpb24gPSBjbG9zZXN0U25hcE9mZnNldChfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Ny
b2xsaW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0cygpLCBfc2Nyb2xsaW5nVHJlZU5vZGVE
ZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0UmFuZ2VzKCksIGhv
cml6b250YWxUYXJnZXQsIHZlbG9jaXR5LngsIGluZGV4KTsKKyAgICAgICAgZmxvYXQgcG90ZW50
aWFsU25hcFBvc2l0aW9uID0gV2ViQ29yZTo6Y2xvc2VzdFNuYXBPZmZzZXQoX3Njcm9sbGluZ1Ry
ZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNldHMoKSwg
X3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25h
cE9mZnNldFJhbmdlcygpLCBob3Jpem9udGFsVGFyZ2V0LCB2ZWxvY2l0eS54LCBpbmRleCk7CiAg
ICAgICAgIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuc2V0Q3Vy
cmVudEhvcml6b250YWxTbmFwUG9pbnRJbmRleChpbmRleCk7CiAgICAgICAgIGlmIChob3Jpem9u
dGFsVGFyZ2V0ID49IDAgJiYgaG9yaXpvbnRhbFRhcmdldCA8PSBzY3JvbGxWaWV3LmNvbnRlbnRT
aXplLndpZHRoKQogICAgICAgICAgICAgdGFyZ2V0Q29udGVudE9mZnNldC0+eCA9IHBvdGVudGlh
bFNuYXBQb3NpdGlvbjsKQEAgLTg4LDcgKzg2LDcgQEAgLSAodm9pZClzY3JvbGxWaWV3V2lsbEVu
ZERyYWdnaW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3IHdpdGhWZWxvY2l0eTooQ0dQb2kK
IAogICAgIGlmICghX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52
ZXJ0aWNhbFNuYXBPZmZzZXRzKCkuaXNFbXB0eSgpKSB7CiAgICAgICAgIHVuc2lnbmVkIGluZGV4
OwotICAgICAgICBmbG9hdCBwb3RlbnRpYWxTbmFwUG9zaXRpb24gPSBjbG9zZXN0U25hcE9mZnNl
dChfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2FsU25h
cE9mZnNldHMoKSwgX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52
ZXJ0aWNhbFNuYXBPZmZzZXRSYW5nZXMoKSwgdmVydGljYWxUYXJnZXQsIHZlbG9jaXR5LnksIGlu
ZGV4KTsKKyAgICAgICAgZmxvYXQgcG90ZW50aWFsU25hcFBvc2l0aW9uID0gV2ViQ29yZTo6Y2xv
c2VzdFNuYXBPZmZzZXQoX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUo
KS52ZXJ0aWNhbFNuYXBPZmZzZXRzKCksIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3Jv
bGxpbmdOb2RlKCkudmVydGljYWxTbmFwT2Zmc2V0UmFuZ2VzKCksIHZlcnRpY2FsVGFyZ2V0LCB2
ZWxvY2l0eS55LCBpbmRleCk7CiAgICAgICAgIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5z
Y3JvbGxpbmdOb2RlKCkuc2V0Q3VycmVudFZlcnRpY2FsU25hcFBvaW50SW5kZXgoaW5kZXgpOwog
ICAgICAgICBpZiAodmVydGljYWxUYXJnZXQgPj0gMCAmJiB2ZXJ0aWNhbFRhcmdldCA8PSBzY3Jv
bGxWaWV3LmNvbnRlbnRTaXplLmhlaWdodCkKICAgICAgICAgICAgIHRhcmdldENvbnRlbnRPZmZz
ZXQtPnkgPSBwb3RlbnRpYWxTbmFwUG9zaXRpb247CkBAIC0xMjIsNiArMTIwLDcgQEAgLSAodm9p
ZClzY3JvbGxWaWV3RGlkRW5kRGVjZWxlcmF0aW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3
CiBAZW5kCiAKIG5hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
IFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1M6OlNjcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlRGVsZWdhdGVJT1MoU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUmIHNjcm9sbGlu
Z05vZGUpCiAgICAgOiBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlKHNjcm9sbGlu
Z05vZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3Jh
Z2VQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9TdG9y
YWdlUHJvY2Vzc1Byb3h5LmNwcAppbmRleCBlZmE4ZDEzY2JiZDVmZmE4MDhiNWYwZWRiZjRhNTFk
YzlkZjg1N2U3Li4zYTEzMWI0ZDYwZDhhYTA3ZTg3ZmI1ZTRjNjE0ZjMwYTdkNDJiNTc0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nl
c3NQcm94eS5jcHAKQEAgLTM3LDcgKzM3LDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUNhbGxiYWNrSUQo
KQorc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlU3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKCkKIHsK
ICAgICBzdGF0aWMgdWludDY0X3QgY2FsbGJhY2tJRDsKIApAQCAtMTA1LDcgKzEwNSw3IEBAIHZv
aWQgU3RvcmFnZVByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBz
ZXNzaW9uSUQsIE9wdGlvblNldDxXCiB7CiAgICAgQVNTRVJUKGNhblNlbmRNZXNzYWdlKCkpOwog
Ci0gICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIHVp
bnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpOwog
ICAgIG1fcGVuZGluZ0ZldGNoV2Vic2l0ZURhdGFDYWxsYmFja3MuYWRkKGNhbGxiYWNrSUQsIFdU
Rk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIHNlbmQoTWVzc2FnZXM6OlN0b3JhZ2VQ
cm9jZXNzOjpGZXRjaFdlYnNpdGVEYXRhKHNlc3Npb25JRCwgZGF0YVR5cGVzLCBjYWxsYmFja0lE
KSwgMCk7CkBAIC0xMTMsNyArMTEzLDcgQEAgdm9pZCBTdG9yYWdlUHJvY2Vzc1Byb3h5OjpmZXRj
aFdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFcKIAogdm9p
ZCBTdG9yYWdlUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBz
ZXNzaW9uSUQsIE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+IGRhdGFUeXBlcywgV2FsbFRpbWUg
bW9kaWZpZWRTaW5jZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKIHsKLSAgICBhdXRvIGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAg
ICBhdXRvIGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpOwog
CiAgICAgbV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFDYWxsYmFja3MuYWRkKGNhbGxiYWNrSUQs
IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKICAgICBzZW5kKE1lc3NhZ2VzOjpTdG9yYWdl
UHJvY2Vzczo6RGVsZXRlV2Vic2l0ZURhdGEoc2Vzc2lvbklELCBkYXRhVHlwZXMsIG1vZGlmaWVk
U2luY2UsIGNhbGxiYWNrSUQpLCAwKTsKQEAgLTEyMyw3ICsxMjMsNyBAQCB2b2lkIFN0b3JhZ2VQ
cm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhQQUw6OlNlc3Npb25JRCBz
ZXNzaW9uSUQsCiB7CiAgICAgQVNTRVJUKGNhblNlbmRNZXNzYWdlKCkpOwogCi0gICAgdWludDY0
X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIHVpbnQ2NF90IGNhbGxi
YWNrSUQgPSBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVuZGlu
Z0RlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2luc0NhbGxiYWNrcy5hZGQoY2FsbGJhY2tJRCwgV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAgc2VuZChNZXNzYWdlczo6U3RvcmFnZVBy
b2Nlc3M6OkRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhzZXNzaW9uSUQsIGRhdGFUeXBlcywg
b3JpZ2lucywgY2FsbGJhY2tJRCksIDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYzc3MTU1OTBlZDcxY2NkZDIzZGYyODVhM2FhN2Mz
NmU1NDNkYjdmNi4uYmM3YzI0M2Y0Nzk2YWNjMmVjZTRjNGZlY2M0NDkyOTI1OGNkYjQ1NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03
NTYsNiArNzU2LDggQEAKIAkJMkQ5MkE3OTUyMTJCNkFENDAwRjQ5M0ZEIC8qIFBsdWdpblByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUEyRDkwRDExMjgxQzk2NjAwMUVCOTYyIC8qIFBsdWdpblByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuY3BwICovOyB9OwogCQkyRDkyQTc5NjIxMkI2QURBMDBGNDkzRkQg
LyogTmV0c2NhcGVQbHVnaW5Nb2R1bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUE0QTlDNTMxMkI4MTZDRjAwOEZFOTg0IC8qIE5ldHNjYXBlUGx1
Z2luTW9kdWxlLmNwcCAqLzsgfTsKIAkJMkQ5MkE3OTcyMTJCNkFEQTAwRjQ5M0ZEIC8qIFBsdWdp
bkluZm9ybWF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDdDM0Y4QzhFMTczQUY1MkQwMDdCN0YzOSAvKiBQbHVnaW5JbmZvcm1hdGlvbi5jcHAg
Ki87IH07CisJCTJEOTJBNzk4MjEzNDhEODUwMEY0OTNGRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBQjFGNzdEMUQxQjMwQTkwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eU1hYy5tbSAqLzsgfTsKKwkJMkQ5MkE3OUYyMTM0QjA3RTAwRjQ5M0ZEIC8qIFdlYlBheW1lbnRD
b29yZGluYXRvclByb3h5SU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUFCMUY3N0IxRDFCMzBBOTAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGlu
YXRvclByb3h5SU9TLm1tICovOyB9OwogCQkyRDkzMTE2OTIxMkY2MUIyMDAwNDRCRkUgLyogV0tD
b250ZW50Vmlldy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGQ0I0RTNEMThCQkUwNDQwMDBGQ0ZDOSAvKiBXS0NvbnRlbnRWaWV3Lm1tICovOyB9Owog
CQkyRDkzMTE2QTIxMkY2MUI1MDAwNDRCRkUgLyogV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDQjRFNkIx
OEJCRjI2QTAwMEZDRkM5IC8qIFdLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSAqLzsgfTsKIAkJ
MkQ5RUEzMEQxQTk2Q0I1OTAwMkQyODA3IC8qIFdLUGFnZUluamVjdGVkQnVuZGxlQ2xpZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlFQTMwQzFB
OTZDQjU5MDAyRDI4MDcgLyogV0tQYWdlSW5qZWN0ZWRCdW5kbGVDbGllbnQuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTEyNDEsNiArMTEyNDMs
OCBAQAogCQkJCTdDRTlDRTEwMUZBMDc2N0EwMDAxNzdERSAvKiBXZWJQYWdlVXBkYXRlUHJlZmVy
ZW5jZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M0Njk0QzkxQTRCNEVBMTAwQUQ1ODQ1IC8q
IFdlYlBhc3RlYm9hcmRQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkxQUIxRjc5NjFEMUIzNjEzMDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yTWVzc2Fn
ZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJBNzlGMjEzNEIwN0UwMEY0OTNG
RCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbSBpbiBTb3VyY2VzICovLAorCQkJ
CTJEOTJBNzk4MjEzNDhEODUwMEY0OTNGRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1h
Yy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBQjFGNzk4MUQxQjM2MTMwMDdDOUJEMSAvKiBXZWJQ
YXltZW50Q29vcmRpbmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkyRDkyQTc4RDIxMkI2QUIxMDBGNDkzRkQgLyogV2ViUGxhdGZvcm1Ub3VjaFBvaW50LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTJEOTEzNDRFMjEyQ0Y5RjAwMDEyOEFGRCAvKiBXZWJQbHVn
aW5JbmZvUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5tbQppbmRleCA1MzA3ZTI2YTc2MzdlOGE2
OWIwNDVhYmI5Mjg3OWYzZjhjNjU4NmYyLi40Y2FhNmNjMGY2MDQ1MGMwM2IyMmEyODRkZDEzYWYy
NWVmZDZlMzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9Q
REYvUERGUGx1Z2luLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BE
Ri9QREZQbHVnaW4ubW0KQEAgLTg4LDggKzg4LDYgQEAKICNpbXBvcnQgPHBhbC9zcGkvbWFjL05T
TWVudVNQSS5oPgogI2ltcG9ydCA8d3RmL1VVSUQuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7Ci0KIC8vIFNldCBvdmVyZmxvdzogaGlkZGVuIG9uIHRoZSBhbm5vdGF0aW9uIGNvbnRhaW5l
ciBzbyA8aW5wdXQ+IGVsZW1lbnRzIHNjcm9sbGVkIG91dCBvZiB2aWV3IGRvbid0IHNob3cKIC8v
IHNjcm9sbGJhcnMgb24gdGhlIGJvZHkuIFdlIGNhbid0IGFkZCBhbm5vdGF0aW9ucyBkaXJlY3Rs
eSB0byB0aGUgYm9keSwgYmVjYXVzZSBvdmVyZmxvdzogaGlkZGVuIG9uIHRoZSBib2R5CiAvLyB3
aWxsIGJyZWFrIHJ1YmJlci1iYW5kaW5nLgpAQCAtMjkwLDcgKzI4OCw3IEBAIC0gKE5TQXJyYXkg
KilhY2Nlc3NpYmlsaXR5QWN0aW9uTmFtZXMKIC0gKHZvaWQpYWNjZXNzaWJpbGl0eVBlcmZvcm1B
Y3Rpb246KE5TU3RyaW5nICopYWN0aW9uCiB7CiAgICAgaWYgKFthY3Rpb24gaXNFcXVhbFRvU3Ry
aW5nOk5TQWNjZXNzaWJpbGl0eVNob3dNZW51QWN0aW9uXSkKLSAgICAgICAgX3BkZlBsdWdpbi0+
c2hvd0NvbnRleHRNZW51QXRQb2ludChJbnRSZWN0KEludFBvaW50KCksIF9wZGZQbHVnaW4tPnNp
emUoKSkuY2VudGVyKCkpOworICAgICAgICBfcGRmUGx1Z2luLT5zaG93Q29udGV4dE1lbnVBdFBv
aW50KFdlYkNvcmU6OkludFJlY3QoV2ViQ29yZTo6SW50UG9pbnQoKSwgX3BkZlBsdWdpbi0+c2l6
ZSgpKS5jZW50ZXIoKSk7CiB9CiAKIC0gKEJPT0wpYWNjZXNzaWJpbGl0eUlzQXR0cmlidXRlU2V0
dGFibGU6KE5TU3RyaW5nICopYXR0cmlidXRlCkBAIC0zMTYsOCArMzE0LDggQEAgLSAoaWQpYWNj
ZXNzaWJpbGl0eUZvY3VzZWRVSUVsZW1lbnQKIHsKICNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMTMwMAogICAgIGlmIChXZWJLaXQ6OlBERlBsdWdpbkFubm90YXRpb24q
IGFjdGl2ZUFubm90YXRpb24gPSBfcGRmUGx1Z2luLT5hY3RpdmVBbm5vdGF0aW9uKCkpIHsKLSAg
ICAgICAgaWYgKEFYT2JqZWN0Q2FjaGUqIGV4aXN0aW5nQ2FjaGUgPSBfcGRmUGx1Z2luLT5heE9i
amVjdENhY2hlKCkpIHsKLSAgICAgICAgICAgIGlmIChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmpl
Y3QgPSBleGlzdGluZ0NhY2hlLT5nZXRPckNyZWF0ZShhY3RpdmVBbm5vdGF0aW9uLT5lbGVtZW50
KCkpKQorICAgICAgICBpZiAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZSogZXhpc3RpbmdDYWNoZSA9
IF9wZGZQbHVnaW4tPmF4T2JqZWN0Q2FjaGUoKSkgeworICAgICAgICAgICAgaWYgKFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCA9IGV4aXN0aW5nQ2FjaGUtPmdldE9yQ3JlYXRl
KGFjdGl2ZUFubm90YXRpb24tPmVsZW1lbnQoKSkpCiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMg
cHVzaAogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XZGVwcmVjYXRlZC1kZWNs
YXJhdGlvbnMiCiAgICAgICAgICAgICAgICAgcmV0dXJuIFtvYmplY3QtPndyYXBwZXIoKSBhY2Nl
c3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6QCJfQVhBc3NvY2lhdGVkUGx1Z2luUGFyZW50Il07CkBA
IC0zMzgsMTEgKzMzNiwxMSBAQCAtIChpZClhY2Nlc3NpYmlsaXR5QXNzb2NpYXRlZENvbnRyb2xG
b3JBbm5vdGF0aW9uOihQREZBbm5vdGF0aW9uICopYW5ub3RhdGlvbgogICAgIGlmICghYWN0aXZl
QW5ub3RhdGlvbiB8fCAhW2FjdGl2ZUFubm90YXRpb24tPmFubm90YXRpb24oKSBpc0VxdWFsOmFu
bm90YXRpb25dKQogICAgICAgICByZXR1cm4gbmlsOwogICAgIAotICAgIEFYT2JqZWN0Q2FjaGUq
IGNhY2hlID0gX3BkZlBsdWdpbi0+YXhPYmplY3RDYWNoZSgpOworICAgIFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGUqIGNhY2hlID0gX3BkZlBsdWdpbi0+YXhPYmplY3RDYWNoZSgpOwogICAgIGlmICgh
Y2FjaGUpCiAgICAgICAgIHJldHVybiBuaWw7CiAgICAgCi0gICAgQWNjZXNzaWJpbGl0eU9iamVj
dCogb2JqZWN0ID0gY2FjaGUtPmdldE9yQ3JlYXRlKGFjdGl2ZUFubm90YXRpb24tPmVsZW1lbnQo
KSk7CisgICAgV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0ID0gY2FjaGUtPmdl
dE9yQ3JlYXRlKGFjdGl2ZUFubm90YXRpb24tPmVsZW1lbnQoKSk7CiAgICAgaWYgKCFvYmplY3Qp
CiAgICAgICAgIHJldHVybiBuaWw7CiAKQEAgLTM1Myw3ICszNTEsNyBAQCAtIChpZClhY2Nlc3Np
YmlsaXR5QXNzb2NpYXRlZENvbnRyb2xGb3JBbm5vdGF0aW9uOihQREZBbm5vdGF0aW9uICopYW5u
b3RhdGlvbgogLSAoaWQpYWNjZXNzaWJpbGl0eUhpdFRlc3Q6KE5TUG9pbnQpcG9pbnQKIHsKICNp
ZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMAotICAgIHBvaW50ID0g
X3BkZlBsdWdpbi0+Y29udmVydEZyb21Sb290Vmlld1RvUERGVmlldyhJbnRQb2ludChwb2ludCkp
OworICAgIHBvaW50ID0gX3BkZlBsdWdpbi0+Y29udmVydEZyb21Sb290Vmlld1RvUERGVmlldyhX
ZWJDb3JlOjpJbnRQb2ludChwb2ludCkpOwogICAgIHJldHVybiBbX3BkZkxheWVyQ29udHJvbGxl
ciBhY2Nlc3NpYmlsaXR5SGl0VGVzdDpwb2ludF07CiAjZWxzZQogICAgIHJldHVybiBzZWxmOwpA
QCAtNDIxLDcgKzQxOSw3IEBAIC0gKGlkKWluaXRXaXRoUERGUGx1Z2luOihXZWJLaXQ6OlBERlBs
dWdpbiAqKXBsdWdpbgogCiAtICh2b2lkKXVwZGF0ZVNjcm9sbFBvc2l0aW9uOihDR1BvaW50KW5l
d1Bvc2l0aW9uCiB7Ci0gICAgX3BkZlBsdWdpbi0+bm90aWZ5U2Nyb2xsUG9zaXRpb25DaGFuZ2Vk
KEludFBvaW50KG5ld1Bvc2l0aW9uKSk7CisgICAgX3BkZlBsdWdpbi0+bm90aWZ5U2Nyb2xsUG9z
aXRpb25DaGFuZ2VkKFdlYkNvcmU6OkludFBvaW50KG5ld1Bvc2l0aW9uKSk7CiB9CiAKIC0gKHZv
aWQpd3JpdGVJdGVtc1RvUGFzdGVib2FyZDooTlNBcnJheSAqKWl0ZW1zIHdpdGhUeXBlczooTlNB
cnJheSAqKXR5cGVzCkBAIC01MDAsNiArNDk4LDEwIEBAIC0gKE5TUmVjdCljb252ZXJ0UmVjdDoo
TlNSZWN0KXJlY3QgZnJvbVBhZ2U6KFBERlBhZ2UgKikgcGFnZSBmb3JTY2FsZUZhY3RvcjooQ0dG
CiAtIChQREZQYWdlICopcGFnZU5lYXJlc3RQb2ludDooTlNQb2ludClwb2ludCBjdXJyZW50UGFn
ZTooUERGUGFnZSAqKWN1cnJlbnRQYWdlOwogQGVuZAogCituYW1lc3BhY2UgV2ViS2l0IHsKK3Vz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwordXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKKwogc3Rh
dGljIGNvbnN0IGNoYXIqIHBvc3RTY3JpcHRNSU1FVHlwZSA9ICJhcHBsaWNhdGlvbi9wb3N0c2Ny
aXB0IjsKIGNvbnN0IHVpbnQ2NF90IHBkZkRvY3VtZW50UmVxdWVzdElEID0gMTsgLy8gUGx1Z2lu
Q29udHJvbGxlciBzdXBwb3J0cyBsb2FkaW5nIG11bHRpcGxlIHN0cmVhbXMsIGJ1dCB3ZSBvbmx5
IG5lZWQgb25lIGZvciBQREYuCiAKQEAgLTU5Niw5ICs1OTgsNiBAQCBzdGF0aWMgdm9pZCBnZXRB
bGxTY3JpcHRzSW5QREZEb2N1bWVudChDR1BERkRvY3VtZW50UmVmIHBkZkRvY3VtZW50LCBWZWN0
b3I8UmV0YQogICAgIH0KIH0KIAotbmFtZXNwYWNlIFdlYktpdCB7Ci11c2luZyBuYW1lc3BhY2Ug
SFRNTE5hbWVzOwotCiBSZWY8UERGUGx1Z2luPiBQREZQbHVnaW46OmNyZWF0ZShXZWJGcmFtZSYg
ZnJhbWUpCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUERGUGx1Z2luKGZyYW1lKSk7CkBA
IC0xNDUwLDcgKzE0NDksNyBAQCB2b2lkIFBERlBsdWdpbjo6dXBkYXRlQ3Vyc29yKGNvbnN0IFdl
Yk1vdXNlRXZlbnQmIGV2ZW50LCBVcGRhdGVDdXJzb3JNb2RlIG1vZGUpCiAgICAgaWYgKGhpdFRl
c3RSZXN1bHQgPT0gbV9sYXN0SGl0VGVzdFJlc3VsdCAmJiBtb2RlID09IFVwZGF0ZUlmTmVlZGVk
KQogICAgICAgICByZXR1cm47CiAKLSAgICB3ZWJGcmFtZSgpLT5wYWdlKCktPnNlbmQoTWVzc2Fn
ZXM6OldlYlBhZ2VQcm94eTo6U2V0Q3Vyc29yKGhpdFRlc3RSZXN1bHQgPT0gVGV4dCA/IGlCZWFt
Q3Vyc29yKCkgOiBwb2ludGVyQ3Vyc29yKCkpKTsKKyAgICB3ZWJGcmFtZSgpLT5wYWdlKCktPnNl
bmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0Q3Vyc29yKGhpdFRlc3RSZXN1bHQgPT0gVGV4
dCA/IFdlYkNvcmU6OmlCZWFtQ3Vyc29yKCkgOiBXZWJDb3JlOjpwb2ludGVyQ3Vyc29yKCkpKTsK
ICAgICBtX2xhc3RIaXRUZXN0UmVzdWx0ID0gaGl0VGVzdFJlc3VsdDsKIH0KICNlbmRpZgpAQCAt
MTk4MSwxNiArMTk4MCwxNiBAQCB2b2lkIFBERlBsdWdpbjo6bm90aWZ5U2VsZWN0aW9uQ2hhbmdl
ZChQREZTZWxlY3Rpb24gKikKICAgICB3ZWJGcmFtZSgpLT5wYWdlKCktPmRpZENoYW5nZVNlbGVj
dGlvbigpOwogfQogCi1zdGF0aWMgY29uc3QgQ3Vyc29yJiBjb3JlQ3Vyc29yKFBERkxheWVyQ29u
dHJvbGxlckN1cnNvclR5cGUgdHlwZSkKK3N0YXRpYyBjb25zdCBXZWJDb3JlOjpDdXJzb3ImIGNv
cmVDdXJzb3IoUERGTGF5ZXJDb250cm9sbGVyQ3Vyc29yVHlwZSB0eXBlKQogewogICAgIHN3aXRj
aCAodHlwZSkgewogICAgIGNhc2Uga1BERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGVIYW5kOgot
ICAgICAgICByZXR1cm4gaGFuZEN1cnNvcigpOworICAgICAgICByZXR1cm4gV2ViQ29yZTo6aGFu
ZEN1cnNvcigpOwogICAgIGNhc2Uga1BERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGVJQmVhbToK
LSAgICAgICAgcmV0dXJuIGlCZWFtQ3Vyc29yKCk7CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpp
QmVhbUN1cnNvcigpOwogICAgIGNhc2Uga1BERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGVQb2lu
dGVyOgogICAgIGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiBwb2ludGVyQ3Vyc29yKCk7CisgICAg
ICAgIHJldHVybiBXZWJDb3JlOjpwb2ludGVyQ3Vyc29yKCk7CiAgICAgfQogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348212</attachid>
            <date>2018-08-27 15:25:12 -0700</date>
            <delta_ts>2018-08-27 15:26:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189009-20180827152512.patch</filename>
            <type>text/plain</type>
            <size>58582</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1Mzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDI5MmM2NDA4MzcwZGM0YWY2ZmVmYmQ0
MzZlZGNhYTc3ZDA3NWUzOWEuLjgxMTBlZGU5NjU0OWM4MjM0YTNiYjJjNzM1NmFiYjAyNDIxNDJm
MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3Jl
IHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL2dlbmVy
YXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmI6CisgICAgICAgIEl0IHR1cm5zIG91dCBvdXIg
cGxhbiB0byBzd2l0Y2ggdW5pZmllZCBzb3VyY2UgYnVuZGxlIGV2ZXJ5IHRpbWUgdGhlIGRpcmVj
dG9yeQorICAgICAgICBjaGFuZ2VzIGlzIG5vdCBhIGdvb2QgZml0IGZvciBwcm9qZWN0cyBsaWtl
IFdlYktpdDIgd2l0aCBtYW55IHNtYWxsIGRpcmVjdG9yaWVzLgorICAgICAgICBJdCBsZWF2ZXMg
bWFueSB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIHdpdGggb25seSBhIHNpbmdsZSBzb3VyY2UgZmls
ZSwKKyAgICAgICAgYWNoaWV2aW5nIG9ubHkgfjQwJSBkZW5zaXR5LgorCisgICAgICAgIEluc3Rl
YWQsIHN3aXRjaCB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIGV2ZXJ5IHRpbWUgdGhlIHRvcC1sZXZl
bCBkaXJlY3RvcnkgY2hhbmdlcy4KKyAgICAgICAgVGhpcyBzdGlsbCBhY2hpZXZlcyB0aGUgZ29h
bCBvZiAqdXN1YWxseSogb25seSByZWJ1aWxkaW5nIHRoZSBvbmUgdG9wLWxldmVsCisgICAgICAg
IGRpcmVjdG9yeSB5b3UgdG91Y2hlZCwgYW5kIGluY3JlYXNlcyBzb3VyY2UgYnVuZGxlIGRlbnNp
dHkgd2lsZGx5LCB0byB+OTUlLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTgt
MDgtMjcgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxk
IHN5c3RlbSBzdXBwb3J0IGZvciBMVE8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhMGI5YTAyZDQ5MWQzYzc0NDBh
Y2U4YTIyNDFjNGU1MzUwYzVmNTE0Li4yMDA5OWQwOTZiMDhiM2E0ZjkxOTE2YmRlZDdhNTZlNWUw
YjgzYjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQg
c291cmNlcyBtb3JlIHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1
Y3R1cmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
ODkwMDkKKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgRml4
IGEgdmFyaWV0eSBvZiB1bmlmaWNhdGlvbiBlcnJvcnMgZHVlIHRvIHJlc2h1ZmZsaW5nIHRoZSBi
dW5kbGVzLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9B
bGdvcml0aG1FQ0RTQS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1FQ0RT
QTo6aW1wb3J0S2V5KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBodG1s
L3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKiBwYWdlL0FsdGVybmF0
aXZlVGV4dENsaWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL1Bhc3RlYm9hcmQuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHA6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5tbToKKyAgICAgICAg
KC1bV2ViR0xMYXllciBpbml0V2l0aEdyYXBoaWNzQ29udGV4dDNEOl0pOgorICAgICAgICAoLVtX
ZWJHTExheWVyIGNvcHlJbWFnZVNuYXBzaG90V2l0aENvbG9yU3BhY2U6XSk6CisgICAgICAgICgt
W1dlYkdMTGF5ZXIgZGlzcGxheV0pOgorICAgICAgICAoLVtXZWJHTExheWVyIGFsbG9jYXRlSU9T
dXJmYWNlQmFja2luZ1N0b3JlV2l0aFNpemU6dXNpbmdBbHBoYTpdKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbToKKyAgICAgICAgKC1bV2ViR1BVTGF5
ZXIgaW5pdFdpdGhHUFVEZXZpY2U6XSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0
YWwvR1BVQ29tbWFuZFF1ZXVlTWV0YWwubW06CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Bhc3Rl
Ym9hcmRNYWMubW06CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlD
YXB0dXJlTWFuYWdlckNvY29hLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlUmVxdWVzdEJhc2UuY3BwOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJU
cmVlQnVpbGRlckJsb2NrRmxvdy5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVCdWlsZGVySW5saW5lLmNwcDoKKwogMjAxOC0wOC0yNyAgS2VpdGggUm9sbGluICA8
a3JvbGxpbkBhcHBsZS5jb20+CiAKICAgICAgICAgQnVpbGQgc3lzdGVtIHN1cHBvcnQgZm9yIExU
TwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCAwZjg2OGYwZTliYWUyNjgxMWZiZjI0ZDFjOWFmNGU4OWZkMjNlZDE3Li5k
YmQzYTMzNTJiYzFiMzNmM2JkZjhiMmFlNjNmNjAxODc2NGYwNDQwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDk3IEBACisyMDE4LTA4LTI3ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUu
Y29tPgorCisgICAgICAgIEJ1bmRsZSB1bmlmaWVkIHNvdXJjZXMgbW9yZSB0aWdodGx5IGluIHBy
b2plY3RzIHdpdGggZGVlcCBkaXJlY3Rvcnkgc3RydWN0dXJlcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5MDA5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIEZpeCBhIHZhcmlldHkgb2YgdW5pZmljYXRpb24g
ZXJyb3JzIGR1ZSB0byByZXNodWZmbGluZyB0aGUgYnVuZGxlcy4KKworICAgICAgICAqIFNoYXJl
ZC9BUElXZWJBcmNoaXZlLm1tOgorICAgICAgICAqIFNoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3Vy
Y2UubW06CisgICAgICAgICogU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1
Z2luTW9kdWxlTWFjLm1tOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9Q
bHVnaW5JbmZvcm1hdGlvbk1hYy5tbToKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaDoKKyAgICAg
ICAgKEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6OnNlc3Npb25JZGVudGlmaWVyIGNvbnN0
KToKKyAgICAgICAgKEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6Om1lc3NhZ2VPZkN1cnJl
bnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKToKKyAgICAgICAgKEFQSTo6QXV0b21hdGlvblNlc3Np
b25DbGllbnQ6OnNldFVzZXJJbnB1dEZvckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xp
ZW50Lm1tOgorICAgICAgICAoLVtXS0N1c3RvbVByb3RvY29sTG9hZGVyIGluaXRXaXRoTGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6Y3VzdG9tUHJvdG9jb2xJRDpyZXF1ZXN0Ol0pOgor
ICAgICAgICAoLVtXS0N1c3RvbVByb3RvY29sTG9hZGVyIGNvbm5lY3Rpb246ZGlkRmFpbFdpdGhF
cnJvcjpdKToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBjb25uZWN0aW9uOmRp
ZFJlY2VpdmVSZXNwb25zZTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Q
cm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZVBsdWdpblByb2Nlc3ND
YWxsYmFja0lEKToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpmZXRjaFdl
YnNpdGVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVX
ZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRl
V2Vic2l0ZURhdGFGb3JIb3N0TmFtZXMpOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZUNhbGxi
YWNrSUQpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9z
L1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW06CisgICAgICAgICgtW1dL
U2Nyb2xsaW5nTm9kZVNjcm9sbFZpZXdEZWxlZ2F0ZSBzY3JvbGxWaWV3V2lsbEVuZERyYWdnaW5n
OndpdGhWZWxvY2l0eTp0YXJnZXRDb250ZW50T2Zmc2V0Ol0pOgorICAgICAgICAqIFVJUHJvY2Vz
cy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpnZW5l
cmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VQ
cm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdl
UHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlN0b3Jh
Z2VQcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyk6CisgICAgICAgIChX
ZWJLaXQ6OmdlbmVyYXRlQ2FsbGJhY2tJRCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BE
Ri9QREZQbHVnaW4ubW06CisgICAgICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVj
dCBhY2Nlc3NpYmlsaXR5UGVyZm9ybUFjdGlvbjpdKToKKyAgICAgICAgKC1bV0tQREZQbHVnaW5B
Y2Nlc3NpYmlsaXR5T2JqZWN0IGFjY2Vzc2liaWxpdHlGb2N1c2VkVUlFbGVtZW50XSk6CisgICAg
ICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5QXNzb2Np
YXRlZENvbnRyb2xGb3JBbm5vdGF0aW9uOl0pOgorICAgICAgICAoLVtXS1BERlBsdWdpbkFjY2Vz
c2liaWxpdHlPYmplY3QgYWNjZXNzaWJpbGl0eUhpdFRlc3Q6XSk6CisgICAgICAgICgtW1dLUERG
TGF5ZXJDb250cm9sbGVyRGVsZWdhdGUgdXBkYXRlU2Nyb2xsUG9zaXRpb246XSk6CisgICAgICAg
IChXZWJLaXQ6OlBERlBsdWdpbjo6dXBkYXRlQ3Vyc29yKToKKyAgICAgICAgKFdlYktpdDo6Y29y
ZUN1cnNvcik6CisgICAgICAgIChhcHBlbmRWYWx1ZXNJblBERk5hbWVTdWJ0cmVlVG9WZWN0b3Ip
OiBEZWxldGVkLgorICAgICAgICAoZ2V0QWxsVmFsdWVzSW5QREZOYW1lVHJlZSk6IERlbGV0ZWQu
CisgICAgICAgIChnZXRBbGxTY3JpcHRzSW5QREZEb2N1bWVudCk6IERlbGV0ZWQuCisKKzIwMTgt
MDgtMjcgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAg
QnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3JlIHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVw
IGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBGaXggYSB2YXJpZXR5IG9mIHVuaWZpY2F0aW9uIGVycm9ycyBkdWUgdG8g
cmVzaHVmZmxpbmcgdGhlIGJ1bmRsZXMuCisKKyAgICAgICAgKiBTaGFyZWQvUGx1Z2lucy9OZXRz
Y2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMubW06CisgICAgICAgICogU2hhcmVkL1Bs
dWdpbnMvTmV0c2NhcGUvbWFjL1BsdWdpbkluZm9ybWF0aW9uTWFjLm1tOgorICAgICAgICAqIFNv
dXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElBdXRvbWF0aW9uU2Vz
c2lvbkNsaWVudC5oOgorICAgICAgICAoQVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudDo6c2Vz
c2lvbklkZW50aWZpZXIgY29uc3QpOgorICAgICAgICAoQVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkNs
aWVudDo6bWVzc2FnZU9mQ3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UpOgorICAgICAgICAo
QVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudDo6c2V0VXNlcklucHV0Rm9yQ3VycmVudEphdmFT
Y3JpcHRQcm9tcHRPblBhZ2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9MZWdhY3lDdXN0
b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW06CisgICAgICAgICgtW1dLQ3VzdG9tUHJvdG9jb2xM
b2FkZXIgaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTpjdXN0b21Qcm90
b2NvbElEOnJlcXVlc3Q6XSk6CisgICAgICAgICgtW1dLQ3VzdG9tUHJvdG9jb2xMb2FkZXIgY29u
bmVjdGlvbjpkaWRGYWlsV2l0aEVycm9yOl0pOgorICAgICAgICAoLVtXS0N1c3RvbVByb3RvY29s
TG9hZGVyIGNvbm5lY3Rpb246ZGlkUmVjZWl2ZVJlc3BvbnNlOl0pOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Omdl
bmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQpOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Q
cm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Q
cm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2lu
UHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZvckhvc3ROYW1lcyk6CisgICAgICAgIChX
ZWJLaXQ6OmdlbmVyYXRlQ2FsbGJhY2tJRCk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNz
L1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OmdlbmVy
YXRlU3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVBy
b2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VQ
cm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFn
ZVByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKToKKyAgICAgICAgKFdl
YktpdDo6Z2VuZXJhdGVDYWxsYmFja0lEKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUERG
L1BERlBsdWdpbi5tbToKKyAgICAgICAgKC1bV0tQREZQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0
IGFjY2Vzc2liaWxpdHlQZXJmb3JtQWN0aW9uOl0pOgorICAgICAgICAoLVtXS1BERlBsdWdpbkFj
Y2Vzc2liaWxpdHlPYmplY3QgYWNjZXNzaWJpbGl0eUZvY3VzZWRVSUVsZW1lbnRdKToKKyAgICAg
ICAgKC1bV0tQREZQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0IGFjY2Vzc2liaWxpdHlBc3NvY2lh
dGVkQ29udHJvbEZvckFubm90YXRpb246XSk6CisgICAgICAgICgtW1dLUERGUGx1Z2luQWNjZXNz
aWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5SGl0VGVzdDpdKToKKyAgICAgICAgKC1bV0tQREZM
YXllckNvbnRyb2xsZXJEZWxlZ2F0ZSB1cGRhdGVTY3JvbGxQb3NpdGlvbjpdKToKKyAgICAgICAg
KFdlYktpdDo6UERGUGx1Z2luOjp1cGRhdGVDdXJzb3IpOgorICAgICAgICAoV2ViS2l0Ojpjb3Jl
Q3Vyc29yKToKKyAgICAgICAgKGFwcGVuZFZhbHVlc0luUERGTmFtZVN1YnRyZWVUb1ZlY3Rvcik6
IERlbGV0ZWQuCisgICAgICAgIChnZXRBbGxWYWx1ZXNJblBERk5hbWVUcmVlKTogRGVsZXRlZC4K
KyAgICAgICAgKGdldEFsbFNjcmlwdHNJblBERkRvY3VtZW50KTogRGVsZXRlZC4KKwogMjAxOC0w
OC0yNyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAg
ICAgIEZpeCBpbnRlcm5hbCBidWlsZHMgYWZ0ZXIgcjIzNTM2OApkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi9TY3JpcHRzL2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIgYi9Tb3VyY2Uv
V1RGL1NjcmlwdHMvZ2VuZXJhdGUtdW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYgppbmRleCBjMDE5
NjZlZTFiMmM2N2Q5NzYwZjAzYTViYmNhYTNjYjU3MjYxMmIzLi5hYmQ5NzY3N2EyMGFkYjRkNDYy
ZWI5OGY3NzhkOTgwMjliZGQ0OTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1NjcmlwdHMvZ2Vu
ZXJhdGUtdW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYgorKysgYi9Tb3VyY2UvV1RGL1NjcmlwdHMv
Z2VuZXJhdGUtdW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYgpAQCAtMjEwLDEwICsyMTAsMTcgQEAg
Y2xhc3MgQnVuZGxlTWFuYWdlcgogICAgIGVuZAogZW5kCiAKK2RlZiBUb3BMZXZlbERpcmVjdG9y
eUZvclBhdGgocGF0aCkKKyAgICBpZiAhcGF0aAorICAgICAgICByZXR1cm4gbmlsCisgICAgZW5k
CisgICAgcmV0dXJuIHBhdGguZWFjaF9maWxlbmFtZS5uZXh0CitlbmQKKwogZGVmIFByb2Nlc3NG
aWxlRm9yVW5pZmllZFNvdXJjZUdlbmVyYXRpb24oc291cmNlRmlsZSkKICAgICBwYXRoID0gc291
cmNlRmlsZS5wYXRoCi0gICAgaWYgKCRjdXJyZW50RGlyZWN0b3J5ICE9IHBhdGguZGlybmFtZSkK
LSAgICAgICAgbG9nKCJGbHVzaGluZyBiZWNhdXNlIG5ldyBkaXJuYW1lOyBvbGQ6ICN7JGN1cnJl
bnREaXJlY3Rvcnl9LCBuZXc6ICN7cGF0aC5kaXJuYW1lfSIpCisgICAgaWYgKFRvcExldmVsRGly
ZWN0b3J5Rm9yUGF0aCgkY3VycmVudERpcmVjdG9yeSkgIT0gVG9wTGV2ZWxEaXJlY3RvcnlGb3JQ
YXRoKHBhdGguZGlybmFtZSkpCisgICAgICAgIGxvZygiRmx1c2hpbmcgYmVjYXVzZSBuZXcgdG9w
IGxldmVsIGRpcmVjdG9yeTsgb2xkOiAjeyRjdXJyZW50RGlyZWN0b3J5fSwgbmV3OiAje3BhdGgu
ZGlybmFtZX0iKQogICAgICAgICAkYnVuZGxlTWFuYWdlcnMuZWFjaF92YWx1ZSB7IHx4fCB4LmZs
dXNoIH0KICAgICAgICAgJGN1cnJlbnREaXJlY3RvcnkgPSBwYXRoLmRpcm5hbWUKICAgICBlbmQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybS5oCmluZGV4IDBjNmVmYjg2Mjk4MjUzOWQyYjRiMmNjNGY4ZjhiNWZjYjRlYzg4ZTgu
LjY3Y2ZhOTMzMTNjOTA0MjFlYjZjZjE3OWQ5OGVmNzAzZGEwZTQ5ZGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApA
QCAtMTMxNCw2ICsxMzE0LDcgQEAKICNpZiBQTEFURk9STShNQUMpCiAjZGVmaW5lIEhBVkVfVE9V
Q0hfQkFSIDEKICNkZWZpbmUgSEFWRV9BRFZBTkNFRF9TUEVMTF9DSEVDS0lORyAxCisjZGVmaW5l
IFVTRV9ESUNUQVRJT05fQUxURVJOQVRJVkVTIDEKIAogI2lmIGRlZmluZWQoX19MUDY0X18pCiAj
ZGVmaW5lIEVOQUJMRV9XRUJfUExBWUJBQ0tfQ09OVFJPTFNfTUFOQUdFUiAxCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNwcAppbmRl
eCA5NjEzMmU2OTczN2FlOThhNjBmOTU0ZjFmMzExODM4NDEwNzFlMGE5Li5jZGI3NzdlOTk5Mjky
MjFjZjBhOGYwMTE0MmIyZDA3ZWRlOWVmZWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29udHJvbGxlci5jcHAKQEAgLTI3LDYgKzI3LDcgQEAK
IAogI2lmIEVOQUJMRShXRUJfUlRDKQogCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRl
ICJMaWJXZWJSVENQcm92aWRlci5oIgogI2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9uLmgiCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDY2ZjdmMTZiZDY0ZjgyYzQzMmJlYWVkOGU3MGQx
YjVmZjA2M2E1MTcuLjk1N2U0YjViNjYxYjQwMjBmMGEyMWVlMDA5NWMwMTc2NDZlNDkzYTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dl
YkNvcmUvU291cmNlc0NvY29hLnR4dApAQCAtMzg5LDcgKzM4OSw3IEBAIHBsYXRmb3JtL2lvcy9Q
bGF0Zm9ybVNjcmVlbklPUy5tbQogcGxhdGZvcm0vaW9zL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6
ZXJJT1MubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNl
QVZLaXQubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvUXVpY2tMb29rLm1tCi1wbGF0Zm9ybS9p
b3MvUXVpY2tMb29rU29mdExpbmsubW0KK3BsYXRmb3JtL2lvcy9RdWlja0xvb2tTb2Z0TGluay5t
bSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9SZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MubW0KIHBs
YXRmb3JtL2lvcy9TY3JvbGxBbmltYXRvcklPUy5tbQogcGxhdGZvcm0vaW9zL1Njcm9sbGJhclRo
ZW1lSU9TLm1tCkBAIC0zOTksNyArMzk5LDcgQEAgcGxhdGZvcm0vaW9zL1NTTEtleUdlbmVyYXRv
cklPUy5jcHAKIHBsYXRmb3JtL2lvcy9TeXN0ZW1NZW1vcnlJT1MuY3BwCiBwbGF0Zm9ybS9pb3Mv
VGhlbWVJT1MubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvVGlsZUNvbnRyb2xsZXJNZW1vcnlI
YW5kbGVySU9TLmNwcAotcGxhdGZvcm0vaW9zL1VzZXJBZ2VudElPUy5tbQorcGxhdGZvcm0vaW9z
L1VzZXJBZ2VudElPUy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9WYWxpZGF0aW9uQnViYmxl
SU9TLm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0Lm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1dlYkFWUGxheWVyQ29udHJvbGxlci5tbQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDcyNTVkMjY1Yzc3MjE1ZWMwOWJhMzhkOTY3Y2E0Y2Q3ZThhYTE2NTguLmJmZGU2YjE1N2Ux
OTFiNjRkYTY2NmI0N2M4ZGJjYjJmOTY4Y2Q3NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTgwNiw2ICs4MDYsOCBAQAogCQky
RDhCOTJGRjIwM0QxM0UxMDA5Qzg2OEYgLyogVW5pZmllZFNvdXJjZTUzMC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBERTVGODVEMzFGQTIzODU5MDA2
REI2M0IgLyogVW5pZmllZFNvdXJjZTUzMC5jcHAgKi87IH07CiAJCTJEOEZFQkREMTQzRTNFRjcw
MDcyNTAyQiAvKiBDU1NDcm9zc2ZhZGVWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ4RkVCREIxNDNFM0VGNzAwNzI1MDJCIC8qIENTU0Nyb3Nz
ZmFkZVZhbHVlLmggKi87IH07CiAJCTJEOTA2NjA3MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRT
dGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5
MDY2MDUwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMkQ5MkE3OUEyMTM0QUQ3OTAwRjQ5M0ZE
IC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDQzOTE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRM
aW5rLm1tICovOyB9OworCQkyRDkyQTc5RDIxMzRBRjk1MDBGNDkzRkQgLyogVXNlckFnZW50SU9T
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTNBRjlE
ODMyMDMyNTY5MTAwNkNBRDA2IC8qIFVzZXJBZ2VudElPUy5tbSAqLzsgfTsKIAkJMkQ5M0FFRTMx
OURGNTY0MTAwMkE4NkMzIC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOTNBRUUxMTlERjU2NDEwMDJB
ODZDMyAvKiBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmggKi87IH07CiAJCTJEOTdGMDQ3MTlE
RDQxM0MwMDFFRTlDMyAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRBQUUzMkMxOURDQUY2MDAwRTAwMkQy
IC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5jcHAgKi87IH07CiAJCTJEOTdGMDQ4MTlERDQxNDAw
MDFFRTlDMyAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQUFFMzJEMTlEQ0FGNjAwMEUwMDJEMiAvKiBNb2Nr
UGFnZU92ZXJsYXlDbGllbnQuaCAqLzsgfTsKQEAgLTQwNTUsOCArNDA1Nyw4IEBACiAJCUNERTU5
NTk1MUJGMTZERjMwMEExQ0JFOCAvKiBDRE1TZXNzaW9uQVZDb250ZW50S2V5U2Vzc2lvbi5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTU5NTkzMUJG
MTY2QUQwMEExQ0JFOCAvKiBDRE1TZXNzaW9uQVZDb250ZW50S2V5U2Vzc2lvbi5tbSAqLzsgfTsK
IAkJQ0RFNTk1OTcxQkYyNkUyMTAwQTFDQkU4IC8qIENETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9i
akMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTU5
NTk2MUJGMjZFMjEwMEExQ0JFOCAvKiBDRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDLmggKi87
IH07CiAJCUNERTU5NTlEMUJGMjc1NzEwMEExQ0JFOCAvKiBDRE1TZXNzaW9uTWVkaWFTb3VyY2VB
VkZPYmpDLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0RFNTk1OUMxQkYyNzU3MTAwQTFDQkU4IC8qIENETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakMu
bW0gKi87IH07Ci0JCUNERTY2N0E0MUU0QkJGMTUwMEU4MTU0QSAvKiBXZWJBdWRpb0J1ZmZlckxp
c3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RF
NjY3QTIxRTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5jcHAgKi87IH07Ci0J
CUNERTY2N0E1MUU0QkJGMTUwMEU4MTU0QSAvKiBXZWJBdWRpb0J1ZmZlckxpc3QuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTY2N0EzMUU0QkJGMTUw
MEU4MTU0QSAvKiBXZWJBdWRpb0J1ZmZlckxpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDREU2NjdBNDFFNEJCRjE1MDBFODE1NEEgLyogY29j
b2EvV2ViQXVkaW9CdWZmZXJMaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENERTY2N0EyMUU0QkJGMTUwMEU4MTU0QSAvKiBjb2NvYS9XZWJBdWRp
b0J1ZmZlckxpc3QuY3BwICovOyB9OworCQlDREU2NjdBNTFFNEJCRjE1MDBFODE1NEEgLyogY29j
b2EvV2ViQXVkaW9CdWZmZXJMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDREU2NjdBMzFFNEJCRjE1MDBFODE1NEEgLyogY29jb2EvV2ViQXVkaW9C
dWZmZXJMaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJQ0RFN0ZDNDUxODE5MDRCMTAwMkJCQjc3IC8qIE9yZGVySXRlcmF0b3IuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTdGQzQzMTgxOTA0QjEw
MDJCQkI3NyAvKiBPcmRlckl0ZXJhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0RFODNEQjIxODNDNDQwNjAwMzFFQUEzIC8qIFZpZGVvUGxh
eWJhY2tRdWFsaXR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDREU4M0RCMDE4M0M0NDA2MDAzMUVBQTMgLyogVmlkZW9QbGF5YmFja1F1YWxpdHkuaCAq
LzsgfTsKIAkJQ0RFOEI1RUMxQTY5Nzc3MzAwQjRCNjZBIC8qIExlZ2FjeUNETVByaXZhdGVDbGVh
cktleS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
REU4QjVFQTFBNjk3NzczMDBCNEI2NkEgLyogTGVnYWN5Q0RNUHJpdmF0ZUNsZWFyS2V5LmNwcCAq
LzsgfTsKQEAgLTcwNzMsNyArNzA3NSw3IEBACiAJCTMzOUI1QjYyMTMxREFBMzIwMEY0OEQwMiAv
KiBDb29raWVzU3RyYXRlZ3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29v
a2llc1N0cmF0ZWd5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM2NjJGOTg0MDQ3
Q0VEQkU1REREQUZBQSAvKiBSZW5kZXJNYXRoTUxNZW5jbG9zZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJNYXRoTUxNZW5jbG9zZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3MTE5QTc5MjBDQ0I2MTAwMDJDNkRDOSAvKiBXZWJLaXRU
YXJnZXRDb25kaXRpb25hbHMueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gV2ViS2l0VGFyZ2V0Q29u
ZGl0aW9uYWxzLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkzNzE3RDdF
NTE3RUNDM0E2MDAzQzI3NkQgLyogZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQu
cGVybDsgbmFtZSA9IGV4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbDsgcGF0aCA9ICJTY3Jp
cHRzL2V4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTM3MTdEN0U1MTdFQ0MzQTYwMDNDMjc2RCAvKiBleHRyYWN0LWxvY2FsaXphYmxl
LXN0cmluZ3MucGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0LnNjcmlwdC5wZXJsOyBuYW1lID0gImV4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5n
cy5wbCI7IHBhdGggPSAiU2NyaXB0cy9leHRyYWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGwiOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzFBNjdDQTExQzZDN0RCMDAwNDdCOEIgLyog
SHlwaGVuYXRpb25DRi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBI
eXBoZW5hdGlvbkNGLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzcxRTY1Q0Ix
MzY2MUVEQzAwQkVFREIwIC8qIFBhZ2VTZXJpYWxpemVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFBhZ2VTZXJpYWxpemVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTM3MUU2NUNEMTM2NjFFRUQwMEJFRURCMCAvKiBQYWdlU2VyaWFsaXplci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQYWdlU2VyaWFsaXplci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzM1OCw4ICsxMzM2MCw4IEBACiAJCUNERTU5NTlD
MUJGMjc1NzEwMEExQ0JFOCAvKiBDRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ0RNU2Vzc2lvbk1lZGlhU291cmNl
QVZGT2JqQy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFNjU2MEUxN0NBNkU3
NjAwNTI2QkE3IC8qIG1lZGlhQ29udHJvbHNBcHBsZS5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9
IG1lZGlhQ29udHJvbHNBcHBsZS5qczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RF
NjY3QTExRTRCQkE0RDAwRTgxNTRBIC8qIFBsYXRmb3JtQXVkaW9EYXRhLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtQXVkaW9EYXRhLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCUNERTY2N0EyMUU0QkJGMTUwMEU4MTU0QSAvKiBXZWJBdWRpb0J1ZmZl
ckxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gY29jb2EvV2Vi
QXVkaW9CdWZmZXJMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQ0RFNjY3
QTMxRTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBjb2NvYS9XZWJBdWRpb0J1ZmZlckxpc3QuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0RFNjY3QTIxRTRCQkYxNTAwRTgxNTRBIC8qIGNvY29hL1dl
YkF1ZGlvQnVmZmVyTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBjb2NvYS9XZWJBdWRpb0J1ZmZlckxpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlDREU2NjdBMzFFNEJCRjE1MDBFODE1NEEgLyogY29jb2EvV2ViQXVkaW9CdWZmZXJMaXN0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGNvY29hL1dlYkF1ZGlvQnVmZmVy
TGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU3RkM0MjE4MTkwNEIxMDAy
QkJCNzcgLyogT3JkZXJJdGVyYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBPcmRlckl0ZXJhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
Q0RFN0ZDNDMxODE5MDRCMTAwMkJCQjc3IC8qIE9yZGVySXRlcmF0b3IuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gT3JkZXJJdGVyYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDREU4M0RBRjE4M0M0NDA2MDAzMUVBQTMgLyogVmlkZW9QbGF5YmFja1F1YWxp
dHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVmlkZW9QbGF5YmFj
a1F1YWxpdHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTUyNDAsOCArMTUy
NDIsOCBAQAogCQkJCTQxMTAzQUE3MUUzOTc5MEEwMDc2OUYxNCAvKiBSZWFsdGltZU91dGdvaW5n
QXVkaW9Tb3VyY2VDb2NvYS5jcHAgKi8sCiAJCQkJNDExMDNBQTgxRTM5NzkwQTAwNzY5RjE0IC8q
IFJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZUNvY29hLmggKi8sCiAJCQkJNUNERDgzM0IxRTQz
MjRCQjAwNjIxQjgzIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLmNwcCAqLywK
LQkJCQk0MTkyNDI0NzIxMjdCN0NDMDA2MzRGQ0YgLyogUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291
cmNlQ29jb2EubW0gKi8sCiAJCQkJNUNERDgzM0MxRTQzMjRCQjAwNjIxQjgzIC8qIFJlYWx0aW1l
T3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLmggKi8sCisJCQkJNDE5MjQyNDcyMTI3QjdDQzAwNjM0
RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tICovLAogCQkJCTA3MEE5
RjVFMUZGRUNDNzAwMDNERjY0OSAvKiBTY3JlZW5EaXNwbGF5Q2FwdHVyZVNvdXJjZU1hYy5oICov
LAogCQkJCTA3MEE5RjYwMUZGRUNDNzEwMDNERjY0OSAvKiBTY3JlZW5EaXNwbGF5Q2FwdHVyZVNv
dXJjZU1hYy5tbSAqLywKIAkJCQkwN0Q2MzczRTFCQjBCMTEzMDAyNTZDRTkgLyogV2ViQXVkaW9T
b3VyY2VQcm92aWRlckFWRk9iakMuaCAqLywKQEAgLTI0NTU0LDEwICsyNDU1NiwxMCBAQAogCQlD
RDY2OUQ2NTFEMjMyREY0MDA0RDE4NjYgLyogY29jb2EgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91
cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUNERTY2N0EyMUU0QkJGMTUwMEU4MTU0QSAvKiBjb2Nv
YS9XZWJBdWRpb0J1ZmZlckxpc3QuY3BwICovLAorCQkJCUNERTY2N0EzMUU0QkJGMTUwMEU4MTU0
QSAvKiBjb2NvYS9XZWJBdWRpb0J1ZmZlckxpc3QuaCAqLywKIAkJCQlDRDY2OUQ2NjFEMjMyREZG
MDA0RDE4NjYgLyogTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmNwcCAqLywKIAkJCQlDRDIyN0Uz
NjIxMTNBRUZBMDBEMjg1QUYgLyogTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmggKi8sCi0JCQkJ
Q0RFNjY3QTIxRTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5jcHAgKi8sCi0J
CQkJQ0RFNjY3QTMxRTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5oICovLAog
CQkJKTsKIAkJCW5hbWUgPSBjb2NvYTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0y
NzI2OCw2ICsyNzI3MCw3IEBACiAJCQkJRkI5MkRGNEIxNUZFRDA4NzAwOTk0NDMzIC8qIENsaXBQ
YXRoT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1ODAzNzE2MjFBNjZGMDBBMDBCQUY1
MTkgLyogQ2xpcFJlY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QUFCRDEzMTRGQTA5RDUwMDc0
NTdBRSAvKiBDbG9zZUV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlDREU2NjdBNTFFNEJCRjE1
MDBFODE1NEEgLyogY29jb2EvV2ViQXVkaW9CdWZmZXJMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlDMEMwNTRDQjExMThDOEU0MDBDRTI2MzYgLyogQ29kZUdlbmVyYXRvci5wbSBpbiBIZWFkZXJz
ICovLAogCQkJCUJDNUVCNURGMEU4MUI5QUIwMEIyNTk2NSAvKiBDb2xsYXBzZWRCb3JkZXJWYWx1
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQyNUE0OUExODI5MkI4NDAwMjBDRkNGIC8qIENvbGxl
Y3Rpb25JbmRleENhY2hlLmggaW4gSGVhZGVycyAqLywKQEAgLTMwNzU3LDcgKzMwNzYwLDYgQEAK
IAkJCQk3MTMyNDQ1MTIwMTA5REE1MDBBRTdGQjIgLyogV2ViQW5pbWF0aW9uVXRpbGl0aWVzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlFMTg1MzY4NDFGNEU0ODE0MDBGRTA5MUIgLyogV2ViQXJjaGl2
ZVJlc291cmNlRnJvbU5TQXR0cmlidXRlZFN0cmluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE4
QzM1NDQxRjcxOTcwQzAwRkY2MzJEIC8qIFdlYkFyY2hpdmVSZXNvdXJjZVdlYlJlc291cmNlSGFu
ZGxlci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQ0RFNjY3QTUxRTRCQkYxNTAwRTgxNTRBIC8qIFdl
YkF1ZGlvQnVmZmVyTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFCMkE2MjYxRUYxQkY2RDAw
MkI5RDdBIC8qIFdlYkF1ZGlvU291cmNlUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3
RDYzNzQwMUJCMEIxMTMwMDI1NkNFOSAvKiBXZWJBdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMUYzNkVBOUMxRTIxQkExNzAwNjIxRTI1IC8qIFdlYkJhY2tn
cm91bmRUYXNrQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMTM1Niw2ICszMTM1OCw3
IEBACiAJCQkJQ0RERTAyRUQxOEIzRUQ2RDAwQ0Y3RkYxIC8qIENETVNlc3Npb25BVkZvdW5kYXRp
b25PYmpDLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RERTAyRjAxOEI1NjUxMzAwQ0Y3RkYxIC8q
IENETVNlc3Npb25BVlN0cmVhbVNlc3Npb24ubW0gaW4gU291cmNlcyAqLywKIAkJCQlDREU1OTU5
RDFCRjI3NTcxMDBBMUNCRTggLyogQ0RNU2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQy5tbSBpbiBT
b3VyY2VzICovLAorCQkJCUNERTY2N0E0MUU0QkJGMTUwMEU4MTU0QSAvKiBjb2NvYS9XZWJBdWRp
b0J1ZmZlckxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTE0MDkwRkIxQUE1MUUxRDAwOTEx
OTFBIC8qIENvbnRlbnRGaWx0ZXJVbmJsb2NrSGFuZGxlckNvY29hLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJMDdBRkY0MjMxRUZCMTQ0OTAwQjU0NUIzIC8qIENvcmVBdWRpb0NhcHR1cmVTb3VyY2VJ
T1MubW0gaW4gU291cmNlcyAqLywKIAkJCQk0NkM2OTZDQzFFNzIwNUZDMDA1OTc5MzcgLyogQ1BV
TW9uaXRvci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMxNDQ2LDYgKzMxNDQ5LDggQEAKIAkJCQlB
QTEyREY0OTE3NDNERjgzMDA0REFGREYgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5t
bSBpbiBTb3VyY2VzICovLAogCQkJCUNEQTI5QTMwMUNCRjc0RDQwMDkwMUNDRiAvKiBQbGF5YmFj
a1Nlc3Npb25JbnRlcmZhY2VBVktpdC5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNEQTI5QTE2MUNC
REE1NkMwMDkwMUNDRiAvKiBQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMubW0gaW4gU291cmNl
cyAqLywKKwkJCQkyRDkyQTc5QTIxMzRBRDc5MDBGNDkzRkQgLyogUXVpY2tMb29rU29mdExpbmsu
bW0gaW4gU291cmNlcyAqLywKKwkJCQk0MTkyNDI0OTIxMjdCOTNFMDA2MzRGQ0YgLyogUmVhbHRp
bWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQkzMTZEQ0I4
QTFFN0E2OTk2MDAxQjVGODcgLyogUlRDSWNlVHJhbnNwb3J0LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUJDNTExNTZFMTJCMTc0OUMwMEM5Njc1NCAvKiBTY3JvbGxBbmltYXRvck1hYy5tbSBpbiBT
b3VyY2VzICovLAogCQkJCUJDRUY4NjlGMEU4NDRFOUQwMEE4NUNENSAvKiBTY3JvbGxiYXJUaGVt
ZU1hYy5tbSBpbiBTb3VyY2VzICovLApAQCAtMzE1NjYsNyArMzE1NzEsNiBAQAogCQkJCTUzOEVD
OEExMUY5OTNGOUQwMDREMjJBOCAvKiBVbmlmaWVkU291cmNlNDguY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJREU1Rjg1OTkxRkExQUJGNDAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U0OS1tbS5tbSBp
biBTb3VyY2VzICovLAogCQkJCTUzOEVDOEEyMUY5OTNGOUQwMDREMjJBOCAvKiBVbmlmaWVkU291
cmNlNDkuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNDE5MjQyNDkyMTI3QjkzRTAwNjM0RkNGIC8q
IFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
REU1Rjg1OUExRkExQUJGNDAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U1MC1tbS5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCTUzOEVDOEEzMUY5OTNGOUQwMDREMjJBOCAvKiBVbmlmaWVkU291cmNlNTAu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJREU1Rjg2NTAxRkEyQUYyNDAwNkRCNjNBIC8qIFVuaWZp
ZWRTb3VyY2U1MS1tbS5tbSBpbiBTb3VyY2VzICovLApAQCAtMzIwNjAsNiArMzIwNjQsNyBAQAog
CQkJCTJEOEI5MkZEMjAzRDEzRTEwMDlDODY4RiAvKiBVbmlmaWVkU291cmNlNTI4LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTJEOEI5MkZFMjAzRDEzRTEwMDlDODY4RiAvKiBVbmlmaWVkU291cmNl
NTI5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOEI5MkZGMjAzRDEzRTEwMDlDODY4RiAvKiBV
bmlmaWVkU291cmNlNTMwLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJBNzlEMjEzNEFGOTUw
MEY0OTNGRCAvKiBVc2VyQWdlbnRJT1MubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MzIwNDIwMjFG
OUE5RjEwMDBCODFCMkEgLyogVXNlckFnZW50U2NyaXB0c0RhdGEuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJN0MzQjc5NzExOTA4NzU3QjAwQjQ3QTJEIC8qIFVzZXJNZXNzYWdlSGFuZGxlci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk3Q0U2ODM0NDE5MjE0M0E4MDBGNEQ5MjggLyogVXNlck1lc3Nh
Z2VIYW5kbGVyRGVzY3JpcHRvci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMyMDgyLDcgKzMyMDg3
LDYgQEAKIAkJCQlBMTQ4MzJCOTE4N0Y2M0Q1MDBEQTYzQTYgLyogV0FLVmlldy5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCURFNUY4NjFFMUZBMjgxRkQwMDZEQjYzQSAvKiBXZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlckJhc2UubW0gaW4gU291cmNlcyAqLywKIAkJCQlERTVGODYxRDFGQTI4MTVC
MDA2REI2M0EgLyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0gaW4gU291cmNl
cyAqLywKLQkJCQlDREU2NjdBNDFFNEJCRjE1MDBFODE1NEEgLyogV2ViQXVkaW9CdWZmZXJMaXN0
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNEN0UwNTIyMTY1MUMyODIwMEMxMjAxRiAvKiBXZWJD
b3JlQVZGUmVzb3VyY2VMb2FkZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQlDRDIyNUMwQjFDNDZG
QkY0MDAxNDA3NjEgLyogV2ViQ29yZU5TVVJMU2Vzc2lvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTkzRjE5QjA3MDgyNDVFNTkwMDFFOUFCQyAvKiBXZWJDb3JlVmlldy5tIGluIFNvdXJjZXMgKi8s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdv
cml0aG1FQ0RTQS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9B
bGdvcml0aG1FQ0RTQS5jcHAKaW5kZXggOTczMTdlMDRhOTc5N2YxNTYxNmRlNGM3NjA4Yjc0NWQ5
ZmRlZGVmNy4uMWI1M2M0NTNiMzUyNTM2YjQ4MTJlZGQyYWE2NGQ5MWU5NWRmODU0YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNE
U0EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29y
aXRobUVDRFNBLmNwcApAQCAtMzYsMTIgKzM2LDE0IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAorbmFtZXNwYWNlIENyeXB0b0FsZ29yaXRobUVDRFNBSW50ZXJuYWwgewogc3RhdGljIGNvbnN0
IGNoYXIqIGNvbnN0IEFMRzI1NiA9ICJFUzI1NiI7CiBzdGF0aWMgY29uc3QgY2hhciogY29uc3Qg
QUxHMzg0ID0gIkVTMzg0IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBBTEc1MTIgPSAiRVM1
MTIiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IFAyNTYgPSAiUC0yNTYiOwogc3RhdGljIGNv
bnN0IGNoYXIqIGNvbnN0IFAzODQgPSAiUC0zODQiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0
IFA1MjEgPSAiUC01MjEiOworfQogCiBSZWY8Q3J5cHRvQWxnb3JpdGhtPiBDcnlwdG9BbGdvcml0
aG1FQ0RTQTo6Y3JlYXRlKCkKIHsKQEAgLTEwMiw2ICsxMDQsNyBAQCB2b2lkIENyeXB0b0FsZ29y
aXRobUVDRFNBOjpnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzJiBw
YXJhbWV0ZQogCiB2b2lkIENyeXB0b0FsZ29yaXRobUVDRFNBOjppbXBvcnRLZXkoQ3J5cHRvS2V5
Rm9ybWF0IGZvcm1hdCwgS2V5RGF0YSYmIGRhdGEsIGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFt
ZXRlcnMmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFw
IHVzYWdlcywgS2V5Q2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNl
cHRpb25DYWxsYmFjaykKIHsKKyAgICB1c2luZyBuYW1lc3BhY2UgQ3J5cHRvQWxnb3JpdGhtRUNE
U0FJbnRlcm5hbDsKICAgICBjb25zdCBhdXRvJiBlY1BhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlw
dG9BbGdvcml0aG1FY0tleVBhcmFtcz4ocGFyYW1ldGVycyk7CiAKICAgICBSZWZQdHI8Q3J5cHRv
S2V5RUM+IHJlc3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggMGExZDkwMzQxN2Q0Y2E5ZGMw
ZTMwYmJmZmFjNDFkMTg4ZjMxYmRiYy4uYjE4MGJjNDMzOWE1OTZlYWIxM2IwZDRlOWIyNjE2YjRl
Nzk1OTI1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTY0MSw3ICs2NDEsNyBAQCBwdWJsaWM6
CiAgICAgCiAgICAgV0VCQ09SRV9FWFBPUlQgRG9jdW1lbnRMb2FkZXIqIGxvYWRlcigpIGNvbnN0
OwogCi0gICAgV0VCQ09SRV9FWFBPUlQgRXhjZXB0aW9uT3I8UmVmUHRyPFdpbmRvd1Byb3h5Pj4g
b3BlbkZvckJpbmRpbmdzKERPTVdpbmRvdyYgYWN0aXZlV2luZG93LCBET01XaW5kb3cmIGZpcnN0
V2luZG93LCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBjb25z
dCBTdHJpbmcmIGZlYXR1cmVzKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRpb25PcjxSZWZQ
dHI8V2luZG93UHJveHk+PiBvcGVuRm9yQmluZGluZ3MoRE9NV2luZG93JiBhY3RpdmVXaW5kb3cs
IERPTVdpbmRvdyYgZmlyc3RET01XaW5kb3csIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBBdG9t
aWNTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZmVhdHVyZXMpOwogICAgIFdFQkNPUkVfRVhQ
T1JUIEV4Y2VwdGlvbk9yPERvY3VtZW50Jj4gb3BlbkZvckJpbmRpbmdzKERvY3VtZW50KiByZXNw
b25zaWJsZURvY3VtZW50LCBjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgcmVwbGFj
ZSk7CiAKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHJlbmFtZSB0aGlzIGF0IHNvbWUgcG9pbnQg
YW5kIGdpdmUgYmFjayB0aGUgbmFtZSAnb3BlbicgdG8gdGhlIEhUTUwgc3BlY2lmaWVkIG9uZXMu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAppbmRl
eCBlNDBmOWE4ODZmMTU5MDRlNjJmMGYyNjg4YTg2OWE2OTg4OWI0YTg5Li5jNzMxOTIyYWY4Mjk4
M2I5ZGFhNmJjN2ZlNTIyNzg2MzczMTY4M2ZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJI
VE1MRG9jdW1lbnRQYXJzZXIuaCIKICNpbmNsdWRlICJIVE1MRm9ybUNvbnRyb2xFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVu
dC5oIgogI2luY2x1ZGUgIkhUTUxPcHRHcm91cEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MT3B0
aW9uRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VM
b2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hl
UmVzb3VyY2VMb2FkZXIuaAppbmRleCA3MmIyOTc1NWYxMWQ5NDA5NWZhN2VkZDUzMDk2OGY3YzU3
YjU3YmViLi42ZDlhMmRhOWJlMDMyMDA3YTgyZWRhNjhjMTZmZDJmMjhiMWMxMjgzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVJlc291
cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0
aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25j
ZQogCisjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZVJlc291cmNlLmgiCiAjaW5jbHVkZSAiQ2Fj
aGVkUmF3UmVzb3VyY2UuaCIKICNpbmNsdWRlICJDYWNoZWRSYXdSZXNvdXJjZUNsaWVudC5oIgog
I2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0FsdGVybmF0aXZlVGV4dENsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9B
bHRlcm5hdGl2ZVRleHRDbGllbnQuaAppbmRleCA5MzU1OTM3ODhmOTg5OWM5ZTIyNTEwODhiNGU3
NmQwMDVkM2QyZjk4Li4xNDNkYTZjNDdmNGJjZWZjMGE0MWFhODc2NDY3ZDA0NDcxNWJhNzBhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0FsdGVybmF0aXZlVGV4dENsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmgKQEAgLTI5LDEx
ICsyOSw2IEBACiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgogCi0jaWYgUExBVEZPUk0oTUFDKQotLy8gU29tZSBwbGF0Zm9ybXMgcHJvdmlk
ZSBVSSBmb3Igc3VnZ2VzdGluZyBhbHRlcm5hdGl2ZSBkaWN0YXRpb24gdGV4dC4KLSNkZWZpbmUg
VVNFX0RJQ1RBVElPTl9BTFRFUk5BVElWRVMgMQotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogZW51bSBSZWFzb25Gb3JEaXNtaXNzaW5nQWx0ZXJuYXRpdmVUZXh0IHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCBkNTQzM2RkOTIwYWUwZWU1OTJiZDQ1ZmQ1NjBj
ZGQzZTM4YTM0NzIxLi5lMDk4MTU2NTFiZDJkNjA1NzRkYTQyMzZjMzgwZmFkNGQ2MDIxNWE5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCkBAIC0zMzgsNiArMzM4LDcgQEAgZXh0
ZXJuIE5TU3RyaW5nICpVSUNvbG9yUGJvYXJkVHlwZTsKICNpZiBQTEFURk9STShNQUMpCiBleHRl
cm4gY29uc3QgY2hhciogY29uc3QgV2ViQXJjaGl2ZVBib2FyZFR5cGU7CiBleHRlcm4gY29uc3Qg
Y2hhciogY29uc3QgV2ViVVJMTmFtZVBib2FyZFR5cGU7CitleHRlcm4gY29uc3QgY2hhciogY29u
c3QgV2ViVVJMc1dpdGhUaXRsZXNQYm9hcmRUeXBlOwogI2VuZGlmCiAKICNpZiAhUExBVEZPUk0o
R1RLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxh
eVJlZnJlc2hNb25pdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rp
c3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKaW5kZXggOTY4YmIyMjg2YTFmN2U1ODQ2NGVmODhkNzll
NjFlZjQyNDkwMTU1Zi4uM2UyYzgyYjhiMTJlZGEwOWRiNDNmNGMxMzAxNGM1YmJhYzBiNzAzMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJl
c2hNb25pdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNw
bGF5UmVmcmVzaE1vbml0b3IuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJEaXNw
bGF5UmVmcmVzaE1vbml0b3JDbGllbnQuaCIKICNpbmNsdWRlICJEaXNwbGF5UmVmcmVzaE1vbml0
b3JNYW5hZ2VyLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgogCiAjaWYgUExBVEZPUk0oSU9TKQog
I2luY2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvcklPUy5oIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseVNwZWNpZmljYXRpb25OdWxsLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlTcGVjaWZpY2F0
aW9uTnVsbC5jcHAKaW5kZXggMjE3NjkxZjcyMzk3NGU4MDA1NzliMjhjYzA1NmE3YjljMDg1YzY0
ZC4uMTVjMDM4NzY5ODI2MGY0MDVlMjJlNWJmNTI3ODAwMzA4YzdmZTNiZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseVNwZWNpZmljYXRpb25O
dWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5
U3BlY2lmaWNhdGlvbk51bGwuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiRm9udEZh
bWlseVNwZWNpZmljYXRpb25OdWxsLmgiCiAKICNpbmNsdWRlICJGb250U2VsZWN0b3IuaCIKKyNp
bmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
V2ViR0xMYXllci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dl
YkdMTGF5ZXIubW0KaW5kZXggM2VkN2U0MWU3YzY4ODQ2ZjNmYmMxNzJjZTZiYTk4OWZmODdmNTdl
Yi4uYjg3Nzc0NmJhNTFhZWRjZjNiMDY2MDU4NGJhOTNkZDRjNzk3MTdjOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHTExheWVyLm1tCkBA
IC00MiwxMyArNDIsMTEgQEAKICNpbXBvcnQgPE9wZW5HTC9nbC5oPgogI2VuZGlmCiAKLXVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwotCiBAaW1wbGVtZW50YXRpb24gV2ViR0xMYXllcgogCiBAc3lu
dGhlc2l6ZSBjb250ZXh0PV9jb250ZXh0OwogCi0tKGlkKWluaXRXaXRoR3JhcGhpY3NDb250ZXh0
M0Q6KEdyYXBoaWNzQ29udGV4dDNEKiljb250ZXh0CistKGlkKWluaXRXaXRoR3JhcGhpY3NDb250
ZXh0M0Q6KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEKiljb250ZXh0CiB7CiAgICAgX2NvbnRl
eHQgPSBjb250ZXh0OwogICAgIHNlbGYgPSBbc3VwZXIgaW5pdF07CkBAIC04Niw3ICs4NCw3IEBA
IHN0YXRpYyB2b2lkIGZyZWVEYXRhKHZvaWQgKiwgY29uc3Qgdm9pZCAqZGF0YSwgc2l6ZV90IC8q
IHNpemUgKi8pCiB9CiAjZW5kaWYKIAotLShDR0ltYWdlUmVmKWNvcHlJbWFnZVNuYXBzaG90V2l0
aENvbG9yU3BhY2U6KENHQ29sb3JTcGFjZVJlZiljb2xvclNwYWNlCistIChDR0ltYWdlUmVmKWNv
cHlJbWFnZVNuYXBzaG90V2l0aENvbG9yU3BhY2U6KENHQ29sb3JTcGFjZVJlZiljb2xvclNwYWNl
CiB7CiAgICAgaWYgKCFfY29udGV4dCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC05Niw3
ICs5NCw3IEBAIC0oQ0dJbWFnZVJlZiljb3B5SW1hZ2VTbmFwc2hvdFdpdGhDb2xvclNwYWNlOihD
R0NvbG9yU3BhY2VSZWYpY29sb3JTcGFjZQogCiAgICAgUmV0YWluUHRyPENHQ29sb3JTcGFjZVJl
Zj4gaW1hZ2VDb2xvclNwYWNlID0gY29sb3JTcGFjZTsKICAgICBpZiAoIWltYWdlQ29sb3JTcGFj
ZSkKLSAgICAgICAgaW1hZ2VDb2xvclNwYWNlID0gc1JHQkNvbG9yU3BhY2VSZWYoKTsKKyAgICAg
ICAgaW1hZ2VDb2xvclNwYWNlID0gV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYoKTsKIAogICAg
IENHUmVjdCBsYXllckJvdW5kcyA9IENHUmVjdEludGVncmFsKFtzZWxmIGJvdW5kc10pOwogCkBA
IC0xNDEsMTMgKzEzOSwxMyBAQCAtICh2b2lkKWRpc3BsYXkKICNlbmRpZgogCiAgICAgX2NvbnRl
eHQtPm1hcmtMYXllckNvbXBvc2l0ZWQoKTsKLSAgICBQbGF0Zm9ybUNBTGF5ZXIqIGxheWVyID0g
UGxhdGZvcm1DQUxheWVyOjpwbGF0Zm9ybUNBTGF5ZXIoKF9fYnJpZGdlIHZvaWQqKXNlbGYpOwor
ICAgIFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXllciogbGF5ZXIgPSBXZWJDb3JlOjpQbGF0Zm9ybUNB
TGF5ZXI6OnBsYXRmb3JtQ0FMYXllcigoX19icmlkZ2Ugdm9pZCopc2VsZik7CiAgICAgaWYgKGxh
eWVyICYmIGxheWVyLT5vd25lcigpKQogICAgICAgICBsYXllci0+b3duZXIoKS0+cGxhdGZvcm1D
QUxheWVyTGF5ZXJEaWREaXNwbGF5KGxheWVyKTsKIH0KIAogI2lmIFVTRShPUEVOR0wpCi0tICh2
b2lkKWFsbG9jYXRlSU9TdXJmYWNlQmFja2luZ1N0b3JlV2l0aFNpemU6KEludFNpemUpc2l6ZSB1
c2luZ0FscGhhOihCT09MKXVzaW5nQWxwaGEKKy0gKHZvaWQpYWxsb2NhdGVJT1N1cmZhY2VCYWNr
aW5nU3RvcmVXaXRoU2l6ZTooV2ViQ29yZTo6SW50U2l6ZSlzaXplIHVzaW5nQWxwaGE6KEJPT0wp
dXNpbmdBbHBoYQogewogICAgIF9idWZmZXJTaXplID0gc2l6ZTsKICAgICBfdXNpbmdBbHBoYSA9
IHVzaW5nQWxwaGE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9XZWJHUFVMYXllci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL1dlYkdQVUxheWVyLm1tCmluZGV4IDVjMzU1N2Y4YmQ2NmE2OGM5MjNiMjNhYTY0N2Ji
NzE0ODQwOWU5YTEuLjI1ZWZiOGI3NDc2ODAyNDU1OGRiY2RmMzBmNzQzMTg3MTQ2OTU1YTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxh
eWVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQ
VUxheWVyLm1tCkBAIC0zNCwxMyArMzQsMTEgQEAKICNpbXBvcnQgPHd0Zi9GYXN0TWFsbG9jLmg+
CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwot
CiBAaW1wbGVtZW50YXRpb24gV2ViR1BVTGF5ZXIKIAogQHN5bnRoZXNpemUgY29udGV4dD1fY29u
dGV4dDsKIAotLSAoaWQpaW5pdFdpdGhHUFVEZXZpY2U6KEdQVURldmljZSopY29udGV4dAorLSAo
aWQpaW5pdFdpdGhHUFVEZXZpY2U6KFdlYkNvcmU6OkdQVURldmljZSopY29udGV4dAogewogICAg
IHNlbGYgPSBbc3VwZXIgaW5pdF07CiAgICAgX2NvbnRleHQgPSBjb250ZXh0OwpAQCAtNTAsNyAr
NDgsNyBAQCAtIChpZClpbml0V2l0aEdQVURldmljZTooR1BVRGV2aWNlKiljb250ZXh0CiAKICNp
ZiBQTEFURk9STShNQUMpCiAgICAgc2VsZi5jb250ZW50c1NjYWxlID0gX2RldmljZVBpeGVsUmF0
aW87Ci0gICAgc2VsZi5jb2xvcnNwYWNlID0gc1JHQkNvbG9yU3BhY2VSZWYoKTsKKyAgICBzZWxm
LmNvbG9yc3BhY2UgPSBXZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigpOwogI2VuZGlmCiAgICAg
cmV0dXJuIHNlbGY7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tCmluZGV4IDgyMGFmOGJj
MTZkYjNiNDg2NWU3OWI3YjgyNGRiMmM3YjRkZjNlY2MuLjMwM2IyNWRhM2Q0YTY0ZWQxYjAwMzBi
NzJiOWZkYmM2Zjk2NWMzM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tCkBAIC0zMSw2
ICszMSw3IEBACiAjaW1wb3J0ICJHUFVEZXZpY2UuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNp
bXBvcnQgPE1ldGFsL01ldGFsLmg+CisjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvUGFzdGVib2FyZE1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0
ZWJvYXJkTWFjLm1tCmluZGV4IGNiNTA0Y2Y1NDNlYjdlODBkNzY2NWNkMWU1N2UzMDg5YWZmYjFh
NzAuLmZkNmU5Mjk4Nzc0ZmFmNGZlODczNWJmMjc1NjVhZGM5NTMyYmY2MzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCkBAIC01MiwxMCArNTIsMTAg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjb25zdCBjaGFyKiBjb25zdCBXZWJBcmNoaXZlUGJv
YXJkVHlwZSA9ICJBcHBsZSBXZWIgQXJjaGl2ZSBwYXN0ZWJvYXJkIHR5cGUiOwogY29uc3QgY2hh
ciogY29uc3QgV2ViVVJMTmFtZVBib2FyZFR5cGUgPSAicHVibGljLnVybC1uYW1lIjsKK2NvbnN0
IGNoYXIqIGNvbnN0IFdlYlVSTHNXaXRoVGl0bGVzUGJvYXJkVHlwZSA9ICJXZWJVUkxzV2l0aFRp
dGxlc1Bib2FyZFR5cGUiOwogCiBjb25zdCBjaGFyIFdlYlNtYXJ0UGFzdGVQYm9hcmRUeXBlW10g
PSAiTmVYVCBzbWFydCBwYXN0ZSBwYXN0ZWJvYXJkIHR5cGUiOwogY29uc3QgY2hhciBXZWJVUkxQ
Ym9hcmRUeXBlW10gPSAicHVibGljLnVybCI7Ci1jb25zdCBjaGFyIFdlYlVSTHNXaXRoVGl0bGVz
UGJvYXJkVHlwZVtdID0gIldlYlVSTHNXaXRoVGl0bGVzUGJvYXJkVHlwZSI7CiAKIHN0YXRpYyBj
b25zdCBWZWN0b3I8U3RyaW5nPiB3cml0YWJsZVR5cGVzRm9yVVJMKCkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1h
bmFnZXJDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
RGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwCmluZGV4IDVjMmE5ZDI0MTk4YTEzZTQ4YzRm
NzNlOWRlNjFkZDM3YWRlOTI1NTEuLmY0OTJlNjE0MmYwMjMxYjk5N2U5NmJhNTkyNzk1ODg1Njgw
OTMzYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21h
Yy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29hLmNwcApAQCAt
MjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAorI2luY2x1ZGUgIkNv
cmVWaWRlb1NvZnRMaW5rLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgPHd0Zi9B
bGdvcml0aG1zLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNw
cAppbmRleCAyNTQwOTY1NmMzZDYzMjAzNjE2NWZhYjFkZDc0OWU4OGZjYTY4NDgyLi5mZjU4MzYx
NzRlYWI5NTk1MjhhMjA3YmZiYWFiNjAwMzlkOWI1MDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKQEAgLTI5
LDYgKzI5LDcgQEAKICNpbmNsdWRlICJIVFRQSGVhZGVyTmFtZXMuaCIKICNpbmNsdWRlICJQdWJs
aWNTdWZmaXguaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJSZXNv
dXJjZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlIDx3
dGYvUG9pbnRlckNvbXBhcmlzb24uaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5jcHAK
aW5kZXggM2JjODJjNmUxYWJkMmZhYzQzYjA5OWM4ZTZlM2NjZjM2NmRkODUzYi4uMmMyYjUwOGZh
YzVjNmZjODQ2Mjg1YzlmZmE4OTVhN2I0MDIyYjhlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9j
a0Zsb3cuY3BwCkBAIC0yNyw2ICsyNyw4IEBACiAjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJC
bG9ja0Zsb3cuaCIKIAogI2luY2x1ZGUgIlJlbmRlck11bHRpQ29sdW1uRmxvdy5oIgorI2luY2x1
ZGUgIlJlbmRlclRyZWVCdWlsZGVyQmxvY2suaCIKKyNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRl
ck11bHRpQ29sdW1uLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5saW5lLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklu
bGluZS5jcHAKaW5kZXggN2NkMDcxNWRmNTI0YTc2ZmQyMDZhMjM0MjhkOWRhYzdkN2Q4NTNmOC4u
ZGM5NTNjY2RjZWU4MzAxZGZkMDU5N2E2MWQwNTJlM2M1MGI5ZjYxYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5saW5lLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxk
ZXJJbmxpbmUuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiUmVuZGVyRnVsbFNjcmVl
bi5oIgogI2luY2x1ZGUgIlJlbmRlcklubGluZS5oIgogI2luY2x1ZGUgIlJlbmRlclRhYmxlLmgi
CisjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJUYWJsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmUubW0g
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlLm1tCmluZGV4IGIxNzQyZmRmZGQz
ODY5ZWFkZDNkN2M1YWVlNzA1ZTY2MWY5N2VlZGMuLmI4Yzk3MmY3ZWMxOGViN2Q0YzlhNzFkZTJi
NGUxZTJjNjVkZTg3NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFy
Y2hpdmUubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZS5tbQpAQCAt
MzQsOSArMzQsOCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTGVnYWN5V2ViQXJjaGl2ZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIG5h
bWVzcGFjZSBBUEkgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIFJlZjxXZWJBcmNoaXZl
PiBXZWJBcmNoaXZlOjpjcmVhdGUoV2ViQXJjaGl2ZVJlc291cmNlKiBtYWluUmVzb3VyY2UsIFJl
ZlB0cjxBUEk6OkFycmF5PiYmIHN1YnJlc291cmNlcywgUmVmUHRyPEFQSTo6QXJyYXk+JiYgc3Vi
ZnJhbWVBcmNoaXZlcykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdl
YkFyY2hpdmVSZXNvdXJjZS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmVS
ZXNvdXJjZS5tbQppbmRleCBjYWU1Yjg1ZGYxNzdkZGRlNjhkODUyZTVlNTA2ZDhkOTJiZTJlYTk0
Li5kYzBmOTBmMGYzODUxYWJmMTAwNDg0YmE1NzNhZTRhZjhlODBiMjMyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW0KKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tCkBAIC0zMyw5ICszMyw4IEBA
CiAjaW5jbHVkZSA8V2ViQ29yZS9VUkwuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAK
LXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBuYW1lc3BhY2UgQVBJIHsKK3VzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwogCiBSZWY8V2ViQXJjaGl2ZVJlc291cmNlPiBXZWJBcmNoaXZlUmVzb3Vy
Y2U6OmNyZWF0ZShBUEk6OkRhdGEqIGRhdGEsIGNvbnN0IFN0cmluZyYgVVJMLCBjb25zdCBTdHJp
bmcmIE1JTUVUeXBlLCBjb25zdCBTdHJpbmcmIHRleHRFbmNvZGluZykKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2lu
TW9kdWxlTWFjLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMv
TmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMubW0KaW5kZXggNjhkN2M2YWRmMzYyNzUxMzEyOTYzNTYy
ODZmMTFlODQ5YzE0YzJjMC4uYzBjY2FjNTk4NTNjZmFmZmQ5ZmYxZDFlM2Q2OGI2N2Q2NDU3Zjdj
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMv
TmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1
Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMubW0KQEAgLTM0LDkgKzM0
LDggQEAKICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYvc3BpL2NmL0NG
QnVuZGxlU1BJLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBzdGF0aWMgYm9vbCBnZXRQbHVnaW5B
cmNoaXRlY3R1cmUoQ0ZCdW5kbGVSZWYgYnVuZGxlLCBQbHVnaW5Nb2R1bGVJbmZvJiBwbHVnaW4p
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21h
Yy9QbHVnaW5JbmZvcm1hdGlvbk1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMv
TmV0c2NhcGUvbWFjL1BsdWdpbkluZm9ybWF0aW9uTWFjLm1tCmluZGV4IDVlYzg0MjQ5NTljYmMx
OTI4ODZmYTc1YWJmMDNmM2Q4ODViY2IxZDkuLjMyNTg0ZDQxNmJlMGZmMjVlOWU5MWRkZjQyODcw
ZTMzOTRmNDkzNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0
c2NhcGUvbWFjL1BsdWdpbkluZm9ybWF0aW9uTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL1BsdWdpbkluZm9ybWF0aW9uTWFjLm1tCkBAIC0zNCw5
ICszNCw4IEBACiAjaW1wb3J0ICJTdHJpbmdVdGlsaXRpZXMuaCIKICNpbXBvcnQgPFdlYkNvcmUv
UGx1Z2luQmxhY2tsaXN0Lmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiB2b2lkIGdldFBsYXRmb3Jt
UGx1Z2luTW9kdWxlSW5mb3JtYXRpb24oY29uc3QgUGx1Z2luTW9kdWxlSW5mbyYgcGx1Z2luLCBB
UEk6OkRpY3Rpb25hcnk6Ok1hcFR5cGUmIG1hcCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRl
eCBkOGEzYzkwZGZmZTMyMjMyMmQ3NjNlZTIxZTdjYmE0NTBmZTg1ZmNmLi40YjhkNDgwNmI0NGYy
MjA0NjU4NTc3ZWI3YTk2NzhjYjhlMzQ3OWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC0y
OTgsOSArMjk4LDkgQEAgVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tIEBuby11bmlmeQogCiBV
SVByb2Nlc3MvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5t
bQogCi1VSVByb2Nlc3MvQXBwbGVQYXkvaW9zL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5SU9T
Lm1tCitVSVByb2Nlc3MvQXBwbGVQYXkvaW9zL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5SU9T
Lm1tIEBuby11bmlmeQogCi1VSVByb2Nlc3MvQXBwbGVQYXkvbWFjL1dlYlBheW1lbnRDb29yZGlu
YXRvclByb3h5TWFjLm1tCitVSVByb2Nlc3MvQXBwbGVQYXkvbWFjL1dlYlBheW1lbnRDb29yZGlu
YXRvclByb3h5TWFjLm1tIEBuby11bmlmeQogCiBVSVByb2Nlc3MvQXV0aGVudGljYXRpb24vY29j
b2EvQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eUNvY29hLm1tCiBVSVByb2Nlc3MvQXV0aGVu
dGljYXRpb24vY29jb2EvU2VjS2V5UHJveHlTdG9yZS5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaAppbmRleCBi
ZmM1ZWUzMzgyMjBkOTE1NmZjY2YwMGMxZTc2ZDBiYmVlOTA0MTkwLi4zNzljODg1N2JlOTRiNjE5
NTU1ZWRmZmVjNGMzYTlhNmUxNzc5NDg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaApAQCAtNTEsNyArNTEs
NyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIH5BdXRvbWF0aW9uU2Vzc2lvbkNsaWVudCgpIHsg
fQogCi0gICAgdmlydHVhbCBTdHJpbmcgc2Vzc2lvbklkZW50aWZpZXIoKSBjb25zdCB7IHJldHVy
biBTdHJpbmcoKTsgfQorICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgc2Vzc2lvbklkZW50aWZpZXIo
KSBjb25zdCB7IHJldHVybiBXVEY6OlN0cmluZygpOyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZERp
c2Nvbm5lY3RGcm9tUmVtb3RlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mKSB7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgcmVxdWVzdE5ld1BhZ2VXaXRoT3B0aW9ucyhXZWJLaXQ6OldlYkF1dG9t
YXRpb25TZXNzaW9uJiwgQXV0b21hdGlvblNlc3Npb25Ccm93c2luZ0NvbnRleHRPcHRpb25zLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYktpdDo6V2ViUGFnZVByb3h5Kik+JiYgY29tcGxldGlv
bkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIobnVsbHB0cik7IH0KICAgICB2aXJ0dWFsIHZv
aWQgcmVxdWVzdE1heGltaXplV2luZG93T2ZQYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Np
b24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikgeyBjb21wbGV0aW9uSGFuZGxlcigpOyB9CkBAIC02MSw4ICs2MSw4
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNTaG93aW5nSmF2YVNjcmlwdERpYWxvZ09u
UGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkm
KSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNtaXNzQ3VycmVudEphdmFT
Y3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6
V2ViUGFnZVByb3h5JikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGFjY2VwdEN1cnJlbnRKYXZhU2Ny
aXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6Oldl
YlBhZ2VQcm94eSYpIHsgfQotICAgIHZpcnR1YWwgU3RyaW5nIG1lc3NhZ2VPZkN1cnJlbnRKYXZh
U2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6
OldlYlBhZ2VQcm94eSYpIHsgcmV0dXJuIFN0cmluZygpOyB9Ci0gICAgdmlydHVhbCB2b2lkIHNl
dFVzZXJJbnB1dEZvckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKFdlYktpdDo6V2ViQXV0
b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIGNvbnN0IFN0cmluZyYpIHsg
fQorICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgbWVzc2FnZU9mQ3VycmVudEphdmFTY3JpcHREaWFs
b2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVBy
b3h5JikgeyByZXR1cm4gV1RGOjpTdHJpbmcoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBzZXRVc2Vy
SW5wdXRGb3JDdXJyZW50SmF2YVNjcmlwdFByb21wdE9uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRp
b25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBjb25zdCBXVEY6OlN0cmluZyYpIHsg
fQogICAgIHZpcnR1YWwgc3RkOjpvcHRpb25hbDxKYXZhU2NyaXB0RGlhbG9nVHlwZT4gdHlwZU9m
Q3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lv
biYsIFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyByZXR1cm4gc3RkOjpudWxsb3B0OyB9CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9MZWdhY3lDdXN0b21Q
cm90b2NvbE1hbmFnZXJDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9M
ZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW0KaW5kZXggMTFiYTM3MjY1NDgzZmZl
N2ZmMjQ2NTA5NDBkOGYzM2E1MmMwYzA0YS4uMTlhNTliNDJjYWI3YjU0N2VkOTQ0NjBlNzJmYzAz
OTZjZmU3OTI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTGVn
YWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbQpAQCAtMzIs
MjMgKzMyLDIwIEBACiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgogI2ltcG9y
dCA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKLQogQGludGVyZmFjZSBXS0N1c3RvbVByb3RvY29s
TG9hZGVyIDogTlNPYmplY3QgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlPiB7CiBAcHJpdmF0ZQot
ICAgIExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiBfY3VzdG9tUHJvdG9jb2xNYW5h
Z2VyUHJveHk7CisgICAgV2ViS2l0OjpMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSog
X2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OwogICAgIHVpbnQ2NF90IF9jdXN0b21Qcm90b2Nv
bElEOwogICAgIE5TVVJMQ2FjaGVTdG9yYWdlUG9saWN5IF9zdG9yYWdlUG9saWN5OwogICAgIE5T
VVJMQ29ubmVjdGlvbiAqX3VybENvbm5lY3Rpb247CiB9Ci0tIChpZClpbml0V2l0aExlZ2FjeUN1
c3RvbVByb3RvY29sTWFuYWdlclByb3h5OihMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94
eSopY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJvdG9jb2xJRDoodWludDY0X3Qp
Y3VzdG9tUHJvdG9jb2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0OworLSAoaWQp
aW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTooV2ViS2l0OjpMZWdhY3lD
dXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSopY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgY3Vz
dG9tUHJvdG9jb2xJRDoodWludDY0X3QpY3VzdG9tUHJvdG9jb2xJRCByZXF1ZXN0OihOU1VSTFJl
cXVlc3QgKilyZXF1ZXN0OwogLSAodm9pZCljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eURlc3Ry
b3llZDsKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdLQ3VzdG9tUHJvdG9jb2xMb2FkZXIKIAot
LSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTooTGVnYWN5Q3Vz
dG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5IGN1c3Rv
bVByb3RvY29sSUQ6KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVzdDooTlNVUkxSZXF1
ZXN0ICopcmVxdWVzdAorLSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQ
cm94eTooV2ViS2l0OjpMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSopY3VzdG9tUHJv
dG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJvdG9jb2xJRDoodWludDY0X3QpY3VzdG9tUHJvdG9j
b2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0CiB7CiAgICAgc2VsZiA9IFtzdXBl
ciBpbml0XTsKICAgICBpZiAoIXNlbGYpCkBAIC04NSw3ICs4Miw3IEBAIC0gKHZvaWQpY3VzdG9t
UHJvdG9jb2xNYW5hZ2VyUHJveHlEZXN0cm95ZWQKIAogLSAodm9pZCljb25uZWN0aW9uOihOU1VS
TENvbm5lY3Rpb24gKiljb25uZWN0aW9uIGRpZEZhaWxXaXRoRXJyb3I6KE5TRXJyb3IgKillcnJv
cgogewotICAgIFJlc291cmNlRXJyb3IgY29yZUVycm9yKGVycm9yKTsKKyAgICBXZWJDb3JlOjpS
ZXNvdXJjZUVycm9yIGNvcmVFcnJvcihlcnJvcik7CiAgICAgX2N1c3RvbVByb3RvY29sTWFuYWdl
clByb3h5LT5kaWRGYWlsV2l0aEVycm9yKF9jdXN0b21Qcm90b2NvbElELCBjb3JlRXJyb3IpOwog
ICAgIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS0+c3RvcExvYWRpbmcoX2N1c3RvbVByb3Rv
Y29sSUQpOwogfQpAQCAtOTksNyArOTYsNyBAQCAtIChOU0NhY2hlZFVSTFJlc3BvbnNlICopY29u
bmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiB3aWxsQ2FjaGVSZXNwbwogCiAt
ICh2b2lkKWNvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gZGlkUmVjZWl2
ZVJlc3BvbnNlOihOU1VSTFJlc3BvbnNlICopcmVzcG9uc2UKIHsKLSAgICBSZXNvdXJjZVJlc3Bv
bnNlIGNvcmVSZXNwb25zZShyZXNwb25zZSk7CisgICAgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZSBjb3JlUmVzcG9uc2UocmVzcG9uc2UpOwogICAgIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94
eS0+ZGlkUmVjZWl2ZVJlc3BvbnNlKF9jdXN0b21Qcm90b2NvbElELCBjb3JlUmVzcG9uc2UsIF9z
dG9yYWdlUG9saWN5KTsKIH0KIApAQCAtMTI3LDYgKzEyNCw3IEBAIC0gKHZvaWQpY29ubmVjdGlv
bkRpZEZpbmlzaExvYWRpbmc6KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24KIEBlbmQKIAog
bmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogdm9pZCBMZWdh
Y3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQ6OnN0YXJ0TG9hZGluZyhMZWdhY3lDdXN0b21Q
cm90b2NvbE1hbmFnZXJQcm94eSYgbWFuYWdlciwgdWludDY0X3QgY3VzdG9tUHJvdG9jb2xJRCwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBjb3JlUmVxdWVzdCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcAppbmRleCBj
MmI5MWE2Mzk3M2U2MzEyMGFhZTUyOGY4OTc1Mzg1ZjdiNmRiZjYyLi5lZGVkOWM3ZDJhNGU1OGUz
ZDA1OGQ4MzI2ODMxMDk4MTgyYWY0NDc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCkBAIC00OCw3ICs0OCw3IEBA
IHN0YXRpYyBjb25zdCBTZWNvbmRzIHNuYXBzaG90dGluZ01pbmltdW1MaWZldGltZSB7IDMwX3Mg
fTsKIHN0YXRpYyBjb25zdCBTZWNvbmRzIHNodXRkb3duVGltZW91dCB7IDFfbWluIH07CiBzdGF0
aWMgY29uc3QgU2Vjb25kcyBzbmFwc2hvdHRpbmdTaHV0ZG93blRpbWVvdXQgeyAxNV9zIH07CiAK
LXN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUNhbGxiYWNrSUQoKQorc3RhdGljIHVpbnQ2NF90IGdl
bmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQoKQogewogICAgIHN0YXRpYyB1aW50NjRfdCBj
YWxsYmFja0lEOwogCkBAIC0xMTQsNyArMTE0LDcgQEAgdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6
OmdldFBsdWdpblByb2Nlc3NDb25uZWN0aW9uKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkcK
IAogdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEoQ29tcGxldGlvbkhh
bmRsZXI8dm9pZCAoVmVjdG9yPFN0cmluZz4pPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAg
IHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1aW50NjRf
dCBjYWxsYmFja0lEID0gZ2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1f
cGVuZGluZ0ZldGNoV2Vic2l0ZURhdGFDYWxsYmFja3Muc2V0KGNhbGxiYWNrSUQsIFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIGlmIChzdGF0ZSgpID09IFN0YXRlOjpMYXVuY2hp
bmcpIHsKQEAgLTEyNyw3ICsxMjcsNyBAQCB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6ZmV0Y2hX
ZWJzaXRlRGF0YShDb21wbGV0aW9uSGFuZGxlcjx2b2lkIChWZWN0b3I8U3RyaW5nPgogCiB2b2lk
IFBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEoV2FsbFRpbWUgbW9kaWZpZWRT
aW5jZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsK
LSAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7CisgICAgdWlu
dDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQoKTsKICAg
ICBtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUNhbGxiYWNrcy5zZXQoY2FsbGJhY2tJRCwgV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAgaWYgKHN0YXRlKCkgPT0gU3RhdGU6Okxh
dW5jaGluZykgewpAQCAtMTQwLDcgKzE0MCw3IEBAIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5Ojpk
ZWxldGVXZWJzaXRlRGF0YShXYWxsVGltZSBtb2RpZmllZFNpbmNlLCBDb21wbGV0aW9uSGFuCiAK
IHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZvckhvc3ROYW1lcyhj
b25zdCBWZWN0b3I8U3RyaW5nPiYgaG9zdE5hbWVzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkICgp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5l
cmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVQbHVn
aW5Qcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRhRm9y
SG9zdE5hbWVzQ2FsbGJhY2tzLnNldChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKSk7CiAKICAgICBpZiAoc3RhdGUoKSA9PSBTdGF0ZTo6TGF1bmNoaW5nKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGlu
Z1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJ
T1MubW0KaW5kZXggNGEyZTI5YjU2MDk2MWE1OWIxY2I1NTE5NzgzOTE0OWMzMTA2ODRjMi4uNzJh
ODgyZjA1ODFkNWVhYzkxZmMxNGJjMDVhMDJmMTQ0ZjE2YzExZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xs
aW5nTm9kZURlbGVnYXRlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90
ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5tbQpA
QCAtNDMsOCArNDMsNiBAQAogI2ltcG9ydCA8V2ViQ29yZS9TY3JvbGxTbmFwT2Zmc2V0c0luZm8u
aD4KICNlbmRpZgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogQGltcGxlbWVudGF0aW9u
IFdLU2Nyb2xsaW5nTm9kZVNjcm9sbFZpZXdEZWxlZ2F0ZQogCiAtIChpbnN0YW5jZXR5cGUpaW5p
dFdpdGhTY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlOihXZWJLaXQ6OlNjcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlRGVsZWdhdGVJT1MqKWRlbGVnYXRlCkBAIC04MCw3ICs3OCw3IEBAIC0gKHZvaWQp
c2Nyb2xsVmlld1dpbGxFbmREcmFnZ2luZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldyB3aXRo
VmVsb2NpdHk6KENHUG9pCiAKICAgICBpZiAoIV9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5z
Y3JvbGxpbmdOb2RlKCkuaG9yaXpvbnRhbFNuYXBPZmZzZXRzKCkuaXNFbXB0eSgpKSB7CiAgICAg
ICAgIHVuc2lnbmVkIGluZGV4OwotICAgICAgICBmbG9hdCBwb3RlbnRpYWxTbmFwUG9zaXRpb24g
PSBjbG9zZXN0U25hcE9mZnNldChfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5n
Tm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0cygpLCBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0
ZS0+c2Nyb2xsaW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0UmFuZ2VzKCksIGhvcml6b250
YWxUYXJnZXQsIHZlbG9jaXR5LngsIGluZGV4KTsKKyAgICAgICAgZmxvYXQgcG90ZW50aWFsU25h
cFBvc2l0aW9uID0gV2ViQ29yZTo6Y2xvc2VzdFNuYXBPZmZzZXQoX3Njcm9sbGluZ1RyZWVOb2Rl
RGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNldHMoKSwgX3Njcm9s
bGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNl
dFJhbmdlcygpLCBob3Jpem9udGFsVGFyZ2V0LCB2ZWxvY2l0eS54LCBpbmRleCk7CiAgICAgICAg
IF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuc2V0Q3VycmVudEhv
cml6b250YWxTbmFwUG9pbnRJbmRleChpbmRleCk7CiAgICAgICAgIGlmIChob3Jpem9udGFsVGFy
Z2V0ID49IDAgJiYgaG9yaXpvbnRhbFRhcmdldCA8PSBzY3JvbGxWaWV3LmNvbnRlbnRTaXplLndp
ZHRoKQogICAgICAgICAgICAgdGFyZ2V0Q29udGVudE9mZnNldC0+eCA9IHBvdGVudGlhbFNuYXBQ
b3NpdGlvbjsKQEAgLTg4LDcgKzg2LDcgQEAgLSAodm9pZClzY3JvbGxWaWV3V2lsbEVuZERyYWdn
aW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3IHdpdGhWZWxvY2l0eTooQ0dQb2kKIAogICAg
IGlmICghX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52ZXJ0aWNh
bFNuYXBPZmZzZXRzKCkuaXNFbXB0eSgpKSB7CiAgICAgICAgIHVuc2lnbmVkIGluZGV4OwotICAg
ICAgICBmbG9hdCBwb3RlbnRpYWxTbmFwUG9zaXRpb24gPSBjbG9zZXN0U25hcE9mZnNldChfc2Ny
b2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2FsU25hcE9mZnNl
dHMoKSwgX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52ZXJ0aWNh
bFNuYXBPZmZzZXRSYW5nZXMoKSwgdmVydGljYWxUYXJnZXQsIHZlbG9jaXR5LnksIGluZGV4KTsK
KyAgICAgICAgZmxvYXQgcG90ZW50aWFsU25hcFBvc2l0aW9uID0gV2ViQ29yZTo6Y2xvc2VzdFNu
YXBPZmZzZXQoX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52ZXJ0
aWNhbFNuYXBPZmZzZXRzKCksIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdO
b2RlKCkudmVydGljYWxTbmFwT2Zmc2V0UmFuZ2VzKCksIHZlcnRpY2FsVGFyZ2V0LCB2ZWxvY2l0
eS55LCBpbmRleCk7CiAgICAgICAgIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxp
bmdOb2RlKCkuc2V0Q3VycmVudFZlcnRpY2FsU25hcFBvaW50SW5kZXgoaW5kZXgpOwogICAgICAg
ICBpZiAodmVydGljYWxUYXJnZXQgPj0gMCAmJiB2ZXJ0aWNhbFRhcmdldCA8PSBzY3JvbGxWaWV3
LmNvbnRlbnRTaXplLmhlaWdodCkKICAgICAgICAgICAgIHRhcmdldENvbnRlbnRPZmZzZXQtPnkg
PSBwb3RlbnRpYWxTbmFwUG9zaXRpb247CkBAIC0xMjIsNiArMTIwLDcgQEAgLSAodm9pZClzY3Jv
bGxWaWV3RGlkRW5kRGVjZWxlcmF0aW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3CiBAZW5k
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIFNjcm9s
bGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1M6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdO
b2RlRGVsZWdhdGVJT1MoU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUmIHNjcm9sbGluZ05vZGUp
CiAgICAgOiBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlKHNjcm9sbGluZ05vZGUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9j
ZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJv
Y2Vzc1Byb3h5LmNwcAppbmRleCBlZmE4ZDEzY2JiZDVmZmE4MDhiNWYwZWRiZjRhNTFkYzlkZjg1
N2U3Li4zYTEzMWI0ZDYwZDhhYTA3ZTg3ZmI1ZTRjNjE0ZjMwYTdkNDJiNTc0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94
eS5jcHAKQEAgLTM3LDcgKzM3LDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CiAKLXN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUNhbGxiYWNrSUQoKQorc3Rh
dGljIHVpbnQ2NF90IGdlbmVyYXRlU3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKCkKIHsKICAgICBz
dGF0aWMgdWludDY0X3QgY2FsbGJhY2tJRDsKIApAQCAtMTA1LDcgKzEwNSw3IEBAIHZvaWQgU3Rv
cmFnZVByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9u
SUQsIE9wdGlvblNldDxXCiB7CiAgICAgQVNTRVJUKGNhblNlbmRNZXNzYWdlKCkpOwogCi0gICAg
dWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIHVpbnQ2NF90
IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1f
cGVuZGluZ0ZldGNoV2Vic2l0ZURhdGFDYWxsYmFja3MuYWRkKGNhbGxiYWNrSUQsIFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIHNlbmQoTWVzc2FnZXM6OlN0b3JhZ2VQcm9jZXNz
OjpGZXRjaFdlYnNpdGVEYXRhKHNlc3Npb25JRCwgZGF0YVR5cGVzLCBjYWxsYmFja0lEKSwgMCk7
CkBAIC0xMTMsNyArMTEzLDcgQEAgdm9pZCBTdG9yYWdlUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNp
dGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFcKIAogdm9pZCBTdG9y
YWdlUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9u
SUQsIE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+IGRhdGFUeXBlcywgV2FsbFRpbWUgbW9kaWZp
ZWRTaW5jZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikK
IHsKLSAgICBhdXRvIGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICBhdXRv
IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpOwogCiAgICAg
bV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFDYWxsYmFja3MuYWRkKGNhbGxiYWNrSUQsIFdURk1v
dmUoY29tcGxldGlvbkhhbmRsZXIpKTsKICAgICBzZW5kKE1lc3NhZ2VzOjpTdG9yYWdlUHJvY2Vz
czo6RGVsZXRlV2Vic2l0ZURhdGEoc2Vzc2lvbklELCBkYXRhVHlwZXMsIG1vZGlmaWVkU2luY2Us
IGNhbGxiYWNrSUQpLCAwKTsKQEAgLTEyMyw3ICsxMjMsNyBAQCB2b2lkIFN0b3JhZ2VQcm9jZXNz
UHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhQQUw6OlNlc3Npb25JRCBzZXNzaW9u
SUQsCiB7CiAgICAgQVNTRVJUKGNhblNlbmRNZXNzYWdlKCkpOwogCi0gICAgdWludDY0X3QgY2Fs
bGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQg
PSBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVuZGluZ0RlbGV0
ZVdlYnNpdGVEYXRhRm9yT3JpZ2luc0NhbGxiYWNrcy5hZGQoY2FsbGJhY2tJRCwgV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAgc2VuZChNZXNzYWdlczo6U3RvcmFnZVByb2Nlc3M6
OkRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhzZXNzaW9uSUQsIGRhdGFUeXBlcywgb3JpZ2lu
cywgY2FsbGJhY2tJRCksIDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggYzc3MTU1OTBlZDcxY2NkZDIzZGYyODVhM2FhN2MzNmU1NDNk
YjdmNi4uYmM3YzI0M2Y0Nzk2YWNjMmVjZTRjNGZlY2M0NDkyOTI1OGNkYjQ1NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03NTYsNiAr
NzU2LDggQEAKIAkJMkQ5MkE3OTUyMTJCNkFENDAwRjQ5M0ZEIC8qIFBsdWdpblByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUEyRDkwRDExMjgxQzk2NjAwMUVCOTYyIC8qIFBsdWdpblByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuY3BwICovOyB9OwogCQkyRDkyQTc5NjIxMkI2QURBMDBGNDkzRkQgLyogTmV0
c2NhcGVQbHVnaW5Nb2R1bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUE0QTlDNTMxMkI4MTZDRjAwOEZFOTg0IC8qIE5ldHNjYXBlUGx1Z2luTW9k
dWxlLmNwcCAqLzsgfTsKIAkJMkQ5MkE3OTcyMTJCNkFEQTAwRjQ5M0ZEIC8qIFBsdWdpbkluZm9y
bWF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDdDM0Y4QzhFMTczQUY1MkQwMDdCN0YzOSAvKiBQbHVnaW5JbmZvcm1hdGlvbi5jcHAgKi87IH07
CisJCTJEOTJBNzk4MjEzNDhEODUwMEY0OTNGRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFB
QjFGNzdEMUQxQjMwQTkwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5t
bSAqLzsgfTsKKwkJMkQ5MkE3OUYyMTM0QjA3RTAwRjQ5M0ZEIC8qIFdlYlBheW1lbnRDb29yZGlu
YXRvclByb3h5SU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUFCMUY3N0IxRDFCMzBBOTAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5SU9TLm1tICovOyB9OwogCQkyRDkzMTE2OTIxMkY2MUIyMDAwNDRCRkUgLyogV0tDb250ZW50
Vmlldy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
Q0I0RTNEMThCQkUwNDQwMDBGQ0ZDOSAvKiBXS0NvbnRlbnRWaWV3Lm1tICovOyB9OwogCQkyRDkz
MTE2QTIxMkY2MUI1MDAwNDRCRkUgLyogV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDQjRFNkIxOEJCRjI2
QTAwMEZDRkM5IC8qIFdLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSAqLzsgfTsKIAkJMkQ5RUEz
MEQxQTk2Q0I1OTAwMkQyODA3IC8qIFdLUGFnZUluamVjdGVkQnVuZGxlQ2xpZW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlFQTMwQzFBOTZDQjU5
MDAyRDI4MDcgLyogV0tQYWdlSW5qZWN0ZWRCdW5kbGVDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTEyNDEsNiArMTEyNDMsOCBAQAog
CQkJCTdDRTlDRTEwMUZBMDc2N0EwMDAxNzdERSAvKiBXZWJQYWdlVXBkYXRlUHJlZmVyZW5jZXMu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M0Njk0QzkxQTRCNEVBMTAwQUQ1ODQ1IC8qIFdlYlBh
c3RlYm9hcmRQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUIx
Rjc5NjFEMUIzNjEzMDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yTWVzc2FnZVJlY2Vp
dmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJBNzlGMjEzNEIwN0UwMEY0OTNGRCAvKiBX
ZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJB
Nzk4MjEzNDhEODUwMEY0OTNGRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbSBp
biBTb3VyY2VzICovLAogCQkJCTFBQjFGNzk4MUQxQjM2MTMwMDdDOUJEMSAvKiBXZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQky
RDkyQTc4RDIxMkI2QUIxMDBGNDkzRkQgLyogV2ViUGxhdGZvcm1Ub3VjaFBvaW50LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTJEOTEzNDRFMjEyQ0Y5RjAwMDEyOEFGRCAvKiBXZWJQbHVnaW5JbmZv
UHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5tbQppbmRleCA1MzA3ZTI2YTc2MzdlOGE2OWIwNDVh
YmI5Mjg3OWYzZjhjNjU4NmYyLi40Y2FhNmNjMGY2MDQ1MGMwM2IyMmEyODRkZDEzYWYyNWVmZDZl
Mzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERG
UGx1Z2luLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQ
bHVnaW4ubW0KQEAgLTg4LDggKzg4LDYgQEAKICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TTWVudVNQ
SS5oPgogI2ltcG9ydCA8d3RmL1VVSUQuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0K
IC8vIFNldCBvdmVyZmxvdzogaGlkZGVuIG9uIHRoZSBhbm5vdGF0aW9uIGNvbnRhaW5lciBzbyA8
aW5wdXQ+IGVsZW1lbnRzIHNjcm9sbGVkIG91dCBvZiB2aWV3IGRvbid0IHNob3cKIC8vIHNjcm9s
bGJhcnMgb24gdGhlIGJvZHkuIFdlIGNhbid0IGFkZCBhbm5vdGF0aW9ucyBkaXJlY3RseSB0byB0
aGUgYm9keSwgYmVjYXVzZSBvdmVyZmxvdzogaGlkZGVuIG9uIHRoZSBib2R5CiAvLyB3aWxsIGJy
ZWFrIHJ1YmJlci1iYW5kaW5nLgpAQCAtMjkwLDcgKzI4OCw3IEBAIC0gKE5TQXJyYXkgKilhY2Nl
c3NpYmlsaXR5QWN0aW9uTmFtZXMKIC0gKHZvaWQpYWNjZXNzaWJpbGl0eVBlcmZvcm1BY3Rpb246
KE5TU3RyaW5nICopYWN0aW9uCiB7CiAgICAgaWYgKFthY3Rpb24gaXNFcXVhbFRvU3RyaW5nOk5T
QWNjZXNzaWJpbGl0eVNob3dNZW51QWN0aW9uXSkKLSAgICAgICAgX3BkZlBsdWdpbi0+c2hvd0Nv
bnRleHRNZW51QXRQb2ludChJbnRSZWN0KEludFBvaW50KCksIF9wZGZQbHVnaW4tPnNpemUoKSku
Y2VudGVyKCkpOworICAgICAgICBfcGRmUGx1Z2luLT5zaG93Q29udGV4dE1lbnVBdFBvaW50KFdl
YkNvcmU6OkludFJlY3QoV2ViQ29yZTo6SW50UG9pbnQoKSwgX3BkZlBsdWdpbi0+c2l6ZSgpKS5j
ZW50ZXIoKSk7CiB9CiAKIC0gKEJPT0wpYWNjZXNzaWJpbGl0eUlzQXR0cmlidXRlU2V0dGFibGU6
KE5TU3RyaW5nICopYXR0cmlidXRlCkBAIC0zMTYsOCArMzE0LDggQEAgLSAoaWQpYWNjZXNzaWJp
bGl0eUZvY3VzZWRVSUVsZW1lbnQKIHsKICNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMTMwMAogICAgIGlmIChXZWJLaXQ6OlBERlBsdWdpbkFubm90YXRpb24qIGFjdGl2
ZUFubm90YXRpb24gPSBfcGRmUGx1Z2luLT5hY3RpdmVBbm5vdGF0aW9uKCkpIHsKLSAgICAgICAg
aWYgKEFYT2JqZWN0Q2FjaGUqIGV4aXN0aW5nQ2FjaGUgPSBfcGRmUGx1Z2luLT5heE9iamVjdENh
Y2hlKCkpIHsKLSAgICAgICAgICAgIGlmIChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QgPSBl
eGlzdGluZ0NhY2hlLT5nZXRPckNyZWF0ZShhY3RpdmVBbm5vdGF0aW9uLT5lbGVtZW50KCkpKQor
ICAgICAgICBpZiAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZSogZXhpc3RpbmdDYWNoZSA9IF9wZGZQ
bHVnaW4tPmF4T2JqZWN0Q2FjaGUoKSkgeworICAgICAgICAgICAgaWYgKFdlYkNvcmU6OkFjY2Vz
c2liaWxpdHlPYmplY3QqIG9iamVjdCA9IGV4aXN0aW5nQ2FjaGUtPmdldE9yQ3JlYXRlKGFjdGl2
ZUFubm90YXRpb24tPmVsZW1lbnQoKSkpCiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAog
I3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XZGVwcmVjYXRlZC1kZWNsYXJhdGlv
bnMiCiAgICAgICAgICAgICAgICAgcmV0dXJuIFtvYmplY3QtPndyYXBwZXIoKSBhY2Nlc3NpYmls
aXR5QXR0cmlidXRlVmFsdWU6QCJfQVhBc3NvY2lhdGVkUGx1Z2luUGFyZW50Il07CkBAIC0zMzgs
MTEgKzMzNiwxMSBAQCAtIChpZClhY2Nlc3NpYmlsaXR5QXNzb2NpYXRlZENvbnRyb2xGb3JBbm5v
dGF0aW9uOihQREZBbm5vdGF0aW9uICopYW5ub3RhdGlvbgogICAgIGlmICghYWN0aXZlQW5ub3Rh
dGlvbiB8fCAhW2FjdGl2ZUFubm90YXRpb24tPmFubm90YXRpb24oKSBpc0VxdWFsOmFubm90YXRp
b25dKQogICAgICAgICByZXR1cm4gbmlsOwogICAgIAotICAgIEFYT2JqZWN0Q2FjaGUqIGNhY2hl
ID0gX3BkZlBsdWdpbi0+YXhPYmplY3RDYWNoZSgpOworICAgIFdlYkNvcmU6OkFYT2JqZWN0Q2Fj
aGUqIGNhY2hlID0gX3BkZlBsdWdpbi0+YXhPYmplY3RDYWNoZSgpOwogICAgIGlmICghY2FjaGUp
CiAgICAgICAgIHJldHVybiBuaWw7CiAgICAgCi0gICAgQWNjZXNzaWJpbGl0eU9iamVjdCogb2Jq
ZWN0ID0gY2FjaGUtPmdldE9yQ3JlYXRlKGFjdGl2ZUFubm90YXRpb24tPmVsZW1lbnQoKSk7Cisg
ICAgV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0ID0gY2FjaGUtPmdldE9yQ3Jl
YXRlKGFjdGl2ZUFubm90YXRpb24tPmVsZW1lbnQoKSk7CiAgICAgaWYgKCFvYmplY3QpCiAgICAg
ICAgIHJldHVybiBuaWw7CiAKQEAgLTM1Myw3ICszNTEsNyBAQCAtIChpZClhY2Nlc3NpYmlsaXR5
QXNzb2NpYXRlZENvbnRyb2xGb3JBbm5vdGF0aW9uOihQREZBbm5vdGF0aW9uICopYW5ub3RhdGlv
bgogLSAoaWQpYWNjZXNzaWJpbGl0eUhpdFRlc3Q6KE5TUG9pbnQpcG9pbnQKIHsKICNpZiBfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMAotICAgIHBvaW50ID0gX3BkZlBs
dWdpbi0+Y29udmVydEZyb21Sb290Vmlld1RvUERGVmlldyhJbnRQb2ludChwb2ludCkpOworICAg
IHBvaW50ID0gX3BkZlBsdWdpbi0+Y29udmVydEZyb21Sb290Vmlld1RvUERGVmlldyhXZWJDb3Jl
OjpJbnRQb2ludChwb2ludCkpOwogICAgIHJldHVybiBbX3BkZkxheWVyQ29udHJvbGxlciBhY2Nl
c3NpYmlsaXR5SGl0VGVzdDpwb2ludF07CiAjZWxzZQogICAgIHJldHVybiBzZWxmOwpAQCAtNDIx
LDcgKzQxOSw3IEBAIC0gKGlkKWluaXRXaXRoUERGUGx1Z2luOihXZWJLaXQ6OlBERlBsdWdpbiAq
KXBsdWdpbgogCiAtICh2b2lkKXVwZGF0ZVNjcm9sbFBvc2l0aW9uOihDR1BvaW50KW5ld1Bvc2l0
aW9uCiB7Ci0gICAgX3BkZlBsdWdpbi0+bm90aWZ5U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKEludFBv
aW50KG5ld1Bvc2l0aW9uKSk7CisgICAgX3BkZlBsdWdpbi0+bm90aWZ5U2Nyb2xsUG9zaXRpb25D
aGFuZ2VkKFdlYkNvcmU6OkludFBvaW50KG5ld1Bvc2l0aW9uKSk7CiB9CiAKIC0gKHZvaWQpd3Jp
dGVJdGVtc1RvUGFzdGVib2FyZDooTlNBcnJheSAqKWl0ZW1zIHdpdGhUeXBlczooTlNBcnJheSAq
KXR5cGVzCkBAIC01MDAsNiArNDk4LDEwIEBAIC0gKE5TUmVjdCljb252ZXJ0UmVjdDooTlNSZWN0
KXJlY3QgZnJvbVBhZ2U6KFBERlBhZ2UgKikgcGFnZSBmb3JTY2FsZUZhY3RvcjooQ0dGCiAtIChQ
REZQYWdlICopcGFnZU5lYXJlc3RQb2ludDooTlNQb2ludClwb2ludCBjdXJyZW50UGFnZTooUERG
UGFnZSAqKWN1cnJlbnRQYWdlOwogQGVuZAogCituYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwordXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKKwogc3RhdGljIGNv
bnN0IGNoYXIqIHBvc3RTY3JpcHRNSU1FVHlwZSA9ICJhcHBsaWNhdGlvbi9wb3N0c2NyaXB0IjsK
IGNvbnN0IHVpbnQ2NF90IHBkZkRvY3VtZW50UmVxdWVzdElEID0gMTsgLy8gUGx1Z2luQ29udHJv
bGxlciBzdXBwb3J0cyBsb2FkaW5nIG11bHRpcGxlIHN0cmVhbXMsIGJ1dCB3ZSBvbmx5IG5lZWQg
b25lIGZvciBQREYuCiAKQEAgLTU5Niw5ICs1OTgsNiBAQCBzdGF0aWMgdm9pZCBnZXRBbGxTY3Jp
cHRzSW5QREZEb2N1bWVudChDR1BERkRvY3VtZW50UmVmIHBkZkRvY3VtZW50LCBWZWN0b3I8UmV0
YQogICAgIH0KIH0KIAotbmFtZXNwYWNlIFdlYktpdCB7Ci11c2luZyBuYW1lc3BhY2UgSFRNTE5h
bWVzOwotCiBSZWY8UERGUGx1Z2luPiBQREZQbHVnaW46OmNyZWF0ZShXZWJGcmFtZSYgZnJhbWUp
CiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUERGUGx1Z2luKGZyYW1lKSk7CkBAIC0xNDUw
LDcgKzE0NDksNyBAQCB2b2lkIFBERlBsdWdpbjo6dXBkYXRlQ3Vyc29yKGNvbnN0IFdlYk1vdXNl
RXZlbnQmIGV2ZW50LCBVcGRhdGVDdXJzb3JNb2RlIG1vZGUpCiAgICAgaWYgKGhpdFRlc3RSZXN1
bHQgPT0gbV9sYXN0SGl0VGVzdFJlc3VsdCAmJiBtb2RlID09IFVwZGF0ZUlmTmVlZGVkKQogICAg
ICAgICByZXR1cm47CiAKLSAgICB3ZWJGcmFtZSgpLT5wYWdlKCktPnNlbmQoTWVzc2FnZXM6Oldl
YlBhZ2VQcm94eTo6U2V0Q3Vyc29yKGhpdFRlc3RSZXN1bHQgPT0gVGV4dCA/IGlCZWFtQ3Vyc29y
KCkgOiBwb2ludGVyQ3Vyc29yKCkpKTsKKyAgICB3ZWJGcmFtZSgpLT5wYWdlKCktPnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0Q3Vyc29yKGhpdFRlc3RSZXN1bHQgPT0gVGV4dCA/IFdl
YkNvcmU6OmlCZWFtQ3Vyc29yKCkgOiBXZWJDb3JlOjpwb2ludGVyQ3Vyc29yKCkpKTsKICAgICBt
X2xhc3RIaXRUZXN0UmVzdWx0ID0gaGl0VGVzdFJlc3VsdDsKIH0KICNlbmRpZgpAQCAtMTk4MSwx
NiArMTk4MCwxNiBAQCB2b2lkIFBERlBsdWdpbjo6bm90aWZ5U2VsZWN0aW9uQ2hhbmdlZChQREZT
ZWxlY3Rpb24gKikKICAgICB3ZWJGcmFtZSgpLT5wYWdlKCktPmRpZENoYW5nZVNlbGVjdGlvbigp
OwogfQogCi1zdGF0aWMgY29uc3QgQ3Vyc29yJiBjb3JlQ3Vyc29yKFBERkxheWVyQ29udHJvbGxl
ckN1cnNvclR5cGUgdHlwZSkKK3N0YXRpYyBjb25zdCBXZWJDb3JlOjpDdXJzb3ImIGNvcmVDdXJz
b3IoUERGTGF5ZXJDb250cm9sbGVyQ3Vyc29yVHlwZSB0eXBlKQogewogICAgIHN3aXRjaCAodHlw
ZSkgewogICAgIGNhc2Uga1BERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGVIYW5kOgotICAgICAg
ICByZXR1cm4gaGFuZEN1cnNvcigpOworICAgICAgICByZXR1cm4gV2ViQ29yZTo6aGFuZEN1cnNv
cigpOwogICAgIGNhc2Uga1BERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGVJQmVhbToKLSAgICAg
ICAgcmV0dXJuIGlCZWFtQ3Vyc29yKCk7CisgICAgICAgIHJldHVybiBXZWJDb3JlOjppQmVhbUN1
cnNvcigpOwogICAgIGNhc2Uga1BERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGVQb2ludGVyOgog
ICAgIGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiBwb2ludGVyQ3Vyc29yKCk7CisgICAgICAgIHJl
dHVybiBXZWJDb3JlOjpwb2ludGVyQ3Vyc29yKCk7CiAgICAgfQogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348213</attachid>
            <date>2018-08-27 15:26:48 -0700</date>
            <delta_ts>2018-08-27 15:28:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189009-20180827152647.patch</filename>
            <type>text/plain</type>
            <size>62296</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1Mzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDI5MmM2NDA4MzcwZGM0YWY2ZmVmYmQ0
MzZlZGNhYTc3ZDA3NWUzOWEuLjgxMTBlZGU5NjU0OWM4MjM0YTNiYjJjNzM1NmFiYjAyNDIxNDJm
MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3Jl
IHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL2dlbmVy
YXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmI6CisgICAgICAgIEl0IHR1cm5zIG91dCBvdXIg
cGxhbiB0byBzd2l0Y2ggdW5pZmllZCBzb3VyY2UgYnVuZGxlIGV2ZXJ5IHRpbWUgdGhlIGRpcmVj
dG9yeQorICAgICAgICBjaGFuZ2VzIGlzIG5vdCBhIGdvb2QgZml0IGZvciBwcm9qZWN0cyBsaWtl
IFdlYktpdDIgd2l0aCBtYW55IHNtYWxsIGRpcmVjdG9yaWVzLgorICAgICAgICBJdCBsZWF2ZXMg
bWFueSB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIHdpdGggb25seSBhIHNpbmdsZSBzb3VyY2UgZmls
ZSwKKyAgICAgICAgYWNoaWV2aW5nIG9ubHkgfjQwJSBkZW5zaXR5LgorCisgICAgICAgIEluc3Rl
YWQsIHN3aXRjaCB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIGV2ZXJ5IHRpbWUgdGhlIHRvcC1sZXZl
bCBkaXJlY3RvcnkgY2hhbmdlcy4KKyAgICAgICAgVGhpcyBzdGlsbCBhY2hpZXZlcyB0aGUgZ29h
bCBvZiAqdXN1YWxseSogb25seSByZWJ1aWxkaW5nIHRoZSBvbmUgdG9wLWxldmVsCisgICAgICAg
IGRpcmVjdG9yeSB5b3UgdG91Y2hlZCwgYW5kIGluY3JlYXNlcyBzb3VyY2UgYnVuZGxlIGRlbnNp
dHkgd2lsZGx5LCB0byB+OTUlLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTgt
MDgtMjcgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxk
IHN5c3RlbSBzdXBwb3J0IGZvciBMVE8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhMGI5YTAyZDQ5MWQzYzc0NDBh
Y2U4YTIyNDFjNGU1MzUwYzVmNTE0Li4yMDA5OWQwOTZiMDhiM2E0ZjkxOTE2YmRlZDdhNTZlNWUw
YjgzYjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQg
c291cmNlcyBtb3JlIHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1
Y3R1cmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
ODkwMDkKKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgRml4
IGEgdmFyaWV0eSBvZiB1bmlmaWNhdGlvbiBlcnJvcnMgZHVlIHRvIHJlc2h1ZmZsaW5nIHRoZSBi
dW5kbGVzLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9B
bGdvcml0aG1FQ0RTQS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1FQ0RT
QTo6aW1wb3J0S2V5KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBodG1s
L3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKiBwYWdlL0FsdGVybmF0
aXZlVGV4dENsaWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL1Bhc3RlYm9hcmQuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHA6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5tbToKKyAgICAgICAg
KC1bV2ViR0xMYXllciBpbml0V2l0aEdyYXBoaWNzQ29udGV4dDNEOl0pOgorICAgICAgICAoLVtX
ZWJHTExheWVyIGNvcHlJbWFnZVNuYXBzaG90V2l0aENvbG9yU3BhY2U6XSk6CisgICAgICAgICgt
W1dlYkdMTGF5ZXIgZGlzcGxheV0pOgorICAgICAgICAoLVtXZWJHTExheWVyIGFsbG9jYXRlSU9T
dXJmYWNlQmFja2luZ1N0b3JlV2l0aFNpemU6dXNpbmdBbHBoYTpdKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbToKKyAgICAgICAgKC1bV2ViR1BVTGF5
ZXIgaW5pdFdpdGhHUFVEZXZpY2U6XSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0
YWwvR1BVQ29tbWFuZFF1ZXVlTWV0YWwubW06CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Bhc3Rl
Ym9hcmRNYWMubW06CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlD
YXB0dXJlTWFuYWdlckNvY29hLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlUmVxdWVzdEJhc2UuY3BwOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJU
cmVlQnVpbGRlckJsb2NrRmxvdy5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVCdWlsZGVySW5saW5lLmNwcDoKKwogMjAxOC0wOC0yNyAgS2VpdGggUm9sbGluICA8
a3JvbGxpbkBhcHBsZS5jb20+CiAKICAgICAgICAgQnVpbGQgc3lzdGVtIHN1cHBvcnQgZm9yIExU
TwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCAwZjg2OGYwZTliYWUyNjgxMWZiZjI0ZDFjOWFmNGU4OWZkMjNlZDE3Li5k
YmQzYTMzNTJiYzFiMzNmM2JkZjhiMmFlNjNmNjAxODc2NGYwNDQwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDk3IEBACisyMDE4LTA4LTI3ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUu
Y29tPgorCisgICAgICAgIEJ1bmRsZSB1bmlmaWVkIHNvdXJjZXMgbW9yZSB0aWdodGx5IGluIHBy
b2plY3RzIHdpdGggZGVlcCBkaXJlY3Rvcnkgc3RydWN0dXJlcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5MDA5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIEZpeCBhIHZhcmlldHkgb2YgdW5pZmljYXRpb24g
ZXJyb3JzIGR1ZSB0byByZXNodWZmbGluZyB0aGUgYnVuZGxlcy4KKworICAgICAgICAqIFNoYXJl
ZC9BUElXZWJBcmNoaXZlLm1tOgorICAgICAgICAqIFNoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3Vy
Y2UubW06CisgICAgICAgICogU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1
Z2luTW9kdWxlTWFjLm1tOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9Q
bHVnaW5JbmZvcm1hdGlvbk1hYy5tbToKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaDoKKyAgICAg
ICAgKEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6OnNlc3Npb25JZGVudGlmaWVyIGNvbnN0
KToKKyAgICAgICAgKEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6Om1lc3NhZ2VPZkN1cnJl
bnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKToKKyAgICAgICAgKEFQSTo6QXV0b21hdGlvblNlc3Np
b25DbGllbnQ6OnNldFVzZXJJbnB1dEZvckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xp
ZW50Lm1tOgorICAgICAgICAoLVtXS0N1c3RvbVByb3RvY29sTG9hZGVyIGluaXRXaXRoTGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6Y3VzdG9tUHJvdG9jb2xJRDpyZXF1ZXN0Ol0pOgor
ICAgICAgICAoLVtXS0N1c3RvbVByb3RvY29sTG9hZGVyIGNvbm5lY3Rpb246ZGlkRmFpbFdpdGhF
cnJvcjpdKToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBjb25uZWN0aW9uOmRp
ZFJlY2VpdmVSZXNwb25zZTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Q
cm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZVBsdWdpblByb2Nlc3ND
YWxsYmFja0lEKToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpmZXRjaFdl
YnNpdGVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVX
ZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRl
V2Vic2l0ZURhdGFGb3JIb3N0TmFtZXMpOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZUNhbGxi
YWNrSUQpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9z
L1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW06CisgICAgICAgICgtW1dL
U2Nyb2xsaW5nTm9kZVNjcm9sbFZpZXdEZWxlZ2F0ZSBzY3JvbGxWaWV3V2lsbEVuZERyYWdnaW5n
OndpdGhWZWxvY2l0eTp0YXJnZXRDb250ZW50T2Zmc2V0Ol0pOgorICAgICAgICAqIFVJUHJvY2Vz
cy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpnZW5l
cmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VQ
cm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdl
UHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlN0b3Jh
Z2VQcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyk6CisgICAgICAgIChX
ZWJLaXQ6OmdlbmVyYXRlQ2FsbGJhY2tJRCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BE
Ri9QREZQbHVnaW4ubW06CisgICAgICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVj
dCBhY2Nlc3NpYmlsaXR5UGVyZm9ybUFjdGlvbjpdKToKKyAgICAgICAgKC1bV0tQREZQbHVnaW5B
Y2Nlc3NpYmlsaXR5T2JqZWN0IGFjY2Vzc2liaWxpdHlGb2N1c2VkVUlFbGVtZW50XSk6CisgICAg
ICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5QXNzb2Np
YXRlZENvbnRyb2xGb3JBbm5vdGF0aW9uOl0pOgorICAgICAgICAoLVtXS1BERlBsdWdpbkFjY2Vz
c2liaWxpdHlPYmplY3QgYWNjZXNzaWJpbGl0eUhpdFRlc3Q6XSk6CisgICAgICAgICgtW1dLUERG
TGF5ZXJDb250cm9sbGVyRGVsZWdhdGUgdXBkYXRlU2Nyb2xsUG9zaXRpb246XSk6CisgICAgICAg
IChXZWJLaXQ6OlBERlBsdWdpbjo6dXBkYXRlQ3Vyc29yKToKKyAgICAgICAgKFdlYktpdDo6Y29y
ZUN1cnNvcik6CisgICAgICAgIChhcHBlbmRWYWx1ZXNJblBERk5hbWVTdWJ0cmVlVG9WZWN0b3Ip
OiBEZWxldGVkLgorICAgICAgICAoZ2V0QWxsVmFsdWVzSW5QREZOYW1lVHJlZSk6IERlbGV0ZWQu
CisgICAgICAgIChnZXRBbGxTY3JpcHRzSW5QREZEb2N1bWVudCk6IERlbGV0ZWQuCisKKzIwMTgt
MDgtMjcgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAg
QnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3JlIHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVw
IGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBGaXggYSB2YXJpZXR5IG9mIHVuaWZpY2F0aW9uIGVycm9ycyBkdWUgdG8g
cmVzaHVmZmxpbmcgdGhlIGJ1bmRsZXMuCisKKyAgICAgICAgKiBTaGFyZWQvUGx1Z2lucy9OZXRz
Y2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMubW06CisgICAgICAgICogU2hhcmVkL1Bs
dWdpbnMvTmV0c2NhcGUvbWFjL1BsdWdpbkluZm9ybWF0aW9uTWFjLm1tOgorICAgICAgICAqIFNv
dXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElBdXRvbWF0aW9uU2Vz
c2lvbkNsaWVudC5oOgorICAgICAgICAoQVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudDo6c2Vz
c2lvbklkZW50aWZpZXIgY29uc3QpOgorICAgICAgICAoQVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkNs
aWVudDo6bWVzc2FnZU9mQ3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UpOgorICAgICAgICAo
QVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudDo6c2V0VXNlcklucHV0Rm9yQ3VycmVudEphdmFT
Y3JpcHRQcm9tcHRPblBhZ2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9MZWdhY3lDdXN0
b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW06CisgICAgICAgICgtW1dLQ3VzdG9tUHJvdG9jb2xM
b2FkZXIgaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTpjdXN0b21Qcm90
b2NvbElEOnJlcXVlc3Q6XSk6CisgICAgICAgICgtW1dLQ3VzdG9tUHJvdG9jb2xMb2FkZXIgY29u
bmVjdGlvbjpkaWRGYWlsV2l0aEVycm9yOl0pOgorICAgICAgICAoLVtXS0N1c3RvbVByb3RvY29s
TG9hZGVyIGNvbm5lY3Rpb246ZGlkUmVjZWl2ZVJlc3BvbnNlOl0pOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Omdl
bmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQpOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Q
cm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Q
cm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2lu
UHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZvckhvc3ROYW1lcyk6CisgICAgICAgIChX
ZWJLaXQ6OmdlbmVyYXRlQ2FsbGJhY2tJRCk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNz
L1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OmdlbmVy
YXRlU3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVBy
b2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VQ
cm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFn
ZVByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKToKKyAgICAgICAgKFdl
YktpdDo6Z2VuZXJhdGVDYWxsYmFja0lEKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUERG
L1BERlBsdWdpbi5tbToKKyAgICAgICAgKC1bV0tQREZQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0
IGFjY2Vzc2liaWxpdHlQZXJmb3JtQWN0aW9uOl0pOgorICAgICAgICAoLVtXS1BERlBsdWdpbkFj
Y2Vzc2liaWxpdHlPYmplY3QgYWNjZXNzaWJpbGl0eUZvY3VzZWRVSUVsZW1lbnRdKToKKyAgICAg
ICAgKC1bV0tQREZQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0IGFjY2Vzc2liaWxpdHlBc3NvY2lh
dGVkQ29udHJvbEZvckFubm90YXRpb246XSk6CisgICAgICAgICgtW1dLUERGUGx1Z2luQWNjZXNz
aWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5SGl0VGVzdDpdKToKKyAgICAgICAgKC1bV0tQREZM
YXllckNvbnRyb2xsZXJEZWxlZ2F0ZSB1cGRhdGVTY3JvbGxQb3NpdGlvbjpdKToKKyAgICAgICAg
KFdlYktpdDo6UERGUGx1Z2luOjp1cGRhdGVDdXJzb3IpOgorICAgICAgICAoV2ViS2l0Ojpjb3Jl
Q3Vyc29yKToKKyAgICAgICAgKGFwcGVuZFZhbHVlc0luUERGTmFtZVN1YnRyZWVUb1ZlY3Rvcik6
IERlbGV0ZWQuCisgICAgICAgIChnZXRBbGxWYWx1ZXNJblBERk5hbWVUcmVlKTogRGVsZXRlZC4K
KyAgICAgICAgKGdldEFsbFNjcmlwdHNJblBERkRvY3VtZW50KTogRGVsZXRlZC4KKwogMjAxOC0w
OC0yNyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAg
ICAgIEZpeCBpbnRlcm5hbCBidWlsZHMgYWZ0ZXIgcjIzNTM2OApkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi9TY3JpcHRzL2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIgYi9Tb3VyY2Uv
V1RGL1NjcmlwdHMvZ2VuZXJhdGUtdW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYgppbmRleCBjMDE5
NjZlZTFiMmM2N2Q5NzYwZjAzYTViYmNhYTNjYjU3MjYxMmIzLi5hYmQ5NzY3N2EyMGFkYjRkNDYy
ZWI5OGY3NzhkOTgwMjliZGQ0OTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1NjcmlwdHMvZ2Vu
ZXJhdGUtdW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYgorKysgYi9Tb3VyY2UvV1RGL1NjcmlwdHMv
Z2VuZXJhdGUtdW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYgpAQCAtMjEwLDEwICsyMTAsMTcgQEAg
Y2xhc3MgQnVuZGxlTWFuYWdlcgogICAgIGVuZAogZW5kCiAKK2RlZiBUb3BMZXZlbERpcmVjdG9y
eUZvclBhdGgocGF0aCkKKyAgICBpZiAhcGF0aAorICAgICAgICByZXR1cm4gbmlsCisgICAgZW5k
CisgICAgcmV0dXJuIHBhdGguZWFjaF9maWxlbmFtZS5uZXh0CitlbmQKKwogZGVmIFByb2Nlc3NG
aWxlRm9yVW5pZmllZFNvdXJjZUdlbmVyYXRpb24oc291cmNlRmlsZSkKICAgICBwYXRoID0gc291
cmNlRmlsZS5wYXRoCi0gICAgaWYgKCRjdXJyZW50RGlyZWN0b3J5ICE9IHBhdGguZGlybmFtZSkK
LSAgICAgICAgbG9nKCJGbHVzaGluZyBiZWNhdXNlIG5ldyBkaXJuYW1lOyBvbGQ6ICN7JGN1cnJl
bnREaXJlY3Rvcnl9LCBuZXc6ICN7cGF0aC5kaXJuYW1lfSIpCisgICAgaWYgKFRvcExldmVsRGly
ZWN0b3J5Rm9yUGF0aCgkY3VycmVudERpcmVjdG9yeSkgIT0gVG9wTGV2ZWxEaXJlY3RvcnlGb3JQ
YXRoKHBhdGguZGlybmFtZSkpCisgICAgICAgIGxvZygiRmx1c2hpbmcgYmVjYXVzZSBuZXcgdG9w
IGxldmVsIGRpcmVjdG9yeTsgb2xkOiAjeyRjdXJyZW50RGlyZWN0b3J5fSwgbmV3OiAje3BhdGgu
ZGlybmFtZX0iKQogICAgICAgICAkYnVuZGxlTWFuYWdlcnMuZWFjaF92YWx1ZSB7IHx4fCB4LmZs
dXNoIH0KICAgICAgICAgJGN1cnJlbnREaXJlY3RvcnkgPSBwYXRoLmRpcm5hbWUKICAgICBlbmQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybS5oCmluZGV4IDBjNmVmYjg2Mjk4MjUzOWQyYjRiMmNjNGY4ZjhiNWZjYjRlYzg4ZTgu
LjY3Y2ZhOTMzMTNjOTA0MjFlYjZjZjE3OWQ5OGVmNzAzZGEwZTQ5ZGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApA
QCAtMTMxNCw2ICsxMzE0LDcgQEAKICNpZiBQTEFURk9STShNQUMpCiAjZGVmaW5lIEhBVkVfVE9V
Q0hfQkFSIDEKICNkZWZpbmUgSEFWRV9BRFZBTkNFRF9TUEVMTF9DSEVDS0lORyAxCisjZGVmaW5l
IFVTRV9ESUNUQVRJT05fQUxURVJOQVRJVkVTIDEKIAogI2lmIGRlZmluZWQoX19MUDY0X18pCiAj
ZGVmaW5lIEVOQUJMRV9XRUJfUExBWUJBQ0tfQ09OVFJPTFNfTUFOQUdFUiAxCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNwcAppbmRl
eCA5NjEzMmU2OTczN2FlOThhNjBmOTU0ZjFmMzExODM4NDEwNzFlMGE5Li5jZGI3NzdlOTk5Mjky
MjFjZjBhOGYwMTE0MmIyZDA3ZWRlOWVmZWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29udHJvbGxlci5jcHAKQEAgLTI3LDYgKzI3LDcgQEAK
IAogI2lmIEVOQUJMRShXRUJfUlRDKQogCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRl
ICJMaWJXZWJSVENQcm92aWRlci5oIgogI2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9uLmgiCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDY2ZjdmMTZiZDY0ZjgyYzQzMmJlYWVkOGU3MGQx
YjVmZjA2M2E1MTcuLjk1N2U0YjViNjYxYjQwMjBmMGEyMWVlMDA5NWMwMTc2NDZlNDkzYTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dl
YkNvcmUvU291cmNlc0NvY29hLnR4dApAQCAtMzg5LDcgKzM4OSw3IEBAIHBsYXRmb3JtL2lvcy9Q
bGF0Zm9ybVNjcmVlbklPUy5tbQogcGxhdGZvcm0vaW9zL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6
ZXJJT1MubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNl
QVZLaXQubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvUXVpY2tMb29rLm1tCi1wbGF0Zm9ybS9p
b3MvUXVpY2tMb29rU29mdExpbmsubW0KK3BsYXRmb3JtL2lvcy9RdWlja0xvb2tTb2Z0TGluay5t
bSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9SZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MubW0KIHBs
YXRmb3JtL2lvcy9TY3JvbGxBbmltYXRvcklPUy5tbQogcGxhdGZvcm0vaW9zL1Njcm9sbGJhclRo
ZW1lSU9TLm1tCkBAIC0zOTksNyArMzk5LDcgQEAgcGxhdGZvcm0vaW9zL1NTTEtleUdlbmVyYXRv
cklPUy5jcHAKIHBsYXRmb3JtL2lvcy9TeXN0ZW1NZW1vcnlJT1MuY3BwCiBwbGF0Zm9ybS9pb3Mv
VGhlbWVJT1MubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvVGlsZUNvbnRyb2xsZXJNZW1vcnlI
YW5kbGVySU9TLmNwcAotcGxhdGZvcm0vaW9zL1VzZXJBZ2VudElPUy5tbQorcGxhdGZvcm0vaW9z
L1VzZXJBZ2VudElPUy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9WYWxpZGF0aW9uQnViYmxl
SU9TLm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0Lm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1dlYkFWUGxheWVyQ29udHJvbGxlci5tbQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDcyNTVkMjY1Yzc3MjE1ZWMwOWJhMzhkOTY3Y2E0Y2Q3ZThhYTE2NTguLmUwNWM4YTBiZTdm
Y2M4MzQ1ZTE1ZDY4NmQ3Nzc0OGNkODZiYjYxNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTgwNiw2ICs4MDYsOCBAQAogCQky
RDhCOTJGRjIwM0QxM0UxMDA5Qzg2OEYgLyogVW5pZmllZFNvdXJjZTUzMC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBERTVGODVEMzFGQTIzODU5MDA2
REI2M0IgLyogVW5pZmllZFNvdXJjZTUzMC5jcHAgKi87IH07CiAJCTJEOEZFQkREMTQzRTNFRjcw
MDcyNTAyQiAvKiBDU1NDcm9zc2ZhZGVWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ4RkVCREIxNDNFM0VGNzAwNzI1MDJCIC8qIENTU0Nyb3Nz
ZmFkZVZhbHVlLmggKi87IH07CiAJCTJEOTA2NjA3MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRT
dGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5
MDY2MDUwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMkQ5MkE3OUEyMTM0QUQ3OTAwRjQ5M0ZE
IC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDQzOTE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRM
aW5rLm1tICovOyB9OworCQkyRDkyQTc5RDIxMzRBRjk1MDBGNDkzRkQgLyogVXNlckFnZW50SU9T
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTNBRjlE
ODMyMDMyNTY5MTAwNkNBRDA2IC8qIFVzZXJBZ2VudElPUy5tbSAqLzsgfTsKIAkJMkQ5M0FFRTMx
OURGNTY0MTAwMkE4NkMzIC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOTNBRUUxMTlERjU2NDEwMDJB
ODZDMyAvKiBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmggKi87IH07CiAJCTJEOTdGMDQ3MTlE
RDQxM0MwMDFFRTlDMyAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRBQUUzMkMxOURDQUY2MDAwRTAwMkQy
IC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5jcHAgKi87IH07CiAJCTJEOTdGMDQ4MTlERDQxNDAw
MDFFRTlDMyAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQUFFMzJEMTlEQ0FGNjAwMEUwMDJEMiAvKiBNb2Nr
UGFnZU92ZXJsYXlDbGllbnQuaCAqLzsgfTsKQEAgLTcwNzMsNyArNzA3NSw3IEBACiAJCTMzOUI1
QjYyMTMxREFBMzIwMEY0OEQwMiAvKiBDb29raWVzU3RyYXRlZ3kuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ29va2llc1N0cmF0ZWd5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTM2NjJGOTg0MDQ3Q0VEQkU1REREQUZBQSAvKiBSZW5kZXJNYXRoTUxNZW5jbG9z
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJNYXRoTUxN
ZW5jbG9zZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3MTE5QTc5MjBDQ0I2
MTAwMDJDNkRDOSAvKiBXZWJLaXRUYXJnZXRDb25kaXRpb25hbHMueGNjb25maWcgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBw
YXRoID0gV2ViS2l0VGFyZ2V0Q29uZGl0aW9uYWxzLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQkzNzE3RDdFNTE3RUNDM0E2MDAzQzI3NkQgLyogZXh0cmFjdC1sb2NhbGl6
YWJsZS1zdHJpbmdzLnBsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dC5zY3JpcHQucGVybDsgbmFtZSA9IGV4dHJhY3QtbG9jYWxpemFibGUtc3Ry
aW5ncy5wbDsgcGF0aCA9ICJTY3JpcHRzL2V4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCI7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTM3MTdEN0U1MTdFQ0MzQTYwMDNDMjc2RCAv
KiBleHRyYWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5wZXJsOyBuYW1lID0gImV4dHJh
Y3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCI7IHBhdGggPSAiU2NyaXB0cy9leHRyYWN0LWxvY2Fs
aXphYmxlLXN0cmluZ3MucGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzFBNjdD
QTExQzZDN0RCMDAwNDdCOEIgLyogSHlwaGVuYXRpb25DRi5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBIeXBoZW5hdGlvbkNGLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMzcxRTY1Q0IxMzY2MUVEQzAwQkVFREIwIC8qIFBhZ2VTZXJpYWxpemVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhZ2VTZXJpYWxpemVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3MUU2NUNEMTM2NjFFRUQwMEJFRURCMCAvKiBQYWdl
U2VyaWFsaXplci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQYWdl
U2VyaWFsaXplci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzM1OCw4ICsx
MzM2MCw4IEBACiAJCUNERTU5NTlDMUJGMjc1NzEwMEExQ0JFOCAvKiBDRE1TZXNzaW9uTWVkaWFT
b3VyY2VBVkZPYmpDLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
Q0RNU2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQ0RFNjU2MEUxN0NBNkU3NjAwNTI2QkE3IC8qIG1lZGlhQ29udHJvbHNBcHBsZS5qcyAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuamF2YXNjcmlwdDsgcGF0aCA9IG1lZGlhQ29udHJvbHNBcHBsZS5qczsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFNjY3QTExRTRCQkE0RDAwRTgxNTRBIC8qIFBsYXRmb3JtQXVk
aW9EYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtQXVkaW9E
YXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNERTY2N0EyMUU0QkJGMTUwMEU4
MTU0QSAvKiBXZWJBdWRpb0J1ZmZlckxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gY29jb2EvV2ViQXVkaW9CdWZmZXJMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJQ0RFNjY3QTMxRTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVy
TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBjb2NvYS9XZWJBdWRpb0J1
ZmZlckxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0RFNjY3QTIxRTRCQkYx
NTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBXZWJBdWRpb0J1ZmZlckxpc3QuY3BwOyBwYXRoID0gY29jb2EvV2Vi
QXVkaW9CdWZmZXJMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0RFNjY3
QTMxRTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJBdWRpb0J1ZmZlckxpc3QuaDsgcGF0aCA9IGNvY29hL1dl
YkF1ZGlvQnVmZmVyTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU3RkM0
MjE4MTkwNEIxMDAyQkJCNzcgLyogT3JkZXJJdGVyYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBPcmRlckl0ZXJhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQ0RFN0ZDNDMxODE5MDRCMTAwMkJCQjc3IC8qIE9yZGVySXRlcmF0b3IuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT3JkZXJJdGVyYXRvci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlDREU4M0RBRjE4M0M0NDA2MDAzMUVBQTMgLyogVmlkZW9Q
bGF5YmFja1F1YWxpdHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
VmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTUyNDAsOCArMTUyNDIsOCBAQAogCQkJCTQxMTAzQUE3MUUzOTc5MEEwMDc2OUYxNCAvKiBSZWFs
dGltZU91dGdvaW5nQXVkaW9Tb3VyY2VDb2NvYS5jcHAgKi8sCiAJCQkJNDExMDNBQTgxRTM5Nzkw
QTAwNzY5RjE0IC8qIFJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZUNvY29hLmggKi8sCiAJCQkJ
NUNERDgzM0IxRTQzMjRCQjAwNjIxQjgzIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNv
Y29hLmNwcCAqLywKLQkJCQk0MTkyNDI0NzIxMjdCN0NDMDA2MzRGQ0YgLyogUmVhbHRpbWVPdXRn
b2luZ1ZpZGVvU291cmNlQ29jb2EubW0gKi8sCiAJCQkJNUNERDgzM0MxRTQzMjRCQjAwNjIxQjgz
IC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLmggKi8sCisJCQkJNDE5MjQyNDcy
MTI3QjdDQzAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tICov
LAogCQkJCTA3MEE5RjVFMUZGRUNDNzAwMDNERjY0OSAvKiBTY3JlZW5EaXNwbGF5Q2FwdHVyZVNv
dXJjZU1hYy5oICovLAogCQkJCTA3MEE5RjYwMUZGRUNDNzEwMDNERjY0OSAvKiBTY3JlZW5EaXNw
bGF5Q2FwdHVyZVNvdXJjZU1hYy5tbSAqLywKIAkJCQkwN0Q2MzczRTFCQjBCMTEzMDAyNTZDRTkg
LyogV2ViQXVkaW9Tb3VyY2VQcm92aWRlckFWRk9iakMuaCAqLywKQEAgLTMxNDQ2LDYgKzMxNDQ4
LDggQEAKIAkJCQlBQTEyREY0OTE3NDNERjgzMDA0REFGREYgLyogUGxhdGZvcm1TcGVlY2hTeW50
aGVzaXplcklPUy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNEQTI5QTMwMUNCRjc0RDQwMDkwMUND
RiAvKiBQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CUNEQTI5QTE2MUNCREE1NkMwMDkwMUNDRiAvKiBQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMu
bW0gaW4gU291cmNlcyAqLywKKwkJCQkyRDkyQTc5QTIxMzRBRDc5MDBGNDkzRkQgLyogUXVpY2tM
b29rU29mdExpbmsubW0gaW4gU291cmNlcyAqLywKKwkJCQk0MTkyNDI0OTIxMjdCOTNFMDA2MzRG
Q0YgLyogUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EubW0gaW4gU291cmNlcyAqLywK
IAkJCQkzMTZEQ0I4QTFFN0E2OTk2MDAxQjVGODcgLyogUlRDSWNlVHJhbnNwb3J0LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUJDNTExNTZFMTJCMTc0OUMwMEM5Njc1NCAvKiBTY3JvbGxBbmltYXRv
ck1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDRUY4NjlGMEU4NDRFOUQwMEE4NUNENSAvKiBT
Y3JvbGxiYXJUaGVtZU1hYy5tbSBpbiBTb3VyY2VzICovLApAQCAtMzE1NjYsNyArMzE1NzAsNiBA
QAogCQkJCTUzOEVDOEExMUY5OTNGOUQwMDREMjJBOCAvKiBVbmlmaWVkU291cmNlNDguY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJREU1Rjg1OTkxRkExQUJGNDAwNkRCNjNBIC8qIFVuaWZpZWRTb3Vy
Y2U0OS1tbS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUzOEVDOEEyMUY5OTNGOUQwMDREMjJBOCAv
KiBVbmlmaWVkU291cmNlNDkuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNDE5MjQyNDkyMTI3Qjkz
RTAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJREU1Rjg1OUExRkExQUJGNDAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U1MC1t
bS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUzOEVDOEEzMUY5OTNGOUQwMDREMjJBOCAvKiBVbmlm
aWVkU291cmNlNTAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJREU1Rjg2NTAxRkEyQUYyNDAwNkRC
NjNBIC8qIFVuaWZpZWRTb3VyY2U1MS1tbS5tbSBpbiBTb3VyY2VzICovLApAQCAtMzIwNjAsNiAr
MzIwNjMsNyBAQAogCQkJCTJEOEI5MkZEMjAzRDEzRTEwMDlDODY4RiAvKiBVbmlmaWVkU291cmNl
NTI4LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOEI5MkZFMjAzRDEzRTEwMDlDODY4RiAvKiBV
bmlmaWVkU291cmNlNTI5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOEI5MkZGMjAzRDEzRTEw
MDlDODY4RiAvKiBVbmlmaWVkU291cmNlNTMwLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJB
NzlEMjEzNEFGOTUwMEY0OTNGRCAvKiBVc2VyQWdlbnRJT1MubW0gaW4gU291cmNlcyAqLywKIAkJ
CQk1MzIwNDIwMjFGOUE5RjEwMDBCODFCMkEgLyogVXNlckFnZW50U2NyaXB0c0RhdGEuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJN0MzQjc5NzExOTA4NzU3QjAwQjQ3QTJEIC8qIFVzZXJNZXNzYWdl
SGFuZGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0U2ODM0NDE5MjE0M0E4MDBGNEQ5Mjgg
LyogVXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUVD
RFNBLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRo
bUVDRFNBLmNwcAppbmRleCA5NzMxN2UwNGE5Nzk3ZjE1NjE2ZGU0Yzc2MDhiNzQ1ZDlmZGVkZWY3
Li4xYjUzYzQ1M2IzNTI1MzZiNDgxMmVkZDJhYTY0ZDkxZTk1ZGY4NTRiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1FQ0RTQS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNE
U0EuY3BwCkBAIC0zNiwxMiArMzYsMTQgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCituYW1l
c3BhY2UgQ3J5cHRvQWxnb3JpdGhtRUNEU0FJbnRlcm5hbCB7CiBzdGF0aWMgY29uc3QgY2hhciog
Y29uc3QgQUxHMjU2ID0gIkVTMjU2IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBBTEczODQg
PSAiRVMzODQiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzUxMiA9ICJFUzUxMiI7CiBz
dGF0aWMgY29uc3QgY2hhciogY29uc3QgUDI1NiA9ICJQLTI1NiI7CiBzdGF0aWMgY29uc3QgY2hh
ciogY29uc3QgUDM4NCA9ICJQLTM4NCI7CiBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgUDUyMSA9
ICJQLTUyMSI7Cit9CiAKIFJlZjxDcnlwdG9BbGdvcml0aG0+IENyeXB0b0FsZ29yaXRobUVDRFNB
OjpjcmVhdGUoKQogewpAQCAtMTAyLDYgKzEwNCw3IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtRUNE
U0E6OmdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMmIHBhcmFtZXRl
CiAKIHZvaWQgQ3J5cHRvQWxnb3JpdGhtRUNEU0E6OmltcG9ydEtleShDcnlwdG9LZXlGb3JtYXQg
Zm9ybWF0LCBLZXlEYXRhJiYgZGF0YSwgY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyYg
cGFyYW1ldGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2Vz
LCBLZXlDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNh
bGxiYWNrKQogeworICAgIHVzaW5nIG5hbWVzcGFjZSBDcnlwdG9BbGdvcml0aG1FQ0RTQUludGVy
bmFsOwogICAgIGNvbnN0IGF1dG8mIGVjUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29y
aXRobUVjS2V5UGFyYW1zPihwYXJhbWV0ZXJzKTsKIAogICAgIFJlZlB0cjxDcnlwdG9LZXlFQz4g
cmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCAwYTFkOTAzNDE3ZDRjYTlkYzBlMzBiYmZm
YWM0MWQxODhmMzFiZGJjLi5iMTgwYmM0MzM5YTU5NmVhYjEzYjBkNGU5YjI2MTZiNGU3OTU5MjUw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtNjQxLDcgKzY0MSw3IEBAIHB1YmxpYzoKICAgICAK
ICAgICBXRUJDT1JFX0VYUE9SVCBEb2N1bWVudExvYWRlciogbG9hZGVyKCkgY29uc3Q7CiAKLSAg
ICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRpb25PcjxSZWZQdHI8V2luZG93UHJveHk+PiBvcGVuRm9y
QmluZGluZ3MoRE9NV2luZG93JiBhY3RpdmVXaW5kb3csIERPTVdpbmRvdyYgZmlyc3RXaW5kb3cs
IGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmlu
ZyYgZmVhdHVyZXMpOworICAgIFdFQkNPUkVfRVhQT1JUIEV4Y2VwdGlvbk9yPFJlZlB0cjxXaW5k
b3dQcm94eT4+IG9wZW5Gb3JCaW5kaW5ncyhET01XaW5kb3cmIGFjdGl2ZVdpbmRvdywgRE9NV2lu
ZG93JiBmaXJzdERPTVdpbmRvdywgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBmZWF0dXJlcyk7CiAgICAgV0VCQ09SRV9FWFBPUlQgRXhj
ZXB0aW9uT3I8RG9jdW1lbnQmPiBvcGVuRm9yQmluZGluZ3MoRG9jdW1lbnQqIHJlc3BvbnNpYmxl
RG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgU3RyaW5nJiByZXBsYWNlKTsKIAog
ICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgcmVuYW1lIHRoaXMgYXQgc29tZSBwb2ludCBhbmQgZ2l2
ZSBiYWNrIHRoZSBuYW1lICdvcGVuJyB0byB0aGUgSFRNTCBzcGVjaWZpZWQgb25lcy4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCmluZGV4IGU0MGY5
YTg4NmYxNTkwNGU2MmYwZjI2ODhhODY5YTY5ODg5YjRhODkuLmM3MzE5MjJhZjgyOTgzYjlkYWE2
YmM3ZmU1MjI3ODYzNzMxNjgzZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFRyZWVCdWlsZGVyLmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkhUTUxEb2N1
bWVudFBhcnNlci5oIgogI2luY2x1ZGUgIkhUTUxGb3JtQ29udHJvbEVsZW1lbnQuaCIKICNpbmNs
dWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCiAj
aW5jbHVkZSAiSFRNTE9wdEdyb3VwRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxPcHRpb25FbGVt
ZW50LmgiCiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5o
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJj
ZUxvYWRlci5oCmluZGV4IDcyYjI5NzU1ZjExZDk0MDk1ZmE3ZWRkNTMwOTY4ZjdjNTdiNTdiZWIu
LjZkOWEyZGE5YmUwMzIwMDdhODJlZGE2OGMxNmZkMmYyOGIxYzEyODMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2Fk
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNo
ZVJlc291cmNlTG9hZGVyLmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNp
bmNsdWRlICJBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2UuaCIKICNpbmNsdWRlICJDYWNoZWRSYXdS
ZXNvdXJjZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJhd1Jlc291cmNlQ2xpZW50LmgiCiAjaW5jbHVk
ZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0FsdGVybmF0
aXZlVGV4dENsaWVudC5oCmluZGV4IDkzNTU5Mzc4OGY5ODk5YzllMjI1MTA4OGI0ZTc2ZDAwNWQz
ZDJmOTguLjE0M2RhNmM0N2Y0YmNlZmMwYTQxYWE4NzY0NjdkMDQ0NzE1YmE3MGEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9BbHRlcm5hdGl2ZVRleHRDbGllbnQuaApAQCAtMjksMTEgKzI5LDYg
QEAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CiAKLSNpZiBQTEFURk9STShNQUMpCi0vLyBTb21lIHBsYXRmb3JtcyBwcm92aWRlIFVJIGZv
ciBzdWdnZXN0aW5nIGFsdGVybmF0aXZlIGRpY3RhdGlvbiB0ZXh0LgotI2RlZmluZSBVU0VfRElD
VEFUSU9OX0FMVEVSTkFUSVZFUyAxCi0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBl
bnVtIFJlYXNvbkZvckRpc21pc3NpbmdBbHRlcm5hdGl2ZVRleHQgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vUGFzdGVib2FyZC5oCmluZGV4IGQ1NDMzZGQ5MjBhZTBlZTU5MmJkNDVmZDU2MGNkZDNlMzhh
MzQ3MjEuLmUwOTgxNTY1MWJkMmQ2MDU3NGRhNDIzNmMzODBmYWQ0ZDYwMjE1YTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKQEAgLTMzOCw2ICszMzgsNyBAQCBleHRlcm4gTlNT
dHJpbmcgKlVJQ29sb3JQYm9hcmRUeXBlOwogI2lmIFBMQVRGT1JNKE1BQykKIGV4dGVybiBjb25z
dCBjaGFyKiBjb25zdCBXZWJBcmNoaXZlUGJvYXJkVHlwZTsKIGV4dGVybiBjb25zdCBjaGFyKiBj
b25zdCBXZWJVUkxOYW1lUGJvYXJkVHlwZTsKK2V4dGVybiBjb25zdCBjaGFyKiBjb25zdCBXZWJV
UkxzV2l0aFRpdGxlc1Bib2FyZFR5cGU7CiAjZW5kaWYKIAogI2lmICFQTEFURk9STShHVEspCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9XZWJBdWRpb0J1
ZmZlckxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvV2ViQXVk
aW9CdWZmZXJMaXN0LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjI2ZDUxZGQy
MjNlNDhmODc5YjI2MWQwMzE5Y2UwYjAzN2ZmYjk3NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2Nv
YS9XZWJBdWRpb0J1ZmZlckxpc3QuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTE2ICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiV2ViQXVkaW9CdWZm
ZXJMaXN0LmgiCi0KLSNpbmNsdWRlICJDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24uaCIKLSNpbmNs
dWRlIDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewot
dXNpbmcgbmFtZXNwYWNlIFBBTDsKLQotV2ViQXVkaW9CdWZmZXJMaXN0OjpXZWJBdWRpb0J1ZmZl
ckxpc3QoY29uc3QgQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiBmb3JtYXQpCi17Ci0gICAgLy8g
QXVkaW9CdWZmZXJMaXN0IGlzIGEgdmFyaWFibGUtbGVuZ3RoIHN0cnVjdCwgc28gY3JlYXRlIG9u
IHRoZSBoZWFwIHdpdGggYSBnZW5lcmljIG5ldygpIG9wZXJhdG9yCi0gICAgLy8gd2l0aCBhIGN1
c3RvbSBzaXplLCBhbmQgaW5pdGlhbGl6ZSB0aGUgc3RydWN0IG1hbnVhbGx5LgotICAgIHVpbnQz
Ml90IGJ1ZmZlckNvdW50ID0gZm9ybWF0Lm51bWJlck9mQ2hhbm5lbFN0cmVhbXMoKTsKLSAgICB1
aW50MzJfdCBjaGFubmVsQ291bnQgPSBmb3JtYXQubnVtYmVyT2ZJbnRlcmxlYXZlZENoYW5uZWxz
KCk7Ci0KLSAgICB1aW50NjRfdCBidWZmZXJMaXN0U2l6ZSA9IG9mZnNldG9mKEF1ZGlvQnVmZmVy
TGlzdCwgbUJ1ZmZlcnMpICsgKHNpemVvZihBdWRpb0J1ZmZlcikgKiBzdGQ6Om1heCgxVSwgYnVm
ZmVyQ291bnQpKTsKLSAgICBBU1NFUlQoYnVmZmVyTGlzdFNpemUgPD0gU0laRV9NQVgpOwotCi0g
ICAgbV9saXN0QnVmZmVyU2l6ZSA9IHN0YXRpY19jYXN0PHNpemVfdD4oYnVmZmVyTGlzdFNpemUp
OwotICAgIG1fY2Fub25pY2FsTGlzdCA9IHN0ZDo6dW5pcXVlX3B0cjxBdWRpb0J1ZmZlckxpc3Q+
KHN0YXRpY19jYXN0PEF1ZGlvQnVmZmVyTGlzdCo+KDo6b3BlcmF0b3IgbmV3IChtX2xpc3RCdWZm
ZXJTaXplKSkpOwotICAgIG1lbXNldChtX2Nhbm9uaWNhbExpc3QuZ2V0KCksIDAsIG1fbGlzdEJ1
ZmZlclNpemUpOwotICAgIG1fY2Fub25pY2FsTGlzdC0+bU51bWJlckJ1ZmZlcnMgPSBidWZmZXJD
b3VudDsKLSAgICBmb3IgKHVpbnQzMl90IGJ1ZmZlciA9IDA7IGJ1ZmZlciA8IGJ1ZmZlckNvdW50
OyArK2J1ZmZlcikKLSAgICAgICAgbV9jYW5vbmljYWxMaXN0LT5tQnVmZmVyc1tidWZmZXJdLm1O
dW1iZXJDaGFubmVscyA9IGNoYW5uZWxDb3VudDsKLQotICAgIHJlc2V0KCk7Ci19Ci0KLVdlYkF1
ZGlvQnVmZmVyTGlzdDo6V2ViQXVkaW9CdWZmZXJMaXN0KGNvbnN0IENBQXVkaW9TdHJlYW1EZXNj
cmlwdGlvbiYgZm9ybWF0LCB1aW50MzJfdCBzYW1wbGVDb3VudCkKLSAgICA6IFdlYkF1ZGlvQnVm
ZmVyTGlzdChmb3JtYXQpCi17Ci0gICAgaWYgKCFzYW1wbGVDb3VudCkKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgdWludDMyX3QgYnVmZmVyQ291bnQgPSBmb3JtYXQubnVtYmVyT2ZDaGFubmVsU3Ry
ZWFtcygpOwotICAgIHVpbnQzMl90IGNoYW5uZWxDb3VudCA9IGZvcm1hdC5udW1iZXJPZkludGVy
bGVhdmVkQ2hhbm5lbHMoKTsKLQotICAgIHNpemVfdCBieXRlc1BlckJ1ZmZlciA9IHNhbXBsZUNv
dW50ICogY2hhbm5lbENvdW50ICogZm9ybWF0LmJ5dGVzUGVyRnJhbWUoKTsKLSAgICBtX2ZsYXRC
dWZmZXIucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShidWZmZXJDb3VudCAqIGJ5dGVzUGVyQnVmZmVy
KTsKLSAgICBhdXRvIGRhdGEgPSBtX2ZsYXRCdWZmZXIuZGF0YSgpOwotCi0gICAgZm9yICh1aW50
MzJfdCBidWZmZXIgPSAwOyBidWZmZXIgPCBtX2Nhbm9uaWNhbExpc3QtPm1OdW1iZXJCdWZmZXJz
OyArK2J1ZmZlcikgewotICAgICAgICBtX2Nhbm9uaWNhbExpc3QtPm1CdWZmZXJzW2J1ZmZlcl0u
bURhdGEgPSBkYXRhOwotICAgICAgICBtX2Nhbm9uaWNhbExpc3QtPm1CdWZmZXJzW2J1ZmZlcl0u
bURhdGFCeXRlU2l6ZSA9IGJ5dGVzUGVyQnVmZmVyOwotICAgICAgICBkYXRhICs9IGJ5dGVzUGVy
QnVmZmVyOwotICAgIH0KLQotICAgIHJlc2V0KCk7Ci19Ci0KLVdlYkF1ZGlvQnVmZmVyTGlzdDo6
V2ViQXVkaW9CdWZmZXJMaXN0KGNvbnN0IENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgZm9ybWF0
LCBDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVCdWZmZXIpCi0gICAgOiBXZWJBdWRpb0J1ZmZlckxp
c3QoZm9ybWF0KQotewotCi0gICAgaWYgKCFzYW1wbGVCdWZmZXIpCi0gICAgICAgIHJldHVybjsK
LQotICAgIENNQmxvY2tCdWZmZXJSZWYgYnVmZmVyID0gbnVsbHB0cjsKLSAgICBpZiAobm9FcnIg
PT0gQ01TYW1wbGVCdWZmZXJHZXRBdWRpb0J1ZmZlckxpc3RXaXRoUmV0YWluZWRCbG9ja0J1ZmZl
cihzYW1wbGVCdWZmZXIsIG51bGxwdHIsIG1fY2Fub25pY2FsTGlzdC5nZXQoKSwgbV9saXN0QnVm
ZmVyU2l6ZSwga0NGQWxsb2NhdG9yU3lzdGVtRGVmYXVsdCwga0NGQWxsb2NhdG9yU3lzdGVtRGVm
YXVsdCwga0NNU2FtcGxlQnVmZmVyRmxhZ19BdWRpb0J1ZmZlckxpc3RfQXNzdXJlMTZCeXRlQWxp
Z25tZW50LCAmYnVmZmVyKSkKLSAgICAgICAgbV9ibG9ja0J1ZmZlciA9IGFkb3B0Q0YoYnVmZmVy
KTsKLQotICAgIHJlc2V0KCk7Ci19Ci0KLXZvaWQgV2ViQXVkaW9CdWZmZXJMaXN0OjpyZXNldCgp
Ci17Ci0gICAgaWYgKCFtX2xpc3QpCi0gICAgICAgIG1fbGlzdCA9IHN0ZDo6dW5pcXVlX3B0cjxB
dWRpb0J1ZmZlckxpc3Q+KHN0YXRpY19jYXN0PEF1ZGlvQnVmZmVyTGlzdCo+KDo6b3BlcmF0b3Ig
bmV3IChtX2xpc3RCdWZmZXJTaXplKSkpOwotICAgIG1lbWNweShtX2xpc3QuZ2V0KCksIG1fY2Fu
b25pY2FsTGlzdC5nZXQoKSwgbV9saXN0QnVmZmVyU2l6ZSk7Ci19Ci0KLVdURjo6SXRlcmF0b3JS
YW5nZTxBdWRpb0J1ZmZlcio+IFdlYkF1ZGlvQnVmZmVyTGlzdDo6YnVmZmVycygpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIFdURjo6bWFrZUl0ZXJhdG9yUmFuZ2UoJm1fbGlzdC0+bUJ1ZmZlcnNbMF0s
ICZtX2xpc3QtPm1CdWZmZXJzW21fbGlzdC0+bU51bWJlckJ1ZmZlcnNdKTsKLX0KLQotdWludDMy
X3QgV2ViQXVkaW9CdWZmZXJMaXN0OjpidWZmZXJDb3VudCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IG1fbGlzdC0+bU51bWJlckJ1ZmZlcnM7Ci19Ci0KLUF1ZGlvQnVmZmVyKiBXZWJBdWRpb0J1ZmZl
ckxpc3Q6OmJ1ZmZlcih1aW50MzJfdCBpbmRleCkgY29uc3QKLXsKLSAgICBBU1NFUlQoaW5kZXgg
PCBtX2xpc3QtPm1OdW1iZXJCdWZmZXJzKTsKLSAgICBpZiAoaW5kZXggPCBtX2xpc3QtPm1OdW1i
ZXJCdWZmZXJzKQotICAgICAgICByZXR1cm4gJm1fbGlzdC0+bUJ1ZmZlcnNbaW5kZXhdOwotICAg
IHJldHVybiBudWxscHRyOwotfQotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9jb2NvYS9XZWJBdWRpb0J1ZmZlckxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL2NvY29hL1dlYkF1ZGlvQnVmZmVyTGlzdC5oCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA4NmI2NWEyMjUzYWYxYWViMmExY2E5Y2FhMzY2Nzg2Y2Q3ZDY1NTIwLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL1dlYkF1ZGlvQnVmZmVyTGlzdC5oCisrKyAvZGV2L251
bGwKQEAgLTEsNzEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVk
ZSAiUGxhdGZvcm1BdWRpb0RhdGEuaCIKLSNpbmNsdWRlIDx3dGYvSXRlcmF0b3JSYW5nZS5oPgot
I2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0KLXN0
cnVjdCBBdWRpb0J1ZmZlcjsKLXN0cnVjdCBBdWRpb0J1ZmZlckxpc3Q7Ci10eXBlZGVmIHN0cnVj
dCBPcGFxdWVDTUJsb2NrQnVmZmVyICpDTUJsb2NrQnVmZmVyUmVmOwotdHlwZWRlZiBzdHJ1Y3Qg
b3BhcXVlQ01TYW1wbGVCdWZmZXIgKkNNU2FtcGxlQnVmZmVyUmVmOwotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci0KLWNsYXNzIENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbjsKLQotY2xhc3MgV2ViQXVk
aW9CdWZmZXJMaXN0IDogcHVibGljIFBsYXRmb3JtQXVkaW9EYXRhIHsKLXB1YmxpYzoKLSAgICBX
ZWJBdWRpb0J1ZmZlckxpc3QoY29uc3QgQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uJik7Ci0gICAg
V0VCQ09SRV9FWFBPUlQgV2ViQXVkaW9CdWZmZXJMaXN0KGNvbnN0IENBQXVkaW9TdHJlYW1EZXNj
cmlwdGlvbiYsIHVpbnQzMl90IHNhbXBsZUNvdW50KTsKLSAgICBXZWJBdWRpb0J1ZmZlckxpc3Qo
Y29uc3QgQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiwgQ01TYW1wbGVCdWZmZXJSZWYpOwotCi0g
ICAgdm9pZCByZXNldCgpOwotCi0gICAgQXVkaW9CdWZmZXJMaXN0KiBsaXN0KCkgY29uc3QgeyBy
ZXR1cm4gbV9saXN0LmdldCgpOyB9Ci0gICAgb3BlcmF0b3IgQXVkaW9CdWZmZXJMaXN0JigpIGNv
bnN0IHsgcmV0dXJuICptX2xpc3Q7IH0KLQotICAgIHVpbnQzMl90IGJ1ZmZlckNvdW50KCkgY29u
c3Q7Ci0gICAgQXVkaW9CdWZmZXIqIGJ1ZmZlcih1aW50MzJfdCBpbmRleCkgY29uc3Q7Ci0gICAg
V1RGOjpJdGVyYXRvclJhbmdlPEF1ZGlvQnVmZmVyKj4gYnVmZmVycygpIGNvbnN0OwotCi1wcml2
YXRlOgotICAgIEtpbmQga2luZCgpIGNvbnN0IHsgcmV0dXJuIEtpbmQ6OldlYkF1ZGlvQnVmZmVy
TGlzdDsgfQotCi0gICAgc2l6ZV90IG1fbGlzdEJ1ZmZlclNpemUgeyAwIH07Ci0gICAgc3RkOjp1
bmlxdWVfcHRyPEF1ZGlvQnVmZmVyTGlzdD4gbV9jYW5vbmljYWxMaXN0OwotICAgIHN0ZDo6dW5p
cXVlX3B0cjxBdWRpb0J1ZmZlckxpc3Q+IG1fbGlzdDsKLSAgICBSZXRhaW5QdHI8Q01CbG9ja0J1
ZmZlclJlZj4gbV9ibG9ja0J1ZmZlcjsKLSAgICBWZWN0b3I8dWludDhfdD4gbV9mbGF0QnVmZmVy
OwotfTsKLQotfQotCi1TUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OldlYkF1
ZGlvQnVmZmVyTGlzdCkKLXN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpQbGF0Zm9y
bUF1ZGlvRGF0YSYgZGF0YSkgeyByZXR1cm4gZGF0YS5raW5kKCkgPT0gV2ViQ29yZTo6UGxhdGZv
cm1BdWRpb0RhdGE6OktpbmQ6OldlYkF1ZGlvQnVmZmVyTGlzdDsgfQotU1BFQ0lBTElaRV9UWVBF
X1RSQUlUU19FTkQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKaW5kZXggOTY4YmIyMjg2YTFmN2U1ODQ2
NGVmODhkNzllNjFlZjQyNDkwMTU1Zi4uM2UyYzgyYjhiMTJlZGEwOWRiNDNmNGMxMzAxNGM1YmJh
YzBiNzAzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlz
cGxheVJlZnJlc2hNb25pdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNs
dWRlICJEaXNwbGF5UmVmcmVzaE1vbml0b3JDbGllbnQuaCIKICNpbmNsdWRlICJEaXNwbGF5UmVm
cmVzaE1vbml0b3JNYW5hZ2VyLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgogCiAjaWYgUExBVEZP
Uk0oSU9TKQogI2luY2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvcklPUy5oIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseVNwZWNpZmljYXRp
b25OdWxsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlT
cGVjaWZpY2F0aW9uTnVsbC5jcHAKaW5kZXggMjE3NjkxZjcyMzk3NGU4MDA1NzliMjhjYzA1NmE3
YjljMDg1YzY0ZC4uMTVjMDM4NzY5ODI2MGY0MDVlMjJlNWJmNTI3ODAwMzA4YzdmZTNiZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseVNwZWNp
ZmljYXRpb25OdWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVk
ZSAiRm9udEZhbWlseVNwZWNpZmljYXRpb25OdWxsLmgiCiAKICNpbmNsdWRlICJGb250U2VsZWN0
b3IuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvV2ViR0xMYXllci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL1dlYkdMTGF5ZXIubW0KaW5kZXggM2VkN2U0MWU3YzY4ODQ2ZjNmYmMxNzJjZTZiYTk4
OWZmODdmNTdlYi4uYjg3Nzc0NmJhNTFhZWRjZjNiMDY2MDU4NGJhOTNkZDRjNzk3MTdjOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xMYXll
ci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHTExh
eWVyLm1tCkBAIC00MiwxMyArNDIsMTEgQEAKICNpbXBvcnQgPE9wZW5HTC9nbC5oPgogI2VuZGlm
CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBAaW1wbGVtZW50YXRpb24gV2ViR0xMYXll
cgogCiBAc3ludGhlc2l6ZSBjb250ZXh0PV9jb250ZXh0OwogCi0tKGlkKWluaXRXaXRoR3JhcGhp
Y3NDb250ZXh0M0Q6KEdyYXBoaWNzQ29udGV4dDNEKiljb250ZXh0CistKGlkKWluaXRXaXRoR3Jh
cGhpY3NDb250ZXh0M0Q6KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEKiljb250ZXh0CiB7CiAg
ICAgX2NvbnRleHQgPSBjb250ZXh0OwogICAgIHNlbGYgPSBbc3VwZXIgaW5pdF07CkBAIC04Niw3
ICs4NCw3IEBAIHN0YXRpYyB2b2lkIGZyZWVEYXRhKHZvaWQgKiwgY29uc3Qgdm9pZCAqZGF0YSwg
c2l6ZV90IC8qIHNpemUgKi8pCiB9CiAjZW5kaWYKIAotLShDR0ltYWdlUmVmKWNvcHlJbWFnZVNu
YXBzaG90V2l0aENvbG9yU3BhY2U6KENHQ29sb3JTcGFjZVJlZiljb2xvclNwYWNlCistIChDR0lt
YWdlUmVmKWNvcHlJbWFnZVNuYXBzaG90V2l0aENvbG9yU3BhY2U6KENHQ29sb3JTcGFjZVJlZilj
b2xvclNwYWNlCiB7CiAgICAgaWYgKCFfY29udGV4dCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7
CkBAIC05Niw3ICs5NCw3IEBAIC0oQ0dJbWFnZVJlZiljb3B5SW1hZ2VTbmFwc2hvdFdpdGhDb2xv
clNwYWNlOihDR0NvbG9yU3BhY2VSZWYpY29sb3JTcGFjZQogCiAgICAgUmV0YWluUHRyPENHQ29s
b3JTcGFjZVJlZj4gaW1hZ2VDb2xvclNwYWNlID0gY29sb3JTcGFjZTsKICAgICBpZiAoIWltYWdl
Q29sb3JTcGFjZSkKLSAgICAgICAgaW1hZ2VDb2xvclNwYWNlID0gc1JHQkNvbG9yU3BhY2VSZWYo
KTsKKyAgICAgICAgaW1hZ2VDb2xvclNwYWNlID0gV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYo
KTsKIAogICAgIENHUmVjdCBsYXllckJvdW5kcyA9IENHUmVjdEludGVncmFsKFtzZWxmIGJvdW5k
c10pOwogCkBAIC0xNDEsMTMgKzEzOSwxMyBAQCAtICh2b2lkKWRpc3BsYXkKICNlbmRpZgogCiAg
ICAgX2NvbnRleHQtPm1hcmtMYXllckNvbXBvc2l0ZWQoKTsKLSAgICBQbGF0Zm9ybUNBTGF5ZXIq
IGxheWVyID0gUGxhdGZvcm1DQUxheWVyOjpwbGF0Zm9ybUNBTGF5ZXIoKF9fYnJpZGdlIHZvaWQq
KXNlbGYpOworICAgIFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXllciogbGF5ZXIgPSBXZWJDb3JlOjpQ
bGF0Zm9ybUNBTGF5ZXI6OnBsYXRmb3JtQ0FMYXllcigoX19icmlkZ2Ugdm9pZCopc2VsZik7CiAg
ICAgaWYgKGxheWVyICYmIGxheWVyLT5vd25lcigpKQogICAgICAgICBsYXllci0+b3duZXIoKS0+
cGxhdGZvcm1DQUxheWVyTGF5ZXJEaWREaXNwbGF5KGxheWVyKTsKIH0KIAogI2lmIFVTRShPUEVO
R0wpCi0tICh2b2lkKWFsbG9jYXRlSU9TdXJmYWNlQmFja2luZ1N0b3JlV2l0aFNpemU6KEludFNp
emUpc2l6ZSB1c2luZ0FscGhhOihCT09MKXVzaW5nQWxwaGEKKy0gKHZvaWQpYWxsb2NhdGVJT1N1
cmZhY2VCYWNraW5nU3RvcmVXaXRoU2l6ZTooV2ViQ29yZTo6SW50U2l6ZSlzaXplIHVzaW5nQWxw
aGE6KEJPT0wpdXNpbmdBbHBoYQogewogICAgIF9idWZmZXJTaXplID0gc2l6ZTsKICAgICBfdXNp
bmdBbHBoYSA9IHVzaW5nQWxwaGE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLm1tCmluZGV4IDVjMzU1N2Y4YmQ2NmE2OGM5MjNi
MjNhYTY0N2JiNzE0ODQwOWU5YTEuLjI1ZWZiOGI3NDc2ODAyNDU1OGRiY2RmMzBmNzQzMTg3MTQ2
OTU1YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L1dlYkdQVUxheWVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL1dlYkdQVUxheWVyLm1tCkBAIC0zNCwxMyArMzQsMTEgQEAKICNpbXBvcnQgPHd0Zi9GYXN0
TWFsbG9jLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwotCiBAaW1wbGVtZW50YXRpb24gV2ViR1BVTGF5ZXIKIAogQHN5bnRoZXNpemUgY29u
dGV4dD1fY29udGV4dDsKIAotLSAoaWQpaW5pdFdpdGhHUFVEZXZpY2U6KEdQVURldmljZSopY29u
dGV4dAorLSAoaWQpaW5pdFdpdGhHUFVEZXZpY2U6KFdlYkNvcmU6OkdQVURldmljZSopY29udGV4
dAogewogICAgIHNlbGYgPSBbc3VwZXIgaW5pdF07CiAgICAgX2NvbnRleHQgPSBjb250ZXh0OwpA
QCAtNTAsNyArNDgsNyBAQCAtIChpZClpbml0V2l0aEdQVURldmljZTooR1BVRGV2aWNlKiljb250
ZXh0CiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgc2VsZi5jb250ZW50c1NjYWxlID0gX2Rldmlj
ZVBpeGVsUmF0aW87Ci0gICAgc2VsZi5jb2xvcnNwYWNlID0gc1JHQkNvbG9yU3BhY2VSZWYoKTsK
KyAgICBzZWxmLmNvbG9yc3BhY2UgPSBXZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigpOwogI2Vu
ZGlmCiAgICAgcmV0dXJuIHNlbGY7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tCmluZGV4
IDgyMGFmOGJjMTZkYjNiNDg2NWU3OWI3YjgyNGRiMmM3YjRkZjNlY2MuLjMwM2IyNWRhM2Q0YTY0
ZWQxYjAwMzBiNzJiOWZkYmM2Zjk2NWMzM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1t
CkBAIC0zMSw2ICszMSw3IEBACiAjaW1wb3J0ICJHUFVEZXZpY2UuaCIKICNpbXBvcnQgIkxvZ2dp
bmcuaCIKICNpbXBvcnQgPE1ldGFsL01ldGFsLmg+CisjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9QYXN0ZWJvYXJkTWFjLm1tCmluZGV4IGNiNTA0Y2Y1NDNlYjdlODBkNzY2NWNkMWU1N2Uz
MDg5YWZmYjFhNzAuLmZkNmU5Mjk4Nzc0ZmFmNGZlODczNWJmMjc1NjVhZGM5NTMyYmY2MzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCkBAIC01Miwx
MCArNTIsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjb25zdCBjaGFyKiBjb25zdCBXZWJB
cmNoaXZlUGJvYXJkVHlwZSA9ICJBcHBsZSBXZWIgQXJjaGl2ZSBwYXN0ZWJvYXJkIHR5cGUiOwog
Y29uc3QgY2hhciogY29uc3QgV2ViVVJMTmFtZVBib2FyZFR5cGUgPSAicHVibGljLnVybC1uYW1l
IjsKK2NvbnN0IGNoYXIqIGNvbnN0IFdlYlVSTHNXaXRoVGl0bGVzUGJvYXJkVHlwZSA9ICJXZWJV
UkxzV2l0aFRpdGxlc1Bib2FyZFR5cGUiOwogCiBjb25zdCBjaGFyIFdlYlNtYXJ0UGFzdGVQYm9h
cmRUeXBlW10gPSAiTmVYVCBzbWFydCBwYXN0ZSBwYXN0ZWJvYXJkIHR5cGUiOwogY29uc3QgY2hh
ciBXZWJVUkxQYm9hcmRUeXBlW10gPSAicHVibGljLnVybCI7Ci1jb25zdCBjaGFyIFdlYlVSTHNX
aXRoVGl0bGVzUGJvYXJkVHlwZVtdID0gIldlYlVSTHNXaXRoVGl0bGVzUGJvYXJkVHlwZSI7CiAK
IHN0YXRpYyBjb25zdCBWZWN0b3I8U3RyaW5nPiB3cml0YWJsZVR5cGVzRm9yVVJMKCkKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5
Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwCmluZGV4IDVjMmE5ZDI0MTk4
YTEzZTQ4YzRmNzNlOWRlNjFkZDM3YWRlOTI1NTEuLmY0OTJlNjE0MmYwMjMxYjk5N2U5NmJhNTky
Nzk1ODg1NjgwOTMzYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29h
LmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAorI2lu
Y2x1ZGUgIkNvcmVWaWRlb1NvZnRMaW5rLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1
ZGUgPHd0Zi9BbGdvcml0aG1zLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVz
dEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVl
c3RCYXNlLmNwcAppbmRleCAyNTQwOTY1NmMzZDYzMjAzNjE2NWZhYjFkZDc0OWU4OGZjYTY4NDgy
Li5mZjU4MzYxNzRlYWI5NTk1MjhhMjA3YmZiYWFiNjAwMzlkOWI1MDMzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5j
cHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJIVFRQSGVhZGVyTmFtZXMuaCIKICNpbmNs
dWRlICJQdWJsaWNTdWZmaXguaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKKyNpbmNs
dWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlQb2xpY3kuaCIKICNp
bmNsdWRlIDx3dGYvUG9pbnRlckNvbXBhcmlzb24uaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2Nr
Rmxvdy5jcHAKaW5kZXggM2JjODJjNmUxYWJkMmZhYzQzYjA5OWM4ZTZlM2NjZjM2NmRkODUzYi4u
MmMyYjUwOGZhYzVjNmZjODQ2Mjg1YzlmZmE4OTVhN2I0MDIyYjhlYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1
aWxkZXJCbG9ja0Zsb3cuY3BwCkBAIC0yNyw2ICsyNyw4IEBACiAjaW5jbHVkZSAiUmVuZGVyVHJl
ZUJ1aWxkZXJCbG9ja0Zsb3cuaCIKIAogI2luY2x1ZGUgIlJlbmRlck11bHRpQ29sdW1uRmxvdy5o
IgorI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyQmxvY2suaCIKKyNpbmNsdWRlICJSZW5kZXJU
cmVlQnVpbGRlck11bHRpQ29sdW1uLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVy
SW5saW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVl
QnVpbGRlcklubGluZS5jcHAKaW5kZXggN2NkMDcxNWRmNTI0YTc2ZmQyMDZhMjM0MjhkOWRhYzdk
N2Q4NTNmOC4uZGM5NTNjY2RjZWU4MzAxZGZkMDU5N2E2MWQwNTJlM2M1MGI5ZjYxYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVy
SW5saW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVy
VHJlZUJ1aWxkZXJJbmxpbmUuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiUmVuZGVy
RnVsbFNjcmVlbi5oIgogI2luY2x1ZGUgIlJlbmRlcklubGluZS5oIgogI2luY2x1ZGUgIlJlbmRl
clRhYmxlLmgiCisjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJUYWJsZS5oIgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFy
Y2hpdmUubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlLm1tCmluZGV4IGIx
NzQyZmRmZGQzODY5ZWFkZDNkN2M1YWVlNzA1ZTY2MWY5N2VlZGMuLmI4Yzk3MmY3ZWMxOGViN2Q0
YzlhNzFkZTJiNGUxZTJjNjVkZTg3NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0FQSVdlYkFyY2hpdmUubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2
ZS5tbQpAQCAtMzQsOSArMzQsOCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTGVnYWN5V2ViQXJjaGl2
ZS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7Ci0KIG5hbWVzcGFjZSBBUEkgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIFJlZjxX
ZWJBcmNoaXZlPiBXZWJBcmNoaXZlOjpjcmVhdGUoV2ViQXJjaGl2ZVJlc291cmNlKiBtYWluUmVz
b3VyY2UsIFJlZlB0cjxBUEk6OkFycmF5PiYmIHN1YnJlc291cmNlcywgUmVmUHRyPEFQSTo6QXJy
YXk+JiYgc3ViZnJhbWVBcmNoaXZlcykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0FQSVdlYkFyY2hpdmVSZXNvdXJjZS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdl
YkFyY2hpdmVSZXNvdXJjZS5tbQppbmRleCBjYWU1Yjg1ZGYxNzdkZGRlNjhkODUyZTVlNTA2ZDhk
OTJiZTJlYTk0Li5kYzBmOTBmMGYzODUxYWJmMTAwNDg0YmE1NzNhZTRhZjhlODBiMjMyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW0KKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tCkBAIC0zMyw5
ICszMyw4IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9VUkwuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWlu
UHRyLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBuYW1lc3BhY2UgQVBJIHsKK3Vz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBSZWY8V2ViQXJjaGl2ZVJlc291cmNlPiBXZWJBcmNo
aXZlUmVzb3VyY2U6OmNyZWF0ZShBUEk6OkRhdGEqIGRhdGEsIGNvbnN0IFN0cmluZyYgVVJMLCBj
b25zdCBTdHJpbmcmIE1JTUVUeXBlLCBjb25zdCBTdHJpbmcmIHRleHRFbmNvZGluZykKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNj
YXBlUGx1Z2luTW9kdWxlTWFjLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRz
Y2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMubW0KaW5kZXggNjhkN2M2YWRmMzYyNzUx
MzEyOTYzNTYyODZmMTFlODQ5YzE0YzJjMC4uYzBjY2FjNTk4NTNjZmFmZmQ5ZmYxZDFlM2Q2OGI2
N2Q2NDU3ZjdjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRz
Y2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMubW0KQEAg
LTM0LDkgKzM0LDggQEAKICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYv
c3BpL2NmL0NGQnVuZGxlU1BJLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBuYW1l
c3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBzdGF0aWMgYm9vbCBn
ZXRQbHVnaW5BcmNoaXRlY3R1cmUoQ0ZCdW5kbGVSZWYgYnVuZGxlLCBQbHVnaW5Nb2R1bGVJbmZv
JiBwbHVnaW4pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05l
dHNjYXBlL21hYy9QbHVnaW5JbmZvcm1hdGlvbk1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1BsdWdpbnMvTmV0c2NhcGUvbWFjL1BsdWdpbkluZm9ybWF0aW9uTWFjLm1tCmluZGV4IDVlYzg0
MjQ5NTljYmMxOTI4ODZmYTc1YWJmMDNmM2Q4ODViY2IxZDkuLjMyNTg0ZDQxNmJlMGZmMjVlOWU5
MWRkZjQyODcwZTMzOTRmNDkzNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Bs
dWdpbnMvTmV0c2NhcGUvbWFjL1BsdWdpbkluZm9ybWF0aW9uTWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL1BsdWdpbkluZm9ybWF0aW9uTWFjLm1t
CkBAIC0zNCw5ICszNCw4IEBACiAjaW1wb3J0ICJTdHJpbmdVdGlsaXRpZXMuaCIKICNpbXBvcnQg
PFdlYkNvcmUvUGx1Z2luQmxhY2tsaXN0Lmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwot
CiBuYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiB2b2lkIGdl
dFBsYXRmb3JtUGx1Z2luTW9kdWxlSW5mb3JtYXRpb24oY29uc3QgUGx1Z2luTW9kdWxlSW5mbyYg
cGx1Z2luLCBBUEk6OkRpY3Rpb25hcnk6Ok1hcFR5cGUmIG1hcCkKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29h
LnR4dAppbmRleCBkOGEzYzkwZGZmZTMyMjMyMmQ3NjNlZTIxZTdjYmE0NTBmZTg1ZmNmLi40Yjhk
NDgwNmI0NGYyMjA0NjU4NTc3ZWI3YTk2NzhjYjhlMzQ3OWJmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2Eu
dHh0CkBAIC0yOTgsOSArMjk4LDkgQEAgVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tIEBuby11
bmlmeQogCiBVSVByb2Nlc3MvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJv
eHlDb2NvYS5tbQogCi1VSVByb2Nlc3MvQXBwbGVQYXkvaW9zL1dlYlBheW1lbnRDb29yZGluYXRv
clByb3h5SU9TLm1tCitVSVByb2Nlc3MvQXBwbGVQYXkvaW9zL1dlYlBheW1lbnRDb29yZGluYXRv
clByb3h5SU9TLm1tIEBuby11bmlmeQogCi1VSVByb2Nlc3MvQXBwbGVQYXkvbWFjL1dlYlBheW1l
bnRDb29yZGluYXRvclByb3h5TWFjLm1tCitVSVByb2Nlc3MvQXBwbGVQYXkvbWFjL1dlYlBheW1l
bnRDb29yZGluYXRvclByb3h5TWFjLm1tIEBuby11bmlmeQogCiBVSVByb2Nlc3MvQXV0aGVudGlj
YXRpb24vY29jb2EvQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eUNvY29hLm1tCiBVSVByb2Nl
c3MvQXV0aGVudGljYXRpb24vY29jb2EvU2VjS2V5UHJveHlTdG9yZS5tbQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQu
aAppbmRleCBiZmM1ZWUzMzgyMjBkOTE1NmZjY2YwMGMxZTc2ZDBiYmVlOTA0MTkwLi4zNzljODg1
N2JlOTRiNjE5NTU1ZWRmZmVjNGMzYTlhNmUxNzc5NDg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaApAQCAt
NTEsNyArNTEsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIH5BdXRvbWF0aW9uU2Vzc2lvbkNs
aWVudCgpIHsgfQogCi0gICAgdmlydHVhbCBTdHJpbmcgc2Vzc2lvbklkZW50aWZpZXIoKSBjb25z
dCB7IHJldHVybiBTdHJpbmcoKTsgfQorICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgc2Vzc2lvbklk
ZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBXVEY6OlN0cmluZygpOyB9CiAgICAgdmlydHVhbCB2
b2lkIGRpZERpc2Nvbm5lY3RGcm9tUmVtb3RlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24m
KSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdE5ld1BhZ2VXaXRoT3B0aW9ucyhXZWJLaXQ6
OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgQXV0b21hdGlvblNlc3Npb25Ccm93c2luZ0NvbnRleHRP
cHRpb25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYktpdDo6V2ViUGFnZVByb3h5Kik+JiYg
Y29tcGxldGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIobnVsbHB0cik7IH0KICAgICB2
aXJ0dWFsIHZvaWQgcmVxdWVzdE1heGltaXplV2luZG93T2ZQYWdlKFdlYktpdDo6V2ViQXV0b21h
dGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgeyBjb21wbGV0aW9uSGFuZGxlcigpOyB9CkBAIC02
MSw4ICs2MSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNTaG93aW5nSmF2YVNjcmlw
dERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQ
YWdlUHJveHkmKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNtaXNzQ3Vy
cmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYs
IFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGFjY2VwdEN1cnJl
bnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBX
ZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgfQotICAgIHZpcnR1YWwgU3RyaW5nIG1lc3NhZ2VPZkN1
cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24m
LCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgcmV0dXJuIFN0cmluZygpOyB9Ci0gICAgdmlydHVh
bCB2b2lkIHNldFVzZXJJbnB1dEZvckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKFdlYktp
dDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIGNvbnN0IFN0
cmluZyYpIHsgfQorICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgbWVzc2FnZU9mQ3VycmVudEphdmFT
Y3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6
V2ViUGFnZVByb3h5JikgeyByZXR1cm4gV1RGOjpTdHJpbmcoKTsgfQorICAgIHZpcnR1YWwgdm9p
ZCBzZXRVc2VySW5wdXRGb3JDdXJyZW50SmF2YVNjcmlwdFByb21wdE9uUGFnZShXZWJLaXQ6Oldl
YkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBjb25zdCBXVEY6OlN0
cmluZyYpIHsgfQogICAgIHZpcnR1YWwgc3RkOjpvcHRpb25hbDxKYXZhU2NyaXB0RGlhbG9nVHlw
ZT4gdHlwZU9mQ3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0
aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyByZXR1cm4gc3RkOjpudWxsb3B0
OyB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9MZWdh
Y3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW0KaW5kZXggMTFiYTM3
MjY1NDgzZmZlN2ZmMjQ2NTA5NDBkOGYzM2E1MmMwYzA0YS4uMTlhNTliNDJjYWI3YjU0N2VkOTQ0
NjBlNzJmYzAzOTZjZmU3OTI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5t
bQpAQCAtMzIsMjMgKzMyLDIwIEBACiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5o
PgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAKLXVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKLQogQGludGVyZmFjZSBXS0N1c3Rv
bVByb3RvY29sTG9hZGVyIDogTlNPYmplY3QgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlPiB7CiBA
cHJpdmF0ZQotICAgIExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiBfY3VzdG9tUHJv
dG9jb2xNYW5hZ2VyUHJveHk7CisgICAgV2ViS2l0OjpMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFn
ZXJQcm94eSogX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OwogICAgIHVpbnQ2NF90IF9jdXN0
b21Qcm90b2NvbElEOwogICAgIE5TVVJMQ2FjaGVTdG9yYWdlUG9saWN5IF9zdG9yYWdlUG9saWN5
OwogICAgIE5TVVJMQ29ubmVjdGlvbiAqX3VybENvbm5lY3Rpb247CiB9Ci0tIChpZClpbml0V2l0
aExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OihMZWdhY3lDdXN0b21Qcm90b2NvbE1h
bmFnZXJQcm94eSopY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJvdG9jb2xJRDoo
dWludDY0X3QpY3VzdG9tUHJvdG9jb2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0
OworLSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTooV2ViS2l0
OjpMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSopY3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
UHJveHkgY3VzdG9tUHJvdG9jb2xJRDoodWludDY0X3QpY3VzdG9tUHJvdG9jb2xJRCByZXF1ZXN0
OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0OwogLSAodm9pZCljdXN0b21Qcm90b2NvbE1hbmFnZXJQ
cm94eURlc3Ryb3llZDsKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdLQ3VzdG9tUHJvdG9jb2xM
b2FkZXIKIAotLSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eToo
TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqKWN1c3RvbVByb3RvY29sTWFuYWdlclBy
b3h5IGN1c3RvbVByb3RvY29sSUQ6KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVzdDoo
TlNVUkxSZXF1ZXN0ICopcmVxdWVzdAorLSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2Nv
bE1hbmFnZXJQcm94eTooV2ViS2l0OjpMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSop
Y3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJvdG9jb2xJRDoodWludDY0X3QpY3Vz
dG9tUHJvdG9jb2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0CiB7CiAgICAgc2Vs
ZiA9IFtzdXBlciBpbml0XTsKICAgICBpZiAoIXNlbGYpCkBAIC04NSw3ICs4Miw3IEBAIC0gKHZv
aWQpY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHlEZXN0cm95ZWQKIAogLSAodm9pZCljb25uZWN0
aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIGRpZEZhaWxXaXRoRXJyb3I6KE5TRXJy
b3IgKillcnJvcgogewotICAgIFJlc291cmNlRXJyb3IgY29yZUVycm9yKGVycm9yKTsKKyAgICBX
ZWJDb3JlOjpSZXNvdXJjZUVycm9yIGNvcmVFcnJvcihlcnJvcik7CiAgICAgX2N1c3RvbVByb3Rv
Y29sTWFuYWdlclByb3h5LT5kaWRGYWlsV2l0aEVycm9yKF9jdXN0b21Qcm90b2NvbElELCBjb3Jl
RXJyb3IpOwogICAgIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS0+c3RvcExvYWRpbmcoX2N1
c3RvbVByb3RvY29sSUQpOwogfQpAQCAtOTksNyArOTYsNyBAQCAtIChOU0NhY2hlZFVSTFJlc3Bv
bnNlICopY29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiB3aWxsQ2FjaGVS
ZXNwbwogCiAtICh2b2lkKWNvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24g
ZGlkUmVjZWl2ZVJlc3BvbnNlOihOU1VSTFJlc3BvbnNlICopcmVzcG9uc2UKIHsKLSAgICBSZXNv
dXJjZVJlc3BvbnNlIGNvcmVSZXNwb25zZShyZXNwb25zZSk7CisgICAgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXNwb25zZSBjb3JlUmVzcG9uc2UocmVzcG9uc2UpOwogICAgIF9jdXN0b21Qcm90b2NvbE1h
bmFnZXJQcm94eS0+ZGlkUmVjZWl2ZVJlc3BvbnNlKF9jdXN0b21Qcm90b2NvbElELCBjb3JlUmVz
cG9uc2UsIF9zdG9yYWdlUG9saWN5KTsKIH0KIApAQCAtMTI3LDYgKzEyNCw3IEBAIC0gKHZvaWQp
Y29ubmVjdGlvbkRpZEZpbmlzaExvYWRpbmc6KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24K
IEBlbmQKIAogbmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAog
dm9pZCBMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQ6OnN0YXJ0TG9hZGluZyhMZWdh
Y3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSYgbWFuYWdlciwgdWludDY0X3QgY3VzdG9tUHJv
dG9jb2xJRCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBjb3JlUmVxdWVzdCkKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNw
cAppbmRleCBjMmI5MWE2Mzk3M2U2MzEyMGFhZTUyOGY4OTc1Mzg1ZjdiNmRiZjYyLi5lZGVkOWM3
ZDJhNGU1OGUzZDA1OGQ4MzI2ODMxMDk4MTgyYWY0NDc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCkBAIC00OCw3
ICs0OCw3IEBAIHN0YXRpYyBjb25zdCBTZWNvbmRzIHNuYXBzaG90dGluZ01pbmltdW1MaWZldGlt
ZSB7IDMwX3MgfTsKIHN0YXRpYyBjb25zdCBTZWNvbmRzIHNodXRkb3duVGltZW91dCB7IDFfbWlu
IH07CiBzdGF0aWMgY29uc3QgU2Vjb25kcyBzbmFwc2hvdHRpbmdTaHV0ZG93blRpbWVvdXQgeyAx
NV9zIH07CiAKLXN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUNhbGxiYWNrSUQoKQorc3RhdGljIHVp
bnQ2NF90IGdlbmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQoKQogewogICAgIHN0YXRpYyB1
aW50NjRfdCBjYWxsYmFja0lEOwogCkBAIC0xMTQsNyArMTE0LDcgQEAgdm9pZCBQbHVnaW5Qcm9j
ZXNzUHJveHk6OmdldFBsdWdpblByb2Nlc3NDb25uZWN0aW9uKE1lc3NhZ2VzOjpXZWJQcm9jZXNz
UHJveHk6OkcKIAogdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEoQ29t
cGxldGlvbkhhbmRsZXI8dm9pZCAoVmVjdG9yPFN0cmluZz4pPiYmIGNvbXBsZXRpb25IYW5kbGVy
KQogewotICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAg
ICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCgp
OwogICAgIG1fcGVuZGluZ0ZldGNoV2Vic2l0ZURhdGFDYWxsYmFja3Muc2V0KGNhbGxiYWNrSUQs
IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIGlmIChzdGF0ZSgpID09IFN0YXRl
OjpMYXVuY2hpbmcpIHsKQEAgLTEyNyw3ICsxMjcsNyBAQCB2b2lkIFBsdWdpblByb2Nlc3NQcm94
eTo6ZmV0Y2hXZWJzaXRlRGF0YShDb21wbGV0aW9uSGFuZGxlcjx2b2lkIChWZWN0b3I8U3RyaW5n
PgogCiB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEoV2FsbFRpbWUg
bW9kaWZpZWRTaW5jZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKIHsKLSAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7
CisgICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNr
SUQoKTsKICAgICBtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUNhbGxiYWNrcy5zZXQoY2FsbGJh
Y2tJRCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAgaWYgKHN0YXRlKCkgPT0g
U3RhdGU6OkxhdW5jaGluZykgewpAQCAtMTQwLDcgKzE0MCw3IEBAIHZvaWQgUGx1Z2luUHJvY2Vz
c1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YShXYWxsVGltZSBtb2RpZmllZFNpbmNlLCBDb21wbGV0
aW9uSGFuCiAKIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZvckhv
c3ROYW1lcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgaG9zdE5hbWVzLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkICgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIHVpbnQ2NF90IGNhbGxiYWNr
SUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2Vu
ZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVuZGluZ0RlbGV0ZVdlYnNp
dGVEYXRhRm9ySG9zdE5hbWVzQ2FsbGJhY2tzLnNldChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKSk7CiAKICAgICBpZiAoc3RhdGUoKSA9PSBTdGF0ZTo6TGF1bmNoaW5nKSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9z
L1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
RGVsZWdhdGVJT1MubW0KaW5kZXggNGEyZTI5YjU2MDk2MWE1OWIxY2I1NTE5NzgzOTE0OWMzMTA2
ODRjMi4uNzJhODgyZjA1ODFkNWVhYzkxZmMxNGJjMDVhMDJmMTQ0ZjE2YzExZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdU
cmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0
ZUlPUy5tbQpAQCAtNDMsOCArNDMsNiBAQAogI2ltcG9ydCA8V2ViQ29yZS9TY3JvbGxTbmFwT2Zm
c2V0c0luZm8uaD4KICNlbmRpZgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogQGltcGxl
bWVudGF0aW9uIFdLU2Nyb2xsaW5nTm9kZVNjcm9sbFZpZXdEZWxlZ2F0ZQogCiAtIChpbnN0YW5j
ZXR5cGUpaW5pdFdpdGhTY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlOihXZWJLaXQ6OlNjcm9sbGlu
Z1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MqKWRlbGVnYXRlCkBAIC04MCw3ICs3OCw3IEBA
IC0gKHZvaWQpc2Nyb2xsVmlld1dpbGxFbmREcmFnZ2luZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xs
VmlldyB3aXRoVmVsb2NpdHk6KENHUG9pCiAKICAgICBpZiAoIV9zY3JvbGxpbmdUcmVlTm9kZURl
bGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuaG9yaXpvbnRhbFNuYXBPZmZzZXRzKCkuaXNFbXB0eSgp
KSB7CiAgICAgICAgIHVuc2lnbmVkIGluZGV4OwotICAgICAgICBmbG9hdCBwb3RlbnRpYWxTbmFw
UG9zaXRpb24gPSBjbG9zZXN0U25hcE9mZnNldChfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+
c2Nyb2xsaW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0cygpLCBfc2Nyb2xsaW5nVHJlZU5v
ZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0UmFuZ2VzKCks
IGhvcml6b250YWxUYXJnZXQsIHZlbG9jaXR5LngsIGluZGV4KTsKKyAgICAgICAgZmxvYXQgcG90
ZW50aWFsU25hcFBvc2l0aW9uID0gV2ViQ29yZTo6Y2xvc2VzdFNuYXBPZmZzZXQoX3Njcm9sbGlu
Z1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNldHMo
KSwgX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFs
U25hcE9mZnNldFJhbmdlcygpLCBob3Jpem9udGFsVGFyZ2V0LCB2ZWxvY2l0eS54LCBpbmRleCk7
CiAgICAgICAgIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuc2V0
Q3VycmVudEhvcml6b250YWxTbmFwUG9pbnRJbmRleChpbmRleCk7CiAgICAgICAgIGlmIChob3Jp
em9udGFsVGFyZ2V0ID49IDAgJiYgaG9yaXpvbnRhbFRhcmdldCA8PSBzY3JvbGxWaWV3LmNvbnRl
bnRTaXplLndpZHRoKQogICAgICAgICAgICAgdGFyZ2V0Q29udGVudE9mZnNldC0+eCA9IHBvdGVu
dGlhbFNuYXBQb3NpdGlvbjsKQEAgLTg4LDcgKzg2LDcgQEAgLSAodm9pZClzY3JvbGxWaWV3V2ls
bEVuZERyYWdnaW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3IHdpdGhWZWxvY2l0eTooQ0dQ
b2kKIAogICAgIGlmICghX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUo
KS52ZXJ0aWNhbFNuYXBPZmZzZXRzKCkuaXNFbXB0eSgpKSB7CiAgICAgICAgIHVuc2lnbmVkIGlu
ZGV4OwotICAgICAgICBmbG9hdCBwb3RlbnRpYWxTbmFwUG9zaXRpb24gPSBjbG9zZXN0U25hcE9m
ZnNldChfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2Fs
U25hcE9mZnNldHMoKSwgX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUo
KS52ZXJ0aWNhbFNuYXBPZmZzZXRSYW5nZXMoKSwgdmVydGljYWxUYXJnZXQsIHZlbG9jaXR5Lnks
IGluZGV4KTsKKyAgICAgICAgZmxvYXQgcG90ZW50aWFsU25hcFBvc2l0aW9uID0gV2ViQ29yZTo6
Y2xvc2VzdFNuYXBPZmZzZXQoX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05v
ZGUoKS52ZXJ0aWNhbFNuYXBPZmZzZXRzKCksIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5z
Y3JvbGxpbmdOb2RlKCkudmVydGljYWxTbmFwT2Zmc2V0UmFuZ2VzKCksIHZlcnRpY2FsVGFyZ2V0
LCB2ZWxvY2l0eS55LCBpbmRleCk7CiAgICAgICAgIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRl
LT5zY3JvbGxpbmdOb2RlKCkuc2V0Q3VycmVudFZlcnRpY2FsU25hcFBvaW50SW5kZXgoaW5kZXgp
OwogICAgICAgICBpZiAodmVydGljYWxUYXJnZXQgPj0gMCAmJiB2ZXJ0aWNhbFRhcmdldCA8PSBz
Y3JvbGxWaWV3LmNvbnRlbnRTaXplLmhlaWdodCkKICAgICAgICAgICAgIHRhcmdldENvbnRlbnRP
ZmZzZXQtPnkgPSBwb3RlbnRpYWxTbmFwUG9zaXRpb247CkBAIC0xMjIsNiArMTIwLDcgQEAgLSAo
dm9pZClzY3JvbGxWaWV3RGlkRW5kRGVjZWxlcmF0aW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxW
aWV3CiBAZW5kCiAKIG5hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiAKIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1M6OlNjcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MoU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUmIHNjcm9s
bGluZ05vZGUpCiAgICAgOiBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlKHNjcm9s
bGluZ05vZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0
b3JhZ2VQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9T
dG9yYWdlUHJvY2Vzc1Byb3h5LmNwcAppbmRleCBlZmE4ZDEzY2JiZDVmZmE4MDhiNWYwZWRiZjRh
NTFkYzlkZjg1N2U3Li4zYTEzMWI0ZDYwZDhhYTA3ZTg3ZmI1ZTRjNjE0ZjMwYTdkNDJiNTc0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNz
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVBy
b2Nlc3NQcm94eS5jcHAKQEAgLTM3LDcgKzM3LDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUNhbGxiYWNr
SUQoKQorc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlU3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKCkK
IHsKICAgICBzdGF0aWMgdWludDY0X3QgY2FsbGJhY2tJRDsKIApAQCAtMTA1LDcgKzEwNSw3IEBA
IHZvaWQgU3RvcmFnZVByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQsIE9wdGlvblNldDxXCiB7CiAgICAgQVNTRVJUKGNhblNlbmRNZXNzYWdlKCkp
OwogCi0gICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAg
IHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgp
OwogICAgIG1fcGVuZGluZ0ZldGNoV2Vic2l0ZURhdGFDYWxsYmFja3MuYWRkKGNhbGxiYWNrSUQs
IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIHNlbmQoTWVzc2FnZXM6OlN0b3Jh
Z2VQcm9jZXNzOjpGZXRjaFdlYnNpdGVEYXRhKHNlc3Npb25JRCwgZGF0YVR5cGVzLCBjYWxsYmFj
a0lEKSwgMCk7CkBAIC0xMTMsNyArMTEzLDcgQEAgdm9pZCBTdG9yYWdlUHJvY2Vzc1Byb3h5Ojpm
ZXRjaFdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFcKIAog
dm9pZCBTdG9yYWdlUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+IGRhdGFUeXBlcywgV2FsbFRp
bWUgbW9kaWZpZWRTaW5jZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAoKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikKIHsKLSAgICBhdXRvIGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsK
KyAgICBhdXRvIGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgp
OwogCiAgICAgbV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFDYWxsYmFja3MuYWRkKGNhbGxiYWNr
SUQsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKICAgICBzZW5kKE1lc3NhZ2VzOjpTdG9y
YWdlUHJvY2Vzczo6RGVsZXRlV2Vic2l0ZURhdGEoc2Vzc2lvbklELCBkYXRhVHlwZXMsIG1vZGlm
aWVkU2luY2UsIGNhbGxiYWNrSUQpLCAwKTsKQEAgLTEyMyw3ICsxMjMsNyBAQCB2b2lkIFN0b3Jh
Z2VQcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQsCiB7CiAgICAgQVNTRVJUKGNhblNlbmRNZXNzYWdlKCkpOwogCi0gICAgdWlu
dDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIHVpbnQ2NF90IGNh
bGxiYWNrSUQgPSBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVu
ZGluZ0RlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2luc0NhbGxiYWNrcy5hZGQoY2FsbGJhY2tJRCwg
V1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAgc2VuZChNZXNzYWdlczo6U3RvcmFn
ZVByb2Nlc3M6OkRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhzZXNzaW9uSUQsIGRhdGFUeXBl
cywgb3JpZ2lucywgY2FsbGJhY2tJRCksIDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYzc3MTU1OTBlZDcxY2NkZDIzZGYyODVhM2Fh
N2MzNmU1NDNkYjdmNi4uYmM3YzI0M2Y0Nzk2YWNjMmVjZTRjNGZlY2M0NDkyOTI1OGNkYjQ1NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC03NTYsNiArNzU2LDggQEAKIAkJMkQ5MkE3OTUyMTJCNkFENDAwRjQ5M0ZEIC8qIFBsdWdpblBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUEyRDkwRDExMjgxQzk2NjAwMUVCOTYyIC8qIFBsdWdpblByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwICovOyB9OwogCQkyRDkyQTc5NjIxMkI2QURBMDBGNDkz
RkQgLyogTmV0c2NhcGVQbHVnaW5Nb2R1bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUE0QTlDNTMxMkI4MTZDRjAwOEZFOTg0IC8qIE5ldHNjYXBl
UGx1Z2luTW9kdWxlLmNwcCAqLzsgfTsKIAkJMkQ5MkE3OTcyMTJCNkFEQTAwRjQ5M0ZEIC8qIFBs
dWdpbkluZm9ybWF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDdDM0Y4QzhFMTczQUY1MkQwMDdCN0YzOSAvKiBQbHVnaW5JbmZvcm1hdGlvbi5j
cHAgKi87IH07CisJCTJEOTJBNzk4MjEzNDhEODUwMEY0OTNGRCAvKiBXZWJQYXltZW50Q29vcmRp
bmF0b3JQcm94eU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBQjFGNzdEMUQxQjMwQTkwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQ
cm94eU1hYy5tbSAqLzsgfTsKKwkJMkQ5MkE3OUYyMTM0QjA3RTAwRjQ5M0ZEIC8qIFdlYlBheW1l
bnRDb29yZGluYXRvclByb3h5SU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUFCMUY3N0IxRDFCMzBBOTAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29y
ZGluYXRvclByb3h5SU9TLm1tICovOyB9OwogCQkyRDkzMTE2OTIxMkY2MUIyMDAwNDRCRkUgLyog
V0tDb250ZW50Vmlldy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGQ0I0RTNEMThCQkUwNDQwMDBGQ0ZDOSAvKiBXS0NvbnRlbnRWaWV3Lm1tICovOyB9
OwogCQkyRDkzMTE2QTIxMkY2MUI1MDAwNDRCRkUgLyogV0tDb250ZW50Vmlld0ludGVyYWN0aW9u
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDQjRF
NkIxOEJCRjI2QTAwMEZDRkM5IC8qIFdLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSAqLzsgfTsK
IAkJMkQ5RUEzMEQxQTk2Q0I1OTAwMkQyODA3IC8qIFdLUGFnZUluamVjdGVkQnVuZGxlQ2xpZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlFQTMw
QzFBOTZDQjU5MDAyRDI4MDcgLyogV0tQYWdlSW5qZWN0ZWRCdW5kbGVDbGllbnQuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTEyNDEsNiArMTEy
NDMsOCBAQAogCQkJCTdDRTlDRTEwMUZBMDc2N0EwMDAxNzdERSAvKiBXZWJQYWdlVXBkYXRlUHJl
ZmVyZW5jZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M0Njk0QzkxQTRCNEVBMTAwQUQ1ODQ1
IC8qIFdlYlBhc3RlYm9hcmRQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkxQUIxRjc5NjFEMUIzNjEzMDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yTWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJBNzlGMjEzNEIwN0UwMEY0
OTNGRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbSBpbiBTb3VyY2VzICovLAor
CQkJCTJEOTJBNzk4MjEzNDhEODUwMEY0OTNGRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBQjFGNzk4MUQxQjM2MTMwMDdDOUJEMSAvKiBX
ZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkyRDkyQTc4RDIxMkI2QUIxMDBGNDkzRkQgLyogV2ViUGxhdGZvcm1Ub3VjaFBvaW50
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOTEzNDRFMjEyQ0Y5RjAwMDEyOEFGRCAvKiBXZWJQ
bHVnaW5JbmZvUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5tbQppbmRleCA1MzA3ZTI2YTc2Mzdl
OGE2OWIwNDVhYmI5Mjg3OWYzZjhjNjU4NmYyLi40Y2FhNmNjMGY2MDQ1MGMwM2IyMmEyODRkZDEz
YWYyNWVmZDZlMzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lu
cy9QREYvUERGUGx1Z2luLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5z
L1BERi9QREZQbHVnaW4ubW0KQEAgLTg4LDggKzg4LDYgQEAKICNpbXBvcnQgPHBhbC9zcGkvbWFj
L05TTWVudVNQSS5oPgogI2ltcG9ydCA8d3RmL1VVSUQuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7Ci0KIC8vIFNldCBvdmVyZmxvdzogaGlkZGVuIG9uIHRoZSBhbm5vdGF0aW9uIGNvbnRh
aW5lciBzbyA8aW5wdXQ+IGVsZW1lbnRzIHNjcm9sbGVkIG91dCBvZiB2aWV3IGRvbid0IHNob3cK
IC8vIHNjcm9sbGJhcnMgb24gdGhlIGJvZHkuIFdlIGNhbid0IGFkZCBhbm5vdGF0aW9ucyBkaXJl
Y3RseSB0byB0aGUgYm9keSwgYmVjYXVzZSBvdmVyZmxvdzogaGlkZGVuIG9uIHRoZSBib2R5CiAv
LyB3aWxsIGJyZWFrIHJ1YmJlci1iYW5kaW5nLgpAQCAtMjkwLDcgKzI4OCw3IEBAIC0gKE5TQXJy
YXkgKilhY2Nlc3NpYmlsaXR5QWN0aW9uTmFtZXMKIC0gKHZvaWQpYWNjZXNzaWJpbGl0eVBlcmZv
cm1BY3Rpb246KE5TU3RyaW5nICopYWN0aW9uCiB7CiAgICAgaWYgKFthY3Rpb24gaXNFcXVhbFRv
U3RyaW5nOk5TQWNjZXNzaWJpbGl0eVNob3dNZW51QWN0aW9uXSkKLSAgICAgICAgX3BkZlBsdWdp
bi0+c2hvd0NvbnRleHRNZW51QXRQb2ludChJbnRSZWN0KEludFBvaW50KCksIF9wZGZQbHVnaW4t
PnNpemUoKSkuY2VudGVyKCkpOworICAgICAgICBfcGRmUGx1Z2luLT5zaG93Q29udGV4dE1lbnVB
dFBvaW50KFdlYkNvcmU6OkludFJlY3QoV2ViQ29yZTo6SW50UG9pbnQoKSwgX3BkZlBsdWdpbi0+
c2l6ZSgpKS5jZW50ZXIoKSk7CiB9CiAKIC0gKEJPT0wpYWNjZXNzaWJpbGl0eUlzQXR0cmlidXRl
U2V0dGFibGU6KE5TU3RyaW5nICopYXR0cmlidXRlCkBAIC0zMTYsOCArMzE0LDggQEAgLSAoaWQp
YWNjZXNzaWJpbGl0eUZvY3VzZWRVSUVsZW1lbnQKIHsKICNpZiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMTMwMAogICAgIGlmIChXZWJLaXQ6OlBERlBsdWdpbkFubm90YXRp
b24qIGFjdGl2ZUFubm90YXRpb24gPSBfcGRmUGx1Z2luLT5hY3RpdmVBbm5vdGF0aW9uKCkpIHsK
LSAgICAgICAgaWYgKEFYT2JqZWN0Q2FjaGUqIGV4aXN0aW5nQ2FjaGUgPSBfcGRmUGx1Z2luLT5h
eE9iamVjdENhY2hlKCkpIHsKLSAgICAgICAgICAgIGlmIChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBv
YmplY3QgPSBleGlzdGluZ0NhY2hlLT5nZXRPckNyZWF0ZShhY3RpdmVBbm5vdGF0aW9uLT5lbGVt
ZW50KCkpKQorICAgICAgICBpZiAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZSogZXhpc3RpbmdDYWNo
ZSA9IF9wZGZQbHVnaW4tPmF4T2JqZWN0Q2FjaGUoKSkgeworICAgICAgICAgICAgaWYgKFdlYkNv
cmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCA9IGV4aXN0aW5nQ2FjaGUtPmdldE9yQ3Jl
YXRlKGFjdGl2ZUFubm90YXRpb24tPmVsZW1lbnQoKSkpCiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0
aWMgcHVzaAogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XZGVwcmVjYXRlZC1k
ZWNsYXJhdGlvbnMiCiAgICAgICAgICAgICAgICAgcmV0dXJuIFtvYmplY3QtPndyYXBwZXIoKSBh
Y2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6QCJfQVhBc3NvY2lhdGVkUGx1Z2luUGFyZW50Il07
CkBAIC0zMzgsMTEgKzMzNiwxMSBAQCAtIChpZClhY2Nlc3NpYmlsaXR5QXNzb2NpYXRlZENvbnRy
b2xGb3JBbm5vdGF0aW9uOihQREZBbm5vdGF0aW9uICopYW5ub3RhdGlvbgogICAgIGlmICghYWN0
aXZlQW5ub3RhdGlvbiB8fCAhW2FjdGl2ZUFubm90YXRpb24tPmFubm90YXRpb24oKSBpc0VxdWFs
OmFubm90YXRpb25dKQogICAgICAgICByZXR1cm4gbmlsOwogICAgIAotICAgIEFYT2JqZWN0Q2Fj
aGUqIGNhY2hlID0gX3BkZlBsdWdpbi0+YXhPYmplY3RDYWNoZSgpOworICAgIFdlYkNvcmU6OkFY
T2JqZWN0Q2FjaGUqIGNhY2hlID0gX3BkZlBsdWdpbi0+YXhPYmplY3RDYWNoZSgpOwogICAgIGlm
ICghY2FjaGUpCiAgICAgICAgIHJldHVybiBuaWw7CiAgICAgCi0gICAgQWNjZXNzaWJpbGl0eU9i
amVjdCogb2JqZWN0ID0gY2FjaGUtPmdldE9yQ3JlYXRlKGFjdGl2ZUFubm90YXRpb24tPmVsZW1l
bnQoKSk7CisgICAgV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0ID0gY2FjaGUt
PmdldE9yQ3JlYXRlKGFjdGl2ZUFubm90YXRpb24tPmVsZW1lbnQoKSk7CiAgICAgaWYgKCFvYmpl
Y3QpCiAgICAgICAgIHJldHVybiBuaWw7CiAKQEAgLTM1Myw3ICszNTEsNyBAQCAtIChpZClhY2Nl
c3NpYmlsaXR5QXNzb2NpYXRlZENvbnRyb2xGb3JBbm5vdGF0aW9uOihQREZBbm5vdGF0aW9uICop
YW5ub3RhdGlvbgogLSAoaWQpYWNjZXNzaWJpbGl0eUhpdFRlc3Q6KE5TUG9pbnQpcG9pbnQKIHsK
ICNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMAotICAgIHBvaW50
ID0gX3BkZlBsdWdpbi0+Y29udmVydEZyb21Sb290Vmlld1RvUERGVmlldyhJbnRQb2ludChwb2lu
dCkpOworICAgIHBvaW50ID0gX3BkZlBsdWdpbi0+Y29udmVydEZyb21Sb290Vmlld1RvUERGVmll
dyhXZWJDb3JlOjpJbnRQb2ludChwb2ludCkpOwogICAgIHJldHVybiBbX3BkZkxheWVyQ29udHJv
bGxlciBhY2Nlc3NpYmlsaXR5SGl0VGVzdDpwb2ludF07CiAjZWxzZQogICAgIHJldHVybiBzZWxm
OwpAQCAtNDIxLDcgKzQxOSw3IEBAIC0gKGlkKWluaXRXaXRoUERGUGx1Z2luOihXZWJLaXQ6OlBE
RlBsdWdpbiAqKXBsdWdpbgogCiAtICh2b2lkKXVwZGF0ZVNjcm9sbFBvc2l0aW9uOihDR1BvaW50
KW5ld1Bvc2l0aW9uCiB7Ci0gICAgX3BkZlBsdWdpbi0+bm90aWZ5U2Nyb2xsUG9zaXRpb25DaGFu
Z2VkKEludFBvaW50KG5ld1Bvc2l0aW9uKSk7CisgICAgX3BkZlBsdWdpbi0+bm90aWZ5U2Nyb2xs
UG9zaXRpb25DaGFuZ2VkKFdlYkNvcmU6OkludFBvaW50KG5ld1Bvc2l0aW9uKSk7CiB9CiAKIC0g
KHZvaWQpd3JpdGVJdGVtc1RvUGFzdGVib2FyZDooTlNBcnJheSAqKWl0ZW1zIHdpdGhUeXBlczoo
TlNBcnJheSAqKXR5cGVzCkBAIC01MDAsNiArNDk4LDEwIEBAIC0gKE5TUmVjdCljb252ZXJ0UmVj
dDooTlNSZWN0KXJlY3QgZnJvbVBhZ2U6KFBERlBhZ2UgKikgcGFnZSBmb3JTY2FsZUZhY3Rvcjoo
Q0dGCiAtIChQREZQYWdlICopcGFnZU5lYXJlc3RQb2ludDooTlNQb2ludClwb2ludCBjdXJyZW50
UGFnZTooUERGUGFnZSAqKWN1cnJlbnRQYWdlOwogQGVuZAogCituYW1lc3BhY2UgV2ViS2l0IHsK
K3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwordXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKKwog
c3RhdGljIGNvbnN0IGNoYXIqIHBvc3RTY3JpcHRNSU1FVHlwZSA9ICJhcHBsaWNhdGlvbi9wb3N0
c2NyaXB0IjsKIGNvbnN0IHVpbnQ2NF90IHBkZkRvY3VtZW50UmVxdWVzdElEID0gMTsgLy8gUGx1
Z2luQ29udHJvbGxlciBzdXBwb3J0cyBsb2FkaW5nIG11bHRpcGxlIHN0cmVhbXMsIGJ1dCB3ZSBv
bmx5IG5lZWQgb25lIGZvciBQREYuCiAKQEAgLTU5Niw5ICs1OTgsNiBAQCBzdGF0aWMgdm9pZCBn
ZXRBbGxTY3JpcHRzSW5QREZEb2N1bWVudChDR1BERkRvY3VtZW50UmVmIHBkZkRvY3VtZW50LCBW
ZWN0b3I8UmV0YQogICAgIH0KIH0KIAotbmFtZXNwYWNlIFdlYktpdCB7Ci11c2luZyBuYW1lc3Bh
Y2UgSFRNTE5hbWVzOwotCiBSZWY8UERGUGx1Z2luPiBQREZQbHVnaW46OmNyZWF0ZShXZWJGcmFt
ZSYgZnJhbWUpCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUERGUGx1Z2luKGZyYW1lKSk7
CkBAIC0xNDUwLDcgKzE0NDksNyBAQCB2b2lkIFBERlBsdWdpbjo6dXBkYXRlQ3Vyc29yKGNvbnN0
IFdlYk1vdXNlRXZlbnQmIGV2ZW50LCBVcGRhdGVDdXJzb3JNb2RlIG1vZGUpCiAgICAgaWYgKGhp
dFRlc3RSZXN1bHQgPT0gbV9sYXN0SGl0VGVzdFJlc3VsdCAmJiBtb2RlID09IFVwZGF0ZUlmTmVl
ZGVkKQogICAgICAgICByZXR1cm47CiAKLSAgICB3ZWJGcmFtZSgpLT5wYWdlKCktPnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0Q3Vyc29yKGhpdFRlc3RSZXN1bHQgPT0gVGV4dCA/IGlC
ZWFtQ3Vyc29yKCkgOiBwb2ludGVyQ3Vyc29yKCkpKTsKKyAgICB3ZWJGcmFtZSgpLT5wYWdlKCkt
PnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0Q3Vyc29yKGhpdFRlc3RSZXN1bHQgPT0g
VGV4dCA/IFdlYkNvcmU6OmlCZWFtQ3Vyc29yKCkgOiBXZWJDb3JlOjpwb2ludGVyQ3Vyc29yKCkp
KTsKICAgICBtX2xhc3RIaXRUZXN0UmVzdWx0ID0gaGl0VGVzdFJlc3VsdDsKIH0KICNlbmRpZgpA
QCAtMTk4MSwxNiArMTk4MCwxNiBAQCB2b2lkIFBERlBsdWdpbjo6bm90aWZ5U2VsZWN0aW9uQ2hh
bmdlZChQREZTZWxlY3Rpb24gKikKICAgICB3ZWJGcmFtZSgpLT5wYWdlKCktPmRpZENoYW5nZVNl
bGVjdGlvbigpOwogfQogCi1zdGF0aWMgY29uc3QgQ3Vyc29yJiBjb3JlQ3Vyc29yKFBERkxheWVy
Q29udHJvbGxlckN1cnNvclR5cGUgdHlwZSkKK3N0YXRpYyBjb25zdCBXZWJDb3JlOjpDdXJzb3Im
IGNvcmVDdXJzb3IoUERGTGF5ZXJDb250cm9sbGVyQ3Vyc29yVHlwZSB0eXBlKQogewogICAgIHN3
aXRjaCAodHlwZSkgewogICAgIGNhc2Uga1BERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGVIYW5k
OgotICAgICAgICByZXR1cm4gaGFuZEN1cnNvcigpOworICAgICAgICByZXR1cm4gV2ViQ29yZTo6
aGFuZEN1cnNvcigpOwogICAgIGNhc2Uga1BERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGVJQmVh
bToKLSAgICAgICAgcmV0dXJuIGlCZWFtQ3Vyc29yKCk7CisgICAgICAgIHJldHVybiBXZWJDb3Jl
OjppQmVhbUN1cnNvcigpOwogICAgIGNhc2Uga1BERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGVQ
b2ludGVyOgogICAgIGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiBwb2ludGVyQ3Vyc29yKCk7Cisg
ICAgICAgIHJldHVybiBXZWJDb3JlOjpwb2ludGVyQ3Vyc29yKCk7CiAgICAgfQogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348214</attachid>
            <date>2018-08-27 15:28:01 -0700</date>
            <delta_ts>2018-08-27 15:30:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189009-20180827152801.patch</filename>
            <type>text/plain</type>
            <size>59846</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1Mzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDI5MmM2NDA4MzcwZGM0YWY2ZmVmYmQ0
MzZlZGNhYTc3ZDA3NWUzOWEuLjgxMTBlZGU5NjU0OWM4MjM0YTNiYjJjNzM1NmFiYjAyNDIxNDJm
MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3Jl
IHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL2dlbmVy
YXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmI6CisgICAgICAgIEl0IHR1cm5zIG91dCBvdXIg
cGxhbiB0byBzd2l0Y2ggdW5pZmllZCBzb3VyY2UgYnVuZGxlIGV2ZXJ5IHRpbWUgdGhlIGRpcmVj
dG9yeQorICAgICAgICBjaGFuZ2VzIGlzIG5vdCBhIGdvb2QgZml0IGZvciBwcm9qZWN0cyBsaWtl
IFdlYktpdDIgd2l0aCBtYW55IHNtYWxsIGRpcmVjdG9yaWVzLgorICAgICAgICBJdCBsZWF2ZXMg
bWFueSB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIHdpdGggb25seSBhIHNpbmdsZSBzb3VyY2UgZmls
ZSwKKyAgICAgICAgYWNoaWV2aW5nIG9ubHkgfjQwJSBkZW5zaXR5LgorCisgICAgICAgIEluc3Rl
YWQsIHN3aXRjaCB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIGV2ZXJ5IHRpbWUgdGhlIHRvcC1sZXZl
bCBkaXJlY3RvcnkgY2hhbmdlcy4KKyAgICAgICAgVGhpcyBzdGlsbCBhY2hpZXZlcyB0aGUgZ29h
bCBvZiAqdXN1YWxseSogb25seSByZWJ1aWxkaW5nIHRoZSBvbmUgdG9wLWxldmVsCisgICAgICAg
IGRpcmVjdG9yeSB5b3UgdG91Y2hlZCwgYW5kIGluY3JlYXNlcyBzb3VyY2UgYnVuZGxlIGRlbnNp
dHkgd2lsZGx5LCB0byB+OTUlLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTgt
MDgtMjcgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxk
IHN5c3RlbSBzdXBwb3J0IGZvciBMVE8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhMGI5YTAyZDQ5MWQzYzc0NDBh
Y2U4YTIyNDFjNGU1MzUwYzVmNTE0Li4yMDA5OWQwOTZiMDhiM2E0ZjkxOTE2YmRlZDdhNTZlNWUw
YjgzYjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQg
c291cmNlcyBtb3JlIHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1
Y3R1cmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
ODkwMDkKKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgRml4
IGEgdmFyaWV0eSBvZiB1bmlmaWNhdGlvbiBlcnJvcnMgZHVlIHRvIHJlc2h1ZmZsaW5nIHRoZSBi
dW5kbGVzLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9B
bGdvcml0aG1FQ0RTQS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1FQ0RT
QTo6aW1wb3J0S2V5KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBodG1s
L3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKiBwYWdlL0FsdGVybmF0
aXZlVGV4dENsaWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL1Bhc3RlYm9hcmQuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHA6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5tbToKKyAgICAgICAg
KC1bV2ViR0xMYXllciBpbml0V2l0aEdyYXBoaWNzQ29udGV4dDNEOl0pOgorICAgICAgICAoLVtX
ZWJHTExheWVyIGNvcHlJbWFnZVNuYXBzaG90V2l0aENvbG9yU3BhY2U6XSk6CisgICAgICAgICgt
W1dlYkdMTGF5ZXIgZGlzcGxheV0pOgorICAgICAgICAoLVtXZWJHTExheWVyIGFsbG9jYXRlSU9T
dXJmYWNlQmFja2luZ1N0b3JlV2l0aFNpemU6dXNpbmdBbHBoYTpdKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbToKKyAgICAgICAgKC1bV2ViR1BVTGF5
ZXIgaW5pdFdpdGhHUFVEZXZpY2U6XSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0
YWwvR1BVQ29tbWFuZFF1ZXVlTWV0YWwubW06CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Bhc3Rl
Ym9hcmRNYWMubW06CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlD
YXB0dXJlTWFuYWdlckNvY29hLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlUmVxdWVzdEJhc2UuY3BwOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJU
cmVlQnVpbGRlckJsb2NrRmxvdy5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVCdWlsZGVySW5saW5lLmNwcDoKKwogMjAxOC0wOC0yNyAgS2VpdGggUm9sbGluICA8
a3JvbGxpbkBhcHBsZS5jb20+CiAKICAgICAgICAgQnVpbGQgc3lzdGVtIHN1cHBvcnQgZm9yIExU
TwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCAwZjg2OGYwZTliYWUyNjgxMWZiZjI0ZDFjOWFmNGU4OWZkMjNlZDE3Li5j
OWI0OTBhODMwNjI2ZmU0YzkzYTA1OWI0M2FhNGM0MTVlYTlhOTM4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDUyIEBACisyMDE4LTA4LTI3ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUu
Y29tPgorCisgICAgICAgIEJ1bmRsZSB1bmlmaWVkIHNvdXJjZXMgbW9yZSB0aWdodGx5IGluIHBy
b2plY3RzIHdpdGggZGVlcCBkaXJlY3Rvcnkgc3RydWN0dXJlcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5MDA5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIEZpeCBhIHZhcmlldHkgb2YgdW5pZmljYXRpb24g
ZXJyb3JzIGR1ZSB0byByZXNodWZmbGluZyB0aGUgYnVuZGxlcy4KKworICAgICAgICAqIFNoYXJl
ZC9BUElXZWJBcmNoaXZlLm1tOgorICAgICAgICAqIFNoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3Vy
Y2UubW06CisgICAgICAgICogU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1
Z2luTW9kdWxlTWFjLm1tOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9Q
bHVnaW5JbmZvcm1hdGlvbk1hYy5tbToKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaDoKKyAgICAg
ICAgKEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6OnNlc3Npb25JZGVudGlmaWVyIGNvbnN0
KToKKyAgICAgICAgKEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6Om1lc3NhZ2VPZkN1cnJl
bnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKToKKyAgICAgICAgKEFQSTo6QXV0b21hdGlvblNlc3Np
b25DbGllbnQ6OnNldFVzZXJJbnB1dEZvckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xp
ZW50Lm1tOgorICAgICAgICAoLVtXS0N1c3RvbVByb3RvY29sTG9hZGVyIGluaXRXaXRoTGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6Y3VzdG9tUHJvdG9jb2xJRDpyZXF1ZXN0Ol0pOgor
ICAgICAgICAoLVtXS0N1c3RvbVByb3RvY29sTG9hZGVyIGNvbm5lY3Rpb246ZGlkRmFpbFdpdGhF
cnJvcjpdKToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBjb25uZWN0aW9uOmRp
ZFJlY2VpdmVSZXNwb25zZTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Q
cm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZVBsdWdpblByb2Nlc3ND
YWxsYmFja0lEKToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpmZXRjaFdl
YnNpdGVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVX
ZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRl
V2Vic2l0ZURhdGFGb3JIb3N0TmFtZXMpOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZUNhbGxi
YWNrSUQpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9z
L1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW06CisgICAgICAgICgtW1dL
U2Nyb2xsaW5nTm9kZVNjcm9sbFZpZXdEZWxlZ2F0ZSBzY3JvbGxWaWV3V2lsbEVuZERyYWdnaW5n
OndpdGhWZWxvY2l0eTp0YXJnZXRDb250ZW50T2Zmc2V0Ol0pOgorICAgICAgICAqIFVJUHJvY2Vz
cy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpnZW5l
cmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VQ
cm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdl
UHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlN0b3Jh
Z2VQcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyk6CisgICAgICAgIChX
ZWJLaXQ6OmdlbmVyYXRlQ2FsbGJhY2tJRCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BE
Ri9QREZQbHVnaW4ubW06CisgICAgICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVj
dCBhY2Nlc3NpYmlsaXR5UGVyZm9ybUFjdGlvbjpdKToKKyAgICAgICAgKC1bV0tQREZQbHVnaW5B
Y2Nlc3NpYmlsaXR5T2JqZWN0IGFjY2Vzc2liaWxpdHlGb2N1c2VkVUlFbGVtZW50XSk6CisgICAg
ICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5QXNzb2Np
YXRlZENvbnRyb2xGb3JBbm5vdGF0aW9uOl0pOgorICAgICAgICAoLVtXS1BERlBsdWdpbkFjY2Vz
c2liaWxpdHlPYmplY3QgYWNjZXNzaWJpbGl0eUhpdFRlc3Q6XSk6CisgICAgICAgICgtW1dLUERG
TGF5ZXJDb250cm9sbGVyRGVsZWdhdGUgdXBkYXRlU2Nyb2xsUG9zaXRpb246XSk6CisgICAgICAg
IChXZWJLaXQ6OlBERlBsdWdpbjo6dXBkYXRlQ3Vyc29yKToKKyAgICAgICAgKFdlYktpdDo6Y29y
ZUN1cnNvcik6CisgICAgICAgIChhcHBlbmRWYWx1ZXNJblBERk5hbWVTdWJ0cmVlVG9WZWN0b3Ip
OiBEZWxldGVkLgorICAgICAgICAoZ2V0QWxsVmFsdWVzSW5QREZOYW1lVHJlZSk6IERlbGV0ZWQu
CisgICAgICAgIChnZXRBbGxTY3JpcHRzSW5QREZEb2N1bWVudCk6IERlbGV0ZWQuCisKIDIwMTgt
MDgtMjcgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAg
ICAgICBGaXggaW50ZXJuYWwgYnVpbGRzIGFmdGVyIHIyMzUzNjgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvU2NyaXB0cy9nZW5lcmF0ZS11bmlmaWVkLXNvdXJjZS1idW5kbGVzLnJiIGIvU291cmNl
L1dURi9TY3JpcHRzL2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKaW5kZXggYzAx
OTY2ZWUxYjJjNjdkOTc2MGYwM2E1YmJjYWEzY2I1NzI2MTJiMy4uYWJkOTc2NzdhMjBhZGI0ZDQ2
MmViOThmNzc4ZDk4MDI5YmRkNDk5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL2dl
bmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKKysrIGIvU291cmNlL1dURi9TY3JpcHRz
L2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKQEAgLTIxMCwxMCArMjEwLDE3IEBA
IGNsYXNzIEJ1bmRsZU1hbmFnZXIKICAgICBlbmQKIGVuZAogCitkZWYgVG9wTGV2ZWxEaXJlY3Rv
cnlGb3JQYXRoKHBhdGgpCisgICAgaWYgIXBhdGgKKyAgICAgICAgcmV0dXJuIG5pbAorICAgIGVu
ZAorICAgIHJldHVybiBwYXRoLmVhY2hfZmlsZW5hbWUubmV4dAorZW5kCisKIGRlZiBQcm9jZXNz
RmlsZUZvclVuaWZpZWRTb3VyY2VHZW5lcmF0aW9uKHNvdXJjZUZpbGUpCiAgICAgcGF0aCA9IHNv
dXJjZUZpbGUucGF0aAotICAgIGlmICgkY3VycmVudERpcmVjdG9yeSAhPSBwYXRoLmRpcm5hbWUp
Ci0gICAgICAgIGxvZygiRmx1c2hpbmcgYmVjYXVzZSBuZXcgZGlybmFtZTsgb2xkOiAjeyRjdXJy
ZW50RGlyZWN0b3J5fSwgbmV3OiAje3BhdGguZGlybmFtZX0iKQorICAgIGlmIChUb3BMZXZlbERp
cmVjdG9yeUZvclBhdGgoJGN1cnJlbnREaXJlY3RvcnkpICE9IFRvcExldmVsRGlyZWN0b3J5Rm9y
UGF0aChwYXRoLmRpcm5hbWUpKQorICAgICAgICBsb2coIkZsdXNoaW5nIGJlY2F1c2UgbmV3IHRv
cCBsZXZlbCBkaXJlY3Rvcnk7IG9sZDogI3skY3VycmVudERpcmVjdG9yeX0sIG5ldzogI3twYXRo
LmRpcm5hbWV9IikKICAgICAgICAgJGJ1bmRsZU1hbmFnZXJzLmVhY2hfdmFsdWUgeyB8eHwgeC5m
bHVzaCB9CiAgICAgICAgICRjdXJyZW50RGlyZWN0b3J5ID0gcGF0aC5kaXJuYW1lCiAgICAgZW5k
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYv
UGxhdGZvcm0uaAppbmRleCAwYzZlZmI4NjI5ODI1MzlkMmI0YjJjYzRmOGY4YjVmY2I0ZWM4OGU4
Li42N2NmYTkzMzEzYzkwNDIxZWI2Y2YxNzlkOThlZjcwM2RhMGU0OWRiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgK
QEAgLTEzMTQsNiArMTMxNCw3IEBACiAjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX1RP
VUNIX0JBUiAxCiAjZGVmaW5lIEhBVkVfQURWQU5DRURfU1BFTExfQ0hFQ0tJTkcgMQorI2RlZmlu
ZSBVU0VfRElDVEFUSU9OX0FMVEVSTkFUSVZFUyAxCiAKICNpZiBkZWZpbmVkKF9fTFA2NF9fKQog
I2RlZmluZSBFTkFCTEVfV0VCX1BMQVlCQUNLX0NPTlRST0xTX01BTkFHRVIgMQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29udHJvbGxlci5jcHAKaW5k
ZXggOTYxMzJlNjk3MzdhZTk4YTYwZjk1NGYxZjMxMTgzODQxMDcxZTBhOS4uY2RiNzc3ZTk5OTI5
MjIxY2YwYThmMDExNDJiMmQwN2VkZTllZmVkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwCkBAIC0yNyw2ICsyNyw3IEBA
CiAKICNpZiBFTkFCTEUoV0VCX1JUQykKIAorI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVk
ZSAiTGliV2ViUlRDUHJvdmlkZXIuaCIKICNpbmNsdWRlICJSVENQZWVyQ29ubmVjdGlvbi5oIgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dl
YkNvcmUvU291cmNlc0NvY29hLnR4dAppbmRleCA2NmY3ZjE2YmQ2NGY4MmM0MzJiZWFlZDhlNzBk
MWI1ZmYwNjNhNTE3Li45NTdlNGI1YjY2MWI0MDIwZjBhMjFlZTAwOTVjMDE3NjQ2ZTQ5M2EzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKQEAgLTM4OSw3ICszODksNyBAQCBwbGF0Zm9ybS9pb3Mv
UGxhdGZvcm1TY3JlZW5JT1MubW0KIHBsYXRmb3JtL2lvcy9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNp
emVySU9TLm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1BsYXliYWNrU2Vzc2lvbkludGVyZmFj
ZUFWS2l0Lm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1F1aWNrTG9vay5tbQotcGxhdGZvcm0v
aW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tCitwbGF0Zm9ybS9pb3MvUXVpY2tMb29rU29mdExpbmsu
bW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLm1tCiBw
bGF0Zm9ybS9pb3MvU2Nyb2xsQW5pbWF0b3JJT1MubW0KIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJU
aGVtZUlPUy5tbQpAQCAtMzk5LDcgKzM5OSw3IEBAIHBsYXRmb3JtL2lvcy9TU0xLZXlHZW5lcmF0
b3JJT1MuY3BwCiBwbGF0Zm9ybS9pb3MvU3lzdGVtTWVtb3J5SU9TLmNwcAogcGxhdGZvcm0vaW9z
L1RoZW1lSU9TLm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1RpbGVDb250cm9sbGVyTWVtb3J5
SGFuZGxlcklPUy5jcHAKLXBsYXRmb3JtL2lvcy9Vc2VyQWdlbnRJT1MubW0KK3BsYXRmb3JtL2lv
cy9Vc2VyQWdlbnRJT1MubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvVmFsaWRhdGlvbkJ1YmJs
ZUlPUy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdC5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIubW0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCA3MjU1ZDI2NWM3NzIxNWVjMDliYTM4ZDk2N2NhNGNkN2U4YWExNjU4Li5lMDVjOGEwYmU3
ZmNjODM0NWUxNWQ2ODZkNzc3NDhjZDg2YmI2MTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04MDYsNiArODA2LDggQEAKIAkJ
MkQ4QjkyRkYyMDNEMTNFMTAwOUM4NjhGIC8qIFVuaWZpZWRTb3VyY2U1MzAuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gREU1Rjg1RDMxRkEyMzg1OTAw
NkRCNjNCIC8qIFVuaWZpZWRTb3VyY2U1MzAuY3BwICovOyB9OwogCQkyRDhGRUJERDE0M0UzRUY3
MDA3MjUwMkIgLyogQ1NTQ3Jvc3NmYWRlVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOEZFQkRCMTQzRTNFRjcwMDcyNTAyQiAvKiBDU1NDcm9z
c2ZhZGVWYWx1ZS5oICovOyB9OwogCQkyRDkwNjYwNzBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0
U3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJE
OTA2NjA1MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTJEOTJBNzlBMjEzNEFENzkwMEY0OTNG
RCAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ0MzkxN0ZEMUE5MUIyRjgwMDZFMDRGMiAvKiBRdWlja0xvb2tTb2Z0
TGluay5tbSAqLzsgfTsKKwkJMkQ5MkE3OUQyMTM0QUY5NTAwRjQ5M0ZEIC8qIFVzZXJBZ2VudElP
Uy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzQUY5
RDgzMjAzMjU2OTEwMDZDQUQwNiAvKiBVc2VyQWdlbnRJT1MubW0gKi87IH07CiAJCTJEOTNBRUUz
MTlERjU2NDEwMDJBODZDMyAvKiBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDkzQUVFMTE5REY1NjQxMDAy
QTg2QzMgLyogU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oICovOyB9OwogCQkyRDk3RjA0NzE5
REQ0MTNDMDAxRUU5QzMgLyogTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQUFFMzJDMTlEQ0FGNjAwMEUwMDJE
MiAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuY3BwICovOyB9OwogCQkyRDk3RjA0ODE5REQ0MTQw
MDAxRUU5QzMgLyogTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREFBRTMyRDE5RENBRjYwMDBFMDAyRDIgLyogTW9j
a1BhZ2VPdmVybGF5Q2xpZW50LmggKi87IH07CkBAIC03MDczLDcgKzcwNzUsNyBAQAogCQkzMzlC
NUI2MjEzMURBQTMyMDBGNDhEMDIgLyogQ29va2llc1N0cmF0ZWd5LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENvb2tpZXNTdHJhdGVneS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkzNjYyRjk4NDA0N0NFREJFNUREREFGQUEgLyogUmVuZGVyTWF0aE1MTWVuY2xv
c2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyTWF0aE1M
TWVuY2xvc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzExOUE3OTIwQ0NC
NjEwMDAyQzZEQzkgLyogV2ViS2l0VGFyZ2V0Q29uZGl0aW9uYWxzLnhjY29uZmlnICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsg
cGF0aCA9IFdlYktpdFRhcmdldENvbmRpdGlvbmFscy54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJMzcxN0Q3RTUxN0VDQzNBNjAwM0MyNzZEIC8qIGV4dHJhY3QtbG9jYWxp
emFibGUtc3RyaW5ncy5wbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQuc2NyaXB0LnBlcmw7IG5hbWUgPSBleHRyYWN0LWxvY2FsaXphYmxlLXN0
cmluZ3MucGw7IHBhdGggPSAiU2NyaXB0cy9leHRyYWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGwi
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzNzE3RDdFNTE3RUNDM0E2MDAzQzI3NkQg
LyogZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucGVybDsgbmFtZSA9ICJleHRy
YWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGwiOyBwYXRoID0gIlNjcmlwdHMvZXh0cmFjdC1sb2Nh
bGl6YWJsZS1zdHJpbmdzLnBsIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzcxQTY3
Q0ExMUM2QzdEQjAwMDQ3QjhCIC8qIEh5cGhlbmF0aW9uQ0YuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSHlwaGVuYXRpb25DRi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTM3MUU2NUNCMTM2NjFFREMwMEJFRURCMCAvKiBQYWdlU2VyaWFsaXplci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYWdlU2VyaWFsaXplci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzFFNjVDRDEzNjYxRUVEMDBCRUVEQjAgLyogUGFn
ZVNlcmlhbGl6ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFn
ZVNlcmlhbGl6ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTMzNTgsOCAr
MTMzNjAsOCBAQAogCQlDREU1OTU5QzFCRjI3NTcxMDBBMUNCRTggLyogQ0RNU2Vzc2lvbk1lZGlh
U291cmNlQVZGT2JqQy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IENETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUNERTY1NjBFMTdDQTZFNzYwMDUyNkJBNyAvKiBtZWRpYUNvbnRyb2xzQXBwbGUuanMg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmphdmFzY3JpcHQ7IHBhdGggPSBtZWRpYUNvbnRyb2xzQXBwbGUuanM7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUNERTY2N0ExMUU0QkJBNEQwMEU4MTU0QSAvKiBQbGF0Zm9ybUF1
ZGlvRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbGF0Zm9ybUF1ZGlv
RGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlDREU2NjdBMjFFNEJCRjE1MDBF
ODE1NEEgLyogV2ViQXVkaW9CdWZmZXJMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IGNvY29hL1dlYkF1ZGlvQnVmZmVyTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCUNERTY2N0EzMUU0QkJGMTUwMEU4MTU0QSAvKiBXZWJBdWRpb0J1ZmZl
ckxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gY29jb2EvV2ViQXVkaW9C
dWZmZXJMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNERTY2N0EyMUU0QkJG
MTUwMEU4MTU0QSAvKiBXZWJBdWRpb0J1ZmZlckxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBuYW1lID0gV2ViQXVkaW9CdWZmZXJMaXN0LmNwcDsgcGF0aCA9IGNvY29hL1dl
YkF1ZGlvQnVmZmVyTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNERTY2
N0EzMUU0QkJGMTUwMEU4MTU0QSAvKiBXZWJBdWRpb0J1ZmZlckxpc3QuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViQXVkaW9CdWZmZXJMaXN0Lmg7IHBhdGggPSBjb2NvYS9X
ZWJBdWRpb0J1ZmZlckxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFN0ZD
NDIxODE5MDRCMTAwMkJCQjc3IC8qIE9yZGVySXRlcmF0b3IuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gT3JkZXJJdGVyYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNERTdGQzQzMTgxOTA0QjEwMDJCQkI3NyAvKiBPcmRlckl0ZXJhdG9yLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE9yZGVySXRlcmF0b3IuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFODNEQUYxODNDNDQwNjAwMzFFQUEzIC8qIFZpZGVv
UGxheWJhY2tRdWFsaXR5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTE1MjQwLDggKzE1MjQyLDggQEAKIAkJCQk0MTEwM0FBNzFFMzk3OTBBMDA3NjlGMTQgLyogUmVh
bHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlQ29jb2EuY3BwICovLAogCQkJCTQxMTAzQUE4MUUzOTc5
MEEwMDc2OUYxNCAvKiBSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2VDb2NvYS5oICovLAogCQkJ
CTVDREQ4MzNCMUU0MzI0QkIwMDYyMUI4MyAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VD
b2NvYS5jcHAgKi8sCi0JCQkJNDE5MjQyNDcyMTI3QjdDQzAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0
Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tICovLAogCQkJCTVDREQ4MzNDMUU0MzI0QkIwMDYyMUI4
MyAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5oICovLAorCQkJCTQxOTI0MjQ3
MjEyN0I3Q0MwMDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5tbSAq
LywKIAkJCQkwNzBBOUY1RTFGRkVDQzcwMDAzREY2NDkgLyogU2NyZWVuRGlzcGxheUNhcHR1cmVT
b3VyY2VNYWMuaCAqLywKIAkJCQkwNzBBOUY2MDFGRkVDQzcxMDAzREY2NDkgLyogU2NyZWVuRGlz
cGxheUNhcHR1cmVTb3VyY2VNYWMubW0gKi8sCiAJCQkJMDdENjM3M0UxQkIwQjExMzAwMjU2Q0U5
IC8qIFdlYkF1ZGlvU291cmNlUHJvdmlkZXJBVkZPYmpDLmggKi8sCkBAIC0zMTQ0Niw2ICszMTQ0
OCw4IEBACiAJCQkJQUExMkRGNDkxNzQzREY4MzAwNERBRkRGIC8qIFBsYXRmb3JtU3BlZWNoU3lu
dGhlc2l6ZXJJT1MubW0gaW4gU291cmNlcyAqLywKIAkJCQlDREEyOUEzMDFDQkY3NEQ0MDA5MDFD
Q0YgLyogUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQubW0gaW4gU291cmNlcyAqLywKIAkJ
CQlDREEyOUExNjFDQkRBNTZDMDA5MDFDQ0YgLyogUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFj
Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5MkE3OUEyMTM0QUQ3OTAwRjQ5M0ZEIC8qIFF1aWNr
TG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNDE5MjQyNDkyMTI3QjkzRTAwNjM0
RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJMzE2RENCOEExRTdBNjk5NjAwMUI1Rjg3IC8qIFJUQ0ljZVRyYW5zcG9ydC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlCQzUxMTU2RTEyQjE3NDlDMDBDOTY3NTQgLyogU2Nyb2xsQW5pbWF0
b3JNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQ0VGODY5RjBFODQ0RTlEMDBBODVDRDUgLyog
U2Nyb2xsYmFyVGhlbWVNYWMubW0gaW4gU291cmNlcyAqLywKQEAgLTMxNTY2LDcgKzMxNTcwLDYg
QEAKIAkJCQk1MzhFQzhBMTFGOTkzRjlEMDA0RDIyQTggLyogVW5pZmllZFNvdXJjZTQ4LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCURFNUY4NTk5MUZBMUFCRjQwMDZEQjYzQSAvKiBVbmlmaWVkU291
cmNlNDktbW0ubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MzhFQzhBMjFGOTkzRjlEMDA0RDIyQTgg
LyogVW5pZmllZFNvdXJjZTQ5LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTQxOTI0MjQ5MjEyN0I5
M0UwMDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCURFNUY4NTlBMUZBMUFCRjQwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlNTAt
bW0ubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MzhFQzhBMzFGOTkzRjlEMDA0RDIyQTggLyogVW5p
ZmllZFNvdXJjZTUwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCURFNUY4NjUwMUZBMkFGMjQwMDZE
QjYzQSAvKiBVbmlmaWVkU291cmNlNTEtbW0ubW0gaW4gU291cmNlcyAqLywKQEAgLTMyMDYwLDYg
KzMyMDYzLDcgQEAKIAkJCQkyRDhCOTJGRDIwM0QxM0UxMDA5Qzg2OEYgLyogVW5pZmllZFNvdXJj
ZTUyOC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDhCOTJGRTIwM0QxM0UxMDA5Qzg2OEYgLyog
VW5pZmllZFNvdXJjZTUyOS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDhCOTJGRjIwM0QxM0Ux
MDA5Qzg2OEYgLyogVW5pZmllZFNvdXJjZTUzMC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDky
QTc5RDIxMzRBRjk1MDBGNDkzRkQgLyogVXNlckFnZW50SU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTMyMDQyMDIxRjlBOUYxMDAwQjgxQjJBIC8qIFVzZXJBZ2VudFNjcmlwdHNEYXRhLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTdDM0I3OTcxMTkwODc1N0IwMEI0N0EyRCAvKiBVc2VyTWVzc2Fn
ZUhhbmRsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NFNjgzNDQxOTIxNDNBODAwRjREOTI4
IC8qIFVzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3IuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1F
Q0RTQS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0
aG1FQ0RTQS5jcHAKaW5kZXggOTczMTdlMDRhOTc5N2YxNTYxNmRlNGM3NjA4Yjc0NWQ5ZmRlZGVm
Ny4uMWI1M2M0NTNiMzUyNTM2YjQ4MTJlZGQyYWE2NGQ5MWU5NWRmODU0YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNEU0EuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUVD
RFNBLmNwcApAQCAtMzYsMTIgKzM2LDE0IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorbmFt
ZXNwYWNlIENyeXB0b0FsZ29yaXRobUVDRFNBSW50ZXJuYWwgewogc3RhdGljIGNvbnN0IGNoYXIq
IGNvbnN0IEFMRzI1NiA9ICJFUzI1NiI7CiBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHMzg0
ID0gIkVTMzg0IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBBTEc1MTIgPSAiRVM1MTIiOwog
c3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IFAyNTYgPSAiUC0yNTYiOwogc3RhdGljIGNvbnN0IGNo
YXIqIGNvbnN0IFAzODQgPSAiUC0zODQiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IFA1MjEg
PSAiUC01MjEiOworfQogCiBSZWY8Q3J5cHRvQWxnb3JpdGhtPiBDcnlwdG9BbGdvcml0aG1FQ0RT
QTo6Y3JlYXRlKCkKIHsKQEAgLTEwMiw2ICsxMDQsNyBAQCB2b2lkIENyeXB0b0FsZ29yaXRobUVD
RFNBOjpnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzJiBwYXJhbWV0
ZQogCiB2b2lkIENyeXB0b0FsZ29yaXRobUVDRFNBOjppbXBvcnRLZXkoQ3J5cHRvS2V5Rm9ybWF0
IGZvcm1hdCwgS2V5RGF0YSYmIGRhdGEsIGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMm
IHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdl
cywgS2V5Q2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25D
YWxsYmFjaykKIHsKKyAgICB1c2luZyBuYW1lc3BhY2UgQ3J5cHRvQWxnb3JpdGhtRUNEU0FJbnRl
cm5hbDsKICAgICBjb25zdCBhdXRvJiBlY1BhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdv
cml0aG1FY0tleVBhcmFtcz4ocGFyYW1ldGVycyk7CiAKICAgICBSZWZQdHI8Q3J5cHRvS2V5RUM+
IHJlc3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggMGExZDkwMzQxN2Q0Y2E5ZGMwZTMwYmJm
ZmFjNDFkMTg4ZjMxYmRiYy4uYjE4MGJjNDMzOWE1OTZlYWIxM2IwZDRlOWIyNjE2YjRlNzk1OTI1
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTY0MSw3ICs2NDEsNyBAQCBwdWJsaWM6CiAgICAg
CiAgICAgV0VCQ09SRV9FWFBPUlQgRG9jdW1lbnRMb2FkZXIqIGxvYWRlcigpIGNvbnN0OwogCi0g
ICAgV0VCQ09SRV9FWFBPUlQgRXhjZXB0aW9uT3I8UmVmUHRyPFdpbmRvd1Byb3h5Pj4gb3BlbkZv
ckJpbmRpbmdzKERPTVdpbmRvdyYgYWN0aXZlV2luZG93LCBET01XaW5kb3cmIGZpcnN0V2luZG93
LCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJp
bmcmIGZlYXR1cmVzKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRpb25PcjxSZWZQdHI8V2lu
ZG93UHJveHk+PiBvcGVuRm9yQmluZGluZ3MoRE9NV2luZG93JiBhY3RpdmVXaW5kb3csIERPTVdp
bmRvdyYgZmlyc3RET01XaW5kb3csIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBBdG9taWNTdHJp
bmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZmVhdHVyZXMpOwogICAgIFdFQkNPUkVfRVhQT1JUIEV4
Y2VwdGlvbk9yPERvY3VtZW50Jj4gb3BlbkZvckJpbmRpbmdzKERvY3VtZW50KiByZXNwb25zaWJs
ZURvY3VtZW50LCBjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgcmVwbGFjZSk7CiAK
ICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHJlbmFtZSB0aGlzIGF0IHNvbWUgcG9pbnQgYW5kIGdp
dmUgYmFjayB0aGUgbmFtZSAnb3BlbicgdG8gdGhlIEhUTUwgc3BlY2lmaWVkIG9uZXMuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAppbmRleCBlNDBm
OWE4ODZmMTU5MDRlNjJmMGYyNjg4YTg2OWE2OTg4OWI0YTg5Li5jNzMxOTIyYWY4Mjk4M2I5ZGFh
NmJjN2ZlNTIyNzg2MzczMTY4M2ZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxUcmVlQnVpbGRlci5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJIVE1MRG9j
dW1lbnRQYXJzZXIuaCIKICNpbmNsdWRlICJIVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgiCiAjaW5j
bHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgog
I2luY2x1ZGUgIkhUTUxPcHRHcm91cEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MT3B0aW9uRWxl
bWVudC5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3Vy
Y2VMb2FkZXIuaAppbmRleCA3MmIyOTc1NWYxMWQ5NDA5NWZhN2VkZDUzMDk2OGY3YzU3YjU3YmVi
Li42ZDlhMmRhOWJlMDMyMDA3YTgyZWRhNjhjMTZmZDJmMjhiMWMxMjgzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9h
ZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2Fj
aGVSZXNvdXJjZUxvYWRlci5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisj
aW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZVJlc291cmNlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmF3
UmVzb3VyY2UuaCIKICNpbmNsdWRlICJDYWNoZWRSYXdSZXNvdXJjZUNsaWVudC5oIgogI2luY2x1
ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0FsdGVybmF0aXZlVGV4dENsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9BbHRlcm5h
dGl2ZVRleHRDbGllbnQuaAppbmRleCA5MzU1OTM3ODhmOTg5OWM5ZTIyNTEwODhiNGU3NmQwMDVk
M2QyZjk4Li4xNDNkYTZjNDdmNGJjZWZjMGE0MWFhODc2NDY3ZDA0NDcxNWJhNzBhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0FsdGVybmF0aXZlVGV4dENsaWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmgKQEAgLTI5LDExICsyOSw2
IEBACiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgogCi0jaWYgUExBVEZPUk0oTUFDKQotLy8gU29tZSBwbGF0Zm9ybXMgcHJvdmlkZSBVSSBm
b3Igc3VnZ2VzdGluZyBhbHRlcm5hdGl2ZSBkaWN0YXRpb24gdGV4dC4KLSNkZWZpbmUgVVNFX0RJ
Q1RBVElPTl9BTFRFUk5BVElWRVMgMQotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ZW51bSBSZWFzb25Gb3JEaXNtaXNzaW5nQWx0ZXJuYXRpdmVUZXh0IHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Bhc3RlYm9hcmQuaAppbmRleCBkNTQzM2RkOTIwYWUwZWU1OTJiZDQ1ZmQ1NjBjZGQzZTM4
YTM0NzIxLi5lMDk4MTU2NTFiZDJkNjA1NzRkYTQyMzZjMzgwZmFkNGQ2MDIxNWE5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCkBAIC0zMzgsNiArMzM4LDcgQEAgZXh0ZXJuIE5T
U3RyaW5nICpVSUNvbG9yUGJvYXJkVHlwZTsKICNpZiBQTEFURk9STShNQUMpCiBleHRlcm4gY29u
c3QgY2hhciogY29uc3QgV2ViQXJjaGl2ZVBib2FyZFR5cGU7CiBleHRlcm4gY29uc3QgY2hhciog
Y29uc3QgV2ViVVJMTmFtZVBib2FyZFR5cGU7CitleHRlcm4gY29uc3QgY2hhciogY29uc3QgV2Vi
VVJMc1dpdGhUaXRsZXNQYm9hcmRUeXBlOwogI2VuZGlmCiAKICNpZiAhUExBVEZPUk0oR1RLKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvV2ViQXVkaW9C
dWZmZXJMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL1dlYkF1
ZGlvQnVmZmVyTGlzdC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIyNmQ1MWRk
MjIzZTQ4Zjg3OWIyNjFkMDMxOWNlMGIwMzdmZmI5NzQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29j
b2EvV2ViQXVkaW9CdWZmZXJMaXN0LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDExNiArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldlYkF1ZGlvQnVm
ZmVyTGlzdC5oIgotCi0jaW5jbHVkZSAiQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uLmgiCi0jaW5j
bHVkZSA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LXVzaW5nIG5hbWVzcGFjZSBQQUw7Ci0KLVdlYkF1ZGlvQnVmZmVyTGlzdDo6V2ViQXVkaW9CdWZm
ZXJMaXN0KGNvbnN0IENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgZm9ybWF0KQotewotICAgIC8v
IEF1ZGlvQnVmZmVyTGlzdCBpcyBhIHZhcmlhYmxlLWxlbmd0aCBzdHJ1Y3QsIHNvIGNyZWF0ZSBv
biB0aGUgaGVhcCB3aXRoIGEgZ2VuZXJpYyBuZXcoKSBvcGVyYXRvcgotICAgIC8vIHdpdGggYSBj
dXN0b20gc2l6ZSwgYW5kIGluaXRpYWxpemUgdGhlIHN0cnVjdCBtYW51YWxseS4KLSAgICB1aW50
MzJfdCBidWZmZXJDb3VudCA9IGZvcm1hdC5udW1iZXJPZkNoYW5uZWxTdHJlYW1zKCk7Ci0gICAg
dWludDMyX3QgY2hhbm5lbENvdW50ID0gZm9ybWF0Lm51bWJlck9mSW50ZXJsZWF2ZWRDaGFubmVs
cygpOwotCi0gICAgdWludDY0X3QgYnVmZmVyTGlzdFNpemUgPSBvZmZzZXRvZihBdWRpb0J1ZmZl
ckxpc3QsIG1CdWZmZXJzKSArIChzaXplb2YoQXVkaW9CdWZmZXIpICogc3RkOjptYXgoMVUsIGJ1
ZmZlckNvdW50KSk7Ci0gICAgQVNTRVJUKGJ1ZmZlckxpc3RTaXplIDw9IFNJWkVfTUFYKTsKLQot
ICAgIG1fbGlzdEJ1ZmZlclNpemUgPSBzdGF0aWNfY2FzdDxzaXplX3Q+KGJ1ZmZlckxpc3RTaXpl
KTsKLSAgICBtX2Nhbm9uaWNhbExpc3QgPSBzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9CdWZmZXJMaXN0
PihzdGF0aWNfY2FzdDxBdWRpb0J1ZmZlckxpc3QqPig6Om9wZXJhdG9yIG5ldyAobV9saXN0QnVm
ZmVyU2l6ZSkpKTsKLSAgICBtZW1zZXQobV9jYW5vbmljYWxMaXN0LmdldCgpLCAwLCBtX2xpc3RC
dWZmZXJTaXplKTsKLSAgICBtX2Nhbm9uaWNhbExpc3QtPm1OdW1iZXJCdWZmZXJzID0gYnVmZmVy
Q291bnQ7Ci0gICAgZm9yICh1aW50MzJfdCBidWZmZXIgPSAwOyBidWZmZXIgPCBidWZmZXJDb3Vu
dDsgKytidWZmZXIpCi0gICAgICAgIG1fY2Fub25pY2FsTGlzdC0+bUJ1ZmZlcnNbYnVmZmVyXS5t
TnVtYmVyQ2hhbm5lbHMgPSBjaGFubmVsQ291bnQ7Ci0KLSAgICByZXNldCgpOwotfQotCi1XZWJB
dWRpb0J1ZmZlckxpc3Q6OldlYkF1ZGlvQnVmZmVyTGlzdChjb25zdCBDQUF1ZGlvU3RyZWFtRGVz
Y3JpcHRpb24mIGZvcm1hdCwgdWludDMyX3Qgc2FtcGxlQ291bnQpCi0gICAgOiBXZWJBdWRpb0J1
ZmZlckxpc3QoZm9ybWF0KQotewotICAgIGlmICghc2FtcGxlQ291bnQpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIHVpbnQzMl90IGJ1ZmZlckNvdW50ID0gZm9ybWF0Lm51bWJlck9mQ2hhbm5lbFN0
cmVhbXMoKTsKLSAgICB1aW50MzJfdCBjaGFubmVsQ291bnQgPSBmb3JtYXQubnVtYmVyT2ZJbnRl
cmxlYXZlZENoYW5uZWxzKCk7Ci0KLSAgICBzaXplX3QgYnl0ZXNQZXJCdWZmZXIgPSBzYW1wbGVD
b3VudCAqIGNoYW5uZWxDb3VudCAqIGZvcm1hdC5ieXRlc1BlckZyYW1lKCk7Ci0gICAgbV9mbGF0
QnVmZmVyLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoYnVmZmVyQ291bnQgKiBieXRlc1BlckJ1ZmZl
cik7Ci0gICAgYXV0byBkYXRhID0gbV9mbGF0QnVmZmVyLmRhdGEoKTsKLQotICAgIGZvciAodWlu
dDMyX3QgYnVmZmVyID0gMDsgYnVmZmVyIDwgbV9jYW5vbmljYWxMaXN0LT5tTnVtYmVyQnVmZmVy
czsgKytidWZmZXIpIHsKLSAgICAgICAgbV9jYW5vbmljYWxMaXN0LT5tQnVmZmVyc1tidWZmZXJd
Lm1EYXRhID0gZGF0YTsKLSAgICAgICAgbV9jYW5vbmljYWxMaXN0LT5tQnVmZmVyc1tidWZmZXJd
Lm1EYXRhQnl0ZVNpemUgPSBieXRlc1BlckJ1ZmZlcjsKLSAgICAgICAgZGF0YSArPSBieXRlc1Bl
ckJ1ZmZlcjsKLSAgICB9Ci0KLSAgICByZXNldCgpOwotfQotCi1XZWJBdWRpb0J1ZmZlckxpc3Q6
OldlYkF1ZGlvQnVmZmVyTGlzdChjb25zdCBDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mIGZvcm1h
dCwgQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlQnVmZmVyKQotICAgIDogV2ViQXVkaW9CdWZmZXJM
aXN0KGZvcm1hdCkKLXsKLQotICAgIGlmICghc2FtcGxlQnVmZmVyKQotICAgICAgICByZXR1cm47
Ci0KLSAgICBDTUJsb2NrQnVmZmVyUmVmIGJ1ZmZlciA9IG51bGxwdHI7Ci0gICAgaWYgKG5vRXJy
ID09IENNU2FtcGxlQnVmZmVyR2V0QXVkaW9CdWZmZXJMaXN0V2l0aFJldGFpbmVkQmxvY2tCdWZm
ZXIoc2FtcGxlQnVmZmVyLCBudWxscHRyLCBtX2Nhbm9uaWNhbExpc3QuZ2V0KCksIG1fbGlzdEJ1
ZmZlclNpemUsIGtDRkFsbG9jYXRvclN5c3RlbURlZmF1bHQsIGtDRkFsbG9jYXRvclN5c3RlbURl
ZmF1bHQsIGtDTVNhbXBsZUJ1ZmZlckZsYWdfQXVkaW9CdWZmZXJMaXN0X0Fzc3VyZTE2Qnl0ZUFs
aWdubWVudCwgJmJ1ZmZlcikpCi0gICAgICAgIG1fYmxvY2tCdWZmZXIgPSBhZG9wdENGKGJ1ZmZl
cik7Ci0KLSAgICByZXNldCgpOwotfQotCi12b2lkIFdlYkF1ZGlvQnVmZmVyTGlzdDo6cmVzZXQo
KQotewotICAgIGlmICghbV9saXN0KQotICAgICAgICBtX2xpc3QgPSBzdGQ6OnVuaXF1ZV9wdHI8
QXVkaW9CdWZmZXJMaXN0PihzdGF0aWNfY2FzdDxBdWRpb0J1ZmZlckxpc3QqPig6Om9wZXJhdG9y
IG5ldyAobV9saXN0QnVmZmVyU2l6ZSkpKTsKLSAgICBtZW1jcHkobV9saXN0LmdldCgpLCBtX2Nh
bm9uaWNhbExpc3QuZ2V0KCksIG1fbGlzdEJ1ZmZlclNpemUpOwotfQotCi1XVEY6Okl0ZXJhdG9y
UmFuZ2U8QXVkaW9CdWZmZXIqPiBXZWJBdWRpb0J1ZmZlckxpc3Q6OmJ1ZmZlcnMoKSBjb25zdAot
ewotICAgIHJldHVybiBXVEY6Om1ha2VJdGVyYXRvclJhbmdlKCZtX2xpc3QtPm1CdWZmZXJzWzBd
LCAmbV9saXN0LT5tQnVmZmVyc1ttX2xpc3QtPm1OdW1iZXJCdWZmZXJzXSk7Ci19Ci0KLXVpbnQz
Ml90IFdlYkF1ZGlvQnVmZmVyTGlzdDo6YnVmZmVyQ291bnQoKSBjb25zdAotewotICAgIHJldHVy
biBtX2xpc3QtPm1OdW1iZXJCdWZmZXJzOwotfQotCi1BdWRpb0J1ZmZlciogV2ViQXVkaW9CdWZm
ZXJMaXN0OjpidWZmZXIodWludDMyX3QgaW5kZXgpIGNvbnN0Ci17Ci0gICAgQVNTRVJUKGluZGV4
IDwgbV9saXN0LT5tTnVtYmVyQnVmZmVycyk7Ci0gICAgaWYgKGluZGV4IDwgbV9saXN0LT5tTnVt
YmVyQnVmZmVycykKLSAgICAgICAgcmV0dXJuICZtX2xpc3QtPm1CdWZmZXJzW2luZGV4XTsKLSAg
ICByZXR1cm4gbnVsbHB0cjsKLX0KLQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vY29jb2EvV2ViQXVkaW9CdWZmZXJMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9jb2NvYS9XZWJBdWRpb0J1ZmZlckxpc3QuaApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggODZiNjVhMjI1M2FmMWFlYjJhMWNhOWNhYTM2Njc4NmNkN2Q2NTUyMC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9XZWJBdWRpb0J1ZmZlckxpc3QuaAorKysgL2Rldi9u
dWxsCkBAIC0xLDcxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1
ZGUgIlBsYXRmb3JtQXVkaW9EYXRhLmgiCi0jaW5jbHVkZSA8d3RmL0l0ZXJhdG9yUmFuZ2UuaD4K
LSNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgotCi1z
dHJ1Y3QgQXVkaW9CdWZmZXI7Ci1zdHJ1Y3QgQXVkaW9CdWZmZXJMaXN0OwotdHlwZWRlZiBzdHJ1
Y3QgT3BhcXVlQ01CbG9ja0J1ZmZlciAqQ01CbG9ja0J1ZmZlclJlZjsKLXR5cGVkZWYgc3RydWN0
IG9wYXF1ZUNNU2FtcGxlQnVmZmVyICpDTVNhbXBsZUJ1ZmZlclJlZjsKLQotbmFtZXNwYWNlIFdl
YkNvcmUgewotCi1jbGFzcyBDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb247Ci0KLWNsYXNzIFdlYkF1
ZGlvQnVmZmVyTGlzdCA6IHB1YmxpYyBQbGF0Zm9ybUF1ZGlvRGF0YSB7Ci1wdWJsaWM6Ci0gICAg
V2ViQXVkaW9CdWZmZXJMaXN0KGNvbnN0IENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYpOwotICAg
IFdFQkNPUkVfRVhQT1JUIFdlYkF1ZGlvQnVmZmVyTGlzdChjb25zdCBDQUF1ZGlvU3RyZWFtRGVz
Y3JpcHRpb24mLCB1aW50MzJfdCBzYW1wbGVDb3VudCk7Ci0gICAgV2ViQXVkaW9CdWZmZXJMaXN0
KGNvbnN0IENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIENNU2FtcGxlQnVmZmVyUmVmKTsKLQot
ICAgIHZvaWQgcmVzZXQoKTsKLQotICAgIEF1ZGlvQnVmZmVyTGlzdCogbGlzdCgpIGNvbnN0IHsg
cmV0dXJuIG1fbGlzdC5nZXQoKTsgfQotICAgIG9wZXJhdG9yIEF1ZGlvQnVmZmVyTGlzdCYoKSBj
b25zdCB7IHJldHVybiAqbV9saXN0OyB9Ci0KLSAgICB1aW50MzJfdCBidWZmZXJDb3VudCgpIGNv
bnN0OwotICAgIEF1ZGlvQnVmZmVyKiBidWZmZXIodWludDMyX3QgaW5kZXgpIGNvbnN0OwotICAg
IFdURjo6SXRlcmF0b3JSYW5nZTxBdWRpb0J1ZmZlcio+IGJ1ZmZlcnMoKSBjb25zdDsKLQotcHJp
dmF0ZToKLSAgICBLaW5kIGtpbmQoKSBjb25zdCB7IHJldHVybiBLaW5kOjpXZWJBdWRpb0J1ZmZl
ckxpc3Q7IH0KLQotICAgIHNpemVfdCBtX2xpc3RCdWZmZXJTaXplIHsgMCB9OwotICAgIHN0ZDo6
dW5pcXVlX3B0cjxBdWRpb0J1ZmZlckxpc3Q+IG1fY2Fub25pY2FsTGlzdDsKLSAgICBzdGQ6OnVu
aXF1ZV9wdHI8QXVkaW9CdWZmZXJMaXN0PiBtX2xpc3Q7Ci0gICAgUmV0YWluUHRyPENNQmxvY2tC
dWZmZXJSZWY+IG1fYmxvY2tCdWZmZXI7Ci0gICAgVmVjdG9yPHVpbnQ4X3Q+IG1fZmxhdEJ1ZmZl
cjsKLX07Ci0KLX0KLQotU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpXZWJB
dWRpb0J1ZmZlckxpc3QpCi1zdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6UGxhdGZv
cm1BdWRpb0RhdGEmIGRhdGEpIHsgcmV0dXJuIGRhdGEua2luZCgpID09IFdlYkNvcmU6OlBsYXRm
b3JtQXVkaW9EYXRhOjpLaW5kOjpXZWJBdWRpb0J1ZmZlckxpc3Q7IH0KLVNQRUNJQUxJWkVfVFlQ
RV9UUkFJVFNfRU5EKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwCmluZGV4IDk2OGJiMjI4NmExZjdlNTg0
NjRlZjg4ZDc5ZTYxZWY0MjQ5MDE1NWYuLjNlMmM4MmI4YjEyZWRhMDlkYjQzZjRjMTMwMTRjNWJi
YWMwYjcwMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rp
c3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5j
bHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiRGlzcGxheVJl
ZnJlc2hNb25pdG9yTWFuYWdlci5oIgorI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIAogI2lmIFBMQVRG
T1JNKElPUykKICNpbmNsdWRlICJEaXNwbGF5UmVmcmVzaE1vbml0b3JJT1MuaCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlTcGVjaWZpY2F0
aW9uTnVsbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5
U3BlY2lmaWNhdGlvbk51bGwuY3BwCmluZGV4IDIxNzY5MWY3MjM5NzRlODAwNTc5YjI4Y2MwNTZh
N2I5YzA4NWM2NGQuLjE1YzAzODc2OTgyNjBmNDA1ZTIyZTViZjUyNzgwMDMwOGM3ZmUzYmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlTcGVj
aWZpY2F0aW9uTnVsbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udEZhbWlseVNwZWNpZmljYXRpb25OdWxsLmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1
ZGUgIkZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5oIgogCiAjaW5jbHVkZSAiRm9udFNlbGVj
dG9yLmgiCisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSGFzaC5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL1dlYkdMTGF5ZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9XZWJHTExheWVyLm1tCmluZGV4IDNlZDdlNDFlN2M2ODg0NmYzZmJjMTcyY2U2YmE5
ODlmZjg3ZjU3ZWIuLmI4Nzc3NDZiYTUxYWVkY2YzYjA2NjA1ODRiYTkzZGQ0Yzc5NzE3YzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdMTGF5
ZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xM
YXllci5tbQpAQCAtNDIsMTMgKzQyLDExIEBACiAjaW1wb3J0IDxPcGVuR0wvZ2wuaD4KICNlbmRp
ZgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogQGltcGxlbWVudGF0aW9uIFdlYkdMTGF5
ZXIKIAogQHN5bnRoZXNpemUgY29udGV4dD1fY29udGV4dDsKIAotLShpZClpbml0V2l0aEdyYXBo
aWNzQ29udGV4dDNEOihHcmFwaGljc0NvbnRleHQzRCopY29udGV4dAorLShpZClpbml0V2l0aEdy
YXBoaWNzQ29udGV4dDNEOihXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRCopY29udGV4dAogewog
ICAgIF9jb250ZXh0ID0gY29udGV4dDsKICAgICBzZWxmID0gW3N1cGVyIGluaXRdOwpAQCAtODYs
NyArODQsNyBAQCBzdGF0aWMgdm9pZCBmcmVlRGF0YSh2b2lkICosIGNvbnN0IHZvaWQgKmRhdGEs
IHNpemVfdCAvKiBzaXplICovKQogfQogI2VuZGlmCiAKLS0oQ0dJbWFnZVJlZiljb3B5SW1hZ2VT
bmFwc2hvdFdpdGhDb2xvclNwYWNlOihDR0NvbG9yU3BhY2VSZWYpY29sb3JTcGFjZQorLSAoQ0dJ
bWFnZVJlZiljb3B5SW1hZ2VTbmFwc2hvdFdpdGhDb2xvclNwYWNlOihDR0NvbG9yU3BhY2VSZWYp
Y29sb3JTcGFjZQogewogICAgIGlmICghX2NvbnRleHQpCiAgICAgICAgIHJldHVybiBudWxscHRy
OwpAQCAtOTYsNyArOTQsNyBAQCAtKENHSW1hZ2VSZWYpY29weUltYWdlU25hcHNob3RXaXRoQ29s
b3JTcGFjZTooQ0dDb2xvclNwYWNlUmVmKWNvbG9yU3BhY2UKIAogICAgIFJldGFpblB0cjxDR0Nv
bG9yU3BhY2VSZWY+IGltYWdlQ29sb3JTcGFjZSA9IGNvbG9yU3BhY2U7CiAgICAgaWYgKCFpbWFn
ZUNvbG9yU3BhY2UpCi0gICAgICAgIGltYWdlQ29sb3JTcGFjZSA9IHNSR0JDb2xvclNwYWNlUmVm
KCk7CisgICAgICAgIGltYWdlQ29sb3JTcGFjZSA9IFdlYkNvcmU6OnNSR0JDb2xvclNwYWNlUmVm
KCk7CiAKICAgICBDR1JlY3QgbGF5ZXJCb3VuZHMgPSBDR1JlY3RJbnRlZ3JhbChbc2VsZiBib3Vu
ZHNdKTsKIApAQCAtMTQxLDEzICsxMzksMTMgQEAgLSAodm9pZClkaXNwbGF5CiAjZW5kaWYKIAog
ICAgIF9jb250ZXh0LT5tYXJrTGF5ZXJDb21wb3NpdGVkKCk7Ci0gICAgUGxhdGZvcm1DQUxheWVy
KiBsYXllciA9IFBsYXRmb3JtQ0FMYXllcjo6cGxhdGZvcm1DQUxheWVyKChfX2JyaWRnZSB2b2lk
KilzZWxmKTsKKyAgICBXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXIqIGxheWVyID0gV2ViQ29yZTo6
UGxhdGZvcm1DQUxheWVyOjpwbGF0Zm9ybUNBTGF5ZXIoKF9fYnJpZGdlIHZvaWQqKXNlbGYpOwog
ICAgIGlmIChsYXllciAmJiBsYXllci0+b3duZXIoKSkKICAgICAgICAgbGF5ZXItPm93bmVyKCkt
PnBsYXRmb3JtQ0FMYXllckxheWVyRGlkRGlzcGxheShsYXllcik7CiB9CiAKICNpZiBVU0UoT1BF
TkdMKQotLSAodm9pZClhbGxvY2F0ZUlPU3VyZmFjZUJhY2tpbmdTdG9yZVdpdGhTaXplOihJbnRT
aXplKXNpemUgdXNpbmdBbHBoYTooQk9PTCl1c2luZ0FscGhhCistICh2b2lkKWFsbG9jYXRlSU9T
dXJmYWNlQmFja2luZ1N0b3JlV2l0aFNpemU6KFdlYkNvcmU6OkludFNpemUpc2l6ZSB1c2luZ0Fs
cGhhOihCT09MKXVzaW5nQWxwaGEKIHsKICAgICBfYnVmZmVyU2l6ZSA9IHNpemU7CiAgICAgX3Vz
aW5nQWxwaGEgPSB1c2luZ0FscGhhOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvV2ViR1BVTGF5ZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbQppbmRleCA1YzM1NTdmOGJkNjZhNjhjOTIz
YjIzYWE2NDdiYjcxNDg0MDllOWExLi4yNWVmYjhiNzQ3NjgwMjQ1NThkYmNkZjMwZjc0MzE4NzE0
Njk1NWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9XZWJHUFVMYXllci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJHUFVMYXllci5tbQpAQCAtMzQsMTMgKzM0LDExIEBACiAjaW1wb3J0IDx3dGYvRmFz
dE1hbGxvYy5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCi11c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKLQogQGltcGxlbWVudGF0aW9uIFdlYkdQVUxheWVyCiAKIEBzeW50aGVzaXplIGNv
bnRleHQ9X2NvbnRleHQ7CiAKLS0gKGlkKWluaXRXaXRoR1BVRGV2aWNlOihHUFVEZXZpY2UqKWNv
bnRleHQKKy0gKGlkKWluaXRXaXRoR1BVRGV2aWNlOihXZWJDb3JlOjpHUFVEZXZpY2UqKWNvbnRl
eHQKIHsKICAgICBzZWxmID0gW3N1cGVyIGluaXRdOwogICAgIF9jb250ZXh0ID0gY29udGV4dDsK
QEAgLTUwLDcgKzQ4LDcgQEAgLSAoaWQpaW5pdFdpdGhHUFVEZXZpY2U6KEdQVURldmljZSopY29u
dGV4dAogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHNlbGYuY29udGVudHNTY2FsZSA9IF9kZXZp
Y2VQaXhlbFJhdGlvOwotICAgIHNlbGYuY29sb3JzcGFjZSA9IHNSR0JDb2xvclNwYWNlUmVmKCk7
CisgICAgc2VsZi5jb2xvcnNwYWNlID0gV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYoKTsKICNl
bmRpZgogICAgIHJldHVybiBzZWxmOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29tbWFuZFF1ZXVlTWV0YWwubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbQppbmRl
eCA4MjBhZjhiYzE2ZGIzYjQ4NjVlNzliN2I4MjRkYjJjN2I0ZGYzZWNjLi4zMDNiMjVkYTNkNGE2
NGVkMWIwMDMwYjcyYjlmZGJjNmY5NjVjMzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5t
bQpAQCAtMzEsNiArMzEsNyBAQAogI2ltcG9ydCAiR1BVRGV2aWNlLmgiCiAjaW1wb3J0ICJMb2dn
aW5nLmgiCiAjaW1wb3J0IDxNZXRhbC9NZXRhbC5oPgorI2ltcG9ydCA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvUGFzdGVib2FyZE1hYy5tbQppbmRleCBjYjUwNGNmNTQzZWI3ZTgwZDc2NjVjZDFlNTdl
MzA4OWFmZmIxYTcwLi5mZDZlOTI5ODc3NGZhZjRmZTg3MzViZjI3NTY1YWRjOTUzMmJmNjM2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQpAQCAtNTIs
MTAgKzUyLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY29uc3QgY2hhciogY29uc3QgV2Vi
QXJjaGl2ZVBib2FyZFR5cGUgPSAiQXBwbGUgV2ViIEFyY2hpdmUgcGFzdGVib2FyZCB0eXBlIjsK
IGNvbnN0IGNoYXIqIGNvbnN0IFdlYlVSTE5hbWVQYm9hcmRUeXBlID0gInB1YmxpYy51cmwtbmFt
ZSI7Citjb25zdCBjaGFyKiBjb25zdCBXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGUgPSAiV2Vi
VVJMc1dpdGhUaXRsZXNQYm9hcmRUeXBlIjsKIAogY29uc3QgY2hhciBXZWJTbWFydFBhc3RlUGJv
YXJkVHlwZVtdID0gIk5lWFQgc21hcnQgcGFzdGUgcGFzdGVib2FyZCB0eXBlIjsKIGNvbnN0IGNo
YXIgV2ViVVJMUGJvYXJkVHlwZVtdID0gInB1YmxpYy51cmwiOwotY29uc3QgY2hhciBXZWJVUkxz
V2l0aFRpdGxlc1Bib2FyZFR5cGVbXSA9ICJXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGUiOwog
CiBzdGF0aWMgY29uc3QgVmVjdG9yPFN0cmluZz4gd3JpdGFibGVUeXBlc0ZvclVSTCgpCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxh
eUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29hLmNwcAppbmRleCA1YzJhOWQyNDE5
OGExM2U0OGM0ZjczZTlkZTYxZGQzN2FkZTkyNTUxLi5mNDkyZTYxNDJmMDIzMWI5OTdlOTZiYTU5
Mjc5NTg4NTY4MDkzM2FjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2Nv
YS5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKKyNp
bmNsdWRlICJDb3JlVmlkZW9Tb2Z0TGluay5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNs
dWRlIDx3dGYvQWxnb3JpdGhtcy5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVl
c3RCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1
ZXN0QmFzZS5jcHAKaW5kZXggMjU0MDk2NTZjM2Q2MzIwMzYxNjVmYWIxZGQ3NDllODhmY2E2ODQ4
Mi4uZmY1ODM2MTc0ZWFiOTU5NTI4YTIwN2JmYmFhYjYwMDM5ZDliNTAzMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2Uu
Y3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiSFRUUEhlYWRlck5hbWVzLmgiCiAjaW5j
bHVkZSAiUHVibGljU3VmZml4LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCisjaW5j
bHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5UG9saWN5LmgiCiAj
aW5jbHVkZSA8d3RmL1BvaW50ZXJDb21wYXJpc29uLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9j
a0Zsb3cuY3BwCmluZGV4IDNiYzgyYzZlMWFiZDJmYWM0M2IwOTljOGU2ZTNjY2YzNjZkZDg1M2Iu
LjJjMmI1MDhmYWM1YzZmYzg0NjI4NWM5ZmZhODk1YTdiNDAyMmI4ZWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxv
dy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVC
dWlsZGVyQmxvY2tGbG93LmNwcApAQCAtMjcsNiArMjcsOCBAQAogI2luY2x1ZGUgIlJlbmRlclRy
ZWVCdWlsZGVyQmxvY2tGbG93LmgiCiAKICNpbmNsdWRlICJSZW5kZXJNdWx0aUNvbHVtbkZsb3cu
aCIKKyNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlckJsb2NrLmgiCisjaW5jbHVkZSAiUmVuZGVy
VHJlZUJ1aWxkZXJNdWx0aUNvbHVtbi5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRl
cklubGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJl
ZUJ1aWxkZXJJbmxpbmUuY3BwCmluZGV4IDdjZDA3MTVkZjUyNGE3NmZkMjA2YTIzNDI4ZDlkYWM3
ZDdkODUzZjguLmRjOTUzY2NkY2VlODMwMWRmZDA1OTdhNjFkMDUyZTNjNTBiOWY2MWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRl
cklubGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRl
clRyZWVCdWlsZGVySW5saW5lLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIlJlbmRl
ckZ1bGxTY3JlZW4uaCIKICNpbmNsdWRlICJSZW5kZXJJbmxpbmUuaCIKICNpbmNsdWRlICJSZW5k
ZXJUYWJsZS5oIgorI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyVGFibGUuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJB
cmNoaXZlLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZS5tbQppbmRleCBi
MTc0MmZkZmRkMzg2OWVhZGQzZDdjNWFlZTcwNWU2NjFmOTdlZWRjLi5iOGM5NzJmN2VjMThlYjdk
NGM5YTcxZGUyYjRlMWUyYzY1ZGU4NzY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9BUElXZWJBcmNoaXZlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hp
dmUubW0KQEAgLTM0LDkgKzM0LDggQEAKICNpbmNsdWRlIDxXZWJDb3JlL0xlZ2FjeVdlYkFyY2hp
dmUuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwotCiBuYW1lc3BhY2UgQVBJIHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBSZWY8
V2ViQXJjaGl2ZT4gV2ViQXJjaGl2ZTo6Y3JlYXRlKFdlYkFyY2hpdmVSZXNvdXJjZSogbWFpblJl
c291cmNlLCBSZWZQdHI8QVBJOjpBcnJheT4mJiBzdWJyZXNvdXJjZXMsIFJlZlB0cjxBUEk6OkFy
cmF5PiYmIHN1YmZyYW1lQXJjaGl2ZXMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElX
ZWJBcmNoaXZlUmVzb3VyY2UubW0KaW5kZXggY2FlNWI4NWRmMTc3ZGRkZTY4ZDg1MmU1ZTUwNmQ4
ZDkyYmUyZWE5NC4uZGMwZjkwZjBmMzg1MWFiZjEwMDQ4NGJhNTczYWU0YWY4ZTgwYjIzMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmVSZXNvdXJjZS5tbQpAQCAtMzMs
OSArMzMsOCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvVVJMLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFp
blB0ci5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogbmFtZXNwYWNlIEFQSSB7Cit1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogUmVmPFdlYkFyY2hpdmVSZXNvdXJjZT4gV2ViQXJj
aGl2ZVJlc291cmNlOjpjcmVhdGUoQVBJOjpEYXRhKiBkYXRhLCBjb25zdCBTdHJpbmcmIFVSTCwg
Y29uc3QgU3RyaW5nJiBNSU1FVHlwZSwgY29uc3QgU3RyaW5nJiB0ZXh0RW5jb2RpbmcpCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRz
Y2FwZVBsdWdpbk1vZHVsZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0
c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tCmluZGV4IDY4ZDdjNmFkZjM2Mjc1
MTMxMjk2MzU2Mjg2ZjExZTg0OWMxNGMyYzAuLmMwY2NhYzU5ODUzY2ZhZmZkOWZmMWQxZTNkNjhi
NjdkNjQ1N2Y3YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0
c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tCkBA
IC0zNCw5ICszNCw4IEBACiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgogI2ltcG9ydCA8d3Rm
L3NwaS9jZi9DRkJ1bmRsZVNQSS5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogbmFt
ZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogc3RhdGljIGJvb2wg
Z2V0UGx1Z2luQXJjaGl0ZWN0dXJlKENGQnVuZGxlUmVmIGJ1bmRsZSwgUGx1Z2luTW9kdWxlSW5m
byYgcGx1Z2luKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9O
ZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9QbHVnaW5zL05ldHNjYXBlL21hYy9QbHVnaW5JbmZvcm1hdGlvbk1hYy5tbQppbmRleCA1ZWM4
NDI0OTU5Y2JjMTkyODg2ZmE3NWFiZjAzZjNkODg1YmNiMWQ5Li4zMjU4NGQ0MTZiZTBmZjI1ZTll
OTFkZGY0Mjg3MGUzMzk0ZjQ5MzY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Q
bHVnaW5zL05ldHNjYXBlL21hYy9QbHVnaW5JbmZvcm1hdGlvbk1hYy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9QbHVnaW5JbmZvcm1hdGlvbk1hYy5t
bQpAQCAtMzQsOSArMzQsOCBAQAogI2ltcG9ydCAiU3RyaW5nVXRpbGl0aWVzLmgiCiAjaW1wb3J0
IDxXZWJDb3JlL1BsdWdpbkJsYWNrbGlzdC5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
LQogbmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogdm9pZCBn
ZXRQbGF0Zm9ybVBsdWdpbk1vZHVsZUluZm9ybWF0aW9uKGNvbnN0IFBsdWdpbk1vZHVsZUluZm8m
IHBsdWdpbiwgQVBJOjpEaWN0aW9uYXJ5OjpNYXBUeXBlJiBtYXApCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2Nv
YS50eHQKaW5kZXggZDhhM2M5MGRmZmUzMjIzMjJkNzYzZWUyMWU3Y2JhNDUwZmU4NWZjZi4uNGI4
ZDQ4MDZiNDRmMjIwNDY1ODU3N2ViN2E5Njc4Y2I4ZTM0NzliZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29h
LnR4dApAQCAtMjk4LDkgKzI5OCw5IEBAIFVJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbSBAbm8t
dW5pZnkKIAogVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5Q29jb2EubW0KIAotVUlQcm9jZXNzL0FwcGxlUGF5L2lvcy9XZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eUlPUy5tbQorVUlQcm9jZXNzL0FwcGxlUGF5L2lvcy9XZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eUlPUy5tbSBAbm8tdW5pZnkKIAotVUlQcm9jZXNzL0FwcGxlUGF5L21hYy9XZWJQYXlt
ZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbQorVUlQcm9jZXNzL0FwcGxlUGF5L21hYy9XZWJQYXlt
ZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbSBAbm8tdW5pZnkKIAogVUlQcm9jZXNzL0F1dGhlbnRp
Y2F0aW9uL2NvY29hL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHlDb2NvYS5tbQogVUlQcm9j
ZXNzL0F1dGhlbnRpY2F0aW9uL2NvY29hL1NlY0tleVByb3h5U3RvcmUubW0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50
LmgKaW5kZXggYmZjNWVlMzM4MjIwZDkxNTZmY2NmMDBjMWU3NmQwYmJlZTkwNDE5MC4uMzc5Yzg4
NTdiZTk0YjYxOTU1NWVkZmZlYzRjM2E5YTZlMTc3OTQ4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmgKQEAg
LTUxLDcgKzUxLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB+QXV0b21hdGlvblNlc3Npb25D
bGllbnQoKSB7IH0KIAotICAgIHZpcnR1YWwgU3RyaW5nIHNlc3Npb25JZGVudGlmaWVyKCkgY29u
c3QgeyByZXR1cm4gU3RyaW5nKCk7IH0KKyAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIHNlc3Npb25J
ZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gV1RGOjpTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwg
dm9pZCBkaWREaXNjb25uZWN0RnJvbVJlbW90ZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9u
JikgeyB9CiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3ROZXdQYWdlV2l0aE9wdGlvbnMoV2ViS2l0
OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIEF1dG9tYXRpb25TZXNzaW9uQnJvd3NpbmdDb250ZXh0
T3B0aW9ucywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJLaXQ6OldlYlBhZ2VQcm94eSopPiYm
IGNvbXBsZXRpb25IYW5kbGVyKSB7IGNvbXBsZXRpb25IYW5kbGVyKG51bGxwdHIpOyB9CiAgICAg
dmlydHVhbCB2b2lkIHJlcXVlc3RNYXhpbWl6ZVdpbmRvd09mUGFnZShXZWJLaXQ6OldlYkF1dG9t
YXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIoKTsgfQpAQCAt
NjEsOCArNjEsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzU2hvd2luZ0phdmFTY3Jp
cHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2Vi
UGFnZVByb3h5JikgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlzbWlzc0N1
cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24m
LCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBhY2NlcHRDdXJy
ZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwg
V2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IH0KLSAgICB2aXJ0dWFsIFN0cmluZyBtZXNzYWdlT2ZD
dXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9u
JiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IHJldHVybiBTdHJpbmcoKTsgfQotICAgIHZpcnR1
YWwgdm9pZCBzZXRVc2VySW5wdXRGb3JDdXJyZW50SmF2YVNjcmlwdFByb21wdE9uUGFnZShXZWJL
aXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBjb25zdCBT
dHJpbmcmKSB7IH0KKyAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIG1lc3NhZ2VPZkN1cnJlbnRKYXZh
U2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6
OldlYlBhZ2VQcm94eSYpIHsgcmV0dXJuIFdURjo6U3RyaW5nKCk7IH0KKyAgICB2aXJ0dWFsIHZv
aWQgc2V0VXNlcklucHV0Rm9yQ3VycmVudEphdmFTY3JpcHRQcm9tcHRPblBhZ2UoV2ViS2l0OjpX
ZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JiwgY29uc3QgV1RGOjpT
dHJpbmcmKSB7IH0KICAgICB2aXJ0dWFsIHN0ZDo6b3B0aW9uYWw8SmF2YVNjcmlwdERpYWxvZ1R5
cGU+IHR5cGVPZkN1cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21h
dGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgcmV0dXJuIHN0ZDo6bnVsbG9w
dDsgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTGVn
YWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tCmluZGV4IDExYmEz
NzI2NTQ4M2ZmZTdmZjI0NjUwOTQwZDhmMzNhNTJjMGMwNGEuLjE5YTU5YjQyY2FiN2I1NDdlZDk0
NDYwZTcyZmMwMzk2Y2ZlNzkyODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQu
bW0KQEAgLTMyLDIzICszMiwyMCBAQAogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3Qu
aD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgogCi11c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KIEBpbnRlcmZhY2UgV0tDdXN0
b21Qcm90b2NvbExvYWRlciA6IE5TT2JqZWN0IDxOU1VSTENvbm5lY3Rpb25EZWxlZ2F0ZT4gewog
QHByaXZhdGUKLSAgICBMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSogX2N1c3RvbVBy
b3RvY29sTWFuYWdlclByb3h5OworICAgIFdlYktpdDo6TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5h
Z2VyUHJveHkqIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTsKICAgICB1aW50NjRfdCBfY3Vz
dG9tUHJvdG9jb2xJRDsKICAgICBOU1VSTENhY2hlU3RvcmFnZVBvbGljeSBfc3RvcmFnZVBvbGlj
eTsKICAgICBOU1VSTENvbm5lY3Rpb24gKl91cmxDb25uZWN0aW9uOwogfQotLSAoaWQpaW5pdFdp
dGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTooTGVnYWN5Q3VzdG9tUHJvdG9jb2xN
YW5hZ2VyUHJveHkqKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5IGN1c3RvbVByb3RvY29sSUQ6
KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVz
dDsKKy0gKGlkKWluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6KFdlYktp
dDo6TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqKWN1c3RvbVByb3RvY29sTWFuYWdl
clByb3h5IGN1c3RvbVByb3RvY29sSUQ6KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVz
dDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdDsKIC0gKHZvaWQpY3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
UHJveHlEZXN0cm95ZWQ7CiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXS0N1c3RvbVByb3RvY29s
TG9hZGVyCiAKLS0gKGlkKWluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6
KExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiljdXN0b21Qcm90b2NvbE1hbmFnZXJQ
cm94eSBjdXN0b21Qcm90b2NvbElEOih1aW50NjRfdCljdXN0b21Qcm90b2NvbElEIHJlcXVlc3Q6
KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QKKy0gKGlkKWluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9j
b2xNYW5hZ2VyUHJveHk6KFdlYktpdDo6TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkq
KWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5IGN1c3RvbVByb3RvY29sSUQ6KHVpbnQ2NF90KWN1
c3RvbVByb3RvY29sSUQgcmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdAogewogICAgIHNl
bGYgPSBbc3VwZXIgaW5pdF07CiAgICAgaWYgKCFzZWxmKQpAQCAtODUsNyArODIsNyBAQCAtICh2
b2lkKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5RGVzdHJveWVkCiAKIC0gKHZvaWQpY29ubmVj
dGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiBkaWRGYWlsV2l0aEVycm9yOihOU0Vy
cm9yICopZXJyb3IKIHsKLSAgICBSZXNvdXJjZUVycm9yIGNvcmVFcnJvcihlcnJvcik7CisgICAg
V2ViQ29yZTo6UmVzb3VyY2VFcnJvciBjb3JlRXJyb3IoZXJyb3IpOwogICAgIF9jdXN0b21Qcm90
b2NvbE1hbmFnZXJQcm94eS0+ZGlkRmFpbFdpdGhFcnJvcihfY3VzdG9tUHJvdG9jb2xJRCwgY29y
ZUVycm9yKTsKICAgICBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHktPnN0b3BMb2FkaW5nKF9j
dXN0b21Qcm90b2NvbElEKTsKIH0KQEAgLTk5LDcgKzk2LDcgQEAgLSAoTlNDYWNoZWRVUkxSZXNw
b25zZSAqKWNvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gd2lsbENhY2hl
UmVzcG8KIAogLSAodm9pZCljb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9u
IGRpZFJlY2VpdmVSZXNwb25zZTooTlNVUkxSZXNwb25zZSAqKXJlc3BvbnNlCiB7Ci0gICAgUmVz
b3VyY2VSZXNwb25zZSBjb3JlUmVzcG9uc2UocmVzcG9uc2UpOworICAgIFdlYkNvcmU6OlJlc291
cmNlUmVzcG9uc2UgY29yZVJlc3BvbnNlKHJlc3BvbnNlKTsKICAgICBfY3VzdG9tUHJvdG9jb2xN
YW5hZ2VyUHJveHktPmRpZFJlY2VpdmVSZXNwb25zZShfY3VzdG9tUHJvdG9jb2xJRCwgY29yZVJl
c3BvbnNlLCBfc3RvcmFnZVBvbGljeSk7CiB9CiAKQEAgLTEyNyw2ICsxMjQsNyBAQCAtICh2b2lk
KWNvbm5lY3Rpb25EaWRGaW5pc2hMb2FkaW5nOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9u
CiBAZW5kCiAKIG5hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
IHZvaWQgTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50OjpzdGFydExvYWRpbmcoTGVn
YWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkmIG1hbmFnZXIsIHVpbnQ2NF90IGN1c3RvbVBy
b3RvY29sSUQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgY29yZVJlcXVlc3QpCiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5j
cHAKaW5kZXggYzJiOTFhNjM5NzNlNjMxMjBhYWU1MjhmODk3NTM4NWY3YjZkYmY2Mi4uZWRlZDlj
N2QyYTRlNThlM2QwNThkODMyNjgzMTA5ODE4MmFmNDQ3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcApAQCAtNDgs
NyArNDgsNyBAQCBzdGF0aWMgY29uc3QgU2Vjb25kcyBzbmFwc2hvdHRpbmdNaW5pbXVtTGlmZXRp
bWUgeyAzMF9zIH07CiBzdGF0aWMgY29uc3QgU2Vjb25kcyBzaHV0ZG93blRpbWVvdXQgeyAxX21p
biB9Owogc3RhdGljIGNvbnN0IFNlY29uZHMgc25hcHNob3R0aW5nU2h1dGRvd25UaW1lb3V0IHsg
MTVfcyB9OwogCi1zdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVDYWxsYmFja0lEKCkKK3N0YXRpYyB1
aW50NjRfdCBnZW5lcmF0ZVBsdWdpblByb2Nlc3NDYWxsYmFja0lEKCkKIHsKICAgICBzdGF0aWMg
dWludDY0X3QgY2FsbGJhY2tJRDsKIApAQCAtMTE0LDcgKzExNCw3IEBAIHZvaWQgUGx1Z2luUHJv
Y2Vzc1Byb3h5OjpnZXRQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbihNZXNzYWdlczo6V2ViUHJvY2Vz
c1Byb3h5OjpHCiAKIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKENv
bXBsZXRpb25IYW5kbGVyPHZvaWQgKFZlY3RvcjxTdHJpbmc+KT4mJiBjb21wbGV0aW9uSGFuZGxl
cikKIHsKLSAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7Cisg
ICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQo
KTsKICAgICBtX3BlbmRpbmdGZXRjaFdlYnNpdGVEYXRhQ2FsbGJhY2tzLnNldChjYWxsYmFja0lE
LCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAKICAgICBpZiAoc3RhdGUoKSA9PSBTdGF0
ZTo6TGF1bmNoaW5nKSB7CkBAIC0xMjcsNyArMTI3LDcgQEAgdm9pZCBQbHVnaW5Qcm9jZXNzUHJv
eHk6OmZldGNoV2Vic2l0ZURhdGEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAoVmVjdG9yPFN0cmlu
Zz4KIAogdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhKFdhbGxUaW1l
IG1vZGlmaWVkU2luY2UsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQgKCk+JiYgY29tcGxldGlvbkhh
bmRsZXIpCiB7Ci0gICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgp
OworICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVBsdWdpblByb2Nlc3NDYWxsYmFj
a0lEKCk7CiAgICAgbV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFDYWxsYmFja3Muc2V0KGNhbGxi
YWNrSUQsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIGlmIChzdGF0ZSgpID09
IFN0YXRlOjpMYXVuY2hpbmcpIHsKQEAgLTE0MCw3ICsxNDAsNyBAQCB2b2lkIFBsdWdpblByb2Nl
c3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEoV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSwgQ29tcGxl
dGlvbkhhbgogCiB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JI
b3N0TmFtZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGhvc3ROYW1lcywgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICB1aW50NjRfdCBjYWxsYmFj
a0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7CisgICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdl
bmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQoKTsKICAgICBtX3BlbmRpbmdEZWxldGVXZWJz
aXRlRGF0YUZvckhvc3ROYW1lc0NhbGxiYWNrcy5zZXQoY2FsbGJhY2tJRCwgV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcikpOwogCiAgICAgaWYgKHN0YXRlKCkgPT0gU3RhdGU6OkxhdW5jaGluZykg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lv
cy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9k
ZURlbGVnYXRlSU9TLm1tCmluZGV4IDRhMmUyOWI1NjA5NjFhNTliMWNiNTUxOTc4MzkxNDljMzEw
Njg0YzIuLjcyYTg4MmYwNTgxZDVlYWM5MWZjMTRiYzA1YTAyZjE0NGYxNmMxMWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5n
VHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdh
dGVJT1MubW0KQEAgLTQzLDggKzQzLDYgQEAKICNpbXBvcnQgPFdlYkNvcmUvU2Nyb2xsU25hcE9m
ZnNldHNJbmZvLmg+CiAjZW5kaWYKIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIEBpbXBs
ZW1lbnRhdGlvbiBXS1Njcm9sbGluZ05vZGVTY3JvbGxWaWV3RGVsZWdhdGUKIAogLSAoaW5zdGFu
Y2V0eXBlKWluaXRXaXRoU2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZTooV2ViS2l0OjpTY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TKilkZWxlZ2F0ZQpAQCAtODAsNyArNzgsNyBA
QCAtICh2b2lkKXNjcm9sbFZpZXdXaWxsRW5kRHJhZ2dpbmc6KFVJU2Nyb2xsVmlldyAqKXNjcm9s
bFZpZXcgd2l0aFZlbG9jaXR5OihDR1BvaQogCiAgICAgaWYgKCFfc2Nyb2xsaW5nVHJlZU5vZGVE
ZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0cygpLmlzRW1wdHko
KSkgewogICAgICAgICB1bnNpZ25lZCBpbmRleDsKLSAgICAgICAgZmxvYXQgcG90ZW50aWFsU25h
cFBvc2l0aW9uID0gY2xvc2VzdFNuYXBPZmZzZXQoX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUt
PnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNldHMoKSwgX3Njcm9sbGluZ1RyZWVO
b2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNldFJhbmdlcygp
LCBob3Jpem9udGFsVGFyZ2V0LCB2ZWxvY2l0eS54LCBpbmRleCk7CisgICAgICAgIGZsb2F0IHBv
dGVudGlhbFNuYXBQb3NpdGlvbiA9IFdlYkNvcmU6OmNsb3Nlc3RTbmFwT2Zmc2V0KF9zY3JvbGxp
bmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuaG9yaXpvbnRhbFNuYXBPZmZzZXRz
KCksIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuaG9yaXpvbnRh
bFNuYXBPZmZzZXRSYW5nZXMoKSwgaG9yaXpvbnRhbFRhcmdldCwgdmVsb2NpdHkueCwgaW5kZXgp
OwogICAgICAgICBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnNl
dEN1cnJlbnRIb3Jpem9udGFsU25hcFBvaW50SW5kZXgoaW5kZXgpOwogICAgICAgICBpZiAoaG9y
aXpvbnRhbFRhcmdldCA+PSAwICYmIGhvcml6b250YWxUYXJnZXQgPD0gc2Nyb2xsVmlldy5jb250
ZW50U2l6ZS53aWR0aCkKICAgICAgICAgICAgIHRhcmdldENvbnRlbnRPZmZzZXQtPnggPSBwb3Rl
bnRpYWxTbmFwUG9zaXRpb247CkBAIC04OCw3ICs4Niw3IEBAIC0gKHZvaWQpc2Nyb2xsVmlld1dp
bGxFbmREcmFnZ2luZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldyB3aXRoVmVsb2NpdHk6KENH
UG9pCiAKICAgICBpZiAoIV9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2Rl
KCkudmVydGljYWxTbmFwT2Zmc2V0cygpLmlzRW1wdHkoKSkgewogICAgICAgICB1bnNpZ25lZCBp
bmRleDsKLSAgICAgICAgZmxvYXQgcG90ZW50aWFsU25hcFBvc2l0aW9uID0gY2xvc2VzdFNuYXBP
ZmZzZXQoX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52ZXJ0aWNh
bFNuYXBPZmZzZXRzKCksIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2Rl
KCkudmVydGljYWxTbmFwT2Zmc2V0UmFuZ2VzKCksIHZlcnRpY2FsVGFyZ2V0LCB2ZWxvY2l0eS55
LCBpbmRleCk7CisgICAgICAgIGZsb2F0IHBvdGVudGlhbFNuYXBQb3NpdGlvbiA9IFdlYkNvcmU6
OmNsb3Nlc3RTbmFwT2Zmc2V0KF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdO
b2RlKCkudmVydGljYWxTbmFwT2Zmc2V0cygpLCBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+
c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2FsU25hcE9mZnNldFJhbmdlcygpLCB2ZXJ0aWNhbFRhcmdl
dCwgdmVsb2NpdHkueSwgaW5kZXgpOwogICAgICAgICBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0
ZS0+c2Nyb2xsaW5nTm9kZSgpLnNldEN1cnJlbnRWZXJ0aWNhbFNuYXBQb2ludEluZGV4KGluZGV4
KTsKICAgICAgICAgaWYgKHZlcnRpY2FsVGFyZ2V0ID49IDAgJiYgdmVydGljYWxUYXJnZXQgPD0g
c2Nyb2xsVmlldy5jb250ZW50U2l6ZS5oZWlnaHQpCiAgICAgICAgICAgICB0YXJnZXRDb250ZW50
T2Zmc2V0LT55ID0gcG90ZW50aWFsU25hcFBvc2l0aW9uOwpAQCAtMTIyLDYgKzEyMCw3IEBAIC0g
KHZvaWQpc2Nyb2xsVmlld0RpZEVuZERlY2VsZXJhdGluZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xs
VmlldwogQGVuZAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwogCiBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TOjpTY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TKFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlJiBzY3Jv
bGxpbmdOb2RlKQogICAgIDogU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZShzY3Jv
bGxpbmdOb2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9T
dG9yYWdlUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2Uv
U3RvcmFnZVByb2Nlc3NQcm94eS5jcHAKaW5kZXggZWZhOGQxM2NiYmQ1ZmZhODA4YjVmMGVkYmY0
YTUxZGM5ZGY4NTdlNy4uM2ExMzFiNGQ2MGQ4YWEwN2U4N2ZiNWU0YzYxNGYzMGE3ZDQyYjU3NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vz
c1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQ
cm9jZXNzUHJveHkuY3BwCkBAIC0zNyw3ICszNyw3IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1zdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVDYWxsYmFj
a0lEKCkKK3N0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgp
CiB7CiAgICAgc3RhdGljIHVpbnQ2NF90IGNhbGxiYWNrSUQ7CiAKQEAgLTEwNSw3ICsxMDUsNyBA
QCB2b2lkIFN0b3JhZ2VQcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9u
SUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8VwogewogICAgIEFTU0VSVChjYW5TZW5kTWVzc2FnZSgp
KTsKIAotICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAg
ICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQo
KTsKICAgICBtX3BlbmRpbmdGZXRjaFdlYnNpdGVEYXRhQ2FsbGJhY2tzLmFkZChjYWxsYmFja0lE
LCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAKICAgICBzZW5kKE1lc3NhZ2VzOjpTdG9y
YWdlUHJvY2Vzczo6RmV0Y2hXZWJzaXRlRGF0YShzZXNzaW9uSUQsIGRhdGFUeXBlcywgY2FsbGJh
Y2tJRCksIDApOwpAQCAtMTEzLDcgKzExMyw3IEBAIHZvaWQgU3RvcmFnZVByb2Nlc3NQcm94eTo6
ZmV0Y2hXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXCiAK
IHZvaWQgU3RvcmFnZVByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9u
SUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiBkYXRhVHlwZXMsIFdhbGxU
aW1lIG1vZGlmaWVkU2luY2UsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQgKCk+JiYgY29tcGxldGlv
bkhhbmRsZXIpCiB7Ci0gICAgYXV0byBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7
CisgICAgYXV0byBjYWxsYmFja0lEID0gZ2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQo
KTsKIAogICAgIG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRhQ2FsbGJhY2tzLmFkZChjYWxsYmFj
a0lELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAgICAgc2VuZChNZXNzYWdlczo6U3Rv
cmFnZVByb2Nlc3M6OkRlbGV0ZVdlYnNpdGVEYXRhKHNlc3Npb25JRCwgZGF0YVR5cGVzLCBtb2Rp
ZmllZFNpbmNlLCBjYWxsYmFja0lEKSwgMCk7CkBAIC0xMjMsNyArMTIzLDcgQEAgdm9pZCBTdG9y
YWdlUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoUEFMOjpTZXNzaW9u
SUQgc2Vzc2lvbklELAogewogICAgIEFTU0VSVChjYW5TZW5kTWVzc2FnZSgpKTsKIAotICAgIHVp
bnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1aW50NjRfdCBj
YWxsYmFja0lEID0gZ2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQoKTsKICAgICBtX3Bl
bmRpbmdEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnNDYWxsYmFja3MuYWRkKGNhbGxiYWNrSUQs
IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIHNlbmQoTWVzc2FnZXM6OlN0b3Jh
Z2VQcm9jZXNzOjpEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoc2Vzc2lvbklELCBkYXRhVHlw
ZXMsIG9yaWdpbnMsIGNhbGxiYWNrSUQpLCAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGM3NzE1NTkwZWQ3MWNjZGQyM2RmMjg1YTNh
YTdjMzZlNTQzZGI3ZjYuLmJjN2MyNDNmNDc5NmFjYzJlY2U0YzRmZWNjNDQ5MjkyNThjZGI0NTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtNzU2LDYgKzc1Niw4IEBACiAJCTJEOTJBNzk1MjEyQjZBRDQwMEY0OTNGRCAvKiBQbHVnaW5Q
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkQ5MEQxMTI4MUM5NjYwMDFFQjk2MiAvKiBQbHVnaW5Qcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCAqLzsgfTsKIAkJMkQ5MkE3OTYyMTJCNkFEQTAwRjQ5
M0ZEIC8qIE5ldHNjYXBlUGx1Z2luTW9kdWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNEE5QzUzMTJCODE2Q0YwMDhGRTk4NCAvKiBOZXRzY2Fw
ZVBsdWdpbk1vZHVsZS5jcHAgKi87IH07CiAJCTJEOTJBNzk3MjEyQjZBREEwMEY0OTNGRCAvKiBQ
bHVnaW5JbmZvcm1hdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3QzNGOEM4RTE3M0FGNTJEMDA3QjdGMzkgLyogUGx1Z2luSW5mb3JtYXRpb24u
Y3BwICovOyB9OworCQkyRDkyQTc5ODIxMzQ4RDg1MDBGNDkzRkQgLyogV2ViUGF5bWVudENvb3Jk
aW5hdG9yUHJveHlNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQUIxRjc3RDFEMUIzMEE5MDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHlNYWMubW0gKi87IH07CisJCTJEOTJBNzlGMjEzNEIwN0UwMEY0OTNGRCAvKiBXZWJQYXlt
ZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFBQjFGNzdCMUQxQjMwQTkwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eUlPUy5tbSAqLzsgfTsKIAkJMkQ5MzExNjkyMTJGNjFCMjAwMDQ0QkZFIC8q
IFdLQ29udGVudFZpZXcubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRkNCNEUzRDE4QkJFMDQ0MDAwRkNGQzkgLyogV0tDb250ZW50Vmlldy5tbSAqLzsg
fTsKIAkJMkQ5MzExNkEyMTJGNjFCNTAwMDQ0QkZFIC8qIFdLQ29udGVudFZpZXdJbnRlcmFjdGlv
bi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0I0
RTZCMThCQkYyNkEwMDBGQ0ZDOSAvKiBXS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gKi87IH07
CiAJCTJEOUVBMzBEMUE5NkNCNTkwMDJEMjgwNyAvKiBXS1BhZ2VJbmplY3RlZEJ1bmRsZUNsaWVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5RUEz
MEMxQTk2Q0I1OTAwMkQyODA3IC8qIFdLUGFnZUluamVjdGVkQnVuZGxlQ2xpZW50LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTExMjQxLDYgKzEx
MjQzLDggQEAKIAkJCQk3Q0U5Q0UxMDFGQTA3NjdBMDAwMTc3REUgLyogV2ViUGFnZVVwZGF0ZVBy
ZWZlcmVuY2VzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDNDY5NEM5MUE0QjRFQTEwMEFENTg0
NSAvKiBXZWJQYXN0ZWJvYXJkUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMUFCMUY3OTYxRDFCMzYxMzAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvck1l
c3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDkyQTc5RjIxMzRCMDdFMDBG
NDkzRkQgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlJT1MubW0gaW4gU291cmNlcyAqLywK
KwkJCQkyRDkyQTc5ODIxMzQ4RDg1MDBGNDkzRkQgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJv
eHlNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQUIxRjc5ODFEMUIzNjEzMDA3QzlCRDEgLyog
V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkQ5MkE3OEQyMTJCNkFCMTAwRjQ5M0ZEIC8qIFdlYlBsYXRmb3JtVG91Y2hQb2lu
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDkxMzQ0RTIxMkNGOUYwMDAxMjhBRkQgLyogV2Vi
UGx1Z2luSW5mb1Byb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5tbSBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0KaW5kZXggNTMwN2UyNmE3NjM3
ZThhNjliMDQ1YWJiOTI4NzlmM2Y4YzY1ODZmMi4uNGNhYTZjYzBmNjA0NTBjMDNiMjJhMjg0ZGQx
M2FmMjVlZmQ2ZTM4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdp
bnMvUERGL1BERlBsdWdpbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lu
cy9QREYvUERGUGx1Z2luLm1tCkBAIC04OCw4ICs4OCw2IEBACiAjaW1wb3J0IDxwYWwvc3BpL21h
Yy9OU01lbnVTUEkuaD4KICNpbXBvcnQgPHd0Zi9VVUlELmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwotCiAvLyBTZXQgb3ZlcmZsb3c6IGhpZGRlbiBvbiB0aGUgYW5ub3RhdGlvbiBjb250
YWluZXIgc28gPGlucHV0PiBlbGVtZW50cyBzY3JvbGxlZCBvdXQgb2YgdmlldyBkb24ndCBzaG93
CiAvLyBzY3JvbGxiYXJzIG9uIHRoZSBib2R5LiBXZSBjYW4ndCBhZGQgYW5ub3RhdGlvbnMgZGly
ZWN0bHkgdG8gdGhlIGJvZHksIGJlY2F1c2Ugb3ZlcmZsb3c6IGhpZGRlbiBvbiB0aGUgYm9keQog
Ly8gd2lsbCBicmVhayBydWJiZXItYmFuZGluZy4KQEAgLTI5MCw3ICsyODgsNyBAQCAtIChOU0Fy
cmF5ICopYWNjZXNzaWJpbGl0eUFjdGlvbk5hbWVzCiAtICh2b2lkKWFjY2Vzc2liaWxpdHlQZXJm
b3JtQWN0aW9uOihOU1N0cmluZyAqKWFjdGlvbgogewogICAgIGlmIChbYWN0aW9uIGlzRXF1YWxU
b1N0cmluZzpOU0FjY2Vzc2liaWxpdHlTaG93TWVudUFjdGlvbl0pCi0gICAgICAgIF9wZGZQbHVn
aW4tPnNob3dDb250ZXh0TWVudUF0UG9pbnQoSW50UmVjdChJbnRQb2ludCgpLCBfcGRmUGx1Z2lu
LT5zaXplKCkpLmNlbnRlcigpKTsKKyAgICAgICAgX3BkZlBsdWdpbi0+c2hvd0NvbnRleHRNZW51
QXRQb2ludChXZWJDb3JlOjpJbnRSZWN0KFdlYkNvcmU6OkludFBvaW50KCksIF9wZGZQbHVnaW4t
PnNpemUoKSkuY2VudGVyKCkpOwogfQogCiAtIChCT09MKWFjY2Vzc2liaWxpdHlJc0F0dHJpYnV0
ZVNldHRhYmxlOihOU1N0cmluZyAqKWF0dHJpYnV0ZQpAQCAtMzE2LDggKzMxNCw4IEBAIC0gKGlk
KWFjY2Vzc2liaWxpdHlGb2N1c2VkVUlFbGVtZW50CiB7CiAjaWYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMDEzMDAKICAgICBpZiAoV2ViS2l0OjpQREZQbHVnaW5Bbm5vdGF0
aW9uKiBhY3RpdmVBbm5vdGF0aW9uID0gX3BkZlBsdWdpbi0+YWN0aXZlQW5ub3RhdGlvbigpKSB7
Ci0gICAgICAgIGlmIChBWE9iamVjdENhY2hlKiBleGlzdGluZ0NhY2hlID0gX3BkZlBsdWdpbi0+
YXhPYmplY3RDYWNoZSgpKSB7Ci0gICAgICAgICAgICBpZiAoQWNjZXNzaWJpbGl0eU9iamVjdCog
b2JqZWN0ID0gZXhpc3RpbmdDYWNoZS0+Z2V0T3JDcmVhdGUoYWN0aXZlQW5ub3RhdGlvbi0+ZWxl
bWVudCgpKSkKKyAgICAgICAgaWYgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGUqIGV4aXN0aW5nQ2Fj
aGUgPSBfcGRmUGx1Z2luLT5heE9iamVjdENhY2hlKCkpIHsKKyAgICAgICAgICAgIGlmIChXZWJD
b3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QgPSBleGlzdGluZ0NhY2hlLT5nZXRPckNy
ZWF0ZShhY3RpdmVBbm5vdGF0aW9uLT5lbGVtZW50KCkpKQogI3ByYWdtYSBjbGFuZyBkaWFnbm9z
dGljIHB1c2gKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV2RlcHJlY2F0ZWQt
ZGVjbGFyYXRpb25zIgogICAgICAgICAgICAgICAgIHJldHVybiBbb2JqZWN0LT53cmFwcGVyKCkg
YWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOkAiX0FYQXNzb2NpYXRlZFBsdWdpblBhcmVudCJd
OwpAQCAtMzM4LDExICszMzYsMTEgQEAgLSAoaWQpYWNjZXNzaWJpbGl0eUFzc29jaWF0ZWRDb250
cm9sRm9yQW5ub3RhdGlvbjooUERGQW5ub3RhdGlvbiAqKWFubm90YXRpb24KICAgICBpZiAoIWFj
dGl2ZUFubm90YXRpb24gfHwgIVthY3RpdmVBbm5vdGF0aW9uLT5hbm5vdGF0aW9uKCkgaXNFcXVh
bDphbm5vdGF0aW9uXSkKICAgICAgICAgcmV0dXJuIG5pbDsKICAgICAKLSAgICBBWE9iamVjdENh
Y2hlKiBjYWNoZSA9IF9wZGZQbHVnaW4tPmF4T2JqZWN0Q2FjaGUoKTsKKyAgICBXZWJDb3JlOjpB
WE9iamVjdENhY2hlKiBjYWNoZSA9IF9wZGZQbHVnaW4tPmF4T2JqZWN0Q2FjaGUoKTsKICAgICBp
ZiAoIWNhY2hlKQogICAgICAgICByZXR1cm4gbmlsOwogICAgIAotICAgIEFjY2Vzc2liaWxpdHlP
YmplY3QqIG9iamVjdCA9IGNhY2hlLT5nZXRPckNyZWF0ZShhY3RpdmVBbm5vdGF0aW9uLT5lbGVt
ZW50KCkpOworICAgIFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCA9IGNhY2hl
LT5nZXRPckNyZWF0ZShhY3RpdmVBbm5vdGF0aW9uLT5lbGVtZW50KCkpOwogICAgIGlmICghb2Jq
ZWN0KQogICAgICAgICByZXR1cm4gbmlsOwogCkBAIC0zNTMsNyArMzUxLDcgQEAgLSAoaWQpYWNj
ZXNzaWJpbGl0eUFzc29jaWF0ZWRDb250cm9sRm9yQW5ub3RhdGlvbjooUERGQW5ub3RhdGlvbiAq
KWFubm90YXRpb24KIC0gKGlkKWFjY2Vzc2liaWxpdHlIaXRUZXN0OihOU1BvaW50KXBvaW50CiB7
CiAjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDAKLSAgICBwb2lu
dCA9IF9wZGZQbHVnaW4tPmNvbnZlcnRGcm9tUm9vdFZpZXdUb1BERlZpZXcoSW50UG9pbnQocG9p
bnQpKTsKKyAgICBwb2ludCA9IF9wZGZQbHVnaW4tPmNvbnZlcnRGcm9tUm9vdFZpZXdUb1BERlZp
ZXcoV2ViQ29yZTo6SW50UG9pbnQocG9pbnQpKTsKICAgICByZXR1cm4gW19wZGZMYXllckNvbnRy
b2xsZXIgYWNjZXNzaWJpbGl0eUhpdFRlc3Q6cG9pbnRdOwogI2Vsc2UKICAgICByZXR1cm4gc2Vs
ZjsKQEAgLTQyMSw3ICs0MTksNyBAQCAtIChpZClpbml0V2l0aFBERlBsdWdpbjooV2ViS2l0OjpQ
REZQbHVnaW4gKilwbHVnaW4KIAogLSAodm9pZCl1cGRhdGVTY3JvbGxQb3NpdGlvbjooQ0dQb2lu
dCluZXdQb3NpdGlvbgogewotICAgIF9wZGZQbHVnaW4tPm5vdGlmeVNjcm9sbFBvc2l0aW9uQ2hh
bmdlZChJbnRQb2ludChuZXdQb3NpdGlvbikpOworICAgIF9wZGZQbHVnaW4tPm5vdGlmeVNjcm9s
bFBvc2l0aW9uQ2hhbmdlZChXZWJDb3JlOjpJbnRQb2ludChuZXdQb3NpdGlvbikpOwogfQogCiAt
ICh2b2lkKXdyaXRlSXRlbXNUb1Bhc3RlYm9hcmQ6KE5TQXJyYXkgKilpdGVtcyB3aXRoVHlwZXM6
KE5TQXJyYXkgKil0eXBlcwpAQCAtNTAwLDYgKzQ5OCwxMCBAQCAtIChOU1JlY3QpY29udmVydFJl
Y3Q6KE5TUmVjdClyZWN0IGZyb21QYWdlOihQREZQYWdlICopIHBhZ2UgZm9yU2NhbGVGYWN0b3I6
KENHRgogLSAoUERGUGFnZSAqKXBhZ2VOZWFyZXN0UG9pbnQ6KE5TUG9pbnQpcG9pbnQgY3VycmVu
dFBhZ2U6KFBERlBhZ2UgKiljdXJyZW50UGFnZTsKIEBlbmQKIAorbmFtZXNwYWNlIFdlYktpdCB7
Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKK3VzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CisK
IHN0YXRpYyBjb25zdCBjaGFyKiBwb3N0U2NyaXB0TUlNRVR5cGUgPSAiYXBwbGljYXRpb24vcG9z
dHNjcmlwdCI7CiBjb25zdCB1aW50NjRfdCBwZGZEb2N1bWVudFJlcXVlc3RJRCA9IDE7IC8vIFBs
dWdpbkNvbnRyb2xsZXIgc3VwcG9ydHMgbG9hZGluZyBtdWx0aXBsZSBzdHJlYW1zLCBidXQgd2Ug
b25seSBuZWVkIG9uZSBmb3IgUERGLgogCkBAIC01OTYsOSArNTk4LDYgQEAgc3RhdGljIHZvaWQg
Z2V0QWxsU2NyaXB0c0luUERGRG9jdW1lbnQoQ0dQREZEb2N1bWVudFJlZiBwZGZEb2N1bWVudCwg
VmVjdG9yPFJldGEKICAgICB9CiB9CiAKLW5hbWVzcGFjZSBXZWJLaXQgewotdXNpbmcgbmFtZXNw
YWNlIEhUTUxOYW1lczsKLQogUmVmPFBERlBsdWdpbj4gUERGUGx1Z2luOjpjcmVhdGUoV2ViRnJh
bWUmIGZyYW1lKQogewogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFBERlBsdWdpbihmcmFtZSkp
OwpAQCAtMTQ1MCw3ICsxNDQ5LDcgQEAgdm9pZCBQREZQbHVnaW46OnVwZGF0ZUN1cnNvcihjb25z
dCBXZWJNb3VzZUV2ZW50JiBldmVudCwgVXBkYXRlQ3Vyc29yTW9kZSBtb2RlKQogICAgIGlmICho
aXRUZXN0UmVzdWx0ID09IG1fbGFzdEhpdFRlc3RSZXN1bHQgJiYgbW9kZSA9PSBVcGRhdGVJZk5l
ZWRlZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgd2ViRnJhbWUoKS0+cGFnZSgpLT5zZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNldEN1cnNvcihoaXRUZXN0UmVzdWx0ID09IFRleHQgPyBp
QmVhbUN1cnNvcigpIDogcG9pbnRlckN1cnNvcigpKSk7CisgICAgd2ViRnJhbWUoKS0+cGFnZSgp
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNldEN1cnNvcihoaXRUZXN0UmVzdWx0ID09
IFRleHQgPyBXZWJDb3JlOjppQmVhbUN1cnNvcigpIDogV2ViQ29yZTo6cG9pbnRlckN1cnNvcigp
KSk7CiAgICAgbV9sYXN0SGl0VGVzdFJlc3VsdCA9IGhpdFRlc3RSZXN1bHQ7CiB9CiAjZW5kaWYK
QEAgLTE5ODEsMTYgKzE5ODAsMTYgQEAgdm9pZCBQREZQbHVnaW46Om5vdGlmeVNlbGVjdGlvbkNo
YW5nZWQoUERGU2VsZWN0aW9uICopCiAgICAgd2ViRnJhbWUoKS0+cGFnZSgpLT5kaWRDaGFuZ2VT
ZWxlY3Rpb24oKTsKIH0KIAotc3RhdGljIGNvbnN0IEN1cnNvciYgY29yZUN1cnNvcihQREZMYXll
ckNvbnRyb2xsZXJDdXJzb3JUeXBlIHR5cGUpCitzdGF0aWMgY29uc3QgV2ViQ29yZTo6Q3Vyc29y
JiBjb3JlQ3Vyc29yKFBERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGUgdHlwZSkKIHsKICAgICBz
d2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIGtQREZMYXllckNvbnRyb2xsZXJDdXJzb3JUeXBlSGFu
ZDoKLSAgICAgICAgcmV0dXJuIGhhbmRDdXJzb3IoKTsKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6
OmhhbmRDdXJzb3IoKTsKICAgICBjYXNlIGtQREZMYXllckNvbnRyb2xsZXJDdXJzb3JUeXBlSUJl
YW06Ci0gICAgICAgIHJldHVybiBpQmVhbUN1cnNvcigpOworICAgICAgICByZXR1cm4gV2ViQ29y
ZTo6aUJlYW1DdXJzb3IoKTsKICAgICBjYXNlIGtQREZMYXllckNvbnRyb2xsZXJDdXJzb3JUeXBl
UG9pbnRlcjoKICAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gcG9pbnRlckN1cnNvcigpOwor
ICAgICAgICByZXR1cm4gV2ViQ29yZTo6cG9pbnRlckN1cnNvcigpOwogICAgIH0KIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348215</attachid>
            <date>2018-08-27 15:30:25 -0700</date>
            <delta_ts>2018-08-27 15:48:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189009-20180827153024.patch</filename>
            <type>text/plain</type>
            <size>51679</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1Mzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDI5MmM2NDA4MzcwZGM0YWY2ZmVmYmQ0
MzZlZGNhYTc3ZDA3NWUzOWEuLjgxMTBlZGU5NjU0OWM4MjM0YTNiYjJjNzM1NmFiYjAyNDIxNDJm
MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3Jl
IHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL2dlbmVy
YXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmI6CisgICAgICAgIEl0IHR1cm5zIG91dCBvdXIg
cGxhbiB0byBzd2l0Y2ggdW5pZmllZCBzb3VyY2UgYnVuZGxlIGV2ZXJ5IHRpbWUgdGhlIGRpcmVj
dG9yeQorICAgICAgICBjaGFuZ2VzIGlzIG5vdCBhIGdvb2QgZml0IGZvciBwcm9qZWN0cyBsaWtl
IFdlYktpdDIgd2l0aCBtYW55IHNtYWxsIGRpcmVjdG9yaWVzLgorICAgICAgICBJdCBsZWF2ZXMg
bWFueSB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIHdpdGggb25seSBhIHNpbmdsZSBzb3VyY2UgZmls
ZSwKKyAgICAgICAgYWNoaWV2aW5nIG9ubHkgfjQwJSBkZW5zaXR5LgorCisgICAgICAgIEluc3Rl
YWQsIHN3aXRjaCB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIGV2ZXJ5IHRpbWUgdGhlIHRvcC1sZXZl
bCBkaXJlY3RvcnkgY2hhbmdlcy4KKyAgICAgICAgVGhpcyBzdGlsbCBhY2hpZXZlcyB0aGUgZ29h
bCBvZiAqdXN1YWxseSogb25seSByZWJ1aWxkaW5nIHRoZSBvbmUgdG9wLWxldmVsCisgICAgICAg
IGRpcmVjdG9yeSB5b3UgdG91Y2hlZCwgYW5kIGluY3JlYXNlcyBzb3VyY2UgYnVuZGxlIGRlbnNp
dHkgd2lsZGx5LCB0byB+OTUlLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTgt
MDgtMjcgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxk
IHN5c3RlbSBzdXBwb3J0IGZvciBMVE8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhMGI5YTAyZDQ5MWQzYzc0NDBh
Y2U4YTIyNDFjNGU1MzUwYzVmNTE0Li4yMDA5OWQwOTZiMDhiM2E0ZjkxOTE2YmRlZDdhNTZlNWUw
YjgzYjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQg
c291cmNlcyBtb3JlIHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1
Y3R1cmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
ODkwMDkKKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgRml4
IGEgdmFyaWV0eSBvZiB1bmlmaWNhdGlvbiBlcnJvcnMgZHVlIHRvIHJlc2h1ZmZsaW5nIHRoZSBi
dW5kbGVzLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9B
bGdvcml0aG1FQ0RTQS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1FQ0RT
QTo6aW1wb3J0S2V5KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBodG1s
L3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKiBwYWdlL0FsdGVybmF0
aXZlVGV4dENsaWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL1Bhc3RlYm9hcmQuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHA6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5tbToKKyAgICAgICAg
KC1bV2ViR0xMYXllciBpbml0V2l0aEdyYXBoaWNzQ29udGV4dDNEOl0pOgorICAgICAgICAoLVtX
ZWJHTExheWVyIGNvcHlJbWFnZVNuYXBzaG90V2l0aENvbG9yU3BhY2U6XSk6CisgICAgICAgICgt
W1dlYkdMTGF5ZXIgZGlzcGxheV0pOgorICAgICAgICAoLVtXZWJHTExheWVyIGFsbG9jYXRlSU9T
dXJmYWNlQmFja2luZ1N0b3JlV2l0aFNpemU6dXNpbmdBbHBoYTpdKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbToKKyAgICAgICAgKC1bV2ViR1BVTGF5
ZXIgaW5pdFdpdGhHUFVEZXZpY2U6XSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0
YWwvR1BVQ29tbWFuZFF1ZXVlTWV0YWwubW06CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Bhc3Rl
Ym9hcmRNYWMubW06CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlD
YXB0dXJlTWFuYWdlckNvY29hLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlUmVxdWVzdEJhc2UuY3BwOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJU
cmVlQnVpbGRlckJsb2NrRmxvdy5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVCdWlsZGVySW5saW5lLmNwcDoKKwogMjAxOC0wOC0yNyAgS2VpdGggUm9sbGluICA8
a3JvbGxpbkBhcHBsZS5jb20+CiAKICAgICAgICAgQnVpbGQgc3lzdGVtIHN1cHBvcnQgZm9yIExU
TwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCAwZjg2OGYwZTliYWUyNjgxMWZiZjI0ZDFjOWFmNGU4OWZkMjNlZDE3Li5j
OWI0OTBhODMwNjI2ZmU0YzkzYTA1OWI0M2FhNGM0MTVlYTlhOTM4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDUyIEBACisyMDE4LTA4LTI3ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUu
Y29tPgorCisgICAgICAgIEJ1bmRsZSB1bmlmaWVkIHNvdXJjZXMgbW9yZSB0aWdodGx5IGluIHBy
b2plY3RzIHdpdGggZGVlcCBkaXJlY3Rvcnkgc3RydWN0dXJlcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5MDA5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIEZpeCBhIHZhcmlldHkgb2YgdW5pZmljYXRpb24g
ZXJyb3JzIGR1ZSB0byByZXNodWZmbGluZyB0aGUgYnVuZGxlcy4KKworICAgICAgICAqIFNoYXJl
ZC9BUElXZWJBcmNoaXZlLm1tOgorICAgICAgICAqIFNoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3Vy
Y2UubW06CisgICAgICAgICogU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1
Z2luTW9kdWxlTWFjLm1tOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9Q
bHVnaW5JbmZvcm1hdGlvbk1hYy5tbToKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaDoKKyAgICAg
ICAgKEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6OnNlc3Npb25JZGVudGlmaWVyIGNvbnN0
KToKKyAgICAgICAgKEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6Om1lc3NhZ2VPZkN1cnJl
bnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKToKKyAgICAgICAgKEFQSTo6QXV0b21hdGlvblNlc3Np
b25DbGllbnQ6OnNldFVzZXJJbnB1dEZvckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xp
ZW50Lm1tOgorICAgICAgICAoLVtXS0N1c3RvbVByb3RvY29sTG9hZGVyIGluaXRXaXRoTGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6Y3VzdG9tUHJvdG9jb2xJRDpyZXF1ZXN0Ol0pOgor
ICAgICAgICAoLVtXS0N1c3RvbVByb3RvY29sTG9hZGVyIGNvbm5lY3Rpb246ZGlkRmFpbFdpdGhF
cnJvcjpdKToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBjb25uZWN0aW9uOmRp
ZFJlY2VpdmVSZXNwb25zZTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Q
cm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZVBsdWdpblByb2Nlc3ND
YWxsYmFja0lEKToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpmZXRjaFdl
YnNpdGVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVX
ZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRl
V2Vic2l0ZURhdGFGb3JIb3N0TmFtZXMpOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZUNhbGxi
YWNrSUQpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9z
L1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW06CisgICAgICAgICgtW1dL
U2Nyb2xsaW5nTm9kZVNjcm9sbFZpZXdEZWxlZ2F0ZSBzY3JvbGxWaWV3V2lsbEVuZERyYWdnaW5n
OndpdGhWZWxvY2l0eTp0YXJnZXRDb250ZW50T2Zmc2V0Ol0pOgorICAgICAgICAqIFVJUHJvY2Vz
cy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpnZW5l
cmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VQ
cm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdl
UHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlN0b3Jh
Z2VQcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyk6CisgICAgICAgIChX
ZWJLaXQ6OmdlbmVyYXRlQ2FsbGJhY2tJRCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BE
Ri9QREZQbHVnaW4ubW06CisgICAgICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVj
dCBhY2Nlc3NpYmlsaXR5UGVyZm9ybUFjdGlvbjpdKToKKyAgICAgICAgKC1bV0tQREZQbHVnaW5B
Y2Nlc3NpYmlsaXR5T2JqZWN0IGFjY2Vzc2liaWxpdHlGb2N1c2VkVUlFbGVtZW50XSk6CisgICAg
ICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5QXNzb2Np
YXRlZENvbnRyb2xGb3JBbm5vdGF0aW9uOl0pOgorICAgICAgICAoLVtXS1BERlBsdWdpbkFjY2Vz
c2liaWxpdHlPYmplY3QgYWNjZXNzaWJpbGl0eUhpdFRlc3Q6XSk6CisgICAgICAgICgtW1dLUERG
TGF5ZXJDb250cm9sbGVyRGVsZWdhdGUgdXBkYXRlU2Nyb2xsUG9zaXRpb246XSk6CisgICAgICAg
IChXZWJLaXQ6OlBERlBsdWdpbjo6dXBkYXRlQ3Vyc29yKToKKyAgICAgICAgKFdlYktpdDo6Y29y
ZUN1cnNvcik6CisgICAgICAgIChhcHBlbmRWYWx1ZXNJblBERk5hbWVTdWJ0cmVlVG9WZWN0b3Ip
OiBEZWxldGVkLgorICAgICAgICAoZ2V0QWxsVmFsdWVzSW5QREZOYW1lVHJlZSk6IERlbGV0ZWQu
CisgICAgICAgIChnZXRBbGxTY3JpcHRzSW5QREZEb2N1bWVudCk6IERlbGV0ZWQuCisKIDIwMTgt
MDgtMjcgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAg
ICAgICBGaXggaW50ZXJuYWwgYnVpbGRzIGFmdGVyIHIyMzUzNjgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvU2NyaXB0cy9nZW5lcmF0ZS11bmlmaWVkLXNvdXJjZS1idW5kbGVzLnJiIGIvU291cmNl
L1dURi9TY3JpcHRzL2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKaW5kZXggYzAx
OTY2ZWUxYjJjNjdkOTc2MGYwM2E1YmJjYWEzY2I1NzI2MTJiMy4uYWJkOTc2NzdhMjBhZGI0ZDQ2
MmViOThmNzc4ZDk4MDI5YmRkNDk5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL2dl
bmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKKysrIGIvU291cmNlL1dURi9TY3JpcHRz
L2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKQEAgLTIxMCwxMCArMjEwLDE3IEBA
IGNsYXNzIEJ1bmRsZU1hbmFnZXIKICAgICBlbmQKIGVuZAogCitkZWYgVG9wTGV2ZWxEaXJlY3Rv
cnlGb3JQYXRoKHBhdGgpCisgICAgaWYgIXBhdGgKKyAgICAgICAgcmV0dXJuIG5pbAorICAgIGVu
ZAorICAgIHJldHVybiBwYXRoLmVhY2hfZmlsZW5hbWUubmV4dAorZW5kCisKIGRlZiBQcm9jZXNz
RmlsZUZvclVuaWZpZWRTb3VyY2VHZW5lcmF0aW9uKHNvdXJjZUZpbGUpCiAgICAgcGF0aCA9IHNv
dXJjZUZpbGUucGF0aAotICAgIGlmICgkY3VycmVudERpcmVjdG9yeSAhPSBwYXRoLmRpcm5hbWUp
Ci0gICAgICAgIGxvZygiRmx1c2hpbmcgYmVjYXVzZSBuZXcgZGlybmFtZTsgb2xkOiAjeyRjdXJy
ZW50RGlyZWN0b3J5fSwgbmV3OiAje3BhdGguZGlybmFtZX0iKQorICAgIGlmIChUb3BMZXZlbERp
cmVjdG9yeUZvclBhdGgoJGN1cnJlbnREaXJlY3RvcnkpICE9IFRvcExldmVsRGlyZWN0b3J5Rm9y
UGF0aChwYXRoLmRpcm5hbWUpKQorICAgICAgICBsb2coIkZsdXNoaW5nIGJlY2F1c2UgbmV3IHRv
cCBsZXZlbCBkaXJlY3Rvcnk7IG9sZDogI3skY3VycmVudERpcmVjdG9yeX0sIG5ldzogI3twYXRo
LmRpcm5hbWV9IikKICAgICAgICAgJGJ1bmRsZU1hbmFnZXJzLmVhY2hfdmFsdWUgeyB8eHwgeC5m
bHVzaCB9CiAgICAgICAgICRjdXJyZW50RGlyZWN0b3J5ID0gcGF0aC5kaXJuYW1lCiAgICAgZW5k
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYv
UGxhdGZvcm0uaAppbmRleCAwYzZlZmI4NjI5ODI1MzlkMmI0YjJjYzRmOGY4YjVmY2I0ZWM4OGU4
Li42N2NmYTkzMzEzYzkwNDIxZWI2Y2YxNzlkOThlZjcwM2RhMGU0OWRiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgK
QEAgLTEzMTQsNiArMTMxNCw3IEBACiAjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX1RP
VUNIX0JBUiAxCiAjZGVmaW5lIEhBVkVfQURWQU5DRURfU1BFTExfQ0hFQ0tJTkcgMQorI2RlZmlu
ZSBVU0VfRElDVEFUSU9OX0FMVEVSTkFUSVZFUyAxCiAKICNpZiBkZWZpbmVkKF9fTFA2NF9fKQog
I2RlZmluZSBFTkFCTEVfV0VCX1BMQVlCQUNLX0NPTlRST0xTX01BTkFHRVIgMQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29udHJvbGxlci5jcHAKaW5k
ZXggOTYxMzJlNjk3MzdhZTk4YTYwZjk1NGYxZjMxMTgzODQxMDcxZTBhOS4uY2RiNzc3ZTk5OTI5
MjIxY2YwYThmMDExNDJiMmQwN2VkZTllZmVkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwCkBAIC0yNyw2ICsyNyw3IEBA
CiAKICNpZiBFTkFCTEUoV0VCX1JUQykKIAorI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVk
ZSAiTGliV2ViUlRDUHJvdmlkZXIuaCIKICNpbmNsdWRlICJSVENQZWVyQ29ubmVjdGlvbi5oIgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dl
YkNvcmUvU291cmNlc0NvY29hLnR4dAppbmRleCA2NmY3ZjE2YmQ2NGY4MmM0MzJiZWFlZDhlNzBk
MWI1ZmYwNjNhNTE3Li45NTdlNGI1YjY2MWI0MDIwZjBhMjFlZTAwOTVjMDE3NjQ2ZTQ5M2EzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKQEAgLTM4OSw3ICszODksNyBAQCBwbGF0Zm9ybS9pb3Mv
UGxhdGZvcm1TY3JlZW5JT1MubW0KIHBsYXRmb3JtL2lvcy9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNp
emVySU9TLm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1BsYXliYWNrU2Vzc2lvbkludGVyZmFj
ZUFWS2l0Lm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1F1aWNrTG9vay5tbQotcGxhdGZvcm0v
aW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tCitwbGF0Zm9ybS9pb3MvUXVpY2tMb29rU29mdExpbmsu
bW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLm1tCiBw
bGF0Zm9ybS9pb3MvU2Nyb2xsQW5pbWF0b3JJT1MubW0KIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJU
aGVtZUlPUy5tbQpAQCAtMzk5LDcgKzM5OSw3IEBAIHBsYXRmb3JtL2lvcy9TU0xLZXlHZW5lcmF0
b3JJT1MuY3BwCiBwbGF0Zm9ybS9pb3MvU3lzdGVtTWVtb3J5SU9TLmNwcAogcGxhdGZvcm0vaW9z
L1RoZW1lSU9TLm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1RpbGVDb250cm9sbGVyTWVtb3J5
SGFuZGxlcklPUy5jcHAKLXBsYXRmb3JtL2lvcy9Vc2VyQWdlbnRJT1MubW0KK3BsYXRmb3JtL2lv
cy9Vc2VyQWdlbnRJT1MubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvVmFsaWRhdGlvbkJ1YmJs
ZUlPUy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdC5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIubW0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCA3MjU1ZDI2NWM3NzIxNWVjMDliYTM4ZDk2N2NhNGNkN2U4YWExNjU4Li5lMDVjOGEwYmU3
ZmNjODM0NWUxNWQ2ODZkNzc3NDhjZDg2YmI2MTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04MDYsNiArODA2LDggQEAKIAkJ
MkQ4QjkyRkYyMDNEMTNFMTAwOUM4NjhGIC8qIFVuaWZpZWRTb3VyY2U1MzAuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gREU1Rjg1RDMxRkEyMzg1OTAw
NkRCNjNCIC8qIFVuaWZpZWRTb3VyY2U1MzAuY3BwICovOyB9OwogCQkyRDhGRUJERDE0M0UzRUY3
MDA3MjUwMkIgLyogQ1NTQ3Jvc3NmYWRlVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOEZFQkRCMTQzRTNFRjcwMDcyNTAyQiAvKiBDU1NDcm9z
c2ZhZGVWYWx1ZS5oICovOyB9OwogCQkyRDkwNjYwNzBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0
U3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJE
OTA2NjA1MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTJEOTJBNzlBMjEzNEFENzkwMEY0OTNG
RCAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ0MzkxN0ZEMUE5MUIyRjgwMDZFMDRGMiAvKiBRdWlja0xvb2tTb2Z0
TGluay5tbSAqLzsgfTsKKwkJMkQ5MkE3OUQyMTM0QUY5NTAwRjQ5M0ZEIC8qIFVzZXJBZ2VudElP
Uy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzQUY5
RDgzMjAzMjU2OTEwMDZDQUQwNiAvKiBVc2VyQWdlbnRJT1MubW0gKi87IH07CiAJCTJEOTNBRUUz
MTlERjU2NDEwMDJBODZDMyAvKiBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDkzQUVFMTE5REY1NjQxMDAy
QTg2QzMgLyogU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oICovOyB9OwogCQkyRDk3RjA0NzE5
REQ0MTNDMDAxRUU5QzMgLyogTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQUFFMzJDMTlEQ0FGNjAwMEUwMDJE
MiAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuY3BwICovOyB9OwogCQkyRDk3RjA0ODE5REQ0MTQw
MDAxRUU5QzMgLyogTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREFBRTMyRDE5RENBRjYwMDBFMDAyRDIgLyogTW9j
a1BhZ2VPdmVybGF5Q2xpZW50LmggKi87IH07CkBAIC03MDczLDcgKzcwNzUsNyBAQAogCQkzMzlC
NUI2MjEzMURBQTMyMDBGNDhEMDIgLyogQ29va2llc1N0cmF0ZWd5LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENvb2tpZXNTdHJhdGVneS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkzNjYyRjk4NDA0N0NFREJFNUREREFGQUEgLyogUmVuZGVyTWF0aE1MTWVuY2xv
c2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyTWF0aE1M
TWVuY2xvc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzExOUE3OTIwQ0NC
NjEwMDAyQzZEQzkgLyogV2ViS2l0VGFyZ2V0Q29uZGl0aW9uYWxzLnhjY29uZmlnICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsg
cGF0aCA9IFdlYktpdFRhcmdldENvbmRpdGlvbmFscy54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJMzcxN0Q3RTUxN0VDQzNBNjAwM0MyNzZEIC8qIGV4dHJhY3QtbG9jYWxp
emFibGUtc3RyaW5ncy5wbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQuc2NyaXB0LnBlcmw7IG5hbWUgPSBleHRyYWN0LWxvY2FsaXphYmxlLXN0
cmluZ3MucGw7IHBhdGggPSAiU2NyaXB0cy9leHRyYWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGwi
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzNzE3RDdFNTE3RUNDM0E2MDAzQzI3NkQg
LyogZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucGVybDsgbmFtZSA9ICJleHRy
YWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGwiOyBwYXRoID0gIlNjcmlwdHMvZXh0cmFjdC1sb2Nh
bGl6YWJsZS1zdHJpbmdzLnBsIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzcxQTY3
Q0ExMUM2QzdEQjAwMDQ3QjhCIC8qIEh5cGhlbmF0aW9uQ0YuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSHlwaGVuYXRpb25DRi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTM3MUU2NUNCMTM2NjFFREMwMEJFRURCMCAvKiBQYWdlU2VyaWFsaXplci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYWdlU2VyaWFsaXplci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzFFNjVDRDEzNjYxRUVEMDBCRUVEQjAgLyogUGFn
ZVNlcmlhbGl6ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFn
ZVNlcmlhbGl6ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTMzNTgsOCAr
MTMzNjAsOCBAQAogCQlDREU1OTU5QzFCRjI3NTcxMDBBMUNCRTggLyogQ0RNU2Vzc2lvbk1lZGlh
U291cmNlQVZGT2JqQy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IENETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUNERTY1NjBFMTdDQTZFNzYwMDUyNkJBNyAvKiBtZWRpYUNvbnRyb2xzQXBwbGUuanMg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmphdmFzY3JpcHQ7IHBhdGggPSBtZWRpYUNvbnRyb2xzQXBwbGUuanM7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUNERTY2N0ExMUU0QkJBNEQwMEU4MTU0QSAvKiBQbGF0Zm9ybUF1
ZGlvRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbGF0Zm9ybUF1ZGlv
RGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlDREU2NjdBMjFFNEJCRjE1MDBF
ODE1NEEgLyogV2ViQXVkaW9CdWZmZXJMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IGNvY29hL1dlYkF1ZGlvQnVmZmVyTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCUNERTY2N0EzMUU0QkJGMTUwMEU4MTU0QSAvKiBXZWJBdWRpb0J1ZmZl
ckxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gY29jb2EvV2ViQXVkaW9C
dWZmZXJMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNERTY2N0EyMUU0QkJG
MTUwMEU4MTU0QSAvKiBXZWJBdWRpb0J1ZmZlckxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBuYW1lID0gV2ViQXVkaW9CdWZmZXJMaXN0LmNwcDsgcGF0aCA9IGNvY29hL1dl
YkF1ZGlvQnVmZmVyTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNERTY2
N0EzMUU0QkJGMTUwMEU4MTU0QSAvKiBXZWJBdWRpb0J1ZmZlckxpc3QuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViQXVkaW9CdWZmZXJMaXN0Lmg7IHBhdGggPSBjb2NvYS9X
ZWJBdWRpb0J1ZmZlckxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFN0ZD
NDIxODE5MDRCMTAwMkJCQjc3IC8qIE9yZGVySXRlcmF0b3IuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gT3JkZXJJdGVyYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNERTdGQzQzMTgxOTA0QjEwMDJCQkI3NyAvKiBPcmRlckl0ZXJhdG9yLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE9yZGVySXRlcmF0b3IuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFODNEQUYxODNDNDQwNjAwMzFFQUEzIC8qIFZpZGVv
UGxheWJhY2tRdWFsaXR5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTE1MjQwLDggKzE1MjQyLDggQEAKIAkJCQk0MTEwM0FBNzFFMzk3OTBBMDA3NjlGMTQgLyogUmVh
bHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlQ29jb2EuY3BwICovLAogCQkJCTQxMTAzQUE4MUUzOTc5
MEEwMDc2OUYxNCAvKiBSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2VDb2NvYS5oICovLAogCQkJ
CTVDREQ4MzNCMUU0MzI0QkIwMDYyMUI4MyAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VD
b2NvYS5jcHAgKi8sCi0JCQkJNDE5MjQyNDcyMTI3QjdDQzAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0
Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tICovLAogCQkJCTVDREQ4MzNDMUU0MzI0QkIwMDYyMUI4
MyAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5oICovLAorCQkJCTQxOTI0MjQ3
MjEyN0I3Q0MwMDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5tbSAq
LywKIAkJCQkwNzBBOUY1RTFGRkVDQzcwMDAzREY2NDkgLyogU2NyZWVuRGlzcGxheUNhcHR1cmVT
b3VyY2VNYWMuaCAqLywKIAkJCQkwNzBBOUY2MDFGRkVDQzcxMDAzREY2NDkgLyogU2NyZWVuRGlz
cGxheUNhcHR1cmVTb3VyY2VNYWMubW0gKi8sCiAJCQkJMDdENjM3M0UxQkIwQjExMzAwMjU2Q0U5
IC8qIFdlYkF1ZGlvU291cmNlUHJvdmlkZXJBVkZPYmpDLmggKi8sCkBAIC0zMTQ0Niw2ICszMTQ0
OCw4IEBACiAJCQkJQUExMkRGNDkxNzQzREY4MzAwNERBRkRGIC8qIFBsYXRmb3JtU3BlZWNoU3lu
dGhlc2l6ZXJJT1MubW0gaW4gU291cmNlcyAqLywKIAkJCQlDREEyOUEzMDFDQkY3NEQ0MDA5MDFD
Q0YgLyogUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQubW0gaW4gU291cmNlcyAqLywKIAkJ
CQlDREEyOUExNjFDQkRBNTZDMDA5MDFDQ0YgLyogUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFj
Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5MkE3OUEyMTM0QUQ3OTAwRjQ5M0ZEIC8qIFF1aWNr
TG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNDE5MjQyNDkyMTI3QjkzRTAwNjM0
RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJMzE2RENCOEExRTdBNjk5NjAwMUI1Rjg3IC8qIFJUQ0ljZVRyYW5zcG9ydC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlCQzUxMTU2RTEyQjE3NDlDMDBDOTY3NTQgLyogU2Nyb2xsQW5pbWF0
b3JNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQ0VGODY5RjBFODQ0RTlEMDBBODVDRDUgLyog
U2Nyb2xsYmFyVGhlbWVNYWMubW0gaW4gU291cmNlcyAqLywKQEAgLTMxNTY2LDcgKzMxNTcwLDYg
QEAKIAkJCQk1MzhFQzhBMTFGOTkzRjlEMDA0RDIyQTggLyogVW5pZmllZFNvdXJjZTQ4LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCURFNUY4NTk5MUZBMUFCRjQwMDZEQjYzQSAvKiBVbmlmaWVkU291
cmNlNDktbW0ubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MzhFQzhBMjFGOTkzRjlEMDA0RDIyQTgg
LyogVW5pZmllZFNvdXJjZTQ5LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTQxOTI0MjQ5MjEyN0I5
M0UwMDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCURFNUY4NTlBMUZBMUFCRjQwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlNTAt
bW0ubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MzhFQzhBMzFGOTkzRjlEMDA0RDIyQTggLyogVW5p
ZmllZFNvdXJjZTUwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCURFNUY4NjUwMUZBMkFGMjQwMDZE
QjYzQSAvKiBVbmlmaWVkU291cmNlNTEtbW0ubW0gaW4gU291cmNlcyAqLywKQEAgLTMyMDYwLDYg
KzMyMDYzLDcgQEAKIAkJCQkyRDhCOTJGRDIwM0QxM0UxMDA5Qzg2OEYgLyogVW5pZmllZFNvdXJj
ZTUyOC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDhCOTJGRTIwM0QxM0UxMDA5Qzg2OEYgLyog
VW5pZmllZFNvdXJjZTUyOS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDhCOTJGRjIwM0QxM0Ux
MDA5Qzg2OEYgLyogVW5pZmllZFNvdXJjZTUzMC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDky
QTc5RDIxMzRBRjk1MDBGNDkzRkQgLyogVXNlckFnZW50SU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTMyMDQyMDIxRjlBOUYxMDAwQjgxQjJBIC8qIFVzZXJBZ2VudFNjcmlwdHNEYXRhLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTdDM0I3OTcxMTkwODc1N0IwMEI0N0EyRCAvKiBVc2VyTWVzc2Fn
ZUhhbmRsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NFNjgzNDQxOTIxNDNBODAwRjREOTI4
IC8qIFVzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3IuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1F
Q0RTQS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0
aG1FQ0RTQS5jcHAKaW5kZXggOTczMTdlMDRhOTc5N2YxNTYxNmRlNGM3NjA4Yjc0NWQ5ZmRlZGVm
Ny4uMWI1M2M0NTNiMzUyNTM2YjQ4MTJlZGQyYWE2NGQ5MWU5NWRmODU0YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNEU0EuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUVD
RFNBLmNwcApAQCAtMzYsMTIgKzM2LDE0IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorbmFt
ZXNwYWNlIENyeXB0b0FsZ29yaXRobUVDRFNBSW50ZXJuYWwgewogc3RhdGljIGNvbnN0IGNoYXIq
IGNvbnN0IEFMRzI1NiA9ICJFUzI1NiI7CiBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHMzg0
ID0gIkVTMzg0IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBBTEc1MTIgPSAiRVM1MTIiOwog
c3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IFAyNTYgPSAiUC0yNTYiOwogc3RhdGljIGNvbnN0IGNo
YXIqIGNvbnN0IFAzODQgPSAiUC0zODQiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IFA1MjEg
PSAiUC01MjEiOworfQogCiBSZWY8Q3J5cHRvQWxnb3JpdGhtPiBDcnlwdG9BbGdvcml0aG1FQ0RT
QTo6Y3JlYXRlKCkKIHsKQEAgLTEwMiw2ICsxMDQsNyBAQCB2b2lkIENyeXB0b0FsZ29yaXRobUVD
RFNBOjpnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzJiBwYXJhbWV0
ZQogCiB2b2lkIENyeXB0b0FsZ29yaXRobUVDRFNBOjppbXBvcnRLZXkoQ3J5cHRvS2V5Rm9ybWF0
IGZvcm1hdCwgS2V5RGF0YSYmIGRhdGEsIGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMm
IHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdl
cywgS2V5Q2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25D
YWxsYmFjaykKIHsKKyAgICB1c2luZyBuYW1lc3BhY2UgQ3J5cHRvQWxnb3JpdGhtRUNEU0FJbnRl
cm5hbDsKICAgICBjb25zdCBhdXRvJiBlY1BhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdv
cml0aG1FY0tleVBhcmFtcz4ocGFyYW1ldGVycyk7CiAKICAgICBSZWZQdHI8Q3J5cHRvS2V5RUM+
IHJlc3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggMGExZDkwMzQxN2Q0Y2E5ZGMwZTMwYmJm
ZmFjNDFkMTg4ZjMxYmRiYy4uYjE4MGJjNDMzOWE1OTZlYWIxM2IwZDRlOWIyNjE2YjRlNzk1OTI1
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTY0MSw3ICs2NDEsNyBAQCBwdWJsaWM6CiAgICAg
CiAgICAgV0VCQ09SRV9FWFBPUlQgRG9jdW1lbnRMb2FkZXIqIGxvYWRlcigpIGNvbnN0OwogCi0g
ICAgV0VCQ09SRV9FWFBPUlQgRXhjZXB0aW9uT3I8UmVmUHRyPFdpbmRvd1Byb3h5Pj4gb3BlbkZv
ckJpbmRpbmdzKERPTVdpbmRvdyYgYWN0aXZlV2luZG93LCBET01XaW5kb3cmIGZpcnN0V2luZG93
LCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJp
bmcmIGZlYXR1cmVzKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRpb25PcjxSZWZQdHI8V2lu
ZG93UHJveHk+PiBvcGVuRm9yQmluZGluZ3MoRE9NV2luZG93JiBhY3RpdmVXaW5kb3csIERPTVdp
bmRvdyYgZmlyc3RET01XaW5kb3csIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBBdG9taWNTdHJp
bmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZmVhdHVyZXMpOwogICAgIFdFQkNPUkVfRVhQT1JUIEV4
Y2VwdGlvbk9yPERvY3VtZW50Jj4gb3BlbkZvckJpbmRpbmdzKERvY3VtZW50KiByZXNwb25zaWJs
ZURvY3VtZW50LCBjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgcmVwbGFjZSk7CiAK
ICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHJlbmFtZSB0aGlzIGF0IHNvbWUgcG9pbnQgYW5kIGdp
dmUgYmFjayB0aGUgbmFtZSAnb3BlbicgdG8gdGhlIEhUTUwgc3BlY2lmaWVkIG9uZXMuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAppbmRleCBlNDBm
OWE4ODZmMTU5MDRlNjJmMGYyNjg4YTg2OWE2OTg4OWI0YTg5Li5jNzMxOTIyYWY4Mjk4M2I5ZGFh
NmJjN2ZlNTIyNzg2MzczMTY4M2ZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxUcmVlQnVpbGRlci5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJIVE1MRG9j
dW1lbnRQYXJzZXIuaCIKICNpbmNsdWRlICJIVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgiCiAjaW5j
bHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgog
I2luY2x1ZGUgIkhUTUxPcHRHcm91cEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MT3B0aW9uRWxl
bWVudC5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3Vy
Y2VMb2FkZXIuaAppbmRleCA3MmIyOTc1NWYxMWQ5NDA5NWZhN2VkZDUzMDk2OGY3YzU3YjU3YmVi
Li42ZDlhMmRhOWJlMDMyMDA3YTgyZWRhNjhjMTZmZDJmMjhiMWMxMjgzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9h
ZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2Fj
aGVSZXNvdXJjZUxvYWRlci5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisj
aW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZVJlc291cmNlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmF3
UmVzb3VyY2UuaCIKICNpbmNsdWRlICJDYWNoZWRSYXdSZXNvdXJjZUNsaWVudC5oIgogI2luY2x1
ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0FsdGVybmF0aXZlVGV4dENsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9BbHRlcm5h
dGl2ZVRleHRDbGllbnQuaAppbmRleCA5MzU1OTM3ODhmOTg5OWM5ZTIyNTEwODhiNGU3NmQwMDVk
M2QyZjk4Li4xNDNkYTZjNDdmNGJjZWZjMGE0MWFhODc2NDY3ZDA0NDcxNWJhNzBhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0FsdGVybmF0aXZlVGV4dENsaWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmgKQEAgLTI5LDExICsyOSw2
IEBACiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgogCi0jaWYgUExBVEZPUk0oTUFDKQotLy8gU29tZSBwbGF0Zm9ybXMgcHJvdmlkZSBVSSBm
b3Igc3VnZ2VzdGluZyBhbHRlcm5hdGl2ZSBkaWN0YXRpb24gdGV4dC4KLSNkZWZpbmUgVVNFX0RJ
Q1RBVElPTl9BTFRFUk5BVElWRVMgMQotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ZW51bSBSZWFzb25Gb3JEaXNtaXNzaW5nQWx0ZXJuYXRpdmVUZXh0IHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Bhc3RlYm9hcmQuaAppbmRleCBkNTQzM2RkOTIwYWUwZWU1OTJiZDQ1ZmQ1NjBjZGQzZTM4
YTM0NzIxLi5lMDk4MTU2NTFiZDJkNjA1NzRkYTQyMzZjMzgwZmFkNGQ2MDIxNWE5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCkBAIC0zMzgsNiArMzM4LDcgQEAgZXh0ZXJuIE5T
U3RyaW5nICpVSUNvbG9yUGJvYXJkVHlwZTsKICNpZiBQTEFURk9STShNQUMpCiBleHRlcm4gY29u
c3QgY2hhciogY29uc3QgV2ViQXJjaGl2ZVBib2FyZFR5cGU7CiBleHRlcm4gY29uc3QgY2hhciog
Y29uc3QgV2ViVVJMTmFtZVBib2FyZFR5cGU7CitleHRlcm4gY29uc3QgY2hhciogY29uc3QgV2Vi
VVJMc1dpdGhUaXRsZXNQYm9hcmRUeXBlOwogI2VuZGlmCiAKICNpZiAhUExBVEZPUk0oR1RLKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJl
c2hNb25pdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlS
ZWZyZXNoTW9uaXRvci5jcHAKaW5kZXggOTY4YmIyMjg2YTFmN2U1ODQ2NGVmODhkNzllNjFlZjQy
NDkwMTU1Zi4uM2UyYzgyYjhiMTJlZGEwOWRiNDNmNGMxMzAxNGM1YmJhYzBiNzAzMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25p
dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVm
cmVzaE1vbml0b3IuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJEaXNwbGF5UmVm
cmVzaE1vbml0b3JDbGllbnQuaCIKICNpbmNsdWRlICJEaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5h
Z2VyLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgogCiAjaWYgUExBVEZPUk0oSU9TKQogI2luY2x1
ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvcklPUy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseVNwZWNpZmljYXRpb25OdWxsLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVs
bC5jcHAKaW5kZXggMjE3NjkxZjcyMzk3NGU4MDA1NzliMjhjYzA1NmE3YjljMDg1YzY0ZC4uMTVj
MDM4NzY5ODI2MGY0MDVlMjJlNWJmNTI3ODAwMzA4YzdmZTNiZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseVNwZWNpZmljYXRpb25OdWxsLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5U3BlY2lm
aWNhdGlvbk51bGwuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiRm9udEZhbWlseVNw
ZWNpZmljYXRpb25OdWxsLmgiCiAKICNpbmNsdWRlICJGb250U2VsZWN0b3IuaCIKKyNpbmNsdWRl
IDx3dGYvdGV4dC9BdG9taWNTdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xM
YXllci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdMTGF5
ZXIubW0KaW5kZXggM2VkN2U0MWU3YzY4ODQ2ZjNmYmMxNzJjZTZiYTk4OWZmODdmNTdlYi4uYjg3
Nzc0NmJhNTFhZWRjZjNiMDY2MDU4NGJhOTNkZDRjNzk3MTdjOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHTExheWVyLm1tCkBAIC00Miwx
MyArNDIsMTEgQEAKICNpbXBvcnQgPE9wZW5HTC9nbC5oPgogI2VuZGlmCiAKLXVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwotCiBAaW1wbGVtZW50YXRpb24gV2ViR0xMYXllcgogCiBAc3ludGhlc2l6
ZSBjb250ZXh0PV9jb250ZXh0OwogCi0tKGlkKWluaXRXaXRoR3JhcGhpY3NDb250ZXh0M0Q6KEdy
YXBoaWNzQ29udGV4dDNEKiljb250ZXh0CistKGlkKWluaXRXaXRoR3JhcGhpY3NDb250ZXh0M0Q6
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEKiljb250ZXh0CiB7CiAgICAgX2NvbnRleHQgPSBj
b250ZXh0OwogICAgIHNlbGYgPSBbc3VwZXIgaW5pdF07CkBAIC04Niw3ICs4NCw3IEBAIHN0YXRp
YyB2b2lkIGZyZWVEYXRhKHZvaWQgKiwgY29uc3Qgdm9pZCAqZGF0YSwgc2l6ZV90IC8qIHNpemUg
Ki8pCiB9CiAjZW5kaWYKIAotLShDR0ltYWdlUmVmKWNvcHlJbWFnZVNuYXBzaG90V2l0aENvbG9y
U3BhY2U6KENHQ29sb3JTcGFjZVJlZiljb2xvclNwYWNlCistIChDR0ltYWdlUmVmKWNvcHlJbWFn
ZVNuYXBzaG90V2l0aENvbG9yU3BhY2U6KENHQ29sb3JTcGFjZVJlZiljb2xvclNwYWNlCiB7CiAg
ICAgaWYgKCFfY29udGV4dCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC05Niw3ICs5NCw3
IEBAIC0oQ0dJbWFnZVJlZiljb3B5SW1hZ2VTbmFwc2hvdFdpdGhDb2xvclNwYWNlOihDR0NvbG9y
U3BhY2VSZWYpY29sb3JTcGFjZQogCiAgICAgUmV0YWluUHRyPENHQ29sb3JTcGFjZVJlZj4gaW1h
Z2VDb2xvclNwYWNlID0gY29sb3JTcGFjZTsKICAgICBpZiAoIWltYWdlQ29sb3JTcGFjZSkKLSAg
ICAgICAgaW1hZ2VDb2xvclNwYWNlID0gc1JHQkNvbG9yU3BhY2VSZWYoKTsKKyAgICAgICAgaW1h
Z2VDb2xvclNwYWNlID0gV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYoKTsKIAogICAgIENHUmVj
dCBsYXllckJvdW5kcyA9IENHUmVjdEludGVncmFsKFtzZWxmIGJvdW5kc10pOwogCkBAIC0xNDEs
MTMgKzEzOSwxMyBAQCAtICh2b2lkKWRpc3BsYXkKICNlbmRpZgogCiAgICAgX2NvbnRleHQtPm1h
cmtMYXllckNvbXBvc2l0ZWQoKTsKLSAgICBQbGF0Zm9ybUNBTGF5ZXIqIGxheWVyID0gUGxhdGZv
cm1DQUxheWVyOjpwbGF0Zm9ybUNBTGF5ZXIoKF9fYnJpZGdlIHZvaWQqKXNlbGYpOworICAgIFdl
YkNvcmU6OlBsYXRmb3JtQ0FMYXllciogbGF5ZXIgPSBXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXI6
OnBsYXRmb3JtQ0FMYXllcigoX19icmlkZ2Ugdm9pZCopc2VsZik7CiAgICAgaWYgKGxheWVyICYm
IGxheWVyLT5vd25lcigpKQogICAgICAgICBsYXllci0+b3duZXIoKS0+cGxhdGZvcm1DQUxheWVy
TGF5ZXJEaWREaXNwbGF5KGxheWVyKTsKIH0KIAogI2lmIFVTRShPUEVOR0wpCi0tICh2b2lkKWFs
bG9jYXRlSU9TdXJmYWNlQmFja2luZ1N0b3JlV2l0aFNpemU6KEludFNpemUpc2l6ZSB1c2luZ0Fs
cGhhOihCT09MKXVzaW5nQWxwaGEKKy0gKHZvaWQpYWxsb2NhdGVJT1N1cmZhY2VCYWNraW5nU3Rv
cmVXaXRoU2l6ZTooV2ViQ29yZTo6SW50U2l6ZSlzaXplIHVzaW5nQWxwaGE6KEJPT0wpdXNpbmdB
bHBoYQogewogICAgIF9idWZmZXJTaXplID0gc2l6ZTsKICAgICBfdXNpbmdBbHBoYSA9IHVzaW5n
QWxwaGE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9XZWJHUFVMYXllci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L1dlYkdQVUxheWVyLm1tCmluZGV4IDVjMzU1N2Y4YmQ2NmE2OGM5MjNiMjNhYTY0N2JiNzE0ODQw
OWU5YTEuLjI1ZWZiOGI3NDc2ODAyNDU1OGRiY2RmMzBmNzQzMTg3MTQ2OTU1YTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVy
Lm1tCkBAIC0zNCwxMyArMzQsMTEgQEAKICNpbXBvcnQgPHd0Zi9GYXN0TWFsbG9jLmg+CiAjaW1w
b3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBAaW1w
bGVtZW50YXRpb24gV2ViR1BVTGF5ZXIKIAogQHN5bnRoZXNpemUgY29udGV4dD1fY29udGV4dDsK
IAotLSAoaWQpaW5pdFdpdGhHUFVEZXZpY2U6KEdQVURldmljZSopY29udGV4dAorLSAoaWQpaW5p
dFdpdGhHUFVEZXZpY2U6KFdlYkNvcmU6OkdQVURldmljZSopY29udGV4dAogewogICAgIHNlbGYg
PSBbc3VwZXIgaW5pdF07CiAgICAgX2NvbnRleHQgPSBjb250ZXh0OwpAQCAtNTAsNyArNDgsNyBA
QCAtIChpZClpbml0V2l0aEdQVURldmljZTooR1BVRGV2aWNlKiljb250ZXh0CiAKICNpZiBQTEFU
Rk9STShNQUMpCiAgICAgc2VsZi5jb250ZW50c1NjYWxlID0gX2RldmljZVBpeGVsUmF0aW87Ci0g
ICAgc2VsZi5jb2xvcnNwYWNlID0gc1JHQkNvbG9yU3BhY2VSZWYoKTsKKyAgICBzZWxmLmNvbG9y
c3BhY2UgPSBXZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigpOwogI2VuZGlmCiAgICAgcmV0dXJu
IHNlbGY7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
ZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tCmluZGV4IDgyMGFmOGJjMTZkYjNi
NDg2NWU3OWI3YjgyNGRiMmM3YjRkZjNlY2MuLjMwM2IyNWRhM2Q0YTY0ZWQxYjAwMzBiNzJiOWZk
YmM2Zjk2NWMzM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tCkBAIC0zMSw2ICszMSw3
IEBACiAjaW1wb3J0ICJHUFVEZXZpY2UuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQg
PE1ldGFsL01ldGFsLmg+CisjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
UGFzdGVib2FyZE1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJk
TWFjLm1tCmluZGV4IGNiNTA0Y2Y1NDNlYjdlODBkNzY2NWNkMWU1N2UzMDg5YWZmYjFhNzAuLmZk
NmU5Mjk4Nzc0ZmFmNGZlODczNWJmMjc1NjVhZGM5NTMyYmY2MzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCkBAIC01MiwxMCArNTIsMTAgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjb25zdCBjaGFyKiBjb25zdCBXZWJBcmNoaXZlUGJvYXJkVHlw
ZSA9ICJBcHBsZSBXZWIgQXJjaGl2ZSBwYXN0ZWJvYXJkIHR5cGUiOwogY29uc3QgY2hhciogY29u
c3QgV2ViVVJMTmFtZVBib2FyZFR5cGUgPSAicHVibGljLnVybC1uYW1lIjsKK2NvbnN0IGNoYXIq
IGNvbnN0IFdlYlVSTHNXaXRoVGl0bGVzUGJvYXJkVHlwZSA9ICJXZWJVUkxzV2l0aFRpdGxlc1Bi
b2FyZFR5cGUiOwogCiBjb25zdCBjaGFyIFdlYlNtYXJ0UGFzdGVQYm9hcmRUeXBlW10gPSAiTmVY
VCBzbWFydCBwYXN0ZSBwYXN0ZWJvYXJkIHR5cGUiOwogY29uc3QgY2hhciBXZWJVUkxQYm9hcmRU
eXBlW10gPSAicHVibGljLnVybCI7Ci1jb25zdCBjaGFyIFdlYlVSTHNXaXRoVGl0bGVzUGJvYXJk
VHlwZVtdID0gIldlYlVSTHNXaXRoVGl0bGVzUGJvYXJkVHlwZSI7CiAKIHN0YXRpYyBjb25zdCBW
ZWN0b3I8U3RyaW5nPiB3cml0YWJsZVR5cGVzRm9yVVJMKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJD
b2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxh
eUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwCmluZGV4IDVjMmE5ZDI0MTk4YTEzZTQ4YzRmNzNlOWRl
NjFkZDM3YWRlOTI1NTEuLmY0OTJlNjE0MmYwMjMxYjk5N2U5NmJhNTkyNzk1ODg1NjgwOTMzYWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNw
bGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29hLmNwcApAQCAtMjgsNiAr
MjgsNyBAQAogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAorI2luY2x1ZGUgIkNvcmVWaWRl
b1NvZnRMaW5rLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgPHd0Zi9BbGdvcml0
aG1zLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAppbmRl
eCAyNTQwOTY1NmMzZDYzMjAzNjE2NWZhYjFkZDc0OWU4OGZjYTY4NDgyLi5mZjU4MzYxNzRlYWI5
NTk1MjhhMjA3YmZiYWFiNjAwMzlkOWI1MDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKQEAgLTI5LDYgKzI5
LDcgQEAKICNpbmNsdWRlICJIVFRQSGVhZGVyTmFtZXMuaCIKICNpbmNsdWRlICJQdWJsaWNTdWZm
aXguaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJl
c3BvbnNlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlIDx3dGYvUG9p
bnRlckNvbXBhcmlzb24uaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5jcHAKaW5kZXgg
M2JjODJjNmUxYWJkMmZhYzQzYjA5OWM4ZTZlM2NjZjM2NmRkODUzYi4uMmMyYjUwOGZhYzVjNmZj
ODQ2Mjg1YzlmZmE4OTVhN2I0MDIyYjhlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cu
Y3BwCkBAIC0yNyw2ICsyNyw4IEBACiAjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zs
b3cuaCIKIAogI2luY2x1ZGUgIlJlbmRlck11bHRpQ29sdW1uRmxvdy5oIgorI2luY2x1ZGUgIlJl
bmRlclRyZWVCdWlsZGVyQmxvY2suaCIKKyNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlck11bHRp
Q29sdW1uLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5saW5lLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5j
cHAKaW5kZXggN2NkMDcxNWRmNTI0YTc2ZmQyMDZhMjM0MjhkOWRhYzdkN2Q4NTNmOC4uZGM5NTNj
Y2RjZWU4MzAxZGZkMDU5N2E2MWQwNTJlM2M1MGI5ZjYxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5saW5lLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxp
bmUuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiUmVuZGVyRnVsbFNjcmVlbi5oIgog
I2luY2x1ZGUgIlJlbmRlcklubGluZS5oIgogI2luY2x1ZGUgIlJlbmRlclRhYmxlLmgiCisjaW5j
bHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJUYWJsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmUubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlLm1tCmluZGV4IGIxNzQyZmRmZGQzODY5ZWFk
ZDNkN2M1YWVlNzA1ZTY2MWY5N2VlZGMuLmI4Yzk3MmY3ZWMxOGViN2Q0YzlhNzFkZTJiNGUxZTJj
NjVkZTg3NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmUu
bW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZS5tbQpAQCAtMzQsOSAr
MzQsOCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTGVnYWN5V2ViQXJjaGl2ZS5oPgogI2luY2x1ZGUg
PHd0Zi9SZXRhaW5QdHIuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIG5hbWVzcGFj
ZSBBUEkgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIFJlZjxXZWJBcmNoaXZlPiBXZWJB
cmNoaXZlOjpjcmVhdGUoV2ViQXJjaGl2ZVJlc291cmNlKiBtYWluUmVzb3VyY2UsIFJlZlB0cjxB
UEk6OkFycmF5PiYmIHN1YnJlc291cmNlcywgUmVmUHRyPEFQSTo6QXJyYXk+JiYgc3ViZnJhbWVB
cmNoaXZlcykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hp
dmVSZXNvdXJjZS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmVSZXNvdXJj
ZS5tbQppbmRleCBjYWU1Yjg1ZGYxNzdkZGRlNjhkODUyZTVlNTA2ZDhkOTJiZTJlYTk0Li5kYzBm
OTBmMGYzODUxYWJmMTAwNDg0YmE1NzNhZTRhZjhlODBiMjMyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW0KKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tCkBAIC0zMyw5ICszMyw4IEBACiAjaW5j
bHVkZSA8V2ViQ29yZS9VUkwuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKLXVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwotCiBuYW1lc3BhY2UgQVBJIHsKK3VzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCiBSZWY8V2ViQXJjaGl2ZVJlc291cmNlPiBXZWJBcmNoaXZlUmVzb3VyY2U6OmNy
ZWF0ZShBUEk6OkRhdGEqIGRhdGEsIGNvbnN0IFN0cmluZyYgVVJMLCBjb25zdCBTdHJpbmcmIE1J
TUVUeXBlLCBjb25zdCBTdHJpbmcmIHRleHRFbmNvZGluZykKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxl
TWFjLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2Nh
cGVQbHVnaW5Nb2R1bGVNYWMubW0KaW5kZXggNjhkN2M2YWRmMzYyNzUxMzEyOTYzNTYyODZmMTFl
ODQ5YzE0YzJjMC4uYzBjY2FjNTk4NTNjZmFmZmQ5ZmYxZDFlM2Q2OGI2N2Q2NDU3ZjdjNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2Nh
cGVQbHVnaW5Nb2R1bGVNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9O
ZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMubW0KQEAgLTM0LDkgKzM0LDggQEAK
ICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYvc3BpL2NmL0NGQnVuZGxl
U1BJLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBuYW1lc3BhY2UgV2ViS2l0IHsK
K3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBzdGF0aWMgYm9vbCBnZXRQbHVnaW5BcmNoaXRl
Y3R1cmUoQ0ZCdW5kbGVSZWYgYnVuZGxlLCBQbHVnaW5Nb2R1bGVJbmZvJiBwbHVnaW4pCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9QbHVn
aW5JbmZvcm1hdGlvbk1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2Nh
cGUvbWFjL1BsdWdpbkluZm9ybWF0aW9uTWFjLm1tCmluZGV4IDVlYzg0MjQ5NTljYmMxOTI4ODZm
YTc1YWJmMDNmM2Q4ODViY2IxZDkuLjMyNTg0ZDQxNmJlMGZmMjVlOWU5MWRkZjQyODcwZTMzOTRm
NDkzNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUv
bWFjL1BsdWdpbkluZm9ybWF0aW9uTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Bs
dWdpbnMvTmV0c2NhcGUvbWFjL1BsdWdpbkluZm9ybWF0aW9uTWFjLm1tCkBAIC0zNCw5ICszNCw4
IEBACiAjaW1wb3J0ICJTdHJpbmdVdGlsaXRpZXMuaCIKICNpbXBvcnQgPFdlYkNvcmUvUGx1Z2lu
QmxhY2tsaXN0Lmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiB2b2lkIGdldFBsYXRmb3JtUGx1Z2lu
TW9kdWxlSW5mb3JtYXRpb24oY29uc3QgUGx1Z2luTW9kdWxlSW5mbyYgcGx1Z2luLCBBUEk6OkRp
Y3Rpb25hcnk6Ok1hcFR5cGUmIG1hcCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291
cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRleCBkOGEz
YzkwZGZmZTMyMjMyMmQ3NjNlZTIxZTdjYmE0NTBmZTg1ZmNmLi40YjhkNDgwNmI0NGYyMjA0NjU4
NTc3ZWI3YTk2NzhjYjhlMzQ3OWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXND
b2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC0yOTgsOSAr
Mjk4LDkgQEAgVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tIEBuby11bmlmeQogCiBVSVByb2Nl
c3MvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQogCi1V
SVByb2Nlc3MvQXBwbGVQYXkvaW9zL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5SU9TLm1tCitV
SVByb2Nlc3MvQXBwbGVQYXkvaW9zL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5SU9TLm1tIEBu
by11bmlmeQogCi1VSVByb2Nlc3MvQXBwbGVQYXkvbWFjL1dlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5TWFjLm1tCitVSVByb2Nlc3MvQXBwbGVQYXkvbWFjL1dlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5TWFjLm1tIEBuby11bmlmeQogCiBVSVByb2Nlc3MvQXV0aGVudGljYXRpb24vY29jb2EvQXV0
aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eUNvY29hLm1tCiBVSVByb2Nlc3MvQXV0aGVudGljYXRp
b24vY29jb2EvU2VjS2V5UHJveHlTdG9yZS5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaAppbmRleCBiZmM1ZWUz
MzgyMjBkOTE1NmZjY2YwMGMxZTc2ZDBiYmVlOTA0MTkwLi4zNzljODg1N2JlOTRiNjE5NTU1ZWRm
ZmVjNGMzYTlhNmUxNzc5NDg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaApAQCAtNTEsNyArNTEsNyBAQCBw
dWJsaWM6CiAKICAgICB2aXJ0dWFsIH5BdXRvbWF0aW9uU2Vzc2lvbkNsaWVudCgpIHsgfQogCi0g
ICAgdmlydHVhbCBTdHJpbmcgc2Vzc2lvbklkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBTdHJp
bmcoKTsgfQorICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgc2Vzc2lvbklkZW50aWZpZXIoKSBjb25z
dCB7IHJldHVybiBXVEY6OlN0cmluZygpOyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZERpc2Nvbm5l
Y3RGcm9tUmVtb3RlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mKSB7IH0KICAgICB2aXJ0
dWFsIHZvaWQgcmVxdWVzdE5ld1BhZ2VXaXRoT3B0aW9ucyhXZWJLaXQ6OldlYkF1dG9tYXRpb25T
ZXNzaW9uJiwgQXV0b21hdGlvblNlc3Npb25Ccm93c2luZ0NvbnRleHRPcHRpb25zLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKFdlYktpdDo6V2ViUGFnZVByb3h5Kik+JiYgY29tcGxldGlvbkhhbmRs
ZXIpIHsgY29tcGxldGlvbkhhbmRsZXIobnVsbHB0cik7IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVx
dWVzdE1heGltaXplV2luZG93T2ZQYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBX
ZWJLaXQ6OldlYlBhZ2VQcm94eSYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0
aW9uSGFuZGxlcikgeyBjb21wbGV0aW9uSGFuZGxlcigpOyB9CkBAIC02MSw4ICs2MSw4IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNTaG93aW5nSmF2YVNjcmlwdERpYWxvZ09uUGFnZShX
ZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IHJl
dHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNtaXNzQ3VycmVudEphdmFTY3JpcHRE
aWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFn
ZVByb3h5JikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGFjY2VwdEN1cnJlbnRKYXZhU2NyaXB0RGlh
bG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQ
cm94eSYpIHsgfQotICAgIHZpcnR1YWwgU3RyaW5nIG1lc3NhZ2VPZkN1cnJlbnRKYXZhU2NyaXB0
RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBh
Z2VQcm94eSYpIHsgcmV0dXJuIFN0cmluZygpOyB9Ci0gICAgdmlydHVhbCB2b2lkIHNldFVzZXJJ
bnB1dEZvckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlv
blNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIGNvbnN0IFN0cmluZyYpIHsgfQorICAg
IHZpcnR1YWwgV1RGOjpTdHJpbmcgbWVzc2FnZU9mQ3VycmVudEphdmFTY3JpcHREaWFsb2dPblBh
Z2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5Jikg
eyByZXR1cm4gV1RGOjpTdHJpbmcoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBzZXRVc2VySW5wdXRG
b3JDdXJyZW50SmF2YVNjcmlwdFByb21wdE9uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNz
aW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBjb25zdCBXVEY6OlN0cmluZyYpIHsgfQogICAg
IHZpcnR1YWwgc3RkOjpvcHRpb25hbDxKYXZhU2NyaXB0RGlhbG9nVHlwZT4gdHlwZU9mQ3VycmVu
dEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdl
YktpdDo6V2ViUGFnZVByb3h5JikgeyByZXR1cm4gc3RkOjpudWxsb3B0OyB9CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9MZWdhY3lDdXN0b21Qcm90b2Nv
bE1hbmFnZXJDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9MZWdhY3lD
dXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW0KaW5kZXggMTFiYTM3MjY1NDgzZmZlN2ZmMjQ2
NTA5NDBkOGYzM2E1MmMwYzA0YS4uMTlhNTliNDJjYWI3YjU0N2VkOTQ0NjBlNzJmYzAzOTZjZmU3
OTI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3Vz
dG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbQpAQCAtMzIsMjMgKzMy
LDIwIEBACiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotdXNp
bmcgbmFtZXNwYWNlIFdlYktpdDsKLQogQGludGVyZmFjZSBXS0N1c3RvbVByb3RvY29sTG9hZGVy
IDogTlNPYmplY3QgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlPiB7CiBAcHJpdmF0ZQotICAgIExl
Z2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJv
eHk7CisgICAgV2ViS2l0OjpMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSogX2N1c3Rv
bVByb3RvY29sTWFuYWdlclByb3h5OwogICAgIHVpbnQ2NF90IF9jdXN0b21Qcm90b2NvbElEOwog
ICAgIE5TVVJMQ2FjaGVTdG9yYWdlUG9saWN5IF9zdG9yYWdlUG9saWN5OwogICAgIE5TVVJMQ29u
bmVjdGlvbiAqX3VybENvbm5lY3Rpb247CiB9Ci0tIChpZClpbml0V2l0aExlZ2FjeUN1c3RvbVBy
b3RvY29sTWFuYWdlclByb3h5OihMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSopY3Vz
dG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJvdG9jb2xJRDoodWludDY0X3QpY3VzdG9t
UHJvdG9jb2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0OworLSAoaWQpaW5pdFdp
dGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTooV2ViS2l0OjpMZWdhY3lDdXN0b21Q
cm90b2NvbE1hbmFnZXJQcm94eSopY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJv
dG9jb2xJRDoodWludDY0X3QpY3VzdG9tUHJvdG9jb2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3Qg
KilyZXF1ZXN0OwogLSAodm9pZCljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eURlc3Ryb3llZDsK
IEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdLQ3VzdG9tUHJvdG9jb2xMb2FkZXIKIAotLSAoaWQp
aW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTooTGVnYWN5Q3VzdG9tUHJv
dG9jb2xNYW5hZ2VyUHJveHkqKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5IGN1c3RvbVByb3Rv
Y29sSUQ6KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVzdDooTlNVUkxSZXF1ZXN0ICop
cmVxdWVzdAorLSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eToo
V2ViS2l0OjpMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSopY3VzdG9tUHJvdG9jb2xN
YW5hZ2VyUHJveHkgY3VzdG9tUHJvdG9jb2xJRDoodWludDY0X3QpY3VzdG9tUHJvdG9jb2xJRCBy
ZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0CiB7CiAgICAgc2VsZiA9IFtzdXBlciBpbml0
XTsKICAgICBpZiAoIXNlbGYpCkBAIC04NSw3ICs4Miw3IEBAIC0gKHZvaWQpY3VzdG9tUHJvdG9j
b2xNYW5hZ2VyUHJveHlEZXN0cm95ZWQKIAogLSAodm9pZCljb25uZWN0aW9uOihOU1VSTENvbm5l
Y3Rpb24gKiljb25uZWN0aW9uIGRpZEZhaWxXaXRoRXJyb3I6KE5TRXJyb3IgKillcnJvcgogewot
ICAgIFJlc291cmNlRXJyb3IgY29yZUVycm9yKGVycm9yKTsKKyAgICBXZWJDb3JlOjpSZXNvdXJj
ZUVycm9yIGNvcmVFcnJvcihlcnJvcik7CiAgICAgX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5
LT5kaWRGYWlsV2l0aEVycm9yKF9jdXN0b21Qcm90b2NvbElELCBjb3JlRXJyb3IpOwogICAgIF9j
dXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS0+c3RvcExvYWRpbmcoX2N1c3RvbVByb3RvY29sSUQp
OwogfQpAQCAtOTksNyArOTYsNyBAQCAtIChOU0NhY2hlZFVSTFJlc3BvbnNlICopY29ubmVjdGlv
bjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiB3aWxsQ2FjaGVSZXNwbwogCiAtICh2b2lk
KWNvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gZGlkUmVjZWl2ZVJlc3Bv
bnNlOihOU1VSTFJlc3BvbnNlICopcmVzcG9uc2UKIHsKLSAgICBSZXNvdXJjZVJlc3BvbnNlIGNv
cmVSZXNwb25zZShyZXNwb25zZSk7CisgICAgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSBjb3Jl
UmVzcG9uc2UocmVzcG9uc2UpOwogICAgIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS0+ZGlk
UmVjZWl2ZVJlc3BvbnNlKF9jdXN0b21Qcm90b2NvbElELCBjb3JlUmVzcG9uc2UsIF9zdG9yYWdl
UG9saWN5KTsKIH0KIApAQCAtMTI3LDYgKzEyNCw3IEBAIC0gKHZvaWQpY29ubmVjdGlvbkRpZEZp
bmlzaExvYWRpbmc6KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24KIEBlbmQKIAogbmFtZXNw
YWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogdm9pZCBMZWdhY3lDdXN0
b21Qcm90b2NvbE1hbmFnZXJDbGllbnQ6OnN0YXJ0TG9hZGluZyhMZWdhY3lDdXN0b21Qcm90b2Nv
bE1hbmFnZXJQcm94eSYgbWFuYWdlciwgdWludDY0X3QgY3VzdG9tUHJvdG9jb2xJRCwgY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiBjb3JlUmVxdWVzdCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcAppbmRleCBjMmI5MWE2
Mzk3M2U2MzEyMGFhZTUyOGY4OTc1Mzg1ZjdiNmRiZjYyLi5lZGVkOWM3ZDJhNGU1OGUzZDA1OGQ4
MzI2ODMxMDk4MTgyYWY0NDc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Q
bHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCkBAIC00OCw3ICs0OCw3IEBAIHN0YXRp
YyBjb25zdCBTZWNvbmRzIHNuYXBzaG90dGluZ01pbmltdW1MaWZldGltZSB7IDMwX3MgfTsKIHN0
YXRpYyBjb25zdCBTZWNvbmRzIHNodXRkb3duVGltZW91dCB7IDFfbWluIH07CiBzdGF0aWMgY29u
c3QgU2Vjb25kcyBzbmFwc2hvdHRpbmdTaHV0ZG93blRpbWVvdXQgeyAxNV9zIH07CiAKLXN0YXRp
YyB1aW50NjRfdCBnZW5lcmF0ZUNhbGxiYWNrSUQoKQorc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRl
UGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQoKQogewogICAgIHN0YXRpYyB1aW50NjRfdCBjYWxsYmFj
a0lEOwogCkBAIC0xMTQsNyArMTE0LDcgQEAgdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmdldFBs
dWdpblByb2Nlc3NDb25uZWN0aW9uKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkcKIAogdm9p
ZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEoQ29tcGxldGlvbkhhbmRsZXI8
dm9pZCAoVmVjdG9yPFN0cmluZz4pPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIHVpbnQ2
NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1aW50NjRfdCBjYWxs
YmFja0lEID0gZ2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVuZGlu
Z0ZldGNoV2Vic2l0ZURhdGFDYWxsYmFja3Muc2V0KGNhbGxiYWNrSUQsIFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpKTsKIAogICAgIGlmIChzdGF0ZSgpID09IFN0YXRlOjpMYXVuY2hpbmcpIHsK
QEAgLTEyNyw3ICsxMjcsNyBAQCB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRl
RGF0YShDb21wbGV0aW9uSGFuZGxlcjx2b2lkIChWZWN0b3I8U3RyaW5nPgogCiB2b2lkIFBsdWdp
blByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEoV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICB1
aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7CisgICAgdWludDY0X3Qg
Y2FsbGJhY2tJRCA9IGdlbmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQoKTsKICAgICBtX3Bl
bmRpbmdEZWxldGVXZWJzaXRlRGF0YUNhbGxiYWNrcy5zZXQoY2FsbGJhY2tJRCwgV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAgaWYgKHN0YXRlKCkgPT0gU3RhdGU6OkxhdW5jaGlu
ZykgewpAQCAtMTQwLDcgKzE0MCw3IEBAIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVX
ZWJzaXRlRGF0YShXYWxsVGltZSBtb2RpZmllZFNpbmNlLCBDb21wbGV0aW9uSGFuCiAKIHZvaWQg
UGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZvckhvc3ROYW1lcyhjb25zdCBW
ZWN0b3I8U3RyaW5nPiYgaG9zdE5hbWVzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkICgpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKQogewotICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNh
bGxiYWNrSUQoKTsKKyAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVQbHVnaW5Qcm9j
ZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5h
bWVzQ2FsbGJhY2tzLnNldChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7
CiAKICAgICBpZiAoc3RhdGUoKSA9PSBTdGF0ZTo6TGF1bmNoaW5nKSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1v
dGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW0K
aW5kZXggNGEyZTI5YjU2MDk2MWE1OWIxY2I1NTE5NzgzOTE0OWMzMTA2ODRjMi4uNzJhODgyZjA1
ODFkNWVhYzkxZmMxNGJjMDVhMDJmMTQ0ZjE2YzExZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9k
ZURlbGVnYXRlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVy
VHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5tbQpAQCAtNDMs
OCArNDMsNiBAQAogI2ltcG9ydCA8V2ViQ29yZS9TY3JvbGxTbmFwT2Zmc2V0c0luZm8uaD4KICNl
bmRpZgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogQGltcGxlbWVudGF0aW9uIFdLU2Ny
b2xsaW5nTm9kZVNjcm9sbFZpZXdEZWxlZ2F0ZQogCiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhT
Y3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlOihXZWJLaXQ6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdO
b2RlRGVsZWdhdGVJT1MqKWRlbGVnYXRlCkBAIC04MCw3ICs3OCw3IEBAIC0gKHZvaWQpc2Nyb2xs
Vmlld1dpbGxFbmREcmFnZ2luZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldyB3aXRoVmVsb2Np
dHk6KENHUG9pCiAKICAgICBpZiAoIV9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxp
bmdOb2RlKCkuaG9yaXpvbnRhbFNuYXBPZmZzZXRzKCkuaXNFbXB0eSgpKSB7CiAgICAgICAgIHVu
c2lnbmVkIGluZGV4OwotICAgICAgICBmbG9hdCBwb3RlbnRpYWxTbmFwUG9zaXRpb24gPSBjbG9z
ZXN0U25hcE9mZnNldChfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgp
Lmhvcml6b250YWxTbmFwT2Zmc2V0cygpLCBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Ny
b2xsaW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0UmFuZ2VzKCksIGhvcml6b250YWxUYXJn
ZXQsIHZlbG9jaXR5LngsIGluZGV4KTsKKyAgICAgICAgZmxvYXQgcG90ZW50aWFsU25hcFBvc2l0
aW9uID0gV2ViQ29yZTo6Y2xvc2VzdFNuYXBPZmZzZXQoX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdh
dGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNldHMoKSwgX3Njcm9sbGluZ1Ry
ZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNldFJhbmdl
cygpLCBob3Jpem9udGFsVGFyZ2V0LCB2ZWxvY2l0eS54LCBpbmRleCk7CiAgICAgICAgIF9zY3Jv
bGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuc2V0Q3VycmVudEhvcml6b250
YWxTbmFwUG9pbnRJbmRleChpbmRleCk7CiAgICAgICAgIGlmIChob3Jpem9udGFsVGFyZ2V0ID49
IDAgJiYgaG9yaXpvbnRhbFRhcmdldCA8PSBzY3JvbGxWaWV3LmNvbnRlbnRTaXplLndpZHRoKQog
ICAgICAgICAgICAgdGFyZ2V0Q29udGVudE9mZnNldC0+eCA9IHBvdGVudGlhbFNuYXBQb3NpdGlv
bjsKQEAgLTg4LDcgKzg2LDcgQEAgLSAodm9pZClzY3JvbGxWaWV3V2lsbEVuZERyYWdnaW5nOihV
SVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3IHdpdGhWZWxvY2l0eTooQ0dQb2kKIAogICAgIGlmICgh
X3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52ZXJ0aWNhbFNuYXBP
ZmZzZXRzKCkuaXNFbXB0eSgpKSB7CiAgICAgICAgIHVuc2lnbmVkIGluZGV4OwotICAgICAgICBm
bG9hdCBwb3RlbnRpYWxTbmFwUG9zaXRpb24gPSBjbG9zZXN0U25hcE9mZnNldChfc2Nyb2xsaW5n
VHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2FsU25hcE9mZnNldHMoKSwg
X3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52ZXJ0aWNhbFNuYXBP
ZmZzZXRSYW5nZXMoKSwgdmVydGljYWxUYXJnZXQsIHZlbG9jaXR5LnksIGluZGV4KTsKKyAgICAg
ICAgZmxvYXQgcG90ZW50aWFsU25hcFBvc2l0aW9uID0gV2ViQ29yZTo6Y2xvc2VzdFNuYXBPZmZz
ZXQoX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52ZXJ0aWNhbFNu
YXBPZmZzZXRzKCksIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCku
dmVydGljYWxTbmFwT2Zmc2V0UmFuZ2VzKCksIHZlcnRpY2FsVGFyZ2V0LCB2ZWxvY2l0eS55LCBp
bmRleCk7CiAgICAgICAgIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2Rl
KCkuc2V0Q3VycmVudFZlcnRpY2FsU25hcFBvaW50SW5kZXgoaW5kZXgpOwogICAgICAgICBpZiAo
dmVydGljYWxUYXJnZXQgPj0gMCAmJiB2ZXJ0aWNhbFRhcmdldCA8PSBzY3JvbGxWaWV3LmNvbnRl
bnRTaXplLmhlaWdodCkKICAgICAgICAgICAgIHRhcmdldENvbnRlbnRPZmZzZXQtPnkgPSBwb3Rl
bnRpYWxTbmFwUG9zaXRpb247CkBAIC0xMjIsNiArMTIwLDcgQEAgLSAodm9pZClzY3JvbGxWaWV3
RGlkRW5kRGVjZWxlcmF0aW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3CiBAZW5kCiAKIG5h
bWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIFNjcm9sbGluZ1Ry
ZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1M6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVs
ZWdhdGVJT1MoU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUmIHNjcm9sbGluZ05vZGUpCiAgICAg
OiBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlKHNjcm9sbGluZ05vZGUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1By
b3h5LmNwcAppbmRleCBlZmE4ZDEzY2JiZDVmZmE4MDhiNWYwZWRiZjRhNTFkYzlkZjg1N2U3Li4z
YTEzMWI0ZDYwZDhhYTA3ZTg3ZmI1ZTRjNjE0ZjMwYTdkNDJiNTc0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94eS5jcHAK
QEAgLTM3LDcgKzM3LDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CiAKLXN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUNhbGxiYWNrSUQoKQorc3RhdGljIHVp
bnQ2NF90IGdlbmVyYXRlU3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKCkKIHsKICAgICBzdGF0aWMg
dWludDY0X3QgY2FsbGJhY2tJRDsKIApAQCAtMTA1LDcgKzEwNSw3IEBAIHZvaWQgU3RvcmFnZVBy
b2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9w
dGlvblNldDxXCiB7CiAgICAgQVNTRVJUKGNhblNlbmRNZXNzYWdlKCkpOwogCi0gICAgdWludDY0
X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIHVpbnQ2NF90IGNhbGxi
YWNrSUQgPSBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVuZGlu
Z0ZldGNoV2Vic2l0ZURhdGFDYWxsYmFja3MuYWRkKGNhbGxiYWNrSUQsIFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpKTsKIAogICAgIHNlbmQoTWVzc2FnZXM6OlN0b3JhZ2VQcm9jZXNzOjpGZXRj
aFdlYnNpdGVEYXRhKHNlc3Npb25JRCwgZGF0YVR5cGVzLCBjYWxsYmFja0lEKSwgMCk7CkBAIC0x
MTMsNyArMTEzLDcgQEAgdm9pZCBTdG9yYWdlUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRh
KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFcKIAogdm9pZCBTdG9yYWdlUHJv
Y2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9w
dGlvblNldDxXZWJzaXRlRGF0YVR5cGU+IGRhdGFUeXBlcywgV2FsbFRpbWUgbW9kaWZpZWRTaW5j
ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAg
ICBhdXRvIGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICBhdXRvIGNhbGxi
YWNrSUQgPSBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpOwogCiAgICAgbV9wZW5k
aW5nRGVsZXRlV2Vic2l0ZURhdGFDYWxsYmFja3MuYWRkKGNhbGxiYWNrSUQsIFdURk1vdmUoY29t
cGxldGlvbkhhbmRsZXIpKTsKICAgICBzZW5kKE1lc3NhZ2VzOjpTdG9yYWdlUHJvY2Vzczo6RGVs
ZXRlV2Vic2l0ZURhdGEoc2Vzc2lvbklELCBkYXRhVHlwZXMsIG1vZGlmaWVkU2luY2UsIGNhbGxi
YWNrSUQpLCAwKTsKQEAgLTEyMyw3ICsxMjMsNyBAQCB2b2lkIFN0b3JhZ2VQcm9jZXNzUHJveHk6
OmRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsCiB7
CiAgICAgQVNTRVJUKGNhblNlbmRNZXNzYWdlKCkpOwogCi0gICAgdWludDY0X3QgY2FsbGJhY2tJ
RCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5l
cmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVuZGluZ0RlbGV0ZVdlYnNp
dGVEYXRhRm9yT3JpZ2luc0NhbGxiYWNrcy5hZGQoY2FsbGJhY2tJRCwgV1RGTW92ZShjb21wbGV0
aW9uSGFuZGxlcikpOwogCiAgICAgc2VuZChNZXNzYWdlczo6U3RvcmFnZVByb2Nlc3M6OkRlbGV0
ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhzZXNzaW9uSUQsIGRhdGFUeXBlcywgb3JpZ2lucywgY2Fs
bGJhY2tJRCksIDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggYzc3MTU1OTBlZDcxY2NkZDIzZGYyODVhM2FhN2MzNmU1NDNkYjdmNi4u
YmM3YzI0M2Y0Nzk2YWNjMmVjZTRjNGZlY2M0NDkyOTI1OGNkYjQ1NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03NTYsNiArNzU2LDgg
QEAKIAkJMkQ5MkE3OTUyMTJCNkFENDAwRjQ5M0ZEIC8qIFBsdWdpblByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUEyRDkwRDExMjgxQzk2NjAwMUVCOTYyIC8qIFBsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuY3BwICovOyB9OwogCQkyRDkyQTc5NjIxMkI2QURBMDBGNDkzRkQgLyogTmV0c2NhcGVQ
bHVnaW5Nb2R1bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUE0QTlDNTMxMkI4MTZDRjAwOEZFOTg0IC8qIE5ldHNjYXBlUGx1Z2luTW9kdWxlLmNw
cCAqLzsgfTsKIAkJMkQ5MkE3OTcyMTJCNkFEQTAwRjQ5M0ZEIC8qIFBsdWdpbkluZm9ybWF0aW9u
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDM0Y4
QzhFMTczQUY1MkQwMDdCN0YzOSAvKiBQbHVnaW5JbmZvcm1hdGlvbi5jcHAgKi87IH07CisJCTJE
OTJBNzk4MjEzNDhEODUwMEY0OTNGRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQjFGNzdE
MUQxQjMwQTkwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbSAqLzsg
fTsKKwkJMkQ5MkE3OUYyMTM0QjA3RTAwRjQ5M0ZEIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5SU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUFCMUY3N0IxRDFCMzBBOTAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5SU9T
Lm1tICovOyB9OwogCQkyRDkzMTE2OTIxMkY2MUIyMDAwNDRCRkUgLyogV0tDb250ZW50Vmlldy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0I0RTNE
MThCQkUwNDQwMDBGQ0ZDOSAvKiBXS0NvbnRlbnRWaWV3Lm1tICovOyB9OwogCQkyRDkzMTE2QTIx
MkY2MUI1MDAwNDRCRkUgLyogV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDQjRFNkIxOEJCRjI2QTAwMEZD
RkM5IC8qIFdLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSAqLzsgfTsKIAkJMkQ5RUEzMEQxQTk2
Q0I1OTAwMkQyODA3IC8qIFdLUGFnZUluamVjdGVkQnVuZGxlQ2xpZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlFQTMwQzFBOTZDQjU5MDAyRDI4
MDcgLyogV0tQYWdlSW5qZWN0ZWRCdW5kbGVDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTEyNDEsNiArMTEyNDMsOCBAQAogCQkJCTdD
RTlDRTEwMUZBMDc2N0EwMDAxNzdERSAvKiBXZWJQYWdlVXBkYXRlUHJlZmVyZW5jZXMuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJN0M0Njk0QzkxQTRCNEVBMTAwQUQ1ODQ1IC8qIFdlYlBhc3RlYm9h
cmRQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUIxRjc5NjFE
MUIzNjEzMDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yTWVzc2FnZVJlY2VpdmVyLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJBNzlGMjEzNEIwN0UwMEY0OTNGRCAvKiBXZWJQYXlt
ZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJBNzk4MjEz
NDhEODUwMEY0OTNGRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCTFBQjFGNzk4MUQxQjM2MTMwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRp
bmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDkyQTc4
RDIxMkI2QUIxMDBGNDkzRkQgLyogV2ViUGxhdGZvcm1Ub3VjaFBvaW50LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTJEOTEzNDRFMjEyQ0Y5RjAwMDEyOEFGRCAvKiBXZWJQbHVnaW5JbmZvUHJvdmlk
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1Bs
dWdpbnMvUERGL1BERlBsdWdpbi5tbQppbmRleCA1MzA3ZTI2YTc2MzdlOGE2OWIwNDVhYmI5Mjg3
OWYzZjhjNjU4NmYyLi40Y2FhNmNjMGY2MDQ1MGMwM2IyMmEyODRkZDEzYWYyNWVmZDZlMzg2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2lu
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4u
bW0KQEAgLTg4LDggKzg4LDYgQEAKICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TTWVudVNQSS5oPgog
I2ltcG9ydCA8d3RmL1VVSUQuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIC8vIFNl
dCBvdmVyZmxvdzogaGlkZGVuIG9uIHRoZSBhbm5vdGF0aW9uIGNvbnRhaW5lciBzbyA8aW5wdXQ+
IGVsZW1lbnRzIHNjcm9sbGVkIG91dCBvZiB2aWV3IGRvbid0IHNob3cKIC8vIHNjcm9sbGJhcnMg
b24gdGhlIGJvZHkuIFdlIGNhbid0IGFkZCBhbm5vdGF0aW9ucyBkaXJlY3RseSB0byB0aGUgYm9k
eSwgYmVjYXVzZSBvdmVyZmxvdzogaGlkZGVuIG9uIHRoZSBib2R5CiAvLyB3aWxsIGJyZWFrIHJ1
YmJlci1iYW5kaW5nLgpAQCAtMjkwLDcgKzI4OCw3IEBAIC0gKE5TQXJyYXkgKilhY2Nlc3NpYmls
aXR5QWN0aW9uTmFtZXMKIC0gKHZvaWQpYWNjZXNzaWJpbGl0eVBlcmZvcm1BY3Rpb246KE5TU3Ry
aW5nICopYWN0aW9uCiB7CiAgICAgaWYgKFthY3Rpb24gaXNFcXVhbFRvU3RyaW5nOk5TQWNjZXNz
aWJpbGl0eVNob3dNZW51QWN0aW9uXSkKLSAgICAgICAgX3BkZlBsdWdpbi0+c2hvd0NvbnRleHRN
ZW51QXRQb2ludChJbnRSZWN0KEludFBvaW50KCksIF9wZGZQbHVnaW4tPnNpemUoKSkuY2VudGVy
KCkpOworICAgICAgICBfcGRmUGx1Z2luLT5zaG93Q29udGV4dE1lbnVBdFBvaW50KFdlYkNvcmU6
OkludFJlY3QoV2ViQ29yZTo6SW50UG9pbnQoKSwgX3BkZlBsdWdpbi0+c2l6ZSgpKS5jZW50ZXIo
KSk7CiB9CiAKIC0gKEJPT0wpYWNjZXNzaWJpbGl0eUlzQXR0cmlidXRlU2V0dGFibGU6KE5TU3Ry
aW5nICopYXR0cmlidXRlCkBAIC0zMTYsOCArMzE0LDggQEAgLSAoaWQpYWNjZXNzaWJpbGl0eUZv
Y3VzZWRVSUVsZW1lbnQKIHsKICNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMTMwMAogICAgIGlmIChXZWJLaXQ6OlBERlBsdWdpbkFubm90YXRpb24qIGFjdGl2ZUFubm90
YXRpb24gPSBfcGRmUGx1Z2luLT5hY3RpdmVBbm5vdGF0aW9uKCkpIHsKLSAgICAgICAgaWYgKEFY
T2JqZWN0Q2FjaGUqIGV4aXN0aW5nQ2FjaGUgPSBfcGRmUGx1Z2luLT5heE9iamVjdENhY2hlKCkp
IHsKLSAgICAgICAgICAgIGlmIChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QgPSBleGlzdGlu
Z0NhY2hlLT5nZXRPckNyZWF0ZShhY3RpdmVBbm5vdGF0aW9uLT5lbGVtZW50KCkpKQorICAgICAg
ICBpZiAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZSogZXhpc3RpbmdDYWNoZSA9IF9wZGZQbHVnaW4t
PmF4T2JqZWN0Q2FjaGUoKSkgeworICAgICAgICAgICAgaWYgKFdlYkNvcmU6OkFjY2Vzc2liaWxp
dHlPYmplY3QqIG9iamVjdCA9IGV4aXN0aW5nQ2FjaGUtPmdldE9yQ3JlYXRlKGFjdGl2ZUFubm90
YXRpb24tPmVsZW1lbnQoKSkpCiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAogI3ByYWdt
YSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMiCiAg
ICAgICAgICAgICAgICAgcmV0dXJuIFtvYmplY3QtPndyYXBwZXIoKSBhY2Nlc3NpYmlsaXR5QXR0
cmlidXRlVmFsdWU6QCJfQVhBc3NvY2lhdGVkUGx1Z2luUGFyZW50Il07CkBAIC0zMzgsMTEgKzMz
NiwxMSBAQCAtIChpZClhY2Nlc3NpYmlsaXR5QXNzb2NpYXRlZENvbnRyb2xGb3JBbm5vdGF0aW9u
OihQREZBbm5vdGF0aW9uICopYW5ub3RhdGlvbgogICAgIGlmICghYWN0aXZlQW5ub3RhdGlvbiB8
fCAhW2FjdGl2ZUFubm90YXRpb24tPmFubm90YXRpb24oKSBpc0VxdWFsOmFubm90YXRpb25dKQog
ICAgICAgICByZXR1cm4gbmlsOwogICAgIAotICAgIEFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gX3Bk
ZlBsdWdpbi0+YXhPYmplY3RDYWNoZSgpOworICAgIFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGUqIGNh
Y2hlID0gX3BkZlBsdWdpbi0+YXhPYmplY3RDYWNoZSgpOwogICAgIGlmICghY2FjaGUpCiAgICAg
ICAgIHJldHVybiBuaWw7CiAgICAgCi0gICAgQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0ID0g
Y2FjaGUtPmdldE9yQ3JlYXRlKGFjdGl2ZUFubm90YXRpb24tPmVsZW1lbnQoKSk7CisgICAgV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0ID0gY2FjaGUtPmdldE9yQ3JlYXRlKGFj
dGl2ZUFubm90YXRpb24tPmVsZW1lbnQoKSk7CiAgICAgaWYgKCFvYmplY3QpCiAgICAgICAgIHJl
dHVybiBuaWw7CiAKQEAgLTM1Myw3ICszNTEsNyBAQCAtIChpZClhY2Nlc3NpYmlsaXR5QXNzb2Np
YXRlZENvbnRyb2xGb3JBbm5vdGF0aW9uOihQREZBbm5vdGF0aW9uICopYW5ub3RhdGlvbgogLSAo
aWQpYWNjZXNzaWJpbGl0eUhpdFRlc3Q6KE5TUG9pbnQpcG9pbnQKIHsKICNpZiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMAotICAgIHBvaW50ID0gX3BkZlBsdWdpbi0+
Y29udmVydEZyb21Sb290Vmlld1RvUERGVmlldyhJbnRQb2ludChwb2ludCkpOworICAgIHBvaW50
ID0gX3BkZlBsdWdpbi0+Y29udmVydEZyb21Sb290Vmlld1RvUERGVmlldyhXZWJDb3JlOjpJbnRQ
b2ludChwb2ludCkpOwogICAgIHJldHVybiBbX3BkZkxheWVyQ29udHJvbGxlciBhY2Nlc3NpYmls
aXR5SGl0VGVzdDpwb2ludF07CiAjZWxzZQogICAgIHJldHVybiBzZWxmOwpAQCAtNDIxLDcgKzQx
OSw3IEBAIC0gKGlkKWluaXRXaXRoUERGUGx1Z2luOihXZWJLaXQ6OlBERlBsdWdpbiAqKXBsdWdp
bgogCiAtICh2b2lkKXVwZGF0ZVNjcm9sbFBvc2l0aW9uOihDR1BvaW50KW5ld1Bvc2l0aW9uCiB7
Ci0gICAgX3BkZlBsdWdpbi0+bm90aWZ5U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKEludFBvaW50KG5l
d1Bvc2l0aW9uKSk7CisgICAgX3BkZlBsdWdpbi0+bm90aWZ5U2Nyb2xsUG9zaXRpb25DaGFuZ2Vk
KFdlYkNvcmU6OkludFBvaW50KG5ld1Bvc2l0aW9uKSk7CiB9CiAKIC0gKHZvaWQpd3JpdGVJdGVt
c1RvUGFzdGVib2FyZDooTlNBcnJheSAqKWl0ZW1zIHdpdGhUeXBlczooTlNBcnJheSAqKXR5cGVz
CkBAIC01MDAsNiArNDk4LDEwIEBAIC0gKE5TUmVjdCljb252ZXJ0UmVjdDooTlNSZWN0KXJlY3Qg
ZnJvbVBhZ2U6KFBERlBhZ2UgKikgcGFnZSBmb3JTY2FsZUZhY3RvcjooQ0dGCiAtIChQREZQYWdl
ICopcGFnZU5lYXJlc3RQb2ludDooTlNQb2ludClwb2ludCBjdXJyZW50UGFnZTooUERGUGFnZSAq
KWN1cnJlbnRQYWdlOwogQGVuZAogCituYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwordXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKKwogc3RhdGljIGNvbnN0IGNo
YXIqIHBvc3RTY3JpcHRNSU1FVHlwZSA9ICJhcHBsaWNhdGlvbi9wb3N0c2NyaXB0IjsKIGNvbnN0
IHVpbnQ2NF90IHBkZkRvY3VtZW50UmVxdWVzdElEID0gMTsgLy8gUGx1Z2luQ29udHJvbGxlciBz
dXBwb3J0cyBsb2FkaW5nIG11bHRpcGxlIHN0cmVhbXMsIGJ1dCB3ZSBvbmx5IG5lZWQgb25lIGZv
ciBQREYuCiAKQEAgLTU5Niw5ICs1OTgsNiBAQCBzdGF0aWMgdm9pZCBnZXRBbGxTY3JpcHRzSW5Q
REZEb2N1bWVudChDR1BERkRvY3VtZW50UmVmIHBkZkRvY3VtZW50LCBWZWN0b3I8UmV0YQogICAg
IH0KIH0KIAotbmFtZXNwYWNlIFdlYktpdCB7Ci11c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwot
CiBSZWY8UERGUGx1Z2luPiBQREZQbHVnaW46OmNyZWF0ZShXZWJGcmFtZSYgZnJhbWUpCiB7CiAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUERGUGx1Z2luKGZyYW1lKSk7CkBAIC0xNDUwLDcgKzE0
NDksNyBAQCB2b2lkIFBERlBsdWdpbjo6dXBkYXRlQ3Vyc29yKGNvbnN0IFdlYk1vdXNlRXZlbnQm
IGV2ZW50LCBVcGRhdGVDdXJzb3JNb2RlIG1vZGUpCiAgICAgaWYgKGhpdFRlc3RSZXN1bHQgPT0g
bV9sYXN0SGl0VGVzdFJlc3VsdCAmJiBtb2RlID09IFVwZGF0ZUlmTmVlZGVkKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICB3ZWJGcmFtZSgpLT5wYWdlKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQ
cm94eTo6U2V0Q3Vyc29yKGhpdFRlc3RSZXN1bHQgPT0gVGV4dCA/IGlCZWFtQ3Vyc29yKCkgOiBw
b2ludGVyQ3Vyc29yKCkpKTsKKyAgICB3ZWJGcmFtZSgpLT5wYWdlKCktPnNlbmQoTWVzc2FnZXM6
OldlYlBhZ2VQcm94eTo6U2V0Q3Vyc29yKGhpdFRlc3RSZXN1bHQgPT0gVGV4dCA/IFdlYkNvcmU6
OmlCZWFtQ3Vyc29yKCkgOiBXZWJDb3JlOjpwb2ludGVyQ3Vyc29yKCkpKTsKICAgICBtX2xhc3RI
aXRUZXN0UmVzdWx0ID0gaGl0VGVzdFJlc3VsdDsKIH0KICNlbmRpZgpAQCAtMTk4MSwxNiArMTk4
MCwxNiBAQCB2b2lkIFBERlBsdWdpbjo6bm90aWZ5U2VsZWN0aW9uQ2hhbmdlZChQREZTZWxlY3Rp
b24gKikKICAgICB3ZWJGcmFtZSgpLT5wYWdlKCktPmRpZENoYW5nZVNlbGVjdGlvbigpOwogfQog
Ci1zdGF0aWMgY29uc3QgQ3Vyc29yJiBjb3JlQ3Vyc29yKFBERkxheWVyQ29udHJvbGxlckN1cnNv
clR5cGUgdHlwZSkKK3N0YXRpYyBjb25zdCBXZWJDb3JlOjpDdXJzb3ImIGNvcmVDdXJzb3IoUERG
TGF5ZXJDb250cm9sbGVyQ3Vyc29yVHlwZSB0eXBlKQogewogICAgIHN3aXRjaCAodHlwZSkgewog
ICAgIGNhc2Uga1BERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGVIYW5kOgotICAgICAgICByZXR1
cm4gaGFuZEN1cnNvcigpOworICAgICAgICByZXR1cm4gV2ViQ29yZTo6aGFuZEN1cnNvcigpOwog
ICAgIGNhc2Uga1BERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGVJQmVhbToKLSAgICAgICAgcmV0
dXJuIGlCZWFtQ3Vyc29yKCk7CisgICAgICAgIHJldHVybiBXZWJDb3JlOjppQmVhbUN1cnNvcigp
OwogICAgIGNhc2Uga1BERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGVQb2ludGVyOgogICAgIGRl
ZmF1bHQ6Ci0gICAgICAgIHJldHVybiBwb2ludGVyQ3Vyc29yKCk7CisgICAgICAgIHJldHVybiBX
ZWJDb3JlOjpwb2ludGVyQ3Vyc29yKCk7CiAgICAgfQogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348222</attachid>
            <date>2018-08-27 15:48:55 -0700</date>
            <delta_ts>2018-08-27 16:04:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189009-20180827154854.patch</filename>
            <type>text/plain</type>
            <size>55066</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1Mzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDI5MmM2NDA4MzcwZGM0YWY2ZmVmYmQ0
MzZlZGNhYTc3ZDA3NWUzOWEuLjgxMTBlZGU5NjU0OWM4MjM0YTNiYjJjNzM1NmFiYjAyNDIxNDJm
MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3Jl
IHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL2dlbmVy
YXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmI6CisgICAgICAgIEl0IHR1cm5zIG91dCBvdXIg
cGxhbiB0byBzd2l0Y2ggdW5pZmllZCBzb3VyY2UgYnVuZGxlIGV2ZXJ5IHRpbWUgdGhlIGRpcmVj
dG9yeQorICAgICAgICBjaGFuZ2VzIGlzIG5vdCBhIGdvb2QgZml0IGZvciBwcm9qZWN0cyBsaWtl
IFdlYktpdDIgd2l0aCBtYW55IHNtYWxsIGRpcmVjdG9yaWVzLgorICAgICAgICBJdCBsZWF2ZXMg
bWFueSB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIHdpdGggb25seSBhIHNpbmdsZSBzb3VyY2UgZmls
ZSwKKyAgICAgICAgYWNoaWV2aW5nIG9ubHkgfjQwJSBkZW5zaXR5LgorCisgICAgICAgIEluc3Rl
YWQsIHN3aXRjaCB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIGV2ZXJ5IHRpbWUgdGhlIHRvcC1sZXZl
bCBkaXJlY3RvcnkgY2hhbmdlcy4KKyAgICAgICAgVGhpcyBzdGlsbCBhY2hpZXZlcyB0aGUgZ29h
bCBvZiAqdXN1YWxseSogb25seSByZWJ1aWxkaW5nIHRoZSBvbmUgdG9wLWxldmVsCisgICAgICAg
IGRpcmVjdG9yeSB5b3UgdG91Y2hlZCwgYW5kIGluY3JlYXNlcyBzb3VyY2UgYnVuZGxlIGRlbnNp
dHkgd2lsZGx5LCB0byB+OTUlLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTgt
MDgtMjcgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxk
IHN5c3RlbSBzdXBwb3J0IGZvciBMVE8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhMGI5YTAyZDQ5MWQzYzc0NDBh
Y2U4YTIyNDFjNGU1MzUwYzVmNTE0Li4yMDA5OWQwOTZiMDhiM2E0ZjkxOTE2YmRlZDdhNTZlNWUw
YjgzYjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQg
c291cmNlcyBtb3JlIHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1
Y3R1cmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
ODkwMDkKKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgRml4
IGEgdmFyaWV0eSBvZiB1bmlmaWNhdGlvbiBlcnJvcnMgZHVlIHRvIHJlc2h1ZmZsaW5nIHRoZSBi
dW5kbGVzLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9B
bGdvcml0aG1FQ0RTQS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1FQ0RT
QTo6aW1wb3J0S2V5KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBodG1s
L3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKiBwYWdlL0FsdGVybmF0
aXZlVGV4dENsaWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL1Bhc3RlYm9hcmQuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHA6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5tbToKKyAgICAgICAg
KC1bV2ViR0xMYXllciBpbml0V2l0aEdyYXBoaWNzQ29udGV4dDNEOl0pOgorICAgICAgICAoLVtX
ZWJHTExheWVyIGNvcHlJbWFnZVNuYXBzaG90V2l0aENvbG9yU3BhY2U6XSk6CisgICAgICAgICgt
W1dlYkdMTGF5ZXIgZGlzcGxheV0pOgorICAgICAgICAoLVtXZWJHTExheWVyIGFsbG9jYXRlSU9T
dXJmYWNlQmFja2luZ1N0b3JlV2l0aFNpemU6dXNpbmdBbHBoYTpdKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbToKKyAgICAgICAgKC1bV2ViR1BVTGF5
ZXIgaW5pdFdpdGhHUFVEZXZpY2U6XSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0
YWwvR1BVQ29tbWFuZFF1ZXVlTWV0YWwubW06CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Bhc3Rl
Ym9hcmRNYWMubW06CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlD
YXB0dXJlTWFuYWdlckNvY29hLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlUmVxdWVzdEJhc2UuY3BwOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJU
cmVlQnVpbGRlckJsb2NrRmxvdy5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVCdWlsZGVySW5saW5lLmNwcDoKKwogMjAxOC0wOC0yNyAgS2VpdGggUm9sbGluICA8
a3JvbGxpbkBhcHBsZS5jb20+CiAKICAgICAgICAgQnVpbGQgc3lzdGVtIHN1cHBvcnQgZm9yIExU
TwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCAwZjg2OGYwZTliYWUyNjgxMWZiZjI0ZDFjOWFmNGU4OWZkMjNlZDE3Li5j
OWI0OTBhODMwNjI2ZmU0YzkzYTA1OWI0M2FhNGM0MTVlYTlhOTM4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDUyIEBACisyMDE4LTA4LTI3ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUu
Y29tPgorCisgICAgICAgIEJ1bmRsZSB1bmlmaWVkIHNvdXJjZXMgbW9yZSB0aWdodGx5IGluIHBy
b2plY3RzIHdpdGggZGVlcCBkaXJlY3Rvcnkgc3RydWN0dXJlcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5MDA5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIEZpeCBhIHZhcmlldHkgb2YgdW5pZmljYXRpb24g
ZXJyb3JzIGR1ZSB0byByZXNodWZmbGluZyB0aGUgYnVuZGxlcy4KKworICAgICAgICAqIFNoYXJl
ZC9BUElXZWJBcmNoaXZlLm1tOgorICAgICAgICAqIFNoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3Vy
Y2UubW06CisgICAgICAgICogU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1
Z2luTW9kdWxlTWFjLm1tOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9Q
bHVnaW5JbmZvcm1hdGlvbk1hYy5tbToKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaDoKKyAgICAg
ICAgKEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6OnNlc3Npb25JZGVudGlmaWVyIGNvbnN0
KToKKyAgICAgICAgKEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6Om1lc3NhZ2VPZkN1cnJl
bnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKToKKyAgICAgICAgKEFQSTo6QXV0b21hdGlvblNlc3Np
b25DbGllbnQ6OnNldFVzZXJJbnB1dEZvckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xp
ZW50Lm1tOgorICAgICAgICAoLVtXS0N1c3RvbVByb3RvY29sTG9hZGVyIGluaXRXaXRoTGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6Y3VzdG9tUHJvdG9jb2xJRDpyZXF1ZXN0Ol0pOgor
ICAgICAgICAoLVtXS0N1c3RvbVByb3RvY29sTG9hZGVyIGNvbm5lY3Rpb246ZGlkRmFpbFdpdGhF
cnJvcjpdKToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBjb25uZWN0aW9uOmRp
ZFJlY2VpdmVSZXNwb25zZTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Q
cm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZVBsdWdpblByb2Nlc3ND
YWxsYmFja0lEKToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpmZXRjaFdl
YnNpdGVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVX
ZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRl
V2Vic2l0ZURhdGFGb3JIb3N0TmFtZXMpOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZUNhbGxi
YWNrSUQpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9z
L1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW06CisgICAgICAgICgtW1dL
U2Nyb2xsaW5nTm9kZVNjcm9sbFZpZXdEZWxlZ2F0ZSBzY3JvbGxWaWV3V2lsbEVuZERyYWdnaW5n
OndpdGhWZWxvY2l0eTp0YXJnZXRDb250ZW50T2Zmc2V0Ol0pOgorICAgICAgICAqIFVJUHJvY2Vz
cy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpnZW5l
cmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VQ
cm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdl
UHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlN0b3Jh
Z2VQcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyk6CisgICAgICAgIChX
ZWJLaXQ6OmdlbmVyYXRlQ2FsbGJhY2tJRCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BE
Ri9QREZQbHVnaW4ubW06CisgICAgICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVj
dCBhY2Nlc3NpYmlsaXR5UGVyZm9ybUFjdGlvbjpdKToKKyAgICAgICAgKC1bV0tQREZQbHVnaW5B
Y2Nlc3NpYmlsaXR5T2JqZWN0IGFjY2Vzc2liaWxpdHlGb2N1c2VkVUlFbGVtZW50XSk6CisgICAg
ICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5QXNzb2Np
YXRlZENvbnRyb2xGb3JBbm5vdGF0aW9uOl0pOgorICAgICAgICAoLVtXS1BERlBsdWdpbkFjY2Vz
c2liaWxpdHlPYmplY3QgYWNjZXNzaWJpbGl0eUhpdFRlc3Q6XSk6CisgICAgICAgICgtW1dLUERG
TGF5ZXJDb250cm9sbGVyRGVsZWdhdGUgdXBkYXRlU2Nyb2xsUG9zaXRpb246XSk6CisgICAgICAg
IChXZWJLaXQ6OlBERlBsdWdpbjo6dXBkYXRlQ3Vyc29yKToKKyAgICAgICAgKFdlYktpdDo6Y29y
ZUN1cnNvcik6CisgICAgICAgIChhcHBlbmRWYWx1ZXNJblBERk5hbWVTdWJ0cmVlVG9WZWN0b3Ip
OiBEZWxldGVkLgorICAgICAgICAoZ2V0QWxsVmFsdWVzSW5QREZOYW1lVHJlZSk6IERlbGV0ZWQu
CisgICAgICAgIChnZXRBbGxTY3JpcHRzSW5QREZEb2N1bWVudCk6IERlbGV0ZWQuCisKIDIwMTgt
MDgtMjcgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAg
ICAgICBGaXggaW50ZXJuYWwgYnVpbGRzIGFmdGVyIHIyMzUzNjgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvU2NyaXB0cy9nZW5lcmF0ZS11bmlmaWVkLXNvdXJjZS1idW5kbGVzLnJiIGIvU291cmNl
L1dURi9TY3JpcHRzL2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKaW5kZXggYzAx
OTY2ZWUxYjJjNjdkOTc2MGYwM2E1YmJjYWEzY2I1NzI2MTJiMy4uYWJkOTc2NzdhMjBhZGI0ZDQ2
MmViOThmNzc4ZDk4MDI5YmRkNDk5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL2dl
bmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKKysrIGIvU291cmNlL1dURi9TY3JpcHRz
L2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKQEAgLTIxMCwxMCArMjEwLDE3IEBA
IGNsYXNzIEJ1bmRsZU1hbmFnZXIKICAgICBlbmQKIGVuZAogCitkZWYgVG9wTGV2ZWxEaXJlY3Rv
cnlGb3JQYXRoKHBhdGgpCisgICAgaWYgIXBhdGgKKyAgICAgICAgcmV0dXJuIG5pbAorICAgIGVu
ZAorICAgIHJldHVybiBwYXRoLmVhY2hfZmlsZW5hbWUubmV4dAorZW5kCisKIGRlZiBQcm9jZXNz
RmlsZUZvclVuaWZpZWRTb3VyY2VHZW5lcmF0aW9uKHNvdXJjZUZpbGUpCiAgICAgcGF0aCA9IHNv
dXJjZUZpbGUucGF0aAotICAgIGlmICgkY3VycmVudERpcmVjdG9yeSAhPSBwYXRoLmRpcm5hbWUp
Ci0gICAgICAgIGxvZygiRmx1c2hpbmcgYmVjYXVzZSBuZXcgZGlybmFtZTsgb2xkOiAjeyRjdXJy
ZW50RGlyZWN0b3J5fSwgbmV3OiAje3BhdGguZGlybmFtZX0iKQorICAgIGlmIChUb3BMZXZlbERp
cmVjdG9yeUZvclBhdGgoJGN1cnJlbnREaXJlY3RvcnkpICE9IFRvcExldmVsRGlyZWN0b3J5Rm9y
UGF0aChwYXRoLmRpcm5hbWUpKQorICAgICAgICBsb2coIkZsdXNoaW5nIGJlY2F1c2UgbmV3IHRv
cCBsZXZlbCBkaXJlY3Rvcnk7IG9sZDogI3skY3VycmVudERpcmVjdG9yeX0sIG5ldzogI3twYXRo
LmRpcm5hbWV9IikKICAgICAgICAgJGJ1bmRsZU1hbmFnZXJzLmVhY2hfdmFsdWUgeyB8eHwgeC5m
bHVzaCB9CiAgICAgICAgICRjdXJyZW50RGlyZWN0b3J5ID0gcGF0aC5kaXJuYW1lCiAgICAgZW5k
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYv
UGxhdGZvcm0uaAppbmRleCAwYzZlZmI4NjI5ODI1MzlkMmI0YjJjYzRmOGY4YjVmY2I0ZWM4OGU4
Li42N2NmYTkzMzEzYzkwNDIxZWI2Y2YxNzlkOThlZjcwM2RhMGU0OWRiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgK
QEAgLTEzMTQsNiArMTMxNCw3IEBACiAjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX1RP
VUNIX0JBUiAxCiAjZGVmaW5lIEhBVkVfQURWQU5DRURfU1BFTExfQ0hFQ0tJTkcgMQorI2RlZmlu
ZSBVU0VfRElDVEFUSU9OX0FMVEVSTkFUSVZFUyAxCiAKICNpZiBkZWZpbmVkKF9fTFA2NF9fKQog
I2RlZmluZSBFTkFCTEVfV0VCX1BMQVlCQUNLX0NPTlRST0xTX01BTkFHRVIgMQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyQ2FjaGVTdG9yYWdl
Q29ubmVjdGlvbi5jcHAKaW5kZXggYWQyMDkzMjE5Zjg4ZTZkYTNlMWQ2MDYyNGU0MWFlOWE0MWRm
NDkyNy4uMWViZGQ1ZGU0OGE3ZTdlMWM5NmEwMWM3OGZlZDdkYTViYzRmYjg4OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckNhY2hlU3Rv
cmFnZUNvbm5lY3Rpb24uY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJDYWNoZVF1
ZXJ5T3B0aW9ucy5oIgogI2luY2x1ZGUgIkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgiCisjaW5jbHVk
ZSAiQ2xpZW50T3JpZ2luLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJQYWdl
LmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKQEAgLTM2LDcgKzM3LDYgQEAKICNp
bmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCiAjaW5jbHVkZSAiV29ya2VyVGhyZWFkLmgiCiAKLQog
bmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU6OkRPTUNhY2hlRW5n
aW5lOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVEND
b250cm9sbGVyLmNwcAppbmRleCA5NjEzMmU2OTczN2FlOThhNjBmOTU0ZjFmMzExODM4NDEwNzFl
MGE5Li5jZGI3NzdlOTk5MjkyMjFjZjBhOGYwMTE0MmIyZDA3ZWRlOWVmZWQ0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29udHJvbGxlci5jcHAK
QEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShXRUJfUlRDKQogCisjaW5jbHVkZSAiRG9j
dW1lbnQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENQcm92aWRlci5oIgogI2luY2x1ZGUgIlJUQ1Bl
ZXJDb25uZWN0aW9uLmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5
bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuY3BwCmlu
ZGV4IGMyMDUzMzVlYWE4ZTkxOGE2ZDM4YWU0ZjJmZmM4MWFlZDQ1YTlhMGYuLjk0YjcxYzQ2NjE5
MjQxMzVjMjFhZWE2OWQ0ODk5ZDdiMDc1YTYyYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdFVw
ZGF0ZUV2ZW50LmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKFBBWU1FTlRfUkVR
VUVTVCkKIAorI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJQYXltZW50UmVxdWVz
dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dAppbmRleCA2
NmY3ZjE2YmQ2NGY4MmM0MzJiZWFlZDhlNzBkMWI1ZmYwNjNhNTE3Li45NTdlNGI1YjY2MWI0MDIw
ZjBhMjFlZTAwOTVjMDE3NjQ2ZTQ5M2EzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKQEAgLTM4
OSw3ICszODksNyBAQCBwbGF0Zm9ybS9pb3MvUGxhdGZvcm1TY3JlZW5JT1MubW0KIHBsYXRmb3Jt
L2lvcy9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVySU9TLm1tIEBuby11bmlmeQogcGxhdGZvcm0v
aW9zL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0Lm1tIEBuby11bmlmeQogcGxhdGZvcm0v
aW9zL1F1aWNrTG9vay5tbQotcGxhdGZvcm0vaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tCitwbGF0
Zm9ybS9pb3MvUXVpY2tMb29rU29mdExpbmsubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvUmVt
b3RlQ29tbWFuZExpc3RlbmVySU9TLm1tCiBwbGF0Zm9ybS9pb3MvU2Nyb2xsQW5pbWF0b3JJT1Mu
bW0KIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbQpAQCAtMzk5LDcgKzM5OSw3IEBA
IHBsYXRmb3JtL2lvcy9TU0xLZXlHZW5lcmF0b3JJT1MuY3BwCiBwbGF0Zm9ybS9pb3MvU3lzdGVt
TWVtb3J5SU9TLmNwcAogcGxhdGZvcm0vaW9zL1RoZW1lSU9TLm1tIEBuby11bmlmeQogcGxhdGZv
cm0vaW9zL1RpbGVDb250cm9sbGVyTWVtb3J5SGFuZGxlcklPUy5jcHAKLXBsYXRmb3JtL2lvcy9V
c2VyQWdlbnRJT1MubW0KK3BsYXRmb3JtL2lvcy9Vc2VyQWdlbnRJT1MubW0gQG5vLXVuaWZ5CiBw
bGF0Zm9ybS9pb3MvVmFsaWRhdGlvbkJ1YmJsZUlPUy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lv
cy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lv
cy9XZWJBVlBsYXllckNvbnRyb2xsZXIubW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA3MjU1ZDI2NWM3NzIxNWVjMDliYTM4ZDk2
N2NhNGNkN2U4YWExNjU4Li5lMDVjOGEwYmU3ZmNjODM0NWUxNWQ2ODZkNzc3NDhjZDg2YmI2MTRh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC04MDYsNiArODA2LDggQEAKIAkJMkQ4QjkyRkYyMDNEMTNFMTAwOUM4NjhGIC8qIFVu
aWZpZWRTb3VyY2U1MzAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gREU1Rjg1RDMxRkEyMzg1OTAwNkRCNjNCIC8qIFVuaWZpZWRTb3VyY2U1MzAuY3Bw
ICovOyB9OwogCQkyRDhGRUJERDE0M0UzRUY3MDA3MjUwMkIgLyogQ1NTQ3Jvc3NmYWRlVmFsdWUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOEZFQkRC
MTQzRTNFRjcwMDcyNTAyQiAvKiBDU1NDcm9zc2ZhZGVWYWx1ZS5oICovOyB9OwogCQkyRDkwNjYw
NzBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOTA2NjA1MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlv
dXRTdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTJEOTJBNzlBMjEzNEFENzkwMEY0OTNGRCAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MzkxN0ZEMUE5MUIy
RjgwMDZFMDRGMiAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSAqLzsgfTsKKwkJMkQ5MkE3OUQyMTM0
QUY5NTAwRjQ5M0ZEIC8qIFVzZXJBZ2VudElPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzQUY5RDgzMjAzMjU2OTEwMDZDQUQwNiAvKiBVc2VyQWdl
bnRJT1MubW0gKi87IH07CiAJCTJEOTNBRUUzMTlERjU2NDEwMDJBODZDMyAvKiBTZXJ2aWNlc092
ZXJsYXlDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyRDkzQUVFMTE5REY1NjQxMDAyQTg2QzMgLyogU2VydmljZXNPdmVybGF5Q29udHJv
bGxlci5oICovOyB9OwogCQkyRDk3RjA0NzE5REQ0MTNDMDAxRUU5QzMgLyogTW9ja1BhZ2VPdmVy
bGF5Q2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJEQUFFMzJDMTlEQ0FGNjAwMEUwMDJEMiAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuY3Bw
ICovOyB9OwogCQkyRDk3RjA0ODE5REQ0MTQwMDAxRUU5QzMgLyogTW9ja1BhZ2VPdmVybGF5Q2xp
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREFB
RTMyRDE5RENBRjYwMDBFMDAyRDIgLyogTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmggKi87IH07CkBA
IC03MDczLDcgKzcwNzUsNyBAQAogCQkzMzlCNUI2MjEzMURBQTMyMDBGNDhEMDIgLyogQ29va2ll
c1N0cmF0ZWd5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvb2tpZXNTdHJh
dGVneS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNjYyRjk4NDA0N0NFREJFNURE
REFGQUEgLyogUmVuZGVyTWF0aE1MTWVuY2xvc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gUmVuZGVyTWF0aE1MTWVuY2xvc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkzNzExOUE3OTIwQ0NCNjEwMDAyQzZEQzkgLyogV2ViS2l0VGFyZ2V0Q29u
ZGl0aW9uYWxzLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IFdlYktpdFRhcmdldENvbmRpdGlvbmFs
cy54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMzcxN0Q3RTUxN0VDQzNB
NjAwM0MyNzZEIC8qIGV4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnBlcmw7IG5h
bWUgPSBleHRyYWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGw7IHBhdGggPSAiU2NyaXB0cy9leHRy
YWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkzNzE3RDdFNTE3RUNDM0E2MDAzQzI3NkQgLyogZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdz
LnBsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dC5zY3JpcHQucGVybDsgbmFtZSA9ICJleHRyYWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGwiOyBw
YXRoID0gIlNjcmlwdHMvZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBsIjsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzcxQTY3Q0ExMUM2QzdEQjAwMDQ3QjhCIC8qIEh5cGhlbmF0
aW9uQ0YuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSHlwaGVuYXRp
b25DRi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3MUU2NUNCMTM2NjFFREMw
MEJFRURCMCAvKiBQYWdlU2VyaWFsaXplci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBQYWdlU2VyaWFsaXplci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzFF
NjVDRDEzNjYxRUVEMDBCRUVEQjAgLyogUGFnZVNlcmlhbGl6ZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFnZVNlcmlhbGl6ZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMTMzNTgsOCArMTMzNjAsOCBAQAogCQlDREU1OTU5QzFCRjI3NTcx
MDBBMUNCRTggLyogQ0RNU2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IENETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakMu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERTY1NjBFMTdDQTZFNzYwMDUyNkJB
NyAvKiBtZWRpYUNvbnRyb2xzQXBwbGUuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBtZWRpYUNv
bnRyb2xzQXBwbGUuanM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERTY2N0ExMUU0
QkJBNEQwMEU4MTU0QSAvKiBQbGF0Zm9ybUF1ZGlvRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBQbGF0Zm9ybUF1ZGlvRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQlDREU2NjdBMjFFNEJCRjE1MDBFODE1NEEgLyogV2ViQXVkaW9CdWZmZXJMaXN0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IGNvY29hL1dlYkF1ZGlvQnVm
ZmVyTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNERTY2N0EzMUU0QkJG
MTUwMEU4MTU0QSAvKiBXZWJBdWRpb0J1ZmZlckxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gY29jb2EvV2ViQXVkaW9CdWZmZXJMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUNERTY2N0EyMUU0QkJGMTUwMEU4MTU0QSAvKiBXZWJBdWRpb0J1ZmZlckxp
c3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViQXVkaW9CdWZm
ZXJMaXN0LmNwcDsgcGF0aCA9IGNvY29hL1dlYkF1ZGlvQnVmZmVyTGlzdC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUNERTY2N0EzMUU0QkJGMTUwMEU4MTU0QSAvKiBXZWJBdWRp
b0J1ZmZlckxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViQXVkaW9C
dWZmZXJMaXN0Lmg7IHBhdGggPSBjb2NvYS9XZWJBdWRpb0J1ZmZlckxpc3QuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFN0ZDNDIxODE5MDRCMTAwMkJCQjc3IC8qIE9yZGVySXRl
cmF0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gT3JkZXJJdGVy
YXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERTdGQzQzMTgxOTA0QjEw
MDJCQkI3NyAvKiBPcmRlckl0ZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE9yZGVySXRlcmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFODNE
QUYxODNDNDQwNjAwMzFFQUEzIC8qIFZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1MjQwLDggKzE1MjQyLDggQEAKIAkJCQk0MTEw
M0FBNzFFMzk3OTBBMDA3NjlGMTQgLyogUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlQ29jb2Eu
Y3BwICovLAogCQkJCTQxMTAzQUE4MUUzOTc5MEEwMDc2OUYxNCAvKiBSZWFsdGltZU91dGdvaW5n
QXVkaW9Tb3VyY2VDb2NvYS5oICovLAogCQkJCTVDREQ4MzNCMUU0MzI0QkIwMDYyMUI4MyAvKiBS
ZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5jcHAgKi8sCi0JCQkJNDE5MjQyNDcyMTI3
QjdDQzAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tICovLAog
CQkJCTVDREQ4MzNDMUU0MzI0QkIwMDYyMUI4MyAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3Vy
Y2VDb2NvYS5oICovLAorCQkJCTQxOTI0MjQ3MjEyN0I3Q0MwMDYzNEZDRiAvKiBSZWFsdGltZU91
dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5tbSAqLywKIAkJCQkwNzBBOUY1RTFGRkVDQzcwMDAzREY2
NDkgLyogU2NyZWVuRGlzcGxheUNhcHR1cmVTb3VyY2VNYWMuaCAqLywKIAkJCQkwNzBBOUY2MDFG
RkVDQzcxMDAzREY2NDkgLyogU2NyZWVuRGlzcGxheUNhcHR1cmVTb3VyY2VNYWMubW0gKi8sCiAJ
CQkJMDdENjM3M0UxQkIwQjExMzAwMjU2Q0U5IC8qIFdlYkF1ZGlvU291cmNlUHJvdmlkZXJBVkZP
YmpDLmggKi8sCkBAIC0zMTQ0Niw2ICszMTQ0OCw4IEBACiAJCQkJQUExMkRGNDkxNzQzREY4MzAw
NERBRkRGIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJJT1MubW0gaW4gU291cmNlcyAqLywK
IAkJCQlDREEyOUEzMDFDQkY3NEQ0MDA5MDFDQ0YgLyogUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNl
QVZLaXQubW0gaW4gU291cmNlcyAqLywKIAkJCQlDREEyOUExNjFDQkRBNTZDMDA5MDFDQ0YgLyog
UGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5MkE3
OUEyMTM0QUQ3OTAwRjQ5M0ZEIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8s
CisJCQkJNDE5MjQyNDkyMTI3QjkzRTAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1Nv
dXJjZUNvY29hLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMzE2RENCOEExRTdBNjk5NjAwMUI1Rjg3
IC8qIFJUQ0ljZVRyYW5zcG9ydC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzUxMTU2RTEyQjE3
NDlDMDBDOTY3NTQgLyogU2Nyb2xsQW5pbWF0b3JNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlC
Q0VGODY5RjBFODQ0RTlEMDBBODVDRDUgLyogU2Nyb2xsYmFyVGhlbWVNYWMubW0gaW4gU291cmNl
cyAqLywKQEAgLTMxNTY2LDcgKzMxNTcwLDYgQEAKIAkJCQk1MzhFQzhBMTFGOTkzRjlEMDA0RDIy
QTggLyogVW5pZmllZFNvdXJjZTQ4LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCURFNUY4NTk5MUZB
MUFCRjQwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlNDktbW0ubW0gaW4gU291cmNlcyAqLywKIAkJ
CQk1MzhFQzhBMjFGOTkzRjlEMDA0RDIyQTggLyogVW5pZmllZFNvdXJjZTQ5LmNwcCBpbiBTb3Vy
Y2VzICovLAotCQkJCTQxOTI0MjQ5MjEyN0I5M0UwMDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5n
VmlkZW9Tb3VyY2VDb2NvYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCURFNUY4NTlBMUZBMUFCRjQw
MDZEQjYzQSAvKiBVbmlmaWVkU291cmNlNTAtbW0ubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MzhF
QzhBMzFGOTkzRjlEMDA0RDIyQTggLyogVW5pZmllZFNvdXJjZTUwLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCURFNUY4NjUwMUZBMkFGMjQwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlNTEtbW0ubW0g
aW4gU291cmNlcyAqLywKQEAgLTMyMDYwLDYgKzMyMDYzLDcgQEAKIAkJCQkyRDhCOTJGRDIwM0Qx
M0UxMDA5Qzg2OEYgLyogVW5pZmllZFNvdXJjZTUyOC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQky
RDhCOTJGRTIwM0QxM0UxMDA5Qzg2OEYgLyogVW5pZmllZFNvdXJjZTUyOS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkyRDhCOTJGRjIwM0QxM0UxMDA5Qzg2OEYgLyogVW5pZmllZFNvdXJjZTUzMC5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDkyQTc5RDIxMzRBRjk1MDBGNDkzRkQgLyogVXNlckFn
ZW50SU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTMyMDQyMDIxRjlBOUYxMDAwQjgxQjJBIC8q
IFVzZXJBZ2VudFNjcmlwdHNEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDM0I3OTcxMTkw
ODc1N0IwMEI0N0EyRCAvKiBVc2VyTWVzc2FnZUhhbmRsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJN0NFNjgzNDQxOTIxNDNBODAwRjREOTI4IC8qIFVzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0
b3IuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8v
YWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1FQ0RTQS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlw
dG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1FQ0RTQS5jcHAKaW5kZXggOTczMTdlMDRhOTc5
N2YxNTYxNmRlNGM3NjA4Yjc0NWQ5ZmRlZGVmNy4uMWI1M2M0NTNiMzUyNTM2YjQ4MTJlZGQyYWE2
NGQ5MWU5NWRmODU0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRo
bXMvQ3J5cHRvQWxnb3JpdGhtRUNEU0EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9h
bGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUVDRFNBLmNwcApAQCAtMzYsMTIgKzM2LDE0IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorbmFtZXNwYWNlIENyeXB0b0FsZ29yaXRobUVDRFNBSW50
ZXJuYWwgewogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzI1NiA9ICJFUzI1NiI7CiBzdGF0
aWMgY29uc3QgY2hhciogY29uc3QgQUxHMzg0ID0gIkVTMzg0IjsKIHN0YXRpYyBjb25zdCBjaGFy
KiBjb25zdCBBTEc1MTIgPSAiRVM1MTIiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IFAyNTYg
PSAiUC0yNTYiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IFAzODQgPSAiUC0zODQiOwogc3Rh
dGljIGNvbnN0IGNoYXIqIGNvbnN0IFA1MjEgPSAiUC01MjEiOworfQogCiBSZWY8Q3J5cHRvQWxn
b3JpdGhtPiBDcnlwdG9BbGdvcml0aG1FQ0RTQTo6Y3JlYXRlKCkKIHsKQEAgLTEwMiw2ICsxMDQs
NyBAQCB2b2lkIENyeXB0b0FsZ29yaXRobUVDRFNBOjpnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9B
bGdvcml0aG1QYXJhbWV0ZXJzJiBwYXJhbWV0ZQogCiB2b2lkIENyeXB0b0FsZ29yaXRobUVDRFNB
OjppbXBvcnRLZXkoQ3J5cHRvS2V5Rm9ybWF0IGZvcm1hdCwgS2V5RGF0YSYmIGRhdGEsIGNvbnN0
IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUs
IENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcywgS2V5Q2FsbGJhY2smJiBjYWxsYmFjaywgRXhj
ZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaykKIHsKKyAgICB1c2luZyBuYW1lc3Bh
Y2UgQ3J5cHRvQWxnb3JpdGhtRUNEU0FJbnRlcm5hbDsKICAgICBjb25zdCBhdXRvJiBlY1BhcmFt
ZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1FY0tleVBhcmFtcz4ocGFyYW1ldGVycyk7
CiAKICAgICBSZWZQdHI8Q3J5cHRvS2V5RUM+IHJlc3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5k
ZXggMGExZDkwMzQxN2Q0Y2E5ZGMwZTMwYmJmZmFjNDFkMTg4ZjMxYmRiYy4uYjE4MGJjNDMzOWE1
OTZlYWIxM2IwZDRlOWIyNjE2YjRlNzk1OTI1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTY0
MSw3ICs2NDEsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgV0VCQ09SRV9FWFBPUlQgRG9jdW1lbnRM
b2FkZXIqIGxvYWRlcigpIGNvbnN0OwogCi0gICAgV0VCQ09SRV9FWFBPUlQgRXhjZXB0aW9uT3I8
UmVmUHRyPFdpbmRvd1Byb3h5Pj4gb3BlbkZvckJpbmRpbmdzKERPTVdpbmRvdyYgYWN0aXZlV2lu
ZG93LCBET01XaW5kb3cmIGZpcnN0V2luZG93LCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgQXRv
bWljU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGZlYXR1cmVzKTsKKyAgICBXRUJDT1JFX0VY
UE9SVCBFeGNlcHRpb25PcjxSZWZQdHI8V2luZG93UHJveHk+PiBvcGVuRm9yQmluZGluZ3MoRE9N
V2luZG93JiBhY3RpdmVXaW5kb3csIERPTVdpbmRvdyYgZmlyc3RET01XaW5kb3csIGNvbnN0IFN0
cmluZyYgdXJsLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZmVhdHVy
ZXMpOwogICAgIFdFQkNPUkVfRVhQT1JUIEV4Y2VwdGlvbk9yPERvY3VtZW50Jj4gb3BlbkZvckJp
bmRpbmdzKERvY3VtZW50KiByZXNwb25zaWJsZURvY3VtZW50LCBjb25zdCBTdHJpbmcmIHR5cGUs
IGNvbnN0IFN0cmluZyYgcmVwbGFjZSk7CiAKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHJlbmFt
ZSB0aGlzIGF0IHNvbWUgcG9pbnQgYW5kIGdpdmUgYmFjayB0aGUgbmFtZSAnb3BlbicgdG8gdGhl
IEhUTUwgc3BlY2lmaWVkIG9uZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFRyZWVCdWlsZGVyLmNwcAppbmRleCBlNDBmOWE4ODZmMTU5MDRlNjJmMGYyNjg4YTg2OWE2OTg4
OWI0YTg5Li5jNzMxOTIyYWY4Mjk4M2I5ZGFhNmJjN2ZlNTIyNzg2MzczMTY4M2ZkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKQEAgLTMyLDYg
KzMyLDcgQEAKICNpbmNsdWRlICJIVE1MRG9jdW1lbnRQYXJzZXIuaCIKICNpbmNsdWRlICJIVE1M
Rm9ybUNvbnRyb2xFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCisjaW5j
bHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxPcHRHcm91cEVsZW1lbnQu
aCIKICNpbmNsdWRlICJIVE1MT3B0aW9uRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJ
ZGlvbXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBs
aWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBj
YWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaAppbmRleCA3MmIyOTc1NWYxMWQ5
NDA5NWZhN2VkZDUzMDk2OGY3YzU3YjU3YmViLi42ZDlhMmRhOWJlMDMyMDA3YTgyZWRhNjhjMTZm
ZDJmMjhiMWMxMjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUv
QXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5oCkBAIC0yNSw2ICsy
NSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZVJlc291
cmNlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmF3UmVzb3VyY2UuaCIKICNpbmNsdWRlICJDYWNoZWRS
YXdSZXNvdXJjZUNsaWVudC5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0FsdGVybmF0aXZlVGV4dENsaWVudC5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9BbHRlcm5hdGl2ZVRleHRDbGllbnQuaAppbmRleCA5MzU1OTM3
ODhmOTg5OWM5ZTIyNTEwODhiNGU3NmQwMDVkM2QyZjk4Li4xNDNkYTZjNDdmNGJjZWZjMGE0MWFh
ODc2NDY3ZDA0NDcxNWJhNzBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0FsdGVy
bmF0aXZlVGV4dENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWx0ZXJuYXRpdmVU
ZXh0Q2xpZW50LmgKQEAgLTI5LDExICsyOSw2IEBACiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCi0jaWYgUExBVEZPUk0oTUFDKQotLy8g
U29tZSBwbGF0Zm9ybXMgcHJvdmlkZSBVSSBmb3Igc3VnZ2VzdGluZyBhbHRlcm5hdGl2ZSBkaWN0
YXRpb24gdGV4dC4KLSNkZWZpbmUgVVNFX0RJQ1RBVElPTl9BTFRFUk5BVElWRVMgMQotI2VuZGlm
Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBSZWFzb25Gb3JEaXNtaXNzaW5nQWx0ZXJu
YXRpdmVUZXh0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9h
cmQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCBkNTQzM2Rk
OTIwYWUwZWU1OTJiZDQ1ZmQ1NjBjZGQzZTM4YTM0NzIxLi5lMDk4MTU2NTFiZDJkNjA1NzRkYTQy
MzZjMzgwZmFkNGQ2MDIxNWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Q
YXN0ZWJvYXJkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCkBA
IC0zMzgsNiArMzM4LDcgQEAgZXh0ZXJuIE5TU3RyaW5nICpVSUNvbG9yUGJvYXJkVHlwZTsKICNp
ZiBQTEFURk9STShNQUMpCiBleHRlcm4gY29uc3QgY2hhciogY29uc3QgV2ViQXJjaGl2ZVBib2Fy
ZFR5cGU7CiBleHRlcm4gY29uc3QgY2hhciogY29uc3QgV2ViVVJMTmFtZVBib2FyZFR5cGU7Citl
eHRlcm4gY29uc3QgY2hhciogY29uc3QgV2ViVVJMc1dpdGhUaXRsZXNQYm9hcmRUeXBlOwogI2Vu
ZGlmCiAKICNpZiAhUExBVEZPUk0oR1RLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKaW5kZXggOTY4YmIy
Mjg2YTFmN2U1ODQ2NGVmODhkNzllNjFlZjQyNDkwMTU1Zi4uM2UyYzgyYjhiMTJlZGEwOWRiNDNm
NGMxMzAxNGM1YmJhYzBiNzAzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwCkBAIC0zMCw2ICszMCw3
IEBACiAKICNpbmNsdWRlICJEaXNwbGF5UmVmcmVzaE1vbml0b3JDbGllbnQuaCIKICNpbmNsdWRl
ICJEaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgog
CiAjaWYgUExBVEZPUk0oSU9TKQogI2luY2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvcklPUy5o
IgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhbWls
eVNwZWNpZmljYXRpb25OdWxsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHAKaW5kZXggMjE3NjkxZjcyMzk3NGU4MDA1
NzliMjhjYzA1NmE3YjljMDg1YzY0ZC4uMTVjMDM4NzY5ODI2MGY0MDVlMjJlNWJmNTI3ODAwMzA4
YzdmZTNiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dEZhbWlseVNwZWNpZmljYXRpb25OdWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuY3BwCkBAIC0yNyw2ICsyNyw3
IEBACiAjaW5jbHVkZSAiRm9udEZhbWlseVNwZWNpZmljYXRpb25OdWxsLmgiCiAKICNpbmNsdWRl
ICJGb250U2VsZWN0b3IuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmdIYXNoLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL1dlYkdMTGF5ZXIubW0KaW5kZXggM2VkN2U0MWU3YzY4ODQ2ZjNm
YmMxNzJjZTZiYTk4OWZmODdmNTdlYi4uOGVlMzQ4ZDg5OTg2MzQxM2Q2YjY3MTM3NmU1YjFkYTU0
Y2IxMzc2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvV2ViR0xMYXllci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJHTExheWVyLm1tCkBAIC00MiwxMyArNDIsMTEgQEAKICNpbXBvcnQgPE9wZW5HTC9n
bC5oPgogI2VuZGlmCiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBAaW1wbGVtZW50YXRp
b24gV2ViR0xMYXllcgogCiBAc3ludGhlc2l6ZSBjb250ZXh0PV9jb250ZXh0OwogCi0tKGlkKWlu
aXRXaXRoR3JhcGhpY3NDb250ZXh0M0Q6KEdyYXBoaWNzQ29udGV4dDNEKiljb250ZXh0CistKGlk
KWluaXRXaXRoR3JhcGhpY3NDb250ZXh0M0Q6KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEKilj
b250ZXh0CiB7CiAgICAgX2NvbnRleHQgPSBjb250ZXh0OwogICAgIHNlbGYgPSBbc3VwZXIgaW5p
dF07CkBAIC04Niw3ICs4NCw3IEBAIHN0YXRpYyB2b2lkIGZyZWVEYXRhKHZvaWQgKiwgY29uc3Qg
dm9pZCAqZGF0YSwgc2l6ZV90IC8qIHNpemUgKi8pCiB9CiAjZW5kaWYKIAotLShDR0ltYWdlUmVm
KWNvcHlJbWFnZVNuYXBzaG90V2l0aENvbG9yU3BhY2U6KENHQ29sb3JTcGFjZVJlZiljb2xvclNw
YWNlCistIChDR0ltYWdlUmVmKWNvcHlJbWFnZVNuYXBzaG90V2l0aENvbG9yU3BhY2U6KENHQ29s
b3JTcGFjZVJlZiljb2xvclNwYWNlCiB7CiAgICAgaWYgKCFfY29udGV4dCkKICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CkBAIC05Niw3ICs5NCw3IEBAIC0oQ0dJbWFnZVJlZiljb3B5SW1hZ2VTbmFw
c2hvdFdpdGhDb2xvclNwYWNlOihDR0NvbG9yU3BhY2VSZWYpY29sb3JTcGFjZQogCiAgICAgUmV0
YWluUHRyPENHQ29sb3JTcGFjZVJlZj4gaW1hZ2VDb2xvclNwYWNlID0gY29sb3JTcGFjZTsKICAg
ICBpZiAoIWltYWdlQ29sb3JTcGFjZSkKLSAgICAgICAgaW1hZ2VDb2xvclNwYWNlID0gc1JHQkNv
bG9yU3BhY2VSZWYoKTsKKyAgICAgICAgaW1hZ2VDb2xvclNwYWNlID0gV2ViQ29yZTo6c1JHQkNv
bG9yU3BhY2VSZWYoKTsKIAogICAgIENHUmVjdCBsYXllckJvdW5kcyA9IENHUmVjdEludGVncmFs
KFtzZWxmIGJvdW5kc10pOwogCkBAIC0xNDEsMTkgKzEzOSwxOSBAQCAtICh2b2lkKWRpc3BsYXkK
ICNlbmRpZgogCiAgICAgX2NvbnRleHQtPm1hcmtMYXllckNvbXBvc2l0ZWQoKTsKLSAgICBQbGF0
Zm9ybUNBTGF5ZXIqIGxheWVyID0gUGxhdGZvcm1DQUxheWVyOjpwbGF0Zm9ybUNBTGF5ZXIoKF9f
YnJpZGdlIHZvaWQqKXNlbGYpOworICAgIFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXllciogbGF5ZXIg
PSBXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXI6OnBsYXRmb3JtQ0FMYXllcigoX19icmlkZ2Ugdm9p
ZCopc2VsZik7CiAgICAgaWYgKGxheWVyICYmIGxheWVyLT5vd25lcigpKQogICAgICAgICBsYXll
ci0+b3duZXIoKS0+cGxhdGZvcm1DQUxheWVyTGF5ZXJEaWREaXNwbGF5KGxheWVyKTsKIH0KIAog
I2lmIFVTRShPUEVOR0wpCi0tICh2b2lkKWFsbG9jYXRlSU9TdXJmYWNlQmFja2luZ1N0b3JlV2l0
aFNpemU6KEludFNpemUpc2l6ZSB1c2luZ0FscGhhOihCT09MKXVzaW5nQWxwaGEKKy0gKHZvaWQp
YWxsb2NhdGVJT1N1cmZhY2VCYWNraW5nU3RvcmVXaXRoU2l6ZTooV2ViQ29yZTo6SW50U2l6ZSlz
aXplIHVzaW5nQWxwaGE6KEJPT0wpdXNpbmdBbHBoYQogewogICAgIF9idWZmZXJTaXplID0gc2l6
ZTsKICAgICBfdXNpbmdBbHBoYSA9IHVzaW5nQWxwaGE7Ci0gICAgX2NvbnRlbnRzQnVmZmVyID0g
V2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVhdGUoc2l6ZSwgc1JHQkNvbG9yU3BhY2VSZWYoKSk7Ci0g
ICAgX2RyYXdpbmdCdWZmZXIgPSBXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShzaXplLCBzUkdC
Q29sb3JTcGFjZVJlZigpKTsKLSAgICBfc3BhcmVCdWZmZXIgPSBXZWJDb3JlOjpJT1N1cmZhY2U6
OmNyZWF0ZShzaXplLCBzUkdCQ29sb3JTcGFjZVJlZigpKTsKKyAgICBfY29udGVudHNCdWZmZXIg
PSBXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShzaXplLCBXZWJDb3JlOjpzUkdCQ29sb3JTcGFj
ZVJlZigpKTsKKyAgICBfZHJhd2luZ0J1ZmZlciA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRl
KHNpemUsIFdlYkNvcmU6OnNSR0JDb2xvclNwYWNlUmVmKCkpOworICAgIF9zcGFyZUJ1ZmZlciA9
IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUsIFdlYkNvcmU6OnNSR0JDb2xvclNwYWNl
UmVmKCkpOwogCiAgICAgQVNTRVJUKF9jb250ZW50c0J1ZmZlcik7CiAgICAgQVNTRVJUKF9kcmF3
aW5nQnVmZmVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL1dlYkdQVUxheWVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvV2ViR1BVTGF5ZXIubW0KaW5kZXggNWMzNTU3ZjhiZDY2YTY4YzkyM2IyM2FhNjQ3YmI3
MTQ4NDA5ZTlhMS4uMjVlZmI4Yjc0NzY4MDI0NTU4ZGJjZGYzMGY3NDMxODcxNDY5NTVhOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR1BVTGF5
ZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR1BV
TGF5ZXIubW0KQEAgLTM0LDEzICszNCwxMSBAQAogI2ltcG9ydCA8d3RmL0Zhc3RNYWxsb2MuaD4K
ICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0K
IEBpbXBsZW1lbnRhdGlvbiBXZWJHUFVMYXllcgogCiBAc3ludGhlc2l6ZSBjb250ZXh0PV9jb250
ZXh0OwogCi0tIChpZClpbml0V2l0aEdQVURldmljZTooR1BVRGV2aWNlKiljb250ZXh0CistIChp
ZClpbml0V2l0aEdQVURldmljZTooV2ViQ29yZTo6R1BVRGV2aWNlKiljb250ZXh0CiB7CiAgICAg
c2VsZiA9IFtzdXBlciBpbml0XTsKICAgICBfY29udGV4dCA9IGNvbnRleHQ7CkBAIC01MCw3ICs0
OCw3IEBAIC0gKGlkKWluaXRXaXRoR1BVRGV2aWNlOihHUFVEZXZpY2UqKWNvbnRleHQKIAogI2lm
IFBMQVRGT1JNKE1BQykKICAgICBzZWxmLmNvbnRlbnRzU2NhbGUgPSBfZGV2aWNlUGl4ZWxSYXRp
bzsKLSAgICBzZWxmLmNvbG9yc3BhY2UgPSBzUkdCQ29sb3JTcGFjZVJlZigpOworICAgIHNlbGYu
Y29sb3JzcGFjZSA9IFdlYkNvcmU6OnNSR0JDb2xvclNwYWNlUmVmKCk7CiAjZW5kaWYKICAgICBy
ZXR1cm4gc2VsZjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29tbWFuZFF1ZXVlTWV0YWwubW0KaW5kZXggODIwYWY4YmMx
NmRiM2I0ODY1ZTc5YjdiODI0ZGIyYzdiNGRmM2VjYy4uMzAzYjI1ZGEzZDRhNjRlZDFiMDAzMGI3
MmI5ZmRiYzZmOTY1YzMzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvbWV0YWwvR1BVQ29tbWFuZFF1ZXVlTWV0YWwubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29tbWFuZFF1ZXVlTWV0YWwubW0KQEAgLTMxLDYg
KzMxLDcgQEAKICNpbXBvcnQgIkdQVURldmljZS5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgogI2lt
cG9ydCA8TWV0YWwvTWV0YWwuaD4KKyNpbXBvcnQgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9QYXN0ZWJvYXJkTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bhc3Rl
Ym9hcmRNYWMubW0KaW5kZXggY2I1MDRjZjU0M2ViN2U4MGQ3NjY1Y2QxZTU3ZTMwODlhZmZiMWE3
MC4uZmQ2ZTkyOTg3NzRmYWY0ZmU4NzM1YmYyNzU2NWFkYzk1MzJiZjYzNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRNYWMubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRNYWMubW0KQEAgLTUyLDEwICs1MiwxMCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNvbnN0IGNoYXIqIGNvbnN0IFdlYkFyY2hpdmVQYm9h
cmRUeXBlID0gIkFwcGxlIFdlYiBBcmNoaXZlIHBhc3RlYm9hcmQgdHlwZSI7CiBjb25zdCBjaGFy
KiBjb25zdCBXZWJVUkxOYW1lUGJvYXJkVHlwZSA9ICJwdWJsaWMudXJsLW5hbWUiOworY29uc3Qg
Y2hhciogY29uc3QgV2ViVVJMc1dpdGhUaXRsZXNQYm9hcmRUeXBlID0gIldlYlVSTHNXaXRoVGl0
bGVzUGJvYXJkVHlwZSI7CiAKIGNvbnN0IGNoYXIgV2ViU21hcnRQYXN0ZVBib2FyZFR5cGVbXSA9
ICJOZVhUIHNtYXJ0IHBhc3RlIHBhc3RlYm9hcmQgdHlwZSI7CiBjb25zdCBjaGFyIFdlYlVSTFBi
b2FyZFR5cGVbXSA9ICJwdWJsaWMudXJsIjsKLWNvbnN0IGNoYXIgV2ViVVJMc1dpdGhUaXRsZXNQ
Ym9hcmRUeXBlW10gPSAiV2ViVVJMc1dpdGhUaXRsZXNQYm9hcmRUeXBlIjsKIAogc3RhdGljIGNv
bnN0IFZlY3RvcjxTdHJpbmc+IHdyaXRhYmxlVHlwZXNGb3JVUkwoKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJlTWFu
YWdlckNvY29hLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9E
aXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAKaW5kZXggNWMyYTlkMjQxOThhMTNlNDhjNGY3
M2U5ZGU2MWRkMzdhZGU5MjU1MS4uZjQ5MmU2MTQyZjAyMzFiOTk3ZTk2YmE1OTI3OTU4ODU2ODA5
MzNhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L0Rpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwCkBAIC0y
OCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCisjaW5jbHVkZSAiQ29y
ZVZpZGVvU29mdExpbmsuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSA8d3RmL0Fs
Z29yaXRobXMuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3Bw
CmluZGV4IDI1NDA5NjU2YzNkNjMyMDM2MTY1ZmFiMWRkNzQ5ZTg4ZmNhNjg0ODIuLmZmNTgzNjE3
NGVhYjk1OTUyOGEyMDdiZmJhYWI2MDAzOWQ5YjUwMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcApAQCAtMjks
NiArMjksNyBAQAogI2luY2x1ZGUgIkhUVFBIZWFkZXJOYW1lcy5oIgogI2luY2x1ZGUgIlB1Ymxp
Y1N1ZmZpeC5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgorI2luY2x1ZGUgIlJlc291
cmNlUmVzcG9uc2UuaCIKICNpbmNsdWRlICJTZWN1cml0eVBvbGljeS5oIgogI2luY2x1ZGUgPHd0
Zi9Qb2ludGVyQ29tcGFyaXNvbi5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2NmL0Zvcm1EYXRhU3RyZWFtQ0ZOZXQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9jZi9Gb3JtRGF0YVN0cmVhbUNGTmV0LmNwcAppbmRleCAyOTAyNWQz
OGE3ZmQzNmZmOWI5OTYyMzkxZjA4MDg3MDIxZmYxMzBlLi5lNTMyMWMyN2Q0ZDk2OGM2NmU0Y2Q0
YzY3Nzk2M2Y1YTdkNmNhZGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2NmL0Zvcm1EYXRhU3RyZWFtQ0ZOZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5ldC5jcHAKQEAgLTQyLDExICs0Miw3
IEBACiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRp
bmcuaD4KIAotI2lmIFBMQVRGT1JNKElPUykgJiYgIVBMQVRGT1JNKElPU01BQykKLXN0YXRpYyBj
b25zdCBTSW50MzIgZm5mRXJyID0gLTQzOwotI2VsaWYgUExBVEZPUk0oTUFDKQotI2luY2x1ZGUg
PENvcmVTZXJ2aWNlcy9Db3JlU2VydmljZXMuaD4KLSNlbmRpZgorc3RhdGljIGNvbnN0IFNJbnQz
MiBmaWxlTm90Rm91bmRFcnJvciA9IC00MzsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogZXh0ZXJu
ICJDIiB2b2lkIENGVVJMUmVxdWVzdFNldEhUVFBSZXF1ZXN0Qm9keShDRk11dGFibGVVUkxSZXF1
ZXN0UmVmIG11dGFibGVIVFRQUmVxdWVzdCwgQ0ZEYXRhUmVmIGh0dHBCb2R5KTsKQEAgLTI0MSw3
ICsyMzcsNyBAQCBzdGF0aWMgQm9vbGVhbiBmb3JtT3BlbihDRlJlYWRTdHJlYW1SZWYsIENGU3Ry
ZWFtRXJyb3IqIGVycm9yLCBCb29sZWFuKiBvcGVuQ29tcAogI2lmIFBMQVRGT1JNKFdJTikKICAg
ICAgICAgRU5PRU5UOwogI2Vsc2UKLSAgICAgICAgZm5mRXJyOworICAgICAgICBmaWxlTm90Rm91
bmRFcnJvcjsKICNlbmRpZgogICAgIHJldHVybiBvcGVuZWQ7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVy
QmxvY2tGbG93LmNwcAppbmRleCAzYmM4MmM2ZTFhYmQyZmFjNDNiMDk5YzhlNmUzY2NmMzY2ZGQ4
NTNiLi4yYzJiNTA4ZmFjNWM2ZmM4NDYyODVjOWZmYTg5NWE3YjQwMjJiOGVhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9j
a0Zsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJU
cmVlQnVpbGRlckJsb2NrRmxvdy5jcHAKQEAgLTI3LDYgKzI3LDggQEAKICNpbmNsdWRlICJSZW5k
ZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5oIgogCiAjaW5jbHVkZSAiUmVuZGVyTXVsdGlDb2x1bW5G
bG93LmgiCisjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJCbG9jay5oIgorI2luY2x1ZGUgIlJl
bmRlclRyZWVCdWlsZGVyTXVsdGlDb2x1bW4uaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1
aWxkZXJJbmxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRl
clRyZWVCdWlsZGVySW5saW5lLmNwcAppbmRleCA3Y2QwNzE1ZGY1MjRhNzZmZDIwNmEyMzQyOGQ5
ZGFjN2Q3ZDg1M2Y4Li5kYzk1M2NjZGNlZTgzMDFkZmQwNTk3YTYxZDA1MmUzYzUwYjlmNjFiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1
aWxkZXJJbmxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9S
ZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJS
ZW5kZXJGdWxsU2NyZWVuLmgiCiAjaW5jbHVkZSAiUmVuZGVySW5saW5lLmgiCiAjaW5jbHVkZSAi
UmVuZGVyVGFibGUuaCIKKyNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlclRhYmxlLmgiCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJ
V2ViQXJjaGl2ZS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmUubW0KaW5k
ZXggYjE3NDJmZGZkZDM4NjllYWRkM2Q3YzVhZWU3MDVlNjYxZjk3ZWVkYy4uYjhjOTcyZjdlYzE4
ZWI3ZDRjOWE3MWRlMmI0ZTFlMmM2NWRlODc2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
aGFyZWQvQVBJV2ViQXJjaGl2ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJB
cmNoaXZlLm1tCkBAIC0zNCw5ICszNCw4IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9MZWdhY3lXZWJB
cmNoaXZlLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCi11c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKLQogbmFtZXNwYWNlIEFQSSB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAog
UmVmPFdlYkFyY2hpdmU+IFdlYkFyY2hpdmU6OmNyZWF0ZShXZWJBcmNoaXZlUmVzb3VyY2UqIG1h
aW5SZXNvdXJjZSwgUmVmUHRyPEFQSTo6QXJyYXk+JiYgc3VicmVzb3VyY2VzLCBSZWZQdHI8QVBJ
OjpBcnJheT4mJiBzdWJmcmFtZUFyY2hpdmVzKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TaGFyZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
QVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tCmluZGV4IGNhZTViODVkZjE3N2RkZGU2OGQ4NTJlNWU1
MDZkOGQ5MmJlMmVhOTQuLmRjMGY5MGYwZjM4NTFhYmYxMDA0ODRiYTU3M2FlNGFmOGU4MGIyMzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmVSZXNvdXJjZS5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW0KQEAg
LTMzLDkgKzMzLDggQEAKICNpbmNsdWRlIDxXZWJDb3JlL1VSTC5oPgogI2luY2x1ZGUgPHd0Zi9S
ZXRhaW5QdHIuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIG5hbWVzcGFjZSBBUEkg
ewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIFJlZjxXZWJBcmNoaXZlUmVzb3VyY2U+IFdl
YkFyY2hpdmVSZXNvdXJjZTo6Y3JlYXRlKEFQSTo6RGF0YSogZGF0YSwgY29uc3QgU3RyaW5nJiBV
UkwsIGNvbnN0IFN0cmluZyYgTUlNRVR5cGUsIGNvbnN0IFN0cmluZyYgdGV4dEVuY29kaW5nKQog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMv
TmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5z
L05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbQppbmRleCA2OGQ3YzZhZGYz
NjI3NTEzMTI5NjM1NjI4NmYxMWU4NDljMTRjMmMwLi5jMGNjYWM1OTg1M2NmYWZmZDlmZjFkMWUz
ZDY4YjY3ZDY0NTdmN2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5z
L05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5t
bQpAQCAtMzQsOSArMzQsOCBAQAogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KICNpbXBvcnQg
PHd0Zi9zcGkvY2YvQ0ZCdW5kbGVTUEkuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0K
IG5hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIHN0YXRpYyBi
b29sIGdldFBsdWdpbkFyY2hpdGVjdHVyZShDRkJ1bmRsZVJlZiBidW5kbGUsIFBsdWdpbk1vZHVs
ZUluZm8mIHBsdWdpbikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdp
bnMvTmV0c2NhcGUvbWFjL1BsdWdpbkluZm9ybWF0aW9uTWFjLm1tIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW0KaW5kZXgg
NWVjODQyNDk1OWNiYzE5Mjg4NmZhNzVhYmYwM2YzZDg4NWJjYjFkOS4uMzI1ODRkNDE2YmUwZmYy
NWU5ZTkxZGRmNDI4NzBlMzM5NGY0OTM2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW0KKysrIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25N
YWMubW0KQEAgLTM0LDkgKzM0LDggQEAKICNpbXBvcnQgIlN0cmluZ1V0aWxpdGllcy5oIgogI2lt
cG9ydCA8V2ViQ29yZS9QbHVnaW5CbGFja2xpc3QuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7Ci0KIG5hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIHZv
aWQgZ2V0UGxhdGZvcm1QbHVnaW5Nb2R1bGVJbmZvcm1hdGlvbihjb25zdCBQbHVnaW5Nb2R1bGVJ
bmZvJiBwbHVnaW4sIEFQSTo6RGljdGlvbmFyeTo6TWFwVHlwZSYgbWFwKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2Vz
Q29jb2EudHh0CmluZGV4IGQ4YTNjOTBkZmZlMzIyMzIyZDc2M2VlMjFlN2NiYTQ1MGZlODVmY2Yu
LjRiOGQ0ODA2YjQ0ZjIyMDQ2NTg1NzdlYjdhOTY3OGNiOGUzNDc5YmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXND
b2NvYS50eHQKQEAgLTI5OCw5ICsyOTgsOSBAQCBVSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0g
QG5vLXVuaWZ5CiAKIFVJUHJvY2Vzcy9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eUNvY29hLm1tCiAKLVVJUHJvY2Vzcy9BcHBsZVBheS9pb3MvV2ViUGF5bWVudENvb3Jk
aW5hdG9yUHJveHlJT1MubW0KK1VJUHJvY2Vzcy9BcHBsZVBheS9pb3MvV2ViUGF5bWVudENvb3Jk
aW5hdG9yUHJveHlJT1MubW0gQG5vLXVuaWZ5CiAKLVVJUHJvY2Vzcy9BcHBsZVBheS9tYWMvV2Vi
UGF5bWVudENvb3JkaW5hdG9yUHJveHlNYWMubW0KK1VJUHJvY2Vzcy9BcHBsZVBheS9tYWMvV2Vi
UGF5bWVudENvb3JkaW5hdG9yUHJveHlNYWMubW0gQG5vLXVuaWZ5CiAKIFVJUHJvY2Vzcy9BdXRo
ZW50aWNhdGlvbi9jb2NvYS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5Q29jb2EubW0KIFVJ
UHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9jb2NvYS9TZWNLZXlQcm94eVN0b3JlLm1tCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGll
bnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElBdXRvbWF0aW9uU2Vzc2lvbkNs
aWVudC5oCmluZGV4IGJmYzVlZTMzODIyMGQ5MTU2ZmNjZjAwYzFlNzZkMGJiZWU5MDQxOTAuLjM3
OWM4ODU3YmU5NGI2MTk1NTVlZGZmZWM0YzNhOWE2ZTE3Nzk0ODQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5o
CkBAIC01MSw3ICs1MSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgfkF1dG9tYXRpb25TZXNz
aW9uQ2xpZW50KCkgeyB9CiAKLSAgICB2aXJ0dWFsIFN0cmluZyBzZXNzaW9uSWRlbnRpZmllcigp
IGNvbnN0IHsgcmV0dXJuIFN0cmluZygpOyB9CisgICAgdmlydHVhbCBXVEY6OlN0cmluZyBzZXNz
aW9uSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIFdURjo6U3RyaW5nKCk7IH0KICAgICB2aXJ0
dWFsIHZvaWQgZGlkRGlzY29ubmVjdEZyb21SZW1vdGUoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vz
c2lvbiYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0TmV3UGFnZVdpdGhPcHRpb25zKFdl
YktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBBdXRvbWF0aW9uU2Vzc2lvbkJyb3dzaW5nQ29u
dGV4dE9wdGlvbnMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViS2l0OjpXZWJQYWdlUHJveHkq
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikgeyBjb21wbGV0aW9uSGFuZGxlcihudWxscHRyKTsgfQog
ICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0TWF4aW1pemVXaW5kb3dPZlBhZ2UoV2ViS2l0OjpXZWJB
dXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JiwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSB7IGNvbXBsZXRpb25IYW5kbGVyKCk7IH0K
QEAgLTYxLDggKzYxLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc1Nob3dpbmdKYXZh
U2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6
OldlYlBhZ2VQcm94eSYpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIGRpc21p
c3NDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNz
aW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgYWNjZXB0
Q3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lv
biYsIFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyB9Ci0gICAgdmlydHVhbCBTdHJpbmcgbWVzc2Fn
ZU9mQ3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vz
c2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyByZXR1cm4gU3RyaW5nKCk7IH0KLSAgICB2
aXJ0dWFsIHZvaWQgc2V0VXNlcklucHV0Rm9yQ3VycmVudEphdmFTY3JpcHRQcm9tcHRPblBhZ2Uo
V2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JiwgY29u
c3QgU3RyaW5nJikgeyB9CisgICAgdmlydHVhbCBXVEY6OlN0cmluZyBtZXNzYWdlT2ZDdXJyZW50
SmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2Vi
S2l0OjpXZWJQYWdlUHJveHkmKSB7IHJldHVybiBXVEY6OlN0cmluZygpOyB9CisgICAgdmlydHVh
bCB2b2lkIHNldFVzZXJJbnB1dEZvckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKFdlYktp
dDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIGNvbnN0IFdU
Rjo6U3RyaW5nJikgeyB9CiAgICAgdmlydHVhbCBzdGQ6Om9wdGlvbmFsPEphdmFTY3JpcHREaWFs
b2dUeXBlPiB0eXBlT2ZDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1
dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IHJldHVybiBzdGQ6Om51
bGxvcHQ7IH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbQppbmRleCAx
MWJhMzcyNjU0ODNmZmU3ZmYyNDY1MDk0MGQ4ZjMzYTUyYzBjMDRhLi4xOWE1OWI0MmNhYjdiNTQ3
ZWQ5NDQ2MGU3MmZjMDM5NmNmZTc5Mjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xp
ZW50Lm1tCkBAIC0zMiwyMyArMzIsMjAgQEAKICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXF1
ZXN0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KIAotdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCiBAaW50ZXJmYWNlIFdL
Q3VzdG9tUHJvdG9jb2xMb2FkZXIgOiBOU09iamVjdCA8TlNVUkxDb25uZWN0aW9uRGVsZWdhdGU+
IHsKIEBwcml2YXRlCi0gICAgTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqIF9jdXN0
b21Qcm90b2NvbE1hbmFnZXJQcm94eTsKKyAgICBXZWJLaXQ6OkxlZ2FjeUN1c3RvbVByb3RvY29s
TWFuYWdlclByb3h5KiBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk7CiAgICAgdWludDY0X3Qg
X2N1c3RvbVByb3RvY29sSUQ7CiAgICAgTlNVUkxDYWNoZVN0b3JhZ2VQb2xpY3kgX3N0b3JhZ2VQ
b2xpY3k7CiAgICAgTlNVUkxDb25uZWN0aW9uICpfdXJsQ29ubmVjdGlvbjsKIH0KLS0gKGlkKWlu
aXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6KExlZ2FjeUN1c3RvbVByb3Rv
Y29sTWFuYWdlclByb3h5KiljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSBjdXN0b21Qcm90b2Nv
bElEOih1aW50NjRfdCljdXN0b21Qcm90b2NvbElEIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJl
cXVlc3Q7CistIChpZClpbml0V2l0aExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OihX
ZWJLaXQ6OkxlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiljdXN0b21Qcm90b2NvbE1h
bmFnZXJQcm94eSBjdXN0b21Qcm90b2NvbElEOih1aW50NjRfdCljdXN0b21Qcm90b2NvbElEIHJl
cXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3Q7CiAtICh2b2lkKWN1c3RvbVByb3RvY29sTWFu
YWdlclByb3h5RGVzdHJveWVkOwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV0tDdXN0b21Qcm90
b2NvbExvYWRlcgogCi0tIChpZClpbml0V2l0aExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclBy
b3h5OihMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSopY3VzdG9tUHJvdG9jb2xNYW5h
Z2VyUHJveHkgY3VzdG9tUHJvdG9jb2xJRDoodWludDY0X3QpY3VzdG9tUHJvdG9jb2xJRCByZXF1
ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0CistIChpZClpbml0V2l0aExlZ2FjeUN1c3RvbVBy
b3RvY29sTWFuYWdlclByb3h5OihXZWJLaXQ6OkxlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclBy
b3h5KiljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSBjdXN0b21Qcm90b2NvbElEOih1aW50NjRf
dCljdXN0b21Qcm90b2NvbElEIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QKIHsKICAg
ICBzZWxmID0gW3N1cGVyIGluaXRdOwogICAgIGlmICghc2VsZikKQEAgLTg1LDcgKzgyLDcgQEAg
LSAodm9pZCljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eURlc3Ryb3llZAogCiAtICh2b2lkKWNv
bm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gZGlkRmFpbFdpdGhFcnJvcjoo
TlNFcnJvciAqKWVycm9yCiB7Ci0gICAgUmVzb3VyY2VFcnJvciBjb3JlRXJyb3IoZXJyb3IpOwor
ICAgIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgY29yZUVycm9yKGVycm9yKTsKICAgICBfY3VzdG9t
UHJvdG9jb2xNYW5hZ2VyUHJveHktPmRpZEZhaWxXaXRoRXJyb3IoX2N1c3RvbVByb3RvY29sSUQs
IGNvcmVFcnJvcik7CiAgICAgX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5LT5zdG9wTG9hZGlu
ZyhfY3VzdG9tUHJvdG9jb2xJRCk7CiB9CkBAIC05OSw3ICs5Niw3IEBAIC0gKE5TQ2FjaGVkVVJM
UmVzcG9uc2UgKiljb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIHdpbGxD
YWNoZVJlc3BvCiAKIC0gKHZvaWQpY29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVj
dGlvbiBkaWRSZWNlaXZlUmVzcG9uc2U6KE5TVVJMUmVzcG9uc2UgKilyZXNwb25zZQogewotICAg
IFJlc291cmNlUmVzcG9uc2UgY29yZVJlc3BvbnNlKHJlc3BvbnNlKTsKKyAgICBXZWJDb3JlOjpS
ZXNvdXJjZVJlc3BvbnNlIGNvcmVSZXNwb25zZShyZXNwb25zZSk7CiAgICAgX2N1c3RvbVByb3Rv
Y29sTWFuYWdlclByb3h5LT5kaWRSZWNlaXZlUmVzcG9uc2UoX2N1c3RvbVByb3RvY29sSUQsIGNv
cmVSZXNwb25zZSwgX3N0b3JhZ2VQb2xpY3kpOwogfQogCkBAIC0xMjcsNiArMTI0LDcgQEAgLSAo
dm9pZCljb25uZWN0aW9uRGlkRmluaXNoTG9hZGluZzooTlNVUkxDb25uZWN0aW9uICopY29ubmVj
dGlvbgogQGVuZAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwogCiB2b2lkIExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudDo6c3RhcnRMb2FkaW5n
KExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5JiBtYW5hZ2VyLCB1aW50NjRfdCBjdXN0
b21Qcm90b2NvbElELCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGNvcmVSZXF1ZXN0KQogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJv
eHkuY3BwCmluZGV4IGMyYjkxYTYzOTczZTYzMTIwYWFlNTI4Zjg5NzUzODVmN2I2ZGJmNjIuLmVk
ZWQ5YzdkMmE0ZTU4ZTNkMDU4ZDgzMjY4MzEwOTgxODJhZjQ0NzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKQEAg
LTQ4LDcgKzQ4LDcgQEAgc3RhdGljIGNvbnN0IFNlY29uZHMgc25hcHNob3R0aW5nTWluaW11bUxp
ZmV0aW1lIHsgMzBfcyB9Owogc3RhdGljIGNvbnN0IFNlY29uZHMgc2h1dGRvd25UaW1lb3V0IHsg
MV9taW4gfTsKIHN0YXRpYyBjb25zdCBTZWNvbmRzIHNuYXBzaG90dGluZ1NodXRkb3duVGltZW91
dCB7IDE1X3MgfTsKIAotc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlQ2FsbGJhY2tJRCgpCitzdGF0
aWMgdWludDY0X3QgZ2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCgpCiB7CiAgICAgc3Rh
dGljIHVpbnQ2NF90IGNhbGxiYWNrSUQ7CiAKQEAgLTExNCw3ICsxMTQsNyBAQCB2b2lkIFBsdWdp
blByb2Nlc3NQcm94eTo6Z2V0UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24oTWVzc2FnZXM6OldlYlBy
b2Nlc3NQcm94eTo6RwogCiB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0
YShDb21wbGV0aW9uSGFuZGxlcjx2b2lkIChWZWN0b3I8U3RyaW5nPik+JiYgY29tcGxldGlvbkhh
bmRsZXIpCiB7Ci0gICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgp
OworICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVBsdWdpblByb2Nlc3NDYWxsYmFj
a0lEKCk7CiAgICAgbV9wZW5kaW5nRmV0Y2hXZWJzaXRlRGF0YUNhbGxiYWNrcy5zZXQoY2FsbGJh
Y2tJRCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAgaWYgKHN0YXRlKCkgPT0g
U3RhdGU6OkxhdW5jaGluZykgewpAQCAtMTI3LDcgKzEyNyw3IEBAIHZvaWQgUGx1Z2luUHJvY2Vz
c1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKENvbXBsZXRpb25IYW5kbGVyPHZvaWQgKFZlY3RvcjxT
dHJpbmc+CiAKIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YShXYWxs
VGltZSBtb2RpZmllZFNpbmNlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkICgpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQogewotICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNr
SUQoKTsKKyAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2Fs
bGJhY2tJRCgpOwogICAgIG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRhQ2FsbGJhY2tzLnNldChj
YWxsYmFja0lELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAKICAgICBpZiAoc3RhdGUo
KSA9PSBTdGF0ZTo6TGF1bmNoaW5nKSB7CkBAIC0xNDAsNyArMTQwLDcgQEAgdm9pZCBQbHVnaW5Q
cm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhKFdhbGxUaW1lIG1vZGlmaWVkU2luY2UsIENv
bXBsZXRpb25IYW4KIAogdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRh
Rm9ySG9zdE5hbWVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBob3N0TmFtZXMsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQgKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgdWludDY0X3QgY2Fs
bGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQg
PSBnZW5lcmF0ZVBsdWdpblByb2Nlc3NDYWxsYmFja0lEKCk7CiAgICAgbV9wZW5kaW5nRGVsZXRl
V2Vic2l0ZURhdGFGb3JIb3N0TmFtZXNDYWxsYmFja3Muc2V0KGNhbGxiYWNrSUQsIFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIGlmIChzdGF0ZSgpID09IFN0YXRlOjpMYXVuY2hp
bmcpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJl
ZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGlu
Z05vZGVEZWxlZ2F0ZUlPUy5tbQppbmRleCA0YTJlMjliNTYwOTYxYTU5YjFjYjU1MTk3ODM5MTQ5
YzMxMDY4NGMyLi43MmE4ODJmMDU4MWQ1ZWFjOTFmYzE0YmMwNWEwMmYxNDRmMTZjMTFkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9s
bGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURl
bGVnYXRlSU9TLm1tCkBAIC00Myw4ICs0Myw2IEBACiAjaW1wb3J0IDxXZWJDb3JlL1Njcm9sbFNu
YXBPZmZzZXRzSW5mby5oPgogI2VuZGlmCiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBA
aW1wbGVtZW50YXRpb24gV0tTY3JvbGxpbmdOb2RlU2Nyb2xsVmlld0RlbGVnYXRlCiAKIC0gKGlu
c3RhbmNldHlwZSlpbml0V2l0aFNjcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGU6KFdlYktpdDo6U2Ny
b2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUyopZGVsZWdhdGUKQEAgLTgwLDcgKzc4
LDcgQEAgLSAodm9pZClzY3JvbGxWaWV3V2lsbEVuZERyYWdnaW5nOihVSVNjcm9sbFZpZXcgKilz
Y3JvbGxWaWV3IHdpdGhWZWxvY2l0eTooQ0dQb2kKIAogICAgIGlmICghX3Njcm9sbGluZ1RyZWVO
b2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNldHMoKS5pc0Vt
cHR5KCkpIHsKICAgICAgICAgdW5zaWduZWQgaW5kZXg7Ci0gICAgICAgIGZsb2F0IHBvdGVudGlh
bFNuYXBQb3NpdGlvbiA9IGNsb3Nlc3RTbmFwT2Zmc2V0KF9zY3JvbGxpbmdUcmVlTm9kZURlbGVn
YXRlLT5zY3JvbGxpbmdOb2RlKCkuaG9yaXpvbnRhbFNuYXBPZmZzZXRzKCksIF9zY3JvbGxpbmdU
cmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuaG9yaXpvbnRhbFNuYXBPZmZzZXRSYW5n
ZXMoKSwgaG9yaXpvbnRhbFRhcmdldCwgdmVsb2NpdHkueCwgaW5kZXgpOworICAgICAgICBmbG9h
dCBwb3RlbnRpYWxTbmFwUG9zaXRpb24gPSBXZWJDb3JlOjpjbG9zZXN0U25hcE9mZnNldChfc2Ny
b2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zm
c2V0cygpLCBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLmhvcml6
b250YWxTbmFwT2Zmc2V0UmFuZ2VzKCksIGhvcml6b250YWxUYXJnZXQsIHZlbG9jaXR5LngsIGlu
ZGV4KTsKICAgICAgICAgX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUo
KS5zZXRDdXJyZW50SG9yaXpvbnRhbFNuYXBQb2ludEluZGV4KGluZGV4KTsKICAgICAgICAgaWYg
KGhvcml6b250YWxUYXJnZXQgPj0gMCAmJiBob3Jpem9udGFsVGFyZ2V0IDw9IHNjcm9sbFZpZXcu
Y29udGVudFNpemUud2lkdGgpCiAgICAgICAgICAgICB0YXJnZXRDb250ZW50T2Zmc2V0LT54ID0g
cG90ZW50aWFsU25hcFBvc2l0aW9uOwpAQCAtODgsNyArODYsNyBAQCAtICh2b2lkKXNjcm9sbFZp
ZXdXaWxsRW5kRHJhZ2dpbmc6KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcgd2l0aFZlbG9jaXR5
OihDR1BvaQogCiAgICAgaWYgKCFfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5n
Tm9kZSgpLnZlcnRpY2FsU25hcE9mZnNldHMoKS5pc0VtcHR5KCkpIHsKICAgICAgICAgdW5zaWdu
ZWQgaW5kZXg7Ci0gICAgICAgIGZsb2F0IHBvdGVudGlhbFNuYXBQb3NpdGlvbiA9IGNsb3Nlc3RT
bmFwT2Zmc2V0KF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkudmVy
dGljYWxTbmFwT2Zmc2V0cygpLCBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5n
Tm9kZSgpLnZlcnRpY2FsU25hcE9mZnNldFJhbmdlcygpLCB2ZXJ0aWNhbFRhcmdldCwgdmVsb2Np
dHkueSwgaW5kZXgpOworICAgICAgICBmbG9hdCBwb3RlbnRpYWxTbmFwUG9zaXRpb24gPSBXZWJD
b3JlOjpjbG9zZXN0U25hcE9mZnNldChfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xs
aW5nTm9kZSgpLnZlcnRpY2FsU25hcE9mZnNldHMoKSwgX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdh
dGUtPnNjcm9sbGluZ05vZGUoKS52ZXJ0aWNhbFNuYXBPZmZzZXRSYW5nZXMoKSwgdmVydGljYWxU
YXJnZXQsIHZlbG9jaXR5LnksIGluZGV4KTsKICAgICAgICAgX3Njcm9sbGluZ1RyZWVOb2RlRGVs
ZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5zZXRDdXJyZW50VmVydGljYWxTbmFwUG9pbnRJbmRleChp
bmRleCk7CiAgICAgICAgIGlmICh2ZXJ0aWNhbFRhcmdldCA+PSAwICYmIHZlcnRpY2FsVGFyZ2V0
IDw9IHNjcm9sbFZpZXcuY29udGVudFNpemUuaGVpZ2h0KQogICAgICAgICAgICAgdGFyZ2V0Q29u
dGVudE9mZnNldC0+eSA9IHBvdGVudGlhbFNuYXBQb3NpdGlvbjsKQEAgLTEyMiw2ICsxMjAsNyBA
QCAtICh2b2lkKXNjcm9sbFZpZXdEaWRFbmREZWNlbGVyYXRpbmc6KFVJU2Nyb2xsVmlldyAqKXNj
cm9sbFZpZXcKIEBlbmQKIAogbmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKIAogU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUzo6U2Nyb2xsaW5n
VHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUyhTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZSYg
c2Nyb2xsaW5nTm9kZSkKICAgICA6IFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGUo
c2Nyb2xsaW5nTm9kZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3Jh
Z2UvU3RvcmFnZVByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9y
YWdlL1N0b3JhZ2VQcm9jZXNzUHJveHkuY3BwCmluZGV4IGVmYThkMTNjYmJkNWZmYTgwOGI1ZjBl
ZGJmNGE1MWRjOWRmODU3ZTcuLjNhMTMxYjRkNjBkOGFhMDdlODdmYjVlNGM2MTRmMzBhN2Q0MmI1
NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVBy
b2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9TdG9y
YWdlUHJvY2Vzc1Byb3h5LmNwcApAQCAtMzcsNyArMzcsNyBAQAogbmFtZXNwYWNlIFdlYktpdCB7
CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlQ2Fs
bGJhY2tJRCgpCitzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxiYWNr
SUQoKQogewogICAgIHN0YXRpYyB1aW50NjRfdCBjYWxsYmFja0lEOwogCkBAIC0xMDUsNyArMTA1
LDcgQEAgdm9pZCBTdG9yYWdlUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKFBBTDo6U2Vz
c2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFcKIHsKICAgICBBU1NFUlQoY2FuU2VuZE1lc3Nh
Z2UoKSk7CiAKLSAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7
CisgICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlU3RvcmFnZVByb2Nlc3NDYWxsYmFj
a0lEKCk7CiAgICAgbV9wZW5kaW5nRmV0Y2hXZWJzaXRlRGF0YUNhbGxiYWNrcy5hZGQoY2FsbGJh
Y2tJRCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAgc2VuZChNZXNzYWdlczo6
U3RvcmFnZVByb2Nlc3M6OkZldGNoV2Vic2l0ZURhdGEoc2Vzc2lvbklELCBkYXRhVHlwZXMsIGNh
bGxiYWNrSUQpLCAwKTsKQEAgLTExMyw3ICsxMTMsNyBAQCB2b2lkIFN0b3JhZ2VQcm9jZXNzUHJv
eHk6OmZldGNoV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8
VwogCiB2b2lkIFN0b3JhZ2VQcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhKFBBTDo6U2Vz
c2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4gZGF0YVR5cGVzLCBX
YWxsVGltZSBtb2RpZmllZFNpbmNlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkICgpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQogewotICAgIGF1dG8gY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJ
RCgpOworICAgIGF1dG8gY2FsbGJhY2tJRCA9IGdlbmVyYXRlU3RvcmFnZVByb2Nlc3NDYWxsYmFj
a0lEKCk7CiAKICAgICBtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUNhbGxiYWNrcy5hZGQoY2Fs
bGJhY2tJRCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogICAgIHNlbmQoTWVzc2FnZXM6
OlN0b3JhZ2VQcm9jZXNzOjpEZWxldGVXZWJzaXRlRGF0YShzZXNzaW9uSUQsIGRhdGFUeXBlcywg
bW9kaWZpZWRTaW5jZSwgY2FsbGJhY2tJRCksIDApOwpAQCAtMTIzLDcgKzEyMyw3IEBAIHZvaWQg
U3RvcmFnZVByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKFBBTDo6U2Vz
c2lvbklEIHNlc3Npb25JRCwKIHsKICAgICBBU1NFUlQoY2FuU2VuZE1lc3NhZ2UoKSk7CiAKLSAg
ICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7CisgICAgdWludDY0
X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlU3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKCk7CiAgICAg
bV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zQ2FsbGJhY2tzLmFkZChjYWxsYmFj
a0lELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAKICAgICBzZW5kKE1lc3NhZ2VzOjpT
dG9yYWdlUHJvY2Vzczo6RGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKHNlc3Npb25JRCwgZGF0
YVR5cGVzLCBvcmlnaW5zLCBjYWxsYmFja0lEKSwgMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCmluZGV4IDc3YmQ4ZDc3NTYxOGUwOGUzNjJjYjE2MTRiM2Q2NWQ3Y2U5NjAx
NmMuLjJhN2I2MGMwYmIzOTAxOTQxMTlmYmMwMWMzMjlhNTlmODZlMDQwMTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC02MSw3ICs2MSw2IEBACiAjaW5jbHVkZSAi
V2ViUGFnZUluamVjdGVkQnVuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViUGF5bWVudENvb3Jk
aW5hdG9yUHJveHkuaCIKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlcy5oIgotI2luY2x1ZGUgPFdl
YkNvcmUvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50Lmg+IC8vIEZJWE1FOiBOZWVkZWQgYnkgV2ViUGFn
ZVByb3h5TWVzc2FnZXMuaCBmb3IgRElDVEFUSU9OX0FMVEVSTkFUSVZFUy4KICNpbmNsdWRlICJX
ZWJQYWdlUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlBvcHVwTWVudVByb3h5LmgiCiAj
aW5jbHVkZSAiV2ViUHJvY2Vzc0xpZmV0aW1lVHJhY2tlci5oIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYzc3MTU1OTBlZDcxY2NkZDIz
ZGYyODVhM2FhN2MzNmU1NDNkYjdmNi4uYmM3YzI0M2Y0Nzk2YWNjMmVjZTRjNGZlY2M0NDkyOTI1
OGNkYjQ1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC03NTYsNiArNzU2LDggQEAKIAkJMkQ5MkE3OTUyMTJCNkFENDAwRjQ5M0ZEIC8q
IFBsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyRDkwRDExMjgxQzk2NjAwMUVCOTYyIC8qIFBs
dWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwICovOyB9OwogCQkyRDkyQTc5NjIxMkI2
QURBMDBGNDkzRkQgLyogTmV0c2NhcGVQbHVnaW5Nb2R1bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE0QTlDNTMxMkI4MTZDRjAwOEZFOTg0IC8q
IE5ldHNjYXBlUGx1Z2luTW9kdWxlLmNwcCAqLzsgfTsKIAkJMkQ5MkE3OTcyMTJCNkFEQTAwRjQ5
M0ZEIC8qIFBsdWdpbkluZm9ybWF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDdDM0Y4QzhFMTczQUY1MkQwMDdCN0YzOSAvKiBQbHVnaW5JbmZv
cm1hdGlvbi5jcHAgKi87IH07CisJCTJEOTJBNzk4MjEzNDhEODUwMEY0OTNGRCAvKiBXZWJQYXlt
ZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFBQjFGNzdEMUQxQjMwQTkwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eU1hYy5tbSAqLzsgfTsKKwkJMkQ5MkE3OUYyMTM0QjA3RTAwRjQ5M0ZEIC8q
IFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5SU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFCMUY3N0IxRDFCMzBBOTAwN0M5QkQxIC8qIFdlYlBh
eW1lbnRDb29yZGluYXRvclByb3h5SU9TLm1tICovOyB9OwogCQkyRDkzMTE2OTIxMkY2MUIyMDAw
NDRCRkUgLyogV0tDb250ZW50Vmlldy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGQ0I0RTNEMThCQkUwNDQwMDBGQ0ZDOSAvKiBXS0NvbnRlbnRWaWV3
Lm1tICovOyB9OwogCQkyRDkzMTE2QTIxMkY2MUI1MDAwNDRCRkUgLyogV0tDb250ZW50Vmlld0lu
dGVyYWN0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZDQjRFNkIxOEJCRjI2QTAwMEZDRkM5IC8qIFdLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5t
bSAqLzsgfTsKIAkJMkQ5RUEzMEQxQTk2Q0I1OTAwMkQyODA3IC8qIFdLUGFnZUluamVjdGVkQnVu
ZGxlQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyRDlFQTMwQzFBOTZDQjU5MDAyRDI4MDcgLyogV0tQYWdlSW5qZWN0ZWRCdW5kbGVDbGllbnQu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTEy
NDEsNiArMTEyNDMsOCBAQAogCQkJCTdDRTlDRTEwMUZBMDc2N0EwMDAxNzdERSAvKiBXZWJQYWdl
VXBkYXRlUHJlZmVyZW5jZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M0Njk0QzkxQTRCNEVB
MTAwQUQ1ODQ1IC8qIFdlYlBhc3RlYm9hcmRQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkxQUIxRjc5NjFEMUIzNjEzMDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3Jk
aW5hdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJBNzlGMjEz
NEIwN0UwMEY0OTNGRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbSBpbiBTb3Vy
Y2VzICovLAorCQkJCTJEOTJBNzk4MjEzNDhEODUwMEY0OTNGRCAvKiBXZWJQYXltZW50Q29vcmRp
bmF0b3JQcm94eU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBQjFGNzk4MUQxQjM2MTMwMDdD
OUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkyRDkyQTc4RDIxMkI2QUIxMDBGNDkzRkQgLyogV2ViUGxhdGZvcm1U
b3VjaFBvaW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOTEzNDRFMjEyQ0Y5RjAwMDEyOEFG
RCAvKiBXZWJQbHVnaW5JbmZvUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5tbQppbmRleCA1MzA3
ZTI2YTc2MzdlOGE2OWIwNDVhYmI5Mjg3OWYzZjhjNjU4NmYyLi40Y2FhNmNjMGY2MDQ1MGMwM2Iy
MmEyODRkZDEzYWYyNWVmZDZlMzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0KQEAgLTg4LDggKzg4LDYgQEAKICNpbXBvcnQgPHBh
bC9zcGkvbWFjL05TTWVudVNQSS5oPgogI2ltcG9ydCA8d3RmL1VVSUQuaD4KIAotdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7Ci0KIC8vIFNldCBvdmVyZmxvdzogaGlkZGVuIG9uIHRoZSBhbm5vdGF0
aW9uIGNvbnRhaW5lciBzbyA8aW5wdXQ+IGVsZW1lbnRzIHNjcm9sbGVkIG91dCBvZiB2aWV3IGRv
bid0IHNob3cKIC8vIHNjcm9sbGJhcnMgb24gdGhlIGJvZHkuIFdlIGNhbid0IGFkZCBhbm5vdGF0
aW9ucyBkaXJlY3RseSB0byB0aGUgYm9keSwgYmVjYXVzZSBvdmVyZmxvdzogaGlkZGVuIG9uIHRo
ZSBib2R5CiAvLyB3aWxsIGJyZWFrIHJ1YmJlci1iYW5kaW5nLgpAQCAtMjkwLDcgKzI4OCw3IEBA
IC0gKE5TQXJyYXkgKilhY2Nlc3NpYmlsaXR5QWN0aW9uTmFtZXMKIC0gKHZvaWQpYWNjZXNzaWJp
bGl0eVBlcmZvcm1BY3Rpb246KE5TU3RyaW5nICopYWN0aW9uCiB7CiAgICAgaWYgKFthY3Rpb24g
aXNFcXVhbFRvU3RyaW5nOk5TQWNjZXNzaWJpbGl0eVNob3dNZW51QWN0aW9uXSkKLSAgICAgICAg
X3BkZlBsdWdpbi0+c2hvd0NvbnRleHRNZW51QXRQb2ludChJbnRSZWN0KEludFBvaW50KCksIF9w
ZGZQbHVnaW4tPnNpemUoKSkuY2VudGVyKCkpOworICAgICAgICBfcGRmUGx1Z2luLT5zaG93Q29u
dGV4dE1lbnVBdFBvaW50KFdlYkNvcmU6OkludFJlY3QoV2ViQ29yZTo6SW50UG9pbnQoKSwgX3Bk
ZlBsdWdpbi0+c2l6ZSgpKS5jZW50ZXIoKSk7CiB9CiAKIC0gKEJPT0wpYWNjZXNzaWJpbGl0eUlz
QXR0cmlidXRlU2V0dGFibGU6KE5TU3RyaW5nICopYXR0cmlidXRlCkBAIC0zMTYsOCArMzE0LDgg
QEAgLSAoaWQpYWNjZXNzaWJpbGl0eUZvY3VzZWRVSUVsZW1lbnQKIHsKICNpZiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMAogICAgIGlmIChXZWJLaXQ6OlBERlBsdWdp
bkFubm90YXRpb24qIGFjdGl2ZUFubm90YXRpb24gPSBfcGRmUGx1Z2luLT5hY3RpdmVBbm5vdGF0
aW9uKCkpIHsKLSAgICAgICAgaWYgKEFYT2JqZWN0Q2FjaGUqIGV4aXN0aW5nQ2FjaGUgPSBfcGRm
UGx1Z2luLT5heE9iamVjdENhY2hlKCkpIHsKLSAgICAgICAgICAgIGlmIChBY2Nlc3NpYmlsaXR5
T2JqZWN0KiBvYmplY3QgPSBleGlzdGluZ0NhY2hlLT5nZXRPckNyZWF0ZShhY3RpdmVBbm5vdGF0
aW9uLT5lbGVtZW50KCkpKQorICAgICAgICBpZiAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZSogZXhp
c3RpbmdDYWNoZSA9IF9wZGZQbHVnaW4tPmF4T2JqZWN0Q2FjaGUoKSkgeworICAgICAgICAgICAg
aWYgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCA9IGV4aXN0aW5nQ2FjaGUt
PmdldE9yQ3JlYXRlKGFjdGl2ZUFubm90YXRpb24tPmVsZW1lbnQoKSkpCiAjcHJhZ21hIGNsYW5n
IGRpYWdub3N0aWMgcHVzaAogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XZGVw
cmVjYXRlZC1kZWNsYXJhdGlvbnMiCiAgICAgICAgICAgICAgICAgcmV0dXJuIFtvYmplY3QtPndy
YXBwZXIoKSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6QCJfQVhBc3NvY2lhdGVkUGx1Z2lu
UGFyZW50Il07CkBAIC0zMzgsMTEgKzMzNiwxMSBAQCAtIChpZClhY2Nlc3NpYmlsaXR5QXNzb2Np
YXRlZENvbnRyb2xGb3JBbm5vdGF0aW9uOihQREZBbm5vdGF0aW9uICopYW5ub3RhdGlvbgogICAg
IGlmICghYWN0aXZlQW5ub3RhdGlvbiB8fCAhW2FjdGl2ZUFubm90YXRpb24tPmFubm90YXRpb24o
KSBpc0VxdWFsOmFubm90YXRpb25dKQogICAgICAgICByZXR1cm4gbmlsOwogICAgIAotICAgIEFY
T2JqZWN0Q2FjaGUqIGNhY2hlID0gX3BkZlBsdWdpbi0+YXhPYmplY3RDYWNoZSgpOworICAgIFdl
YkNvcmU6OkFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gX3BkZlBsdWdpbi0+YXhPYmplY3RDYWNoZSgp
OwogICAgIGlmICghY2FjaGUpCiAgICAgICAgIHJldHVybiBuaWw7CiAgICAgCi0gICAgQWNjZXNz
aWJpbGl0eU9iamVjdCogb2JqZWN0ID0gY2FjaGUtPmdldE9yQ3JlYXRlKGFjdGl2ZUFubm90YXRp
b24tPmVsZW1lbnQoKSk7CisgICAgV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0
ID0gY2FjaGUtPmdldE9yQ3JlYXRlKGFjdGl2ZUFubm90YXRpb24tPmVsZW1lbnQoKSk7CiAgICAg
aWYgKCFvYmplY3QpCiAgICAgICAgIHJldHVybiBuaWw7CiAKQEAgLTM1Myw3ICszNTEsNyBAQCAt
IChpZClhY2Nlc3NpYmlsaXR5QXNzb2NpYXRlZENvbnRyb2xGb3JBbm5vdGF0aW9uOihQREZBbm5v
dGF0aW9uICopYW5ub3RhdGlvbgogLSAoaWQpYWNjZXNzaWJpbGl0eUhpdFRlc3Q6KE5TUG9pbnQp
cG9pbnQKIHsKICNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMAot
ICAgIHBvaW50ID0gX3BkZlBsdWdpbi0+Y29udmVydEZyb21Sb290Vmlld1RvUERGVmlldyhJbnRQ
b2ludChwb2ludCkpOworICAgIHBvaW50ID0gX3BkZlBsdWdpbi0+Y29udmVydEZyb21Sb290Vmll
d1RvUERGVmlldyhXZWJDb3JlOjpJbnRQb2ludChwb2ludCkpOwogICAgIHJldHVybiBbX3BkZkxh
eWVyQ29udHJvbGxlciBhY2Nlc3NpYmlsaXR5SGl0VGVzdDpwb2ludF07CiAjZWxzZQogICAgIHJl
dHVybiBzZWxmOwpAQCAtNDIxLDcgKzQxOSw3IEBAIC0gKGlkKWluaXRXaXRoUERGUGx1Z2luOihX
ZWJLaXQ6OlBERlBsdWdpbiAqKXBsdWdpbgogCiAtICh2b2lkKXVwZGF0ZVNjcm9sbFBvc2l0aW9u
OihDR1BvaW50KW5ld1Bvc2l0aW9uCiB7Ci0gICAgX3BkZlBsdWdpbi0+bm90aWZ5U2Nyb2xsUG9z
aXRpb25DaGFuZ2VkKEludFBvaW50KG5ld1Bvc2l0aW9uKSk7CisgICAgX3BkZlBsdWdpbi0+bm90
aWZ5U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKFdlYkNvcmU6OkludFBvaW50KG5ld1Bvc2l0aW9uKSk7
CiB9CiAKIC0gKHZvaWQpd3JpdGVJdGVtc1RvUGFzdGVib2FyZDooTlNBcnJheSAqKWl0ZW1zIHdp
dGhUeXBlczooTlNBcnJheSAqKXR5cGVzCkBAIC01MDAsNiArNDk4LDEwIEBAIC0gKE5TUmVjdClj
b252ZXJ0UmVjdDooTlNSZWN0KXJlY3QgZnJvbVBhZ2U6KFBERlBhZ2UgKikgcGFnZSBmb3JTY2Fs
ZUZhY3RvcjooQ0dGCiAtIChQREZQYWdlICopcGFnZU5lYXJlc3RQb2ludDooTlNQb2ludClwb2lu
dCBjdXJyZW50UGFnZTooUERGUGFnZSAqKWN1cnJlbnRQYWdlOwogQGVuZAogCituYW1lc3BhY2Ug
V2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwordXNpbmcgbmFtZXNwYWNlIEhUTUxO
YW1lczsKKwogc3RhdGljIGNvbnN0IGNoYXIqIHBvc3RTY3JpcHRNSU1FVHlwZSA9ICJhcHBsaWNh
dGlvbi9wb3N0c2NyaXB0IjsKIGNvbnN0IHVpbnQ2NF90IHBkZkRvY3VtZW50UmVxdWVzdElEID0g
MTsgLy8gUGx1Z2luQ29udHJvbGxlciBzdXBwb3J0cyBsb2FkaW5nIG11bHRpcGxlIHN0cmVhbXMs
IGJ1dCB3ZSBvbmx5IG5lZWQgb25lIGZvciBQREYuCiAKQEAgLTU5Niw5ICs1OTgsNiBAQCBzdGF0
aWMgdm9pZCBnZXRBbGxTY3JpcHRzSW5QREZEb2N1bWVudChDR1BERkRvY3VtZW50UmVmIHBkZkRv
Y3VtZW50LCBWZWN0b3I8UmV0YQogICAgIH0KIH0KIAotbmFtZXNwYWNlIFdlYktpdCB7Ci11c2lu
ZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwotCiBSZWY8UERGUGx1Z2luPiBQREZQbHVnaW46OmNyZWF0
ZShXZWJGcmFtZSYgZnJhbWUpCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUERGUGx1Z2lu
KGZyYW1lKSk7CkBAIC0xNDUwLDcgKzE0NDksNyBAQCB2b2lkIFBERlBsdWdpbjo6dXBkYXRlQ3Vy
c29yKGNvbnN0IFdlYk1vdXNlRXZlbnQmIGV2ZW50LCBVcGRhdGVDdXJzb3JNb2RlIG1vZGUpCiAg
ICAgaWYgKGhpdFRlc3RSZXN1bHQgPT0gbV9sYXN0SGl0VGVzdFJlc3VsdCAmJiBtb2RlID09IFVw
ZGF0ZUlmTmVlZGVkKQogICAgICAgICByZXR1cm47CiAKLSAgICB3ZWJGcmFtZSgpLT5wYWdlKCkt
PnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0Q3Vyc29yKGhpdFRlc3RSZXN1bHQgPT0g
VGV4dCA/IGlCZWFtQ3Vyc29yKCkgOiBwb2ludGVyQ3Vyc29yKCkpKTsKKyAgICB3ZWJGcmFtZSgp
LT5wYWdlKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0Q3Vyc29yKGhpdFRlc3RS
ZXN1bHQgPT0gVGV4dCA/IFdlYkNvcmU6OmlCZWFtQ3Vyc29yKCkgOiBXZWJDb3JlOjpwb2ludGVy
Q3Vyc29yKCkpKTsKICAgICBtX2xhc3RIaXRUZXN0UmVzdWx0ID0gaGl0VGVzdFJlc3VsdDsKIH0K
ICNlbmRpZgpAQCAtMTk4MSwxNiArMTk4MCwxNiBAQCB2b2lkIFBERlBsdWdpbjo6bm90aWZ5U2Vs
ZWN0aW9uQ2hhbmdlZChQREZTZWxlY3Rpb24gKikKICAgICB3ZWJGcmFtZSgpLT5wYWdlKCktPmRp
ZENoYW5nZVNlbGVjdGlvbigpOwogfQogCi1zdGF0aWMgY29uc3QgQ3Vyc29yJiBjb3JlQ3Vyc29y
KFBERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGUgdHlwZSkKK3N0YXRpYyBjb25zdCBXZWJDb3Jl
OjpDdXJzb3ImIGNvcmVDdXJzb3IoUERGTGF5ZXJDb250cm9sbGVyQ3Vyc29yVHlwZSB0eXBlKQog
ewogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2Uga1BERkxheWVyQ29udHJvbGxlckN1cnNv
clR5cGVIYW5kOgotICAgICAgICByZXR1cm4gaGFuZEN1cnNvcigpOworICAgICAgICByZXR1cm4g
V2ViQ29yZTo6aGFuZEN1cnNvcigpOwogICAgIGNhc2Uga1BERkxheWVyQ29udHJvbGxlckN1cnNv
clR5cGVJQmVhbToKLSAgICAgICAgcmV0dXJuIGlCZWFtQ3Vyc29yKCk7CisgICAgICAgIHJldHVy
biBXZWJDb3JlOjppQmVhbUN1cnNvcigpOwogICAgIGNhc2Uga1BERkxheWVyQ29udHJvbGxlckN1
cnNvclR5cGVQb2ludGVyOgogICAgIGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiBwb2ludGVyQ3Vy
c29yKCk7CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpwb2ludGVyQ3Vyc29yKCk7CiAgICAgfQog
fQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348228</attachid>
            <date>2018-08-27 16:04:47 -0700</date>
            <delta_ts>2018-08-27 16:24:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189009-20180827160446.patch</filename>
            <type>text/plain</type>
            <size>55574</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1Mzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDI5MmM2NDA4MzcwZGM0YWY2ZmVmYmQ0
MzZlZGNhYTc3ZDA3NWUzOWEuLjgxMTBlZGU5NjU0OWM4MjM0YTNiYjJjNzM1NmFiYjAyNDIxNDJm
MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3Jl
IHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL2dlbmVy
YXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmI6CisgICAgICAgIEl0IHR1cm5zIG91dCBvdXIg
cGxhbiB0byBzd2l0Y2ggdW5pZmllZCBzb3VyY2UgYnVuZGxlIGV2ZXJ5IHRpbWUgdGhlIGRpcmVj
dG9yeQorICAgICAgICBjaGFuZ2VzIGlzIG5vdCBhIGdvb2QgZml0IGZvciBwcm9qZWN0cyBsaWtl
IFdlYktpdDIgd2l0aCBtYW55IHNtYWxsIGRpcmVjdG9yaWVzLgorICAgICAgICBJdCBsZWF2ZXMg
bWFueSB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIHdpdGggb25seSBhIHNpbmdsZSBzb3VyY2UgZmls
ZSwKKyAgICAgICAgYWNoaWV2aW5nIG9ubHkgfjQwJSBkZW5zaXR5LgorCisgICAgICAgIEluc3Rl
YWQsIHN3aXRjaCB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIGV2ZXJ5IHRpbWUgdGhlIHRvcC1sZXZl
bCBkaXJlY3RvcnkgY2hhbmdlcy4KKyAgICAgICAgVGhpcyBzdGlsbCBhY2hpZXZlcyB0aGUgZ29h
bCBvZiAqdXN1YWxseSogb25seSByZWJ1aWxkaW5nIHRoZSBvbmUgdG9wLWxldmVsCisgICAgICAg
IGRpcmVjdG9yeSB5b3UgdG91Y2hlZCwgYW5kIGluY3JlYXNlcyBzb3VyY2UgYnVuZGxlIGRlbnNp
dHkgd2lsZGx5LCB0byB+OTUlLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTgt
MDgtMjcgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxk
IHN5c3RlbSBzdXBwb3J0IGZvciBMVE8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhMGI5YTAyZDQ5MWQzYzc0NDBh
Y2U4YTIyNDFjNGU1MzUwYzVmNTE0Li4yMDA5OWQwOTZiMDhiM2E0ZjkxOTE2YmRlZDdhNTZlNWUw
YjgzYjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQg
c291cmNlcyBtb3JlIHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1
Y3R1cmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
ODkwMDkKKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgRml4
IGEgdmFyaWV0eSBvZiB1bmlmaWNhdGlvbiBlcnJvcnMgZHVlIHRvIHJlc2h1ZmZsaW5nIHRoZSBi
dW5kbGVzLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9B
bGdvcml0aG1FQ0RTQS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1FQ0RT
QTo6aW1wb3J0S2V5KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBodG1s
L3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKiBwYWdlL0FsdGVybmF0
aXZlVGV4dENsaWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL1Bhc3RlYm9hcmQuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHA6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5tbToKKyAgICAgICAg
KC1bV2ViR0xMYXllciBpbml0V2l0aEdyYXBoaWNzQ29udGV4dDNEOl0pOgorICAgICAgICAoLVtX
ZWJHTExheWVyIGNvcHlJbWFnZVNuYXBzaG90V2l0aENvbG9yU3BhY2U6XSk6CisgICAgICAgICgt
W1dlYkdMTGF5ZXIgZGlzcGxheV0pOgorICAgICAgICAoLVtXZWJHTExheWVyIGFsbG9jYXRlSU9T
dXJmYWNlQmFja2luZ1N0b3JlV2l0aFNpemU6dXNpbmdBbHBoYTpdKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbToKKyAgICAgICAgKC1bV2ViR1BVTGF5
ZXIgaW5pdFdpdGhHUFVEZXZpY2U6XSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0
YWwvR1BVQ29tbWFuZFF1ZXVlTWV0YWwubW06CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Bhc3Rl
Ym9hcmRNYWMubW06CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlD
YXB0dXJlTWFuYWdlckNvY29hLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlUmVxdWVzdEJhc2UuY3BwOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJU
cmVlQnVpbGRlckJsb2NrRmxvdy5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVCdWlsZGVySW5saW5lLmNwcDoKKwogMjAxOC0wOC0yNyAgS2VpdGggUm9sbGluICA8
a3JvbGxpbkBhcHBsZS5jb20+CiAKICAgICAgICAgQnVpbGQgc3lzdGVtIHN1cHBvcnQgZm9yIExU
TwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCAwZjg2OGYwZTliYWUyNjgxMWZiZjI0ZDFjOWFmNGU4OWZkMjNlZDE3Li5j
OWI0OTBhODMwNjI2ZmU0YzkzYTA1OWI0M2FhNGM0MTVlYTlhOTM4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDUyIEBACisyMDE4LTA4LTI3ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUu
Y29tPgorCisgICAgICAgIEJ1bmRsZSB1bmlmaWVkIHNvdXJjZXMgbW9yZSB0aWdodGx5IGluIHBy
b2plY3RzIHdpdGggZGVlcCBkaXJlY3Rvcnkgc3RydWN0dXJlcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5MDA5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIEZpeCBhIHZhcmlldHkgb2YgdW5pZmljYXRpb24g
ZXJyb3JzIGR1ZSB0byByZXNodWZmbGluZyB0aGUgYnVuZGxlcy4KKworICAgICAgICAqIFNoYXJl
ZC9BUElXZWJBcmNoaXZlLm1tOgorICAgICAgICAqIFNoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3Vy
Y2UubW06CisgICAgICAgICogU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1
Z2luTW9kdWxlTWFjLm1tOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9Q
bHVnaW5JbmZvcm1hdGlvbk1hYy5tbToKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaDoKKyAgICAg
ICAgKEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6OnNlc3Npb25JZGVudGlmaWVyIGNvbnN0
KToKKyAgICAgICAgKEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6Om1lc3NhZ2VPZkN1cnJl
bnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKToKKyAgICAgICAgKEFQSTo6QXV0b21hdGlvblNlc3Np
b25DbGllbnQ6OnNldFVzZXJJbnB1dEZvckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xp
ZW50Lm1tOgorICAgICAgICAoLVtXS0N1c3RvbVByb3RvY29sTG9hZGVyIGluaXRXaXRoTGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6Y3VzdG9tUHJvdG9jb2xJRDpyZXF1ZXN0Ol0pOgor
ICAgICAgICAoLVtXS0N1c3RvbVByb3RvY29sTG9hZGVyIGNvbm5lY3Rpb246ZGlkRmFpbFdpdGhF
cnJvcjpdKToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBjb25uZWN0aW9uOmRp
ZFJlY2VpdmVSZXNwb25zZTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Q
cm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZVBsdWdpblByb2Nlc3ND
YWxsYmFja0lEKToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpmZXRjaFdl
YnNpdGVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVX
ZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRl
V2Vic2l0ZURhdGFGb3JIb3N0TmFtZXMpOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZUNhbGxi
YWNrSUQpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9z
L1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW06CisgICAgICAgICgtW1dL
U2Nyb2xsaW5nTm9kZVNjcm9sbFZpZXdEZWxlZ2F0ZSBzY3JvbGxWaWV3V2lsbEVuZERyYWdnaW5n
OndpdGhWZWxvY2l0eTp0YXJnZXRDb250ZW50T2Zmc2V0Ol0pOgorICAgICAgICAqIFVJUHJvY2Vz
cy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpnZW5l
cmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VQ
cm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdl
UHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlN0b3Jh
Z2VQcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyk6CisgICAgICAgIChX
ZWJLaXQ6OmdlbmVyYXRlQ2FsbGJhY2tJRCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BE
Ri9QREZQbHVnaW4ubW06CisgICAgICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVj
dCBhY2Nlc3NpYmlsaXR5UGVyZm9ybUFjdGlvbjpdKToKKyAgICAgICAgKC1bV0tQREZQbHVnaW5B
Y2Nlc3NpYmlsaXR5T2JqZWN0IGFjY2Vzc2liaWxpdHlGb2N1c2VkVUlFbGVtZW50XSk6CisgICAg
ICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5QXNzb2Np
YXRlZENvbnRyb2xGb3JBbm5vdGF0aW9uOl0pOgorICAgICAgICAoLVtXS1BERlBsdWdpbkFjY2Vz
c2liaWxpdHlPYmplY3QgYWNjZXNzaWJpbGl0eUhpdFRlc3Q6XSk6CisgICAgICAgICgtW1dLUERG
TGF5ZXJDb250cm9sbGVyRGVsZWdhdGUgdXBkYXRlU2Nyb2xsUG9zaXRpb246XSk6CisgICAgICAg
IChXZWJLaXQ6OlBERlBsdWdpbjo6dXBkYXRlQ3Vyc29yKToKKyAgICAgICAgKFdlYktpdDo6Y29y
ZUN1cnNvcik6CisgICAgICAgIChhcHBlbmRWYWx1ZXNJblBERk5hbWVTdWJ0cmVlVG9WZWN0b3Ip
OiBEZWxldGVkLgorICAgICAgICAoZ2V0QWxsVmFsdWVzSW5QREZOYW1lVHJlZSk6IERlbGV0ZWQu
CisgICAgICAgIChnZXRBbGxTY3JpcHRzSW5QREZEb2N1bWVudCk6IERlbGV0ZWQuCisKIDIwMTgt
MDgtMjcgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAg
ICAgICBGaXggaW50ZXJuYWwgYnVpbGRzIGFmdGVyIHIyMzUzNjgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvU2NyaXB0cy9nZW5lcmF0ZS11bmlmaWVkLXNvdXJjZS1idW5kbGVzLnJiIGIvU291cmNl
L1dURi9TY3JpcHRzL2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKaW5kZXggYzAx
OTY2ZWUxYjJjNjdkOTc2MGYwM2E1YmJjYWEzY2I1NzI2MTJiMy4uYWJkOTc2NzdhMjBhZGI0ZDQ2
MmViOThmNzc4ZDk4MDI5YmRkNDk5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL2dl
bmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKKysrIGIvU291cmNlL1dURi9TY3JpcHRz
L2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKQEAgLTIxMCwxMCArMjEwLDE3IEBA
IGNsYXNzIEJ1bmRsZU1hbmFnZXIKICAgICBlbmQKIGVuZAogCitkZWYgVG9wTGV2ZWxEaXJlY3Rv
cnlGb3JQYXRoKHBhdGgpCisgICAgaWYgIXBhdGgKKyAgICAgICAgcmV0dXJuIG5pbAorICAgIGVu
ZAorICAgIHJldHVybiBwYXRoLmVhY2hfZmlsZW5hbWUubmV4dAorZW5kCisKIGRlZiBQcm9jZXNz
RmlsZUZvclVuaWZpZWRTb3VyY2VHZW5lcmF0aW9uKHNvdXJjZUZpbGUpCiAgICAgcGF0aCA9IHNv
dXJjZUZpbGUucGF0aAotICAgIGlmICgkY3VycmVudERpcmVjdG9yeSAhPSBwYXRoLmRpcm5hbWUp
Ci0gICAgICAgIGxvZygiRmx1c2hpbmcgYmVjYXVzZSBuZXcgZGlybmFtZTsgb2xkOiAjeyRjdXJy
ZW50RGlyZWN0b3J5fSwgbmV3OiAje3BhdGguZGlybmFtZX0iKQorICAgIGlmIChUb3BMZXZlbERp
cmVjdG9yeUZvclBhdGgoJGN1cnJlbnREaXJlY3RvcnkpICE9IFRvcExldmVsRGlyZWN0b3J5Rm9y
UGF0aChwYXRoLmRpcm5hbWUpKQorICAgICAgICBsb2coIkZsdXNoaW5nIGJlY2F1c2UgbmV3IHRv
cCBsZXZlbCBkaXJlY3Rvcnk7IG9sZDogI3skY3VycmVudERpcmVjdG9yeX0sIG5ldzogI3twYXRo
LmRpcm5hbWV9IikKICAgICAgICAgJGJ1bmRsZU1hbmFnZXJzLmVhY2hfdmFsdWUgeyB8eHwgeC5m
bHVzaCB9CiAgICAgICAgICRjdXJyZW50RGlyZWN0b3J5ID0gcGF0aC5kaXJuYW1lCiAgICAgZW5k
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYv
UGxhdGZvcm0uaAppbmRleCAwYzZlZmI4NjI5ODI1MzlkMmI0YjJjYzRmOGY4YjVmY2I0ZWM4OGU4
Li42N2NmYTkzMzEzYzkwNDIxZWI2Y2YxNzlkOThlZjcwM2RhMGU0OWRiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgK
QEAgLTEzMTQsNiArMTMxNCw3IEBACiAjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX1RP
VUNIX0JBUiAxCiAjZGVmaW5lIEhBVkVfQURWQU5DRURfU1BFTExfQ0hFQ0tJTkcgMQorI2RlZmlu
ZSBVU0VfRElDVEFUSU9OX0FMVEVSTkFUSVZFUyAxCiAKICNpZiBkZWZpbmVkKF9fTFA2NF9fKQog
I2RlZmluZSBFTkFCTEVfV0VCX1BMQVlCQUNLX0NPTlRST0xTX01BTkFHRVIgMQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyQ2FjaGVTdG9yYWdl
Q29ubmVjdGlvbi5jcHAKaW5kZXggYWQyMDkzMjE5Zjg4ZTZkYTNlMWQ2MDYyNGU0MWFlOWE0MWRm
NDkyNy4uMWViZGQ1ZGU0OGE3ZTdlMWM5NmEwMWM3OGZlZDdkYTViYzRmYjg4OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckNhY2hlU3Rv
cmFnZUNvbm5lY3Rpb24uY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJDYWNoZVF1
ZXJ5T3B0aW9ucy5oIgogI2luY2x1ZGUgIkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgiCisjaW5jbHVk
ZSAiQ2xpZW50T3JpZ2luLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJQYWdl
LmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKQEAgLTM2LDcgKzM3LDYgQEAKICNp
bmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCiAjaW5jbHVkZSAiV29ya2VyVGhyZWFkLmgiCiAKLQog
bmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU6OkRPTUNhY2hlRW5n
aW5lOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVEND
b250cm9sbGVyLmNwcAppbmRleCA5NjEzMmU2OTczN2FlOThhNjBmOTU0ZjFmMzExODM4NDEwNzFl
MGE5Li5jZGI3NzdlOTk5MjkyMjFjZjBhOGYwMTE0MmIyZDA3ZWRlOWVmZWQ0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29udHJvbGxlci5jcHAK
QEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShXRUJfUlRDKQogCisjaW5jbHVkZSAiRG9j
dW1lbnQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENQcm92aWRlci5oIgogI2luY2x1ZGUgIlJUQ1Bl
ZXJDb25uZWN0aW9uLmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5
bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuY3BwCmlu
ZGV4IGMyMDUzMzVlYWE4ZTkxOGE2ZDM4YWU0ZjJmZmM4MWFlZDQ1YTlhMGYuLjk0YjcxYzQ2NjE5
MjQxMzVjMjFhZWE2OWQ0ODk5ZDdiMDc1YTYyYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdFVw
ZGF0ZUV2ZW50LmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKFBBWU1FTlRfUkVR
VUVTVCkKIAorI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJQYXltZW50UmVxdWVz
dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZy
L1ZSRGlzcGxheS5jcHAKaW5kZXggYWRiNzUxZDBjMzljMGE1NmI1ZTRkYzFmNTQyMTBiZGFhNGVk
ZmY3OC4uYTkzM2Q5ODBmY2Y1YTk5MTc0YWIwZTBjNDAwMjA5MTZjYmYxYjM2NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNwcApAQCAtMjksNiArMjksNyBAQAog
I2luY2x1ZGUgIkNhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCIKICNpbmNsdWRlICJDaHJvbWUuaCIK
ICNpbmNsdWRlICJET01FeGNlcHRpb24uaCIKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNs
dWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlNjcmlwdGVk
QW5pbWF0aW9uQ29udHJvbGxlci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNl
c0NvY29hLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKaW5kZXggNjZmN2Yx
NmJkNjRmODJjNDMyYmVhZWQ4ZTcwZDFiNWZmMDYzYTUxNy4uOTU3ZTRiNWI2NjFiNDAyMGYwYTIx
ZWUwMDk1YzAxNzY0NmU0OTNhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlc0Nv
Y29hLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CkBAIC0zODksNyAr
Mzg5LDcgQEAgcGxhdGZvcm0vaW9zL1BsYXRmb3JtU2NyZWVuSU9TLm1tCiBwbGF0Zm9ybS9pb3Mv
UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9Q
bGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9R
dWlja0xvb2subW0KLXBsYXRmb3JtL2lvcy9RdWlja0xvb2tTb2Z0TGluay5tbQorcGxhdGZvcm0v
aW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1JlbW90ZUNv
bW1hbmRMaXN0ZW5lcklPUy5tbQogcGxhdGZvcm0vaW9zL1Njcm9sbEFuaW1hdG9ySU9TLm1tCiBw
bGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MubW0KQEAgLTM5OSw3ICszOTksNyBAQCBwbGF0
Zm9ybS9pb3MvU1NMS2V5R2VuZXJhdG9ySU9TLmNwcAogcGxhdGZvcm0vaW9zL1N5c3RlbU1lbW9y
eUlPUy5jcHAKIHBsYXRmb3JtL2lvcy9UaGVtZUlPUy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lv
cy9UaWxlQ29udHJvbGxlck1lbW9yeUhhbmRsZXJJT1MuY3BwCi1wbGF0Zm9ybS9pb3MvVXNlckFn
ZW50SU9TLm1tCitwbGF0Zm9ybS9pb3MvVXNlckFnZW50SU9TLm1tIEBuby11bmlmeQogcGxhdGZv
cm0vaW9zL1ZhbGlkYXRpb25CdWJibGVJT1MubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvVmlk
ZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvV2Vi
QVZQbGF5ZXJDb250cm9sbGVyLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNzI1NWQyNjVjNzcyMTVlYzA5YmEzOGQ5NjdjYTRj
ZDdlOGFhMTY1OC4uZTA1YzhhMGJlN2ZjYzgzNDVlMTVkNjg2ZDc3NzQ4Y2Q4NmJiNjE0YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtODA2LDYgKzgwNiw4IEBACiAJCTJEOEI5MkZGMjAzRDEzRTEwMDlDODY4RiAvKiBVbmlmaWVk
U291cmNlNTMwLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IERFNUY4NUQzMUZBMjM4NTkwMDZEQjYzQiAvKiBVbmlmaWVkU291cmNlNTMwLmNwcCAqLzsg
fTsKIAkJMkQ4RkVCREQxNDNFM0VGNzAwNzI1MDJCIC8qIENTU0Nyb3NzZmFkZVZhbHVlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDhGRUJEQjE0M0Uz
RUY3MDA3MjUwMkIgLyogQ1NTQ3Jvc3NmYWRlVmFsdWUuaCAqLzsgfTsKIAkJMkQ5MDY2MDcwQkUx
NDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyRDkwNjYwNTBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3Rh
dGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQky
RDkyQTc5QTIxMzRBRDc5MDBGNDkzRkQgLyogUXVpY2tMb29rU29mdExpbmsubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDM5MTdGRDFBOTFCMkY4MDA2
RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsubW0gKi87IH07CisJCTJEOTJBNzlEMjEzNEFGOTUw
MEY0OTNGRCAvKiBVc2VyQWdlbnRJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBM0FGOUQ4MzIwMzI1NjkxMDA2Q0FEMDYgLyogVXNlckFnZW50SU9T
Lm1tICovOyB9OwogCQkyRDkzQUVFMzE5REY1NjQxMDAyQTg2QzMgLyogU2VydmljZXNPdmVybGF5
Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMkQ5M0FFRTExOURGNTY0MTAwMkE4NkMzIC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIu
aCAqLzsgfTsKIAkJMkQ5N0YwNDcxOURENDEzQzAwMUVFOUMzIC8qIE1vY2tQYWdlT3ZlcmxheUNs
aWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
REFBRTMyQzE5RENBRjYwMDBFMDAyRDIgLyogTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmNwcCAqLzsg
fTsKIAkJMkQ5N0YwNDgxOURENDE0MDAwMUVFOUMzIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRBQUUzMkQx
OURDQUY2MDAwRTAwMkQyIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5oICovOyB9OwpAQCAtNzA3
Myw3ICs3MDc1LDcgQEAKIAkJMzM5QjVCNjIxMzFEQUEzMjAwRjQ4RDAyIC8qIENvb2tpZXNTdHJh
dGVneS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb29raWVzU3RyYXRlZ3ku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzY2MkY5ODQwNDdDRURCRTVERERBRkFB
IC8qIFJlbmRlck1hdGhNTE1lbmNsb3NlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFJlbmRlck1hdGhNTE1lbmNsb3NlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMzcxMTlBNzkyMENDQjYxMDAwMkM2REM5IC8qIFdlYktpdFRhcmdldENvbmRpdGlv
bmFscy54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBXZWJLaXRUYXJnZXRDb25kaXRpb25hbHMueGNj
b25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTM3MTdEN0U1MTdFQ0MzQTYwMDND
Mjc2RCAvKiBleHRyYWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5wZXJsOyBuYW1lID0g
ZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBsOyBwYXRoID0gIlNjcmlwdHMvZXh0cmFjdC1s
b2NhbGl6YWJsZS1zdHJpbmdzLnBsIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzcx
N0Q3RTUxN0VDQzNBNjAwM0MyNzZEIC8qIGV4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2Ny
aXB0LnBlcmw7IG5hbWUgPSAiZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBsIjsgcGF0aCA9
ICJTY3JpcHRzL2V4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCI7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTM3MUE2N0NBMTFDNkM3REIwMDA0N0I4QiAvKiBIeXBoZW5hdGlvbkNG
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEh5cGhlbmF0aW9uQ0Yu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzFFNjVDQjEzNjYxRURDMDBCRUVE
QjAgLyogUGFnZVNlcmlhbGl6ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UGFnZVNlcmlhbGl6ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzcxRTY1Q0Qx
MzY2MUVFRDAwQkVFREIwIC8qIFBhZ2VTZXJpYWxpemVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFBhZ2VTZXJpYWxpemVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTEzMzU4LDggKzEzMzYwLDggQEAKIAkJQ0RFNTk1OUMxQkYyNzU3MTAwQTFD
QkU4IC8qIENETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakMubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU2NTYwRTE3Q0E2RTc2MDA1MjZCQTcgLyog
bWVkaWFDb250cm9sc0FwcGxlLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gbWVkaWFDb250cm9s
c0FwcGxlLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU2NjdBMTFFNEJCQTRE
MDBFODE1NEEgLyogUGxhdGZvcm1BdWRpb0RhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUGxhdGZvcm1BdWRpb0RhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJQ0RFNjY3QTIxRTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBjb2NvYS9XZWJBdWRpb0J1ZmZlckxp
c3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlDREU2NjdBMzFFNEJCRjE1MDBF
ODE1NEEgLyogV2ViQXVkaW9CdWZmZXJMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IGNvY29hL1dlYkF1ZGlvQnVmZmVyTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlDREU2NjdBMjFFNEJCRjE1MDBFODE1NEEgLyogV2ViQXVkaW9CdWZmZXJMaXN0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYkF1ZGlvQnVmZmVyTGlz
dC5jcHA7IHBhdGggPSBjb2NvYS9XZWJBdWRpb0J1ZmZlckxpc3QuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDREU2NjdBMzFFNEJCRjE1MDBFODE1NEEgLyogV2ViQXVkaW9CdWZm
ZXJMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYkF1ZGlvQnVmZmVy
TGlzdC5oOyBwYXRoID0gY29jb2EvV2ViQXVkaW9CdWZmZXJMaXN0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUNERTdGQzQyMTgxOTA0QjEwMDJCQkI3NyAvKiBPcmRlckl0ZXJhdG9y
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE9yZGVySXRlcmF0b3Iu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU3RkM0MzE4MTkwNEIxMDAyQkJC
NzcgLyogT3JkZXJJdGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBP
cmRlckl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERTgzREFGMTgz
QzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTI0MCw4ICsxNTI0Miw4IEBACiAJCQkJNDExMDNBQTcx
RTM5NzkwQTAwNzY5RjE0IC8qIFJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZUNvY29hLmNwcCAq
LywKIAkJCQk0MTEwM0FBODFFMzk3OTBBMDA3NjlGMTQgLyogUmVhbHRpbWVPdXRnb2luZ0F1ZGlv
U291cmNlQ29jb2EuaCAqLywKIAkJCQk1Q0REODMzQjFFNDMyNEJCMDA2MjFCODMgLyogUmVhbHRp
bWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EuY3BwICovLAotCQkJCTQxOTI0MjQ3MjEyN0I3Q0Mw
MDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5tbSAqLywKIAkJCQk1
Q0REODMzQzFFNDMyNEJCMDA2MjFCODMgLyogUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29j
b2EuaCAqLywKKwkJCQk0MTkyNDI0NzIxMjdCN0NDMDA2MzRGQ0YgLyogUmVhbHRpbWVPdXRnb2lu
Z1ZpZGVvU291cmNlQ29jb2EubW0gKi8sCiAJCQkJMDcwQTlGNUUxRkZFQ0M3MDAwM0RGNjQ5IC8q
IFNjcmVlbkRpc3BsYXlDYXB0dXJlU291cmNlTWFjLmggKi8sCiAJCQkJMDcwQTlGNjAxRkZFQ0M3
MTAwM0RGNjQ5IC8qIFNjcmVlbkRpc3BsYXlDYXB0dXJlU291cmNlTWFjLm1tICovLAogCQkJCTA3
RDYzNzNFMUJCMEIxMTMwMDI1NkNFOSAvKiBXZWJBdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5o
ICovLApAQCAtMzE0NDYsNiArMzE0NDgsOCBAQAogCQkJCUFBMTJERjQ5MTc0M0RGODMwMDREQUZE
RiAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVySU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
Q0RBMjlBMzAxQ0JGNzRENDAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RBMjlBMTYxQ0JEQTU2QzAwOTAxQ0NGIC8qIFBsYXli
YWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJBNzlBMjEz
NEFENzkwMEY0OTNGRCAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAorCQkJ
CTQxOTI0MjQ5MjEyN0I5M0UwMDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VD
b2NvYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTMxNkRDQjhBMUU3QTY5OTYwMDFCNUY4NyAvKiBS
VENJY2VUcmFuc3BvcnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1MTE1NkUxMkIxNzQ5QzAw
Qzk2NzU0IC8qIFNjcm9sbEFuaW1hdG9yTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFRjg2
OUYwRTg0NEU5RDAwQTg1Q0Q1IC8qIFNjcm9sbGJhclRoZW1lTWFjLm1tIGluIFNvdXJjZXMgKi8s
CkBAIC0zMTU2Niw3ICszMTU3MCw2IEBACiAJCQkJNTM4RUM4QTExRjk5M0Y5RDAwNEQyMkE4IC8q
IFVuaWZpZWRTb3VyY2U0OC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlERTVGODU5OTFGQTFBQkY0
MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTQ5LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4
RUM4QTIxRjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U0OS5jcHAgaW4gU291cmNlcyAq
LywKLQkJCQk0MTkyNDI0OTIxMjdCOTNFMDA2MzRGQ0YgLyogUmVhbHRpbWVPdXRnb2luZ1ZpZGVv
U291cmNlQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQlERTVGODU5QTFGQTFBQkY0MDA2REI2
M0EgLyogVW5pZmllZFNvdXJjZTUwLW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4QTMx
Rjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U1MC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlERTVGODY1MDFGQTJBRjI0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTUxLW1tLm1tIGluIFNv
dXJjZXMgKi8sCkBAIC0zMjA2MCw2ICszMjA2Myw3IEBACiAJCQkJMkQ4QjkyRkQyMDNEMTNFMTAw
OUM4NjhGIC8qIFVuaWZpZWRTb3VyY2U1MjguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ4Qjky
RkUyMDNEMTNFMTAwOUM4NjhGIC8qIFVuaWZpZWRTb3VyY2U1MjkuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMkQ4QjkyRkYyMDNEMTNFMTAwOUM4NjhGIC8qIFVuaWZpZWRTb3VyY2U1MzAuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJMkQ5MkE3OUQyMTM0QUY5NTAwRjQ5M0ZEIC8qIFVzZXJBZ2VudElP
Uy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUzMjA0MjAyMUY5QTlGMTAwMEI4MUIyQSAvKiBVc2Vy
QWdlbnRTY3JpcHRzRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzNCNzk3MTE5MDg3NTdC
MDBCNDdBMkQgLyogVXNlck1lc3NhZ2VIYW5kbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdD
RTY4MzQ0MTkyMTQzQTgwMEY0RDkyOCAvKiBVc2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9yLmNw
cCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29y
aXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNEU0EuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2Fs
Z29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNEU0EuY3BwCmluZGV4IDk3MzE3ZTA0YTk3OTdmMTU2
MTZkZTRjNzYwOGI3NDVkOWZkZWRlZjcuLjFiNTNjNDUzYjM1MjUzNmI0ODEyZWRkMmFhNjRkOTFl
OTVkZjg1NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0Ny
eXB0b0FsZ29yaXRobUVDRFNBLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3Jp
dGhtcy9DcnlwdG9BbGdvcml0aG1FQ0RTQS5jcHAKQEAgLTM2LDEyICszNiwxNCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKK25hbWVzcGFjZSBDcnlwdG9BbGdvcml0aG1FQ0RTQUludGVybmFs
IHsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBBTEcyNTYgPSAiRVMyNTYiOwogc3RhdGljIGNv
bnN0IGNoYXIqIGNvbnN0IEFMRzM4NCA9ICJFUzM4NCI7CiBzdGF0aWMgY29uc3QgY2hhciogY29u
c3QgQUxHNTEyID0gIkVTNTEyIjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBQMjU2ID0gIlAt
MjU2IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBQMzg0ID0gIlAtMzg0IjsKIHN0YXRpYyBj
b25zdCBjaGFyKiBjb25zdCBQNTIxID0gIlAtNTIxIjsKK30KIAogUmVmPENyeXB0b0FsZ29yaXRo
bT4gQ3J5cHRvQWxnb3JpdGhtRUNEU0E6OmNyZWF0ZSgpCiB7CkBAIC0xMDIsNiArMTA0LDcgQEAg
dm9pZCBDcnlwdG9BbGdvcml0aG1FQ0RTQTo6Z2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3Jp
dGhtUGFyYW1ldGVycyYgcGFyYW1ldGUKIAogdm9pZCBDcnlwdG9BbGdvcml0aG1FQ0RTQTo6aW1w
b3J0S2V5KENyeXB0b0tleUZvcm1hdCBmb3JtYXQsIEtleURhdGEmJiBkYXRhLCBjb25zdCBDcnlw
dG9BbGdvcml0aG1QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlw
dG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMsIEtleUNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlv
bkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2spCiB7CisgICAgdXNpbmcgbmFtZXNwYWNlIENy
eXB0b0FsZ29yaXRobUVDRFNBSW50ZXJuYWw7CiAgICAgY29uc3QgYXV0byYgZWNQYXJhbWV0ZXJz
ID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtRWNLZXlQYXJhbXM+KHBhcmFtZXRlcnMpOwogCiAg
ICAgUmVmUHRyPENyeXB0b0tleUVDPiByZXN1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDBh
MWQ5MDM0MTdkNGNhOWRjMGUzMGJiZmZhYzQxZDE4OGYzMWJkYmMuLmIxODBiYzQzMzlhNTk2ZWFi
MTNiMGQ0ZTliMjYxNmI0ZTc5NTkyNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC02NDEsNyAr
NjQxLDcgQEAgcHVibGljOgogICAgIAogICAgIFdFQkNPUkVfRVhQT1JUIERvY3VtZW50TG9hZGVy
KiBsb2FkZXIoKSBjb25zdDsKIAotICAgIFdFQkNPUkVfRVhQT1JUIEV4Y2VwdGlvbk9yPFJlZlB0
cjxXaW5kb3dQcm94eT4+IG9wZW5Gb3JCaW5kaW5ncyhET01XaW5kb3cmIGFjdGl2ZVdpbmRvdywg
RE9NV2luZG93JiBmaXJzdFdpbmRvdywgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IEF0b21pY1N0
cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBmZWF0dXJlcyk7CisgICAgV0VCQ09SRV9FWFBPUlQg
RXhjZXB0aW9uT3I8UmVmUHRyPFdpbmRvd1Byb3h5Pj4gb3BlbkZvckJpbmRpbmdzKERPTVdpbmRv
dyYgYWN0aXZlV2luZG93LCBET01XaW5kb3cmIGZpcnN0RE9NV2luZG93LCBjb25zdCBTdHJpbmcm
IHVybCwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGZlYXR1cmVzKTsK
ICAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRpb25PcjxEb2N1bWVudCY+IG9wZW5Gb3JCaW5kaW5n
cyhEb2N1bWVudCogcmVzcG9uc2libGVEb2N1bWVudCwgY29uc3QgU3RyaW5nJiB0eXBlLCBjb25z
dCBTdHJpbmcmIHJlcGxhY2UpOwogCiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCByZW5hbWUgdGhp
cyBhdCBzb21lIHBvaW50IGFuZCBnaXZlIGJhY2sgdGhlIG5hbWUgJ29wZW4nIHRvIHRoZSBIVE1M
IHNwZWNpZmllZCBvbmVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFRyZWVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVl
QnVpbGRlci5jcHAKaW5kZXggZTQwZjlhODg2ZjE1OTA0ZTYyZjBmMjY4OGE4NjlhNjk4ODliNGE4
OS4uYzczMTkyMmFmODI5ODNiOWRhYTZiYzdmZTUyMjc4NjM3MzE2ODNmZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCkBAIC0zMiw2ICszMiw3
IEBACiAjaW5jbHVkZSAiSFRNTERvY3VtZW50UGFyc2VyLmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1D
b250cm9sRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxGb3JtRWxlbWVudC5oIgorI2luY2x1ZGUg
IkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MT3B0R3JvdXBFbGVtZW50LmgiCiAj
aW5jbHVkZSAiSFRNTE9wdGlvbkVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21z
LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRp
b25DYWNoZVJlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUv
QXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmgKaW5kZXggNzJiMjk3NTVmMTFkOTQwOTVm
YTdlZGQ1MzA5NjhmN2M1N2I1N2JlYi4uNmQ5YTJkYTliZTAzMjAwN2E4MmVkYTY4YzE2ZmQyZjI4
YjFjMTI4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxp
Y2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9h
cHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaApAQCAtMjUsNiArMjUsNyBA
QAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZS5o
IgogI2luY2x1ZGUgIkNhY2hlZFJhd1Jlc291cmNlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmF3UmVz
b3VyY2VDbGllbnQuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9BbHRlcm5hdGl2ZVRleHRDbGllbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmgKaW5kZXggOTM1NTkzNzg4Zjk4
OTljOWUyMjUxMDg4YjRlNzZkMDA1ZDNkMmY5OC4uMTQzZGE2YzQ3ZjRiY2VmYzBhNDFhYTg3NjQ2
N2QwNDQ3MTViYTcwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9BbHRlcm5hdGl2
ZVRleHRDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0FsdGVybmF0aXZlVGV4dENs
aWVudC5oCkBAIC0yOSwxMSArMjksNiBAQAogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotI2lmIFBMQVRGT1JNKE1BQykKLS8vIFNvbWUg
cGxhdGZvcm1zIHByb3ZpZGUgVUkgZm9yIHN1Z2dlc3RpbmcgYWx0ZXJuYXRpdmUgZGljdGF0aW9u
IHRleHQuCi0jZGVmaW5lIFVTRV9ESUNUQVRJT05fQUxURVJOQVRJVkVTIDEKLSNlbmRpZgotCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGVudW0gUmVhc29uRm9yRGlzbWlzc2luZ0FsdGVybmF0aXZl
VGV4dCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKaW5kZXggZDU0MzNkZDkyMGFl
MGVlNTkyYmQ0NWZkNTYwY2RkM2UzOGEzNDcyMS4uZTA5ODE1NjUxYmQyZDYwNTc0ZGE0MjM2YzM4
MGZhZDRkNjAyMTVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVi
b2FyZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaApAQCAtMzM4
LDYgKzMzOCw3IEBAIGV4dGVybiBOU1N0cmluZyAqVUlDb2xvclBib2FyZFR5cGU7CiAjaWYgUExB
VEZPUk0oTUFDKQogZXh0ZXJuIGNvbnN0IGNoYXIqIGNvbnN0IFdlYkFyY2hpdmVQYm9hcmRUeXBl
OwogZXh0ZXJuIGNvbnN0IGNoYXIqIGNvbnN0IFdlYlVSTE5hbWVQYm9hcmRUeXBlOworZXh0ZXJu
IGNvbnN0IGNoYXIqIGNvbnN0IFdlYlVSTHNXaXRoVGl0bGVzUGJvYXJkVHlwZTsKICNlbmRpZgog
CiAjaWYgIVBMQVRGT1JNKEdUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwCmluZGV4IDk2OGJiMjI4NmEx
ZjdlNTg0NjRlZjg4ZDc5ZTYxZWY0MjQ5MDE1NWYuLjNlMmM4MmI4YjEyZWRhMDlkYjQzZjRjMTMw
MTRjNWJiYWMwYjcwMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcApAQCAtMzAsNiArMzAsNyBAQAog
CiAjaW5jbHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiRGlz
cGxheVJlZnJlc2hNb25pdG9yTWFuYWdlci5oIgorI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIAogI2lm
IFBMQVRGT1JNKElPUykKICNpbmNsdWRlICJEaXNwbGF5UmVmcmVzaE1vbml0b3JJT1MuaCIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlTcGVj
aWZpY2F0aW9uTnVsbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuY3BwCmluZGV4IDIxNzY5MWY3MjM5NzRlODAwNTc5YjI4
Y2MwNTZhN2I5YzA4NWM2NGQuLjE1YzAzODc2OTgyNjBmNDA1ZTIyZTViZjUyNzgwMDMwOGM3ZmUz
YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1p
bHlTcGVjaWZpY2F0aW9uTnVsbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udEZhbWlseVNwZWNpZmljYXRpb25OdWxsLmNwcApAQCAtMjcsNiArMjcsNyBAQAog
I2luY2x1ZGUgIkZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5oIgogCiAjaW5jbHVkZSAiRm9u
dFNlbGVjdG9yLmgiCisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSGFzaC5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL1dlYkdMTGF5ZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJHTExheWVyLm1tCmluZGV4IDNlZDdlNDFlN2M2ODg0NmYzZmJjMTcy
Y2U2YmE5ODlmZjg3ZjU3ZWIuLjhlZTM0OGQ4OTk4NjM0MTNkNmI2NzEzNzZlNWIxZGE1NGNiMTM3
NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dl
YkdMTGF5ZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
V2ViR0xMYXllci5tbQpAQCAtNDIsMTMgKzQyLDExIEBACiAjaW1wb3J0IDxPcGVuR0wvZ2wuaD4K
ICNlbmRpZgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogQGltcGxlbWVudGF0aW9uIFdl
YkdMTGF5ZXIKIAogQHN5bnRoZXNpemUgY29udGV4dD1fY29udGV4dDsKIAotLShpZClpbml0V2l0
aEdyYXBoaWNzQ29udGV4dDNEOihHcmFwaGljc0NvbnRleHQzRCopY29udGV4dAorLShpZClpbml0
V2l0aEdyYXBoaWNzQ29udGV4dDNEOihXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRCopY29udGV4
dAogewogICAgIF9jb250ZXh0ID0gY29udGV4dDsKICAgICBzZWxmID0gW3N1cGVyIGluaXRdOwpA
QCAtODYsNyArODQsNyBAQCBzdGF0aWMgdm9pZCBmcmVlRGF0YSh2b2lkICosIGNvbnN0IHZvaWQg
KmRhdGEsIHNpemVfdCAvKiBzaXplICovKQogfQogI2VuZGlmCiAKLS0oQ0dJbWFnZVJlZiljb3B5
SW1hZ2VTbmFwc2hvdFdpdGhDb2xvclNwYWNlOihDR0NvbG9yU3BhY2VSZWYpY29sb3JTcGFjZQor
LSAoQ0dJbWFnZVJlZiljb3B5SW1hZ2VTbmFwc2hvdFdpdGhDb2xvclNwYWNlOihDR0NvbG9yU3Bh
Y2VSZWYpY29sb3JTcGFjZQogewogICAgIGlmICghX2NvbnRleHQpCiAgICAgICAgIHJldHVybiBu
dWxscHRyOwpAQCAtOTYsNyArOTQsNyBAQCAtKENHSW1hZ2VSZWYpY29weUltYWdlU25hcHNob3RX
aXRoQ29sb3JTcGFjZTooQ0dDb2xvclNwYWNlUmVmKWNvbG9yU3BhY2UKIAogICAgIFJldGFpblB0
cjxDR0NvbG9yU3BhY2VSZWY+IGltYWdlQ29sb3JTcGFjZSA9IGNvbG9yU3BhY2U7CiAgICAgaWYg
KCFpbWFnZUNvbG9yU3BhY2UpCi0gICAgICAgIGltYWdlQ29sb3JTcGFjZSA9IHNSR0JDb2xvclNw
YWNlUmVmKCk7CisgICAgICAgIGltYWdlQ29sb3JTcGFjZSA9IFdlYkNvcmU6OnNSR0JDb2xvclNw
YWNlUmVmKCk7CiAKICAgICBDR1JlY3QgbGF5ZXJCb3VuZHMgPSBDR1JlY3RJbnRlZ3JhbChbc2Vs
ZiBib3VuZHNdKTsKIApAQCAtMTQxLDE5ICsxMzksMTkgQEAgLSAodm9pZClkaXNwbGF5CiAjZW5k
aWYKIAogICAgIF9jb250ZXh0LT5tYXJrTGF5ZXJDb21wb3NpdGVkKCk7Ci0gICAgUGxhdGZvcm1D
QUxheWVyKiBsYXllciA9IFBsYXRmb3JtQ0FMYXllcjo6cGxhdGZvcm1DQUxheWVyKChfX2JyaWRn
ZSB2b2lkKilzZWxmKTsKKyAgICBXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXIqIGxheWVyID0gV2Vi
Q29yZTo6UGxhdGZvcm1DQUxheWVyOjpwbGF0Zm9ybUNBTGF5ZXIoKF9fYnJpZGdlIHZvaWQqKXNl
bGYpOwogICAgIGlmIChsYXllciAmJiBsYXllci0+b3duZXIoKSkKICAgICAgICAgbGF5ZXItPm93
bmVyKCktPnBsYXRmb3JtQ0FMYXllckxheWVyRGlkRGlzcGxheShsYXllcik7CiB9CiAKICNpZiBV
U0UoT1BFTkdMKQotLSAodm9pZClhbGxvY2F0ZUlPU3VyZmFjZUJhY2tpbmdTdG9yZVdpdGhTaXpl
OihJbnRTaXplKXNpemUgdXNpbmdBbHBoYTooQk9PTCl1c2luZ0FscGhhCistICh2b2lkKWFsbG9j
YXRlSU9TdXJmYWNlQmFja2luZ1N0b3JlV2l0aFNpemU6KFdlYkNvcmU6OkludFNpemUpc2l6ZSB1
c2luZ0FscGhhOihCT09MKXVzaW5nQWxwaGEKIHsKICAgICBfYnVmZmVyU2l6ZSA9IHNpemU7CiAg
ICAgX3VzaW5nQWxwaGEgPSB1c2luZ0FscGhhOwotICAgIF9jb250ZW50c0J1ZmZlciA9IFdlYkNv
cmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUsIHNSR0JDb2xvclNwYWNlUmVmKCkpOwotICAgIF9k
cmF3aW5nQnVmZmVyID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVhdGUoc2l6ZSwgc1JHQkNvbG9y
U3BhY2VSZWYoKSk7Ci0gICAgX3NwYXJlQnVmZmVyID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVh
dGUoc2l6ZSwgc1JHQkNvbG9yU3BhY2VSZWYoKSk7CisgICAgX2NvbnRlbnRzQnVmZmVyID0gV2Vi
Q29yZTo6SU9TdXJmYWNlOjpjcmVhdGUoc2l6ZSwgV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYo
KSk7CisgICAgX2RyYXdpbmdCdWZmZXIgPSBXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShzaXpl
LCBXZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigpKTsKKyAgICBfc3BhcmVCdWZmZXIgPSBXZWJD
b3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShzaXplLCBXZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigp
KTsKIAogICAgIEFTU0VSVChfY29udGVudHNCdWZmZXIpOwogICAgIEFTU0VSVChfZHJhd2luZ0J1
ZmZlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9XZWJHUFVMYXllci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L1dlYkdQVUxheWVyLm1tCmluZGV4IDVjMzU1N2Y4YmQ2NmE2OGM5MjNiMjNhYTY0N2JiNzE0ODQw
OWU5YTEuLjI1ZWZiOGI3NDc2ODAyNDU1OGRiY2RmMzBmNzQzMTg3MTQ2OTU1YTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVy
Lm1tCkBAIC0zNCwxMyArMzQsMTEgQEAKICNpbXBvcnQgPHd0Zi9GYXN0TWFsbG9jLmg+CiAjaW1w
b3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBAaW1w
bGVtZW50YXRpb24gV2ViR1BVTGF5ZXIKIAogQHN5bnRoZXNpemUgY29udGV4dD1fY29udGV4dDsK
IAotLSAoaWQpaW5pdFdpdGhHUFVEZXZpY2U6KEdQVURldmljZSopY29udGV4dAorLSAoaWQpaW5p
dFdpdGhHUFVEZXZpY2U6KFdlYkNvcmU6OkdQVURldmljZSopY29udGV4dAogewogICAgIHNlbGYg
PSBbc3VwZXIgaW5pdF07CiAgICAgX2NvbnRleHQgPSBjb250ZXh0OwpAQCAtNTAsNyArNDgsNyBA
QCAtIChpZClpbml0V2l0aEdQVURldmljZTooR1BVRGV2aWNlKiljb250ZXh0CiAKICNpZiBQTEFU
Rk9STShNQUMpCiAgICAgc2VsZi5jb250ZW50c1NjYWxlID0gX2RldmljZVBpeGVsUmF0aW87Ci0g
ICAgc2VsZi5jb2xvcnNwYWNlID0gc1JHQkNvbG9yU3BhY2VSZWYoKTsKKyAgICBzZWxmLmNvbG9y
c3BhY2UgPSBXZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigpOwogI2VuZGlmCiAgICAgcmV0dXJu
IHNlbGY7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
ZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tCmluZGV4IDgyMGFmOGJjMTZkYjNi
NDg2NWU3OWI3YjgyNGRiMmM3YjRkZjNlY2MuLjMwM2IyNWRhM2Q0YTY0ZWQxYjAwMzBiNzJiOWZk
YmM2Zjk2NWMzM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tCkBAIC0zMSw2ICszMSw3
IEBACiAjaW1wb3J0ICJHUFVEZXZpY2UuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQg
PE1ldGFsL01ldGFsLmg+CisjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
UGFzdGVib2FyZE1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJk
TWFjLm1tCmluZGV4IGNiNTA0Y2Y1NDNlYjdlODBkNzY2NWNkMWU1N2UzMDg5YWZmYjFhNzAuLmZk
NmU5Mjk4Nzc0ZmFmNGZlODczNWJmMjc1NjVhZGM5NTMyYmY2MzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCkBAIC01MiwxMCArNTIsMTAgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjb25zdCBjaGFyKiBjb25zdCBXZWJBcmNoaXZlUGJvYXJkVHlw
ZSA9ICJBcHBsZSBXZWIgQXJjaGl2ZSBwYXN0ZWJvYXJkIHR5cGUiOwogY29uc3QgY2hhciogY29u
c3QgV2ViVVJMTmFtZVBib2FyZFR5cGUgPSAicHVibGljLnVybC1uYW1lIjsKK2NvbnN0IGNoYXIq
IGNvbnN0IFdlYlVSTHNXaXRoVGl0bGVzUGJvYXJkVHlwZSA9ICJXZWJVUkxzV2l0aFRpdGxlc1Bi
b2FyZFR5cGUiOwogCiBjb25zdCBjaGFyIFdlYlNtYXJ0UGFzdGVQYm9hcmRUeXBlW10gPSAiTmVY
VCBzbWFydCBwYXN0ZSBwYXN0ZWJvYXJkIHR5cGUiOwogY29uc3QgY2hhciBXZWJVUkxQYm9hcmRU
eXBlW10gPSAicHVibGljLnVybCI7Ci1jb25zdCBjaGFyIFdlYlVSTHNXaXRoVGl0bGVzUGJvYXJk
VHlwZVtdID0gIldlYlVSTHNXaXRoVGl0bGVzUGJvYXJkVHlwZSI7CiAKIHN0YXRpYyBjb25zdCBW
ZWN0b3I8U3RyaW5nPiB3cml0YWJsZVR5cGVzRm9yVVJMKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJD
b2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxh
eUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwCmluZGV4IDVjMmE5ZDI0MTk4YTEzZTQ4YzRmNzNlOWRl
NjFkZDM3YWRlOTI1NTEuLmY0OTJlNjE0MmYwMjMxYjk5N2U5NmJhNTkyNzk1ODg1NjgwOTMzYWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNw
bGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29hLmNwcApAQCAtMjgsNiAr
MjgsNyBAQAogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAorI2luY2x1ZGUgIkNvcmVWaWRl
b1NvZnRMaW5rLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgPHd0Zi9BbGdvcml0
aG1zLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAppbmRl
eCAyNTQwOTY1NmMzZDYzMjAzNjE2NWZhYjFkZDc0OWU4OGZjYTY4NDgyLi5mZjU4MzYxNzRlYWI5
NTk1MjhhMjA3YmZiYWFiNjAwMzlkOWI1MDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKQEAgLTI5LDYgKzI5
LDcgQEAKICNpbmNsdWRlICJIVFRQSGVhZGVyTmFtZXMuaCIKICNpbmNsdWRlICJQdWJsaWNTdWZm
aXguaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJl
c3BvbnNlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlIDx3dGYvUG9p
bnRlckNvbXBhcmlzb24uaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jZi9Gb3JtRGF0YVN0cmVhbUNGTmV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5ldC5jcHAKaW5kZXggMjkwMjVkMzhhN2Zk
MzZmZjliOTk2MjM5MWYwODA4NzAyMWZmMTMwZS4uZTUzMjFjMjdkNGQ5NjhjNjZlNGNkNGM2Nzc5
NjNmNWE3ZDZjYWRmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jZi9Gb3JtRGF0YVN0cmVhbUNGTmV0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2NmL0Zvcm1EYXRhU3RyZWFtQ0ZOZXQuY3BwCkBAIC00MiwxMSArNDIsNyBAQAog
I2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+
CiAKLSNpZiBQTEFURk9STShJT1MpICYmICFQTEFURk9STShJT1NNQUMpCi1zdGF0aWMgY29uc3Qg
U0ludDMyIGZuZkVyciA9IC00MzsKLSNlbGlmIFBMQVRGT1JNKE1BQykKLSNpbmNsdWRlIDxDb3Jl
U2VydmljZXMvQ29yZVNlcnZpY2VzLmg+Ci0jZW5kaWYKK3N0YXRpYyBjb25zdCBTSW50MzIgZmls
ZU5vdEZvdW5kRXJyb3IgPSAtNDM7CiAKICNpZiBQTEFURk9STShDT0NPQSkKIGV4dGVybiAiQyIg
dm9pZCBDRlVSTFJlcXVlc3RTZXRIVFRQUmVxdWVzdEJvZHkoQ0ZNdXRhYmxlVVJMUmVxdWVzdFJl
ZiBtdXRhYmxlSFRUUFJlcXVlc3QsIENGRGF0YVJlZiBodHRwQm9keSk7CkBAIC0yNDEsNyArMjM3
LDcgQEAgc3RhdGljIEJvb2xlYW4gZm9ybU9wZW4oQ0ZSZWFkU3RyZWFtUmVmLCBDRlN0cmVhbUVy
cm9yKiBlcnJvciwgQm9vbGVhbiogb3BlbkNvbXAKICNpZiBQTEFURk9STShXSU4pCiAgICAgICAg
IEVOT0VOVDsKICNlbHNlCi0gICAgICAgIGZuZkVycjsKKyAgICAgICAgZmlsZU5vdEZvdW5kRXJy
b3I7CiAjZW5kaWYKICAgICByZXR1cm4gb3BlbmVkOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2Nr
Rmxvdy5jcHAKaW5kZXggM2JjODJjNmUxYWJkMmZhYzQzYjA5OWM4ZTZlM2NjZjM2NmRkODUzYi4u
MmMyYjUwOGZhYzVjNmZjODQ2Mjg1YzlmZmE4OTVhN2I0MDIyYjhlYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1
aWxkZXJCbG9ja0Zsb3cuY3BwCkBAIC0yNyw2ICsyNyw4IEBACiAjaW5jbHVkZSAiUmVuZGVyVHJl
ZUJ1aWxkZXJCbG9ja0Zsb3cuaCIKIAogI2luY2x1ZGUgIlJlbmRlck11bHRpQ29sdW1uRmxvdy5o
IgorI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyQmxvY2suaCIKKyNpbmNsdWRlICJSZW5kZXJU
cmVlQnVpbGRlck11bHRpQ29sdW1uLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVy
SW5saW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVl
QnVpbGRlcklubGluZS5jcHAKaW5kZXggN2NkMDcxNWRmNTI0YTc2ZmQyMDZhMjM0MjhkOWRhYzdk
N2Q4NTNmOC4uZGM5NTNjY2RjZWU4MzAxZGZkMDU5N2E2MWQwNTJlM2M1MGI5ZjYxYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVy
SW5saW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVy
VHJlZUJ1aWxkZXJJbmxpbmUuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiUmVuZGVy
RnVsbFNjcmVlbi5oIgogI2luY2x1ZGUgIlJlbmRlcklubGluZS5oIgogI2luY2x1ZGUgIlJlbmRl
clRhYmxlLmgiCisjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJUYWJsZS5oIgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFy
Y2hpdmUubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlLm1tCmluZGV4IGIx
NzQyZmRmZGQzODY5ZWFkZDNkN2M1YWVlNzA1ZTY2MWY5N2VlZGMuLmI4Yzk3MmY3ZWMxOGViN2Q0
YzlhNzFkZTJiNGUxZTJjNjVkZTg3NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0FQSVdlYkFyY2hpdmUubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2
ZS5tbQpAQCAtMzQsOSArMzQsOCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTGVnYWN5V2ViQXJjaGl2
ZS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7Ci0KIG5hbWVzcGFjZSBBUEkgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIFJlZjxX
ZWJBcmNoaXZlPiBXZWJBcmNoaXZlOjpjcmVhdGUoV2ViQXJjaGl2ZVJlc291cmNlKiBtYWluUmVz
b3VyY2UsIFJlZlB0cjxBUEk6OkFycmF5PiYmIHN1YnJlc291cmNlcywgUmVmUHRyPEFQSTo6QXJy
YXk+JiYgc3ViZnJhbWVBcmNoaXZlcykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0FQSVdlYkFyY2hpdmVSZXNvdXJjZS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdl
YkFyY2hpdmVSZXNvdXJjZS5tbQppbmRleCBjYWU1Yjg1ZGYxNzdkZGRlNjhkODUyZTVlNTA2ZDhk
OTJiZTJlYTk0Li5kYzBmOTBmMGYzODUxYWJmMTAwNDg0YmE1NzNhZTRhZjhlODBiMjMyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW0KKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tCkBAIC0zMyw5
ICszMyw4IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9VUkwuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWlu
UHRyLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBuYW1lc3BhY2UgQVBJIHsKK3Vz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBSZWY8V2ViQXJjaGl2ZVJlc291cmNlPiBXZWJBcmNo
aXZlUmVzb3VyY2U6OmNyZWF0ZShBUEk6OkRhdGEqIGRhdGEsIGNvbnN0IFN0cmluZyYgVVJMLCBj
b25zdCBTdHJpbmcmIE1JTUVUeXBlLCBjb25zdCBTdHJpbmcmIHRleHRFbmNvZGluZykKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNj
YXBlUGx1Z2luTW9kdWxlTWFjLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRz
Y2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMubW0KaW5kZXggNjhkN2M2YWRmMzYyNzUx
MzEyOTYzNTYyODZmMTFlODQ5YzE0YzJjMC4uYzBjY2FjNTk4NTNjZmFmZmQ5ZmYxZDFlM2Q2OGI2
N2Q2NDU3ZjdjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRz
Y2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMubW0KQEAg
LTM0LDkgKzM0LDggQEAKICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYv
c3BpL2NmL0NGQnVuZGxlU1BJLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBuYW1l
c3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBzdGF0aWMgYm9vbCBn
ZXRQbHVnaW5BcmNoaXRlY3R1cmUoQ0ZCdW5kbGVSZWYgYnVuZGxlLCBQbHVnaW5Nb2R1bGVJbmZv
JiBwbHVnaW4pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05l
dHNjYXBlL21hYy9QbHVnaW5JbmZvcm1hdGlvbk1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1BsdWdpbnMvTmV0c2NhcGUvbWFjL1BsdWdpbkluZm9ybWF0aW9uTWFjLm1tCmluZGV4IDVlYzg0
MjQ5NTljYmMxOTI4ODZmYTc1YWJmMDNmM2Q4ODViY2IxZDkuLjMyNTg0ZDQxNmJlMGZmMjVlOWU5
MWRkZjQyODcwZTMzOTRmNDkzNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Bs
dWdpbnMvTmV0c2NhcGUvbWFjL1BsdWdpbkluZm9ybWF0aW9uTWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL1BsdWdpbkluZm9ybWF0aW9uTWFjLm1t
CkBAIC0zNCw5ICszNCw4IEBACiAjaW1wb3J0ICJTdHJpbmdVdGlsaXRpZXMuaCIKICNpbXBvcnQg
PFdlYkNvcmUvUGx1Z2luQmxhY2tsaXN0Lmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwot
CiBuYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiB2b2lkIGdl
dFBsYXRmb3JtUGx1Z2luTW9kdWxlSW5mb3JtYXRpb24oY29uc3QgUGx1Z2luTW9kdWxlSW5mbyYg
cGx1Z2luLCBBUEk6OkRpY3Rpb25hcnk6Ok1hcFR5cGUmIG1hcCkKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29h
LnR4dAppbmRleCBkOGEzYzkwZGZmZTMyMjMyMmQ3NjNlZTIxZTdjYmE0NTBmZTg1ZmNmLi40Yjhk
NDgwNmI0NGYyMjA0NjU4NTc3ZWI3YTk2NzhjYjhlMzQ3OWJmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2Eu
dHh0CkBAIC0yOTgsOSArMjk4LDkgQEAgVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tIEBuby11
bmlmeQogCiBVSVByb2Nlc3MvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJv
eHlDb2NvYS5tbQogCi1VSVByb2Nlc3MvQXBwbGVQYXkvaW9zL1dlYlBheW1lbnRDb29yZGluYXRv
clByb3h5SU9TLm1tCitVSVByb2Nlc3MvQXBwbGVQYXkvaW9zL1dlYlBheW1lbnRDb29yZGluYXRv
clByb3h5SU9TLm1tIEBuby11bmlmeQogCi1VSVByb2Nlc3MvQXBwbGVQYXkvbWFjL1dlYlBheW1l
bnRDb29yZGluYXRvclByb3h5TWFjLm1tCitVSVByb2Nlc3MvQXBwbGVQYXkvbWFjL1dlYlBheW1l
bnRDb29yZGluYXRvclByb3h5TWFjLm1tIEBuby11bmlmeQogCiBVSVByb2Nlc3MvQXV0aGVudGlj
YXRpb24vY29jb2EvQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eUNvY29hLm1tCiBVSVByb2Nl
c3MvQXV0aGVudGljYXRpb24vY29jb2EvU2VjS2V5UHJveHlTdG9yZS5tbQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQu
aAppbmRleCBiZmM1ZWUzMzgyMjBkOTE1NmZjY2YwMGMxZTc2ZDBiYmVlOTA0MTkwLi4zNzljODg1
N2JlOTRiNjE5NTU1ZWRmZmVjNGMzYTlhNmUxNzc5NDg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaApAQCAt
NTEsNyArNTEsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIH5BdXRvbWF0aW9uU2Vzc2lvbkNs
aWVudCgpIHsgfQogCi0gICAgdmlydHVhbCBTdHJpbmcgc2Vzc2lvbklkZW50aWZpZXIoKSBjb25z
dCB7IHJldHVybiBTdHJpbmcoKTsgfQorICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgc2Vzc2lvbklk
ZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBXVEY6OlN0cmluZygpOyB9CiAgICAgdmlydHVhbCB2
b2lkIGRpZERpc2Nvbm5lY3RGcm9tUmVtb3RlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24m
KSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdE5ld1BhZ2VXaXRoT3B0aW9ucyhXZWJLaXQ6
OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgQXV0b21hdGlvblNlc3Npb25Ccm93c2luZ0NvbnRleHRP
cHRpb25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYktpdDo6V2ViUGFnZVByb3h5Kik+JiYg
Y29tcGxldGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIobnVsbHB0cik7IH0KICAgICB2
aXJ0dWFsIHZvaWQgcmVxdWVzdE1heGltaXplV2luZG93T2ZQYWdlKFdlYktpdDo6V2ViQXV0b21h
dGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgeyBjb21wbGV0aW9uSGFuZGxlcigpOyB9CkBAIC02
MSw4ICs2MSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNTaG93aW5nSmF2YVNjcmlw
dERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQ
YWdlUHJveHkmKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNtaXNzQ3Vy
cmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYs
IFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGFjY2VwdEN1cnJl
bnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBX
ZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgfQotICAgIHZpcnR1YWwgU3RyaW5nIG1lc3NhZ2VPZkN1
cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24m
LCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgcmV0dXJuIFN0cmluZygpOyB9Ci0gICAgdmlydHVh
bCB2b2lkIHNldFVzZXJJbnB1dEZvckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKFdlYktp
dDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIGNvbnN0IFN0
cmluZyYpIHsgfQorICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgbWVzc2FnZU9mQ3VycmVudEphdmFT
Y3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6
V2ViUGFnZVByb3h5JikgeyByZXR1cm4gV1RGOjpTdHJpbmcoKTsgfQorICAgIHZpcnR1YWwgdm9p
ZCBzZXRVc2VySW5wdXRGb3JDdXJyZW50SmF2YVNjcmlwdFByb21wdE9uUGFnZShXZWJLaXQ6Oldl
YkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBjb25zdCBXVEY6OlN0
cmluZyYpIHsgfQogICAgIHZpcnR1YWwgc3RkOjpvcHRpb25hbDxKYXZhU2NyaXB0RGlhbG9nVHlw
ZT4gdHlwZU9mQ3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0
aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyByZXR1cm4gc3RkOjpudWxsb3B0
OyB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9MZWdh
Y3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW0KaW5kZXggMTFiYTM3
MjY1NDgzZmZlN2ZmMjQ2NTA5NDBkOGYzM2E1MmMwYzA0YS4uMTlhNTliNDJjYWI3YjU0N2VkOTQ0
NjBlNzJmYzAzOTZjZmU3OTI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5t
bQpAQCAtMzIsMjMgKzMyLDIwIEBACiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5o
PgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAKLXVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKLQogQGludGVyZmFjZSBXS0N1c3Rv
bVByb3RvY29sTG9hZGVyIDogTlNPYmplY3QgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlPiB7CiBA
cHJpdmF0ZQotICAgIExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiBfY3VzdG9tUHJv
dG9jb2xNYW5hZ2VyUHJveHk7CisgICAgV2ViS2l0OjpMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFn
ZXJQcm94eSogX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OwogICAgIHVpbnQ2NF90IF9jdXN0
b21Qcm90b2NvbElEOwogICAgIE5TVVJMQ2FjaGVTdG9yYWdlUG9saWN5IF9zdG9yYWdlUG9saWN5
OwogICAgIE5TVVJMQ29ubmVjdGlvbiAqX3VybENvbm5lY3Rpb247CiB9Ci0tIChpZClpbml0V2l0
aExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OihMZWdhY3lDdXN0b21Qcm90b2NvbE1h
bmFnZXJQcm94eSopY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJvdG9jb2xJRDoo
dWludDY0X3QpY3VzdG9tUHJvdG9jb2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0
OworLSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTooV2ViS2l0
OjpMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSopY3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
UHJveHkgY3VzdG9tUHJvdG9jb2xJRDoodWludDY0X3QpY3VzdG9tUHJvdG9jb2xJRCByZXF1ZXN0
OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0OwogLSAodm9pZCljdXN0b21Qcm90b2NvbE1hbmFnZXJQ
cm94eURlc3Ryb3llZDsKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdLQ3VzdG9tUHJvdG9jb2xM
b2FkZXIKIAotLSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eToo
TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqKWN1c3RvbVByb3RvY29sTWFuYWdlclBy
b3h5IGN1c3RvbVByb3RvY29sSUQ6KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVzdDoo
TlNVUkxSZXF1ZXN0ICopcmVxdWVzdAorLSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2Nv
bE1hbmFnZXJQcm94eTooV2ViS2l0OjpMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSop
Y3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJvdG9jb2xJRDoodWludDY0X3QpY3Vz
dG9tUHJvdG9jb2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0CiB7CiAgICAgc2Vs
ZiA9IFtzdXBlciBpbml0XTsKICAgICBpZiAoIXNlbGYpCkBAIC04NSw3ICs4Miw3IEBAIC0gKHZv
aWQpY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHlEZXN0cm95ZWQKIAogLSAodm9pZCljb25uZWN0
aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIGRpZEZhaWxXaXRoRXJyb3I6KE5TRXJy
b3IgKillcnJvcgogewotICAgIFJlc291cmNlRXJyb3IgY29yZUVycm9yKGVycm9yKTsKKyAgICBX
ZWJDb3JlOjpSZXNvdXJjZUVycm9yIGNvcmVFcnJvcihlcnJvcik7CiAgICAgX2N1c3RvbVByb3Rv
Y29sTWFuYWdlclByb3h5LT5kaWRGYWlsV2l0aEVycm9yKF9jdXN0b21Qcm90b2NvbElELCBjb3Jl
RXJyb3IpOwogICAgIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS0+c3RvcExvYWRpbmcoX2N1
c3RvbVByb3RvY29sSUQpOwogfQpAQCAtOTksNyArOTYsNyBAQCAtIChOU0NhY2hlZFVSTFJlc3Bv
bnNlICopY29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiB3aWxsQ2FjaGVS
ZXNwbwogCiAtICh2b2lkKWNvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24g
ZGlkUmVjZWl2ZVJlc3BvbnNlOihOU1VSTFJlc3BvbnNlICopcmVzcG9uc2UKIHsKLSAgICBSZXNv
dXJjZVJlc3BvbnNlIGNvcmVSZXNwb25zZShyZXNwb25zZSk7CisgICAgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXNwb25zZSBjb3JlUmVzcG9uc2UocmVzcG9uc2UpOwogICAgIF9jdXN0b21Qcm90b2NvbE1h
bmFnZXJQcm94eS0+ZGlkUmVjZWl2ZVJlc3BvbnNlKF9jdXN0b21Qcm90b2NvbElELCBjb3JlUmVz
cG9uc2UsIF9zdG9yYWdlUG9saWN5KTsKIH0KIApAQCAtMTI3LDYgKzEyNCw3IEBAIC0gKHZvaWQp
Y29ubmVjdGlvbkRpZEZpbmlzaExvYWRpbmc6KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24K
IEBlbmQKIAogbmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAog
dm9pZCBMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQ6OnN0YXJ0TG9hZGluZyhMZWdh
Y3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSYgbWFuYWdlciwgdWludDY0X3QgY3VzdG9tUHJv
dG9jb2xJRCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBjb3JlUmVxdWVzdCkKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNw
cAppbmRleCBjMmI5MWE2Mzk3M2U2MzEyMGFhZTUyOGY4OTc1Mzg1ZjdiNmRiZjYyLi5lZGVkOWM3
ZDJhNGU1OGUzZDA1OGQ4MzI2ODMxMDk4MTgyYWY0NDc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCkBAIC00OCw3
ICs0OCw3IEBAIHN0YXRpYyBjb25zdCBTZWNvbmRzIHNuYXBzaG90dGluZ01pbmltdW1MaWZldGlt
ZSB7IDMwX3MgfTsKIHN0YXRpYyBjb25zdCBTZWNvbmRzIHNodXRkb3duVGltZW91dCB7IDFfbWlu
IH07CiBzdGF0aWMgY29uc3QgU2Vjb25kcyBzbmFwc2hvdHRpbmdTaHV0ZG93blRpbWVvdXQgeyAx
NV9zIH07CiAKLXN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUNhbGxiYWNrSUQoKQorc3RhdGljIHVp
bnQ2NF90IGdlbmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQoKQogewogICAgIHN0YXRpYyB1
aW50NjRfdCBjYWxsYmFja0lEOwogCkBAIC0xMTQsNyArMTE0LDcgQEAgdm9pZCBQbHVnaW5Qcm9j
ZXNzUHJveHk6OmdldFBsdWdpblByb2Nlc3NDb25uZWN0aW9uKE1lc3NhZ2VzOjpXZWJQcm9jZXNz
UHJveHk6OkcKIAogdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEoQ29t
cGxldGlvbkhhbmRsZXI8dm9pZCAoVmVjdG9yPFN0cmluZz4pPiYmIGNvbXBsZXRpb25IYW5kbGVy
KQogewotICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAg
ICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCgp
OwogICAgIG1fcGVuZGluZ0ZldGNoV2Vic2l0ZURhdGFDYWxsYmFja3Muc2V0KGNhbGxiYWNrSUQs
IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIGlmIChzdGF0ZSgpID09IFN0YXRl
OjpMYXVuY2hpbmcpIHsKQEAgLTEyNyw3ICsxMjcsNyBAQCB2b2lkIFBsdWdpblByb2Nlc3NQcm94
eTo6ZmV0Y2hXZWJzaXRlRGF0YShDb21wbGV0aW9uSGFuZGxlcjx2b2lkIChWZWN0b3I8U3RyaW5n
PgogCiB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEoV2FsbFRpbWUg
bW9kaWZpZWRTaW5jZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKIHsKLSAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7
CisgICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNr
SUQoKTsKICAgICBtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUNhbGxiYWNrcy5zZXQoY2FsbGJh
Y2tJRCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAgaWYgKHN0YXRlKCkgPT0g
U3RhdGU6OkxhdW5jaGluZykgewpAQCAtMTQwLDcgKzE0MCw3IEBAIHZvaWQgUGx1Z2luUHJvY2Vz
c1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YShXYWxsVGltZSBtb2RpZmllZFNpbmNlLCBDb21wbGV0
aW9uSGFuCiAKIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZvckhv
c3ROYW1lcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgaG9zdE5hbWVzLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkICgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIHVpbnQ2NF90IGNhbGxiYWNr
SUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2Vu
ZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVuZGluZ0RlbGV0ZVdlYnNp
dGVEYXRhRm9ySG9zdE5hbWVzQ2FsbGJhY2tzLnNldChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKSk7CiAKICAgICBpZiAoc3RhdGUoKSA9PSBTdGF0ZTo6TGF1bmNoaW5nKSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9z
L1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
RGVsZWdhdGVJT1MubW0KaW5kZXggNGEyZTI5YjU2MDk2MWE1OWIxY2I1NTE5NzgzOTE0OWMzMTA2
ODRjMi4uNzJhODgyZjA1ODFkNWVhYzkxZmMxNGJjMDVhMDJmMTQ0ZjE2YzExZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdU
cmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0
ZUlPUy5tbQpAQCAtNDMsOCArNDMsNiBAQAogI2ltcG9ydCA8V2ViQ29yZS9TY3JvbGxTbmFwT2Zm
c2V0c0luZm8uaD4KICNlbmRpZgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogQGltcGxl
bWVudGF0aW9uIFdLU2Nyb2xsaW5nTm9kZVNjcm9sbFZpZXdEZWxlZ2F0ZQogCiAtIChpbnN0YW5j
ZXR5cGUpaW5pdFdpdGhTY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlOihXZWJLaXQ6OlNjcm9sbGlu
Z1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MqKWRlbGVnYXRlCkBAIC04MCw3ICs3OCw3IEBA
IC0gKHZvaWQpc2Nyb2xsVmlld1dpbGxFbmREcmFnZ2luZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xs
VmlldyB3aXRoVmVsb2NpdHk6KENHUG9pCiAKICAgICBpZiAoIV9zY3JvbGxpbmdUcmVlTm9kZURl
bGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuaG9yaXpvbnRhbFNuYXBPZmZzZXRzKCkuaXNFbXB0eSgp
KSB7CiAgICAgICAgIHVuc2lnbmVkIGluZGV4OwotICAgICAgICBmbG9hdCBwb3RlbnRpYWxTbmFw
UG9zaXRpb24gPSBjbG9zZXN0U25hcE9mZnNldChfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+
c2Nyb2xsaW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0cygpLCBfc2Nyb2xsaW5nVHJlZU5v
ZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0UmFuZ2VzKCks
IGhvcml6b250YWxUYXJnZXQsIHZlbG9jaXR5LngsIGluZGV4KTsKKyAgICAgICAgZmxvYXQgcG90
ZW50aWFsU25hcFBvc2l0aW9uID0gV2ViQ29yZTo6Y2xvc2VzdFNuYXBPZmZzZXQoX3Njcm9sbGlu
Z1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNldHMo
KSwgX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFs
U25hcE9mZnNldFJhbmdlcygpLCBob3Jpem9udGFsVGFyZ2V0LCB2ZWxvY2l0eS54LCBpbmRleCk7
CiAgICAgICAgIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuc2V0
Q3VycmVudEhvcml6b250YWxTbmFwUG9pbnRJbmRleChpbmRleCk7CiAgICAgICAgIGlmIChob3Jp
em9udGFsVGFyZ2V0ID49IDAgJiYgaG9yaXpvbnRhbFRhcmdldCA8PSBzY3JvbGxWaWV3LmNvbnRl
bnRTaXplLndpZHRoKQogICAgICAgICAgICAgdGFyZ2V0Q29udGVudE9mZnNldC0+eCA9IHBvdGVu
dGlhbFNuYXBQb3NpdGlvbjsKQEAgLTg4LDcgKzg2LDcgQEAgLSAodm9pZClzY3JvbGxWaWV3V2ls
bEVuZERyYWdnaW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3IHdpdGhWZWxvY2l0eTooQ0dQ
b2kKIAogICAgIGlmICghX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUo
KS52ZXJ0aWNhbFNuYXBPZmZzZXRzKCkuaXNFbXB0eSgpKSB7CiAgICAgICAgIHVuc2lnbmVkIGlu
ZGV4OwotICAgICAgICBmbG9hdCBwb3RlbnRpYWxTbmFwUG9zaXRpb24gPSBjbG9zZXN0U25hcE9m
ZnNldChfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2Fs
U25hcE9mZnNldHMoKSwgX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUo
KS52ZXJ0aWNhbFNuYXBPZmZzZXRSYW5nZXMoKSwgdmVydGljYWxUYXJnZXQsIHZlbG9jaXR5Lnks
IGluZGV4KTsKKyAgICAgICAgZmxvYXQgcG90ZW50aWFsU25hcFBvc2l0aW9uID0gV2ViQ29yZTo6
Y2xvc2VzdFNuYXBPZmZzZXQoX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05v
ZGUoKS52ZXJ0aWNhbFNuYXBPZmZzZXRzKCksIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5z
Y3JvbGxpbmdOb2RlKCkudmVydGljYWxTbmFwT2Zmc2V0UmFuZ2VzKCksIHZlcnRpY2FsVGFyZ2V0
LCB2ZWxvY2l0eS55LCBpbmRleCk7CiAgICAgICAgIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRl
LT5zY3JvbGxpbmdOb2RlKCkuc2V0Q3VycmVudFZlcnRpY2FsU25hcFBvaW50SW5kZXgoaW5kZXgp
OwogICAgICAgICBpZiAodmVydGljYWxUYXJnZXQgPj0gMCAmJiB2ZXJ0aWNhbFRhcmdldCA8PSBz
Y3JvbGxWaWV3LmNvbnRlbnRTaXplLmhlaWdodCkKICAgICAgICAgICAgIHRhcmdldENvbnRlbnRP
ZmZzZXQtPnkgPSBwb3RlbnRpYWxTbmFwUG9zaXRpb247CkBAIC0xMjIsNiArMTIwLDcgQEAgLSAo
dm9pZClzY3JvbGxWaWV3RGlkRW5kRGVjZWxlcmF0aW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxW
aWV3CiBAZW5kCiAKIG5hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiAKIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1M6OlNjcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MoU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUmIHNjcm9s
bGluZ05vZGUpCiAgICAgOiBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlKHNjcm9s
bGluZ05vZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0
b3JhZ2VQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9T
dG9yYWdlUHJvY2Vzc1Byb3h5LmNwcAppbmRleCBlZmE4ZDEzY2JiZDVmZmE4MDhiNWYwZWRiZjRh
NTFkYzlkZjg1N2U3Li4zYTEzMWI0ZDYwZDhhYTA3ZTg3ZmI1ZTRjNjE0ZjMwYTdkNDJiNTc0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNz
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVBy
b2Nlc3NQcm94eS5jcHAKQEAgLTM3LDcgKzM3LDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUNhbGxiYWNr
SUQoKQorc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlU3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKCkK
IHsKICAgICBzdGF0aWMgdWludDY0X3QgY2FsbGJhY2tJRDsKIApAQCAtMTA1LDcgKzEwNSw3IEBA
IHZvaWQgU3RvcmFnZVByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQsIE9wdGlvblNldDxXCiB7CiAgICAgQVNTRVJUKGNhblNlbmRNZXNzYWdlKCkp
OwogCi0gICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAg
IHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgp
OwogICAgIG1fcGVuZGluZ0ZldGNoV2Vic2l0ZURhdGFDYWxsYmFja3MuYWRkKGNhbGxiYWNrSUQs
IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIHNlbmQoTWVzc2FnZXM6OlN0b3Jh
Z2VQcm9jZXNzOjpGZXRjaFdlYnNpdGVEYXRhKHNlc3Npb25JRCwgZGF0YVR5cGVzLCBjYWxsYmFj
a0lEKSwgMCk7CkBAIC0xMTMsNyArMTEzLDcgQEAgdm9pZCBTdG9yYWdlUHJvY2Vzc1Byb3h5Ojpm
ZXRjaFdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFcKIAog
dm9pZCBTdG9yYWdlUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+IGRhdGFUeXBlcywgV2FsbFRp
bWUgbW9kaWZpZWRTaW5jZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAoKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikKIHsKLSAgICBhdXRvIGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsK
KyAgICBhdXRvIGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgp
OwogCiAgICAgbV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFDYWxsYmFja3MuYWRkKGNhbGxiYWNr
SUQsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKICAgICBzZW5kKE1lc3NhZ2VzOjpTdG9y
YWdlUHJvY2Vzczo6RGVsZXRlV2Vic2l0ZURhdGEoc2Vzc2lvbklELCBkYXRhVHlwZXMsIG1vZGlm
aWVkU2luY2UsIGNhbGxiYWNrSUQpLCAwKTsKQEAgLTEyMyw3ICsxMjMsNyBAQCB2b2lkIFN0b3Jh
Z2VQcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQsCiB7CiAgICAgQVNTRVJUKGNhblNlbmRNZXNzYWdlKCkpOwogCi0gICAgdWlu
dDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIHVpbnQ2NF90IGNh
bGxiYWNrSUQgPSBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVu
ZGluZ0RlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2luc0NhbGxiYWNrcy5hZGQoY2FsbGJhY2tJRCwg
V1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAgc2VuZChNZXNzYWdlczo6U3RvcmFn
ZVByb2Nlc3M6OkRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhzZXNzaW9uSUQsIGRhdGFUeXBl
cywgb3JpZ2lucywgY2FsbGJhY2tJRCksIDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaAppbmRleCA3N2JkOGQ3NzU2MThlMDhlMzYyY2IxNjE0YjNkNjVkN2NlOTYwMTZjLi4y
YTdiNjBjMGJiMzkwMTk0MTE5ZmJjMDFjMzI5YTU5Zjg2ZTA0MDE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtNjEsNyArNjEsNiBAQAogI2luY2x1ZGUgIldlYlBh
Z2VJbmplY3RlZEJ1bmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIldlYlBheW1lbnRDb29yZGluYXRv
clByb3h5LmgiCiAjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXMuaCIKLSNpbmNsdWRlIDxXZWJDb3Jl
L0FsdGVybmF0aXZlVGV4dENsaWVudC5oPiAvLyBGSVhNRTogTmVlZGVkIGJ5IFdlYlBhZ2VQcm94
eU1lc3NhZ2VzLmggZm9yIERJQ1RBVElPTl9BTFRFUk5BVElWRVMuCiAjaW5jbHVkZSAiV2ViUGFn
ZVByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQb3B1cE1lbnVQcm94eS5oIgogI2luY2x1
ZGUgIldlYlByb2Nlc3NMaWZldGltZVRyYWNrZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGM3NzE1NTkwZWQ3MWNjZGQyM2RmMjg1
YTNhYTdjMzZlNTQzZGI3ZjYuLmJjN2MyNDNmNDc5NmFjYzJlY2U0YzRmZWNjNDQ5MjkyNThjZGI0
NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtNzU2LDYgKzc1Niw4IEBACiAJCTJEOTJBNzk1MjEyQjZBRDQwMEY0OTNGRCAvKiBQbHVn
aW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkQ5MEQxMTI4MUM5NjYwMDFFQjk2MiAvKiBQbHVnaW5Q
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCAqLzsgfTsKIAkJMkQ5MkE3OTYyMTJCNkFEQTAw
RjQ5M0ZEIC8qIE5ldHNjYXBlUGx1Z2luTW9kdWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNEE5QzUzMTJCODE2Q0YwMDhGRTk4NCAvKiBOZXRz
Y2FwZVBsdWdpbk1vZHVsZS5jcHAgKi87IH07CiAJCTJEOTJBNzk3MjEyQjZBREEwMEY0OTNGRCAv
KiBQbHVnaW5JbmZvcm1hdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3QzNGOEM4RTE3M0FGNTJEMDA3QjdGMzkgLyogUGx1Z2luSW5mb3JtYXRp
b24uY3BwICovOyB9OworCQkyRDkyQTc5ODIxMzQ4RDg1MDBGNDkzRkQgLyogV2ViUGF5bWVudENv
b3JkaW5hdG9yUHJveHlNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQUIxRjc3RDFEMUIzMEE5MDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5h
dG9yUHJveHlNYWMubW0gKi87IH07CisJCTJEOTJBNzlGMjEzNEIwN0UwMEY0OTNGRCAvKiBXZWJQ
YXltZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFBQjFGNzdCMUQxQjMwQTkwMDdDOUJEMSAvKiBXZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eUlPUy5tbSAqLzsgfTsKIAkJMkQ5MzExNjkyMTJGNjFCMjAwMDQ0QkZF
IC8qIFdLQ29udGVudFZpZXcubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRkNCNEUzRDE4QkJFMDQ0MDAwRkNGQzkgLyogV0tDb250ZW50Vmlldy5tbSAq
LzsgfTsKIAkJMkQ5MzExNkEyMTJGNjFCNTAwMDQ0QkZFIC8qIFdLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
Q0I0RTZCMThCQkYyNkEwMDBGQ0ZDOSAvKiBXS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gKi87
IH07CiAJCTJEOUVBMzBEMUE5NkNCNTkwMDJEMjgwNyAvKiBXS1BhZ2VJbmplY3RlZEJ1bmRsZUNs
aWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5
RUEzMEMxQTk2Q0I1OTAwMkQyODA3IC8qIFdLUGFnZUluamVjdGVkQnVuZGxlQ2xpZW50LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTExMjQxLDYg
KzExMjQzLDggQEAKIAkJCQk3Q0U5Q0UxMDFGQTA3NjdBMDAwMTc3REUgLyogV2ViUGFnZVVwZGF0
ZVByZWZlcmVuY2VzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDNDY5NEM5MUE0QjRFQTEwMEFE
NTg0NSAvKiBXZWJQYXN0ZWJvYXJkUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMUFCMUY3OTYxRDFCMzYxMzAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRv
ck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDkyQTc5RjIxMzRCMDdF
MDBGNDkzRkQgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlJT1MubW0gaW4gU291cmNlcyAq
LywKKwkJCQkyRDkyQTc5ODIxMzQ4RDg1MDBGNDkzRkQgLyogV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHlNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQUIxRjc5ODFEMUIzNjEzMDA3QzlCRDEg
LyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMkQ5MkE3OEQyMTJCNkFCMTAwRjQ5M0ZEIC8qIFdlYlBsYXRmb3JtVG91Y2hQ
b2ludC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDkxMzQ0RTIxMkNGOUYwMDAxMjhBRkQgLyog
V2ViUGx1Z2luSW5mb1Byb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5tbSBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0KaW5kZXggNTMwN2UyNmE3
NjM3ZThhNjliMDQ1YWJiOTI4NzlmM2Y4YzY1ODZmMi4uNGNhYTZjYzBmNjA0NTBjMDNiMjJhMjg0
ZGQxM2FmMjVlZmQ2ZTM4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1Bs
dWdpbnMvUERGL1BERlBsdWdpbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1
Z2lucy9QREYvUERGUGx1Z2luLm1tCkBAIC04OCw4ICs4OCw2IEBACiAjaW1wb3J0IDxwYWwvc3Bp
L21hYy9OU01lbnVTUEkuaD4KICNpbXBvcnQgPHd0Zi9VVUlELmg+CiAKLXVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwotCiAvLyBTZXQgb3ZlcmZsb3c6IGhpZGRlbiBvbiB0aGUgYW5ub3RhdGlvbiBj
b250YWluZXIgc28gPGlucHV0PiBlbGVtZW50cyBzY3JvbGxlZCBvdXQgb2YgdmlldyBkb24ndCBz
aG93CiAvLyBzY3JvbGxiYXJzIG9uIHRoZSBib2R5LiBXZSBjYW4ndCBhZGQgYW5ub3RhdGlvbnMg
ZGlyZWN0bHkgdG8gdGhlIGJvZHksIGJlY2F1c2Ugb3ZlcmZsb3c6IGhpZGRlbiBvbiB0aGUgYm9k
eQogLy8gd2lsbCBicmVhayBydWJiZXItYmFuZGluZy4KQEAgLTI5MCw3ICsyODgsNyBAQCAtIChO
U0FycmF5ICopYWNjZXNzaWJpbGl0eUFjdGlvbk5hbWVzCiAtICh2b2lkKWFjY2Vzc2liaWxpdHlQ
ZXJmb3JtQWN0aW9uOihOU1N0cmluZyAqKWFjdGlvbgogewogICAgIGlmIChbYWN0aW9uIGlzRXF1
YWxUb1N0cmluZzpOU0FjY2Vzc2liaWxpdHlTaG93TWVudUFjdGlvbl0pCi0gICAgICAgIF9wZGZQ
bHVnaW4tPnNob3dDb250ZXh0TWVudUF0UG9pbnQoSW50UmVjdChJbnRQb2ludCgpLCBfcGRmUGx1
Z2luLT5zaXplKCkpLmNlbnRlcigpKTsKKyAgICAgICAgX3BkZlBsdWdpbi0+c2hvd0NvbnRleHRN
ZW51QXRQb2ludChXZWJDb3JlOjpJbnRSZWN0KFdlYkNvcmU6OkludFBvaW50KCksIF9wZGZQbHVn
aW4tPnNpemUoKSkuY2VudGVyKCkpOwogfQogCiAtIChCT09MKWFjY2Vzc2liaWxpdHlJc0F0dHJp
YnV0ZVNldHRhYmxlOihOU1N0cmluZyAqKWF0dHJpYnV0ZQpAQCAtMzE2LDggKzMxNCw4IEBAIC0g
KGlkKWFjY2Vzc2liaWxpdHlGb2N1c2VkVUlFbGVtZW50CiB7CiAjaWYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDAKICAgICBpZiAoV2ViS2l0OjpQREZQbHVnaW5Bbm5v
dGF0aW9uKiBhY3RpdmVBbm5vdGF0aW9uID0gX3BkZlBsdWdpbi0+YWN0aXZlQW5ub3RhdGlvbigp
KSB7Ci0gICAgICAgIGlmIChBWE9iamVjdENhY2hlKiBleGlzdGluZ0NhY2hlID0gX3BkZlBsdWdp
bi0+YXhPYmplY3RDYWNoZSgpKSB7Ci0gICAgICAgICAgICBpZiAoQWNjZXNzaWJpbGl0eU9iamVj
dCogb2JqZWN0ID0gZXhpc3RpbmdDYWNoZS0+Z2V0T3JDcmVhdGUoYWN0aXZlQW5ub3RhdGlvbi0+
ZWxlbWVudCgpKSkKKyAgICAgICAgaWYgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGUqIGV4aXN0aW5n
Q2FjaGUgPSBfcGRmUGx1Z2luLT5heE9iamVjdENhY2hlKCkpIHsKKyAgICAgICAgICAgIGlmIChX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QgPSBleGlzdGluZ0NhY2hlLT5nZXRP
ckNyZWF0ZShhY3RpdmVBbm5vdGF0aW9uLT5lbGVtZW50KCkpKQogI3ByYWdtYSBjbGFuZyBkaWFn
bm9zdGljIHB1c2gKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV2RlcHJlY2F0
ZWQtZGVjbGFyYXRpb25zIgogICAgICAgICAgICAgICAgIHJldHVybiBbb2JqZWN0LT53cmFwcGVy
KCkgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOkAiX0FYQXNzb2NpYXRlZFBsdWdpblBhcmVu
dCJdOwpAQCAtMzM4LDExICszMzYsMTEgQEAgLSAoaWQpYWNjZXNzaWJpbGl0eUFzc29jaWF0ZWRD
b250cm9sRm9yQW5ub3RhdGlvbjooUERGQW5ub3RhdGlvbiAqKWFubm90YXRpb24KICAgICBpZiAo
IWFjdGl2ZUFubm90YXRpb24gfHwgIVthY3RpdmVBbm5vdGF0aW9uLT5hbm5vdGF0aW9uKCkgaXNF
cXVhbDphbm5vdGF0aW9uXSkKICAgICAgICAgcmV0dXJuIG5pbDsKICAgICAKLSAgICBBWE9iamVj
dENhY2hlKiBjYWNoZSA9IF9wZGZQbHVnaW4tPmF4T2JqZWN0Q2FjaGUoKTsKKyAgICBXZWJDb3Jl
OjpBWE9iamVjdENhY2hlKiBjYWNoZSA9IF9wZGZQbHVnaW4tPmF4T2JqZWN0Q2FjaGUoKTsKICAg
ICBpZiAoIWNhY2hlKQogICAgICAgICByZXR1cm4gbmlsOwogICAgIAotICAgIEFjY2Vzc2liaWxp
dHlPYmplY3QqIG9iamVjdCA9IGNhY2hlLT5nZXRPckNyZWF0ZShhY3RpdmVBbm5vdGF0aW9uLT5l
bGVtZW50KCkpOworICAgIFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCA9IGNh
Y2hlLT5nZXRPckNyZWF0ZShhY3RpdmVBbm5vdGF0aW9uLT5lbGVtZW50KCkpOwogICAgIGlmICgh
b2JqZWN0KQogICAgICAgICByZXR1cm4gbmlsOwogCkBAIC0zNTMsNyArMzUxLDcgQEAgLSAoaWQp
YWNjZXNzaWJpbGl0eUFzc29jaWF0ZWRDb250cm9sRm9yQW5ub3RhdGlvbjooUERGQW5ub3RhdGlv
biAqKWFubm90YXRpb24KIC0gKGlkKWFjY2Vzc2liaWxpdHlIaXRUZXN0OihOU1BvaW50KXBvaW50
CiB7CiAjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDAKLSAgICBw
b2ludCA9IF9wZGZQbHVnaW4tPmNvbnZlcnRGcm9tUm9vdFZpZXdUb1BERlZpZXcoSW50UG9pbnQo
cG9pbnQpKTsKKyAgICBwb2ludCA9IF9wZGZQbHVnaW4tPmNvbnZlcnRGcm9tUm9vdFZpZXdUb1BE
RlZpZXcoV2ViQ29yZTo6SW50UG9pbnQocG9pbnQpKTsKICAgICByZXR1cm4gW19wZGZMYXllckNv
bnRyb2xsZXIgYWNjZXNzaWJpbGl0eUhpdFRlc3Q6cG9pbnRdOwogI2Vsc2UKICAgICByZXR1cm4g
c2VsZjsKQEAgLTQyMSw3ICs0MTksNyBAQCAtIChpZClpbml0V2l0aFBERlBsdWdpbjooV2ViS2l0
OjpQREZQbHVnaW4gKilwbHVnaW4KIAogLSAodm9pZCl1cGRhdGVTY3JvbGxQb3NpdGlvbjooQ0dQ
b2ludCluZXdQb3NpdGlvbgogewotICAgIF9wZGZQbHVnaW4tPm5vdGlmeVNjcm9sbFBvc2l0aW9u
Q2hhbmdlZChJbnRQb2ludChuZXdQb3NpdGlvbikpOworICAgIF9wZGZQbHVnaW4tPm5vdGlmeVNj
cm9sbFBvc2l0aW9uQ2hhbmdlZChXZWJDb3JlOjpJbnRQb2ludChuZXdQb3NpdGlvbikpOwogfQog
CiAtICh2b2lkKXdyaXRlSXRlbXNUb1Bhc3RlYm9hcmQ6KE5TQXJyYXkgKilpdGVtcyB3aXRoVHlw
ZXM6KE5TQXJyYXkgKil0eXBlcwpAQCAtNTAwLDYgKzQ5OCwxMCBAQCAtIChOU1JlY3QpY29udmVy
dFJlY3Q6KE5TUmVjdClyZWN0IGZyb21QYWdlOihQREZQYWdlICopIHBhZ2UgZm9yU2NhbGVGYWN0
b3I6KENHRgogLSAoUERGUGFnZSAqKXBhZ2VOZWFyZXN0UG9pbnQ6KE5TUG9pbnQpcG9pbnQgY3Vy
cmVudFBhZ2U6KFBERlBhZ2UgKiljdXJyZW50UGFnZTsKIEBlbmQKIAorbmFtZXNwYWNlIFdlYktp
dCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKK3VzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7
CisKIHN0YXRpYyBjb25zdCBjaGFyKiBwb3N0U2NyaXB0TUlNRVR5cGUgPSAiYXBwbGljYXRpb24v
cG9zdHNjcmlwdCI7CiBjb25zdCB1aW50NjRfdCBwZGZEb2N1bWVudFJlcXVlc3RJRCA9IDE7IC8v
IFBsdWdpbkNvbnRyb2xsZXIgc3VwcG9ydHMgbG9hZGluZyBtdWx0aXBsZSBzdHJlYW1zLCBidXQg
d2Ugb25seSBuZWVkIG9uZSBmb3IgUERGLgogCkBAIC01OTYsOSArNTk4LDYgQEAgc3RhdGljIHZv
aWQgZ2V0QWxsU2NyaXB0c0luUERGRG9jdW1lbnQoQ0dQREZEb2N1bWVudFJlZiBwZGZEb2N1bWVu
dCwgVmVjdG9yPFJldGEKICAgICB9CiB9CiAKLW5hbWVzcGFjZSBXZWJLaXQgewotdXNpbmcgbmFt
ZXNwYWNlIEhUTUxOYW1lczsKLQogUmVmPFBERlBsdWdpbj4gUERGUGx1Z2luOjpjcmVhdGUoV2Vi
RnJhbWUmIGZyYW1lKQogewogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFBERlBsdWdpbihmcmFt
ZSkpOwpAQCAtMTQ1MCw3ICsxNDQ5LDcgQEAgdm9pZCBQREZQbHVnaW46OnVwZGF0ZUN1cnNvcihj
b25zdCBXZWJNb3VzZUV2ZW50JiBldmVudCwgVXBkYXRlQ3Vyc29yTW9kZSBtb2RlKQogICAgIGlm
IChoaXRUZXN0UmVzdWx0ID09IG1fbGFzdEhpdFRlc3RSZXN1bHQgJiYgbW9kZSA9PSBVcGRhdGVJ
Zk5lZWRlZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgd2ViRnJhbWUoKS0+cGFnZSgpLT5zZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNldEN1cnNvcihoaXRUZXN0UmVzdWx0ID09IFRleHQg
PyBpQmVhbUN1cnNvcigpIDogcG9pbnRlckN1cnNvcigpKSk7CisgICAgd2ViRnJhbWUoKS0+cGFn
ZSgpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNldEN1cnNvcihoaXRUZXN0UmVzdWx0
ID09IFRleHQgPyBXZWJDb3JlOjppQmVhbUN1cnNvcigpIDogV2ViQ29yZTo6cG9pbnRlckN1cnNv
cigpKSk7CiAgICAgbV9sYXN0SGl0VGVzdFJlc3VsdCA9IGhpdFRlc3RSZXN1bHQ7CiB9CiAjZW5k
aWYKQEAgLTE5ODEsMTYgKzE5ODAsMTYgQEAgdm9pZCBQREZQbHVnaW46Om5vdGlmeVNlbGVjdGlv
bkNoYW5nZWQoUERGU2VsZWN0aW9uICopCiAgICAgd2ViRnJhbWUoKS0+cGFnZSgpLT5kaWRDaGFu
Z2VTZWxlY3Rpb24oKTsKIH0KIAotc3RhdGljIGNvbnN0IEN1cnNvciYgY29yZUN1cnNvcihQREZM
YXllckNvbnRyb2xsZXJDdXJzb3JUeXBlIHR5cGUpCitzdGF0aWMgY29uc3QgV2ViQ29yZTo6Q3Vy
c29yJiBjb3JlQ3Vyc29yKFBERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGUgdHlwZSkKIHsKICAg
ICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIGtQREZMYXllckNvbnRyb2xsZXJDdXJzb3JUeXBl
SGFuZDoKLSAgICAgICAgcmV0dXJuIGhhbmRDdXJzb3IoKTsKKyAgICAgICAgcmV0dXJuIFdlYkNv
cmU6OmhhbmRDdXJzb3IoKTsKICAgICBjYXNlIGtQREZMYXllckNvbnRyb2xsZXJDdXJzb3JUeXBl
SUJlYW06Ci0gICAgICAgIHJldHVybiBpQmVhbUN1cnNvcigpOworICAgICAgICByZXR1cm4gV2Vi
Q29yZTo6aUJlYW1DdXJzb3IoKTsKICAgICBjYXNlIGtQREZMYXllckNvbnRyb2xsZXJDdXJzb3JU
eXBlUG9pbnRlcjoKICAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gcG9pbnRlckN1cnNvcigp
OworICAgICAgICByZXR1cm4gV2ViQ29yZTo6cG9pbnRlckN1cnNvcigpOwogICAgIH0KIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348233</attachid>
            <date>2018-08-27 16:24:12 -0700</date>
            <delta_ts>2018-08-27 16:29:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189009-20180827162411.patch</filename>
            <type>text/plain</type>
            <size>56094</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1Mzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDI5MmM2NDA4MzcwZGM0YWY2ZmVmYmQ0
MzZlZGNhYTc3ZDA3NWUzOWEuLjgxMTBlZGU5NjU0OWM4MjM0YTNiYjJjNzM1NmFiYjAyNDIxNDJm
MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3Jl
IHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL2dlbmVy
YXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmI6CisgICAgICAgIEl0IHR1cm5zIG91dCBvdXIg
cGxhbiB0byBzd2l0Y2ggdW5pZmllZCBzb3VyY2UgYnVuZGxlIGV2ZXJ5IHRpbWUgdGhlIGRpcmVj
dG9yeQorICAgICAgICBjaGFuZ2VzIGlzIG5vdCBhIGdvb2QgZml0IGZvciBwcm9qZWN0cyBsaWtl
IFdlYktpdDIgd2l0aCBtYW55IHNtYWxsIGRpcmVjdG9yaWVzLgorICAgICAgICBJdCBsZWF2ZXMg
bWFueSB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIHdpdGggb25seSBhIHNpbmdsZSBzb3VyY2UgZmls
ZSwKKyAgICAgICAgYWNoaWV2aW5nIG9ubHkgfjQwJSBkZW5zaXR5LgorCisgICAgICAgIEluc3Rl
YWQsIHN3aXRjaCB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIGV2ZXJ5IHRpbWUgdGhlIHRvcC1sZXZl
bCBkaXJlY3RvcnkgY2hhbmdlcy4KKyAgICAgICAgVGhpcyBzdGlsbCBhY2hpZXZlcyB0aGUgZ29h
bCBvZiAqdXN1YWxseSogb25seSByZWJ1aWxkaW5nIHRoZSBvbmUgdG9wLWxldmVsCisgICAgICAg
IGRpcmVjdG9yeSB5b3UgdG91Y2hlZCwgYW5kIGluY3JlYXNlcyBzb3VyY2UgYnVuZGxlIGRlbnNp
dHkgd2lsZGx5LCB0byB+OTUlLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTgt
MDgtMjcgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxk
IHN5c3RlbSBzdXBwb3J0IGZvciBMVE8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhMGI5YTAyZDQ5MWQzYzc0NDBh
Y2U4YTIyNDFjNGU1MzUwYzVmNTE0Li4yMDA5OWQwOTZiMDhiM2E0ZjkxOTE2YmRlZDdhNTZlNWUw
YjgzYjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQg
c291cmNlcyBtb3JlIHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1
Y3R1cmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
ODkwMDkKKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgRml4
IGEgdmFyaWV0eSBvZiB1bmlmaWNhdGlvbiBlcnJvcnMgZHVlIHRvIHJlc2h1ZmZsaW5nIHRoZSBi
dW5kbGVzLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9B
bGdvcml0aG1FQ0RTQS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1FQ0RT
QTo6aW1wb3J0S2V5KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBodG1s
L3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKiBwYWdlL0FsdGVybmF0
aXZlVGV4dENsaWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL1Bhc3RlYm9hcmQuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHA6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5tbToKKyAgICAgICAg
KC1bV2ViR0xMYXllciBpbml0V2l0aEdyYXBoaWNzQ29udGV4dDNEOl0pOgorICAgICAgICAoLVtX
ZWJHTExheWVyIGNvcHlJbWFnZVNuYXBzaG90V2l0aENvbG9yU3BhY2U6XSk6CisgICAgICAgICgt
W1dlYkdMTGF5ZXIgZGlzcGxheV0pOgorICAgICAgICAoLVtXZWJHTExheWVyIGFsbG9jYXRlSU9T
dXJmYWNlQmFja2luZ1N0b3JlV2l0aFNpemU6dXNpbmdBbHBoYTpdKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbToKKyAgICAgICAgKC1bV2ViR1BVTGF5
ZXIgaW5pdFdpdGhHUFVEZXZpY2U6XSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0
YWwvR1BVQ29tbWFuZFF1ZXVlTWV0YWwubW06CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Bhc3Rl
Ym9hcmRNYWMubW06CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlD
YXB0dXJlTWFuYWdlckNvY29hLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlUmVxdWVzdEJhc2UuY3BwOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJU
cmVlQnVpbGRlckJsb2NrRmxvdy5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVCdWlsZGVySW5saW5lLmNwcDoKKwogMjAxOC0wOC0yNyAgS2VpdGggUm9sbGluICA8
a3JvbGxpbkBhcHBsZS5jb20+CiAKICAgICAgICAgQnVpbGQgc3lzdGVtIHN1cHBvcnQgZm9yIExU
TwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCAwZjg2OGYwZTliYWUyNjgxMWZiZjI0ZDFjOWFmNGU4OWZkMjNlZDE3Li5j
OWI0OTBhODMwNjI2ZmU0YzkzYTA1OWI0M2FhNGM0MTVlYTlhOTM4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDUyIEBACisyMDE4LTA4LTI3ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUu
Y29tPgorCisgICAgICAgIEJ1bmRsZSB1bmlmaWVkIHNvdXJjZXMgbW9yZSB0aWdodGx5IGluIHBy
b2plY3RzIHdpdGggZGVlcCBkaXJlY3Rvcnkgc3RydWN0dXJlcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5MDA5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIEZpeCBhIHZhcmlldHkgb2YgdW5pZmljYXRpb24g
ZXJyb3JzIGR1ZSB0byByZXNodWZmbGluZyB0aGUgYnVuZGxlcy4KKworICAgICAgICAqIFNoYXJl
ZC9BUElXZWJBcmNoaXZlLm1tOgorICAgICAgICAqIFNoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3Vy
Y2UubW06CisgICAgICAgICogU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1
Z2luTW9kdWxlTWFjLm1tOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9Q
bHVnaW5JbmZvcm1hdGlvbk1hYy5tbToKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaDoKKyAgICAg
ICAgKEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6OnNlc3Npb25JZGVudGlmaWVyIGNvbnN0
KToKKyAgICAgICAgKEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6Om1lc3NhZ2VPZkN1cnJl
bnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKToKKyAgICAgICAgKEFQSTo6QXV0b21hdGlvblNlc3Np
b25DbGllbnQ6OnNldFVzZXJJbnB1dEZvckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xp
ZW50Lm1tOgorICAgICAgICAoLVtXS0N1c3RvbVByb3RvY29sTG9hZGVyIGluaXRXaXRoTGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6Y3VzdG9tUHJvdG9jb2xJRDpyZXF1ZXN0Ol0pOgor
ICAgICAgICAoLVtXS0N1c3RvbVByb3RvY29sTG9hZGVyIGNvbm5lY3Rpb246ZGlkRmFpbFdpdGhF
cnJvcjpdKToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBjb25uZWN0aW9uOmRp
ZFJlY2VpdmVSZXNwb25zZTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Q
cm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZVBsdWdpblByb2Nlc3ND
YWxsYmFja0lEKToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpmZXRjaFdl
YnNpdGVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVX
ZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRl
V2Vic2l0ZURhdGFGb3JIb3N0TmFtZXMpOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZUNhbGxi
YWNrSUQpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9z
L1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW06CisgICAgICAgICgtW1dL
U2Nyb2xsaW5nTm9kZVNjcm9sbFZpZXdEZWxlZ2F0ZSBzY3JvbGxWaWV3V2lsbEVuZERyYWdnaW5n
OndpdGhWZWxvY2l0eTp0YXJnZXRDb250ZW50T2Zmc2V0Ol0pOgorICAgICAgICAqIFVJUHJvY2Vz
cy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpnZW5l
cmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VQ
cm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdl
UHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlN0b3Jh
Z2VQcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyk6CisgICAgICAgIChX
ZWJLaXQ6OmdlbmVyYXRlQ2FsbGJhY2tJRCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BE
Ri9QREZQbHVnaW4ubW06CisgICAgICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVj
dCBhY2Nlc3NpYmlsaXR5UGVyZm9ybUFjdGlvbjpdKToKKyAgICAgICAgKC1bV0tQREZQbHVnaW5B
Y2Nlc3NpYmlsaXR5T2JqZWN0IGFjY2Vzc2liaWxpdHlGb2N1c2VkVUlFbGVtZW50XSk6CisgICAg
ICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5QXNzb2Np
YXRlZENvbnRyb2xGb3JBbm5vdGF0aW9uOl0pOgorICAgICAgICAoLVtXS1BERlBsdWdpbkFjY2Vz
c2liaWxpdHlPYmplY3QgYWNjZXNzaWJpbGl0eUhpdFRlc3Q6XSk6CisgICAgICAgICgtW1dLUERG
TGF5ZXJDb250cm9sbGVyRGVsZWdhdGUgdXBkYXRlU2Nyb2xsUG9zaXRpb246XSk6CisgICAgICAg
IChXZWJLaXQ6OlBERlBsdWdpbjo6dXBkYXRlQ3Vyc29yKToKKyAgICAgICAgKFdlYktpdDo6Y29y
ZUN1cnNvcik6CisgICAgICAgIChhcHBlbmRWYWx1ZXNJblBERk5hbWVTdWJ0cmVlVG9WZWN0b3Ip
OiBEZWxldGVkLgorICAgICAgICAoZ2V0QWxsVmFsdWVzSW5QREZOYW1lVHJlZSk6IERlbGV0ZWQu
CisgICAgICAgIChnZXRBbGxTY3JpcHRzSW5QREZEb2N1bWVudCk6IERlbGV0ZWQuCisKIDIwMTgt
MDgtMjcgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAg
ICAgICBGaXggaW50ZXJuYWwgYnVpbGRzIGFmdGVyIHIyMzUzNjgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvU2NyaXB0cy9nZW5lcmF0ZS11bmlmaWVkLXNvdXJjZS1idW5kbGVzLnJiIGIvU291cmNl
L1dURi9TY3JpcHRzL2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKaW5kZXggYzAx
OTY2ZWUxYjJjNjdkOTc2MGYwM2E1YmJjYWEzY2I1NzI2MTJiMy4uYWJkOTc2NzdhMjBhZGI0ZDQ2
MmViOThmNzc4ZDk4MDI5YmRkNDk5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL2dl
bmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKKysrIGIvU291cmNlL1dURi9TY3JpcHRz
L2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKQEAgLTIxMCwxMCArMjEwLDE3IEBA
IGNsYXNzIEJ1bmRsZU1hbmFnZXIKICAgICBlbmQKIGVuZAogCitkZWYgVG9wTGV2ZWxEaXJlY3Rv
cnlGb3JQYXRoKHBhdGgpCisgICAgaWYgIXBhdGgKKyAgICAgICAgcmV0dXJuIG5pbAorICAgIGVu
ZAorICAgIHJldHVybiBwYXRoLmVhY2hfZmlsZW5hbWUubmV4dAorZW5kCisKIGRlZiBQcm9jZXNz
RmlsZUZvclVuaWZpZWRTb3VyY2VHZW5lcmF0aW9uKHNvdXJjZUZpbGUpCiAgICAgcGF0aCA9IHNv
dXJjZUZpbGUucGF0aAotICAgIGlmICgkY3VycmVudERpcmVjdG9yeSAhPSBwYXRoLmRpcm5hbWUp
Ci0gICAgICAgIGxvZygiRmx1c2hpbmcgYmVjYXVzZSBuZXcgZGlybmFtZTsgb2xkOiAjeyRjdXJy
ZW50RGlyZWN0b3J5fSwgbmV3OiAje3BhdGguZGlybmFtZX0iKQorICAgIGlmIChUb3BMZXZlbERp
cmVjdG9yeUZvclBhdGgoJGN1cnJlbnREaXJlY3RvcnkpICE9IFRvcExldmVsRGlyZWN0b3J5Rm9y
UGF0aChwYXRoLmRpcm5hbWUpKQorICAgICAgICBsb2coIkZsdXNoaW5nIGJlY2F1c2UgbmV3IHRv
cCBsZXZlbCBkaXJlY3Rvcnk7IG9sZDogI3skY3VycmVudERpcmVjdG9yeX0sIG5ldzogI3twYXRo
LmRpcm5hbWV9IikKICAgICAgICAgJGJ1bmRsZU1hbmFnZXJzLmVhY2hfdmFsdWUgeyB8eHwgeC5m
bHVzaCB9CiAgICAgICAgICRjdXJyZW50RGlyZWN0b3J5ID0gcGF0aC5kaXJuYW1lCiAgICAgZW5k
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYv
UGxhdGZvcm0uaAppbmRleCAwYzZlZmI4NjI5ODI1MzlkMmI0YjJjYzRmOGY4YjVmY2I0ZWM4OGU4
Li42N2NmYTkzMzEzYzkwNDIxZWI2Y2YxNzlkOThlZjcwM2RhMGU0OWRiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgK
QEAgLTEzMTQsNiArMTMxNCw3IEBACiAjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX1RP
VUNIX0JBUiAxCiAjZGVmaW5lIEhBVkVfQURWQU5DRURfU1BFTExfQ0hFQ0tJTkcgMQorI2RlZmlu
ZSBVU0VfRElDVEFUSU9OX0FMVEVSTkFUSVZFUyAxCiAKICNpZiBkZWZpbmVkKF9fTFA2NF9fKQog
I2RlZmluZSBFTkFCTEVfV0VCX1BMQVlCQUNLX0NPTlRST0xTX01BTkFHRVIgMQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyQ2FjaGVTdG9yYWdl
Q29ubmVjdGlvbi5jcHAKaW5kZXggYWQyMDkzMjE5Zjg4ZTZkYTNlMWQ2MDYyNGU0MWFlOWE0MWRm
NDkyNy4uMWViZGQ1ZGU0OGE3ZTdlMWM5NmEwMWM3OGZlZDdkYTViYzRmYjg4OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckNhY2hlU3Rv
cmFnZUNvbm5lY3Rpb24uY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJDYWNoZVF1
ZXJ5T3B0aW9ucy5oIgogI2luY2x1ZGUgIkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgiCisjaW5jbHVk
ZSAiQ2xpZW50T3JpZ2luLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJQYWdl
LmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKQEAgLTM2LDcgKzM3LDYgQEAKICNp
bmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCiAjaW5jbHVkZSAiV29ya2VyVGhyZWFkLmgiCiAKLQog
bmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU6OkRPTUNhY2hlRW5n
aW5lOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVEND
b250cm9sbGVyLmNwcAppbmRleCA5NjEzMmU2OTczN2FlOThhNjBmOTU0ZjFmMzExODM4NDEwNzFl
MGE5Li5jZGI3NzdlOTk5MjkyMjFjZjBhOGYwMTE0MmIyZDA3ZWRlOWVmZWQ0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29udHJvbGxlci5jcHAK
QEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShXRUJfUlRDKQogCisjaW5jbHVkZSAiRG9j
dW1lbnQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENQcm92aWRlci5oIgogI2luY2x1ZGUgIlJUQ1Bl
ZXJDb25uZWN0aW9uLmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5
bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuY3BwCmlu
ZGV4IGMyMDUzMzVlYWE4ZTkxOGE2ZDM4YWU0ZjJmZmM4MWFlZDQ1YTlhMGYuLjk0YjcxYzQ2NjE5
MjQxMzVjMjFhZWE2OWQ0ODk5ZDdiMDc1YTYyYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdFVw
ZGF0ZUV2ZW50LmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKFBBWU1FTlRfUkVR
VUVTVCkKIAorI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJQYXltZW50UmVxdWVz
dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZy
L1ZSRGlzcGxheS5jcHAKaW5kZXggYWRiNzUxZDBjMzljMGE1NmI1ZTRkYzFmNTQyMTBiZGFhNGVk
ZmY3OC4uYTkzM2Q5ODBmY2Y1YTk5MTc0YWIwZTBjNDAwMjA5MTZjYmYxYjM2NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNwcApAQCAtMjksNiArMjksNyBAQAog
I2luY2x1ZGUgIkNhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCIKICNpbmNsdWRlICJDaHJvbWUuaCIK
ICNpbmNsdWRlICJET01FeGNlcHRpb24uaCIKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNs
dWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlNjcmlwdGVk
QW5pbWF0aW9uQ29udHJvbGxlci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNl
c0NvY29hLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKaW5kZXggNjZmN2Yx
NmJkNjRmODJjNDMyYmVhZWQ4ZTcwZDFiNWZmMDYzYTUxNy4uOTU3ZTRiNWI2NjFiNDAyMGYwYTIx
ZWUwMDk1YzAxNzY0NmU0OTNhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlc0Nv
Y29hLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CkBAIC0zODksNyAr
Mzg5LDcgQEAgcGxhdGZvcm0vaW9zL1BsYXRmb3JtU2NyZWVuSU9TLm1tCiBwbGF0Zm9ybS9pb3Mv
UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9Q
bGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9R
dWlja0xvb2subW0KLXBsYXRmb3JtL2lvcy9RdWlja0xvb2tTb2Z0TGluay5tbQorcGxhdGZvcm0v
aW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1JlbW90ZUNv
bW1hbmRMaXN0ZW5lcklPUy5tbQogcGxhdGZvcm0vaW9zL1Njcm9sbEFuaW1hdG9ySU9TLm1tCiBw
bGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MubW0KQEAgLTM5OSw3ICszOTksNyBAQCBwbGF0
Zm9ybS9pb3MvU1NMS2V5R2VuZXJhdG9ySU9TLmNwcAogcGxhdGZvcm0vaW9zL1N5c3RlbU1lbW9y
eUlPUy5jcHAKIHBsYXRmb3JtL2lvcy9UaGVtZUlPUy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lv
cy9UaWxlQ29udHJvbGxlck1lbW9yeUhhbmRsZXJJT1MuY3BwCi1wbGF0Zm9ybS9pb3MvVXNlckFn
ZW50SU9TLm1tCitwbGF0Zm9ybS9pb3MvVXNlckFnZW50SU9TLm1tIEBuby11bmlmeQogcGxhdGZv
cm0vaW9zL1ZhbGlkYXRpb25CdWJibGVJT1MubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvVmlk
ZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvV2Vi
QVZQbGF5ZXJDb250cm9sbGVyLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNzI1NWQyNjVjNzcyMTVlYzA5YmEzOGQ5NjdjYTRj
ZDdlOGFhMTY1OC4uZTA1YzhhMGJlN2ZjYzgzNDVlMTVkNjg2ZDc3NzQ4Y2Q4NmJiNjE0YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtODA2LDYgKzgwNiw4IEBACiAJCTJEOEI5MkZGMjAzRDEzRTEwMDlDODY4RiAvKiBVbmlmaWVk
U291cmNlNTMwLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IERFNUY4NUQzMUZBMjM4NTkwMDZEQjYzQiAvKiBVbmlmaWVkU291cmNlNTMwLmNwcCAqLzsg
fTsKIAkJMkQ4RkVCREQxNDNFM0VGNzAwNzI1MDJCIC8qIENTU0Nyb3NzZmFkZVZhbHVlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDhGRUJEQjE0M0Uz
RUY3MDA3MjUwMkIgLyogQ1NTQ3Jvc3NmYWRlVmFsdWUuaCAqLzsgfTsKIAkJMkQ5MDY2MDcwQkUx
NDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyRDkwNjYwNTBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3Rh
dGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQky
RDkyQTc5QTIxMzRBRDc5MDBGNDkzRkQgLyogUXVpY2tMb29rU29mdExpbmsubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDM5MTdGRDFBOTFCMkY4MDA2
RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsubW0gKi87IH07CisJCTJEOTJBNzlEMjEzNEFGOTUw
MEY0OTNGRCAvKiBVc2VyQWdlbnRJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBM0FGOUQ4MzIwMzI1NjkxMDA2Q0FEMDYgLyogVXNlckFnZW50SU9T
Lm1tICovOyB9OwogCQkyRDkzQUVFMzE5REY1NjQxMDAyQTg2QzMgLyogU2VydmljZXNPdmVybGF5
Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMkQ5M0FFRTExOURGNTY0MTAwMkE4NkMzIC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIu
aCAqLzsgfTsKIAkJMkQ5N0YwNDcxOURENDEzQzAwMUVFOUMzIC8qIE1vY2tQYWdlT3ZlcmxheUNs
aWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
REFBRTMyQzE5RENBRjYwMDBFMDAyRDIgLyogTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmNwcCAqLzsg
fTsKIAkJMkQ5N0YwNDgxOURENDE0MDAwMUVFOUMzIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRBQUUzMkQx
OURDQUY2MDAwRTAwMkQyIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5oICovOyB9OwpAQCAtNzA3
Myw3ICs3MDc1LDcgQEAKIAkJMzM5QjVCNjIxMzFEQUEzMjAwRjQ4RDAyIC8qIENvb2tpZXNTdHJh
dGVneS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb29raWVzU3RyYXRlZ3ku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzY2MkY5ODQwNDdDRURCRTVERERBRkFB
IC8qIFJlbmRlck1hdGhNTE1lbmNsb3NlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFJlbmRlck1hdGhNTE1lbmNsb3NlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMzcxMTlBNzkyMENDQjYxMDAwMkM2REM5IC8qIFdlYktpdFRhcmdldENvbmRpdGlv
bmFscy54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBXZWJLaXRUYXJnZXRDb25kaXRpb25hbHMueGNj
b25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTM3MTdEN0U1MTdFQ0MzQTYwMDND
Mjc2RCAvKiBleHRyYWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5wZXJsOyBuYW1lID0g
ZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBsOyBwYXRoID0gIlNjcmlwdHMvZXh0cmFjdC1s
b2NhbGl6YWJsZS1zdHJpbmdzLnBsIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzcx
N0Q3RTUxN0VDQzNBNjAwM0MyNzZEIC8qIGV4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2Ny
aXB0LnBlcmw7IG5hbWUgPSAiZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBsIjsgcGF0aCA9
ICJTY3JpcHRzL2V4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCI7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTM3MUE2N0NBMTFDNkM3REIwMDA0N0I4QiAvKiBIeXBoZW5hdGlvbkNG
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEh5cGhlbmF0aW9uQ0Yu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzFFNjVDQjEzNjYxRURDMDBCRUVE
QjAgLyogUGFnZVNlcmlhbGl6ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UGFnZVNlcmlhbGl6ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzcxRTY1Q0Qx
MzY2MUVFRDAwQkVFREIwIC8qIFBhZ2VTZXJpYWxpemVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFBhZ2VTZXJpYWxpemVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTEzMzU4LDggKzEzMzYwLDggQEAKIAkJQ0RFNTk1OUMxQkYyNzU3MTAwQTFD
QkU4IC8qIENETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakMubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU2NTYwRTE3Q0E2RTc2MDA1MjZCQTcgLyog
bWVkaWFDb250cm9sc0FwcGxlLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gbWVkaWFDb250cm9s
c0FwcGxlLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU2NjdBMTFFNEJCQTRE
MDBFODE1NEEgLyogUGxhdGZvcm1BdWRpb0RhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUGxhdGZvcm1BdWRpb0RhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJQ0RFNjY3QTIxRTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBjb2NvYS9XZWJBdWRpb0J1ZmZlckxp
c3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlDREU2NjdBMzFFNEJCRjE1MDBF
ODE1NEEgLyogV2ViQXVkaW9CdWZmZXJMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IGNvY29hL1dlYkF1ZGlvQnVmZmVyTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlDREU2NjdBMjFFNEJCRjE1MDBFODE1NEEgLyogV2ViQXVkaW9CdWZmZXJMaXN0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYkF1ZGlvQnVmZmVyTGlz
dC5jcHA7IHBhdGggPSBjb2NvYS9XZWJBdWRpb0J1ZmZlckxpc3QuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDREU2NjdBMzFFNEJCRjE1MDBFODE1NEEgLyogV2ViQXVkaW9CdWZm
ZXJMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYkF1ZGlvQnVmZmVy
TGlzdC5oOyBwYXRoID0gY29jb2EvV2ViQXVkaW9CdWZmZXJMaXN0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUNERTdGQzQyMTgxOTA0QjEwMDJCQkI3NyAvKiBPcmRlckl0ZXJhdG9y
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE9yZGVySXRlcmF0b3Iu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU3RkM0MzE4MTkwNEIxMDAyQkJC
NzcgLyogT3JkZXJJdGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBP
cmRlckl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERTgzREFGMTgz
QzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTI0MCw4ICsxNTI0Miw4IEBACiAJCQkJNDExMDNBQTcx
RTM5NzkwQTAwNzY5RjE0IC8qIFJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZUNvY29hLmNwcCAq
LywKIAkJCQk0MTEwM0FBODFFMzk3OTBBMDA3NjlGMTQgLyogUmVhbHRpbWVPdXRnb2luZ0F1ZGlv
U291cmNlQ29jb2EuaCAqLywKIAkJCQk1Q0REODMzQjFFNDMyNEJCMDA2MjFCODMgLyogUmVhbHRp
bWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EuY3BwICovLAotCQkJCTQxOTI0MjQ3MjEyN0I3Q0Mw
MDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5tbSAqLywKIAkJCQk1
Q0REODMzQzFFNDMyNEJCMDA2MjFCODMgLyogUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29j
b2EuaCAqLywKKwkJCQk0MTkyNDI0NzIxMjdCN0NDMDA2MzRGQ0YgLyogUmVhbHRpbWVPdXRnb2lu
Z1ZpZGVvU291cmNlQ29jb2EubW0gKi8sCiAJCQkJMDcwQTlGNUUxRkZFQ0M3MDAwM0RGNjQ5IC8q
IFNjcmVlbkRpc3BsYXlDYXB0dXJlU291cmNlTWFjLmggKi8sCiAJCQkJMDcwQTlGNjAxRkZFQ0M3
MTAwM0RGNjQ5IC8qIFNjcmVlbkRpc3BsYXlDYXB0dXJlU291cmNlTWFjLm1tICovLAogCQkJCTA3
RDYzNzNFMUJCMEIxMTMwMDI1NkNFOSAvKiBXZWJBdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5o
ICovLApAQCAtMzE0NDYsNiArMzE0NDgsOCBAQAogCQkJCUFBMTJERjQ5MTc0M0RGODMwMDREQUZE
RiAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVySU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
Q0RBMjlBMzAxQ0JGNzRENDAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RBMjlBMTYxQ0JEQTU2QzAwOTAxQ0NGIC8qIFBsYXli
YWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJBNzlBMjEz
NEFENzkwMEY0OTNGRCAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAorCQkJ
CTQxOTI0MjQ5MjEyN0I5M0UwMDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VD
b2NvYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTMxNkRDQjhBMUU3QTY5OTYwMDFCNUY4NyAvKiBS
VENJY2VUcmFuc3BvcnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1MTE1NkUxMkIxNzQ5QzAw
Qzk2NzU0IC8qIFNjcm9sbEFuaW1hdG9yTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFRjg2
OUYwRTg0NEU5RDAwQTg1Q0Q1IC8qIFNjcm9sbGJhclRoZW1lTWFjLm1tIGluIFNvdXJjZXMgKi8s
CkBAIC0zMTU2Niw3ICszMTU3MCw2IEBACiAJCQkJNTM4RUM4QTExRjk5M0Y5RDAwNEQyMkE4IC8q
IFVuaWZpZWRTb3VyY2U0OC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlERTVGODU5OTFGQTFBQkY0
MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTQ5LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4
RUM4QTIxRjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U0OS5jcHAgaW4gU291cmNlcyAq
LywKLQkJCQk0MTkyNDI0OTIxMjdCOTNFMDA2MzRGQ0YgLyogUmVhbHRpbWVPdXRnb2luZ1ZpZGVv
U291cmNlQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQlERTVGODU5QTFGQTFBQkY0MDA2REI2
M0EgLyogVW5pZmllZFNvdXJjZTUwLW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4QTMx
Rjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U1MC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlERTVGODY1MDFGQTJBRjI0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTUxLW1tLm1tIGluIFNv
dXJjZXMgKi8sCkBAIC0zMjA2MCw2ICszMjA2Myw3IEBACiAJCQkJMkQ4QjkyRkQyMDNEMTNFMTAw
OUM4NjhGIC8qIFVuaWZpZWRTb3VyY2U1MjguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ4Qjky
RkUyMDNEMTNFMTAwOUM4NjhGIC8qIFVuaWZpZWRTb3VyY2U1MjkuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMkQ4QjkyRkYyMDNEMTNFMTAwOUM4NjhGIC8qIFVuaWZpZWRTb3VyY2U1MzAuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJMkQ5MkE3OUQyMTM0QUY5NTAwRjQ5M0ZEIC8qIFVzZXJBZ2VudElP
Uy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUzMjA0MjAyMUY5QTlGMTAwMEI4MUIyQSAvKiBVc2Vy
QWdlbnRTY3JpcHRzRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzNCNzk3MTE5MDg3NTdC
MDBCNDdBMkQgLyogVXNlck1lc3NhZ2VIYW5kbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdD
RTY4MzQ0MTkyMTQzQTgwMEY0RDkyOCAvKiBVc2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9yLmNw
cCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29y
aXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNEU0EuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2Fs
Z29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNEU0EuY3BwCmluZGV4IDk3MzE3ZTA0YTk3OTdmMTU2
MTZkZTRjNzYwOGI3NDVkOWZkZWRlZjcuLjFiNTNjNDUzYjM1MjUzNmI0ODEyZWRkMmFhNjRkOTFl
OTVkZjg1NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0Ny
eXB0b0FsZ29yaXRobUVDRFNBLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3Jp
dGhtcy9DcnlwdG9BbGdvcml0aG1FQ0RTQS5jcHAKQEAgLTM2LDEyICszNiwxNCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKK25hbWVzcGFjZSBDcnlwdG9BbGdvcml0aG1FQ0RTQUludGVybmFs
IHsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBBTEcyNTYgPSAiRVMyNTYiOwogc3RhdGljIGNv
bnN0IGNoYXIqIGNvbnN0IEFMRzM4NCA9ICJFUzM4NCI7CiBzdGF0aWMgY29uc3QgY2hhciogY29u
c3QgQUxHNTEyID0gIkVTNTEyIjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBQMjU2ID0gIlAt
MjU2IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBQMzg0ID0gIlAtMzg0IjsKIHN0YXRpYyBj
b25zdCBjaGFyKiBjb25zdCBQNTIxID0gIlAtNTIxIjsKK30KIAogUmVmPENyeXB0b0FsZ29yaXRo
bT4gQ3J5cHRvQWxnb3JpdGhtRUNEU0E6OmNyZWF0ZSgpCiB7CkBAIC0xMDIsNiArMTA0LDcgQEAg
dm9pZCBDcnlwdG9BbGdvcml0aG1FQ0RTQTo6Z2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3Jp
dGhtUGFyYW1ldGVycyYgcGFyYW1ldGUKIAogdm9pZCBDcnlwdG9BbGdvcml0aG1FQ0RTQTo6aW1w
b3J0S2V5KENyeXB0b0tleUZvcm1hdCBmb3JtYXQsIEtleURhdGEmJiBkYXRhLCBjb25zdCBDcnlw
dG9BbGdvcml0aG1QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlw
dG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMsIEtleUNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlv
bkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2spCiB7CisgICAgdXNpbmcgbmFtZXNwYWNlIENy
eXB0b0FsZ29yaXRobUVDRFNBSW50ZXJuYWw7CiAgICAgY29uc3QgYXV0byYgZWNQYXJhbWV0ZXJz
ID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtRWNLZXlQYXJhbXM+KHBhcmFtZXRlcnMpOwogCiAg
ICAgUmVmUHRyPENyeXB0b0tleUVDPiByZXN1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jcnlwdG8vZ2NyeXB0L0dDcnlwdFV0aWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlw
dG8vZ2NyeXB0L0dDcnlwdFV0aWxpdGllcy5jcHAKaW5kZXggMDkyZWVmN2RhNDY3ZWJjNGYzMGVi
Y2M1MDI2ZDQ5OTAwMTA0ZTlhMy4uZDg1MzNjODBhNmY4ZjU5YTIxMWRkNTJiMTZmODg4YjYzMzM1
ZmViNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2djcnlwdC9HQ3J5cHRVdGls
aXRpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nY3J5cHQvR0NyeXB0VXRpbGl0
aWVzLmNwcApAQCAtMjgsNiArMjgsOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IkdDcnlwdFV0aWxpdGllcy5oIgogCisjaW5jbHVkZSA8b3B0aW9uYWw+CisKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogc3RkOjpvcHRpb25hbDxjb25zdCBjaGFyKj4gaGFzaEFsZ29yaXRobU5hbWUo
Q3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBpZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApp
bmRleCAwYTFkOTAzNDE3ZDRjYTlkYzBlMzBiYmZmYWM0MWQxODhmMzFiZGJjLi5iMTgwYmM0MzM5
YTU5NmVhYjEzYjBkNGU5YjI2MTZiNGU3OTU5MjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAt
NjQxLDcgKzY0MSw3IEBAIHB1YmxpYzoKICAgICAKICAgICBXRUJDT1JFX0VYUE9SVCBEb2N1bWVu
dExvYWRlciogbG9hZGVyKCkgY29uc3Q7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRpb25P
cjxSZWZQdHI8V2luZG93UHJveHk+PiBvcGVuRm9yQmluZGluZ3MoRE9NV2luZG93JiBhY3RpdmVX
aW5kb3csIERPTVdpbmRvdyYgZmlyc3RXaW5kb3csIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBB
dG9taWNTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZmVhdHVyZXMpOworICAgIFdFQkNPUkVf
RVhQT1JUIEV4Y2VwdGlvbk9yPFJlZlB0cjxXaW5kb3dQcm94eT4+IG9wZW5Gb3JCaW5kaW5ncyhE
T01XaW5kb3cmIGFjdGl2ZVdpbmRvdywgRE9NV2luZG93JiBmaXJzdERPTVdpbmRvdywgY29uc3Qg
U3RyaW5nJiB1cmwsIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBmZWF0
dXJlcyk7CiAgICAgV0VCQ09SRV9FWFBPUlQgRXhjZXB0aW9uT3I8RG9jdW1lbnQmPiBvcGVuRm9y
QmluZGluZ3MoRG9jdW1lbnQqIHJlc3BvbnNpYmxlRG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgdHlw
ZSwgY29uc3QgU3RyaW5nJiByZXBsYWNlKTsKIAogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgcmVu
YW1lIHRoaXMgYXQgc29tZSBwb2ludCBhbmQgZ2l2ZSBiYWNrIHRoZSBuYW1lICdvcGVuJyB0byB0
aGUgSFRNTCBzcGVjaWZpZWQgb25lcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MVHJlZUJ1aWxkZXIuY3BwCmluZGV4IGU0MGY5YTg4NmYxNTkwNGU2MmYwZjI2ODhhODY5YTY5
ODg5YjRhODkuLmM3MzE5MjJhZjgyOTgzYjlkYWE2YmM3ZmU1MjI3ODYzNzMxNjgzZmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcApAQCAtMzIs
NiArMzIsNyBAQAogI2luY2x1ZGUgIkhUTUxEb2N1bWVudFBhcnNlci5oIgogI2luY2x1ZGUgIkhU
TUxGb3JtQ29udHJvbEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKKyNp
bmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE9wdEdyb3VwRWxlbWVu
dC5oIgogI2luY2x1ZGUgIkhUTUxPcHRpb25FbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFBhcnNl
cklkaW9tcy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0Fw
cGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5oCmluZGV4IDcyYjI5NzU1ZjEx
ZDk0MDk1ZmE3ZWRkNTMwOTY4ZjdjNTdiNTdiZWIuLjZkOWEyZGE5YmUwMzIwMDdhODJlZGE2OGMx
NmZkMmYyOGIxYzEyODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNo
ZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmgKQEAgLTI1LDYg
KzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hlUmVz
b3VyY2UuaCIKICNpbmNsdWRlICJDYWNoZWRSYXdSZXNvdXJjZS5oIgogI2luY2x1ZGUgIkNhY2hl
ZFJhd1Jlc291cmNlQ2xpZW50LmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0FsdGVybmF0aXZlVGV4dENsaWVudC5oCmluZGV4IDkzNTU5
Mzc4OGY5ODk5YzllMjI1MTA4OGI0ZTc2ZDAwNWQzZDJmOTguLjE0M2RhNmM0N2Y0YmNlZmMwYTQx
YWE4NzY0NjdkMDQ0NzE1YmE3MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWx0
ZXJuYXRpdmVUZXh0Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9BbHRlcm5hdGl2
ZVRleHRDbGllbnQuaApAQCAtMjksMTEgKzI5LDYgQEAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKLSNpZiBQTEFURk9STShNQUMpCi0v
LyBTb21lIHBsYXRmb3JtcyBwcm92aWRlIFVJIGZvciBzdWdnZXN0aW5nIGFsdGVybmF0aXZlIGRp
Y3RhdGlvbiB0ZXh0LgotI2RlZmluZSBVU0VfRElDVEFUSU9OX0FMVEVSTkFUSVZFUyAxCi0jZW5k
aWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBlbnVtIFJlYXNvbkZvckRpc21pc3NpbmdBbHRl
cm5hdGl2ZVRleHQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVi
b2FyZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCmluZGV4IGQ1NDMz
ZGQ5MjBhZTBlZTU5MmJkNDVmZDU2MGNkZDNlMzhhMzQ3MjEuLmUwOTgxNTY1MWJkMmQ2MDU3NGRh
NDIzNmMzODBmYWQ0ZDYwMjE1YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Bhc3RlYm9hcmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgK
QEAgLTMzOCw2ICszMzgsNyBAQCBleHRlcm4gTlNTdHJpbmcgKlVJQ29sb3JQYm9hcmRUeXBlOwog
I2lmIFBMQVRGT1JNKE1BQykKIGV4dGVybiBjb25zdCBjaGFyKiBjb25zdCBXZWJBcmNoaXZlUGJv
YXJkVHlwZTsKIGV4dGVybiBjb25zdCBjaGFyKiBjb25zdCBXZWJVUkxOYW1lUGJvYXJkVHlwZTsK
K2V4dGVybiBjb25zdCBjaGFyKiBjb25zdCBXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGU7CiAj
ZW5kaWYKIAogI2lmICFQTEFURk9STShHVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcAppbmRleCA5Njhi
YjIyODZhMWY3ZTU4NDY0ZWY4OGQ3OWU2MWVmNDI0OTAxNTVmLi4zZTJjODJiOGIxMmVkYTA5ZGI0
M2Y0YzEzMDE0YzViYmFjMGI3MDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKQEAgLTMwLDYgKzMw
LDcgQEAKIAogI2luY2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvckNsaWVudC5oIgogI2luY2x1
ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvck1hbmFnZXIuaCIKKyNpbmNsdWRlICJMb2dnaW5nLmgi
CiAKICNpZiBQTEFURk9STShJT1MpCiAjaW5jbHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9ySU9T
LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFt
aWx5U3BlY2lmaWNhdGlvbk51bGwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udEZhbWlseVNwZWNpZmljYXRpb25OdWxsLmNwcAppbmRleCAyMTc2OTFmNzIzOTc0ZTgw
MDU3OWIyOGNjMDU2YTdiOWMwODVjNjRkLi4xNWMwMzg3Njk4MjYwZjQwNWUyMmU1YmY1Mjc4MDAz
MDhjN2ZlM2JmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHAKQEAgLTI3LDYgKzI3
LDcgQEAKICNpbmNsdWRlICJGb250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuaCIKIAogI2luY2x1
ZGUgIkZvbnRTZWxlY3Rvci5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZ0hhc2gu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHTExheWVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5tbQppbmRleCAzZWQ3ZTQxZTdjNjg4NDZm
M2ZiYzE3MmNlNmJhOTg5ZmY4N2Y1N2ViLi44ZWUzNDhkODk5ODYzNDEzZDZiNjcxMzc2ZTViMWRh
NTRjYjEzNzYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJHTExheWVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL1dlYkdMTGF5ZXIubW0KQEAgLTQyLDEzICs0MiwxMSBAQAogI2ltcG9ydCA8T3BlbkdM
L2dsLmg+CiAjZW5kaWYKIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIEBpbXBsZW1lbnRh
dGlvbiBXZWJHTExheWVyCiAKIEBzeW50aGVzaXplIGNvbnRleHQ9X2NvbnRleHQ7CiAKLS0oaWQp
aW5pdFdpdGhHcmFwaGljc0NvbnRleHQzRDooR3JhcGhpY3NDb250ZXh0M0QqKWNvbnRleHQKKy0o
aWQpaW5pdFdpdGhHcmFwaGljc0NvbnRleHQzRDooV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Qq
KWNvbnRleHQKIHsKICAgICBfY29udGV4dCA9IGNvbnRleHQ7CiAgICAgc2VsZiA9IFtzdXBlciBp
bml0XTsKQEAgLTg2LDcgKzg0LDcgQEAgc3RhdGljIHZvaWQgZnJlZURhdGEodm9pZCAqLCBjb25z
dCB2b2lkICpkYXRhLCBzaXplX3QgLyogc2l6ZSAqLykKIH0KICNlbmRpZgogCi0tKENHSW1hZ2VS
ZWYpY29weUltYWdlU25hcHNob3RXaXRoQ29sb3JTcGFjZTooQ0dDb2xvclNwYWNlUmVmKWNvbG9y
U3BhY2UKKy0gKENHSW1hZ2VSZWYpY29weUltYWdlU25hcHNob3RXaXRoQ29sb3JTcGFjZTooQ0dD
b2xvclNwYWNlUmVmKWNvbG9yU3BhY2UKIHsKICAgICBpZiAoIV9jb250ZXh0KQogICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKQEAgLTk2LDcgKzk0LDcgQEAgLShDR0ltYWdlUmVmKWNvcHlJbWFnZVNu
YXBzaG90V2l0aENvbG9yU3BhY2U6KENHQ29sb3JTcGFjZVJlZiljb2xvclNwYWNlCiAKICAgICBS
ZXRhaW5QdHI8Q0dDb2xvclNwYWNlUmVmPiBpbWFnZUNvbG9yU3BhY2UgPSBjb2xvclNwYWNlOwog
ICAgIGlmICghaW1hZ2VDb2xvclNwYWNlKQotICAgICAgICBpbWFnZUNvbG9yU3BhY2UgPSBzUkdC
Q29sb3JTcGFjZVJlZigpOworICAgICAgICBpbWFnZUNvbG9yU3BhY2UgPSBXZWJDb3JlOjpzUkdC
Q29sb3JTcGFjZVJlZigpOwogCiAgICAgQ0dSZWN0IGxheWVyQm91bmRzID0gQ0dSZWN0SW50ZWdy
YWwoW3NlbGYgYm91bmRzXSk7CiAKQEAgLTE0MSwxOSArMTM5LDE5IEBAIC0gKHZvaWQpZGlzcGxh
eQogI2VuZGlmCiAKICAgICBfY29udGV4dC0+bWFya0xheWVyQ29tcG9zaXRlZCgpOwotICAgIFBs
YXRmb3JtQ0FMYXllciogbGF5ZXIgPSBQbGF0Zm9ybUNBTGF5ZXI6OnBsYXRmb3JtQ0FMYXllcigo
X19icmlkZ2Ugdm9pZCopc2VsZik7CisgICAgV2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyKiBsYXll
ciA9IFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXllcjo6cGxhdGZvcm1DQUxheWVyKChfX2JyaWRnZSB2
b2lkKilzZWxmKTsKICAgICBpZiAobGF5ZXIgJiYgbGF5ZXItPm93bmVyKCkpCiAgICAgICAgIGxh
eWVyLT5vd25lcigpLT5wbGF0Zm9ybUNBTGF5ZXJMYXllckRpZERpc3BsYXkobGF5ZXIpOwogfQog
CiAjaWYgVVNFKE9QRU5HTCkKLS0gKHZvaWQpYWxsb2NhdGVJT1N1cmZhY2VCYWNraW5nU3RvcmVX
aXRoU2l6ZTooSW50U2l6ZSlzaXplIHVzaW5nQWxwaGE6KEJPT0wpdXNpbmdBbHBoYQorLSAodm9p
ZClhbGxvY2F0ZUlPU3VyZmFjZUJhY2tpbmdTdG9yZVdpdGhTaXplOihXZWJDb3JlOjpJbnRTaXpl
KXNpemUgdXNpbmdBbHBoYTooQk9PTCl1c2luZ0FscGhhCiB7CiAgICAgX2J1ZmZlclNpemUgPSBz
aXplOwogICAgIF91c2luZ0FscGhhID0gdXNpbmdBbHBoYTsKLSAgICBfY29udGVudHNCdWZmZXIg
PSBXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShzaXplLCBzUkdCQ29sb3JTcGFjZVJlZigpKTsK
LSAgICBfZHJhd2luZ0J1ZmZlciA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUsIHNS
R0JDb2xvclNwYWNlUmVmKCkpOwotICAgIF9zcGFyZUJ1ZmZlciA9IFdlYkNvcmU6OklPU3VyZmFj
ZTo6Y3JlYXRlKHNpemUsIHNSR0JDb2xvclNwYWNlUmVmKCkpOworICAgIF9jb250ZW50c0J1ZmZl
ciA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUsIFdlYkNvcmU6OnNSR0JDb2xvclNw
YWNlUmVmKCkpOworICAgIF9kcmF3aW5nQnVmZmVyID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVh
dGUoc2l6ZSwgV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYoKSk7CisgICAgX3NwYXJlQnVmZmVy
ID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVhdGUoc2l6ZSwgV2ViQ29yZTo6c1JHQkNvbG9yU3Bh
Y2VSZWYoKSk7CiAKICAgICBBU1NFUlQoX2NvbnRlbnRzQnVmZmVyKTsKICAgICBBU1NFUlQoX2Ry
YXdpbmdCdWZmZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvV2ViR1BVTGF5ZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9XZWJHUFVMYXllci5tbQppbmRleCA1YzM1NTdmOGJkNjZhNjhjOTIzYjIzYWE2NDdi
YjcxNDg0MDllOWExLi4yNWVmYjhiNzQ3NjgwMjQ1NThkYmNkZjMwZjc0MzE4NzE0Njk1NWE4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVM
YXllci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJH
UFVMYXllci5tbQpAQCAtMzQsMTMgKzM0LDExIEBACiAjaW1wb3J0IDx3dGYvRmFzdE1hbGxvYy5o
PgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
LQogQGltcGxlbWVudGF0aW9uIFdlYkdQVUxheWVyCiAKIEBzeW50aGVzaXplIGNvbnRleHQ9X2Nv
bnRleHQ7CiAKLS0gKGlkKWluaXRXaXRoR1BVRGV2aWNlOihHUFVEZXZpY2UqKWNvbnRleHQKKy0g
KGlkKWluaXRXaXRoR1BVRGV2aWNlOihXZWJDb3JlOjpHUFVEZXZpY2UqKWNvbnRleHQKIHsKICAg
ICBzZWxmID0gW3N1cGVyIGluaXRdOwogICAgIF9jb250ZXh0ID0gY29udGV4dDsKQEAgLTUwLDcg
KzQ4LDcgQEAgLSAoaWQpaW5pdFdpdGhHUFVEZXZpY2U6KEdQVURldmljZSopY29udGV4dAogCiAj
aWYgUExBVEZPUk0oTUFDKQogICAgIHNlbGYuY29udGVudHNTY2FsZSA9IF9kZXZpY2VQaXhlbFJh
dGlvOwotICAgIHNlbGYuY29sb3JzcGFjZSA9IHNSR0JDb2xvclNwYWNlUmVmKCk7CisgICAgc2Vs
Zi5jb2xvcnNwYWNlID0gV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYoKTsKICNlbmRpZgogICAg
IHJldHVybiBzZWxmOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvbWV0YWwvR1BVQ29tbWFuZFF1ZXVlTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbQppbmRleCA4MjBhZjhi
YzE2ZGIzYjQ4NjVlNzliN2I4MjRkYjJjN2I0ZGYzZWNjLi4zMDNiMjVkYTNkNGE2NGVkMWIwMDMw
YjcyYjlmZGJjNmY5NjVjMzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbQpAQCAtMzEs
NiArMzEsNyBAQAogI2ltcG9ydCAiR1BVRGV2aWNlLmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAj
aW1wb3J0IDxNZXRhbC9NZXRhbC5oPgorI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1Bhc3RlYm9hcmRNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFz
dGVib2FyZE1hYy5tbQppbmRleCBjYjUwNGNmNTQzZWI3ZTgwZDc2NjVjZDFlNTdlMzA4OWFmZmIx
YTcwLi5mZDZlOTI5ODc3NGZhZjRmZTg3MzViZjI3NTY1YWRjOTUzMmJmNjM2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQpAQCAtNTIsMTAgKzUyLDEw
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY29uc3QgY2hhciogY29uc3QgV2ViQXJjaGl2ZVBi
b2FyZFR5cGUgPSAiQXBwbGUgV2ViIEFyY2hpdmUgcGFzdGVib2FyZCB0eXBlIjsKIGNvbnN0IGNo
YXIqIGNvbnN0IFdlYlVSTE5hbWVQYm9hcmRUeXBlID0gInB1YmxpYy51cmwtbmFtZSI7Citjb25z
dCBjaGFyKiBjb25zdCBXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGUgPSAiV2ViVVJMc1dpdGhU
aXRsZXNQYm9hcmRUeXBlIjsKIAogY29uc3QgY2hhciBXZWJTbWFydFBhc3RlUGJvYXJkVHlwZVtd
ID0gIk5lWFQgc21hcnQgcGFzdGUgcGFzdGVib2FyZCB0eXBlIjsKIGNvbnN0IGNoYXIgV2ViVVJM
UGJvYXJkVHlwZVtdID0gInB1YmxpYy51cmwiOwotY29uc3QgY2hhciBXZWJVUkxzV2l0aFRpdGxl
c1Bib2FyZFR5cGVbXSA9ICJXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGUiOwogCiBzdGF0aWMg
Y29uc3QgVmVjdG9yPFN0cmluZz4gd3JpdGFibGVUeXBlc0ZvclVSTCgpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVN
YW5hZ2VyQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L0Rpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29hLmNwcAppbmRleCA1YzJhOWQyNDE5OGExM2U0OGM0
ZjczZTlkZTYxZGQzN2FkZTkyNTUxLi5mNDkyZTYxNDJmMDIzMWI5OTdlOTZiYTU5Mjc5NTg4NTY4
MDkzM2FjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9t
YWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAKQEAg
LTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKKyNpbmNsdWRlICJD
b3JlVmlkZW9Tb2Z0TGluay5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlIDx3dGYv
QWxnb3JpdGhtcy5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5j
cHAKaW5kZXggMjU0MDk2NTZjM2Q2MzIwMzYxNjVmYWIxZGQ3NDllODhmY2E2ODQ4Mi4uZmY1ODM2
MTc0ZWFiOTU5NTI4YTIwN2JmYmFhYjYwMDM5ZDliNTAzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwCkBAIC0y
OSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiSFRUUEhlYWRlck5hbWVzLmgiCiAjaW5jbHVkZSAiUHVi
bGljU3VmZml4LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCisjaW5jbHVkZSAiUmVz
b3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5UG9saWN5LmgiCiAjaW5jbHVkZSA8
d3RmL1BvaW50ZXJDb21wYXJpc29uLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5ldC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0Zvcm1EYXRhU3RyZWFtQ0ZOZXQuY3BwCmluZGV4IDI5MDI1
ZDM4YTdmZDM2ZmY5Yjk5NjIzOTFmMDgwODcwMjFmZjEzMGUuLmU1MzIxYzI3ZDRkOTY4YzY2ZTRj
ZDRjNjc3OTYzZjVhN2Q2Y2FkZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5ldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9jZi9Gb3JtRGF0YVN0cmVhbUNGTmV0LmNwcApAQCAtNDIsMTEgKzQy
LDcgQEAKICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVh
ZGluZy5oPgogCi0jaWYgUExBVEZPUk0oSU9TKSAmJiAhUExBVEZPUk0oSU9TTUFDKQotc3RhdGlj
IGNvbnN0IFNJbnQzMiBmbmZFcnIgPSAtNDM7Ci0jZWxpZiBQTEFURk9STShNQUMpCi0jaW5jbHVk
ZSA8Q29yZVNlcnZpY2VzL0NvcmVTZXJ2aWNlcy5oPgotI2VuZGlmCitzdGF0aWMgY29uc3QgU0lu
dDMyIGZpbGVOb3RGb3VuZEVycm9yID0gLTQzOwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiBleHRl
cm4gIkMiIHZvaWQgQ0ZVUkxSZXF1ZXN0U2V0SFRUUFJlcXVlc3RCb2R5KENGTXV0YWJsZVVSTFJl
cXVlc3RSZWYgbXV0YWJsZUhUVFBSZXF1ZXN0LCBDRkRhdGFSZWYgaHR0cEJvZHkpOwpAQCAtMjQx
LDcgKzIzNyw3IEBAIHN0YXRpYyBCb29sZWFuIGZvcm1PcGVuKENGUmVhZFN0cmVhbVJlZiwgQ0ZT
dHJlYW1FcnJvciogZXJyb3IsIEJvb2xlYW4qIG9wZW5Db21wCiAjaWYgUExBVEZPUk0oV0lOKQog
ICAgICAgICBFTk9FTlQ7CiAjZWxzZQotICAgICAgICBmbmZFcnI7CisgICAgICAgIGZpbGVOb3RG
b3VuZEVycm9yOwogI2VuZGlmCiAgICAgcmV0dXJuIG9wZW5lZDsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxv
dy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxk
ZXJCbG9ja0Zsb3cuY3BwCmluZGV4IDNiYzgyYzZlMWFiZDJmYWM0M2IwOTljOGU2ZTNjY2YzNjZk
ZDg1M2IuLjJjMmI1MDhmYWM1YzZmYzg0NjI4NWM5ZmZhODk1YTdiNDAyMmI4ZWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJs
b2NrRmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRl
clRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcApAQCAtMjcsNiArMjcsOCBAQAogI2luY2x1ZGUgIlJl
bmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmgiCiAKICNpbmNsdWRlICJSZW5kZXJNdWx0aUNvbHVt
bkZsb3cuaCIKKyNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlckJsb2NrLmgiCisjaW5jbHVkZSAi
UmVuZGVyVHJlZUJ1aWxkZXJNdWx0aUNvbHVtbi5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVl
QnVpbGRlcklubGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVu
ZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwCmluZGV4IDdjZDA3MTVkZjUyNGE3NmZkMjA2YTIzNDI4
ZDlkYWM3ZDdkODUzZjguLmRjOTUzY2NkY2VlODMwMWRmZDA1OTdhNjFkMDUyZTNjNTBiOWY2MWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVl
QnVpbGRlcklubGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5n
L1JlbmRlclRyZWVCdWlsZGVySW5saW5lLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUg
IlJlbmRlckZ1bGxTY3JlZW4uaCIKICNpbmNsdWRlICJSZW5kZXJJbmxpbmUuaCIKICNpbmNsdWRl
ICJSZW5kZXJUYWJsZS5oIgorI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyVGFibGUuaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9B
UElXZWJBcmNoaXZlLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZS5tbQpp
bmRleCBiMTc0MmZkZmRkMzg2OWVhZGQzZDdjNWFlZTcwNWU2NjFmOTdlZWRjLi5iOGM5NzJmN2Vj
MThlYjdkNGM5YTcxZGUyYjRlMWUyYzY1ZGU4NzY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9BUElXZWJBcmNoaXZlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdl
YkFyY2hpdmUubW0KQEAgLTM0LDkgKzM0LDggQEAKICNpbmNsdWRlIDxXZWJDb3JlL0xlZ2FjeVdl
YkFyY2hpdmUuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKLXVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwotCiBuYW1lc3BhY2UgQVBJIHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwog
CiBSZWY8V2ViQXJjaGl2ZT4gV2ViQXJjaGl2ZTo6Y3JlYXRlKFdlYkFyY2hpdmVSZXNvdXJjZSog
bWFpblJlc291cmNlLCBSZWZQdHI8QVBJOjpBcnJheT4mJiBzdWJyZXNvdXJjZXMsIFJlZlB0cjxB
UEk6OkFycmF5PiYmIHN1YmZyYW1lQXJjaGl2ZXMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW0KaW5kZXggY2FlNWI4NWRmMTc3ZGRkZTY4ZDg1MmU1
ZTUwNmQ4ZDkyYmUyZWE5NC4uZGMwZjkwZjBmMzg1MWFiZjEwMDQ4NGJhNTczYWU0YWY4ZTgwYjIz
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNl
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmVSZXNvdXJjZS5tbQpA
QCAtMzMsOSArMzMsOCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvVVJMLmg+CiAjaW5jbHVkZSA8d3Rm
L1JldGFpblB0ci5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogbmFtZXNwYWNlIEFQ
SSB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogUmVmPFdlYkFyY2hpdmVSZXNvdXJjZT4g
V2ViQXJjaGl2ZVJlc291cmNlOjpjcmVhdGUoQVBJOjpEYXRhKiBkYXRhLCBjb25zdCBTdHJpbmcm
IFVSTCwgY29uc3QgU3RyaW5nJiBNSU1FVHlwZSwgY29uc3QgU3RyaW5nJiB0ZXh0RW5jb2Rpbmcp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21h
Yy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdp
bnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tCmluZGV4IDY4ZDdjNmFk
ZjM2Mjc1MTMxMjk2MzU2Mjg2ZjExZTg0OWMxNGMyYzAuLmMwY2NhYzU5ODUzY2ZhZmZkOWZmMWQx
ZTNkNjhiNjdkNjQ1N2Y3YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdp
bnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxlTWFj
Lm1tCkBAIC0zNCw5ICszNCw4IEBACiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgogI2ltcG9y
dCA8d3RmL3NwaS9jZi9DRkJ1bmRsZVNQSS5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
LQogbmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogc3RhdGlj
IGJvb2wgZ2V0UGx1Z2luQXJjaGl0ZWN0dXJlKENGQnVuZGxlUmVmIGJ1bmRsZSwgUGx1Z2luTW9k
dWxlSW5mbyYgcGx1Z2luKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1
Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW0gYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9QbHVnaW5JbmZvcm1hdGlvbk1hYy5tbQppbmRl
eCA1ZWM4NDI0OTU5Y2JjMTkyODg2ZmE3NWFiZjAzZjNkODg1YmNiMWQ5Li4zMjU4NGQ0MTZiZTBm
ZjI1ZTllOTFkZGY0Mjg3MGUzMzk0ZjQ5MzY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9QbHVnaW5JbmZvcm1hdGlvbk1hYy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9QbHVnaW5JbmZvcm1hdGlv
bk1hYy5tbQpAQCAtMzQsOSArMzQsOCBAQAogI2ltcG9ydCAiU3RyaW5nVXRpbGl0aWVzLmgiCiAj
aW1wb3J0IDxXZWJDb3JlL1BsdWdpbkJsYWNrbGlzdC5oPgogCi11c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKLQogbmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAog
dm9pZCBnZXRQbGF0Zm9ybVBsdWdpbk1vZHVsZUluZm9ybWF0aW9uKGNvbnN0IFBsdWdpbk1vZHVs
ZUluZm8mIHBsdWdpbiwgQVBJOjpEaWN0aW9uYXJ5OjpNYXBUeXBlJiBtYXApCiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJj
ZXNDb2NvYS50eHQKaW5kZXggZDhhM2M5MGRmZmUzMjIzMjJkNzYzZWUyMWU3Y2JhNDUwZmU4NWZj
Zi4uNGI4ZDQ4MDZiNDRmMjIwNDY1ODU3N2ViN2E5Njc4Y2I4ZTM0NzliZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNl
c0NvY29hLnR4dApAQCAtMjk4LDkgKzI5OCw5IEBAIFVJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5t
bSBAbm8tdW5pZnkKIAogVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGlu
YXRvclByb3h5Q29jb2EubW0KIAotVUlQcm9jZXNzL0FwcGxlUGF5L2lvcy9XZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eUlPUy5tbQorVUlQcm9jZXNzL0FwcGxlUGF5L2lvcy9XZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eUlPUy5tbSBAbm8tdW5pZnkKIAotVUlQcm9jZXNzL0FwcGxlUGF5L21hYy9X
ZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbQorVUlQcm9jZXNzL0FwcGxlUGF5L21hYy9X
ZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbSBAbm8tdW5pZnkKIAogVUlQcm9jZXNzL0F1
dGhlbnRpY2F0aW9uL2NvY29hL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHlDb2NvYS5tbQog
VUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL2NvY29hL1NlY0tleVByb3h5U3RvcmUubW0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElBdXRvbWF0aW9uU2Vzc2lvbkNs
aWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9u
Q2xpZW50LmgKaW5kZXggYmZjNWVlMzM4MjIwZDkxNTZmY2NmMDBjMWU3NmQwYmJlZTkwNDE5MC4u
Mzc5Yzg4NTdiZTk0YjYxOTU1NWVkZmZlYzRjM2E5YTZlMTc3OTQ4NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50
LmgKQEAgLTUxLDcgKzUxLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB+QXV0b21hdGlvblNl
c3Npb25DbGllbnQoKSB7IH0KIAotICAgIHZpcnR1YWwgU3RyaW5nIHNlc3Npb25JZGVudGlmaWVy
KCkgY29uc3QgeyByZXR1cm4gU3RyaW5nKCk7IH0KKyAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIHNl
c3Npb25JZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gV1RGOjpTdHJpbmcoKTsgfQogICAgIHZp
cnR1YWwgdm9pZCBkaWREaXNjb25uZWN0RnJvbVJlbW90ZShXZWJLaXQ6OldlYkF1dG9tYXRpb25T
ZXNzaW9uJikgeyB9CiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3ROZXdQYWdlV2l0aE9wdGlvbnMo
V2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIEF1dG9tYXRpb25TZXNzaW9uQnJvd3NpbmdD
b250ZXh0T3B0aW9ucywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJLaXQ6OldlYlBhZ2VQcm94
eSopPiYmIGNvbXBsZXRpb25IYW5kbGVyKSB7IGNvbXBsZXRpb25IYW5kbGVyKG51bGxwdHIpOyB9
CiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RNYXhpbWl6ZVdpbmRvd09mUGFnZShXZWJLaXQ6Oldl
YkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIoKTsg
fQpAQCAtNjEsOCArNjEsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzU2hvd2luZ0ph
dmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktp
dDo6V2ViUGFnZVByb3h5JikgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlz
bWlzc0N1cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNl
c3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBhY2Nl
cHRDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNz
aW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IH0KLSAgICB2aXJ0dWFsIFN0cmluZyBtZXNz
YWdlT2ZDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25T
ZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IHJldHVybiBTdHJpbmcoKTsgfQotICAg
IHZpcnR1YWwgdm9pZCBzZXRVc2VySW5wdXRGb3JDdXJyZW50SmF2YVNjcmlwdFByb21wdE9uUGFn
ZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBj
b25zdCBTdHJpbmcmKSB7IH0KKyAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIG1lc3NhZ2VPZkN1cnJl
bnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBX
ZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgcmV0dXJuIFdURjo6U3RyaW5nKCk7IH0KKyAgICB2aXJ0
dWFsIHZvaWQgc2V0VXNlcklucHV0Rm9yQ3VycmVudEphdmFTY3JpcHRQcm9tcHRPblBhZ2UoV2Vi
S2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JiwgY29uc3Qg
V1RGOjpTdHJpbmcmKSB7IH0KICAgICB2aXJ0dWFsIHN0ZDo6b3B0aW9uYWw8SmF2YVNjcmlwdERp
YWxvZ1R5cGU+IHR5cGVPZkN1cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2Vi
QXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgcmV0dXJuIHN0ZDo6
bnVsbG9wdDsgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tCmluZGV4
IDExYmEzNzI2NTQ4M2ZmZTdmZjI0NjUwOTQwZDhmMzNhNTJjMGMwNGEuLjE5YTU5YjQyY2FiN2I1
NDdlZDk0NDYwZTcyZmMwMzk2Y2ZlNzkyODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJD
bGllbnQubW0KQEAgLTMyLDIzICszMiwyMCBAQAogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJl
cXVlc3QuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgogCi11c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KIEBpbnRlcmZhY2Ug
V0tDdXN0b21Qcm90b2NvbExvYWRlciA6IE5TT2JqZWN0IDxOU1VSTENvbm5lY3Rpb25EZWxlZ2F0
ZT4gewogQHByaXZhdGUKLSAgICBMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSogX2N1
c3RvbVByb3RvY29sTWFuYWdlclByb3h5OworICAgIFdlYktpdDo6TGVnYWN5Q3VzdG9tUHJvdG9j
b2xNYW5hZ2VyUHJveHkqIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTsKICAgICB1aW50NjRf
dCBfY3VzdG9tUHJvdG9jb2xJRDsKICAgICBOU1VSTENhY2hlU3RvcmFnZVBvbGljeSBfc3RvcmFn
ZVBvbGljeTsKICAgICBOU1VSTENvbm5lY3Rpb24gKl91cmxDb25uZWN0aW9uOwogfQotLSAoaWQp
aW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTooTGVnYWN5Q3VzdG9tUHJv
dG9jb2xNYW5hZ2VyUHJveHkqKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5IGN1c3RvbVByb3Rv
Y29sSUQ6KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVzdDooTlNVUkxSZXF1ZXN0ICop
cmVxdWVzdDsKKy0gKGlkKWluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6
KFdlYktpdDo6TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqKWN1c3RvbVByb3RvY29s
TWFuYWdlclByb3h5IGN1c3RvbVByb3RvY29sSUQ6KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQg
cmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdDsKIC0gKHZvaWQpY3VzdG9tUHJvdG9jb2xN
YW5hZ2VyUHJveHlEZXN0cm95ZWQ7CiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXS0N1c3RvbVBy
b3RvY29sTG9hZGVyCiAKLS0gKGlkKWluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
UHJveHk6KExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiljdXN0b21Qcm90b2NvbE1h
bmFnZXJQcm94eSBjdXN0b21Qcm90b2NvbElEOih1aW50NjRfdCljdXN0b21Qcm90b2NvbElEIHJl
cXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QKKy0gKGlkKWluaXRXaXRoTGVnYWN5Q3VzdG9t
UHJvdG9jb2xNYW5hZ2VyUHJveHk6KFdlYktpdDo6TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
UHJveHkqKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5IGN1c3RvbVByb3RvY29sSUQ6KHVpbnQ2
NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdAogewog
ICAgIHNlbGYgPSBbc3VwZXIgaW5pdF07CiAgICAgaWYgKCFzZWxmKQpAQCAtODUsNyArODIsNyBA
QCAtICh2b2lkKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5RGVzdHJveWVkCiAKIC0gKHZvaWQp
Y29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiBkaWRGYWlsV2l0aEVycm9y
OihOU0Vycm9yICopZXJyb3IKIHsKLSAgICBSZXNvdXJjZUVycm9yIGNvcmVFcnJvcihlcnJvcik7
CisgICAgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBjb3JlRXJyb3IoZXJyb3IpOwogICAgIF9jdXN0
b21Qcm90b2NvbE1hbmFnZXJQcm94eS0+ZGlkRmFpbFdpdGhFcnJvcihfY3VzdG9tUHJvdG9jb2xJ
RCwgY29yZUVycm9yKTsKICAgICBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHktPnN0b3BMb2Fk
aW5nKF9jdXN0b21Qcm90b2NvbElEKTsKIH0KQEAgLTk5LDcgKzk2LDcgQEAgLSAoTlNDYWNoZWRV
UkxSZXNwb25zZSAqKWNvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gd2ls
bENhY2hlUmVzcG8KIAogLSAodm9pZCljb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25u
ZWN0aW9uIGRpZFJlY2VpdmVSZXNwb25zZTooTlNVUkxSZXNwb25zZSAqKXJlc3BvbnNlCiB7Ci0g
ICAgUmVzb3VyY2VSZXNwb25zZSBjb3JlUmVzcG9uc2UocmVzcG9uc2UpOworICAgIFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2UgY29yZVJlc3BvbnNlKHJlc3BvbnNlKTsKICAgICBfY3VzdG9tUHJv
dG9jb2xNYW5hZ2VyUHJveHktPmRpZFJlY2VpdmVSZXNwb25zZShfY3VzdG9tUHJvdG9jb2xJRCwg
Y29yZVJlc3BvbnNlLCBfc3RvcmFnZVBvbGljeSk7CiB9CiAKQEAgLTEyNyw2ICsxMjQsNyBAQCAt
ICh2b2lkKWNvbm5lY3Rpb25EaWRGaW5pc2hMb2FkaW5nOihOU1VSTENvbm5lY3Rpb24gKiljb25u
ZWN0aW9uCiBAZW5kCiAKIG5hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CiAKIHZvaWQgTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50OjpzdGFydExvYWRp
bmcoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkmIG1hbmFnZXIsIHVpbnQ2NF90IGN1
c3RvbVByb3RvY29sSUQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgY29yZVJlcXVlc3QpCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQ
cm94eS5jcHAKaW5kZXggYzJiOTFhNjM5NzNlNjMxMjBhYWU1MjhmODk3NTM4NWY3YjZkYmY2Mi4u
ZWRlZDljN2QyYTRlNThlM2QwNThkODMyNjgzMTA5ODE4MmFmNDQ3NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcApA
QCAtNDgsNyArNDgsNyBAQCBzdGF0aWMgY29uc3QgU2Vjb25kcyBzbmFwc2hvdHRpbmdNaW5pbXVt
TGlmZXRpbWUgeyAzMF9zIH07CiBzdGF0aWMgY29uc3QgU2Vjb25kcyBzaHV0ZG93blRpbWVvdXQg
eyAxX21pbiB9Owogc3RhdGljIGNvbnN0IFNlY29uZHMgc25hcHNob3R0aW5nU2h1dGRvd25UaW1l
b3V0IHsgMTVfcyB9OwogCi1zdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVDYWxsYmFja0lEKCkKK3N0
YXRpYyB1aW50NjRfdCBnZW5lcmF0ZVBsdWdpblByb2Nlc3NDYWxsYmFja0lEKCkKIHsKICAgICBz
dGF0aWMgdWludDY0X3QgY2FsbGJhY2tJRDsKIApAQCAtMTE0LDcgKzExNCw3IEBAIHZvaWQgUGx1
Z2luUHJvY2Vzc1Byb3h5OjpnZXRQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbihNZXNzYWdlczo6V2Vi
UHJvY2Vzc1Byb3h5OjpHCiAKIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVE
YXRhKENvbXBsZXRpb25IYW5kbGVyPHZvaWQgKFZlY3RvcjxTdHJpbmc+KT4mJiBjb21wbGV0aW9u
SGFuZGxlcikKIHsKLSAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lE
KCk7CisgICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxi
YWNrSUQoKTsKICAgICBtX3BlbmRpbmdGZXRjaFdlYnNpdGVEYXRhQ2FsbGJhY2tzLnNldChjYWxs
YmFja0lELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAKICAgICBpZiAoc3RhdGUoKSA9
PSBTdGF0ZTo6TGF1bmNoaW5nKSB7CkBAIC0xMjcsNyArMTI3LDcgQEAgdm9pZCBQbHVnaW5Qcm9j
ZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAoVmVjdG9y
PFN0cmluZz4KIAogdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhKFdh
bGxUaW1lIG1vZGlmaWVkU2luY2UsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQgKCk+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCiB7Ci0gICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJh
Y2tJRCgpOworICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVBsdWdpblByb2Nlc3ND
YWxsYmFja0lEKCk7CiAgICAgbV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFDYWxsYmFja3Muc2V0
KGNhbGxiYWNrSUQsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIGlmIChzdGF0
ZSgpID09IFN0YXRlOjpMYXVuY2hpbmcpIHsKQEAgLTE0MCw3ICsxNDAsNyBAQCB2b2lkIFBsdWdp
blByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEoV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSwg
Q29tcGxldGlvbkhhbgogCiB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURh
dGFGb3JIb3N0TmFtZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGhvc3ROYW1lcywgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICB1aW50NjRfdCBj
YWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7CisgICAgdWludDY0X3QgY2FsbGJhY2tJ
RCA9IGdlbmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQoKTsKICAgICBtX3BlbmRpbmdEZWxl
dGVXZWJzaXRlRGF0YUZvckhvc3ROYW1lc0NhbGxiYWNrcy5zZXQoY2FsbGJhY2tJRCwgV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAgaWYgKHN0YXRlKCkgPT0gU3RhdGU6OkxhdW5j
aGluZykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJU
cmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xs
aW5nTm9kZURlbGVnYXRlSU9TLm1tCmluZGV4IDRhMmUyOWI1NjA5NjFhNTliMWNiNTUxOTc4Mzkx
NDljMzEwNjg0YzIuLjcyYTg4MmYwNTgxZDVlYWM5MWZjMTRiYzA1YTAyZjE0NGYxNmMxMWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Ny
b2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
RGVsZWdhdGVJT1MubW0KQEAgLTQzLDggKzQzLDYgQEAKICNpbXBvcnQgPFdlYkNvcmUvU2Nyb2xs
U25hcE9mZnNldHNJbmZvLmg+CiAjZW5kaWYKIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0K
IEBpbXBsZW1lbnRhdGlvbiBXS1Njcm9sbGluZ05vZGVTY3JvbGxWaWV3RGVsZWdhdGUKIAogLSAo
aW5zdGFuY2V0eXBlKWluaXRXaXRoU2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZTooV2ViS2l0OjpT
Y3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TKilkZWxlZ2F0ZQpAQCAtODAsNyAr
NzgsNyBAQCAtICh2b2lkKXNjcm9sbFZpZXdXaWxsRW5kRHJhZ2dpbmc6KFVJU2Nyb2xsVmlldyAq
KXNjcm9sbFZpZXcgd2l0aFZlbG9jaXR5OihDR1BvaQogCiAgICAgaWYgKCFfc2Nyb2xsaW5nVHJl
ZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0cygpLmlz
RW1wdHkoKSkgewogICAgICAgICB1bnNpZ25lZCBpbmRleDsKLSAgICAgICAgZmxvYXQgcG90ZW50
aWFsU25hcFBvc2l0aW9uID0gY2xvc2VzdFNuYXBPZmZzZXQoX3Njcm9sbGluZ1RyZWVOb2RlRGVs
ZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNldHMoKSwgX3Njcm9sbGlu
Z1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNldFJh
bmdlcygpLCBob3Jpem9udGFsVGFyZ2V0LCB2ZWxvY2l0eS54LCBpbmRleCk7CisgICAgICAgIGZs
b2F0IHBvdGVudGlhbFNuYXBQb3NpdGlvbiA9IFdlYkNvcmU6OmNsb3Nlc3RTbmFwT2Zmc2V0KF9z
Y3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuaG9yaXpvbnRhbFNuYXBP
ZmZzZXRzKCksIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuaG9y
aXpvbnRhbFNuYXBPZmZzZXRSYW5nZXMoKSwgaG9yaXpvbnRhbFRhcmdldCwgdmVsb2NpdHkueCwg
aW5kZXgpOwogICAgICAgICBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9k
ZSgpLnNldEN1cnJlbnRIb3Jpem9udGFsU25hcFBvaW50SW5kZXgoaW5kZXgpOwogICAgICAgICBp
ZiAoaG9yaXpvbnRhbFRhcmdldCA+PSAwICYmIGhvcml6b250YWxUYXJnZXQgPD0gc2Nyb2xsVmll
dy5jb250ZW50U2l6ZS53aWR0aCkKICAgICAgICAgICAgIHRhcmdldENvbnRlbnRPZmZzZXQtPngg
PSBwb3RlbnRpYWxTbmFwUG9zaXRpb247CkBAIC04OCw3ICs4Niw3IEBAIC0gKHZvaWQpc2Nyb2xs
Vmlld1dpbGxFbmREcmFnZ2luZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldyB3aXRoVmVsb2Np
dHk6KENHUG9pCiAKICAgICBpZiAoIV9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxp
bmdOb2RlKCkudmVydGljYWxTbmFwT2Zmc2V0cygpLmlzRW1wdHkoKSkgewogICAgICAgICB1bnNp
Z25lZCBpbmRleDsKLSAgICAgICAgZmxvYXQgcG90ZW50aWFsU25hcFBvc2l0aW9uID0gY2xvc2Vz
dFNuYXBPZmZzZXQoX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52
ZXJ0aWNhbFNuYXBPZmZzZXRzKCksIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxp
bmdOb2RlKCkudmVydGljYWxTbmFwT2Zmc2V0UmFuZ2VzKCksIHZlcnRpY2FsVGFyZ2V0LCB2ZWxv
Y2l0eS55LCBpbmRleCk7CisgICAgICAgIGZsb2F0IHBvdGVudGlhbFNuYXBQb3NpdGlvbiA9IFdl
YkNvcmU6OmNsb3Nlc3RTbmFwT2Zmc2V0KF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3Jv
bGxpbmdOb2RlKCkudmVydGljYWxTbmFwT2Zmc2V0cygpLCBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxl
Z2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2FsU25hcE9mZnNldFJhbmdlcygpLCB2ZXJ0aWNh
bFRhcmdldCwgdmVsb2NpdHkueSwgaW5kZXgpOwogICAgICAgICBfc2Nyb2xsaW5nVHJlZU5vZGVE
ZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnNldEN1cnJlbnRWZXJ0aWNhbFNuYXBQb2ludEluZGV4
KGluZGV4KTsKICAgICAgICAgaWYgKHZlcnRpY2FsVGFyZ2V0ID49IDAgJiYgdmVydGljYWxUYXJn
ZXQgPD0gc2Nyb2xsVmlldy5jb250ZW50U2l6ZS5oZWlnaHQpCiAgICAgICAgICAgICB0YXJnZXRD
b250ZW50T2Zmc2V0LT55ID0gcG90ZW50aWFsU25hcFBvc2l0aW9uOwpAQCAtMTIyLDYgKzEyMCw3
IEBAIC0gKHZvaWQpc2Nyb2xsVmlld0RpZEVuZERlY2VsZXJhdGluZzooVUlTY3JvbGxWaWV3ICop
c2Nyb2xsVmlldwogQGVuZAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCiBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TOjpTY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TKFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
JiBzY3JvbGxpbmdOb2RlKQogICAgIDogU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0
ZShzY3JvbGxpbmdOb2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3Rv
cmFnZS9TdG9yYWdlUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0
b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94eS5jcHAKaW5kZXggZWZhOGQxM2NiYmQ1ZmZhODA4YjVm
MGVkYmY0YTUxZGM5ZGY4NTdlNy4uM2ExMzFiNGQ2MGQ4YWEwN2U4N2ZiNWU0YzYxNGYzMGE3ZDQy
YjU3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdl
UHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0
b3JhZ2VQcm9jZXNzUHJveHkuY3BwCkBAIC0zNyw3ICszNyw3IEBACiBuYW1lc3BhY2UgV2ViS2l0
IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1zdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVD
YWxsYmFja0lEKCkKK3N0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJh
Y2tJRCgpCiB7CiAgICAgc3RhdGljIHVpbnQ2NF90IGNhbGxiYWNrSUQ7CiAKQEAgLTEwNSw3ICsx
MDUsNyBAQCB2b2lkIFN0b3JhZ2VQcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEoUEFMOjpT
ZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8VwogewogICAgIEFTU0VSVChjYW5TZW5kTWVz
c2FnZSgpKTsKIAotICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQo
KTsKKyAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxi
YWNrSUQoKTsKICAgICBtX3BlbmRpbmdGZXRjaFdlYnNpdGVEYXRhQ2FsbGJhY2tzLmFkZChjYWxs
YmFja0lELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAKICAgICBzZW5kKE1lc3NhZ2Vz
OjpTdG9yYWdlUHJvY2Vzczo6RmV0Y2hXZWJzaXRlRGF0YShzZXNzaW9uSUQsIGRhdGFUeXBlcywg
Y2FsbGJhY2tJRCksIDApOwpAQCAtMTEzLDcgKzExMyw3IEBAIHZvaWQgU3RvcmFnZVByb2Nlc3NQ
cm94eTo6ZmV0Y2hXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNl
dDxXCiAKIHZvaWQgU3RvcmFnZVByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEoUEFMOjpT
ZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiBkYXRhVHlwZXMs
IFdhbGxUaW1lIG1vZGlmaWVkU2luY2UsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQgKCk+JiYgY29t
cGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgYXV0byBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFj
a0lEKCk7CisgICAgYXV0byBjYWxsYmFja0lEID0gZ2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxi
YWNrSUQoKTsKIAogICAgIG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRhQ2FsbGJhY2tzLmFkZChj
YWxsYmFja0lELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAgICAgc2VuZChNZXNzYWdl
czo6U3RvcmFnZVByb2Nlc3M6OkRlbGV0ZVdlYnNpdGVEYXRhKHNlc3Npb25JRCwgZGF0YVR5cGVz
LCBtb2RpZmllZFNpbmNlLCBjYWxsYmFja0lEKSwgMCk7CkBAIC0xMjMsNyArMTIzLDcgQEAgdm9p
ZCBTdG9yYWdlUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoUEFMOjpT
ZXNzaW9uSUQgc2Vzc2lvbklELAogewogICAgIEFTU0VSVChjYW5TZW5kTWVzc2FnZSgpKTsKIAot
ICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1aW50
NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQoKTsKICAg
ICBtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnNDYWxsYmFja3MuYWRkKGNhbGxi
YWNrSUQsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIHNlbmQoTWVzc2FnZXM6
OlN0b3JhZ2VQcm9jZXNzOjpEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoc2Vzc2lvbklELCBk
YXRhVHlwZXMsIG9yaWdpbnMsIGNhbGxiYWNrSUQpLCAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKaW5kZXggNzdiZDhkNzc1NjE4ZTA4ZTM2MmNiMTYxNGIzZDY1ZDdjZTk2
MDE2Yy4uMmE3YjYwYzBiYjM5MDE5NDExOWZiYzAxYzMyOWE1OWY4NmUwNDAxNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTYxLDcgKzYxLDYgQEAKICNpbmNsdWRl
ICJXZWJQYWdlSW5qZWN0ZWRCdW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJXZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eS5oIgogI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzLmgiCi0jaW5jbHVkZSA8
V2ViQ29yZS9BbHRlcm5hdGl2ZVRleHRDbGllbnQuaD4gLy8gRklYTUU6IE5lZWRlZCBieSBXZWJQ
YWdlUHJveHlNZXNzYWdlcy5oIGZvciBESUNUQVRJT05fQUxURVJOQVRJVkVTLgogI2luY2x1ZGUg
IldlYlBhZ2VQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUG9wdXBNZW51UHJveHkuaCIK
ICNpbmNsdWRlICJXZWJQcm9jZXNzTGlmZXRpbWVUcmFja2VyLmgiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBjNzcxNTU5MGVkNzFjY2Rk
MjNkZjI4NWEzYWE3YzM2ZTU0M2RiN2Y2Li5iYzdjMjQzZjQ3OTZhY2MyZWNlNGM0ZmVjYzQ0OTI5
MjU4Y2RiNDU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTc1Niw2ICs3NTYsOCBAQAogCQkyRDkyQTc5NTIxMkI2QUQ0MDBGNDkzRkQg
LyogUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJEOTBEMTEyODFDOTY2MDAxRUI5NjIgLyog
UGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgKi87IH07CiAJCTJEOTJBNzk2MjEy
QjZBREEwMEY0OTNGRCAvKiBOZXRzY2FwZVBsdWdpbk1vZHVsZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTRBOUM1MzEyQjgxNkNGMDA4RkU5ODQg
LyogTmV0c2NhcGVQbHVnaW5Nb2R1bGUuY3BwICovOyB9OwogCQkyRDkyQTc5NzIxMkI2QURBMDBG
NDkzRkQgLyogUGx1Z2luSW5mb3JtYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gN0MzRjhDOEUxNzNBRjUyRDAwN0I3RjM5IC8qIFBsdWdpbklu
Zm9ybWF0aW9uLmNwcCAqLzsgfTsKKwkJMkQ5MkE3OTgyMTM0OEQ4NTAwRjQ5M0ZEIC8qIFdlYlBh
eW1lbnRDb29yZGluYXRvclByb3h5TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUFCMUY3N0QxRDFCMzBBOTAwN0M5QkQxIC8qIFdlYlBheW1lbnRD
b29yZGluYXRvclByb3h5TWFjLm1tICovOyB9OworCQkyRDkyQTc5RjIxMzRCMDdFMDBGNDkzRkQg
LyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUIxRjc3QjFEMUIzMEE5MDA3QzlCRDEgLyogV2Vi
UGF5bWVudENvb3JkaW5hdG9yUHJveHlJT1MubW0gKi87IH07CiAJCTJEOTMxMTY5MjEyRjYxQjIw
MDA0NEJGRSAvKiBXS0NvbnRlbnRWaWV3Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEZDQjRFM0QxOEJCRTA0NDAwMEZDRkM5IC8qIFdLQ29udGVudFZp
ZXcubW0gKi87IH07CiAJCTJEOTMxMTZBMjEyRjYxQjUwMDA0NEJGRSAvKiBXS0NvbnRlbnRWaWV3
SW50ZXJhY3Rpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRkNCNEU2QjE4QkJGMjZBMDAwRkNGQzkgLyogV0tDb250ZW50Vmlld0ludGVyYWN0aW9u
Lm1tICovOyB9OwogCQkyRDlFQTMwRDFBOTZDQjU5MDAyRDI4MDcgLyogV0tQYWdlSW5qZWN0ZWRC
dW5kbGVDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJEOUVBMzBDMUE5NkNCNTkwMDJEMjgwNyAvKiBXS1BhZ2VJbmplY3RlZEJ1bmRsZUNsaWVu
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0x
MTI0MSw2ICsxMTI0Myw4IEBACiAJCQkJN0NFOUNFMTAxRkEwNzY3QTAwMDE3N0RFIC8qIFdlYlBh
Z2VVcGRhdGVQcmVmZXJlbmNlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzQ2OTRDOTFBNEI0
RUExMDBBRDU4NDUgLyogV2ViUGFzdGVib2FyZFByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTFBQjFGNzk2MUQxQjM2MTMwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29v
cmRpbmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5MkE3OUYy
MTM0QjA3RTAwRjQ5M0ZEIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5SU9TLm1tIGluIFNv
dXJjZXMgKi8sCisJCQkJMkQ5MkE3OTgyMTM0OEQ4NTAwRjQ5M0ZEIC8qIFdlYlBheW1lbnRDb29y
ZGluYXRvclByb3h5TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFCMUY3OTgxRDFCMzYxMzAw
N0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTJEOTJBNzhEMjEyQjZBQjEwMEY0OTNGRCAvKiBXZWJQbGF0Zm9y
bVRvdWNoUG9pbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5MTM0NEUyMTJDRjlGMDAwMTI4
QUZEIC8qIFdlYlBsdWdpbkluZm9Qcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0gYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tCmluZGV4IDUz
MDdlMjZhNzYzN2U4YTY5YjA0NWFiYjkyODc5ZjNmOGM2NTg2ZjIuLjRjYWE2Y2MwZjYwNDUwYzAz
YjIyYTI4NGRkMTNhZjI1ZWZkNmUzODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5tbQpAQCAtODgsOCArODgsNiBAQAogI2ltcG9ydCA8
cGFsL3NwaS9tYWMvTlNNZW51U1BJLmg+CiAjaW1wb3J0IDx3dGYvVVVJRC5oPgogCi11c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKLQogLy8gU2V0IG92ZXJmbG93OiBoaWRkZW4gb24gdGhlIGFubm90
YXRpb24gY29udGFpbmVyIHNvIDxpbnB1dD4gZWxlbWVudHMgc2Nyb2xsZWQgb3V0IG9mIHZpZXcg
ZG9uJ3Qgc2hvdwogLy8gc2Nyb2xsYmFycyBvbiB0aGUgYm9keS4gV2UgY2FuJ3QgYWRkIGFubm90
YXRpb25zIGRpcmVjdGx5IHRvIHRoZSBib2R5LCBiZWNhdXNlIG92ZXJmbG93OiBoaWRkZW4gb24g
dGhlIGJvZHkKIC8vIHdpbGwgYnJlYWsgcnViYmVyLWJhbmRpbmcuCkBAIC0yOTAsNyArMjg4LDcg
QEAgLSAoTlNBcnJheSAqKWFjY2Vzc2liaWxpdHlBY3Rpb25OYW1lcwogLSAodm9pZClhY2Nlc3Np
YmlsaXR5UGVyZm9ybUFjdGlvbjooTlNTdHJpbmcgKilhY3Rpb24KIHsKICAgICBpZiAoW2FjdGlv
biBpc0VxdWFsVG9TdHJpbmc6TlNBY2Nlc3NpYmlsaXR5U2hvd01lbnVBY3Rpb25dKQotICAgICAg
ICBfcGRmUGx1Z2luLT5zaG93Q29udGV4dE1lbnVBdFBvaW50KEludFJlY3QoSW50UG9pbnQoKSwg
X3BkZlBsdWdpbi0+c2l6ZSgpKS5jZW50ZXIoKSk7CisgICAgICAgIF9wZGZQbHVnaW4tPnNob3dD
b250ZXh0TWVudUF0UG9pbnQoV2ViQ29yZTo6SW50UmVjdChXZWJDb3JlOjpJbnRQb2ludCgpLCBf
cGRmUGx1Z2luLT5zaXplKCkpLmNlbnRlcigpKTsKIH0KIAogLSAoQk9PTClhY2Nlc3NpYmlsaXR5
SXNBdHRyaWJ1dGVTZXR0YWJsZTooTlNTdHJpbmcgKilhdHRyaWJ1dGUKQEAgLTMxNiw4ICszMTQs
OCBAQCAtIChpZClhY2Nlc3NpYmlsaXR5Rm9jdXNlZFVJRWxlbWVudAogewogI2lmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwCiAgICAgaWYgKFdlYktpdDo6UERGUGx1
Z2luQW5ub3RhdGlvbiogYWN0aXZlQW5ub3RhdGlvbiA9IF9wZGZQbHVnaW4tPmFjdGl2ZUFubm90
YXRpb24oKSkgewotICAgICAgICBpZiAoQVhPYmplY3RDYWNoZSogZXhpc3RpbmdDYWNoZSA9IF9w
ZGZQbHVnaW4tPmF4T2JqZWN0Q2FjaGUoKSkgewotICAgICAgICAgICAgaWYgKEFjY2Vzc2liaWxp
dHlPYmplY3QqIG9iamVjdCA9IGV4aXN0aW5nQ2FjaGUtPmdldE9yQ3JlYXRlKGFjdGl2ZUFubm90
YXRpb24tPmVsZW1lbnQoKSkpCisgICAgICAgIGlmIChXZWJDb3JlOjpBWE9iamVjdENhY2hlKiBl
eGlzdGluZ0NhY2hlID0gX3BkZlBsdWdpbi0+YXhPYmplY3RDYWNoZSgpKSB7CisgICAgICAgICAg
ICBpZiAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0ID0gZXhpc3RpbmdDYWNo
ZS0+Z2V0T3JDcmVhdGUoYWN0aXZlQW5ub3RhdGlvbi0+ZWxlbWVudCgpKSkKICNwcmFnbWEgY2xh
bmcgZGlhZ25vc3RpYyBwdXNoCiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdk
ZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIKICAgICAgICAgICAgICAgICByZXR1cm4gW29iamVjdC0+
d3JhcHBlcigpIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpAIl9BWEFzc29jaWF0ZWRQbHVn
aW5QYXJlbnQiXTsKQEAgLTMzOCwxMSArMzM2LDExIEBAIC0gKGlkKWFjY2Vzc2liaWxpdHlBc3Nv
Y2lhdGVkQ29udHJvbEZvckFubm90YXRpb246KFBERkFubm90YXRpb24gKilhbm5vdGF0aW9uCiAg
ICAgaWYgKCFhY3RpdmVBbm5vdGF0aW9uIHx8ICFbYWN0aXZlQW5ub3RhdGlvbi0+YW5ub3RhdGlv
bigpIGlzRXF1YWw6YW5ub3RhdGlvbl0pCiAgICAgICAgIHJldHVybiBuaWw7CiAgICAgCi0gICAg
QVhPYmplY3RDYWNoZSogY2FjaGUgPSBfcGRmUGx1Z2luLT5heE9iamVjdENhY2hlKCk7CisgICAg
V2ViQ29yZTo6QVhPYmplY3RDYWNoZSogY2FjaGUgPSBfcGRmUGx1Z2luLT5heE9iamVjdENhY2hl
KCk7CiAgICAgaWYgKCFjYWNoZSkKICAgICAgICAgcmV0dXJuIG5pbDsKICAgICAKLSAgICBBY2Nl
c3NpYmlsaXR5T2JqZWN0KiBvYmplY3QgPSBjYWNoZS0+Z2V0T3JDcmVhdGUoYWN0aXZlQW5ub3Rh
dGlvbi0+ZWxlbWVudCgpKTsKKyAgICBXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmpl
Y3QgPSBjYWNoZS0+Z2V0T3JDcmVhdGUoYWN0aXZlQW5ub3RhdGlvbi0+ZWxlbWVudCgpKTsKICAg
ICBpZiAoIW9iamVjdCkKICAgICAgICAgcmV0dXJuIG5pbDsKIApAQCAtMzUzLDcgKzM1MSw3IEBA
IC0gKGlkKWFjY2Vzc2liaWxpdHlBc3NvY2lhdGVkQ29udHJvbEZvckFubm90YXRpb246KFBERkFu
bm90YXRpb24gKilhbm5vdGF0aW9uCiAtIChpZClhY2Nlc3NpYmlsaXR5SGl0VGVzdDooTlNQb2lu
dClwb2ludAogewogI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAw
Ci0gICAgcG9pbnQgPSBfcGRmUGx1Z2luLT5jb252ZXJ0RnJvbVJvb3RWaWV3VG9QREZWaWV3KElu
dFBvaW50KHBvaW50KSk7CisgICAgcG9pbnQgPSBfcGRmUGx1Z2luLT5jb252ZXJ0RnJvbVJvb3RW
aWV3VG9QREZWaWV3KFdlYkNvcmU6OkludFBvaW50KHBvaW50KSk7CiAgICAgcmV0dXJuIFtfcGRm
TGF5ZXJDb250cm9sbGVyIGFjY2Vzc2liaWxpdHlIaXRUZXN0OnBvaW50XTsKICNlbHNlCiAgICAg
cmV0dXJuIHNlbGY7CkBAIC00MjEsNyArNDE5LDcgQEAgLSAoaWQpaW5pdFdpdGhQREZQbHVnaW46
KFdlYktpdDo6UERGUGx1Z2luICopcGx1Z2luCiAKIC0gKHZvaWQpdXBkYXRlU2Nyb2xsUG9zaXRp
b246KENHUG9pbnQpbmV3UG9zaXRpb24KIHsKLSAgICBfcGRmUGx1Z2luLT5ub3RpZnlTY3JvbGxQ
b3NpdGlvbkNoYW5nZWQoSW50UG9pbnQobmV3UG9zaXRpb24pKTsKKyAgICBfcGRmUGx1Z2luLT5u
b3RpZnlTY3JvbGxQb3NpdGlvbkNoYW5nZWQoV2ViQ29yZTo6SW50UG9pbnQobmV3UG9zaXRpb24p
KTsKIH0KIAogLSAodm9pZCl3cml0ZUl0ZW1zVG9QYXN0ZWJvYXJkOihOU0FycmF5ICopaXRlbXMg
d2l0aFR5cGVzOihOU0FycmF5ICopdHlwZXMKQEAgLTUwMCw2ICs0OTgsMTAgQEAgLSAoTlNSZWN0
KWNvbnZlcnRSZWN0OihOU1JlY3QpcmVjdCBmcm9tUGFnZTooUERGUGFnZSAqKSBwYWdlIGZvclNj
YWxlRmFjdG9yOihDR0YKIC0gKFBERlBhZ2UgKilwYWdlTmVhcmVzdFBvaW50OihOU1BvaW50KXBv
aW50IGN1cnJlbnRQYWdlOihQREZQYWdlICopY3VycmVudFBhZ2U7CiBAZW5kCiAKK25hbWVzcGFj
ZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Cit1c2luZyBuYW1lc3BhY2UgSFRN
TE5hbWVzOworCiBzdGF0aWMgY29uc3QgY2hhciogcG9zdFNjcmlwdE1JTUVUeXBlID0gImFwcGxp
Y2F0aW9uL3Bvc3RzY3JpcHQiOwogY29uc3QgdWludDY0X3QgcGRmRG9jdW1lbnRSZXF1ZXN0SUQg
PSAxOyAvLyBQbHVnaW5Db250cm9sbGVyIHN1cHBvcnRzIGxvYWRpbmcgbXVsdGlwbGUgc3RyZWFt
cywgYnV0IHdlIG9ubHkgbmVlZCBvbmUgZm9yIFBERi4KIApAQCAtNTk2LDkgKzU5OCw2IEBAIHN0
YXRpYyB2b2lkIGdldEFsbFNjcmlwdHNJblBERkRvY3VtZW50KENHUERGRG9jdW1lbnRSZWYgcGRm
RG9jdW1lbnQsIFZlY3RvcjxSZXRhCiAgICAgfQogfQogCi1uYW1lc3BhY2UgV2ViS2l0IHsKLXVz
aW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7Ci0KIFJlZjxQREZQbHVnaW4+IFBERlBsdWdpbjo6Y3Jl
YXRlKFdlYkZyYW1lJiBmcmFtZSkKIHsKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQREZQbHVn
aW4oZnJhbWUpKTsKQEAgLTE0NTAsNyArMTQ0OSw3IEBAIHZvaWQgUERGUGx1Z2luOjp1cGRhdGVD
dXJzb3IoY29uc3QgV2ViTW91c2VFdmVudCYgZXZlbnQsIFVwZGF0ZUN1cnNvck1vZGUgbW9kZSkK
ICAgICBpZiAoaGl0VGVzdFJlc3VsdCA9PSBtX2xhc3RIaXRUZXN0UmVzdWx0ICYmIG1vZGUgPT0g
VXBkYXRlSWZOZWVkZWQpCiAgICAgICAgIHJldHVybjsKIAotICAgIHdlYkZyYW1lKCktPnBhZ2Uo
KS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTZXRDdXJzb3IoaGl0VGVzdFJlc3VsdCA9
PSBUZXh0ID8gaUJlYW1DdXJzb3IoKSA6IHBvaW50ZXJDdXJzb3IoKSkpOworICAgIHdlYkZyYW1l
KCktPnBhZ2UoKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTZXRDdXJzb3IoaGl0VGVz
dFJlc3VsdCA9PSBUZXh0ID8gV2ViQ29yZTo6aUJlYW1DdXJzb3IoKSA6IFdlYkNvcmU6OnBvaW50
ZXJDdXJzb3IoKSkpOwogICAgIG1fbGFzdEhpdFRlc3RSZXN1bHQgPSBoaXRUZXN0UmVzdWx0Owog
fQogI2VuZGlmCkBAIC0xOTgxLDE2ICsxOTgwLDE2IEBAIHZvaWQgUERGUGx1Z2luOjpub3RpZnlT
ZWxlY3Rpb25DaGFuZ2VkKFBERlNlbGVjdGlvbiAqKQogICAgIHdlYkZyYW1lKCktPnBhZ2UoKS0+
ZGlkQ2hhbmdlU2VsZWN0aW9uKCk7CiB9CiAKLXN0YXRpYyBjb25zdCBDdXJzb3ImIGNvcmVDdXJz
b3IoUERGTGF5ZXJDb250cm9sbGVyQ3Vyc29yVHlwZSB0eXBlKQorc3RhdGljIGNvbnN0IFdlYkNv
cmU6OkN1cnNvciYgY29yZUN1cnNvcihQREZMYXllckNvbnRyb2xsZXJDdXJzb3JUeXBlIHR5cGUp
CiB7CiAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAgY2FzZSBrUERGTGF5ZXJDb250cm9sbGVyQ3Vy
c29yVHlwZUhhbmQ6Ci0gICAgICAgIHJldHVybiBoYW5kQ3Vyc29yKCk7CisgICAgICAgIHJldHVy
biBXZWJDb3JlOjpoYW5kQ3Vyc29yKCk7CiAgICAgY2FzZSBrUERGTGF5ZXJDb250cm9sbGVyQ3Vy
c29yVHlwZUlCZWFtOgotICAgICAgICByZXR1cm4gaUJlYW1DdXJzb3IoKTsKKyAgICAgICAgcmV0
dXJuIFdlYkNvcmU6OmlCZWFtQ3Vyc29yKCk7CiAgICAgY2FzZSBrUERGTGF5ZXJDb250cm9sbGVy
Q3Vyc29yVHlwZVBvaW50ZXI6CiAgICAgZGVmYXVsdDoKLSAgICAgICAgcmV0dXJuIHBvaW50ZXJD
dXJzb3IoKTsKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OnBvaW50ZXJDdXJzb3IoKTsKICAgICB9
CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348234</attachid>
            <date>2018-08-27 16:29:07 -0700</date>
            <delta_ts>2018-08-27 16:45:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189009-20180827162906.patch</filename>
            <type>text/plain</type>
            <size>56100</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1Mzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDI5MmM2NDA4MzcwZGM0YWY2ZmVmYmQ0
MzZlZGNhYTc3ZDA3NWUzOWEuLjgxMTBlZGU5NjU0OWM4MjM0YTNiYjJjNzM1NmFiYjAyNDIxNDJm
MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3Jl
IHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL2dlbmVy
YXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmI6CisgICAgICAgIEl0IHR1cm5zIG91dCBvdXIg
cGxhbiB0byBzd2l0Y2ggdW5pZmllZCBzb3VyY2UgYnVuZGxlIGV2ZXJ5IHRpbWUgdGhlIGRpcmVj
dG9yeQorICAgICAgICBjaGFuZ2VzIGlzIG5vdCBhIGdvb2QgZml0IGZvciBwcm9qZWN0cyBsaWtl
IFdlYktpdDIgd2l0aCBtYW55IHNtYWxsIGRpcmVjdG9yaWVzLgorICAgICAgICBJdCBsZWF2ZXMg
bWFueSB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIHdpdGggb25seSBhIHNpbmdsZSBzb3VyY2UgZmls
ZSwKKyAgICAgICAgYWNoaWV2aW5nIG9ubHkgfjQwJSBkZW5zaXR5LgorCisgICAgICAgIEluc3Rl
YWQsIHN3aXRjaCB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIGV2ZXJ5IHRpbWUgdGhlIHRvcC1sZXZl
bCBkaXJlY3RvcnkgY2hhbmdlcy4KKyAgICAgICAgVGhpcyBzdGlsbCBhY2hpZXZlcyB0aGUgZ29h
bCBvZiAqdXN1YWxseSogb25seSByZWJ1aWxkaW5nIHRoZSBvbmUgdG9wLWxldmVsCisgICAgICAg
IGRpcmVjdG9yeSB5b3UgdG91Y2hlZCwgYW5kIGluY3JlYXNlcyBzb3VyY2UgYnVuZGxlIGRlbnNp
dHkgd2lsZGx5LCB0byB+OTUlLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTgt
MDgtMjcgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxk
IHN5c3RlbSBzdXBwb3J0IGZvciBMVE8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhMGI5YTAyZDQ5MWQzYzc0NDBh
Y2U4YTIyNDFjNGU1MzUwYzVmNTE0Li4yMDA5OWQwOTZiMDhiM2E0ZjkxOTE2YmRlZDdhNTZlNWUw
YjgzYjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQg
c291cmNlcyBtb3JlIHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1
Y3R1cmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
ODkwMDkKKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgRml4
IGEgdmFyaWV0eSBvZiB1bmlmaWNhdGlvbiBlcnJvcnMgZHVlIHRvIHJlc2h1ZmZsaW5nIHRoZSBi
dW5kbGVzLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9B
bGdvcml0aG1FQ0RTQS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1FQ0RT
QTo6aW1wb3J0S2V5KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBodG1s
L3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKiBwYWdlL0FsdGVybmF0
aXZlVGV4dENsaWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL1Bhc3RlYm9hcmQuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHA6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5tbToKKyAgICAgICAg
KC1bV2ViR0xMYXllciBpbml0V2l0aEdyYXBoaWNzQ29udGV4dDNEOl0pOgorICAgICAgICAoLVtX
ZWJHTExheWVyIGNvcHlJbWFnZVNuYXBzaG90V2l0aENvbG9yU3BhY2U6XSk6CisgICAgICAgICgt
W1dlYkdMTGF5ZXIgZGlzcGxheV0pOgorICAgICAgICAoLVtXZWJHTExheWVyIGFsbG9jYXRlSU9T
dXJmYWNlQmFja2luZ1N0b3JlV2l0aFNpemU6dXNpbmdBbHBoYTpdKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbToKKyAgICAgICAgKC1bV2ViR1BVTGF5
ZXIgaW5pdFdpdGhHUFVEZXZpY2U6XSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0
YWwvR1BVQ29tbWFuZFF1ZXVlTWV0YWwubW06CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Bhc3Rl
Ym9hcmRNYWMubW06CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlD
YXB0dXJlTWFuYWdlckNvY29hLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlUmVxdWVzdEJhc2UuY3BwOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJU
cmVlQnVpbGRlckJsb2NrRmxvdy5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVCdWlsZGVySW5saW5lLmNwcDoKKwogMjAxOC0wOC0yNyAgS2VpdGggUm9sbGluICA8
a3JvbGxpbkBhcHBsZS5jb20+CiAKICAgICAgICAgQnVpbGQgc3lzdGVtIHN1cHBvcnQgZm9yIExU
TwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCAwZjg2OGYwZTliYWUyNjgxMWZiZjI0ZDFjOWFmNGU4OWZkMjNlZDE3Li5j
OWI0OTBhODMwNjI2ZmU0YzkzYTA1OWI0M2FhNGM0MTVlYTlhOTM4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDUyIEBACisyMDE4LTA4LTI3ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUu
Y29tPgorCisgICAgICAgIEJ1bmRsZSB1bmlmaWVkIHNvdXJjZXMgbW9yZSB0aWdodGx5IGluIHBy
b2plY3RzIHdpdGggZGVlcCBkaXJlY3Rvcnkgc3RydWN0dXJlcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5MDA5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIEZpeCBhIHZhcmlldHkgb2YgdW5pZmljYXRpb24g
ZXJyb3JzIGR1ZSB0byByZXNodWZmbGluZyB0aGUgYnVuZGxlcy4KKworICAgICAgICAqIFNoYXJl
ZC9BUElXZWJBcmNoaXZlLm1tOgorICAgICAgICAqIFNoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3Vy
Y2UubW06CisgICAgICAgICogU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1
Z2luTW9kdWxlTWFjLm1tOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9Q
bHVnaW5JbmZvcm1hdGlvbk1hYy5tbToKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaDoKKyAgICAg
ICAgKEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6OnNlc3Npb25JZGVudGlmaWVyIGNvbnN0
KToKKyAgICAgICAgKEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6Om1lc3NhZ2VPZkN1cnJl
bnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKToKKyAgICAgICAgKEFQSTo6QXV0b21hdGlvblNlc3Np
b25DbGllbnQ6OnNldFVzZXJJbnB1dEZvckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xp
ZW50Lm1tOgorICAgICAgICAoLVtXS0N1c3RvbVByb3RvY29sTG9hZGVyIGluaXRXaXRoTGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6Y3VzdG9tUHJvdG9jb2xJRDpyZXF1ZXN0Ol0pOgor
ICAgICAgICAoLVtXS0N1c3RvbVByb3RvY29sTG9hZGVyIGNvbm5lY3Rpb246ZGlkRmFpbFdpdGhF
cnJvcjpdKToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBjb25uZWN0aW9uOmRp
ZFJlY2VpdmVSZXNwb25zZTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Q
cm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZVBsdWdpblByb2Nlc3ND
YWxsYmFja0lEKToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpmZXRjaFdl
YnNpdGVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVX
ZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRl
V2Vic2l0ZURhdGFGb3JIb3N0TmFtZXMpOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZUNhbGxi
YWNrSUQpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9z
L1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW06CisgICAgICAgICgtW1dL
U2Nyb2xsaW5nTm9kZVNjcm9sbFZpZXdEZWxlZ2F0ZSBzY3JvbGxWaWV3V2lsbEVuZERyYWdnaW5n
OndpdGhWZWxvY2l0eTp0YXJnZXRDb250ZW50T2Zmc2V0Ol0pOgorICAgICAgICAqIFVJUHJvY2Vz
cy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpnZW5l
cmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VQ
cm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdl
UHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlN0b3Jh
Z2VQcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyk6CisgICAgICAgIChX
ZWJLaXQ6OmdlbmVyYXRlQ2FsbGJhY2tJRCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BE
Ri9QREZQbHVnaW4ubW06CisgICAgICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVj
dCBhY2Nlc3NpYmlsaXR5UGVyZm9ybUFjdGlvbjpdKToKKyAgICAgICAgKC1bV0tQREZQbHVnaW5B
Y2Nlc3NpYmlsaXR5T2JqZWN0IGFjY2Vzc2liaWxpdHlGb2N1c2VkVUlFbGVtZW50XSk6CisgICAg
ICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5QXNzb2Np
YXRlZENvbnRyb2xGb3JBbm5vdGF0aW9uOl0pOgorICAgICAgICAoLVtXS1BERlBsdWdpbkFjY2Vz
c2liaWxpdHlPYmplY3QgYWNjZXNzaWJpbGl0eUhpdFRlc3Q6XSk6CisgICAgICAgICgtW1dLUERG
TGF5ZXJDb250cm9sbGVyRGVsZWdhdGUgdXBkYXRlU2Nyb2xsUG9zaXRpb246XSk6CisgICAgICAg
IChXZWJLaXQ6OlBERlBsdWdpbjo6dXBkYXRlQ3Vyc29yKToKKyAgICAgICAgKFdlYktpdDo6Y29y
ZUN1cnNvcik6CisgICAgICAgIChhcHBlbmRWYWx1ZXNJblBERk5hbWVTdWJ0cmVlVG9WZWN0b3Ip
OiBEZWxldGVkLgorICAgICAgICAoZ2V0QWxsVmFsdWVzSW5QREZOYW1lVHJlZSk6IERlbGV0ZWQu
CisgICAgICAgIChnZXRBbGxTY3JpcHRzSW5QREZEb2N1bWVudCk6IERlbGV0ZWQuCisKIDIwMTgt
MDgtMjcgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAg
ICAgICBGaXggaW50ZXJuYWwgYnVpbGRzIGFmdGVyIHIyMzUzNjgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvU2NyaXB0cy9nZW5lcmF0ZS11bmlmaWVkLXNvdXJjZS1idW5kbGVzLnJiIGIvU291cmNl
L1dURi9TY3JpcHRzL2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKaW5kZXggYzAx
OTY2ZWUxYjJjNjdkOTc2MGYwM2E1YmJjYWEzY2I1NzI2MTJiMy4uYWJkOTc2NzdhMjBhZGI0ZDQ2
MmViOThmNzc4ZDk4MDI5YmRkNDk5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL2dl
bmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKKysrIGIvU291cmNlL1dURi9TY3JpcHRz
L2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKQEAgLTIxMCwxMCArMjEwLDE3IEBA
IGNsYXNzIEJ1bmRsZU1hbmFnZXIKICAgICBlbmQKIGVuZAogCitkZWYgVG9wTGV2ZWxEaXJlY3Rv
cnlGb3JQYXRoKHBhdGgpCisgICAgaWYgIXBhdGgKKyAgICAgICAgcmV0dXJuIG5pbAorICAgIGVu
ZAorICAgIHJldHVybiBwYXRoLmVhY2hfZmlsZW5hbWUubmV4dAorZW5kCisKIGRlZiBQcm9jZXNz
RmlsZUZvclVuaWZpZWRTb3VyY2VHZW5lcmF0aW9uKHNvdXJjZUZpbGUpCiAgICAgcGF0aCA9IHNv
dXJjZUZpbGUucGF0aAotICAgIGlmICgkY3VycmVudERpcmVjdG9yeSAhPSBwYXRoLmRpcm5hbWUp
Ci0gICAgICAgIGxvZygiRmx1c2hpbmcgYmVjYXVzZSBuZXcgZGlybmFtZTsgb2xkOiAjeyRjdXJy
ZW50RGlyZWN0b3J5fSwgbmV3OiAje3BhdGguZGlybmFtZX0iKQorICAgIGlmIChUb3BMZXZlbERp
cmVjdG9yeUZvclBhdGgoJGN1cnJlbnREaXJlY3RvcnkpICE9IFRvcExldmVsRGlyZWN0b3J5Rm9y
UGF0aChwYXRoLmRpcm5hbWUpKQorICAgICAgICBsb2coIkZsdXNoaW5nIGJlY2F1c2UgbmV3IHRv
cCBsZXZlbCBkaXJlY3Rvcnk7IG9sZDogI3skY3VycmVudERpcmVjdG9yeX0sIG5ldzogI3twYXRo
LmRpcm5hbWV9IikKICAgICAgICAgJGJ1bmRsZU1hbmFnZXJzLmVhY2hfdmFsdWUgeyB8eHwgeC5m
bHVzaCB9CiAgICAgICAgICRjdXJyZW50RGlyZWN0b3J5ID0gcGF0aC5kaXJuYW1lCiAgICAgZW5k
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYv
UGxhdGZvcm0uaAppbmRleCAwYzZlZmI4NjI5ODI1MzlkMmI0YjJjYzRmOGY4YjVmY2I0ZWM4OGU4
Li42N2NmYTkzMzEzYzkwNDIxZWI2Y2YxNzlkOThlZjcwM2RhMGU0OWRiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgK
QEAgLTEzMTQsNiArMTMxNCw3IEBACiAjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX1RP
VUNIX0JBUiAxCiAjZGVmaW5lIEhBVkVfQURWQU5DRURfU1BFTExfQ0hFQ0tJTkcgMQorI2RlZmlu
ZSBVU0VfRElDVEFUSU9OX0FMVEVSTkFUSVZFUyAxCiAKICNpZiBkZWZpbmVkKF9fTFA2NF9fKQog
I2RlZmluZSBFTkFCTEVfV0VCX1BMQVlCQUNLX0NPTlRST0xTX01BTkFHRVIgMQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyQ2FjaGVTdG9yYWdl
Q29ubmVjdGlvbi5jcHAKaW5kZXggYWQyMDkzMjE5Zjg4ZTZkYTNlMWQ2MDYyNGU0MWFlOWE0MWRm
NDkyNy4uMWViZGQ1ZGU0OGE3ZTdlMWM5NmEwMWM3OGZlZDdkYTViYzRmYjg4OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckNhY2hlU3Rv
cmFnZUNvbm5lY3Rpb24uY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJDYWNoZVF1
ZXJ5T3B0aW9ucy5oIgogI2luY2x1ZGUgIkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgiCisjaW5jbHVk
ZSAiQ2xpZW50T3JpZ2luLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJQYWdl
LmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKQEAgLTM2LDcgKzM3LDYgQEAKICNp
bmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCiAjaW5jbHVkZSAiV29ya2VyVGhyZWFkLmgiCiAKLQog
bmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU6OkRPTUNhY2hlRW5n
aW5lOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVEND
b250cm9sbGVyLmNwcAppbmRleCA5NjEzMmU2OTczN2FlOThhNjBmOTU0ZjFmMzExODM4NDEwNzFl
MGE5Li5jZGI3NzdlOTk5MjkyMjFjZjBhOGYwMTE0MmIyZDA3ZWRlOWVmZWQ0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29udHJvbGxlci5jcHAK
QEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShXRUJfUlRDKQogCisjaW5jbHVkZSAiRG9j
dW1lbnQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENQcm92aWRlci5oIgogI2luY2x1ZGUgIlJUQ1Bl
ZXJDb25uZWN0aW9uLmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5
bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuY3BwCmlu
ZGV4IGMyMDUzMzVlYWE4ZTkxOGE2ZDM4YWU0ZjJmZmM4MWFlZDQ1YTlhMGYuLjk0YjcxYzQ2NjE5
MjQxMzVjMjFhZWE2OWQ0ODk5ZDdiMDc1YTYyYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdFVw
ZGF0ZUV2ZW50LmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKFBBWU1FTlRfUkVR
VUVTVCkKIAorI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJQYXltZW50UmVxdWVz
dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZy
L1ZSRGlzcGxheS5jcHAKaW5kZXggYWRiNzUxZDBjMzljMGE1NmI1ZTRkYzFmNTQyMTBiZGFhNGVk
ZmY3OC4uYTkzM2Q5ODBmY2Y1YTk5MTc0YWIwZTBjNDAwMjA5MTZjYmYxYjM2NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNwcApAQCAtMjksNiArMjksNyBAQAog
I2luY2x1ZGUgIkNhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCIKICNpbmNsdWRlICJDaHJvbWUuaCIK
ICNpbmNsdWRlICJET01FeGNlcHRpb24uaCIKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNs
dWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlNjcmlwdGVk
QW5pbWF0aW9uQ29udHJvbGxlci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNl
c0NvY29hLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKaW5kZXggNjZmN2Yx
NmJkNjRmODJjNDMyYmVhZWQ4ZTcwZDFiNWZmMDYzYTUxNy4uOTU3ZTRiNWI2NjFiNDAyMGYwYTIx
ZWUwMDk1YzAxNzY0NmU0OTNhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlc0Nv
Y29hLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CkBAIC0zODksNyAr
Mzg5LDcgQEAgcGxhdGZvcm0vaW9zL1BsYXRmb3JtU2NyZWVuSU9TLm1tCiBwbGF0Zm9ybS9pb3Mv
UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9Q
bGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9R
dWlja0xvb2subW0KLXBsYXRmb3JtL2lvcy9RdWlja0xvb2tTb2Z0TGluay5tbQorcGxhdGZvcm0v
aW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1JlbW90ZUNv
bW1hbmRMaXN0ZW5lcklPUy5tbQogcGxhdGZvcm0vaW9zL1Njcm9sbEFuaW1hdG9ySU9TLm1tCiBw
bGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MubW0KQEAgLTM5OSw3ICszOTksNyBAQCBwbGF0
Zm9ybS9pb3MvU1NMS2V5R2VuZXJhdG9ySU9TLmNwcAogcGxhdGZvcm0vaW9zL1N5c3RlbU1lbW9y
eUlPUy5jcHAKIHBsYXRmb3JtL2lvcy9UaGVtZUlPUy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lv
cy9UaWxlQ29udHJvbGxlck1lbW9yeUhhbmRsZXJJT1MuY3BwCi1wbGF0Zm9ybS9pb3MvVXNlckFn
ZW50SU9TLm1tCitwbGF0Zm9ybS9pb3MvVXNlckFnZW50SU9TLm1tIEBuby11bmlmeQogcGxhdGZv
cm0vaW9zL1ZhbGlkYXRpb25CdWJibGVJT1MubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvVmlk
ZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvV2Vi
QVZQbGF5ZXJDb250cm9sbGVyLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNzI1NWQyNjVjNzcyMTVlYzA5YmEzOGQ5NjdjYTRj
ZDdlOGFhMTY1OC4uZTA1YzhhMGJlN2ZjYzgzNDVlMTVkNjg2ZDc3NzQ4Y2Q4NmJiNjE0YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtODA2LDYgKzgwNiw4IEBACiAJCTJEOEI5MkZGMjAzRDEzRTEwMDlDODY4RiAvKiBVbmlmaWVk
U291cmNlNTMwLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IERFNUY4NUQzMUZBMjM4NTkwMDZEQjYzQiAvKiBVbmlmaWVkU291cmNlNTMwLmNwcCAqLzsg
fTsKIAkJMkQ4RkVCREQxNDNFM0VGNzAwNzI1MDJCIC8qIENTU0Nyb3NzZmFkZVZhbHVlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDhGRUJEQjE0M0Uz
RUY3MDA3MjUwMkIgLyogQ1NTQ3Jvc3NmYWRlVmFsdWUuaCAqLzsgfTsKIAkJMkQ5MDY2MDcwQkUx
NDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyRDkwNjYwNTBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3Rh
dGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQky
RDkyQTc5QTIxMzRBRDc5MDBGNDkzRkQgLyogUXVpY2tMb29rU29mdExpbmsubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDM5MTdGRDFBOTFCMkY4MDA2
RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsubW0gKi87IH07CisJCTJEOTJBNzlEMjEzNEFGOTUw
MEY0OTNGRCAvKiBVc2VyQWdlbnRJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBM0FGOUQ4MzIwMzI1NjkxMDA2Q0FEMDYgLyogVXNlckFnZW50SU9T
Lm1tICovOyB9OwogCQkyRDkzQUVFMzE5REY1NjQxMDAyQTg2QzMgLyogU2VydmljZXNPdmVybGF5
Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMkQ5M0FFRTExOURGNTY0MTAwMkE4NkMzIC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIu
aCAqLzsgfTsKIAkJMkQ5N0YwNDcxOURENDEzQzAwMUVFOUMzIC8qIE1vY2tQYWdlT3ZlcmxheUNs
aWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
REFBRTMyQzE5RENBRjYwMDBFMDAyRDIgLyogTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmNwcCAqLzsg
fTsKIAkJMkQ5N0YwNDgxOURENDE0MDAwMUVFOUMzIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRBQUUzMkQx
OURDQUY2MDAwRTAwMkQyIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5oICovOyB9OwpAQCAtNzA3
Myw3ICs3MDc1LDcgQEAKIAkJMzM5QjVCNjIxMzFEQUEzMjAwRjQ4RDAyIC8qIENvb2tpZXNTdHJh
dGVneS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb29raWVzU3RyYXRlZ3ku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzY2MkY5ODQwNDdDRURCRTVERERBRkFB
IC8qIFJlbmRlck1hdGhNTE1lbmNsb3NlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFJlbmRlck1hdGhNTE1lbmNsb3NlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMzcxMTlBNzkyMENDQjYxMDAwMkM2REM5IC8qIFdlYktpdFRhcmdldENvbmRpdGlv
bmFscy54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBXZWJLaXRUYXJnZXRDb25kaXRpb25hbHMueGNj
b25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTM3MTdEN0U1MTdFQ0MzQTYwMDND
Mjc2RCAvKiBleHRyYWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5wZXJsOyBuYW1lID0g
ZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBsOyBwYXRoID0gIlNjcmlwdHMvZXh0cmFjdC1s
b2NhbGl6YWJsZS1zdHJpbmdzLnBsIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzcx
N0Q3RTUxN0VDQzNBNjAwM0MyNzZEIC8qIGV4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2Ny
aXB0LnBlcmw7IG5hbWUgPSAiZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBsIjsgcGF0aCA9
ICJTY3JpcHRzL2V4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCI7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTM3MUE2N0NBMTFDNkM3REIwMDA0N0I4QiAvKiBIeXBoZW5hdGlvbkNG
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEh5cGhlbmF0aW9uQ0Yu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzFFNjVDQjEzNjYxRURDMDBCRUVE
QjAgLyogUGFnZVNlcmlhbGl6ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UGFnZVNlcmlhbGl6ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzcxRTY1Q0Qx
MzY2MUVFRDAwQkVFREIwIC8qIFBhZ2VTZXJpYWxpemVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFBhZ2VTZXJpYWxpemVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTEzMzU4LDggKzEzMzYwLDggQEAKIAkJQ0RFNTk1OUMxQkYyNzU3MTAwQTFD
QkU4IC8qIENETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakMubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU2NTYwRTE3Q0E2RTc2MDA1MjZCQTcgLyog
bWVkaWFDb250cm9sc0FwcGxlLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gbWVkaWFDb250cm9s
c0FwcGxlLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU2NjdBMTFFNEJCQTRE
MDBFODE1NEEgLyogUGxhdGZvcm1BdWRpb0RhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUGxhdGZvcm1BdWRpb0RhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJQ0RFNjY3QTIxRTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBjb2NvYS9XZWJBdWRpb0J1ZmZlckxp
c3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlDREU2NjdBMzFFNEJCRjE1MDBF
ODE1NEEgLyogV2ViQXVkaW9CdWZmZXJMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IGNvY29hL1dlYkF1ZGlvQnVmZmVyTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlDREU2NjdBMjFFNEJCRjE1MDBFODE1NEEgLyogV2ViQXVkaW9CdWZmZXJMaXN0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYkF1ZGlvQnVmZmVyTGlz
dC5jcHA7IHBhdGggPSBjb2NvYS9XZWJBdWRpb0J1ZmZlckxpc3QuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDREU2NjdBMzFFNEJCRjE1MDBFODE1NEEgLyogV2ViQXVkaW9CdWZm
ZXJMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYkF1ZGlvQnVmZmVy
TGlzdC5oOyBwYXRoID0gY29jb2EvV2ViQXVkaW9CdWZmZXJMaXN0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUNERTdGQzQyMTgxOTA0QjEwMDJCQkI3NyAvKiBPcmRlckl0ZXJhdG9y
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE9yZGVySXRlcmF0b3Iu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU3RkM0MzE4MTkwNEIxMDAyQkJC
NzcgLyogT3JkZXJJdGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBP
cmRlckl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERTgzREFGMTgz
QzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTI0MCw4ICsxNTI0Miw4IEBACiAJCQkJNDExMDNBQTcx
RTM5NzkwQTAwNzY5RjE0IC8qIFJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZUNvY29hLmNwcCAq
LywKIAkJCQk0MTEwM0FBODFFMzk3OTBBMDA3NjlGMTQgLyogUmVhbHRpbWVPdXRnb2luZ0F1ZGlv
U291cmNlQ29jb2EuaCAqLywKIAkJCQk1Q0REODMzQjFFNDMyNEJCMDA2MjFCODMgLyogUmVhbHRp
bWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EuY3BwICovLAotCQkJCTQxOTI0MjQ3MjEyN0I3Q0Mw
MDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5tbSAqLywKIAkJCQk1
Q0REODMzQzFFNDMyNEJCMDA2MjFCODMgLyogUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29j
b2EuaCAqLywKKwkJCQk0MTkyNDI0NzIxMjdCN0NDMDA2MzRGQ0YgLyogUmVhbHRpbWVPdXRnb2lu
Z1ZpZGVvU291cmNlQ29jb2EubW0gKi8sCiAJCQkJMDcwQTlGNUUxRkZFQ0M3MDAwM0RGNjQ5IC8q
IFNjcmVlbkRpc3BsYXlDYXB0dXJlU291cmNlTWFjLmggKi8sCiAJCQkJMDcwQTlGNjAxRkZFQ0M3
MTAwM0RGNjQ5IC8qIFNjcmVlbkRpc3BsYXlDYXB0dXJlU291cmNlTWFjLm1tICovLAogCQkJCTA3
RDYzNzNFMUJCMEIxMTMwMDI1NkNFOSAvKiBXZWJBdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5o
ICovLApAQCAtMzE0NDYsNiArMzE0NDgsOCBAQAogCQkJCUFBMTJERjQ5MTc0M0RGODMwMDREQUZE
RiAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVySU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
Q0RBMjlBMzAxQ0JGNzRENDAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RBMjlBMTYxQ0JEQTU2QzAwOTAxQ0NGIC8qIFBsYXli
YWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJBNzlBMjEz
NEFENzkwMEY0OTNGRCAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAorCQkJ
CTQxOTI0MjQ5MjEyN0I5M0UwMDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VD
b2NvYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTMxNkRDQjhBMUU3QTY5OTYwMDFCNUY4NyAvKiBS
VENJY2VUcmFuc3BvcnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1MTE1NkUxMkIxNzQ5QzAw
Qzk2NzU0IC8qIFNjcm9sbEFuaW1hdG9yTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFRjg2
OUYwRTg0NEU5RDAwQTg1Q0Q1IC8qIFNjcm9sbGJhclRoZW1lTWFjLm1tIGluIFNvdXJjZXMgKi8s
CkBAIC0zMTU2Niw3ICszMTU3MCw2IEBACiAJCQkJNTM4RUM4QTExRjk5M0Y5RDAwNEQyMkE4IC8q
IFVuaWZpZWRTb3VyY2U0OC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlERTVGODU5OTFGQTFBQkY0
MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTQ5LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4
RUM4QTIxRjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U0OS5jcHAgaW4gU291cmNlcyAq
LywKLQkJCQk0MTkyNDI0OTIxMjdCOTNFMDA2MzRGQ0YgLyogUmVhbHRpbWVPdXRnb2luZ1ZpZGVv
U291cmNlQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQlERTVGODU5QTFGQTFBQkY0MDA2REI2
M0EgLyogVW5pZmllZFNvdXJjZTUwLW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4QTMx
Rjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U1MC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlERTVGODY1MDFGQTJBRjI0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTUxLW1tLm1tIGluIFNv
dXJjZXMgKi8sCkBAIC0zMjA2MCw2ICszMjA2Myw3IEBACiAJCQkJMkQ4QjkyRkQyMDNEMTNFMTAw
OUM4NjhGIC8qIFVuaWZpZWRTb3VyY2U1MjguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ4Qjky
RkUyMDNEMTNFMTAwOUM4NjhGIC8qIFVuaWZpZWRTb3VyY2U1MjkuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMkQ4QjkyRkYyMDNEMTNFMTAwOUM4NjhGIC8qIFVuaWZpZWRTb3VyY2U1MzAuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJMkQ5MkE3OUQyMTM0QUY5NTAwRjQ5M0ZEIC8qIFVzZXJBZ2VudElP
Uy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUzMjA0MjAyMUY5QTlGMTAwMEI4MUIyQSAvKiBVc2Vy
QWdlbnRTY3JpcHRzRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzNCNzk3MTE5MDg3NTdC
MDBCNDdBMkQgLyogVXNlck1lc3NhZ2VIYW5kbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdD
RTY4MzQ0MTkyMTQzQTgwMEY0RDkyOCAvKiBVc2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9yLmNw
cCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29y
aXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNEU0EuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2Fs
Z29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNEU0EuY3BwCmluZGV4IDk3MzE3ZTA0YTk3OTdmMTU2
MTZkZTRjNzYwOGI3NDVkOWZkZWRlZjcuLjFiNTNjNDUzYjM1MjUzNmI0ODEyZWRkMmFhNjRkOTFl
OTVkZjg1NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0Ny
eXB0b0FsZ29yaXRobUVDRFNBLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3Jp
dGhtcy9DcnlwdG9BbGdvcml0aG1FQ0RTQS5jcHAKQEAgLTM2LDEyICszNiwxNCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKK25hbWVzcGFjZSBDcnlwdG9BbGdvcml0aG1FQ0RTQUludGVybmFs
IHsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBBTEcyNTYgPSAiRVMyNTYiOwogc3RhdGljIGNv
bnN0IGNoYXIqIGNvbnN0IEFMRzM4NCA9ICJFUzM4NCI7CiBzdGF0aWMgY29uc3QgY2hhciogY29u
c3QgQUxHNTEyID0gIkVTNTEyIjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBQMjU2ID0gIlAt
MjU2IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBQMzg0ID0gIlAtMzg0IjsKIHN0YXRpYyBj
b25zdCBjaGFyKiBjb25zdCBQNTIxID0gIlAtNTIxIjsKK30KIAogUmVmPENyeXB0b0FsZ29yaXRo
bT4gQ3J5cHRvQWxnb3JpdGhtRUNEU0E6OmNyZWF0ZSgpCiB7CkBAIC0xMDIsNiArMTA0LDcgQEAg
dm9pZCBDcnlwdG9BbGdvcml0aG1FQ0RTQTo6Z2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3Jp
dGhtUGFyYW1ldGVycyYgcGFyYW1ldGUKIAogdm9pZCBDcnlwdG9BbGdvcml0aG1FQ0RTQTo6aW1w
b3J0S2V5KENyeXB0b0tleUZvcm1hdCBmb3JtYXQsIEtleURhdGEmJiBkYXRhLCBjb25zdCBDcnlw
dG9BbGdvcml0aG1QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlw
dG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMsIEtleUNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlv
bkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2spCiB7CisgICAgdXNpbmcgbmFtZXNwYWNlIENy
eXB0b0FsZ29yaXRobUVDRFNBSW50ZXJuYWw7CiAgICAgY29uc3QgYXV0byYgZWNQYXJhbWV0ZXJz
ID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtRWNLZXlQYXJhbXM+KHBhcmFtZXRlcnMpOwogCiAg
ICAgUmVmUHRyPENyeXB0b0tleUVDPiByZXN1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jcnlwdG8vZ2NyeXB0L0dDcnlwdFV0aWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlw
dG8vZ2NyeXB0L0dDcnlwdFV0aWxpdGllcy5jcHAKaW5kZXggMDkyZWVmN2RhNDY3ZWJjNGYzMGVi
Y2M1MDI2ZDQ5OTAwMTA0ZTlhMy4uYmMxNWZlZWY1N2VjM2EzODM1ZjY4YWM1ZDk0ZDY4MjNlZjJm
ZWI3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2djcnlwdC9HQ3J5cHRVdGls
aXRpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nY3J5cHQvR0NyeXB0VXRpbGl0
aWVzLmNwcApAQCAtMjgsNiArMjgsOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IkdDcnlwdFV0aWxpdGllcy5oIgogCisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CisKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogc3RkOjpvcHRpb25hbDxjb25zdCBjaGFyKj4gaGFzaEFsZ29yaXRo
bU5hbWUoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBpZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuaAppbmRleCAwYTFkOTAzNDE3ZDRjYTlkYzBlMzBiYmZmYWM0MWQxODhmMzFiZGJjLi5iMTgw
YmM0MzM5YTU5NmVhYjEzYjBkNGU5YjI2MTZiNGU3OTU5MjUwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aApAQCAtNjQxLDcgKzY0MSw3IEBAIHB1YmxpYzoKICAgICAKICAgICBXRUJDT1JFX0VYUE9SVCBE
b2N1bWVudExvYWRlciogbG9hZGVyKCkgY29uc3Q7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCBFeGNl
cHRpb25PcjxSZWZQdHI8V2luZG93UHJveHk+PiBvcGVuRm9yQmluZGluZ3MoRE9NV2luZG93JiBh
Y3RpdmVXaW5kb3csIERPTVdpbmRvdyYgZmlyc3RXaW5kb3csIGNvbnN0IFN0cmluZyYgdXJsLCBj
b25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZmVhdHVyZXMpOworICAgIFdF
QkNPUkVfRVhQT1JUIEV4Y2VwdGlvbk9yPFJlZlB0cjxXaW5kb3dQcm94eT4+IG9wZW5Gb3JCaW5k
aW5ncyhET01XaW5kb3cmIGFjdGl2ZVdpbmRvdywgRE9NV2luZG93JiBmaXJzdERPTVdpbmRvdywg
Y29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5n
JiBmZWF0dXJlcyk7CiAgICAgV0VCQ09SRV9FWFBPUlQgRXhjZXB0aW9uT3I8RG9jdW1lbnQmPiBv
cGVuRm9yQmluZGluZ3MoRG9jdW1lbnQqIHJlc3BvbnNpYmxlRG9jdW1lbnQsIGNvbnN0IFN0cmlu
ZyYgdHlwZSwgY29uc3QgU3RyaW5nJiByZXBsYWNlKTsKIAogICAgIC8vIEZJWE1FOiBXZSBzaG91
bGQgcmVuYW1lIHRoaXMgYXQgc29tZSBwb2ludCBhbmQgZ2l2ZSBiYWNrIHRoZSBuYW1lICdvcGVu
JyB0byB0aGUgSFRNTCBzcGVjaWZpZWQgb25lcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCmluZGV4IGU0MGY5YTg4NmYxNTkwNGU2MmYwZjI2ODhh
ODY5YTY5ODg5YjRhODkuLmM3MzE5MjJhZjgyOTgzYjlkYWE2YmM3ZmU1MjI3ODYzNzMxNjgzZmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcApA
QCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkhUTUxEb2N1bWVudFBhcnNlci5oIgogI2luY2x1
ZGUgIkhUTUxGb3JtQ29udHJvbEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQu
aCIKKyNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE9wdEdyb3Vw
RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxPcHRpb25FbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRN
TFBhcnNlcklkaW9tcy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNh
Y2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5oCmluZGV4IDcyYjI5
NzU1ZjExZDk0MDk1ZmE3ZWRkNTMwOTY4ZjdjNTdiNTdiZWIuLjZkOWEyZGE5YmUwMzIwMDdhODJl
ZGE2OGMxNmZkMmYyOGIxYzEyODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9h
cHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmgKQEAg
LTI1LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJBcHBsaWNhdGlvbkNh
Y2hlUmVzb3VyY2UuaCIKICNpbmNsdWRlICJDYWNoZWRSYXdSZXNvdXJjZS5oIgogI2luY2x1ZGUg
IkNhY2hlZFJhd1Jlc291cmNlQ2xpZW50LmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5k
bGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xp
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0FsdGVybmF0aXZlVGV4dENsaWVudC5oCmluZGV4
IDkzNTU5Mzc4OGY5ODk5YzllMjI1MTA4OGI0ZTc2ZDAwNWQzZDJmOTguLjE0M2RhNmM0N2Y0YmNl
ZmMwYTQxYWE4NzY0NjdkMDQ0NzE1YmE3MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9BbHRl
cm5hdGl2ZVRleHRDbGllbnQuaApAQCAtMjksMTEgKzI5LDYgQEAKICNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKLSNpZiBQTEFURk9STShN
QUMpCi0vLyBTb21lIHBsYXRmb3JtcyBwcm92aWRlIFVJIGZvciBzdWdnZXN0aW5nIGFsdGVybmF0
aXZlIGRpY3RhdGlvbiB0ZXh0LgotI2RlZmluZSBVU0VfRElDVEFUSU9OX0FMVEVSTkFUSVZFUyAx
Ci0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBlbnVtIFJlYXNvbkZvckRpc21pc3Np
bmdBbHRlcm5hdGl2ZVRleHQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
UGFzdGVib2FyZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCmluZGV4
IGQ1NDMzZGQ5MjBhZTBlZTU5MmJkNDVmZDU2MGNkZDNlMzhhMzQ3MjEuLmUwOTgxNTY1MWJkMmQ2
MDU3NGRhNDIzNmMzODBmYWQ0ZDYwMjE1YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Bhc3RlYm9hcmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJv
YXJkLmgKQEAgLTMzOCw2ICszMzgsNyBAQCBleHRlcm4gTlNTdHJpbmcgKlVJQ29sb3JQYm9hcmRU
eXBlOwogI2lmIFBMQVRGT1JNKE1BQykKIGV4dGVybiBjb25zdCBjaGFyKiBjb25zdCBXZWJBcmNo
aXZlUGJvYXJkVHlwZTsKIGV4dGVybiBjb25zdCBjaGFyKiBjb25zdCBXZWJVUkxOYW1lUGJvYXJk
VHlwZTsKK2V4dGVybiBjb25zdCBjaGFyKiBjb25zdCBXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5
cGU7CiAjZW5kaWYKIAogI2lmICFQTEFURk9STShHVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcAppbmRl
eCA5NjhiYjIyODZhMWY3ZTU4NDY0ZWY4OGQ3OWU2MWVmNDI0OTAxNTVmLi4zZTJjODJiOGIxMmVk
YTA5ZGI0M2Y0YzEzMDE0YzViYmFjMGI3MDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKQEAgLTMw
LDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvckNsaWVudC5oIgog
I2luY2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvck1hbmFnZXIuaCIKKyNpbmNsdWRlICJMb2dn
aW5nLmgiCiAKICNpZiBQTEFURk9STShJT1MpCiAjaW5jbHVkZSAiRGlzcGxheVJlZnJlc2hNb25p
dG9ySU9TLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udEZhbWlseVNwZWNpZmljYXRpb25OdWxsLmNwcAppbmRleCAyMTc2OTFmNzIz
OTc0ZTgwMDU3OWIyOGNjMDU2YTdiOWMwODVjNjRkLi4xNWMwMzg3Njk4MjYwZjQwNWUyMmU1YmY1
Mjc4MDAzMDhjN2ZlM2JmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHAKQEAgLTI3
LDYgKzI3LDcgQEAKICNpbmNsdWRlICJGb250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuaCIKIAog
I2luY2x1ZGUgIkZvbnRTZWxlY3Rvci5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmlu
Z0hhc2guaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHTExheWVyLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5tbQppbmRleCAzZWQ3ZTQxZTdj
Njg4NDZmM2ZiYzE3MmNlNmJhOTg5ZmY4N2Y1N2ViLi44ZWUzNDhkODk5ODYzNDEzZDZiNjcxMzc2
ZTViMWRhNTRjYjEzNzYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jb2NvYS9XZWJHTExheWVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL1dlYkdMTGF5ZXIubW0KQEAgLTQyLDEzICs0MiwxMSBAQAogI2ltcG9ydCA8
T3BlbkdML2dsLmg+CiAjZW5kaWYKIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIEBpbXBs
ZW1lbnRhdGlvbiBXZWJHTExheWVyCiAKIEBzeW50aGVzaXplIGNvbnRleHQ9X2NvbnRleHQ7CiAK
LS0oaWQpaW5pdFdpdGhHcmFwaGljc0NvbnRleHQzRDooR3JhcGhpY3NDb250ZXh0M0QqKWNvbnRl
eHQKKy0oaWQpaW5pdFdpdGhHcmFwaGljc0NvbnRleHQzRDooV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0M0QqKWNvbnRleHQKIHsKICAgICBfY29udGV4dCA9IGNvbnRleHQ7CiAgICAgc2VsZiA9IFtz
dXBlciBpbml0XTsKQEAgLTg2LDcgKzg0LDcgQEAgc3RhdGljIHZvaWQgZnJlZURhdGEodm9pZCAq
LCBjb25zdCB2b2lkICpkYXRhLCBzaXplX3QgLyogc2l6ZSAqLykKIH0KICNlbmRpZgogCi0tKENH
SW1hZ2VSZWYpY29weUltYWdlU25hcHNob3RXaXRoQ29sb3JTcGFjZTooQ0dDb2xvclNwYWNlUmVm
KWNvbG9yU3BhY2UKKy0gKENHSW1hZ2VSZWYpY29weUltYWdlU25hcHNob3RXaXRoQ29sb3JTcGFj
ZTooQ0dDb2xvclNwYWNlUmVmKWNvbG9yU3BhY2UKIHsKICAgICBpZiAoIV9jb250ZXh0KQogICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTk2LDcgKzk0LDcgQEAgLShDR0ltYWdlUmVmKWNvcHlJ
bWFnZVNuYXBzaG90V2l0aENvbG9yU3BhY2U6KENHQ29sb3JTcGFjZVJlZiljb2xvclNwYWNlCiAK
ICAgICBSZXRhaW5QdHI8Q0dDb2xvclNwYWNlUmVmPiBpbWFnZUNvbG9yU3BhY2UgPSBjb2xvclNw
YWNlOwogICAgIGlmICghaW1hZ2VDb2xvclNwYWNlKQotICAgICAgICBpbWFnZUNvbG9yU3BhY2Ug
PSBzUkdCQ29sb3JTcGFjZVJlZigpOworICAgICAgICBpbWFnZUNvbG9yU3BhY2UgPSBXZWJDb3Jl
OjpzUkdCQ29sb3JTcGFjZVJlZigpOwogCiAgICAgQ0dSZWN0IGxheWVyQm91bmRzID0gQ0dSZWN0
SW50ZWdyYWwoW3NlbGYgYm91bmRzXSk7CiAKQEAgLTE0MSwxOSArMTM5LDE5IEBAIC0gKHZvaWQp
ZGlzcGxheQogI2VuZGlmCiAKICAgICBfY29udGV4dC0+bWFya0xheWVyQ29tcG9zaXRlZCgpOwot
ICAgIFBsYXRmb3JtQ0FMYXllciogbGF5ZXIgPSBQbGF0Zm9ybUNBTGF5ZXI6OnBsYXRmb3JtQ0FM
YXllcigoX19icmlkZ2Ugdm9pZCopc2VsZik7CisgICAgV2ViQ29yZTo6UGxhdGZvcm1DQUxheWVy
KiBsYXllciA9IFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXllcjo6cGxhdGZvcm1DQUxheWVyKChfX2Jy
aWRnZSB2b2lkKilzZWxmKTsKICAgICBpZiAobGF5ZXIgJiYgbGF5ZXItPm93bmVyKCkpCiAgICAg
ICAgIGxheWVyLT5vd25lcigpLT5wbGF0Zm9ybUNBTGF5ZXJMYXllckRpZERpc3BsYXkobGF5ZXIp
OwogfQogCiAjaWYgVVNFKE9QRU5HTCkKLS0gKHZvaWQpYWxsb2NhdGVJT1N1cmZhY2VCYWNraW5n
U3RvcmVXaXRoU2l6ZTooSW50U2l6ZSlzaXplIHVzaW5nQWxwaGE6KEJPT0wpdXNpbmdBbHBoYQor
LSAodm9pZClhbGxvY2F0ZUlPU3VyZmFjZUJhY2tpbmdTdG9yZVdpdGhTaXplOihXZWJDb3JlOjpJ
bnRTaXplKXNpemUgdXNpbmdBbHBoYTooQk9PTCl1c2luZ0FscGhhCiB7CiAgICAgX2J1ZmZlclNp
emUgPSBzaXplOwogICAgIF91c2luZ0FscGhhID0gdXNpbmdBbHBoYTsKLSAgICBfY29udGVudHNC
dWZmZXIgPSBXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShzaXplLCBzUkdCQ29sb3JTcGFjZVJl
ZigpKTsKLSAgICBfZHJhd2luZ0J1ZmZlciA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNp
emUsIHNSR0JDb2xvclNwYWNlUmVmKCkpOwotICAgIF9zcGFyZUJ1ZmZlciA9IFdlYkNvcmU6OklP
U3VyZmFjZTo6Y3JlYXRlKHNpemUsIHNSR0JDb2xvclNwYWNlUmVmKCkpOworICAgIF9jb250ZW50
c0J1ZmZlciA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUsIFdlYkNvcmU6OnNSR0JD
b2xvclNwYWNlUmVmKCkpOworICAgIF9kcmF3aW5nQnVmZmVyID0gV2ViQ29yZTo6SU9TdXJmYWNl
OjpjcmVhdGUoc2l6ZSwgV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYoKSk7CisgICAgX3NwYXJl
QnVmZmVyID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVhdGUoc2l6ZSwgV2ViQ29yZTo6c1JHQkNv
bG9yU3BhY2VSZWYoKSk7CiAKICAgICBBU1NFUlQoX2NvbnRlbnRzQnVmZmVyKTsKICAgICBBU1NF
UlQoX2RyYXdpbmdCdWZmZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvV2ViR1BVTGF5ZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbQppbmRleCA1YzM1NTdmOGJkNjZhNjhjOTIzYjIz
YWE2NDdiYjcxNDg0MDllOWExLi4yNWVmYjhiNzQ3NjgwMjQ1NThkYmNkZjMwZjc0MzE4NzE0Njk1
NWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9X
ZWJHUFVMYXllci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9XZWJHUFVMYXllci5tbQpAQCAtMzQsMTMgKzM0LDExIEBACiAjaW1wb3J0IDx3dGYvRmFzdE1h
bGxvYy5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCi11c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKLQogQGltcGxlbWVudGF0aW9uIFdlYkdQVUxheWVyCiAKIEBzeW50aGVzaXplIGNvbnRl
eHQ9X2NvbnRleHQ7CiAKLS0gKGlkKWluaXRXaXRoR1BVRGV2aWNlOihHUFVEZXZpY2UqKWNvbnRl
eHQKKy0gKGlkKWluaXRXaXRoR1BVRGV2aWNlOihXZWJDb3JlOjpHUFVEZXZpY2UqKWNvbnRleHQK
IHsKICAgICBzZWxmID0gW3N1cGVyIGluaXRdOwogICAgIF9jb250ZXh0ID0gY29udGV4dDsKQEAg
LTUwLDcgKzQ4LDcgQEAgLSAoaWQpaW5pdFdpdGhHUFVEZXZpY2U6KEdQVURldmljZSopY29udGV4
dAogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHNlbGYuY29udGVudHNTY2FsZSA9IF9kZXZpY2VQ
aXhlbFJhdGlvOwotICAgIHNlbGYuY29sb3JzcGFjZSA9IHNSR0JDb2xvclNwYWNlUmVmKCk7Cisg
ICAgc2VsZi5jb2xvcnNwYWNlID0gV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYoKTsKICNlbmRp
ZgogICAgIHJldHVybiBzZWxmOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29tbWFuZFF1ZXVlTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbQppbmRleCA4
MjBhZjhiYzE2ZGIzYjQ4NjVlNzliN2I4MjRkYjJjN2I0ZGYzZWNjLi4zMDNiMjVkYTNkNGE2NGVk
MWIwMDMwYjcyYjlmZGJjNmY5NjVjMzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbQpA
QCAtMzEsNiArMzEsNyBAQAogI2ltcG9ydCAiR1BVRGV2aWNlLmgiCiAjaW1wb3J0ICJMb2dnaW5n
LmgiCiAjaW1wb3J0IDxNZXRhbC9NZXRhbC5oPgorI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvUGFzdGVib2FyZE1hYy5tbQppbmRleCBjYjUwNGNmNTQzZWI3ZTgwZDc2NjVjZDFlNTdlMzA4
OWFmZmIxYTcwLi5mZDZlOTI5ODc3NGZhZjRmZTg3MzViZjI3NTY1YWRjOTUzMmJmNjM2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQpAQCAtNTIsMTAg
KzUyLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY29uc3QgY2hhciogY29uc3QgV2ViQXJj
aGl2ZVBib2FyZFR5cGUgPSAiQXBwbGUgV2ViIEFyY2hpdmUgcGFzdGVib2FyZCB0eXBlIjsKIGNv
bnN0IGNoYXIqIGNvbnN0IFdlYlVSTE5hbWVQYm9hcmRUeXBlID0gInB1YmxpYy51cmwtbmFtZSI7
Citjb25zdCBjaGFyKiBjb25zdCBXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGUgPSAiV2ViVVJM
c1dpdGhUaXRsZXNQYm9hcmRUeXBlIjsKIAogY29uc3QgY2hhciBXZWJTbWFydFBhc3RlUGJvYXJk
VHlwZVtdID0gIk5lWFQgc21hcnQgcGFzdGUgcGFzdGVib2FyZCB0eXBlIjsKIGNvbnN0IGNoYXIg
V2ViVVJMUGJvYXJkVHlwZVtdID0gInB1YmxpYy51cmwiOwotY29uc3QgY2hhciBXZWJVUkxzV2l0
aFRpdGxlc1Bib2FyZFR5cGVbXSA9ICJXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGUiOwogCiBz
dGF0aWMgY29uc3QgVmVjdG9yPFN0cmluZz4gd3JpdGFibGVUeXBlc0ZvclVSTCgpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNh
cHR1cmVNYW5hZ2VyQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbWFjL0Rpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29hLmNwcAppbmRleCA1YzJhOWQyNDE5OGEx
M2U0OGM0ZjczZTlkZTYxZGQzN2FkZTkyNTUxLi5mNDkyZTYxNDJmMDIzMWI5OTdlOTZiYTU5Mjc5
NTg4NTY4MDkzM2FjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5j
cHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKKyNpbmNs
dWRlICJDb3JlVmlkZW9Tb2Z0TGluay5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRl
IDx3dGYvQWxnb3JpdGhtcy5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RC
YXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0
QmFzZS5jcHAKaW5kZXggMjU0MDk2NTZjM2Q2MzIwMzYxNjVmYWIxZGQ3NDllODhmY2E2ODQ4Mi4u
ZmY1ODM2MTc0ZWFiOTU5NTI4YTIwN2JmYmFhYjYwMDM5ZDliNTAzMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3Bw
CkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiSFRUUEhlYWRlck5hbWVzLmgiCiAjaW5jbHVk
ZSAiUHVibGljU3VmZml4LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCisjaW5jbHVk
ZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5UG9saWN5LmgiCiAjaW5j
bHVkZSA8d3RmL1BvaW50ZXJDb21wYXJpc29uLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5ldC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0Zvcm1EYXRhU3RyZWFtQ0ZOZXQuY3BwCmluZGV4
IDI5MDI1ZDM4YTdmZDM2ZmY5Yjk5NjIzOTFmMDgwODcwMjFmZjEzMGUuLmU1MzIxYzI3ZDRkOTY4
YzY2ZTRjZDRjNjc3OTYzZjVhN2Q2Y2FkZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5ldC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Gb3JtRGF0YVN0cmVhbUNGTmV0LmNwcApAQCAtNDIs
MTEgKzQyLDcgQEAKICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3Rm
L1RocmVhZGluZy5oPgogCi0jaWYgUExBVEZPUk0oSU9TKSAmJiAhUExBVEZPUk0oSU9TTUFDKQot
c3RhdGljIGNvbnN0IFNJbnQzMiBmbmZFcnIgPSAtNDM7Ci0jZWxpZiBQTEFURk9STShNQUMpCi0j
aW5jbHVkZSA8Q29yZVNlcnZpY2VzL0NvcmVTZXJ2aWNlcy5oPgotI2VuZGlmCitzdGF0aWMgY29u
c3QgU0ludDMyIGZpbGVOb3RGb3VuZEVycm9yID0gLTQzOwogCiAjaWYgUExBVEZPUk0oQ09DT0Ep
CiBleHRlcm4gIkMiIHZvaWQgQ0ZVUkxSZXF1ZXN0U2V0SFRUUFJlcXVlc3RCb2R5KENGTXV0YWJs
ZVVSTFJlcXVlc3RSZWYgbXV0YWJsZUhUVFBSZXF1ZXN0LCBDRkRhdGFSZWYgaHR0cEJvZHkpOwpA
QCAtMjQxLDcgKzIzNyw3IEBAIHN0YXRpYyBCb29sZWFuIGZvcm1PcGVuKENGUmVhZFN0cmVhbVJl
ZiwgQ0ZTdHJlYW1FcnJvciogZXJyb3IsIEJvb2xlYW4qIG9wZW5Db21wCiAjaWYgUExBVEZPUk0o
V0lOKQogICAgICAgICBFTk9FTlQ7CiAjZWxzZQotICAgICAgICBmbmZFcnI7CisgICAgICAgIGZp
bGVOb3RGb3VuZEVycm9yOwogI2VuZGlmCiAgICAgcmV0dXJuIG9wZW5lZDsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJs
b2NrRmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJl
ZUJ1aWxkZXJCbG9ja0Zsb3cuY3BwCmluZGV4IDNiYzgyYzZlMWFiZDJmYWM0M2IwOTljOGU2ZTNj
Y2YzNjZkZDg1M2IuLjJjMmI1MDhmYWM1YzZmYzg0NjI4NWM5ZmZhODk1YTdiNDAyMmI4ZWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVp
bGRlckJsb2NrRmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5n
L1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcApAQCAtMjcsNiArMjcsOCBAQAogI2luY2x1
ZGUgIlJlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmgiCiAKICNpbmNsdWRlICJSZW5kZXJNdWx0
aUNvbHVtbkZsb3cuaCIKKyNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlckJsb2NrLmgiCisjaW5j
bHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJNdWx0aUNvbHVtbi5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5k
ZXJUcmVlQnVpbGRlcklubGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRp
bmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwCmluZGV4IDdjZDA3MTVkZjUyNGE3NmZkMjA2
YTIzNDI4ZDlkYWM3ZDdkODUzZjguLmRjOTUzY2NkY2VlODMwMWRmZDA1OTdhNjFkMDUyZTNjNTBi
OWY2MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5k
ZXJUcmVlQnVpbGRlcklubGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3Vw
ZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5saW5lLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2lu
Y2x1ZGUgIlJlbmRlckZ1bGxTY3JlZW4uaCIKICNpbmNsdWRlICJSZW5kZXJJbmxpbmUuaCIKICNp
bmNsdWRlICJSZW5kZXJUYWJsZS5oIgorI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyVGFibGUu
aCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9BUElXZWJBcmNoaXZlLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2
ZS5tbQppbmRleCBiMTc0MmZkZmRkMzg2OWVhZGQzZDdjNWFlZTcwNWU2NjFmOTdlZWRjLi5iOGM5
NzJmN2VjMThlYjdkNGM5YTcxZGUyYjRlMWUyYzY1ZGU4NzY2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0FQSVdlYkFyY2hpdmUubW0KQEAgLTM0LDkgKzM0LDggQEAKICNpbmNsdWRlIDxXZWJDb3JlL0xl
Z2FjeVdlYkFyY2hpdmUuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKLXVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwotCiBuYW1lc3BhY2UgQVBJIHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogCiBSZWY8V2ViQXJjaGl2ZT4gV2ViQXJjaGl2ZTo6Y3JlYXRlKFdlYkFyY2hpdmVSZXNv
dXJjZSogbWFpblJlc291cmNlLCBSZWZQdHI8QVBJOjpBcnJheT4mJiBzdWJyZXNvdXJjZXMsIFJl
ZlB0cjxBUEk6OkFycmF5PiYmIHN1YmZyYW1lQXJjaGl2ZXMpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW0gYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW0KaW5kZXggY2FlNWI4NWRmMTc3ZGRkZTY4
ZDg1MmU1ZTUwNmQ4ZDkyYmUyZWE5NC4uZGMwZjkwZjBmMzg1MWFiZjEwMDQ4NGJhNTczYWU0YWY4
ZTgwYjIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZVJl
c291cmNlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmVSZXNvdXJj
ZS5tbQpAQCAtMzMsOSArMzMsOCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvVVJMLmg+CiAjaW5jbHVk
ZSA8d3RmL1JldGFpblB0ci5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogbmFtZXNw
YWNlIEFQSSB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogUmVmPFdlYkFyY2hpdmVSZXNv
dXJjZT4gV2ViQXJjaGl2ZVJlc291cmNlOjpjcmVhdGUoQVBJOjpEYXRhKiBkYXRhLCBjb25zdCBT
dHJpbmcmIFVSTCwgY29uc3QgU3RyaW5nJiBNSU1FVHlwZSwgY29uc3QgU3RyaW5nJiB0ZXh0RW5j
b2RpbmcpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNj
YXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tCmluZGV4IDY4
ZDdjNmFkZjM2Mjc1MTMxMjk2MzU2Mjg2ZjExZTg0OWMxNGMyYzAuLmMwY2NhYzU5ODUzY2ZhZmZk
OWZmMWQxZTNkNjhiNjdkNjQ1N2Y3YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9k
dWxlTWFjLm1tCkBAIC0zNCw5ICszNCw4IEBACiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgog
I2ltcG9ydCA8d3RmL3NwaS9jZi9DRkJ1bmRsZVNQSS5oPgogCi11c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKLQogbmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAog
c3RhdGljIGJvb2wgZ2V0UGx1Z2luQXJjaGl0ZWN0dXJlKENGQnVuZGxlUmVmIGJ1bmRsZSwgUGx1
Z2luTW9kdWxlSW5mbyYgcGx1Z2luKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW0gYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9QbHVnaW5JbmZvcm1hdGlvbk1hYy5t
bQppbmRleCA1ZWM4NDI0OTU5Y2JjMTkyODg2ZmE3NWFiZjAzZjNkODg1YmNiMWQ5Li4zMjU4NGQ0
MTZiZTBmZjI1ZTllOTFkZGY0Mjg3MGUzMzk0ZjQ5MzY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9QbHVnaW5JbmZvcm1hdGlvbk1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9QbHVnaW5JbmZv
cm1hdGlvbk1hYy5tbQpAQCAtMzQsOSArMzQsOCBAQAogI2ltcG9ydCAiU3RyaW5nVXRpbGl0aWVz
LmgiCiAjaW1wb3J0IDxXZWJDb3JlL1BsdWdpbkJsYWNrbGlzdC5oPgogCi11c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKLQogbmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKIAogdm9pZCBnZXRQbGF0Zm9ybVBsdWdpbk1vZHVsZUluZm9ybWF0aW9uKGNvbnN0IFBsdWdp
bk1vZHVsZUluZm8mIHBsdWdpbiwgQVBJOjpEaWN0aW9uYXJ5OjpNYXBUeXBlJiBtYXApCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0
L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggZDhhM2M5MGRmZmUzMjIzMjJkNzYzZWUyMWU3Y2JhNDUw
ZmU4NWZjZi4uNGI4ZDQ4MDZiNDRmMjIwNDY1ODU3N2ViN2E5Njc4Y2I4ZTM0NzliZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQv
U291cmNlc0NvY29hLnR4dApAQCAtMjk4LDkgKzI5OCw5IEBAIFVJUHJvY2Vzcy9BUEkvbWFjL1dL
Vmlldy5tbSBAbm8tdW5pZnkKIAogVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRD
b29yZGluYXRvclByb3h5Q29jb2EubW0KIAotVUlQcm9jZXNzL0FwcGxlUGF5L2lvcy9XZWJQYXlt
ZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbQorVUlQcm9jZXNzL0FwcGxlUGF5L2lvcy9XZWJQYXlt
ZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbSBAbm8tdW5pZnkKIAotVUlQcm9jZXNzL0FwcGxlUGF5
L21hYy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbQorVUlQcm9jZXNzL0FwcGxlUGF5
L21hYy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbSBAbm8tdW5pZnkKIAogVUlQcm9j
ZXNzL0F1dGhlbnRpY2F0aW9uL2NvY29hL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHlDb2Nv
YS5tbQogVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL2NvY29hL1NlY0tleVByb3h5U3RvcmUubW0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElBdXRvbWF0aW9uU2Vz
c2lvbkNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25T
ZXNzaW9uQ2xpZW50LmgKaW5kZXggYmZjNWVlMzM4MjIwZDkxNTZmY2NmMDBjMWU3NmQwYmJlZTkw
NDE5MC4uMzc5Yzg4NTdiZTk0YjYxOTU1NWVkZmZlYzRjM2E5YTZlMTc3OTQ4NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9u
Q2xpZW50LmgKQEAgLTUxLDcgKzUxLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB+QXV0b21h
dGlvblNlc3Npb25DbGllbnQoKSB7IH0KIAotICAgIHZpcnR1YWwgU3RyaW5nIHNlc3Npb25JZGVu
dGlmaWVyKCkgY29uc3QgeyByZXR1cm4gU3RyaW5nKCk7IH0KKyAgICB2aXJ0dWFsIFdURjo6U3Ry
aW5nIHNlc3Npb25JZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gV1RGOjpTdHJpbmcoKTsgfQog
ICAgIHZpcnR1YWwgdm9pZCBkaWREaXNjb25uZWN0RnJvbVJlbW90ZShXZWJLaXQ6OldlYkF1dG9t
YXRpb25TZXNzaW9uJikgeyB9CiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3ROZXdQYWdlV2l0aE9w
dGlvbnMoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIEF1dG9tYXRpb25TZXNzaW9uQnJv
d3NpbmdDb250ZXh0T3B0aW9ucywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJLaXQ6OldlYlBh
Z2VQcm94eSopPiYmIGNvbXBsZXRpb25IYW5kbGVyKSB7IGNvbXBsZXRpb25IYW5kbGVyKG51bGxw
dHIpOyB9CiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RNYXhpbWl6ZVdpbmRvd09mUGFnZShXZWJL
aXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRs
ZXIoKTsgfQpAQCAtNjEsOCArNjEsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzU2hv
d2luZ0phdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYs
IFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZv
aWQgZGlzbWlzc0N1cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21h
dGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgfQogICAgIHZpcnR1YWwgdm9p
ZCBhY2NlcHRDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRp
b25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IH0KLSAgICB2aXJ0dWFsIFN0cmlu
ZyBtZXNzYWdlT2ZDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9t
YXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IHJldHVybiBTdHJpbmcoKTsg
fQotICAgIHZpcnR1YWwgdm9pZCBzZXRVc2VySW5wdXRGb3JDdXJyZW50SmF2YVNjcmlwdFByb21w
dE9uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJv
eHkmLCBjb25zdCBTdHJpbmcmKSB7IH0KKyAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIG1lc3NhZ2VP
ZkN1cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Np
b24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgcmV0dXJuIFdURjo6U3RyaW5nKCk7IH0KKyAg
ICB2aXJ0dWFsIHZvaWQgc2V0VXNlcklucHV0Rm9yQ3VycmVudEphdmFTY3JpcHRQcm9tcHRPblBh
Z2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5Jiwg
Y29uc3QgV1RGOjpTdHJpbmcmKSB7IH0KICAgICB2aXJ0dWFsIHN0ZDo6b3B0aW9uYWw8SmF2YVNj
cmlwdERpYWxvZ1R5cGU+IHR5cGVPZkN1cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktp
dDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgcmV0dXJu
IHN0ZDo6bnVsbG9wdDsgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1t
CmluZGV4IDExYmEzNzI2NTQ4M2ZmZTdmZjI0NjUwOTQwZDhmMzNhNTJjMGMwNGEuLjE5YTU5YjQy
Y2FiN2I1NDdlZDk0NDYwZTcyZmMwMzk2Y2ZlNzkyODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9MZWdhY3lDdXN0b21Qcm90b2NvbE1h
bmFnZXJDbGllbnQubW0KQEAgLTMyLDIzICszMiwyMCBAQAogI2ltcG9ydCA8V2ViQ29yZS9SZXNv
dXJjZVJlcXVlc3QuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgogCi11
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KIEBpbnRl
cmZhY2UgV0tDdXN0b21Qcm90b2NvbExvYWRlciA6IE5TT2JqZWN0IDxOU1VSTENvbm5lY3Rpb25E
ZWxlZ2F0ZT4gewogQHByaXZhdGUKLSAgICBMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94
eSogX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OworICAgIFdlYktpdDo6TGVnYWN5Q3VzdG9t
UHJvdG9jb2xNYW5hZ2VyUHJveHkqIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTsKICAgICB1
aW50NjRfdCBfY3VzdG9tUHJvdG9jb2xJRDsKICAgICBOU1VSTENhY2hlU3RvcmFnZVBvbGljeSBf
c3RvcmFnZVBvbGljeTsKICAgICBOU1VSTENvbm5lY3Rpb24gKl91cmxDb25uZWN0aW9uOwogfQot
LSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTooTGVnYWN5Q3Vz
dG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5IGN1c3Rv
bVByb3RvY29sSUQ6KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVzdDooTlNVUkxSZXF1
ZXN0ICopcmVxdWVzdDsKKy0gKGlkKWluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
UHJveHk6KFdlYktpdDo6TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqKWN1c3RvbVBy
b3RvY29sTWFuYWdlclByb3h5IGN1c3RvbVByb3RvY29sSUQ6KHVpbnQ2NF90KWN1c3RvbVByb3Rv
Y29sSUQgcmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdDsKIC0gKHZvaWQpY3VzdG9tUHJv
dG9jb2xNYW5hZ2VyUHJveHlEZXN0cm95ZWQ7CiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXS0N1
c3RvbVByb3RvY29sTG9hZGVyCiAKLS0gKGlkKWluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xN
YW5hZ2VyUHJveHk6KExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiljdXN0b21Qcm90
b2NvbE1hbmFnZXJQcm94eSBjdXN0b21Qcm90b2NvbElEOih1aW50NjRfdCljdXN0b21Qcm90b2Nv
bElEIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QKKy0gKGlkKWluaXRXaXRoTGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6KFdlYktpdDo6TGVnYWN5Q3VzdG9tUHJvdG9jb2xN
YW5hZ2VyUHJveHkqKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5IGN1c3RvbVByb3RvY29sSUQ6
KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVz
dAogewogICAgIHNlbGYgPSBbc3VwZXIgaW5pdF07CiAgICAgaWYgKCFzZWxmKQpAQCAtODUsNyAr
ODIsNyBAQCAtICh2b2lkKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5RGVzdHJveWVkCiAKIC0g
KHZvaWQpY29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiBkaWRGYWlsV2l0
aEVycm9yOihOU0Vycm9yICopZXJyb3IKIHsKLSAgICBSZXNvdXJjZUVycm9yIGNvcmVFcnJvcihl
cnJvcik7CisgICAgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBjb3JlRXJyb3IoZXJyb3IpOwogICAg
IF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS0+ZGlkRmFpbFdpdGhFcnJvcihfY3VzdG9tUHJv
dG9jb2xJRCwgY29yZUVycm9yKTsKICAgICBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHktPnN0
b3BMb2FkaW5nKF9jdXN0b21Qcm90b2NvbElEKTsKIH0KQEAgLTk5LDcgKzk2LDcgQEAgLSAoTlND
YWNoZWRVUkxSZXNwb25zZSAqKWNvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rp
b24gd2lsbENhY2hlUmVzcG8KIAogLSAodm9pZCljb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24g
Kiljb25uZWN0aW9uIGRpZFJlY2VpdmVSZXNwb25zZTooTlNVUkxSZXNwb25zZSAqKXJlc3BvbnNl
CiB7Ci0gICAgUmVzb3VyY2VSZXNwb25zZSBjb3JlUmVzcG9uc2UocmVzcG9uc2UpOworICAgIFdl
YkNvcmU6OlJlc291cmNlUmVzcG9uc2UgY29yZVJlc3BvbnNlKHJlc3BvbnNlKTsKICAgICBfY3Vz
dG9tUHJvdG9jb2xNYW5hZ2VyUHJveHktPmRpZFJlY2VpdmVSZXNwb25zZShfY3VzdG9tUHJvdG9j
b2xJRCwgY29yZVJlc3BvbnNlLCBfc3RvcmFnZVBvbGljeSk7CiB9CiAKQEAgLTEyNyw2ICsxMjQs
NyBAQCAtICh2b2lkKWNvbm5lY3Rpb25EaWRGaW5pc2hMb2FkaW5nOihOU1VSTENvbm5lY3Rpb24g
Kiljb25uZWN0aW9uCiBAZW5kCiAKIG5hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CiAKIHZvaWQgTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50OjpzdGFy
dExvYWRpbmcoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkmIG1hbmFnZXIsIHVpbnQ2
NF90IGN1c3RvbVByb3RvY29sSUQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgY29yZVJlcXVlc3Qp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblBy
b2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblBy
b2Nlc3NQcm94eS5jcHAKaW5kZXggYzJiOTFhNjM5NzNlNjMxMjBhYWU1MjhmODk3NTM4NWY3YjZk
YmY2Mi4uZWRlZDljN2QyYTRlNThlM2QwNThkODMyNjgzMTA5ODE4MmFmNDQ3NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5
LmNwcApAQCAtNDgsNyArNDgsNyBAQCBzdGF0aWMgY29uc3QgU2Vjb25kcyBzbmFwc2hvdHRpbmdN
aW5pbXVtTGlmZXRpbWUgeyAzMF9zIH07CiBzdGF0aWMgY29uc3QgU2Vjb25kcyBzaHV0ZG93blRp
bWVvdXQgeyAxX21pbiB9Owogc3RhdGljIGNvbnN0IFNlY29uZHMgc25hcHNob3R0aW5nU2h1dGRv
d25UaW1lb3V0IHsgMTVfcyB9OwogCi1zdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVDYWxsYmFja0lE
KCkKK3N0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZVBsdWdpblByb2Nlc3NDYWxsYmFja0lEKCkKIHsK
ICAgICBzdGF0aWMgdWludDY0X3QgY2FsbGJhY2tJRDsKIApAQCAtMTE0LDcgKzExNCw3IEBAIHZv
aWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpnZXRQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbihNZXNzYWdl
czo6V2ViUHJvY2Vzc1Byb3h5OjpHCiAKIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpmZXRjaFdl
YnNpdGVEYXRhKENvbXBsZXRpb25IYW5kbGVyPHZvaWQgKFZlY3RvcjxTdHJpbmc+KT4mJiBjb21w
bGV0aW9uSGFuZGxlcikKIHsKLSAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxs
YmFja0lEKCk7CisgICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlUGx1Z2luUHJvY2Vz
c0NhbGxiYWNrSUQoKTsKICAgICBtX3BlbmRpbmdGZXRjaFdlYnNpdGVEYXRhQ2FsbGJhY2tzLnNl
dChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAKICAgICBpZiAoc3Rh
dGUoKSA9PSBTdGF0ZTo6TGF1bmNoaW5nKSB7CkBAIC0xMjcsNyArMTI3LDcgQEAgdm9pZCBQbHVn
aW5Qcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAo
VmVjdG9yPFN0cmluZz4KIAogdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVE
YXRhKFdhbGxUaW1lIG1vZGlmaWVkU2luY2UsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQgKCk+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRl
Q2FsbGJhY2tJRCgpOworICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVBsdWdpblBy
b2Nlc3NDYWxsYmFja0lEKCk7CiAgICAgbV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFDYWxsYmFj
a3Muc2V0KGNhbGxiYWNrSUQsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIGlm
IChzdGF0ZSgpID09IFN0YXRlOjpMYXVuY2hpbmcpIHsKQEAgLTE0MCw3ICsxNDAsNyBAQCB2b2lk
IFBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEoV2FsbFRpbWUgbW9kaWZpZWRT
aW5jZSwgQ29tcGxldGlvbkhhbgogCiB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vi
c2l0ZURhdGFGb3JIb3N0TmFtZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGhvc3ROYW1lcywgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICB1aW50
NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7CisgICAgdWludDY0X3QgY2Fs
bGJhY2tJRCA9IGdlbmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQoKTsKICAgICBtX3BlbmRp
bmdEZWxldGVXZWJzaXRlRGF0YUZvckhvc3ROYW1lc0NhbGxiYWNrcy5zZXQoY2FsbGJhY2tJRCwg
V1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAgaWYgKHN0YXRlKCkgPT0gU3RhdGU6
OkxhdW5jaGluZykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3Rl
TGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tCmluZGV4IDRhMmUyOWI1NjA5NjFhNTliMWNiNTUx
OTc4MzkxNDljMzEwNjg0YzIuLjcyYTg4MmYwNTgxZDVlYWM5MWZjMTRiYzA1YTAyZjE0NGYxNmMx
MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9p
b3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxp
bmdOb2RlRGVsZWdhdGVJT1MubW0KQEAgLTQzLDggKzQzLDYgQEAKICNpbXBvcnQgPFdlYkNvcmUv
U2Nyb2xsU25hcE9mZnNldHNJbmZvLmg+CiAjZW5kaWYKIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7Ci0KIEBpbXBsZW1lbnRhdGlvbiBXS1Njcm9sbGluZ05vZGVTY3JvbGxWaWV3RGVsZWdhdGUK
IAogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoU2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZTooV2Vi
S2l0OjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TKilkZWxlZ2F0ZQpAQCAt
ODAsNyArNzgsNyBAQCAtICh2b2lkKXNjcm9sbFZpZXdXaWxsRW5kRHJhZ2dpbmc6KFVJU2Nyb2xs
VmlldyAqKXNjcm9sbFZpZXcgd2l0aFZlbG9jaXR5OihDR1BvaQogCiAgICAgaWYgKCFfc2Nyb2xs
aW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0
cygpLmlzRW1wdHkoKSkgewogICAgICAgICB1bnNpZ25lZCBpbmRleDsKLSAgICAgICAgZmxvYXQg
cG90ZW50aWFsU25hcFBvc2l0aW9uID0gY2xvc2VzdFNuYXBPZmZzZXQoX3Njcm9sbGluZ1RyZWVO
b2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNldHMoKSwgX3Nj
cm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25hcE9m
ZnNldFJhbmdlcygpLCBob3Jpem9udGFsVGFyZ2V0LCB2ZWxvY2l0eS54LCBpbmRleCk7CisgICAg
ICAgIGZsb2F0IHBvdGVudGlhbFNuYXBQb3NpdGlvbiA9IFdlYkNvcmU6OmNsb3Nlc3RTbmFwT2Zm
c2V0KF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuaG9yaXpvbnRh
bFNuYXBPZmZzZXRzKCksIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2Rl
KCkuaG9yaXpvbnRhbFNuYXBPZmZzZXRSYW5nZXMoKSwgaG9yaXpvbnRhbFRhcmdldCwgdmVsb2Np
dHkueCwgaW5kZXgpOwogICAgICAgICBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xs
aW5nTm9kZSgpLnNldEN1cnJlbnRIb3Jpem9udGFsU25hcFBvaW50SW5kZXgoaW5kZXgpOwogICAg
ICAgICBpZiAoaG9yaXpvbnRhbFRhcmdldCA+PSAwICYmIGhvcml6b250YWxUYXJnZXQgPD0gc2Ny
b2xsVmlldy5jb250ZW50U2l6ZS53aWR0aCkKICAgICAgICAgICAgIHRhcmdldENvbnRlbnRPZmZz
ZXQtPnggPSBwb3RlbnRpYWxTbmFwUG9zaXRpb247CkBAIC04OCw3ICs4Niw3IEBAIC0gKHZvaWQp
c2Nyb2xsVmlld1dpbGxFbmREcmFnZ2luZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldyB3aXRo
VmVsb2NpdHk6KENHUG9pCiAKICAgICBpZiAoIV9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5z
Y3JvbGxpbmdOb2RlKCkudmVydGljYWxTbmFwT2Zmc2V0cygpLmlzRW1wdHkoKSkgewogICAgICAg
ICB1bnNpZ25lZCBpbmRleDsKLSAgICAgICAgZmxvYXQgcG90ZW50aWFsU25hcFBvc2l0aW9uID0g
Y2xvc2VzdFNuYXBPZmZzZXQoX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05v
ZGUoKS52ZXJ0aWNhbFNuYXBPZmZzZXRzKCksIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5z
Y3JvbGxpbmdOb2RlKCkudmVydGljYWxTbmFwT2Zmc2V0UmFuZ2VzKCksIHZlcnRpY2FsVGFyZ2V0
LCB2ZWxvY2l0eS55LCBpbmRleCk7CisgICAgICAgIGZsb2F0IHBvdGVudGlhbFNuYXBQb3NpdGlv
biA9IFdlYkNvcmU6OmNsb3Nlc3RTbmFwT2Zmc2V0KF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRl
LT5zY3JvbGxpbmdOb2RlKCkudmVydGljYWxTbmFwT2Zmc2V0cygpLCBfc2Nyb2xsaW5nVHJlZU5v
ZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2FsU25hcE9mZnNldFJhbmdlcygpLCB2
ZXJ0aWNhbFRhcmdldCwgdmVsb2NpdHkueSwgaW5kZXgpOwogICAgICAgICBfc2Nyb2xsaW5nVHJl
ZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnNldEN1cnJlbnRWZXJ0aWNhbFNuYXBQb2lu
dEluZGV4KGluZGV4KTsKICAgICAgICAgaWYgKHZlcnRpY2FsVGFyZ2V0ID49IDAgJiYgdmVydGlj
YWxUYXJnZXQgPD0gc2Nyb2xsVmlldy5jb250ZW50U2l6ZS5oZWlnaHQpCiAgICAgICAgICAgICB0
YXJnZXRDb250ZW50T2Zmc2V0LT55ID0gcG90ZW50aWFsU25hcFBvc2l0aW9uOwpAQCAtMTIyLDYg
KzEyMCw3IEBAIC0gKHZvaWQpc2Nyb2xsVmlld0RpZEVuZERlY2VsZXJhdGluZzooVUlTY3JvbGxW
aWV3ICopc2Nyb2xsVmlldwogQGVuZAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwogCiBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TOjpT
Y3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TKFNjcm9sbGluZ1RyZWVTY3JvbGxp
bmdOb2RlJiBzY3JvbGxpbmdOb2RlKQogICAgIDogU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVE
ZWxlZ2F0ZShzY3JvbGxpbmdOb2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94eS5jcHAKaW5kZXggZWZhOGQxM2NiYmQ1ZmZh
ODA4YjVmMGVkYmY0YTUxZGM5ZGY4NTdlNy4uM2ExMzFiNGQ2MGQ4YWEwN2U4N2ZiNWU0YzYxNGYz
MGE3ZDQyYjU3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9T
dG9yYWdlUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9y
YWdlL1N0b3JhZ2VQcm9jZXNzUHJveHkuY3BwCkBAIC0zNyw3ICszNyw3IEBACiBuYW1lc3BhY2Ug
V2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1zdGF0aWMgdWludDY0X3QgZ2Vu
ZXJhdGVDYWxsYmFja0lEKCkKK3N0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNz
Q2FsbGJhY2tJRCgpCiB7CiAgICAgc3RhdGljIHVpbnQ2NF90IGNhbGxiYWNrSUQ7CiAKQEAgLTEw
NSw3ICsxMDUsNyBAQCB2b2lkIFN0b3JhZ2VQcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEo
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8VwogewogICAgIEFTU0VSVChjYW5T
ZW5kTWVzc2FnZSgpKTsKIAotICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxi
YWNrSUQoKTsKKyAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVTdG9yYWdlUHJvY2Vz
c0NhbGxiYWNrSUQoKTsKICAgICBtX3BlbmRpbmdGZXRjaFdlYnNpdGVEYXRhQ2FsbGJhY2tzLmFk
ZChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAKICAgICBzZW5kKE1l
c3NhZ2VzOjpTdG9yYWdlUHJvY2Vzczo6RmV0Y2hXZWJzaXRlRGF0YShzZXNzaW9uSUQsIGRhdGFU
eXBlcywgY2FsbGJhY2tJRCksIDApOwpAQCAtMTEzLDcgKzExMyw3IEBAIHZvaWQgU3RvcmFnZVBy
b2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9w
dGlvblNldDxXCiAKIHZvaWQgU3RvcmFnZVByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEo
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiBkYXRh
VHlwZXMsIFdhbGxUaW1lIG1vZGlmaWVkU2luY2UsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQgKCk+
JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgYXV0byBjYWxsYmFja0lEID0gZ2VuZXJhdGVD
YWxsYmFja0lEKCk7CisgICAgYXV0byBjYWxsYmFja0lEID0gZ2VuZXJhdGVTdG9yYWdlUHJvY2Vz
c0NhbGxiYWNrSUQoKTsKIAogICAgIG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRhQ2FsbGJhY2tz
LmFkZChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAgICAgc2VuZChN
ZXNzYWdlczo6U3RvcmFnZVByb2Nlc3M6OkRlbGV0ZVdlYnNpdGVEYXRhKHNlc3Npb25JRCwgZGF0
YVR5cGVzLCBtb2RpZmllZFNpbmNlLCBjYWxsYmFja0lEKSwgMCk7CkBAIC0xMjMsNyArMTIzLDcg
QEAgdm9pZCBTdG9yYWdlUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMo
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELAogewogICAgIEFTU0VSVChjYW5TZW5kTWVzc2FnZSgp
KTsKIAotICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAg
ICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQo
KTsKICAgICBtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnNDYWxsYmFja3MuYWRk
KGNhbGxiYWNrSUQsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIHNlbmQoTWVz
c2FnZXM6OlN0b3JhZ2VQcm9jZXNzOjpEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoc2Vzc2lv
bklELCBkYXRhVHlwZXMsIG9yaWdpbnMsIGNhbGxiYWNrSUQpLCAwKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNzdiZDhkNzc1NjE4ZTA4ZTM2MmNiMTYxNGIzZDY1
ZDdjZTk2MDE2Yy4uMmE3YjYwYzBiYjM5MDE5NDExOWZiYzAxYzMyOWE1OWY4NmUwNDAxNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTYxLDcgKzYxLDYgQEAKICNp
bmNsdWRlICJXZWJQYWdlSW5qZWN0ZWRCdW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJXZWJQYXlt
ZW50Q29vcmRpbmF0b3JQcm94eS5oIgogI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzLmgiCi0jaW5j
bHVkZSA8V2ViQ29yZS9BbHRlcm5hdGl2ZVRleHRDbGllbnQuaD4gLy8gRklYTUU6IE5lZWRlZCBi
eSBXZWJQYWdlUHJveHlNZXNzYWdlcy5oIGZvciBESUNUQVRJT05fQUxURVJOQVRJVkVTLgogI2lu
Y2x1ZGUgIldlYlBhZ2VQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUG9wdXBNZW51UHJv
eHkuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzTGlmZXRpbWVUcmFja2VyLmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBjNzcxNTU5MGVk
NzFjY2RkMjNkZjI4NWEzYWE3YzM2ZTU0M2RiN2Y2Li5iYzdjMjQzZjQ3OTZhY2MyZWNlNGM0ZmVj
YzQ0OTI5MjU4Y2RiNDU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTc1Niw2ICs3NTYsOCBAQAogCQkyRDkyQTc5NTIxMkI2QUQ0MDBG
NDkzRkQgLyogUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJEOTBEMTEyODFDOTY2MDAxRUI5
NjIgLyogUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgKi87IH07CiAJCTJEOTJB
Nzk2MjEyQjZBREEwMEY0OTNGRCAvKiBOZXRzY2FwZVBsdWdpbk1vZHVsZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTRBOUM1MzEyQjgxNkNGMDA4
RkU5ODQgLyogTmV0c2NhcGVQbHVnaW5Nb2R1bGUuY3BwICovOyB9OwogCQkyRDkyQTc5NzIxMkI2
QURBMDBGNDkzRkQgLyogUGx1Z2luSW5mb3JtYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MzRjhDOEUxNzNBRjUyRDAwN0I3RjM5IC8qIFBs
dWdpbkluZm9ybWF0aW9uLmNwcCAqLzsgfTsKKwkJMkQ5MkE3OTgyMTM0OEQ4NTAwRjQ5M0ZEIC8q
IFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFCMUY3N0QxRDFCMzBBOTAwN0M5QkQxIC8qIFdlYlBh
eW1lbnRDb29yZGluYXRvclByb3h5TWFjLm1tICovOyB9OworCQkyRDkyQTc5RjIxMzRCMDdFMDBG
NDkzRkQgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlJT1MubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUIxRjc3QjFEMUIzMEE5MDA3QzlCRDEg
LyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlJT1MubW0gKi87IH07CiAJCTJEOTMxMTY5MjEy
RjYxQjIwMDA0NEJGRSAvKiBXS0NvbnRlbnRWaWV3Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDQjRFM0QxOEJCRTA0NDAwMEZDRkM5IC8qIFdLQ29u
dGVudFZpZXcubW0gKi87IH07CiAJCTJEOTMxMTZBMjEyRjYxQjUwMDA0NEJGRSAvKiBXS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRkNCNEU2QjE4QkJGMjZBMDAwRkNGQzkgLyogV0tDb250ZW50Vmlld0ludGVy
YWN0aW9uLm1tICovOyB9OwogCQkyRDlFQTMwRDFBOTZDQjU5MDAyRDI4MDcgLyogV0tQYWdlSW5q
ZWN0ZWRCdW5kbGVDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDJEOUVBMzBDMUE5NkNCNTkwMDJEMjgwNyAvKiBXS1BhZ2VJbmplY3RlZEJ1bmRs
ZUNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CkBAIC0xMTI0MSw2ICsxMTI0Myw4IEBACiAJCQkJN0NFOUNFMTAxRkEwNzY3QTAwMDE3N0RFIC8q
IFdlYlBhZ2VVcGRhdGVQcmVmZXJlbmNlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzQ2OTRD
OTFBNEI0RUExMDBBRDU4NDUgLyogV2ViUGFzdGVib2FyZFByb3h5TWVzc2FnZVJlY2VpdmVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTFBQjFGNzk2MUQxQjM2MTMwMDdDOUJEMSAvKiBXZWJQYXlt
ZW50Q29vcmRpbmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5
MkE3OUYyMTM0QjA3RTAwRjQ5M0ZEIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5SU9TLm1t
IGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5MkE3OTgyMTM0OEQ4NTAwRjQ5M0ZEIC8qIFdlYlBheW1l
bnRDb29yZGluYXRvclByb3h5TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFCMUY3OTgxRDFC
MzYxMzAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOTJBNzhEMjEyQjZBQjEwMEY0OTNGRCAvKiBXZWJQ
bGF0Zm9ybVRvdWNoUG9pbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5MTM0NEUyMTJDRjlG
MDAwMTI4QUZEIC8qIFdlYlBsdWdpbkluZm9Qcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4u
bW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tCmlu
ZGV4IDUzMDdlMjZhNzYzN2U4YTY5YjA0NWFiYjkyODc5ZjNmOGM2NTg2ZjIuLjRjYWE2Y2MwZjYw
NDUwYzAzYjIyYTI4NGRkMTNhZjI1ZWZkNmUzODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0KKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5tbQpAQCAtODgsOCArODgsNiBAQAogI2lt
cG9ydCA8cGFsL3NwaS9tYWMvTlNNZW51U1BJLmg+CiAjaW1wb3J0IDx3dGYvVVVJRC5oPgogCi11
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogLy8gU2V0IG92ZXJmbG93OiBoaWRkZW4gb24gdGhl
IGFubm90YXRpb24gY29udGFpbmVyIHNvIDxpbnB1dD4gZWxlbWVudHMgc2Nyb2xsZWQgb3V0IG9m
IHZpZXcgZG9uJ3Qgc2hvdwogLy8gc2Nyb2xsYmFycyBvbiB0aGUgYm9keS4gV2UgY2FuJ3QgYWRk
IGFubm90YXRpb25zIGRpcmVjdGx5IHRvIHRoZSBib2R5LCBiZWNhdXNlIG92ZXJmbG93OiBoaWRk
ZW4gb24gdGhlIGJvZHkKIC8vIHdpbGwgYnJlYWsgcnViYmVyLWJhbmRpbmcuCkBAIC0yOTAsNyAr
Mjg4LDcgQEAgLSAoTlNBcnJheSAqKWFjY2Vzc2liaWxpdHlBY3Rpb25OYW1lcwogLSAodm9pZClh
Y2Nlc3NpYmlsaXR5UGVyZm9ybUFjdGlvbjooTlNTdHJpbmcgKilhY3Rpb24KIHsKICAgICBpZiAo
W2FjdGlvbiBpc0VxdWFsVG9TdHJpbmc6TlNBY2Nlc3NpYmlsaXR5U2hvd01lbnVBY3Rpb25dKQot
ICAgICAgICBfcGRmUGx1Z2luLT5zaG93Q29udGV4dE1lbnVBdFBvaW50KEludFJlY3QoSW50UG9p
bnQoKSwgX3BkZlBsdWdpbi0+c2l6ZSgpKS5jZW50ZXIoKSk7CisgICAgICAgIF9wZGZQbHVnaW4t
PnNob3dDb250ZXh0TWVudUF0UG9pbnQoV2ViQ29yZTo6SW50UmVjdChXZWJDb3JlOjpJbnRQb2lu
dCgpLCBfcGRmUGx1Z2luLT5zaXplKCkpLmNlbnRlcigpKTsKIH0KIAogLSAoQk9PTClhY2Nlc3Np
YmlsaXR5SXNBdHRyaWJ1dGVTZXR0YWJsZTooTlNTdHJpbmcgKilhdHRyaWJ1dGUKQEAgLTMxNiw4
ICszMTQsOCBAQCAtIChpZClhY2Nlc3NpYmlsaXR5Rm9jdXNlZFVJRWxlbWVudAogewogI2lmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwCiAgICAgaWYgKFdlYktpdDo6
UERGUGx1Z2luQW5ub3RhdGlvbiogYWN0aXZlQW5ub3RhdGlvbiA9IF9wZGZQbHVnaW4tPmFjdGl2
ZUFubm90YXRpb24oKSkgewotICAgICAgICBpZiAoQVhPYmplY3RDYWNoZSogZXhpc3RpbmdDYWNo
ZSA9IF9wZGZQbHVnaW4tPmF4T2JqZWN0Q2FjaGUoKSkgewotICAgICAgICAgICAgaWYgKEFjY2Vz
c2liaWxpdHlPYmplY3QqIG9iamVjdCA9IGV4aXN0aW5nQ2FjaGUtPmdldE9yQ3JlYXRlKGFjdGl2
ZUFubm90YXRpb24tPmVsZW1lbnQoKSkpCisgICAgICAgIGlmIChXZWJDb3JlOjpBWE9iamVjdENh
Y2hlKiBleGlzdGluZ0NhY2hlID0gX3BkZlBsdWdpbi0+YXhPYmplY3RDYWNoZSgpKSB7CisgICAg
ICAgICAgICBpZiAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0ID0gZXhpc3Rp
bmdDYWNoZS0+Z2V0T3JDcmVhdGUoYWN0aXZlQW5ub3RhdGlvbi0+ZWxlbWVudCgpKSkKICNwcmFn
bWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3Jl
ZCAiLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIKICAgICAgICAgICAgICAgICByZXR1cm4gW29i
amVjdC0+d3JhcHBlcigpIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpAIl9BWEFzc29jaWF0
ZWRQbHVnaW5QYXJlbnQiXTsKQEAgLTMzOCwxMSArMzM2LDExIEBAIC0gKGlkKWFjY2Vzc2liaWxp
dHlBc3NvY2lhdGVkQ29udHJvbEZvckFubm90YXRpb246KFBERkFubm90YXRpb24gKilhbm5vdGF0
aW9uCiAgICAgaWYgKCFhY3RpdmVBbm5vdGF0aW9uIHx8ICFbYWN0aXZlQW5ub3RhdGlvbi0+YW5u
b3RhdGlvbigpIGlzRXF1YWw6YW5ub3RhdGlvbl0pCiAgICAgICAgIHJldHVybiBuaWw7CiAgICAg
Ci0gICAgQVhPYmplY3RDYWNoZSogY2FjaGUgPSBfcGRmUGx1Z2luLT5heE9iamVjdENhY2hlKCk7
CisgICAgV2ViQ29yZTo6QVhPYmplY3RDYWNoZSogY2FjaGUgPSBfcGRmUGx1Z2luLT5heE9iamVj
dENhY2hlKCk7CiAgICAgaWYgKCFjYWNoZSkKICAgICAgICAgcmV0dXJuIG5pbDsKICAgICAKLSAg
ICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QgPSBjYWNoZS0+Z2V0T3JDcmVhdGUoYWN0aXZl
QW5ub3RhdGlvbi0+ZWxlbWVudCgpKTsKKyAgICBXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0
KiBvYmplY3QgPSBjYWNoZS0+Z2V0T3JDcmVhdGUoYWN0aXZlQW5ub3RhdGlvbi0+ZWxlbWVudCgp
KTsKICAgICBpZiAoIW9iamVjdCkKICAgICAgICAgcmV0dXJuIG5pbDsKIApAQCAtMzUzLDcgKzM1
MSw3IEBAIC0gKGlkKWFjY2Vzc2liaWxpdHlBc3NvY2lhdGVkQ29udHJvbEZvckFubm90YXRpb246
KFBERkFubm90YXRpb24gKilhbm5vdGF0aW9uCiAtIChpZClhY2Nlc3NpYmlsaXR5SGl0VGVzdDoo
TlNQb2ludClwb2ludAogewogI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxMzAwCi0gICAgcG9pbnQgPSBfcGRmUGx1Z2luLT5jb252ZXJ0RnJvbVJvb3RWaWV3VG9QREZW
aWV3KEludFBvaW50KHBvaW50KSk7CisgICAgcG9pbnQgPSBfcGRmUGx1Z2luLT5jb252ZXJ0RnJv
bVJvb3RWaWV3VG9QREZWaWV3KFdlYkNvcmU6OkludFBvaW50KHBvaW50KSk7CiAgICAgcmV0dXJu
IFtfcGRmTGF5ZXJDb250cm9sbGVyIGFjY2Vzc2liaWxpdHlIaXRUZXN0OnBvaW50XTsKICNlbHNl
CiAgICAgcmV0dXJuIHNlbGY7CkBAIC00MjEsNyArNDE5LDcgQEAgLSAoaWQpaW5pdFdpdGhQREZQ
bHVnaW46KFdlYktpdDo6UERGUGx1Z2luICopcGx1Z2luCiAKIC0gKHZvaWQpdXBkYXRlU2Nyb2xs
UG9zaXRpb246KENHUG9pbnQpbmV3UG9zaXRpb24KIHsKLSAgICBfcGRmUGx1Z2luLT5ub3RpZnlT
Y3JvbGxQb3NpdGlvbkNoYW5nZWQoSW50UG9pbnQobmV3UG9zaXRpb24pKTsKKyAgICBfcGRmUGx1
Z2luLT5ub3RpZnlTY3JvbGxQb3NpdGlvbkNoYW5nZWQoV2ViQ29yZTo6SW50UG9pbnQobmV3UG9z
aXRpb24pKTsKIH0KIAogLSAodm9pZCl3cml0ZUl0ZW1zVG9QYXN0ZWJvYXJkOihOU0FycmF5ICop
aXRlbXMgd2l0aFR5cGVzOihOU0FycmF5ICopdHlwZXMKQEAgLTUwMCw2ICs0OTgsMTAgQEAgLSAo
TlNSZWN0KWNvbnZlcnRSZWN0OihOU1JlY3QpcmVjdCBmcm9tUGFnZTooUERGUGFnZSAqKSBwYWdl
IGZvclNjYWxlRmFjdG9yOihDR0YKIC0gKFBERlBhZ2UgKilwYWdlTmVhcmVzdFBvaW50OihOU1Bv
aW50KXBvaW50IGN1cnJlbnRQYWdlOihQREZQYWdlICopY3VycmVudFBhZ2U7CiBAZW5kCiAKK25h
bWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Cit1c2luZyBuYW1lc3Bh
Y2UgSFRNTE5hbWVzOworCiBzdGF0aWMgY29uc3QgY2hhciogcG9zdFNjcmlwdE1JTUVUeXBlID0g
ImFwcGxpY2F0aW9uL3Bvc3RzY3JpcHQiOwogY29uc3QgdWludDY0X3QgcGRmRG9jdW1lbnRSZXF1
ZXN0SUQgPSAxOyAvLyBQbHVnaW5Db250cm9sbGVyIHN1cHBvcnRzIGxvYWRpbmcgbXVsdGlwbGUg
c3RyZWFtcywgYnV0IHdlIG9ubHkgbmVlZCBvbmUgZm9yIFBERi4KIApAQCAtNTk2LDkgKzU5OCw2
IEBAIHN0YXRpYyB2b2lkIGdldEFsbFNjcmlwdHNJblBERkRvY3VtZW50KENHUERGRG9jdW1lbnRS
ZWYgcGRmRG9jdW1lbnQsIFZlY3RvcjxSZXRhCiAgICAgfQogfQogCi1uYW1lc3BhY2UgV2ViS2l0
IHsKLXVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7Ci0KIFJlZjxQREZQbHVnaW4+IFBERlBsdWdp
bjo6Y3JlYXRlKFdlYkZyYW1lJiBmcmFtZSkKIHsKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQ
REZQbHVnaW4oZnJhbWUpKTsKQEAgLTE0NTAsNyArMTQ0OSw3IEBAIHZvaWQgUERGUGx1Z2luOjp1
cGRhdGVDdXJzb3IoY29uc3QgV2ViTW91c2VFdmVudCYgZXZlbnQsIFVwZGF0ZUN1cnNvck1vZGUg
bW9kZSkKICAgICBpZiAoaGl0VGVzdFJlc3VsdCA9PSBtX2xhc3RIaXRUZXN0UmVzdWx0ICYmIG1v
ZGUgPT0gVXBkYXRlSWZOZWVkZWQpCiAgICAgICAgIHJldHVybjsKIAotICAgIHdlYkZyYW1lKCkt
PnBhZ2UoKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTZXRDdXJzb3IoaGl0VGVzdFJl
c3VsdCA9PSBUZXh0ID8gaUJlYW1DdXJzb3IoKSA6IHBvaW50ZXJDdXJzb3IoKSkpOworICAgIHdl
YkZyYW1lKCktPnBhZ2UoKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTZXRDdXJzb3Io
aGl0VGVzdFJlc3VsdCA9PSBUZXh0ID8gV2ViQ29yZTo6aUJlYW1DdXJzb3IoKSA6IFdlYkNvcmU6
OnBvaW50ZXJDdXJzb3IoKSkpOwogICAgIG1fbGFzdEhpdFRlc3RSZXN1bHQgPSBoaXRUZXN0UmVz
dWx0OwogfQogI2VuZGlmCkBAIC0xOTgxLDE2ICsxOTgwLDE2IEBAIHZvaWQgUERGUGx1Z2luOjpu
b3RpZnlTZWxlY3Rpb25DaGFuZ2VkKFBERlNlbGVjdGlvbiAqKQogICAgIHdlYkZyYW1lKCktPnBh
Z2UoKS0+ZGlkQ2hhbmdlU2VsZWN0aW9uKCk7CiB9CiAKLXN0YXRpYyBjb25zdCBDdXJzb3ImIGNv
cmVDdXJzb3IoUERGTGF5ZXJDb250cm9sbGVyQ3Vyc29yVHlwZSB0eXBlKQorc3RhdGljIGNvbnN0
IFdlYkNvcmU6OkN1cnNvciYgY29yZUN1cnNvcihQREZMYXllckNvbnRyb2xsZXJDdXJzb3JUeXBl
IHR5cGUpCiB7CiAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAgY2FzZSBrUERGTGF5ZXJDb250cm9s
bGVyQ3Vyc29yVHlwZUhhbmQ6Ci0gICAgICAgIHJldHVybiBoYW5kQ3Vyc29yKCk7CisgICAgICAg
IHJldHVybiBXZWJDb3JlOjpoYW5kQ3Vyc29yKCk7CiAgICAgY2FzZSBrUERGTGF5ZXJDb250cm9s
bGVyQ3Vyc29yVHlwZUlCZWFtOgotICAgICAgICByZXR1cm4gaUJlYW1DdXJzb3IoKTsKKyAgICAg
ICAgcmV0dXJuIFdlYkNvcmU6OmlCZWFtQ3Vyc29yKCk7CiAgICAgY2FzZSBrUERGTGF5ZXJDb250
cm9sbGVyQ3Vyc29yVHlwZVBvaW50ZXI6CiAgICAgZGVmYXVsdDoKLSAgICAgICAgcmV0dXJuIHBv
aW50ZXJDdXJzb3IoKTsKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OnBvaW50ZXJDdXJzb3IoKTsK
ICAgICB9CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348238</attachid>
            <date>2018-08-27 16:45:56 -0700</date>
            <delta_ts>2018-08-27 18:02:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189009-20180827164555.patch</filename>
            <type>text/plain</type>
            <size>56074</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1Mzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDI5MmM2NDA4MzcwZGM0YWY2ZmVmYmQ0
MzZlZGNhYTc3ZDA3NWUzOWEuLjgxMTBlZGU5NjU0OWM4MjM0YTNiYjJjNzM1NmFiYjAyNDIxNDJm
MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3Jl
IHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL2dlbmVy
YXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmI6CisgICAgICAgIEl0IHR1cm5zIG91dCBvdXIg
cGxhbiB0byBzd2l0Y2ggdW5pZmllZCBzb3VyY2UgYnVuZGxlIGV2ZXJ5IHRpbWUgdGhlIGRpcmVj
dG9yeQorICAgICAgICBjaGFuZ2VzIGlzIG5vdCBhIGdvb2QgZml0IGZvciBwcm9qZWN0cyBsaWtl
IFdlYktpdDIgd2l0aCBtYW55IHNtYWxsIGRpcmVjdG9yaWVzLgorICAgICAgICBJdCBsZWF2ZXMg
bWFueSB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIHdpdGggb25seSBhIHNpbmdsZSBzb3VyY2UgZmls
ZSwKKyAgICAgICAgYWNoaWV2aW5nIG9ubHkgfjQwJSBkZW5zaXR5LgorCisgICAgICAgIEluc3Rl
YWQsIHN3aXRjaCB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIGV2ZXJ5IHRpbWUgdGhlIHRvcC1sZXZl
bCBkaXJlY3RvcnkgY2hhbmdlcy4KKyAgICAgICAgVGhpcyBzdGlsbCBhY2hpZXZlcyB0aGUgZ29h
bCBvZiAqdXN1YWxseSogb25seSByZWJ1aWxkaW5nIHRoZSBvbmUgdG9wLWxldmVsCisgICAgICAg
IGRpcmVjdG9yeSB5b3UgdG91Y2hlZCwgYW5kIGluY3JlYXNlcyBzb3VyY2UgYnVuZGxlIGRlbnNp
dHkgd2lsZGx5LCB0byB+OTUlLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTgt
MDgtMjcgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxk
IHN5c3RlbSBzdXBwb3J0IGZvciBMVE8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhMGI5YTAyZDQ5MWQzYzc0NDBh
Y2U4YTIyNDFjNGU1MzUwYzVmNTE0Li4yMDA5OWQwOTZiMDhiM2E0ZjkxOTE2YmRlZDdhNTZlNWUw
YjgzYjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQg
c291cmNlcyBtb3JlIHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1
Y3R1cmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
ODkwMDkKKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgRml4
IGEgdmFyaWV0eSBvZiB1bmlmaWNhdGlvbiBlcnJvcnMgZHVlIHRvIHJlc2h1ZmZsaW5nIHRoZSBi
dW5kbGVzLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9B
bGdvcml0aG1FQ0RTQS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1FQ0RT
QTo6aW1wb3J0S2V5KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBodG1s
L3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKiBwYWdlL0FsdGVybmF0
aXZlVGV4dENsaWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL1Bhc3RlYm9hcmQuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHA6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5tbToKKyAgICAgICAg
KC1bV2ViR0xMYXllciBpbml0V2l0aEdyYXBoaWNzQ29udGV4dDNEOl0pOgorICAgICAgICAoLVtX
ZWJHTExheWVyIGNvcHlJbWFnZVNuYXBzaG90V2l0aENvbG9yU3BhY2U6XSk6CisgICAgICAgICgt
W1dlYkdMTGF5ZXIgZGlzcGxheV0pOgorICAgICAgICAoLVtXZWJHTExheWVyIGFsbG9jYXRlSU9T
dXJmYWNlQmFja2luZ1N0b3JlV2l0aFNpemU6dXNpbmdBbHBoYTpdKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbToKKyAgICAgICAgKC1bV2ViR1BVTGF5
ZXIgaW5pdFdpdGhHUFVEZXZpY2U6XSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0
YWwvR1BVQ29tbWFuZFF1ZXVlTWV0YWwubW06CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Bhc3Rl
Ym9hcmRNYWMubW06CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlD
YXB0dXJlTWFuYWdlckNvY29hLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlUmVxdWVzdEJhc2UuY3BwOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJU
cmVlQnVpbGRlckJsb2NrRmxvdy5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVCdWlsZGVySW5saW5lLmNwcDoKKwogMjAxOC0wOC0yNyAgS2VpdGggUm9sbGluICA8
a3JvbGxpbkBhcHBsZS5jb20+CiAKICAgICAgICAgQnVpbGQgc3lzdGVtIHN1cHBvcnQgZm9yIExU
TwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCAwZjg2OGYwZTliYWUyNjgxMWZiZjI0ZDFjOWFmNGU4OWZkMjNlZDE3Li5j
OWI0OTBhODMwNjI2ZmU0YzkzYTA1OWI0M2FhNGM0MTVlYTlhOTM4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDUyIEBACisyMDE4LTA4LTI3ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUu
Y29tPgorCisgICAgICAgIEJ1bmRsZSB1bmlmaWVkIHNvdXJjZXMgbW9yZSB0aWdodGx5IGluIHBy
b2plY3RzIHdpdGggZGVlcCBkaXJlY3Rvcnkgc3RydWN0dXJlcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5MDA5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIEZpeCBhIHZhcmlldHkgb2YgdW5pZmljYXRpb24g
ZXJyb3JzIGR1ZSB0byByZXNodWZmbGluZyB0aGUgYnVuZGxlcy4KKworICAgICAgICAqIFNoYXJl
ZC9BUElXZWJBcmNoaXZlLm1tOgorICAgICAgICAqIFNoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3Vy
Y2UubW06CisgICAgICAgICogU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1
Z2luTW9kdWxlTWFjLm1tOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9Q
bHVnaW5JbmZvcm1hdGlvbk1hYy5tbToKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaDoKKyAgICAg
ICAgKEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6OnNlc3Npb25JZGVudGlmaWVyIGNvbnN0
KToKKyAgICAgICAgKEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6Om1lc3NhZ2VPZkN1cnJl
bnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKToKKyAgICAgICAgKEFQSTo6QXV0b21hdGlvblNlc3Np
b25DbGllbnQ6OnNldFVzZXJJbnB1dEZvckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xp
ZW50Lm1tOgorICAgICAgICAoLVtXS0N1c3RvbVByb3RvY29sTG9hZGVyIGluaXRXaXRoTGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6Y3VzdG9tUHJvdG9jb2xJRDpyZXF1ZXN0Ol0pOgor
ICAgICAgICAoLVtXS0N1c3RvbVByb3RvY29sTG9hZGVyIGNvbm5lY3Rpb246ZGlkRmFpbFdpdGhF
cnJvcjpdKToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBjb25uZWN0aW9uOmRp
ZFJlY2VpdmVSZXNwb25zZTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Q
cm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZVBsdWdpblByb2Nlc3ND
YWxsYmFja0lEKToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpmZXRjaFdl
YnNpdGVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVX
ZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRl
V2Vic2l0ZURhdGFGb3JIb3N0TmFtZXMpOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZUNhbGxi
YWNrSUQpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9z
L1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW06CisgICAgICAgICgtW1dL
U2Nyb2xsaW5nTm9kZVNjcm9sbFZpZXdEZWxlZ2F0ZSBzY3JvbGxWaWV3V2lsbEVuZERyYWdnaW5n
OndpdGhWZWxvY2l0eTp0YXJnZXRDb250ZW50T2Zmc2V0Ol0pOgorICAgICAgICAqIFVJUHJvY2Vz
cy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpnZW5l
cmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VQ
cm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdl
UHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlN0b3Jh
Z2VQcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyk6CisgICAgICAgIChX
ZWJLaXQ6OmdlbmVyYXRlQ2FsbGJhY2tJRCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BE
Ri9QREZQbHVnaW4ubW06CisgICAgICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVj
dCBhY2Nlc3NpYmlsaXR5UGVyZm9ybUFjdGlvbjpdKToKKyAgICAgICAgKC1bV0tQREZQbHVnaW5B
Y2Nlc3NpYmlsaXR5T2JqZWN0IGFjY2Vzc2liaWxpdHlGb2N1c2VkVUlFbGVtZW50XSk6CisgICAg
ICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5QXNzb2Np
YXRlZENvbnRyb2xGb3JBbm5vdGF0aW9uOl0pOgorICAgICAgICAoLVtXS1BERlBsdWdpbkFjY2Vz
c2liaWxpdHlPYmplY3QgYWNjZXNzaWJpbGl0eUhpdFRlc3Q6XSk6CisgICAgICAgICgtW1dLUERG
TGF5ZXJDb250cm9sbGVyRGVsZWdhdGUgdXBkYXRlU2Nyb2xsUG9zaXRpb246XSk6CisgICAgICAg
IChXZWJLaXQ6OlBERlBsdWdpbjo6dXBkYXRlQ3Vyc29yKToKKyAgICAgICAgKFdlYktpdDo6Y29y
ZUN1cnNvcik6CisgICAgICAgIChhcHBlbmRWYWx1ZXNJblBERk5hbWVTdWJ0cmVlVG9WZWN0b3Ip
OiBEZWxldGVkLgorICAgICAgICAoZ2V0QWxsVmFsdWVzSW5QREZOYW1lVHJlZSk6IERlbGV0ZWQu
CisgICAgICAgIChnZXRBbGxTY3JpcHRzSW5QREZEb2N1bWVudCk6IERlbGV0ZWQuCisKIDIwMTgt
MDgtMjcgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAg
ICAgICBGaXggaW50ZXJuYWwgYnVpbGRzIGFmdGVyIHIyMzUzNjgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvU2NyaXB0cy9nZW5lcmF0ZS11bmlmaWVkLXNvdXJjZS1idW5kbGVzLnJiIGIvU291cmNl
L1dURi9TY3JpcHRzL2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKaW5kZXggYzAx
OTY2ZWUxYjJjNjdkOTc2MGYwM2E1YmJjYWEzY2I1NzI2MTJiMy4uYWJkOTc2NzdhMjBhZGI0ZDQ2
MmViOThmNzc4ZDk4MDI5YmRkNDk5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL2dl
bmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKKysrIGIvU291cmNlL1dURi9TY3JpcHRz
L2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKQEAgLTIxMCwxMCArMjEwLDE3IEBA
IGNsYXNzIEJ1bmRsZU1hbmFnZXIKICAgICBlbmQKIGVuZAogCitkZWYgVG9wTGV2ZWxEaXJlY3Rv
cnlGb3JQYXRoKHBhdGgpCisgICAgaWYgIXBhdGgKKyAgICAgICAgcmV0dXJuIG5pbAorICAgIGVu
ZAorICAgIHJldHVybiBwYXRoLmVhY2hfZmlsZW5hbWUubmV4dAorZW5kCisKIGRlZiBQcm9jZXNz
RmlsZUZvclVuaWZpZWRTb3VyY2VHZW5lcmF0aW9uKHNvdXJjZUZpbGUpCiAgICAgcGF0aCA9IHNv
dXJjZUZpbGUucGF0aAotICAgIGlmICgkY3VycmVudERpcmVjdG9yeSAhPSBwYXRoLmRpcm5hbWUp
Ci0gICAgICAgIGxvZygiRmx1c2hpbmcgYmVjYXVzZSBuZXcgZGlybmFtZTsgb2xkOiAjeyRjdXJy
ZW50RGlyZWN0b3J5fSwgbmV3OiAje3BhdGguZGlybmFtZX0iKQorICAgIGlmIChUb3BMZXZlbERp
cmVjdG9yeUZvclBhdGgoJGN1cnJlbnREaXJlY3RvcnkpICE9IFRvcExldmVsRGlyZWN0b3J5Rm9y
UGF0aChwYXRoLmRpcm5hbWUpKQorICAgICAgICBsb2coIkZsdXNoaW5nIGJlY2F1c2UgbmV3IHRv
cCBsZXZlbCBkaXJlY3Rvcnk7IG9sZDogI3skY3VycmVudERpcmVjdG9yeX0sIG5ldzogI3twYXRo
LmRpcm5hbWV9IikKICAgICAgICAgJGJ1bmRsZU1hbmFnZXJzLmVhY2hfdmFsdWUgeyB8eHwgeC5m
bHVzaCB9CiAgICAgICAgICRjdXJyZW50RGlyZWN0b3J5ID0gcGF0aC5kaXJuYW1lCiAgICAgZW5k
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYv
UGxhdGZvcm0uaAppbmRleCAwYzZlZmI4NjI5ODI1MzlkMmI0YjJjYzRmOGY4YjVmY2I0ZWM4OGU4
Li42N2NmYTkzMzEzYzkwNDIxZWI2Y2YxNzlkOThlZjcwM2RhMGU0OWRiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgK
QEAgLTEzMTQsNiArMTMxNCw3IEBACiAjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX1RP
VUNIX0JBUiAxCiAjZGVmaW5lIEhBVkVfQURWQU5DRURfU1BFTExfQ0hFQ0tJTkcgMQorI2RlZmlu
ZSBVU0VfRElDVEFUSU9OX0FMVEVSTkFUSVZFUyAxCiAKICNpZiBkZWZpbmVkKF9fTFA2NF9fKQog
I2RlZmluZSBFTkFCTEVfV0VCX1BMQVlCQUNLX0NPTlRST0xTX01BTkFHRVIgMQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyQ2FjaGVTdG9yYWdl
Q29ubmVjdGlvbi5jcHAKaW5kZXggYWQyMDkzMjE5Zjg4ZTZkYTNlMWQ2MDYyNGU0MWFlOWE0MWRm
NDkyNy4uMWViZGQ1ZGU0OGE3ZTdlMWM5NmEwMWM3OGZlZDdkYTViYzRmYjg4OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckNhY2hlU3Rv
cmFnZUNvbm5lY3Rpb24uY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJDYWNoZVF1
ZXJ5T3B0aW9ucy5oIgogI2luY2x1ZGUgIkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgiCisjaW5jbHVk
ZSAiQ2xpZW50T3JpZ2luLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJQYWdl
LmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKQEAgLTM2LDcgKzM3LDYgQEAKICNp
bmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCiAjaW5jbHVkZSAiV29ya2VyVGhyZWFkLmgiCiAKLQog
bmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU6OkRPTUNhY2hlRW5n
aW5lOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVEND
b250cm9sbGVyLmNwcAppbmRleCA5NjEzMmU2OTczN2FlOThhNjBmOTU0ZjFmMzExODM4NDEwNzFl
MGE5Li5jZGI3NzdlOTk5MjkyMjFjZjBhOGYwMTE0MmIyZDA3ZWRlOWVmZWQ0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29udHJvbGxlci5jcHAK
QEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShXRUJfUlRDKQogCisjaW5jbHVkZSAiRG9j
dW1lbnQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENQcm92aWRlci5oIgogI2luY2x1ZGUgIlJUQ1Bl
ZXJDb25uZWN0aW9uLmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5
bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuY3BwCmlu
ZGV4IGMyMDUzMzVlYWE4ZTkxOGE2ZDM4YWU0ZjJmZmM4MWFlZDQ1YTlhMGYuLjk0YjcxYzQ2NjE5
MjQxMzVjMjFhZWE2OWQ0ODk5ZDdiMDc1YTYyYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdFVw
ZGF0ZUV2ZW50LmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKFBBWU1FTlRfUkVR
VUVTVCkKIAorI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJQYXltZW50UmVxdWVz
dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZy
L1ZSRGlzcGxheS5jcHAKaW5kZXggYWRiNzUxZDBjMzljMGE1NmI1ZTRkYzFmNTQyMTBiZGFhNGVk
ZmY3OC4uYTkzM2Q5ODBmY2Y1YTk5MTc0YWIwZTBjNDAwMjA5MTZjYmYxYjM2NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNwcApAQCAtMjksNiArMjksNyBAQAog
I2luY2x1ZGUgIkNhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCIKICNpbmNsdWRlICJDaHJvbWUuaCIK
ICNpbmNsdWRlICJET01FeGNlcHRpb24uaCIKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNs
dWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlNjcmlwdGVk
QW5pbWF0aW9uQ29udHJvbGxlci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNl
c0NvY29hLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKaW5kZXggNjZmN2Yx
NmJkNjRmODJjNDMyYmVhZWQ4ZTcwZDFiNWZmMDYzYTUxNy4uOTU3ZTRiNWI2NjFiNDAyMGYwYTIx
ZWUwMDk1YzAxNzY0NmU0OTNhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlc0Nv
Y29hLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CkBAIC0zODksNyAr
Mzg5LDcgQEAgcGxhdGZvcm0vaW9zL1BsYXRmb3JtU2NyZWVuSU9TLm1tCiBwbGF0Zm9ybS9pb3Mv
UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9Q
bGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9R
dWlja0xvb2subW0KLXBsYXRmb3JtL2lvcy9RdWlja0xvb2tTb2Z0TGluay5tbQorcGxhdGZvcm0v
aW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1JlbW90ZUNv
bW1hbmRMaXN0ZW5lcklPUy5tbQogcGxhdGZvcm0vaW9zL1Njcm9sbEFuaW1hdG9ySU9TLm1tCiBw
bGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MubW0KQEAgLTM5OSw3ICszOTksNyBAQCBwbGF0
Zm9ybS9pb3MvU1NMS2V5R2VuZXJhdG9ySU9TLmNwcAogcGxhdGZvcm0vaW9zL1N5c3RlbU1lbW9y
eUlPUy5jcHAKIHBsYXRmb3JtL2lvcy9UaGVtZUlPUy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lv
cy9UaWxlQ29udHJvbGxlck1lbW9yeUhhbmRsZXJJT1MuY3BwCi1wbGF0Zm9ybS9pb3MvVXNlckFn
ZW50SU9TLm1tCitwbGF0Zm9ybS9pb3MvVXNlckFnZW50SU9TLm1tIEBuby11bmlmeQogcGxhdGZv
cm0vaW9zL1ZhbGlkYXRpb25CdWJibGVJT1MubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvVmlk
ZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvV2Vi
QVZQbGF5ZXJDb250cm9sbGVyLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNzI1NWQyNjVjNzcyMTVlYzA5YmEzOGQ5NjdjYTRj
ZDdlOGFhMTY1OC4uZTA1YzhhMGJlN2ZjYzgzNDVlMTVkNjg2ZDc3NzQ4Y2Q4NmJiNjE0YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtODA2LDYgKzgwNiw4IEBACiAJCTJEOEI5MkZGMjAzRDEzRTEwMDlDODY4RiAvKiBVbmlmaWVk
U291cmNlNTMwLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IERFNUY4NUQzMUZBMjM4NTkwMDZEQjYzQiAvKiBVbmlmaWVkU291cmNlNTMwLmNwcCAqLzsg
fTsKIAkJMkQ4RkVCREQxNDNFM0VGNzAwNzI1MDJCIC8qIENTU0Nyb3NzZmFkZVZhbHVlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDhGRUJEQjE0M0Uz
RUY3MDA3MjUwMkIgLyogQ1NTQ3Jvc3NmYWRlVmFsdWUuaCAqLzsgfTsKIAkJMkQ5MDY2MDcwQkUx
NDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyRDkwNjYwNTBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3Rh
dGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQky
RDkyQTc5QTIxMzRBRDc5MDBGNDkzRkQgLyogUXVpY2tMb29rU29mdExpbmsubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDM5MTdGRDFBOTFCMkY4MDA2
RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsubW0gKi87IH07CisJCTJEOTJBNzlEMjEzNEFGOTUw
MEY0OTNGRCAvKiBVc2VyQWdlbnRJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBM0FGOUQ4MzIwMzI1NjkxMDA2Q0FEMDYgLyogVXNlckFnZW50SU9T
Lm1tICovOyB9OwogCQkyRDkzQUVFMzE5REY1NjQxMDAyQTg2QzMgLyogU2VydmljZXNPdmVybGF5
Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMkQ5M0FFRTExOURGNTY0MTAwMkE4NkMzIC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIu
aCAqLzsgfTsKIAkJMkQ5N0YwNDcxOURENDEzQzAwMUVFOUMzIC8qIE1vY2tQYWdlT3ZlcmxheUNs
aWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
REFBRTMyQzE5RENBRjYwMDBFMDAyRDIgLyogTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmNwcCAqLzsg
fTsKIAkJMkQ5N0YwNDgxOURENDE0MDAwMUVFOUMzIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRBQUUzMkQx
OURDQUY2MDAwRTAwMkQyIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5oICovOyB9OwpAQCAtNzA3
Myw3ICs3MDc1LDcgQEAKIAkJMzM5QjVCNjIxMzFEQUEzMjAwRjQ4RDAyIC8qIENvb2tpZXNTdHJh
dGVneS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb29raWVzU3RyYXRlZ3ku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzY2MkY5ODQwNDdDRURCRTVERERBRkFB
IC8qIFJlbmRlck1hdGhNTE1lbmNsb3NlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFJlbmRlck1hdGhNTE1lbmNsb3NlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMzcxMTlBNzkyMENDQjYxMDAwMkM2REM5IC8qIFdlYktpdFRhcmdldENvbmRpdGlv
bmFscy54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBXZWJLaXRUYXJnZXRDb25kaXRpb25hbHMueGNj
b25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTM3MTdEN0U1MTdFQ0MzQTYwMDND
Mjc2RCAvKiBleHRyYWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5wZXJsOyBuYW1lID0g
ZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBsOyBwYXRoID0gIlNjcmlwdHMvZXh0cmFjdC1s
b2NhbGl6YWJsZS1zdHJpbmdzLnBsIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzcx
N0Q3RTUxN0VDQzNBNjAwM0MyNzZEIC8qIGV4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2Ny
aXB0LnBlcmw7IG5hbWUgPSAiZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBsIjsgcGF0aCA9
ICJTY3JpcHRzL2V4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCI7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTM3MUE2N0NBMTFDNkM3REIwMDA0N0I4QiAvKiBIeXBoZW5hdGlvbkNG
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEh5cGhlbmF0aW9uQ0Yu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzFFNjVDQjEzNjYxRURDMDBCRUVE
QjAgLyogUGFnZVNlcmlhbGl6ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UGFnZVNlcmlhbGl6ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzcxRTY1Q0Qx
MzY2MUVFRDAwQkVFREIwIC8qIFBhZ2VTZXJpYWxpemVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFBhZ2VTZXJpYWxpemVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTEzMzU4LDggKzEzMzYwLDggQEAKIAkJQ0RFNTk1OUMxQkYyNzU3MTAwQTFD
QkU4IC8qIENETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakMubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU2NTYwRTE3Q0E2RTc2MDA1MjZCQTcgLyog
bWVkaWFDb250cm9sc0FwcGxlLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gbWVkaWFDb250cm9s
c0FwcGxlLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU2NjdBMTFFNEJCQTRE
MDBFODE1NEEgLyogUGxhdGZvcm1BdWRpb0RhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUGxhdGZvcm1BdWRpb0RhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJQ0RFNjY3QTIxRTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBjb2NvYS9XZWJBdWRpb0J1ZmZlckxp
c3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlDREU2NjdBMzFFNEJCRjE1MDBF
ODE1NEEgLyogV2ViQXVkaW9CdWZmZXJMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IGNvY29hL1dlYkF1ZGlvQnVmZmVyTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlDREU2NjdBMjFFNEJCRjE1MDBFODE1NEEgLyogV2ViQXVkaW9CdWZmZXJMaXN0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYkF1ZGlvQnVmZmVyTGlz
dC5jcHA7IHBhdGggPSBjb2NvYS9XZWJBdWRpb0J1ZmZlckxpc3QuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDREU2NjdBMzFFNEJCRjE1MDBFODE1NEEgLyogV2ViQXVkaW9CdWZm
ZXJMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYkF1ZGlvQnVmZmVy
TGlzdC5oOyBwYXRoID0gY29jb2EvV2ViQXVkaW9CdWZmZXJMaXN0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUNERTdGQzQyMTgxOTA0QjEwMDJCQkI3NyAvKiBPcmRlckl0ZXJhdG9y
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE9yZGVySXRlcmF0b3Iu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU3RkM0MzE4MTkwNEIxMDAyQkJC
NzcgLyogT3JkZXJJdGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBP
cmRlckl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERTgzREFGMTgz
QzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTI0MCw4ICsxNTI0Miw4IEBACiAJCQkJNDExMDNBQTcx
RTM5NzkwQTAwNzY5RjE0IC8qIFJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZUNvY29hLmNwcCAq
LywKIAkJCQk0MTEwM0FBODFFMzk3OTBBMDA3NjlGMTQgLyogUmVhbHRpbWVPdXRnb2luZ0F1ZGlv
U291cmNlQ29jb2EuaCAqLywKIAkJCQk1Q0REODMzQjFFNDMyNEJCMDA2MjFCODMgLyogUmVhbHRp
bWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EuY3BwICovLAotCQkJCTQxOTI0MjQ3MjEyN0I3Q0Mw
MDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5tbSAqLywKIAkJCQk1
Q0REODMzQzFFNDMyNEJCMDA2MjFCODMgLyogUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29j
b2EuaCAqLywKKwkJCQk0MTkyNDI0NzIxMjdCN0NDMDA2MzRGQ0YgLyogUmVhbHRpbWVPdXRnb2lu
Z1ZpZGVvU291cmNlQ29jb2EubW0gKi8sCiAJCQkJMDcwQTlGNUUxRkZFQ0M3MDAwM0RGNjQ5IC8q
IFNjcmVlbkRpc3BsYXlDYXB0dXJlU291cmNlTWFjLmggKi8sCiAJCQkJMDcwQTlGNjAxRkZFQ0M3
MTAwM0RGNjQ5IC8qIFNjcmVlbkRpc3BsYXlDYXB0dXJlU291cmNlTWFjLm1tICovLAogCQkJCTA3
RDYzNzNFMUJCMEIxMTMwMDI1NkNFOSAvKiBXZWJBdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5o
ICovLApAQCAtMzE0NDYsNiArMzE0NDgsOCBAQAogCQkJCUFBMTJERjQ5MTc0M0RGODMwMDREQUZE
RiAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVySU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
Q0RBMjlBMzAxQ0JGNzRENDAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RBMjlBMTYxQ0JEQTU2QzAwOTAxQ0NGIC8qIFBsYXli
YWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJBNzlBMjEz
NEFENzkwMEY0OTNGRCAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAorCQkJ
CTQxOTI0MjQ5MjEyN0I5M0UwMDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VD
b2NvYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTMxNkRDQjhBMUU3QTY5OTYwMDFCNUY4NyAvKiBS
VENJY2VUcmFuc3BvcnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1MTE1NkUxMkIxNzQ5QzAw
Qzk2NzU0IC8qIFNjcm9sbEFuaW1hdG9yTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFRjg2
OUYwRTg0NEU5RDAwQTg1Q0Q1IC8qIFNjcm9sbGJhclRoZW1lTWFjLm1tIGluIFNvdXJjZXMgKi8s
CkBAIC0zMTU2Niw3ICszMTU3MCw2IEBACiAJCQkJNTM4RUM4QTExRjk5M0Y5RDAwNEQyMkE4IC8q
IFVuaWZpZWRTb3VyY2U0OC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlERTVGODU5OTFGQTFBQkY0
MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTQ5LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4
RUM4QTIxRjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U0OS5jcHAgaW4gU291cmNlcyAq
LywKLQkJCQk0MTkyNDI0OTIxMjdCOTNFMDA2MzRGQ0YgLyogUmVhbHRpbWVPdXRnb2luZ1ZpZGVv
U291cmNlQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQlERTVGODU5QTFGQTFBQkY0MDA2REI2
M0EgLyogVW5pZmllZFNvdXJjZTUwLW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4QTMx
Rjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U1MC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlERTVGODY1MDFGQTJBRjI0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTUxLW1tLm1tIGluIFNv
dXJjZXMgKi8sCkBAIC0zMjA2MCw2ICszMjA2Myw3IEBACiAJCQkJMkQ4QjkyRkQyMDNEMTNFMTAw
OUM4NjhGIC8qIFVuaWZpZWRTb3VyY2U1MjguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ4Qjky
RkUyMDNEMTNFMTAwOUM4NjhGIC8qIFVuaWZpZWRTb3VyY2U1MjkuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMkQ4QjkyRkYyMDNEMTNFMTAwOUM4NjhGIC8qIFVuaWZpZWRTb3VyY2U1MzAuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJMkQ5MkE3OUQyMTM0QUY5NTAwRjQ5M0ZEIC8qIFVzZXJBZ2VudElP
Uy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUzMjA0MjAyMUY5QTlGMTAwMEI4MUIyQSAvKiBVc2Vy
QWdlbnRTY3JpcHRzRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzNCNzk3MTE5MDg3NTdC
MDBCNDdBMkQgLyogVXNlck1lc3NhZ2VIYW5kbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdD
RTY4MzQ0MTkyMTQzQTgwMEY0RDkyOCAvKiBVc2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9yLmNw
cCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29y
aXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNEU0EuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2Fs
Z29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNEU0EuY3BwCmluZGV4IDk3MzE3ZTA0YTk3OTdmMTU2
MTZkZTRjNzYwOGI3NDVkOWZkZWRlZjcuLjFiNTNjNDUzYjM1MjUzNmI0ODEyZWRkMmFhNjRkOTFl
OTVkZjg1NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0Ny
eXB0b0FsZ29yaXRobUVDRFNBLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3Jp
dGhtcy9DcnlwdG9BbGdvcml0aG1FQ0RTQS5jcHAKQEAgLTM2LDEyICszNiwxNCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKK25hbWVzcGFjZSBDcnlwdG9BbGdvcml0aG1FQ0RTQUludGVybmFs
IHsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBBTEcyNTYgPSAiRVMyNTYiOwogc3RhdGljIGNv
bnN0IGNoYXIqIGNvbnN0IEFMRzM4NCA9ICJFUzM4NCI7CiBzdGF0aWMgY29uc3QgY2hhciogY29u
c3QgQUxHNTEyID0gIkVTNTEyIjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBQMjU2ID0gIlAt
MjU2IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBQMzg0ID0gIlAtMzg0IjsKIHN0YXRpYyBj
b25zdCBjaGFyKiBjb25zdCBQNTIxID0gIlAtNTIxIjsKK30KIAogUmVmPENyeXB0b0FsZ29yaXRo
bT4gQ3J5cHRvQWxnb3JpdGhtRUNEU0E6OmNyZWF0ZSgpCiB7CkBAIC0xMDIsNiArMTA0LDcgQEAg
dm9pZCBDcnlwdG9BbGdvcml0aG1FQ0RTQTo6Z2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3Jp
dGhtUGFyYW1ldGVycyYgcGFyYW1ldGUKIAogdm9pZCBDcnlwdG9BbGdvcml0aG1FQ0RTQTo6aW1w
b3J0S2V5KENyeXB0b0tleUZvcm1hdCBmb3JtYXQsIEtleURhdGEmJiBkYXRhLCBjb25zdCBDcnlw
dG9BbGdvcml0aG1QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlw
dG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMsIEtleUNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlv
bkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2spCiB7CisgICAgdXNpbmcgbmFtZXNwYWNlIENy
eXB0b0FsZ29yaXRobUVDRFNBSW50ZXJuYWw7CiAgICAgY29uc3QgYXV0byYgZWNQYXJhbWV0ZXJz
ID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtRWNLZXlQYXJhbXM+KHBhcmFtZXRlcnMpOwogCiAg
ICAgUmVmUHRyPENyeXB0b0tleUVDPiByZXN1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jcnlwdG8vZ2NyeXB0L0dDcnlwdFV0aWxpdGllcy5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRv
L2djcnlwdC9HQ3J5cHRVdGlsaXRpZXMuaAppbmRleCBmMGE0MTM0NTZhOTQ0NTk5NThmOWE3ZjAy
NTQ1MzQ0YjVmYjZjM2U1Li4zNmY0OGQwNGQ3ODJkNTIzOTlkZDc3YzRiYzNkNzgyOGQ3OTVhOWYx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ2NyeXB0L0dDcnlwdFV0aWxpdGll
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nY3J5cHQvR0NyeXB0VXRpbGl0aWVzLmgK
QEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlIDxwYWwvY3J5cHRvL0NyeXB0b0RpZ2VzdC5oPgog
I2luY2x1ZGUgPHBhbC9jcnlwdG8vZ2NyeXB0L0hhbmRsZS5oPgogI2luY2x1ZGUgPHBhbC9jcnlw
dG8vZ2NyeXB0L1V0aWxpdGllcy5oPgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggMGExZDkwMzQxN2Q0Y2E5
ZGMwZTMwYmJmZmFjNDFkMTg4ZjMxYmRiYy4uYjE4MGJjNDMzOWE1OTZlYWIxM2IwZDRlOWIyNjE2
YjRlNzk1OTI1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTY0MSw3ICs2NDEsNyBAQCBwdWJs
aWM6CiAgICAgCiAgICAgV0VCQ09SRV9FWFBPUlQgRG9jdW1lbnRMb2FkZXIqIGxvYWRlcigpIGNv
bnN0OwogCi0gICAgV0VCQ09SRV9FWFBPUlQgRXhjZXB0aW9uT3I8UmVmUHRyPFdpbmRvd1Byb3h5
Pj4gb3BlbkZvckJpbmRpbmdzKERPTVdpbmRvdyYgYWN0aXZlV2luZG93LCBET01XaW5kb3cmIGZp
cnN0V2luZG93LCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBj
b25zdCBTdHJpbmcmIGZlYXR1cmVzKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRpb25PcjxS
ZWZQdHI8V2luZG93UHJveHk+PiBvcGVuRm9yQmluZGluZ3MoRE9NV2luZG93JiBhY3RpdmVXaW5k
b3csIERPTVdpbmRvdyYgZmlyc3RET01XaW5kb3csIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBB
dG9taWNTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZmVhdHVyZXMpOwogICAgIFdFQkNPUkVf
RVhQT1JUIEV4Y2VwdGlvbk9yPERvY3VtZW50Jj4gb3BlbkZvckJpbmRpbmdzKERvY3VtZW50KiBy
ZXNwb25zaWJsZURvY3VtZW50LCBjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgcmVw
bGFjZSk7CiAKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHJlbmFtZSB0aGlzIGF0IHNvbWUgcG9p
bnQgYW5kIGdpdmUgYmFjayB0aGUgbmFtZSAnb3BlbicgdG8gdGhlIEhUTUwgc3BlY2lmaWVkIG9u
ZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxk
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcApp
bmRleCBlNDBmOWE4ODZmMTU5MDRlNjJmMGYyNjg4YTg2OWE2OTg4OWI0YTg5Li5jNzMxOTIyYWY4
Mjk4M2I5ZGFhNmJjN2ZlNTIyNzg2MzczMTY4M2ZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRl
ICJIVE1MRG9jdW1lbnRQYXJzZXIuaCIKICNpbmNsdWRlICJIVE1MRm9ybUNvbnRyb2xFbGVtZW50
LmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTElucHV0RWxl
bWVudC5oIgogI2luY2x1ZGUgIkhUTUxPcHRHcm91cEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1M
T3B0aW9uRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3Vy
Y2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlUmVzb3VyY2VMb2FkZXIuaAppbmRleCA3MmIyOTc1NWYxMWQ5NDA5NWZhN2VkZDUzMDk2OGY3
YzU3YjU3YmViLi42ZDlhMmRhOWJlMDMyMDA3YTgyZWRhNjhjMTZmZDJmMjhiMWMxMjgzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVJl
c291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxp
Y2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEg
b25jZQogCisjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZVJlc291cmNlLmgiCiAjaW5jbHVkZSAi
Q2FjaGVkUmF3UmVzb3VyY2UuaCIKICNpbmNsdWRlICJDYWNoZWRSYXdSZXNvdXJjZUNsaWVudC5o
IgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0FsdGVybmF0aXZlVGV4dENsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9BbHRlcm5hdGl2ZVRleHRDbGllbnQuaAppbmRleCA5MzU1OTM3ODhmOTg5OWM5ZTIyNTEwODhi
NGU3NmQwMDVkM2QyZjk4Li4xNDNkYTZjNDdmNGJjZWZjMGE0MWFhODc2NDY3ZDA0NDcxNWJhNzBh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0FsdGVybmF0aXZlVGV4dENsaWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmgKQEAgLTI5
LDExICsyOSw2IEBACiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgogCi0jaWYgUExBVEZPUk0oTUFDKQotLy8gU29tZSBwbGF0Zm9ybXMgcHJv
dmlkZSBVSSBmb3Igc3VnZ2VzdGluZyBhbHRlcm5hdGl2ZSBkaWN0YXRpb24gdGV4dC4KLSNkZWZp
bmUgVVNFX0RJQ1RBVElPTl9BTFRFUk5BVElWRVMgMQotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogZW51bSBSZWFzb25Gb3JEaXNtaXNzaW5nQWx0ZXJuYXRpdmVUZXh0IHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCBkNTQzM2RkOTIwYWUwZWU1OTJiZDQ1ZmQ1
NjBjZGQzZTM4YTM0NzIxLi5lMDk4MTU2NTFiZDJkNjA1NzRkYTQyMzZjMzgwZmFkNGQ2MDIxNWE5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCkBAIC0zMzgsNiArMzM4LDcgQEAg
ZXh0ZXJuIE5TU3RyaW5nICpVSUNvbG9yUGJvYXJkVHlwZTsKICNpZiBQTEFURk9STShNQUMpCiBl
eHRlcm4gY29uc3QgY2hhciogY29uc3QgV2ViQXJjaGl2ZVBib2FyZFR5cGU7CiBleHRlcm4gY29u
c3QgY2hhciogY29uc3QgV2ViVVJMTmFtZVBib2FyZFR5cGU7CitleHRlcm4gY29uc3QgY2hhciog
Y29uc3QgV2ViVVJMc1dpdGhUaXRsZXNQYm9hcmRUeXBlOwogI2VuZGlmCiAKICNpZiAhUExBVEZP
Uk0oR1RLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlz
cGxheVJlZnJlc2hNb25pdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKaW5kZXggOTY4YmIyMjg2YTFmN2U1ODQ2NGVmODhk
NzllNjFlZjQyNDkwMTU1Zi4uM2UyYzgyYjhiMTJlZGEwOWRiNDNmNGMxMzAxNGM1YmJhYzBiNzAz
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJl
ZnJlc2hNb25pdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9E
aXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJE
aXNwbGF5UmVmcmVzaE1vbml0b3JDbGllbnQuaCIKICNpbmNsdWRlICJEaXNwbGF5UmVmcmVzaE1v
bml0b3JNYW5hZ2VyLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgogCiAjaWYgUExBVEZPUk0oSU9T
KQogI2luY2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvcklPUy5oIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseVNwZWNpZmljYXRpb25OdWxs
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlTcGVjaWZp
Y2F0aW9uTnVsbC5jcHAKaW5kZXggMjE3NjkxZjcyMzk3NGU4MDA1NzliMjhjYzA1NmE3YjljMDg1
YzY0ZC4uMTVjMDM4NzY5ODI2MGY0MDVlMjJlNWJmNTI3ODAwMzA4YzdmZTNiZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseVNwZWNpZmljYXRp
b25OdWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFt
aWx5U3BlY2lmaWNhdGlvbk51bGwuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiRm9u
dEZhbWlseVNwZWNpZmljYXRpb25OdWxsLmgiCiAKICNpbmNsdWRlICJGb250U2VsZWN0b3IuaCIK
KyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvV2ViR0xMYXllci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L1dlYkdMTGF5ZXIubW0KaW5kZXggM2VkN2U0MWU3YzY4ODQ2ZjNmYmMxNzJjZTZiYTk4OWZmODdm
NTdlYi4uOGVlMzQ4ZDg5OTg2MzQxM2Q2YjY3MTM3NmU1YjFkYTU0Y2IxMzc2MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHTExheWVyLm1t
CkBAIC00MiwxMyArNDIsMTEgQEAKICNpbXBvcnQgPE9wZW5HTC9nbC5oPgogI2VuZGlmCiAKLXVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBAaW1wbGVtZW50YXRpb24gV2ViR0xMYXllcgogCiBA
c3ludGhlc2l6ZSBjb250ZXh0PV9jb250ZXh0OwogCi0tKGlkKWluaXRXaXRoR3JhcGhpY3NDb250
ZXh0M0Q6KEdyYXBoaWNzQ29udGV4dDNEKiljb250ZXh0CistKGlkKWluaXRXaXRoR3JhcGhpY3ND
b250ZXh0M0Q6KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEKiljb250ZXh0CiB7CiAgICAgX2Nv
bnRleHQgPSBjb250ZXh0OwogICAgIHNlbGYgPSBbc3VwZXIgaW5pdF07CkBAIC04Niw3ICs4NCw3
IEBAIHN0YXRpYyB2b2lkIGZyZWVEYXRhKHZvaWQgKiwgY29uc3Qgdm9pZCAqZGF0YSwgc2l6ZV90
IC8qIHNpemUgKi8pCiB9CiAjZW5kaWYKIAotLShDR0ltYWdlUmVmKWNvcHlJbWFnZVNuYXBzaG90
V2l0aENvbG9yU3BhY2U6KENHQ29sb3JTcGFjZVJlZiljb2xvclNwYWNlCistIChDR0ltYWdlUmVm
KWNvcHlJbWFnZVNuYXBzaG90V2l0aENvbG9yU3BhY2U6KENHQ29sb3JTcGFjZVJlZiljb2xvclNw
YWNlCiB7CiAgICAgaWYgKCFfY29udGV4dCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC05
Niw3ICs5NCw3IEBAIC0oQ0dJbWFnZVJlZiljb3B5SW1hZ2VTbmFwc2hvdFdpdGhDb2xvclNwYWNl
OihDR0NvbG9yU3BhY2VSZWYpY29sb3JTcGFjZQogCiAgICAgUmV0YWluUHRyPENHQ29sb3JTcGFj
ZVJlZj4gaW1hZ2VDb2xvclNwYWNlID0gY29sb3JTcGFjZTsKICAgICBpZiAoIWltYWdlQ29sb3JT
cGFjZSkKLSAgICAgICAgaW1hZ2VDb2xvclNwYWNlID0gc1JHQkNvbG9yU3BhY2VSZWYoKTsKKyAg
ICAgICAgaW1hZ2VDb2xvclNwYWNlID0gV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYoKTsKIAog
ICAgIENHUmVjdCBsYXllckJvdW5kcyA9IENHUmVjdEludGVncmFsKFtzZWxmIGJvdW5kc10pOwog
CkBAIC0xNDEsMTkgKzEzOSwxOSBAQCAtICh2b2lkKWRpc3BsYXkKICNlbmRpZgogCiAgICAgX2Nv
bnRleHQtPm1hcmtMYXllckNvbXBvc2l0ZWQoKTsKLSAgICBQbGF0Zm9ybUNBTGF5ZXIqIGxheWVy
ID0gUGxhdGZvcm1DQUxheWVyOjpwbGF0Zm9ybUNBTGF5ZXIoKF9fYnJpZGdlIHZvaWQqKXNlbGYp
OworICAgIFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXllciogbGF5ZXIgPSBXZWJDb3JlOjpQbGF0Zm9y
bUNBTGF5ZXI6OnBsYXRmb3JtQ0FMYXllcigoX19icmlkZ2Ugdm9pZCopc2VsZik7CiAgICAgaWYg
KGxheWVyICYmIGxheWVyLT5vd25lcigpKQogICAgICAgICBsYXllci0+b3duZXIoKS0+cGxhdGZv
cm1DQUxheWVyTGF5ZXJEaWREaXNwbGF5KGxheWVyKTsKIH0KIAogI2lmIFVTRShPUEVOR0wpCi0t
ICh2b2lkKWFsbG9jYXRlSU9TdXJmYWNlQmFja2luZ1N0b3JlV2l0aFNpemU6KEludFNpemUpc2l6
ZSB1c2luZ0FscGhhOihCT09MKXVzaW5nQWxwaGEKKy0gKHZvaWQpYWxsb2NhdGVJT1N1cmZhY2VC
YWNraW5nU3RvcmVXaXRoU2l6ZTooV2ViQ29yZTo6SW50U2l6ZSlzaXplIHVzaW5nQWxwaGE6KEJP
T0wpdXNpbmdBbHBoYQogewogICAgIF9idWZmZXJTaXplID0gc2l6ZTsKICAgICBfdXNpbmdBbHBo
YSA9IHVzaW5nQWxwaGE7Ci0gICAgX2NvbnRlbnRzQnVmZmVyID0gV2ViQ29yZTo6SU9TdXJmYWNl
OjpjcmVhdGUoc2l6ZSwgc1JHQkNvbG9yU3BhY2VSZWYoKSk7Ci0gICAgX2RyYXdpbmdCdWZmZXIg
PSBXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShzaXplLCBzUkdCQ29sb3JTcGFjZVJlZigpKTsK
LSAgICBfc3BhcmVCdWZmZXIgPSBXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShzaXplLCBzUkdC
Q29sb3JTcGFjZVJlZigpKTsKKyAgICBfY29udGVudHNCdWZmZXIgPSBXZWJDb3JlOjpJT1N1cmZh
Y2U6OmNyZWF0ZShzaXplLCBXZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigpKTsKKyAgICBfZHJh
d2luZ0J1ZmZlciA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUsIFdlYkNvcmU6OnNS
R0JDb2xvclNwYWNlUmVmKCkpOworICAgIF9zcGFyZUJ1ZmZlciA9IFdlYkNvcmU6OklPU3VyZmFj
ZTo6Y3JlYXRlKHNpemUsIFdlYkNvcmU6OnNSR0JDb2xvclNwYWNlUmVmKCkpOwogCiAgICAgQVNT
RVJUKF9jb250ZW50c0J1ZmZlcik7CiAgICAgQVNTRVJUKF9kcmF3aW5nQnVmZmVyKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVy
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR1BVTGF5ZXIu
bW0KaW5kZXggNWMzNTU3ZjhiZDY2YTY4YzkyM2IyM2FhNjQ3YmI3MTQ4NDA5ZTlhMS4uMjVlZmI4
Yjc0NzY4MDI0NTU4ZGJjZGYzMGY3NDMxODcxNDY5NTVhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR1BVTGF5ZXIubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR1BVTGF5ZXIubW0KQEAgLTM0LDEz
ICszNCwxMSBAQAogI2ltcG9ydCA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbXBvcnQgPHd0Zi9SZXRh
aW5QdHIuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIEBpbXBsZW1lbnRhdGlvbiBX
ZWJHUFVMYXllcgogCiBAc3ludGhlc2l6ZSBjb250ZXh0PV9jb250ZXh0OwogCi0tIChpZClpbml0
V2l0aEdQVURldmljZTooR1BVRGV2aWNlKiljb250ZXh0CistIChpZClpbml0V2l0aEdQVURldmlj
ZTooV2ViQ29yZTo6R1BVRGV2aWNlKiljb250ZXh0CiB7CiAgICAgc2VsZiA9IFtzdXBlciBpbml0
XTsKICAgICBfY29udGV4dCA9IGNvbnRleHQ7CkBAIC01MCw3ICs0OCw3IEBAIC0gKGlkKWluaXRX
aXRoR1BVRGV2aWNlOihHUFVEZXZpY2UqKWNvbnRleHQKIAogI2lmIFBMQVRGT1JNKE1BQykKICAg
ICBzZWxmLmNvbnRlbnRzU2NhbGUgPSBfZGV2aWNlUGl4ZWxSYXRpbzsKLSAgICBzZWxmLmNvbG9y
c3BhY2UgPSBzUkdCQ29sb3JTcGFjZVJlZigpOworICAgIHNlbGYuY29sb3JzcGFjZSA9IFdlYkNv
cmU6OnNSR0JDb2xvclNwYWNlUmVmKCk7CiAjZW5kaWYKICAgICByZXR1cm4gc2VsZjsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbW1h
bmRRdWV1ZU1ldGFsLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwv
R1BVQ29tbWFuZFF1ZXVlTWV0YWwubW0KaW5kZXggODIwYWY4YmMxNmRiM2I0ODY1ZTc5YjdiODI0
ZGIyYzdiNGRmM2VjYy4uMzAzYjI1ZGEzZDRhNjRlZDFiMDAzMGI3MmI5ZmRiYzZmOTY1YzMzZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29t
bWFuZFF1ZXVlTWV0YWwubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
bWV0YWwvR1BVQ29tbWFuZFF1ZXVlTWV0YWwubW0KQEAgLTMxLDYgKzMxLDcgQEAKICNpbXBvcnQg
IkdQVURldmljZS5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCA8TWV0YWwvTWV0YWwu
aD4KKyNpbXBvcnQgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFj
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRNYWMubW0KaW5kZXgg
Y2I1MDRjZjU0M2ViN2U4MGQ3NjY1Y2QxZTU3ZTMwODlhZmZiMWE3MC4uZmQ2ZTkyOTg3NzRmYWY0
ZmU4NzM1YmYyNzU2NWFkYzk1MzJiZjYzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL1Bhc3RlYm9hcmRNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1Bhc3RlYm9hcmRNYWMubW0KQEAgLTUyLDEwICs1MiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNvbnN0IGNoYXIqIGNvbnN0IFdlYkFyY2hpdmVQYm9hcmRUeXBlID0gIkFwcGxlIFdl
YiBBcmNoaXZlIHBhc3RlYm9hcmQgdHlwZSI7CiBjb25zdCBjaGFyKiBjb25zdCBXZWJVUkxOYW1l
UGJvYXJkVHlwZSA9ICJwdWJsaWMudXJsLW5hbWUiOworY29uc3QgY2hhciogY29uc3QgV2ViVVJM
c1dpdGhUaXRsZXNQYm9hcmRUeXBlID0gIldlYlVSTHNXaXRoVGl0bGVzUGJvYXJkVHlwZSI7CiAK
IGNvbnN0IGNoYXIgV2ViU21hcnRQYXN0ZVBib2FyZFR5cGVbXSA9ICJOZVhUIHNtYXJ0IHBhc3Rl
IHBhc3RlYm9hcmQgdHlwZSI7CiBjb25zdCBjaGFyIFdlYlVSTFBib2FyZFR5cGVbXSA9ICJwdWJs
aWMudXJsIjsKLWNvbnN0IGNoYXIgV2ViVVJMc1dpdGhUaXRsZXNQYm9hcmRUeXBlW10gPSAiV2Vi
VVJMc1dpdGhUaXRsZXNQYm9hcmRUeXBlIjsKIAogc3RhdGljIGNvbnN0IFZlY3RvcjxTdHJpbmc+
IHdyaXRhYmxlVHlwZXNGb3JVUkwoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29hLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFn
ZXJDb2NvYS5jcHAKaW5kZXggNWMyYTlkMjQxOThhMTNlNDhjNGY3M2U5ZGU2MWRkMzdhZGU5MjU1
MS4uZjQ5MmU2MTQyZjAyMzFiOTk3ZTk2YmE1OTI3OTU4ODU2ODA5MzNhYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJlTWFu
YWdlckNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9t
YWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCisjaW5jbHVkZSAiQ29yZVZpZGVvU29mdExpbmsuaCIK
ICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSA8d3RmL0FsZ29yaXRobXMuaD4KICNpbmNs
dWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwCmluZGV4IDI1NDA5NjU2YzNk
NjMyMDM2MTY1ZmFiMWRkNzQ5ZTg4ZmNhNjg0ODIuLmZmNTgzNjE3NGVhYjk1OTUyOGEyMDdiZmJh
YWI2MDAzOWQ5YjUwMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1
ZGUgIkhUVFBIZWFkZXJOYW1lcy5oIgogI2luY2x1ZGUgIlB1YmxpY1N1ZmZpeC5oIgogI2luY2x1
ZGUgIlJlc291cmNlUmVxdWVzdC5oIgorI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKICNp
bmNsdWRlICJTZWN1cml0eVBvbGljeS5oIgogI2luY2x1ZGUgPHd0Zi9Qb2ludGVyQ29tcGFyaXNv
bi5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0Zv
cm1EYXRhU3RyZWFtQ0ZOZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
Zi9Gb3JtRGF0YVN0cmVhbUNGTmV0LmNwcAppbmRleCAyOTAyNWQzOGE3ZmQzNmZmOWI5OTYyMzkx
ZjA4MDg3MDIxZmYxMzBlLi5lNTMyMWMyN2Q0ZDk2OGM2NmU0Y2Q0YzY3Nzk2M2Y1YTdkNmNhZGZl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0Zvcm1EYXRh
U3RyZWFtQ0ZOZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2Yv
Rm9ybURhdGFTdHJlYW1DRk5ldC5jcHAKQEAgLTQyLDExICs0Miw3IEBACiAjaW5jbHVkZSA8d3Rm
L1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAotI2lmIFBMQVRG
T1JNKElPUykgJiYgIVBMQVRGT1JNKElPU01BQykKLXN0YXRpYyBjb25zdCBTSW50MzIgZm5mRXJy
ID0gLTQzOwotI2VsaWYgUExBVEZPUk0oTUFDKQotI2luY2x1ZGUgPENvcmVTZXJ2aWNlcy9Db3Jl
U2VydmljZXMuaD4KLSNlbmRpZgorc3RhdGljIGNvbnN0IFNJbnQzMiBmaWxlTm90Rm91bmRFcnJv
ciA9IC00MzsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogZXh0ZXJuICJDIiB2b2lkIENGVVJMUmVx
dWVzdFNldEhUVFBSZXF1ZXN0Qm9keShDRk11dGFibGVVUkxSZXF1ZXN0UmVmIG11dGFibGVIVFRQ
UmVxdWVzdCwgQ0ZEYXRhUmVmIGh0dHBCb2R5KTsKQEAgLTI0MSw3ICsyMzcsNyBAQCBzdGF0aWMg
Qm9vbGVhbiBmb3JtT3BlbihDRlJlYWRTdHJlYW1SZWYsIENGU3RyZWFtRXJyb3IqIGVycm9yLCBC
b29sZWFuKiBvcGVuQ29tcAogI2lmIFBMQVRGT1JNKFdJTikKICAgICAgICAgRU5PRU5UOwogI2Vs
c2UKLSAgICAgICAgZm5mRXJyOworICAgICAgICBmaWxlTm90Rm91bmRFcnJvcjsKICNlbmRpZgog
ICAgIHJldHVybiBvcGVuZWQ7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcAppbmRl
eCAzYmM4MmM2ZTFhYmQyZmFjNDNiMDk5YzhlNmUzY2NmMzY2ZGQ4NTNiLi4yYzJiNTA4ZmFjNWM2
ZmM4NDYyODVjOWZmYTg5NWE3YjQwMjJiOGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxv
dy5jcHAKQEAgLTI3LDYgKzI3LDggQEAKICNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlckJsb2Nr
Rmxvdy5oIgogCiAjaW5jbHVkZSAiUmVuZGVyTXVsdGlDb2x1bW5GbG93LmgiCisjaW5jbHVkZSAi
UmVuZGVyVHJlZUJ1aWxkZXJCbG9jay5oIgorI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyTXVs
dGlDb2x1bW4uaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5saW5l
LmNwcAppbmRleCA3Y2QwNzE1ZGY1MjRhNzZmZDIwNmEyMzQyOGQ5ZGFjN2Q3ZDg1M2Y4Li5kYzk1
M2NjZGNlZTgzMDFkZmQwNTk3YTYxZDA1MmUzYzUwYjlmNjFiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklu
bGluZS5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJSZW5kZXJGdWxsU2NyZWVuLmgi
CiAjaW5jbHVkZSAiUmVuZGVySW5saW5lLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGFibGUuaCIKKyNp
bmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlclRhYmxlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZS5tbSBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmUubW0KaW5kZXggYjE3NDJmZGZkZDM4Njll
YWRkM2Q3YzVhZWU3MDVlNjYxZjk3ZWVkYy4uYjhjOTcyZjdlYzE4ZWI3ZDRjOWE3MWRlMmI0ZTFl
MmM2NWRlODc2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2
ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlLm1tCkBAIC0zNCw5
ICszNCw4IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9MZWdhY3lXZWJBcmNoaXZlLmg+CiAjaW5jbHVk
ZSA8d3RmL1JldGFpblB0ci5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogbmFtZXNw
YWNlIEFQSSB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogUmVmPFdlYkFyY2hpdmU+IFdl
YkFyY2hpdmU6OmNyZWF0ZShXZWJBcmNoaXZlUmVzb3VyY2UqIG1haW5SZXNvdXJjZSwgUmVmUHRy
PEFQSTo6QXJyYXk+JiYgc3VicmVzb3VyY2VzLCBSZWZQdHI8QVBJOjpBcnJheT4mJiBzdWJmcmFt
ZUFyY2hpdmVzKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJj
aGl2ZVJlc291cmNlLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZVJlc291
cmNlLm1tCmluZGV4IGNhZTViODVkZjE3N2RkZGU2OGQ4NTJlNWU1MDZkOGQ5MmJlMmVhOTQuLmRj
MGY5MGYwZjM4NTFhYmYxMDA0ODRiYTU3M2FlNGFmOGU4MGIyMzIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmVSZXNvdXJjZS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW0KQEAgLTMzLDkgKzMzLDggQEAKICNp
bmNsdWRlIDxXZWJDb3JlL1VSTC5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAotdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIG5hbWVzcGFjZSBBUEkgewordXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CiAKIFJlZjxXZWJBcmNoaXZlUmVzb3VyY2U+IFdlYkFyY2hpdmVSZXNvdXJjZTo6
Y3JlYXRlKEFQSTo6RGF0YSogZGF0YSwgY29uc3QgU3RyaW5nJiBVUkwsIGNvbnN0IFN0cmluZyYg
TUlNRVR5cGUsIGNvbnN0IFN0cmluZyYgdGV4dEVuY29kaW5nKQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5Nb2R1
bGVNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRz
Y2FwZVBsdWdpbk1vZHVsZU1hYy5tbQppbmRleCA2OGQ3YzZhZGYzNjI3NTEzMTI5NjM1NjI4NmYx
MWU4NDljMTRjMmMwLi5jMGNjYWM1OTg1M2NmYWZmZDlmZjFkMWUzZDY4YjY3ZDY0NTdmN2M3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRz
Y2FwZVBsdWdpbk1vZHVsZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5z
L05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbQpAQCAtMzQsOSArMzQsOCBA
QAogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KICNpbXBvcnQgPHd0Zi9zcGkvY2YvQ0ZCdW5k
bGVTUEkuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIG5hbWVzcGFjZSBXZWJLaXQg
ewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIHN0YXRpYyBib29sIGdldFBsdWdpbkFyY2hp
dGVjdHVyZShDRkJ1bmRsZVJlZiBidW5kbGUsIFBsdWdpbk1vZHVsZUluZm8mIHBsdWdpbikKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL1Bs
dWdpbkluZm9ybWF0aW9uTWFjLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRz
Y2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW0KaW5kZXggNWVjODQyNDk1OWNiYzE5Mjg4
NmZhNzVhYmYwM2YzZDg4NWJjYjFkOS4uMzI1ODRkNDE2YmUwZmYyNWU5ZTkxZGRmNDI4NzBlMzM5
NGY0OTM2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2Fw
ZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
UGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW0KQEAgLTM0LDkgKzM0
LDggQEAKICNpbXBvcnQgIlN0cmluZ1V0aWxpdGllcy5oIgogI2ltcG9ydCA8V2ViQ29yZS9QbHVn
aW5CbGFja2xpc3QuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIG5hbWVzcGFjZSBX
ZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIHZvaWQgZ2V0UGxhdGZvcm1QbHVn
aW5Nb2R1bGVJbmZvcm1hdGlvbihjb25zdCBQbHVnaW5Nb2R1bGVJbmZvJiBwbHVnaW4sIEFQSTo6
RGljdGlvbmFyeTo6TWFwVHlwZSYgbWFwKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
b3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IGQ4
YTNjOTBkZmZlMzIyMzIyZDc2M2VlMjFlN2NiYTQ1MGZlODVmY2YuLjRiOGQ0ODA2YjQ0ZjIyMDQ2
NTg1NzdlYjdhOTY3OGNiOGUzNDc5YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNl
c0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKQEAgLTI5OCw5
ICsyOTgsOSBAQCBVSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0gQG5vLXVuaWZ5CiAKIFVJUHJv
Y2Vzcy9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCiAK
LVVJUHJvY2Vzcy9BcHBsZVBheS9pb3MvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlJT1MubW0K
K1VJUHJvY2Vzcy9BcHBsZVBheS9pb3MvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlJT1MubW0g
QG5vLXVuaWZ5CiAKLVVJUHJvY2Vzcy9BcHBsZVBheS9tYWMvV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHlNYWMubW0KK1VJUHJvY2Vzcy9BcHBsZVBheS9tYWMvV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHlNYWMubW0gQG5vLXVuaWZ5CiAKIFVJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9jb2NvYS9B
dXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5Q29jb2EubW0KIFVJUHJvY2Vzcy9BdXRoZW50aWNh
dGlvbi9jb2NvYS9TZWNLZXlQcm94eVN0b3JlLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9BUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oCmluZGV4IGJmYzVl
ZTMzODIyMGQ5MTU2ZmNjZjAwYzFlNzZkMGJiZWU5MDQxOTAuLjM3OWM4ODU3YmU5NGI2MTk1NTVl
ZGZmZWM0YzNhOWE2ZTE3Nzk0ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9BUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9BUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oCkBAIC01MSw3ICs1MSw3IEBA
IHB1YmxpYzoKIAogICAgIHZpcnR1YWwgfkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50KCkgeyB9CiAK
LSAgICB2aXJ0dWFsIFN0cmluZyBzZXNzaW9uSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIFN0
cmluZygpOyB9CisgICAgdmlydHVhbCBXVEY6OlN0cmluZyBzZXNzaW9uSWRlbnRpZmllcigpIGNv
bnN0IHsgcmV0dXJuIFdURjo6U3RyaW5nKCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkRGlzY29u
bmVjdEZyb21SZW1vdGUoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYpIHsgfQogICAgIHZp
cnR1YWwgdm9pZCByZXF1ZXN0TmV3UGFnZVdpdGhPcHRpb25zKFdlYktpdDo6V2ViQXV0b21hdGlv
blNlc3Npb24mLCBBdXRvbWF0aW9uU2Vzc2lvbkJyb3dzaW5nQ29udGV4dE9wdGlvbnMsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoV2ViS2l0OjpXZWJQYWdlUHJveHkqKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikgeyBjb21wbGV0aW9uSGFuZGxlcihudWxscHRyKTsgfQogICAgIHZpcnR1YWwgdm9pZCBy
ZXF1ZXN0TWF4aW1pemVXaW5kb3dPZlBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYs
IFdlYktpdDo6V2ViUGFnZVByb3h5JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKSB7IGNvbXBsZXRpb25IYW5kbGVyKCk7IH0KQEAgLTYxLDggKzYxLDggQEAg
cHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc1Nob3dpbmdKYXZhU2NyaXB0RGlhbG9nT25QYWdl
KFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsg
cmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIGRpc21pc3NDdXJyZW50SmF2YVNjcmlw
dERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQ
YWdlUHJveHkmKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgYWNjZXB0Q3VycmVudEphdmFTY3JpcHRE
aWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFn
ZVByb3h5JikgeyB9Ci0gICAgdmlydHVhbCBTdHJpbmcgbWVzc2FnZU9mQ3VycmVudEphdmFTY3Jp
cHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2Vi
UGFnZVByb3h5JikgeyByZXR1cm4gU3RyaW5nKCk7IH0KLSAgICB2aXJ0dWFsIHZvaWQgc2V0VXNl
cklucHV0Rm9yQ3VycmVudEphdmFTY3JpcHRQcm9tcHRPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0
aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JiwgY29uc3QgU3RyaW5nJikgeyB9Cisg
ICAgdmlydHVhbCBXVEY6OlN0cmluZyBtZXNzYWdlT2ZDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09u
UGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkm
KSB7IHJldHVybiBXVEY6OlN0cmluZygpOyB9CisgICAgdmlydHVhbCB2b2lkIHNldFVzZXJJbnB1
dEZvckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNl
c3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIGNvbnN0IFdURjo6U3RyaW5nJikgeyB9CiAg
ICAgdmlydHVhbCBzdGQ6Om9wdGlvbmFsPEphdmFTY3JpcHREaWFsb2dUeXBlPiB0eXBlT2ZDdXJy
ZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwg
V2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IHJldHVybiBzdGQ6Om51bGxvcHQ7IH0KIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3Rv
Y29sTWFuYWdlckNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0xlZ2Fj
eUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbQppbmRleCAxMWJhMzcyNjU0ODNmZmU3ZmYy
NDY1MDk0MGQ4ZjMzYTUyYzBjMDRhLi4xOWE1OWI0MmNhYjdiNTQ3ZWQ5NDQ2MGU3MmZjMDM5NmNm
ZTc5Mjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9MZWdhY3lD
dXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tCkBAIC0zMiwyMyAr
MzIsMjAgQEAKICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci11
c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCiBAaW50ZXJmYWNlIFdLQ3VzdG9tUHJvdG9jb2xMb2Fk
ZXIgOiBOU09iamVjdCA8TlNVUkxDb25uZWN0aW9uRGVsZWdhdGU+IHsKIEBwcml2YXRlCi0gICAg
TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQ
cm94eTsKKyAgICBXZWJLaXQ6OkxlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiBfY3Vz
dG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk7CiAgICAgdWludDY0X3QgX2N1c3RvbVByb3RvY29sSUQ7
CiAgICAgTlNVUkxDYWNoZVN0b3JhZ2VQb2xpY3kgX3N0b3JhZ2VQb2xpY3k7CiAgICAgTlNVUkxD
b25uZWN0aW9uICpfdXJsQ29ubmVjdGlvbjsKIH0KLS0gKGlkKWluaXRXaXRoTGVnYWN5Q3VzdG9t
UHJvdG9jb2xNYW5hZ2VyUHJveHk6KExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5Kilj
dXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSBjdXN0b21Qcm90b2NvbElEOih1aW50NjRfdCljdXN0
b21Qcm90b2NvbElEIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3Q7CistIChpZClpbml0
V2l0aExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OihXZWJLaXQ6OkxlZ2FjeUN1c3Rv
bVByb3RvY29sTWFuYWdlclByb3h5KiljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSBjdXN0b21Q
cm90b2NvbElEOih1aW50NjRfdCljdXN0b21Qcm90b2NvbElEIHJlcXVlc3Q6KE5TVVJMUmVxdWVz
dCAqKXJlcXVlc3Q7CiAtICh2b2lkKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5RGVzdHJveWVk
OwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV0tDdXN0b21Qcm90b2NvbExvYWRlcgogCi0tIChp
ZClpbml0V2l0aExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OihMZWdhY3lDdXN0b21Q
cm90b2NvbE1hbmFnZXJQcm94eSopY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJv
dG9jb2xJRDoodWludDY0X3QpY3VzdG9tUHJvdG9jb2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3Qg
KilyZXF1ZXN0CistIChpZClpbml0V2l0aExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5
OihXZWJLaXQ6OkxlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiljdXN0b21Qcm90b2Nv
bE1hbmFnZXJQcm94eSBjdXN0b21Qcm90b2NvbElEOih1aW50NjRfdCljdXN0b21Qcm90b2NvbElE
IHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QKIHsKICAgICBzZWxmID0gW3N1cGVyIGlu
aXRdOwogICAgIGlmICghc2VsZikKQEAgLTg1LDcgKzgyLDcgQEAgLSAodm9pZCljdXN0b21Qcm90
b2NvbE1hbmFnZXJQcm94eURlc3Ryb3llZAogCiAtICh2b2lkKWNvbm5lY3Rpb246KE5TVVJMQ29u
bmVjdGlvbiAqKWNvbm5lY3Rpb24gZGlkRmFpbFdpdGhFcnJvcjooTlNFcnJvciAqKWVycm9yCiB7
Ci0gICAgUmVzb3VyY2VFcnJvciBjb3JlRXJyb3IoZXJyb3IpOworICAgIFdlYkNvcmU6OlJlc291
cmNlRXJyb3IgY29yZUVycm9yKGVycm9yKTsKICAgICBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJv
eHktPmRpZEZhaWxXaXRoRXJyb3IoX2N1c3RvbVByb3RvY29sSUQsIGNvcmVFcnJvcik7CiAgICAg
X2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5LT5zdG9wTG9hZGluZyhfY3VzdG9tUHJvdG9jb2xJ
RCk7CiB9CkBAIC05OSw3ICs5Niw3IEBAIC0gKE5TQ2FjaGVkVVJMUmVzcG9uc2UgKiljb25uZWN0
aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIHdpbGxDYWNoZVJlc3BvCiAKIC0gKHZv
aWQpY29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiBkaWRSZWNlaXZlUmVz
cG9uc2U6KE5TVVJMUmVzcG9uc2UgKilyZXNwb25zZQogewotICAgIFJlc291cmNlUmVzcG9uc2Ug
Y29yZVJlc3BvbnNlKHJlc3BvbnNlKTsKKyAgICBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIGNv
cmVSZXNwb25zZShyZXNwb25zZSk7CiAgICAgX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5LT5k
aWRSZWNlaXZlUmVzcG9uc2UoX2N1c3RvbVByb3RvY29sSUQsIGNvcmVSZXNwb25zZSwgX3N0b3Jh
Z2VQb2xpY3kpOwogfQogCkBAIC0xMjcsNiArMTI0LDcgQEAgLSAodm9pZCljb25uZWN0aW9uRGlk
RmluaXNoTG9hZGluZzooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbgogQGVuZAogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiB2b2lkIExlZ2FjeUN1
c3RvbVByb3RvY29sTWFuYWdlckNsaWVudDo6c3RhcnRMb2FkaW5nKExlZ2FjeUN1c3RvbVByb3Rv
Y29sTWFuYWdlclByb3h5JiBtYW5hZ2VyLCB1aW50NjRfdCBjdXN0b21Qcm90b2NvbElELCBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmIGNvcmVSZXF1ZXN0KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCmluZGV4IGMyYjkx
YTYzOTczZTYzMTIwYWFlNTI4Zjg5NzUzODVmN2I2ZGJmNjIuLmVkZWQ5YzdkMmE0ZTU4ZTNkMDU4
ZDgzMjY4MzEwOTgxODJhZjQ0NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKQEAgLTQ4LDcgKzQ4LDcgQEAgc3Rh
dGljIGNvbnN0IFNlY29uZHMgc25hcHNob3R0aW5nTWluaW11bUxpZmV0aW1lIHsgMzBfcyB9Owog
c3RhdGljIGNvbnN0IFNlY29uZHMgc2h1dGRvd25UaW1lb3V0IHsgMV9taW4gfTsKIHN0YXRpYyBj
b25zdCBTZWNvbmRzIHNuYXBzaG90dGluZ1NodXRkb3duVGltZW91dCB7IDE1X3MgfTsKIAotc3Rh
dGljIHVpbnQ2NF90IGdlbmVyYXRlQ2FsbGJhY2tJRCgpCitzdGF0aWMgdWludDY0X3QgZ2VuZXJh
dGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCgpCiB7CiAgICAgc3RhdGljIHVpbnQ2NF90IGNhbGxi
YWNrSUQ7CiAKQEAgLTExNCw3ICsxMTQsNyBAQCB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6Z2V0
UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24oTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6RwogCiB2
b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YShDb21wbGV0aW9uSGFuZGxl
cjx2b2lkIChWZWN0b3I8U3RyaW5nPik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgdWlu
dDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIHVpbnQ2NF90IGNh
bGxiYWNrSUQgPSBnZW5lcmF0ZVBsdWdpblByb2Nlc3NDYWxsYmFja0lEKCk7CiAgICAgbV9wZW5k
aW5nRmV0Y2hXZWJzaXRlRGF0YUNhbGxiYWNrcy5zZXQoY2FsbGJhY2tJRCwgV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcikpOwogCiAgICAgaWYgKHN0YXRlKCkgPT0gU3RhdGU6OkxhdW5jaGluZykg
ewpAQCAtMTI3LDcgKzEyNyw3IEBAIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNp
dGVEYXRhKENvbXBsZXRpb25IYW5kbGVyPHZvaWQgKFZlY3RvcjxTdHJpbmc+CiAKIHZvaWQgUGx1
Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YShXYWxsVGltZSBtb2RpZmllZFNpbmNl
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkICgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAg
IHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1aW50NjRf
dCBjYWxsYmFja0lEID0gZ2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1f
cGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRhQ2FsbGJhY2tzLnNldChjYWxsYmFja0lELCBXVEZNb3Zl
KGNvbXBsZXRpb25IYW5kbGVyKSk7CiAKICAgICBpZiAoc3RhdGUoKSA9PSBTdGF0ZTo6TGF1bmNo
aW5nKSB7CkBAIC0xNDAsNyArMTQwLDcgQEAgdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmRlbGV0
ZVdlYnNpdGVEYXRhKFdhbGxUaW1lIG1vZGlmaWVkU2luY2UsIENvbXBsZXRpb25IYW4KIAogdm9p
ZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5hbWVzKGNvbnN0
IFZlY3RvcjxTdHJpbmc+JiBob3N0TmFtZXMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQgKCk+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRl
Q2FsbGJhY2tJRCgpOworICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVBsdWdpblBy
b2Nlc3NDYWxsYmFja0lEKCk7CiAgICAgbV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFGb3JIb3N0
TmFtZXNDYWxsYmFja3Muc2V0KGNhbGxiYWNrSUQsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
KTsKIAogICAgIGlmIChzdGF0ZSgpID09IFN0YXRlOjpMYXVuY2hpbmcpIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJl
ZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Jl
bW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5t
bQppbmRleCA0YTJlMjliNTYwOTYxYTU5YjFjYjU1MTk3ODM5MTQ5YzMxMDY4NGMyLi43MmE4ODJm
MDU4MWQ1ZWFjOTFmYzE0YmMwNWEwMmYxNDRmMTZjMTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdO
b2RlRGVsZWdhdGVJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5
ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tCkBAIC00
Myw4ICs0Myw2IEBACiAjaW1wb3J0IDxXZWJDb3JlL1Njcm9sbFNuYXBPZmZzZXRzSW5mby5oPgog
I2VuZGlmCiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBAaW1wbGVtZW50YXRpb24gV0tT
Y3JvbGxpbmdOb2RlU2Nyb2xsVmlld0RlbGVnYXRlCiAKIC0gKGluc3RhbmNldHlwZSlpbml0V2l0
aFNjcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGU6KFdlYktpdDo6U2Nyb2xsaW5nVHJlZVNjcm9sbGlu
Z05vZGVEZWxlZ2F0ZUlPUyopZGVsZWdhdGUKQEAgLTgwLDcgKzc4LDcgQEAgLSAodm9pZClzY3Jv
bGxWaWV3V2lsbEVuZERyYWdnaW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3IHdpdGhWZWxv
Y2l0eTooQ0dQb2kKIAogICAgIGlmICghX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9s
bGluZ05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNldHMoKS5pc0VtcHR5KCkpIHsKICAgICAgICAg
dW5zaWduZWQgaW5kZXg7Ci0gICAgICAgIGZsb2F0IHBvdGVudGlhbFNuYXBQb3NpdGlvbiA9IGNs
b3Nlc3RTbmFwT2Zmc2V0KF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2Rl
KCkuaG9yaXpvbnRhbFNuYXBPZmZzZXRzKCksIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5z
Y3JvbGxpbmdOb2RlKCkuaG9yaXpvbnRhbFNuYXBPZmZzZXRSYW5nZXMoKSwgaG9yaXpvbnRhbFRh
cmdldCwgdmVsb2NpdHkueCwgaW5kZXgpOworICAgICAgICBmbG9hdCBwb3RlbnRpYWxTbmFwUG9z
aXRpb24gPSBXZWJDb3JlOjpjbG9zZXN0U25hcE9mZnNldChfc2Nyb2xsaW5nVHJlZU5vZGVEZWxl
Z2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0cygpLCBfc2Nyb2xsaW5n
VHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0UmFu
Z2VzKCksIGhvcml6b250YWxUYXJnZXQsIHZlbG9jaXR5LngsIGluZGV4KTsKICAgICAgICAgX3Nj
cm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5zZXRDdXJyZW50SG9yaXpv
bnRhbFNuYXBQb2ludEluZGV4KGluZGV4KTsKICAgICAgICAgaWYgKGhvcml6b250YWxUYXJnZXQg
Pj0gMCAmJiBob3Jpem9udGFsVGFyZ2V0IDw9IHNjcm9sbFZpZXcuY29udGVudFNpemUud2lkdGgp
CiAgICAgICAgICAgICB0YXJnZXRDb250ZW50T2Zmc2V0LT54ID0gcG90ZW50aWFsU25hcFBvc2l0
aW9uOwpAQCAtODgsNyArODYsNyBAQCAtICh2b2lkKXNjcm9sbFZpZXdXaWxsRW5kRHJhZ2dpbmc6
KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcgd2l0aFZlbG9jaXR5OihDR1BvaQogCiAgICAgaWYg
KCFfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2FsU25h
cE9mZnNldHMoKS5pc0VtcHR5KCkpIHsKICAgICAgICAgdW5zaWduZWQgaW5kZXg7Ci0gICAgICAg
IGZsb2F0IHBvdGVudGlhbFNuYXBQb3NpdGlvbiA9IGNsb3Nlc3RTbmFwT2Zmc2V0KF9zY3JvbGxp
bmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkudmVydGljYWxTbmFwT2Zmc2V0cygp
LCBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2FsU25h
cE9mZnNldFJhbmdlcygpLCB2ZXJ0aWNhbFRhcmdldCwgdmVsb2NpdHkueSwgaW5kZXgpOworICAg
ICAgICBmbG9hdCBwb3RlbnRpYWxTbmFwUG9zaXRpb24gPSBXZWJDb3JlOjpjbG9zZXN0U25hcE9m
ZnNldChfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2Fs
U25hcE9mZnNldHMoKSwgX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUo
KS52ZXJ0aWNhbFNuYXBPZmZzZXRSYW5nZXMoKSwgdmVydGljYWxUYXJnZXQsIHZlbG9jaXR5Lnks
IGluZGV4KTsKICAgICAgICAgX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05v
ZGUoKS5zZXRDdXJyZW50VmVydGljYWxTbmFwUG9pbnRJbmRleChpbmRleCk7CiAgICAgICAgIGlm
ICh2ZXJ0aWNhbFRhcmdldCA+PSAwICYmIHZlcnRpY2FsVGFyZ2V0IDw9IHNjcm9sbFZpZXcuY29u
dGVudFNpemUuaGVpZ2h0KQogICAgICAgICAgICAgdGFyZ2V0Q29udGVudE9mZnNldC0+eSA9IHBv
dGVudGlhbFNuYXBQb3NpdGlvbjsKQEAgLTEyMiw2ICsxMjAsNyBAQCAtICh2b2lkKXNjcm9sbFZp
ZXdEaWRFbmREZWNlbGVyYXRpbmc6KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcKIEBlbmQKIAog
bmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogU2Nyb2xsaW5n
VHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUzo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVE
ZWxlZ2F0ZUlPUyhTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZSYgc2Nyb2xsaW5nTm9kZSkKICAg
ICA6IFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGUoc2Nyb2xsaW5nTm9kZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNz
UHJveHkuY3BwCmluZGV4IGVmYThkMTNjYmJkNWZmYTgwOGI1ZjBlZGJmNGE1MWRjOWRmODU3ZTcu
LjNhMTMxYjRkNjBkOGFhMDdlODdmYjVlNGM2MTRmMzBhN2Q0MmI1NzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1Byb3h5LmNw
cApAQCAtMzcsNyArMzcsNyBAQAogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKIAotc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlQ2FsbGJhY2tJRCgpCitzdGF0aWMg
dWludDY0X3QgZ2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQoKQogewogICAgIHN0YXRp
YyB1aW50NjRfdCBjYWxsYmFja0lEOwogCkBAIC0xMDUsNyArMTA1LDcgQEAgdm9pZCBTdG9yYWdl
UHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwg
T3B0aW9uU2V0PFcKIHsKICAgICBBU1NFUlQoY2FuU2VuZE1lc3NhZ2UoKSk7CiAKLSAgICB1aW50
NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7CisgICAgdWludDY0X3QgY2Fs
bGJhY2tJRCA9IGdlbmVyYXRlU3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKCk7CiAgICAgbV9wZW5k
aW5nRmV0Y2hXZWJzaXRlRGF0YUNhbGxiYWNrcy5hZGQoY2FsbGJhY2tJRCwgV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcikpOwogCiAgICAgc2VuZChNZXNzYWdlczo6U3RvcmFnZVByb2Nlc3M6OkZl
dGNoV2Vic2l0ZURhdGEoc2Vzc2lvbklELCBkYXRhVHlwZXMsIGNhbGxiYWNrSUQpLCAwKTsKQEAg
LTExMyw3ICsxMTMsNyBAQCB2b2lkIFN0b3JhZ2VQcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURh
dGEoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8VwogCiB2b2lkIFN0b3JhZ2VQ
cm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwg
T3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4gZGF0YVR5cGVzLCBXYWxsVGltZSBtb2RpZmllZFNp
bmNlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkICgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewot
ICAgIGF1dG8gY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIGF1dG8gY2Fs
bGJhY2tJRCA9IGdlbmVyYXRlU3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKCk7CiAKICAgICBtX3Bl
bmRpbmdEZWxldGVXZWJzaXRlRGF0YUNhbGxiYWNrcy5hZGQoY2FsbGJhY2tJRCwgV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlcikpOwogICAgIHNlbmQoTWVzc2FnZXM6OlN0b3JhZ2VQcm9jZXNzOjpE
ZWxldGVXZWJzaXRlRGF0YShzZXNzaW9uSUQsIGRhdGFUeXBlcywgbW9kaWZpZWRTaW5jZSwgY2Fs
bGJhY2tJRCksIDApOwpAQCAtMTIzLDcgKzEyMyw3IEBAIHZvaWQgU3RvcmFnZVByb2Nlc3NQcm94
eTo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwK
IHsKICAgICBBU1NFUlQoY2FuU2VuZE1lc3NhZ2UoKSk7CiAKLSAgICB1aW50NjRfdCBjYWxsYmFj
a0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7CisgICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdl
bmVyYXRlU3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKCk7CiAgICAgbV9wZW5kaW5nRGVsZXRlV2Vi
c2l0ZURhdGFGb3JPcmlnaW5zQ2FsbGJhY2tzLmFkZChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKSk7CiAKICAgICBzZW5kKE1lc3NhZ2VzOjpTdG9yYWdlUHJvY2Vzczo6RGVs
ZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKHNlc3Npb25JRCwgZGF0YVR5cGVzLCBvcmlnaW5zLCBj
YWxsYmFja0lEKSwgMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4
IDc3YmQ4ZDc3NTYxOGUwOGUzNjJjYjE2MTRiM2Q2NWQ3Y2U5NjAxNmMuLjJhN2I2MGMwYmIzOTAx
OTQxMTlmYmMwMWMzMjlhNTlmODZlMDQwMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCkBAIC02MSw3ICs2MSw2IEBACiAjaW5jbHVkZSAiV2ViUGFnZUluamVjdGVkQnVu
ZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuaCIKICNp
bmNsdWRlICJXZWJQcmVmZXJlbmNlcy5oIgotI2luY2x1ZGUgPFdlYkNvcmUvQWx0ZXJuYXRpdmVU
ZXh0Q2xpZW50Lmg+IC8vIEZJWE1FOiBOZWVkZWQgYnkgV2ViUGFnZVByb3h5TWVzc2FnZXMuaCBm
b3IgRElDVEFUSU9OX0FMVEVSTkFUSVZFUy4KICNpbmNsdWRlICJXZWJQYWdlUHJveHlNZXNzYWdl
cy5oIgogI2luY2x1ZGUgIldlYlBvcHVwTWVudVByb3h5LmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vz
c0xpZmV0aW1lVHJhY2tlci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggYzc3MTU1OTBlZDcxY2NkZDIzZGYyODVhM2FhN2MzNmU1NDNk
YjdmNi4uYmM3YzI0M2Y0Nzk2YWNjMmVjZTRjNGZlY2M0NDkyOTI1OGNkYjQ1NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03NTYsNiAr
NzU2LDggQEAKIAkJMkQ5MkE3OTUyMTJCNkFENDAwRjQ5M0ZEIC8qIFBsdWdpblByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUEyRDkwRDExMjgxQzk2NjAwMUVCOTYyIC8qIFBsdWdpblByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuY3BwICovOyB9OwogCQkyRDkyQTc5NjIxMkI2QURBMDBGNDkzRkQgLyogTmV0
c2NhcGVQbHVnaW5Nb2R1bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUE0QTlDNTMxMkI4MTZDRjAwOEZFOTg0IC8qIE5ldHNjYXBlUGx1Z2luTW9k
dWxlLmNwcCAqLzsgfTsKIAkJMkQ5MkE3OTcyMTJCNkFEQTAwRjQ5M0ZEIC8qIFBsdWdpbkluZm9y
bWF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDdDM0Y4QzhFMTczQUY1MkQwMDdCN0YzOSAvKiBQbHVnaW5JbmZvcm1hdGlvbi5jcHAgKi87IH07
CisJCTJEOTJBNzk4MjEzNDhEODUwMEY0OTNGRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFB
QjFGNzdEMUQxQjMwQTkwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5t
bSAqLzsgfTsKKwkJMkQ5MkE3OUYyMTM0QjA3RTAwRjQ5M0ZEIC8qIFdlYlBheW1lbnRDb29yZGlu
YXRvclByb3h5SU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUFCMUY3N0IxRDFCMzBBOTAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5SU9TLm1tICovOyB9OwogCQkyRDkzMTE2OTIxMkY2MUIyMDAwNDRCRkUgLyogV0tDb250ZW50
Vmlldy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
Q0I0RTNEMThCQkUwNDQwMDBGQ0ZDOSAvKiBXS0NvbnRlbnRWaWV3Lm1tICovOyB9OwogCQkyRDkz
MTE2QTIxMkY2MUI1MDAwNDRCRkUgLyogV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDQjRFNkIxOEJCRjI2
QTAwMEZDRkM5IC8qIFdLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSAqLzsgfTsKIAkJMkQ5RUEz
MEQxQTk2Q0I1OTAwMkQyODA3IC8qIFdLUGFnZUluamVjdGVkQnVuZGxlQ2xpZW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlFQTMwQzFBOTZDQjU5
MDAyRDI4MDcgLyogV0tQYWdlSW5qZWN0ZWRCdW5kbGVDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTEyNDEsNiArMTEyNDMsOCBAQAog
CQkJCTdDRTlDRTEwMUZBMDc2N0EwMDAxNzdERSAvKiBXZWJQYWdlVXBkYXRlUHJlZmVyZW5jZXMu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M0Njk0QzkxQTRCNEVBMTAwQUQ1ODQ1IC8qIFdlYlBh
c3RlYm9hcmRQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUIx
Rjc5NjFEMUIzNjEzMDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yTWVzc2FnZVJlY2Vp
dmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJBNzlGMjEzNEIwN0UwMEY0OTNGRCAvKiBX
ZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJB
Nzk4MjEzNDhEODUwMEY0OTNGRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbSBp
biBTb3VyY2VzICovLAogCQkJCTFBQjFGNzk4MUQxQjM2MTMwMDdDOUJEMSAvKiBXZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQky
RDkyQTc4RDIxMkI2QUIxMDBGNDkzRkQgLyogV2ViUGxhdGZvcm1Ub3VjaFBvaW50LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTJEOTEzNDRFMjEyQ0Y5RjAwMDEyOEFGRCAvKiBXZWJQbHVnaW5JbmZv
UHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5tbQppbmRleCA1MzA3ZTI2YTc2MzdlOGE2OWIwNDVh
YmI5Mjg3OWYzZjhjNjU4NmYyLi40Y2FhNmNjMGY2MDQ1MGMwM2IyMmEyODRkZDEzYWYyNWVmZDZl
Mzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERG
UGx1Z2luLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQ
bHVnaW4ubW0KQEAgLTg4LDggKzg4LDYgQEAKICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TTWVudVNQ
SS5oPgogI2ltcG9ydCA8d3RmL1VVSUQuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0K
IC8vIFNldCBvdmVyZmxvdzogaGlkZGVuIG9uIHRoZSBhbm5vdGF0aW9uIGNvbnRhaW5lciBzbyA8
aW5wdXQ+IGVsZW1lbnRzIHNjcm9sbGVkIG91dCBvZiB2aWV3IGRvbid0IHNob3cKIC8vIHNjcm9s
bGJhcnMgb24gdGhlIGJvZHkuIFdlIGNhbid0IGFkZCBhbm5vdGF0aW9ucyBkaXJlY3RseSB0byB0
aGUgYm9keSwgYmVjYXVzZSBvdmVyZmxvdzogaGlkZGVuIG9uIHRoZSBib2R5CiAvLyB3aWxsIGJy
ZWFrIHJ1YmJlci1iYW5kaW5nLgpAQCAtMjkwLDcgKzI4OCw3IEBAIC0gKE5TQXJyYXkgKilhY2Nl
c3NpYmlsaXR5QWN0aW9uTmFtZXMKIC0gKHZvaWQpYWNjZXNzaWJpbGl0eVBlcmZvcm1BY3Rpb246
KE5TU3RyaW5nICopYWN0aW9uCiB7CiAgICAgaWYgKFthY3Rpb24gaXNFcXVhbFRvU3RyaW5nOk5T
QWNjZXNzaWJpbGl0eVNob3dNZW51QWN0aW9uXSkKLSAgICAgICAgX3BkZlBsdWdpbi0+c2hvd0Nv
bnRleHRNZW51QXRQb2ludChJbnRSZWN0KEludFBvaW50KCksIF9wZGZQbHVnaW4tPnNpemUoKSku
Y2VudGVyKCkpOworICAgICAgICBfcGRmUGx1Z2luLT5zaG93Q29udGV4dE1lbnVBdFBvaW50KFdl
YkNvcmU6OkludFJlY3QoV2ViQ29yZTo6SW50UG9pbnQoKSwgX3BkZlBsdWdpbi0+c2l6ZSgpKS5j
ZW50ZXIoKSk7CiB9CiAKIC0gKEJPT0wpYWNjZXNzaWJpbGl0eUlzQXR0cmlidXRlU2V0dGFibGU6
KE5TU3RyaW5nICopYXR0cmlidXRlCkBAIC0zMTYsOCArMzE0LDggQEAgLSAoaWQpYWNjZXNzaWJp
bGl0eUZvY3VzZWRVSUVsZW1lbnQKIHsKICNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMTMwMAogICAgIGlmIChXZWJLaXQ6OlBERlBsdWdpbkFubm90YXRpb24qIGFjdGl2
ZUFubm90YXRpb24gPSBfcGRmUGx1Z2luLT5hY3RpdmVBbm5vdGF0aW9uKCkpIHsKLSAgICAgICAg
aWYgKEFYT2JqZWN0Q2FjaGUqIGV4aXN0aW5nQ2FjaGUgPSBfcGRmUGx1Z2luLT5heE9iamVjdENh
Y2hlKCkpIHsKLSAgICAgICAgICAgIGlmIChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QgPSBl
eGlzdGluZ0NhY2hlLT5nZXRPckNyZWF0ZShhY3RpdmVBbm5vdGF0aW9uLT5lbGVtZW50KCkpKQor
ICAgICAgICBpZiAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZSogZXhpc3RpbmdDYWNoZSA9IF9wZGZQ
bHVnaW4tPmF4T2JqZWN0Q2FjaGUoKSkgeworICAgICAgICAgICAgaWYgKFdlYkNvcmU6OkFjY2Vz
c2liaWxpdHlPYmplY3QqIG9iamVjdCA9IGV4aXN0aW5nQ2FjaGUtPmdldE9yQ3JlYXRlKGFjdGl2
ZUFubm90YXRpb24tPmVsZW1lbnQoKSkpCiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAog
I3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XZGVwcmVjYXRlZC1kZWNsYXJhdGlv
bnMiCiAgICAgICAgICAgICAgICAgcmV0dXJuIFtvYmplY3QtPndyYXBwZXIoKSBhY2Nlc3NpYmls
aXR5QXR0cmlidXRlVmFsdWU6QCJfQVhBc3NvY2lhdGVkUGx1Z2luUGFyZW50Il07CkBAIC0zMzgs
MTEgKzMzNiwxMSBAQCAtIChpZClhY2Nlc3NpYmlsaXR5QXNzb2NpYXRlZENvbnRyb2xGb3JBbm5v
dGF0aW9uOihQREZBbm5vdGF0aW9uICopYW5ub3RhdGlvbgogICAgIGlmICghYWN0aXZlQW5ub3Rh
dGlvbiB8fCAhW2FjdGl2ZUFubm90YXRpb24tPmFubm90YXRpb24oKSBpc0VxdWFsOmFubm90YXRp
b25dKQogICAgICAgICByZXR1cm4gbmlsOwogICAgIAotICAgIEFYT2JqZWN0Q2FjaGUqIGNhY2hl
ID0gX3BkZlBsdWdpbi0+YXhPYmplY3RDYWNoZSgpOworICAgIFdlYkNvcmU6OkFYT2JqZWN0Q2Fj
aGUqIGNhY2hlID0gX3BkZlBsdWdpbi0+YXhPYmplY3RDYWNoZSgpOwogICAgIGlmICghY2FjaGUp
CiAgICAgICAgIHJldHVybiBuaWw7CiAgICAgCi0gICAgQWNjZXNzaWJpbGl0eU9iamVjdCogb2Jq
ZWN0ID0gY2FjaGUtPmdldE9yQ3JlYXRlKGFjdGl2ZUFubm90YXRpb24tPmVsZW1lbnQoKSk7Cisg
ICAgV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0ID0gY2FjaGUtPmdldE9yQ3Jl
YXRlKGFjdGl2ZUFubm90YXRpb24tPmVsZW1lbnQoKSk7CiAgICAgaWYgKCFvYmplY3QpCiAgICAg
ICAgIHJldHVybiBuaWw7CiAKQEAgLTM1Myw3ICszNTEsNyBAQCAtIChpZClhY2Nlc3NpYmlsaXR5
QXNzb2NpYXRlZENvbnRyb2xGb3JBbm5vdGF0aW9uOihQREZBbm5vdGF0aW9uICopYW5ub3RhdGlv
bgogLSAoaWQpYWNjZXNzaWJpbGl0eUhpdFRlc3Q6KE5TUG9pbnQpcG9pbnQKIHsKICNpZiBfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMAotICAgIHBvaW50ID0gX3BkZlBs
dWdpbi0+Y29udmVydEZyb21Sb290Vmlld1RvUERGVmlldyhJbnRQb2ludChwb2ludCkpOworICAg
IHBvaW50ID0gX3BkZlBsdWdpbi0+Y29udmVydEZyb21Sb290Vmlld1RvUERGVmlldyhXZWJDb3Jl
OjpJbnRQb2ludChwb2ludCkpOwogICAgIHJldHVybiBbX3BkZkxheWVyQ29udHJvbGxlciBhY2Nl
c3NpYmlsaXR5SGl0VGVzdDpwb2ludF07CiAjZWxzZQogICAgIHJldHVybiBzZWxmOwpAQCAtNDIx
LDcgKzQxOSw3IEBAIC0gKGlkKWluaXRXaXRoUERGUGx1Z2luOihXZWJLaXQ6OlBERlBsdWdpbiAq
KXBsdWdpbgogCiAtICh2b2lkKXVwZGF0ZVNjcm9sbFBvc2l0aW9uOihDR1BvaW50KW5ld1Bvc2l0
aW9uCiB7Ci0gICAgX3BkZlBsdWdpbi0+bm90aWZ5U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKEludFBv
aW50KG5ld1Bvc2l0aW9uKSk7CisgICAgX3BkZlBsdWdpbi0+bm90aWZ5U2Nyb2xsUG9zaXRpb25D
aGFuZ2VkKFdlYkNvcmU6OkludFBvaW50KG5ld1Bvc2l0aW9uKSk7CiB9CiAKIC0gKHZvaWQpd3Jp
dGVJdGVtc1RvUGFzdGVib2FyZDooTlNBcnJheSAqKWl0ZW1zIHdpdGhUeXBlczooTlNBcnJheSAq
KXR5cGVzCkBAIC01MDAsNiArNDk4LDEwIEBAIC0gKE5TUmVjdCljb252ZXJ0UmVjdDooTlNSZWN0
KXJlY3QgZnJvbVBhZ2U6KFBERlBhZ2UgKikgcGFnZSBmb3JTY2FsZUZhY3RvcjooQ0dGCiAtIChQ
REZQYWdlICopcGFnZU5lYXJlc3RQb2ludDooTlNQb2ludClwb2ludCBjdXJyZW50UGFnZTooUERG
UGFnZSAqKWN1cnJlbnRQYWdlOwogQGVuZAogCituYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwordXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKKwogc3RhdGljIGNv
bnN0IGNoYXIqIHBvc3RTY3JpcHRNSU1FVHlwZSA9ICJhcHBsaWNhdGlvbi9wb3N0c2NyaXB0IjsK
IGNvbnN0IHVpbnQ2NF90IHBkZkRvY3VtZW50UmVxdWVzdElEID0gMTsgLy8gUGx1Z2luQ29udHJv
bGxlciBzdXBwb3J0cyBsb2FkaW5nIG11bHRpcGxlIHN0cmVhbXMsIGJ1dCB3ZSBvbmx5IG5lZWQg
b25lIGZvciBQREYuCiAKQEAgLTU5Niw5ICs1OTgsNiBAQCBzdGF0aWMgdm9pZCBnZXRBbGxTY3Jp
cHRzSW5QREZEb2N1bWVudChDR1BERkRvY3VtZW50UmVmIHBkZkRvY3VtZW50LCBWZWN0b3I8UmV0
YQogICAgIH0KIH0KIAotbmFtZXNwYWNlIFdlYktpdCB7Ci11c2luZyBuYW1lc3BhY2UgSFRNTE5h
bWVzOwotCiBSZWY8UERGUGx1Z2luPiBQREZQbHVnaW46OmNyZWF0ZShXZWJGcmFtZSYgZnJhbWUp
CiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUERGUGx1Z2luKGZyYW1lKSk7CkBAIC0xNDUw
LDcgKzE0NDksNyBAQCB2b2lkIFBERlBsdWdpbjo6dXBkYXRlQ3Vyc29yKGNvbnN0IFdlYk1vdXNl
RXZlbnQmIGV2ZW50LCBVcGRhdGVDdXJzb3JNb2RlIG1vZGUpCiAgICAgaWYgKGhpdFRlc3RSZXN1
bHQgPT0gbV9sYXN0SGl0VGVzdFJlc3VsdCAmJiBtb2RlID09IFVwZGF0ZUlmTmVlZGVkKQogICAg
ICAgICByZXR1cm47CiAKLSAgICB3ZWJGcmFtZSgpLT5wYWdlKCktPnNlbmQoTWVzc2FnZXM6Oldl
YlBhZ2VQcm94eTo6U2V0Q3Vyc29yKGhpdFRlc3RSZXN1bHQgPT0gVGV4dCA/IGlCZWFtQ3Vyc29y
KCkgOiBwb2ludGVyQ3Vyc29yKCkpKTsKKyAgICB3ZWJGcmFtZSgpLT5wYWdlKCktPnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0Q3Vyc29yKGhpdFRlc3RSZXN1bHQgPT0gVGV4dCA/IFdl
YkNvcmU6OmlCZWFtQ3Vyc29yKCkgOiBXZWJDb3JlOjpwb2ludGVyQ3Vyc29yKCkpKTsKICAgICBt
X2xhc3RIaXRUZXN0UmVzdWx0ID0gaGl0VGVzdFJlc3VsdDsKIH0KICNlbmRpZgpAQCAtMTk4MSwx
NiArMTk4MCwxNiBAQCB2b2lkIFBERlBsdWdpbjo6bm90aWZ5U2VsZWN0aW9uQ2hhbmdlZChQREZT
ZWxlY3Rpb24gKikKICAgICB3ZWJGcmFtZSgpLT5wYWdlKCktPmRpZENoYW5nZVNlbGVjdGlvbigp
OwogfQogCi1zdGF0aWMgY29uc3QgQ3Vyc29yJiBjb3JlQ3Vyc29yKFBERkxheWVyQ29udHJvbGxl
ckN1cnNvclR5cGUgdHlwZSkKK3N0YXRpYyBjb25zdCBXZWJDb3JlOjpDdXJzb3ImIGNvcmVDdXJz
b3IoUERGTGF5ZXJDb250cm9sbGVyQ3Vyc29yVHlwZSB0eXBlKQogewogICAgIHN3aXRjaCAodHlw
ZSkgewogICAgIGNhc2Uga1BERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGVIYW5kOgotICAgICAg
ICByZXR1cm4gaGFuZEN1cnNvcigpOworICAgICAgICByZXR1cm4gV2ViQ29yZTo6aGFuZEN1cnNv
cigpOwogICAgIGNhc2Uga1BERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGVJQmVhbToKLSAgICAg
ICAgcmV0dXJuIGlCZWFtQ3Vyc29yKCk7CisgICAgICAgIHJldHVybiBXZWJDb3JlOjppQmVhbUN1
cnNvcigpOwogICAgIGNhc2Uga1BERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGVQb2ludGVyOgog
ICAgIGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiBwb2ludGVyQ3Vyc29yKCk7CisgICAgICAgIHJl
dHVybiBXZWJDb3JlOjpwb2ludGVyQ3Vyc29yKCk7CiAgICAgfQogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348245</attachid>
            <date>2018-08-27 18:02:50 -0700</date>
            <delta_ts>2018-08-27 18:22:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189009-20180827180249.patch</filename>
            <type>text/plain</type>
            <size>54927</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGMyOWZmMzZiMTcwMDNiYTAxZDNlYmJj
YWNhNDY4ZTRmNDZlM2YzN2IuLjA3YzYxYjkxMTg5ZjZmYjg3M2MxN2MxNWM0N2Y1NzI2ODE0YzY4
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3Jl
IHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL2dlbmVy
YXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmI6CisgICAgICAgIEl0IHR1cm5zIG91dCBvdXIg
cGxhbiB0byBzd2l0Y2ggdW5pZmllZCBzb3VyY2UgYnVuZGxlIGV2ZXJ5IHRpbWUgdGhlIGRpcmVj
dG9yeQorICAgICAgICBjaGFuZ2VzIGlzIG5vdCBhIGdvb2QgZml0IGZvciBwcm9qZWN0cyBsaWtl
IFdlYktpdDIgd2l0aCBtYW55IHNtYWxsIGRpcmVjdG9yaWVzLgorICAgICAgICBJdCBsZWF2ZXMg
bWFueSB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIHdpdGggb25seSBhIHNpbmdsZSBzb3VyY2UgZmls
ZSwKKyAgICAgICAgYWNoaWV2aW5nIG9ubHkgfjQwJSBkZW5zaXR5LgorCisgICAgICAgIEluc3Rl
YWQsIHN3aXRjaCB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIGV2ZXJ5IHRpbWUgdGhlIHRvcC1sZXZl
bCBkaXJlY3RvcnkgY2hhbmdlcy4KKyAgICAgICAgVGhpcyBzdGlsbCBhY2hpZXZlcyB0aGUgZ29h
bCBvZiAqdXN1YWxseSogb25seSByZWJ1aWxkaW5nIHRoZSBvbmUgdG9wLWxldmVsCisgICAgICAg
IGRpcmVjdG9yeSB5b3UgdG91Y2hlZCwgYW5kIGluY3JlYXNlcyBzb3VyY2UgYnVuZGxlIGRlbnNp
dHkgd2lsZGx5LCB0byB+OTUlLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTgt
MDgtMjcgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQgYnVpbGQgZml4IC0tIGRpc2FibGUgTFRPIGZvciBwcm9kdWN0aW9uIGJ1aWxkcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDdmZjk4ZTNhMDliZTBjOWE3ZWM2MWFlYWVjZDk4MjhmYTcxNjNmZjMuLmNiZGZk
OTgwODYyMDk5NTFkNmQ2ZWJjMTZkYjk0Y2EzZmI3YzQ1ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzOCBAQAorMjAxOC0wOC0yNyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNv
bT4KKworICAgICAgICBCdW5kbGUgdW5pZmllZCBzb3VyY2VzIG1vcmUgdGlnaHRseSBpbiBwcm9q
ZWN0cyB3aXRoIGRlZXAgZGlyZWN0b3J5IHN0cnVjdHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTAwOQorCisgICAgICAgIFJldmlld2VkIGJ5
IFNpbW9uIEZyYXNlci4KKworICAgICAgICBGaXggYSB2YXJpZXR5IG9mIHVuaWZpY2F0aW9uIGVy
cm9ycyBkdWUgdG8gcmVzaHVmZmxpbmcgdGhlIGJ1bmRsZXMuCisKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAqIFNvdXJjZXNDb2NvYS50
eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUVDRFNBLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUVDRFNBOjppbXBvcnRLZXkpOgorICAgICAgICAqIGRv
bS9Eb2N1bWVudC5oOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHA6
CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRl
ci5oOgorICAgICAgICAqIHBhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50Lmg6CisgICAgICAgICog
cGxhdGZvcm0vUGFzdGVib2FyZC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Rpc3Bs
YXlSZWZyZXNoTW9uaXRvci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZh
bWlseVNwZWNpZmljYXRpb25OdWxsLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJHTExheWVyLm1tOgorICAgICAgICAoLVtXZWJHTExheWVyIGluaXRXaXRoR3JhcGhp
Y3NDb250ZXh0M0Q6XSk6CisgICAgICAgICgtW1dlYkdMTGF5ZXIgY29weUltYWdlU25hcHNob3RX
aXRoQ29sb3JTcGFjZTpdKToKKyAgICAgICAgKC1bV2ViR0xMYXllciBkaXNwbGF5XSk6CisgICAg
ICAgICgtW1dlYkdMTGF5ZXIgYWxsb2NhdGVJT1N1cmZhY2VCYWNraW5nU3RvcmVXaXRoU2l6ZTp1
c2luZ0FscGhhOl0pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxh
eWVyLm1tOgorICAgICAgICAoLVtXZWJHUFVMYXllciBpbml0V2l0aEdQVURldmljZTpdKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHA6CisgICAgICAg
ICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwOgor
CiAyMDE4LTA4LTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtBdHRhY2htZW50IFN1cHBvcnRdIFJlbW92ZSBXZWJDb3JlOjpBdHRhY2htZW50RGlz
cGxheU9wdGlvbnMgYW5kIGZyaWVuZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYjczYzY3OTE3NzA1N2UxNDIxYWEy
YTNiMDU4NTIwYTc4ODYzMzhhMy4uNDZiMWEyZDYzY2U3ZmMyMzkyOTlmNmJjYjc3MGNjNGYxN2Zh
NGQ1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MiBAQAorMjAxOC0wOC0yNyAgVGltIEhvcnRvbiAg
PHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBCdW5kbGUgdW5pZmllZCBzb3Vy
Y2VzIG1vcmUgdGlnaHRseSBpbiBwcm9qZWN0cyB3aXRoIGRlZXAgZGlyZWN0b3J5IHN0cnVjdHVy
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTAw
OQorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBGaXggYSB2
YXJpZXR5IG9mIHVuaWZpY2F0aW9uIGVycm9ycyBkdWUgdG8gcmVzaHVmZmxpbmcgdGhlIGJ1bmRs
ZXMuCisKKyAgICAgICAgKiBTaGFyZWQvQVBJV2ViQXJjaGl2ZS5tbToKKyAgICAgICAgKiBTaGFy
ZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05l
dHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbToKKyAgICAgICAgKiBTaGFyZWQv
UGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW06CisgICAgICAgICog
U291cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25T
ZXNzaW9uQ2xpZW50Lmg6CisgICAgICAgIChBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Ojpz
ZXNzaW9uSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgIChBUEk6OkF1dG9tYXRpb25TZXNzaW9u
Q2xpZW50OjptZXNzYWdlT2ZDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZSk6CisgICAgICAg
IChBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50OjpzZXRVc2VySW5wdXRGb3JDdXJyZW50SmF2
YVNjcmlwdFByb21wdE9uUGFnZSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1
c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2Nv
bExvYWRlciBpbml0V2l0aExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OmN1c3RvbVBy
b3RvY29sSUQ6cmVxdWVzdDpdKToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBj
b25uZWN0aW9uOmRpZEZhaWxXaXRoRXJyb3I6XSk6CisgICAgICAgICgtW1dLQ3VzdG9tUHJvdG9j
b2xMb2FkZXIgY29ubmVjdGlvbjpkaWRSZWNlaXZlUmVzcG9uc2U6XSk6CisgICAgICAgICogVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
Z2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdp
blByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdp
blByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpQbHVn
aW5Qcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5hbWVzKToKKyAgICAgICAg
KFdlYktpdDo6Z2VuZXJhdGVDYWxsYmFja0lEKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nl
c3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRl
SU9TLm1tOgorICAgICAgICAoLVtXS1Njcm9sbGluZ05vZGVTY3JvbGxWaWV3RGVsZWdhdGUgc2Ny
b2xsVmlld1dpbGxFbmREcmFnZ2luZzp3aXRoVmVsb2NpdHk6dGFyZ2V0Q29udGVudE9mZnNldDpd
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1Byb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6Z2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQpOgorICAg
ICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKToKKyAg
ICAgICAgKFdlYktpdDo6U3RvcmFnZVByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEpOgor
ICAgICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZv
ck9yaWdpbnMpOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZUNhbGxiYWNrSUQpOiBEZWxldGVk
LgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IFdlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tOgorICAgICAgICAoLVtXS1BERlBs
dWdpbkFjY2Vzc2liaWxpdHlPYmplY3QgYWNjZXNzaWJpbGl0eVBlcmZvcm1BY3Rpb246XSk6Cisg
ICAgICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5Rm9j
dXNlZFVJRWxlbWVudF0pOgorICAgICAgICAoLVtXS1BERlBsdWdpbkFjY2Vzc2liaWxpdHlPYmpl
Y3QgYWNjZXNzaWJpbGl0eUFzc29jaWF0ZWRDb250cm9sRm9yQW5ub3RhdGlvbjpdKToKKyAgICAg
ICAgKC1bV0tQREZQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0IGFjY2Vzc2liaWxpdHlIaXRUZXN0
Ol0pOgorICAgICAgICAoLVtXS1BERkxheWVyQ29udHJvbGxlckRlbGVnYXRlIHVwZGF0ZVNjcm9s
bFBvc2l0aW9uOl0pOgorICAgICAgICAoV2ViS2l0OjpQREZQbHVnaW46OnVwZGF0ZUN1cnNvcik6
CisgICAgICAgIChXZWJLaXQ6OmNvcmVDdXJzb3IpOgorICAgICAgICAoYXBwZW5kVmFsdWVzSW5Q
REZOYW1lU3VidHJlZVRvVmVjdG9yKTogRGVsZXRlZC4KKyAgICAgICAgKGdldEFsbFZhbHVlc0lu
UERGTmFtZVRyZWUpOiBEZWxldGVkLgorICAgICAgICAoZ2V0QWxsU2NyaXB0c0luUERGRG9jdW1l
bnQpOiBEZWxldGVkLgorCiAyMDE4LTA4LTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhA
YXBwbGUuY29tPgogCiAgICAgICAgIFtBdHRhY2htZW50IFN1cHBvcnRdIFJlbW92ZSBXZWJDb3Jl
OjpBdHRhY2htZW50RGlzcGxheU9wdGlvbnMgYW5kIGZyaWVuZHMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvU2NyaXB0cy9nZW5lcmF0ZS11bmlmaWVkLXNvdXJjZS1idW5kbGVzLnJiIGIvU291cmNl
L1dURi9TY3JpcHRzL2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKaW5kZXggYzAx
OTY2ZWUxYjJjNjdkOTc2MGYwM2E1YmJjYWEzY2I1NzI2MTJiMy4uYWJkOTc2NzdhMjBhZGI0ZDQ2
MmViOThmNzc4ZDk4MDI5YmRkNDk5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL2dl
bmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKKysrIGIvU291cmNlL1dURi9TY3JpcHRz
L2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKQEAgLTIxMCwxMCArMjEwLDE3IEBA
IGNsYXNzIEJ1bmRsZU1hbmFnZXIKICAgICBlbmQKIGVuZAogCitkZWYgVG9wTGV2ZWxEaXJlY3Rv
cnlGb3JQYXRoKHBhdGgpCisgICAgaWYgIXBhdGgKKyAgICAgICAgcmV0dXJuIG5pbAorICAgIGVu
ZAorICAgIHJldHVybiBwYXRoLmVhY2hfZmlsZW5hbWUubmV4dAorZW5kCisKIGRlZiBQcm9jZXNz
RmlsZUZvclVuaWZpZWRTb3VyY2VHZW5lcmF0aW9uKHNvdXJjZUZpbGUpCiAgICAgcGF0aCA9IHNv
dXJjZUZpbGUucGF0aAotICAgIGlmICgkY3VycmVudERpcmVjdG9yeSAhPSBwYXRoLmRpcm5hbWUp
Ci0gICAgICAgIGxvZygiRmx1c2hpbmcgYmVjYXVzZSBuZXcgZGlybmFtZTsgb2xkOiAjeyRjdXJy
ZW50RGlyZWN0b3J5fSwgbmV3OiAje3BhdGguZGlybmFtZX0iKQorICAgIGlmIChUb3BMZXZlbERp
cmVjdG9yeUZvclBhdGgoJGN1cnJlbnREaXJlY3RvcnkpICE9IFRvcExldmVsRGlyZWN0b3J5Rm9y
UGF0aChwYXRoLmRpcm5hbWUpKQorICAgICAgICBsb2coIkZsdXNoaW5nIGJlY2F1c2UgbmV3IHRv
cCBsZXZlbCBkaXJlY3Rvcnk7IG9sZDogI3skY3VycmVudERpcmVjdG9yeX0sIG5ldzogI3twYXRo
LmRpcm5hbWV9IikKICAgICAgICAgJGJ1bmRsZU1hbmFnZXJzLmVhY2hfdmFsdWUgeyB8eHwgeC5m
bHVzaCB9CiAgICAgICAgICRjdXJyZW50RGlyZWN0b3J5ID0gcGF0aC5kaXJuYW1lCiAgICAgZW5k
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYv
UGxhdGZvcm0uaAppbmRleCAwYzZlZmI4NjI5ODI1MzlkMmI0YjJjYzRmOGY4YjVmY2I0ZWM4OGU4
Li42N2NmYTkzMzEzYzkwNDIxZWI2Y2YxNzlkOThlZjcwM2RhMGU0OWRiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgK
QEAgLTEzMTQsNiArMTMxNCw3IEBACiAjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX1RP
VUNIX0JBUiAxCiAjZGVmaW5lIEhBVkVfQURWQU5DRURfU1BFTExfQ0hFQ0tJTkcgMQorI2RlZmlu
ZSBVU0VfRElDVEFUSU9OX0FMVEVSTkFUSVZFUyAxCiAKICNpZiBkZWZpbmVkKF9fTFA2NF9fKQog
I2RlZmluZSBFTkFCTEVfV0VCX1BMQVlCQUNLX0NPTlRST0xTX01BTkFHRVIgMQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyQ2FjaGVTdG9yYWdl
Q29ubmVjdGlvbi5jcHAKaW5kZXggYWQyMDkzMjE5Zjg4ZTZkYTNlMWQ2MDYyNGU0MWFlOWE0MWRm
NDkyNy4uMWViZGQ1ZGU0OGE3ZTdlMWM5NmEwMWM3OGZlZDdkYTViYzRmYjg4OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckNhY2hlU3Rv
cmFnZUNvbm5lY3Rpb24uY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJDYWNoZVF1
ZXJ5T3B0aW9ucy5oIgogI2luY2x1ZGUgIkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgiCisjaW5jbHVk
ZSAiQ2xpZW50T3JpZ2luLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJQYWdl
LmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKQEAgLTM2LDcgKzM3LDYgQEAKICNp
bmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCiAjaW5jbHVkZSAiV29ya2VyVGhyZWFkLmgiCiAKLQog
bmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU6OkRPTUNhY2hlRW5n
aW5lOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVEND
b250cm9sbGVyLmNwcAppbmRleCA5NjEzMmU2OTczN2FlOThhNjBmOTU0ZjFmMzExODM4NDEwNzFl
MGE5Li5jZGI3NzdlOTk5MjkyMjFjZjBhOGYwMTE0MmIyZDA3ZWRlOWVmZWQ0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29udHJvbGxlci5jcHAK
QEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShXRUJfUlRDKQogCisjaW5jbHVkZSAiRG9j
dW1lbnQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENQcm92aWRlci5oIgogI2luY2x1ZGUgIlJUQ1Bl
ZXJDb25uZWN0aW9uLmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5
bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuY3BwCmlu
ZGV4IGMyMDUzMzVlYWE4ZTkxOGE2ZDM4YWU0ZjJmZmM4MWFlZDQ1YTlhMGYuLjk0YjcxYzQ2NjE5
MjQxMzVjMjFhZWE2OWQ0ODk5ZDdiMDc1YTYyYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdFVw
ZGF0ZUV2ZW50LmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKFBBWU1FTlRfUkVR
VUVTVCkKIAorI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJQYXltZW50UmVxdWVz
dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZy
L1ZSRGlzcGxheS5jcHAKaW5kZXggYWRiNzUxZDBjMzljMGE1NmI1ZTRkYzFmNTQyMTBiZGFhNGVk
ZmY3OC4uYTkzM2Q5ODBmY2Y1YTk5MTc0YWIwZTBjNDAwMjA5MTZjYmYxYjM2NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNwcApAQCAtMjksNiArMjksNyBAQAog
I2luY2x1ZGUgIkNhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCIKICNpbmNsdWRlICJDaHJvbWUuaCIK
ICNpbmNsdWRlICJET01FeGNlcHRpb24uaCIKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNs
dWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlNjcmlwdGVk
QW5pbWF0aW9uQ29udHJvbGxlci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNl
c0NvY29hLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKaW5kZXggNjZmN2Yx
NmJkNjRmODJjNDMyYmVhZWQ4ZTcwZDFiNWZmMDYzYTUxNy4uOTU3ZTRiNWI2NjFiNDAyMGYwYTIx
ZWUwMDk1YzAxNzY0NmU0OTNhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlc0Nv
Y29hLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CkBAIC0zODksNyAr
Mzg5LDcgQEAgcGxhdGZvcm0vaW9zL1BsYXRmb3JtU2NyZWVuSU9TLm1tCiBwbGF0Zm9ybS9pb3Mv
UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9Q
bGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9R
dWlja0xvb2subW0KLXBsYXRmb3JtL2lvcy9RdWlja0xvb2tTb2Z0TGluay5tbQorcGxhdGZvcm0v
aW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1JlbW90ZUNv
bW1hbmRMaXN0ZW5lcklPUy5tbQogcGxhdGZvcm0vaW9zL1Njcm9sbEFuaW1hdG9ySU9TLm1tCiBw
bGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MubW0KQEAgLTM5OSw3ICszOTksNyBAQCBwbGF0
Zm9ybS9pb3MvU1NMS2V5R2VuZXJhdG9ySU9TLmNwcAogcGxhdGZvcm0vaW9zL1N5c3RlbU1lbW9y
eUlPUy5jcHAKIHBsYXRmb3JtL2lvcy9UaGVtZUlPUy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lv
cy9UaWxlQ29udHJvbGxlck1lbW9yeUhhbmRsZXJJT1MuY3BwCi1wbGF0Zm9ybS9pb3MvVXNlckFn
ZW50SU9TLm1tCitwbGF0Zm9ybS9pb3MvVXNlckFnZW50SU9TLm1tIEBuby11bmlmeQogcGxhdGZv
cm0vaW9zL1ZhbGlkYXRpb25CdWJibGVJT1MubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvVmlk
ZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvV2Vi
QVZQbGF5ZXJDb250cm9sbGVyLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYjZkZjc0OGE2ZDE5MDQ4NWIxOGMzZDU4Y2I1MTgz
YmJhZGI4MmY4OS4uZDNiOWVhYWNmNDVjY2MxODMwOGE4Y2Q4ZGQ1OWJkYWFiM2I2NzRkMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtODA2LDYgKzgwNiw4IEBACiAJCTJEOEI5MkZGMjAzRDEzRTEwMDlDODY4RiAvKiBVbmlmaWVk
U291cmNlNTMwLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IERFNUY4NUQzMUZBMjM4NTkwMDZEQjYzQiAvKiBVbmlmaWVkU291cmNlNTMwLmNwcCAqLzsg
fTsKIAkJMkQ4RkVCREQxNDNFM0VGNzAwNzI1MDJCIC8qIENTU0Nyb3NzZmFkZVZhbHVlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDhGRUJEQjE0M0Uz
RUY3MDA3MjUwMkIgLyogQ1NTQ3Jvc3NmYWRlVmFsdWUuaCAqLzsgfTsKIAkJMkQ5MDY2MDcwQkUx
NDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyRDkwNjYwNTBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3Rh
dGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQky
RDkyQTc5QTIxMzRBRDc5MDBGNDkzRkQgLyogUXVpY2tMb29rU29mdExpbmsubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDM5MTdGRDFBOTFCMkY4MDA2
RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsubW0gKi87IH07CisJCTJEOTJBNzlEMjEzNEFGOTUw
MEY0OTNGRCAvKiBVc2VyQWdlbnRJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBM0FGOUQ4MzIwMzI1NjkxMDA2Q0FEMDYgLyogVXNlckFnZW50SU9T
Lm1tICovOyB9OwogCQkyRDkzQUVFMzE5REY1NjQxMDAyQTg2QzMgLyogU2VydmljZXNPdmVybGF5
Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMkQ5M0FFRTExOURGNTY0MTAwMkE4NkMzIC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIu
aCAqLzsgfTsKIAkJMkQ5N0YwNDcxOURENDEzQzAwMUVFOUMzIC8qIE1vY2tQYWdlT3ZlcmxheUNs
aWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
REFBRTMyQzE5RENBRjYwMDBFMDAyRDIgLyogTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmNwcCAqLzsg
fTsKIAkJMkQ5N0YwNDgxOURENDE0MDAwMUVFOUMzIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRBQUUzMkQx
OURDQUY2MDAwRTAwMkQyIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5oICovOyB9OwpAQCAtNzA3
Miw3ICs3MDc0LDcgQEAKIAkJMzM5QjVCNjIxMzFEQUEzMjAwRjQ4RDAyIC8qIENvb2tpZXNTdHJh
dGVneS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb29raWVzU3RyYXRlZ3ku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzY2MkY5ODQwNDdDRURCRTVERERBRkFB
IC8qIFJlbmRlck1hdGhNTE1lbmNsb3NlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFJlbmRlck1hdGhNTE1lbmNsb3NlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMzcxMTlBNzkyMENDQjYxMDAwMkM2REM5IC8qIFdlYktpdFRhcmdldENvbmRpdGlv
bmFscy54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBXZWJLaXRUYXJnZXRDb25kaXRpb25hbHMueGNj
b25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTM3MTdEN0U1MTdFQ0MzQTYwMDND
Mjc2RCAvKiBleHRyYWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5wZXJsOyBuYW1lID0g
ZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBsOyBwYXRoID0gIlNjcmlwdHMvZXh0cmFjdC1s
b2NhbGl6YWJsZS1zdHJpbmdzLnBsIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzcx
N0Q3RTUxN0VDQzNBNjAwM0MyNzZEIC8qIGV4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2Ny
aXB0LnBlcmw7IG5hbWUgPSAiZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBsIjsgcGF0aCA9
ICJTY3JpcHRzL2V4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCI7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTM3MUE2N0NBMTFDNkM3REIwMDA0N0I4QiAvKiBIeXBoZW5hdGlvbkNG
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEh5cGhlbmF0aW9uQ0Yu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzFFNjVDQjEzNjYxRURDMDBCRUVE
QjAgLyogUGFnZVNlcmlhbGl6ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UGFnZVNlcmlhbGl6ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzcxRTY1Q0Qx
MzY2MUVFRDAwQkVFREIwIC8qIFBhZ2VTZXJpYWxpemVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFBhZ2VTZXJpYWxpemVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTEzMzU3LDggKzEzMzU5LDggQEAKIAkJQ0RFNTk1OUMxQkYyNzU3MTAwQTFD
QkU4IC8qIENETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakMubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU2NTYwRTE3Q0E2RTc2MDA1MjZCQTcgLyog
bWVkaWFDb250cm9sc0FwcGxlLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gbWVkaWFDb250cm9s
c0FwcGxlLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU2NjdBMTFFNEJCQTRE
MDBFODE1NEEgLyogUGxhdGZvcm1BdWRpb0RhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUGxhdGZvcm1BdWRpb0RhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJQ0RFNjY3QTIxRTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBjb2NvYS9XZWJBdWRpb0J1ZmZlckxp
c3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlDREU2NjdBMzFFNEJCRjE1MDBF
ODE1NEEgLyogV2ViQXVkaW9CdWZmZXJMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IGNvY29hL1dlYkF1ZGlvQnVmZmVyTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlDREU2NjdBMjFFNEJCRjE1MDBFODE1NEEgLyogV2ViQXVkaW9CdWZmZXJMaXN0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYkF1ZGlvQnVmZmVyTGlz
dC5jcHA7IHBhdGggPSBjb2NvYS9XZWJBdWRpb0J1ZmZlckxpc3QuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDREU2NjdBMzFFNEJCRjE1MDBFODE1NEEgLyogV2ViQXVkaW9CdWZm
ZXJMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYkF1ZGlvQnVmZmVy
TGlzdC5oOyBwYXRoID0gY29jb2EvV2ViQXVkaW9CdWZmZXJMaXN0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUNERTdGQzQyMTgxOTA0QjEwMDJCQkI3NyAvKiBPcmRlckl0ZXJhdG9y
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE9yZGVySXRlcmF0b3Iu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU3RkM0MzE4MTkwNEIxMDAyQkJC
NzcgLyogT3JkZXJJdGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBP
cmRlckl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERTgzREFGMTgz
QzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zMTQ0Miw2ICszMTQ0NCw3IEBACiAJCQkJQUExMkRGNDkx
NzQzREY4MzAwNERBRkRGIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJJT1MubW0gaW4gU291
cmNlcyAqLywKIAkJCQlDREEyOUEzMDFDQkY3NEQ0MDA5MDFDQ0YgLyogUGxheWJhY2tTZXNzaW9u
SW50ZXJmYWNlQVZLaXQubW0gaW4gU291cmNlcyAqLywKIAkJCQlDREEyOUExNjFDQkRBNTZDMDA5
MDFDQ0YgLyogUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLm1tIGluIFNvdXJjZXMgKi8sCisJ
CQkJMkQ5MkE3OUEyMTM0QUQ3OTAwRjQ5M0ZEIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJNDE5MjQyNDkyMTI3QjkzRTAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29p
bmdWaWRlb1NvdXJjZUNvY29hLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMzE2RENCOEExRTdBNjk5
NjAwMUI1Rjg3IC8qIFJUQ0ljZVRyYW5zcG9ydC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzUx
MTU2RTEyQjE3NDlDMDBDOTY3NTQgLyogU2Nyb2xsQW5pbWF0b3JNYWMubW0gaW4gU291cmNlcyAq
LywKQEAgLTMyMDU2LDYgKzMyMDU5LDcgQEAKIAkJCQkyRDhCOTJGRDIwM0QxM0UxMDA5Qzg2OEYg
LyogVW5pZmllZFNvdXJjZTUyOC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDhCOTJGRTIwM0Qx
M0UxMDA5Qzg2OEYgLyogVW5pZmllZFNvdXJjZTUyOS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQky
RDhCOTJGRjIwM0QxM0UxMDA5Qzg2OEYgLyogVW5pZmllZFNvdXJjZTUzMC5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQkyRDkyQTc5RDIxMzRBRjk1MDBGNDkzRkQgLyogVXNlckFnZW50SU9TLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNTMyMDQyMDIxRjlBOUYxMDAwQjgxQjJBIC8qIFVzZXJBZ2VudFNj
cmlwdHNEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDM0I3OTcxMTkwODc1N0IwMEI0N0Ey
RCAvKiBVc2VyTWVzc2FnZUhhbmRsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NFNjgzNDQx
OTIxNDNBODAwRjREOTI4IC8qIFVzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3IuY3BwIGluIFNv
dXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9D
cnlwdG9BbGdvcml0aG1FQ0RTQS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGht
cy9DcnlwdG9BbGdvcml0aG1FQ0RTQS5jcHAKaW5kZXggOTczMTdlMDRhOTc5N2YxNTYxNmRlNGM3
NjA4Yjc0NWQ5ZmRlZGVmNy4uMWI1M2M0NTNiMzUyNTM2YjQ4MTJlZGQyYWE2NGQ5MWU5NWRmODU0
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxn
b3JpdGhtRUNEU0EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0Ny
eXB0b0FsZ29yaXRobUVDRFNBLmNwcApAQCAtMzYsMTIgKzM2LDE0IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAorbmFtZXNwYWNlIENyeXB0b0FsZ29yaXRobUVDRFNBSW50ZXJuYWwgewogc3Rh
dGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzI1NiA9ICJFUzI1NiI7CiBzdGF0aWMgY29uc3QgY2hh
ciogY29uc3QgQUxHMzg0ID0gIkVTMzg0IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBBTEc1
MTIgPSAiRVM1MTIiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IFAyNTYgPSAiUC0yNTYiOwog
c3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IFAzODQgPSAiUC0zODQiOwogc3RhdGljIGNvbnN0IGNo
YXIqIGNvbnN0IFA1MjEgPSAiUC01MjEiOworfQogCiBSZWY8Q3J5cHRvQWxnb3JpdGhtPiBDcnlw
dG9BbGdvcml0aG1FQ0RTQTo6Y3JlYXRlKCkKIHsKQEAgLTEwMiw2ICsxMDQsNyBAQCB2b2lkIENy
eXB0b0FsZ29yaXRobUVDRFNBOjpnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJh
bWV0ZXJzJiBwYXJhbWV0ZQogCiB2b2lkIENyeXB0b0FsZ29yaXRobUVDRFNBOjppbXBvcnRLZXko
Q3J5cHRvS2V5Rm9ybWF0IGZvcm1hdCwgS2V5RGF0YSYmIGRhdGEsIGNvbnN0IENyeXB0b0FsZ29y
aXRobVBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVz
YWdlQml0bWFwIHVzYWdlcywgS2V5Q2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJh
Y2smJiBleGNlcHRpb25DYWxsYmFjaykKIHsKKyAgICB1c2luZyBuYW1lc3BhY2UgQ3J5cHRvQWxn
b3JpdGhtRUNEU0FJbnRlcm5hbDsKICAgICBjb25zdCBhdXRvJiBlY1BhcmFtZXRlcnMgPSBkb3du
Y2FzdDxDcnlwdG9BbGdvcml0aG1FY0tleVBhcmFtcz4ocGFyYW1ldGVycyk7CiAKICAgICBSZWZQ
dHI8Q3J5cHRvS2V5RUM+IHJlc3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9nY3J5cHQvR0NyeXB0VXRpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ2NyeXB0
L0dDcnlwdFV0aWxpdGllcy5oCmluZGV4IGYwYTQxMzQ1NmE5NDQ1OTk1OGY5YTdmMDI1NDUzNDRi
NWZiNmMzZTUuLjM2ZjQ4ZDA0ZDc4MmQ1MjM5OWRkNzdjNGJjM2Q3ODI4ZDc5NWE5ZjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nY3J5cHQvR0NyeXB0VXRpbGl0aWVzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2djcnlwdC9HQ3J5cHRVdGlsaXRpZXMuaApAQCAtMzQs
NiArMzQsNyBAQAogI2luY2x1ZGUgPHBhbC9jcnlwdG8vQ3J5cHRvRGlnZXN0Lmg+CiAjaW5jbHVk
ZSA8cGFsL2NyeXB0by9nY3J5cHQvSGFuZGxlLmg+CiAjaW5jbHVkZSA8cGFsL2NyeXB0by9nY3J5
cHQvVXRpbGl0aWVzLmg+CisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBhNzFkYTNmMGVlMWE5N2ZiNjUwMDBm
YzFhNTU4NzkwNGY3OTJhNjhlLi4yMjc1Nzk4NDE4NWJmYzgyY2RmN2YzMDE3ODU1ODdiMmRlZjBh
OWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtNjQxLDcgKzY0MSw3IEBAIHB1YmxpYzoKICAg
ICAKICAgICBXRUJDT1JFX0VYUE9SVCBEb2N1bWVudExvYWRlciogbG9hZGVyKCkgY29uc3Q7CiAK
LSAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRpb25PcjxSZWZQdHI8V2luZG93UHJveHk+PiBvcGVu
Rm9yQmluZGluZ3MoRE9NV2luZG93JiBhY3RpdmVXaW5kb3csIERPTVdpbmRvdyYgZmlyc3RXaW5k
b3csIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIGNvbnN0IFN0
cmluZyYgZmVhdHVyZXMpOworICAgIFdFQkNPUkVfRVhQT1JUIEV4Y2VwdGlvbk9yPFJlZlB0cjxX
aW5kb3dQcm94eT4+IG9wZW5Gb3JCaW5kaW5ncyhET01XaW5kb3cmIGFjdGl2ZVdpbmRvdywgRE9N
V2luZG93JiBmaXJzdERPTVdpbmRvdywgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IEF0b21pY1N0
cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBmZWF0dXJlcyk7CiAgICAgV0VCQ09SRV9FWFBPUlQg
RXhjZXB0aW9uT3I8RG9jdW1lbnQmPiBvcGVuRm9yQmluZGluZ3MoRG9jdW1lbnQqIHJlc3BvbnNp
YmxlRG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgU3RyaW5nJiByZXBsYWNlKTsK
IAogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgcmVuYW1lIHRoaXMgYXQgc29tZSBwb2ludCBhbmQg
Z2l2ZSBiYWNrIHRoZSBuYW1lICdvcGVuJyB0byB0aGUgSFRNTCBzcGVjaWZpZWQgb25lcy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCmluZGV4IGU0
MGY5YTg4NmYxNTkwNGU2MmYwZjI2ODhhODY5YTY5ODg5YjRhODkuLmM3MzE5MjJhZjgyOTgzYjlk
YWE2YmM3ZmU1MjI3ODYzNzMxNjgzZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFRyZWVCdWlsZGVyLmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkhUTUxE
b2N1bWVudFBhcnNlci5oIgogI2luY2x1ZGUgIkhUTUxGb3JtQ29udHJvbEVsZW1lbnQuaCIKICNp
bmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiSFRNTE9wdEdyb3VwRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxPcHRpb25F
bGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRl
ci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNv
dXJjZUxvYWRlci5oCmluZGV4IDcyYjI5NzU1ZjExZDk0MDk1ZmE3ZWRkNTMwOTY4ZjdjNTdiNTdi
ZWIuLjZkOWEyZGE5YmUwMzIwMDdhODJlZGE2OGMxNmZkMmYyOGIxYzEyODMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VM
b2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZVJlc291cmNlTG9hZGVyLmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAK
KyNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2UuaCIKICNpbmNsdWRlICJDYWNoZWRS
YXdSZXNvdXJjZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJhd1Jlc291cmNlQ2xpZW50LmgiCiAjaW5j
bHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0FsdGVy
bmF0aXZlVGV4dENsaWVudC5oCmluZGV4IDkzNTU5Mzc4OGY5ODk5YzllMjI1MTA4OGI0ZTc2ZDAw
NWQzZDJmOTguLjE0M2RhNmM0N2Y0YmNlZmMwYTQxYWE4NzY0NjdkMDQ0NzE1YmE3MGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9BbHRlcm5hdGl2ZVRleHRDbGllbnQuaApAQCAtMjksMTEgKzI5
LDYgQEAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CiAKLSNpZiBQTEFURk9STShNQUMpCi0vLyBTb21lIHBsYXRmb3JtcyBwcm92aWRlIFVJ
IGZvciBzdWdnZXN0aW5nIGFsdGVybmF0aXZlIGRpY3RhdGlvbiB0ZXh0LgotI2RlZmluZSBVU0Vf
RElDVEFUSU9OX0FMVEVSTkFUSVZFUyAxCi0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBlbnVtIFJlYXNvbkZvckRpc21pc3NpbmdBbHRlcm5hdGl2ZVRleHQgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vUGFzdGVib2FyZC5oCmluZGV4IGQ1NDMzZGQ5MjBhZTBlZTU5MmJkNDVmZDU2MGNkZDNl
MzhhMzQ3MjEuLmUwOTgxNTY1MWJkMmQ2MDU3NGRhNDIzNmMzODBmYWQ0ZDYwMjE1YTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKQEAgLTMzOCw2ICszMzgsNyBAQCBleHRlcm4g
TlNTdHJpbmcgKlVJQ29sb3JQYm9hcmRUeXBlOwogI2lmIFBMQVRGT1JNKE1BQykKIGV4dGVybiBj
b25zdCBjaGFyKiBjb25zdCBXZWJBcmNoaXZlUGJvYXJkVHlwZTsKIGV4dGVybiBjb25zdCBjaGFy
KiBjb25zdCBXZWJVUkxOYW1lUGJvYXJkVHlwZTsKK2V4dGVybiBjb25zdCBjaGFyKiBjb25zdCBX
ZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGU7CiAjZW5kaWYKIAogI2lmICFQTEFURk9STShHVEsp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVm
cmVzaE1vbml0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxh
eVJlZnJlc2hNb25pdG9yLmNwcAppbmRleCA5NjhiYjIyODZhMWY3ZTU4NDY0ZWY4OGQ3OWU2MWVm
NDI0OTAxNTVmLi4zZTJjODJiOGIxMmVkYTA5ZGI0M2Y0YzEzMDE0YzViYmFjMGI3MDMwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1v
bml0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlS
ZWZyZXNoTW9uaXRvci5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkRpc3BsYXlS
ZWZyZXNoTW9uaXRvckNsaWVudC5oIgogI2luY2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvck1h
bmFnZXIuaCIKKyNpbmNsdWRlICJMb2dnaW5nLmgiCiAKICNpZiBQTEFURk9STShJT1MpCiAjaW5j
bHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9ySU9TLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseVNwZWNpZmljYXRpb25O
dWxsLmNwcAppbmRleCAyMTc2OTFmNzIzOTc0ZTgwMDU3OWIyOGNjMDU2YTdiOWMwODVjNjRkLi4x
NWMwMzg3Njk4MjYwZjQwNWUyMmU1YmY1Mjc4MDAzMDhjN2ZlM2JmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlTcGVj
aWZpY2F0aW9uTnVsbC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJGb250RmFtaWx5
U3BlY2lmaWNhdGlvbk51bGwuaCIKIAogI2luY2x1ZGUgIkZvbnRTZWxlY3Rvci5oIgorI2luY2x1
ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJH
TExheWVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xM
YXllci5tbQppbmRleCAzZWQ3ZTQxZTdjNjg4NDZmM2ZiYzE3MmNlNmJhOTg5ZmY4N2Y1N2ViLi44
ZWUzNDhkODk5ODYzNDEzZDZiNjcxMzc2ZTViMWRhNTRjYjEzNzYzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHTExheWVyLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdMTGF5ZXIubW0KQEAgLTQy
LDEzICs0MiwxMSBAQAogI2ltcG9ydCA8T3BlbkdML2dsLmg+CiAjZW5kaWYKIAotdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7Ci0KIEBpbXBsZW1lbnRhdGlvbiBXZWJHTExheWVyCiAKIEBzeW50aGVz
aXplIGNvbnRleHQ9X2NvbnRleHQ7CiAKLS0oaWQpaW5pdFdpdGhHcmFwaGljc0NvbnRleHQzRDoo
R3JhcGhpY3NDb250ZXh0M0QqKWNvbnRleHQKKy0oaWQpaW5pdFdpdGhHcmFwaGljc0NvbnRleHQz
RDooV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0QqKWNvbnRleHQKIHsKICAgICBfY29udGV4dCA9
IGNvbnRleHQ7CiAgICAgc2VsZiA9IFtzdXBlciBpbml0XTsKQEAgLTg2LDcgKzg0LDcgQEAgc3Rh
dGljIHZvaWQgZnJlZURhdGEodm9pZCAqLCBjb25zdCB2b2lkICpkYXRhLCBzaXplX3QgLyogc2l6
ZSAqLykKIH0KICNlbmRpZgogCi0tKENHSW1hZ2VSZWYpY29weUltYWdlU25hcHNob3RXaXRoQ29s
b3JTcGFjZTooQ0dDb2xvclNwYWNlUmVmKWNvbG9yU3BhY2UKKy0gKENHSW1hZ2VSZWYpY29weUlt
YWdlU25hcHNob3RXaXRoQ29sb3JTcGFjZTooQ0dDb2xvclNwYWNlUmVmKWNvbG9yU3BhY2UKIHsK
ICAgICBpZiAoIV9jb250ZXh0KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTk2LDcgKzk0
LDcgQEAgLShDR0ltYWdlUmVmKWNvcHlJbWFnZVNuYXBzaG90V2l0aENvbG9yU3BhY2U6KENHQ29s
b3JTcGFjZVJlZiljb2xvclNwYWNlCiAKICAgICBSZXRhaW5QdHI8Q0dDb2xvclNwYWNlUmVmPiBp
bWFnZUNvbG9yU3BhY2UgPSBjb2xvclNwYWNlOwogICAgIGlmICghaW1hZ2VDb2xvclNwYWNlKQot
ICAgICAgICBpbWFnZUNvbG9yU3BhY2UgPSBzUkdCQ29sb3JTcGFjZVJlZigpOworICAgICAgICBp
bWFnZUNvbG9yU3BhY2UgPSBXZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigpOwogCiAgICAgQ0dS
ZWN0IGxheWVyQm91bmRzID0gQ0dSZWN0SW50ZWdyYWwoW3NlbGYgYm91bmRzXSk7CiAKQEAgLTE0
MSwxOSArMTM5LDE5IEBAIC0gKHZvaWQpZGlzcGxheQogI2VuZGlmCiAKICAgICBfY29udGV4dC0+
bWFya0xheWVyQ29tcG9zaXRlZCgpOwotICAgIFBsYXRmb3JtQ0FMYXllciogbGF5ZXIgPSBQbGF0
Zm9ybUNBTGF5ZXI6OnBsYXRmb3JtQ0FMYXllcigoX19icmlkZ2Ugdm9pZCopc2VsZik7CisgICAg
V2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyKiBsYXllciA9IFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXll
cjo6cGxhdGZvcm1DQUxheWVyKChfX2JyaWRnZSB2b2lkKilzZWxmKTsKICAgICBpZiAobGF5ZXIg
JiYgbGF5ZXItPm93bmVyKCkpCiAgICAgICAgIGxheWVyLT5vd25lcigpLT5wbGF0Zm9ybUNBTGF5
ZXJMYXllckRpZERpc3BsYXkobGF5ZXIpOwogfQogCiAjaWYgVVNFKE9QRU5HTCkKLS0gKHZvaWQp
YWxsb2NhdGVJT1N1cmZhY2VCYWNraW5nU3RvcmVXaXRoU2l6ZTooSW50U2l6ZSlzaXplIHVzaW5n
QWxwaGE6KEJPT0wpdXNpbmdBbHBoYQorLSAodm9pZClhbGxvY2F0ZUlPU3VyZmFjZUJhY2tpbmdT
dG9yZVdpdGhTaXplOihXZWJDb3JlOjpJbnRTaXplKXNpemUgdXNpbmdBbHBoYTooQk9PTCl1c2lu
Z0FscGhhCiB7CiAgICAgX2J1ZmZlclNpemUgPSBzaXplOwogICAgIF91c2luZ0FscGhhID0gdXNp
bmdBbHBoYTsKLSAgICBfY29udGVudHNCdWZmZXIgPSBXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0
ZShzaXplLCBzUkdCQ29sb3JTcGFjZVJlZigpKTsKLSAgICBfZHJhd2luZ0J1ZmZlciA9IFdlYkNv
cmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUsIHNSR0JDb2xvclNwYWNlUmVmKCkpOwotICAgIF9z
cGFyZUJ1ZmZlciA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUsIHNSR0JDb2xvclNw
YWNlUmVmKCkpOworICAgIF9jb250ZW50c0J1ZmZlciA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3Jl
YXRlKHNpemUsIFdlYkNvcmU6OnNSR0JDb2xvclNwYWNlUmVmKCkpOworICAgIF9kcmF3aW5nQnVm
ZmVyID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVhdGUoc2l6ZSwgV2ViQ29yZTo6c1JHQkNvbG9y
U3BhY2VSZWYoKSk7CisgICAgX3NwYXJlQnVmZmVyID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVh
dGUoc2l6ZSwgV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYoKSk7CiAKICAgICBBU1NFUlQoX2Nv
bnRlbnRzQnVmZmVyKTsKICAgICBBU1NFUlQoX2RyYXdpbmdCdWZmZXIpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR1BVTGF5ZXIubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbQppbmRl
eCA1YzM1NTdmOGJkNjZhNjhjOTIzYjIzYWE2NDdiYjcxNDg0MDllOWExLi4yNWVmYjhiNzQ3Njgw
MjQ1NThkYmNkZjMwZjc0MzE4NzE0Njk1NWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbQpAQCAtMzQsMTMgKzM0LDEx
IEBACiAjaW1wb3J0IDx3dGYvRmFzdE1hbGxvYy5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5o
PgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogQGltcGxlbWVudGF0aW9uIFdlYkdQVUxh
eWVyCiAKIEBzeW50aGVzaXplIGNvbnRleHQ9X2NvbnRleHQ7CiAKLS0gKGlkKWluaXRXaXRoR1BV
RGV2aWNlOihHUFVEZXZpY2UqKWNvbnRleHQKKy0gKGlkKWluaXRXaXRoR1BVRGV2aWNlOihXZWJD
b3JlOjpHUFVEZXZpY2UqKWNvbnRleHQKIHsKICAgICBzZWxmID0gW3N1cGVyIGluaXRdOwogICAg
IF9jb250ZXh0ID0gY29udGV4dDsKQEAgLTUwLDcgKzQ4LDcgQEAgLSAoaWQpaW5pdFdpdGhHUFVE
ZXZpY2U6KEdQVURldmljZSopY29udGV4dAogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHNlbGYu
Y29udGVudHNTY2FsZSA9IF9kZXZpY2VQaXhlbFJhdGlvOwotICAgIHNlbGYuY29sb3JzcGFjZSA9
IHNSR0JDb2xvclNwYWNlUmVmKCk7CisgICAgc2VsZi5jb2xvcnNwYWNlID0gV2ViQ29yZTo6c1JH
QkNvbG9yU3BhY2VSZWYoKTsKICNlbmRpZgogICAgIHJldHVybiBzZWxmOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29tbWFuZFF1ZXVl
TWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21t
YW5kUXVldWVNZXRhbC5tbQppbmRleCA4MjBhZjhiYzE2ZGIzYjQ4NjVlNzliN2I4MjRkYjJjN2I0
ZGYzZWNjLi4zMDNiMjVkYTNkNGE2NGVkMWIwMDMwYjcyYjlmZGJjNmY5NjVjMzNkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVl
dWVNZXRhbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9H
UFVDb21tYW5kUXVldWVNZXRhbC5tbQpAQCAtMzEsNiArMzEsNyBAQAogI2ltcG9ydCAiR1BVRGV2
aWNlLmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0IDxNZXRhbC9NZXRhbC5oPgorI2lt
cG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRNYWMubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQppbmRleCBjYjUwNGNm
NTQzZWI3ZTgwZDc2NjVjZDFlNTdlMzA4OWFmZmIxYTcwLi5mZDZlOTI5ODc3NGZhZjRmZTg3MzVi
ZjI3NTY1YWRjOTUzMmJmNjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvUGFzdGVib2FyZE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFz
dGVib2FyZE1hYy5tbQpAQCAtNTIsMTAgKzUyLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y29uc3QgY2hhciogY29uc3QgV2ViQXJjaGl2ZVBib2FyZFR5cGUgPSAiQXBwbGUgV2ViIEFyY2hp
dmUgcGFzdGVib2FyZCB0eXBlIjsKIGNvbnN0IGNoYXIqIGNvbnN0IFdlYlVSTE5hbWVQYm9hcmRU
eXBlID0gInB1YmxpYy51cmwtbmFtZSI7Citjb25zdCBjaGFyKiBjb25zdCBXZWJVUkxzV2l0aFRp
dGxlc1Bib2FyZFR5cGUgPSAiV2ViVVJMc1dpdGhUaXRsZXNQYm9hcmRUeXBlIjsKIAogY29uc3Qg
Y2hhciBXZWJTbWFydFBhc3RlUGJvYXJkVHlwZVtdID0gIk5lWFQgc21hcnQgcGFzdGUgcGFzdGVi
b2FyZCB0eXBlIjsKIGNvbnN0IGNoYXIgV2ViVVJMUGJvYXJkVHlwZVtdID0gInB1YmxpYy51cmwi
OwotY29uc3QgY2hhciBXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGVbXSA9ICJXZWJVUkxzV2l0
aFRpdGxlc1Bib2FyZFR5cGUiOwogCiBzdGF0aWMgY29uc3QgVmVjdG9yPFN0cmluZz4gd3JpdGFi
bGVUeXBlc0ZvclVSTCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29h
LmNwcAppbmRleCA1YzJhOWQyNDE5OGExM2U0OGM0ZjczZTlkZTYxZGQzN2FkZTkyNTUxLi5mNDky
ZTYxNDJmMDIzMWI5OTdlOTZiYTU5Mjc5NTg4NTY4MDkzM2FjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29j
b2EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNw
bGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pCiAKKyNpbmNsdWRlICJDb3JlVmlkZW9Tb2Z0TGluay5oIgogI2luY2x1
ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlIDx3dGYvQWxnb3JpdGhtcy5oPgogI2luY2x1ZGUgPHd0
Zi9OZXZlckRlc3Ryb3llZC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKaW5kZXggMjU0MDk2NTZjM2Q2MzIwMzYx
NjVmYWIxZGQ3NDllODhmY2E2ODQ4Mi4uZmY1ODM2MTc0ZWFiOTU5NTI4YTIwN2JmYmFhYjYwMDM5
ZDliNTAzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZVJlcXVlc3RCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiSFRU
UEhlYWRlck5hbWVzLmgiCiAjaW5jbHVkZSAiUHVibGljU3VmZml4LmgiCiAjaW5jbHVkZSAiUmVz
b3VyY2VSZXF1ZXN0LmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUg
IlNlY3VyaXR5UG9saWN5LmgiCiAjaW5jbHVkZSA8d3RmL1BvaW50ZXJDb21wYXJpc29uLmg+CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvRm9ybURhdGFT
dHJlYW1DRk5ldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0Zvcm1E
YXRhU3RyZWFtQ0ZOZXQuY3BwCmluZGV4IDI5MDI1ZDM4YTdmZDM2ZmY5Yjk5NjIzOTFmMDgwODcw
MjFmZjEzMGUuLmU1MzIxYzI3ZDRkOTY4YzY2ZTRjZDRjNjc3OTYzZjVhN2Q2Y2FkZmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1D
Rk5ldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Gb3JtRGF0
YVN0cmVhbUNGTmV0LmNwcApAQCAtNDIsMTEgKzQyLDcgQEAKICNpbmNsdWRlIDx3dGYvU3RkTGli
RXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCi0jaWYgUExBVEZPUk0oSU9T
KSAmJiAhUExBVEZPUk0oSU9TTUFDKQotc3RhdGljIGNvbnN0IFNJbnQzMiBmbmZFcnIgPSAtNDM7
Ci0jZWxpZiBQTEFURk9STShNQUMpCi0jaW5jbHVkZSA8Q29yZVNlcnZpY2VzL0NvcmVTZXJ2aWNl
cy5oPgotI2VuZGlmCitzdGF0aWMgY29uc3QgU0ludDMyIGZpbGVOb3RGb3VuZEVycm9yID0gLTQz
OwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiBleHRlcm4gIkMiIHZvaWQgQ0ZVUkxSZXF1ZXN0U2V0
SFRUUFJlcXVlc3RCb2R5KENGTXV0YWJsZVVSTFJlcXVlc3RSZWYgbXV0YWJsZUhUVFBSZXF1ZXN0
LCBDRkRhdGFSZWYgaHR0cEJvZHkpOwpAQCAtMjQxLDcgKzIzNyw3IEBAIHN0YXRpYyBCb29sZWFu
IGZvcm1PcGVuKENGUmVhZFN0cmVhbVJlZiwgQ0ZTdHJlYW1FcnJvciogZXJyb3IsIEJvb2xlYW4q
IG9wZW5Db21wCiAjaWYgUExBVEZPUk0oV0lOKQogICAgICAgICBFTk9FTlQ7CiAjZWxzZQotICAg
ICAgICBmbmZFcnI7CisgICAgICAgIGZpbGVOb3RGb3VuZEVycm9yOwogI2VuZGlmCiAgICAgcmV0
dXJuIG9wZW5lZDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRh
dGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cuY3BwCmluZGV4IDNiYzgy
YzZlMWFiZDJmYWM0M2IwOTljOGU2ZTNjY2YzNjZkZDg1M2IuLjJjMmI1MDhmYWM1YzZmYzg0NjI4
NWM5ZmZhODk1YTdiNDAyMmI4ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcApA
QCAtMjcsNiArMjcsOCBAQAogI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93Lmgi
CiAKICNpbmNsdWRlICJSZW5kZXJNdWx0aUNvbHVtbkZsb3cuaCIKKyNpbmNsdWRlICJSZW5kZXJU
cmVlQnVpbGRlckJsb2NrLmgiCisjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJNdWx0aUNvbHVt
bi5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwCmlu
ZGV4IDdjZDA3MTVkZjUyNGE3NmZkMjA2YTIzNDI4ZDlkYWM3ZDdkODUzZjguLmRjOTUzY2NkY2Vl
ODMwMWRmZDA1OTdhNjFkMDUyZTNjNTBiOWY2MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5saW5lLmNw
cApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIlJlbmRlckZ1bGxTY3JlZW4uaCIKICNpbmNs
dWRlICJSZW5kZXJJbmxpbmUuaCIKICNpbmNsdWRlICJSZW5kZXJUYWJsZS5oIgorI2luY2x1ZGUg
IlJlbmRlclRyZWVCdWlsZGVyVGFibGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlLm1tIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZS5tbQppbmRleCBiMTc0MmZkZmRkMzg2OWVhZGQzZDdj
NWFlZTcwNWU2NjFmOTdlZWRjLi5iOGM5NzJmN2VjMThlYjdkNGM5YTcxZGUyYjRlMWUyYzY1ZGU4
NzY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmUubW0KQEAgLTM0LDkgKzM0LDgg
QEAKICNpbmNsdWRlIDxXZWJDb3JlL0xlZ2FjeVdlYkFyY2hpdmUuaD4KICNpbmNsdWRlIDx3dGYv
UmV0YWluUHRyLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBuYW1lc3BhY2UgQVBJ
IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBSZWY8V2ViQXJjaGl2ZT4gV2ViQXJjaGl2
ZTo6Y3JlYXRlKFdlYkFyY2hpdmVSZXNvdXJjZSogbWFpblJlc291cmNlLCBSZWZQdHI8QVBJOjpB
cnJheT4mJiBzdWJyZXNvdXJjZXMsIFJlZlB0cjxBUEk6OkFycmF5PiYmIHN1YmZyYW1lQXJjaGl2
ZXMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlUmVz
b3VyY2UubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW0K
aW5kZXggY2FlNWI4NWRmMTc3ZGRkZTY4ZDg1MmU1ZTUwNmQ4ZDkyYmUyZWE5NC4uZGMwZjkwZjBm
Mzg1MWFiZjEwMDQ4NGJhNTczYWU0YWY4ZTgwYjIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0FQSVdlYkFyY2hpdmVSZXNvdXJjZS5tbQpAQCAtMzMsOSArMzMsOCBAQAogI2luY2x1ZGUg
PFdlYkNvcmUvVVJMLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCi11c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKLQogbmFtZXNwYWNlIEFQSSB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKIAogUmVmPFdlYkFyY2hpdmVSZXNvdXJjZT4gV2ViQXJjaGl2ZVJlc291cmNlOjpjcmVhdGUo
QVBJOjpEYXRhKiBkYXRhLCBjb25zdCBTdHJpbmcmIFVSTCwgY29uc3QgU3RyaW5nJiBNSU1FVHlw
ZSwgY29uc3QgU3RyaW5nJiB0ZXh0RW5jb2RpbmcpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5t
bSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1
Z2luTW9kdWxlTWFjLm1tCmluZGV4IDY4ZDdjNmFkZjM2Mjc1MTMxMjk2MzU2Mjg2ZjExZTg0OWMx
NGMyYzAuLmMwY2NhYzU5ODUzY2ZhZmZkOWZmMWQxZTNkNjhiNjdkNjQ1N2Y3YzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1
Z2luTW9kdWxlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2Nh
cGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tCkBAIC0zNCw5ICszNCw4IEBACiAjaW1w
b3J0IDx3dGYvTWFpblRocmVhZC5oPgogI2ltcG9ydCA8d3RmL3NwaS9jZi9DRkJ1bmRsZVNQSS5o
PgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogbmFtZXNwYWNlIFdlYktpdCB7Cit1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogc3RhdGljIGJvb2wgZ2V0UGx1Z2luQXJjaGl0ZWN0dXJl
KENGQnVuZGxlUmVmIGJ1bmRsZSwgUGx1Z2luTW9kdWxlSW5mbyYgcGx1Z2luKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5m
b3JtYXRpb25NYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21h
Yy9QbHVnaW5JbmZvcm1hdGlvbk1hYy5tbQppbmRleCA1ZWM4NDI0OTU5Y2JjMTkyODg2ZmE3NWFi
ZjAzZjNkODg1YmNiMWQ5Li4zMjU4NGQ0MTZiZTBmZjI1ZTllOTFkZGY0Mjg3MGUzMzk0ZjQ5MzY2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9Q
bHVnaW5JbmZvcm1hdGlvbk1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5z
L05ldHNjYXBlL21hYy9QbHVnaW5JbmZvcm1hdGlvbk1hYy5tbQpAQCAtMzQsOSArMzQsOCBAQAog
I2ltcG9ydCAiU3RyaW5nVXRpbGl0aWVzLmgiCiAjaW1wb3J0IDxXZWJDb3JlL1BsdWdpbkJsYWNr
bGlzdC5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogbmFtZXNwYWNlIFdlYktpdCB7
Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogdm9pZCBnZXRQbGF0Zm9ybVBsdWdpbk1vZHVs
ZUluZm9ybWF0aW9uKGNvbnN0IFBsdWdpbk1vZHVsZUluZm8mIHBsdWdpbiwgQVBJOjpEaWN0aW9u
YXJ5OjpNYXBUeXBlJiBtYXApCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXND
b2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggZDhhM2M5MGRm
ZmUzMjIzMjJkNzYzZWUyMWU3Y2JhNDUwZmU4NWZjZi4uNGI4ZDQ4MDZiNDRmMjIwNDY1ODU3N2Vi
N2E5Njc4Y2I4ZTM0NzliZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2Eu
dHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dApAQCAtMjk4LDkgKzI5OCw5
IEBAIFVJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbSBAbm8tdW5pZnkKIAogVUlQcm9jZXNzL0Fw
cGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0KIAotVUlQcm9j
ZXNzL0FwcGxlUGF5L2lvcy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbQorVUlQcm9j
ZXNzL0FwcGxlUGF5L2lvcy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbSBAbm8tdW5p
ZnkKIAotVUlQcm9jZXNzL0FwcGxlUGF5L21hYy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1h
Yy5tbQorVUlQcm9jZXNzL0FwcGxlUGF5L21hYy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1h
Yy5tbSBAbm8tdW5pZnkKIAogVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL2NvY29hL0F1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlUHJveHlDb2NvYS5tbQogVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL2Nv
Y29hL1NlY0tleVByb3h5U3RvcmUubW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9BUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmgKaW5kZXggYmZjNWVlMzM4MjIw
ZDkxNTZmY2NmMDBjMWU3NmQwYmJlZTkwNDE5MC4uMzc5Yzg4NTdiZTk0YjYxOTU1NWVkZmZlYzRj
M2E5YTZlMTc3OTQ4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQ
SUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmgKQEAgLTUxLDcgKzUxLDcgQEAgcHVibGlj
OgogCiAgICAgdmlydHVhbCB+QXV0b21hdGlvblNlc3Npb25DbGllbnQoKSB7IH0KIAotICAgIHZp
cnR1YWwgU3RyaW5nIHNlc3Npb25JZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gU3RyaW5nKCk7
IH0KKyAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIHNlc3Npb25JZGVudGlmaWVyKCkgY29uc3QgeyBy
ZXR1cm4gV1RGOjpTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWREaXNjb25uZWN0RnJv
bVJlbW90ZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJikgeyB9CiAgICAgdmlydHVhbCB2
b2lkIHJlcXVlc3ROZXdQYWdlV2l0aE9wdGlvbnMoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lv
biYsIEF1dG9tYXRpb25TZXNzaW9uQnJvd3NpbmdDb250ZXh0T3B0aW9ucywgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChXZWJLaXQ6OldlYlBhZ2VQcm94eSopPiYmIGNvbXBsZXRpb25IYW5kbGVyKSB7
IGNvbXBsZXRpb25IYW5kbGVyKG51bGxwdHIpOyB9CiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RN
YXhpbWl6ZVdpbmRvd09mUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0
OjpXZWJQYWdlUHJveHkmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhh
bmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIoKTsgfQpAQCAtNjEsOCArNjEsOCBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBib29sIGlzU2hvd2luZ0phdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0
OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyByZXR1cm4g
ZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlzbWlzc0N1cnJlbnRKYXZhU2NyaXB0RGlhbG9n
T25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94
eSYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBhY2NlcHRDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09u
UGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkm
KSB7IH0KLSAgICB2aXJ0dWFsIFN0cmluZyBtZXNzYWdlT2ZDdXJyZW50SmF2YVNjcmlwdERpYWxv
Z09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJv
eHkmKSB7IHJldHVybiBTdHJpbmcoKTsgfQotICAgIHZpcnR1YWwgdm9pZCBzZXRVc2VySW5wdXRG
b3JDdXJyZW50SmF2YVNjcmlwdFByb21wdE9uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNz
aW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBjb25zdCBTdHJpbmcmKSB7IH0KKyAgICB2aXJ0
dWFsIFdURjo6U3RyaW5nIG1lc3NhZ2VPZkN1cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdl
YktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgcmV0
dXJuIFdURjo6U3RyaW5nKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgc2V0VXNlcklucHV0Rm9yQ3Vy
cmVudEphdmFTY3JpcHRQcm9tcHRPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYs
IFdlYktpdDo6V2ViUGFnZVByb3h5JiwgY29uc3QgV1RGOjpTdHJpbmcmKSB7IH0KICAgICB2aXJ0
dWFsIHN0ZDo6b3B0aW9uYWw8SmF2YVNjcmlwdERpYWxvZ1R5cGU+IHR5cGVPZkN1cnJlbnRKYXZh
U2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6
OldlYlBhZ2VQcm94eSYpIHsgcmV0dXJuIHN0ZDo6bnVsbG9wdDsgfQogfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5h
Z2VyQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3VzdG9t
UHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tCmluZGV4IDExYmEzNzI2NTQ4M2ZmZTdmZjI0NjUwOTQw
ZDhmMzNhNTJjMGMwNGEuLjE5YTU5YjQyY2FiN2I1NDdlZDk0NDYwZTcyZmMwMzk2Y2ZlNzkyODcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1c3RvbVBy
b3RvY29sTWFuYWdlckNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW0KQEAgLTMyLDIzICszMiwyMCBA
QAogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbXBvcnQgPFdlYkNvcmUv
UmVzb3VyY2VSZXNwb25zZS5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLXVzaW5nIG5h
bWVzcGFjZSBXZWJLaXQ7Ci0KIEBpbnRlcmZhY2UgV0tDdXN0b21Qcm90b2NvbExvYWRlciA6IE5T
T2JqZWN0IDxOU1VSTENvbm5lY3Rpb25EZWxlZ2F0ZT4gewogQHByaXZhdGUKLSAgICBMZWdhY3lD
dXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSogX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5Owor
ICAgIFdlYktpdDo6TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqIF9jdXN0b21Qcm90
b2NvbE1hbmFnZXJQcm94eTsKICAgICB1aW50NjRfdCBfY3VzdG9tUHJvdG9jb2xJRDsKICAgICBO
U1VSTENhY2hlU3RvcmFnZVBvbGljeSBfc3RvcmFnZVBvbGljeTsKICAgICBOU1VSTENvbm5lY3Rp
b24gKl91cmxDb25uZWN0aW9uOwogfQotLSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2Nv
bE1hbmFnZXJQcm94eTooTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqKWN1c3RvbVBy
b3RvY29sTWFuYWdlclByb3h5IGN1c3RvbVByb3RvY29sSUQ6KHVpbnQ2NF90KWN1c3RvbVByb3Rv
Y29sSUQgcmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdDsKKy0gKGlkKWluaXRXaXRoTGVn
YWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6KFdlYktpdDo6TGVnYWN5Q3VzdG9tUHJvdG9j
b2xNYW5hZ2VyUHJveHkqKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5IGN1c3RvbVByb3RvY29s
SUQ6KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVx
dWVzdDsKIC0gKHZvaWQpY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHlEZXN0cm95ZWQ7CiBAZW5k
CiAKIEBpbXBsZW1lbnRhdGlvbiBXS0N1c3RvbVByb3RvY29sTG9hZGVyCiAKLS0gKGlkKWluaXRX
aXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6KExlZ2FjeUN1c3RvbVByb3RvY29s
TWFuYWdlclByb3h5KiljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSBjdXN0b21Qcm90b2NvbElE
Oih1aW50NjRfdCljdXN0b21Qcm90b2NvbElEIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVl
c3QKKy0gKGlkKWluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6KFdlYktp
dDo6TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqKWN1c3RvbVByb3RvY29sTWFuYWdl
clByb3h5IGN1c3RvbVByb3RvY29sSUQ6KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVz
dDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdAogewogICAgIHNlbGYgPSBbc3VwZXIgaW5pdF07CiAg
ICAgaWYgKCFzZWxmKQpAQCAtODUsNyArODIsNyBAQCAtICh2b2lkKWN1c3RvbVByb3RvY29sTWFu
YWdlclByb3h5RGVzdHJveWVkCiAKIC0gKHZvaWQpY29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9u
ICopY29ubmVjdGlvbiBkaWRGYWlsV2l0aEVycm9yOihOU0Vycm9yICopZXJyb3IKIHsKLSAgICBS
ZXNvdXJjZUVycm9yIGNvcmVFcnJvcihlcnJvcik7CisgICAgV2ViQ29yZTo6UmVzb3VyY2VFcnJv
ciBjb3JlRXJyb3IoZXJyb3IpOwogICAgIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS0+ZGlk
RmFpbFdpdGhFcnJvcihfY3VzdG9tUHJvdG9jb2xJRCwgY29yZUVycm9yKTsKICAgICBfY3VzdG9t
UHJvdG9jb2xNYW5hZ2VyUHJveHktPnN0b3BMb2FkaW5nKF9jdXN0b21Qcm90b2NvbElEKTsKIH0K
QEAgLTk5LDcgKzk2LDcgQEAgLSAoTlNDYWNoZWRVUkxSZXNwb25zZSAqKWNvbm5lY3Rpb246KE5T
VVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gd2lsbENhY2hlUmVzcG8KIAogLSAodm9pZCljb25u
ZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIGRpZFJlY2VpdmVSZXNwb25zZToo
TlNVUkxSZXNwb25zZSAqKXJlc3BvbnNlCiB7Ci0gICAgUmVzb3VyY2VSZXNwb25zZSBjb3JlUmVz
cG9uc2UocmVzcG9uc2UpOworICAgIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgY29yZVJlc3Bv
bnNlKHJlc3BvbnNlKTsKICAgICBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHktPmRpZFJlY2Vp
dmVSZXNwb25zZShfY3VzdG9tUHJvdG9jb2xJRCwgY29yZVJlc3BvbnNlLCBfc3RvcmFnZVBvbGlj
eSk7CiB9CiAKQEAgLTEyNyw2ICsxMjQsNyBAQCAtICh2b2lkKWNvbm5lY3Rpb25EaWRGaW5pc2hM
b2FkaW5nOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uCiBAZW5kCiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIHZvaWQgTGVnYWN5Q3VzdG9tUHJv
dG9jb2xNYW5hZ2VyQ2xpZW50OjpzdGFydExvYWRpbmcoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5h
Z2VyUHJveHkmIG1hbmFnZXIsIHVpbnQ2NF90IGN1c3RvbVByb3RvY29sSUQsIGNvbnN0IFJlc291
cmNlUmVxdWVzdCYgY29yZVJlcXVlc3QpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKaW5kZXggYzJiOTFhNjM5NzNl
NjMxMjBhYWU1MjhmODk3NTM4NWY3YjZkYmY2Mi4uZWRlZDljN2QyYTRlNThlM2QwNThkODMyNjgz
MTA5ODE4MmFmNDQ3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Bs
dWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcApAQCAtNDgsNyArNDgsNyBAQCBzdGF0aWMgY29u
c3QgU2Vjb25kcyBzbmFwc2hvdHRpbmdNaW5pbXVtTGlmZXRpbWUgeyAzMF9zIH07CiBzdGF0aWMg
Y29uc3QgU2Vjb25kcyBzaHV0ZG93blRpbWVvdXQgeyAxX21pbiB9Owogc3RhdGljIGNvbnN0IFNl
Y29uZHMgc25hcHNob3R0aW5nU2h1dGRvd25UaW1lb3V0IHsgMTVfcyB9OwogCi1zdGF0aWMgdWlu
dDY0X3QgZ2VuZXJhdGVDYWxsYmFja0lEKCkKK3N0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZVBsdWdp
blByb2Nlc3NDYWxsYmFja0lEKCkKIHsKICAgICBzdGF0aWMgdWludDY0X3QgY2FsbGJhY2tJRDsK
IApAQCAtMTE0LDcgKzExNCw3IEBAIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpnZXRQbHVnaW5Q
cm9jZXNzQ29ubmVjdGlvbihNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHCiAKIHZvaWQgUGx1
Z2luUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKENvbXBsZXRpb25IYW5kbGVyPHZvaWQg
KFZlY3RvcjxTdHJpbmc+KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICB1aW50NjRfdCBj
YWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7CisgICAgdWludDY0X3QgY2FsbGJhY2tJ
RCA9IGdlbmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQoKTsKICAgICBtX3BlbmRpbmdGZXRj
aFdlYnNpdGVEYXRhQ2FsbGJhY2tzLnNldChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBsZXRpb25I
YW5kbGVyKSk7CiAKICAgICBpZiAoc3RhdGUoKSA9PSBTdGF0ZTo6TGF1bmNoaW5nKSB7CkBAIC0x
MjcsNyArMTI3LDcgQEAgdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEo
Q29tcGxldGlvbkhhbmRsZXI8dm9pZCAoVmVjdG9yPFN0cmluZz4KIAogdm9pZCBQbHVnaW5Qcm9j
ZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhKFdhbGxUaW1lIG1vZGlmaWVkU2luY2UsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQgKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgdWludDY0
X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIHVpbnQ2NF90IGNhbGxi
YWNrSUQgPSBnZW5lcmF0ZVBsdWdpblByb2Nlc3NDYWxsYmFja0lEKCk7CiAgICAgbV9wZW5kaW5n
RGVsZXRlV2Vic2l0ZURhdGFDYWxsYmFja3Muc2V0KGNhbGxiYWNrSUQsIFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpKTsKIAogICAgIGlmIChzdGF0ZSgpID09IFN0YXRlOjpMYXVuY2hpbmcpIHsK
QEAgLTE0MCw3ICsxNDAsNyBAQCB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0
ZURhdGEoV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSwgQ29tcGxldGlvbkhhbgogCiB2b2lkIFBsdWdp
blByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JIb3N0TmFtZXMoY29uc3QgVmVjdG9y
PFN0cmluZz4mIGhvc3ROYW1lcywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAoKT4mJiBjb21wbGV0
aW9uSGFuZGxlcikKIHsKLSAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFj
a0lEKCk7CisgICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlUGx1Z2luUHJvY2Vzc0Nh
bGxiYWNrSUQoKTsKICAgICBtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUZvckhvc3ROYW1lc0Nh
bGxiYWNrcy5zZXQoY2FsbGJhY2tJRCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAg
ICAgaWYgKHN0YXRlKCkgPT0gU3RhdGU6OkxhdW5jaGluZykgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xs
aW5nTm9kZURlbGVnYXRlSU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5
ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tCmluZGV4
IDRhMmUyOWI1NjA5NjFhNTliMWNiNTUxOTc4MzkxNDljMzEwNjg0YzIuLjcyYTg4MmYwNTgxZDVl
YWM5MWZjMTRiYzA1YTAyZjE0NGYxNmMxMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxl
Z2F0ZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUv
aW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW0KQEAgLTQzLDggKzQz
LDYgQEAKICNpbXBvcnQgPFdlYkNvcmUvU2Nyb2xsU25hcE9mZnNldHNJbmZvLmg+CiAjZW5kaWYK
IAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIEBpbXBsZW1lbnRhdGlvbiBXS1Njcm9sbGlu
Z05vZGVTY3JvbGxWaWV3RGVsZWdhdGUKIAogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoU2Nyb2xs
aW5nVHJlZU5vZGVEZWxlZ2F0ZTooV2ViS2l0OjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURl
bGVnYXRlSU9TKilkZWxlZ2F0ZQpAQCAtODAsNyArNzgsNyBAQCAtICh2b2lkKXNjcm9sbFZpZXdX
aWxsRW5kRHJhZ2dpbmc6KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcgd2l0aFZlbG9jaXR5OihD
R1BvaQogCiAgICAgaWYgKCFfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9k
ZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0cygpLmlzRW1wdHkoKSkgewogICAgICAgICB1bnNpZ25l
ZCBpbmRleDsKLSAgICAgICAgZmxvYXQgcG90ZW50aWFsU25hcFBvc2l0aW9uID0gY2xvc2VzdFNu
YXBPZmZzZXQoX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jp
em9udGFsU25hcE9mZnNldHMoKSwgX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGlu
Z05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNldFJhbmdlcygpLCBob3Jpem9udGFsVGFyZ2V0LCB2
ZWxvY2l0eS54LCBpbmRleCk7CisgICAgICAgIGZsb2F0IHBvdGVudGlhbFNuYXBQb3NpdGlvbiA9
IFdlYkNvcmU6OmNsb3Nlc3RTbmFwT2Zmc2V0KF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5z
Y3JvbGxpbmdOb2RlKCkuaG9yaXpvbnRhbFNuYXBPZmZzZXRzKCksIF9zY3JvbGxpbmdUcmVlTm9k
ZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuaG9yaXpvbnRhbFNuYXBPZmZzZXRSYW5nZXMoKSwg
aG9yaXpvbnRhbFRhcmdldCwgdmVsb2NpdHkueCwgaW5kZXgpOwogICAgICAgICBfc2Nyb2xsaW5n
VHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnNldEN1cnJlbnRIb3Jpem9udGFsU25h
cFBvaW50SW5kZXgoaW5kZXgpOwogICAgICAgICBpZiAoaG9yaXpvbnRhbFRhcmdldCA+PSAwICYm
IGhvcml6b250YWxUYXJnZXQgPD0gc2Nyb2xsVmlldy5jb250ZW50U2l6ZS53aWR0aCkKICAgICAg
ICAgICAgIHRhcmdldENvbnRlbnRPZmZzZXQtPnggPSBwb3RlbnRpYWxTbmFwUG9zaXRpb247CkBA
IC04OCw3ICs4Niw3IEBAIC0gKHZvaWQpc2Nyb2xsVmlld1dpbGxFbmREcmFnZ2luZzooVUlTY3Jv
bGxWaWV3ICopc2Nyb2xsVmlldyB3aXRoVmVsb2NpdHk6KENHUG9pCiAKICAgICBpZiAoIV9zY3Jv
bGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkudmVydGljYWxTbmFwT2Zmc2V0
cygpLmlzRW1wdHkoKSkgewogICAgICAgICB1bnNpZ25lZCBpbmRleDsKLSAgICAgICAgZmxvYXQg
cG90ZW50aWFsU25hcFBvc2l0aW9uID0gY2xvc2VzdFNuYXBPZmZzZXQoX3Njcm9sbGluZ1RyZWVO
b2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52ZXJ0aWNhbFNuYXBPZmZzZXRzKCksIF9zY3Jv
bGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkudmVydGljYWxTbmFwT2Zmc2V0
UmFuZ2VzKCksIHZlcnRpY2FsVGFyZ2V0LCB2ZWxvY2l0eS55LCBpbmRleCk7CisgICAgICAgIGZs
b2F0IHBvdGVudGlhbFNuYXBQb3NpdGlvbiA9IFdlYkNvcmU6OmNsb3Nlc3RTbmFwT2Zmc2V0KF9z
Y3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkudmVydGljYWxTbmFwT2Zm
c2V0cygpLCBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRp
Y2FsU25hcE9mZnNldFJhbmdlcygpLCB2ZXJ0aWNhbFRhcmdldCwgdmVsb2NpdHkueSwgaW5kZXgp
OwogICAgICAgICBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnNl
dEN1cnJlbnRWZXJ0aWNhbFNuYXBQb2ludEluZGV4KGluZGV4KTsKICAgICAgICAgaWYgKHZlcnRp
Y2FsVGFyZ2V0ID49IDAgJiYgdmVydGljYWxUYXJnZXQgPD0gc2Nyb2xsVmlldy5jb250ZW50U2l6
ZS5oZWlnaHQpCiAgICAgICAgICAgICB0YXJnZXRDb250ZW50T2Zmc2V0LT55ID0gcG90ZW50aWFs
U25hcFBvc2l0aW9uOwpAQCAtMTIyLDYgKzEyMCw3IEBAIC0gKHZvaWQpc2Nyb2xsVmlld0RpZEVu
ZERlY2VsZXJhdGluZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldwogQGVuZAogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBTY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZURlbGVnYXRlSU9TOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRl
SU9TKFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlJiBzY3JvbGxpbmdOb2RlKQogICAgIDogU2Ny
b2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZShzY3JvbGxpbmdOb2RlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1Byb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94eS5j
cHAKaW5kZXggZWZhOGQxM2NiYmQ1ZmZhODA4YjVmMGVkYmY0YTUxZGM5ZGY4NTdlNy4uM2ExMzFi
NGQ2MGQ4YWEwN2U4N2ZiNWU0YzYxNGYzMGE3ZDQyYjU3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJveHkuY3BwCkBAIC0z
Nyw3ICszNyw3IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwogCi1zdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVDYWxsYmFja0lEKCkKK3N0YXRpYyB1aW50NjRf
dCBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpCiB7CiAgICAgc3RhdGljIHVpbnQ2
NF90IGNhbGxiYWNrSUQ7CiAKQEAgLTEwNSw3ICsxMDUsNyBAQCB2b2lkIFN0b3JhZ2VQcm9jZXNz
UHJveHk6OmZldGNoV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25T
ZXQ8VwogewogICAgIEFTU0VSVChjYW5TZW5kTWVzc2FnZSgpKTsKIAotICAgIHVpbnQ2NF90IGNh
bGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1aW50NjRfdCBjYWxsYmFja0lE
ID0gZ2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQoKTsKICAgICBtX3BlbmRpbmdGZXRj
aFdlYnNpdGVEYXRhQ2FsbGJhY2tzLmFkZChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBsZXRpb25I
YW5kbGVyKSk7CiAKICAgICBzZW5kKE1lc3NhZ2VzOjpTdG9yYWdlUHJvY2Vzczo6RmV0Y2hXZWJz
aXRlRGF0YShzZXNzaW9uSUQsIGRhdGFUeXBlcywgY2FsbGJhY2tJRCksIDApOwpAQCAtMTEzLDcg
KzExMyw3IEBAIHZvaWQgU3RvcmFnZVByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YShQQUw6
OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXCiAKIHZvaWQgU3RvcmFnZVByb2Nlc3NQ
cm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25T
ZXQ8V2Vic2l0ZURhdGFUeXBlPiBkYXRhVHlwZXMsIFdhbGxUaW1lIG1vZGlmaWVkU2luY2UsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQgKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgYXV0
byBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7CisgICAgYXV0byBjYWxsYmFja0lE
ID0gZ2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQoKTsKIAogICAgIG1fcGVuZGluZ0Rl
bGV0ZVdlYnNpdGVEYXRhQ2FsbGJhY2tzLmFkZChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBsZXRp
b25IYW5kbGVyKSk7CiAgICAgc2VuZChNZXNzYWdlczo6U3RvcmFnZVByb2Nlc3M6OkRlbGV0ZVdl
YnNpdGVEYXRhKHNlc3Npb25JRCwgZGF0YVR5cGVzLCBtb2RpZmllZFNpbmNlLCBjYWxsYmFja0lE
KSwgMCk7CkBAIC0xMjMsNyArMTIzLDcgQEAgdm9pZCBTdG9yYWdlUHJvY2Vzc1Byb3h5OjpkZWxl
dGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELAogewogICAg
IEFTU0VSVChjYW5TZW5kTWVzc2FnZSgpKTsKIAotICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBn
ZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVT
dG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQoKTsKICAgICBtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0
YUZvck9yaWdpbnNDYWxsYmFja3MuYWRkKGNhbGxiYWNrSUQsIFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpKTsKIAogICAgIHNlbmQoTWVzc2FnZXM6OlN0b3JhZ2VQcm9jZXNzOjpEZWxldGVXZWJz
aXRlRGF0YUZvck9yaWdpbnMoc2Vzc2lvbklELCBkYXRhVHlwZXMsIG9yaWdpbnMsIGNhbGxiYWNr
SUQpLCAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggMjVmZTRh
MmU4NGNkODQ5ZDNkOWIwZmExY2Q5Mzg5YTczZGMxY2VhNi4uNjVjMDE5ZmQ0ZWUxNWEyMjA5NzQ1
NjZiYTYyODdjYzQyNDJlNTgyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmgKQEAgLTYxLDcgKzYxLDYgQEAKICNpbmNsdWRlICJXZWJQYWdlSW5qZWN0ZWRCdW5kbGVDbGll
bnQuaCIKICNpbmNsdWRlICJXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5oIgogI2luY2x1ZGUg
IldlYlByZWZlcmVuY2VzLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9BbHRlcm5hdGl2ZVRleHRDbGll
bnQuaD4gLy8gRklYTUU6IE5lZWRlZCBieSBXZWJQYWdlUHJveHlNZXNzYWdlcy5oIGZvciBESUNU
QVRJT05fQUxURVJOQVRJVkVTLgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eU1lc3NhZ2VzLmgiCiAj
aW5jbHVkZSAiV2ViUG9wdXBNZW51UHJveHkuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzTGlmZXRp
bWVUcmFja2VyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCBjNzcxNTU5MGVkNzFjY2RkMjNkZjI4NWEzYWE3YzM2ZTU0M2RiN2Y2Li5i
YzdjMjQzZjQ3OTZhY2MyZWNlNGM0ZmVjYzQ0OTI5MjU4Y2RiNDU3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTc1Niw2ICs3NTYsOCBA
QAogCQkyRDkyQTc5NTIxMkI2QUQ0MDBGNDkzRkQgLyogUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQTJEOTBEMTEyODFDOTY2MDAxRUI5NjIgLyogUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5jcHAgKi87IH07CiAJCTJEOTJBNzk2MjEyQjZBREEwMEY0OTNGRCAvKiBOZXRzY2FwZVBs
dWdpbk1vZHVsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQTRBOUM1MzEyQjgxNkNGMDA4RkU5ODQgLyogTmV0c2NhcGVQbHVnaW5Nb2R1bGUuY3Bw
ICovOyB9OwogCQkyRDkyQTc5NzIxMkI2QURBMDBGNDkzRkQgLyogUGx1Z2luSW5mb3JtYXRpb24u
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MzRjhD
OEUxNzNBRjUyRDAwN0I3RjM5IC8qIFBsdWdpbkluZm9ybWF0aW9uLmNwcCAqLzsgfTsKKwkJMkQ5
MkE3OTgyMTM0OEQ4NTAwRjQ5M0ZEIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWFjLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFCMUY3N0Qx
RDFCMzBBOTAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWFjLm1tICovOyB9
OworCQkyRDkyQTc5RjIxMzRCMDdFMDBGNDkzRkQgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJv
eHlJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QUIxRjc3QjFEMUIzMEE5MDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlJT1Mu
bW0gKi87IH07CiAJCTJEOTMxMTY5MjEyRjYxQjIwMDA0NEJGRSAvKiBXS0NvbnRlbnRWaWV3Lm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDQjRFM0Qx
OEJCRTA0NDAwMEZDRkM5IC8qIFdLQ29udGVudFZpZXcubW0gKi87IH07CiAJCTJEOTMxMTZBMjEy
RjYxQjUwMDA0NEJGRSAvKiBXS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNCNEU2QjE4QkJGMjZBMDAwRkNG
QzkgLyogV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tICovOyB9OwogCQkyRDlFQTMwRDFBOTZD
QjU5MDAyRDI4MDcgLyogV0tQYWdlSW5qZWN0ZWRCdW5kbGVDbGllbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUVBMzBDMUE5NkNCNTkwMDJEMjgw
NyAvKiBXS1BhZ2VJbmplY3RlZEJ1bmRsZUNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMTI0MSw2ICsxMTI0Myw4IEBACiAJCQkJN0NF
OUNFMTAxRkEwNzY3QTAwMDE3N0RFIC8qIFdlYlBhZ2VVcGRhdGVQcmVmZXJlbmNlcy5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk3QzQ2OTRDOTFBNEI0RUExMDBBRDU4NDUgLyogV2ViUGFzdGVib2Fy
ZFByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBQjFGNzk2MUQx
QjM2MTMwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5MkE3OUYyMTM0QjA3RTAwRjQ5M0ZEIC8qIFdlYlBheW1l
bnRDb29yZGluYXRvclByb3h5SU9TLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5MkE3OTgyMTM0
OEQ4NTAwRjQ5M0ZEIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWFjLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMUFCMUY3OTgxRDFCMzYxMzAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGlu
YXRvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOTJBNzhE
MjEyQjZBQjEwMEY0OTNGRCAvKiBXZWJQbGF0Zm9ybVRvdWNoUG9pbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkQ5MTM0NEUyMTJDRjlGMDAwMTI4QUZEIC8qIFdlYlBsdWdpbkluZm9Qcm92aWRl
ci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1
Z2lucy9QREYvUERGUGx1Z2luLm1tCmluZGV4IDUzMDdlMjZhNzYzN2U4YTY5YjA0NWFiYjkyODc5
ZjNmOGM2NTg2ZjIuLjRjYWE2Y2MwZjYwNDUwYzAzYjIyYTI4NGRkMTNhZjI1ZWZkNmUzODYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4u
bW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5t
bQpAQCAtODgsOCArODgsNiBAQAogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNNZW51U1BJLmg+CiAj
aW1wb3J0IDx3dGYvVVVJRC5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogLy8gU2V0
IG92ZXJmbG93OiBoaWRkZW4gb24gdGhlIGFubm90YXRpb24gY29udGFpbmVyIHNvIDxpbnB1dD4g
ZWxlbWVudHMgc2Nyb2xsZWQgb3V0IG9mIHZpZXcgZG9uJ3Qgc2hvdwogLy8gc2Nyb2xsYmFycyBv
biB0aGUgYm9keS4gV2UgY2FuJ3QgYWRkIGFubm90YXRpb25zIGRpcmVjdGx5IHRvIHRoZSBib2R5
LCBiZWNhdXNlIG92ZXJmbG93OiBoaWRkZW4gb24gdGhlIGJvZHkKIC8vIHdpbGwgYnJlYWsgcnVi
YmVyLWJhbmRpbmcuCkBAIC0yOTAsNyArMjg4LDcgQEAgLSAoTlNBcnJheSAqKWFjY2Vzc2liaWxp
dHlBY3Rpb25OYW1lcwogLSAodm9pZClhY2Nlc3NpYmlsaXR5UGVyZm9ybUFjdGlvbjooTlNTdHJp
bmcgKilhY3Rpb24KIHsKICAgICBpZiAoW2FjdGlvbiBpc0VxdWFsVG9TdHJpbmc6TlNBY2Nlc3Np
YmlsaXR5U2hvd01lbnVBY3Rpb25dKQotICAgICAgICBfcGRmUGx1Z2luLT5zaG93Q29udGV4dE1l
bnVBdFBvaW50KEludFJlY3QoSW50UG9pbnQoKSwgX3BkZlBsdWdpbi0+c2l6ZSgpKS5jZW50ZXIo
KSk7CisgICAgICAgIF9wZGZQbHVnaW4tPnNob3dDb250ZXh0TWVudUF0UG9pbnQoV2ViQ29yZTo6
SW50UmVjdChXZWJDb3JlOjpJbnRQb2ludCgpLCBfcGRmUGx1Z2luLT5zaXplKCkpLmNlbnRlcigp
KTsKIH0KIAogLSAoQk9PTClhY2Nlc3NpYmlsaXR5SXNBdHRyaWJ1dGVTZXR0YWJsZTooTlNTdHJp
bmcgKilhdHRyaWJ1dGUKQEAgLTMxNiw4ICszMTQsOCBAQCAtIChpZClhY2Nlc3NpYmlsaXR5Rm9j
dXNlZFVJRWxlbWVudAogewogI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxMzAwCiAgICAgaWYgKFdlYktpdDo6UERGUGx1Z2luQW5ub3RhdGlvbiogYWN0aXZlQW5ub3Rh
dGlvbiA9IF9wZGZQbHVnaW4tPmFjdGl2ZUFubm90YXRpb24oKSkgewotICAgICAgICBpZiAoQVhP
YmplY3RDYWNoZSogZXhpc3RpbmdDYWNoZSA9IF9wZGZQbHVnaW4tPmF4T2JqZWN0Q2FjaGUoKSkg
ewotICAgICAgICAgICAgaWYgKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCA9IGV4aXN0aW5n
Q2FjaGUtPmdldE9yQ3JlYXRlKGFjdGl2ZUFubm90YXRpb24tPmVsZW1lbnQoKSkpCisgICAgICAg
IGlmIChXZWJDb3JlOjpBWE9iamVjdENhY2hlKiBleGlzdGluZ0NhY2hlID0gX3BkZlBsdWdpbi0+
YXhPYmplY3RDYWNoZSgpKSB7CisgICAgICAgICAgICBpZiAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0
eU9iamVjdCogb2JqZWN0ID0gZXhpc3RpbmdDYWNoZS0+Z2V0T3JDcmVhdGUoYWN0aXZlQW5ub3Rh
dGlvbi0+ZWxlbWVudCgpKSkKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCiAjcHJhZ21h
IGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIKICAg
ICAgICAgICAgICAgICByZXR1cm4gW29iamVjdC0+d3JhcHBlcigpIGFjY2Vzc2liaWxpdHlBdHRy
aWJ1dGVWYWx1ZTpAIl9BWEFzc29jaWF0ZWRQbHVnaW5QYXJlbnQiXTsKQEAgLTMzOCwxMSArMzM2
LDExIEBAIC0gKGlkKWFjY2Vzc2liaWxpdHlBc3NvY2lhdGVkQ29udHJvbEZvckFubm90YXRpb246
KFBERkFubm90YXRpb24gKilhbm5vdGF0aW9uCiAgICAgaWYgKCFhY3RpdmVBbm5vdGF0aW9uIHx8
ICFbYWN0aXZlQW5ub3RhdGlvbi0+YW5ub3RhdGlvbigpIGlzRXF1YWw6YW5ub3RhdGlvbl0pCiAg
ICAgICAgIHJldHVybiBuaWw7CiAgICAgCi0gICAgQVhPYmplY3RDYWNoZSogY2FjaGUgPSBfcGRm
UGx1Z2luLT5heE9iamVjdENhY2hlKCk7CisgICAgV2ViQ29yZTo6QVhPYmplY3RDYWNoZSogY2Fj
aGUgPSBfcGRmUGx1Z2luLT5heE9iamVjdENhY2hlKCk7CiAgICAgaWYgKCFjYWNoZSkKICAgICAg
ICAgcmV0dXJuIG5pbDsKICAgICAKLSAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QgPSBj
YWNoZS0+Z2V0T3JDcmVhdGUoYWN0aXZlQW5ub3RhdGlvbi0+ZWxlbWVudCgpKTsKKyAgICBXZWJD
b3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QgPSBjYWNoZS0+Z2V0T3JDcmVhdGUoYWN0
aXZlQW5ub3RhdGlvbi0+ZWxlbWVudCgpKTsKICAgICBpZiAoIW9iamVjdCkKICAgICAgICAgcmV0
dXJuIG5pbDsKIApAQCAtMzUzLDcgKzM1MSw3IEBAIC0gKGlkKWFjY2Vzc2liaWxpdHlBc3NvY2lh
dGVkQ29udHJvbEZvckFubm90YXRpb246KFBERkFubm90YXRpb24gKilhbm5vdGF0aW9uCiAtIChp
ZClhY2Nlc3NpYmlsaXR5SGl0VGVzdDooTlNQb2ludClwb2ludAogewogI2lmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwCi0gICAgcG9pbnQgPSBfcGRmUGx1Z2luLT5j
b252ZXJ0RnJvbVJvb3RWaWV3VG9QREZWaWV3KEludFBvaW50KHBvaW50KSk7CisgICAgcG9pbnQg
PSBfcGRmUGx1Z2luLT5jb252ZXJ0RnJvbVJvb3RWaWV3VG9QREZWaWV3KFdlYkNvcmU6OkludFBv
aW50KHBvaW50KSk7CiAgICAgcmV0dXJuIFtfcGRmTGF5ZXJDb250cm9sbGVyIGFjY2Vzc2liaWxp
dHlIaXRUZXN0OnBvaW50XTsKICNlbHNlCiAgICAgcmV0dXJuIHNlbGY7CkBAIC00MjEsNyArNDE5
LDcgQEAgLSAoaWQpaW5pdFdpdGhQREZQbHVnaW46KFdlYktpdDo6UERGUGx1Z2luICopcGx1Z2lu
CiAKIC0gKHZvaWQpdXBkYXRlU2Nyb2xsUG9zaXRpb246KENHUG9pbnQpbmV3UG9zaXRpb24KIHsK
LSAgICBfcGRmUGx1Z2luLT5ub3RpZnlTY3JvbGxQb3NpdGlvbkNoYW5nZWQoSW50UG9pbnQobmV3
UG9zaXRpb24pKTsKKyAgICBfcGRmUGx1Z2luLT5ub3RpZnlTY3JvbGxQb3NpdGlvbkNoYW5nZWQo
V2ViQ29yZTo6SW50UG9pbnQobmV3UG9zaXRpb24pKTsKIH0KIAogLSAodm9pZCl3cml0ZUl0ZW1z
VG9QYXN0ZWJvYXJkOihOU0FycmF5ICopaXRlbXMgd2l0aFR5cGVzOihOU0FycmF5ICopdHlwZXMK
QEAgLTUwMCw2ICs0OTgsMTAgQEAgLSAoTlNSZWN0KWNvbnZlcnRSZWN0OihOU1JlY3QpcmVjdCBm
cm9tUGFnZTooUERGUGFnZSAqKSBwYWdlIGZvclNjYWxlRmFjdG9yOihDR0YKIC0gKFBERlBhZ2Ug
KilwYWdlTmVhcmVzdFBvaW50OihOU1BvaW50KXBvaW50IGN1cnJlbnRQYWdlOihQREZQYWdlICop
Y3VycmVudFBhZ2U7CiBAZW5kCiAKK25hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7Cit1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOworCiBzdGF0aWMgY29uc3QgY2hh
ciogcG9zdFNjcmlwdE1JTUVUeXBlID0gImFwcGxpY2F0aW9uL3Bvc3RzY3JpcHQiOwogY29uc3Qg
dWludDY0X3QgcGRmRG9jdW1lbnRSZXF1ZXN0SUQgPSAxOyAvLyBQbHVnaW5Db250cm9sbGVyIHN1
cHBvcnRzIGxvYWRpbmcgbXVsdGlwbGUgc3RyZWFtcywgYnV0IHdlIG9ubHkgbmVlZCBvbmUgZm9y
IFBERi4KIApAQCAtNTk2LDkgKzU5OCw2IEBAIHN0YXRpYyB2b2lkIGdldEFsbFNjcmlwdHNJblBE
RkRvY3VtZW50KENHUERGRG9jdW1lbnRSZWYgcGRmRG9jdW1lbnQsIFZlY3RvcjxSZXRhCiAgICAg
fQogfQogCi1uYW1lc3BhY2UgV2ViS2l0IHsKLXVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7Ci0K
IFJlZjxQREZQbHVnaW4+IFBERlBsdWdpbjo6Y3JlYXRlKFdlYkZyYW1lJiBmcmFtZSkKIHsKICAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQREZQbHVnaW4oZnJhbWUpKTsKQEAgLTE0NTAsNyArMTQ0
OSw3IEBAIHZvaWQgUERGUGx1Z2luOjp1cGRhdGVDdXJzb3IoY29uc3QgV2ViTW91c2VFdmVudCYg
ZXZlbnQsIFVwZGF0ZUN1cnNvck1vZGUgbW9kZSkKICAgICBpZiAoaGl0VGVzdFJlc3VsdCA9PSBt
X2xhc3RIaXRUZXN0UmVzdWx0ICYmIG1vZGUgPT0gVXBkYXRlSWZOZWVkZWQpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIHdlYkZyYW1lKCktPnBhZ2UoKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVBy
b3h5OjpTZXRDdXJzb3IoaGl0VGVzdFJlc3VsdCA9PSBUZXh0ID8gaUJlYW1DdXJzb3IoKSA6IHBv
aW50ZXJDdXJzb3IoKSkpOworICAgIHdlYkZyYW1lKCktPnBhZ2UoKS0+c2VuZChNZXNzYWdlczo6
V2ViUGFnZVByb3h5OjpTZXRDdXJzb3IoaGl0VGVzdFJlc3VsdCA9PSBUZXh0ID8gV2ViQ29yZTo6
aUJlYW1DdXJzb3IoKSA6IFdlYkNvcmU6OnBvaW50ZXJDdXJzb3IoKSkpOwogICAgIG1fbGFzdEhp
dFRlc3RSZXN1bHQgPSBoaXRUZXN0UmVzdWx0OwogfQogI2VuZGlmCkBAIC0xOTgxLDE2ICsxOTgw
LDE2IEBAIHZvaWQgUERGUGx1Z2luOjpub3RpZnlTZWxlY3Rpb25DaGFuZ2VkKFBERlNlbGVjdGlv
biAqKQogICAgIHdlYkZyYW1lKCktPnBhZ2UoKS0+ZGlkQ2hhbmdlU2VsZWN0aW9uKCk7CiB9CiAK
LXN0YXRpYyBjb25zdCBDdXJzb3ImIGNvcmVDdXJzb3IoUERGTGF5ZXJDb250cm9sbGVyQ3Vyc29y
VHlwZSB0eXBlKQorc3RhdGljIGNvbnN0IFdlYkNvcmU6OkN1cnNvciYgY29yZUN1cnNvcihQREZM
YXllckNvbnRyb2xsZXJDdXJzb3JUeXBlIHR5cGUpCiB7CiAgICAgc3dpdGNoICh0eXBlKSB7CiAg
ICAgY2FzZSBrUERGTGF5ZXJDb250cm9sbGVyQ3Vyc29yVHlwZUhhbmQ6Ci0gICAgICAgIHJldHVy
biBoYW5kQ3Vyc29yKCk7CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpoYW5kQ3Vyc29yKCk7CiAg
ICAgY2FzZSBrUERGTGF5ZXJDb250cm9sbGVyQ3Vyc29yVHlwZUlCZWFtOgotICAgICAgICByZXR1
cm4gaUJlYW1DdXJzb3IoKTsKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OmlCZWFtQ3Vyc29yKCk7
CiAgICAgY2FzZSBrUERGTGF5ZXJDb250cm9sbGVyQ3Vyc29yVHlwZVBvaW50ZXI6CiAgICAgZGVm
YXVsdDoKLSAgICAgICAgcmV0dXJuIHBvaW50ZXJDdXJzb3IoKTsKKyAgICAgICAgcmV0dXJuIFdl
YkNvcmU6OnBvaW50ZXJDdXJzb3IoKTsKICAgICB9CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348248</attachid>
            <date>2018-08-27 18:22:38 -0700</date>
            <delta_ts>2018-08-27 19:03:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189009-20180827182237.patch</filename>
            <type>text/plain</type>
            <size>55382</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGMyOWZmMzZiMTcwMDNiYTAxZDNlYmJj
YWNhNDY4ZTRmNDZlM2YzN2IuLjA3YzYxYjkxMTg5ZjZmYjg3M2MxN2MxNWM0N2Y1NzI2ODE0YzY4
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3Jl
IHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL2dlbmVy
YXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmI6CisgICAgICAgIEl0IHR1cm5zIG91dCBvdXIg
cGxhbiB0byBzd2l0Y2ggdW5pZmllZCBzb3VyY2UgYnVuZGxlIGV2ZXJ5IHRpbWUgdGhlIGRpcmVj
dG9yeQorICAgICAgICBjaGFuZ2VzIGlzIG5vdCBhIGdvb2QgZml0IGZvciBwcm9qZWN0cyBsaWtl
IFdlYktpdDIgd2l0aCBtYW55IHNtYWxsIGRpcmVjdG9yaWVzLgorICAgICAgICBJdCBsZWF2ZXMg
bWFueSB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIHdpdGggb25seSBhIHNpbmdsZSBzb3VyY2UgZmls
ZSwKKyAgICAgICAgYWNoaWV2aW5nIG9ubHkgfjQwJSBkZW5zaXR5LgorCisgICAgICAgIEluc3Rl
YWQsIHN3aXRjaCB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIGV2ZXJ5IHRpbWUgdGhlIHRvcC1sZXZl
bCBkaXJlY3RvcnkgY2hhbmdlcy4KKyAgICAgICAgVGhpcyBzdGlsbCBhY2hpZXZlcyB0aGUgZ29h
bCBvZiAqdXN1YWxseSogb25seSByZWJ1aWxkaW5nIHRoZSBvbmUgdG9wLWxldmVsCisgICAgICAg
IGRpcmVjdG9yeSB5b3UgdG91Y2hlZCwgYW5kIGluY3JlYXNlcyBzb3VyY2UgYnVuZGxlIGRlbnNp
dHkgd2lsZGx5LCB0byB+OTUlLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTgt
MDgtMjcgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQgYnVpbGQgZml4IC0tIGRpc2FibGUgTFRPIGZvciBwcm9kdWN0aW9uIGJ1aWxkcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDdmZjk4ZTNhMDliZTBjOWE3ZWM2MWFlYWVjZDk4MjhmYTcxNjNmZjMuLmNiZGZk
OTgwODYyMDk5NTFkNmQ2ZWJjMTZkYjk0Y2EzZmI3YzQ1ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzOCBAQAorMjAxOC0wOC0yNyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNv
bT4KKworICAgICAgICBCdW5kbGUgdW5pZmllZCBzb3VyY2VzIG1vcmUgdGlnaHRseSBpbiBwcm9q
ZWN0cyB3aXRoIGRlZXAgZGlyZWN0b3J5IHN0cnVjdHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTAwOQorCisgICAgICAgIFJldmlld2VkIGJ5
IFNpbW9uIEZyYXNlci4KKworICAgICAgICBGaXggYSB2YXJpZXR5IG9mIHVuaWZpY2F0aW9uIGVy
cm9ycyBkdWUgdG8gcmVzaHVmZmxpbmcgdGhlIGJ1bmRsZXMuCisKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAqIFNvdXJjZXNDb2NvYS50
eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUVDRFNBLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUVDRFNBOjppbXBvcnRLZXkpOgorICAgICAgICAqIGRv
bS9Eb2N1bWVudC5oOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHA6
CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRl
ci5oOgorICAgICAgICAqIHBhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50Lmg6CisgICAgICAgICog
cGxhdGZvcm0vUGFzdGVib2FyZC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Rpc3Bs
YXlSZWZyZXNoTW9uaXRvci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZh
bWlseVNwZWNpZmljYXRpb25OdWxsLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJHTExheWVyLm1tOgorICAgICAgICAoLVtXZWJHTExheWVyIGluaXRXaXRoR3JhcGhp
Y3NDb250ZXh0M0Q6XSk6CisgICAgICAgICgtW1dlYkdMTGF5ZXIgY29weUltYWdlU25hcHNob3RX
aXRoQ29sb3JTcGFjZTpdKToKKyAgICAgICAgKC1bV2ViR0xMYXllciBkaXNwbGF5XSk6CisgICAg
ICAgICgtW1dlYkdMTGF5ZXIgYWxsb2NhdGVJT1N1cmZhY2VCYWNraW5nU3RvcmVXaXRoU2l6ZTp1
c2luZ0FscGhhOl0pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxh
eWVyLm1tOgorICAgICAgICAoLVtXZWJHUFVMYXllciBpbml0V2l0aEdQVURldmljZTpdKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHA6CisgICAgICAg
ICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwOgor
CiAyMDE4LTA4LTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtBdHRhY2htZW50IFN1cHBvcnRdIFJlbW92ZSBXZWJDb3JlOjpBdHRhY2htZW50RGlz
cGxheU9wdGlvbnMgYW5kIGZyaWVuZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYjczYzY3OTE3NzA1N2UxNDIxYWEy
YTNiMDU4NTIwYTc4ODYzMzhhMy4uNDZiMWEyZDYzY2U3ZmMyMzkyOTlmNmJjYjc3MGNjNGYxN2Zh
NGQ1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MiBAQAorMjAxOC0wOC0yNyAgVGltIEhvcnRvbiAg
PHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBCdW5kbGUgdW5pZmllZCBzb3Vy
Y2VzIG1vcmUgdGlnaHRseSBpbiBwcm9qZWN0cyB3aXRoIGRlZXAgZGlyZWN0b3J5IHN0cnVjdHVy
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTAw
OQorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBGaXggYSB2
YXJpZXR5IG9mIHVuaWZpY2F0aW9uIGVycm9ycyBkdWUgdG8gcmVzaHVmZmxpbmcgdGhlIGJ1bmRs
ZXMuCisKKyAgICAgICAgKiBTaGFyZWQvQVBJV2ViQXJjaGl2ZS5tbToKKyAgICAgICAgKiBTaGFy
ZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05l
dHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbToKKyAgICAgICAgKiBTaGFyZWQv
UGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW06CisgICAgICAgICog
U291cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25T
ZXNzaW9uQ2xpZW50Lmg6CisgICAgICAgIChBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Ojpz
ZXNzaW9uSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgIChBUEk6OkF1dG9tYXRpb25TZXNzaW9u
Q2xpZW50OjptZXNzYWdlT2ZDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZSk6CisgICAgICAg
IChBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50OjpzZXRVc2VySW5wdXRGb3JDdXJyZW50SmF2
YVNjcmlwdFByb21wdE9uUGFnZSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1
c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2Nv
bExvYWRlciBpbml0V2l0aExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OmN1c3RvbVBy
b3RvY29sSUQ6cmVxdWVzdDpdKToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBj
b25uZWN0aW9uOmRpZEZhaWxXaXRoRXJyb3I6XSk6CisgICAgICAgICgtW1dLQ3VzdG9tUHJvdG9j
b2xMb2FkZXIgY29ubmVjdGlvbjpkaWRSZWNlaXZlUmVzcG9uc2U6XSk6CisgICAgICAgICogVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
Z2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdp
blByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdp
blByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpQbHVn
aW5Qcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5hbWVzKToKKyAgICAgICAg
KFdlYktpdDo6Z2VuZXJhdGVDYWxsYmFja0lEKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nl
c3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRl
SU9TLm1tOgorICAgICAgICAoLVtXS1Njcm9sbGluZ05vZGVTY3JvbGxWaWV3RGVsZWdhdGUgc2Ny
b2xsVmlld1dpbGxFbmREcmFnZ2luZzp3aXRoVmVsb2NpdHk6dGFyZ2V0Q29udGVudE9mZnNldDpd
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1Byb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6Z2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQpOgorICAg
ICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKToKKyAg
ICAgICAgKFdlYktpdDo6U3RvcmFnZVByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEpOgor
ICAgICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZv
ck9yaWdpbnMpOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZUNhbGxiYWNrSUQpOiBEZWxldGVk
LgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IFdlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tOgorICAgICAgICAoLVtXS1BERlBs
dWdpbkFjY2Vzc2liaWxpdHlPYmplY3QgYWNjZXNzaWJpbGl0eVBlcmZvcm1BY3Rpb246XSk6Cisg
ICAgICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5Rm9j
dXNlZFVJRWxlbWVudF0pOgorICAgICAgICAoLVtXS1BERlBsdWdpbkFjY2Vzc2liaWxpdHlPYmpl
Y3QgYWNjZXNzaWJpbGl0eUFzc29jaWF0ZWRDb250cm9sRm9yQW5ub3RhdGlvbjpdKToKKyAgICAg
ICAgKC1bV0tQREZQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0IGFjY2Vzc2liaWxpdHlIaXRUZXN0
Ol0pOgorICAgICAgICAoLVtXS1BERkxheWVyQ29udHJvbGxlckRlbGVnYXRlIHVwZGF0ZVNjcm9s
bFBvc2l0aW9uOl0pOgorICAgICAgICAoV2ViS2l0OjpQREZQbHVnaW46OnVwZGF0ZUN1cnNvcik6
CisgICAgICAgIChXZWJLaXQ6OmNvcmVDdXJzb3IpOgorICAgICAgICAoYXBwZW5kVmFsdWVzSW5Q
REZOYW1lU3VidHJlZVRvVmVjdG9yKTogRGVsZXRlZC4KKyAgICAgICAgKGdldEFsbFZhbHVlc0lu
UERGTmFtZVRyZWUpOiBEZWxldGVkLgorICAgICAgICAoZ2V0QWxsU2NyaXB0c0luUERGRG9jdW1l
bnQpOiBEZWxldGVkLgorCiAyMDE4LTA4LTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhA
YXBwbGUuY29tPgogCiAgICAgICAgIFtBdHRhY2htZW50IFN1cHBvcnRdIFJlbW92ZSBXZWJDb3Jl
OjpBdHRhY2htZW50RGlzcGxheU9wdGlvbnMgYW5kIGZyaWVuZHMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvU2NyaXB0cy9nZW5lcmF0ZS11bmlmaWVkLXNvdXJjZS1idW5kbGVzLnJiIGIvU291cmNl
L1dURi9TY3JpcHRzL2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKaW5kZXggYzAx
OTY2ZWUxYjJjNjdkOTc2MGYwM2E1YmJjYWEzY2I1NzI2MTJiMy4uYWJkOTc2NzdhMjBhZGI0ZDQ2
MmViOThmNzc4ZDk4MDI5YmRkNDk5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL2dl
bmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKKysrIGIvU291cmNlL1dURi9TY3JpcHRz
L2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKQEAgLTIxMCwxMCArMjEwLDE3IEBA
IGNsYXNzIEJ1bmRsZU1hbmFnZXIKICAgICBlbmQKIGVuZAogCitkZWYgVG9wTGV2ZWxEaXJlY3Rv
cnlGb3JQYXRoKHBhdGgpCisgICAgaWYgIXBhdGgKKyAgICAgICAgcmV0dXJuIG5pbAorICAgIGVu
ZAorICAgIHJldHVybiBwYXRoLmVhY2hfZmlsZW5hbWUubmV4dAorZW5kCisKIGRlZiBQcm9jZXNz
RmlsZUZvclVuaWZpZWRTb3VyY2VHZW5lcmF0aW9uKHNvdXJjZUZpbGUpCiAgICAgcGF0aCA9IHNv
dXJjZUZpbGUucGF0aAotICAgIGlmICgkY3VycmVudERpcmVjdG9yeSAhPSBwYXRoLmRpcm5hbWUp
Ci0gICAgICAgIGxvZygiRmx1c2hpbmcgYmVjYXVzZSBuZXcgZGlybmFtZTsgb2xkOiAjeyRjdXJy
ZW50RGlyZWN0b3J5fSwgbmV3OiAje3BhdGguZGlybmFtZX0iKQorICAgIGlmIChUb3BMZXZlbERp
cmVjdG9yeUZvclBhdGgoJGN1cnJlbnREaXJlY3RvcnkpICE9IFRvcExldmVsRGlyZWN0b3J5Rm9y
UGF0aChwYXRoLmRpcm5hbWUpKQorICAgICAgICBsb2coIkZsdXNoaW5nIGJlY2F1c2UgbmV3IHRv
cCBsZXZlbCBkaXJlY3Rvcnk7IG9sZDogI3skY3VycmVudERpcmVjdG9yeX0sIG5ldzogI3twYXRo
LmRpcm5hbWV9IikKICAgICAgICAgJGJ1bmRsZU1hbmFnZXJzLmVhY2hfdmFsdWUgeyB8eHwgeC5m
bHVzaCB9CiAgICAgICAgICRjdXJyZW50RGlyZWN0b3J5ID0gcGF0aC5kaXJuYW1lCiAgICAgZW5k
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYv
UGxhdGZvcm0uaAppbmRleCAwYzZlZmI4NjI5ODI1MzlkMmI0YjJjYzRmOGY4YjVmY2I0ZWM4OGU4
Li42N2NmYTkzMzEzYzkwNDIxZWI2Y2YxNzlkOThlZjcwM2RhMGU0OWRiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgK
QEAgLTEzMTQsNiArMTMxNCw3IEBACiAjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX1RP
VUNIX0JBUiAxCiAjZGVmaW5lIEhBVkVfQURWQU5DRURfU1BFTExfQ0hFQ0tJTkcgMQorI2RlZmlu
ZSBVU0VfRElDVEFUSU9OX0FMVEVSTkFUSVZFUyAxCiAKICNpZiBkZWZpbmVkKF9fTFA2NF9fKQog
I2RlZmluZSBFTkFCTEVfV0VCX1BMQVlCQUNLX0NPTlRST0xTX01BTkFHRVIgMQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyQ2FjaGVTdG9yYWdl
Q29ubmVjdGlvbi5jcHAKaW5kZXggYWQyMDkzMjE5Zjg4ZTZkYTNlMWQ2MDYyNGU0MWFlOWE0MWRm
NDkyNy4uMWViZGQ1ZGU0OGE3ZTdlMWM5NmEwMWM3OGZlZDdkYTViYzRmYjg4OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckNhY2hlU3Rv
cmFnZUNvbm5lY3Rpb24uY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJDYWNoZVF1
ZXJ5T3B0aW9ucy5oIgogI2luY2x1ZGUgIkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgiCisjaW5jbHVk
ZSAiQ2xpZW50T3JpZ2luLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJQYWdl
LmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKQEAgLTM2LDcgKzM3LDYgQEAKICNp
bmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCiAjaW5jbHVkZSAiV29ya2VyVGhyZWFkLmgiCiAKLQog
bmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU6OkRPTUNhY2hlRW5n
aW5lOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVEND
b250cm9sbGVyLmNwcAppbmRleCA5NjEzMmU2OTczN2FlOThhNjBmOTU0ZjFmMzExODM4NDEwNzFl
MGE5Li5jZGI3NzdlOTk5MjkyMjFjZjBhOGYwMTE0MmIyZDA3ZWRlOWVmZWQ0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29udHJvbGxlci5jcHAK
QEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShXRUJfUlRDKQogCisjaW5jbHVkZSAiRG9j
dW1lbnQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENQcm92aWRlci5oIgogI2luY2x1ZGUgIlJUQ1Bl
ZXJDb25uZWN0aW9uLmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5
bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuY3BwCmlu
ZGV4IGMyMDUzMzVlYWE4ZTkxOGE2ZDM4YWU0ZjJmZmM4MWFlZDQ1YTlhMGYuLjk0YjcxYzQ2NjE5
MjQxMzVjMjFhZWE2OWQ0ODk5ZDdiMDc1YTYyYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdFVw
ZGF0ZUV2ZW50LmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKFBBWU1FTlRfUkVR
VUVTVCkKIAorI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJQYXltZW50UmVxdWVz
dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZy
L1ZSRGlzcGxheS5jcHAKaW5kZXggYWRiNzUxZDBjMzljMGE1NmI1ZTRkYzFmNTQyMTBiZGFhNGVk
ZmY3OC4uYTkzM2Q5ODBmY2Y1YTk5MTc0YWIwZTBjNDAwMjA5MTZjYmYxYjM2NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNwcApAQCAtMjksNiArMjksNyBAQAog
I2luY2x1ZGUgIkNhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCIKICNpbmNsdWRlICJDaHJvbWUuaCIK
ICNpbmNsdWRlICJET01FeGNlcHRpb24uaCIKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNs
dWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlNjcmlwdGVk
QW5pbWF0aW9uQ29udHJvbGxlci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9jcnlwdG8vZ2NyeXB0L1V0aWxpdGllcy5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jcnlw
dG8vZ2NyeXB0L1V0aWxpdGllcy5oCmluZGV4IDgyZmUxN2MwM2I0MTE3M2VjMTNkMzBiMmZjMzFm
YWMxZDI4YTU4ZGYuLjYyOTJhMGY4MGJiMGY1ODI2NTMyZmU0MWIzYmFhMDkxYmRlMmM2MTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY3J5cHRvL2djcnlwdC9VdGlsaXRpZXMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NyeXB0by9nY3J5cHQvVXRpbGl0aWVzLmgK
QEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgPGdjcnlwdC5oPgogI2luY2x1ZGUgPHd0Zi9B
c3NlcnRpb25zLmg+CisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAKIG5hbWVzcGFjZSBQQUwg
ewogbmFtZXNwYWNlIEdDcnlwdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2Vz
Q29jb2EudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dAppbmRleCA2NmY3ZjE2
YmQ2NGY4MmM0MzJiZWFlZDhlNzBkMWI1ZmYwNjNhNTE3Li45NTdlNGI1YjY2MWI0MDIwZjBhMjFl
ZTAwOTVjMDE3NjQ2ZTQ5M2EzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29j
b2EudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKQEAgLTM4OSw3ICsz
ODksNyBAQCBwbGF0Zm9ybS9pb3MvUGxhdGZvcm1TY3JlZW5JT1MubW0KIHBsYXRmb3JtL2lvcy9Q
bGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVySU9TLm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1Bs
YXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0Lm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1F1
aWNrTG9vay5tbQotcGxhdGZvcm0vaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tCitwbGF0Zm9ybS9p
b3MvUXVpY2tMb29rU29mdExpbmsubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvUmVtb3RlQ29t
bWFuZExpc3RlbmVySU9TLm1tCiBwbGF0Zm9ybS9pb3MvU2Nyb2xsQW5pbWF0b3JJT1MubW0KIHBs
YXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbQpAQCAtMzk5LDcgKzM5OSw3IEBAIHBsYXRm
b3JtL2lvcy9TU0xLZXlHZW5lcmF0b3JJT1MuY3BwCiBwbGF0Zm9ybS9pb3MvU3lzdGVtTWVtb3J5
SU9TLmNwcAogcGxhdGZvcm0vaW9zL1RoZW1lSU9TLm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9z
L1RpbGVDb250cm9sbGVyTWVtb3J5SGFuZGxlcklPUy5jcHAKLXBsYXRmb3JtL2lvcy9Vc2VyQWdl
bnRJT1MubW0KK3BsYXRmb3JtL2lvcy9Vc2VyQWdlbnRJT1MubW0gQG5vLXVuaWZ5CiBwbGF0Zm9y
bS9pb3MvVmFsaWRhdGlvbkJ1YmJsZUlPUy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9WaWRl
b0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9XZWJB
VlBsYXllckNvbnRyb2xsZXIubW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiNmRmNzQ4YTZkMTkwNDg1YjE4YzNkNThjYjUxODNi
YmFkYjgyZjg5Li5kM2I5ZWFhY2Y0NWNjYzE4MzA4YThjZDhkZDU5YmRhYWIzYjY3NGQwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC04MDYsNiArODA2LDggQEAKIAkJMkQ4QjkyRkYyMDNEMTNFMTAwOUM4NjhGIC8qIFVuaWZpZWRT
b3VyY2U1MzAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gREU1Rjg1RDMxRkEyMzg1OTAwNkRCNjNCIC8qIFVuaWZpZWRTb3VyY2U1MzAuY3BwICovOyB9
OwogCQkyRDhGRUJERDE0M0UzRUY3MDA3MjUwMkIgLyogQ1NTQ3Jvc3NmYWRlVmFsdWUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOEZFQkRCMTQzRTNF
RjcwMDcyNTAyQiAvKiBDU1NDcm9zc2ZhZGVWYWx1ZS5oICovOyB9OwogCQkyRDkwNjYwNzBCRTE0
MUQ0MDA5NTY5OTggLyogTGF5b3V0U3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDJEOTA2NjA1MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTJE
OTJBNzlBMjEzNEFENzkwMEY0OTNGRCAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MzkxN0ZEMUE5MUIyRjgwMDZF
MDRGMiAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSAqLzsgfTsKKwkJMkQ5MkE3OUQyMTM0QUY5NTAw
RjQ5M0ZEIC8qIFVzZXJBZ2VudElPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEEzQUY5RDgzMjAzMjU2OTEwMDZDQUQwNiAvKiBVc2VyQWdlbnRJT1Mu
bW0gKi87IH07CiAJCTJEOTNBRUUzMTlERjU2NDEwMDJBODZDMyAvKiBTZXJ2aWNlc092ZXJsYXlD
b250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyRDkzQUVFMTE5REY1NjQxMDAyQTg2QzMgLyogU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5o
ICovOyB9OwogCQkyRDk3RjA0NzE5REQ0MTNDMDAxRUU5QzMgLyogTW9ja1BhZ2VPdmVybGF5Q2xp
ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJE
QUFFMzJDMTlEQ0FGNjAwMEUwMDJEMiAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuY3BwICovOyB9
OwogCQkyRDk3RjA0ODE5REQ0MTQwMDAxRUU5QzMgLyogTW9ja1BhZ2VPdmVybGF5Q2xpZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREFBRTMyRDE5
RENBRjYwMDBFMDAyRDIgLyogTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmggKi87IH07CkBAIC03MDcy
LDcgKzcwNzQsNyBAQAogCQkzMzlCNUI2MjEzMURBQTMyMDBGNDhEMDIgLyogQ29va2llc1N0cmF0
ZWd5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvb2tpZXNTdHJhdGVneS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNjYyRjk4NDA0N0NFREJFNUREREFGQUEg
LyogUmVuZGVyTWF0aE1MTWVuY2xvc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUmVuZGVyTWF0aE1MTWVuY2xvc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkzNzExOUE3OTIwQ0NCNjEwMDAyQzZEQzkgLyogV2ViS2l0VGFyZ2V0Q29uZGl0aW9u
YWxzLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IFdlYktpdFRhcmdldENvbmRpdGlvbmFscy54Y2Nv
bmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMzcxN0Q3RTUxN0VDQzNBNjAwM0My
NzZEIC8qIGV4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnBlcmw7IG5hbWUgPSBl
eHRyYWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGw7IHBhdGggPSAiU2NyaXB0cy9leHRyYWN0LWxv
Y2FsaXphYmxlLXN0cmluZ3MucGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzNzE3
RDdFNTE3RUNDM0E2MDAzQzI3NkQgLyogZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3Jp
cHQucGVybDsgbmFtZSA9ICJleHRyYWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGwiOyBwYXRoID0g
IlNjcmlwdHMvZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBsIjsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMzcxQTY3Q0ExMUM2QzdEQjAwMDQ3QjhCIC8qIEh5cGhlbmF0aW9uQ0Yu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSHlwaGVuYXRpb25DRi5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3MUU2NUNCMTM2NjFFREMwMEJFRURC
MCAvKiBQYWdlU2VyaWFsaXplci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQ
YWdlU2VyaWFsaXplci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzFFNjVDRDEz
NjYxRUVEMDBCRUVEQjAgLyogUGFnZVNlcmlhbGl6ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUGFnZVNlcmlhbGl6ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMTMzNTcsOCArMTMzNTksOCBAQAogCQlDREU1OTU5QzFCRjI3NTcxMDBBMUNC
RTggLyogQ0RNU2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IENETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakMubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERTY1NjBFMTdDQTZFNzYwMDUyNkJBNyAvKiBt
ZWRpYUNvbnRyb2xzQXBwbGUuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBtZWRpYUNvbnRyb2xz
QXBwbGUuanM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERTY2N0ExMUU0QkJBNEQw
MEU4MTU0QSAvKiBQbGF0Zm9ybUF1ZGlvRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBQbGF0Zm9ybUF1ZGlvRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQlDREU2NjdBMjFFNEJCRjE1MDBFODE1NEEgLyogV2ViQXVkaW9CdWZmZXJMaXN0LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IGNvY29hL1dlYkF1ZGlvQnVmZmVyTGlz
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNERTY2N0EzMUU0QkJGMTUwMEU4
MTU0QSAvKiBXZWJBdWRpb0J1ZmZlckxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gY29jb2EvV2ViQXVkaW9CdWZmZXJMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUNERTY2N0EyMUU0QkJGMTUwMEU4MTU0QSAvKiBXZWJBdWRpb0J1ZmZlckxpc3QuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViQXVkaW9CdWZmZXJMaXN0
LmNwcDsgcGF0aCA9IGNvY29hL1dlYkF1ZGlvQnVmZmVyTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUNERTY2N0EzMUU0QkJGMTUwMEU4MTU0QSAvKiBXZWJBdWRpb0J1ZmZl
ckxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViQXVkaW9CdWZmZXJM
aXN0Lmg7IHBhdGggPSBjb2NvYS9XZWJBdWRpb0J1ZmZlckxpc3QuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0RFN0ZDNDIxODE5MDRCMTAwMkJCQjc3IC8qIE9yZGVySXRlcmF0b3Iu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gT3JkZXJJdGVyYXRvci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERTdGQzQzMTgxOTA0QjEwMDJCQkI3
NyAvKiBPcmRlckl0ZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE9y
ZGVySXRlcmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFODNEQUYxODND
NDQwNjAwMzFFQUEzIC8qIFZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMxNDQyLDYgKzMxNDQ0LDcgQEAKIAkJCQlBQTEyREY0OTE3
NDNERjgzMDA0REFGREYgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCUNEQTI5QTMwMUNCRjc0RDQwMDkwMUNDRiAvKiBQbGF5YmFja1Nlc3Npb25J
bnRlcmZhY2VBVktpdC5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNEQTI5QTE2MUNCREE1NkMwMDkw
MUNDRiAvKiBQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMubW0gaW4gU291cmNlcyAqLywKKwkJ
CQkyRDkyQTc5QTIxMzRBRDc5MDBGNDkzRkQgLyogUXVpY2tMb29rU29mdExpbmsubW0gaW4gU291
cmNlcyAqLywKIAkJCQk0MTkyNDI0OTIxMjdCOTNFMDA2MzRGQ0YgLyogUmVhbHRpbWVPdXRnb2lu
Z1ZpZGVvU291cmNlQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQkzMTZEQ0I4QTFFN0E2OTk2
MDAxQjVGODcgLyogUlRDSWNlVHJhbnNwb3J0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNTEx
NTZFMTJCMTc0OUMwMEM5Njc1NCAvKiBTY3JvbGxBbmltYXRvck1hYy5tbSBpbiBTb3VyY2VzICov
LApAQCAtMzIwNTYsNiArMzIwNTksNyBAQAogCQkJCTJEOEI5MkZEMjAzRDEzRTEwMDlDODY4RiAv
KiBVbmlmaWVkU291cmNlNTI4LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOEI5MkZFMjAzRDEz
RTEwMDlDODY4RiAvKiBVbmlmaWVkU291cmNlNTI5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJE
OEI5MkZGMjAzRDEzRTEwMDlDODY4RiAvKiBVbmlmaWVkU291cmNlNTMwLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTJEOTJBNzlEMjEzNEFGOTUwMEY0OTNGRCAvKiBVc2VyQWdlbnRJT1MubW0gaW4g
U291cmNlcyAqLywKIAkJCQk1MzIwNDIwMjFGOUE5RjEwMDBCODFCMkEgLyogVXNlckFnZW50U2Ny
aXB0c0RhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0MzQjc5NzExOTA4NzU3QjAwQjQ3QTJE
IC8qIFVzZXJNZXNzYWdlSGFuZGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0U2ODM0NDE5
MjE0M0E4MDBGNEQ5MjggLyogVXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvci5jcHAgaW4gU291
cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0Ny
eXB0b0FsZ29yaXRobUVDRFNBLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1z
L0NyeXB0b0FsZ29yaXRobUVDRFNBLmNwcAppbmRleCA5NzMxN2UwNGE5Nzk3ZjE1NjE2ZGU0Yzc2
MDhiNzQ1ZDlmZGVkZWY3Li4xYjUzYzQ1M2IzNTI1MzZiNDgxMmVkZDJhYTY0ZDkxZTk1ZGY4NTRi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdv
cml0aG1FQ0RTQS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5
cHRvQWxnb3JpdGhtRUNEU0EuY3BwCkBAIC0zNiwxMiArMzYsMTQgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCituYW1lc3BhY2UgQ3J5cHRvQWxnb3JpdGhtRUNEU0FJbnRlcm5hbCB7CiBzdGF0
aWMgY29uc3QgY2hhciogY29uc3QgQUxHMjU2ID0gIkVTMjU2IjsKIHN0YXRpYyBjb25zdCBjaGFy
KiBjb25zdCBBTEczODQgPSAiRVMzODQiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzUx
MiA9ICJFUzUxMiI7CiBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgUDI1NiA9ICJQLTI1NiI7CiBz
dGF0aWMgY29uc3QgY2hhciogY29uc3QgUDM4NCA9ICJQLTM4NCI7CiBzdGF0aWMgY29uc3QgY2hh
ciogY29uc3QgUDUyMSA9ICJQLTUyMSI7Cit9CiAKIFJlZjxDcnlwdG9BbGdvcml0aG0+IENyeXB0
b0FsZ29yaXRobUVDRFNBOjpjcmVhdGUoKQogewpAQCAtMTAyLDYgKzEwNCw3IEBAIHZvaWQgQ3J5
cHRvQWxnb3JpdGhtRUNEU0E6OmdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFt
ZXRlcnMmIHBhcmFtZXRlCiAKIHZvaWQgQ3J5cHRvQWxnb3JpdGhtRUNEU0E6OmltcG9ydEtleShD
cnlwdG9LZXlGb3JtYXQgZm9ybWF0LCBLZXlEYXRhJiYgZGF0YSwgY29uc3QgQ3J5cHRvQWxnb3Jp
dGhtUGFyYW1ldGVycyYgcGFyYW1ldGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNh
Z2VCaXRtYXAgdXNhZ2VzLCBLZXlDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFj
ayYmIGV4Y2VwdGlvbkNhbGxiYWNrKQogeworICAgIHVzaW5nIG5hbWVzcGFjZSBDcnlwdG9BbGdv
cml0aG1FQ0RTQUludGVybmFsOwogICAgIGNvbnN0IGF1dG8mIGVjUGFyYW1ldGVycyA9IGRvd25j
YXN0PENyeXB0b0FsZ29yaXRobUVjS2V5UGFyYW1zPihwYXJhbWV0ZXJzKTsKIAogICAgIFJlZlB0
cjxDcnlwdG9LZXlFQz4gcmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRv
L2djcnlwdC9HQ3J5cHRVdGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nY3J5cHQv
R0NyeXB0VXRpbGl0aWVzLmgKaW5kZXggZjBhNDEzNDU2YTk0NDU5OTU4ZjlhN2YwMjU0NTM0NGI1
ZmI2YzNlNS4uMzZmNDhkMDRkNzgyZDUyMzk5ZGQ3N2M0YmMzZDc4MjhkNzk1YTlmMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2djcnlwdC9HQ3J5cHRVdGlsaXRpZXMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ2NyeXB0L0dDcnlwdFV0aWxpdGllcy5oCkBAIC0zNCw2
ICszNCw3IEBACiAjaW5jbHVkZSA8cGFsL2NyeXB0by9DcnlwdG9EaWdlc3QuaD4KICNpbmNsdWRl
IDxwYWwvY3J5cHRvL2djcnlwdC9IYW5kbGUuaD4KICNpbmNsdWRlIDxwYWwvY3J5cHRvL2djcnlw
dC9VdGlsaXRpZXMuaD4KKyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IGE3MWRhM2YwZWUxYTk3ZmI2NTAwMGZj
MWE1NTg3OTA0Zjc5MmE2OGUuLjIyNzU3OTg0MTg1YmZjODJjZGY3ZjMwMTc4NTU4N2IyZGVmMGE5
YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC02NDEsNyArNjQxLDcgQEAgcHVibGljOgogICAg
IAogICAgIFdFQkNPUkVfRVhQT1JUIERvY3VtZW50TG9hZGVyKiBsb2FkZXIoKSBjb25zdDsKIAot
ICAgIFdFQkNPUkVfRVhQT1JUIEV4Y2VwdGlvbk9yPFJlZlB0cjxXaW5kb3dQcm94eT4+IG9wZW5G
b3JCaW5kaW5ncyhET01XaW5kb3cmIGFjdGl2ZVdpbmRvdywgRE9NV2luZG93JiBmaXJzdFdpbmRv
dywgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwgY29uc3QgU3Ry
aW5nJiBmZWF0dXJlcyk7CisgICAgV0VCQ09SRV9FWFBPUlQgRXhjZXB0aW9uT3I8UmVmUHRyPFdp
bmRvd1Byb3h5Pj4gb3BlbkZvckJpbmRpbmdzKERPTVdpbmRvdyYgYWN0aXZlV2luZG93LCBET01X
aW5kb3cmIGZpcnN0RE9NV2luZG93LCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgQXRvbWljU3Ry
aW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGZlYXR1cmVzKTsKICAgICBXRUJDT1JFX0VYUE9SVCBF
eGNlcHRpb25PcjxEb2N1bWVudCY+IG9wZW5Gb3JCaW5kaW5ncyhEb2N1bWVudCogcmVzcG9uc2li
bGVEb2N1bWVudCwgY29uc3QgU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIHJlcGxhY2UpOwog
CiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCByZW5hbWUgdGhpcyBhdCBzb21lIHBvaW50IGFuZCBn
aXZlIGJhY2sgdGhlIG5hbWUgJ29wZW4nIHRvIHRoZSBIVE1MIHNwZWNpZmllZCBvbmVzLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKaW5kZXggZTQw
ZjlhODg2ZjE1OTA0ZTYyZjBmMjY4OGE4NjlhNjk4ODliNGE4OS4uYzczMTkyMmFmODI5ODNiOWRh
YTZiYzdmZTUyMjc4NjM3MzE2ODNmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MVHJlZUJ1aWxkZXIuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiSFRNTERv
Y3VtZW50UGFyc2VyLmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1Db250cm9sRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkhUTUxGb3JtRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIK
ICNpbmNsdWRlICJIVE1MT3B0R3JvdXBFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE9wdGlvbkVs
ZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVJlc291
cmNlTG9hZGVyLmgKaW5kZXggNzJiMjk3NTVmMTFkOTQwOTVmYTdlZGQ1MzA5NjhmN2M1N2I1N2Jl
Yi4uNmQ5YTJkYTliZTAzMjAwN2E4MmVkYTY4YzE2ZmQyZjI4YjFjMTI4MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxv
YWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlUmVzb3VyY2VMb2FkZXIuaApAQCAtMjUsNiArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAor
I2luY2x1ZGUgIkFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJh
d1Jlc291cmNlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmF3UmVzb3VyY2VDbGllbnQuaCIKICNpbmNs
dWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9BbHRlcm5hdGl2ZVRleHRDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWx0ZXJu
YXRpdmVUZXh0Q2xpZW50LmgKaW5kZXggOTM1NTkzNzg4Zjk4OTljOWUyMjUxMDg4YjRlNzZkMDA1
ZDNkMmY5OC4uMTQzZGE2YzQ3ZjRiY2VmYzBhNDFhYTg3NjQ2N2QwNDQ3MTViYTcwYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9BbHRlcm5hdGl2ZVRleHRDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0FsdGVybmF0aXZlVGV4dENsaWVudC5oCkBAIC0yOSwxMSArMjks
NiBAQAogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIAotI2lmIFBMQVRGT1JNKE1BQykKLS8vIFNvbWUgcGxhdGZvcm1zIHByb3ZpZGUgVUkg
Zm9yIHN1Z2dlc3RpbmcgYWx0ZXJuYXRpdmUgZGljdGF0aW9uIHRleHQuCi0jZGVmaW5lIFVTRV9E
SUNUQVRJT05fQUxURVJOQVRJVkVTIDEKLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGVudW0gUmVhc29uRm9yRGlzbWlzc2luZ0FsdGVybmF0aXZlVGV4dCB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9QYXN0ZWJvYXJkLmgKaW5kZXggZDU0MzNkZDkyMGFlMGVlNTkyYmQ0NWZkNTYwY2RkM2Uz
OGEzNDcyMS4uZTA5ODE1NjUxYmQyZDYwNTc0ZGE0MjM2YzM4MGZhZDRkNjAyMTVhOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaApAQCAtMzM4LDYgKzMzOCw3IEBAIGV4dGVybiBO
U1N0cmluZyAqVUlDb2xvclBib2FyZFR5cGU7CiAjaWYgUExBVEZPUk0oTUFDKQogZXh0ZXJuIGNv
bnN0IGNoYXIqIGNvbnN0IFdlYkFyY2hpdmVQYm9hcmRUeXBlOwogZXh0ZXJuIGNvbnN0IGNoYXIq
IGNvbnN0IFdlYlVSTE5hbWVQYm9hcmRUeXBlOworZXh0ZXJuIGNvbnN0IGNoYXIqIGNvbnN0IFdl
YlVSTHNXaXRoVGl0bGVzUGJvYXJkVHlwZTsKICNlbmRpZgogCiAjaWYgIVBMQVRGT1JNKEdUSykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZy
ZXNoTW9uaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5
UmVmcmVzaE1vbml0b3IuY3BwCmluZGV4IDk2OGJiMjI4NmExZjdlNTg0NjRlZjg4ZDc5ZTYxZWY0
MjQ5MDE1NWYuLjNlMmM4MmI4YjEyZWRhMDlkYjQzZjRjMTMwMTRjNWJiYWMwYjcwMzAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9u
aXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJl
ZnJlc2hNb25pdG9yLmNwcApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiRGlzcGxheVJl
ZnJlc2hNb25pdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9yTWFu
YWdlci5oIgorI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIAogI2lmIFBMQVRGT1JNKElPUykKICNpbmNs
dWRlICJEaXNwbGF5UmVmcmVzaE1vbml0b3JJT1MuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbk51
bGwuY3BwCmluZGV4IDIxNzY5MWY3MjM5NzRlODAwNTc5YjI4Y2MwNTZhN2I5YzA4NWM2NGQuLjE1
YzAzODc2OTgyNjBmNDA1ZTIyZTViZjUyNzgwMDMwOGM3ZmUzYmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseVNwZWNp
ZmljYXRpb25OdWxsLmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkZvbnRGYW1pbHlT
cGVjaWZpY2F0aW9uTnVsbC5oIgogCiAjaW5jbHVkZSAiRm9udFNlbGVjdG9yLmgiCisjaW5jbHVk
ZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdM
TGF5ZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHTExh
eWVyLm1tCmluZGV4IDNlZDdlNDFlN2M2ODg0NmYzZmJjMTcyY2U2YmE5ODlmZjg3ZjU3ZWIuLjhl
ZTM0OGQ4OTk4NjM0MTNkNmI2NzEzNzZlNWIxZGE1NGNiMTM3NjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdMTGF5ZXIubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5tbQpAQCAtNDIs
MTMgKzQyLDExIEBACiAjaW1wb3J0IDxPcGVuR0wvZ2wuaD4KICNlbmRpZgogCi11c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKLQogQGltcGxlbWVudGF0aW9uIFdlYkdMTGF5ZXIKIAogQHN5bnRoZXNp
emUgY29udGV4dD1fY29udGV4dDsKIAotLShpZClpbml0V2l0aEdyYXBoaWNzQ29udGV4dDNEOihH
cmFwaGljc0NvbnRleHQzRCopY29udGV4dAorLShpZClpbml0V2l0aEdyYXBoaWNzQ29udGV4dDNE
OihXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRCopY29udGV4dAogewogICAgIF9jb250ZXh0ID0g
Y29udGV4dDsKICAgICBzZWxmID0gW3N1cGVyIGluaXRdOwpAQCAtODYsNyArODQsNyBAQCBzdGF0
aWMgdm9pZCBmcmVlRGF0YSh2b2lkICosIGNvbnN0IHZvaWQgKmRhdGEsIHNpemVfdCAvKiBzaXpl
ICovKQogfQogI2VuZGlmCiAKLS0oQ0dJbWFnZVJlZiljb3B5SW1hZ2VTbmFwc2hvdFdpdGhDb2xv
clNwYWNlOihDR0NvbG9yU3BhY2VSZWYpY29sb3JTcGFjZQorLSAoQ0dJbWFnZVJlZiljb3B5SW1h
Z2VTbmFwc2hvdFdpdGhDb2xvclNwYWNlOihDR0NvbG9yU3BhY2VSZWYpY29sb3JTcGFjZQogewog
ICAgIGlmICghX2NvbnRleHQpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtOTYsNyArOTQs
NyBAQCAtKENHSW1hZ2VSZWYpY29weUltYWdlU25hcHNob3RXaXRoQ29sb3JTcGFjZTooQ0dDb2xv
clNwYWNlUmVmKWNvbG9yU3BhY2UKIAogICAgIFJldGFpblB0cjxDR0NvbG9yU3BhY2VSZWY+IGlt
YWdlQ29sb3JTcGFjZSA9IGNvbG9yU3BhY2U7CiAgICAgaWYgKCFpbWFnZUNvbG9yU3BhY2UpCi0g
ICAgICAgIGltYWdlQ29sb3JTcGFjZSA9IHNSR0JDb2xvclNwYWNlUmVmKCk7CisgICAgICAgIGlt
YWdlQ29sb3JTcGFjZSA9IFdlYkNvcmU6OnNSR0JDb2xvclNwYWNlUmVmKCk7CiAKICAgICBDR1Jl
Y3QgbGF5ZXJCb3VuZHMgPSBDR1JlY3RJbnRlZ3JhbChbc2VsZiBib3VuZHNdKTsKIApAQCAtMTQx
LDE5ICsxMzksMTkgQEAgLSAodm9pZClkaXNwbGF5CiAjZW5kaWYKIAogICAgIF9jb250ZXh0LT5t
YXJrTGF5ZXJDb21wb3NpdGVkKCk7Ci0gICAgUGxhdGZvcm1DQUxheWVyKiBsYXllciA9IFBsYXRm
b3JtQ0FMYXllcjo6cGxhdGZvcm1DQUxheWVyKChfX2JyaWRnZSB2b2lkKilzZWxmKTsKKyAgICBX
ZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXIqIGxheWVyID0gV2ViQ29yZTo6UGxhdGZvcm1DQUxheWVy
OjpwbGF0Zm9ybUNBTGF5ZXIoKF9fYnJpZGdlIHZvaWQqKXNlbGYpOwogICAgIGlmIChsYXllciAm
JiBsYXllci0+b3duZXIoKSkKICAgICAgICAgbGF5ZXItPm93bmVyKCktPnBsYXRmb3JtQ0FMYXll
ckxheWVyRGlkRGlzcGxheShsYXllcik7CiB9CiAKICNpZiBVU0UoT1BFTkdMKQotLSAodm9pZClh
bGxvY2F0ZUlPU3VyZmFjZUJhY2tpbmdTdG9yZVdpdGhTaXplOihJbnRTaXplKXNpemUgdXNpbmdB
bHBoYTooQk9PTCl1c2luZ0FscGhhCistICh2b2lkKWFsbG9jYXRlSU9TdXJmYWNlQmFja2luZ1N0
b3JlV2l0aFNpemU6KFdlYkNvcmU6OkludFNpemUpc2l6ZSB1c2luZ0FscGhhOihCT09MKXVzaW5n
QWxwaGEKIHsKICAgICBfYnVmZmVyU2l6ZSA9IHNpemU7CiAgICAgX3VzaW5nQWxwaGEgPSB1c2lu
Z0FscGhhOwotICAgIF9jb250ZW50c0J1ZmZlciA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRl
KHNpemUsIHNSR0JDb2xvclNwYWNlUmVmKCkpOwotICAgIF9kcmF3aW5nQnVmZmVyID0gV2ViQ29y
ZTo6SU9TdXJmYWNlOjpjcmVhdGUoc2l6ZSwgc1JHQkNvbG9yU3BhY2VSZWYoKSk7Ci0gICAgX3Nw
YXJlQnVmZmVyID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVhdGUoc2l6ZSwgc1JHQkNvbG9yU3Bh
Y2VSZWYoKSk7CisgICAgX2NvbnRlbnRzQnVmZmVyID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVh
dGUoc2l6ZSwgV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYoKSk7CisgICAgX2RyYXdpbmdCdWZm
ZXIgPSBXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShzaXplLCBXZWJDb3JlOjpzUkdCQ29sb3JT
cGFjZVJlZigpKTsKKyAgICBfc3BhcmVCdWZmZXIgPSBXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0
ZShzaXplLCBXZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigpKTsKIAogICAgIEFTU0VSVChfY29u
dGVudHNCdWZmZXIpOwogICAgIEFTU0VSVChfZHJhd2luZ0J1ZmZlcik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLm1tCmluZGV4
IDVjMzU1N2Y4YmQ2NmE2OGM5MjNiMjNhYTY0N2JiNzE0ODQwOWU5YTEuLjI1ZWZiOGI3NDc2ODAy
NDU1OGRiY2RmMzBmNzQzMTg3MTQ2OTU1YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLm1tCkBAIC0zNCwxMyArMzQsMTEg
QEAKICNpbXBvcnQgPHd0Zi9GYXN0TWFsbG9jLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+
CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBAaW1wbGVtZW50YXRpb24gV2ViR1BVTGF5
ZXIKIAogQHN5bnRoZXNpemUgY29udGV4dD1fY29udGV4dDsKIAotLSAoaWQpaW5pdFdpdGhHUFVE
ZXZpY2U6KEdQVURldmljZSopY29udGV4dAorLSAoaWQpaW5pdFdpdGhHUFVEZXZpY2U6KFdlYkNv
cmU6OkdQVURldmljZSopY29udGV4dAogewogICAgIHNlbGYgPSBbc3VwZXIgaW5pdF07CiAgICAg
X2NvbnRleHQgPSBjb250ZXh0OwpAQCAtNTAsNyArNDgsNyBAQCAtIChpZClpbml0V2l0aEdQVURl
dmljZTooR1BVRGV2aWNlKiljb250ZXh0CiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgc2VsZi5j
b250ZW50c1NjYWxlID0gX2RldmljZVBpeGVsUmF0aW87Ci0gICAgc2VsZi5jb2xvcnNwYWNlID0g
c1JHQkNvbG9yU3BhY2VSZWYoKTsKKyAgICBzZWxmLmNvbG9yc3BhY2UgPSBXZWJDb3JlOjpzUkdC
Q29sb3JTcGFjZVJlZigpOwogI2VuZGlmCiAgICAgcmV0dXJuIHNlbGY7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVN
ZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbW1h
bmRRdWV1ZU1ldGFsLm1tCmluZGV4IDgyMGFmOGJjMTZkYjNiNDg2NWU3OWI3YjgyNGRiMmM3YjRk
ZjNlY2MuLjMwM2IyNWRhM2Q0YTY0ZWQxYjAwMzBiNzJiOWZkYmM2Zjk2NWMzM2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1
ZU1ldGFsLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQ
VUNvbW1hbmRRdWV1ZU1ldGFsLm1tCkBAIC0zMSw2ICszMSw3IEBACiAjaW1wb3J0ICJHUFVEZXZp
Y2UuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgPE1ldGFsL01ldGFsLmg+CisjaW1w
b3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCmluZGV4IGNiNTA0Y2Y1
NDNlYjdlODBkNzY2NWNkMWU1N2UzMDg5YWZmYjFhNzAuLmZkNmU5Mjk4Nzc0ZmFmNGZlODczNWJm
Mjc1NjVhZGM5NTMyYmY2MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9QYXN0ZWJvYXJkTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0
ZWJvYXJkTWFjLm1tCkBAIC01MiwxMCArNTIsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
b25zdCBjaGFyKiBjb25zdCBXZWJBcmNoaXZlUGJvYXJkVHlwZSA9ICJBcHBsZSBXZWIgQXJjaGl2
ZSBwYXN0ZWJvYXJkIHR5cGUiOwogY29uc3QgY2hhciogY29uc3QgV2ViVVJMTmFtZVBib2FyZFR5
cGUgPSAicHVibGljLnVybC1uYW1lIjsKK2NvbnN0IGNoYXIqIGNvbnN0IFdlYlVSTHNXaXRoVGl0
bGVzUGJvYXJkVHlwZSA9ICJXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGUiOwogCiBjb25zdCBj
aGFyIFdlYlNtYXJ0UGFzdGVQYm9hcmRUeXBlW10gPSAiTmVYVCBzbWFydCBwYXN0ZSBwYXN0ZWJv
YXJkIHR5cGUiOwogY29uc3QgY2hhciBXZWJVUkxQYm9hcmRUeXBlW10gPSAicHVibGljLnVybCI7
Ci1jb25zdCBjaGFyIFdlYlVSTHNXaXRoVGl0bGVzUGJvYXJkVHlwZVtdID0gIldlYlVSTHNXaXRo
VGl0bGVzUGJvYXJkVHlwZSI7CiAKIHN0YXRpYyBjb25zdCBWZWN0b3I8U3RyaW5nPiB3cml0YWJs
ZVR5cGVzRm9yVVJMKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2Eu
Y3BwCmluZGV4IDVjMmE5ZDI0MTk4YTEzZTQ4YzRmNzNlOWRlNjFkZDM3YWRlOTI1NTEuLmY0OTJl
NjE0MmYwMjMxYjk5N2U5NmJhNTkyNzk1ODg1NjgwOTMzYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2Nv
YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3Bs
YXlDYXB0dXJlTWFuYWdlckNvY29hLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKIAorI2luY2x1ZGUgIkNvcmVWaWRlb1NvZnRMaW5rLmgiCiAjaW5jbHVk
ZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgPHd0Zi9BbGdvcml0aG1zLmg+CiAjaW5jbHVkZSA8d3Rm
L05ldmVyRGVzdHJveWVkLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAppbmRleCAyNTQwOTY1NmMzZDYzMjAzNjE2
NWZhYjFkZDc0OWU4OGZjYTY4NDgyLi5mZjU4MzYxNzRlYWI5NTk1MjhhMjA3YmZiYWFiNjAwMzlk
OWI1MDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlUmVxdWVzdEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJIVFRQ
SGVhZGVyTmFtZXMuaCIKICNpbmNsdWRlICJQdWJsaWNTdWZmaXguaCIKICNpbmNsdWRlICJSZXNv
dXJjZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSAi
U2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlIDx3dGYvUG9pbnRlckNvbXBhcmlzb24uaD4KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Gb3JtRGF0YVN0
cmVhbUNGTmV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvRm9ybURh
dGFTdHJlYW1DRk5ldC5jcHAKaW5kZXggMjkwMjVkMzhhN2ZkMzZmZjliOTk2MjM5MWYwODA4NzAy
MWZmMTMwZS4uZTUzMjFjMjdkNGQ5NjhjNjZlNGNkNGM2Nzc5NjNmNWE3ZDZjYWRmZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Gb3JtRGF0YVN0cmVhbUNG
TmV0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0Zvcm1EYXRh
U3RyZWFtQ0ZOZXQuY3BwCkBAIC00MiwxMSArNDIsNyBAQAogI2luY2x1ZGUgPHd0Zi9TdGRMaWJF
eHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKLSNpZiBQTEFURk9STShJT1Mp
ICYmICFQTEFURk9STShJT1NNQUMpCi1zdGF0aWMgY29uc3QgU0ludDMyIGZuZkVyciA9IC00MzsK
LSNlbGlmIFBMQVRGT1JNKE1BQykKLSNpbmNsdWRlIDxDb3JlU2VydmljZXMvQ29yZVNlcnZpY2Vz
Lmg+Ci0jZW5kaWYKK3N0YXRpYyBjb25zdCBTSW50MzIgZmlsZU5vdEZvdW5kRXJyb3IgPSAtNDM7
CiAKICNpZiBQTEFURk9STShDT0NPQSkKIGV4dGVybiAiQyIgdm9pZCBDRlVSTFJlcXVlc3RTZXRI
VFRQUmVxdWVzdEJvZHkoQ0ZNdXRhYmxlVVJMUmVxdWVzdFJlZiBtdXRhYmxlSFRUUFJlcXVlc3Qs
IENGRGF0YVJlZiBodHRwQm9keSk7CkBAIC0yNDEsNyArMjM3LDcgQEAgc3RhdGljIEJvb2xlYW4g
Zm9ybU9wZW4oQ0ZSZWFkU3RyZWFtUmVmLCBDRlN0cmVhbUVycm9yKiBlcnJvciwgQm9vbGVhbiog
b3BlbkNvbXAKICNpZiBQTEFURk9STShXSU4pCiAgICAgICAgIEVOT0VOVDsKICNlbHNlCi0gICAg
ICAgIGZuZkVycjsKKyAgICAgICAgZmlsZU5vdEZvdW5kRXJyb3I7CiAjZW5kaWYKICAgICByZXR1
cm4gb3BlbmVkOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0
aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5jcHAKaW5kZXggM2JjODJj
NmUxYWJkMmZhYzQzYjA5OWM4ZTZlM2NjZjM2NmRkODUzYi4uMmMyYjUwOGZhYzVjNmZjODQ2Mjg1
YzlmZmE4OTVhN2I0MDIyYjhlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cuY3BwCkBA
IC0yNyw2ICsyNyw4IEBACiAjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cuaCIK
IAogI2luY2x1ZGUgIlJlbmRlck11bHRpQ29sdW1uRmxvdy5oIgorI2luY2x1ZGUgIlJlbmRlclRy
ZWVCdWlsZGVyQmxvY2suaCIKKyNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlck11bHRpQ29sdW1u
LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5saW5lLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAKaW5k
ZXggN2NkMDcxNWRmNTI0YTc2ZmQyMDZhMjM0MjhkOWRhYzdkN2Q4NTNmOC4uZGM5NTNjY2RjZWU4
MzAxZGZkMDU5N2E2MWQwNTJlM2M1MGI5ZjYxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5saW5lLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3Bw
CkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiUmVuZGVyRnVsbFNjcmVlbi5oIgogI2luY2x1
ZGUgIlJlbmRlcklubGluZS5oIgogI2luY2x1ZGUgIlJlbmRlclRhYmxlLmgiCisjaW5jbHVkZSAi
UmVuZGVyVHJlZUJ1aWxkZXJUYWJsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmUubW0gYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlLm1tCmluZGV4IGIxNzQyZmRmZGQzODY5ZWFkZDNkN2M1
YWVlNzA1ZTY2MWY5N2VlZGMuLmI4Yzk3MmY3ZWMxOGViN2Q0YzlhNzFkZTJiNGUxZTJjNjVkZTg3
NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmUubW0KKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZS5tbQpAQCAtMzQsOSArMzQsOCBA
QAogI2luY2x1ZGUgPFdlYkNvcmUvTGVnYWN5V2ViQXJjaGl2ZS5oPgogI2luY2x1ZGUgPHd0Zi9S
ZXRhaW5QdHIuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIG5hbWVzcGFjZSBBUEkg
ewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIFJlZjxXZWJBcmNoaXZlPiBXZWJBcmNoaXZl
OjpjcmVhdGUoV2ViQXJjaGl2ZVJlc291cmNlKiBtYWluUmVzb3VyY2UsIFJlZlB0cjxBUEk6OkFy
cmF5PiYmIHN1YnJlc291cmNlcywgUmVmUHRyPEFQSTo6QXJyYXk+JiYgc3ViZnJhbWVBcmNoaXZl
cykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmVSZXNv
dXJjZS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmVSZXNvdXJjZS5tbQpp
bmRleCBjYWU1Yjg1ZGYxNzdkZGRlNjhkODUyZTVlNTA2ZDhkOTJiZTJlYTk0Li5kYzBmOTBmMGYz
ODUxYWJmMTAwNDg0YmE1NzNhZTRhZjhlODBiMjMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tCkBAIC0zMyw5ICszMyw4IEBACiAjaW5jbHVkZSA8
V2ViQ29yZS9VUkwuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKLXVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwotCiBuYW1lc3BhY2UgQVBJIHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwogCiBSZWY8V2ViQXJjaGl2ZVJlc291cmNlPiBXZWJBcmNoaXZlUmVzb3VyY2U6OmNyZWF0ZShB
UEk6OkRhdGEqIGRhdGEsIGNvbnN0IFN0cmluZyYgVVJMLCBjb25zdCBTdHJpbmcmIE1JTUVUeXBl
LCBjb25zdCBTdHJpbmcmIHRleHRFbmNvZGluZykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1t
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVn
aW5Nb2R1bGVNYWMubW0KaW5kZXggNjhkN2M2YWRmMzYyNzUxMzEyOTYzNTYyODZmMTFlODQ5YzE0
YzJjMC4uYzBjY2FjNTk4NTNjZmFmZmQ5ZmYxZDFlM2Q2OGI2N2Q2NDU3ZjdjNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVn
aW5Nb2R1bGVNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2Fw
ZS9tYWMvTmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMubW0KQEAgLTM0LDkgKzM0LDggQEAKICNpbXBv
cnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYvc3BpL2NmL0NGQnVuZGxlU1BJLmg+
CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBuYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogCiBzdGF0aWMgYm9vbCBnZXRQbHVnaW5BcmNoaXRlY3R1cmUo
Q0ZCdW5kbGVSZWYgYnVuZGxlLCBQbHVnaW5Nb2R1bGVJbmZvJiBwbHVnaW4pCiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9QbHVnaW5JbmZv
cm1hdGlvbk1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFj
L1BsdWdpbkluZm9ybWF0aW9uTWFjLm1tCmluZGV4IDVlYzg0MjQ5NTljYmMxOTI4ODZmYTc1YWJm
MDNmM2Q4ODViY2IxZDkuLjMyNTg0ZDQxNmJlMGZmMjVlOWU5MWRkZjQyODcwZTMzOTRmNDkzNjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL1Bs
dWdpbkluZm9ybWF0aW9uTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMv
TmV0c2NhcGUvbWFjL1BsdWdpbkluZm9ybWF0aW9uTWFjLm1tCkBAIC0zNCw5ICszNCw4IEBACiAj
aW1wb3J0ICJTdHJpbmdVdGlsaXRpZXMuaCIKICNpbXBvcnQgPFdlYkNvcmUvUGx1Z2luQmxhY2ts
aXN0Lmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBuYW1lc3BhY2UgV2ViS2l0IHsK
K3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiB2b2lkIGdldFBsYXRmb3JtUGx1Z2luTW9kdWxl
SW5mb3JtYXRpb24oY29uc3QgUGx1Z2luTW9kdWxlSW5mbyYgcGx1Z2luLCBBUEk6OkRpY3Rpb25h
cnk6Ok1hcFR5cGUmIG1hcCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0Nv
Y29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRleCBkOGEzYzkwZGZm
ZTMyMjMyMmQ3NjNlZTIxZTdjYmE0NTBmZTg1ZmNmLi40YjhkNDgwNmI0NGYyMjA0NjU4NTc3ZWI3
YTk2NzhjYjhlMzQ3OWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50
eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC0yOTgsOSArMjk4LDkg
QEAgVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tIEBuby11bmlmeQogCiBVSVByb2Nlc3MvQXBw
bGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQogCi1VSVByb2Nl
c3MvQXBwbGVQYXkvaW9zL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5SU9TLm1tCitVSVByb2Nl
c3MvQXBwbGVQYXkvaW9zL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5SU9TLm1tIEBuby11bmlm
eQogCi1VSVByb2Nlc3MvQXBwbGVQYXkvbWFjL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWFj
Lm1tCitVSVByb2Nlc3MvQXBwbGVQYXkvbWFjL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWFj
Lm1tIEBuby11bmlmeQogCiBVSVByb2Nlc3MvQXV0aGVudGljYXRpb24vY29jb2EvQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VQcm94eUNvY29hLm1tCiBVSVByb2Nlc3MvQXV0aGVudGljYXRpb24vY29j
b2EvU2VjS2V5UHJveHlTdG9yZS5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaAppbmRleCBiZmM1ZWUzMzgyMjBk
OTE1NmZjY2YwMGMxZTc2ZDBiYmVlOTA0MTkwLi4zNzljODg1N2JlOTRiNjE5NTU1ZWRmZmVjNGMz
YTlhNmUxNzc5NDg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJ
QXV0b21hdGlvblNlc3Npb25DbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaApAQCAtNTEsNyArNTEsNyBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIH5BdXRvbWF0aW9uU2Vzc2lvbkNsaWVudCgpIHsgfQogCi0gICAgdmly
dHVhbCBTdHJpbmcgc2Vzc2lvbklkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBTdHJpbmcoKTsg
fQorICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgc2Vzc2lvbklkZW50aWZpZXIoKSBjb25zdCB7IHJl
dHVybiBXVEY6OlN0cmluZygpOyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZERpc2Nvbm5lY3RGcm9t
UmVtb3RlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mKSB7IH0KICAgICB2aXJ0dWFsIHZv
aWQgcmVxdWVzdE5ld1BhZ2VXaXRoT3B0aW9ucyhXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9u
JiwgQXV0b21hdGlvblNlc3Npb25Ccm93c2luZ0NvbnRleHRPcHRpb25zLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKFdlYktpdDo6V2ViUGFnZVByb3h5Kik+JiYgY29tcGxldGlvbkhhbmRsZXIpIHsg
Y29tcGxldGlvbkhhbmRsZXIobnVsbHB0cik7IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdE1h
eGltaXplV2luZG93T2ZQYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6
OldlYlBhZ2VQcm94eSYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikgeyBjb21wbGV0aW9uSGFuZGxlcigpOyB9CkBAIC02MSw4ICs2MSw4IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIGJvb2wgaXNTaG93aW5nSmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJLaXQ6
OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IHJldHVybiBm
YWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNtaXNzQ3VycmVudEphdmFTY3JpcHREaWFsb2dP
blBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5
JikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGFjY2VwdEN1cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25Q
YWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYp
IHsgfQotICAgIHZpcnR1YWwgU3RyaW5nIG1lc3NhZ2VPZkN1cnJlbnRKYXZhU2NyaXB0RGlhbG9n
T25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94
eSYpIHsgcmV0dXJuIFN0cmluZygpOyB9Ci0gICAgdmlydHVhbCB2b2lkIHNldFVzZXJJbnB1dEZv
ckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Np
b24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIGNvbnN0IFN0cmluZyYpIHsgfQorICAgIHZpcnR1
YWwgV1RGOjpTdHJpbmcgbWVzc2FnZU9mQ3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2Vi
S2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyByZXR1
cm4gV1RGOjpTdHJpbmcoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBzZXRVc2VySW5wdXRGb3JDdXJy
ZW50SmF2YVNjcmlwdFByb21wdE9uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwg
V2ViS2l0OjpXZWJQYWdlUHJveHkmLCBjb25zdCBXVEY6OlN0cmluZyYpIHsgfQogICAgIHZpcnR1
YWwgc3RkOjpvcHRpb25hbDxKYXZhU2NyaXB0RGlhbG9nVHlwZT4gdHlwZU9mQ3VycmVudEphdmFT
Y3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6
V2ViUGFnZVByb3h5JikgeyByZXR1cm4gc3RkOjpudWxsb3B0OyB9CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFn
ZXJDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9MZWdhY3lDdXN0b21Q
cm90b2NvbE1hbmFnZXJDbGllbnQubW0KaW5kZXggMTFiYTM3MjY1NDgzZmZlN2ZmMjQ2NTA5NDBk
OGYzM2E1MmMwYzA0YS4uMTlhNTliNDJjYWI3YjU0N2VkOTQ0NjBlNzJmYzAzOTZjZmU3OTI4NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJv
dG9jb2xNYW5hZ2VyQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbQpAQCAtMzIsMjMgKzMyLDIwIEBA
CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgogI2ltcG9ydCA8V2ViQ29yZS9S
ZXNvdXJjZVJlc3BvbnNlLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotdXNpbmcgbmFt
ZXNwYWNlIFdlYktpdDsKLQogQGludGVyZmFjZSBXS0N1c3RvbVByb3RvY29sTG9hZGVyIDogTlNP
YmplY3QgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlPiB7CiBAcHJpdmF0ZQotICAgIExlZ2FjeUN1
c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk7Cisg
ICAgV2ViS2l0OjpMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSogX2N1c3RvbVByb3Rv
Y29sTWFuYWdlclByb3h5OwogICAgIHVpbnQ2NF90IF9jdXN0b21Qcm90b2NvbElEOwogICAgIE5T
VVJMQ2FjaGVTdG9yYWdlUG9saWN5IF9zdG9yYWdlUG9saWN5OwogICAgIE5TVVJMQ29ubmVjdGlv
biAqX3VybENvbm5lY3Rpb247CiB9Ci0tIChpZClpbml0V2l0aExlZ2FjeUN1c3RvbVByb3RvY29s
TWFuYWdlclByb3h5OihMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSopY3VzdG9tUHJv
dG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJvdG9jb2xJRDoodWludDY0X3QpY3VzdG9tUHJvdG9j
b2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0OworLSAoaWQpaW5pdFdpdGhMZWdh
Y3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTooV2ViS2l0OjpMZWdhY3lDdXN0b21Qcm90b2Nv
bE1hbmFnZXJQcm94eSopY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJvdG9jb2xJ
RDoodWludDY0X3QpY3VzdG9tUHJvdG9jb2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1
ZXN0OwogLSAodm9pZCljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eURlc3Ryb3llZDsKIEBlbmQK
IAogQGltcGxlbWVudGF0aW9uIFdLQ3VzdG9tUHJvdG9jb2xMb2FkZXIKIAotLSAoaWQpaW5pdFdp
dGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTooTGVnYWN5Q3VzdG9tUHJvdG9jb2xN
YW5hZ2VyUHJveHkqKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5IGN1c3RvbVByb3RvY29sSUQ6
KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVz
dAorLSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTooV2ViS2l0
OjpMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSopY3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
UHJveHkgY3VzdG9tUHJvdG9jb2xJRDoodWludDY0X3QpY3VzdG9tUHJvdG9jb2xJRCByZXF1ZXN0
OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0CiB7CiAgICAgc2VsZiA9IFtzdXBlciBpbml0XTsKICAg
ICBpZiAoIXNlbGYpCkBAIC04NSw3ICs4Miw3IEBAIC0gKHZvaWQpY3VzdG9tUHJvdG9jb2xNYW5h
Z2VyUHJveHlEZXN0cm95ZWQKIAogLSAodm9pZCljb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24g
Kiljb25uZWN0aW9uIGRpZEZhaWxXaXRoRXJyb3I6KE5TRXJyb3IgKillcnJvcgogewotICAgIFJl
c291cmNlRXJyb3IgY29yZUVycm9yKGVycm9yKTsKKyAgICBXZWJDb3JlOjpSZXNvdXJjZUVycm9y
IGNvcmVFcnJvcihlcnJvcik7CiAgICAgX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5LT5kaWRG
YWlsV2l0aEVycm9yKF9jdXN0b21Qcm90b2NvbElELCBjb3JlRXJyb3IpOwogICAgIF9jdXN0b21Q
cm90b2NvbE1hbmFnZXJQcm94eS0+c3RvcExvYWRpbmcoX2N1c3RvbVByb3RvY29sSUQpOwogfQpA
QCAtOTksNyArOTYsNyBAQCAtIChOU0NhY2hlZFVSTFJlc3BvbnNlICopY29ubmVjdGlvbjooTlNV
UkxDb25uZWN0aW9uICopY29ubmVjdGlvbiB3aWxsQ2FjaGVSZXNwbwogCiAtICh2b2lkKWNvbm5l
Y3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gZGlkUmVjZWl2ZVJlc3BvbnNlOihO
U1VSTFJlc3BvbnNlICopcmVzcG9uc2UKIHsKLSAgICBSZXNvdXJjZVJlc3BvbnNlIGNvcmVSZXNw
b25zZShyZXNwb25zZSk7CisgICAgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSBjb3JlUmVzcG9u
c2UocmVzcG9uc2UpOwogICAgIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS0+ZGlkUmVjZWl2
ZVJlc3BvbnNlKF9jdXN0b21Qcm90b2NvbElELCBjb3JlUmVzcG9uc2UsIF9zdG9yYWdlUG9saWN5
KTsKIH0KIApAQCAtMTI3LDYgKzEyNCw3IEBAIC0gKHZvaWQpY29ubmVjdGlvbkRpZEZpbmlzaExv
YWRpbmc6KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24KIEBlbmQKIAogbmFtZXNwYWNlIFdl
YktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogdm9pZCBMZWdhY3lDdXN0b21Qcm90
b2NvbE1hbmFnZXJDbGllbnQ6OnN0YXJ0TG9hZGluZyhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFn
ZXJQcm94eSYgbWFuYWdlciwgdWludDY0X3QgY3VzdG9tUHJvdG9jb2xJRCwgY29uc3QgUmVzb3Vy
Y2VSZXF1ZXN0JiBjb3JlUmVxdWVzdCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcAppbmRleCBjMmI5MWE2Mzk3M2U2
MzEyMGFhZTUyOGY4OTc1Mzg1ZjdiNmRiZjYyLi5lZGVkOWM3ZDJhNGU1OGUzZDA1OGQ4MzI2ODMx
MDk4MTgyYWY0NDc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QbHVnaW5z
L1BsdWdpblByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCkBAIC00OCw3ICs0OCw3IEBAIHN0YXRpYyBjb25z
dCBTZWNvbmRzIHNuYXBzaG90dGluZ01pbmltdW1MaWZldGltZSB7IDMwX3MgfTsKIHN0YXRpYyBj
b25zdCBTZWNvbmRzIHNodXRkb3duVGltZW91dCB7IDFfbWluIH07CiBzdGF0aWMgY29uc3QgU2Vj
b25kcyBzbmFwc2hvdHRpbmdTaHV0ZG93blRpbWVvdXQgeyAxNV9zIH07CiAKLXN0YXRpYyB1aW50
NjRfdCBnZW5lcmF0ZUNhbGxiYWNrSUQoKQorc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlUGx1Z2lu
UHJvY2Vzc0NhbGxiYWNrSUQoKQogewogICAgIHN0YXRpYyB1aW50NjRfdCBjYWxsYmFja0lEOwog
CkBAIC0xMTQsNyArMTE0LDcgQEAgdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmdldFBsdWdpblBy
b2Nlc3NDb25uZWN0aW9uKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkcKIAogdm9pZCBQbHVn
aW5Qcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAo
VmVjdG9yPFN0cmluZz4pPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIHVpbnQ2NF90IGNh
bGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1aW50NjRfdCBjYWxsYmFja0lE
ID0gZ2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVuZGluZ0ZldGNo
V2Vic2l0ZURhdGFDYWxsYmFja3Muc2V0KGNhbGxiYWNrSUQsIFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpKTsKIAogICAgIGlmIChzdGF0ZSgpID09IFN0YXRlOjpMYXVuY2hpbmcpIHsKQEAgLTEy
Nyw3ICsxMjcsNyBAQCB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YShD
b21wbGV0aW9uSGFuZGxlcjx2b2lkIChWZWN0b3I8U3RyaW5nPgogCiB2b2lkIFBsdWdpblByb2Nl
c3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEoV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICB1aW50NjRf
dCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7CisgICAgdWludDY0X3QgY2FsbGJh
Y2tJRCA9IGdlbmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQoKTsKICAgICBtX3BlbmRpbmdE
ZWxldGVXZWJzaXRlRGF0YUNhbGxiYWNrcy5zZXQoY2FsbGJhY2tJRCwgV1RGTW92ZShjb21wbGV0
aW9uSGFuZGxlcikpOwogCiAgICAgaWYgKHN0YXRlKCkgPT0gU3RhdGU6OkxhdW5jaGluZykgewpA
QCAtMTQwLDcgKzE0MCw3IEBAIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRl
RGF0YShXYWxsVGltZSBtb2RpZmllZFNpbmNlLCBDb21wbGV0aW9uSGFuCiAKIHZvaWQgUGx1Z2lu
UHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZvckhvc3ROYW1lcyhjb25zdCBWZWN0b3I8
U3RyaW5nPiYgaG9zdE5hbWVzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkICgpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQogewotICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNr
SUQoKTsKKyAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2Fs
bGJhY2tJRCgpOwogICAgIG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5hbWVzQ2Fs
bGJhY2tzLnNldChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAKICAg
ICBpZiAoc3RhdGUoKSA9PSBTdGF0ZTo6TGF1bmNoaW5nKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxp
bmdOb2RlRGVsZWdhdGVJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXll
clRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW0KaW5kZXgg
NGEyZTI5YjU2MDk2MWE1OWIxY2I1NTE5NzgzOTE0OWMzMTA2ODRjMi4uNzJhODgyZjA1ODFkNWVh
YzkxZmMxNGJjMDVhMDJmMTQ0ZjE2YzExZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVn
YXRlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9p
b3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5tbQpAQCAtNDMsOCArNDMs
NiBAQAogI2ltcG9ydCA8V2ViQ29yZS9TY3JvbGxTbmFwT2Zmc2V0c0luZm8uaD4KICNlbmRpZgog
Ci11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogQGltcGxlbWVudGF0aW9uIFdLU2Nyb2xsaW5n
Tm9kZVNjcm9sbFZpZXdEZWxlZ2F0ZQogCiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhTY3JvbGxp
bmdUcmVlTm9kZURlbGVnYXRlOihXZWJLaXQ6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVs
ZWdhdGVJT1MqKWRlbGVnYXRlCkBAIC04MCw3ICs3OCw3IEBAIC0gKHZvaWQpc2Nyb2xsVmlld1dp
bGxFbmREcmFnZ2luZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldyB3aXRoVmVsb2NpdHk6KENH
UG9pCiAKICAgICBpZiAoIV9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2Rl
KCkuaG9yaXpvbnRhbFNuYXBPZmZzZXRzKCkuaXNFbXB0eSgpKSB7CiAgICAgICAgIHVuc2lnbmVk
IGluZGV4OwotICAgICAgICBmbG9hdCBwb3RlbnRpYWxTbmFwUG9zaXRpb24gPSBjbG9zZXN0U25h
cE9mZnNldChfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLmhvcml6
b250YWxTbmFwT2Zmc2V0cygpLCBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5n
Tm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0UmFuZ2VzKCksIGhvcml6b250YWxUYXJnZXQsIHZl
bG9jaXR5LngsIGluZGV4KTsKKyAgICAgICAgZmxvYXQgcG90ZW50aWFsU25hcFBvc2l0aW9uID0g
V2ViQ29yZTo6Y2xvc2VzdFNuYXBPZmZzZXQoX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNj
cm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNldHMoKSwgX3Njcm9sbGluZ1RyZWVOb2Rl
RGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNldFJhbmdlcygpLCBo
b3Jpem9udGFsVGFyZ2V0LCB2ZWxvY2l0eS54LCBpbmRleCk7CiAgICAgICAgIF9zY3JvbGxpbmdU
cmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuc2V0Q3VycmVudEhvcml6b250YWxTbmFw
UG9pbnRJbmRleChpbmRleCk7CiAgICAgICAgIGlmIChob3Jpem9udGFsVGFyZ2V0ID49IDAgJiYg
aG9yaXpvbnRhbFRhcmdldCA8PSBzY3JvbGxWaWV3LmNvbnRlbnRTaXplLndpZHRoKQogICAgICAg
ICAgICAgdGFyZ2V0Q29udGVudE9mZnNldC0+eCA9IHBvdGVudGlhbFNuYXBQb3NpdGlvbjsKQEAg
LTg4LDcgKzg2LDcgQEAgLSAodm9pZClzY3JvbGxWaWV3V2lsbEVuZERyYWdnaW5nOihVSVNjcm9s
bFZpZXcgKilzY3JvbGxWaWV3IHdpdGhWZWxvY2l0eTooQ0dQb2kKIAogICAgIGlmICghX3Njcm9s
bGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52ZXJ0aWNhbFNuYXBPZmZzZXRz
KCkuaXNFbXB0eSgpKSB7CiAgICAgICAgIHVuc2lnbmVkIGluZGV4OwotICAgICAgICBmbG9hdCBw
b3RlbnRpYWxTbmFwUG9zaXRpb24gPSBjbG9zZXN0U25hcE9mZnNldChfc2Nyb2xsaW5nVHJlZU5v
ZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2FsU25hcE9mZnNldHMoKSwgX3Njcm9s
bGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52ZXJ0aWNhbFNuYXBPZmZzZXRS
YW5nZXMoKSwgdmVydGljYWxUYXJnZXQsIHZlbG9jaXR5LnksIGluZGV4KTsKKyAgICAgICAgZmxv
YXQgcG90ZW50aWFsU25hcFBvc2l0aW9uID0gV2ViQ29yZTo6Y2xvc2VzdFNuYXBPZmZzZXQoX3Nj
cm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52ZXJ0aWNhbFNuYXBPZmZz
ZXRzKCksIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkudmVydGlj
YWxTbmFwT2Zmc2V0UmFuZ2VzKCksIHZlcnRpY2FsVGFyZ2V0LCB2ZWxvY2l0eS55LCBpbmRleCk7
CiAgICAgICAgIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuc2V0
Q3VycmVudFZlcnRpY2FsU25hcFBvaW50SW5kZXgoaW5kZXgpOwogICAgICAgICBpZiAodmVydGlj
YWxUYXJnZXQgPj0gMCAmJiB2ZXJ0aWNhbFRhcmdldCA8PSBzY3JvbGxWaWV3LmNvbnRlbnRTaXpl
LmhlaWdodCkKICAgICAgICAgICAgIHRhcmdldENvbnRlbnRPZmZzZXQtPnkgPSBwb3RlbnRpYWxT
bmFwUG9zaXRpb247CkBAIC0xMjIsNiArMTIwLDcgQEAgLSAodm9pZClzY3JvbGxWaWV3RGlkRW5k
RGVjZWxlcmF0aW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3CiBAZW5kCiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIFNjcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlRGVsZWdhdGVJT1M6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJ
T1MoU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUmIHNjcm9sbGluZ05vZGUpCiAgICAgOiBTY3Jv
bGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlKHNjcm9sbGluZ05vZGUpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1Byb3h5LmNw
cAppbmRleCBlZmE4ZDEzY2JiZDVmZmE4MDhiNWYwZWRiZjRhNTFkYzlkZjg1N2U3Li4zYTEzMWI0
ZDYwZDhhYTA3ZTg3ZmI1ZTRjNjE0ZjMwYTdkNDJiNTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94eS5jcHAKQEAgLTM3
LDcgKzM3LDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiAKLXN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUNhbGxiYWNrSUQoKQorc3RhdGljIHVpbnQ2NF90
IGdlbmVyYXRlU3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKCkKIHsKICAgICBzdGF0aWMgdWludDY0
X3QgY2FsbGJhY2tJRDsKIApAQCAtMTA1LDcgKzEwNSw3IEBAIHZvaWQgU3RvcmFnZVByb2Nlc3NQ
cm94eTo6ZmV0Y2hXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNl
dDxXCiB7CiAgICAgQVNTRVJUKGNhblNlbmRNZXNzYWdlKCkpOwogCi0gICAgdWludDY0X3QgY2Fs
bGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQg
PSBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVuZGluZ0ZldGNo
V2Vic2l0ZURhdGFDYWxsYmFja3MuYWRkKGNhbGxiYWNrSUQsIFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpKTsKIAogICAgIHNlbmQoTWVzc2FnZXM6OlN0b3JhZ2VQcm9jZXNzOjpGZXRjaFdlYnNp
dGVEYXRhKHNlc3Npb25JRCwgZGF0YVR5cGVzLCBjYWxsYmFja0lEKSwgMCk7CkBAIC0xMTMsNyAr
MTEzLDcgQEAgdm9pZCBTdG9yYWdlUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKFBBTDo6
U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFcKIAogdm9pZCBTdG9yYWdlUHJvY2Vzc1By
b3h5OjpkZWxldGVXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNl
dDxXZWJzaXRlRGF0YVR5cGU+IGRhdGFUeXBlcywgV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBhdXRv
IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICBhdXRvIGNhbGxiYWNrSUQg
PSBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpOwogCiAgICAgbV9wZW5kaW5nRGVs
ZXRlV2Vic2l0ZURhdGFDYWxsYmFja3MuYWRkKGNhbGxiYWNrSUQsIFdURk1vdmUoY29tcGxldGlv
bkhhbmRsZXIpKTsKICAgICBzZW5kKE1lc3NhZ2VzOjpTdG9yYWdlUHJvY2Vzczo6RGVsZXRlV2Vi
c2l0ZURhdGEoc2Vzc2lvbklELCBkYXRhVHlwZXMsIG1vZGlmaWVkU2luY2UsIGNhbGxiYWNrSUQp
LCAwKTsKQEAgLTEyMyw3ICsxMjMsNyBAQCB2b2lkIFN0b3JhZ2VQcm9jZXNzUHJveHk6OmRlbGV0
ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsCiB7CiAgICAg
QVNTRVJUKGNhblNlbmRNZXNzYWdlKCkpOwogCi0gICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdl
bmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVN0
b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRh
Rm9yT3JpZ2luc0NhbGxiYWNrcy5hZGQoY2FsbGJhY2tJRCwgV1RGTW92ZShjb21wbGV0aW9uSGFu
ZGxlcikpOwogCiAgICAgc2VuZChNZXNzYWdlczo6U3RvcmFnZVByb2Nlc3M6OkRlbGV0ZVdlYnNp
dGVEYXRhRm9yT3JpZ2lucyhzZXNzaW9uSUQsIGRhdGFUeXBlcywgb3JpZ2lucywgY2FsbGJhY2tJ
RCksIDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCAyNWZlNGEy
ZTg0Y2Q4NDlkM2Q5YjBmYTFjZDkzODlhNzNkYzFjZWE2Li42NWMwMTlmZDRlZTE1YTIyMDk3NDU2
NmJhNjI4N2NjNDI0MmU1ODIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aApAQCAtNjEsNyArNjEsNiBAQAogI2luY2x1ZGUgIldlYlBhZ2VJbmplY3RlZEJ1bmRsZUNsaWVu
dC5oIgogI2luY2x1ZGUgIldlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmgiCiAjaW5jbHVkZSAi
V2ViUHJlZmVyZW5jZXMuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0FsdGVybmF0aXZlVGV4dENsaWVu
dC5oPiAvLyBGSVhNRTogTmVlZGVkIGJ5IFdlYlBhZ2VQcm94eU1lc3NhZ2VzLmggZm9yIERJQ1RB
VElPTl9BTFRFUk5BVElWRVMuCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKICNp
bmNsdWRlICJXZWJQb3B1cE1lbnVQcm94eS5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NMaWZldGlt
ZVRyYWNrZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IGM3NzE1NTkwZWQ3MWNjZGQyM2RmMjg1YTNhYTdjMzZlNTQzZGI3ZjYuLmJj
N2MyNDNmNDc5NmFjYzJlY2U0YzRmZWNjNDQ5MjkyNThjZGI0NTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzU2LDYgKzc1Niw4IEBA
CiAJCTJEOTJBNzk1MjEyQjZBRDQwMEY0OTNGRCAvKiBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFBMkQ5MEQxMTI4MUM5NjYwMDFFQjk2MiAvKiBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzLmNwcCAqLzsgfTsKIAkJMkQ5MkE3OTYyMTJCNkFEQTAwRjQ5M0ZEIC8qIE5ldHNjYXBlUGx1
Z2luTW9kdWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBNEE5QzUzMTJCODE2Q0YwMDhGRTk4NCAvKiBOZXRzY2FwZVBsdWdpbk1vZHVsZS5jcHAg
Ki87IH07CiAJCTJEOTJBNzk3MjEyQjZBREEwMEY0OTNGRCAvKiBQbHVnaW5JbmZvcm1hdGlvbi5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzNGOEM4
RTE3M0FGNTJEMDA3QjdGMzkgLyogUGx1Z2luSW5mb3JtYXRpb24uY3BwICovOyB9OworCQkyRDky
QTc5ODIxMzQ4RDg1MDBGNDkzRkQgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNYWMubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUIxRjc3RDFE
MUIzMEE5MDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNYWMubW0gKi87IH07
CisJCTJEOTJBNzlGMjEzNEIwN0UwMEY0OTNGRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eUlPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFB
QjFGNzdCMUQxQjMwQTkwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUlPUy5t
bSAqLzsgfTsKIAkJMkQ5MzExNjkyMTJGNjFCMjAwMDQ0QkZFIC8qIFdLQ29udGVudFZpZXcubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNCNEUzRDE4
QkJFMDQ0MDAwRkNGQzkgLyogV0tDb250ZW50Vmlldy5tbSAqLzsgfTsKIAkJMkQ5MzExNkEyMTJG
NjFCNTAwMDQ0QkZFIC8qIFdLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0I0RTZCMThCQkYyNkEwMDBGQ0ZD
OSAvKiBXS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gKi87IH07CiAJCTJEOUVBMzBEMUE5NkNC
NTkwMDJEMjgwNyAvKiBXS1BhZ2VJbmplY3RlZEJ1bmRsZUNsaWVudC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5RUEzMEMxQTk2Q0I1OTAwMkQyODA3
IC8qIFdLUGFnZUluamVjdGVkQnVuZGxlQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTExMjQxLDYgKzExMjQzLDggQEAKIAkJCQk3Q0U5
Q0UxMDFGQTA3NjdBMDAwMTc3REUgLyogV2ViUGFnZVVwZGF0ZVByZWZlcmVuY2VzLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTdDNDY5NEM5MUE0QjRFQTEwMEFENTg0NSAvKiBXZWJQYXN0ZWJvYXJk
UHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFCMUY3OTYxRDFC
MzYxMzAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvck1lc3NhZ2VSZWNlaXZlci5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkyRDkyQTc5RjIxMzRCMDdFMDBGNDkzRkQgLyogV2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHlJT1MubW0gaW4gU291cmNlcyAqLywKKwkJCQkyRDkyQTc5ODIxMzQ4
RDg1MDBGNDkzRkQgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNYWMubW0gaW4gU291cmNl
cyAqLywKIAkJCQkxQUIxRjc5ODFEMUIzNjEzMDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5h
dG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5MkE3OEQy
MTJCNkFCMTAwRjQ5M0ZEIC8qIFdlYlBsYXRmb3JtVG91Y2hQb2ludC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkyRDkxMzQ0RTIxMkNGOUYwMDAxMjhBRkQgLyogV2ViUGx1Z2luSW5mb1Byb3ZpZGVy
LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1BsdWdpbnMvUERGL1BERlBsdWdpbi5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVn
aW5zL1BERi9QREZQbHVnaW4ubW0KaW5kZXggNTMwN2UyNmE3NjM3ZThhNjliMDQ1YWJiOTI4Nzlm
M2Y4YzY1ODZmMi4uNGNhYTZjYzBmNjA0NTBjMDNiMjJhMjg0ZGQxM2FmMjVlZmQ2ZTM4NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1t
CkBAIC04OCw4ICs4OCw2IEBACiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU01lbnVTUEkuaD4KICNp
bXBvcnQgPHd0Zi9VVUlELmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiAvLyBTZXQg
b3ZlcmZsb3c6IGhpZGRlbiBvbiB0aGUgYW5ub3RhdGlvbiBjb250YWluZXIgc28gPGlucHV0PiBl
bGVtZW50cyBzY3JvbGxlZCBvdXQgb2YgdmlldyBkb24ndCBzaG93CiAvLyBzY3JvbGxiYXJzIG9u
IHRoZSBib2R5LiBXZSBjYW4ndCBhZGQgYW5ub3RhdGlvbnMgZGlyZWN0bHkgdG8gdGhlIGJvZHks
IGJlY2F1c2Ugb3ZlcmZsb3c6IGhpZGRlbiBvbiB0aGUgYm9keQogLy8gd2lsbCBicmVhayBydWJi
ZXItYmFuZGluZy4KQEAgLTI5MCw3ICsyODgsNyBAQCAtIChOU0FycmF5ICopYWNjZXNzaWJpbGl0
eUFjdGlvbk5hbWVzCiAtICh2b2lkKWFjY2Vzc2liaWxpdHlQZXJmb3JtQWN0aW9uOihOU1N0cmlu
ZyAqKWFjdGlvbgogewogICAgIGlmIChbYWN0aW9uIGlzRXF1YWxUb1N0cmluZzpOU0FjY2Vzc2li
aWxpdHlTaG93TWVudUFjdGlvbl0pCi0gICAgICAgIF9wZGZQbHVnaW4tPnNob3dDb250ZXh0TWVu
dUF0UG9pbnQoSW50UmVjdChJbnRQb2ludCgpLCBfcGRmUGx1Z2luLT5zaXplKCkpLmNlbnRlcigp
KTsKKyAgICAgICAgX3BkZlBsdWdpbi0+c2hvd0NvbnRleHRNZW51QXRQb2ludChXZWJDb3JlOjpJ
bnRSZWN0KFdlYkNvcmU6OkludFBvaW50KCksIF9wZGZQbHVnaW4tPnNpemUoKSkuY2VudGVyKCkp
OwogfQogCiAtIChCT09MKWFjY2Vzc2liaWxpdHlJc0F0dHJpYnV0ZVNldHRhYmxlOihOU1N0cmlu
ZyAqKWF0dHJpYnV0ZQpAQCAtMzE2LDggKzMxNCw4IEBAIC0gKGlkKWFjY2Vzc2liaWxpdHlGb2N1
c2VkVUlFbGVtZW50CiB7CiAjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDEzMDAKICAgICBpZiAoV2ViS2l0OjpQREZQbHVnaW5Bbm5vdGF0aW9uKiBhY3RpdmVBbm5vdGF0
aW9uID0gX3BkZlBsdWdpbi0+YWN0aXZlQW5ub3RhdGlvbigpKSB7Ci0gICAgICAgIGlmIChBWE9i
amVjdENhY2hlKiBleGlzdGluZ0NhY2hlID0gX3BkZlBsdWdpbi0+YXhPYmplY3RDYWNoZSgpKSB7
Ci0gICAgICAgICAgICBpZiAoQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0ID0gZXhpc3RpbmdD
YWNoZS0+Z2V0T3JDcmVhdGUoYWN0aXZlQW5ub3RhdGlvbi0+ZWxlbWVudCgpKSkKKyAgICAgICAg
aWYgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGUqIGV4aXN0aW5nQ2FjaGUgPSBfcGRmUGx1Z2luLT5h
eE9iamVjdENhY2hlKCkpIHsKKyAgICAgICAgICAgIGlmIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
T2JqZWN0KiBvYmplY3QgPSBleGlzdGluZ0NhY2hlLT5nZXRPckNyZWF0ZShhY3RpdmVBbm5vdGF0
aW9uLT5lbGVtZW50KCkpKQogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKICNwcmFnbWEg
Y2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIgogICAg
ICAgICAgICAgICAgIHJldHVybiBbb2JqZWN0LT53cmFwcGVyKCkgYWNjZXNzaWJpbGl0eUF0dHJp
YnV0ZVZhbHVlOkAiX0FYQXNzb2NpYXRlZFBsdWdpblBhcmVudCJdOwpAQCAtMzM4LDExICszMzYs
MTEgQEAgLSAoaWQpYWNjZXNzaWJpbGl0eUFzc29jaWF0ZWRDb250cm9sRm9yQW5ub3RhdGlvbjoo
UERGQW5ub3RhdGlvbiAqKWFubm90YXRpb24KICAgICBpZiAoIWFjdGl2ZUFubm90YXRpb24gfHwg
IVthY3RpdmVBbm5vdGF0aW9uLT5hbm5vdGF0aW9uKCkgaXNFcXVhbDphbm5vdGF0aW9uXSkKICAg
ICAgICAgcmV0dXJuIG5pbDsKICAgICAKLSAgICBBWE9iamVjdENhY2hlKiBjYWNoZSA9IF9wZGZQ
bHVnaW4tPmF4T2JqZWN0Q2FjaGUoKTsKKyAgICBXZWJDb3JlOjpBWE9iamVjdENhY2hlKiBjYWNo
ZSA9IF9wZGZQbHVnaW4tPmF4T2JqZWN0Q2FjaGUoKTsKICAgICBpZiAoIWNhY2hlKQogICAgICAg
ICByZXR1cm4gbmlsOwogICAgIAotICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCA9IGNh
Y2hlLT5nZXRPckNyZWF0ZShhY3RpdmVBbm5vdGF0aW9uLT5lbGVtZW50KCkpOworICAgIFdlYkNv
cmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCA9IGNhY2hlLT5nZXRPckNyZWF0ZShhY3Rp
dmVBbm5vdGF0aW9uLT5lbGVtZW50KCkpOwogICAgIGlmICghb2JqZWN0KQogICAgICAgICByZXR1
cm4gbmlsOwogCkBAIC0zNTMsNyArMzUxLDcgQEAgLSAoaWQpYWNjZXNzaWJpbGl0eUFzc29jaWF0
ZWRDb250cm9sRm9yQW5ub3RhdGlvbjooUERGQW5ub3RhdGlvbiAqKWFubm90YXRpb24KIC0gKGlk
KWFjY2Vzc2liaWxpdHlIaXRUZXN0OihOU1BvaW50KXBvaW50CiB7CiAjaWYgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDAKLSAgICBwb2ludCA9IF9wZGZQbHVnaW4tPmNv
bnZlcnRGcm9tUm9vdFZpZXdUb1BERlZpZXcoSW50UG9pbnQocG9pbnQpKTsKKyAgICBwb2ludCA9
IF9wZGZQbHVnaW4tPmNvbnZlcnRGcm9tUm9vdFZpZXdUb1BERlZpZXcoV2ViQ29yZTo6SW50UG9p
bnQocG9pbnQpKTsKICAgICByZXR1cm4gW19wZGZMYXllckNvbnRyb2xsZXIgYWNjZXNzaWJpbGl0
eUhpdFRlc3Q6cG9pbnRdOwogI2Vsc2UKICAgICByZXR1cm4gc2VsZjsKQEAgLTQyMSw3ICs0MTks
NyBAQCAtIChpZClpbml0V2l0aFBERlBsdWdpbjooV2ViS2l0OjpQREZQbHVnaW4gKilwbHVnaW4K
IAogLSAodm9pZCl1cGRhdGVTY3JvbGxQb3NpdGlvbjooQ0dQb2ludCluZXdQb3NpdGlvbgogewot
ICAgIF9wZGZQbHVnaW4tPm5vdGlmeVNjcm9sbFBvc2l0aW9uQ2hhbmdlZChJbnRQb2ludChuZXdQ
b3NpdGlvbikpOworICAgIF9wZGZQbHVnaW4tPm5vdGlmeVNjcm9sbFBvc2l0aW9uQ2hhbmdlZChX
ZWJDb3JlOjpJbnRQb2ludChuZXdQb3NpdGlvbikpOwogfQogCiAtICh2b2lkKXdyaXRlSXRlbXNU
b1Bhc3RlYm9hcmQ6KE5TQXJyYXkgKilpdGVtcyB3aXRoVHlwZXM6KE5TQXJyYXkgKil0eXBlcwpA
QCAtNTAwLDYgKzQ5OCwxMCBAQCAtIChOU1JlY3QpY29udmVydFJlY3Q6KE5TUmVjdClyZWN0IGZy
b21QYWdlOihQREZQYWdlICopIHBhZ2UgZm9yU2NhbGVGYWN0b3I6KENHRgogLSAoUERGUGFnZSAq
KXBhZ2VOZWFyZXN0UG9pbnQ6KE5TUG9pbnQpcG9pbnQgY3VycmVudFBhZ2U6KFBERlBhZ2UgKilj
dXJyZW50UGFnZTsKIEBlbmQKIAorbmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKK3VzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CisKIHN0YXRpYyBjb25zdCBjaGFy
KiBwb3N0U2NyaXB0TUlNRVR5cGUgPSAiYXBwbGljYXRpb24vcG9zdHNjcmlwdCI7CiBjb25zdCB1
aW50NjRfdCBwZGZEb2N1bWVudFJlcXVlc3RJRCA9IDE7IC8vIFBsdWdpbkNvbnRyb2xsZXIgc3Vw
cG9ydHMgbG9hZGluZyBtdWx0aXBsZSBzdHJlYW1zLCBidXQgd2Ugb25seSBuZWVkIG9uZSBmb3Ig
UERGLgogCkBAIC01OTYsOSArNTk4LDYgQEAgc3RhdGljIHZvaWQgZ2V0QWxsU2NyaXB0c0luUERG
RG9jdW1lbnQoQ0dQREZEb2N1bWVudFJlZiBwZGZEb2N1bWVudCwgVmVjdG9yPFJldGEKICAgICB9
CiB9CiAKLW5hbWVzcGFjZSBXZWJLaXQgewotdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKLQog
UmVmPFBERlBsdWdpbj4gUERGUGx1Z2luOjpjcmVhdGUoV2ViRnJhbWUmIGZyYW1lKQogewogICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IFBERlBsdWdpbihmcmFtZSkpOwpAQCAtMTQ1MCw3ICsxNDQ5
LDcgQEAgdm9pZCBQREZQbHVnaW46OnVwZGF0ZUN1cnNvcihjb25zdCBXZWJNb3VzZUV2ZW50JiBl
dmVudCwgVXBkYXRlQ3Vyc29yTW9kZSBtb2RlKQogICAgIGlmIChoaXRUZXN0UmVzdWx0ID09IG1f
bGFzdEhpdFRlc3RSZXN1bHQgJiYgbW9kZSA9PSBVcGRhdGVJZk5lZWRlZCkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgd2ViRnJhbWUoKS0+cGFnZSgpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJv
eHk6OlNldEN1cnNvcihoaXRUZXN0UmVzdWx0ID09IFRleHQgPyBpQmVhbUN1cnNvcigpIDogcG9p
bnRlckN1cnNvcigpKSk7CisgICAgd2ViRnJhbWUoKS0+cGFnZSgpLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlUHJveHk6OlNldEN1cnNvcihoaXRUZXN0UmVzdWx0ID09IFRleHQgPyBXZWJDb3JlOjpp
QmVhbUN1cnNvcigpIDogV2ViQ29yZTo6cG9pbnRlckN1cnNvcigpKSk7CiAgICAgbV9sYXN0SGl0
VGVzdFJlc3VsdCA9IGhpdFRlc3RSZXN1bHQ7CiB9CiAjZW5kaWYKQEAgLTE5ODEsMTYgKzE5ODAs
MTYgQEAgdm9pZCBQREZQbHVnaW46Om5vdGlmeVNlbGVjdGlvbkNoYW5nZWQoUERGU2VsZWN0aW9u
ICopCiAgICAgd2ViRnJhbWUoKS0+cGFnZSgpLT5kaWRDaGFuZ2VTZWxlY3Rpb24oKTsKIH0KIAot
c3RhdGljIGNvbnN0IEN1cnNvciYgY29yZUN1cnNvcihQREZMYXllckNvbnRyb2xsZXJDdXJzb3JU
eXBlIHR5cGUpCitzdGF0aWMgY29uc3QgV2ViQ29yZTo6Q3Vyc29yJiBjb3JlQ3Vyc29yKFBERkxh
eWVyQ29udHJvbGxlckN1cnNvclR5cGUgdHlwZSkKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKICAg
ICBjYXNlIGtQREZMYXllckNvbnRyb2xsZXJDdXJzb3JUeXBlSGFuZDoKLSAgICAgICAgcmV0dXJu
IGhhbmRDdXJzb3IoKTsKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OmhhbmRDdXJzb3IoKTsKICAg
ICBjYXNlIGtQREZMYXllckNvbnRyb2xsZXJDdXJzb3JUeXBlSUJlYW06Ci0gICAgICAgIHJldHVy
biBpQmVhbUN1cnNvcigpOworICAgICAgICByZXR1cm4gV2ViQ29yZTo6aUJlYW1DdXJzb3IoKTsK
ICAgICBjYXNlIGtQREZMYXllckNvbnRyb2xsZXJDdXJzb3JUeXBlUG9pbnRlcjoKICAgICBkZWZh
dWx0OgotICAgICAgICByZXR1cm4gcG9pbnRlckN1cnNvcigpOworICAgICAgICByZXR1cm4gV2Vi
Q29yZTo6cG9pbnRlckN1cnNvcigpOwogICAgIH0KIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348250</attachid>
            <date>2018-08-27 19:03:05 -0700</date>
            <delta_ts>2018-08-27 19:26:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189009-20180827190305.patch</filename>
            <type>text/plain</type>
            <size>56398</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGMyOWZmMzZiMTcwMDNiYTAxZDNlYmJj
YWNhNDY4ZTRmNDZlM2YzN2IuLjA3YzYxYjkxMTg5ZjZmYjg3M2MxN2MxNWM0N2Y1NzI2ODE0YzY4
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3Jl
IHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL2dlbmVy
YXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmI6CisgICAgICAgIEl0IHR1cm5zIG91dCBvdXIg
cGxhbiB0byBzd2l0Y2ggdW5pZmllZCBzb3VyY2UgYnVuZGxlIGV2ZXJ5IHRpbWUgdGhlIGRpcmVj
dG9yeQorICAgICAgICBjaGFuZ2VzIGlzIG5vdCBhIGdvb2QgZml0IGZvciBwcm9qZWN0cyBsaWtl
IFdlYktpdDIgd2l0aCBtYW55IHNtYWxsIGRpcmVjdG9yaWVzLgorICAgICAgICBJdCBsZWF2ZXMg
bWFueSB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIHdpdGggb25seSBhIHNpbmdsZSBzb3VyY2UgZmls
ZSwKKyAgICAgICAgYWNoaWV2aW5nIG9ubHkgfjQwJSBkZW5zaXR5LgorCisgICAgICAgIEluc3Rl
YWQsIHN3aXRjaCB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIGV2ZXJ5IHRpbWUgdGhlIHRvcC1sZXZl
bCBkaXJlY3RvcnkgY2hhbmdlcy4KKyAgICAgICAgVGhpcyBzdGlsbCBhY2hpZXZlcyB0aGUgZ29h
bCBvZiAqdXN1YWxseSogb25seSByZWJ1aWxkaW5nIHRoZSBvbmUgdG9wLWxldmVsCisgICAgICAg
IGRpcmVjdG9yeSB5b3UgdG91Y2hlZCwgYW5kIGluY3JlYXNlcyBzb3VyY2UgYnVuZGxlIGRlbnNp
dHkgd2lsZGx5LCB0byB+OTUlLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTgt
MDgtMjcgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQgYnVpbGQgZml4IC0tIGRpc2FibGUgTFRPIGZvciBwcm9kdWN0aW9uIGJ1aWxkcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDdmZjk4ZTNhMDliZTBjOWE3ZWM2MWFlYWVjZDk4MjhmYTcxNjNmZjMuLmNiZGZk
OTgwODYyMDk5NTFkNmQ2ZWJjMTZkYjk0Y2EzZmI3YzQ1ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzOCBAQAorMjAxOC0wOC0yNyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNv
bT4KKworICAgICAgICBCdW5kbGUgdW5pZmllZCBzb3VyY2VzIG1vcmUgdGlnaHRseSBpbiBwcm9q
ZWN0cyB3aXRoIGRlZXAgZGlyZWN0b3J5IHN0cnVjdHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTAwOQorCisgICAgICAgIFJldmlld2VkIGJ5
IFNpbW9uIEZyYXNlci4KKworICAgICAgICBGaXggYSB2YXJpZXR5IG9mIHVuaWZpY2F0aW9uIGVy
cm9ycyBkdWUgdG8gcmVzaHVmZmxpbmcgdGhlIGJ1bmRsZXMuCisKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAqIFNvdXJjZXNDb2NvYS50
eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUVDRFNBLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUVDRFNBOjppbXBvcnRLZXkpOgorICAgICAgICAqIGRv
bS9Eb2N1bWVudC5oOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHA6
CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRl
ci5oOgorICAgICAgICAqIHBhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50Lmg6CisgICAgICAgICog
cGxhdGZvcm0vUGFzdGVib2FyZC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Rpc3Bs
YXlSZWZyZXNoTW9uaXRvci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZh
bWlseVNwZWNpZmljYXRpb25OdWxsLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJHTExheWVyLm1tOgorICAgICAgICAoLVtXZWJHTExheWVyIGluaXRXaXRoR3JhcGhp
Y3NDb250ZXh0M0Q6XSk6CisgICAgICAgICgtW1dlYkdMTGF5ZXIgY29weUltYWdlU25hcHNob3RX
aXRoQ29sb3JTcGFjZTpdKToKKyAgICAgICAgKC1bV2ViR0xMYXllciBkaXNwbGF5XSk6CisgICAg
ICAgICgtW1dlYkdMTGF5ZXIgYWxsb2NhdGVJT1N1cmZhY2VCYWNraW5nU3RvcmVXaXRoU2l6ZTp1
c2luZ0FscGhhOl0pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxh
eWVyLm1tOgorICAgICAgICAoLVtXZWJHUFVMYXllciBpbml0V2l0aEdQVURldmljZTpdKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHA6CisgICAgICAg
ICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwOgor
CiAyMDE4LTA4LTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtBdHRhY2htZW50IFN1cHBvcnRdIFJlbW92ZSBXZWJDb3JlOjpBdHRhY2htZW50RGlz
cGxheU9wdGlvbnMgYW5kIGZyaWVuZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYjczYzY3OTE3NzA1N2UxNDIxYWEy
YTNiMDU4NTIwYTc4ODYzMzhhMy4uNDZiMWEyZDYzY2U3ZmMyMzkyOTlmNmJjYjc3MGNjNGYxN2Zh
NGQ1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MiBAQAorMjAxOC0wOC0yNyAgVGltIEhvcnRvbiAg
PHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBCdW5kbGUgdW5pZmllZCBzb3Vy
Y2VzIG1vcmUgdGlnaHRseSBpbiBwcm9qZWN0cyB3aXRoIGRlZXAgZGlyZWN0b3J5IHN0cnVjdHVy
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTAw
OQorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBGaXggYSB2
YXJpZXR5IG9mIHVuaWZpY2F0aW9uIGVycm9ycyBkdWUgdG8gcmVzaHVmZmxpbmcgdGhlIGJ1bmRs
ZXMuCisKKyAgICAgICAgKiBTaGFyZWQvQVBJV2ViQXJjaGl2ZS5tbToKKyAgICAgICAgKiBTaGFy
ZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05l
dHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbToKKyAgICAgICAgKiBTaGFyZWQv
UGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW06CisgICAgICAgICog
U291cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25T
ZXNzaW9uQ2xpZW50Lmg6CisgICAgICAgIChBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Ojpz
ZXNzaW9uSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgIChBUEk6OkF1dG9tYXRpb25TZXNzaW9u
Q2xpZW50OjptZXNzYWdlT2ZDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZSk6CisgICAgICAg
IChBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50OjpzZXRVc2VySW5wdXRGb3JDdXJyZW50SmF2
YVNjcmlwdFByb21wdE9uUGFnZSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1
c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2Nv
bExvYWRlciBpbml0V2l0aExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OmN1c3RvbVBy
b3RvY29sSUQ6cmVxdWVzdDpdKToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBj
b25uZWN0aW9uOmRpZEZhaWxXaXRoRXJyb3I6XSk6CisgICAgICAgICgtW1dLQ3VzdG9tUHJvdG9j
b2xMb2FkZXIgY29ubmVjdGlvbjpkaWRSZWNlaXZlUmVzcG9uc2U6XSk6CisgICAgICAgICogVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
Z2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdp
blByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdp
blByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpQbHVn
aW5Qcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5hbWVzKToKKyAgICAgICAg
KFdlYktpdDo6Z2VuZXJhdGVDYWxsYmFja0lEKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nl
c3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRl
SU9TLm1tOgorICAgICAgICAoLVtXS1Njcm9sbGluZ05vZGVTY3JvbGxWaWV3RGVsZWdhdGUgc2Ny
b2xsVmlld1dpbGxFbmREcmFnZ2luZzp3aXRoVmVsb2NpdHk6dGFyZ2V0Q29udGVudE9mZnNldDpd
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1Byb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6Z2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQpOgorICAg
ICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKToKKyAg
ICAgICAgKFdlYktpdDo6U3RvcmFnZVByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEpOgor
ICAgICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZv
ck9yaWdpbnMpOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZUNhbGxiYWNrSUQpOiBEZWxldGVk
LgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IFdlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tOgorICAgICAgICAoLVtXS1BERlBs
dWdpbkFjY2Vzc2liaWxpdHlPYmplY3QgYWNjZXNzaWJpbGl0eVBlcmZvcm1BY3Rpb246XSk6Cisg
ICAgICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5Rm9j
dXNlZFVJRWxlbWVudF0pOgorICAgICAgICAoLVtXS1BERlBsdWdpbkFjY2Vzc2liaWxpdHlPYmpl
Y3QgYWNjZXNzaWJpbGl0eUFzc29jaWF0ZWRDb250cm9sRm9yQW5ub3RhdGlvbjpdKToKKyAgICAg
ICAgKC1bV0tQREZQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0IGFjY2Vzc2liaWxpdHlIaXRUZXN0
Ol0pOgorICAgICAgICAoLVtXS1BERkxheWVyQ29udHJvbGxlckRlbGVnYXRlIHVwZGF0ZVNjcm9s
bFBvc2l0aW9uOl0pOgorICAgICAgICAoV2ViS2l0OjpQREZQbHVnaW46OnVwZGF0ZUN1cnNvcik6
CisgICAgICAgIChXZWJLaXQ6OmNvcmVDdXJzb3IpOgorICAgICAgICAoYXBwZW5kVmFsdWVzSW5Q
REZOYW1lU3VidHJlZVRvVmVjdG9yKTogRGVsZXRlZC4KKyAgICAgICAgKGdldEFsbFZhbHVlc0lu
UERGTmFtZVRyZWUpOiBEZWxldGVkLgorICAgICAgICAoZ2V0QWxsU2NyaXB0c0luUERGRG9jdW1l
bnQpOiBEZWxldGVkLgorCiAyMDE4LTA4LTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhA
YXBwbGUuY29tPgogCiAgICAgICAgIFtBdHRhY2htZW50IFN1cHBvcnRdIFJlbW92ZSBXZWJDb3Jl
OjpBdHRhY2htZW50RGlzcGxheU9wdGlvbnMgYW5kIGZyaWVuZHMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvU2NyaXB0cy9nZW5lcmF0ZS11bmlmaWVkLXNvdXJjZS1idW5kbGVzLnJiIGIvU291cmNl
L1dURi9TY3JpcHRzL2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKaW5kZXggYzAx
OTY2ZWUxYjJjNjdkOTc2MGYwM2E1YmJjYWEzY2I1NzI2MTJiMy4uYWJkOTc2NzdhMjBhZGI0ZDQ2
MmViOThmNzc4ZDk4MDI5YmRkNDk5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL2dl
bmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKKysrIGIvU291cmNlL1dURi9TY3JpcHRz
L2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKQEAgLTIxMCwxMCArMjEwLDE3IEBA
IGNsYXNzIEJ1bmRsZU1hbmFnZXIKICAgICBlbmQKIGVuZAogCitkZWYgVG9wTGV2ZWxEaXJlY3Rv
cnlGb3JQYXRoKHBhdGgpCisgICAgaWYgIXBhdGgKKyAgICAgICAgcmV0dXJuIG5pbAorICAgIGVu
ZAorICAgIHJldHVybiBwYXRoLmVhY2hfZmlsZW5hbWUubmV4dAorZW5kCisKIGRlZiBQcm9jZXNz
RmlsZUZvclVuaWZpZWRTb3VyY2VHZW5lcmF0aW9uKHNvdXJjZUZpbGUpCiAgICAgcGF0aCA9IHNv
dXJjZUZpbGUucGF0aAotICAgIGlmICgkY3VycmVudERpcmVjdG9yeSAhPSBwYXRoLmRpcm5hbWUp
Ci0gICAgICAgIGxvZygiRmx1c2hpbmcgYmVjYXVzZSBuZXcgZGlybmFtZTsgb2xkOiAjeyRjdXJy
ZW50RGlyZWN0b3J5fSwgbmV3OiAje3BhdGguZGlybmFtZX0iKQorICAgIGlmIChUb3BMZXZlbERp
cmVjdG9yeUZvclBhdGgoJGN1cnJlbnREaXJlY3RvcnkpICE9IFRvcExldmVsRGlyZWN0b3J5Rm9y
UGF0aChwYXRoLmRpcm5hbWUpKQorICAgICAgICBsb2coIkZsdXNoaW5nIGJlY2F1c2UgbmV3IHRv
cCBsZXZlbCBkaXJlY3Rvcnk7IG9sZDogI3skY3VycmVudERpcmVjdG9yeX0sIG5ldzogI3twYXRo
LmRpcm5hbWV9IikKICAgICAgICAgJGJ1bmRsZU1hbmFnZXJzLmVhY2hfdmFsdWUgeyB8eHwgeC5m
bHVzaCB9CiAgICAgICAgICRjdXJyZW50RGlyZWN0b3J5ID0gcGF0aC5kaXJuYW1lCiAgICAgZW5k
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYv
UGxhdGZvcm0uaAppbmRleCAwYzZlZmI4NjI5ODI1MzlkMmI0YjJjYzRmOGY4YjVmY2I0ZWM4OGU4
Li42N2NmYTkzMzEzYzkwNDIxZWI2Y2YxNzlkOThlZjcwM2RhMGU0OWRiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgK
QEAgLTEzMTQsNiArMTMxNCw3IEBACiAjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX1RP
VUNIX0JBUiAxCiAjZGVmaW5lIEhBVkVfQURWQU5DRURfU1BFTExfQ0hFQ0tJTkcgMQorI2RlZmlu
ZSBVU0VfRElDVEFUSU9OX0FMVEVSTkFUSVZFUyAxCiAKICNpZiBkZWZpbmVkKF9fTFA2NF9fKQog
I2RlZmluZSBFTkFCTEVfV0VCX1BMQVlCQUNLX0NPTlRST0xTX01BTkFHRVIgMQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyQ2FjaGVTdG9yYWdl
Q29ubmVjdGlvbi5jcHAKaW5kZXggYWQyMDkzMjE5Zjg4ZTZkYTNlMWQ2MDYyNGU0MWFlOWE0MWRm
NDkyNy4uMWViZGQ1ZGU0OGE3ZTdlMWM5NmEwMWM3OGZlZDdkYTViYzRmYjg4OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckNhY2hlU3Rv
cmFnZUNvbm5lY3Rpb24uY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJDYWNoZVF1
ZXJ5T3B0aW9ucy5oIgogI2luY2x1ZGUgIkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgiCisjaW5jbHVk
ZSAiQ2xpZW50T3JpZ2luLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJQYWdl
LmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKQEAgLTM2LDcgKzM3LDYgQEAKICNp
bmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCiAjaW5jbHVkZSAiV29ya2VyVGhyZWFkLmgiCiAKLQog
bmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU6OkRPTUNhY2hlRW5n
aW5lOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVEND
b250cm9sbGVyLmNwcAppbmRleCA5NjEzMmU2OTczN2FlOThhNjBmOTU0ZjFmMzExODM4NDEwNzFl
MGE5Li5jZGI3NzdlOTk5MjkyMjFjZjBhOGYwMTE0MmIyZDA3ZWRlOWVmZWQ0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29udHJvbGxlci5jcHAK
QEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShXRUJfUlRDKQogCisjaW5jbHVkZSAiRG9j
dW1lbnQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENQcm92aWRlci5oIgogI2luY2x1ZGUgIlJUQ1Bl
ZXJDb25uZWN0aW9uLmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5
bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuY3BwCmlu
ZGV4IGMyMDUzMzVlYWE4ZTkxOGE2ZDM4YWU0ZjJmZmM4MWFlZDQ1YTlhMGYuLjk0YjcxYzQ2NjE5
MjQxMzVjMjFhZWE2OWQ0ODk5ZDdiMDc1YTYyYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdFVw
ZGF0ZUV2ZW50LmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKFBBWU1FTlRfUkVR
VUVTVCkKIAorI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJQYXltZW50UmVxdWVz
dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZy
L1ZSRGlzcGxheS5jcHAKaW5kZXggYWRiNzUxZDBjMzljMGE1NmI1ZTRkYzFmNTQyMTBiZGFhNGVk
ZmY3OC4uYTkzM2Q5ODBmY2Y1YTk5MTc0YWIwZTBjNDAwMjA5MTZjYmYxYjM2NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNwcApAQCAtMjksNiArMjksNyBAQAog
I2luY2x1ZGUgIkNhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCIKICNpbmNsdWRlICJDaHJvbWUuaCIK
ICNpbmNsdWRlICJET01FeGNlcHRpb24uaCIKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNs
dWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlNjcmlwdGVk
QW5pbWF0aW9uQ29udHJvbGxlci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9jcnlwdG8vZ2NyeXB0L1V0aWxpdGllcy5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jcnlw
dG8vZ2NyeXB0L1V0aWxpdGllcy5oCmluZGV4IDgyZmUxN2MwM2I0MTE3M2VjMTNkMzBiMmZjMzFm
YWMxZDI4YTU4ZGYuLjYyOTJhMGY4MGJiMGY1ODI2NTMyZmU0MWIzYmFhMDkxYmRlMmM2MTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY3J5cHRvL2djcnlwdC9VdGlsaXRpZXMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NyeXB0by9nY3J5cHQvVXRpbGl0aWVzLmgK
QEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgPGdjcnlwdC5oPgogI2luY2x1ZGUgPHd0Zi9B
c3NlcnRpb25zLmg+CisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAKIG5hbWVzcGFjZSBQQUwg
ewogbmFtZXNwYWNlIEdDcnlwdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2Vz
Q29jb2EudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dAppbmRleCA2NmY3ZjE2
YmQ2NGY4MmM0MzJiZWFlZDhlNzBkMWI1ZmYwNjNhNTE3Li45NTdlNGI1YjY2MWI0MDIwZjBhMjFl
ZTAwOTVjMDE3NjQ2ZTQ5M2EzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29j
b2EudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKQEAgLTM4OSw3ICsz
ODksNyBAQCBwbGF0Zm9ybS9pb3MvUGxhdGZvcm1TY3JlZW5JT1MubW0KIHBsYXRmb3JtL2lvcy9Q
bGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVySU9TLm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1Bs
YXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0Lm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1F1
aWNrTG9vay5tbQotcGxhdGZvcm0vaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tCitwbGF0Zm9ybS9p
b3MvUXVpY2tMb29rU29mdExpbmsubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvUmVtb3RlQ29t
bWFuZExpc3RlbmVySU9TLm1tCiBwbGF0Zm9ybS9pb3MvU2Nyb2xsQW5pbWF0b3JJT1MubW0KIHBs
YXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbQpAQCAtMzk5LDcgKzM5OSw3IEBAIHBsYXRm
b3JtL2lvcy9TU0xLZXlHZW5lcmF0b3JJT1MuY3BwCiBwbGF0Zm9ybS9pb3MvU3lzdGVtTWVtb3J5
SU9TLmNwcAogcGxhdGZvcm0vaW9zL1RoZW1lSU9TLm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9z
L1RpbGVDb250cm9sbGVyTWVtb3J5SGFuZGxlcklPUy5jcHAKLXBsYXRmb3JtL2lvcy9Vc2VyQWdl
bnRJT1MubW0KK3BsYXRmb3JtL2lvcy9Vc2VyQWdlbnRJT1MubW0gQG5vLXVuaWZ5CiBwbGF0Zm9y
bS9pb3MvVmFsaWRhdGlvbkJ1YmJsZUlPUy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9WaWRl
b0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9XZWJB
VlBsYXllckNvbnRyb2xsZXIubW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiNmRmNzQ4YTZkMTkwNDg1YjE4YzNkNThjYjUxODNi
YmFkYjgyZjg5Li5kM2I5ZWFhY2Y0NWNjYzE4MzA4YThjZDhkZDU5YmRhYWIzYjY3NGQwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC04MDYsNiArODA2LDggQEAKIAkJMkQ4QjkyRkYyMDNEMTNFMTAwOUM4NjhGIC8qIFVuaWZpZWRT
b3VyY2U1MzAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gREU1Rjg1RDMxRkEyMzg1OTAwNkRCNjNCIC8qIFVuaWZpZWRTb3VyY2U1MzAuY3BwICovOyB9
OwogCQkyRDhGRUJERDE0M0UzRUY3MDA3MjUwMkIgLyogQ1NTQ3Jvc3NmYWRlVmFsdWUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOEZFQkRCMTQzRTNF
RjcwMDcyNTAyQiAvKiBDU1NDcm9zc2ZhZGVWYWx1ZS5oICovOyB9OwogCQkyRDkwNjYwNzBCRTE0
MUQ0MDA5NTY5OTggLyogTGF5b3V0U3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDJEOTA2NjA1MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTJE
OTJBNzlBMjEzNEFENzkwMEY0OTNGRCAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MzkxN0ZEMUE5MUIyRjgwMDZF
MDRGMiAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSAqLzsgfTsKKwkJMkQ5MkE3OUQyMTM0QUY5NTAw
RjQ5M0ZEIC8qIFVzZXJBZ2VudElPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEEzQUY5RDgzMjAzMjU2OTEwMDZDQUQwNiAvKiBVc2VyQWdlbnRJT1Mu
bW0gKi87IH07CiAJCTJEOTNBRUUzMTlERjU2NDEwMDJBODZDMyAvKiBTZXJ2aWNlc092ZXJsYXlD
b250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyRDkzQUVFMTE5REY1NjQxMDAyQTg2QzMgLyogU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5o
ICovOyB9OwogCQkyRDk3RjA0NzE5REQ0MTNDMDAxRUU5QzMgLyogTW9ja1BhZ2VPdmVybGF5Q2xp
ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJE
QUFFMzJDMTlEQ0FGNjAwMEUwMDJEMiAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuY3BwICovOyB9
OwogCQkyRDk3RjA0ODE5REQ0MTQwMDAxRUU5QzMgLyogTW9ja1BhZ2VPdmVybGF5Q2xpZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREFBRTMyRDE5
RENBRjYwMDBFMDAyRDIgLyogTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmggKi87IH07CkBAIC03MDcy
LDcgKzcwNzQsNyBAQAogCQkzMzlCNUI2MjEzMURBQTMyMDBGNDhEMDIgLyogQ29va2llc1N0cmF0
ZWd5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvb2tpZXNTdHJhdGVneS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNjYyRjk4NDA0N0NFREJFNUREREFGQUEg
LyogUmVuZGVyTWF0aE1MTWVuY2xvc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUmVuZGVyTWF0aE1MTWVuY2xvc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkzNzExOUE3OTIwQ0NCNjEwMDAyQzZEQzkgLyogV2ViS2l0VGFyZ2V0Q29uZGl0aW9u
YWxzLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IFdlYktpdFRhcmdldENvbmRpdGlvbmFscy54Y2Nv
bmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMzcxN0Q3RTUxN0VDQzNBNjAwM0My
NzZEIC8qIGV4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnBlcmw7IG5hbWUgPSBl
eHRyYWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGw7IHBhdGggPSAiU2NyaXB0cy9leHRyYWN0LWxv
Y2FsaXphYmxlLXN0cmluZ3MucGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzNzE3
RDdFNTE3RUNDM0E2MDAzQzI3NkQgLyogZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3Jp
cHQucGVybDsgbmFtZSA9ICJleHRyYWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGwiOyBwYXRoID0g
IlNjcmlwdHMvZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBsIjsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMzcxQTY3Q0ExMUM2QzdEQjAwMDQ3QjhCIC8qIEh5cGhlbmF0aW9uQ0Yu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSHlwaGVuYXRpb25DRi5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3MUU2NUNCMTM2NjFFREMwMEJFRURC
MCAvKiBQYWdlU2VyaWFsaXplci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQ
YWdlU2VyaWFsaXplci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzFFNjVDRDEz
NjYxRUVEMDBCRUVEQjAgLyogUGFnZVNlcmlhbGl6ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUGFnZVNlcmlhbGl6ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMTMzNTcsOCArMTMzNTksOCBAQAogCQlDREU1OTU5QzFCRjI3NTcxMDBBMUNC
RTggLyogQ0RNU2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IENETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakMubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERTY1NjBFMTdDQTZFNzYwMDUyNkJBNyAvKiBt
ZWRpYUNvbnRyb2xzQXBwbGUuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBtZWRpYUNvbnRyb2xz
QXBwbGUuanM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERTY2N0ExMUU0QkJBNEQw
MEU4MTU0QSAvKiBQbGF0Zm9ybUF1ZGlvRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBQbGF0Zm9ybUF1ZGlvRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQlDREU2NjdBMjFFNEJCRjE1MDBFODE1NEEgLyogV2ViQXVkaW9CdWZmZXJMaXN0LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IGNvY29hL1dlYkF1ZGlvQnVmZmVyTGlz
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNERTY2N0EzMUU0QkJGMTUwMEU4
MTU0QSAvKiBXZWJBdWRpb0J1ZmZlckxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gY29jb2EvV2ViQXVkaW9CdWZmZXJMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUNERTY2N0EyMUU0QkJGMTUwMEU4MTU0QSAvKiBXZWJBdWRpb0J1ZmZlckxpc3QuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViQXVkaW9CdWZmZXJMaXN0
LmNwcDsgcGF0aCA9IGNvY29hL1dlYkF1ZGlvQnVmZmVyTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUNERTY2N0EzMUU0QkJGMTUwMEU4MTU0QSAvKiBXZWJBdWRpb0J1ZmZl
ckxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViQXVkaW9CdWZmZXJM
aXN0Lmg7IHBhdGggPSBjb2NvYS9XZWJBdWRpb0J1ZmZlckxpc3QuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0RFN0ZDNDIxODE5MDRCMTAwMkJCQjc3IC8qIE9yZGVySXRlcmF0b3Iu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gT3JkZXJJdGVyYXRvci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERTdGQzQzMTgxOTA0QjEwMDJCQkI3
NyAvKiBPcmRlckl0ZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE9y
ZGVySXRlcmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFODNEQUYxODND
NDQwNjAwMzFFQUEzIC8qIFZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMxNDQyLDYgKzMxNDQ0LDcgQEAKIAkJCQlBQTEyREY0OTE3
NDNERjgzMDA0REFGREYgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCUNEQTI5QTMwMUNCRjc0RDQwMDkwMUNDRiAvKiBQbGF5YmFja1Nlc3Npb25J
bnRlcmZhY2VBVktpdC5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNEQTI5QTE2MUNCREE1NkMwMDkw
MUNDRiAvKiBQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMubW0gaW4gU291cmNlcyAqLywKKwkJ
CQkyRDkyQTc5QTIxMzRBRDc5MDBGNDkzRkQgLyogUXVpY2tMb29rU29mdExpbmsubW0gaW4gU291
cmNlcyAqLywKIAkJCQk0MTkyNDI0OTIxMjdCOTNFMDA2MzRGQ0YgLyogUmVhbHRpbWVPdXRnb2lu
Z1ZpZGVvU291cmNlQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQkzMTZEQ0I4QTFFN0E2OTk2
MDAxQjVGODcgLyogUlRDSWNlVHJhbnNwb3J0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNTEx
NTZFMTJCMTc0OUMwMEM5Njc1NCAvKiBTY3JvbGxBbmltYXRvck1hYy5tbSBpbiBTb3VyY2VzICov
LApAQCAtMzIwNTYsNiArMzIwNTksNyBAQAogCQkJCTJEOEI5MkZEMjAzRDEzRTEwMDlDODY4RiAv
KiBVbmlmaWVkU291cmNlNTI4LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOEI5MkZFMjAzRDEz
RTEwMDlDODY4RiAvKiBVbmlmaWVkU291cmNlNTI5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJE
OEI5MkZGMjAzRDEzRTEwMDlDODY4RiAvKiBVbmlmaWVkU291cmNlNTMwLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTJEOTJBNzlEMjEzNEFGOTUwMEY0OTNGRCAvKiBVc2VyQWdlbnRJT1MubW0gaW4g
U291cmNlcyAqLywKIAkJCQk1MzIwNDIwMjFGOUE5RjEwMDBCODFCMkEgLyogVXNlckFnZW50U2Ny
aXB0c0RhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0MzQjc5NzExOTA4NzU3QjAwQjQ3QTJE
IC8qIFVzZXJNZXNzYWdlSGFuZGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0U2ODM0NDE5
MjE0M0E4MDBGNEQ5MjggLyogVXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvci5jcHAgaW4gU291
cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0Ny
eXB0b0FsZ29yaXRobUVDRFNBLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1z
L0NyeXB0b0FsZ29yaXRobUVDRFNBLmNwcAppbmRleCA5NzMxN2UwNGE5Nzk3ZjE1NjE2ZGU0Yzc2
MDhiNzQ1ZDlmZGVkZWY3Li4xYjUzYzQ1M2IzNTI1MzZiNDgxMmVkZDJhYTY0ZDkxZTk1ZGY4NTRi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdv
cml0aG1FQ0RTQS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5
cHRvQWxnb3JpdGhtRUNEU0EuY3BwCkBAIC0zNiwxMiArMzYsMTQgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCituYW1lc3BhY2UgQ3J5cHRvQWxnb3JpdGhtRUNEU0FJbnRlcm5hbCB7CiBzdGF0
aWMgY29uc3QgY2hhciogY29uc3QgQUxHMjU2ID0gIkVTMjU2IjsKIHN0YXRpYyBjb25zdCBjaGFy
KiBjb25zdCBBTEczODQgPSAiRVMzODQiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzUx
MiA9ICJFUzUxMiI7CiBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgUDI1NiA9ICJQLTI1NiI7CiBz
dGF0aWMgY29uc3QgY2hhciogY29uc3QgUDM4NCA9ICJQLTM4NCI7CiBzdGF0aWMgY29uc3QgY2hh
ciogY29uc3QgUDUyMSA9ICJQLTUyMSI7Cit9CiAKIFJlZjxDcnlwdG9BbGdvcml0aG0+IENyeXB0
b0FsZ29yaXRobUVDRFNBOjpjcmVhdGUoKQogewpAQCAtMTAyLDYgKzEwNCw3IEBAIHZvaWQgQ3J5
cHRvQWxnb3JpdGhtRUNEU0E6OmdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFt
ZXRlcnMmIHBhcmFtZXRlCiAKIHZvaWQgQ3J5cHRvQWxnb3JpdGhtRUNEU0E6OmltcG9ydEtleShD
cnlwdG9LZXlGb3JtYXQgZm9ybWF0LCBLZXlEYXRhJiYgZGF0YSwgY29uc3QgQ3J5cHRvQWxnb3Jp
dGhtUGFyYW1ldGVycyYgcGFyYW1ldGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNh
Z2VCaXRtYXAgdXNhZ2VzLCBLZXlDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFj
ayYmIGV4Y2VwdGlvbkNhbGxiYWNrKQogeworICAgIHVzaW5nIG5hbWVzcGFjZSBDcnlwdG9BbGdv
cml0aG1FQ0RTQUludGVybmFsOwogICAgIGNvbnN0IGF1dG8mIGVjUGFyYW1ldGVycyA9IGRvd25j
YXN0PENyeXB0b0FsZ29yaXRobUVjS2V5UGFyYW1zPihwYXJhbWV0ZXJzKTsKIAogICAgIFJlZlB0
cjxDcnlwdG9LZXlFQz4gcmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRv
L2djcnlwdC9HQ3J5cHRVdGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nY3J5cHQv
R0NyeXB0VXRpbGl0aWVzLmgKaW5kZXggZjBhNDEzNDU2YTk0NDU5OTU4ZjlhN2YwMjU0NTM0NGI1
ZmI2YzNlNS4uMzZmNDhkMDRkNzgyZDUyMzk5ZGQ3N2M0YmMzZDc4MjhkNzk1YTlmMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2djcnlwdC9HQ3J5cHRVdGlsaXRpZXMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ2NyeXB0L0dDcnlwdFV0aWxpdGllcy5oCkBAIC0zNCw2
ICszNCw3IEBACiAjaW5jbHVkZSA8cGFsL2NyeXB0by9DcnlwdG9EaWdlc3QuaD4KICNpbmNsdWRl
IDxwYWwvY3J5cHRvL2djcnlwdC9IYW5kbGUuaD4KICNpbmNsdWRlIDxwYWwvY3J5cHRvL2djcnlw
dC9VdGlsaXRpZXMuaD4KKyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IGE3MWRhM2YwZWUxYTk3ZmI2NTAwMGZj
MWE1NTg3OTA0Zjc5MmE2OGUuLjIyNzU3OTg0MTg1YmZjODJjZGY3ZjMwMTc4NTU4N2IyZGVmMGE5
YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC02NDEsNyArNjQxLDcgQEAgcHVibGljOgogICAg
IAogICAgIFdFQkNPUkVfRVhQT1JUIERvY3VtZW50TG9hZGVyKiBsb2FkZXIoKSBjb25zdDsKIAot
ICAgIFdFQkNPUkVfRVhQT1JUIEV4Y2VwdGlvbk9yPFJlZlB0cjxXaW5kb3dQcm94eT4+IG9wZW5G
b3JCaW5kaW5ncyhET01XaW5kb3cmIGFjdGl2ZVdpbmRvdywgRE9NV2luZG93JiBmaXJzdFdpbmRv
dywgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwgY29uc3QgU3Ry
aW5nJiBmZWF0dXJlcyk7CisgICAgV0VCQ09SRV9FWFBPUlQgRXhjZXB0aW9uT3I8UmVmUHRyPFdp
bmRvd1Byb3h5Pj4gb3BlbkZvckJpbmRpbmdzKERPTVdpbmRvdyYgYWN0aXZlV2luZG93LCBET01X
aW5kb3cmIGZpcnN0RE9NV2luZG93LCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgQXRvbWljU3Ry
aW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGZlYXR1cmVzKTsKICAgICBXRUJDT1JFX0VYUE9SVCBF
eGNlcHRpb25PcjxEb2N1bWVudCY+IG9wZW5Gb3JCaW5kaW5ncyhEb2N1bWVudCogcmVzcG9uc2li
bGVEb2N1bWVudCwgY29uc3QgU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIHJlcGxhY2UpOwog
CiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCByZW5hbWUgdGhpcyBhdCBzb21lIHBvaW50IGFuZCBn
aXZlIGJhY2sgdGhlIG5hbWUgJ29wZW4nIHRvIHRoZSBIVE1MIHNwZWNpZmllZCBvbmVzLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKaW5kZXggZTQw
ZjlhODg2ZjE1OTA0ZTYyZjBmMjY4OGE4NjlhNjk4ODliNGE4OS4uYzczMTkyMmFmODI5ODNiOWRh
YTZiYzdmZTUyMjc4NjM3MzE2ODNmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MVHJlZUJ1aWxkZXIuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiSFRNTERv
Y3VtZW50UGFyc2VyLmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1Db250cm9sRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkhUTUxGb3JtRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIK
ICNpbmNsdWRlICJIVE1MT3B0R3JvdXBFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE9wdGlvbkVs
ZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVJlc291
cmNlTG9hZGVyLmgKaW5kZXggNzJiMjk3NTVmMTFkOTQwOTVmYTdlZGQ1MzA5NjhmN2M1N2I1N2Jl
Yi4uNmQ5YTJkYTliZTAzMjAwN2E4MmVkYTY4YzE2ZmQyZjI4YjFjMTI4MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxv
YWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlUmVzb3VyY2VMb2FkZXIuaApAQCAtMjUsNiArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAor
I2luY2x1ZGUgIkFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJh
d1Jlc291cmNlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmF3UmVzb3VyY2VDbGllbnQuaCIKICNpbmNs
dWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9BbHRlcm5hdGl2ZVRleHRDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWx0ZXJu
YXRpdmVUZXh0Q2xpZW50LmgKaW5kZXggOTM1NTkzNzg4Zjk4OTljOWUyMjUxMDg4YjRlNzZkMDA1
ZDNkMmY5OC4uMTQzZGE2YzQ3ZjRiY2VmYzBhNDFhYTg3NjQ2N2QwNDQ3MTViYTcwYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9BbHRlcm5hdGl2ZVRleHRDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0FsdGVybmF0aXZlVGV4dENsaWVudC5oCkBAIC0yOSwxMSArMjks
NiBAQAogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIAotI2lmIFBMQVRGT1JNKE1BQykKLS8vIFNvbWUgcGxhdGZvcm1zIHByb3ZpZGUgVUkg
Zm9yIHN1Z2dlc3RpbmcgYWx0ZXJuYXRpdmUgZGljdGF0aW9uIHRleHQuCi0jZGVmaW5lIFVTRV9E
SUNUQVRJT05fQUxURVJOQVRJVkVTIDEKLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGVudW0gUmVhc29uRm9yRGlzbWlzc2luZ0FsdGVybmF0aXZlVGV4dCB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9QYXN0ZWJvYXJkLmgKaW5kZXggZDU0MzNkZDkyMGFlMGVlNTkyYmQ0NWZkNTYwY2RkM2Uz
OGEzNDcyMS4uZTA5ODE1NjUxYmQyZDYwNTc0ZGE0MjM2YzM4MGZhZDRkNjAyMTVhOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaApAQCAtMzM4LDYgKzMzOCw3IEBAIGV4dGVybiBO
U1N0cmluZyAqVUlDb2xvclBib2FyZFR5cGU7CiAjaWYgUExBVEZPUk0oTUFDKQogZXh0ZXJuIGNv
bnN0IGNoYXIqIGNvbnN0IFdlYkFyY2hpdmVQYm9hcmRUeXBlOwogZXh0ZXJuIGNvbnN0IGNoYXIq
IGNvbnN0IFdlYlVSTE5hbWVQYm9hcmRUeXBlOworZXh0ZXJuIGNvbnN0IGNoYXIqIGNvbnN0IFdl
YlVSTHNXaXRoVGl0bGVzUGJvYXJkVHlwZTsKICNlbmRpZgogCiAjaWYgIVBMQVRGT1JNKEdUSykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1Nlc3Np
b25NYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2Vzc2lv
bk1hYy5jcHAKaW5kZXggNzlhYjlmNDFiZTVjZTZkZTg0Yzg4ZTNhNjkxODEwZDBmNDlhNDM5MS4u
ZTkxODA5ODhkNjljOTY1MDhkYzEyMWExNzBlNzEyYWVhYWNjZmU1YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2Vzc2lvbk1hYy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2Vzc2lvbk1hYy5jcHAKQEAg
LTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgPENv
cmVBdWRpby9BdWRpb0hhcmR3YXJlLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKyNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVz
aE1vbml0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJl
ZnJlc2hNb25pdG9yLmNwcAppbmRleCA5NjhiYjIyODZhMWY3ZTU4NDY0ZWY4OGQ3OWU2MWVmNDI0
OTAxNTVmLi4zZTJjODJiOGIxMmVkYTA5ZGI0M2Y0YzEzMDE0YzViYmFjMGI3MDMwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZy
ZXNoTW9uaXRvci5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkRpc3BsYXlSZWZy
ZXNoTW9uaXRvckNsaWVudC5oIgogI2luY2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvck1hbmFn
ZXIuaCIKKyNpbmNsdWRlICJMb2dnaW5nLmgiCiAKICNpZiBQTEFURk9STShJT1MpCiAjaW5jbHVk
ZSAiRGlzcGxheVJlZnJlc2hNb25pdG9ySU9TLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseVNwZWNpZmljYXRpb25OdWxs
LmNwcAppbmRleCAyMTc2OTFmNzIzOTc0ZTgwMDU3OWIyOGNjMDU2YTdiOWMwODVjNjRkLi4xNWMw
Mzg3Njk4MjYwZjQwNWUyMmU1YmY1Mjc4MDAzMDhjN2ZlM2JmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlTcGVjaWZp
Y2F0aW9uTnVsbC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJGb250RmFtaWx5U3Bl
Y2lmaWNhdGlvbk51bGwuaCIKIAogI2luY2x1ZGUgIkZvbnRTZWxlY3Rvci5oIgorI2luY2x1ZGUg
PHd0Zi90ZXh0L0F0b21pY1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q2Fp
cm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udENhaXJv
LmNwcAppbmRleCAwNmQ5ZDc0OTRhNGJlYWE4ZTNhOWNlN2FmZTZkYWIzNWIxYzJkYjc4Li4yODZi
YzZkOGUzYzI2NTMwNDZjNjNiNTJiMzZkMDkwMzFmMjA4ZDkwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q2Fpcm8uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDYWlyby5jcHAKQEAgLTM0LDYg
KzM0LDcgQEAKICNpZiBVU0UoQ0FJUk8pCiAKICNpbmNsdWRlICJBZmZpbmVUcmFuc2Zvcm0uaCIK
KyNpbmNsdWRlICJDYWlyb09wZXJhdGlvbnMuaCIKICNpbmNsdWRlICJDYWlyb1V0aWxpdGllcy5o
IgogI2luY2x1ZGUgIkZvbnQuaCIKICNpbmNsdWRlICJHbHlwaEJ1ZmZlci5oIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdMTGF5ZXIubW0KaW5k
ZXggM2VkN2U0MWU3YzY4ODQ2ZjNmYmMxNzJjZTZiYTk4OWZmODdmNTdlYi4uOGVlMzQ4ZDg5OTg2
MzQxM2Q2YjY3MTM3NmU1YjFkYTU0Y2IxMzc2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHTExheWVyLm1tCkBAIC00MiwxMyArNDIsMTEg
QEAKICNpbXBvcnQgPE9wZW5HTC9nbC5oPgogI2VuZGlmCiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwotCiBAaW1wbGVtZW50YXRpb24gV2ViR0xMYXllcgogCiBAc3ludGhlc2l6ZSBjb250ZXh0
PV9jb250ZXh0OwogCi0tKGlkKWluaXRXaXRoR3JhcGhpY3NDb250ZXh0M0Q6KEdyYXBoaWNzQ29u
dGV4dDNEKiljb250ZXh0CistKGlkKWluaXRXaXRoR3JhcGhpY3NDb250ZXh0M0Q6KFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dDNEKiljb250ZXh0CiB7CiAgICAgX2NvbnRleHQgPSBjb250ZXh0Owog
ICAgIHNlbGYgPSBbc3VwZXIgaW5pdF07CkBAIC04Niw3ICs4NCw3IEBAIHN0YXRpYyB2b2lkIGZy
ZWVEYXRhKHZvaWQgKiwgY29uc3Qgdm9pZCAqZGF0YSwgc2l6ZV90IC8qIHNpemUgKi8pCiB9CiAj
ZW5kaWYKIAotLShDR0ltYWdlUmVmKWNvcHlJbWFnZVNuYXBzaG90V2l0aENvbG9yU3BhY2U6KENH
Q29sb3JTcGFjZVJlZiljb2xvclNwYWNlCistIChDR0ltYWdlUmVmKWNvcHlJbWFnZVNuYXBzaG90
V2l0aENvbG9yU3BhY2U6KENHQ29sb3JTcGFjZVJlZiljb2xvclNwYWNlCiB7CiAgICAgaWYgKCFf
Y29udGV4dCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC05Niw3ICs5NCw3IEBAIC0oQ0dJ
bWFnZVJlZiljb3B5SW1hZ2VTbmFwc2hvdFdpdGhDb2xvclNwYWNlOihDR0NvbG9yU3BhY2VSZWYp
Y29sb3JTcGFjZQogCiAgICAgUmV0YWluUHRyPENHQ29sb3JTcGFjZVJlZj4gaW1hZ2VDb2xvclNw
YWNlID0gY29sb3JTcGFjZTsKICAgICBpZiAoIWltYWdlQ29sb3JTcGFjZSkKLSAgICAgICAgaW1h
Z2VDb2xvclNwYWNlID0gc1JHQkNvbG9yU3BhY2VSZWYoKTsKKyAgICAgICAgaW1hZ2VDb2xvclNw
YWNlID0gV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYoKTsKIAogICAgIENHUmVjdCBsYXllckJv
dW5kcyA9IENHUmVjdEludGVncmFsKFtzZWxmIGJvdW5kc10pOwogCkBAIC0xNDEsMTkgKzEzOSwx
OSBAQCAtICh2b2lkKWRpc3BsYXkKICNlbmRpZgogCiAgICAgX2NvbnRleHQtPm1hcmtMYXllckNv
bXBvc2l0ZWQoKTsKLSAgICBQbGF0Zm9ybUNBTGF5ZXIqIGxheWVyID0gUGxhdGZvcm1DQUxheWVy
OjpwbGF0Zm9ybUNBTGF5ZXIoKF9fYnJpZGdlIHZvaWQqKXNlbGYpOworICAgIFdlYkNvcmU6OlBs
YXRmb3JtQ0FMYXllciogbGF5ZXIgPSBXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXI6OnBsYXRmb3Jt
Q0FMYXllcigoX19icmlkZ2Ugdm9pZCopc2VsZik7CiAgICAgaWYgKGxheWVyICYmIGxheWVyLT5v
d25lcigpKQogICAgICAgICBsYXllci0+b3duZXIoKS0+cGxhdGZvcm1DQUxheWVyTGF5ZXJEaWRE
aXNwbGF5KGxheWVyKTsKIH0KIAogI2lmIFVTRShPUEVOR0wpCi0tICh2b2lkKWFsbG9jYXRlSU9T
dXJmYWNlQmFja2luZ1N0b3JlV2l0aFNpemU6KEludFNpemUpc2l6ZSB1c2luZ0FscGhhOihCT09M
KXVzaW5nQWxwaGEKKy0gKHZvaWQpYWxsb2NhdGVJT1N1cmZhY2VCYWNraW5nU3RvcmVXaXRoU2l6
ZTooV2ViQ29yZTo6SW50U2l6ZSlzaXplIHVzaW5nQWxwaGE6KEJPT0wpdXNpbmdBbHBoYQogewog
ICAgIF9idWZmZXJTaXplID0gc2l6ZTsKICAgICBfdXNpbmdBbHBoYSA9IHVzaW5nQWxwaGE7Ci0g
ICAgX2NvbnRlbnRzQnVmZmVyID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVhdGUoc2l6ZSwgc1JH
QkNvbG9yU3BhY2VSZWYoKSk7Ci0gICAgX2RyYXdpbmdCdWZmZXIgPSBXZWJDb3JlOjpJT1N1cmZh
Y2U6OmNyZWF0ZShzaXplLCBzUkdCQ29sb3JTcGFjZVJlZigpKTsKLSAgICBfc3BhcmVCdWZmZXIg
PSBXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShzaXplLCBzUkdCQ29sb3JTcGFjZVJlZigpKTsK
KyAgICBfY29udGVudHNCdWZmZXIgPSBXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShzaXplLCBX
ZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigpKTsKKyAgICBfZHJhd2luZ0J1ZmZlciA9IFdlYkNv
cmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUsIFdlYkNvcmU6OnNSR0JDb2xvclNwYWNlUmVmKCkp
OworICAgIF9zcGFyZUJ1ZmZlciA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUsIFdl
YkNvcmU6OnNSR0JDb2xvclNwYWNlUmVmKCkpOwogCiAgICAgQVNTRVJUKF9jb250ZW50c0J1ZmZl
cik7CiAgICAgQVNTRVJUKF9kcmF3aW5nQnVmZmVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR1BVTGF5ZXIubW0KaW5kZXggNWMzNTU3Zjhi
ZDY2YTY4YzkyM2IyM2FhNjQ3YmI3MTQ4NDA5ZTlhMS4uMjVlZmI4Yjc0NzY4MDI0NTU4ZGJjZGYz
MGY3NDMxODcxNDY5NTVhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvV2ViR1BVTGF5ZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvV2ViR1BVTGF5ZXIubW0KQEAgLTM0LDEzICszNCwxMSBAQAogI2ltcG9y
dCA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIAotdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7Ci0KIEBpbXBsZW1lbnRhdGlvbiBXZWJHUFVMYXllcgogCiBAc3lu
dGhlc2l6ZSBjb250ZXh0PV9jb250ZXh0OwogCi0tIChpZClpbml0V2l0aEdQVURldmljZTooR1BV
RGV2aWNlKiljb250ZXh0CistIChpZClpbml0V2l0aEdQVURldmljZTooV2ViQ29yZTo6R1BVRGV2
aWNlKiljb250ZXh0CiB7CiAgICAgc2VsZiA9IFtzdXBlciBpbml0XTsKICAgICBfY29udGV4dCA9
IGNvbnRleHQ7CkBAIC01MCw3ICs0OCw3IEBAIC0gKGlkKWluaXRXaXRoR1BVRGV2aWNlOihHUFVE
ZXZpY2UqKWNvbnRleHQKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICBzZWxmLmNvbnRlbnRzU2Nh
bGUgPSBfZGV2aWNlUGl4ZWxSYXRpbzsKLSAgICBzZWxmLmNvbG9yc3BhY2UgPSBzUkdCQ29sb3JT
cGFjZVJlZigpOworICAgIHNlbGYuY29sb3JzcGFjZSA9IFdlYkNvcmU6OnNSR0JDb2xvclNwYWNl
UmVmKCk7CiAjZW5kaWYKICAgICByZXR1cm4gc2VsZjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29tbWFuZFF1ZXVlTWV0
YWwubW0KaW5kZXggODIwYWY4YmMxNmRiM2I0ODY1ZTc5YjdiODI0ZGIyYzdiNGRmM2VjYy4uMzAz
YjI1ZGEzZDRhNjRlZDFiMDAzMGI3MmI5ZmRiYzZmOTY1YzMzZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29tbWFuZFF1ZXVlTWV0YWwubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29tbWFuZFF1
ZXVlTWV0YWwubW0KQEAgLTMxLDYgKzMxLDcgQEAKICNpbXBvcnQgIkdQVURldmljZS5oIgogI2lt
cG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCA8TWV0YWwvTWV0YWwuaD4KKyNpbXBvcnQgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRNYWMubW0KaW5kZXggY2I1MDRjZjU0M2ViN2U4MGQ3
NjY1Y2QxZTU3ZTMwODlhZmZiMWE3MC4uZmQ2ZTkyOTg3NzRmYWY0ZmU4NzM1YmYyNzU2NWFkYzk1
MzJiZjYzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bhc3RlYm9h
cmRNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRNYWMu
bW0KQEAgLTUyLDEwICs1MiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNvbnN0IGNoYXIq
IGNvbnN0IFdlYkFyY2hpdmVQYm9hcmRUeXBlID0gIkFwcGxlIFdlYiBBcmNoaXZlIHBhc3RlYm9h
cmQgdHlwZSI7CiBjb25zdCBjaGFyKiBjb25zdCBXZWJVUkxOYW1lUGJvYXJkVHlwZSA9ICJwdWJs
aWMudXJsLW5hbWUiOworY29uc3QgY2hhciogY29uc3QgV2ViVVJMc1dpdGhUaXRsZXNQYm9hcmRU
eXBlID0gIldlYlVSTHNXaXRoVGl0bGVzUGJvYXJkVHlwZSI7CiAKIGNvbnN0IGNoYXIgV2ViU21h
cnRQYXN0ZVBib2FyZFR5cGVbXSA9ICJOZVhUIHNtYXJ0IHBhc3RlIHBhc3RlYm9hcmQgdHlwZSI7
CiBjb25zdCBjaGFyIFdlYlVSTFBib2FyZFR5cGVbXSA9ICJwdWJsaWMudXJsIjsKLWNvbnN0IGNo
YXIgV2ViVVJMc1dpdGhUaXRsZXNQYm9hcmRUeXBlW10gPSAiV2ViVVJMc1dpdGhUaXRsZXNQYm9h
cmRUeXBlIjsKIAogc3RhdGljIGNvbnN0IFZlY3RvcjxTdHJpbmc+IHdyaXRhYmxlVHlwZXNGb3JV
UkwoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL0Rpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29hLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAKaW5kZXgg
NWMyYTlkMjQxOThhMTNlNDhjNGY3M2U5ZGU2MWRkMzdhZGU5MjU1MS4uZjQ5MmU2MTQyZjAyMzFi
OTk3ZTk2YmE1OTI3OTU4ODU2ODA5MzNhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29hLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVN
YW5hZ2VyQ29jb2EuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoTUVESUFfU1RS
RUFNKQogCisjaW5jbHVkZSAiQ29yZVZpZGVvU29mdExpbmsuaCIKICNpbmNsdWRlICJMb2dnaW5n
LmgiCiAjaW5jbHVkZSA8d3RmL0FsZ29yaXRobXMuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0
cm95ZWQuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VSZXF1ZXN0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlUmVxdWVzdEJhc2UuY3BwCmluZGV4IDI1NDA5NjU2YzNkNjMyMDM2MTY1ZmFiMWRkNzQ5
ZTg4ZmNhNjg0ODIuLmZmNTgzNjE3NGVhYjk1OTUyOGEyMDdiZmJhYWI2MDAzOWQ5YjUwMzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0
QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
cXVlc3RCYXNlLmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkhUVFBIZWFkZXJOYW1l
cy5oIgogI2luY2x1ZGUgIlB1YmxpY1N1ZmZpeC5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVz
dC5oIgorI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKICNpbmNsdWRlICJTZWN1cml0eVBv
bGljeS5oIgogI2luY2x1ZGUgPHd0Zi9Qb2ludGVyQ29tcGFyaXNvbi5oPgogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0Zvcm1EYXRhU3RyZWFtQ0ZOZXQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Gb3JtRGF0YVN0cmVhbUNG
TmV0LmNwcAppbmRleCAyOTAyNWQzOGE3ZmQzNmZmOWI5OTYyMzkxZjA4MDg3MDIxZmYxMzBlLi5l
NTMyMWMyN2Q0ZDk2OGM2NmU0Y2Q0YzY3Nzk2M2Y1YTdkNmNhZGZlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0Zvcm1EYXRhU3RyZWFtQ0ZOZXQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5l
dC5jcHAKQEAgLTQyLDExICs0Miw3IEBACiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgog
I2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAotI2lmIFBMQVRGT1JNKElPUykgJiYgIVBMQVRG
T1JNKElPU01BQykKLXN0YXRpYyBjb25zdCBTSW50MzIgZm5mRXJyID0gLTQzOwotI2VsaWYgUExB
VEZPUk0oTUFDKQotI2luY2x1ZGUgPENvcmVTZXJ2aWNlcy9Db3JlU2VydmljZXMuaD4KLSNlbmRp
Zgorc3RhdGljIGNvbnN0IFNJbnQzMiBmaWxlTm90Rm91bmRFcnJvciA9IC00MzsKIAogI2lmIFBM
QVRGT1JNKENPQ09BKQogZXh0ZXJuICJDIiB2b2lkIENGVVJMUmVxdWVzdFNldEhUVFBSZXF1ZXN0
Qm9keShDRk11dGFibGVVUkxSZXF1ZXN0UmVmIG11dGFibGVIVFRQUmVxdWVzdCwgQ0ZEYXRhUmVm
IGh0dHBCb2R5KTsKQEAgLTI0MSw3ICsyMzcsNyBAQCBzdGF0aWMgQm9vbGVhbiBmb3JtT3BlbihD
RlJlYWRTdHJlYW1SZWYsIENGU3RyZWFtRXJyb3IqIGVycm9yLCBCb29sZWFuKiBvcGVuQ29tcAog
I2lmIFBMQVRGT1JNKFdJTikKICAgICAgICAgRU5PRU5UOwogI2Vsc2UKLSAgICAgICAgZm5mRXJy
OworICAgICAgICBmaWxlTm90Rm91bmRFcnJvcjsKICNlbmRpZgogICAgIHJldHVybiBvcGVuZWQ7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVy
VHJlZUJ1aWxkZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0
aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcAppbmRleCAzYmM4MmM2ZTFhYmQyZmFj
NDNiMDk5YzhlNmUzY2NmMzY2ZGQ4NTNiLi4yYzJiNTA4ZmFjNWM2ZmM4NDYyODVjOWZmYTg5NWE3
YjQwMjJiOGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcv
UmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5jcHAKQEAgLTI3LDYgKzI3
LDggQEAKICNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5oIgogCiAjaW5jbHVk
ZSAiUmVuZGVyTXVsdGlDb2x1bW5GbG93LmgiCisjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJC
bG9jay5oIgorI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyTXVsdGlDb2x1bW4uaCIKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
dXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5saW5lLmNwcAppbmRleCA3Y2QwNzE1
ZGY1MjRhNzZmZDIwNmEyMzQyOGQ5ZGFjN2Q3ZDg1M2Y4Li5kYzk1M2NjZGNlZTgzMDFkZmQwNTk3
YTYxZDA1MmUzYzUwYjlmNjFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
dXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAKQEAgLTMwLDYg
KzMwLDcgQEAKICNpbmNsdWRlICJSZW5kZXJGdWxsU2NyZWVuLmgiCiAjaW5jbHVkZSAiUmVuZGVy
SW5saW5lLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGFibGUuaCIKKyNpbmNsdWRlICJSZW5kZXJUcmVl
QnVpbGRlclRhYmxlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0FQSVdlYkFyY2hpdmUubW0KaW5kZXggYjE3NDJmZGZkZDM4NjllYWRkM2Q3YzVhZWU3MDVlNjYx
Zjk3ZWVkYy4uYjhjOTcyZjdlYzE4ZWI3ZDRjOWE3MWRlMmI0ZTFlMmM2NWRlODc2NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlLm1tCkBAIC0zNCw5ICszNCw4IEBACiAjaW5jbHVk
ZSA8V2ViQ29yZS9MZWdhY3lXZWJBcmNoaXZlLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5o
PgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogbmFtZXNwYWNlIEFQSSB7Cit1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIAogUmVmPFdlYkFyY2hpdmU+IFdlYkFyY2hpdmU6OmNyZWF0ZShX
ZWJBcmNoaXZlUmVzb3VyY2UqIG1haW5SZXNvdXJjZSwgUmVmUHRyPEFQSTo6QXJyYXk+JiYgc3Vi
cmVzb3VyY2VzLCBSZWZQdHI8QVBJOjpBcnJheT4mJiBzdWJmcmFtZUFyY2hpdmVzKQogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tCmluZGV4IGNhZTVi
ODVkZjE3N2RkZGU2OGQ4NTJlNWU1MDZkOGQ5MmJlMmVhOTQuLmRjMGY5MGYwZjM4NTFhYmYxMDA0
ODRiYTU3M2FlNGFmOGU4MGIyMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQ
SVdlYkFyY2hpdmVSZXNvdXJjZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJB
cmNoaXZlUmVzb3VyY2UubW0KQEAgLTMzLDkgKzMzLDggQEAKICNpbmNsdWRlIDxXZWJDb3JlL1VS
TC5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7Ci0KIG5hbWVzcGFjZSBBUEkgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIFJlZjxX
ZWJBcmNoaXZlUmVzb3VyY2U+IFdlYkFyY2hpdmVSZXNvdXJjZTo6Y3JlYXRlKEFQSTo6RGF0YSog
ZGF0YSwgY29uc3QgU3RyaW5nJiBVUkwsIGNvbnN0IFN0cmluZyYgTUlNRVR5cGUsIGNvbnN0IFN0
cmluZyYgdGV4dEVuY29kaW5nKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
UGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMubW0gYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1h
Yy5tbQppbmRleCA2OGQ3YzZhZGYzNjI3NTEzMTI5NjM1NjI4NmYxMWU4NDljMTRjMmMwLi5jMGNj
YWM1OTg1M2NmYWZmZDlmZjFkMWUzZDY4YjY3ZDY0NTdmN2M3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1h
Yy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRz
Y2FwZVBsdWdpbk1vZHVsZU1hYy5tbQpAQCAtMzQsOSArMzQsOCBAQAogI2ltcG9ydCA8d3RmL01h
aW5UaHJlYWQuaD4KICNpbXBvcnQgPHd0Zi9zcGkvY2YvQ0ZCdW5kbGVTUEkuaD4KIAotdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7Ci0KIG5hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CiAKIHN0YXRpYyBib29sIGdldFBsdWdpbkFyY2hpdGVjdHVyZShDRkJ1bmRsZVJl
ZiBidW5kbGUsIFBsdWdpbk1vZHVsZUluZm8mIHBsdWdpbikKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL1BsdWdpbkluZm9ybWF0aW9uTWFj
Lm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5m
b3JtYXRpb25NYWMubW0KaW5kZXggNWVjODQyNDk1OWNiYzE5Mjg4NmZhNzVhYmYwM2YzZDg4NWJj
YjFkOS4uMzI1ODRkNDE2YmUwZmYyNWU5ZTkxZGRmNDI4NzBlMzM5NGY0OTM2NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3Jt
YXRpb25NYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9t
YWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW0KQEAgLTM0LDkgKzM0LDggQEAKICNpbXBvcnQgIlN0
cmluZ1V0aWxpdGllcy5oIgogI2ltcG9ydCA8V2ViQ29yZS9QbHVnaW5CbGFja2xpc3QuaD4KIAot
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIG5hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAKIHZvaWQgZ2V0UGxhdGZvcm1QbHVnaW5Nb2R1bGVJbmZvcm1hdGlv
bihjb25zdCBQbHVnaW5Nb2R1bGVJbmZvJiBwbHVnaW4sIEFQSTo6RGljdGlvbmFyeTo6TWFwVHlw
ZSYgbWFwKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0IGIv
U291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IGQ4YTNjOTBkZmZlMzIyMzIyZDc2
M2VlMjFlN2NiYTQ1MGZlODVmY2YuLjRiOGQ0ODA2YjQ0ZjIyMDQ2NTg1NzdlYjdhOTY3OGNiOGUz
NDc5YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAorKysgYi9T
b3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKQEAgLTI5OCw5ICsyOTgsOSBAQCBVSVByb2Nl
c3MvQVBJL21hYy9XS1ZpZXcubW0gQG5vLXVuaWZ5CiAKIFVJUHJvY2Vzcy9BcHBsZVBheS9jb2Nv
YS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCiAKLVVJUHJvY2Vzcy9BcHBsZVBh
eS9pb3MvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlJT1MubW0KK1VJUHJvY2Vzcy9BcHBsZVBh
eS9pb3MvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlJT1MubW0gQG5vLXVuaWZ5CiAKLVVJUHJv
Y2Vzcy9BcHBsZVBheS9tYWMvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNYWMubW0KK1VJUHJv
Y2Vzcy9BcHBsZVBheS9tYWMvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNYWMubW0gQG5vLXVu
aWZ5CiAKIFVJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9jb2NvYS9BdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZVByb3h5Q29jb2EubW0KIFVJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9jb2NvYS9TZWNLZXlQ
cm94eVN0b3JlLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJ
QXV0b21hdGlvblNlc3Npb25DbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9B
UElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oCmluZGV4IGJmYzVlZTMzODIyMGQ5MTU2ZmNjZjAw
YzFlNzZkMGJiZWU5MDQxOTAuLjM3OWM4ODU3YmU5NGI2MTk1NTVlZGZmZWM0YzNhOWE2ZTE3Nzk0
ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElBdXRvbWF0aW9u
U2Vzc2lvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElBdXRv
bWF0aW9uU2Vzc2lvbkNsaWVudC5oCkBAIC01MSw3ICs1MSw3IEBAIHB1YmxpYzoKIAogICAgIHZp
cnR1YWwgfkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50KCkgeyB9CiAKLSAgICB2aXJ0dWFsIFN0cmlu
ZyBzZXNzaW9uSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIFN0cmluZygpOyB9CisgICAgdmly
dHVhbCBXVEY6OlN0cmluZyBzZXNzaW9uSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIFdURjo6
U3RyaW5nKCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkRGlzY29ubmVjdEZyb21SZW1vdGUoV2Vi
S2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0
TmV3UGFnZVdpdGhPcHRpb25zKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBBdXRvbWF0
aW9uU2Vzc2lvbkJyb3dzaW5nQ29udGV4dE9wdGlvbnMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
V2ViS2l0OjpXZWJQYWdlUHJveHkqKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgeyBjb21wbGV0aW9u
SGFuZGxlcihudWxscHRyKTsgfQogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0TWF4aW1pemVXaW5k
b3dPZlBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVBy
b3h5JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSB7IGNv
bXBsZXRpb25IYW5kbGVyKCk7IH0KQEAgLTYxLDggKzYxLDggQEAgcHVibGljOgogICAgIHZpcnR1
YWwgYm9vbCBpc1Nob3dpbmdKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21h
dGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgcmV0dXJuIGZhbHNlOyB9CiAg
ICAgdmlydHVhbCB2b2lkIGRpc21pc3NDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJL
aXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgYWNjZXB0Q3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0
OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyB9Ci0gICAg
dmlydHVhbCBTdHJpbmcgbWVzc2FnZU9mQ3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2Vi
S2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyByZXR1
cm4gU3RyaW5nKCk7IH0KLSAgICB2aXJ0dWFsIHZvaWQgc2V0VXNlcklucHV0Rm9yQ3VycmVudEph
dmFTY3JpcHRQcm9tcHRPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktp
dDo6V2ViUGFnZVByb3h5JiwgY29uc3QgU3RyaW5nJikgeyB9CisgICAgdmlydHVhbCBXVEY6OlN0
cmluZyBtZXNzYWdlT2ZDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1
dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IHJldHVybiBXVEY6OlN0
cmluZygpOyB9CisgICAgdmlydHVhbCB2b2lkIHNldFVzZXJJbnB1dEZvckN1cnJlbnRKYXZhU2Ny
aXB0UHJvbXB0T25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6Oldl
YlBhZ2VQcm94eSYsIGNvbnN0IFdURjo6U3RyaW5nJikgeyB9CiAgICAgdmlydHVhbCBzdGQ6Om9w
dGlvbmFsPEphdmFTY3JpcHREaWFsb2dUeXBlPiB0eXBlT2ZDdXJyZW50SmF2YVNjcmlwdERpYWxv
Z09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJv
eHkmKSB7IHJldHVybiBzdGQ6Om51bGxvcHQ7IH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFu
YWdlckNsaWVudC5tbQppbmRleCAxMWJhMzcyNjU0ODNmZmU3ZmYyNDY1MDk0MGQ4ZjMzYTUyYzBj
MDRhLi4xOWE1OWI0MmNhYjdiNTQ3ZWQ5NDQ2MGU3MmZjMDM5NmNmZTc5Mjg3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFn
ZXJDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3Vz
dG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tCkBAIC0zMiwyMyArMzIsMjAgQEAKICNpbXBvcnQg
PFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVz
cG9uc2UuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci11c2luZyBuYW1lc3BhY2UgV2Vi
S2l0OwotCiBAaW50ZXJmYWNlIFdLQ3VzdG9tUHJvdG9jb2xMb2FkZXIgOiBOU09iamVjdCA8TlNV
UkxDb25uZWN0aW9uRGVsZWdhdGU+IHsKIEBwcml2YXRlCi0gICAgTGVnYWN5Q3VzdG9tUHJvdG9j
b2xNYW5hZ2VyUHJveHkqIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTsKKyAgICBXZWJLaXQ6
OkxlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiBfY3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
UHJveHk7CiAgICAgdWludDY0X3QgX2N1c3RvbVByb3RvY29sSUQ7CiAgICAgTlNVUkxDYWNoZVN0
b3JhZ2VQb2xpY3kgX3N0b3JhZ2VQb2xpY3k7CiAgICAgTlNVUkxDb25uZWN0aW9uICpfdXJsQ29u
bmVjdGlvbjsKIH0KLS0gKGlkKWluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJv
eHk6KExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiljdXN0b21Qcm90b2NvbE1hbmFn
ZXJQcm94eSBjdXN0b21Qcm90b2NvbElEOih1aW50NjRfdCljdXN0b21Qcm90b2NvbElEIHJlcXVl
c3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3Q7CistIChpZClpbml0V2l0aExlZ2FjeUN1c3RvbVBy
b3RvY29sTWFuYWdlclByb3h5OihXZWJLaXQ6OkxlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclBy
b3h5KiljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSBjdXN0b21Qcm90b2NvbElEOih1aW50NjRf
dCljdXN0b21Qcm90b2NvbElEIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3Q7CiAtICh2
b2lkKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5RGVzdHJveWVkOwogQGVuZAogCiBAaW1wbGVt
ZW50YXRpb24gV0tDdXN0b21Qcm90b2NvbExvYWRlcgogCi0tIChpZClpbml0V2l0aExlZ2FjeUN1
c3RvbVByb3RvY29sTWFuYWdlclByb3h5OihMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94
eSopY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJvdG9jb2xJRDoodWludDY0X3Qp
Y3VzdG9tUHJvdG9jb2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0CistIChpZClp
bml0V2l0aExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OihXZWJLaXQ6OkxlZ2FjeUN1
c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSBjdXN0
b21Qcm90b2NvbElEOih1aW50NjRfdCljdXN0b21Qcm90b2NvbElEIHJlcXVlc3Q6KE5TVVJMUmVx
dWVzdCAqKXJlcXVlc3QKIHsKICAgICBzZWxmID0gW3N1cGVyIGluaXRdOwogICAgIGlmICghc2Vs
ZikKQEAgLTg1LDcgKzgyLDcgQEAgLSAodm9pZCljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eURl
c3Ryb3llZAogCiAtICh2b2lkKWNvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rp
b24gZGlkRmFpbFdpdGhFcnJvcjooTlNFcnJvciAqKWVycm9yCiB7Ci0gICAgUmVzb3VyY2VFcnJv
ciBjb3JlRXJyb3IoZXJyb3IpOworICAgIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgY29yZUVycm9y
KGVycm9yKTsKICAgICBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHktPmRpZEZhaWxXaXRoRXJy
b3IoX2N1c3RvbVByb3RvY29sSUQsIGNvcmVFcnJvcik7CiAgICAgX2N1c3RvbVByb3RvY29sTWFu
YWdlclByb3h5LT5zdG9wTG9hZGluZyhfY3VzdG9tUHJvdG9jb2xJRCk7CiB9CkBAIC05OSw3ICs5
Niw3IEBAIC0gKE5TQ2FjaGVkVVJMUmVzcG9uc2UgKiljb25uZWN0aW9uOihOU1VSTENvbm5lY3Rp
b24gKiljb25uZWN0aW9uIHdpbGxDYWNoZVJlc3BvCiAKIC0gKHZvaWQpY29ubmVjdGlvbjooTlNV
UkxDb25uZWN0aW9uICopY29ubmVjdGlvbiBkaWRSZWNlaXZlUmVzcG9uc2U6KE5TVVJMUmVzcG9u
c2UgKilyZXNwb25zZQogewotICAgIFJlc291cmNlUmVzcG9uc2UgY29yZVJlc3BvbnNlKHJlc3Bv
bnNlKTsKKyAgICBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIGNvcmVSZXNwb25zZShyZXNwb25z
ZSk7CiAgICAgX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5LT5kaWRSZWNlaXZlUmVzcG9uc2Uo
X2N1c3RvbVByb3RvY29sSUQsIGNvcmVSZXNwb25zZSwgX3N0b3JhZ2VQb2xpY3kpOwogfQogCkBA
IC0xMjcsNiArMTI0LDcgQEAgLSAodm9pZCljb25uZWN0aW9uRGlkRmluaXNoTG9hZGluZzooTlNV
UkxDb25uZWN0aW9uICopY29ubmVjdGlvbgogQGVuZAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKK3Vz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiB2b2lkIExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdl
ckNsaWVudDo6c3RhcnRMb2FkaW5nKExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5JiBt
YW5hZ2VyLCB1aW50NjRfdCBjdXN0b21Qcm90b2NvbElELCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IGNvcmVSZXF1ZXN0KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCmluZGV4IGMyYjkxYTYzOTczZTYzMTIwYWFlNTI4
Zjg5NzUzODVmN2I2ZGJmNjIuLmVkZWQ5YzdkMmE0ZTU4ZTNkMDU4ZDgzMjY4MzEwOTgxODJhZjQ0
NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJv
Y2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blByb2Nlc3NQcm94eS5jcHAKQEAgLTQ4LDcgKzQ4LDcgQEAgc3RhdGljIGNvbnN0IFNlY29uZHMg
c25hcHNob3R0aW5nTWluaW11bUxpZmV0aW1lIHsgMzBfcyB9Owogc3RhdGljIGNvbnN0IFNlY29u
ZHMgc2h1dGRvd25UaW1lb3V0IHsgMV9taW4gfTsKIHN0YXRpYyBjb25zdCBTZWNvbmRzIHNuYXBz
aG90dGluZ1NodXRkb3duVGltZW91dCB7IDE1X3MgfTsKIAotc3RhdGljIHVpbnQ2NF90IGdlbmVy
YXRlQ2FsbGJhY2tJRCgpCitzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2Fs
bGJhY2tJRCgpCiB7CiAgICAgc3RhdGljIHVpbnQ2NF90IGNhbGxiYWNrSUQ7CiAKQEAgLTExNCw3
ICsxMTQsNyBAQCB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6Z2V0UGx1Z2luUHJvY2Vzc0Nvbm5l
Y3Rpb24oTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6RwogCiB2b2lkIFBsdWdpblByb2Nlc3NQ
cm94eTo6ZmV0Y2hXZWJzaXRlRGF0YShDb21wbGV0aW9uSGFuZGxlcjx2b2lkIChWZWN0b3I8U3Ry
aW5nPik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgdWludDY0X3QgY2FsbGJhY2tJRCA9
IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0
ZVBsdWdpblByb2Nlc3NDYWxsYmFja0lEKCk7CiAgICAgbV9wZW5kaW5nRmV0Y2hXZWJzaXRlRGF0
YUNhbGxiYWNrcy5zZXQoY2FsbGJhY2tJRCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwog
CiAgICAgaWYgKHN0YXRlKCkgPT0gU3RhdGU6OkxhdW5jaGluZykgewpAQCAtMTI3LDcgKzEyNyw3
IEBAIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKENvbXBsZXRpb25I
YW5kbGVyPHZvaWQgKFZlY3RvcjxTdHJpbmc+CiAKIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5Ojpk
ZWxldGVXZWJzaXRlRGF0YShXYWxsVGltZSBtb2RpZmllZFNpbmNlLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkICgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIHVpbnQ2NF90IGNhbGxiYWNr
SUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2Vu
ZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVuZGluZ0RlbGV0ZVdlYnNp
dGVEYXRhQ2FsbGJhY2tzLnNldChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KSk7CiAKICAgICBpZiAoc3RhdGUoKSA9PSBTdGF0ZTo6TGF1bmNoaW5nKSB7CkBAIC0xNDAsNyAr
MTQwLDcgQEAgdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhKFdhbGxU
aW1lIG1vZGlmaWVkU2luY2UsIENvbXBsZXRpb25IYW4KIAogdm9pZCBQbHVnaW5Qcm9jZXNzUHJv
eHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5hbWVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBo
b3N0TmFtZXMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQgKCk+JiYgY29tcGxldGlvbkhhbmRsZXIp
CiB7Ci0gICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAg
IHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVBsdWdpblByb2Nlc3NDYWxsYmFja0lEKCk7
CiAgICAgbV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFGb3JIb3N0TmFtZXNDYWxsYmFja3Muc2V0
KGNhbGxiYWNrSUQsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIGlmIChzdGF0
ZSgpID09IFN0YXRlOjpMYXVuY2hpbmcpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxl
Z2F0ZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3Mv
U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5tbQppbmRleCA0YTJlMjliNTYw
OTYxYTU5YjFjYjU1MTk3ODM5MTQ5YzMxMDY4NGMyLi43MmE4ODJmMDU4MWQ1ZWFjOTFmYzE0YmMw
NWEwMmYxNDRmMTZjMTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1v
dGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW0K
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tCkBAIC00Myw4ICs0Myw2IEBACiAjaW1w
b3J0IDxXZWJDb3JlL1Njcm9sbFNuYXBPZmZzZXRzSW5mby5oPgogI2VuZGlmCiAKLXVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwotCiBAaW1wbGVtZW50YXRpb24gV0tTY3JvbGxpbmdOb2RlU2Nyb2xs
Vmlld0RlbGVnYXRlCiAKIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aFNjcm9sbGluZ1RyZWVOb2Rl
RGVsZWdhdGU6KFdlYktpdDo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUyop
ZGVsZWdhdGUKQEAgLTgwLDcgKzc4LDcgQEAgLSAodm9pZClzY3JvbGxWaWV3V2lsbEVuZERyYWdn
aW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3IHdpdGhWZWxvY2l0eTooQ0dQb2kKIAogICAg
IGlmICghX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9u
dGFsU25hcE9mZnNldHMoKS5pc0VtcHR5KCkpIHsKICAgICAgICAgdW5zaWduZWQgaW5kZXg7Ci0g
ICAgICAgIGZsb2F0IHBvdGVudGlhbFNuYXBQb3NpdGlvbiA9IGNsb3Nlc3RTbmFwT2Zmc2V0KF9z
Y3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuaG9yaXpvbnRhbFNuYXBP
ZmZzZXRzKCksIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuaG9y
aXpvbnRhbFNuYXBPZmZzZXRSYW5nZXMoKSwgaG9yaXpvbnRhbFRhcmdldCwgdmVsb2NpdHkueCwg
aW5kZXgpOworICAgICAgICBmbG9hdCBwb3RlbnRpYWxTbmFwUG9zaXRpb24gPSBXZWJDb3JlOjpj
bG9zZXN0U25hcE9mZnNldChfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9k
ZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0cygpLCBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+
c2Nyb2xsaW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0UmFuZ2VzKCksIGhvcml6b250YWxU
YXJnZXQsIHZlbG9jaXR5LngsIGluZGV4KTsKICAgICAgICAgX3Njcm9sbGluZ1RyZWVOb2RlRGVs
ZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5zZXRDdXJyZW50SG9yaXpvbnRhbFNuYXBQb2ludEluZGV4
KGluZGV4KTsKICAgICAgICAgaWYgKGhvcml6b250YWxUYXJnZXQgPj0gMCAmJiBob3Jpem9udGFs
VGFyZ2V0IDw9IHNjcm9sbFZpZXcuY29udGVudFNpemUud2lkdGgpCiAgICAgICAgICAgICB0YXJn
ZXRDb250ZW50T2Zmc2V0LT54ID0gcG90ZW50aWFsU25hcFBvc2l0aW9uOwpAQCAtODgsNyArODYs
NyBAQCAtICh2b2lkKXNjcm9sbFZpZXdXaWxsRW5kRHJhZ2dpbmc6KFVJU2Nyb2xsVmlldyAqKXNj
cm9sbFZpZXcgd2l0aFZlbG9jaXR5OihDR1BvaQogCiAgICAgaWYgKCFfc2Nyb2xsaW5nVHJlZU5v
ZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2FsU25hcE9mZnNldHMoKS5pc0VtcHR5
KCkpIHsKICAgICAgICAgdW5zaWduZWQgaW5kZXg7Ci0gICAgICAgIGZsb2F0IHBvdGVudGlhbFNu
YXBQb3NpdGlvbiA9IGNsb3Nlc3RTbmFwT2Zmc2V0KF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRl
LT5zY3JvbGxpbmdOb2RlKCkudmVydGljYWxTbmFwT2Zmc2V0cygpLCBfc2Nyb2xsaW5nVHJlZU5v
ZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2FsU25hcE9mZnNldFJhbmdlcygpLCB2
ZXJ0aWNhbFRhcmdldCwgdmVsb2NpdHkueSwgaW5kZXgpOworICAgICAgICBmbG9hdCBwb3RlbnRp
YWxTbmFwUG9zaXRpb24gPSBXZWJDb3JlOjpjbG9zZXN0U25hcE9mZnNldChfc2Nyb2xsaW5nVHJl
ZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2FsU25hcE9mZnNldHMoKSwgX3Nj
cm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52ZXJ0aWNhbFNuYXBPZmZz
ZXRSYW5nZXMoKSwgdmVydGljYWxUYXJnZXQsIHZlbG9jaXR5LnksIGluZGV4KTsKICAgICAgICAg
X3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5zZXRDdXJyZW50VmVy
dGljYWxTbmFwUG9pbnRJbmRleChpbmRleCk7CiAgICAgICAgIGlmICh2ZXJ0aWNhbFRhcmdldCA+
PSAwICYmIHZlcnRpY2FsVGFyZ2V0IDw9IHNjcm9sbFZpZXcuY29udGVudFNpemUuaGVpZ2h0KQog
ICAgICAgICAgICAgdGFyZ2V0Q29udGVudE9mZnNldC0+eSA9IHBvdGVudGlhbFNuYXBQb3NpdGlv
bjsKQEAgLTEyMiw2ICsxMjAsNyBAQCAtICh2b2lkKXNjcm9sbFZpZXdEaWRFbmREZWNlbGVyYXRp
bmc6KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcKIEBlbmQKIAogbmFtZXNwYWNlIFdlYktpdCB7
Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVE
ZWxlZ2F0ZUlPUzo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUyhTY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZSYgc2Nyb2xsaW5nTm9kZSkKICAgICA6IFNjcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlRGVsZWdhdGUoc2Nyb2xsaW5nTm9kZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJveHkuY3BwCmluZGV4IGVm
YThkMTNjYmJkNWZmYTgwOGI1ZjBlZGJmNGE1MWRjOWRmODU3ZTcuLjNhMTMxYjRkNjBkOGFhMDdl
ODdmYjVlNGM2MTRmMzBhN2Q0MmI1NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1Byb3h5LmNwcApAQCAtMzcsNyArMzcsNyBA
QAogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotc3RhdGlj
IHVpbnQ2NF90IGdlbmVyYXRlQ2FsbGJhY2tJRCgpCitzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVT
dG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQoKQogewogICAgIHN0YXRpYyB1aW50NjRfdCBjYWxsYmFj
a0lEOwogCkBAIC0xMDUsNyArMTA1LDcgQEAgdm9pZCBTdG9yYWdlUHJvY2Vzc1Byb3h5OjpmZXRj
aFdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFcKIHsKICAg
ICBBU1NFUlQoY2FuU2VuZE1lc3NhZ2UoKSk7CiAKLSAgICB1aW50NjRfdCBjYWxsYmFja0lEID0g
Z2VuZXJhdGVDYWxsYmFja0lEKCk7CisgICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRl
U3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKCk7CiAgICAgbV9wZW5kaW5nRmV0Y2hXZWJzaXRlRGF0
YUNhbGxiYWNrcy5hZGQoY2FsbGJhY2tJRCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwog
CiAgICAgc2VuZChNZXNzYWdlczo6U3RvcmFnZVByb2Nlc3M6OkZldGNoV2Vic2l0ZURhdGEoc2Vz
c2lvbklELCBkYXRhVHlwZXMsIGNhbGxiYWNrSUQpLCAwKTsKQEAgLTExMyw3ICsxMTMsNyBAQCB2
b2lkIFN0b3JhZ2VQcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQg
c2Vzc2lvbklELCBPcHRpb25TZXQ8VwogCiB2b2lkIFN0b3JhZ2VQcm9jZXNzUHJveHk6OmRlbGV0
ZVdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYnNpdGVE
YXRhVHlwZT4gZGF0YVR5cGVzLCBXYWxsVGltZSBtb2RpZmllZFNpbmNlLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkICgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIGF1dG8gY2FsbGJhY2tJ
RCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIGF1dG8gY2FsbGJhY2tJRCA9IGdlbmVyYXRl
U3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKCk7CiAKICAgICBtX3BlbmRpbmdEZWxldGVXZWJzaXRl
RGF0YUNhbGxiYWNrcy5hZGQoY2FsbGJhY2tJRCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikp
OwogICAgIHNlbmQoTWVzc2FnZXM6OlN0b3JhZ2VQcm9jZXNzOjpEZWxldGVXZWJzaXRlRGF0YShz
ZXNzaW9uSUQsIGRhdGFUeXBlcywgbW9kaWZpZWRTaW5jZSwgY2FsbGJhY2tJRCksIDApOwpAQCAt
MTIzLDcgKzEyMyw3IEBAIHZvaWQgU3RvcmFnZVByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURh
dGFGb3JPcmlnaW5zKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwKIHsKICAgICBBU1NFUlQoY2Fu
U2VuZE1lc3NhZ2UoKSk7CiAKLSAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxs
YmFja0lEKCk7CisgICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlU3RvcmFnZVByb2Nl
c3NDYWxsYmFja0lEKCk7CiAgICAgbV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5z
Q2FsbGJhY2tzLmFkZChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAK
ICAgICBzZW5kKE1lc3NhZ2VzOjpTdG9yYWdlUHJvY2Vzczo6RGVsZXRlV2Vic2l0ZURhdGFGb3JP
cmlnaW5zKHNlc3Npb25JRCwgZGF0YVR5cGVzLCBvcmlnaW5zLCBjYWxsYmFja0lEKSwgMCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDI1ZmU0YTJlODRjZDg0OWQz
ZDliMGZhMWNkOTM4OWE3M2RjMWNlYTYuLjY1YzAxOWZkNGVlMTVhMjIwOTc0NTY2YmE2Mjg3Y2M0
MjQyZTU4MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC02MSw3
ICs2MSw2IEBACiAjaW5jbHVkZSAiV2ViUGFnZUluamVjdGVkQnVuZGxlQ2xpZW50LmgiCiAjaW5j
bHVkZSAiV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuaCIKICNpbmNsdWRlICJXZWJQcmVmZXJl
bmNlcy5oIgotI2luY2x1ZGUgPFdlYkNvcmUvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50Lmg+IC8vIEZJ
WE1FOiBOZWVkZWQgYnkgV2ViUGFnZVByb3h5TWVzc2FnZXMuaCBmb3IgRElDVEFUSU9OX0FMVEVS
TkFUSVZFUy4KICNpbmNsdWRlICJXZWJQYWdlUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldl
YlBvcHVwTWVudVByb3h5LmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc0xpZmV0aW1lVHJhY2tlci5o
IgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggYzc3MTU1OTBlZDcxY2NkZDIzZGYyODVhM2FhN2MzNmU1NDNkYjdmNi4uYmM3YzI0M2Y0Nzk2
YWNjMmVjZTRjNGZlY2M0NDkyOTI1OGNkYjQ1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03NTYsNiArNzU2LDggQEAKIAkJMkQ5MkE3
OTUyMTJCNkFENDAwRjQ5M0ZEIC8qIFBsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyRDkwRDEx
MjgxQzk2NjAwMUVCOTYyIC8qIFBsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwICov
OyB9OwogCQkyRDkyQTc5NjIxMkI2QURBMDBGNDkzRkQgLyogTmV0c2NhcGVQbHVnaW5Nb2R1bGUu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE0QTlD
NTMxMkI4MTZDRjAwOEZFOTg0IC8qIE5ldHNjYXBlUGx1Z2luTW9kdWxlLmNwcCAqLzsgfTsKIAkJ
MkQ5MkE3OTcyMTJCNkFEQTAwRjQ5M0ZEIC8qIFBsdWdpbkluZm9ybWF0aW9uLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDM0Y4QzhFMTczQUY1MkQw
MDdCN0YzOSAvKiBQbHVnaW5JbmZvcm1hdGlvbi5jcHAgKi87IH07CisJCTJEOTJBNzk4MjEzNDhE
ODUwMEY0OTNGRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQjFGNzdEMUQxQjMwQTkwMDdD
OUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbSAqLzsgfTsKKwkJMkQ5MkE3
OUYyMTM0QjA3RTAwRjQ5M0ZEIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5SU9TLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFCMUY3N0IxRDFC
MzBBOTAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5SU9TLm1tICovOyB9Owog
CQkyRDkzMTE2OTIxMkY2MUIyMDAwNDRCRkUgLyogV0tDb250ZW50Vmlldy5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0I0RTNEMThCQkUwNDQwMDBG
Q0ZDOSAvKiBXS0NvbnRlbnRWaWV3Lm1tICovOyB9OwogCQkyRDkzMTE2QTIxMkY2MUI1MDAwNDRC
RkUgLyogV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDQjRFNkIxOEJCRjI2QTAwMEZDRkM5IC8qIFdLQ29u
dGVudFZpZXdJbnRlcmFjdGlvbi5tbSAqLzsgfTsKIAkJMkQ5RUEzMEQxQTk2Q0I1OTAwMkQyODA3
IC8qIFdLUGFnZUluamVjdGVkQnVuZGxlQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlFQTMwQzFBOTZDQjU5MDAyRDI4MDcgLyogV0tQYWdl
SW5qZWN0ZWRCdW5kbGVDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwpAQCAtMTEyNDEsNiArMTEyNDMsOCBAQAogCQkJCTdDRTlDRTEwMUZBMDc2
N0EwMDAxNzdERSAvKiBXZWJQYWdlVXBkYXRlUHJlZmVyZW5jZXMuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJN0M0Njk0QzkxQTRCNEVBMTAwQUQ1ODQ1IC8qIFdlYlBhc3RlYm9hcmRQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUIxRjc5NjFEMUIzNjEzMDA3QzlC
RDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTJEOTJBNzlGMjEzNEIwN0UwMEY0OTNGRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eUlPUy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJBNzk4MjEzNDhEODUwMEY0OTNG
RCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTFBQjFGNzk4MUQxQjM2MTMwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1l
c3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDkyQTc4RDIxMkI2QUIxMDBG
NDkzRkQgLyogV2ViUGxhdGZvcm1Ub3VjaFBvaW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJE
OTEzNDRFMjEyQ0Y5RjAwMDEyOEFGRCAvKiBXZWJQbHVnaW5JbmZvUHJvdmlkZXIuY3BwIGluIFNv
dXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9Q
REYvUERGUGx1Z2luLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BE
RlBsdWdpbi5tbQppbmRleCA1MzA3ZTI2YTc2MzdlOGE2OWIwNDVhYmI5Mjg3OWYzZjhjNjU4NmYy
Li40Y2FhNmNjMGY2MDQ1MGMwM2IyMmEyODRkZDEzYWYyNWVmZDZlMzg2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0KQEAgLTg4LDgg
Kzg4LDYgQEAKICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TTWVudVNQSS5oPgogI2ltcG9ydCA8d3Rm
L1VVSUQuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIC8vIFNldCBvdmVyZmxvdzog
aGlkZGVuIG9uIHRoZSBhbm5vdGF0aW9uIGNvbnRhaW5lciBzbyA8aW5wdXQ+IGVsZW1lbnRzIHNj
cm9sbGVkIG91dCBvZiB2aWV3IGRvbid0IHNob3cKIC8vIHNjcm9sbGJhcnMgb24gdGhlIGJvZHku
IFdlIGNhbid0IGFkZCBhbm5vdGF0aW9ucyBkaXJlY3RseSB0byB0aGUgYm9keSwgYmVjYXVzZSBv
dmVyZmxvdzogaGlkZGVuIG9uIHRoZSBib2R5CiAvLyB3aWxsIGJyZWFrIHJ1YmJlci1iYW5kaW5n
LgpAQCAtMjkwLDcgKzI4OCw3IEBAIC0gKE5TQXJyYXkgKilhY2Nlc3NpYmlsaXR5QWN0aW9uTmFt
ZXMKIC0gKHZvaWQpYWNjZXNzaWJpbGl0eVBlcmZvcm1BY3Rpb246KE5TU3RyaW5nICopYWN0aW9u
CiB7CiAgICAgaWYgKFthY3Rpb24gaXNFcXVhbFRvU3RyaW5nOk5TQWNjZXNzaWJpbGl0eVNob3dN
ZW51QWN0aW9uXSkKLSAgICAgICAgX3BkZlBsdWdpbi0+c2hvd0NvbnRleHRNZW51QXRQb2ludChJ
bnRSZWN0KEludFBvaW50KCksIF9wZGZQbHVnaW4tPnNpemUoKSkuY2VudGVyKCkpOworICAgICAg
ICBfcGRmUGx1Z2luLT5zaG93Q29udGV4dE1lbnVBdFBvaW50KFdlYkNvcmU6OkludFJlY3QoV2Vi
Q29yZTo6SW50UG9pbnQoKSwgX3BkZlBsdWdpbi0+c2l6ZSgpKS5jZW50ZXIoKSk7CiB9CiAKIC0g
KEJPT0wpYWNjZXNzaWJpbGl0eUlzQXR0cmlidXRlU2V0dGFibGU6KE5TU3RyaW5nICopYXR0cmli
dXRlCkBAIC0zMTYsOCArMzE0LDggQEAgLSAoaWQpYWNjZXNzaWJpbGl0eUZvY3VzZWRVSUVsZW1l
bnQKIHsKICNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMAogICAg
IGlmIChXZWJLaXQ6OlBERlBsdWdpbkFubm90YXRpb24qIGFjdGl2ZUFubm90YXRpb24gPSBfcGRm
UGx1Z2luLT5hY3RpdmVBbm5vdGF0aW9uKCkpIHsKLSAgICAgICAgaWYgKEFYT2JqZWN0Q2FjaGUq
IGV4aXN0aW5nQ2FjaGUgPSBfcGRmUGx1Z2luLT5heE9iamVjdENhY2hlKCkpIHsKLSAgICAgICAg
ICAgIGlmIChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QgPSBleGlzdGluZ0NhY2hlLT5nZXRP
ckNyZWF0ZShhY3RpdmVBbm5vdGF0aW9uLT5lbGVtZW50KCkpKQorICAgICAgICBpZiAoV2ViQ29y
ZTo6QVhPYmplY3RDYWNoZSogZXhpc3RpbmdDYWNoZSA9IF9wZGZQbHVnaW4tPmF4T2JqZWN0Q2Fj
aGUoKSkgeworICAgICAgICAgICAgaWYgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqIG9i
amVjdCA9IGV4aXN0aW5nQ2FjaGUtPmdldE9yQ3JlYXRlKGFjdGl2ZUFubm90YXRpb24tPmVsZW1l
bnQoKSkpCiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAogI3ByYWdtYSBjbGFuZyBkaWFn
bm9zdGljIGlnbm9yZWQgIi1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMiCiAgICAgICAgICAgICAg
ICAgcmV0dXJuIFtvYmplY3QtPndyYXBwZXIoKSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6
QCJfQVhBc3NvY2lhdGVkUGx1Z2luUGFyZW50Il07CkBAIC0zMzgsMTEgKzMzNiwxMSBAQCAtIChp
ZClhY2Nlc3NpYmlsaXR5QXNzb2NpYXRlZENvbnRyb2xGb3JBbm5vdGF0aW9uOihQREZBbm5vdGF0
aW9uICopYW5ub3RhdGlvbgogICAgIGlmICghYWN0aXZlQW5ub3RhdGlvbiB8fCAhW2FjdGl2ZUFu
bm90YXRpb24tPmFubm90YXRpb24oKSBpc0VxdWFsOmFubm90YXRpb25dKQogICAgICAgICByZXR1
cm4gbmlsOwogICAgIAotICAgIEFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gX3BkZlBsdWdpbi0+YXhP
YmplY3RDYWNoZSgpOworICAgIFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gX3BkZlBs
dWdpbi0+YXhPYmplY3RDYWNoZSgpOwogICAgIGlmICghY2FjaGUpCiAgICAgICAgIHJldHVybiBu
aWw7CiAgICAgCi0gICAgQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0ID0gY2FjaGUtPmdldE9y
Q3JlYXRlKGFjdGl2ZUFubm90YXRpb24tPmVsZW1lbnQoKSk7CisgICAgV2ViQ29yZTo6QWNjZXNz
aWJpbGl0eU9iamVjdCogb2JqZWN0ID0gY2FjaGUtPmdldE9yQ3JlYXRlKGFjdGl2ZUFubm90YXRp
b24tPmVsZW1lbnQoKSk7CiAgICAgaWYgKCFvYmplY3QpCiAgICAgICAgIHJldHVybiBuaWw7CiAK
QEAgLTM1Myw3ICszNTEsNyBAQCAtIChpZClhY2Nlc3NpYmlsaXR5QXNzb2NpYXRlZENvbnRyb2xG
b3JBbm5vdGF0aW9uOihQREZBbm5vdGF0aW9uICopYW5ub3RhdGlvbgogLSAoaWQpYWNjZXNzaWJp
bGl0eUhpdFRlc3Q6KE5TUG9pbnQpcG9pbnQKIHsKICNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMTMwMAotICAgIHBvaW50ID0gX3BkZlBsdWdpbi0+Y29udmVydEZyb21S
b290Vmlld1RvUERGVmlldyhJbnRQb2ludChwb2ludCkpOworICAgIHBvaW50ID0gX3BkZlBsdWdp
bi0+Y29udmVydEZyb21Sb290Vmlld1RvUERGVmlldyhXZWJDb3JlOjpJbnRQb2ludChwb2ludCkp
OwogICAgIHJldHVybiBbX3BkZkxheWVyQ29udHJvbGxlciBhY2Nlc3NpYmlsaXR5SGl0VGVzdDpw
b2ludF07CiAjZWxzZQogICAgIHJldHVybiBzZWxmOwpAQCAtNDIxLDcgKzQxOSw3IEBAIC0gKGlk
KWluaXRXaXRoUERGUGx1Z2luOihXZWJLaXQ6OlBERlBsdWdpbiAqKXBsdWdpbgogCiAtICh2b2lk
KXVwZGF0ZVNjcm9sbFBvc2l0aW9uOihDR1BvaW50KW5ld1Bvc2l0aW9uCiB7Ci0gICAgX3BkZlBs
dWdpbi0+bm90aWZ5U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKEludFBvaW50KG5ld1Bvc2l0aW9uKSk7
CisgICAgX3BkZlBsdWdpbi0+bm90aWZ5U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKFdlYkNvcmU6Oklu
dFBvaW50KG5ld1Bvc2l0aW9uKSk7CiB9CiAKIC0gKHZvaWQpd3JpdGVJdGVtc1RvUGFzdGVib2Fy
ZDooTlNBcnJheSAqKWl0ZW1zIHdpdGhUeXBlczooTlNBcnJheSAqKXR5cGVzCkBAIC01MDAsNiAr
NDk4LDEwIEBAIC0gKE5TUmVjdCljb252ZXJ0UmVjdDooTlNSZWN0KXJlY3QgZnJvbVBhZ2U6KFBE
RlBhZ2UgKikgcGFnZSBmb3JTY2FsZUZhY3RvcjooQ0dGCiAtIChQREZQYWdlICopcGFnZU5lYXJl
c3RQb2ludDooTlNQb2ludClwb2ludCBjdXJyZW50UGFnZTooUERGUGFnZSAqKWN1cnJlbnRQYWdl
OwogQGVuZAogCituYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwor
dXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKKwogc3RhdGljIGNvbnN0IGNoYXIqIHBvc3RTY3Jp
cHRNSU1FVHlwZSA9ICJhcHBsaWNhdGlvbi9wb3N0c2NyaXB0IjsKIGNvbnN0IHVpbnQ2NF90IHBk
ZkRvY3VtZW50UmVxdWVzdElEID0gMTsgLy8gUGx1Z2luQ29udHJvbGxlciBzdXBwb3J0cyBsb2Fk
aW5nIG11bHRpcGxlIHN0cmVhbXMsIGJ1dCB3ZSBvbmx5IG5lZWQgb25lIGZvciBQREYuCiAKQEAg
LTU5Niw5ICs1OTgsNiBAQCBzdGF0aWMgdm9pZCBnZXRBbGxTY3JpcHRzSW5QREZEb2N1bWVudChD
R1BERkRvY3VtZW50UmVmIHBkZkRvY3VtZW50LCBWZWN0b3I8UmV0YQogICAgIH0KIH0KIAotbmFt
ZXNwYWNlIFdlYktpdCB7Ci11c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwotCiBSZWY8UERGUGx1
Z2luPiBQREZQbHVnaW46OmNyZWF0ZShXZWJGcmFtZSYgZnJhbWUpCiB7CiAgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgUERGUGx1Z2luKGZyYW1lKSk7CkBAIC0xNDUwLDcgKzE0NDksNyBAQCB2b2lk
IFBERlBsdWdpbjo6dXBkYXRlQ3Vyc29yKGNvbnN0IFdlYk1vdXNlRXZlbnQmIGV2ZW50LCBVcGRh
dGVDdXJzb3JNb2RlIG1vZGUpCiAgICAgaWYgKGhpdFRlc3RSZXN1bHQgPT0gbV9sYXN0SGl0VGVz
dFJlc3VsdCAmJiBtb2RlID09IFVwZGF0ZUlmTmVlZGVkKQogICAgICAgICByZXR1cm47CiAKLSAg
ICB3ZWJGcmFtZSgpLT5wYWdlKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0Q3Vy
c29yKGhpdFRlc3RSZXN1bHQgPT0gVGV4dCA/IGlCZWFtQ3Vyc29yKCkgOiBwb2ludGVyQ3Vyc29y
KCkpKTsKKyAgICB3ZWJGcmFtZSgpLT5wYWdlKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94
eTo6U2V0Q3Vyc29yKGhpdFRlc3RSZXN1bHQgPT0gVGV4dCA/IFdlYkNvcmU6OmlCZWFtQ3Vyc29y
KCkgOiBXZWJDb3JlOjpwb2ludGVyQ3Vyc29yKCkpKTsKICAgICBtX2xhc3RIaXRUZXN0UmVzdWx0
ID0gaGl0VGVzdFJlc3VsdDsKIH0KICNlbmRpZgpAQCAtMTk4MSwxNiArMTk4MCwxNiBAQCB2b2lk
IFBERlBsdWdpbjo6bm90aWZ5U2VsZWN0aW9uQ2hhbmdlZChQREZTZWxlY3Rpb24gKikKICAgICB3
ZWJGcmFtZSgpLT5wYWdlKCktPmRpZENoYW5nZVNlbGVjdGlvbigpOwogfQogCi1zdGF0aWMgY29u
c3QgQ3Vyc29yJiBjb3JlQ3Vyc29yKFBERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGUgdHlwZSkK
K3N0YXRpYyBjb25zdCBXZWJDb3JlOjpDdXJzb3ImIGNvcmVDdXJzb3IoUERGTGF5ZXJDb250cm9s
bGVyQ3Vyc29yVHlwZSB0eXBlKQogewogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2Uga1BE
RkxheWVyQ29udHJvbGxlckN1cnNvclR5cGVIYW5kOgotICAgICAgICByZXR1cm4gaGFuZEN1cnNv
cigpOworICAgICAgICByZXR1cm4gV2ViQ29yZTo6aGFuZEN1cnNvcigpOwogICAgIGNhc2Uga1BE
RkxheWVyQ29udHJvbGxlckN1cnNvclR5cGVJQmVhbToKLSAgICAgICAgcmV0dXJuIGlCZWFtQ3Vy
c29yKCk7CisgICAgICAgIHJldHVybiBXZWJDb3JlOjppQmVhbUN1cnNvcigpOwogICAgIGNhc2Ug
a1BERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGVQb2ludGVyOgogICAgIGRlZmF1bHQ6Ci0gICAg
ICAgIHJldHVybiBwb2ludGVyQ3Vyc29yKCk7CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpwb2lu
dGVyQ3Vyc29yKCk7CiAgICAgfQogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348252</attachid>
            <date>2018-08-27 19:26:40 -0700</date>
            <delta_ts>2018-08-27 19:27:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189009-20180827192639.patch</filename>
            <type>text/plain</type>
            <size>57325</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGMyOWZmMzZiMTcwMDNiYTAxZDNlYmJj
YWNhNDY4ZTRmNDZlM2YzN2IuLjA3YzYxYjkxMTg5ZjZmYjg3M2MxN2MxNWM0N2Y1NzI2ODE0YzY4
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3Jl
IHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL2dlbmVy
YXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmI6CisgICAgICAgIEl0IHR1cm5zIG91dCBvdXIg
cGxhbiB0byBzd2l0Y2ggdW5pZmllZCBzb3VyY2UgYnVuZGxlIGV2ZXJ5IHRpbWUgdGhlIGRpcmVj
dG9yeQorICAgICAgICBjaGFuZ2VzIGlzIG5vdCBhIGdvb2QgZml0IGZvciBwcm9qZWN0cyBsaWtl
IFdlYktpdDIgd2l0aCBtYW55IHNtYWxsIGRpcmVjdG9yaWVzLgorICAgICAgICBJdCBsZWF2ZXMg
bWFueSB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIHdpdGggb25seSBhIHNpbmdsZSBzb3VyY2UgZmls
ZSwKKyAgICAgICAgYWNoaWV2aW5nIG9ubHkgfjQwJSBkZW5zaXR5LgorCisgICAgICAgIEluc3Rl
YWQsIHN3aXRjaCB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIGV2ZXJ5IHRpbWUgdGhlIHRvcC1sZXZl
bCBkaXJlY3RvcnkgY2hhbmdlcy4KKyAgICAgICAgVGhpcyBzdGlsbCBhY2hpZXZlcyB0aGUgZ29h
bCBvZiAqdXN1YWxseSogb25seSByZWJ1aWxkaW5nIHRoZSBvbmUgdG9wLWxldmVsCisgICAgICAg
IGRpcmVjdG9yeSB5b3UgdG91Y2hlZCwgYW5kIGluY3JlYXNlcyBzb3VyY2UgYnVuZGxlIGRlbnNp
dHkgd2lsZGx5LCB0byB+OTUlLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTgt
MDgtMjcgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQgYnVpbGQgZml4IC0tIGRpc2FibGUgTFRPIGZvciBwcm9kdWN0aW9uIGJ1aWxkcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDdmZjk4ZTNhMDliZTBjOWE3ZWM2MWFlYWVjZDk4MjhmYTcxNjNmZjMuLmNiZGZk
OTgwODYyMDk5NTFkNmQ2ZWJjMTZkYjk0Y2EzZmI3YzQ1ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzOCBAQAorMjAxOC0wOC0yNyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNv
bT4KKworICAgICAgICBCdW5kbGUgdW5pZmllZCBzb3VyY2VzIG1vcmUgdGlnaHRseSBpbiBwcm9q
ZWN0cyB3aXRoIGRlZXAgZGlyZWN0b3J5IHN0cnVjdHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTAwOQorCisgICAgICAgIFJldmlld2VkIGJ5
IFNpbW9uIEZyYXNlci4KKworICAgICAgICBGaXggYSB2YXJpZXR5IG9mIHVuaWZpY2F0aW9uIGVy
cm9ycyBkdWUgdG8gcmVzaHVmZmxpbmcgdGhlIGJ1bmRsZXMuCisKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAqIFNvdXJjZXNDb2NvYS50
eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUVDRFNBLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUVDRFNBOjppbXBvcnRLZXkpOgorICAgICAgICAqIGRv
bS9Eb2N1bWVudC5oOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHA6
CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRl
ci5oOgorICAgICAgICAqIHBhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50Lmg6CisgICAgICAgICog
cGxhdGZvcm0vUGFzdGVib2FyZC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Rpc3Bs
YXlSZWZyZXNoTW9uaXRvci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZh
bWlseVNwZWNpZmljYXRpb25OdWxsLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJHTExheWVyLm1tOgorICAgICAgICAoLVtXZWJHTExheWVyIGluaXRXaXRoR3JhcGhp
Y3NDb250ZXh0M0Q6XSk6CisgICAgICAgICgtW1dlYkdMTGF5ZXIgY29weUltYWdlU25hcHNob3RX
aXRoQ29sb3JTcGFjZTpdKToKKyAgICAgICAgKC1bV2ViR0xMYXllciBkaXNwbGF5XSk6CisgICAg
ICAgICgtW1dlYkdMTGF5ZXIgYWxsb2NhdGVJT1N1cmZhY2VCYWNraW5nU3RvcmVXaXRoU2l6ZTp1
c2luZ0FscGhhOl0pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxh
eWVyLm1tOgorICAgICAgICAoLVtXZWJHUFVMYXllciBpbml0V2l0aEdQVURldmljZTpdKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHA6CisgICAgICAg
ICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwOgor
CiAyMDE4LTA4LTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtBdHRhY2htZW50IFN1cHBvcnRdIFJlbW92ZSBXZWJDb3JlOjpBdHRhY2htZW50RGlz
cGxheU9wdGlvbnMgYW5kIGZyaWVuZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYjczYzY3OTE3NzA1N2UxNDIxYWEy
YTNiMDU4NTIwYTc4ODYzMzhhMy4uNDZiMWEyZDYzY2U3ZmMyMzkyOTlmNmJjYjc3MGNjNGYxN2Zh
NGQ1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MiBAQAorMjAxOC0wOC0yNyAgVGltIEhvcnRvbiAg
PHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBCdW5kbGUgdW5pZmllZCBzb3Vy
Y2VzIG1vcmUgdGlnaHRseSBpbiBwcm9qZWN0cyB3aXRoIGRlZXAgZGlyZWN0b3J5IHN0cnVjdHVy
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTAw
OQorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBGaXggYSB2
YXJpZXR5IG9mIHVuaWZpY2F0aW9uIGVycm9ycyBkdWUgdG8gcmVzaHVmZmxpbmcgdGhlIGJ1bmRs
ZXMuCisKKyAgICAgICAgKiBTaGFyZWQvQVBJV2ViQXJjaGl2ZS5tbToKKyAgICAgICAgKiBTaGFy
ZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05l
dHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbToKKyAgICAgICAgKiBTaGFyZWQv
UGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW06CisgICAgICAgICog
U291cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25T
ZXNzaW9uQ2xpZW50Lmg6CisgICAgICAgIChBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Ojpz
ZXNzaW9uSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgIChBUEk6OkF1dG9tYXRpb25TZXNzaW9u
Q2xpZW50OjptZXNzYWdlT2ZDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZSk6CisgICAgICAg
IChBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50OjpzZXRVc2VySW5wdXRGb3JDdXJyZW50SmF2
YVNjcmlwdFByb21wdE9uUGFnZSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1
c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2Nv
bExvYWRlciBpbml0V2l0aExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OmN1c3RvbVBy
b3RvY29sSUQ6cmVxdWVzdDpdKToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBj
b25uZWN0aW9uOmRpZEZhaWxXaXRoRXJyb3I6XSk6CisgICAgICAgICgtW1dLQ3VzdG9tUHJvdG9j
b2xMb2FkZXIgY29ubmVjdGlvbjpkaWRSZWNlaXZlUmVzcG9uc2U6XSk6CisgICAgICAgICogVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
Z2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdp
blByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdp
blByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpQbHVn
aW5Qcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5hbWVzKToKKyAgICAgICAg
KFdlYktpdDo6Z2VuZXJhdGVDYWxsYmFja0lEKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nl
c3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRl
SU9TLm1tOgorICAgICAgICAoLVtXS1Njcm9sbGluZ05vZGVTY3JvbGxWaWV3RGVsZWdhdGUgc2Ny
b2xsVmlld1dpbGxFbmREcmFnZ2luZzp3aXRoVmVsb2NpdHk6dGFyZ2V0Q29udGVudE9mZnNldDpd
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1Byb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6Z2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQpOgorICAg
ICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKToKKyAg
ICAgICAgKFdlYktpdDo6U3RvcmFnZVByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEpOgor
ICAgICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZv
ck9yaWdpbnMpOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZUNhbGxiYWNrSUQpOiBEZWxldGVk
LgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IFdlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tOgorICAgICAgICAoLVtXS1BERlBs
dWdpbkFjY2Vzc2liaWxpdHlPYmplY3QgYWNjZXNzaWJpbGl0eVBlcmZvcm1BY3Rpb246XSk6Cisg
ICAgICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5Rm9j
dXNlZFVJRWxlbWVudF0pOgorICAgICAgICAoLVtXS1BERlBsdWdpbkFjY2Vzc2liaWxpdHlPYmpl
Y3QgYWNjZXNzaWJpbGl0eUFzc29jaWF0ZWRDb250cm9sRm9yQW5ub3RhdGlvbjpdKToKKyAgICAg
ICAgKC1bV0tQREZQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0IGFjY2Vzc2liaWxpdHlIaXRUZXN0
Ol0pOgorICAgICAgICAoLVtXS1BERkxheWVyQ29udHJvbGxlckRlbGVnYXRlIHVwZGF0ZVNjcm9s
bFBvc2l0aW9uOl0pOgorICAgICAgICAoV2ViS2l0OjpQREZQbHVnaW46OnVwZGF0ZUN1cnNvcik6
CisgICAgICAgIChXZWJLaXQ6OmNvcmVDdXJzb3IpOgorICAgICAgICAoYXBwZW5kVmFsdWVzSW5Q
REZOYW1lU3VidHJlZVRvVmVjdG9yKTogRGVsZXRlZC4KKyAgICAgICAgKGdldEFsbFZhbHVlc0lu
UERGTmFtZVRyZWUpOiBEZWxldGVkLgorICAgICAgICAoZ2V0QWxsU2NyaXB0c0luUERGRG9jdW1l
bnQpOiBEZWxldGVkLgorCiAyMDE4LTA4LTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhA
YXBwbGUuY29tPgogCiAgICAgICAgIFtBdHRhY2htZW50IFN1cHBvcnRdIFJlbW92ZSBXZWJDb3Jl
OjpBdHRhY2htZW50RGlzcGxheU9wdGlvbnMgYW5kIGZyaWVuZHMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvU2NyaXB0cy9nZW5lcmF0ZS11bmlmaWVkLXNvdXJjZS1idW5kbGVzLnJiIGIvU291cmNl
L1dURi9TY3JpcHRzL2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKaW5kZXggYzAx
OTY2ZWUxYjJjNjdkOTc2MGYwM2E1YmJjYWEzY2I1NzI2MTJiMy4uYWJkOTc2NzdhMjBhZGI0ZDQ2
MmViOThmNzc4ZDk4MDI5YmRkNDk5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL2dl
bmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKKysrIGIvU291cmNlL1dURi9TY3JpcHRz
L2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKQEAgLTIxMCwxMCArMjEwLDE3IEBA
IGNsYXNzIEJ1bmRsZU1hbmFnZXIKICAgICBlbmQKIGVuZAogCitkZWYgVG9wTGV2ZWxEaXJlY3Rv
cnlGb3JQYXRoKHBhdGgpCisgICAgaWYgIXBhdGgKKyAgICAgICAgcmV0dXJuIG5pbAorICAgIGVu
ZAorICAgIHJldHVybiBwYXRoLmVhY2hfZmlsZW5hbWUubmV4dAorZW5kCisKIGRlZiBQcm9jZXNz
RmlsZUZvclVuaWZpZWRTb3VyY2VHZW5lcmF0aW9uKHNvdXJjZUZpbGUpCiAgICAgcGF0aCA9IHNv
dXJjZUZpbGUucGF0aAotICAgIGlmICgkY3VycmVudERpcmVjdG9yeSAhPSBwYXRoLmRpcm5hbWUp
Ci0gICAgICAgIGxvZygiRmx1c2hpbmcgYmVjYXVzZSBuZXcgZGlybmFtZTsgb2xkOiAjeyRjdXJy
ZW50RGlyZWN0b3J5fSwgbmV3OiAje3BhdGguZGlybmFtZX0iKQorICAgIGlmIChUb3BMZXZlbERp
cmVjdG9yeUZvclBhdGgoJGN1cnJlbnREaXJlY3RvcnkpICE9IFRvcExldmVsRGlyZWN0b3J5Rm9y
UGF0aChwYXRoLmRpcm5hbWUpKQorICAgICAgICBsb2coIkZsdXNoaW5nIGJlY2F1c2UgbmV3IHRv
cCBsZXZlbCBkaXJlY3Rvcnk7IG9sZDogI3skY3VycmVudERpcmVjdG9yeX0sIG5ldzogI3twYXRo
LmRpcm5hbWV9IikKICAgICAgICAgJGJ1bmRsZU1hbmFnZXJzLmVhY2hfdmFsdWUgeyB8eHwgeC5m
bHVzaCB9CiAgICAgICAgICRjdXJyZW50RGlyZWN0b3J5ID0gcGF0aC5kaXJuYW1lCiAgICAgZW5k
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYv
UGxhdGZvcm0uaAppbmRleCAwYzZlZmI4NjI5ODI1MzlkMmI0YjJjYzRmOGY4YjVmY2I0ZWM4OGU4
Li42N2NmYTkzMzEzYzkwNDIxZWI2Y2YxNzlkOThlZjcwM2RhMGU0OWRiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgK
QEAgLTEzMTQsNiArMTMxNCw3IEBACiAjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX1RP
VUNIX0JBUiAxCiAjZGVmaW5lIEhBVkVfQURWQU5DRURfU1BFTExfQ0hFQ0tJTkcgMQorI2RlZmlu
ZSBVU0VfRElDVEFUSU9OX0FMVEVSTkFUSVZFUyAxCiAKICNpZiBkZWZpbmVkKF9fTFA2NF9fKQog
I2RlZmluZSBFTkFCTEVfV0VCX1BMQVlCQUNLX0NPTlRST0xTX01BTkFHRVIgMQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdCdWZmZXIuaCBiL1NvdXJjZS9XVEYvd3RmL3Rl
eHQvU3RyaW5nQnVmZmVyLmgKaW5kZXggZjI5M2QzMzNkYmUzZTQ1ZTYzN2ExNDg2NzMzZDBhMmZk
OGMwOGMwYy4uZTMyY2QyNjBkZDk0ZGIxNTU5ODViZmI0NzYyOWI4YTkxMTM2YzI2OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdCdWZmZXIuaAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oCkBAIC0yOSw5ICsyOSwxMCBAQAogI2lmbmRlZiBTdHJp
bmdCdWZmZXJfaAogI2RlZmluZSBTdHJpbmdCdWZmZXJfaAogCi0jaW5jbHVkZSA8d3RmL0Fzc2Vy
dGlvbnMuaD4KICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8dW5pY29kZS91dHlwZXMuaD4K
KyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi9NYWxsb2NQdHIuaD4K
IAogbmFtZXNwYWNlIFdURiB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y2FjaGUvV29ya2VyQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NhY2hlL1dvcmtlckNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCmluZGV4IGFkMjA5
MzIxOWY4OGU2ZGEzZTFkNjA2MjRlNDFhZTlhNDFkZjQ5MjcuLjFlYmRkNWRlNDhhN2U3ZTFjOTZh
MDFjNzhmZWQ3ZGE1YmM0ZmI4ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y2FjaGUvV29ya2VyQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcApAQCAtMjks
NiArMjksNyBAQAogCiAjaW5jbHVkZSAiQ2FjaGVRdWVyeU9wdGlvbnMuaCIKICNpbmNsdWRlICJD
YWNoZVN0b3JhZ2VQcm92aWRlci5oIgorI2luY2x1ZGUgIkNsaWVudE9yaWdpbi5oIgogI2luY2x1
ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIldvcmtlckdsb2Jh
bFNjb3BlLmgiCkBAIC0zNiw3ICszNyw2IEBACiAjaW5jbHVkZSAiV29ya2VyUnVuTG9vcC5oIgog
I2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOjpET01DYWNoZUVuZ2luZTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29udHJvbGxlci5jcHAKaW5kZXggOTYxMzJl
Njk3MzdhZTk4YTYwZjk1NGYxZjMxMTgzODQxMDcxZTBhOS4uY2RiNzc3ZTk5OTI5MjIxY2YwYThm
MDExNDJiMmQwN2VkZTllZmVkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBF
TkFCTEUoV0VCX1JUQykKIAorI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiTGliV2Vi
UlRDUHJvdmlkZXIuaCIKICNpbmNsdWRlICJSVENQZWVyQ29ubmVjdGlvbi5oIgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0
VXBkYXRlRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9Q
YXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50LmNwcAppbmRleCBjMjA1MzM1ZWFhOGU5MThhNmQzOGFl
NGYyZmZjODFhZWQ0NWE5YTBmLi45NGI3MWM0NjYxOTI0MTM1YzIxYWVhNjlkNDg5OWQ3YjA3NWE2
MmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1Bh
eW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAKQEAgLTI4LDYgKzI4
LDcgQEAKIAogI2lmIEVOQUJMRShQQVlNRU5UX1JFUVVFU1QpCiAKKyNpbmNsdWRlICJFdmVudE5h
bWVzLmgiCiAjaW5jbHVkZSAiUGF5bWVudFJlcXVlc3QuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXkuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXkuY3BwCmluZGV4IGFkYjc1
MWQwYzM5YzBhNTZiNWU0ZGMxZjU0MjEwYmRhYTRlZGZmNzguLmE5MzNkOTgwZmNmNWE5OTE3NGFi
MGUwYzQwMDIwOTE2Y2JmMWIzNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VidnIvVlJEaXNwbGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZS
RGlzcGxheS5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJDYW52YXNSZW5kZXJpbmdD
b250ZXh0LmgiCiAjaW5jbHVkZSAiQ2hyb21lLmgiCiAjaW5jbHVkZSAiRE9NRXhjZXB0aW9uLmgi
CisjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1
ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuaCIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY3J5cHRvL2djcnlwdC9VdGlsaXRpZXMu
aCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY3J5cHRvL2djcnlwdC9VdGlsaXRpZXMuaAppbmRl
eCA4MmZlMTdjMDNiNDExNzNlYzEzZDMwYjJmYzMxZmFjMWQyOGE1OGRmLi42MjkyYTBmODBiYjBm
NTgyNjUzMmZlNDFiM2JhYTA5MWJkZTJjNjE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL2NyeXB0by9nY3J5cHQvVXRpbGl0aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9jcnlwdG8vZ2NyeXB0L1V0aWxpdGllcy5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNs
dWRlIDxnY3J5cHQuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorI2luY2x1ZGUgPHd0
Zi9PcHRpb25hbC5oPgogCiBuYW1lc3BhY2UgUEFMIHsKIG5hbWVzcGFjZSBHQ3J5cHQgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggNjZmN2YxNmJkNjRmODJjNDMyYmVhZWQ4ZTcwZDFiNWZm
MDYzYTUxNy4uOTU3ZTRiNWI2NjFiNDAyMGYwYTIxZWUwMDk1YzAxNzY0NmU0OTNhMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzQ29jb2EudHh0CkBAIC0zODksNyArMzg5LDcgQEAgcGxhdGZvcm0vaW9zL1BsYXRm
b3JtU2NyZWVuSU9TLm1tCiBwbGF0Zm9ybS9pb3MvUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklP
Uy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktp
dC5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9RdWlja0xvb2subW0KLXBsYXRmb3JtL2lvcy9R
dWlja0xvb2tTb2Z0TGluay5tbQorcGxhdGZvcm0vaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tIEBu
by11bmlmeQogcGxhdGZvcm0vaW9zL1JlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5tbQogcGxhdGZv
cm0vaW9zL1Njcm9sbEFuaW1hdG9ySU9TLm1tCiBwbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJ
T1MubW0KQEAgLTM5OSw3ICszOTksNyBAQCBwbGF0Zm9ybS9pb3MvU1NMS2V5R2VuZXJhdG9ySU9T
LmNwcAogcGxhdGZvcm0vaW9zL1N5c3RlbU1lbW9yeUlPUy5jcHAKIHBsYXRmb3JtL2lvcy9UaGVt
ZUlPUy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9UaWxlQ29udHJvbGxlck1lbW9yeUhhbmRs
ZXJJT1MuY3BwCi1wbGF0Zm9ybS9pb3MvVXNlckFnZW50SU9TLm1tCitwbGF0Zm9ybS9pb3MvVXNl
ckFnZW50SU9TLm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1ZhbGlkYXRpb25CdWJibGVJT1Mu
bW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQu
bW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvV2ViQVZQbGF5ZXJDb250cm9sbGVyLm1tCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
YjZkZjc0OGE2ZDE5MDQ4NWIxOGMzZDU4Y2I1MTgzYmJhZGI4MmY4OS4uZDNiOWVhYWNmNDVjY2Mx
ODMwOGE4Y2Q4ZGQ1OWJkYWFiM2I2NzRkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtODA2LDYgKzgwNiw4IEBACiAJCTJEOEI5
MkZGMjAzRDEzRTEwMDlDODY4RiAvKiBVbmlmaWVkU291cmNlNTMwLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IERFNUY4NUQzMUZBMjM4NTkwMDZEQjYz
QiAvKiBVbmlmaWVkU291cmNlNTMwLmNwcCAqLzsgfTsKIAkJMkQ4RkVCREQxNDNFM0VGNzAwNzI1
MDJCIC8qIENTU0Nyb3NzZmFkZVZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyRDhGRUJEQjE0M0UzRUY3MDA3MjUwMkIgLyogQ1NTQ3Jvc3NmYWRl
VmFsdWUuaCAqLzsgfTsKIAkJMkQ5MDY2MDcwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDkwNjYw
NTBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkyRDkyQTc5QTIxMzRBRDc5MDBGNDkzRkQgLyog
UXVpY2tMb29rU29mdExpbmsubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0NDM5MTdGRDFBOTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsu
bW0gKi87IH07CisJCTJEOTJBNzlEMjEzNEFGOTUwMEY0OTNGRCAvKiBVc2VyQWdlbnRJT1MubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBM0FGOUQ4MzIw
MzI1NjkxMDA2Q0FEMDYgLyogVXNlckFnZW50SU9TLm1tICovOyB9OwogCQkyRDkzQUVFMzE5REY1
NjQxMDAyQTg2QzMgLyogU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5M0FFRTExOURGNTY0MTAwMkE4NkMz
IC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaCAqLzsgfTsKIAkJMkQ5N0YwNDcxOURENDEz
QzAwMUVFOUMzIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREFBRTMyQzE5RENBRjYwMDBFMDAyRDIgLyog
TW9ja1BhZ2VPdmVybGF5Q2xpZW50LmNwcCAqLzsgfTsKIAkJMkQ5N0YwNDgxOURENDE0MDAwMUVF
OUMzIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMkRBQUUzMkQxOURDQUY2MDAwRTAwMkQyIC8qIE1vY2tQYWdl
T3ZlcmxheUNsaWVudC5oICovOyB9OwpAQCAtNzA3Miw3ICs3MDc0LDcgQEAKIAkJMzM5QjVCNjIx
MzFEQUEzMjAwRjQ4RDAyIC8qIENvb2tpZXNTdHJhdGVneS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDb29raWVzU3RyYXRlZ3kuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMzY2MkY5ODQwNDdDRURCRTVERERBRkFBIC8qIFJlbmRlck1hdGhNTE1lbmNsb3NlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlck1hdGhNTE1lbmNs
b3NlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzcxMTlBNzkyMENDQjYxMDAw
MkM2REM5IC8qIFdlYktpdFRhcmdldENvbmRpdGlvbmFscy54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGgg
PSBXZWJLaXRUYXJnZXRDb25kaXRpb25hbHMueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTM3MTdEN0U1MTdFQ0MzQTYwMDNDMjc2RCAvKiBleHRyYWN0LWxvY2FsaXphYmxl
LXN0cmluZ3MucGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0LnNjcmlwdC5wZXJsOyBuYW1lID0gZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdz
LnBsOyBwYXRoID0gIlNjcmlwdHMvZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBsIjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzcxN0Q3RTUxN0VDQzNBNjAwM0MyNzZEIC8qIGV4
dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnBlcmw7IG5hbWUgPSAiZXh0cmFjdC1s
b2NhbGl6YWJsZS1zdHJpbmdzLnBsIjsgcGF0aCA9ICJTY3JpcHRzL2V4dHJhY3QtbG9jYWxpemFi
bGUtc3RyaW5ncy5wbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3MUE2N0NBMTFD
NkM3REIwMDA0N0I4QiAvKiBIeXBoZW5hdGlvbkNGLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEh5cGhlbmF0aW9uQ0YuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkzNzFFNjVDQjEzNjYxRURDMDBCRUVEQjAgLyogUGFnZVNlcmlhbGl6ZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFnZVNlcmlhbGl6ZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzcxRTY1Q0QxMzY2MUVFRDAwQkVFREIwIC8qIFBhZ2VTZXJp
YWxpemVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhZ2VTZXJp
YWxpemVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMzU3LDggKzEzMzU5
LDggQEAKIAkJQ0RFNTk1OUMxQkYyNzU3MTAwQTFDQkU4IC8qIENETVNlc3Npb25NZWRpYVNvdXJj
ZUFWRk9iakMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDRE1T
ZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlDREU2NTYwRTE3Q0E2RTc2MDA1MjZCQTcgLyogbWVkaWFDb250cm9sc0FwcGxlLmpzICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5q
YXZhc2NyaXB0OyBwYXRoID0gbWVkaWFDb250cm9sc0FwcGxlLmpzOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDREU2NjdBMTFFNEJCQTREMDBFODE1NEEgLyogUGxhdGZvcm1BdWRpb0Rh
dGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1BdWRpb0RhdGEu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQ0RFNjY3QTIxRTRCQkYxNTAwRTgxNTRB
IC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBjb2NvYS9XZWJBdWRpb0J1ZmZlckxpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQlDREU2NjdBMzFFNEJCRjE1MDBFODE1NEEgLyogV2ViQXVkaW9CdWZmZXJMaXN0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGNvY29hL1dlYkF1ZGlvQnVmZmVy
TGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDREU2NjdBMjFFNEJCRjE1MDBF
ODE1NEEgLyogV2ViQXVkaW9CdWZmZXJMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IFdlYkF1ZGlvQnVmZmVyTGlzdC5jcHA7IHBhdGggPSBjb2NvYS9XZWJBdWRp
b0J1ZmZlckxpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDREU2NjdBMzFF
NEJCRjE1MDBFODE1NEEgLyogV2ViQXVkaW9CdWZmZXJMaXN0LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IFdlYkF1ZGlvQnVmZmVyTGlzdC5oOyBwYXRoID0gY29jb2EvV2ViQXVk
aW9CdWZmZXJMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERTdGQzQyMTgx
OTA0QjEwMDJCQkI3NyAvKiBPcmRlckl0ZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IE9yZGVySXRlcmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDREU3RkM0MzE4MTkwNEIxMDAyQkJCNzcgLyogT3JkZXJJdGVyYXRvci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBPcmRlckl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUNERTgzREFGMTgzQzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXli
YWNrUXVhbGl0eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBWaWRl
b1BsYXliYWNrUXVhbGl0eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zMTQ0
Miw2ICszMTQ0NCw3IEBACiAJCQkJQUExMkRGNDkxNzQzREY4MzAwNERBRkRGIC8qIFBsYXRmb3Jt
U3BlZWNoU3ludGhlc2l6ZXJJT1MubW0gaW4gU291cmNlcyAqLywKIAkJCQlDREEyOUEzMDFDQkY3
NEQ0MDA5MDFDQ0YgLyogUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQubW0gaW4gU291cmNl
cyAqLywKIAkJCQlDREEyOUExNjFDQkRBNTZDMDA5MDFDQ0YgLyogUGxheWJhY2tTZXNzaW9uSW50
ZXJmYWNlTWFjLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5MkE3OUEyMTM0QUQ3OTAwRjQ5M0ZE
IC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE5MjQyNDkyMTI3
QjkzRTAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJMzE2RENCOEExRTdBNjk5NjAwMUI1Rjg3IC8qIFJUQ0ljZVRyYW5zcG9y
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzUxMTU2RTEyQjE3NDlDMDBDOTY3NTQgLyogU2Ny
b2xsQW5pbWF0b3JNYWMubW0gaW4gU291cmNlcyAqLywKQEAgLTMyMDU2LDYgKzMyMDU5LDcgQEAK
IAkJCQkyRDhCOTJGRDIwM0QxM0UxMDA5Qzg2OEYgLyogVW5pZmllZFNvdXJjZTUyOC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkyRDhCOTJGRTIwM0QxM0UxMDA5Qzg2OEYgLyogVW5pZmllZFNvdXJj
ZTUyOS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDhCOTJGRjIwM0QxM0UxMDA5Qzg2OEYgLyog
VW5pZmllZFNvdXJjZTUzMC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDkyQTc5RDIxMzRBRjk1
MDBGNDkzRkQgLyogVXNlckFnZW50SU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTMyMDQyMDIx
RjlBOUYxMDAwQjgxQjJBIC8qIFVzZXJBZ2VudFNjcmlwdHNEYXRhLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTdDM0I3OTcxMTkwODc1N0IwMEI0N0EyRCAvKiBVc2VyTWVzc2FnZUhhbmRsZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJN0NFNjgzNDQxOTIxNDNBODAwRjREOTI4IC8qIFVzZXJNZXNz
YWdlSGFuZGxlckRlc2NyaXB0b3IuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1FQ0RTQS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1FQ0RTQS5jcHAK
aW5kZXggOTczMTdlMDRhOTc5N2YxNTYxNmRlNGM3NjA4Yjc0NWQ5ZmRlZGVmNy4uMWI1M2M0NTNi
MzUyNTM2YjQ4MTJlZGQyYWE2NGQ5MWU5NWRmODU0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNEU0EuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUVDRFNBLmNwcApAQCAt
MzYsMTIgKzM2LDE0IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorbmFtZXNwYWNlIENyeXB0
b0FsZ29yaXRobUVDRFNBSW50ZXJuYWwgewogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzI1
NiA9ICJFUzI1NiI7CiBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHMzg0ID0gIkVTMzg0IjsK
IHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBBTEc1MTIgPSAiRVM1MTIiOwogc3RhdGljIGNvbnN0
IGNoYXIqIGNvbnN0IFAyNTYgPSAiUC0yNTYiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IFAz
ODQgPSAiUC0zODQiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IFA1MjEgPSAiUC01MjEiOwor
fQogCiBSZWY8Q3J5cHRvQWxnb3JpdGhtPiBDcnlwdG9BbGdvcml0aG1FQ0RTQTo6Y3JlYXRlKCkK
IHsKQEAgLTEwMiw2ICsxMDQsNyBAQCB2b2lkIENyeXB0b0FsZ29yaXRobUVDRFNBOjpnZW5lcmF0
ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzJiBwYXJhbWV0ZQogCiB2b2lkIENy
eXB0b0FsZ29yaXRobUVDRFNBOjppbXBvcnRLZXkoQ3J5cHRvS2V5Rm9ybWF0IGZvcm1hdCwgS2V5
RGF0YSYmIGRhdGEsIGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMmIHBhcmFtZXRlcnMs
IGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcywgS2V5Q2FsbGJh
Y2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaykKIHsK
KyAgICB1c2luZyBuYW1lc3BhY2UgQ3J5cHRvQWxnb3JpdGhtRUNEU0FJbnRlcm5hbDsKICAgICBj
b25zdCBhdXRvJiBlY1BhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1FY0tleVBh
cmFtcz4ocGFyYW1ldGVycyk7CiAKICAgICBSZWZQdHI8Q3J5cHRvS2V5RUM+IHJlc3VsdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nY3J5cHQvR0NyeXB0VXRpbGl0aWVzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ2NyeXB0L0dDcnlwdFV0aWxpdGllcy5oCmluZGV4IGYw
YTQxMzQ1NmE5NDQ1OTk1OGY5YTdmMDI1NDUzNDRiNWZiNmMzZTUuLjM2ZjQ4ZDA0ZDc4MmQ1MjM5
OWRkNzdjNGJjM2Q3ODI4ZDc5NWE5ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9nY3J5cHQvR0NyeXB0VXRpbGl0aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2dj
cnlwdC9HQ3J5cHRVdGlsaXRpZXMuaApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgPHBhbC9j
cnlwdG8vQ3J5cHRvRGlnZXN0Lmg+CiAjaW5jbHVkZSA8cGFsL2NyeXB0by9nY3J5cHQvSGFuZGxl
Lmg+CiAjaW5jbHVkZSA8cGFsL2NyeXB0by9nY3J5cHQvVXRpbGl0aWVzLmg+CisjaW5jbHVkZSA8
d3RmL09wdGlvbmFsLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aAppbmRleCBhNzFkYTNmMGVlMWE5N2ZiNjUwMDBmYzFhNTU4NzkwNGY3OTJhNjhlLi4yMjc1Nzk4
NDE4NWJmYzgyY2RmN2YzMDE3ODU1ODdiMmRlZjBhOWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApA
QCAtNjQxLDcgKzY0MSw3IEBAIHB1YmxpYzoKICAgICAKICAgICBXRUJDT1JFX0VYUE9SVCBEb2N1
bWVudExvYWRlciogbG9hZGVyKCkgY29uc3Q7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRp
b25PcjxSZWZQdHI8V2luZG93UHJveHk+PiBvcGVuRm9yQmluZGluZ3MoRE9NV2luZG93JiBhY3Rp
dmVXaW5kb3csIERPTVdpbmRvdyYgZmlyc3RXaW5kb3csIGNvbnN0IFN0cmluZyYgdXJsLCBjb25z
dCBBdG9taWNTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZmVhdHVyZXMpOworICAgIFdFQkNP
UkVfRVhQT1JUIEV4Y2VwdGlvbk9yPFJlZlB0cjxXaW5kb3dQcm94eT4+IG9wZW5Gb3JCaW5kaW5n
cyhET01XaW5kb3cmIGFjdGl2ZVdpbmRvdywgRE9NV2luZG93JiBmaXJzdERPTVdpbmRvdywgY29u
c3QgU3RyaW5nJiB1cmwsIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBm
ZWF0dXJlcyk7CiAgICAgV0VCQ09SRV9FWFBPUlQgRXhjZXB0aW9uT3I8RG9jdW1lbnQmPiBvcGVu
Rm9yQmluZGluZ3MoRG9jdW1lbnQqIHJlc3BvbnNpYmxlRG9jdW1lbnQsIGNvbnN0IFN0cmluZyYg
dHlwZSwgY29uc3QgU3RyaW5nJiByZXBsYWNlKTsKIAogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQg
cmVuYW1lIHRoaXMgYXQgc29tZSBwb2ludCBhbmQgZ2l2ZSBiYWNrIHRoZSBuYW1lICdvcGVuJyB0
byB0aGUgSFRNTCBzcGVjaWZpZWQgb25lcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MVHJlZUJ1aWxkZXIuY3BwCmluZGV4IGU0MGY5YTg4NmYxNTkwNGU2MmYwZjI2ODhhODY5
YTY5ODg5YjRhODkuLmM3MzE5MjJhZjgyOTgzYjlkYWE2YmM3ZmU1MjI3ODYzNzMxNjgzZmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcApAQCAt
MzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkhUTUxEb2N1bWVudFBhcnNlci5oIgogI2luY2x1ZGUg
IkhUTUxGb3JtQ29udHJvbEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIK
KyNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE9wdEdyb3VwRWxl
bWVudC5oIgogI2luY2x1ZGUgIkhUTUxPcHRpb25FbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFBh
cnNlcklkaW9tcy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5oCmluZGV4IDcyYjI5NzU1
ZjExZDk0MDk1ZmE3ZWRkNTMwOTY4ZjdjNTdiNTdiZWIuLjZkOWEyZGE5YmUwMzIwMDdhODJlZGE2
OGMxNmZkMmYyOGIxYzEyODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBj
YWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmgKQEAgLTI1
LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hl
UmVzb3VyY2UuaCIKICNpbmNsdWRlICJDYWNoZWRSYXdSZXNvdXJjZS5oIgogI2luY2x1ZGUgIkNh
Y2hlZFJhd1Jlc291cmNlQ2xpZW50LmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUu
aCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0FsdGVybmF0aXZlVGV4dENsaWVudC5oCmluZGV4IDkz
NTU5Mzc4OGY5ODk5YzllMjI1MTA4OGI0ZTc2ZDAwNWQzZDJmOTguLjE0M2RhNmM0N2Y0YmNlZmMw
YTQxYWE4NzY0NjdkMDQ0NzE1YmE3MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
QWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9BbHRlcm5h
dGl2ZVRleHRDbGllbnQuaApAQCAtMjksMTEgKzI5LDYgQEAKICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKLSNpZiBQTEFURk9STShNQUMp
Ci0vLyBTb21lIHBsYXRmb3JtcyBwcm92aWRlIFVJIGZvciBzdWdnZXN0aW5nIGFsdGVybmF0aXZl
IGRpY3RhdGlvbiB0ZXh0LgotI2RlZmluZSBVU0VfRElDVEFUSU9OX0FMVEVSTkFUSVZFUyAxCi0j
ZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBlbnVtIFJlYXNvbkZvckRpc21pc3NpbmdB
bHRlcm5hdGl2ZVRleHQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFz
dGVib2FyZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCmluZGV4IGQ1
NDMzZGQ5MjBhZTBlZTU5MmJkNDVmZDU2MGNkZDNlMzhhMzQ3MjEuLmUwOTgxNTY1MWJkMmQ2MDU3
NGRhNDIzNmMzODBmYWQ0ZDYwMjE1YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Bhc3RlYm9hcmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJk
LmgKQEAgLTMzOCw2ICszMzgsNyBAQCBleHRlcm4gTlNTdHJpbmcgKlVJQ29sb3JQYm9hcmRUeXBl
OwogI2lmIFBMQVRGT1JNKE1BQykKIGV4dGVybiBjb25zdCBjaGFyKiBjb25zdCBXZWJBcmNoaXZl
UGJvYXJkVHlwZTsKIGV4dGVybiBjb25zdCBjaGFyKiBjb25zdCBXZWJVUkxOYW1lUGJvYXJkVHlw
ZTsKK2V4dGVybiBjb25zdCBjaGFyKiBjb25zdCBXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGU7
CiAjZW5kaWYKIAogI2lmICFQTEFURk9STShHVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TZXNzaW9uTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1Nlc3Npb25NYWMuY3BwCmluZGV4IDc5YWI5ZjQxYmU1
Y2U2ZGU4NGM4OGUzYTY5MTgxMGQwZjQ5YTQzOTEuLmU5MTgwOTg4ZDY5Yzk2NTA4ZGMxMjFhMTcw
ZTcxMmFlYWFjY2ZlNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L21hYy9BdWRpb1Nlc3Npb25NYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL21hYy9BdWRpb1Nlc3Npb25NYWMuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAi
Tm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlIDxDb3JlQXVkaW8vQXVkaW9IYXJkd2FyZS5oPgog
I2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKaW5kZXggOTY4
YmIyMjg2YTFmN2U1ODQ2NGVmODhkNzllNjFlZjQyNDkwMTU1Zi4uM2UyYzgyYjhiMTJlZGEwOWRi
NDNmNGMxMzAxNGM1YmJhYzBiNzAzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwCkBAIC0zMCw2ICsz
MCw3IEBACiAKICNpbmNsdWRlICJEaXNwbGF5UmVmcmVzaE1vbml0b3JDbGllbnQuaCIKICNpbmNs
dWRlICJEaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5o
IgogCiAjaWYgUExBVEZPUk0oSU9TKQogI2luY2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvcklP
Uy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZh
bWlseVNwZWNpZmljYXRpb25OdWxsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHAKaW5kZXggMjE3NjkxZjcyMzk3NGU4
MDA1NzliMjhjYzA1NmE3YjljMDg1YzY0ZC4uMTVjMDM4NzY5ODI2MGY0MDVlMjJlNWJmNTI3ODAw
MzA4YzdmZTNiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udEZhbWlseVNwZWNpZmljYXRpb25OdWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuY3BwCkBAIC0yNyw2ICsy
Nyw3IEBACiAjaW5jbHVkZSAiRm9udEZhbWlseVNwZWNpZmljYXRpb25OdWxsLmgiCiAKICNpbmNs
dWRlICJGb250U2VsZWN0b3IuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmdIYXNo
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udENhaXJvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDYWlyby5jcHAKaW5kZXggMDZkOWQ3NDk0YTRiZWFh
OGUzYTljZTdhZmU2ZGFiMzViMWMyZGI3OC4uMjg2YmM2ZDhlM2MyNjUzMDQ2YzYzYjUyYjM2ZDA5
MDMxZjIwOGQ5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Fpcm8vRm9udENhaXJvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYWlyby9Gb250Q2Fpcm8uY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaWYgVVNFKENBSVJPKQog
CiAjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCisjaW5jbHVkZSAiQ2Fpcm9PcGVyYXRpb25z
LmgiCiAjaW5jbHVkZSAiQ2Fpcm9VdGlsaXRpZXMuaCIKICNpbmNsdWRlICJGb250LmgiCiAjaW5j
bHVkZSAiR2x5cGhCdWZmZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL1dlYkdMTGF5ZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJHTExheWVyLm1tCmluZGV4IDNlZDdlNDFlN2M2ODg0NmYzZmJjMTcy
Y2U2YmE5ODlmZjg3ZjU3ZWIuLjhlZTM0OGQ4OTk4NjM0MTNkNmI2NzEzNzZlNWIxZGE1NGNiMTM3
NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dl
YkdMTGF5ZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
V2ViR0xMYXllci5tbQpAQCAtNDIsMTMgKzQyLDExIEBACiAjaW1wb3J0IDxPcGVuR0wvZ2wuaD4K
ICNlbmRpZgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogQGltcGxlbWVudGF0aW9uIFdl
YkdMTGF5ZXIKIAogQHN5bnRoZXNpemUgY29udGV4dD1fY29udGV4dDsKIAotLShpZClpbml0V2l0
aEdyYXBoaWNzQ29udGV4dDNEOihHcmFwaGljc0NvbnRleHQzRCopY29udGV4dAorLShpZClpbml0
V2l0aEdyYXBoaWNzQ29udGV4dDNEOihXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRCopY29udGV4
dAogewogICAgIF9jb250ZXh0ID0gY29udGV4dDsKICAgICBzZWxmID0gW3N1cGVyIGluaXRdOwpA
QCAtODYsNyArODQsNyBAQCBzdGF0aWMgdm9pZCBmcmVlRGF0YSh2b2lkICosIGNvbnN0IHZvaWQg
KmRhdGEsIHNpemVfdCAvKiBzaXplICovKQogfQogI2VuZGlmCiAKLS0oQ0dJbWFnZVJlZiljb3B5
SW1hZ2VTbmFwc2hvdFdpdGhDb2xvclNwYWNlOihDR0NvbG9yU3BhY2VSZWYpY29sb3JTcGFjZQor
LSAoQ0dJbWFnZVJlZiljb3B5SW1hZ2VTbmFwc2hvdFdpdGhDb2xvclNwYWNlOihDR0NvbG9yU3Bh
Y2VSZWYpY29sb3JTcGFjZQogewogICAgIGlmICghX2NvbnRleHQpCiAgICAgICAgIHJldHVybiBu
dWxscHRyOwpAQCAtOTYsNyArOTQsNyBAQCAtKENHSW1hZ2VSZWYpY29weUltYWdlU25hcHNob3RX
aXRoQ29sb3JTcGFjZTooQ0dDb2xvclNwYWNlUmVmKWNvbG9yU3BhY2UKIAogICAgIFJldGFpblB0
cjxDR0NvbG9yU3BhY2VSZWY+IGltYWdlQ29sb3JTcGFjZSA9IGNvbG9yU3BhY2U7CiAgICAgaWYg
KCFpbWFnZUNvbG9yU3BhY2UpCi0gICAgICAgIGltYWdlQ29sb3JTcGFjZSA9IHNSR0JDb2xvclNw
YWNlUmVmKCk7CisgICAgICAgIGltYWdlQ29sb3JTcGFjZSA9IFdlYkNvcmU6OnNSR0JDb2xvclNw
YWNlUmVmKCk7CiAKICAgICBDR1JlY3QgbGF5ZXJCb3VuZHMgPSBDR1JlY3RJbnRlZ3JhbChbc2Vs
ZiBib3VuZHNdKTsKIApAQCAtMTQxLDE5ICsxMzksMTkgQEAgLSAodm9pZClkaXNwbGF5CiAjZW5k
aWYKIAogICAgIF9jb250ZXh0LT5tYXJrTGF5ZXJDb21wb3NpdGVkKCk7Ci0gICAgUGxhdGZvcm1D
QUxheWVyKiBsYXllciA9IFBsYXRmb3JtQ0FMYXllcjo6cGxhdGZvcm1DQUxheWVyKChfX2JyaWRn
ZSB2b2lkKilzZWxmKTsKKyAgICBXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXIqIGxheWVyID0gV2Vi
Q29yZTo6UGxhdGZvcm1DQUxheWVyOjpwbGF0Zm9ybUNBTGF5ZXIoKF9fYnJpZGdlIHZvaWQqKXNl
bGYpOwogICAgIGlmIChsYXllciAmJiBsYXllci0+b3duZXIoKSkKICAgICAgICAgbGF5ZXItPm93
bmVyKCktPnBsYXRmb3JtQ0FMYXllckxheWVyRGlkRGlzcGxheShsYXllcik7CiB9CiAKICNpZiBV
U0UoT1BFTkdMKQotLSAodm9pZClhbGxvY2F0ZUlPU3VyZmFjZUJhY2tpbmdTdG9yZVdpdGhTaXpl
OihJbnRTaXplKXNpemUgdXNpbmdBbHBoYTooQk9PTCl1c2luZ0FscGhhCistICh2b2lkKWFsbG9j
YXRlSU9TdXJmYWNlQmFja2luZ1N0b3JlV2l0aFNpemU6KFdlYkNvcmU6OkludFNpemUpc2l6ZSB1
c2luZ0FscGhhOihCT09MKXVzaW5nQWxwaGEKIHsKICAgICBfYnVmZmVyU2l6ZSA9IHNpemU7CiAg
ICAgX3VzaW5nQWxwaGEgPSB1c2luZ0FscGhhOwotICAgIF9jb250ZW50c0J1ZmZlciA9IFdlYkNv
cmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUsIHNSR0JDb2xvclNwYWNlUmVmKCkpOwotICAgIF9k
cmF3aW5nQnVmZmVyID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVhdGUoc2l6ZSwgc1JHQkNvbG9y
U3BhY2VSZWYoKSk7Ci0gICAgX3NwYXJlQnVmZmVyID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVh
dGUoc2l6ZSwgc1JHQkNvbG9yU3BhY2VSZWYoKSk7CisgICAgX2NvbnRlbnRzQnVmZmVyID0gV2Vi
Q29yZTo6SU9TdXJmYWNlOjpjcmVhdGUoc2l6ZSwgV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYo
KSk7CisgICAgX2RyYXdpbmdCdWZmZXIgPSBXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShzaXpl
LCBXZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigpKTsKKyAgICBfc3BhcmVCdWZmZXIgPSBXZWJD
b3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShzaXplLCBXZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigp
KTsKIAogICAgIEFTU0VSVChfY29udGVudHNCdWZmZXIpOwogICAgIEFTU0VSVChfZHJhd2luZ0J1
ZmZlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9XZWJHUFVMYXllci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L1dlYkdQVUxheWVyLm1tCmluZGV4IDVjMzU1N2Y4YmQ2NmE2OGM5MjNiMjNhYTY0N2JiNzE0ODQw
OWU5YTEuLjI1ZWZiOGI3NDc2ODAyNDU1OGRiY2RmMzBmNzQzMTg3MTQ2OTU1YTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVy
Lm1tCkBAIC0zNCwxMyArMzQsMTEgQEAKICNpbXBvcnQgPHd0Zi9GYXN0TWFsbG9jLmg+CiAjaW1w
b3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBAaW1w
bGVtZW50YXRpb24gV2ViR1BVTGF5ZXIKIAogQHN5bnRoZXNpemUgY29udGV4dD1fY29udGV4dDsK
IAotLSAoaWQpaW5pdFdpdGhHUFVEZXZpY2U6KEdQVURldmljZSopY29udGV4dAorLSAoaWQpaW5p
dFdpdGhHUFVEZXZpY2U6KFdlYkNvcmU6OkdQVURldmljZSopY29udGV4dAogewogICAgIHNlbGYg
PSBbc3VwZXIgaW5pdF07CiAgICAgX2NvbnRleHQgPSBjb250ZXh0OwpAQCAtNTAsNyArNDgsNyBA
QCAtIChpZClpbml0V2l0aEdQVURldmljZTooR1BVRGV2aWNlKiljb250ZXh0CiAKICNpZiBQTEFU
Rk9STShNQUMpCiAgICAgc2VsZi5jb250ZW50c1NjYWxlID0gX2RldmljZVBpeGVsUmF0aW87Ci0g
ICAgc2VsZi5jb2xvcnNwYWNlID0gc1JHQkNvbG9yU3BhY2VSZWYoKTsKKyAgICBzZWxmLmNvbG9y
c3BhY2UgPSBXZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigpOwogI2VuZGlmCiAgICAgcmV0dXJu
IHNlbGY7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
ZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tCmluZGV4IDgyMGFmOGJjMTZkYjNi
NDg2NWU3OWI3YjgyNGRiMmM3YjRkZjNlY2MuLjMwM2IyNWRhM2Q0YTY0ZWQxYjAwMzBiNzJiOWZk
YmM2Zjk2NWMzM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tCkBAIC0zMSw2ICszMSw3
IEBACiAjaW1wb3J0ICJHUFVEZXZpY2UuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQg
PE1ldGFsL01ldGFsLmg+CisjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
UGFzdGVib2FyZE1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJk
TWFjLm1tCmluZGV4IGNiNTA0Y2Y1NDNlYjdlODBkNzY2NWNkMWU1N2UzMDg5YWZmYjFhNzAuLmZk
NmU5Mjk4Nzc0ZmFmNGZlODczNWJmMjc1NjVhZGM5NTMyYmY2MzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCkBAIC01MiwxMCArNTIsMTAgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjb25zdCBjaGFyKiBjb25zdCBXZWJBcmNoaXZlUGJvYXJkVHlw
ZSA9ICJBcHBsZSBXZWIgQXJjaGl2ZSBwYXN0ZWJvYXJkIHR5cGUiOwogY29uc3QgY2hhciogY29u
c3QgV2ViVVJMTmFtZVBib2FyZFR5cGUgPSAicHVibGljLnVybC1uYW1lIjsKK2NvbnN0IGNoYXIq
IGNvbnN0IFdlYlVSTHNXaXRoVGl0bGVzUGJvYXJkVHlwZSA9ICJXZWJVUkxzV2l0aFRpdGxlc1Bi
b2FyZFR5cGUiOwogCiBjb25zdCBjaGFyIFdlYlNtYXJ0UGFzdGVQYm9hcmRUeXBlW10gPSAiTmVY
VCBzbWFydCBwYXN0ZSBwYXN0ZWJvYXJkIHR5cGUiOwogY29uc3QgY2hhciBXZWJVUkxQYm9hcmRU
eXBlW10gPSAicHVibGljLnVybCI7Ci1jb25zdCBjaGFyIFdlYlVSTHNXaXRoVGl0bGVzUGJvYXJk
VHlwZVtdID0gIldlYlVSTHNXaXRoVGl0bGVzUGJvYXJkVHlwZSI7CiAKIHN0YXRpYyBjb25zdCBW
ZWN0b3I8U3RyaW5nPiB3cml0YWJsZVR5cGVzRm9yVVJMKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJD
b2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxh
eUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwCmluZGV4IDVjMmE5ZDI0MTk4YTEzZTQ4YzRmNzNlOWRl
NjFkZDM3YWRlOTI1NTEuLmY0OTJlNjE0MmYwMjMxYjk5N2U5NmJhNTkyNzk1ODg1NjgwOTMzYWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNw
bGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29hLmNwcApAQCAtMjgsNiAr
MjgsNyBAQAogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAorI2luY2x1ZGUgIkNvcmVWaWRl
b1NvZnRMaW5rLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgPHd0Zi9BbGdvcml0
aG1zLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAppbmRl
eCAyNTQwOTY1NmMzZDYzMjAzNjE2NWZhYjFkZDc0OWU4OGZjYTY4NDgyLi5mZjU4MzYxNzRlYWI5
NTk1MjhhMjA3YmZiYWFiNjAwMzlkOWI1MDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKQEAgLTI5LDYgKzI5
LDcgQEAKICNpbmNsdWRlICJIVFRQSGVhZGVyTmFtZXMuaCIKICNpbmNsdWRlICJQdWJsaWNTdWZm
aXguaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJl
c3BvbnNlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlIDx3dGYvUG9p
bnRlckNvbXBhcmlzb24uaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jZi9Gb3JtRGF0YVN0cmVhbUNGTmV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5ldC5jcHAKaW5kZXggMjkwMjVkMzhhN2Zk
MzZmZjliOTk2MjM5MWYwODA4NzAyMWZmMTMwZS4uZTUzMjFjMjdkNGQ5NjhjNjZlNGNkNGM2Nzc5
NjNmNWE3ZDZjYWRmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jZi9Gb3JtRGF0YVN0cmVhbUNGTmV0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2NmL0Zvcm1EYXRhU3RyZWFtQ0ZOZXQuY3BwCkBAIC00MiwxMSArNDIsNyBAQAog
I2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+
CiAKLSNpZiBQTEFURk9STShJT1MpICYmICFQTEFURk9STShJT1NNQUMpCi1zdGF0aWMgY29uc3Qg
U0ludDMyIGZuZkVyciA9IC00MzsKLSNlbGlmIFBMQVRGT1JNKE1BQykKLSNpbmNsdWRlIDxDb3Jl
U2VydmljZXMvQ29yZVNlcnZpY2VzLmg+Ci0jZW5kaWYKK3N0YXRpYyBjb25zdCBTSW50MzIgZmls
ZU5vdEZvdW5kRXJyb3IgPSAtNDM7CiAKICNpZiBQTEFURk9STShDT0NPQSkKIGV4dGVybiAiQyIg
dm9pZCBDRlVSTFJlcXVlc3RTZXRIVFRQUmVxdWVzdEJvZHkoQ0ZNdXRhYmxlVVJMUmVxdWVzdFJl
ZiBtdXRhYmxlSFRUUFJlcXVlc3QsIENGRGF0YVJlZiBodHRwQm9keSk7CkBAIC0yNDEsNyArMjM3
LDcgQEAgc3RhdGljIEJvb2xlYW4gZm9ybU9wZW4oQ0ZSZWFkU3RyZWFtUmVmLCBDRlN0cmVhbUVy
cm9yKiBlcnJvciwgQm9vbGVhbiogb3BlbkNvbXAKICNpZiBQTEFURk9STShXSU4pCiAgICAgICAg
IEVOT0VOVDsKICNlbHNlCi0gICAgICAgIGZuZkVycjsKKyAgICAgICAgZmlsZU5vdEZvdW5kRXJy
b3I7CiAjZW5kaWYKICAgICByZXR1cm4gb3BlbmVkOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguaAppbmRleCBmODI4MmI1ZjM0YTg5NDczZGU5YWQ3YTIx
NzY1YWY2YTMyYWNmOTVjLi44NGY3MTQ3ZTZkYzM0ZjJlNzUxNTYxMjEwMTliYWYxNDBlNWJjMWU1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjgu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguaApAQCAt
MjYsNiArMjYsNyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJUZXh0Q29kZWMuaCIKKyNp
bmNsdWRlIDx1bmljb2RlL3V0ZjguaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9MQ2hhci5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
dXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcAppbmRleCAz
YmM4MmM2ZTFhYmQyZmFjNDNiMDk5YzhlNmUzY2NmMzY2ZGQ4NTNiLi4yYzJiNTA4ZmFjNWM2ZmM4
NDYyODVjOWZmYTg5NWE3YjQwMjJiOGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5j
cHAKQEAgLTI3LDYgKzI3LDggQEAKICNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxv
dy5oIgogCiAjaW5jbHVkZSAiUmVuZGVyTXVsdGlDb2x1bW5GbG93LmgiCisjaW5jbHVkZSAiUmVu
ZGVyVHJlZUJ1aWxkZXJCbG9jay5oIgorI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyTXVsdGlD
b2x1bW4uaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5saW5lLmNw
cAppbmRleCA3Y2QwNzE1ZGY1MjRhNzZmZDIwNmEyMzQyOGQ5ZGFjN2Q3ZDg1M2Y4Li5kYzk1M2Nj
ZGNlZTgzMDFkZmQwNTk3YTYxZDA1MmUzYzUwYjlmNjFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGlu
ZS5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJSZW5kZXJGdWxsU2NyZWVuLmgiCiAj
aW5jbHVkZSAiUmVuZGVySW5saW5lLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGFibGUuaCIKKyNpbmNs
dWRlICJSZW5kZXJUcmVlQnVpbGRlclRhYmxlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZS5tbSBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmUubW0KaW5kZXggYjE3NDJmZGZkZDM4NjllYWRk
M2Q3YzVhZWU3MDVlNjYxZjk3ZWVkYy4uYjhjOTcyZjdlYzE4ZWI3ZDRjOWE3MWRlMmI0ZTFlMmM2
NWRlODc2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZS5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlLm1tCkBAIC0zNCw5ICsz
NCw4IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9MZWdhY3lXZWJBcmNoaXZlLmg+CiAjaW5jbHVkZSA8
d3RmL1JldGFpblB0ci5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogbmFtZXNwYWNl
IEFQSSB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogUmVmPFdlYkFyY2hpdmU+IFdlYkFy
Y2hpdmU6OmNyZWF0ZShXZWJBcmNoaXZlUmVzb3VyY2UqIG1haW5SZXNvdXJjZSwgUmVmUHRyPEFQ
STo6QXJyYXk+JiYgc3VicmVzb3VyY2VzLCBSZWZQdHI8QVBJOjpBcnJheT4mJiBzdWJmcmFtZUFy
Y2hpdmVzKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2
ZVJlc291cmNlLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNl
Lm1tCmluZGV4IGNhZTViODVkZjE3N2RkZGU2OGQ4NTJlNWU1MDZkOGQ5MmJlMmVhOTQuLmRjMGY5
MGYwZjM4NTFhYmYxMDA0ODRiYTU3M2FlNGFmOGU4MGIyMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmVSZXNvdXJjZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW0KQEAgLTMzLDkgKzMzLDggQEAKICNpbmNs
dWRlIDxXZWJDb3JlL1VSTC5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAotdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7Ci0KIG5hbWVzcGFjZSBBUEkgewordXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CiAKIFJlZjxXZWJBcmNoaXZlUmVzb3VyY2U+IFdlYkFyY2hpdmVSZXNvdXJjZTo6Y3Jl
YXRlKEFQSTo6RGF0YSogZGF0YSwgY29uc3QgU3RyaW5nJiBVUkwsIGNvbnN0IFN0cmluZyYgTUlN
RVR5cGUsIGNvbnN0IFN0cmluZyYgdGV4dEVuY29kaW5nKQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5Nb2R1bGVN
YWMubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2Fw
ZVBsdWdpbk1vZHVsZU1hYy5tbQppbmRleCA2OGQ3YzZhZGYzNjI3NTEzMTI5NjM1NjI4NmYxMWU4
NDljMTRjMmMwLi5jMGNjYWM1OTg1M2NmYWZmZDlmZjFkMWUzZDY4YjY3ZDY0NTdmN2M3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2Fw
ZVBsdWdpbk1vZHVsZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05l
dHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbQpAQCAtMzQsOSArMzQsOCBAQAog
I2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KICNpbXBvcnQgPHd0Zi9zcGkvY2YvQ0ZCdW5kbGVT
UEkuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIG5hbWVzcGFjZSBXZWJLaXQgewor
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIHN0YXRpYyBib29sIGdldFBsdWdpbkFyY2hpdGVj
dHVyZShDRkJ1bmRsZVJlZiBidW5kbGUsIFBsdWdpbk1vZHVsZUluZm8mIHBsdWdpbikKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL1BsdWdp
bkluZm9ybWF0aW9uTWFjLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2Fw
ZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW0KaW5kZXggNWVjODQyNDk1OWNiYzE5Mjg4NmZh
NzVhYmYwM2YzZDg4NWJjYjFkOS4uMzI1ODRkNDE2YmUwZmYyNWU5ZTkxZGRmNDI4NzBlMzM5NGY0
OTM2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9t
YWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1
Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW0KQEAgLTM0LDkgKzM0LDgg
QEAKICNpbXBvcnQgIlN0cmluZ1V0aWxpdGllcy5oIgogI2ltcG9ydCA8V2ViQ29yZS9QbHVnaW5C
bGFja2xpc3QuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIG5hbWVzcGFjZSBXZWJL
aXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIHZvaWQgZ2V0UGxhdGZvcm1QbHVnaW5N
b2R1bGVJbmZvcm1hdGlvbihjb25zdCBQbHVnaW5Nb2R1bGVJbmZvJiBwbHVnaW4sIEFQSTo6RGlj
dGlvbmFyeTo6TWFwVHlwZSYgbWFwKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3Vy
Y2VzQ29jb2EudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IGQ4YTNj
OTBkZmZlMzIyMzIyZDc2M2VlMjFlN2NiYTQ1MGZlODVmY2YuLjRiOGQ0ODA2YjQ0ZjIyMDQ2NTg1
NzdlYjdhOTY3OGNiOGUzNDc5YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0Nv
Y29hLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKQEAgLTI5OCw5ICsy
OTgsOSBAQCBVSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0gQG5vLXVuaWZ5CiAKIFVJUHJvY2Vz
cy9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCiAKLVVJ
UHJvY2Vzcy9BcHBsZVBheS9pb3MvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlJT1MubW0KK1VJ
UHJvY2Vzcy9BcHBsZVBheS9pb3MvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlJT1MubW0gQG5v
LXVuaWZ5CiAKLVVJUHJvY2Vzcy9BcHBsZVBheS9tYWMvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJv
eHlNYWMubW0KK1VJUHJvY2Vzcy9BcHBsZVBheS9tYWMvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJv
eHlNYWMubW0gQG5vLXVuaWZ5CiAKIFVJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9jb2NvYS9BdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5Q29jb2EubW0KIFVJUHJvY2Vzcy9BdXRoZW50aWNhdGlv
bi9jb2NvYS9TZWNLZXlQcm94eVN0b3JlLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9BUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oCmluZGV4IGJmYzVlZTMz
ODIyMGQ5MTU2ZmNjZjAwYzFlNzZkMGJiZWU5MDQxOTAuLjM3OWM4ODU3YmU5NGI2MTk1NTVlZGZm
ZWM0YzNhOWE2ZTE3Nzk0ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9BUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9BUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oCkBAIC01MSw3ICs1MSw3IEBAIHB1
YmxpYzoKIAogICAgIHZpcnR1YWwgfkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50KCkgeyB9CiAKLSAg
ICB2aXJ0dWFsIFN0cmluZyBzZXNzaW9uSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIFN0cmlu
ZygpOyB9CisgICAgdmlydHVhbCBXVEY6OlN0cmluZyBzZXNzaW9uSWRlbnRpZmllcigpIGNvbnN0
IHsgcmV0dXJuIFdURjo6U3RyaW5nKCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkRGlzY29ubmVj
dEZyb21SZW1vdGUoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYpIHsgfQogICAgIHZpcnR1
YWwgdm9pZCByZXF1ZXN0TmV3UGFnZVdpdGhPcHRpb25zKFdlYktpdDo6V2ViQXV0b21hdGlvblNl
c3Npb24mLCBBdXRvbWF0aW9uU2Vzc2lvbkJyb3dzaW5nQ29udGV4dE9wdGlvbnMsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoV2ViS2l0OjpXZWJQYWdlUHJveHkqKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikgeyBjb21wbGV0aW9uSGFuZGxlcihudWxscHRyKTsgfQogICAgIHZpcnR1YWwgdm9pZCByZXF1
ZXN0TWF4aW1pemVXaW5kb3dPZlBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdl
YktpdDo6V2ViUGFnZVByb3h5JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKSB7IGNvbXBsZXRpb25IYW5kbGVyKCk7IH0KQEAgLTYxLDggKzYxLDggQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgYm9vbCBpc1Nob3dpbmdKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdl
YktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgcmV0
dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIGRpc21pc3NDdXJyZW50SmF2YVNjcmlwdERp
YWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdl
UHJveHkmKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgYWNjZXB0Q3VycmVudEphdmFTY3JpcHREaWFs
b2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVBy
b3h5JikgeyB9Ci0gICAgdmlydHVhbCBTdHJpbmcgbWVzc2FnZU9mQ3VycmVudEphdmFTY3JpcHRE
aWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFn
ZVByb3h5JikgeyByZXR1cm4gU3RyaW5nKCk7IH0KLSAgICB2aXJ0dWFsIHZvaWQgc2V0VXNlcklu
cHV0Rm9yQ3VycmVudEphdmFTY3JpcHRQcm9tcHRPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9u
U2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JiwgY29uc3QgU3RyaW5nJikgeyB9CisgICAg
dmlydHVhbCBXVEY6OlN0cmluZyBtZXNzYWdlT2ZDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFn
ZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7
IHJldHVybiBXVEY6OlN0cmluZygpOyB9CisgICAgdmlydHVhbCB2b2lkIHNldFVzZXJJbnB1dEZv
ckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Np
b24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIGNvbnN0IFdURjo6U3RyaW5nJikgeyB9CiAgICAg
dmlydHVhbCBzdGQ6Om9wdGlvbmFsPEphdmFTY3JpcHREaWFsb2dUeXBlPiB0eXBlT2ZDdXJyZW50
SmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2Vi
S2l0OjpXZWJQYWdlUHJveHkmKSB7IHJldHVybiBzdGQ6Om51bGxvcHQ7IH0KIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29s
TWFuYWdlckNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1
c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbQppbmRleCAxMWJhMzcyNjU0ODNmZmU3ZmYyNDY1
MDk0MGQ4ZjMzYTUyYzBjMDRhLi4xOWE1OWI0MmNhYjdiNTQ3ZWQ5NDQ2MGU3MmZjMDM5NmNmZTc5
Mjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9MZWdhY3lDdXN0
b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tCkBAIC0zMiwyMyArMzIs
MjAgQEAKICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW1wb3J0IDxXZWJD
b3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci11c2lu
ZyBuYW1lc3BhY2UgV2ViS2l0OwotCiBAaW50ZXJmYWNlIFdLQ3VzdG9tUHJvdG9jb2xMb2FkZXIg
OiBOU09iamVjdCA8TlNVUkxDb25uZWN0aW9uRGVsZWdhdGU+IHsKIEBwcml2YXRlCi0gICAgTGVn
YWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94
eTsKKyAgICBXZWJLaXQ6OkxlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiBfY3VzdG9t
UHJvdG9jb2xNYW5hZ2VyUHJveHk7CiAgICAgdWludDY0X3QgX2N1c3RvbVByb3RvY29sSUQ7CiAg
ICAgTlNVUkxDYWNoZVN0b3JhZ2VQb2xpY3kgX3N0b3JhZ2VQb2xpY3k7CiAgICAgTlNVUkxDb25u
ZWN0aW9uICpfdXJsQ29ubmVjdGlvbjsKIH0KLS0gKGlkKWluaXRXaXRoTGVnYWN5Q3VzdG9tUHJv
dG9jb2xNYW5hZ2VyUHJveHk6KExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiljdXN0
b21Qcm90b2NvbE1hbmFnZXJQcm94eSBjdXN0b21Qcm90b2NvbElEOih1aW50NjRfdCljdXN0b21Q
cm90b2NvbElEIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3Q7CistIChpZClpbml0V2l0
aExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OihXZWJLaXQ6OkxlZ2FjeUN1c3RvbVBy
b3RvY29sTWFuYWdlclByb3h5KiljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSBjdXN0b21Qcm90
b2NvbElEOih1aW50NjRfdCljdXN0b21Qcm90b2NvbElEIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAq
KXJlcXVlc3Q7CiAtICh2b2lkKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5RGVzdHJveWVkOwog
QGVuZAogCiBAaW1wbGVtZW50YXRpb24gV0tDdXN0b21Qcm90b2NvbExvYWRlcgogCi0tIChpZClp
bml0V2l0aExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OihMZWdhY3lDdXN0b21Qcm90
b2NvbE1hbmFnZXJQcm94eSopY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJvdG9j
b2xJRDoodWludDY0X3QpY3VzdG9tUHJvdG9jb2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKily
ZXF1ZXN0CistIChpZClpbml0V2l0aExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OihX
ZWJLaXQ6OkxlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiljdXN0b21Qcm90b2NvbE1h
bmFnZXJQcm94eSBjdXN0b21Qcm90b2NvbElEOih1aW50NjRfdCljdXN0b21Qcm90b2NvbElEIHJl
cXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QKIHsKICAgICBzZWxmID0gW3N1cGVyIGluaXRd
OwogICAgIGlmICghc2VsZikKQEAgLTg1LDcgKzgyLDcgQEAgLSAodm9pZCljdXN0b21Qcm90b2Nv
bE1hbmFnZXJQcm94eURlc3Ryb3llZAogCiAtICh2b2lkKWNvbm5lY3Rpb246KE5TVVJMQ29ubmVj
dGlvbiAqKWNvbm5lY3Rpb24gZGlkRmFpbFdpdGhFcnJvcjooTlNFcnJvciAqKWVycm9yCiB7Ci0g
ICAgUmVzb3VyY2VFcnJvciBjb3JlRXJyb3IoZXJyb3IpOworICAgIFdlYkNvcmU6OlJlc291cmNl
RXJyb3IgY29yZUVycm9yKGVycm9yKTsKICAgICBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkt
PmRpZEZhaWxXaXRoRXJyb3IoX2N1c3RvbVByb3RvY29sSUQsIGNvcmVFcnJvcik7CiAgICAgX2N1
c3RvbVByb3RvY29sTWFuYWdlclByb3h5LT5zdG9wTG9hZGluZyhfY3VzdG9tUHJvdG9jb2xJRCk7
CiB9CkBAIC05OSw3ICs5Niw3IEBAIC0gKE5TQ2FjaGVkVVJMUmVzcG9uc2UgKiljb25uZWN0aW9u
OihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIHdpbGxDYWNoZVJlc3BvCiAKIC0gKHZvaWQp
Y29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiBkaWRSZWNlaXZlUmVzcG9u
c2U6KE5TVVJMUmVzcG9uc2UgKilyZXNwb25zZQogewotICAgIFJlc291cmNlUmVzcG9uc2UgY29y
ZVJlc3BvbnNlKHJlc3BvbnNlKTsKKyAgICBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIGNvcmVS
ZXNwb25zZShyZXNwb25zZSk7CiAgICAgX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5LT5kaWRS
ZWNlaXZlUmVzcG9uc2UoX2N1c3RvbVByb3RvY29sSUQsIGNvcmVSZXNwb25zZSwgX3N0b3JhZ2VQ
b2xpY3kpOwogfQogCkBAIC0xMjcsNiArMTI0LDcgQEAgLSAodm9pZCljb25uZWN0aW9uRGlkRmlu
aXNoTG9hZGluZzooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbgogQGVuZAogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiB2b2lkIExlZ2FjeUN1c3Rv
bVByb3RvY29sTWFuYWdlckNsaWVudDo6c3RhcnRMb2FkaW5nKExlZ2FjeUN1c3RvbVByb3RvY29s
TWFuYWdlclByb3h5JiBtYW5hZ2VyLCB1aW50NjRfdCBjdXN0b21Qcm90b2NvbElELCBjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmIGNvcmVSZXF1ZXN0KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCmluZGV4IGMyYjkxYTYz
OTczZTYzMTIwYWFlNTI4Zjg5NzUzODVmN2I2ZGJmNjIuLmVkZWQ5YzdkMmE0ZTU4ZTNkMDU4ZDgz
MjY4MzEwOTgxODJhZjQ0NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Bs
dWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKQEAgLTQ4LDcgKzQ4LDcgQEAgc3RhdGlj
IGNvbnN0IFNlY29uZHMgc25hcHNob3R0aW5nTWluaW11bUxpZmV0aW1lIHsgMzBfcyB9Owogc3Rh
dGljIGNvbnN0IFNlY29uZHMgc2h1dGRvd25UaW1lb3V0IHsgMV9taW4gfTsKIHN0YXRpYyBjb25z
dCBTZWNvbmRzIHNuYXBzaG90dGluZ1NodXRkb3duVGltZW91dCB7IDE1X3MgfTsKIAotc3RhdGlj
IHVpbnQ2NF90IGdlbmVyYXRlQ2FsbGJhY2tJRCgpCitzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVQ
bHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCgpCiB7CiAgICAgc3RhdGljIHVpbnQ2NF90IGNhbGxiYWNr
SUQ7CiAKQEAgLTExNCw3ICsxMTQsNyBAQCB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6Z2V0UGx1
Z2luUHJvY2Vzc0Nvbm5lY3Rpb24oTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6RwogCiB2b2lk
IFBsdWdpblByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YShDb21wbGV0aW9uSGFuZGxlcjx2
b2lkIChWZWN0b3I8U3RyaW5nPik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgdWludDY0
X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIHVpbnQ2NF90IGNhbGxi
YWNrSUQgPSBnZW5lcmF0ZVBsdWdpblByb2Nlc3NDYWxsYmFja0lEKCk7CiAgICAgbV9wZW5kaW5n
RmV0Y2hXZWJzaXRlRGF0YUNhbGxiYWNrcy5zZXQoY2FsbGJhY2tJRCwgV1RGTW92ZShjb21wbGV0
aW9uSGFuZGxlcikpOwogCiAgICAgaWYgKHN0YXRlKCkgPT0gU3RhdGU6OkxhdW5jaGluZykgewpA
QCAtMTI3LDcgKzEyNyw3IEBAIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVE
YXRhKENvbXBsZXRpb25IYW5kbGVyPHZvaWQgKFZlY3RvcjxTdHJpbmc+CiAKIHZvaWQgUGx1Z2lu
UHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YShXYWxsVGltZSBtb2RpZmllZFNpbmNlLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkICgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIHVp
bnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1aW50NjRfdCBj
YWxsYmFja0lEID0gZ2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVu
ZGluZ0RlbGV0ZVdlYnNpdGVEYXRhQ2FsbGJhY2tzLnNldChjYWxsYmFja0lELCBXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKSk7CiAKICAgICBpZiAoc3RhdGUoKSA9PSBTdGF0ZTo6TGF1bmNoaW5n
KSB7CkBAIC0xNDAsNyArMTQwLDcgQEAgdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmRlbGV0ZVdl
YnNpdGVEYXRhKFdhbGxUaW1lIG1vZGlmaWVkU2luY2UsIENvbXBsZXRpb25IYW4KIAogdm9pZCBQ
bHVnaW5Qcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5hbWVzKGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiBob3N0TmFtZXMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQgKCk+JiYgY29t
cGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2Fs
bGJhY2tJRCgpOworICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVBsdWdpblByb2Nl
c3NDYWxsYmFja0lEKCk7CiAgICAgbV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFGb3JIb3N0TmFt
ZXNDYWxsYmFja3Muc2V0KGNhbGxiYWNrSUQsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsK
IAogICAgIGlmIChzdGF0ZSgpID09IFN0YXRlOjpMYXVuY2hpbmcpIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNj
cm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90
ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5tbQpp
bmRleCA0YTJlMjliNTYwOTYxYTU5YjFjYjU1MTk3ODM5MTQ5YzMxMDY4NGMyLi43MmE4ODJmMDU4
MWQ1ZWFjOTFmYzE0YmMwNWEwMmYxNDRmMTZjMTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
RGVsZWdhdGVJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJU
cmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tCkBAIC00Myw4
ICs0Myw2IEBACiAjaW1wb3J0IDxXZWJDb3JlL1Njcm9sbFNuYXBPZmZzZXRzSW5mby5oPgogI2Vu
ZGlmCiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBAaW1wbGVtZW50YXRpb24gV0tTY3Jv
bGxpbmdOb2RlU2Nyb2xsVmlld0RlbGVnYXRlCiAKIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aFNj
cm9sbGluZ1RyZWVOb2RlRGVsZWdhdGU6KFdlYktpdDo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGVEZWxlZ2F0ZUlPUyopZGVsZWdhdGUKQEAgLTgwLDcgKzc4LDcgQEAgLSAodm9pZClzY3JvbGxW
aWV3V2lsbEVuZERyYWdnaW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3IHdpdGhWZWxvY2l0
eTooQ0dQb2kKIAogICAgIGlmICghX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGlu
Z05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNldHMoKS5pc0VtcHR5KCkpIHsKICAgICAgICAgdW5z
aWduZWQgaW5kZXg7Ci0gICAgICAgIGZsb2F0IHBvdGVudGlhbFNuYXBQb3NpdGlvbiA9IGNsb3Nl
c3RTbmFwT2Zmc2V0KF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCku
aG9yaXpvbnRhbFNuYXBPZmZzZXRzKCksIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3Jv
bGxpbmdOb2RlKCkuaG9yaXpvbnRhbFNuYXBPZmZzZXRSYW5nZXMoKSwgaG9yaXpvbnRhbFRhcmdl
dCwgdmVsb2NpdHkueCwgaW5kZXgpOworICAgICAgICBmbG9hdCBwb3RlbnRpYWxTbmFwUG9zaXRp
b24gPSBXZWJDb3JlOjpjbG9zZXN0U25hcE9mZnNldChfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0
ZS0+c2Nyb2xsaW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0cygpLCBfc2Nyb2xsaW5nVHJl
ZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0UmFuZ2Vz
KCksIGhvcml6b250YWxUYXJnZXQsIHZlbG9jaXR5LngsIGluZGV4KTsKICAgICAgICAgX3Njcm9s
bGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5zZXRDdXJyZW50SG9yaXpvbnRh
bFNuYXBQb2ludEluZGV4KGluZGV4KTsKICAgICAgICAgaWYgKGhvcml6b250YWxUYXJnZXQgPj0g
MCAmJiBob3Jpem9udGFsVGFyZ2V0IDw9IHNjcm9sbFZpZXcuY29udGVudFNpemUud2lkdGgpCiAg
ICAgICAgICAgICB0YXJnZXRDb250ZW50T2Zmc2V0LT54ID0gcG90ZW50aWFsU25hcFBvc2l0aW9u
OwpAQCAtODgsNyArODYsNyBAQCAtICh2b2lkKXNjcm9sbFZpZXdXaWxsRW5kRHJhZ2dpbmc6KFVJ
U2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcgd2l0aFZlbG9jaXR5OihDR1BvaQogCiAgICAgaWYgKCFf
c2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2FsU25hcE9m
ZnNldHMoKS5pc0VtcHR5KCkpIHsKICAgICAgICAgdW5zaWduZWQgaW5kZXg7Ci0gICAgICAgIGZs
b2F0IHBvdGVudGlhbFNuYXBQb3NpdGlvbiA9IGNsb3Nlc3RTbmFwT2Zmc2V0KF9zY3JvbGxpbmdU
cmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkudmVydGljYWxTbmFwT2Zmc2V0cygpLCBf
c2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2FsU25hcE9m
ZnNldFJhbmdlcygpLCB2ZXJ0aWNhbFRhcmdldCwgdmVsb2NpdHkueSwgaW5kZXgpOworICAgICAg
ICBmbG9hdCBwb3RlbnRpYWxTbmFwUG9zaXRpb24gPSBXZWJDb3JlOjpjbG9zZXN0U25hcE9mZnNl
dChfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2FsU25h
cE9mZnNldHMoKSwgX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52
ZXJ0aWNhbFNuYXBPZmZzZXRSYW5nZXMoKSwgdmVydGljYWxUYXJnZXQsIHZlbG9jaXR5LnksIGlu
ZGV4KTsKICAgICAgICAgX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUo
KS5zZXRDdXJyZW50VmVydGljYWxTbmFwUG9pbnRJbmRleChpbmRleCk7CiAgICAgICAgIGlmICh2
ZXJ0aWNhbFRhcmdldCA+PSAwICYmIHZlcnRpY2FsVGFyZ2V0IDw9IHNjcm9sbFZpZXcuY29udGVu
dFNpemUuaGVpZ2h0KQogICAgICAgICAgICAgdGFyZ2V0Q29udGVudE9mZnNldC0+eSA9IHBvdGVu
dGlhbFNuYXBQb3NpdGlvbjsKQEAgLTEyMiw2ICsxMjAsNyBAQCAtICh2b2lkKXNjcm9sbFZpZXdE
aWRFbmREZWNlbGVyYXRpbmc6KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcKIEBlbmQKIAogbmFt
ZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogU2Nyb2xsaW5nVHJl
ZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUzo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxl
Z2F0ZUlPUyhTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZSYgc2Nyb2xsaW5nTm9kZSkKICAgICA6
IFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGUoc2Nyb2xsaW5nTm9kZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJv
eHkuY3BwCmluZGV4IGVmYThkMTNjYmJkNWZmYTgwOGI1ZjBlZGJmNGE1MWRjOWRmODU3ZTcuLjNh
MTMxYjRkNjBkOGFhMDdlODdmYjVlNGM2MTRmMzBhN2Q0MmI1NzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1Byb3h5LmNwcApA
QCAtMzcsNyArMzcsNyBAQAogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKIAotc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlQ2FsbGJhY2tJRCgpCitzdGF0aWMgdWlu
dDY0X3QgZ2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQoKQogewogICAgIHN0YXRpYyB1
aW50NjRfdCBjYWxsYmFja0lEOwogCkBAIC0xMDUsNyArMTA1LDcgQEAgdm9pZCBTdG9yYWdlUHJv
Y2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0
aW9uU2V0PFcKIHsKICAgICBBU1NFUlQoY2FuU2VuZE1lc3NhZ2UoKSk7CiAKLSAgICB1aW50NjRf
dCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7CisgICAgdWludDY0X3QgY2FsbGJh
Y2tJRCA9IGdlbmVyYXRlU3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKCk7CiAgICAgbV9wZW5kaW5n
RmV0Y2hXZWJzaXRlRGF0YUNhbGxiYWNrcy5hZGQoY2FsbGJhY2tJRCwgV1RGTW92ZShjb21wbGV0
aW9uSGFuZGxlcikpOwogCiAgICAgc2VuZChNZXNzYWdlczo6U3RvcmFnZVByb2Nlc3M6OkZldGNo
V2Vic2l0ZURhdGEoc2Vzc2lvbklELCBkYXRhVHlwZXMsIGNhbGxiYWNrSUQpLCAwKTsKQEAgLTEx
Myw3ICsxMTMsNyBAQCB2b2lkIFN0b3JhZ2VQcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEo
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8VwogCiB2b2lkIFN0b3JhZ2VQcm9j
ZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0
aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4gZGF0YVR5cGVzLCBXYWxsVGltZSBtb2RpZmllZFNpbmNl
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkICgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAg
IGF1dG8gY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIGF1dG8gY2FsbGJh
Y2tJRCA9IGdlbmVyYXRlU3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKCk7CiAKICAgICBtX3BlbmRp
bmdEZWxldGVXZWJzaXRlRGF0YUNhbGxiYWNrcy5hZGQoY2FsbGJhY2tJRCwgV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcikpOwogICAgIHNlbmQoTWVzc2FnZXM6OlN0b3JhZ2VQcm9jZXNzOjpEZWxl
dGVXZWJzaXRlRGF0YShzZXNzaW9uSUQsIGRhdGFUeXBlcywgbW9kaWZpZWRTaW5jZSwgY2FsbGJh
Y2tJRCksIDApOwpAQCAtMTIzLDcgKzEyMyw3IEBAIHZvaWQgU3RvcmFnZVByb2Nlc3NQcm94eTo6
ZGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwKIHsK
ICAgICBBU1NFUlQoY2FuU2VuZE1lc3NhZ2UoKSk7CiAKLSAgICB1aW50NjRfdCBjYWxsYmFja0lE
ID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7CisgICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVy
YXRlU3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKCk7CiAgICAgbV9wZW5kaW5nRGVsZXRlV2Vic2l0
ZURhdGFGb3JPcmlnaW5zQ2FsbGJhY2tzLmFkZChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBsZXRp
b25IYW5kbGVyKSk7CiAKICAgICBzZW5kKE1lc3NhZ2VzOjpTdG9yYWdlUHJvY2Vzczo6RGVsZXRl
V2Vic2l0ZURhdGFGb3JPcmlnaW5zKHNlc3Npb25JRCwgZGF0YVR5cGVzLCBvcmlnaW5zLCBjYWxs
YmFja0lEKSwgMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDI1
ZmU0YTJlODRjZDg0OWQzZDliMGZhMWNkOTM4OWE3M2RjMWNlYTYuLjY1YzAxOWZkNGVlMTVhMjIw
OTc0NTY2YmE2Mjg3Y2M0MjQyZTU4MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCkBAIC02MSw3ICs2MSw2IEBACiAjaW5jbHVkZSAiV2ViUGFnZUluamVjdGVkQnVuZGxl
Q2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuaCIKICNpbmNs
dWRlICJXZWJQcmVmZXJlbmNlcy5oIgotI2luY2x1ZGUgPFdlYkNvcmUvQWx0ZXJuYXRpdmVUZXh0
Q2xpZW50Lmg+IC8vIEZJWE1FOiBOZWVkZWQgYnkgV2ViUGFnZVByb3h5TWVzc2FnZXMuaCBmb3Ig
RElDVEFUSU9OX0FMVEVSTkFUSVZFUy4KICNpbmNsdWRlICJXZWJQYWdlUHJveHlNZXNzYWdlcy5o
IgogI2luY2x1ZGUgIldlYlBvcHVwTWVudVByb3h5LmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc0xp
ZmV0aW1lVHJhY2tlci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggYzc3MTU1OTBlZDcxY2NkZDIzZGYyODVhM2FhN2MzNmU1NDNkYjdm
Ni4uYmM3YzI0M2Y0Nzk2YWNjMmVjZTRjNGZlY2M0NDkyOTI1OGNkYjQ1NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03NTYsNiArNzU2
LDggQEAKIAkJMkQ5MkE3OTUyMTJCNkFENDAwRjQ5M0ZEIC8qIFBsdWdpblByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUEyRDkwRDExMjgxQzk2NjAwMUVCOTYyIC8qIFBsdWdpblByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuY3BwICovOyB9OwogCQkyRDkyQTc5NjIxMkI2QURBMDBGNDkzRkQgLyogTmV0c2Nh
cGVQbHVnaW5Nb2R1bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUE0QTlDNTMxMkI4MTZDRjAwOEZFOTg0IC8qIE5ldHNjYXBlUGx1Z2luTW9kdWxl
LmNwcCAqLzsgfTsKIAkJMkQ5MkE3OTcyMTJCNkFEQTAwRjQ5M0ZEIC8qIFBsdWdpbkluZm9ybWF0
aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdD
M0Y4QzhFMTczQUY1MkQwMDdCN0YzOSAvKiBQbHVnaW5JbmZvcm1hdGlvbi5jcHAgKi87IH07CisJ
CTJEOTJBNzk4MjEzNDhEODUwMEY0OTNGRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1h
Yy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQjFG
NzdEMUQxQjMwQTkwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbSAq
LzsgfTsKKwkJMkQ5MkE3OUYyMTM0QjA3RTAwRjQ5M0ZEIC8qIFdlYlBheW1lbnRDb29yZGluYXRv
clByb3h5SU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUFCMUY3N0IxRDFCMzBBOTAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5
SU9TLm1tICovOyB9OwogCQkyRDkzMTE2OTIxMkY2MUIyMDAwNDRCRkUgLyogV0tDb250ZW50Vmll
dy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0I0
RTNEMThCQkUwNDQwMDBGQ0ZDOSAvKiBXS0NvbnRlbnRWaWV3Lm1tICovOyB9OwogCQkyRDkzMTE2
QTIxMkY2MUI1MDAwNDRCRkUgLyogV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDQjRFNkIxOEJCRjI2QTAw
MEZDRkM5IC8qIFdLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSAqLzsgfTsKIAkJMkQ5RUEzMEQx
QTk2Q0I1OTAwMkQyODA3IC8qIFdLUGFnZUluamVjdGVkQnVuZGxlQ2xpZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlFQTMwQzFBOTZDQjU5MDAy
RDI4MDcgLyogV0tQYWdlSW5qZWN0ZWRCdW5kbGVDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTEyNDEsNiArMTEyNDMsOCBAQAogCQkJ
CTdDRTlDRTEwMUZBMDc2N0EwMDAxNzdERSAvKiBXZWJQYWdlVXBkYXRlUHJlZmVyZW5jZXMuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJN0M0Njk0QzkxQTRCNEVBMTAwQUQ1ODQ1IC8qIFdlYlBhc3Rl
Ym9hcmRQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUIxRjc5
NjFEMUIzNjEzMDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yTWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJBNzlGMjEzNEIwN0UwMEY0OTNGRCAvKiBXZWJQ
YXltZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJBNzk4
MjEzNDhEODUwMEY0OTNGRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTFBQjFGNzk4MUQxQjM2MTMwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDky
QTc4RDIxMkI2QUIxMDBGNDkzRkQgLyogV2ViUGxhdGZvcm1Ub3VjaFBvaW50LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTJEOTEzNDRFMjEyQ0Y5RjAwMDEyOEFGRCAvKiBXZWJQbHVnaW5JbmZvUHJv
dmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1BsdWdpbnMvUERGL1BERlBsdWdpbi5tbQppbmRleCA1MzA3ZTI2YTc2MzdlOGE2OWIwNDVhYmI5
Mjg3OWYzZjhjNjU4NmYyLi40Y2FhNmNjMGY2MDQ1MGMwM2IyMmEyODRkZDEzYWYyNWVmZDZlMzg2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1
Z2luLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVn
aW4ubW0KQEAgLTg4LDggKzg4LDYgQEAKICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TTWVudVNQSS5o
PgogI2ltcG9ydCA8d3RmL1VVSUQuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIC8v
IFNldCBvdmVyZmxvdzogaGlkZGVuIG9uIHRoZSBhbm5vdGF0aW9uIGNvbnRhaW5lciBzbyA8aW5w
dXQ+IGVsZW1lbnRzIHNjcm9sbGVkIG91dCBvZiB2aWV3IGRvbid0IHNob3cKIC8vIHNjcm9sbGJh
cnMgb24gdGhlIGJvZHkuIFdlIGNhbid0IGFkZCBhbm5vdGF0aW9ucyBkaXJlY3RseSB0byB0aGUg
Ym9keSwgYmVjYXVzZSBvdmVyZmxvdzogaGlkZGVuIG9uIHRoZSBib2R5CiAvLyB3aWxsIGJyZWFr
IHJ1YmJlci1iYW5kaW5nLgpAQCAtMjkwLDcgKzI4OCw3IEBAIC0gKE5TQXJyYXkgKilhY2Nlc3Np
YmlsaXR5QWN0aW9uTmFtZXMKIC0gKHZvaWQpYWNjZXNzaWJpbGl0eVBlcmZvcm1BY3Rpb246KE5T
U3RyaW5nICopYWN0aW9uCiB7CiAgICAgaWYgKFthY3Rpb24gaXNFcXVhbFRvU3RyaW5nOk5TQWNj
ZXNzaWJpbGl0eVNob3dNZW51QWN0aW9uXSkKLSAgICAgICAgX3BkZlBsdWdpbi0+c2hvd0NvbnRl
eHRNZW51QXRQb2ludChJbnRSZWN0KEludFBvaW50KCksIF9wZGZQbHVnaW4tPnNpemUoKSkuY2Vu
dGVyKCkpOworICAgICAgICBfcGRmUGx1Z2luLT5zaG93Q29udGV4dE1lbnVBdFBvaW50KFdlYkNv
cmU6OkludFJlY3QoV2ViQ29yZTo6SW50UG9pbnQoKSwgX3BkZlBsdWdpbi0+c2l6ZSgpKS5jZW50
ZXIoKSk7CiB9CiAKIC0gKEJPT0wpYWNjZXNzaWJpbGl0eUlzQXR0cmlidXRlU2V0dGFibGU6KE5T
U3RyaW5nICopYXR0cmlidXRlCkBAIC0zMTYsOCArMzE0LDggQEAgLSAoaWQpYWNjZXNzaWJpbGl0
eUZvY3VzZWRVSUVsZW1lbnQKIHsKICNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEwMTMwMAogICAgIGlmIChXZWJLaXQ6OlBERlBsdWdpbkFubm90YXRpb24qIGFjdGl2ZUFu
bm90YXRpb24gPSBfcGRmUGx1Z2luLT5hY3RpdmVBbm5vdGF0aW9uKCkpIHsKLSAgICAgICAgaWYg
KEFYT2JqZWN0Q2FjaGUqIGV4aXN0aW5nQ2FjaGUgPSBfcGRmUGx1Z2luLT5heE9iamVjdENhY2hl
KCkpIHsKLSAgICAgICAgICAgIGlmIChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QgPSBleGlz
dGluZ0NhY2hlLT5nZXRPckNyZWF0ZShhY3RpdmVBbm5vdGF0aW9uLT5lbGVtZW50KCkpKQorICAg
ICAgICBpZiAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZSogZXhpc3RpbmdDYWNoZSA9IF9wZGZQbHVn
aW4tPmF4T2JqZWN0Q2FjaGUoKSkgeworICAgICAgICAgICAgaWYgKFdlYkNvcmU6OkFjY2Vzc2li
aWxpdHlPYmplY3QqIG9iamVjdCA9IGV4aXN0aW5nQ2FjaGUtPmdldE9yQ3JlYXRlKGFjdGl2ZUFu
bm90YXRpb24tPmVsZW1lbnQoKSkpCiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAogI3By
YWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMi
CiAgICAgICAgICAgICAgICAgcmV0dXJuIFtvYmplY3QtPndyYXBwZXIoKSBhY2Nlc3NpYmlsaXR5
QXR0cmlidXRlVmFsdWU6QCJfQVhBc3NvY2lhdGVkUGx1Z2luUGFyZW50Il07CkBAIC0zMzgsMTEg
KzMzNiwxMSBAQCAtIChpZClhY2Nlc3NpYmlsaXR5QXNzb2NpYXRlZENvbnRyb2xGb3JBbm5vdGF0
aW9uOihQREZBbm5vdGF0aW9uICopYW5ub3RhdGlvbgogICAgIGlmICghYWN0aXZlQW5ub3RhdGlv
biB8fCAhW2FjdGl2ZUFubm90YXRpb24tPmFubm90YXRpb24oKSBpc0VxdWFsOmFubm90YXRpb25d
KQogICAgICAgICByZXR1cm4gbmlsOwogICAgIAotICAgIEFYT2JqZWN0Q2FjaGUqIGNhY2hlID0g
X3BkZlBsdWdpbi0+YXhPYmplY3RDYWNoZSgpOworICAgIFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGUq
IGNhY2hlID0gX3BkZlBsdWdpbi0+YXhPYmplY3RDYWNoZSgpOwogICAgIGlmICghY2FjaGUpCiAg
ICAgICAgIHJldHVybiBuaWw7CiAgICAgCi0gICAgQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0
ID0gY2FjaGUtPmdldE9yQ3JlYXRlKGFjdGl2ZUFubm90YXRpb24tPmVsZW1lbnQoKSk7CisgICAg
V2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0ID0gY2FjaGUtPmdldE9yQ3JlYXRl
KGFjdGl2ZUFubm90YXRpb24tPmVsZW1lbnQoKSk7CiAgICAgaWYgKCFvYmplY3QpCiAgICAgICAg
IHJldHVybiBuaWw7CiAKQEAgLTM1Myw3ICszNTEsNyBAQCAtIChpZClhY2Nlc3NpYmlsaXR5QXNz
b2NpYXRlZENvbnRyb2xGb3JBbm5vdGF0aW9uOihQREZBbm5vdGF0aW9uICopYW5ub3RhdGlvbgog
LSAoaWQpYWNjZXNzaWJpbGl0eUhpdFRlc3Q6KE5TUG9pbnQpcG9pbnQKIHsKICNpZiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMAotICAgIHBvaW50ID0gX3BkZlBsdWdp
bi0+Y29udmVydEZyb21Sb290Vmlld1RvUERGVmlldyhJbnRQb2ludChwb2ludCkpOworICAgIHBv
aW50ID0gX3BkZlBsdWdpbi0+Y29udmVydEZyb21Sb290Vmlld1RvUERGVmlldyhXZWJDb3JlOjpJ
bnRQb2ludChwb2ludCkpOwogICAgIHJldHVybiBbX3BkZkxheWVyQ29udHJvbGxlciBhY2Nlc3Np
YmlsaXR5SGl0VGVzdDpwb2ludF07CiAjZWxzZQogICAgIHJldHVybiBzZWxmOwpAQCAtNDIxLDcg
KzQxOSw3IEBAIC0gKGlkKWluaXRXaXRoUERGUGx1Z2luOihXZWJLaXQ6OlBERlBsdWdpbiAqKXBs
dWdpbgogCiAtICh2b2lkKXVwZGF0ZVNjcm9sbFBvc2l0aW9uOihDR1BvaW50KW5ld1Bvc2l0aW9u
CiB7Ci0gICAgX3BkZlBsdWdpbi0+bm90aWZ5U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKEludFBvaW50
KG5ld1Bvc2l0aW9uKSk7CisgICAgX3BkZlBsdWdpbi0+bm90aWZ5U2Nyb2xsUG9zaXRpb25DaGFu
Z2VkKFdlYkNvcmU6OkludFBvaW50KG5ld1Bvc2l0aW9uKSk7CiB9CiAKIC0gKHZvaWQpd3JpdGVJ
dGVtc1RvUGFzdGVib2FyZDooTlNBcnJheSAqKWl0ZW1zIHdpdGhUeXBlczooTlNBcnJheSAqKXR5
cGVzCkBAIC01MDAsNiArNDk4LDEwIEBAIC0gKE5TUmVjdCljb252ZXJ0UmVjdDooTlNSZWN0KXJl
Y3QgZnJvbVBhZ2U6KFBERlBhZ2UgKikgcGFnZSBmb3JTY2FsZUZhY3RvcjooQ0dGCiAtIChQREZQ
YWdlICopcGFnZU5lYXJlc3RQb2ludDooTlNQb2ludClwb2ludCBjdXJyZW50UGFnZTooUERGUGFn
ZSAqKWN1cnJlbnRQYWdlOwogQGVuZAogCituYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwordXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKKwogc3RhdGljIGNvbnN0
IGNoYXIqIHBvc3RTY3JpcHRNSU1FVHlwZSA9ICJhcHBsaWNhdGlvbi9wb3N0c2NyaXB0IjsKIGNv
bnN0IHVpbnQ2NF90IHBkZkRvY3VtZW50UmVxdWVzdElEID0gMTsgLy8gUGx1Z2luQ29udHJvbGxl
ciBzdXBwb3J0cyBsb2FkaW5nIG11bHRpcGxlIHN0cmVhbXMsIGJ1dCB3ZSBvbmx5IG5lZWQgb25l
IGZvciBQREYuCiAKQEAgLTU5Niw5ICs1OTgsNiBAQCBzdGF0aWMgdm9pZCBnZXRBbGxTY3JpcHRz
SW5QREZEb2N1bWVudChDR1BERkRvY3VtZW50UmVmIHBkZkRvY3VtZW50LCBWZWN0b3I8UmV0YQog
ICAgIH0KIH0KIAotbmFtZXNwYWNlIFdlYktpdCB7Ci11c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVz
OwotCiBSZWY8UERGUGx1Z2luPiBQREZQbHVnaW46OmNyZWF0ZShXZWJGcmFtZSYgZnJhbWUpCiB7
CiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUERGUGx1Z2luKGZyYW1lKSk7CkBAIC0xNDUwLDcg
KzE0NDksNyBAQCB2b2lkIFBERlBsdWdpbjo6dXBkYXRlQ3Vyc29yKGNvbnN0IFdlYk1vdXNlRXZl
bnQmIGV2ZW50LCBVcGRhdGVDdXJzb3JNb2RlIG1vZGUpCiAgICAgaWYgKGhpdFRlc3RSZXN1bHQg
PT0gbV9sYXN0SGl0VGVzdFJlc3VsdCAmJiBtb2RlID09IFVwZGF0ZUlmTmVlZGVkKQogICAgICAg
ICByZXR1cm47CiAKLSAgICB3ZWJGcmFtZSgpLT5wYWdlKCktPnNlbmQoTWVzc2FnZXM6OldlYlBh
Z2VQcm94eTo6U2V0Q3Vyc29yKGhpdFRlc3RSZXN1bHQgPT0gVGV4dCA/IGlCZWFtQ3Vyc29yKCkg
OiBwb2ludGVyQ3Vyc29yKCkpKTsKKyAgICB3ZWJGcmFtZSgpLT5wYWdlKCktPnNlbmQoTWVzc2Fn
ZXM6OldlYlBhZ2VQcm94eTo6U2V0Q3Vyc29yKGhpdFRlc3RSZXN1bHQgPT0gVGV4dCA/IFdlYkNv
cmU6OmlCZWFtQ3Vyc29yKCkgOiBXZWJDb3JlOjpwb2ludGVyQ3Vyc29yKCkpKTsKICAgICBtX2xh
c3RIaXRUZXN0UmVzdWx0ID0gaGl0VGVzdFJlc3VsdDsKIH0KICNlbmRpZgpAQCAtMTk4MSwxNiAr
MTk4MCwxNiBAQCB2b2lkIFBERlBsdWdpbjo6bm90aWZ5U2VsZWN0aW9uQ2hhbmdlZChQREZTZWxl
Y3Rpb24gKikKICAgICB3ZWJGcmFtZSgpLT5wYWdlKCktPmRpZENoYW5nZVNlbGVjdGlvbigpOwog
fQogCi1zdGF0aWMgY29uc3QgQ3Vyc29yJiBjb3JlQ3Vyc29yKFBERkxheWVyQ29udHJvbGxlckN1
cnNvclR5cGUgdHlwZSkKK3N0YXRpYyBjb25zdCBXZWJDb3JlOjpDdXJzb3ImIGNvcmVDdXJzb3Io
UERGTGF5ZXJDb250cm9sbGVyQ3Vyc29yVHlwZSB0eXBlKQogewogICAgIHN3aXRjaCAodHlwZSkg
ewogICAgIGNhc2Uga1BERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGVIYW5kOgotICAgICAgICBy
ZXR1cm4gaGFuZEN1cnNvcigpOworICAgICAgICByZXR1cm4gV2ViQ29yZTo6aGFuZEN1cnNvcigp
OwogICAgIGNhc2Uga1BERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGVJQmVhbToKLSAgICAgICAg
cmV0dXJuIGlCZWFtQ3Vyc29yKCk7CisgICAgICAgIHJldHVybiBXZWJDb3JlOjppQmVhbUN1cnNv
cigpOwogICAgIGNhc2Uga1BERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGVQb2ludGVyOgogICAg
IGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiBwb2ludGVyQ3Vyc29yKCk7CisgICAgICAgIHJldHVy
biBXZWJDb3JlOjpwb2ludGVyQ3Vyc29yKCk7CiAgICAgfQogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348254</attachid>
            <date>2018-08-27 19:27:54 -0700</date>
            <delta_ts>2018-08-27 20:40:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189009-20180827192753.patch</filename>
            <type>text/plain</type>
            <size>57855</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGMyOWZmMzZiMTcwMDNiYTAxZDNlYmJj
YWNhNDY4ZTRmNDZlM2YzN2IuLjA3YzYxYjkxMTg5ZjZmYjg3M2MxN2MxNWM0N2Y1NzI2ODE0YzY4
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3Jl
IHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL2dlbmVy
YXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmI6CisgICAgICAgIEl0IHR1cm5zIG91dCBvdXIg
cGxhbiB0byBzd2l0Y2ggdW5pZmllZCBzb3VyY2UgYnVuZGxlIGV2ZXJ5IHRpbWUgdGhlIGRpcmVj
dG9yeQorICAgICAgICBjaGFuZ2VzIGlzIG5vdCBhIGdvb2QgZml0IGZvciBwcm9qZWN0cyBsaWtl
IFdlYktpdDIgd2l0aCBtYW55IHNtYWxsIGRpcmVjdG9yaWVzLgorICAgICAgICBJdCBsZWF2ZXMg
bWFueSB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIHdpdGggb25seSBhIHNpbmdsZSBzb3VyY2UgZmls
ZSwKKyAgICAgICAgYWNoaWV2aW5nIG9ubHkgfjQwJSBkZW5zaXR5LgorCisgICAgICAgIEluc3Rl
YWQsIHN3aXRjaCB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIGV2ZXJ5IHRpbWUgdGhlIHRvcC1sZXZl
bCBkaXJlY3RvcnkgY2hhbmdlcy4KKyAgICAgICAgVGhpcyBzdGlsbCBhY2hpZXZlcyB0aGUgZ29h
bCBvZiAqdXN1YWxseSogb25seSByZWJ1aWxkaW5nIHRoZSBvbmUgdG9wLWxldmVsCisgICAgICAg
IGRpcmVjdG9yeSB5b3UgdG91Y2hlZCwgYW5kIGluY3JlYXNlcyBzb3VyY2UgYnVuZGxlIGRlbnNp
dHkgd2lsZGx5LCB0byB+OTUlLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTgt
MDgtMjcgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQgYnVpbGQgZml4IC0tIGRpc2FibGUgTFRPIGZvciBwcm9kdWN0aW9uIGJ1aWxkcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDdmZjk4ZTNhMDliZTBjOWE3ZWM2MWFlYWVjZDk4MjhmYTcxNjNmZjMuLmNiZGZk
OTgwODYyMDk5NTFkNmQ2ZWJjMTZkYjk0Y2EzZmI3YzQ1ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzOCBAQAorMjAxOC0wOC0yNyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNv
bT4KKworICAgICAgICBCdW5kbGUgdW5pZmllZCBzb3VyY2VzIG1vcmUgdGlnaHRseSBpbiBwcm9q
ZWN0cyB3aXRoIGRlZXAgZGlyZWN0b3J5IHN0cnVjdHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTAwOQorCisgICAgICAgIFJldmlld2VkIGJ5
IFNpbW9uIEZyYXNlci4KKworICAgICAgICBGaXggYSB2YXJpZXR5IG9mIHVuaWZpY2F0aW9uIGVy
cm9ycyBkdWUgdG8gcmVzaHVmZmxpbmcgdGhlIGJ1bmRsZXMuCisKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAqIFNvdXJjZXNDb2NvYS50
eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUVDRFNBLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUVDRFNBOjppbXBvcnRLZXkpOgorICAgICAgICAqIGRv
bS9Eb2N1bWVudC5oOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHA6
CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRl
ci5oOgorICAgICAgICAqIHBhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50Lmg6CisgICAgICAgICog
cGxhdGZvcm0vUGFzdGVib2FyZC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Rpc3Bs
YXlSZWZyZXNoTW9uaXRvci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZh
bWlseVNwZWNpZmljYXRpb25OdWxsLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJHTExheWVyLm1tOgorICAgICAgICAoLVtXZWJHTExheWVyIGluaXRXaXRoR3JhcGhp
Y3NDb250ZXh0M0Q6XSk6CisgICAgICAgICgtW1dlYkdMTGF5ZXIgY29weUltYWdlU25hcHNob3RX
aXRoQ29sb3JTcGFjZTpdKToKKyAgICAgICAgKC1bV2ViR0xMYXllciBkaXNwbGF5XSk6CisgICAg
ICAgICgtW1dlYkdMTGF5ZXIgYWxsb2NhdGVJT1N1cmZhY2VCYWNraW5nU3RvcmVXaXRoU2l6ZTp1
c2luZ0FscGhhOl0pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxh
eWVyLm1tOgorICAgICAgICAoLVtXZWJHUFVMYXllciBpbml0V2l0aEdQVURldmljZTpdKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHA6CisgICAgICAg
ICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwOgor
CiAyMDE4LTA4LTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtBdHRhY2htZW50IFN1cHBvcnRdIFJlbW92ZSBXZWJDb3JlOjpBdHRhY2htZW50RGlz
cGxheU9wdGlvbnMgYW5kIGZyaWVuZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYjczYzY3OTE3NzA1N2UxNDIxYWEy
YTNiMDU4NTIwYTc4ODYzMzhhMy4uNDZiMWEyZDYzY2U3ZmMyMzkyOTlmNmJjYjc3MGNjNGYxN2Zh
NGQ1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MiBAQAorMjAxOC0wOC0yNyAgVGltIEhvcnRvbiAg
PHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBCdW5kbGUgdW5pZmllZCBzb3Vy
Y2VzIG1vcmUgdGlnaHRseSBpbiBwcm9qZWN0cyB3aXRoIGRlZXAgZGlyZWN0b3J5IHN0cnVjdHVy
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTAw
OQorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBGaXggYSB2
YXJpZXR5IG9mIHVuaWZpY2F0aW9uIGVycm9ycyBkdWUgdG8gcmVzaHVmZmxpbmcgdGhlIGJ1bmRs
ZXMuCisKKyAgICAgICAgKiBTaGFyZWQvQVBJV2ViQXJjaGl2ZS5tbToKKyAgICAgICAgKiBTaGFy
ZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05l
dHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbToKKyAgICAgICAgKiBTaGFyZWQv
UGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW06CisgICAgICAgICog
U291cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25T
ZXNzaW9uQ2xpZW50Lmg6CisgICAgICAgIChBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Ojpz
ZXNzaW9uSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgIChBUEk6OkF1dG9tYXRpb25TZXNzaW9u
Q2xpZW50OjptZXNzYWdlT2ZDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZSk6CisgICAgICAg
IChBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50OjpzZXRVc2VySW5wdXRGb3JDdXJyZW50SmF2
YVNjcmlwdFByb21wdE9uUGFnZSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1
c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2Nv
bExvYWRlciBpbml0V2l0aExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OmN1c3RvbVBy
b3RvY29sSUQ6cmVxdWVzdDpdKToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBj
b25uZWN0aW9uOmRpZEZhaWxXaXRoRXJyb3I6XSk6CisgICAgICAgICgtW1dLQ3VzdG9tUHJvdG9j
b2xMb2FkZXIgY29ubmVjdGlvbjpkaWRSZWNlaXZlUmVzcG9uc2U6XSk6CisgICAgICAgICogVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
Z2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdp
blByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdp
blByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpQbHVn
aW5Qcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5hbWVzKToKKyAgICAgICAg
KFdlYktpdDo6Z2VuZXJhdGVDYWxsYmFja0lEKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nl
c3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRl
SU9TLm1tOgorICAgICAgICAoLVtXS1Njcm9sbGluZ05vZGVTY3JvbGxWaWV3RGVsZWdhdGUgc2Ny
b2xsVmlld1dpbGxFbmREcmFnZ2luZzp3aXRoVmVsb2NpdHk6dGFyZ2V0Q29udGVudE9mZnNldDpd
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1Byb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6Z2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQpOgorICAg
ICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKToKKyAg
ICAgICAgKFdlYktpdDo6U3RvcmFnZVByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEpOgor
ICAgICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZv
ck9yaWdpbnMpOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZUNhbGxiYWNrSUQpOiBEZWxldGVk
LgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IFdlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tOgorICAgICAgICAoLVtXS1BERlBs
dWdpbkFjY2Vzc2liaWxpdHlPYmplY3QgYWNjZXNzaWJpbGl0eVBlcmZvcm1BY3Rpb246XSk6Cisg
ICAgICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5Rm9j
dXNlZFVJRWxlbWVudF0pOgorICAgICAgICAoLVtXS1BERlBsdWdpbkFjY2Vzc2liaWxpdHlPYmpl
Y3QgYWNjZXNzaWJpbGl0eUFzc29jaWF0ZWRDb250cm9sRm9yQW5ub3RhdGlvbjpdKToKKyAgICAg
ICAgKC1bV0tQREZQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0IGFjY2Vzc2liaWxpdHlIaXRUZXN0
Ol0pOgorICAgICAgICAoLVtXS1BERkxheWVyQ29udHJvbGxlckRlbGVnYXRlIHVwZGF0ZVNjcm9s
bFBvc2l0aW9uOl0pOgorICAgICAgICAoV2ViS2l0OjpQREZQbHVnaW46OnVwZGF0ZUN1cnNvcik6
CisgICAgICAgIChXZWJLaXQ6OmNvcmVDdXJzb3IpOgorICAgICAgICAoYXBwZW5kVmFsdWVzSW5Q
REZOYW1lU3VidHJlZVRvVmVjdG9yKTogRGVsZXRlZC4KKyAgICAgICAgKGdldEFsbFZhbHVlc0lu
UERGTmFtZVRyZWUpOiBEZWxldGVkLgorICAgICAgICAoZ2V0QWxsU2NyaXB0c0luUERGRG9jdW1l
bnQpOiBEZWxldGVkLgorCiAyMDE4LTA4LTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhA
YXBwbGUuY29tPgogCiAgICAgICAgIFtBdHRhY2htZW50IFN1cHBvcnRdIFJlbW92ZSBXZWJDb3Jl
OjpBdHRhY2htZW50RGlzcGxheU9wdGlvbnMgYW5kIGZyaWVuZHMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvU2NyaXB0cy9nZW5lcmF0ZS11bmlmaWVkLXNvdXJjZS1idW5kbGVzLnJiIGIvU291cmNl
L1dURi9TY3JpcHRzL2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKaW5kZXggYzAx
OTY2ZWUxYjJjNjdkOTc2MGYwM2E1YmJjYWEzY2I1NzI2MTJiMy4uYWJkOTc2NzdhMjBhZGI0ZDQ2
MmViOThmNzc4ZDk4MDI5YmRkNDk5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL2dl
bmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKKysrIGIvU291cmNlL1dURi9TY3JpcHRz
L2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKQEAgLTIxMCwxMCArMjEwLDE3IEBA
IGNsYXNzIEJ1bmRsZU1hbmFnZXIKICAgICBlbmQKIGVuZAogCitkZWYgVG9wTGV2ZWxEaXJlY3Rv
cnlGb3JQYXRoKHBhdGgpCisgICAgaWYgIXBhdGgKKyAgICAgICAgcmV0dXJuIG5pbAorICAgIGVu
ZAorICAgIHJldHVybiBwYXRoLmVhY2hfZmlsZW5hbWUubmV4dAorZW5kCisKIGRlZiBQcm9jZXNz
RmlsZUZvclVuaWZpZWRTb3VyY2VHZW5lcmF0aW9uKHNvdXJjZUZpbGUpCiAgICAgcGF0aCA9IHNv
dXJjZUZpbGUucGF0aAotICAgIGlmICgkY3VycmVudERpcmVjdG9yeSAhPSBwYXRoLmRpcm5hbWUp
Ci0gICAgICAgIGxvZygiRmx1c2hpbmcgYmVjYXVzZSBuZXcgZGlybmFtZTsgb2xkOiAjeyRjdXJy
ZW50RGlyZWN0b3J5fSwgbmV3OiAje3BhdGguZGlybmFtZX0iKQorICAgIGlmIChUb3BMZXZlbERp
cmVjdG9yeUZvclBhdGgoJGN1cnJlbnREaXJlY3RvcnkpICE9IFRvcExldmVsRGlyZWN0b3J5Rm9y
UGF0aChwYXRoLmRpcm5hbWUpKQorICAgICAgICBsb2coIkZsdXNoaW5nIGJlY2F1c2UgbmV3IHRv
cCBsZXZlbCBkaXJlY3Rvcnk7IG9sZDogI3skY3VycmVudERpcmVjdG9yeX0sIG5ldzogI3twYXRo
LmRpcm5hbWV9IikKICAgICAgICAgJGJ1bmRsZU1hbmFnZXJzLmVhY2hfdmFsdWUgeyB8eHwgeC5m
bHVzaCB9CiAgICAgICAgICRjdXJyZW50RGlyZWN0b3J5ID0gcGF0aC5kaXJuYW1lCiAgICAgZW5k
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYv
UGxhdGZvcm0uaAppbmRleCAwYzZlZmI4NjI5ODI1MzlkMmI0YjJjYzRmOGY4YjVmY2I0ZWM4OGU4
Li42N2NmYTkzMzEzYzkwNDIxZWI2Y2YxNzlkOThlZjcwM2RhMGU0OWRiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgK
QEAgLTEzMTQsNiArMTMxNCw3IEBACiAjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX1RP
VUNIX0JBUiAxCiAjZGVmaW5lIEhBVkVfQURWQU5DRURfU1BFTExfQ0hFQ0tJTkcgMQorI2RlZmlu
ZSBVU0VfRElDVEFUSU9OX0FMVEVSTkFUSVZFUyAxCiAKICNpZiBkZWZpbmVkKF9fTFA2NF9fKQog
I2RlZmluZSBFTkFCTEVfV0VCX1BMQVlCQUNLX0NPTlRST0xTX01BTkFHRVIgMQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdCdWZmZXIuaCBiL1NvdXJjZS9XVEYvd3RmL3Rl
eHQvU3RyaW5nQnVmZmVyLmgKaW5kZXggZjI5M2QzMzNkYmUzZTQ1ZTYzN2ExNDg2NzMzZDBhMmZk
OGMwOGMwYy4uZTMyY2QyNjBkZDk0ZGIxNTU5ODViZmI0NzYyOWI4YTkxMTM2YzI2OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdCdWZmZXIuaAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oCkBAIC0yOSw5ICsyOSwxMCBAQAogI2lmbmRlZiBTdHJp
bmdCdWZmZXJfaAogI2RlZmluZSBTdHJpbmdCdWZmZXJfaAogCi0jaW5jbHVkZSA8d3RmL0Fzc2Vy
dGlvbnMuaD4KICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8dW5pY29kZS91dHlwZXMuaD4K
KyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi9NYWxsb2NQdHIuaD4K
IAogbmFtZXNwYWNlIFdURiB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y2FjaGUvV29ya2VyQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NhY2hlL1dvcmtlckNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCmluZGV4IGFkMjA5
MzIxOWY4OGU2ZGEzZTFkNjA2MjRlNDFhZTlhNDFkZjQ5MjcuLjFlYmRkNWRlNDhhN2U3ZTFjOTZh
MDFjNzhmZWQ3ZGE1YmM0ZmI4ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y2FjaGUvV29ya2VyQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcApAQCAtMjks
NiArMjksNyBAQAogCiAjaW5jbHVkZSAiQ2FjaGVRdWVyeU9wdGlvbnMuaCIKICNpbmNsdWRlICJD
YWNoZVN0b3JhZ2VQcm92aWRlci5oIgorI2luY2x1ZGUgIkNsaWVudE9yaWdpbi5oIgogI2luY2x1
ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIldvcmtlckdsb2Jh
bFNjb3BlLmgiCkBAIC0zNiw3ICszNyw2IEBACiAjaW5jbHVkZSAiV29ya2VyUnVuTG9vcC5oIgog
I2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOjpET01DYWNoZUVuZ2luZTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29udHJvbGxlci5jcHAKaW5kZXggOTYxMzJl
Njk3MzdhZTk4YTYwZjk1NGYxZjMxMTgzODQxMDcxZTBhOS4uY2RiNzc3ZTk5OTI5MjIxY2YwYThm
MDExNDJiMmQwN2VkZTllZmVkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBF
TkFCTEUoV0VCX1JUQykKIAorI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiTGliV2Vi
UlRDUHJvdmlkZXIuaCIKICNpbmNsdWRlICJSVENQZWVyQ29ubmVjdGlvbi5oIgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0
VXBkYXRlRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9Q
YXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50LmNwcAppbmRleCBjMjA1MzM1ZWFhOGU5MThhNmQzOGFl
NGYyZmZjODFhZWQ0NWE5YTBmLi45NGI3MWM0NjYxOTI0MTM1YzIxYWVhNjlkNDg5OWQ3YjA3NWE2
MmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1Bh
eW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAKQEAgLTI4LDYgKzI4
LDcgQEAKIAogI2lmIEVOQUJMRShQQVlNRU5UX1JFUVVFU1QpCiAKKyNpbmNsdWRlICJFdmVudE5h
bWVzLmgiCiAjaW5jbHVkZSAiUGF5bWVudFJlcXVlc3QuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXkuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXkuY3BwCmluZGV4IGFkYjc1
MWQwYzM5YzBhNTZiNWU0ZGMxZjU0MjEwYmRhYTRlZGZmNzguLmE5MzNkOTgwZmNmNWE5OTE3NGFi
MGUwYzQwMDIwOTE2Y2JmMWIzNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VidnIvVlJEaXNwbGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZS
RGlzcGxheS5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJDYW52YXNSZW5kZXJpbmdD
b250ZXh0LmgiCiAjaW5jbHVkZSAiQ2hyb21lLmgiCiAjaW5jbHVkZSAiRE9NRXhjZXB0aW9uLmgi
CisjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1
ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuaCIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY3J5cHRvL2djcnlwdC9VdGlsaXRpZXMu
aCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY3J5cHRvL2djcnlwdC9VdGlsaXRpZXMuaAppbmRl
eCA4MmZlMTdjMDNiNDExNzNlYzEzZDMwYjJmYzMxZmFjMWQyOGE1OGRmLi42MjkyYTBmODBiYjBm
NTgyNjUzMmZlNDFiM2JhYTA5MWJkZTJjNjE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL2NyeXB0by9nY3J5cHQvVXRpbGl0aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9jcnlwdG8vZ2NyeXB0L1V0aWxpdGllcy5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNs
dWRlIDxnY3J5cHQuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorI2luY2x1ZGUgPHd0
Zi9PcHRpb25hbC5oPgogCiBuYW1lc3BhY2UgUEFMIHsKIG5hbWVzcGFjZSBHQ3J5cHQgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggNjZmN2YxNmJkNjRmODJjNDMyYmVhZWQ4ZTcwZDFiNWZm
MDYzYTUxNy4uOTU3ZTRiNWI2NjFiNDAyMGYwYTIxZWUwMDk1YzAxNzY0NmU0OTNhMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzQ29jb2EudHh0CkBAIC0zODksNyArMzg5LDcgQEAgcGxhdGZvcm0vaW9zL1BsYXRm
b3JtU2NyZWVuSU9TLm1tCiBwbGF0Zm9ybS9pb3MvUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklP
Uy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktp
dC5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9RdWlja0xvb2subW0KLXBsYXRmb3JtL2lvcy9R
dWlja0xvb2tTb2Z0TGluay5tbQorcGxhdGZvcm0vaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tIEBu
by11bmlmeQogcGxhdGZvcm0vaW9zL1JlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5tbQogcGxhdGZv
cm0vaW9zL1Njcm9sbEFuaW1hdG9ySU9TLm1tCiBwbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJ
T1MubW0KQEAgLTM5OSw3ICszOTksNyBAQCBwbGF0Zm9ybS9pb3MvU1NMS2V5R2VuZXJhdG9ySU9T
LmNwcAogcGxhdGZvcm0vaW9zL1N5c3RlbU1lbW9yeUlPUy5jcHAKIHBsYXRmb3JtL2lvcy9UaGVt
ZUlPUy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9UaWxlQ29udHJvbGxlck1lbW9yeUhhbmRs
ZXJJT1MuY3BwCi1wbGF0Zm9ybS9pb3MvVXNlckFnZW50SU9TLm1tCitwbGF0Zm9ybS9pb3MvVXNl
ckFnZW50SU9TLm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1ZhbGlkYXRpb25CdWJibGVJT1Mu
bW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQu
bW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvV2ViQVZQbGF5ZXJDb250cm9sbGVyLm1tCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
YjZkZjc0OGE2ZDE5MDQ4NWIxOGMzZDU4Y2I1MTgzYmJhZGI4MmY4OS4uZDNiOWVhYWNmNDVjY2Mx
ODMwOGE4Y2Q4ZGQ1OWJkYWFiM2I2NzRkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtODA2LDYgKzgwNiw4IEBACiAJCTJEOEI5
MkZGMjAzRDEzRTEwMDlDODY4RiAvKiBVbmlmaWVkU291cmNlNTMwLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IERFNUY4NUQzMUZBMjM4NTkwMDZEQjYz
QiAvKiBVbmlmaWVkU291cmNlNTMwLmNwcCAqLzsgfTsKIAkJMkQ4RkVCREQxNDNFM0VGNzAwNzI1
MDJCIC8qIENTU0Nyb3NzZmFkZVZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyRDhGRUJEQjE0M0UzRUY3MDA3MjUwMkIgLyogQ1NTQ3Jvc3NmYWRl
VmFsdWUuaCAqLzsgfTsKIAkJMkQ5MDY2MDcwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDkwNjYw
NTBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkyRDkyQTc5QTIxMzRBRDc5MDBGNDkzRkQgLyog
UXVpY2tMb29rU29mdExpbmsubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0NDM5MTdGRDFBOTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsu
bW0gKi87IH07CisJCTJEOTJBNzlEMjEzNEFGOTUwMEY0OTNGRCAvKiBVc2VyQWdlbnRJT1MubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBM0FGOUQ4MzIw
MzI1NjkxMDA2Q0FEMDYgLyogVXNlckFnZW50SU9TLm1tICovOyB9OwogCQkyRDkzQUVFMzE5REY1
NjQxMDAyQTg2QzMgLyogU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5M0FFRTExOURGNTY0MTAwMkE4NkMz
IC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaCAqLzsgfTsKIAkJMkQ5N0YwNDcxOURENDEz
QzAwMUVFOUMzIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREFBRTMyQzE5RENBRjYwMDBFMDAyRDIgLyog
TW9ja1BhZ2VPdmVybGF5Q2xpZW50LmNwcCAqLzsgfTsKIAkJMkQ5N0YwNDgxOURENDE0MDAwMUVF
OUMzIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMkRBQUUzMkQxOURDQUY2MDAwRTAwMkQyIC8qIE1vY2tQYWdl
T3ZlcmxheUNsaWVudC5oICovOyB9OwpAQCAtNzA3Miw3ICs3MDc0LDcgQEAKIAkJMzM5QjVCNjIx
MzFEQUEzMjAwRjQ4RDAyIC8qIENvb2tpZXNTdHJhdGVneS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDb29raWVzU3RyYXRlZ3kuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMzY2MkY5ODQwNDdDRURCRTVERERBRkFBIC8qIFJlbmRlck1hdGhNTE1lbmNsb3NlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlck1hdGhNTE1lbmNs
b3NlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzcxMTlBNzkyMENDQjYxMDAw
MkM2REM5IC8qIFdlYktpdFRhcmdldENvbmRpdGlvbmFscy54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGgg
PSBXZWJLaXRUYXJnZXRDb25kaXRpb25hbHMueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTM3MTdEN0U1MTdFQ0MzQTYwMDNDMjc2RCAvKiBleHRyYWN0LWxvY2FsaXphYmxl
LXN0cmluZ3MucGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0LnNjcmlwdC5wZXJsOyBuYW1lID0gZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdz
LnBsOyBwYXRoID0gIlNjcmlwdHMvZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBsIjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzcxN0Q3RTUxN0VDQzNBNjAwM0MyNzZEIC8qIGV4
dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnBlcmw7IG5hbWUgPSAiZXh0cmFjdC1s
b2NhbGl6YWJsZS1zdHJpbmdzLnBsIjsgcGF0aCA9ICJTY3JpcHRzL2V4dHJhY3QtbG9jYWxpemFi
bGUtc3RyaW5ncy5wbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3MUE2N0NBMTFD
NkM3REIwMDA0N0I4QiAvKiBIeXBoZW5hdGlvbkNGLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEh5cGhlbmF0aW9uQ0YuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkzNzFFNjVDQjEzNjYxRURDMDBCRUVEQjAgLyogUGFnZVNlcmlhbGl6ZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFnZVNlcmlhbGl6ZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzcxRTY1Q0QxMzY2MUVFRDAwQkVFREIwIC8qIFBhZ2VTZXJp
YWxpemVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhZ2VTZXJp
YWxpemVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMzU3LDggKzEzMzU5
LDggQEAKIAkJQ0RFNTk1OUMxQkYyNzU3MTAwQTFDQkU4IC8qIENETVNlc3Npb25NZWRpYVNvdXJj
ZUFWRk9iakMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDRE1T
ZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlDREU2NTYwRTE3Q0E2RTc2MDA1MjZCQTcgLyogbWVkaWFDb250cm9sc0FwcGxlLmpzICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5q
YXZhc2NyaXB0OyBwYXRoID0gbWVkaWFDb250cm9sc0FwcGxlLmpzOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDREU2NjdBMTFFNEJCQTREMDBFODE1NEEgLyogUGxhdGZvcm1BdWRpb0Rh
dGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1BdWRpb0RhdGEu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQ0RFNjY3QTIxRTRCQkYxNTAwRTgxNTRB
IC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBjb2NvYS9XZWJBdWRpb0J1ZmZlckxpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQlDREU2NjdBMzFFNEJCRjE1MDBFODE1NEEgLyogV2ViQXVkaW9CdWZmZXJMaXN0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGNvY29hL1dlYkF1ZGlvQnVmZmVy
TGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDREU2NjdBMjFFNEJCRjE1MDBF
ODE1NEEgLyogV2ViQXVkaW9CdWZmZXJMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IFdlYkF1ZGlvQnVmZmVyTGlzdC5jcHA7IHBhdGggPSBjb2NvYS9XZWJBdWRp
b0J1ZmZlckxpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDREU2NjdBMzFF
NEJCRjE1MDBFODE1NEEgLyogV2ViQXVkaW9CdWZmZXJMaXN0LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IFdlYkF1ZGlvQnVmZmVyTGlzdC5oOyBwYXRoID0gY29jb2EvV2ViQXVk
aW9CdWZmZXJMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERTdGQzQyMTgx
OTA0QjEwMDJCQkI3NyAvKiBPcmRlckl0ZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IE9yZGVySXRlcmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDREU3RkM0MzE4MTkwNEIxMDAyQkJCNzcgLyogT3JkZXJJdGVyYXRvci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBPcmRlckl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUNERTgzREFGMTgzQzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXli
YWNrUXVhbGl0eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBWaWRl
b1BsYXliYWNrUXVhbGl0eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zMTQ0
Miw2ICszMTQ0NCw3IEBACiAJCQkJQUExMkRGNDkxNzQzREY4MzAwNERBRkRGIC8qIFBsYXRmb3Jt
U3BlZWNoU3ludGhlc2l6ZXJJT1MubW0gaW4gU291cmNlcyAqLywKIAkJCQlDREEyOUEzMDFDQkY3
NEQ0MDA5MDFDQ0YgLyogUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQubW0gaW4gU291cmNl
cyAqLywKIAkJCQlDREEyOUExNjFDQkRBNTZDMDA5MDFDQ0YgLyogUGxheWJhY2tTZXNzaW9uSW50
ZXJmYWNlTWFjLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5MkE3OUEyMTM0QUQ3OTAwRjQ5M0ZE
IC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE5MjQyNDkyMTI3
QjkzRTAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJMzE2RENCOEExRTdBNjk5NjAwMUI1Rjg3IC8qIFJUQ0ljZVRyYW5zcG9y
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzUxMTU2RTEyQjE3NDlDMDBDOTY3NTQgLyogU2Ny
b2xsQW5pbWF0b3JNYWMubW0gaW4gU291cmNlcyAqLywKQEAgLTMyMDU2LDYgKzMyMDU5LDcgQEAK
IAkJCQkyRDhCOTJGRDIwM0QxM0UxMDA5Qzg2OEYgLyogVW5pZmllZFNvdXJjZTUyOC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkyRDhCOTJGRTIwM0QxM0UxMDA5Qzg2OEYgLyogVW5pZmllZFNvdXJj
ZTUyOS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDhCOTJGRjIwM0QxM0UxMDA5Qzg2OEYgLyog
VW5pZmllZFNvdXJjZTUzMC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDkyQTc5RDIxMzRBRjk1
MDBGNDkzRkQgLyogVXNlckFnZW50SU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTMyMDQyMDIx
RjlBOUYxMDAwQjgxQjJBIC8qIFVzZXJBZ2VudFNjcmlwdHNEYXRhLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTdDM0I3OTcxMTkwODc1N0IwMEI0N0EyRCAvKiBVc2VyTWVzc2FnZUhhbmRsZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJN0NFNjgzNDQxOTIxNDNBODAwRjREOTI4IC8qIFVzZXJNZXNz
YWdlSGFuZGxlckRlc2NyaXB0b3IuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1FQ0RTQS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1FQ0RTQS5jcHAK
aW5kZXggOTczMTdlMDRhOTc5N2YxNTYxNmRlNGM3NjA4Yjc0NWQ5ZmRlZGVmNy4uMWI1M2M0NTNi
MzUyNTM2YjQ4MTJlZGQyYWE2NGQ5MWU5NWRmODU0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNEU0EuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUVDRFNBLmNwcApAQCAt
MzYsMTIgKzM2LDE0IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorbmFtZXNwYWNlIENyeXB0
b0FsZ29yaXRobUVDRFNBSW50ZXJuYWwgewogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzI1
NiA9ICJFUzI1NiI7CiBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHMzg0ID0gIkVTMzg0IjsK
IHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBBTEc1MTIgPSAiRVM1MTIiOwogc3RhdGljIGNvbnN0
IGNoYXIqIGNvbnN0IFAyNTYgPSAiUC0yNTYiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IFAz
ODQgPSAiUC0zODQiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IFA1MjEgPSAiUC01MjEiOwor
fQogCiBSZWY8Q3J5cHRvQWxnb3JpdGhtPiBDcnlwdG9BbGdvcml0aG1FQ0RTQTo6Y3JlYXRlKCkK
IHsKQEAgLTEwMiw2ICsxMDQsNyBAQCB2b2lkIENyeXB0b0FsZ29yaXRobUVDRFNBOjpnZW5lcmF0
ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzJiBwYXJhbWV0ZQogCiB2b2lkIENy
eXB0b0FsZ29yaXRobUVDRFNBOjppbXBvcnRLZXkoQ3J5cHRvS2V5Rm9ybWF0IGZvcm1hdCwgS2V5
RGF0YSYmIGRhdGEsIGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMmIHBhcmFtZXRlcnMs
IGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcywgS2V5Q2FsbGJh
Y2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaykKIHsK
KyAgICB1c2luZyBuYW1lc3BhY2UgQ3J5cHRvQWxnb3JpdGhtRUNEU0FJbnRlcm5hbDsKICAgICBj
b25zdCBhdXRvJiBlY1BhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1FY0tleVBh
cmFtcz4ocGFyYW1ldGVycyk7CiAKICAgICBSZWZQdHI8Q3J5cHRvS2V5RUM+IHJlc3VsdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nY3J5cHQvR0NyeXB0VXRpbGl0aWVzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ2NyeXB0L0dDcnlwdFV0aWxpdGllcy5oCmluZGV4IGYw
YTQxMzQ1NmE5NDQ1OTk1OGY5YTdmMDI1NDUzNDRiNWZiNmMzZTUuLjM2ZjQ4ZDA0ZDc4MmQ1MjM5
OWRkNzdjNGJjM2Q3ODI4ZDc5NWE5ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9nY3J5cHQvR0NyeXB0VXRpbGl0aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2dj
cnlwdC9HQ3J5cHRVdGlsaXRpZXMuaApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgPHBhbC9j
cnlwdG8vQ3J5cHRvRGlnZXN0Lmg+CiAjaW5jbHVkZSA8cGFsL2NyeXB0by9nY3J5cHQvSGFuZGxl
Lmg+CiAjaW5jbHVkZSA8cGFsL2NyeXB0by9nY3J5cHQvVXRpbGl0aWVzLmg+CisjaW5jbHVkZSA8
d3RmL09wdGlvbmFsLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aAppbmRleCBhNzFkYTNmMGVlMWE5N2ZiNjUwMDBmYzFhNTU4NzkwNGY3OTJhNjhlLi4yMjc1Nzk4
NDE4NWJmYzgyY2RmN2YzMDE3ODU1ODdiMmRlZjBhOWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApA
QCAtNjQxLDcgKzY0MSw3IEBAIHB1YmxpYzoKICAgICAKICAgICBXRUJDT1JFX0VYUE9SVCBEb2N1
bWVudExvYWRlciogbG9hZGVyKCkgY29uc3Q7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRp
b25PcjxSZWZQdHI8V2luZG93UHJveHk+PiBvcGVuRm9yQmluZGluZ3MoRE9NV2luZG93JiBhY3Rp
dmVXaW5kb3csIERPTVdpbmRvdyYgZmlyc3RXaW5kb3csIGNvbnN0IFN0cmluZyYgdXJsLCBjb25z
dCBBdG9taWNTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZmVhdHVyZXMpOworICAgIFdFQkNP
UkVfRVhQT1JUIEV4Y2VwdGlvbk9yPFJlZlB0cjxXaW5kb3dQcm94eT4+IG9wZW5Gb3JCaW5kaW5n
cyhET01XaW5kb3cmIGFjdGl2ZVdpbmRvdywgRE9NV2luZG93JiBmaXJzdERPTVdpbmRvdywgY29u
c3QgU3RyaW5nJiB1cmwsIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBm
ZWF0dXJlcyk7CiAgICAgV0VCQ09SRV9FWFBPUlQgRXhjZXB0aW9uT3I8RG9jdW1lbnQmPiBvcGVu
Rm9yQmluZGluZ3MoRG9jdW1lbnQqIHJlc3BvbnNpYmxlRG9jdW1lbnQsIGNvbnN0IFN0cmluZyYg
dHlwZSwgY29uc3QgU3RyaW5nJiByZXBsYWNlKTsKIAogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQg
cmVuYW1lIHRoaXMgYXQgc29tZSBwb2ludCBhbmQgZ2l2ZSBiYWNrIHRoZSBuYW1lICdvcGVuJyB0
byB0aGUgSFRNTCBzcGVjaWZpZWQgb25lcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MVHJlZUJ1aWxkZXIuY3BwCmluZGV4IGU0MGY5YTg4NmYxNTkwNGU2MmYwZjI2ODhhODY5
YTY5ODg5YjRhODkuLmM3MzE5MjJhZjgyOTgzYjlkYWE2YmM3ZmU1MjI3ODYzNzMxNjgzZmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcApAQCAt
MzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkhUTUxEb2N1bWVudFBhcnNlci5oIgogI2luY2x1ZGUg
IkhUTUxGb3JtQ29udHJvbEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIK
KyNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE9wdEdyb3VwRWxl
bWVudC5oIgogI2luY2x1ZGUgIkhUTUxPcHRpb25FbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFBh
cnNlcklkaW9tcy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5oCmluZGV4IDcyYjI5NzU1
ZjExZDk0MDk1ZmE3ZWRkNTMwOTY4ZjdjNTdiNTdiZWIuLjZkOWEyZGE5YmUwMzIwMDdhODJlZGE2
OGMxNmZkMmYyOGIxYzEyODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBj
YWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmgKQEAgLTI1
LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hl
UmVzb3VyY2UuaCIKICNpbmNsdWRlICJDYWNoZWRSYXdSZXNvdXJjZS5oIgogI2luY2x1ZGUgIkNh
Y2hlZFJhd1Jlc291cmNlQ2xpZW50LmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUu
aCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0FsdGVybmF0aXZlVGV4dENsaWVudC5oCmluZGV4IDkz
NTU5Mzc4OGY5ODk5YzllMjI1MTA4OGI0ZTc2ZDAwNWQzZDJmOTguLjE0M2RhNmM0N2Y0YmNlZmMw
YTQxYWE4NzY0NjdkMDQ0NzE1YmE3MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
QWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9BbHRlcm5h
dGl2ZVRleHRDbGllbnQuaApAQCAtMjksMTEgKzI5LDYgQEAKICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKLSNpZiBQTEFURk9STShNQUMp
Ci0vLyBTb21lIHBsYXRmb3JtcyBwcm92aWRlIFVJIGZvciBzdWdnZXN0aW5nIGFsdGVybmF0aXZl
IGRpY3RhdGlvbiB0ZXh0LgotI2RlZmluZSBVU0VfRElDVEFUSU9OX0FMVEVSTkFUSVZFUyAxCi0j
ZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBlbnVtIFJlYXNvbkZvckRpc21pc3NpbmdB
bHRlcm5hdGl2ZVRleHQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFz
dGVib2FyZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCmluZGV4IGQ1
NDMzZGQ5MjBhZTBlZTU5MmJkNDVmZDU2MGNkZDNlMzhhMzQ3MjEuLmUwOTgxNTY1MWJkMmQ2MDU3
NGRhNDIzNmMzODBmYWQ0ZDYwMjE1YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Bhc3RlYm9hcmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJk
LmgKQEAgLTMzOCw2ICszMzgsNyBAQCBleHRlcm4gTlNTdHJpbmcgKlVJQ29sb3JQYm9hcmRUeXBl
OwogI2lmIFBMQVRGT1JNKE1BQykKIGV4dGVybiBjb25zdCBjaGFyKiBjb25zdCBXZWJBcmNoaXZl
UGJvYXJkVHlwZTsKIGV4dGVybiBjb25zdCBjaGFyKiBjb25zdCBXZWJVUkxOYW1lUGJvYXJkVHlw
ZTsKK2V4dGVybiBjb25zdCBjaGFyKiBjb25zdCBXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGU7
CiAjZW5kaWYKIAogI2lmICFQTEFURk9STShHVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TZXNzaW9uTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1Nlc3Npb25NYWMuY3BwCmluZGV4IDc5YWI5ZjQxYmU1
Y2U2ZGU4NGM4OGUzYTY5MTgxMGQwZjQ5YTQzOTEuLmU5MTgwOTg4ZDY5Yzk2NTA4ZGMxMjFhMTcw
ZTcxMmFlYWFjY2ZlNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L21hYy9BdWRpb1Nlc3Npb25NYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL21hYy9BdWRpb1Nlc3Npb25NYWMuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAi
Tm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlIDxDb3JlQXVkaW8vQXVkaW9IYXJkd2FyZS5oPgog
I2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKaW5kZXggOTY4
YmIyMjg2YTFmN2U1ODQ2NGVmODhkNzllNjFlZjQyNDkwMTU1Zi4uM2UyYzgyYjhiMTJlZGEwOWRi
NDNmNGMxMzAxNGM1YmJhYzBiNzAzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwCkBAIC0zMCw2ICsz
MCw3IEBACiAKICNpbmNsdWRlICJEaXNwbGF5UmVmcmVzaE1vbml0b3JDbGllbnQuaCIKICNpbmNs
dWRlICJEaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5o
IgogCiAjaWYgUExBVEZPUk0oSU9TKQogI2luY2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvcklP
Uy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZh
bWlseVNwZWNpZmljYXRpb25OdWxsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHAKaW5kZXggMjE3NjkxZjcyMzk3NGU4
MDA1NzliMjhjYzA1NmE3YjljMDg1YzY0ZC4uMTVjMDM4NzY5ODI2MGY0MDVlMjJlNWJmNTI3ODAw
MzA4YzdmZTNiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udEZhbWlseVNwZWNpZmljYXRpb25OdWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuY3BwCkBAIC0yNyw2ICsy
Nyw3IEBACiAjaW5jbHVkZSAiRm9udEZhbWlseVNwZWNpZmljYXRpb25OdWxsLmgiCiAKICNpbmNs
dWRlICJGb250U2VsZWN0b3IuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmdIYXNo
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udENhaXJvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDYWlyby5jcHAKaW5kZXggMDZkOWQ3NDk0YTRiZWFh
OGUzYTljZTdhZmU2ZGFiMzViMWMyZGI3OC4uMjg2YmM2ZDhlM2MyNjUzMDQ2YzYzYjUyYjM2ZDA5
MDMxZjIwOGQ5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Fpcm8vRm9udENhaXJvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYWlyby9Gb250Q2Fpcm8uY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaWYgVVNFKENBSVJPKQog
CiAjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCisjaW5jbHVkZSAiQ2Fpcm9PcGVyYXRpb25z
LmgiCiAjaW5jbHVkZSAiQ2Fpcm9VdGlsaXRpZXMuaCIKICNpbmNsdWRlICJGb250LmgiCiAjaW5j
bHVkZSAiR2x5cGhCdWZmZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL1dlYkdMTGF5ZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJHTExheWVyLm1tCmluZGV4IDNlZDdlNDFlN2M2ODg0NmYzZmJjMTcy
Y2U2YmE5ODlmZjg3ZjU3ZWIuLjhlZTM0OGQ4OTk4NjM0MTNkNmI2NzEzNzZlNWIxZGE1NGNiMTM3
NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dl
YkdMTGF5ZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
V2ViR0xMYXllci5tbQpAQCAtNDIsMTMgKzQyLDExIEBACiAjaW1wb3J0IDxPcGVuR0wvZ2wuaD4K
ICNlbmRpZgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogQGltcGxlbWVudGF0aW9uIFdl
YkdMTGF5ZXIKIAogQHN5bnRoZXNpemUgY29udGV4dD1fY29udGV4dDsKIAotLShpZClpbml0V2l0
aEdyYXBoaWNzQ29udGV4dDNEOihHcmFwaGljc0NvbnRleHQzRCopY29udGV4dAorLShpZClpbml0
V2l0aEdyYXBoaWNzQ29udGV4dDNEOihXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRCopY29udGV4
dAogewogICAgIF9jb250ZXh0ID0gY29udGV4dDsKICAgICBzZWxmID0gW3N1cGVyIGluaXRdOwpA
QCAtODYsNyArODQsNyBAQCBzdGF0aWMgdm9pZCBmcmVlRGF0YSh2b2lkICosIGNvbnN0IHZvaWQg
KmRhdGEsIHNpemVfdCAvKiBzaXplICovKQogfQogI2VuZGlmCiAKLS0oQ0dJbWFnZVJlZiljb3B5
SW1hZ2VTbmFwc2hvdFdpdGhDb2xvclNwYWNlOihDR0NvbG9yU3BhY2VSZWYpY29sb3JTcGFjZQor
LSAoQ0dJbWFnZVJlZiljb3B5SW1hZ2VTbmFwc2hvdFdpdGhDb2xvclNwYWNlOihDR0NvbG9yU3Bh
Y2VSZWYpY29sb3JTcGFjZQogewogICAgIGlmICghX2NvbnRleHQpCiAgICAgICAgIHJldHVybiBu
dWxscHRyOwpAQCAtOTYsNyArOTQsNyBAQCAtKENHSW1hZ2VSZWYpY29weUltYWdlU25hcHNob3RX
aXRoQ29sb3JTcGFjZTooQ0dDb2xvclNwYWNlUmVmKWNvbG9yU3BhY2UKIAogICAgIFJldGFpblB0
cjxDR0NvbG9yU3BhY2VSZWY+IGltYWdlQ29sb3JTcGFjZSA9IGNvbG9yU3BhY2U7CiAgICAgaWYg
KCFpbWFnZUNvbG9yU3BhY2UpCi0gICAgICAgIGltYWdlQ29sb3JTcGFjZSA9IHNSR0JDb2xvclNw
YWNlUmVmKCk7CisgICAgICAgIGltYWdlQ29sb3JTcGFjZSA9IFdlYkNvcmU6OnNSR0JDb2xvclNw
YWNlUmVmKCk7CiAKICAgICBDR1JlY3QgbGF5ZXJCb3VuZHMgPSBDR1JlY3RJbnRlZ3JhbChbc2Vs
ZiBib3VuZHNdKTsKIApAQCAtMTQxLDE5ICsxMzksMTkgQEAgLSAodm9pZClkaXNwbGF5CiAjZW5k
aWYKIAogICAgIF9jb250ZXh0LT5tYXJrTGF5ZXJDb21wb3NpdGVkKCk7Ci0gICAgUGxhdGZvcm1D
QUxheWVyKiBsYXllciA9IFBsYXRmb3JtQ0FMYXllcjo6cGxhdGZvcm1DQUxheWVyKChfX2JyaWRn
ZSB2b2lkKilzZWxmKTsKKyAgICBXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXIqIGxheWVyID0gV2Vi
Q29yZTo6UGxhdGZvcm1DQUxheWVyOjpwbGF0Zm9ybUNBTGF5ZXIoKF9fYnJpZGdlIHZvaWQqKXNl
bGYpOwogICAgIGlmIChsYXllciAmJiBsYXllci0+b3duZXIoKSkKICAgICAgICAgbGF5ZXItPm93
bmVyKCktPnBsYXRmb3JtQ0FMYXllckxheWVyRGlkRGlzcGxheShsYXllcik7CiB9CiAKICNpZiBV
U0UoT1BFTkdMKQotLSAodm9pZClhbGxvY2F0ZUlPU3VyZmFjZUJhY2tpbmdTdG9yZVdpdGhTaXpl
OihJbnRTaXplKXNpemUgdXNpbmdBbHBoYTooQk9PTCl1c2luZ0FscGhhCistICh2b2lkKWFsbG9j
YXRlSU9TdXJmYWNlQmFja2luZ1N0b3JlV2l0aFNpemU6KFdlYkNvcmU6OkludFNpemUpc2l6ZSB1
c2luZ0FscGhhOihCT09MKXVzaW5nQWxwaGEKIHsKICAgICBfYnVmZmVyU2l6ZSA9IHNpemU7CiAg
ICAgX3VzaW5nQWxwaGEgPSB1c2luZ0FscGhhOwotICAgIF9jb250ZW50c0J1ZmZlciA9IFdlYkNv
cmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUsIHNSR0JDb2xvclNwYWNlUmVmKCkpOwotICAgIF9k
cmF3aW5nQnVmZmVyID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVhdGUoc2l6ZSwgc1JHQkNvbG9y
U3BhY2VSZWYoKSk7Ci0gICAgX3NwYXJlQnVmZmVyID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVh
dGUoc2l6ZSwgc1JHQkNvbG9yU3BhY2VSZWYoKSk7CisgICAgX2NvbnRlbnRzQnVmZmVyID0gV2Vi
Q29yZTo6SU9TdXJmYWNlOjpjcmVhdGUoc2l6ZSwgV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYo
KSk7CisgICAgX2RyYXdpbmdCdWZmZXIgPSBXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShzaXpl
LCBXZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigpKTsKKyAgICBfc3BhcmVCdWZmZXIgPSBXZWJD
b3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShzaXplLCBXZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigp
KTsKIAogICAgIEFTU0VSVChfY29udGVudHNCdWZmZXIpOwogICAgIEFTU0VSVChfZHJhd2luZ0J1
ZmZlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9XZWJHUFVMYXllci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L1dlYkdQVUxheWVyLm1tCmluZGV4IDVjMzU1N2Y4YmQ2NmE2OGM5MjNiMjNhYTY0N2JiNzE0ODQw
OWU5YTEuLjI1ZWZiOGI3NDc2ODAyNDU1OGRiY2RmMzBmNzQzMTg3MTQ2OTU1YTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVy
Lm1tCkBAIC0zNCwxMyArMzQsMTEgQEAKICNpbXBvcnQgPHd0Zi9GYXN0TWFsbG9jLmg+CiAjaW1w
b3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBAaW1w
bGVtZW50YXRpb24gV2ViR1BVTGF5ZXIKIAogQHN5bnRoZXNpemUgY29udGV4dD1fY29udGV4dDsK
IAotLSAoaWQpaW5pdFdpdGhHUFVEZXZpY2U6KEdQVURldmljZSopY29udGV4dAorLSAoaWQpaW5p
dFdpdGhHUFVEZXZpY2U6KFdlYkNvcmU6OkdQVURldmljZSopY29udGV4dAogewogICAgIHNlbGYg
PSBbc3VwZXIgaW5pdF07CiAgICAgX2NvbnRleHQgPSBjb250ZXh0OwpAQCAtNTAsNyArNDgsNyBA
QCAtIChpZClpbml0V2l0aEdQVURldmljZTooR1BVRGV2aWNlKiljb250ZXh0CiAKICNpZiBQTEFU
Rk9STShNQUMpCiAgICAgc2VsZi5jb250ZW50c1NjYWxlID0gX2RldmljZVBpeGVsUmF0aW87Ci0g
ICAgc2VsZi5jb2xvcnNwYWNlID0gc1JHQkNvbG9yU3BhY2VSZWYoKTsKKyAgICBzZWxmLmNvbG9y
c3BhY2UgPSBXZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigpOwogI2VuZGlmCiAgICAgcmV0dXJu
IHNlbGY7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
ZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tCmluZGV4IDgyMGFmOGJjMTZkYjNi
NDg2NWU3OWI3YjgyNGRiMmM3YjRkZjNlY2MuLjMwM2IyNWRhM2Q0YTY0ZWQxYjAwMzBiNzJiOWZk
YmM2Zjk2NWMzM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tCkBAIC0zMSw2ICszMSw3
IEBACiAjaW1wb3J0ICJHUFVEZXZpY2UuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQg
PE1ldGFsL01ldGFsLmg+CisjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
UGFzdGVib2FyZE1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJk
TWFjLm1tCmluZGV4IGNiNTA0Y2Y1NDNlYjdlODBkNzY2NWNkMWU1N2UzMDg5YWZmYjFhNzAuLmZk
NmU5Mjk4Nzc0ZmFmNGZlODczNWJmMjc1NjVhZGM5NTMyYmY2MzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCkBAIC01MiwxMCArNTIsMTAgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjb25zdCBjaGFyKiBjb25zdCBXZWJBcmNoaXZlUGJvYXJkVHlw
ZSA9ICJBcHBsZSBXZWIgQXJjaGl2ZSBwYXN0ZWJvYXJkIHR5cGUiOwogY29uc3QgY2hhciogY29u
c3QgV2ViVVJMTmFtZVBib2FyZFR5cGUgPSAicHVibGljLnVybC1uYW1lIjsKK2NvbnN0IGNoYXIq
IGNvbnN0IFdlYlVSTHNXaXRoVGl0bGVzUGJvYXJkVHlwZSA9ICJXZWJVUkxzV2l0aFRpdGxlc1Bi
b2FyZFR5cGUiOwogCiBjb25zdCBjaGFyIFdlYlNtYXJ0UGFzdGVQYm9hcmRUeXBlW10gPSAiTmVY
VCBzbWFydCBwYXN0ZSBwYXN0ZWJvYXJkIHR5cGUiOwogY29uc3QgY2hhciBXZWJVUkxQYm9hcmRU
eXBlW10gPSAicHVibGljLnVybCI7Ci1jb25zdCBjaGFyIFdlYlVSTHNXaXRoVGl0bGVzUGJvYXJk
VHlwZVtdID0gIldlYlVSTHNXaXRoVGl0bGVzUGJvYXJkVHlwZSI7CiAKIHN0YXRpYyBjb25zdCBW
ZWN0b3I8U3RyaW5nPiB3cml0YWJsZVR5cGVzRm9yVVJMKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJD
b2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxh
eUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwCmluZGV4IDVjMmE5ZDI0MTk4YTEzZTQ4YzRmNzNlOWRl
NjFkZDM3YWRlOTI1NTEuLmY0OTJlNjE0MmYwMjMxYjk5N2U5NmJhNTkyNzk1ODg1NjgwOTMzYWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNw
bGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29hLmNwcApAQCAtMjgsNiAr
MjgsNyBAQAogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAorI2luY2x1ZGUgIkNvcmVWaWRl
b1NvZnRMaW5rLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgPHd0Zi9BbGdvcml0
aG1zLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAppbmRl
eCAyNTQwOTY1NmMzZDYzMjAzNjE2NWZhYjFkZDc0OWU4OGZjYTY4NDgyLi5mZjU4MzYxNzRlYWI5
NTk1MjhhMjA3YmZiYWFiNjAwMzlkOWI1MDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKQEAgLTI5LDYgKzI5
LDcgQEAKICNpbmNsdWRlICJIVFRQSGVhZGVyTmFtZXMuaCIKICNpbmNsdWRlICJQdWJsaWNTdWZm
aXguaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJl
c3BvbnNlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlIDx3dGYvUG9p
bnRlckNvbXBhcmlzb24uaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jZi9Gb3JtRGF0YVN0cmVhbUNGTmV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5ldC5jcHAKaW5kZXggMjkwMjVkMzhhN2Zk
MzZmZjliOTk2MjM5MWYwODA4NzAyMWZmMTMwZS4uZTUzMjFjMjdkNGQ5NjhjNjZlNGNkNGM2Nzc5
NjNmNWE3ZDZjYWRmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jZi9Gb3JtRGF0YVN0cmVhbUNGTmV0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2NmL0Zvcm1EYXRhU3RyZWFtQ0ZOZXQuY3BwCkBAIC00MiwxMSArNDIsNyBAQAog
I2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+
CiAKLSNpZiBQTEFURk9STShJT1MpICYmICFQTEFURk9STShJT1NNQUMpCi1zdGF0aWMgY29uc3Qg
U0ludDMyIGZuZkVyciA9IC00MzsKLSNlbGlmIFBMQVRGT1JNKE1BQykKLSNpbmNsdWRlIDxDb3Jl
U2VydmljZXMvQ29yZVNlcnZpY2VzLmg+Ci0jZW5kaWYKK3N0YXRpYyBjb25zdCBTSW50MzIgZmls
ZU5vdEZvdW5kRXJyb3IgPSAtNDM7CiAKICNpZiBQTEFURk9STShDT0NPQSkKIGV4dGVybiAiQyIg
dm9pZCBDRlVSTFJlcXVlc3RTZXRIVFRQUmVxdWVzdEJvZHkoQ0ZNdXRhYmxlVVJMUmVxdWVzdFJl
ZiBtdXRhYmxlSFRUUFJlcXVlc3QsIENGRGF0YVJlZiBodHRwQm9keSk7CkBAIC0yNDEsNyArMjM3
LDcgQEAgc3RhdGljIEJvb2xlYW4gZm9ybU9wZW4oQ0ZSZWFkU3RyZWFtUmVmLCBDRlN0cmVhbUVy
cm9yKiBlcnJvciwgQm9vbGVhbiogb3BlbkNvbXAKICNpZiBQTEFURk9STShXSU4pCiAgICAgICAg
IEVOT0VOVDsKICNlbHNlCi0gICAgICAgIGZuZkVycjsKKyAgICAgICAgZmlsZU5vdEZvdW5kRXJy
b3I7CiAjZW5kaWYKICAgICByZXR1cm4gb3BlbmVkOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvVGV4dENvZGVjVVRGOC5jcHAKaW5kZXggYjMxOGU2MjJiY2JlMTE4MDE5YTQx
Njg1NjMzMzU1NmYxMDcyZDc5ZS4uMjFmMDM4YmM2ZDQ1YjQ2OGRlMmFlZjc0Njc5ODViNGQwMjVk
Yzc5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNV
VEY4LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjgu
Y3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiVGV4dENvZGVjQVNDSUlGYXN0UGF0aC5o
IgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJp
bmdCdWZmZXIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KICNpbmNsdWRlIDx3
dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVVRGOC5oCmluZGV4IGY4MjgyYjVm
MzRhODk0NzNkZTlhZDdhMjE3NjVhZjZhMzJhY2Y5NWMuLjg0ZjcxNDdlNmRjMzRmMmU3NTE1NjEy
MTAxOWJhZjE0MGU1YmMxZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvVGV4dENvZGVjVVRGOC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4
dENvZGVjVVRGOC5oCkBAIC0yNiw2ICsyNiw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUg
IlRleHRDb2RlYy5oIgorI2luY2x1ZGUgPHVuaWNvZGUvdXRmOC5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L0xDaGFyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9j
a0Zsb3cuY3BwCmluZGV4IDNiYzgyYzZlMWFiZDJmYWM0M2IwOTljOGU2ZTNjY2YzNjZkZDg1M2Iu
LjJjMmI1MDhmYWM1YzZmYzg0NjI4NWM5ZmZhODk1YTdiNDAyMmI4ZWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxv
dy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVC
dWlsZGVyQmxvY2tGbG93LmNwcApAQCAtMjcsNiArMjcsOCBAQAogI2luY2x1ZGUgIlJlbmRlclRy
ZWVCdWlsZGVyQmxvY2tGbG93LmgiCiAKICNpbmNsdWRlICJSZW5kZXJNdWx0aUNvbHVtbkZsb3cu
aCIKKyNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlckJsb2NrLmgiCisjaW5jbHVkZSAiUmVuZGVy
VHJlZUJ1aWxkZXJNdWx0aUNvbHVtbi5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRl
cklubGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJl
ZUJ1aWxkZXJJbmxpbmUuY3BwCmluZGV4IDdjZDA3MTVkZjUyNGE3NmZkMjA2YTIzNDI4ZDlkYWM3
ZDdkODUzZjguLmRjOTUzY2NkY2VlODMwMWRmZDA1OTdhNjFkMDUyZTNjNTBiOWY2MWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRl
cklubGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRl
clRyZWVCdWlsZGVySW5saW5lLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIlJlbmRl
ckZ1bGxTY3JlZW4uaCIKICNpbmNsdWRlICJSZW5kZXJJbmxpbmUuaCIKICNpbmNsdWRlICJSZW5k
ZXJUYWJsZS5oIgorI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyVGFibGUuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJB
cmNoaXZlLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZS5tbQppbmRleCBi
MTc0MmZkZmRkMzg2OWVhZGQzZDdjNWFlZTcwNWU2NjFmOTdlZWRjLi5iOGM5NzJmN2VjMThlYjdk
NGM5YTcxZGUyYjRlMWUyYzY1ZGU4NzY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9BUElXZWJBcmNoaXZlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hp
dmUubW0KQEAgLTM0LDkgKzM0LDggQEAKICNpbmNsdWRlIDxXZWJDb3JlL0xlZ2FjeVdlYkFyY2hp
dmUuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwotCiBuYW1lc3BhY2UgQVBJIHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBSZWY8
V2ViQXJjaGl2ZT4gV2ViQXJjaGl2ZTo6Y3JlYXRlKFdlYkFyY2hpdmVSZXNvdXJjZSogbWFpblJl
c291cmNlLCBSZWZQdHI8QVBJOjpBcnJheT4mJiBzdWJyZXNvdXJjZXMsIFJlZlB0cjxBUEk6OkFy
cmF5PiYmIHN1YmZyYW1lQXJjaGl2ZXMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElX
ZWJBcmNoaXZlUmVzb3VyY2UubW0KaW5kZXggY2FlNWI4NWRmMTc3ZGRkZTY4ZDg1MmU1ZTUwNmQ4
ZDkyYmUyZWE5NC4uZGMwZjkwZjBmMzg1MWFiZjEwMDQ4NGJhNTczYWU0YWY4ZTgwYjIzMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmVSZXNvdXJjZS5tbQpAQCAtMzMs
OSArMzMsOCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvVVJMLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFp
blB0ci5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogbmFtZXNwYWNlIEFQSSB7Cit1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogUmVmPFdlYkFyY2hpdmVSZXNvdXJjZT4gV2ViQXJj
aGl2ZVJlc291cmNlOjpjcmVhdGUoQVBJOjpEYXRhKiBkYXRhLCBjb25zdCBTdHJpbmcmIFVSTCwg
Y29uc3QgU3RyaW5nJiBNSU1FVHlwZSwgY29uc3QgU3RyaW5nJiB0ZXh0RW5jb2RpbmcpCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRz
Y2FwZVBsdWdpbk1vZHVsZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0
c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tCmluZGV4IDY4ZDdjNmFkZjM2Mjc1
MTMxMjk2MzU2Mjg2ZjExZTg0OWMxNGMyYzAuLmMwY2NhYzU5ODUzY2ZhZmZkOWZmMWQxZTNkNjhi
NjdkNjQ1N2Y3YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0
c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tCkBA
IC0zNCw5ICszNCw4IEBACiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgogI2ltcG9ydCA8d3Rm
L3NwaS9jZi9DRkJ1bmRsZVNQSS5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogbmFt
ZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogc3RhdGljIGJvb2wg
Z2V0UGx1Z2luQXJjaGl0ZWN0dXJlKENGQnVuZGxlUmVmIGJ1bmRsZSwgUGx1Z2luTW9kdWxlSW5m
byYgcGx1Z2luKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9O
ZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9QbHVnaW5zL05ldHNjYXBlL21hYy9QbHVnaW5JbmZvcm1hdGlvbk1hYy5tbQppbmRleCA1ZWM4
NDI0OTU5Y2JjMTkyODg2ZmE3NWFiZjAzZjNkODg1YmNiMWQ5Li4zMjU4NGQ0MTZiZTBmZjI1ZTll
OTFkZGY0Mjg3MGUzMzk0ZjQ5MzY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Q
bHVnaW5zL05ldHNjYXBlL21hYy9QbHVnaW5JbmZvcm1hdGlvbk1hYy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9QbHVnaW5JbmZvcm1hdGlvbk1hYy5t
bQpAQCAtMzQsOSArMzQsOCBAQAogI2ltcG9ydCAiU3RyaW5nVXRpbGl0aWVzLmgiCiAjaW1wb3J0
IDxXZWJDb3JlL1BsdWdpbkJsYWNrbGlzdC5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
LQogbmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogdm9pZCBn
ZXRQbGF0Zm9ybVBsdWdpbk1vZHVsZUluZm9ybWF0aW9uKGNvbnN0IFBsdWdpbk1vZHVsZUluZm8m
IHBsdWdpbiwgQVBJOjpEaWN0aW9uYXJ5OjpNYXBUeXBlJiBtYXApCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2Nv
YS50eHQKaW5kZXggZDhhM2M5MGRmZmUzMjIzMjJkNzYzZWUyMWU3Y2JhNDUwZmU4NWZjZi4uNGI4
ZDQ4MDZiNDRmMjIwNDY1ODU3N2ViN2E5Njc4Y2I4ZTM0NzliZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29h
LnR4dApAQCAtMjk4LDkgKzI5OCw5IEBAIFVJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbSBAbm8t
dW5pZnkKIAogVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5Q29jb2EubW0KIAotVUlQcm9jZXNzL0FwcGxlUGF5L2lvcy9XZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eUlPUy5tbQorVUlQcm9jZXNzL0FwcGxlUGF5L2lvcy9XZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eUlPUy5tbSBAbm8tdW5pZnkKIAotVUlQcm9jZXNzL0FwcGxlUGF5L21hYy9XZWJQYXlt
ZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbQorVUlQcm9jZXNzL0FwcGxlUGF5L21hYy9XZWJQYXlt
ZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbSBAbm8tdW5pZnkKIAogVUlQcm9jZXNzL0F1dGhlbnRp
Y2F0aW9uL2NvY29hL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHlDb2NvYS5tbQogVUlQcm9j
ZXNzL0F1dGhlbnRpY2F0aW9uL2NvY29hL1NlY0tleVByb3h5U3RvcmUubW0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50
LmgKaW5kZXggYmZjNWVlMzM4MjIwZDkxNTZmY2NmMDBjMWU3NmQwYmJlZTkwNDE5MC4uMzc5Yzg4
NTdiZTk0YjYxOTU1NWVkZmZlYzRjM2E5YTZlMTc3OTQ4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmgKQEAg
LTUxLDcgKzUxLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB+QXV0b21hdGlvblNlc3Npb25D
bGllbnQoKSB7IH0KIAotICAgIHZpcnR1YWwgU3RyaW5nIHNlc3Npb25JZGVudGlmaWVyKCkgY29u
c3QgeyByZXR1cm4gU3RyaW5nKCk7IH0KKyAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIHNlc3Npb25J
ZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gV1RGOjpTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwg
dm9pZCBkaWREaXNjb25uZWN0RnJvbVJlbW90ZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9u
JikgeyB9CiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3ROZXdQYWdlV2l0aE9wdGlvbnMoV2ViS2l0
OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIEF1dG9tYXRpb25TZXNzaW9uQnJvd3NpbmdDb250ZXh0
T3B0aW9ucywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJLaXQ6OldlYlBhZ2VQcm94eSopPiYm
IGNvbXBsZXRpb25IYW5kbGVyKSB7IGNvbXBsZXRpb25IYW5kbGVyKG51bGxwdHIpOyB9CiAgICAg
dmlydHVhbCB2b2lkIHJlcXVlc3RNYXhpbWl6ZVdpbmRvd09mUGFnZShXZWJLaXQ6OldlYkF1dG9t
YXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIoKTsgfQpAQCAt
NjEsOCArNjEsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzU2hvd2luZ0phdmFTY3Jp
cHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2Vi
UGFnZVByb3h5JikgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlzbWlzc0N1
cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24m
LCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBhY2NlcHRDdXJy
ZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwg
V2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IH0KLSAgICB2aXJ0dWFsIFN0cmluZyBtZXNzYWdlT2ZD
dXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9u
JiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IHJldHVybiBTdHJpbmcoKTsgfQotICAgIHZpcnR1
YWwgdm9pZCBzZXRVc2VySW5wdXRGb3JDdXJyZW50SmF2YVNjcmlwdFByb21wdE9uUGFnZShXZWJL
aXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBjb25zdCBT
dHJpbmcmKSB7IH0KKyAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIG1lc3NhZ2VPZkN1cnJlbnRKYXZh
U2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6
OldlYlBhZ2VQcm94eSYpIHsgcmV0dXJuIFdURjo6U3RyaW5nKCk7IH0KKyAgICB2aXJ0dWFsIHZv
aWQgc2V0VXNlcklucHV0Rm9yQ3VycmVudEphdmFTY3JpcHRQcm9tcHRPblBhZ2UoV2ViS2l0OjpX
ZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JiwgY29uc3QgV1RGOjpT
dHJpbmcmKSB7IH0KICAgICB2aXJ0dWFsIHN0ZDo6b3B0aW9uYWw8SmF2YVNjcmlwdERpYWxvZ1R5
cGU+IHR5cGVPZkN1cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21h
dGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgcmV0dXJuIHN0ZDo6bnVsbG9w
dDsgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTGVn
YWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tCmluZGV4IDExYmEz
NzI2NTQ4M2ZmZTdmZjI0NjUwOTQwZDhmMzNhNTJjMGMwNGEuLjE5YTU5YjQyY2FiN2I1NDdlZDk0
NDYwZTcyZmMwMzk2Y2ZlNzkyODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQu
bW0KQEAgLTMyLDIzICszMiwyMCBAQAogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3Qu
aD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgogCi11c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KIEBpbnRlcmZhY2UgV0tDdXN0
b21Qcm90b2NvbExvYWRlciA6IE5TT2JqZWN0IDxOU1VSTENvbm5lY3Rpb25EZWxlZ2F0ZT4gewog
QHByaXZhdGUKLSAgICBMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSogX2N1c3RvbVBy
b3RvY29sTWFuYWdlclByb3h5OworICAgIFdlYktpdDo6TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5h
Z2VyUHJveHkqIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTsKICAgICB1aW50NjRfdCBfY3Vz
dG9tUHJvdG9jb2xJRDsKICAgICBOU1VSTENhY2hlU3RvcmFnZVBvbGljeSBfc3RvcmFnZVBvbGlj
eTsKICAgICBOU1VSTENvbm5lY3Rpb24gKl91cmxDb25uZWN0aW9uOwogfQotLSAoaWQpaW5pdFdp
dGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTooTGVnYWN5Q3VzdG9tUHJvdG9jb2xN
YW5hZ2VyUHJveHkqKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5IGN1c3RvbVByb3RvY29sSUQ6
KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVz
dDsKKy0gKGlkKWluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6KFdlYktp
dDo6TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqKWN1c3RvbVByb3RvY29sTWFuYWdl
clByb3h5IGN1c3RvbVByb3RvY29sSUQ6KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVz
dDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdDsKIC0gKHZvaWQpY3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
UHJveHlEZXN0cm95ZWQ7CiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXS0N1c3RvbVByb3RvY29s
TG9hZGVyCiAKLS0gKGlkKWluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6
KExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiljdXN0b21Qcm90b2NvbE1hbmFnZXJQ
cm94eSBjdXN0b21Qcm90b2NvbElEOih1aW50NjRfdCljdXN0b21Qcm90b2NvbElEIHJlcXVlc3Q6
KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QKKy0gKGlkKWluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9j
b2xNYW5hZ2VyUHJveHk6KFdlYktpdDo6TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkq
KWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5IGN1c3RvbVByb3RvY29sSUQ6KHVpbnQ2NF90KWN1
c3RvbVByb3RvY29sSUQgcmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdAogewogICAgIHNl
bGYgPSBbc3VwZXIgaW5pdF07CiAgICAgaWYgKCFzZWxmKQpAQCAtODUsNyArODIsNyBAQCAtICh2
b2lkKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5RGVzdHJveWVkCiAKIC0gKHZvaWQpY29ubmVj
dGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiBkaWRGYWlsV2l0aEVycm9yOihOU0Vy
cm9yICopZXJyb3IKIHsKLSAgICBSZXNvdXJjZUVycm9yIGNvcmVFcnJvcihlcnJvcik7CisgICAg
V2ViQ29yZTo6UmVzb3VyY2VFcnJvciBjb3JlRXJyb3IoZXJyb3IpOwogICAgIF9jdXN0b21Qcm90
b2NvbE1hbmFnZXJQcm94eS0+ZGlkRmFpbFdpdGhFcnJvcihfY3VzdG9tUHJvdG9jb2xJRCwgY29y
ZUVycm9yKTsKICAgICBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHktPnN0b3BMb2FkaW5nKF9j
dXN0b21Qcm90b2NvbElEKTsKIH0KQEAgLTk5LDcgKzk2LDcgQEAgLSAoTlNDYWNoZWRVUkxSZXNw
b25zZSAqKWNvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gd2lsbENhY2hl
UmVzcG8KIAogLSAodm9pZCljb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9u
IGRpZFJlY2VpdmVSZXNwb25zZTooTlNVUkxSZXNwb25zZSAqKXJlc3BvbnNlCiB7Ci0gICAgUmVz
b3VyY2VSZXNwb25zZSBjb3JlUmVzcG9uc2UocmVzcG9uc2UpOworICAgIFdlYkNvcmU6OlJlc291
cmNlUmVzcG9uc2UgY29yZVJlc3BvbnNlKHJlc3BvbnNlKTsKICAgICBfY3VzdG9tUHJvdG9jb2xN
YW5hZ2VyUHJveHktPmRpZFJlY2VpdmVSZXNwb25zZShfY3VzdG9tUHJvdG9jb2xJRCwgY29yZVJl
c3BvbnNlLCBfc3RvcmFnZVBvbGljeSk7CiB9CiAKQEAgLTEyNyw2ICsxMjQsNyBAQCAtICh2b2lk
KWNvbm5lY3Rpb25EaWRGaW5pc2hMb2FkaW5nOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9u
CiBAZW5kCiAKIG5hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
IHZvaWQgTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50OjpzdGFydExvYWRpbmcoTGVn
YWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkmIG1hbmFnZXIsIHVpbnQ2NF90IGN1c3RvbVBy
b3RvY29sSUQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgY29yZVJlcXVlc3QpCiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5j
cHAKaW5kZXggYzJiOTFhNjM5NzNlNjMxMjBhYWU1MjhmODk3NTM4NWY3YjZkYmY2Mi4uZWRlZDlj
N2QyYTRlNThlM2QwNThkODMyNjgzMTA5ODE4MmFmNDQ3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcApAQCAtNDgs
NyArNDgsNyBAQCBzdGF0aWMgY29uc3QgU2Vjb25kcyBzbmFwc2hvdHRpbmdNaW5pbXVtTGlmZXRp
bWUgeyAzMF9zIH07CiBzdGF0aWMgY29uc3QgU2Vjb25kcyBzaHV0ZG93blRpbWVvdXQgeyAxX21p
biB9Owogc3RhdGljIGNvbnN0IFNlY29uZHMgc25hcHNob3R0aW5nU2h1dGRvd25UaW1lb3V0IHsg
MTVfcyB9OwogCi1zdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVDYWxsYmFja0lEKCkKK3N0YXRpYyB1
aW50NjRfdCBnZW5lcmF0ZVBsdWdpblByb2Nlc3NDYWxsYmFja0lEKCkKIHsKICAgICBzdGF0aWMg
dWludDY0X3QgY2FsbGJhY2tJRDsKIApAQCAtMTE0LDcgKzExNCw3IEBAIHZvaWQgUGx1Z2luUHJv
Y2Vzc1Byb3h5OjpnZXRQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbihNZXNzYWdlczo6V2ViUHJvY2Vz
c1Byb3h5OjpHCiAKIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKENv
bXBsZXRpb25IYW5kbGVyPHZvaWQgKFZlY3RvcjxTdHJpbmc+KT4mJiBjb21wbGV0aW9uSGFuZGxl
cikKIHsKLSAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7Cisg
ICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQo
KTsKICAgICBtX3BlbmRpbmdGZXRjaFdlYnNpdGVEYXRhQ2FsbGJhY2tzLnNldChjYWxsYmFja0lE
LCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAKICAgICBpZiAoc3RhdGUoKSA9PSBTdGF0
ZTo6TGF1bmNoaW5nKSB7CkBAIC0xMjcsNyArMTI3LDcgQEAgdm9pZCBQbHVnaW5Qcm9jZXNzUHJv
eHk6OmZldGNoV2Vic2l0ZURhdGEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAoVmVjdG9yPFN0cmlu
Zz4KIAogdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhKFdhbGxUaW1l
IG1vZGlmaWVkU2luY2UsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQgKCk+JiYgY29tcGxldGlvbkhh
bmRsZXIpCiB7Ci0gICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgp
OworICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVBsdWdpblByb2Nlc3NDYWxsYmFj
a0lEKCk7CiAgICAgbV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFDYWxsYmFja3Muc2V0KGNhbGxi
YWNrSUQsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIGlmIChzdGF0ZSgpID09
IFN0YXRlOjpMYXVuY2hpbmcpIHsKQEAgLTE0MCw3ICsxNDAsNyBAQCB2b2lkIFBsdWdpblByb2Nl
c3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEoV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSwgQ29tcGxl
dGlvbkhhbgogCiB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JI
b3N0TmFtZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGhvc3ROYW1lcywgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICB1aW50NjRfdCBjYWxsYmFj
a0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7CisgICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdl
bmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQoKTsKICAgICBtX3BlbmRpbmdEZWxldGVXZWJz
aXRlRGF0YUZvckhvc3ROYW1lc0NhbGxiYWNrcy5zZXQoY2FsbGJhY2tJRCwgV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcikpOwogCiAgICAgaWYgKHN0YXRlKCkgPT0gU3RhdGU6OkxhdW5jaGluZykg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lv
cy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9k
ZURlbGVnYXRlSU9TLm1tCmluZGV4IDRhMmUyOWI1NjA5NjFhNTliMWNiNTUxOTc4MzkxNDljMzEw
Njg0YzIuLjcyYTg4MmYwNTgxZDVlYWM5MWZjMTRiYzA1YTAyZjE0NGYxNmMxMWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5n
VHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdh
dGVJT1MubW0KQEAgLTQzLDggKzQzLDYgQEAKICNpbXBvcnQgPFdlYkNvcmUvU2Nyb2xsU25hcE9m
ZnNldHNJbmZvLmg+CiAjZW5kaWYKIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIEBpbXBs
ZW1lbnRhdGlvbiBXS1Njcm9sbGluZ05vZGVTY3JvbGxWaWV3RGVsZWdhdGUKIAogLSAoaW5zdGFu
Y2V0eXBlKWluaXRXaXRoU2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZTooV2ViS2l0OjpTY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TKilkZWxlZ2F0ZQpAQCAtODAsNyArNzgsNyBA
QCAtICh2b2lkKXNjcm9sbFZpZXdXaWxsRW5kRHJhZ2dpbmc6KFVJU2Nyb2xsVmlldyAqKXNjcm9s
bFZpZXcgd2l0aFZlbG9jaXR5OihDR1BvaQogCiAgICAgaWYgKCFfc2Nyb2xsaW5nVHJlZU5vZGVE
ZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0cygpLmlzRW1wdHko
KSkgewogICAgICAgICB1bnNpZ25lZCBpbmRleDsKLSAgICAgICAgZmxvYXQgcG90ZW50aWFsU25h
cFBvc2l0aW9uID0gY2xvc2VzdFNuYXBPZmZzZXQoX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUt
PnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNldHMoKSwgX3Njcm9sbGluZ1RyZWVO
b2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNldFJhbmdlcygp
LCBob3Jpem9udGFsVGFyZ2V0LCB2ZWxvY2l0eS54LCBpbmRleCk7CisgICAgICAgIGZsb2F0IHBv
dGVudGlhbFNuYXBQb3NpdGlvbiA9IFdlYkNvcmU6OmNsb3Nlc3RTbmFwT2Zmc2V0KF9zY3JvbGxp
bmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuaG9yaXpvbnRhbFNuYXBPZmZzZXRz
KCksIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuaG9yaXpvbnRh
bFNuYXBPZmZzZXRSYW5nZXMoKSwgaG9yaXpvbnRhbFRhcmdldCwgdmVsb2NpdHkueCwgaW5kZXgp
OwogICAgICAgICBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnNl
dEN1cnJlbnRIb3Jpem9udGFsU25hcFBvaW50SW5kZXgoaW5kZXgpOwogICAgICAgICBpZiAoaG9y
aXpvbnRhbFRhcmdldCA+PSAwICYmIGhvcml6b250YWxUYXJnZXQgPD0gc2Nyb2xsVmlldy5jb250
ZW50U2l6ZS53aWR0aCkKICAgICAgICAgICAgIHRhcmdldENvbnRlbnRPZmZzZXQtPnggPSBwb3Rl
bnRpYWxTbmFwUG9zaXRpb247CkBAIC04OCw3ICs4Niw3IEBAIC0gKHZvaWQpc2Nyb2xsVmlld1dp
bGxFbmREcmFnZ2luZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldyB3aXRoVmVsb2NpdHk6KENH
UG9pCiAKICAgICBpZiAoIV9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2Rl
KCkudmVydGljYWxTbmFwT2Zmc2V0cygpLmlzRW1wdHkoKSkgewogICAgICAgICB1bnNpZ25lZCBp
bmRleDsKLSAgICAgICAgZmxvYXQgcG90ZW50aWFsU25hcFBvc2l0aW9uID0gY2xvc2VzdFNuYXBP
ZmZzZXQoX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52ZXJ0aWNh
bFNuYXBPZmZzZXRzKCksIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2Rl
KCkudmVydGljYWxTbmFwT2Zmc2V0UmFuZ2VzKCksIHZlcnRpY2FsVGFyZ2V0LCB2ZWxvY2l0eS55
LCBpbmRleCk7CisgICAgICAgIGZsb2F0IHBvdGVudGlhbFNuYXBQb3NpdGlvbiA9IFdlYkNvcmU6
OmNsb3Nlc3RTbmFwT2Zmc2V0KF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdO
b2RlKCkudmVydGljYWxTbmFwT2Zmc2V0cygpLCBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+
c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2FsU25hcE9mZnNldFJhbmdlcygpLCB2ZXJ0aWNhbFRhcmdl
dCwgdmVsb2NpdHkueSwgaW5kZXgpOwogICAgICAgICBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0
ZS0+c2Nyb2xsaW5nTm9kZSgpLnNldEN1cnJlbnRWZXJ0aWNhbFNuYXBQb2ludEluZGV4KGluZGV4
KTsKICAgICAgICAgaWYgKHZlcnRpY2FsVGFyZ2V0ID49IDAgJiYgdmVydGljYWxUYXJnZXQgPD0g
c2Nyb2xsVmlldy5jb250ZW50U2l6ZS5oZWlnaHQpCiAgICAgICAgICAgICB0YXJnZXRDb250ZW50
T2Zmc2V0LT55ID0gcG90ZW50aWFsU25hcFBvc2l0aW9uOwpAQCAtMTIyLDYgKzEyMCw3IEBAIC0g
KHZvaWQpc2Nyb2xsVmlld0RpZEVuZERlY2VsZXJhdGluZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xs
VmlldwogQGVuZAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwogCiBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TOjpTY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TKFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlJiBzY3Jv
bGxpbmdOb2RlKQogICAgIDogU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZShzY3Jv
bGxpbmdOb2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9T
dG9yYWdlUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2Uv
U3RvcmFnZVByb2Nlc3NQcm94eS5jcHAKaW5kZXggZWZhOGQxM2NiYmQ1ZmZhODA4YjVmMGVkYmY0
YTUxZGM5ZGY4NTdlNy4uM2ExMzFiNGQ2MGQ4YWEwN2U4N2ZiNWU0YzYxNGYzMGE3ZDQyYjU3NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vz
c1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQ
cm9jZXNzUHJveHkuY3BwCkBAIC0zNyw3ICszNyw3IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1zdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVDYWxsYmFj
a0lEKCkKK3N0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgp
CiB7CiAgICAgc3RhdGljIHVpbnQ2NF90IGNhbGxiYWNrSUQ7CiAKQEAgLTEwNSw3ICsxMDUsNyBA
QCB2b2lkIFN0b3JhZ2VQcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9u
SUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8VwogewogICAgIEFTU0VSVChjYW5TZW5kTWVzc2FnZSgp
KTsKIAotICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAg
ICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQo
KTsKICAgICBtX3BlbmRpbmdGZXRjaFdlYnNpdGVEYXRhQ2FsbGJhY2tzLmFkZChjYWxsYmFja0lE
LCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAKICAgICBzZW5kKE1lc3NhZ2VzOjpTdG9y
YWdlUHJvY2Vzczo6RmV0Y2hXZWJzaXRlRGF0YShzZXNzaW9uSUQsIGRhdGFUeXBlcywgY2FsbGJh
Y2tJRCksIDApOwpAQCAtMTEzLDcgKzExMyw3IEBAIHZvaWQgU3RvcmFnZVByb2Nlc3NQcm94eTo6
ZmV0Y2hXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXCiAK
IHZvaWQgU3RvcmFnZVByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9u
SUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiBkYXRhVHlwZXMsIFdhbGxU
aW1lIG1vZGlmaWVkU2luY2UsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQgKCk+JiYgY29tcGxldGlv
bkhhbmRsZXIpCiB7Ci0gICAgYXV0byBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7
CisgICAgYXV0byBjYWxsYmFja0lEID0gZ2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQo
KTsKIAogICAgIG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRhQ2FsbGJhY2tzLmFkZChjYWxsYmFj
a0lELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAgICAgc2VuZChNZXNzYWdlczo6U3Rv
cmFnZVByb2Nlc3M6OkRlbGV0ZVdlYnNpdGVEYXRhKHNlc3Npb25JRCwgZGF0YVR5cGVzLCBtb2Rp
ZmllZFNpbmNlLCBjYWxsYmFja0lEKSwgMCk7CkBAIC0xMjMsNyArMTIzLDcgQEAgdm9pZCBTdG9y
YWdlUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoUEFMOjpTZXNzaW9u
SUQgc2Vzc2lvbklELAogewogICAgIEFTU0VSVChjYW5TZW5kTWVzc2FnZSgpKTsKIAotICAgIHVp
bnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1aW50NjRfdCBj
YWxsYmFja0lEID0gZ2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQoKTsKICAgICBtX3Bl
bmRpbmdEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnNDYWxsYmFja3MuYWRkKGNhbGxiYWNrSUQs
IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIHNlbmQoTWVzc2FnZXM6OlN0b3Jh
Z2VQcm9jZXNzOjpEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoc2Vzc2lvbklELCBkYXRhVHlw
ZXMsIG9yaWdpbnMsIGNhbGxiYWNrSUQpLCAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKaW5kZXggMjVmZTRhMmU4NGNkODQ5ZDNkOWIwZmExY2Q5Mzg5YTczZGMxY2VhNi4u
NjVjMDE5ZmQ0ZWUxNWEyMjA5NzQ1NjZiYTYyODdjYzQyNDJlNTgyMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTYxLDcgKzYxLDYgQEAKICNpbmNsdWRlICJXZWJQ
YWdlSW5qZWN0ZWRCdW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJXZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eS5oIgogI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzLmgiCi0jaW5jbHVkZSA8V2ViQ29y
ZS9BbHRlcm5hdGl2ZVRleHRDbGllbnQuaD4gLy8gRklYTUU6IE5lZWRlZCBieSBXZWJQYWdlUHJv
eHlNZXNzYWdlcy5oIGZvciBESUNUQVRJT05fQUxURVJOQVRJVkVTLgogI2luY2x1ZGUgIldlYlBh
Z2VQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUG9wdXBNZW51UHJveHkuaCIKICNpbmNs
dWRlICJXZWJQcm9jZXNzTGlmZXRpbWVUcmFja2VyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBjNzcxNTU5MGVkNzFjY2RkMjNkZjI4
NWEzYWE3YzM2ZTU0M2RiN2Y2Li5iYzdjMjQzZjQ3OTZhY2MyZWNlNGM0ZmVjYzQ0OTI5MjU4Y2Ri
NDU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTc1Niw2ICs3NTYsOCBAQAogCQkyRDkyQTc5NTIxMkI2QUQ0MDBGNDkzRkQgLyogUGx1
Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJEOTBEMTEyODFDOTY2MDAxRUI5NjIgLyogUGx1Z2lu
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgKi87IH07CiAJCTJEOTJBNzk2MjEyQjZBREEw
MEY0OTNGRCAvKiBOZXRzY2FwZVBsdWdpbk1vZHVsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTRBOUM1MzEyQjgxNkNGMDA4RkU5ODQgLyogTmV0
c2NhcGVQbHVnaW5Nb2R1bGUuY3BwICovOyB9OwogCQkyRDkyQTc5NzIxMkI2QURBMDBGNDkzRkQg
LyogUGx1Z2luSW5mb3JtYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gN0MzRjhDOEUxNzNBRjUyRDAwN0I3RjM5IC8qIFBsdWdpbkluZm9ybWF0
aW9uLmNwcCAqLzsgfTsKKwkJMkQ5MkE3OTgyMTM0OEQ4NTAwRjQ5M0ZEIC8qIFdlYlBheW1lbnRD
b29yZGluYXRvclByb3h5TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUFCMUY3N0QxRDFCMzBBOTAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGlu
YXRvclByb3h5TWFjLm1tICovOyB9OworCQkyRDkyQTc5RjIxMzRCMDdFMDBGNDkzRkQgLyogV2Vi
UGF5bWVudENvb3JkaW5hdG9yUHJveHlJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQUIxRjc3QjFEMUIzMEE5MDA3QzlCRDEgLyogV2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHlJT1MubW0gKi87IH07CiAJCTJEOTMxMTY5MjEyRjYxQjIwMDA0NEJG
RSAvKiBXS0NvbnRlbnRWaWV3Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEZDQjRFM0QxOEJCRTA0NDAwMEZDRkM5IC8qIFdLQ29udGVudFZpZXcubW0g
Ki87IH07CiAJCTJEOTMxMTZBMjEyRjYxQjUwMDA0NEJGRSAvKiBXS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkNCNEU2QjE4QkJGMjZBMDAwRkNGQzkgLyogV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tICov
OyB9OwogCQkyRDlFQTMwRDFBOTZDQjU5MDAyRDI4MDcgLyogV0tQYWdlSW5qZWN0ZWRCdW5kbGVD
bGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJE
OUVBMzBDMUE5NkNCNTkwMDJEMjgwNyAvKiBXS1BhZ2VJbmplY3RlZEJ1bmRsZUNsaWVudC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMTI0MSw2
ICsxMTI0Myw4IEBACiAJCQkJN0NFOUNFMTAxRkEwNzY3QTAwMDE3N0RFIC8qIFdlYlBhZ2VVcGRh
dGVQcmVmZXJlbmNlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzQ2OTRDOTFBNEI0RUExMDBB
RDU4NDUgLyogV2ViUGFzdGVib2FyZFByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTFBQjFGNzk2MUQxQjM2MTMwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0
b3JNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5MkE3OUYyMTM0QjA3
RTAwRjQ5M0ZEIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5SU9TLm1tIGluIFNvdXJjZXMg
Ki8sCisJCQkJMkQ5MkE3OTgyMTM0OEQ4NTAwRjQ5M0ZEIC8qIFdlYlBheW1lbnRDb29yZGluYXRv
clByb3h5TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFCMUY3OTgxRDFCMzYxMzAwN0M5QkQx
IC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTJEOTJBNzhEMjEyQjZBQjEwMEY0OTNGRCAvKiBXZWJQbGF0Zm9ybVRvdWNo
UG9pbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5MTM0NEUyMTJDRjlGMDAwMTI4QUZEIC8q
IFdlYlBsdWdpbkluZm9Qcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0gYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tCmluZGV4IDUzMDdlMjZh
NzYzN2U4YTY5YjA0NWFiYjkyODc5ZjNmOGM2NTg2ZjIuLjRjYWE2Y2MwZjYwNDUwYzAzYjIyYTI4
NGRkMTNhZjI1ZWZkNmUzODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Q
bHVnaW5zL1BERi9QREZQbHVnaW4ubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1Bs
dWdpbnMvUERGL1BERlBsdWdpbi5tbQpAQCAtODgsOCArODgsNiBAQAogI2ltcG9ydCA8cGFsL3Nw
aS9tYWMvTlNNZW51U1BJLmg+CiAjaW1wb3J0IDx3dGYvVVVJRC5oPgogCi11c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKLQogLy8gU2V0IG92ZXJmbG93OiBoaWRkZW4gb24gdGhlIGFubm90YXRpb24g
Y29udGFpbmVyIHNvIDxpbnB1dD4gZWxlbWVudHMgc2Nyb2xsZWQgb3V0IG9mIHZpZXcgZG9uJ3Qg
c2hvdwogLy8gc2Nyb2xsYmFycyBvbiB0aGUgYm9keS4gV2UgY2FuJ3QgYWRkIGFubm90YXRpb25z
IGRpcmVjdGx5IHRvIHRoZSBib2R5LCBiZWNhdXNlIG92ZXJmbG93OiBoaWRkZW4gb24gdGhlIGJv
ZHkKIC8vIHdpbGwgYnJlYWsgcnViYmVyLWJhbmRpbmcuCkBAIC0yOTAsNyArMjg4LDcgQEAgLSAo
TlNBcnJheSAqKWFjY2Vzc2liaWxpdHlBY3Rpb25OYW1lcwogLSAodm9pZClhY2Nlc3NpYmlsaXR5
UGVyZm9ybUFjdGlvbjooTlNTdHJpbmcgKilhY3Rpb24KIHsKICAgICBpZiAoW2FjdGlvbiBpc0Vx
dWFsVG9TdHJpbmc6TlNBY2Nlc3NpYmlsaXR5U2hvd01lbnVBY3Rpb25dKQotICAgICAgICBfcGRm
UGx1Z2luLT5zaG93Q29udGV4dE1lbnVBdFBvaW50KEludFJlY3QoSW50UG9pbnQoKSwgX3BkZlBs
dWdpbi0+c2l6ZSgpKS5jZW50ZXIoKSk7CisgICAgICAgIF9wZGZQbHVnaW4tPnNob3dDb250ZXh0
TWVudUF0UG9pbnQoV2ViQ29yZTo6SW50UmVjdChXZWJDb3JlOjpJbnRQb2ludCgpLCBfcGRmUGx1
Z2luLT5zaXplKCkpLmNlbnRlcigpKTsKIH0KIAogLSAoQk9PTClhY2Nlc3NpYmlsaXR5SXNBdHRy
aWJ1dGVTZXR0YWJsZTooTlNTdHJpbmcgKilhdHRyaWJ1dGUKQEAgLTMxNiw4ICszMTQsOCBAQCAt
IChpZClhY2Nlc3NpYmlsaXR5Rm9jdXNlZFVJRWxlbWVudAogewogI2lmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwCiAgICAgaWYgKFdlYktpdDo6UERGUGx1Z2luQW5u
b3RhdGlvbiogYWN0aXZlQW5ub3RhdGlvbiA9IF9wZGZQbHVnaW4tPmFjdGl2ZUFubm90YXRpb24o
KSkgewotICAgICAgICBpZiAoQVhPYmplY3RDYWNoZSogZXhpc3RpbmdDYWNoZSA9IF9wZGZQbHVn
aW4tPmF4T2JqZWN0Q2FjaGUoKSkgewotICAgICAgICAgICAgaWYgKEFjY2Vzc2liaWxpdHlPYmpl
Y3QqIG9iamVjdCA9IGV4aXN0aW5nQ2FjaGUtPmdldE9yQ3JlYXRlKGFjdGl2ZUFubm90YXRpb24t
PmVsZW1lbnQoKSkpCisgICAgICAgIGlmIChXZWJDb3JlOjpBWE9iamVjdENhY2hlKiBleGlzdGlu
Z0NhY2hlID0gX3BkZlBsdWdpbi0+YXhPYmplY3RDYWNoZSgpKSB7CisgICAgICAgICAgICBpZiAo
V2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0ID0gZXhpc3RpbmdDYWNoZS0+Z2V0
T3JDcmVhdGUoYWN0aXZlQW5ub3RhdGlvbi0+ZWxlbWVudCgpKSkKICNwcmFnbWEgY2xhbmcgZGlh
Z25vc3RpYyBwdXNoCiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdkZXByZWNh
dGVkLWRlY2xhcmF0aW9ucyIKICAgICAgICAgICAgICAgICByZXR1cm4gW29iamVjdC0+d3JhcHBl
cigpIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpAIl9BWEFzc29jaWF0ZWRQbHVnaW5QYXJl
bnQiXTsKQEAgLTMzOCwxMSArMzM2LDExIEBAIC0gKGlkKWFjY2Vzc2liaWxpdHlBc3NvY2lhdGVk
Q29udHJvbEZvckFubm90YXRpb246KFBERkFubm90YXRpb24gKilhbm5vdGF0aW9uCiAgICAgaWYg
KCFhY3RpdmVBbm5vdGF0aW9uIHx8ICFbYWN0aXZlQW5ub3RhdGlvbi0+YW5ub3RhdGlvbigpIGlz
RXF1YWw6YW5ub3RhdGlvbl0pCiAgICAgICAgIHJldHVybiBuaWw7CiAgICAgCi0gICAgQVhPYmpl
Y3RDYWNoZSogY2FjaGUgPSBfcGRmUGx1Z2luLT5heE9iamVjdENhY2hlKCk7CisgICAgV2ViQ29y
ZTo6QVhPYmplY3RDYWNoZSogY2FjaGUgPSBfcGRmUGx1Z2luLT5heE9iamVjdENhY2hlKCk7CiAg
ICAgaWYgKCFjYWNoZSkKICAgICAgICAgcmV0dXJuIG5pbDsKICAgICAKLSAgICBBY2Nlc3NpYmls
aXR5T2JqZWN0KiBvYmplY3QgPSBjYWNoZS0+Z2V0T3JDcmVhdGUoYWN0aXZlQW5ub3RhdGlvbi0+
ZWxlbWVudCgpKTsKKyAgICBXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QgPSBj
YWNoZS0+Z2V0T3JDcmVhdGUoYWN0aXZlQW5ub3RhdGlvbi0+ZWxlbWVudCgpKTsKICAgICBpZiAo
IW9iamVjdCkKICAgICAgICAgcmV0dXJuIG5pbDsKIApAQCAtMzUzLDcgKzM1MSw3IEBAIC0gKGlk
KWFjY2Vzc2liaWxpdHlBc3NvY2lhdGVkQ29udHJvbEZvckFubm90YXRpb246KFBERkFubm90YXRp
b24gKilhbm5vdGF0aW9uCiAtIChpZClhY2Nlc3NpYmlsaXR5SGl0VGVzdDooTlNQb2ludClwb2lu
dAogewogI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwCi0gICAg
cG9pbnQgPSBfcGRmUGx1Z2luLT5jb252ZXJ0RnJvbVJvb3RWaWV3VG9QREZWaWV3KEludFBvaW50
KHBvaW50KSk7CisgICAgcG9pbnQgPSBfcGRmUGx1Z2luLT5jb252ZXJ0RnJvbVJvb3RWaWV3VG9Q
REZWaWV3KFdlYkNvcmU6OkludFBvaW50KHBvaW50KSk7CiAgICAgcmV0dXJuIFtfcGRmTGF5ZXJD
b250cm9sbGVyIGFjY2Vzc2liaWxpdHlIaXRUZXN0OnBvaW50XTsKICNlbHNlCiAgICAgcmV0dXJu
IHNlbGY7CkBAIC00MjEsNyArNDE5LDcgQEAgLSAoaWQpaW5pdFdpdGhQREZQbHVnaW46KFdlYktp
dDo6UERGUGx1Z2luICopcGx1Z2luCiAKIC0gKHZvaWQpdXBkYXRlU2Nyb2xsUG9zaXRpb246KENH
UG9pbnQpbmV3UG9zaXRpb24KIHsKLSAgICBfcGRmUGx1Z2luLT5ub3RpZnlTY3JvbGxQb3NpdGlv
bkNoYW5nZWQoSW50UG9pbnQobmV3UG9zaXRpb24pKTsKKyAgICBfcGRmUGx1Z2luLT5ub3RpZnlT
Y3JvbGxQb3NpdGlvbkNoYW5nZWQoV2ViQ29yZTo6SW50UG9pbnQobmV3UG9zaXRpb24pKTsKIH0K
IAogLSAodm9pZCl3cml0ZUl0ZW1zVG9QYXN0ZWJvYXJkOihOU0FycmF5ICopaXRlbXMgd2l0aFR5
cGVzOihOU0FycmF5ICopdHlwZXMKQEAgLTUwMCw2ICs0OTgsMTAgQEAgLSAoTlNSZWN0KWNvbnZl
cnRSZWN0OihOU1JlY3QpcmVjdCBmcm9tUGFnZTooUERGUGFnZSAqKSBwYWdlIGZvclNjYWxlRmFj
dG9yOihDR0YKIC0gKFBERlBhZ2UgKilwYWdlTmVhcmVzdFBvaW50OihOU1BvaW50KXBvaW50IGN1
cnJlbnRQYWdlOihQREZQYWdlICopY3VycmVudFBhZ2U7CiBAZW5kCiAKK25hbWVzcGFjZSBXZWJL
aXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Cit1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVz
OworCiBzdGF0aWMgY29uc3QgY2hhciogcG9zdFNjcmlwdE1JTUVUeXBlID0gImFwcGxpY2F0aW9u
L3Bvc3RzY3JpcHQiOwogY29uc3QgdWludDY0X3QgcGRmRG9jdW1lbnRSZXF1ZXN0SUQgPSAxOyAv
LyBQbHVnaW5Db250cm9sbGVyIHN1cHBvcnRzIGxvYWRpbmcgbXVsdGlwbGUgc3RyZWFtcywgYnV0
IHdlIG9ubHkgbmVlZCBvbmUgZm9yIFBERi4KIApAQCAtNTk2LDkgKzU5OCw2IEBAIHN0YXRpYyB2
b2lkIGdldEFsbFNjcmlwdHNJblBERkRvY3VtZW50KENHUERGRG9jdW1lbnRSZWYgcGRmRG9jdW1l
bnQsIFZlY3RvcjxSZXRhCiAgICAgfQogfQogCi1uYW1lc3BhY2UgV2ViS2l0IHsKLXVzaW5nIG5h
bWVzcGFjZSBIVE1MTmFtZXM7Ci0KIFJlZjxQREZQbHVnaW4+IFBERlBsdWdpbjo6Y3JlYXRlKFdl
YkZyYW1lJiBmcmFtZSkKIHsKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQREZQbHVnaW4oZnJh
bWUpKTsKQEAgLTE0NTAsNyArMTQ0OSw3IEBAIHZvaWQgUERGUGx1Z2luOjp1cGRhdGVDdXJzb3Io
Y29uc3QgV2ViTW91c2VFdmVudCYgZXZlbnQsIFVwZGF0ZUN1cnNvck1vZGUgbW9kZSkKICAgICBp
ZiAoaGl0VGVzdFJlc3VsdCA9PSBtX2xhc3RIaXRUZXN0UmVzdWx0ICYmIG1vZGUgPT0gVXBkYXRl
SWZOZWVkZWQpCiAgICAgICAgIHJldHVybjsKIAotICAgIHdlYkZyYW1lKCktPnBhZ2UoKS0+c2Vu
ZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTZXRDdXJzb3IoaGl0VGVzdFJlc3VsdCA9PSBUZXh0
ID8gaUJlYW1DdXJzb3IoKSA6IHBvaW50ZXJDdXJzb3IoKSkpOworICAgIHdlYkZyYW1lKCktPnBh
Z2UoKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTZXRDdXJzb3IoaGl0VGVzdFJlc3Vs
dCA9PSBUZXh0ID8gV2ViQ29yZTo6aUJlYW1DdXJzb3IoKSA6IFdlYkNvcmU6OnBvaW50ZXJDdXJz
b3IoKSkpOwogICAgIG1fbGFzdEhpdFRlc3RSZXN1bHQgPSBoaXRUZXN0UmVzdWx0OwogfQogI2Vu
ZGlmCkBAIC0xOTgxLDE2ICsxOTgwLDE2IEBAIHZvaWQgUERGUGx1Z2luOjpub3RpZnlTZWxlY3Rp
b25DaGFuZ2VkKFBERlNlbGVjdGlvbiAqKQogICAgIHdlYkZyYW1lKCktPnBhZ2UoKS0+ZGlkQ2hh
bmdlU2VsZWN0aW9uKCk7CiB9CiAKLXN0YXRpYyBjb25zdCBDdXJzb3ImIGNvcmVDdXJzb3IoUERG
TGF5ZXJDb250cm9sbGVyQ3Vyc29yVHlwZSB0eXBlKQorc3RhdGljIGNvbnN0IFdlYkNvcmU6OkN1
cnNvciYgY29yZUN1cnNvcihQREZMYXllckNvbnRyb2xsZXJDdXJzb3JUeXBlIHR5cGUpCiB7CiAg
ICAgc3dpdGNoICh0eXBlKSB7CiAgICAgY2FzZSBrUERGTGF5ZXJDb250cm9sbGVyQ3Vyc29yVHlw
ZUhhbmQ6Ci0gICAgICAgIHJldHVybiBoYW5kQ3Vyc29yKCk7CisgICAgICAgIHJldHVybiBXZWJD
b3JlOjpoYW5kQ3Vyc29yKCk7CiAgICAgY2FzZSBrUERGTGF5ZXJDb250cm9sbGVyQ3Vyc29yVHlw
ZUlCZWFtOgotICAgICAgICByZXR1cm4gaUJlYW1DdXJzb3IoKTsKKyAgICAgICAgcmV0dXJuIFdl
YkNvcmU6OmlCZWFtQ3Vyc29yKCk7CiAgICAgY2FzZSBrUERGTGF5ZXJDb250cm9sbGVyQ3Vyc29y
VHlwZVBvaW50ZXI6CiAgICAgZGVmYXVsdDoKLSAgICAgICAgcmV0dXJuIHBvaW50ZXJDdXJzb3Io
KTsKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OnBvaW50ZXJDdXJzb3IoKTsKICAgICB9CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348259</attachid>
            <date>2018-08-27 20:40:39 -0700</date>
            <delta_ts>2018-08-27 20:58:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189009-20180827204039.patch</filename>
            <type>text/plain</type>
            <size>59061</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGMyOWZmMzZiMTcwMDNiYTAxZDNlYmJj
YWNhNDY4ZTRmNDZlM2YzN2IuLjA3YzYxYjkxMTg5ZjZmYjg3M2MxN2MxNWM0N2Y1NzI2ODE0YzY4
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3Jl
IHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL2dlbmVy
YXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmI6CisgICAgICAgIEl0IHR1cm5zIG91dCBvdXIg
cGxhbiB0byBzd2l0Y2ggdW5pZmllZCBzb3VyY2UgYnVuZGxlIGV2ZXJ5IHRpbWUgdGhlIGRpcmVj
dG9yeQorICAgICAgICBjaGFuZ2VzIGlzIG5vdCBhIGdvb2QgZml0IGZvciBwcm9qZWN0cyBsaWtl
IFdlYktpdDIgd2l0aCBtYW55IHNtYWxsIGRpcmVjdG9yaWVzLgorICAgICAgICBJdCBsZWF2ZXMg
bWFueSB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIHdpdGggb25seSBhIHNpbmdsZSBzb3VyY2UgZmls
ZSwKKyAgICAgICAgYWNoaWV2aW5nIG9ubHkgfjQwJSBkZW5zaXR5LgorCisgICAgICAgIEluc3Rl
YWQsIHN3aXRjaCB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIGV2ZXJ5IHRpbWUgdGhlIHRvcC1sZXZl
bCBkaXJlY3RvcnkgY2hhbmdlcy4KKyAgICAgICAgVGhpcyBzdGlsbCBhY2hpZXZlcyB0aGUgZ29h
bCBvZiAqdXN1YWxseSogb25seSByZWJ1aWxkaW5nIHRoZSBvbmUgdG9wLWxldmVsCisgICAgICAg
IGRpcmVjdG9yeSB5b3UgdG91Y2hlZCwgYW5kIGluY3JlYXNlcyBzb3VyY2UgYnVuZGxlIGRlbnNp
dHkgd2lsZGx5LCB0byB+OTUlLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTgt
MDgtMjcgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQgYnVpbGQgZml4IC0tIGRpc2FibGUgTFRPIGZvciBwcm9kdWN0aW9uIGJ1aWxkcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDdmZjk4ZTNhMDliZTBjOWE3ZWM2MWFlYWVjZDk4MjhmYTcxNjNmZjMuLmNiZGZk
OTgwODYyMDk5NTFkNmQ2ZWJjMTZkYjk0Y2EzZmI3YzQ1ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzOCBAQAorMjAxOC0wOC0yNyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNv
bT4KKworICAgICAgICBCdW5kbGUgdW5pZmllZCBzb3VyY2VzIG1vcmUgdGlnaHRseSBpbiBwcm9q
ZWN0cyB3aXRoIGRlZXAgZGlyZWN0b3J5IHN0cnVjdHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTAwOQorCisgICAgICAgIFJldmlld2VkIGJ5
IFNpbW9uIEZyYXNlci4KKworICAgICAgICBGaXggYSB2YXJpZXR5IG9mIHVuaWZpY2F0aW9uIGVy
cm9ycyBkdWUgdG8gcmVzaHVmZmxpbmcgdGhlIGJ1bmRsZXMuCisKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAqIFNvdXJjZXNDb2NvYS50
eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUVDRFNBLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUVDRFNBOjppbXBvcnRLZXkpOgorICAgICAgICAqIGRv
bS9Eb2N1bWVudC5oOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHA6
CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRl
ci5oOgorICAgICAgICAqIHBhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50Lmg6CisgICAgICAgICog
cGxhdGZvcm0vUGFzdGVib2FyZC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Rpc3Bs
YXlSZWZyZXNoTW9uaXRvci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZh
bWlseVNwZWNpZmljYXRpb25OdWxsLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJHTExheWVyLm1tOgorICAgICAgICAoLVtXZWJHTExheWVyIGluaXRXaXRoR3JhcGhp
Y3NDb250ZXh0M0Q6XSk6CisgICAgICAgICgtW1dlYkdMTGF5ZXIgY29weUltYWdlU25hcHNob3RX
aXRoQ29sb3JTcGFjZTpdKToKKyAgICAgICAgKC1bV2ViR0xMYXllciBkaXNwbGF5XSk6CisgICAg
ICAgICgtW1dlYkdMTGF5ZXIgYWxsb2NhdGVJT1N1cmZhY2VCYWNraW5nU3RvcmVXaXRoU2l6ZTp1
c2luZ0FscGhhOl0pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxh
eWVyLm1tOgorICAgICAgICAoLVtXZWJHUFVMYXllciBpbml0V2l0aEdQVURldmljZTpdKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHA6CisgICAgICAg
ICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwOgor
CiAyMDE4LTA4LTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtBdHRhY2htZW50IFN1cHBvcnRdIFJlbW92ZSBXZWJDb3JlOjpBdHRhY2htZW50RGlz
cGxheU9wdGlvbnMgYW5kIGZyaWVuZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYjczYzY3OTE3NzA1N2UxNDIxYWEy
YTNiMDU4NTIwYTc4ODYzMzhhMy4uNDZiMWEyZDYzY2U3ZmMyMzkyOTlmNmJjYjc3MGNjNGYxN2Zh
NGQ1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MiBAQAorMjAxOC0wOC0yNyAgVGltIEhvcnRvbiAg
PHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBCdW5kbGUgdW5pZmllZCBzb3Vy
Y2VzIG1vcmUgdGlnaHRseSBpbiBwcm9qZWN0cyB3aXRoIGRlZXAgZGlyZWN0b3J5IHN0cnVjdHVy
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTAw
OQorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBGaXggYSB2
YXJpZXR5IG9mIHVuaWZpY2F0aW9uIGVycm9ycyBkdWUgdG8gcmVzaHVmZmxpbmcgdGhlIGJ1bmRs
ZXMuCisKKyAgICAgICAgKiBTaGFyZWQvQVBJV2ViQXJjaGl2ZS5tbToKKyAgICAgICAgKiBTaGFy
ZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05l
dHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbToKKyAgICAgICAgKiBTaGFyZWQv
UGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW06CisgICAgICAgICog
U291cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25T
ZXNzaW9uQ2xpZW50Lmg6CisgICAgICAgIChBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Ojpz
ZXNzaW9uSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgIChBUEk6OkF1dG9tYXRpb25TZXNzaW9u
Q2xpZW50OjptZXNzYWdlT2ZDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZSk6CisgICAgICAg
IChBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50OjpzZXRVc2VySW5wdXRGb3JDdXJyZW50SmF2
YVNjcmlwdFByb21wdE9uUGFnZSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1
c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2Nv
bExvYWRlciBpbml0V2l0aExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OmN1c3RvbVBy
b3RvY29sSUQ6cmVxdWVzdDpdKToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBj
b25uZWN0aW9uOmRpZEZhaWxXaXRoRXJyb3I6XSk6CisgICAgICAgICgtW1dLQ3VzdG9tUHJvdG9j
b2xMb2FkZXIgY29ubmVjdGlvbjpkaWRSZWNlaXZlUmVzcG9uc2U6XSk6CisgICAgICAgICogVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
Z2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdp
blByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdp
blByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpQbHVn
aW5Qcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5hbWVzKToKKyAgICAgICAg
KFdlYktpdDo6Z2VuZXJhdGVDYWxsYmFja0lEKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nl
c3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRl
SU9TLm1tOgorICAgICAgICAoLVtXS1Njcm9sbGluZ05vZGVTY3JvbGxWaWV3RGVsZWdhdGUgc2Ny
b2xsVmlld1dpbGxFbmREcmFnZ2luZzp3aXRoVmVsb2NpdHk6dGFyZ2V0Q29udGVudE9mZnNldDpd
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1Byb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6Z2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQpOgorICAg
ICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKToKKyAg
ICAgICAgKFdlYktpdDo6U3RvcmFnZVByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEpOgor
ICAgICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZv
ck9yaWdpbnMpOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZUNhbGxiYWNrSUQpOiBEZWxldGVk
LgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IFdlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tOgorICAgICAgICAoLVtXS1BERlBs
dWdpbkFjY2Vzc2liaWxpdHlPYmplY3QgYWNjZXNzaWJpbGl0eVBlcmZvcm1BY3Rpb246XSk6Cisg
ICAgICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5Rm9j
dXNlZFVJRWxlbWVudF0pOgorICAgICAgICAoLVtXS1BERlBsdWdpbkFjY2Vzc2liaWxpdHlPYmpl
Y3QgYWNjZXNzaWJpbGl0eUFzc29jaWF0ZWRDb250cm9sRm9yQW5ub3RhdGlvbjpdKToKKyAgICAg
ICAgKC1bV0tQREZQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0IGFjY2Vzc2liaWxpdHlIaXRUZXN0
Ol0pOgorICAgICAgICAoLVtXS1BERkxheWVyQ29udHJvbGxlckRlbGVnYXRlIHVwZGF0ZVNjcm9s
bFBvc2l0aW9uOl0pOgorICAgICAgICAoV2ViS2l0OjpQREZQbHVnaW46OnVwZGF0ZUN1cnNvcik6
CisgICAgICAgIChXZWJLaXQ6OmNvcmVDdXJzb3IpOgorICAgICAgICAoYXBwZW5kVmFsdWVzSW5Q
REZOYW1lU3VidHJlZVRvVmVjdG9yKTogRGVsZXRlZC4KKyAgICAgICAgKGdldEFsbFZhbHVlc0lu
UERGTmFtZVRyZWUpOiBEZWxldGVkLgorICAgICAgICAoZ2V0QWxsU2NyaXB0c0luUERGRG9jdW1l
bnQpOiBEZWxldGVkLgorCiAyMDE4LTA4LTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhA
YXBwbGUuY29tPgogCiAgICAgICAgIFtBdHRhY2htZW50IFN1cHBvcnRdIFJlbW92ZSBXZWJDb3Jl
OjpBdHRhY2htZW50RGlzcGxheU9wdGlvbnMgYW5kIGZyaWVuZHMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvU2NyaXB0cy9nZW5lcmF0ZS11bmlmaWVkLXNvdXJjZS1idW5kbGVzLnJiIGIvU291cmNl
L1dURi9TY3JpcHRzL2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKaW5kZXggYzAx
OTY2ZWUxYjJjNjdkOTc2MGYwM2E1YmJjYWEzY2I1NzI2MTJiMy4uYWJkOTc2NzdhMjBhZGI0ZDQ2
MmViOThmNzc4ZDk4MDI5YmRkNDk5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL2dl
bmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKKysrIGIvU291cmNlL1dURi9TY3JpcHRz
L2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKQEAgLTIxMCwxMCArMjEwLDE3IEBA
IGNsYXNzIEJ1bmRsZU1hbmFnZXIKICAgICBlbmQKIGVuZAogCitkZWYgVG9wTGV2ZWxEaXJlY3Rv
cnlGb3JQYXRoKHBhdGgpCisgICAgaWYgIXBhdGgKKyAgICAgICAgcmV0dXJuIG5pbAorICAgIGVu
ZAorICAgIHJldHVybiBwYXRoLmVhY2hfZmlsZW5hbWUubmV4dAorZW5kCisKIGRlZiBQcm9jZXNz
RmlsZUZvclVuaWZpZWRTb3VyY2VHZW5lcmF0aW9uKHNvdXJjZUZpbGUpCiAgICAgcGF0aCA9IHNv
dXJjZUZpbGUucGF0aAotICAgIGlmICgkY3VycmVudERpcmVjdG9yeSAhPSBwYXRoLmRpcm5hbWUp
Ci0gICAgICAgIGxvZygiRmx1c2hpbmcgYmVjYXVzZSBuZXcgZGlybmFtZTsgb2xkOiAjeyRjdXJy
ZW50RGlyZWN0b3J5fSwgbmV3OiAje3BhdGguZGlybmFtZX0iKQorICAgIGlmIChUb3BMZXZlbERp
cmVjdG9yeUZvclBhdGgoJGN1cnJlbnREaXJlY3RvcnkpICE9IFRvcExldmVsRGlyZWN0b3J5Rm9y
UGF0aChwYXRoLmRpcm5hbWUpKQorICAgICAgICBsb2coIkZsdXNoaW5nIGJlY2F1c2UgbmV3IHRv
cCBsZXZlbCBkaXJlY3Rvcnk7IG9sZDogI3skY3VycmVudERpcmVjdG9yeX0sIG5ldzogI3twYXRo
LmRpcm5hbWV9IikKICAgICAgICAgJGJ1bmRsZU1hbmFnZXJzLmVhY2hfdmFsdWUgeyB8eHwgeC5m
bHVzaCB9CiAgICAgICAgICRjdXJyZW50RGlyZWN0b3J5ID0gcGF0aC5kaXJuYW1lCiAgICAgZW5k
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYv
UGxhdGZvcm0uaAppbmRleCAwYzZlZmI4NjI5ODI1MzlkMmI0YjJjYzRmOGY4YjVmY2I0ZWM4OGU4
Li42N2NmYTkzMzEzYzkwNDIxZWI2Y2YxNzlkOThlZjcwM2RhMGU0OWRiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgK
QEAgLTEzMTQsNiArMTMxNCw3IEBACiAjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX1RP
VUNIX0JBUiAxCiAjZGVmaW5lIEhBVkVfQURWQU5DRURfU1BFTExfQ0hFQ0tJTkcgMQorI2RlZmlu
ZSBVU0VfRElDVEFUSU9OX0FMVEVSTkFUSVZFUyAxCiAKICNpZiBkZWZpbmVkKF9fTFA2NF9fKQog
I2RlZmluZSBFTkFCTEVfV0VCX1BMQVlCQUNLX0NPTlRST0xTX01BTkFHRVIgMQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdCdWZmZXIuaCBiL1NvdXJjZS9XVEYvd3RmL3Rl
eHQvU3RyaW5nQnVmZmVyLmgKaW5kZXggZjI5M2QzMzNkYmUzZTQ1ZTYzN2ExNDg2NzMzZDBhMmZk
OGMwOGMwYy4uZTMyY2QyNjBkZDk0ZGIxNTU5ODViZmI0NzYyOWI4YTkxMTM2YzI2OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdCdWZmZXIuaAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oCkBAIC0yOSw5ICsyOSwxMCBAQAogI2lmbmRlZiBTdHJp
bmdCdWZmZXJfaAogI2RlZmluZSBTdHJpbmdCdWZmZXJfaAogCi0jaW5jbHVkZSA8d3RmL0Fzc2Vy
dGlvbnMuaD4KICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8dW5pY29kZS91dHlwZXMuaD4K
KyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi9NYWxsb2NQdHIuaD4K
IAogbmFtZXNwYWNlIFdURiB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y2FjaGUvV29ya2VyQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NhY2hlL1dvcmtlckNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCmluZGV4IGFkMjA5
MzIxOWY4OGU2ZGEzZTFkNjA2MjRlNDFhZTlhNDFkZjQ5MjcuLjFlYmRkNWRlNDhhN2U3ZTFjOTZh
MDFjNzhmZWQ3ZGE1YmM0ZmI4ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y2FjaGUvV29ya2VyQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcApAQCAtMjks
NiArMjksNyBAQAogCiAjaW5jbHVkZSAiQ2FjaGVRdWVyeU9wdGlvbnMuaCIKICNpbmNsdWRlICJD
YWNoZVN0b3JhZ2VQcm92aWRlci5oIgorI2luY2x1ZGUgIkNsaWVudE9yaWdpbi5oIgogI2luY2x1
ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIldvcmtlckdsb2Jh
bFNjb3BlLmgiCkBAIC0zNiw3ICszNyw2IEBACiAjaW5jbHVkZSAiV29ya2VyUnVuTG9vcC5oIgog
I2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOjpET01DYWNoZUVuZ2luZTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29udHJvbGxlci5jcHAKaW5kZXggOTYxMzJl
Njk3MzdhZTk4YTYwZjk1NGYxZjMxMTgzODQxMDcxZTBhOS4uY2RiNzc3ZTk5OTI5MjIxY2YwYThm
MDExNDJiMmQwN2VkZTllZmVkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBF
TkFCTEUoV0VCX1JUQykKIAorI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiTGliV2Vi
UlRDUHJvdmlkZXIuaCIKICNpbmNsdWRlICJSVENQZWVyQ29ubmVjdGlvbi5oIgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0
VXBkYXRlRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9Q
YXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50LmNwcAppbmRleCBjMjA1MzM1ZWFhOGU5MThhNmQzOGFl
NGYyZmZjODFhZWQ0NWE5YTBmLi45NGI3MWM0NjYxOTI0MTM1YzIxYWVhNjlkNDg5OWQ3YjA3NWE2
MmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1Bh
eW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAKQEAgLTI4LDYgKzI4
LDcgQEAKIAogI2lmIEVOQUJMRShQQVlNRU5UX1JFUVVFU1QpCiAKKyNpbmNsdWRlICJFdmVudE5h
bWVzLmgiCiAjaW5jbHVkZSAiUGF5bWVudFJlcXVlc3QuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXkuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXkuY3BwCmluZGV4IGFkYjc1
MWQwYzM5YzBhNTZiNWU0ZGMxZjU0MjEwYmRhYTRlZGZmNzguLmE5MzNkOTgwZmNmNWE5OTE3NGFi
MGUwYzQwMDIwOTE2Y2JmMWIzNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VidnIvVlJEaXNwbGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZS
RGlzcGxheS5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJDYW52YXNSZW5kZXJpbmdD
b250ZXh0LmgiCiAjaW5jbHVkZSAiQ2hyb21lLmgiCiAjaW5jbHVkZSAiRE9NRXhjZXB0aW9uLmgi
CisjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1
ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuaCIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY3J5cHRvL2djcnlwdC9VdGlsaXRpZXMu
aCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY3J5cHRvL2djcnlwdC9VdGlsaXRpZXMuaAppbmRl
eCA4MmZlMTdjMDNiNDExNzNlYzEzZDMwYjJmYzMxZmFjMWQyOGE1OGRmLi42MjkyYTBmODBiYjBm
NTgyNjUzMmZlNDFiM2JhYTA5MWJkZTJjNjE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL2NyeXB0by9nY3J5cHQvVXRpbGl0aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9jcnlwdG8vZ2NyeXB0L1V0aWxpdGllcy5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNs
dWRlIDxnY3J5cHQuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorI2luY2x1ZGUgPHd0
Zi9PcHRpb25hbC5oPgogCiBuYW1lc3BhY2UgUEFMIHsKIG5hbWVzcGFjZSBHQ3J5cHQgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggNjZmN2YxNmJkNjRmODJjNDMyYmVhZWQ4ZTcwZDFiNWZm
MDYzYTUxNy4uOTU3ZTRiNWI2NjFiNDAyMGYwYTIxZWUwMDk1YzAxNzY0NmU0OTNhMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzQ29jb2EudHh0CkBAIC0zODksNyArMzg5LDcgQEAgcGxhdGZvcm0vaW9zL1BsYXRm
b3JtU2NyZWVuSU9TLm1tCiBwbGF0Zm9ybS9pb3MvUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklP
Uy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktp
dC5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9RdWlja0xvb2subW0KLXBsYXRmb3JtL2lvcy9R
dWlja0xvb2tTb2Z0TGluay5tbQorcGxhdGZvcm0vaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tIEBu
by11bmlmeQogcGxhdGZvcm0vaW9zL1JlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5tbQogcGxhdGZv
cm0vaW9zL1Njcm9sbEFuaW1hdG9ySU9TLm1tCiBwbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJ
T1MubW0KQEAgLTM5OSw3ICszOTksNyBAQCBwbGF0Zm9ybS9pb3MvU1NMS2V5R2VuZXJhdG9ySU9T
LmNwcAogcGxhdGZvcm0vaW9zL1N5c3RlbU1lbW9yeUlPUy5jcHAKIHBsYXRmb3JtL2lvcy9UaGVt
ZUlPUy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9UaWxlQ29udHJvbGxlck1lbW9yeUhhbmRs
ZXJJT1MuY3BwCi1wbGF0Zm9ybS9pb3MvVXNlckFnZW50SU9TLm1tCitwbGF0Zm9ybS9pb3MvVXNl
ckFnZW50SU9TLm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1ZhbGlkYXRpb25CdWJibGVJT1Mu
bW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQu
bW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvV2ViQVZQbGF5ZXJDb250cm9sbGVyLm1tCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
YjZkZjc0OGE2ZDE5MDQ4NWIxOGMzZDU4Y2I1MTgzYmJhZGI4MmY4OS4uZDNiOWVhYWNmNDVjY2Mx
ODMwOGE4Y2Q4ZGQ1OWJkYWFiM2I2NzRkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtODA2LDYgKzgwNiw4IEBACiAJCTJEOEI5
MkZGMjAzRDEzRTEwMDlDODY4RiAvKiBVbmlmaWVkU291cmNlNTMwLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IERFNUY4NUQzMUZBMjM4NTkwMDZEQjYz
QiAvKiBVbmlmaWVkU291cmNlNTMwLmNwcCAqLzsgfTsKIAkJMkQ4RkVCREQxNDNFM0VGNzAwNzI1
MDJCIC8qIENTU0Nyb3NzZmFkZVZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyRDhGRUJEQjE0M0UzRUY3MDA3MjUwMkIgLyogQ1NTQ3Jvc3NmYWRl
VmFsdWUuaCAqLzsgfTsKIAkJMkQ5MDY2MDcwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDkwNjYw
NTBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkyRDkyQTc5QTIxMzRBRDc5MDBGNDkzRkQgLyog
UXVpY2tMb29rU29mdExpbmsubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0NDM5MTdGRDFBOTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsu
bW0gKi87IH07CisJCTJEOTJBNzlEMjEzNEFGOTUwMEY0OTNGRCAvKiBVc2VyQWdlbnRJT1MubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBM0FGOUQ4MzIw
MzI1NjkxMDA2Q0FEMDYgLyogVXNlckFnZW50SU9TLm1tICovOyB9OwogCQkyRDkzQUVFMzE5REY1
NjQxMDAyQTg2QzMgLyogU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5M0FFRTExOURGNTY0MTAwMkE4NkMz
IC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaCAqLzsgfTsKIAkJMkQ5N0YwNDcxOURENDEz
QzAwMUVFOUMzIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREFBRTMyQzE5RENBRjYwMDBFMDAyRDIgLyog
TW9ja1BhZ2VPdmVybGF5Q2xpZW50LmNwcCAqLzsgfTsKIAkJMkQ5N0YwNDgxOURENDE0MDAwMUVF
OUMzIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMkRBQUUzMkQxOURDQUY2MDAwRTAwMkQyIC8qIE1vY2tQYWdl
T3ZlcmxheUNsaWVudC5oICovOyB9OwpAQCAtNzA3Miw3ICs3MDc0LDcgQEAKIAkJMzM5QjVCNjIx
MzFEQUEzMjAwRjQ4RDAyIC8qIENvb2tpZXNTdHJhdGVneS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDb29raWVzU3RyYXRlZ3kuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMzY2MkY5ODQwNDdDRURCRTVERERBRkFBIC8qIFJlbmRlck1hdGhNTE1lbmNsb3NlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlck1hdGhNTE1lbmNs
b3NlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzcxMTlBNzkyMENDQjYxMDAw
MkM2REM5IC8qIFdlYktpdFRhcmdldENvbmRpdGlvbmFscy54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGgg
PSBXZWJLaXRUYXJnZXRDb25kaXRpb25hbHMueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTM3MTdEN0U1MTdFQ0MzQTYwMDNDMjc2RCAvKiBleHRyYWN0LWxvY2FsaXphYmxl
LXN0cmluZ3MucGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0LnNjcmlwdC5wZXJsOyBuYW1lID0gZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdz
LnBsOyBwYXRoID0gIlNjcmlwdHMvZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBsIjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzcxN0Q3RTUxN0VDQzNBNjAwM0MyNzZEIC8qIGV4
dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnBlcmw7IG5hbWUgPSAiZXh0cmFjdC1s
b2NhbGl6YWJsZS1zdHJpbmdzLnBsIjsgcGF0aCA9ICJTY3JpcHRzL2V4dHJhY3QtbG9jYWxpemFi
bGUtc3RyaW5ncy5wbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3MUE2N0NBMTFD
NkM3REIwMDA0N0I4QiAvKiBIeXBoZW5hdGlvbkNGLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEh5cGhlbmF0aW9uQ0YuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkzNzFFNjVDQjEzNjYxRURDMDBCRUVEQjAgLyogUGFnZVNlcmlhbGl6ZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFnZVNlcmlhbGl6ZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzcxRTY1Q0QxMzY2MUVFRDAwQkVFREIwIC8qIFBhZ2VTZXJp
YWxpemVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhZ2VTZXJp
YWxpemVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMzU3LDggKzEzMzU5
LDggQEAKIAkJQ0RFNTk1OUMxQkYyNzU3MTAwQTFDQkU4IC8qIENETVNlc3Npb25NZWRpYVNvdXJj
ZUFWRk9iakMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDRE1T
ZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlDREU2NTYwRTE3Q0E2RTc2MDA1MjZCQTcgLyogbWVkaWFDb250cm9sc0FwcGxlLmpzICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5q
YXZhc2NyaXB0OyBwYXRoID0gbWVkaWFDb250cm9sc0FwcGxlLmpzOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDREU2NjdBMTFFNEJCQTREMDBFODE1NEEgLyogUGxhdGZvcm1BdWRpb0Rh
dGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1BdWRpb0RhdGEu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQ0RFNjY3QTIxRTRCQkYxNTAwRTgxNTRB
IC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBjb2NvYS9XZWJBdWRpb0J1ZmZlckxpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQlDREU2NjdBMzFFNEJCRjE1MDBFODE1NEEgLyogV2ViQXVkaW9CdWZmZXJMaXN0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGNvY29hL1dlYkF1ZGlvQnVmZmVy
TGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDREU2NjdBMjFFNEJCRjE1MDBF
ODE1NEEgLyogV2ViQXVkaW9CdWZmZXJMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IFdlYkF1ZGlvQnVmZmVyTGlzdC5jcHA7IHBhdGggPSBjb2NvYS9XZWJBdWRp
b0J1ZmZlckxpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDREU2NjdBMzFF
NEJCRjE1MDBFODE1NEEgLyogV2ViQXVkaW9CdWZmZXJMaXN0LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IFdlYkF1ZGlvQnVmZmVyTGlzdC5oOyBwYXRoID0gY29jb2EvV2ViQXVk
aW9CdWZmZXJMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERTdGQzQyMTgx
OTA0QjEwMDJCQkI3NyAvKiBPcmRlckl0ZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IE9yZGVySXRlcmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDREU3RkM0MzE4MTkwNEIxMDAyQkJCNzcgLyogT3JkZXJJdGVyYXRvci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBPcmRlckl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUNERTgzREFGMTgzQzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXli
YWNrUXVhbGl0eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBWaWRl
b1BsYXliYWNrUXVhbGl0eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zMTQ0
Miw2ICszMTQ0NCw3IEBACiAJCQkJQUExMkRGNDkxNzQzREY4MzAwNERBRkRGIC8qIFBsYXRmb3Jt
U3BlZWNoU3ludGhlc2l6ZXJJT1MubW0gaW4gU291cmNlcyAqLywKIAkJCQlDREEyOUEzMDFDQkY3
NEQ0MDA5MDFDQ0YgLyogUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQubW0gaW4gU291cmNl
cyAqLywKIAkJCQlDREEyOUExNjFDQkRBNTZDMDA5MDFDQ0YgLyogUGxheWJhY2tTZXNzaW9uSW50
ZXJmYWNlTWFjLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5MkE3OUEyMTM0QUQ3OTAwRjQ5M0ZE
IC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE5MjQyNDkyMTI3
QjkzRTAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJMzE2RENCOEExRTdBNjk5NjAwMUI1Rjg3IC8qIFJUQ0ljZVRyYW5zcG9y
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzUxMTU2RTEyQjE3NDlDMDBDOTY3NTQgLyogU2Ny
b2xsQW5pbWF0b3JNYWMubW0gaW4gU291cmNlcyAqLywKQEAgLTMyMDU2LDYgKzMyMDU5LDcgQEAK
IAkJCQkyRDhCOTJGRDIwM0QxM0UxMDA5Qzg2OEYgLyogVW5pZmllZFNvdXJjZTUyOC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkyRDhCOTJGRTIwM0QxM0UxMDA5Qzg2OEYgLyogVW5pZmllZFNvdXJj
ZTUyOS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDhCOTJGRjIwM0QxM0UxMDA5Qzg2OEYgLyog
VW5pZmllZFNvdXJjZTUzMC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDkyQTc5RDIxMzRBRjk1
MDBGNDkzRkQgLyogVXNlckFnZW50SU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTMyMDQyMDIx
RjlBOUYxMDAwQjgxQjJBIC8qIFVzZXJBZ2VudFNjcmlwdHNEYXRhLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTdDM0I3OTcxMTkwODc1N0IwMEI0N0EyRCAvKiBVc2VyTWVzc2FnZUhhbmRsZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJN0NFNjgzNDQxOTIxNDNBODAwRjREOTI4IC8qIFVzZXJNZXNz
YWdlSGFuZGxlckRlc2NyaXB0b3IuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1FQ0RTQS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1FQ0RTQS5jcHAK
aW5kZXggOTczMTdlMDRhOTc5N2YxNTYxNmRlNGM3NjA4Yjc0NWQ5ZmRlZGVmNy4uMWI1M2M0NTNi
MzUyNTM2YjQ4MTJlZGQyYWE2NGQ5MWU5NWRmODU0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNEU0EuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUVDRFNBLmNwcApAQCAt
MzYsMTIgKzM2LDE0IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorbmFtZXNwYWNlIENyeXB0
b0FsZ29yaXRobUVDRFNBSW50ZXJuYWwgewogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzI1
NiA9ICJFUzI1NiI7CiBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHMzg0ID0gIkVTMzg0IjsK
IHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBBTEc1MTIgPSAiRVM1MTIiOwogc3RhdGljIGNvbnN0
IGNoYXIqIGNvbnN0IFAyNTYgPSAiUC0yNTYiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IFAz
ODQgPSAiUC0zODQiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IFA1MjEgPSAiUC01MjEiOwor
fQogCiBSZWY8Q3J5cHRvQWxnb3JpdGhtPiBDcnlwdG9BbGdvcml0aG1FQ0RTQTo6Y3JlYXRlKCkK
IHsKQEAgLTEwMiw2ICsxMDQsNyBAQCB2b2lkIENyeXB0b0FsZ29yaXRobUVDRFNBOjpnZW5lcmF0
ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzJiBwYXJhbWV0ZQogCiB2b2lkIENy
eXB0b0FsZ29yaXRobUVDRFNBOjppbXBvcnRLZXkoQ3J5cHRvS2V5Rm9ybWF0IGZvcm1hdCwgS2V5
RGF0YSYmIGRhdGEsIGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMmIHBhcmFtZXRlcnMs
IGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcywgS2V5Q2FsbGJh
Y2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaykKIHsK
KyAgICB1c2luZyBuYW1lc3BhY2UgQ3J5cHRvQWxnb3JpdGhtRUNEU0FJbnRlcm5hbDsKICAgICBj
b25zdCBhdXRvJiBlY1BhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1FY0tleVBh
cmFtcz4ocGFyYW1ldGVycyk7CiAKICAgICBSZWZQdHI8Q3J5cHRvS2V5RUM+IHJlc3VsdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nY3J5cHQvR0NyeXB0VXRpbGl0aWVzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ2NyeXB0L0dDcnlwdFV0aWxpdGllcy5oCmluZGV4IGYw
YTQxMzQ1NmE5NDQ1OTk1OGY5YTdmMDI1NDUzNDRiNWZiNmMzZTUuLjM2ZjQ4ZDA0ZDc4MmQ1MjM5
OWRkNzdjNGJjM2Q3ODI4ZDc5NWE5ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9nY3J5cHQvR0NyeXB0VXRpbGl0aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2dj
cnlwdC9HQ3J5cHRVdGlsaXRpZXMuaApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgPHBhbC9j
cnlwdG8vQ3J5cHRvRGlnZXN0Lmg+CiAjaW5jbHVkZSA8cGFsL2NyeXB0by9nY3J5cHQvSGFuZGxl
Lmg+CiAjaW5jbHVkZSA8cGFsL2NyeXB0by9nY3J5cHQvVXRpbGl0aWVzLmg+CisjaW5jbHVkZSA8
d3RmL09wdGlvbmFsLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aAppbmRleCBhNzFkYTNmMGVlMWE5N2ZiNjUwMDBmYzFhNTU4NzkwNGY3OTJhNjhlLi4yMjc1Nzk4
NDE4NWJmYzgyY2RmN2YzMDE3ODU1ODdiMmRlZjBhOWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApA
QCAtNjQxLDcgKzY0MSw3IEBAIHB1YmxpYzoKICAgICAKICAgICBXRUJDT1JFX0VYUE9SVCBEb2N1
bWVudExvYWRlciogbG9hZGVyKCkgY29uc3Q7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRp
b25PcjxSZWZQdHI8V2luZG93UHJveHk+PiBvcGVuRm9yQmluZGluZ3MoRE9NV2luZG93JiBhY3Rp
dmVXaW5kb3csIERPTVdpbmRvdyYgZmlyc3RXaW5kb3csIGNvbnN0IFN0cmluZyYgdXJsLCBjb25z
dCBBdG9taWNTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZmVhdHVyZXMpOworICAgIFdFQkNP
UkVfRVhQT1JUIEV4Y2VwdGlvbk9yPFJlZlB0cjxXaW5kb3dQcm94eT4+IG9wZW5Gb3JCaW5kaW5n
cyhET01XaW5kb3cmIGFjdGl2ZVdpbmRvdywgRE9NV2luZG93JiBmaXJzdERPTVdpbmRvdywgY29u
c3QgU3RyaW5nJiB1cmwsIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBm
ZWF0dXJlcyk7CiAgICAgV0VCQ09SRV9FWFBPUlQgRXhjZXB0aW9uT3I8RG9jdW1lbnQmPiBvcGVu
Rm9yQmluZGluZ3MoRG9jdW1lbnQqIHJlc3BvbnNpYmxlRG9jdW1lbnQsIGNvbnN0IFN0cmluZyYg
dHlwZSwgY29uc3QgU3RyaW5nJiByZXBsYWNlKTsKIAogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQg
cmVuYW1lIHRoaXMgYXQgc29tZSBwb2ludCBhbmQgZ2l2ZSBiYWNrIHRoZSBuYW1lICdvcGVuJyB0
byB0aGUgSFRNTCBzcGVjaWZpZWQgb25lcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MVHJlZUJ1aWxkZXIuY3BwCmluZGV4IGU0MGY5YTg4NmYxNTkwNGU2MmYwZjI2ODhhODY5
YTY5ODg5YjRhODkuLmM3MzE5MjJhZjgyOTgzYjlkYWE2YmM3ZmU1MjI3ODYzNzMxNjgzZmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcApAQCAt
MzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkhUTUxEb2N1bWVudFBhcnNlci5oIgogI2luY2x1ZGUg
IkhUTUxGb3JtQ29udHJvbEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIK
KyNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE9wdEdyb3VwRWxl
bWVudC5oIgogI2luY2x1ZGUgIkhUTUxPcHRpb25FbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFBh
cnNlcklkaW9tcy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5oCmluZGV4IDcyYjI5NzU1
ZjExZDk0MDk1ZmE3ZWRkNTMwOTY4ZjdjNTdiNTdiZWIuLjZkOWEyZGE5YmUwMzIwMDdhODJlZGE2
OGMxNmZkMmYyOGIxYzEyODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBj
YWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmgKQEAgLTI1
LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hl
UmVzb3VyY2UuaCIKICNpbmNsdWRlICJDYWNoZWRSYXdSZXNvdXJjZS5oIgogI2luY2x1ZGUgIkNh
Y2hlZFJhd1Jlc291cmNlQ2xpZW50LmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUu
aCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0FsdGVybmF0aXZlVGV4dENsaWVudC5oCmluZGV4IDkz
NTU5Mzc4OGY5ODk5YzllMjI1MTA4OGI0ZTc2ZDAwNWQzZDJmOTguLjE0M2RhNmM0N2Y0YmNlZmMw
YTQxYWE4NzY0NjdkMDQ0NzE1YmE3MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
QWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9BbHRlcm5h
dGl2ZVRleHRDbGllbnQuaApAQCAtMjksMTEgKzI5LDYgQEAKICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKLSNpZiBQTEFURk9STShNQUMp
Ci0vLyBTb21lIHBsYXRmb3JtcyBwcm92aWRlIFVJIGZvciBzdWdnZXN0aW5nIGFsdGVybmF0aXZl
IGRpY3RhdGlvbiB0ZXh0LgotI2RlZmluZSBVU0VfRElDVEFUSU9OX0FMVEVSTkFUSVZFUyAxCi0j
ZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBlbnVtIFJlYXNvbkZvckRpc21pc3NpbmdB
bHRlcm5hdGl2ZVRleHQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFz
dGVib2FyZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCmluZGV4IGQ1
NDMzZGQ5MjBhZTBlZTU5MmJkNDVmZDU2MGNkZDNlMzhhMzQ3MjEuLmUwOTgxNTY1MWJkMmQ2MDU3
NGRhNDIzNmMzODBmYWQ0ZDYwMjE1YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Bhc3RlYm9hcmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJk
LmgKQEAgLTMzOCw2ICszMzgsNyBAQCBleHRlcm4gTlNTdHJpbmcgKlVJQ29sb3JQYm9hcmRUeXBl
OwogI2lmIFBMQVRGT1JNKE1BQykKIGV4dGVybiBjb25zdCBjaGFyKiBjb25zdCBXZWJBcmNoaXZl
UGJvYXJkVHlwZTsKIGV4dGVybiBjb25zdCBjaGFyKiBjb25zdCBXZWJVUkxOYW1lUGJvYXJkVHlw
ZTsKK2V4dGVybiBjb25zdCBjaGFyKiBjb25zdCBXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGU7
CiAjZW5kaWYKIAogI2lmICFQTEFURk9STShHVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TZXNzaW9uTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1Nlc3Npb25NYWMuY3BwCmluZGV4IDc5YWI5ZjQxYmU1
Y2U2ZGU4NGM4OGUzYTY5MTgxMGQwZjQ5YTQzOTEuLmU5MTgwOTg4ZDY5Yzk2NTA4ZGMxMjFhMTcw
ZTcxMmFlYWFjY2ZlNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L21hYy9BdWRpb1Nlc3Npb25NYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL21hYy9BdWRpb1Nlc3Npb25NYWMuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAi
Tm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlIDxDb3JlQXVkaW8vQXVkaW9IYXJkd2FyZS5oPgog
I2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKaW5kZXggOTY4
YmIyMjg2YTFmN2U1ODQ2NGVmODhkNzllNjFlZjQyNDkwMTU1Zi4uM2UyYzgyYjhiMTJlZGEwOWRi
NDNmNGMxMzAxNGM1YmJhYzBiNzAzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwCkBAIC0zMCw2ICsz
MCw3IEBACiAKICNpbmNsdWRlICJEaXNwbGF5UmVmcmVzaE1vbml0b3JDbGllbnQuaCIKICNpbmNs
dWRlICJEaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5o
IgogCiAjaWYgUExBVEZPUk0oSU9TKQogI2luY2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvcklP
Uy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZh
bWlseVNwZWNpZmljYXRpb25OdWxsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHAKaW5kZXggMjE3NjkxZjcyMzk3NGU4
MDA1NzliMjhjYzA1NmE3YjljMDg1YzY0ZC4uMTVjMDM4NzY5ODI2MGY0MDVlMjJlNWJmNTI3ODAw
MzA4YzdmZTNiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udEZhbWlseVNwZWNpZmljYXRpb25OdWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuY3BwCkBAIC0yNyw2ICsy
Nyw3IEBACiAjaW5jbHVkZSAiRm9udEZhbWlseVNwZWNpZmljYXRpb25OdWxsLmgiCiAKICNpbmNs
dWRlICJGb250U2VsZWN0b3IuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmdIYXNo
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udENhaXJvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDYWlyby5jcHAKaW5kZXggMDZkOWQ3NDk0YTRiZWFh
OGUzYTljZTdhZmU2ZGFiMzViMWMyZGI3OC4uMjg2YmM2ZDhlM2MyNjUzMDQ2YzYzYjUyYjM2ZDA5
MDMxZjIwOGQ5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Fpcm8vRm9udENhaXJvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYWlyby9Gb250Q2Fpcm8uY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaWYgVVNFKENBSVJPKQog
CiAjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCisjaW5jbHVkZSAiQ2Fpcm9PcGVyYXRpb25z
LmgiCiAjaW5jbHVkZSAiQ2Fpcm9VdGlsaXRpZXMuaCIKICNpbmNsdWRlICJGb250LmgiCiAjaW5j
bHVkZSAiR2x5cGhCdWZmZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL1dlYkdMTGF5ZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJHTExheWVyLm1tCmluZGV4IDNlZDdlNDFlN2M2ODg0NmYzZmJjMTcy
Y2U2YmE5ODlmZjg3ZjU3ZWIuLjhlZTM0OGQ4OTk4NjM0MTNkNmI2NzEzNzZlNWIxZGE1NGNiMTM3
NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dl
YkdMTGF5ZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
V2ViR0xMYXllci5tbQpAQCAtNDIsMTMgKzQyLDExIEBACiAjaW1wb3J0IDxPcGVuR0wvZ2wuaD4K
ICNlbmRpZgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogQGltcGxlbWVudGF0aW9uIFdl
YkdMTGF5ZXIKIAogQHN5bnRoZXNpemUgY29udGV4dD1fY29udGV4dDsKIAotLShpZClpbml0V2l0
aEdyYXBoaWNzQ29udGV4dDNEOihHcmFwaGljc0NvbnRleHQzRCopY29udGV4dAorLShpZClpbml0
V2l0aEdyYXBoaWNzQ29udGV4dDNEOihXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRCopY29udGV4
dAogewogICAgIF9jb250ZXh0ID0gY29udGV4dDsKICAgICBzZWxmID0gW3N1cGVyIGluaXRdOwpA
QCAtODYsNyArODQsNyBAQCBzdGF0aWMgdm9pZCBmcmVlRGF0YSh2b2lkICosIGNvbnN0IHZvaWQg
KmRhdGEsIHNpemVfdCAvKiBzaXplICovKQogfQogI2VuZGlmCiAKLS0oQ0dJbWFnZVJlZiljb3B5
SW1hZ2VTbmFwc2hvdFdpdGhDb2xvclNwYWNlOihDR0NvbG9yU3BhY2VSZWYpY29sb3JTcGFjZQor
LSAoQ0dJbWFnZVJlZiljb3B5SW1hZ2VTbmFwc2hvdFdpdGhDb2xvclNwYWNlOihDR0NvbG9yU3Bh
Y2VSZWYpY29sb3JTcGFjZQogewogICAgIGlmICghX2NvbnRleHQpCiAgICAgICAgIHJldHVybiBu
dWxscHRyOwpAQCAtOTYsNyArOTQsNyBAQCAtKENHSW1hZ2VSZWYpY29weUltYWdlU25hcHNob3RX
aXRoQ29sb3JTcGFjZTooQ0dDb2xvclNwYWNlUmVmKWNvbG9yU3BhY2UKIAogICAgIFJldGFpblB0
cjxDR0NvbG9yU3BhY2VSZWY+IGltYWdlQ29sb3JTcGFjZSA9IGNvbG9yU3BhY2U7CiAgICAgaWYg
KCFpbWFnZUNvbG9yU3BhY2UpCi0gICAgICAgIGltYWdlQ29sb3JTcGFjZSA9IHNSR0JDb2xvclNw
YWNlUmVmKCk7CisgICAgICAgIGltYWdlQ29sb3JTcGFjZSA9IFdlYkNvcmU6OnNSR0JDb2xvclNw
YWNlUmVmKCk7CiAKICAgICBDR1JlY3QgbGF5ZXJCb3VuZHMgPSBDR1JlY3RJbnRlZ3JhbChbc2Vs
ZiBib3VuZHNdKTsKIApAQCAtMTQxLDE5ICsxMzksMTkgQEAgLSAodm9pZClkaXNwbGF5CiAjZW5k
aWYKIAogICAgIF9jb250ZXh0LT5tYXJrTGF5ZXJDb21wb3NpdGVkKCk7Ci0gICAgUGxhdGZvcm1D
QUxheWVyKiBsYXllciA9IFBsYXRmb3JtQ0FMYXllcjo6cGxhdGZvcm1DQUxheWVyKChfX2JyaWRn
ZSB2b2lkKilzZWxmKTsKKyAgICBXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXIqIGxheWVyID0gV2Vi
Q29yZTo6UGxhdGZvcm1DQUxheWVyOjpwbGF0Zm9ybUNBTGF5ZXIoKF9fYnJpZGdlIHZvaWQqKXNl
bGYpOwogICAgIGlmIChsYXllciAmJiBsYXllci0+b3duZXIoKSkKICAgICAgICAgbGF5ZXItPm93
bmVyKCktPnBsYXRmb3JtQ0FMYXllckxheWVyRGlkRGlzcGxheShsYXllcik7CiB9CiAKICNpZiBV
U0UoT1BFTkdMKQotLSAodm9pZClhbGxvY2F0ZUlPU3VyZmFjZUJhY2tpbmdTdG9yZVdpdGhTaXpl
OihJbnRTaXplKXNpemUgdXNpbmdBbHBoYTooQk9PTCl1c2luZ0FscGhhCistICh2b2lkKWFsbG9j
YXRlSU9TdXJmYWNlQmFja2luZ1N0b3JlV2l0aFNpemU6KFdlYkNvcmU6OkludFNpemUpc2l6ZSB1
c2luZ0FscGhhOihCT09MKXVzaW5nQWxwaGEKIHsKICAgICBfYnVmZmVyU2l6ZSA9IHNpemU7CiAg
ICAgX3VzaW5nQWxwaGEgPSB1c2luZ0FscGhhOwotICAgIF9jb250ZW50c0J1ZmZlciA9IFdlYkNv
cmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUsIHNSR0JDb2xvclNwYWNlUmVmKCkpOwotICAgIF9k
cmF3aW5nQnVmZmVyID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVhdGUoc2l6ZSwgc1JHQkNvbG9y
U3BhY2VSZWYoKSk7Ci0gICAgX3NwYXJlQnVmZmVyID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVh
dGUoc2l6ZSwgc1JHQkNvbG9yU3BhY2VSZWYoKSk7CisgICAgX2NvbnRlbnRzQnVmZmVyID0gV2Vi
Q29yZTo6SU9TdXJmYWNlOjpjcmVhdGUoc2l6ZSwgV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYo
KSk7CisgICAgX2RyYXdpbmdCdWZmZXIgPSBXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShzaXpl
LCBXZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigpKTsKKyAgICBfc3BhcmVCdWZmZXIgPSBXZWJD
b3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShzaXplLCBXZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigp
KTsKIAogICAgIEFTU0VSVChfY29udGVudHNCdWZmZXIpOwogICAgIEFTU0VSVChfZHJhd2luZ0J1
ZmZlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9XZWJHUFVMYXllci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L1dlYkdQVUxheWVyLm1tCmluZGV4IDVjMzU1N2Y4YmQ2NmE2OGM5MjNiMjNhYTY0N2JiNzE0ODQw
OWU5YTEuLjI1ZWZiOGI3NDc2ODAyNDU1OGRiY2RmMzBmNzQzMTg3MTQ2OTU1YTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVy
Lm1tCkBAIC0zNCwxMyArMzQsMTEgQEAKICNpbXBvcnQgPHd0Zi9GYXN0TWFsbG9jLmg+CiAjaW1w
b3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBAaW1w
bGVtZW50YXRpb24gV2ViR1BVTGF5ZXIKIAogQHN5bnRoZXNpemUgY29udGV4dD1fY29udGV4dDsK
IAotLSAoaWQpaW5pdFdpdGhHUFVEZXZpY2U6KEdQVURldmljZSopY29udGV4dAorLSAoaWQpaW5p
dFdpdGhHUFVEZXZpY2U6KFdlYkNvcmU6OkdQVURldmljZSopY29udGV4dAogewogICAgIHNlbGYg
PSBbc3VwZXIgaW5pdF07CiAgICAgX2NvbnRleHQgPSBjb250ZXh0OwpAQCAtNTAsNyArNDgsNyBA
QCAtIChpZClpbml0V2l0aEdQVURldmljZTooR1BVRGV2aWNlKiljb250ZXh0CiAKICNpZiBQTEFU
Rk9STShNQUMpCiAgICAgc2VsZi5jb250ZW50c1NjYWxlID0gX2RldmljZVBpeGVsUmF0aW87Ci0g
ICAgc2VsZi5jb2xvcnNwYWNlID0gc1JHQkNvbG9yU3BhY2VSZWYoKTsKKyAgICBzZWxmLmNvbG9y
c3BhY2UgPSBXZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigpOwogI2VuZGlmCiAgICAgcmV0dXJu
IHNlbGY7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
ZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tCmluZGV4IDgyMGFmOGJjMTZkYjNi
NDg2NWU3OWI3YjgyNGRiMmM3YjRkZjNlY2MuLjMwM2IyNWRhM2Q0YTY0ZWQxYjAwMzBiNzJiOWZk
YmM2Zjk2NWMzM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tCkBAIC0zMSw2ICszMSw3
IEBACiAjaW1wb3J0ICJHUFVEZXZpY2UuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQg
PE1ldGFsL01ldGFsLmg+CisjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
UGFzdGVib2FyZE1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJk
TWFjLm1tCmluZGV4IGNiNTA0Y2Y1NDNlYjdlODBkNzY2NWNkMWU1N2UzMDg5YWZmYjFhNzAuLmZk
NmU5Mjk4Nzc0ZmFmNGZlODczNWJmMjc1NjVhZGM5NTMyYmY2MzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCkBAIC01MiwxMCArNTIsMTAgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjb25zdCBjaGFyKiBjb25zdCBXZWJBcmNoaXZlUGJvYXJkVHlw
ZSA9ICJBcHBsZSBXZWIgQXJjaGl2ZSBwYXN0ZWJvYXJkIHR5cGUiOwogY29uc3QgY2hhciogY29u
c3QgV2ViVVJMTmFtZVBib2FyZFR5cGUgPSAicHVibGljLnVybC1uYW1lIjsKK2NvbnN0IGNoYXIq
IGNvbnN0IFdlYlVSTHNXaXRoVGl0bGVzUGJvYXJkVHlwZSA9ICJXZWJVUkxzV2l0aFRpdGxlc1Bi
b2FyZFR5cGUiOwogCiBjb25zdCBjaGFyIFdlYlNtYXJ0UGFzdGVQYm9hcmRUeXBlW10gPSAiTmVY
VCBzbWFydCBwYXN0ZSBwYXN0ZWJvYXJkIHR5cGUiOwogY29uc3QgY2hhciBXZWJVUkxQYm9hcmRU
eXBlW10gPSAicHVibGljLnVybCI7Ci1jb25zdCBjaGFyIFdlYlVSTHNXaXRoVGl0bGVzUGJvYXJk
VHlwZVtdID0gIldlYlVSTHNXaXRoVGl0bGVzUGJvYXJkVHlwZSI7CiAKIHN0YXRpYyBjb25zdCBW
ZWN0b3I8U3RyaW5nPiB3cml0YWJsZVR5cGVzRm9yVVJMKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJD
b2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxh
eUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwCmluZGV4IDVjMmE5ZDI0MTk4YTEzZTQ4YzRmNzNlOWRl
NjFkZDM3YWRlOTI1NTEuLmY0OTJlNjE0MmYwMjMxYjk5N2U5NmJhNTkyNzk1ODg1NjgwOTMzYWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNw
bGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29hLmNwcApAQCAtMjgsNiAr
MjgsNyBAQAogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAorI2luY2x1ZGUgIkNvcmVWaWRl
b1NvZnRMaW5rLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgPHd0Zi9BbGdvcml0
aG1zLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAppbmRl
eCAyNTQwOTY1NmMzZDYzMjAzNjE2NWZhYjFkZDc0OWU4OGZjYTY4NDgyLi5mZjU4MzYxNzRlYWI5
NTk1MjhhMjA3YmZiYWFiNjAwMzlkOWI1MDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKQEAgLTI5LDYgKzI5
LDcgQEAKICNpbmNsdWRlICJIVFRQSGVhZGVyTmFtZXMuaCIKICNpbmNsdWRlICJQdWJsaWNTdWZm
aXguaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJl
c3BvbnNlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlIDx3dGYvUG9p
bnRlckNvbXBhcmlzb24uaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jZi9Gb3JtRGF0YVN0cmVhbUNGTmV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5ldC5jcHAKaW5kZXggMjkwMjVkMzhhN2Zk
MzZmZjliOTk2MjM5MWYwODA4NzAyMWZmMTMwZS4uZTUzMjFjMjdkNGQ5NjhjNjZlNGNkNGM2Nzc5
NjNmNWE3ZDZjYWRmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jZi9Gb3JtRGF0YVN0cmVhbUNGTmV0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2NmL0Zvcm1EYXRhU3RyZWFtQ0ZOZXQuY3BwCkBAIC00MiwxMSArNDIsNyBAQAog
I2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+
CiAKLSNpZiBQTEFURk9STShJT1MpICYmICFQTEFURk9STShJT1NNQUMpCi1zdGF0aWMgY29uc3Qg
U0ludDMyIGZuZkVyciA9IC00MzsKLSNlbGlmIFBMQVRGT1JNKE1BQykKLSNpbmNsdWRlIDxDb3Jl
U2VydmljZXMvQ29yZVNlcnZpY2VzLmg+Ci0jZW5kaWYKK3N0YXRpYyBjb25zdCBTSW50MzIgZmls
ZU5vdEZvdW5kRXJyb3IgPSAtNDM7CiAKICNpZiBQTEFURk9STShDT0NPQSkKIGV4dGVybiAiQyIg
dm9pZCBDRlVSTFJlcXVlc3RTZXRIVFRQUmVxdWVzdEJvZHkoQ0ZNdXRhYmxlVVJMUmVxdWVzdFJl
ZiBtdXRhYmxlSFRUUFJlcXVlc3QsIENGRGF0YVJlZiBodHRwQm9keSk7CkBAIC0yNDEsNyArMjM3
LDcgQEAgc3RhdGljIEJvb2xlYW4gZm9ybU9wZW4oQ0ZSZWFkU3RyZWFtUmVmLCBDRlN0cmVhbUVy
cm9yKiBlcnJvciwgQm9vbGVhbiogb3BlbkNvbXAKICNpZiBQTEFURk9STShXSU4pCiAgICAgICAg
IEVOT0VOVDsKICNlbHNlCi0gICAgICAgIGZuZkVycjsKKyAgICAgICAgZmlsZU5vdEZvdW5kRXJy
b3I7CiAjZW5kaWYKICAgICByZXR1cm4gb3BlbmVkOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvVGV4dENvZGVjVVRGOC5jcHAKaW5kZXggYjMxOGU2MjJiY2JlMTE4MDE5YTQx
Njg1NjMzMzU1NmYxMDcyZDc5ZS4uMjFmMDM4YmM2ZDQ1YjQ2OGRlMmFlZjc0Njc5ODViNGQwMjVk
Yzc5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNV
VEY4LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjgu
Y3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiVGV4dENvZGVjQVNDSUlGYXN0UGF0aC5o
IgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJp
bmdCdWZmZXIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KICNpbmNsdWRlIDx3
dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVVRGOC5oCmluZGV4IGY4MjgyYjVm
MzRhODk0NzNkZTlhZDdhMjE3NjVhZjZhMzJhY2Y5NWMuLjg0ZjcxNDdlNmRjMzRmMmU3NTE1NjEy
MTAxOWJhZjE0MGU1YmMxZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvVGV4dENvZGVjVVRGOC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4
dENvZGVjVVRGOC5oCkBAIC0yNiw2ICsyNiw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUg
IlRleHRDb2RlYy5oIgorI2luY2x1ZGUgPHVuaWNvZGUvdXRmOC5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L0xDaGFyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9j
a0Zsb3cuY3BwCmluZGV4IDNiYzgyYzZlMWFiZDJmYWM0M2IwOTljOGU2ZTNjY2YzNjZkZDg1M2Iu
LjJjMmI1MDhmYWM1YzZmYzg0NjI4NWM5ZmZhODk1YTdiNDAyMmI4ZWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxv
dy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVC
dWlsZGVyQmxvY2tGbG93LmNwcApAQCAtMjcsNiArMjcsOCBAQAogI2luY2x1ZGUgIlJlbmRlclRy
ZWVCdWlsZGVyQmxvY2tGbG93LmgiCiAKICNpbmNsdWRlICJSZW5kZXJNdWx0aUNvbHVtbkZsb3cu
aCIKKyNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlckJsb2NrLmgiCisjaW5jbHVkZSAiUmVuZGVy
VHJlZUJ1aWxkZXJNdWx0aUNvbHVtbi5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRl
cklubGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJl
ZUJ1aWxkZXJJbmxpbmUuY3BwCmluZGV4IDdjZDA3MTVkZjUyNGE3NmZkMjA2YTIzNDI4ZDlkYWM3
ZDdkODUzZjguLmRjOTUzY2NkY2VlODMwMWRmZDA1OTdhNjFkMDUyZTNjNTBiOWY2MWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRl
cklubGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRl
clRyZWVCdWlsZGVySW5saW5lLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIlJlbmRl
ckZ1bGxTY3JlZW4uaCIKICNpbmNsdWRlICJSZW5kZXJJbmxpbmUuaCIKICNpbmNsdWRlICJSZW5k
ZXJUYWJsZS5oIgorI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyVGFibGUuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBk
YXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJSdWJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlclJ1YnkuY3BwCmluZGV4IDdhYzE5YmFjNWJiYzhk
ZDljYzYyNGJhYTQxZDljODljNzFkMTFhODguLjYzM2Q3OGNiYjZjODcyMDdiYzZmNmY4YzRlOTI3
YzdiYmFjY2M4Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGlu
Zy9SZW5kZXJUcmVlQnVpbGRlclJ1YnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlclJ1YnkuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJSdWJ5LmgiCiAK
KyNpbmNsdWRlICJFbGVtZW50QW5jZXN0b3JJdGVyYXRvci5oIgogI2luY2x1ZGUgIlJlbmRlclJ1
YnkuaCIKICNpbmNsdWRlICJSZW5kZXJSdWJ5QmFzZS5oIgogI2luY2x1ZGUgIlJlbmRlclJ1YnlS
dW4uaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5k
ZXJUcmVlVXBkYXRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVu
ZGVyVHJlZVVwZGF0ZXIuY3BwCmluZGV4IDdkNzZhZjk0Mjc0NjE3NWViOWEyYzU5ZTcxYTk3MTI0
ZmZjMGRhMjQuLjY1MjI2YTA1NTFlNWYxZWU0YTgzNDhiZWNkOTM1ZTNiYjQwMGEwNzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVV
cGRhdGVyLmNwcApAQCAtNDEsNiArNDEsOCBAQAogI2luY2x1ZGUgIlJlbmRlckRlc2NlbmRhbnRJ
dGVyYXRvci5oIgogI2luY2x1ZGUgIlJlbmRlckZ1bGxTY3JlZW4uaCIKICNpbmNsdWRlICJSZW5k
ZXJJbmxpbmUuaCIKKyNpbmNsdWRlICJSZW5kZXJNdWx0aUNvbHVtbkZsb3cuaCIKKyNpbmNsdWRl
ICJSZW5kZXJNdWx0aUNvbHVtblNldC5oIgogI2luY2x1ZGUgIlJlbmRlclRyZWVVcGRhdGVyR2Vu
ZXJhdGVkQ29udGVudC5oIgogI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKICNp
bmNsdWRlICJTdHlsZVJlc29sdmVyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9BUElXZWJBcmNoaXZlLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZS5t
bQppbmRleCBiMTc0MmZkZmRkMzg2OWVhZGQzZDdjNWFlZTcwNWU2NjFmOTdlZWRjLi5iOGM5NzJm
N2VjMThlYjdkNGM5YTcxZGUyYjRlMWUyYzY1ZGU4NzY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQ
SVdlYkFyY2hpdmUubW0KQEAgLTM0LDkgKzM0LDggQEAKICNpbmNsdWRlIDxXZWJDb3JlL0xlZ2Fj
eVdlYkFyY2hpdmUuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKLXVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwotCiBuYW1lc3BhY2UgQVBJIHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwogCiBSZWY8V2ViQXJjaGl2ZT4gV2ViQXJjaGl2ZTo6Y3JlYXRlKFdlYkFyY2hpdmVSZXNvdXJj
ZSogbWFpblJlc291cmNlLCBSZWZQdHI8QVBJOjpBcnJheT4mJiBzdWJyZXNvdXJjZXMsIFJlZlB0
cjxBUEk6OkFycmF5PiYmIHN1YmZyYW1lQXJjaGl2ZXMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW0gYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW0KaW5kZXggY2FlNWI4NWRmMTc3ZGRkZTY4ZDg1
MmU1ZTUwNmQ4ZDkyYmUyZWE5NC4uZGMwZjkwZjBmMzg1MWFiZjEwMDQ4NGJhNTczYWU0YWY4ZTgw
YjIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZVJlc291
cmNlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmVSZXNvdXJjZS5t
bQpAQCAtMzMsOSArMzMsOCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvVVJMLmg+CiAjaW5jbHVkZSA8
d3RmL1JldGFpblB0ci5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogbmFtZXNwYWNl
IEFQSSB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogUmVmPFdlYkFyY2hpdmVSZXNvdXJj
ZT4gV2ViQXJjaGl2ZVJlc291cmNlOjpjcmVhdGUoQVBJOjpEYXRhKiBkYXRhLCBjb25zdCBTdHJp
bmcmIFVSTCwgY29uc3QgU3RyaW5nJiBNSU1FVHlwZSwgY29uc3QgU3RyaW5nJiB0ZXh0RW5jb2Rp
bmcpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBl
L21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Bs
dWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tCmluZGV4IDY4ZDdj
NmFkZjM2Mjc1MTMxMjk2MzU2Mjg2ZjExZTg0OWMxNGMyYzAuLmMwY2NhYzU5ODUzY2ZhZmZkOWZm
MWQxZTNkNjhiNjdkNjQ1N2Y3YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Bs
dWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxl
TWFjLm1tCkBAIC0zNCw5ICszNCw4IEBACiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgogI2lt
cG9ydCA8d3RmL3NwaS9jZi9DRkJ1bmRsZVNQSS5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKLQogbmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogc3Rh
dGljIGJvb2wgZ2V0UGx1Z2luQXJjaGl0ZWN0dXJlKENGQnVuZGxlUmVmIGJ1bmRsZSwgUGx1Z2lu
TW9kdWxlSW5mbyYgcGx1Z2luKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
UGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW0gYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9QbHVnaW5JbmZvcm1hdGlvbk1hYy5tbQpp
bmRleCA1ZWM4NDI0OTU5Y2JjMTkyODg2ZmE3NWFiZjAzZjNkODg1YmNiMWQ5Li4zMjU4NGQ0MTZi
ZTBmZjI1ZTllOTFkZGY0Mjg3MGUzMzk0ZjQ5MzY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9QbHVnaW5JbmZvcm1hdGlvbk1hYy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9QbHVnaW5JbmZvcm1h
dGlvbk1hYy5tbQpAQCAtMzQsOSArMzQsOCBAQAogI2ltcG9ydCAiU3RyaW5nVXRpbGl0aWVzLmgi
CiAjaW1wb3J0IDxXZWJDb3JlL1BsdWdpbkJsYWNrbGlzdC5oPgogCi11c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKLQogbmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
IAogdm9pZCBnZXRQbGF0Zm9ybVBsdWdpbk1vZHVsZUluZm9ybWF0aW9uKGNvbnN0IFBsdWdpbk1v
ZHVsZUluZm8mIHBsdWdpbiwgQVBJOjpEaWN0aW9uYXJ5OjpNYXBUeXBlJiBtYXApCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXNDb2NvYS50eHQKaW5kZXggZDhhM2M5MGRmZmUzMjIzMjJkNzYzZWUyMWU3Y2JhNDUwZmU4
NWZjZi4uNGI4ZDQ4MDZiNDRmMjIwNDY1ODU3N2ViN2E5Njc4Y2I4ZTM0NzliZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291
cmNlc0NvY29hLnR4dApAQCAtMjk4LDkgKzI5OCw5IEBAIFVJUHJvY2Vzcy9BUEkvbWFjL1dLVmll
dy5tbSBAbm8tdW5pZnkKIAogVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29y
ZGluYXRvclByb3h5Q29jb2EubW0KIAotVUlQcm9jZXNzL0FwcGxlUGF5L2lvcy9XZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eUlPUy5tbQorVUlQcm9jZXNzL0FwcGxlUGF5L2lvcy9XZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eUlPUy5tbSBAbm8tdW5pZnkKIAotVUlQcm9jZXNzL0FwcGxlUGF5L21h
Yy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbQorVUlQcm9jZXNzL0FwcGxlUGF5L21h
Yy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbSBAbm8tdW5pZnkKIAogVUlQcm9jZXNz
L0F1dGhlbnRpY2F0aW9uL2NvY29hL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHlDb2NvYS5t
bQogVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL2NvY29hL1NlY0tleVByb3h5U3RvcmUubW0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElBdXRvbWF0aW9uU2Vzc2lv
bkNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNz
aW9uQ2xpZW50LmgKaW5kZXggYmZjNWVlMzM4MjIwZDkxNTZmY2NmMDBjMWU3NmQwYmJlZTkwNDE5
MC4uMzc5Yzg4NTdiZTk0YjYxOTU1NWVkZmZlYzRjM2E5YTZlMTc3OTQ4NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xp
ZW50LmgKQEAgLTUxLDcgKzUxLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB+QXV0b21hdGlv
blNlc3Npb25DbGllbnQoKSB7IH0KIAotICAgIHZpcnR1YWwgU3RyaW5nIHNlc3Npb25JZGVudGlm
aWVyKCkgY29uc3QgeyByZXR1cm4gU3RyaW5nKCk7IH0KKyAgICB2aXJ0dWFsIFdURjo6U3RyaW5n
IHNlc3Npb25JZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gV1RGOjpTdHJpbmcoKTsgfQogICAg
IHZpcnR1YWwgdm9pZCBkaWREaXNjb25uZWN0RnJvbVJlbW90ZShXZWJLaXQ6OldlYkF1dG9tYXRp
b25TZXNzaW9uJikgeyB9CiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3ROZXdQYWdlV2l0aE9wdGlv
bnMoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIEF1dG9tYXRpb25TZXNzaW9uQnJvd3Np
bmdDb250ZXh0T3B0aW9ucywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJLaXQ6OldlYlBhZ2VQ
cm94eSopPiYmIGNvbXBsZXRpb25IYW5kbGVyKSB7IGNvbXBsZXRpb25IYW5kbGVyKG51bGxwdHIp
OyB9CiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RNYXhpbWl6ZVdpbmRvd09mUGFnZShXZWJLaXQ6
OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIo
KTsgfQpAQCAtNjEsOCArNjEsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzU2hvd2lu
Z0phdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdl
YktpdDo6V2ViUGFnZVByb3h5JikgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQg
ZGlzbWlzc0N1cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlv
blNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBh
Y2NlcHRDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25T
ZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IH0KLSAgICB2aXJ0dWFsIFN0cmluZyBt
ZXNzYWdlT2ZDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRp
b25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IHJldHVybiBTdHJpbmcoKTsgfQot
ICAgIHZpcnR1YWwgdm9pZCBzZXRVc2VySW5wdXRGb3JDdXJyZW50SmF2YVNjcmlwdFByb21wdE9u
UGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkm
LCBjb25zdCBTdHJpbmcmKSB7IH0KKyAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIG1lc3NhZ2VPZkN1
cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24m
LCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgcmV0dXJuIFdURjo6U3RyaW5nKCk7IH0KKyAgICB2
aXJ0dWFsIHZvaWQgc2V0VXNlcklucHV0Rm9yQ3VycmVudEphdmFTY3JpcHRQcm9tcHRPblBhZ2Uo
V2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JiwgY29u
c3QgV1RGOjpTdHJpbmcmKSB7IH0KICAgICB2aXJ0dWFsIHN0ZDo6b3B0aW9uYWw8SmF2YVNjcmlw
dERpYWxvZ1R5cGU+IHR5cGVPZkN1cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6
V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tCmlu
ZGV4IDExYmEzNzI2NTQ4M2ZmZTdmZjI0NjUwOTQwZDhmMzNhNTJjMGMwNGEuLjE5YTU5YjQyY2Fi
N2I1NDdlZDk0NDYwZTcyZmMwMzk2Y2ZlNzkyODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFn
ZXJDbGllbnQubW0KQEAgLTMyLDIzICszMiwyMCBAQAogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJj
ZVJlcXVlc3QuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgogCi11c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KIEBpbnRlcmZh
Y2UgV0tDdXN0b21Qcm90b2NvbExvYWRlciA6IE5TT2JqZWN0IDxOU1VSTENvbm5lY3Rpb25EZWxl
Z2F0ZT4gewogQHByaXZhdGUKLSAgICBMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSog
X2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OworICAgIFdlYktpdDo6TGVnYWN5Q3VzdG9tUHJv
dG9jb2xNYW5hZ2VyUHJveHkqIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTsKICAgICB1aW50
NjRfdCBfY3VzdG9tUHJvdG9jb2xJRDsKICAgICBOU1VSTENhY2hlU3RvcmFnZVBvbGljeSBfc3Rv
cmFnZVBvbGljeTsKICAgICBOU1VSTENvbm5lY3Rpb24gKl91cmxDb25uZWN0aW9uOwogfQotLSAo
aWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTooTGVnYWN5Q3VzdG9t
UHJvdG9jb2xNYW5hZ2VyUHJveHkqKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5IGN1c3RvbVBy
b3RvY29sSUQ6KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVzdDooTlNVUkxSZXF1ZXN0
ICopcmVxdWVzdDsKKy0gKGlkKWluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJv
eHk6KFdlYktpdDo6TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqKWN1c3RvbVByb3Rv
Y29sTWFuYWdlclByb3h5IGN1c3RvbVByb3RvY29sSUQ6KHVpbnQ2NF90KWN1c3RvbVByb3RvY29s
SUQgcmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdDsKIC0gKHZvaWQpY3VzdG9tUHJvdG9j
b2xNYW5hZ2VyUHJveHlEZXN0cm95ZWQ7CiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXS0N1c3Rv
bVByb3RvY29sTG9hZGVyCiAKLS0gKGlkKWluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5h
Z2VyUHJveHk6KExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiljdXN0b21Qcm90b2Nv
bE1hbmFnZXJQcm94eSBjdXN0b21Qcm90b2NvbElEOih1aW50NjRfdCljdXN0b21Qcm90b2NvbElE
IHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QKKy0gKGlkKWluaXRXaXRoTGVnYWN5Q3Vz
dG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6KFdlYktpdDo6TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5h
Z2VyUHJveHkqKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5IGN1c3RvbVByb3RvY29sSUQ6KHVp
bnQ2NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdAog
ewogICAgIHNlbGYgPSBbc3VwZXIgaW5pdF07CiAgICAgaWYgKCFzZWxmKQpAQCAtODUsNyArODIs
NyBAQCAtICh2b2lkKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5RGVzdHJveWVkCiAKIC0gKHZv
aWQpY29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiBkaWRGYWlsV2l0aEVy
cm9yOihOU0Vycm9yICopZXJyb3IKIHsKLSAgICBSZXNvdXJjZUVycm9yIGNvcmVFcnJvcihlcnJv
cik7CisgICAgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBjb3JlRXJyb3IoZXJyb3IpOwogICAgIF9j
dXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS0+ZGlkRmFpbFdpdGhFcnJvcihfY3VzdG9tUHJvdG9j
b2xJRCwgY29yZUVycm9yKTsKICAgICBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHktPnN0b3BM
b2FkaW5nKF9jdXN0b21Qcm90b2NvbElEKTsKIH0KQEAgLTk5LDcgKzk2LDcgQEAgLSAoTlNDYWNo
ZWRVUkxSZXNwb25zZSAqKWNvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24g
d2lsbENhY2hlUmVzcG8KIAogLSAodm9pZCljb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKilj
b25uZWN0aW9uIGRpZFJlY2VpdmVSZXNwb25zZTooTlNVUkxSZXNwb25zZSAqKXJlc3BvbnNlCiB7
Ci0gICAgUmVzb3VyY2VSZXNwb25zZSBjb3JlUmVzcG9uc2UocmVzcG9uc2UpOworICAgIFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2UgY29yZVJlc3BvbnNlKHJlc3BvbnNlKTsKICAgICBfY3VzdG9t
UHJvdG9jb2xNYW5hZ2VyUHJveHktPmRpZFJlY2VpdmVSZXNwb25zZShfY3VzdG9tUHJvdG9jb2xJ
RCwgY29yZVJlc3BvbnNlLCBfc3RvcmFnZVBvbGljeSk7CiB9CiAKQEAgLTEyNyw2ICsxMjQsNyBA
QCAtICh2b2lkKWNvbm5lY3Rpb25EaWRGaW5pc2hMb2FkaW5nOihOU1VSTENvbm5lY3Rpb24gKilj
b25uZWN0aW9uCiBAZW5kCiAKIG5hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CiAKIHZvaWQgTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50OjpzdGFydExv
YWRpbmcoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkmIG1hbmFnZXIsIHVpbnQ2NF90
IGN1c3RvbVByb3RvY29sSUQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgY29yZVJlcXVlc3QpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nl
c3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nl
c3NQcm94eS5jcHAKaW5kZXggYzJiOTFhNjM5NzNlNjMxMjBhYWU1MjhmODk3NTM4NWY3YjZkYmY2
Mi4uZWRlZDljN2QyYTRlNThlM2QwNThkODMyNjgzMTA5ODE4MmFmNDQ3NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNw
cApAQCAtNDgsNyArNDgsNyBAQCBzdGF0aWMgY29uc3QgU2Vjb25kcyBzbmFwc2hvdHRpbmdNaW5p
bXVtTGlmZXRpbWUgeyAzMF9zIH07CiBzdGF0aWMgY29uc3QgU2Vjb25kcyBzaHV0ZG93blRpbWVv
dXQgeyAxX21pbiB9Owogc3RhdGljIGNvbnN0IFNlY29uZHMgc25hcHNob3R0aW5nU2h1dGRvd25U
aW1lb3V0IHsgMTVfcyB9OwogCi1zdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVDYWxsYmFja0lEKCkK
K3N0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZVBsdWdpblByb2Nlc3NDYWxsYmFja0lEKCkKIHsKICAg
ICBzdGF0aWMgdWludDY0X3QgY2FsbGJhY2tJRDsKIApAQCAtMTE0LDcgKzExNCw3IEBAIHZvaWQg
UGx1Z2luUHJvY2Vzc1Byb3h5OjpnZXRQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbihNZXNzYWdlczo6
V2ViUHJvY2Vzc1Byb3h5OjpHCiAKIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNp
dGVEYXRhKENvbXBsZXRpb25IYW5kbGVyPHZvaWQgKFZlY3RvcjxTdHJpbmc+KT4mJiBjb21wbGV0
aW9uSGFuZGxlcikKIHsKLSAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFj
a0lEKCk7CisgICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlUGx1Z2luUHJvY2Vzc0Nh
bGxiYWNrSUQoKTsKICAgICBtX3BlbmRpbmdGZXRjaFdlYnNpdGVEYXRhQ2FsbGJhY2tzLnNldChj
YWxsYmFja0lELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAKICAgICBpZiAoc3RhdGUo
KSA9PSBTdGF0ZTo6TGF1bmNoaW5nKSB7CkBAIC0xMjcsNyArMTI3LDcgQEAgdm9pZCBQbHVnaW5Q
cm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAoVmVj
dG9yPFN0cmluZz4KIAogdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRh
KFdhbGxUaW1lIG1vZGlmaWVkU2luY2UsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQgKCk+JiYgY29t
cGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2Fs
bGJhY2tJRCgpOworICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVBsdWdpblByb2Nl
c3NDYWxsYmFja0lEKCk7CiAgICAgbV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFDYWxsYmFja3Mu
c2V0KGNhbGxiYWNrSUQsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIGlmIChz
dGF0ZSgpID09IFN0YXRlOjpMYXVuY2hpbmcpIHsKQEAgLTE0MCw3ICsxNDAsNyBAQCB2b2lkIFBs
dWdpblByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEoV2FsbFRpbWUgbW9kaWZpZWRTaW5j
ZSwgQ29tcGxldGlvbkhhbgogCiB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0
ZURhdGFGb3JIb3N0TmFtZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGhvc3ROYW1lcywgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICB1aW50NjRf
dCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7CisgICAgdWludDY0X3QgY2FsbGJh
Y2tJRCA9IGdlbmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQoKTsKICAgICBtX3BlbmRpbmdE
ZWxldGVXZWJzaXRlRGF0YUZvckhvc3ROYW1lc0NhbGxiYWNrcy5zZXQoY2FsbGJhY2tJRCwgV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAgaWYgKHN0YXRlKCkgPT0gU3RhdGU6Okxh
dW5jaGluZykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5
ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tCmluZGV4IDRhMmUyOWI1NjA5NjFhNTliMWNiNTUxOTc4
MzkxNDljMzEwNjg0YzIuLjcyYTg4MmYwNTgxZDVlYWM5MWZjMTRiYzA1YTAyZjE0NGYxNmMxMWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3Mv
U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdO
b2RlRGVsZWdhdGVJT1MubW0KQEAgLTQzLDggKzQzLDYgQEAKICNpbXBvcnQgPFdlYkNvcmUvU2Ny
b2xsU25hcE9mZnNldHNJbmZvLmg+CiAjZW5kaWYKIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
Ci0KIEBpbXBsZW1lbnRhdGlvbiBXS1Njcm9sbGluZ05vZGVTY3JvbGxWaWV3RGVsZWdhdGUKIAog
LSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoU2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZTooV2ViS2l0
OjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TKilkZWxlZ2F0ZQpAQCAtODAs
NyArNzgsNyBAQCAtICh2b2lkKXNjcm9sbFZpZXdXaWxsRW5kRHJhZ2dpbmc6KFVJU2Nyb2xsVmll
dyAqKXNjcm9sbFZpZXcgd2l0aFZlbG9jaXR5OihDR1BvaQogCiAgICAgaWYgKCFfc2Nyb2xsaW5n
VHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0cygp
LmlzRW1wdHkoKSkgewogICAgICAgICB1bnNpZ25lZCBpbmRleDsKLSAgICAgICAgZmxvYXQgcG90
ZW50aWFsU25hcFBvc2l0aW9uID0gY2xvc2VzdFNuYXBPZmZzZXQoX3Njcm9sbGluZ1RyZWVOb2Rl
RGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNldHMoKSwgX3Njcm9s
bGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNl
dFJhbmdlcygpLCBob3Jpem9udGFsVGFyZ2V0LCB2ZWxvY2l0eS54LCBpbmRleCk7CisgICAgICAg
IGZsb2F0IHBvdGVudGlhbFNuYXBQb3NpdGlvbiA9IFdlYkNvcmU6OmNsb3Nlc3RTbmFwT2Zmc2V0
KF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuaG9yaXpvbnRhbFNu
YXBPZmZzZXRzKCksIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCku
aG9yaXpvbnRhbFNuYXBPZmZzZXRSYW5nZXMoKSwgaG9yaXpvbnRhbFRhcmdldCwgdmVsb2NpdHku
eCwgaW5kZXgpOwogICAgICAgICBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5n
Tm9kZSgpLnNldEN1cnJlbnRIb3Jpem9udGFsU25hcFBvaW50SW5kZXgoaW5kZXgpOwogICAgICAg
ICBpZiAoaG9yaXpvbnRhbFRhcmdldCA+PSAwICYmIGhvcml6b250YWxUYXJnZXQgPD0gc2Nyb2xs
Vmlldy5jb250ZW50U2l6ZS53aWR0aCkKICAgICAgICAgICAgIHRhcmdldENvbnRlbnRPZmZzZXQt
PnggPSBwb3RlbnRpYWxTbmFwUG9zaXRpb247CkBAIC04OCw3ICs4Niw3IEBAIC0gKHZvaWQpc2Ny
b2xsVmlld1dpbGxFbmREcmFnZ2luZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldyB3aXRoVmVs
b2NpdHk6KENHUG9pCiAKICAgICBpZiAoIV9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3Jv
bGxpbmdOb2RlKCkudmVydGljYWxTbmFwT2Zmc2V0cygpLmlzRW1wdHkoKSkgewogICAgICAgICB1
bnNpZ25lZCBpbmRleDsKLSAgICAgICAgZmxvYXQgcG90ZW50aWFsU25hcFBvc2l0aW9uID0gY2xv
c2VzdFNuYXBPZmZzZXQoX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUo
KS52ZXJ0aWNhbFNuYXBPZmZzZXRzKCksIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3Jv
bGxpbmdOb2RlKCkudmVydGljYWxTbmFwT2Zmc2V0UmFuZ2VzKCksIHZlcnRpY2FsVGFyZ2V0LCB2
ZWxvY2l0eS55LCBpbmRleCk7CisgICAgICAgIGZsb2F0IHBvdGVudGlhbFNuYXBQb3NpdGlvbiA9
IFdlYkNvcmU6OmNsb3Nlc3RTbmFwT2Zmc2V0KF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5z
Y3JvbGxpbmdOb2RlKCkudmVydGljYWxTbmFwT2Zmc2V0cygpLCBfc2Nyb2xsaW5nVHJlZU5vZGVE
ZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2FsU25hcE9mZnNldFJhbmdlcygpLCB2ZXJ0
aWNhbFRhcmdldCwgdmVsb2NpdHkueSwgaW5kZXgpOwogICAgICAgICBfc2Nyb2xsaW5nVHJlZU5v
ZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnNldEN1cnJlbnRWZXJ0aWNhbFNuYXBQb2ludElu
ZGV4KGluZGV4KTsKICAgICAgICAgaWYgKHZlcnRpY2FsVGFyZ2V0ID49IDAgJiYgdmVydGljYWxU
YXJnZXQgPD0gc2Nyb2xsVmlldy5jb250ZW50U2l6ZS5oZWlnaHQpCiAgICAgICAgICAgICB0YXJn
ZXRDb250ZW50T2Zmc2V0LT55ID0gcG90ZW50aWFsU25hcFBvc2l0aW9uOwpAQCAtMTIyLDYgKzEy
MCw3IEBAIC0gKHZvaWQpc2Nyb2xsVmlld0RpZEVuZERlY2VsZXJhdGluZzooVUlTY3JvbGxWaWV3
ICopc2Nyb2xsVmlldwogQGVuZAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwogCiBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TOjpTY3Jv
bGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TKFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdO
b2RlJiBzY3JvbGxpbmdOb2RlKQogICAgIDogU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxl
Z2F0ZShzY3JvbGxpbmdOb2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
U3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94eS5jcHAKaW5kZXggZWZhOGQxM2NiYmQ1ZmZhODA4
YjVmMGVkYmY0YTUxZGM5ZGY4NTdlNy4uM2ExMzFiNGQ2MGQ4YWEwN2U4N2ZiNWU0YzYxNGYzMGE3
ZDQyYjU3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9TdG9y
YWdlUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdl
L1N0b3JhZ2VQcm9jZXNzUHJveHkuY3BwCkBAIC0zNyw3ICszNyw3IEBACiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1zdGF0aWMgdWludDY0X3QgZ2VuZXJh
dGVDYWxsYmFja0lEKCkKK3N0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2Fs
bGJhY2tJRCgpCiB7CiAgICAgc3RhdGljIHVpbnQ2NF90IGNhbGxiYWNrSUQ7CiAKQEAgLTEwNSw3
ICsxMDUsNyBAQCB2b2lkIFN0b3JhZ2VQcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEoUEFM
OjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8VwogewogICAgIEFTU0VSVChjYW5TZW5k
TWVzc2FnZSgpKTsKIAotICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNr
SUQoKTsKKyAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0Nh
bGxiYWNrSUQoKTsKICAgICBtX3BlbmRpbmdGZXRjaFdlYnNpdGVEYXRhQ2FsbGJhY2tzLmFkZChj
YWxsYmFja0lELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAKICAgICBzZW5kKE1lc3Nh
Z2VzOjpTdG9yYWdlUHJvY2Vzczo6RmV0Y2hXZWJzaXRlRGF0YShzZXNzaW9uSUQsIGRhdGFUeXBl
cywgY2FsbGJhY2tJRCksIDApOwpAQCAtMTEzLDcgKzExMyw3IEBAIHZvaWQgU3RvcmFnZVByb2Nl
c3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlv
blNldDxXCiAKIHZvaWQgU3RvcmFnZVByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEoUEFM
OjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiBkYXRhVHlw
ZXMsIFdhbGxUaW1lIG1vZGlmaWVkU2luY2UsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQgKCk+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgYXV0byBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxs
YmFja0lEKCk7CisgICAgYXV0byBjYWxsYmFja0lEID0gZ2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0Nh
bGxiYWNrSUQoKTsKIAogICAgIG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRhQ2FsbGJhY2tzLmFk
ZChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAgICAgc2VuZChNZXNz
YWdlczo6U3RvcmFnZVByb2Nlc3M6OkRlbGV0ZVdlYnNpdGVEYXRhKHNlc3Npb25JRCwgZGF0YVR5
cGVzLCBtb2RpZmllZFNpbmNlLCBjYWxsYmFja0lEKSwgMCk7CkBAIC0xMjMsNyArMTIzLDcgQEAg
dm9pZCBTdG9yYWdlUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoUEFM
OjpTZXNzaW9uSUQgc2Vzc2lvbklELAogewogICAgIEFTU0VSVChjYW5TZW5kTWVzc2FnZSgpKTsK
IAotICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1
aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQoKTsK
ICAgICBtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnNDYWxsYmFja3MuYWRkKGNh
bGxiYWNrSUQsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIHNlbmQoTWVzc2Fn
ZXM6OlN0b3JhZ2VQcm9jZXNzOjpEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoc2Vzc2lvbklE
LCBkYXRhVHlwZXMsIG9yaWdpbnMsIGNhbGxiYWNrSUQpLCAwKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKaW5kZXggMjVmZTRhMmU4NGNkODQ5ZDNkOWIwZmExY2Q5Mzg5YTcz
ZGMxY2VhNi4uNjVjMDE5ZmQ0ZWUxNWEyMjA5NzQ1NjZiYTYyODdjYzQyNDJlNTgyMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTYxLDcgKzYxLDYgQEAKICNpbmNs
dWRlICJXZWJQYWdlSW5qZWN0ZWRCdW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJXZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eS5oIgogI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzLmgiCi0jaW5jbHVk
ZSA8V2ViQ29yZS9BbHRlcm5hdGl2ZVRleHRDbGllbnQuaD4gLy8gRklYTUU6IE5lZWRlZCBieSBX
ZWJQYWdlUHJveHlNZXNzYWdlcy5oIGZvciBESUNUQVRJT05fQUxURVJOQVRJVkVTLgogI2luY2x1
ZGUgIldlYlBhZ2VQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUG9wdXBNZW51UHJveHku
aCIKICNpbmNsdWRlICJXZWJQcm9jZXNzTGlmZXRpbWVUcmFja2VyLmgiCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBjNzcxNTU5MGVkNzFj
Y2RkMjNkZjI4NWEzYWE3YzM2ZTU0M2RiN2Y2Li5iYzdjMjQzZjQ3OTZhY2MyZWNlNGM0ZmVjYzQ0
OTI5MjU4Y2RiNDU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTc1Niw2ICs3NTYsOCBAQAogCQkyRDkyQTc5NTIxMkI2QUQ0MDBGNDkz
RkQgLyogUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJEOTBEMTEyODFDOTY2MDAxRUI5NjIg
LyogUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgKi87IH07CiAJCTJEOTJBNzk2
MjEyQjZBREEwMEY0OTNGRCAvKiBOZXRzY2FwZVBsdWdpbk1vZHVsZS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTRBOUM1MzEyQjgxNkNGMDA4RkU5
ODQgLyogTmV0c2NhcGVQbHVnaW5Nb2R1bGUuY3BwICovOyB9OwogCQkyRDkyQTc5NzIxMkI2QURB
MDBGNDkzRkQgLyogUGx1Z2luSW5mb3JtYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MzRjhDOEUxNzNBRjUyRDAwN0I3RjM5IC8qIFBsdWdp
bkluZm9ybWF0aW9uLmNwcCAqLzsgfTsKKwkJMkQ5MkE3OTgyMTM0OEQ4NTAwRjQ5M0ZEIC8qIFdl
YlBheW1lbnRDb29yZGluYXRvclByb3h5TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUFCMUY3N0QxRDFCMzBBOTAwN0M5QkQxIC8qIFdlYlBheW1l
bnRDb29yZGluYXRvclByb3h5TWFjLm1tICovOyB9OworCQkyRDkyQTc5RjIxMzRCMDdFMDBGNDkz
RkQgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlJT1MubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUIxRjc3QjFEMUIzMEE5MDA3QzlCRDEgLyog
V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlJT1MubW0gKi87IH07CiAJCTJEOTMxMTY5MjEyRjYx
QjIwMDA0NEJGRSAvKiBXS0NvbnRlbnRWaWV3Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDQjRFM0QxOEJCRTA0NDAwMEZDRkM5IC8qIFdLQ29udGVu
dFZpZXcubW0gKi87IH07CiAJCTJEOTMxMTZBMjEyRjYxQjUwMDA0NEJGRSAvKiBXS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRkNCNEU2QjE4QkJGMjZBMDAwRkNGQzkgLyogV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLm1tICovOyB9OwogCQkyRDlFQTMwRDFBOTZDQjU5MDAyRDI4MDcgLyogV0tQYWdlSW5qZWN0
ZWRCdW5kbGVDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDJEOUVBMzBDMUE5NkNCNTkwMDJEMjgwNyAvKiBXS1BhZ2VJbmplY3RlZEJ1bmRsZUNs
aWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBA
IC0xMTI0MSw2ICsxMTI0Myw4IEBACiAJCQkJN0NFOUNFMTAxRkEwNzY3QTAwMDE3N0RFIC8qIFdl
YlBhZ2VVcGRhdGVQcmVmZXJlbmNlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzQ2OTRDOTFB
NEI0RUExMDBBRDU4NDUgLyogV2ViUGFzdGVib2FyZFByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTFBQjFGNzk2MUQxQjM2MTMwMDdDOUJEMSAvKiBXZWJQYXltZW50
Q29vcmRpbmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5MkE3
OUYyMTM0QjA3RTAwRjQ5M0ZEIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5SU9TLm1tIGlu
IFNvdXJjZXMgKi8sCisJCQkJMkQ5MkE3OTgyMTM0OEQ4NTAwRjQ5M0ZEIC8qIFdlYlBheW1lbnRD
b29yZGluYXRvclByb3h5TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFCMUY3OTgxRDFCMzYx
MzAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTJEOTJBNzhEMjEyQjZBQjEwMEY0OTNGRCAvKiBXZWJQbGF0
Zm9ybVRvdWNoUG9pbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5MTM0NEUyMTJDRjlGMDAw
MTI4QUZEIC8qIFdlYlBsdWdpbkluZm9Qcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0g
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tCmluZGV4
IDUzMDdlMjZhNzYzN2U4YTY5YjA0NWFiYjkyODc5ZjNmOGM2NTg2ZjIuLjRjYWE2Y2MwZjYwNDUw
YzAzYjIyYTI4NGRkMTNhZjI1ZWZkNmUzODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5tbQpAQCAtODgsOCArODgsNiBAQAogI2ltcG9y
dCA8cGFsL3NwaS9tYWMvTlNNZW51U1BJLmg+CiAjaW1wb3J0IDx3dGYvVVVJRC5oPgogCi11c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogLy8gU2V0IG92ZXJmbG93OiBoaWRkZW4gb24gdGhlIGFu
bm90YXRpb24gY29udGFpbmVyIHNvIDxpbnB1dD4gZWxlbWVudHMgc2Nyb2xsZWQgb3V0IG9mIHZp
ZXcgZG9uJ3Qgc2hvdwogLy8gc2Nyb2xsYmFycyBvbiB0aGUgYm9keS4gV2UgY2FuJ3QgYWRkIGFu
bm90YXRpb25zIGRpcmVjdGx5IHRvIHRoZSBib2R5LCBiZWNhdXNlIG92ZXJmbG93OiBoaWRkZW4g
b24gdGhlIGJvZHkKIC8vIHdpbGwgYnJlYWsgcnViYmVyLWJhbmRpbmcuCkBAIC0yOTAsNyArMjg4
LDcgQEAgLSAoTlNBcnJheSAqKWFjY2Vzc2liaWxpdHlBY3Rpb25OYW1lcwogLSAodm9pZClhY2Nl
c3NpYmlsaXR5UGVyZm9ybUFjdGlvbjooTlNTdHJpbmcgKilhY3Rpb24KIHsKICAgICBpZiAoW2Fj
dGlvbiBpc0VxdWFsVG9TdHJpbmc6TlNBY2Nlc3NpYmlsaXR5U2hvd01lbnVBY3Rpb25dKQotICAg
ICAgICBfcGRmUGx1Z2luLT5zaG93Q29udGV4dE1lbnVBdFBvaW50KEludFJlY3QoSW50UG9pbnQo
KSwgX3BkZlBsdWdpbi0+c2l6ZSgpKS5jZW50ZXIoKSk7CisgICAgICAgIF9wZGZQbHVnaW4tPnNo
b3dDb250ZXh0TWVudUF0UG9pbnQoV2ViQ29yZTo6SW50UmVjdChXZWJDb3JlOjpJbnRQb2ludCgp
LCBfcGRmUGx1Z2luLT5zaXplKCkpLmNlbnRlcigpKTsKIH0KIAogLSAoQk9PTClhY2Nlc3NpYmls
aXR5SXNBdHRyaWJ1dGVTZXR0YWJsZTooTlNTdHJpbmcgKilhdHRyaWJ1dGUKQEAgLTMxNiw4ICsz
MTQsOCBAQCAtIChpZClhY2Nlc3NpYmlsaXR5Rm9jdXNlZFVJRWxlbWVudAogewogI2lmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwCiAgICAgaWYgKFdlYktpdDo6UERG
UGx1Z2luQW5ub3RhdGlvbiogYWN0aXZlQW5ub3RhdGlvbiA9IF9wZGZQbHVnaW4tPmFjdGl2ZUFu
bm90YXRpb24oKSkgewotICAgICAgICBpZiAoQVhPYmplY3RDYWNoZSogZXhpc3RpbmdDYWNoZSA9
IF9wZGZQbHVnaW4tPmF4T2JqZWN0Q2FjaGUoKSkgewotICAgICAgICAgICAgaWYgKEFjY2Vzc2li
aWxpdHlPYmplY3QqIG9iamVjdCA9IGV4aXN0aW5nQ2FjaGUtPmdldE9yQ3JlYXRlKGFjdGl2ZUFu
bm90YXRpb24tPmVsZW1lbnQoKSkpCisgICAgICAgIGlmIChXZWJDb3JlOjpBWE9iamVjdENhY2hl
KiBleGlzdGluZ0NhY2hlID0gX3BkZlBsdWdpbi0+YXhPYmplY3RDYWNoZSgpKSB7CisgICAgICAg
ICAgICBpZiAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0ID0gZXhpc3RpbmdD
YWNoZS0+Z2V0T3JDcmVhdGUoYWN0aXZlQW5ub3RhdGlvbi0+ZWxlbWVudCgpKSkKICNwcmFnbWEg
Y2xhbmcgZGlhZ25vc3RpYyBwdXNoCiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAi
LVdkZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIKICAgICAgICAgICAgICAgICByZXR1cm4gW29iamVj
dC0+d3JhcHBlcigpIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpAIl9BWEFzc29jaWF0ZWRQ
bHVnaW5QYXJlbnQiXTsKQEAgLTMzOCwxMSArMzM2LDExIEBAIC0gKGlkKWFjY2Vzc2liaWxpdHlB
c3NvY2lhdGVkQ29udHJvbEZvckFubm90YXRpb246KFBERkFubm90YXRpb24gKilhbm5vdGF0aW9u
CiAgICAgaWYgKCFhY3RpdmVBbm5vdGF0aW9uIHx8ICFbYWN0aXZlQW5ub3RhdGlvbi0+YW5ub3Rh
dGlvbigpIGlzRXF1YWw6YW5ub3RhdGlvbl0pCiAgICAgICAgIHJldHVybiBuaWw7CiAgICAgCi0g
ICAgQVhPYmplY3RDYWNoZSogY2FjaGUgPSBfcGRmUGx1Z2luLT5heE9iamVjdENhY2hlKCk7Cisg
ICAgV2ViQ29yZTo6QVhPYmplY3RDYWNoZSogY2FjaGUgPSBfcGRmUGx1Z2luLT5heE9iamVjdENh
Y2hlKCk7CiAgICAgaWYgKCFjYWNoZSkKICAgICAgICAgcmV0dXJuIG5pbDsKICAgICAKLSAgICBB
Y2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QgPSBjYWNoZS0+Z2V0T3JDcmVhdGUoYWN0aXZlQW5u
b3RhdGlvbi0+ZWxlbWVudCgpKTsKKyAgICBXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KiBv
YmplY3QgPSBjYWNoZS0+Z2V0T3JDcmVhdGUoYWN0aXZlQW5ub3RhdGlvbi0+ZWxlbWVudCgpKTsK
ICAgICBpZiAoIW9iamVjdCkKICAgICAgICAgcmV0dXJuIG5pbDsKIApAQCAtMzUzLDcgKzM1MSw3
IEBAIC0gKGlkKWFjY2Vzc2liaWxpdHlBc3NvY2lhdGVkQ29udHJvbEZvckFubm90YXRpb246KFBE
RkFubm90YXRpb24gKilhbm5vdGF0aW9uCiAtIChpZClhY2Nlc3NpYmlsaXR5SGl0VGVzdDooTlNQ
b2ludClwb2ludAogewogI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAx
MzAwCi0gICAgcG9pbnQgPSBfcGRmUGx1Z2luLT5jb252ZXJ0RnJvbVJvb3RWaWV3VG9QREZWaWV3
KEludFBvaW50KHBvaW50KSk7CisgICAgcG9pbnQgPSBfcGRmUGx1Z2luLT5jb252ZXJ0RnJvbVJv
b3RWaWV3VG9QREZWaWV3KFdlYkNvcmU6OkludFBvaW50KHBvaW50KSk7CiAgICAgcmV0dXJuIFtf
cGRmTGF5ZXJDb250cm9sbGVyIGFjY2Vzc2liaWxpdHlIaXRUZXN0OnBvaW50XTsKICNlbHNlCiAg
ICAgcmV0dXJuIHNlbGY7CkBAIC00MjEsNyArNDE5LDcgQEAgLSAoaWQpaW5pdFdpdGhQREZQbHVn
aW46KFdlYktpdDo6UERGUGx1Z2luICopcGx1Z2luCiAKIC0gKHZvaWQpdXBkYXRlU2Nyb2xsUG9z
aXRpb246KENHUG9pbnQpbmV3UG9zaXRpb24KIHsKLSAgICBfcGRmUGx1Z2luLT5ub3RpZnlTY3Jv
bGxQb3NpdGlvbkNoYW5nZWQoSW50UG9pbnQobmV3UG9zaXRpb24pKTsKKyAgICBfcGRmUGx1Z2lu
LT5ub3RpZnlTY3JvbGxQb3NpdGlvbkNoYW5nZWQoV2ViQ29yZTo6SW50UG9pbnQobmV3UG9zaXRp
b24pKTsKIH0KIAogLSAodm9pZCl3cml0ZUl0ZW1zVG9QYXN0ZWJvYXJkOihOU0FycmF5ICopaXRl
bXMgd2l0aFR5cGVzOihOU0FycmF5ICopdHlwZXMKQEAgLTUwMCw2ICs0OTgsMTAgQEAgLSAoTlNS
ZWN0KWNvbnZlcnRSZWN0OihOU1JlY3QpcmVjdCBmcm9tUGFnZTooUERGUGFnZSAqKSBwYWdlIGZv
clNjYWxlRmFjdG9yOihDR0YKIC0gKFBERlBhZ2UgKilwYWdlTmVhcmVzdFBvaW50OihOU1BvaW50
KXBvaW50IGN1cnJlbnRQYWdlOihQREZQYWdlICopY3VycmVudFBhZ2U7CiBAZW5kCiAKK25hbWVz
cGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Cit1c2luZyBuYW1lc3BhY2Ug
SFRNTE5hbWVzOworCiBzdGF0aWMgY29uc3QgY2hhciogcG9zdFNjcmlwdE1JTUVUeXBlID0gImFw
cGxpY2F0aW9uL3Bvc3RzY3JpcHQiOwogY29uc3QgdWludDY0X3QgcGRmRG9jdW1lbnRSZXF1ZXN0
SUQgPSAxOyAvLyBQbHVnaW5Db250cm9sbGVyIHN1cHBvcnRzIGxvYWRpbmcgbXVsdGlwbGUgc3Ry
ZWFtcywgYnV0IHdlIG9ubHkgbmVlZCBvbmUgZm9yIFBERi4KIApAQCAtNTk2LDkgKzU5OCw2IEBA
IHN0YXRpYyB2b2lkIGdldEFsbFNjcmlwdHNJblBERkRvY3VtZW50KENHUERGRG9jdW1lbnRSZWYg
cGRmRG9jdW1lbnQsIFZlY3RvcjxSZXRhCiAgICAgfQogfQogCi1uYW1lc3BhY2UgV2ViS2l0IHsK
LXVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7Ci0KIFJlZjxQREZQbHVnaW4+IFBERlBsdWdpbjo6
Y3JlYXRlKFdlYkZyYW1lJiBmcmFtZSkKIHsKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQREZQ
bHVnaW4oZnJhbWUpKTsKQEAgLTE0NTAsNyArMTQ0OSw3IEBAIHZvaWQgUERGUGx1Z2luOjp1cGRh
dGVDdXJzb3IoY29uc3QgV2ViTW91c2VFdmVudCYgZXZlbnQsIFVwZGF0ZUN1cnNvck1vZGUgbW9k
ZSkKICAgICBpZiAoaGl0VGVzdFJlc3VsdCA9PSBtX2xhc3RIaXRUZXN0UmVzdWx0ICYmIG1vZGUg
PT0gVXBkYXRlSWZOZWVkZWQpCiAgICAgICAgIHJldHVybjsKIAotICAgIHdlYkZyYW1lKCktPnBh
Z2UoKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTZXRDdXJzb3IoaGl0VGVzdFJlc3Vs
dCA9PSBUZXh0ID8gaUJlYW1DdXJzb3IoKSA6IHBvaW50ZXJDdXJzb3IoKSkpOworICAgIHdlYkZy
YW1lKCktPnBhZ2UoKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTZXRDdXJzb3IoaGl0
VGVzdFJlc3VsdCA9PSBUZXh0ID8gV2ViQ29yZTo6aUJlYW1DdXJzb3IoKSA6IFdlYkNvcmU6OnBv
aW50ZXJDdXJzb3IoKSkpOwogICAgIG1fbGFzdEhpdFRlc3RSZXN1bHQgPSBoaXRUZXN0UmVzdWx0
OwogfQogI2VuZGlmCkBAIC0xOTgxLDE2ICsxOTgwLDE2IEBAIHZvaWQgUERGUGx1Z2luOjpub3Rp
ZnlTZWxlY3Rpb25DaGFuZ2VkKFBERlNlbGVjdGlvbiAqKQogICAgIHdlYkZyYW1lKCktPnBhZ2Uo
KS0+ZGlkQ2hhbmdlU2VsZWN0aW9uKCk7CiB9CiAKLXN0YXRpYyBjb25zdCBDdXJzb3ImIGNvcmVD
dXJzb3IoUERGTGF5ZXJDb250cm9sbGVyQ3Vyc29yVHlwZSB0eXBlKQorc3RhdGljIGNvbnN0IFdl
YkNvcmU6OkN1cnNvciYgY29yZUN1cnNvcihQREZMYXllckNvbnRyb2xsZXJDdXJzb3JUeXBlIHR5
cGUpCiB7CiAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAgY2FzZSBrUERGTGF5ZXJDb250cm9sbGVy
Q3Vyc29yVHlwZUhhbmQ6Ci0gICAgICAgIHJldHVybiBoYW5kQ3Vyc29yKCk7CisgICAgICAgIHJl
dHVybiBXZWJDb3JlOjpoYW5kQ3Vyc29yKCk7CiAgICAgY2FzZSBrUERGTGF5ZXJDb250cm9sbGVy
Q3Vyc29yVHlwZUlCZWFtOgotICAgICAgICByZXR1cm4gaUJlYW1DdXJzb3IoKTsKKyAgICAgICAg
cmV0dXJuIFdlYkNvcmU6OmlCZWFtQ3Vyc29yKCk7CiAgICAgY2FzZSBrUERGTGF5ZXJDb250cm9s
bGVyQ3Vyc29yVHlwZVBvaW50ZXI6CiAgICAgZGVmYXVsdDoKLSAgICAgICAgcmV0dXJuIHBvaW50
ZXJDdXJzb3IoKTsKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OnBvaW50ZXJDdXJzb3IoKTsKICAg
ICB9CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348261</attachid>
            <date>2018-08-27 20:58:39 -0700</date>
            <delta_ts>2018-08-27 21:27:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189009-20180827205838.patch</filename>
            <type>text/plain</type>
            <size>60383</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGMyOWZmMzZiMTcwMDNiYTAxZDNlYmJj
YWNhNDY4ZTRmNDZlM2YzN2IuLjA3YzYxYjkxMTg5ZjZmYjg3M2MxN2MxNWM0N2Y1NzI2ODE0YzY4
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3Jl
IHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL2dlbmVy
YXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmI6CisgICAgICAgIEl0IHR1cm5zIG91dCBvdXIg
cGxhbiB0byBzd2l0Y2ggdW5pZmllZCBzb3VyY2UgYnVuZGxlIGV2ZXJ5IHRpbWUgdGhlIGRpcmVj
dG9yeQorICAgICAgICBjaGFuZ2VzIGlzIG5vdCBhIGdvb2QgZml0IGZvciBwcm9qZWN0cyBsaWtl
IFdlYktpdDIgd2l0aCBtYW55IHNtYWxsIGRpcmVjdG9yaWVzLgorICAgICAgICBJdCBsZWF2ZXMg
bWFueSB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIHdpdGggb25seSBhIHNpbmdsZSBzb3VyY2UgZmls
ZSwKKyAgICAgICAgYWNoaWV2aW5nIG9ubHkgfjQwJSBkZW5zaXR5LgorCisgICAgICAgIEluc3Rl
YWQsIHN3aXRjaCB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIGV2ZXJ5IHRpbWUgdGhlIHRvcC1sZXZl
bCBkaXJlY3RvcnkgY2hhbmdlcy4KKyAgICAgICAgVGhpcyBzdGlsbCBhY2hpZXZlcyB0aGUgZ29h
bCBvZiAqdXN1YWxseSogb25seSByZWJ1aWxkaW5nIHRoZSBvbmUgdG9wLWxldmVsCisgICAgICAg
IGRpcmVjdG9yeSB5b3UgdG91Y2hlZCwgYW5kIGluY3JlYXNlcyBzb3VyY2UgYnVuZGxlIGRlbnNp
dHkgd2lsZGx5LCB0byB+OTUlLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTgt
MDgtMjcgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQgYnVpbGQgZml4IC0tIGRpc2FibGUgTFRPIGZvciBwcm9kdWN0aW9uIGJ1aWxkcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDdmZjk4ZTNhMDliZTBjOWE3ZWM2MWFlYWVjZDk4MjhmYTcxNjNmZjMuLmNiZGZk
OTgwODYyMDk5NTFkNmQ2ZWJjMTZkYjk0Y2EzZmI3YzQ1ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzOCBAQAorMjAxOC0wOC0yNyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNv
bT4KKworICAgICAgICBCdW5kbGUgdW5pZmllZCBzb3VyY2VzIG1vcmUgdGlnaHRseSBpbiBwcm9q
ZWN0cyB3aXRoIGRlZXAgZGlyZWN0b3J5IHN0cnVjdHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTAwOQorCisgICAgICAgIFJldmlld2VkIGJ5
IFNpbW9uIEZyYXNlci4KKworICAgICAgICBGaXggYSB2YXJpZXR5IG9mIHVuaWZpY2F0aW9uIGVy
cm9ycyBkdWUgdG8gcmVzaHVmZmxpbmcgdGhlIGJ1bmRsZXMuCisKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAqIFNvdXJjZXNDb2NvYS50
eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUVDRFNBLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUVDRFNBOjppbXBvcnRLZXkpOgorICAgICAgICAqIGRv
bS9Eb2N1bWVudC5oOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHA6
CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRl
ci5oOgorICAgICAgICAqIHBhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50Lmg6CisgICAgICAgICog
cGxhdGZvcm0vUGFzdGVib2FyZC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Rpc3Bs
YXlSZWZyZXNoTW9uaXRvci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZh
bWlseVNwZWNpZmljYXRpb25OdWxsLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJHTExheWVyLm1tOgorICAgICAgICAoLVtXZWJHTExheWVyIGluaXRXaXRoR3JhcGhp
Y3NDb250ZXh0M0Q6XSk6CisgICAgICAgICgtW1dlYkdMTGF5ZXIgY29weUltYWdlU25hcHNob3RX
aXRoQ29sb3JTcGFjZTpdKToKKyAgICAgICAgKC1bV2ViR0xMYXllciBkaXNwbGF5XSk6CisgICAg
ICAgICgtW1dlYkdMTGF5ZXIgYWxsb2NhdGVJT1N1cmZhY2VCYWNraW5nU3RvcmVXaXRoU2l6ZTp1
c2luZ0FscGhhOl0pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxh
eWVyLm1tOgorICAgICAgICAoLVtXZWJHUFVMYXllciBpbml0V2l0aEdQVURldmljZTpdKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHA6CisgICAgICAg
ICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwOgor
CiAyMDE4LTA4LTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtBdHRhY2htZW50IFN1cHBvcnRdIFJlbW92ZSBXZWJDb3JlOjpBdHRhY2htZW50RGlz
cGxheU9wdGlvbnMgYW5kIGZyaWVuZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYjczYzY3OTE3NzA1N2UxNDIxYWEy
YTNiMDU4NTIwYTc4ODYzMzhhMy4uNDZiMWEyZDYzY2U3ZmMyMzkyOTlmNmJjYjc3MGNjNGYxN2Zh
NGQ1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MiBAQAorMjAxOC0wOC0yNyAgVGltIEhvcnRvbiAg
PHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBCdW5kbGUgdW5pZmllZCBzb3Vy
Y2VzIG1vcmUgdGlnaHRseSBpbiBwcm9qZWN0cyB3aXRoIGRlZXAgZGlyZWN0b3J5IHN0cnVjdHVy
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTAw
OQorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBGaXggYSB2
YXJpZXR5IG9mIHVuaWZpY2F0aW9uIGVycm9ycyBkdWUgdG8gcmVzaHVmZmxpbmcgdGhlIGJ1bmRs
ZXMuCisKKyAgICAgICAgKiBTaGFyZWQvQVBJV2ViQXJjaGl2ZS5tbToKKyAgICAgICAgKiBTaGFy
ZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05l
dHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbToKKyAgICAgICAgKiBTaGFyZWQv
UGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW06CisgICAgICAgICog
U291cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25T
ZXNzaW9uQ2xpZW50Lmg6CisgICAgICAgIChBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Ojpz
ZXNzaW9uSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgIChBUEk6OkF1dG9tYXRpb25TZXNzaW9u
Q2xpZW50OjptZXNzYWdlT2ZDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZSk6CisgICAgICAg
IChBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50OjpzZXRVc2VySW5wdXRGb3JDdXJyZW50SmF2
YVNjcmlwdFByb21wdE9uUGFnZSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1
c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2Nv
bExvYWRlciBpbml0V2l0aExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OmN1c3RvbVBy
b3RvY29sSUQ6cmVxdWVzdDpdKToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBj
b25uZWN0aW9uOmRpZEZhaWxXaXRoRXJyb3I6XSk6CisgICAgICAgICgtW1dLQ3VzdG9tUHJvdG9j
b2xMb2FkZXIgY29ubmVjdGlvbjpkaWRSZWNlaXZlUmVzcG9uc2U6XSk6CisgICAgICAgICogVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
Z2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdp
blByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdp
blByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpQbHVn
aW5Qcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5hbWVzKToKKyAgICAgICAg
KFdlYktpdDo6Z2VuZXJhdGVDYWxsYmFja0lEKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nl
c3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRl
SU9TLm1tOgorICAgICAgICAoLVtXS1Njcm9sbGluZ05vZGVTY3JvbGxWaWV3RGVsZWdhdGUgc2Ny
b2xsVmlld1dpbGxFbmREcmFnZ2luZzp3aXRoVmVsb2NpdHk6dGFyZ2V0Q29udGVudE9mZnNldDpd
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1Byb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6Z2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQpOgorICAg
ICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKToKKyAg
ICAgICAgKFdlYktpdDo6U3RvcmFnZVByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEpOgor
ICAgICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZv
ck9yaWdpbnMpOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZUNhbGxiYWNrSUQpOiBEZWxldGVk
LgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IFdlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tOgorICAgICAgICAoLVtXS1BERlBs
dWdpbkFjY2Vzc2liaWxpdHlPYmplY3QgYWNjZXNzaWJpbGl0eVBlcmZvcm1BY3Rpb246XSk6Cisg
ICAgICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5Rm9j
dXNlZFVJRWxlbWVudF0pOgorICAgICAgICAoLVtXS1BERlBsdWdpbkFjY2Vzc2liaWxpdHlPYmpl
Y3QgYWNjZXNzaWJpbGl0eUFzc29jaWF0ZWRDb250cm9sRm9yQW5ub3RhdGlvbjpdKToKKyAgICAg
ICAgKC1bV0tQREZQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0IGFjY2Vzc2liaWxpdHlIaXRUZXN0
Ol0pOgorICAgICAgICAoLVtXS1BERkxheWVyQ29udHJvbGxlckRlbGVnYXRlIHVwZGF0ZVNjcm9s
bFBvc2l0aW9uOl0pOgorICAgICAgICAoV2ViS2l0OjpQREZQbHVnaW46OnVwZGF0ZUN1cnNvcik6
CisgICAgICAgIChXZWJLaXQ6OmNvcmVDdXJzb3IpOgorICAgICAgICAoYXBwZW5kVmFsdWVzSW5Q
REZOYW1lU3VidHJlZVRvVmVjdG9yKTogRGVsZXRlZC4KKyAgICAgICAgKGdldEFsbFZhbHVlc0lu
UERGTmFtZVRyZWUpOiBEZWxldGVkLgorICAgICAgICAoZ2V0QWxsU2NyaXB0c0luUERGRG9jdW1l
bnQpOiBEZWxldGVkLgorCiAyMDE4LTA4LTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhA
YXBwbGUuY29tPgogCiAgICAgICAgIFtBdHRhY2htZW50IFN1cHBvcnRdIFJlbW92ZSBXZWJDb3Jl
OjpBdHRhY2htZW50RGlzcGxheU9wdGlvbnMgYW5kIGZyaWVuZHMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvU2NyaXB0cy9nZW5lcmF0ZS11bmlmaWVkLXNvdXJjZS1idW5kbGVzLnJiIGIvU291cmNl
L1dURi9TY3JpcHRzL2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKaW5kZXggYzAx
OTY2ZWUxYjJjNjdkOTc2MGYwM2E1YmJjYWEzY2I1NzI2MTJiMy4uYWJkOTc2NzdhMjBhZGI0ZDQ2
MmViOThmNzc4ZDk4MDI5YmRkNDk5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL2dl
bmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKKysrIGIvU291cmNlL1dURi9TY3JpcHRz
L2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKQEAgLTIxMCwxMCArMjEwLDE3IEBA
IGNsYXNzIEJ1bmRsZU1hbmFnZXIKICAgICBlbmQKIGVuZAogCitkZWYgVG9wTGV2ZWxEaXJlY3Rv
cnlGb3JQYXRoKHBhdGgpCisgICAgaWYgIXBhdGgKKyAgICAgICAgcmV0dXJuIG5pbAorICAgIGVu
ZAorICAgIHJldHVybiBwYXRoLmVhY2hfZmlsZW5hbWUubmV4dAorZW5kCisKIGRlZiBQcm9jZXNz
RmlsZUZvclVuaWZpZWRTb3VyY2VHZW5lcmF0aW9uKHNvdXJjZUZpbGUpCiAgICAgcGF0aCA9IHNv
dXJjZUZpbGUucGF0aAotICAgIGlmICgkY3VycmVudERpcmVjdG9yeSAhPSBwYXRoLmRpcm5hbWUp
Ci0gICAgICAgIGxvZygiRmx1c2hpbmcgYmVjYXVzZSBuZXcgZGlybmFtZTsgb2xkOiAjeyRjdXJy
ZW50RGlyZWN0b3J5fSwgbmV3OiAje3BhdGguZGlybmFtZX0iKQorICAgIGlmIChUb3BMZXZlbERp
cmVjdG9yeUZvclBhdGgoJGN1cnJlbnREaXJlY3RvcnkpICE9IFRvcExldmVsRGlyZWN0b3J5Rm9y
UGF0aChwYXRoLmRpcm5hbWUpKQorICAgICAgICBsb2coIkZsdXNoaW5nIGJlY2F1c2UgbmV3IHRv
cCBsZXZlbCBkaXJlY3Rvcnk7IG9sZDogI3skY3VycmVudERpcmVjdG9yeX0sIG5ldzogI3twYXRo
LmRpcm5hbWV9IikKICAgICAgICAgJGJ1bmRsZU1hbmFnZXJzLmVhY2hfdmFsdWUgeyB8eHwgeC5m
bHVzaCB9CiAgICAgICAgICRjdXJyZW50RGlyZWN0b3J5ID0gcGF0aC5kaXJuYW1lCiAgICAgZW5k
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYv
UGxhdGZvcm0uaAppbmRleCAwYzZlZmI4NjI5ODI1MzlkMmI0YjJjYzRmOGY4YjVmY2I0ZWM4OGU4
Li42N2NmYTkzMzEzYzkwNDIxZWI2Y2YxNzlkOThlZjcwM2RhMGU0OWRiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgK
QEAgLTEzMTQsNiArMTMxNCw3IEBACiAjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX1RP
VUNIX0JBUiAxCiAjZGVmaW5lIEhBVkVfQURWQU5DRURfU1BFTExfQ0hFQ0tJTkcgMQorI2RlZmlu
ZSBVU0VfRElDVEFUSU9OX0FMVEVSTkFUSVZFUyAxCiAKICNpZiBkZWZpbmVkKF9fTFA2NF9fKQog
I2RlZmluZSBFTkFCTEVfV0VCX1BMQVlCQUNLX0NPTlRST0xTX01BTkFHRVIgMQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdCdWZmZXIuaCBiL1NvdXJjZS9XVEYvd3RmL3Rl
eHQvU3RyaW5nQnVmZmVyLmgKaW5kZXggZjI5M2QzMzNkYmUzZTQ1ZTYzN2ExNDg2NzMzZDBhMmZk
OGMwOGMwYy4uZTMyY2QyNjBkZDk0ZGIxNTU5ODViZmI0NzYyOWI4YTkxMTM2YzI2OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdCdWZmZXIuaAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oCkBAIC0yOSw5ICsyOSwxMCBAQAogI2lmbmRlZiBTdHJp
bmdCdWZmZXJfaAogI2RlZmluZSBTdHJpbmdCdWZmZXJfaAogCi0jaW5jbHVkZSA8d3RmL0Fzc2Vy
dGlvbnMuaD4KICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8dW5pY29kZS91dHlwZXMuaD4K
KyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi9NYWxsb2NQdHIuaD4K
IAogbmFtZXNwYWNlIFdURiB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y2FjaGUvV29ya2VyQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NhY2hlL1dvcmtlckNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCmluZGV4IGFkMjA5
MzIxOWY4OGU2ZGEzZTFkNjA2MjRlNDFhZTlhNDFkZjQ5MjcuLjFlYmRkNWRlNDhhN2U3ZTFjOTZh
MDFjNzhmZWQ3ZGE1YmM0ZmI4ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y2FjaGUvV29ya2VyQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcApAQCAtMjks
NiArMjksNyBAQAogCiAjaW5jbHVkZSAiQ2FjaGVRdWVyeU9wdGlvbnMuaCIKICNpbmNsdWRlICJD
YWNoZVN0b3JhZ2VQcm92aWRlci5oIgorI2luY2x1ZGUgIkNsaWVudE9yaWdpbi5oIgogI2luY2x1
ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIldvcmtlckdsb2Jh
bFNjb3BlLmgiCkBAIC0zNiw3ICszNyw2IEBACiAjaW5jbHVkZSAiV29ya2VyUnVuTG9vcC5oIgog
I2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOjpET01DYWNoZUVuZ2luZTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29udHJvbGxlci5jcHAKaW5kZXggOTYxMzJl
Njk3MzdhZTk4YTYwZjk1NGYxZjMxMTgzODQxMDcxZTBhOS4uY2RiNzc3ZTk5OTI5MjIxY2YwYThm
MDExNDJiMmQwN2VkZTllZmVkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBF
TkFCTEUoV0VCX1JUQykKIAorI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiTGliV2Vi
UlRDUHJvdmlkZXIuaCIKICNpbmNsdWRlICJSVENQZWVyQ29ubmVjdGlvbi5oIgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0
VXBkYXRlRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9Q
YXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50LmNwcAppbmRleCBjMjA1MzM1ZWFhOGU5MThhNmQzOGFl
NGYyZmZjODFhZWQ0NWE5YTBmLi45NGI3MWM0NjYxOTI0MTM1YzIxYWVhNjlkNDg5OWQ3YjA3NWE2
MmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1Bh
eW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAKQEAgLTI4LDYgKzI4
LDcgQEAKIAogI2lmIEVOQUJMRShQQVlNRU5UX1JFUVVFU1QpCiAKKyNpbmNsdWRlICJFdmVudE5h
bWVzLmgiCiAjaW5jbHVkZSAiUGF5bWVudFJlcXVlc3QuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXkuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXkuY3BwCmluZGV4IGFkYjc1
MWQwYzM5YzBhNTZiNWU0ZGMxZjU0MjEwYmRhYTRlZGZmNzguLmE5MzNkOTgwZmNmNWE5OTE3NGFi
MGUwYzQwMDIwOTE2Y2JmMWIzNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VidnIvVlJEaXNwbGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZS
RGlzcGxheS5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJDYW52YXNSZW5kZXJpbmdD
b250ZXh0LmgiCiAjaW5jbHVkZSAiQ2hyb21lLmgiCiAjaW5jbHVkZSAiRE9NRXhjZXB0aW9uLmgi
CisjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1
ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuaCIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY3J5cHRvL2djcnlwdC9VdGlsaXRpZXMu
aCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY3J5cHRvL2djcnlwdC9VdGlsaXRpZXMuaAppbmRl
eCA4MmZlMTdjMDNiNDExNzNlYzEzZDMwYjJmYzMxZmFjMWQyOGE1OGRmLi42MjkyYTBmODBiYjBm
NTgyNjUzMmZlNDFiM2JhYTA5MWJkZTJjNjE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL2NyeXB0by9nY3J5cHQvVXRpbGl0aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9jcnlwdG8vZ2NyeXB0L1V0aWxpdGllcy5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNs
dWRlIDxnY3J5cHQuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorI2luY2x1ZGUgPHd0
Zi9PcHRpb25hbC5oPgogCiBuYW1lc3BhY2UgUEFMIHsKIG5hbWVzcGFjZSBHQ3J5cHQgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggNjZmN2YxNmJkNjRmODJjNDMyYmVhZWQ4ZTcwZDFiNWZm
MDYzYTUxNy4uOTU3ZTRiNWI2NjFiNDAyMGYwYTIxZWUwMDk1YzAxNzY0NmU0OTNhMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzQ29jb2EudHh0CkBAIC0zODksNyArMzg5LDcgQEAgcGxhdGZvcm0vaW9zL1BsYXRm
b3JtU2NyZWVuSU9TLm1tCiBwbGF0Zm9ybS9pb3MvUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklP
Uy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktp
dC5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9RdWlja0xvb2subW0KLXBsYXRmb3JtL2lvcy9R
dWlja0xvb2tTb2Z0TGluay5tbQorcGxhdGZvcm0vaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tIEBu
by11bmlmeQogcGxhdGZvcm0vaW9zL1JlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5tbQogcGxhdGZv
cm0vaW9zL1Njcm9sbEFuaW1hdG9ySU9TLm1tCiBwbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJ
T1MubW0KQEAgLTM5OSw3ICszOTksNyBAQCBwbGF0Zm9ybS9pb3MvU1NMS2V5R2VuZXJhdG9ySU9T
LmNwcAogcGxhdGZvcm0vaW9zL1N5c3RlbU1lbW9yeUlPUy5jcHAKIHBsYXRmb3JtL2lvcy9UaGVt
ZUlPUy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9UaWxlQ29udHJvbGxlck1lbW9yeUhhbmRs
ZXJJT1MuY3BwCi1wbGF0Zm9ybS9pb3MvVXNlckFnZW50SU9TLm1tCitwbGF0Zm9ybS9pb3MvVXNl
ckFnZW50SU9TLm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1ZhbGlkYXRpb25CdWJibGVJT1Mu
bW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQu
bW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvV2ViQVZQbGF5ZXJDb250cm9sbGVyLm1tCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzR1RLLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXNHVEsudHh0CmluZGV4IDQ2MjZiNmZjYmU1NGE0OTVlZDEwYzZiYjgyNDQ5YTA0OTc2MjI3
NzMuLmU2MTZmMjdlNWJlZTA5MGZiNGM3YzVjNTEyZTViNjZhMjJjNzdmNTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXNHVEsudHh0CkBAIC02MSwxNCArNjEsMTQgQEAgcGxhdGZvcm0vVXNlckFnZW50UXVpcmtzLmNw
cAogCiBwbGF0Zm9ybS9nZW9jbHVlL0dlb2xvY2F0aW9uUHJvdmlkZXJHZW9jbHVlLmNwcAogCi1w
bGF0Zm9ybS9ncmFwaGljcy9HTENvbnRleHQuY3BwCitwbGF0Zm9ybS9ncmFwaGljcy9HTENvbnRl
eHQuY3BwIEBuby11bmlmeQogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0RQcml2
YXRlLmNwcAogCi1wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9CYWNraW5nU3RvcmVCYWNrZW5kQ2Fp
cm9YMTEuY3BwCitwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9CYWNraW5nU3RvcmVCYWNrZW5kQ2Fp
cm9YMTEuY3BwIEBuby11bmlmeQogCiBwbGF0Zm9ybS9ncmFwaGljcy9lZ2wvR0xDb250ZXh0RUdM
LmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvZWdsL0dMQ29udGV4dEVHTFdheWxhbmQuY3BwIEBuby11
bmlmeQotcGxhdGZvcm0vZ3JhcGhpY3MvZWdsL0dMQ29udGV4dEVHTFgxMS5jcHAKK3BsYXRmb3Jt
L2dyYXBoaWNzL2VnbC9HTENvbnRleHRFR0xYMTEuY3BwIEBuby11bmlmeQogCiBwbGF0Zm9ybS9n
cmFwaGljcy9nbHgvR0xDb250ZXh0R0xYLmNwcAogCkBAIC04Miw5ICs4Miw5IEBAIHBsYXRmb3Jt
L2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlVmVydGljYWxEYXRhLmNwcAogCiBwbGF0Zm9ybS9n
cmFwaGljcy93YXlsYW5kL1BsYXRmb3JtRGlzcGxheVdheWxhbmQuY3BwCiAKLXBsYXRmb3JtL2dy
YXBoaWNzL3gxMS9QbGF0Zm9ybURpc3BsYXlYMTEuY3BwCi1wbGF0Zm9ybS9ncmFwaGljcy94MTEv
WEVycm9yVHJhcHBlci5jcHAKLXBsYXRmb3JtL2dyYXBoaWNzL3gxMS9YVW5pcXVlUmVzb3VyY2Uu
Y3BwCitwbGF0Zm9ybS9ncmFwaGljcy94MTEvUGxhdGZvcm1EaXNwbGF5WDExLmNwcCBAbm8tdW5p
ZnkKK3BsYXRmb3JtL2dyYXBoaWNzL3gxMS9YRXJyb3JUcmFwcGVyLmNwcCBAbm8tdW5pZnkKK3Bs
YXRmb3JtL2dyYXBoaWNzL3gxMS9YVW5pcXVlUmVzb3VyY2UuY3BwIEBuby11bmlmeQogCiBwbGF0
Zm9ybS9ndGsvRHJhZ0RhdGFHdGsuY3BwCiBwbGF0Zm9ybS9ndGsvTG9jYWxpemVkU3RyaW5nc0d0
ay5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCBiNmRmNzQ4YTZkMTkwNDg1YjE4YzNkNThjYjUxODNiYmFkYjgyZjg5Li5kM2I5
ZWFhY2Y0NWNjYzE4MzA4YThjZDhkZDU5YmRhYWIzYjY3NGQwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04MDYsNiArODA2LDgg
QEAKIAkJMkQ4QjkyRkYyMDNEMTNFMTAwOUM4NjhGIC8qIFVuaWZpZWRTb3VyY2U1MzAuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gREU1Rjg1RDMxRkEy
Mzg1OTAwNkRCNjNCIC8qIFVuaWZpZWRTb3VyY2U1MzAuY3BwICovOyB9OwogCQkyRDhGRUJERDE0
M0UzRUY3MDA3MjUwMkIgLyogQ1NTQ3Jvc3NmYWRlVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOEZFQkRCMTQzRTNFRjcwMDcyNTAyQiAvKiBD
U1NDcm9zc2ZhZGVWYWx1ZS5oICovOyB9OwogCQkyRDkwNjYwNzBCRTE0MUQ0MDA5NTY5OTggLyog
TGF5b3V0U3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJEOTA2NjA1MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0ZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTJEOTJBNzlBMjEzNEFENzkw
MEY0OTNGRCAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MzkxN0ZEMUE5MUIyRjgwMDZFMDRGMiAvKiBRdWlja0xv
b2tTb2Z0TGluay5tbSAqLzsgfTsKKwkJMkQ5MkE3OUQyMTM0QUY5NTAwRjQ5M0ZEIC8qIFVzZXJB
Z2VudElPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEEzQUY5RDgzMjAzMjU2OTEwMDZDQUQwNiAvKiBVc2VyQWdlbnRJT1MubW0gKi87IH07CiAJCTJE
OTNBRUUzMTlERjU2NDEwMDJBODZDMyAvKiBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDkzQUVFMTE5REY1
NjQxMDAyQTg2QzMgLyogU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oICovOyB9OwogCQkyRDk3
RjA0NzE5REQ0MTNDMDAxRUU5QzMgLyogTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQUFFMzJDMTlEQ0FGNjAw
MEUwMDJEMiAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuY3BwICovOyB9OwogCQkyRDk3RjA0ODE5
REQ0MTQwMDAxRUU5QzMgLyogTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREFBRTMyRDE5RENBRjYwMDBFMDAyRDIg
LyogTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmggKi87IH07CkBAIC03MDcyLDcgKzcwNzQsNyBAQAog
CQkzMzlCNUI2MjEzMURBQTMyMDBGNDhEMDIgLyogQ29va2llc1N0cmF0ZWd5LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvb2tpZXNTdHJhdGVneS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkzNjYyRjk4NDA0N0NFREJFNUREREFGQUEgLyogUmVuZGVyTWF0aE1M
TWVuY2xvc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVy
TWF0aE1MTWVuY2xvc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzExOUE3
OTIwQ0NCNjEwMDAyQzZEQzkgLyogV2ViS2l0VGFyZ2V0Q29uZGl0aW9uYWxzLnhjY29uZmlnICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2Nv
bmZpZzsgcGF0aCA9IFdlYktpdFRhcmdldENvbmRpdGlvbmFscy54Y2NvbmZpZzsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMzcxN0Q3RTUxN0VDQzNBNjAwM0MyNzZEIC8qIGV4dHJhY3Qt
bG9jYWxpemFibGUtc3RyaW5ncy5wbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnBlcmw7IG5hbWUgPSBleHRyYWN0LWxvY2FsaXph
YmxlLXN0cmluZ3MucGw7IHBhdGggPSAiU2NyaXB0cy9leHRyYWN0LWxvY2FsaXphYmxlLXN0cmlu
Z3MucGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzNzE3RDdFNTE3RUNDM0E2MDAz
QzI3NkQgLyogZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucGVybDsgbmFtZSA9
ICJleHRyYWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGwiOyBwYXRoID0gIlNjcmlwdHMvZXh0cmFj
dC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBsIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MzcxQTY3Q0ExMUM2QzdEQjAwMDQ3QjhCIC8qIEh5cGhlbmF0aW9uQ0YuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSHlwaGVuYXRpb25DRi5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTM3MUU2NUNCMTM2NjFFREMwMEJFRURCMCAvKiBQYWdlU2VyaWFs
aXplci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYWdlU2VyaWFsaXplci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzFFNjVDRDEzNjYxRUVEMDBCRUVEQjAg
LyogUGFnZVNlcmlhbGl6ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gUGFnZVNlcmlhbGl6ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTMz
NTcsOCArMTMzNTksOCBAQAogCQlDREU1OTU5QzFCRjI3NTcxMDBBMUNCRTggLyogQ0RNU2Vzc2lv
bk1lZGlhU291cmNlQVZGT2JqQy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IENETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakMubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNERTY1NjBFMTdDQTZFNzYwMDUyNkJBNyAvKiBtZWRpYUNvbnRyb2xzQXBw
bGUuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBtZWRpYUNvbnRyb2xzQXBwbGUuanM7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERTY2N0ExMUU0QkJBNEQwMEU4MTU0QSAvKiBQbGF0
Zm9ybUF1ZGlvRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbGF0Zm9y
bUF1ZGlvRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlDREU2NjdBMjFFNEJC
RjE1MDBFODE1NEEgLyogV2ViQXVkaW9CdWZmZXJMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IGNvY29hL1dlYkF1ZGlvQnVmZmVyTGlzdC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNERTY2N0EzMUU0QkJGMTUwMEU4MTU0QSAvKiBXZWJBdWRp
b0J1ZmZlckxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gY29jb2EvV2Vi
QXVkaW9CdWZmZXJMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNERTY2N0Ey
MUU0QkJGMTUwMEU4MTU0QSAvKiBXZWJBdWRpb0J1ZmZlckxpc3QuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViQXVkaW9CdWZmZXJMaXN0LmNwcDsgcGF0aCA9IGNv
Y29hL1dlYkF1ZGlvQnVmZmVyTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUNERTY2N0EzMUU0QkJGMTUwMEU4MTU0QSAvKiBXZWJBdWRpb0J1ZmZlckxpc3QuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViQXVkaW9CdWZmZXJMaXN0Lmg7IHBhdGggPSBj
b2NvYS9XZWJBdWRpb0J1ZmZlckxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
Q0RFN0ZDNDIxODE5MDRCMTAwMkJCQjc3IC8qIE9yZGVySXRlcmF0b3IuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gT3JkZXJJdGVyYXRvci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUNERTdGQzQzMTgxOTA0QjEwMDJCQkI3NyAvKiBPcmRlckl0ZXJh
dG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE9yZGVySXRlcmF0b3IuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFODNEQUYxODNDNDQwNjAwMzFFQUEzIC8q
IFZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTMxNDQyLDYgKzMxNDQ0LDcgQEAKIAkJCQlBQTEyREY0OTE3NDNERjgzMDA0REFGREYg
LyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNE
QTI5QTMwMUNCRjc0RDQwMDkwMUNDRiAvKiBQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5t
bSBpbiBTb3VyY2VzICovLAogCQkJCUNEQTI5QTE2MUNCREE1NkMwMDkwMUNDRiAvKiBQbGF5YmFj
a1Nlc3Npb25JbnRlcmZhY2VNYWMubW0gaW4gU291cmNlcyAqLywKKwkJCQkyRDkyQTc5QTIxMzRB
RDc5MDBGNDkzRkQgLyogUXVpY2tMb29rU29mdExpbmsubW0gaW4gU291cmNlcyAqLywKIAkJCQk0
MTkyNDI0OTIxMjdCOTNFMDA2MzRGQ0YgLyogUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29j
b2EubW0gaW4gU291cmNlcyAqLywKIAkJCQkzMTZEQ0I4QTFFN0E2OTk2MDAxQjVGODcgLyogUlRD
SWNlVHJhbnNwb3J0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNTExNTZFMTJCMTc0OUMwMEM5
Njc1NCAvKiBTY3JvbGxBbmltYXRvck1hYy5tbSBpbiBTb3VyY2VzICovLApAQCAtMzIwNTYsNiAr
MzIwNTksNyBAQAogCQkJCTJEOEI5MkZEMjAzRDEzRTEwMDlDODY4RiAvKiBVbmlmaWVkU291cmNl
NTI4LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOEI5MkZFMjAzRDEzRTEwMDlDODY4RiAvKiBV
bmlmaWVkU291cmNlNTI5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOEI5MkZGMjAzRDEzRTEw
MDlDODY4RiAvKiBVbmlmaWVkU291cmNlNTMwLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJB
NzlEMjEzNEFGOTUwMEY0OTNGRCAvKiBVc2VyQWdlbnRJT1MubW0gaW4gU291cmNlcyAqLywKIAkJ
CQk1MzIwNDIwMjFGOUE5RjEwMDBCODFCMkEgLyogVXNlckFnZW50U2NyaXB0c0RhdGEuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJN0MzQjc5NzExOTA4NzU3QjAwQjQ3QTJEIC8qIFVzZXJNZXNzYWdl
SGFuZGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0U2ODM0NDE5MjE0M0E4MDBGNEQ5Mjgg
LyogVXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUVD
RFNBLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRo
bUVDRFNBLmNwcAppbmRleCA5NzMxN2UwNGE5Nzk3ZjE1NjE2ZGU0Yzc2MDhiNzQ1ZDlmZGVkZWY3
Li4xYjUzYzQ1M2IzNTI1MzZiNDgxMmVkZDJhYTY0ZDkxZTk1ZGY4NTRiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1FQ0RTQS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNE
U0EuY3BwCkBAIC0zNiwxMiArMzYsMTQgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCituYW1l
c3BhY2UgQ3J5cHRvQWxnb3JpdGhtRUNEU0FJbnRlcm5hbCB7CiBzdGF0aWMgY29uc3QgY2hhciog
Y29uc3QgQUxHMjU2ID0gIkVTMjU2IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBBTEczODQg
PSAiRVMzODQiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzUxMiA9ICJFUzUxMiI7CiBz
dGF0aWMgY29uc3QgY2hhciogY29uc3QgUDI1NiA9ICJQLTI1NiI7CiBzdGF0aWMgY29uc3QgY2hh
ciogY29uc3QgUDM4NCA9ICJQLTM4NCI7CiBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgUDUyMSA9
ICJQLTUyMSI7Cit9CiAKIFJlZjxDcnlwdG9BbGdvcml0aG0+IENyeXB0b0FsZ29yaXRobUVDRFNB
OjpjcmVhdGUoKQogewpAQCAtMTAyLDYgKzEwNCw3IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtRUNE
U0E6OmdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMmIHBhcmFtZXRl
CiAKIHZvaWQgQ3J5cHRvQWxnb3JpdGhtRUNEU0E6OmltcG9ydEtleShDcnlwdG9LZXlGb3JtYXQg
Zm9ybWF0LCBLZXlEYXRhJiYgZGF0YSwgY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyYg
cGFyYW1ldGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2Vz
LCBLZXlDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNh
bGxiYWNrKQogeworICAgIHVzaW5nIG5hbWVzcGFjZSBDcnlwdG9BbGdvcml0aG1FQ0RTQUludGVy
bmFsOwogICAgIGNvbnN0IGF1dG8mIGVjUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29y
aXRobUVjS2V5UGFyYW1zPihwYXJhbWV0ZXJzKTsKIAogICAgIFJlZlB0cjxDcnlwdG9LZXlFQz4g
cmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2djcnlwdC9HQ3J5cHRV
dGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nY3J5cHQvR0NyeXB0VXRpbGl0aWVz
LmgKaW5kZXggZjBhNDEzNDU2YTk0NDU5OTU4ZjlhN2YwMjU0NTM0NGI1ZmI2YzNlNS4uMzZmNDhk
MDRkNzgyZDUyMzk5ZGQ3N2M0YmMzZDc4MjhkNzk1YTlmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3J5cHRvL2djcnlwdC9HQ3J5cHRVdGlsaXRpZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jcnlwdG8vZ2NyeXB0L0dDcnlwdFV0aWxpdGllcy5oCkBAIC0zNCw2ICszNCw3IEBACiAjaW5j
bHVkZSA8cGFsL2NyeXB0by9DcnlwdG9EaWdlc3QuaD4KICNpbmNsdWRlIDxwYWwvY3J5cHRvL2dj
cnlwdC9IYW5kbGUuaD4KICNpbmNsdWRlIDxwYWwvY3J5cHRvL2djcnlwdC9VdGlsaXRpZXMuaD4K
KyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCmluZGV4IGE3MWRhM2YwZWUxYTk3ZmI2NTAwMGZjMWE1NTg3OTA0Zjc5MmE2
OGUuLjIyNzU3OTg0MTg1YmZjODJjZGY3ZjMwMTc4NTU4N2IyZGVmMGE5YjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5oCkBAIC02NDEsNyArNjQxLDcgQEAgcHVibGljOgogICAgIAogICAgIFdFQkNPUkVf
RVhQT1JUIERvY3VtZW50TG9hZGVyKiBsb2FkZXIoKSBjb25zdDsKIAotICAgIFdFQkNPUkVfRVhQ
T1JUIEV4Y2VwdGlvbk9yPFJlZlB0cjxXaW5kb3dQcm94eT4+IG9wZW5Gb3JCaW5kaW5ncyhET01X
aW5kb3cmIGFjdGl2ZVdpbmRvdywgRE9NV2luZG93JiBmaXJzdFdpbmRvdywgY29uc3QgU3RyaW5n
JiB1cmwsIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBmZWF0dXJlcyk7
CisgICAgV0VCQ09SRV9FWFBPUlQgRXhjZXB0aW9uT3I8UmVmUHRyPFdpbmRvd1Byb3h5Pj4gb3Bl
bkZvckJpbmRpbmdzKERPTVdpbmRvdyYgYWN0aXZlV2luZG93LCBET01XaW5kb3cmIGZpcnN0RE9N
V2luZG93LCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBjb25z
dCBTdHJpbmcmIGZlYXR1cmVzKTsKICAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRpb25PcjxEb2N1
bWVudCY+IG9wZW5Gb3JCaW5kaW5ncyhEb2N1bWVudCogcmVzcG9uc2libGVEb2N1bWVudCwgY29u
c3QgU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIHJlcGxhY2UpOwogCiAgICAgLy8gRklYTUU6
IFdlIHNob3VsZCByZW5hbWUgdGhpcyBhdCBzb21lIHBvaW50IGFuZCBnaXZlIGJhY2sgdGhlIG5h
bWUgJ29wZW4nIHRvIHRoZSBIVE1MIHNwZWNpZmllZCBvbmVzLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKaW5kZXggZTQwZjlhODg2ZjE1OTA0ZTYy
ZjBmMjY4OGE4NjlhNjk4ODliNGE4OS4uYzczMTkyMmFmODI5ODNiOWRhYTZiYzdmZTUyMjc4NjM3
MzE2ODNmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVC
dWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxk
ZXIuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiSFRNTERvY3VtZW50UGFyc2VyLmgi
CiAjaW5jbHVkZSAiSFRNTEZvcm1Db250cm9sRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxGb3Jt
RWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1M
T3B0R3JvdXBFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE9wdGlvbkVsZW1lbnQuaCIKICNpbmNs
dWRlICJIVE1MUGFyc2VySWRpb21zLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmgKaW5k
ZXggNzJiMjk3NTVmMTFkOTQwOTVmYTdlZGQ1MzA5NjhmN2M1N2I1N2JlYi4uNmQ5YTJkYTliZTAz
MjAwN2E4MmVkYTY4YzE2ZmQyZjI4YjFjMTI4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2Fk
ZXIuaApAQCAtMjUsNiArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkFwcGxp
Y2F0aW9uQ2FjaGVSZXNvdXJjZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJhd1Jlc291cmNlLmgiCiAj
aW5jbHVkZSAiQ2FjaGVkUmF3UmVzb3VyY2VDbGllbnQuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNv
dXJjZUhhbmRsZS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9BbHRlcm5hdGl2
ZVRleHRDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50
LmgKaW5kZXggOTM1NTkzNzg4Zjk4OTljOWUyMjUxMDg4YjRlNzZkMDA1ZDNkMmY5OC4uMTQzZGE2
YzQ3ZjRiY2VmYzBhNDFhYTg3NjQ2N2QwNDQ3MTViYTcwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9BbHRlcm5hdGl2ZVRleHRDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0FsdGVybmF0aXZlVGV4dENsaWVudC5oCkBAIC0yOSwxMSArMjksNiBAQAogI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotI2lmIFBM
QVRGT1JNKE1BQykKLS8vIFNvbWUgcGxhdGZvcm1zIHByb3ZpZGUgVUkgZm9yIHN1Z2dlc3Rpbmcg
YWx0ZXJuYXRpdmUgZGljdGF0aW9uIHRleHQuCi0jZGVmaW5lIFVTRV9ESUNUQVRJT05fQUxURVJO
QVRJVkVTIDEKLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGVudW0gUmVhc29uRm9y
RGlzbWlzc2luZ0FsdGVybmF0aXZlVGV4dCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9QYXN0ZWJvYXJkLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJk
LmgKaW5kZXggZDU0MzNkZDkyMGFlMGVlNTkyYmQ0NWZkNTYwY2RkM2UzOGEzNDcyMS4uZTA5ODE1
NjUxYmQyZDYwNTc0ZGE0MjM2YzM4MGZhZDRkNjAyMTVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Bhc3RlYm9hcmQuaApAQCAtMzM4LDYgKzMzOCw3IEBAIGV4dGVybiBOU1N0cmluZyAqVUlDb2xv
clBib2FyZFR5cGU7CiAjaWYgUExBVEZPUk0oTUFDKQogZXh0ZXJuIGNvbnN0IGNoYXIqIGNvbnN0
IFdlYkFyY2hpdmVQYm9hcmRUeXBlOwogZXh0ZXJuIGNvbnN0IGNoYXIqIGNvbnN0IFdlYlVSTE5h
bWVQYm9hcmRUeXBlOworZXh0ZXJuIGNvbnN0IGNoYXIqIGNvbnN0IFdlYlVSTHNXaXRoVGl0bGVz
UGJvYXJkVHlwZTsKICNlbmRpZgogCiAjaWYgIVBMQVRGT1JNKEdUSykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1Nlc3Npb25NYWMuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2Vzc2lvbk1hYy5jcHAKaW5kZXgg
NzlhYjlmNDFiZTVjZTZkZTg0Yzg4ZTNhNjkxODEwZDBmNDlhNDM5MS4uZTkxODA5ODhkNjljOTY1
MDhkYzEyMWExNzBlNzEyYWVhYWNjZmU1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2Vzc2lvbk1hYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2Vzc2lvbk1hYy5jcHAKQEAgLTMzLDYgKzMzLDcgQEAK
ICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgPENvcmVBdWRpby9BdWRpb0hh
cmR3YXJlLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNw
cAppbmRleCA5NjhiYjIyODZhMWY3ZTU4NDY0ZWY4OGQ3OWU2MWVmNDI0OTAxNTVmLi4zZTJjODJi
OGIxMmVkYTA5ZGI0M2Y0YzEzMDE0YzViYmFjMGI3MDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAK
QEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvckNsaWVu
dC5oIgogI2luY2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvck1hbmFnZXIuaCIKKyNpbmNsdWRl
ICJMb2dnaW5nLmgiCiAKICNpZiBQTEFURk9STShJT1MpCiAjaW5jbHVkZSAiRGlzcGxheVJlZnJl
c2hNb25pdG9ySU9TLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseVNwZWNpZmljYXRpb25OdWxsLmNwcAppbmRleCAyMTc2
OTFmNzIzOTc0ZTgwMDU3OWIyOGNjMDU2YTdiOWMwODVjNjRkLi4xNWMwMzg3Njk4MjYwZjQwNWUy
MmU1YmY1Mjc4MDAzMDhjN2ZlM2JmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHAK
QEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJGb250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwu
aCIKIAogI2luY2x1ZGUgIkZvbnRTZWxlY3Rvci5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21p
Y1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q2Fpcm8uY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udENhaXJvLmNwcAppbmRleCAwNmQ5
ZDc0OTRhNGJlYWE4ZTNhOWNlN2FmZTZkYWIzNWIxYzJkYjc4Li4yODZiYzZkOGUzYzI2NTMwNDZj
NjNiNTJiMzZkMDkwMzFmMjA4ZDkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYWlyby9Gb250Q2Fpcm8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDYWlyby5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpZiBV
U0UoQ0FJUk8pCiAKICNpbmNsdWRlICJBZmZpbmVUcmFuc2Zvcm0uaCIKKyNpbmNsdWRlICJDYWly
b09wZXJhdGlvbnMuaCIKICNpbmNsdWRlICJDYWlyb1V0aWxpdGllcy5oIgogI2luY2x1ZGUgIkZv
bnQuaCIKICNpbmNsdWRlICJHbHlwaEJ1ZmZlci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdMTGF5ZXIubW0KaW5kZXggM2VkN2U0MWU3YzY4
ODQ2ZjNmYmMxNzJjZTZiYTk4OWZmODdmNTdlYi4uOGVlMzQ4ZDg5OTg2MzQxM2Q2YjY3MTM3NmU1
YjFkYTU0Y2IxMzc2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvV2ViR0xMYXllci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jb2NvYS9XZWJHTExheWVyLm1tCkBAIC00MiwxMyArNDIsMTEgQEAKICNpbXBvcnQgPE9w
ZW5HTC9nbC5oPgogI2VuZGlmCiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBAaW1wbGVt
ZW50YXRpb24gV2ViR0xMYXllcgogCiBAc3ludGhlc2l6ZSBjb250ZXh0PV9jb250ZXh0OwogCi0t
KGlkKWluaXRXaXRoR3JhcGhpY3NDb250ZXh0M0Q6KEdyYXBoaWNzQ29udGV4dDNEKiljb250ZXh0
CistKGlkKWluaXRXaXRoR3JhcGhpY3NDb250ZXh0M0Q6KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEKiljb250ZXh0CiB7CiAgICAgX2NvbnRleHQgPSBjb250ZXh0OwogICAgIHNlbGYgPSBbc3Vw
ZXIgaW5pdF07CkBAIC04Niw3ICs4NCw3IEBAIHN0YXRpYyB2b2lkIGZyZWVEYXRhKHZvaWQgKiwg
Y29uc3Qgdm9pZCAqZGF0YSwgc2l6ZV90IC8qIHNpemUgKi8pCiB9CiAjZW5kaWYKIAotLShDR0lt
YWdlUmVmKWNvcHlJbWFnZVNuYXBzaG90V2l0aENvbG9yU3BhY2U6KENHQ29sb3JTcGFjZVJlZilj
b2xvclNwYWNlCistIChDR0ltYWdlUmVmKWNvcHlJbWFnZVNuYXBzaG90V2l0aENvbG9yU3BhY2U6
KENHQ29sb3JTcGFjZVJlZiljb2xvclNwYWNlCiB7CiAgICAgaWYgKCFfY29udGV4dCkKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CkBAIC05Niw3ICs5NCw3IEBAIC0oQ0dJbWFnZVJlZiljb3B5SW1h
Z2VTbmFwc2hvdFdpdGhDb2xvclNwYWNlOihDR0NvbG9yU3BhY2VSZWYpY29sb3JTcGFjZQogCiAg
ICAgUmV0YWluUHRyPENHQ29sb3JTcGFjZVJlZj4gaW1hZ2VDb2xvclNwYWNlID0gY29sb3JTcGFj
ZTsKICAgICBpZiAoIWltYWdlQ29sb3JTcGFjZSkKLSAgICAgICAgaW1hZ2VDb2xvclNwYWNlID0g
c1JHQkNvbG9yU3BhY2VSZWYoKTsKKyAgICAgICAgaW1hZ2VDb2xvclNwYWNlID0gV2ViQ29yZTo6
c1JHQkNvbG9yU3BhY2VSZWYoKTsKIAogICAgIENHUmVjdCBsYXllckJvdW5kcyA9IENHUmVjdElu
dGVncmFsKFtzZWxmIGJvdW5kc10pOwogCkBAIC0xNDEsMTkgKzEzOSwxOSBAQCAtICh2b2lkKWRp
c3BsYXkKICNlbmRpZgogCiAgICAgX2NvbnRleHQtPm1hcmtMYXllckNvbXBvc2l0ZWQoKTsKLSAg
ICBQbGF0Zm9ybUNBTGF5ZXIqIGxheWVyID0gUGxhdGZvcm1DQUxheWVyOjpwbGF0Zm9ybUNBTGF5
ZXIoKF9fYnJpZGdlIHZvaWQqKXNlbGYpOworICAgIFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXllciog
bGF5ZXIgPSBXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXI6OnBsYXRmb3JtQ0FMYXllcigoX19icmlk
Z2Ugdm9pZCopc2VsZik7CiAgICAgaWYgKGxheWVyICYmIGxheWVyLT5vd25lcigpKQogICAgICAg
ICBsYXllci0+b3duZXIoKS0+cGxhdGZvcm1DQUxheWVyTGF5ZXJEaWREaXNwbGF5KGxheWVyKTsK
IH0KIAogI2lmIFVTRShPUEVOR0wpCi0tICh2b2lkKWFsbG9jYXRlSU9TdXJmYWNlQmFja2luZ1N0
b3JlV2l0aFNpemU6KEludFNpemUpc2l6ZSB1c2luZ0FscGhhOihCT09MKXVzaW5nQWxwaGEKKy0g
KHZvaWQpYWxsb2NhdGVJT1N1cmZhY2VCYWNraW5nU3RvcmVXaXRoU2l6ZTooV2ViQ29yZTo6SW50
U2l6ZSlzaXplIHVzaW5nQWxwaGE6KEJPT0wpdXNpbmdBbHBoYQogewogICAgIF9idWZmZXJTaXpl
ID0gc2l6ZTsKICAgICBfdXNpbmdBbHBoYSA9IHVzaW5nQWxwaGE7Ci0gICAgX2NvbnRlbnRzQnVm
ZmVyID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVhdGUoc2l6ZSwgc1JHQkNvbG9yU3BhY2VSZWYo
KSk7Ci0gICAgX2RyYXdpbmdCdWZmZXIgPSBXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShzaXpl
LCBzUkdCQ29sb3JTcGFjZVJlZigpKTsKLSAgICBfc3BhcmVCdWZmZXIgPSBXZWJDb3JlOjpJT1N1
cmZhY2U6OmNyZWF0ZShzaXplLCBzUkdCQ29sb3JTcGFjZVJlZigpKTsKKyAgICBfY29udGVudHNC
dWZmZXIgPSBXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShzaXplLCBXZWJDb3JlOjpzUkdCQ29s
b3JTcGFjZVJlZigpKTsKKyAgICBfZHJhd2luZ0J1ZmZlciA9IFdlYkNvcmU6OklPU3VyZmFjZTo6
Y3JlYXRlKHNpemUsIFdlYkNvcmU6OnNSR0JDb2xvclNwYWNlUmVmKCkpOworICAgIF9zcGFyZUJ1
ZmZlciA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUsIFdlYkNvcmU6OnNSR0JDb2xv
clNwYWNlUmVmKCkpOwogCiAgICAgQVNTRVJUKF9jb250ZW50c0J1ZmZlcik7CiAgICAgQVNTRVJU
KF9kcmF3aW5nQnVmZmVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvV2ViR1BVTGF5ZXIubW0KaW5kZXggNWMzNTU3ZjhiZDY2YTY4YzkyM2IyM2Fh
NjQ3YmI3MTQ4NDA5ZTlhMS4uMjVlZmI4Yjc0NzY4MDI0NTU4ZGJjZGYzMGY3NDMxODcxNDY5NTVh
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2Vi
R1BVTGF5ZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
V2ViR1BVTGF5ZXIubW0KQEAgLTM0LDEzICszNCwxMSBAQAogI2ltcG9ydCA8d3RmL0Zhc3RNYWxs
b2MuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7Ci0KIEBpbXBsZW1lbnRhdGlvbiBXZWJHUFVMYXllcgogCiBAc3ludGhlc2l6ZSBjb250ZXh0
PV9jb250ZXh0OwogCi0tIChpZClpbml0V2l0aEdQVURldmljZTooR1BVRGV2aWNlKiljb250ZXh0
CistIChpZClpbml0V2l0aEdQVURldmljZTooV2ViQ29yZTo6R1BVRGV2aWNlKiljb250ZXh0CiB7
CiAgICAgc2VsZiA9IFtzdXBlciBpbml0XTsKICAgICBfY29udGV4dCA9IGNvbnRleHQ7CkBAIC01
MCw3ICs0OCw3IEBAIC0gKGlkKWluaXRXaXRoR1BVRGV2aWNlOihHUFVEZXZpY2UqKWNvbnRleHQK
IAogI2lmIFBMQVRGT1JNKE1BQykKICAgICBzZWxmLmNvbnRlbnRzU2NhbGUgPSBfZGV2aWNlUGl4
ZWxSYXRpbzsKLSAgICBzZWxmLmNvbG9yc3BhY2UgPSBzUkdCQ29sb3JTcGFjZVJlZigpOworICAg
IHNlbGYuY29sb3JzcGFjZSA9IFdlYkNvcmU6OnNSR0JDb2xvclNwYWNlUmVmKCk7CiAjZW5kaWYK
ICAgICByZXR1cm4gc2VsZjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29tbWFuZFF1ZXVlTWV0YWwubW0KaW5kZXggODIw
YWY4YmMxNmRiM2I0ODY1ZTc5YjdiODI0ZGIyYzdiNGRmM2VjYy4uMzAzYjI1ZGEzZDRhNjRlZDFi
MDAzMGI3MmI5ZmRiYzZmOTY1YzMzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29tbWFuZFF1ZXVlTWV0YWwubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29tbWFuZFF1ZXVlTWV0YWwubW0KQEAg
LTMxLDYgKzMxLDcgQEAKICNpbXBvcnQgIkdQVURldmljZS5oIgogI2ltcG9ydCAiTG9nZ2luZy5o
IgogI2ltcG9ydCA8TWV0YWwvTWV0YWwuaD4KKyNpbXBvcnQgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L1Bhc3RlYm9hcmRNYWMubW0KaW5kZXggY2I1MDRjZjU0M2ViN2U4MGQ3NjY1Y2QxZTU3ZTMwODlh
ZmZiMWE3MC4uZmQ2ZTkyOTg3NzRmYWY0ZmU4NzM1YmYyNzU2NWFkYzk1MzJiZjYzNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRNYWMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRNYWMubW0KQEAgLTUyLDEwICs1
MiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNvbnN0IGNoYXIqIGNvbnN0IFdlYkFyY2hp
dmVQYm9hcmRUeXBlID0gIkFwcGxlIFdlYiBBcmNoaXZlIHBhc3RlYm9hcmQgdHlwZSI7CiBjb25z
dCBjaGFyKiBjb25zdCBXZWJVUkxOYW1lUGJvYXJkVHlwZSA9ICJwdWJsaWMudXJsLW5hbWUiOwor
Y29uc3QgY2hhciogY29uc3QgV2ViVVJMc1dpdGhUaXRsZXNQYm9hcmRUeXBlID0gIldlYlVSTHNX
aXRoVGl0bGVzUGJvYXJkVHlwZSI7CiAKIGNvbnN0IGNoYXIgV2ViU21hcnRQYXN0ZVBib2FyZFR5
cGVbXSA9ICJOZVhUIHNtYXJ0IHBhc3RlIHBhc3RlYm9hcmQgdHlwZSI7CiBjb25zdCBjaGFyIFdl
YlVSTFBib2FyZFR5cGVbXSA9ICJwdWJsaWMudXJsIjsKLWNvbnN0IGNoYXIgV2ViVVJMc1dpdGhU
aXRsZXNQYm9hcmRUeXBlW10gPSAiV2ViVVJMc1dpdGhUaXRsZXNQYm9hcmRUeXBlIjsKIAogc3Rh
dGljIGNvbnN0IFZlY3RvcjxTdHJpbmc+IHdyaXRhYmxlVHlwZXNGb3JVUkwoKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0
dXJlTWFuYWdlckNvY29hLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAKaW5kZXggNWMyYTlkMjQxOThhMTNl
NDhjNGY3M2U5ZGU2MWRkMzdhZGU5MjU1MS4uZjQ5MmU2MTQyZjAyMzFiOTk3ZTk2YmE1OTI3OTU4
ODU2ODA5MzNhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbWFjL0Rpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3Bw
CkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCisjaW5jbHVk
ZSAiQ29yZVZpZGVvU29mdExpbmsuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSA8
d3RmL0FsZ29yaXRobXMuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFz
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJh
c2UuY3BwCmluZGV4IDI1NDA5NjU2YzNkNjMyMDM2MTY1ZmFiMWRkNzQ5ZTg4ZmNhNjg0ODIuLmZm
NTgzNjE3NGVhYjk1OTUyOGEyMDdiZmJhYWI2MDAzOWQ5YjUwMzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcApA
QCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkhUVFBIZWFkZXJOYW1lcy5oIgogI2luY2x1ZGUg
IlB1YmxpY1N1ZmZpeC5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgorI2luY2x1ZGUg
IlJlc291cmNlUmVzcG9uc2UuaCIKICNpbmNsdWRlICJTZWN1cml0eVBvbGljeS5oIgogI2luY2x1
ZGUgPHd0Zi9Qb2ludGVyQ29tcGFyaXNvbi5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0Zvcm1EYXRhU3RyZWFtQ0ZOZXQuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Gb3JtRGF0YVN0cmVhbUNGTmV0LmNwcAppbmRleCAy
OTAyNWQzOGE3ZmQzNmZmOWI5OTYyMzkxZjA4MDg3MDIxZmYxMzBlLi5lNTMyMWMyN2Q0ZDk2OGM2
NmU0Y2Q0YzY3Nzk2M2Y1YTdkNmNhZGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2NmL0Zvcm1EYXRhU3RyZWFtQ0ZOZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5ldC5jcHAKQEAgLTQyLDEx
ICs0Miw3IEBACiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9U
aHJlYWRpbmcuaD4KIAotI2lmIFBMQVRGT1JNKElPUykgJiYgIVBMQVRGT1JNKElPU01BQykKLXN0
YXRpYyBjb25zdCBTSW50MzIgZm5mRXJyID0gLTQzOwotI2VsaWYgUExBVEZPUk0oTUFDKQotI2lu
Y2x1ZGUgPENvcmVTZXJ2aWNlcy9Db3JlU2VydmljZXMuaD4KLSNlbmRpZgorc3RhdGljIGNvbnN0
IFNJbnQzMiBmaWxlTm90Rm91bmRFcnJvciA9IC00MzsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQog
ZXh0ZXJuICJDIiB2b2lkIENGVVJMUmVxdWVzdFNldEhUVFBSZXF1ZXN0Qm9keShDRk11dGFibGVV
UkxSZXF1ZXN0UmVmIG11dGFibGVIVFRQUmVxdWVzdCwgQ0ZEYXRhUmVmIGh0dHBCb2R5KTsKQEAg
LTI0MSw3ICsyMzcsNyBAQCBzdGF0aWMgQm9vbGVhbiBmb3JtT3BlbihDRlJlYWRTdHJlYW1SZWYs
IENGU3RyZWFtRXJyb3IqIGVycm9yLCBCb29sZWFuKiBvcGVuQ29tcAogI2lmIFBMQVRGT1JNKFdJ
TikKICAgICAgICAgRU5PRU5UOwogI2Vsc2UKLSAgICAgICAgZm5mRXJyOworICAgICAgICBmaWxl
Tm90Rm91bmRFcnJvcjsKICNlbmRpZgogICAgIHJldHVybiBvcGVuZWQ7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4LmNwcAppbmRleCBiMzE4ZTYyMmJj
YmUxMTgwMTlhNDE2ODU2MzMzNTU2ZjEwNzJkNzllLi4yMWYwMzhiYzZkNDViNDY4ZGUyYWVmNzQ2
Nzk4NWI0ZDAyNWRjNzk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L1RleHRDb2RlY1VURjguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4
dENvZGVjVVRGOC5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJUZXh0Q29kZWNBU0NJ
SUZhc3RQYXRoLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L1N0cmluZ0J1ZmZlci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgog
I2luY2x1ZGUgPHd0Zi91bmljb2RlL0NoYXJhY3Rlck5hbWVzLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVj
VVRGOC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4LmgKaW5k
ZXggZjgyODJiNWYzNGE4OTQ3M2RlOWFkN2EyMTc2NWFmNmEzMmFjZjk1Yy4uODRmNzE0N2U2ZGMz
NGYyZTc1MTU2MTIxMDE5YmFmMTQwZTViYzFlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9UZXh0Q29kZWNVVEY4LmgKQEAgLTI2LDYgKzI2LDcgQEAKICNwcmFnbWEgb25jZQog
CiAjaW5jbHVkZSAiVGV4dENvZGVjLmgiCisjaW5jbHVkZSA8dW5pY29kZS91dGY4Lmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvTENoYXIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxv
Y2tGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVl
QnVpbGRlckJsb2NrRmxvdy5jcHAKaW5kZXggM2JjODJjNmUxYWJkMmZhYzQzYjA5OWM4ZTZlM2Nj
ZjM2NmRkODUzYi4uMmMyYjUwOGZhYzVjNmZjODQ2Mjg1YzlmZmE4OTVhN2I0MDIyYjhlYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWls
ZGVyQmxvY2tGbG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcv
UmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cuY3BwCkBAIC0yNyw2ICsyNyw4IEBACiAjaW5jbHVk
ZSAiUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cuaCIKIAogI2luY2x1ZGUgIlJlbmRlck11bHRp
Q29sdW1uRmxvdy5oIgorI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyQmxvY2suaCIKKyNpbmNs
dWRlICJSZW5kZXJUcmVlQnVpbGRlck11bHRpQ29sdW1uLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRl
clRyZWVCdWlsZGVySW5saW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGlu
Zy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAKaW5kZXggN2NkMDcxNWRmNTI0YTc2ZmQyMDZh
MjM0MjhkOWRhYzdkN2Q4NTNmOC4uZGM5NTNjY2RjZWU4MzAxZGZkMDU5N2E2MWQwNTJlM2M1MGI5
ZjYxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRl
clRyZWVCdWlsZGVySW5saW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBk
YXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5j
bHVkZSAiUmVuZGVyRnVsbFNjcmVlbi5oIgogI2luY2x1ZGUgIlJlbmRlcklubGluZS5oIgogI2lu
Y2x1ZGUgIlJlbmRlclRhYmxlLmgiCisjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJUYWJsZS5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlclJ1YnkuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyUnVieS5jcHAKaW5kZXggN2Fj
MTliYWM1YmJjOGRkOWNjNjI0YmFhNDFkOWM4OWM3MWQxMWE4OC4uNjMzZDc4Y2JiNmM4NzIwN2Jj
NmY2ZjhjNGU5MjdjN2JiYWNjYzhjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyUnVieS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyUnVieS5jcHAKQEAgLTI2LDYg
KzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRl
clJ1YnkuaCIKIAorI2luY2x1ZGUgIkVsZW1lbnRBbmNlc3Rvckl0ZXJhdG9yLmgiCiAjaW5jbHVk
ZSAiUmVuZGVyUnVieS5oIgogI2luY2x1ZGUgIlJlbmRlclJ1YnlCYXNlLmgiCiAjaW5jbHVkZSAi
UmVuZGVyUnVieVJ1bi5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3Vw
ZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91
cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAKaW5kZXggN2Q3NmFmOTQyNzQ2MTc1ZWI5YTJj
NTllNzFhOTcxMjRmZmMwZGEyNC4uNjUyMjZhMDU1MWU1ZjFlZTRhODM0OGJlY2Q5MzVlM2JiNDAw
YTA3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRl
clRyZWVVcGRhdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcv
UmVuZGVyVHJlZVVwZGF0ZXIuY3BwCkBAIC00MSw2ICs0MSw4IEBACiAjaW5jbHVkZSAiUmVuZGVy
RGVzY2VuZGFudEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVyRnVsbFNjcmVlbi5oIgogI2lu
Y2x1ZGUgIlJlbmRlcklubGluZS5oIgorI2luY2x1ZGUgIlJlbmRlck11bHRpQ29sdW1uRmxvdy5o
IgorI2luY2x1ZGUgIlJlbmRlck11bHRpQ29sdW1uU2V0LmgiCiAjaW5jbHVkZSAiUmVuZGVyVHJl
ZVVwZGF0ZXJHZW5lcmF0ZWRDb250ZW50LmgiCiAjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5oIgogI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmUubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElX
ZWJBcmNoaXZlLm1tCmluZGV4IGIxNzQyZmRmZGQzODY5ZWFkZDNkN2M1YWVlNzA1ZTY2MWY5N2Vl
ZGMuLmI4Yzk3MmY3ZWMxOGViN2Q0YzlhNzFkZTJiNGUxZTJjNjVkZTg3NjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmUubW0KKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvQVBJV2ViQXJjaGl2ZS5tbQpAQCAtMzQsOSArMzQsOCBAQAogI2luY2x1ZGUgPFdl
YkNvcmUvTGVnYWN5V2ViQXJjaGl2ZS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAot
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIG5hbWVzcGFjZSBBUEkgewordXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CiAKIFJlZjxXZWJBcmNoaXZlPiBXZWJBcmNoaXZlOjpjcmVhdGUoV2ViQXJj
aGl2ZVJlc291cmNlKiBtYWluUmVzb3VyY2UsIFJlZlB0cjxBUEk6OkFycmF5PiYmIHN1YnJlc291
cmNlcywgUmVmUHRyPEFQSTo6QXJyYXk+JiYgc3ViZnJhbWVBcmNoaXZlcykKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmVSZXNvdXJjZS5tbSBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmVSZXNvdXJjZS5tbQppbmRleCBjYWU1Yjg1ZGYx
NzdkZGRlNjhkODUyZTVlNTA2ZDhkOTJiZTJlYTk0Li5kYzBmOTBmMGYzODUxYWJmMTAwNDg0YmE1
NzNhZTRhZjhlODBiMjMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJB
cmNoaXZlUmVzb3VyY2UubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2
ZVJlc291cmNlLm1tCkBAIC0zMyw5ICszMyw4IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9VUkwuaD4K
ICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwot
CiBuYW1lc3BhY2UgQVBJIHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBSZWY8V2ViQXJj
aGl2ZVJlc291cmNlPiBXZWJBcmNoaXZlUmVzb3VyY2U6OmNyZWF0ZShBUEk6OkRhdGEqIGRhdGEs
IGNvbnN0IFN0cmluZyYgVVJMLCBjb25zdCBTdHJpbmcmIE1JTUVUeXBlLCBjb25zdCBTdHJpbmcm
IHRleHRFbmNvZGluZykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdp
bnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMubW0K
aW5kZXggNjhkN2M2YWRmMzYyNzUxMzEyOTYzNTYyODZmMTFlODQ5YzE0YzJjMC4uYzBjY2FjNTk4
NTNjZmFmZmQ5ZmYxZDFlM2Q2OGI2N2Q2NDU3ZjdjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMubW0K
KysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQ
bHVnaW5Nb2R1bGVNYWMubW0KQEAgLTM0LDkgKzM0LDggQEAKICNpbXBvcnQgPHd0Zi9NYWluVGhy
ZWFkLmg+CiAjaW1wb3J0IDx3dGYvc3BpL2NmL0NGQnVuZGxlU1BJLmg+CiAKLXVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwotCiBuYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogCiBzdGF0aWMgYm9vbCBnZXRQbHVnaW5BcmNoaXRlY3R1cmUoQ0ZCdW5kbGVSZWYgYnVu
ZGxlLCBQbHVnaW5Nb2R1bGVJbmZvJiBwbHVnaW4pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9QbHVnaW5JbmZvcm1hdGlvbk1hYy5tbSBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL1BsdWdpbkluZm9ybWF0
aW9uTWFjLm1tCmluZGV4IDVlYzg0MjQ5NTljYmMxOTI4ODZmYTc1YWJmMDNmM2Q4ODViY2IxZDku
LjMyNTg0ZDQxNmJlMGZmMjVlOWU5MWRkZjQyODcwZTMzOTRmNDkzNjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL1BsdWdpbkluZm9ybWF0aW9u
TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL1Bs
dWdpbkluZm9ybWF0aW9uTWFjLm1tCkBAIC0zNCw5ICszNCw4IEBACiAjaW1wb3J0ICJTdHJpbmdV
dGlsaXRpZXMuaCIKICNpbXBvcnQgPFdlYkNvcmUvUGx1Z2luQmxhY2tsaXN0Lmg+CiAKLXVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwotCiBuYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwogCiB2b2lkIGdldFBsYXRmb3JtUGx1Z2luTW9kdWxlSW5mb3JtYXRpb24oY29u
c3QgUGx1Z2luTW9kdWxlSW5mbyYgcGx1Z2luLCBBUEk6OkRpY3Rpb25hcnk6Ok1hcFR5cGUmIG1h
cCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJj
ZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRleCBkOGEzYzkwZGZmZTMyMjMyMmQ3NjNlZTIx
ZTdjYmE0NTBmZTg1ZmNmLi40YjhkNDgwNmI0NGYyMjA0NjU4NTc3ZWI3YTk2NzhjYjhlMzQ3OWJm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNl
L1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC0yOTgsOSArMjk4LDkgQEAgVUlQcm9jZXNzL0FQ
SS9tYWMvV0tWaWV3Lm1tIEBuby11bmlmeQogCiBVSVByb2Nlc3MvQXBwbGVQYXkvY29jb2EvV2Vi
UGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQogCi1VSVByb2Nlc3MvQXBwbGVQYXkvaW9z
L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5SU9TLm1tCitVSVByb2Nlc3MvQXBwbGVQYXkvaW9z
L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5SU9TLm1tIEBuby11bmlmeQogCi1VSVByb2Nlc3Mv
QXBwbGVQYXkvbWFjL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWFjLm1tCitVSVByb2Nlc3Mv
QXBwbGVQYXkvbWFjL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWFjLm1tIEBuby11bmlmeQog
CiBVSVByb2Nlc3MvQXV0aGVudGljYXRpb24vY29jb2EvQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQ
cm94eUNvY29hLm1tCiBVSVByb2Nlc3MvQXV0aGVudGljYXRpb24vY29jb2EvU2VjS2V5UHJveHlT
dG9yZS5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9t
YXRpb25TZXNzaW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXV0
b21hdGlvblNlc3Npb25DbGllbnQuaAppbmRleCBiZmM1ZWUzMzgyMjBkOTE1NmZjY2YwMGMxZTc2
ZDBiYmVlOTA0MTkwLi4zNzljODg1N2JlOTRiNjE5NTU1ZWRmZmVjNGMzYTlhNmUxNzc5NDg0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Np
b25DbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlv
blNlc3Npb25DbGllbnQuaApAQCAtNTEsNyArNTEsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFs
IH5BdXRvbWF0aW9uU2Vzc2lvbkNsaWVudCgpIHsgfQogCi0gICAgdmlydHVhbCBTdHJpbmcgc2Vz
c2lvbklkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBTdHJpbmcoKTsgfQorICAgIHZpcnR1YWwg
V1RGOjpTdHJpbmcgc2Vzc2lvbklkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBXVEY6OlN0cmlu
ZygpOyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZERpc2Nvbm5lY3RGcm9tUmVtb3RlKFdlYktpdDo6
V2ViQXV0b21hdGlvblNlc3Npb24mKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdE5ld1Bh
Z2VXaXRoT3B0aW9ucyhXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgQXV0b21hdGlvblNl
c3Npb25Ccm93c2luZ0NvbnRleHRPcHRpb25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYktp
dDo6V2ViUGFnZVByb3h5Kik+JiYgY29tcGxldGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRs
ZXIobnVsbHB0cik7IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdE1heGltaXplV2luZG93T2ZQ
YWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgeyBjb21wbGV0
aW9uSGFuZGxlcigpOyB9CkBAIC02MSw4ICs2MSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJv
b2wgaXNTaG93aW5nSmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25T
ZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZp
cnR1YWwgdm9pZCBkaXNtaXNzQ3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpX
ZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyB9CiAgICAgdmly
dHVhbCB2b2lkIGFjY2VwdEN1cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2Vi
QXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgfQotICAgIHZpcnR1
YWwgU3RyaW5nIG1lc3NhZ2VPZkN1cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6
V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgcmV0dXJuIFN0
cmluZygpOyB9Ci0gICAgdmlydHVhbCB2b2lkIHNldFVzZXJJbnB1dEZvckN1cnJlbnRKYXZhU2Ny
aXB0UHJvbXB0T25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6Oldl
YlBhZ2VQcm94eSYsIGNvbnN0IFN0cmluZyYpIHsgfQorICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcg
bWVzc2FnZU9mQ3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0
aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyByZXR1cm4gV1RGOjpTdHJpbmco
KTsgfQorICAgIHZpcnR1YWwgdm9pZCBzZXRVc2VySW5wdXRGb3JDdXJyZW50SmF2YVNjcmlwdFBy
b21wdE9uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdl
UHJveHkmLCBjb25zdCBXVEY6OlN0cmluZyYpIHsgfQogICAgIHZpcnR1YWwgc3RkOjpvcHRpb25h
bDxKYXZhU2NyaXB0RGlhbG9nVHlwZT4gdHlwZU9mQ3VycmVudEphdmFTY3JpcHREaWFsb2dPblBh
Z2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5Jikg
eyByZXR1cm4gc3RkOjpudWxsb3B0OyB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJD
bGllbnQubW0KaW5kZXggMTFiYTM3MjY1NDgzZmZlN2ZmMjQ2NTA5NDBkOGYzM2E1MmMwYzA0YS4u
MTlhNTliNDJjYWI3YjU0N2VkOTQ0NjBlNzJmYzAzOTZjZmU3OTI4NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xp
ZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1c3RvbVBy
b3RvY29sTWFuYWdlckNsaWVudC5tbQpAQCAtMzIsMjMgKzMyLDIwIEBACiAjaW1wb3J0IDxXZWJD
b3JlL1Jlc291cmNlUmVxdWVzdC5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNl
Lmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsK
LQogQGludGVyZmFjZSBXS0N1c3RvbVByb3RvY29sTG9hZGVyIDogTlNPYmplY3QgPE5TVVJMQ29u
bmVjdGlvbkRlbGVnYXRlPiB7CiBAcHJpdmF0ZQotICAgIExlZ2FjeUN1c3RvbVByb3RvY29sTWFu
YWdlclByb3h5KiBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk7CisgICAgV2ViS2l0OjpMZWdh
Y3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSogX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5
OwogICAgIHVpbnQ2NF90IF9jdXN0b21Qcm90b2NvbElEOwogICAgIE5TVVJMQ2FjaGVTdG9yYWdl
UG9saWN5IF9zdG9yYWdlUG9saWN5OwogICAgIE5TVVJMQ29ubmVjdGlvbiAqX3VybENvbm5lY3Rp
b247CiB9Ci0tIChpZClpbml0V2l0aExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OihM
ZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSopY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJv
eHkgY3VzdG9tUHJvdG9jb2xJRDoodWludDY0X3QpY3VzdG9tUHJvdG9jb2xJRCByZXF1ZXN0OihO
U1VSTFJlcXVlc3QgKilyZXF1ZXN0OworLSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2Nv
bE1hbmFnZXJQcm94eTooV2ViS2l0OjpMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSop
Y3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJvdG9jb2xJRDoodWludDY0X3QpY3Vz
dG9tUHJvdG9jb2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0OwogLSAodm9pZClj
dXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eURlc3Ryb3llZDsKIEBlbmQKIAogQGltcGxlbWVudGF0
aW9uIFdLQ3VzdG9tUHJvdG9jb2xMb2FkZXIKIAotLSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Q
cm90b2NvbE1hbmFnZXJQcm94eTooTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqKWN1
c3RvbVByb3RvY29sTWFuYWdlclByb3h5IGN1c3RvbVByb3RvY29sSUQ6KHVpbnQ2NF90KWN1c3Rv
bVByb3RvY29sSUQgcmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdAorLSAoaWQpaW5pdFdp
dGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTooV2ViS2l0OjpMZWdhY3lDdXN0b21Q
cm90b2NvbE1hbmFnZXJQcm94eSopY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJv
dG9jb2xJRDoodWludDY0X3QpY3VzdG9tUHJvdG9jb2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3Qg
KilyZXF1ZXN0CiB7CiAgICAgc2VsZiA9IFtzdXBlciBpbml0XTsKICAgICBpZiAoIXNlbGYpCkBA
IC04NSw3ICs4Miw3IEBAIC0gKHZvaWQpY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHlEZXN0cm95
ZWQKIAogLSAodm9pZCljb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIGRp
ZEZhaWxXaXRoRXJyb3I6KE5TRXJyb3IgKillcnJvcgogewotICAgIFJlc291cmNlRXJyb3IgY29y
ZUVycm9yKGVycm9yKTsKKyAgICBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGNvcmVFcnJvcihlcnJv
cik7CiAgICAgX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5LT5kaWRGYWlsV2l0aEVycm9yKF9j
dXN0b21Qcm90b2NvbElELCBjb3JlRXJyb3IpOwogICAgIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQ
cm94eS0+c3RvcExvYWRpbmcoX2N1c3RvbVByb3RvY29sSUQpOwogfQpAQCAtOTksNyArOTYsNyBA
QCAtIChOU0NhY2hlZFVSTFJlc3BvbnNlICopY29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICop
Y29ubmVjdGlvbiB3aWxsQ2FjaGVSZXNwbwogCiAtICh2b2lkKWNvbm5lY3Rpb246KE5TVVJMQ29u
bmVjdGlvbiAqKWNvbm5lY3Rpb24gZGlkUmVjZWl2ZVJlc3BvbnNlOihOU1VSTFJlc3BvbnNlICop
cmVzcG9uc2UKIHsKLSAgICBSZXNvdXJjZVJlc3BvbnNlIGNvcmVSZXNwb25zZShyZXNwb25zZSk7
CisgICAgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSBjb3JlUmVzcG9uc2UocmVzcG9uc2UpOwog
ICAgIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS0+ZGlkUmVjZWl2ZVJlc3BvbnNlKF9jdXN0
b21Qcm90b2NvbElELCBjb3JlUmVzcG9uc2UsIF9zdG9yYWdlUG9saWN5KTsKIH0KIApAQCAtMTI3
LDYgKzEyNCw3IEBAIC0gKHZvaWQpY29ubmVjdGlvbkRpZEZpbmlzaExvYWRpbmc6KE5TVVJMQ29u
bmVjdGlvbiAqKWNvbm5lY3Rpb24KIEBlbmQKIAogbmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIAogdm9pZCBMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGll
bnQ6OnN0YXJ0TG9hZGluZyhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSYgbWFuYWdl
ciwgdWludDY0X3QgY3VzdG9tUHJvdG9jb2xJRCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBjb3Jl
UmVxdWVzdCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luUHJvY2Vzc1Byb3h5LmNwcAppbmRleCBjMmI5MWE2Mzk3M2U2MzEyMGFhZTUyOGY4OTc1
Mzg1ZjdiNmRiZjYyLi5lZGVkOWM3ZDJhNGU1OGUzZDA1OGQ4MzI2ODMxMDk4MTgyYWY0NDc2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQ
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9j
ZXNzUHJveHkuY3BwCkBAIC00OCw3ICs0OCw3IEBAIHN0YXRpYyBjb25zdCBTZWNvbmRzIHNuYXBz
aG90dGluZ01pbmltdW1MaWZldGltZSB7IDMwX3MgfTsKIHN0YXRpYyBjb25zdCBTZWNvbmRzIHNo
dXRkb3duVGltZW91dCB7IDFfbWluIH07CiBzdGF0aWMgY29uc3QgU2Vjb25kcyBzbmFwc2hvdHRp
bmdTaHV0ZG93blRpbWVvdXQgeyAxNV9zIH07CiAKLXN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUNh
bGxiYWNrSUQoKQorc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNr
SUQoKQogewogICAgIHN0YXRpYyB1aW50NjRfdCBjYWxsYmFja0lEOwogCkBAIC0xMTQsNyArMTE0
LDcgQEAgdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmdldFBsdWdpblByb2Nlc3NDb25uZWN0aW9u
KE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkcKIAogdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6
OmZldGNoV2Vic2l0ZURhdGEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAoVmVjdG9yPFN0cmluZz4p
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5l
cmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVQbHVn
aW5Qcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVuZGluZ0ZldGNoV2Vic2l0ZURhdGFDYWxs
YmFja3Muc2V0KGNhbGxiYWNrSUQsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAg
IGlmIChzdGF0ZSgpID09IFN0YXRlOjpMYXVuY2hpbmcpIHsKQEAgLTEyNyw3ICsxMjcsNyBAQCB2
b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YShDb21wbGV0aW9uSGFuZGxl
cjx2b2lkIChWZWN0b3I8U3RyaW5nPgogCiB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRl
V2Vic2l0ZURhdGEoV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCAoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICB1aW50NjRfdCBjYWxsYmFja0lEID0g
Z2VuZXJhdGVDYWxsYmFja0lEKCk7CisgICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRl
UGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQoKTsKICAgICBtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0
YUNhbGxiYWNrcy5zZXQoY2FsbGJhY2tJRCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwog
CiAgICAgaWYgKHN0YXRlKCkgPT0gU3RhdGU6OkxhdW5jaGluZykgewpAQCAtMTQwLDcgKzE0MCw3
IEBAIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YShXYWxsVGltZSBt
b2RpZmllZFNpbmNlLCBDb21wbGV0aW9uSGFuCiAKIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5Ojpk
ZWxldGVXZWJzaXRlRGF0YUZvckhvc3ROYW1lcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgaG9zdE5h
bWVzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkICgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewot
ICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1aW50
NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAg
IG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5hbWVzQ2FsbGJhY2tzLnNldChjYWxs
YmFja0lELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAKICAgICBpZiAoc3RhdGUoKSA9
PSBTdGF0ZTo6TGF1bmNoaW5nKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJ
T1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9s
bGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW0KaW5kZXggNGEyZTI5YjU2MDk2MWE1
OWIxY2I1NTE5NzgzOTE0OWMzMTA2ODRjMi4uNzJhODgyZjA1ODFkNWVhYzkxZmMxNGJjMDVhMDJm
MTQ0ZjE2YzExZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5
ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJl
ZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5tbQpAQCAtNDMsOCArNDMsNiBAQAogI2ltcG9ydCA8
V2ViQ29yZS9TY3JvbGxTbmFwT2Zmc2V0c0luZm8uaD4KICNlbmRpZgogCi11c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKLQogQGltcGxlbWVudGF0aW9uIFdLU2Nyb2xsaW5nTm9kZVNjcm9sbFZpZXdE
ZWxlZ2F0ZQogCiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhTY3JvbGxpbmdUcmVlTm9kZURlbGVn
YXRlOihXZWJLaXQ6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MqKWRlbGVn
YXRlCkBAIC04MCw3ICs3OCw3IEBAIC0gKHZvaWQpc2Nyb2xsVmlld1dpbGxFbmREcmFnZ2luZzoo
VUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldyB3aXRoVmVsb2NpdHk6KENHUG9pCiAKICAgICBpZiAo
IV9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuaG9yaXpvbnRhbFNu
YXBPZmZzZXRzKCkuaXNFbXB0eSgpKSB7CiAgICAgICAgIHVuc2lnbmVkIGluZGV4OwotICAgICAg
ICBmbG9hdCBwb3RlbnRpYWxTbmFwUG9zaXRpb24gPSBjbG9zZXN0U25hcE9mZnNldChfc2Nyb2xs
aW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0
cygpLCBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLmhvcml6b250
YWxTbmFwT2Zmc2V0UmFuZ2VzKCksIGhvcml6b250YWxUYXJnZXQsIHZlbG9jaXR5LngsIGluZGV4
KTsKKyAgICAgICAgZmxvYXQgcG90ZW50aWFsU25hcFBvc2l0aW9uID0gV2ViQ29yZTo6Y2xvc2Vz
dFNuYXBPZmZzZXQoX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5o
b3Jpem9udGFsU25hcE9mZnNldHMoKSwgX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9s
bGluZ05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNldFJhbmdlcygpLCBob3Jpem9udGFsVGFyZ2V0
LCB2ZWxvY2l0eS54LCBpbmRleCk7CiAgICAgICAgIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRl
LT5zY3JvbGxpbmdOb2RlKCkuc2V0Q3VycmVudEhvcml6b250YWxTbmFwUG9pbnRJbmRleChpbmRl
eCk7CiAgICAgICAgIGlmIChob3Jpem9udGFsVGFyZ2V0ID49IDAgJiYgaG9yaXpvbnRhbFRhcmdl
dCA8PSBzY3JvbGxWaWV3LmNvbnRlbnRTaXplLndpZHRoKQogICAgICAgICAgICAgdGFyZ2V0Q29u
dGVudE9mZnNldC0+eCA9IHBvdGVudGlhbFNuYXBQb3NpdGlvbjsKQEAgLTg4LDcgKzg2LDcgQEAg
LSAodm9pZClzY3JvbGxWaWV3V2lsbEVuZERyYWdnaW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxW
aWV3IHdpdGhWZWxvY2l0eTooQ0dQb2kKIAogICAgIGlmICghX3Njcm9sbGluZ1RyZWVOb2RlRGVs
ZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52ZXJ0aWNhbFNuYXBPZmZzZXRzKCkuaXNFbXB0eSgpKSB7
CiAgICAgICAgIHVuc2lnbmVkIGluZGV4OwotICAgICAgICBmbG9hdCBwb3RlbnRpYWxTbmFwUG9z
aXRpb24gPSBjbG9zZXN0U25hcE9mZnNldChfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Ny
b2xsaW5nTm9kZSgpLnZlcnRpY2FsU25hcE9mZnNldHMoKSwgX3Njcm9sbGluZ1RyZWVOb2RlRGVs
ZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52ZXJ0aWNhbFNuYXBPZmZzZXRSYW5nZXMoKSwgdmVydGlj
YWxUYXJnZXQsIHZlbG9jaXR5LnksIGluZGV4KTsKKyAgICAgICAgZmxvYXQgcG90ZW50aWFsU25h
cFBvc2l0aW9uID0gV2ViQ29yZTo6Y2xvc2VzdFNuYXBPZmZzZXQoX3Njcm9sbGluZ1RyZWVOb2Rl
RGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52ZXJ0aWNhbFNuYXBPZmZzZXRzKCksIF9zY3JvbGxp
bmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkudmVydGljYWxTbmFwT2Zmc2V0UmFu
Z2VzKCksIHZlcnRpY2FsVGFyZ2V0LCB2ZWxvY2l0eS55LCBpbmRleCk7CiAgICAgICAgIF9zY3Jv
bGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuc2V0Q3VycmVudFZlcnRpY2Fs
U25hcFBvaW50SW5kZXgoaW5kZXgpOwogICAgICAgICBpZiAodmVydGljYWxUYXJnZXQgPj0gMCAm
JiB2ZXJ0aWNhbFRhcmdldCA8PSBzY3JvbGxWaWV3LmNvbnRlbnRTaXplLmhlaWdodCkKICAgICAg
ICAgICAgIHRhcmdldENvbnRlbnRPZmZzZXQtPnkgPSBwb3RlbnRpYWxTbmFwUG9zaXRpb247CkBA
IC0xMjIsNiArMTIwLDcgQEAgLSAodm9pZClzY3JvbGxWaWV3RGlkRW5kRGVjZWxlcmF0aW5nOihV
SVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3CiBAZW5kCiAKIG5hbWVzcGFjZSBXZWJLaXQgewordXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdh
dGVJT1M6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MoU2Nyb2xsaW5nVHJl
ZVNjcm9sbGluZ05vZGUmIHNjcm9sbGluZ05vZGUpCiAgICAgOiBTY3JvbGxpbmdUcmVlU2Nyb2xs
aW5nTm9kZURlbGVnYXRlKHNjcm9sbGluZ05vZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1Byb3h5LmNwcAppbmRleCBlZmE4ZDEz
Y2JiZDVmZmE4MDhiNWYwZWRiZjRhNTFkYzlkZjg1N2U3Li4zYTEzMWI0ZDYwZDhhYTA3ZTg3ZmI1
ZTRjNjE0ZjMwYTdkNDJiNTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9T
dG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94eS5jcHAKQEAgLTM3LDcgKzM3LDcgQEAKIG5h
bWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRpYyB1aW50
NjRfdCBnZW5lcmF0ZUNhbGxiYWNrSUQoKQorc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlU3RvcmFn
ZVByb2Nlc3NDYWxsYmFja0lEKCkKIHsKICAgICBzdGF0aWMgdWludDY0X3QgY2FsbGJhY2tJRDsK
IApAQCAtMTA1LDcgKzEwNSw3IEBAIHZvaWQgU3RvcmFnZVByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJz
aXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXCiB7CiAgICAgQVNT
RVJUKGNhblNlbmRNZXNzYWdlKCkpOwogCi0gICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVy
YXRlQ2FsbGJhY2tJRCgpOworICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVN0b3Jh
Z2VQcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVuZGluZ0ZldGNoV2Vic2l0ZURhdGFDYWxs
YmFja3MuYWRkKGNhbGxiYWNrSUQsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAg
IHNlbmQoTWVzc2FnZXM6OlN0b3JhZ2VQcm9jZXNzOjpGZXRjaFdlYnNpdGVEYXRhKHNlc3Npb25J
RCwgZGF0YVR5cGVzLCBjYWxsYmFja0lEKSwgMCk7CkBAIC0xMTMsNyArMTEzLDcgQEAgdm9pZCBT
dG9yYWdlUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Np
b25JRCwgT3B0aW9uU2V0PFcKIAogdm9pZCBTdG9yYWdlUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJz
aXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJzaXRlRGF0YVR5
cGU+IGRhdGFUeXBlcywgV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBhdXRvIGNhbGxiYWNrSUQgPSBn
ZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICBhdXRvIGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVN0b3Jh
Z2VQcm9jZXNzQ2FsbGJhY2tJRCgpOwogCiAgICAgbV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFD
YWxsYmFja3MuYWRkKGNhbGxiYWNrSUQsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKICAg
ICBzZW5kKE1lc3NhZ2VzOjpTdG9yYWdlUHJvY2Vzczo6RGVsZXRlV2Vic2l0ZURhdGEoc2Vzc2lv
bklELCBkYXRhVHlwZXMsIG1vZGlmaWVkU2luY2UsIGNhbGxiYWNrSUQpLCAwKTsKQEAgLTEyMyw3
ICsxMjMsNyBAQCB2b2lkIFN0b3JhZ2VQcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9y
T3JpZ2lucyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsCiB7CiAgICAgQVNTRVJUKGNhblNlbmRN
ZXNzYWdlKCkpOwogCi0gICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJ
RCgpOworICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2Fs
bGJhY2tJRCgpOwogICAgIG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2luc0NhbGxi
YWNrcy5hZGQoY2FsbGJhY2tJRCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAg
c2VuZChNZXNzYWdlczo6U3RvcmFnZVByb2Nlc3M6OkRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lu
cyhzZXNzaW9uSUQsIGRhdGFUeXBlcywgb3JpZ2lucywgY2FsbGJhY2tJRCksIDApOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCAyNWZlNGEyZTg0Y2Q4NDlkM2Q5YjBm
YTFjZDkzODlhNzNkYzFjZWE2Li42NWMwMTlmZDRlZTE1YTIyMDk3NDU2NmJhNjI4N2NjNDI0MmU1
ODIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtNjEsNyArNjEs
NiBAQAogI2luY2x1ZGUgIldlYlBhZ2VJbmplY3RlZEJ1bmRsZUNsaWVudC5oIgogI2luY2x1ZGUg
IldlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmgiCiAjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXMu
aCIKLSNpbmNsdWRlIDxXZWJDb3JlL0FsdGVybmF0aXZlVGV4dENsaWVudC5oPiAvLyBGSVhNRTog
TmVlZGVkIGJ5IFdlYlBhZ2VQcm94eU1lc3NhZ2VzLmggZm9yIERJQ1RBVElPTl9BTFRFUk5BVElW
RVMuCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQb3B1
cE1lbnVQcm94eS5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NMaWZldGltZVRyYWNrZXIuaCIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGM3
NzE1NTkwZWQ3MWNjZGQyM2RmMjg1YTNhYTdjMzZlNTQzZGI3ZjYuLmJjN2MyNDNmNDc5NmFjYzJl
Y2U0YzRmZWNjNDQ5MjkyNThjZGI0NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzU2LDYgKzc1Niw4IEBACiAJCTJEOTJBNzk1MjEy
QjZBRDQwMEY0OTNGRCAvKiBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkQ5MEQxMTI4MUM5
NjYwMDFFQjk2MiAvKiBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCAqLzsgfTsK
IAkJMkQ5MkE3OTYyMTJCNkFEQTAwRjQ5M0ZEIC8qIE5ldHNjYXBlUGx1Z2luTW9kdWxlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNEE5QzUzMTJC
ODE2Q0YwMDhGRTk4NCAvKiBOZXRzY2FwZVBsdWdpbk1vZHVsZS5jcHAgKi87IH07CiAJCTJEOTJB
Nzk3MjEyQjZBREEwMEY0OTNGRCAvKiBQbHVnaW5JbmZvcm1hdGlvbi5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzNGOEM4RTE3M0FGNTJEMDA3QjdG
MzkgLyogUGx1Z2luSW5mb3JtYXRpb24uY3BwICovOyB9OworCQkyRDkyQTc5ODIxMzQ4RDg1MDBG
NDkzRkQgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNYWMubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUIxRjc3RDFEMUIzMEE5MDA3QzlCRDEg
LyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNYWMubW0gKi87IH07CisJCTJEOTJBNzlGMjEz
NEIwN0UwMEY0OTNGRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQjFGNzdCMUQxQjMwQTkw
MDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbSAqLzsgfTsKIAkJMkQ5
MzExNjkyMTJGNjFCMjAwMDQ0QkZFIC8qIFdLQ29udGVudFZpZXcubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNCNEUzRDE4QkJFMDQ0MDAwRkNGQzkg
LyogV0tDb250ZW50Vmlldy5tbSAqLzsgfTsKIAkJMkQ5MzExNkEyMTJGNjFCNTAwMDQ0QkZFIC8q
IFdLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0I0RTZCMThCQkYyNkEwMDBGQ0ZDOSAvKiBXS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24ubW0gKi87IH07CiAJCTJEOUVBMzBEMUE5NkNCNTkwMDJEMjgwNyAvKiBX
S1BhZ2VJbmplY3RlZEJ1bmRsZUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMkQ5RUEzMEMxQTk2Q0I1OTAwMkQyODA3IC8qIFdLUGFnZUluamVj
dGVkQnVuZGxlQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKQEAgLTExMjQxLDYgKzExMjQzLDggQEAKIAkJCQk3Q0U5Q0UxMDFGQTA3NjdBMDAw
MTc3REUgLyogV2ViUGFnZVVwZGF0ZVByZWZlcmVuY2VzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTdDNDY5NEM5MUE0QjRFQTEwMEFENTg0NSAvKiBXZWJQYXN0ZWJvYXJkUHJveHlNZXNzYWdlUmVj
ZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFCMUY3OTYxRDFCMzYxMzAwN0M5QkQxIC8q
IFdlYlBheW1lbnRDb29yZGluYXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQkyRDkyQTc5RjIxMzRCMDdFMDBGNDkzRkQgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJv
eHlJT1MubW0gaW4gU291cmNlcyAqLywKKwkJCQkyRDkyQTc5ODIxMzQ4RDg1MDBGNDkzRkQgLyog
V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQUIx
Rjc5ODFEMUIzNjEzMDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNZXNzYWdl
UmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5MkE3OEQyMTJCNkFCMTAwRjQ5M0ZE
IC8qIFdlYlBsYXRmb3JtVG91Y2hQb2ludC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDkxMzQ0
RTIxMkNGOUYwMDAxMjhBRkQgLyogV2ViUGx1Z2luSW5mb1Byb3ZpZGVyLmNwcCBpbiBTb3VyY2Vz
ICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BE
RlBsdWdpbi5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVn
aW4ubW0KaW5kZXggNTMwN2UyNmE3NjM3ZThhNjliMDQ1YWJiOTI4NzlmM2Y4YzY1ODZmMi4uNGNh
YTZjYzBmNjA0NTBjMDNiMjJhMjg0ZGQxM2FmMjVlZmQ2ZTM4NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tCkBAIC04OCw4ICs4OCw2
IEBACiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU01lbnVTUEkuaD4KICNpbXBvcnQgPHd0Zi9VVUlE
Lmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiAvLyBTZXQgb3ZlcmZsb3c6IGhpZGRl
biBvbiB0aGUgYW5ub3RhdGlvbiBjb250YWluZXIgc28gPGlucHV0PiBlbGVtZW50cyBzY3JvbGxl
ZCBvdXQgb2YgdmlldyBkb24ndCBzaG93CiAvLyBzY3JvbGxiYXJzIG9uIHRoZSBib2R5LiBXZSBj
YW4ndCBhZGQgYW5ub3RhdGlvbnMgZGlyZWN0bHkgdG8gdGhlIGJvZHksIGJlY2F1c2Ugb3ZlcmZs
b3c6IGhpZGRlbiBvbiB0aGUgYm9keQogLy8gd2lsbCBicmVhayBydWJiZXItYmFuZGluZy4KQEAg
LTI5MCw3ICsyODgsNyBAQCAtIChOU0FycmF5ICopYWNjZXNzaWJpbGl0eUFjdGlvbk5hbWVzCiAt
ICh2b2lkKWFjY2Vzc2liaWxpdHlQZXJmb3JtQWN0aW9uOihOU1N0cmluZyAqKWFjdGlvbgogewog
ICAgIGlmIChbYWN0aW9uIGlzRXF1YWxUb1N0cmluZzpOU0FjY2Vzc2liaWxpdHlTaG93TWVudUFj
dGlvbl0pCi0gICAgICAgIF9wZGZQbHVnaW4tPnNob3dDb250ZXh0TWVudUF0UG9pbnQoSW50UmVj
dChJbnRQb2ludCgpLCBfcGRmUGx1Z2luLT5zaXplKCkpLmNlbnRlcigpKTsKKyAgICAgICAgX3Bk
ZlBsdWdpbi0+c2hvd0NvbnRleHRNZW51QXRQb2ludChXZWJDb3JlOjpJbnRSZWN0KFdlYkNvcmU6
OkludFBvaW50KCksIF9wZGZQbHVnaW4tPnNpemUoKSkuY2VudGVyKCkpOwogfQogCiAtIChCT09M
KWFjY2Vzc2liaWxpdHlJc0F0dHJpYnV0ZVNldHRhYmxlOihOU1N0cmluZyAqKWF0dHJpYnV0ZQpA
QCAtMzE2LDggKzMxNCw4IEBAIC0gKGlkKWFjY2Vzc2liaWxpdHlGb2N1c2VkVUlFbGVtZW50CiB7
CiAjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDAKICAgICBpZiAo
V2ViS2l0OjpQREZQbHVnaW5Bbm5vdGF0aW9uKiBhY3RpdmVBbm5vdGF0aW9uID0gX3BkZlBsdWdp
bi0+YWN0aXZlQW5ub3RhdGlvbigpKSB7Ci0gICAgICAgIGlmIChBWE9iamVjdENhY2hlKiBleGlz
dGluZ0NhY2hlID0gX3BkZlBsdWdpbi0+YXhPYmplY3RDYWNoZSgpKSB7Ci0gICAgICAgICAgICBp
ZiAoQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0ID0gZXhpc3RpbmdDYWNoZS0+Z2V0T3JDcmVh
dGUoYWN0aXZlQW5ub3RhdGlvbi0+ZWxlbWVudCgpKSkKKyAgICAgICAgaWYgKFdlYkNvcmU6OkFY
T2JqZWN0Q2FjaGUqIGV4aXN0aW5nQ2FjaGUgPSBfcGRmUGx1Z2luLT5heE9iamVjdENhY2hlKCkp
IHsKKyAgICAgICAgICAgIGlmIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3Qg
PSBleGlzdGluZ0NhY2hlLT5nZXRPckNyZWF0ZShhY3RpdmVBbm5vdGF0aW9uLT5lbGVtZW50KCkp
KQogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3Rp
YyBpZ25vcmVkICItV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIgogICAgICAgICAgICAgICAgIHJl
dHVybiBbb2JqZWN0LT53cmFwcGVyKCkgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOkAiX0FY
QXNzb2NpYXRlZFBsdWdpblBhcmVudCJdOwpAQCAtMzM4LDExICszMzYsMTEgQEAgLSAoaWQpYWNj
ZXNzaWJpbGl0eUFzc29jaWF0ZWRDb250cm9sRm9yQW5ub3RhdGlvbjooUERGQW5ub3RhdGlvbiAq
KWFubm90YXRpb24KICAgICBpZiAoIWFjdGl2ZUFubm90YXRpb24gfHwgIVthY3RpdmVBbm5vdGF0
aW9uLT5hbm5vdGF0aW9uKCkgaXNFcXVhbDphbm5vdGF0aW9uXSkKICAgICAgICAgcmV0dXJuIG5p
bDsKICAgICAKLSAgICBBWE9iamVjdENhY2hlKiBjYWNoZSA9IF9wZGZQbHVnaW4tPmF4T2JqZWN0
Q2FjaGUoKTsKKyAgICBXZWJDb3JlOjpBWE9iamVjdENhY2hlKiBjYWNoZSA9IF9wZGZQbHVnaW4t
PmF4T2JqZWN0Q2FjaGUoKTsKICAgICBpZiAoIWNhY2hlKQogICAgICAgICByZXR1cm4gbmlsOwog
ICAgIAotICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCA9IGNhY2hlLT5nZXRPckNyZWF0
ZShhY3RpdmVBbm5vdGF0aW9uLT5lbGVtZW50KCkpOworICAgIFdlYkNvcmU6OkFjY2Vzc2liaWxp
dHlPYmplY3QqIG9iamVjdCA9IGNhY2hlLT5nZXRPckNyZWF0ZShhY3RpdmVBbm5vdGF0aW9uLT5l
bGVtZW50KCkpOwogICAgIGlmICghb2JqZWN0KQogICAgICAgICByZXR1cm4gbmlsOwogCkBAIC0z
NTMsNyArMzUxLDcgQEAgLSAoaWQpYWNjZXNzaWJpbGl0eUFzc29jaWF0ZWRDb250cm9sRm9yQW5u
b3RhdGlvbjooUERGQW5ub3RhdGlvbiAqKWFubm90YXRpb24KIC0gKGlkKWFjY2Vzc2liaWxpdHlI
aXRUZXN0OihOU1BvaW50KXBvaW50CiB7CiAjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMDEzMDAKLSAgICBwb2ludCA9IF9wZGZQbHVnaW4tPmNvbnZlcnRGcm9tUm9vdFZp
ZXdUb1BERlZpZXcoSW50UG9pbnQocG9pbnQpKTsKKyAgICBwb2ludCA9IF9wZGZQbHVnaW4tPmNv
bnZlcnRGcm9tUm9vdFZpZXdUb1BERlZpZXcoV2ViQ29yZTo6SW50UG9pbnQocG9pbnQpKTsKICAg
ICByZXR1cm4gW19wZGZMYXllckNvbnRyb2xsZXIgYWNjZXNzaWJpbGl0eUhpdFRlc3Q6cG9pbnRd
OwogI2Vsc2UKICAgICByZXR1cm4gc2VsZjsKQEAgLTQyMSw3ICs0MTksNyBAQCAtIChpZClpbml0
V2l0aFBERlBsdWdpbjooV2ViS2l0OjpQREZQbHVnaW4gKilwbHVnaW4KIAogLSAodm9pZCl1cGRh
dGVTY3JvbGxQb3NpdGlvbjooQ0dQb2ludCluZXdQb3NpdGlvbgogewotICAgIF9wZGZQbHVnaW4t
Pm5vdGlmeVNjcm9sbFBvc2l0aW9uQ2hhbmdlZChJbnRQb2ludChuZXdQb3NpdGlvbikpOworICAg
IF9wZGZQbHVnaW4tPm5vdGlmeVNjcm9sbFBvc2l0aW9uQ2hhbmdlZChXZWJDb3JlOjpJbnRQb2lu
dChuZXdQb3NpdGlvbikpOwogfQogCiAtICh2b2lkKXdyaXRlSXRlbXNUb1Bhc3RlYm9hcmQ6KE5T
QXJyYXkgKilpdGVtcyB3aXRoVHlwZXM6KE5TQXJyYXkgKil0eXBlcwpAQCAtNTAwLDYgKzQ5OCwx
MCBAQCAtIChOU1JlY3QpY29udmVydFJlY3Q6KE5TUmVjdClyZWN0IGZyb21QYWdlOihQREZQYWdl
ICopIHBhZ2UgZm9yU2NhbGVGYWN0b3I6KENHRgogLSAoUERGUGFnZSAqKXBhZ2VOZWFyZXN0UG9p
bnQ6KE5TUG9pbnQpcG9pbnQgY3VycmVudFBhZ2U6KFBERlBhZ2UgKiljdXJyZW50UGFnZTsKIEBl
bmQKIAorbmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKK3VzaW5n
IG5hbWVzcGFjZSBIVE1MTmFtZXM7CisKIHN0YXRpYyBjb25zdCBjaGFyKiBwb3N0U2NyaXB0TUlN
RVR5cGUgPSAiYXBwbGljYXRpb24vcG9zdHNjcmlwdCI7CiBjb25zdCB1aW50NjRfdCBwZGZEb2N1
bWVudFJlcXVlc3RJRCA9IDE7IC8vIFBsdWdpbkNvbnRyb2xsZXIgc3VwcG9ydHMgbG9hZGluZyBt
dWx0aXBsZSBzdHJlYW1zLCBidXQgd2Ugb25seSBuZWVkIG9uZSBmb3IgUERGLgogCkBAIC01OTYs
OSArNTk4LDYgQEAgc3RhdGljIHZvaWQgZ2V0QWxsU2NyaXB0c0luUERGRG9jdW1lbnQoQ0dQREZE
b2N1bWVudFJlZiBwZGZEb2N1bWVudCwgVmVjdG9yPFJldGEKICAgICB9CiB9CiAKLW5hbWVzcGFj
ZSBXZWJLaXQgewotdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKLQogUmVmPFBERlBsdWdpbj4g
UERGUGx1Z2luOjpjcmVhdGUoV2ViRnJhbWUmIGZyYW1lKQogewogICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IFBERlBsdWdpbihmcmFtZSkpOwpAQCAtMTQ1MCw3ICsxNDQ5LDcgQEAgdm9pZCBQREZQ
bHVnaW46OnVwZGF0ZUN1cnNvcihjb25zdCBXZWJNb3VzZUV2ZW50JiBldmVudCwgVXBkYXRlQ3Vy
c29yTW9kZSBtb2RlKQogICAgIGlmIChoaXRUZXN0UmVzdWx0ID09IG1fbGFzdEhpdFRlc3RSZXN1
bHQgJiYgbW9kZSA9PSBVcGRhdGVJZk5lZWRlZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgd2Vi
RnJhbWUoKS0+cGFnZSgpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNldEN1cnNvciho
aXRUZXN0UmVzdWx0ID09IFRleHQgPyBpQmVhbUN1cnNvcigpIDogcG9pbnRlckN1cnNvcigpKSk7
CisgICAgd2ViRnJhbWUoKS0+cGFnZSgpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNl
dEN1cnNvcihoaXRUZXN0UmVzdWx0ID09IFRleHQgPyBXZWJDb3JlOjppQmVhbUN1cnNvcigpIDog
V2ViQ29yZTo6cG9pbnRlckN1cnNvcigpKSk7CiAgICAgbV9sYXN0SGl0VGVzdFJlc3VsdCA9IGhp
dFRlc3RSZXN1bHQ7CiB9CiAjZW5kaWYKQEAgLTE5ODEsMTYgKzE5ODAsMTYgQEAgdm9pZCBQREZQ
bHVnaW46Om5vdGlmeVNlbGVjdGlvbkNoYW5nZWQoUERGU2VsZWN0aW9uICopCiAgICAgd2ViRnJh
bWUoKS0+cGFnZSgpLT5kaWRDaGFuZ2VTZWxlY3Rpb24oKTsKIH0KIAotc3RhdGljIGNvbnN0IEN1
cnNvciYgY29yZUN1cnNvcihQREZMYXllckNvbnRyb2xsZXJDdXJzb3JUeXBlIHR5cGUpCitzdGF0
aWMgY29uc3QgV2ViQ29yZTo6Q3Vyc29yJiBjb3JlQ3Vyc29yKFBERkxheWVyQ29udHJvbGxlckN1
cnNvclR5cGUgdHlwZSkKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIGtQREZMYXll
ckNvbnRyb2xsZXJDdXJzb3JUeXBlSGFuZDoKLSAgICAgICAgcmV0dXJuIGhhbmRDdXJzb3IoKTsK
KyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OmhhbmRDdXJzb3IoKTsKICAgICBjYXNlIGtQREZMYXll
ckNvbnRyb2xsZXJDdXJzb3JUeXBlSUJlYW06Ci0gICAgICAgIHJldHVybiBpQmVhbUN1cnNvcigp
OworICAgICAgICByZXR1cm4gV2ViQ29yZTo6aUJlYW1DdXJzb3IoKTsKICAgICBjYXNlIGtQREZM
YXllckNvbnRyb2xsZXJDdXJzb3JUeXBlUG9pbnRlcjoKICAgICBkZWZhdWx0OgotICAgICAgICBy
ZXR1cm4gcG9pbnRlckN1cnNvcigpOworICAgICAgICByZXR1cm4gV2ViQ29yZTo6cG9pbnRlckN1
cnNvcigpOwogICAgIH0KIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348263</attachid>
            <date>2018-08-27 21:28:00 -0700</date>
            <delta_ts>2018-08-27 22:42:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189009-20180827212759.patch</filename>
            <type>text/plain</type>
            <size>61369</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGMyOWZmMzZiMTcwMDNiYTAxZDNlYmJj
YWNhNDY4ZTRmNDZlM2YzN2IuLjA3YzYxYjkxMTg5ZjZmYjg3M2MxN2MxNWM0N2Y1NzI2ODE0YzY4
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3Jl
IHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL2dlbmVy
YXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmI6CisgICAgICAgIEl0IHR1cm5zIG91dCBvdXIg
cGxhbiB0byBzd2l0Y2ggdW5pZmllZCBzb3VyY2UgYnVuZGxlIGV2ZXJ5IHRpbWUgdGhlIGRpcmVj
dG9yeQorICAgICAgICBjaGFuZ2VzIGlzIG5vdCBhIGdvb2QgZml0IGZvciBwcm9qZWN0cyBsaWtl
IFdlYktpdDIgd2l0aCBtYW55IHNtYWxsIGRpcmVjdG9yaWVzLgorICAgICAgICBJdCBsZWF2ZXMg
bWFueSB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIHdpdGggb25seSBhIHNpbmdsZSBzb3VyY2UgZmls
ZSwKKyAgICAgICAgYWNoaWV2aW5nIG9ubHkgfjQwJSBkZW5zaXR5LgorCisgICAgICAgIEluc3Rl
YWQsIHN3aXRjaCB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIGV2ZXJ5IHRpbWUgdGhlIHRvcC1sZXZl
bCBkaXJlY3RvcnkgY2hhbmdlcy4KKyAgICAgICAgVGhpcyBzdGlsbCBhY2hpZXZlcyB0aGUgZ29h
bCBvZiAqdXN1YWxseSogb25seSByZWJ1aWxkaW5nIHRoZSBvbmUgdG9wLWxldmVsCisgICAgICAg
IGRpcmVjdG9yeSB5b3UgdG91Y2hlZCwgYW5kIGluY3JlYXNlcyBzb3VyY2UgYnVuZGxlIGRlbnNp
dHkgd2lsZGx5LCB0byB+OTUlLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTgt
MDgtMjcgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQgYnVpbGQgZml4IC0tIGRpc2FibGUgTFRPIGZvciBwcm9kdWN0aW9uIGJ1aWxkcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDBkZTc5NjdkNzZmODU2YjdlYTY1NWYyNzE1ZTVjNzQ3YmEzZDk4Y2IuLmRmMjlk
M2VkZjAzOTY0MDg1OGU0Nzk5N2EwMjExZDBmNTI3MTYwODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzOCBAQAorMjAxOC0wOC0yNyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNv
bT4KKworICAgICAgICBCdW5kbGUgdW5pZmllZCBzb3VyY2VzIG1vcmUgdGlnaHRseSBpbiBwcm9q
ZWN0cyB3aXRoIGRlZXAgZGlyZWN0b3J5IHN0cnVjdHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTAwOQorCisgICAgICAgIFJldmlld2VkIGJ5
IFNpbW9uIEZyYXNlci4KKworICAgICAgICBGaXggYSB2YXJpZXR5IG9mIHVuaWZpY2F0aW9uIGVy
cm9ycyBkdWUgdG8gcmVzaHVmZmxpbmcgdGhlIGJ1bmRsZXMuCisKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAqIFNvdXJjZXNDb2NvYS50
eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUVDRFNBLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUVDRFNBOjppbXBvcnRLZXkpOgorICAgICAgICAqIGRv
bS9Eb2N1bWVudC5oOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHA6
CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRl
ci5oOgorICAgICAgICAqIHBhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50Lmg6CisgICAgICAgICog
cGxhdGZvcm0vUGFzdGVib2FyZC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Rpc3Bs
YXlSZWZyZXNoTW9uaXRvci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZh
bWlseVNwZWNpZmljYXRpb25OdWxsLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJHTExheWVyLm1tOgorICAgICAgICAoLVtXZWJHTExheWVyIGluaXRXaXRoR3JhcGhp
Y3NDb250ZXh0M0Q6XSk6CisgICAgICAgICgtW1dlYkdMTGF5ZXIgY29weUltYWdlU25hcHNob3RX
aXRoQ29sb3JTcGFjZTpdKToKKyAgICAgICAgKC1bV2ViR0xMYXllciBkaXNwbGF5XSk6CisgICAg
ICAgICgtW1dlYkdMTGF5ZXIgYWxsb2NhdGVJT1N1cmZhY2VCYWNraW5nU3RvcmVXaXRoU2l6ZTp1
c2luZ0FscGhhOl0pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxh
eWVyLm1tOgorICAgICAgICAoLVtXZWJHUFVMYXllciBpbml0V2l0aEdQVURldmljZTpdKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHA6CisgICAgICAg
ICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwOgor
CiAyMDE4LTA4LTI3ICBKdXN0aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgV2ViR0wgMiBjb25mb3JtYW5jZTogZnJhbWVidWZmZXItdGVzdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxMzU0
MjExNTNiYWJiM2QyZjhiN2U4MWQyMTcwZjNhOWRkMTEzZWJjLi5mNDYyNzE3YTQ0MGMzMDE3NjQ4
Yzg4YzFmOTQwNGMxMDVkM2IzMDViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDE4LTA4
LTI3ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIEJ1
bmRsZSB1bmlmaWVkIHNvdXJjZXMgbW9yZSB0aWdodGx5IGluIHByb2plY3RzIHdpdGggZGVlcCBk
aXJlY3Rvcnkgc3RydWN0dXJlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTg5MDA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgor
CisgICAgICAgIEZpeCBhIHZhcmlldHkgb2YgdW5pZmljYXRpb24gZXJyb3JzIGR1ZSB0byByZXNo
dWZmbGluZyB0aGUgYnVuZGxlcy4KKworICAgICAgICAqIFNoYXJlZC9BUElXZWJBcmNoaXZlLm1t
OgorICAgICAgICAqIFNoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW06CisgICAgICAgICog
U2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tOgor
ICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9QbHVnaW5JbmZvcm1hdGlvbk1h
Yy5tbToKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaDoKKyAgICAgICAgKEFQSTo6QXV0b21hdGlv
blNlc3Npb25DbGllbnQ6OnNlc3Npb25JZGVudGlmaWVyIGNvbnN0KToKKyAgICAgICAgKEFQSTo6
QXV0b21hdGlvblNlc3Npb25DbGllbnQ6Om1lc3NhZ2VPZkN1cnJlbnRKYXZhU2NyaXB0RGlhbG9n
T25QYWdlKToKKyAgICAgICAgKEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6OnNldFVzZXJJ
bnB1dEZvckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tOgorICAgICAgICAo
LVtXS0N1c3RvbVByb3RvY29sTG9hZGVyIGluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5h
Z2VyUHJveHk6Y3VzdG9tUHJvdG9jb2xJRDpyZXF1ZXN0Ol0pOgorICAgICAgICAoLVtXS0N1c3Rv
bVByb3RvY29sTG9hZGVyIGNvbm5lY3Rpb246ZGlkRmFpbFdpdGhFcnJvcjpdKToKKyAgICAgICAg
KC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBjb25uZWN0aW9uOmRpZFJlY2VpdmVSZXNwb25zZTpd
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZVBsdWdpblByb2Nlc3NDYWxsYmFja0lEKToKKyAgICAg
ICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKToKKyAgICAg
ICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YSk6CisgICAg
ICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JIb3N0
TmFtZXMpOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZUNhbGxiYWNrSUQpOiBEZWxldGVkLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlRGVsZWdhdGVJT1MubW06CisgICAgICAgICgtW1dLU2Nyb2xsaW5nTm9kZVNjcm9s
bFZpZXdEZWxlZ2F0ZSBzY3JvbGxWaWV3V2lsbEVuZERyYWdnaW5nOndpdGhWZWxvY2l0eTp0YXJn
ZXRDb250ZW50T2Zmc2V0Ol0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQ
cm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNz
Q2FsbGJhY2tJRCk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VQcm9jZXNzUHJveHk6OmZldGNo
V2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc1Byb3h5OjpkZWxl
dGVXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VQcm9jZXNzUHJveHk6OmRl
bGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyk6CisgICAgICAgIChXZWJLaXQ6OmdlbmVyYXRlQ2Fs
bGJhY2tJRCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW06Cisg
ICAgICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5UGVy
Zm9ybUFjdGlvbjpdKToKKyAgICAgICAgKC1bV0tQREZQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0
IGFjY2Vzc2liaWxpdHlGb2N1c2VkVUlFbGVtZW50XSk6CisgICAgICAgICgtW1dLUERGUGx1Z2lu
QWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5QXNzb2NpYXRlZENvbnRyb2xGb3JBbm5v
dGF0aW9uOl0pOgorICAgICAgICAoLVtXS1BERlBsdWdpbkFjY2Vzc2liaWxpdHlPYmplY3QgYWNj
ZXNzaWJpbGl0eUhpdFRlc3Q6XSk6CisgICAgICAgICgtW1dLUERGTGF5ZXJDb250cm9sbGVyRGVs
ZWdhdGUgdXBkYXRlU2Nyb2xsUG9zaXRpb246XSk6CisgICAgICAgIChXZWJLaXQ6OlBERlBsdWdp
bjo6dXBkYXRlQ3Vyc29yKToKKyAgICAgICAgKFdlYktpdDo6Y29yZUN1cnNvcik6CisgICAgICAg
IChhcHBlbmRWYWx1ZXNJblBERk5hbWVTdWJ0cmVlVG9WZWN0b3IpOiBEZWxldGVkLgorICAgICAg
ICAoZ2V0QWxsVmFsdWVzSW5QREZOYW1lVHJlZSk6IERlbGV0ZWQuCisgICAgICAgIChnZXRBbGxT
Y3JpcHRzSW5QREZEb2N1bWVudCk6IERlbGV0ZWQuCisKIDIwMTgtMDgtMjcgIEJhc3VrZSBTdXp1
a2kgIDxCYXN1a2UuU3V6dWtpQHNvbnkuY29tPgogCiAgICAgICAgIFtDdXJsXSBFbmFibGUgUHJv
eHkgQXV0aGVudGljYXRpb24gb24gV2ViS2l0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3Jp
cHRzL2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIgYi9Tb3VyY2UvV1RGL1Njcmlw
dHMvZ2VuZXJhdGUtdW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYgppbmRleCBjMDE5NjZlZTFiMmM2
N2Q5NzYwZjAzYTViYmNhYTNjYjU3MjYxMmIzLi5hYmQ5NzY3N2EyMGFkYjRkNDYyZWI5OGY3Nzhk
OTgwMjliZGQ0OTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1NjcmlwdHMvZ2VuZXJhdGUtdW5p
ZmllZC1zb3VyY2UtYnVuZGxlcy5yYgorKysgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvZ2VuZXJhdGUt
dW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYgpAQCAtMjEwLDEwICsyMTAsMTcgQEAgY2xhc3MgQnVu
ZGxlTWFuYWdlcgogICAgIGVuZAogZW5kCiAKK2RlZiBUb3BMZXZlbERpcmVjdG9yeUZvclBhdGgo
cGF0aCkKKyAgICBpZiAhcGF0aAorICAgICAgICByZXR1cm4gbmlsCisgICAgZW5kCisgICAgcmV0
dXJuIHBhdGguZWFjaF9maWxlbmFtZS5uZXh0CitlbmQKKwogZGVmIFByb2Nlc3NGaWxlRm9yVW5p
ZmllZFNvdXJjZUdlbmVyYXRpb24oc291cmNlRmlsZSkKICAgICBwYXRoID0gc291cmNlRmlsZS5w
YXRoCi0gICAgaWYgKCRjdXJyZW50RGlyZWN0b3J5ICE9IHBhdGguZGlybmFtZSkKLSAgICAgICAg
bG9nKCJGbHVzaGluZyBiZWNhdXNlIG5ldyBkaXJuYW1lOyBvbGQ6ICN7JGN1cnJlbnREaXJlY3Rv
cnl9LCBuZXc6ICN7cGF0aC5kaXJuYW1lfSIpCisgICAgaWYgKFRvcExldmVsRGlyZWN0b3J5Rm9y
UGF0aCgkY3VycmVudERpcmVjdG9yeSkgIT0gVG9wTGV2ZWxEaXJlY3RvcnlGb3JQYXRoKHBhdGgu
ZGlybmFtZSkpCisgICAgICAgIGxvZygiRmx1c2hpbmcgYmVjYXVzZSBuZXcgdG9wIGxldmVsIGRp
cmVjdG9yeTsgb2xkOiAjeyRjdXJyZW50RGlyZWN0b3J5fSwgbmV3OiAje3BhdGguZGlybmFtZX0i
KQogICAgICAgICAkYnVuZGxlTWFuYWdlcnMuZWFjaF92YWx1ZSB7IHx4fCB4LmZsdXNoIH0KICAg
ICAgICAgJGN1cnJlbnREaXJlY3RvcnkgPSBwYXRoLmRpcm5hbWUKICAgICBlbmQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5o
CmluZGV4IDBjNmVmYjg2Mjk4MjUzOWQyYjRiMmNjNGY4ZjhiNWZjYjRlYzg4ZTguLjY3Y2ZhOTMz
MTNjOTA0MjFlYjZjZjE3OWQ5OGVmNzAzZGEwZTQ5ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApAQCAtMTMxNCw2
ICsxMzE0LDcgQEAKICNpZiBQTEFURk9STShNQUMpCiAjZGVmaW5lIEhBVkVfVE9VQ0hfQkFSIDEK
ICNkZWZpbmUgSEFWRV9BRFZBTkNFRF9TUEVMTF9DSEVDS0lORyAxCisjZGVmaW5lIFVTRV9ESUNU
QVRJT05fQUxURVJOQVRJVkVTIDEKIAogI2lmIGRlZmluZWQoX19MUDY0X18pCiAjZGVmaW5lIEVO
QUJMRV9XRUJfUExBWUJBQ0tfQ09OVFJPTFNfTUFOQUdFUiAxCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdC
dWZmZXIuaAppbmRleCBmMjkzZDMzM2RiZTNlNDVlNjM3YTE0ODY3MzNkMGEyZmQ4YzA4YzBjLi5l
MzJjZDI2MGRkOTRkYjE1NTk4NWJmYjQ3NjI5YjhhOTExMzZjMjY5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQv
U3RyaW5nQnVmZmVyLmgKQEAgLTI5LDkgKzI5LDEwIEBACiAjaWZuZGVmIFN0cmluZ0J1ZmZlcl9o
CiAjZGVmaW5lIFN0cmluZ0J1ZmZlcl9oCiAKLSNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgog
I2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDx1bmljb2RlL3V0eXBlcy5oPgorI2luY2x1ZGUg
PHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVkZSA8d3RmL01hbGxvY1B0ci5oPgogCiBuYW1lc3Bh
Y2UgV1RGIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3Jr
ZXJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvV29ya2VyQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAKaW5kZXggYWQyMDkzMjE5Zjg4ZTZk
YTNlMWQ2MDYyNGU0MWFlOWE0MWRmNDkyNy4uMWViZGQ1ZGU0OGE3ZTdlMWM5NmEwMWM3OGZlZDdk
YTViYzRmYjg4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3Jr
ZXJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2NhY2hlL1dvcmtlckNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCkBAIC0yOSw2ICsyOSw3IEBA
CiAKICNpbmNsdWRlICJDYWNoZVF1ZXJ5T3B0aW9ucy5oIgogI2luY2x1ZGUgIkNhY2hlU3RvcmFn
ZVByb3ZpZGVyLmgiCisjaW5jbHVkZSAiQ2xpZW50T3JpZ2luLmgiCiAjaW5jbHVkZSAiRG9jdW1l
bnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIK
QEAgLTM2LDcgKzM3LDYgQEAKICNpbmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCiAjaW5jbHVkZSAi
V29ya2VyVGhyZWFkLmgiCiAKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNwcAppbmRleCA5NjEzMmU2OTczN2FlOThh
NjBmOTU0ZjFmMzExODM4NDEwNzFlMGE5Li5jZGI3NzdlOTk5MjkyMjFjZjBhOGYwMTE0MmIyZDA3
ZWRlOWVmZWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDQ29udHJvbGxlci5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShXRUJf
UlRDKQogCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENQcm92aWRl
ci5oIgogI2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9uLmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1
ZXN0VXBkYXRlRXZlbnQuY3BwCmluZGV4IGMyMDUzMzVlYWE4ZTkxOGE2ZDM4YWU0ZjJmZmM4MWFl
ZDQ1YTlhMGYuLjk0YjcxYzQ2NjE5MjQxMzVjMjFhZWE2OWQ0ODk5ZDdiMDc1YTYyYTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVl
c3RVcGRhdGVFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVx
dWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50LmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAj
aWYgRU5BQkxFKFBBWU1FTlRfUkVRVUVTVCkKIAorI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNp
bmNsdWRlICJQYXltZW50UmVxdWVzdC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAKaW5kZXggYWRiNzUxZDBjMzljMGE1
NmI1ZTRkYzFmNTQyMTBiZGFhNGVkZmY3OC4uYTkzM2Q5ODBmY2Y1YTk5MTc0YWIwZTBjNDAwMjA5
MTZjYmYxYjM2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRp
c3BsYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNw
cApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkNhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCIK
ICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJET01FeGNlcHRpb24uaCIKKyNpbmNsdWRl
ICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiUGFnZS5o
IgogI2luY2x1ZGUgIlNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9jcnlwdG8vZ2NyeXB0L1V0aWxpdGllcy5oIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9jcnlwdG8vZ2NyeXB0L1V0aWxpdGllcy5oCmluZGV4IDgyZmUxN2Mw
M2I0MTE3M2VjMTNkMzBiMmZjMzFmYWMxZDI4YTU4ZGYuLjYyOTJhMGY4MGJiMGY1ODI2NTMyZmU0
MWIzYmFhMDkxYmRlMmM2MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY3J5
cHRvL2djcnlwdC9VdGlsaXRpZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NyeXB0
by9nY3J5cHQvVXRpbGl0aWVzLmgKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgPGdjcnlw
dC5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVkZSA8d3RmL09wdGlvbmFs
Lmg+CiAKIG5hbWVzcGFjZSBQQUwgewogbmFtZXNwYWNlIEdDcnlwdCB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlc0Nv
Y29hLnR4dAppbmRleCA2NmY3ZjE2YmQ2NGY4MmM0MzJiZWFlZDhlNzBkMWI1ZmYwNjNhNTE3Li45
NTdlNGI1YjY2MWI0MDIwZjBhMjFlZTAwOTVjMDE3NjQ2ZTQ5M2EzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXND
b2NvYS50eHQKQEAgLTM4OSw3ICszODksNyBAQCBwbGF0Zm9ybS9pb3MvUGxhdGZvcm1TY3JlZW5J
T1MubW0KIHBsYXRmb3JtL2lvcy9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVySU9TLm1tIEBuby11
bmlmeQogcGxhdGZvcm0vaW9zL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0Lm1tIEBuby11
bmlmeQogcGxhdGZvcm0vaW9zL1F1aWNrTG9vay5tbQotcGxhdGZvcm0vaW9zL1F1aWNrTG9va1Nv
ZnRMaW5rLm1tCitwbGF0Zm9ybS9pb3MvUXVpY2tMb29rU29mdExpbmsubW0gQG5vLXVuaWZ5CiBw
bGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLm1tCiBwbGF0Zm9ybS9pb3MvU2Ny
b2xsQW5pbWF0b3JJT1MubW0KIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbQpAQCAt
Mzk5LDcgKzM5OSw3IEBAIHBsYXRmb3JtL2lvcy9TU0xLZXlHZW5lcmF0b3JJT1MuY3BwCiBwbGF0
Zm9ybS9pb3MvU3lzdGVtTWVtb3J5SU9TLmNwcAogcGxhdGZvcm0vaW9zL1RoZW1lSU9TLm1tIEBu
by11bmlmeQogcGxhdGZvcm0vaW9zL1RpbGVDb250cm9sbGVyTWVtb3J5SGFuZGxlcklPUy5jcHAK
LXBsYXRmb3JtL2lvcy9Vc2VyQWdlbnRJT1MubW0KK3BsYXRmb3JtL2lvcy9Vc2VyQWdlbnRJT1Mu
bW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvVmFsaWRhdGlvbkJ1YmJsZUlPUy5tbSBAbm8tdW5p
ZnkKIHBsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbSBAbm8tdW5p
ZnkKIHBsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIubW0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlc0dUSy50
eHQKaW5kZXggNDYyNmI2ZmNiZTU0YTQ5NWVkMTBjNmJiODI0NDlhMDQ5NzYyMjc3My4uZTYxNmYy
N2U1YmVlMDkwZmI0YzdjNWM1MTJlNWI2NmEyMmM3N2Y1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvU291cmNlc0dUSy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlc0dUSy50eHQK
QEAgLTYxLDE0ICs2MSwxNCBAQCBwbGF0Zm9ybS9Vc2VyQWdlbnRRdWlya3MuY3BwCiAKIHBsYXRm
b3JtL2dlb2NsdWUvR2VvbG9jYXRpb25Qcm92aWRlckdlb2NsdWUuY3BwCiAKLXBsYXRmb3JtL2dy
YXBoaWNzL0dMQ29udGV4dC5jcHAKK3BsYXRmb3JtL2dyYXBoaWNzL0dMQ29udGV4dC5jcHAgQG5v
LXVuaWZ5CiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuY3BwCiAK
LXBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRDYWlyb1gxMS5jcHAK
K3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRDYWlyb1gxMS5jcHAg
QG5vLXVuaWZ5CiAKIHBsYXRmb3JtL2dyYXBoaWNzL2VnbC9HTENvbnRleHRFR0wuY3BwCiBwbGF0
Zm9ybS9ncmFwaGljcy9lZ2wvR0xDb250ZXh0RUdMV2F5bGFuZC5jcHAgQG5vLXVuaWZ5Ci1wbGF0
Zm9ybS9ncmFwaGljcy9lZ2wvR0xDb250ZXh0RUdMWDExLmNwcAorcGxhdGZvcm0vZ3JhcGhpY3Mv
ZWdsL0dMQ29udGV4dEVHTFgxMS5jcHAgQG5vLXVuaWZ5CiAKIHBsYXRmb3JtL2dyYXBoaWNzL2ds
eC9HTENvbnRleHRHTFguY3BwCiAKQEAgLTgyLDkgKzgyLDkgQEAgcGxhdGZvcm0vZ3JhcGhpY3Mv
b3BlbnR5cGUvT3BlblR5cGVWZXJ0aWNhbERhdGEuY3BwCiAKIHBsYXRmb3JtL2dyYXBoaWNzL3dh
eWxhbmQvUGxhdGZvcm1EaXNwbGF5V2F5bGFuZC5jcHAKIAotcGxhdGZvcm0vZ3JhcGhpY3MveDEx
L1BsYXRmb3JtRGlzcGxheVgxMS5jcHAKLXBsYXRmb3JtL2dyYXBoaWNzL3gxMS9YRXJyb3JUcmFw
cGVyLmNwcAotcGxhdGZvcm0vZ3JhcGhpY3MveDExL1hVbmlxdWVSZXNvdXJjZS5jcHAKK3BsYXRm
b3JtL2dyYXBoaWNzL3gxMS9QbGF0Zm9ybURpc3BsYXlYMTEuY3BwIEBuby11bmlmeQorcGxhdGZv
cm0vZ3JhcGhpY3MveDExL1hFcnJvclRyYXBwZXIuY3BwIEBuby11bmlmeQorcGxhdGZvcm0vZ3Jh
cGhpY3MveDExL1hVbmlxdWVSZXNvdXJjZS5jcHAgQG5vLXVuaWZ5CiAKIHBsYXRmb3JtL2d0ay9E
cmFnRGF0YUd0ay5jcHAKIHBsYXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3RrLmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGI2ZGY3NDhhNmQxOTA0ODViMThjM2Q1OGNiNTE4M2JiYWRiODJmODkuLmQzYjllYWFjZjQ1Y2Nj
MTgzMDhhOGNkOGRkNTliZGFhYjNiNjc0ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTgwNiw2ICs4MDYsOCBAQAogCQkyRDhC
OTJGRjIwM0QxM0UxMDA5Qzg2OEYgLyogVW5pZmllZFNvdXJjZTUzMC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBERTVGODVEMzFGQTIzODU5MDA2REI2
M0IgLyogVW5pZmllZFNvdXJjZTUzMC5jcHAgKi87IH07CiAJCTJEOEZFQkREMTQzRTNFRjcwMDcy
NTAyQiAvKiBDU1NDcm9zc2ZhZGVWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMkQ4RkVCREIxNDNFM0VGNzAwNzI1MDJCIC8qIENTU0Nyb3NzZmFk
ZVZhbHVlLmggKi87IH07CiAJCTJEOTA2NjA3MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5MDY2
MDUwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMkQ5MkE3OUEyMTM0QUQ3OTAwRjQ5M0ZEIC8q
IFF1aWNrTG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDQzOTE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5r
Lm1tICovOyB9OworCQkyRDkyQTc5RDIxMzRBRjk1MDBGNDkzRkQgLyogVXNlckFnZW50SU9TLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTNBRjlEODMy
MDMyNTY5MTAwNkNBRDA2IC8qIFVzZXJBZ2VudElPUy5tbSAqLzsgfTsKIAkJMkQ5M0FFRTMxOURG
NTY0MTAwMkE4NkMzIC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOTNBRUUxMTlERjU2NDEwMDJBODZD
MyAvKiBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmggKi87IH07CiAJCTJEOTdGMDQ3MTlERDQx
M0MwMDFFRTlDMyAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRBQUUzMkMxOURDQUY2MDAwRTAwMkQyIC8q
IE1vY2tQYWdlT3ZlcmxheUNsaWVudC5jcHAgKi87IH07CiAJCTJEOTdGMDQ4MTlERDQxNDAwMDFF
RTlDMyAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQUFFMzJEMTlEQ0FGNjAwMEUwMDJEMiAvKiBNb2NrUGFn
ZU92ZXJsYXlDbGllbnQuaCAqLzsgfTsKQEAgLTcwNzIsNyArNzA3NCw3IEBACiAJCTMzOUI1QjYy
MTMxREFBMzIwMEY0OEQwMiAvKiBDb29raWVzU3RyYXRlZ3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ29va2llc1N0cmF0ZWd5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTM2NjJGOTg0MDQ3Q0VEQkU1REREQUZBQSAvKiBSZW5kZXJNYXRoTUxNZW5jbG9zZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJNYXRoTUxNZW5j
bG9zZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3MTE5QTc5MjBDQ0I2MTAw
MDJDNkRDOSAvKiBXZWJLaXRUYXJnZXRDb25kaXRpb25hbHMueGNjb25maWcgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRo
ID0gV2ViS2l0VGFyZ2V0Q29uZGl0aW9uYWxzLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQkzNzE3RDdFNTE3RUNDM0E2MDAzQzI3NkQgLyogZXh0cmFjdC1sb2NhbGl6YWJs
ZS1zdHJpbmdzLnBsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dC5zY3JpcHQucGVybDsgbmFtZSA9IGV4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5n
cy5wbDsgcGF0aCA9ICJTY3JpcHRzL2V4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTM3MTdEN0U1MTdFQ0MzQTYwMDNDMjc2RCAvKiBl
eHRyYWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5wZXJsOyBuYW1lID0gImV4dHJhY3Qt
bG9jYWxpemFibGUtc3RyaW5ncy5wbCI7IHBhdGggPSAiU2NyaXB0cy9leHRyYWN0LWxvY2FsaXph
YmxlLXN0cmluZ3MucGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzFBNjdDQTEx
QzZDN0RCMDAwNDdCOEIgLyogSHlwaGVuYXRpb25DRi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBIeXBoZW5hdGlvbkNGLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMzcxRTY1Q0IxMzY2MUVEQzAwQkVFREIwIC8qIFBhZ2VTZXJpYWxpemVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhZ2VTZXJpYWxpemVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3MUU2NUNEMTM2NjFFRUQwMEJFRURCMCAvKiBQYWdlU2Vy
aWFsaXplci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQYWdlU2Vy
aWFsaXplci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzM1Nyw4ICsxMzM1
OSw4IEBACiAJCUNERTU5NTlDMUJGMjc1NzEwMEExQ0JFOCAvKiBDRE1TZXNzaW9uTWVkaWFTb3Vy
Y2VBVkZPYmpDLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ0RN
U2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQ0RFNjU2MEUxN0NBNkU3NjAwNTI2QkE3IC8qIG1lZGlhQ29udHJvbHNBcHBsZS5qcyAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
amF2YXNjcmlwdDsgcGF0aCA9IG1lZGlhQ29udHJvbHNBcHBsZS5qczsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0RFNjY3QTExRTRCQkE0RDAwRTgxNTRBIC8qIFBsYXRmb3JtQXVkaW9E
YXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtQXVkaW9EYXRh
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNERTY2N0EyMUU0QkJGMTUwMEU4MTU0
QSAvKiBXZWJBdWRpb0J1ZmZlckxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gY29jb2EvV2ViQXVkaW9CdWZmZXJMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJQ0RFNjY3QTMxRTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlz
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBjb2NvYS9XZWJBdWRpb0J1ZmZl
ckxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0RFNjY3QTIxRTRCQkYxNTAw
RTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBXZWJBdWRpb0J1ZmZlckxpc3QuY3BwOyBwYXRoID0gY29jb2EvV2ViQXVk
aW9CdWZmZXJMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0RFNjY3QTMx
RTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBXZWJBdWRpb0J1ZmZlckxpc3QuaDsgcGF0aCA9IGNvY29hL1dlYkF1
ZGlvQnVmZmVyTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU3RkM0MjE4
MTkwNEIxMDAyQkJCNzcgLyogT3JkZXJJdGVyYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBPcmRlckl0ZXJhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQ0RFN0ZDNDMxODE5MDRCMTAwMkJCQjc3IC8qIE9yZGVySXRlcmF0b3IuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT3JkZXJJdGVyYXRvci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDREU4M0RBRjE4M0M0NDA2MDAzMUVBQTMgLyogVmlkZW9QbGF5
YmFja1F1YWxpdHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVmlk
ZW9QbGF5YmFja1F1YWxpdHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzE0
NDIsNiArMzE0NDQsNyBAQAogCQkJCUFBMTJERjQ5MTc0M0RGODMwMDREQUZERiAvKiBQbGF0Zm9y
bVNwZWVjaFN5bnRoZXNpemVySU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RBMjlBMzAxQ0JG
NzRENDAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0Lm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQ0RBMjlBMTYxQ0JEQTU2QzAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lvbklu
dGVyZmFjZU1hYy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJBNzlBMjEzNEFENzkwMEY0OTNG
RCAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAogCQkJCTQxOTI0MjQ5MjEy
N0I5M0UwMDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTMxNkRDQjhBMUU3QTY5OTYwMDFCNUY4NyAvKiBSVENJY2VUcmFuc3Bv
cnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1MTE1NkUxMkIxNzQ5QzAwQzk2NzU0IC8qIFNj
cm9sbEFuaW1hdG9yTWFjLm1tIGluIFNvdXJjZXMgKi8sCkBAIC0zMjA1Niw2ICszMjA1OSw3IEBA
CiAJCQkJMkQ4QjkyRkQyMDNEMTNFMTAwOUM4NjhGIC8qIFVuaWZpZWRTb3VyY2U1MjguY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMkQ4QjkyRkUyMDNEMTNFMTAwOUM4NjhGIC8qIFVuaWZpZWRTb3Vy
Y2U1MjkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ4QjkyRkYyMDNEMTNFMTAwOUM4NjhGIC8q
IFVuaWZpZWRTb3VyY2U1MzAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5MkE3OUQyMTM0QUY5
NTAwRjQ5M0ZEIC8qIFVzZXJBZ2VudElPUy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUzMjA0MjAy
MUY5QTlGMTAwMEI4MUIyQSAvKiBVc2VyQWdlbnRTY3JpcHRzRGF0YS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk3QzNCNzk3MTE5MDg3NTdCMDBCNDdBMkQgLyogVXNlck1lc3NhZ2VIYW5kbGVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTdDRTY4MzQ0MTkyMTQzQTgwMEY0RDkyOCAvKiBVc2VyTWVz
c2FnZUhhbmRsZXJEZXNjcmlwdG9yLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNEU0EuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNEU0EuY3Bw
CmluZGV4IDk3MzE3ZTA0YTk3OTdmMTU2MTZkZTRjNzYwOGI3NDVkOWZkZWRlZjcuLjFiNTNjNDUz
YjM1MjUzNmI0ODEyZWRkMmFhNjRkOTFlOTVkZjg1NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUVDRFNBLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1FQ0RTQS5jcHAKQEAg
LTM2LDEyICszNiwxNCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK25hbWVzcGFjZSBDcnlw
dG9BbGdvcml0aG1FQ0RTQUludGVybmFsIHsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBBTEcy
NTYgPSAiRVMyNTYiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzM4NCA9ICJFUzM4NCI7
CiBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHNTEyID0gIkVTNTEyIjsKIHN0YXRpYyBjb25z
dCBjaGFyKiBjb25zdCBQMjU2ID0gIlAtMjU2IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBQ
Mzg0ID0gIlAtMzg0IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBQNTIxID0gIlAtNTIxIjsK
K30KIAogUmVmPENyeXB0b0FsZ29yaXRobT4gQ3J5cHRvQWxnb3JpdGhtRUNEU0E6OmNyZWF0ZSgp
CiB7CkBAIC0xMDIsNiArMTA0LDcgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1FQ0RTQTo6Z2VuZXJh
dGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyYgcGFyYW1ldGUKIAogdm9pZCBD
cnlwdG9BbGdvcml0aG1FQ0RTQTo6aW1wb3J0S2V5KENyeXB0b0tleUZvcm1hdCBmb3JtYXQsIEtl
eURhdGEmJiBkYXRhLCBjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJz
LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMsIEtleUNhbGxi
YWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2spCiB7
CisgICAgdXNpbmcgbmFtZXNwYWNlIENyeXB0b0FsZ29yaXRobUVDRFNBSW50ZXJuYWw7CiAgICAg
Y29uc3QgYXV0byYgZWNQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtRWNLZXlQ
YXJhbXM+KHBhcmFtZXRlcnMpOwogCiAgICAgUmVmUHRyPENyeXB0b0tleUVDPiByZXN1bHQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ2NyeXB0L0dDcnlwdFV0aWxpdGllcy5o
IGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2djcnlwdC9HQ3J5cHRVdGlsaXRpZXMuaAppbmRleCBm
MGE0MTM0NTZhOTQ0NTk5NThmOWE3ZjAyNTQ1MzQ0YjVmYjZjM2U1Li4zNmY0OGQwNGQ3ODJkNTIz
OTlkZDc3YzRiYzNkNzgyOGQ3OTVhOWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlw
dG8vZ2NyeXB0L0dDcnlwdFV0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9n
Y3J5cHQvR0NyeXB0VXRpbGl0aWVzLmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlIDxwYWwv
Y3J5cHRvL0NyeXB0b0RpZ2VzdC5oPgogI2luY2x1ZGUgPHBhbC9jcnlwdG8vZ2NyeXB0L0hhbmRs
ZS5oPgogI2luY2x1ZGUgPHBhbC9jcnlwdG8vZ2NyeXB0L1V0aWxpdGllcy5oPgorI2luY2x1ZGUg
PHd0Zi9PcHRpb25hbC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmgKaW5kZXggYTcxZGEzZjBlZTFhOTdmYjY1MDAwZmMxYTU1ODc5MDRmNzkyYTY4ZS4uMjI3NTc5
ODQxODViZmM4MmNkZjdmMzAxNzg1NTg3YjJkZWYwYTliOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgK
QEAgLTY0MSw3ICs2NDEsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgV0VCQ09SRV9FWFBPUlQgRG9j
dW1lbnRMb2FkZXIqIGxvYWRlcigpIGNvbnN0OwogCi0gICAgV0VCQ09SRV9FWFBPUlQgRXhjZXB0
aW9uT3I8UmVmUHRyPFdpbmRvd1Byb3h5Pj4gb3BlbkZvckJpbmRpbmdzKERPTVdpbmRvdyYgYWN0
aXZlV2luZG93LCBET01XaW5kb3cmIGZpcnN0V2luZG93LCBjb25zdCBTdHJpbmcmIHVybCwgY29u
c3QgQXRvbWljU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGZlYXR1cmVzKTsKKyAgICBXRUJD
T1JFX0VYUE9SVCBFeGNlcHRpb25PcjxSZWZQdHI8V2luZG93UHJveHk+PiBvcGVuRm9yQmluZGlu
Z3MoRE9NV2luZG93JiBhY3RpdmVXaW5kb3csIERPTVdpbmRvdyYgZmlyc3RET01XaW5kb3csIGNv
bnN0IFN0cmluZyYgdXJsLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
ZmVhdHVyZXMpOwogICAgIFdFQkNPUkVfRVhQT1JUIEV4Y2VwdGlvbk9yPERvY3VtZW50Jj4gb3Bl
bkZvckJpbmRpbmdzKERvY3VtZW50KiByZXNwb25zaWJsZURvY3VtZW50LCBjb25zdCBTdHJpbmcm
IHR5cGUsIGNvbnN0IFN0cmluZyYgcmVwbGFjZSk7CiAKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxk
IHJlbmFtZSB0aGlzIGF0IHNvbWUgcG9pbnQgYW5kIGdpdmUgYmFjayB0aGUgbmFtZSAnb3Blbicg
dG8gdGhlIEhUTUwgc3BlY2lmaWVkIG9uZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAppbmRleCBlNDBmOWE4ODZmMTU5MDRlNjJmMGYyNjg4YTg2
OWE2OTg4OWI0YTg5Li5jNzMxOTIyYWY4Mjk4M2I5ZGFhNmJjN2ZlNTIyNzg2MzczMTY4M2ZkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKQEAg
LTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJIVE1MRG9jdW1lbnRQYXJzZXIuaCIKICNpbmNsdWRl
ICJIVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50Lmgi
CisjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxPcHRHcm91cEVs
ZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MT3B0aW9uRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxQ
YXJzZXJJZGlvbXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNo
ZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaAppbmRleCA3MmIyOTc1
NWYxMWQ5NDA5NWZhN2VkZDUzMDk2OGY3YzU3YjU3YmViLi42ZDlhMmRhOWJlMDMyMDA3YTgyZWRh
NjhjMTZmZDJmMjhiMWMxMjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBw
Y2FjaGUvQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5oCkBAIC0y
NSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNo
ZVJlc291cmNlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmF3UmVzb3VyY2UuaCIKICNpbmNsdWRlICJD
YWNoZWRSYXdSZXNvdXJjZUNsaWVudC5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxl
LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0FsdGVybmF0aXZlVGV4dENsaWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9BbHRlcm5hdGl2ZVRleHRDbGllbnQuaAppbmRleCA5
MzU1OTM3ODhmOTg5OWM5ZTIyNTEwODhiNGU3NmQwMDVkM2QyZjk4Li4xNDNkYTZjNDdmNGJjZWZj
MGE0MWFhODc2NDY3ZDA0NDcxNWJhNzBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0FsdGVybmF0aXZlVGV4dENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWx0ZXJu
YXRpdmVUZXh0Q2xpZW50LmgKQEAgLTI5LDExICsyOSw2IEBACiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCi0jaWYgUExBVEZPUk0oTUFD
KQotLy8gU29tZSBwbGF0Zm9ybXMgcHJvdmlkZSBVSSBmb3Igc3VnZ2VzdGluZyBhbHRlcm5hdGl2
ZSBkaWN0YXRpb24gdGV4dC4KLSNkZWZpbmUgVVNFX0RJQ1RBVElPTl9BTFRFUk5BVElWRVMgMQot
I2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBSZWFzb25Gb3JEaXNtaXNzaW5n
QWx0ZXJuYXRpdmVUZXh0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bh
c3RlYm9hcmQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCBk
NTQzM2RkOTIwYWUwZWU1OTJiZDQ1ZmQ1NjBjZGQzZTM4YTM0NzIxLi5lMDk4MTU2NTFiZDJkNjA1
NzRkYTQyMzZjMzgwZmFkNGQ2MDIxNWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9QYXN0ZWJvYXJkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2Fy
ZC5oCkBAIC0zMzgsNiArMzM4LDcgQEAgZXh0ZXJuIE5TU3RyaW5nICpVSUNvbG9yUGJvYXJkVHlw
ZTsKICNpZiBQTEFURk9STShNQUMpCiBleHRlcm4gY29uc3QgY2hhciogY29uc3QgV2ViQXJjaGl2
ZVBib2FyZFR5cGU7CiBleHRlcm4gY29uc3QgY2hhciogY29uc3QgV2ViVVJMTmFtZVBib2FyZFR5
cGU7CitleHRlcm4gY29uc3QgY2hhciogY29uc3QgV2ViVVJMc1dpdGhUaXRsZXNQYm9hcmRUeXBl
OwogI2VuZGlmCiAKICNpZiAhUExBVEZPUk0oR1RLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2Vzc2lvbk1hYy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TZXNzaW9uTWFjLmNwcAppbmRleCA3OWFiOWY0MWJl
NWNlNmRlODRjODhlM2E2OTE4MTBkMGY0OWE0MzkxLi5lOTE4MDk4OGQ2OWM5NjUwOGRjMTIxYTE3
MGU3MTJhZWFhY2NmZTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9tYWMvQXVkaW9TZXNzaW9uTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9tYWMvQXVkaW9TZXNzaW9uTWFjLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUg
Ik5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSA8Q29yZUF1ZGlvL0F1ZGlvSGFyZHdhcmUuaD4K
ICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwCmluZGV4IDk2
OGJiMjI4NmExZjdlNTg0NjRlZjg4ZDc5ZTYxZWY0MjQ5MDE1NWYuLjNlMmM4MmI4YjEyZWRhMDlk
YjQzZjRjMTMwMTRjNWJiYWMwYjcwMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcApAQCAtMzAsNiAr
MzAsNyBAQAogCiAjaW5jbHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9yQ2xpZW50LmgiCiAjaW5j
bHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlci5oIgorI2luY2x1ZGUgIkxvZ2dpbmcu
aCIKIAogI2lmIFBMQVRGT1JNKElPUykKICNpbmNsdWRlICJEaXNwbGF5UmVmcmVzaE1vbml0b3JJ
T1MuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRG
YW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuY3BwCmluZGV4IDIxNzY5MWY3MjM5NzRl
ODAwNTc5YjI4Y2MwNTZhN2I5YzA4NWM2NGQuLjE1YzAzODc2OTgyNjBmNDA1ZTIyZTViZjUyNzgw
MDMwOGM3ZmUzYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseVNwZWNpZmljYXRpb25OdWxsLmNwcApAQCAtMjcsNiAr
MjcsNyBAQAogI2luY2x1ZGUgIkZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5oIgogCiAjaW5j
bHVkZSAiRm9udFNlbGVjdG9yLmgiCisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSGFz
aC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRHZW5lcmljRmFtaWxpZXMuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEdlbmVyaWNGYW1pbGllcy5jcHAKaW5kZXggZDQzYzBi
ZGJkYWY4NGVhMTMzOTBmYmY2MDAzZTM4MjM5YTJjMjRkYy4uMjU4YmFmZDg0MGJkODIyMGY4NTI0
Mjk2MTg2ZDhkOThiY2JlOTBjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udEdlbmVyaWNGYW1pbGllcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udEdlbmVyaWNGYW1pbGllcy5jcHAKQEAgLTI3LDYgKzI3LDcgQEAK
ICNpbmNsdWRlICJGb250R2VuZXJpY0ZhbWlsaWVzLmgiCiAKICNpbmNsdWRlIDx3dGYvTGFuZ3Vh
Z2UuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udFRhZ2dlZFNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRUYWdnZWRTZXR0aW5ncy5jcHAKaW5kZXggNjFiMmViZWY2YzQ3NTAxMTMzMjFiZjE2
YmE5Y2VlZTMwYzNmMjRlMC4uYjBjYTQzZDU1YzQ1Y2I1MGQ3MzBmODkyZTE3ZDgwODY5Y2NkNDk2
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFRhZ2dl
ZFNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
VGFnZ2VkU2V0dGluZ3MuY3BwCkBAIC0yNyw5ICsyNyw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiRm9udFRhZ2dlZFNldHRpbmdzLmgiCiAKLSNpbmNsdWRlIDx3dGYvdGV4dC9U
ZXh0U3RyZWFtLmg+Ci0KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmdIYXNoLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvVGV4dFN0cmVhbS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRD
YWlyby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q2Fp
cm8uY3BwCmluZGV4IDA2ZDlkNzQ5NGE0YmVhYThlM2E5Y2U3YWZlNmRhYjM1YjFjMmRiNzguLjI4
NmJjNmQ4ZTNjMjY1MzA0NmM2M2I1MmIzNmQwOTAzMWYyMDhkOTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDYWlyby5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udENhaXJvLmNwcApAQCAtMzQs
NiArMzQsNyBAQAogI2lmIFVTRShDQUlSTykKIAogI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5o
IgorI2luY2x1ZGUgIkNhaXJvT3BlcmF0aW9ucy5oIgogI2luY2x1ZGUgIkNhaXJvVXRpbGl0aWVz
LmgiCiAjaW5jbHVkZSAiRm9udC5oIgogI2luY2x1ZGUgIkdseXBoQnVmZmVyLmgiCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHTExheWVyLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5tbQpp
bmRleCAzZWQ3ZTQxZTdjNjg4NDZmM2ZiYzE3MmNlNmJhOTg5ZmY4N2Y1N2ViLi44ZWUzNDhkODk5
ODYzNDEzZDZiNjcxMzc2ZTViMWRhNTRjYjEzNzYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHTExheWVyLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdMTGF5ZXIubW0KQEAgLTQyLDEzICs0Miwx
MSBAQAogI2ltcG9ydCA8T3BlbkdML2dsLmg+CiAjZW5kaWYKIAotdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7Ci0KIEBpbXBsZW1lbnRhdGlvbiBXZWJHTExheWVyCiAKIEBzeW50aGVzaXplIGNvbnRl
eHQ9X2NvbnRleHQ7CiAKLS0oaWQpaW5pdFdpdGhHcmFwaGljc0NvbnRleHQzRDooR3JhcGhpY3ND
b250ZXh0M0QqKWNvbnRleHQKKy0oaWQpaW5pdFdpdGhHcmFwaGljc0NvbnRleHQzRDooV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0M0QqKWNvbnRleHQKIHsKICAgICBfY29udGV4dCA9IGNvbnRleHQ7
CiAgICAgc2VsZiA9IFtzdXBlciBpbml0XTsKQEAgLTg2LDcgKzg0LDcgQEAgc3RhdGljIHZvaWQg
ZnJlZURhdGEodm9pZCAqLCBjb25zdCB2b2lkICpkYXRhLCBzaXplX3QgLyogc2l6ZSAqLykKIH0K
ICNlbmRpZgogCi0tKENHSW1hZ2VSZWYpY29weUltYWdlU25hcHNob3RXaXRoQ29sb3JTcGFjZToo
Q0dDb2xvclNwYWNlUmVmKWNvbG9yU3BhY2UKKy0gKENHSW1hZ2VSZWYpY29weUltYWdlU25hcHNo
b3RXaXRoQ29sb3JTcGFjZTooQ0dDb2xvclNwYWNlUmVmKWNvbG9yU3BhY2UKIHsKICAgICBpZiAo
IV9jb250ZXh0KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTk2LDcgKzk0LDcgQEAgLShD
R0ltYWdlUmVmKWNvcHlJbWFnZVNuYXBzaG90V2l0aENvbG9yU3BhY2U6KENHQ29sb3JTcGFjZVJl
Ziljb2xvclNwYWNlCiAKICAgICBSZXRhaW5QdHI8Q0dDb2xvclNwYWNlUmVmPiBpbWFnZUNvbG9y
U3BhY2UgPSBjb2xvclNwYWNlOwogICAgIGlmICghaW1hZ2VDb2xvclNwYWNlKQotICAgICAgICBp
bWFnZUNvbG9yU3BhY2UgPSBzUkdCQ29sb3JTcGFjZVJlZigpOworICAgICAgICBpbWFnZUNvbG9y
U3BhY2UgPSBXZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigpOwogCiAgICAgQ0dSZWN0IGxheWVy
Qm91bmRzID0gQ0dSZWN0SW50ZWdyYWwoW3NlbGYgYm91bmRzXSk7CiAKQEAgLTE0MSwxOSArMTM5
LDE5IEBAIC0gKHZvaWQpZGlzcGxheQogI2VuZGlmCiAKICAgICBfY29udGV4dC0+bWFya0xheWVy
Q29tcG9zaXRlZCgpOwotICAgIFBsYXRmb3JtQ0FMYXllciogbGF5ZXIgPSBQbGF0Zm9ybUNBTGF5
ZXI6OnBsYXRmb3JtQ0FMYXllcigoX19icmlkZ2Ugdm9pZCopc2VsZik7CisgICAgV2ViQ29yZTo6
UGxhdGZvcm1DQUxheWVyKiBsYXllciA9IFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXllcjo6cGxhdGZv
cm1DQUxheWVyKChfX2JyaWRnZSB2b2lkKilzZWxmKTsKICAgICBpZiAobGF5ZXIgJiYgbGF5ZXIt
Pm93bmVyKCkpCiAgICAgICAgIGxheWVyLT5vd25lcigpLT5wbGF0Zm9ybUNBTGF5ZXJMYXllckRp
ZERpc3BsYXkobGF5ZXIpOwogfQogCiAjaWYgVVNFKE9QRU5HTCkKLS0gKHZvaWQpYWxsb2NhdGVJ
T1N1cmZhY2VCYWNraW5nU3RvcmVXaXRoU2l6ZTooSW50U2l6ZSlzaXplIHVzaW5nQWxwaGE6KEJP
T0wpdXNpbmdBbHBoYQorLSAodm9pZClhbGxvY2F0ZUlPU3VyZmFjZUJhY2tpbmdTdG9yZVdpdGhT
aXplOihXZWJDb3JlOjpJbnRTaXplKXNpemUgdXNpbmdBbHBoYTooQk9PTCl1c2luZ0FscGhhCiB7
CiAgICAgX2J1ZmZlclNpemUgPSBzaXplOwogICAgIF91c2luZ0FscGhhID0gdXNpbmdBbHBoYTsK
LSAgICBfY29udGVudHNCdWZmZXIgPSBXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShzaXplLCBz
UkdCQ29sb3JTcGFjZVJlZigpKTsKLSAgICBfZHJhd2luZ0J1ZmZlciA9IFdlYkNvcmU6OklPU3Vy
ZmFjZTo6Y3JlYXRlKHNpemUsIHNSR0JDb2xvclNwYWNlUmVmKCkpOwotICAgIF9zcGFyZUJ1ZmZl
ciA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUsIHNSR0JDb2xvclNwYWNlUmVmKCkp
OworICAgIF9jb250ZW50c0J1ZmZlciA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUs
IFdlYkNvcmU6OnNSR0JDb2xvclNwYWNlUmVmKCkpOworICAgIF9kcmF3aW5nQnVmZmVyID0gV2Vi
Q29yZTo6SU9TdXJmYWNlOjpjcmVhdGUoc2l6ZSwgV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYo
KSk7CisgICAgX3NwYXJlQnVmZmVyID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVhdGUoc2l6ZSwg
V2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYoKSk7CiAKICAgICBBU1NFUlQoX2NvbnRlbnRzQnVm
ZmVyKTsKICAgICBBU1NFUlQoX2RyYXdpbmdCdWZmZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR1BVTGF5ZXIubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbQppbmRleCA1YzM1NTdm
OGJkNjZhNjhjOTIzYjIzYWE2NDdiYjcxNDg0MDllOWExLi4yNWVmYjhiNzQ3NjgwMjQ1NThkYmNk
ZjMwZjc0MzE4NzE0Njk1NWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbQpAQCAtMzQsMTMgKzM0LDExIEBACiAjaW1w
b3J0IDx3dGYvRmFzdE1hbGxvYy5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCi11c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogQGltcGxlbWVudGF0aW9uIFdlYkdQVUxheWVyCiAKIEBz
eW50aGVzaXplIGNvbnRleHQ9X2NvbnRleHQ7CiAKLS0gKGlkKWluaXRXaXRoR1BVRGV2aWNlOihH
UFVEZXZpY2UqKWNvbnRleHQKKy0gKGlkKWluaXRXaXRoR1BVRGV2aWNlOihXZWJDb3JlOjpHUFVE
ZXZpY2UqKWNvbnRleHQKIHsKICAgICBzZWxmID0gW3N1cGVyIGluaXRdOwogICAgIF9jb250ZXh0
ID0gY29udGV4dDsKQEAgLTUwLDcgKzQ4LDcgQEAgLSAoaWQpaW5pdFdpdGhHUFVEZXZpY2U6KEdQ
VURldmljZSopY29udGV4dAogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHNlbGYuY29udGVudHNT
Y2FsZSA9IF9kZXZpY2VQaXhlbFJhdGlvOwotICAgIHNlbGYuY29sb3JzcGFjZSA9IHNSR0JDb2xv
clNwYWNlUmVmKCk7CisgICAgc2VsZi5jb2xvcnNwYWNlID0gV2ViQ29yZTo6c1JHQkNvbG9yU3Bh
Y2VSZWYoKTsKICNlbmRpZgogICAgIHJldHVybiBzZWxmOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29tbWFuZFF1ZXVlTWV0YWwubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVN
ZXRhbC5tbQppbmRleCA4MjBhZjhiYzE2ZGIzYjQ4NjVlNzliN2I4MjRkYjJjN2I0ZGYzZWNjLi4z
MDNiMjVkYTNkNGE2NGVkMWIwMDMwYjcyYjlmZGJjNmY5NjVjMzNkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5k
UXVldWVNZXRhbC5tbQpAQCAtMzEsNiArMzEsNyBAQAogI2ltcG9ydCAiR1BVRGV2aWNlLmgiCiAj
aW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0IDxNZXRhbC9NZXRhbC5oPgorI2ltcG9ydCA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRNYWMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQppbmRleCBjYjUwNGNmNTQzZWI3ZTgw
ZDc2NjVjZDFlNTdlMzA4OWFmZmIxYTcwLi5mZDZlOTI5ODc3NGZhZjRmZTg3MzViZjI3NTY1YWRj
OTUzMmJmNjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVi
b2FyZE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1h
Yy5tbQpAQCAtNTIsMTAgKzUyLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY29uc3QgY2hh
ciogY29uc3QgV2ViQXJjaGl2ZVBib2FyZFR5cGUgPSAiQXBwbGUgV2ViIEFyY2hpdmUgcGFzdGVi
b2FyZCB0eXBlIjsKIGNvbnN0IGNoYXIqIGNvbnN0IFdlYlVSTE5hbWVQYm9hcmRUeXBlID0gInB1
YmxpYy51cmwtbmFtZSI7Citjb25zdCBjaGFyKiBjb25zdCBXZWJVUkxzV2l0aFRpdGxlc1Bib2Fy
ZFR5cGUgPSAiV2ViVVJMc1dpdGhUaXRsZXNQYm9hcmRUeXBlIjsKIAogY29uc3QgY2hhciBXZWJT
bWFydFBhc3RlUGJvYXJkVHlwZVtdID0gIk5lWFQgc21hcnQgcGFzdGUgcGFzdGVib2FyZCB0eXBl
IjsKIGNvbnN0IGNoYXIgV2ViVVJMUGJvYXJkVHlwZVtdID0gInB1YmxpYy51cmwiOwotY29uc3Qg
Y2hhciBXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGVbXSA9ICJXZWJVUkxzV2l0aFRpdGxlc1Bi
b2FyZFR5cGUiOwogCiBzdGF0aWMgY29uc3QgVmVjdG9yPFN0cmluZz4gd3JpdGFibGVUeXBlc0Zv
clVSTCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29hLmNwcAppbmRl
eCA1YzJhOWQyNDE5OGExM2U0OGM0ZjczZTlkZTYxZGQzN2FkZTkyNTUxLi5mNDkyZTYxNDJmMDIz
MWI5OTdlOTZiYTU5Mjc5NTg4NTY4MDkzM2FjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVy
ZU1hbmFnZXJDb2NvYS5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCiAKKyNpbmNsdWRlICJDb3JlVmlkZW9Tb2Z0TGluay5oIgogI2luY2x1ZGUgIkxvZ2dp
bmcuaCIKICNpbmNsdWRlIDx3dGYvQWxnb3JpdGhtcy5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRl
c3Ryb3llZC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZVJlcXVlc3RCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKaW5kZXggMjU0MDk2NTZjM2Q2MzIwMzYxNjVmYWIxZGQ3
NDllODhmY2E2ODQ4Mi4uZmY1ODM2MTc0ZWFiOTU5NTI4YTIwN2JmYmFhYjYwMDM5ZDliNTAzMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVl
c3RCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
UmVxdWVzdEJhc2UuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiSFRUUEhlYWRlck5h
bWVzLmgiCiAjaW5jbHVkZSAiUHVibGljU3VmZml4LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1
ZXN0LmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5
UG9saWN5LmgiCiAjaW5jbHVkZSA8d3RmL1BvaW50ZXJDb21wYXJpc29uLmg+CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5l
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0Zvcm1EYXRhU3RyZWFt
Q0ZOZXQuY3BwCmluZGV4IDI5MDI1ZDM4YTdmZDM2ZmY5Yjk5NjIzOTFmMDgwODcwMjFmZjEzMGUu
LmU1MzIxYzI3ZDRkOTY4YzY2ZTRjZDRjNjc3OTYzZjVhN2Q2Y2FkZmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5ldC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Gb3JtRGF0YVN0cmVhbUNG
TmV0LmNwcApAQCAtNDIsMTEgKzQyLDcgQEAKICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+
CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCi0jaWYgUExBVEZPUk0oSU9TKSAmJiAhUExB
VEZPUk0oSU9TTUFDKQotc3RhdGljIGNvbnN0IFNJbnQzMiBmbmZFcnIgPSAtNDM7Ci0jZWxpZiBQ
TEFURk9STShNQUMpCi0jaW5jbHVkZSA8Q29yZVNlcnZpY2VzL0NvcmVTZXJ2aWNlcy5oPgotI2Vu
ZGlmCitzdGF0aWMgY29uc3QgU0ludDMyIGZpbGVOb3RGb3VuZEVycm9yID0gLTQzOwogCiAjaWYg
UExBVEZPUk0oQ09DT0EpCiBleHRlcm4gIkMiIHZvaWQgQ0ZVUkxSZXF1ZXN0U2V0SFRUUFJlcXVl
c3RCb2R5KENGTXV0YWJsZVVSTFJlcXVlc3RSZWYgbXV0YWJsZUhUVFBSZXF1ZXN0LCBDRkRhdGFS
ZWYgaHR0cEJvZHkpOwpAQCAtMjQxLDcgKzIzNyw3IEBAIHN0YXRpYyBCb29sZWFuIGZvcm1PcGVu
KENGUmVhZFN0cmVhbVJlZiwgQ0ZTdHJlYW1FcnJvciogZXJyb3IsIEJvb2xlYW4qIG9wZW5Db21w
CiAjaWYgUExBVEZPUk0oV0lOKQogICAgICAgICBFTk9FTlQ7CiAjZWxzZQotICAgICAgICBmbmZF
cnI7CisgICAgICAgIGZpbGVOb3RGb3VuZEVycm9yOwogI2VuZGlmCiAgICAgcmV0dXJuIG9wZW5l
ZDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVj
VVRGOC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguY3Bw
CmluZGV4IGIzMThlNjIyYmNiZTExODAxOWE0MTY4NTYzMzM1NTZmMTA3MmQ3OWUuLjIxZjAzOGJj
NmQ0NWI0NjhkZTJhZWY3NDY3OTg1YjRkMDI1ZGM3OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVVRGOC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4LmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1
ZGUgIlRleHRDb2RlY0FTQ0lJRmFzdFBhdGguaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5n
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVmZmVyLmg+CisjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9UZXh0Q29kZWNVVEY4LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1Rl
eHRDb2RlY1VURjguaAppbmRleCBmODI4MmI1ZjM0YTg5NDczZGU5YWQ3YTIxNzY1YWY2YTMyYWNm
OTVjLi44NGY3MTQ3ZTZkYzM0ZjJlNzUxNTYxMjEwMTliYWYxNDBlNWJjMWU1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguaApAQCAtMjYsNiArMjYsNyBA
QAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJUZXh0Q29kZWMuaCIKKyNpbmNsdWRlIDx1bmlj
b2RlL3V0ZjguaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9MQ2hhci5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVu
ZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3Vw
ZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcAppbmRleCAzYmM4MmM2ZTFhYmQy
ZmFjNDNiMDk5YzhlNmUzY2NmMzY2ZGQ4NTNiLi4yYzJiNTA4ZmFjNWM2ZmM4NDYyODVjOWZmYTg5
NWE3YjQwMjJiOGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRp
bmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5jcHAKQEAgLTI3LDYg
KzI3LDggQEAKICNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5oIgogCiAjaW5j
bHVkZSAiUmVuZGVyTXVsdGlDb2x1bW5GbG93LmgiCisjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxk
ZXJCbG9jay5oIgorI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyTXVsdGlDb2x1bW4uaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5saW5lLmNwcAppbmRleCA3Y2Qw
NzE1ZGY1MjRhNzZmZDIwNmEyMzQyOGQ5ZGFjN2Q3ZDg1M2Y4Li5kYzk1M2NjZGNlZTgzMDFkZmQw
NTk3YTYxZDA1MmUzYzUwYjlmNjFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAKQEAgLTMw
LDYgKzMwLDcgQEAKICNpbmNsdWRlICJSZW5kZXJGdWxsU2NyZWVuLmgiCiAjaW5jbHVkZSAiUmVu
ZGVySW5saW5lLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGFibGUuaCIKKyNpbmNsdWRlICJSZW5kZXJU
cmVlQnVpbGRlclRhYmxlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyUnVieS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJS
dWJ5LmNwcAppbmRleCA3YWMxOWJhYzViYmM4ZGQ5Y2M2MjRiYWE0MWQ5Yzg5YzcxZDExYTg4Li42
MzNkNzhjYmI2Yzg3MjA3YmM2ZjZmOGM0ZTkyN2M3YmJhY2NjOGNkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJSdWJ5LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJS
dWJ5LmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IlJlbmRlclRyZWVCdWlsZGVyUnVieS5oIgogCisjaW5jbHVkZSAiRWxlbWVudEFuY2VzdG9ySXRl
cmF0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJSdWJ5LmgiCiAjaW5jbHVkZSAiUmVuZGVyUnVieUJh
c2UuaCIKICNpbmNsdWRlICJSZW5kZXJSdWJ5UnVuLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNwcAppbmRleCA3ZDc2
YWY5NDI3NDYxNzVlYjlhMmM1OWU3MWE5NzEyNGZmYzBkYTI0Li42NTIyNmEwNTUxZTVmMWVlNGE4
MzQ4YmVjZDkzNWUzYmI0MDBhMDcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAKQEAgLTQxLDYgKzQxLDggQEAK
ICNpbmNsdWRlICJSZW5kZXJEZXNjZW5kYW50SXRlcmF0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJG
dWxsU2NyZWVuLmgiCiAjaW5jbHVkZSAiUmVuZGVySW5saW5lLmgiCisjaW5jbHVkZSAiUmVuZGVy
TXVsdGlDb2x1bW5GbG93LmgiCisjaW5jbHVkZSAiUmVuZGVyTXVsdGlDb2x1bW5TZXQuaCIKICNp
bmNsdWRlICJSZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQuaCIKICNpbmNsdWRlICJS
dW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAjaW5jbHVkZSAiU3R5bGVSZXNvbHZlci5oIgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZS5tbSBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmUubW0KaW5kZXggYjE3NDJmZGZkZDM4NjllYWRkM2Q3
YzVhZWU3MDVlNjYxZjk3ZWVkYy4uYjhjOTcyZjdlYzE4ZWI3ZDRjOWE3MWRlMmI0ZTFlMmM2NWRl
ODc2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZS5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlLm1tCkBAIC0zNCw5ICszNCw4
IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9MZWdhY3lXZWJBcmNoaXZlLmg+CiAjaW5jbHVkZSA8d3Rm
L1JldGFpblB0ci5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogbmFtZXNwYWNlIEFQ
SSB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogUmVmPFdlYkFyY2hpdmU+IFdlYkFyY2hp
dmU6OmNyZWF0ZShXZWJBcmNoaXZlUmVzb3VyY2UqIG1haW5SZXNvdXJjZSwgUmVmUHRyPEFQSTo6
QXJyYXk+JiYgc3VicmVzb3VyY2VzLCBSZWZQdHI8QVBJOjpBcnJheT4mJiBzdWJmcmFtZUFyY2hp
dmVzKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZVJl
c291cmNlLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1t
CmluZGV4IGNhZTViODVkZjE3N2RkZGU2OGQ4NTJlNWU1MDZkOGQ5MmJlMmVhOTQuLmRjMGY5MGYw
ZjM4NTFhYmYxMDA0ODRiYTU3M2FlNGFmOGU4MGIyMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0FQSVdlYkFyY2hpdmVSZXNvdXJjZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW0KQEAgLTMzLDkgKzMzLDggQEAKICNpbmNsdWRl
IDxXZWJDb3JlL1VSTC5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAotdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7Ci0KIG5hbWVzcGFjZSBBUEkgewordXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CiAKIFJlZjxXZWJBcmNoaXZlUmVzb3VyY2U+IFdlYkFyY2hpdmVSZXNvdXJjZTo6Y3JlYXRl
KEFQSTo6RGF0YSogZGF0YSwgY29uc3QgU3RyaW5nJiBVUkwsIGNvbnN0IFN0cmluZyYgTUlNRVR5
cGUsIGNvbnN0IFN0cmluZyYgdGV4dEVuY29kaW5nKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMu
bW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBs
dWdpbk1vZHVsZU1hYy5tbQppbmRleCA2OGQ3YzZhZGYzNjI3NTEzMTI5NjM1NjI4NmYxMWU4NDlj
MTRjMmMwLi5jMGNjYWM1OTg1M2NmYWZmZDlmZjFkMWUzZDY4YjY3ZDY0NTdmN2M3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBs
dWdpbk1vZHVsZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNj
YXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbQpAQCAtMzQsOSArMzQsOCBAQAogI2lt
cG9ydCA8d3RmL01haW5UaHJlYWQuaD4KICNpbXBvcnQgPHd0Zi9zcGkvY2YvQ0ZCdW5kbGVTUEku
aD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIG5hbWVzcGFjZSBXZWJLaXQgewordXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIHN0YXRpYyBib29sIGdldFBsdWdpbkFyY2hpdGVjdHVy
ZShDRkJ1bmRsZVJlZiBidW5kbGUsIFBsdWdpbk1vZHVsZUluZm8mIHBsdWdpbikKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL1BsdWdpbklu
Zm9ybWF0aW9uTWFjLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9t
YWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW0KaW5kZXggNWVjODQyNDk1OWNiYzE5Mjg4NmZhNzVh
YmYwM2YzZDg4NWJjYjFkOS4uMzI1ODRkNDE2YmUwZmYyNWU5ZTkxZGRmNDI4NzBlMzM5NGY0OTM2
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMv
UGx1Z2luSW5mb3JtYXRpb25NYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lu
cy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW0KQEAgLTM0LDkgKzM0LDggQEAK
ICNpbXBvcnQgIlN0cmluZ1V0aWxpdGllcy5oIgogI2ltcG9ydCA8V2ViQ29yZS9QbHVnaW5CbGFj
a2xpc3QuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIG5hbWVzcGFjZSBXZWJLaXQg
ewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIHZvaWQgZ2V0UGxhdGZvcm1QbHVnaW5Nb2R1
bGVJbmZvcm1hdGlvbihjb25zdCBQbHVnaW5Nb2R1bGVJbmZvJiBwbHVnaW4sIEFQSTo6RGljdGlv
bmFyeTo6TWFwVHlwZSYgbWFwKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2Vz
Q29jb2EudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IGQ4YTNjOTBk
ZmZlMzIyMzIyZDc2M2VlMjFlN2NiYTQ1MGZlODVmY2YuLjRiOGQ0ODA2YjQ0ZjIyMDQ2NTg1Nzdl
YjdhOTY3OGNiOGUzNDc5YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29h
LnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKQEAgLTI5OCw5ICsyOTgs
OSBAQCBVSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0gQG5vLXVuaWZ5CiAKIFVJUHJvY2Vzcy9B
cHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCiAKLVVJUHJv
Y2Vzcy9BcHBsZVBheS9pb3MvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlJT1MubW0KK1VJUHJv
Y2Vzcy9BcHBsZVBheS9pb3MvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlJT1MubW0gQG5vLXVu
aWZ5CiAKLVVJUHJvY2Vzcy9BcHBsZVBheS9tYWMvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlN
YWMubW0KK1VJUHJvY2Vzcy9BcHBsZVBheS9tYWMvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlN
YWMubW0gQG5vLXVuaWZ5CiAKIFVJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9jb2NvYS9BdXRoZW50
aWNhdGlvbkNoYWxsZW5nZVByb3h5Q29jb2EubW0KIFVJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9j
b2NvYS9TZWNLZXlQcm94eVN0b3JlLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9BUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oCmluZGV4IGJmYzVlZTMzODIy
MGQ5MTU2ZmNjZjAwYzFlNzZkMGJiZWU5MDQxOTAuLjM3OWM4ODU3YmU5NGI2MTk1NTVlZGZmZWM0
YzNhOWE2ZTE3Nzk0ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9B
UElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9BUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oCkBAIC01MSw3ICs1MSw3IEBAIHB1Ymxp
YzoKIAogICAgIHZpcnR1YWwgfkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50KCkgeyB9CiAKLSAgICB2
aXJ0dWFsIFN0cmluZyBzZXNzaW9uSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIFN0cmluZygp
OyB9CisgICAgdmlydHVhbCBXVEY6OlN0cmluZyBzZXNzaW9uSWRlbnRpZmllcigpIGNvbnN0IHsg
cmV0dXJuIFdURjo6U3RyaW5nKCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkRGlzY29ubmVjdEZy
b21SZW1vdGUoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYpIHsgfQogICAgIHZpcnR1YWwg
dm9pZCByZXF1ZXN0TmV3UGFnZVdpdGhPcHRpb25zKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Np
b24mLCBBdXRvbWF0aW9uU2Vzc2lvbkJyb3dzaW5nQ29udGV4dE9wdGlvbnMsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoV2ViS2l0OjpXZWJQYWdlUHJveHkqKT4mJiBjb21wbGV0aW9uSGFuZGxlcikg
eyBjb21wbGV0aW9uSGFuZGxlcihudWxscHRyKTsgfQogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0
TWF4aW1pemVXaW5kb3dPZlBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktp
dDo6V2ViUGFnZVByb3h5JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25I
YW5kbGVyKSB7IGNvbXBsZXRpb25IYW5kbGVyKCk7IH0KQEAgLTYxLDggKzYxLDggQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgYm9vbCBpc1Nob3dpbmdKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktp
dDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgcmV0dXJu
IGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIGRpc21pc3NDdXJyZW50SmF2YVNjcmlwdERpYWxv
Z09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJv
eHkmKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgYWNjZXB0Q3VycmVudEphdmFTY3JpcHREaWFsb2dP
blBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5
JikgeyB9Ci0gICAgdmlydHVhbCBTdHJpbmcgbWVzc2FnZU9mQ3VycmVudEphdmFTY3JpcHREaWFs
b2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVBy
b3h5JikgeyByZXR1cm4gU3RyaW5nKCk7IH0KLSAgICB2aXJ0dWFsIHZvaWQgc2V0VXNlcklucHV0
Rm9yQ3VycmVudEphdmFTY3JpcHRQcm9tcHRPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vz
c2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JiwgY29uc3QgU3RyaW5nJikgeyB9CisgICAgdmly
dHVhbCBXVEY6OlN0cmluZyBtZXNzYWdlT2ZDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZShX
ZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IHJl
dHVybiBXVEY6OlN0cmluZygpOyB9CisgICAgdmlydHVhbCB2b2lkIHNldFVzZXJJbnB1dEZvckN1
cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24m
LCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIGNvbnN0IFdURjo6U3RyaW5nJikgeyB9CiAgICAgdmly
dHVhbCBzdGQ6Om9wdGlvbmFsPEphdmFTY3JpcHREaWFsb2dUeXBlPiB0eXBlT2ZDdXJyZW50SmF2
YVNjcmlwdERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0
OjpXZWJQYWdlUHJveHkmKSB7IHJldHVybiBzdGQ6Om51bGxvcHQ7IH0KIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFu
YWdlckNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1c3Rv
bVByb3RvY29sTWFuYWdlckNsaWVudC5tbQppbmRleCAxMWJhMzcyNjU0ODNmZmU3ZmYyNDY1MDk0
MGQ4ZjMzYTUyYzBjMDRhLi4xOWE1OWI0MmNhYjdiNTQ3ZWQ5NDQ2MGU3MmZjMDM5NmNmZTc5Mjg3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9MZWdhY3lDdXN0b21Q
cm90b2NvbE1hbmFnZXJDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tCkBAIC0zMiwyMyArMzIsMjAg
QEAKICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L1Jlc291cmNlUmVzcG9uc2UuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci11c2luZyBu
YW1lc3BhY2UgV2ViS2l0OwotCiBAaW50ZXJmYWNlIFdLQ3VzdG9tUHJvdG9jb2xMb2FkZXIgOiBO
U09iamVjdCA8TlNVUkxDb25uZWN0aW9uRGVsZWdhdGU+IHsKIEBwcml2YXRlCi0gICAgTGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTsK
KyAgICBXZWJLaXQ6OkxlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiBfY3VzdG9tUHJv
dG9jb2xNYW5hZ2VyUHJveHk7CiAgICAgdWludDY0X3QgX2N1c3RvbVByb3RvY29sSUQ7CiAgICAg
TlNVUkxDYWNoZVN0b3JhZ2VQb2xpY3kgX3N0b3JhZ2VQb2xpY3k7CiAgICAgTlNVUkxDb25uZWN0
aW9uICpfdXJsQ29ubmVjdGlvbjsKIH0KLS0gKGlkKWluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9j
b2xNYW5hZ2VyUHJveHk6KExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiljdXN0b21Q
cm90b2NvbE1hbmFnZXJQcm94eSBjdXN0b21Qcm90b2NvbElEOih1aW50NjRfdCljdXN0b21Qcm90
b2NvbElEIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3Q7CistIChpZClpbml0V2l0aExl
Z2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OihXZWJLaXQ6OkxlZ2FjeUN1c3RvbVByb3Rv
Y29sTWFuYWdlclByb3h5KiljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSBjdXN0b21Qcm90b2Nv
bElEOih1aW50NjRfdCljdXN0b21Qcm90b2NvbElEIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJl
cXVlc3Q7CiAtICh2b2lkKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5RGVzdHJveWVkOwogQGVu
ZAogCiBAaW1wbGVtZW50YXRpb24gV0tDdXN0b21Qcm90b2NvbExvYWRlcgogCi0tIChpZClpbml0
V2l0aExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OihMZWdhY3lDdXN0b21Qcm90b2Nv
bE1hbmFnZXJQcm94eSopY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJvdG9jb2xJ
RDoodWludDY0X3QpY3VzdG9tUHJvdG9jb2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1
ZXN0CistIChpZClpbml0V2l0aExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OihXZWJL
aXQ6OkxlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiljdXN0b21Qcm90b2NvbE1hbmFn
ZXJQcm94eSBjdXN0b21Qcm90b2NvbElEOih1aW50NjRfdCljdXN0b21Qcm90b2NvbElEIHJlcXVl
c3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QKIHsKICAgICBzZWxmID0gW3N1cGVyIGluaXRdOwog
ICAgIGlmICghc2VsZikKQEAgLTg1LDcgKzgyLDcgQEAgLSAodm9pZCljdXN0b21Qcm90b2NvbE1h
bmFnZXJQcm94eURlc3Ryb3llZAogCiAtICh2b2lkKWNvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlv
biAqKWNvbm5lY3Rpb24gZGlkRmFpbFdpdGhFcnJvcjooTlNFcnJvciAqKWVycm9yCiB7Ci0gICAg
UmVzb3VyY2VFcnJvciBjb3JlRXJyb3IoZXJyb3IpOworICAgIFdlYkNvcmU6OlJlc291cmNlRXJy
b3IgY29yZUVycm9yKGVycm9yKTsKICAgICBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHktPmRp
ZEZhaWxXaXRoRXJyb3IoX2N1c3RvbVByb3RvY29sSUQsIGNvcmVFcnJvcik7CiAgICAgX2N1c3Rv
bVByb3RvY29sTWFuYWdlclByb3h5LT5zdG9wTG9hZGluZyhfY3VzdG9tUHJvdG9jb2xJRCk7CiB9
CkBAIC05OSw3ICs5Niw3IEBAIC0gKE5TQ2FjaGVkVVJMUmVzcG9uc2UgKiljb25uZWN0aW9uOihO
U1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIHdpbGxDYWNoZVJlc3BvCiAKIC0gKHZvaWQpY29u
bmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiBkaWRSZWNlaXZlUmVzcG9uc2U6
KE5TVVJMUmVzcG9uc2UgKilyZXNwb25zZQogewotICAgIFJlc291cmNlUmVzcG9uc2UgY29yZVJl
c3BvbnNlKHJlc3BvbnNlKTsKKyAgICBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIGNvcmVSZXNw
b25zZShyZXNwb25zZSk7CiAgICAgX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5LT5kaWRSZWNl
aXZlUmVzcG9uc2UoX2N1c3RvbVByb3RvY29sSUQsIGNvcmVSZXNwb25zZSwgX3N0b3JhZ2VQb2xp
Y3kpOwogfQogCkBAIC0xMjcsNiArMTI0LDcgQEAgLSAodm9pZCljb25uZWN0aW9uRGlkRmluaXNo
TG9hZGluZzooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbgogQGVuZAogCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiB2b2lkIExlZ2FjeUN1c3RvbVBy
b3RvY29sTWFuYWdlckNsaWVudDo6c3RhcnRMb2FkaW5nKExlZ2FjeUN1c3RvbVByb3RvY29sTWFu
YWdlclByb3h5JiBtYW5hZ2VyLCB1aW50NjRfdCBjdXN0b21Qcm90b2NvbElELCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIGNvcmVSZXF1ZXN0KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCmluZGV4IGMyYjkxYTYzOTcz
ZTYzMTIwYWFlNTI4Zjg5NzUzODVmN2I2ZGJmNjIuLmVkZWQ5YzdkMmE0ZTU4ZTNkMDU4ZDgzMjY4
MzEwOTgxODJhZjQ0NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdp
bnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Q
bHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKQEAgLTQ4LDcgKzQ4LDcgQEAgc3RhdGljIGNv
bnN0IFNlY29uZHMgc25hcHNob3R0aW5nTWluaW11bUxpZmV0aW1lIHsgMzBfcyB9Owogc3RhdGlj
IGNvbnN0IFNlY29uZHMgc2h1dGRvd25UaW1lb3V0IHsgMV9taW4gfTsKIHN0YXRpYyBjb25zdCBT
ZWNvbmRzIHNuYXBzaG90dGluZ1NodXRkb3duVGltZW91dCB7IDE1X3MgfTsKIAotc3RhdGljIHVp
bnQ2NF90IGdlbmVyYXRlQ2FsbGJhY2tJRCgpCitzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVQbHVn
aW5Qcm9jZXNzQ2FsbGJhY2tJRCgpCiB7CiAgICAgc3RhdGljIHVpbnQ2NF90IGNhbGxiYWNrSUQ7
CiAKQEAgLTExNCw3ICsxMTQsNyBAQCB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6Z2V0UGx1Z2lu
UHJvY2Vzc0Nvbm5lY3Rpb24oTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6RwogCiB2b2lkIFBs
dWdpblByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YShDb21wbGV0aW9uSGFuZGxlcjx2b2lk
IChWZWN0b3I8U3RyaW5nPik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgdWludDY0X3Qg
Y2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIHVpbnQ2NF90IGNhbGxiYWNr
SUQgPSBnZW5lcmF0ZVBsdWdpblByb2Nlc3NDYWxsYmFja0lEKCk7CiAgICAgbV9wZW5kaW5nRmV0
Y2hXZWJzaXRlRGF0YUNhbGxiYWNrcy5zZXQoY2FsbGJhY2tJRCwgV1RGTW92ZShjb21wbGV0aW9u
SGFuZGxlcikpOwogCiAgICAgaWYgKHN0YXRlKCkgPT0gU3RhdGU6OkxhdW5jaGluZykgewpAQCAt
MTI3LDcgKzEyNyw3IEBAIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRh
KENvbXBsZXRpb25IYW5kbGVyPHZvaWQgKFZlY3RvcjxTdHJpbmc+CiAKIHZvaWQgUGx1Z2luUHJv
Y2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YShXYWxsVGltZSBtb2RpZmllZFNpbmNlLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkICgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIHVpbnQ2
NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1aW50NjRfdCBjYWxs
YmFja0lEID0gZ2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVuZGlu
Z0RlbGV0ZVdlYnNpdGVEYXRhQ2FsbGJhY2tzLnNldChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKSk7CiAKICAgICBpZiAoc3RhdGUoKSA9PSBTdGF0ZTo6TGF1bmNoaW5nKSB7
CkBAIC0xNDAsNyArMTQwLDcgQEAgdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNp
dGVEYXRhKFdhbGxUaW1lIG1vZGlmaWVkU2luY2UsIENvbXBsZXRpb25IYW4KIAogdm9pZCBQbHVn
aW5Qcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5hbWVzKGNvbnN0IFZlY3Rv
cjxTdHJpbmc+JiBob3N0TmFtZXMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQgKCk+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCiB7Ci0gICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJh
Y2tJRCgpOworICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVBsdWdpblByb2Nlc3ND
YWxsYmFja0lEKCk7CiAgICAgbV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFGb3JIb3N0TmFtZXND
YWxsYmFja3Muc2V0KGNhbGxiYWNrSUQsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAog
ICAgIGlmIChzdGF0ZSgpID09IFN0YXRlOjpMYXVuY2hpbmcpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9s
bGluZ05vZGVEZWxlZ2F0ZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxh
eWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5tbQppbmRl
eCA0YTJlMjliNTYwOTYxYTU5YjFjYjU1MTk3ODM5MTQ5YzMxMDY4NGMyLi43MmE4ODJmMDU4MWQ1
ZWFjOTFmYzE0YmMwNWEwMmYxNDRmMTZjMTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVs
ZWdhdGVJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVl
L2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tCkBAIC00Myw4ICs0
Myw2IEBACiAjaW1wb3J0IDxXZWJDb3JlL1Njcm9sbFNuYXBPZmZzZXRzSW5mby5oPgogI2VuZGlm
CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBAaW1wbGVtZW50YXRpb24gV0tTY3JvbGxp
bmdOb2RlU2Nyb2xsVmlld0RlbGVnYXRlCiAKIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aFNjcm9s
bGluZ1RyZWVOb2RlRGVsZWdhdGU6KFdlYktpdDo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVE
ZWxlZ2F0ZUlPUyopZGVsZWdhdGUKQEAgLTgwLDcgKzc4LDcgQEAgLSAodm9pZClzY3JvbGxWaWV3
V2lsbEVuZERyYWdnaW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3IHdpdGhWZWxvY2l0eToo
Q0dQb2kKIAogICAgIGlmICghX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05v
ZGUoKS5ob3Jpem9udGFsU25hcE9mZnNldHMoKS5pc0VtcHR5KCkpIHsKICAgICAgICAgdW5zaWdu
ZWQgaW5kZXg7Ci0gICAgICAgIGZsb2F0IHBvdGVudGlhbFNuYXBQb3NpdGlvbiA9IGNsb3Nlc3RT
bmFwT2Zmc2V0KF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuaG9y
aXpvbnRhbFNuYXBPZmZzZXRzKCksIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxp
bmdOb2RlKCkuaG9yaXpvbnRhbFNuYXBPZmZzZXRSYW5nZXMoKSwgaG9yaXpvbnRhbFRhcmdldCwg
dmVsb2NpdHkueCwgaW5kZXgpOworICAgICAgICBmbG9hdCBwb3RlbnRpYWxTbmFwUG9zaXRpb24g
PSBXZWJDb3JlOjpjbG9zZXN0U25hcE9mZnNldChfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+
c2Nyb2xsaW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0cygpLCBfc2Nyb2xsaW5nVHJlZU5v
ZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0UmFuZ2VzKCks
IGhvcml6b250YWxUYXJnZXQsIHZlbG9jaXR5LngsIGluZGV4KTsKICAgICAgICAgX3Njcm9sbGlu
Z1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5zZXRDdXJyZW50SG9yaXpvbnRhbFNu
YXBQb2ludEluZGV4KGluZGV4KTsKICAgICAgICAgaWYgKGhvcml6b250YWxUYXJnZXQgPj0gMCAm
JiBob3Jpem9udGFsVGFyZ2V0IDw9IHNjcm9sbFZpZXcuY29udGVudFNpemUud2lkdGgpCiAgICAg
ICAgICAgICB0YXJnZXRDb250ZW50T2Zmc2V0LT54ID0gcG90ZW50aWFsU25hcFBvc2l0aW9uOwpA
QCAtODgsNyArODYsNyBAQCAtICh2b2lkKXNjcm9sbFZpZXdXaWxsRW5kRHJhZ2dpbmc6KFVJU2Ny
b2xsVmlldyAqKXNjcm9sbFZpZXcgd2l0aFZlbG9jaXR5OihDR1BvaQogCiAgICAgaWYgKCFfc2Ny
b2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2FsU25hcE9mZnNl
dHMoKS5pc0VtcHR5KCkpIHsKICAgICAgICAgdW5zaWduZWQgaW5kZXg7Ci0gICAgICAgIGZsb2F0
IHBvdGVudGlhbFNuYXBQb3NpdGlvbiA9IGNsb3Nlc3RTbmFwT2Zmc2V0KF9zY3JvbGxpbmdUcmVl
Tm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkudmVydGljYWxTbmFwT2Zmc2V0cygpLCBfc2Ny
b2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2FsU25hcE9mZnNl
dFJhbmdlcygpLCB2ZXJ0aWNhbFRhcmdldCwgdmVsb2NpdHkueSwgaW5kZXgpOworICAgICAgICBm
bG9hdCBwb3RlbnRpYWxTbmFwUG9zaXRpb24gPSBXZWJDb3JlOjpjbG9zZXN0U25hcE9mZnNldChf
c2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2FsU25hcE9m
ZnNldHMoKSwgX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52ZXJ0
aWNhbFNuYXBPZmZzZXRSYW5nZXMoKSwgdmVydGljYWxUYXJnZXQsIHZlbG9jaXR5LnksIGluZGV4
KTsKICAgICAgICAgX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5z
ZXRDdXJyZW50VmVydGljYWxTbmFwUG9pbnRJbmRleChpbmRleCk7CiAgICAgICAgIGlmICh2ZXJ0
aWNhbFRhcmdldCA+PSAwICYmIHZlcnRpY2FsVGFyZ2V0IDw9IHNjcm9sbFZpZXcuY29udGVudFNp
emUuaGVpZ2h0KQogICAgICAgICAgICAgdGFyZ2V0Q29udGVudE9mZnNldC0+eSA9IHBvdGVudGlh
bFNuYXBQb3NpdGlvbjsKQEAgLTEyMiw2ICsxMjAsNyBAQCAtICh2b2lkKXNjcm9sbFZpZXdEaWRF
bmREZWNlbGVyYXRpbmc6KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcKIEBlbmQKIAogbmFtZXNw
YWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogU2Nyb2xsaW5nVHJlZVNj
cm9sbGluZ05vZGVEZWxlZ2F0ZUlPUzo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0
ZUlPUyhTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZSYgc2Nyb2xsaW5nTm9kZSkKICAgICA6IFNj
cm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGUoc2Nyb2xsaW5nTm9kZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJveHku
Y3BwCmluZGV4IGVmYThkMTNjYmJkNWZmYTgwOGI1ZjBlZGJmNGE1MWRjOWRmODU3ZTcuLjNhMTMx
YjRkNjBkOGFhMDdlODdmYjVlNGM2MTRmMzBhN2Q0MmI1NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1Byb3h5LmNwcApAQCAt
MzcsNyArMzcsNyBAQAogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKIAotc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlQ2FsbGJhY2tJRCgpCitzdGF0aWMgdWludDY0
X3QgZ2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQoKQogewogICAgIHN0YXRpYyB1aW50
NjRfdCBjYWxsYmFja0lEOwogCkBAIC0xMDUsNyArMTA1LDcgQEAgdm9pZCBTdG9yYWdlUHJvY2Vz
c1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9u
U2V0PFcKIHsKICAgICBBU1NFUlQoY2FuU2VuZE1lc3NhZ2UoKSk7CiAKLSAgICB1aW50NjRfdCBj
YWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7CisgICAgdWludDY0X3QgY2FsbGJhY2tJ
RCA9IGdlbmVyYXRlU3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKCk7CiAgICAgbV9wZW5kaW5nRmV0
Y2hXZWJzaXRlRGF0YUNhbGxiYWNrcy5hZGQoY2FsbGJhY2tJRCwgV1RGTW92ZShjb21wbGV0aW9u
SGFuZGxlcikpOwogCiAgICAgc2VuZChNZXNzYWdlczo6U3RvcmFnZVByb2Nlc3M6OkZldGNoV2Vi
c2l0ZURhdGEoc2Vzc2lvbklELCBkYXRhVHlwZXMsIGNhbGxiYWNrSUQpLCAwKTsKQEAgLTExMyw3
ICsxMTMsNyBAQCB2b2lkIFN0b3JhZ2VQcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEoUEFM
OjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8VwogCiB2b2lkIFN0b3JhZ2VQcm9jZXNz
UHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9u
U2V0PFdlYnNpdGVEYXRhVHlwZT4gZGF0YVR5cGVzLCBXYWxsVGltZSBtb2RpZmllZFNpbmNlLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkICgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIGF1
dG8gY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIGF1dG8gY2FsbGJhY2tJ
RCA9IGdlbmVyYXRlU3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKCk7CiAKICAgICBtX3BlbmRpbmdE
ZWxldGVXZWJzaXRlRGF0YUNhbGxiYWNrcy5hZGQoY2FsbGJhY2tJRCwgV1RGTW92ZShjb21wbGV0
aW9uSGFuZGxlcikpOwogICAgIHNlbmQoTWVzc2FnZXM6OlN0b3JhZ2VQcm9jZXNzOjpEZWxldGVX
ZWJzaXRlRGF0YShzZXNzaW9uSUQsIGRhdGFUeXBlcywgbW9kaWZpZWRTaW5jZSwgY2FsbGJhY2tJ
RCksIDApOwpAQCAtMTIzLDcgKzEyMyw3IEBAIHZvaWQgU3RvcmFnZVByb2Nlc3NQcm94eTo6ZGVs
ZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwKIHsKICAg
ICBBU1NFUlQoY2FuU2VuZE1lc3NhZ2UoKSk7CiAKLSAgICB1aW50NjRfdCBjYWxsYmFja0lEID0g
Z2VuZXJhdGVDYWxsYmFja0lEKCk7CisgICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRl
U3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKCk7CiAgICAgbV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURh
dGFGb3JPcmlnaW5zQ2FsbGJhY2tzLmFkZChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBsZXRpb25I
YW5kbGVyKSk7CiAKICAgICBzZW5kKE1lc3NhZ2VzOjpTdG9yYWdlUHJvY2Vzczo6RGVsZXRlV2Vi
c2l0ZURhdGFGb3JPcmlnaW5zKHNlc3Npb25JRCwgZGF0YVR5cGVzLCBvcmlnaW5zLCBjYWxsYmFj
a0lEKSwgMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDI1ZmU0
YTJlODRjZDg0OWQzZDliMGZhMWNkOTM4OWE3M2RjMWNlYTYuLjY1YzAxOWZkNGVlMTVhMjIwOTc0
NTY2YmE2Mjg3Y2M0MjQyZTU4MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCkBAIC02MSw3ICs2MSw2IEBACiAjaW5jbHVkZSAiV2ViUGFnZUluamVjdGVkQnVuZGxlQ2xp
ZW50LmgiCiAjaW5jbHVkZSAiV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuaCIKICNpbmNsdWRl
ICJXZWJQcmVmZXJlbmNlcy5oIgotI2luY2x1ZGUgPFdlYkNvcmUvQWx0ZXJuYXRpdmVUZXh0Q2xp
ZW50Lmg+IC8vIEZJWE1FOiBOZWVkZWQgYnkgV2ViUGFnZVByb3h5TWVzc2FnZXMuaCBmb3IgRElD
VEFUSU9OX0FMVEVSTkFUSVZFUy4KICNpbmNsdWRlICJXZWJQYWdlUHJveHlNZXNzYWdlcy5oIgog
I2luY2x1ZGUgIldlYlBvcHVwTWVudVByb3h5LmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc0xpZmV0
aW1lVHJhY2tlci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggYzc3MTU1OTBlZDcxY2NkZDIzZGYyODVhM2FhN2MzNmU1NDNkYjdmNi4u
YmM3YzI0M2Y0Nzk2YWNjMmVjZTRjNGZlY2M0NDkyOTI1OGNkYjQ1NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03NTYsNiArNzU2LDgg
QEAKIAkJMkQ5MkE3OTUyMTJCNkFENDAwRjQ5M0ZEIC8qIFBsdWdpblByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUEyRDkwRDExMjgxQzk2NjAwMUVCOTYyIC8qIFBsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuY3BwICovOyB9OwogCQkyRDkyQTc5NjIxMkI2QURBMDBGNDkzRkQgLyogTmV0c2NhcGVQ
bHVnaW5Nb2R1bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUE0QTlDNTMxMkI4MTZDRjAwOEZFOTg0IC8qIE5ldHNjYXBlUGx1Z2luTW9kdWxlLmNw
cCAqLzsgfTsKIAkJMkQ5MkE3OTcyMTJCNkFEQTAwRjQ5M0ZEIC8qIFBsdWdpbkluZm9ybWF0aW9u
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDM0Y4
QzhFMTczQUY1MkQwMDdCN0YzOSAvKiBQbHVnaW5JbmZvcm1hdGlvbi5jcHAgKi87IH07CisJCTJE
OTJBNzk4MjEzNDhEODUwMEY0OTNGRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQjFGNzdE
MUQxQjMwQTkwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbSAqLzsg
fTsKKwkJMkQ5MkE3OUYyMTM0QjA3RTAwRjQ5M0ZEIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5SU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUFCMUY3N0IxRDFCMzBBOTAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5SU9T
Lm1tICovOyB9OwogCQkyRDkzMTE2OTIxMkY2MUIyMDAwNDRCRkUgLyogV0tDb250ZW50Vmlldy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0I0RTNE
MThCQkUwNDQwMDBGQ0ZDOSAvKiBXS0NvbnRlbnRWaWV3Lm1tICovOyB9OwogCQkyRDkzMTE2QTIx
MkY2MUI1MDAwNDRCRkUgLyogV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDQjRFNkIxOEJCRjI2QTAwMEZD
RkM5IC8qIFdLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSAqLzsgfTsKIAkJMkQ5RUEzMEQxQTk2
Q0I1OTAwMkQyODA3IC8qIFdLUGFnZUluamVjdGVkQnVuZGxlQ2xpZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlFQTMwQzFBOTZDQjU5MDAyRDI4
MDcgLyogV0tQYWdlSW5qZWN0ZWRCdW5kbGVDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTEyNDEsNiArMTEyNDMsOCBAQAogCQkJCTdD
RTlDRTEwMUZBMDc2N0EwMDAxNzdERSAvKiBXZWJQYWdlVXBkYXRlUHJlZmVyZW5jZXMuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJN0M0Njk0QzkxQTRCNEVBMTAwQUQ1ODQ1IC8qIFdlYlBhc3RlYm9h
cmRQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUIxRjc5NjFE
MUIzNjEzMDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yTWVzc2FnZVJlY2VpdmVyLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJBNzlGMjEzNEIwN0UwMEY0OTNGRCAvKiBXZWJQYXlt
ZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJBNzk4MjEz
NDhEODUwMEY0OTNGRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCTFBQjFGNzk4MUQxQjM2MTMwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRp
bmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDkyQTc4
RDIxMkI2QUIxMDBGNDkzRkQgLyogV2ViUGxhdGZvcm1Ub3VjaFBvaW50LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTJEOTEzNDRFMjEyQ0Y5RjAwMDEyOEFGRCAvKiBXZWJQbHVnaW5JbmZvUHJvdmlk
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1Bs
dWdpbnMvUERGL1BERlBsdWdpbi5tbQppbmRleCA1MzA3ZTI2YTc2MzdlOGE2OWIwNDVhYmI5Mjg3
OWYzZjhjNjU4NmYyLi40Y2FhNmNjMGY2MDQ1MGMwM2IyMmEyODRkZDEzYWYyNWVmZDZlMzg2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2lu
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4u
bW0KQEAgLTg4LDggKzg4LDYgQEAKICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TTWVudVNQSS5oPgog
I2ltcG9ydCA8d3RmL1VVSUQuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIC8vIFNl
dCBvdmVyZmxvdzogaGlkZGVuIG9uIHRoZSBhbm5vdGF0aW9uIGNvbnRhaW5lciBzbyA8aW5wdXQ+
IGVsZW1lbnRzIHNjcm9sbGVkIG91dCBvZiB2aWV3IGRvbid0IHNob3cKIC8vIHNjcm9sbGJhcnMg
b24gdGhlIGJvZHkuIFdlIGNhbid0IGFkZCBhbm5vdGF0aW9ucyBkaXJlY3RseSB0byB0aGUgYm9k
eSwgYmVjYXVzZSBvdmVyZmxvdzogaGlkZGVuIG9uIHRoZSBib2R5CiAvLyB3aWxsIGJyZWFrIHJ1
YmJlci1iYW5kaW5nLgpAQCAtMjkwLDcgKzI4OCw3IEBAIC0gKE5TQXJyYXkgKilhY2Nlc3NpYmls
aXR5QWN0aW9uTmFtZXMKIC0gKHZvaWQpYWNjZXNzaWJpbGl0eVBlcmZvcm1BY3Rpb246KE5TU3Ry
aW5nICopYWN0aW9uCiB7CiAgICAgaWYgKFthY3Rpb24gaXNFcXVhbFRvU3RyaW5nOk5TQWNjZXNz
aWJpbGl0eVNob3dNZW51QWN0aW9uXSkKLSAgICAgICAgX3BkZlBsdWdpbi0+c2hvd0NvbnRleHRN
ZW51QXRQb2ludChJbnRSZWN0KEludFBvaW50KCksIF9wZGZQbHVnaW4tPnNpemUoKSkuY2VudGVy
KCkpOworICAgICAgICBfcGRmUGx1Z2luLT5zaG93Q29udGV4dE1lbnVBdFBvaW50KFdlYkNvcmU6
OkludFJlY3QoV2ViQ29yZTo6SW50UG9pbnQoKSwgX3BkZlBsdWdpbi0+c2l6ZSgpKS5jZW50ZXIo
KSk7CiB9CiAKIC0gKEJPT0wpYWNjZXNzaWJpbGl0eUlzQXR0cmlidXRlU2V0dGFibGU6KE5TU3Ry
aW5nICopYXR0cmlidXRlCkBAIC0zMTYsOCArMzE0LDggQEAgLSAoaWQpYWNjZXNzaWJpbGl0eUZv
Y3VzZWRVSUVsZW1lbnQKIHsKICNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMTMwMAogICAgIGlmIChXZWJLaXQ6OlBERlBsdWdpbkFubm90YXRpb24qIGFjdGl2ZUFubm90
YXRpb24gPSBfcGRmUGx1Z2luLT5hY3RpdmVBbm5vdGF0aW9uKCkpIHsKLSAgICAgICAgaWYgKEFY
T2JqZWN0Q2FjaGUqIGV4aXN0aW5nQ2FjaGUgPSBfcGRmUGx1Z2luLT5heE9iamVjdENhY2hlKCkp
IHsKLSAgICAgICAgICAgIGlmIChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QgPSBleGlzdGlu
Z0NhY2hlLT5nZXRPckNyZWF0ZShhY3RpdmVBbm5vdGF0aW9uLT5lbGVtZW50KCkpKQorICAgICAg
ICBpZiAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZSogZXhpc3RpbmdDYWNoZSA9IF9wZGZQbHVnaW4t
PmF4T2JqZWN0Q2FjaGUoKSkgeworICAgICAgICAgICAgaWYgKFdlYkNvcmU6OkFjY2Vzc2liaWxp
dHlPYmplY3QqIG9iamVjdCA9IGV4aXN0aW5nQ2FjaGUtPmdldE9yQ3JlYXRlKGFjdGl2ZUFubm90
YXRpb24tPmVsZW1lbnQoKSkpCiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAogI3ByYWdt
YSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMiCiAg
ICAgICAgICAgICAgICAgcmV0dXJuIFtvYmplY3QtPndyYXBwZXIoKSBhY2Nlc3NpYmlsaXR5QXR0
cmlidXRlVmFsdWU6QCJfQVhBc3NvY2lhdGVkUGx1Z2luUGFyZW50Il07CkBAIC0zMzgsMTEgKzMz
NiwxMSBAQCAtIChpZClhY2Nlc3NpYmlsaXR5QXNzb2NpYXRlZENvbnRyb2xGb3JBbm5vdGF0aW9u
OihQREZBbm5vdGF0aW9uICopYW5ub3RhdGlvbgogICAgIGlmICghYWN0aXZlQW5ub3RhdGlvbiB8
fCAhW2FjdGl2ZUFubm90YXRpb24tPmFubm90YXRpb24oKSBpc0VxdWFsOmFubm90YXRpb25dKQog
ICAgICAgICByZXR1cm4gbmlsOwogICAgIAotICAgIEFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gX3Bk
ZlBsdWdpbi0+YXhPYmplY3RDYWNoZSgpOworICAgIFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGUqIGNh
Y2hlID0gX3BkZlBsdWdpbi0+YXhPYmplY3RDYWNoZSgpOwogICAgIGlmICghY2FjaGUpCiAgICAg
ICAgIHJldHVybiBuaWw7CiAgICAgCi0gICAgQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0ID0g
Y2FjaGUtPmdldE9yQ3JlYXRlKGFjdGl2ZUFubm90YXRpb24tPmVsZW1lbnQoKSk7CisgICAgV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0ID0gY2FjaGUtPmdldE9yQ3JlYXRlKGFj
dGl2ZUFubm90YXRpb24tPmVsZW1lbnQoKSk7CiAgICAgaWYgKCFvYmplY3QpCiAgICAgICAgIHJl
dHVybiBuaWw7CiAKQEAgLTM1Myw3ICszNTEsNyBAQCAtIChpZClhY2Nlc3NpYmlsaXR5QXNzb2Np
YXRlZENvbnRyb2xGb3JBbm5vdGF0aW9uOihQREZBbm5vdGF0aW9uICopYW5ub3RhdGlvbgogLSAo
aWQpYWNjZXNzaWJpbGl0eUhpdFRlc3Q6KE5TUG9pbnQpcG9pbnQKIHsKICNpZiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMAotICAgIHBvaW50ID0gX3BkZlBsdWdpbi0+
Y29udmVydEZyb21Sb290Vmlld1RvUERGVmlldyhJbnRQb2ludChwb2ludCkpOworICAgIHBvaW50
ID0gX3BkZlBsdWdpbi0+Y29udmVydEZyb21Sb290Vmlld1RvUERGVmlldyhXZWJDb3JlOjpJbnRQ
b2ludChwb2ludCkpOwogICAgIHJldHVybiBbX3BkZkxheWVyQ29udHJvbGxlciBhY2Nlc3NpYmls
aXR5SGl0VGVzdDpwb2ludF07CiAjZWxzZQogICAgIHJldHVybiBzZWxmOwpAQCAtNDIxLDcgKzQx
OSw3IEBAIC0gKGlkKWluaXRXaXRoUERGUGx1Z2luOihXZWJLaXQ6OlBERlBsdWdpbiAqKXBsdWdp
bgogCiAtICh2b2lkKXVwZGF0ZVNjcm9sbFBvc2l0aW9uOihDR1BvaW50KW5ld1Bvc2l0aW9uCiB7
Ci0gICAgX3BkZlBsdWdpbi0+bm90aWZ5U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKEludFBvaW50KG5l
d1Bvc2l0aW9uKSk7CisgICAgX3BkZlBsdWdpbi0+bm90aWZ5U2Nyb2xsUG9zaXRpb25DaGFuZ2Vk
KFdlYkNvcmU6OkludFBvaW50KG5ld1Bvc2l0aW9uKSk7CiB9CiAKIC0gKHZvaWQpd3JpdGVJdGVt
c1RvUGFzdGVib2FyZDooTlNBcnJheSAqKWl0ZW1zIHdpdGhUeXBlczooTlNBcnJheSAqKXR5cGVz
CkBAIC01MDAsNiArNDk4LDEwIEBAIC0gKE5TUmVjdCljb252ZXJ0UmVjdDooTlNSZWN0KXJlY3Qg
ZnJvbVBhZ2U6KFBERlBhZ2UgKikgcGFnZSBmb3JTY2FsZUZhY3RvcjooQ0dGCiAtIChQREZQYWdl
ICopcGFnZU5lYXJlc3RQb2ludDooTlNQb2ludClwb2ludCBjdXJyZW50UGFnZTooUERGUGFnZSAq
KWN1cnJlbnRQYWdlOwogQGVuZAogCituYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwordXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKKwogc3RhdGljIGNvbnN0IGNo
YXIqIHBvc3RTY3JpcHRNSU1FVHlwZSA9ICJhcHBsaWNhdGlvbi9wb3N0c2NyaXB0IjsKIGNvbnN0
IHVpbnQ2NF90IHBkZkRvY3VtZW50UmVxdWVzdElEID0gMTsgLy8gUGx1Z2luQ29udHJvbGxlciBz
dXBwb3J0cyBsb2FkaW5nIG11bHRpcGxlIHN0cmVhbXMsIGJ1dCB3ZSBvbmx5IG5lZWQgb25lIGZv
ciBQREYuCiAKQEAgLTU5Niw5ICs1OTgsNiBAQCBzdGF0aWMgdm9pZCBnZXRBbGxTY3JpcHRzSW5Q
REZEb2N1bWVudChDR1BERkRvY3VtZW50UmVmIHBkZkRvY3VtZW50LCBWZWN0b3I8UmV0YQogICAg
IH0KIH0KIAotbmFtZXNwYWNlIFdlYktpdCB7Ci11c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwot
CiBSZWY8UERGUGx1Z2luPiBQREZQbHVnaW46OmNyZWF0ZShXZWJGcmFtZSYgZnJhbWUpCiB7CiAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUERGUGx1Z2luKGZyYW1lKSk7CkBAIC0xNDUwLDcgKzE0
NDksNyBAQCB2b2lkIFBERlBsdWdpbjo6dXBkYXRlQ3Vyc29yKGNvbnN0IFdlYk1vdXNlRXZlbnQm
IGV2ZW50LCBVcGRhdGVDdXJzb3JNb2RlIG1vZGUpCiAgICAgaWYgKGhpdFRlc3RSZXN1bHQgPT0g
bV9sYXN0SGl0VGVzdFJlc3VsdCAmJiBtb2RlID09IFVwZGF0ZUlmTmVlZGVkKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICB3ZWJGcmFtZSgpLT5wYWdlKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQ
cm94eTo6U2V0Q3Vyc29yKGhpdFRlc3RSZXN1bHQgPT0gVGV4dCA/IGlCZWFtQ3Vyc29yKCkgOiBw
b2ludGVyQ3Vyc29yKCkpKTsKKyAgICB3ZWJGcmFtZSgpLT5wYWdlKCktPnNlbmQoTWVzc2FnZXM6
OldlYlBhZ2VQcm94eTo6U2V0Q3Vyc29yKGhpdFRlc3RSZXN1bHQgPT0gVGV4dCA/IFdlYkNvcmU6
OmlCZWFtQ3Vyc29yKCkgOiBXZWJDb3JlOjpwb2ludGVyQ3Vyc29yKCkpKTsKICAgICBtX2xhc3RI
aXRUZXN0UmVzdWx0ID0gaGl0VGVzdFJlc3VsdDsKIH0KICNlbmRpZgpAQCAtMTk4MSwxNiArMTk4
MCwxNiBAQCB2b2lkIFBERlBsdWdpbjo6bm90aWZ5U2VsZWN0aW9uQ2hhbmdlZChQREZTZWxlY3Rp
b24gKikKICAgICB3ZWJGcmFtZSgpLT5wYWdlKCktPmRpZENoYW5nZVNlbGVjdGlvbigpOwogfQog
Ci1zdGF0aWMgY29uc3QgQ3Vyc29yJiBjb3JlQ3Vyc29yKFBERkxheWVyQ29udHJvbGxlckN1cnNv
clR5cGUgdHlwZSkKK3N0YXRpYyBjb25zdCBXZWJDb3JlOjpDdXJzb3ImIGNvcmVDdXJzb3IoUERG
TGF5ZXJDb250cm9sbGVyQ3Vyc29yVHlwZSB0eXBlKQogewogICAgIHN3aXRjaCAodHlwZSkgewog
ICAgIGNhc2Uga1BERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGVIYW5kOgotICAgICAgICByZXR1
cm4gaGFuZEN1cnNvcigpOworICAgICAgICByZXR1cm4gV2ViQ29yZTo6aGFuZEN1cnNvcigpOwog
ICAgIGNhc2Uga1BERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGVJQmVhbToKLSAgICAgICAgcmV0
dXJuIGlCZWFtQ3Vyc29yKCk7CisgICAgICAgIHJldHVybiBXZWJDb3JlOjppQmVhbUN1cnNvcigp
OwogICAgIGNhc2Uga1BERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGVQb2ludGVyOgogICAgIGRl
ZmF1bHQ6Ci0gICAgICAgIHJldHVybiBwb2ludGVyQ3Vyc29yKCk7CisgICAgICAgIHJldHVybiBX
ZWJDb3JlOjpwb2ludGVyQ3Vyc29yKCk7CiAgICAgfQogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348264</attachid>
            <date>2018-08-27 22:42:09 -0700</date>
            <delta_ts>2018-08-28 10:53:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189009-20180827224209.patch</filename>
            <type>text/plain</type>
            <size>61944</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGMyOWZmMzZiMTcwMDNiYTAxZDNlYmJj
YWNhNDY4ZTRmNDZlM2YzN2IuLjA3YzYxYjkxMTg5ZjZmYjg3M2MxN2MxNWM0N2Y1NzI2ODE0YzY4
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3Jl
IHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL2dlbmVy
YXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmI6CisgICAgICAgIEl0IHR1cm5zIG91dCBvdXIg
cGxhbiB0byBzd2l0Y2ggdW5pZmllZCBzb3VyY2UgYnVuZGxlIGV2ZXJ5IHRpbWUgdGhlIGRpcmVj
dG9yeQorICAgICAgICBjaGFuZ2VzIGlzIG5vdCBhIGdvb2QgZml0IGZvciBwcm9qZWN0cyBsaWtl
IFdlYktpdDIgd2l0aCBtYW55IHNtYWxsIGRpcmVjdG9yaWVzLgorICAgICAgICBJdCBsZWF2ZXMg
bWFueSB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIHdpdGggb25seSBhIHNpbmdsZSBzb3VyY2UgZmls
ZSwKKyAgICAgICAgYWNoaWV2aW5nIG9ubHkgfjQwJSBkZW5zaXR5LgorCisgICAgICAgIEluc3Rl
YWQsIHN3aXRjaCB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIGV2ZXJ5IHRpbWUgdGhlIHRvcC1sZXZl
bCBkaXJlY3RvcnkgY2hhbmdlcy4KKyAgICAgICAgVGhpcyBzdGlsbCBhY2hpZXZlcyB0aGUgZ29h
bCBvZiAqdXN1YWxseSogb25seSByZWJ1aWxkaW5nIHRoZSBvbmUgdG9wLWxldmVsCisgICAgICAg
IGRpcmVjdG9yeSB5b3UgdG91Y2hlZCwgYW5kIGluY3JlYXNlcyBzb3VyY2UgYnVuZGxlIGRlbnNp
dHkgd2lsZGx5LCB0byB+OTUlLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTgt
MDgtMjcgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQgYnVpbGQgZml4IC0tIGRpc2FibGUgTFRPIGZvciBwcm9kdWN0aW9uIGJ1aWxkcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDBkZTc5NjdkNzZmODU2YjdlYTY1NWYyNzE1ZTVjNzQ3YmEzZDk4Y2IuLmRmMjlk
M2VkZjAzOTY0MDg1OGU0Nzk5N2EwMjExZDBmNTI3MTYwODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzOCBAQAorMjAxOC0wOC0yNyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNv
bT4KKworICAgICAgICBCdW5kbGUgdW5pZmllZCBzb3VyY2VzIG1vcmUgdGlnaHRseSBpbiBwcm9q
ZWN0cyB3aXRoIGRlZXAgZGlyZWN0b3J5IHN0cnVjdHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTAwOQorCisgICAgICAgIFJldmlld2VkIGJ5
IFNpbW9uIEZyYXNlci4KKworICAgICAgICBGaXggYSB2YXJpZXR5IG9mIHVuaWZpY2F0aW9uIGVy
cm9ycyBkdWUgdG8gcmVzaHVmZmxpbmcgdGhlIGJ1bmRsZXMuCisKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAqIFNvdXJjZXNDb2NvYS50
eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUVDRFNBLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUVDRFNBOjppbXBvcnRLZXkpOgorICAgICAgICAqIGRv
bS9Eb2N1bWVudC5oOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHA6
CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRl
ci5oOgorICAgICAgICAqIHBhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50Lmg6CisgICAgICAgICog
cGxhdGZvcm0vUGFzdGVib2FyZC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Rpc3Bs
YXlSZWZyZXNoTW9uaXRvci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZh
bWlseVNwZWNpZmljYXRpb25OdWxsLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJHTExheWVyLm1tOgorICAgICAgICAoLVtXZWJHTExheWVyIGluaXRXaXRoR3JhcGhp
Y3NDb250ZXh0M0Q6XSk6CisgICAgICAgICgtW1dlYkdMTGF5ZXIgY29weUltYWdlU25hcHNob3RX
aXRoQ29sb3JTcGFjZTpdKToKKyAgICAgICAgKC1bV2ViR0xMYXllciBkaXNwbGF5XSk6CisgICAg
ICAgICgtW1dlYkdMTGF5ZXIgYWxsb2NhdGVJT1N1cmZhY2VCYWNraW5nU3RvcmVXaXRoU2l6ZTp1
c2luZ0FscGhhOl0pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxh
eWVyLm1tOgorICAgICAgICAoLVtXZWJHUFVMYXllciBpbml0V2l0aEdQVURldmljZTpdKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHA6CisgICAgICAg
ICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwOgor
CiAyMDE4LTA4LTI3ICBKdXN0aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgV2ViR0wgMiBjb25mb3JtYW5jZTogZnJhbWVidWZmZXItdGVzdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxMzU0
MjExNTNiYWJiM2QyZjhiN2U4MWQyMTcwZjNhOWRkMTEzZWJjLi5mNDYyNzE3YTQ0MGMzMDE3NjQ4
Yzg4YzFmOTQwNGMxMDVkM2IzMDViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDE4LTA4
LTI3ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIEJ1
bmRsZSB1bmlmaWVkIHNvdXJjZXMgbW9yZSB0aWdodGx5IGluIHByb2plY3RzIHdpdGggZGVlcCBk
aXJlY3Rvcnkgc3RydWN0dXJlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTg5MDA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgor
CisgICAgICAgIEZpeCBhIHZhcmlldHkgb2YgdW5pZmljYXRpb24gZXJyb3JzIGR1ZSB0byByZXNo
dWZmbGluZyB0aGUgYnVuZGxlcy4KKworICAgICAgICAqIFNoYXJlZC9BUElXZWJBcmNoaXZlLm1t
OgorICAgICAgICAqIFNoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW06CisgICAgICAgICog
U2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tOgor
ICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9QbHVnaW5JbmZvcm1hdGlvbk1h
Yy5tbToKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaDoKKyAgICAgICAgKEFQSTo6QXV0b21hdGlv
blNlc3Npb25DbGllbnQ6OnNlc3Npb25JZGVudGlmaWVyIGNvbnN0KToKKyAgICAgICAgKEFQSTo6
QXV0b21hdGlvblNlc3Npb25DbGllbnQ6Om1lc3NhZ2VPZkN1cnJlbnRKYXZhU2NyaXB0RGlhbG9n
T25QYWdlKToKKyAgICAgICAgKEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6OnNldFVzZXJJ
bnB1dEZvckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tOgorICAgICAgICAo
LVtXS0N1c3RvbVByb3RvY29sTG9hZGVyIGluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5h
Z2VyUHJveHk6Y3VzdG9tUHJvdG9jb2xJRDpyZXF1ZXN0Ol0pOgorICAgICAgICAoLVtXS0N1c3Rv
bVByb3RvY29sTG9hZGVyIGNvbm5lY3Rpb246ZGlkRmFpbFdpdGhFcnJvcjpdKToKKyAgICAgICAg
KC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBjb25uZWN0aW9uOmRpZFJlY2VpdmVSZXNwb25zZTpd
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZVBsdWdpblByb2Nlc3NDYWxsYmFja0lEKToKKyAgICAg
ICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKToKKyAgICAg
ICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YSk6CisgICAg
ICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JIb3N0
TmFtZXMpOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZUNhbGxiYWNrSUQpOiBEZWxldGVkLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlRGVsZWdhdGVJT1MubW06CisgICAgICAgICgtW1dLU2Nyb2xsaW5nTm9kZVNjcm9s
bFZpZXdEZWxlZ2F0ZSBzY3JvbGxWaWV3V2lsbEVuZERyYWdnaW5nOndpdGhWZWxvY2l0eTp0YXJn
ZXRDb250ZW50T2Zmc2V0Ol0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQ
cm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNz
Q2FsbGJhY2tJRCk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VQcm9jZXNzUHJveHk6OmZldGNo
V2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc1Byb3h5OjpkZWxl
dGVXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VQcm9jZXNzUHJveHk6OmRl
bGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyk6CisgICAgICAgIChXZWJLaXQ6OmdlbmVyYXRlQ2Fs
bGJhY2tJRCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW06Cisg
ICAgICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5UGVy
Zm9ybUFjdGlvbjpdKToKKyAgICAgICAgKC1bV0tQREZQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0
IGFjY2Vzc2liaWxpdHlGb2N1c2VkVUlFbGVtZW50XSk6CisgICAgICAgICgtW1dLUERGUGx1Z2lu
QWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5QXNzb2NpYXRlZENvbnRyb2xGb3JBbm5v
dGF0aW9uOl0pOgorICAgICAgICAoLVtXS1BERlBsdWdpbkFjY2Vzc2liaWxpdHlPYmplY3QgYWNj
ZXNzaWJpbGl0eUhpdFRlc3Q6XSk6CisgICAgICAgICgtW1dLUERGTGF5ZXJDb250cm9sbGVyRGVs
ZWdhdGUgdXBkYXRlU2Nyb2xsUG9zaXRpb246XSk6CisgICAgICAgIChXZWJLaXQ6OlBERlBsdWdp
bjo6dXBkYXRlQ3Vyc29yKToKKyAgICAgICAgKFdlYktpdDo6Y29yZUN1cnNvcik6CisgICAgICAg
IChhcHBlbmRWYWx1ZXNJblBERk5hbWVTdWJ0cmVlVG9WZWN0b3IpOiBEZWxldGVkLgorICAgICAg
ICAoZ2V0QWxsVmFsdWVzSW5QREZOYW1lVHJlZSk6IERlbGV0ZWQuCisgICAgICAgIChnZXRBbGxT
Y3JpcHRzSW5QREZEb2N1bWVudCk6IERlbGV0ZWQuCisKIDIwMTgtMDgtMjcgIEJhc3VrZSBTdXp1
a2kgIDxCYXN1a2UuU3V6dWtpQHNvbnkuY29tPgogCiAgICAgICAgIFtDdXJsXSBFbmFibGUgUHJv
eHkgQXV0aGVudGljYXRpb24gb24gV2ViS2l0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3Jp
cHRzL2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIgYi9Tb3VyY2UvV1RGL1Njcmlw
dHMvZ2VuZXJhdGUtdW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYgppbmRleCBjMDE5NjZlZTFiMmM2
N2Q5NzYwZjAzYTViYmNhYTNjYjU3MjYxMmIzLi5hYmQ5NzY3N2EyMGFkYjRkNDYyZWI5OGY3Nzhk
OTgwMjliZGQ0OTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1NjcmlwdHMvZ2VuZXJhdGUtdW5p
ZmllZC1zb3VyY2UtYnVuZGxlcy5yYgorKysgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvZ2VuZXJhdGUt
dW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYgpAQCAtMjEwLDEwICsyMTAsMTcgQEAgY2xhc3MgQnVu
ZGxlTWFuYWdlcgogICAgIGVuZAogZW5kCiAKK2RlZiBUb3BMZXZlbERpcmVjdG9yeUZvclBhdGgo
cGF0aCkKKyAgICBpZiAhcGF0aAorICAgICAgICByZXR1cm4gbmlsCisgICAgZW5kCisgICAgcmV0
dXJuIHBhdGguZWFjaF9maWxlbmFtZS5uZXh0CitlbmQKKwogZGVmIFByb2Nlc3NGaWxlRm9yVW5p
ZmllZFNvdXJjZUdlbmVyYXRpb24oc291cmNlRmlsZSkKICAgICBwYXRoID0gc291cmNlRmlsZS5w
YXRoCi0gICAgaWYgKCRjdXJyZW50RGlyZWN0b3J5ICE9IHBhdGguZGlybmFtZSkKLSAgICAgICAg
bG9nKCJGbHVzaGluZyBiZWNhdXNlIG5ldyBkaXJuYW1lOyBvbGQ6ICN7JGN1cnJlbnREaXJlY3Rv
cnl9LCBuZXc6ICN7cGF0aC5kaXJuYW1lfSIpCisgICAgaWYgKFRvcExldmVsRGlyZWN0b3J5Rm9y
UGF0aCgkY3VycmVudERpcmVjdG9yeSkgIT0gVG9wTGV2ZWxEaXJlY3RvcnlGb3JQYXRoKHBhdGgu
ZGlybmFtZSkpCisgICAgICAgIGxvZygiRmx1c2hpbmcgYmVjYXVzZSBuZXcgdG9wIGxldmVsIGRp
cmVjdG9yeTsgb2xkOiAjeyRjdXJyZW50RGlyZWN0b3J5fSwgbmV3OiAje3BhdGguZGlybmFtZX0i
KQogICAgICAgICAkYnVuZGxlTWFuYWdlcnMuZWFjaF92YWx1ZSB7IHx4fCB4LmZsdXNoIH0KICAg
ICAgICAgJGN1cnJlbnREaXJlY3RvcnkgPSBwYXRoLmRpcm5hbWUKICAgICBlbmQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5o
CmluZGV4IDBjNmVmYjg2Mjk4MjUzOWQyYjRiMmNjNGY4ZjhiNWZjYjRlYzg4ZTguLjY3Y2ZhOTMz
MTNjOTA0MjFlYjZjZjE3OWQ5OGVmNzAzZGEwZTQ5ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApAQCAtMTMxNCw2
ICsxMzE0LDcgQEAKICNpZiBQTEFURk9STShNQUMpCiAjZGVmaW5lIEhBVkVfVE9VQ0hfQkFSIDEK
ICNkZWZpbmUgSEFWRV9BRFZBTkNFRF9TUEVMTF9DSEVDS0lORyAxCisjZGVmaW5lIFVTRV9ESUNU
QVRJT05fQUxURVJOQVRJVkVTIDEKIAogI2lmIGRlZmluZWQoX19MUDY0X18pCiAjZGVmaW5lIEVO
QUJMRV9XRUJfUExBWUJBQ0tfQ09OVFJPTFNfTUFOQUdFUiAxCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdC
dWZmZXIuaAppbmRleCBmMjkzZDMzM2RiZTNlNDVlNjM3YTE0ODY3MzNkMGEyZmQ4YzA4YzBjLi5l
MzJjZDI2MGRkOTRkYjE1NTk4NWJmYjQ3NjI5YjhhOTExMzZjMjY5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQv
U3RyaW5nQnVmZmVyLmgKQEAgLTI5LDkgKzI5LDEwIEBACiAjaWZuZGVmIFN0cmluZ0J1ZmZlcl9o
CiAjZGVmaW5lIFN0cmluZ0J1ZmZlcl9oCiAKLSNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgog
I2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDx1bmljb2RlL3V0eXBlcy5oPgorI2luY2x1ZGUg
PHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVkZSA8d3RmL01hbGxvY1B0ci5oPgogCiBuYW1lc3Bh
Y2UgV1RGIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3Jr
ZXJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvV29ya2VyQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAKaW5kZXggYWQyMDkzMjE5Zjg4ZTZk
YTNlMWQ2MDYyNGU0MWFlOWE0MWRmNDkyNy4uMWViZGQ1ZGU0OGE3ZTdlMWM5NmEwMWM3OGZlZDdk
YTViYzRmYjg4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3Jr
ZXJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2NhY2hlL1dvcmtlckNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCkBAIC0yOSw2ICsyOSw3IEBA
CiAKICNpbmNsdWRlICJDYWNoZVF1ZXJ5T3B0aW9ucy5oIgogI2luY2x1ZGUgIkNhY2hlU3RvcmFn
ZVByb3ZpZGVyLmgiCisjaW5jbHVkZSAiQ2xpZW50T3JpZ2luLmgiCiAjaW5jbHVkZSAiRG9jdW1l
bnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIK
QEAgLTM2LDcgKzM3LDYgQEAKICNpbmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCiAjaW5jbHVkZSAi
V29ya2VyVGhyZWFkLmgiCiAKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNwcAppbmRleCA5NjEzMmU2OTczN2FlOThh
NjBmOTU0ZjFmMzExODM4NDEwNzFlMGE5Li5jZGI3NzdlOTk5MjkyMjFjZjBhOGYwMTE0MmIyZDA3
ZWRlOWVmZWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDQ29udHJvbGxlci5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShXRUJf
UlRDKQogCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENQcm92aWRl
ci5oIgogI2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9uLmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1
ZXN0VXBkYXRlRXZlbnQuY3BwCmluZGV4IGMyMDUzMzVlYWE4ZTkxOGE2ZDM4YWU0ZjJmZmM4MWFl
ZDQ1YTlhMGYuLjk0YjcxYzQ2NjE5MjQxMzVjMjFhZWE2OWQ0ODk5ZDdiMDc1YTYyYTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVl
c3RVcGRhdGVFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVx
dWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50LmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAj
aWYgRU5BQkxFKFBBWU1FTlRfUkVRVUVTVCkKIAorI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNp
bmNsdWRlICJQYXltZW50UmVxdWVzdC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAKaW5kZXggYWRiNzUxZDBjMzljMGE1
NmI1ZTRkYzFmNTQyMTBiZGFhNGVkZmY3OC4uYTkzM2Q5ODBmY2Y1YTk5MTc0YWIwZTBjNDAwMjA5
MTZjYmYxYjM2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRp
c3BsYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNw
cApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkNhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCIK
ICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJET01FeGNlcHRpb24uaCIKKyNpbmNsdWRl
ICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiUGFnZS5o
IgogI2luY2x1ZGUgIlNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9jcnlwdG8vZ2NyeXB0L1V0aWxpdGllcy5oIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9jcnlwdG8vZ2NyeXB0L1V0aWxpdGllcy5oCmluZGV4IDgyZmUxN2Mw
M2I0MTE3M2VjMTNkMzBiMmZjMzFmYWMxZDI4YTU4ZGYuLjYyOTJhMGY4MGJiMGY1ODI2NTMyZmU0
MWIzYmFhMDkxYmRlMmM2MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY3J5
cHRvL2djcnlwdC9VdGlsaXRpZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NyeXB0
by9nY3J5cHQvVXRpbGl0aWVzLmgKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgPGdjcnlw
dC5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVkZSA8d3RmL09wdGlvbmFs
Lmg+CiAKIG5hbWVzcGFjZSBQQUwgewogbmFtZXNwYWNlIEdDcnlwdCB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlc0Nv
Y29hLnR4dAppbmRleCA2NmY3ZjE2YmQ2NGY4MmM0MzJiZWFlZDhlNzBkMWI1ZmYwNjNhNTE3Li45
NTdlNGI1YjY2MWI0MDIwZjBhMjFlZTAwOTVjMDE3NjQ2ZTQ5M2EzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXND
b2NvYS50eHQKQEAgLTM4OSw3ICszODksNyBAQCBwbGF0Zm9ybS9pb3MvUGxhdGZvcm1TY3JlZW5J
T1MubW0KIHBsYXRmb3JtL2lvcy9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVySU9TLm1tIEBuby11
bmlmeQogcGxhdGZvcm0vaW9zL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0Lm1tIEBuby11
bmlmeQogcGxhdGZvcm0vaW9zL1F1aWNrTG9vay5tbQotcGxhdGZvcm0vaW9zL1F1aWNrTG9va1Nv
ZnRMaW5rLm1tCitwbGF0Zm9ybS9pb3MvUXVpY2tMb29rU29mdExpbmsubW0gQG5vLXVuaWZ5CiBw
bGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLm1tCiBwbGF0Zm9ybS9pb3MvU2Ny
b2xsQW5pbWF0b3JJT1MubW0KIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbQpAQCAt
Mzk5LDcgKzM5OSw3IEBAIHBsYXRmb3JtL2lvcy9TU0xLZXlHZW5lcmF0b3JJT1MuY3BwCiBwbGF0
Zm9ybS9pb3MvU3lzdGVtTWVtb3J5SU9TLmNwcAogcGxhdGZvcm0vaW9zL1RoZW1lSU9TLm1tIEBu
by11bmlmeQogcGxhdGZvcm0vaW9zL1RpbGVDb250cm9sbGVyTWVtb3J5SGFuZGxlcklPUy5jcHAK
LXBsYXRmb3JtL2lvcy9Vc2VyQWdlbnRJT1MubW0KK3BsYXRmb3JtL2lvcy9Vc2VyQWdlbnRJT1Mu
bW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvVmFsaWRhdGlvbkJ1YmJsZUlPUy5tbSBAbm8tdW5p
ZnkKIHBsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbSBAbm8tdW5p
ZnkKIHBsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIubW0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlc0dUSy50
eHQKaW5kZXggNDYyNmI2ZmNiZTU0YTQ5NWVkMTBjNmJiODI0NDlhMDQ5NzYyMjc3My4uZTYxNmYy
N2U1YmVlMDkwZmI0YzdjNWM1MTJlNWI2NmEyMmM3N2Y1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvU291cmNlc0dUSy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlc0dUSy50eHQK
QEAgLTYxLDE0ICs2MSwxNCBAQCBwbGF0Zm9ybS9Vc2VyQWdlbnRRdWlya3MuY3BwCiAKIHBsYXRm
b3JtL2dlb2NsdWUvR2VvbG9jYXRpb25Qcm92aWRlckdlb2NsdWUuY3BwCiAKLXBsYXRmb3JtL2dy
YXBoaWNzL0dMQ29udGV4dC5jcHAKK3BsYXRmb3JtL2dyYXBoaWNzL0dMQ29udGV4dC5jcHAgQG5v
LXVuaWZ5CiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuY3BwCiAK
LXBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRDYWlyb1gxMS5jcHAK
K3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRDYWlyb1gxMS5jcHAg
QG5vLXVuaWZ5CiAKIHBsYXRmb3JtL2dyYXBoaWNzL2VnbC9HTENvbnRleHRFR0wuY3BwCiBwbGF0
Zm9ybS9ncmFwaGljcy9lZ2wvR0xDb250ZXh0RUdMV2F5bGFuZC5jcHAgQG5vLXVuaWZ5Ci1wbGF0
Zm9ybS9ncmFwaGljcy9lZ2wvR0xDb250ZXh0RUdMWDExLmNwcAorcGxhdGZvcm0vZ3JhcGhpY3Mv
ZWdsL0dMQ29udGV4dEVHTFgxMS5jcHAgQG5vLXVuaWZ5CiAKIHBsYXRmb3JtL2dyYXBoaWNzL2ds
eC9HTENvbnRleHRHTFguY3BwCiAKQEAgLTgyLDkgKzgyLDkgQEAgcGxhdGZvcm0vZ3JhcGhpY3Mv
b3BlbnR5cGUvT3BlblR5cGVWZXJ0aWNhbERhdGEuY3BwCiAKIHBsYXRmb3JtL2dyYXBoaWNzL3dh
eWxhbmQvUGxhdGZvcm1EaXNwbGF5V2F5bGFuZC5jcHAKIAotcGxhdGZvcm0vZ3JhcGhpY3MveDEx
L1BsYXRmb3JtRGlzcGxheVgxMS5jcHAKLXBsYXRmb3JtL2dyYXBoaWNzL3gxMS9YRXJyb3JUcmFw
cGVyLmNwcAotcGxhdGZvcm0vZ3JhcGhpY3MveDExL1hVbmlxdWVSZXNvdXJjZS5jcHAKK3BsYXRm
b3JtL2dyYXBoaWNzL3gxMS9QbGF0Zm9ybURpc3BsYXlYMTEuY3BwIEBuby11bmlmeQorcGxhdGZv
cm0vZ3JhcGhpY3MveDExL1hFcnJvclRyYXBwZXIuY3BwIEBuby11bmlmeQorcGxhdGZvcm0vZ3Jh
cGhpY3MveDExL1hVbmlxdWVSZXNvdXJjZS5jcHAgQG5vLXVuaWZ5CiAKIHBsYXRmb3JtL2d0ay9E
cmFnRGF0YUd0ay5jcHAKIHBsYXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3RrLmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGI2ZGY3NDhhNmQxOTA0ODViMThjM2Q1OGNiNTE4M2JiYWRiODJmODkuLmQzYjllYWFjZjQ1Y2Nj
MTgzMDhhOGNkOGRkNTliZGFhYjNiNjc0ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTgwNiw2ICs4MDYsOCBAQAogCQkyRDhC
OTJGRjIwM0QxM0UxMDA5Qzg2OEYgLyogVW5pZmllZFNvdXJjZTUzMC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBERTVGODVEMzFGQTIzODU5MDA2REI2
M0IgLyogVW5pZmllZFNvdXJjZTUzMC5jcHAgKi87IH07CiAJCTJEOEZFQkREMTQzRTNFRjcwMDcy
NTAyQiAvKiBDU1NDcm9zc2ZhZGVWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMkQ4RkVCREIxNDNFM0VGNzAwNzI1MDJCIC8qIENTU0Nyb3NzZmFk
ZVZhbHVlLmggKi87IH07CiAJCTJEOTA2NjA3MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5MDY2
MDUwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMkQ5MkE3OUEyMTM0QUQ3OTAwRjQ5M0ZEIC8q
IFF1aWNrTG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDQzOTE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5r
Lm1tICovOyB9OworCQkyRDkyQTc5RDIxMzRBRjk1MDBGNDkzRkQgLyogVXNlckFnZW50SU9TLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTNBRjlEODMy
MDMyNTY5MTAwNkNBRDA2IC8qIFVzZXJBZ2VudElPUy5tbSAqLzsgfTsKIAkJMkQ5M0FFRTMxOURG
NTY0MTAwMkE4NkMzIC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOTNBRUUxMTlERjU2NDEwMDJBODZD
MyAvKiBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmggKi87IH07CiAJCTJEOTdGMDQ3MTlERDQx
M0MwMDFFRTlDMyAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRBQUUzMkMxOURDQUY2MDAwRTAwMkQyIC8q
IE1vY2tQYWdlT3ZlcmxheUNsaWVudC5jcHAgKi87IH07CiAJCTJEOTdGMDQ4MTlERDQxNDAwMDFF
RTlDMyAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQUFFMzJEMTlEQ0FGNjAwMEUwMDJEMiAvKiBNb2NrUGFn
ZU92ZXJsYXlDbGllbnQuaCAqLzsgfTsKQEAgLTcwNzIsNyArNzA3NCw3IEBACiAJCTMzOUI1QjYy
MTMxREFBMzIwMEY0OEQwMiAvKiBDb29raWVzU3RyYXRlZ3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ29va2llc1N0cmF0ZWd5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTM2NjJGOTg0MDQ3Q0VEQkU1REREQUZBQSAvKiBSZW5kZXJNYXRoTUxNZW5jbG9zZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJNYXRoTUxNZW5j
bG9zZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3MTE5QTc5MjBDQ0I2MTAw
MDJDNkRDOSAvKiBXZWJLaXRUYXJnZXRDb25kaXRpb25hbHMueGNjb25maWcgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRo
ID0gV2ViS2l0VGFyZ2V0Q29uZGl0aW9uYWxzLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQkzNzE3RDdFNTE3RUNDM0E2MDAzQzI3NkQgLyogZXh0cmFjdC1sb2NhbGl6YWJs
ZS1zdHJpbmdzLnBsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dC5zY3JpcHQucGVybDsgbmFtZSA9IGV4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5n
cy5wbDsgcGF0aCA9ICJTY3JpcHRzL2V4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTM3MTdEN0U1MTdFQ0MzQTYwMDNDMjc2RCAvKiBl
eHRyYWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5wZXJsOyBuYW1lID0gImV4dHJhY3Qt
bG9jYWxpemFibGUtc3RyaW5ncy5wbCI7IHBhdGggPSAiU2NyaXB0cy9leHRyYWN0LWxvY2FsaXph
YmxlLXN0cmluZ3MucGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzFBNjdDQTEx
QzZDN0RCMDAwNDdCOEIgLyogSHlwaGVuYXRpb25DRi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBIeXBoZW5hdGlvbkNGLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMzcxRTY1Q0IxMzY2MUVEQzAwQkVFREIwIC8qIFBhZ2VTZXJpYWxpemVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhZ2VTZXJpYWxpemVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3MUU2NUNEMTM2NjFFRUQwMEJFRURCMCAvKiBQYWdlU2Vy
aWFsaXplci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQYWdlU2Vy
aWFsaXplci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzM1Nyw4ICsxMzM1
OSw4IEBACiAJCUNERTU5NTlDMUJGMjc1NzEwMEExQ0JFOCAvKiBDRE1TZXNzaW9uTWVkaWFTb3Vy
Y2VBVkZPYmpDLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ0RN
U2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQ0RFNjU2MEUxN0NBNkU3NjAwNTI2QkE3IC8qIG1lZGlhQ29udHJvbHNBcHBsZS5qcyAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
amF2YXNjcmlwdDsgcGF0aCA9IG1lZGlhQ29udHJvbHNBcHBsZS5qczsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0RFNjY3QTExRTRCQkE0RDAwRTgxNTRBIC8qIFBsYXRmb3JtQXVkaW9E
YXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtQXVkaW9EYXRh
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNERTY2N0EyMUU0QkJGMTUwMEU4MTU0
QSAvKiBXZWJBdWRpb0J1ZmZlckxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gY29jb2EvV2ViQXVkaW9CdWZmZXJMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJQ0RFNjY3QTMxRTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlz
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBjb2NvYS9XZWJBdWRpb0J1ZmZl
ckxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0RFNjY3QTIxRTRCQkYxNTAw
RTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBXZWJBdWRpb0J1ZmZlckxpc3QuY3BwOyBwYXRoID0gY29jb2EvV2ViQXVk
aW9CdWZmZXJMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0RFNjY3QTMx
RTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBXZWJBdWRpb0J1ZmZlckxpc3QuaDsgcGF0aCA9IGNvY29hL1dlYkF1
ZGlvQnVmZmVyTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU3RkM0MjE4
MTkwNEIxMDAyQkJCNzcgLyogT3JkZXJJdGVyYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBPcmRlckl0ZXJhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQ0RFN0ZDNDMxODE5MDRCMTAwMkJCQjc3IC8qIE9yZGVySXRlcmF0b3IuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT3JkZXJJdGVyYXRvci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDREU4M0RBRjE4M0M0NDA2MDAzMUVBQTMgLyogVmlkZW9QbGF5
YmFja1F1YWxpdHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVmlk
ZW9QbGF5YmFja1F1YWxpdHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzE0
NDIsNiArMzE0NDQsNyBAQAogCQkJCUFBMTJERjQ5MTc0M0RGODMwMDREQUZERiAvKiBQbGF0Zm9y
bVNwZWVjaFN5bnRoZXNpemVySU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RBMjlBMzAxQ0JG
NzRENDAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0Lm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQ0RBMjlBMTYxQ0JEQTU2QzAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lvbklu
dGVyZmFjZU1hYy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJBNzlBMjEzNEFENzkwMEY0OTNG
RCAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAogCQkJCTQxOTI0MjQ5MjEy
N0I5M0UwMDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTMxNkRDQjhBMUU3QTY5OTYwMDFCNUY4NyAvKiBSVENJY2VUcmFuc3Bv
cnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1MTE1NkUxMkIxNzQ5QzAwQzk2NzU0IC8qIFNj
cm9sbEFuaW1hdG9yTWFjLm1tIGluIFNvdXJjZXMgKi8sCkBAIC0zMjA1Niw2ICszMjA1OSw3IEBA
CiAJCQkJMkQ4QjkyRkQyMDNEMTNFMTAwOUM4NjhGIC8qIFVuaWZpZWRTb3VyY2U1MjguY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMkQ4QjkyRkUyMDNEMTNFMTAwOUM4NjhGIC8qIFVuaWZpZWRTb3Vy
Y2U1MjkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ4QjkyRkYyMDNEMTNFMTAwOUM4NjhGIC8q
IFVuaWZpZWRTb3VyY2U1MzAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5MkE3OUQyMTM0QUY5
NTAwRjQ5M0ZEIC8qIFVzZXJBZ2VudElPUy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUzMjA0MjAy
MUY5QTlGMTAwMEI4MUIyQSAvKiBVc2VyQWdlbnRTY3JpcHRzRGF0YS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk3QzNCNzk3MTE5MDg3NTdCMDBCNDdBMkQgLyogVXNlck1lc3NhZ2VIYW5kbGVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTdDRTY4MzQ0MTkyMTQzQTgwMEY0RDkyOCAvKiBVc2VyTWVz
c2FnZUhhbmRsZXJEZXNjcmlwdG9yLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNEU0EuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNEU0EuY3Bw
CmluZGV4IDk3MzE3ZTA0YTk3OTdmMTU2MTZkZTRjNzYwOGI3NDVkOWZkZWRlZjcuLjFiNTNjNDUz
YjM1MjUzNmI0ODEyZWRkMmFhNjRkOTFlOTVkZjg1NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUVDRFNBLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1FQ0RTQS5jcHAKQEAg
LTM2LDEyICszNiwxNCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK25hbWVzcGFjZSBDcnlw
dG9BbGdvcml0aG1FQ0RTQUludGVybmFsIHsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBBTEcy
NTYgPSAiRVMyNTYiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzM4NCA9ICJFUzM4NCI7
CiBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHNTEyID0gIkVTNTEyIjsKIHN0YXRpYyBjb25z
dCBjaGFyKiBjb25zdCBQMjU2ID0gIlAtMjU2IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBQ
Mzg0ID0gIlAtMzg0IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBQNTIxID0gIlAtNTIxIjsK
K30KIAogUmVmPENyeXB0b0FsZ29yaXRobT4gQ3J5cHRvQWxnb3JpdGhtRUNEU0E6OmNyZWF0ZSgp
CiB7CkBAIC0xMDIsNiArMTA0LDcgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1FQ0RTQTo6Z2VuZXJh
dGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyYgcGFyYW1ldGUKIAogdm9pZCBD
cnlwdG9BbGdvcml0aG1FQ0RTQTo6aW1wb3J0S2V5KENyeXB0b0tleUZvcm1hdCBmb3JtYXQsIEtl
eURhdGEmJiBkYXRhLCBjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJz
LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMsIEtleUNhbGxi
YWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2spCiB7
CisgICAgdXNpbmcgbmFtZXNwYWNlIENyeXB0b0FsZ29yaXRobUVDRFNBSW50ZXJuYWw7CiAgICAg
Y29uc3QgYXV0byYgZWNQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtRWNLZXlQ
YXJhbXM+KHBhcmFtZXRlcnMpOwogCiAgICAgUmVmUHRyPENyeXB0b0tleUVDPiByZXN1bHQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ2NyeXB0L0dDcnlwdFV0aWxpdGllcy5o
IGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2djcnlwdC9HQ3J5cHRVdGlsaXRpZXMuaAppbmRleCBm
MGE0MTM0NTZhOTQ0NTk5NThmOWE3ZjAyNTQ1MzQ0YjVmYjZjM2U1Li4zNmY0OGQwNGQ3ODJkNTIz
OTlkZDc3YzRiYzNkNzgyOGQ3OTVhOWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlw
dG8vZ2NyeXB0L0dDcnlwdFV0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9n
Y3J5cHQvR0NyeXB0VXRpbGl0aWVzLmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlIDxwYWwv
Y3J5cHRvL0NyeXB0b0RpZ2VzdC5oPgogI2luY2x1ZGUgPHBhbC9jcnlwdG8vZ2NyeXB0L0hhbmRs
ZS5oPgogI2luY2x1ZGUgPHBhbC9jcnlwdG8vZ2NyeXB0L1V0aWxpdGllcy5oPgorI2luY2x1ZGUg
PHd0Zi9PcHRpb25hbC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmgKaW5kZXggYTcxZGEzZjBlZTFhOTdmYjY1MDAwZmMxYTU1ODc5MDRmNzkyYTY4ZS4uMjI3NTc5
ODQxODViZmM4MmNkZjdmMzAxNzg1NTg3YjJkZWYwYTliOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgK
QEAgLTY0MSw3ICs2NDEsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgV0VCQ09SRV9FWFBPUlQgRG9j
dW1lbnRMb2FkZXIqIGxvYWRlcigpIGNvbnN0OwogCi0gICAgV0VCQ09SRV9FWFBPUlQgRXhjZXB0
aW9uT3I8UmVmUHRyPFdpbmRvd1Byb3h5Pj4gb3BlbkZvckJpbmRpbmdzKERPTVdpbmRvdyYgYWN0
aXZlV2luZG93LCBET01XaW5kb3cmIGZpcnN0V2luZG93LCBjb25zdCBTdHJpbmcmIHVybCwgY29u
c3QgQXRvbWljU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGZlYXR1cmVzKTsKKyAgICBXRUJD
T1JFX0VYUE9SVCBFeGNlcHRpb25PcjxSZWZQdHI8V2luZG93UHJveHk+PiBvcGVuRm9yQmluZGlu
Z3MoRE9NV2luZG93JiBhY3RpdmVXaW5kb3csIERPTVdpbmRvdyYgZmlyc3RET01XaW5kb3csIGNv
bnN0IFN0cmluZyYgdXJsLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
ZmVhdHVyZXMpOwogICAgIFdFQkNPUkVfRVhQT1JUIEV4Y2VwdGlvbk9yPERvY3VtZW50Jj4gb3Bl
bkZvckJpbmRpbmdzKERvY3VtZW50KiByZXNwb25zaWJsZURvY3VtZW50LCBjb25zdCBTdHJpbmcm
IHR5cGUsIGNvbnN0IFN0cmluZyYgcmVwbGFjZSk7CiAKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxk
IHJlbmFtZSB0aGlzIGF0IHNvbWUgcG9pbnQgYW5kIGdpdmUgYmFjayB0aGUgbmFtZSAnb3Blbicg
dG8gdGhlIEhUTUwgc3BlY2lmaWVkIG9uZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAppbmRleCBlNDBmOWE4ODZmMTU5MDRlNjJmMGYyNjg4YTg2
OWE2OTg4OWI0YTg5Li5jNzMxOTIyYWY4Mjk4M2I5ZGFhNmJjN2ZlNTIyNzg2MzczMTY4M2ZkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKQEAg
LTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJIVE1MRG9jdW1lbnRQYXJzZXIuaCIKICNpbmNsdWRl
ICJIVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50Lmgi
CisjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxPcHRHcm91cEVs
ZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MT3B0aW9uRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxQ
YXJzZXJJZGlvbXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNo
ZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaAppbmRleCA3MmIyOTc1
NWYxMWQ5NDA5NWZhN2VkZDUzMDk2OGY3YzU3YjU3YmViLi42ZDlhMmRhOWJlMDMyMDA3YTgyZWRh
NjhjMTZmZDJmMjhiMWMxMjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBw
Y2FjaGUvQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5oCkBAIC0y
NSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNo
ZVJlc291cmNlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmF3UmVzb3VyY2UuaCIKICNpbmNsdWRlICJD
YWNoZWRSYXdSZXNvdXJjZUNsaWVudC5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxl
LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0FsdGVybmF0aXZlVGV4dENsaWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9BbHRlcm5hdGl2ZVRleHRDbGllbnQuaAppbmRleCA5
MzU1OTM3ODhmOTg5OWM5ZTIyNTEwODhiNGU3NmQwMDVkM2QyZjk4Li4xNDNkYTZjNDdmNGJjZWZj
MGE0MWFhODc2NDY3ZDA0NDcxNWJhNzBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0FsdGVybmF0aXZlVGV4dENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWx0ZXJu
YXRpdmVUZXh0Q2xpZW50LmgKQEAgLTI5LDExICsyOSw2IEBACiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCi0jaWYgUExBVEZPUk0oTUFD
KQotLy8gU29tZSBwbGF0Zm9ybXMgcHJvdmlkZSBVSSBmb3Igc3VnZ2VzdGluZyBhbHRlcm5hdGl2
ZSBkaWN0YXRpb24gdGV4dC4KLSNkZWZpbmUgVVNFX0RJQ1RBVElPTl9BTFRFUk5BVElWRVMgMQot
I2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBSZWFzb25Gb3JEaXNtaXNzaW5n
QWx0ZXJuYXRpdmVUZXh0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bh
c3RlYm9hcmQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCBk
NTQzM2RkOTIwYWUwZWU1OTJiZDQ1ZmQ1NjBjZGQzZTM4YTM0NzIxLi5lMDk4MTU2NTFiZDJkNjA1
NzRkYTQyMzZjMzgwZmFkNGQ2MDIxNWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9QYXN0ZWJvYXJkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2Fy
ZC5oCkBAIC0zMzgsNiArMzM4LDcgQEAgZXh0ZXJuIE5TU3RyaW5nICpVSUNvbG9yUGJvYXJkVHlw
ZTsKICNpZiBQTEFURk9STShNQUMpCiBleHRlcm4gY29uc3QgY2hhciogY29uc3QgV2ViQXJjaGl2
ZVBib2FyZFR5cGU7CiBleHRlcm4gY29uc3QgY2hhciogY29uc3QgV2ViVVJMTmFtZVBib2FyZFR5
cGU7CitleHRlcm4gY29uc3QgY2hhciogY29uc3QgV2ViVVJMc1dpdGhUaXRsZXNQYm9hcmRUeXBl
OwogI2VuZGlmCiAKICNpZiAhUExBVEZPUk0oR1RLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2Vzc2lvbk1hYy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TZXNzaW9uTWFjLmNwcAppbmRleCA3OWFiOWY0MWJl
NWNlNmRlODRjODhlM2E2OTE4MTBkMGY0OWE0MzkxLi5lOTE4MDk4OGQ2OWM5NjUwOGRjMTIxYTE3
MGU3MTJhZWFhY2NmZTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9tYWMvQXVkaW9TZXNzaW9uTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9tYWMvQXVkaW9TZXNzaW9uTWFjLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUg
Ik5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSA8Q29yZUF1ZGlvL0F1ZGlvSGFyZHdhcmUuaD4K
ICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwCmluZGV4IDk2
OGJiMjI4NmExZjdlNTg0NjRlZjg4ZDc5ZTYxZWY0MjQ5MDE1NWYuLjNlMmM4MmI4YjEyZWRhMDlk
YjQzZjRjMTMwMTRjNWJiYWMwYjcwMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcApAQCAtMzAsNiAr
MzAsNyBAQAogCiAjaW5jbHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9yQ2xpZW50LmgiCiAjaW5j
bHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlci5oIgorI2luY2x1ZGUgIkxvZ2dpbmcu
aCIKIAogI2lmIFBMQVRGT1JNKElPUykKICNpbmNsdWRlICJEaXNwbGF5UmVmcmVzaE1vbml0b3JJ
T1MuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRG
YW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuY3BwCmluZGV4IDIxNzY5MWY3MjM5NzRl
ODAwNTc5YjI4Y2MwNTZhN2I5YzA4NWM2NGQuLjE1YzAzODc2OTgyNjBmNDA1ZTIyZTViZjUyNzgw
MDMwOGM3ZmUzYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseVNwZWNpZmljYXRpb25OdWxsLmNwcApAQCAtMjcsNiAr
MjcsNyBAQAogI2luY2x1ZGUgIkZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5oIgogCiAjaW5j
bHVkZSAiRm9udFNlbGVjdG9yLmgiCisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSGFz
aC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRHZW5lcmljRmFtaWxpZXMuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEdlbmVyaWNGYW1pbGllcy5jcHAKaW5kZXggZDQzYzBi
ZGJkYWY4NGVhMTMzOTBmYmY2MDAzZTM4MjM5YTJjMjRkYy4uMjU4YmFmZDg0MGJkODIyMGY4NTI0
Mjk2MTg2ZDhkOThiY2JlOTBjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udEdlbmVyaWNGYW1pbGllcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udEdlbmVyaWNGYW1pbGllcy5jcHAKQEAgLTI3LDYgKzI3LDcgQEAK
ICNpbmNsdWRlICJGb250R2VuZXJpY0ZhbWlsaWVzLmgiCiAKICNpbmNsdWRlIDx3dGYvTGFuZ3Vh
Z2UuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udFRhZ2dlZFNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRUYWdnZWRTZXR0aW5ncy5jcHAKaW5kZXggNjFiMmViZWY2YzQ3NTAxMTMzMjFiZjE2
YmE5Y2VlZTMwYzNmMjRlMC4uYjBjYTQzZDU1YzQ1Y2I1MGQ3MzBmODkyZTE3ZDgwODY5Y2NkNDk2
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFRhZ2dl
ZFNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
VGFnZ2VkU2V0dGluZ3MuY3BwCkBAIC0yNyw5ICsyNyw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiRm9udFRhZ2dlZFNldHRpbmdzLmgiCiAKLSNpbmNsdWRlIDx3dGYvdGV4dC9U
ZXh0U3RyZWFtLmg+Ci0KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmdIYXNoLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvVGV4dFN0cmVhbS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRD
YWlyby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q2Fp
cm8uY3BwCmluZGV4IDA2ZDlkNzQ5NGE0YmVhYThlM2E5Y2U3YWZlNmRhYjM1YjFjMmRiNzguLjI4
NmJjNmQ4ZTNjMjY1MzA0NmM2M2I1MmIzNmQwOTAzMWYyMDhkOTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDYWlyby5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udENhaXJvLmNwcApAQCAtMzQs
NiArMzQsNyBAQAogI2lmIFVTRShDQUlSTykKIAogI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5o
IgorI2luY2x1ZGUgIkNhaXJvT3BlcmF0aW9ucy5oIgogI2luY2x1ZGUgIkNhaXJvVXRpbGl0aWVz
LmgiCiAjaW5jbHVkZSAiRm9udC5oIgogI2luY2x1ZGUgIkdseXBoQnVmZmVyLmgiCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHTExheWVyLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5tbQpp
bmRleCAzZWQ3ZTQxZTdjNjg4NDZmM2ZiYzE3MmNlNmJhOTg5ZmY4N2Y1N2ViLi44ZWUzNDhkODk5
ODYzNDEzZDZiNjcxMzc2ZTViMWRhNTRjYjEzNzYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHTExheWVyLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdMTGF5ZXIubW0KQEAgLTQyLDEzICs0Miwx
MSBAQAogI2ltcG9ydCA8T3BlbkdML2dsLmg+CiAjZW5kaWYKIAotdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7Ci0KIEBpbXBsZW1lbnRhdGlvbiBXZWJHTExheWVyCiAKIEBzeW50aGVzaXplIGNvbnRl
eHQ9X2NvbnRleHQ7CiAKLS0oaWQpaW5pdFdpdGhHcmFwaGljc0NvbnRleHQzRDooR3JhcGhpY3ND
b250ZXh0M0QqKWNvbnRleHQKKy0oaWQpaW5pdFdpdGhHcmFwaGljc0NvbnRleHQzRDooV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0M0QqKWNvbnRleHQKIHsKICAgICBfY29udGV4dCA9IGNvbnRleHQ7
CiAgICAgc2VsZiA9IFtzdXBlciBpbml0XTsKQEAgLTg2LDcgKzg0LDcgQEAgc3RhdGljIHZvaWQg
ZnJlZURhdGEodm9pZCAqLCBjb25zdCB2b2lkICpkYXRhLCBzaXplX3QgLyogc2l6ZSAqLykKIH0K
ICNlbmRpZgogCi0tKENHSW1hZ2VSZWYpY29weUltYWdlU25hcHNob3RXaXRoQ29sb3JTcGFjZToo
Q0dDb2xvclNwYWNlUmVmKWNvbG9yU3BhY2UKKy0gKENHSW1hZ2VSZWYpY29weUltYWdlU25hcHNo
b3RXaXRoQ29sb3JTcGFjZTooQ0dDb2xvclNwYWNlUmVmKWNvbG9yU3BhY2UKIHsKICAgICBpZiAo
IV9jb250ZXh0KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTk2LDcgKzk0LDcgQEAgLShD
R0ltYWdlUmVmKWNvcHlJbWFnZVNuYXBzaG90V2l0aENvbG9yU3BhY2U6KENHQ29sb3JTcGFjZVJl
Ziljb2xvclNwYWNlCiAKICAgICBSZXRhaW5QdHI8Q0dDb2xvclNwYWNlUmVmPiBpbWFnZUNvbG9y
U3BhY2UgPSBjb2xvclNwYWNlOwogICAgIGlmICghaW1hZ2VDb2xvclNwYWNlKQotICAgICAgICBp
bWFnZUNvbG9yU3BhY2UgPSBzUkdCQ29sb3JTcGFjZVJlZigpOworICAgICAgICBpbWFnZUNvbG9y
U3BhY2UgPSBXZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigpOwogCiAgICAgQ0dSZWN0IGxheWVy
Qm91bmRzID0gQ0dSZWN0SW50ZWdyYWwoW3NlbGYgYm91bmRzXSk7CiAKQEAgLTE0MSwxOSArMTM5
LDE5IEBAIC0gKHZvaWQpZGlzcGxheQogI2VuZGlmCiAKICAgICBfY29udGV4dC0+bWFya0xheWVy
Q29tcG9zaXRlZCgpOwotICAgIFBsYXRmb3JtQ0FMYXllciogbGF5ZXIgPSBQbGF0Zm9ybUNBTGF5
ZXI6OnBsYXRmb3JtQ0FMYXllcigoX19icmlkZ2Ugdm9pZCopc2VsZik7CisgICAgV2ViQ29yZTo6
UGxhdGZvcm1DQUxheWVyKiBsYXllciA9IFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXllcjo6cGxhdGZv
cm1DQUxheWVyKChfX2JyaWRnZSB2b2lkKilzZWxmKTsKICAgICBpZiAobGF5ZXIgJiYgbGF5ZXIt
Pm93bmVyKCkpCiAgICAgICAgIGxheWVyLT5vd25lcigpLT5wbGF0Zm9ybUNBTGF5ZXJMYXllckRp
ZERpc3BsYXkobGF5ZXIpOwogfQogCiAjaWYgVVNFKE9QRU5HTCkKLS0gKHZvaWQpYWxsb2NhdGVJ
T1N1cmZhY2VCYWNraW5nU3RvcmVXaXRoU2l6ZTooSW50U2l6ZSlzaXplIHVzaW5nQWxwaGE6KEJP
T0wpdXNpbmdBbHBoYQorLSAodm9pZClhbGxvY2F0ZUlPU3VyZmFjZUJhY2tpbmdTdG9yZVdpdGhT
aXplOihXZWJDb3JlOjpJbnRTaXplKXNpemUgdXNpbmdBbHBoYTooQk9PTCl1c2luZ0FscGhhCiB7
CiAgICAgX2J1ZmZlclNpemUgPSBzaXplOwogICAgIF91c2luZ0FscGhhID0gdXNpbmdBbHBoYTsK
LSAgICBfY29udGVudHNCdWZmZXIgPSBXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShzaXplLCBz
UkdCQ29sb3JTcGFjZVJlZigpKTsKLSAgICBfZHJhd2luZ0J1ZmZlciA9IFdlYkNvcmU6OklPU3Vy
ZmFjZTo6Y3JlYXRlKHNpemUsIHNSR0JDb2xvclNwYWNlUmVmKCkpOwotICAgIF9zcGFyZUJ1ZmZl
ciA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUsIHNSR0JDb2xvclNwYWNlUmVmKCkp
OworICAgIF9jb250ZW50c0J1ZmZlciA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUs
IFdlYkNvcmU6OnNSR0JDb2xvclNwYWNlUmVmKCkpOworICAgIF9kcmF3aW5nQnVmZmVyID0gV2Vi
Q29yZTo6SU9TdXJmYWNlOjpjcmVhdGUoc2l6ZSwgV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYo
KSk7CisgICAgX3NwYXJlQnVmZmVyID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVhdGUoc2l6ZSwg
V2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYoKSk7CiAKICAgICBBU1NFUlQoX2NvbnRlbnRzQnVm
ZmVyKTsKICAgICBBU1NFUlQoX2RyYXdpbmdCdWZmZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR1BVTGF5ZXIubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbQppbmRleCA1YzM1NTdm
OGJkNjZhNjhjOTIzYjIzYWE2NDdiYjcxNDg0MDllOWExLi4yNWVmYjhiNzQ3NjgwMjQ1NThkYmNk
ZjMwZjc0MzE4NzE0Njk1NWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbQpAQCAtMzQsMTMgKzM0LDExIEBACiAjaW1w
b3J0IDx3dGYvRmFzdE1hbGxvYy5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCi11c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogQGltcGxlbWVudGF0aW9uIFdlYkdQVUxheWVyCiAKIEBz
eW50aGVzaXplIGNvbnRleHQ9X2NvbnRleHQ7CiAKLS0gKGlkKWluaXRXaXRoR1BVRGV2aWNlOihH
UFVEZXZpY2UqKWNvbnRleHQKKy0gKGlkKWluaXRXaXRoR1BVRGV2aWNlOihXZWJDb3JlOjpHUFVE
ZXZpY2UqKWNvbnRleHQKIHsKICAgICBzZWxmID0gW3N1cGVyIGluaXRdOwogICAgIF9jb250ZXh0
ID0gY29udGV4dDsKQEAgLTUwLDcgKzQ4LDcgQEAgLSAoaWQpaW5pdFdpdGhHUFVEZXZpY2U6KEdQ
VURldmljZSopY29udGV4dAogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHNlbGYuY29udGVudHNT
Y2FsZSA9IF9kZXZpY2VQaXhlbFJhdGlvOwotICAgIHNlbGYuY29sb3JzcGFjZSA9IHNSR0JDb2xv
clNwYWNlUmVmKCk7CisgICAgc2VsZi5jb2xvcnNwYWNlID0gV2ViQ29yZTo6c1JHQkNvbG9yU3Bh
Y2VSZWYoKTsKICNlbmRpZgogICAgIHJldHVybiBzZWxmOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29tbWFuZFF1ZXVlTWV0YWwubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVN
ZXRhbC5tbQppbmRleCA4MjBhZjhiYzE2ZGIzYjQ4NjVlNzliN2I4MjRkYjJjN2I0ZGYzZWNjLi4z
MDNiMjVkYTNkNGE2NGVkMWIwMDMwYjcyYjlmZGJjNmY5NjVjMzNkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5k
UXVldWVNZXRhbC5tbQpAQCAtMzEsNiArMzEsNyBAQAogI2ltcG9ydCAiR1BVRGV2aWNlLmgiCiAj
aW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0IDxNZXRhbC9NZXRhbC5oPgorI2ltcG9ydCA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRNYWMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQppbmRleCBjYjUwNGNmNTQzZWI3ZTgw
ZDc2NjVjZDFlNTdlMzA4OWFmZmIxYTcwLi5mZDZlOTI5ODc3NGZhZjRmZTg3MzViZjI3NTY1YWRj
OTUzMmJmNjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVi
b2FyZE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1h
Yy5tbQpAQCAtNTIsMTAgKzUyLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY29uc3QgY2hh
ciogY29uc3QgV2ViQXJjaGl2ZVBib2FyZFR5cGUgPSAiQXBwbGUgV2ViIEFyY2hpdmUgcGFzdGVi
b2FyZCB0eXBlIjsKIGNvbnN0IGNoYXIqIGNvbnN0IFdlYlVSTE5hbWVQYm9hcmRUeXBlID0gInB1
YmxpYy51cmwtbmFtZSI7Citjb25zdCBjaGFyKiBjb25zdCBXZWJVUkxzV2l0aFRpdGxlc1Bib2Fy
ZFR5cGUgPSAiV2ViVVJMc1dpdGhUaXRsZXNQYm9hcmRUeXBlIjsKIAogY29uc3QgY2hhciBXZWJT
bWFydFBhc3RlUGJvYXJkVHlwZVtdID0gIk5lWFQgc21hcnQgcGFzdGUgcGFzdGVib2FyZCB0eXBl
IjsKIGNvbnN0IGNoYXIgV2ViVVJMUGJvYXJkVHlwZVtdID0gInB1YmxpYy51cmwiOwotY29uc3Qg
Y2hhciBXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGVbXSA9ICJXZWJVUkxzV2l0aFRpdGxlc1Bi
b2FyZFR5cGUiOwogCiBzdGF0aWMgY29uc3QgVmVjdG9yPFN0cmluZz4gd3JpdGFibGVUeXBlc0Zv
clVSTCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29hLmNwcAppbmRl
eCA1YzJhOWQyNDE5OGExM2U0OGM0ZjczZTlkZTYxZGQzN2FkZTkyNTUxLi5mNDkyZTYxNDJmMDIz
MWI5OTdlOTZiYTU5Mjc5NTg4NTY4MDkzM2FjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVy
ZU1hbmFnZXJDb2NvYS5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCiAKKyNpbmNsdWRlICJDb3JlVmlkZW9Tb2Z0TGluay5oIgogI2luY2x1ZGUgIkxvZ2dp
bmcuaCIKICNpbmNsdWRlIDx3dGYvQWxnb3JpdGhtcy5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRl
c3Ryb3llZC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZVJlcXVlc3RCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKaW5kZXggMjU0MDk2NTZjM2Q2MzIwMzYxNjVmYWIxZGQ3
NDllODhmY2E2ODQ4Mi4uZmY1ODM2MTc0ZWFiOTU5NTI4YTIwN2JmYmFhYjYwMDM5ZDliNTAzMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVl
c3RCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
UmVxdWVzdEJhc2UuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiSFRUUEhlYWRlck5h
bWVzLmgiCiAjaW5jbHVkZSAiUHVibGljU3VmZml4LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1
ZXN0LmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5
UG9saWN5LmgiCiAjaW5jbHVkZSA8d3RmL1BvaW50ZXJDb21wYXJpc29uLmg+CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5l
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0Zvcm1EYXRhU3RyZWFt
Q0ZOZXQuY3BwCmluZGV4IDI5MDI1ZDM4YTdmZDM2ZmY5Yjk5NjIzOTFmMDgwODcwMjFmZjEzMGUu
LmU1MzIxYzI3ZDRkOTY4YzY2ZTRjZDRjNjc3OTYzZjVhN2Q2Y2FkZmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5ldC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Gb3JtRGF0YVN0cmVhbUNG
TmV0LmNwcApAQCAtNDIsMTEgKzQyLDcgQEAKICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+
CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCi0jaWYgUExBVEZPUk0oSU9TKSAmJiAhUExB
VEZPUk0oSU9TTUFDKQotc3RhdGljIGNvbnN0IFNJbnQzMiBmbmZFcnIgPSAtNDM7Ci0jZWxpZiBQ
TEFURk9STShNQUMpCi0jaW5jbHVkZSA8Q29yZVNlcnZpY2VzL0NvcmVTZXJ2aWNlcy5oPgotI2Vu
ZGlmCitzdGF0aWMgY29uc3QgU0ludDMyIGZpbGVOb3RGb3VuZEVycm9yID0gLTQzOwogCiAjaWYg
UExBVEZPUk0oQ09DT0EpCiBleHRlcm4gIkMiIHZvaWQgQ0ZVUkxSZXF1ZXN0U2V0SFRUUFJlcXVl
c3RCb2R5KENGTXV0YWJsZVVSTFJlcXVlc3RSZWYgbXV0YWJsZUhUVFBSZXF1ZXN0LCBDRkRhdGFS
ZWYgaHR0cEJvZHkpOwpAQCAtMjQxLDcgKzIzNyw3IEBAIHN0YXRpYyBCb29sZWFuIGZvcm1PcGVu
KENGUmVhZFN0cmVhbVJlZiwgQ0ZTdHJlYW1FcnJvciogZXJyb3IsIEJvb2xlYW4qIG9wZW5Db21w
CiAjaWYgUExBVEZPUk0oV0lOKQogICAgICAgICBFTk9FTlQ7CiAjZWxzZQotICAgICAgICBmbmZF
cnI7CisgICAgICAgIGZpbGVOb3RGb3VuZEVycm9yOwogI2VuZGlmCiAgICAgcmV0dXJuIG9wZW5l
ZDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVj
VVRGOC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguY3Bw
CmluZGV4IGIzMThlNjIyYmNiZTExODAxOWE0MTY4NTYzMzM1NTZmMTA3MmQ3OWUuLjIxZjAzOGJj
NmQ0NWI0NjhkZTJhZWY3NDY3OTg1YjRkMDI1ZGM3OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVVRGOC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4LmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1
ZGUgIlRleHRDb2RlY0FTQ0lJRmFzdFBhdGguaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5n
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVmZmVyLmg+CisjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9UZXh0Q29kZWNVVEY4LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1Rl
eHRDb2RlY1VURjguaAppbmRleCBmODI4MmI1ZjM0YTg5NDczZGU5YWQ3YTIxNzY1YWY2YTMyYWNm
OTVjLi44NGY3MTQ3ZTZkYzM0ZjJlNzUxNTYxMjEwMTliYWYxNDBlNWJjMWU1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguaApAQCAtMjYsNiArMjYsNyBA
QAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJUZXh0Q29kZWMuaCIKKyNpbmNsdWRlIDx1bmlj
b2RlL3V0ZjguaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9MQ2hhci5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVu
ZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3Vw
ZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcAppbmRleCAzYmM4MmM2ZTFhYmQy
ZmFjNDNiMDk5YzhlNmUzY2NmMzY2ZGQ4NTNiLi4yYzJiNTA4ZmFjNWM2ZmM4NDYyODVjOWZmYTg5
NWE3YjQwMjJiOGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRp
bmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5jcHAKQEAgLTI3LDYg
KzI3LDggQEAKICNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5oIgogCiAjaW5j
bHVkZSAiUmVuZGVyTXVsdGlDb2x1bW5GbG93LmgiCisjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxk
ZXJCbG9jay5oIgorI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyTXVsdGlDb2x1bW4uaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJGb3JtQ29udHJvbHMuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyRm9ybUNvbnRyb2xzLmNw
cAppbmRleCA4MjdjOGJiMDE3MjgwNGQyNjE2MWI2NDM2M2M2MzU1YjI3YjhlYWIxLi45OWM1NzQ3
ODQzNzBhODNhNjQ1MWMxY2IyYTRhY2IyYTljNGM5MzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJGb3JtQ29udHJvbHMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRl
ckZvcm1Db250cm9scy5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIlJlbmRlckJ1
dHRvbi5oIgogI2luY2x1ZGUgIlJlbmRlck1lbnVMaXN0LmgiCisjaW5jbHVkZSAiUmVuZGVyVHJl
ZUJ1aWxkZXJCbG9jay5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJ
bmxpbmUuY3BwCmluZGV4IDdjZDA3MTVkZjUyNGE3NmZkMjA2YTIzNDI4ZDlkYWM3ZDdkODUzZjgu
LmVlNjM5ZDlmYmIyYjk4ZjY4MjBkOGEzZGY1MWMyN2VhMDIyYTMzMWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWls
ZGVySW5saW5lLmNwcApAQCAtMzAsNiArMzAsOCBAQAogI2luY2x1ZGUgIlJlbmRlckZ1bGxTY3Jl
ZW4uaCIKICNpbmNsdWRlICJSZW5kZXJJbmxpbmUuaCIKICNpbmNsdWRlICJSZW5kZXJUYWJsZS5o
IgorI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyTXVsdGlDb2x1bW4uaCIKKyNpbmNsdWRlICJS
ZW5kZXJUcmVlQnVpbGRlclRhYmxlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVy
UnVieS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1
aWxkZXJSdWJ5LmNwcAppbmRleCA3YWMxOWJhYzViYmM4ZGQ5Y2M2MjRiYWE0MWQ5Yzg5YzcxZDEx
YTg4Li5hYzEyNDVkYzkyNWQ5YzA5ZGNjMTdjMzAyNWQzMjE0MWRkOTc3NjJjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJSdWJ5
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1
aWxkZXJSdWJ5LmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2lu
Y2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyUnVieS5oIgogCisjaW5jbHVkZSAiUmVuZGVyQW5jZXN0
b3JJdGVyYXRvci5oIgogI2luY2x1ZGUgIlJlbmRlclJ1YnkuaCIKICNpbmNsdWRlICJSZW5kZXJS
dWJ5QmFzZS5oIgogI2luY2x1ZGUgIlJlbmRlclJ1YnlSdW4uaCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCmluZGV4
IDdkNzZhZjk0Mjc0NjE3NWViOWEyYzU5ZTcxYTk3MTI0ZmZjMGRhMjQuLjY1MjI2YTA1NTFlNWYx
ZWU0YTgzNDhiZWNkOTM1ZTNiYjQwMGEwNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNwcApAQCAtNDEsNiArNDEs
OCBAQAogI2luY2x1ZGUgIlJlbmRlckRlc2NlbmRhbnRJdGVyYXRvci5oIgogI2luY2x1ZGUgIlJl
bmRlckZ1bGxTY3JlZW4uaCIKICNpbmNsdWRlICJSZW5kZXJJbmxpbmUuaCIKKyNpbmNsdWRlICJS
ZW5kZXJNdWx0aUNvbHVtbkZsb3cuaCIKKyNpbmNsdWRlICJSZW5kZXJNdWx0aUNvbHVtblNldC5o
IgogI2luY2x1ZGUgIlJlbmRlclRyZWVVcGRhdGVyR2VuZXJhdGVkQ29udGVudC5oIgogI2luY2x1
ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKICNpbmNsdWRlICJTdHlsZVJlc29sdmVyLmgi
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlLm1tIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZS5tbQppbmRleCBiMTc0MmZkZmRkMzg2OWVh
ZGQzZDdjNWFlZTcwNWU2NjFmOTdlZWRjLi5iOGM5NzJmN2VjMThlYjdkNGM5YTcxZGUyYjRlMWUy
YzY1ZGU4NzY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZl
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmUubW0KQEAgLTM0LDkg
KzM0LDggQEAKICNpbmNsdWRlIDxXZWJDb3JlL0xlZ2FjeVdlYkFyY2hpdmUuaD4KICNpbmNsdWRl
IDx3dGYvUmV0YWluUHRyLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBuYW1lc3Bh
Y2UgQVBJIHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBSZWY8V2ViQXJjaGl2ZT4gV2Vi
QXJjaGl2ZTo6Y3JlYXRlKFdlYkFyY2hpdmVSZXNvdXJjZSogbWFpblJlc291cmNlLCBSZWZQdHI8
QVBJOjpBcnJheT4mJiBzdWJyZXNvdXJjZXMsIFJlZlB0cjxBUEk6OkFycmF5PiYmIHN1YmZyYW1l
QXJjaGl2ZXMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNo
aXZlUmVzb3VyY2UubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3Vy
Y2UubW0KaW5kZXggY2FlNWI4NWRmMTc3ZGRkZTY4ZDg1MmU1ZTUwNmQ4ZDkyYmUyZWE5NC4uZGMw
ZjkwZjBmMzg1MWFiZjEwMDQ4NGJhNTczYWU0YWY4ZTgwYjIzMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0FQSVdlYkFyY2hpdmVSZXNvdXJjZS5tbQpAQCAtMzMsOSArMzMsOCBAQAogI2lu
Y2x1ZGUgPFdlYkNvcmUvVVJMLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCi11c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogbmFtZXNwYWNlIEFQSSB7Cit1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKIAogUmVmPFdlYkFyY2hpdmVSZXNvdXJjZT4gV2ViQXJjaGl2ZVJlc291cmNlOjpj
cmVhdGUoQVBJOjpEYXRhKiBkYXRhLCBjb25zdCBTdHJpbmcmIFVSTCwgY29uc3QgU3RyaW5nJiBN
SU1FVHlwZSwgY29uc3QgU3RyaW5nJiB0ZXh0RW5jb2RpbmcpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVs
ZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNj
YXBlUGx1Z2luTW9kdWxlTWFjLm1tCmluZGV4IDY4ZDdjNmFkZjM2Mjc1MTMxMjk2MzU2Mjg2ZjEx
ZTg0OWMxNGMyYzAuLmMwY2NhYzU5ODUzY2ZhZmZkOWZmMWQxZTNkNjhiNjdkNjQ1N2Y3YzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNj
YXBlUGx1Z2luTW9kdWxlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMv
TmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tCkBAIC0zNCw5ICszNCw4IEBA
CiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgogI2ltcG9ydCA8d3RmL3NwaS9jZi9DRkJ1bmRs
ZVNQSS5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogbmFtZXNwYWNlIFdlYktpdCB7
Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogc3RhdGljIGJvb2wgZ2V0UGx1Z2luQXJjaGl0
ZWN0dXJlKENGQnVuZGxlUmVmIGJ1bmRsZSwgUGx1Z2luTW9kdWxlSW5mbyYgcGx1Z2luKQogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1
Z2luSW5mb3JtYXRpb25NYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNj
YXBlL21hYy9QbHVnaW5JbmZvcm1hdGlvbk1hYy5tbQppbmRleCA1ZWM4NDI0OTU5Y2JjMTkyODg2
ZmE3NWFiZjAzZjNkODg1YmNiMWQ5Li4zMjU4NGQ0MTZiZTBmZjI1ZTllOTFkZGY0Mjg3MGUzMzk0
ZjQ5MzY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBl
L21hYy9QbHVnaW5JbmZvcm1hdGlvbk1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Q
bHVnaW5zL05ldHNjYXBlL21hYy9QbHVnaW5JbmZvcm1hdGlvbk1hYy5tbQpAQCAtMzQsOSArMzQs
OCBAQAogI2ltcG9ydCAiU3RyaW5nVXRpbGl0aWVzLmgiCiAjaW1wb3J0IDxXZWJDb3JlL1BsdWdp
bkJsYWNrbGlzdC5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogbmFtZXNwYWNlIFdl
YktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogdm9pZCBnZXRQbGF0Zm9ybVBsdWdp
bk1vZHVsZUluZm9ybWF0aW9uKGNvbnN0IFBsdWdpbk1vZHVsZUluZm8mIHBsdWdpbiwgQVBJOjpE
aWN0aW9uYXJ5OjpNYXBUeXBlJiBtYXApCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggZDhh
M2M5MGRmZmUzMjIzMjJkNzYzZWUyMWU3Y2JhNDUwZmU4NWZjZi4uNGI4ZDQ4MDZiNDRmMjIwNDY1
ODU3N2ViN2E5Njc4Y2I4ZTM0NzliZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2Vz
Q29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dApAQCAtMjk4LDkg
KzI5OCw5IEBAIFVJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbSBAbm8tdW5pZnkKIAogVUlQcm9j
ZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0KIAot
VUlQcm9jZXNzL0FwcGxlUGF5L2lvcy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbQor
VUlQcm9jZXNzL0FwcGxlUGF5L2lvcy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbSBA
bm8tdW5pZnkKIAotVUlQcm9jZXNzL0FwcGxlUGF5L21hYy9XZWJQYXltZW50Q29vcmRpbmF0b3JQ
cm94eU1hYy5tbQorVUlQcm9jZXNzL0FwcGxlUGF5L21hYy9XZWJQYXltZW50Q29vcmRpbmF0b3JQ
cm94eU1hYy5tbSBAbm8tdW5pZnkKIAogVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL2NvY29hL0F1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHlDb2NvYS5tbQogVUlQcm9jZXNzL0F1dGhlbnRpY2F0
aW9uL2NvY29hL1NlY0tleVByb3h5U3RvcmUubW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9BUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmgKaW5kZXggYmZjNWVl
MzM4MjIwZDkxNTZmY2NmMDBjMWU3NmQwYmJlZTkwNDE5MC4uMzc5Yzg4NTdiZTk0YjYxOTU1NWVk
ZmZlYzRjM2E5YTZlMTc3OTQ4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmgKQEAgLTUxLDcgKzUxLDcgQEAg
cHVibGljOgogCiAgICAgdmlydHVhbCB+QXV0b21hdGlvblNlc3Npb25DbGllbnQoKSB7IH0KIAot
ICAgIHZpcnR1YWwgU3RyaW5nIHNlc3Npb25JZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gU3Ry
aW5nKCk7IH0KKyAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIHNlc3Npb25JZGVudGlmaWVyKCkgY29u
c3QgeyByZXR1cm4gV1RGOjpTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWREaXNjb25u
ZWN0RnJvbVJlbW90ZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJikgeyB9CiAgICAgdmly
dHVhbCB2b2lkIHJlcXVlc3ROZXdQYWdlV2l0aE9wdGlvbnMoV2ViS2l0OjpXZWJBdXRvbWF0aW9u
U2Vzc2lvbiYsIEF1dG9tYXRpb25TZXNzaW9uQnJvd3NpbmdDb250ZXh0T3B0aW9ucywgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChXZWJLaXQ6OldlYlBhZ2VQcm94eSopPiYmIGNvbXBsZXRpb25IYW5k
bGVyKSB7IGNvbXBsZXRpb25IYW5kbGVyKG51bGxwdHIpOyB9CiAgICAgdmlydHVhbCB2b2lkIHJl
cXVlc3RNYXhpbWl6ZVdpbmRvd09mUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwg
V2ViS2l0OjpXZWJQYWdlUHJveHkmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxl
dGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIoKTsgfQpAQCAtNjEsOCArNjEsOCBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzU2hvd2luZ0phdmFTY3JpcHREaWFsb2dPblBhZ2Uo
V2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyBy
ZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlzbWlzc0N1cnJlbnRKYXZhU2NyaXB0
RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBh
Z2VQcm94eSYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBhY2NlcHRDdXJyZW50SmF2YVNjcmlwdERp
YWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdl
UHJveHkmKSB7IH0KLSAgICB2aXJ0dWFsIFN0cmluZyBtZXNzYWdlT2ZDdXJyZW50SmF2YVNjcmlw
dERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQ
YWdlUHJveHkmKSB7IHJldHVybiBTdHJpbmcoKTsgfQotICAgIHZpcnR1YWwgdm9pZCBzZXRVc2Vy
SW5wdXRGb3JDdXJyZW50SmF2YVNjcmlwdFByb21wdE9uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRp
b25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBjb25zdCBTdHJpbmcmKSB7IH0KKyAg
ICB2aXJ0dWFsIFdURjo6U3RyaW5nIG1lc3NhZ2VPZkN1cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25Q
YWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYp
IHsgcmV0dXJuIFdURjo6U3RyaW5nKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgc2V0VXNlcklucHV0
Rm9yQ3VycmVudEphdmFTY3JpcHRQcm9tcHRPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vz
c2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JiwgY29uc3QgV1RGOjpTdHJpbmcmKSB7IH0KICAg
ICB2aXJ0dWFsIHN0ZDo6b3B0aW9uYWw8SmF2YVNjcmlwdERpYWxvZ1R5cGU+IHR5cGVPZkN1cnJl
bnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBX
ZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgcmV0dXJuIHN0ZDo6bnVsbG9wdDsgfQogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9j
b2xNYW5hZ2VyQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tCmluZGV4IDExYmEzNzI2NTQ4M2ZmZTdmZjI0
NjUwOTQwZDhmMzNhNTJjMGMwNGEuLjE5YTU5YjQyY2FiN2I1NDdlZDk0NDYwZTcyZmMwMzk2Y2Zl
NzkyODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1
c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW0KQEAgLTMyLDIzICsz
MiwyMCBAQAogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbXBvcnQgPFdl
YkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLXVz
aW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KIEBpbnRlcmZhY2UgV0tDdXN0b21Qcm90b2NvbExvYWRl
ciA6IE5TT2JqZWN0IDxOU1VSTENvbm5lY3Rpb25EZWxlZ2F0ZT4gewogQHByaXZhdGUKLSAgICBM
ZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSogX2N1c3RvbVByb3RvY29sTWFuYWdlclBy
b3h5OworICAgIFdlYktpdDo6TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqIF9jdXN0
b21Qcm90b2NvbE1hbmFnZXJQcm94eTsKICAgICB1aW50NjRfdCBfY3VzdG9tUHJvdG9jb2xJRDsK
ICAgICBOU1VSTENhY2hlU3RvcmFnZVBvbGljeSBfc3RvcmFnZVBvbGljeTsKICAgICBOU1VSTENv
bm5lY3Rpb24gKl91cmxDb25uZWN0aW9uOwogfQotLSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Q
cm90b2NvbE1hbmFnZXJQcm94eTooTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqKWN1
c3RvbVByb3RvY29sTWFuYWdlclByb3h5IGN1c3RvbVByb3RvY29sSUQ6KHVpbnQ2NF90KWN1c3Rv
bVByb3RvY29sSUQgcmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdDsKKy0gKGlkKWluaXRX
aXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6KFdlYktpdDo6TGVnYWN5Q3VzdG9t
UHJvdG9jb2xNYW5hZ2VyUHJveHkqKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5IGN1c3RvbVBy
b3RvY29sSUQ6KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVzdDooTlNVUkxSZXF1ZXN0
ICopcmVxdWVzdDsKIC0gKHZvaWQpY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHlEZXN0cm95ZWQ7
CiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXS0N1c3RvbVByb3RvY29sTG9hZGVyCiAKLS0gKGlk
KWluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6KExlZ2FjeUN1c3RvbVBy
b3RvY29sTWFuYWdlclByb3h5KiljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSBjdXN0b21Qcm90
b2NvbElEOih1aW50NjRfdCljdXN0b21Qcm90b2NvbElEIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAq
KXJlcXVlc3QKKy0gKGlkKWluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6
KFdlYktpdDo6TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqKWN1c3RvbVByb3RvY29s
TWFuYWdlclByb3h5IGN1c3RvbVByb3RvY29sSUQ6KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQg
cmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdAogewogICAgIHNlbGYgPSBbc3VwZXIgaW5p
dF07CiAgICAgaWYgKCFzZWxmKQpAQCAtODUsNyArODIsNyBAQCAtICh2b2lkKWN1c3RvbVByb3Rv
Y29sTWFuYWdlclByb3h5RGVzdHJveWVkCiAKIC0gKHZvaWQpY29ubmVjdGlvbjooTlNVUkxDb25u
ZWN0aW9uICopY29ubmVjdGlvbiBkaWRGYWlsV2l0aEVycm9yOihOU0Vycm9yICopZXJyb3IKIHsK
LSAgICBSZXNvdXJjZUVycm9yIGNvcmVFcnJvcihlcnJvcik7CisgICAgV2ViQ29yZTo6UmVzb3Vy
Y2VFcnJvciBjb3JlRXJyb3IoZXJyb3IpOwogICAgIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94
eS0+ZGlkRmFpbFdpdGhFcnJvcihfY3VzdG9tUHJvdG9jb2xJRCwgY29yZUVycm9yKTsKICAgICBf
Y3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHktPnN0b3BMb2FkaW5nKF9jdXN0b21Qcm90b2NvbElE
KTsKIH0KQEAgLTk5LDcgKzk2LDcgQEAgLSAoTlNDYWNoZWRVUkxSZXNwb25zZSAqKWNvbm5lY3Rp
b246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gd2lsbENhY2hlUmVzcG8KIAogLSAodm9p
ZCljb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIGRpZFJlY2VpdmVSZXNw
b25zZTooTlNVUkxSZXNwb25zZSAqKXJlc3BvbnNlCiB7Ci0gICAgUmVzb3VyY2VSZXNwb25zZSBj
b3JlUmVzcG9uc2UocmVzcG9uc2UpOworICAgIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgY29y
ZVJlc3BvbnNlKHJlc3BvbnNlKTsKICAgICBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHktPmRp
ZFJlY2VpdmVSZXNwb25zZShfY3VzdG9tUHJvdG9jb2xJRCwgY29yZVJlc3BvbnNlLCBfc3RvcmFn
ZVBvbGljeSk7CiB9CiAKQEAgLTEyNyw2ICsxMjQsNyBAQCAtICh2b2lkKWNvbm5lY3Rpb25EaWRG
aW5pc2hMb2FkaW5nOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uCiBAZW5kCiAKIG5hbWVz
cGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIHZvaWQgTGVnYWN5Q3Vz
dG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50OjpzdGFydExvYWRpbmcoTGVnYWN5Q3VzdG9tUHJvdG9j
b2xNYW5hZ2VyUHJveHkmIG1hbmFnZXIsIHVpbnQ2NF90IGN1c3RvbVByb3RvY29sSUQsIGNvbnN0
IFJlc291cmNlUmVxdWVzdCYgY29yZVJlcXVlc3QpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKaW5kZXggYzJiOTFh
NjM5NzNlNjMxMjBhYWU1MjhmODk3NTM4NWY3YjZkYmY2Mi4uZWRlZDljN2QyYTRlNThlM2QwNThk
ODMyNjgzMTA5ODE4MmFmNDQ3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcApAQCAtNDgsNyArNDgsNyBAQCBzdGF0
aWMgY29uc3QgU2Vjb25kcyBzbmFwc2hvdHRpbmdNaW5pbXVtTGlmZXRpbWUgeyAzMF9zIH07CiBz
dGF0aWMgY29uc3QgU2Vjb25kcyBzaHV0ZG93blRpbWVvdXQgeyAxX21pbiB9Owogc3RhdGljIGNv
bnN0IFNlY29uZHMgc25hcHNob3R0aW5nU2h1dGRvd25UaW1lb3V0IHsgMTVfcyB9OwogCi1zdGF0
aWMgdWludDY0X3QgZ2VuZXJhdGVDYWxsYmFja0lEKCkKK3N0YXRpYyB1aW50NjRfdCBnZW5lcmF0
ZVBsdWdpblByb2Nlc3NDYWxsYmFja0lEKCkKIHsKICAgICBzdGF0aWMgdWludDY0X3QgY2FsbGJh
Y2tJRDsKIApAQCAtMTE0LDcgKzExNCw3IEBAIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpnZXRQ
bHVnaW5Qcm9jZXNzQ29ubmVjdGlvbihNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHCiAKIHZv
aWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKENvbXBsZXRpb25IYW5kbGVy
PHZvaWQgKFZlY3RvcjxTdHJpbmc+KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICB1aW50
NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7CisgICAgdWludDY0X3QgY2Fs
bGJhY2tJRCA9IGdlbmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQoKTsKICAgICBtX3BlbmRp
bmdGZXRjaFdlYnNpdGVEYXRhQ2FsbGJhY2tzLnNldChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKSk7CiAKICAgICBpZiAoc3RhdGUoKSA9PSBTdGF0ZTo6TGF1bmNoaW5nKSB7
CkBAIC0xMjcsNyArMTI3LDcgQEAgdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0
ZURhdGEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAoVmVjdG9yPFN0cmluZz4KIAogdm9pZCBQbHVn
aW5Qcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhKFdhbGxUaW1lIG1vZGlmaWVkU2luY2Us
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQgKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAg
dWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIHVpbnQ2NF90
IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVBsdWdpblByb2Nlc3NDYWxsYmFja0lEKCk7CiAgICAgbV9w
ZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFDYWxsYmFja3Muc2V0KGNhbGxiYWNrSUQsIFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIGlmIChzdGF0ZSgpID09IFN0YXRlOjpMYXVuY2hp
bmcpIHsKQEAgLTE0MCw3ICsxNDAsNyBAQCB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRl
V2Vic2l0ZURhdGEoV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSwgQ29tcGxldGlvbkhhbgogCiB2b2lk
IFBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JIb3N0TmFtZXMoY29uc3Qg
VmVjdG9yPFN0cmluZz4mIGhvc3ROYW1lcywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAoKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVD
YWxsYmFja0lEKCk7CisgICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlUGx1Z2luUHJv
Y2Vzc0NhbGxiYWNrSUQoKTsKICAgICBtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUZvckhvc3RO
YW1lc0NhbGxiYWNrcy5zZXQoY2FsbGJhY2tJRCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikp
OwogCiAgICAgaWYgKHN0YXRlKCkgPT0gU3RhdGU6OkxhdW5jaGluZykgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVt
b3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1t
CmluZGV4IDRhMmUyOWI1NjA5NjFhNTliMWNiNTUxOTc4MzkxNDljMzEwNjg0YzIuLjcyYTg4MmYw
NTgxZDVlYWM5MWZjMTRiYzA1YTAyZjE0NGYxNmMxMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGVEZWxlZ2F0ZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXll
clRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW0KQEAgLTQz
LDggKzQzLDYgQEAKICNpbXBvcnQgPFdlYkNvcmUvU2Nyb2xsU25hcE9mZnNldHNJbmZvLmg+CiAj
ZW5kaWYKIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIEBpbXBsZW1lbnRhdGlvbiBXS1Nj
cm9sbGluZ05vZGVTY3JvbGxWaWV3RGVsZWdhdGUKIAogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRo
U2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZTooV2ViS2l0OjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5n
Tm9kZURlbGVnYXRlSU9TKilkZWxlZ2F0ZQpAQCAtODAsNyArNzgsNyBAQCAtICh2b2lkKXNjcm9s
bFZpZXdXaWxsRW5kRHJhZ2dpbmc6KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcgd2l0aFZlbG9j
aXR5OihDR1BvaQogCiAgICAgaWYgKCFfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xs
aW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0cygpLmlzRW1wdHkoKSkgewogICAgICAgICB1
bnNpZ25lZCBpbmRleDsKLSAgICAgICAgZmxvYXQgcG90ZW50aWFsU25hcFBvc2l0aW9uID0gY2xv
c2VzdFNuYXBPZmZzZXQoX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUo
KS5ob3Jpem9udGFsU25hcE9mZnNldHMoKSwgX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNj
cm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNldFJhbmdlcygpLCBob3Jpem9udGFsVGFy
Z2V0LCB2ZWxvY2l0eS54LCBpbmRleCk7CisgICAgICAgIGZsb2F0IHBvdGVudGlhbFNuYXBQb3Np
dGlvbiA9IFdlYkNvcmU6OmNsb3Nlc3RTbmFwT2Zmc2V0KF9zY3JvbGxpbmdUcmVlTm9kZURlbGVn
YXRlLT5zY3JvbGxpbmdOb2RlKCkuaG9yaXpvbnRhbFNuYXBPZmZzZXRzKCksIF9zY3JvbGxpbmdU
cmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuaG9yaXpvbnRhbFNuYXBPZmZzZXRSYW5n
ZXMoKSwgaG9yaXpvbnRhbFRhcmdldCwgdmVsb2NpdHkueCwgaW5kZXgpOwogICAgICAgICBfc2Ny
b2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnNldEN1cnJlbnRIb3Jpem9u
dGFsU25hcFBvaW50SW5kZXgoaW5kZXgpOwogICAgICAgICBpZiAoaG9yaXpvbnRhbFRhcmdldCA+
PSAwICYmIGhvcml6b250YWxUYXJnZXQgPD0gc2Nyb2xsVmlldy5jb250ZW50U2l6ZS53aWR0aCkK
ICAgICAgICAgICAgIHRhcmdldENvbnRlbnRPZmZzZXQtPnggPSBwb3RlbnRpYWxTbmFwUG9zaXRp
b247CkBAIC04OCw3ICs4Niw3IEBAIC0gKHZvaWQpc2Nyb2xsVmlld1dpbGxFbmREcmFnZ2luZzoo
VUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldyB3aXRoVmVsb2NpdHk6KENHUG9pCiAKICAgICBpZiAo
IV9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkudmVydGljYWxTbmFw
T2Zmc2V0cygpLmlzRW1wdHkoKSkgewogICAgICAgICB1bnNpZ25lZCBpbmRleDsKLSAgICAgICAg
ZmxvYXQgcG90ZW50aWFsU25hcFBvc2l0aW9uID0gY2xvc2VzdFNuYXBPZmZzZXQoX3Njcm9sbGlu
Z1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52ZXJ0aWNhbFNuYXBPZmZzZXRzKCks
IF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkudmVydGljYWxTbmFw
T2Zmc2V0UmFuZ2VzKCksIHZlcnRpY2FsVGFyZ2V0LCB2ZWxvY2l0eS55LCBpbmRleCk7CisgICAg
ICAgIGZsb2F0IHBvdGVudGlhbFNuYXBQb3NpdGlvbiA9IFdlYkNvcmU6OmNsb3Nlc3RTbmFwT2Zm
c2V0KF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkudmVydGljYWxT
bmFwT2Zmc2V0cygpLCBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgp
LnZlcnRpY2FsU25hcE9mZnNldFJhbmdlcygpLCB2ZXJ0aWNhbFRhcmdldCwgdmVsb2NpdHkueSwg
aW5kZXgpOwogICAgICAgICBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9k
ZSgpLnNldEN1cnJlbnRWZXJ0aWNhbFNuYXBQb2ludEluZGV4KGluZGV4KTsKICAgICAgICAgaWYg
KHZlcnRpY2FsVGFyZ2V0ID49IDAgJiYgdmVydGljYWxUYXJnZXQgPD0gc2Nyb2xsVmlldy5jb250
ZW50U2l6ZS5oZWlnaHQpCiAgICAgICAgICAgICB0YXJnZXRDb250ZW50T2Zmc2V0LT55ID0gcG90
ZW50aWFsU25hcFBvc2l0aW9uOwpAQCAtMTIyLDYgKzEyMCw3IEBAIC0gKHZvaWQpc2Nyb2xsVmll
d0RpZEVuZERlY2VsZXJhdGluZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldwogQGVuZAogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBTY3JvbGxpbmdU
cmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURl
bGVnYXRlSU9TKFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlJiBzY3JvbGxpbmdOb2RlKQogICAg
IDogU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZShzY3JvbGxpbmdOb2RlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1By
b3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQ
cm94eS5jcHAKaW5kZXggZWZhOGQxM2NiYmQ1ZmZhODA4YjVmMGVkYmY0YTUxZGM5ZGY4NTdlNy4u
M2ExMzFiNGQ2MGQ4YWEwN2U4N2ZiNWU0YzYxNGYzMGE3ZDQyYjU3NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1Byb3h5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJveHkuY3Bw
CkBAIC0zNyw3ICszNyw3IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCi1zdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVDYWxsYmFja0lEKCkKK3N0YXRpYyB1
aW50NjRfdCBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpCiB7CiAgICAgc3RhdGlj
IHVpbnQ2NF90IGNhbGxiYWNrSUQ7CiAKQEAgLTEwNSw3ICsxMDUsNyBAQCB2b2lkIFN0b3JhZ2VQ
cm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBP
cHRpb25TZXQ8VwogewogICAgIEFTU0VSVChjYW5TZW5kTWVzc2FnZSgpKTsKIAotICAgIHVpbnQ2
NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1aW50NjRfdCBjYWxs
YmFja0lEID0gZ2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQoKTsKICAgICBtX3BlbmRp
bmdGZXRjaFdlYnNpdGVEYXRhQ2FsbGJhY2tzLmFkZChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKSk7CiAKICAgICBzZW5kKE1lc3NhZ2VzOjpTdG9yYWdlUHJvY2Vzczo6RmV0
Y2hXZWJzaXRlRGF0YShzZXNzaW9uSUQsIGRhdGFUeXBlcywgY2FsbGJhY2tJRCksIDApOwpAQCAt
MTEzLDcgKzExMyw3IEBAIHZvaWQgU3RvcmFnZVByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0
YShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXCiAKIHZvaWQgU3RvcmFnZVBy
b2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBP
cHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiBkYXRhVHlwZXMsIFdhbGxUaW1lIG1vZGlmaWVkU2lu
Y2UsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQgKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0g
ICAgYXV0byBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7CisgICAgYXV0byBjYWxs
YmFja0lEID0gZ2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQoKTsKIAogICAgIG1fcGVu
ZGluZ0RlbGV0ZVdlYnNpdGVEYXRhQ2FsbGJhY2tzLmFkZChjYWxsYmFja0lELCBXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKSk7CiAgICAgc2VuZChNZXNzYWdlczo6U3RvcmFnZVByb2Nlc3M6OkRl
bGV0ZVdlYnNpdGVEYXRhKHNlc3Npb25JRCwgZGF0YVR5cGVzLCBtb2RpZmllZFNpbmNlLCBjYWxs
YmFja0lEKSwgMCk7CkBAIC0xMjMsNyArMTIzLDcgQEAgdm9pZCBTdG9yYWdlUHJvY2Vzc1Byb3h5
OjpkZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELAog
ewogICAgIEFTU0VSVChjYW5TZW5kTWVzc2FnZSgpKTsKIAotICAgIHVpbnQ2NF90IGNhbGxiYWNr
SUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2Vu
ZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQoKTsKICAgICBtX3BlbmRpbmdEZWxldGVXZWJz
aXRlRGF0YUZvck9yaWdpbnNDYWxsYmFja3MuYWRkKGNhbGxiYWNrSUQsIFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpKTsKIAogICAgIHNlbmQoTWVzc2FnZXM6OlN0b3JhZ2VQcm9jZXNzOjpEZWxl
dGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoc2Vzc2lvbklELCBkYXRhVHlwZXMsIG9yaWdpbnMsIGNh
bGxiYWNrSUQpLCAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXgg
MjVmZTRhMmU4NGNkODQ5ZDNkOWIwZmExY2Q5Mzg5YTczZGMxY2VhNi4uNjVjMDE5ZmQ0ZWUxNWEy
MjA5NzQ1NjZiYTYyODdjYzQyNDJlNTgyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKQEAgLTYxLDcgKzYxLDYgQEAKICNpbmNsdWRlICJXZWJQYWdlSW5qZWN0ZWRCdW5k
bGVDbGllbnQuaCIKICNpbmNsdWRlICJXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5oIgogI2lu
Y2x1ZGUgIldlYlByZWZlcmVuY2VzLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9BbHRlcm5hdGl2ZVRl
eHRDbGllbnQuaD4gLy8gRklYTUU6IE5lZWRlZCBieSBXZWJQYWdlUHJveHlNZXNzYWdlcy5oIGZv
ciBESUNUQVRJT05fQUxURVJOQVRJVkVTLgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eU1lc3NhZ2Vz
LmgiCiAjaW5jbHVkZSAiV2ViUG9wdXBNZW51UHJveHkuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNz
TGlmZXRpbWVUcmFja2VyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCBjNzcxNTU5MGVkNzFjY2RkMjNkZjI4NWEzYWE3YzM2ZTU0M2Ri
N2Y2Li5iYzdjMjQzZjQ3OTZhY2MyZWNlNGM0ZmVjYzQ0OTI5MjU4Y2RiNDU3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTc1Niw2ICs3
NTYsOCBAQAogCQkyRDkyQTc5NTIxMkI2QUQ0MDBGNDkzRkQgLyogUGx1Z2luUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQTJEOTBEMTEyODFDOTY2MDAxRUI5NjIgLyogUGx1Z2luUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5jcHAgKi87IH07CiAJCTJEOTJBNzk2MjEyQjZBREEwMEY0OTNGRCAvKiBOZXRz
Y2FwZVBsdWdpbk1vZHVsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQTRBOUM1MzEyQjgxNkNGMDA4RkU5ODQgLyogTmV0c2NhcGVQbHVnaW5Nb2R1
bGUuY3BwICovOyB9OwogCQkyRDkyQTc5NzIxMkI2QURBMDBGNDkzRkQgLyogUGx1Z2luSW5mb3Jt
YXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
N0MzRjhDOEUxNzNBRjUyRDAwN0I3RjM5IC8qIFBsdWdpbkluZm9ybWF0aW9uLmNwcCAqLzsgfTsK
KwkJMkQ5MkE3OTgyMTM0OEQ4NTAwRjQ5M0ZEIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5
TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFC
MUY3N0QxRDFCMzBBOTAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWFjLm1t
ICovOyB9OworCQkyRDkyQTc5RjIxMzRCMDdFMDBGNDkzRkQgLyogV2ViUGF5bWVudENvb3JkaW5h
dG9yUHJveHlJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQUIxRjc3QjFEMUIzMEE5MDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJv
eHlJT1MubW0gKi87IH07CiAJCTJEOTMxMTY5MjEyRjYxQjIwMDA0NEJGRSAvKiBXS0NvbnRlbnRW
aWV3Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZD
QjRFM0QxOEJCRTA0NDAwMEZDRkM5IC8qIFdLQ29udGVudFZpZXcubW0gKi87IH07CiAJCTJEOTMx
MTZBMjEyRjYxQjUwMDA0NEJGRSAvKiBXS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNCNEU2QjE4QkJGMjZB
MDAwRkNGQzkgLyogV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tICovOyB9OwogCQkyRDlFQTMw
RDFBOTZDQjU5MDAyRDI4MDcgLyogV0tQYWdlSW5qZWN0ZWRCdW5kbGVDbGllbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUVBMzBDMUE5NkNCNTkw
MDJEMjgwNyAvKiBXS1BhZ2VJbmplY3RlZEJ1bmRsZUNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMTI0MSw2ICsxMTI0Myw4IEBACiAJ
CQkJN0NFOUNFMTAxRkEwNzY3QTAwMDE3N0RFIC8qIFdlYlBhZ2VVcGRhdGVQcmVmZXJlbmNlcy5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzQ2OTRDOTFBNEI0RUExMDBBRDU4NDUgLyogV2ViUGFz
dGVib2FyZFByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBQjFG
Nzk2MUQxQjM2MTMwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JNZXNzYWdlUmVjZWl2
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5MkE3OUYyMTM0QjA3RTAwRjQ5M0ZEIC8qIFdl
YlBheW1lbnRDb29yZGluYXRvclByb3h5SU9TLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5MkE3
OTgyMTM0OEQ4NTAwRjQ5M0ZEIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWFjLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMUFCMUY3OTgxRDFCMzYxMzAwN0M5QkQxIC8qIFdlYlBheW1lbnRD
b29yZGluYXRvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJE
OTJBNzhEMjEyQjZBQjEwMEY0OTNGRCAvKiBXZWJQbGF0Zm9ybVRvdWNoUG9pbnQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMkQ5MTM0NEUyMTJDRjlGMDAwMTI4QUZEIC8qIFdlYlBsdWdpbkluZm9Q
cm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tCmluZGV4IDUzMDdlMjZhNzYzN2U4YTY5YjA0NWFi
YjkyODc5ZjNmOGM2NTg2ZjIuLjRjYWE2Y2MwZjYwNDUwYzAzYjIyYTI4NGRkMTNhZjI1ZWZkNmUz
ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQ
bHVnaW4ubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBs
dWdpbi5tbQpAQCAtODgsOCArODgsNiBAQAogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNNZW51U1BJ
Lmg+CiAjaW1wb3J0IDx3dGYvVVVJRC5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQog
Ly8gU2V0IG92ZXJmbG93OiBoaWRkZW4gb24gdGhlIGFubm90YXRpb24gY29udGFpbmVyIHNvIDxp
bnB1dD4gZWxlbWVudHMgc2Nyb2xsZWQgb3V0IG9mIHZpZXcgZG9uJ3Qgc2hvdwogLy8gc2Nyb2xs
YmFycyBvbiB0aGUgYm9keS4gV2UgY2FuJ3QgYWRkIGFubm90YXRpb25zIGRpcmVjdGx5IHRvIHRo
ZSBib2R5LCBiZWNhdXNlIG92ZXJmbG93OiBoaWRkZW4gb24gdGhlIGJvZHkKIC8vIHdpbGwgYnJl
YWsgcnViYmVyLWJhbmRpbmcuCkBAIC0yOTAsNyArMjg4LDcgQEAgLSAoTlNBcnJheSAqKWFjY2Vz
c2liaWxpdHlBY3Rpb25OYW1lcwogLSAodm9pZClhY2Nlc3NpYmlsaXR5UGVyZm9ybUFjdGlvbjoo
TlNTdHJpbmcgKilhY3Rpb24KIHsKICAgICBpZiAoW2FjdGlvbiBpc0VxdWFsVG9TdHJpbmc6TlNB
Y2Nlc3NpYmlsaXR5U2hvd01lbnVBY3Rpb25dKQotICAgICAgICBfcGRmUGx1Z2luLT5zaG93Q29u
dGV4dE1lbnVBdFBvaW50KEludFJlY3QoSW50UG9pbnQoKSwgX3BkZlBsdWdpbi0+c2l6ZSgpKS5j
ZW50ZXIoKSk7CisgICAgICAgIF9wZGZQbHVnaW4tPnNob3dDb250ZXh0TWVudUF0UG9pbnQoV2Vi
Q29yZTo6SW50UmVjdChXZWJDb3JlOjpJbnRQb2ludCgpLCBfcGRmUGx1Z2luLT5zaXplKCkpLmNl
bnRlcigpKTsKIH0KIAogLSAoQk9PTClhY2Nlc3NpYmlsaXR5SXNBdHRyaWJ1dGVTZXR0YWJsZToo
TlNTdHJpbmcgKilhdHRyaWJ1dGUKQEAgLTMxNiw4ICszMTQsOCBAQCAtIChpZClhY2Nlc3NpYmls
aXR5Rm9jdXNlZFVJRWxlbWVudAogewogI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTAxMzAwCiAgICAgaWYgKFdlYktpdDo6UERGUGx1Z2luQW5ub3RhdGlvbiogYWN0aXZl
QW5ub3RhdGlvbiA9IF9wZGZQbHVnaW4tPmFjdGl2ZUFubm90YXRpb24oKSkgewotICAgICAgICBp
ZiAoQVhPYmplY3RDYWNoZSogZXhpc3RpbmdDYWNoZSA9IF9wZGZQbHVnaW4tPmF4T2JqZWN0Q2Fj
aGUoKSkgewotICAgICAgICAgICAgaWYgKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCA9IGV4
aXN0aW5nQ2FjaGUtPmdldE9yQ3JlYXRlKGFjdGl2ZUFubm90YXRpb24tPmVsZW1lbnQoKSkpCisg
ICAgICAgIGlmIChXZWJDb3JlOjpBWE9iamVjdENhY2hlKiBleGlzdGluZ0NhY2hlID0gX3BkZlBs
dWdpbi0+YXhPYmplY3RDYWNoZSgpKSB7CisgICAgICAgICAgICBpZiAoV2ViQ29yZTo6QWNjZXNz
aWJpbGl0eU9iamVjdCogb2JqZWN0ID0gZXhpc3RpbmdDYWNoZS0+Z2V0T3JDcmVhdGUoYWN0aXZl
QW5ub3RhdGlvbi0+ZWxlbWVudCgpKSkKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCiAj
cHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9u
cyIKICAgICAgICAgICAgICAgICByZXR1cm4gW29iamVjdC0+d3JhcHBlcigpIGFjY2Vzc2liaWxp
dHlBdHRyaWJ1dGVWYWx1ZTpAIl9BWEFzc29jaWF0ZWRQbHVnaW5QYXJlbnQiXTsKQEAgLTMzOCwx
MSArMzM2LDExIEBAIC0gKGlkKWFjY2Vzc2liaWxpdHlBc3NvY2lhdGVkQ29udHJvbEZvckFubm90
YXRpb246KFBERkFubm90YXRpb24gKilhbm5vdGF0aW9uCiAgICAgaWYgKCFhY3RpdmVBbm5vdGF0
aW9uIHx8ICFbYWN0aXZlQW5ub3RhdGlvbi0+YW5ub3RhdGlvbigpIGlzRXF1YWw6YW5ub3RhdGlv
bl0pCiAgICAgICAgIHJldHVybiBuaWw7CiAgICAgCi0gICAgQVhPYmplY3RDYWNoZSogY2FjaGUg
PSBfcGRmUGx1Z2luLT5heE9iamVjdENhY2hlKCk7CisgICAgV2ViQ29yZTo6QVhPYmplY3RDYWNo
ZSogY2FjaGUgPSBfcGRmUGx1Z2luLT5heE9iamVjdENhY2hlKCk7CiAgICAgaWYgKCFjYWNoZSkK
ICAgICAgICAgcmV0dXJuIG5pbDsKICAgICAKLSAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmpl
Y3QgPSBjYWNoZS0+Z2V0T3JDcmVhdGUoYWN0aXZlQW5ub3RhdGlvbi0+ZWxlbWVudCgpKTsKKyAg
ICBXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QgPSBjYWNoZS0+Z2V0T3JDcmVh
dGUoYWN0aXZlQW5ub3RhdGlvbi0+ZWxlbWVudCgpKTsKICAgICBpZiAoIW9iamVjdCkKICAgICAg
ICAgcmV0dXJuIG5pbDsKIApAQCAtMzUzLDcgKzM1MSw3IEBAIC0gKGlkKWFjY2Vzc2liaWxpdHlB
c3NvY2lhdGVkQ29udHJvbEZvckFubm90YXRpb246KFBERkFubm90YXRpb24gKilhbm5vdGF0aW9u
CiAtIChpZClhY2Nlc3NpYmlsaXR5SGl0VGVzdDooTlNQb2ludClwb2ludAogewogI2lmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwCi0gICAgcG9pbnQgPSBfcGRmUGx1
Z2luLT5jb252ZXJ0RnJvbVJvb3RWaWV3VG9QREZWaWV3KEludFBvaW50KHBvaW50KSk7CisgICAg
cG9pbnQgPSBfcGRmUGx1Z2luLT5jb252ZXJ0RnJvbVJvb3RWaWV3VG9QREZWaWV3KFdlYkNvcmU6
OkludFBvaW50KHBvaW50KSk7CiAgICAgcmV0dXJuIFtfcGRmTGF5ZXJDb250cm9sbGVyIGFjY2Vz
c2liaWxpdHlIaXRUZXN0OnBvaW50XTsKICNlbHNlCiAgICAgcmV0dXJuIHNlbGY7CkBAIC00MjEs
NyArNDE5LDcgQEAgLSAoaWQpaW5pdFdpdGhQREZQbHVnaW46KFdlYktpdDo6UERGUGx1Z2luICop
cGx1Z2luCiAKIC0gKHZvaWQpdXBkYXRlU2Nyb2xsUG9zaXRpb246KENHUG9pbnQpbmV3UG9zaXRp
b24KIHsKLSAgICBfcGRmUGx1Z2luLT5ub3RpZnlTY3JvbGxQb3NpdGlvbkNoYW5nZWQoSW50UG9p
bnQobmV3UG9zaXRpb24pKTsKKyAgICBfcGRmUGx1Z2luLT5ub3RpZnlTY3JvbGxQb3NpdGlvbkNo
YW5nZWQoV2ViQ29yZTo6SW50UG9pbnQobmV3UG9zaXRpb24pKTsKIH0KIAogLSAodm9pZCl3cml0
ZUl0ZW1zVG9QYXN0ZWJvYXJkOihOU0FycmF5ICopaXRlbXMgd2l0aFR5cGVzOihOU0FycmF5ICop
dHlwZXMKQEAgLTUwMCw2ICs0OTgsMTAgQEAgLSAoTlNSZWN0KWNvbnZlcnRSZWN0OihOU1JlY3Qp
cmVjdCBmcm9tUGFnZTooUERGUGFnZSAqKSBwYWdlIGZvclNjYWxlRmFjdG9yOihDR0YKIC0gKFBE
RlBhZ2UgKilwYWdlTmVhcmVzdFBvaW50OihOU1BvaW50KXBvaW50IGN1cnJlbnRQYWdlOihQREZQ
YWdlICopY3VycmVudFBhZ2U7CiBAZW5kCiAKK25hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7Cit1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOworCiBzdGF0aWMgY29u
c3QgY2hhciogcG9zdFNjcmlwdE1JTUVUeXBlID0gImFwcGxpY2F0aW9uL3Bvc3RzY3JpcHQiOwog
Y29uc3QgdWludDY0X3QgcGRmRG9jdW1lbnRSZXF1ZXN0SUQgPSAxOyAvLyBQbHVnaW5Db250cm9s
bGVyIHN1cHBvcnRzIGxvYWRpbmcgbXVsdGlwbGUgc3RyZWFtcywgYnV0IHdlIG9ubHkgbmVlZCBv
bmUgZm9yIFBERi4KIApAQCAtNTk2LDkgKzU5OCw2IEBAIHN0YXRpYyB2b2lkIGdldEFsbFNjcmlw
dHNJblBERkRvY3VtZW50KENHUERGRG9jdW1lbnRSZWYgcGRmRG9jdW1lbnQsIFZlY3RvcjxSZXRh
CiAgICAgfQogfQogCi1uYW1lc3BhY2UgV2ViS2l0IHsKLXVzaW5nIG5hbWVzcGFjZSBIVE1MTmFt
ZXM7Ci0KIFJlZjxQREZQbHVnaW4+IFBERlBsdWdpbjo6Y3JlYXRlKFdlYkZyYW1lJiBmcmFtZSkK
IHsKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQREZQbHVnaW4oZnJhbWUpKTsKQEAgLTE0NTAs
NyArMTQ0OSw3IEBAIHZvaWQgUERGUGx1Z2luOjp1cGRhdGVDdXJzb3IoY29uc3QgV2ViTW91c2VF
dmVudCYgZXZlbnQsIFVwZGF0ZUN1cnNvck1vZGUgbW9kZSkKICAgICBpZiAoaGl0VGVzdFJlc3Vs
dCA9PSBtX2xhc3RIaXRUZXN0UmVzdWx0ICYmIG1vZGUgPT0gVXBkYXRlSWZOZWVkZWQpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIHdlYkZyYW1lKCktPnBhZ2UoKS0+c2VuZChNZXNzYWdlczo6V2Vi
UGFnZVByb3h5OjpTZXRDdXJzb3IoaGl0VGVzdFJlc3VsdCA9PSBUZXh0ID8gaUJlYW1DdXJzb3Io
KSA6IHBvaW50ZXJDdXJzb3IoKSkpOworICAgIHdlYkZyYW1lKCktPnBhZ2UoKS0+c2VuZChNZXNz
YWdlczo6V2ViUGFnZVByb3h5OjpTZXRDdXJzb3IoaGl0VGVzdFJlc3VsdCA9PSBUZXh0ID8gV2Vi
Q29yZTo6aUJlYW1DdXJzb3IoKSA6IFdlYkNvcmU6OnBvaW50ZXJDdXJzb3IoKSkpOwogICAgIG1f
bGFzdEhpdFRlc3RSZXN1bHQgPSBoaXRUZXN0UmVzdWx0OwogfQogI2VuZGlmCkBAIC0xOTgxLDE2
ICsxOTgwLDE2IEBAIHZvaWQgUERGUGx1Z2luOjpub3RpZnlTZWxlY3Rpb25DaGFuZ2VkKFBERlNl
bGVjdGlvbiAqKQogICAgIHdlYkZyYW1lKCktPnBhZ2UoKS0+ZGlkQ2hhbmdlU2VsZWN0aW9uKCk7
CiB9CiAKLXN0YXRpYyBjb25zdCBDdXJzb3ImIGNvcmVDdXJzb3IoUERGTGF5ZXJDb250cm9sbGVy
Q3Vyc29yVHlwZSB0eXBlKQorc3RhdGljIGNvbnN0IFdlYkNvcmU6OkN1cnNvciYgY29yZUN1cnNv
cihQREZMYXllckNvbnRyb2xsZXJDdXJzb3JUeXBlIHR5cGUpCiB7CiAgICAgc3dpdGNoICh0eXBl
KSB7CiAgICAgY2FzZSBrUERGTGF5ZXJDb250cm9sbGVyQ3Vyc29yVHlwZUhhbmQ6Ci0gICAgICAg
IHJldHVybiBoYW5kQ3Vyc29yKCk7CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpoYW5kQ3Vyc29y
KCk7CiAgICAgY2FzZSBrUERGTGF5ZXJDb250cm9sbGVyQ3Vyc29yVHlwZUlCZWFtOgotICAgICAg
ICByZXR1cm4gaUJlYW1DdXJzb3IoKTsKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OmlCZWFtQ3Vy
c29yKCk7CiAgICAgY2FzZSBrUERGTGF5ZXJDb250cm9sbGVyQ3Vyc29yVHlwZVBvaW50ZXI6CiAg
ICAgZGVmYXVsdDoKLSAgICAgICAgcmV0dXJuIHBvaW50ZXJDdXJzb3IoKTsKKyAgICAgICAgcmV0
dXJuIFdlYkNvcmU6OnBvaW50ZXJDdXJzb3IoKTsKICAgICB9CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348311</attachid>
            <date>2018-08-28 10:53:20 -0700</date>
            <delta_ts>2018-08-28 11:32:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189009-20180828105319.patch</filename>
            <type>text/plain</type>
            <size>62616</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGMyOWZmMzZiMTcwMDNiYTAxZDNlYmJj
YWNhNDY4ZTRmNDZlM2YzN2IuLjA3YzYxYjkxMTg5ZjZmYjg3M2MxN2MxNWM0N2Y1NzI2ODE0YzY4
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3Jl
IHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL2dlbmVy
YXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmI6CisgICAgICAgIEl0IHR1cm5zIG91dCBvdXIg
cGxhbiB0byBzd2l0Y2ggdW5pZmllZCBzb3VyY2UgYnVuZGxlIGV2ZXJ5IHRpbWUgdGhlIGRpcmVj
dG9yeQorICAgICAgICBjaGFuZ2VzIGlzIG5vdCBhIGdvb2QgZml0IGZvciBwcm9qZWN0cyBsaWtl
IFdlYktpdDIgd2l0aCBtYW55IHNtYWxsIGRpcmVjdG9yaWVzLgorICAgICAgICBJdCBsZWF2ZXMg
bWFueSB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIHdpdGggb25seSBhIHNpbmdsZSBzb3VyY2UgZmls
ZSwKKyAgICAgICAgYWNoaWV2aW5nIG9ubHkgfjQwJSBkZW5zaXR5LgorCisgICAgICAgIEluc3Rl
YWQsIHN3aXRjaCB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIGV2ZXJ5IHRpbWUgdGhlIHRvcC1sZXZl
bCBkaXJlY3RvcnkgY2hhbmdlcy4KKyAgICAgICAgVGhpcyBzdGlsbCBhY2hpZXZlcyB0aGUgZ29h
bCBvZiAqdXN1YWxseSogb25seSByZWJ1aWxkaW5nIHRoZSBvbmUgdG9wLWxldmVsCisgICAgICAg
IGRpcmVjdG9yeSB5b3UgdG91Y2hlZCwgYW5kIGluY3JlYXNlcyBzb3VyY2UgYnVuZGxlIGRlbnNp
dHkgd2lsZGx5LCB0byB+OTUlLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTgt
MDgtMjcgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQgYnVpbGQgZml4IC0tIGRpc2FibGUgTFRPIGZvciBwcm9kdWN0aW9uIGJ1aWxkcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDBkZTc5NjdkNzZmODU2YjdlYTY1NWYyNzE1ZTVjNzQ3YmEzZDk4Y2IuLmRmMjlk
M2VkZjAzOTY0MDg1OGU0Nzk5N2EwMjExZDBmNTI3MTYwODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzOCBAQAorMjAxOC0wOC0yNyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNv
bT4KKworICAgICAgICBCdW5kbGUgdW5pZmllZCBzb3VyY2VzIG1vcmUgdGlnaHRseSBpbiBwcm9q
ZWN0cyB3aXRoIGRlZXAgZGlyZWN0b3J5IHN0cnVjdHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTAwOQorCisgICAgICAgIFJldmlld2VkIGJ5
IFNpbW9uIEZyYXNlci4KKworICAgICAgICBGaXggYSB2YXJpZXR5IG9mIHVuaWZpY2F0aW9uIGVy
cm9ycyBkdWUgdG8gcmVzaHVmZmxpbmcgdGhlIGJ1bmRsZXMuCisKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAqIFNvdXJjZXNDb2NvYS50
eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUVDRFNBLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUVDRFNBOjppbXBvcnRLZXkpOgorICAgICAgICAqIGRv
bS9Eb2N1bWVudC5oOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHA6
CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRl
ci5oOgorICAgICAgICAqIHBhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50Lmg6CisgICAgICAgICog
cGxhdGZvcm0vUGFzdGVib2FyZC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Rpc3Bs
YXlSZWZyZXNoTW9uaXRvci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZh
bWlseVNwZWNpZmljYXRpb25OdWxsLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJHTExheWVyLm1tOgorICAgICAgICAoLVtXZWJHTExheWVyIGluaXRXaXRoR3JhcGhp
Y3NDb250ZXh0M0Q6XSk6CisgICAgICAgICgtW1dlYkdMTGF5ZXIgY29weUltYWdlU25hcHNob3RX
aXRoQ29sb3JTcGFjZTpdKToKKyAgICAgICAgKC1bV2ViR0xMYXllciBkaXNwbGF5XSk6CisgICAg
ICAgICgtW1dlYkdMTGF5ZXIgYWxsb2NhdGVJT1N1cmZhY2VCYWNraW5nU3RvcmVXaXRoU2l6ZTp1
c2luZ0FscGhhOl0pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxh
eWVyLm1tOgorICAgICAgICAoLVtXZWJHUFVMYXllciBpbml0V2l0aEdQVURldmljZTpdKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHA6CisgICAgICAg
ICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwOgor
CiAyMDE4LTA4LTI3ICBKdXN0aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgV2ViR0wgMiBjb25mb3JtYW5jZTogZnJhbWVidWZmZXItdGVzdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxMzU0
MjExNTNiYWJiM2QyZjhiN2U4MWQyMTcwZjNhOWRkMTEzZWJjLi5mNDYyNzE3YTQ0MGMzMDE3NjQ4
Yzg4YzFmOTQwNGMxMDVkM2IzMDViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDE4LTA4
LTI3ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIEJ1
bmRsZSB1bmlmaWVkIHNvdXJjZXMgbW9yZSB0aWdodGx5IGluIHByb2plY3RzIHdpdGggZGVlcCBk
aXJlY3Rvcnkgc3RydWN0dXJlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTg5MDA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgor
CisgICAgICAgIEZpeCBhIHZhcmlldHkgb2YgdW5pZmljYXRpb24gZXJyb3JzIGR1ZSB0byByZXNo
dWZmbGluZyB0aGUgYnVuZGxlcy4KKworICAgICAgICAqIFNoYXJlZC9BUElXZWJBcmNoaXZlLm1t
OgorICAgICAgICAqIFNoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW06CisgICAgICAgICog
U2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tOgor
ICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9QbHVnaW5JbmZvcm1hdGlvbk1h
Yy5tbToKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaDoKKyAgICAgICAgKEFQSTo6QXV0b21hdGlv
blNlc3Npb25DbGllbnQ6OnNlc3Npb25JZGVudGlmaWVyIGNvbnN0KToKKyAgICAgICAgKEFQSTo6
QXV0b21hdGlvblNlc3Npb25DbGllbnQ6Om1lc3NhZ2VPZkN1cnJlbnRKYXZhU2NyaXB0RGlhbG9n
T25QYWdlKToKKyAgICAgICAgKEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6OnNldFVzZXJJ
bnB1dEZvckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tOgorICAgICAgICAo
LVtXS0N1c3RvbVByb3RvY29sTG9hZGVyIGluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5h
Z2VyUHJveHk6Y3VzdG9tUHJvdG9jb2xJRDpyZXF1ZXN0Ol0pOgorICAgICAgICAoLVtXS0N1c3Rv
bVByb3RvY29sTG9hZGVyIGNvbm5lY3Rpb246ZGlkRmFpbFdpdGhFcnJvcjpdKToKKyAgICAgICAg
KC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBjb25uZWN0aW9uOmRpZFJlY2VpdmVSZXNwb25zZTpd
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZVBsdWdpblByb2Nlc3NDYWxsYmFja0lEKToKKyAgICAg
ICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKToKKyAgICAg
ICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YSk6CisgICAg
ICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JIb3N0
TmFtZXMpOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZUNhbGxiYWNrSUQpOiBEZWxldGVkLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlRGVsZWdhdGVJT1MubW06CisgICAgICAgICgtW1dLU2Nyb2xsaW5nTm9kZVNjcm9s
bFZpZXdEZWxlZ2F0ZSBzY3JvbGxWaWV3V2lsbEVuZERyYWdnaW5nOndpdGhWZWxvY2l0eTp0YXJn
ZXRDb250ZW50T2Zmc2V0Ol0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQ
cm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNz
Q2FsbGJhY2tJRCk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VQcm9jZXNzUHJveHk6OmZldGNo
V2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc1Byb3h5OjpkZWxl
dGVXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VQcm9jZXNzUHJveHk6OmRl
bGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyk6CisgICAgICAgIChXZWJLaXQ6OmdlbmVyYXRlQ2Fs
bGJhY2tJRCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW06Cisg
ICAgICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5UGVy
Zm9ybUFjdGlvbjpdKToKKyAgICAgICAgKC1bV0tQREZQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0
IGFjY2Vzc2liaWxpdHlGb2N1c2VkVUlFbGVtZW50XSk6CisgICAgICAgICgtW1dLUERGUGx1Z2lu
QWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5QXNzb2NpYXRlZENvbnRyb2xGb3JBbm5v
dGF0aW9uOl0pOgorICAgICAgICAoLVtXS1BERlBsdWdpbkFjY2Vzc2liaWxpdHlPYmplY3QgYWNj
ZXNzaWJpbGl0eUhpdFRlc3Q6XSk6CisgICAgICAgICgtW1dLUERGTGF5ZXJDb250cm9sbGVyRGVs
ZWdhdGUgdXBkYXRlU2Nyb2xsUG9zaXRpb246XSk6CisgICAgICAgIChXZWJLaXQ6OlBERlBsdWdp
bjo6dXBkYXRlQ3Vyc29yKToKKyAgICAgICAgKFdlYktpdDo6Y29yZUN1cnNvcik6CisgICAgICAg
IChhcHBlbmRWYWx1ZXNJblBERk5hbWVTdWJ0cmVlVG9WZWN0b3IpOiBEZWxldGVkLgorICAgICAg
ICAoZ2V0QWxsVmFsdWVzSW5QREZOYW1lVHJlZSk6IERlbGV0ZWQuCisgICAgICAgIChnZXRBbGxT
Y3JpcHRzSW5QREZEb2N1bWVudCk6IERlbGV0ZWQuCisKIDIwMTgtMDgtMjcgIEJhc3VrZSBTdXp1
a2kgIDxCYXN1a2UuU3V6dWtpQHNvbnkuY29tPgogCiAgICAgICAgIFtDdXJsXSBFbmFibGUgUHJv
eHkgQXV0aGVudGljYXRpb24gb24gV2ViS2l0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3Jp
cHRzL2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIgYi9Tb3VyY2UvV1RGL1Njcmlw
dHMvZ2VuZXJhdGUtdW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYgppbmRleCBjMDE5NjZlZTFiMmM2
N2Q5NzYwZjAzYTViYmNhYTNjYjU3MjYxMmIzLi5hYmQ5NzY3N2EyMGFkYjRkNDYyZWI5OGY3Nzhk
OTgwMjliZGQ0OTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1NjcmlwdHMvZ2VuZXJhdGUtdW5p
ZmllZC1zb3VyY2UtYnVuZGxlcy5yYgorKysgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvZ2VuZXJhdGUt
dW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYgpAQCAtMjEwLDEwICsyMTAsMTcgQEAgY2xhc3MgQnVu
ZGxlTWFuYWdlcgogICAgIGVuZAogZW5kCiAKK2RlZiBUb3BMZXZlbERpcmVjdG9yeUZvclBhdGgo
cGF0aCkKKyAgICBpZiAhcGF0aAorICAgICAgICByZXR1cm4gbmlsCisgICAgZW5kCisgICAgcmV0
dXJuIHBhdGguZWFjaF9maWxlbmFtZS5uZXh0CitlbmQKKwogZGVmIFByb2Nlc3NGaWxlRm9yVW5p
ZmllZFNvdXJjZUdlbmVyYXRpb24oc291cmNlRmlsZSkKICAgICBwYXRoID0gc291cmNlRmlsZS5w
YXRoCi0gICAgaWYgKCRjdXJyZW50RGlyZWN0b3J5ICE9IHBhdGguZGlybmFtZSkKLSAgICAgICAg
bG9nKCJGbHVzaGluZyBiZWNhdXNlIG5ldyBkaXJuYW1lOyBvbGQ6ICN7JGN1cnJlbnREaXJlY3Rv
cnl9LCBuZXc6ICN7cGF0aC5kaXJuYW1lfSIpCisgICAgaWYgKFRvcExldmVsRGlyZWN0b3J5Rm9y
UGF0aCgkY3VycmVudERpcmVjdG9yeSkgIT0gVG9wTGV2ZWxEaXJlY3RvcnlGb3JQYXRoKHBhdGgu
ZGlybmFtZSkpCisgICAgICAgIGxvZygiRmx1c2hpbmcgYmVjYXVzZSBuZXcgdG9wIGxldmVsIGRp
cmVjdG9yeTsgb2xkOiAjeyRjdXJyZW50RGlyZWN0b3J5fSwgbmV3OiAje3BhdGguZGlybmFtZX0i
KQogICAgICAgICAkYnVuZGxlTWFuYWdlcnMuZWFjaF92YWx1ZSB7IHx4fCB4LmZsdXNoIH0KICAg
ICAgICAgJGN1cnJlbnREaXJlY3RvcnkgPSBwYXRoLmRpcm5hbWUKICAgICBlbmQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5o
CmluZGV4IDBjNmVmYjg2Mjk4MjUzOWQyYjRiMmNjNGY4ZjhiNWZjYjRlYzg4ZTguLjY3Y2ZhOTMz
MTNjOTA0MjFlYjZjZjE3OWQ5OGVmNzAzZGEwZTQ5ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApAQCAtMTMxNCw2
ICsxMzE0LDcgQEAKICNpZiBQTEFURk9STShNQUMpCiAjZGVmaW5lIEhBVkVfVE9VQ0hfQkFSIDEK
ICNkZWZpbmUgSEFWRV9BRFZBTkNFRF9TUEVMTF9DSEVDS0lORyAxCisjZGVmaW5lIFVTRV9ESUNU
QVRJT05fQUxURVJOQVRJVkVTIDEKIAogI2lmIGRlZmluZWQoX19MUDY0X18pCiAjZGVmaW5lIEVO
QUJMRV9XRUJfUExBWUJBQ0tfQ09OVFJPTFNfTUFOQUdFUiAxCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdC
dWZmZXIuaAppbmRleCBmMjkzZDMzM2RiZTNlNDVlNjM3YTE0ODY3MzNkMGEyZmQ4YzA4YzBjLi5l
MzJjZDI2MGRkOTRkYjE1NTk4NWJmYjQ3NjI5YjhhOTExMzZjMjY5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQv
U3RyaW5nQnVmZmVyLmgKQEAgLTI5LDkgKzI5LDEwIEBACiAjaWZuZGVmIFN0cmluZ0J1ZmZlcl9o
CiAjZGVmaW5lIFN0cmluZ0J1ZmZlcl9oCiAKLSNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgog
I2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDx1bmljb2RlL3V0eXBlcy5oPgorI2luY2x1ZGUg
PHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVkZSA8d3RmL01hbGxvY1B0ci5oPgogCiBuYW1lc3Bh
Y2UgV1RGIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3Jr
ZXJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvV29ya2VyQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAKaW5kZXggYWQyMDkzMjE5Zjg4ZTZk
YTNlMWQ2MDYyNGU0MWFlOWE0MWRmNDkyNy4uMWViZGQ1ZGU0OGE3ZTdlMWM5NmEwMWM3OGZlZDdk
YTViYzRmYjg4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3Jr
ZXJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2NhY2hlL1dvcmtlckNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCkBAIC0yOSw2ICsyOSw3IEBA
CiAKICNpbmNsdWRlICJDYWNoZVF1ZXJ5T3B0aW9ucy5oIgogI2luY2x1ZGUgIkNhY2hlU3RvcmFn
ZVByb3ZpZGVyLmgiCisjaW5jbHVkZSAiQ2xpZW50T3JpZ2luLmgiCiAjaW5jbHVkZSAiRG9jdW1l
bnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIK
QEAgLTM2LDcgKzM3LDYgQEAKICNpbmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCiAjaW5jbHVkZSAi
V29ya2VyVGhyZWFkLmgiCiAKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNwcAppbmRleCA5NjEzMmU2OTczN2FlOThh
NjBmOTU0ZjFmMzExODM4NDEwNzFlMGE5Li5jZGI3NzdlOTk5MjkyMjFjZjBhOGYwMTE0MmIyZDA3
ZWRlOWVmZWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDQ29udHJvbGxlci5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShXRUJf
UlRDKQogCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENQcm92aWRl
ci5oIgogI2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9uLmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1
ZXN0VXBkYXRlRXZlbnQuY3BwCmluZGV4IGMyMDUzMzVlYWE4ZTkxOGE2ZDM4YWU0ZjJmZmM4MWFl
ZDQ1YTlhMGYuLjk0YjcxYzQ2NjE5MjQxMzVjMjFhZWE2OWQ0ODk5ZDdiMDc1YTYyYTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVl
c3RVcGRhdGVFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVx
dWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50LmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAj
aWYgRU5BQkxFKFBBWU1FTlRfUkVRVUVTVCkKIAorI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNp
bmNsdWRlICJQYXltZW50UmVxdWVzdC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAKaW5kZXggYWRiNzUxZDBjMzljMGE1
NmI1ZTRkYzFmNTQyMTBiZGFhNGVkZmY3OC4uYTkzM2Q5ODBmY2Y1YTk5MTc0YWIwZTBjNDAwMjA5
MTZjYmYxYjM2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRp
c3BsYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNw
cApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkNhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCIK
ICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJET01FeGNlcHRpb24uaCIKKyNpbmNsdWRl
ICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiUGFnZS5o
IgogI2luY2x1ZGUgIlNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9jcnlwdG8vZ2NyeXB0L1V0aWxpdGllcy5oIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9jcnlwdG8vZ2NyeXB0L1V0aWxpdGllcy5oCmluZGV4IDgyZmUxN2Mw
M2I0MTE3M2VjMTNkMzBiMmZjMzFmYWMxZDI4YTU4ZGYuLjYyOTJhMGY4MGJiMGY1ODI2NTMyZmU0
MWIzYmFhMDkxYmRlMmM2MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY3J5
cHRvL2djcnlwdC9VdGlsaXRpZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NyeXB0
by9nY3J5cHQvVXRpbGl0aWVzLmgKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgPGdjcnlw
dC5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVkZSA8d3RmL09wdGlvbmFs
Lmg+CiAKIG5hbWVzcGFjZSBQQUwgewogbmFtZXNwYWNlIEdDcnlwdCB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlc0Nv
Y29hLnR4dAppbmRleCA2NmY3ZjE2YmQ2NGY4MmM0MzJiZWFlZDhlNzBkMWI1ZmYwNjNhNTE3Li45
NTdlNGI1YjY2MWI0MDIwZjBhMjFlZTAwOTVjMDE3NjQ2ZTQ5M2EzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXND
b2NvYS50eHQKQEAgLTM4OSw3ICszODksNyBAQCBwbGF0Zm9ybS9pb3MvUGxhdGZvcm1TY3JlZW5J
T1MubW0KIHBsYXRmb3JtL2lvcy9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVySU9TLm1tIEBuby11
bmlmeQogcGxhdGZvcm0vaW9zL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0Lm1tIEBuby11
bmlmeQogcGxhdGZvcm0vaW9zL1F1aWNrTG9vay5tbQotcGxhdGZvcm0vaW9zL1F1aWNrTG9va1Nv
ZnRMaW5rLm1tCitwbGF0Zm9ybS9pb3MvUXVpY2tMb29rU29mdExpbmsubW0gQG5vLXVuaWZ5CiBw
bGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLm1tCiBwbGF0Zm9ybS9pb3MvU2Ny
b2xsQW5pbWF0b3JJT1MubW0KIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbQpAQCAt
Mzk5LDcgKzM5OSw3IEBAIHBsYXRmb3JtL2lvcy9TU0xLZXlHZW5lcmF0b3JJT1MuY3BwCiBwbGF0
Zm9ybS9pb3MvU3lzdGVtTWVtb3J5SU9TLmNwcAogcGxhdGZvcm0vaW9zL1RoZW1lSU9TLm1tIEBu
by11bmlmeQogcGxhdGZvcm0vaW9zL1RpbGVDb250cm9sbGVyTWVtb3J5SGFuZGxlcklPUy5jcHAK
LXBsYXRmb3JtL2lvcy9Vc2VyQWdlbnRJT1MubW0KK3BsYXRmb3JtL2lvcy9Vc2VyQWdlbnRJT1Mu
bW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvVmFsaWRhdGlvbkJ1YmJsZUlPUy5tbSBAbm8tdW5p
ZnkKIHBsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbSBAbm8tdW5p
ZnkKIHBsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIubW0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlc0dUSy50
eHQKaW5kZXggNDYyNmI2ZmNiZTU0YTQ5NWVkMTBjNmJiODI0NDlhMDQ5NzYyMjc3My4uZTYxNmYy
N2U1YmVlMDkwZmI0YzdjNWM1MTJlNWI2NmEyMmM3N2Y1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvU291cmNlc0dUSy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlc0dUSy50eHQK
QEAgLTYxLDE0ICs2MSwxNCBAQCBwbGF0Zm9ybS9Vc2VyQWdlbnRRdWlya3MuY3BwCiAKIHBsYXRm
b3JtL2dlb2NsdWUvR2VvbG9jYXRpb25Qcm92aWRlckdlb2NsdWUuY3BwCiAKLXBsYXRmb3JtL2dy
YXBoaWNzL0dMQ29udGV4dC5jcHAKK3BsYXRmb3JtL2dyYXBoaWNzL0dMQ29udGV4dC5jcHAgQG5v
LXVuaWZ5CiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuY3BwCiAK
LXBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRDYWlyb1gxMS5jcHAK
K3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRDYWlyb1gxMS5jcHAg
QG5vLXVuaWZ5CiAKIHBsYXRmb3JtL2dyYXBoaWNzL2VnbC9HTENvbnRleHRFR0wuY3BwCiBwbGF0
Zm9ybS9ncmFwaGljcy9lZ2wvR0xDb250ZXh0RUdMV2F5bGFuZC5jcHAgQG5vLXVuaWZ5Ci1wbGF0
Zm9ybS9ncmFwaGljcy9lZ2wvR0xDb250ZXh0RUdMWDExLmNwcAorcGxhdGZvcm0vZ3JhcGhpY3Mv
ZWdsL0dMQ29udGV4dEVHTFgxMS5jcHAgQG5vLXVuaWZ5CiAKIHBsYXRmb3JtL2dyYXBoaWNzL2ds
eC9HTENvbnRleHRHTFguY3BwCiAKQEAgLTgyLDkgKzgyLDkgQEAgcGxhdGZvcm0vZ3JhcGhpY3Mv
b3BlbnR5cGUvT3BlblR5cGVWZXJ0aWNhbERhdGEuY3BwCiAKIHBsYXRmb3JtL2dyYXBoaWNzL3dh
eWxhbmQvUGxhdGZvcm1EaXNwbGF5V2F5bGFuZC5jcHAKIAotcGxhdGZvcm0vZ3JhcGhpY3MveDEx
L1BsYXRmb3JtRGlzcGxheVgxMS5jcHAKLXBsYXRmb3JtL2dyYXBoaWNzL3gxMS9YRXJyb3JUcmFw
cGVyLmNwcAotcGxhdGZvcm0vZ3JhcGhpY3MveDExL1hVbmlxdWVSZXNvdXJjZS5jcHAKK3BsYXRm
b3JtL2dyYXBoaWNzL3gxMS9QbGF0Zm9ybURpc3BsYXlYMTEuY3BwIEBuby11bmlmeQorcGxhdGZv
cm0vZ3JhcGhpY3MveDExL1hFcnJvclRyYXBwZXIuY3BwIEBuby11bmlmeQorcGxhdGZvcm0vZ3Jh
cGhpY3MveDExL1hVbmlxdWVSZXNvdXJjZS5jcHAgQG5vLXVuaWZ5CiAKIHBsYXRmb3JtL2d0ay9E
cmFnRGF0YUd0ay5jcHAKIHBsYXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3RrLmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGI2ZGY3NDhhNmQxOTA0ODViMThjM2Q1OGNiNTE4M2JiYWRiODJmODkuLmQzYjllYWFjZjQ1Y2Nj
MTgzMDhhOGNkOGRkNTliZGFhYjNiNjc0ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTgwNiw2ICs4MDYsOCBAQAogCQkyRDhC
OTJGRjIwM0QxM0UxMDA5Qzg2OEYgLyogVW5pZmllZFNvdXJjZTUzMC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBERTVGODVEMzFGQTIzODU5MDA2REI2
M0IgLyogVW5pZmllZFNvdXJjZTUzMC5jcHAgKi87IH07CiAJCTJEOEZFQkREMTQzRTNFRjcwMDcy
NTAyQiAvKiBDU1NDcm9zc2ZhZGVWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMkQ4RkVCREIxNDNFM0VGNzAwNzI1MDJCIC8qIENTU0Nyb3NzZmFk
ZVZhbHVlLmggKi87IH07CiAJCTJEOTA2NjA3MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5MDY2
MDUwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMkQ5MkE3OUEyMTM0QUQ3OTAwRjQ5M0ZEIC8q
IFF1aWNrTG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDQzOTE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5r
Lm1tICovOyB9OworCQkyRDkyQTc5RDIxMzRBRjk1MDBGNDkzRkQgLyogVXNlckFnZW50SU9TLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTNBRjlEODMy
MDMyNTY5MTAwNkNBRDA2IC8qIFVzZXJBZ2VudElPUy5tbSAqLzsgfTsKIAkJMkQ5M0FFRTMxOURG
NTY0MTAwMkE4NkMzIC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOTNBRUUxMTlERjU2NDEwMDJBODZD
MyAvKiBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmggKi87IH07CiAJCTJEOTdGMDQ3MTlERDQx
M0MwMDFFRTlDMyAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRBQUUzMkMxOURDQUY2MDAwRTAwMkQyIC8q
IE1vY2tQYWdlT3ZlcmxheUNsaWVudC5jcHAgKi87IH07CiAJCTJEOTdGMDQ4MTlERDQxNDAwMDFF
RTlDMyAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQUFFMzJEMTlEQ0FGNjAwMEUwMDJEMiAvKiBNb2NrUGFn
ZU92ZXJsYXlDbGllbnQuaCAqLzsgfTsKQEAgLTcwNzIsNyArNzA3NCw3IEBACiAJCTMzOUI1QjYy
MTMxREFBMzIwMEY0OEQwMiAvKiBDb29raWVzU3RyYXRlZ3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ29va2llc1N0cmF0ZWd5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTM2NjJGOTg0MDQ3Q0VEQkU1REREQUZBQSAvKiBSZW5kZXJNYXRoTUxNZW5jbG9zZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJNYXRoTUxNZW5j
bG9zZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3MTE5QTc5MjBDQ0I2MTAw
MDJDNkRDOSAvKiBXZWJLaXRUYXJnZXRDb25kaXRpb25hbHMueGNjb25maWcgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRo
ID0gV2ViS2l0VGFyZ2V0Q29uZGl0aW9uYWxzLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQkzNzE3RDdFNTE3RUNDM0E2MDAzQzI3NkQgLyogZXh0cmFjdC1sb2NhbGl6YWJs
ZS1zdHJpbmdzLnBsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dC5zY3JpcHQucGVybDsgbmFtZSA9IGV4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5n
cy5wbDsgcGF0aCA9ICJTY3JpcHRzL2V4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTM3MTdEN0U1MTdFQ0MzQTYwMDNDMjc2RCAvKiBl
eHRyYWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5wZXJsOyBuYW1lID0gImV4dHJhY3Qt
bG9jYWxpemFibGUtc3RyaW5ncy5wbCI7IHBhdGggPSAiU2NyaXB0cy9leHRyYWN0LWxvY2FsaXph
YmxlLXN0cmluZ3MucGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzFBNjdDQTEx
QzZDN0RCMDAwNDdCOEIgLyogSHlwaGVuYXRpb25DRi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBIeXBoZW5hdGlvbkNGLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMzcxRTY1Q0IxMzY2MUVEQzAwQkVFREIwIC8qIFBhZ2VTZXJpYWxpemVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhZ2VTZXJpYWxpemVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3MUU2NUNEMTM2NjFFRUQwMEJFRURCMCAvKiBQYWdlU2Vy
aWFsaXplci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQYWdlU2Vy
aWFsaXplci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzM1Nyw4ICsxMzM1
OSw4IEBACiAJCUNERTU5NTlDMUJGMjc1NzEwMEExQ0JFOCAvKiBDRE1TZXNzaW9uTWVkaWFTb3Vy
Y2VBVkZPYmpDLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ0RN
U2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQ0RFNjU2MEUxN0NBNkU3NjAwNTI2QkE3IC8qIG1lZGlhQ29udHJvbHNBcHBsZS5qcyAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
amF2YXNjcmlwdDsgcGF0aCA9IG1lZGlhQ29udHJvbHNBcHBsZS5qczsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0RFNjY3QTExRTRCQkE0RDAwRTgxNTRBIC8qIFBsYXRmb3JtQXVkaW9E
YXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtQXVkaW9EYXRh
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNERTY2N0EyMUU0QkJGMTUwMEU4MTU0
QSAvKiBXZWJBdWRpb0J1ZmZlckxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gY29jb2EvV2ViQXVkaW9CdWZmZXJMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJQ0RFNjY3QTMxRTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlz
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBjb2NvYS9XZWJBdWRpb0J1ZmZl
ckxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0RFNjY3QTIxRTRCQkYxNTAw
RTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBXZWJBdWRpb0J1ZmZlckxpc3QuY3BwOyBwYXRoID0gY29jb2EvV2ViQXVk
aW9CdWZmZXJMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0RFNjY3QTMx
RTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBXZWJBdWRpb0J1ZmZlckxpc3QuaDsgcGF0aCA9IGNvY29hL1dlYkF1
ZGlvQnVmZmVyTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU3RkM0MjE4
MTkwNEIxMDAyQkJCNzcgLyogT3JkZXJJdGVyYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBPcmRlckl0ZXJhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQ0RFN0ZDNDMxODE5MDRCMTAwMkJCQjc3IC8qIE9yZGVySXRlcmF0b3IuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT3JkZXJJdGVyYXRvci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDREU4M0RBRjE4M0M0NDA2MDAzMUVBQTMgLyogVmlkZW9QbGF5
YmFja1F1YWxpdHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVmlk
ZW9QbGF5YmFja1F1YWxpdHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzE0
NDIsNiArMzE0NDQsNyBAQAogCQkJCUFBMTJERjQ5MTc0M0RGODMwMDREQUZERiAvKiBQbGF0Zm9y
bVNwZWVjaFN5bnRoZXNpemVySU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RBMjlBMzAxQ0JG
NzRENDAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0Lm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQ0RBMjlBMTYxQ0JEQTU2QzAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lvbklu
dGVyZmFjZU1hYy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJBNzlBMjEzNEFENzkwMEY0OTNG
RCAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAogCQkJCTQxOTI0MjQ5MjEy
N0I5M0UwMDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTMxNkRDQjhBMUU3QTY5OTYwMDFCNUY4NyAvKiBSVENJY2VUcmFuc3Bv
cnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1MTE1NkUxMkIxNzQ5QzAwQzk2NzU0IC8qIFNj
cm9sbEFuaW1hdG9yTWFjLm1tIGluIFNvdXJjZXMgKi8sCkBAIC0zMjA1Niw2ICszMjA1OSw3IEBA
CiAJCQkJMkQ4QjkyRkQyMDNEMTNFMTAwOUM4NjhGIC8qIFVuaWZpZWRTb3VyY2U1MjguY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMkQ4QjkyRkUyMDNEMTNFMTAwOUM4NjhGIC8qIFVuaWZpZWRTb3Vy
Y2U1MjkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ4QjkyRkYyMDNEMTNFMTAwOUM4NjhGIC8q
IFVuaWZpZWRTb3VyY2U1MzAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5MkE3OUQyMTM0QUY5
NTAwRjQ5M0ZEIC8qIFVzZXJBZ2VudElPUy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUzMjA0MjAy
MUY5QTlGMTAwMEI4MUIyQSAvKiBVc2VyQWdlbnRTY3JpcHRzRGF0YS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk3QzNCNzk3MTE5MDg3NTdCMDBCNDdBMkQgLyogVXNlck1lc3NhZ2VIYW5kbGVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTdDRTY4MzQ0MTkyMTQzQTgwMEY0RDkyOCAvKiBVc2VyTWVz
c2FnZUhhbmRsZXJEZXNjcmlwdG9yLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNEU0EuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNEU0EuY3Bw
CmluZGV4IDk3MzE3ZTA0YTk3OTdmMTU2MTZkZTRjNzYwOGI3NDVkOWZkZWRlZjcuLjFiNTNjNDUz
YjM1MjUzNmI0ODEyZWRkMmFhNjRkOTFlOTVkZjg1NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUVDRFNBLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1FQ0RTQS5jcHAKQEAg
LTM2LDEyICszNiwxNCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK25hbWVzcGFjZSBDcnlw
dG9BbGdvcml0aG1FQ0RTQUludGVybmFsIHsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBBTEcy
NTYgPSAiRVMyNTYiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzM4NCA9ICJFUzM4NCI7
CiBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHNTEyID0gIkVTNTEyIjsKIHN0YXRpYyBjb25z
dCBjaGFyKiBjb25zdCBQMjU2ID0gIlAtMjU2IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBQ
Mzg0ID0gIlAtMzg0IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBQNTIxID0gIlAtNTIxIjsK
K30KIAogUmVmPENyeXB0b0FsZ29yaXRobT4gQ3J5cHRvQWxnb3JpdGhtRUNEU0E6OmNyZWF0ZSgp
CiB7CkBAIC0xMDIsNiArMTA0LDcgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1FQ0RTQTo6Z2VuZXJh
dGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyYgcGFyYW1ldGUKIAogdm9pZCBD
cnlwdG9BbGdvcml0aG1FQ0RTQTo6aW1wb3J0S2V5KENyeXB0b0tleUZvcm1hdCBmb3JtYXQsIEtl
eURhdGEmJiBkYXRhLCBjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJz
LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMsIEtleUNhbGxi
YWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2spCiB7
CisgICAgdXNpbmcgbmFtZXNwYWNlIENyeXB0b0FsZ29yaXRobUVDRFNBSW50ZXJuYWw7CiAgICAg
Y29uc3QgYXV0byYgZWNQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtRWNLZXlQ
YXJhbXM+KHBhcmFtZXRlcnMpOwogCiAgICAgUmVmUHRyPENyeXB0b0tleUVDPiByZXN1bHQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ2NyeXB0L0dDcnlwdFV0aWxpdGllcy5o
IGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2djcnlwdC9HQ3J5cHRVdGlsaXRpZXMuaAppbmRleCBm
MGE0MTM0NTZhOTQ0NTk5NThmOWE3ZjAyNTQ1MzQ0YjVmYjZjM2U1Li4zNmY0OGQwNGQ3ODJkNTIz
OTlkZDc3YzRiYzNkNzgyOGQ3OTVhOWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlw
dG8vZ2NyeXB0L0dDcnlwdFV0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9n
Y3J5cHQvR0NyeXB0VXRpbGl0aWVzLmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlIDxwYWwv
Y3J5cHRvL0NyeXB0b0RpZ2VzdC5oPgogI2luY2x1ZGUgPHBhbC9jcnlwdG8vZ2NyeXB0L0hhbmRs
ZS5oPgogI2luY2x1ZGUgPHBhbC9jcnlwdG8vZ2NyeXB0L1V0aWxpdGllcy5oPgorI2luY2x1ZGUg
PHd0Zi9PcHRpb25hbC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmgKaW5kZXggYTcxZGEzZjBlZTFhOTdmYjY1MDAwZmMxYTU1ODc5MDRmNzkyYTY4ZS4uMjI3NTc5
ODQxODViZmM4MmNkZjdmMzAxNzg1NTg3YjJkZWYwYTliOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgK
QEAgLTY0MSw3ICs2NDEsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgV0VCQ09SRV9FWFBPUlQgRG9j
dW1lbnRMb2FkZXIqIGxvYWRlcigpIGNvbnN0OwogCi0gICAgV0VCQ09SRV9FWFBPUlQgRXhjZXB0
aW9uT3I8UmVmUHRyPFdpbmRvd1Byb3h5Pj4gb3BlbkZvckJpbmRpbmdzKERPTVdpbmRvdyYgYWN0
aXZlV2luZG93LCBET01XaW5kb3cmIGZpcnN0V2luZG93LCBjb25zdCBTdHJpbmcmIHVybCwgY29u
c3QgQXRvbWljU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGZlYXR1cmVzKTsKKyAgICBXRUJD
T1JFX0VYUE9SVCBFeGNlcHRpb25PcjxSZWZQdHI8V2luZG93UHJveHk+PiBvcGVuRm9yQmluZGlu
Z3MoRE9NV2luZG93JiBhY3RpdmVXaW5kb3csIERPTVdpbmRvdyYgZmlyc3RET01XaW5kb3csIGNv
bnN0IFN0cmluZyYgdXJsLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
ZmVhdHVyZXMpOwogICAgIFdFQkNPUkVfRVhQT1JUIEV4Y2VwdGlvbk9yPERvY3VtZW50Jj4gb3Bl
bkZvckJpbmRpbmdzKERvY3VtZW50KiByZXNwb25zaWJsZURvY3VtZW50LCBjb25zdCBTdHJpbmcm
IHR5cGUsIGNvbnN0IFN0cmluZyYgcmVwbGFjZSk7CiAKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxk
IHJlbmFtZSB0aGlzIGF0IHNvbWUgcG9pbnQgYW5kIGdpdmUgYmFjayB0aGUgbmFtZSAnb3Blbicg
dG8gdGhlIEhUTUwgc3BlY2lmaWVkIG9uZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAppbmRleCBlNDBmOWE4ODZmMTU5MDRlNjJmMGYyNjg4YTg2
OWE2OTg4OWI0YTg5Li5jNzMxOTIyYWY4Mjk4M2I5ZGFhNmJjN2ZlNTIyNzg2MzczMTY4M2ZkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKQEAg
LTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJIVE1MRG9jdW1lbnRQYXJzZXIuaCIKICNpbmNsdWRl
ICJIVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50Lmgi
CisjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxPcHRHcm91cEVs
ZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MT3B0aW9uRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxQ
YXJzZXJJZGlvbXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNo
ZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaAppbmRleCA3MmIyOTc1
NWYxMWQ5NDA5NWZhN2VkZDUzMDk2OGY3YzU3YjU3YmViLi42ZDlhMmRhOWJlMDMyMDA3YTgyZWRh
NjhjMTZmZDJmMjhiMWMxMjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBw
Y2FjaGUvQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5oCkBAIC0y
NSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNo
ZVJlc291cmNlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmF3UmVzb3VyY2UuaCIKICNpbmNsdWRlICJD
YWNoZWRSYXdSZXNvdXJjZUNsaWVudC5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxl
LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0FsdGVybmF0aXZlVGV4dENsaWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9BbHRlcm5hdGl2ZVRleHRDbGllbnQuaAppbmRleCA5
MzU1OTM3ODhmOTg5OWM5ZTIyNTEwODhiNGU3NmQwMDVkM2QyZjk4Li4xNDNkYTZjNDdmNGJjZWZj
MGE0MWFhODc2NDY3ZDA0NDcxNWJhNzBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0FsdGVybmF0aXZlVGV4dENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWx0ZXJu
YXRpdmVUZXh0Q2xpZW50LmgKQEAgLTI5LDExICsyOSw2IEBACiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCi0jaWYgUExBVEZPUk0oTUFD
KQotLy8gU29tZSBwbGF0Zm9ybXMgcHJvdmlkZSBVSSBmb3Igc3VnZ2VzdGluZyBhbHRlcm5hdGl2
ZSBkaWN0YXRpb24gdGV4dC4KLSNkZWZpbmUgVVNFX0RJQ1RBVElPTl9BTFRFUk5BVElWRVMgMQot
I2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBSZWFzb25Gb3JEaXNtaXNzaW5n
QWx0ZXJuYXRpdmVUZXh0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bh
c3RlYm9hcmQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCBk
NTQzM2RkOTIwYWUwZWU1OTJiZDQ1ZmQ1NjBjZGQzZTM4YTM0NzIxLi5lMDk4MTU2NTFiZDJkNjA1
NzRkYTQyMzZjMzgwZmFkNGQ2MDIxNWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9QYXN0ZWJvYXJkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2Fy
ZC5oCkBAIC0zMzgsNiArMzM4LDcgQEAgZXh0ZXJuIE5TU3RyaW5nICpVSUNvbG9yUGJvYXJkVHlw
ZTsKICNpZiBQTEFURk9STShNQUMpCiBleHRlcm4gY29uc3QgY2hhciogY29uc3QgV2ViQXJjaGl2
ZVBib2FyZFR5cGU7CiBleHRlcm4gY29uc3QgY2hhciogY29uc3QgV2ViVVJMTmFtZVBib2FyZFR5
cGU7CitleHRlcm4gY29uc3QgY2hhciogY29uc3QgV2ViVVJMc1dpdGhUaXRsZXNQYm9hcmRUeXBl
OwogI2VuZGlmCiAKICNpZiAhUExBVEZPUk0oR1RLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2Vzc2lvbk1hYy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TZXNzaW9uTWFjLmNwcAppbmRleCA3OWFiOWY0MWJl
NWNlNmRlODRjODhlM2E2OTE4MTBkMGY0OWE0MzkxLi5lOTE4MDk4OGQ2OWM5NjUwOGRjMTIxYTE3
MGU3MTJhZWFhY2NmZTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9tYWMvQXVkaW9TZXNzaW9uTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9tYWMvQXVkaW9TZXNzaW9uTWFjLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUg
Ik5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSA8Q29yZUF1ZGlvL0F1ZGlvSGFyZHdhcmUuaD4K
ICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwCmluZGV4IDk2
OGJiMjI4NmExZjdlNTg0NjRlZjg4ZDc5ZTYxZWY0MjQ5MDE1NWYuLjNlMmM4MmI4YjEyZWRhMDlk
YjQzZjRjMTMwMTRjNWJiYWMwYjcwMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcApAQCAtMzAsNiAr
MzAsNyBAQAogCiAjaW5jbHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9yQ2xpZW50LmgiCiAjaW5j
bHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlci5oIgorI2luY2x1ZGUgIkxvZ2dpbmcu
aCIKIAogI2lmIFBMQVRGT1JNKElPUykKICNpbmNsdWRlICJEaXNwbGF5UmVmcmVzaE1vbml0b3JJ
T1MuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRG
YW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuY3BwCmluZGV4IDIxNzY5MWY3MjM5NzRl
ODAwNTc5YjI4Y2MwNTZhN2I5YzA4NWM2NGQuLjE1YzAzODc2OTgyNjBmNDA1ZTIyZTViZjUyNzgw
MDMwOGM3ZmUzYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseVNwZWNpZmljYXRpb25OdWxsLmNwcApAQCAtMjcsNiAr
MjcsNyBAQAogI2luY2x1ZGUgIkZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5oIgogCiAjaW5j
bHVkZSAiRm9udFNlbGVjdG9yLmgiCisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSGFz
aC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRHZW5lcmljRmFtaWxpZXMuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRHZW5lcmljRmFtaWxpZXMuaAppbmRleCBmNzYyYmFlMmZm
OTQxZTc1YTMyYjQ5ZjUzNDFjMjc4ZjAwY2E3N2VhLi40MmY0MmIyZTVjZDExMjA0ZjhjNmMxNTQy
NjdlNGI4Y2UyNGM1YjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250R2VuZXJpY0ZhbWlsaWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udEdlbmVyaWNGYW1pbGllcy5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVk
ZSA8dW5pY29kZS91c2NyaXB0Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJp
bmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFRhZ2dlZFNldHRpbmdzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRUYWdnZWRTZXR0aW5ncy5jcHAKaW5kZXggNjFi
MmViZWY2YzQ3NTAxMTMzMjFiZjE2YmE5Y2VlZTMwYzNmMjRlMC4uYjBjYTQzZDU1YzQ1Y2I1MGQ3
MzBmODkyZTE3ZDgwODY5Y2NkNDk2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udFRhZ2dlZFNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250VGFnZ2VkU2V0dGluZ3MuY3BwCkBAIC0yNyw5ICsyNyw4IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRm9udFRhZ2dlZFNldHRpbmdzLmgiCiAK
LSNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0U3RyZWFtLmg+Ci0KICNpbmNsdWRlIDx3dGYvdGV4dC9B
dG9taWNTdHJpbmdIYXNoLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvVGV4dFN0cmVhbS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhaXJvL0ZvbnRDYWlyby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYWlyby9Gb250Q2Fpcm8uY3BwCmluZGV4IDA2ZDlkNzQ5NGE0YmVhYThlM2E5Y2U3
YWZlNmRhYjM1YjFjMmRiNzguLjI4NmJjNmQ4ZTNjMjY1MzA0NmM2M2I1MmIzNmQwOTAzMWYyMDhk
OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0Zv
bnRDYWlyby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8v
Rm9udENhaXJvLmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2lmIFVTRShDQUlSTykKIAogI2luY2x1
ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgorI2luY2x1ZGUgIkNhaXJvT3BlcmF0aW9ucy5oIgogI2lu
Y2x1ZGUgIkNhaXJvVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiRm9udC5oIgogI2luY2x1ZGUgIkds
eXBoQnVmZmVyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9XZWJHTExheWVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvV2ViR0xMYXllci5tbQppbmRleCAzZWQ3ZTQxZTdjNjg4NDZmM2ZiYzE3MmNlNmJhOTg5
ZmY4N2Y1N2ViLi44ZWUzNDhkODk5ODYzNDEzZDZiNjcxMzc2ZTViMWRhNTRjYjEzNzYzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHTExheWVy
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdMTGF5
ZXIubW0KQEAgLTQyLDEzICs0MiwxMSBAQAogI2ltcG9ydCA8T3BlbkdML2dsLmg+CiAjZW5kaWYK
IAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIEBpbXBsZW1lbnRhdGlvbiBXZWJHTExheWVy
CiAKIEBzeW50aGVzaXplIGNvbnRleHQ9X2NvbnRleHQ7CiAKLS0oaWQpaW5pdFdpdGhHcmFwaGlj
c0NvbnRleHQzRDooR3JhcGhpY3NDb250ZXh0M0QqKWNvbnRleHQKKy0oaWQpaW5pdFdpdGhHcmFw
aGljc0NvbnRleHQzRDooV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0QqKWNvbnRleHQKIHsKICAg
ICBfY29udGV4dCA9IGNvbnRleHQ7CiAgICAgc2VsZiA9IFtzdXBlciBpbml0XTsKQEAgLTg2LDcg
Kzg0LDcgQEAgc3RhdGljIHZvaWQgZnJlZURhdGEodm9pZCAqLCBjb25zdCB2b2lkICpkYXRhLCBz
aXplX3QgLyogc2l6ZSAqLykKIH0KICNlbmRpZgogCi0tKENHSW1hZ2VSZWYpY29weUltYWdlU25h
cHNob3RXaXRoQ29sb3JTcGFjZTooQ0dDb2xvclNwYWNlUmVmKWNvbG9yU3BhY2UKKy0gKENHSW1h
Z2VSZWYpY29weUltYWdlU25hcHNob3RXaXRoQ29sb3JTcGFjZTooQ0dDb2xvclNwYWNlUmVmKWNv
bG9yU3BhY2UKIHsKICAgICBpZiAoIV9jb250ZXh0KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsK
QEAgLTk2LDcgKzk0LDcgQEAgLShDR0ltYWdlUmVmKWNvcHlJbWFnZVNuYXBzaG90V2l0aENvbG9y
U3BhY2U6KENHQ29sb3JTcGFjZVJlZiljb2xvclNwYWNlCiAKICAgICBSZXRhaW5QdHI8Q0dDb2xv
clNwYWNlUmVmPiBpbWFnZUNvbG9yU3BhY2UgPSBjb2xvclNwYWNlOwogICAgIGlmICghaW1hZ2VD
b2xvclNwYWNlKQotICAgICAgICBpbWFnZUNvbG9yU3BhY2UgPSBzUkdCQ29sb3JTcGFjZVJlZigp
OworICAgICAgICBpbWFnZUNvbG9yU3BhY2UgPSBXZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigp
OwogCiAgICAgQ0dSZWN0IGxheWVyQm91bmRzID0gQ0dSZWN0SW50ZWdyYWwoW3NlbGYgYm91bmRz
XSk7CiAKQEAgLTE0MSwxOSArMTM5LDE5IEBAIC0gKHZvaWQpZGlzcGxheQogI2VuZGlmCiAKICAg
ICBfY29udGV4dC0+bWFya0xheWVyQ29tcG9zaXRlZCgpOwotICAgIFBsYXRmb3JtQ0FMYXllciog
bGF5ZXIgPSBQbGF0Zm9ybUNBTGF5ZXI6OnBsYXRmb3JtQ0FMYXllcigoX19icmlkZ2Ugdm9pZCop
c2VsZik7CisgICAgV2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyKiBsYXllciA9IFdlYkNvcmU6OlBs
YXRmb3JtQ0FMYXllcjo6cGxhdGZvcm1DQUxheWVyKChfX2JyaWRnZSB2b2lkKilzZWxmKTsKICAg
ICBpZiAobGF5ZXIgJiYgbGF5ZXItPm93bmVyKCkpCiAgICAgICAgIGxheWVyLT5vd25lcigpLT5w
bGF0Zm9ybUNBTGF5ZXJMYXllckRpZERpc3BsYXkobGF5ZXIpOwogfQogCiAjaWYgVVNFKE9QRU5H
TCkKLS0gKHZvaWQpYWxsb2NhdGVJT1N1cmZhY2VCYWNraW5nU3RvcmVXaXRoU2l6ZTooSW50U2l6
ZSlzaXplIHVzaW5nQWxwaGE6KEJPT0wpdXNpbmdBbHBoYQorLSAodm9pZClhbGxvY2F0ZUlPU3Vy
ZmFjZUJhY2tpbmdTdG9yZVdpdGhTaXplOihXZWJDb3JlOjpJbnRTaXplKXNpemUgdXNpbmdBbHBo
YTooQk9PTCl1c2luZ0FscGhhCiB7CiAgICAgX2J1ZmZlclNpemUgPSBzaXplOwogICAgIF91c2lu
Z0FscGhhID0gdXNpbmdBbHBoYTsKLSAgICBfY29udGVudHNCdWZmZXIgPSBXZWJDb3JlOjpJT1N1
cmZhY2U6OmNyZWF0ZShzaXplLCBzUkdCQ29sb3JTcGFjZVJlZigpKTsKLSAgICBfZHJhd2luZ0J1
ZmZlciA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUsIHNSR0JDb2xvclNwYWNlUmVm
KCkpOwotICAgIF9zcGFyZUJ1ZmZlciA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUs
IHNSR0JDb2xvclNwYWNlUmVmKCkpOworICAgIF9jb250ZW50c0J1ZmZlciA9IFdlYkNvcmU6OklP
U3VyZmFjZTo6Y3JlYXRlKHNpemUsIFdlYkNvcmU6OnNSR0JDb2xvclNwYWNlUmVmKCkpOworICAg
IF9kcmF3aW5nQnVmZmVyID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVhdGUoc2l6ZSwgV2ViQ29y
ZTo6c1JHQkNvbG9yU3BhY2VSZWYoKSk7CisgICAgX3NwYXJlQnVmZmVyID0gV2ViQ29yZTo6SU9T
dXJmYWNlOjpjcmVhdGUoc2l6ZSwgV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYoKSk7CiAKICAg
ICBBU1NFUlQoX2NvbnRlbnRzQnVmZmVyKTsKICAgICBBU1NFUlQoX2RyYXdpbmdCdWZmZXIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR1BV
TGF5ZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVM
YXllci5tbQppbmRleCA1YzM1NTdmOGJkNjZhNjhjOTIzYjIzYWE2NDdiYjcxNDg0MDllOWExLi4y
NWVmYjhiNzQ3NjgwMjQ1NThkYmNkZjMwZjc0MzE4NzE0Njk1NWE4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbQpAQCAt
MzQsMTMgKzM0LDExIEBACiAjaW1wb3J0IDx3dGYvRmFzdE1hbGxvYy5oPgogI2ltcG9ydCA8d3Rm
L1JldGFpblB0ci5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogQGltcGxlbWVudGF0
aW9uIFdlYkdQVUxheWVyCiAKIEBzeW50aGVzaXplIGNvbnRleHQ9X2NvbnRleHQ7CiAKLS0gKGlk
KWluaXRXaXRoR1BVRGV2aWNlOihHUFVEZXZpY2UqKWNvbnRleHQKKy0gKGlkKWluaXRXaXRoR1BV
RGV2aWNlOihXZWJDb3JlOjpHUFVEZXZpY2UqKWNvbnRleHQKIHsKICAgICBzZWxmID0gW3N1cGVy
IGluaXRdOwogICAgIF9jb250ZXh0ID0gY29udGV4dDsKQEAgLTUwLDcgKzQ4LDcgQEAgLSAoaWQp
aW5pdFdpdGhHUFVEZXZpY2U6KEdQVURldmljZSopY29udGV4dAogCiAjaWYgUExBVEZPUk0oTUFD
KQogICAgIHNlbGYuY29udGVudHNTY2FsZSA9IF9kZXZpY2VQaXhlbFJhdGlvOwotICAgIHNlbGYu
Y29sb3JzcGFjZSA9IHNSR0JDb2xvclNwYWNlUmVmKCk7CisgICAgc2VsZi5jb2xvcnNwYWNlID0g
V2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYoKTsKICNlbmRpZgogICAgIHJldHVybiBzZWxmOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BV
Q29tbWFuZFF1ZXVlTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
ZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbQppbmRleCA4MjBhZjhiYzE2ZGIzYjQ4NjVlNzli
N2I4MjRkYjJjN2I0ZGYzZWNjLi4zMDNiMjVkYTNkNGE2NGVkMWIwMDMwYjcyYjlmZGJjNmY5NjVj
MzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9H
UFVDb21tYW5kUXVldWVNZXRhbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbQpAQCAtMzEsNiArMzEsNyBAQAogI2lt
cG9ydCAiR1BVRGV2aWNlLmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0IDxNZXRhbC9N
ZXRhbC5oPgorI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bhc3RlYm9h
cmRNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQpp
bmRleCBjYjUwNGNmNTQzZWI3ZTgwZDc2NjVjZDFlNTdlMzA4OWFmZmIxYTcwLi5mZDZlOTI5ODc3
NGZhZjRmZTg3MzViZjI3NTY1YWRjOTUzMmJmNjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQpAQCAtNTIsMTAgKzUyLDEwIEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY29uc3QgY2hhciogY29uc3QgV2ViQXJjaGl2ZVBib2FyZFR5cGUgPSAiQXBw
bGUgV2ViIEFyY2hpdmUgcGFzdGVib2FyZCB0eXBlIjsKIGNvbnN0IGNoYXIqIGNvbnN0IFdlYlVS
TE5hbWVQYm9hcmRUeXBlID0gInB1YmxpYy51cmwtbmFtZSI7Citjb25zdCBjaGFyKiBjb25zdCBX
ZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGUgPSAiV2ViVVJMc1dpdGhUaXRsZXNQYm9hcmRUeXBl
IjsKIAogY29uc3QgY2hhciBXZWJTbWFydFBhc3RlUGJvYXJkVHlwZVtdID0gIk5lWFQgc21hcnQg
cGFzdGUgcGFzdGVib2FyZCB0eXBlIjsKIGNvbnN0IGNoYXIgV2ViVVJMUGJvYXJkVHlwZVtdID0g
InB1YmxpYy51cmwiOwotY29uc3QgY2hhciBXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGVbXSA9
ICJXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGUiOwogCiBzdGF0aWMgY29uc3QgVmVjdG9yPFN0
cmluZz4gd3JpdGFibGVUeXBlc0ZvclVSTCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJl
TWFuYWdlckNvY29hLmNwcAppbmRleCA1YzJhOWQyNDE5OGExM2U0OGM0ZjczZTlkZTYxZGQzN2Fk
ZTkyNTUxLi5mNDkyZTYxNDJmMDIzMWI5OTdlOTZiYTU5Mjc5NTg4NTY4MDkzM2FjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1
cmVNYW5hZ2VyQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAKQEAgLTI4LDYgKzI4LDcgQEAK
IAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKKyNpbmNsdWRlICJDb3JlVmlkZW9Tb2Z0TGlu
ay5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlIDx3dGYvQWxnb3JpdGhtcy5oPgog
I2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlLmNwcAppbmRleCBlYzQ0
MWVmZDc1ZTkzODc2NzY2NTViZDAyNWQ5MzdiNTM4NzczN2EzLi5mOGE1OTdmY2ZlY2FjMjVkYTAy
ZWQwNmY1NjM4N2I3ZTFmMGRkZGM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlLmNwcApAQCAtMzYsNyArMzYsOSBA
QAogI2luY2x1ZGUgIkNhcHR1cmVEZXZpY2UuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5j
bHVkZSAiTWVkaWFDb25zdHJhaW50cy5oIgorI2luY2x1ZGUgIk1vY2tSZWFsdGltZUF1ZGlvU291
cmNlLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKyNpbmNsdWRlICJSZWFsdGltZU1l
ZGlhU291cmNlQ2VudGVyLmgiCiAjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZVNldHRpbmdz
LmgiCiAjaW5jbHVkZSA8bWF0aC5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVl
c3RCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1
ZXN0QmFzZS5jcHAKaW5kZXggMjU0MDk2NTZjM2Q2MzIwMzYxNjVmYWIxZGQ3NDllODhmY2E2ODQ4
Mi4uZmY1ODM2MTc0ZWFiOTU5NTI4YTIwN2JmYmFhYjYwMDM5ZDliNTAzMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2Uu
Y3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiSFRUUEhlYWRlck5hbWVzLmgiCiAjaW5j
bHVkZSAiUHVibGljU3VmZml4LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCisjaW5j
bHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5UG9saWN5LmgiCiAj
aW5jbHVkZSA8d3RmL1BvaW50ZXJDb21wYXJpc29uLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5ldC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0Zvcm1EYXRhU3RyZWFtQ0ZOZXQuY3BwCmlu
ZGV4IDI5MDI1ZDM4YTdmZDM2ZmY5Yjk5NjIzOTFmMDgwODcwMjFmZjEzMGUuLmU1MzIxYzI3ZDRk
OTY4YzY2ZTRjZDRjNjc3OTYzZjVhN2Q2Y2FkZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5ldC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Gb3JtRGF0YVN0cmVhbUNGTmV0LmNwcApAQCAt
NDIsMTEgKzQyLDcgQEAKICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8
d3RmL1RocmVhZGluZy5oPgogCi0jaWYgUExBVEZPUk0oSU9TKSAmJiAhUExBVEZPUk0oSU9TTUFD
KQotc3RhdGljIGNvbnN0IFNJbnQzMiBmbmZFcnIgPSAtNDM7Ci0jZWxpZiBQTEFURk9STShNQUMp
Ci0jaW5jbHVkZSA8Q29yZVNlcnZpY2VzL0NvcmVTZXJ2aWNlcy5oPgotI2VuZGlmCitzdGF0aWMg
Y29uc3QgU0ludDMyIGZpbGVOb3RGb3VuZEVycm9yID0gLTQzOwogCiAjaWYgUExBVEZPUk0oQ09D
T0EpCiBleHRlcm4gIkMiIHZvaWQgQ0ZVUkxSZXF1ZXN0U2V0SFRUUFJlcXVlc3RCb2R5KENGTXV0
YWJsZVVSTFJlcXVlc3RSZWYgbXV0YWJsZUhUVFBSZXF1ZXN0LCBDRkRhdGFSZWYgaHR0cEJvZHkp
OwpAQCAtMjQxLDcgKzIzNyw3IEBAIHN0YXRpYyBCb29sZWFuIGZvcm1PcGVuKENGUmVhZFN0cmVh
bVJlZiwgQ0ZTdHJlYW1FcnJvciogZXJyb3IsIEJvb2xlYW4qIG9wZW5Db21wCiAjaWYgUExBVEZP
Uk0oV0lOKQogICAgICAgICBFTk9FTlQ7CiAjZWxzZQotICAgICAgICBmbmZFcnI7CisgICAgICAg
IGZpbGVOb3RGb3VuZEVycm9yOwogI2VuZGlmCiAgICAgcmV0dXJuIG9wZW5lZDsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVVRGOC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguY3BwCmluZGV4IGIzMThl
NjIyYmNiZTExODAxOWE0MTY4NTYzMzM1NTZmMTA3MmQ3OWUuLjIxZjAzOGJjNmQ0NWI0NjhkZTJh
ZWY3NDY3OTg1YjRkMDI1ZGM3OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvVGV4dENvZGVjVVRGOC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4
dC9UZXh0Q29kZWNVVEY4LmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIlRleHRDb2Rl
Y0FTQ0lJRmFzdFBhdGguaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvU3RyaW5nQnVmZmVyLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0
Q29kZWNVVEY4LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjgu
aAppbmRleCBmODI4MmI1ZjM0YTg5NDczZGU5YWQ3YTIxNzY1YWY2YTMyYWNmOTVjLi44NGY3MTQ3
ZTZkYzM0ZjJlNzUxNTYxMjEwMTliYWYxNDBlNWJjMWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguaApAQCAtMjYsNiArMjYsNyBAQAogI3ByYWdtYSBv
bmNlCiAKICNpbmNsdWRlICJUZXh0Q29kZWMuaCIKKyNpbmNsdWRlIDx1bmljb2RlL3V0ZjguaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9MQ2hhci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxk
ZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRl
clRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcAppbmRleCAzYmM4MmM2ZTFhYmQyZmFjNDNiMDk5Yzhl
NmUzY2NmMzY2ZGQ4NTNiLi4yYzJiNTA4ZmFjNWM2ZmM4NDYyODVjOWZmYTg5NWE3YjQwMjJiOGVh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJl
ZUJ1aWxkZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRh
dGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5jcHAKQEAgLTI3LDYgKzI3LDggQEAKICNp
bmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5oIgogCiAjaW5jbHVkZSAiUmVuZGVy
TXVsdGlDb2x1bW5GbG93LmgiCisjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJCbG9jay5oIgor
I2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyTXVsdGlDb2x1bW4uaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcv
UmVuZGVyVHJlZUJ1aWxkZXJGb3JtQ29udHJvbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyRm9ybUNvbnRyb2xzLmNwcAppbmRleCA4Mjdj
OGJiMDE3MjgwNGQyNjE2MWI2NDM2M2M2MzU1YjI3YjhlYWIxLi45OWM1NzQ3ODQzNzBhODNhNjQ1
MWMxY2IyYTRhY2IyYTljNGM5MzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJGb3JtQ29udHJvbHMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckZvcm1Db250cm9s
cy5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIlJlbmRlckJ1dHRvbi5oIgogI2lu
Y2x1ZGUgIlJlbmRlck1lbnVMaXN0LmgiCisjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJCbG9j
ay5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwCmlu
ZGV4IDdjZDA3MTVkZjUyNGE3NmZkMjA2YTIzNDI4ZDlkYWM3ZDdkODUzZjguLmVlNjM5ZDlmYmIy
Yjk4ZjY4MjBkOGEzZGY1MWMyN2VhMDIyYTMzMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5saW5lLmNw
cApAQCAtMzAsNiArMzAsOCBAQAogI2luY2x1ZGUgIlJlbmRlckZ1bGxTY3JlZW4uaCIKICNpbmNs
dWRlICJSZW5kZXJJbmxpbmUuaCIKICNpbmNsdWRlICJSZW5kZXJUYWJsZS5oIgorI2luY2x1ZGUg
IlJlbmRlclRyZWVCdWlsZGVyTXVsdGlDb2x1bW4uaCIKKyNpbmNsdWRlICJSZW5kZXJUcmVlQnVp
bGRlclRhYmxlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyUnVieS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJSdWJ5LmNw
cAppbmRleCA3YWMxOWJhYzViYmM4ZGQ5Y2M2MjRiYWE0MWQ5Yzg5YzcxZDExYTg4Li5hYzEyNDVk
YzkyNWQ5YzA5ZGNjMTdjMzAyNWQzMjE0MWRkOTc3NjJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJSdWJ5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJSdWJ5LmNw
cApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlJlbmRl
clRyZWVCdWlsZGVyUnVieS5oIgogCisjaW5jbHVkZSAiUmVuZGVyQW5jZXN0b3JJdGVyYXRvci5o
IgogI2luY2x1ZGUgIlJlbmRlclJ1YnkuaCIKICNpbmNsdWRlICJSZW5kZXJSdWJ5QmFzZS5oIgog
I2luY2x1ZGUgIlJlbmRlclJ1YnlSdW4uaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCmluZGV4IDdkNzZhZjk0Mjc0
NjE3NWViOWEyYzU5ZTcxYTk3MTI0ZmZjMGRhMjQuLjY1MjI2YTA1NTFlNWYxZWU0YTgzNDhiZWNk
OTM1ZTNiYjQwMGEwNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRh
dGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNwcApAQCAtNDEsNiArNDEsOCBAQAogI2luY2x1
ZGUgIlJlbmRlckRlc2NlbmRhbnRJdGVyYXRvci5oIgogI2luY2x1ZGUgIlJlbmRlckZ1bGxTY3Jl
ZW4uaCIKICNpbmNsdWRlICJSZW5kZXJJbmxpbmUuaCIKKyNpbmNsdWRlICJSZW5kZXJNdWx0aUNv
bHVtbkZsb3cuaCIKKyNpbmNsdWRlICJSZW5kZXJNdWx0aUNvbHVtblNldC5oIgogI2luY2x1ZGUg
IlJlbmRlclRyZWVVcGRhdGVyR2VuZXJhdGVkQ29udGVudC5oIgogI2luY2x1ZGUgIlJ1bnRpbWVF
bmFibGVkRmVhdHVyZXMuaCIKICNpbmNsdWRlICJTdHlsZVJlc29sdmVyLmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlLm1tIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvQVBJV2ViQXJjaGl2ZS5tbQppbmRleCBiMTc0MmZkZmRkMzg2OWVhZGQzZDdjNWFlZTcw
NWU2NjFmOTdlZWRjLi5iOGM5NzJmN2VjMThlYjdkNGM5YTcxZGUyYjRlMWUyYzY1ZGU4NzY2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmUubW0KQEAgLTM0LDkgKzM0LDggQEAKICNp
bmNsdWRlIDxXZWJDb3JlL0xlZ2FjeVdlYkFyY2hpdmUuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWlu
UHRyLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBuYW1lc3BhY2UgQVBJIHsKK3Vz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBSZWY8V2ViQXJjaGl2ZT4gV2ViQXJjaGl2ZTo6Y3Jl
YXRlKFdlYkFyY2hpdmVSZXNvdXJjZSogbWFpblJlc291cmNlLCBSZWZQdHI8QVBJOjpBcnJheT4m
JiBzdWJyZXNvdXJjZXMsIFJlZlB0cjxBUEk6OkFycmF5PiYmIHN1YmZyYW1lQXJjaGl2ZXMpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2Uu
bW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW0KaW5kZXgg
Y2FlNWI4NWRmMTc3ZGRkZTY4ZDg1MmU1ZTUwNmQ4ZDkyYmUyZWE5NC4uZGMwZjkwZjBmMzg1MWFi
ZjEwMDQ4NGJhNTczYWU0YWY4ZTgwYjIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQ
SVdlYkFyY2hpdmVSZXNvdXJjZS5tbQpAQCAtMzMsOSArMzMsOCBAQAogI2luY2x1ZGUgPFdlYkNv
cmUvVVJMLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCi11c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKLQogbmFtZXNwYWNlIEFQSSB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAog
UmVmPFdlYkFyY2hpdmVSZXNvdXJjZT4gV2ViQXJjaGl2ZVJlc291cmNlOjpjcmVhdGUoQVBJOjpE
YXRhKiBkYXRhLCBjb25zdCBTdHJpbmcmIFVSTCwgY29uc3QgU3RyaW5nJiBNSU1FVHlwZSwgY29u
c3QgU3RyaW5nJiB0ZXh0RW5jb2RpbmcpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbSBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9k
dWxlTWFjLm1tCmluZGV4IDY4ZDdjNmFkZjM2Mjc1MTMxMjk2MzU2Mjg2ZjExZTg0OWMxNGMyYzAu
LmMwY2NhYzU5ODUzY2ZhZmZkOWZmMWQxZTNkNjhiNjdkNjQ1N2Y3YzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9k
dWxlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFj
L05ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tCkBAIC0zNCw5ICszNCw4IEBACiAjaW1wb3J0IDx3
dGYvTWFpblRocmVhZC5oPgogI2ltcG9ydCA8d3RmL3NwaS9jZi9DRkJ1bmRsZVNQSS5oPgogCi11
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogbmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKIAogc3RhdGljIGJvb2wgZ2V0UGx1Z2luQXJjaGl0ZWN0dXJlKENGQnVu
ZGxlUmVmIGJ1bmRsZSwgUGx1Z2luTW9kdWxlSW5mbyYgcGx1Z2luKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRp
b25NYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9QbHVn
aW5JbmZvcm1hdGlvbk1hYy5tbQppbmRleCA1ZWM4NDI0OTU5Y2JjMTkyODg2ZmE3NWFiZjAzZjNk
ODg1YmNiMWQ5Li4zMjU4NGQ0MTZiZTBmZjI1ZTllOTFkZGY0Mjg3MGUzMzk0ZjQ5MzY2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9QbHVnaW5J
bmZvcm1hdGlvbk1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNj
YXBlL21hYy9QbHVnaW5JbmZvcm1hdGlvbk1hYy5tbQpAQCAtMzQsOSArMzQsOCBAQAogI2ltcG9y
dCAiU3RyaW5nVXRpbGl0aWVzLmgiCiAjaW1wb3J0IDxXZWJDb3JlL1BsdWdpbkJsYWNrbGlzdC5o
PgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogbmFtZXNwYWNlIFdlYktpdCB7Cit1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogdm9pZCBnZXRQbGF0Zm9ybVBsdWdpbk1vZHVsZUluZm9y
bWF0aW9uKGNvbnN0IFBsdWdpbk1vZHVsZUluZm8mIHBsdWdpbiwgQVBJOjpEaWN0aW9uYXJ5OjpN
YXBUeXBlJiBtYXApCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50
eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggZDhhM2M5MGRmZmUzMjIz
MjJkNzYzZWUyMWU3Y2JhNDUwZmU4NWZjZi4uNGI4ZDQ4MDZiNDRmMjIwNDY1ODU3N2ViN2E5Njc4
Y2I4ZTM0NzliZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0Cisr
KyBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dApAQCAtMjk4LDkgKzI5OCw5IEBAIFVJ
UHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbSBAbm8tdW5pZnkKIAogVUlQcm9jZXNzL0FwcGxlUGF5
L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0KIAotVUlQcm9jZXNzL0Fw
cGxlUGF5L2lvcy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbQorVUlQcm9jZXNzL0Fw
cGxlUGF5L2lvcy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbSBAbm8tdW5pZnkKIAot
VUlQcm9jZXNzL0FwcGxlUGF5L21hYy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbQor
VUlQcm9jZXNzL0FwcGxlUGF5L21hYy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbSBA
bm8tdW5pZnkKIAogVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL2NvY29hL0F1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlUHJveHlDb2NvYS5tbQogVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL2NvY29hL1Nl
Y0tleVByb3h5U3RvcmUubW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9BUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmgKaW5kZXggYmZjNWVlMzM4MjIwZDkxNTZm
Y2NmMDBjMWU3NmQwYmJlZTkwNDE5MC4uMzc5Yzg4NTdiZTk0YjYxOTU1NWVkZmZlYzRjM2E5YTZl
MTc3OTQ4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9t
YXRpb25TZXNzaW9uQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQ
SUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmgKQEAgLTUxLDcgKzUxLDcgQEAgcHVibGljOgogCiAg
ICAgdmlydHVhbCB+QXV0b21hdGlvblNlc3Npb25DbGllbnQoKSB7IH0KIAotICAgIHZpcnR1YWwg
U3RyaW5nIHNlc3Npb25JZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gU3RyaW5nKCk7IH0KKyAg
ICB2aXJ0dWFsIFdURjo6U3RyaW5nIHNlc3Npb25JZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4g
V1RGOjpTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWREaXNjb25uZWN0RnJvbVJlbW90
ZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJikgeyB9CiAgICAgdmlydHVhbCB2b2lkIHJl
cXVlc3ROZXdQYWdlV2l0aE9wdGlvbnMoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIEF1
dG9tYXRpb25TZXNzaW9uQnJvd3NpbmdDb250ZXh0T3B0aW9ucywgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChXZWJLaXQ6OldlYlBhZ2VQcm94eSopPiYmIGNvbXBsZXRpb25IYW5kbGVyKSB7IGNvbXBs
ZXRpb25IYW5kbGVyKG51bGxwdHIpOyB9CiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RNYXhpbWl6
ZVdpbmRvd09mUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQ
YWdlUHJveHkmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIp
IHsgY29tcGxldGlvbkhhbmRsZXIoKTsgfQpAQCAtNjEsOCArNjEsOCBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBib29sIGlzU2hvd2luZ0phdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJB
dXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyByZXR1cm4gZmFsc2U7
IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlzbWlzc0N1cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25QYWdl
KFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsg
fQogICAgIHZpcnR1YWwgdm9pZCBhY2NlcHRDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZShX
ZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IH0K
LSAgICB2aXJ0dWFsIFN0cmluZyBtZXNzYWdlT2ZDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFn
ZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7
IHJldHVybiBTdHJpbmcoKTsgfQotICAgIHZpcnR1YWwgdm9pZCBzZXRVc2VySW5wdXRGb3JDdXJy
ZW50SmF2YVNjcmlwdFByb21wdE9uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwg
V2ViS2l0OjpXZWJQYWdlUHJveHkmLCBjb25zdCBTdHJpbmcmKSB7IH0KKyAgICB2aXJ0dWFsIFdU
Rjo6U3RyaW5nIG1lc3NhZ2VPZkN1cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6
V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgcmV0dXJuIFdU
Rjo6U3RyaW5nKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgc2V0VXNlcklucHV0Rm9yQ3VycmVudEph
dmFTY3JpcHRQcm9tcHRPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktp
dDo6V2ViUGFnZVByb3h5JiwgY29uc3QgV1RGOjpTdHJpbmcmKSB7IH0KICAgICB2aXJ0dWFsIHN0
ZDo6b3B0aW9uYWw8SmF2YVNjcmlwdERpYWxvZ1R5cGU+IHR5cGVPZkN1cnJlbnRKYXZhU2NyaXB0
RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBh
Z2VQcm94eSYpIHsgcmV0dXJuIHN0ZDo6bnVsbG9wdDsgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xp
ZW50Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9j
b2xNYW5hZ2VyQ2xpZW50Lm1tCmluZGV4IDExYmEzNzI2NTQ4M2ZmZTdmZjI0NjUwOTQwZDhmMzNh
NTJjMGMwNGEuLjE5YTU5YjQyY2FiN2I1NDdlZDk0NDYwZTcyZmMwMzk2Y2ZlNzkyODcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29s
TWFuYWdlckNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9MZWdh
Y3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW0KQEAgLTMyLDIzICszMiwyMCBAQAogI2lt
cG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3Vy
Y2VSZXNwb25zZS5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLXVzaW5nIG5hbWVzcGFj
ZSBXZWJLaXQ7Ci0KIEBpbnRlcmZhY2UgV0tDdXN0b21Qcm90b2NvbExvYWRlciA6IE5TT2JqZWN0
IDxOU1VSTENvbm5lY3Rpb25EZWxlZ2F0ZT4gewogQHByaXZhdGUKLSAgICBMZWdhY3lDdXN0b21Q
cm90b2NvbE1hbmFnZXJQcm94eSogX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OworICAgIFdl
YktpdDo6TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqIF9jdXN0b21Qcm90b2NvbE1h
bmFnZXJQcm94eTsKICAgICB1aW50NjRfdCBfY3VzdG9tUHJvdG9jb2xJRDsKICAgICBOU1VSTENh
Y2hlU3RvcmFnZVBvbGljeSBfc3RvcmFnZVBvbGljeTsKICAgICBOU1VSTENvbm5lY3Rpb24gKl91
cmxDb25uZWN0aW9uOwogfQotLSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFn
ZXJQcm94eTooTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqKWN1c3RvbVByb3RvY29s
TWFuYWdlclByb3h5IGN1c3RvbVByb3RvY29sSUQ6KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQg
cmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdDsKKy0gKGlkKWluaXRXaXRoTGVnYWN5Q3Vz
dG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6KFdlYktpdDo6TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5h
Z2VyUHJveHkqKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5IGN1c3RvbVByb3RvY29sSUQ6KHVp
bnQ2NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdDsK
IC0gKHZvaWQpY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHlEZXN0cm95ZWQ7CiBAZW5kCiAKIEBp
bXBsZW1lbnRhdGlvbiBXS0N1c3RvbVByb3RvY29sTG9hZGVyCiAKLS0gKGlkKWluaXRXaXRoTGVn
YWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6KExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdl
clByb3h5KiljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSBjdXN0b21Qcm90b2NvbElEOih1aW50
NjRfdCljdXN0b21Qcm90b2NvbElEIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QKKy0g
KGlkKWluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6KFdlYktpdDo6TGVn
YWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5
IGN1c3RvbVByb3RvY29sSUQ6KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVzdDooTlNV
UkxSZXF1ZXN0ICopcmVxdWVzdAogewogICAgIHNlbGYgPSBbc3VwZXIgaW5pdF07CiAgICAgaWYg
KCFzZWxmKQpAQCAtODUsNyArODIsNyBAQCAtICh2b2lkKWN1c3RvbVByb3RvY29sTWFuYWdlclBy
b3h5RGVzdHJveWVkCiAKIC0gKHZvaWQpY29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29u
bmVjdGlvbiBkaWRGYWlsV2l0aEVycm9yOihOU0Vycm9yICopZXJyb3IKIHsKLSAgICBSZXNvdXJj
ZUVycm9yIGNvcmVFcnJvcihlcnJvcik7CisgICAgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBjb3Jl
RXJyb3IoZXJyb3IpOwogICAgIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS0+ZGlkRmFpbFdp
dGhFcnJvcihfY3VzdG9tUHJvdG9jb2xJRCwgY29yZUVycm9yKTsKICAgICBfY3VzdG9tUHJvdG9j
b2xNYW5hZ2VyUHJveHktPnN0b3BMb2FkaW5nKF9jdXN0b21Qcm90b2NvbElEKTsKIH0KQEAgLTk5
LDcgKzk2LDcgQEAgLSAoTlNDYWNoZWRVUkxSZXNwb25zZSAqKWNvbm5lY3Rpb246KE5TVVJMQ29u
bmVjdGlvbiAqKWNvbm5lY3Rpb24gd2lsbENhY2hlUmVzcG8KIAogLSAodm9pZCljb25uZWN0aW9u
OihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIGRpZFJlY2VpdmVSZXNwb25zZTooTlNVUkxS
ZXNwb25zZSAqKXJlc3BvbnNlCiB7Ci0gICAgUmVzb3VyY2VSZXNwb25zZSBjb3JlUmVzcG9uc2Uo
cmVzcG9uc2UpOworICAgIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgY29yZVJlc3BvbnNlKHJl
c3BvbnNlKTsKICAgICBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHktPmRpZFJlY2VpdmVSZXNw
b25zZShfY3VzdG9tUHJvdG9jb2xJRCwgY29yZVJlc3BvbnNlLCBfc3RvcmFnZVBvbGljeSk7CiB9
CiAKQEAgLTEyNyw2ICsxMjQsNyBAQCAtICh2b2lkKWNvbm5lY3Rpb25EaWRGaW5pc2hMb2FkaW5n
OihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uCiBAZW5kCiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIHZvaWQgTGVnYWN5Q3VzdG9tUHJvdG9jb2xN
YW5hZ2VyQ2xpZW50OjpzdGFydExvYWRpbmcoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJv
eHkmIG1hbmFnZXIsIHVpbnQ2NF90IGN1c3RvbVByb3RvY29sSUQsIGNvbnN0IFJlc291cmNlUmVx
dWVzdCYgY29yZVJlcXVlc3QpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKaW5kZXggYzJiOTFhNjM5NzNlNjMxMjBh
YWU1MjhmODk3NTM4NWY3YjZkYmY2Mi4uZWRlZDljN2QyYTRlNThlM2QwNThkODMyNjgzMTA5ODE4
MmFmNDQ3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGx1Z2lucy9QbHVn
aW5Qcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luUHJvY2Vzc1Byb3h5LmNwcApAQCAtNDgsNyArNDgsNyBAQCBzdGF0aWMgY29uc3QgU2Vj
b25kcyBzbmFwc2hvdHRpbmdNaW5pbXVtTGlmZXRpbWUgeyAzMF9zIH07CiBzdGF0aWMgY29uc3Qg
U2Vjb25kcyBzaHV0ZG93blRpbWVvdXQgeyAxX21pbiB9Owogc3RhdGljIGNvbnN0IFNlY29uZHMg
c25hcHNob3R0aW5nU2h1dGRvd25UaW1lb3V0IHsgMTVfcyB9OwogCi1zdGF0aWMgdWludDY0X3Qg
Z2VuZXJhdGVDYWxsYmFja0lEKCkKK3N0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZVBsdWdpblByb2Nl
c3NDYWxsYmFja0lEKCkKIHsKICAgICBzdGF0aWMgdWludDY0X3QgY2FsbGJhY2tJRDsKIApAQCAt
MTE0LDcgKzExNCw3IEBAIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpnZXRQbHVnaW5Qcm9jZXNz
Q29ubmVjdGlvbihNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHCiAKIHZvaWQgUGx1Z2luUHJv
Y2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKENvbXBsZXRpb25IYW5kbGVyPHZvaWQgKFZlY3Rv
cjxTdHJpbmc+KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICB1aW50NjRfdCBjYWxsYmFj
a0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7CisgICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdl
bmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQoKTsKICAgICBtX3BlbmRpbmdGZXRjaFdlYnNp
dGVEYXRhQ2FsbGJhY2tzLnNldChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KSk7CiAKICAgICBpZiAoc3RhdGUoKSA9PSBTdGF0ZTo6TGF1bmNoaW5nKSB7CkBAIC0xMjcsNyAr
MTI3LDcgQEAgdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEoQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZCAoVmVjdG9yPFN0cmluZz4KIAogdm9pZCBQbHVnaW5Qcm9jZXNzUHJv
eHk6OmRlbGV0ZVdlYnNpdGVEYXRhKFdhbGxUaW1lIG1vZGlmaWVkU2luY2UsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQgKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgdWludDY0X3QgY2Fs
bGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQg
PSBnZW5lcmF0ZVBsdWdpblByb2Nlc3NDYWxsYmFja0lEKCk7CiAgICAgbV9wZW5kaW5nRGVsZXRl
V2Vic2l0ZURhdGFDYWxsYmFja3Muc2V0KGNhbGxiYWNrSUQsIFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpKTsKIAogICAgIGlmIChzdGF0ZSgpID09IFN0YXRlOjpMYXVuY2hpbmcpIHsKQEAgLTE0
MCw3ICsxNDAsNyBAQCB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEo
V2FsbFRpbWUgbW9kaWZpZWRTaW5jZSwgQ29tcGxldGlvbkhhbgogCiB2b2lkIFBsdWdpblByb2Nl
c3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JIb3N0TmFtZXMoY29uc3QgVmVjdG9yPFN0cmlu
Zz4mIGhvc3ROYW1lcywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKIHsKLSAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7
CisgICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNr
SUQoKTsKICAgICBtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUZvckhvc3ROYW1lc0NhbGxiYWNr
cy5zZXQoY2FsbGJhY2tJRCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAgaWYg
KHN0YXRlKCkgPT0gU3RhdGU6OkxhdW5jaGluZykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9k
ZURlbGVnYXRlSU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVl
L2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tCmluZGV4IDRhMmUy
OWI1NjA5NjFhNTliMWNiNTUxOTc4MzkxNDljMzEwNjg0YzIuLjcyYTg4MmYwNTgxZDVlYWM5MWZj
MTRiYzA1YTAyZjE0NGYxNmMxMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlP
Uy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Nj
cm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW0KQEAgLTQzLDggKzQzLDYgQEAK
ICNpbXBvcnQgPFdlYkNvcmUvU2Nyb2xsU25hcE9mZnNldHNJbmZvLmg+CiAjZW5kaWYKIAotdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIEBpbXBsZW1lbnRhdGlvbiBXS1Njcm9sbGluZ05vZGVT
Y3JvbGxWaWV3RGVsZWdhdGUKIAogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoU2Nyb2xsaW5nVHJl
ZU5vZGVEZWxlZ2F0ZTooV2ViS2l0OjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRl
SU9TKilkZWxlZ2F0ZQpAQCAtODAsNyArNzgsNyBAQCAtICh2b2lkKXNjcm9sbFZpZXdXaWxsRW5k
RHJhZ2dpbmc6KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcgd2l0aFZlbG9jaXR5OihDR1BvaQog
CiAgICAgaWYgKCFfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLmhv
cml6b250YWxTbmFwT2Zmc2V0cygpLmlzRW1wdHkoKSkgewogICAgICAgICB1bnNpZ25lZCBpbmRl
eDsKLSAgICAgICAgZmxvYXQgcG90ZW50aWFsU25hcFBvc2l0aW9uID0gY2xvc2VzdFNuYXBPZmZz
ZXQoX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFs
U25hcE9mZnNldHMoKSwgX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUo
KS5ob3Jpem9udGFsU25hcE9mZnNldFJhbmdlcygpLCBob3Jpem9udGFsVGFyZ2V0LCB2ZWxvY2l0
eS54LCBpbmRleCk7CisgICAgICAgIGZsb2F0IHBvdGVudGlhbFNuYXBQb3NpdGlvbiA9IFdlYkNv
cmU6OmNsb3Nlc3RTbmFwT2Zmc2V0KF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxp
bmdOb2RlKCkuaG9yaXpvbnRhbFNuYXBPZmZzZXRzKCksIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVn
YXRlLT5zY3JvbGxpbmdOb2RlKCkuaG9yaXpvbnRhbFNuYXBPZmZzZXRSYW5nZXMoKSwgaG9yaXpv
bnRhbFRhcmdldCwgdmVsb2NpdHkueCwgaW5kZXgpOwogICAgICAgICBfc2Nyb2xsaW5nVHJlZU5v
ZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnNldEN1cnJlbnRIb3Jpem9udGFsU25hcFBvaW50
SW5kZXgoaW5kZXgpOwogICAgICAgICBpZiAoaG9yaXpvbnRhbFRhcmdldCA+PSAwICYmIGhvcml6
b250YWxUYXJnZXQgPD0gc2Nyb2xsVmlldy5jb250ZW50U2l6ZS53aWR0aCkKICAgICAgICAgICAg
IHRhcmdldENvbnRlbnRPZmZzZXQtPnggPSBwb3RlbnRpYWxTbmFwUG9zaXRpb247CkBAIC04OCw3
ICs4Niw3IEBAIC0gKHZvaWQpc2Nyb2xsVmlld1dpbGxFbmREcmFnZ2luZzooVUlTY3JvbGxWaWV3
ICopc2Nyb2xsVmlldyB3aXRoVmVsb2NpdHk6KENHUG9pCiAKICAgICBpZiAoIV9zY3JvbGxpbmdU
cmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkudmVydGljYWxTbmFwT2Zmc2V0cygpLmlz
RW1wdHkoKSkgewogICAgICAgICB1bnNpZ25lZCBpbmRleDsKLSAgICAgICAgZmxvYXQgcG90ZW50
aWFsU25hcFBvc2l0aW9uID0gY2xvc2VzdFNuYXBPZmZzZXQoX3Njcm9sbGluZ1RyZWVOb2RlRGVs
ZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52ZXJ0aWNhbFNuYXBPZmZzZXRzKCksIF9zY3JvbGxpbmdU
cmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkudmVydGljYWxTbmFwT2Zmc2V0UmFuZ2Vz
KCksIHZlcnRpY2FsVGFyZ2V0LCB2ZWxvY2l0eS55LCBpbmRleCk7CisgICAgICAgIGZsb2F0IHBv
dGVudGlhbFNuYXBQb3NpdGlvbiA9IFdlYkNvcmU6OmNsb3Nlc3RTbmFwT2Zmc2V0KF9zY3JvbGxp
bmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkudmVydGljYWxTbmFwT2Zmc2V0cygp
LCBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2FsU25h
cE9mZnNldFJhbmdlcygpLCB2ZXJ0aWNhbFRhcmdldCwgdmVsb2NpdHkueSwgaW5kZXgpOwogICAg
ICAgICBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnNldEN1cnJl
bnRWZXJ0aWNhbFNuYXBQb2ludEluZGV4KGluZGV4KTsKICAgICAgICAgaWYgKHZlcnRpY2FsVGFy
Z2V0ID49IDAgJiYgdmVydGljYWxUYXJnZXQgPD0gc2Nyb2xsVmlldy5jb250ZW50U2l6ZS5oZWln
aHQpCiAgICAgICAgICAgICB0YXJnZXRDb250ZW50T2Zmc2V0LT55ID0gcG90ZW50aWFsU25hcFBv
c2l0aW9uOwpAQCAtMTIyLDYgKzEyMCw3IEBAIC0gKHZvaWQpc2Nyb2xsVmlld0RpZEVuZERlY2Vs
ZXJhdGluZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldwogQGVuZAogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5n
Tm9kZURlbGVnYXRlSU9TOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TKFNj
cm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlJiBzY3JvbGxpbmdOb2RlKQogICAgIDogU2Nyb2xsaW5n
VHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZShzY3JvbGxpbmdOb2RlKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1Byb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94eS5jcHAKaW5k
ZXggZWZhOGQxM2NiYmQ1ZmZhODA4YjVmMGVkYmY0YTUxZGM5ZGY4NTdlNy4uM2ExMzFiNGQ2MGQ4
YWEwN2U4N2ZiNWU0YzYxNGYzMGE3ZDQyYjU3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJveHkuY3BwCkBAIC0zNyw3ICsz
Nyw3IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1z
dGF0aWMgdWludDY0X3QgZ2VuZXJhdGVDYWxsYmFja0lEKCkKK3N0YXRpYyB1aW50NjRfdCBnZW5l
cmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpCiB7CiAgICAgc3RhdGljIHVpbnQ2NF90IGNh
bGxiYWNrSUQ7CiAKQEAgLTEwNSw3ICsxMDUsNyBAQCB2b2lkIFN0b3JhZ2VQcm9jZXNzUHJveHk6
OmZldGNoV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8Vwog
ewogICAgIEFTU0VSVChjYW5TZW5kTWVzc2FnZSgpKTsKIAotICAgIHVpbnQ2NF90IGNhbGxiYWNr
SUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2Vu
ZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQoKTsKICAgICBtX3BlbmRpbmdGZXRjaFdlYnNp
dGVEYXRhQ2FsbGJhY2tzLmFkZChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KSk7CiAKICAgICBzZW5kKE1lc3NhZ2VzOjpTdG9yYWdlUHJvY2Vzczo6RmV0Y2hXZWJzaXRlRGF0
YShzZXNzaW9uSUQsIGRhdGFUeXBlcywgY2FsbGJhY2tJRCksIDApOwpAQCAtMTEzLDcgKzExMyw3
IEBAIHZvaWQgU3RvcmFnZVByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YShQQUw6OlNlc3Np
b25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXCiAKIHZvaWQgU3RvcmFnZVByb2Nlc3NQcm94eTo6
ZGVsZXRlV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8V2Vi
c2l0ZURhdGFUeXBlPiBkYXRhVHlwZXMsIFdhbGxUaW1lIG1vZGlmaWVkU2luY2UsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQgKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgYXV0byBjYWxs
YmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7CisgICAgYXV0byBjYWxsYmFja0lEID0gZ2Vu
ZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQoKTsKIAogICAgIG1fcGVuZGluZ0RlbGV0ZVdl
YnNpdGVEYXRhQ2FsbGJhY2tzLmFkZChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKSk7CiAgICAgc2VuZChNZXNzYWdlczo6U3RvcmFnZVByb2Nlc3M6OkRlbGV0ZVdlYnNpdGVE
YXRhKHNlc3Npb25JRCwgZGF0YVR5cGVzLCBtb2RpZmllZFNpbmNlLCBjYWxsYmFja0lEKSwgMCk7
CkBAIC0xMjMsNyArMTIzLDcgQEAgdm9pZCBTdG9yYWdlUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJz
aXRlRGF0YUZvck9yaWdpbnMoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELAogewogICAgIEFTU0VS
VChjYW5TZW5kTWVzc2FnZSgpKTsKIAotICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0
ZUNhbGxiYWNrSUQoKTsKKyAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVTdG9yYWdl
UHJvY2Vzc0NhbGxiYWNrSUQoKTsKICAgICBtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUZvck9y
aWdpbnNDYWxsYmFja3MuYWRkKGNhbGxiYWNrSUQsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
KTsKIAogICAgIHNlbmQoTWVzc2FnZXM6OlN0b3JhZ2VQcm9jZXNzOjpEZWxldGVXZWJzaXRlRGF0
YUZvck9yaWdpbnMoc2Vzc2lvbklELCBkYXRhVHlwZXMsIG9yaWdpbnMsIGNhbGxiYWNrSUQpLCAw
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggMjVmZTRhMmU4NGNk
ODQ5ZDNkOWIwZmExY2Q5Mzg5YTczZGMxY2VhNi4uNjVjMDE5ZmQ0ZWUxNWEyMjA5NzQ1NjZiYTYy
ODdjYzQyNDJlNTgyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAg
LTYxLDcgKzYxLDYgQEAKICNpbmNsdWRlICJXZWJQYWdlSW5qZWN0ZWRCdW5kbGVDbGllbnQuaCIK
ICNpbmNsdWRlICJXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5oIgogI2luY2x1ZGUgIldlYlBy
ZWZlcmVuY2VzLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9BbHRlcm5hdGl2ZVRleHRDbGllbnQuaD4g
Ly8gRklYTUU6IE5lZWRlZCBieSBXZWJQYWdlUHJveHlNZXNzYWdlcy5oIGZvciBESUNUQVRJT05f
QUxURVJOQVRJVkVTLgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVk
ZSAiV2ViUG9wdXBNZW51UHJveHkuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzTGlmZXRpbWVUcmFj
a2VyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCBjNzcxNTU5MGVkNzFjY2RkMjNkZjI4NWEzYWE3YzM2ZTU0M2RiN2Y2Li5iYzdjMjQz
ZjQ3OTZhY2MyZWNlNGM0ZmVjYzQ0OTI5MjU4Y2RiNDU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTc1Niw2ICs3NTYsOCBAQAogCQky
RDkyQTc5NTIxMkI2QUQ0MDBGNDkzRkQgLyogUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJE
OTBEMTEyODFDOTY2MDAxRUI5NjIgLyogUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5j
cHAgKi87IH07CiAJCTJEOTJBNzk2MjEyQjZBREEwMEY0OTNGRCAvKiBOZXRzY2FwZVBsdWdpbk1v
ZHVsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QTRBOUM1MzEyQjgxNkNGMDA4RkU5ODQgLyogTmV0c2NhcGVQbHVnaW5Nb2R1bGUuY3BwICovOyB9
OwogCQkyRDkyQTc5NzIxMkI2QURBMDBGNDkzRkQgLyogUGx1Z2luSW5mb3JtYXRpb24uY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MzRjhDOEUxNzNB
RjUyRDAwN0I3RjM5IC8qIFBsdWdpbkluZm9ybWF0aW9uLmNwcCAqLzsgfTsKKwkJMkQ5MkE3OTgy
MTM0OEQ4NTAwRjQ5M0ZEIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWFjLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFCMUY3N0QxRDFCMzBB
OTAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWFjLm1tICovOyB9OworCQky
RDkyQTc5RjIxMzRCMDdFMDBGNDkzRkQgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlJT1Mu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUIxRjc3
QjFEMUIzMEE5MDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlJT1MubW0gKi87
IH07CiAJCTJEOTMxMTY5MjEyRjYxQjIwMDA0NEJGRSAvKiBXS0NvbnRlbnRWaWV3Lm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDQjRFM0QxOEJCRTA0
NDAwMEZDRkM5IC8qIFdLQ29udGVudFZpZXcubW0gKi87IH07CiAJCTJEOTMxMTZBMjEyRjYxQjUw
MDA0NEJGRSAvKiBXS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNCNEU2QjE4QkJGMjZBMDAwRkNGQzkgLyog
V0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tICovOyB9OwogCQkyRDlFQTMwRDFBOTZDQjU5MDAy
RDI4MDcgLyogV0tQYWdlSW5qZWN0ZWRCdW5kbGVDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUVBMzBDMUE5NkNCNTkwMDJEMjgwNyAvKiBX
S1BhZ2VJbmplY3RlZEJ1bmRsZUNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CkBAIC0xMTI0MSw2ICsxMTI0Myw4IEBACiAJCQkJN0NFOUNFMTAx
RkEwNzY3QTAwMDE3N0RFIC8qIFdlYlBhZ2VVcGRhdGVQcmVmZXJlbmNlcy5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk3QzQ2OTRDOTFBNEI0RUExMDBBRDU4NDUgLyogV2ViUGFzdGVib2FyZFByb3h5
TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBQjFGNzk2MUQxQjM2MTMw
MDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJMkQ5MkE3OUYyMTM0QjA3RTAwRjQ5M0ZEIC8qIFdlYlBheW1lbnRDb29y
ZGluYXRvclByb3h5SU9TLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5MkE3OTgyMTM0OEQ4NTAw
RjQ5M0ZEIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWFjLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJMUFCMUY3OTgxRDFCMzYxMzAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOTJBNzhEMjEyQjZB
QjEwMEY0OTNGRCAvKiBXZWJQbGF0Zm9ybVRvdWNoUG9pbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMkQ5MTM0NEUyMTJDRjlGMDAwMTI4QUZEIC8qIFdlYlBsdWdpbkluZm9Qcm92aWRlci5jcHAg
aW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVn
aW5zL1BERi9QREZQbHVnaW4ubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9Q
REYvUERGUGx1Z2luLm1tCmluZGV4IDUzMDdlMjZhNzYzN2U4YTY5YjA0NWFiYjkyODc5ZjNmOGM2
NTg2ZjIuLjRjYWE2Y2MwZjYwNDUwYzAzYjIyYTI4NGRkMTNhZjI1ZWZkNmUzODYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0KKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5tbQpAQCAt
ODgsOCArODgsNiBAQAogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNNZW51U1BJLmg+CiAjaW1wb3J0
IDx3dGYvVVVJRC5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogLy8gU2V0IG92ZXJm
bG93OiBoaWRkZW4gb24gdGhlIGFubm90YXRpb24gY29udGFpbmVyIHNvIDxpbnB1dD4gZWxlbWVu
dHMgc2Nyb2xsZWQgb3V0IG9mIHZpZXcgZG9uJ3Qgc2hvdwogLy8gc2Nyb2xsYmFycyBvbiB0aGUg
Ym9keS4gV2UgY2FuJ3QgYWRkIGFubm90YXRpb25zIGRpcmVjdGx5IHRvIHRoZSBib2R5LCBiZWNh
dXNlIG92ZXJmbG93OiBoaWRkZW4gb24gdGhlIGJvZHkKIC8vIHdpbGwgYnJlYWsgcnViYmVyLWJh
bmRpbmcuCkBAIC0yOTAsNyArMjg4LDcgQEAgLSAoTlNBcnJheSAqKWFjY2Vzc2liaWxpdHlBY3Rp
b25OYW1lcwogLSAodm9pZClhY2Nlc3NpYmlsaXR5UGVyZm9ybUFjdGlvbjooTlNTdHJpbmcgKilh
Y3Rpb24KIHsKICAgICBpZiAoW2FjdGlvbiBpc0VxdWFsVG9TdHJpbmc6TlNBY2Nlc3NpYmlsaXR5
U2hvd01lbnVBY3Rpb25dKQotICAgICAgICBfcGRmUGx1Z2luLT5zaG93Q29udGV4dE1lbnVBdFBv
aW50KEludFJlY3QoSW50UG9pbnQoKSwgX3BkZlBsdWdpbi0+c2l6ZSgpKS5jZW50ZXIoKSk7Cisg
ICAgICAgIF9wZGZQbHVnaW4tPnNob3dDb250ZXh0TWVudUF0UG9pbnQoV2ViQ29yZTo6SW50UmVj
dChXZWJDb3JlOjpJbnRQb2ludCgpLCBfcGRmUGx1Z2luLT5zaXplKCkpLmNlbnRlcigpKTsKIH0K
IAogLSAoQk9PTClhY2Nlc3NpYmlsaXR5SXNBdHRyaWJ1dGVTZXR0YWJsZTooTlNTdHJpbmcgKilh
dHRyaWJ1dGUKQEAgLTMxNiw4ICszMTQsOCBAQCAtIChpZClhY2Nlc3NpYmlsaXR5Rm9jdXNlZFVJ
RWxlbWVudAogewogI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAw
CiAgICAgaWYgKFdlYktpdDo6UERGUGx1Z2luQW5ub3RhdGlvbiogYWN0aXZlQW5ub3RhdGlvbiA9
IF9wZGZQbHVnaW4tPmFjdGl2ZUFubm90YXRpb24oKSkgewotICAgICAgICBpZiAoQVhPYmplY3RD
YWNoZSogZXhpc3RpbmdDYWNoZSA9IF9wZGZQbHVnaW4tPmF4T2JqZWN0Q2FjaGUoKSkgewotICAg
ICAgICAgICAgaWYgKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCA9IGV4aXN0aW5nQ2FjaGUt
PmdldE9yQ3JlYXRlKGFjdGl2ZUFubm90YXRpb24tPmVsZW1lbnQoKSkpCisgICAgICAgIGlmIChX
ZWJDb3JlOjpBWE9iamVjdENhY2hlKiBleGlzdGluZ0NhY2hlID0gX3BkZlBsdWdpbi0+YXhPYmpl
Y3RDYWNoZSgpKSB7CisgICAgICAgICAgICBpZiAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVj
dCogb2JqZWN0ID0gZXhpc3RpbmdDYWNoZS0+Z2V0T3JDcmVhdGUoYWN0aXZlQW5ub3RhdGlvbi0+
ZWxlbWVudCgpKSkKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCiAjcHJhZ21hIGNsYW5n
IGRpYWdub3N0aWMgaWdub3JlZCAiLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIKICAgICAgICAg
ICAgICAgICByZXR1cm4gW29iamVjdC0+d3JhcHBlcigpIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVW
YWx1ZTpAIl9BWEFzc29jaWF0ZWRQbHVnaW5QYXJlbnQiXTsKQEAgLTMzOCwxMSArMzM2LDExIEBA
IC0gKGlkKWFjY2Vzc2liaWxpdHlBc3NvY2lhdGVkQ29udHJvbEZvckFubm90YXRpb246KFBERkFu
bm90YXRpb24gKilhbm5vdGF0aW9uCiAgICAgaWYgKCFhY3RpdmVBbm5vdGF0aW9uIHx8ICFbYWN0
aXZlQW5ub3RhdGlvbi0+YW5ub3RhdGlvbigpIGlzRXF1YWw6YW5ub3RhdGlvbl0pCiAgICAgICAg
IHJldHVybiBuaWw7CiAgICAgCi0gICAgQVhPYmplY3RDYWNoZSogY2FjaGUgPSBfcGRmUGx1Z2lu
LT5heE9iamVjdENhY2hlKCk7CisgICAgV2ViQ29yZTo6QVhPYmplY3RDYWNoZSogY2FjaGUgPSBf
cGRmUGx1Z2luLT5heE9iamVjdENhY2hlKCk7CiAgICAgaWYgKCFjYWNoZSkKICAgICAgICAgcmV0
dXJuIG5pbDsKICAgICAKLSAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QgPSBjYWNoZS0+
Z2V0T3JDcmVhdGUoYWN0aXZlQW5ub3RhdGlvbi0+ZWxlbWVudCgpKTsKKyAgICBXZWJDb3JlOjpB
Y2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QgPSBjYWNoZS0+Z2V0T3JDcmVhdGUoYWN0aXZlQW5u
b3RhdGlvbi0+ZWxlbWVudCgpKTsKICAgICBpZiAoIW9iamVjdCkKICAgICAgICAgcmV0dXJuIG5p
bDsKIApAQCAtMzUzLDcgKzM1MSw3IEBAIC0gKGlkKWFjY2Vzc2liaWxpdHlBc3NvY2lhdGVkQ29u
dHJvbEZvckFubm90YXRpb246KFBERkFubm90YXRpb24gKilhbm5vdGF0aW9uCiAtIChpZClhY2Nl
c3NpYmlsaXR5SGl0VGVzdDooTlNQb2ludClwb2ludAogewogI2lmIF9fTUFDX09TX1hfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwCi0gICAgcG9pbnQgPSBfcGRmUGx1Z2luLT5jb252ZXJ0
RnJvbVJvb3RWaWV3VG9QREZWaWV3KEludFBvaW50KHBvaW50KSk7CisgICAgcG9pbnQgPSBfcGRm
UGx1Z2luLT5jb252ZXJ0RnJvbVJvb3RWaWV3VG9QREZWaWV3KFdlYkNvcmU6OkludFBvaW50KHBv
aW50KSk7CiAgICAgcmV0dXJuIFtfcGRmTGF5ZXJDb250cm9sbGVyIGFjY2Vzc2liaWxpdHlIaXRU
ZXN0OnBvaW50XTsKICNlbHNlCiAgICAgcmV0dXJuIHNlbGY7CkBAIC00MjEsNyArNDE5LDcgQEAg
LSAoaWQpaW5pdFdpdGhQREZQbHVnaW46KFdlYktpdDo6UERGUGx1Z2luICopcGx1Z2luCiAKIC0g
KHZvaWQpdXBkYXRlU2Nyb2xsUG9zaXRpb246KENHUG9pbnQpbmV3UG9zaXRpb24KIHsKLSAgICBf
cGRmUGx1Z2luLT5ub3RpZnlTY3JvbGxQb3NpdGlvbkNoYW5nZWQoSW50UG9pbnQobmV3UG9zaXRp
b24pKTsKKyAgICBfcGRmUGx1Z2luLT5ub3RpZnlTY3JvbGxQb3NpdGlvbkNoYW5nZWQoV2ViQ29y
ZTo6SW50UG9pbnQobmV3UG9zaXRpb24pKTsKIH0KIAogLSAodm9pZCl3cml0ZUl0ZW1zVG9QYXN0
ZWJvYXJkOihOU0FycmF5ICopaXRlbXMgd2l0aFR5cGVzOihOU0FycmF5ICopdHlwZXMKQEAgLTUw
MCw2ICs0OTgsMTAgQEAgLSAoTlNSZWN0KWNvbnZlcnRSZWN0OihOU1JlY3QpcmVjdCBmcm9tUGFn
ZTooUERGUGFnZSAqKSBwYWdlIGZvclNjYWxlRmFjdG9yOihDR0YKIC0gKFBERlBhZ2UgKilwYWdl
TmVhcmVzdFBvaW50OihOU1BvaW50KXBvaW50IGN1cnJlbnRQYWdlOihQREZQYWdlICopY3VycmVu
dFBhZ2U7CiBAZW5kCiAKK25hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7Cit1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOworCiBzdGF0aWMgY29uc3QgY2hhciogcG9z
dFNjcmlwdE1JTUVUeXBlID0gImFwcGxpY2F0aW9uL3Bvc3RzY3JpcHQiOwogY29uc3QgdWludDY0
X3QgcGRmRG9jdW1lbnRSZXF1ZXN0SUQgPSAxOyAvLyBQbHVnaW5Db250cm9sbGVyIHN1cHBvcnRz
IGxvYWRpbmcgbXVsdGlwbGUgc3RyZWFtcywgYnV0IHdlIG9ubHkgbmVlZCBvbmUgZm9yIFBERi4K
IApAQCAtNTk2LDkgKzU5OCw2IEBAIHN0YXRpYyB2b2lkIGdldEFsbFNjcmlwdHNJblBERkRvY3Vt
ZW50KENHUERGRG9jdW1lbnRSZWYgcGRmRG9jdW1lbnQsIFZlY3RvcjxSZXRhCiAgICAgfQogfQog
Ci1uYW1lc3BhY2UgV2ViS2l0IHsKLXVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7Ci0KIFJlZjxQ
REZQbHVnaW4+IFBERlBsdWdpbjo6Y3JlYXRlKFdlYkZyYW1lJiBmcmFtZSkKIHsKICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBQREZQbHVnaW4oZnJhbWUpKTsKQEAgLTE0NTAsNyArMTQ0OSw3IEBA
IHZvaWQgUERGUGx1Z2luOjp1cGRhdGVDdXJzb3IoY29uc3QgV2ViTW91c2VFdmVudCYgZXZlbnQs
IFVwZGF0ZUN1cnNvck1vZGUgbW9kZSkKICAgICBpZiAoaGl0VGVzdFJlc3VsdCA9PSBtX2xhc3RI
aXRUZXN0UmVzdWx0ICYmIG1vZGUgPT0gVXBkYXRlSWZOZWVkZWQpCiAgICAgICAgIHJldHVybjsK
IAotICAgIHdlYkZyYW1lKCktPnBhZ2UoKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpT
ZXRDdXJzb3IoaGl0VGVzdFJlc3VsdCA9PSBUZXh0ID8gaUJlYW1DdXJzb3IoKSA6IHBvaW50ZXJD
dXJzb3IoKSkpOworICAgIHdlYkZyYW1lKCktPnBhZ2UoKS0+c2VuZChNZXNzYWdlczo6V2ViUGFn
ZVByb3h5OjpTZXRDdXJzb3IoaGl0VGVzdFJlc3VsdCA9PSBUZXh0ID8gV2ViQ29yZTo6aUJlYW1D
dXJzb3IoKSA6IFdlYkNvcmU6OnBvaW50ZXJDdXJzb3IoKSkpOwogICAgIG1fbGFzdEhpdFRlc3RS
ZXN1bHQgPSBoaXRUZXN0UmVzdWx0OwogfQogI2VuZGlmCkBAIC0xOTgxLDE2ICsxOTgwLDE2IEBA
IHZvaWQgUERGUGx1Z2luOjpub3RpZnlTZWxlY3Rpb25DaGFuZ2VkKFBERlNlbGVjdGlvbiAqKQog
ICAgIHdlYkZyYW1lKCktPnBhZ2UoKS0+ZGlkQ2hhbmdlU2VsZWN0aW9uKCk7CiB9CiAKLXN0YXRp
YyBjb25zdCBDdXJzb3ImIGNvcmVDdXJzb3IoUERGTGF5ZXJDb250cm9sbGVyQ3Vyc29yVHlwZSB0
eXBlKQorc3RhdGljIGNvbnN0IFdlYkNvcmU6OkN1cnNvciYgY29yZUN1cnNvcihQREZMYXllckNv
bnRyb2xsZXJDdXJzb3JUeXBlIHR5cGUpCiB7CiAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAgY2Fz
ZSBrUERGTGF5ZXJDb250cm9sbGVyQ3Vyc29yVHlwZUhhbmQ6Ci0gICAgICAgIHJldHVybiBoYW5k
Q3Vyc29yKCk7CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpoYW5kQ3Vyc29yKCk7CiAgICAgY2Fz
ZSBrUERGTGF5ZXJDb250cm9sbGVyQ3Vyc29yVHlwZUlCZWFtOgotICAgICAgICByZXR1cm4gaUJl
YW1DdXJzb3IoKTsKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OmlCZWFtQ3Vyc29yKCk7CiAgICAg
Y2FzZSBrUERGTGF5ZXJDb250cm9sbGVyQ3Vyc29yVHlwZVBvaW50ZXI6CiAgICAgZGVmYXVsdDoK
LSAgICAgICAgcmV0dXJuIHBvaW50ZXJDdXJzb3IoKTsKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6
OnBvaW50ZXJDdXJzb3IoKTsKICAgICB9CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348314</attachid>
            <date>2018-08-28 11:32:51 -0700</date>
            <delta_ts>2018-08-28 12:45:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189009-20180828113250.patch</filename>
            <type>text/plain</type>
            <size>63154</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGMyOWZmMzZiMTcwMDNiYTAxZDNlYmJj
YWNhNDY4ZTRmNDZlM2YzN2IuLjA3YzYxYjkxMTg5ZjZmYjg3M2MxN2MxNWM0N2Y1NzI2ODE0YzY4
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3Jl
IHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL2dlbmVy
YXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmI6CisgICAgICAgIEl0IHR1cm5zIG91dCBvdXIg
cGxhbiB0byBzd2l0Y2ggdW5pZmllZCBzb3VyY2UgYnVuZGxlIGV2ZXJ5IHRpbWUgdGhlIGRpcmVj
dG9yeQorICAgICAgICBjaGFuZ2VzIGlzIG5vdCBhIGdvb2QgZml0IGZvciBwcm9qZWN0cyBsaWtl
IFdlYktpdDIgd2l0aCBtYW55IHNtYWxsIGRpcmVjdG9yaWVzLgorICAgICAgICBJdCBsZWF2ZXMg
bWFueSB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIHdpdGggb25seSBhIHNpbmdsZSBzb3VyY2UgZmls
ZSwKKyAgICAgICAgYWNoaWV2aW5nIG9ubHkgfjQwJSBkZW5zaXR5LgorCisgICAgICAgIEluc3Rl
YWQsIHN3aXRjaCB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIGV2ZXJ5IHRpbWUgdGhlIHRvcC1sZXZl
bCBkaXJlY3RvcnkgY2hhbmdlcy4KKyAgICAgICAgVGhpcyBzdGlsbCBhY2hpZXZlcyB0aGUgZ29h
bCBvZiAqdXN1YWxseSogb25seSByZWJ1aWxkaW5nIHRoZSBvbmUgdG9wLWxldmVsCisgICAgICAg
IGRpcmVjdG9yeSB5b3UgdG91Y2hlZCwgYW5kIGluY3JlYXNlcyBzb3VyY2UgYnVuZGxlIGRlbnNp
dHkgd2lsZGx5LCB0byB+OTUlLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTgt
MDgtMjcgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQgYnVpbGQgZml4IC0tIGRpc2FibGUgTFRPIGZvciBwcm9kdWN0aW9uIGJ1aWxkcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDBkZTc5NjdkNzZmODU2YjdlYTY1NWYyNzE1ZTVjNzQ3YmEzZDk4Y2IuLmRmMjlk
M2VkZjAzOTY0MDg1OGU0Nzk5N2EwMjExZDBmNTI3MTYwODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzOCBAQAorMjAxOC0wOC0yNyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNv
bT4KKworICAgICAgICBCdW5kbGUgdW5pZmllZCBzb3VyY2VzIG1vcmUgdGlnaHRseSBpbiBwcm9q
ZWN0cyB3aXRoIGRlZXAgZGlyZWN0b3J5IHN0cnVjdHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTAwOQorCisgICAgICAgIFJldmlld2VkIGJ5
IFNpbW9uIEZyYXNlci4KKworICAgICAgICBGaXggYSB2YXJpZXR5IG9mIHVuaWZpY2F0aW9uIGVy
cm9ycyBkdWUgdG8gcmVzaHVmZmxpbmcgdGhlIGJ1bmRsZXMuCisKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAqIFNvdXJjZXNDb2NvYS50
eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUVDRFNBLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUVDRFNBOjppbXBvcnRLZXkpOgorICAgICAgICAqIGRv
bS9Eb2N1bWVudC5oOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHA6
CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRl
ci5oOgorICAgICAgICAqIHBhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50Lmg6CisgICAgICAgICog
cGxhdGZvcm0vUGFzdGVib2FyZC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Rpc3Bs
YXlSZWZyZXNoTW9uaXRvci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZh
bWlseVNwZWNpZmljYXRpb25OdWxsLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJHTExheWVyLm1tOgorICAgICAgICAoLVtXZWJHTExheWVyIGluaXRXaXRoR3JhcGhp
Y3NDb250ZXh0M0Q6XSk6CisgICAgICAgICgtW1dlYkdMTGF5ZXIgY29weUltYWdlU25hcHNob3RX
aXRoQ29sb3JTcGFjZTpdKToKKyAgICAgICAgKC1bV2ViR0xMYXllciBkaXNwbGF5XSk6CisgICAg
ICAgICgtW1dlYkdMTGF5ZXIgYWxsb2NhdGVJT1N1cmZhY2VCYWNraW5nU3RvcmVXaXRoU2l6ZTp1
c2luZ0FscGhhOl0pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxh
eWVyLm1tOgorICAgICAgICAoLVtXZWJHUFVMYXllciBpbml0V2l0aEdQVURldmljZTpdKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHA6CisgICAgICAg
ICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwOgor
CiAyMDE4LTA4LTI3ICBKdXN0aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgV2ViR0wgMiBjb25mb3JtYW5jZTogZnJhbWVidWZmZXItdGVzdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxMzU0
MjExNTNiYWJiM2QyZjhiN2U4MWQyMTcwZjNhOWRkMTEzZWJjLi5mNDYyNzE3YTQ0MGMzMDE3NjQ4
Yzg4YzFmOTQwNGMxMDVkM2IzMDViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDE4LTA4
LTI3ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIEJ1
bmRsZSB1bmlmaWVkIHNvdXJjZXMgbW9yZSB0aWdodGx5IGluIHByb2plY3RzIHdpdGggZGVlcCBk
aXJlY3Rvcnkgc3RydWN0dXJlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTg5MDA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgor
CisgICAgICAgIEZpeCBhIHZhcmlldHkgb2YgdW5pZmljYXRpb24gZXJyb3JzIGR1ZSB0byByZXNo
dWZmbGluZyB0aGUgYnVuZGxlcy4KKworICAgICAgICAqIFNoYXJlZC9BUElXZWJBcmNoaXZlLm1t
OgorICAgICAgICAqIFNoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW06CisgICAgICAgICog
U2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tOgor
ICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9QbHVnaW5JbmZvcm1hdGlvbk1h
Yy5tbToKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaDoKKyAgICAgICAgKEFQSTo6QXV0b21hdGlv
blNlc3Npb25DbGllbnQ6OnNlc3Npb25JZGVudGlmaWVyIGNvbnN0KToKKyAgICAgICAgKEFQSTo6
QXV0b21hdGlvblNlc3Npb25DbGllbnQ6Om1lc3NhZ2VPZkN1cnJlbnRKYXZhU2NyaXB0RGlhbG9n
T25QYWdlKToKKyAgICAgICAgKEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6OnNldFVzZXJJ
bnB1dEZvckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tOgorICAgICAgICAo
LVtXS0N1c3RvbVByb3RvY29sTG9hZGVyIGluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5h
Z2VyUHJveHk6Y3VzdG9tUHJvdG9jb2xJRDpyZXF1ZXN0Ol0pOgorICAgICAgICAoLVtXS0N1c3Rv
bVByb3RvY29sTG9hZGVyIGNvbm5lY3Rpb246ZGlkRmFpbFdpdGhFcnJvcjpdKToKKyAgICAgICAg
KC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBjb25uZWN0aW9uOmRpZFJlY2VpdmVSZXNwb25zZTpd
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZVBsdWdpblByb2Nlc3NDYWxsYmFja0lEKToKKyAgICAg
ICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKToKKyAgICAg
ICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YSk6CisgICAg
ICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JIb3N0
TmFtZXMpOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZUNhbGxiYWNrSUQpOiBEZWxldGVkLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlRGVsZWdhdGVJT1MubW06CisgICAgICAgICgtW1dLU2Nyb2xsaW5nTm9kZVNjcm9s
bFZpZXdEZWxlZ2F0ZSBzY3JvbGxWaWV3V2lsbEVuZERyYWdnaW5nOndpdGhWZWxvY2l0eTp0YXJn
ZXRDb250ZW50T2Zmc2V0Ol0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQ
cm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNz
Q2FsbGJhY2tJRCk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VQcm9jZXNzUHJveHk6OmZldGNo
V2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc1Byb3h5OjpkZWxl
dGVXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VQcm9jZXNzUHJveHk6OmRl
bGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyk6CisgICAgICAgIChXZWJLaXQ6OmdlbmVyYXRlQ2Fs
bGJhY2tJRCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW06Cisg
ICAgICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5UGVy
Zm9ybUFjdGlvbjpdKToKKyAgICAgICAgKC1bV0tQREZQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0
IGFjY2Vzc2liaWxpdHlGb2N1c2VkVUlFbGVtZW50XSk6CisgICAgICAgICgtW1dLUERGUGx1Z2lu
QWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5QXNzb2NpYXRlZENvbnRyb2xGb3JBbm5v
dGF0aW9uOl0pOgorICAgICAgICAoLVtXS1BERlBsdWdpbkFjY2Vzc2liaWxpdHlPYmplY3QgYWNj
ZXNzaWJpbGl0eUhpdFRlc3Q6XSk6CisgICAgICAgICgtW1dLUERGTGF5ZXJDb250cm9sbGVyRGVs
ZWdhdGUgdXBkYXRlU2Nyb2xsUG9zaXRpb246XSk6CisgICAgICAgIChXZWJLaXQ6OlBERlBsdWdp
bjo6dXBkYXRlQ3Vyc29yKToKKyAgICAgICAgKFdlYktpdDo6Y29yZUN1cnNvcik6CisgICAgICAg
IChhcHBlbmRWYWx1ZXNJblBERk5hbWVTdWJ0cmVlVG9WZWN0b3IpOiBEZWxldGVkLgorICAgICAg
ICAoZ2V0QWxsVmFsdWVzSW5QREZOYW1lVHJlZSk6IERlbGV0ZWQuCisgICAgICAgIChnZXRBbGxT
Y3JpcHRzSW5QREZEb2N1bWVudCk6IERlbGV0ZWQuCisKIDIwMTgtMDgtMjcgIEJhc3VrZSBTdXp1
a2kgIDxCYXN1a2UuU3V6dWtpQHNvbnkuY29tPgogCiAgICAgICAgIFtDdXJsXSBFbmFibGUgUHJv
eHkgQXV0aGVudGljYXRpb24gb24gV2ViS2l0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3Jp
cHRzL2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIgYi9Tb3VyY2UvV1RGL1Njcmlw
dHMvZ2VuZXJhdGUtdW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYgppbmRleCBjMDE5NjZlZTFiMmM2
N2Q5NzYwZjAzYTViYmNhYTNjYjU3MjYxMmIzLi5hYmQ5NzY3N2EyMGFkYjRkNDYyZWI5OGY3Nzhk
OTgwMjliZGQ0OTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1NjcmlwdHMvZ2VuZXJhdGUtdW5p
ZmllZC1zb3VyY2UtYnVuZGxlcy5yYgorKysgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvZ2VuZXJhdGUt
dW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYgpAQCAtMjEwLDEwICsyMTAsMTcgQEAgY2xhc3MgQnVu
ZGxlTWFuYWdlcgogICAgIGVuZAogZW5kCiAKK2RlZiBUb3BMZXZlbERpcmVjdG9yeUZvclBhdGgo
cGF0aCkKKyAgICBpZiAhcGF0aAorICAgICAgICByZXR1cm4gbmlsCisgICAgZW5kCisgICAgcmV0
dXJuIHBhdGguZWFjaF9maWxlbmFtZS5uZXh0CitlbmQKKwogZGVmIFByb2Nlc3NGaWxlRm9yVW5p
ZmllZFNvdXJjZUdlbmVyYXRpb24oc291cmNlRmlsZSkKICAgICBwYXRoID0gc291cmNlRmlsZS5w
YXRoCi0gICAgaWYgKCRjdXJyZW50RGlyZWN0b3J5ICE9IHBhdGguZGlybmFtZSkKLSAgICAgICAg
bG9nKCJGbHVzaGluZyBiZWNhdXNlIG5ldyBkaXJuYW1lOyBvbGQ6ICN7JGN1cnJlbnREaXJlY3Rv
cnl9LCBuZXc6ICN7cGF0aC5kaXJuYW1lfSIpCisgICAgaWYgKFRvcExldmVsRGlyZWN0b3J5Rm9y
UGF0aCgkY3VycmVudERpcmVjdG9yeSkgIT0gVG9wTGV2ZWxEaXJlY3RvcnlGb3JQYXRoKHBhdGgu
ZGlybmFtZSkpCisgICAgICAgIGxvZygiRmx1c2hpbmcgYmVjYXVzZSBuZXcgdG9wIGxldmVsIGRp
cmVjdG9yeTsgb2xkOiAjeyRjdXJyZW50RGlyZWN0b3J5fSwgbmV3OiAje3BhdGguZGlybmFtZX0i
KQogICAgICAgICAkYnVuZGxlTWFuYWdlcnMuZWFjaF92YWx1ZSB7IHx4fCB4LmZsdXNoIH0KICAg
ICAgICAgJGN1cnJlbnREaXJlY3RvcnkgPSBwYXRoLmRpcm5hbWUKICAgICBlbmQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5o
CmluZGV4IDBjNmVmYjg2Mjk4MjUzOWQyYjRiMmNjNGY4ZjhiNWZjYjRlYzg4ZTguLjY3Y2ZhOTMz
MTNjOTA0MjFlYjZjZjE3OWQ5OGVmNzAzZGEwZTQ5ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApAQCAtMTMxNCw2
ICsxMzE0LDcgQEAKICNpZiBQTEFURk9STShNQUMpCiAjZGVmaW5lIEhBVkVfVE9VQ0hfQkFSIDEK
ICNkZWZpbmUgSEFWRV9BRFZBTkNFRF9TUEVMTF9DSEVDS0lORyAxCisjZGVmaW5lIFVTRV9ESUNU
QVRJT05fQUxURVJOQVRJVkVTIDEKIAogI2lmIGRlZmluZWQoX19MUDY0X18pCiAjZGVmaW5lIEVO
QUJMRV9XRUJfUExBWUJBQ0tfQ09OVFJPTFNfTUFOQUdFUiAxCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdC
dWZmZXIuaAppbmRleCBmMjkzZDMzM2RiZTNlNDVlNjM3YTE0ODY3MzNkMGEyZmQ4YzA4YzBjLi5l
MzJjZDI2MGRkOTRkYjE1NTk4NWJmYjQ3NjI5YjhhOTExMzZjMjY5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQv
U3RyaW5nQnVmZmVyLmgKQEAgLTI5LDkgKzI5LDEwIEBACiAjaWZuZGVmIFN0cmluZ0J1ZmZlcl9o
CiAjZGVmaW5lIFN0cmluZ0J1ZmZlcl9oCiAKLSNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgog
I2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDx1bmljb2RlL3V0eXBlcy5oPgorI2luY2x1ZGUg
PHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVkZSA8d3RmL01hbGxvY1B0ci5oPgogCiBuYW1lc3Bh
Y2UgV1RGIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3Jr
ZXJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvV29ya2VyQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAKaW5kZXggYWQyMDkzMjE5Zjg4ZTZk
YTNlMWQ2MDYyNGU0MWFlOWE0MWRmNDkyNy4uMWViZGQ1ZGU0OGE3ZTdlMWM5NmEwMWM3OGZlZDdk
YTViYzRmYjg4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3Jr
ZXJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2NhY2hlL1dvcmtlckNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCkBAIC0yOSw2ICsyOSw3IEBA
CiAKICNpbmNsdWRlICJDYWNoZVF1ZXJ5T3B0aW9ucy5oIgogI2luY2x1ZGUgIkNhY2hlU3RvcmFn
ZVByb3ZpZGVyLmgiCisjaW5jbHVkZSAiQ2xpZW50T3JpZ2luLmgiCiAjaW5jbHVkZSAiRG9jdW1l
bnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIK
QEAgLTM2LDcgKzM3LDYgQEAKICNpbmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCiAjaW5jbHVkZSAi
V29ya2VyVGhyZWFkLmgiCiAKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNwcAppbmRleCA5NjEzMmU2OTczN2FlOThh
NjBmOTU0ZjFmMzExODM4NDEwNzFlMGE5Li5jZGI3NzdlOTk5MjkyMjFjZjBhOGYwMTE0MmIyZDA3
ZWRlOWVmZWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDQ29udHJvbGxlci5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShXRUJf
UlRDKQogCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENQcm92aWRl
ci5oIgogI2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9uLmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1
ZXN0VXBkYXRlRXZlbnQuY3BwCmluZGV4IGMyMDUzMzVlYWE4ZTkxOGE2ZDM4YWU0ZjJmZmM4MWFl
ZDQ1YTlhMGYuLjk0YjcxYzQ2NjE5MjQxMzVjMjFhZWE2OWQ0ODk5ZDdiMDc1YTYyYTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVl
c3RVcGRhdGVFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVx
dWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50LmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAj
aWYgRU5BQkxFKFBBWU1FTlRfUkVRVUVTVCkKIAorI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNp
bmNsdWRlICJQYXltZW50UmVxdWVzdC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAKaW5kZXggYWRiNzUxZDBjMzljMGE1
NmI1ZTRkYzFmNTQyMTBiZGFhNGVkZmY3OC4uYTkzM2Q5ODBmY2Y1YTk5MTc0YWIwZTBjNDAwMjA5
MTZjYmYxYjM2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRp
c3BsYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNw
cApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkNhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCIK
ICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJET01FeGNlcHRpb24uaCIKKyNpbmNsdWRl
ICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiUGFnZS5o
IgogI2luY2x1ZGUgIlNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9jcnlwdG8vZ2NyeXB0L1V0aWxpdGllcy5oIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9jcnlwdG8vZ2NyeXB0L1V0aWxpdGllcy5oCmluZGV4IDgyZmUxN2Mw
M2I0MTE3M2VjMTNkMzBiMmZjMzFmYWMxZDI4YTU4ZGYuLjYyOTJhMGY4MGJiMGY1ODI2NTMyZmU0
MWIzYmFhMDkxYmRlMmM2MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY3J5
cHRvL2djcnlwdC9VdGlsaXRpZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NyeXB0
by9nY3J5cHQvVXRpbGl0aWVzLmgKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgPGdjcnlw
dC5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVkZSA8d3RmL09wdGlvbmFs
Lmg+CiAKIG5hbWVzcGFjZSBQQUwgewogbmFtZXNwYWNlIEdDcnlwdCB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlc0Nv
Y29hLnR4dAppbmRleCA2NmY3ZjE2YmQ2NGY4MmM0MzJiZWFlZDhlNzBkMWI1ZmYwNjNhNTE3Li45
NTdlNGI1YjY2MWI0MDIwZjBhMjFlZTAwOTVjMDE3NjQ2ZTQ5M2EzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXND
b2NvYS50eHQKQEAgLTM4OSw3ICszODksNyBAQCBwbGF0Zm9ybS9pb3MvUGxhdGZvcm1TY3JlZW5J
T1MubW0KIHBsYXRmb3JtL2lvcy9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVySU9TLm1tIEBuby11
bmlmeQogcGxhdGZvcm0vaW9zL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0Lm1tIEBuby11
bmlmeQogcGxhdGZvcm0vaW9zL1F1aWNrTG9vay5tbQotcGxhdGZvcm0vaW9zL1F1aWNrTG9va1Nv
ZnRMaW5rLm1tCitwbGF0Zm9ybS9pb3MvUXVpY2tMb29rU29mdExpbmsubW0gQG5vLXVuaWZ5CiBw
bGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLm1tCiBwbGF0Zm9ybS9pb3MvU2Ny
b2xsQW5pbWF0b3JJT1MubW0KIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbQpAQCAt
Mzk5LDcgKzM5OSw3IEBAIHBsYXRmb3JtL2lvcy9TU0xLZXlHZW5lcmF0b3JJT1MuY3BwCiBwbGF0
Zm9ybS9pb3MvU3lzdGVtTWVtb3J5SU9TLmNwcAogcGxhdGZvcm0vaW9zL1RoZW1lSU9TLm1tIEBu
by11bmlmeQogcGxhdGZvcm0vaW9zL1RpbGVDb250cm9sbGVyTWVtb3J5SGFuZGxlcklPUy5jcHAK
LXBsYXRmb3JtL2lvcy9Vc2VyQWdlbnRJT1MubW0KK3BsYXRmb3JtL2lvcy9Vc2VyQWdlbnRJT1Mu
bW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvVmFsaWRhdGlvbkJ1YmJsZUlPUy5tbSBAbm8tdW5p
ZnkKIHBsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbSBAbm8tdW5p
ZnkKIHBsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIubW0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlc0dUSy50
eHQKaW5kZXggNDYyNmI2ZmNiZTU0YTQ5NWVkMTBjNmJiODI0NDlhMDQ5NzYyMjc3My4uZTYxNmYy
N2U1YmVlMDkwZmI0YzdjNWM1MTJlNWI2NmEyMmM3N2Y1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvU291cmNlc0dUSy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlc0dUSy50eHQK
QEAgLTYxLDE0ICs2MSwxNCBAQCBwbGF0Zm9ybS9Vc2VyQWdlbnRRdWlya3MuY3BwCiAKIHBsYXRm
b3JtL2dlb2NsdWUvR2VvbG9jYXRpb25Qcm92aWRlckdlb2NsdWUuY3BwCiAKLXBsYXRmb3JtL2dy
YXBoaWNzL0dMQ29udGV4dC5jcHAKK3BsYXRmb3JtL2dyYXBoaWNzL0dMQ29udGV4dC5jcHAgQG5v
LXVuaWZ5CiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuY3BwCiAK
LXBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRDYWlyb1gxMS5jcHAK
K3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRDYWlyb1gxMS5jcHAg
QG5vLXVuaWZ5CiAKIHBsYXRmb3JtL2dyYXBoaWNzL2VnbC9HTENvbnRleHRFR0wuY3BwCiBwbGF0
Zm9ybS9ncmFwaGljcy9lZ2wvR0xDb250ZXh0RUdMV2F5bGFuZC5jcHAgQG5vLXVuaWZ5Ci1wbGF0
Zm9ybS9ncmFwaGljcy9lZ2wvR0xDb250ZXh0RUdMWDExLmNwcAorcGxhdGZvcm0vZ3JhcGhpY3Mv
ZWdsL0dMQ29udGV4dEVHTFgxMS5jcHAgQG5vLXVuaWZ5CiAKIHBsYXRmb3JtL2dyYXBoaWNzL2ds
eC9HTENvbnRleHRHTFguY3BwCiAKQEAgLTgyLDkgKzgyLDkgQEAgcGxhdGZvcm0vZ3JhcGhpY3Mv
b3BlbnR5cGUvT3BlblR5cGVWZXJ0aWNhbERhdGEuY3BwCiAKIHBsYXRmb3JtL2dyYXBoaWNzL3dh
eWxhbmQvUGxhdGZvcm1EaXNwbGF5V2F5bGFuZC5jcHAKIAotcGxhdGZvcm0vZ3JhcGhpY3MveDEx
L1BsYXRmb3JtRGlzcGxheVgxMS5jcHAKLXBsYXRmb3JtL2dyYXBoaWNzL3gxMS9YRXJyb3JUcmFw
cGVyLmNwcAotcGxhdGZvcm0vZ3JhcGhpY3MveDExL1hVbmlxdWVSZXNvdXJjZS5jcHAKK3BsYXRm
b3JtL2dyYXBoaWNzL3gxMS9QbGF0Zm9ybURpc3BsYXlYMTEuY3BwIEBuby11bmlmeQorcGxhdGZv
cm0vZ3JhcGhpY3MveDExL1hFcnJvclRyYXBwZXIuY3BwIEBuby11bmlmeQorcGxhdGZvcm0vZ3Jh
cGhpY3MveDExL1hVbmlxdWVSZXNvdXJjZS5jcHAgQG5vLXVuaWZ5CiAKIHBsYXRmb3JtL2d0ay9E
cmFnRGF0YUd0ay5jcHAKIHBsYXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3RrLmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGI2ZGY3NDhhNmQxOTA0ODViMThjM2Q1OGNiNTE4M2JiYWRiODJmODkuLmQzYjllYWFjZjQ1Y2Nj
MTgzMDhhOGNkOGRkNTliZGFhYjNiNjc0ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTgwNiw2ICs4MDYsOCBAQAogCQkyRDhC
OTJGRjIwM0QxM0UxMDA5Qzg2OEYgLyogVW5pZmllZFNvdXJjZTUzMC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBERTVGODVEMzFGQTIzODU5MDA2REI2
M0IgLyogVW5pZmllZFNvdXJjZTUzMC5jcHAgKi87IH07CiAJCTJEOEZFQkREMTQzRTNFRjcwMDcy
NTAyQiAvKiBDU1NDcm9zc2ZhZGVWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMkQ4RkVCREIxNDNFM0VGNzAwNzI1MDJCIC8qIENTU0Nyb3NzZmFk
ZVZhbHVlLmggKi87IH07CiAJCTJEOTA2NjA3MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5MDY2
MDUwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMkQ5MkE3OUEyMTM0QUQ3OTAwRjQ5M0ZEIC8q
IFF1aWNrTG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDQzOTE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5r
Lm1tICovOyB9OworCQkyRDkyQTc5RDIxMzRBRjk1MDBGNDkzRkQgLyogVXNlckFnZW50SU9TLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTNBRjlEODMy
MDMyNTY5MTAwNkNBRDA2IC8qIFVzZXJBZ2VudElPUy5tbSAqLzsgfTsKIAkJMkQ5M0FFRTMxOURG
NTY0MTAwMkE4NkMzIC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOTNBRUUxMTlERjU2NDEwMDJBODZD
MyAvKiBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmggKi87IH07CiAJCTJEOTdGMDQ3MTlERDQx
M0MwMDFFRTlDMyAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRBQUUzMkMxOURDQUY2MDAwRTAwMkQyIC8q
IE1vY2tQYWdlT3ZlcmxheUNsaWVudC5jcHAgKi87IH07CiAJCTJEOTdGMDQ4MTlERDQxNDAwMDFF
RTlDMyAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQUFFMzJEMTlEQ0FGNjAwMEUwMDJEMiAvKiBNb2NrUGFn
ZU92ZXJsYXlDbGllbnQuaCAqLzsgfTsKQEAgLTcwNzIsNyArNzA3NCw3IEBACiAJCTMzOUI1QjYy
MTMxREFBMzIwMEY0OEQwMiAvKiBDb29raWVzU3RyYXRlZ3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ29va2llc1N0cmF0ZWd5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTM2NjJGOTg0MDQ3Q0VEQkU1REREQUZBQSAvKiBSZW5kZXJNYXRoTUxNZW5jbG9zZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJNYXRoTUxNZW5j
bG9zZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3MTE5QTc5MjBDQ0I2MTAw
MDJDNkRDOSAvKiBXZWJLaXRUYXJnZXRDb25kaXRpb25hbHMueGNjb25maWcgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRo
ID0gV2ViS2l0VGFyZ2V0Q29uZGl0aW9uYWxzLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQkzNzE3RDdFNTE3RUNDM0E2MDAzQzI3NkQgLyogZXh0cmFjdC1sb2NhbGl6YWJs
ZS1zdHJpbmdzLnBsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dC5zY3JpcHQucGVybDsgbmFtZSA9IGV4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5n
cy5wbDsgcGF0aCA9ICJTY3JpcHRzL2V4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTM3MTdEN0U1MTdFQ0MzQTYwMDNDMjc2RCAvKiBl
eHRyYWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5wZXJsOyBuYW1lID0gImV4dHJhY3Qt
bG9jYWxpemFibGUtc3RyaW5ncy5wbCI7IHBhdGggPSAiU2NyaXB0cy9leHRyYWN0LWxvY2FsaXph
YmxlLXN0cmluZ3MucGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzFBNjdDQTEx
QzZDN0RCMDAwNDdCOEIgLyogSHlwaGVuYXRpb25DRi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBIeXBoZW5hdGlvbkNGLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMzcxRTY1Q0IxMzY2MUVEQzAwQkVFREIwIC8qIFBhZ2VTZXJpYWxpemVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhZ2VTZXJpYWxpemVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3MUU2NUNEMTM2NjFFRUQwMEJFRURCMCAvKiBQYWdlU2Vy
aWFsaXplci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQYWdlU2Vy
aWFsaXplci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzM1Nyw4ICsxMzM1
OSw4IEBACiAJCUNERTU5NTlDMUJGMjc1NzEwMEExQ0JFOCAvKiBDRE1TZXNzaW9uTWVkaWFTb3Vy
Y2VBVkZPYmpDLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ0RN
U2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQ0RFNjU2MEUxN0NBNkU3NjAwNTI2QkE3IC8qIG1lZGlhQ29udHJvbHNBcHBsZS5qcyAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
amF2YXNjcmlwdDsgcGF0aCA9IG1lZGlhQ29udHJvbHNBcHBsZS5qczsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0RFNjY3QTExRTRCQkE0RDAwRTgxNTRBIC8qIFBsYXRmb3JtQXVkaW9E
YXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtQXVkaW9EYXRh
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNERTY2N0EyMUU0QkJGMTUwMEU4MTU0
QSAvKiBXZWJBdWRpb0J1ZmZlckxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gY29jb2EvV2ViQXVkaW9CdWZmZXJMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJQ0RFNjY3QTMxRTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlz
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBjb2NvYS9XZWJBdWRpb0J1ZmZl
ckxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0RFNjY3QTIxRTRCQkYxNTAw
RTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBXZWJBdWRpb0J1ZmZlckxpc3QuY3BwOyBwYXRoID0gY29jb2EvV2ViQXVk
aW9CdWZmZXJMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0RFNjY3QTMx
RTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBXZWJBdWRpb0J1ZmZlckxpc3QuaDsgcGF0aCA9IGNvY29hL1dlYkF1
ZGlvQnVmZmVyTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU3RkM0MjE4
MTkwNEIxMDAyQkJCNzcgLyogT3JkZXJJdGVyYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBPcmRlckl0ZXJhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQ0RFN0ZDNDMxODE5MDRCMTAwMkJCQjc3IC8qIE9yZGVySXRlcmF0b3IuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT3JkZXJJdGVyYXRvci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDREU4M0RBRjE4M0M0NDA2MDAzMUVBQTMgLyogVmlkZW9QbGF5
YmFja1F1YWxpdHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVmlk
ZW9QbGF5YmFja1F1YWxpdHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzE0
NDIsNiArMzE0NDQsNyBAQAogCQkJCUFBMTJERjQ5MTc0M0RGODMwMDREQUZERiAvKiBQbGF0Zm9y
bVNwZWVjaFN5bnRoZXNpemVySU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RBMjlBMzAxQ0JG
NzRENDAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0Lm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQ0RBMjlBMTYxQ0JEQTU2QzAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lvbklu
dGVyZmFjZU1hYy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJBNzlBMjEzNEFENzkwMEY0OTNG
RCAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAogCQkJCTQxOTI0MjQ5MjEy
N0I5M0UwMDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTMxNkRDQjhBMUU3QTY5OTYwMDFCNUY4NyAvKiBSVENJY2VUcmFuc3Bv
cnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1MTE1NkUxMkIxNzQ5QzAwQzk2NzU0IC8qIFNj
cm9sbEFuaW1hdG9yTWFjLm1tIGluIFNvdXJjZXMgKi8sCkBAIC0zMjA1Niw2ICszMjA1OSw3IEBA
CiAJCQkJMkQ4QjkyRkQyMDNEMTNFMTAwOUM4NjhGIC8qIFVuaWZpZWRTb3VyY2U1MjguY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMkQ4QjkyRkUyMDNEMTNFMTAwOUM4NjhGIC8qIFVuaWZpZWRTb3Vy
Y2U1MjkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ4QjkyRkYyMDNEMTNFMTAwOUM4NjhGIC8q
IFVuaWZpZWRTb3VyY2U1MzAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5MkE3OUQyMTM0QUY5
NTAwRjQ5M0ZEIC8qIFVzZXJBZ2VudElPUy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUzMjA0MjAy
MUY5QTlGMTAwMEI4MUIyQSAvKiBVc2VyQWdlbnRTY3JpcHRzRGF0YS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk3QzNCNzk3MTE5MDg3NTdCMDBCNDdBMkQgLyogVXNlck1lc3NhZ2VIYW5kbGVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTdDRTY4MzQ0MTkyMTQzQTgwMEY0RDkyOCAvKiBVc2VyTWVz
c2FnZUhhbmRsZXJEZXNjcmlwdG9yLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNEU0EuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNEU0EuY3Bw
CmluZGV4IDk3MzE3ZTA0YTk3OTdmMTU2MTZkZTRjNzYwOGI3NDVkOWZkZWRlZjcuLjFiNTNjNDUz
YjM1MjUzNmI0ODEyZWRkMmFhNjRkOTFlOTVkZjg1NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUVDRFNBLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1FQ0RTQS5jcHAKQEAg
LTM2LDEyICszNiwxNCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK25hbWVzcGFjZSBDcnlw
dG9BbGdvcml0aG1FQ0RTQUludGVybmFsIHsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBBTEcy
NTYgPSAiRVMyNTYiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzM4NCA9ICJFUzM4NCI7
CiBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHNTEyID0gIkVTNTEyIjsKIHN0YXRpYyBjb25z
dCBjaGFyKiBjb25zdCBQMjU2ID0gIlAtMjU2IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBQ
Mzg0ID0gIlAtMzg0IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBQNTIxID0gIlAtNTIxIjsK
K30KIAogUmVmPENyeXB0b0FsZ29yaXRobT4gQ3J5cHRvQWxnb3JpdGhtRUNEU0E6OmNyZWF0ZSgp
CiB7CkBAIC0xMDIsNiArMTA0LDcgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1FQ0RTQTo6Z2VuZXJh
dGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyYgcGFyYW1ldGUKIAogdm9pZCBD
cnlwdG9BbGdvcml0aG1FQ0RTQTo6aW1wb3J0S2V5KENyeXB0b0tleUZvcm1hdCBmb3JtYXQsIEtl
eURhdGEmJiBkYXRhLCBjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJz
LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMsIEtleUNhbGxi
YWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2spCiB7
CisgICAgdXNpbmcgbmFtZXNwYWNlIENyeXB0b0FsZ29yaXRobUVDRFNBSW50ZXJuYWw7CiAgICAg
Y29uc3QgYXV0byYgZWNQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtRWNLZXlQ
YXJhbXM+KHBhcmFtZXRlcnMpOwogCiAgICAgUmVmUHRyPENyeXB0b0tleUVDPiByZXN1bHQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ2NyeXB0L0dDcnlwdFV0aWxpdGllcy5o
IGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2djcnlwdC9HQ3J5cHRVdGlsaXRpZXMuaAppbmRleCBm
MGE0MTM0NTZhOTQ0NTk5NThmOWE3ZjAyNTQ1MzQ0YjVmYjZjM2U1Li4zNmY0OGQwNGQ3ODJkNTIz
OTlkZDc3YzRiYzNkNzgyOGQ3OTVhOWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlw
dG8vZ2NyeXB0L0dDcnlwdFV0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9n
Y3J5cHQvR0NyeXB0VXRpbGl0aWVzLmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlIDxwYWwv
Y3J5cHRvL0NyeXB0b0RpZ2VzdC5oPgogI2luY2x1ZGUgPHBhbC9jcnlwdG8vZ2NyeXB0L0hhbmRs
ZS5oPgogI2luY2x1ZGUgPHBhbC9jcnlwdG8vZ2NyeXB0L1V0aWxpdGllcy5oPgorI2luY2x1ZGUg
PHd0Zi9PcHRpb25hbC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmgKaW5kZXggYTcxZGEzZjBlZTFhOTdmYjY1MDAwZmMxYTU1ODc5MDRmNzkyYTY4ZS4uMjI3NTc5
ODQxODViZmM4MmNkZjdmMzAxNzg1NTg3YjJkZWYwYTliOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgK
QEAgLTY0MSw3ICs2NDEsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgV0VCQ09SRV9FWFBPUlQgRG9j
dW1lbnRMb2FkZXIqIGxvYWRlcigpIGNvbnN0OwogCi0gICAgV0VCQ09SRV9FWFBPUlQgRXhjZXB0
aW9uT3I8UmVmUHRyPFdpbmRvd1Byb3h5Pj4gb3BlbkZvckJpbmRpbmdzKERPTVdpbmRvdyYgYWN0
aXZlV2luZG93LCBET01XaW5kb3cmIGZpcnN0V2luZG93LCBjb25zdCBTdHJpbmcmIHVybCwgY29u
c3QgQXRvbWljU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGZlYXR1cmVzKTsKKyAgICBXRUJD
T1JFX0VYUE9SVCBFeGNlcHRpb25PcjxSZWZQdHI8V2luZG93UHJveHk+PiBvcGVuRm9yQmluZGlu
Z3MoRE9NV2luZG93JiBhY3RpdmVXaW5kb3csIERPTVdpbmRvdyYgZmlyc3RET01XaW5kb3csIGNv
bnN0IFN0cmluZyYgdXJsLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
ZmVhdHVyZXMpOwogICAgIFdFQkNPUkVfRVhQT1JUIEV4Y2VwdGlvbk9yPERvY3VtZW50Jj4gb3Bl
bkZvckJpbmRpbmdzKERvY3VtZW50KiByZXNwb25zaWJsZURvY3VtZW50LCBjb25zdCBTdHJpbmcm
IHR5cGUsIGNvbnN0IFN0cmluZyYgcmVwbGFjZSk7CiAKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxk
IHJlbmFtZSB0aGlzIGF0IHNvbWUgcG9pbnQgYW5kIGdpdmUgYmFjayB0aGUgbmFtZSAnb3Blbicg
dG8gdGhlIEhUTUwgc3BlY2lmaWVkIG9uZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAppbmRleCBlNDBmOWE4ODZmMTU5MDRlNjJmMGYyNjg4YTg2
OWE2OTg4OWI0YTg5Li5jNzMxOTIyYWY4Mjk4M2I5ZGFhNmJjN2ZlNTIyNzg2MzczMTY4M2ZkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKQEAg
LTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJIVE1MRG9jdW1lbnRQYXJzZXIuaCIKICNpbmNsdWRl
ICJIVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50Lmgi
CisjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxPcHRHcm91cEVs
ZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MT3B0aW9uRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxQ
YXJzZXJJZGlvbXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNo
ZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaAppbmRleCA3MmIyOTc1
NWYxMWQ5NDA5NWZhN2VkZDUzMDk2OGY3YzU3YjU3YmViLi42ZDlhMmRhOWJlMDMyMDA3YTgyZWRh
NjhjMTZmZDJmMjhiMWMxMjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBw
Y2FjaGUvQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5oCkBAIC0y
NSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNo
ZVJlc291cmNlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmF3UmVzb3VyY2UuaCIKICNpbmNsdWRlICJD
YWNoZWRSYXdSZXNvdXJjZUNsaWVudC5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxl
LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0FsdGVybmF0aXZlVGV4dENsaWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9BbHRlcm5hdGl2ZVRleHRDbGllbnQuaAppbmRleCA5
MzU1OTM3ODhmOTg5OWM5ZTIyNTEwODhiNGU3NmQwMDVkM2QyZjk4Li4xNDNkYTZjNDdmNGJjZWZj
MGE0MWFhODc2NDY3ZDA0NDcxNWJhNzBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0FsdGVybmF0aXZlVGV4dENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWx0ZXJu
YXRpdmVUZXh0Q2xpZW50LmgKQEAgLTI5LDExICsyOSw2IEBACiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCi0jaWYgUExBVEZPUk0oTUFD
KQotLy8gU29tZSBwbGF0Zm9ybXMgcHJvdmlkZSBVSSBmb3Igc3VnZ2VzdGluZyBhbHRlcm5hdGl2
ZSBkaWN0YXRpb24gdGV4dC4KLSNkZWZpbmUgVVNFX0RJQ1RBVElPTl9BTFRFUk5BVElWRVMgMQot
I2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBSZWFzb25Gb3JEaXNtaXNzaW5n
QWx0ZXJuYXRpdmVUZXh0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bh
c3RlYm9hcmQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCBk
NTQzM2RkOTIwYWUwZWU1OTJiZDQ1ZmQ1NjBjZGQzZTM4YTM0NzIxLi5lMDk4MTU2NTFiZDJkNjA1
NzRkYTQyMzZjMzgwZmFkNGQ2MDIxNWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9QYXN0ZWJvYXJkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2Fy
ZC5oCkBAIC0zMzgsNiArMzM4LDcgQEAgZXh0ZXJuIE5TU3RyaW5nICpVSUNvbG9yUGJvYXJkVHlw
ZTsKICNpZiBQTEFURk9STShNQUMpCiBleHRlcm4gY29uc3QgY2hhciogY29uc3QgV2ViQXJjaGl2
ZVBib2FyZFR5cGU7CiBleHRlcm4gY29uc3QgY2hhciogY29uc3QgV2ViVVJMTmFtZVBib2FyZFR5
cGU7CitleHRlcm4gY29uc3QgY2hhciogY29uc3QgV2ViVVJMc1dpdGhUaXRsZXNQYm9hcmRUeXBl
OwogI2VuZGlmCiAKICNpZiAhUExBVEZPUk0oR1RLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2Vzc2lvbk1hYy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TZXNzaW9uTWFjLmNwcAppbmRleCA3OWFiOWY0MWJl
NWNlNmRlODRjODhlM2E2OTE4MTBkMGY0OWE0MzkxLi5lOTE4MDk4OGQ2OWM5NjUwOGRjMTIxYTE3
MGU3MTJhZWFhY2NmZTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9tYWMvQXVkaW9TZXNzaW9uTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9tYWMvQXVkaW9TZXNzaW9uTWFjLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUg
Ik5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSA8Q29yZUF1ZGlvL0F1ZGlvSGFyZHdhcmUuaD4K
ICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwCmluZGV4IDk2
OGJiMjI4NmExZjdlNTg0NjRlZjg4ZDc5ZTYxZWY0MjQ5MDE1NWYuLjNlMmM4MmI4YjEyZWRhMDlk
YjQzZjRjMTMwMTRjNWJiYWMwYjcwMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcApAQCAtMzAsNiAr
MzAsNyBAQAogCiAjaW5jbHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9yQ2xpZW50LmgiCiAjaW5j
bHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlci5oIgorI2luY2x1ZGUgIkxvZ2dpbmcu
aCIKIAogI2lmIFBMQVRGT1JNKElPUykKICNpbmNsdWRlICJEaXNwbGF5UmVmcmVzaE1vbml0b3JJ
T1MuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRG
YW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuY3BwCmluZGV4IDIxNzY5MWY3MjM5NzRl
ODAwNTc5YjI4Y2MwNTZhN2I5YzA4NWM2NGQuLjE1YzAzODc2OTgyNjBmNDA1ZTIyZTViZjUyNzgw
MDMwOGM3ZmUzYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseVNwZWNpZmljYXRpb25OdWxsLmNwcApAQCAtMjcsNiAr
MjcsNyBAQAogI2luY2x1ZGUgIkZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5oIgogCiAjaW5j
bHVkZSAiRm9udFNlbGVjdG9yLmgiCisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSGFz
aC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRHZW5lcmljRmFtaWxpZXMuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRHZW5lcmljRmFtaWxpZXMuaAppbmRleCBmNzYyYmFlMmZm
OTQxZTc1YTMyYjQ5ZjUzNDFjMjc4ZjAwY2E3N2VhLi40MmY0MmIyZTVjZDExMjA0ZjhjNmMxNTQy
NjdlNGI4Y2UyNGM1YjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250R2VuZXJpY0ZhbWlsaWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udEdlbmVyaWNGYW1pbGllcy5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVk
ZSA8dW5pY29kZS91c2NyaXB0Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJp
bmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFRhZ2dlZFNldHRpbmdzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRUYWdnZWRTZXR0aW5ncy5jcHAKaW5kZXggNjFi
MmViZWY2YzQ3NTAxMTMzMjFiZjE2YmE5Y2VlZTMwYzNmMjRlMC4uYjBjYTQzZDU1YzQ1Y2I1MGQ3
MzBmODkyZTE3ZDgwODY5Y2NkNDk2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udFRhZ2dlZFNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250VGFnZ2VkU2V0dGluZ3MuY3BwCkBAIC0yNyw5ICsyNyw4IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRm9udFRhZ2dlZFNldHRpbmdzLmgiCiAK
LSNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0U3RyZWFtLmg+Ci0KICNpbmNsdWRlIDx3dGYvdGV4dC9B
dG9taWNTdHJpbmdIYXNoLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvVGV4dFN0cmVhbS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhaXJvL0ZvbnRDYWlyby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYWlyby9Gb250Q2Fpcm8uY3BwCmluZGV4IDA2ZDlkNzQ5NGE0YmVhYThlM2E5Y2U3
YWZlNmRhYjM1YjFjMmRiNzguLjI4NmJjNmQ4ZTNjMjY1MzA0NmM2M2I1MmIzNmQwOTAzMWYyMDhk
OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0Zv
bnRDYWlyby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8v
Rm9udENhaXJvLmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2lmIFVTRShDQUlSTykKIAogI2luY2x1
ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgorI2luY2x1ZGUgIkNhaXJvT3BlcmF0aW9ucy5oIgogI2lu
Y2x1ZGUgIkNhaXJvVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiRm9udC5oIgogI2luY2x1ZGUgIkds
eXBoQnVmZmVyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9XZWJHTExheWVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvV2ViR0xMYXllci5tbQppbmRleCAzZWQ3ZTQxZTdjNjg4NDZmM2ZiYzE3MmNlNmJhOTg5
ZmY4N2Y1N2ViLi44ZWUzNDhkODk5ODYzNDEzZDZiNjcxMzc2ZTViMWRhNTRjYjEzNzYzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHTExheWVy
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdMTGF5
ZXIubW0KQEAgLTQyLDEzICs0MiwxMSBAQAogI2ltcG9ydCA8T3BlbkdML2dsLmg+CiAjZW5kaWYK
IAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIEBpbXBsZW1lbnRhdGlvbiBXZWJHTExheWVy
CiAKIEBzeW50aGVzaXplIGNvbnRleHQ9X2NvbnRleHQ7CiAKLS0oaWQpaW5pdFdpdGhHcmFwaGlj
c0NvbnRleHQzRDooR3JhcGhpY3NDb250ZXh0M0QqKWNvbnRleHQKKy0oaWQpaW5pdFdpdGhHcmFw
aGljc0NvbnRleHQzRDooV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0QqKWNvbnRleHQKIHsKICAg
ICBfY29udGV4dCA9IGNvbnRleHQ7CiAgICAgc2VsZiA9IFtzdXBlciBpbml0XTsKQEAgLTg2LDcg
Kzg0LDcgQEAgc3RhdGljIHZvaWQgZnJlZURhdGEodm9pZCAqLCBjb25zdCB2b2lkICpkYXRhLCBz
aXplX3QgLyogc2l6ZSAqLykKIH0KICNlbmRpZgogCi0tKENHSW1hZ2VSZWYpY29weUltYWdlU25h
cHNob3RXaXRoQ29sb3JTcGFjZTooQ0dDb2xvclNwYWNlUmVmKWNvbG9yU3BhY2UKKy0gKENHSW1h
Z2VSZWYpY29weUltYWdlU25hcHNob3RXaXRoQ29sb3JTcGFjZTooQ0dDb2xvclNwYWNlUmVmKWNv
bG9yU3BhY2UKIHsKICAgICBpZiAoIV9jb250ZXh0KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsK
QEAgLTk2LDcgKzk0LDcgQEAgLShDR0ltYWdlUmVmKWNvcHlJbWFnZVNuYXBzaG90V2l0aENvbG9y
U3BhY2U6KENHQ29sb3JTcGFjZVJlZiljb2xvclNwYWNlCiAKICAgICBSZXRhaW5QdHI8Q0dDb2xv
clNwYWNlUmVmPiBpbWFnZUNvbG9yU3BhY2UgPSBjb2xvclNwYWNlOwogICAgIGlmICghaW1hZ2VD
b2xvclNwYWNlKQotICAgICAgICBpbWFnZUNvbG9yU3BhY2UgPSBzUkdCQ29sb3JTcGFjZVJlZigp
OworICAgICAgICBpbWFnZUNvbG9yU3BhY2UgPSBXZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigp
OwogCiAgICAgQ0dSZWN0IGxheWVyQm91bmRzID0gQ0dSZWN0SW50ZWdyYWwoW3NlbGYgYm91bmRz
XSk7CiAKQEAgLTE0MSwxOSArMTM5LDE5IEBAIC0gKHZvaWQpZGlzcGxheQogI2VuZGlmCiAKICAg
ICBfY29udGV4dC0+bWFya0xheWVyQ29tcG9zaXRlZCgpOwotICAgIFBsYXRmb3JtQ0FMYXllciog
bGF5ZXIgPSBQbGF0Zm9ybUNBTGF5ZXI6OnBsYXRmb3JtQ0FMYXllcigoX19icmlkZ2Ugdm9pZCop
c2VsZik7CisgICAgV2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyKiBsYXllciA9IFdlYkNvcmU6OlBs
YXRmb3JtQ0FMYXllcjo6cGxhdGZvcm1DQUxheWVyKChfX2JyaWRnZSB2b2lkKilzZWxmKTsKICAg
ICBpZiAobGF5ZXIgJiYgbGF5ZXItPm93bmVyKCkpCiAgICAgICAgIGxheWVyLT5vd25lcigpLT5w
bGF0Zm9ybUNBTGF5ZXJMYXllckRpZERpc3BsYXkobGF5ZXIpOwogfQogCiAjaWYgVVNFKE9QRU5H
TCkKLS0gKHZvaWQpYWxsb2NhdGVJT1N1cmZhY2VCYWNraW5nU3RvcmVXaXRoU2l6ZTooSW50U2l6
ZSlzaXplIHVzaW5nQWxwaGE6KEJPT0wpdXNpbmdBbHBoYQorLSAodm9pZClhbGxvY2F0ZUlPU3Vy
ZmFjZUJhY2tpbmdTdG9yZVdpdGhTaXplOihXZWJDb3JlOjpJbnRTaXplKXNpemUgdXNpbmdBbHBo
YTooQk9PTCl1c2luZ0FscGhhCiB7CiAgICAgX2J1ZmZlclNpemUgPSBzaXplOwogICAgIF91c2lu
Z0FscGhhID0gdXNpbmdBbHBoYTsKLSAgICBfY29udGVudHNCdWZmZXIgPSBXZWJDb3JlOjpJT1N1
cmZhY2U6OmNyZWF0ZShzaXplLCBzUkdCQ29sb3JTcGFjZVJlZigpKTsKLSAgICBfZHJhd2luZ0J1
ZmZlciA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUsIHNSR0JDb2xvclNwYWNlUmVm
KCkpOwotICAgIF9zcGFyZUJ1ZmZlciA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUs
IHNSR0JDb2xvclNwYWNlUmVmKCkpOworICAgIF9jb250ZW50c0J1ZmZlciA9IFdlYkNvcmU6OklP
U3VyZmFjZTo6Y3JlYXRlKHNpemUsIFdlYkNvcmU6OnNSR0JDb2xvclNwYWNlUmVmKCkpOworICAg
IF9kcmF3aW5nQnVmZmVyID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVhdGUoc2l6ZSwgV2ViQ29y
ZTo6c1JHQkNvbG9yU3BhY2VSZWYoKSk7CisgICAgX3NwYXJlQnVmZmVyID0gV2ViQ29yZTo6SU9T
dXJmYWNlOjpjcmVhdGUoc2l6ZSwgV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYoKSk7CiAKICAg
ICBBU1NFUlQoX2NvbnRlbnRzQnVmZmVyKTsKICAgICBBU1NFUlQoX2RyYXdpbmdCdWZmZXIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR1BV
TGF5ZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVM
YXllci5tbQppbmRleCA1YzM1NTdmOGJkNjZhNjhjOTIzYjIzYWE2NDdiYjcxNDg0MDllOWExLi4y
NWVmYjhiNzQ3NjgwMjQ1NThkYmNkZjMwZjc0MzE4NzE0Njk1NWE4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbQpAQCAt
MzQsMTMgKzM0LDExIEBACiAjaW1wb3J0IDx3dGYvRmFzdE1hbGxvYy5oPgogI2ltcG9ydCA8d3Rm
L1JldGFpblB0ci5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogQGltcGxlbWVudGF0
aW9uIFdlYkdQVUxheWVyCiAKIEBzeW50aGVzaXplIGNvbnRleHQ9X2NvbnRleHQ7CiAKLS0gKGlk
KWluaXRXaXRoR1BVRGV2aWNlOihHUFVEZXZpY2UqKWNvbnRleHQKKy0gKGlkKWluaXRXaXRoR1BV
RGV2aWNlOihXZWJDb3JlOjpHUFVEZXZpY2UqKWNvbnRleHQKIHsKICAgICBzZWxmID0gW3N1cGVy
IGluaXRdOwogICAgIF9jb250ZXh0ID0gY29udGV4dDsKQEAgLTUwLDcgKzQ4LDcgQEAgLSAoaWQp
aW5pdFdpdGhHUFVEZXZpY2U6KEdQVURldmljZSopY29udGV4dAogCiAjaWYgUExBVEZPUk0oTUFD
KQogICAgIHNlbGYuY29udGVudHNTY2FsZSA9IF9kZXZpY2VQaXhlbFJhdGlvOwotICAgIHNlbGYu
Y29sb3JzcGFjZSA9IHNSR0JDb2xvclNwYWNlUmVmKCk7CisgICAgc2VsZi5jb2xvcnNwYWNlID0g
V2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYoKTsKICNlbmRpZgogICAgIHJldHVybiBzZWxmOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BV
Q29tbWFuZFF1ZXVlTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
ZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbQppbmRleCA4MjBhZjhiYzE2ZGIzYjQ4NjVlNzli
N2I4MjRkYjJjN2I0ZGYzZWNjLi4zMDNiMjVkYTNkNGE2NGVkMWIwMDMwYjcyYjlmZGJjNmY5NjVj
MzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9H
UFVDb21tYW5kUXVldWVNZXRhbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbQpAQCAtMzEsNiArMzEsNyBAQAogI2lt
cG9ydCAiR1BVRGV2aWNlLmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0IDxNZXRhbC9N
ZXRhbC5oPgorI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bhc3RlYm9h
cmRNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQpp
bmRleCBjYjUwNGNmNTQzZWI3ZTgwZDc2NjVjZDFlNTdlMzA4OWFmZmIxYTcwLi5mZDZlOTI5ODc3
NGZhZjRmZTg3MzViZjI3NTY1YWRjOTUzMmJmNjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQpAQCAtNTIsMTAgKzUyLDEwIEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY29uc3QgY2hhciogY29uc3QgV2ViQXJjaGl2ZVBib2FyZFR5cGUgPSAiQXBw
bGUgV2ViIEFyY2hpdmUgcGFzdGVib2FyZCB0eXBlIjsKIGNvbnN0IGNoYXIqIGNvbnN0IFdlYlVS
TE5hbWVQYm9hcmRUeXBlID0gInB1YmxpYy51cmwtbmFtZSI7Citjb25zdCBjaGFyKiBjb25zdCBX
ZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGUgPSAiV2ViVVJMc1dpdGhUaXRsZXNQYm9hcmRUeXBl
IjsKIAogY29uc3QgY2hhciBXZWJTbWFydFBhc3RlUGJvYXJkVHlwZVtdID0gIk5lWFQgc21hcnQg
cGFzdGUgcGFzdGVib2FyZCB0eXBlIjsKIGNvbnN0IGNoYXIgV2ViVVJMUGJvYXJkVHlwZVtdID0g
InB1YmxpYy51cmwiOwotY29uc3QgY2hhciBXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGVbXSA9
ICJXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGUiOwogCiBzdGF0aWMgY29uc3QgVmVjdG9yPFN0
cmluZz4gd3JpdGFibGVUeXBlc0ZvclVSTCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJl
TWFuYWdlckNvY29hLmNwcAppbmRleCA1YzJhOWQyNDE5OGExM2U0OGM0ZjczZTlkZTYxZGQzN2Fk
ZTkyNTUxLi5mNDkyZTYxNDJmMDIzMWI5OTdlOTZiYTU5Mjc5NTg4NTY4MDkzM2FjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1
cmVNYW5hZ2VyQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAKQEAgLTI4LDYgKzI4LDcgQEAK
IAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKKyNpbmNsdWRlICJDb3JlVmlkZW9Tb2Z0TGlu
ay5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlIDx3dGYvQWxnb3JpdGhtcy5oPgog
I2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlLmNwcAppbmRleCBlYzQ0
MWVmZDc1ZTkzODc2NzY2NTViZDAyNWQ5MzdiNTM4NzczN2EzLi5mOGE1OTdmY2ZlY2FjMjVkYTAy
ZWQwNmY1NjM4N2I3ZTFmMGRkZGM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlLmNwcApAQCAtMzYsNyArMzYsOSBA
QAogI2luY2x1ZGUgIkNhcHR1cmVEZXZpY2UuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5j
bHVkZSAiTWVkaWFDb25zdHJhaW50cy5oIgorI2luY2x1ZGUgIk1vY2tSZWFsdGltZUF1ZGlvU291
cmNlLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKyNpbmNsdWRlICJSZWFsdGltZU1l
ZGlhU291cmNlQ2VudGVyLmgiCiAjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZVNldHRpbmdz
LmgiCiAjaW5jbHVkZSA8bWF0aC5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVl
c3RCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1
ZXN0QmFzZS5jcHAKaW5kZXggMjU0MDk2NTZjM2Q2MzIwMzYxNjVmYWIxZGQ3NDllODhmY2E2ODQ4
Mi4uZmY1ODM2MTc0ZWFiOTU5NTI4YTIwN2JmYmFhYjYwMDM5ZDliNTAzMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2Uu
Y3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiSFRUUEhlYWRlck5hbWVzLmgiCiAjaW5j
bHVkZSAiUHVibGljU3VmZml4LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCisjaW5j
bHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5UG9saWN5LmgiCiAj
aW5jbHVkZSA8d3RmL1BvaW50ZXJDb21wYXJpc29uLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5ldC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0Zvcm1EYXRhU3RyZWFtQ0ZOZXQuY3BwCmlu
ZGV4IDI5MDI1ZDM4YTdmZDM2ZmY5Yjk5NjIzOTFmMDgwODcwMjFmZjEzMGUuLmU1MzIxYzI3ZDRk
OTY4YzY2ZTRjZDRjNjc3OTYzZjVhN2Q2Y2FkZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5ldC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Gb3JtRGF0YVN0cmVhbUNGTmV0LmNwcApAQCAt
NDIsMTEgKzQyLDcgQEAKICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8
d3RmL1RocmVhZGluZy5oPgogCi0jaWYgUExBVEZPUk0oSU9TKSAmJiAhUExBVEZPUk0oSU9TTUFD
KQotc3RhdGljIGNvbnN0IFNJbnQzMiBmbmZFcnIgPSAtNDM7Ci0jZWxpZiBQTEFURk9STShNQUMp
Ci0jaW5jbHVkZSA8Q29yZVNlcnZpY2VzL0NvcmVTZXJ2aWNlcy5oPgotI2VuZGlmCitzdGF0aWMg
Y29uc3QgU0ludDMyIGZpbGVOb3RGb3VuZEVycm9yID0gLTQzOwogCiAjaWYgUExBVEZPUk0oQ09D
T0EpCiBleHRlcm4gIkMiIHZvaWQgQ0ZVUkxSZXF1ZXN0U2V0SFRUUFJlcXVlc3RCb2R5KENGTXV0
YWJsZVVSTFJlcXVlc3RSZWYgbXV0YWJsZUhUVFBSZXF1ZXN0LCBDRkRhdGFSZWYgaHR0cEJvZHkp
OwpAQCAtMjQxLDcgKzIzNyw3IEBAIHN0YXRpYyBCb29sZWFuIGZvcm1PcGVuKENGUmVhZFN0cmVh
bVJlZiwgQ0ZTdHJlYW1FcnJvciogZXJyb3IsIEJvb2xlYW4qIG9wZW5Db21wCiAjaWYgUExBVEZP
Uk0oV0lOKQogICAgICAgICBFTk9FTlQ7CiAjZWxzZQotICAgICAgICBmbmZFcnI7CisgICAgICAg
IGZpbGVOb3RGb3VuZEVycm9yOwogI2VuZGlmCiAgICAgcmV0dXJuIG9wZW5lZDsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Tb3VwTmV0d29ya1Nl
c3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Tb3VwTmV0d29y
a1Nlc3Npb24uaAppbmRleCBjNjNiZWZkMmYzMGYxNTA0MDE3Nzk5MjQ3OGU4ZGY0YjgzNzkwMjMy
Li5kMWU5ZDljZTViMjg5ZDE0Y2M2YzE2NTkzYmY0YWQwNjc4MjdlNTNhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvU291cE5ldHdvcmtTZXNzaW9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1NvdXBOZXR3b3JrU2Vz
c2lvbi5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIFNvdXBOZXR3b3JrU2Vzc2lvbl9oCiAj
ZGVmaW5lIFNvdXBOZXR3b3JrU2Vzc2lvbl9oCiAKKyNpbmNsdWRlIDxnaW8vZ2lvLmg+CiAjaW5j
bHVkZSA8Z2xpYi1vYmplY3QuaD4KICNpbmNsdWRlIDxwYWwvU2Vzc2lvbklELmg+CiAjaW5jbHVk
ZSA8d3RmL0Z1bmN0aW9uLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L1RleHRDb2RlY1VURjguY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0
Q29kZWNVVEY4LmNwcAppbmRleCBiMzE4ZTYyMmJjYmUxMTgwMTlhNDE2ODU2MzMzNTU2ZjEwNzJk
NzllLi4yMWYwMzhiYzZkNDViNDY4ZGUyYWVmNzQ2Nzk4NWI0ZDAyNWRjNzk2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVVRGOC5jcHAKQEAgLTI5LDYgKzI5
LDcgQEAKICNpbmNsdWRlICJUZXh0Q29kZWNBU0NJSUZhc3RQYXRoLmgiCiAjaW5jbHVkZSA8d3Rm
L3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oPgorI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL0NoYXJh
Y3Rlck5hbWVzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVVRGOC5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4LmgKaW5kZXggZjgyODJiNWYzNGE4OTQ3M2RlOWFkN2Ey
MTc2NWFmNmEzMmFjZjk1Yy4uODRmNzE0N2U2ZGMzNGYyZTc1MTU2MTIxMDE5YmFmMTQwZTViYzFl
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4LmgKQEAg
LTI2LDYgKzI2LDcgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiVGV4dENvZGVjLmgiCisj
aW5jbHVkZSA8dW5pY29kZS91dGY4Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvTENoYXIuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5jcHAKaW5kZXgg
M2JjODJjNmUxYWJkMmZhYzQzYjA5OWM4ZTZlM2NjZjM2NmRkODUzYi4uMmMyYjUwOGZhYzVjNmZj
ODQ2Mjg1YzlmZmE4OTVhN2I0MDIyYjhlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cu
Y3BwCkBAIC0yNyw2ICsyNyw4IEBACiAjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zs
b3cuaCIKIAogI2luY2x1ZGUgIlJlbmRlck11bHRpQ29sdW1uRmxvdy5oIgorI2luY2x1ZGUgIlJl
bmRlclRyZWVCdWlsZGVyQmxvY2suaCIKKyNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlck11bHRp
Q29sdW1uLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyRm9ybUNvbnRyb2xzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckZv
cm1Db250cm9scy5jcHAKaW5kZXggODI3YzhiYjAxNzI4MDRkMjYxNjFiNjQzNjNjNjM1NWIyN2I4
ZWFiMS4uOTljNTc0Nzg0MzcwYTgzYTY0NTFjMWNiMmE0YWNiMmE5YzRjOTM2ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyRm9y
bUNvbnRyb2xzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVu
ZGVyVHJlZUJ1aWxkZXJGb3JtQ29udHJvbHMuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNs
dWRlICJSZW5kZXJCdXR0b24uaCIKICNpbmNsdWRlICJSZW5kZXJNZW51TGlzdC5oIgorI2luY2x1
ZGUgIlJlbmRlclRyZWVCdWlsZGVyQmxvY2suaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1
aWxkZXJJbmxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRl
clRyZWVCdWlsZGVySW5saW5lLmNwcAppbmRleCA3Y2QwNzE1ZGY1MjRhNzZmZDIwNmEyMzQyOGQ5
ZGFjN2Q3ZDg1M2Y4Li5lZTYzOWQ5ZmJiMmI5OGY2ODIwZDhhM2RmNTFjMjdlYTAyMmEzMzFhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1
aWxkZXJJbmxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9S
ZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAKQEAgLTMwLDYgKzMwLDggQEAKICNpbmNsdWRlICJS
ZW5kZXJGdWxsU2NyZWVuLmgiCiAjaW5jbHVkZSAiUmVuZGVySW5saW5lLmgiCiAjaW5jbHVkZSAi
UmVuZGVyVGFibGUuaCIKKyNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlck11bHRpQ29sdW1uLmgi
CisjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJUYWJsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5k
ZXJUcmVlQnVpbGRlclJ1YnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5n
L1JlbmRlclRyZWVCdWlsZGVyUnVieS5jcHAKaW5kZXggN2FjMTliYWM1YmJjOGRkOWNjNjI0YmFh
NDFkOWM4OWM3MWQxMWE4OC4uYWMxMjQ1ZGM5MjVkOWMwOWRjYzE3YzMwMjVkMzIxNDFkZDk3NzYy
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRy
ZWVCdWlsZGVyUnVieS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5n
L1JlbmRlclRyZWVCdWlsZGVyUnVieS5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlclJ1YnkuaCIKIAorI2luY2x1ZGUg
IlJlbmRlckFuY2VzdG9ySXRlcmF0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJSdWJ5LmgiCiAjaW5j
bHVkZSAiUmVuZGVyUnVieUJhc2UuaCIKICNpbmNsdWRlICJSZW5kZXJSdWJ5UnVuLmgiCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRh
dGVyLmNwcAppbmRleCA3ZDc2YWY5NDI3NDYxNzVlYjlhMmM1OWU3MWE5NzEyNGZmYzBkYTI0Li42
NTIyNmEwNTUxZTVmMWVlNGE4MzQ4YmVjZDkzNWUzYmI0MDBhMDcxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAK
QEAgLTQxLDYgKzQxLDggQEAKICNpbmNsdWRlICJSZW5kZXJEZXNjZW5kYW50SXRlcmF0b3IuaCIK
ICNpbmNsdWRlICJSZW5kZXJGdWxsU2NyZWVuLmgiCiAjaW5jbHVkZSAiUmVuZGVySW5saW5lLmgi
CisjaW5jbHVkZSAiUmVuZGVyTXVsdGlDb2x1bW5GbG93LmgiCisjaW5jbHVkZSAiUmVuZGVyTXVs
dGlDb2x1bW5TZXQuaCIKICNpbmNsdWRlICJSZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRl
bnQuaCIKICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAjaW5jbHVkZSAiU3R5
bGVSZXNvbHZlci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJj
aGl2ZS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmUubW0KaW5kZXggYjE3
NDJmZGZkZDM4NjllYWRkM2Q3YzVhZWU3MDVlNjYxZjk3ZWVkYy4uYjhjOTcyZjdlYzE4ZWI3ZDRj
OWE3MWRlMmI0ZTFlMmM2NWRlODc2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQv
QVBJV2ViQXJjaGl2ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZl
Lm1tCkBAIC0zNCw5ICszNCw4IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9MZWdhY3lXZWJBcmNoaXZl
Lmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKLQogbmFtZXNwYWNlIEFQSSB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogUmVmPFdl
YkFyY2hpdmU+IFdlYkFyY2hpdmU6OmNyZWF0ZShXZWJBcmNoaXZlUmVzb3VyY2UqIG1haW5SZXNv
dXJjZSwgUmVmUHRyPEFQSTo6QXJyYXk+JiYgc3VicmVzb3VyY2VzLCBSZWZQdHI8QVBJOjpBcnJh
eT4mJiBzdWJmcmFtZUFyY2hpdmVzKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2Vi
QXJjaGl2ZVJlc291cmNlLm1tCmluZGV4IGNhZTViODVkZjE3N2RkZGU2OGQ4NTJlNWU1MDZkOGQ5
MmJlMmVhOTQuLmRjMGY5MGYwZjM4NTFhYmYxMDA0ODRiYTU3M2FlNGFmOGU4MGIyMzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmVSZXNvdXJjZS5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW0KQEAgLTMzLDkg
KzMzLDggQEAKICNpbmNsdWRlIDxXZWJDb3JlL1VSTC5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5Q
dHIuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIG5hbWVzcGFjZSBBUEkgewordXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIFJlZjxXZWJBcmNoaXZlUmVzb3VyY2U+IFdlYkFyY2hp
dmVSZXNvdXJjZTo6Y3JlYXRlKEFQSTo6RGF0YSogZGF0YSwgY29uc3QgU3RyaW5nJiBVUkwsIGNv
bnN0IFN0cmluZyYgTUlNRVR5cGUsIGNvbnN0IFN0cmluZyYgdGV4dEVuY29kaW5nKQogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2Nh
cGVQbHVnaW5Nb2R1bGVNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNj
YXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbQppbmRleCA2OGQ3YzZhZGYzNjI3NTEz
MTI5NjM1NjI4NmYxMWU4NDljMTRjMmMwLi5jMGNjYWM1OTg1M2NmYWZmZDlmZjFkMWUzZDY4YjY3
ZDY0NTdmN2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNj
YXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbQpAQCAt
MzQsOSArMzQsOCBAQAogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KICNpbXBvcnQgPHd0Zi9z
cGkvY2YvQ0ZCdW5kbGVTUEkuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIG5hbWVz
cGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIHN0YXRpYyBib29sIGdl
dFBsdWdpbkFyY2hpdGVjdHVyZShDRkJ1bmRsZVJlZiBidW5kbGUsIFBsdWdpbk1vZHVsZUluZm8m
IHBsdWdpbikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0
c2NhcGUvbWFjL1BsdWdpbkluZm9ybWF0aW9uTWFjLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
UGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW0KaW5kZXggNWVjODQy
NDk1OWNiYzE5Mjg4NmZhNzVhYmYwM2YzZDg4NWJjYjFkOS4uMzI1ODRkNDE2YmUwZmYyNWU5ZTkx
ZGRmNDI4NzBlMzM5NGY0OTM2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1
Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW0KKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW0K
QEAgLTM0LDkgKzM0LDggQEAKICNpbXBvcnQgIlN0cmluZ1V0aWxpdGllcy5oIgogI2ltcG9ydCA8
V2ViQ29yZS9QbHVnaW5CbGFja2xpc3QuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0K
IG5hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIHZvaWQgZ2V0
UGxhdGZvcm1QbHVnaW5Nb2R1bGVJbmZvcm1hdGlvbihjb25zdCBQbHVnaW5Nb2R1bGVJbmZvJiBw
bHVnaW4sIEFQSTo6RGljdGlvbmFyeTo6TWFwVHlwZSYgbWFwKQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2Eu
dHh0CmluZGV4IGQ4YTNjOTBkZmZlMzIyMzIyZDc2M2VlMjFlN2NiYTQ1MGZlODVmY2YuLjRiOGQ0
ODA2YjQ0ZjIyMDQ2NTg1NzdlYjdhOTY3OGNiOGUzNDc5YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50
eHQKQEAgLTI5OCw5ICsyOTgsOSBAQCBVSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0gQG5vLXVu
aWZ5CiAKIFVJUHJvY2Vzcy9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eUNvY29hLm1tCiAKLVVJUHJvY2Vzcy9BcHBsZVBheS9pb3MvV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHlJT1MubW0KK1VJUHJvY2Vzcy9BcHBsZVBheS9pb3MvV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHlJT1MubW0gQG5vLXVuaWZ5CiAKLVVJUHJvY2Vzcy9BcHBsZVBheS9tYWMvV2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHlNYWMubW0KK1VJUHJvY2Vzcy9BcHBsZVBheS9tYWMvV2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHlNYWMubW0gQG5vLXVuaWZ5CiAKIFVJUHJvY2Vzcy9BdXRoZW50aWNh
dGlvbi9jb2NvYS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5Q29jb2EubW0KIFVJUHJvY2Vz
cy9BdXRoZW50aWNhdGlvbi9jb2NvYS9TZWNLZXlQcm94eVN0b3JlLm1tCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5o
CmluZGV4IGJmYzVlZTMzODIyMGQ5MTU2ZmNjZjAwYzFlNzZkMGJiZWU5MDQxOTAuLjM3OWM4ODU3
YmU5NGI2MTk1NTVlZGZmZWM0YzNhOWE2ZTE3Nzk0ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9BUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oCkBAIC01
MSw3ICs1MSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgfkF1dG9tYXRpb25TZXNzaW9uQ2xp
ZW50KCkgeyB9CiAKLSAgICB2aXJ0dWFsIFN0cmluZyBzZXNzaW9uSWRlbnRpZmllcigpIGNvbnN0
IHsgcmV0dXJuIFN0cmluZygpOyB9CisgICAgdmlydHVhbCBXVEY6OlN0cmluZyBzZXNzaW9uSWRl
bnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIFdURjo6U3RyaW5nKCk7IH0KICAgICB2aXJ0dWFsIHZv
aWQgZGlkRGlzY29ubmVjdEZyb21SZW1vdGUoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYp
IHsgfQogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0TmV3UGFnZVdpdGhPcHRpb25zKFdlYktpdDo6
V2ViQXV0b21hdGlvblNlc3Npb24mLCBBdXRvbWF0aW9uU2Vzc2lvbkJyb3dzaW5nQ29udGV4dE9w
dGlvbnMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViS2l0OjpXZWJQYWdlUHJveHkqKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikgeyBjb21wbGV0aW9uSGFuZGxlcihudWxscHRyKTsgfQogICAgIHZp
cnR1YWwgdm9pZCByZXF1ZXN0TWF4aW1pemVXaW5kb3dPZlBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0
aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSB7IGNvbXBsZXRpb25IYW5kbGVyKCk7IH0KQEAgLTYx
LDggKzYxLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc1Nob3dpbmdKYXZhU2NyaXB0
RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBh
Z2VQcm94eSYpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIGRpc21pc3NDdXJy
ZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwg
V2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgYWNjZXB0Q3VycmVu
dEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdl
YktpdDo6V2ViUGFnZVByb3h5JikgeyB9Ci0gICAgdmlydHVhbCBTdHJpbmcgbWVzc2FnZU9mQ3Vy
cmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYs
IFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyByZXR1cm4gU3RyaW5nKCk7IH0KLSAgICB2aXJ0dWFs
IHZvaWQgc2V0VXNlcklucHV0Rm9yQ3VycmVudEphdmFTY3JpcHRQcm9tcHRPblBhZ2UoV2ViS2l0
OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JiwgY29uc3QgU3Ry
aW5nJikgeyB9CisgICAgdmlydHVhbCBXVEY6OlN0cmluZyBtZXNzYWdlT2ZDdXJyZW50SmF2YVNj
cmlwdERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpX
ZWJQYWdlUHJveHkmKSB7IHJldHVybiBXVEY6OlN0cmluZygpOyB9CisgICAgdmlydHVhbCB2b2lk
IHNldFVzZXJJbnB1dEZvckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKFdlYktpdDo6V2Vi
QXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIGNvbnN0IFdURjo6U3Ry
aW5nJikgeyB9CiAgICAgdmlydHVhbCBzdGQ6Om9wdGlvbmFsPEphdmFTY3JpcHREaWFsb2dUeXBl
PiB0eXBlT2ZDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRp
b25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IHJldHVybiBzdGQ6Om51bGxvcHQ7
IH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0xlZ2Fj
eUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbQppbmRleCAxMWJhMzcy
NjU0ODNmZmU3ZmYyNDY1MDk0MGQ4ZjMzYTUyYzBjMDRhLi4xOWE1OWI0MmNhYjdiNTQ3ZWQ5NDQ2
MGU3MmZjMDM5NmNmZTc5Mjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW0KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1t
CkBAIC0zMiwyMyArMzIsMjAgQEAKICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+
CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KIAotdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCiBAaW50ZXJmYWNlIFdLQ3VzdG9t
UHJvdG9jb2xMb2FkZXIgOiBOU09iamVjdCA8TlNVUkxDb25uZWN0aW9uRGVsZWdhdGU+IHsKIEBw
cml2YXRlCi0gICAgTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqIF9jdXN0b21Qcm90
b2NvbE1hbmFnZXJQcm94eTsKKyAgICBXZWJLaXQ6OkxlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdl
clByb3h5KiBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk7CiAgICAgdWludDY0X3QgX2N1c3Rv
bVByb3RvY29sSUQ7CiAgICAgTlNVUkxDYWNoZVN0b3JhZ2VQb2xpY3kgX3N0b3JhZ2VQb2xpY3k7
CiAgICAgTlNVUkxDb25uZWN0aW9uICpfdXJsQ29ubmVjdGlvbjsKIH0KLS0gKGlkKWluaXRXaXRo
TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6KExlZ2FjeUN1c3RvbVByb3RvY29sTWFu
YWdlclByb3h5KiljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSBjdXN0b21Qcm90b2NvbElEOih1
aW50NjRfdCljdXN0b21Qcm90b2NvbElEIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3Q7
CistIChpZClpbml0V2l0aExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OihXZWJLaXQ6
OkxlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiljdXN0b21Qcm90b2NvbE1hbmFnZXJQ
cm94eSBjdXN0b21Qcm90b2NvbElEOih1aW50NjRfdCljdXN0b21Qcm90b2NvbElEIHJlcXVlc3Q6
KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3Q7CiAtICh2b2lkKWN1c3RvbVByb3RvY29sTWFuYWdlclBy
b3h5RGVzdHJveWVkOwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV0tDdXN0b21Qcm90b2NvbExv
YWRlcgogCi0tIChpZClpbml0V2l0aExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OihM
ZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSopY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJv
eHkgY3VzdG9tUHJvdG9jb2xJRDoodWludDY0X3QpY3VzdG9tUHJvdG9jb2xJRCByZXF1ZXN0OihO
U1VSTFJlcXVlc3QgKilyZXF1ZXN0CistIChpZClpbml0V2l0aExlZ2FjeUN1c3RvbVByb3RvY29s
TWFuYWdlclByb3h5OihXZWJLaXQ6OkxlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5Kilj
dXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSBjdXN0b21Qcm90b2NvbElEOih1aW50NjRfdCljdXN0
b21Qcm90b2NvbElEIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QKIHsKICAgICBzZWxm
ID0gW3N1cGVyIGluaXRdOwogICAgIGlmICghc2VsZikKQEAgLTg1LDcgKzgyLDcgQEAgLSAodm9p
ZCljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eURlc3Ryb3llZAogCiAtICh2b2lkKWNvbm5lY3Rp
b246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gZGlkRmFpbFdpdGhFcnJvcjooTlNFcnJv
ciAqKWVycm9yCiB7Ci0gICAgUmVzb3VyY2VFcnJvciBjb3JlRXJyb3IoZXJyb3IpOworICAgIFdl
YkNvcmU6OlJlc291cmNlRXJyb3IgY29yZUVycm9yKGVycm9yKTsKICAgICBfY3VzdG9tUHJvdG9j
b2xNYW5hZ2VyUHJveHktPmRpZEZhaWxXaXRoRXJyb3IoX2N1c3RvbVByb3RvY29sSUQsIGNvcmVF
cnJvcik7CiAgICAgX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5LT5zdG9wTG9hZGluZyhfY3Vz
dG9tUHJvdG9jb2xJRCk7CiB9CkBAIC05OSw3ICs5Niw3IEBAIC0gKE5TQ2FjaGVkVVJMUmVzcG9u
c2UgKiljb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIHdpbGxDYWNoZVJl
c3BvCiAKIC0gKHZvaWQpY29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiBk
aWRSZWNlaXZlUmVzcG9uc2U6KE5TVVJMUmVzcG9uc2UgKilyZXNwb25zZQogewotICAgIFJlc291
cmNlUmVzcG9uc2UgY29yZVJlc3BvbnNlKHJlc3BvbnNlKTsKKyAgICBXZWJDb3JlOjpSZXNvdXJj
ZVJlc3BvbnNlIGNvcmVSZXNwb25zZShyZXNwb25zZSk7CiAgICAgX2N1c3RvbVByb3RvY29sTWFu
YWdlclByb3h5LT5kaWRSZWNlaXZlUmVzcG9uc2UoX2N1c3RvbVByb3RvY29sSUQsIGNvcmVSZXNw
b25zZSwgX3N0b3JhZ2VQb2xpY3kpOwogfQogCkBAIC0xMjcsNiArMTI0LDcgQEAgLSAodm9pZClj
b25uZWN0aW9uRGlkRmluaXNoTG9hZGluZzooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbgog
QGVuZAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiB2
b2lkIExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudDo6c3RhcnRMb2FkaW5nKExlZ2Fj
eUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5JiBtYW5hZ2VyLCB1aW50NjRfdCBjdXN0b21Qcm90
b2NvbElELCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGNvcmVSZXF1ZXN0KQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3Bw
CmluZGV4IGMyYjkxYTYzOTczZTYzMTIwYWFlNTI4Zjg5NzUzODVmN2I2ZGJmNjIuLmVkZWQ5Yzdk
MmE0ZTU4ZTNkMDU4ZDgzMjY4MzEwOTgxODJhZjQ0NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKQEAgLTQ4LDcg
KzQ4LDcgQEAgc3RhdGljIGNvbnN0IFNlY29uZHMgc25hcHNob3R0aW5nTWluaW11bUxpZmV0aW1l
IHsgMzBfcyB9Owogc3RhdGljIGNvbnN0IFNlY29uZHMgc2h1dGRvd25UaW1lb3V0IHsgMV9taW4g
fTsKIHN0YXRpYyBjb25zdCBTZWNvbmRzIHNuYXBzaG90dGluZ1NodXRkb3duVGltZW91dCB7IDE1
X3MgfTsKIAotc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlQ2FsbGJhY2tJRCgpCitzdGF0aWMgdWlu
dDY0X3QgZ2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCgpCiB7CiAgICAgc3RhdGljIHVp
bnQ2NF90IGNhbGxiYWNrSUQ7CiAKQEAgLTExNCw3ICsxMTQsNyBAQCB2b2lkIFBsdWdpblByb2Nl
c3NQcm94eTo6Z2V0UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24oTWVzc2FnZXM6OldlYlByb2Nlc3NQ
cm94eTo6RwogCiB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YShDb21w
bGV0aW9uSGFuZGxlcjx2b2lkIChWZWN0b3I8U3RyaW5nPik+JiYgY29tcGxldGlvbkhhbmRsZXIp
CiB7Ci0gICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAg
IHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVBsdWdpblByb2Nlc3NDYWxsYmFja0lEKCk7
CiAgICAgbV9wZW5kaW5nRmV0Y2hXZWJzaXRlRGF0YUNhbGxiYWNrcy5zZXQoY2FsbGJhY2tJRCwg
V1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAgaWYgKHN0YXRlKCkgPT0gU3RhdGU6
OkxhdW5jaGluZykgewpAQCAtMTI3LDcgKzEyNyw3IEBAIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5
OjpmZXRjaFdlYnNpdGVEYXRhKENvbXBsZXRpb25IYW5kbGVyPHZvaWQgKFZlY3RvcjxTdHJpbmc+
CiAKIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YShXYWxsVGltZSBt
b2RpZmllZFNpbmNlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkICgpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKQogewotICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsK
KyAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJ
RCgpOwogICAgIG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRhQ2FsbGJhY2tzLnNldChjYWxsYmFj
a0lELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAKICAgICBpZiAoc3RhdGUoKSA9PSBT
dGF0ZTo6TGF1bmNoaW5nKSB7CkBAIC0xNDAsNyArMTQwLDcgQEAgdm9pZCBQbHVnaW5Qcm9jZXNz
UHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhKFdhbGxUaW1lIG1vZGlmaWVkU2luY2UsIENvbXBsZXRp
b25IYW4KIAogdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9ySG9z
dE5hbWVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBob3N0TmFtZXMsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQgKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgdWludDY0X3QgY2FsbGJhY2tJ
RCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5l
cmF0ZVBsdWdpblByb2Nlc3NDYWxsYmFja0lEKCk7CiAgICAgbV9wZW5kaW5nRGVsZXRlV2Vic2l0
ZURhdGFGb3JIb3N0TmFtZXNDYWxsYmFja3Muc2V0KGNhbGxiYWNrSUQsIFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpKTsKIAogICAgIGlmIChzdGF0ZSgpID09IFN0YXRlOjpMYXVuY2hpbmcpIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3Mv
U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVE
ZWxlZ2F0ZUlPUy5tbQppbmRleCA0YTJlMjliNTYwOTYxYTU5YjFjYjU1MTk3ODM5MTQ5YzMxMDY4
NGMyLi43MmE4ODJmMDU4MWQ1ZWFjOTFmYzE0YmMwNWEwMmYxNDRmMTZjMTFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1Ry
ZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRl
SU9TLm1tCkBAIC00Myw4ICs0Myw2IEBACiAjaW1wb3J0IDxXZWJDb3JlL1Njcm9sbFNuYXBPZmZz
ZXRzSW5mby5oPgogI2VuZGlmCiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBAaW1wbGVt
ZW50YXRpb24gV0tTY3JvbGxpbmdOb2RlU2Nyb2xsVmlld0RlbGVnYXRlCiAKIC0gKGluc3RhbmNl
dHlwZSlpbml0V2l0aFNjcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGU6KFdlYktpdDo6U2Nyb2xsaW5n
VHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUyopZGVsZWdhdGUKQEAgLTgwLDcgKzc4LDcgQEAg
LSAodm9pZClzY3JvbGxWaWV3V2lsbEVuZERyYWdnaW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxW
aWV3IHdpdGhWZWxvY2l0eTooQ0dQb2kKIAogICAgIGlmICghX3Njcm9sbGluZ1RyZWVOb2RlRGVs
ZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNldHMoKS5pc0VtcHR5KCkp
IHsKICAgICAgICAgdW5zaWduZWQgaW5kZXg7Ci0gICAgICAgIGZsb2F0IHBvdGVudGlhbFNuYXBQ
b3NpdGlvbiA9IGNsb3Nlc3RTbmFwT2Zmc2V0KF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5z
Y3JvbGxpbmdOb2RlKCkuaG9yaXpvbnRhbFNuYXBPZmZzZXRzKCksIF9zY3JvbGxpbmdUcmVlTm9k
ZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuaG9yaXpvbnRhbFNuYXBPZmZzZXRSYW5nZXMoKSwg
aG9yaXpvbnRhbFRhcmdldCwgdmVsb2NpdHkueCwgaW5kZXgpOworICAgICAgICBmbG9hdCBwb3Rl
bnRpYWxTbmFwUG9zaXRpb24gPSBXZWJDb3JlOjpjbG9zZXN0U25hcE9mZnNldChfc2Nyb2xsaW5n
VHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0cygp
LCBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLmhvcml6b250YWxT
bmFwT2Zmc2V0UmFuZ2VzKCksIGhvcml6b250YWxUYXJnZXQsIHZlbG9jaXR5LngsIGluZGV4KTsK
ICAgICAgICAgX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5zZXRD
dXJyZW50SG9yaXpvbnRhbFNuYXBQb2ludEluZGV4KGluZGV4KTsKICAgICAgICAgaWYgKGhvcml6
b250YWxUYXJnZXQgPj0gMCAmJiBob3Jpem9udGFsVGFyZ2V0IDw9IHNjcm9sbFZpZXcuY29udGVu
dFNpemUud2lkdGgpCiAgICAgICAgICAgICB0YXJnZXRDb250ZW50T2Zmc2V0LT54ID0gcG90ZW50
aWFsU25hcFBvc2l0aW9uOwpAQCAtODgsNyArODYsNyBAQCAtICh2b2lkKXNjcm9sbFZpZXdXaWxs
RW5kRHJhZ2dpbmc6KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcgd2l0aFZlbG9jaXR5OihDR1Bv
aQogCiAgICAgaWYgKCFfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgp
LnZlcnRpY2FsU25hcE9mZnNldHMoKS5pc0VtcHR5KCkpIHsKICAgICAgICAgdW5zaWduZWQgaW5k
ZXg7Ci0gICAgICAgIGZsb2F0IHBvdGVudGlhbFNuYXBQb3NpdGlvbiA9IGNsb3Nlc3RTbmFwT2Zm
c2V0KF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkudmVydGljYWxT
bmFwT2Zmc2V0cygpLCBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgp
LnZlcnRpY2FsU25hcE9mZnNldFJhbmdlcygpLCB2ZXJ0aWNhbFRhcmdldCwgdmVsb2NpdHkueSwg
aW5kZXgpOworICAgICAgICBmbG9hdCBwb3RlbnRpYWxTbmFwUG9zaXRpb24gPSBXZWJDb3JlOjpj
bG9zZXN0U25hcE9mZnNldChfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9k
ZSgpLnZlcnRpY2FsU25hcE9mZnNldHMoKSwgX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNj
cm9sbGluZ05vZGUoKS52ZXJ0aWNhbFNuYXBPZmZzZXRSYW5nZXMoKSwgdmVydGljYWxUYXJnZXQs
IHZlbG9jaXR5LnksIGluZGV4KTsKICAgICAgICAgX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUt
PnNjcm9sbGluZ05vZGUoKS5zZXRDdXJyZW50VmVydGljYWxTbmFwUG9pbnRJbmRleChpbmRleCk7
CiAgICAgICAgIGlmICh2ZXJ0aWNhbFRhcmdldCA+PSAwICYmIHZlcnRpY2FsVGFyZ2V0IDw9IHNj
cm9sbFZpZXcuY29udGVudFNpemUuaGVpZ2h0KQogICAgICAgICAgICAgdGFyZ2V0Q29udGVudE9m
ZnNldC0+eSA9IHBvdGVudGlhbFNuYXBQb3NpdGlvbjsKQEAgLTEyMiw2ICsxMjAsNyBAQCAtICh2
b2lkKXNjcm9sbFZpZXdEaWRFbmREZWNlbGVyYXRpbmc6KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZp
ZXcKIEBlbmQKIAogbmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
IAogU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUzo6U2Nyb2xsaW5nVHJlZVNj
cm9sbGluZ05vZGVEZWxlZ2F0ZUlPUyhTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZSYgc2Nyb2xs
aW5nTm9kZSkKICAgICA6IFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGUoc2Nyb2xs
aW5nTm9kZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3Rv
cmFnZVByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0
b3JhZ2VQcm9jZXNzUHJveHkuY3BwCmluZGV4IGVmYThkMTNjYmJkNWZmYTgwOGI1ZjBlZGJmNGE1
MWRjOWRmODU3ZTcuLjNhMTMxYjRkNjBkOGFhMDdlODdmYjVlNGM2MTRmMzBhN2Q0MmI1NzQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQ
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJv
Y2Vzc1Byb3h5LmNwcApAQCAtMzcsNyArMzcsNyBAQAogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlQ2FsbGJhY2tJ
RCgpCitzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVTdG9yYWdlUHJvY2Vzc0NhbGxiYWNrSUQoKQog
ewogICAgIHN0YXRpYyB1aW50NjRfdCBjYWxsYmFja0lEOwogCkBAIC0xMDUsNyArMTA1LDcgQEAg
dm9pZCBTdG9yYWdlUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklE
IHNlc3Npb25JRCwgT3B0aW9uU2V0PFcKIHsKICAgICBBU1NFUlQoY2FuU2VuZE1lc3NhZ2UoKSk7
CiAKLSAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7CisgICAg
dWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlU3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKCk7
CiAgICAgbV9wZW5kaW5nRmV0Y2hXZWJzaXRlRGF0YUNhbGxiYWNrcy5hZGQoY2FsbGJhY2tJRCwg
V1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAgc2VuZChNZXNzYWdlczo6U3RvcmFn
ZVByb2Nlc3M6OkZldGNoV2Vic2l0ZURhdGEoc2Vzc2lvbklELCBkYXRhVHlwZXMsIGNhbGxiYWNr
SUQpLCAwKTsKQEAgLTExMyw3ICsxMTMsNyBAQCB2b2lkIFN0b3JhZ2VQcm9jZXNzUHJveHk6OmZl
dGNoV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8VwogCiB2
b2lkIFN0b3JhZ2VQcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklE
IHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4gZGF0YVR5cGVzLCBXYWxsVGlt
ZSBtb2RpZmllZFNpbmNlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkICgpPiYmIGNvbXBsZXRpb25I
YW5kbGVyKQogewotICAgIGF1dG8gY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOwor
ICAgIGF1dG8gY2FsbGJhY2tJRCA9IGdlbmVyYXRlU3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKCk7
CiAKICAgICBtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUNhbGxiYWNrcy5hZGQoY2FsbGJhY2tJ
RCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogICAgIHNlbmQoTWVzc2FnZXM6OlN0b3Jh
Z2VQcm9jZXNzOjpEZWxldGVXZWJzaXRlRGF0YShzZXNzaW9uSUQsIGRhdGFUeXBlcywgbW9kaWZp
ZWRTaW5jZSwgY2FsbGJhY2tJRCksIDApOwpAQCAtMTIzLDcgKzEyMyw3IEBAIHZvaWQgU3RvcmFn
ZVByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKFBBTDo6U2Vzc2lvbklE
IHNlc3Npb25JRCwKIHsKICAgICBBU1NFUlQoY2FuU2VuZE1lc3NhZ2UoKSk7CiAKLSAgICB1aW50
NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7CisgICAgdWludDY0X3QgY2Fs
bGJhY2tJRCA9IGdlbmVyYXRlU3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKCk7CiAgICAgbV9wZW5k
aW5nRGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zQ2FsbGJhY2tzLmFkZChjYWxsYmFja0lELCBX
VEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAKICAgICBzZW5kKE1lc3NhZ2VzOjpTdG9yYWdl
UHJvY2Vzczo6RGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKHNlc3Npb25JRCwgZGF0YVR5cGVz
LCBvcmlnaW5zLCBjYWxsYmFja0lEKSwgMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCmluZGV4IDI1ZmU0YTJlODRjZDg0OWQzZDliMGZhMWNkOTM4OWE3M2RjMWNlYTYuLjY1
YzAxOWZkNGVlMTVhMjIwOTc0NTY2YmE2Mjg3Y2M0MjQyZTU4MjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC02MSw3ICs2MSw2IEBACiAjaW5jbHVkZSAiV2ViUGFn
ZUluamVjdGVkQnVuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHkuaCIKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlcy5oIgotI2luY2x1ZGUgPFdlYkNvcmUv
QWx0ZXJuYXRpdmVUZXh0Q2xpZW50Lmg+IC8vIEZJWE1FOiBOZWVkZWQgYnkgV2ViUGFnZVByb3h5
TWVzc2FnZXMuaCBmb3IgRElDVEFUSU9OX0FMVEVSTkFUSVZFUy4KICNpbmNsdWRlICJXZWJQYWdl
UHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlBvcHVwTWVudVByb3h5LmgiCiAjaW5jbHVk
ZSAiV2ViUHJvY2Vzc0xpZmV0aW1lVHJhY2tlci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYzc3MTU1OTBlZDcxY2NkZDIzZGYyODVh
M2FhN2MzNmU1NDNkYjdmNi4uYmM3YzI0M2Y0Nzk2YWNjMmVjZTRjNGZlY2M0NDkyOTI1OGNkYjQ1
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC03NTYsNiArNzU2LDggQEAKIAkJMkQ5MkE3OTUyMTJCNkFENDAwRjQ5M0ZEIC8qIFBsdWdp
blByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyRDkwRDExMjgxQzk2NjAwMUVCOTYyIC8qIFBsdWdpblBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwICovOyB9OwogCQkyRDkyQTc5NjIxMkI2QURBMDBG
NDkzRkQgLyogTmV0c2NhcGVQbHVnaW5Nb2R1bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE0QTlDNTMxMkI4MTZDRjAwOEZFOTg0IC8qIE5ldHNj
YXBlUGx1Z2luTW9kdWxlLmNwcCAqLzsgfTsKIAkJMkQ5MkE3OTcyMTJCNkFEQTAwRjQ5M0ZEIC8q
IFBsdWdpbkluZm9ybWF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDdDM0Y4QzhFMTczQUY1MkQwMDdCN0YzOSAvKiBQbHVnaW5JbmZvcm1hdGlv
bi5jcHAgKi87IH07CisJCTJEOTJBNzk4MjEzNDhEODUwMEY0OTNGRCAvKiBXZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFBQjFGNzdEMUQxQjMwQTkwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eU1hYy5tbSAqLzsgfTsKKwkJMkQ5MkE3OUYyMTM0QjA3RTAwRjQ5M0ZEIC8qIFdlYlBh
eW1lbnRDb29yZGluYXRvclByb3h5SU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUFCMUY3N0IxRDFCMzBBOTAwN0M5QkQxIC8qIFdlYlBheW1lbnRD
b29yZGluYXRvclByb3h5SU9TLm1tICovOyB9OwogCQkyRDkzMTE2OTIxMkY2MUIyMDAwNDRCRkUg
LyogV0tDb250ZW50Vmlldy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGQ0I0RTNEMThCQkUwNDQwMDBGQ0ZDOSAvKiBXS0NvbnRlbnRWaWV3Lm1tICov
OyB9OwogCQkyRDkzMTE2QTIxMkY2MUI1MDAwNDRCRkUgLyogV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZD
QjRFNkIxOEJCRjI2QTAwMEZDRkM5IC8qIFdLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSAqLzsg
fTsKIAkJMkQ5RUEzMEQxQTk2Q0I1OTAwMkQyODA3IC8qIFdLUGFnZUluamVjdGVkQnVuZGxlQ2xp
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlF
QTMwQzFBOTZDQjU5MDAyRDI4MDcgLyogV0tQYWdlSW5qZWN0ZWRCdW5kbGVDbGllbnQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTEyNDEsNiAr
MTEyNDMsOCBAQAogCQkJCTdDRTlDRTEwMUZBMDc2N0EwMDAxNzdERSAvKiBXZWJQYWdlVXBkYXRl
UHJlZmVyZW5jZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M0Njk0QzkxQTRCNEVBMTAwQUQ1
ODQ1IC8qIFdlYlBhc3RlYm9hcmRQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkxQUIxRjc5NjFEMUIzNjEzMDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9y
TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJBNzlGMjEzNEIwN0Uw
MEY0OTNGRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbSBpbiBTb3VyY2VzICov
LAorCQkJCTJEOTJBNzk4MjEzNDhEODUwMEY0OTNGRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQ
cm94eU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBQjFGNzk4MUQxQjM2MTMwMDdDOUJEMSAv
KiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkyRDkyQTc4RDIxMkI2QUIxMDBGNDkzRkQgLyogV2ViUGxhdGZvcm1Ub3VjaFBv
aW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOTEzNDRFMjEyQ0Y5RjAwMDEyOEFGRCAvKiBX
ZWJQbHVnaW5JbmZvUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5tbQppbmRleCA1MzA3ZTI2YTc2
MzdlOGE2OWIwNDVhYmI5Mjg3OWYzZjhjNjU4NmYyLi40Y2FhNmNjMGY2MDQ1MGMwM2IyMmEyODRk
ZDEzYWYyNWVmZDZlMzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1
Z2lucy9QREYvUERGUGx1Z2luLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVn
aW5zL1BERi9QREZQbHVnaW4ubW0KQEAgLTg4LDggKzg4LDYgQEAKICNpbXBvcnQgPHBhbC9zcGkv
bWFjL05TTWVudVNQSS5oPgogI2ltcG9ydCA8d3RmL1VVSUQuaD4KIAotdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7Ci0KIC8vIFNldCBvdmVyZmxvdzogaGlkZGVuIG9uIHRoZSBhbm5vdGF0aW9uIGNv
bnRhaW5lciBzbyA8aW5wdXQ+IGVsZW1lbnRzIHNjcm9sbGVkIG91dCBvZiB2aWV3IGRvbid0IHNo
b3cKIC8vIHNjcm9sbGJhcnMgb24gdGhlIGJvZHkuIFdlIGNhbid0IGFkZCBhbm5vdGF0aW9ucyBk
aXJlY3RseSB0byB0aGUgYm9keSwgYmVjYXVzZSBvdmVyZmxvdzogaGlkZGVuIG9uIHRoZSBib2R5
CiAvLyB3aWxsIGJyZWFrIHJ1YmJlci1iYW5kaW5nLgpAQCAtMjkwLDcgKzI4OCw3IEBAIC0gKE5T
QXJyYXkgKilhY2Nlc3NpYmlsaXR5QWN0aW9uTmFtZXMKIC0gKHZvaWQpYWNjZXNzaWJpbGl0eVBl
cmZvcm1BY3Rpb246KE5TU3RyaW5nICopYWN0aW9uCiB7CiAgICAgaWYgKFthY3Rpb24gaXNFcXVh
bFRvU3RyaW5nOk5TQWNjZXNzaWJpbGl0eVNob3dNZW51QWN0aW9uXSkKLSAgICAgICAgX3BkZlBs
dWdpbi0+c2hvd0NvbnRleHRNZW51QXRQb2ludChJbnRSZWN0KEludFBvaW50KCksIF9wZGZQbHVn
aW4tPnNpemUoKSkuY2VudGVyKCkpOworICAgICAgICBfcGRmUGx1Z2luLT5zaG93Q29udGV4dE1l
bnVBdFBvaW50KFdlYkNvcmU6OkludFJlY3QoV2ViQ29yZTo6SW50UG9pbnQoKSwgX3BkZlBsdWdp
bi0+c2l6ZSgpKS5jZW50ZXIoKSk7CiB9CiAKIC0gKEJPT0wpYWNjZXNzaWJpbGl0eUlzQXR0cmli
dXRlU2V0dGFibGU6KE5TU3RyaW5nICopYXR0cmlidXRlCkBAIC0zMTYsOCArMzE0LDggQEAgLSAo
aWQpYWNjZXNzaWJpbGl0eUZvY3VzZWRVSUVsZW1lbnQKIHsKICNpZiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEwMTMwMAogICAgIGlmIChXZWJLaXQ6OlBERlBsdWdpbkFubm90
YXRpb24qIGFjdGl2ZUFubm90YXRpb24gPSBfcGRmUGx1Z2luLT5hY3RpdmVBbm5vdGF0aW9uKCkp
IHsKLSAgICAgICAgaWYgKEFYT2JqZWN0Q2FjaGUqIGV4aXN0aW5nQ2FjaGUgPSBfcGRmUGx1Z2lu
LT5heE9iamVjdENhY2hlKCkpIHsKLSAgICAgICAgICAgIGlmIChBY2Nlc3NpYmlsaXR5T2JqZWN0
KiBvYmplY3QgPSBleGlzdGluZ0NhY2hlLT5nZXRPckNyZWF0ZShhY3RpdmVBbm5vdGF0aW9uLT5l
bGVtZW50KCkpKQorICAgICAgICBpZiAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZSogZXhpc3RpbmdD
YWNoZSA9IF9wZGZQbHVnaW4tPmF4T2JqZWN0Q2FjaGUoKSkgeworICAgICAgICAgICAgaWYgKFdl
YkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCA9IGV4aXN0aW5nQ2FjaGUtPmdldE9y
Q3JlYXRlKGFjdGl2ZUFubm90YXRpb24tPmVsZW1lbnQoKSkpCiAjcHJhZ21hIGNsYW5nIGRpYWdu
b3N0aWMgcHVzaAogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XZGVwcmVjYXRl
ZC1kZWNsYXJhdGlvbnMiCiAgICAgICAgICAgICAgICAgcmV0dXJuIFtvYmplY3QtPndyYXBwZXIo
KSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6QCJfQVhBc3NvY2lhdGVkUGx1Z2luUGFyZW50
Il07CkBAIC0zMzgsMTEgKzMzNiwxMSBAQCAtIChpZClhY2Nlc3NpYmlsaXR5QXNzb2NpYXRlZENv
bnRyb2xGb3JBbm5vdGF0aW9uOihQREZBbm5vdGF0aW9uICopYW5ub3RhdGlvbgogICAgIGlmICgh
YWN0aXZlQW5ub3RhdGlvbiB8fCAhW2FjdGl2ZUFubm90YXRpb24tPmFubm90YXRpb24oKSBpc0Vx
dWFsOmFubm90YXRpb25dKQogICAgICAgICByZXR1cm4gbmlsOwogICAgIAotICAgIEFYT2JqZWN0
Q2FjaGUqIGNhY2hlID0gX3BkZlBsdWdpbi0+YXhPYmplY3RDYWNoZSgpOworICAgIFdlYkNvcmU6
OkFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gX3BkZlBsdWdpbi0+YXhPYmplY3RDYWNoZSgpOwogICAg
IGlmICghY2FjaGUpCiAgICAgICAgIHJldHVybiBuaWw7CiAgICAgCi0gICAgQWNjZXNzaWJpbGl0
eU9iamVjdCogb2JqZWN0ID0gY2FjaGUtPmdldE9yQ3JlYXRlKGFjdGl2ZUFubm90YXRpb24tPmVs
ZW1lbnQoKSk7CisgICAgV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0ID0gY2Fj
aGUtPmdldE9yQ3JlYXRlKGFjdGl2ZUFubm90YXRpb24tPmVsZW1lbnQoKSk7CiAgICAgaWYgKCFv
YmplY3QpCiAgICAgICAgIHJldHVybiBuaWw7CiAKQEAgLTM1Myw3ICszNTEsNyBAQCAtIChpZClh
Y2Nlc3NpYmlsaXR5QXNzb2NpYXRlZENvbnRyb2xGb3JBbm5vdGF0aW9uOihQREZBbm5vdGF0aW9u
ICopYW5ub3RhdGlvbgogLSAoaWQpYWNjZXNzaWJpbGl0eUhpdFRlc3Q6KE5TUG9pbnQpcG9pbnQK
IHsKICNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMAotICAgIHBv
aW50ID0gX3BkZlBsdWdpbi0+Y29udmVydEZyb21Sb290Vmlld1RvUERGVmlldyhJbnRQb2ludChw
b2ludCkpOworICAgIHBvaW50ID0gX3BkZlBsdWdpbi0+Y29udmVydEZyb21Sb290Vmlld1RvUERG
VmlldyhXZWJDb3JlOjpJbnRQb2ludChwb2ludCkpOwogICAgIHJldHVybiBbX3BkZkxheWVyQ29u
dHJvbGxlciBhY2Nlc3NpYmlsaXR5SGl0VGVzdDpwb2ludF07CiAjZWxzZQogICAgIHJldHVybiBz
ZWxmOwpAQCAtNDIxLDcgKzQxOSw3IEBAIC0gKGlkKWluaXRXaXRoUERGUGx1Z2luOihXZWJLaXQ6
OlBERlBsdWdpbiAqKXBsdWdpbgogCiAtICh2b2lkKXVwZGF0ZVNjcm9sbFBvc2l0aW9uOihDR1Bv
aW50KW5ld1Bvc2l0aW9uCiB7Ci0gICAgX3BkZlBsdWdpbi0+bm90aWZ5U2Nyb2xsUG9zaXRpb25D
aGFuZ2VkKEludFBvaW50KG5ld1Bvc2l0aW9uKSk7CisgICAgX3BkZlBsdWdpbi0+bm90aWZ5U2Ny
b2xsUG9zaXRpb25DaGFuZ2VkKFdlYkNvcmU6OkludFBvaW50KG5ld1Bvc2l0aW9uKSk7CiB9CiAK
IC0gKHZvaWQpd3JpdGVJdGVtc1RvUGFzdGVib2FyZDooTlNBcnJheSAqKWl0ZW1zIHdpdGhUeXBl
czooTlNBcnJheSAqKXR5cGVzCkBAIC01MDAsNiArNDk4LDEwIEBAIC0gKE5TUmVjdCljb252ZXJ0
UmVjdDooTlNSZWN0KXJlY3QgZnJvbVBhZ2U6KFBERlBhZ2UgKikgcGFnZSBmb3JTY2FsZUZhY3Rv
cjooQ0dGCiAtIChQREZQYWdlICopcGFnZU5lYXJlc3RQb2ludDooTlNQb2ludClwb2ludCBjdXJy
ZW50UGFnZTooUERGUGFnZSAqKWN1cnJlbnRQYWdlOwogQGVuZAogCituYW1lc3BhY2UgV2ViS2l0
IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwordXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsK
Kwogc3RhdGljIGNvbnN0IGNoYXIqIHBvc3RTY3JpcHRNSU1FVHlwZSA9ICJhcHBsaWNhdGlvbi9w
b3N0c2NyaXB0IjsKIGNvbnN0IHVpbnQ2NF90IHBkZkRvY3VtZW50UmVxdWVzdElEID0gMTsgLy8g
UGx1Z2luQ29udHJvbGxlciBzdXBwb3J0cyBsb2FkaW5nIG11bHRpcGxlIHN0cmVhbXMsIGJ1dCB3
ZSBvbmx5IG5lZWQgb25lIGZvciBQREYuCiAKQEAgLTU5Niw5ICs1OTgsNiBAQCBzdGF0aWMgdm9p
ZCBnZXRBbGxTY3JpcHRzSW5QREZEb2N1bWVudChDR1BERkRvY3VtZW50UmVmIHBkZkRvY3VtZW50
LCBWZWN0b3I8UmV0YQogICAgIH0KIH0KIAotbmFtZXNwYWNlIFdlYktpdCB7Ci11c2luZyBuYW1l
c3BhY2UgSFRNTE5hbWVzOwotCiBSZWY8UERGUGx1Z2luPiBQREZQbHVnaW46OmNyZWF0ZShXZWJG
cmFtZSYgZnJhbWUpCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUERGUGx1Z2luKGZyYW1l
KSk7CkBAIC0xNDUwLDcgKzE0NDksNyBAQCB2b2lkIFBERlBsdWdpbjo6dXBkYXRlQ3Vyc29yKGNv
bnN0IFdlYk1vdXNlRXZlbnQmIGV2ZW50LCBVcGRhdGVDdXJzb3JNb2RlIG1vZGUpCiAgICAgaWYg
KGhpdFRlc3RSZXN1bHQgPT0gbV9sYXN0SGl0VGVzdFJlc3VsdCAmJiBtb2RlID09IFVwZGF0ZUlm
TmVlZGVkKQogICAgICAgICByZXR1cm47CiAKLSAgICB3ZWJGcmFtZSgpLT5wYWdlKCktPnNlbmQo
TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0Q3Vyc29yKGhpdFRlc3RSZXN1bHQgPT0gVGV4dCA/
IGlCZWFtQ3Vyc29yKCkgOiBwb2ludGVyQ3Vyc29yKCkpKTsKKyAgICB3ZWJGcmFtZSgpLT5wYWdl
KCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0Q3Vyc29yKGhpdFRlc3RSZXN1bHQg
PT0gVGV4dCA/IFdlYkNvcmU6OmlCZWFtQ3Vyc29yKCkgOiBXZWJDb3JlOjpwb2ludGVyQ3Vyc29y
KCkpKTsKICAgICBtX2xhc3RIaXRUZXN0UmVzdWx0ID0gaGl0VGVzdFJlc3VsdDsKIH0KICNlbmRp
ZgpAQCAtMTk4MSwxNiArMTk4MCwxNiBAQCB2b2lkIFBERlBsdWdpbjo6bm90aWZ5U2VsZWN0aW9u
Q2hhbmdlZChQREZTZWxlY3Rpb24gKikKICAgICB3ZWJGcmFtZSgpLT5wYWdlKCktPmRpZENoYW5n
ZVNlbGVjdGlvbigpOwogfQogCi1zdGF0aWMgY29uc3QgQ3Vyc29yJiBjb3JlQ3Vyc29yKFBERkxh
eWVyQ29udHJvbGxlckN1cnNvclR5cGUgdHlwZSkKK3N0YXRpYyBjb25zdCBXZWJDb3JlOjpDdXJz
b3ImIGNvcmVDdXJzb3IoUERGTGF5ZXJDb250cm9sbGVyQ3Vyc29yVHlwZSB0eXBlKQogewogICAg
IHN3aXRjaCAodHlwZSkgewogICAgIGNhc2Uga1BERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGVI
YW5kOgotICAgICAgICByZXR1cm4gaGFuZEN1cnNvcigpOworICAgICAgICByZXR1cm4gV2ViQ29y
ZTo6aGFuZEN1cnNvcigpOwogICAgIGNhc2Uga1BERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGVJ
QmVhbToKLSAgICAgICAgcmV0dXJuIGlCZWFtQ3Vyc29yKCk7CisgICAgICAgIHJldHVybiBXZWJD
b3JlOjppQmVhbUN1cnNvcigpOwogICAgIGNhc2Uga1BERkxheWVyQ29udHJvbGxlckN1cnNvclR5
cGVQb2ludGVyOgogICAgIGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiBwb2ludGVyQ3Vyc29yKCk7
CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpwb2ludGVyQ3Vyc29yKCk7CiAgICAgfQogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348324</attachid>
            <date>2018-08-28 12:45:22 -0700</date>
            <delta_ts>2018-08-29 20:03:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189009-20180828124522.patch</filename>
            <type>text/plain</type>
            <size>63839</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGMyOWZmMzZiMTcwMDNiYTAxZDNlYmJj
YWNhNDY4ZTRmNDZlM2YzN2IuLjA3YzYxYjkxMTg5ZjZmYjg3M2MxN2MxNWM0N2Y1NzI2ODE0YzY4
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDgtMjcgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3Jl
IHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL2dlbmVy
YXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmI6CisgICAgICAgIEl0IHR1cm5zIG91dCBvdXIg
cGxhbiB0byBzd2l0Y2ggdW5pZmllZCBzb3VyY2UgYnVuZGxlIGV2ZXJ5IHRpbWUgdGhlIGRpcmVj
dG9yeQorICAgICAgICBjaGFuZ2VzIGlzIG5vdCBhIGdvb2QgZml0IGZvciBwcm9qZWN0cyBsaWtl
IFdlYktpdDIgd2l0aCBtYW55IHNtYWxsIGRpcmVjdG9yaWVzLgorICAgICAgICBJdCBsZWF2ZXMg
bWFueSB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIHdpdGggb25seSBhIHNpbmdsZSBzb3VyY2UgZmls
ZSwKKyAgICAgICAgYWNoaWV2aW5nIG9ubHkgfjQwJSBkZW5zaXR5LgorCisgICAgICAgIEluc3Rl
YWQsIHN3aXRjaCB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIGV2ZXJ5IHRpbWUgdGhlIHRvcC1sZXZl
bCBkaXJlY3RvcnkgY2hhbmdlcy4KKyAgICAgICAgVGhpcyBzdGlsbCBhY2hpZXZlcyB0aGUgZ29h
bCBvZiAqdXN1YWxseSogb25seSByZWJ1aWxkaW5nIHRoZSBvbmUgdG9wLWxldmVsCisgICAgICAg
IGRpcmVjdG9yeSB5b3UgdG91Y2hlZCwgYW5kIGluY3JlYXNlcyBzb3VyY2UgYnVuZGxlIGRlbnNp
dHkgd2lsZGx5LCB0byB+OTUlLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTgt
MDgtMjcgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQgYnVpbGQgZml4IC0tIGRpc2FibGUgTFRPIGZvciBwcm9kdWN0aW9uIGJ1aWxkcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDBkZTc5NjdkNzZmODU2YjdlYTY1NWYyNzE1ZTVjNzQ3YmEzZDk4Y2IuLmRmMjlk
M2VkZjAzOTY0MDg1OGU0Nzk5N2EwMjExZDBmNTI3MTYwODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzOCBAQAorMjAxOC0wOC0yNyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNv
bT4KKworICAgICAgICBCdW5kbGUgdW5pZmllZCBzb3VyY2VzIG1vcmUgdGlnaHRseSBpbiBwcm9q
ZWN0cyB3aXRoIGRlZXAgZGlyZWN0b3J5IHN0cnVjdHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTAwOQorCisgICAgICAgIFJldmlld2VkIGJ5
IFNpbW9uIEZyYXNlci4KKworICAgICAgICBGaXggYSB2YXJpZXR5IG9mIHVuaWZpY2F0aW9uIGVy
cm9ycyBkdWUgdG8gcmVzaHVmZmxpbmcgdGhlIGJ1bmRsZXMuCisKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAqIFNvdXJjZXNDb2NvYS50
eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUVDRFNBLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUVDRFNBOjppbXBvcnRLZXkpOgorICAgICAgICAqIGRv
bS9Eb2N1bWVudC5oOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHA6
CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRl
ci5oOgorICAgICAgICAqIHBhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50Lmg6CisgICAgICAgICog
cGxhdGZvcm0vUGFzdGVib2FyZC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Rpc3Bs
YXlSZWZyZXNoTW9uaXRvci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZh
bWlseVNwZWNpZmljYXRpb25OdWxsLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJHTExheWVyLm1tOgorICAgICAgICAoLVtXZWJHTExheWVyIGluaXRXaXRoR3JhcGhp
Y3NDb250ZXh0M0Q6XSk6CisgICAgICAgICgtW1dlYkdMTGF5ZXIgY29weUltYWdlU25hcHNob3RX
aXRoQ29sb3JTcGFjZTpdKToKKyAgICAgICAgKC1bV2ViR0xMYXllciBkaXNwbGF5XSk6CisgICAg
ICAgICgtW1dlYkdMTGF5ZXIgYWxsb2NhdGVJT1N1cmZhY2VCYWNraW5nU3RvcmVXaXRoU2l6ZTp1
c2luZ0FscGhhOl0pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxh
eWVyLm1tOgorICAgICAgICAoLVtXZWJHUFVMYXllciBpbml0V2l0aEdQVURldmljZTpdKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHA6CisgICAgICAg
ICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwOgor
CiAyMDE4LTA4LTI3ICBKdXN0aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgV2ViR0wgMiBjb25mb3JtYW5jZTogZnJhbWVidWZmZXItdGVzdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxMzU0
MjExNTNiYWJiM2QyZjhiN2U4MWQyMTcwZjNhOWRkMTEzZWJjLi5mNDYyNzE3YTQ0MGMzMDE3NjQ4
Yzg4YzFmOTQwNGMxMDVkM2IzMDViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDE4LTA4
LTI3ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIEJ1
bmRsZSB1bmlmaWVkIHNvdXJjZXMgbW9yZSB0aWdodGx5IGluIHByb2plY3RzIHdpdGggZGVlcCBk
aXJlY3Rvcnkgc3RydWN0dXJlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTg5MDA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgor
CisgICAgICAgIEZpeCBhIHZhcmlldHkgb2YgdW5pZmljYXRpb24gZXJyb3JzIGR1ZSB0byByZXNo
dWZmbGluZyB0aGUgYnVuZGxlcy4KKworICAgICAgICAqIFNoYXJlZC9BUElXZWJBcmNoaXZlLm1t
OgorICAgICAgICAqIFNoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW06CisgICAgICAgICog
U2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tOgor
ICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9QbHVnaW5JbmZvcm1hdGlvbk1h
Yy5tbToKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaDoKKyAgICAgICAgKEFQSTo6QXV0b21hdGlv
blNlc3Npb25DbGllbnQ6OnNlc3Npb25JZGVudGlmaWVyIGNvbnN0KToKKyAgICAgICAgKEFQSTo6
QXV0b21hdGlvblNlc3Npb25DbGllbnQ6Om1lc3NhZ2VPZkN1cnJlbnRKYXZhU2NyaXB0RGlhbG9n
T25QYWdlKToKKyAgICAgICAgKEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6OnNldFVzZXJJ
bnB1dEZvckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tOgorICAgICAgICAo
LVtXS0N1c3RvbVByb3RvY29sTG9hZGVyIGluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5h
Z2VyUHJveHk6Y3VzdG9tUHJvdG9jb2xJRDpyZXF1ZXN0Ol0pOgorICAgICAgICAoLVtXS0N1c3Rv
bVByb3RvY29sTG9hZGVyIGNvbm5lY3Rpb246ZGlkRmFpbFdpdGhFcnJvcjpdKToKKyAgICAgICAg
KC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBjb25uZWN0aW9uOmRpZFJlY2VpdmVSZXNwb25zZTpd
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZVBsdWdpblByb2Nlc3NDYWxsYmFja0lEKToKKyAgICAg
ICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKToKKyAgICAg
ICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YSk6CisgICAg
ICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JIb3N0
TmFtZXMpOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZUNhbGxiYWNrSUQpOiBEZWxldGVkLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlRGVsZWdhdGVJT1MubW06CisgICAgICAgICgtW1dLU2Nyb2xsaW5nTm9kZVNjcm9s
bFZpZXdEZWxlZ2F0ZSBzY3JvbGxWaWV3V2lsbEVuZERyYWdnaW5nOndpdGhWZWxvY2l0eTp0YXJn
ZXRDb250ZW50T2Zmc2V0Ol0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQ
cm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNz
Q2FsbGJhY2tJRCk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VQcm9jZXNzUHJveHk6OmZldGNo
V2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc1Byb3h5OjpkZWxl
dGVXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VQcm9jZXNzUHJveHk6OmRl
bGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyk6CisgICAgICAgIChXZWJLaXQ6OmdlbmVyYXRlQ2Fs
bGJhY2tJRCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW06Cisg
ICAgICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5UGVy
Zm9ybUFjdGlvbjpdKToKKyAgICAgICAgKC1bV0tQREZQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0
IGFjY2Vzc2liaWxpdHlGb2N1c2VkVUlFbGVtZW50XSk6CisgICAgICAgICgtW1dLUERGUGx1Z2lu
QWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5QXNzb2NpYXRlZENvbnRyb2xGb3JBbm5v
dGF0aW9uOl0pOgorICAgICAgICAoLVtXS1BERlBsdWdpbkFjY2Vzc2liaWxpdHlPYmplY3QgYWNj
ZXNzaWJpbGl0eUhpdFRlc3Q6XSk6CisgICAgICAgICgtW1dLUERGTGF5ZXJDb250cm9sbGVyRGVs
ZWdhdGUgdXBkYXRlU2Nyb2xsUG9zaXRpb246XSk6CisgICAgICAgIChXZWJLaXQ6OlBERlBsdWdp
bjo6dXBkYXRlQ3Vyc29yKToKKyAgICAgICAgKFdlYktpdDo6Y29yZUN1cnNvcik6CisgICAgICAg
IChhcHBlbmRWYWx1ZXNJblBERk5hbWVTdWJ0cmVlVG9WZWN0b3IpOiBEZWxldGVkLgorICAgICAg
ICAoZ2V0QWxsVmFsdWVzSW5QREZOYW1lVHJlZSk6IERlbGV0ZWQuCisgICAgICAgIChnZXRBbGxT
Y3JpcHRzSW5QREZEb2N1bWVudCk6IERlbGV0ZWQuCisKIDIwMTgtMDgtMjcgIEJhc3VrZSBTdXp1
a2kgIDxCYXN1a2UuU3V6dWtpQHNvbnkuY29tPgogCiAgICAgICAgIFtDdXJsXSBFbmFibGUgUHJv
eHkgQXV0aGVudGljYXRpb24gb24gV2ViS2l0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3Jp
cHRzL2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIgYi9Tb3VyY2UvV1RGL1Njcmlw
dHMvZ2VuZXJhdGUtdW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYgppbmRleCBjMDE5NjZlZTFiMmM2
N2Q5NzYwZjAzYTViYmNhYTNjYjU3MjYxMmIzLi5hYmQ5NzY3N2EyMGFkYjRkNDYyZWI5OGY3Nzhk
OTgwMjliZGQ0OTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1NjcmlwdHMvZ2VuZXJhdGUtdW5p
ZmllZC1zb3VyY2UtYnVuZGxlcy5yYgorKysgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvZ2VuZXJhdGUt
dW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYgpAQCAtMjEwLDEwICsyMTAsMTcgQEAgY2xhc3MgQnVu
ZGxlTWFuYWdlcgogICAgIGVuZAogZW5kCiAKK2RlZiBUb3BMZXZlbERpcmVjdG9yeUZvclBhdGgo
cGF0aCkKKyAgICBpZiAhcGF0aAorICAgICAgICByZXR1cm4gbmlsCisgICAgZW5kCisgICAgcmV0
dXJuIHBhdGguZWFjaF9maWxlbmFtZS5uZXh0CitlbmQKKwogZGVmIFByb2Nlc3NGaWxlRm9yVW5p
ZmllZFNvdXJjZUdlbmVyYXRpb24oc291cmNlRmlsZSkKICAgICBwYXRoID0gc291cmNlRmlsZS5w
YXRoCi0gICAgaWYgKCRjdXJyZW50RGlyZWN0b3J5ICE9IHBhdGguZGlybmFtZSkKLSAgICAgICAg
bG9nKCJGbHVzaGluZyBiZWNhdXNlIG5ldyBkaXJuYW1lOyBvbGQ6ICN7JGN1cnJlbnREaXJlY3Rv
cnl9LCBuZXc6ICN7cGF0aC5kaXJuYW1lfSIpCisgICAgaWYgKFRvcExldmVsRGlyZWN0b3J5Rm9y
UGF0aCgkY3VycmVudERpcmVjdG9yeSkgIT0gVG9wTGV2ZWxEaXJlY3RvcnlGb3JQYXRoKHBhdGgu
ZGlybmFtZSkpCisgICAgICAgIGxvZygiRmx1c2hpbmcgYmVjYXVzZSBuZXcgdG9wIGxldmVsIGRp
cmVjdG9yeTsgb2xkOiAjeyRjdXJyZW50RGlyZWN0b3J5fSwgbmV3OiAje3BhdGguZGlybmFtZX0i
KQogICAgICAgICAkYnVuZGxlTWFuYWdlcnMuZWFjaF92YWx1ZSB7IHx4fCB4LmZsdXNoIH0KICAg
ICAgICAgJGN1cnJlbnREaXJlY3RvcnkgPSBwYXRoLmRpcm5hbWUKICAgICBlbmQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5o
CmluZGV4IDBjNmVmYjg2Mjk4MjUzOWQyYjRiMmNjNGY4ZjhiNWZjYjRlYzg4ZTguLjY3Y2ZhOTMz
MTNjOTA0MjFlYjZjZjE3OWQ5OGVmNzAzZGEwZTQ5ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApAQCAtMTMxNCw2
ICsxMzE0LDcgQEAKICNpZiBQTEFURk9STShNQUMpCiAjZGVmaW5lIEhBVkVfVE9VQ0hfQkFSIDEK
ICNkZWZpbmUgSEFWRV9BRFZBTkNFRF9TUEVMTF9DSEVDS0lORyAxCisjZGVmaW5lIFVTRV9ESUNU
QVRJT05fQUxURVJOQVRJVkVTIDEKIAogI2lmIGRlZmluZWQoX19MUDY0X18pCiAjZGVmaW5lIEVO
QUJMRV9XRUJfUExBWUJBQ0tfQ09OVFJPTFNfTUFOQUdFUiAxCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdC
dWZmZXIuaAppbmRleCBmMjkzZDMzM2RiZTNlNDVlNjM3YTE0ODY3MzNkMGEyZmQ4YzA4YzBjLi5l
MzJjZDI2MGRkOTRkYjE1NTk4NWJmYjQ3NjI5YjhhOTExMzZjMjY5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQv
U3RyaW5nQnVmZmVyLmgKQEAgLTI5LDkgKzI5LDEwIEBACiAjaWZuZGVmIFN0cmluZ0J1ZmZlcl9o
CiAjZGVmaW5lIFN0cmluZ0J1ZmZlcl9oCiAKLSNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgog
I2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDx1bmljb2RlL3V0eXBlcy5oPgorI2luY2x1ZGUg
PHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVkZSA8d3RmL01hbGxvY1B0ci5oPgogCiBuYW1lc3Bh
Y2UgV1RGIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3Jr
ZXJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvV29ya2VyQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAKaW5kZXggYWQyMDkzMjE5Zjg4ZTZk
YTNlMWQ2MDYyNGU0MWFlOWE0MWRmNDkyNy4uMWViZGQ1ZGU0OGE3ZTdlMWM5NmEwMWM3OGZlZDdk
YTViYzRmYjg4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3Jr
ZXJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2NhY2hlL1dvcmtlckNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCkBAIC0yOSw2ICsyOSw3IEBA
CiAKICNpbmNsdWRlICJDYWNoZVF1ZXJ5T3B0aW9ucy5oIgogI2luY2x1ZGUgIkNhY2hlU3RvcmFn
ZVByb3ZpZGVyLmgiCisjaW5jbHVkZSAiQ2xpZW50T3JpZ2luLmgiCiAjaW5jbHVkZSAiRG9jdW1l
bnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIK
QEAgLTM2LDcgKzM3LDYgQEAKICNpbmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCiAjaW5jbHVkZSAi
V29ya2VyVGhyZWFkLmgiCiAKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNwcAppbmRleCA5NjEzMmU2OTczN2FlOThh
NjBmOTU0ZjFmMzExODM4NDEwNzFlMGE5Li5jZGI3NzdlOTk5MjkyMjFjZjBhOGYwMTE0MmIyZDA3
ZWRlOWVmZWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDQ29udHJvbGxlci5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShXRUJf
UlRDKQogCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENQcm92aWRl
ci5oIgogI2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9uLmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1
ZXN0VXBkYXRlRXZlbnQuY3BwCmluZGV4IGMyMDUzMzVlYWE4ZTkxOGE2ZDM4YWU0ZjJmZmM4MWFl
ZDQ1YTlhMGYuLjk0YjcxYzQ2NjE5MjQxMzVjMjFhZWE2OWQ0ODk5ZDdiMDc1YTYyYTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVl
c3RVcGRhdGVFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVx
dWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50LmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAj
aWYgRU5BQkxFKFBBWU1FTlRfUkVRVUVTVCkKIAorI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNp
bmNsdWRlICJQYXltZW50UmVxdWVzdC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAKaW5kZXggYWRiNzUxZDBjMzljMGE1
NmI1ZTRkYzFmNTQyMTBiZGFhNGVkZmY3OC4uYTkzM2Q5ODBmY2Y1YTk5MTc0YWIwZTBjNDAwMjA5
MTZjYmYxYjM2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRp
c3BsYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNw
cApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkNhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCIK
ICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJET01FeGNlcHRpb24uaCIKKyNpbmNsdWRl
ICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiUGFnZS5o
IgogI2luY2x1ZGUgIlNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9jcnlwdG8vZ2NyeXB0L1V0aWxpdGllcy5oIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9jcnlwdG8vZ2NyeXB0L1V0aWxpdGllcy5oCmluZGV4IDgyZmUxN2Mw
M2I0MTE3M2VjMTNkMzBiMmZjMzFmYWMxZDI4YTU4ZGYuLjYyOTJhMGY4MGJiMGY1ODI2NTMyZmU0
MWIzYmFhMDkxYmRlMmM2MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY3J5
cHRvL2djcnlwdC9VdGlsaXRpZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NyeXB0
by9nY3J5cHQvVXRpbGl0aWVzLmgKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgPGdjcnlw
dC5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVkZSA8d3RmL09wdGlvbmFs
Lmg+CiAKIG5hbWVzcGFjZSBQQUwgewogbmFtZXNwYWNlIEdDcnlwdCB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlc0Nv
Y29hLnR4dAppbmRleCA2NmY3ZjE2YmQ2NGY4MmM0MzJiZWFlZDhlNzBkMWI1ZmYwNjNhNTE3Li45
NTdlNGI1YjY2MWI0MDIwZjBhMjFlZTAwOTVjMDE3NjQ2ZTQ5M2EzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXND
b2NvYS50eHQKQEAgLTM4OSw3ICszODksNyBAQCBwbGF0Zm9ybS9pb3MvUGxhdGZvcm1TY3JlZW5J
T1MubW0KIHBsYXRmb3JtL2lvcy9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVySU9TLm1tIEBuby11
bmlmeQogcGxhdGZvcm0vaW9zL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0Lm1tIEBuby11
bmlmeQogcGxhdGZvcm0vaW9zL1F1aWNrTG9vay5tbQotcGxhdGZvcm0vaW9zL1F1aWNrTG9va1Nv
ZnRMaW5rLm1tCitwbGF0Zm9ybS9pb3MvUXVpY2tMb29rU29mdExpbmsubW0gQG5vLXVuaWZ5CiBw
bGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLm1tCiBwbGF0Zm9ybS9pb3MvU2Ny
b2xsQW5pbWF0b3JJT1MubW0KIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbQpAQCAt
Mzk5LDcgKzM5OSw3IEBAIHBsYXRmb3JtL2lvcy9TU0xLZXlHZW5lcmF0b3JJT1MuY3BwCiBwbGF0
Zm9ybS9pb3MvU3lzdGVtTWVtb3J5SU9TLmNwcAogcGxhdGZvcm0vaW9zL1RoZW1lSU9TLm1tIEBu
by11bmlmeQogcGxhdGZvcm0vaW9zL1RpbGVDb250cm9sbGVyTWVtb3J5SGFuZGxlcklPUy5jcHAK
LXBsYXRmb3JtL2lvcy9Vc2VyQWdlbnRJT1MubW0KK3BsYXRmb3JtL2lvcy9Vc2VyQWdlbnRJT1Mu
bW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvVmFsaWRhdGlvbkJ1YmJsZUlPUy5tbSBAbm8tdW5p
ZnkKIHBsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbSBAbm8tdW5p
ZnkKIHBsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIubW0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlc0dUSy50
eHQKaW5kZXggNDYyNmI2ZmNiZTU0YTQ5NWVkMTBjNmJiODI0NDlhMDQ5NzYyMjc3My4uZTYxNmYy
N2U1YmVlMDkwZmI0YzdjNWM1MTJlNWI2NmEyMmM3N2Y1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvU291cmNlc0dUSy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlc0dUSy50eHQK
QEAgLTYxLDE0ICs2MSwxNCBAQCBwbGF0Zm9ybS9Vc2VyQWdlbnRRdWlya3MuY3BwCiAKIHBsYXRm
b3JtL2dlb2NsdWUvR2VvbG9jYXRpb25Qcm92aWRlckdlb2NsdWUuY3BwCiAKLXBsYXRmb3JtL2dy
YXBoaWNzL0dMQ29udGV4dC5jcHAKK3BsYXRmb3JtL2dyYXBoaWNzL0dMQ29udGV4dC5jcHAgQG5v
LXVuaWZ5CiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuY3BwCiAK
LXBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRDYWlyb1gxMS5jcHAK
K3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRDYWlyb1gxMS5jcHAg
QG5vLXVuaWZ5CiAKIHBsYXRmb3JtL2dyYXBoaWNzL2VnbC9HTENvbnRleHRFR0wuY3BwCiBwbGF0
Zm9ybS9ncmFwaGljcy9lZ2wvR0xDb250ZXh0RUdMV2F5bGFuZC5jcHAgQG5vLXVuaWZ5Ci1wbGF0
Zm9ybS9ncmFwaGljcy9lZ2wvR0xDb250ZXh0RUdMWDExLmNwcAorcGxhdGZvcm0vZ3JhcGhpY3Mv
ZWdsL0dMQ29udGV4dEVHTFgxMS5jcHAgQG5vLXVuaWZ5CiAKIHBsYXRmb3JtL2dyYXBoaWNzL2ds
eC9HTENvbnRleHRHTFguY3BwCiAKQEAgLTgyLDkgKzgyLDkgQEAgcGxhdGZvcm0vZ3JhcGhpY3Mv
b3BlbnR5cGUvT3BlblR5cGVWZXJ0aWNhbERhdGEuY3BwCiAKIHBsYXRmb3JtL2dyYXBoaWNzL3dh
eWxhbmQvUGxhdGZvcm1EaXNwbGF5V2F5bGFuZC5jcHAKIAotcGxhdGZvcm0vZ3JhcGhpY3MveDEx
L1BsYXRmb3JtRGlzcGxheVgxMS5jcHAKLXBsYXRmb3JtL2dyYXBoaWNzL3gxMS9YRXJyb3JUcmFw
cGVyLmNwcAotcGxhdGZvcm0vZ3JhcGhpY3MveDExL1hVbmlxdWVSZXNvdXJjZS5jcHAKK3BsYXRm
b3JtL2dyYXBoaWNzL3gxMS9QbGF0Zm9ybURpc3BsYXlYMTEuY3BwIEBuby11bmlmeQorcGxhdGZv
cm0vZ3JhcGhpY3MveDExL1hFcnJvclRyYXBwZXIuY3BwIEBuby11bmlmeQorcGxhdGZvcm0vZ3Jh
cGhpY3MveDExL1hVbmlxdWVSZXNvdXJjZS5jcHAgQG5vLXVuaWZ5CiAKIHBsYXRmb3JtL2d0ay9E
cmFnRGF0YUd0ay5jcHAKIHBsYXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3RrLmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGI2ZGY3NDhhNmQxOTA0ODViMThjM2Q1OGNiNTE4M2JiYWRiODJmODkuLmQzYjllYWFjZjQ1Y2Nj
MTgzMDhhOGNkOGRkNTliZGFhYjNiNjc0ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTgwNiw2ICs4MDYsOCBAQAogCQkyRDhC
OTJGRjIwM0QxM0UxMDA5Qzg2OEYgLyogVW5pZmllZFNvdXJjZTUzMC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBERTVGODVEMzFGQTIzODU5MDA2REI2
M0IgLyogVW5pZmllZFNvdXJjZTUzMC5jcHAgKi87IH07CiAJCTJEOEZFQkREMTQzRTNFRjcwMDcy
NTAyQiAvKiBDU1NDcm9zc2ZhZGVWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMkQ4RkVCREIxNDNFM0VGNzAwNzI1MDJCIC8qIENTU0Nyb3NzZmFk
ZVZhbHVlLmggKi87IH07CiAJCTJEOTA2NjA3MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5MDY2
MDUwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMkQ5MkE3OUEyMTM0QUQ3OTAwRjQ5M0ZEIC8q
IFF1aWNrTG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDQzOTE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5r
Lm1tICovOyB9OworCQkyRDkyQTc5RDIxMzRBRjk1MDBGNDkzRkQgLyogVXNlckFnZW50SU9TLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTNBRjlEODMy
MDMyNTY5MTAwNkNBRDA2IC8qIFVzZXJBZ2VudElPUy5tbSAqLzsgfTsKIAkJMkQ5M0FFRTMxOURG
NTY0MTAwMkE4NkMzIC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOTNBRUUxMTlERjU2NDEwMDJBODZD
MyAvKiBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmggKi87IH07CiAJCTJEOTdGMDQ3MTlERDQx
M0MwMDFFRTlDMyAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRBQUUzMkMxOURDQUY2MDAwRTAwMkQyIC8q
IE1vY2tQYWdlT3ZlcmxheUNsaWVudC5jcHAgKi87IH07CiAJCTJEOTdGMDQ4MTlERDQxNDAwMDFF
RTlDMyAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQUFFMzJEMTlEQ0FGNjAwMEUwMDJEMiAvKiBNb2NrUGFn
ZU92ZXJsYXlDbGllbnQuaCAqLzsgfTsKQEAgLTcwNzIsNyArNzA3NCw3IEBACiAJCTMzOUI1QjYy
MTMxREFBMzIwMEY0OEQwMiAvKiBDb29raWVzU3RyYXRlZ3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ29va2llc1N0cmF0ZWd5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTM2NjJGOTg0MDQ3Q0VEQkU1REREQUZBQSAvKiBSZW5kZXJNYXRoTUxNZW5jbG9zZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJNYXRoTUxNZW5j
bG9zZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3MTE5QTc5MjBDQ0I2MTAw
MDJDNkRDOSAvKiBXZWJLaXRUYXJnZXRDb25kaXRpb25hbHMueGNjb25maWcgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRo
ID0gV2ViS2l0VGFyZ2V0Q29uZGl0aW9uYWxzLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQkzNzE3RDdFNTE3RUNDM0E2MDAzQzI3NkQgLyogZXh0cmFjdC1sb2NhbGl6YWJs
ZS1zdHJpbmdzLnBsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dC5zY3JpcHQucGVybDsgbmFtZSA9IGV4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5n
cy5wbDsgcGF0aCA9ICJTY3JpcHRzL2V4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTM3MTdEN0U1MTdFQ0MzQTYwMDNDMjc2RCAvKiBl
eHRyYWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5wZXJsOyBuYW1lID0gImV4dHJhY3Qt
bG9jYWxpemFibGUtc3RyaW5ncy5wbCI7IHBhdGggPSAiU2NyaXB0cy9leHRyYWN0LWxvY2FsaXph
YmxlLXN0cmluZ3MucGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzFBNjdDQTEx
QzZDN0RCMDAwNDdCOEIgLyogSHlwaGVuYXRpb25DRi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBIeXBoZW5hdGlvbkNGLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMzcxRTY1Q0IxMzY2MUVEQzAwQkVFREIwIC8qIFBhZ2VTZXJpYWxpemVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhZ2VTZXJpYWxpemVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3MUU2NUNEMTM2NjFFRUQwMEJFRURCMCAvKiBQYWdlU2Vy
aWFsaXplci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQYWdlU2Vy
aWFsaXplci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzM1Nyw4ICsxMzM1
OSw4IEBACiAJCUNERTU5NTlDMUJGMjc1NzEwMEExQ0JFOCAvKiBDRE1TZXNzaW9uTWVkaWFTb3Vy
Y2VBVkZPYmpDLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ0RN
U2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQ0RFNjU2MEUxN0NBNkU3NjAwNTI2QkE3IC8qIG1lZGlhQ29udHJvbHNBcHBsZS5qcyAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
amF2YXNjcmlwdDsgcGF0aCA9IG1lZGlhQ29udHJvbHNBcHBsZS5qczsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0RFNjY3QTExRTRCQkE0RDAwRTgxNTRBIC8qIFBsYXRmb3JtQXVkaW9E
YXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtQXVkaW9EYXRh
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNERTY2N0EyMUU0QkJGMTUwMEU4MTU0
QSAvKiBXZWJBdWRpb0J1ZmZlckxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gY29jb2EvV2ViQXVkaW9CdWZmZXJMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJQ0RFNjY3QTMxRTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlz
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBjb2NvYS9XZWJBdWRpb0J1ZmZl
ckxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0RFNjY3QTIxRTRCQkYxNTAw
RTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBXZWJBdWRpb0J1ZmZlckxpc3QuY3BwOyBwYXRoID0gY29jb2EvV2ViQXVk
aW9CdWZmZXJMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0RFNjY3QTMx
RTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBXZWJBdWRpb0J1ZmZlckxpc3QuaDsgcGF0aCA9IGNvY29hL1dlYkF1
ZGlvQnVmZmVyTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU3RkM0MjE4
MTkwNEIxMDAyQkJCNzcgLyogT3JkZXJJdGVyYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBPcmRlckl0ZXJhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQ0RFN0ZDNDMxODE5MDRCMTAwMkJCQjc3IC8qIE9yZGVySXRlcmF0b3IuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT3JkZXJJdGVyYXRvci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDREU4M0RBRjE4M0M0NDA2MDAzMUVBQTMgLyogVmlkZW9QbGF5
YmFja1F1YWxpdHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVmlk
ZW9QbGF5YmFja1F1YWxpdHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzE0
NDIsNiArMzE0NDQsNyBAQAogCQkJCUFBMTJERjQ5MTc0M0RGODMwMDREQUZERiAvKiBQbGF0Zm9y
bVNwZWVjaFN5bnRoZXNpemVySU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RBMjlBMzAxQ0JG
NzRENDAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0Lm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQ0RBMjlBMTYxQ0JEQTU2QzAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lvbklu
dGVyZmFjZU1hYy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJBNzlBMjEzNEFENzkwMEY0OTNG
RCAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAogCQkJCTQxOTI0MjQ5MjEy
N0I5M0UwMDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTMxNkRDQjhBMUU3QTY5OTYwMDFCNUY4NyAvKiBSVENJY2VUcmFuc3Bv
cnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1MTE1NkUxMkIxNzQ5QzAwQzk2NzU0IC8qIFNj
cm9sbEFuaW1hdG9yTWFjLm1tIGluIFNvdXJjZXMgKi8sCkBAIC0zMjA1Niw2ICszMjA1OSw3IEBA
CiAJCQkJMkQ4QjkyRkQyMDNEMTNFMTAwOUM4NjhGIC8qIFVuaWZpZWRTb3VyY2U1MjguY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMkQ4QjkyRkUyMDNEMTNFMTAwOUM4NjhGIC8qIFVuaWZpZWRTb3Vy
Y2U1MjkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ4QjkyRkYyMDNEMTNFMTAwOUM4NjhGIC8q
IFVuaWZpZWRTb3VyY2U1MzAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5MkE3OUQyMTM0QUY5
NTAwRjQ5M0ZEIC8qIFVzZXJBZ2VudElPUy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUzMjA0MjAy
MUY5QTlGMTAwMEI4MUIyQSAvKiBVc2VyQWdlbnRTY3JpcHRzRGF0YS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk3QzNCNzk3MTE5MDg3NTdCMDBCNDdBMkQgLyogVXNlck1lc3NhZ2VIYW5kbGVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTdDRTY4MzQ0MTkyMTQzQTgwMEY0RDkyOCAvKiBVc2VyTWVz
c2FnZUhhbmRsZXJEZXNjcmlwdG9yLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNEU0EuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNEU0EuY3Bw
CmluZGV4IDk3MzE3ZTA0YTk3OTdmMTU2MTZkZTRjNzYwOGI3NDVkOWZkZWRlZjcuLjFiNTNjNDUz
YjM1MjUzNmI0ODEyZWRkMmFhNjRkOTFlOTVkZjg1NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUVDRFNBLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1FQ0RTQS5jcHAKQEAg
LTM2LDEyICszNiwxNCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK25hbWVzcGFjZSBDcnlw
dG9BbGdvcml0aG1FQ0RTQUludGVybmFsIHsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBBTEcy
NTYgPSAiRVMyNTYiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzM4NCA9ICJFUzM4NCI7
CiBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHNTEyID0gIkVTNTEyIjsKIHN0YXRpYyBjb25z
dCBjaGFyKiBjb25zdCBQMjU2ID0gIlAtMjU2IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBQ
Mzg0ID0gIlAtMzg0IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBQNTIxID0gIlAtNTIxIjsK
K30KIAogUmVmPENyeXB0b0FsZ29yaXRobT4gQ3J5cHRvQWxnb3JpdGhtRUNEU0E6OmNyZWF0ZSgp
CiB7CkBAIC0xMDIsNiArMTA0LDcgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1FQ0RTQTo6Z2VuZXJh
dGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyYgcGFyYW1ldGUKIAogdm9pZCBD
cnlwdG9BbGdvcml0aG1FQ0RTQTo6aW1wb3J0S2V5KENyeXB0b0tleUZvcm1hdCBmb3JtYXQsIEtl
eURhdGEmJiBkYXRhLCBjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJz
LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMsIEtleUNhbGxi
YWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2spCiB7
CisgICAgdXNpbmcgbmFtZXNwYWNlIENyeXB0b0FsZ29yaXRobUVDRFNBSW50ZXJuYWw7CiAgICAg
Y29uc3QgYXV0byYgZWNQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtRWNLZXlQ
YXJhbXM+KHBhcmFtZXRlcnMpOwogCiAgICAgUmVmUHRyPENyeXB0b0tleUVDPiByZXN1bHQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ2NyeXB0L0dDcnlwdFV0aWxpdGllcy5o
IGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2djcnlwdC9HQ3J5cHRVdGlsaXRpZXMuaAppbmRleCBm
MGE0MTM0NTZhOTQ0NTk5NThmOWE3ZjAyNTQ1MzQ0YjVmYjZjM2U1Li4zNmY0OGQwNGQ3ODJkNTIz
OTlkZDc3YzRiYzNkNzgyOGQ3OTVhOWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlw
dG8vZ2NyeXB0L0dDcnlwdFV0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9n
Y3J5cHQvR0NyeXB0VXRpbGl0aWVzLmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlIDxwYWwv
Y3J5cHRvL0NyeXB0b0RpZ2VzdC5oPgogI2luY2x1ZGUgPHBhbC9jcnlwdG8vZ2NyeXB0L0hhbmRs
ZS5oPgogI2luY2x1ZGUgPHBhbC9jcnlwdG8vZ2NyeXB0L1V0aWxpdGllcy5oPgorI2luY2x1ZGUg
PHd0Zi9PcHRpb25hbC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmgKaW5kZXggYTcxZGEzZjBlZTFhOTdmYjY1MDAwZmMxYTU1ODc5MDRmNzkyYTY4ZS4uMjI3NTc5
ODQxODViZmM4MmNkZjdmMzAxNzg1NTg3YjJkZWYwYTliOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgK
QEAgLTY0MSw3ICs2NDEsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgV0VCQ09SRV9FWFBPUlQgRG9j
dW1lbnRMb2FkZXIqIGxvYWRlcigpIGNvbnN0OwogCi0gICAgV0VCQ09SRV9FWFBPUlQgRXhjZXB0
aW9uT3I8UmVmUHRyPFdpbmRvd1Byb3h5Pj4gb3BlbkZvckJpbmRpbmdzKERPTVdpbmRvdyYgYWN0
aXZlV2luZG93LCBET01XaW5kb3cmIGZpcnN0V2luZG93LCBjb25zdCBTdHJpbmcmIHVybCwgY29u
c3QgQXRvbWljU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGZlYXR1cmVzKTsKKyAgICBXRUJD
T1JFX0VYUE9SVCBFeGNlcHRpb25PcjxSZWZQdHI8V2luZG93UHJveHk+PiBvcGVuRm9yQmluZGlu
Z3MoRE9NV2luZG93JiBhY3RpdmVXaW5kb3csIERPTVdpbmRvdyYgZmlyc3RET01XaW5kb3csIGNv
bnN0IFN0cmluZyYgdXJsLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
ZmVhdHVyZXMpOwogICAgIFdFQkNPUkVfRVhQT1JUIEV4Y2VwdGlvbk9yPERvY3VtZW50Jj4gb3Bl
bkZvckJpbmRpbmdzKERvY3VtZW50KiByZXNwb25zaWJsZURvY3VtZW50LCBjb25zdCBTdHJpbmcm
IHR5cGUsIGNvbnN0IFN0cmluZyYgcmVwbGFjZSk7CiAKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxk
IHJlbmFtZSB0aGlzIGF0IHNvbWUgcG9pbnQgYW5kIGdpdmUgYmFjayB0aGUgbmFtZSAnb3Blbicg
dG8gdGhlIEhUTUwgc3BlY2lmaWVkIG9uZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAppbmRleCBlNDBmOWE4ODZmMTU5MDRlNjJmMGYyNjg4YTg2
OWE2OTg4OWI0YTg5Li5jNzMxOTIyYWY4Mjk4M2I5ZGFhNmJjN2ZlNTIyNzg2MzczMTY4M2ZkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKQEAg
LTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJIVE1MRG9jdW1lbnRQYXJzZXIuaCIKICNpbmNsdWRl
ICJIVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50Lmgi
CisjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxPcHRHcm91cEVs
ZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MT3B0aW9uRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxQ
YXJzZXJJZGlvbXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNo
ZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaAppbmRleCA3MmIyOTc1
NWYxMWQ5NDA5NWZhN2VkZDUzMDk2OGY3YzU3YjU3YmViLi42ZDlhMmRhOWJlMDMyMDA3YTgyZWRh
NjhjMTZmZDJmMjhiMWMxMjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBw
Y2FjaGUvQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5oCkBAIC0y
NSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNo
ZVJlc291cmNlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmF3UmVzb3VyY2UuaCIKICNpbmNsdWRlICJD
YWNoZWRSYXdSZXNvdXJjZUNsaWVudC5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxl
LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0FsdGVybmF0aXZlVGV4dENsaWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9BbHRlcm5hdGl2ZVRleHRDbGllbnQuaAppbmRleCA5
MzU1OTM3ODhmOTg5OWM5ZTIyNTEwODhiNGU3NmQwMDVkM2QyZjk4Li4xNDNkYTZjNDdmNGJjZWZj
MGE0MWFhODc2NDY3ZDA0NDcxNWJhNzBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0FsdGVybmF0aXZlVGV4dENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWx0ZXJu
YXRpdmVUZXh0Q2xpZW50LmgKQEAgLTI5LDExICsyOSw2IEBACiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCi0jaWYgUExBVEZPUk0oTUFD
KQotLy8gU29tZSBwbGF0Zm9ybXMgcHJvdmlkZSBVSSBmb3Igc3VnZ2VzdGluZyBhbHRlcm5hdGl2
ZSBkaWN0YXRpb24gdGV4dC4KLSNkZWZpbmUgVVNFX0RJQ1RBVElPTl9BTFRFUk5BVElWRVMgMQot
I2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBSZWFzb25Gb3JEaXNtaXNzaW5n
QWx0ZXJuYXRpdmVUZXh0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bh
c3RlYm9hcmQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCBk
NTQzM2RkOTIwYWUwZWU1OTJiZDQ1ZmQ1NjBjZGQzZTM4YTM0NzIxLi5lMDk4MTU2NTFiZDJkNjA1
NzRkYTQyMzZjMzgwZmFkNGQ2MDIxNWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9QYXN0ZWJvYXJkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2Fy
ZC5oCkBAIC0zMzgsNiArMzM4LDcgQEAgZXh0ZXJuIE5TU3RyaW5nICpVSUNvbG9yUGJvYXJkVHlw
ZTsKICNpZiBQTEFURk9STShNQUMpCiBleHRlcm4gY29uc3QgY2hhciogY29uc3QgV2ViQXJjaGl2
ZVBib2FyZFR5cGU7CiBleHRlcm4gY29uc3QgY2hhciogY29uc3QgV2ViVVJMTmFtZVBib2FyZFR5
cGU7CitleHRlcm4gY29uc3QgY2hhciogY29uc3QgV2ViVVJMc1dpdGhUaXRsZXNQYm9hcmRUeXBl
OwogI2VuZGlmCiAKICNpZiAhUExBVEZPUk0oR1RLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2Vzc2lvbk1hYy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TZXNzaW9uTWFjLmNwcAppbmRleCA3OWFiOWY0MWJl
NWNlNmRlODRjODhlM2E2OTE4MTBkMGY0OWE0MzkxLi5lOTE4MDk4OGQ2OWM5NjUwOGRjMTIxYTE3
MGU3MTJhZWFhY2NmZTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9tYWMvQXVkaW9TZXNzaW9uTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9tYWMvQXVkaW9TZXNzaW9uTWFjLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUg
Ik5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSA8Q29yZUF1ZGlvL0F1ZGlvSGFyZHdhcmUuaD4K
ICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwCmluZGV4IDk2
OGJiMjI4NmExZjdlNTg0NjRlZjg4ZDc5ZTYxZWY0MjQ5MDE1NWYuLjNlMmM4MmI4YjEyZWRhMDlk
YjQzZjRjMTMwMTRjNWJiYWMwYjcwMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcApAQCAtMzAsNiAr
MzAsNyBAQAogCiAjaW5jbHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9yQ2xpZW50LmgiCiAjaW5j
bHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlci5oIgorI2luY2x1ZGUgIkxvZ2dpbmcu
aCIKIAogI2lmIFBMQVRGT1JNKElPUykKICNpbmNsdWRlICJEaXNwbGF5UmVmcmVzaE1vbml0b3JJ
T1MuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRG
YW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuY3BwCmluZGV4IDIxNzY5MWY3MjM5NzRl
ODAwNTc5YjI4Y2MwNTZhN2I5YzA4NWM2NGQuLjE1YzAzODc2OTgyNjBmNDA1ZTIyZTViZjUyNzgw
MDMwOGM3ZmUzYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseVNwZWNpZmljYXRpb25OdWxsLmNwcApAQCAtMjcsNiAr
MjcsNyBAQAogI2luY2x1ZGUgIkZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5oIgogCiAjaW5j
bHVkZSAiRm9udFNlbGVjdG9yLmgiCisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSGFz
aC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRHZW5lcmljRmFtaWxpZXMuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRHZW5lcmljRmFtaWxpZXMuaAppbmRleCBmNzYyYmFlMmZm
OTQxZTc1YTMyYjQ5ZjUzNDFjMjc4ZjAwY2E3N2VhLi40MmY0MmIyZTVjZDExMjA0ZjhjNmMxNTQy
NjdlNGI4Y2UyNGM1YjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250R2VuZXJpY0ZhbWlsaWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udEdlbmVyaWNGYW1pbGllcy5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVk
ZSA8dW5pY29kZS91c2NyaXB0Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJp
bmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFRhZ2dlZFNldHRpbmdzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRUYWdnZWRTZXR0aW5ncy5jcHAKaW5kZXggNjFi
MmViZWY2YzQ3NTAxMTMzMjFiZjE2YmE5Y2VlZTMwYzNmMjRlMC4uYjBjYTQzZDU1YzQ1Y2I1MGQ3
MzBmODkyZTE3ZDgwODY5Y2NkNDk2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udFRhZ2dlZFNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250VGFnZ2VkU2V0dGluZ3MuY3BwCkBAIC0yNyw5ICsyNyw4IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRm9udFRhZ2dlZFNldHRpbmdzLmgiCiAK
LSNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0U3RyZWFtLmg+Ci0KICNpbmNsdWRlIDx3dGYvdGV4dC9B
dG9taWNTdHJpbmdIYXNoLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvVGV4dFN0cmVhbS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhaXJvL0ZvbnRDYWlyby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYWlyby9Gb250Q2Fpcm8uY3BwCmluZGV4IDA2ZDlkNzQ5NGE0YmVhYThlM2E5Y2U3
YWZlNmRhYjM1YjFjMmRiNzguLjI4NmJjNmQ4ZTNjMjY1MzA0NmM2M2I1MmIzNmQwOTAzMWYyMDhk
OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0Zv
bnRDYWlyby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8v
Rm9udENhaXJvLmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2lmIFVTRShDQUlSTykKIAogI2luY2x1
ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgorI2luY2x1ZGUgIkNhaXJvT3BlcmF0aW9ucy5oIgogI2lu
Y2x1ZGUgIkNhaXJvVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiRm9udC5oIgogI2luY2x1ZGUgIkds
eXBoQnVmZmVyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9XZWJHTExheWVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvV2ViR0xMYXllci5tbQppbmRleCAzZWQ3ZTQxZTdjNjg4NDZmM2ZiYzE3MmNlNmJhOTg5
ZmY4N2Y1N2ViLi44ZWUzNDhkODk5ODYzNDEzZDZiNjcxMzc2ZTViMWRhNTRjYjEzNzYzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHTExheWVy
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdMTGF5
ZXIubW0KQEAgLTQyLDEzICs0MiwxMSBAQAogI2ltcG9ydCA8T3BlbkdML2dsLmg+CiAjZW5kaWYK
IAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIEBpbXBsZW1lbnRhdGlvbiBXZWJHTExheWVy
CiAKIEBzeW50aGVzaXplIGNvbnRleHQ9X2NvbnRleHQ7CiAKLS0oaWQpaW5pdFdpdGhHcmFwaGlj
c0NvbnRleHQzRDooR3JhcGhpY3NDb250ZXh0M0QqKWNvbnRleHQKKy0oaWQpaW5pdFdpdGhHcmFw
aGljc0NvbnRleHQzRDooV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0QqKWNvbnRleHQKIHsKICAg
ICBfY29udGV4dCA9IGNvbnRleHQ7CiAgICAgc2VsZiA9IFtzdXBlciBpbml0XTsKQEAgLTg2LDcg
Kzg0LDcgQEAgc3RhdGljIHZvaWQgZnJlZURhdGEodm9pZCAqLCBjb25zdCB2b2lkICpkYXRhLCBz
aXplX3QgLyogc2l6ZSAqLykKIH0KICNlbmRpZgogCi0tKENHSW1hZ2VSZWYpY29weUltYWdlU25h
cHNob3RXaXRoQ29sb3JTcGFjZTooQ0dDb2xvclNwYWNlUmVmKWNvbG9yU3BhY2UKKy0gKENHSW1h
Z2VSZWYpY29weUltYWdlU25hcHNob3RXaXRoQ29sb3JTcGFjZTooQ0dDb2xvclNwYWNlUmVmKWNv
bG9yU3BhY2UKIHsKICAgICBpZiAoIV9jb250ZXh0KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsK
QEAgLTk2LDcgKzk0LDcgQEAgLShDR0ltYWdlUmVmKWNvcHlJbWFnZVNuYXBzaG90V2l0aENvbG9y
U3BhY2U6KENHQ29sb3JTcGFjZVJlZiljb2xvclNwYWNlCiAKICAgICBSZXRhaW5QdHI8Q0dDb2xv
clNwYWNlUmVmPiBpbWFnZUNvbG9yU3BhY2UgPSBjb2xvclNwYWNlOwogICAgIGlmICghaW1hZ2VD
b2xvclNwYWNlKQotICAgICAgICBpbWFnZUNvbG9yU3BhY2UgPSBzUkdCQ29sb3JTcGFjZVJlZigp
OworICAgICAgICBpbWFnZUNvbG9yU3BhY2UgPSBXZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigp
OwogCiAgICAgQ0dSZWN0IGxheWVyQm91bmRzID0gQ0dSZWN0SW50ZWdyYWwoW3NlbGYgYm91bmRz
XSk7CiAKQEAgLTE0MSwxOSArMTM5LDE5IEBAIC0gKHZvaWQpZGlzcGxheQogI2VuZGlmCiAKICAg
ICBfY29udGV4dC0+bWFya0xheWVyQ29tcG9zaXRlZCgpOwotICAgIFBsYXRmb3JtQ0FMYXllciog
bGF5ZXIgPSBQbGF0Zm9ybUNBTGF5ZXI6OnBsYXRmb3JtQ0FMYXllcigoX19icmlkZ2Ugdm9pZCop
c2VsZik7CisgICAgV2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyKiBsYXllciA9IFdlYkNvcmU6OlBs
YXRmb3JtQ0FMYXllcjo6cGxhdGZvcm1DQUxheWVyKChfX2JyaWRnZSB2b2lkKilzZWxmKTsKICAg
ICBpZiAobGF5ZXIgJiYgbGF5ZXItPm93bmVyKCkpCiAgICAgICAgIGxheWVyLT5vd25lcigpLT5w
bGF0Zm9ybUNBTGF5ZXJMYXllckRpZERpc3BsYXkobGF5ZXIpOwogfQogCiAjaWYgVVNFKE9QRU5H
TCkKLS0gKHZvaWQpYWxsb2NhdGVJT1N1cmZhY2VCYWNraW5nU3RvcmVXaXRoU2l6ZTooSW50U2l6
ZSlzaXplIHVzaW5nQWxwaGE6KEJPT0wpdXNpbmdBbHBoYQorLSAodm9pZClhbGxvY2F0ZUlPU3Vy
ZmFjZUJhY2tpbmdTdG9yZVdpdGhTaXplOihXZWJDb3JlOjpJbnRTaXplKXNpemUgdXNpbmdBbHBo
YTooQk9PTCl1c2luZ0FscGhhCiB7CiAgICAgX2J1ZmZlclNpemUgPSBzaXplOwogICAgIF91c2lu
Z0FscGhhID0gdXNpbmdBbHBoYTsKLSAgICBfY29udGVudHNCdWZmZXIgPSBXZWJDb3JlOjpJT1N1
cmZhY2U6OmNyZWF0ZShzaXplLCBzUkdCQ29sb3JTcGFjZVJlZigpKTsKLSAgICBfZHJhd2luZ0J1
ZmZlciA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUsIHNSR0JDb2xvclNwYWNlUmVm
KCkpOwotICAgIF9zcGFyZUJ1ZmZlciA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUs
IHNSR0JDb2xvclNwYWNlUmVmKCkpOworICAgIF9jb250ZW50c0J1ZmZlciA9IFdlYkNvcmU6OklP
U3VyZmFjZTo6Y3JlYXRlKHNpemUsIFdlYkNvcmU6OnNSR0JDb2xvclNwYWNlUmVmKCkpOworICAg
IF9kcmF3aW5nQnVmZmVyID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVhdGUoc2l6ZSwgV2ViQ29y
ZTo6c1JHQkNvbG9yU3BhY2VSZWYoKSk7CisgICAgX3NwYXJlQnVmZmVyID0gV2ViQ29yZTo6SU9T
dXJmYWNlOjpjcmVhdGUoc2l6ZSwgV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYoKSk7CiAKICAg
ICBBU1NFUlQoX2NvbnRlbnRzQnVmZmVyKTsKICAgICBBU1NFUlQoX2RyYXdpbmdCdWZmZXIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR1BV
TGF5ZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVM
YXllci5tbQppbmRleCA1YzM1NTdmOGJkNjZhNjhjOTIzYjIzYWE2NDdiYjcxNDg0MDllOWExLi4y
NWVmYjhiNzQ3NjgwMjQ1NThkYmNkZjMwZjc0MzE4NzE0Njk1NWE4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbQpAQCAt
MzQsMTMgKzM0LDExIEBACiAjaW1wb3J0IDx3dGYvRmFzdE1hbGxvYy5oPgogI2ltcG9ydCA8d3Rm
L1JldGFpblB0ci5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogQGltcGxlbWVudGF0
aW9uIFdlYkdQVUxheWVyCiAKIEBzeW50aGVzaXplIGNvbnRleHQ9X2NvbnRleHQ7CiAKLS0gKGlk
KWluaXRXaXRoR1BVRGV2aWNlOihHUFVEZXZpY2UqKWNvbnRleHQKKy0gKGlkKWluaXRXaXRoR1BV
RGV2aWNlOihXZWJDb3JlOjpHUFVEZXZpY2UqKWNvbnRleHQKIHsKICAgICBzZWxmID0gW3N1cGVy
IGluaXRdOwogICAgIF9jb250ZXh0ID0gY29udGV4dDsKQEAgLTUwLDcgKzQ4LDcgQEAgLSAoaWQp
aW5pdFdpdGhHUFVEZXZpY2U6KEdQVURldmljZSopY29udGV4dAogCiAjaWYgUExBVEZPUk0oTUFD
KQogICAgIHNlbGYuY29udGVudHNTY2FsZSA9IF9kZXZpY2VQaXhlbFJhdGlvOwotICAgIHNlbGYu
Y29sb3JzcGFjZSA9IHNSR0JDb2xvclNwYWNlUmVmKCk7CisgICAgc2VsZi5jb2xvcnNwYWNlID0g
V2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYoKTsKICNlbmRpZgogICAgIHJldHVybiBzZWxmOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BV
Q29tbWFuZFF1ZXVlTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
ZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbQppbmRleCA4MjBhZjhiYzE2ZGIzYjQ4NjVlNzli
N2I4MjRkYjJjN2I0ZGYzZWNjLi4zMDNiMjVkYTNkNGE2NGVkMWIwMDMwYjcyYjlmZGJjNmY5NjVj
MzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9H
UFVDb21tYW5kUXVldWVNZXRhbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbQpAQCAtMzEsNiArMzEsNyBAQAogI2lt
cG9ydCAiR1BVRGV2aWNlLmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0IDxNZXRhbC9N
ZXRhbC5oPgorI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bhc3RlYm9h
cmRNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQpp
bmRleCBjYjUwNGNmNTQzZWI3ZTgwZDc2NjVjZDFlNTdlMzA4OWFmZmIxYTcwLi5mZDZlOTI5ODc3
NGZhZjRmZTg3MzViZjI3NTY1YWRjOTUzMmJmNjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQpAQCAtNTIsMTAgKzUyLDEwIEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY29uc3QgY2hhciogY29uc3QgV2ViQXJjaGl2ZVBib2FyZFR5cGUgPSAiQXBw
bGUgV2ViIEFyY2hpdmUgcGFzdGVib2FyZCB0eXBlIjsKIGNvbnN0IGNoYXIqIGNvbnN0IFdlYlVS
TE5hbWVQYm9hcmRUeXBlID0gInB1YmxpYy51cmwtbmFtZSI7Citjb25zdCBjaGFyKiBjb25zdCBX
ZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGUgPSAiV2ViVVJMc1dpdGhUaXRsZXNQYm9hcmRUeXBl
IjsKIAogY29uc3QgY2hhciBXZWJTbWFydFBhc3RlUGJvYXJkVHlwZVtdID0gIk5lWFQgc21hcnQg
cGFzdGUgcGFzdGVib2FyZCB0eXBlIjsKIGNvbnN0IGNoYXIgV2ViVVJMUGJvYXJkVHlwZVtdID0g
InB1YmxpYy51cmwiOwotY29uc3QgY2hhciBXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGVbXSA9
ICJXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGUiOwogCiBzdGF0aWMgY29uc3QgVmVjdG9yPFN0
cmluZz4gd3JpdGFibGVUeXBlc0ZvclVSTCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJl
TWFuYWdlckNvY29hLmNwcAppbmRleCA1YzJhOWQyNDE5OGExM2U0OGM0ZjczZTlkZTYxZGQzN2Fk
ZTkyNTUxLi5mNDkyZTYxNDJmMDIzMWI5OTdlOTZiYTU5Mjc5NTg4NTY4MDkzM2FjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1
cmVNYW5hZ2VyQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAKQEAgLTI4LDYgKzI4LDcgQEAK
IAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKKyNpbmNsdWRlICJDb3JlVmlkZW9Tb2Z0TGlu
ay5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlIDx3dGYvQWxnb3JpdGhtcy5oPgog
I2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlLmNwcAppbmRleCBlYzQ0
MWVmZDc1ZTkzODc2NzY2NTViZDAyNWQ5MzdiNTM4NzczN2EzLi5mOGE1OTdmY2ZlY2FjMjVkYTAy
ZWQwNmY1NjM4N2I3ZTFmMGRkZGM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlLmNwcApAQCAtMzYsNyArMzYsOSBA
QAogI2luY2x1ZGUgIkNhcHR1cmVEZXZpY2UuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5j
bHVkZSAiTWVkaWFDb25zdHJhaW50cy5oIgorI2luY2x1ZGUgIk1vY2tSZWFsdGltZUF1ZGlvU291
cmNlLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKyNpbmNsdWRlICJSZWFsdGltZU1l
ZGlhU291cmNlQ2VudGVyLmgiCiAjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZVNldHRpbmdz
LmgiCiAjaW5jbHVkZSA8bWF0aC5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVl
c3RCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1
ZXN0QmFzZS5jcHAKaW5kZXggMjU0MDk2NTZjM2Q2MzIwMzYxNjVmYWIxZGQ3NDllODhmY2E2ODQ4
Mi4uZmY1ODM2MTc0ZWFiOTU5NTI4YTIwN2JmYmFhYjYwMDM5ZDliNTAzMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2Uu
Y3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiSFRUUEhlYWRlck5hbWVzLmgiCiAjaW5j
bHVkZSAiUHVibGljU3VmZml4LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCisjaW5j
bHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5UG9saWN5LmgiCiAj
aW5jbHVkZSA8d3RmL1BvaW50ZXJDb21wYXJpc29uLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5ldC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0Zvcm1EYXRhU3RyZWFtQ0ZOZXQuY3BwCmlu
ZGV4IDI5MDI1ZDM4YTdmZDM2ZmY5Yjk5NjIzOTFmMDgwODcwMjFmZjEzMGUuLmU1MzIxYzI3ZDRk
OTY4YzY2ZTRjZDRjNjc3OTYzZjVhN2Q2Y2FkZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5ldC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Gb3JtRGF0YVN0cmVhbUNGTmV0LmNwcApAQCAt
NDIsMTEgKzQyLDcgQEAKICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8
d3RmL1RocmVhZGluZy5oPgogCi0jaWYgUExBVEZPUk0oSU9TKSAmJiAhUExBVEZPUk0oSU9TTUFD
KQotc3RhdGljIGNvbnN0IFNJbnQzMiBmbmZFcnIgPSAtNDM7Ci0jZWxpZiBQTEFURk9STShNQUMp
Ci0jaW5jbHVkZSA8Q29yZVNlcnZpY2VzL0NvcmVTZXJ2aWNlcy5oPgotI2VuZGlmCitzdGF0aWMg
Y29uc3QgU0ludDMyIGZpbGVOb3RGb3VuZEVycm9yID0gLTQzOwogCiAjaWYgUExBVEZPUk0oQ09D
T0EpCiBleHRlcm4gIkMiIHZvaWQgQ0ZVUkxSZXF1ZXN0U2V0SFRUUFJlcXVlc3RCb2R5KENGTXV0
YWJsZVVSTFJlcXVlc3RSZWYgbXV0YWJsZUhUVFBSZXF1ZXN0LCBDRkRhdGFSZWYgaHR0cEJvZHkp
OwpAQCAtMjQxLDcgKzIzNyw3IEBAIHN0YXRpYyBCb29sZWFuIGZvcm1PcGVuKENGUmVhZFN0cmVh
bVJlZiwgQ0ZTdHJlYW1FcnJvciogZXJyb3IsIEJvb2xlYW4qIG9wZW5Db21wCiAjaWYgUExBVEZP
Uk0oV0lOKQogICAgICAgICBFTk9FTlQ7CiAjZWxzZQotICAgICAgICBmbmZFcnI7CisgICAgICAg
IGZpbGVOb3RGb3VuZEVycm9yOwogI2VuZGlmCiAgICAgcmV0dXJuIG9wZW5lZDsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Tb3VwTmV0d29ya1Nl
c3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Tb3VwTmV0d29y
a1Nlc3Npb24uaAppbmRleCBjNjNiZWZkMmYzMGYxNTA0MDE3Nzk5MjQ3OGU4ZGY0YjgzNzkwMjMy
Li5kMWU5ZDljZTViMjg5ZDE0Y2M2YzE2NTkzYmY0YWQwNjc4MjdlNTNhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvU291cE5ldHdvcmtTZXNzaW9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1NvdXBOZXR3b3JrU2Vz
c2lvbi5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIFNvdXBOZXR3b3JrU2Vzc2lvbl9oCiAj
ZGVmaW5lIFNvdXBOZXR3b3JrU2Vzc2lvbl9oCiAKKyNpbmNsdWRlIDxnaW8vZ2lvLmg+CiAjaW5j
bHVkZSA8Z2xpYi1vYmplY3QuaD4KICNpbmNsdWRlIDxwYWwvU2Vzc2lvbklELmg+CiAjaW5jbHVk
ZSA8d3RmL0Z1bmN0aW9uLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L1RleHRDb2RlY1VURjguY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0
Q29kZWNVVEY4LmNwcAppbmRleCBiMzE4ZTYyMmJjYmUxMTgwMTlhNDE2ODU2MzMzNTU2ZjEwNzJk
NzllLi4yMWYwMzhiYzZkNDViNDY4ZGUyYWVmNzQ2Nzk4NWI0ZDAyNWRjNzk2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVVRGOC5jcHAKQEAgLTI5LDYgKzI5
LDcgQEAKICNpbmNsdWRlICJUZXh0Q29kZWNBU0NJSUZhc3RQYXRoLmgiCiAjaW5jbHVkZSA8d3Rm
L3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oPgorI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL0NoYXJh
Y3Rlck5hbWVzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVVRGOC5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4LmgKaW5kZXggZjgyODJiNWYzNGE4OTQ3M2RlOWFkN2Ey
MTc2NWFmNmEzMmFjZjk1Yy4uODRmNzE0N2U2ZGMzNGYyZTc1MTU2MTIxMDE5YmFmMTQwZTViYzFl
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4LmgKQEAg
LTI2LDYgKzI2LDcgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiVGV4dENvZGVjLmgiCisj
aW5jbHVkZSA8dW5pY29kZS91dGY4Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvTENoYXIuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5jcHAKaW5kZXgg
M2JjODJjNmUxYWJkMmZhYzQzYjA5OWM4ZTZlM2NjZjM2NmRkODUzYi4uMmMyYjUwOGZhYzVjNmZj
ODQ2Mjg1YzlmZmE4OTVhN2I0MDIyYjhlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cu
Y3BwCkBAIC0yNyw2ICsyNyw4IEBACiAjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zs
b3cuaCIKIAogI2luY2x1ZGUgIlJlbmRlck11bHRpQ29sdW1uRmxvdy5oIgorI2luY2x1ZGUgIlJl
bmRlclRyZWVCdWlsZGVyQmxvY2suaCIKKyNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlck11bHRp
Q29sdW1uLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyRm9ybUNvbnRyb2xzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckZv
cm1Db250cm9scy5jcHAKaW5kZXggODI3YzhiYjAxNzI4MDRkMjYxNjFiNjQzNjNjNjM1NWIyN2I4
ZWFiMS4uOTljNTc0Nzg0MzcwYTgzYTY0NTFjMWNiMmE0YWNiMmE5YzRjOTM2ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyRm9y
bUNvbnRyb2xzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVu
ZGVyVHJlZUJ1aWxkZXJGb3JtQ29udHJvbHMuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNs
dWRlICJSZW5kZXJCdXR0b24uaCIKICNpbmNsdWRlICJSZW5kZXJNZW51TGlzdC5oIgorI2luY2x1
ZGUgIlJlbmRlclRyZWVCdWlsZGVyQmxvY2suaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1
aWxkZXJJbmxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRl
clRyZWVCdWlsZGVySW5saW5lLmNwcAppbmRleCA3Y2QwNzE1ZGY1MjRhNzZmZDIwNmEyMzQyOGQ5
ZGFjN2Q3ZDg1M2Y4Li5lZTYzOWQ5ZmJiMmI5OGY2ODIwZDhhM2RmNTFjMjdlYTAyMmEzMzFhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1
aWxkZXJJbmxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9S
ZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAKQEAgLTMwLDYgKzMwLDggQEAKICNpbmNsdWRlICJS
ZW5kZXJGdWxsU2NyZWVuLmgiCiAjaW5jbHVkZSAiUmVuZGVySW5saW5lLmgiCiAjaW5jbHVkZSAi
UmVuZGVyVGFibGUuaCIKKyNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlck11bHRpQ29sdW1uLmgi
CisjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJUYWJsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5k
ZXJUcmVlQnVpbGRlclJ1YnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5n
L1JlbmRlclRyZWVCdWlsZGVyUnVieS5jcHAKaW5kZXggN2FjMTliYWM1YmJjOGRkOWNjNjI0YmFh
NDFkOWM4OWM3MWQxMWE4OC4uYWMxMjQ1ZGM5MjVkOWMwOWRjYzE3YzMwMjVkMzIxNDFkZDk3NzYy
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRy
ZWVCdWlsZGVyUnVieS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5n
L1JlbmRlclRyZWVCdWlsZGVyUnVieS5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlclJ1YnkuaCIKIAorI2luY2x1ZGUg
IlJlbmRlckFuY2VzdG9ySXRlcmF0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJSdWJ5LmgiCiAjaW5j
bHVkZSAiUmVuZGVyUnVieUJhc2UuaCIKICNpbmNsdWRlICJSZW5kZXJSdWJ5UnVuLmgiCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRh
dGVyLmNwcAppbmRleCA3ZDc2YWY5NDI3NDYxNzVlYjlhMmM1OWU3MWE5NzEyNGZmYzBkYTI0Li42
NTIyNmEwNTUxZTVmMWVlNGE4MzQ4YmVjZDkzNWUzYmI0MDBhMDcxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAK
QEAgLTQxLDYgKzQxLDggQEAKICNpbmNsdWRlICJSZW5kZXJEZXNjZW5kYW50SXRlcmF0b3IuaCIK
ICNpbmNsdWRlICJSZW5kZXJGdWxsU2NyZWVuLmgiCiAjaW5jbHVkZSAiUmVuZGVySW5saW5lLmgi
CisjaW5jbHVkZSAiUmVuZGVyTXVsdGlDb2x1bW5GbG93LmgiCisjaW5jbHVkZSAiUmVuZGVyTXVs
dGlDb2x1bW5TZXQuaCIKICNpbmNsdWRlICJSZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRl
bnQuaCIKICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAjaW5jbHVkZSAiU3R5
bGVSZXNvbHZlci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJj
aGl2ZS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmUubW0KaW5kZXggYjE3
NDJmZGZkZDM4NjllYWRkM2Q3YzVhZWU3MDVlNjYxZjk3ZWVkYy4uYjhjOTcyZjdlYzE4ZWI3ZDRj
OWE3MWRlMmI0ZTFlMmM2NWRlODc2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQv
QVBJV2ViQXJjaGl2ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZl
Lm1tCkBAIC0zNCw5ICszNCw4IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9MZWdhY3lXZWJBcmNoaXZl
Lmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKLQogbmFtZXNwYWNlIEFQSSB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogUmVmPFdl
YkFyY2hpdmU+IFdlYkFyY2hpdmU6OmNyZWF0ZShXZWJBcmNoaXZlUmVzb3VyY2UqIG1haW5SZXNv
dXJjZSwgUmVmUHRyPEFQSTo6QXJyYXk+JiYgc3VicmVzb3VyY2VzLCBSZWZQdHI8QVBJOjpBcnJh
eT4mJiBzdWJmcmFtZUFyY2hpdmVzKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2Vi
QXJjaGl2ZVJlc291cmNlLm1tCmluZGV4IGNhZTViODVkZjE3N2RkZGU2OGQ4NTJlNWU1MDZkOGQ5
MmJlMmVhOTQuLmRjMGY5MGYwZjM4NTFhYmYxMDA0ODRiYTU3M2FlNGFmOGU4MGIyMzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmVSZXNvdXJjZS5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW0KQEAgLTMzLDkg
KzMzLDggQEAKICNpbmNsdWRlIDxXZWJDb3JlL1VSTC5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5Q
dHIuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIG5hbWVzcGFjZSBBUEkgewordXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIFJlZjxXZWJBcmNoaXZlUmVzb3VyY2U+IFdlYkFyY2hp
dmVSZXNvdXJjZTo6Y3JlYXRlKEFQSTo6RGF0YSogZGF0YSwgY29uc3QgU3RyaW5nJiBVUkwsIGNv
bnN0IFN0cmluZyYgTUlNRVR5cGUsIGNvbnN0IFN0cmluZyYgdGV4dEVuY29kaW5nKQogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2Nh
cGVQbHVnaW5Nb2R1bGVNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNj
YXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbQppbmRleCA2OGQ3YzZhZGYzNjI3NTEz
MTI5NjM1NjI4NmYxMWU4NDljMTRjMmMwLi5jMGNjYWM1OTg1M2NmYWZmZDlmZjFkMWUzZDY4YjY3
ZDY0NTdmN2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNj
YXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbQpAQCAt
MzQsOSArMzQsOCBAQAogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KICNpbXBvcnQgPHd0Zi9z
cGkvY2YvQ0ZCdW5kbGVTUEkuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIG5hbWVz
cGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIHN0YXRpYyBib29sIGdl
dFBsdWdpbkFyY2hpdGVjdHVyZShDRkJ1bmRsZVJlZiBidW5kbGUsIFBsdWdpbk1vZHVsZUluZm8m
IHBsdWdpbikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0
c2NhcGUvbWFjL1BsdWdpbkluZm9ybWF0aW9uTWFjLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
UGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW0KaW5kZXggNWVjODQy
NDk1OWNiYzE5Mjg4NmZhNzVhYmYwM2YzZDg4NWJjYjFkOS4uMzI1ODRkNDE2YmUwZmYyNWU5ZTkx
ZGRmNDI4NzBlMzM5NGY0OTM2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1
Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW0KKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW0K
QEAgLTM0LDkgKzM0LDggQEAKICNpbXBvcnQgIlN0cmluZ1V0aWxpdGllcy5oIgogI2ltcG9ydCA8
V2ViQ29yZS9QbHVnaW5CbGFja2xpc3QuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0K
IG5hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIHZvaWQgZ2V0
UGxhdGZvcm1QbHVnaW5Nb2R1bGVJbmZvcm1hdGlvbihjb25zdCBQbHVnaW5Nb2R1bGVJbmZvJiBw
bHVnaW4sIEFQSTo6RGljdGlvbmFyeTo6TWFwVHlwZSYgbWFwKQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2Eu
dHh0CmluZGV4IGQ4YTNjOTBkZmZlMzIyMzIyZDc2M2VlMjFlN2NiYTQ1MGZlODVmY2YuLjRiOGQ0
ODA2YjQ0ZjIyMDQ2NTg1NzdlYjdhOTY3OGNiOGUzNDc5YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50
eHQKQEAgLTI5OCw5ICsyOTgsOSBAQCBVSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0gQG5vLXVu
aWZ5CiAKIFVJUHJvY2Vzcy9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eUNvY29hLm1tCiAKLVVJUHJvY2Vzcy9BcHBsZVBheS9pb3MvV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHlJT1MubW0KK1VJUHJvY2Vzcy9BcHBsZVBheS9pb3MvV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHlJT1MubW0gQG5vLXVuaWZ5CiAKLVVJUHJvY2Vzcy9BcHBsZVBheS9tYWMvV2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHlNYWMubW0KK1VJUHJvY2Vzcy9BcHBsZVBheS9tYWMvV2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHlNYWMubW0gQG5vLXVuaWZ5CiAKIFVJUHJvY2Vzcy9BdXRoZW50aWNh
dGlvbi9jb2NvYS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5Q29jb2EubW0KIFVJUHJvY2Vz
cy9BdXRoZW50aWNhdGlvbi9jb2NvYS9TZWNLZXlQcm94eVN0b3JlLm1tCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NvdXJjZXNHVEsudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzR1RLLnR4
dAppbmRleCBhMmRjNWM5ODAwMmIzNWY3ZjlhZDU2ODY1MGRjYTFkNWU2M2E5ODkwLi5hNGI4ODBj
ZDAyNGQxNWNhOGUyZDRlZWE1MGVkMzZkNGQ3OWU2ZDAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NvdXJjZXNHVEsudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0dUSy50eHQKQEAg
LTIwNyw5ICsyMDcsOSBAQCBVSVByb2Nlc3MvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvTGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkuY3BwCiAKIFVJUHJvY2Vzcy9saW51eC9NZW1vcnlQ
cmVzc3VyZU1vbml0b3IuY3BwCiAKLVVJUHJvY2Vzcy9QbHVnaW5zL2d0ay9QbHVnaW5JbmZvQ2Fj
aGUuY3BwCitVSVByb2Nlc3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb0NhY2hlLmNwcCBAbm8tdW5p
ZnkKIAotVUlQcm9jZXNzL1BsdWdpbnMvdW5peC9QbHVnaW5JbmZvU3RvcmVVbml4LmNwcAorVUlQ
cm9jZXNzL1BsdWdpbnMvdW5peC9QbHVnaW5JbmZvU3RvcmVVbml4LmNwcCBAbm8tdW5pZnkKIFVJ
UHJvY2Vzcy9QbHVnaW5zL3VuaXgvUGx1Z2luUHJvY2Vzc1Byb3h5VW5peC5jcHAgQG5vLXVuaWZ5
CiAKIFVJUHJvY2Vzcy9XZWJTdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyLmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQu
aAppbmRleCBiZmM1ZWUzMzgyMjBkOTE1NmZjY2YwMGMxZTc2ZDBiYmVlOTA0MTkwLi4zNzljODg1
N2JlOTRiNjE5NTU1ZWRmZmVjNGMzYTlhNmUxNzc5NDg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaApAQCAt
NTEsNyArNTEsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIH5BdXRvbWF0aW9uU2Vzc2lvbkNs
aWVudCgpIHsgfQogCi0gICAgdmlydHVhbCBTdHJpbmcgc2Vzc2lvbklkZW50aWZpZXIoKSBjb25z
dCB7IHJldHVybiBTdHJpbmcoKTsgfQorICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgc2Vzc2lvbklk
ZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBXVEY6OlN0cmluZygpOyB9CiAgICAgdmlydHVhbCB2
b2lkIGRpZERpc2Nvbm5lY3RGcm9tUmVtb3RlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24m
KSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdE5ld1BhZ2VXaXRoT3B0aW9ucyhXZWJLaXQ6
OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgQXV0b21hdGlvblNlc3Npb25Ccm93c2luZ0NvbnRleHRP
cHRpb25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYktpdDo6V2ViUGFnZVByb3h5Kik+JiYg
Y29tcGxldGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIobnVsbHB0cik7IH0KICAgICB2
aXJ0dWFsIHZvaWQgcmVxdWVzdE1heGltaXplV2luZG93T2ZQYWdlKFdlYktpdDo6V2ViQXV0b21h
dGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgeyBjb21wbGV0aW9uSGFuZGxlcigpOyB9CkBAIC02
MSw4ICs2MSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNTaG93aW5nSmF2YVNjcmlw
dERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQ
YWdlUHJveHkmKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNtaXNzQ3Vy
cmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYs
IFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGFjY2VwdEN1cnJl
bnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBX
ZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgfQotICAgIHZpcnR1YWwgU3RyaW5nIG1lc3NhZ2VPZkN1
cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24m
LCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgcmV0dXJuIFN0cmluZygpOyB9Ci0gICAgdmlydHVh
bCB2b2lkIHNldFVzZXJJbnB1dEZvckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKFdlYktp
dDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIGNvbnN0IFN0
cmluZyYpIHsgfQorICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgbWVzc2FnZU9mQ3VycmVudEphdmFT
Y3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6
V2ViUGFnZVByb3h5JikgeyByZXR1cm4gV1RGOjpTdHJpbmcoKTsgfQorICAgIHZpcnR1YWwgdm9p
ZCBzZXRVc2VySW5wdXRGb3JDdXJyZW50SmF2YVNjcmlwdFByb21wdE9uUGFnZShXZWJLaXQ6Oldl
YkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBjb25zdCBXVEY6OlN0
cmluZyYpIHsgfQogICAgIHZpcnR1YWwgc3RkOjpvcHRpb25hbDxKYXZhU2NyaXB0RGlhbG9nVHlw
ZT4gdHlwZU9mQ3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0
aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyByZXR1cm4gc3RkOjpudWxsb3B0
OyB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9MZWdh
Y3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW0KaW5kZXggMTFiYTM3
MjY1NDgzZmZlN2ZmMjQ2NTA5NDBkOGYzM2E1MmMwYzA0YS4uMTlhNTliNDJjYWI3YjU0N2VkOTQ0
NjBlNzJmYzAzOTZjZmU3OTI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5t
bQpAQCAtMzIsMjMgKzMyLDIwIEBACiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5o
PgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAKLXVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKLQogQGludGVyZmFjZSBXS0N1c3Rv
bVByb3RvY29sTG9hZGVyIDogTlNPYmplY3QgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlPiB7CiBA
cHJpdmF0ZQotICAgIExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiBfY3VzdG9tUHJv
dG9jb2xNYW5hZ2VyUHJveHk7CisgICAgV2ViS2l0OjpMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFn
ZXJQcm94eSogX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OwogICAgIHVpbnQ2NF90IF9jdXN0
b21Qcm90b2NvbElEOwogICAgIE5TVVJMQ2FjaGVTdG9yYWdlUG9saWN5IF9zdG9yYWdlUG9saWN5
OwogICAgIE5TVVJMQ29ubmVjdGlvbiAqX3VybENvbm5lY3Rpb247CiB9Ci0tIChpZClpbml0V2l0
aExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OihMZWdhY3lDdXN0b21Qcm90b2NvbE1h
bmFnZXJQcm94eSopY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJvdG9jb2xJRDoo
dWludDY0X3QpY3VzdG9tUHJvdG9jb2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0
OworLSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTooV2ViS2l0
OjpMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSopY3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
UHJveHkgY3VzdG9tUHJvdG9jb2xJRDoodWludDY0X3QpY3VzdG9tUHJvdG9jb2xJRCByZXF1ZXN0
OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0OwogLSAodm9pZCljdXN0b21Qcm90b2NvbE1hbmFnZXJQ
cm94eURlc3Ryb3llZDsKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdLQ3VzdG9tUHJvdG9jb2xM
b2FkZXIKIAotLSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eToo
TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqKWN1c3RvbVByb3RvY29sTWFuYWdlclBy
b3h5IGN1c3RvbVByb3RvY29sSUQ6KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVzdDoo
TlNVUkxSZXF1ZXN0ICopcmVxdWVzdAorLSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2Nv
bE1hbmFnZXJQcm94eTooV2ViS2l0OjpMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSop
Y3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJvdG9jb2xJRDoodWludDY0X3QpY3Vz
dG9tUHJvdG9jb2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0CiB7CiAgICAgc2Vs
ZiA9IFtzdXBlciBpbml0XTsKICAgICBpZiAoIXNlbGYpCkBAIC04NSw3ICs4Miw3IEBAIC0gKHZv
aWQpY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHlEZXN0cm95ZWQKIAogLSAodm9pZCljb25uZWN0
aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIGRpZEZhaWxXaXRoRXJyb3I6KE5TRXJy
b3IgKillcnJvcgogewotICAgIFJlc291cmNlRXJyb3IgY29yZUVycm9yKGVycm9yKTsKKyAgICBX
ZWJDb3JlOjpSZXNvdXJjZUVycm9yIGNvcmVFcnJvcihlcnJvcik7CiAgICAgX2N1c3RvbVByb3Rv
Y29sTWFuYWdlclByb3h5LT5kaWRGYWlsV2l0aEVycm9yKF9jdXN0b21Qcm90b2NvbElELCBjb3Jl
RXJyb3IpOwogICAgIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS0+c3RvcExvYWRpbmcoX2N1
c3RvbVByb3RvY29sSUQpOwogfQpAQCAtOTksNyArOTYsNyBAQCAtIChOU0NhY2hlZFVSTFJlc3Bv
bnNlICopY29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiB3aWxsQ2FjaGVS
ZXNwbwogCiAtICh2b2lkKWNvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24g
ZGlkUmVjZWl2ZVJlc3BvbnNlOihOU1VSTFJlc3BvbnNlICopcmVzcG9uc2UKIHsKLSAgICBSZXNv
dXJjZVJlc3BvbnNlIGNvcmVSZXNwb25zZShyZXNwb25zZSk7CisgICAgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXNwb25zZSBjb3JlUmVzcG9uc2UocmVzcG9uc2UpOwogICAgIF9jdXN0b21Qcm90b2NvbE1h
bmFnZXJQcm94eS0+ZGlkUmVjZWl2ZVJlc3BvbnNlKF9jdXN0b21Qcm90b2NvbElELCBjb3JlUmVz
cG9uc2UsIF9zdG9yYWdlUG9saWN5KTsKIH0KIApAQCAtMTI3LDYgKzEyNCw3IEBAIC0gKHZvaWQp
Y29ubmVjdGlvbkRpZEZpbmlzaExvYWRpbmc6KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24K
IEBlbmQKIAogbmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAog
dm9pZCBMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQ6OnN0YXJ0TG9hZGluZyhMZWdh
Y3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSYgbWFuYWdlciwgdWludDY0X3QgY3VzdG9tUHJv
dG9jb2xJRCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBjb3JlUmVxdWVzdCkKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNw
cAppbmRleCBjMmI5MWE2Mzk3M2U2MzEyMGFhZTUyOGY4OTc1Mzg1ZjdiNmRiZjYyLi5lZGVkOWM3
ZDJhNGU1OGUzZDA1OGQ4MzI2ODMxMDk4MTgyYWY0NDc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCkBAIC00OCw3
ICs0OCw3IEBAIHN0YXRpYyBjb25zdCBTZWNvbmRzIHNuYXBzaG90dGluZ01pbmltdW1MaWZldGlt
ZSB7IDMwX3MgfTsKIHN0YXRpYyBjb25zdCBTZWNvbmRzIHNodXRkb3duVGltZW91dCB7IDFfbWlu
IH07CiBzdGF0aWMgY29uc3QgU2Vjb25kcyBzbmFwc2hvdHRpbmdTaHV0ZG93blRpbWVvdXQgeyAx
NV9zIH07CiAKLXN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUNhbGxiYWNrSUQoKQorc3RhdGljIHVp
bnQ2NF90IGdlbmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQoKQogewogICAgIHN0YXRpYyB1
aW50NjRfdCBjYWxsYmFja0lEOwogCkBAIC0xMTQsNyArMTE0LDcgQEAgdm9pZCBQbHVnaW5Qcm9j
ZXNzUHJveHk6OmdldFBsdWdpblByb2Nlc3NDb25uZWN0aW9uKE1lc3NhZ2VzOjpXZWJQcm9jZXNz
UHJveHk6OkcKIAogdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEoQ29t
cGxldGlvbkhhbmRsZXI8dm9pZCAoVmVjdG9yPFN0cmluZz4pPiYmIGNvbXBsZXRpb25IYW5kbGVy
KQogewotICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAg
ICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCgp
OwogICAgIG1fcGVuZGluZ0ZldGNoV2Vic2l0ZURhdGFDYWxsYmFja3Muc2V0KGNhbGxiYWNrSUQs
IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIGlmIChzdGF0ZSgpID09IFN0YXRl
OjpMYXVuY2hpbmcpIHsKQEAgLTEyNyw3ICsxMjcsNyBAQCB2b2lkIFBsdWdpblByb2Nlc3NQcm94
eTo6ZmV0Y2hXZWJzaXRlRGF0YShDb21wbGV0aW9uSGFuZGxlcjx2b2lkIChWZWN0b3I8U3RyaW5n
PgogCiB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEoV2FsbFRpbWUg
bW9kaWZpZWRTaW5jZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKIHsKLSAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7
CisgICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNr
SUQoKTsKICAgICBtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUNhbGxiYWNrcy5zZXQoY2FsbGJh
Y2tJRCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAgaWYgKHN0YXRlKCkgPT0g
U3RhdGU6OkxhdW5jaGluZykgewpAQCAtMTQwLDcgKzE0MCw3IEBAIHZvaWQgUGx1Z2luUHJvY2Vz
c1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YShXYWxsVGltZSBtb2RpZmllZFNpbmNlLCBDb21wbGV0
aW9uSGFuCiAKIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZvckhv
c3ROYW1lcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgaG9zdE5hbWVzLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkICgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIHVpbnQ2NF90IGNhbGxiYWNr
SUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2Vu
ZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVuZGluZ0RlbGV0ZVdlYnNp
dGVEYXRhRm9ySG9zdE5hbWVzQ2FsbGJhY2tzLnNldChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKSk7CiAKICAgICBpZiAoc3RhdGUoKSA9PSBTdGF0ZTo6TGF1bmNoaW5nKSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9z
L1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
RGVsZWdhdGVJT1MubW0KaW5kZXggNGEyZTI5YjU2MDk2MWE1OWIxY2I1NTE5NzgzOTE0OWMzMTA2
ODRjMi4uNzJhODgyZjA1ODFkNWVhYzkxZmMxNGJjMDVhMDJmMTQ0ZjE2YzExZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdU
cmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0
ZUlPUy5tbQpAQCAtNDMsOCArNDMsNiBAQAogI2ltcG9ydCA8V2ViQ29yZS9TY3JvbGxTbmFwT2Zm
c2V0c0luZm8uaD4KICNlbmRpZgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogQGltcGxl
bWVudGF0aW9uIFdLU2Nyb2xsaW5nTm9kZVNjcm9sbFZpZXdEZWxlZ2F0ZQogCiAtIChpbnN0YW5j
ZXR5cGUpaW5pdFdpdGhTY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlOihXZWJLaXQ6OlNjcm9sbGlu
Z1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MqKWRlbGVnYXRlCkBAIC04MCw3ICs3OCw3IEBA
IC0gKHZvaWQpc2Nyb2xsVmlld1dpbGxFbmREcmFnZ2luZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xs
VmlldyB3aXRoVmVsb2NpdHk6KENHUG9pCiAKICAgICBpZiAoIV9zY3JvbGxpbmdUcmVlTm9kZURl
bGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuaG9yaXpvbnRhbFNuYXBPZmZzZXRzKCkuaXNFbXB0eSgp
KSB7CiAgICAgICAgIHVuc2lnbmVkIGluZGV4OwotICAgICAgICBmbG9hdCBwb3RlbnRpYWxTbmFw
UG9zaXRpb24gPSBjbG9zZXN0U25hcE9mZnNldChfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+
c2Nyb2xsaW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0cygpLCBfc2Nyb2xsaW5nVHJlZU5v
ZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0UmFuZ2VzKCks
IGhvcml6b250YWxUYXJnZXQsIHZlbG9jaXR5LngsIGluZGV4KTsKKyAgICAgICAgZmxvYXQgcG90
ZW50aWFsU25hcFBvc2l0aW9uID0gV2ViQ29yZTo6Y2xvc2VzdFNuYXBPZmZzZXQoX3Njcm9sbGlu
Z1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNldHMo
KSwgX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFs
U25hcE9mZnNldFJhbmdlcygpLCBob3Jpem9udGFsVGFyZ2V0LCB2ZWxvY2l0eS54LCBpbmRleCk7
CiAgICAgICAgIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuc2V0
Q3VycmVudEhvcml6b250YWxTbmFwUG9pbnRJbmRleChpbmRleCk7CiAgICAgICAgIGlmIChob3Jp
em9udGFsVGFyZ2V0ID49IDAgJiYgaG9yaXpvbnRhbFRhcmdldCA8PSBzY3JvbGxWaWV3LmNvbnRl
bnRTaXplLndpZHRoKQogICAgICAgICAgICAgdGFyZ2V0Q29udGVudE9mZnNldC0+eCA9IHBvdGVu
dGlhbFNuYXBQb3NpdGlvbjsKQEAgLTg4LDcgKzg2LDcgQEAgLSAodm9pZClzY3JvbGxWaWV3V2ls
bEVuZERyYWdnaW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3IHdpdGhWZWxvY2l0eTooQ0dQ
b2kKIAogICAgIGlmICghX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUo
KS52ZXJ0aWNhbFNuYXBPZmZzZXRzKCkuaXNFbXB0eSgpKSB7CiAgICAgICAgIHVuc2lnbmVkIGlu
ZGV4OwotICAgICAgICBmbG9hdCBwb3RlbnRpYWxTbmFwUG9zaXRpb24gPSBjbG9zZXN0U25hcE9m
ZnNldChfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2Fs
U25hcE9mZnNldHMoKSwgX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUo
KS52ZXJ0aWNhbFNuYXBPZmZzZXRSYW5nZXMoKSwgdmVydGljYWxUYXJnZXQsIHZlbG9jaXR5Lnks
IGluZGV4KTsKKyAgICAgICAgZmxvYXQgcG90ZW50aWFsU25hcFBvc2l0aW9uID0gV2ViQ29yZTo6
Y2xvc2VzdFNuYXBPZmZzZXQoX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05v
ZGUoKS52ZXJ0aWNhbFNuYXBPZmZzZXRzKCksIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5z
Y3JvbGxpbmdOb2RlKCkudmVydGljYWxTbmFwT2Zmc2V0UmFuZ2VzKCksIHZlcnRpY2FsVGFyZ2V0
LCB2ZWxvY2l0eS55LCBpbmRleCk7CiAgICAgICAgIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRl
LT5zY3JvbGxpbmdOb2RlKCkuc2V0Q3VycmVudFZlcnRpY2FsU25hcFBvaW50SW5kZXgoaW5kZXgp
OwogICAgICAgICBpZiAodmVydGljYWxUYXJnZXQgPj0gMCAmJiB2ZXJ0aWNhbFRhcmdldCA8PSBz
Y3JvbGxWaWV3LmNvbnRlbnRTaXplLmhlaWdodCkKICAgICAgICAgICAgIHRhcmdldENvbnRlbnRP
ZmZzZXQtPnkgPSBwb3RlbnRpYWxTbmFwUG9zaXRpb247CkBAIC0xMjIsNiArMTIwLDcgQEAgLSAo
dm9pZClzY3JvbGxWaWV3RGlkRW5kRGVjZWxlcmF0aW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxW
aWV3CiBAZW5kCiAKIG5hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiAKIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1M6OlNjcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MoU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUmIHNjcm9s
bGluZ05vZGUpCiAgICAgOiBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlKHNjcm9s
bGluZ05vZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0
b3JhZ2VQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9T
dG9yYWdlUHJvY2Vzc1Byb3h5LmNwcAppbmRleCBlZmE4ZDEzY2JiZDVmZmE4MDhiNWYwZWRiZjRh
NTFkYzlkZjg1N2U3Li4zYTEzMWI0ZDYwZDhhYTA3ZTg3ZmI1ZTRjNjE0ZjMwYTdkNDJiNTc0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNz
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVBy
b2Nlc3NQcm94eS5jcHAKQEAgLTM3LDcgKzM3LDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUNhbGxiYWNr
SUQoKQorc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlU3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKCkK
IHsKICAgICBzdGF0aWMgdWludDY0X3QgY2FsbGJhY2tJRDsKIApAQCAtMTA1LDcgKzEwNSw3IEBA
IHZvaWQgU3RvcmFnZVByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQsIE9wdGlvblNldDxXCiB7CiAgICAgQVNTRVJUKGNhblNlbmRNZXNzYWdlKCkp
OwogCi0gICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAg
IHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgp
OwogICAgIG1fcGVuZGluZ0ZldGNoV2Vic2l0ZURhdGFDYWxsYmFja3MuYWRkKGNhbGxiYWNrSUQs
IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIHNlbmQoTWVzc2FnZXM6OlN0b3Jh
Z2VQcm9jZXNzOjpGZXRjaFdlYnNpdGVEYXRhKHNlc3Npb25JRCwgZGF0YVR5cGVzLCBjYWxsYmFj
a0lEKSwgMCk7CkBAIC0xMTMsNyArMTEzLDcgQEAgdm9pZCBTdG9yYWdlUHJvY2Vzc1Byb3h5Ojpm
ZXRjaFdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFcKIAog
dm9pZCBTdG9yYWdlUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+IGRhdGFUeXBlcywgV2FsbFRp
bWUgbW9kaWZpZWRTaW5jZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAoKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikKIHsKLSAgICBhdXRvIGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsK
KyAgICBhdXRvIGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgp
OwogCiAgICAgbV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFDYWxsYmFja3MuYWRkKGNhbGxiYWNr
SUQsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKICAgICBzZW5kKE1lc3NhZ2VzOjpTdG9y
YWdlUHJvY2Vzczo6RGVsZXRlV2Vic2l0ZURhdGEoc2Vzc2lvbklELCBkYXRhVHlwZXMsIG1vZGlm
aWVkU2luY2UsIGNhbGxiYWNrSUQpLCAwKTsKQEAgLTEyMyw3ICsxMjMsNyBAQCB2b2lkIFN0b3Jh
Z2VQcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQsCiB7CiAgICAgQVNTRVJUKGNhblNlbmRNZXNzYWdlKCkpOwogCi0gICAgdWlu
dDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIHVpbnQ2NF90IGNh
bGxiYWNrSUQgPSBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVu
ZGluZ0RlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2luc0NhbGxiYWNrcy5hZGQoY2FsbGJhY2tJRCwg
V1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAgc2VuZChNZXNzYWdlczo6U3RvcmFn
ZVByb2Nlc3M6OkRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhzZXNzaW9uSUQsIGRhdGFUeXBl
cywgb3JpZ2lucywgY2FsbGJhY2tJRCksIDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaAppbmRleCAyNWZlNGEyZTg0Y2Q4NDlkM2Q5YjBmYTFjZDkzODlhNzNkYzFjZWE2Li42
NWMwMTlmZDRlZTE1YTIyMDk3NDU2NmJhNjI4N2NjNDI0MmU1ODIwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtNjEsNyArNjEsNiBAQAogI2luY2x1ZGUgIldlYlBh
Z2VJbmplY3RlZEJ1bmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIldlYlBheW1lbnRDb29yZGluYXRv
clByb3h5LmgiCiAjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXMuaCIKLSNpbmNsdWRlIDxXZWJDb3Jl
L0FsdGVybmF0aXZlVGV4dENsaWVudC5oPiAvLyBGSVhNRTogTmVlZGVkIGJ5IFdlYlBhZ2VQcm94
eU1lc3NhZ2VzLmggZm9yIERJQ1RBVElPTl9BTFRFUk5BVElWRVMuCiAjaW5jbHVkZSAiV2ViUGFn
ZVByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQb3B1cE1lbnVQcm94eS5oIgogI2luY2x1
ZGUgIldlYlByb2Nlc3NMaWZldGltZVRyYWNrZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGM3NzE1NTkwZWQ3MWNjZGQyM2RmMjg1
YTNhYTdjMzZlNTQzZGI3ZjYuLmJjN2MyNDNmNDc5NmFjYzJlY2U0YzRmZWNjNDQ5MjkyNThjZGI0
NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtNzU2LDYgKzc1Niw4IEBACiAJCTJEOTJBNzk1MjEyQjZBRDQwMEY0OTNGRCAvKiBQbHVn
aW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkQ5MEQxMTI4MUM5NjYwMDFFQjk2MiAvKiBQbHVnaW5Q
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCAqLzsgfTsKIAkJMkQ5MkE3OTYyMTJCNkFEQTAw
RjQ5M0ZEIC8qIE5ldHNjYXBlUGx1Z2luTW9kdWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNEE5QzUzMTJCODE2Q0YwMDhGRTk4NCAvKiBOZXRz
Y2FwZVBsdWdpbk1vZHVsZS5jcHAgKi87IH07CiAJCTJEOTJBNzk3MjEyQjZBREEwMEY0OTNGRCAv
KiBQbHVnaW5JbmZvcm1hdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3QzNGOEM4RTE3M0FGNTJEMDA3QjdGMzkgLyogUGx1Z2luSW5mb3JtYXRp
b24uY3BwICovOyB9OworCQkyRDkyQTc5ODIxMzQ4RDg1MDBGNDkzRkQgLyogV2ViUGF5bWVudENv
b3JkaW5hdG9yUHJveHlNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQUIxRjc3RDFEMUIzMEE5MDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5h
dG9yUHJveHlNYWMubW0gKi87IH07CisJCTJEOTJBNzlGMjEzNEIwN0UwMEY0OTNGRCAvKiBXZWJQ
YXltZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFBQjFGNzdCMUQxQjMwQTkwMDdDOUJEMSAvKiBXZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eUlPUy5tbSAqLzsgfTsKIAkJMkQ5MzExNjkyMTJGNjFCMjAwMDQ0QkZF
IC8qIFdLQ29udGVudFZpZXcubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRkNCNEUzRDE4QkJFMDQ0MDAwRkNGQzkgLyogV0tDb250ZW50Vmlldy5tbSAq
LzsgfTsKIAkJMkQ5MzExNkEyMTJGNjFCNTAwMDQ0QkZFIC8qIFdLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
Q0I0RTZCMThCQkYyNkEwMDBGQ0ZDOSAvKiBXS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gKi87
IH07CiAJCTJEOUVBMzBEMUE5NkNCNTkwMDJEMjgwNyAvKiBXS1BhZ2VJbmplY3RlZEJ1bmRsZUNs
aWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5
RUEzMEMxQTk2Q0I1OTAwMkQyODA3IC8qIFdLUGFnZUluamVjdGVkQnVuZGxlQ2xpZW50LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTExMjQxLDYg
KzExMjQzLDggQEAKIAkJCQk3Q0U5Q0UxMDFGQTA3NjdBMDAwMTc3REUgLyogV2ViUGFnZVVwZGF0
ZVByZWZlcmVuY2VzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDNDY5NEM5MUE0QjRFQTEwMEFE
NTg0NSAvKiBXZWJQYXN0ZWJvYXJkUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMUFCMUY3OTYxRDFCMzYxMzAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRv
ck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDkyQTc5RjIxMzRCMDdF
MDBGNDkzRkQgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlJT1MubW0gaW4gU291cmNlcyAq
LywKKwkJCQkyRDkyQTc5ODIxMzQ4RDg1MDBGNDkzRkQgLyogV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHlNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQUIxRjc5ODFEMUIzNjEzMDA3QzlCRDEg
LyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMkQ5MkE3OEQyMTJCNkFCMTAwRjQ5M0ZEIC8qIFdlYlBsYXRmb3JtVG91Y2hQ
b2ludC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDkxMzQ0RTIxMkNGOUYwMDAxMjhBRkQgLyog
V2ViUGx1Z2luSW5mb1Byb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5tbSBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0KaW5kZXggNTMwN2UyNmE3
NjM3ZThhNjliMDQ1YWJiOTI4NzlmM2Y4YzY1ODZmMi4uNGNhYTZjYzBmNjA0NTBjMDNiMjJhMjg0
ZGQxM2FmMjVlZmQ2ZTM4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1Bs
dWdpbnMvUERGL1BERlBsdWdpbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1
Z2lucy9QREYvUERGUGx1Z2luLm1tCkBAIC04OCw4ICs4OCw2IEBACiAjaW1wb3J0IDxwYWwvc3Bp
L21hYy9OU01lbnVTUEkuaD4KICNpbXBvcnQgPHd0Zi9VVUlELmg+CiAKLXVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwotCiAvLyBTZXQgb3ZlcmZsb3c6IGhpZGRlbiBvbiB0aGUgYW5ub3RhdGlvbiBj
b250YWluZXIgc28gPGlucHV0PiBlbGVtZW50cyBzY3JvbGxlZCBvdXQgb2YgdmlldyBkb24ndCBz
aG93CiAvLyBzY3JvbGxiYXJzIG9uIHRoZSBib2R5LiBXZSBjYW4ndCBhZGQgYW5ub3RhdGlvbnMg
ZGlyZWN0bHkgdG8gdGhlIGJvZHksIGJlY2F1c2Ugb3ZlcmZsb3c6IGhpZGRlbiBvbiB0aGUgYm9k
eQogLy8gd2lsbCBicmVhayBydWJiZXItYmFuZGluZy4KQEAgLTI5MCw3ICsyODgsNyBAQCAtIChO
U0FycmF5ICopYWNjZXNzaWJpbGl0eUFjdGlvbk5hbWVzCiAtICh2b2lkKWFjY2Vzc2liaWxpdHlQ
ZXJmb3JtQWN0aW9uOihOU1N0cmluZyAqKWFjdGlvbgogewogICAgIGlmIChbYWN0aW9uIGlzRXF1
YWxUb1N0cmluZzpOU0FjY2Vzc2liaWxpdHlTaG93TWVudUFjdGlvbl0pCi0gICAgICAgIF9wZGZQ
bHVnaW4tPnNob3dDb250ZXh0TWVudUF0UG9pbnQoSW50UmVjdChJbnRQb2ludCgpLCBfcGRmUGx1
Z2luLT5zaXplKCkpLmNlbnRlcigpKTsKKyAgICAgICAgX3BkZlBsdWdpbi0+c2hvd0NvbnRleHRN
ZW51QXRQb2ludChXZWJDb3JlOjpJbnRSZWN0KFdlYkNvcmU6OkludFBvaW50KCksIF9wZGZQbHVn
aW4tPnNpemUoKSkuY2VudGVyKCkpOwogfQogCiAtIChCT09MKWFjY2Vzc2liaWxpdHlJc0F0dHJp
YnV0ZVNldHRhYmxlOihOU1N0cmluZyAqKWF0dHJpYnV0ZQpAQCAtMzE2LDggKzMxNCw4IEBAIC0g
KGlkKWFjY2Vzc2liaWxpdHlGb2N1c2VkVUlFbGVtZW50CiB7CiAjaWYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDAKICAgICBpZiAoV2ViS2l0OjpQREZQbHVnaW5Bbm5v
dGF0aW9uKiBhY3RpdmVBbm5vdGF0aW9uID0gX3BkZlBsdWdpbi0+YWN0aXZlQW5ub3RhdGlvbigp
KSB7Ci0gICAgICAgIGlmIChBWE9iamVjdENhY2hlKiBleGlzdGluZ0NhY2hlID0gX3BkZlBsdWdp
bi0+YXhPYmplY3RDYWNoZSgpKSB7Ci0gICAgICAgICAgICBpZiAoQWNjZXNzaWJpbGl0eU9iamVj
dCogb2JqZWN0ID0gZXhpc3RpbmdDYWNoZS0+Z2V0T3JDcmVhdGUoYWN0aXZlQW5ub3RhdGlvbi0+
ZWxlbWVudCgpKSkKKyAgICAgICAgaWYgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGUqIGV4aXN0aW5n
Q2FjaGUgPSBfcGRmUGx1Z2luLT5heE9iamVjdENhY2hlKCkpIHsKKyAgICAgICAgICAgIGlmIChX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QgPSBleGlzdGluZ0NhY2hlLT5nZXRP
ckNyZWF0ZShhY3RpdmVBbm5vdGF0aW9uLT5lbGVtZW50KCkpKQogI3ByYWdtYSBjbGFuZyBkaWFn
bm9zdGljIHB1c2gKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV2RlcHJlY2F0
ZWQtZGVjbGFyYXRpb25zIgogICAgICAgICAgICAgICAgIHJldHVybiBbb2JqZWN0LT53cmFwcGVy
KCkgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOkAiX0FYQXNzb2NpYXRlZFBsdWdpblBhcmVu
dCJdOwpAQCAtMzM4LDExICszMzYsMTEgQEAgLSAoaWQpYWNjZXNzaWJpbGl0eUFzc29jaWF0ZWRD
b250cm9sRm9yQW5ub3RhdGlvbjooUERGQW5ub3RhdGlvbiAqKWFubm90YXRpb24KICAgICBpZiAo
IWFjdGl2ZUFubm90YXRpb24gfHwgIVthY3RpdmVBbm5vdGF0aW9uLT5hbm5vdGF0aW9uKCkgaXNF
cXVhbDphbm5vdGF0aW9uXSkKICAgICAgICAgcmV0dXJuIG5pbDsKICAgICAKLSAgICBBWE9iamVj
dENhY2hlKiBjYWNoZSA9IF9wZGZQbHVnaW4tPmF4T2JqZWN0Q2FjaGUoKTsKKyAgICBXZWJDb3Jl
OjpBWE9iamVjdENhY2hlKiBjYWNoZSA9IF9wZGZQbHVnaW4tPmF4T2JqZWN0Q2FjaGUoKTsKICAg
ICBpZiAoIWNhY2hlKQogICAgICAgICByZXR1cm4gbmlsOwogICAgIAotICAgIEFjY2Vzc2liaWxp
dHlPYmplY3QqIG9iamVjdCA9IGNhY2hlLT5nZXRPckNyZWF0ZShhY3RpdmVBbm5vdGF0aW9uLT5l
bGVtZW50KCkpOworICAgIFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCA9IGNh
Y2hlLT5nZXRPckNyZWF0ZShhY3RpdmVBbm5vdGF0aW9uLT5lbGVtZW50KCkpOwogICAgIGlmICgh
b2JqZWN0KQogICAgICAgICByZXR1cm4gbmlsOwogCkBAIC0zNTMsNyArMzUxLDcgQEAgLSAoaWQp
YWNjZXNzaWJpbGl0eUFzc29jaWF0ZWRDb250cm9sRm9yQW5ub3RhdGlvbjooUERGQW5ub3RhdGlv
biAqKWFubm90YXRpb24KIC0gKGlkKWFjY2Vzc2liaWxpdHlIaXRUZXN0OihOU1BvaW50KXBvaW50
CiB7CiAjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDAKLSAgICBw
b2ludCA9IF9wZGZQbHVnaW4tPmNvbnZlcnRGcm9tUm9vdFZpZXdUb1BERlZpZXcoSW50UG9pbnQo
cG9pbnQpKTsKKyAgICBwb2ludCA9IF9wZGZQbHVnaW4tPmNvbnZlcnRGcm9tUm9vdFZpZXdUb1BE
RlZpZXcoV2ViQ29yZTo6SW50UG9pbnQocG9pbnQpKTsKICAgICByZXR1cm4gW19wZGZMYXllckNv
bnRyb2xsZXIgYWNjZXNzaWJpbGl0eUhpdFRlc3Q6cG9pbnRdOwogI2Vsc2UKICAgICByZXR1cm4g
c2VsZjsKQEAgLTQyMSw3ICs0MTksNyBAQCAtIChpZClpbml0V2l0aFBERlBsdWdpbjooV2ViS2l0
OjpQREZQbHVnaW4gKilwbHVnaW4KIAogLSAodm9pZCl1cGRhdGVTY3JvbGxQb3NpdGlvbjooQ0dQ
b2ludCluZXdQb3NpdGlvbgogewotICAgIF9wZGZQbHVnaW4tPm5vdGlmeVNjcm9sbFBvc2l0aW9u
Q2hhbmdlZChJbnRQb2ludChuZXdQb3NpdGlvbikpOworICAgIF9wZGZQbHVnaW4tPm5vdGlmeVNj
cm9sbFBvc2l0aW9uQ2hhbmdlZChXZWJDb3JlOjpJbnRQb2ludChuZXdQb3NpdGlvbikpOwogfQog
CiAtICh2b2lkKXdyaXRlSXRlbXNUb1Bhc3RlYm9hcmQ6KE5TQXJyYXkgKilpdGVtcyB3aXRoVHlw
ZXM6KE5TQXJyYXkgKil0eXBlcwpAQCAtNTAwLDYgKzQ5OCwxMCBAQCAtIChOU1JlY3QpY29udmVy
dFJlY3Q6KE5TUmVjdClyZWN0IGZyb21QYWdlOihQREZQYWdlICopIHBhZ2UgZm9yU2NhbGVGYWN0
b3I6KENHRgogLSAoUERGUGFnZSAqKXBhZ2VOZWFyZXN0UG9pbnQ6KE5TUG9pbnQpcG9pbnQgY3Vy
cmVudFBhZ2U6KFBERlBhZ2UgKiljdXJyZW50UGFnZTsKIEBlbmQKIAorbmFtZXNwYWNlIFdlYktp
dCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKK3VzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7
CisKIHN0YXRpYyBjb25zdCBjaGFyKiBwb3N0U2NyaXB0TUlNRVR5cGUgPSAiYXBwbGljYXRpb24v
cG9zdHNjcmlwdCI7CiBjb25zdCB1aW50NjRfdCBwZGZEb2N1bWVudFJlcXVlc3RJRCA9IDE7IC8v
IFBsdWdpbkNvbnRyb2xsZXIgc3VwcG9ydHMgbG9hZGluZyBtdWx0aXBsZSBzdHJlYW1zLCBidXQg
d2Ugb25seSBuZWVkIG9uZSBmb3IgUERGLgogCkBAIC01OTYsOSArNTk4LDYgQEAgc3RhdGljIHZv
aWQgZ2V0QWxsU2NyaXB0c0luUERGRG9jdW1lbnQoQ0dQREZEb2N1bWVudFJlZiBwZGZEb2N1bWVu
dCwgVmVjdG9yPFJldGEKICAgICB9CiB9CiAKLW5hbWVzcGFjZSBXZWJLaXQgewotdXNpbmcgbmFt
ZXNwYWNlIEhUTUxOYW1lczsKLQogUmVmPFBERlBsdWdpbj4gUERGUGx1Z2luOjpjcmVhdGUoV2Vi
RnJhbWUmIGZyYW1lKQogewogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFBERlBsdWdpbihmcmFt
ZSkpOwpAQCAtMTQ1MCw3ICsxNDQ5LDcgQEAgdm9pZCBQREZQbHVnaW46OnVwZGF0ZUN1cnNvcihj
b25zdCBXZWJNb3VzZUV2ZW50JiBldmVudCwgVXBkYXRlQ3Vyc29yTW9kZSBtb2RlKQogICAgIGlm
IChoaXRUZXN0UmVzdWx0ID09IG1fbGFzdEhpdFRlc3RSZXN1bHQgJiYgbW9kZSA9PSBVcGRhdGVJ
Zk5lZWRlZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgd2ViRnJhbWUoKS0+cGFnZSgpLT5zZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNldEN1cnNvcihoaXRUZXN0UmVzdWx0ID09IFRleHQg
PyBpQmVhbUN1cnNvcigpIDogcG9pbnRlckN1cnNvcigpKSk7CisgICAgd2ViRnJhbWUoKS0+cGFn
ZSgpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNldEN1cnNvcihoaXRUZXN0UmVzdWx0
ID09IFRleHQgPyBXZWJDb3JlOjppQmVhbUN1cnNvcigpIDogV2ViQ29yZTo6cG9pbnRlckN1cnNv
cigpKSk7CiAgICAgbV9sYXN0SGl0VGVzdFJlc3VsdCA9IGhpdFRlc3RSZXN1bHQ7CiB9CiAjZW5k
aWYKQEAgLTE5ODEsMTYgKzE5ODAsMTYgQEAgdm9pZCBQREZQbHVnaW46Om5vdGlmeVNlbGVjdGlv
bkNoYW5nZWQoUERGU2VsZWN0aW9uICopCiAgICAgd2ViRnJhbWUoKS0+cGFnZSgpLT5kaWRDaGFu
Z2VTZWxlY3Rpb24oKTsKIH0KIAotc3RhdGljIGNvbnN0IEN1cnNvciYgY29yZUN1cnNvcihQREZM
YXllckNvbnRyb2xsZXJDdXJzb3JUeXBlIHR5cGUpCitzdGF0aWMgY29uc3QgV2ViQ29yZTo6Q3Vy
c29yJiBjb3JlQ3Vyc29yKFBERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGUgdHlwZSkKIHsKICAg
ICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIGtQREZMYXllckNvbnRyb2xsZXJDdXJzb3JUeXBl
SGFuZDoKLSAgICAgICAgcmV0dXJuIGhhbmRDdXJzb3IoKTsKKyAgICAgICAgcmV0dXJuIFdlYkNv
cmU6OmhhbmRDdXJzb3IoKTsKICAgICBjYXNlIGtQREZMYXllckNvbnRyb2xsZXJDdXJzb3JUeXBl
SUJlYW06Ci0gICAgICAgIHJldHVybiBpQmVhbUN1cnNvcigpOworICAgICAgICByZXR1cm4gV2Vi
Q29yZTo6aUJlYW1DdXJzb3IoKTsKICAgICBjYXNlIGtQREZMYXllckNvbnRyb2xsZXJDdXJzb3JU
eXBlUG9pbnRlcjoKICAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gcG9pbnRlckN1cnNvcigp
OworICAgICAgICByZXR1cm4gV2ViQ29yZTo6cG9pbnRlckN1cnNvcigpOwogICAgIH0KIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348474</attachid>
            <date>2018-08-29 20:03:41 -0700</date>
            <delta_ts>2018-08-30 11:57:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189009-20180829220340.patch</filename>
            <type>text/plain</type>
            <size>64942</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NDkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDE2NWM1NmVjZTkyNzU0NDI1OWU0OWJh
MDJlNDljYmJhNDEyZGJlNjIuLjdiY2ViNGNlZGYwMDE5OTlmNDc4NmIxZjIzYzYxNGQ5YjA3ZGVm
ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDgtMjkgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3Jl
IHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL2dlbmVy
YXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmI6CisgICAgICAgIEl0IHR1cm5zIG91dCBvdXIg
cGxhbiB0byBzd2l0Y2ggdW5pZmllZCBzb3VyY2UgYnVuZGxlIGV2ZXJ5IHRpbWUgdGhlIGRpcmVj
dG9yeQorICAgICAgICBjaGFuZ2VzIGlzIG5vdCBhIGdvb2QgZml0IGZvciBwcm9qZWN0cyBsaWtl
IFdlYktpdDIgd2l0aCBtYW55IHNtYWxsIGRpcmVjdG9yaWVzLgorICAgICAgICBJdCBsZWF2ZXMg
bWFueSB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIHdpdGggb25seSBhIHNpbmdsZSBzb3VyY2UgZmls
ZSwKKyAgICAgICAgYWNoaWV2aW5nIG9ubHkgfjQwJSBkZW5zaXR5LgorCisgICAgICAgIEluc3Rl
YWQsIHN3aXRjaCB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIGV2ZXJ5IHRpbWUgdGhlIHRvcC1sZXZl
bCBkaXJlY3RvcnkgY2hhbmdlcy4KKyAgICAgICAgVGhpcyBzdGlsbCBhY2hpZXZlcyB0aGUgZ29h
bCBvZiAqdXN1YWxseSogb25seSByZWJ1aWxkaW5nIHRoZSBvbmUgdG9wLWxldmVsCisgICAgICAg
IGRpcmVjdG9yeSB5b3UgdG91Y2hlZCwgYW5kIGluY3JlYXNlcyBzb3VyY2UgYnVuZGxlIGRlbnNp
dHkgd2lsZGx5LCB0byB+OTUlLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTgt
MDgtMjkgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5h
bWUgd3RmL3RleHQvbWFjL1N0cmluZ01hYy5tbSB0byB3dGYvdGV4dC9jb2NvY2EvU3RyaW5nQ29j
b2NhLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggZmJhNDUyZjY3OTRhMTI2MTVmNjRkMjk3YmU5M2JkYzQ4ZjAy
ZGIxOS4uNjZiMTk2ZjIwZDdjNTgxMWVkNzRiZDNlZDJmMzgzNjc0ZTU4YTQyZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDM4IEBACisyMDE4LTA4LTI5ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0
b25AYXBwbGUuY29tPgorCisgICAgICAgIEJ1bmRsZSB1bmlmaWVkIHNvdXJjZXMgbW9yZSB0aWdo
dGx5IGluIHByb2plY3RzIHdpdGggZGVlcCBkaXJlY3Rvcnkgc3RydWN0dXJlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5MDA5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIEZpeCBhIHZhcmlldHkgb2YgdW5p
ZmljYXRpb24gZXJyb3JzIGR1ZSB0byByZXNodWZmbGluZyB0aGUgYnVuZGxlcy4KKworICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29udHJvbGxlci5jcHA6CisgICAgICAgICogU291
cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNEU0EuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtRUNEU0E6OmltcG9ydEtleSk6Cisg
ICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFRyZWVC
dWlsZGVyLmNwcDoKKyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVJl
c291cmNlTG9hZGVyLmg6CisgICAgICAgICogcGFnZS9BbHRlcm5hdGl2ZVRleHRDbGllbnQuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9QYXN0ZWJvYXJkLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuY3BwOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL1dlYkdMTGF5ZXIubW06CisgICAgICAgICgtW1dlYkdMTGF5ZXIgaW5p
dFdpdGhHcmFwaGljc0NvbnRleHQzRDpdKToKKyAgICAgICAgKC1bV2ViR0xMYXllciBjb3B5SW1h
Z2VTbmFwc2hvdFdpdGhDb2xvclNwYWNlOl0pOgorICAgICAgICAoLVtXZWJHTExheWVyIGRpc3Bs
YXldKToKKyAgICAgICAgKC1bV2ViR0xMYXllciBhbGxvY2F0ZUlPU3VyZmFjZUJhY2tpbmdTdG9y
ZVdpdGhTaXplOnVzaW5nQWxwaGE6XSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvV2ViR1BVTGF5ZXIubW06CisgICAgICAgICgtW1dlYkdQVUxheWVyIGluaXRXaXRoR1BVRGV2
aWNlOl0pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1
ZU1ldGFsLm1tOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tOgorICAg
ICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2Nv
YS5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNw
cDoKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zs
b3cuY3BwOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklu
bGluZS5jcHA6CisKIDIwMTgtMDgtMjkgIEFkaXR5YSBLZWVydGhpICA8YWtlZXJ0aGlAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtEYXRhbGlzdF0gRGlzcGxheSBwcmVmaXgtbWF0Y2hlZCBzdWdnZXN0
aW9ucyBmaXJzdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwppbmRleCA0M2NjYzRhNjc5NzU1N2E0MDFiMTY1OTBiMzRhZjM2OGJj
NGY3ZjFlLi5kOTRlMWUzZjIzNDNmZTZiMjFhMjVlMWEyZjYwZDFlZGQ2NDE2ZWFhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDUzIEBACisyMDE4LTA4LTI5ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0
b25AYXBwbGUuY29tPgorCisgICAgICAgIEJ1bmRsZSB1bmlmaWVkIHNvdXJjZXMgbW9yZSB0aWdo
dGx5IGluIHByb2plY3RzIHdpdGggZGVlcCBkaXJlY3Rvcnkgc3RydWN0dXJlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5MDA5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIEZpeCBhIHZhcmlldHkgb2YgdW5p
ZmljYXRpb24gZXJyb3JzIGR1ZSB0byByZXNodWZmbGluZyB0aGUgYnVuZGxlcy4KKworICAgICAg
ICAqIFNoYXJlZC9BUElXZWJBcmNoaXZlLm1tOgorICAgICAgICAqIFNoYXJlZC9BUElXZWJBcmNo
aXZlUmVzb3VyY2UubW06CisgICAgICAgICogU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05l
dHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05ldHNj
YXBlL21hYy9QbHVnaW5JbmZvcm1hdGlvbk1hYy5tbToKKyAgICAgICAgKiBTb3VyY2VzQ29jb2Eu
dHh0OgorICAgICAgICAqIFNvdXJjZXNHVEsudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
QVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaDoKKyAgICAgICAgKEFQSTo6QXV0b21hdGlvblNl
c3Npb25DbGllbnQ6OnNlc3Npb25JZGVudGlmaWVyIGNvbnN0KToKKyAgICAgICAgKEFQSTo6QXV0
b21hdGlvblNlc3Npb25DbGllbnQ6Om1lc3NhZ2VPZkN1cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25Q
YWdlKToKKyAgICAgICAgKEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6OnNldFVzZXJJbnB1
dEZvckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
Q29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tOgorICAgICAgICAoLVtX
S0N1c3RvbVByb3RvY29sTG9hZGVyIGluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
UHJveHk6Y3VzdG9tUHJvdG9jb2xJRDpyZXF1ZXN0Ol0pOgorICAgICAgICAoLVtXS0N1c3RvbVBy
b3RvY29sTG9hZGVyIGNvbm5lY3Rpb246ZGlkRmFpbFdpdGhFcnJvcjpdKToKKyAgICAgICAgKC1b
V0tDdXN0b21Qcm90b2NvbExvYWRlciBjb25uZWN0aW9uOmRpZFJlY2VpdmVSZXNwb25zZTpdKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpnZW5lcmF0ZVBsdWdpblByb2Nlc3NDYWxsYmFja0lEKToKKyAgICAgICAg
KFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKToKKyAgICAgICAg
KFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YSk6CisgICAgICAg
IChXZWJLaXQ6OlBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JIb3N0TmFt
ZXMpOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZUNhbGxiYWNrSUQpOiBEZWxldGVkLgorICAg
ICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxp
bmdOb2RlRGVsZWdhdGVJT1MubW06CisgICAgICAgICgtW1dLU2Nyb2xsaW5nTm9kZVNjcm9sbFZp
ZXdEZWxlZ2F0ZSBzY3JvbGxWaWV3V2lsbEVuZERyYWdnaW5nOndpdGhWZWxvY2l0eTp0YXJnZXRD
b250ZW50T2Zmc2V0Ol0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9j
ZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2Fs
bGJhY2tJRCk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VQcm9jZXNzUHJveHk6OmZldGNoV2Vi
c2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc1Byb3h5OjpkZWxldGVX
ZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VQcm9jZXNzUHJveHk6OmRlbGV0
ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyk6CisgICAgICAgIChXZWJLaXQ6OmdlbmVyYXRlQ2FsbGJh
Y2tJRCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW06CisgICAg
ICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5UGVyZm9y
bUFjdGlvbjpdKToKKyAgICAgICAgKC1bV0tQREZQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0IGFj
Y2Vzc2liaWxpdHlGb2N1c2VkVUlFbGVtZW50XSk6CisgICAgICAgICgtW1dLUERGUGx1Z2luQWNj
ZXNzaWJpbGl0eU9iamVjdCBhY2Nlc3NpYmlsaXR5QXNzb2NpYXRlZENvbnRyb2xGb3JBbm5vdGF0
aW9uOl0pOgorICAgICAgICAoLVtXS1BERlBsdWdpbkFjY2Vzc2liaWxpdHlPYmplY3QgYWNjZXNz
aWJpbGl0eUhpdFRlc3Q6XSk6CisgICAgICAgICgtW1dLUERGTGF5ZXJDb250cm9sbGVyRGVsZWdh
dGUgdXBkYXRlU2Nyb2xsUG9zaXRpb246XSk6CisgICAgICAgIChXZWJLaXQ6OlBERlBsdWdpbjo6
dXBkYXRlQ3Vyc29yKToKKyAgICAgICAgKFdlYktpdDo6Y29yZUN1cnNvcik6CisgICAgICAgIChh
cHBlbmRWYWx1ZXNJblBERk5hbWVTdWJ0cmVlVG9WZWN0b3IpOiBEZWxldGVkLgorICAgICAgICAo
Z2V0QWxsVmFsdWVzSW5QREZOYW1lVHJlZSk6IERlbGV0ZWQuCisgICAgICAgIChnZXRBbGxTY3Jp
cHRzSW5QREZEb2N1bWVudCk6IERlbGV0ZWQuCisKIDIwMTgtMDgtMjkgIEFsZXggQ2hyaXN0ZW5z
ZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZlcnQgc29tZSBvZiBy
MjM1Mzk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1NjcmlwdHMvZ2VuZXJhdGUtdW5pZmllZC1z
b3VyY2UtYnVuZGxlcy5yYiBiL1NvdXJjZS9XVEYvU2NyaXB0cy9nZW5lcmF0ZS11bmlmaWVkLXNv
dXJjZS1idW5kbGVzLnJiCmluZGV4IGMwMTk2NmVlMWIyYzY3ZDk3NjBmMDNhNWJiY2FhM2NiNTcy
NjEyYjMuLmFiZDk3Njc3YTIwYWRiNGQ0NjJlYjk4Zjc3OGQ5ODAyOWJkZDQ5OTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9nZW5lcmF0ZS11bmlmaWVkLXNvdXJjZS1idW5kbGVzLnJi
CisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9nZW5lcmF0ZS11bmlmaWVkLXNvdXJjZS1idW5kbGVz
LnJiCkBAIC0yMTAsMTAgKzIxMCwxNyBAQCBjbGFzcyBCdW5kbGVNYW5hZ2VyCiAgICAgZW5kCiBl
bmQKIAorZGVmIFRvcExldmVsRGlyZWN0b3J5Rm9yUGF0aChwYXRoKQorICAgIGlmICFwYXRoCisg
ICAgICAgIHJldHVybiBuaWwKKyAgICBlbmQKKyAgICByZXR1cm4gcGF0aC5lYWNoX2ZpbGVuYW1l
Lm5leHQKK2VuZAorCiBkZWYgUHJvY2Vzc0ZpbGVGb3JVbmlmaWVkU291cmNlR2VuZXJhdGlvbihz
b3VyY2VGaWxlKQogICAgIHBhdGggPSBzb3VyY2VGaWxlLnBhdGgKLSAgICBpZiAoJGN1cnJlbnRE
aXJlY3RvcnkgIT0gcGF0aC5kaXJuYW1lKQotICAgICAgICBsb2coIkZsdXNoaW5nIGJlY2F1c2Ug
bmV3IGRpcm5hbWU7IG9sZDogI3skY3VycmVudERpcmVjdG9yeX0sIG5ldzogI3twYXRoLmRpcm5h
bWV9IikKKyAgICBpZiAoVG9wTGV2ZWxEaXJlY3RvcnlGb3JQYXRoKCRjdXJyZW50RGlyZWN0b3J5
KSAhPSBUb3BMZXZlbERpcmVjdG9yeUZvclBhdGgocGF0aC5kaXJuYW1lKSkKKyAgICAgICAgbG9n
KCJGbHVzaGluZyBiZWNhdXNlIG5ldyB0b3AgbGV2ZWwgZGlyZWN0b3J5OyBvbGQ6ICN7JGN1cnJl
bnREaXJlY3Rvcnl9LCBuZXc6ICN7cGF0aC5kaXJuYW1lfSIpCiAgICAgICAgICRidW5kbGVNYW5h
Z2Vycy5lYWNoX3ZhbHVlIHsgfHh8IHguZmx1c2ggfQogICAgICAgICAkY3VycmVudERpcmVjdG9y
eSA9IHBhdGguZGlybmFtZQogICAgIGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxh
dGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKaW5kZXggMGM2ZWZiODYyOTgyNTM5
ZDJiNGIyY2M0ZjhmOGI1ZmNiNGVjODhlOC4uNjdjZmE5MzMxM2M5MDQyMWViNmNmMTc5ZDk4ZWY3
MDNkYTBlNDlkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAorKysgYi9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCkBAIC0xMzE0LDYgKzEzMTQsNyBAQAogI2lmIFBMQVRG
T1JNKE1BQykKICNkZWZpbmUgSEFWRV9UT1VDSF9CQVIgMQogI2RlZmluZSBIQVZFX0FEVkFOQ0VE
X1NQRUxMX0NIRUNLSU5HIDEKKyNkZWZpbmUgVVNFX0RJQ1RBVElPTl9BTFRFUk5BVElWRVMgMQog
CiAjaWYgZGVmaW5lZChfX0xQNjRfXykKICNkZWZpbmUgRU5BQkxFX1dFQl9QTEFZQkFDS19DT05U
Uk9MU19NQU5BR0VSIDEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nQnVm
ZmVyLmggYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oCmluZGV4IGYyOTNkMzMz
ZGJlM2U0NWU2MzdhMTQ4NjczM2QwYTJmZDhjMDhjMGMuLmUzMmNkMjYwZGQ5NGRiMTU1OTg1YmZi
NDc2MjliOGE5MTEzNmMyNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5n
QnVmZmVyLmgKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdCdWZmZXIuaApAQCAtMjks
OSArMjksMTAgQEAKICNpZm5kZWYgU3RyaW5nQnVmZmVyX2gKICNkZWZpbmUgU3RyaW5nQnVmZmVy
X2gKIAotI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8bGltaXRzPgogI2lu
Y2x1ZGUgPHVuaWNvZGUvdXR5cGVzLmg+CisjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KKyNp
bmNsdWRlIDx3dGYvTWFsbG9jUHRyLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckNhY2hlU3RvcmFnZUNvbm5lY3Rp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uLmNwcAppbmRleCBhZDIwOTMyMTlmODhlNmRhM2UxZDYwNjI0ZTQxYWU5YTQxZGY0
OTI3Li4xZWJkZDVkZTQ4YTdlN2UxYzk2YTAxYzc4ZmVkN2RhNWJjNGZiODg4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckNhY2hlU3RvcmFnZUNvbm5lY3Rp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbi5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkNhY2hlUXVl
cnlPcHRpb25zLmgiCiAjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCIKKyNpbmNsdWRl
ICJDbGllbnRPcmlnaW4uaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIlBhZ2Uu
aCIKICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgpAQCAtMzYsNyArMzcsNiBAQAogI2lu
Y2x1ZGUgIldvcmtlclJ1bkxvb3AuaCIKICNpbmNsdWRlICJXb3JrZXJUaHJlYWQuaCIKIAotCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTo6RE9NQ2FjaGVFbmdp
bmU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0Nv
bnRyb2xsZXIuY3BwCmluZGV4IDk2MTMyZTY5NzM3YWU5OGE2MGY5NTRmMWYzMTE4Mzg0MTA3MWUw
YTkuLmNkYjc3N2U5OTkyOTIyMWNmMGE4ZjAxMTQyYjJkMDdlZGU5ZWZlZDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29udHJvbGxlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNwcApA
QCAtMjcsNiArMjcsNyBAQAogCiAjaWYgRU5BQkxFKFdFQl9SVEMpCiAKKyNpbmNsdWRlICJEb2N1
bWVudC5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1Byb3ZpZGVyLmgiCiAjaW5jbHVkZSAiUlRDUGVl
ckNvbm5lY3Rpb24uaCIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXlt
ZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAKaW5k
ZXggYzIwNTMzNWVhYThlOTE4YTZkMzhhZTRmMmZmYzgxYWVkNDVhOWEwZi4uOTRiNzFjNDY2MTky
NDEzNWMyMWFlYTY5ZDQ4OTlkN2IwNzVhNjJhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBk
YXRlRXZlbnQuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoUEFZTUVOVF9SRVFV
RVNUKQogCisjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIlBheW1lbnRSZXF1ZXN0
LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIv
VlJEaXNwbGF5LmNwcAppbmRleCBhZGI3NTFkMGMzOWMwYTU2YjVlNGRjMWY1NDIxMGJkYWE0ZWRm
Zjc4Li5hOTMzZDk4MGZjZjVhOTkxNzRhYjBlMGM0MDAyMDkxNmNiZjFiMzY2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXkuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAj
aW5jbHVkZSAiQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIkNocm9tZS5oIgog
I2luY2x1ZGUgIkRPTUV4Y2VwdGlvbi5oIgorI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1
ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiU2NyaXB0ZWRB
bmltYXRpb25Db250cm9sbGVyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NyeXB0by9nY3J5cHQvVXRpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NyeXB0
by9nY3J5cHQvVXRpbGl0aWVzLmgKaW5kZXggODJmZTE3YzAzYjQxMTczZWMxM2QzMGIyZmMzMWZh
YzFkMjhhNThkZi4uNjI5MmEwZjgwYmIwZjU4MjY1MzJmZTQxYjNiYWEwOTFiZGUyYzYxNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jcnlwdG8vZ2NyeXB0L1V0aWxpdGllcy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY3J5cHRvL2djcnlwdC9VdGlsaXRpZXMuaApA
QCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSA8Z2NyeXB0Lmg+CiAjaW5jbHVkZSA8d3RmL0Fz
c2VydGlvbnMuaD4KKyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KIAogbmFtZXNwYWNlIFBBTCB7
CiBuYW1lc3BhY2UgR0NyeXB0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXND
b2NvYS50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDY2ZjdmMTZi
ZDY0ZjgyYzQzMmJlYWVkOGU3MGQxYjVmZjA2M2E1MTcuLjk1N2U0YjViNjYxYjQwMjBmMGEyMWVl
MDA5NWMwMTc2NDZlNDkzYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2Nv
YS50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dApAQCAtMzg5LDcgKzM4
OSw3IEBAIHBsYXRmb3JtL2lvcy9QbGF0Zm9ybVNjcmVlbklPUy5tbQogcGxhdGZvcm0vaW9zL1Bs
YXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJJT1MubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvUGxh
eWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvUXVp
Y2tMb29rLm1tCi1wbGF0Zm9ybS9pb3MvUXVpY2tMb29rU29mdExpbmsubW0KK3BsYXRmb3JtL2lv
cy9RdWlja0xvb2tTb2Z0TGluay5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9SZW1vdGVDb21t
YW5kTGlzdGVuZXJJT1MubW0KIHBsYXRmb3JtL2lvcy9TY3JvbGxBbmltYXRvcklPUy5tbQogcGxh
dGZvcm0vaW9zL1Njcm9sbGJhclRoZW1lSU9TLm1tCkBAIC0zOTksNyArMzk5LDcgQEAgcGxhdGZv
cm0vaW9zL1NTTEtleUdlbmVyYXRvcklPUy5jcHAKIHBsYXRmb3JtL2lvcy9TeXN0ZW1NZW1vcnlJ
T1MuY3BwCiBwbGF0Zm9ybS9pb3MvVGhlbWVJT1MubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3Mv
VGlsZUNvbnRyb2xsZXJNZW1vcnlIYW5kbGVySU9TLmNwcAotcGxhdGZvcm0vaW9zL1VzZXJBZ2Vu
dElPUy5tbQorcGxhdGZvcm0vaW9zL1VzZXJBZ2VudElPUy5tbSBAbm8tdW5pZnkKIHBsYXRmb3Jt
L2lvcy9WYWxpZGF0aW9uQnViYmxlSU9TLm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1ZpZGVv
RnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1dlYkFW
UGxheWVyQ29udHJvbGxlci5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlc0dU
Sy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzR1RLLnR4dAppbmRleCA0NjI2YjZmY2JlNTRh
NDk1ZWQxMGM2YmI4MjQ0OWEwNDk3NjIyNzczLi5lNjE2ZjI3ZTViZWUwOTBmYjRjN2M1YzUxMmU1
YjY2YTIyYzc3ZjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzR1RLLnR4dAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzR1RLLnR4dApAQCAtNjEsMTQgKzYxLDE0IEBAIHBs
YXRmb3JtL1VzZXJBZ2VudFF1aXJrcy5jcHAKIAogcGxhdGZvcm0vZ2VvY2x1ZS9HZW9sb2NhdGlv
blByb3ZpZGVyR2VvY2x1ZS5jcHAKIAotcGxhdGZvcm0vZ3JhcGhpY3MvR0xDb250ZXh0LmNwcAor
cGxhdGZvcm0vZ3JhcGhpY3MvR0xDb250ZXh0LmNwcCBAbm8tdW5pZnkKIHBsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5jcHAKIAotcGxhdGZvcm0vZ3JhcGhpY3MvY2Fp
cm8vQmFja2luZ1N0b3JlQmFja2VuZENhaXJvWDExLmNwcAorcGxhdGZvcm0vZ3JhcGhpY3MvY2Fp
cm8vQmFja2luZ1N0b3JlQmFja2VuZENhaXJvWDExLmNwcCBAbm8tdW5pZnkKIAogcGxhdGZvcm0v
Z3JhcGhpY3MvZWdsL0dMQ29udGV4dEVHTC5jcHAKIHBsYXRmb3JtL2dyYXBoaWNzL2VnbC9HTENv
bnRleHRFR0xXYXlsYW5kLmNwcCBAbm8tdW5pZnkKLXBsYXRmb3JtL2dyYXBoaWNzL2VnbC9HTENv
bnRleHRFR0xYMTEuY3BwCitwbGF0Zm9ybS9ncmFwaGljcy9lZ2wvR0xDb250ZXh0RUdMWDExLmNw
cCBAbm8tdW5pZnkKIAogcGxhdGZvcm0vZ3JhcGhpY3MvZ2x4L0dMQ29udGV4dEdMWC5jcHAKIApA
QCAtODIsOSArODIsOSBAQCBwbGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9PcGVuVHlwZVZlcnRp
Y2FsRGF0YS5jcHAKIAogcGxhdGZvcm0vZ3JhcGhpY3Mvd2F5bGFuZC9QbGF0Zm9ybURpc3BsYXlX
YXlsYW5kLmNwcAogCi1wbGF0Zm9ybS9ncmFwaGljcy94MTEvUGxhdGZvcm1EaXNwbGF5WDExLmNw
cAotcGxhdGZvcm0vZ3JhcGhpY3MveDExL1hFcnJvclRyYXBwZXIuY3BwCi1wbGF0Zm9ybS9ncmFw
aGljcy94MTEvWFVuaXF1ZVJlc291cmNlLmNwcAorcGxhdGZvcm0vZ3JhcGhpY3MveDExL1BsYXRm
b3JtRGlzcGxheVgxMS5jcHAgQG5vLXVuaWZ5CitwbGF0Zm9ybS9ncmFwaGljcy94MTEvWEVycm9y
VHJhcHBlci5jcHAgQG5vLXVuaWZ5CitwbGF0Zm9ybS9ncmFwaGljcy94MTEvWFVuaXF1ZVJlc291
cmNlLmNwcCBAbm8tdW5pZnkKIAogcGxhdGZvcm0vZ3RrL0RyYWdEYXRhR3RrLmNwcAogcGxhdGZv
cm0vZ3RrL0xvY2FsaXplZFN0cmluZ3NHdGsuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMjBlMjg5MjY2M2ExYjdjM2M2ZTFk
NGRjMGYwYWQ4YThiODAzMWIzYS4uMjA0NTY3YjBlM2Q4NGI3OWM4MWY1YzdjNzZmODA3MjA1YjJj
MjNlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtODA0LDYgKzgwNCw4IEBACiAJCTJEOEI5MkZGMjAzRDEzRTEwMDlDODY4RiAv
KiBVbmlmaWVkU291cmNlNTMwLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IERFNUY4NUQzMUZBMjM4NTkwMDZEQjYzQiAvKiBVbmlmaWVkU291cmNlNTMw
LmNwcCAqLzsgfTsKIAkJMkQ4RkVCREQxNDNFM0VGNzAwNzI1MDJCIC8qIENTU0Nyb3NzZmFkZVZh
bHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDhG
RUJEQjE0M0UzRUY3MDA3MjUwMkIgLyogQ1NTQ3Jvc3NmYWRlVmFsdWUuaCAqLzsgfTsKIAkJMkQ5
MDY2MDcwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDkwNjYwNTBCRTE0MUQ0MDA5NTY5OTggLyog
TGF5b3V0U3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQkyRDkyQTc5QTIxMzRBRDc5MDBGNDkzRkQgLyogUXVpY2tMb29rU29mdExpbmsubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDM5MTdGRDFB
OTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsubW0gKi87IH07CisJCTJEOTJBNzlE
MjEzNEFGOTUwMEY0OTNGRCAvKiBVc2VyQWdlbnRJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBM0FGOUQ4MzIwMzI1NjkxMDA2Q0FEMDYgLyogVXNl
ckFnZW50SU9TLm1tICovOyB9OwogCQkyRDkzQUVFMzE5REY1NjQxMDAyQTg2QzMgLyogU2Vydmlj
ZXNPdmVybGF5Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMkQ5M0FFRTExOURGNTY0MTAwMkE4NkMzIC8qIFNlcnZpY2VzT3ZlcmxheUNv
bnRyb2xsZXIuaCAqLzsgfTsKIAkJMkQ5N0YwNDcxOURENDEzQzAwMUVFOUMzIC8qIE1vY2tQYWdl
T3ZlcmxheUNsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyREFBRTMyQzE5RENBRjYwMDBFMDAyRDIgLyogTW9ja1BhZ2VPdmVybGF5Q2xpZW50
LmNwcCAqLzsgfTsKIAkJMkQ5N0YwNDgxOURENDE0MDAwMUVFOUMzIC8qIE1vY2tQYWdlT3Zlcmxh
eUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MkRBQUUzMkQxOURDQUY2MDAwRTAwMkQyIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5oICovOyB9
OwpAQCAtNzA2Niw3ICs3MDY4LDcgQEAKIAkJMzM5QjVCNjIxMzFEQUEzMjAwRjQ4RDAyIC8qIENv
b2tpZXNTdHJhdGVneS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb29raWVz
U3RyYXRlZ3kuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzY2MkY5ODQwNDdDRURC
RTVERERBRkFBIC8qIFJlbmRlck1hdGhNTE1lbmNsb3NlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlck1hdGhNTE1lbmNsb3NlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMzcxMTlBNzkyMENDQjYxMDAwMkM2REM5IC8qIFdlYktpdFRhcmdl
dENvbmRpdGlvbmFscy54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBXZWJLaXRUYXJnZXRDb25kaXRp
b25hbHMueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTM3MTdEN0U1MTdF
Q0MzQTYwMDNDMjc2RCAvKiBleHRyYWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5wZXJs
OyBuYW1lID0gZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBsOyBwYXRoID0gIlNjcmlwdHMv
ZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBsIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMzcxN0Q3RTUxN0VDQzNBNjAwM0MyNzZEIC8qIGV4dHJhY3QtbG9jYWxpemFibGUtc3Ry
aW5ncy5wbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQuc2NyaXB0LnBlcmw7IG5hbWUgPSAiZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBs
IjsgcGF0aCA9ICJTY3JpcHRzL2V4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCI7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3MUE2N0NBMTFDNkM3REIwMDA0N0I4QiAvKiBIeXBo
ZW5hdGlvbkNGLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEh5cGhl
bmF0aW9uQ0YuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzFFNjVDQjEzNjYx
RURDMDBCRUVEQjAgLyogUGFnZVNlcmlhbGl6ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUGFnZVNlcmlhbGl6ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MzcxRTY1Q0QxMzY2MUVFRDAwQkVFREIwIC8qIFBhZ2VTZXJpYWxpemVyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhZ2VTZXJpYWxpemVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMzUyLDggKzEzMzU0LDggQEAKIAkJQ0RFNTk1OUMxQkYy
NzU3MTAwQTFDQkU4IC8qIENETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakMubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZP
YmpDLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU2NTYwRTE3Q0E2RTc2MDA1
MjZCQTcgLyogbWVkaWFDb250cm9sc0FwcGxlLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gbWVk
aWFDb250cm9sc0FwcGxlLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU2NjdB
MTFFNEJCQTREMDBFODE1NEEgLyogUGxhdGZvcm1BdWRpb0RhdGEuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1BdWRpb0RhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJQ0RFNjY3QTIxRTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlz
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBjb2NvYS9XZWJBdWRp
b0J1ZmZlckxpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlDREU2NjdBMzFF
NEJCRjE1MDBFODE1NEEgLyogV2ViQXVkaW9CdWZmZXJMaXN0LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IGNvY29hL1dlYkF1ZGlvQnVmZmVyTGlzdC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDREU2NjdBMjFFNEJCRjE1MDBFODE1NEEgLyogV2ViQXVkaW9CdWZm
ZXJMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYkF1ZGlv
QnVmZmVyTGlzdC5jcHA7IHBhdGggPSBjb2NvYS9XZWJBdWRpb0J1ZmZlckxpc3QuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDREU2NjdBMzFFNEJCRjE1MDBFODE1NEEgLyogV2Vi
QXVkaW9CdWZmZXJMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYkF1
ZGlvQnVmZmVyTGlzdC5oOyBwYXRoID0gY29jb2EvV2ViQXVkaW9CdWZmZXJMaXN0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERTdGQzQyMTgxOTA0QjEwMDJCQkI3NyAvKiBPcmRl
ckl0ZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE9yZGVy
SXRlcmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU3RkM0MzE4MTkw
NEIxMDAyQkJCNzcgLyogT3JkZXJJdGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBPcmRlckl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNE
RTgzREFGMTgzQzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zMTQzMiw2ICszMTQzNCw3IEBACiAJCQkJ
QUExMkRGNDkxNzQzREY4MzAwNERBRkRGIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJJT1Mu
bW0gaW4gU291cmNlcyAqLywKIAkJCQlDREEyOUEzMDFDQkY3NEQ0MDA5MDFDQ0YgLyogUGxheWJh
Y2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQubW0gaW4gU291cmNlcyAqLywKIAkJCQlDREEyOUExNjFD
QkRBNTZDMDA5MDFDQ0YgLyogUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLm1tIGluIFNvdXJj
ZXMgKi8sCisJCQkJMkQ5MkE3OUEyMTM0QUQ3OTAwRjQ5M0ZEIC8qIFF1aWNrTG9va1NvZnRMaW5r
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE5MjQyNDkyMTI3QjkzRTAwNjM0RkNGIC8qIFJlYWx0
aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMzE2RENC
OEExRTdBNjk5NjAwMUI1Rjg3IC8qIFJUQ0ljZVRyYW5zcG9ydC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlCQzUxMTU2RTEyQjE3NDlDMDBDOTY3NTQgLyogU2Nyb2xsQW5pbWF0b3JNYWMubW0gaW4g
U291cmNlcyAqLywKQEAgLTMyMDQ2LDYgKzMyMDQ5LDcgQEAKIAkJCQkyRDhCOTJGRDIwM0QxM0Ux
MDA5Qzg2OEYgLyogVW5pZmllZFNvdXJjZTUyOC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDhC
OTJGRTIwM0QxM0UxMDA5Qzg2OEYgLyogVW5pZmllZFNvdXJjZTUyOS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkyRDhCOTJGRjIwM0QxM0UxMDA5Qzg2OEYgLyogVW5pZmllZFNvdXJjZTUzMC5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkyRDkyQTc5RDIxMzRBRjk1MDBGNDkzRkQgLyogVXNlckFnZW50
SU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTMyMDQyMDIxRjlBOUYxMDAwQjgxQjJBIC8qIFVz
ZXJBZ2VudFNjcmlwdHNEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDM0I3OTcxMTkwODc1
N0IwMEI0N0EyRCAvKiBVc2VyTWVzc2FnZUhhbmRsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
N0NFNjgzNDQxOTIxNDNBODAwRjREOTI4IC8qIFVzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3Iu
Y3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxn
b3JpdGhtcy9DcnlwdG9BbGdvcml0aG1FQ0RTQS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8v
YWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1FQ0RTQS5jcHAKaW5kZXggOTczMTdlMDRhOTc5N2Yx
NTYxNmRlNGM3NjA4Yjc0NWQ5ZmRlZGVmNy4uMWI1M2M0NTNiMzUyNTM2YjQ4MTJlZGQyYWE2NGQ5
MWU5NWRmODU0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMv
Q3J5cHRvQWxnb3JpdGhtRUNEU0EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdv
cml0aG1zL0NyeXB0b0FsZ29yaXRobUVDRFNBLmNwcApAQCAtMzYsMTIgKzM2LDE0IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAorbmFtZXNwYWNlIENyeXB0b0FsZ29yaXRobUVDRFNBSW50ZXJu
YWwgewogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzI1NiA9ICJFUzI1NiI7CiBzdGF0aWMg
Y29uc3QgY2hhciogY29uc3QgQUxHMzg0ID0gIkVTMzg0IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBj
b25zdCBBTEc1MTIgPSAiRVM1MTIiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IFAyNTYgPSAi
UC0yNTYiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IFAzODQgPSAiUC0zODQiOwogc3RhdGlj
IGNvbnN0IGNoYXIqIGNvbnN0IFA1MjEgPSAiUC01MjEiOworfQogCiBSZWY8Q3J5cHRvQWxnb3Jp
dGhtPiBDcnlwdG9BbGdvcml0aG1FQ0RTQTo6Y3JlYXRlKCkKIHsKQEAgLTEwMiw2ICsxMDQsNyBA
QCB2b2lkIENyeXB0b0FsZ29yaXRobUVDRFNBOjpnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdv
cml0aG1QYXJhbWV0ZXJzJiBwYXJhbWV0ZQogCiB2b2lkIENyeXB0b0FsZ29yaXRobUVDRFNBOjpp
bXBvcnRLZXkoQ3J5cHRvS2V5Rm9ybWF0IGZvcm1hdCwgS2V5RGF0YSYmIGRhdGEsIGNvbnN0IENy
eXB0b0FsZ29yaXRobVBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENy
eXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcywgS2V5Q2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0
aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaykKIHsKKyAgICB1c2luZyBuYW1lc3BhY2Ug
Q3J5cHRvQWxnb3JpdGhtRUNEU0FJbnRlcm5hbDsKICAgICBjb25zdCBhdXRvJiBlY1BhcmFtZXRl
cnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1FY0tleVBhcmFtcz4ocGFyYW1ldGVycyk7CiAK
ICAgICBSZWZQdHI8Q3J5cHRvS2V5RUM+IHJlc3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9nY3J5cHQvR0NyeXB0VXRpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9jcnlw
dG8vZ2NyeXB0L0dDcnlwdFV0aWxpdGllcy5oCmluZGV4IGYwYTQxMzQ1NmE5NDQ1OTk1OGY5YTdm
MDI1NDUzNDRiNWZiNmMzZTUuLjM2ZjQ4ZDA0ZDc4MmQ1MjM5OWRkNzdjNGJjM2Q3ODI4ZDc5NWE5
ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nY3J5cHQvR0NyeXB0VXRpbGl0
aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2djcnlwdC9HQ3J5cHRVdGlsaXRpZXMu
aApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgPHBhbC9jcnlwdG8vQ3J5cHRvRGlnZXN0Lmg+
CiAjaW5jbHVkZSA8cGFsL2NyeXB0by9nY3J5cHQvSGFuZGxlLmg+CiAjaW5jbHVkZSA8cGFsL2Ny
eXB0by9nY3J5cHQvVXRpbGl0aWVzLmg+CisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCA5ZTNjMzE4NTNmMTIz
ZWM5YmVhM2Y2OTBiODVlMTdiYWQwNzY3NWQ1Li5kMzk5Mzg2NjA5OTg4NjJlNzhkYzBlN2JkMjU4
NzFhNTBiNmFmMWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtNjQxLDcgKzY0MSw3IEBAIHB1
YmxpYzoKICAgICAKICAgICBXRUJDT1JFX0VYUE9SVCBEb2N1bWVudExvYWRlciogbG9hZGVyKCkg
Y29uc3Q7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRpb25PcjxSZWZQdHI8V2luZG93UHJv
eHk+PiBvcGVuRm9yQmluZGluZ3MoRE9NV2luZG93JiBhY3RpdmVXaW5kb3csIERPTVdpbmRvdyYg
Zmlyc3RXaW5kb3csIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUs
IGNvbnN0IFN0cmluZyYgZmVhdHVyZXMpOworICAgIFdFQkNPUkVfRVhQT1JUIEV4Y2VwdGlvbk9y
PFJlZlB0cjxXaW5kb3dQcm94eT4+IG9wZW5Gb3JCaW5kaW5ncyhET01XaW5kb3cmIGFjdGl2ZVdp
bmRvdywgRE9NV2luZG93JiBmaXJzdERPTVdpbmRvdywgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0
IEF0b21pY1N0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBmZWF0dXJlcyk7CiAgICAgV0VCQ09S
RV9FWFBPUlQgRXhjZXB0aW9uT3I8RG9jdW1lbnQmPiBvcGVuRm9yQmluZGluZ3MoRG9jdW1lbnQq
IHJlc3BvbnNpYmxlRG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgU3RyaW5nJiBy
ZXBsYWNlKTsKIAogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgcmVuYW1lIHRoaXMgYXQgc29tZSBw
b2ludCBhbmQgZ2l2ZSBiYWNrIHRoZSBuYW1lICdvcGVuJyB0byB0aGUgSFRNTCBzcGVjaWZpZWQg
b25lcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVp
bGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3Bw
CmluZGV4IGU0MGY5YTg4NmYxNTkwNGU2MmYwZjI2ODhhODY5YTY5ODg5YjRhODkuLmM3MzE5MjJh
ZjgyOTgzYjlkYWE2YmM3ZmU1MjI3ODYzNzMxNjgzZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1
ZGUgIkhUTUxEb2N1bWVudFBhcnNlci5oIgogI2luY2x1ZGUgIkhUTUxGb3JtQ29udHJvbEVsZW1l
bnQuaCIKICNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MSW5wdXRF
bGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE9wdEdyb3VwRWxlbWVudC5oIgogI2luY2x1ZGUgIkhU
TUxPcHRpb25FbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNv
dXJjZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9u
Q2FjaGVSZXNvdXJjZUxvYWRlci5oCmluZGV4IDcyYjI5NzU1ZjExZDk0MDk1ZmE3ZWRkNTMwOTY4
ZjdjNTdiNTdiZWIuLjZkOWEyZGE5YmUwMzIwMDdhODJlZGE2OGMxNmZkMmYyOGIxYzEyODMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hl
UmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBw
bGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdt
YSBvbmNlCiAKKyNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2UuaCIKICNpbmNsdWRl
ICJDYWNoZWRSYXdSZXNvdXJjZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJhd1Jlc291cmNlQ2xpZW50
LmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0FsdGVybmF0aXZlVGV4dENsaWVudC5oCmluZGV4IDkzNTU5Mzc4OGY5ODk5YzllMjI1MTA4
OGI0ZTc2ZDAwNWQzZDJmOTguLjE0M2RhNmM0N2Y0YmNlZmMwYTQxYWE4NzY0NjdkMDQ0NzE1YmE3
MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9BbHRlcm5hdGl2ZVRleHRDbGllbnQuaApAQCAt
MjksMTEgKzI5LDYgQEAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CiAKLSNpZiBQTEFURk9STShNQUMpCi0vLyBTb21lIHBsYXRmb3JtcyBw
cm92aWRlIFVJIGZvciBzdWdnZXN0aW5nIGFsdGVybmF0aXZlIGRpY3RhdGlvbiB0ZXh0LgotI2Rl
ZmluZSBVU0VfRElDVEFUSU9OX0FMVEVSTkFUSVZFUyAxCi0jZW5kaWYKLQogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBlbnVtIFJlYXNvbkZvckRpc21pc3NpbmdBbHRlcm5hdGl2ZVRleHQgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCmluZGV4IGQ1NDMzZGQ5MjBhZTBlZTU5MmJkNDVm
ZDU2MGNkZDNlMzhhMzQ3MjEuLmUwOTgxNTY1MWJkMmQ2MDU3NGRhNDIzNmMzODBmYWQ0ZDYwMjE1
YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKQEAgLTMzOCw2ICszMzgsNyBA
QCBleHRlcm4gTlNTdHJpbmcgKlVJQ29sb3JQYm9hcmRUeXBlOwogI2lmIFBMQVRGT1JNKE1BQykK
IGV4dGVybiBjb25zdCBjaGFyKiBjb25zdCBXZWJBcmNoaXZlUGJvYXJkVHlwZTsKIGV4dGVybiBj
b25zdCBjaGFyKiBjb25zdCBXZWJVUkxOYW1lUGJvYXJkVHlwZTsKK2V4dGVybiBjb25zdCBjaGFy
KiBjb25zdCBXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGU7CiAjZW5kaWYKIAogI2lmICFQTEFU
Rk9STShHVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMv
QXVkaW9TZXNzaW9uTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9B
dWRpb1Nlc3Npb25NYWMuY3BwCmluZGV4IDc5YWI5ZjQxYmU1Y2U2ZGU4NGM4OGUzYTY5MTgxMGQw
ZjQ5YTQzOTEuLmU5MTgwOTg4ZDY5Yzk2NTA4ZGMxMjFhMTcwZTcxMmFlYWFjY2ZlNWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1Nlc3Npb25NYWMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1Nlc3Npb25N
YWMuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNp
bmNsdWRlIDxDb3JlQXVkaW8vQXVkaW9IYXJkd2FyZS5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhy
ZWFkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlz
cGxheVJlZnJlc2hNb25pdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKaW5kZXggOTY4YmIyMjg2YTFmN2U1ODQ2NGVmODhk
NzllNjFlZjQyNDkwMTU1Zi4uM2UyYzgyYjhiMTJlZGEwOWRiNDNmNGMxMzAxNGM1YmJhYzBiNzAz
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJl
ZnJlc2hNb25pdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9E
aXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJE
aXNwbGF5UmVmcmVzaE1vbml0b3JDbGllbnQuaCIKICNpbmNsdWRlICJEaXNwbGF5UmVmcmVzaE1v
bml0b3JNYW5hZ2VyLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgogCiAjaWYgUExBVEZPUk0oSU9T
KQogI2luY2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvcklPUy5oIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseVNwZWNpZmljYXRpb25OdWxs
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlTcGVjaWZp
Y2F0aW9uTnVsbC5jcHAKaW5kZXggMjE3NjkxZjcyMzk3NGU4MDA1NzliMjhjYzA1NmE3YjljMDg1
YzY0ZC4uMTVjMDM4NzY5ODI2MGY0MDVlMjJlNWJmNTI3ODAwMzA4YzdmZTNiZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseVNwZWNpZmljYXRp
b25OdWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFt
aWx5U3BlY2lmaWNhdGlvbk51bGwuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiRm9u
dEZhbWlseVNwZWNpZmljYXRpb25OdWxsLmgiCiAKICNpbmNsdWRlICJGb250U2VsZWN0b3IuaCIK
KyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dEdlbmVyaWNGYW1pbGllcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dEdlbmVyaWNGYW1pbGllcy5oCmluZGV4IGY3NjJiYWUyZmY5NDFlNzVhMzJiNDlmNTM0MWMyNzhm
MDBjYTc3ZWEuLjQyZjQyYjJlNWNkMTEyMDRmOGM2YzE1NDI2N2U0YjhjZTI0YzViN2EgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRHZW5lcmljRmFtaWxp
ZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250R2VuZXJpY0Zh
bWlsaWVzLmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlIDx1bmljb2RlL3VzY3JpcHQuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmlu
Zy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250VGFnZ2VkU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udFRhZ2dlZFNldHRpbmdzLmNwcAppbmRleCA2MWIyZWJlZjZjNDc1MDExMzMyMWJmMTZi
YTljZWVlMzBjM2YyNGUwLi5iMGNhNDNkNTVjNDVjYjUwZDczMGY4OTJlMTdkODA4NjljY2Q0OTYx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250VGFnZ2Vk
U2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRU
YWdnZWRTZXR0aW5ncy5jcHAKQEAgLTI3LDkgKzI3LDggQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJGb250VGFnZ2VkU2V0dGluZ3MuaCIKIAotI2luY2x1ZGUgPHd0Zi90ZXh0L1Rl
eHRTdHJlYW0uaD4KLQogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZ0hhc2guaD4KKyNp
bmNsdWRlIDx3dGYvdGV4dC9UZXh0U3RyZWFtLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udENh
aXJvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDYWly
by5jcHAKaW5kZXggMDZkOWQ3NDk0YTRiZWFhOGUzYTljZTdhZmU2ZGFiMzViMWMyZGI3OC4uMjg2
YmM2ZDhlM2MyNjUzMDQ2YzYzYjUyYjM2ZDA5MDMxZjIwOGQ5MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udENhaXJvLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q2Fpcm8uY3BwCkBAIC0zNCw2
ICszNCw3IEBACiAjaWYgVVNFKENBSVJPKQogCiAjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgi
CisjaW5jbHVkZSAiQ2Fpcm9PcGVyYXRpb25zLmgiCiAjaW5jbHVkZSAiQ2Fpcm9VdGlsaXRpZXMu
aCIKICNpbmNsdWRlICJGb250LmgiCiAjaW5jbHVkZSAiR2x5cGhCdWZmZXIuaCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdMTGF5ZXIubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHTExheWVyLm1tCmlu
ZGV4IDNlZDdlNDFlN2M2ODg0NmYzZmJjMTcyY2U2YmE5ODlmZjg3ZjU3ZWIuLjhlZTM0OGQ4OTk4
NjM0MTNkNmI2NzEzNzZlNWIxZGE1NGNiMTM3NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdMTGF5ZXIubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5tbQpAQCAtNDIsMTMgKzQyLDEx
IEBACiAjaW1wb3J0IDxPcGVuR0wvZ2wuaD4KICNlbmRpZgogCi11c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKLQogQGltcGxlbWVudGF0aW9uIFdlYkdMTGF5ZXIKIAogQHN5bnRoZXNpemUgY29udGV4
dD1fY29udGV4dDsKIAotLShpZClpbml0V2l0aEdyYXBoaWNzQ29udGV4dDNEOihHcmFwaGljc0Nv
bnRleHQzRCopY29udGV4dAorLShpZClpbml0V2l0aEdyYXBoaWNzQ29udGV4dDNEOihXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHQzRCopY29udGV4dAogewogICAgIF9jb250ZXh0ID0gY29udGV4dDsK
ICAgICBzZWxmID0gW3N1cGVyIGluaXRdOwpAQCAtODYsNyArODQsNyBAQCBzdGF0aWMgdm9pZCBm
cmVlRGF0YSh2b2lkICosIGNvbnN0IHZvaWQgKmRhdGEsIHNpemVfdCAvKiBzaXplICovKQogfQog
I2VuZGlmCiAKLS0oQ0dJbWFnZVJlZiljb3B5SW1hZ2VTbmFwc2hvdFdpdGhDb2xvclNwYWNlOihD
R0NvbG9yU3BhY2VSZWYpY29sb3JTcGFjZQorLSAoQ0dJbWFnZVJlZiljb3B5SW1hZ2VTbmFwc2hv
dFdpdGhDb2xvclNwYWNlOihDR0NvbG9yU3BhY2VSZWYpY29sb3JTcGFjZQogewogICAgIGlmICgh
X2NvbnRleHQpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtOTYsNyArOTQsNyBAQCAtKENH
SW1hZ2VSZWYpY29weUltYWdlU25hcHNob3RXaXRoQ29sb3JTcGFjZTooQ0dDb2xvclNwYWNlUmVm
KWNvbG9yU3BhY2UKIAogICAgIFJldGFpblB0cjxDR0NvbG9yU3BhY2VSZWY+IGltYWdlQ29sb3JT
cGFjZSA9IGNvbG9yU3BhY2U7CiAgICAgaWYgKCFpbWFnZUNvbG9yU3BhY2UpCi0gICAgICAgIGlt
YWdlQ29sb3JTcGFjZSA9IHNSR0JDb2xvclNwYWNlUmVmKCk7CisgICAgICAgIGltYWdlQ29sb3JT
cGFjZSA9IFdlYkNvcmU6OnNSR0JDb2xvclNwYWNlUmVmKCk7CiAKICAgICBDR1JlY3QgbGF5ZXJC
b3VuZHMgPSBDR1JlY3RJbnRlZ3JhbChbc2VsZiBib3VuZHNdKTsKIApAQCAtMTQxLDE5ICsxMzks
MTkgQEAgLSAodm9pZClkaXNwbGF5CiAjZW5kaWYKIAogICAgIF9jb250ZXh0LT5tYXJrTGF5ZXJD
b21wb3NpdGVkKCk7Ci0gICAgUGxhdGZvcm1DQUxheWVyKiBsYXllciA9IFBsYXRmb3JtQ0FMYXll
cjo6cGxhdGZvcm1DQUxheWVyKChfX2JyaWRnZSB2b2lkKilzZWxmKTsKKyAgICBXZWJDb3JlOjpQ
bGF0Zm9ybUNBTGF5ZXIqIGxheWVyID0gV2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyOjpwbGF0Zm9y
bUNBTGF5ZXIoKF9fYnJpZGdlIHZvaWQqKXNlbGYpOwogICAgIGlmIChsYXllciAmJiBsYXllci0+
b3duZXIoKSkKICAgICAgICAgbGF5ZXItPm93bmVyKCktPnBsYXRmb3JtQ0FMYXllckxheWVyRGlk
RGlzcGxheShsYXllcik7CiB9CiAKICNpZiBVU0UoT1BFTkdMKQotLSAodm9pZClhbGxvY2F0ZUlP
U3VyZmFjZUJhY2tpbmdTdG9yZVdpdGhTaXplOihJbnRTaXplKXNpemUgdXNpbmdBbHBoYTooQk9P
TCl1c2luZ0FscGhhCistICh2b2lkKWFsbG9jYXRlSU9TdXJmYWNlQmFja2luZ1N0b3JlV2l0aFNp
emU6KFdlYkNvcmU6OkludFNpemUpc2l6ZSB1c2luZ0FscGhhOihCT09MKXVzaW5nQWxwaGEKIHsK
ICAgICBfYnVmZmVyU2l6ZSA9IHNpemU7CiAgICAgX3VzaW5nQWxwaGEgPSB1c2luZ0FscGhhOwot
ICAgIF9jb250ZW50c0J1ZmZlciA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUsIHNS
R0JDb2xvclNwYWNlUmVmKCkpOwotICAgIF9kcmF3aW5nQnVmZmVyID0gV2ViQ29yZTo6SU9TdXJm
YWNlOjpjcmVhdGUoc2l6ZSwgc1JHQkNvbG9yU3BhY2VSZWYoKSk7Ci0gICAgX3NwYXJlQnVmZmVy
ID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVhdGUoc2l6ZSwgc1JHQkNvbG9yU3BhY2VSZWYoKSk7
CisgICAgX2NvbnRlbnRzQnVmZmVyID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVhdGUoc2l6ZSwg
V2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYoKSk7CisgICAgX2RyYXdpbmdCdWZmZXIgPSBXZWJD
b3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShzaXplLCBXZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigp
KTsKKyAgICBfc3BhcmVCdWZmZXIgPSBXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShzaXplLCBX
ZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigpKTsKIAogICAgIEFTU0VSVChfY29udGVudHNCdWZm
ZXIpOwogICAgIEFTU0VSVChfZHJhd2luZ0J1ZmZlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLm1tCmluZGV4IDVjMzU1N2Y4
YmQ2NmE2OGM5MjNiMjNhYTY0N2JiNzE0ODQwOWU5YTEuLjI1ZWZiOGI3NDc2ODAyNDU1OGRiY2Rm
MzBmNzQzMTg3MTQ2OTU1YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLm1tCkBAIC0zNCwxMyArMzQsMTEgQEAKICNpbXBv
cnQgPHd0Zi9GYXN0TWFsbG9jLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKLXVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwotCiBAaW1wbGVtZW50YXRpb24gV2ViR1BVTGF5ZXIKIAogQHN5
bnRoZXNpemUgY29udGV4dD1fY29udGV4dDsKIAotLSAoaWQpaW5pdFdpdGhHUFVEZXZpY2U6KEdQ
VURldmljZSopY29udGV4dAorLSAoaWQpaW5pdFdpdGhHUFVEZXZpY2U6KFdlYkNvcmU6OkdQVURl
dmljZSopY29udGV4dAogewogICAgIHNlbGYgPSBbc3VwZXIgaW5pdF07CiAgICAgX2NvbnRleHQg
PSBjb250ZXh0OwpAQCAtNTAsNyArNDgsNyBAQCAtIChpZClpbml0V2l0aEdQVURldmljZTooR1BV
RGV2aWNlKiljb250ZXh0CiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgc2VsZi5jb250ZW50c1Nj
YWxlID0gX2RldmljZVBpeGVsUmF0aW87Ci0gICAgc2VsZi5jb2xvcnNwYWNlID0gc1JHQkNvbG9y
U3BhY2VSZWYoKTsKKyAgICBzZWxmLmNvbG9yc3BhY2UgPSBXZWJDb3JlOjpzUkdCQ29sb3JTcGFj
ZVJlZigpOwogI2VuZGlmCiAgICAgcmV0dXJuIHNlbGY7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1l
dGFsLm1tCmluZGV4IDgyMGFmOGJjMTZkYjNiNDg2NWU3OWI3YjgyNGRiMmM3YjRkZjNlY2MuLjMw
M2IyNWRhM2Q0YTY0ZWQxYjAwMzBiNzJiOWZkYmM2Zjk2NWMzM2QgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbW1hbmRR
dWV1ZU1ldGFsLm1tCkBAIC0zMSw2ICszMSw3IEBACiAjaW1wb3J0ICJHUFVEZXZpY2UuaCIKICNp
bXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgPE1ldGFsL01ldGFsLmg+CisjaW1wb3J0IDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCmluZGV4IGNiNTA0Y2Y1NDNlYjdlODBk
NzY2NWNkMWU1N2UzMDg5YWZmYjFhNzAuLmZkNmU5Mjk4Nzc0ZmFmNGZlODczNWJmMjc1NjVhZGM5
NTMyYmY2MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJv
YXJkTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFj
Lm1tCkBAIC01MiwxMCArNTIsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjb25zdCBjaGFy
KiBjb25zdCBXZWJBcmNoaXZlUGJvYXJkVHlwZSA9ICJBcHBsZSBXZWIgQXJjaGl2ZSBwYXN0ZWJv
YXJkIHR5cGUiOwogY29uc3QgY2hhciogY29uc3QgV2ViVVJMTmFtZVBib2FyZFR5cGUgPSAicHVi
bGljLnVybC1uYW1lIjsKK2NvbnN0IGNoYXIqIGNvbnN0IFdlYlVSTHNXaXRoVGl0bGVzUGJvYXJk
VHlwZSA9ICJXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGUiOwogCiBjb25zdCBjaGFyIFdlYlNt
YXJ0UGFzdGVQYm9hcmRUeXBlW10gPSAiTmVYVCBzbWFydCBwYXN0ZSBwYXN0ZWJvYXJkIHR5cGUi
OwogY29uc3QgY2hhciBXZWJVUkxQYm9hcmRUeXBlW10gPSAicHVibGljLnVybCI7Ci1jb25zdCBj
aGFyIFdlYlVSTHNXaXRoVGl0bGVzUGJvYXJkVHlwZVtdID0gIldlYlVSTHNXaXRoVGl0bGVzUGJv
YXJkVHlwZSI7CiAKIHN0YXRpYyBjb25zdCBWZWN0b3I8U3RyaW5nPiB3cml0YWJsZVR5cGVzRm9y
VVJMKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwCmluZGV4
IDVjMmE5ZDI0MTk4YTEzZTQ4YzRmNzNlOWRlNjFkZDM3YWRlOTI1NTEuLmY0OTJlNjE0MmYwMjMx
Yjk5N2U5NmJhNTkyNzk1ODg1NjgwOTMzYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJl
TWFuYWdlckNvY29hLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKE1FRElBX1NU
UkVBTSkKIAorI2luY2x1ZGUgIkNvcmVWaWRlb1NvZnRMaW5rLmgiCiAjaW5jbHVkZSAiTG9nZ2lu
Zy5oIgogI2luY2x1ZGUgPHd0Zi9BbGdvcml0aG1zLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVz
dHJveWVkLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tS
ZWFsdGltZU1lZGlhU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9j
a1JlYWx0aW1lTWVkaWFTb3VyY2UuY3BwCmluZGV4IGVjNDQxZWZkNzVlOTM4NzY3NjY1NWJkMDI1
ZDkzN2I1Mzg3NzM3YTMuLmY4YTU5N2ZjZmVjYWMyNWRhMDJlZDA2ZjU2Mzg3YjdlMWYwZGRkYzQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVk
aWFTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0
aW1lTWVkaWFTb3VyY2UuY3BwCkBAIC0zNiw3ICszNiw5IEBACiAjaW5jbHVkZSAiQ2FwdHVyZURl
dmljZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNZWRpYUNvbnN0cmFpbnRz
LmgiCisjaW5jbHVkZSAiTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2UuaCIKICNpbmNsdWRlICJOb3RJ
bXBsZW1lbnRlZC5oIgorI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaCIKICNp
bmNsdWRlICJSZWFsdGltZU1lZGlhU291cmNlU2V0dGluZ3MuaCIKICNpbmNsdWRlIDxtYXRoLmg+
CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAppbmRleCAyNTQw
OTY1NmMzZDYzMjAzNjE2NWZhYjFkZDc0OWU4OGZjYTY4NDgyLi5mZjU4MzYxNzRlYWI5NTk1Mjhh
MjA3YmZiYWFiNjAwMzlkOWI1MDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKQEAgLTI5LDYgKzI5LDcgQEAK
ICNpbmNsdWRlICJIVFRQSGVhZGVyTmFtZXMuaCIKICNpbmNsdWRlICJQdWJsaWNTdWZmaXguaCIK
ICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNl
LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlIDx3dGYvUG9pbnRlckNv
bXBhcmlzb24uaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jZi9Gb3JtRGF0YVN0cmVhbUNGTmV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5ldC5jcHAKaW5kZXggMjkwMjVkMzhhN2ZkMzZmZjli
OTk2MjM5MWYwODA4NzAyMWZmMTMwZS4uZTUzMjFjMjdkNGQ5NjhjNjZlNGNkNGM2Nzc5NjNmNWE3
ZDZjYWRmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9G
b3JtRGF0YVN0cmVhbUNGTmV0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2NmL0Zvcm1EYXRhU3RyZWFtQ0ZOZXQuY3BwCkBAIC00MiwxMSArNDIsNyBAQAogI2luY2x1
ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKLSNp
ZiBQTEFURk9STShJT1MpICYmICFQTEFURk9STShJT1NNQUMpCi1zdGF0aWMgY29uc3QgU0ludDMy
IGZuZkVyciA9IC00MzsKLSNlbGlmIFBMQVRGT1JNKE1BQykKLSNpbmNsdWRlIDxDb3JlU2Vydmlj
ZXMvQ29yZVNlcnZpY2VzLmg+Ci0jZW5kaWYKK3N0YXRpYyBjb25zdCBTSW50MzIgZmlsZU5vdEZv
dW5kRXJyb3IgPSAtNDM7CiAKICNpZiBQTEFURk9STShDT0NPQSkKIGV4dGVybiAiQyIgdm9pZCBD
RlVSTFJlcXVlc3RTZXRIVFRQUmVxdWVzdEJvZHkoQ0ZNdXRhYmxlVVJMUmVxdWVzdFJlZiBtdXRh
YmxlSFRUUFJlcXVlc3QsIENGRGF0YVJlZiBodHRwQm9keSk7CkBAIC0yNDEsNyArMjM3LDcgQEAg
c3RhdGljIEJvb2xlYW4gZm9ybU9wZW4oQ0ZSZWFkU3RyZWFtUmVmLCBDRlN0cmVhbUVycm9yKiBl
cnJvciwgQm9vbGVhbiogb3BlbkNvbXAKICNpZiBQTEFURk9STShXSU4pCiAgICAgICAgIEVOT0VO
VDsKICNlbHNlCi0gICAgICAgIGZuZkVycjsKKyAgICAgICAgZmlsZU5vdEZvdW5kRXJyb3I7CiAj
ZW5kaWYKICAgICByZXR1cm4gb3BlbmVkOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9zb3VwL1NvdXBOZXR3b3JrU2Vzc2lvbi5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1NvdXBOZXR3b3JrU2Vzc2lvbi5oCmluZGV4IGM2M2Jl
ZmQyZjMwZjE1MDQwMTc3OTkyNDc4ZThkZjRiODM3OTAyMzIuLmQxZTlkOWNlNWIyODlkMTRjYzZj
MTY1OTNiZjRhZDA2NzgyN2U1M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvc291cC9Tb3VwTmV0d29ya1Nlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvU291cE5ldHdvcmtTZXNzaW9uLmgKQEAgLTI2LDYgKzI2LDcg
QEAKICNpZm5kZWYgU291cE5ldHdvcmtTZXNzaW9uX2gKICNkZWZpbmUgU291cE5ldHdvcmtTZXNz
aW9uX2gKIAorI2luY2x1ZGUgPGdpby9naW8uaD4KICNpbmNsdWRlIDxnbGliLW9iamVjdC5oPgog
I2luY2x1ZGUgPHBhbC9TZXNzaW9uSUQuaD4KICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVVRGOC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguY3BwCmluZGV4IGIz
MThlNjIyYmNiZTExODAxOWE0MTY4NTYzMzM1NTZmMTA3MmQ3OWUuLjIxZjAzOGJjNmQ0NWI0Njhk
ZTJhZWY3NDY3OTg1YjRkMDI1ZGM3OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvVGV4dENvZGVjVVRGOC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9UZXh0Q29kZWNVVEY4LmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIlRleHRD
b2RlY0FTQ0lJRmFzdFBhdGguaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nQnVmZmVyLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9U
ZXh0Q29kZWNVVEY4LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VU
RjguaAppbmRleCBmODI4MmI1ZjM0YTg5NDczZGU5YWQ3YTIxNzY1YWY2YTMyYWNmOTVjLi44NGY3
MTQ3ZTZkYzM0ZjJlNzUxNTYxMjEwMTliYWYxNDBlNWJjMWU1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguaApAQCAtMjYsNiArMjYsNyBAQAogI3ByYWdt
YSBvbmNlCiAKICNpbmNsdWRlICJUZXh0Q29kZWMuaCIKKyNpbmNsdWRlIDx1bmljb2RlL3V0Zjgu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9MQ2hhci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1
aWxkZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcAppbmRleCAzYmM4MmM2ZTFhYmQyZmFjNDNiMDk5
YzhlNmUzY2NmMzY2ZGQ4NTNiLi4yYzJiNTA4ZmFjNWM2ZmM4NDYyODVjOWZmYTg5NWE3YjQwMjJi
OGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVy
VHJlZUJ1aWxkZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91
cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5jcHAKQEAgLTI3LDYgKzI3LDggQEAK
ICNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5oIgogCiAjaW5jbHVkZSAiUmVu
ZGVyTXVsdGlDb2x1bW5GbG93LmgiCisjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJCbG9jay5o
IgorI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyTXVsdGlDb2x1bW4uaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRp
bmcvUmVuZGVyVHJlZUJ1aWxkZXJGb3JtQ29udHJvbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyRm9ybUNvbnRyb2xzLmNwcAppbmRleCA4
MjdjOGJiMDE3MjgwNGQyNjE2MWI2NDM2M2M2MzU1YjI3YjhlYWIxLi45OWM1NzQ3ODQzNzBhODNh
NjQ1MWMxY2IyYTRhY2IyYTljNGM5MzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJGb3JtQ29udHJvbHMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckZvcm1Db250
cm9scy5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIlJlbmRlckJ1dHRvbi5oIgog
I2luY2x1ZGUgIlJlbmRlck1lbnVMaXN0LmgiCisjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJC
bG9jay5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3Bw
CmluZGV4IDdjZDA3MTVkZjUyNGE3NmZkMjA2YTIzNDI4ZDlkYWM3ZDdkODUzZjguLmVlNjM5ZDlm
YmIyYjk4ZjY4MjBkOGEzZGY1MWMyN2VhMDIyYTMzMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5saW5l
LmNwcApAQCAtMzAsNiArMzAsOCBAQAogI2luY2x1ZGUgIlJlbmRlckZ1bGxTY3JlZW4uaCIKICNp
bmNsdWRlICJSZW5kZXJJbmxpbmUuaCIKICNpbmNsdWRlICJSZW5kZXJUYWJsZS5oIgorI2luY2x1
ZGUgIlJlbmRlclRyZWVCdWlsZGVyTXVsdGlDb2x1bW4uaCIKKyNpbmNsdWRlICJSZW5kZXJUcmVl
QnVpbGRlclRhYmxlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyUnVieS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJSdWJ5
LmNwcAppbmRleCA3YWMxOWJhYzViYmM4ZGQ5Y2M2MjRiYWE0MWQ5Yzg5YzcxZDExYTg4Li5hYzEy
NDVkYzkyNWQ5YzA5ZGNjMTdjMzAyNWQzMjE0MWRkOTc3NjJjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJSdWJ5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJSdWJ5
LmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlJl
bmRlclRyZWVCdWlsZGVyUnVieS5oIgogCisjaW5jbHVkZSAiUmVuZGVyQW5jZXN0b3JJdGVyYXRv
ci5oIgogI2luY2x1ZGUgIlJlbmRlclJ1YnkuaCIKICNpbmNsdWRlICJSZW5kZXJSdWJ5QmFzZS5o
IgogI2luY2x1ZGUgIlJlbmRlclJ1YnlSdW4uaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCmluZGV4IDdkNzZhZjk0
Mjc0NjE3NWViOWEyYzU5ZTcxYTk3MTI0ZmZjMGRhMjQuLjY1MjI2YTA1NTFlNWYxZWU0YTgzNDhi
ZWNkOTM1ZTNiYjQwMGEwNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91
cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNwcApAQCAtNDEsNiArNDEsOCBAQAogI2lu
Y2x1ZGUgIlJlbmRlckRlc2NlbmRhbnRJdGVyYXRvci5oIgogI2luY2x1ZGUgIlJlbmRlckZ1bGxT
Y3JlZW4uaCIKICNpbmNsdWRlICJSZW5kZXJJbmxpbmUuaCIKKyNpbmNsdWRlICJSZW5kZXJNdWx0
aUNvbHVtbkZsb3cuaCIKKyNpbmNsdWRlICJSZW5kZXJNdWx0aUNvbHVtblNldC5oIgogI2luY2x1
ZGUgIlJlbmRlclRyZWVVcGRhdGVyR2VuZXJhdGVkQ29udGVudC5oIgogI2luY2x1ZGUgIlJ1bnRp
bWVFbmFibGVkRmVhdHVyZXMuaCIKICNpbmNsdWRlICJTdHlsZVJlc29sdmVyLmgiCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlLm1tIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvQVBJV2ViQXJjaGl2ZS5tbQppbmRleCBiMTc0MmZkZmRkMzg2OWVhZGQzZDdjNWFl
ZTcwNWU2NjFmOTdlZWRjLi5iOGM5NzJmN2VjMThlYjdkNGM5YTcxZGUyYjRlMWUyYzY1ZGU4NzY2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmUubW0KQEAgLTM0LDkgKzM0LDggQEAK
ICNpbmNsdWRlIDxXZWJDb3JlL0xlZ2FjeVdlYkFyY2hpdmUuaD4KICNpbmNsdWRlIDx3dGYvUmV0
YWluUHRyLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBuYW1lc3BhY2UgQVBJIHsK
K3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBSZWY8V2ViQXJjaGl2ZT4gV2ViQXJjaGl2ZTo6
Y3JlYXRlKFdlYkFyY2hpdmVSZXNvdXJjZSogbWFpblJlc291cmNlLCBSZWZQdHI8QVBJOjpBcnJh
eT4mJiBzdWJyZXNvdXJjZXMsIFJlZlB0cjxBUEk6OkFycmF5PiYmIHN1YmZyYW1lQXJjaGl2ZXMp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3Vy
Y2UubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW0KaW5k
ZXggY2FlNWI4NWRmMTc3ZGRkZTY4ZDg1MmU1ZTUwNmQ4ZDkyYmUyZWE5NC4uZGMwZjkwZjBmMzg1
MWFiZjEwMDQ4NGJhNTczYWU0YWY4ZTgwYjIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
aGFyZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0FQSVdlYkFyY2hpdmVSZXNvdXJjZS5tbQpAQCAtMzMsOSArMzMsOCBAQAogI2luY2x1ZGUgPFdl
YkNvcmUvVVJMLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCi11c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKLQogbmFtZXNwYWNlIEFQSSB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
IAogUmVmPFdlYkFyY2hpdmVSZXNvdXJjZT4gV2ViQXJjaGl2ZVJlc291cmNlOjpjcmVhdGUoQVBJ
OjpEYXRhKiBkYXRhLCBjb25zdCBTdHJpbmcmIFVSTCwgY29uc3QgU3RyaW5nJiBNSU1FVHlwZSwg
Y29uc3QgU3RyaW5nJiB0ZXh0RW5jb2RpbmcpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbSBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2lu
TW9kdWxlTWFjLm1tCmluZGV4IDY4ZDdjNmFkZjM2Mjc1MTMxMjk2MzU2Mjg2ZjExZTg0OWMxNGMy
YzAuLmMwY2NhYzU5ODUzY2ZhZmZkOWZmMWQxZTNkNjhiNjdkNjQ1N2Y3YzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2lu
TW9kdWxlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUv
bWFjL05ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tCkBAIC0zNCw5ICszNCw4IEBACiAjaW1wb3J0
IDx3dGYvTWFpblRocmVhZC5oPgogI2ltcG9ydCA8d3RmL3NwaS9jZi9DRkJ1bmRsZVNQSS5oPgog
Ci11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogbmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIAogc3RhdGljIGJvb2wgZ2V0UGx1Z2luQXJjaGl0ZWN0dXJlKENG
QnVuZGxlUmVmIGJ1bmRsZSwgUGx1Z2luTW9kdWxlSW5mbyYgcGx1Z2luKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3Jt
YXRpb25NYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9Q
bHVnaW5JbmZvcm1hdGlvbk1hYy5tbQppbmRleCA1ZWM4NDI0OTU5Y2JjMTkyODg2ZmE3NWFiZjAz
ZjNkODg1YmNiMWQ5Li4zMjU4NGQ0MTZiZTBmZjI1ZTllOTFkZGY0Mjg3MGUzMzk0ZjQ5MzY2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9QbHVn
aW5JbmZvcm1hdGlvbk1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05l
dHNjYXBlL21hYy9QbHVnaW5JbmZvcm1hdGlvbk1hYy5tbQpAQCAtMzQsOSArMzQsOCBAQAogI2lt
cG9ydCAiU3RyaW5nVXRpbGl0aWVzLmgiCiAjaW1wb3J0IDxXZWJDb3JlL1BsdWdpbkJsYWNrbGlz
dC5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogbmFtZXNwYWNlIFdlYktpdCB7Cit1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogdm9pZCBnZXRQbGF0Zm9ybVBsdWdpbk1vZHVsZUlu
Zm9ybWF0aW9uKGNvbnN0IFBsdWdpbk1vZHVsZUluZm8mIHBsdWdpbiwgQVBJOjpEaWN0aW9uYXJ5
OjpNYXBUeXBlJiBtYXApCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2Nv
YS50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggZDhhM2M5MGRmZmUz
MjIzMjJkNzYzZWUyMWU3Y2JhNDUwZmU4NWZjZi4uNGI4ZDQ4MDZiNDRmMjIwNDY1ODU3N2ViN2E5
Njc4Y2I4ZTM0NzliZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0
CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dApAQCAtMjk4LDkgKzI5OCw5IEBA
IFVJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbSBAbm8tdW5pZnkKIAogVUlQcm9jZXNzL0FwcGxl
UGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0KIAotVUlQcm9jZXNz
L0FwcGxlUGF5L2lvcy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbQorVUlQcm9jZXNz
L0FwcGxlUGF5L2lvcy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbSBAbm8tdW5pZnkK
IAotVUlQcm9jZXNzL0FwcGxlUGF5L21hYy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5t
bQorVUlQcm9jZXNzL0FwcGxlUGF5L21hYy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5t
bSBAbm8tdW5pZnkKIAogVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL2NvY29hL0F1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlUHJveHlDb2NvYS5tbQogVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL2NvY29h
L1NlY0tleVByb3h5U3RvcmUubW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0dU
Sy50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNHVEsudHh0CmluZGV4IGEyZGM1Yzk4MDAyYjM1
ZjdmOWFkNTY4NjUwZGNhMWQ1ZTYzYTk4OTAuLjQ0Mjk5NmQ5MWJmMmVmNjI4ZjZlNGNjZjcwNmQ4
ZTEzMzY4OWU0NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0dUSy50eHQKKysr
IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzR1RLLnR4dApAQCAtMjA3LDE2ICsyMDcsMTYgQEAgVUlQ
cm9jZXNzL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdl
clByb3h5LmNwcAogCiBVSVByb2Nlc3MvbGludXgvTWVtb3J5UHJlc3N1cmVNb25pdG9yLmNwcAog
Ci1VSVByb2Nlc3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb0NhY2hlLmNwcAorVUlQcm9jZXNzL1Bs
dWdpbnMvZ3RrL1BsdWdpbkluZm9DYWNoZS5jcHAgQG5vLXVuaWZ5CiAKLVVJUHJvY2Vzcy9QbHVn
aW5zL3VuaXgvUGx1Z2luSW5mb1N0b3JlVW5peC5jcHAKK1VJUHJvY2Vzcy9QbHVnaW5zL3VuaXgv
UGx1Z2luSW5mb1N0b3JlVW5peC5jcHAgQG5vLXVuaWZ5CiBVSVByb2Nlc3MvUGx1Z2lucy91bml4
L1BsdWdpblByb2Nlc3NQcm94eVVuaXguY3BwIEBuby11bmlmeQogCiBVSVByb2Nlc3MvV2ViU3Rv
cmFnZS9TdG9yYWdlTWFuYWdlci5jcHAKIAogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL3VuaXgvV2Vi
c2l0ZURhdGFTdG9yZVVuaXguY3BwCiAKLVVJUHJvY2Vzcy9jYWlyby9CYWNraW5nU3RvcmVDYWly
by5jcHAKK1VJUHJvY2Vzcy9jYWlyby9CYWNraW5nU3RvcmVDYWlyby5jcHAgQG5vLXVuaWZ5CiAK
IFVJUHJvY2Vzcy9nbGliL1JlbW90ZUluc3BlY3RvckNsaWVudC5jcHAKIApAQCAtMjI5LDE2ICsy
MjksMTYgQEAgVUlQcm9jZXNzL2d0ay9BY2NlbGVyYXRlZEJhY2tpbmdTdG9yZVgxMS5jcHAgQG5v
LXVuaWZ5CiBVSVByb2Nlc3MvZ3RrL0RyYWdBbmREcm9wSGFuZGxlci5jcHAKIFVJUHJvY2Vzcy9n
dGsvR2VzdHVyZUNvbnRyb2xsZXIuY3BwCiBVSVByb2Nlc3MvZ3RrL0hhcmR3YXJlQWNjZWxlcmF0
aW9uTWFuYWdlci5jcHAKLVVJUHJvY2Vzcy9ndGsvSW5wdXRNZXRob2RGaWx0ZXIuY3BwCitVSVBy
b2Nlc3MvZ3RrL0lucHV0TWV0aG9kRmlsdGVyLmNwcCBAbm8tdW5pZnkKIFVJUHJvY2Vzcy9ndGsv
S2V5QmluZGluZ1RyYW5zbGF0b3IuY3BwCiBVSVByb2Nlc3MvZ3RrL1JlbW90ZVdlYkluc3BlY3Rv
clByb3h5R3RrLmNwcCBAbm8tdW5pZnkKIFVJUHJvY2Vzcy9ndGsvVGV4dENoZWNrZXJHdGsuY3Bw
IEBuby11bmlmeQogVUlQcm9jZXNzL2d0ay9XYXlsYW5kQ29tcG9zaXRvci5jcHAgQG5vLXVuaWZ5
Ci1VSVByb2Nlc3MvZ3RrL1dlYkNvbG9yUGlja2VyR3RrLmNwcAorVUlQcm9jZXNzL2d0ay9XZWJD
b2xvclBpY2tlckd0ay5jcHAgQG5vLXVuaWZ5CiBVSVByb2Nlc3MvZ3RrL1dlYkNvbnRleHRNZW51
UHJveHlHdGsuY3BwCiBVSVByb2Nlc3MvZ3RrL1dlYkluc3BlY3RvclByb3h5R3RrLmNwcAogVUlQ
cm9jZXNzL2d0ay9XZWJLaXRJbnNwZWN0b3JXaW5kb3cuY3BwCi1VSVByb2Nlc3MvZ3RrL1dlYlBh
Z2VQcm94eUd0ay5jcHAKK1VJUHJvY2Vzcy9ndGsvV2ViUGFnZVByb3h5R3RrLmNwcCBAbm8tdW5p
ZnkKIFVJUHJvY2Vzcy9ndGsvV2ViUGFzdGVib2FyZFByb3h5R3RrLmNwcAogVUlQcm9jZXNzL2d0
ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5jcHAKIFVJUHJvY2Vzcy9ndGsvV2ViUHJlZmVyZW5jZXNH
dGsuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21h
dGlvblNlc3Npb25DbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElBdXRv
bWF0aW9uU2Vzc2lvbkNsaWVudC5oCmluZGV4IGJmYzVlZTMzODIyMGQ5MTU2ZmNjZjAwYzFlNzZk
MGJiZWU5MDQxOTAuLjM3OWM4ODU3YmU5NGI2MTk1NTVlZGZmZWM0YzNhOWE2ZTE3Nzk0ODQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElBdXRvbWF0aW9uU2Vzc2lv
bkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElBdXRvbWF0aW9u
U2Vzc2lvbkNsaWVudC5oCkBAIC01MSw3ICs1MSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwg
fkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50KCkgeyB9CiAKLSAgICB2aXJ0dWFsIFN0cmluZyBzZXNz
aW9uSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIFN0cmluZygpOyB9CisgICAgdmlydHVhbCBX
VEY6OlN0cmluZyBzZXNzaW9uSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIFdURjo6U3RyaW5n
KCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkRGlzY29ubmVjdEZyb21SZW1vdGUoV2ViS2l0OjpX
ZWJBdXRvbWF0aW9uU2Vzc2lvbiYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0TmV3UGFn
ZVdpdGhPcHRpb25zKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBBdXRvbWF0aW9uU2Vz
c2lvbkJyb3dzaW5nQ29udGV4dE9wdGlvbnMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViS2l0
OjpXZWJQYWdlUHJveHkqKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgeyBjb21wbGV0aW9uSGFuZGxl
cihudWxscHRyKTsgfQogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0TWF4aW1pemVXaW5kb3dPZlBh
Z2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5Jiwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSB7IGNvbXBsZXRp
b25IYW5kbGVyKCk7IH0KQEAgLTYxLDggKzYxLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9v
bCBpc1Nob3dpbmdKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNl
c3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmly
dHVhbCB2b2lkIGRpc21pc3NDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJLaXQ6Oldl
YkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IH0KICAgICB2aXJ0
dWFsIHZvaWQgYWNjZXB0Q3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJB
dXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyB9Ci0gICAgdmlydHVh
bCBTdHJpbmcgbWVzc2FnZU9mQ3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpX
ZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyByZXR1cm4gU3Ry
aW5nKCk7IH0KLSAgICB2aXJ0dWFsIHZvaWQgc2V0VXNlcklucHV0Rm9yQ3VycmVudEphdmFTY3Jp
cHRQcm9tcHRPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2Vi
UGFnZVByb3h5JiwgY29uc3QgU3RyaW5nJikgeyB9CisgICAgdmlydHVhbCBXVEY6OlN0cmluZyBt
ZXNzYWdlT2ZDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRp
b25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IHJldHVybiBXVEY6OlN0cmluZygp
OyB9CisgICAgdmlydHVhbCB2b2lkIHNldFVzZXJJbnB1dEZvckN1cnJlbnRKYXZhU2NyaXB0UHJv
bXB0T25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQ
cm94eSYsIGNvbnN0IFdURjo6U3RyaW5nJikgeyB9CiAgICAgdmlydHVhbCBzdGQ6Om9wdGlvbmFs
PEphdmFTY3JpcHREaWFsb2dUeXBlPiB0eXBlT2ZDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFn
ZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7
IHJldHVybiBzdGQ6Om51bGxvcHQ7IH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNs
aWVudC5tbQppbmRleCAxMWJhMzcyNjU0ODNmZmU3ZmYyNDY1MDk0MGQ4ZjMzYTUyYzBjMDRhLi4x
OWE1OWI0MmNhYjdiNTQ3ZWQ5NDQ2MGU3MmZjMDM5NmNmZTc5Mjg3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGll
bnQubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJv
dG9jb2xNYW5hZ2VyQ2xpZW50Lm1tCkBAIC0zMiwyMyArMzIsMjAgQEAKICNpbXBvcnQgPFdlYkNv
cmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2Uu
aD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0Owot
CiBAaW50ZXJmYWNlIFdLQ3VzdG9tUHJvdG9jb2xMb2FkZXIgOiBOU09iamVjdCA8TlNVUkxDb25u
ZWN0aW9uRGVsZWdhdGU+IHsKIEBwcml2YXRlCi0gICAgTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5h
Z2VyUHJveHkqIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTsKKyAgICBXZWJLaXQ6OkxlZ2Fj
eUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk7
CiAgICAgdWludDY0X3QgX2N1c3RvbVByb3RvY29sSUQ7CiAgICAgTlNVUkxDYWNoZVN0b3JhZ2VQ
b2xpY3kgX3N0b3JhZ2VQb2xpY3k7CiAgICAgTlNVUkxDb25uZWN0aW9uICpfdXJsQ29ubmVjdGlv
bjsKIH0KLS0gKGlkKWluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6KExl
Z2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94
eSBjdXN0b21Qcm90b2NvbElEOih1aW50NjRfdCljdXN0b21Qcm90b2NvbElEIHJlcXVlc3Q6KE5T
VVJMUmVxdWVzdCAqKXJlcXVlc3Q7CistIChpZClpbml0V2l0aExlZ2FjeUN1c3RvbVByb3RvY29s
TWFuYWdlclByb3h5OihXZWJLaXQ6OkxlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5Kilj
dXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSBjdXN0b21Qcm90b2NvbElEOih1aW50NjRfdCljdXN0
b21Qcm90b2NvbElEIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3Q7CiAtICh2b2lkKWN1
c3RvbVByb3RvY29sTWFuYWdlclByb3h5RGVzdHJveWVkOwogQGVuZAogCiBAaW1wbGVtZW50YXRp
b24gV0tDdXN0b21Qcm90b2NvbExvYWRlcgogCi0tIChpZClpbml0V2l0aExlZ2FjeUN1c3RvbVBy
b3RvY29sTWFuYWdlclByb3h5OihMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSopY3Vz
dG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJvdG9jb2xJRDoodWludDY0X3QpY3VzdG9t
UHJvdG9jb2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0CistIChpZClpbml0V2l0
aExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OihXZWJLaXQ6OkxlZ2FjeUN1c3RvbVBy
b3RvY29sTWFuYWdlclByb3h5KiljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSBjdXN0b21Qcm90
b2NvbElEOih1aW50NjRfdCljdXN0b21Qcm90b2NvbElEIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAq
KXJlcXVlc3QKIHsKICAgICBzZWxmID0gW3N1cGVyIGluaXRdOwogICAgIGlmICghc2VsZikKQEAg
LTg1LDcgKzgyLDcgQEAgLSAodm9pZCljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eURlc3Ryb3ll
ZAogCiAtICh2b2lkKWNvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gZGlk
RmFpbFdpdGhFcnJvcjooTlNFcnJvciAqKWVycm9yCiB7Ci0gICAgUmVzb3VyY2VFcnJvciBjb3Jl
RXJyb3IoZXJyb3IpOworICAgIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgY29yZUVycm9yKGVycm9y
KTsKICAgICBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHktPmRpZEZhaWxXaXRoRXJyb3IoX2N1
c3RvbVByb3RvY29sSUQsIGNvcmVFcnJvcik7CiAgICAgX2N1c3RvbVByb3RvY29sTWFuYWdlclBy
b3h5LT5zdG9wTG9hZGluZyhfY3VzdG9tUHJvdG9jb2xJRCk7CiB9CkBAIC05OSw3ICs5Niw3IEBA
IC0gKE5TQ2FjaGVkVVJMUmVzcG9uc2UgKiljb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKilj
b25uZWN0aW9uIHdpbGxDYWNoZVJlc3BvCiAKIC0gKHZvaWQpY29ubmVjdGlvbjooTlNVUkxDb25u
ZWN0aW9uICopY29ubmVjdGlvbiBkaWRSZWNlaXZlUmVzcG9uc2U6KE5TVVJMUmVzcG9uc2UgKily
ZXNwb25zZQogewotICAgIFJlc291cmNlUmVzcG9uc2UgY29yZVJlc3BvbnNlKHJlc3BvbnNlKTsK
KyAgICBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIGNvcmVSZXNwb25zZShyZXNwb25zZSk7CiAg
ICAgX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5LT5kaWRSZWNlaXZlUmVzcG9uc2UoX2N1c3Rv
bVByb3RvY29sSUQsIGNvcmVSZXNwb25zZSwgX3N0b3JhZ2VQb2xpY3kpOwogfQogCkBAIC0xMjcs
NiArMTI0LDcgQEAgLSAodm9pZCljb25uZWN0aW9uRGlkRmluaXNoTG9hZGluZzooTlNVUkxDb25u
ZWN0aW9uICopY29ubmVjdGlvbgogQGVuZAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogCiB2b2lkIExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVu
dDo6c3RhcnRMb2FkaW5nKExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5JiBtYW5hZ2Vy
LCB1aW50NjRfdCBjdXN0b21Qcm90b2NvbElELCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGNvcmVS
ZXF1ZXN0KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGx1Z2lucy9Q
bHVnaW5Qcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGx1Z2lucy9Q
bHVnaW5Qcm9jZXNzUHJveHkuY3BwCmluZGV4IGMyYjkxYTYzOTczZTYzMTIwYWFlNTI4Zjg5NzUz
ODVmN2I2ZGJmNjIuLmVkZWQ5YzdkMmE0ZTU4ZTNkMDU4ZDgzMjY4MzEwOTgxODJhZjQ0NzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1By
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nl
c3NQcm94eS5jcHAKQEAgLTQ4LDcgKzQ4LDcgQEAgc3RhdGljIGNvbnN0IFNlY29uZHMgc25hcHNo
b3R0aW5nTWluaW11bUxpZmV0aW1lIHsgMzBfcyB9Owogc3RhdGljIGNvbnN0IFNlY29uZHMgc2h1
dGRvd25UaW1lb3V0IHsgMV9taW4gfTsKIHN0YXRpYyBjb25zdCBTZWNvbmRzIHNuYXBzaG90dGlu
Z1NodXRkb3duVGltZW91dCB7IDE1X3MgfTsKIAotc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlQ2Fs
bGJhY2tJRCgpCitzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJ
RCgpCiB7CiAgICAgc3RhdGljIHVpbnQ2NF90IGNhbGxiYWNrSUQ7CiAKQEAgLTExNCw3ICsxMTQs
NyBAQCB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6Z2V0UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24o
TWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6RwogCiB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6
ZmV0Y2hXZWJzaXRlRGF0YShDb21wbGV0aW9uSGFuZGxlcjx2b2lkIChWZWN0b3I8U3RyaW5nPik+
JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVy
YXRlQ2FsbGJhY2tJRCgpOworICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVBsdWdp
blByb2Nlc3NDYWxsYmFja0lEKCk7CiAgICAgbV9wZW5kaW5nRmV0Y2hXZWJzaXRlRGF0YUNhbGxi
YWNrcy5zZXQoY2FsbGJhY2tJRCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAg
aWYgKHN0YXRlKCkgPT0gU3RhdGU6OkxhdW5jaGluZykgewpAQCAtMTI3LDcgKzEyNyw3IEBAIHZv
aWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKENvbXBsZXRpb25IYW5kbGVy
PHZvaWQgKFZlY3RvcjxTdHJpbmc+CiAKIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVX
ZWJzaXRlRGF0YShXYWxsVGltZSBtb2RpZmllZFNpbmNlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
ICgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBn
ZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVQ
bHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRh
Q2FsbGJhY2tzLnNldChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAK
ICAgICBpZiAoc3RhdGUoKSA9PSBTdGF0ZTo6TGF1bmNoaW5nKSB7CkBAIC0xNDAsNyArMTQwLDcg
QEAgdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhKFdhbGxUaW1lIG1v
ZGlmaWVkU2luY2UsIENvbXBsZXRpb25IYW4KIAogdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmRl
bGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5hbWVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBob3N0TmFt
ZXMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQgKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0g
ICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIHVpbnQ2
NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVBsdWdpblByb2Nlc3NDYWxsYmFja0lEKCk7CiAgICAg
bV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFGb3JIb3N0TmFtZXNDYWxsYmFja3Muc2V0KGNhbGxi
YWNrSUQsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIGlmIChzdGF0ZSgpID09
IFN0YXRlOjpMYXVuY2hpbmcpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlP
Uy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xs
aW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5tbQppbmRleCA0YTJlMjliNTYwOTYxYTU5
YjFjYjU1MTk3ODM5MTQ5YzMxMDY4NGMyLi43MmE4ODJmMDU4MWQ1ZWFjOTFmYzE0YmMwNWEwMmYx
NDRmMTZjMTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXll
clRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tCkBAIC00Myw4ICs0Myw2IEBACiAjaW1wb3J0IDxX
ZWJDb3JlL1Njcm9sbFNuYXBPZmZzZXRzSW5mby5oPgogI2VuZGlmCiAKLXVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwotCiBAaW1wbGVtZW50YXRpb24gV0tTY3JvbGxpbmdOb2RlU2Nyb2xsVmlld0Rl
bGVnYXRlCiAKIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aFNjcm9sbGluZ1RyZWVOb2RlRGVsZWdh
dGU6KFdlYktpdDo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUyopZGVsZWdh
dGUKQEAgLTgwLDcgKzc4LDcgQEAgLSAodm9pZClzY3JvbGxWaWV3V2lsbEVuZERyYWdnaW5nOihV
SVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3IHdpdGhWZWxvY2l0eTooQ0dQb2kKIAogICAgIGlmICgh
X3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25h
cE9mZnNldHMoKS5pc0VtcHR5KCkpIHsKICAgICAgICAgdW5zaWduZWQgaW5kZXg7Ci0gICAgICAg
IGZsb2F0IHBvdGVudGlhbFNuYXBQb3NpdGlvbiA9IGNsb3Nlc3RTbmFwT2Zmc2V0KF9zY3JvbGxp
bmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuaG9yaXpvbnRhbFNuYXBPZmZzZXRz
KCksIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuaG9yaXpvbnRh
bFNuYXBPZmZzZXRSYW5nZXMoKSwgaG9yaXpvbnRhbFRhcmdldCwgdmVsb2NpdHkueCwgaW5kZXgp
OworICAgICAgICBmbG9hdCBwb3RlbnRpYWxTbmFwUG9zaXRpb24gPSBXZWJDb3JlOjpjbG9zZXN0
U25hcE9mZnNldChfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLmhv
cml6b250YWxTbmFwT2Zmc2V0cygpLCBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xs
aW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0UmFuZ2VzKCksIGhvcml6b250YWxUYXJnZXQs
IHZlbG9jaXR5LngsIGluZGV4KTsKICAgICAgICAgX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUt
PnNjcm9sbGluZ05vZGUoKS5zZXRDdXJyZW50SG9yaXpvbnRhbFNuYXBQb2ludEluZGV4KGluZGV4
KTsKICAgICAgICAgaWYgKGhvcml6b250YWxUYXJnZXQgPj0gMCAmJiBob3Jpem9udGFsVGFyZ2V0
IDw9IHNjcm9sbFZpZXcuY29udGVudFNpemUud2lkdGgpCiAgICAgICAgICAgICB0YXJnZXRDb250
ZW50T2Zmc2V0LT54ID0gcG90ZW50aWFsU25hcFBvc2l0aW9uOwpAQCAtODgsNyArODYsNyBAQCAt
ICh2b2lkKXNjcm9sbFZpZXdXaWxsRW5kRHJhZ2dpbmc6KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZp
ZXcgd2l0aFZlbG9jaXR5OihDR1BvaQogCiAgICAgaWYgKCFfc2Nyb2xsaW5nVHJlZU5vZGVEZWxl
Z2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2FsU25hcE9mZnNldHMoKS5pc0VtcHR5KCkpIHsK
ICAgICAgICAgdW5zaWduZWQgaW5kZXg7Ci0gICAgICAgIGZsb2F0IHBvdGVudGlhbFNuYXBQb3Np
dGlvbiA9IGNsb3Nlc3RTbmFwT2Zmc2V0KF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3Jv
bGxpbmdOb2RlKCkudmVydGljYWxTbmFwT2Zmc2V0cygpLCBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxl
Z2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2FsU25hcE9mZnNldFJhbmdlcygpLCB2ZXJ0aWNh
bFRhcmdldCwgdmVsb2NpdHkueSwgaW5kZXgpOworICAgICAgICBmbG9hdCBwb3RlbnRpYWxTbmFw
UG9zaXRpb24gPSBXZWJDb3JlOjpjbG9zZXN0U25hcE9mZnNldChfc2Nyb2xsaW5nVHJlZU5vZGVE
ZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2FsU25hcE9mZnNldHMoKSwgX3Njcm9sbGlu
Z1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52ZXJ0aWNhbFNuYXBPZmZzZXRSYW5n
ZXMoKSwgdmVydGljYWxUYXJnZXQsIHZlbG9jaXR5LnksIGluZGV4KTsKICAgICAgICAgX3Njcm9s
bGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5zZXRDdXJyZW50VmVydGljYWxT
bmFwUG9pbnRJbmRleChpbmRleCk7CiAgICAgICAgIGlmICh2ZXJ0aWNhbFRhcmdldCA+PSAwICYm
IHZlcnRpY2FsVGFyZ2V0IDw9IHNjcm9sbFZpZXcuY29udGVudFNpemUuaGVpZ2h0KQogICAgICAg
ICAgICAgdGFyZ2V0Q29udGVudE9mZnNldC0+eSA9IHBvdGVudGlhbFNuYXBQb3NpdGlvbjsKQEAg
LTEyMiw2ICsxMjAsNyBAQCAtICh2b2lkKXNjcm9sbFZpZXdEaWRFbmREZWNlbGVyYXRpbmc6KFVJ
U2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcKIEBlbmQKIAogbmFtZXNwYWNlIFdlYktpdCB7Cit1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0
ZUlPUzo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUyhTY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZSYgc2Nyb2xsaW5nTm9kZSkKICAgICA6IFNjcm9sbGluZ1RyZWVTY3JvbGxp
bmdOb2RlRGVsZWdhdGUoc2Nyb2xsaW5nTm9kZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJveHkuY3BwCmluZGV4IGVmYThkMTNj
YmJkNWZmYTgwOGI1ZjBlZGJmNGE1MWRjOWRmODU3ZTcuLjNhMTMxYjRkNjBkOGFhMDdlODdmYjVl
NGM2MTRmMzBhN2Q0MmI1NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0
b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1Byb3h5LmNwcApAQCAtMzcsNyArMzcsNyBAQAogbmFt
ZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotc3RhdGljIHVpbnQ2
NF90IGdlbmVyYXRlQ2FsbGJhY2tJRCgpCitzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVTdG9yYWdl
UHJvY2Vzc0NhbGxiYWNrSUQoKQogewogICAgIHN0YXRpYyB1aW50NjRfdCBjYWxsYmFja0lEOwog
CkBAIC0xMDUsNyArMTA1LDcgQEAgdm9pZCBTdG9yYWdlUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNp
dGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFcKIHsKICAgICBBU1NF
UlQoY2FuU2VuZE1lc3NhZ2UoKSk7CiAKLSAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJh
dGVDYWxsYmFja0lEKCk7CisgICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlU3RvcmFn
ZVByb2Nlc3NDYWxsYmFja0lEKCk7CiAgICAgbV9wZW5kaW5nRmV0Y2hXZWJzaXRlRGF0YUNhbGxi
YWNrcy5hZGQoY2FsbGJhY2tJRCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAg
c2VuZChNZXNzYWdlczo6U3RvcmFnZVByb2Nlc3M6OkZldGNoV2Vic2l0ZURhdGEoc2Vzc2lvbklE
LCBkYXRhVHlwZXMsIGNhbGxiYWNrSUQpLCAwKTsKQEAgLTExMyw3ICsxMTMsNyBAQCB2b2lkIFN0
b3JhZ2VQcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQgc2Vzc2lv
bklELCBPcHRpb25TZXQ8VwogCiB2b2lkIFN0b3JhZ2VQcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNp
dGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlw
ZT4gZGF0YVR5cGVzLCBXYWxsVGltZSBtb2RpZmllZFNpbmNlLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkICgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIGF1dG8gY2FsbGJhY2tJRCA9IGdl
bmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIGF1dG8gY2FsbGJhY2tJRCA9IGdlbmVyYXRlU3RvcmFn
ZVByb2Nlc3NDYWxsYmFja0lEKCk7CiAKICAgICBtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUNh
bGxiYWNrcy5hZGQoY2FsbGJhY2tJRCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogICAg
IHNlbmQoTWVzc2FnZXM6OlN0b3JhZ2VQcm9jZXNzOjpEZWxldGVXZWJzaXRlRGF0YShzZXNzaW9u
SUQsIGRhdGFUeXBlcywgbW9kaWZpZWRTaW5jZSwgY2FsbGJhY2tJRCksIDApOwpAQCAtMTIzLDcg
KzEyMyw3IEBAIHZvaWQgU3RvcmFnZVByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JP
cmlnaW5zKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwKIHsKICAgICBBU1NFUlQoY2FuU2VuZE1l
c3NhZ2UoKSk7CiAKLSAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lE
KCk7CisgICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlU3RvcmFnZVByb2Nlc3NDYWxs
YmFja0lEKCk7CiAgICAgbV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zQ2FsbGJh
Y2tzLmFkZChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAKICAgICBz
ZW5kKE1lc3NhZ2VzOjpTdG9yYWdlUHJvY2Vzczo6RGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5z
KHNlc3Npb25JRCwgZGF0YVR5cGVzLCBvcmlnaW5zLCBjYWxsYmFja0lEKSwgMCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGRhMDU4MWRiOWFmNmQxNjE4OGYxNmU2
N2YzYWI1MTRkZTBhNDk4M2EuLjdiZTUzOTg1ODU5NmJmMTUzZGE3MGVkMDhkMmUyMjEyYWM2Mzk4
NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC02Miw3ICs2Miw2
IEBACiAjaW5jbHVkZSAiV2ViUGFnZUluamVjdGVkQnVuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAi
V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuaCIKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlcy5o
IgotI2luY2x1ZGUgPFdlYkNvcmUvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50Lmg+IC8vIEZJWE1FOiBO
ZWVkZWQgYnkgV2ViUGFnZVByb3h5TWVzc2FnZXMuaCBmb3IgRElDVEFUSU9OX0FMVEVSTkFUSVZF
Uy4KICNpbmNsdWRlICJXZWJQYWdlUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlBvcHVw
TWVudVByb3h5LmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc0xpZmV0aW1lVHJhY2tlci5oIgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOTRj
OWIxZmY0ODRkMWQyZWNjMDNkNGMzMWY0YjBiZWFhZGQ3ZGFhZi4uOTM4NDQzYjEwMmM5YzdhMmIz
NDg1ODU2MGJiMDg0OGY0NzdiNjg0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03NTksNiArNzU5LDggQEAKIAkJMkQ5MkE3OTUyMTJC
NkFENDAwRjQ5M0ZEIC8qIFBsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyRDkwRDExMjgxQzk2
NjAwMUVCOTYyIC8qIFBsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwICovOyB9Owog
CQkyRDkyQTc5NjIxMkI2QURBMDBGNDkzRkQgLyogTmV0c2NhcGVQbHVnaW5Nb2R1bGUuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE0QTlDNTMxMkI4
MTZDRjAwOEZFOTg0IC8qIE5ldHNjYXBlUGx1Z2luTW9kdWxlLmNwcCAqLzsgfTsKIAkJMkQ5MkE3
OTcyMTJCNkFEQTAwRjQ5M0ZEIC8qIFBsdWdpbkluZm9ybWF0aW9uLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDM0Y4QzhFMTczQUY1MkQwMDdCN0Yz
OSAvKiBQbHVnaW5JbmZvcm1hdGlvbi5jcHAgKi87IH07CisJCTJEOTJBNzk4MjEzNDhEODUwMEY0
OTNGRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQjFGNzdEMUQxQjMwQTkwMDdDOUJEMSAv
KiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbSAqLzsgfTsKKwkJMkQ5MkE3OUYyMTM0
QjA3RTAwRjQ5M0ZEIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5SU9TLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFCMUY3N0IxRDFCMzBBOTAw
N0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5SU9TLm1tICovOyB9OwogCQkyRDkz
MTE2OTIxMkY2MUIyMDAwNDRCRkUgLyogV0tDb250ZW50Vmlldy5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0I0RTNEMThCQkUwNDQwMDBGQ0ZDOSAv
KiBXS0NvbnRlbnRWaWV3Lm1tICovOyB9OwogCQkyRDkzMTE2QTIxMkY2MUI1MDAwNDRCRkUgLyog
V0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEZDQjRFNkIxOEJCRjI2QTAwMEZDRkM5IC8qIFdLQ29udGVudFZp
ZXdJbnRlcmFjdGlvbi5tbSAqLzsgfTsKIAkJMkQ5RUEzMEQxQTk2Q0I1OTAwMkQyODA3IC8qIFdL
UGFnZUluamVjdGVkQnVuZGxlQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyRDlFQTMwQzFBOTZDQjU5MDAyRDI4MDcgLyogV0tQYWdlSW5qZWN0
ZWRCdW5kbGVDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwpAQCAtMTEyNDgsNiArMTEyNTAsOCBAQAogCQkJCTdDRTlDRTEwMUZBMDc2N0EwMDAx
NzdERSAvKiBXZWJQYWdlVXBkYXRlUHJlZmVyZW5jZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
N0M0Njk0QzkxQTRCNEVBMTAwQUQ1ODQ1IC8qIFdlYlBhc3RlYm9hcmRQcm94eU1lc3NhZ2VSZWNl
aXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUIxRjc5NjFEMUIzNjEzMDA3QzlCRDEgLyog
V2ViUGF5bWVudENvb3JkaW5hdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTJEOTJBNzlGMjEzNEIwN0UwMEY0OTNGRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eUlPUy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJBNzk4MjEzNDhEODUwMEY0OTNGRCAvKiBX
ZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBQjFG
Nzk4MUQxQjM2MTMwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1lc3NhZ2VS
ZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDkyQTc4RDIxMkI2QUIxMDBGNDkzRkQg
LyogV2ViUGxhdGZvcm1Ub3VjaFBvaW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOTEzNDRF
MjEyQ0Y5RjAwMDEyOEFGRCAvKiBXZWJQbHVnaW5JbmZvUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERG
UGx1Z2luLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdp
bi5tbQppbmRleCA1MzA3ZTI2YTc2MzdlOGE2OWIwNDVhYmI5Mjg3OWYzZjhjNjU4NmYyLi40Y2Fh
NmNjMGY2MDQ1MGMwM2IyMmEyODRkZDEzYWYyNWVmZDZlMzg2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0KQEAgLTg4LDggKzg4LDYg
QEAKICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TTWVudVNQSS5oPgogI2ltcG9ydCA8d3RmL1VVSUQu
aD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIC8vIFNldCBvdmVyZmxvdzogaGlkZGVu
IG9uIHRoZSBhbm5vdGF0aW9uIGNvbnRhaW5lciBzbyA8aW5wdXQ+IGVsZW1lbnRzIHNjcm9sbGVk
IG91dCBvZiB2aWV3IGRvbid0IHNob3cKIC8vIHNjcm9sbGJhcnMgb24gdGhlIGJvZHkuIFdlIGNh
bid0IGFkZCBhbm5vdGF0aW9ucyBkaXJlY3RseSB0byB0aGUgYm9keSwgYmVjYXVzZSBvdmVyZmxv
dzogaGlkZGVuIG9uIHRoZSBib2R5CiAvLyB3aWxsIGJyZWFrIHJ1YmJlci1iYW5kaW5nLgpAQCAt
MjkwLDcgKzI4OCw3IEBAIC0gKE5TQXJyYXkgKilhY2Nlc3NpYmlsaXR5QWN0aW9uTmFtZXMKIC0g
KHZvaWQpYWNjZXNzaWJpbGl0eVBlcmZvcm1BY3Rpb246KE5TU3RyaW5nICopYWN0aW9uCiB7CiAg
ICAgaWYgKFthY3Rpb24gaXNFcXVhbFRvU3RyaW5nOk5TQWNjZXNzaWJpbGl0eVNob3dNZW51QWN0
aW9uXSkKLSAgICAgICAgX3BkZlBsdWdpbi0+c2hvd0NvbnRleHRNZW51QXRQb2ludChJbnRSZWN0
KEludFBvaW50KCksIF9wZGZQbHVnaW4tPnNpemUoKSkuY2VudGVyKCkpOworICAgICAgICBfcGRm
UGx1Z2luLT5zaG93Q29udGV4dE1lbnVBdFBvaW50KFdlYkNvcmU6OkludFJlY3QoV2ViQ29yZTo6
SW50UG9pbnQoKSwgX3BkZlBsdWdpbi0+c2l6ZSgpKS5jZW50ZXIoKSk7CiB9CiAKIC0gKEJPT0wp
YWNjZXNzaWJpbGl0eUlzQXR0cmlidXRlU2V0dGFibGU6KE5TU3RyaW5nICopYXR0cmlidXRlCkBA
IC0zMTYsOCArMzE0LDggQEAgLSAoaWQpYWNjZXNzaWJpbGl0eUZvY3VzZWRVSUVsZW1lbnQKIHsK
ICNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMAogICAgIGlmIChX
ZWJLaXQ6OlBERlBsdWdpbkFubm90YXRpb24qIGFjdGl2ZUFubm90YXRpb24gPSBfcGRmUGx1Z2lu
LT5hY3RpdmVBbm5vdGF0aW9uKCkpIHsKLSAgICAgICAgaWYgKEFYT2JqZWN0Q2FjaGUqIGV4aXN0
aW5nQ2FjaGUgPSBfcGRmUGx1Z2luLT5heE9iamVjdENhY2hlKCkpIHsKLSAgICAgICAgICAgIGlm
IChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QgPSBleGlzdGluZ0NhY2hlLT5nZXRPckNyZWF0
ZShhY3RpdmVBbm5vdGF0aW9uLT5lbGVtZW50KCkpKQorICAgICAgICBpZiAoV2ViQ29yZTo6QVhP
YmplY3RDYWNoZSogZXhpc3RpbmdDYWNoZSA9IF9wZGZQbHVnaW4tPmF4T2JqZWN0Q2FjaGUoKSkg
eworICAgICAgICAgICAgaWYgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCA9
IGV4aXN0aW5nQ2FjaGUtPmdldE9yQ3JlYXRlKGFjdGl2ZUFubm90YXRpb24tPmVsZW1lbnQoKSkp
CiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGlj
IGlnbm9yZWQgIi1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMiCiAgICAgICAgICAgICAgICAgcmV0
dXJuIFtvYmplY3QtPndyYXBwZXIoKSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6QCJfQVhB
c3NvY2lhdGVkUGx1Z2luUGFyZW50Il07CkBAIC0zMzgsMTEgKzMzNiwxMSBAQCAtIChpZClhY2Nl
c3NpYmlsaXR5QXNzb2NpYXRlZENvbnRyb2xGb3JBbm5vdGF0aW9uOihQREZBbm5vdGF0aW9uICop
YW5ub3RhdGlvbgogICAgIGlmICghYWN0aXZlQW5ub3RhdGlvbiB8fCAhW2FjdGl2ZUFubm90YXRp
b24tPmFubm90YXRpb24oKSBpc0VxdWFsOmFubm90YXRpb25dKQogICAgICAgICByZXR1cm4gbmls
OwogICAgIAotICAgIEFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gX3BkZlBsdWdpbi0+YXhPYmplY3RD
YWNoZSgpOworICAgIFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gX3BkZlBsdWdpbi0+
YXhPYmplY3RDYWNoZSgpOwogICAgIGlmICghY2FjaGUpCiAgICAgICAgIHJldHVybiBuaWw7CiAg
ICAgCi0gICAgQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0ID0gY2FjaGUtPmdldE9yQ3JlYXRl
KGFjdGl2ZUFubm90YXRpb24tPmVsZW1lbnQoKSk7CisgICAgV2ViQ29yZTo6QWNjZXNzaWJpbGl0
eU9iamVjdCogb2JqZWN0ID0gY2FjaGUtPmdldE9yQ3JlYXRlKGFjdGl2ZUFubm90YXRpb24tPmVs
ZW1lbnQoKSk7CiAgICAgaWYgKCFvYmplY3QpCiAgICAgICAgIHJldHVybiBuaWw7CiAKQEAgLTM1
Myw3ICszNTEsNyBAQCAtIChpZClhY2Nlc3NpYmlsaXR5QXNzb2NpYXRlZENvbnRyb2xGb3JBbm5v
dGF0aW9uOihQREZBbm5vdGF0aW9uICopYW5ub3RhdGlvbgogLSAoaWQpYWNjZXNzaWJpbGl0eUhp
dFRlc3Q6KE5TUG9pbnQpcG9pbnQKIHsKICNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMTMwMAotICAgIHBvaW50ID0gX3BkZlBsdWdpbi0+Y29udmVydEZyb21Sb290Vmll
d1RvUERGVmlldyhJbnRQb2ludChwb2ludCkpOworICAgIHBvaW50ID0gX3BkZlBsdWdpbi0+Y29u
dmVydEZyb21Sb290Vmlld1RvUERGVmlldyhXZWJDb3JlOjpJbnRQb2ludChwb2ludCkpOwogICAg
IHJldHVybiBbX3BkZkxheWVyQ29udHJvbGxlciBhY2Nlc3NpYmlsaXR5SGl0VGVzdDpwb2ludF07
CiAjZWxzZQogICAgIHJldHVybiBzZWxmOwpAQCAtNDIxLDcgKzQxOSw3IEBAIC0gKGlkKWluaXRX
aXRoUERGUGx1Z2luOihXZWJLaXQ6OlBERlBsdWdpbiAqKXBsdWdpbgogCiAtICh2b2lkKXVwZGF0
ZVNjcm9sbFBvc2l0aW9uOihDR1BvaW50KW5ld1Bvc2l0aW9uCiB7Ci0gICAgX3BkZlBsdWdpbi0+
bm90aWZ5U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKEludFBvaW50KG5ld1Bvc2l0aW9uKSk7CisgICAg
X3BkZlBsdWdpbi0+bm90aWZ5U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKFdlYkNvcmU6OkludFBvaW50
KG5ld1Bvc2l0aW9uKSk7CiB9CiAKIC0gKHZvaWQpd3JpdGVJdGVtc1RvUGFzdGVib2FyZDooTlNB
cnJheSAqKWl0ZW1zIHdpdGhUeXBlczooTlNBcnJheSAqKXR5cGVzCkBAIC01MDAsNiArNDk4LDEw
IEBAIC0gKE5TUmVjdCljb252ZXJ0UmVjdDooTlNSZWN0KXJlY3QgZnJvbVBhZ2U6KFBERlBhZ2Ug
KikgcGFnZSBmb3JTY2FsZUZhY3RvcjooQ0dGCiAtIChQREZQYWdlICopcGFnZU5lYXJlc3RQb2lu
dDooTlNQb2ludClwb2ludCBjdXJyZW50UGFnZTooUERGUGFnZSAqKWN1cnJlbnRQYWdlOwogQGVu
ZAogCituYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwordXNpbmcg
bmFtZXNwYWNlIEhUTUxOYW1lczsKKwogc3RhdGljIGNvbnN0IGNoYXIqIHBvc3RTY3JpcHRNSU1F
VHlwZSA9ICJhcHBsaWNhdGlvbi9wb3N0c2NyaXB0IjsKIGNvbnN0IHVpbnQ2NF90IHBkZkRvY3Vt
ZW50UmVxdWVzdElEID0gMTsgLy8gUGx1Z2luQ29udHJvbGxlciBzdXBwb3J0cyBsb2FkaW5nIG11
bHRpcGxlIHN0cmVhbXMsIGJ1dCB3ZSBvbmx5IG5lZWQgb25lIGZvciBQREYuCiAKQEAgLTU5Niw5
ICs1OTgsNiBAQCBzdGF0aWMgdm9pZCBnZXRBbGxTY3JpcHRzSW5QREZEb2N1bWVudChDR1BERkRv
Y3VtZW50UmVmIHBkZkRvY3VtZW50LCBWZWN0b3I8UmV0YQogICAgIH0KIH0KIAotbmFtZXNwYWNl
IFdlYktpdCB7Ci11c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwotCiBSZWY8UERGUGx1Z2luPiBQ
REZQbHVnaW46OmNyZWF0ZShXZWJGcmFtZSYgZnJhbWUpCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgUERGUGx1Z2luKGZyYW1lKSk7CkBAIC0xNDUwLDcgKzE0NDksNyBAQCB2b2lkIFBERlBs
dWdpbjo6dXBkYXRlQ3Vyc29yKGNvbnN0IFdlYk1vdXNlRXZlbnQmIGV2ZW50LCBVcGRhdGVDdXJz
b3JNb2RlIG1vZGUpCiAgICAgaWYgKGhpdFRlc3RSZXN1bHQgPT0gbV9sYXN0SGl0VGVzdFJlc3Vs
dCAmJiBtb2RlID09IFVwZGF0ZUlmTmVlZGVkKQogICAgICAgICByZXR1cm47CiAKLSAgICB3ZWJG
cmFtZSgpLT5wYWdlKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0Q3Vyc29yKGhp
dFRlc3RSZXN1bHQgPT0gVGV4dCA/IGlCZWFtQ3Vyc29yKCkgOiBwb2ludGVyQ3Vyc29yKCkpKTsK
KyAgICB3ZWJGcmFtZSgpLT5wYWdlKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0
Q3Vyc29yKGhpdFRlc3RSZXN1bHQgPT0gVGV4dCA/IFdlYkNvcmU6OmlCZWFtQ3Vyc29yKCkgOiBX
ZWJDb3JlOjpwb2ludGVyQ3Vyc29yKCkpKTsKICAgICBtX2xhc3RIaXRUZXN0UmVzdWx0ID0gaGl0
VGVzdFJlc3VsdDsKIH0KICNlbmRpZgpAQCAtMTk4MSwxNiArMTk4MCwxNiBAQCB2b2lkIFBERlBs
dWdpbjo6bm90aWZ5U2VsZWN0aW9uQ2hhbmdlZChQREZTZWxlY3Rpb24gKikKICAgICB3ZWJGcmFt
ZSgpLT5wYWdlKCktPmRpZENoYW5nZVNlbGVjdGlvbigpOwogfQogCi1zdGF0aWMgY29uc3QgQ3Vy
c29yJiBjb3JlQ3Vyc29yKFBERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGUgdHlwZSkKK3N0YXRp
YyBjb25zdCBXZWJDb3JlOjpDdXJzb3ImIGNvcmVDdXJzb3IoUERGTGF5ZXJDb250cm9sbGVyQ3Vy
c29yVHlwZSB0eXBlKQogewogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2Uga1BERkxheWVy
Q29udHJvbGxlckN1cnNvclR5cGVIYW5kOgotICAgICAgICByZXR1cm4gaGFuZEN1cnNvcigpOwor
ICAgICAgICByZXR1cm4gV2ViQ29yZTo6aGFuZEN1cnNvcigpOwogICAgIGNhc2Uga1BERkxheWVy
Q29udHJvbGxlckN1cnNvclR5cGVJQmVhbToKLSAgICAgICAgcmV0dXJuIGlCZWFtQ3Vyc29yKCk7
CisgICAgICAgIHJldHVybiBXZWJDb3JlOjppQmVhbUN1cnNvcigpOwogICAgIGNhc2Uga1BERkxh
eWVyQ29udHJvbGxlckN1cnNvclR5cGVQb2ludGVyOgogICAgIGRlZmF1bHQ6Ci0gICAgICAgIHJl
dHVybiBwb2ludGVyQ3Vyc29yKCk7CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpwb2ludGVyQ3Vy
c29yKCk7CiAgICAgfQogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348522</attachid>
            <date>2018-08-30 11:57:20 -0700</date>
            <delta_ts>2018-08-30 12:11:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189009-20180830115719.patch</filename>
            <type>text/plain</type>
            <size>65033</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDE2NWM1NmVjZTkyNzU0NDI1OWU0OWJh
MDJlNDljYmJhNDEyZGJlNjIuLjkyNjdjMWY5OTA5ZTVhOGE3NmE0ZWUxZTRiZmUwNzRmZGFhYTg4
NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDgtMzAgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3Jl
IHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL2dlbmVy
YXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmI6CisgICAgICAgIEl0IHR1cm5zIG91dCBvdXIg
cGxhbiB0byBzd2l0Y2ggdW5pZmllZCBzb3VyY2UgYnVuZGxlIGV2ZXJ5IHRpbWUgdGhlIGRpcmVj
dG9yeQorICAgICAgICBjaGFuZ2VzIGlzIG5vdCBhIGdvb2QgZml0IGZvciBwcm9qZWN0cyBsaWtl
IFdlYktpdDIgd2l0aCBtYW55IHNtYWxsIGRpcmVjdG9yaWVzLgorICAgICAgICBJdCBsZWF2ZXMg
bWFueSB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIHdpdGggb25seSBhIHNpbmdsZSBzb3VyY2UgZmls
ZSwKKyAgICAgICAgYWNoaWV2aW5nIG9ubHkgfjQwJSBkZW5zaXR5LgorCisgICAgICAgIEluc3Rl
YWQsIHN3aXRjaCB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIGV2ZXJ5IHRpbWUgdGhlIHRvcC1sZXZl
bCBkaXJlY3RvcnkgY2hhbmdlcy4KKyAgICAgICAgVGhpcyBzdGlsbCBhY2hpZXZlcyB0aGUgZ29h
bCBvZiAqdXN1YWxseSogb25seSByZWJ1aWxkaW5nIHRoZSBvbmUgdG9wLWxldmVsCisgICAgICAg
IGRpcmVjdG9yeSB5b3UgdG91Y2hlZCwgYW5kIGluY3JlYXNlcyBzb3VyY2UgYnVuZGxlIGRlbnNp
dHkgd2lsZGx5LCB0byB+OTUlLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTgt
MDgtMjkgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5h
bWUgd3RmL3RleHQvbWFjL1N0cmluZ01hYy5tbSB0byB3dGYvdGV4dC9jb2NvY2EvU3RyaW5nQ29j
b2NhLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggZjk1MGNhOTU1OWRmMzExOWI5OTg4MDEwODAzZjU0OWRiZWRi
YjU1MS4uODVjYzIxMWY1NjdkZGMzZThiOGI0MzljMmMzOTNlOGQwMWU4YmMwZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDM4IEBACisyMDE4LTA4LTMwICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0
b25AYXBwbGUuY29tPgorCisgICAgICAgIEJ1bmRsZSB1bmlmaWVkIHNvdXJjZXMgbW9yZSB0aWdo
dGx5IGluIHByb2plY3RzIHdpdGggZGVlcCBkaXJlY3Rvcnkgc3RydWN0dXJlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5MDA5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIEZpeCBhIHZhcmlldHkgb2YgdW5p
ZmljYXRpb24gZXJyb3JzIGR1ZSB0byByZXNodWZmbGluZyB0aGUgYnVuZGxlcy4KKworICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29udHJvbGxlci5jcHA6CisgICAgICAgICogU291
cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNEU0EuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtRUNEU0E6OmltcG9ydEtleSk6Cisg
ICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFRyZWVC
dWlsZGVyLmNwcDoKKyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVJl
c291cmNlTG9hZGVyLmg6CisgICAgICAgICogcGFnZS9BbHRlcm5hdGl2ZVRleHRDbGllbnQuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9QYXN0ZWJvYXJkLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuY3BwOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL1dlYkdMTGF5ZXIubW06CisgICAgICAgICgtW1dlYkdMTGF5ZXIgaW5p
dFdpdGhHcmFwaGljc0NvbnRleHQzRDpdKToKKyAgICAgICAgKC1bV2ViR0xMYXllciBjb3B5SW1h
Z2VTbmFwc2hvdFdpdGhDb2xvclNwYWNlOl0pOgorICAgICAgICAoLVtXZWJHTExheWVyIGRpc3Bs
YXldKToKKyAgICAgICAgKC1bV2ViR0xMYXllciBhbGxvY2F0ZUlPU3VyZmFjZUJhY2tpbmdTdG9y
ZVdpdGhTaXplOnVzaW5nQWxwaGE6XSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvV2ViR1BVTGF5ZXIubW06CisgICAgICAgICgtW1dlYkdQVUxheWVyIGluaXRXaXRoR1BVRGV2
aWNlOl0pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1
ZU1ldGFsLm1tOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tOgorICAg
ICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2Nv
YS5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNw
cDoKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zs
b3cuY3BwOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklu
bGluZS5jcHA6CisKIDIwMTgtMDgtMzAgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4K
IAogICAgICAgICBbTEZDXVtGbG9hdGluZ10gQmxvY2sgZm9ybWF0dGluZyBjb250ZXh0IHJvb3Rz
IGF2b2lkIGZsb2F0cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggOGMwNzYyY2E2OTRmOWEwNjU4NWY2NTgwY2M3ODZk
NzMwMDI4NDYwYS4uNTNhNjA2N2I5YmNlMmE0NWZmYzBkYjkzOTg5ODA4ZWRiM2E5Mjc2YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw1MyBAQAorMjAxOC0wOC0zMCAgVGltIEhvcnRvbiAgPHRpbW90aHlf
aG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBCdW5kbGUgdW5pZmllZCBzb3VyY2VzIG1vcmUg
dGlnaHRseSBpbiBwcm9qZWN0cyB3aXRoIGRlZXAgZGlyZWN0b3J5IHN0cnVjdHVyZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTAwOQorCisgICAg
ICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBGaXggYSB2YXJpZXR5IG9m
IHVuaWZpY2F0aW9uIGVycm9ycyBkdWUgdG8gcmVzaHVmZmxpbmcgdGhlIGJ1bmRsZXMuCisKKyAg
ICAgICAgKiBTaGFyZWQvQVBJV2ViQXJjaGl2ZS5tbToKKyAgICAgICAgKiBTaGFyZWQvQVBJV2Vi
QXJjaGl2ZVJlc291cmNlLm1tOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21h
Yy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbToKKyAgICAgICAgKiBTaGFyZWQvUGx1Z2lucy9O
ZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW06CisgICAgICAgICogU291cmNlc0Nv
Y29hLnR4dDoKKyAgICAgICAgKiBTb3VyY2VzR1RLLnR4dDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lmg6CisgICAgICAgIChBUEk6OkF1dG9tYXRp
b25TZXNzaW9uQ2xpZW50OjpzZXNzaW9uSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgIChBUEk6
OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50OjptZXNzYWdlT2ZDdXJyZW50SmF2YVNjcmlwdERpYWxv
Z09uUGFnZSk6CisgICAgICAgIChBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50OjpzZXRVc2Vy
SW5wdXRGb3JDdXJyZW50SmF2YVNjcmlwdFByb21wdE9uUGFnZSk6CisgICAgICAgICogVUlQcm9j
ZXNzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbToKKyAgICAgICAg
KC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBpbml0V2l0aExlZ2FjeUN1c3RvbVByb3RvY29sTWFu
YWdlclByb3h5OmN1c3RvbVByb3RvY29sSUQ6cmVxdWVzdDpdKToKKyAgICAgICAgKC1bV0tDdXN0
b21Qcm90b2NvbExvYWRlciBjb25uZWN0aW9uOmRpZEZhaWxXaXRoRXJyb3I6XSk6CisgICAgICAg
ICgtW1dLQ3VzdG9tUHJvdG9jb2xMb2FkZXIgY29ubmVjdGlvbjpkaWRSZWNlaXZlUmVzcG9uc2U6
XSk6CisgICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6Z2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCk6CisgICAg
ICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YSk6CisgICAg
ICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEpOgorICAg
ICAgICAoV2ViS2l0OjpQbHVnaW5Qcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9ySG9z
dE5hbWVzKToKKyAgICAgICAgKFdlYktpdDo6Z2VuZXJhdGVDYWxsYmFja0lEKTogRGVsZXRlZC4K
KyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tOgorICAgICAgICAoLVtXS1Njcm9sbGluZ05vZGVTY3Jv
bGxWaWV3RGVsZWdhdGUgc2Nyb2xsVmlld1dpbGxFbmREcmFnZ2luZzp3aXRoVmVsb2NpdHk6dGFy
Z2V0Q29udGVudE9mZnNldDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdl
UHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6Z2VuZXJhdGVTdG9yYWdlUHJvY2Vz
c0NhbGxiYWNrSUQpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc1Byb3h5OjpmZXRj
aFdlYnNpdGVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVByb2Nlc3NQcm94eTo6ZGVs
ZXRlV2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc1Byb3h5Ojpk
ZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMpOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZUNh
bGxiYWNrSUQpOiBEZWxldGVkLgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tOgor
ICAgICAgICAoLVtXS1BERlBsdWdpbkFjY2Vzc2liaWxpdHlPYmplY3QgYWNjZXNzaWJpbGl0eVBl
cmZvcm1BY3Rpb246XSk6CisgICAgICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVj
dCBhY2Nlc3NpYmlsaXR5Rm9jdXNlZFVJRWxlbWVudF0pOgorICAgICAgICAoLVtXS1BERlBsdWdp
bkFjY2Vzc2liaWxpdHlPYmplY3QgYWNjZXNzaWJpbGl0eUFzc29jaWF0ZWRDb250cm9sRm9yQW5u
b3RhdGlvbjpdKToKKyAgICAgICAgKC1bV0tQREZQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0IGFj
Y2Vzc2liaWxpdHlIaXRUZXN0Ol0pOgorICAgICAgICAoLVtXS1BERkxheWVyQ29udHJvbGxlckRl
bGVnYXRlIHVwZGF0ZVNjcm9sbFBvc2l0aW9uOl0pOgorICAgICAgICAoV2ViS2l0OjpQREZQbHVn
aW46OnVwZGF0ZUN1cnNvcik6CisgICAgICAgIChXZWJLaXQ6OmNvcmVDdXJzb3IpOgorICAgICAg
ICAoYXBwZW5kVmFsdWVzSW5QREZOYW1lU3VidHJlZVRvVmVjdG9yKTogRGVsZXRlZC4KKyAgICAg
ICAgKGdldEFsbFZhbHVlc0luUERGTmFtZVRyZWUpOiBEZWxldGVkLgorICAgICAgICAoZ2V0QWxs
U2NyaXB0c0luUERGRG9jdW1lbnQpOiBEZWxldGVkLgorCiAyMDE4LTA4LTMwICBPbGl2aWEgQmFy
bmV0dCAgPG9iYXJuZXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgU2hhcmUgQVBJIGNvbXBh
dGlibGUgd2l0aCBBcHBsZVRWIGFuZCBXYXRjaE9TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1Nj
cmlwdHMvZ2VuZXJhdGUtdW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYiBiL1NvdXJjZS9XVEYvU2Ny
aXB0cy9nZW5lcmF0ZS11bmlmaWVkLXNvdXJjZS1idW5kbGVzLnJiCmluZGV4IGMwMTk2NmVlMWIy
YzY3ZDk3NjBmMDNhNWJiY2FhM2NiNTcyNjEyYjMuLjFmYjM2NTY2ZDkyZWRhZDFmNmZhMzRkMTZh
YjQ5NWE1MzQ2ZDU0OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9nZW5lcmF0ZS11
bmlmaWVkLXNvdXJjZS1idW5kbGVzLnJiCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9nZW5lcmF0
ZS11bmlmaWVkLXNvdXJjZS1idW5kbGVzLnJiCkBAIC0yMTAsMTAgKzIxMCwyMCBAQCBjbGFzcyBC
dW5kbGVNYW5hZ2VyCiAgICAgZW5kCiBlbmQKIAorZGVmIFRvcExldmVsRGlyZWN0b3J5Rm9yUGF0
aChwYXRoKQorICAgIGlmICFwYXRoCisgICAgICAgIHJldHVybiBuaWwKKyAgICBlbmQKKyAgICB3
aGlsZSBwYXRoLmRpcm5hbWUgIT0gcGF0aC5kaXJuYW1lLmRpcm5hbWUKKyAgICAgICAgcGF0aCA9
IHBhdGguZGlybmFtZQorICAgIGVuZAorICAgIHJldHVybiBwYXRoCitlbmQKKwogZGVmIFByb2Nl
c3NGaWxlRm9yVW5pZmllZFNvdXJjZUdlbmVyYXRpb24oc291cmNlRmlsZSkKICAgICBwYXRoID0g
c291cmNlRmlsZS5wYXRoCi0gICAgaWYgKCRjdXJyZW50RGlyZWN0b3J5ICE9IHBhdGguZGlybmFt
ZSkKLSAgICAgICAgbG9nKCJGbHVzaGluZyBiZWNhdXNlIG5ldyBkaXJuYW1lOyBvbGQ6ICN7JGN1
cnJlbnREaXJlY3Rvcnl9LCBuZXc6ICN7cGF0aC5kaXJuYW1lfSIpCisgICAgaWYgKFRvcExldmVs
RGlyZWN0b3J5Rm9yUGF0aCgkY3VycmVudERpcmVjdG9yeSkgIT0gVG9wTGV2ZWxEaXJlY3RvcnlG
b3JQYXRoKHBhdGguZGlybmFtZSkpCisgICAgICAgIGxvZygiRmx1c2hpbmcgYmVjYXVzZSBuZXcg
dG9wIGxldmVsIGRpcmVjdG9yeTsgb2xkOiAjeyRjdXJyZW50RGlyZWN0b3J5fSwgbmV3OiAje3Bh
dGguZGlybmFtZX0iKQogICAgICAgICAkYnVuZGxlTWFuYWdlcnMuZWFjaF92YWx1ZSB7IHx4fCB4
LmZsdXNoIH0KICAgICAgICAgJGN1cnJlbnREaXJlY3RvcnkgPSBwYXRoLmRpcm5hbWUKICAgICBl
bmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybS5oCmluZGV4IDBjNmVmYjg2Mjk4MjUzOWQyYjRiMmNjNGY4ZjhiNWZjYjRlYzg4
ZTguLjY3Y2ZhOTMzMTNjOTA0MjFlYjZjZjE3OWQ5OGVmNzAzZGEwZTQ5ZGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0u
aApAQCAtMTMxNCw2ICsxMzE0LDcgQEAKICNpZiBQTEFURk9STShNQUMpCiAjZGVmaW5lIEhBVkVf
VE9VQ0hfQkFSIDEKICNkZWZpbmUgSEFWRV9BRFZBTkNFRF9TUEVMTF9DSEVDS0lORyAxCisjZGVm
aW5lIFVTRV9ESUNUQVRJT05fQUxURVJOQVRJVkVTIDEKIAogI2lmIGRlZmluZWQoX19MUDY0X18p
CiAjZGVmaW5lIEVOQUJMRV9XRUJfUExBWUJBQ0tfQ09OVFJPTFNfTUFOQUdFUiAxCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oIGIvU291cmNlL1dURi93dGYv
dGV4dC9TdHJpbmdCdWZmZXIuaAppbmRleCBmMjkzZDMzM2RiZTNlNDVlNjM3YTE0ODY3MzNkMGEy
ZmQ4YzA4YzBjLi5lMzJjZDI2MGRkOTRkYjE1NTk4NWJmYjQ3NjI5YjhhOTExMzZjMjY5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oCisrKyBiL1NvdXJjZS9X
VEYvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmgKQEAgLTI5LDkgKzI5LDEwIEBACiAjaWZuZGVmIFN0
cmluZ0J1ZmZlcl9oCiAjZGVmaW5lIFN0cmluZ0J1ZmZlcl9oCiAKLSNpbmNsdWRlIDx3dGYvQXNz
ZXJ0aW9ucy5oPgogI2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDx1bmljb2RlL3V0eXBlcy5o
PgorI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVkZSA8d3RmL01hbGxvY1B0ci5o
PgogCiBuYW1lc3BhY2UgV1RGIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9jYWNoZS9Xb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvY2FjaGUvV29ya2VyQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAKaW5kZXggYWQy
MDkzMjE5Zjg4ZTZkYTNlMWQ2MDYyNGU0MWFlOWE0MWRmNDkyNy4uMWViZGQ1ZGU0OGE3ZTdlMWM5
NmEwMWM3OGZlZDdkYTViYzRmYjg4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9jYWNoZS9Xb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCkBAIC0y
OSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJDYWNoZVF1ZXJ5T3B0aW9ucy5oIgogI2luY2x1ZGUg
IkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgiCisjaW5jbHVkZSAiQ2xpZW50T3JpZ2luLmgiCiAjaW5j
bHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiV29ya2VyR2xv
YmFsU2NvcGUuaCIKQEAgLTM2LDcgKzM3LDYgQEAKICNpbmNsdWRlICJXb3JrZXJSdW5Mb29wLmgi
CiAjaW5jbHVkZSAiV29ya2VyVGhyZWFkLmgiCiAKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNwcAppbmRleCA5NjEz
MmU2OTczN2FlOThhNjBmOTU0ZjFmMzExODM4NDEwNzFlMGE5Li5jZGI3NzdlOTk5MjkyMjFjZjBh
OGYwMTE0MmIyZDA3ZWRlOWVmZWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDQ29udHJvbGxlci5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lm
IEVOQUJMRShXRUJfUlRDKQogCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJMaWJX
ZWJSVENQcm92aWRlci5oIgogI2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9uLmgiCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVl
c3RVcGRhdGVFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0
L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuY3BwCmluZGV4IGMyMDUzMzVlYWE4ZTkxOGE2ZDM4
YWU0ZjJmZmM4MWFlZDQ1YTlhMGYuLjk0YjcxYzQ2NjE5MjQxMzVjMjFhZWE2OWQ0ODk5ZDdiMDc1
YTYyYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3Qv
UGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50LmNwcApAQCAtMjgsNiAr
MjgsNyBAQAogCiAjaWYgRU5BQkxFKFBBWU1FTlRfUkVRVUVTVCkKIAorI2luY2x1ZGUgIkV2ZW50
TmFtZXMuaCIKICNpbmNsdWRlICJQYXltZW50UmVxdWVzdC5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAKaW5kZXggYWRi
NzUxZDBjMzljMGE1NmI1ZTRkYzFmNTQyMTBiZGFhNGVkZmY3OC4uYTkzM2Q5ODBmY2Y1YTk5MTc0
YWIwZTBjNDAwMjA5MTZjYmYxYjM2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ2ci9WUkRpc3BsYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIv
VlJEaXNwbGF5LmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkNhbnZhc1JlbmRlcmlu
Z0NvbnRleHQuaCIKICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJET01FeGNlcHRpb24u
aCIKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5j
bHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5oIgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jcnlwdG8vZ2NyeXB0L1V0aWxpdGll
cy5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jcnlwdG8vZ2NyeXB0L1V0aWxpdGllcy5oCmlu
ZGV4IDgyZmUxN2MwM2I0MTE3M2VjMTNkMzBiMmZjMzFmYWMxZDI4YTU4ZGYuLjYyOTJhMGY4MGJi
MGY1ODI2NTMyZmU0MWIzYmFhMDkxYmRlMmM2MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvY3J5cHRvL2djcnlwdC9VdGlsaXRpZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL2NyeXB0by9nY3J5cHQvVXRpbGl0aWVzLmgKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lu
Y2x1ZGUgPGdjcnlwdC5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVkZSA8
d3RmL09wdGlvbmFsLmg+CiAKIG5hbWVzcGFjZSBQQUwgewogbmFtZXNwYWNlIEdDcnlwdCB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYkNv
cmUvU291cmNlc0NvY29hLnR4dAppbmRleCA2NmY3ZjE2YmQ2NGY4MmM0MzJiZWFlZDhlNzBkMWI1
ZmYwNjNhNTE3Li45NTdlNGI1YjY2MWI0MDIwZjBhMjFlZTAwOTVjMDE3NjQ2ZTQ5M2EzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJD
b3JlL1NvdXJjZXNDb2NvYS50eHQKQEAgLTM4OSw3ICszODksNyBAQCBwbGF0Zm9ybS9pb3MvUGxh
dGZvcm1TY3JlZW5JT1MubW0KIHBsYXRmb3JtL2lvcy9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVy
SU9TLm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFW
S2l0Lm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1F1aWNrTG9vay5tbQotcGxhdGZvcm0vaW9z
L1F1aWNrTG9va1NvZnRMaW5rLm1tCitwbGF0Zm9ybS9pb3MvUXVpY2tMb29rU29mdExpbmsubW0g
QG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLm1tCiBwbGF0
Zm9ybS9pb3MvU2Nyb2xsQW5pbWF0b3JJT1MubW0KIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVt
ZUlPUy5tbQpAQCAtMzk5LDcgKzM5OSw3IEBAIHBsYXRmb3JtL2lvcy9TU0xLZXlHZW5lcmF0b3JJ
T1MuY3BwCiBwbGF0Zm9ybS9pb3MvU3lzdGVtTWVtb3J5SU9TLmNwcAogcGxhdGZvcm0vaW9zL1Ro
ZW1lSU9TLm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1RpbGVDb250cm9sbGVyTWVtb3J5SGFu
ZGxlcklPUy5jcHAKLXBsYXRmb3JtL2lvcy9Vc2VyQWdlbnRJT1MubW0KK3BsYXRmb3JtL2lvcy9V
c2VyQWdlbnRJT1MubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvVmFsaWRhdGlvbkJ1YmJsZUlP
Uy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dC5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIubW0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0IGIvU291cmNlL1dlYkNvcmUv
U291cmNlc0dUSy50eHQKaW5kZXggNDYyNmI2ZmNiZTU0YTQ5NWVkMTBjNmJiODI0NDlhMDQ5NzYy
Mjc3My4uZTYxNmYyN2U1YmVlMDkwZmI0YzdjNWM1MTJlNWI2NmEyMmM3N2Y1MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvU291cmNlc0dUSy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291
cmNlc0dUSy50eHQKQEAgLTYxLDE0ICs2MSwxNCBAQCBwbGF0Zm9ybS9Vc2VyQWdlbnRRdWlya3Mu
Y3BwCiAKIHBsYXRmb3JtL2dlb2NsdWUvR2VvbG9jYXRpb25Qcm92aWRlckdlb2NsdWUuY3BwCiAK
LXBsYXRmb3JtL2dyYXBoaWNzL0dMQ29udGV4dC5jcHAKK3BsYXRmb3JtL2dyYXBoaWNzL0dMQ29u
dGV4dC5jcHAgQG5vLXVuaWZ5CiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRFBy
aXZhdGUuY3BwCiAKLXBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRD
YWlyb1gxMS5jcHAKK3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRD
YWlyb1gxMS5jcHAgQG5vLXVuaWZ5CiAKIHBsYXRmb3JtL2dyYXBoaWNzL2VnbC9HTENvbnRleHRF
R0wuY3BwCiBwbGF0Zm9ybS9ncmFwaGljcy9lZ2wvR0xDb250ZXh0RUdMV2F5bGFuZC5jcHAgQG5v
LXVuaWZ5Ci1wbGF0Zm9ybS9ncmFwaGljcy9lZ2wvR0xDb250ZXh0RUdMWDExLmNwcAorcGxhdGZv
cm0vZ3JhcGhpY3MvZWdsL0dMQ29udGV4dEVHTFgxMS5jcHAgQG5vLXVuaWZ5CiAKIHBsYXRmb3Jt
L2dyYXBoaWNzL2dseC9HTENvbnRleHRHTFguY3BwCiAKQEAgLTgyLDkgKzgyLDkgQEAgcGxhdGZv
cm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVWZXJ0aWNhbERhdGEuY3BwCiAKIHBsYXRmb3Jt
L2dyYXBoaWNzL3dheWxhbmQvUGxhdGZvcm1EaXNwbGF5V2F5bGFuZC5jcHAKIAotcGxhdGZvcm0v
Z3JhcGhpY3MveDExL1BsYXRmb3JtRGlzcGxheVgxMS5jcHAKLXBsYXRmb3JtL2dyYXBoaWNzL3gx
MS9YRXJyb3JUcmFwcGVyLmNwcAotcGxhdGZvcm0vZ3JhcGhpY3MveDExL1hVbmlxdWVSZXNvdXJj
ZS5jcHAKK3BsYXRmb3JtL2dyYXBoaWNzL3gxMS9QbGF0Zm9ybURpc3BsYXlYMTEuY3BwIEBuby11
bmlmeQorcGxhdGZvcm0vZ3JhcGhpY3MveDExL1hFcnJvclRyYXBwZXIuY3BwIEBuby11bmlmeQor
cGxhdGZvcm0vZ3JhcGhpY3MveDExL1hVbmlxdWVSZXNvdXJjZS5jcHAgQG5vLXVuaWZ5CiAKIHBs
YXRmb3JtL2d0ay9EcmFnRGF0YUd0ay5jcHAKIHBsYXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdz
R3RrLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDIwZTI4OTI2NjNhMWI3YzNjNmUxZDRkYzBmMGFkOGE4YjgwMzFiM2EuLjIw
NDU2N2IwZTNkODRiNzljODFmNWM3Yzc2ZjgwNzIwNWIyYzIzZTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTgwNCw2ICs4MDQs
OCBAQAogCQkyRDhCOTJGRjIwM0QxM0UxMDA5Qzg2OEYgLyogVW5pZmllZFNvdXJjZTUzMC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBERTVGODVEMzFG
QTIzODU5MDA2REI2M0IgLyogVW5pZmllZFNvdXJjZTUzMC5jcHAgKi87IH07CiAJCTJEOEZFQkRE
MTQzRTNFRjcwMDcyNTAyQiAvKiBDU1NDcm9zc2ZhZGVWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ4RkVCREIxNDNFM0VGNzAwNzI1MDJCIC8q
IENTU0Nyb3NzZmFkZVZhbHVlLmggKi87IH07CiAJCTJEOTA2NjA3MEJFMTQxRDQwMDk1Njk5OCAv
KiBMYXlvdXRTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMkQ5MDY2MDUwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMkQ5MkE3OUEyMTM0QUQ3
OTAwRjQ5M0ZEIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzOTE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNr
TG9va1NvZnRMaW5rLm1tICovOyB9OworCQkyRDkyQTc5RDIxMzRBRjk1MDBGNDkzRkQgLyogVXNl
ckFnZW50SU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTNBRjlEODMyMDMyNTY5MTAwNkNBRDA2IC8qIFVzZXJBZ2VudElPUy5tbSAqLzsgfTsKIAkJ
MkQ5M0FFRTMxOURGNTY0MTAwMkE4NkMzIC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOTNBRUUxMTlE
RjU2NDEwMDJBODZDMyAvKiBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmggKi87IH07CiAJCTJE
OTdGMDQ3MTlERDQxM0MwMDFFRTlDMyAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRBQUUzMkMxOURDQUY2
MDAwRTAwMkQyIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5jcHAgKi87IH07CiAJCTJEOTdGMDQ4
MTlERDQxNDAwMDFFRTlDMyAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQUFFMzJEMTlEQ0FGNjAwMEUwMDJE
MiAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuaCAqLzsgfTsKQEAgLTcwNjYsNyArNzA2OCw3IEBA
CiAJCTMzOUI1QjYyMTMxREFBMzIwMEY0OEQwMiAvKiBDb29raWVzU3RyYXRlZ3kuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29va2llc1N0cmF0ZWd5Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTM2NjJGOTg0MDQ3Q0VEQkU1REREQUZBQSAvKiBSZW5kZXJNYXRo
TUxNZW5jbG9zZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5k
ZXJNYXRoTUxNZW5jbG9zZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3MTE5
QTc5MjBDQ0I2MTAwMDJDNkRDOSAvKiBXZWJLaXRUYXJnZXRDb25kaXRpb25hbHMueGNjb25maWcg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lnhj
Y29uZmlnOyBwYXRoID0gV2ViS2l0VGFyZ2V0Q29uZGl0aW9uYWxzLnhjY29uZmlnOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQkzNzE3RDdFNTE3RUNDM0E2MDAzQzI3NkQgLyogZXh0cmFj
dC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucGVybDsgbmFtZSA9IGV4dHJhY3QtbG9jYWxp
emFibGUtc3RyaW5ncy5wbDsgcGF0aCA9ICJTY3JpcHRzL2V4dHJhY3QtbG9jYWxpemFibGUtc3Ry
aW5ncy5wbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTM3MTdEN0U1MTdFQ0MzQTYw
MDNDMjc2RCAvKiBleHRyYWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5wZXJsOyBuYW1l
ID0gImV4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCI7IHBhdGggPSAiU2NyaXB0cy9leHRy
YWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkzNzFBNjdDQTExQzZDN0RCMDAwNDdCOEIgLyogSHlwaGVuYXRpb25DRi5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIeXBoZW5hdGlvbkNGLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzcxRTY1Q0IxMzY2MUVEQzAwQkVFREIwIC8qIFBhZ2VTZXJp
YWxpemVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhZ2VTZXJpYWxpemVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3MUU2NUNEMTM2NjFFRUQwMEJFRURC
MCAvKiBQYWdlU2VyaWFsaXplci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBQYWdlU2VyaWFsaXplci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0x
MzM1Miw4ICsxMzM1NCw4IEBACiAJCUNERTU5NTlDMUJGMjc1NzEwMEExQ0JFOCAvKiBDRE1TZXNz
aW9uTWVkaWFTb3VyY2VBVkZPYmpDLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gQ0RNU2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQy5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0RFNjU2MEUxN0NBNkU3NjAwNTI2QkE3IC8qIG1lZGlhQ29udHJvbHNB
cHBsZS5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9IG1lZGlhQ29udHJvbHNBcHBsZS5qczsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFNjY3QTExRTRCQkE0RDAwRTgxNTRBIC8qIFBs
YXRmb3JtQXVkaW9EYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRm
b3JtQXVkaW9EYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNERTY2N0EyMUU0
QkJGMTUwMEU4MTU0QSAvKiBXZWJBdWRpb0J1ZmZlckxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gY29jb2EvV2ViQXVkaW9CdWZmZXJMaXN0LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQ0RFNjY3QTMxRTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1
ZGlvQnVmZmVyTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBjb2NvYS9X
ZWJBdWRpb0J1ZmZlckxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0RFNjY3
QTIxRTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJBdWRpb0J1ZmZlckxpc3QuY3BwOyBwYXRoID0g
Y29jb2EvV2ViQXVkaW9CdWZmZXJMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQ0RFNjY3QTMxRTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJBdWRpb0J1ZmZlckxpc3QuaDsgcGF0aCA9
IGNvY29hL1dlYkF1ZGlvQnVmZmVyTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlDREU3RkM0MjE4MTkwNEIxMDAyQkJCNzcgLyogT3JkZXJJdGVyYXRvci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBPcmRlckl0ZXJhdG9yLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFN0ZDNDMxODE5MDRCMTAwMkJCQjc3IC8qIE9yZGVySXRl
cmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT3JkZXJJdGVyYXRvci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU4M0RBRjE4M0M0NDA2MDAzMUVBQTMg
LyogVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMzE0MzIsNiArMzE0MzQsNyBAQAogCQkJCUFBMTJERjQ5MTc0M0RGODMwMDREQUZE
RiAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVySU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
Q0RBMjlBMzAxQ0JGNzRENDAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RBMjlBMTYxQ0JEQTU2QzAwOTAxQ0NGIC8qIFBsYXli
YWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJBNzlBMjEz
NEFENzkwMEY0OTNGRCAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTQxOTI0MjQ5MjEyN0I5M0UwMDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VD
b2NvYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTMxNkRDQjhBMUU3QTY5OTYwMDFCNUY4NyAvKiBS
VENJY2VUcmFuc3BvcnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1MTE1NkUxMkIxNzQ5QzAw
Qzk2NzU0IC8qIFNjcm9sbEFuaW1hdG9yTWFjLm1tIGluIFNvdXJjZXMgKi8sCkBAIC0zMjA0Niw2
ICszMjA0OSw3IEBACiAJCQkJMkQ4QjkyRkQyMDNEMTNFMTAwOUM4NjhGIC8qIFVuaWZpZWRTb3Vy
Y2U1MjguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ4QjkyRkUyMDNEMTNFMTAwOUM4NjhGIC8q
IFVuaWZpZWRTb3VyY2U1MjkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ4QjkyRkYyMDNEMTNF
MTAwOUM4NjhGIC8qIFVuaWZpZWRTb3VyY2U1MzAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5
MkE3OUQyMTM0QUY5NTAwRjQ5M0ZEIC8qIFVzZXJBZ2VudElPUy5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTUzMjA0MjAyMUY5QTlGMTAwMEI4MUIyQSAvKiBVc2VyQWdlbnRTY3JpcHRzRGF0YS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk3QzNCNzk3MTE5MDg3NTdCMDBCNDdBMkQgLyogVXNlck1lc3Nh
Z2VIYW5kbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDRTY4MzQ0MTkyMTQzQTgwMEY0RDky
OCAvKiBVc2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9yLmNwcCBpbiBTb3VyY2VzICovLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGht
RUNEU0EuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3Jp
dGhtRUNEU0EuY3BwCmluZGV4IDk3MzE3ZTA0YTk3OTdmMTU2MTZkZTRjNzYwOGI3NDVkOWZkZWRl
ZjcuLjFiNTNjNDUzYjM1MjUzNmI0ODEyZWRkMmFhNjRkOTFlOTVkZjg1NGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUVDRFNBLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1F
Q0RTQS5jcHAKQEAgLTM2LDEyICszNiwxNCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK25h
bWVzcGFjZSBDcnlwdG9BbGdvcml0aG1FQ0RTQUludGVybmFsIHsKIHN0YXRpYyBjb25zdCBjaGFy
KiBjb25zdCBBTEcyNTYgPSAiRVMyNTYiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzM4
NCA9ICJFUzM4NCI7CiBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHNTEyID0gIkVTNTEyIjsK
IHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBQMjU2ID0gIlAtMjU2IjsKIHN0YXRpYyBjb25zdCBj
aGFyKiBjb25zdCBQMzg0ID0gIlAtMzg0IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBQNTIx
ID0gIlAtNTIxIjsKK30KIAogUmVmPENyeXB0b0FsZ29yaXRobT4gQ3J5cHRvQWxnb3JpdGhtRUNE
U0E6OmNyZWF0ZSgpCiB7CkBAIC0xMDIsNiArMTA0LDcgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1F
Q0RTQTo6Z2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyYgcGFyYW1l
dGUKIAogdm9pZCBDcnlwdG9BbGdvcml0aG1FQ0RTQTo6aW1wb3J0S2V5KENyeXB0b0tleUZvcm1h
dCBmb3JtYXQsIEtleURhdGEmJiBkYXRhLCBjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJz
JiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2Fn
ZXMsIEtleUNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9u
Q2FsbGJhY2spCiB7CisgICAgdXNpbmcgbmFtZXNwYWNlIENyeXB0b0FsZ29yaXRobUVDRFNBSW50
ZXJuYWw7CiAgICAgY29uc3QgYXV0byYgZWNQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxn
b3JpdGhtRWNLZXlQYXJhbXM+KHBhcmFtZXRlcnMpOwogCiAgICAgUmVmUHRyPENyeXB0b0tleUVD
PiByZXN1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ2NyeXB0L0dDcnlw
dFV0aWxpdGllcy5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2djcnlwdC9HQ3J5cHRVdGlsaXRp
ZXMuaAppbmRleCBmMGE0MTM0NTZhOTQ0NTk5NThmOWE3ZjAyNTQ1MzQ0YjVmYjZjM2U1Li4zNmY0
OGQwNGQ3ODJkNTIzOTlkZDc3YzRiYzNkNzgyOGQ3OTVhOWYxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jcnlwdG8vZ2NyeXB0L0dDcnlwdFV0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9nY3J5cHQvR0NyeXB0VXRpbGl0aWVzLmgKQEAgLTM0LDYgKzM0LDcgQEAKICNp
bmNsdWRlIDxwYWwvY3J5cHRvL0NyeXB0b0RpZ2VzdC5oPgogI2luY2x1ZGUgPHBhbC9jcnlwdG8v
Z2NyeXB0L0hhbmRsZS5oPgogI2luY2x1ZGUgPHBhbC9jcnlwdG8vZ2NyeXB0L1V0aWxpdGllcy5o
PgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgKaW5kZXggOWUzYzMxODUzZjEyM2VjOWJlYTNmNjkwYjg1ZTE3YmFkMDc2
NzVkNS4uZDM5OTM4NjYwOTk4ODYyZTc4ZGMwZTdiZDI1ODcxYTUwYjZhZjFhMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgKQEAgLTY0MSw3ICs2NDEsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgV0VCQ09S
RV9FWFBPUlQgRG9jdW1lbnRMb2FkZXIqIGxvYWRlcigpIGNvbnN0OwogCi0gICAgV0VCQ09SRV9F
WFBPUlQgRXhjZXB0aW9uT3I8UmVmUHRyPFdpbmRvd1Byb3h5Pj4gb3BlbkZvckJpbmRpbmdzKERP
TVdpbmRvdyYgYWN0aXZlV2luZG93LCBET01XaW5kb3cmIGZpcnN0V2luZG93LCBjb25zdCBTdHJp
bmcmIHVybCwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGZlYXR1cmVz
KTsKKyAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRpb25PcjxSZWZQdHI8V2luZG93UHJveHk+PiBv
cGVuRm9yQmluZGluZ3MoRE9NV2luZG93JiBhY3RpdmVXaW5kb3csIERPTVdpbmRvdyYgZmlyc3RE
T01XaW5kb3csIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIGNv
bnN0IFN0cmluZyYgZmVhdHVyZXMpOwogICAgIFdFQkNPUkVfRVhQT1JUIEV4Y2VwdGlvbk9yPERv
Y3VtZW50Jj4gb3BlbkZvckJpbmRpbmdzKERvY3VtZW50KiByZXNwb25zaWJsZURvY3VtZW50LCBj
b25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgcmVwbGFjZSk7CiAKICAgICAvLyBGSVhN
RTogV2Ugc2hvdWxkIHJlbmFtZSB0aGlzIGF0IHNvbWUgcG9pbnQgYW5kIGdpdmUgYmFjayB0aGUg
bmFtZSAnb3BlbicgdG8gdGhlIEhUTUwgc3BlY2lmaWVkIG9uZXMuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAppbmRleCBlNDBmOWE4ODZmMTU5MDRl
NjJmMGYyNjg4YTg2OWE2OTg4OWI0YTg5Li5jNzMxOTIyYWY4Mjk4M2I5ZGFhNmJjN2ZlNTIyNzg2
MzczMTY4M2ZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJl
ZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVp
bGRlci5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJIVE1MRG9jdW1lbnRQYXJzZXIu
aCIKICNpbmNsdWRlICJIVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEZv
cm1FbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhU
TUxPcHRHcm91cEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MT3B0aW9uRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaApp
bmRleCA3MmIyOTc1NWYxMWQ5NDA5NWZhN2VkZDUzMDk2OGY3YzU3YjU3YmViLi42ZDlhMmRhOWJl
MDMyMDA3YTgyZWRhNjhjMTZmZDJmMjhiMWMxMjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxv
YWRlci5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiQXBw
bGljYXRpb25DYWNoZVJlc291cmNlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmF3UmVzb3VyY2UuaCIK
ICNpbmNsdWRlICJDYWNoZWRSYXdSZXNvdXJjZUNsaWVudC5oIgogI2luY2x1ZGUgIkNhY2hlZFJl
c291cmNlSGFuZGxlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0FsdGVybmF0
aXZlVGV4dENsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9BbHRlcm5hdGl2ZVRleHRDbGll
bnQuaAppbmRleCA5MzU1OTM3ODhmOTg5OWM5ZTIyNTEwODhiNGU3NmQwMDVkM2QyZjk4Li4xNDNk
YTZjNDdmNGJjZWZjMGE0MWFhODc2NDY3ZDA0NDcxNWJhNzBhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0FsdGVybmF0aXZlVGV4dENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmgKQEAgLTI5LDExICsyOSw2IEBACiAjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCi0jaWYg
UExBVEZPUk0oTUFDKQotLy8gU29tZSBwbGF0Zm9ybXMgcHJvdmlkZSBVSSBmb3Igc3VnZ2VzdGlu
ZyBhbHRlcm5hdGl2ZSBkaWN0YXRpb24gdGV4dC4KLSNkZWZpbmUgVVNFX0RJQ1RBVElPTl9BTFRF
Uk5BVElWRVMgMQotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBSZWFzb25G
b3JEaXNtaXNzaW5nQWx0ZXJuYXRpdmVUZXh0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Bhc3RlYm9hcmQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9h
cmQuaAppbmRleCBkNTQzM2RkOTIwYWUwZWU1OTJiZDQ1ZmQ1NjBjZGQzZTM4YTM0NzIxLi5lMDk4
MTU2NTFiZDJkNjA1NzRkYTQyMzZjMzgwZmFkNGQ2MDIxNWE5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vUGFzdGVib2FyZC5oCkBAIC0zMzgsNiArMzM4LDcgQEAgZXh0ZXJuIE5TU3RyaW5nICpVSUNv
bG9yUGJvYXJkVHlwZTsKICNpZiBQTEFURk9STShNQUMpCiBleHRlcm4gY29uc3QgY2hhciogY29u
c3QgV2ViQXJjaGl2ZVBib2FyZFR5cGU7CiBleHRlcm4gY29uc3QgY2hhciogY29uc3QgV2ViVVJM
TmFtZVBib2FyZFR5cGU7CitleHRlcm4gY29uc3QgY2hhciogY29uc3QgV2ViVVJMc1dpdGhUaXRs
ZXNQYm9hcmRUeXBlOwogI2VuZGlmCiAKICNpZiAhUExBVEZPUk0oR1RLKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2Vzc2lvbk1hYy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TZXNzaW9uTWFjLmNwcAppbmRl
eCA3OWFiOWY0MWJlNWNlNmRlODRjODhlM2E2OTE4MTBkMGY0OWE0MzkxLi5lOTE4MDk4OGQ2OWM5
NjUwOGRjMTIxYTE3MGU3MTJhZWFhY2NmZTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TZXNzaW9uTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TZXNzaW9uTWFjLmNwcApAQCAtMzMsNiArMzMsNyBA
QAogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSA8Q29yZUF1ZGlvL0F1ZGlv
SGFyZHdhcmUuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgorI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3Iu
Y3BwCmluZGV4IDk2OGJiMjI4NmExZjdlNTg0NjRlZjg4ZDc5ZTYxZWY0MjQ5MDE1NWYuLjNlMmM4
MmI4YjEyZWRhMDlkYjQzZjRjMTMwMTRjNWJiYWMwYjcwMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNw
cApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9yQ2xp
ZW50LmgiCiAjaW5jbHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlci5oIgorI2luY2x1
ZGUgIkxvZ2dpbmcuaCIKIAogI2lmIFBMQVRGT1JNKElPUykKICNpbmNsdWRlICJEaXNwbGF5UmVm
cmVzaE1vbml0b3JJT1MuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuY3BwCmluZGV4IDIx
NzY5MWY3MjM5NzRlODAwNTc5YjI4Y2MwNTZhN2I5YzA4NWM2NGQuLjE1YzAzODc2OTgyNjBmNDA1
ZTIyZTViZjUyNzgwMDMwOGM3ZmUzYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseVNwZWNpZmljYXRpb25OdWxsLmNw
cApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVs
bC5oIgogCiAjaW5jbHVkZSAiRm9udFNlbGVjdG9yLmgiCisjaW5jbHVkZSA8d3RmL3RleHQvQXRv
bWljU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRHZW5lcmljRmFtaWxpZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRHZW5lcmljRmFtaWxpZXMuaAppbmRl
eCBmNzYyYmFlMmZmOTQxZTc1YTMyYjQ5ZjUzNDFjMjc4ZjAwY2E3N2VhLi40MmY0MmIyZTVjZDEx
MjA0ZjhjNmMxNTQyNjdlNGI4Y2UyNGM1YjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250R2VuZXJpY0ZhbWlsaWVzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEdlbmVyaWNGYW1pbGllcy5oCkBAIC0yOSw2ICsyOSw3
IEBACiAjaW5jbHVkZSA8dW5pY29kZS91c2NyaXB0Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4
dC9BdG9taWNTdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFRhZ2dlZFNldHRpbmdzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRUYWdnZWRTZXR0aW5ncy5j
cHAKaW5kZXggNjFiMmViZWY2YzQ3NTAxMTMzMjFiZjE2YmE5Y2VlZTMwYzNmMjRlMC4uYjBjYTQz
ZDU1YzQ1Y2I1MGQ3MzBmODkyZTE3ZDgwODY5Y2NkNDk2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFRhZ2dlZFNldHRpbmdzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250VGFnZ2VkU2V0dGluZ3MuY3BwCkBAIC0y
Nyw5ICsyNyw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRm9udFRhZ2dlZFNl
dHRpbmdzLmgiCiAKLSNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0U3RyZWFtLmg+Ci0KICNpbmNsdWRl
IDx3dGYvdGV4dC9BdG9taWNTdHJpbmdIYXNoLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvVGV4dFN0
cmVhbS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDYWlyby5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q2Fpcm8uY3BwCmluZGV4IDA2ZDlkNzQ5NGE0
YmVhYThlM2E5Y2U3YWZlNmRhYjM1YjFjMmRiNzguLjI4NmJjNmQ4ZTNjMjY1MzA0NmM2M2I1MmIz
NmQwOTAzMWYyMDhkOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhaXJvL0ZvbnRDYWlyby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2Fpcm8vRm9udENhaXJvLmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2lmIFVTRShDQUlS
TykKIAogI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgorI2luY2x1ZGUgIkNhaXJvT3BlcmF0
aW9ucy5oIgogI2luY2x1ZGUgIkNhaXJvVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiRm9udC5oIgog
I2luY2x1ZGUgIkdseXBoQnVmZmVyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHTExheWVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5tbQppbmRleCAzZWQ3ZTQxZTdjNjg4NDZmM2Zi
YzE3MmNlNmJhOTg5ZmY4N2Y1N2ViLi44ZWUzNDhkODk5ODYzNDEzZDZiNjcxMzc2ZTViMWRhNTRj
YjEzNzYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9XZWJHTExheWVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL1dlYkdMTGF5ZXIubW0KQEAgLTQyLDEzICs0MiwxMSBAQAogI2ltcG9ydCA8T3BlbkdML2ds
Lmg+CiAjZW5kaWYKIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIEBpbXBsZW1lbnRhdGlv
biBXZWJHTExheWVyCiAKIEBzeW50aGVzaXplIGNvbnRleHQ9X2NvbnRleHQ7CiAKLS0oaWQpaW5p
dFdpdGhHcmFwaGljc0NvbnRleHQzRDooR3JhcGhpY3NDb250ZXh0M0QqKWNvbnRleHQKKy0oaWQp
aW5pdFdpdGhHcmFwaGljc0NvbnRleHQzRDooV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0QqKWNv
bnRleHQKIHsKICAgICBfY29udGV4dCA9IGNvbnRleHQ7CiAgICAgc2VsZiA9IFtzdXBlciBpbml0
XTsKQEAgLTg2LDcgKzg0LDcgQEAgc3RhdGljIHZvaWQgZnJlZURhdGEodm9pZCAqLCBjb25zdCB2
b2lkICpkYXRhLCBzaXplX3QgLyogc2l6ZSAqLykKIH0KICNlbmRpZgogCi0tKENHSW1hZ2VSZWYp
Y29weUltYWdlU25hcHNob3RXaXRoQ29sb3JTcGFjZTooQ0dDb2xvclNwYWNlUmVmKWNvbG9yU3Bh
Y2UKKy0gKENHSW1hZ2VSZWYpY29weUltYWdlU25hcHNob3RXaXRoQ29sb3JTcGFjZTooQ0dDb2xv
clNwYWNlUmVmKWNvbG9yU3BhY2UKIHsKICAgICBpZiAoIV9jb250ZXh0KQogICAgICAgICByZXR1
cm4gbnVsbHB0cjsKQEAgLTk2LDcgKzk0LDcgQEAgLShDR0ltYWdlUmVmKWNvcHlJbWFnZVNuYXBz
aG90V2l0aENvbG9yU3BhY2U6KENHQ29sb3JTcGFjZVJlZiljb2xvclNwYWNlCiAKICAgICBSZXRh
aW5QdHI8Q0dDb2xvclNwYWNlUmVmPiBpbWFnZUNvbG9yU3BhY2UgPSBjb2xvclNwYWNlOwogICAg
IGlmICghaW1hZ2VDb2xvclNwYWNlKQotICAgICAgICBpbWFnZUNvbG9yU3BhY2UgPSBzUkdCQ29s
b3JTcGFjZVJlZigpOworICAgICAgICBpbWFnZUNvbG9yU3BhY2UgPSBXZWJDb3JlOjpzUkdCQ29s
b3JTcGFjZVJlZigpOwogCiAgICAgQ0dSZWN0IGxheWVyQm91bmRzID0gQ0dSZWN0SW50ZWdyYWwo
W3NlbGYgYm91bmRzXSk7CiAKQEAgLTE0MSwxOSArMTM5LDE5IEBAIC0gKHZvaWQpZGlzcGxheQog
I2VuZGlmCiAKICAgICBfY29udGV4dC0+bWFya0xheWVyQ29tcG9zaXRlZCgpOwotICAgIFBsYXRm
b3JtQ0FMYXllciogbGF5ZXIgPSBQbGF0Zm9ybUNBTGF5ZXI6OnBsYXRmb3JtQ0FMYXllcigoX19i
cmlkZ2Ugdm9pZCopc2VsZik7CisgICAgV2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyKiBsYXllciA9
IFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXllcjo6cGxhdGZvcm1DQUxheWVyKChfX2JyaWRnZSB2b2lk
KilzZWxmKTsKICAgICBpZiAobGF5ZXIgJiYgbGF5ZXItPm93bmVyKCkpCiAgICAgICAgIGxheWVy
LT5vd25lcigpLT5wbGF0Zm9ybUNBTGF5ZXJMYXllckRpZERpc3BsYXkobGF5ZXIpOwogfQogCiAj
aWYgVVNFKE9QRU5HTCkKLS0gKHZvaWQpYWxsb2NhdGVJT1N1cmZhY2VCYWNraW5nU3RvcmVXaXRo
U2l6ZTooSW50U2l6ZSlzaXplIHVzaW5nQWxwaGE6KEJPT0wpdXNpbmdBbHBoYQorLSAodm9pZClh
bGxvY2F0ZUlPU3VyZmFjZUJhY2tpbmdTdG9yZVdpdGhTaXplOihXZWJDb3JlOjpJbnRTaXplKXNp
emUgdXNpbmdBbHBoYTooQk9PTCl1c2luZ0FscGhhCiB7CiAgICAgX2J1ZmZlclNpemUgPSBzaXpl
OwogICAgIF91c2luZ0FscGhhID0gdXNpbmdBbHBoYTsKLSAgICBfY29udGVudHNCdWZmZXIgPSBX
ZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShzaXplLCBzUkdCQ29sb3JTcGFjZVJlZigpKTsKLSAg
ICBfZHJhd2luZ0J1ZmZlciA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUsIHNSR0JD
b2xvclNwYWNlUmVmKCkpOwotICAgIF9zcGFyZUJ1ZmZlciA9IFdlYkNvcmU6OklPU3VyZmFjZTo6
Y3JlYXRlKHNpemUsIHNSR0JDb2xvclNwYWNlUmVmKCkpOworICAgIF9jb250ZW50c0J1ZmZlciA9
IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUsIFdlYkNvcmU6OnNSR0JDb2xvclNwYWNl
UmVmKCkpOworICAgIF9kcmF3aW5nQnVmZmVyID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVhdGUo
c2l6ZSwgV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYoKSk7CisgICAgX3NwYXJlQnVmZmVyID0g
V2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVhdGUoc2l6ZSwgV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VS
ZWYoKSk7CiAKICAgICBBU1NFUlQoX2NvbnRlbnRzQnVmZmVyKTsKICAgICBBU1NFUlQoX2RyYXdp
bmdCdWZmZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvV2ViR1BVTGF5ZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJHUFVMYXllci5tbQppbmRleCA1YzM1NTdmOGJkNjZhNjhjOTIzYjIzYWE2NDdiYjcx
NDg0MDllOWExLi4yNWVmYjhiNzQ3NjgwMjQ1NThkYmNkZjMwZjc0MzE4NzE0Njk1NWE4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXll
ci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVM
YXllci5tbQpAQCAtMzQsMTMgKzM0LDExIEBACiAjaW1wb3J0IDx3dGYvRmFzdE1hbGxvYy5oPgog
I2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQog
QGltcGxlbWVudGF0aW9uIFdlYkdQVUxheWVyCiAKIEBzeW50aGVzaXplIGNvbnRleHQ9X2NvbnRl
eHQ7CiAKLS0gKGlkKWluaXRXaXRoR1BVRGV2aWNlOihHUFVEZXZpY2UqKWNvbnRleHQKKy0gKGlk
KWluaXRXaXRoR1BVRGV2aWNlOihXZWJDb3JlOjpHUFVEZXZpY2UqKWNvbnRleHQKIHsKICAgICBz
ZWxmID0gW3N1cGVyIGluaXRdOwogICAgIF9jb250ZXh0ID0gY29udGV4dDsKQEAgLTUwLDcgKzQ4
LDcgQEAgLSAoaWQpaW5pdFdpdGhHUFVEZXZpY2U6KEdQVURldmljZSopY29udGV4dAogCiAjaWYg
UExBVEZPUk0oTUFDKQogICAgIHNlbGYuY29udGVudHNTY2FsZSA9IF9kZXZpY2VQaXhlbFJhdGlv
OwotICAgIHNlbGYuY29sb3JzcGFjZSA9IHNSR0JDb2xvclNwYWNlUmVmKCk7CisgICAgc2VsZi5j
b2xvcnNwYWNlID0gV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYoKTsKICNlbmRpZgogICAgIHJl
dHVybiBzZWxmOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWV0YWwvR1BVQ29tbWFuZFF1ZXVlTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbQppbmRleCA4MjBhZjhiYzE2
ZGIzYjQ4NjVlNzliN2I4MjRkYjJjN2I0ZGYzZWNjLi4zMDNiMjVkYTNkNGE2NGVkMWIwMDMwYjcy
YjlmZGJjNmY5NjVjMzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbQpAQCAtMzEsNiAr
MzEsNyBAQAogI2ltcG9ydCAiR1BVRGV2aWNlLmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1w
b3J0IDxNZXRhbC9NZXRhbC5oPgorI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1Bhc3RlYm9hcmRNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVi
b2FyZE1hYy5tbQppbmRleCBjYjUwNGNmNTQzZWI3ZTgwZDc2NjVjZDFlNTdlMzA4OWFmZmIxYTcw
Li5mZDZlOTI5ODc3NGZhZjRmZTg3MzViZjI3NTY1YWRjOTUzMmJmNjM2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQpAQCAtNTIsMTAgKzUyLDEwIEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY29uc3QgY2hhciogY29uc3QgV2ViQXJjaGl2ZVBib2Fy
ZFR5cGUgPSAiQXBwbGUgV2ViIEFyY2hpdmUgcGFzdGVib2FyZCB0eXBlIjsKIGNvbnN0IGNoYXIq
IGNvbnN0IFdlYlVSTE5hbWVQYm9hcmRUeXBlID0gInB1YmxpYy51cmwtbmFtZSI7Citjb25zdCBj
aGFyKiBjb25zdCBXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGUgPSAiV2ViVVJMc1dpdGhUaXRs
ZXNQYm9hcmRUeXBlIjsKIAogY29uc3QgY2hhciBXZWJTbWFydFBhc3RlUGJvYXJkVHlwZVtdID0g
Ik5lWFQgc21hcnQgcGFzdGUgcGFzdGVib2FyZCB0eXBlIjsKIGNvbnN0IGNoYXIgV2ViVVJMUGJv
YXJkVHlwZVtdID0gInB1YmxpYy51cmwiOwotY29uc3QgY2hhciBXZWJVUkxzV2l0aFRpdGxlc1Bi
b2FyZFR5cGVbXSA9ICJXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGUiOwogCiBzdGF0aWMgY29u
c3QgVmVjdG9yPFN0cmluZz4gd3JpdGFibGVUeXBlc0ZvclVSTCgpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5h
Z2VyQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rp
c3BsYXlDYXB0dXJlTWFuYWdlckNvY29hLmNwcAppbmRleCA1YzJhOWQyNDE5OGExM2U0OGM0Zjcz
ZTlkZTYxZGQzN2FkZTkyNTUxLi5mNDkyZTYxNDJmMDIzMWI5OTdlOTZiYTU5Mjc5NTg4NTY4MDkz
M2FjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
RGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAKQEAgLTI4
LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKKyNpbmNsdWRlICJDb3Jl
VmlkZW9Tb2Z0TGluay5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlIDx3dGYvQWxn
b3JpdGhtcy5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlLmNw
cAppbmRleCBlYzQ0MWVmZDc1ZTkzODc2NzY2NTViZDAyNWQ5MzdiNTM4NzczN2EzLi5mOGE1OTdm
Y2ZlY2FjMjVkYTAyZWQwNmY1NjM4N2I3ZTFmMGRkZGM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlLmNwcApAQCAt
MzYsNyArMzYsOSBAQAogI2luY2x1ZGUgIkNhcHR1cmVEZXZpY2UuaCIKICNpbmNsdWRlICJMb2dn
aW5nLmgiCiAjaW5jbHVkZSAiTWVkaWFDb25zdHJhaW50cy5oIgorI2luY2x1ZGUgIk1vY2tSZWFs
dGltZUF1ZGlvU291cmNlLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKyNpbmNsdWRl
ICJSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgiCiAjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNv
dXJjZVNldHRpbmdzLmgiCiAjaW5jbHVkZSA8bWF0aC5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRl
c3Ryb3llZC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZVJlcXVlc3RCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKaW5kZXggMjU0MDk2NTZjM2Q2MzIwMzYxNjVmYWIxZGQ3
NDllODhmY2E2ODQ4Mi4uZmY1ODM2MTc0ZWFiOTU5NTI4YTIwN2JmYmFhYjYwMDM5ZDliNTAzMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVl
c3RCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
UmVxdWVzdEJhc2UuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiSFRUUEhlYWRlck5h
bWVzLmgiCiAjaW5jbHVkZSAiUHVibGljU3VmZml4LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1
ZXN0LmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5
UG9saWN5LmgiCiAjaW5jbHVkZSA8d3RmL1BvaW50ZXJDb21wYXJpc29uLmg+CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5l
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0Zvcm1EYXRhU3RyZWFt
Q0ZOZXQuY3BwCmluZGV4IDI5MDI1ZDM4YTdmZDM2ZmY5Yjk5NjIzOTFmMDgwODcwMjFmZjEzMGUu
LmU1MzIxYzI3ZDRkOTY4YzY2ZTRjZDRjNjc3OTYzZjVhN2Q2Y2FkZmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5ldC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Gb3JtRGF0YVN0cmVhbUNG
TmV0LmNwcApAQCAtNDIsMTEgKzQyLDcgQEAKICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+
CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCi0jaWYgUExBVEZPUk0oSU9TKSAmJiAhUExB
VEZPUk0oSU9TTUFDKQotc3RhdGljIGNvbnN0IFNJbnQzMiBmbmZFcnIgPSAtNDM7Ci0jZWxpZiBQ
TEFURk9STShNQUMpCi0jaW5jbHVkZSA8Q29yZVNlcnZpY2VzL0NvcmVTZXJ2aWNlcy5oPgotI2Vu
ZGlmCitzdGF0aWMgY29uc3QgU0ludDMyIGZpbGVOb3RGb3VuZEVycm9yID0gLTQzOwogCiAjaWYg
UExBVEZPUk0oQ09DT0EpCiBleHRlcm4gIkMiIHZvaWQgQ0ZVUkxSZXF1ZXN0U2V0SFRUUFJlcXVl
c3RCb2R5KENGTXV0YWJsZVVSTFJlcXVlc3RSZWYgbXV0YWJsZUhUVFBSZXF1ZXN0LCBDRkRhdGFS
ZWYgaHR0cEJvZHkpOwpAQCAtMjQxLDcgKzIzNyw3IEBAIHN0YXRpYyBCb29sZWFuIGZvcm1PcGVu
KENGUmVhZFN0cmVhbVJlZiwgQ0ZTdHJlYW1FcnJvciogZXJyb3IsIEJvb2xlYW4qIG9wZW5Db21w
CiAjaWYgUExBVEZPUk0oV0lOKQogICAgICAgICBFTk9FTlQ7CiAjZWxzZQotICAgICAgICBmbmZF
cnI7CisgICAgICAgIGZpbGVOb3RGb3VuZEVycm9yOwogI2VuZGlmCiAgICAgcmV0dXJuIG9wZW5l
ZDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9T
b3VwTmV0d29ya1Nlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9Tb3VwTmV0d29ya1Nlc3Npb24uaAppbmRleCBjNjNiZWZkMmYzMGYxNTA0MDE3Nzk5MjQ3OGU4
ZGY0YjgzNzkwMjMyLi5kMWU5ZDljZTViMjg5ZDE0Y2M2YzE2NTkzYmY0YWQwNjc4MjdlNTNhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvU291cE5ldHdv
cmtTZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Nv
dXBOZXR3b3JrU2Vzc2lvbi5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIFNvdXBOZXR3b3Jr
U2Vzc2lvbl9oCiAjZGVmaW5lIFNvdXBOZXR3b3JrU2Vzc2lvbl9oCiAKKyNpbmNsdWRlIDxnaW8v
Z2lvLmg+CiAjaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD4KICNpbmNsdWRlIDxwYWwvU2Vzc2lvbklE
Lmg+CiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9UZXh0Q29kZWNVVEY4LmNwcAppbmRleCBiMzE4ZTYyMmJjYmUxMTgwMTlhNDE2ODU2
MzMzNTU2ZjEwNzJkNzllLi4yMWYwMzhiYzZkNDViNDY4ZGUyYWVmNzQ2Nzk4NWI0ZDAyNWRjNzk2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjgu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVVRGOC5jcHAK
QEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJUZXh0Q29kZWNBU0NJSUZhc3RQYXRoLmgiCiAj
aW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1
ZmZlci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi91
bmljb2RlL0NoYXJhY3Rlck5hbWVzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVVRGOC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4LmgKaW5kZXggZjgyODJiNWYzNGE4
OTQ3M2RlOWFkN2EyMTc2NWFmNmEzMmFjZjk1Yy4uODRmNzE0N2U2ZGMzNGYyZTc1MTU2MTIxMDE5
YmFmMTQwZTViYzFlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9U
ZXh0Q29kZWNVVEY4LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29k
ZWNVVEY4LmgKQEAgLTI2LDYgKzI2LDcgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiVGV4
dENvZGVjLmgiCisjaW5jbHVkZSA8dW5pY29kZS91dGY4Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
TENoYXIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxv
dy5jcHAKaW5kZXggM2JjODJjNmUxYWJkMmZhYzQzYjA5OWM4ZTZlM2NjZjM2NmRkODUzYi4uMmMy
YjUwOGZhYzVjNmZjODQ2Mjg1YzlmZmE4OTVhN2I0MDIyYjhlYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxk
ZXJCbG9ja0Zsb3cuY3BwCkBAIC0yNyw2ICsyNyw4IEBACiAjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1
aWxkZXJCbG9ja0Zsb3cuaCIKIAogI2luY2x1ZGUgIlJlbmRlck11bHRpQ29sdW1uRmxvdy5oIgor
I2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyQmxvY2suaCIKKyNpbmNsdWRlICJSZW5kZXJUcmVl
QnVpbGRlck11bHRpQ29sdW1uLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyRm9y
bUNvbnRyb2xzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJU
cmVlQnVpbGRlckZvcm1Db250cm9scy5jcHAKaW5kZXggODI3YzhiYjAxNzI4MDRkMjYxNjFiNjQz
NjNjNjM1NWIyN2I4ZWFiMS4uOTljNTc0Nzg0MzcwYTgzYTY0NTFjMWNiMmE0YWNiMmE5YzRjOTM2
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRy
ZWVCdWlsZGVyRm9ybUNvbnRyb2xzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
dXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJGb3JtQ29udHJvbHMuY3BwCkBAIC0yOCw2ICsyOCw3
IEBACiAKICNpbmNsdWRlICJSZW5kZXJCdXR0b24uaCIKICNpbmNsdWRlICJSZW5kZXJNZW51TGlz
dC5oIgorI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyQmxvY2suaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcv
UmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3Vw
ZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5saW5lLmNwcAppbmRleCA3Y2QwNzE1ZGY1MjRhNzZm
ZDIwNmEyMzQyOGQ5ZGFjN2Q3ZDg1M2Y4Li5lZTYzOWQ5ZmJiMmI5OGY2ODIwZDhhM2RmNTFjMjdl
YTAyMmEzMzFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcv
UmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAKQEAgLTMwLDYgKzMwLDggQEAK
ICNpbmNsdWRlICJSZW5kZXJGdWxsU2NyZWVuLmgiCiAjaW5jbHVkZSAiUmVuZGVySW5saW5lLmgi
CiAjaW5jbHVkZSAiUmVuZGVyVGFibGUuaCIKKyNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlck11
bHRpQ29sdW1uLmgiCisjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJUYWJsZS5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91
cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlclJ1YnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyUnVieS5jcHAKaW5kZXggN2FjMTliYWM1YmJj
OGRkOWNjNjI0YmFhNDFkOWM4OWM3MWQxMWE4OC4uYWMxMjQ1ZGM5MjVkOWMwOWRjYzE3YzMwMjVk
MzIxNDFkZDk3NzYyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0
aW5nL1JlbmRlclRyZWVCdWlsZGVyUnVieS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyUnVieS5jcHAKQEAgLTI2LDYgKzI2LDcgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlclJ1YnkuaCIK
IAorI2luY2x1ZGUgIlJlbmRlckFuY2VzdG9ySXRlcmF0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJS
dWJ5LmgiCiAjaW5jbHVkZSAiUmVuZGVyUnVieUJhc2UuaCIKICNpbmNsdWRlICJSZW5kZXJSdWJ5
UnVuLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVu
ZGVyVHJlZVVwZGF0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVVcGRhdGVyLmNwcAppbmRleCA3ZDc2YWY5NDI3NDYxNzVlYjlhMmM1OWU3MWE5NzEy
NGZmYzBkYTI0Li42NTIyNmEwNTUxZTVmMWVlNGE4MzQ4YmVjZDkzNWUzYmI0MDBhMDcxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVl
VXBkYXRlci5jcHAKQEAgLTQxLDYgKzQxLDggQEAKICNpbmNsdWRlICJSZW5kZXJEZXNjZW5kYW50
SXRlcmF0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJGdWxsU2NyZWVuLmgiCiAjaW5jbHVkZSAiUmVu
ZGVySW5saW5lLmgiCisjaW5jbHVkZSAiUmVuZGVyTXVsdGlDb2x1bW5GbG93LmgiCisjaW5jbHVk
ZSAiUmVuZGVyTXVsdGlDb2x1bW5TZXQuaCIKICNpbmNsdWRlICJSZW5kZXJUcmVlVXBkYXRlckdl
bmVyYXRlZENvbnRlbnQuaCIKICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAj
aW5jbHVkZSAiU3R5bGVSZXNvbHZlci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvQVBJV2ViQXJjaGl2ZS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmUu
bW0KaW5kZXggYjE3NDJmZGZkZDM4NjllYWRkM2Q3YzVhZWU3MDVlNjYxZjk3ZWVkYy4uYjhjOTcy
ZjdlYzE4ZWI3ZDRjOWE3MWRlMmI0ZTFlMmM2NWRlODc2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9B
UElXZWJBcmNoaXZlLm1tCkBAIC0zNCw5ICszNCw4IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9MZWdh
Y3lXZWJBcmNoaXZlLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCi11c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKLQogbmFtZXNwYWNlIEFQSSB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKIAogUmVmPFdlYkFyY2hpdmU+IFdlYkFyY2hpdmU6OmNyZWF0ZShXZWJBcmNoaXZlUmVzb3Vy
Y2UqIG1haW5SZXNvdXJjZSwgUmVmUHRyPEFQSTo6QXJyYXk+JiYgc3VicmVzb3VyY2VzLCBSZWZQ
dHI8QVBJOjpBcnJheT4mJiBzdWJmcmFtZUFyY2hpdmVzKQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tCmluZGV4IGNhZTViODVkZjE3N2RkZGU2OGQ4
NTJlNWU1MDZkOGQ5MmJlMmVhOTQuLmRjMGY5MGYwZjM4NTFhYmYxMDA0ODRiYTU3M2FlNGFmOGU4
MGIyMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmVSZXNv
dXJjZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2Uu
bW0KQEAgLTMzLDkgKzMzLDggQEAKICNpbmNsdWRlIDxXZWJDb3JlL1VSTC5oPgogI2luY2x1ZGUg
PHd0Zi9SZXRhaW5QdHIuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIG5hbWVzcGFj
ZSBBUEkgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIFJlZjxXZWJBcmNoaXZlUmVzb3Vy
Y2U+IFdlYkFyY2hpdmVSZXNvdXJjZTo6Y3JlYXRlKEFQSTo6RGF0YSogZGF0YSwgY29uc3QgU3Ry
aW5nJiBVUkwsIGNvbnN0IFN0cmluZyYgTUlNRVR5cGUsIGNvbnN0IFN0cmluZyYgdGV4dEVuY29k
aW5nKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2Fw
ZS9tYWMvTmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Q
bHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbQppbmRleCA2OGQ3
YzZhZGYzNjI3NTEzMTI5NjM1NjI4NmYxMWU4NDljMTRjMmMwLi5jMGNjYWM1OTg1M2NmYWZmZDlm
ZjFkMWUzZDY4YjY3ZDY0NTdmN2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Q
bHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVs
ZU1hYy5tbQpAQCAtMzQsOSArMzQsOCBAQAogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KICNp
bXBvcnQgPHd0Zi9zcGkvY2YvQ0ZCdW5kbGVTUEkuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7Ci0KIG5hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIHN0
YXRpYyBib29sIGdldFBsdWdpbkFyY2hpdGVjdHVyZShDRkJ1bmRsZVJlZiBidW5kbGUsIFBsdWdp
bk1vZHVsZUluZm8mIHBsdWdpbikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1BsdWdpbnMvTmV0c2NhcGUvbWFjL1BsdWdpbkluZm9ybWF0aW9uTWFjLm1tIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW0K
aW5kZXggNWVjODQyNDk1OWNiYzE5Mjg4NmZhNzVhYmYwM2YzZDg4NWJjYjFkOS4uMzI1ODRkNDE2
YmUwZmYyNWU5ZTkxZGRmNDI4NzBlMzM5NGY0OTM2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW0KKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3Jt
YXRpb25NYWMubW0KQEAgLTM0LDkgKzM0LDggQEAKICNpbXBvcnQgIlN0cmluZ1V0aWxpdGllcy5o
IgogI2ltcG9ydCA8V2ViQ29yZS9QbHVnaW5CbGFja2xpc3QuaD4KIAotdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7Ci0KIG5hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiAKIHZvaWQgZ2V0UGxhdGZvcm1QbHVnaW5Nb2R1bGVJbmZvcm1hdGlvbihjb25zdCBQbHVnaW5N
b2R1bGVJbmZvJiBwbHVnaW4sIEFQSTo6RGljdGlvbmFyeTo6TWFwVHlwZSYgbWFwKQogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYktpdC9T
b3VyY2VzQ29jb2EudHh0CmluZGV4IGQ4YTNjOTBkZmZlMzIyMzIyZDc2M2VlMjFlN2NiYTQ1MGZl
ODVmY2YuLjRiOGQ0ODA2YjQ0ZjIyMDQ2NTg1NzdlYjdhOTY3OGNiOGUzNDc5YmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXNDb2NvYS50eHQKQEAgLTI5OCw5ICsyOTgsOSBAQCBVSVByb2Nlc3MvQVBJL21hYy9XS1Zp
ZXcubW0gQG5vLXVuaWZ5CiAKIFVJUHJvY2Vzcy9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eUNvY29hLm1tCiAKLVVJUHJvY2Vzcy9BcHBsZVBheS9pb3MvV2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHlJT1MubW0KK1VJUHJvY2Vzcy9BcHBsZVBheS9pb3MvV2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHlJT1MubW0gQG5vLXVuaWZ5CiAKLVVJUHJvY2Vzcy9BcHBsZVBheS9t
YWMvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNYWMubW0KK1VJUHJvY2Vzcy9BcHBsZVBheS9t
YWMvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNYWMubW0gQG5vLXVuaWZ5CiAKIFVJUHJvY2Vz
cy9BdXRoZW50aWNhdGlvbi9jb2NvYS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5Q29jb2Eu
bW0KIFVJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9jb2NvYS9TZWNLZXlQcm94eVN0b3JlLm1tCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNHVEsudHh0IGIvU291cmNlL1dlYktpdC9T
b3VyY2VzR1RLLnR4dAppbmRleCBhMmRjNWM5ODAwMmIzNWY3ZjlhZDU2ODY1MGRjYTFkNWU2M2E5
ODkwLi40NDI5OTZkOTFiZjJlZjYyOGY2ZTRjY2Y3MDZkOGUxMzM2ODllNDY5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNHVEsudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNl
c0dUSy50eHQKQEAgLTIwNywxNiArMjA3LDE2IEBAIFVJUHJvY2Vzcy9OZXR3b3JrL0N1c3RvbVBy
b3RvY29scy9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS5jcHAKIAogVUlQcm9jZXNz
L2xpbnV4L01lbW9yeVByZXNzdXJlTW9uaXRvci5jcHAKIAotVUlQcm9jZXNzL1BsdWdpbnMvZ3Rr
L1BsdWdpbkluZm9DYWNoZS5jcHAKK1VJUHJvY2Vzcy9QbHVnaW5zL2d0ay9QbHVnaW5JbmZvQ2Fj
aGUuY3BwIEBuby11bmlmeQogCi1VSVByb2Nlc3MvUGx1Z2lucy91bml4L1BsdWdpbkluZm9TdG9y
ZVVuaXguY3BwCitVSVByb2Nlc3MvUGx1Z2lucy91bml4L1BsdWdpbkluZm9TdG9yZVVuaXguY3Bw
IEBuby11bmlmeQogVUlQcm9jZXNzL1BsdWdpbnMvdW5peC9QbHVnaW5Qcm9jZXNzUHJveHlVbml4
LmNwcCBAbm8tdW5pZnkKIAogVUlQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU1hbmFnZXIuY3Bw
CiAKIFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS91bml4L1dlYnNpdGVEYXRhU3RvcmVVbml4LmNwcAog
Ci1VSVByb2Nlc3MvY2Fpcm8vQmFja2luZ1N0b3JlQ2Fpcm8uY3BwCitVSVByb2Nlc3MvY2Fpcm8v
QmFja2luZ1N0b3JlQ2Fpcm8uY3BwIEBuby11bmlmeQogCiBVSVByb2Nlc3MvZ2xpYi9SZW1vdGVJ
bnNwZWN0b3JDbGllbnQuY3BwCiAKQEAgLTIyOSwxNiArMjI5LDE2IEBAIFVJUHJvY2Vzcy9ndGsv
QWNjZWxlcmF0ZWRCYWNraW5nU3RvcmVYMTEuY3BwIEBuby11bmlmeQogVUlQcm9jZXNzL2d0ay9E
cmFnQW5kRHJvcEhhbmRsZXIuY3BwCiBVSVByb2Nlc3MvZ3RrL0dlc3R1cmVDb250cm9sbGVyLmNw
cAogVUlQcm9jZXNzL2d0ay9IYXJkd2FyZUFjY2VsZXJhdGlvbk1hbmFnZXIuY3BwCi1VSVByb2Nl
c3MvZ3RrL0lucHV0TWV0aG9kRmlsdGVyLmNwcAorVUlQcm9jZXNzL2d0ay9JbnB1dE1ldGhvZEZp
bHRlci5jcHAgQG5vLXVuaWZ5CiBVSVByb2Nlc3MvZ3RrL0tleUJpbmRpbmdUcmFuc2xhdG9yLmNw
cAogVUlQcm9jZXNzL2d0ay9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eUd0ay5jcHAgQG5vLXVuaWZ5
CiBVSVByb2Nlc3MvZ3RrL1RleHRDaGVja2VyR3RrLmNwcCBAbm8tdW5pZnkKIFVJUHJvY2Vzcy9n
dGsvV2F5bGFuZENvbXBvc2l0b3IuY3BwIEBuby11bmlmeQotVUlQcm9jZXNzL2d0ay9XZWJDb2xv
clBpY2tlckd0ay5jcHAKK1VJUHJvY2Vzcy9ndGsvV2ViQ29sb3JQaWNrZXJHdGsuY3BwIEBuby11
bmlmeQogVUlQcm9jZXNzL2d0ay9XZWJDb250ZXh0TWVudVByb3h5R3RrLmNwcAogVUlQcm9jZXNz
L2d0ay9XZWJJbnNwZWN0b3JQcm94eUd0ay5jcHAKIFVJUHJvY2Vzcy9ndGsvV2ViS2l0SW5zcGVj
dG9yV2luZG93LmNwcAotVUlQcm9jZXNzL2d0ay9XZWJQYWdlUHJveHlHdGsuY3BwCitVSVByb2Nl
c3MvZ3RrL1dlYlBhZ2VQcm94eUd0ay5jcHAgQG5vLXVuaWZ5CiBVSVByb2Nlc3MvZ3RrL1dlYlBh
c3RlYm9hcmRQcm94eUd0ay5jcHAKIFVJUHJvY2Vzcy9ndGsvV2ViUG9wdXBNZW51UHJveHlHdGsu
Y3BwCiBVSVByb2Nlc3MvZ3RrL1dlYlByZWZlcmVuY2VzR3RrLmNwcApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaApp
bmRleCBiZmM1ZWUzMzgyMjBkOTE1NmZjY2YwMGMxZTc2ZDBiYmVlOTA0MTkwLi4zNzljODg1N2Jl
OTRiNjE5NTU1ZWRmZmVjNGMzYTlhNmUxNzc5NDg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaApAQCAtNTEs
NyArNTEsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIH5BdXRvbWF0aW9uU2Vzc2lvbkNsaWVu
dCgpIHsgfQogCi0gICAgdmlydHVhbCBTdHJpbmcgc2Vzc2lvbklkZW50aWZpZXIoKSBjb25zdCB7
IHJldHVybiBTdHJpbmcoKTsgfQorICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgc2Vzc2lvbklkZW50
aWZpZXIoKSBjb25zdCB7IHJldHVybiBXVEY6OlN0cmluZygpOyB9CiAgICAgdmlydHVhbCB2b2lk
IGRpZERpc2Nvbm5lY3RGcm9tUmVtb3RlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mKSB7
IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdE5ld1BhZ2VXaXRoT3B0aW9ucyhXZWJLaXQ6Oldl
YkF1dG9tYXRpb25TZXNzaW9uJiwgQXV0b21hdGlvblNlc3Npb25Ccm93c2luZ0NvbnRleHRPcHRp
b25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYktpdDo6V2ViUGFnZVByb3h5Kik+JiYgY29t
cGxldGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIobnVsbHB0cik7IH0KICAgICB2aXJ0
dWFsIHZvaWQgcmVxdWVzdE1heGltaXplV2luZG93T2ZQYWdlKFdlYktpdDo6V2ViQXV0b21hdGlv
blNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikgeyBjb21wbGV0aW9uSGFuZGxlcigpOyB9CkBAIC02MSw4
ICs2MSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNTaG93aW5nSmF2YVNjcmlwdERp
YWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdl
UHJveHkmKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNtaXNzQ3VycmVu
dEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdl
YktpdDo6V2ViUGFnZVByb3h5JikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGFjY2VwdEN1cnJlbnRK
YXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJL
aXQ6OldlYlBhZ2VQcm94eSYpIHsgfQotICAgIHZpcnR1YWwgU3RyaW5nIG1lc3NhZ2VPZkN1cnJl
bnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBX
ZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgcmV0dXJuIFN0cmluZygpOyB9Ci0gICAgdmlydHVhbCB2
b2lkIHNldFVzZXJJbnB1dEZvckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKFdlYktpdDo6
V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIGNvbnN0IFN0cmlu
ZyYpIHsgfQorICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgbWVzc2FnZU9mQ3VycmVudEphdmFTY3Jp
cHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2Vi
UGFnZVByb3h5JikgeyByZXR1cm4gV1RGOjpTdHJpbmcoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBz
ZXRVc2VySW5wdXRGb3JDdXJyZW50SmF2YVNjcmlwdFByb21wdE9uUGFnZShXZWJLaXQ6OldlYkF1
dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBjb25zdCBXVEY6OlN0cmlu
ZyYpIHsgfQogICAgIHZpcnR1YWwgc3RkOjpvcHRpb25hbDxKYXZhU2NyaXB0RGlhbG9nVHlwZT4g
dHlwZU9mQ3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9u
U2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyByZXR1cm4gc3RkOjpudWxsb3B0OyB9
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9MZWdhY3lD
dXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW0KaW5kZXggMTFiYTM3MjY1
NDgzZmZlN2ZmMjQ2NTA5NDBkOGYzM2E1MmMwYzA0YS4uMTlhNTliNDJjYWI3YjU0N2VkOTQ0NjBl
NzJmYzAzOTZjZmU3OTI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbQpA
QCAtMzIsMjMgKzMyLDIwIEBACiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgog
I2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKLQogQGludGVyZmFjZSBXS0N1c3RvbVBy
b3RvY29sTG9hZGVyIDogTlNPYmplY3QgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlPiB7CiBAcHJp
dmF0ZQotICAgIExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiBfY3VzdG9tUHJvdG9j
b2xNYW5hZ2VyUHJveHk7CisgICAgV2ViS2l0OjpMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQ
cm94eSogX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OwogICAgIHVpbnQ2NF90IF9jdXN0b21Q
cm90b2NvbElEOwogICAgIE5TVVJMQ2FjaGVTdG9yYWdlUG9saWN5IF9zdG9yYWdlUG9saWN5Owog
ICAgIE5TVVJMQ29ubmVjdGlvbiAqX3VybENvbm5lY3Rpb247CiB9Ci0tIChpZClpbml0V2l0aExl
Z2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OihMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFn
ZXJQcm94eSopY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJvdG9jb2xJRDoodWlu
dDY0X3QpY3VzdG9tUHJvdG9jb2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0Owor
LSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTooV2ViS2l0OjpM
ZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSopY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJv
eHkgY3VzdG9tUHJvdG9jb2xJRDoodWludDY0X3QpY3VzdG9tUHJvdG9jb2xJRCByZXF1ZXN0OihO
U1VSTFJlcXVlc3QgKilyZXF1ZXN0OwogLSAodm9pZCljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94
eURlc3Ryb3llZDsKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdLQ3VzdG9tUHJvdG9jb2xMb2Fk
ZXIKIAotLSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTooTGVn
YWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5
IGN1c3RvbVByb3RvY29sSUQ6KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVzdDooTlNV
UkxSZXF1ZXN0ICopcmVxdWVzdAorLSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1h
bmFnZXJQcm94eTooV2ViS2l0OjpMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSopY3Vz
dG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJvdG9jb2xJRDoodWludDY0X3QpY3VzdG9t
UHJvdG9jb2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0CiB7CiAgICAgc2VsZiA9
IFtzdXBlciBpbml0XTsKICAgICBpZiAoIXNlbGYpCkBAIC04NSw3ICs4Miw3IEBAIC0gKHZvaWQp
Y3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHlEZXN0cm95ZWQKIAogLSAodm9pZCljb25uZWN0aW9u
OihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIGRpZEZhaWxXaXRoRXJyb3I6KE5TRXJyb3Ig
KillcnJvcgogewotICAgIFJlc291cmNlRXJyb3IgY29yZUVycm9yKGVycm9yKTsKKyAgICBXZWJD
b3JlOjpSZXNvdXJjZUVycm9yIGNvcmVFcnJvcihlcnJvcik7CiAgICAgX2N1c3RvbVByb3RvY29s
TWFuYWdlclByb3h5LT5kaWRGYWlsV2l0aEVycm9yKF9jdXN0b21Qcm90b2NvbElELCBjb3JlRXJy
b3IpOwogICAgIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS0+c3RvcExvYWRpbmcoX2N1c3Rv
bVByb3RvY29sSUQpOwogfQpAQCAtOTksNyArOTYsNyBAQCAtIChOU0NhY2hlZFVSTFJlc3BvbnNl
ICopY29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiB3aWxsQ2FjaGVSZXNw
bwogCiAtICh2b2lkKWNvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gZGlk
UmVjZWl2ZVJlc3BvbnNlOihOU1VSTFJlc3BvbnNlICopcmVzcG9uc2UKIHsKLSAgICBSZXNvdXJj
ZVJlc3BvbnNlIGNvcmVSZXNwb25zZShyZXNwb25zZSk7CisgICAgV2ViQ29yZTo6UmVzb3VyY2VS
ZXNwb25zZSBjb3JlUmVzcG9uc2UocmVzcG9uc2UpOwogICAgIF9jdXN0b21Qcm90b2NvbE1hbmFn
ZXJQcm94eS0+ZGlkUmVjZWl2ZVJlc3BvbnNlKF9jdXN0b21Qcm90b2NvbElELCBjb3JlUmVzcG9u
c2UsIF9zdG9yYWdlUG9saWN5KTsKIH0KIApAQCAtMTI3LDYgKzEyNCw3IEBAIC0gKHZvaWQpY29u
bmVjdGlvbkRpZEZpbmlzaExvYWRpbmc6KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24KIEBl
bmQKIAogbmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogdm9p
ZCBMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQ6OnN0YXJ0TG9hZGluZyhMZWdhY3lD
dXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSYgbWFuYWdlciwgdWludDY0X3QgY3VzdG9tUHJvdG9j
b2xJRCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBjb3JlUmVxdWVzdCkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcApp
bmRleCBjMmI5MWE2Mzk3M2U2MzEyMGFhZTUyOGY4OTc1Mzg1ZjdiNmRiZjYyLi5lZGVkOWM3ZDJh
NGU1OGUzZDA1OGQ4MzI2ODMxMDk4MTgyYWY0NDc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCkBAIC00OCw3ICs0
OCw3IEBAIHN0YXRpYyBjb25zdCBTZWNvbmRzIHNuYXBzaG90dGluZ01pbmltdW1MaWZldGltZSB7
IDMwX3MgfTsKIHN0YXRpYyBjb25zdCBTZWNvbmRzIHNodXRkb3duVGltZW91dCB7IDFfbWluIH07
CiBzdGF0aWMgY29uc3QgU2Vjb25kcyBzbmFwc2hvdHRpbmdTaHV0ZG93blRpbWVvdXQgeyAxNV9z
IH07CiAKLXN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUNhbGxiYWNrSUQoKQorc3RhdGljIHVpbnQ2
NF90IGdlbmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQoKQogewogICAgIHN0YXRpYyB1aW50
NjRfdCBjYWxsYmFja0lEOwogCkBAIC0xMTQsNyArMTE0LDcgQEAgdm9pZCBQbHVnaW5Qcm9jZXNz
UHJveHk6OmdldFBsdWdpblByb2Nlc3NDb25uZWN0aW9uKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJv
eHk6OkcKIAogdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEoQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZCAoVmVjdG9yPFN0cmluZz4pPiYmIGNvbXBsZXRpb25IYW5kbGVyKQog
ewotICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1
aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCgpOwog
ICAgIG1fcGVuZGluZ0ZldGNoV2Vic2l0ZURhdGFDYWxsYmFja3Muc2V0KGNhbGxiYWNrSUQsIFdU
Rk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIGlmIChzdGF0ZSgpID09IFN0YXRlOjpM
YXVuY2hpbmcpIHsKQEAgLTEyNyw3ICsxMjcsNyBAQCB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6
ZmV0Y2hXZWJzaXRlRGF0YShDb21wbGV0aW9uSGFuZGxlcjx2b2lkIChWZWN0b3I8U3RyaW5nPgog
CiB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEoV2FsbFRpbWUgbW9k
aWZpZWRTaW5jZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikKIHsKLSAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7Cisg
ICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQo
KTsKICAgICBtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUNhbGxiYWNrcy5zZXQoY2FsbGJhY2tJ
RCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAgaWYgKHN0YXRlKCkgPT0gU3Rh
dGU6OkxhdW5jaGluZykgewpAQCAtMTQwLDcgKzE0MCw3IEBAIHZvaWQgUGx1Z2luUHJvY2Vzc1By
b3h5OjpkZWxldGVXZWJzaXRlRGF0YShXYWxsVGltZSBtb2RpZmllZFNpbmNlLCBDb21wbGV0aW9u
SGFuCiAKIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZvckhvc3RO
YW1lcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgaG9zdE5hbWVzLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkICgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQg
PSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJh
dGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVE
YXRhRm9ySG9zdE5hbWVzQ2FsbGJhY2tzLnNldChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBsZXRp
b25IYW5kbGVyKSk7CiAKICAgICBpZiAoc3RhdGUoKSA9PSBTdGF0ZTo6TGF1bmNoaW5nKSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Nj
cm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVs
ZWdhdGVJT1MubW0KaW5kZXggNGEyZTI5YjU2MDk2MWE1OWIxY2I1NTE5NzgzOTE0OWMzMTA2ODRj
Mi4uNzJhODgyZjA1ODFkNWVhYzkxZmMxNGJjMDVhMDJmMTQ0ZjE2YzExZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlP
Uy5tbQpAQCAtNDMsOCArNDMsNiBAQAogI2ltcG9ydCA8V2ViQ29yZS9TY3JvbGxTbmFwT2Zmc2V0
c0luZm8uaD4KICNlbmRpZgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogQGltcGxlbWVu
dGF0aW9uIFdLU2Nyb2xsaW5nTm9kZVNjcm9sbFZpZXdEZWxlZ2F0ZQogCiAtIChpbnN0YW5jZXR5
cGUpaW5pdFdpdGhTY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlOihXZWJLaXQ6OlNjcm9sbGluZ1Ry
ZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MqKWRlbGVnYXRlCkBAIC04MCw3ICs3OCw3IEBAIC0g
KHZvaWQpc2Nyb2xsVmlld1dpbGxFbmREcmFnZ2luZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmll
dyB3aXRoVmVsb2NpdHk6KENHUG9pCiAKICAgICBpZiAoIV9zY3JvbGxpbmdUcmVlTm9kZURlbGVn
YXRlLT5zY3JvbGxpbmdOb2RlKCkuaG9yaXpvbnRhbFNuYXBPZmZzZXRzKCkuaXNFbXB0eSgpKSB7
CiAgICAgICAgIHVuc2lnbmVkIGluZGV4OwotICAgICAgICBmbG9hdCBwb3RlbnRpYWxTbmFwUG9z
aXRpb24gPSBjbG9zZXN0U25hcE9mZnNldChfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Ny
b2xsaW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0cygpLCBfc2Nyb2xsaW5nVHJlZU5vZGVE
ZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0UmFuZ2VzKCksIGhv
cml6b250YWxUYXJnZXQsIHZlbG9jaXR5LngsIGluZGV4KTsKKyAgICAgICAgZmxvYXQgcG90ZW50
aWFsU25hcFBvc2l0aW9uID0gV2ViQ29yZTo6Y2xvc2VzdFNuYXBPZmZzZXQoX3Njcm9sbGluZ1Ry
ZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNldHMoKSwg
X3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25h
cE9mZnNldFJhbmdlcygpLCBob3Jpem9udGFsVGFyZ2V0LCB2ZWxvY2l0eS54LCBpbmRleCk7CiAg
ICAgICAgIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuc2V0Q3Vy
cmVudEhvcml6b250YWxTbmFwUG9pbnRJbmRleChpbmRleCk7CiAgICAgICAgIGlmIChob3Jpem9u
dGFsVGFyZ2V0ID49IDAgJiYgaG9yaXpvbnRhbFRhcmdldCA8PSBzY3JvbGxWaWV3LmNvbnRlbnRT
aXplLndpZHRoKQogICAgICAgICAgICAgdGFyZ2V0Q29udGVudE9mZnNldC0+eCA9IHBvdGVudGlh
bFNuYXBQb3NpdGlvbjsKQEAgLTg4LDcgKzg2LDcgQEAgLSAodm9pZClzY3JvbGxWaWV3V2lsbEVu
ZERyYWdnaW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3IHdpdGhWZWxvY2l0eTooQ0dQb2kK
IAogICAgIGlmICghX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52
ZXJ0aWNhbFNuYXBPZmZzZXRzKCkuaXNFbXB0eSgpKSB7CiAgICAgICAgIHVuc2lnbmVkIGluZGV4
OwotICAgICAgICBmbG9hdCBwb3RlbnRpYWxTbmFwUG9zaXRpb24gPSBjbG9zZXN0U25hcE9mZnNl
dChfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2FsU25h
cE9mZnNldHMoKSwgX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52
ZXJ0aWNhbFNuYXBPZmZzZXRSYW5nZXMoKSwgdmVydGljYWxUYXJnZXQsIHZlbG9jaXR5LnksIGlu
ZGV4KTsKKyAgICAgICAgZmxvYXQgcG90ZW50aWFsU25hcFBvc2l0aW9uID0gV2ViQ29yZTo6Y2xv
c2VzdFNuYXBPZmZzZXQoX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUo
KS52ZXJ0aWNhbFNuYXBPZmZzZXRzKCksIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3Jv
bGxpbmdOb2RlKCkudmVydGljYWxTbmFwT2Zmc2V0UmFuZ2VzKCksIHZlcnRpY2FsVGFyZ2V0LCB2
ZWxvY2l0eS55LCBpbmRleCk7CiAgICAgICAgIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5z
Y3JvbGxpbmdOb2RlKCkuc2V0Q3VycmVudFZlcnRpY2FsU25hcFBvaW50SW5kZXgoaW5kZXgpOwog
ICAgICAgICBpZiAodmVydGljYWxUYXJnZXQgPj0gMCAmJiB2ZXJ0aWNhbFRhcmdldCA8PSBzY3Jv
bGxWaWV3LmNvbnRlbnRTaXplLmhlaWdodCkKICAgICAgICAgICAgIHRhcmdldENvbnRlbnRPZmZz
ZXQtPnkgPSBwb3RlbnRpYWxTbmFwUG9zaXRpb247CkBAIC0xMjIsNiArMTIwLDcgQEAgLSAodm9p
ZClzY3JvbGxWaWV3RGlkRW5kRGVjZWxlcmF0aW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3
CiBAZW5kCiAKIG5hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
IFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1M6OlNjcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlRGVsZWdhdGVJT1MoU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUmIHNjcm9sbGlu
Z05vZGUpCiAgICAgOiBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlKHNjcm9sbGlu
Z05vZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3Jh
Z2VQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9TdG9y
YWdlUHJvY2Vzc1Byb3h5LmNwcAppbmRleCBlZmE4ZDEzY2JiZDVmZmE4MDhiNWYwZWRiZjRhNTFk
YzlkZjg1N2U3Li4zYTEzMWI0ZDYwZDhhYTA3ZTg3ZmI1ZTRjNjE0ZjMwYTdkNDJiNTc0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nl
c3NQcm94eS5jcHAKQEAgLTM3LDcgKzM3LDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUNhbGxiYWNrSUQo
KQorc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlU3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKCkKIHsK
ICAgICBzdGF0aWMgdWludDY0X3QgY2FsbGJhY2tJRDsKIApAQCAtMTA1LDcgKzEwNSw3IEBAIHZv
aWQgU3RvcmFnZVByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBz
ZXNzaW9uSUQsIE9wdGlvblNldDxXCiB7CiAgICAgQVNTRVJUKGNhblNlbmRNZXNzYWdlKCkpOwog
Ci0gICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIHVp
bnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpOwog
ICAgIG1fcGVuZGluZ0ZldGNoV2Vic2l0ZURhdGFDYWxsYmFja3MuYWRkKGNhbGxiYWNrSUQsIFdU
Rk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIHNlbmQoTWVzc2FnZXM6OlN0b3JhZ2VQ
cm9jZXNzOjpGZXRjaFdlYnNpdGVEYXRhKHNlc3Npb25JRCwgZGF0YVR5cGVzLCBjYWxsYmFja0lE
KSwgMCk7CkBAIC0xMTMsNyArMTEzLDcgQEAgdm9pZCBTdG9yYWdlUHJvY2Vzc1Byb3h5OjpmZXRj
aFdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFcKIAogdm9p
ZCBTdG9yYWdlUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBz
ZXNzaW9uSUQsIE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+IGRhdGFUeXBlcywgV2FsbFRpbWUg
bW9kaWZpZWRTaW5jZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKIHsKLSAgICBhdXRvIGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAg
ICBhdXRvIGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpOwog
CiAgICAgbV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFDYWxsYmFja3MuYWRkKGNhbGxiYWNrSUQs
IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKICAgICBzZW5kKE1lc3NhZ2VzOjpTdG9yYWdl
UHJvY2Vzczo6RGVsZXRlV2Vic2l0ZURhdGEoc2Vzc2lvbklELCBkYXRhVHlwZXMsIG1vZGlmaWVk
U2luY2UsIGNhbGxiYWNrSUQpLCAwKTsKQEAgLTEyMyw3ICsxMjMsNyBAQCB2b2lkIFN0b3JhZ2VQ
cm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhQQUw6OlNlc3Npb25JRCBz
ZXNzaW9uSUQsCiB7CiAgICAgQVNTRVJUKGNhblNlbmRNZXNzYWdlKCkpOwogCi0gICAgdWludDY0
X3QgY2FsbGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIHVpbnQ2NF90IGNhbGxi
YWNrSUQgPSBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVuZGlu
Z0RlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2luc0NhbGxiYWNrcy5hZGQoY2FsbGJhY2tJRCwgV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAgc2VuZChNZXNzYWdlczo6U3RvcmFnZVBy
b2Nlc3M6OkRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhzZXNzaW9uSUQsIGRhdGFUeXBlcywg
b3JpZ2lucywgY2FsbGJhY2tJRCksIDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaAppbmRleCBkYTA1ODFkYjlhZjZkMTYxODhmMTZlNjdmM2FiNTE0ZGUwYTQ5ODNhLi43YmU1
Mzk4NTg1OTZiZjE1M2RhNzBlZDA4ZDJlMjIxMmFjNjM5ODc5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtNjIsNyArNjIsNiBAQAogI2luY2x1ZGUgIldlYlBhZ2VJ
bmplY3RlZEJ1bmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIldlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5LmgiCiAjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXMuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0Fs
dGVybmF0aXZlVGV4dENsaWVudC5oPiAvLyBGSVhNRTogTmVlZGVkIGJ5IFdlYlBhZ2VQcm94eU1l
c3NhZ2VzLmggZm9yIERJQ1RBVElPTl9BTFRFUk5BVElWRVMuCiAjaW5jbHVkZSAiV2ViUGFnZVBy
b3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQb3B1cE1lbnVQcm94eS5oIgogI2luY2x1ZGUg
IldlYlByb2Nlc3NMaWZldGltZVRyYWNrZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDk0YzliMWZmNDg0ZDFkMmVjYzAzZDRjMzFm
NGIwYmVhYWRkN2RhYWYuLjkzODQ0M2IxMDJjOWM3YTJiMzQ4NTg1NjBiYjA4NDhmNDc3YjY4NDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtNzU5LDYgKzc1OSw4IEBACiAJCTJEOTJBNzk1MjEyQjZBRDQwMEY0OTNGRCAvKiBQbHVnaW5Q
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkQ5MEQxMTI4MUM5NjYwMDFFQjk2MiAvKiBQbHVnaW5Qcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCAqLzsgfTsKIAkJMkQ5MkE3OTYyMTJCNkFEQTAwRjQ5
M0ZEIC8qIE5ldHNjYXBlUGx1Z2luTW9kdWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNEE5QzUzMTJCODE2Q0YwMDhGRTk4NCAvKiBOZXRzY2Fw
ZVBsdWdpbk1vZHVsZS5jcHAgKi87IH07CiAJCTJEOTJBNzk3MjEyQjZBREEwMEY0OTNGRCAvKiBQ
bHVnaW5JbmZvcm1hdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3QzNGOEM4RTE3M0FGNTJEMDA3QjdGMzkgLyogUGx1Z2luSW5mb3JtYXRpb24u
Y3BwICovOyB9OworCQkyRDkyQTc5ODIxMzQ4RDg1MDBGNDkzRkQgLyogV2ViUGF5bWVudENvb3Jk
aW5hdG9yUHJveHlNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQUIxRjc3RDFEMUIzMEE5MDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHlNYWMubW0gKi87IH07CisJCTJEOTJBNzlGMjEzNEIwN0UwMEY0OTNGRCAvKiBXZWJQYXlt
ZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFBQjFGNzdCMUQxQjMwQTkwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eUlPUy5tbSAqLzsgfTsKIAkJMkQ5MzExNjkyMTJGNjFCMjAwMDQ0QkZFIC8q
IFdLQ29udGVudFZpZXcubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRkNCNEUzRDE4QkJFMDQ0MDAwRkNGQzkgLyogV0tDb250ZW50Vmlldy5tbSAqLzsg
fTsKIAkJMkQ5MzExNkEyMTJGNjFCNTAwMDQ0QkZFIC8qIFdLQ29udGVudFZpZXdJbnRlcmFjdGlv
bi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0I0
RTZCMThCQkYyNkEwMDBGQ0ZDOSAvKiBXS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gKi87IH07
CiAJCTJEOUVBMzBEMUE5NkNCNTkwMDJEMjgwNyAvKiBXS1BhZ2VJbmplY3RlZEJ1bmRsZUNsaWVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5RUEz
MEMxQTk2Q0I1OTAwMkQyODA3IC8qIFdLUGFnZUluamVjdGVkQnVuZGxlQ2xpZW50LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTExMjQ4LDYgKzEx
MjUwLDggQEAKIAkJCQk3Q0U5Q0UxMDFGQTA3NjdBMDAwMTc3REUgLyogV2ViUGFnZVVwZGF0ZVBy
ZWZlcmVuY2VzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDNDY5NEM5MUE0QjRFQTEwMEFENTg0
NSAvKiBXZWJQYXN0ZWJvYXJkUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMUFCMUY3OTYxRDFCMzYxMzAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvck1l
c3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDkyQTc5RjIxMzRCMDdFMDBG
NDkzRkQgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlJT1MubW0gaW4gU291cmNlcyAqLywK
KwkJCQkyRDkyQTc5ODIxMzQ4RDg1MDBGNDkzRkQgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJv
eHlNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQUIxRjc5ODFEMUIzNjEzMDA3QzlCRDEgLyog
V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkQ5MkE3OEQyMTJCNkFCMTAwRjQ5M0ZEIC8qIFdlYlBsYXRmb3JtVG91Y2hQb2lu
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDkxMzQ0RTIxMkNGOUYwMDAxMjhBRkQgLyogV2Vi
UGx1Z2luSW5mb1Byb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5tbSBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0KaW5kZXggNTMwN2UyNmE3NjM3
ZThhNjliMDQ1YWJiOTI4NzlmM2Y4YzY1ODZmMi4uNGNhYTZjYzBmNjA0NTBjMDNiMjJhMjg0ZGQx
M2FmMjVlZmQ2ZTM4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdp
bnMvUERGL1BERlBsdWdpbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lu
cy9QREYvUERGUGx1Z2luLm1tCkBAIC04OCw4ICs4OCw2IEBACiAjaW1wb3J0IDxwYWwvc3BpL21h
Yy9OU01lbnVTUEkuaD4KICNpbXBvcnQgPHd0Zi9VVUlELmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwotCiAvLyBTZXQgb3ZlcmZsb3c6IGhpZGRlbiBvbiB0aGUgYW5ub3RhdGlvbiBjb250
YWluZXIgc28gPGlucHV0PiBlbGVtZW50cyBzY3JvbGxlZCBvdXQgb2YgdmlldyBkb24ndCBzaG93
CiAvLyBzY3JvbGxiYXJzIG9uIHRoZSBib2R5LiBXZSBjYW4ndCBhZGQgYW5ub3RhdGlvbnMgZGly
ZWN0bHkgdG8gdGhlIGJvZHksIGJlY2F1c2Ugb3ZlcmZsb3c6IGhpZGRlbiBvbiB0aGUgYm9keQog
Ly8gd2lsbCBicmVhayBydWJiZXItYmFuZGluZy4KQEAgLTI5MCw3ICsyODgsNyBAQCAtIChOU0Fy
cmF5ICopYWNjZXNzaWJpbGl0eUFjdGlvbk5hbWVzCiAtICh2b2lkKWFjY2Vzc2liaWxpdHlQZXJm
b3JtQWN0aW9uOihOU1N0cmluZyAqKWFjdGlvbgogewogICAgIGlmIChbYWN0aW9uIGlzRXF1YWxU
b1N0cmluZzpOU0FjY2Vzc2liaWxpdHlTaG93TWVudUFjdGlvbl0pCi0gICAgICAgIF9wZGZQbHVn
aW4tPnNob3dDb250ZXh0TWVudUF0UG9pbnQoSW50UmVjdChJbnRQb2ludCgpLCBfcGRmUGx1Z2lu
LT5zaXplKCkpLmNlbnRlcigpKTsKKyAgICAgICAgX3BkZlBsdWdpbi0+c2hvd0NvbnRleHRNZW51
QXRQb2ludChXZWJDb3JlOjpJbnRSZWN0KFdlYkNvcmU6OkludFBvaW50KCksIF9wZGZQbHVnaW4t
PnNpemUoKSkuY2VudGVyKCkpOwogfQogCiAtIChCT09MKWFjY2Vzc2liaWxpdHlJc0F0dHJpYnV0
ZVNldHRhYmxlOihOU1N0cmluZyAqKWF0dHJpYnV0ZQpAQCAtMzE2LDggKzMxNCw4IEBAIC0gKGlk
KWFjY2Vzc2liaWxpdHlGb2N1c2VkVUlFbGVtZW50CiB7CiAjaWYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMDEzMDAKICAgICBpZiAoV2ViS2l0OjpQREZQbHVnaW5Bbm5vdGF0
aW9uKiBhY3RpdmVBbm5vdGF0aW9uID0gX3BkZlBsdWdpbi0+YWN0aXZlQW5ub3RhdGlvbigpKSB7
Ci0gICAgICAgIGlmIChBWE9iamVjdENhY2hlKiBleGlzdGluZ0NhY2hlID0gX3BkZlBsdWdpbi0+
YXhPYmplY3RDYWNoZSgpKSB7Ci0gICAgICAgICAgICBpZiAoQWNjZXNzaWJpbGl0eU9iamVjdCog
b2JqZWN0ID0gZXhpc3RpbmdDYWNoZS0+Z2V0T3JDcmVhdGUoYWN0aXZlQW5ub3RhdGlvbi0+ZWxl
bWVudCgpKSkKKyAgICAgICAgaWYgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGUqIGV4aXN0aW5nQ2Fj
aGUgPSBfcGRmUGx1Z2luLT5heE9iamVjdENhY2hlKCkpIHsKKyAgICAgICAgICAgIGlmIChXZWJD
b3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QgPSBleGlzdGluZ0NhY2hlLT5nZXRPckNy
ZWF0ZShhY3RpdmVBbm5vdGF0aW9uLT5lbGVtZW50KCkpKQogI3ByYWdtYSBjbGFuZyBkaWFnbm9z
dGljIHB1c2gKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV2RlcHJlY2F0ZWQt
ZGVjbGFyYXRpb25zIgogICAgICAgICAgICAgICAgIHJldHVybiBbb2JqZWN0LT53cmFwcGVyKCkg
YWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOkAiX0FYQXNzb2NpYXRlZFBsdWdpblBhcmVudCJd
OwpAQCAtMzM4LDExICszMzYsMTEgQEAgLSAoaWQpYWNjZXNzaWJpbGl0eUFzc29jaWF0ZWRDb250
cm9sRm9yQW5ub3RhdGlvbjooUERGQW5ub3RhdGlvbiAqKWFubm90YXRpb24KICAgICBpZiAoIWFj
dGl2ZUFubm90YXRpb24gfHwgIVthY3RpdmVBbm5vdGF0aW9uLT5hbm5vdGF0aW9uKCkgaXNFcXVh
bDphbm5vdGF0aW9uXSkKICAgICAgICAgcmV0dXJuIG5pbDsKICAgICAKLSAgICBBWE9iamVjdENh
Y2hlKiBjYWNoZSA9IF9wZGZQbHVnaW4tPmF4T2JqZWN0Q2FjaGUoKTsKKyAgICBXZWJDb3JlOjpB
WE9iamVjdENhY2hlKiBjYWNoZSA9IF9wZGZQbHVnaW4tPmF4T2JqZWN0Q2FjaGUoKTsKICAgICBp
ZiAoIWNhY2hlKQogICAgICAgICByZXR1cm4gbmlsOwogICAgIAotICAgIEFjY2Vzc2liaWxpdHlP
YmplY3QqIG9iamVjdCA9IGNhY2hlLT5nZXRPckNyZWF0ZShhY3RpdmVBbm5vdGF0aW9uLT5lbGVt
ZW50KCkpOworICAgIFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCA9IGNhY2hl
LT5nZXRPckNyZWF0ZShhY3RpdmVBbm5vdGF0aW9uLT5lbGVtZW50KCkpOwogICAgIGlmICghb2Jq
ZWN0KQogICAgICAgICByZXR1cm4gbmlsOwogCkBAIC0zNTMsNyArMzUxLDcgQEAgLSAoaWQpYWNj
ZXNzaWJpbGl0eUFzc29jaWF0ZWRDb250cm9sRm9yQW5ub3RhdGlvbjooUERGQW5ub3RhdGlvbiAq
KWFubm90YXRpb24KIC0gKGlkKWFjY2Vzc2liaWxpdHlIaXRUZXN0OihOU1BvaW50KXBvaW50CiB7
CiAjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDAKLSAgICBwb2lu
dCA9IF9wZGZQbHVnaW4tPmNvbnZlcnRGcm9tUm9vdFZpZXdUb1BERlZpZXcoSW50UG9pbnQocG9p
bnQpKTsKKyAgICBwb2ludCA9IF9wZGZQbHVnaW4tPmNvbnZlcnRGcm9tUm9vdFZpZXdUb1BERlZp
ZXcoV2ViQ29yZTo6SW50UG9pbnQocG9pbnQpKTsKICAgICByZXR1cm4gW19wZGZMYXllckNvbnRy
b2xsZXIgYWNjZXNzaWJpbGl0eUhpdFRlc3Q6cG9pbnRdOwogI2Vsc2UKICAgICByZXR1cm4gc2Vs
ZjsKQEAgLTQyMSw3ICs0MTksNyBAQCAtIChpZClpbml0V2l0aFBERlBsdWdpbjooV2ViS2l0OjpQ
REZQbHVnaW4gKilwbHVnaW4KIAogLSAodm9pZCl1cGRhdGVTY3JvbGxQb3NpdGlvbjooQ0dQb2lu
dCluZXdQb3NpdGlvbgogewotICAgIF9wZGZQbHVnaW4tPm5vdGlmeVNjcm9sbFBvc2l0aW9uQ2hh
bmdlZChJbnRQb2ludChuZXdQb3NpdGlvbikpOworICAgIF9wZGZQbHVnaW4tPm5vdGlmeVNjcm9s
bFBvc2l0aW9uQ2hhbmdlZChXZWJDb3JlOjpJbnRQb2ludChuZXdQb3NpdGlvbikpOwogfQogCiAt
ICh2b2lkKXdyaXRlSXRlbXNUb1Bhc3RlYm9hcmQ6KE5TQXJyYXkgKilpdGVtcyB3aXRoVHlwZXM6
KE5TQXJyYXkgKil0eXBlcwpAQCAtNTAwLDYgKzQ5OCwxMCBAQCAtIChOU1JlY3QpY29udmVydFJl
Y3Q6KE5TUmVjdClyZWN0IGZyb21QYWdlOihQREZQYWdlICopIHBhZ2UgZm9yU2NhbGVGYWN0b3I6
KENHRgogLSAoUERGUGFnZSAqKXBhZ2VOZWFyZXN0UG9pbnQ6KE5TUG9pbnQpcG9pbnQgY3VycmVu
dFBhZ2U6KFBERlBhZ2UgKiljdXJyZW50UGFnZTsKIEBlbmQKIAorbmFtZXNwYWNlIFdlYktpdCB7
Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKK3VzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CisK
IHN0YXRpYyBjb25zdCBjaGFyKiBwb3N0U2NyaXB0TUlNRVR5cGUgPSAiYXBwbGljYXRpb24vcG9z
dHNjcmlwdCI7CiBjb25zdCB1aW50NjRfdCBwZGZEb2N1bWVudFJlcXVlc3RJRCA9IDE7IC8vIFBs
dWdpbkNvbnRyb2xsZXIgc3VwcG9ydHMgbG9hZGluZyBtdWx0aXBsZSBzdHJlYW1zLCBidXQgd2Ug
b25seSBuZWVkIG9uZSBmb3IgUERGLgogCkBAIC01OTYsOSArNTk4LDYgQEAgc3RhdGljIHZvaWQg
Z2V0QWxsU2NyaXB0c0luUERGRG9jdW1lbnQoQ0dQREZEb2N1bWVudFJlZiBwZGZEb2N1bWVudCwg
VmVjdG9yPFJldGEKICAgICB9CiB9CiAKLW5hbWVzcGFjZSBXZWJLaXQgewotdXNpbmcgbmFtZXNw
YWNlIEhUTUxOYW1lczsKLQogUmVmPFBERlBsdWdpbj4gUERGUGx1Z2luOjpjcmVhdGUoV2ViRnJh
bWUmIGZyYW1lKQogewogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFBERlBsdWdpbihmcmFtZSkp
OwpAQCAtMTQ1MCw3ICsxNDQ5LDcgQEAgdm9pZCBQREZQbHVnaW46OnVwZGF0ZUN1cnNvcihjb25z
dCBXZWJNb3VzZUV2ZW50JiBldmVudCwgVXBkYXRlQ3Vyc29yTW9kZSBtb2RlKQogICAgIGlmICho
aXRUZXN0UmVzdWx0ID09IG1fbGFzdEhpdFRlc3RSZXN1bHQgJiYgbW9kZSA9PSBVcGRhdGVJZk5l
ZWRlZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgd2ViRnJhbWUoKS0+cGFnZSgpLT5zZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNldEN1cnNvcihoaXRUZXN0UmVzdWx0ID09IFRleHQgPyBp
QmVhbUN1cnNvcigpIDogcG9pbnRlckN1cnNvcigpKSk7CisgICAgd2ViRnJhbWUoKS0+cGFnZSgp
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNldEN1cnNvcihoaXRUZXN0UmVzdWx0ID09
IFRleHQgPyBXZWJDb3JlOjppQmVhbUN1cnNvcigpIDogV2ViQ29yZTo6cG9pbnRlckN1cnNvcigp
KSk7CiAgICAgbV9sYXN0SGl0VGVzdFJlc3VsdCA9IGhpdFRlc3RSZXN1bHQ7CiB9CiAjZW5kaWYK
QEAgLTE5ODEsMTYgKzE5ODAsMTYgQEAgdm9pZCBQREZQbHVnaW46Om5vdGlmeVNlbGVjdGlvbkNo
YW5nZWQoUERGU2VsZWN0aW9uICopCiAgICAgd2ViRnJhbWUoKS0+cGFnZSgpLT5kaWRDaGFuZ2VT
ZWxlY3Rpb24oKTsKIH0KIAotc3RhdGljIGNvbnN0IEN1cnNvciYgY29yZUN1cnNvcihQREZMYXll
ckNvbnRyb2xsZXJDdXJzb3JUeXBlIHR5cGUpCitzdGF0aWMgY29uc3QgV2ViQ29yZTo6Q3Vyc29y
JiBjb3JlQ3Vyc29yKFBERkxheWVyQ29udHJvbGxlckN1cnNvclR5cGUgdHlwZSkKIHsKICAgICBz
d2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIGtQREZMYXllckNvbnRyb2xsZXJDdXJzb3JUeXBlSGFu
ZDoKLSAgICAgICAgcmV0dXJuIGhhbmRDdXJzb3IoKTsKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6
OmhhbmRDdXJzb3IoKTsKICAgICBjYXNlIGtQREZMYXllckNvbnRyb2xsZXJDdXJzb3JUeXBlSUJl
YW06Ci0gICAgICAgIHJldHVybiBpQmVhbUN1cnNvcigpOworICAgICAgICByZXR1cm4gV2ViQ29y
ZTo6aUJlYW1DdXJzb3IoKTsKICAgICBjYXNlIGtQREZMYXllckNvbnRyb2xsZXJDdXJzb3JUeXBl
UG9pbnRlcjoKICAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gcG9pbnRlckN1cnNvcigpOwor
ICAgICAgICByZXR1cm4gV2ViQ29yZTo6cG9pbnRlckN1cnNvcigpOwogICAgIH0KIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348525</attachid>
            <date>2018-08-30 12:11:40 -0700</date>
            <delta_ts>2018-08-30 12:11:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189009-20180830121139.patch</filename>
            <type>text/plain</type>
            <size>64388</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NTE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDE2NWM1NmVjZTkyNzU0NDI1OWU0OWJh
MDJlNDljYmJhNDEyZGJlNjIuLjkyNjdjMWY5OTA5ZTVhOGE3NmE0ZWUxZTRiZmUwNzRmZGFhYTg4
NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDgtMzAgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVuZGxlIHVuaWZpZWQgc291cmNlcyBtb3Jl
IHRpZ2h0bHkgaW4gcHJvamVjdHMgd2l0aCBkZWVwIGRpcmVjdG9yeSBzdHJ1Y3R1cmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwMDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL2dlbmVy
YXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmI6CisgICAgICAgIEl0IHR1cm5zIG91dCBvdXIg
cGxhbiB0byBzd2l0Y2ggdW5pZmllZCBzb3VyY2UgYnVuZGxlIGV2ZXJ5IHRpbWUgdGhlIGRpcmVj
dG9yeQorICAgICAgICBjaGFuZ2VzIGlzIG5vdCBhIGdvb2QgZml0IGZvciBwcm9qZWN0cyBsaWtl
IFdlYktpdDIgd2l0aCBtYW55IHNtYWxsIGRpcmVjdG9yaWVzLgorICAgICAgICBJdCBsZWF2ZXMg
bWFueSB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIHdpdGggb25seSBhIHNpbmdsZSBzb3VyY2UgZmls
ZSwKKyAgICAgICAgYWNoaWV2aW5nIG9ubHkgfjQwJSBkZW5zaXR5LgorCisgICAgICAgIEluc3Rl
YWQsIHN3aXRjaCB1bmlmaWVkIHNvdXJjZSBidW5kbGVzIGV2ZXJ5IHRpbWUgdGhlIHRvcC1sZXZl
bCBkaXJlY3RvcnkgY2hhbmdlcy4KKyAgICAgICAgVGhpcyBzdGlsbCBhY2hpZXZlcyB0aGUgZ29h
bCBvZiAqdXN1YWxseSogb25seSByZWJ1aWxkaW5nIHRoZSBvbmUgdG9wLWxldmVsCisgICAgICAg
IGRpcmVjdG9yeSB5b3UgdG91Y2hlZCwgYW5kIGluY3JlYXNlcyBzb3VyY2UgYnVuZGxlIGRlbnNp
dHkgd2lsZGx5LCB0byB+OTUlLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTgt
MDgtMjkgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5h
bWUgd3RmL3RleHQvbWFjL1N0cmluZ01hYy5tbSB0byB3dGYvdGV4dC9jb2NvY2EvU3RyaW5nQ29j
b2NhLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggMWM0ZGRlM2YyYjUyMjVmNWE3M2ZiM2Q3MTIyMWM1OTZmZjg2
MzIyMi4uNmU2NmIyNGM5NDZjMWYzMzY5YjNlYzIzYmViYTM5MTM4MmNlZWI3NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDM4IEBACisyMDE4LTA4LTMwICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0
b25AYXBwbGUuY29tPgorCisgICAgICAgIEJ1bmRsZSB1bmlmaWVkIHNvdXJjZXMgbW9yZSB0aWdo
dGx5IGluIHByb2plY3RzIHdpdGggZGVlcCBkaXJlY3Rvcnkgc3RydWN0dXJlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5MDA5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIEZpeCBhIHZhcmlldHkgb2YgdW5p
ZmljYXRpb24gZXJyb3JzIGR1ZSB0byByZXNodWZmbGluZyB0aGUgYnVuZGxlcy4KKworICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29udHJvbGxlci5jcHA6CisgICAgICAgICogU291
cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNEU0EuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtRUNEU0E6OmltcG9ydEtleSk6Cisg
ICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFRyZWVC
dWlsZGVyLmNwcDoKKyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVJl
c291cmNlTG9hZGVyLmg6CisgICAgICAgICogcGFnZS9BbHRlcm5hdGl2ZVRleHRDbGllbnQuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9QYXN0ZWJvYXJkLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuY3BwOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL1dlYkdMTGF5ZXIubW06CisgICAgICAgICgtW1dlYkdMTGF5ZXIgaW5p
dFdpdGhHcmFwaGljc0NvbnRleHQzRDpdKToKKyAgICAgICAgKC1bV2ViR0xMYXllciBjb3B5SW1h
Z2VTbmFwc2hvdFdpdGhDb2xvclNwYWNlOl0pOgorICAgICAgICAoLVtXZWJHTExheWVyIGRpc3Bs
YXldKToKKyAgICAgICAgKC1bV2ViR0xMYXllciBhbGxvY2F0ZUlPU3VyZmFjZUJhY2tpbmdTdG9y
ZVdpdGhTaXplOnVzaW5nQWxwaGE6XSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvV2ViR1BVTGF5ZXIubW06CisgICAgICAgICgtW1dlYkdQVUxheWVyIGluaXRXaXRoR1BVRGV2
aWNlOl0pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1
ZU1ldGFsLm1tOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tOgorICAg
ICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2Nv
YS5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNw
cDoKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zs
b3cuY3BwOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklu
bGluZS5jcHA6CisKIDIwMTgtMDgtMzAgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgTW9jayB2aWRlbyBkZXZpY2VzIHNob3VsZCBvbmx5IHN1cHBvcnQg
ZGlzY3JldGUgc2l6ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggOTY4OGE5YTE2MmVjZmYzYTQ0Y2YzZjljMDRmNTA0
ZjM1MDM4MzM4Ny4uMGI5Y2IzNzgwOTZjZTUxMDdkN2QzOGE5MjY2ZjY3OWRhM2E3YWI4NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw1MyBAQAorMjAxOC0wOC0zMCAgVGltIEhvcnRvbiAgPHRpbW90aHlf
aG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBCdW5kbGUgdW5pZmllZCBzb3VyY2VzIG1vcmUg
dGlnaHRseSBpbiBwcm9qZWN0cyB3aXRoIGRlZXAgZGlyZWN0b3J5IHN0cnVjdHVyZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTAwOQorCisgICAg
ICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBGaXggYSB2YXJpZXR5IG9m
IHVuaWZpY2F0aW9uIGVycm9ycyBkdWUgdG8gcmVzaHVmZmxpbmcgdGhlIGJ1bmRsZXMuCisKKyAg
ICAgICAgKiBTaGFyZWQvQVBJV2ViQXJjaGl2ZS5tbToKKyAgICAgICAgKiBTaGFyZWQvQVBJV2Vi
QXJjaGl2ZVJlc291cmNlLm1tOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21h
Yy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbToKKyAgICAgICAgKiBTaGFyZWQvUGx1Z2lucy9O
ZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW06CisgICAgICAgICogU291cmNlc0Nv
Y29hLnR4dDoKKyAgICAgICAgKiBTb3VyY2VzR1RLLnR4dDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lmg6CisgICAgICAgIChBUEk6OkF1dG9tYXRp
b25TZXNzaW9uQ2xpZW50OjpzZXNzaW9uSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgIChBUEk6
OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50OjptZXNzYWdlT2ZDdXJyZW50SmF2YVNjcmlwdERpYWxv
Z09uUGFnZSk6CisgICAgICAgIChBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50OjpzZXRVc2Vy
SW5wdXRGb3JDdXJyZW50SmF2YVNjcmlwdFByb21wdE9uUGFnZSk6CisgICAgICAgICogVUlQcm9j
ZXNzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbToKKyAgICAgICAg
KC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBpbml0V2l0aExlZ2FjeUN1c3RvbVByb3RvY29sTWFu
YWdlclByb3h5OmN1c3RvbVByb3RvY29sSUQ6cmVxdWVzdDpdKToKKyAgICAgICAgKC1bV0tDdXN0
b21Qcm90b2NvbExvYWRlciBjb25uZWN0aW9uOmRpZEZhaWxXaXRoRXJyb3I6XSk6CisgICAgICAg
ICgtW1dLQ3VzdG9tUHJvdG9jb2xMb2FkZXIgY29ubmVjdGlvbjpkaWRSZWNlaXZlUmVzcG9uc2U6
XSk6CisgICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6Z2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCk6CisgICAg
ICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YSk6CisgICAg
ICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEpOgorICAg
ICAgICAoV2ViS2l0OjpQbHVnaW5Qcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9ySG9z
dE5hbWVzKToKKyAgICAgICAgKFdlYktpdDo6Z2VuZXJhdGVDYWxsYmFja0lEKTogRGVsZXRlZC4K
KyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tOgorICAgICAgICAoLVtXS1Njcm9sbGluZ05vZGVTY3Jv
bGxWaWV3RGVsZWdhdGUgc2Nyb2xsVmlld1dpbGxFbmREcmFnZ2luZzp3aXRoVmVsb2NpdHk6dGFy
Z2V0Q29udGVudE9mZnNldDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdl
UHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6Z2VuZXJhdGVTdG9yYWdlUHJvY2Vz
c0NhbGxiYWNrSUQpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc1Byb3h5OjpmZXRj
aFdlYnNpdGVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVByb2Nlc3NQcm94eTo6ZGVs
ZXRlV2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc1Byb3h5Ojpk
ZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMpOgorICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZUNh
bGxiYWNrSUQpOiBEZWxldGVkLgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tOgor
ICAgICAgICAoLVtXS1BERlBsdWdpbkFjY2Vzc2liaWxpdHlPYmplY3QgYWNjZXNzaWJpbGl0eVBl
cmZvcm1BY3Rpb246XSk6CisgICAgICAgICgtW1dLUERGUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVj
dCBhY2Nlc3NpYmlsaXR5Rm9jdXNlZFVJRWxlbWVudF0pOgorICAgICAgICAoLVtXS1BERlBsdWdp
bkFjY2Vzc2liaWxpdHlPYmplY3QgYWNjZXNzaWJpbGl0eUFzc29jaWF0ZWRDb250cm9sRm9yQW5u
b3RhdGlvbjpdKToKKyAgICAgICAgKC1bV0tQREZQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0IGFj
Y2Vzc2liaWxpdHlIaXRUZXN0Ol0pOgorICAgICAgICAoLVtXS1BERkxheWVyQ29udHJvbGxlckRl
bGVnYXRlIHVwZGF0ZVNjcm9sbFBvc2l0aW9uOl0pOgorICAgICAgICAoV2ViS2l0OjpQREZQbHVn
aW46OnVwZGF0ZUN1cnNvcik6CisgICAgICAgIChXZWJLaXQ6OmNvcmVDdXJzb3IpOgorICAgICAg
ICAoYXBwZW5kVmFsdWVzSW5QREZOYW1lU3VidHJlZVRvVmVjdG9yKTogRGVsZXRlZC4KKyAgICAg
ICAgKGdldEFsbFZhbHVlc0luUERGTmFtZVRyZWUpOiBEZWxldGVkLgorICAgICAgICAoZ2V0QWxs
U2NyaXB0c0luUERGRG9jdW1lbnQpOiBEZWxldGVkLgorCiAyMDE4LTA4LTMwICBFcmljIENhcmxz
b24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIE1vY2sgdmlkZW8gZGV2aWNl
cyBzaG91bGQgb25seSBzdXBwb3J0IGRpc2NyZXRlIHNpemVzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL1NjcmlwdHMvZ2VuZXJhdGUtdW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYiBiL1NvdXJjZS9X
VEYvU2NyaXB0cy9nZW5lcmF0ZS11bmlmaWVkLXNvdXJjZS1idW5kbGVzLnJiCmluZGV4IGMwMTk2
NmVlMWIyYzY3ZDk3NjBmMDNhNWJiY2FhM2NiNTcyNjEyYjMuLjFmYjM2NTY2ZDkyZWRhZDFmNmZh
MzRkMTZhYjQ5NWE1MzQ2ZDU0OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9nZW5l
cmF0ZS11bmlmaWVkLXNvdXJjZS1idW5kbGVzLnJiCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9n
ZW5lcmF0ZS11bmlmaWVkLXNvdXJjZS1idW5kbGVzLnJiCkBAIC0yMTAsMTAgKzIxMCwyMCBAQCBj
bGFzcyBCdW5kbGVNYW5hZ2VyCiAgICAgZW5kCiBlbmQKIAorZGVmIFRvcExldmVsRGlyZWN0b3J5
Rm9yUGF0aChwYXRoKQorICAgIGlmICFwYXRoCisgICAgICAgIHJldHVybiBuaWwKKyAgICBlbmQK
KyAgICB3aGlsZSBwYXRoLmRpcm5hbWUgIT0gcGF0aC5kaXJuYW1lLmRpcm5hbWUKKyAgICAgICAg
cGF0aCA9IHBhdGguZGlybmFtZQorICAgIGVuZAorICAgIHJldHVybiBwYXRoCitlbmQKKwogZGVm
IFByb2Nlc3NGaWxlRm9yVW5pZmllZFNvdXJjZUdlbmVyYXRpb24oc291cmNlRmlsZSkKICAgICBw
YXRoID0gc291cmNlRmlsZS5wYXRoCi0gICAgaWYgKCRjdXJyZW50RGlyZWN0b3J5ICE9IHBhdGgu
ZGlybmFtZSkKLSAgICAgICAgbG9nKCJGbHVzaGluZyBiZWNhdXNlIG5ldyBkaXJuYW1lOyBvbGQ6
ICN7JGN1cnJlbnREaXJlY3Rvcnl9LCBuZXc6ICN7cGF0aC5kaXJuYW1lfSIpCisgICAgaWYgKFRv
cExldmVsRGlyZWN0b3J5Rm9yUGF0aCgkY3VycmVudERpcmVjdG9yeSkgIT0gVG9wTGV2ZWxEaXJl
Y3RvcnlGb3JQYXRoKHBhdGguZGlybmFtZSkpCisgICAgICAgIGxvZygiRmx1c2hpbmcgYmVjYXVz
ZSBuZXcgdG9wIGxldmVsIGRpcmVjdG9yeTsgb2xkOiAjeyRjdXJyZW50RGlyZWN0b3J5fSwgbmV3
OiAje3BhdGguZGlybmFtZX0iKQogICAgICAgICAkYnVuZGxlTWFuYWdlcnMuZWFjaF92YWx1ZSB7
IHx4fCB4LmZsdXNoIH0KICAgICAgICAgJGN1cnJlbnREaXJlY3RvcnkgPSBwYXRoLmRpcm5hbWUK
ICAgICBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybS5oCmluZGV4IDBjNmVmYjg2Mjk4MjUzOWQyYjRiMmNjNGY4ZjhiNWZj
YjRlYzg4ZTguLjY3Y2ZhOTMzMTNjOTA0MjFlYjZjZjE3OWQ5OGVmNzAzZGEwZTQ5ZGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxh
dGZvcm0uaApAQCAtMTMxNCw2ICsxMzE0LDcgQEAKICNpZiBQTEFURk9STShNQUMpCiAjZGVmaW5l
IEhBVkVfVE9VQ0hfQkFSIDEKICNkZWZpbmUgSEFWRV9BRFZBTkNFRF9TUEVMTF9DSEVDS0lORyAx
CisjZGVmaW5lIFVTRV9ESUNUQVRJT05fQUxURVJOQVRJVkVTIDEKIAogI2lmIGRlZmluZWQoX19M
UDY0X18pCiAjZGVmaW5lIEVOQUJMRV9XRUJfUExBWUJBQ0tfQ09OVFJPTFNfTUFOQUdFUiAxCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oIGIvU291cmNlL1dU
Ri93dGYvdGV4dC9TdHJpbmdCdWZmZXIuaAppbmRleCBmMjkzZDMzM2RiZTNlNDVlNjM3YTE0ODY3
MzNkMGEyZmQ4YzA4YzBjLi5lMzJjZDI2MGRkOTRkYjE1NTk4NWJmYjQ3NjI5YjhhOTExMzZjMjY5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmgKQEAgLTI5LDkgKzI5LDEwIEBACiAjaWZu
ZGVmIFN0cmluZ0J1ZmZlcl9oCiAjZGVmaW5lIFN0cmluZ0J1ZmZlcl9oCiAKLSNpbmNsdWRlIDx3
dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDx1bmljb2RlL3V0
eXBlcy5oPgorI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVkZSA8d3RmL01hbGxv
Y1B0ci5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jYWNoZS9Xb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAKaW5k
ZXggYWQyMDkzMjE5Zjg4ZTZkYTNlMWQ2MDYyNGU0MWFlOWE0MWRmNDkyNy4uMWViZGQ1ZGU0OGE3
ZTdlMWM5NmEwMWM3OGZlZDdkYTViYzRmYjg4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jYWNoZS9Xb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3Bw
CkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJDYWNoZVF1ZXJ5T3B0aW9ucy5oIgogI2lu
Y2x1ZGUgIkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgiCisjaW5jbHVkZSAiQ2xpZW50T3JpZ2luLmgi
CiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiV29y
a2VyR2xvYmFsU2NvcGUuaCIKQEAgLTM2LDcgKzM3LDYgQEAKICNpbmNsdWRlICJXb3JrZXJSdW5M
b29wLmgiCiAjaW5jbHVkZSAiV29ya2VyVGhyZWFkLmgiCiAKLQogbmFtZXNwYWNlIFdlYkNvcmUg
ewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb250cm9sbGVyLmNwcAppbmRl
eCA5NjEzMmU2OTczN2FlOThhNjBmOTU0ZjFmMzExODM4NDEwNzFlMGE5Li5jZGI3NzdlOTk5Mjky
MjFjZjBhOGYwMTE0MmIyZDA3ZWRlOWVmZWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29udHJvbGxlci5jcHAKQEAgLTI3LDYgKzI3LDcgQEAK
IAogI2lmIEVOQUJMRShXRUJfUlRDKQogCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRl
ICJMaWJXZWJSVENQcm92aWRlci5oIgogI2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9uLmgiCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVu
dFJlcXVlc3RVcGRhdGVFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRy
ZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuY3BwCmluZGV4IGMyMDUzMzVlYWE4ZTkx
OGE2ZDM4YWU0ZjJmZmM4MWFlZDQ1YTlhMGYuLjk0YjcxYzQ2NjE5MjQxMzVjMjFhZWE2OWQ0ODk5
ZDdiMDc1YTYyYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJl
cXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50LmNwcApAQCAt
MjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKFBBWU1FTlRfUkVRVUVTVCkKIAorI2luY2x1ZGUg
IkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJQYXltZW50UmVxdWVzdC5oIgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlz
cGxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAKaW5k
ZXggYWRiNzUxZDBjMzljMGE1NmI1ZTRkYzFmNTQyMTBiZGFhNGVkZmY3OC4uYTkzM2Q5ODBmY2Y1
YTk5MTc0YWIwZTBjNDAwMjA5MTZjYmYxYjM2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VidnIvVlJEaXNwbGF5LmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkNhbnZhc1Jl
bmRlcmluZ0NvbnRleHQuaCIKICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJET01FeGNl
cHRpb24uaCIKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgi
CiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxl
ci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jcnlwdG8vZ2NyeXB0L1V0
aWxpdGllcy5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jcnlwdG8vZ2NyeXB0L1V0aWxpdGll
cy5oCmluZGV4IDgyZmUxN2MwM2I0MTE3M2VjMTNkMzBiMmZjMzFmYWMxZDI4YTU4ZGYuLjYyOTJh
MGY4MGJiMGY1ODI2NTMyZmU0MWIzYmFhMDkxYmRlMmM2MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvY3J5cHRvL2djcnlwdC9VdGlsaXRpZXMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2NyeXB0by9nY3J5cHQvVXRpbGl0aWVzLmgKQEAgLTI4LDYgKzI4LDcgQEAK
IAogI2luY2x1ZGUgPGdjcnlwdC5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5j
bHVkZSA8d3RmL09wdGlvbmFsLmg+CiAKIG5hbWVzcGFjZSBQQUwgewogbmFtZXNwYWNlIEdDcnlw
dCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNl
L1dlYkNvcmUvU291cmNlc0NvY29hLnR4dAppbmRleCA2NmY3ZjE2YmQ2NGY4MmM0MzJiZWFlZDhl
NzBkMWI1ZmYwNjNhNTE3Li45NTdlNGI1YjY2MWI0MDIwZjBhMjFlZTAwOTVjMDE3NjQ2ZTQ5M2Ez
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKQEAgLTM4OSw3ICszODksNyBAQCBwbGF0Zm9ybS9p
b3MvUGxhdGZvcm1TY3JlZW5JT1MubW0KIHBsYXRmb3JtL2lvcy9QbGF0Zm9ybVNwZWVjaFN5bnRo
ZXNpemVySU9TLm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1BsYXliYWNrU2Vzc2lvbkludGVy
ZmFjZUFWS2l0Lm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1F1aWNrTG9vay5tbQotcGxhdGZv
cm0vaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tCitwbGF0Zm9ybS9pb3MvUXVpY2tMb29rU29mdExp
bmsubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLm1t
CiBwbGF0Zm9ybS9pb3MvU2Nyb2xsQW5pbWF0b3JJT1MubW0KIHBsYXRmb3JtL2lvcy9TY3JvbGxi
YXJUaGVtZUlPUy5tbQpAQCAtMzk5LDcgKzM5OSw3IEBAIHBsYXRmb3JtL2lvcy9TU0xLZXlHZW5l
cmF0b3JJT1MuY3BwCiBwbGF0Zm9ybS9pb3MvU3lzdGVtTWVtb3J5SU9TLmNwcAogcGxhdGZvcm0v
aW9zL1RoZW1lSU9TLm1tIEBuby11bmlmeQogcGxhdGZvcm0vaW9zL1RpbGVDb250cm9sbGVyTWVt
b3J5SGFuZGxlcklPUy5jcHAKLXBsYXRmb3JtL2lvcy9Vc2VyQWdlbnRJT1MubW0KK3BsYXRmb3Jt
L2lvcy9Vc2VyQWdlbnRJT1MubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9pb3MvVmFsaWRhdGlvbkJ1
YmJsZUlPUy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZh
Y2VBVktpdC5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIu
bW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0IGIvU291cmNlL1dl
YkNvcmUvU291cmNlc0dUSy50eHQKaW5kZXggNDYyNmI2ZmNiZTU0YTQ5NWVkMTBjNmJiODI0NDlh
MDQ5NzYyMjc3My4uZTYxNmYyN2U1YmVlMDkwZmI0YzdjNWM1MTJlNWI2NmEyMmM3N2Y1MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlc0dUSy50eHQKKysrIGIvU291cmNlL1dlYkNv
cmUvU291cmNlc0dUSy50eHQKQEAgLTYxLDE0ICs2MSwxNCBAQCBwbGF0Zm9ybS9Vc2VyQWdlbnRR
dWlya3MuY3BwCiAKIHBsYXRmb3JtL2dlb2NsdWUvR2VvbG9jYXRpb25Qcm92aWRlckdlb2NsdWUu
Y3BwCiAKLXBsYXRmb3JtL2dyYXBoaWNzL0dMQ29udGV4dC5jcHAKK3BsYXRmb3JtL2dyYXBoaWNz
L0dMQ29udGV4dC5jcHAgQG5vLXVuaWZ5CiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQzRFByaXZhdGUuY3BwCiAKLXBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJh
Y2tlbmRDYWlyb1gxMS5jcHAKK3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJh
Y2tlbmRDYWlyb1gxMS5jcHAgQG5vLXVuaWZ5CiAKIHBsYXRmb3JtL2dyYXBoaWNzL2VnbC9HTENv
bnRleHRFR0wuY3BwCiBwbGF0Zm9ybS9ncmFwaGljcy9lZ2wvR0xDb250ZXh0RUdMV2F5bGFuZC5j
cHAgQG5vLXVuaWZ5Ci1wbGF0Zm9ybS9ncmFwaGljcy9lZ2wvR0xDb250ZXh0RUdMWDExLmNwcAor
cGxhdGZvcm0vZ3JhcGhpY3MvZWdsL0dMQ29udGV4dEVHTFgxMS5jcHAgQG5vLXVuaWZ5CiAKIHBs
YXRmb3JtL2dyYXBoaWNzL2dseC9HTENvbnRleHRHTFguY3BwCiAKQEAgLTgyLDkgKzgyLDkgQEAg
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVWZXJ0aWNhbERhdGEuY3BwCiAKIHBs
YXRmb3JtL2dyYXBoaWNzL3dheWxhbmQvUGxhdGZvcm1EaXNwbGF5V2F5bGFuZC5jcHAKIAotcGxh
dGZvcm0vZ3JhcGhpY3MveDExL1BsYXRmb3JtRGlzcGxheVgxMS5jcHAKLXBsYXRmb3JtL2dyYXBo
aWNzL3gxMS9YRXJyb3JUcmFwcGVyLmNwcAotcGxhdGZvcm0vZ3JhcGhpY3MveDExL1hVbmlxdWVS
ZXNvdXJjZS5jcHAKK3BsYXRmb3JtL2dyYXBoaWNzL3gxMS9QbGF0Zm9ybURpc3BsYXlYMTEuY3Bw
IEBuby11bmlmeQorcGxhdGZvcm0vZ3JhcGhpY3MveDExL1hFcnJvclRyYXBwZXIuY3BwIEBuby11
bmlmeQorcGxhdGZvcm0vZ3JhcGhpY3MveDExL1hVbmlxdWVSZXNvdXJjZS5jcHAgQG5vLXVuaWZ5
CiAKIHBsYXRmb3JtL2d0ay9EcmFnRGF0YUd0ay5jcHAKIHBsYXRmb3JtL2d0ay9Mb2NhbGl6ZWRT
dHJpbmdzR3RrLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IGYzNjE4NzQ3NTNiMjNhYmU3ZTQ5MDdiMmRiYmUxNTAyYmJmMWI4
ZjkuLmExMWEyNzkzOTkwZTkzOTg1MTIzYmVlNjk3NDAzY2MwMmRjZjFlZGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTgwNCw2
ICs4MDQsOCBAQAogCQkyRDhCOTJGRjIwM0QxM0UxMDA5Qzg2OEYgLyogVW5pZmllZFNvdXJjZTUz
MC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBERTVG
ODVEMzFGQTIzODU5MDA2REI2M0IgLyogVW5pZmllZFNvdXJjZTUzMC5jcHAgKi87IH07CiAJCTJE
OEZFQkREMTQzRTNFRjcwMDcyNTAyQiAvKiBDU1NDcm9zc2ZhZGVWYWx1ZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ4RkVCREIxNDNFM0VGNzAwNzI1
MDJCIC8qIENTU0Nyb3NzZmFkZVZhbHVlLmggKi87IH07CiAJCTJEOTA2NjA3MEJFMTQxRDQwMDk1
Njk5OCAvKiBMYXlvdXRTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMkQ5MDY2MDUwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMkQ5MkE3OUEy
MTM0QUQ3OTAwRjQ5M0ZEIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzOTE3RkQxQTkxQjJGODAwNkUwNEYyIC8q
IFF1aWNrTG9va1NvZnRMaW5rLm1tICovOyB9OworCQkyRDkyQTc5RDIxMzRBRjk1MDBGNDkzRkQg
LyogVXNlckFnZW50SU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTNBRjlEODMyMDMyNTY5MTAwNkNBRDA2IC8qIFVzZXJBZ2VudElPUy5tbSAqLzsg
fTsKIAkJMkQ5M0FFRTMxOURGNTY0MTAwMkE4NkMzIC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xs
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOTNB
RUUxMTlERjU2NDEwMDJBODZDMyAvKiBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmggKi87IH07
CiAJCTJEOTdGMDQ3MTlERDQxM0MwMDFFRTlDMyAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRBQUUzMkMx
OURDQUY2MDAwRTAwMkQyIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5jcHAgKi87IH07CiAJCTJE
OTdGMDQ4MTlERDQxNDAwMDFFRTlDMyAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQUFFMzJEMTlEQ0FGNjAw
MEUwMDJEMiAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuaCAqLzsgfTsKQEAgLTcwNjYsNyArNzA2
OCw3IEBACiAJCTMzOUI1QjYyMTMxREFBMzIwMEY0OEQwMiAvKiBDb29raWVzU3RyYXRlZ3kuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29va2llc1N0cmF0ZWd5Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM2NjJGOTg0MDQ3Q0VEQkU1REREQUZBQSAvKiBSZW5k
ZXJNYXRoTUxNZW5jbG9zZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBSZW5kZXJNYXRoTUxNZW5jbG9zZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTM3MTE5QTc5MjBDQ0I2MTAwMDJDNkRDOSAvKiBXZWJLaXRUYXJnZXRDb25kaXRpb25hbHMueGNj
b25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0LnhjY29uZmlnOyBwYXRoID0gV2ViS2l0VGFyZ2V0Q29uZGl0aW9uYWxzLnhjY29uZmlnOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkzNzE3RDdFNTE3RUNDM0E2MDAzQzI3NkQgLyog
ZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucGVybDsgbmFtZSA9IGV4dHJhY3Qt
bG9jYWxpemFibGUtc3RyaW5ncy5wbDsgcGF0aCA9ICJTY3JpcHRzL2V4dHJhY3QtbG9jYWxpemFi
bGUtc3RyaW5ncy5wbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTM3MTdEN0U1MTdF
Q0MzQTYwMDNDMjc2RCAvKiBleHRyYWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5wZXJs
OyBuYW1lID0gImV4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCI7IHBhdGggPSAiU2NyaXB0
cy9leHRyYWN0LWxvY2FsaXphYmxlLXN0cmluZ3MucGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkzNzFBNjdDQTExQzZDN0RCMDAwNDdCOEIgLyogSHlwaGVuYXRpb25DRi5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIeXBoZW5hdGlvbkNGLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzcxRTY1Q0IxMzY2MUVEQzAwQkVFREIwIC8qIFBh
Z2VTZXJpYWxpemVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhZ2VTZXJp
YWxpemVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3MUU2NUNEMTM2NjFFRUQw
MEJFRURCMCAvKiBQYWdlU2VyaWFsaXplci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBQYWdlU2VyaWFsaXplci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0xMzM1Miw4ICsxMzM1NCw4IEBACiAJCUNERTU5NTlDMUJGMjc1NzEwMEExQ0JFOCAvKiBD
RE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gQ0RNU2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQy5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFNjU2MEUxN0NBNkU3NjAwNTI2QkE3IC8qIG1lZGlhQ29u
dHJvbHNBcHBsZS5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9IG1lZGlhQ29udHJvbHNBcHBsZS5q
czsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFNjY3QTExRTRCQkE0RDAwRTgxNTRB
IC8qIFBsYXRmb3JtQXVkaW9EYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFBsYXRmb3JtQXVkaW9EYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNERTY2
N0EyMUU0QkJGMTUwMEU4MTU0QSAvKiBXZWJBdWRpb0J1ZmZlckxpc3QuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gY29jb2EvV2ViQXVkaW9CdWZmZXJMaXN0LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQ0RFNjY3QTMxRTRCQkYxNTAwRTgxNTRBIC8q
IFdlYkF1ZGlvQnVmZmVyTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBj
b2NvYS9XZWJBdWRpb0J1ZmZlckxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
Q0RFNjY3QTIxRTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJBdWRpb0J1ZmZlckxpc3QuY3BwOyBw
YXRoID0gY29jb2EvV2ViQXVkaW9CdWZmZXJMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQ0RFNjY3QTMxRTRCQkYxNTAwRTgxNTRBIC8qIFdlYkF1ZGlvQnVmZmVyTGlzdC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJBdWRpb0J1ZmZlckxpc3QuaDsg
cGF0aCA9IGNvY29hL1dlYkF1ZGlvQnVmZmVyTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDREU3RkM0MjE4MTkwNEIxMDAyQkJCNzcgLyogT3JkZXJJdGVyYXRvci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBPcmRlckl0ZXJhdG9yLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFN0ZDNDMxODE5MDRCMTAwMkJCQjc3IC8qIE9y
ZGVySXRlcmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT3JkZXJJdGVy
YXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU4M0RBRjE4M0M0NDA2MDAz
MUVBQTMgLyogVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMzE0MzIsNiArMzE0MzQsNyBAQAogCQkJCUFBMTJERjQ5MTc0M0RGODMw
MDREQUZERiAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVySU9TLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJQ0RBMjlBMzAxQ0JGNzRENDAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lvbkludGVyZmFj
ZUFWS2l0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RBMjlBMTYxQ0JEQTU2QzAwOTAxQ0NGIC8q
IFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTJEOTJB
NzlBMjEzNEFENzkwMEY0OTNGRCAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTQxOTI0MjQ5MjEyN0I5M0UwMDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9T
b3VyY2VDb2NvYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTMxNkRDQjhBMUU3QTY5OTYwMDFCNUY4
NyAvKiBSVENJY2VUcmFuc3BvcnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1MTE1NkUxMkIx
NzQ5QzAwQzk2NzU0IC8qIFNjcm9sbEFuaW1hdG9yTWFjLm1tIGluIFNvdXJjZXMgKi8sCkBAIC0z
MjA0Niw2ICszMjA0OSw3IEBACiAJCQkJMkQ4QjkyRkQyMDNEMTNFMTAwOUM4NjhGIC8qIFVuaWZp
ZWRTb3VyY2U1MjguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ4QjkyRkUyMDNEMTNFMTAwOUM4
NjhGIC8qIFVuaWZpZWRTb3VyY2U1MjkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ4QjkyRkYy
MDNEMTNFMTAwOUM4NjhGIC8qIFVuaWZpZWRTb3VyY2U1MzAuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJMkQ5MkE3OUQyMTM0QUY5NTAwRjQ5M0ZEIC8qIFVzZXJBZ2VudElPUy5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCTUzMjA0MjAyMUY5QTlGMTAwMEI4MUIyQSAvKiBVc2VyQWdlbnRTY3JpcHRzRGF0
YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzNCNzk3MTE5MDg3NTdCMDBCNDdBMkQgLyogVXNl
ck1lc3NhZ2VIYW5kbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDRTY4MzQ0MTkyMTQzQTgw
MEY0RDkyOCAvKiBVc2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9yLmNwcCBpbiBTb3VyY2VzICov
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxn
b3JpdGhtRUNEU0EuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRv
QWxnb3JpdGhtRUNEU0EuY3BwCmluZGV4IDk3MzE3ZTA0YTk3OTdmMTU2MTZkZTRjNzYwOGI3NDVk
OWZkZWRlZjcuLjFiNTNjNDUzYjM1MjUzNmI0ODEyZWRkMmFhNjRkOTFlOTVkZjg1NGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUVD
RFNBLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdv
cml0aG1FQ0RTQS5jcHAKQEAgLTM2LDEyICszNiwxNCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKK25hbWVzcGFjZSBDcnlwdG9BbGdvcml0aG1FQ0RTQUludGVybmFsIHsKIHN0YXRpYyBjb25z
dCBjaGFyKiBjb25zdCBBTEcyNTYgPSAiRVMyNTYiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0
IEFMRzM4NCA9ICJFUzM4NCI7CiBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHNTEyID0gIkVT
NTEyIjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBQMjU2ID0gIlAtMjU2IjsKIHN0YXRpYyBj
b25zdCBjaGFyKiBjb25zdCBQMzg0ID0gIlAtMzg0IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25z
dCBQNTIxID0gIlAtNTIxIjsKK30KIAogUmVmPENyeXB0b0FsZ29yaXRobT4gQ3J5cHRvQWxnb3Jp
dGhtRUNEU0E6OmNyZWF0ZSgpCiB7CkBAIC0xMDIsNiArMTA0LDcgQEAgdm9pZCBDcnlwdG9BbGdv
cml0aG1FQ0RTQTo6Z2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyYg
cGFyYW1ldGUKIAogdm9pZCBDcnlwdG9BbGdvcml0aG1FQ0RTQTo6aW1wb3J0S2V5KENyeXB0b0tl
eUZvcm1hdCBmb3JtYXQsIEtleURhdGEmJiBkYXRhLCBjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJh
bWV0ZXJzJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1h
cCB1c2FnZXMsIEtleUNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhj
ZXB0aW9uQ2FsbGJhY2spCiB7CisgICAgdXNpbmcgbmFtZXNwYWNlIENyeXB0b0FsZ29yaXRobUVD
RFNBSW50ZXJuYWw7CiAgICAgY29uc3QgYXV0byYgZWNQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5
cHRvQWxnb3JpdGhtRWNLZXlQYXJhbXM+KHBhcmFtZXRlcnMpOwogCiAgICAgUmVmUHRyPENyeXB0
b0tleUVDPiByZXN1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ2NyeXB0
L0dDcnlwdFV0aWxpdGllcy5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2djcnlwdC9HQ3J5cHRV
dGlsaXRpZXMuaAppbmRleCBmMGE0MTM0NTZhOTQ0NTk5NThmOWE3ZjAyNTQ1MzQ0YjVmYjZjM2U1
Li4zNmY0OGQwNGQ3ODJkNTIzOTlkZDc3YzRiYzNkNzgyOGQ3OTVhOWYxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jcnlwdG8vZ2NyeXB0L0dDcnlwdFV0aWxpdGllcy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9nY3J5cHQvR0NyeXB0VXRpbGl0aWVzLmgKQEAgLTM0LDYgKzM0LDcg
QEAKICNpbmNsdWRlIDxwYWwvY3J5cHRvL0NyeXB0b0RpZ2VzdC5oPgogI2luY2x1ZGUgPHBhbC9j
cnlwdG8vZ2NyeXB0L0hhbmRsZS5oPgogI2luY2x1ZGUgPHBhbC9jcnlwdG8vZ2NyeXB0L1V0aWxp
dGllcy5oPgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggOWUzYzMxODUzZjEyM2VjOWJlYTNmNjkwYjg1ZTE3
YmFkMDc2NzVkNS4uZDM5OTM4NjYwOTk4ODYyZTc4ZGMwZTdiZDI1ODcxYTUwYjZhZjFhMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmgKQEAgLTY0MSw3ICs2NDEsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAg
V0VCQ09SRV9FWFBPUlQgRG9jdW1lbnRMb2FkZXIqIGxvYWRlcigpIGNvbnN0OwogCi0gICAgV0VC
Q09SRV9FWFBPUlQgRXhjZXB0aW9uT3I8UmVmUHRyPFdpbmRvd1Byb3h5Pj4gb3BlbkZvckJpbmRp
bmdzKERPTVdpbmRvdyYgYWN0aXZlV2luZG93LCBET01XaW5kb3cmIGZpcnN0V2luZG93LCBjb25z
dCBTdHJpbmcmIHVybCwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGZl
YXR1cmVzKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRpb25PcjxSZWZQdHI8V2luZG93UHJv
eHk+PiBvcGVuRm9yQmluZGluZ3MoRE9NV2luZG93JiBhY3RpdmVXaW5kb3csIERPTVdpbmRvdyYg
Zmlyc3RET01XaW5kb3csIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBBdG9taWNTdHJpbmcmIG5h
bWUsIGNvbnN0IFN0cmluZyYgZmVhdHVyZXMpOwogICAgIFdFQkNPUkVfRVhQT1JUIEV4Y2VwdGlv
bk9yPERvY3VtZW50Jj4gb3BlbkZvckJpbmRpbmdzKERvY3VtZW50KiByZXNwb25zaWJsZURvY3Vt
ZW50LCBjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgcmVwbGFjZSk7CiAKICAgICAv
LyBGSVhNRTogV2Ugc2hvdWxkIHJlbmFtZSB0aGlzIGF0IHNvbWUgcG9pbnQgYW5kIGdpdmUgYmFj
ayB0aGUgbmFtZSAnb3BlbicgdG8gdGhlIEhUTUwgc3BlY2lmaWVkIG9uZXMuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAppbmRleCBlNDBmOWE4ODZm
MTU5MDRlNjJmMGYyNjg4YTg2OWE2OTg4OWI0YTg5Li5jNzMxOTIyYWY4Mjk4M2I5ZGFhNmJjN2Zl
NTIyNzg2MzczMTY4M2ZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MVHJlZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
cmVlQnVpbGRlci5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJIVE1MRG9jdW1lbnRQ
YXJzZXIuaCIKICNpbmNsdWRlICJIVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgiCiAjaW5jbHVkZSAi
SFRNTEZvcm1FbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgogI2luY2x1
ZGUgIkhUTUxPcHRHcm91cEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MT3B0aW9uRWxlbWVudC5o
IgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2Fk
ZXIuaAppbmRleCA3MmIyOTc1NWYxMWQ5NDA5NWZhN2VkZDUzMDk2OGY3YzU3YjU3YmViLi42ZDlh
MmRhOWJlMDMyMDA3YTgyZWRhNjhjMTZmZDJmMjhiMWMxMjgzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNv
dXJjZUxvYWRlci5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVk
ZSAiQXBwbGljYXRpb25DYWNoZVJlc291cmNlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmF3UmVzb3Vy
Y2UuaCIKICNpbmNsdWRlICJDYWNoZWRSYXdSZXNvdXJjZUNsaWVudC5oIgogI2luY2x1ZGUgIkNh
Y2hlZFJlc291cmNlSGFuZGxlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Fs
dGVybmF0aXZlVGV4dENsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9BbHRlcm5hdGl2ZVRl
eHRDbGllbnQuaAppbmRleCA5MzU1OTM3ODhmOTg5OWM5ZTIyNTEwODhiNGU3NmQwMDVkM2QyZjk4
Li4xNDNkYTZjNDdmNGJjZWZjMGE0MWFhODc2NDY3ZDA0NDcxNWJhNzBhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0FsdGVybmF0aXZlVGV4dENsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmgKQEAgLTI5LDExICsyOSw2IEBACiAj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgog
Ci0jaWYgUExBVEZPUk0oTUFDKQotLy8gU29tZSBwbGF0Zm9ybXMgcHJvdmlkZSBVSSBmb3Igc3Vn
Z2VzdGluZyBhbHRlcm5hdGl2ZSBkaWN0YXRpb24gdGV4dC4KLSNkZWZpbmUgVVNFX0RJQ1RBVElP
Tl9BTFRFUk5BVElWRVMgMQotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBS
ZWFzb25Gb3JEaXNtaXNzaW5nQWx0ZXJuYXRpdmVUZXh0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bh
c3RlYm9hcmQuaAppbmRleCBkNTQzM2RkOTIwYWUwZWU1OTJiZDQ1ZmQ1NjBjZGQzZTM4YTM0NzIx
Li5lMDk4MTU2NTFiZDJkNjA1NzRkYTQyMzZjMzgwZmFkNGQ2MDIxNWE5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vUGFzdGVib2FyZC5oCkBAIC0zMzgsNiArMzM4LDcgQEAgZXh0ZXJuIE5TU3RyaW5n
ICpVSUNvbG9yUGJvYXJkVHlwZTsKICNpZiBQTEFURk9STShNQUMpCiBleHRlcm4gY29uc3QgY2hh
ciogY29uc3QgV2ViQXJjaGl2ZVBib2FyZFR5cGU7CiBleHRlcm4gY29uc3QgY2hhciogY29uc3Qg
V2ViVVJMTmFtZVBib2FyZFR5cGU7CitleHRlcm4gY29uc3QgY2hhciogY29uc3QgV2ViVVJMc1dp
dGhUaXRsZXNQYm9hcmRUeXBlOwogI2VuZGlmCiAKICNpZiAhUExBVEZPUk0oR1RLKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2Vzc2lvbk1hYy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TZXNzaW9uTWFjLmNw
cAppbmRleCA3OWFiOWY0MWJlNWNlNmRlODRjODhlM2E2OTE4MTBkMGY0OWE0MzkxLi5lOTE4MDk4
OGQ2OWM5NjUwOGRjMTIxYTE3MGU3MTJhZWFhY2NmZTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TZXNzaW9uTWFjLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TZXNzaW9uTWFjLmNwcApAQCAtMzMsNiAr
MzMsNyBAQAogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSA8Q29yZUF1ZGlv
L0F1ZGlvSGFyZHdhcmUuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgorI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRv
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1v
bml0b3IuY3BwCmluZGV4IDk2OGJiMjI4NmExZjdlNTg0NjRlZjg4ZDc5ZTYxZWY0MjQ5MDE1NWYu
LjNlMmM4MmI4YjEyZWRhMDlkYjQzZjRjMTMwMTRjNWJiYWMwYjcwMzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25p
dG9yLmNwcApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiRGlzcGxheVJlZnJlc2hNb25p
dG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlci5oIgor
I2luY2x1ZGUgIkxvZ2dpbmcuaCIKIAogI2lmIFBMQVRGT1JNKElPUykKICNpbmNsdWRlICJEaXNw
bGF5UmVmcmVzaE1vbml0b3JJT1MuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuY3BwCmlu
ZGV4IDIxNzY5MWY3MjM5NzRlODAwNTc5YjI4Y2MwNTZhN2I5YzA4NWM2NGQuLjE1YzAzODc2OTgy
NjBmNDA1ZTIyZTViZjUyNzgwMDMwOGM3ZmUzYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uTnVsbC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseVNwZWNpZmljYXRpb25O
dWxsLmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkZvbnRGYW1pbHlTcGVjaWZpY2F0
aW9uTnVsbC5oIgogCiAjaW5jbHVkZSAiRm9udFNlbGVjdG9yLmgiCisjaW5jbHVkZSA8d3RmL3Rl
eHQvQXRvbWljU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRHZW5lcmljRmFtaWxpZXMu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRHZW5lcmljRmFtaWxpZXMu
aAppbmRleCBmNzYyYmFlMmZmOTQxZTc1YTMyYjQ5ZjUzNDFjMjc4ZjAwY2E3N2VhLi40MmY0MmIy
ZTVjZDExMjA0ZjhjNmMxNTQyNjdlNGI4Y2UyNGM1YjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250R2VuZXJpY0ZhbWlsaWVzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEdlbmVyaWNGYW1pbGllcy5oCkBAIC0yOSw2
ICsyOSw3IEBACiAjaW5jbHVkZSA8dW5pY29kZS91c2NyaXB0Lmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KKyNpbmNsdWRlIDx3
dGYvdGV4dC9BdG9taWNTdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFRhZ2dlZFNldHRp
bmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRUYWdnZWRTZXR0
aW5ncy5jcHAKaW5kZXggNjFiMmViZWY2YzQ3NTAxMTMzMjFiZjE2YmE5Y2VlZTMwYzNmMjRlMC4u
YjBjYTQzZDU1YzQ1Y2I1MGQ3MzBmODkyZTE3ZDgwODY5Y2NkNDk2MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFRhZ2dlZFNldHRpbmdzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250VGFnZ2VkU2V0dGluZ3MuY3Bw
CkBAIC0yNyw5ICsyNyw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRm9udFRh
Z2dlZFNldHRpbmdzLmgiCiAKLSNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0U3RyZWFtLmg+Ci0KICNp
bmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmdIYXNoLmg+CisjaW5jbHVkZSA8d3RmL3RleHQv
VGV4dFN0cmVhbS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDYWlyby5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q2Fpcm8uY3BwCmluZGV4IDA2ZDlk
NzQ5NGE0YmVhYThlM2E5Y2U3YWZlNmRhYjM1YjFjMmRiNzguLjI4NmJjNmQ4ZTNjMjY1MzA0NmM2
M2I1MmIzNmQwOTAzMWYyMDhkOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhaXJvL0ZvbnRDYWlyby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2Fpcm8vRm9udENhaXJvLmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2lmIFVT
RShDQUlSTykKIAogI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgorI2luY2x1ZGUgIkNhaXJv
T3BlcmF0aW9ucy5oIgogI2luY2x1ZGUgIkNhaXJvVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiRm9u
dC5oIgogI2luY2x1ZGUgIkdseXBoQnVmZmVyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHTExheWVyLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5tbQppbmRleCAzZWQ3ZTQxZTdjNjg4
NDZmM2ZiYzE3MmNlNmJhOTg5ZmY4N2Y1N2ViLi44ZWUzNDhkODk5ODYzNDEzZDZiNjcxMzc2ZTVi
MWRhNTRjYjEzNzYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9XZWJHTExheWVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL1dlYkdMTGF5ZXIubW0KQEAgLTQyLDEzICs0MiwxMSBAQAogI2ltcG9ydCA8T3Bl
bkdML2dsLmg+CiAjZW5kaWYKIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIEBpbXBsZW1l
bnRhdGlvbiBXZWJHTExheWVyCiAKIEBzeW50aGVzaXplIGNvbnRleHQ9X2NvbnRleHQ7CiAKLS0o
aWQpaW5pdFdpdGhHcmFwaGljc0NvbnRleHQzRDooR3JhcGhpY3NDb250ZXh0M0QqKWNvbnRleHQK
Ky0oaWQpaW5pdFdpdGhHcmFwaGljc0NvbnRleHQzRDooV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
M0QqKWNvbnRleHQKIHsKICAgICBfY29udGV4dCA9IGNvbnRleHQ7CiAgICAgc2VsZiA9IFtzdXBl
ciBpbml0XTsKQEAgLTg2LDcgKzg0LDcgQEAgc3RhdGljIHZvaWQgZnJlZURhdGEodm9pZCAqLCBj
b25zdCB2b2lkICpkYXRhLCBzaXplX3QgLyogc2l6ZSAqLykKIH0KICNlbmRpZgogCi0tKENHSW1h
Z2VSZWYpY29weUltYWdlU25hcHNob3RXaXRoQ29sb3JTcGFjZTooQ0dDb2xvclNwYWNlUmVmKWNv
bG9yU3BhY2UKKy0gKENHSW1hZ2VSZWYpY29weUltYWdlU25hcHNob3RXaXRoQ29sb3JTcGFjZToo
Q0dDb2xvclNwYWNlUmVmKWNvbG9yU3BhY2UKIHsKICAgICBpZiAoIV9jb250ZXh0KQogICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKQEAgLTk2LDcgKzk0LDcgQEAgLShDR0ltYWdlUmVmKWNvcHlJbWFn
ZVNuYXBzaG90V2l0aENvbG9yU3BhY2U6KENHQ29sb3JTcGFjZVJlZiljb2xvclNwYWNlCiAKICAg
ICBSZXRhaW5QdHI8Q0dDb2xvclNwYWNlUmVmPiBpbWFnZUNvbG9yU3BhY2UgPSBjb2xvclNwYWNl
OwogICAgIGlmICghaW1hZ2VDb2xvclNwYWNlKQotICAgICAgICBpbWFnZUNvbG9yU3BhY2UgPSBz
UkdCQ29sb3JTcGFjZVJlZigpOworICAgICAgICBpbWFnZUNvbG9yU3BhY2UgPSBXZWJDb3JlOjpz
UkdCQ29sb3JTcGFjZVJlZigpOwogCiAgICAgQ0dSZWN0IGxheWVyQm91bmRzID0gQ0dSZWN0SW50
ZWdyYWwoW3NlbGYgYm91bmRzXSk7CiAKQEAgLTE0MSwxOSArMTM5LDE5IEBAIC0gKHZvaWQpZGlz
cGxheQogI2VuZGlmCiAKICAgICBfY29udGV4dC0+bWFya0xheWVyQ29tcG9zaXRlZCgpOwotICAg
IFBsYXRmb3JtQ0FMYXllciogbGF5ZXIgPSBQbGF0Zm9ybUNBTGF5ZXI6OnBsYXRmb3JtQ0FMYXll
cigoX19icmlkZ2Ugdm9pZCopc2VsZik7CisgICAgV2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyKiBs
YXllciA9IFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXllcjo6cGxhdGZvcm1DQUxheWVyKChfX2JyaWRn
ZSB2b2lkKilzZWxmKTsKICAgICBpZiAobGF5ZXIgJiYgbGF5ZXItPm93bmVyKCkpCiAgICAgICAg
IGxheWVyLT5vd25lcigpLT5wbGF0Zm9ybUNBTGF5ZXJMYXllckRpZERpc3BsYXkobGF5ZXIpOwog
fQogCiAjaWYgVVNFKE9QRU5HTCkKLS0gKHZvaWQpYWxsb2NhdGVJT1N1cmZhY2VCYWNraW5nU3Rv
cmVXaXRoU2l6ZTooSW50U2l6ZSlzaXplIHVzaW5nQWxwaGE6KEJPT0wpdXNpbmdBbHBoYQorLSAo
dm9pZClhbGxvY2F0ZUlPU3VyZmFjZUJhY2tpbmdTdG9yZVdpdGhTaXplOihXZWJDb3JlOjpJbnRT
aXplKXNpemUgdXNpbmdBbHBoYTooQk9PTCl1c2luZ0FscGhhCiB7CiAgICAgX2J1ZmZlclNpemUg
PSBzaXplOwogICAgIF91c2luZ0FscGhhID0gdXNpbmdBbHBoYTsKLSAgICBfY29udGVudHNCdWZm
ZXIgPSBXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShzaXplLCBzUkdCQ29sb3JTcGFjZVJlZigp
KTsKLSAgICBfZHJhd2luZ0J1ZmZlciA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUs
IHNSR0JDb2xvclNwYWNlUmVmKCkpOwotICAgIF9zcGFyZUJ1ZmZlciA9IFdlYkNvcmU6OklPU3Vy
ZmFjZTo6Y3JlYXRlKHNpemUsIHNSR0JDb2xvclNwYWNlUmVmKCkpOworICAgIF9jb250ZW50c0J1
ZmZlciA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlKHNpemUsIFdlYkNvcmU6OnNSR0JDb2xv
clNwYWNlUmVmKCkpOworICAgIF9kcmF3aW5nQnVmZmVyID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpj
cmVhdGUoc2l6ZSwgV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYoKSk7CisgICAgX3NwYXJlQnVm
ZmVyID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVhdGUoc2l6ZSwgV2ViQ29yZTo6c1JHQkNvbG9y
U3BhY2VSZWYoKSk7CiAKICAgICBBU1NFUlQoX2NvbnRlbnRzQnVmZmVyKTsKICAgICBBU1NFUlQo
X2RyYXdpbmdCdWZmZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvV2ViR1BVTGF5ZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jb2NvYS9XZWJHUFVMYXllci5tbQppbmRleCA1YzM1NTdmOGJkNjZhNjhjOTIzYjIzYWE2
NDdiYjcxNDg0MDllOWExLi4yNWVmYjhiNzQ3NjgwMjQ1NThkYmNkZjMwZjc0MzE4NzE0Njk1NWE4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJH
UFVMYXllci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9X
ZWJHUFVMYXllci5tbQpAQCAtMzQsMTMgKzM0LDExIEBACiAjaW1wb3J0IDx3dGYvRmFzdE1hbGxv
Yy5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKLQogQGltcGxlbWVudGF0aW9uIFdlYkdQVUxheWVyCiAKIEBzeW50aGVzaXplIGNvbnRleHQ9
X2NvbnRleHQ7CiAKLS0gKGlkKWluaXRXaXRoR1BVRGV2aWNlOihHUFVEZXZpY2UqKWNvbnRleHQK
Ky0gKGlkKWluaXRXaXRoR1BVRGV2aWNlOihXZWJDb3JlOjpHUFVEZXZpY2UqKWNvbnRleHQKIHsK
ICAgICBzZWxmID0gW3N1cGVyIGluaXRdOwogICAgIF9jb250ZXh0ID0gY29udGV4dDsKQEAgLTUw
LDcgKzQ4LDcgQEAgLSAoaWQpaW5pdFdpdGhHUFVEZXZpY2U6KEdQVURldmljZSopY29udGV4dAog
CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHNlbGYuY29udGVudHNTY2FsZSA9IF9kZXZpY2VQaXhl
bFJhdGlvOwotICAgIHNlbGYuY29sb3JzcGFjZSA9IHNSR0JDb2xvclNwYWNlUmVmKCk7CisgICAg
c2VsZi5jb2xvcnNwYWNlID0gV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYoKTsKICNlbmRpZgog
ICAgIHJldHVybiBzZWxmOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWV0YWwvR1BVQ29tbWFuZFF1ZXVlTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbQppbmRleCA4MjBh
ZjhiYzE2ZGIzYjQ4NjVlNzliN2I4MjRkYjJjN2I0ZGYzZWNjLi4zMDNiMjVkYTNkNGE2NGVkMWIw
MDMwYjcyYjlmZGJjNmY5NjVjMzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbQpAQCAt
MzEsNiArMzEsNyBAQAogI2ltcG9ydCAiR1BVRGV2aWNlLmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgi
CiAjaW1wb3J0IDxNZXRhbC9NZXRhbC5oPgorI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL1Bhc3RlYm9hcmRNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
UGFzdGVib2FyZE1hYy5tbQppbmRleCBjYjUwNGNmNTQzZWI3ZTgwZDc2NjVjZDFlNTdlMzA4OWFm
ZmIxYTcwLi5mZDZlOTI5ODc3NGZhZjRmZTg3MzViZjI3NTY1YWRjOTUzMmJmNjM2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQpAQCAtNTIsMTAgKzUy
LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY29uc3QgY2hhciogY29uc3QgV2ViQXJjaGl2
ZVBib2FyZFR5cGUgPSAiQXBwbGUgV2ViIEFyY2hpdmUgcGFzdGVib2FyZCB0eXBlIjsKIGNvbnN0
IGNoYXIqIGNvbnN0IFdlYlVSTE5hbWVQYm9hcmRUeXBlID0gInB1YmxpYy51cmwtbmFtZSI7Citj
b25zdCBjaGFyKiBjb25zdCBXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGUgPSAiV2ViVVJMc1dp
dGhUaXRsZXNQYm9hcmRUeXBlIjsKIAogY29uc3QgY2hhciBXZWJTbWFydFBhc3RlUGJvYXJkVHlw
ZVtdID0gIk5lWFQgc21hcnQgcGFzdGUgcGFzdGVib2FyZCB0eXBlIjsKIGNvbnN0IGNoYXIgV2Vi
VVJMUGJvYXJkVHlwZVtdID0gInB1YmxpYy51cmwiOwotY29uc3QgY2hhciBXZWJVUkxzV2l0aFRp
dGxlc1Bib2FyZFR5cGVbXSA9ICJXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGUiOwogCiBzdGF0
aWMgY29uc3QgVmVjdG9yPFN0cmluZz4gd3JpdGFibGVUeXBlc0ZvclVSTCgpCiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1
cmVNYW5hZ2VyQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL0Rpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29hLmNwcAppbmRleCA1YzJhOWQyNDE5OGExM2U0
OGM0ZjczZTlkZTYxZGQzN2FkZTkyNTUxLi5mNDkyZTYxNDJmMDIzMWI5OTdlOTZiYTU5Mjc5NTg4
NTY4MDkzM2FjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAK
QEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKKyNpbmNsdWRl
ICJDb3JlVmlkZW9Tb2Z0TGluay5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlIDx3
dGYvQWxnb3JpdGhtcy5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFz
ZS5jcHAKaW5kZXggMjU0MDk2NTZjM2Q2MzIwMzYxNjVmYWIxZGQ3NDllODhmY2E2ODQ4Mi4uZmY1
ODM2MTc0ZWFiOTU5NTI4YTIwN2JmYmFhYjYwMDM5ZDliNTAzMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwCkBA
IC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiSFRUUEhlYWRlck5hbWVzLmgiCiAjaW5jbHVkZSAi
UHVibGljU3VmZml4LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCisjaW5jbHVkZSAi
UmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5UG9saWN5LmgiCiAjaW5jbHVk
ZSA8d3RmL1BvaW50ZXJDb21wYXJpc29uLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5ldC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0Zvcm1EYXRhU3RyZWFtQ0ZOZXQuY3BwCmluZGV4IDI5
MDI1ZDM4YTdmZDM2ZmY5Yjk5NjIzOTFmMDgwODcwMjFmZjEzMGUuLmU1MzIxYzI3ZDRkOTY4YzY2
ZTRjZDRjNjc3OTYzZjVhN2Q2Y2FkZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5ldC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9jZi9Gb3JtRGF0YVN0cmVhbUNGTmV0LmNwcApAQCAtNDIsMTEg
KzQyLDcgQEAKICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1Ro
cmVhZGluZy5oPgogCi0jaWYgUExBVEZPUk0oSU9TKSAmJiAhUExBVEZPUk0oSU9TTUFDKQotc3Rh
dGljIGNvbnN0IFNJbnQzMiBmbmZFcnIgPSAtNDM7Ci0jZWxpZiBQTEFURk9STShNQUMpCi0jaW5j
bHVkZSA8Q29yZVNlcnZpY2VzL0NvcmVTZXJ2aWNlcy5oPgotI2VuZGlmCitzdGF0aWMgY29uc3Qg
U0ludDMyIGZpbGVOb3RGb3VuZEVycm9yID0gLTQzOwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiBl
eHRlcm4gIkMiIHZvaWQgQ0ZVUkxSZXF1ZXN0U2V0SFRUUFJlcXVlc3RCb2R5KENGTXV0YWJsZVVS
TFJlcXVlc3RSZWYgbXV0YWJsZUhUVFBSZXF1ZXN0LCBDRkRhdGFSZWYgaHR0cEJvZHkpOwpAQCAt
MjQxLDcgKzIzNyw3IEBAIHN0YXRpYyBCb29sZWFuIGZvcm1PcGVuKENGUmVhZFN0cmVhbVJlZiwg
Q0ZTdHJlYW1FcnJvciogZXJyb3IsIEJvb2xlYW4qIG9wZW5Db21wCiAjaWYgUExBVEZPUk0oV0lO
KQogICAgICAgICBFTk9FTlQ7CiAjZWxzZQotICAgICAgICBmbmZFcnI7CisgICAgICAgIGZpbGVO
b3RGb3VuZEVycm9yOwogI2VuZGlmCiAgICAgcmV0dXJuIG9wZW5lZDsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Tb3VwTmV0d29ya1Nlc3Npb24u
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Tb3VwTmV0d29ya1Nlc3Np
b24uaAppbmRleCBjNjNiZWZkMmYzMGYxNTA0MDE3Nzk5MjQ3OGU4ZGY0YjgzNzkwMjMyLi5kMWU5
ZDljZTViMjg5ZDE0Y2M2YzE2NTkzYmY0YWQwNjc4MjdlNTNhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvU291cE5ldHdvcmtTZXNzaW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1NvdXBOZXR3b3JrU2Vzc2lvbi5o
CkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIFNvdXBOZXR3b3JrU2Vzc2lvbl9oCiAjZGVmaW5l
IFNvdXBOZXR3b3JrU2Vzc2lvbl9oCiAKKyNpbmNsdWRlIDxnaW8vZ2lvLmg+CiAjaW5jbHVkZSA8
Z2xpYi1vYmplY3QuaD4KICNpbmNsdWRlIDxwYWwvU2Vzc2lvbklELmg+CiAjaW5jbHVkZSA8d3Rm
L0Z1bmN0aW9uLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1Rl
eHRDb2RlY1VURjguY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNV
VEY4LmNwcAppbmRleCBiMzE4ZTYyMmJjYmUxMTgwMTlhNDE2ODU2MzMzNTU2ZjEwNzJkNzllLi4y
MWYwMzhiYzZkNDViNDY4ZGUyYWVmNzQ2Nzk4NWI0ZDAyNWRjNzk2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVVRGOC5jcHAKQEAgLTI5LDYgKzI5LDcgQEAK
ICNpbmNsdWRlICJUZXh0Q29kZWNBU0NJSUZhc3RQYXRoLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQv
Q1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oPgorI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL0NoYXJhY3Rlck5h
bWVzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVVRGOC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9UZXh0Q29kZWNVVEY4LmgKaW5kZXggZjgyODJiNWYzNGE4OTQ3M2RlOWFkN2EyMTc2NWFm
NmEzMmFjZjk1Yy4uODRmNzE0N2U2ZGMzNGYyZTc1MTU2MTIxMDE5YmFmMTQwZTViYzFlNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4LmgKQEAgLTI2LDYg
KzI2LDcgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiVGV4dENvZGVjLmgiCisjaW5jbHVk
ZSA8dW5pY29kZS91dGY4Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvTENoYXIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0
aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5jcHAKaW5kZXggM2JjODJj
NmUxYWJkMmZhYzQzYjA5OWM4ZTZlM2NjZjM2NmRkODUzYi4uMmMyYjUwOGZhYzVjNmZjODQ2Mjg1
YzlmZmE4OTVhN2I0MDIyYjhlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cuY3BwCkBA
IC0yNyw2ICsyNyw4IEBACiAjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cuaCIK
IAogI2luY2x1ZGUgIlJlbmRlck11bHRpQ29sdW1uRmxvdy5oIgorI2luY2x1ZGUgIlJlbmRlclRy
ZWVCdWlsZGVyQmxvY2suaCIKKyNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlck11bHRpQ29sdW1u
LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyRm9ybUNvbnRyb2xzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckZvcm1Db250
cm9scy5jcHAKaW5kZXggODI3YzhiYjAxNzI4MDRkMjYxNjFiNjQzNjNjNjM1NWIyN2I4ZWFiMS4u
OTljNTc0Nzg0MzcwYTgzYTY0NTFjMWNiMmE0YWNiMmE5YzRjOTM2ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyRm9ybUNvbnRy
b2xzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJl
ZUJ1aWxkZXJGb3JtQ29udHJvbHMuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJS
ZW5kZXJCdXR0b24uaCIKICNpbmNsdWRlICJSZW5kZXJNZW51TGlzdC5oIgorI2luY2x1ZGUgIlJl
bmRlclRyZWVCdWlsZGVyQmxvY2suaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJ
bmxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVC
dWlsZGVySW5saW5lLmNwcAppbmRleCA3Y2QwNzE1ZGY1MjRhNzZmZDIwNmEyMzQyOGQ5ZGFjN2Q3
ZDg1M2Y4Li5lZTYzOWQ5ZmJiMmI5OGY2ODIwZDhhM2RmNTFjMjdlYTAyMmEzMzFhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJ
bmxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJU
cmVlQnVpbGRlcklubGluZS5jcHAKQEAgLTMwLDYgKzMwLDggQEAKICNpbmNsdWRlICJSZW5kZXJG
dWxsU2NyZWVuLmgiCiAjaW5jbHVkZSAiUmVuZGVySW5saW5lLmgiCiAjaW5jbHVkZSAiUmVuZGVy
VGFibGUuaCIKKyNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlck11bHRpQ29sdW1uLmgiCisjaW5j
bHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJUYWJsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVl
QnVpbGRlclJ1YnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRl
clRyZWVCdWlsZGVyUnVieS5jcHAKaW5kZXggN2FjMTliYWM1YmJjOGRkOWNjNjI0YmFhNDFkOWM4
OWM3MWQxMWE4OC4uYWMxMjQ1ZGM5MjVkOWMwOWRjYzE3YzMwMjVkMzIxNDFkZDk3NzYyYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWls
ZGVyUnVieS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRl
clRyZWVCdWlsZGVyUnVieS5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlclJ1YnkuaCIKIAorI2luY2x1ZGUgIlJlbmRl
ckFuY2VzdG9ySXRlcmF0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJSdWJ5LmgiCiAjaW5jbHVkZSAi
UmVuZGVyUnVieUJhc2UuaCIKICNpbmNsdWRlICJSZW5kZXJSdWJ5UnVuLmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNw
cAppbmRleCA3ZDc2YWY5NDI3NDYxNzVlYjlhMmM1OWU3MWE5NzEyNGZmYzBkYTI0Li42NTIyNmEw
NTUxZTVmMWVlNGE4MzQ4YmVjZDkzNWUzYmI0MDBhMDcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAKQEAgLTQx
LDYgKzQxLDggQEAKICNpbmNsdWRlICJSZW5kZXJEZXNjZW5kYW50SXRlcmF0b3IuaCIKICNpbmNs
dWRlICJSZW5kZXJGdWxsU2NyZWVuLmgiCiAjaW5jbHVkZSAiUmVuZGVySW5saW5lLmgiCisjaW5j
bHVkZSAiUmVuZGVyTXVsdGlDb2x1bW5GbG93LmgiCisjaW5jbHVkZSAiUmVuZGVyTXVsdGlDb2x1
bW5TZXQuaCIKICNpbmNsdWRlICJSZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQuaCIK
ICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAjaW5jbHVkZSAiU3R5bGVSZXNv
bHZlci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2ZS5t
bSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmUubW0KaW5kZXggYjE3NDJmZGZk
ZDM4NjllYWRkM2Q3YzVhZWU3MDVlNjYxZjk3ZWVkYy4uYjhjOTcyZjdlYzE4ZWI3ZDRjOWE3MWRl
MmI0ZTFlMmM2NWRlODc2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2Vi
QXJjaGl2ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlLm1tCkBA
IC0zNCw5ICszNCw4IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9MZWdhY3lXZWJBcmNoaXZlLmg+CiAj
aW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQog
bmFtZXNwYWNlIEFQSSB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogUmVmPFdlYkFyY2hp
dmU+IFdlYkFyY2hpdmU6OmNyZWF0ZShXZWJBcmNoaXZlUmVzb3VyY2UqIG1haW5SZXNvdXJjZSwg
UmVmUHRyPEFQSTo6QXJyYXk+JiYgc3VicmVzb3VyY2VzLCBSZWZQdHI8QVBJOjpBcnJheT4mJiBz
dWJmcmFtZUFyY2hpdmVzKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJ
V2ViQXJjaGl2ZVJlc291cmNlLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJV2ViQXJjaGl2
ZVJlc291cmNlLm1tCmluZGV4IGNhZTViODVkZjE3N2RkZGU2OGQ4NTJlNWU1MDZkOGQ5MmJlMmVh
OTQuLmRjMGY5MGYwZjM4NTFhYmYxMDA0ODRiYTU3M2FlNGFmOGU4MGIyMzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSVdlYkFyY2hpdmVSZXNvdXJjZS5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW0KQEAgLTMzLDkgKzMzLDgg
QEAKICNpbmNsdWRlIDxXZWJDb3JlL1VSTC5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4K
IAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIG5hbWVzcGFjZSBBUEkgewordXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAKIFJlZjxXZWJBcmNoaXZlUmVzb3VyY2U+IFdlYkFyY2hpdmVSZXNv
dXJjZTo6Y3JlYXRlKEFQSTo6RGF0YSogZGF0YSwgY29uc3QgU3RyaW5nJiBVUkwsIGNvbnN0IFN0
cmluZyYgTUlNRVR5cGUsIGNvbnN0IFN0cmluZyYgdGV4dEVuY29kaW5nKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVn
aW5Nb2R1bGVNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21h
Yy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbQppbmRleCA2OGQ3YzZhZGYzNjI3NTEzMTI5NjM1
NjI4NmYxMWU4NDljMTRjMmMwLi5jMGNjYWM1OTg1M2NmYWZmZDlmZjFkMWUzZDY4YjY3ZDY0NTdm
N2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21h
Yy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Q
bHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbQpAQCAtMzQsOSAr
MzQsOCBAQAogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KICNpbXBvcnQgPHd0Zi9zcGkvY2Yv
Q0ZCdW5kbGVTUEkuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIG5hbWVzcGFjZSBX
ZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIHN0YXRpYyBib29sIGdldFBsdWdp
bkFyY2hpdGVjdHVyZShDRkJ1bmRsZVJlZiBidW5kbGUsIFBsdWdpbk1vZHVsZUluZm8mIHBsdWdp
bikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUv
bWFjL1BsdWdpbkluZm9ybWF0aW9uTWFjLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lu
cy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW0KaW5kZXggNWVjODQyNDk1OWNi
YzE5Mjg4NmZhNzVhYmYwM2YzZDg4NWJjYjFkOS4uMzI1ODRkNDE2YmUwZmYyNWU5ZTkxZGRmNDI4
NzBlMzM5NGY0OTM2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9O
ZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luSW5mb3JtYXRpb25NYWMubW0KQEAgLTM0
LDkgKzM0LDggQEAKICNpbXBvcnQgIlN0cmluZ1V0aWxpdGllcy5oIgogI2ltcG9ydCA8V2ViQ29y
ZS9QbHVnaW5CbGFja2xpc3QuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIG5hbWVz
cGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIHZvaWQgZ2V0UGxhdGZv
cm1QbHVnaW5Nb2R1bGVJbmZvcm1hdGlvbihjb25zdCBQbHVnaW5Nb2R1bGVJbmZvJiBwbHVnaW4s
IEFQSTo6RGljdGlvbmFyeTo6TWFwVHlwZSYgbWFwKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0Cmlu
ZGV4IGQ4YTNjOTBkZmZlMzIyMzIyZDc2M2VlMjFlN2NiYTQ1MGZlODVmY2YuLjRiOGQ0ODA2YjQ0
ZjIyMDQ2NTg1NzdlYjdhOTY3OGNiOGUzNDc5YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKQEAg
LTI5OCw5ICsyOTgsOSBAQCBVSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0gQG5vLXVuaWZ5CiAK
IFVJUHJvY2Vzcy9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29h
Lm1tCiAKLVVJUHJvY2Vzcy9BcHBsZVBheS9pb3MvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlJ
T1MubW0KK1VJUHJvY2Vzcy9BcHBsZVBheS9pb3MvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlJ
T1MubW0gQG5vLXVuaWZ5CiAKLVVJUHJvY2Vzcy9BcHBsZVBheS9tYWMvV2ViUGF5bWVudENvb3Jk
aW5hdG9yUHJveHlNYWMubW0KK1VJUHJvY2Vzcy9BcHBsZVBheS9tYWMvV2ViUGF5bWVudENvb3Jk
aW5hdG9yUHJveHlNYWMubW0gQG5vLXVuaWZ5CiAKIFVJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9j
b2NvYS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5Q29jb2EubW0KIFVJUHJvY2Vzcy9BdXRo
ZW50aWNhdGlvbi9jb2NvYS9TZWNLZXlQcm94eVN0b3JlLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NvdXJjZXNHVEsudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzR1RLLnR4dAppbmRl
eCBhMmRjNWM5ODAwMmIzNWY3ZjlhZDU2ODY1MGRjYTFkNWU2M2E5ODkwLi40NDI5OTZkOTFiZjJl
ZjYyOGY2ZTRjY2Y3MDZkOGUxMzM2ODllNDY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXNHVEsudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0dUSy50eHQKQEAgLTIwNywx
NiArMjA3LDE2IEBAIFVJUHJvY2Vzcy9OZXR3b3JrL0N1c3RvbVByb3RvY29scy9MZWdhY3lDdXN0
b21Qcm90b2NvbE1hbmFnZXJQcm94eS5jcHAKIAogVUlQcm9jZXNzL2xpbnV4L01lbW9yeVByZXNz
dXJlTW9uaXRvci5jcHAKIAotVUlQcm9jZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbkluZm9DYWNoZS5j
cHAKK1VJUHJvY2Vzcy9QbHVnaW5zL2d0ay9QbHVnaW5JbmZvQ2FjaGUuY3BwIEBuby11bmlmeQog
Ci1VSVByb2Nlc3MvUGx1Z2lucy91bml4L1BsdWdpbkluZm9TdG9yZVVuaXguY3BwCitVSVByb2Nl
c3MvUGx1Z2lucy91bml4L1BsdWdpbkluZm9TdG9yZVVuaXguY3BwIEBuby11bmlmeQogVUlQcm9j
ZXNzL1BsdWdpbnMvdW5peC9QbHVnaW5Qcm9jZXNzUHJveHlVbml4LmNwcCBAbm8tdW5pZnkKIAog
VUlQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU1hbmFnZXIuY3BwCiAKIFVJUHJvY2Vzcy9XZWJz
aXRlRGF0YS91bml4L1dlYnNpdGVEYXRhU3RvcmVVbml4LmNwcAogCi1VSVByb2Nlc3MvY2Fpcm8v
QmFja2luZ1N0b3JlQ2Fpcm8uY3BwCitVSVByb2Nlc3MvY2Fpcm8vQmFja2luZ1N0b3JlQ2Fpcm8u
Y3BwIEBuby11bmlmeQogCiBVSVByb2Nlc3MvZ2xpYi9SZW1vdGVJbnNwZWN0b3JDbGllbnQuY3Bw
CiAKQEAgLTIyOSwxNiArMjI5LDE2IEBAIFVJUHJvY2Vzcy9ndGsvQWNjZWxlcmF0ZWRCYWNraW5n
U3RvcmVYMTEuY3BwIEBuby11bmlmeQogVUlQcm9jZXNzL2d0ay9EcmFnQW5kRHJvcEhhbmRsZXIu
Y3BwCiBVSVByb2Nlc3MvZ3RrL0dlc3R1cmVDb250cm9sbGVyLmNwcAogVUlQcm9jZXNzL2d0ay9I
YXJkd2FyZUFjY2VsZXJhdGlvbk1hbmFnZXIuY3BwCi1VSVByb2Nlc3MvZ3RrL0lucHV0TWV0aG9k
RmlsdGVyLmNwcAorVUlQcm9jZXNzL2d0ay9JbnB1dE1ldGhvZEZpbHRlci5jcHAgQG5vLXVuaWZ5
CiBVSVByb2Nlc3MvZ3RrL0tleUJpbmRpbmdUcmFuc2xhdG9yLmNwcAogVUlQcm9jZXNzL2d0ay9S
ZW1vdGVXZWJJbnNwZWN0b3JQcm94eUd0ay5jcHAgQG5vLXVuaWZ5CiBVSVByb2Nlc3MvZ3RrL1Rl
eHRDaGVja2VyR3RrLmNwcCBAbm8tdW5pZnkKIFVJUHJvY2Vzcy9ndGsvV2F5bGFuZENvbXBvc2l0
b3IuY3BwIEBuby11bmlmeQotVUlQcm9jZXNzL2d0ay9XZWJDb2xvclBpY2tlckd0ay5jcHAKK1VJ
UHJvY2Vzcy9ndGsvV2ViQ29sb3JQaWNrZXJHdGsuY3BwIEBuby11bmlmeQogVUlQcm9jZXNzL2d0
ay9XZWJDb250ZXh0TWVudVByb3h5R3RrLmNwcAogVUlQcm9jZXNzL2d0ay9XZWJJbnNwZWN0b3JQ
cm94eUd0ay5jcHAKIFVJUHJvY2Vzcy9ndGsvV2ViS2l0SW5zcGVjdG9yV2luZG93LmNwcAotVUlQ
cm9jZXNzL2d0ay9XZWJQYWdlUHJveHlHdGsuY3BwCitVSVByb2Nlc3MvZ3RrL1dlYlBhZ2VQcm94
eUd0ay5jcHAgQG5vLXVuaWZ5CiBVSVByb2Nlc3MvZ3RrL1dlYlBhc3RlYm9hcmRQcm94eUd0ay5j
cHAKIFVJUHJvY2Vzcy9ndGsvV2ViUG9wdXBNZW51UHJveHlHdGsuY3BwCiBVSVByb2Nlc3MvZ3Rr
L1dlYlByZWZlcmVuY2VzR3RrLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaAppbmRleCBiZmM1ZWUzMzgyMjBk
OTE1NmZjY2YwMGMxZTc2ZDBiYmVlOTA0MTkwLi4zNzljODg1N2JlOTRiNjE5NTU1ZWRmZmVjNGMz
YTlhNmUxNzc5NDg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJ
QXV0b21hdGlvblNlc3Npb25DbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaApAQCAtNTEsNyArNTEsNyBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIH5BdXRvbWF0aW9uU2Vzc2lvbkNsaWVudCgpIHsgfQogCi0gICAgdmly
dHVhbCBTdHJpbmcgc2Vzc2lvbklkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBTdHJpbmcoKTsg
fQorICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgc2Vzc2lvbklkZW50aWZpZXIoKSBjb25zdCB7IHJl
dHVybiBXVEY6OlN0cmluZygpOyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZERpc2Nvbm5lY3RGcm9t
UmVtb3RlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mKSB7IH0KICAgICB2aXJ0dWFsIHZv
aWQgcmVxdWVzdE5ld1BhZ2VXaXRoT3B0aW9ucyhXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9u
JiwgQXV0b21hdGlvblNlc3Npb25Ccm93c2luZ0NvbnRleHRPcHRpb25zLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKFdlYktpdDo6V2ViUGFnZVByb3h5Kik+JiYgY29tcGxldGlvbkhhbmRsZXIpIHsg
Y29tcGxldGlvbkhhbmRsZXIobnVsbHB0cik7IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdE1h
eGltaXplV2luZG93T2ZQYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6
OldlYlBhZ2VQcm94eSYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikgeyBjb21wbGV0aW9uSGFuZGxlcigpOyB9CkBAIC02MSw4ICs2MSw4IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIGJvb2wgaXNTaG93aW5nSmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJLaXQ6
OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IHJldHVybiBm
YWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNtaXNzQ3VycmVudEphdmFTY3JpcHREaWFsb2dP
blBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5
JikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGFjY2VwdEN1cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25Q
YWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYp
IHsgfQotICAgIHZpcnR1YWwgU3RyaW5nIG1lc3NhZ2VPZkN1cnJlbnRKYXZhU2NyaXB0RGlhbG9n
T25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94
eSYpIHsgcmV0dXJuIFN0cmluZygpOyB9Ci0gICAgdmlydHVhbCB2b2lkIHNldFVzZXJJbnB1dEZv
ckN1cnJlbnRKYXZhU2NyaXB0UHJvbXB0T25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Np
b24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIGNvbnN0IFN0cmluZyYpIHsgfQorICAgIHZpcnR1
YWwgV1RGOjpTdHJpbmcgbWVzc2FnZU9mQ3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2Vi
S2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyByZXR1
cm4gV1RGOjpTdHJpbmcoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBzZXRVc2VySW5wdXRGb3JDdXJy
ZW50SmF2YVNjcmlwdFByb21wdE9uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwg
V2ViS2l0OjpXZWJQYWdlUHJveHkmLCBjb25zdCBXVEY6OlN0cmluZyYpIHsgfQogICAgIHZpcnR1
YWwgc3RkOjpvcHRpb25hbDxKYXZhU2NyaXB0RGlhbG9nVHlwZT4gdHlwZU9mQ3VycmVudEphdmFT
Y3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6
V2ViUGFnZVByb3h5JikgeyByZXR1cm4gc3RkOjpudWxsb3B0OyB9CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFn
ZXJDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9MZWdhY3lDdXN0b21Q
cm90b2NvbE1hbmFnZXJDbGllbnQubW0KaW5kZXggMTFiYTM3MjY1NDgzZmZlN2ZmMjQ2NTA5NDBk
OGYzM2E1MmMwYzA0YS4uMTlhNTliNDJjYWI3YjU0N2VkOTQ0NjBlNzJmYzAzOTZjZmU3OTI4NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJv
dG9jb2xNYW5hZ2VyQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbQpAQCAtMzIsMjMgKzMyLDIwIEBA
CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgogI2ltcG9ydCA8V2ViQ29yZS9S
ZXNvdXJjZVJlc3BvbnNlLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotdXNpbmcgbmFt
ZXNwYWNlIFdlYktpdDsKLQogQGludGVyZmFjZSBXS0N1c3RvbVByb3RvY29sTG9hZGVyIDogTlNP
YmplY3QgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlPiB7CiBAcHJpdmF0ZQotICAgIExlZ2FjeUN1
c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk7Cisg
ICAgV2ViS2l0OjpMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSogX2N1c3RvbVByb3Rv
Y29sTWFuYWdlclByb3h5OwogICAgIHVpbnQ2NF90IF9jdXN0b21Qcm90b2NvbElEOwogICAgIE5T
VVJMQ2FjaGVTdG9yYWdlUG9saWN5IF9zdG9yYWdlUG9saWN5OwogICAgIE5TVVJMQ29ubmVjdGlv
biAqX3VybENvbm5lY3Rpb247CiB9Ci0tIChpZClpbml0V2l0aExlZ2FjeUN1c3RvbVByb3RvY29s
TWFuYWdlclByb3h5OihMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSopY3VzdG9tUHJv
dG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJvdG9jb2xJRDoodWludDY0X3QpY3VzdG9tUHJvdG9j
b2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0OworLSAoaWQpaW5pdFdpdGhMZWdh
Y3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTooV2ViS2l0OjpMZWdhY3lDdXN0b21Qcm90b2Nv
bE1hbmFnZXJQcm94eSopY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJvdG9jb2xJ
RDoodWludDY0X3QpY3VzdG9tUHJvdG9jb2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1
ZXN0OwogLSAodm9pZCljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eURlc3Ryb3llZDsKIEBlbmQK
IAogQGltcGxlbWVudGF0aW9uIFdLQ3VzdG9tUHJvdG9jb2xMb2FkZXIKIAotLSAoaWQpaW5pdFdp
dGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTooTGVnYWN5Q3VzdG9tUHJvdG9jb2xN
YW5hZ2VyUHJveHkqKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5IGN1c3RvbVByb3RvY29sSUQ6
KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVz
dAorLSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTooV2ViS2l0
OjpMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSopY3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
UHJveHkgY3VzdG9tUHJvdG9jb2xJRDoodWludDY0X3QpY3VzdG9tUHJvdG9jb2xJRCByZXF1ZXN0
OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0CiB7CiAgICAgc2VsZiA9IFtzdXBlciBpbml0XTsKICAg
ICBpZiAoIXNlbGYpCkBAIC04NSw3ICs4Miw3IEBAIC0gKHZvaWQpY3VzdG9tUHJvdG9jb2xNYW5h
Z2VyUHJveHlEZXN0cm95ZWQKIAogLSAodm9pZCljb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24g
Kiljb25uZWN0aW9uIGRpZEZhaWxXaXRoRXJyb3I6KE5TRXJyb3IgKillcnJvcgogewotICAgIFJl
c291cmNlRXJyb3IgY29yZUVycm9yKGVycm9yKTsKKyAgICBXZWJDb3JlOjpSZXNvdXJjZUVycm9y
IGNvcmVFcnJvcihlcnJvcik7CiAgICAgX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5LT5kaWRG
YWlsV2l0aEVycm9yKF9jdXN0b21Qcm90b2NvbElELCBjb3JlRXJyb3IpOwogICAgIF9jdXN0b21Q
cm90b2NvbE1hbmFnZXJQcm94eS0+c3RvcExvYWRpbmcoX2N1c3RvbVByb3RvY29sSUQpOwogfQpA
QCAtOTksNyArOTYsNyBAQCAtIChOU0NhY2hlZFVSTFJlc3BvbnNlICopY29ubmVjdGlvbjooTlNV
UkxDb25uZWN0aW9uICopY29ubmVjdGlvbiB3aWxsQ2FjaGVSZXNwbwogCiAtICh2b2lkKWNvbm5l
Y3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gZGlkUmVjZWl2ZVJlc3BvbnNlOihO
U1VSTFJlc3BvbnNlICopcmVzcG9uc2UKIHsKLSAgICBSZXNvdXJjZVJlc3BvbnNlIGNvcmVSZXNw
b25zZShyZXNwb25zZSk7CisgICAgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSBjb3JlUmVzcG9u
c2UocmVzcG9uc2UpOwogICAgIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS0+ZGlkUmVjZWl2
ZVJlc3BvbnNlKF9jdXN0b21Qcm90b2NvbElELCBjb3JlUmVzcG9uc2UsIF9zdG9yYWdlUG9saWN5
KTsKIH0KIApAQCAtMTI3LDYgKzEyNCw3IEBAIC0gKHZvaWQpY29ubmVjdGlvbkRpZEZpbmlzaExv
YWRpbmc6KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24KIEBlbmQKIAogbmFtZXNwYWNlIFdl
YktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogdm9pZCBMZWdhY3lDdXN0b21Qcm90
b2NvbE1hbmFnZXJDbGllbnQ6OnN0YXJ0TG9hZGluZyhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFn
ZXJQcm94eSYgbWFuYWdlciwgdWludDY0X3QgY3VzdG9tUHJvdG9jb2xJRCwgY29uc3QgUmVzb3Vy
Y2VSZXF1ZXN0JiBjb3JlUmVxdWVzdCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcAppbmRleCBjMmI5MWE2Mzk3M2U2
MzEyMGFhZTUyOGY4OTc1Mzg1ZjdiNmRiZjYyLi5lZGVkOWM3ZDJhNGU1OGUzZDA1OGQ4MzI2ODMx
MDk4MTgyYWY0NDc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QbHVnaW5z
L1BsdWdpblByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCkBAIC00OCw3ICs0OCw3IEBAIHN0YXRpYyBjb25z
dCBTZWNvbmRzIHNuYXBzaG90dGluZ01pbmltdW1MaWZldGltZSB7IDMwX3MgfTsKIHN0YXRpYyBj
b25zdCBTZWNvbmRzIHNodXRkb3duVGltZW91dCB7IDFfbWluIH07CiBzdGF0aWMgY29uc3QgU2Vj
b25kcyBzbmFwc2hvdHRpbmdTaHV0ZG93blRpbWVvdXQgeyAxNV9zIH07CiAKLXN0YXRpYyB1aW50
NjRfdCBnZW5lcmF0ZUNhbGxiYWNrSUQoKQorc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlUGx1Z2lu
UHJvY2Vzc0NhbGxiYWNrSUQoKQogewogICAgIHN0YXRpYyB1aW50NjRfdCBjYWxsYmFja0lEOwog
CkBAIC0xMTQsNyArMTE0LDcgQEAgdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmdldFBsdWdpblBy
b2Nlc3NDb25uZWN0aW9uKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkcKIAogdm9pZCBQbHVn
aW5Qcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAo
VmVjdG9yPFN0cmluZz4pPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIHVpbnQ2NF90IGNh
bGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICB1aW50NjRfdCBjYWxsYmFja0lE
ID0gZ2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVuZGluZ0ZldGNo
V2Vic2l0ZURhdGFDYWxsYmFja3Muc2V0KGNhbGxiYWNrSUQsIFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpKTsKIAogICAgIGlmIChzdGF0ZSgpID09IFN0YXRlOjpMYXVuY2hpbmcpIHsKQEAgLTEy
Nyw3ICsxMjcsNyBAQCB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YShD
b21wbGV0aW9uSGFuZGxlcjx2b2lkIChWZWN0b3I8U3RyaW5nPgogCiB2b2lkIFBsdWdpblByb2Nl
c3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEoV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICB1aW50NjRf
dCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7CisgICAgdWludDY0X3QgY2FsbGJh
Y2tJRCA9IGdlbmVyYXRlUGx1Z2luUHJvY2Vzc0NhbGxiYWNrSUQoKTsKICAgICBtX3BlbmRpbmdE
ZWxldGVXZWJzaXRlRGF0YUNhbGxiYWNrcy5zZXQoY2FsbGJhY2tJRCwgV1RGTW92ZShjb21wbGV0
aW9uSGFuZGxlcikpOwogCiAgICAgaWYgKHN0YXRlKCkgPT0gU3RhdGU6OkxhdW5jaGluZykgewpA
QCAtMTQwLDcgKzE0MCw3IEBAIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRl
RGF0YShXYWxsVGltZSBtb2RpZmllZFNpbmNlLCBDb21wbGV0aW9uSGFuCiAKIHZvaWQgUGx1Z2lu
UHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZvckhvc3ROYW1lcyhjb25zdCBWZWN0b3I8
U3RyaW5nPiYgaG9zdE5hbWVzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkICgpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQogewotICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNr
SUQoKTsKKyAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVQbHVnaW5Qcm9jZXNzQ2Fs
bGJhY2tJRCgpOwogICAgIG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5hbWVzQ2Fs
bGJhY2tzLnNldChjYWxsYmFja0lELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAKICAg
ICBpZiAoc3RhdGUoKSA9PSBTdGF0ZTo6TGF1bmNoaW5nKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxp
bmdOb2RlRGVsZWdhdGVJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXll
clRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW0KaW5kZXgg
NGEyZTI5YjU2MDk2MWE1OWIxY2I1NTE5NzgzOTE0OWMzMTA2ODRjMi4uNzJhODgyZjA1ODFkNWVh
YzkxZmMxNGJjMDVhMDJmMTQ0ZjE2YzExZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVn
YXRlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9p
b3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5tbQpAQCAtNDMsOCArNDMs
NiBAQAogI2ltcG9ydCA8V2ViQ29yZS9TY3JvbGxTbmFwT2Zmc2V0c0luZm8uaD4KICNlbmRpZgog
Ci11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogQGltcGxlbWVudGF0aW9uIFdLU2Nyb2xsaW5n
Tm9kZVNjcm9sbFZpZXdEZWxlZ2F0ZQogCiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhTY3JvbGxp
bmdUcmVlTm9kZURlbGVnYXRlOihXZWJLaXQ6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVs
ZWdhdGVJT1MqKWRlbGVnYXRlCkBAIC04MCw3ICs3OCw3IEBAIC0gKHZvaWQpc2Nyb2xsVmlld1dp
bGxFbmREcmFnZ2luZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldyB3aXRoVmVsb2NpdHk6KENH
UG9pCiAKICAgICBpZiAoIV9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2Rl
KCkuaG9yaXpvbnRhbFNuYXBPZmZzZXRzKCkuaXNFbXB0eSgpKSB7CiAgICAgICAgIHVuc2lnbmVk
IGluZGV4OwotICAgICAgICBmbG9hdCBwb3RlbnRpYWxTbmFwUG9zaXRpb24gPSBjbG9zZXN0U25h
cE9mZnNldChfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLmhvcml6
b250YWxTbmFwT2Zmc2V0cygpLCBfc2Nyb2xsaW5nVHJlZU5vZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5n
Tm9kZSgpLmhvcml6b250YWxTbmFwT2Zmc2V0UmFuZ2VzKCksIGhvcml6b250YWxUYXJnZXQsIHZl
bG9jaXR5LngsIGluZGV4KTsKKyAgICAgICAgZmxvYXQgcG90ZW50aWFsU25hcFBvc2l0aW9uID0g
V2ViQ29yZTo6Y2xvc2VzdFNuYXBPZmZzZXQoX3Njcm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNj
cm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNldHMoKSwgX3Njcm9sbGluZ1RyZWVOb2Rl
RGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS5ob3Jpem9udGFsU25hcE9mZnNldFJhbmdlcygpLCBo
b3Jpem9udGFsVGFyZ2V0LCB2ZWxvY2l0eS54LCBpbmRleCk7CiAgICAgICAgIF9zY3JvbGxpbmdU
cmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuc2V0Q3VycmVudEhvcml6b250YWxTbmFw
UG9pbnRJbmRleChpbmRleCk7CiAgICAgICAgIGlmIChob3Jpem9udGFsVGFyZ2V0ID49IDAgJiYg
aG9yaXpvbnRhbFRhcmdldCA8PSBzY3JvbGxWaWV3LmNvbnRlbnRTaXplLndpZHRoKQogICAgICAg
ICAgICAgdGFyZ2V0Q29udGVudE9mZnNldC0+eCA9IHBvdGVudGlhbFNuYXBQb3NpdGlvbjsKQEAg
LTg4LDcgKzg2LDcgQEAgLSAodm9pZClzY3JvbGxWaWV3V2lsbEVuZERyYWdnaW5nOihVSVNjcm9s
bFZpZXcgKilzY3JvbGxWaWV3IHdpdGhWZWxvY2l0eTooQ0dQb2kKIAogICAgIGlmICghX3Njcm9s
bGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52ZXJ0aWNhbFNuYXBPZmZzZXRz
KCkuaXNFbXB0eSgpKSB7CiAgICAgICAgIHVuc2lnbmVkIGluZGV4OwotICAgICAgICBmbG9hdCBw
b3RlbnRpYWxTbmFwUG9zaXRpb24gPSBjbG9zZXN0U25hcE9mZnNldChfc2Nyb2xsaW5nVHJlZU5v
ZGVEZWxlZ2F0ZS0+c2Nyb2xsaW5nTm9kZSgpLnZlcnRpY2FsU25hcE9mZnNldHMoKSwgX3Njcm9s
bGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52ZXJ0aWNhbFNuYXBPZmZzZXRS
YW5nZXMoKSwgdmVydGljYWxUYXJnZXQsIHZlbG9jaXR5LnksIGluZGV4KTsKKyAgICAgICAgZmxv
YXQgcG90ZW50aWFsU25hcFBvc2l0aW9uID0gV2ViQ29yZTo6Y2xvc2VzdFNuYXBPZmZzZXQoX3Nj
cm9sbGluZ1RyZWVOb2RlRGVsZWdhdGUtPnNjcm9sbGluZ05vZGUoKS52ZXJ0aWNhbFNuYXBPZmZz
ZXRzKCksIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkudmVydGlj
YWxTbmFwT2Zmc2V0UmFuZ2VzKCksIHZlcnRpY2FsVGFyZ2V0LCB2ZWxvY2l0eS55LCBpbmRleCk7
CiAgICAgICAgIF9zY3JvbGxpbmdUcmVlTm9kZURlbGVnYXRlLT5zY3JvbGxpbmdOb2RlKCkuc2V0
Q3VycmVudFZlcnRpY2FsU25hcFBvaW50SW5kZXgoaW5kZXgpOwogICAgICAgICBpZiAodmVydGlj
YWxUYXJnZXQgPj0gMCAmJiB2ZXJ0aWNhbFRhcmdldCA8PSBzY3JvbGxWaWV3LmNvbnRlbnRTaXpl
LmhlaWdodCkKICAgICAgICAgICAgIHRhcmdldENvbnRlbnRPZmZzZXQtPnkgPSBwb3RlbnRpYWxT
bmFwUG9zaXRpb247CkBAIC0xMjIsNiArMTIwLDcgQEAgLSAodm9pZClzY3JvbGxWaWV3RGlkRW5k
RGVjZWxlcmF0aW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3CiBAZW5kCiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIFNjcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlRGVsZWdhdGVJT1M6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJ
T1MoU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUmIHNjcm9sbGluZ05vZGUpCiAgICAgOiBTY3Jv
bGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlKHNjcm9sbGluZ05vZGUpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1Byb3h5LmNw
cAppbmRleCBlZmE4ZDEzY2JiZDVmZmE4MDhiNWYwZWRiZjRhNTFkYzlkZjg1N2U3Li4zYTEzMWI0
ZDYwZDhhYTA3ZTg3ZmI1ZTRjNjE0ZjMwYTdkNDJiNTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94eS5jcHAKQEAgLTM3
LDcgKzM3LDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiAKLXN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUNhbGxiYWNrSUQoKQorc3RhdGljIHVpbnQ2NF90
IGdlbmVyYXRlU3RvcmFnZVByb2Nlc3NDYWxsYmFja0lEKCkKIHsKICAgICBzdGF0aWMgdWludDY0
X3QgY2FsbGJhY2tJRDsKIApAQCAtMTA1LDcgKzEwNSw3IEBAIHZvaWQgU3RvcmFnZVByb2Nlc3NQ
cm94eTo6ZmV0Y2hXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNl
dDxXCiB7CiAgICAgQVNTRVJUKGNhblNlbmRNZXNzYWdlKCkpOwogCi0gICAgdWludDY0X3QgY2Fs
bGJhY2tJRCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQg
PSBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVuZGluZ0ZldGNo
V2Vic2l0ZURhdGFDYWxsYmFja3MuYWRkKGNhbGxiYWNrSUQsIFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpKTsKIAogICAgIHNlbmQoTWVzc2FnZXM6OlN0b3JhZ2VQcm9jZXNzOjpGZXRjaFdlYnNp
dGVEYXRhKHNlc3Npb25JRCwgZGF0YVR5cGVzLCBjYWxsYmFja0lEKSwgMCk7CkBAIC0xMTMsNyAr
MTEzLDcgQEAgdm9pZCBTdG9yYWdlUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKFBBTDo6
U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFcKIAogdm9pZCBTdG9yYWdlUHJvY2Vzc1By
b3h5OjpkZWxldGVXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNl
dDxXZWJzaXRlRGF0YVR5cGU+IGRhdGFUeXBlcywgV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBhdXRv
IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKKyAgICBhdXRvIGNhbGxiYWNrSUQg
PSBnZW5lcmF0ZVN0b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpOwogCiAgICAgbV9wZW5kaW5nRGVs
ZXRlV2Vic2l0ZURhdGFDYWxsYmFja3MuYWRkKGNhbGxiYWNrSUQsIFdURk1vdmUoY29tcGxldGlv
bkhhbmRsZXIpKTsKICAgICBzZW5kKE1lc3NhZ2VzOjpTdG9yYWdlUHJvY2Vzczo6RGVsZXRlV2Vi
c2l0ZURhdGEoc2Vzc2lvbklELCBkYXRhVHlwZXMsIG1vZGlmaWVkU2luY2UsIGNhbGxiYWNrSUQp
LCAwKTsKQEAgLTEyMyw3ICsxMjMsNyBAQCB2b2lkIFN0b3JhZ2VQcm9jZXNzUHJveHk6OmRlbGV0
ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsCiB7CiAgICAg
QVNTRVJUKGNhblNlbmRNZXNzYWdlKCkpOwogCi0gICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGdl
bmVyYXRlQ2FsbGJhY2tJRCgpOworICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZVN0
b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpOwogICAgIG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRh
Rm9yT3JpZ2luc0NhbGxiYWNrcy5hZGQoY2FsbGJhY2tJRCwgV1RGTW92ZShjb21wbGV0aW9uSGFu
ZGxlcikpOwogCiAgICAgc2VuZChNZXNzYWdlczo6U3RvcmFnZVByb2Nlc3M6OkRlbGV0ZVdlYnNp
dGVEYXRhRm9yT3JpZ2lucyhzZXNzaW9uSUQsIGRhdGFUeXBlcywgb3JpZ2lucywgY2FsbGJhY2tJ
RCksIDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBkYTA1ODFk
YjlhZjZkMTYxODhmMTZlNjdmM2FiNTE0ZGUwYTQ5ODNhLi43YmU1Mzk4NTg1OTZiZjE1M2RhNzBl
ZDA4ZDJlMjIxMmFjNjM5ODc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aApAQCAtNjIsNyArNjIsNiBAQAogI2luY2x1ZGUgIldlYlBhZ2VJbmplY3RlZEJ1bmRsZUNsaWVu
dC5oIgogI2luY2x1ZGUgIldlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmgiCiAjaW5jbHVkZSAi
V2ViUHJlZmVyZW5jZXMuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0FsdGVybmF0aXZlVGV4dENsaWVu
dC5oPiAvLyBGSVhNRTogTmVlZGVkIGJ5IFdlYlBhZ2VQcm94eU1lc3NhZ2VzLmggZm9yIERJQ1RB
VElPTl9BTFRFUk5BVElWRVMuCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKICNp
bmNsdWRlICJXZWJQb3B1cE1lbnVQcm94eS5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NMaWZldGlt
ZVRyYWNrZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDk0YzliMWZmNDg0ZDFkMmVjYzAzZDRjMzFmNGIwYmVhYWRkN2RhYWYuLjkz
ODQ0M2IxMDJjOWM3YTJiMzQ4NTg1NjBiYjA4NDhmNDc3YjY4NDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzU5LDYgKzc1OSw4IEBA
CiAJCTJEOTJBNzk1MjEyQjZBRDQwMEY0OTNGRCAvKiBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFBMkQ5MEQxMTI4MUM5NjYwMDFFQjk2MiAvKiBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzLmNwcCAqLzsgfTsKIAkJMkQ5MkE3OTYyMTJCNkFEQTAwRjQ5M0ZEIC8qIE5ldHNjYXBlUGx1
Z2luTW9kdWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBNEE5QzUzMTJCODE2Q0YwMDhGRTk4NCAvKiBOZXRzY2FwZVBsdWdpbk1vZHVsZS5jcHAg
Ki87IH07CiAJCTJEOTJBNzk3MjEyQjZBREEwMEY0OTNGRCAvKiBQbHVnaW5JbmZvcm1hdGlvbi5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzNGOEM4
RTE3M0FGNTJEMDA3QjdGMzkgLyogUGx1Z2luSW5mb3JtYXRpb24uY3BwICovOyB9OworCQkyRDky
QTc5ODIxMzQ4RDg1MDBGNDkzRkQgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNYWMubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUIxRjc3RDFE
MUIzMEE5MDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNYWMubW0gKi87IH07
CisJCTJEOTJBNzlGMjEzNEIwN0UwMEY0OTNGRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eUlPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFB
QjFGNzdCMUQxQjMwQTkwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUlPUy5t
bSAqLzsgfTsKIAkJMkQ5MzExNjkyMTJGNjFCMjAwMDQ0QkZFIC8qIFdLQ29udGVudFZpZXcubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNCNEUzRDE4
QkJFMDQ0MDAwRkNGQzkgLyogV0tDb250ZW50Vmlldy5tbSAqLzsgfTsKIAkJMkQ5MzExNkEyMTJG
NjFCNTAwMDQ0QkZFIC8qIFdLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0I0RTZCMThCQkYyNkEwMDBGQ0ZD
OSAvKiBXS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gKi87IH07CiAJCTJEOUVBMzBEMUE5NkNC
NTkwMDJEMjgwNyAvKiBXS1BhZ2VJbmplY3RlZEJ1bmRsZUNsaWVudC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5RUEzMEMxQTk2Q0I1OTAwMkQyODA3
IC8qIFdLUGFnZUluamVjdGVkQnVuZGxlQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTExMjQ4LDYgKzExMjUwLDggQEAKIAkJCQk3Q0U5
Q0UxMDFGQTA3NjdBMDAwMTc3REUgLyogV2ViUGFnZVVwZGF0ZVByZWZlcmVuY2VzLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTdDNDY5NEM5MUE0QjRFQTEwMEFENTg0NSAvKiBXZWJQYXN0ZWJvYXJk
UHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFCMUY3OTYxRDFC
MzYxMzAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvck1lc3NhZ2VSZWNlaXZlci5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkyRDkyQTc5RjIxMzRCMDdFMDBGNDkzRkQgLyogV2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHlJT1MubW0gaW4gU291cmNlcyAqLywKKwkJCQkyRDkyQTc5ODIxMzQ4
RDg1MDBGNDkzRkQgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNYWMubW0gaW4gU291cmNl
cyAqLywKIAkJCQkxQUIxRjc5ODFEMUIzNjEzMDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5h
dG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5MkE3OEQy
MTJCNkFCMTAwRjQ5M0ZEIC8qIFdlYlBsYXRmb3JtVG91Y2hQb2ludC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkyRDkxMzQ0RTIxMkNGOUYwMDAxMjhBRkQgLyogV2ViUGx1Z2luSW5mb1Byb3ZpZGVy
LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1BsdWdpbnMvUERGL1BERlBsdWdpbi5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVn
aW5zL1BERi9QREZQbHVnaW4ubW0KaW5kZXggNTMwN2UyNmE3NjM3ZThhNjliMDQ1YWJiOTI4Nzlm
M2Y4YzY1ODZmMi4uNGNhYTZjYzBmNjA0NTBjMDNiMjJhMjg0ZGQxM2FmMjVlZmQ2ZTM4NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1t
CkBAIC04OCw4ICs4OCw2IEBACiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU01lbnVTUEkuaD4KICNp
bXBvcnQgPHd0Zi9VVUlELmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiAvLyBTZXQg
b3ZlcmZsb3c6IGhpZGRlbiBvbiB0aGUgYW5ub3RhdGlvbiBjb250YWluZXIgc28gPGlucHV0PiBl
bGVtZW50cyBzY3JvbGxlZCBvdXQgb2YgdmlldyBkb24ndCBzaG93CiAvLyBzY3JvbGxiYXJzIG9u
IHRoZSBib2R5LiBXZSBjYW4ndCBhZGQgYW5ub3RhdGlvbnMgZGlyZWN0bHkgdG8gdGhlIGJvZHks
IGJlY2F1c2Ugb3ZlcmZsb3c6IGhpZGRlbiBvbiB0aGUgYm9keQogLy8gd2lsbCBicmVhayBydWJi
ZXItYmFuZGluZy4KQEAgLTI5MCw3ICsyODgsNyBAQCAtIChOU0FycmF5ICopYWNjZXNzaWJpbGl0
eUFjdGlvbk5hbWVzCiAtICh2b2lkKWFjY2Vzc2liaWxpdHlQZXJmb3JtQWN0aW9uOihOU1N0cmlu
ZyAqKWFjdGlvbgogewogICAgIGlmIChbYWN0aW9uIGlzRXF1YWxUb1N0cmluZzpOU0FjY2Vzc2li
aWxpdHlTaG93TWVudUFjdGlvbl0pCi0gICAgICAgIF9wZGZQbHVnaW4tPnNob3dDb250ZXh0TWVu
dUF0UG9pbnQoSW50UmVjdChJbnRQb2ludCgpLCBfcGRmUGx1Z2luLT5zaXplKCkpLmNlbnRlcigp
KTsKKyAgICAgICAgX3BkZlBsdWdpbi0+c2hvd0NvbnRleHRNZW51QXRQb2ludChXZWJDb3JlOjpJ
bnRSZWN0KFdlYkNvcmU6OkludFBvaW50KCksIF9wZGZQbHVnaW4tPnNpemUoKSkuY2VudGVyKCkp
OwogfQogCiAtIChCT09MKWFjY2Vzc2liaWxpdHlJc0F0dHJpYnV0ZVNldHRhYmxlOihOU1N0cmlu
ZyAqKWF0dHJpYnV0ZQpAQCAtMzE2LDggKzMxNCw4IEBAIC0gKGlkKWFjY2Vzc2liaWxpdHlGb2N1
c2VkVUlFbGVtZW50CiB7CiAjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDEzMDAKICAgICBpZiAoV2ViS2l0OjpQREZQbHVnaW5Bbm5vdGF0aW9uKiBhY3RpdmVBbm5vdGF0
aW9uID0gX3BkZlBsdWdpbi0+YWN0aXZlQW5ub3RhdGlvbigpKSB7Ci0gICAgICAgIGlmIChBWE9i
amVjdENhY2hlKiBleGlzdGluZ0NhY2hlID0gX3BkZlBsdWdpbi0+YXhPYmplY3RDYWNoZSgpKSB7
Ci0gICAgICAgICAgICBpZiAoQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0ID0gZXhpc3RpbmdD
YWNoZS0+Z2V0T3JDcmVhdGUoYWN0aXZlQW5ub3RhdGlvbi0+ZWxlbWVudCgpKSkKKyAgICAgICAg
aWYgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGUqIGV4aXN0aW5nQ2FjaGUgPSBfcGRmUGx1Z2luLT5h
eE9iamVjdENhY2hlKCkpIHsKKyAgICAgICAgICAgIGlmIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
T2JqZWN0KiBvYmplY3QgPSBleGlzdGluZ0NhY2hlLT5nZXRPckNyZWF0ZShhY3RpdmVBbm5vdGF0
aW9uLT5lbGVtZW50KCkpKQogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKICNwcmFnbWEg
Y2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIgogICAg
ICAgICAgICAgICAgIHJldHVybiBbb2JqZWN0LT53cmFwcGVyKCkgYWNjZXNzaWJpbGl0eUF0dHJp
YnV0ZVZhbHVlOkAiX0FYQXNzb2NpYXRlZFBsdWdpblBhcmVudCJdOwpAQCAtMzM4LDExICszMzYs
MTEgQEAgLSAoaWQpYWNjZXNzaWJpbGl0eUFzc29jaWF0ZWRDb250cm9sRm9yQW5ub3RhdGlvbjoo
UERGQW5ub3RhdGlvbiAqKWFubm90YXRpb24KICAgICBpZiAoIWFjdGl2ZUFubm90YXRpb24gfHwg
IVthY3RpdmVBbm5vdGF0aW9uLT5hbm5vdGF0aW9uKCkgaXNFcXVhbDphbm5vdGF0aW9uXSkKICAg
ICAgICAgcmV0dXJuIG5pbDsKICAgICAKLSAgICBBWE9iamVjdENhY2hlKiBjYWNoZSA9IF9wZGZQ
bHVnaW4tPmF4T2JqZWN0Q2FjaGUoKTsKKyAgICBXZWJDb3JlOjpBWE9iamVjdENhY2hlKiBjYWNo
ZSA9IF9wZGZQbHVnaW4tPmF4T2JqZWN0Q2FjaGUoKTsKICAgICBpZiAoIWNhY2hlKQogICAgICAg
ICByZXR1cm4gbmlsOwogICAgIAotICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCA9IGNh
Y2hlLT5nZXRPckNyZWF0ZShhY3RpdmVBbm5vdGF0aW9uLT5lbGVtZW50KCkpOworICAgIFdlYkNv
cmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCA9IGNhY2hlLT5nZXRPckNyZWF0ZShhY3Rp
dmVBbm5vdGF0aW9uLT5lbGVtZW50KCkpOwogICAgIGlmICghb2JqZWN0KQogICAgICAgICByZXR1
cm4gbmlsOwogCkBAIC0zNTMsNyArMzUxLDcgQEAgLSAoaWQpYWNjZXNzaWJpbGl0eUFzc29jaWF0
ZWRDb250cm9sRm9yQW5ub3RhdGlvbjooUERGQW5ub3RhdGlvbiAqKWFubm90YXRpb24KIC0gKGlk
KWFjY2Vzc2liaWxpdHlIaXRUZXN0OihOU1BvaW50KXBvaW50CiB7CiAjaWYgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDAKLSAgICBwb2ludCA9IF9wZGZQbHVnaW4tPmNv
bnZlcnRGcm9tUm9vdFZpZXdUb1BERlZpZXcoSW50UG9pbnQocG9pbnQpKTsKKyAgICBwb2ludCA9
IF9wZGZQbHVnaW4tPmNvbnZlcnRGcm9tUm9vdFZpZXdUb1BERlZpZXcoV2ViQ29yZTo6SW50UG9p
bnQocG9pbnQpKTsKICAgICByZXR1cm4gW19wZGZMYXllckNvbnRyb2xsZXIgYWNjZXNzaWJpbGl0
eUhpdFRlc3Q6cG9pbnRdOwogI2Vsc2UKICAgICByZXR1cm4gc2VsZjsKQEAgLTQyMSw3ICs0MTks
NyBAQCAtIChpZClpbml0V2l0aFBERlBsdWdpbjooV2ViS2l0OjpQREZQbHVnaW4gKilwbHVnaW4K
IAogLSAodm9pZCl1cGRhdGVTY3JvbGxQb3NpdGlvbjooQ0dQb2ludCluZXdQb3NpdGlvbgogewot
ICAgIF9wZGZQbHVnaW4tPm5vdGlmeVNjcm9sbFBvc2l0aW9uQ2hhbmdlZChJbnRQb2ludChuZXdQ
b3NpdGlvbikpOworICAgIF9wZGZQbHVnaW4tPm5vdGlmeVNjcm9sbFBvc2l0aW9uQ2hhbmdlZChX
ZWJDb3JlOjpJbnRQb2ludChuZXdQb3NpdGlvbikpOwogfQogCiAtICh2b2lkKXdyaXRlSXRlbXNU
b1Bhc3RlYm9hcmQ6KE5TQXJyYXkgKilpdGVtcyB3aXRoVHlwZXM6KE5TQXJyYXkgKil0eXBlcwpA
QCAtNTAwLDYgKzQ5OCwxMCBAQCAtIChOU1JlY3QpY29udmVydFJlY3Q6KE5TUmVjdClyZWN0IGZy
b21QYWdlOihQREZQYWdlICopIHBhZ2UgZm9yU2NhbGVGYWN0b3I6KENHRgogLSAoUERGUGFnZSAq
KXBhZ2VOZWFyZXN0UG9pbnQ6KE5TUG9pbnQpcG9pbnQgY3VycmVudFBhZ2U6KFBERlBhZ2UgKilj
dXJyZW50UGFnZTsKIEBlbmQKIAorbmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKK3VzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CisKIHN0YXRpYyBjb25zdCBjaGFy
KiBwb3N0U2NyaXB0TUlNRVR5cGUgPSAiYXBwbGljYXRpb24vcG9zdHNjcmlwdCI7CiBjb25zdCB1
aW50NjRfdCBwZGZEb2N1bWVudFJlcXVlc3RJRCA9IDE7IC8vIFBsdWdpbkNvbnRyb2xsZXIgc3Vw
cG9ydHMgbG9hZGluZyBtdWx0aXBsZSBzdHJlYW1zLCBidXQgd2Ugb25seSBuZWVkIG9uZSBmb3Ig
UERGLgogCkBAIC01OTYsOSArNTk4LDYgQEAgc3RhdGljIHZvaWQgZ2V0QWxsU2NyaXB0c0luUERG
RG9jdW1lbnQoQ0dQREZEb2N1bWVudFJlZiBwZGZEb2N1bWVudCwgVmVjdG9yPFJldGEKICAgICB9
CiB9CiAKLW5hbWVzcGFjZSBXZWJLaXQgewotdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKLQog
UmVmPFBERlBsdWdpbj4gUERGUGx1Z2luOjpjcmVhdGUoV2ViRnJhbWUmIGZyYW1lKQogewogICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IFBERlBsdWdpbihmcmFtZSkpOwpAQCAtMTQ1MCw3ICsxNDQ5
LDcgQEAgdm9pZCBQREZQbHVnaW46OnVwZGF0ZUN1cnNvcihjb25zdCBXZWJNb3VzZUV2ZW50JiBl
dmVudCwgVXBkYXRlQ3Vyc29yTW9kZSBtb2RlKQogICAgIGlmIChoaXRUZXN0UmVzdWx0ID09IG1f
bGFzdEhpdFRlc3RSZXN1bHQgJiYgbW9kZSA9PSBVcGRhdGVJZk5lZWRlZCkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgd2ViRnJhbWUoKS0+cGFnZSgpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJv
eHk6OlNldEN1cnNvcihoaXRUZXN0UmVzdWx0ID09IFRleHQgPyBpQmVhbUN1cnNvcigpIDogcG9p
bnRlckN1cnNvcigpKSk7CisgICAgd2ViRnJhbWUoKS0+cGFnZSgpLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlUHJveHk6OlNldEN1cnNvcihoaXRUZXN0UmVzdWx0ID09IFRleHQgPyBXZWJDb3JlOjpp
QmVhbUN1cnNvcigpIDogV2ViQ29yZTo6cG9pbnRlckN1cnNvcigpKSk7CiAgICAgbV9sYXN0SGl0
VGVzdFJlc3VsdCA9IGhpdFRlc3RSZXN1bHQ7CiB9CiAjZW5kaWYKQEAgLTE5ODEsMTYgKzE5ODAs
MTYgQEAgdm9pZCBQREZQbHVnaW46Om5vdGlmeVNlbGVjdGlvbkNoYW5nZWQoUERGU2VsZWN0aW9u
ICopCiAgICAgd2ViRnJhbWUoKS0+cGFnZSgpLT5kaWRDaGFuZ2VTZWxlY3Rpb24oKTsKIH0KIAot
c3RhdGljIGNvbnN0IEN1cnNvciYgY29yZUN1cnNvcihQREZMYXllckNvbnRyb2xsZXJDdXJzb3JU
eXBlIHR5cGUpCitzdGF0aWMgY29uc3QgV2ViQ29yZTo6Q3Vyc29yJiBjb3JlQ3Vyc29yKFBERkxh
eWVyQ29udHJvbGxlckN1cnNvclR5cGUgdHlwZSkKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKICAg
ICBjYXNlIGtQREZMYXllckNvbnRyb2xsZXJDdXJzb3JUeXBlSGFuZDoKLSAgICAgICAgcmV0dXJu
IGhhbmRDdXJzb3IoKTsKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OmhhbmRDdXJzb3IoKTsKICAg
ICBjYXNlIGtQREZMYXllckNvbnRyb2xsZXJDdXJzb3JUeXBlSUJlYW06Ci0gICAgICAgIHJldHVy
biBpQmVhbUN1cnNvcigpOworICAgICAgICByZXR1cm4gV2ViQ29yZTo6aUJlYW1DdXJzb3IoKTsK
ICAgICBjYXNlIGtQREZMYXllckNvbnRyb2xsZXJDdXJzb3JUeXBlUG9pbnRlcjoKICAgICBkZWZh
dWx0OgotICAgICAgICByZXR1cm4gcG9pbnRlckN1cnNvcigpOworICAgICAgICByZXR1cm4gV2Vi
Q29yZTo6cG9pbnRlckN1cnNvcigpOwogICAgIH0KIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>