<?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>80485</bug_id>
          
          <creation_ts>2012-03-06 21:41:37 -0800</creation_ts>
          <short_desc>Migrate permission functions to Notification from NotificationCenter</short_desc>
          <delta_ts>2012-05-03 05:43:41 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.7</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>
          <dependson>80573</dependson>
          <blocked>80472</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jon Lee">jonlee</reporter>
          <assigned_to name="Jon Lee">jonlee</assigned_to>
          <cc>abarth</cc>
    
    <cc>caseq</cc>
    
    <cc>dglazkov</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>ojan</cc>
    
    <cc>rakuco</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>572518</commentid>
    <comment_count>0</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-06 21:41:37 -0800</bug_when>
    <thetext>1. Move NotificationCenter.checkPermission() to Notification.permissionLevel(). Update to return string instead of enum.

2. Move NotificationCenter.requestPermission() to Notification.requestPermission.

&lt;rdar://problem/10965458&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575071</commentid>
    <comment_count>1</comment_count>
      <attachid>131072</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-09 12:18:24 -0800</bug_when>
    <thetext>Created attachment 131072
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575107</commentid>
    <comment_count>2</comment_count>
      <attachid>131072</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-09 12:53:36 -0800</bug_when>
    <thetext>Comment on attachment 131072
Patch

Attachment 131072 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11904703</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575114</commentid>
    <comment_count>3</comment_count>
      <attachid>131072</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-09 12:58:52 -0800</bug_when>
    <thetext>Comment on attachment 131072
Patch

Attachment 131072 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/11904705</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575120</commentid>
    <comment_count>4</comment_count>
      <attachid>131084</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-09 13:00:47 -0800</bug_when>
    <thetext>Created attachment 131084
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575202</commentid>
    <comment_count>5</comment_count>
      <attachid>131084</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-09 14:05:10 -0800</bug_when>
    <thetext>Comment on attachment 131084
Patch

Attachment 131084 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/11906749</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575210</commentid>
    <comment_count>6</comment_count>
      <attachid>131084</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-09 14:14:11 -0800</bug_when>
    <thetext>Comment on attachment 131084
Patch

Attachment 131084 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11898733</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575220</commentid>
    <comment_count>7</comment_count>
      <attachid>131109</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-09 14:22:45 -0800</bug_when>
    <thetext>Created attachment 131109
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575299</commentid>
    <comment_count>8</comment_count>
      <attachid>131109</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-09 15:30:18 -0800</bug_when>
    <thetext>Comment on attachment 131109
Patch

Attachment 131109 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/11903824</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575332</commentid>
    <comment_count>9</comment_count>
      <attachid>131109</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-09 16:25:56 -0800</bug_when>
    <thetext>Comment on attachment 131109
Patch

Attachment 131109 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11927003</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575345</commentid>
    <comment_count>10</comment_count>
      <attachid>131109</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-09 16:48:23 -0800</bug_when>
    <thetext>Comment on attachment 131109
Patch

Attachment 131109 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11906808</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575378</commentid>
    <comment_count>11</comment_count>
      <attachid>131109</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-03-09 17:39:45 -0800</bug_when>
    <thetext>Comment on attachment 131109
Patch

Attachment 131109 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/11894891</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575447</commentid>
    <comment_count>12</comment_count>
      <attachid>131154</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-09 22:50:33 -0800</bug_when>
    <thetext>Created attachment 131154
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575449</commentid>
    <comment_count>13</comment_count>
      <attachid>131156</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-09 23:01:25 -0800</bug_when>
    <thetext>Created attachment 131156
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575451</commentid>
    <comment_count>14</comment_count>
      <attachid>131156</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-09 23:20:09 -0800</bug_when>
    <thetext>Comment on attachment 131156
Patch

Attachment 131156 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/11915945</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575452</commentid>
    <comment_count>15</comment_count>
      <attachid>131156</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-09 23:22:16 -0800</bug_when>
    <thetext>Comment on attachment 131156
Patch

Attachment 131156 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11915944</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575453</commentid>
    <comment_count>16</comment_count>
      <attachid>131156</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-09 23:22:43 -0800</bug_when>
    <thetext>Comment on attachment 131156
Patch

Attachment 131156 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11906987</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575454</commentid>
    <comment_count>17</comment_count>
      <attachid>131157</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-09 23:27:35 -0800</bug_when>
    <thetext>Created attachment 131157
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575458</commentid>
    <comment_count>18</comment_count>
      <attachid>131157</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-09 23:43:50 -0800</bug_when>
    <thetext>Comment on attachment 131157
Patch

Attachment 131157 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11906994</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575459</commentid>
    <comment_count>19</comment_count>
      <attachid>131157</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-03-09 23:49:51 -0800</bug_when>
    <thetext>Comment on attachment 131157
Patch

Attachment 131157 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/11906999</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575467</commentid>
    <comment_count>20</comment_count>
      <attachid>131163</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-10 00:36:11 -0800</bug_when>
    <thetext>Created attachment 131163
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575468</commentid>
    <comment_count>21</comment_count>
      <attachid>131163</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-10 00:52:50 -0800</bug_when>
    <thetext>Comment on attachment 131163
Patch

Attachment 131163 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11937011</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575469</commentid>
    <comment_count>22</comment_count>
      <attachid>131164</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-10 01:01:01 -0800</bug_when>
    <thetext>Created attachment 131164
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575470</commentid>
    <comment_count>23</comment_count>
      <attachid>131164</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-10 01:15:58 -0800</bug_when>
    <thetext>Comment on attachment 131164
Patch

Attachment 131164 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11931019</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575474</commentid>
    <comment_count>24</comment_count>
      <attachid>131164</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-03-10 01:28:31 -0800</bug_when>
    <thetext>Comment on attachment 131164
Patch

Attachment 131164 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/11935047</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575556</commentid>
    <comment_count>25</comment_count>
      <attachid>131184</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-10 12:44:05 -0800</bug_when>
    <thetext>Created attachment 131184
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575562</commentid>
    <comment_count>26</comment_count>
      <attachid>131185</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-10 13:11:32 -0800</bug_when>
    <thetext>Created attachment 131185
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575570</commentid>
    <comment_count>27</comment_count>
      <attachid>131185</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-10 13:33:45 -0800</bug_when>
    <thetext>Comment on attachment 131185
Patch

Attachment 131185 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11934231</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575573</commentid>
    <comment_count>28</comment_count>
      <attachid>131189</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-10 13:51:23 -0800</bug_when>
    <thetext>Created attachment 131189
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575587</commentid>
    <comment_count>29</comment_count>
      <attachid>131189</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-10 15:44:42 -0800</bug_when>
    <thetext>Comment on attachment 131189
Patch

This is pending discussion in the WG. Removing r? for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580250</commentid>
    <comment_count>30</comment_count>
      <attachid>132223</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-16 00:58:41 -0700</bug_when>
    <thetext>Created attachment 132223
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580274</commentid>
    <comment_count>31</comment_count>
      <attachid>132223</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-16 01:23:37 -0700</bug_when>
    <thetext>Comment on attachment 132223
Patch

Attachment 132223 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11960274</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580298</commentid>
    <comment_count>32</comment_count>
      <attachid>132223</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-16 02:21:36 -0700</bug_when>
    <thetext>Comment on attachment 132223
Patch

Attachment 132223 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/11967045</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580302</commentid>
    <comment_count>33</comment_count>
      <attachid>132223</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-16 02:33:16 -0700</bug_when>
    <thetext>Comment on attachment 132223
Patch

Attachment 132223 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11964100</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580341</commentid>
    <comment_count>34</comment_count>
      <attachid>132223</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-16 03:45:54 -0700</bug_when>
    <thetext>Comment on attachment 132223
Patch

Attachment 132223 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11965113</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580390</commentid>
    <comment_count>35</comment_count>
      <attachid>132223</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-16 04:57:18 -0700</bug_when>
    <thetext>Comment on attachment 132223
Patch

Attachment 132223 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11962226</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580429</commentid>
    <comment_count>36</comment_count>
      <attachid>132223</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-16 05:52:55 -0700</bug_when>
    <thetext>Comment on attachment 132223
Patch

Attachment 132223 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11968036</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>611324</commentid>
    <comment_count>37</comment_count>
      <attachid>139152</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-04-27 02:14:49 -0700</bug_when>
    <thetext>Created attachment 139152
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>611332</commentid>
    <comment_count>38</comment_count>
      <attachid>139152</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-04-27 02:33:29 -0700</bug_when>
    <thetext>Comment on attachment 139152
Patch

Attachment 139152 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12549145</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>611336</commentid>
    <comment_count>39</comment_count>
      <attachid>139152</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-04-27 02:41:49 -0700</bug_when>
    <thetext>Comment on attachment 139152
Patch

Attachment 139152 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12557138</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>612177</commentid>
    <comment_count>40</comment_count>
      <attachid>139343</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-04-27 23:40:16 -0700</bug_when>
    <thetext>Created attachment 139343
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>612317</commentid>
    <comment_count>41</comment_count>
      <attachid>139370</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-04-28 13:00:29 -0700</bug_when>
    <thetext>Created attachment 139370
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>612322</commentid>
    <comment_count>42</comment_count>
      <attachid>139370</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-28 13:28:35 -0700</bug_when>
    <thetext>Comment on attachment 139370
Patch

Attachment 139370 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/12555707</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>612325</commentid>
    <comment_count>43</comment_count>
      <attachid>139372</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-04-28 13:41:51 -0700</bug_when>
    <thetext>Created attachment 139372
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>612886</commentid>
    <comment_count>44</comment_count>
      <attachid>139372</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2012-04-30 13:03:26 -0700</bug_when>
    <thetext>Comment on attachment 139372
Patch

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

&gt; Source/WebCore/bindings/v8/custom/V8NotificationCustom.cpp:42
&gt; +    ScriptExecutionContext* context = notification-&gt;scriptExecutionContext();

Better to move these 2 lines just before its 1st access.

&gt; Source/WebCore/notifications/Notification.cpp:254
&gt; +#if ENABLE(NOTIFICATIONS)

Can you wrap all 3 new methods and existing method taskTimerFired in one single #if guard?

&gt; Source/WebCore/notifications/Notification.h:142
&gt; +    static const String&amp; stringForPermission(NotificationClient::Permission);

Please add const modifier. In addition, it might be simpler to call it permissionString.

&gt; Source/WebCore/notifications/NotificationCenter.idl:46
&gt; +#if defined(ENABLE_LEGACY_NOTIFICATIONS) &amp;&amp; ENABLE_LEGACY_NOTIFICATIONS

It seems that all methods exposed in NotificationCenter interface are wrapped inside ENABLE_LEGACY_NOTIFICATIONS. Do we also want to put NotificationCenter under ENABLE_LEGACY_NOTIFICATIONS?

&gt; Source/WebKit/chromium/src/NotificationPresenterImpl.h:63
&gt; +    virtual void requestPermission(WebCore::ScriptExecutionContext* , WTF::PassRefPtr&lt;WebCore::NotificationPermissionCallback&gt; callback) { }

Extra space after &quot;*&quot;.

&gt; Source/WebKit/mac/WebCoreSupport/WebNotificationClient.mm:170
&gt; +void WebNotificationClient::requestPermission(ScriptExecutionContext* context, WebNotificationPolicyListener *listener)

Space should be placed after &quot;*&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>612911</commentid>
    <comment_count>45</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-04-30 13:41:14 -0700</bug_when>
    <thetext>(In reply to comment #44)
&gt; (From update of attachment 139372 [details])
&gt; &gt; Source/WebCore/notifications/Notification.h:142
&gt; &gt; +    static const String&amp; stringForPermission(NotificationClient::Permission);
&gt; 
&gt; Please add const modifier. In addition, it might be simpler to call it permissionString.

I don&apos;t think you can have const static functions, can you?

Otherwise, thanks for the other feedback, I&apos;ll incorporate that into the checked-in patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615065</commentid>
    <comment_count>46</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-05-03 00:05:53 -0700</bug_when>
    <thetext>Committed r115943: &lt;http://trac.webkit.org/changeset/115943&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615154</commentid>
    <comment_count>47</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-05-03 04:05:26 -0700</bug_when>
    <thetext>(In reply to comment #46)
&gt; Committed r115943: &lt;http://trac.webkit.org/changeset/115943&gt;

This broke chromium win build:

http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Win%20Builder/builds/24031/steps/compile/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615203</commentid>
    <comment_count>48</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-05-03 05:43:41 -0700</bug_when>
    <thetext>(In reply to comment #47)

&gt; This broke chromium win build:
http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Win%20Builder/builds/24031/steps/compile/logs/stdio

Fixed chromium win build with r115960: http://trac.webkit.org/changeset/115960</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131072</attachid>
            <date>2012-03-09 12:18:24 -0800</date>
            <delta_ts>2012-03-09 13:00:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80485-20120309121940.patch</filename>
            <type>text/plain</type>
            <size>48194</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMzExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjA3NTUxYjVkMDUzZjU4
NTlhZTk0ZjY1NTA3NmExMzgxN2QxYWNhNi4uZDk3N2QzYmY5MzZhOWYxNjJkZmY4ZWMzMDcxM2Zh
ZGFlY2NjMmNlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM5IEBACiAyMDEyLTAzLTA5ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAorICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVu
Y3Rpb25zIHRvIE5vdGlmaWNhdGlvbiBmcm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzEwOTY1NDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsOiBCZWNhdXNl
IHRoZSBmdW5jdGlvbnMgYXJlIG9uIHRoZSBOb3RpZmljYXRpb24gb2JqZWN0IGl0c2VsZiwgd2Ug
bmVlZCB0bworICAgICAgICBkZWNsYXJlIGl0IGEgY29uc3RydWN0b3Igc28gdGhhdCBpdCBpcyBh
Y2Nlc3NpYmxlIGZyb20gRE9NV2luZG93LgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDog
QWRkIE5vdGlmaWNhdGlvbiBjb25zdHJ1Y3Rvci4KKworICAgICAgICAqIG5vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6cGVybWlz
c2lvbkxldmVsKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6c3RyaW5nRm9yUGVy
bWlzc2lvbik6IERlY2xhcmUgdGhyZWUgc3RhdGljIGxvY2FscyBmb3IgZWFjaCBvZiB0aGUgdmFs
dWVzLCBhbmQgcmV0dXJuCisgICAgICAgIGJhc2VkIG9uIHRoZSBwZXJtaXNzaW9uIGVudW0uCisg
ICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb246OnJlcXVlc3RQZXJtaXNzaW9uKTogRm9yd2Fy
ZCByZXF1ZXN0IHRvIGNsaWVudC4KKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5oOgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwOiBX
cmFwIHBlcm1pc3Npb24gZnVuY3Rpb25zIGluIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykK
KyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oOiBXcmFwIHBlcm1p
c3Npb24gZnVuY3Rpb25zIGluIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAg
KiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGw6IFdyYXAgcGVybWlzc2lvbiBm
dW5jdGlvbnMgaW4gRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorICAgICAgICAqIG5vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uUHJlc2VudGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpOb3Rp
ZmljYXRpb25QcmVzZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9uKTogQWRkIG5ldyByZXF1ZXN0UGVy
bWlzc2lvbigpIGZ1bmN0aW9uIGZvciBuZXcKKyAgICAgICAgTm90aWZpY2F0aW9uUGVybWlzc2lv
bkNhbGxiYWNrIHR5cGUuIE1ha2UgaXQgYSBzdHViIGltcGxlbWVudGF0aW9uIHVudGlsIGFsbCBw
b3J0cyBoYXZlIGFkb3B0ZWQuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3Rp
ZmljYXRpb25zQ3VzdG9tLmNwcDogRW5jYXBzdWxhdGUgd2l0aCBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpIHNpbmNlCisgICAgICAgIHRoZSByZXF1ZXN0UGVybWlzc2lvbigpIGZ1bmN0aW9u
IGlzIG1vdmluZyB0byBOb3RpZmljYXRpb24uCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5t
YWtlOiBBZGQgbmV3IGNhbGxiYWNrIGlkbC4KKyAgICAgICAgKiBVc2VKU0MuY21ha2U6IEluY2x1
ZGUgSlNOb3RpZmljYXRpb25DdXN0b20uY3BwCisgICAgICAgICogV2ViQ29yZS5leHAuaW46IEV4
cG9ydCBzdHJpbmdGb3JQZXJtaXNzaW9uKCkuCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOiBBZGQgY2FsbGJhY2sgaWRsLCBoLCBhbmQgY3BwIGZpbGVzLgorCisy
MDEyLTAzLTA5ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKwogICAgICAgICBBZGQgc3Vw
cG9ydCBmb3IgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0OTcKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4
IDNjY2JiNGVmZTM0NWEzZDZhYWMzNDg4YjdmNTE2NjhiNmY3M2Y5MmUuLmZiMTRiODkxNGM5ZTQz
NjQ1NDk2NjE2NmFkMjZlZDRjMjM3YTc5NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwy
MiBAQAogMjAxMi0wMy0wOSAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CiAKKyAgICAgICAg
TWlncmF0ZSBwZXJtaXNzaW9uIGZ1bmN0aW9ucyB0byBOb3RpZmljYXRpb24gZnJvbSBOb3RpZmlj
YXRpb25DZW50ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTgwNDg1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDk2NTQ1OD4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dl
Yk5vdGlmaWNhdGlvbkNsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYk5vdGlm
aWNhdGlvbkNsaWVudC5tbTogQWRkIG5ldyBtZW1iZXIgdmFyaWFibGUgdG8gaGFuZGxlIGJvdGgg
a2luZHMgb2YgY2FsbGJhY2tzLgorICAgICAgICAoV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1
ZXN0UGVybWlzc2lvbik6IEFkZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgdmVyc2lv
biBvZiB0aGUgc2FtZQorICAgICAgICBmdW5jdGlvbi4KKyAgICAgICAgKC1bV2ViTm90aWZpY2F0
aW9uUG9saWN5TGlzdGVuZXIgaW5pdFdpdGhDYWxsYmFjazpdKToKKyAgICAgICAgKC1bV2ViTm90
aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgaW5pdFdpdGhWb2lkQ2FsbGJhY2s6XSk6CisgICAgICAg
ICgtW1dlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGFsbG93XSk6CisgICAgICAgICgtW1dl
Yk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGRlbnldKToKKworMjAxMi0wMy0wOSAgSm9uIExl
ZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTgwNDk3CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBjMTc3MTUwMGMzNzczNTAwNmI0YTdh
NTI1ZjMxYzEzNGRmM2Y4MDdmLi45YWFlNDMwYTZhMzkxNDJlMGU5ZGRjNTgyZjljZTE5Y2M5ZDRi
YjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjYgQEAKIDIwMTItMDMtMDkgIEpvbiBMZWUgIDxq
b25sZWVAYXBwbGUuY29tPgogCisgICAgICAgIE1pZ3JhdGUgcGVybWlzc2lvbiBmdW5jdGlvbnMg
dG8gTm90aWZpY2F0aW9uIGZyb20gTm90aWZpY2F0aW9uQ2VudGVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQ4NQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vMTA5NjU0NTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBXZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Tm90aWZpY2F0aW9uUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyOjpzdGFydFJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0KToKKyAg
ICAgICAgKFdlYktpdDo6Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpkaWRS
ZWNlaXZlTm90aWZpY2F0aW9uUGVybWlzc2lvbkRlY2lzaW9uKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmg6
CisgICAgICAgIChOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlzc2lv
bik6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYk5vdGlmaWNhdGlvbkNsaWVudCk6CisKKzIwMTItMDMtMDkgIEpvbiBMZWUgIDxqb25sZWVA
YXBwbGUuY29tPgorCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MDQ5NwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAyNDYwNjgzM2E1NzZk
OGQ3ZmI1ODFjMWIzNjVhZjZkNjA4ZDIxYzY1Li40NDNmNmYyZDFiMWU0ZjZkMjBmNjRjMjNhMzBh
ZjQyNDNjZTM5M2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTEsNCArMSw0
IEBACi0jIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAxMiBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwg
V2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4gCiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1l
cm9uIE1jQ29ybWFjayA8Y2FtQG1jYy5pZC5hdT4KICMKQEAgLTM1NSw2ICszNTUsNyBAQCBCSU5E
SU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRp
b25DYWNoZS5pZGwgXAogICAgICQoV2ViQ29yZSkvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24u
aWRsIFwKICAgICAkKFdlYkNvcmUpL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlk
bCBcCisgICAgJChXZWJDb3JlKS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9BYnN0cmFjdFZpZXcuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL3BhZ2UvQmFySW5mby5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9Db25z
b2xlLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UgYi9Tb3Vy
Y2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKaW5kZXggMDkwMzhkZDY4NDg3N2UxZjgyMDIxOTI3NWU3
ODJlYjEzMDgzYTI2Ni4uOGI2MTMwZmE0YTZiMzk4NmVhMmFhY2QzNjRmZDY4Y2U0MTM3YjgyMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1VzZUpTQy5jbWFrZQpAQCAtMTA5LDYgKzEwOSw3IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVf
U09VUkNFUwogICAgIGJpbmRpbmdzL2pzL0pTTm9kZUZpbHRlckN1c3RvbS5jcHAKICAgICBiaW5k
aW5ncy9qcy9KU05vZGVJdGVyYXRvckN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU05vZGVM
aXN0Q3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcAog
ICAgIGJpbmRpbmdzL2pzL0pTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAKICAgICBiaW5kaW5n
cy9qcy9KU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNQcm9jZXNz
aW5nSW5zdHJ1Y3Rpb25DdXN0b20uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IGE0MGY4Yjc5
YjQyYTJjZjllMzQ0ODFmMDczYzg3MjE3MGNkYTQzNzEuLjYxZjhjYmQ5ZWZjNWQyNzk2NjAzZmQ2
YmQ1Mjg3M2RhNWFhYTllYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhw
LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0yMTExLDYgKzIxMTEs
NyBAQCBfX1pON1dlYkNvcmUxMk5vdGlmaWNhdGlvbjE3ZGlzcGF0Y2hTaG93RXZlbnRFdgogX19a
TjdXZWJDb3JlMTJOb3RpZmljYXRpb24xOGRpc3BhdGNoQ2xpY2tFdmVudEV2CiBfX1pON1dlYkNv
cmUxMk5vdGlmaWNhdGlvbjE4ZGlzcGF0Y2hDbG9zZUV2ZW50RXYKIF9fWk43V2ViQ29yZTEyTm90
aWZpY2F0aW9uMThkaXNwYXRjaEVycm9yRXZlbnRFdgorX19aTjdXZWJDb3JlMTJOb3RpZmljYXRp
b24xOXN0cmluZ0ZvclBlcm1pc3Npb25FTlNfMjFOb3RpZmljYXRpb25QcmVzZW50ZXIxMFBlcm1p
c3Npb25FCiAjZW5kaWYKIAogI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMTI0
NTM0ZDcxMGI1ZGY1NTZiOTkyNGVjZmY0N2JkMmFhZDYwNmQ1MS4uMzg2NzM3NmRlZmZiZmM2ODJm
YTRhNmQyY2ExNDk1NTQwODIyOTlkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtODk5LDYgKzg5OSw4IEBACiAJCTMxQzBGRjRD
MEU0Q0VGREQwMDdENkZFNSAvKiBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQzBGRjQ2MEU0Q0VGREQwMDdE
NkZFNSAvKiBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCAqLzsgfTsKIAkJMzFDMEZGNEQwRTRD
RUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQzBGRjQ3MEU0Q0VGREQwMDdENkZF
NSAvKiBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnQubW0gKi87IH07CiAJCTMxQzBGRjRFMEU0Q0VG
REQwMDdENkZFNSAvKiBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnRJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFDMEZGNDgwRTRDRUZERDAw
N0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudEludGVybmFsLmggKi87IH07CisJCTMx
RUMxRTI4MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFj
ay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUVD
MUUyNjE0RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2su
Y3BwICovOyB9OworCQkzMUVDMUUyOTE0RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDMxRUMxRTI3MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjay5oICovOyB9OwogCQkzMUZCMUE1NzEyMEE1RDA2MDBEQzAyQTAgLyogRGV2
aWNlTW90aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAzMUZCMUE0RjEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ2xpZW50Lmgg
Ki87IH07CiAJCTMxRkIxQTU4MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9s
bGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMx
RkIxQTUwMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcCAqLzsg
fTsKIAkJMzFGQjFBNTkxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTUx
MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmggKi87IH07CkBAIC05
MDksNiArOTExLDggQEAKIAkJMzFGQjFBNjUxMjBBNUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90
aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMzFGQjFBNjMxMjBBNUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuY3BwICov
OyB9OwogCQkzMUZCMUE2NjEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNjQx
MjBBNUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuaCAqLzsgfTsKIAkJMzFGQjFB
NkMxMjBBNUQ2OTAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNkIxMjBBNUQ2
OTAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwICovOyB9OworCQkzMUZF
NkRGQTE1MDA0QzJBMDAwNEVCQzQgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUVDMURBQzE0
RkYyNkVBMDBDOTQ2NjIgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMzFGRTZFNkQxNTAx
QTNCRjAwMDRFQkM0IC8qIEpTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkU2RTZDMTUwMUEzQkYwMDA0RUJDNCAv
KiBKU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAgKi87IH07CiAJCTMzMTRBQ0VCMTA4OTIwODYwMDBG
MEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzMxNEFDRTkxMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9u
QmFzZS5jcHAgKi87IH07CiAJCTMzMTRBQ0VDMTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlv
bkJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMz
MTRBQ0VBMTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuaCAqLzsgfTsKIAkJMzM1
MDNDOUExMDE3OUE3NDAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvblByZXNlbnRlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzM1MDNDOTkxMDE3OUE3NDAw
M0I0N0UxIC8qIE5vdGlmaWNhdGlvblByZXNlbnRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC03NzUyLDYgKzc3NTYsMTAgQEAKIAkJMzFDMEZG
NDYwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFDMEZGNDcwRTRDRUZERDAwN0Q2RkU1IC8qIERP
TVdlYktpdFRyYW5zaXRpb25FdmVudC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMzFDMEZGNDgwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRp
b25FdmVudEludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdl
YktpdFRyYW5zaXRpb25FdmVudEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTMxRUMxRDUwMTRGRUZEMDgwMEM5NDY2MiAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2suaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IE5vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5pZGw7IHBhdGggPSBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRUMxREFDMTRGRjI2
RUEwMEM5NDY2MiAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmg7IHBhdGggPSBub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkzMUVDMUUyNjE0RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJt
aXNzaW9uQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkzMUVDMUUyNzE0RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJt
aXNzaW9uQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMzFGQjFBNEYxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNsaWVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZXZpY2VNb3Rpb25DbGllbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFGQjFBNTAxMjBBNUQwNjAwREMwMkEwIC8qIERldmlj
ZU1vdGlvbkNvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTMxRkIxQTUxMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERldmljZU1vdGlvbkNvbnRyb2xsZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc3NjMsNiArNzc3MSw3IEBACiAJCTMx
RkIxQTYzMTIwQTVEM0YwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRGV2aWNlTW90aW9uRXZlbnQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUZCMUE2NDEyMEE1RDNGMDBEQzAyQTAgLyog
SlNEZXZpY2VNb3Rpb25FdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0RldmljZU1vdGlvbkV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxRkIx
QTZCMTIwQTVENjkwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRGV2aWNlTW90aW9uRXZlbnRDdXN0
b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUZFNkU2QzE1MDFBM0JGMDAw
NEVCQzQgLyogSlNOb3RpZmljYXRpb25DdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNOb3RpZmljYXRpb25DdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkzMzE0QUNFOTEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25CYXNl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRXhjZXB0aW9uQmFz
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzMTRBQ0VBMTA4OTIwODYwMDBG
MEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNFeGNlcHRpb25CYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzM0Y3
MDRFMEZCNDlDQTIwMDhFMTJBNiAvKiBOb3RpZmljYXRpb24uaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
bmFtZSA9IE5vdGlmaWNhdGlvbi5pZGw7IHBhdGggPSBub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDM5MSw2ICsxNDQwMCw4IEBA
CiAJCQkJMzEyOENBNjcxNDczMzE1MjAwNzRDNzJBIC8qIE5vdGlmaWNhdGlvbkNvbnRyb2xsZXIu
Y3BwICovLAogCQkJCTMxMjhDQTZBMTQ3MzMxNjMwMDc0QzcyQSAvKiBOb3RpZmljYXRpb25Db250
cm9sbGVyLmggKi8sCiAJCQkJMzM1MDNDOTkxMDE3OUE3NDAwM0I0N0UxIC8qIE5vdGlmaWNhdGlv
blByZXNlbnRlci5oICovLAorCQkJCTMxRUMxRDUwMTRGRUZEMDgwMEM5NDY2MiAvKiBOb3RpZmlj
YXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsICovLAorCQkJCTMxRUMxREFDMTRGRjI2RUEwMEM5
NDY2MiAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCAqLywKIAkJCSk7CiAJCQlu
YW1lID0gbm90aWZpY2F0aW9uczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0xNDQw
Miw2ICsxNDQxMyw4IEBACiAJCQkJMzM1MDNDQTAxMDE3OUFENzAwM0I0N0UxIC8qIEpTTm90aWZp
Y2F0aW9uLmggKi8sCiAJCQkJMzM1MDNDQTExMDE3OUFENzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0
aW9uQ2VudGVyLmNwcCAqLywKIAkJCQkzMzUwM0NBMjEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3Rp
ZmljYXRpb25DZW50ZXIuaCAqLywKKwkJCQkzMUVDMUUyNjE0RkY2MEVFMDBDOTQ2NjIgLyogSlNO
b3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suY3BwICovLAorCQkJCTMxRUMxRTI3MTRGRjYw
RUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oICovLAogCQkJ
KTsKIAkJCW5hbWUgPSBOb3RpZmljYXRpb25zOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
QEAgLTE5NjY3LDYgKzE5NjgwLDcgQEAKIAkJCQlCQ0I3NzM2MDBDMTc4NTNEMDAxMzJCQTQgLyog
SlNOb2RlRmlsdGVyQ3VzdG9tLmNwcCAqLywKIAkJCQkxQTc1MEREMzBBOTBFNzI5MDAwRkYyMTUg
LyogSlNOb2RlSXRlcmF0b3JDdXN0b20uY3BwICovLAogCQkJCUJDRDlDMjYxMEMxN0FBNjcwMDVD
OTBBMiAvKiBKU05vZGVMaXN0Q3VzdG9tLmNwcCAqLywKKwkJCQkzMUZFNkU2QzE1MDFBM0JGMDAw
NEVCQzQgLyogSlNOb3RpZmljYXRpb25DdXN0b20uY3BwICovLAogCQkJCUE4NUYyMjA4MTQzMDM3
N0QwMDdDQzg4NCAvKiBKU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwICovLAogCQkJCUUxQUQxMkQ1
MTI5NUQwQkQwMEFDQTk4OSAvKiBKU1Byb2Nlc3NpbmdJbnN0cnVjdGlvbkN1c3RvbS5jcHAgKi8s
CiAJCQkJNDk5OEFFRDMxM0ZDNDE3RjAwOTBCMUFBIC8qIEpTUmVxdWVzdEFuaW1hdGlvbkZyYW1l
Q2FsbGJhY2tDdXN0b20uY3BwICovLApAQCAtMjQ1NTksNiArMjQ1NzMsOCBAQAogCQkJCUZENTM3
MzUzMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFD
REU5MjIxNTAxOTE2OTAwODYyQ0M1IC8qIEFzeW5jRmlsZVN0cmVhbS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNDUwQ0VCRjExNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVsZW1lbnQuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTMxRUMxRTI5MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFGRTZERkExNTAwNEMy
QTAwMDRFQkM0IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJ
CX07CkBAIC0yNzUzNiw2ICsyNzU1Miw4IEBACiAJCQkJRTFDREU5MjAxNTAxOEVEMDAwODYyQ0M1
IC8qIEFzeW5jRmlsZVN0cmVhbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0NTBDRUJGMDE1MDcz
QkJFMDAyQkIxNDkgLyogTGFiZWxhYmxlRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5
QjJCN0FDMTE1MDk4NTBBMDA4OTMyQ0MgLyogTWljcm9EYXRhSXRlbVZhbHVlLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTMxRUMxRTI4MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBl
cm1pc3Npb25DYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkzMUZFNkU2RDE1MDFBM0JG
MDAwNEVCQzQgLyogSlNOb3RpZmljYXRpb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25z
Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNh
dGlvbnNDdXN0b20uY3BwCmluZGV4IDE2YTk2MmM1NjI5YTM1OWQ1ZGM3Y2U4ZTIyYmFkODUwNjVl
OTEyY2UuLmEzNjIwYjg5YjcyZDhjZjlmNjMxMzNiODY2YmJlMDk0YjVjMjFiYjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0
b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNh
dGlvbnNDdXN0b20uY3BwCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAw
OSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEy
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKQEAgLTMwLDE0ICszMSwxMiBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAK
LSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgJiYg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNp
bmNsdWRlICJKU0N1c3RvbVZvaWRDYWxsYmFjay5oIgogI2luY2x1ZGUgIkpTRXZlbnRMaXN0ZW5l
ci5oIgotI2luY2x1ZGUgIkpTTm90aWZpY2F0aW9uLmgiCiAjaW5jbHVkZSAiSlNOb3RpZmljYXRp
b25DZW50ZXIuaCIKLSNpbmNsdWRlICJOb3RpZmljYXRpb24uaCIKICNpbmNsdWRlICJOb3RpZmlj
YXRpb25DZW50ZXIuaCIKICNpbmNsdWRlIDxydW50aW1lL0Vycm9yLmg+CiAKQEAgLTY4LDYgKzY3
LDYgQEAgSlNWYWx1ZSBKU05vdGlmaWNhdGlvbkNlbnRlcjo6cmVxdWVzdFBlcm1pc3Npb24oRXhl
Y1N0YXRlKiBleGVjKQogICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogfQogCi19IC8vIG5hbWVz
cGFjZQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNB
VElPTlMpCisjZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpICYmICFFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U05vdGlmaWNhdGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05v
dGlmaWNhdGlvbkN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzQzZDM4YjgwMjg0YWE4MWFiMTU2ZDdi
NzM2MjdhODMwNzJiYmJjZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcApAQCAtMCwwICsxLDU3IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkpTTm90aWZpY2F0aW9uLmgiCisKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKKworI2luY2x1ZGUgIkNhbGxiYWNrRnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU05vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjay5oIgorI2luY2x1ZGUgPHJ1bnRpbWUvRXJyb3IuaD4KKwor
dXNpbmcgbmFtZXNwYWNlIEpTQzsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitKU1ZhbHVlIEpT
Tm90aWZpY2F0aW9uOjpyZXF1ZXN0UGVybWlzc2lvbihFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAg
Ly8gQXJndW1lbnRzOiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sKKyAgICBpZiAoIWV4
ZWMtPmFyZ3VtZW50KDApLmlzT2JqZWN0KCkpCisgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJv
cihleGVjKTsKKyAgICAKKyAgICBSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNr
PiBjYWxsYmFjayA9IGNyZWF0ZUZ1bmN0aW9uT25seUNhbGxiYWNrPEpTTm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrPihleGVjLCBzdGF0aWNfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4
ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSksIGV4ZWMtPmFyZ3VtZW50KDApKTsKKyAgICBpZiAo
ZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworICAg
IAorICAgIEFTU0VSVChjYWxsYmFjayk7CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2Ny
aXB0Q29udGV4dCA9IHN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNh
bEdsb2JhbE9iamVjdCgpKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworICAgIE5vdGlmaWNh
dGlvbjo6cmVxdWVzdFBlcm1pc3Npb24oc2NyaXB0Q29udGV4dCwgY2FsbGJhY2sucmVsZWFzZSgp
KTsKKyAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKaW5kZXggNzQ5NjRkYzc3YWRhZDA4MWNiMGVm
MTljYTQ0YWQ0YTQ4ZTA4N2U3Mi4uYmIyNzAxZDA5ZjVhZjhmN2E3MWUyZDZmZmE2ZWI0ZGVkMGFh
ZTQ3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNw
cApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTEsIDIw
MTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQpAQCAtMzUsMTEgKzM1LDE0IEBACiAKICNpbmNsdWRlICJOb3RpZmljYXRp
b24uaCIKIAorI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAj
aW5jbHVkZSAiRXJyb3JFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRl
ICJOb3RpZmljYXRpb25DZW50ZXIuaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25Db250ZW50cy5o
IgorI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJOb3RpZmlj
YXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25QcmVzZW50
ZXIuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJl
c3BvbnNlLmgiCkBAIC0yMDEsNiArMjA0LDM3IEBAIHZvaWQgTm90aWZpY2F0aW9uOjpzdG9wTG9h
ZGluZygpCiAgICAgbV9sb2FkZXItPmNhbmNlbCgpOwogfQogCitjb25zdCBTdHJpbmcmIE5vdGlm
aWNhdGlvbjo6cGVybWlzc2lvbkxldmVsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQp
Cit7CisgICAgQVNTRVJUKGNvbnRleHQtPmlzRG9jdW1lbnQoKSk7CisgICAgQVNTRVJUKHN0YXRp
Y19jYXN0PERvY3VtZW50Kj4oY29udGV4dCktPnBhZ2UoKSk7CisgICAgcmV0dXJuIHN0cmluZ0Zv
clBlcm1pc3Npb24oTm90aWZpY2F0aW9uQ29udHJvbGxlcjo6ZnJvbShzdGF0aWNfY2FzdDxEb2N1
bWVudCo+KGNvbnRleHQpLT5wYWdlKCkpLT5jbGllbnQoKS0+Y2hlY2tQZXJtaXNzaW9uKGNvbnRl
eHQpKTsKK30KKworY29uc3QgU3RyaW5nJiBOb3RpZmljYXRpb246OnN0cmluZ0ZvclBlcm1pc3Np
b24oTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIHBlcm1pc3Npb24pCit7CisgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIGFsbG93ZWRQZXJtaXNzaW9uLCAoImdy
YW50ZWQiKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIGRlbmllZFBl
cm1pc3Npb24sICgiZGVuaWVkIikpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3Ry
aW5nLCBkZWZhdWx0UGVybWlzc2lvbiwgKCJkZWZhdWx0IikpOworICAgIHN3aXRjaCAocGVybWlz
c2lvbikgeworICAgIGNhc2UgTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uQWxsb3dl
ZDoKKyAgICAgICAgcmV0dXJuIGFsbG93ZWRQZXJtaXNzaW9uOworICAgIGNhc2UgTm90aWZpY2F0
aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uRGVuaWVkOgorICAgICAgICByZXR1cm4gZGVuaWVkUGVy
bWlzc2lvbjsKKyAgICBjYXNlIE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbk5vdEFs
bG93ZWQ6CisgICAgICAgIHJldHVybiBkZWZhdWx0UGVybWlzc2lvbjsKKyAgICB9CisgICAgCisg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisKK3ZvaWQgTm90aWZpY2F0aW9uOjpyZXF1ZXN0
UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPE5v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4gY2FsbGJhY2spCit7CisgICAgQVNTRVJUKGNv
bnRleHQtPmlzRG9jdW1lbnQoKSk7CisgICAgQVNTRVJUKHN0YXRpY19jYXN0PERvY3VtZW50Kj4o
Y29udGV4dCktPnBhZ2UoKSk7CisgICAgTm90aWZpY2F0aW9uQ29udHJvbGxlcjo6ZnJvbShzdGF0
aWNfY2FzdDxEb2N1bWVudCo+KGNvbnRleHQpLT5wYWdlKCkpLT5jbGllbnQoKS0+cmVxdWVzdFBl
cm1pc3Npb24oY29udGV4dCwgY2FsbGJhY2spOworfQorCiB2b2lkIE5vdGlmaWNhdGlvbjo6ZGlk
UmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJl
c3BvbnNlKQogewogICAgIGludCBzdGF0dXMgPSByZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKaW5kZXggZGQwZDZl
ZDg0YWQzMDc5ZDg4YmEwMmEwMmJjYWNjNmE2NDVjYjM5ZC4uZTBkMjAzNThhYTY5MDUyMDU0YjMy
Yzg5MDAyODczODg3MzBlZTExMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbi5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOSBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA5LCAy
MDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAw
OSwgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiRXZl
bnRUYXJnZXQuaCIKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ29u
dGVudHMuaCIKKyNpbmNsdWRlICJOb3RpZmljYXRpb25QcmVzZW50ZXIuaCIKICNpbmNsdWRlICJT
aGFyZWRCdWZmZXIuaCIKICNpbmNsdWRlICJUZXh0RGlyZWN0aW9uLmgiCiAjaW5jbHVkZSAiVGhy
ZWFkYWJsZUxvYWRlckNsaWVudC5oIgpAQCAtNTAsNiArNTEsNyBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBOb3RpZmljYXRpb25DZW50ZXI7CitjbGFzcyBOb3RpZmljYXRpb25QZXJt
aXNzaW9uQ2FsbGJhY2s7CiBjbGFzcyBSZXNvdXJjZUVycm9yOwogY2xhc3MgUmVzb3VyY2VSZXNw
b25zZTsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CkBAIC0xMTksNiArMTIxLDEwIEBA
IHB1YmxpYzoKICAgICAvLyBEZXByZWNhdGVkLiBVc2UgZnVuY3Rpb25zIGZyb20gTm90aWZpY2F0
aW9uQ2VudGVyLgogICAgIHZvaWQgZGV0YWNoUHJlc2VudGVyKCkgeyB9CiAKKyAgICBzdGF0aWMg
Y29uc3QgU3RyaW5nJiBwZXJtaXNzaW9uTGV2ZWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwor
ICAgIHN0YXRpYyBjb25zdCBTdHJpbmcmIHN0cmluZ0ZvclBlcm1pc3Npb24oTm90aWZpY2F0aW9u
UHJlc2VudGVyOjpQZXJtaXNzaW9uKTsKKyAgICBzdGF0aWMgdm9pZCByZXF1ZXN0UGVybWlzc2lv
bihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2s+KTsKKwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UodW5z
aWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOwogICAgIHZpcnR1YWwgdm9pZCBk
aWRSZWNlaXZlRGF0YShjb25zdCBjaGFyKiBkYXRhLCBpbnQgZGF0YUxlbmd0aCk7CiAgICAgdmly
dHVhbCB2b2lkIGRpZEZpbmlzaExvYWRpbmcodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBkb3Vi
bGUgZmluaXNoVGltZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbi5pZGwKaW5kZXggZDhjYjNjYzM5YTI1ZTcxNzQzZTlmNzVlOWU4Y2Y0YzE4MGUyMjE2OC4u
NDU4MTZlMTg0M2QwYzQyY2M0ZTg2MzYwZGFiMWY1ZDRiOGVhNjcxNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbApAQCAtMSw2ICsxLDYgQEAKIC8q
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzQsMTIgKzM0LDE0IEBA
IG1vZHVsZSB0aHJlYWRzIHsKICAgICBpbnRlcmZhY2UgWwogICAgICAgICBDb25kaXRpb25hbD1O
T1RJRklDQVRJT05TLAogICAgICAgICBBY3RpdmVET01PYmplY3QsCi0gICAgICAgIEV2ZW50VGFy
Z2V0LAotICAgICAgICBPbWl0Q29uc3RydWN0b3IKKyAgICAgICAgRXZlbnRUYXJnZXQKICAgICBd
IE5vdGlmaWNhdGlvbiB7CiAgICAgICAgIHZvaWQgc2hvdygpOwogICAgICAgICB2b2lkIGNhbmNl
bCgpOwogCisgICAgICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBzdGF0aWMg
RE9NU3RyaW5nIHBlcm1pc3Npb25MZXZlbCgpOworICAgICAgICBbQ3VzdG9tXSBzdGF0aWMgdm9p
ZCByZXF1ZXN0UGVybWlzc2lvbihpbiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgY2Fs
bGJhY2spOworCiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uc2hvdzsKICAgICAg
ICAgLy8gRklYTUU6IFRoZSBsYXRlc3QgV2ViIE5vdGlmaWNhdGlvbnMgc3RhbmRhcmQgdXNlcyB0
aGUgb25zaG93IGV2ZW50IGxpc3RlbmVyLgogICAgICAgICAvLyBUaGUgb25kaXNwbGF5IGV2ZW50
IGxpc3RlbmVyIHNob3VsZCBiZSByZW1vdmVkIHdoZW4gaW1wbGVtZW50YXRpb25zIGNoYW5nZSB0
aGUgZXZlbnQgbGlzdGVuZXIgdG8gb25zaG93LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCmluZGV4IDcxMTQ2YWY4ZGEzNzIzZDE0
NzE1ZWZjYjVkMWFiZWFjNDhlMzcxNTkuLjQ2NzQ0MzRhZTAxYTA3MzhkZjI0YzM0NTgxNDYwNDdh
YTgxMDc0MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uQ2VudGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbkNlbnRlci5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAy
MDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQpAQCAtNTIsMTkgKzUzLDIzIEBAIE5vdGlmaWNhdGlvbkNlbnRlcjo6Tm90
aWZpY2F0aW9uQ2VudGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIE5vdGlmaWNh
CiAgICAgOiBBY3RpdmVET01PYmplY3QoY29udGV4dCwgdGhpcykKICAgICAsIG1fbm90aWZpY2F0
aW9uUHJlc2VudGVyKHByZXNlbnRlcikge30KIAorI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FU
SU9OUykKIGludCBOb3RpZmljYXRpb25DZW50ZXI6OmNoZWNrUGVybWlzc2lvbigpCiB7CiAgICAg
aWYgKCFwcmVzZW50ZXIoKSB8fCAhc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQogICAgICAgICBy
ZXR1cm4gTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uRGVuaWVkOwogICAgIHJldHVy
biBtX25vdGlmaWNhdGlvblByZXNlbnRlci0+Y2hlY2tQZXJtaXNzaW9uKHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKSk7CiB9CisjZW5kaWYKIAorI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9O
UykKIHZvaWQgTm90aWZpY2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbihQYXNzUmVmUHRy
PFZvaWRDYWxsYmFjaz4gY2FsbGJhY2spCiB7CiAgICAgaWYgKCFwcmVzZW50ZXIoKSB8fCAhc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpKQogICAgICAgICByZXR1cm47CiAgICAgbV9ub3RpZmljYXRp
b25QcmVzZW50ZXItPnJlcXVlc3RQZXJtaXNzaW9uKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwg
Y2FsbGJhY2spOwogfQorI2VuZGlmCiAKIHZvaWQgTm90aWZpY2F0aW9uQ2VudGVyOjpkaXNjb25u
ZWN0RnJhbWUoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25DZW50ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uQ2VudGVyLmgKaW5kZXggNDAyY2NiYTkzOGIyZmVlMDgxZjhhNmE4ZDdiZWNlZmY3OGNj
MjY5Mi4uZjY2ODM2MTA3OWQwMWExNzJiYjM0ZjRhYzFhNDA3NjI1NmY3ZThjMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oCkBAIC0x
LDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC03
Nyw4ICs3NywxMCBAQCBwdWJsaWM6CiAKICAgICBOb3RpZmljYXRpb25QcmVzZW50ZXIqIHByZXNl
bnRlcigpIGNvbnN0IHsgcmV0dXJuIG1fbm90aWZpY2F0aW9uUHJlc2VudGVyOyB9CiAKKyNpZiBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgaW50IGNoZWNrUGVybWlzc2lvbigpOwog
ICAgIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+KTsKKyNl
bmRpZgogCiAgICAgdm9pZCBkaXNjb25uZWN0RnJhbWUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsIGIvU291cmNlL1dl
YkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsCmluZGV4IDhiZTFlY2M3
NjlmYmM1YTQzN2I3NjRlOTZhMDdlNDc1MTcwYTM1NjYuLmI5OTdkOWYzMjMxODNiMjg3ZWM1MWE0
NjEzY2M0MGQ2ZjMyMzE1YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwKQEAgLTQxLDggKzQxLDEwIEBAIG1vZHVsZSB0aHJl
YWRzIHsKICNlbmRpZgogICAgICAgIFtWOEN1c3RvbV0gTm90aWZpY2F0aW9uIGNyZWF0ZU5vdGlm
aWNhdGlvbihpbiBET01TdHJpbmcgaWNvblVybCwgaW4gRE9NU3RyaW5nIHRpdGxlLCBpbiBET01T
dHJpbmcgYm9keSkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKKyNpZiBkZWZpbmVkKEVOQUJMRV9M
RUdBQ1lfTk9USUZJQ0FUSU9OUykgJiYgRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TCiAgICAg
ICAgaW50IGNoZWNrUGVybWlzc2lvbigpOwogICAgICAgIFtDdXN0b21dIHZvaWQgcmVxdWVzdFBl
cm1pc3Npb24oaW4gVm9pZENhbGxiYWNrIGNhbGxiYWNrKTsKKyNlbmRpZgogICAgIH07CiAKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0OTRlZjVlMDMzYTkzMDJiMzBi
NTg2ZTg5MzM5MzdmOTk5YzQ3MTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oCkBAIC0wLDAgKzEs
NDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpZm5kZWYgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrX2gK
KyNkZWZpbmUgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrX2gKKworI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworICAgIAorY2xhc3MgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrIDogcHVi
bGljIFJlZkNvdW50ZWQ8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiB7CitwdWJsaWM6
CisgICAgdmlydHVhbCB+Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrKCkgeyB9CisgICAg
dmlydHVhbCBib29sIGhhbmRsZUV2ZW50KGNvbnN0IFN0cmluZyYgcGVybWlzc2lvbikgPSAwOwor
fTsKKyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIE5vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFja19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMWYxMTE2MTJlMjQwY2VjYWExOWZiNWVhNzFhYWNkN2QyNjA5M2MyMAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrLmlkbApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgdGhyZWFk
cyB7CisKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1OT1RJRklDQVRJT05T
LAorICAgICAgICBDYWxsYmFjaworICAgIF0gTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNr
IHsKKyAgICAgICAgYm9vbGVhbiBoYW5kbGVFdmVudChpbiBET01TdHJpbmcgcGVybWlzc2lvbik7
CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25QcmVzZW50ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uUHJlc2VudGVyLmgKaW5kZXggMTkzNTM4NGRjMWY2Y2I5MTc0ODBhOWQ0YzgxYjk2
ZjQzYTQ4YjE5Yi4uNTc4NTc2OWIxZWRiMzM5ZGU4M2ZmNzJiYWUwNDE1OGZhNTQzZWUxZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QcmVzZW50
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblByZXNl
bnRlci5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCkBAIC0zOCw4ICszOCw5IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERv
Y3VtZW50OwotY2xhc3MgTm90aWZpY2F0aW9uOwogY2xhc3MgS1VSTDsKK2NsYXNzIE5vdGlmaWNh
dGlvbjsKK2NsYXNzIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjazsKIGNsYXNzIFBhZ2U7
CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCkBAIC03MCwxMCArNzEsMTQgQEAgcHVi
bGljOgogICAgIC8vIEluZm9ybXMgdGhlIHByZXNlbnRlciB0aGUgY29udHJvbGxlciBhdHRhY2hl
ZCB0byB0aGUgcGFnZSBoYXMgYmVlbiBkZXN0cm95ZWQuCiAgICAgdmlydHVhbCB2b2lkIG5vdGlm
aWNhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKSA9IDA7CiAKKyNpZiBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCiAgICAgLy8gUmVxdWVzdHMgdXNlciBwZXJtaXNzaW9uIHRvIHNob3cgZGVz
a3RvcCBub3RpZmljYXRpb25zIGZyb20gYSBwYXJ0aWN1bGFyCiAgICAgLy8gc2NyaXB0IGNvbnRl
eHQuIFRoZSBjYWxsYmFjayBwYXJhbWV0ZXIgc2hvdWxkIGJlIHJ1biB3aGVuIHRoZSB1c2VyIGhh
cwogICAgIC8vIG1hZGUgYSBkZWNpc2lvbi4KICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1p
c3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPikg
PSAwOworI2VuZGlmCisgICAgLy8gRklYTUU6IE9uY2UgYWxsIG9mIHRoZSBwb3J0cyBoYXZlIGFk
b3B0ZWQgdGhlIG5ldyBBUEksIHdlIHNob3VsZCB0dXJuIHRoaXMgdG8gYSBwdXJlIHZpcnR1YWwu
CisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4pIHsgfQogCiAg
ICAgLy8gQ2FuY2VsIGFsbCBvdXRzdGFuZGluZyByZXF1ZXN0cyBmb3IgdGhlIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9u
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwK
aW5kZXggMTQwODZiZjIwZTllNDk3NmFhODgxMjNiODYwYzA3YjQ1OTNhNzlhZC4uY2YxMTg3MWI0
NDU2NmMxYWIzYTg4YmNlODI1MzRlY2ZhZmY1ZjU5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmlkbApAQCAtMTczLDYgKzE3Myw3IEBAIG1vZHVsZSB3aW5kb3cgewogI2lmIGRlZmluZWQoRU5B
QkxFX05PVElGSUNBVElPTlMpICYmIEVOQUJMRV9OT1RJRklDQVRJT05TCiAgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50aW1lXSBOb3RpZmljYXRpb25DZW50ZXIgd2Vi
a2l0Tm90aWZpY2F0aW9uczsKICNlbmRpZgorICAgICAgICBhdHRyaWJ1dGUgTm90aWZpY2F0aW9u
Q29uc3RydWN0b3IgTm90aWZpY2F0aW9uOwogCiAjaWYgZGVmaW5lZChFTkFCTEVfT1JJRU5UQVRJ
T05fRVZFTlRTKSAmJiBFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTCiAgICAgICAgIC8vIFRoaXMg
aXMgdGhlIGludGVyZmFjZSBvcmllbnRhdGlvbiBpbiBkZWdyZWVzLiBTb21lIGV4YW1wbGVzIGFy
ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlm
aWNhdGlvbkNsaWVudC5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90
aWZpY2F0aW9uQ2xpZW50LmgKaW5kZXggYTQwY2U4MWU1ZGM3ZjY0NjY1MWVmODY5OGE3NjJlNTEx
OGQ3YmI5My4uNjRmYWRmMjJhZDAzMTY0ZjYwODdmY2ExZWE2NDUzNDA1YWRkNTVjNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0
aW9uQ2xpZW50LmgKQEAgLTM0LDExICszNCwxMyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBj
bGFzcyBOb3RpZmljYXRpb247CitjbGFzcyBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s7
CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgVm9pZENhbGxiYWNrOwogfQog
CiBAY2xhc3MgV2ViTm90aWZpY2F0aW9uOworQGNsYXNzIFdlYk5vdGlmaWNhdGlvblBvbGljeUxp
c3RlbmVyOwogQGNsYXNzIFdlYlZpZXc7CiAKIGNsYXNzIFdlYk5vdGlmaWNhdGlvbkNsaWVudCA6
IHB1YmxpYyBXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXIgewpAQCAtNTIsMTAgKzU0LDE3
IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGNsZWFyTm90aWZpY2F0aW9ucyhXZWJDb3Jl
OjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIG5v
dGlmaWNhdGlvbk9iamVjdERlc3Ryb3llZChXZWJDb3JlOjpOb3RpZmljYXRpb24qKSBPVkVSUklE
RTsKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpIE9W
RVJSSURFOworI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICB2aXJ0dWFsIHZv
aWQgcmVxdWVzdFBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBh
c3NSZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxiYWNrPikgT1ZFUlJJREU7CisjZW5kaWYKKyAgICB2
aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCosIFBhc3NSZWZQdHI8V2ViQ29yZTo6Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNr
PikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lv
bihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgT1ZFUlJJREUgeyB9CiAgICAgdmly
dHVhbCBXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb24gY2hlY2tQZXJt
aXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBPVkVSUklERTsKIAorI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKQorICAgIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oV2ViQ29y
ZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVy
ICopOworI2VuZGlmCisKICAgICBXZWJWaWV3ICptX3dlYlZpZXc7CiAjaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpCiAgICAgSGFzaE1hcDxSZWZQdHI8V2ViQ29yZTo6Tm90aWZpY2F0aW9uPiwgUmV0
YWluUHRyPFdlYk5vdGlmaWNhdGlvbj4gPiBtX25vdGlmaWNhdGlvbk1hcDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5t
bSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVu
dC5tbQppbmRleCAyZjdjZDU0MTE3NzEzNzMzZmFlMGUxZTJjMmY0YTk5MTFkNmZiYzRmLi5mZGNk
MjhlN2NhMGY1NjY0ZTZjYmM5YTkwNmJhOTllZWIzYmY0YTFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQubW0KKysrIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lm1t
CkBAIC0zMywxOCArMzMsMzEgQEAKICNpbXBvcnQgIldlYlVJRGVsZWdhdGVQcml2YXRlLmgiCiAj
aW1wb3J0ICJXZWJWaWV3SW50ZXJuYWwuaCIKICNpbXBvcnQgPFdlYkNvcmUvQmxvY2tFeGNlcHRp
b25zLmg+CisjaW1wb3J0IDxXZWJDb3JlL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5o
PgogI2ltcG9ydCA8V2ViQ29yZS9QYWdlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuaD4KICNlbmRpZgogCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05T
KQorI2ltcG9ydCA8V2ViQ29yZS9Wb2lkQ2FsbGJhY2suaD4KKyNlbmRpZgorCiB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKIAogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorCiBAaW50ZXJmYWNl
IFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIDogTlNPYmplY3QgPFdlYkFsbG93RGVueVBv
bGljeUxpc3RlbmVyPgogewotICAgIFJlZlB0cjxWb2lkQ2FsbGJhY2s+IF9jYWxsYmFjazsKKyAg
ICBSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBfY2FsbGJhY2s7CisjaWYg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorICAgIFJlZlB0cjxWb2lkQ2FsbGJhY2s+IF92
b2lkQ2FsbGJhY2s7CisjZW5kaWYKIH0KLS0gKGlkKWluaXRXaXRoQ2FsbGJhY2s6KFBhc3NSZWZQ
dHI8Vm9pZENhbGxiYWNrPiljYWxsYmFjazsKKy0gKGlkKWluaXRXaXRoQ2FsbGJhY2s6KFBhc3NS
ZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiljYWxsYmFjazsKKyNpZiBFTkFC
TEUoTEVHQUNZX05PVElGSUNBVElPTlMpCistIChpZClpbml0V2l0aFZvaWRDYWxsYmFjazooUGFz
c1JlZlB0cjxWb2lkQ2FsbGJhY2s+KWNhbGxiYWNrOworI2VuZGlmCisKIEBlbmQKICNlbmRpZgog
CkBAIC0xNDcsMjkgKzE2MCw0NiBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6bm90aWZp
Y2F0aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpCiAgICAgZGVsZXRlIHRoaXM7CiB9CiAKKworI2lm
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50
OjpyZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNz
UmVmUHRyPFZvaWRDYWxsYmFjaz4gY2FsbGJhY2spCiB7CisgICAgQkVHSU5fQkxPQ0tfT0JKQ19F
WENFUFRJT05TOworICAgIFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyKiBsaXN0ZW5lciA9
IFtbV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgYWxsb2NdIGluaXRXaXRoVm9pZENhbGxi
YWNrOmNhbGxiYWNrXTsKKyAgICByZXF1ZXN0UGVybWlzc2lvbihjb250ZXh0LCBsaXN0ZW5lcik7
CisgICAgW2xpc3RlbmVyIHJlbGVhc2VdOworICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7
Cit9CisjZW5kaWYKKwordm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaXNz
aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8Tm90aWZpY2F0
aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBjYWxsYmFjaykKK3sKICNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykKICAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7Ci0gICAgCisgICAgV2ViTm90
aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgKmxpc3RlbmVyID0gW1tXZWJOb3RpZmljYXRpb25Qb2xp
Y3lMaXN0ZW5lciBhbGxvY10gaW5pdFdpdGhDYWxsYmFjazpjYWxsYmFja107CisgICAgcmVxdWVz
dFBlcm1pc3Npb24oY29udGV4dCwgbGlzdGVuZXIpOworICAgIFtsaXN0ZW5lciByZWxlYXNlXTsK
KyAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0o
Y29udGV4dCk7CisgICAgVU5VU0VEX1BBUkFNKGNhbGxiYWNrKTsKKyNlbmRpZgorfQorCisjaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpCit2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVz
dFBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgV2Vi
Tm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgKmxpc3RlbmVyKQorewogICAgIFNFTCBzZWxlY3Rv
ciA9IEBzZWxlY3Rvcih3ZWJWaWV3OmRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblJlcXVlc3RG
cm9tT3JpZ2luOmxpc3RlbmVyOik7CiAgICAgaWYgKCFbW21fd2ViVmlldyBVSURlbGVnYXRlXSBy
ZXNwb25kc1RvU2VsZWN0b3I6c2VsZWN0b3JdKQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAg
V2ViU2VjdXJpdHlPcmlnaW4gKndlYk9yaWdpbiA9IFtbV2ViU2VjdXJpdHlPcmlnaW4gYWxsb2Nd
IF9pbml0V2l0aFdlYkNvcmVTZWN1cml0eU9yaWdpbjpjb250ZXh0LT5zZWN1cml0eU9yaWdpbigp
XTsKLSAgICBXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciogbGlzdGVuZXIgPSBbW1dlYk5v
dGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGFsbG9jXSBpbml0V2l0aENhbGxiYWNrOmNhbGxiYWNr
XTsKICAgICAKICAgICBDYWxsVUlEZWxlZ2F0ZShtX3dlYlZpZXcsIHNlbGVjdG9yLCB3ZWJPcmln
aW4sIGxpc3RlbmVyKTsKICAgICAKICAgICBbd2ViT3JpZ2luIHJlbGVhc2VdOwotICAgIFtsaXN0
ZW5lciByZWxlYXNlXTsKLSAgICAKLSAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwotI2Vs
c2UKLSAgICBVTlVTRURfUEFSQU0oY29udGV4dCk7Ci0gICAgVU5VU0VEX1BBUkFNKGNhbGxiYWNr
KTsKLSNlbmRpZgogfQorI2VuZGlmCiAKIE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lv
biBXZWJOb3RpZmljYXRpb25DbGllbnQ6OmNoZWNrUGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0KQogewpAQCAtMTk5LDcgKzIyOSw4IEBAIE5vdGlmaWNhdGlvblByZXNl
bnRlcjo6UGVybWlzc2lvbiBXZWJOb3RpZmljYXRpb25DbGllbnQ6OmNoZWNrUGVybWlzc2lvbihT
Y3JpcHRFCiAKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKIEBpbXBsZW1lbnRhdGlvbiBXZWJO
b3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lcgotLSAoaWQpaW5pdFdpdGhDYWxsYmFjazooUGFzc1Jl
ZlB0cjxWb2lkQ2FsbGJhY2s+KWNhbGxiYWNrCisKKy0gKGlkKWluaXRXaXRoQ2FsbGJhY2s6KFBh
c3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiljYWxsYmFjawogewogICAg
IGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdF0pKQogICAgICAgICByZXR1cm4gbmlsOwpAQCAtMjA5
LDE0ICsyNDAsNDAgQEAgTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIFdlYk5vdGlm
aWNhdGlvbkNsaWVudDo6Y2hlY2tQZXJtaXNzaW9uKFNjcmlwdEUKICAgICByZXR1cm4gc2VsZjsK
IH0KIAorI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKy0gKGlkKWluaXRXaXRoVm9p
ZENhbGxiYWNrOihQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pY2FsbGJhY2sKK3sKKyAgICBpZiAo
IShzZWxmID0gW3N1cGVyIGluaXRdKSkKKyAgICAgICAgcmV0dXJuIG5pbDsKKworICAgIEFTU0VS
VChjYWxsYmFjayk7CisgICAgX3ZvaWRDYWxsYmFjayA9IGNhbGxiYWNrOworICAgIHJldHVybiBz
ZWxmOworfQorI2VuZGlmCisKIC0gKHZvaWQpYWxsb3cKIHsKLSAgICBfY2FsbGJhY2stPmhhbmRs
ZUV2ZW50KCk7CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorICAgIGlmIChfdm9p
ZENhbGxiYWNrKSB7CisgICAgICAgIF92b2lkQ2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYKKworICAgIF9jYWxsYmFjay0+aGFuZGxlRXZlbnQo
Tm90aWZpY2F0aW9uOjpzdHJpbmdGb3JQZXJtaXNzaW9uKE5vdGlmaWNhdGlvblByZXNlbnRlcjo6
UGVybWlzc2lvbkFsbG93ZWQpKTsKIH0KIAogLSAodm9pZClkZW55CiB7Ci0gICAgX2NhbGxiYWNr
LT5oYW5kbGVFdmVudCgpOworI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICBp
ZiAoX3ZvaWRDYWxsYmFjaykgeworICAgICAgICBfdm9pZENhbGxiYWNrLT5oYW5kbGVFdmVudCgp
OworICAgICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCisKKyAgICBfY2FsbGJhY2stPmhhbmRs
ZUV2ZW50KE5vdGlmaWNhdGlvbjo6c3RyaW5nRm9yUGVybWlzc2lvbihOb3RpZmljYXRpb25QcmVz
ZW50ZXI6OlBlcm1pc3Npb25EZW5pZWQpKTsKIH0KIAogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcAppbmRleCAxZGRkYTdj
OTgxNjBkNTQ5Yjk5MjNhZTI3ZTE0ZGU4N2Q4OTU3YjIyLi5mYjRmYzA3ZDkyNTlhMTU4NGNkOTYw
ZjkwMGRjYWExMGQ2NmM5NzJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
UGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcApAQCAtNTksMTEgKzU5LDEyIEBAIE5vdGlmaWNh
dGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyKFdlYlBhCiB7CiB9CiAKLXZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyOjpzdGFydFJlcXVlc3QoU2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwgUGFzc1JlZlB0
cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrKQordm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVx
dWVzdE1hbmFnZXI6OnN0YXJ0UmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2luLCBQYXNzUmVm
UHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4gY2FsbGJhY2spCiB7CiAjaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpCi0gICAgaWYgKHBlcm1pc3Npb25MZXZlbChvcmlnaW4pICE9IE5v
dGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbk5vdEFsbG93ZWQpIHsKLSAgICAgICAgY2Fs
bGJhY2stPmhhbmRsZUV2ZW50KCk7CisgICAgTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNz
aW9uIHBlcm1pc3Npb24gPSBwZXJtaXNzaW9uTGV2ZWwob3JpZ2luKTsKKyAgICBpZiAocGVybWlz
c2lvbiAhPSBOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb25Ob3RBbGxvd2VkKSB7Cisg
ICAgICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVudChOb3RpZmljYXRpb246OnN0cmluZ0ZvclBlcm1p
c3Npb24ocGVybWlzc2lvbikpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC03OCw2ICs3
OSwyMyBAQCB2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6c3RhcnRS
ZXF1ZXN0KFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sCiAjZW5kaWYKIH0KIAorI2lmIEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUykKK3ZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyOjpzdGFydFJlcXVlc3QoU2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwgUGFzc1JlZlB0cjxW
b2lkQ2FsbGJhY2s+IGNhbGxiYWNrKQoreworICAgIE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVy
bWlzc2lvbiBwZXJtaXNzaW9uID0gcGVybWlzc2lvbkxldmVsKG9yaWdpbik7CisgICAgaWYgKHBl
cm1pc3Npb24gIT0gTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uTm90QWxsb3dlZCkg
eworICAgICAgICBjYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKyAgICAKKyAgICB1aW50NjRfdCByZXF1ZXN0SUQgPSBnZW5lcmF0ZVJlcXVlc3RJRCgpOwor
ICAgIG1fb3JpZ2luVG9JRE1hcC5zZXQob3JpZ2luLCByZXF1ZXN0SUQpOworICAgIG1faWRUb09y
aWdpbk1hcC5zZXQocmVxdWVzdElELCBvcmlnaW4pOworICAgIG1faWRUb1ZvaWRDYWxsYmFja01h
cC5zZXQocmVxdWVzdElELCBjYWxsYmFjayk7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlUHJveHk6OlJlcXVlc3ROb3RpZmljYXRpb25QZXJtaXNzaW9uKHJlcXVlc3RJRCwgb3Jp
Z2luLT50b1N0cmluZygpKSk7Cit9CisjZW5kaWYKKwogdm9pZCBOb3RpZmljYXRpb25QZXJtaXNz
aW9uUmVxdWVzdE1hbmFnZXI6OmNhbmNlbFJlcXVlc3QoU2VjdXJpdHlPcmlnaW4qIG9yaWdpbikK
IHsKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKQEAgLTExMSwxMSArMTI5LDE5IEBAIHZvaWQg
Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpkaWRSZWNlaXZlTm90aWZpY2F0
aW9uUGVybWlzc2lvbkRlY2lzCiAgICAgaWYgKCFpc1JlcXVlc3RJRFZhbGlkKHJlcXVlc3RJRCkp
CiAgICAgICAgIHJldHVybjsKIAotICAgIFJlZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrID0g
bV9pZFRvQ2FsbGJhY2tNYXAudGFrZShyZXF1ZXN0SUQpOworI2lmIEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKKyAgICBSZWZQdHI8Vm9pZENhbGxiYWNrPiB2b2lkQ2FsbGJhY2sgPSBtX2lk
VG9Wb2lkQ2FsbGJhY2tNYXAudGFrZShyZXF1ZXN0SUQpOworICAgIGlmICh2b2lkQ2FsbGJhY2sp
IHsKKyAgICAgICAgdm9pZENhbGxiYWNrLT5oYW5kbGVFdmVudCgpOworICAgICAgICByZXR1cm47
CisgICAgfQorI2VuZGlmCisKKyAgICBSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxi
YWNrPiBjYWxsYmFjayA9IG1faWRUb0NhbGxiYWNrTWFwLnRha2UocmVxdWVzdElEKTsKICAgICBp
ZiAoIWNhbGxiYWNrKQogICAgICAgICByZXR1cm47CiAgICAgCi0gICAgY2FsbGJhY2stPmhhbmRs
ZUV2ZW50KCk7CisgICAgY2FsbGJhY2stPmhhbmRsZUV2ZW50KE5vdGlmaWNhdGlvbjo6c3RyaW5n
Rm9yUGVybWlzc2lvbihhbGxvd2VkID8gTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9u
QWxsb3dlZCA6IE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbkRlbmllZCkpOwogI2Vs
c2UKICAgICBVTlVTRURfUEFSQU0ocmVxdWVzdElEKTsKICAgICBVTlVTRURfUEFSQU0oYWxsb3dl
ZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5h
Z2VyLmgKaW5kZXggNTU3M2M2YTExMTllZjJiMDZlN2VlYzJlYzkxYzNiM2FkN2VjZjc1ZC4uYmEz
OWZiZjcyYWZlMDIwYTViYmZjM2QwNTE5NWIzN2IyOWZiYjM2NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaApAQCAtMjYsNiArMjYs
NyBAQAogI2lmbmRlZiBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJfaAogI2Rl
ZmluZSBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJfaAogCisjaW5jbHVkZSA8
V2ViQ29yZS9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaD4KICNpbmNsdWRlIDxXZWJD
b3JlL05vdGlmaWNhdGlvblByZXNlbnRlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVm9pZENhbGxi
YWNrLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KQEAgLTQ2LDcgKzQ3LDEwIEBAIGNsYXNz
IE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlciA6IHB1YmxpYyBSZWZDb3VudGVk
PE5vdGlmaWNhdGlvblBlcm1pCiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Tm90aWZp
Y2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyPiBjcmVhdGUoV2ViUGFnZSopOwogICAgIAor
ICAgIHZvaWQgc3RhcnRSZXF1ZXN0KFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luKiwgUGFzc1JlZlB0
cjxXZWJDb3JlOjpOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KTsKKyNpZiBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgdm9pZCBzdGFydFJlcXVlc3QoV2ViQ29yZTo6U2Vj
dXJpdHlPcmlnaW4qLCBQYXNzUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4pOworI2VuZGlm
CiAgICAgdm9pZCBjYW5jZWxSZXF1ZXN0KFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luKik7CiAgICAg
CiAgICAgLy8gU3luY2hyb25vdXMgY2FsbCB0byByZXRyaWV2ZSBwZXJtaXNzaW9uIGxldmVsIGZv
ciBnaXZlbiBzZWN1cml0eSBvcmlnaW4KQEAgLTU3LDcgKzYxLDEwIEBAIHB1YmxpYzoKIHByaXZh
dGU6CiAgICAgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKFdlYlBhZ2UqKTsK
ICAgICAKLSAgICBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxiYWNr
PiA+IG1faWRUb0NhbGxiYWNrTWFwOworICAgIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxXZWJD
b3JlOjpOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+ID4gbV9pZFRvQ2FsbGJhY2tNYXA7
CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorICAgIEhhc2hNYXA8dWludDY0X3Qs
IFJlZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJhY2s+ID4gbV9pZFRvVm9pZENhbGxiYWNrTWFwOwor
I2VuZGlmCiAgICAgSGFzaE1hcDxSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+LCB1aW50
NjRfdD4gbV9vcmlnaW5Ub0lETWFwOwogICAgIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxXZWJD
b3JlOjpTZWN1cml0eU9yaWdpbj4gPiBtX2lkVG9PcmlnaW5NYXA7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xp
ZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90
aWZpY2F0aW9uQ2xpZW50LmNwcAppbmRleCA5MGViMTYxZjI2Y2RiMzMwMzYxMWI0ZWE4ZTYwNThl
NjllYmM1NDAzLi5kYzViYjdhMjNmODZlMzQ2NTdjYmFlMmQ1NDQyMTUyMzE1NGQxOWM0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlm
aWNhdGlvbkNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuY3BwCkBAIC03Nyw2ICs3NywxMSBAQCB2b2lk
IFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogY29udGV4dCwgUAogICAgIG1fcGFnZS0+bm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyKCktPnN0YXJ0UmVxdWVzdChjb250ZXh0LT5zZWN1cml0eU9yaWdpbigpLCBj
YWxsYmFjayk7CiB9CiAKK3ZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlz
c2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPE5vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjaz4gY2FsbGJhY2spCit7CisgICAgbV9wYWdlLT5ub3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKS0+c3RhcnRSZXF1ZXN0KGNvbnRleHQtPnNl
Y3VyaXR5T3JpZ2luKCksIGNhbGxiYWNrKTsKK30KKwogdm9pZCBXZWJOb3RpZmljYXRpb25DbGll
bnQ6OmNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0KQogewogICAgIG1fcGFnZS0+bm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5h
Z2VyKCktPmNhbmNlbFJlcXVlc3QoY29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNh
dGlvbkNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJOb3RpZmljYXRpb25DbGllbnQuaAppbmRleCAxNDdhODhhYzEwZGQ4OWM1OGM4MzYzMGU2NWFm
NGM3NDhmMGUyNTgxLi4xNDk0ZjlkMjc4NTU4MTE2ZjE4YmM5OWUzYmY2YjMxNmMzYjQwNTY0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5v
dGlmaWNhdGlvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNs
dWRlIDxXZWJDb3JlL05vdGlmaWNhdGlvblByZXNlbnRlci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CitjbGFzcyBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s7CiBjbGFzcyBTY3JpcHRF
eGVjdXRpb25Db250ZXh0OwogY2xhc3MgVm9pZENhbGxiYWNrOwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpAQCAtNTEsOSArNTIsMTAgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZp
Y2F0aW9uT2JqZWN0RGVzdHJveWVkKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiopIE9WRVJSSURFOwog
ICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25Db250cm9sbGVyRGVzdHJveWVkKCkgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4pIE9WRVJS
SURFOworICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2s+KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsUmVxdWVzdHNG
b3JQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbiBjaGVja1Blcm1p
c3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIE9WRVJSSURFOwotICAgIAor
CiAgICAgV2ViUGFnZSogbV9wYWdlOwogfTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131084</attachid>
            <date>2012-03-09 13:00:47 -0800</date>
            <delta_ts>2012-03-09 14:22:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80485-20120309130202.patch</filename>
            <type>text/plain</type>
            <size>48224</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMzExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjA3NTUxYjVkMDUzZjU4
NTlhZTk0ZjY1NTA3NmExMzgxN2QxYWNhNi4uZDk3N2QzYmY5MzZhOWYxNjJkZmY4ZWMzMDcxM2Zh
ZGFlY2NjMmNlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM5IEBACiAyMDEyLTAzLTA5ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAorICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVu
Y3Rpb25zIHRvIE5vdGlmaWNhdGlvbiBmcm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzEwOTY1NDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsOiBCZWNhdXNl
IHRoZSBmdW5jdGlvbnMgYXJlIG9uIHRoZSBOb3RpZmljYXRpb24gb2JqZWN0IGl0c2VsZiwgd2Ug
bmVlZCB0bworICAgICAgICBkZWNsYXJlIGl0IGEgY29uc3RydWN0b3Igc28gdGhhdCBpdCBpcyBh
Y2Nlc3NpYmxlIGZyb20gRE9NV2luZG93LgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDog
QWRkIE5vdGlmaWNhdGlvbiBjb25zdHJ1Y3Rvci4KKworICAgICAgICAqIG5vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6cGVybWlz
c2lvbkxldmVsKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6c3RyaW5nRm9yUGVy
bWlzc2lvbik6IERlY2xhcmUgdGhyZWUgc3RhdGljIGxvY2FscyBmb3IgZWFjaCBvZiB0aGUgdmFs
dWVzLCBhbmQgcmV0dXJuCisgICAgICAgIGJhc2VkIG9uIHRoZSBwZXJtaXNzaW9uIGVudW0uCisg
ICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb246OnJlcXVlc3RQZXJtaXNzaW9uKTogRm9yd2Fy
ZCByZXF1ZXN0IHRvIGNsaWVudC4KKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5oOgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwOiBX
cmFwIHBlcm1pc3Npb24gZnVuY3Rpb25zIGluIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykK
KyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oOiBXcmFwIHBlcm1p
c3Npb24gZnVuY3Rpb25zIGluIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAg
KiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGw6IFdyYXAgcGVybWlzc2lvbiBm
dW5jdGlvbnMgaW4gRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorICAgICAgICAqIG5vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uUHJlc2VudGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpOb3Rp
ZmljYXRpb25QcmVzZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9uKTogQWRkIG5ldyByZXF1ZXN0UGVy
bWlzc2lvbigpIGZ1bmN0aW9uIGZvciBuZXcKKyAgICAgICAgTm90aWZpY2F0aW9uUGVybWlzc2lv
bkNhbGxiYWNrIHR5cGUuIE1ha2UgaXQgYSBzdHViIGltcGxlbWVudGF0aW9uIHVudGlsIGFsbCBw
b3J0cyBoYXZlIGFkb3B0ZWQuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3Rp
ZmljYXRpb25zQ3VzdG9tLmNwcDogRW5jYXBzdWxhdGUgd2l0aCBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpIHNpbmNlCisgICAgICAgIHRoZSByZXF1ZXN0UGVybWlzc2lvbigpIGZ1bmN0aW9u
IGlzIG1vdmluZyB0byBOb3RpZmljYXRpb24uCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5t
YWtlOiBBZGQgbmV3IGNhbGxiYWNrIGlkbC4KKyAgICAgICAgKiBVc2VKU0MuY21ha2U6IEluY2x1
ZGUgSlNOb3RpZmljYXRpb25DdXN0b20uY3BwCisgICAgICAgICogV2ViQ29yZS5leHAuaW46IEV4
cG9ydCBzdHJpbmdGb3JQZXJtaXNzaW9uKCkuCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOiBBZGQgY2FsbGJhY2sgaWRsLCBoLCBhbmQgY3BwIGZpbGVzLgorCisy
MDEyLTAzLTA5ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKwogICAgICAgICBBZGQgc3Vw
cG9ydCBmb3IgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0OTcKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4
IDNjY2JiNGVmZTM0NWEzZDZhYWMzNDg4YjdmNTE2NjhiNmY3M2Y5MmUuLmZiMTRiODkxNGM5ZTQz
NjQ1NDk2NjE2NmFkMjZlZDRjMjM3YTc5NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwy
MiBAQAogMjAxMi0wMy0wOSAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CiAKKyAgICAgICAg
TWlncmF0ZSBwZXJtaXNzaW9uIGZ1bmN0aW9ucyB0byBOb3RpZmljYXRpb24gZnJvbSBOb3RpZmlj
YXRpb25DZW50ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTgwNDg1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDk2NTQ1OD4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dl
Yk5vdGlmaWNhdGlvbkNsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYk5vdGlm
aWNhdGlvbkNsaWVudC5tbTogQWRkIG5ldyBtZW1iZXIgdmFyaWFibGUgdG8gaGFuZGxlIGJvdGgg
a2luZHMgb2YgY2FsbGJhY2tzLgorICAgICAgICAoV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1
ZXN0UGVybWlzc2lvbik6IEFkZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgdmVyc2lv
biBvZiB0aGUgc2FtZQorICAgICAgICBmdW5jdGlvbi4KKyAgICAgICAgKC1bV2ViTm90aWZpY2F0
aW9uUG9saWN5TGlzdGVuZXIgaW5pdFdpdGhDYWxsYmFjazpdKToKKyAgICAgICAgKC1bV2ViTm90
aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgaW5pdFdpdGhWb2lkQ2FsbGJhY2s6XSk6CisgICAgICAg
ICgtW1dlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGFsbG93XSk6CisgICAgICAgICgtW1dl
Yk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGRlbnldKToKKworMjAxMi0wMy0wOSAgSm9uIExl
ZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTgwNDk3CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBjMTc3MTUwMGMzNzczNTAwNmI0YTdh
NTI1ZjMxYzEzNGRmM2Y4MDdmLi45YWFlNDMwYTZhMzkxNDJlMGU5ZGRjNTgyZjljZTE5Y2M5ZDRi
YjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjYgQEAKIDIwMTItMDMtMDkgIEpvbiBMZWUgIDxq
b25sZWVAYXBwbGUuY29tPgogCisgICAgICAgIE1pZ3JhdGUgcGVybWlzc2lvbiBmdW5jdGlvbnMg
dG8gTm90aWZpY2F0aW9uIGZyb20gTm90aWZpY2F0aW9uQ2VudGVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQ4NQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vMTA5NjU0NTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBXZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Tm90aWZpY2F0aW9uUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyOjpzdGFydFJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0KToKKyAg
ICAgICAgKFdlYktpdDo6Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpkaWRS
ZWNlaXZlTm90aWZpY2F0aW9uUGVybWlzc2lvbkRlY2lzaW9uKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmg6
CisgICAgICAgIChOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlzc2lv
bik6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYk5vdGlmaWNhdGlvbkNsaWVudCk6CisKKzIwMTItMDMtMDkgIEpvbiBMZWUgIDxqb25sZWVA
YXBwbGUuY29tPgorCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MDQ5NwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAyNDYwNjgzM2E1NzZk
OGQ3ZmI1ODFjMWIzNjVhZjZkNjA4ZDIxYzY1Li40NDNmNmYyZDFiMWU0ZjZkMjBmNjRjMjNhMzBh
ZjQyNDNjZTM5M2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTEsNCArMSw0
IEBACi0jIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAxMiBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwg
V2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4gCiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1l
cm9uIE1jQ29ybWFjayA8Y2FtQG1jYy5pZC5hdT4KICMKQEAgLTM1NSw2ICszNTUsNyBAQCBCSU5E
SU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRp
b25DYWNoZS5pZGwgXAogICAgICQoV2ViQ29yZSkvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24u
aWRsIFwKICAgICAkKFdlYkNvcmUpL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlk
bCBcCisgICAgJChXZWJDb3JlKS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9BYnN0cmFjdFZpZXcuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL3BhZ2UvQmFySW5mby5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9Db25z
b2xlLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UgYi9Tb3Vy
Y2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKaW5kZXggMDkwMzhkZDY4NDg3N2UxZjgyMDIxOTI3NWU3
ODJlYjEzMDgzYTI2Ni4uOGI2MTMwZmE0YTZiMzk4NmVhMmFhY2QzNjRmZDY4Y2U0MTM3YjgyMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1VzZUpTQy5jbWFrZQpAQCAtMTA5LDYgKzEwOSw3IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVf
U09VUkNFUwogICAgIGJpbmRpbmdzL2pzL0pTTm9kZUZpbHRlckN1c3RvbS5jcHAKICAgICBiaW5k
aW5ncy9qcy9KU05vZGVJdGVyYXRvckN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU05vZGVM
aXN0Q3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcAog
ICAgIGJpbmRpbmdzL2pzL0pTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAKICAgICBiaW5kaW5n
cy9qcy9KU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNQcm9jZXNz
aW5nSW5zdHJ1Y3Rpb25DdXN0b20uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IGE0MGY4Yjc5
YjQyYTJjZjllMzQ0ODFmMDczYzg3MjE3MGNkYTQzNzEuLjYxZjhjYmQ5ZWZjNWQyNzk2NjAzZmQ2
YmQ1Mjg3M2RhNWFhYTllYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhw
LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0yMTExLDYgKzIxMTEs
NyBAQCBfX1pON1dlYkNvcmUxMk5vdGlmaWNhdGlvbjE3ZGlzcGF0Y2hTaG93RXZlbnRFdgogX19a
TjdXZWJDb3JlMTJOb3RpZmljYXRpb24xOGRpc3BhdGNoQ2xpY2tFdmVudEV2CiBfX1pON1dlYkNv
cmUxMk5vdGlmaWNhdGlvbjE4ZGlzcGF0Y2hDbG9zZUV2ZW50RXYKIF9fWk43V2ViQ29yZTEyTm90
aWZpY2F0aW9uMThkaXNwYXRjaEVycm9yRXZlbnRFdgorX19aTjdXZWJDb3JlMTJOb3RpZmljYXRp
b24xOXN0cmluZ0ZvclBlcm1pc3Npb25FTlNfMjFOb3RpZmljYXRpb25QcmVzZW50ZXIxMFBlcm1p
c3Npb25FCiAjZW5kaWYKIAogI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMTI0
NTM0ZDcxMGI1ZGY1NTZiOTkyNGVjZmY0N2JkMmFhZDYwNmQ1MS4uMzg2NzM3NmRlZmZiZmM2ODJm
YTRhNmQyY2ExNDk1NTQwODIyOTlkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtODk5LDYgKzg5OSw4IEBACiAJCTMxQzBGRjRD
MEU0Q0VGREQwMDdENkZFNSAvKiBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQzBGRjQ2MEU0Q0VGREQwMDdE
NkZFNSAvKiBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCAqLzsgfTsKIAkJMzFDMEZGNEQwRTRD
RUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQzBGRjQ3MEU0Q0VGREQwMDdENkZF
NSAvKiBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnQubW0gKi87IH07CiAJCTMxQzBGRjRFMEU0Q0VG
REQwMDdENkZFNSAvKiBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnRJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFDMEZGNDgwRTRDRUZERDAw
N0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudEludGVybmFsLmggKi87IH07CisJCTMx
RUMxRTI4MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFj
ay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUVD
MUUyNjE0RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2su
Y3BwICovOyB9OworCQkzMUVDMUUyOTE0RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDMxRUMxRTI3MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjay5oICovOyB9OwogCQkzMUZCMUE1NzEyMEE1RDA2MDBEQzAyQTAgLyogRGV2
aWNlTW90aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAzMUZCMUE0RjEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ2xpZW50Lmgg
Ki87IH07CiAJCTMxRkIxQTU4MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9s
bGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMx
RkIxQTUwMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcCAqLzsg
fTsKIAkJMzFGQjFBNTkxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTUx
MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmggKi87IH07CkBAIC05
MDksNiArOTExLDggQEAKIAkJMzFGQjFBNjUxMjBBNUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90
aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMzFGQjFBNjMxMjBBNUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuY3BwICov
OyB9OwogCQkzMUZCMUE2NjEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNjQx
MjBBNUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuaCAqLzsgfTsKIAkJMzFGQjFB
NkMxMjBBNUQ2OTAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNkIxMjBBNUQ2
OTAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwICovOyB9OworCQkzMUZF
NkRGQTE1MDA0QzJBMDAwNEVCQzQgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUVDMURBQzE0
RkYyNkVBMDBDOTQ2NjIgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMzFGRTZFNkQxNTAx
QTNCRjAwMDRFQkM0IC8qIEpTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkU2RTZDMTUwMUEzQkYwMDA0RUJDNCAv
KiBKU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAgKi87IH07CiAJCTMzMTRBQ0VCMTA4OTIwODYwMDBG
MEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzMxNEFDRTkxMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9u
QmFzZS5jcHAgKi87IH07CiAJCTMzMTRBQ0VDMTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlv
bkJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMz
MTRBQ0VBMTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuaCAqLzsgfTsKIAkJMzM1
MDNDOUExMDE3OUE3NDAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvblByZXNlbnRlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzM1MDNDOTkxMDE3OUE3NDAw
M0I0N0UxIC8qIE5vdGlmaWNhdGlvblByZXNlbnRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC03NzUyLDYgKzc3NTYsMTAgQEAKIAkJMzFDMEZG
NDYwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFDMEZGNDcwRTRDRUZERDAwN0Q2RkU1IC8qIERP
TVdlYktpdFRyYW5zaXRpb25FdmVudC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMzFDMEZGNDgwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRp
b25FdmVudEludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdl
YktpdFRyYW5zaXRpb25FdmVudEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTMxRUMxRDUwMTRGRUZEMDgwMEM5NDY2MiAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2suaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IE5vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5pZGw7IHBhdGggPSBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRUMxREFDMTRGRjI2
RUEwMEM5NDY2MiAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmg7IHBhdGggPSBub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkzMUVDMUUyNjE0RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJt
aXNzaW9uQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkzMUVDMUUyNzE0RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJt
aXNzaW9uQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMzFGQjFBNEYxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNsaWVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZXZpY2VNb3Rpb25DbGllbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFGQjFBNTAxMjBBNUQwNjAwREMwMkEwIC8qIERldmlj
ZU1vdGlvbkNvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTMxRkIxQTUxMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERldmljZU1vdGlvbkNvbnRyb2xsZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc3NjMsNiArNzc3MSw3IEBACiAJCTMx
RkIxQTYzMTIwQTVEM0YwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRGV2aWNlTW90aW9uRXZlbnQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUZCMUE2NDEyMEE1RDNGMDBEQzAyQTAgLyog
SlNEZXZpY2VNb3Rpb25FdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0RldmljZU1vdGlvbkV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxRkIx
QTZCMTIwQTVENjkwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRGV2aWNlTW90aW9uRXZlbnRDdXN0
b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUZFNkU2QzE1MDFBM0JGMDAw
NEVCQzQgLyogSlNOb3RpZmljYXRpb25DdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNOb3RpZmljYXRpb25DdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkzMzE0QUNFOTEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25CYXNl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRXhjZXB0aW9uQmFz
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzMTRBQ0VBMTA4OTIwODYwMDBG
MEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNFeGNlcHRpb25CYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzM0Y3
MDRFMEZCNDlDQTIwMDhFMTJBNiAvKiBOb3RpZmljYXRpb24uaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
bmFtZSA9IE5vdGlmaWNhdGlvbi5pZGw7IHBhdGggPSBub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDM5MSw2ICsxNDQwMCw4IEBA
CiAJCQkJMzEyOENBNjcxNDczMzE1MjAwNzRDNzJBIC8qIE5vdGlmaWNhdGlvbkNvbnRyb2xsZXIu
Y3BwICovLAogCQkJCTMxMjhDQTZBMTQ3MzMxNjMwMDc0QzcyQSAvKiBOb3RpZmljYXRpb25Db250
cm9sbGVyLmggKi8sCiAJCQkJMzM1MDNDOTkxMDE3OUE3NDAwM0I0N0UxIC8qIE5vdGlmaWNhdGlv
blByZXNlbnRlci5oICovLAorCQkJCTMxRUMxRDUwMTRGRUZEMDgwMEM5NDY2MiAvKiBOb3RpZmlj
YXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsICovLAorCQkJCTMxRUMxREFDMTRGRjI2RUEwMEM5
NDY2MiAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCAqLywKIAkJCSk7CiAJCQlu
YW1lID0gbm90aWZpY2F0aW9uczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0xNDQw
Miw2ICsxNDQxMyw4IEBACiAJCQkJMzM1MDNDQTAxMDE3OUFENzAwM0I0N0UxIC8qIEpTTm90aWZp
Y2F0aW9uLmggKi8sCiAJCQkJMzM1MDNDQTExMDE3OUFENzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0
aW9uQ2VudGVyLmNwcCAqLywKIAkJCQkzMzUwM0NBMjEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3Rp
ZmljYXRpb25DZW50ZXIuaCAqLywKKwkJCQkzMUVDMUUyNjE0RkY2MEVFMDBDOTQ2NjIgLyogSlNO
b3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suY3BwICovLAorCQkJCTMxRUMxRTI3MTRGRjYw
RUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oICovLAogCQkJ
KTsKIAkJCW5hbWUgPSBOb3RpZmljYXRpb25zOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
QEAgLTE5NjY3LDYgKzE5NjgwLDcgQEAKIAkJCQlCQ0I3NzM2MDBDMTc4NTNEMDAxMzJCQTQgLyog
SlNOb2RlRmlsdGVyQ3VzdG9tLmNwcCAqLywKIAkJCQkxQTc1MEREMzBBOTBFNzI5MDAwRkYyMTUg
LyogSlNOb2RlSXRlcmF0b3JDdXN0b20uY3BwICovLAogCQkJCUJDRDlDMjYxMEMxN0FBNjcwMDVD
OTBBMiAvKiBKU05vZGVMaXN0Q3VzdG9tLmNwcCAqLywKKwkJCQkzMUZFNkU2QzE1MDFBM0JGMDAw
NEVCQzQgLyogSlNOb3RpZmljYXRpb25DdXN0b20uY3BwICovLAogCQkJCUE4NUYyMjA4MTQzMDM3
N0QwMDdDQzg4NCAvKiBKU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwICovLAogCQkJCUUxQUQxMkQ1
MTI5NUQwQkQwMEFDQTk4OSAvKiBKU1Byb2Nlc3NpbmdJbnN0cnVjdGlvbkN1c3RvbS5jcHAgKi8s
CiAJCQkJNDk5OEFFRDMxM0ZDNDE3RjAwOTBCMUFBIC8qIEpTUmVxdWVzdEFuaW1hdGlvbkZyYW1l
Q2FsbGJhY2tDdXN0b20uY3BwICovLApAQCAtMjQ1NTksNiArMjQ1NzMsOCBAQAogCQkJCUZENTM3
MzUzMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFD
REU5MjIxNTAxOTE2OTAwODYyQ0M1IC8qIEFzeW5jRmlsZVN0cmVhbS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNDUwQ0VCRjExNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVsZW1lbnQuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTMxRUMxRTI5MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFGRTZERkExNTAwNEMy
QTAwMDRFQkM0IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJ
CX07CkBAIC0yNzUzNiw2ICsyNzU1Miw4IEBACiAJCQkJRTFDREU5MjAxNTAxOEVEMDAwODYyQ0M1
IC8qIEFzeW5jRmlsZVN0cmVhbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0NTBDRUJGMDE1MDcz
QkJFMDAyQkIxNDkgLyogTGFiZWxhYmxlRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5
QjJCN0FDMTE1MDk4NTBBMDA4OTMyQ0MgLyogTWljcm9EYXRhSXRlbVZhbHVlLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTMxRUMxRTI4MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBl
cm1pc3Npb25DYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkzMUZFNkU2RDE1MDFBM0JG
MDAwNEVCQzQgLyogSlNOb3RpZmljYXRpb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25z
Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNh
dGlvbnNDdXN0b20uY3BwCmluZGV4IDE2YTk2MmM1NjI5YTM1OWQ1ZGM3Y2U4ZTIyYmFkODUwNjVl
OTEyY2UuLmEzNjIwYjg5YjcyZDhjZjlmNjMxMzNiODY2YmJlMDk0YjVjMjFiYjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0
b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNh
dGlvbnNDdXN0b20uY3BwCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAw
OSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEy
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKQEAgLTMwLDE0ICszMSwxMiBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAK
LSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgJiYg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNp
bmNsdWRlICJKU0N1c3RvbVZvaWRDYWxsYmFjay5oIgogI2luY2x1ZGUgIkpTRXZlbnRMaXN0ZW5l
ci5oIgotI2luY2x1ZGUgIkpTTm90aWZpY2F0aW9uLmgiCiAjaW5jbHVkZSAiSlNOb3RpZmljYXRp
b25DZW50ZXIuaCIKLSNpbmNsdWRlICJOb3RpZmljYXRpb24uaCIKICNpbmNsdWRlICJOb3RpZmlj
YXRpb25DZW50ZXIuaCIKICNpbmNsdWRlIDxydW50aW1lL0Vycm9yLmg+CiAKQEAgLTY4LDYgKzY3
LDYgQEAgSlNWYWx1ZSBKU05vdGlmaWNhdGlvbkNlbnRlcjo6cmVxdWVzdFBlcm1pc3Npb24oRXhl
Y1N0YXRlKiBleGVjKQogICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogfQogCi19IC8vIG5hbWVz
cGFjZQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNB
VElPTlMpCisjZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpICYmICFFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U05vdGlmaWNhdGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05v
dGlmaWNhdGlvbkN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzQzZDM4YjgwMjg0YWE4MWFiMTU2ZDdi
NzM2MjdhODMwNzJiYmJjZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcApAQCAtMCwwICsxLDU3IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkpTTm90aWZpY2F0aW9uLmgiCisKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKKworI2luY2x1ZGUgIkNhbGxiYWNrRnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU05vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjay5oIgorI2luY2x1ZGUgPHJ1bnRpbWUvRXJyb3IuaD4KKwor
dXNpbmcgbmFtZXNwYWNlIEpTQzsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitKU1ZhbHVlIEpT
Tm90aWZpY2F0aW9uOjpyZXF1ZXN0UGVybWlzc2lvbihFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAg
Ly8gQXJndW1lbnRzOiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sKKyAgICBpZiAoIWV4
ZWMtPmFyZ3VtZW50KDApLmlzT2JqZWN0KCkpCisgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJv
cihleGVjKTsKKyAgICAKKyAgICBSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNr
PiBjYWxsYmFjayA9IGNyZWF0ZUZ1bmN0aW9uT25seUNhbGxiYWNrPEpTTm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrPihleGVjLCBzdGF0aWNfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4
ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSksIGV4ZWMtPmFyZ3VtZW50KDApKTsKKyAgICBpZiAo
ZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworICAg
IAorICAgIEFTU0VSVChjYWxsYmFjayk7CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2Ny
aXB0Q29udGV4dCA9IHN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNh
bEdsb2JhbE9iamVjdCgpKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworICAgIE5vdGlmaWNh
dGlvbjo6cmVxdWVzdFBlcm1pc3Npb24oc2NyaXB0Q29udGV4dCwgY2FsbGJhY2sucmVsZWFzZSgp
KTsKKyAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKaW5kZXggNzQ5NjRkYzc3YWRhZDA4MWNiMGVm
MTljYTQ0YWQ0YTQ4ZTA4N2U3Mi4uOThhMjJjMWNiYmZlNzQwMGEwMzYxOWY1NWE4MDQzYTZlNzQ2
OWZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNw
cApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTEsIDIw
MTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQpAQCAtMzUsMTEgKzM1LDE0IEBACiAKICNpbmNsdWRlICJOb3RpZmljYXRp
b24uaCIKIAorI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAj
aW5jbHVkZSAiRXJyb3JFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRl
ICJOb3RpZmljYXRpb25DZW50ZXIuaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25Db250ZW50cy5o
IgorI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJOb3RpZmlj
YXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25QcmVzZW50
ZXIuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJl
c3BvbnNlLmgiCkBAIC0yMDEsNiArMjA0LDM4IEBAIHZvaWQgTm90aWZpY2F0aW9uOjpzdG9wTG9h
ZGluZygpCiAgICAgbV9sb2FkZXItPmNhbmNlbCgpOwogfQogCitjb25zdCBTdHJpbmcmIE5vdGlm
aWNhdGlvbjo6cGVybWlzc2lvbkxldmVsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQp
Cit7CisgICAgQVNTRVJUKGNvbnRleHQtPmlzRG9jdW1lbnQoKSk7CisgICAgQVNTRVJUKHN0YXRp
Y19jYXN0PERvY3VtZW50Kj4oY29udGV4dCktPnBhZ2UoKSk7CisgICAgcmV0dXJuIHN0cmluZ0Zv
clBlcm1pc3Npb24oTm90aWZpY2F0aW9uQ29udHJvbGxlcjo6ZnJvbShzdGF0aWNfY2FzdDxEb2N1
bWVudCo+KGNvbnRleHQpLT5wYWdlKCkpLT5jbGllbnQoKS0+Y2hlY2tQZXJtaXNzaW9uKGNvbnRl
eHQpKTsKK30KKworY29uc3QgU3RyaW5nJiBOb3RpZmljYXRpb246OnN0cmluZ0ZvclBlcm1pc3Np
b24oTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIHBlcm1pc3Npb24pCit7CisgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIGFsbG93ZWRQZXJtaXNzaW9uLCAoImdy
YW50ZWQiKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIGRlbmllZFBl
cm1pc3Npb24sICgiZGVuaWVkIikpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3Ry
aW5nLCBkZWZhdWx0UGVybWlzc2lvbiwgKCJkZWZhdWx0IikpOworICAgIHN3aXRjaCAocGVybWlz
c2lvbikgeworICAgIGNhc2UgTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uQWxsb3dl
ZDoKKyAgICAgICAgcmV0dXJuIGFsbG93ZWRQZXJtaXNzaW9uOworICAgIGNhc2UgTm90aWZpY2F0
aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uRGVuaWVkOgorICAgICAgICByZXR1cm4gZGVuaWVkUGVy
bWlzc2lvbjsKKyAgICBjYXNlIE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbk5vdEFs
bG93ZWQ6CisgICAgICAgIHJldHVybiBkZWZhdWx0UGVybWlzc2lvbjsKKyAgICB9CisgICAgCisg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIGRlbmllZFBlcm1pc3Npb247Cit9
CisKK3ZvaWQgTm90aWZpY2F0aW9uOjpyZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFj
az4gY2FsbGJhY2spCit7CisgICAgQVNTRVJUKGNvbnRleHQtPmlzRG9jdW1lbnQoKSk7CisgICAg
QVNTRVJUKHN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCktPnBhZ2UoKSk7CisgICAgTm90
aWZpY2F0aW9uQ29udHJvbGxlcjo6ZnJvbShzdGF0aWNfY2FzdDxEb2N1bWVudCo+KGNvbnRleHQp
LT5wYWdlKCkpLT5jbGllbnQoKS0+cmVxdWVzdFBlcm1pc3Npb24oY29udGV4dCwgY2FsbGJhY2sp
OworfQorCiB2b2lkIE5vdGlmaWNhdGlvbjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxv
bmcsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewogICAgIGludCBzdGF0dXMg
PSByZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uLmgKaW5kZXggZGQwZDZlZDg0YWQzMDc5ZDg4YmEwMmEwMmJjYWNjNmE2
NDVjYjM5ZC4uZTBkMjAzNThhYTY5MDUyMDU0YjMyYzg5MDAyODczODg3MzBlZTExMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCkBAIC0xLDYgKzEsNiBA
QAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBA
IC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJLVVJM
LmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ29udGVudHMuaCIKKyNpbmNsdWRlICJOb3RpZmlj
YXRpb25QcmVzZW50ZXIuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKICNpbmNsdWRlICJU
ZXh0RGlyZWN0aW9uLmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oIgpAQCAt
NTAsNiArNTEsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBOb3RpZmljYXRpb25D
ZW50ZXI7CitjbGFzcyBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s7CiBjbGFzcyBSZXNv
dXJjZUVycm9yOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ7CkBAIC0xMTksNiArMTIxLDEwIEBAIHB1YmxpYzoKICAgICAvLyBEZXByZWNhdGVk
LiBVc2UgZnVuY3Rpb25zIGZyb20gTm90aWZpY2F0aW9uQ2VudGVyLgogICAgIHZvaWQgZGV0YWNo
UHJlc2VudGVyKCkgeyB9CiAKKyAgICBzdGF0aWMgY29uc3QgU3RyaW5nJiBwZXJtaXNzaW9uTGV2
ZWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOworICAgIHN0YXRpYyBjb25zdCBTdHJpbmcmIHN0
cmluZ0ZvclBlcm1pc3Npb24oTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uKTsKKyAg
ICBzdGF0aWMgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
UGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KTsKKwogICAgIHZpcnR1
YWwgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlRGF0YShjb25zdCBjaGFyKiBk
YXRhLCBpbnQgZGF0YUxlbmd0aCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaExvYWRpbmco
dW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBkb3VibGUgZmluaXNoVGltZSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwKaW5kZXggZDhjYjNjYzM5YTI1
ZTcxNzQzZTlmNzVlOWU4Y2Y0YzE4MGUyMjE2OC4uNDU4MTZlMTg0M2QwYzQyY2M0ZTg2MzYwZGFi
MWY1ZDRiOGVhNjcxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uLmlkbApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQpAQCAtMzQsMTIgKzM0LDE0IEBAIG1vZHVsZSB0aHJlYWRzIHsKICAgICBpbnRl
cmZhY2UgWwogICAgICAgICBDb25kaXRpb25hbD1OT1RJRklDQVRJT05TLAogICAgICAgICBBY3Rp
dmVET01PYmplY3QsCi0gICAgICAgIEV2ZW50VGFyZ2V0LAotICAgICAgICBPbWl0Q29uc3RydWN0
b3IKKyAgICAgICAgRXZlbnRUYXJnZXQKICAgICBdIE5vdGlmaWNhdGlvbiB7CiAgICAgICAgIHZv
aWQgc2hvdygpOwogICAgICAgICB2b2lkIGNhbmNlbCgpOwogCisgICAgICAgIFtDYWxsV2l0aD1T
Y3JpcHRFeGVjdXRpb25Db250ZXh0XSBzdGF0aWMgRE9NU3RyaW5nIHBlcm1pc3Npb25MZXZlbCgp
OworICAgICAgICBbQ3VzdG9tXSBzdGF0aWMgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihpbiBOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgY2FsbGJhY2spOworCiAgICAgICAgIGF0dHJpYnV0
ZSBFdmVudExpc3RlbmVyIG9uc2hvdzsKICAgICAgICAgLy8gRklYTUU6IFRoZSBsYXRlc3QgV2Vi
IE5vdGlmaWNhdGlvbnMgc3RhbmRhcmQgdXNlcyB0aGUgb25zaG93IGV2ZW50IGxpc3RlbmVyLgog
ICAgICAgICAvLyBUaGUgb25kaXNwbGF5IGV2ZW50IGxpc3RlbmVyIHNob3VsZCBiZSByZW1vdmVk
IHdoZW4gaW1wbGVtZW50YXRpb25zIGNoYW5nZSB0aGUgZXZlbnQgbGlzdGVuZXIgdG8gb25zaG93
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25D
ZW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50
ZXIuY3BwCmluZGV4IDcxMTQ2YWY4ZGEzNzIzZDE0NzE1ZWZjYjVkMWFiZWFjNDhlMzcxNTkuLjQ2
NzQ0MzRhZTAxYTA3MzhkZjI0YzM0NTgxNDYwNDdhYTgxMDc0MTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAKQEAgLTEsNSAr
MSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNTIsMTkgKzUz
LDIzIEBAIE5vdGlmaWNhdGlvbkNlbnRlcjo6Tm90aWZpY2F0aW9uQ2VudGVyKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQsIE5vdGlmaWNhCiAgICAgOiBBY3RpdmVET01PYmplY3QoY29u
dGV4dCwgdGhpcykKICAgICAsIG1fbm90aWZpY2F0aW9uUHJlc2VudGVyKHByZXNlbnRlcikge30K
IAorI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIGludCBOb3RpZmljYXRpb25DZW50
ZXI6OmNoZWNrUGVybWlzc2lvbigpCiB7CiAgICAgaWYgKCFwcmVzZW50ZXIoKSB8fCAhc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpKQogICAgICAgICByZXR1cm4gTm90aWZpY2F0aW9uUHJlc2VudGVy
OjpQZXJtaXNzaW9uRGVuaWVkOwogICAgIHJldHVybiBtX25vdGlmaWNhdGlvblByZXNlbnRlci0+
Y2hlY2tQZXJtaXNzaW9uKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiB9CisjZW5kaWYKIAor
I2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIHZvaWQgTm90aWZpY2F0aW9uQ2VudGVy
OjpyZXF1ZXN0UGVybWlzc2lvbihQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4gY2FsbGJhY2spCiB7
CiAgICAgaWYgKCFwcmVzZW50ZXIoKSB8fCAhc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQogICAg
ICAgICByZXR1cm47CiAgICAgbV9ub3RpZmljYXRpb25QcmVzZW50ZXItPnJlcXVlc3RQZXJtaXNz
aW9uKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgY2FsbGJhY2spOwogfQorI2VuZGlmCiAKIHZv
aWQgTm90aWZpY2F0aW9uQ2VudGVyOjpkaXNjb25uZWN0RnJhbWUoKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgKaW5kZXggNDAyY2Ni
YTkzOGIyZmVlMDgxZjhhNmE4ZDdiZWNlZmY3OGNjMjY5Mi4uZjY2ODM2MTA3OWQwMWExNzJiYjM0
ZjRhYzFhNDA3NjI1NmY3ZThjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdo
dCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0
IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC03Nyw4ICs3NywxMCBAQCBwdWJsaWM6CiAKICAg
ICBOb3RpZmljYXRpb25QcmVzZW50ZXIqIHByZXNlbnRlcigpIGNvbnN0IHsgcmV0dXJuIG1fbm90
aWZpY2F0aW9uUHJlc2VudGVyOyB9CiAKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CiAgICAgaW50IGNoZWNrUGVybWlzc2lvbigpOwogICAgIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24o
UGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+KTsKKyNlbmRpZgogCiAgICAgdm9pZCBkaXNjb25uZWN0
RnJhbWUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25DZW50ZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25DZW50ZXIuaWRsCmluZGV4IDhiZTFlY2M3NjlmYmM1YTQzN2I3NjRlOTZhMDdlNDc1MTcw
YTM1NjYuLmI5OTdkOWYzMjMxODNiMjg3ZWM1MWE0NjEzY2M0MGQ2ZjMyMzE1YjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwK
QEAgLTQxLDggKzQxLDEwIEBAIG1vZHVsZSB0aHJlYWRzIHsKICNlbmRpZgogICAgICAgIFtWOEN1
c3RvbV0gTm90aWZpY2F0aW9uIGNyZWF0ZU5vdGlmaWNhdGlvbihpbiBET01TdHJpbmcgaWNvblVy
bCwgaW4gRE9NU3RyaW5nIHRpdGxlLCBpbiBET01TdHJpbmcgYm9keSkgcmFpc2VzKERPTUV4Y2Vw
dGlvbik7CiAKKyNpZiBkZWZpbmVkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJiYgRU5B
QkxFX0xFR0FDWV9OT1RJRklDQVRJT05TCiAgICAgICAgaW50IGNoZWNrUGVybWlzc2lvbigpOwog
ICAgICAgIFtDdXN0b21dIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oaW4gVm9pZENhbGxiYWNrIGNh
bGxiYWNrKTsKKyNlbmRpZgogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggYi9Tb3VyY2Uv
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjc0OTRlZjVlMDMzYTkzMDJiMzBiNTg2ZTg5MzM5MzdmOTk5YzQ3MTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBl
cm1pc3Npb25DYWxsYmFjay5oCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrX2gKKyNkZWZpbmUgTm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrX2gKKworI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworICAgIAorY2xhc3MgTm90aWZp
Y2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrIDogcHVibGljIFJlZkNvdW50ZWQ8Tm90aWZpY2F0aW9u
UGVybWlzc2lvbkNhbGxiYWNrPiB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+Tm90aWZpY2F0aW9u
UGVybWlzc2lvbkNhbGxiYWNrKCkgeyB9CisgICAgdmlydHVhbCBib29sIGhhbmRsZUV2ZW50KGNv
bnN0IFN0cmluZyYgcGVybWlzc2lvbikgPSAwOworfTsKKyAgICAKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFja19oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjay5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjay5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWYxMTE2MTJlMjQwY2VjYWExOWZi
NWVhNzFhYWNkN2QyNjA5M2MyMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbApAQCAtMCwwICsx
LDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCittb2R1bGUgdGhyZWFkcyB7CisKKyAgICBpbnRlcmZhY2UgWworICAg
ICAgICBDb25kaXRpb25hbD1OT1RJRklDQVRJT05TLAorICAgICAgICBDYWxsYmFjaworICAgIF0g
Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrIHsKKyAgICAgICAgYm9vbGVhbiBoYW5kbGVF
dmVudChpbiBET01TdHJpbmcgcGVybWlzc2lvbik7CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QcmVzZW50ZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUHJlc2VudGVyLmgKaW5kZXgg
MTkzNTM4NGRjMWY2Y2I5MTc0ODBhOWQ0YzgxYjk2ZjQzYTQ4YjE5Yi4uNTc4NTc2OWIxZWRiMzM5
ZGU4M2ZmNzJiYWUwNDE1OGZhNTQzZWUxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QcmVzZW50ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvblByZXNlbnRlci5oCkBAIC0xLDYgKzEsNiBAQAogLyoK
ICAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zOCw4ICszOCw5IEBACiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50OwotY2xhc3MgTm90aWZpY2F0aW9u
OwogY2xhc3MgS1VSTDsKK2NsYXNzIE5vdGlmaWNhdGlvbjsKK2NsYXNzIE5vdGlmaWNhdGlvblBl
cm1pc3Npb25DYWxsYmFjazsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250
ZXh0OwogCkBAIC03MCwxMCArNzEsMTQgQEAgcHVibGljOgogICAgIC8vIEluZm9ybXMgdGhlIHBy
ZXNlbnRlciB0aGUgY29udHJvbGxlciBhdHRhY2hlZCB0byB0aGUgcGFnZSBoYXMgYmVlbiBkZXN0
cm95ZWQuCiAgICAgdmlydHVhbCB2b2lkIG5vdGlmaWNhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQo
KSA9IDA7CiAKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgLy8gUmVxdWVz
dHMgdXNlciBwZXJtaXNzaW9uIHRvIHNob3cgZGVza3RvcCBub3RpZmljYXRpb25zIGZyb20gYSBw
YXJ0aWN1bGFyCiAgICAgLy8gc2NyaXB0IGNvbnRleHQuIFRoZSBjYWxsYmFjayBwYXJhbWV0ZXIg
c2hvdWxkIGJlIHJ1biB3aGVuIHRoZSB1c2VyIGhhcwogICAgIC8vIG1hZGUgYSBkZWNpc2lvbi4K
ICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCosIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPikgPSAwOworI2VuZGlmCisgICAgLy8gRklYTUU6
IE9uY2UgYWxsIG9mIHRoZSBwb3J0cyBoYXZlIGFkb3B0ZWQgdGhlIG5ldyBBUEksIHdlIHNob3Vs
ZCB0dXJuIHRoaXMgdG8gYSBwdXJlIHZpcnR1YWwuCisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQ
ZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjaz4pIHsgfQogCiAgICAgLy8gQ2FuY2VsIGFsbCBvdXRzdGFuZGlu
ZyByZXF1ZXN0cyBmb3IgdGhlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQKICAgICB2aXJ0dWFsIHZv
aWQgY2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSA9
IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggMTQwODZiZjIwZTllNDk3NmFhODgx
MjNiODYwYzA3YjQ1OTNhNzlhZC4uY2YxMTg3MWI0NDU2NmMxYWIzYTg4YmNlODI1MzRlY2ZhZmY1
ZjU5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtMTczLDYgKzE3Myw3IEBAIG1v
ZHVsZSB3aW5kb3cgewogI2lmIGRlZmluZWQoRU5BQkxFX05PVElGSUNBVElPTlMpICYmIEVOQUJM
RV9OT1RJRklDQVRJT05TCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRS
dW50aW1lXSBOb3RpZmljYXRpb25DZW50ZXIgd2Via2l0Tm90aWZpY2F0aW9uczsKICNlbmRpZgor
ICAgICAgICBhdHRyaWJ1dGUgTm90aWZpY2F0aW9uQ29uc3RydWN0b3IgTm90aWZpY2F0aW9uOwog
CiAjaWYgZGVmaW5lZChFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTKSAmJiBFTkFCTEVfT1JJRU5U
QVRJT05fRVZFTlRTCiAgICAgICAgIC8vIFRoaXMgaXMgdGhlIGludGVyZmFjZSBvcmllbnRhdGlv
biBpbiBkZWdyZWVzLiBTb21lIGV4YW1wbGVzIGFyZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgKaW5kZXggYTQw
Y2U4MWU1ZGM3ZjY0NjY1MWVmODY5OGE3NjJlNTExOGQ3YmI5My4uNjRmYWRmMjJhZDAzMTY0ZjYw
ODdmY2ExZWE2NDUzNDA1YWRkNTVjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgKQEAgLTM0LDExICszNCwx
MyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBOb3RpZmljYXRpb247CitjbGFzcyBO
b3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250
ZXh0OwogY2xhc3MgVm9pZENhbGxiYWNrOwogfQogCiBAY2xhc3MgV2ViTm90aWZpY2F0aW9uOwor
QGNsYXNzIFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyOwogQGNsYXNzIFdlYlZpZXc7CiAK
IGNsYXNzIFdlYk5vdGlmaWNhdGlvbkNsaWVudCA6IHB1YmxpYyBXZWJDb3JlOjpOb3RpZmljYXRp
b25QcmVzZW50ZXIgewpAQCAtNTIsMTAgKzU0LDE3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2
b2lkIGNsZWFyTm90aWZpY2F0aW9ucyhXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Kikg
T1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmaWNhdGlvbk9iamVjdERlc3Ryb3llZChX
ZWJDb3JlOjpOb3RpZmljYXRpb24qKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZp
Y2F0aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpIE9WRVJSSURFOworI2lmIEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykKICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oV2ViQ29y
ZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxi
YWNrPikgT1ZFUlJJREU7CisjZW5kaWYKKyAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Np
b24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8V2ViQ29yZTo6
Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2
b2lkIGNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25D
b250ZXh0KikgT1ZFUlJJREUgeyB9CiAgICAgdmlydHVhbCBXZWJDb3JlOjpOb3RpZmljYXRpb25Q
cmVzZW50ZXI6OlBlcm1pc3Npb24gY2hlY2tQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqKSBPVkVSUklERTsKIAorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorICAg
IHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCos
IFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyICopOworI2VuZGlmCisKICAgICBXZWJWaWV3
ICptX3dlYlZpZXc7CiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgSGFzaE1hcDxSZWZQ
dHI8V2ViQ29yZTo6Tm90aWZpY2F0aW9uPiwgUmV0YWluUHRyPFdlYk5vdGlmaWNhdGlvbj4gPiBt
X25vdGlmaWNhdGlvbk1hcDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5tbQppbmRleCAyZjdjZDU0MTE3NzEzNzMz
ZmFlMGUxZTJjMmY0YTk5MTFkNmZiYzRmLi5mZGNkMjhlN2NhMGY1NjY0ZTZjYmM5YTkwNmJhOTll
ZWIzYmY0YTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJOb3RpZmljYXRpb25DbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lm1tCkBAIC0zMywxOCArMzMsMzEgQEAKICNpbXBv
cnQgIldlYlVJRGVsZWdhdGVQcml2YXRlLmgiCiAjaW1wb3J0ICJXZWJWaWV3SW50ZXJuYWwuaCIK
ICNpbXBvcnQgPFdlYkNvcmUvQmxvY2tFeGNlcHRpb25zLmg+CisjaW1wb3J0IDxXZWJDb3JlL05v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oPgogI2ltcG9ydCA8V2ViQ29yZS9QYWdlLmg+
CiAjaW1wb3J0IDxXZWJDb3JlL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaD4KICNlbmRpZgogCisj
aWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2ltcG9ydCA8V2ViQ29yZS9Wb2lkQ2Fs
bGJhY2suaD4KKyNlbmRpZgorCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQorCiBAaW50ZXJmYWNlIFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3Rl
bmVyIDogTlNPYmplY3QgPFdlYkFsbG93RGVueVBvbGljeUxpc3RlbmVyPgogewotICAgIFJlZlB0
cjxWb2lkQ2FsbGJhY2s+IF9jYWxsYmFjazsKKyAgICBSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrPiBfY2FsbGJhY2s7CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05T
KQorICAgIFJlZlB0cjxWb2lkQ2FsbGJhY2s+IF92b2lkQ2FsbGJhY2s7CisjZW5kaWYKIH0KLS0g
KGlkKWluaXRXaXRoQ2FsbGJhY2s6KFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiljYWxsYmFjazsK
Ky0gKGlkKWluaXRXaXRoQ2FsbGJhY2s6KFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lv
bkNhbGxiYWNrPiljYWxsYmFjazsKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCist
IChpZClpbml0V2l0aFZvaWRDYWxsYmFjazooUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+KWNhbGxi
YWNrOworI2VuZGlmCisKIEBlbmQKICNlbmRpZgogCkBAIC0xNDcsMjkgKzE2MCw0NiBAQCB2b2lk
IFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6bm90aWZpY2F0aW9uQ29udHJvbGxlckRlc3Ryb3llZCgp
CiAgICAgZGVsZXRlIHRoaXM7CiB9CiAKKworI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9O
UykKIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4gY2FsbGJh
Y2spCiB7CisgICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJT05TOworICAgIFdlYk5vdGlmaWNh
dGlvblBvbGljeUxpc3RlbmVyKiBsaXN0ZW5lciA9IFtbV2ViTm90aWZpY2F0aW9uUG9saWN5TGlz
dGVuZXIgYWxsb2NdIGluaXRXaXRoVm9pZENhbGxiYWNrOmNhbGxiYWNrXTsKKyAgICByZXF1ZXN0
UGVybWlzc2lvbihjb250ZXh0LCBsaXN0ZW5lcik7CisgICAgW2xpc3RlbmVyIHJlbGVhc2VdOwor
ICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7Cit9CisjZW5kaWYKKwordm9pZCBXZWJOb3Rp
ZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBjYWxs
YmFjaykKK3sKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBCRUdJTl9CTE9DS19PQkpD
X0VYQ0VQVElPTlM7Ci0gICAgCisgICAgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgKmxp
c3RlbmVyID0gW1tXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciBhbGxvY10gaW5pdFdpdGhD
YWxsYmFjazpjYWxsYmFja107CisgICAgcmVxdWVzdFBlcm1pc3Npb24oY29udGV4dCwgbGlzdGVu
ZXIpOworICAgIFtsaXN0ZW5lciByZWxlYXNlXTsKKyAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJ
T05TOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oY29udGV4dCk7CisgICAgVU5VU0VEX1BBUkFN
KGNhbGxiYWNrKTsKKyNlbmRpZgorfQorCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCit2b2lk
IFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIg
Kmxpc3RlbmVyKQorewogICAgIFNFTCBzZWxlY3RvciA9IEBzZWxlY3Rvcih3ZWJWaWV3OmRlY2lk
ZVBvbGljeUZvck5vdGlmaWNhdGlvblJlcXVlc3RGcm9tT3JpZ2luOmxpc3RlbmVyOik7CiAgICAg
aWYgKCFbW21fd2ViVmlldyBVSURlbGVnYXRlXSByZXNwb25kc1RvU2VsZWN0b3I6c2VsZWN0b3Jd
KQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgV2ViU2VjdXJpdHlPcmlnaW4gKndlYk9yaWdp
biA9IFtbV2ViU2VjdXJpdHlPcmlnaW4gYWxsb2NdIF9pbml0V2l0aFdlYkNvcmVTZWN1cml0eU9y
aWdpbjpjb250ZXh0LT5zZWN1cml0eU9yaWdpbigpXTsKLSAgICBXZWJOb3RpZmljYXRpb25Qb2xp
Y3lMaXN0ZW5lciogbGlzdGVuZXIgPSBbW1dlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGFs
bG9jXSBpbml0V2l0aENhbGxiYWNrOmNhbGxiYWNrXTsKICAgICAKICAgICBDYWxsVUlEZWxlZ2F0
ZShtX3dlYlZpZXcsIHNlbGVjdG9yLCB3ZWJPcmlnaW4sIGxpc3RlbmVyKTsKICAgICAKICAgICBb
d2ViT3JpZ2luIHJlbGVhc2VdOwotICAgIFtsaXN0ZW5lciByZWxlYXNlXTsKLSAgICAKLSAgICBF
TkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oY29udGV4
dCk7Ci0gICAgVU5VU0VEX1BBUkFNKGNhbGxiYWNrKTsKLSNlbmRpZgogfQorI2VuZGlmCiAKIE5v
dGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbiBXZWJOb3RpZmljYXRpb25DbGllbnQ6OmNo
ZWNrUGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogewpAQCAtMTk5
LDcgKzIyOSw4IEBAIE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbiBXZWJOb3RpZmlj
YXRpb25DbGllbnQ6OmNoZWNrUGVybWlzc2lvbihTY3JpcHRFCiAKICNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKIEBpbXBsZW1lbnRhdGlvbiBXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lcgot
LSAoaWQpaW5pdFdpdGhDYWxsYmFjazooUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+KWNhbGxiYWNr
CisKKy0gKGlkKWluaXRXaXRoQ2FsbGJhY2s6KFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrPiljYWxsYmFjawogewogICAgIGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdF0p
KQogICAgICAgICByZXR1cm4gbmlsOwpAQCAtMjA5LDE0ICsyNDAsNDAgQEAgTm90aWZpY2F0aW9u
UHJlc2VudGVyOjpQZXJtaXNzaW9uIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2hlY2tQZXJtaXNz
aW9uKFNjcmlwdEUKICAgICByZXR1cm4gc2VsZjsKIH0KIAorI2lmIEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKKy0gKGlkKWluaXRXaXRoVm9pZENhbGxiYWNrOihQYXNzUmVmUHRyPFZvaWRD
YWxsYmFjaz4pY2FsbGJhY2sKK3sKKyAgICBpZiAoIShzZWxmID0gW3N1cGVyIGluaXRdKSkKKyAg
ICAgICAgcmV0dXJuIG5pbDsKKworICAgIEFTU0VSVChjYWxsYmFjayk7CisgICAgX3ZvaWRDYWxs
YmFjayA9IGNhbGxiYWNrOworICAgIHJldHVybiBzZWxmOworfQorI2VuZGlmCisKIC0gKHZvaWQp
YWxsb3cKIHsKLSAgICBfY2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7CisjaWYgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQorICAgIGlmIChfdm9pZENhbGxiYWNrKSB7CisgICAgICAgIF92b2lk
Q2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYK
KworICAgIF9jYWxsYmFjay0+aGFuZGxlRXZlbnQoTm90aWZpY2F0aW9uOjpzdHJpbmdGb3JQZXJt
aXNzaW9uKE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbkFsbG93ZWQpKTsKIH0KIAog
LSAodm9pZClkZW55CiB7Ci0gICAgX2NhbGxiYWNrLT5oYW5kbGVFdmVudCgpOworI2lmIEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICBpZiAoX3ZvaWRDYWxsYmFjaykgeworICAgICAg
ICBfdm9pZENhbGxiYWNrLT5oYW5kbGVFdmVudCgpOworICAgICAgICByZXR1cm47CisgICAgfQor
I2VuZGlmCisKKyAgICBfY2FsbGJhY2stPmhhbmRsZUV2ZW50KE5vdGlmaWNhdGlvbjo6c3RyaW5n
Rm9yUGVybWlzc2lvbihOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb25EZW5pZWQpKTsK
IH0KIAogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyLmNwcAppbmRleCAxZGRkYTdjOTgxNjBkNTQ5Yjk5MjNhZTI3ZTE0ZGU4N2Q4
OTU3YjIyLi5mYjRmYzA3ZDkyNTlhMTU4NGNkOTYwZjkwMGRjYWExMGQ2NmM5NzJjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
UGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNw
cApAQCAtNTksMTEgKzU5LDEyIEBAIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
cjo6Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKFdlYlBhCiB7CiB9CiAKLXZv
aWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpzdGFydFJlcXVlc3QoU2Vj
dXJpdHlPcmlnaW4qIG9yaWdpbiwgUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrKQor
dm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OnN0YXJ0UmVxdWVzdChT
ZWN1cml0eU9yaWdpbiogb3JpZ2luLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjaz4gY2FsbGJhY2spCiB7CiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCi0gICAgaWYg
KHBlcm1pc3Npb25MZXZlbChvcmlnaW4pICE9IE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlz
c2lvbk5vdEFsbG93ZWQpIHsKLSAgICAgICAgY2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7CisgICAg
Tm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIHBlcm1pc3Npb24gPSBwZXJtaXNzaW9u
TGV2ZWwob3JpZ2luKTsKKyAgICBpZiAocGVybWlzc2lvbiAhPSBOb3RpZmljYXRpb25QcmVzZW50
ZXI6OlBlcm1pc3Npb25Ob3RBbGxvd2VkKSB7CisgICAgICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVu
dChOb3RpZmljYXRpb246OnN0cmluZ0ZvclBlcm1pc3Npb24ocGVybWlzc2lvbikpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCkBAIC03OCw2ICs3OSwyMyBAQCB2b2lkIE5vdGlmaWNhdGlvblBl
cm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6c3RhcnRSZXF1ZXN0KFNlY3VyaXR5T3JpZ2luKiBvcmln
aW4sCiAjZW5kaWYKIH0KIAorI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKK3ZvaWQg
Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpzdGFydFJlcXVlc3QoU2VjdXJp
dHlPcmlnaW4qIG9yaWdpbiwgUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrKQorewor
ICAgIE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbiBwZXJtaXNzaW9uID0gcGVybWlz
c2lvbkxldmVsKG9yaWdpbik7CisgICAgaWYgKHBlcm1pc3Npb24gIT0gTm90aWZpY2F0aW9uUHJl
c2VudGVyOjpQZXJtaXNzaW9uTm90QWxsb3dlZCkgeworICAgICAgICBjYWxsYmFjay0+aGFuZGxl
RXZlbnQoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICAKKyAgICB1aW50NjRfdCByZXF1
ZXN0SUQgPSBnZW5lcmF0ZVJlcXVlc3RJRCgpOworICAgIG1fb3JpZ2luVG9JRE1hcC5zZXQob3Jp
Z2luLCByZXF1ZXN0SUQpOworICAgIG1faWRUb09yaWdpbk1hcC5zZXQocmVxdWVzdElELCBvcmln
aW4pOworICAgIG1faWRUb1ZvaWRDYWxsYmFja01hcC5zZXQocmVxdWVzdElELCBjYWxsYmFjayk7
CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlJlcXVlc3ROb3RpZmlj
YXRpb25QZXJtaXNzaW9uKHJlcXVlc3RJRCwgb3JpZ2luLT50b1N0cmluZygpKSk7Cit9CisjZW5k
aWYKKwogdm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OmNhbmNlbFJl
cXVlc3QoU2VjdXJpdHlPcmlnaW4qIG9yaWdpbikKIHsKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKQEAgLTExMSwxMSArMTI5LDE5IEBAIHZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyOjpkaWRSZWNlaXZlTm90aWZpY2F0aW9uUGVybWlzc2lvbkRlY2lzCiAgICAgaWYg
KCFpc1JlcXVlc3RJRFZhbGlkKHJlcXVlc3RJRCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIFJl
ZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrID0gbV9pZFRvQ2FsbGJhY2tNYXAudGFrZShyZXF1
ZXN0SUQpOworI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICBSZWZQdHI8Vm9p
ZENhbGxiYWNrPiB2b2lkQ2FsbGJhY2sgPSBtX2lkVG9Wb2lkQ2FsbGJhY2tNYXAudGFrZShyZXF1
ZXN0SUQpOworICAgIGlmICh2b2lkQ2FsbGJhY2spIHsKKyAgICAgICAgdm9pZENhbGxiYWNrLT5o
YW5kbGVFdmVudCgpOworICAgICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCisKKyAgICBSZWZQ
dHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBjYWxsYmFjayA9IG1faWRUb0NhbGxi
YWNrTWFwLnRha2UocmVxdWVzdElEKTsKICAgICBpZiAoIWNhbGxiYWNrKQogICAgICAgICByZXR1
cm47CiAgICAgCi0gICAgY2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7CisgICAgY2FsbGJhY2stPmhh
bmRsZUV2ZW50KE5vdGlmaWNhdGlvbjo6c3RyaW5nRm9yUGVybWlzc2lvbihhbGxvd2VkID8gTm90
aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uQWxsb3dlZCA6IE5vdGlmaWNhdGlvblByZXNl
bnRlcjo6UGVybWlzc2lvbkRlbmllZCkpOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0ocmVxdWVz
dElEKTsKICAgICBVTlVTRURfUEFSQU0oYWxsb3dlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmgKaW5kZXggNTU3M2M2YTExMTllZjJi
MDZlN2VlYzJlYzkxYzNiM2FkN2VjZjc1ZC4uYmEzOWZiZjcyYWZlMDIwYTViYmZjM2QwNTE5NWIz
N2IyOWZiYjM2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9u
UmVxdWVzdE1hbmFnZXIuaApAQCAtMjYsNiArMjYsNyBAQAogI2lmbmRlZiBOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJfaAogI2RlZmluZSBOb3RpZmljYXRpb25QZXJtaXNzaW9u
UmVxdWVzdE1hbmFnZXJfaAogCisjaW5jbHVkZSA8V2ViQ29yZS9Ob3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2suaD4KICNpbmNsdWRlIDxXZWJDb3JlL05vdGlmaWNhdGlvblByZXNlbnRlci5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvVm9pZENhbGxiYWNrLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hN
YXAuaD4KQEAgLTQ2LDcgKzQ3LDEwIEBAIGNsYXNzIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlciA6IHB1YmxpYyBSZWZDb3VudGVkPE5vdGlmaWNhdGlvblBlcm1pCiBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5h
Z2VyPiBjcmVhdGUoV2ViUGFnZSopOwogICAgIAorICAgIHZvaWQgc3RhcnRSZXF1ZXN0KFdlYkNv
cmU6OlNlY3VyaXR5T3JpZ2luKiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRpb25QZXJt
aXNzaW9uQ2FsbGJhY2s+KTsKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAg
dm9pZCBzdGFydFJlcXVlc3QoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qLCBQYXNzUmVmUHRyPFdl
YkNvcmU6OlZvaWRDYWxsYmFjaz4pOworI2VuZGlmCiAgICAgdm9pZCBjYW5jZWxSZXF1ZXN0KFdl
YkNvcmU6OlNlY3VyaXR5T3JpZ2luKik7CiAgICAgCiAgICAgLy8gU3luY2hyb25vdXMgY2FsbCB0
byByZXRyaWV2ZSBwZXJtaXNzaW9uIGxldmVsIGZvciBnaXZlbiBzZWN1cml0eSBvcmlnaW4KQEAg
LTU3LDcgKzYxLDEwIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgTm90aWZpY2F0aW9uUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyKFdlYlBhZ2UqKTsKICAgICAKLSAgICBIYXNoTWFwPHVpbnQ2NF90
LCBSZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxiYWNrPiA+IG1faWRUb0NhbGxiYWNrTWFwOworICAg
IEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2s+ID4gbV9pZFRvQ2FsbGJhY2tNYXA7CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQorICAgIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJh
Y2s+ID4gbV9pZFRvVm9pZENhbGxiYWNrTWFwOworI2VuZGlmCiAgICAgSGFzaE1hcDxSZWZQdHI8
V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+LCB1aW50NjRfdD4gbV9vcmlnaW5Ub0lETWFwOwogICAg
IEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4gPiBtX2lk
VG9PcmlnaW5NYXA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmNwcAppbmRleCA5
MGViMTYxZjI2Y2RiMzMwMzYxMWI0ZWE4ZTYwNThlNjllYmM1NDAzLi5kYzViYjdhMjNmODZlMzQ2
NTdjYmFlMmQ1NDQyMTUyMzE1NGQxOWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGll
bnQuY3BwCkBAIC03Nyw2ICs3NywxMSBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVx
dWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUAogICAgIG1f
cGFnZS0+bm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKCktPnN0YXJ0UmVxdWVz
dChjb250ZXh0LT5zZWN1cml0eU9yaWdpbigpLCBjYWxsYmFjayk7CiB9CiAKK3ZvaWQgV2ViTm90
aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0LCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4gY2Fs
bGJhY2spCit7CisgICAgbV9wYWdlLT5ub3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXIoKS0+c3RhcnRSZXF1ZXN0KGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCksIGNhbGxiYWNrKTsK
K30KKwogdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OmNhbmNlbFJlcXVlc3RzRm9yUGVybWlz
c2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogewogICAgIG1fcGFnZS0+bm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKCktPmNhbmNlbFJlcXVlc3QoY29udGV4
dC0+c2VjdXJpdHlPcmlnaW4oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaAppbmRl
eCAxNDdhODhhYzEwZGQ4OWM1OGM4MzYzMGU2NWFmNGM3NDhmMGUyNTgxLi4xNDk0ZjlkMjc4NTU4
MTE2ZjE4YmM5OWUzYmY2YjMxNmMzYjQwNTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xp
ZW50LmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL05vdGlmaWNhdGlvblBy
ZXNlbnRlci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBOb3RpZmljYXRpb25QZXJt
aXNzaW9uQ2FsbGJhY2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgVm9p
ZENhbGxiYWNrOwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpAQCAtNTEsOSArNTIsMTAgQEAgcHJp
dmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKFdlYkNv
cmU6Ok5vdGlmaWNhdGlvbiopIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRp
b25Db250cm9sbGVyRGVzdHJveWVkKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHJlcXVl
c3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRy
PFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4pIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCByZXF1
ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0
cjxXZWJDb3JlOjpOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KSBPVkVSUklERTsKICAg
ICB2aXJ0dWFsIHZvaWQgY2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIE5vdGlmaWNhdGlvblBy
ZXNlbnRlcjo6UGVybWlzc2lvbiBjaGVja1Blcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0
aW9uQ29udGV4dCopIE9WRVJSSURFOwotICAgIAorCiAgICAgV2ViUGFnZSogbV9wYWdlOwogfTsK
IAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131109</attachid>
            <date>2012-03-09 14:22:45 -0800</date>
            <delta_ts>2012-03-09 22:50:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80485-20120309142400.patch</filename>
            <type>text/plain</type>
            <size>51500</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMzExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjA3NTUxYjVkMDUzZjU4
NTlhZTk0ZjY1NTA3NmExMzgxN2QxYWNhNi4uNTA1NTE2OWI1NjlmYTNmYWFmOGU5MDFiOWU2MjJl
YzYxNmEwMzc5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQyIEBACiAyMDEyLTAzLTA5ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAorICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVu
Y3Rpb25zIHRvIE5vdGlmaWNhdGlvbiBmcm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzEwOTY1NDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsOiBCZWNhdXNl
IHRoZSBmdW5jdGlvbnMgYXJlIG9uIHRoZSBOb3RpZmljYXRpb24gb2JqZWN0IGl0c2VsZiwgd2Ug
bmVlZCB0bworICAgICAgICBkZWNsYXJlIGl0IGEgY29uc3RydWN0b3Igc28gdGhhdCBpdCBpcyBh
Y2Nlc3NpYmxlIGZyb20gRE9NV2luZG93LgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDog
QWRkIE5vdGlmaWNhdGlvbiBjb25zdHJ1Y3Rvci4KKworICAgICAgICAqIG5vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6cGVybWlz
c2lvbkxldmVsKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6c3RyaW5nRm9yUGVy
bWlzc2lvbik6IERlY2xhcmUgdGhyZWUgc3RhdGljIGxvY2FscyBmb3IgZWFjaCBvZiB0aGUgdmFs
dWVzLCBhbmQgcmV0dXJuCisgICAgICAgIGJhc2VkIG9uIHRoZSBwZXJtaXNzaW9uIGVudW0uCisg
ICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb246OnJlcXVlc3RQZXJtaXNzaW9uKTogRm9yd2Fy
ZCByZXF1ZXN0IHRvIGNsaWVudC4KKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5oOgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwOiBX
cmFwIHBlcm1pc3Npb24gZnVuY3Rpb25zIGluIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykK
KyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oOiBXcmFwIHBlcm1p
c3Npb24gZnVuY3Rpb25zIGluIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAg
KiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGw6IFdyYXAgcGVybWlzc2lvbiBm
dW5jdGlvbnMgaW4gRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorICAgICAgICAqIG5vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uUHJlc2VudGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpOb3Rp
ZmljYXRpb25QcmVzZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9uKTogQWRkIG5ldyByZXF1ZXN0UGVy
bWlzc2lvbigpIGZ1bmN0aW9uIGZvciBuZXcKKyAgICAgICAgTm90aWZpY2F0aW9uUGVybWlzc2lv
bkNhbGxiYWNrIHR5cGUuIE1ha2UgaXQgYSBzdHViIGltcGxlbWVudGF0aW9uIHVudGlsIGFsbCBw
b3J0cyBoYXZlIGFkb3B0ZWQuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3Rp
ZmljYXRpb25zQ3VzdG9tLmNwcDogRW5jYXBzdWxhdGUgd2l0aCBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpIHNpbmNlCisgICAgICAgIHRoZSByZXF1ZXN0UGVybWlzc2lvbigpIGZ1bmN0aW9u
IGlzIG1vdmluZyB0byBOb3RpZmljYXRpb24uCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5t
YWtlOiBBZGQgbmV3IGNhbGxiYWNrIGlkbC4KKyAgICAgICAgKiBVc2VKU0MuY21ha2U6IEluY2x1
ZGUgSlNOb3RpZmljYXRpb25DdXN0b20uY3BwCisgICAgICAgICogVGFyZ2V0LnByaTogSW5jbHVk
ZSBKU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IEluY2x1
ZGUgSlNOb3RpZmljYXRpb25DdXN0b20uY3BwCisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2o6IEluY2x1ZGUgSlNOb3RpZmljYXRpb25DdXN0b20uY3BwCisgICAgICAgICog
V2ViQ29yZS5leHAuaW46IEV4cG9ydCBzdHJpbmdGb3JQZXJtaXNzaW9uKCkuCisgICAgICAgICog
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBBZGQgY2FsbGJhY2sgaWRsLCBoLCBh
bmQgY3BwIGZpbGVzLgorCisyMDEyLTAzLTA5ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4K
KwogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQog
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0OTcKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCmluZGV4IDNjY2JiNGVmZTM0NWEzZDZhYWMzNDg4YjdmNTE2NjhiNmY3M2Y5
MmUuLmZiMTRiODkxNGM5ZTQzNjQ1NDk2NjE2NmFkMjZlZDRjMjM3YTc5NDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKQEAgLTEsNSArMSwyMiBAQAogMjAxMi0wMy0wOSAgSm9uIExlZSAgPGpvbmxlZUBhcHBs
ZS5jb20+CiAKKyAgICAgICAgTWlncmF0ZSBwZXJtaXNzaW9uIGZ1bmN0aW9ucyB0byBOb3RpZmlj
YXRpb24gZnJvbSBOb3RpZmljYXRpb25DZW50ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDg1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDk2
NTQ1OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oOgorICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5tbTogQWRkIG5ldyBtZW1iZXIgdmFyaWFi
bGUgdG8gaGFuZGxlIGJvdGgga2luZHMgb2YgY2FsbGJhY2tzLgorICAgICAgICAoV2ViTm90aWZp
Y2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlzc2lvbik6IEFkZCBOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2sgdmVyc2lvbiBvZiB0aGUgc2FtZQorICAgICAgICBmdW5jdGlvbi4KKyAgICAg
ICAgKC1bV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgaW5pdFdpdGhDYWxsYmFjazpdKToK
KyAgICAgICAgKC1bV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgaW5pdFdpdGhWb2lkQ2Fs
bGJhY2s6XSk6CisgICAgICAgICgtW1dlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGFsbG93
XSk6CisgICAgICAgICgtW1dlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGRlbnldKToKKwor
MjAxMi0wMy0wOSAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKICAgICAgICAgQWRkIHN1
cHBvcnQgZm9yIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDk3CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBjMTc3
MTUwMGMzNzczNTAwNmI0YTdhNTI1ZjMxYzEzNGRmM2Y4MDdmLi45YWFlNDMwYTZhMzkxNDJlMGU5
ZGRjNTgyZjljZTE5Y2M5ZDRiYjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjYgQEAKIDIwMTIt
MDMtMDkgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgogCisgICAgICAgIE1pZ3JhdGUgcGVy
bWlzc2lvbiBmdW5jdGlvbnMgdG8gTm90aWZpY2F0aW9uIGZyb20gTm90aWZpY2F0aW9uQ2VudGVy
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQ4NQor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTA5NjU0NTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpzdGFydFJlcXVlc3QpOgorICAg
ICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6Tm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyOjpkaWRSZWNlaXZlTm90aWZpY2F0aW9uUGVybWlzc2lvbkRlY2lzaW9uKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyLmg6CisgICAgICAgIChOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZp
Y2F0aW9uQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uQ2xpZW50
OjpyZXF1ZXN0UGVybWlzc2lvbik6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lmg6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYk5vdGlmaWNhdGlvbkNsaWVudCk6CisKKzIwMTItMDMtMDkg
IEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04MDQ5NwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpp
bmRleCAyNDYwNjgzM2E1NzZkOGQ3ZmI1ODFjMWIzNjVhZjZkNjA4ZDIxYzY1Li40NDNmNmYyZDFi
MWU0ZjZkMjBmNjRjMjNhMzBhZjQyNDNjZTM5M2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKQEAgLTEsNCArMSw0IEBACi0jIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAoQykgMjAwNiwgMjAw
NywgMjAwOCwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdo
dCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4gCiAjIENvcHly
aWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFjayA8Y2FtQG1jYy5pZC5hdT4KICMKQEAgLTM1
NSw2ICszNTUsNyBAQCBCSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9sb2FkZXIvYXBw
Y2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5pZGwgXAogICAgICQoV2ViQ29yZSkvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uQ2VudGVyLmlkbCBcCisgICAgJChXZWJDb3JlKS9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9BYnN0
cmFjdFZpZXcuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvQmFySW5mby5pZGwgXAogICAgICQo
V2ViQ29yZSkvcGFnZS9Db25zb2xlLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9U
YXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCA4MjAyNTA0MWI0NWQ2
NWQ3MGQwNzY0ZTk3MTkzNDU2OGJmYWNlNGQ5Li5hNDZiMGMyZGVmNjQ4NGUzMDNkMzhkY2YyNTgy
YzM3OWVkYjM1NzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTM0MSw2ICszNDEsNyBAQCB2OCB7CiAgICAg
ICAgIGJpbmRpbmdzL2pzL0pTTm9kZUZpbHRlckN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5n
cy9qcy9KU05vZGVJdGVyYXRvckN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU05v
ZGVMaXN0Q3VzdG9tLmNwcCBcCisgICAgICAgIGJpbmRpbmdzL2pzL0pTTm90aWZpY2F0aW9uQ3Vz
dG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5j
cHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwIFwKICAg
ICAgICAgYmluZGluZ3MvanMvSlNQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25DdXN0b20uY3BwIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1Vz
ZUpTQy5jbWFrZQppbmRleCAwOTAzOGRkNjg0ODc3ZTFmODIwMjE5Mjc1ZTc4MmViMTMwODNhMjY2
Li43ZTY3ZjMyNzQ2MDQwOGMyNzhmODBlNzg4YzU1N2Y2YjY0OTc0NDk2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNt
YWtlCkBAIC0xMDksNiArMTA5LDcgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAg
YmluZGluZ3MvanMvSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTTm9k
ZUl0ZXJhdG9yQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTTm9kZUxpc3RDdXN0b20uY3Bw
CisgICAgYmluZGluZ3MvanMvSlNOb3RpZmljYXRpb25DdXN0b20uY3BwCiAgICAgYmluZGluZ3Mv
anMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTUG9wU3Rh
dGVFdmVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1Byb2Nlc3NpbmdJbnN0cnVjdGlv
bkN1c3RvbS5jcHAKQEAgLTIyOCw2ICsyMjksNyBAQCBFTkRJRiAoKQogSUYgKEVOQUJMRV9OT1RJ
RklDQVRJT05TKQogICAgIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgICAgICBiaW5k
aW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcAorICAgICAgICBiaW5kaW5n
cy9qcy9KU05vdGlmaWNhdGlvbnNDdXN0b20uY3BwCiAgICAgKQogRU5ESUYgKCkKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbgppbmRleCBhNDBmOGI3OWI0MmEyY2Y5ZTM0NDgxZjA3M2M4NzIxNzBjZGE0Mzcx
Li42MWY4Y2JkOWVmYzVkMjc5NjYwM2ZkNmJkNTI4NzNkYTVhYWE5ZWExIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgpAQCAtMjExMSw2ICsyMTExLDcgQEAgX19aTjdXZWJDb3JlMTJOb3RpZmljYXRpb24x
N2Rpc3BhdGNoU2hvd0V2ZW50RXYKIF9fWk43V2ViQ29yZTEyTm90aWZpY2F0aW9uMThkaXNwYXRj
aENsaWNrRXZlbnRFdgogX19aTjdXZWJDb3JlMTJOb3RpZmljYXRpb24xOGRpc3BhdGNoQ2xvc2VF
dmVudEV2CiBfX1pON1dlYkNvcmUxMk5vdGlmaWNhdGlvbjE4ZGlzcGF0Y2hFcnJvckV2ZW50RXYK
K19fWk43V2ViQ29yZTEyTm90aWZpY2F0aW9uMTlzdHJpbmdGb3JQZXJtaXNzaW9uRU5TXzIxTm90
aWZpY2F0aW9uUHJlc2VudGVyMTBQZXJtaXNzaW9uRQogI2VuZGlmCiAKICNpZiBFTkFCTEUoVEhS
RUFERURfU0NST0xMSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDk3OTViYWYxZWE5OTQ1MzMzNmFl
NDI3ODg4YmFkZTE3MWFhNDRiOWQuLmU3MmRlYTQzMTUxMDM0MjZmOWJmMzU2M2RmZTkzNmE0YjI3
ZDAzM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTE3NjgsNiArMTc2OCw3IEBACiAgICAgICAgICAg
ICAnYmluZGluZ3MvanMvSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvanMvSlNOb2RlSXRlcmF0b3JDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5n
cy9qcy9KU05vZGVMaXN0Q3VzdG9tLmNwcCcsCisgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNO
b3RpZmljYXRpb25DdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1BlZXJD
b25uZWN0aW9uQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNQbHVnaW5F
bGVtZW50RnVuY3Rpb25zLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNQb3BTdGF0
ZUV2ZW50Q3VzdG9tLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qCmluZGV4IDMwMWMwNjZhOWI3Yzc4MjI0Zjk4ODIzZTIwZjYzMTYzZTU5ODQ0ZmUu
LjJhZjFkN2VmOGUzOTczNGI1ZGY5MGUyYWI5ODRmZmYzZGUyNzc5YWIgMTAwNzU1Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC02NzI3Myw2ICs2NzI3Myw1
OCBAQAogCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJCTwvRmlsZT4KIAkJCQk8RmlsZQor
CQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTTm90aWZpY2F0aW9uQ3VzdG9tLmNw
cCIKKwkJCQkJPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IkRlYnVnfFdp
bjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9v
bAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlJlbGVh
c2V8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJ
CTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0i
RGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
CisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJ
CQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KKwkJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMy
IgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAor
CQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XGJpbmRpbmdzXGpzXEpTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAiCiAJCQkJCT4KIAkJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggMTI0NTM0ZDcxMGI1ZGY1NTZiOTkyNGVjZmY0N2JkMmFh
ZDYwNmQ1MS4uMzg2NzM3NmRlZmZiZmM2ODJmYTRhNmQyY2ExNDk1NTQwODIyOTlkMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
ODk5LDYgKzg5OSw4IEBACiAJCTMxQzBGRjRDMEU0Q0VGREQwMDdENkZFNSAvKiBET01XZWJLaXRU
cmFuc2l0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDMxQzBGRjQ2MEU0Q0VGREQwMDdENkZFNSAvKiBET01XZWJLaXRUcmFuc2l0aW9uRXZl
bnQuaCAqLzsgfTsKIAkJMzFDMEZGNEQwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5z
aXRpb25FdmVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMxQzBGRjQ3MEU0Q0VGREQwMDdENkZFNSAvKiBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnQu
bW0gKi87IH07CiAJCTMxQzBGRjRFMEU0Q0VGREQwMDdENkZFNSAvKiBET01XZWJLaXRUcmFuc2l0
aW9uRXZlbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzFDMEZGNDgwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25F
dmVudEludGVybmFsLmggKi87IH07CisJCTMxRUMxRTI4MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUVDMUUyNjE0RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suY3BwICovOyB9OworCQkzMUVDMUUyOTE0RkY2MEVF
MDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRUMxRTI3MTRGRjYwRUUwMEM5
NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oICovOyB9OwogCQkzMUZC
MUE1NzEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ2xpZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE0RjEyMEE1RDA2MDBEQzAy
QTAgLyogRGV2aWNlTW90aW9uQ2xpZW50LmggKi87IH07CiAJCTMxRkIxQTU4MTIwQTVEMDYwMERD
MDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTUwMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZp
Y2VNb3Rpb25Db250cm9sbGVyLmNwcCAqLzsgfTsKIAkJMzFGQjFBNTkxMjBBNUQwNjAwREMwMkEw
IC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTUxMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rp
b25Db250cm9sbGVyLmggKi87IH07CkBAIC05MDksNiArOTExLDggQEAKIAkJMzFGQjFBNjUxMjBB
NUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNjMxMjBBNUQzRjAwREMwMkEwIC8q
IEpTRGV2aWNlTW90aW9uRXZlbnQuY3BwICovOyB9OwogCQkzMUZCMUE2NjEyMEE1RDNGMDBEQzAy
QTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNjQxMjBBNUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90
aW9uRXZlbnQuaCAqLzsgfTsKIAkJMzFGQjFBNkMxMjBBNUQ2OTAwREMwMkEwIC8qIEpTRGV2aWNl
TW90aW9uRXZlbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMzFGQjFBNkIxMjBBNUQ2OTAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZl
bnRDdXN0b20uY3BwICovOyB9OworCQkzMUZFNkRGQTE1MDA0QzJBMDAwNEVCQzQgLyogTm90aWZp
Y2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMUVDMURBQzE0RkYyNkVBMDBDOTQ2NjIgLyogTm90aWZpY2F0aW9u
UGVybWlzc2lvbkNhbGxiYWNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJMzFGRTZFNkQxNTAxQTNCRjAwMDRFQkM0IC8qIEpTTm90aWZpY2F0aW9u
Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMxRkU2RTZDMTUwMUEzQkYwMDA0RUJDNCAvKiBKU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAgKi87
IH07CiAJCTMzMTRBQ0VCMTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzMxNEFDRTkxMDg5
MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5jcHAgKi87IH07CiAJCTMzMTRBQ0VDMTA4
OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzMTRBQ0VBMTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4
Y2VwdGlvbkJhc2UuaCAqLzsgfTsKIAkJMzM1MDNDOUExMDE3OUE3NDAwM0I0N0UxIC8qIE5vdGlm
aWNhdGlvblByZXNlbnRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzM1MDNDOTkxMDE3OUE3NDAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvblByZXNlbnRl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC03
NzUyLDYgKzc3NTYsMTAgQEAKIAkJMzFDMEZGNDYwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktp
dFRyYW5zaXRpb25FdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01X
ZWJLaXRUcmFuc2l0aW9uRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFD
MEZGNDcwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTVdlYktpdFRyYW5zaXRpb25F
dmVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFDMEZGNDgwRTRDRUZERDAw
N0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudEludGVybmFsLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdlYktpdFRyYW5zaXRpb25FdmVudEludGVybmFsLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRUMxRDUwMTRGRUZEMDgwMEM5NDY2MiAv
KiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFt
ZSA9IE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGw7IHBhdGggPSBub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTMxRUMxREFDMTRGRjI2RUEwMEM5NDY2MiAvKiBOb3RpZmljYXRpb25QZXJt
aXNzaW9uQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTm90aWZpY2F0aW9uUGVybWlzc2lvbkNh
bGxiYWNrLmg7IHBhdGggPSBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxs
YmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUVDMUUyNjE0RkY2MEVFMDBD
OTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUVDMUUyNzE0RkY2MEVFMDBD
OTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFGQjFBNEYxMjBBNUQwNjAwREMwMkEwIC8q
IERldmljZU1vdGlvbkNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBE
ZXZpY2VNb3Rpb25DbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFGQjFB
NTAxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxRkIxQTUxMTIwQTVEMDYwMERDMDJBMCAv
KiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IERldmljZU1vdGlvbkNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTc3NjMsNiArNzc3MSw3IEBACiAJCTMxRkIxQTYzMTIwQTVEM0YwMERDMDJBMCAvKiBKU0Rl
dmljZU1vdGlvbkV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTRGV2aWNlTW90aW9uRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkz
MUZCMUE2NDEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RldmljZU1vdGlvbkV2ZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxRkIxQTZCMTIwQTVENjkwMERDMDJBMCAvKiBKU0Rldmlj
ZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkzMUZFNkU2QzE1MDFBM0JGMDAwNEVCQzQgLyogSlNOb3RpZmljYXRpb25DdXN0b20u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNOb3RpZmljYXRpb25D
dXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMzE0QUNFOTEwODkyMDg2
MDAwRjBFNTYgLyogSlNFeGNlcHRpb25CYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTRXhjZXB0aW9uQmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTMzMTRBQ0VBMTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFeGNlcHRpb25CYXNlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzM0Y3MDRFMEZCNDlDQTIwMDhFMTJBNiAvKiBOb3RpZmlj
YXRpb24uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IE5vdGlmaWNhdGlvbi5pZGw7IHBhdGgg
PSBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0xNDM5MSw2ICsxNDQwMCw4IEBACiAJCQkJMzEyOENBNjcxNDczMzE1MjAwNzRDNzJB
IC8qIE5vdGlmaWNhdGlvbkNvbnRyb2xsZXIuY3BwICovLAogCQkJCTMxMjhDQTZBMTQ3MzMxNjMw
MDc0QzcyQSAvKiBOb3RpZmljYXRpb25Db250cm9sbGVyLmggKi8sCiAJCQkJMzM1MDNDOTkxMDE3
OUE3NDAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvblByZXNlbnRlci5oICovLAorCQkJCTMxRUMxRDUw
MTRGRUZEMDgwMEM5NDY2MiAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsICov
LAorCQkJCTMxRUMxREFDMTRGRjI2RUEwMEM5NDY2MiAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2suaCAqLywKIAkJCSk7CiAJCQluYW1lID0gbm90aWZpY2F0aW9uczsKIAkJCXNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0xNDQwMiw2ICsxNDQxMyw4IEBACiAJCQkJMzM1MDNDQTAx
MDE3OUFENzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uLmggKi8sCiAJCQkJMzM1MDNDQTExMDE3
OUFENzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uQ2VudGVyLmNwcCAqLywKIAkJCQkzMzUwM0NB
MjEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb25DZW50ZXIuaCAqLywKKwkJCQkzMUVD
MUUyNjE0RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2su
Y3BwICovLAorCQkJCTMxRUMxRTI3MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBl
cm1pc3Npb25DYWxsYmFjay5oICovLAogCQkJKTsKIAkJCW5hbWUgPSBOb3RpZmljYXRpb25zOwog
CQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTE5NjY3LDYgKzE5NjgwLDcgQEAKIAkJCQlC
Q0I3NzM2MDBDMTc4NTNEMDAxMzJCQTQgLyogSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcCAqLywKIAkJ
CQkxQTc1MEREMzBBOTBFNzI5MDAwRkYyMTUgLyogSlNOb2RlSXRlcmF0b3JDdXN0b20uY3BwICov
LAogCQkJCUJDRDlDMjYxMEMxN0FBNjcwMDVDOTBBMiAvKiBKU05vZGVMaXN0Q3VzdG9tLmNwcCAq
LywKKwkJCQkzMUZFNkU2QzE1MDFBM0JGMDAwNEVCQzQgLyogSlNOb3RpZmljYXRpb25DdXN0b20u
Y3BwICovLAogCQkJCUE4NUYyMjA4MTQzMDM3N0QwMDdDQzg4NCAvKiBKU1BvcFN0YXRlRXZlbnRD
dXN0b20uY3BwICovLAogCQkJCUUxQUQxMkQ1MTI5NUQwQkQwMEFDQTk4OSAvKiBKU1Byb2Nlc3Np
bmdJbnN0cnVjdGlvbkN1c3RvbS5jcHAgKi8sCiAJCQkJNDk5OEFFRDMxM0ZDNDE3RjAwOTBCMUFB
IC8qIEpTUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2tDdXN0b20uY3BwICovLApAQCAtMjQ1
NTksNiArMjQ1NzMsOCBAQAogCQkJCUZENTM3MzUzMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9s
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFDREU5MjIxNTAxOTE2OTAwODYyQ0M1IC8qIEFzeW5j
RmlsZVN0cmVhbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDUwQ0VCRjExNTA3M0JCRTAwMkJCMTQ5
IC8qIExhYmVsYWJsZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxRUMxRTI5MTRGRjYw
RUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMzFGRTZERkExNTAwNEMyQTAwMDRFQkM0IC8qIE5vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxv
eW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yNzUzNiw2ICsyNzU1Miw4IEBACiAJ
CQkJRTFDREU5MjAxNTAxOEVEMDAwODYyQ0M1IC8qIEFzeW5jRmlsZVN0cmVhbS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk0NTBDRUJGMDE1MDczQkJFMDAyQkIxNDkgLyogTGFiZWxhYmxlRWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5QjJCN0FDMTE1MDk4NTBBMDA4OTMyQ0MgLyogTWlj
cm9EYXRhSXRlbVZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxRUMxRTI4MTRGRjYwRUUw
MEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQkzMUZFNkU2RDE1MDFBM0JGMDAwNEVCQzQgLyogSlNOb3RpZmljYXRpb25DdXN0
b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20uY3BwCmluZGV4IDE2YTk2MmM1
NjI5YTM1OWQ1ZGM3Y2U4ZTIyYmFkODUwNjVlOTEyY2UuLmEzNjIwYjg5YjcyZDhjZjlmNjMxMzNi
ODY2YmJlMDk0YjVjMjFiYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20uY3BwCkBAIC0xLDUgKzEsNiBA
QAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTMwLDE0ICszMSwxMiBA
QAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgJiYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQog
CiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJKU0N1c3RvbVZvaWRDYWxsYmFjay5o
IgogI2luY2x1ZGUgIkpTRXZlbnRMaXN0ZW5lci5oIgotI2luY2x1ZGUgIkpTTm90aWZpY2F0aW9u
LmgiCiAjaW5jbHVkZSAiSlNOb3RpZmljYXRpb25DZW50ZXIuaCIKLSNpbmNsdWRlICJOb3RpZmlj
YXRpb24uaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25DZW50ZXIuaCIKICNpbmNsdWRlIDxydW50
aW1lL0Vycm9yLmg+CiAKQEAgLTY4LDYgKzY3LDYgQEAgSlNWYWx1ZSBKU05vdGlmaWNhdGlvbkNl
bnRlcjo6cmVxdWVzdFBlcm1pc3Npb24oRXhlY1N0YXRlKiBleGVjKQogICAgIHJldHVybiBqc1Vu
ZGVmaW5lZCgpOwogfQogCi19IC8vIG5hbWVzcGFjZQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
Ci0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpCisjZW5kaWYgLy8gRU5BQkxFKE5PVElG
SUNBVElPTlMpICYmICFFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzQzZDM4YjgwMjg0YWE4MWFiMTU2ZDdiNzM2MjdhODMwNzJiYmJjZgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm90aWZpY2F0aW9uQ3VzdG9tLmNw
cApAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4g
QWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkpTTm90aWZpY2F0aW9uLmgi
CisKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKworI2luY2x1ZGUgIkNhbGxiYWNrRnVuY3Rp
b24uaCIKKyNpbmNsdWRlICJKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIgorI2lu
Y2x1ZGUgPHJ1bnRpbWUvRXJyb3IuaD4KKwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitKU1ZhbHVlIEpTTm90aWZpY2F0aW9uOjpyZXF1ZXN0UGVybWlzc2lv
bihFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgLy8gQXJndW1lbnRzOiBOb3RpZmljYXRpb25QZXJt
aXNzaW9uQ2FsbGJhY2sKKyAgICBpZiAoIWV4ZWMtPmFyZ3VtZW50KDApLmlzT2JqZWN0KCkpCisg
ICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcihleGVjKTsKKyAgICAKKyAgICBSZWZQdHI8Tm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBjYWxsYmFjayA9IGNyZWF0ZUZ1bmN0aW9uT25s
eUNhbGxiYWNrPEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPihleGVjLCBzdGF0aWNf
Y2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSksIGV4
ZWMtPmFyZ3VtZW50KDApKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAg
IHJldHVybiBqc1VuZGVmaW5lZCgpOworICAgIAorICAgIEFTU0VSVChjYWxsYmFjayk7CisgICAg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0Q29udGV4dCA9IHN0YXRpY19jYXN0PEpTRE9N
R2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKS0+c2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpOworICAgIE5vdGlmaWNhdGlvbjo6cmVxdWVzdFBlcm1pc3Npb24oc2NyaXB0
Q29udGV4dCwgY2FsbGJhY2sucmVsZWFzZSgpKTsKKyAgICByZXR1cm4ganNVbmRlZmluZWQoKTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNB
VElPTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAK
aW5kZXggNzQ5NjRkYzc3YWRhZDA4MWNiMGVmMTljYTQ0YWQ0YTQ4ZTA4N2U3Mi4uOThhMjJjMWNi
YmZlNzQwMGEwMzYxOWY1NWE4MDQzYTZlNzQ2OWZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHly
aWdodCAoQykgMjAwOSwgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDksIDIwMTEsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzUsMTEgKzM1LDE0
IEBACiAKICNpbmNsdWRlICJOb3RpZmljYXRpb24uaCIKIAorI2luY2x1ZGUgIkRPTVdpbmRvdy5o
IgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRXJyb3JFdmVudC5oIgogI2luY2x1
ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25DZW50ZXIuaCIKICNpbmNs
dWRlICJOb3RpZmljYXRpb25Db250ZW50cy5oIgorI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNvbnRy
b2xsZXIuaCIKKyNpbmNsdWRlICJOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCIKICNp
bmNsdWRlICJOb3RpZmljYXRpb25QcmVzZW50ZXIuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVl
c3QuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCkBAIC0yMDEsNiArMjA0LDM4IEBA
IHZvaWQgTm90aWZpY2F0aW9uOjpzdG9wTG9hZGluZygpCiAgICAgbV9sb2FkZXItPmNhbmNlbCgp
OwogfQogCitjb25zdCBTdHJpbmcmIE5vdGlmaWNhdGlvbjo6cGVybWlzc2lvbkxldmVsKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCit7CisgICAgQVNTRVJUKGNvbnRleHQtPmlzRG9j
dW1lbnQoKSk7CisgICAgQVNTRVJUKHN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCktPnBh
Z2UoKSk7CisgICAgcmV0dXJuIHN0cmluZ0ZvclBlcm1pc3Npb24oTm90aWZpY2F0aW9uQ29udHJv
bGxlcjo6ZnJvbShzdGF0aWNfY2FzdDxEb2N1bWVudCo+KGNvbnRleHQpLT5wYWdlKCkpLT5jbGll
bnQoKS0+Y2hlY2tQZXJtaXNzaW9uKGNvbnRleHQpKTsKK30KKworY29uc3QgU3RyaW5nJiBOb3Rp
ZmljYXRpb246OnN0cmluZ0ZvclBlcm1pc3Npb24oTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJt
aXNzaW9uIHBlcm1pc3Npb24pCit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJp
bmcsIGFsbG93ZWRQZXJtaXNzaW9uLCAoImdyYW50ZWQiKSk7CisgICAgREVGSU5FX1NUQVRJQ19M
T0NBTChjb25zdCBTdHJpbmcsIGRlbmllZFBlcm1pc3Npb24sICgiZGVuaWVkIikpOworICAgIERF
RklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBkZWZhdWx0UGVybWlzc2lvbiwgKCJkZWZh
dWx0IikpOworICAgIHN3aXRjaCAocGVybWlzc2lvbikgeworICAgIGNhc2UgTm90aWZpY2F0aW9u
UHJlc2VudGVyOjpQZXJtaXNzaW9uQWxsb3dlZDoKKyAgICAgICAgcmV0dXJuIGFsbG93ZWRQZXJt
aXNzaW9uOworICAgIGNhc2UgTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uRGVuaWVk
OgorICAgICAgICByZXR1cm4gZGVuaWVkUGVybWlzc2lvbjsKKyAgICBjYXNlIE5vdGlmaWNhdGlv
blByZXNlbnRlcjo6UGVybWlzc2lvbk5vdEFsbG93ZWQ6CisgICAgICAgIHJldHVybiBkZWZhdWx0
UGVybWlzc2lvbjsKKyAgICB9CisgICAgCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
cmV0dXJuIGRlbmllZFBlcm1pc3Npb247Cit9CisKK3ZvaWQgTm90aWZpY2F0aW9uOjpyZXF1ZXN0
UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPE5v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4gY2FsbGJhY2spCit7CisgICAgQVNTRVJUKGNv
bnRleHQtPmlzRG9jdW1lbnQoKSk7CisgICAgQVNTRVJUKHN0YXRpY19jYXN0PERvY3VtZW50Kj4o
Y29udGV4dCktPnBhZ2UoKSk7CisgICAgTm90aWZpY2F0aW9uQ29udHJvbGxlcjo6ZnJvbShzdGF0
aWNfY2FzdDxEb2N1bWVudCo+KGNvbnRleHQpLT5wYWdlKCkpLT5jbGllbnQoKS0+cmVxdWVzdFBl
cm1pc3Npb24oY29udGV4dCwgY2FsbGJhY2spOworfQorCiB2b2lkIE5vdGlmaWNhdGlvbjo6ZGlk
UmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJl
c3BvbnNlKQogewogICAgIGludCBzdGF0dXMgPSByZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKaW5kZXggZGQwZDZl
ZDg0YWQzMDc5ZDg4YmEwMmEwMmJjYWNjNmE2NDVjYjM5ZC4uZTBkMjAzNThhYTY5MDUyMDU0YjMy
Yzg5MDAyODczODg3MzBlZTExMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbi5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOSBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA5LCAy
MDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAw
OSwgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiRXZl
bnRUYXJnZXQuaCIKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ29u
dGVudHMuaCIKKyNpbmNsdWRlICJOb3RpZmljYXRpb25QcmVzZW50ZXIuaCIKICNpbmNsdWRlICJT
aGFyZWRCdWZmZXIuaCIKICNpbmNsdWRlICJUZXh0RGlyZWN0aW9uLmgiCiAjaW5jbHVkZSAiVGhy
ZWFkYWJsZUxvYWRlckNsaWVudC5oIgpAQCAtNTAsNiArNTEsNyBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBOb3RpZmljYXRpb25DZW50ZXI7CitjbGFzcyBOb3RpZmljYXRpb25QZXJt
aXNzaW9uQ2FsbGJhY2s7CiBjbGFzcyBSZXNvdXJjZUVycm9yOwogY2xhc3MgUmVzb3VyY2VSZXNw
b25zZTsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CkBAIC0xMTksNiArMTIxLDEwIEBA
IHB1YmxpYzoKICAgICAvLyBEZXByZWNhdGVkLiBVc2UgZnVuY3Rpb25zIGZyb20gTm90aWZpY2F0
aW9uQ2VudGVyLgogICAgIHZvaWQgZGV0YWNoUHJlc2VudGVyKCkgeyB9CiAKKyAgICBzdGF0aWMg
Y29uc3QgU3RyaW5nJiBwZXJtaXNzaW9uTGV2ZWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwor
ICAgIHN0YXRpYyBjb25zdCBTdHJpbmcmIHN0cmluZ0ZvclBlcm1pc3Npb24oTm90aWZpY2F0aW9u
UHJlc2VudGVyOjpQZXJtaXNzaW9uKTsKKyAgICBzdGF0aWMgdm9pZCByZXF1ZXN0UGVybWlzc2lv
bihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2s+KTsKKwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UodW5z
aWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOwogICAgIHZpcnR1YWwgdm9pZCBk
aWRSZWNlaXZlRGF0YShjb25zdCBjaGFyKiBkYXRhLCBpbnQgZGF0YUxlbmd0aCk7CiAgICAgdmly
dHVhbCB2b2lkIGRpZEZpbmlzaExvYWRpbmcodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBkb3Vi
bGUgZmluaXNoVGltZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbi5pZGwKaW5kZXggZDhjYjNjYzM5YTI1ZTcxNzQzZTlmNzVlOWU4Y2Y0YzE4MGUyMjE2OC4u
NDU4MTZlMTg0M2QwYzQyY2M0ZTg2MzYwZGFiMWY1ZDRiOGVhNjcxNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbApAQCAtMSw2ICsxLDYgQEAKIC8q
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzQsMTIgKzM0LDE0IEBA
IG1vZHVsZSB0aHJlYWRzIHsKICAgICBpbnRlcmZhY2UgWwogICAgICAgICBDb25kaXRpb25hbD1O
T1RJRklDQVRJT05TLAogICAgICAgICBBY3RpdmVET01PYmplY3QsCi0gICAgICAgIEV2ZW50VGFy
Z2V0LAotICAgICAgICBPbWl0Q29uc3RydWN0b3IKKyAgICAgICAgRXZlbnRUYXJnZXQKICAgICBd
IE5vdGlmaWNhdGlvbiB7CiAgICAgICAgIHZvaWQgc2hvdygpOwogICAgICAgICB2b2lkIGNhbmNl
bCgpOwogCisgICAgICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBzdGF0aWMg
RE9NU3RyaW5nIHBlcm1pc3Npb25MZXZlbCgpOworICAgICAgICBbQ3VzdG9tXSBzdGF0aWMgdm9p
ZCByZXF1ZXN0UGVybWlzc2lvbihpbiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgY2Fs
bGJhY2spOworCiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uc2hvdzsKICAgICAg
ICAgLy8gRklYTUU6IFRoZSBsYXRlc3QgV2ViIE5vdGlmaWNhdGlvbnMgc3RhbmRhcmQgdXNlcyB0
aGUgb25zaG93IGV2ZW50IGxpc3RlbmVyLgogICAgICAgICAvLyBUaGUgb25kaXNwbGF5IGV2ZW50
IGxpc3RlbmVyIHNob3VsZCBiZSByZW1vdmVkIHdoZW4gaW1wbGVtZW50YXRpb25zIGNoYW5nZSB0
aGUgZXZlbnQgbGlzdGVuZXIgdG8gb25zaG93LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCmluZGV4IDcxMTQ2YWY4ZGEzNzIzZDE0
NzE1ZWZjYjVkMWFiZWFjNDhlMzcxNTkuLjQ2NzQ0MzRhZTAxYTA3MzhkZjI0YzM0NTgxNDYwNDdh
YTgxMDc0MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uQ2VudGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbkNlbnRlci5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAy
MDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQpAQCAtNTIsMTkgKzUzLDIzIEBAIE5vdGlmaWNhdGlvbkNlbnRlcjo6Tm90
aWZpY2F0aW9uQ2VudGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIE5vdGlmaWNh
CiAgICAgOiBBY3RpdmVET01PYmplY3QoY29udGV4dCwgdGhpcykKICAgICAsIG1fbm90aWZpY2F0
aW9uUHJlc2VudGVyKHByZXNlbnRlcikge30KIAorI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FU
SU9OUykKIGludCBOb3RpZmljYXRpb25DZW50ZXI6OmNoZWNrUGVybWlzc2lvbigpCiB7CiAgICAg
aWYgKCFwcmVzZW50ZXIoKSB8fCAhc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQogICAgICAgICBy
ZXR1cm4gTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uRGVuaWVkOwogICAgIHJldHVy
biBtX25vdGlmaWNhdGlvblByZXNlbnRlci0+Y2hlY2tQZXJtaXNzaW9uKHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKSk7CiB9CisjZW5kaWYKIAorI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9O
UykKIHZvaWQgTm90aWZpY2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbihQYXNzUmVmUHRy
PFZvaWRDYWxsYmFjaz4gY2FsbGJhY2spCiB7CiAgICAgaWYgKCFwcmVzZW50ZXIoKSB8fCAhc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpKQogICAgICAgICByZXR1cm47CiAgICAgbV9ub3RpZmljYXRp
b25QcmVzZW50ZXItPnJlcXVlc3RQZXJtaXNzaW9uKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwg
Y2FsbGJhY2spOwogfQorI2VuZGlmCiAKIHZvaWQgTm90aWZpY2F0aW9uQ2VudGVyOjpkaXNjb25u
ZWN0RnJhbWUoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25DZW50ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uQ2VudGVyLmgKaW5kZXggNDAyY2NiYTkzOGIyZmVlMDgxZjhhNmE4ZDdiZWNlZmY3OGNj
MjY5Mi4uZjY2ODM2MTA3OWQwMWExNzJiYjM0ZjRhYzFhNDA3NjI1NmY3ZThjMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oCkBAIC0x
LDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC03
Nyw4ICs3NywxMCBAQCBwdWJsaWM6CiAKICAgICBOb3RpZmljYXRpb25QcmVzZW50ZXIqIHByZXNl
bnRlcigpIGNvbnN0IHsgcmV0dXJuIG1fbm90aWZpY2F0aW9uUHJlc2VudGVyOyB9CiAKKyNpZiBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgaW50IGNoZWNrUGVybWlzc2lvbigpOwog
ICAgIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+KTsKKyNl
bmRpZgogCiAgICAgdm9pZCBkaXNjb25uZWN0RnJhbWUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsIGIvU291cmNlL1dl
YkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsCmluZGV4IDhiZTFlY2M3
NjlmYmM1YTQzN2I3NjRlOTZhMDdlNDc1MTcwYTM1NjYuLmI5OTdkOWYzMjMxODNiMjg3ZWM1MWE0
NjEzY2M0MGQ2ZjMyMzE1YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwKQEAgLTQxLDggKzQxLDEwIEBAIG1vZHVsZSB0aHJl
YWRzIHsKICNlbmRpZgogICAgICAgIFtWOEN1c3RvbV0gTm90aWZpY2F0aW9uIGNyZWF0ZU5vdGlm
aWNhdGlvbihpbiBET01TdHJpbmcgaWNvblVybCwgaW4gRE9NU3RyaW5nIHRpdGxlLCBpbiBET01T
dHJpbmcgYm9keSkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKKyNpZiBkZWZpbmVkKEVOQUJMRV9M
RUdBQ1lfTk9USUZJQ0FUSU9OUykgJiYgRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TCiAgICAg
ICAgaW50IGNoZWNrUGVybWlzc2lvbigpOwogICAgICAgIFtDdXN0b21dIHZvaWQgcmVxdWVzdFBl
cm1pc3Npb24oaW4gVm9pZENhbGxiYWNrIGNhbGxiYWNrKTsKKyNlbmRpZgogICAgIH07CiAKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0OTRlZjVlMDMzYTkzMDJiMzBi
NTg2ZTg5MzM5MzdmOTk5YzQ3MTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oCkBAIC0wLDAgKzEs
NDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpZm5kZWYgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrX2gK
KyNkZWZpbmUgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrX2gKKworI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworICAgIAorY2xhc3MgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrIDogcHVi
bGljIFJlZkNvdW50ZWQ8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiB7CitwdWJsaWM6
CisgICAgdmlydHVhbCB+Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrKCkgeyB9CisgICAg
dmlydHVhbCBib29sIGhhbmRsZUV2ZW50KGNvbnN0IFN0cmluZyYgcGVybWlzc2lvbikgPSAwOwor
fTsKKyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIE5vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFja19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMWYxMTE2MTJlMjQwY2VjYWExOWZiNWVhNzFhYWNkN2QyNjA5M2MyMAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrLmlkbApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgdGhyZWFk
cyB7CisKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1OT1RJRklDQVRJT05T
LAorICAgICAgICBDYWxsYmFjaworICAgIF0gTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNr
IHsKKyAgICAgICAgYm9vbGVhbiBoYW5kbGVFdmVudChpbiBET01TdHJpbmcgcGVybWlzc2lvbik7
CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25QcmVzZW50ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uUHJlc2VudGVyLmgKaW5kZXggMTkzNTM4NGRjMWY2Y2I5MTc0ODBhOWQ0YzgxYjk2
ZjQzYTQ4YjE5Yi4uNTc4NTc2OWIxZWRiMzM5ZGU4M2ZmNzJiYWUwNDE1OGZhNTQzZWUxZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QcmVzZW50
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblByZXNl
bnRlci5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCkBAIC0zOCw4ICszOCw5IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERv
Y3VtZW50OwotY2xhc3MgTm90aWZpY2F0aW9uOwogY2xhc3MgS1VSTDsKK2NsYXNzIE5vdGlmaWNh
dGlvbjsKK2NsYXNzIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjazsKIGNsYXNzIFBhZ2U7
CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCkBAIC03MCwxMCArNzEsMTQgQEAgcHVi
bGljOgogICAgIC8vIEluZm9ybXMgdGhlIHByZXNlbnRlciB0aGUgY29udHJvbGxlciBhdHRhY2hl
ZCB0byB0aGUgcGFnZSBoYXMgYmVlbiBkZXN0cm95ZWQuCiAgICAgdmlydHVhbCB2b2lkIG5vdGlm
aWNhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKSA9IDA7CiAKKyNpZiBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCiAgICAgLy8gUmVxdWVzdHMgdXNlciBwZXJtaXNzaW9uIHRvIHNob3cgZGVz
a3RvcCBub3RpZmljYXRpb25zIGZyb20gYSBwYXJ0aWN1bGFyCiAgICAgLy8gc2NyaXB0IGNvbnRl
eHQuIFRoZSBjYWxsYmFjayBwYXJhbWV0ZXIgc2hvdWxkIGJlIHJ1biB3aGVuIHRoZSB1c2VyIGhh
cwogICAgIC8vIG1hZGUgYSBkZWNpc2lvbi4KICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1p
c3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPikg
PSAwOworI2VuZGlmCisgICAgLy8gRklYTUU6IE9uY2UgYWxsIG9mIHRoZSBwb3J0cyBoYXZlIGFk
b3B0ZWQgdGhlIG5ldyBBUEksIHdlIHNob3VsZCB0dXJuIHRoaXMgdG8gYSBwdXJlIHZpcnR1YWwu
CisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4pIHsgfQogCiAg
ICAgLy8gQ2FuY2VsIGFsbCBvdXRzdGFuZGluZyByZXF1ZXN0cyBmb3IgdGhlIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9u
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwK
aW5kZXggMTQwODZiZjIwZTllNDk3NmFhODgxMjNiODYwYzA3YjQ1OTNhNzlhZC4uY2YxMTg3MWI0
NDU2NmMxYWIzYTg4YmNlODI1MzRlY2ZhZmY1ZjU5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmlkbApAQCAtMTczLDYgKzE3Myw3IEBAIG1vZHVsZSB3aW5kb3cgewogI2lmIGRlZmluZWQoRU5B
QkxFX05PVElGSUNBVElPTlMpICYmIEVOQUJMRV9OT1RJRklDQVRJT05TCiAgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50aW1lXSBOb3RpZmljYXRpb25DZW50ZXIgd2Vi
a2l0Tm90aWZpY2F0aW9uczsKICNlbmRpZgorICAgICAgICBhdHRyaWJ1dGUgTm90aWZpY2F0aW9u
Q29uc3RydWN0b3IgTm90aWZpY2F0aW9uOwogCiAjaWYgZGVmaW5lZChFTkFCTEVfT1JJRU5UQVRJ
T05fRVZFTlRTKSAmJiBFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTCiAgICAgICAgIC8vIFRoaXMg
aXMgdGhlIGludGVyZmFjZSBvcmllbnRhdGlvbiBpbiBkZWdyZWVzLiBTb21lIGV4YW1wbGVzIGFy
ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlm
aWNhdGlvbkNsaWVudC5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90
aWZpY2F0aW9uQ2xpZW50LmgKaW5kZXggYTQwY2U4MWU1ZGM3ZjY0NjY1MWVmODY5OGE3NjJlNTEx
OGQ3YmI5My4uNjRmYWRmMjJhZDAzMTY0ZjYwODdmY2ExZWE2NDUzNDA1YWRkNTVjNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0
aW9uQ2xpZW50LmgKQEAgLTM0LDExICszNCwxMyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBj
bGFzcyBOb3RpZmljYXRpb247CitjbGFzcyBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s7
CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgVm9pZENhbGxiYWNrOwogfQog
CiBAY2xhc3MgV2ViTm90aWZpY2F0aW9uOworQGNsYXNzIFdlYk5vdGlmaWNhdGlvblBvbGljeUxp
c3RlbmVyOwogQGNsYXNzIFdlYlZpZXc7CiAKIGNsYXNzIFdlYk5vdGlmaWNhdGlvbkNsaWVudCA6
IHB1YmxpYyBXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXIgewpAQCAtNTIsMTAgKzU0LDE3
IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGNsZWFyTm90aWZpY2F0aW9ucyhXZWJDb3Jl
OjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIG5v
dGlmaWNhdGlvbk9iamVjdERlc3Ryb3llZChXZWJDb3JlOjpOb3RpZmljYXRpb24qKSBPVkVSUklE
RTsKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpIE9W
RVJSSURFOworI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICB2aXJ0dWFsIHZv
aWQgcmVxdWVzdFBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBh
c3NSZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxiYWNrPikgT1ZFUlJJREU7CisjZW5kaWYKKyAgICB2
aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCosIFBhc3NSZWZQdHI8V2ViQ29yZTo6Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNr
PikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lv
bihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgT1ZFUlJJREUgeyB9CiAgICAgdmly
dHVhbCBXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb24gY2hlY2tQZXJt
aXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBPVkVSUklERTsKIAorI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKQorICAgIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oV2ViQ29y
ZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVy
ICopOworI2VuZGlmCisKICAgICBXZWJWaWV3ICptX3dlYlZpZXc7CiAjaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpCiAgICAgSGFzaE1hcDxSZWZQdHI8V2ViQ29yZTo6Tm90aWZpY2F0aW9uPiwgUmV0
YWluUHRyPFdlYk5vdGlmaWNhdGlvbj4gPiBtX25vdGlmaWNhdGlvbk1hcDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5t
bSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVu
dC5tbQppbmRleCAyZjdjZDU0MTE3NzEzNzMzZmFlMGUxZTJjMmY0YTk5MTFkNmZiYzRmLi5mZGNk
MjhlN2NhMGY1NjY0ZTZjYmM5YTkwNmJhOTllZWIzYmY0YTFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQubW0KKysrIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lm1t
CkBAIC0zMywxOCArMzMsMzEgQEAKICNpbXBvcnQgIldlYlVJRGVsZWdhdGVQcml2YXRlLmgiCiAj
aW1wb3J0ICJXZWJWaWV3SW50ZXJuYWwuaCIKICNpbXBvcnQgPFdlYkNvcmUvQmxvY2tFeGNlcHRp
b25zLmg+CisjaW1wb3J0IDxXZWJDb3JlL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5o
PgogI2ltcG9ydCA8V2ViQ29yZS9QYWdlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuaD4KICNlbmRpZgogCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05T
KQorI2ltcG9ydCA8V2ViQ29yZS9Wb2lkQ2FsbGJhY2suaD4KKyNlbmRpZgorCiB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKIAogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorCiBAaW50ZXJmYWNl
IFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIDogTlNPYmplY3QgPFdlYkFsbG93RGVueVBv
bGljeUxpc3RlbmVyPgogewotICAgIFJlZlB0cjxWb2lkQ2FsbGJhY2s+IF9jYWxsYmFjazsKKyAg
ICBSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBfY2FsbGJhY2s7CisjaWYg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorICAgIFJlZlB0cjxWb2lkQ2FsbGJhY2s+IF92
b2lkQ2FsbGJhY2s7CisjZW5kaWYKIH0KLS0gKGlkKWluaXRXaXRoQ2FsbGJhY2s6KFBhc3NSZWZQ
dHI8Vm9pZENhbGxiYWNrPiljYWxsYmFjazsKKy0gKGlkKWluaXRXaXRoQ2FsbGJhY2s6KFBhc3NS
ZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiljYWxsYmFjazsKKyNpZiBFTkFC
TEUoTEVHQUNZX05PVElGSUNBVElPTlMpCistIChpZClpbml0V2l0aFZvaWRDYWxsYmFjazooUGFz
c1JlZlB0cjxWb2lkQ2FsbGJhY2s+KWNhbGxiYWNrOworI2VuZGlmCisKIEBlbmQKICNlbmRpZgog
CkBAIC0xNDcsMjkgKzE2MCw0NiBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6bm90aWZp
Y2F0aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpCiAgICAgZGVsZXRlIHRoaXM7CiB9CiAKKworI2lm
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50
OjpyZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNz
UmVmUHRyPFZvaWRDYWxsYmFjaz4gY2FsbGJhY2spCiB7CisgICAgQkVHSU5fQkxPQ0tfT0JKQ19F
WENFUFRJT05TOworICAgIFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyKiBsaXN0ZW5lciA9
IFtbV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgYWxsb2NdIGluaXRXaXRoVm9pZENhbGxi
YWNrOmNhbGxiYWNrXTsKKyAgICByZXF1ZXN0UGVybWlzc2lvbihjb250ZXh0LCBsaXN0ZW5lcik7
CisgICAgW2xpc3RlbmVyIHJlbGVhc2VdOworICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7
Cit9CisjZW5kaWYKKwordm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaXNz
aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8Tm90aWZpY2F0
aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBjYWxsYmFjaykKK3sKICNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykKICAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7Ci0gICAgCisgICAgV2ViTm90
aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgKmxpc3RlbmVyID0gW1tXZWJOb3RpZmljYXRpb25Qb2xp
Y3lMaXN0ZW5lciBhbGxvY10gaW5pdFdpdGhDYWxsYmFjazpjYWxsYmFja107CisgICAgcmVxdWVz
dFBlcm1pc3Npb24oY29udGV4dCwgbGlzdGVuZXIpOworICAgIFtsaXN0ZW5lciByZWxlYXNlXTsK
KyAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0o
Y29udGV4dCk7CisgICAgVU5VU0VEX1BBUkFNKGNhbGxiYWNrKTsKKyNlbmRpZgorfQorCisjaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpCit2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVz
dFBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgV2Vi
Tm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgKmxpc3RlbmVyKQorewogICAgIFNFTCBzZWxlY3Rv
ciA9IEBzZWxlY3Rvcih3ZWJWaWV3OmRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblJlcXVlc3RG
cm9tT3JpZ2luOmxpc3RlbmVyOik7CiAgICAgaWYgKCFbW21fd2ViVmlldyBVSURlbGVnYXRlXSBy
ZXNwb25kc1RvU2VsZWN0b3I6c2VsZWN0b3JdKQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAg
V2ViU2VjdXJpdHlPcmlnaW4gKndlYk9yaWdpbiA9IFtbV2ViU2VjdXJpdHlPcmlnaW4gYWxsb2Nd
IF9pbml0V2l0aFdlYkNvcmVTZWN1cml0eU9yaWdpbjpjb250ZXh0LT5zZWN1cml0eU9yaWdpbigp
XTsKLSAgICBXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciogbGlzdGVuZXIgPSBbW1dlYk5v
dGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGFsbG9jXSBpbml0V2l0aENhbGxiYWNrOmNhbGxiYWNr
XTsKICAgICAKICAgICBDYWxsVUlEZWxlZ2F0ZShtX3dlYlZpZXcsIHNlbGVjdG9yLCB3ZWJPcmln
aW4sIGxpc3RlbmVyKTsKICAgICAKICAgICBbd2ViT3JpZ2luIHJlbGVhc2VdOwotICAgIFtsaXN0
ZW5lciByZWxlYXNlXTsKLSAgICAKLSAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwotI2Vs
c2UKLSAgICBVTlVTRURfUEFSQU0oY29udGV4dCk7Ci0gICAgVU5VU0VEX1BBUkFNKGNhbGxiYWNr
KTsKLSNlbmRpZgogfQorI2VuZGlmCiAKIE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lv
biBXZWJOb3RpZmljYXRpb25DbGllbnQ6OmNoZWNrUGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0KQogewpAQCAtMTk5LDcgKzIyOSw4IEBAIE5vdGlmaWNhdGlvblByZXNl
bnRlcjo6UGVybWlzc2lvbiBXZWJOb3RpZmljYXRpb25DbGllbnQ6OmNoZWNrUGVybWlzc2lvbihT
Y3JpcHRFCiAKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKIEBpbXBsZW1lbnRhdGlvbiBXZWJO
b3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lcgotLSAoaWQpaW5pdFdpdGhDYWxsYmFjazooUGFzc1Jl
ZlB0cjxWb2lkQ2FsbGJhY2s+KWNhbGxiYWNrCisKKy0gKGlkKWluaXRXaXRoQ2FsbGJhY2s6KFBh
c3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiljYWxsYmFjawogewogICAg
IGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdF0pKQogICAgICAgICByZXR1cm4gbmlsOwpAQCAtMjA5
LDE0ICsyNDAsNDAgQEAgTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIFdlYk5vdGlm
aWNhdGlvbkNsaWVudDo6Y2hlY2tQZXJtaXNzaW9uKFNjcmlwdEUKICAgICByZXR1cm4gc2VsZjsK
IH0KIAorI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKy0gKGlkKWluaXRXaXRoVm9p
ZENhbGxiYWNrOihQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pY2FsbGJhY2sKK3sKKyAgICBpZiAo
IShzZWxmID0gW3N1cGVyIGluaXRdKSkKKyAgICAgICAgcmV0dXJuIG5pbDsKKworICAgIEFTU0VS
VChjYWxsYmFjayk7CisgICAgX3ZvaWRDYWxsYmFjayA9IGNhbGxiYWNrOworICAgIHJldHVybiBz
ZWxmOworfQorI2VuZGlmCisKIC0gKHZvaWQpYWxsb3cKIHsKLSAgICBfY2FsbGJhY2stPmhhbmRs
ZUV2ZW50KCk7CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorICAgIGlmIChfdm9p
ZENhbGxiYWNrKSB7CisgICAgICAgIF92b2lkQ2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYKKworICAgIF9jYWxsYmFjay0+aGFuZGxlRXZlbnQo
Tm90aWZpY2F0aW9uOjpzdHJpbmdGb3JQZXJtaXNzaW9uKE5vdGlmaWNhdGlvblByZXNlbnRlcjo6
UGVybWlzc2lvbkFsbG93ZWQpKTsKIH0KIAogLSAodm9pZClkZW55CiB7Ci0gICAgX2NhbGxiYWNr
LT5oYW5kbGVFdmVudCgpOworI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICBp
ZiAoX3ZvaWRDYWxsYmFjaykgeworICAgICAgICBfdm9pZENhbGxiYWNrLT5oYW5kbGVFdmVudCgp
OworICAgICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCisKKyAgICBfY2FsbGJhY2stPmhhbmRs
ZUV2ZW50KE5vdGlmaWNhdGlvbjo6c3RyaW5nRm9yUGVybWlzc2lvbihOb3RpZmljYXRpb25QcmVz
ZW50ZXI6OlBlcm1pc3Npb25EZW5pZWQpKTsKIH0KIAogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcAppbmRleCAxZGRkYTdj
OTgxNjBkNTQ5Yjk5MjNhZTI3ZTE0ZGU4N2Q4OTU3YjIyLi5mYjRmYzA3ZDkyNTlhMTU4NGNkOTYw
ZjkwMGRjYWExMGQ2NmM5NzJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
UGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcApAQCAtNTksMTEgKzU5LDEyIEBAIE5vdGlmaWNh
dGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyKFdlYlBhCiB7CiB9CiAKLXZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyOjpzdGFydFJlcXVlc3QoU2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwgUGFzc1JlZlB0
cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrKQordm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVx
dWVzdE1hbmFnZXI6OnN0YXJ0UmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2luLCBQYXNzUmVm
UHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4gY2FsbGJhY2spCiB7CiAjaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpCi0gICAgaWYgKHBlcm1pc3Npb25MZXZlbChvcmlnaW4pICE9IE5v
dGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbk5vdEFsbG93ZWQpIHsKLSAgICAgICAgY2Fs
bGJhY2stPmhhbmRsZUV2ZW50KCk7CisgICAgTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNz
aW9uIHBlcm1pc3Npb24gPSBwZXJtaXNzaW9uTGV2ZWwob3JpZ2luKTsKKyAgICBpZiAocGVybWlz
c2lvbiAhPSBOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb25Ob3RBbGxvd2VkKSB7Cisg
ICAgICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVudChOb3RpZmljYXRpb246OnN0cmluZ0ZvclBlcm1p
c3Npb24ocGVybWlzc2lvbikpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC03OCw2ICs3
OSwyMyBAQCB2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6c3RhcnRS
ZXF1ZXN0KFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sCiAjZW5kaWYKIH0KIAorI2lmIEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUykKK3ZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyOjpzdGFydFJlcXVlc3QoU2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwgUGFzc1JlZlB0cjxW
b2lkQ2FsbGJhY2s+IGNhbGxiYWNrKQoreworICAgIE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVy
bWlzc2lvbiBwZXJtaXNzaW9uID0gcGVybWlzc2lvbkxldmVsKG9yaWdpbik7CisgICAgaWYgKHBl
cm1pc3Npb24gIT0gTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uTm90QWxsb3dlZCkg
eworICAgICAgICBjYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKyAgICAKKyAgICB1aW50NjRfdCByZXF1ZXN0SUQgPSBnZW5lcmF0ZVJlcXVlc3RJRCgpOwor
ICAgIG1fb3JpZ2luVG9JRE1hcC5zZXQob3JpZ2luLCByZXF1ZXN0SUQpOworICAgIG1faWRUb09y
aWdpbk1hcC5zZXQocmVxdWVzdElELCBvcmlnaW4pOworICAgIG1faWRUb1ZvaWRDYWxsYmFja01h
cC5zZXQocmVxdWVzdElELCBjYWxsYmFjayk7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlUHJveHk6OlJlcXVlc3ROb3RpZmljYXRpb25QZXJtaXNzaW9uKHJlcXVlc3RJRCwgb3Jp
Z2luLT50b1N0cmluZygpKSk7Cit9CisjZW5kaWYKKwogdm9pZCBOb3RpZmljYXRpb25QZXJtaXNz
aW9uUmVxdWVzdE1hbmFnZXI6OmNhbmNlbFJlcXVlc3QoU2VjdXJpdHlPcmlnaW4qIG9yaWdpbikK
IHsKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKQEAgLTExMSwxMSArMTI5LDE5IEBAIHZvaWQg
Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpkaWRSZWNlaXZlTm90aWZpY2F0
aW9uUGVybWlzc2lvbkRlY2lzCiAgICAgaWYgKCFpc1JlcXVlc3RJRFZhbGlkKHJlcXVlc3RJRCkp
CiAgICAgICAgIHJldHVybjsKIAotICAgIFJlZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrID0g
bV9pZFRvQ2FsbGJhY2tNYXAudGFrZShyZXF1ZXN0SUQpOworI2lmIEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKKyAgICBSZWZQdHI8Vm9pZENhbGxiYWNrPiB2b2lkQ2FsbGJhY2sgPSBtX2lk
VG9Wb2lkQ2FsbGJhY2tNYXAudGFrZShyZXF1ZXN0SUQpOworICAgIGlmICh2b2lkQ2FsbGJhY2sp
IHsKKyAgICAgICAgdm9pZENhbGxiYWNrLT5oYW5kbGVFdmVudCgpOworICAgICAgICByZXR1cm47
CisgICAgfQorI2VuZGlmCisKKyAgICBSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxi
YWNrPiBjYWxsYmFjayA9IG1faWRUb0NhbGxiYWNrTWFwLnRha2UocmVxdWVzdElEKTsKICAgICBp
ZiAoIWNhbGxiYWNrKQogICAgICAgICByZXR1cm47CiAgICAgCi0gICAgY2FsbGJhY2stPmhhbmRs
ZUV2ZW50KCk7CisgICAgY2FsbGJhY2stPmhhbmRsZUV2ZW50KE5vdGlmaWNhdGlvbjo6c3RyaW5n
Rm9yUGVybWlzc2lvbihhbGxvd2VkID8gTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9u
QWxsb3dlZCA6IE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbkRlbmllZCkpOwogI2Vs
c2UKICAgICBVTlVTRURfUEFSQU0ocmVxdWVzdElEKTsKICAgICBVTlVTRURfUEFSQU0oYWxsb3dl
ZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5h
Z2VyLmgKaW5kZXggNTU3M2M2YTExMTllZjJiMDZlN2VlYzJlYzkxYzNiM2FkN2VjZjc1ZC4uYmEz
OWZiZjcyYWZlMDIwYTViYmZjM2QwNTE5NWIzN2IyOWZiYjM2NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaApAQCAtMjYsNiArMjYs
NyBAQAogI2lmbmRlZiBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJfaAogI2Rl
ZmluZSBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJfaAogCisjaW5jbHVkZSA8
V2ViQ29yZS9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaD4KICNpbmNsdWRlIDxXZWJD
b3JlL05vdGlmaWNhdGlvblByZXNlbnRlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVm9pZENhbGxi
YWNrLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KQEAgLTQ2LDcgKzQ3LDEwIEBAIGNsYXNz
IE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlciA6IHB1YmxpYyBSZWZDb3VudGVk
PE5vdGlmaWNhdGlvblBlcm1pCiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Tm90aWZp
Y2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyPiBjcmVhdGUoV2ViUGFnZSopOwogICAgIAor
ICAgIHZvaWQgc3RhcnRSZXF1ZXN0KFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luKiwgUGFzc1JlZlB0
cjxXZWJDb3JlOjpOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KTsKKyNpZiBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgdm9pZCBzdGFydFJlcXVlc3QoV2ViQ29yZTo6U2Vj
dXJpdHlPcmlnaW4qLCBQYXNzUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4pOworI2VuZGlm
CiAgICAgdm9pZCBjYW5jZWxSZXF1ZXN0KFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luKik7CiAgICAg
CiAgICAgLy8gU3luY2hyb25vdXMgY2FsbCB0byByZXRyaWV2ZSBwZXJtaXNzaW9uIGxldmVsIGZv
ciBnaXZlbiBzZWN1cml0eSBvcmlnaW4KQEAgLTU3LDcgKzYxLDEwIEBAIHB1YmxpYzoKIHByaXZh
dGU6CiAgICAgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKFdlYlBhZ2UqKTsK
ICAgICAKLSAgICBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxiYWNr
PiA+IG1faWRUb0NhbGxiYWNrTWFwOworICAgIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxXZWJD
b3JlOjpOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+ID4gbV9pZFRvQ2FsbGJhY2tNYXA7
CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorICAgIEhhc2hNYXA8dWludDY0X3Qs
IFJlZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJhY2s+ID4gbV9pZFRvVm9pZENhbGxiYWNrTWFwOwor
I2VuZGlmCiAgICAgSGFzaE1hcDxSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+LCB1aW50
NjRfdD4gbV9vcmlnaW5Ub0lETWFwOwogICAgIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxXZWJD
b3JlOjpTZWN1cml0eU9yaWdpbj4gPiBtX2lkVG9PcmlnaW5NYXA7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xp
ZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90
aWZpY2F0aW9uQ2xpZW50LmNwcAppbmRleCA5MGViMTYxZjI2Y2RiMzMwMzYxMWI0ZWE4ZTYwNThl
NjllYmM1NDAzLi5kYzViYjdhMjNmODZlMzQ2NTdjYmFlMmQ1NDQyMTUyMzE1NGQxOWM0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlm
aWNhdGlvbkNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuY3BwCkBAIC03Nyw2ICs3NywxMSBAQCB2b2lk
IFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogY29udGV4dCwgUAogICAgIG1fcGFnZS0+bm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyKCktPnN0YXJ0UmVxdWVzdChjb250ZXh0LT5zZWN1cml0eU9yaWdpbigpLCBj
YWxsYmFjayk7CiB9CiAKK3ZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlz
c2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPE5vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjaz4gY2FsbGJhY2spCit7CisgICAgbV9wYWdlLT5ub3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKS0+c3RhcnRSZXF1ZXN0KGNvbnRleHQtPnNl
Y3VyaXR5T3JpZ2luKCksIGNhbGxiYWNrKTsKK30KKwogdm9pZCBXZWJOb3RpZmljYXRpb25DbGll
bnQ6OmNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0KQogewogICAgIG1fcGFnZS0+bm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5h
Z2VyKCktPmNhbmNlbFJlcXVlc3QoY29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNh
dGlvbkNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJOb3RpZmljYXRpb25DbGllbnQuaAppbmRleCAxNDdhODhhYzEwZGQ4OWM1OGM4MzYzMGU2NWFm
NGM3NDhmMGUyNTgxLi4xNDk0ZjlkMjc4NTU4MTE2ZjE4YmM5OWUzYmY2YjMxNmMzYjQwNTY0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5v
dGlmaWNhdGlvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNs
dWRlIDxXZWJDb3JlL05vdGlmaWNhdGlvblByZXNlbnRlci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CitjbGFzcyBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s7CiBjbGFzcyBTY3JpcHRF
eGVjdXRpb25Db250ZXh0OwogY2xhc3MgVm9pZENhbGxiYWNrOwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpAQCAtNTEsOSArNTIsMTAgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZp
Y2F0aW9uT2JqZWN0RGVzdHJveWVkKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiopIE9WRVJSSURFOwog
ICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25Db250cm9sbGVyRGVzdHJveWVkKCkgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4pIE9WRVJS
SURFOworICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2s+KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsUmVxdWVzdHNG
b3JQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbiBjaGVja1Blcm1p
c3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIE9WRVJSSURFOwotICAgIAor
CiAgICAgV2ViUGFnZSogbV9wYWdlOwogfTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131154</attachid>
            <date>2012-03-09 22:50:33 -0800</date>
            <delta_ts>2012-03-09 23:01:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80485-20120309225149.patch</filename>
            <type>text/plain</type>
            <size>58270</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMzcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRlM2FhZWU2ODE2NmEx
ODBlMjljOGY4OTk4NzU3M2I5Y2UyNjg4MS4uZWUxNjNhYWM3NWY1OGIxMzU0YjhiYjA3NTE3YmY0
MzhmOWI5MGE2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDEyLTAzLTA5ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVu
Y3Rpb25zIHRvIE5vdGlmaWNhdGlvbiBmcm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzEwOTY1NDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsOiBCZWNhdXNl
IHRoZSBmdW5jdGlvbnMgYXJlIG9uIHRoZSBOb3RpZmljYXRpb24gb2JqZWN0IGl0c2VsZiwgd2Ug
bmVlZCB0bworICAgICAgICBkZWNsYXJlIGl0IGEgY29uc3RydWN0b3Igc28gdGhhdCBpdCBpcyBh
Y2Nlc3NpYmxlIGZyb20gRE9NV2luZG93LgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDog
QWRkIE5vdGlmaWNhdGlvbiBjb25zdHJ1Y3Rvci4KKworICAgICAgICAqIG5vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6cGVybWlz
c2lvbkxldmVsKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6c3RyaW5nRm9yUGVy
bWlzc2lvbik6IERlY2xhcmUgdGhyZWUgc3RhdGljIGxvY2FscyBmb3IgZWFjaCBvZiB0aGUgdmFs
dWVzLCBhbmQgcmV0dXJuCisgICAgICAgIGJhc2VkIG9uIHRoZSBwZXJtaXNzaW9uIGVudW0uCisg
ICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb246OnJlcXVlc3RQZXJtaXNzaW9uKTogRm9yd2Fy
ZCByZXF1ZXN0IHRvIGNsaWVudC4KKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5oOgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2suaDogQWRkZWQuCisgICAgICAgIChOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sp
OgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrOjp+Tm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrKToKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGw6IEFkZGVkLgorCisgICAgICAgICogbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwOiBXcmFwIHBlcm1pc3Npb24gZnVuY3Rp
b25zIGluIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5oOiBXcmFwIHBlcm1pc3Npb24gZnVuY3Rpb25zIGluIEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbkNlbnRlci5pZGw6IFdyYXAgcGVybWlzc2lvbiBmdW5jdGlvbnMgaW4gRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQorICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
UHJlc2VudGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXI6OnJl
cXVlc3RQZXJtaXNzaW9uKTogQWRkIG5ldyByZXF1ZXN0UGVybWlzc2lvbigpIGZ1bmN0aW9uIGZv
ciBuZXcKKyAgICAgICAgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrIHR5cGUuIE1ha2Ug
aXQgYSBzdHViIGltcGxlbWVudGF0aW9uIHVudGlsIGFsbCBwb3J0cyBoYXZlIGFkb3B0ZWQuCisK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcDog
RW5jYXBzdWxhdGUgd2l0aCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpIHNpbmNlCisgICAg
ICAgIHRoZSByZXF1ZXN0UGVybWlzc2lvbigpIGZ1bmN0aW9uIGlzIG1vdmluZyB0byBOb3RpZmlj
YXRpb24uCisgICAgICAgICogYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3Rv
bS5jcHA6IEN1c3RvbSBpbXBsZW1lbnRhdGlvbiBvZiByZXF1ZXN0UGVybWlzc2lvbigpLgorICAg
ICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHA6IEN1c3Rv
bSBpbXBsZW1lbnRhdGlvbiBvZiByZXF1ZXN0UGVybWlzc2lvbigpLgorCisgICAgICAgICogRGVy
aXZlZFNvdXJjZXMubWFrZTogQWRkIG5ldyBjYWxsYmFjayBpZGwuCisgICAgICAgICogVXNlSlND
LmNtYWtlOiBJbmNsdWRlIEpTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcAorICAgICAgICAqIFVzZVY4
LmNtYWtlOiBJbmNsdWRlIFY4Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcAorICAgICAgICAqIFRhcmdl
dC5wcmk6IEluY2x1ZGUgSlNOb3RpZmljYXRpb25DdXN0b20uY3BwLCBWOE5vdGlmaWNhdGlvbkN1
c3RvbS5jcHAKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IEluY2x1ZGUgSlNOb3RpZmljYXRpb25D
dXN0b20uY3BwLCBWOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAsIEpTTm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrLntoLGNwcH0KKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvajogSW5jbHVkZSBKU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAsIEpTTm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrLntoLGNwcH0KKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjogRXhwb3J0
IHN0cmluZ0ZvclBlcm1pc3Npb24oKS4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6IEFkZCBjYWxsYmFjayBpZGwsIGgsIGFuZCBjcHAgZmlsZXMuCisKIDIwMTIt
MDMtMDkgIFJvYmVydCBLcm9lZ2VyICA8cmprcm9lZ2VAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IEhhbmRsZSBtb3JlIEdlc3R1cmUqIGV2ZW50cyBieSBwZXJmb3JtaW5nIHNjcm9sbHMgb24gdGhl
IGNvcnJlY3QgdGFyZ2V0IFNjcm9sbGFibGVBcmVhIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGFiNzM3
MWUyMTQ2MmFmNDgwMzRhYTgyZjgzZTVkYjYzNzE5ZjVlNGQuLjMxMjMxNDNjMTE2ZWEwYzU4YTM3
OTY2ZWEwNGY0ZmQ4YjZkMWJlOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAor
MjAxMi0wMy0wOSAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKKyAgICAgICAgTWlncmF0
ZSBwZXJtaXNzaW9uIGZ1bmN0aW9ucyB0byBOb3RpZmljYXRpb24gZnJvbSBOb3RpZmljYXRpb25D
ZW50ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgw
NDg1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDk2NTQ1OD4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYk5vdGlm
aWNhdGlvbkNsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlv
bkNsaWVudC5tbTogQWRkIG5ldyBtZW1iZXIgdmFyaWFibGUgdG8gaGFuZGxlIGJvdGgga2luZHMg
b2YgY2FsbGJhY2tzLgorICAgICAgICAoV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVy
bWlzc2lvbik6IEFkZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgdmVyc2lvbiBvZiB0
aGUgc2FtZQorICAgICAgICBmdW5jdGlvbi4KKyAgICAgICAgKC1bV2ViTm90aWZpY2F0aW9uUG9s
aWN5TGlzdGVuZXIgaW5pdFdpdGhDYWxsYmFjazpdKToKKyAgICAgICAgKC1bV2ViTm90aWZpY2F0
aW9uUG9saWN5TGlzdGVuZXIgaW5pdFdpdGhWb2lkQ2FsbGJhY2s6XSk6CisgICAgICAgICgtW1dl
Yk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGFsbG93XSk6CisgICAgICAgICgtW1dlYk5vdGlm
aWNhdGlvblBvbGljeUxpc3RlbmVyIGRlbnldKToKKwogMjAxMi0wMy0wOSAgRW5yaWNhIENhc3Vj
Y2kgIDxlbnJpY2FAYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgV2ViTlNVUkxFeHRyYXMgY29k
ZSBkb3duIHRvIFdlYkNvcmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTVlYTNjZDRjMWMzMDE0NTY2YjA2OTc2
Yjk0YmVlMDk4YTRiN2ZjOC4uMWI5ZDE3MzJkM2EyYmZiOTc4MTQyYmQ2NmU2ZTQ0NGQwZTRkYzIz
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTAzLTA5ICBKb24gTGVlICA8am9u
bGVlQGFwcGxlLmNvbT4KKworICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVuY3Rpb25zIHRv
IE5vdGlmaWNhdGlvbiBmcm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzEwOTY1NDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlcjo6c3RhcnRSZXF1ZXN0KToKKyAgICAgICAgKFdlYktpdCk6CisgICAg
ICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6ZGlkUmVj
ZWl2ZU5vdGlmaWNhdGlvblBlcm1pc3Npb25EZWNpc2lvbik6CisgICAgICAgICogV2ViUHJvY2Vz
cy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oOgor
ICAgICAgICAoTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pc3Npb24p
OgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChX
ZWJOb3RpZmljYXRpb25DbGllbnQpOgorCiAyMDEyLTAzLTA5ICBWaWF0Y2hlc2xhdiBPc3RhcGVu
a28gIDxvc3RhcGVua28udmlhdGNoZXNsYXZAbm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gW1dL
Ml0gU2hvdWxkbid0IHVzZSBpdGVtIGZvciBjbGlwcGluZyByZWN0IGNhbGN1bGF0aW9uIGluIHBh
aW50IG5vZGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAyNDYwNjgzM2E1NzZk
OGQ3ZmI1ODFjMWIzNjVhZjZkNjA4ZDIxYzY1Li40NDNmNmYyZDFiMWU0ZjZkMjBmNjRjMjNhMzBh
ZjQyNDNjZTM5M2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTEsNCArMSw0
IEBACi0jIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAxMiBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwg
V2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4gCiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1l
cm9uIE1jQ29ybWFjayA8Y2FtQG1jYy5pZC5hdT4KICMKQEAgLTM1NSw2ICszNTUsNyBAQCBCSU5E
SU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRp
b25DYWNoZS5pZGwgXAogICAgICQoV2ViQ29yZSkvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24u
aWRsIFwKICAgICAkKFdlYkNvcmUpL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlk
bCBcCisgICAgJChXZWJDb3JlKS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9BYnN0cmFjdFZpZXcuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL3BhZ2UvQmFySW5mby5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9Db25z
b2xlLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBmOGYyYjVhMGE2YjMxYWJkMzczOTQxYTEwYTY5ZDYx
NzBhNTA0YWZjLi5hY2E1M2M0ZjhhNDIwNDQzNGRhYmQ5Mjk5NmZlY2UyOWJlY2M2NGI5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1Rh
cmdldC5wcmkKQEAgLTIzMyw2ICsyMzMsNyBAQCB2OCB7CiAgICAgICAgIFwKICAgICAgICAgYmlu
ZGluZ3Mvdjgvc3BlY2lhbGl6YXRpb24vVjhCaW5kaW5nU3RhdGUuY3BwXAogICAgICAgICBcCisg
ICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAgXAogICAg
ICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DZW50ZXJDdXN0b20uY3BwIFwK
ICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q29uc29sZUN1c3RvbS5jcHAgXAogICAgICAg
ICBiaW5kaW5ncy92OC9jdXN0b20vVjhTUUxUcmFuc2FjdGlvblN5bmNDdXN0b20uY3BwIFwKQEAg
LTM0MSw2ICszNDIsNyBAQCB2OCB7CiAgICAgICAgIGJpbmRpbmdzL2pzL0pTTm9kZUZpbHRlckN1
c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU05vZGVJdGVyYXRvckN1c3RvbS5jcHAg
XAogICAgICAgICBiaW5kaW5ncy9qcy9KU05vZGVMaXN0Q3VzdG9tLmNwcCBcCisgICAgICAgIGJp
bmRpbmdzL2pzL0pTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pz
L0pTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU1Bv
cFN0YXRlRXZlbnRDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNQcm9jZXNzaW5n
SW5zdHJ1Y3Rpb25DdXN0b20uY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1VzZUpT
Qy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQppbmRleCAwOTAzOGRkNjg0ODc3
ZTFmODIwMjE5Mjc1ZTc4MmViMTMwODNhMjY2Li43ZTY3ZjMyNzQ2MDQwOGMyNzhmODBlNzg4YzU1
N2Y2YjY0OTc0NDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKKysr
IGIvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCkBAIC0xMDksNiArMTA5LDcgQEAgTElTVChB
UFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvanMvSlNOb2RlRmlsdGVyQ3VzdG9t
LmNwcAogICAgIGJpbmRpbmdzL2pzL0pTTm9kZUl0ZXJhdG9yQ3VzdG9tLmNwcAogICAgIGJpbmRp
bmdzL2pzL0pTTm9kZUxpc3RDdXN0b20uY3BwCisgICAgYmluZGluZ3MvanMvSlNOb3RpZmljYXRp
b25DdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNw
cAogICAgIGJpbmRpbmdzL2pzL0pTUG9wU3RhdGVFdmVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5n
cy9qcy9KU1Byb2Nlc3NpbmdJbnN0cnVjdGlvbkN1c3RvbS5jcHAKQEAgLTIyOCw2ICsyMjksNyBA
QCBFTkRJRiAoKQogSUYgKEVOQUJMRV9OT1RJRklDQVRJT05TKQogICAgIExJU1QoQVBQRU5EIFdl
YkNvcmVfU09VUkNFUwogICAgICAgICBiaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25z
Q3VzdG9tLmNwcAorICAgICAgICBiaW5kaW5ncy9qcy9KU05vdGlmaWNhdGlvbnNDdXN0b20uY3Bw
CiAgICAgKQogRU5ESUYgKCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVXNlVjguY21h
a2UgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQppbmRleCBiOGY1ZmQyNjdlYTVhM2ViOTJk
ODkxOWRhMTRhZGQ1MzQ2YWY3OGUwLi4wYWQ1ZjkzMzlkM2Y2NDVmMGI2NDkyMTBhNmVlM2Y1MzUz
YTUxYTczIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQpAQCAtMTM3LDYgKzEzNyw3IEBAIExJU1QoQVBQRU5EIFdl
YkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZXNDb2xsZWN0
aW9uLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vZGVDdXN0b20uY3BwCiAgICAgYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUxpc3RDdXN0b20uY3BwCisgICAgYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5v
dGlmaWNhdGlvbkNlbnRlckN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhQZXJm
b3JtYW5jZUN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhQb3BTdGF0ZUV2ZW50
Q3VzdG9tLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA3Y2FkYmNmMGFmYzA5MzBiYzk2Nzlh
MTA5MTNmN2JlZDVlMzNhNmZiLi4wNWRmMGJkY2JjNWQwNTBmYmQwYWFiNjkyMzQxZTRmNzI2OTUx
MzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMjEyOCw2ICsyMTI4LDcgQEAgX19aTjdXZWJD
b3JlMTJOb3RpZmljYXRpb24xN2Rpc3BhdGNoU2hvd0V2ZW50RXYKIF9fWk43V2ViQ29yZTEyTm90
aWZpY2F0aW9uMThkaXNwYXRjaENsaWNrRXZlbnRFdgogX19aTjdXZWJDb3JlMTJOb3RpZmljYXRp
b24xOGRpc3BhdGNoQ2xvc2VFdmVudEV2CiBfX1pON1dlYkNvcmUxMk5vdGlmaWNhdGlvbjE4ZGlz
cGF0Y2hFcnJvckV2ZW50RXYKK19fWk43V2ViQ29yZTEyTm90aWZpY2F0aW9uMTlzdHJpbmdGb3JQ
ZXJtaXNzaW9uRU5TXzIxTm90aWZpY2F0aW9uUHJlc2VudGVyMTBQZXJtaXNzaW9uRQogI2VuZGlm
CiAKICNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDA0
NzhjZmE5NDY4N2I1ZDlmMzQyNDcyMjk5OTgxOTNlNGU5MTkyOWUuLjMyYTE5YTYxOTNkNTliNjhl
ZTZlNDg1ZDAwNzljOGNmOTZlMWMzM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTE3NzAsNiArMTc3
MCw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcCcs
CiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNOb2RlSXRlcmF0b3JDdXN0b20uY3BwJywKICAg
ICAgICAgICAgICdiaW5kaW5ncy9qcy9KU05vZGVMaXN0Q3VzdG9tLmNwcCcsCisgICAgICAgICAg
ICAnYmluZGluZ3MvanMvSlNOb3RpZmljYXRpb25DdXN0b20uY3BwJywKICAgICAgICAgICAgICdi
aW5kaW5ncy9qcy9KU1BlZXJDb25uZWN0aW9uQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvanMvSlNQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcCcsCkBAIC0yMDc3LDYgKzIwNzgsNyBA
QAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZXNDb2xsZWN0aW9u
LmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vZGVDdXN0b20uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlTGlzdEN1c3RvbS5jcHAnLAor
ICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAn
LAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkNlbnRlckN1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFBlcmZvcm1hbmNl
Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4UG9wU3RhdGVF
dmVudEN1c3RvbS5jcHAnLApAQCAtNzUwMSw2ICs3NTAzLDggQEAKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uLmgnLAogICAg
ICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb3RpZmlj
YXRpb25DZW50ZXIuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uQ2VudGVyLmgnLAorICAgICAgICAgICAgJzwoUFJP
RFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2suY3BwJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgnLAogICAgICAgICAg
ICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPRVNTdGFuZGFyZERl
cml2YXRpdmVzLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCcsCiAgICAgICAgICAgICAnPChQ
Uk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU09FU1RleHR1cmVGbG9hdC5jcHAn
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAz
MDFjMDY2YTliN2M3ODIyNGY5ODgyM2UyMGY2MzE2M2U1OTg0NGZlLi4xZjBkNjViODE3Mjg2N2Vl
YzkxZDkxYTNiZjE0ZmYzOWI5YmQ1NmZlIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMTIwOTAsNiArMTIwOTAsNjIgQEAKIAkJCQk+CiAJCQk8
L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjay5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4K
KwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0i
UmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJ
CQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVi
dWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJ
CQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUK
KwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0
TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCIK
KwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1
cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU09wZXJh
dGlvbk5vdEFsbG93ZWRFeGNlcHRpb24uY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTY3Mjcz
LDYgKzY3MzI5LDU4IEBACiAJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJPC9GaWxlPgog
CQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNOb3RpZmljYXRp
b25DdXN0b20uY3BwIgorCQkJCQk+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFt
ZT0iRGVidWd8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4K
KwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJ
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJ
TmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJ
Lz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJ
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQWxsfFdp
bjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9v
bAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlByb2R1
Y3Rpb258V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJ
CQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0
aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcCIKIAkJ
CQkJPgogCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmZDY5ZGM1NGMwMTQ4NjQzMDM4MDU0
YWM4ZTAzYjJkZGM0MzVlZmRhLi5hMDY1NmExNGMyYTNiNTM1YmRhNDA0YWFmYWExN2U0MzQ2MWVk
ZDZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC04OTksNiArODk5LDggQEAKIAkJMzFDMEZGNEMwRTRDRUZERDAwN0Q2RkU1IC8q
IERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzFDMEZGNDYwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRy
YW5zaXRpb25FdmVudC5oICovOyB9OwogCQkzMUMwRkY0RDBFNENFRkREMDA3RDZGRTUgLyogRE9N
V2ViS2l0VHJhbnNpdGlvbkV2ZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMzFDMEZGNDcwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5z
aXRpb25FdmVudC5tbSAqLzsgfTsKIAkJMzFDMEZGNEUwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdl
YktpdFRyYW5zaXRpb25FdmVudEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzMUMwRkY0ODBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0
VHJhbnNpdGlvbkV2ZW50SW50ZXJuYWwuaCAqLzsgfTsKKwkJMzFFQzFFMjgxNEZGNjBFRTAwQzk0
NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRUMxRTI2MTRGRjYwRUUwMEM5NDY2
MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5jcHAgKi87IH07CisJCTMxRUMx
RTI5MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFFQzFFMjcx
NEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggKi87
IH07CiAJCTMxRkIxQTU3MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25DbGllbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTRGMTIw
QTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25DbGllbnQuaCAqLzsgfTsKIAkJMzFGQjFBNTgx
MjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNTAxMjBBNUQwNjAwREMw
MkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwICovOyB9OwogCQkzMUZCMUE1OTEyMEE1
RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNTExMjBBNUQwNjAwREMwMkEwIC8q
IERldmljZU1vdGlvbkNvbnRyb2xsZXIuaCAqLzsgfTsKQEAgLTkwOSw2ICs5MTEsOCBAQAogCQkz
MUZCMUE2NTEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE2MzEyMEE1RDNG
MDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgKi87IH07CiAJCTMxRkIxQTY2MTIw
QTVEM0YwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE2NDEyMEE1RDNGMDBEQzAyQTAgLyog
SlNEZXZpY2VNb3Rpb25FdmVudC5oICovOyB9OwogCQkzMUZCMUE2QzEyMEE1RDY5MDBEQzAyQTAg
LyogSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE2QjEyMEE1RDY5MDBEQzAyQTAgLyogSlNEZXZp
Y2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgKi87IH07CisJCTMxRkU2REZBMTUwMDRDMkEwMDA0RUJD
NCAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRUMxREFDMTRGRjI2RUEwMEM5NDY2MiAvKiBO
b3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQkzMUZFNkU2RDE1MDFBM0JGMDAwNEVCQzQgLyogSlNO
b3RpZmljYXRpb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMzFGRTZFNkMxNTAxQTNCRjAwMDRFQkM0IC8qIEpTTm90aWZpY2F0aW9uQ3Vz
dG9tLmNwcCAqLzsgfTsKIAkJMzMxNEFDRUIxMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9u
QmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
MzE0QUNFOTEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25CYXNlLmNwcCAqLzsgfTsKIAkJ
MzMxNEFDRUMxMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzMxNEFDRUExMDg5MjA4NjAwMEYw
RTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5oICovOyB9OwogCQkzMzUwM0M5QTEwMTc5QTc0MDAzQjQ3
RTEgLyogTm90aWZpY2F0aW9uUHJlc2VudGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzMzUwM0M5OTEwMTc5QTc0MDAzQjQ3RTEgLyogTm90aWZpY2F0
aW9uUHJlc2VudGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKQEAgLTc3NTQsNiArNzc1OCwxMCBAQAogCQkzMUMwRkY0NjBFNENFRkREMDA3RDZGRTUg
LyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkzMUMwRkY0NzBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2
ZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NV2ViS2l0
VHJhbnNpdGlvbkV2ZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUMwRkY0
ODBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50SW50ZXJuYWwuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50
SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFFQzFENTAxNEZFRkQw
ODAwQzk0NjYyIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBuYW1lID0gTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbDsgcGF0aCA9
IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFFQzFEQUMxNEZGMjZFQTAwQzk0NjYyIC8qIE5vdGlm
aWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uQ2FsbGJhY2suaDsgcGF0aCA9IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRUMxRTI2
MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRUMxRTI3
MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUZCMUE0RjEyMEE1RDA2
MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IERldmljZU1vdGlvbkNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkzMUZCMUE1MDEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ29udHJvbGxlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEZXZpY2VNb3Rpb25Db250
cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFGQjFBNTExMjBBNUQw
NjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRGV2aWNlTW90aW9uQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtNzc2NSw2ICs3NzczLDcgQEAKIAkJMzFGQjFBNjMxMjBBNUQzRjAwREMw
MkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNEZXZpY2VNb3Rpb25FdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTMxRkIxQTY0MTIwQTVEM0YwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRGV2aWNlTW90aW9uRXZlbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFGQjFBNkIxMjBBNUQ2OTAwREMwMkEw
IC8qIEpTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTMxRkU2RTZDMTUwMUEzQkYwMDA0RUJDNCAvKiBKU05vdGlmaWNh
dGlvbkN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05v
dGlmaWNhdGlvbkN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzMTRB
Q0U5MTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFeGNlcHRpb25CYXNlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMzMxNEFDRUExMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9u
QmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0V4Y2VwdGlvbkJhc2Uu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzMzRjcwNEUwRkI0OUNBMjAwOEUxMkE2
IC8qIE5vdGlmaWNhdGlvbi5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gTm90aWZpY2F0aW9u
LmlkbDsgcGF0aCA9IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTE0Mzk1LDYgKzE0NDA0LDggQEAKIAkJCQkzMTI4Q0E2NzE0NzMz
MTUyMDA3NEM3MkEgLyogTm90aWZpY2F0aW9uQ29udHJvbGxlci5jcHAgKi8sCiAJCQkJMzEyOENB
NkExNDczMzE2MzAwNzRDNzJBIC8qIE5vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaCAqLywKIAkJCQkz
MzUwM0M5OTEwMTc5QTc0MDAzQjQ3RTEgLyogTm90aWZpY2F0aW9uUHJlc2VudGVyLmggKi8sCisJ
CQkJMzFFQzFENTAxNEZFRkQwODAwQzk0NjYyIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxs
YmFjay5pZGwgKi8sCisJCQkJMzFFQzFEQUMxNEZGMjZFQTAwQzk0NjYyIC8qIE5vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjay5oICovLAogCQkJKTsKIAkJCW5hbWUgPSBub3RpZmljYXRpb25z
OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTE0NDA2LDYgKzE0NDE3LDggQEAKIAkJ
CQkzMzUwM0NBMDEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb24uaCAqLywKIAkJCQkz
MzUwM0NBMTEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb25DZW50ZXIuY3BwICovLAog
CQkJCTMzNTAzQ0EyMTAxNzlBRDcwMDNCNDdFMSAvKiBKU05vdGlmaWNhdGlvbkNlbnRlci5oICov
LAorCQkJCTMxRUMxRTI2MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjay5jcHAgKi8sCisJCQkJMzFFQzFFMjcxNEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggKi8sCiAJCQkpOwogCQkJbmFtZSA9IE5vdGlm
aWNhdGlvbnM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTk2NzMsNiArMTk2ODYs
NyBAQAogCQkJCUJDQjc3MzYwMEMxNzg1M0QwMDEzMkJBNCAvKiBKU05vZGVGaWx0ZXJDdXN0b20u
Y3BwICovLAogCQkJCTFBNzUwREQzMEE5MEU3MjkwMDBGRjIxNSAvKiBKU05vZGVJdGVyYXRvckN1
c3RvbS5jcHAgKi8sCiAJCQkJQkNEOUMyNjEwQzE3QUE2NzAwNUM5MEEyIC8qIEpTTm9kZUxpc3RD
dXN0b20uY3BwICovLAorCQkJCTMxRkU2RTZDMTUwMUEzQkYwMDA0RUJDNCAvKiBKU05vdGlmaWNh
dGlvbkN1c3RvbS5jcHAgKi8sCiAJCQkJQTg1RjIyMDgxNDMwMzc3RDAwN0NDODg0IC8qIEpTUG9w
U3RhdGVFdmVudEN1c3RvbS5jcHAgKi8sCiAJCQkJRTFBRDEyRDUxMjk1RDBCRDAwQUNBOTg5IC8q
IEpTUHJvY2Vzc2luZ0luc3RydWN0aW9uQ3VzdG9tLmNwcCAqLywKIAkJCQk0OTk4QUVEMzEzRkM0
MTdGMDA5MEIxQUEgLyogSlNSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFja0N1c3RvbS5jcHAg
Ki8sCkBAIC0yNDU2Niw2ICsyNDU4MCw4IEBACiAJCQkJRTFDREU5MjIxNTAxOTE2OTAwODYyQ0M1
IC8qIEFzeW5jRmlsZVN0cmVhbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDUwQ0VCRjExNTA3M0JC
RTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUM1QjRD
MjREMTUwOTIzNkMwMEE2RUYzNyAvKiBXZWJDb3JlTlNVUkxFeHRyYXMuaCBpbiBIZWFkZXJzICov
LAorCQkJCTMxRUMxRTI5MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFGRTZERkExNTAwNEMyQTAwMDRFQkM0
IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0y
NzU0NCw2ICsyNzU2MCw4IEBACiAJCQkJNDUwQ0VCRjAxNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVs
YWJsZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzVCNEMyNEUxNTA5MjM2QzAwQTZF
RjM3IC8qIFdlYkNvcmVOU1VSTEV4dHJhcy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTlCMkI3QUMx
MTUwOTg1MEEwMDg5MzJDQyAvKiBNaWNyb0RhdGFJdGVtVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMzFFQzFFMjgxNEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lv
bkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxRkU2RTZEMTUwMUEzQkYwMDA0RUJD
NCAvKiBKU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQly
dW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1
c3RvbS5jcHAKaW5kZXggMTZhOTYyYzU2MjlhMzU5ZDVkYzdjZThlMjJiYWQ4NTA2NWU5MTJjZS4u
YTM2MjBiODliNzJkOGNmOWY2MzEzM2I4NjZiYmUwOTRiNWMyMWJiMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3RvbS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1
c3RvbS5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQpAQCAtMzAsMTQgKzMxLDEyIEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSAmJiBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUg
IkpTQ3VzdG9tVm9pZENhbGxiYWNrLmgiCiAjaW5jbHVkZSAiSlNFdmVudExpc3RlbmVyLmgiCi0j
aW5jbHVkZSAiSlNOb3RpZmljYXRpb24uaCIKICNpbmNsdWRlICJKU05vdGlmaWNhdGlvbkNlbnRl
ci5oIgotI2luY2x1ZGUgIk5vdGlmaWNhdGlvbi5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNl
bnRlci5oIgogI2luY2x1ZGUgPHJ1bnRpbWUvRXJyb3IuaD4KIApAQCAtNjgsNiArNjcsNiBAQCBK
U1ZhbHVlIEpTTm90aWZpY2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbihFeGVjU3RhdGUq
IGV4ZWMpCiAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiB9CiAKLX0gLy8gbmFtZXNwYWNlCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykK
KyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgJiYgIUVOQUJMRShMRUdBQ1lfTk9USUZJ
Q0FUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm90aWZp
Y2F0aW9uQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm90aWZpY2F0
aW9uQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNDNkMzhiODAyODRhYTgxYWIxNTZkN2I3MzYyN2E4
MzA3MmJiYmNmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNOb3RpZmljYXRpb25DdXN0b20uY3BwCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiSlNOb3RpZmljYXRpb24uaCIKKworI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorCisj
aW5jbHVkZSAiQ2FsbGJhY2tGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTTm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrLmgiCisjaW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgorCit1c2luZyBu
YW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0pTVmFsdWUgSlNOb3RpZmlj
YXRpb246OnJlcXVlc3RQZXJtaXNzaW9uKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICAvLyBBcmd1
bWVudHM6IE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaworICAgIGlmICghZXhlYy0+YXJn
dW1lbnQoMCkuaXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMp
OworICAgIAorICAgIFJlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNhbGxi
YWNrID0gY3JlYXRlRnVuY3Rpb25Pbmx5Q2FsbGJhY2s8SlNOb3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2s+KGV4ZWMsIHN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4
aWNhbEdsb2JhbE9iamVjdCgpKSwgZXhlYy0+YXJndW1lbnQoMCkpOworICAgIGlmIChleGVjLT5o
YWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisgICAgCisgICAg
QVNTRVJUKGNhbGxiYWNrKTsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRDb250
ZXh0ID0gc3RhdGljX2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFs
T2JqZWN0KCkpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CisgICAgTm90aWZpY2F0aW9uOjpy
ZXF1ZXN0UGVybWlzc2lvbihzY3JpcHRDb250ZXh0LCBjYWxsYmFjay5yZWxlYXNlKCkpOworICAg
IHJldHVybiBqc1VuZGVmaW5lZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DdXN0b20uY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmMyMjhmNWU1MTQyMzNjZDc2MDQ0YjMyZjM2NGE1ZTk0MDQzMDA2Y2MKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25D
dXN0b20uY3BwCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBw
bGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKKyNpbmNsdWRlICJWOE5vdGlmaWNhdGlvbi5oIgorCisjaW5jbHVkZSAiRXhjZXB0
aW9uQ29kZS5oIgorI2luY2x1ZGUgIlY4Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4Tm90aWZp
Y2F0aW9uOjpyZXF1ZXN0UGVybWlzc2lvbihjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQorewor
ICAgIElOQ19TVEFUUyhMIkRPTS5Ob3RpZmljYXRpb24uUmVxdWVzdFBlcm1pc3Npb24oKSIpOwor
CisgICAgTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24gPSBWOE5vdGlmaWNhdGlvbjo6dG9OYXRp
dmUoYXJncy5Ib2xkZXIoKSk7CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCA9
IG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworCisgICAgYm9vbCBzdWNj
ZWVkZWQgPSBmYWxzZTsKKyAgICBSZWZQdHI8VjhOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2s+IGNhbGxiYWNrID0gY3JlYXRlRnVuY3Rpb25Pbmx5Q2FsbGJhY2s8VjhOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uQ2FsbGJhY2s+KGFyZ3NbMF0sIHN1Y2NlZWRlZCk7CisgICAgaWYgKCFzdWNjZWVk
ZWQpCisgICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CisgICAgQVNTRVJUKGNhbGxiYWNr
KTsKKworICAgIE5vdGlmaWNhdGlvbjo6cmVxdWVzdFBlcm1pc3Npb24oY29udGV4dCwgY2FsbGJh
Y2sucmVsZWFzZSgpKTsKKyAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAppbmRleCA3NDk2NGRj
NzdhZGFkMDgxY2IwZWYxOWNhNDRhZDRhNDhlMDg3ZTcyLi45OGEyMmMxY2JiZmU3NDAwYTAzNjE5
ZjU1YTgwNDNhNmU3NDY5ZmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb24uY3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAw
OSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA5
LCAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAwOSwgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zNSwxMSArMzUsMTQgQEAKIAogI2luY2x1
ZGUgIk5vdGlmaWNhdGlvbi5oIgogCisjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAi
RG9jdW1lbnQuaCIKICNpbmNsdWRlICJFcnJvckV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1l
cy5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNlbnRlci5oIgogI2luY2x1ZGUgIk5vdGlmaWNh
dGlvbkNvbnRlbnRzLmgiCisjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ29udHJvbGxlci5oIgorI2lu
Y2x1ZGUgIk5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIgogI2luY2x1ZGUgIk5vdGlm
aWNhdGlvblByZXNlbnRlci5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1
ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKQEAgLTIwMSw2ICsyMDQsMzggQEAgdm9pZCBOb3RpZmlj
YXRpb246OnN0b3BMb2FkaW5nKCkKICAgICBtX2xvYWRlci0+Y2FuY2VsKCk7CiB9CiAKK2NvbnN0
IFN0cmluZyYgTm90aWZpY2F0aW9uOjpwZXJtaXNzaW9uTGV2ZWwoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogY29udGV4dCkKK3sKKyAgICBBU1NFUlQoY29udGV4dC0+aXNEb2N1bWVudCgpKTsKKyAg
ICBBU1NFUlQoc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KS0+cGFnZSgpKTsKKyAgICBy
ZXR1cm4gc3RyaW5nRm9yUGVybWlzc2lvbihOb3RpZmljYXRpb25Db250cm9sbGVyOjpmcm9tKHN0
YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCktPnBhZ2UoKSktPmNsaWVudCgpLT5jaGVja1Bl
cm1pc3Npb24oY29udGV4dCkpOworfQorCitjb25zdCBTdHJpbmcmIE5vdGlmaWNhdGlvbjo6c3Ry
aW5nRm9yUGVybWlzc2lvbihOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb24gcGVybWlz
c2lvbikKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgYWxsb3dlZFBl
cm1pc3Npb24sICgiZ3JhbnRlZCIpKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0
cmluZywgZGVuaWVkUGVybWlzc2lvbiwgKCJkZW5pZWQiKSk7CisgICAgREVGSU5FX1NUQVRJQ19M
T0NBTChjb25zdCBTdHJpbmcsIGRlZmF1bHRQZXJtaXNzaW9uLCAoImRlZmF1bHQiKSk7CisgICAg
c3dpdGNoIChwZXJtaXNzaW9uKSB7CisgICAgY2FzZSBOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBl
cm1pc3Npb25BbGxvd2VkOgorICAgICAgICByZXR1cm4gYWxsb3dlZFBlcm1pc3Npb247CisgICAg
Y2FzZSBOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb25EZW5pZWQ6CisgICAgICAgIHJl
dHVybiBkZW5pZWRQZXJtaXNzaW9uOworICAgIGNhc2UgTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQ
ZXJtaXNzaW9uTm90QWxsb3dlZDoKKyAgICAgICAgcmV0dXJuIGRlZmF1bHRQZXJtaXNzaW9uOwor
ICAgIH0KKyAgICAKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gZGVuaWVk
UGVybWlzc2lvbjsKK30KKwordm9pZCBOb3RpZmljYXRpb246OnJlcXVlc3RQZXJtaXNzaW9uKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrPiBjYWxsYmFjaykKK3sKKyAgICBBU1NFUlQoY29udGV4dC0+aXNEb2N1
bWVudCgpKTsKKyAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KS0+cGFn
ZSgpKTsKKyAgICBOb3RpZmljYXRpb25Db250cm9sbGVyOjpmcm9tKHN0YXRpY19jYXN0PERvY3Vt
ZW50Kj4oY29udGV4dCktPnBhZ2UoKSktPmNsaWVudCgpLT5yZXF1ZXN0UGVybWlzc2lvbihjb250
ZXh0LCBjYWxsYmFjayk7Cit9CisKIHZvaWQgTm90aWZpY2F0aW9uOjpkaWRSZWNlaXZlUmVzcG9u
c2UodW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7CiAg
ICAgaW50IHN0YXR1cyA9IHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oIGIvU291cmNlL1dlYkNv
cmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAppbmRleCBkZDBkNmVkODRhZDMwNzlkODhi
YTAyYTAyYmNhY2M2YTY0NWNiMzlkLi5lMGQyMDM1OGFhNjkwNTIwNTRiMzJjODkwMDI4NzM4ODcz
MGVlMTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgK
QEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDExLCAyMDEy
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgog
I2luY2x1ZGUgIktVUkwuaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25Db250ZW50cy5oIgorI2lu
Y2x1ZGUgIk5vdGlmaWNhdGlvblByZXNlbnRlci5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5o
IgogI2luY2x1ZGUgIlRleHREaXJlY3Rpb24uaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVy
Q2xpZW50LmgiCkBAIC01MCw2ICs1MSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IE5vdGlmaWNhdGlvbkNlbnRlcjsKK2NsYXNzIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFj
azsKIGNsYXNzIFJlc291cmNlRXJyb3I7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3Mg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKQEAgLTExOSw2ICsxMjEsMTAgQEAgcHVibGljOgogICAg
IC8vIERlcHJlY2F0ZWQuIFVzZSBmdW5jdGlvbnMgZnJvbSBOb3RpZmljYXRpb25DZW50ZXIuCiAg
ICAgdm9pZCBkZXRhY2hQcmVzZW50ZXIoKSB7IH0KIAorICAgIHN0YXRpYyBjb25zdCBTdHJpbmcm
IHBlcm1pc3Npb25MZXZlbChTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CisgICAgc3RhdGljIGNv
bnN0IFN0cmluZyYgc3RyaW5nRm9yUGVybWlzc2lvbihOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBl
cm1pc3Npb24pOworICAgIHN0YXRpYyB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4p
OworCiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nLCBj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVEYXRh
KGNvbnN0IGNoYXIqIGRhdGEsIGludCBkYXRhTGVuZ3RoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlk
RmluaXNoTG9hZGluZyh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGRvdWJsZSBmaW5pc2hUaW1l
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAppbmRl
eCBkOGNiM2NjMzlhMjVlNzE3NDNlOWY3NWU5ZThjZjRjMTgwZTIyMTY4Li40NTgxNmUxODQzZDBj
NDJjYzRlODYzNjBkYWIxZjVkNGI4ZWE2NzE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdo
dCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0
IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zNCwxMiArMzQsMTQgQEAgbW9kdWxlIHRocmVh
ZHMgewogICAgIGludGVyZmFjZSBbCiAgICAgICAgIENvbmRpdGlvbmFsPU5PVElGSUNBVElPTlMs
CiAgICAgICAgIEFjdGl2ZURPTU9iamVjdCwKLSAgICAgICAgRXZlbnRUYXJnZXQsCi0gICAgICAg
IE9taXRDb25zdHJ1Y3RvcgorICAgICAgICBFdmVudFRhcmdldAogICAgIF0gTm90aWZpY2F0aW9u
IHsKICAgICAgICAgdm9pZCBzaG93KCk7CiAgICAgICAgIHZvaWQgY2FuY2VsKCk7CiAKKyAgICAg
ICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHN0YXRpYyBET01TdHJpbmcgcGVy
bWlzc2lvbkxldmVsKCk7CisgICAgICAgIFtDdXN0b21dIHN0YXRpYyB2b2lkIHJlcXVlc3RQZXJt
aXNzaW9uKGluIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjayBjYWxsYmFjayk7CisKICAg
ICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25zaG93OwogICAgICAgICAvLyBGSVhNRTog
VGhlIGxhdGVzdCBXZWIgTm90aWZpY2F0aW9ucyBzdGFuZGFyZCB1c2VzIHRoZSBvbnNob3cgZXZl
bnQgbGlzdGVuZXIuCiAgICAgICAgIC8vIFRoZSBvbmRpc3BsYXkgZXZlbnQgbGlzdGVuZXIgc2hv
dWxkIGJlIHJlbW92ZWQgd2hlbiBpbXBsZW1lbnRhdGlvbnMgY2hhbmdlIHRoZSBldmVudCBsaXN0
ZW5lciB0byBvbnNob3cuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbkNlbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbkNlbnRlci5jcHAKaW5kZXggNzExNDZhZjhkYTM3MjNkMTQ3MTVlZmNiNWQxYWJl
YWM0OGUzNzE1OS4uNDY3NDQzNGFlMDFhMDczOGRmMjRjMzQ1ODE0NjA0N2FhODEwNzQxNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVy
LmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CkBAIC01MiwxOSArNTMsMjMgQEAgTm90aWZpY2F0aW9uQ2VudGVyOjpOb3RpZmljYXRpb25DZW50
ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgTm90aWZpY2EKICAgICA6IEFjdGl2
ZURPTU9iamVjdChjb250ZXh0LCB0aGlzKQogICAgICwgbV9ub3RpZmljYXRpb25QcmVzZW50ZXIo
cHJlc2VudGVyKSB7fQogCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogaW50IE5v
dGlmaWNhdGlvbkNlbnRlcjo6Y2hlY2tQZXJtaXNzaW9uKCkKIHsKICAgICBpZiAoIXByZXNlbnRl
cigpIHx8ICFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCiAgICAgICAgIHJldHVybiBOb3RpZmlj
YXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb25EZW5pZWQ7CiAgICAgcmV0dXJuIG1fbm90aWZpY2F0
aW9uUHJlc2VudGVyLT5jaGVja1Blcm1pc3Npb24oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsK
IH0KKyNlbmRpZgogCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogdm9pZCBOb3Rp
ZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9uKFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNr
PiBjYWxsYmFjaykKIHsKICAgICBpZiAoIXByZXNlbnRlcigpIHx8ICFzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkpCiAgICAgICAgIHJldHVybjsKICAgICBtX25vdGlmaWNhdGlvblByZXNlbnRlci0+
cmVxdWVzdFBlcm1pc3Npb24oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBjYWxsYmFjayk7CiB9
CisjZW5kaWYKIAogdm9pZCBOb3RpZmljYXRpb25DZW50ZXI6OmRpc2Nvbm5lY3RGcmFtZSgpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNl
bnRlci5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIu
aAppbmRleCA0MDJjY2JhOTM4YjJmZWUwODFmOGE2YThkN2JlY2VmZjc4Y2MyNjkyLi5mNjY4MzYx
MDc5ZDAxYTE3MmJiMzRmNGFjMWE0MDc2MjU2ZjdlOGMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgKQEAgLTEsNiArMSw2IEBACiAv
KgogICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTc3LDggKzc3LDEwIEBA
IHB1YmxpYzoKIAogICAgIE5vdGlmaWNhdGlvblByZXNlbnRlciogcHJlc2VudGVyKCkgY29uc3Qg
eyByZXR1cm4gbV9ub3RpZmljYXRpb25QcmVzZW50ZXI7IH0KIAorI2lmIEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykKICAgICBpbnQgY2hlY2tQZXJtaXNzaW9uKCk7CiAgICAgdm9pZCByZXF1
ZXN0UGVybWlzc2lvbihQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pOworI2VuZGlmCiAKICAgICB2
b2lkIGRpc2Nvbm5lY3RGcmFtZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwKaW5kZXggOGJlMWVjYzc2OWZiYzVhNDM3Yjc2
NGU5NmEwN2U0NzUxNzBhMzU2Ni4uYjk5N2Q5ZjMyMzE4M2IyODdlYzUxYTQ2MTNjYzQwZDZmMzIz
MTViMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25DZW50ZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ2VudGVyLmlkbApAQCAtNDEsOCArNDEsMTAgQEAgbW9kdWxlIHRocmVhZHMgewogI2VuZGlm
CiAgICAgICAgW1Y4Q3VzdG9tXSBOb3RpZmljYXRpb24gY3JlYXRlTm90aWZpY2F0aW9uKGluIERP
TVN0cmluZyBpY29uVXJsLCBpbiBET01TdHJpbmcgdGl0bGUsIGluIERPTVN0cmluZyBib2R5KSBy
YWlzZXMoRE9NRXhjZXB0aW9uKTsKIAorI2lmIGRlZmluZWQoRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TKSAmJiBFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMKICAgICAgICBpbnQgY2hlY2tQ
ZXJtaXNzaW9uKCk7CiAgICAgICAgW0N1c3RvbV0gdm9pZCByZXF1ZXN0UGVybWlzc2lvbihpbiBW
b2lkQ2FsbGJhY2sgY2FsbGJhY2spOworI2VuZGlmCiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2suaCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lv
bkNhbGxiYWNrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzQ5NGVmNWUwMzNhOTMwMmIzMGI1ODZlODkzMzkzN2Y5
OTljNDcxMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2lmbmRlZiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2tfaAorI2RlZmluZSBOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2tfaAorCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
KyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisgICAg
CitjbGFzcyBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgOiBwdWJsaWMgUmVmQ291bnRl
ZDxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFs
IH5Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2soKSB7IH0KKyAgICB2aXJ0dWFsIGJvb2wg
aGFuZGxlRXZlbnQoY29uc3QgU3RyaW5nJiBwZXJtaXNzaW9uKSA9IDA7Cit9OworICAgIAorfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gTm90aWZpY2F0aW9uUGVybWlzc2lvbkNh
bGxiYWNrX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZjExMTYx
MmUyNDBjZWNhYTE5ZmI1ZWE3MWFhY2Q3ZDI2MDkzYzIwCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2su
aWRsCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSB0aHJlYWRzIHsKKworICAgIGlu
dGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPU5PVElGSUNBVElPTlMsCisgICAgICAgIENh
bGxiYWNrCisgICAgXSBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgeworICAgICAgICBi
b29sZWFuIGhhbmRsZUV2ZW50KGluIERPTVN0cmluZyBwZXJtaXNzaW9uKTsKKyAgICB9OworCit9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBy
ZXNlbnRlci5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QcmVz
ZW50ZXIuaAppbmRleCAxOTM1Mzg0ZGMxZjZjYjkxNzQ4MGE5ZDRjODFiOTZmNDNhNDhiMTliLi41
Nzg1NzY5YjFlZGIzMzlkZTgzZmY3MmJhZTA0MTU4ZmE1NDNlZTFkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblByZXNlbnRlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUHJlc2VudGVyLmgKQEAgLTEs
NiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTM4
LDggKzM4LDkgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7Ci1jbGFz
cyBOb3RpZmljYXRpb247CiBjbGFzcyBLVVJMOworY2xhc3MgTm90aWZpY2F0aW9uOworY2xhc3Mg
Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrOwogY2xhc3MgUGFnZTsKIGNsYXNzIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ7CiAKQEAgLTcwLDEwICs3MSwxNCBAQCBwdWJsaWM6CiAgICAgLy8g
SW5mb3JtcyB0aGUgcHJlc2VudGVyIHRoZSBjb250cm9sbGVyIGF0dGFjaGVkIHRvIHRoZSBwYWdl
IGhhcyBiZWVuIGRlc3Ryb3llZC4KICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uQ29udHJv
bGxlckRlc3Ryb3llZCgpID0gMDsKIAorI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykK
ICAgICAvLyBSZXF1ZXN0cyB1c2VyIHBlcm1pc3Npb24gdG8gc2hvdyBkZXNrdG9wIG5vdGlmaWNh
dGlvbnMgZnJvbSBhIHBhcnRpY3VsYXIKICAgICAvLyBzY3JpcHQgY29udGV4dC4gVGhlIGNhbGxi
YWNrIHBhcmFtZXRlciBzaG91bGQgYmUgcnVuIHdoZW4gdGhlIHVzZXIgaGFzCiAgICAgLy8gbWFk
ZSBhIGRlY2lzaW9uLgogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+KSA9IDA7CisjZW5kaWYK
KyAgICAvLyBGSVhNRTogT25jZSBhbGwgb2YgdGhlIHBvcnRzIGhhdmUgYWRvcHRlZCB0aGUgbmV3
IEFQSSwgd2Ugc2hvdWxkIHR1cm4gdGhpcyB0byBhIHB1cmUgdmlydHVhbC4KKyAgICB2aXJ0dWFs
IHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQ
dHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPikgeyB9CiAKICAgICAvLyBDYW5jZWwg
YWxsIG91dHN0YW5kaW5nIHJlcXVlc3RzIGZvciB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dAog
ICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24oU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCopID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCAxNDA4NmJm
MjBlOWU0OTc2YWE4ODEyM2I4NjBjMDdiNDU5M2E3OWFkLi5jZjExODcxYjQ0NTY2YzFhYjNhODhi
Y2U4MjUzNGVjZmFmZjVmNTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC0xNzMs
NiArMTczLDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAjaWYgZGVmaW5lZChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJiYgRU5BQkxFX05PVElGSUNBVElPTlMKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IFtWOEVuYWJsZWRBdFJ1bnRpbWVdIE5vdGlmaWNhdGlvbkNlbnRlciB3ZWJraXROb3RpZmljYXRp
b25zOwogI2VuZGlmCisgICAgICAgIGF0dHJpYnV0ZSBOb3RpZmljYXRpb25Db25zdHJ1Y3RvciBO
b3RpZmljYXRpb247CiAKICNpZiBkZWZpbmVkKEVOQUJMRV9PUklFTlRBVElPTl9FVkVOVFMpICYm
IEVOQUJMRV9PUklFTlRBVElPTl9FVkVOVFMKICAgICAgICAgLy8gVGhpcyBpcyB0aGUgaW50ZXJm
YWNlIG9yaWVudGF0aW9uIGluIGRlZ3JlZXMuIFNvbWUgZXhhbXBsZXMgYXJlOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50
LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGll
bnQuaAppbmRleCBhNDBjZTgxZTVkYzdmNjQ2NjUxZWY4Njk4YTc2MmU1MTE4ZDdiYjkzLi42NGZh
ZGYyMmFkMDMxNjRmNjA4N2ZjYTFlYTY0NTM0MDVhZGQ1NWM2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaApA
QCAtMzQsMTEgKzM0LDEzIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE5vdGlmaWNh
dGlvbjsKK2NsYXNzIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjazsKIGNsYXNzIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ7CiBjbGFzcyBWb2lkQ2FsbGJhY2s7CiB9CiAKIEBjbGFzcyBXZWJO
b3RpZmljYXRpb247CitAY2xhc3MgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXI7CiBAY2xh
c3MgV2ViVmlldzsKIAogY2xhc3MgV2ViTm90aWZpY2F0aW9uQ2xpZW50IDogcHVibGljIFdlYkNv
cmU6Ok5vdGlmaWNhdGlvblByZXNlbnRlciB7CkBAIC01MiwxMCArNTQsMTcgQEAgcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJOb3RpZmljYXRpb25zKFdlYkNvcmU6OlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uT2Jq
ZWN0RGVzdHJveWVkKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiopIE9WRVJSSURFOwogICAgIHZpcnR1
YWwgdm9pZCBub3RpZmljYXRpb25Db250cm9sbGVyRGVzdHJveWVkKCkgT1ZFUlJJREU7CisjaWYg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVy
bWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxXZWJD
b3JlOjpWb2lkQ2FsbGJhY2s+KSBPVkVSUklERTsKKyNlbmRpZgorICAgIHZpcnR1YWwgdm9pZCBy
ZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1Jl
ZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KSBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9uKFdlYkNvcmU6OlNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBPVkVSUklERSB7IH0KICAgICB2aXJ0dWFsIFdlYkNvcmU6
Ok5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbiBjaGVja1Blcm1pc3Npb24oV2ViQ29y
ZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIE9WRVJSSURFOwogCisjaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpCisgICAgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiwgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgKik7CisjZW5kaWYK
KwogICAgIFdlYlZpZXcgKm1fd2ViVmlldzsKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAg
ICBIYXNoTWFwPFJlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRpb24+LCBSZXRhaW5QdHI8V2ViTm90
aWZpY2F0aW9uPiA+IG1fbm90aWZpY2F0aW9uTWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lm1tIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lm1tCmluZGV4IDJm
N2NkNTQxMTc3MTM3MzNmYWUwZTFlMmMyZjRhOTkxMWQ2ZmJjNGYuLmZkY2QyOGU3Y2EwZjU2NjRl
NmNiYzlhOTA2YmE5OWVlYjNiZjRhMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQubW0KQEAgLTMzLDE4ICsz
MywzMSBAQAogI2ltcG9ydCAiV2ViVUlEZWxlZ2F0ZVByaXZhdGUuaCIKICNpbXBvcnQgIldlYlZp
ZXdJbnRlcm5hbC5oIgogI2ltcG9ydCA8V2ViQ29yZS9CbG9ja0V4Y2VwdGlvbnMuaD4KKyNpbXBv
cnQgPFdlYkNvcmUvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL1BhZ2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5o
PgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaW1wb3J0IDxX
ZWJDb3JlL1ZvaWRDYWxsYmFjay5oPgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwogCiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisKIEBpbnRlcmZhY2UgV2ViTm90aWZpY2F0
aW9uUG9saWN5TGlzdGVuZXIgOiBOU09iamVjdCA8V2ViQWxsb3dEZW55UG9saWN5TGlzdGVuZXI+
CiB7Ci0gICAgUmVmUHRyPFZvaWRDYWxsYmFjaz4gX2NhbGxiYWNrOworICAgIFJlZlB0cjxOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IF9jYWxsYmFjazsKKyNpZiBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCisgICAgUmVmUHRyPFZvaWRDYWxsYmFjaz4gX3ZvaWRDYWxsYmFjazsK
KyNlbmRpZgogfQotLSAoaWQpaW5pdFdpdGhDYWxsYmFjazooUGFzc1JlZlB0cjxWb2lkQ2FsbGJh
Y2s+KWNhbGxiYWNrOworLSAoaWQpaW5pdFdpdGhDYWxsYmFjazooUGFzc1JlZlB0cjxOb3RpZmlj
YXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KWNhbGxiYWNrOworI2lmIEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKKy0gKGlkKWluaXRXaXRoVm9pZENhbGxiYWNrOihQYXNzUmVmUHRyPFZvaWRD
YWxsYmFjaz4pY2FsbGJhY2s7CisjZW5kaWYKKwogQGVuZAogI2VuZGlmCiAKQEAgLTE0NywyOSAr
MTYwLDQ2IEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50Ojpub3RpZmljYXRpb25Db250cm9s
bGVyRGVzdHJveWVkKCkKICAgICBkZWxldGUgdGhpczsKIH0KIAorCisjaWYgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQogdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJt
aXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8Vm9pZENh
bGxiYWNrPiBjYWxsYmFjaykKIHsKKyAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7Cisg
ICAgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIqIGxpc3RlbmVyID0gW1tXZWJOb3RpZmlj
YXRpb25Qb2xpY3lMaXN0ZW5lciBhbGxvY10gaW5pdFdpdGhWb2lkQ2FsbGJhY2s6Y2FsbGJhY2td
OworICAgIHJlcXVlc3RQZXJtaXNzaW9uKGNvbnRleHQsIGxpc3RlbmVyKTsKKyAgICBbbGlzdGVu
ZXIgcmVsZWFzZV07CisgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKK30KKyNlbmRpZgor
Cit2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2s+IGNhbGxiYWNrKQorewogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIEJF
R0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKLSAgICAKKyAgICBXZWJOb3RpZmljYXRpb25Qb2xp
Y3lMaXN0ZW5lciAqbGlzdGVuZXIgPSBbW1dlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGFs
bG9jXSBpbml0V2l0aENhbGxiYWNrOmNhbGxiYWNrXTsKKyAgICByZXF1ZXN0UGVybWlzc2lvbihj
b250ZXh0LCBsaXN0ZW5lcik7CisgICAgW2xpc3RlbmVyIHJlbGVhc2VdOworICAgIEVORF9CTE9D
S19PQkpDX0VYQ0VQVElPTlM7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShjb250ZXh0KTsKKyAg
ICBVTlVTRURfUEFSQU0oY2FsbGJhY2spOworI2VuZGlmCit9CisKKyNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKK3ZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlzc2lvbihX
ZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXZWJOb3RpZmljYXRpb25Q
b2xpY3lMaXN0ZW5lciAqbGlzdGVuZXIpCit7CiAgICAgU0VMIHNlbGVjdG9yID0gQHNlbGVjdG9y
KHdlYlZpZXc6ZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUmVxdWVzdEZyb21PcmlnaW46bGlz
dGVuZXI6KTsKICAgICBpZiAoIVtbbV93ZWJWaWV3IFVJRGVsZWdhdGVdIHJlc3BvbmRzVG9TZWxl
Y3RvcjpzZWxlY3Rvcl0pCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBXZWJTZWN1cml0eU9y
aWdpbiAqd2ViT3JpZ2luID0gW1tXZWJTZWN1cml0eU9yaWdpbiBhbGxvY10gX2luaXRXaXRoV2Vi
Q29yZVNlY3VyaXR5T3JpZ2luOmNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCldOwotICAgIFdlYk5v
dGlmaWNhdGlvblBvbGljeUxpc3RlbmVyKiBsaXN0ZW5lciA9IFtbV2ViTm90aWZpY2F0aW9uUG9s
aWN5TGlzdGVuZXIgYWxsb2NdIGluaXRXaXRoQ2FsbGJhY2s6Y2FsbGJhY2tdOwogICAgIAogICAg
IENhbGxVSURlbGVnYXRlKG1fd2ViVmlldywgc2VsZWN0b3IsIHdlYk9yaWdpbiwgbGlzdGVuZXIp
OwogICAgIAogICAgIFt3ZWJPcmlnaW4gcmVsZWFzZV07Ci0gICAgW2xpc3RlbmVyIHJlbGVhc2Vd
OwotICAgIAotICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7Ci0jZWxzZQotICAgIFVOVVNF
RF9QQVJBTShjb250ZXh0KTsKLSAgICBVTlVTRURfUEFSQU0oY2FsbGJhY2spOwotI2VuZGlmCiB9
CisjZW5kaWYKIAogTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIFdlYk5vdGlmaWNh
dGlvbkNsaWVudDo6Y2hlY2tQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRl
eHQpCiB7CkBAIC0xOTksNyArMjI5LDggQEAgTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNz
aW9uIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2hlY2tQZXJtaXNzaW9uKFNjcmlwdEUKIAogI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKQogQGltcGxlbWVudGF0aW9uIFdlYk5vdGlmaWNhdGlvblBv
bGljeUxpc3RlbmVyCi0tIChpZClpbml0V2l0aENhbGxiYWNrOihQYXNzUmVmUHRyPFZvaWRDYWxs
YmFjaz4pY2FsbGJhY2sKKworLSAoaWQpaW5pdFdpdGhDYWxsYmFjazooUGFzc1JlZlB0cjxOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KWNhbGxiYWNrCiB7CiAgICAgaWYgKCEoc2VsZiA9
IFtzdXBlciBpbml0XSkpCiAgICAgICAgIHJldHVybiBuaWw7CkBAIC0yMDksMTQgKzI0MCw0MCBA
QCBOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb24gV2ViTm90aWZpY2F0aW9uQ2xpZW50
OjpjaGVja1Blcm1pc3Npb24oU2NyaXB0RQogICAgIHJldHVybiBzZWxmOwogfQogCisjaWYgRU5B
QkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorLSAoaWQpaW5pdFdpdGhWb2lkQ2FsbGJhY2s6KFBh
c3NSZWZQdHI8Vm9pZENhbGxiYWNrPiljYWxsYmFjaworeworICAgIGlmICghKHNlbGYgPSBbc3Vw
ZXIgaW5pdF0pKQorICAgICAgICByZXR1cm4gbmlsOworCisgICAgQVNTRVJUKGNhbGxiYWNrKTsK
KyAgICBfdm9pZENhbGxiYWNrID0gY2FsbGJhY2s7CisgICAgcmV0dXJuIHNlbGY7Cit9CisjZW5k
aWYKKwogLSAodm9pZClhbGxvdwogewotICAgIF9jYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyNp
ZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAgaWYgKF92b2lkQ2FsbGJhY2spIHsK
KyAgICAgICAgX3ZvaWRDYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKyNlbmRpZgorCisgICAgX2NhbGxiYWNrLT5oYW5kbGVFdmVudChOb3RpZmljYXRpb246
OnN0cmluZ0ZvclBlcm1pc3Npb24oTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uQWxs
b3dlZCkpOwogfQogCiAtICh2b2lkKWRlbnkKIHsKLSAgICBfY2FsbGJhY2stPmhhbmRsZUV2ZW50
KCk7CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorICAgIGlmIChfdm9pZENhbGxi
YWNrKSB7CisgICAgICAgIF92b2lkQ2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisjZW5kaWYKKworICAgIF9jYWxsYmFjay0+aGFuZGxlRXZlbnQoTm90aWZp
Y2F0aW9uOjpzdHJpbmdGb3JQZXJtaXNzaW9uKE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlz
c2lvbkRlbmllZCkpOwogfQogCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwCmluZGV4IDFkZGRhN2M5ODE2MGQ1NDliOTky
M2FlMjdlMTRkZTg3ZDg5NTdiMjIuLmZiNGZjMDdkOTI1OWExNTg0Y2Q5NjBmOTAwZGNhYTEwZDY2
Yzk3MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVx
dWVzdE1hbmFnZXIuY3BwCkBAIC01OSwxMSArNTksMTIgQEAgTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyOjpOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoV2Vi
UGEKIHsKIH0KIAotdm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OnN0
YXJ0UmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2luLCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFj
az4gY2FsbGJhY2spCit2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6
c3RhcnRSZXF1ZXN0KFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sIFBhc3NSZWZQdHI8Tm90aWZpY2F0
aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBjYWxsYmFjaykKIHsKICNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykKLSAgICBpZiAocGVybWlzc2lvbkxldmVsKG9yaWdpbikgIT0gTm90aWZpY2F0aW9uUHJl
c2VudGVyOjpQZXJtaXNzaW9uTm90QWxsb3dlZCkgewotICAgICAgICBjYWxsYmFjay0+aGFuZGxl
RXZlbnQoKTsKKyAgICBOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb24gcGVybWlzc2lv
biA9IHBlcm1pc3Npb25MZXZlbChvcmlnaW4pOworICAgIGlmIChwZXJtaXNzaW9uICE9IE5vdGlm
aWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbk5vdEFsbG93ZWQpIHsKKyAgICAgICAgY2FsbGJh
Y2stPmhhbmRsZUV2ZW50KE5vdGlmaWNhdGlvbjo6c3RyaW5nRm9yUGVybWlzc2lvbihwZXJtaXNz
aW9uKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTc4LDYgKzc5LDIzIEBAIHZvaWQg
Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpzdGFydFJlcXVlc3QoU2VjdXJp
dHlPcmlnaW4qIG9yaWdpbiwKICNlbmRpZgogfQogCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQordm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OnN0YXJ0
UmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2luLCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4g
Y2FsbGJhY2spCit7CisgICAgTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIHBlcm1p
c3Npb24gPSBwZXJtaXNzaW9uTGV2ZWwob3JpZ2luKTsKKyAgICBpZiAocGVybWlzc2lvbiAhPSBO
b3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb25Ob3RBbGxvd2VkKSB7CisgICAgICAgIGNh
bGxiYWNrLT5oYW5kbGVFdmVudCgpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIAorICAg
IHVpbnQ2NF90IHJlcXVlc3RJRCA9IGdlbmVyYXRlUmVxdWVzdElEKCk7CisgICAgbV9vcmlnaW5U
b0lETWFwLnNldChvcmlnaW4sIHJlcXVlc3RJRCk7CisgICAgbV9pZFRvT3JpZ2luTWFwLnNldChy
ZXF1ZXN0SUQsIG9yaWdpbik7CisgICAgbV9pZFRvVm9pZENhbGxiYWNrTWFwLnNldChyZXF1ZXN0
SUQsIGNhbGxiYWNrKTsKKyAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6
UmVxdWVzdE5vdGlmaWNhdGlvblBlcm1pc3Npb24ocmVxdWVzdElELCBvcmlnaW4tPnRvU3RyaW5n
KCkpKTsKK30KKyNlbmRpZgorCiB2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlcjo6Y2FuY2VsUmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2luKQogewogI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQpAQCAtMTExLDExICsxMjksMTkgQEAgdm9pZCBOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OmRpZFJlY2VpdmVOb3RpZmljYXRpb25QZXJtaXNzaW9u
RGVjaXMKICAgICBpZiAoIWlzUmVxdWVzdElEVmFsaWQocmVxdWVzdElEKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgUmVmUHRyPFZvaWRDYWxsYmFjaz4gY2FsbGJhY2sgPSBtX2lkVG9DYWxsYmFj
a01hcC50YWtlKHJlcXVlc3RJRCk7CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQor
ICAgIFJlZlB0cjxWb2lkQ2FsbGJhY2s+IHZvaWRDYWxsYmFjayA9IG1faWRUb1ZvaWRDYWxsYmFj
a01hcC50YWtlKHJlcXVlc3RJRCk7CisgICAgaWYgKHZvaWRDYWxsYmFjaykgeworICAgICAgICB2
b2lkQ2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5k
aWYKKworICAgIFJlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNhbGxiYWNr
ID0gbV9pZFRvQ2FsbGJhY2tNYXAudGFrZShyZXF1ZXN0SUQpOwogICAgIGlmICghY2FsbGJhY2sp
CiAgICAgICAgIHJldHVybjsKICAgICAKLSAgICBjYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyAg
ICBjYWxsYmFjay0+aGFuZGxlRXZlbnQoTm90aWZpY2F0aW9uOjpzdHJpbmdGb3JQZXJtaXNzaW9u
KGFsbG93ZWQgPyBOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb25BbGxvd2VkIDogTm90
aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uRGVuaWVkKSk7CiAjZWxzZQogICAgIFVOVVNF
RF9QQVJBTShyZXF1ZXN0SUQpOwogICAgIFVOVVNFRF9QQVJBTShhbGxvd2VkKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaAppbmRleCA1
NTczYzZhMTExOWVmMmIwNmU3ZWVjMmVjOTFjM2IzYWQ3ZWNmNzVkLi5iYTM5ZmJmNzJhZmUwMjBh
NWJiZmMzZDA1MTk1YjM3YjI5ZmJiMzY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNh
dGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVm
IE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcl9oCiAjZGVmaW5lIE5vdGlmaWNh
dGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcl9oCiAKKyNpbmNsdWRlIDxXZWJDb3JlL05vdGlm
aWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTm90aWZpY2F0
aW9uUHJlc2VudGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Wb2lkQ2FsbGJhY2suaD4KICNpbmNs
dWRlIDx3dGYvSGFzaE1hcC5oPgpAQCAtNDYsNyArNDcsMTAgQEAgY2xhc3MgTm90aWZpY2F0aW9u
UGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyIDogcHVibGljIFJlZkNvdW50ZWQ8Tm90aWZpY2F0aW9u
UGVybWkKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNz
aW9uUmVxdWVzdE1hbmFnZXI+IGNyZWF0ZShXZWJQYWdlKik7CiAgICAgCisgICAgdm9pZCBzdGFy
dFJlcXVlc3QoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qLCBQYXNzUmVmUHRyPFdlYkNvcmU6Ok5v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4pOworI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJ
Q0FUSU9OUykKICAgICB2b2lkIHN0YXJ0UmVxdWVzdChXZWJDb3JlOjpTZWN1cml0eU9yaWdpbios
IFBhc3NSZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxiYWNrPik7CisjZW5kaWYKICAgICB2b2lkIGNh
bmNlbFJlcXVlc3QoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qKTsKICAgICAKICAgICAvLyBTeW5j
aHJvbm91cyBjYWxsIHRvIHJldHJpZXZlIHBlcm1pc3Npb24gbGV2ZWwgZm9yIGdpdmVuIHNlY3Vy
aXR5IG9yaWdpbgpAQCAtNTcsNyArNjEsMTAgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoV2ViUGFnZSopOwogICAgIAotICAgIEhh
c2hNYXA8dWludDY0X3QsIFJlZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJhY2s+ID4gbV9pZFRvQ2Fs
bGJhY2tNYXA7CisgICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYkNvcmU6Ok5vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjaz4gPiBtX2lkVG9DYWxsYmFja01hcDsKKyNpZiBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCisgICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYkNv
cmU6OlZvaWRDYWxsYmFjaz4gPiBtX2lkVG9Wb2lkQ2FsbGJhY2tNYXA7CisjZW5kaWYKICAgICBI
YXNoTWFwPFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4sIHVpbnQ2NF90PiBtX29yaWdp
blRvSURNYXA7CiAgICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5
T3JpZ2luPiA+IG1faWRUb09yaWdpbk1hcDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGll
bnQuY3BwCmluZGV4IDkwZWIxNjFmMjZjZGIzMzAzNjExYjRlYThlNjA1OGU2OWViYzU0MDMuLmRj
NWJiN2EyM2Y4NmUzNDY1N2NiYWUyZDU0NDIxNTIzMTU0ZDE5YzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5v
dGlmaWNhdGlvbkNsaWVudC5jcHAKQEAgLTc3LDYgKzc3LDExIEBAIHZvaWQgV2ViTm90aWZpY2F0
aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0LCBQCiAgICAgbV9wYWdlLT5ub3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIo
KS0+c3RhcnRSZXF1ZXN0KGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCksIGNhbGxiYWNrKTsKIH0K
IAordm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lv
bkNhbGxiYWNrPiBjYWxsYmFjaykKK3sKKyAgICBtX3BhZ2UtPm5vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlcigpLT5zdGFydFJlcXVlc3QoY29udGV4dC0+c2VjdXJpdHlPcmlnaW4o
KSwgY2FsbGJhY2spOworfQorCiB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2FuY2VsUmVx
dWVzdHNGb3JQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiB7CiAg
ICAgbV9wYWdlLT5ub3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKS0+Y2FuY2Vs
UmVxdWVzdChjb250ZXh0LT5zZWN1cml0eU9yaWdpbigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlv
bkNsaWVudC5oCmluZGV4IDE0N2E4OGFjMTBkZDg5YzU4YzgzNjMwZTY1YWY0Yzc0OGYwZTI1ODEu
LjE0OTRmOWQyNzg1NTgxMTZmMThiYzk5ZTNiZjZiMzE2YzNiNDA1NjQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJO
b3RpZmljYXRpb25DbGllbnQuaApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUv
Tm90aWZpY2F0aW9uUHJlc2VudGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIE5v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjazsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ7CiBjbGFzcyBWb2lkQ2FsbGJhY2s7CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkBAIC01MSw5
ICs1MiwxMCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25PYmplY3RE
ZXN0cm95ZWQoV2ViQ29yZTo6Tm90aWZpY2F0aW9uKikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2
b2lkIG5vdGlmaWNhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKSBPVkVSUklERTsKICAgICB2aXJ0
dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4
dCosIFBhc3NSZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxiYWNrPikgT1ZFUlJJREU7CisgICAgdmly
dHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBQYXNzUmVmUHRyPFdlYkNvcmU6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4p
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24o
V2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
Tm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihXZWJDb3Jl
OjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgT1ZFUlJJREU7Ci0gICAgCisKICAgICBXZWJQYWdl
KiBtX3BhZ2U7CiB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131156</attachid>
            <date>2012-03-09 23:01:25 -0800</date>
            <delta_ts>2012-03-09 23:27:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80485-20120309230241.patch</filename>
            <type>text/plain</type>
            <size>58195</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMzcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRlM2FhZWU2ODE2NmEx
ODBlMjljOGY4OTk4NzU3M2I5Y2UyNjg4MS4uZWUxNjNhYWM3NWY1OGIxMzU0YjhiYjA3NTE3YmY0
MzhmOWI5MGE2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDEyLTAzLTA5ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVu
Y3Rpb25zIHRvIE5vdGlmaWNhdGlvbiBmcm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzEwOTY1NDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsOiBCZWNhdXNl
IHRoZSBmdW5jdGlvbnMgYXJlIG9uIHRoZSBOb3RpZmljYXRpb24gb2JqZWN0IGl0c2VsZiwgd2Ug
bmVlZCB0bworICAgICAgICBkZWNsYXJlIGl0IGEgY29uc3RydWN0b3Igc28gdGhhdCBpdCBpcyBh
Y2Nlc3NpYmxlIGZyb20gRE9NV2luZG93LgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDog
QWRkIE5vdGlmaWNhdGlvbiBjb25zdHJ1Y3Rvci4KKworICAgICAgICAqIG5vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6cGVybWlz
c2lvbkxldmVsKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6c3RyaW5nRm9yUGVy
bWlzc2lvbik6IERlY2xhcmUgdGhyZWUgc3RhdGljIGxvY2FscyBmb3IgZWFjaCBvZiB0aGUgdmFs
dWVzLCBhbmQgcmV0dXJuCisgICAgICAgIGJhc2VkIG9uIHRoZSBwZXJtaXNzaW9uIGVudW0uCisg
ICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb246OnJlcXVlc3RQZXJtaXNzaW9uKTogRm9yd2Fy
ZCByZXF1ZXN0IHRvIGNsaWVudC4KKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5oOgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2suaDogQWRkZWQuCisgICAgICAgIChOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sp
OgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrOjp+Tm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrKToKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGw6IEFkZGVkLgorCisgICAgICAgICogbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwOiBXcmFwIHBlcm1pc3Npb24gZnVuY3Rp
b25zIGluIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5oOiBXcmFwIHBlcm1pc3Npb24gZnVuY3Rpb25zIGluIEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbkNlbnRlci5pZGw6IFdyYXAgcGVybWlzc2lvbiBmdW5jdGlvbnMgaW4gRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQorICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
UHJlc2VudGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXI6OnJl
cXVlc3RQZXJtaXNzaW9uKTogQWRkIG5ldyByZXF1ZXN0UGVybWlzc2lvbigpIGZ1bmN0aW9uIGZv
ciBuZXcKKyAgICAgICAgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrIHR5cGUuIE1ha2Ug
aXQgYSBzdHViIGltcGxlbWVudGF0aW9uIHVudGlsIGFsbCBwb3J0cyBoYXZlIGFkb3B0ZWQuCisK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcDog
RW5jYXBzdWxhdGUgd2l0aCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpIHNpbmNlCisgICAg
ICAgIHRoZSByZXF1ZXN0UGVybWlzc2lvbigpIGZ1bmN0aW9uIGlzIG1vdmluZyB0byBOb3RpZmlj
YXRpb24uCisgICAgICAgICogYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3Rv
bS5jcHA6IEN1c3RvbSBpbXBsZW1lbnRhdGlvbiBvZiByZXF1ZXN0UGVybWlzc2lvbigpLgorICAg
ICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHA6IEN1c3Rv
bSBpbXBsZW1lbnRhdGlvbiBvZiByZXF1ZXN0UGVybWlzc2lvbigpLgorCisgICAgICAgICogRGVy
aXZlZFNvdXJjZXMubWFrZTogQWRkIG5ldyBjYWxsYmFjayBpZGwuCisgICAgICAgICogVXNlSlND
LmNtYWtlOiBJbmNsdWRlIEpTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcAorICAgICAgICAqIFVzZVY4
LmNtYWtlOiBJbmNsdWRlIFY4Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcAorICAgICAgICAqIFRhcmdl
dC5wcmk6IEluY2x1ZGUgSlNOb3RpZmljYXRpb25DdXN0b20uY3BwLCBWOE5vdGlmaWNhdGlvbkN1
c3RvbS5jcHAKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IEluY2x1ZGUgSlNOb3RpZmljYXRpb25D
dXN0b20uY3BwLCBWOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAsIEpTTm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrLntoLGNwcH0KKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvajogSW5jbHVkZSBKU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAsIEpTTm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrLntoLGNwcH0KKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjogRXhwb3J0
IHN0cmluZ0ZvclBlcm1pc3Npb24oKS4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6IEFkZCBjYWxsYmFjayBpZGwsIGgsIGFuZCBjcHAgZmlsZXMuCisKIDIwMTIt
MDMtMDkgIFJvYmVydCBLcm9lZ2VyICA8cmprcm9lZ2VAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IEhhbmRsZSBtb3JlIEdlc3R1cmUqIGV2ZW50cyBieSBwZXJmb3JtaW5nIHNjcm9sbHMgb24gdGhl
IGNvcnJlY3QgdGFyZ2V0IFNjcm9sbGFibGVBcmVhIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGFiNzM3
MWUyMTQ2MmFmNDgwMzRhYTgyZjgzZTVkYjYzNzE5ZjVlNGQuLjMxMjMxNDNjMTE2ZWEwYzU4YTM3
OTY2ZWEwNGY0ZmQ4YjZkMWJlOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAor
MjAxMi0wMy0wOSAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKKyAgICAgICAgTWlncmF0
ZSBwZXJtaXNzaW9uIGZ1bmN0aW9ucyB0byBOb3RpZmljYXRpb24gZnJvbSBOb3RpZmljYXRpb25D
ZW50ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgw
NDg1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDk2NTQ1OD4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYk5vdGlm
aWNhdGlvbkNsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlv
bkNsaWVudC5tbTogQWRkIG5ldyBtZW1iZXIgdmFyaWFibGUgdG8gaGFuZGxlIGJvdGgga2luZHMg
b2YgY2FsbGJhY2tzLgorICAgICAgICAoV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVy
bWlzc2lvbik6IEFkZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgdmVyc2lvbiBvZiB0
aGUgc2FtZQorICAgICAgICBmdW5jdGlvbi4KKyAgICAgICAgKC1bV2ViTm90aWZpY2F0aW9uUG9s
aWN5TGlzdGVuZXIgaW5pdFdpdGhDYWxsYmFjazpdKToKKyAgICAgICAgKC1bV2ViTm90aWZpY2F0
aW9uUG9saWN5TGlzdGVuZXIgaW5pdFdpdGhWb2lkQ2FsbGJhY2s6XSk6CisgICAgICAgICgtW1dl
Yk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGFsbG93XSk6CisgICAgICAgICgtW1dlYk5vdGlm
aWNhdGlvblBvbGljeUxpc3RlbmVyIGRlbnldKToKKwogMjAxMi0wMy0wOSAgRW5yaWNhIENhc3Vj
Y2kgIDxlbnJpY2FAYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgV2ViTlNVUkxFeHRyYXMgY29k
ZSBkb3duIHRvIFdlYkNvcmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTVlYTNjZDRjMWMzMDE0NTY2YjA2OTc2
Yjk0YmVlMDk4YTRiN2ZjOC4uMWI5ZDE3MzJkM2EyYmZiOTc4MTQyYmQ2NmU2ZTQ0NGQwZTRkYzIz
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTAzLTA5ICBKb24gTGVlICA8am9u
bGVlQGFwcGxlLmNvbT4KKworICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVuY3Rpb25zIHRv
IE5vdGlmaWNhdGlvbiBmcm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzEwOTY1NDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlcjo6c3RhcnRSZXF1ZXN0KToKKyAgICAgICAgKFdlYktpdCk6CisgICAg
ICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6ZGlkUmVj
ZWl2ZU5vdGlmaWNhdGlvblBlcm1pc3Npb25EZWNpc2lvbik6CisgICAgICAgICogV2ViUHJvY2Vz
cy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oOgor
ICAgICAgICAoTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pc3Npb24p
OgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChX
ZWJOb3RpZmljYXRpb25DbGllbnQpOgorCiAyMDEyLTAzLTA5ICBWaWF0Y2hlc2xhdiBPc3RhcGVu
a28gIDxvc3RhcGVua28udmlhdGNoZXNsYXZAbm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gW1dL
Ml0gU2hvdWxkbid0IHVzZSBpdGVtIGZvciBjbGlwcGluZyByZWN0IGNhbGN1bGF0aW9uIGluIHBh
aW50IG5vZGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAyNDYwNjgzM2E1NzZk
OGQ3ZmI1ODFjMWIzNjVhZjZkNjA4ZDIxYzY1Li40NDNmNmYyZDFiMWU0ZjZkMjBmNjRjMjNhMzBh
ZjQyNDNjZTM5M2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTEsNCArMSw0
IEBACi0jIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAxMiBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwg
V2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4gCiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1l
cm9uIE1jQ29ybWFjayA8Y2FtQG1jYy5pZC5hdT4KICMKQEAgLTM1NSw2ICszNTUsNyBAQCBCSU5E
SU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRp
b25DYWNoZS5pZGwgXAogICAgICQoV2ViQ29yZSkvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24u
aWRsIFwKICAgICAkKFdlYkNvcmUpL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlk
bCBcCisgICAgJChXZWJDb3JlKS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9BYnN0cmFjdFZpZXcuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL3BhZ2UvQmFySW5mby5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9Db25z
b2xlLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBmOGYyYjVhMGE2YjMxYWJkMzczOTQxYTEwYTY5ZDYx
NzBhNTA0YWZjLi5hY2E1M2M0ZjhhNDIwNDQzNGRhYmQ5Mjk5NmZlY2UyOWJlY2M2NGI5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1Rh
cmdldC5wcmkKQEAgLTIzMyw2ICsyMzMsNyBAQCB2OCB7CiAgICAgICAgIFwKICAgICAgICAgYmlu
ZGluZ3Mvdjgvc3BlY2lhbGl6YXRpb24vVjhCaW5kaW5nU3RhdGUuY3BwXAogICAgICAgICBcCisg
ICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAgXAogICAg
ICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DZW50ZXJDdXN0b20uY3BwIFwK
ICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q29uc29sZUN1c3RvbS5jcHAgXAogICAgICAg
ICBiaW5kaW5ncy92OC9jdXN0b20vVjhTUUxUcmFuc2FjdGlvblN5bmNDdXN0b20uY3BwIFwKQEAg
LTM0MSw2ICszNDIsNyBAQCB2OCB7CiAgICAgICAgIGJpbmRpbmdzL2pzL0pTTm9kZUZpbHRlckN1
c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU05vZGVJdGVyYXRvckN1c3RvbS5jcHAg
XAogICAgICAgICBiaW5kaW5ncy9qcy9KU05vZGVMaXN0Q3VzdG9tLmNwcCBcCisgICAgICAgIGJp
bmRpbmdzL2pzL0pTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pz
L0pTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU1Bv
cFN0YXRlRXZlbnRDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNQcm9jZXNzaW5n
SW5zdHJ1Y3Rpb25DdXN0b20uY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1VzZUpT
Qy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQppbmRleCAwOTAzOGRkNjg0ODc3
ZTFmODIwMjE5Mjc1ZTc4MmViMTMwODNhMjY2Li43ZTY3ZjMyNzQ2MDQwOGMyNzhmODBlNzg4YzU1
N2Y2YjY0OTc0NDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKKysr
IGIvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCkBAIC0xMDksNiArMTA5LDcgQEAgTElTVChB
UFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvanMvSlNOb2RlRmlsdGVyQ3VzdG9t
LmNwcAogICAgIGJpbmRpbmdzL2pzL0pTTm9kZUl0ZXJhdG9yQ3VzdG9tLmNwcAogICAgIGJpbmRp
bmdzL2pzL0pTTm9kZUxpc3RDdXN0b20uY3BwCisgICAgYmluZGluZ3MvanMvSlNOb3RpZmljYXRp
b25DdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNw
cAogICAgIGJpbmRpbmdzL2pzL0pTUG9wU3RhdGVFdmVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5n
cy9qcy9KU1Byb2Nlc3NpbmdJbnN0cnVjdGlvbkN1c3RvbS5jcHAKQEAgLTIyOCw2ICsyMjksNyBA
QCBFTkRJRiAoKQogSUYgKEVOQUJMRV9OT1RJRklDQVRJT05TKQogICAgIExJU1QoQVBQRU5EIFdl
YkNvcmVfU09VUkNFUwogICAgICAgICBiaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25z
Q3VzdG9tLmNwcAorICAgICAgICBiaW5kaW5ncy9qcy9KU05vdGlmaWNhdGlvbnNDdXN0b20uY3Bw
CiAgICAgKQogRU5ESUYgKCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVXNlVjguY21h
a2UgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQppbmRleCBiOGY1ZmQyNjdlYTVhM2ViOTJk
ODkxOWRhMTRhZGQ1MzQ2YWY3OGUwLi4wYWQ1ZjkzMzlkM2Y2NDVmMGI2NDkyMTBhNmVlM2Y1MzUz
YTUxYTczIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQpAQCAtMTM3LDYgKzEzNyw3IEBAIExJU1QoQVBQRU5EIFdl
YkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZXNDb2xsZWN0
aW9uLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vZGVDdXN0b20uY3BwCiAgICAgYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUxpc3RDdXN0b20uY3BwCisgICAgYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5v
dGlmaWNhdGlvbkNlbnRlckN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhQZXJm
b3JtYW5jZUN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhQb3BTdGF0ZUV2ZW50
Q3VzdG9tLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA3Y2FkYmNmMGFmYzA5MzBiYzk2Nzlh
MTA5MTNmN2JlZDVlMzNhNmZiLi4wNWRmMGJkY2JjNWQwNTBmYmQwYWFiNjkyMzQxZTRmNzI2OTUx
MzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMjEyOCw2ICsyMTI4LDcgQEAgX19aTjdXZWJD
b3JlMTJOb3RpZmljYXRpb24xN2Rpc3BhdGNoU2hvd0V2ZW50RXYKIF9fWk43V2ViQ29yZTEyTm90
aWZpY2F0aW9uMThkaXNwYXRjaENsaWNrRXZlbnRFdgogX19aTjdXZWJDb3JlMTJOb3RpZmljYXRp
b24xOGRpc3BhdGNoQ2xvc2VFdmVudEV2CiBfX1pON1dlYkNvcmUxMk5vdGlmaWNhdGlvbjE4ZGlz
cGF0Y2hFcnJvckV2ZW50RXYKK19fWk43V2ViQ29yZTEyTm90aWZpY2F0aW9uMTlzdHJpbmdGb3JQ
ZXJtaXNzaW9uRU5TXzIxTm90aWZpY2F0aW9uUHJlc2VudGVyMTBQZXJtaXNzaW9uRQogI2VuZGlm
CiAKICNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDA0
NzhjZmE5NDY4N2I1ZDlmMzQyNDcyMjk5OTgxOTNlNGU5MTkyOWUuLjMyYTE5YTYxOTNkNTliNjhl
ZTZlNDg1ZDAwNzljOGNmOTZlMWMzM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTE3NzAsNiArMTc3
MCw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcCcs
CiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNOb2RlSXRlcmF0b3JDdXN0b20uY3BwJywKICAg
ICAgICAgICAgICdiaW5kaW5ncy9qcy9KU05vZGVMaXN0Q3VzdG9tLmNwcCcsCisgICAgICAgICAg
ICAnYmluZGluZ3MvanMvSlNOb3RpZmljYXRpb25DdXN0b20uY3BwJywKICAgICAgICAgICAgICdi
aW5kaW5ncy9qcy9KU1BlZXJDb25uZWN0aW9uQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvanMvSlNQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcCcsCkBAIC0yMDc3LDYgKzIwNzgsNyBA
QAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZXNDb2xsZWN0aW9u
LmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vZGVDdXN0b20uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlTGlzdEN1c3RvbS5jcHAnLAor
ICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAn
LAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkNlbnRlckN1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFBlcmZvcm1hbmNl
Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4UG9wU3RhdGVF
dmVudEN1c3RvbS5jcHAnLApAQCAtNzUwMSw2ICs3NTAzLDggQEAKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uLmgnLAogICAg
ICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb3RpZmlj
YXRpb25DZW50ZXIuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uQ2VudGVyLmgnLAorICAgICAgICAgICAgJzwoUFJP
RFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2suY3BwJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgnLAogICAgICAgICAg
ICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPRVNTdGFuZGFyZERl
cml2YXRpdmVzLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCcsCiAgICAgICAgICAgICAnPChQ
Uk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU09FU1RleHR1cmVGbG9hdC5jcHAn
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAz
MDFjMDY2YTliN2M3ODIyNGY5ODgyM2UyMGY2MzE2M2U1OTg0NGZlLi4xZjBkNjViODE3Mjg2N2Vl
YzkxZDkxYTNiZjE0ZmYzOWI5YmQ1NmZlIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMTIwOTAsNiArMTIwOTAsNjIgQEAKIAkJCQk+CiAJCQk8
L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjay5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4K
KwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0i
UmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJ
CQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVi
dWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJ
CQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUK
KwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0
TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCIK
KwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1
cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU09wZXJh
dGlvbk5vdEFsbG93ZWRFeGNlcHRpb24uY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTY3Mjcz
LDYgKzY3MzI5LDU4IEBACiAJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJPC9GaWxlPgog
CQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNOb3RpZmljYXRp
b25DdXN0b20uY3BwIgorCQkJCQk+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFt
ZT0iRGVidWd8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4K
KwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJ
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJ
TmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJ
Lz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJ
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQWxsfFdp
bjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9v
bAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlByb2R1
Y3Rpb258V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJ
CQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0
aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcCIKIAkJ
CQkJPgogCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmZDY5ZGM1NGMwMTQ4NjQzMDM4MDU0
YWM4ZTAzYjJkZGM0MzVlZmRhLi5hMDY1NmExNGMyYTNiNTM1YmRhNDA0YWFmYWExN2U0MzQ2MWVk
ZDZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC04OTksNiArODk5LDggQEAKIAkJMzFDMEZGNEMwRTRDRUZERDAwN0Q2RkU1IC8q
IERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzFDMEZGNDYwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRy
YW5zaXRpb25FdmVudC5oICovOyB9OwogCQkzMUMwRkY0RDBFNENFRkREMDA3RDZGRTUgLyogRE9N
V2ViS2l0VHJhbnNpdGlvbkV2ZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMzFDMEZGNDcwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5z
aXRpb25FdmVudC5tbSAqLzsgfTsKIAkJMzFDMEZGNEUwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdl
YktpdFRyYW5zaXRpb25FdmVudEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzMUMwRkY0ODBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0
VHJhbnNpdGlvbkV2ZW50SW50ZXJuYWwuaCAqLzsgfTsKKwkJMzFFQzFFMjgxNEZGNjBFRTAwQzk0
NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRUMxRTI2MTRGRjYwRUUwMEM5NDY2
MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5jcHAgKi87IH07CisJCTMxRUMx
RTI5MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFFQzFFMjcx
NEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggKi87
IH07CiAJCTMxRkIxQTU3MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25DbGllbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTRGMTIw
QTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25DbGllbnQuaCAqLzsgfTsKIAkJMzFGQjFBNTgx
MjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNTAxMjBBNUQwNjAwREMw
MkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwICovOyB9OwogCQkzMUZCMUE1OTEyMEE1
RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNTExMjBBNUQwNjAwREMwMkEwIC8q
IERldmljZU1vdGlvbkNvbnRyb2xsZXIuaCAqLzsgfTsKQEAgLTkwOSw2ICs5MTEsOCBAQAogCQkz
MUZCMUE2NTEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE2MzEyMEE1RDNG
MDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgKi87IH07CiAJCTMxRkIxQTY2MTIw
QTVEM0YwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE2NDEyMEE1RDNGMDBEQzAyQTAgLyog
SlNEZXZpY2VNb3Rpb25FdmVudC5oICovOyB9OwogCQkzMUZCMUE2QzEyMEE1RDY5MDBEQzAyQTAg
LyogSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE2QjEyMEE1RDY5MDBEQzAyQTAgLyogSlNEZXZp
Y2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgKi87IH07CisJCTMxRkU2REZBMTUwMDRDMkEwMDA0RUJD
NCAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRUMxREFDMTRGRjI2RUEwMEM5NDY2MiAvKiBO
b3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQkzMUZFNkU2RDE1MDFBM0JGMDAwNEVCQzQgLyogSlNO
b3RpZmljYXRpb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMzFGRTZFNkMxNTAxQTNCRjAwMDRFQkM0IC8qIEpTTm90aWZpY2F0aW9uQ3Vz
dG9tLmNwcCAqLzsgfTsKIAkJMzMxNEFDRUIxMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9u
QmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
MzE0QUNFOTEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25CYXNlLmNwcCAqLzsgfTsKIAkJ
MzMxNEFDRUMxMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzMxNEFDRUExMDg5MjA4NjAwMEYw
RTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5oICovOyB9OwogCQkzMzUwM0M5QTEwMTc5QTc0MDAzQjQ3
RTEgLyogTm90aWZpY2F0aW9uUHJlc2VudGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzMzUwM0M5OTEwMTc5QTc0MDAzQjQ3RTEgLyogTm90aWZpY2F0
aW9uUHJlc2VudGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKQEAgLTc3NTQsNiArNzc1OCwxMCBAQAogCQkzMUMwRkY0NjBFNENFRkREMDA3RDZGRTUg
LyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkzMUMwRkY0NzBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2
ZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NV2ViS2l0
VHJhbnNpdGlvbkV2ZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUMwRkY0
ODBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50SW50ZXJuYWwuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50
SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFFQzFENTAxNEZFRkQw
ODAwQzk0NjYyIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBuYW1lID0gTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbDsgcGF0aCA9
IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFFQzFEQUMxNEZGMjZFQTAwQzk0NjYyIC8qIE5vdGlm
aWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uQ2FsbGJhY2suaDsgcGF0aCA9IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRUMxRTI2
MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRUMxRTI3
MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUZCMUE0RjEyMEE1RDA2
MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IERldmljZU1vdGlvbkNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkzMUZCMUE1MDEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ29udHJvbGxlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEZXZpY2VNb3Rpb25Db250
cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFGQjFBNTExMjBBNUQw
NjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRGV2aWNlTW90aW9uQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtNzc2NSw2ICs3NzczLDcgQEAKIAkJMzFGQjFBNjMxMjBBNUQzRjAwREMw
MkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNEZXZpY2VNb3Rpb25FdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTMxRkIxQTY0MTIwQTVEM0YwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRGV2aWNlTW90aW9uRXZlbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFGQjFBNkIxMjBBNUQ2OTAwREMwMkEw
IC8qIEpTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTMxRkU2RTZDMTUwMUEzQkYwMDA0RUJDNCAvKiBKU05vdGlmaWNh
dGlvbkN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05v
dGlmaWNhdGlvbkN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzMTRB
Q0U5MTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFeGNlcHRpb25CYXNlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMzMxNEFDRUExMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9u
QmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0V4Y2VwdGlvbkJhc2Uu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzMzRjcwNEUwRkI0OUNBMjAwOEUxMkE2
IC8qIE5vdGlmaWNhdGlvbi5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gTm90aWZpY2F0aW9u
LmlkbDsgcGF0aCA9IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTE0Mzk1LDYgKzE0NDA0LDggQEAKIAkJCQkzMTI4Q0E2NzE0NzMz
MTUyMDA3NEM3MkEgLyogTm90aWZpY2F0aW9uQ29udHJvbGxlci5jcHAgKi8sCiAJCQkJMzEyOENB
NkExNDczMzE2MzAwNzRDNzJBIC8qIE5vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaCAqLywKIAkJCQkz
MzUwM0M5OTEwMTc5QTc0MDAzQjQ3RTEgLyogTm90aWZpY2F0aW9uUHJlc2VudGVyLmggKi8sCisJ
CQkJMzFFQzFENTAxNEZFRkQwODAwQzk0NjYyIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxs
YmFjay5pZGwgKi8sCisJCQkJMzFFQzFEQUMxNEZGMjZFQTAwQzk0NjYyIC8qIE5vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjay5oICovLAogCQkJKTsKIAkJCW5hbWUgPSBub3RpZmljYXRpb25z
OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTE0NDA2LDYgKzE0NDE3LDggQEAKIAkJ
CQkzMzUwM0NBMDEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb24uaCAqLywKIAkJCQkz
MzUwM0NBMTEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb25DZW50ZXIuY3BwICovLAog
CQkJCTMzNTAzQ0EyMTAxNzlBRDcwMDNCNDdFMSAvKiBKU05vdGlmaWNhdGlvbkNlbnRlci5oICov
LAorCQkJCTMxRUMxRTI2MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjay5jcHAgKi8sCisJCQkJMzFFQzFFMjcxNEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggKi8sCiAJCQkpOwogCQkJbmFtZSA9IE5vdGlm
aWNhdGlvbnM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTk2NzMsNiArMTk2ODYs
NyBAQAogCQkJCUJDQjc3MzYwMEMxNzg1M0QwMDEzMkJBNCAvKiBKU05vZGVGaWx0ZXJDdXN0b20u
Y3BwICovLAogCQkJCTFBNzUwREQzMEE5MEU3MjkwMDBGRjIxNSAvKiBKU05vZGVJdGVyYXRvckN1
c3RvbS5jcHAgKi8sCiAJCQkJQkNEOUMyNjEwQzE3QUE2NzAwNUM5MEEyIC8qIEpTTm9kZUxpc3RD
dXN0b20uY3BwICovLAorCQkJCTMxRkU2RTZDMTUwMUEzQkYwMDA0RUJDNCAvKiBKU05vdGlmaWNh
dGlvbkN1c3RvbS5jcHAgKi8sCiAJCQkJQTg1RjIyMDgxNDMwMzc3RDAwN0NDODg0IC8qIEpTUG9w
U3RhdGVFdmVudEN1c3RvbS5jcHAgKi8sCiAJCQkJRTFBRDEyRDUxMjk1RDBCRDAwQUNBOTg5IC8q
IEpTUHJvY2Vzc2luZ0luc3RydWN0aW9uQ3VzdG9tLmNwcCAqLywKIAkJCQk0OTk4QUVEMzEzRkM0
MTdGMDA5MEIxQUEgLyogSlNSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFja0N1c3RvbS5jcHAg
Ki8sCkBAIC0yNDU2Niw2ICsyNDU4MCw4IEBACiAJCQkJRTFDREU5MjIxNTAxOTE2OTAwODYyQ0M1
IC8qIEFzeW5jRmlsZVN0cmVhbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDUwQ0VCRjExNTA3M0JC
RTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUM1QjRD
MjREMTUwOTIzNkMwMEE2RUYzNyAvKiBXZWJDb3JlTlNVUkxFeHRyYXMuaCBpbiBIZWFkZXJzICov
LAorCQkJCTMxRUMxRTI5MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFGRTZERkExNTAwNEMyQTAwMDRFQkM0
IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0y
NzU0NCw2ICsyNzU2MCw4IEBACiAJCQkJNDUwQ0VCRjAxNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVs
YWJsZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzVCNEMyNEUxNTA5MjM2QzAwQTZF
RjM3IC8qIFdlYkNvcmVOU1VSTEV4dHJhcy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTlCMkI3QUMx
MTUwOTg1MEEwMDg5MzJDQyAvKiBNaWNyb0RhdGFJdGVtVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMzFFQzFFMjgxNEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lv
bkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxRkU2RTZEMTUwMUEzQkYwMDA0RUJD
NCAvKiBKU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQly
dW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1
c3RvbS5jcHAKaW5kZXggMTZhOTYyYzU2MjlhMzU5ZDVkYzdjZThlMjJiYWQ4NTA2NWU5MTJjZS4u
YTM2MjBiODliNzJkOGNmOWY2MzEzM2I4NjZiYmUwOTRiNWMyMWJiMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3RvbS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1
c3RvbS5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQpAQCAtMzAsMTQgKzMxLDEyIEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSAmJiBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUg
IkpTQ3VzdG9tVm9pZENhbGxiYWNrLmgiCiAjaW5jbHVkZSAiSlNFdmVudExpc3RlbmVyLmgiCi0j
aW5jbHVkZSAiSlNOb3RpZmljYXRpb24uaCIKICNpbmNsdWRlICJKU05vdGlmaWNhdGlvbkNlbnRl
ci5oIgotI2luY2x1ZGUgIk5vdGlmaWNhdGlvbi5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNl
bnRlci5oIgogI2luY2x1ZGUgPHJ1bnRpbWUvRXJyb3IuaD4KIApAQCAtNjgsNiArNjcsNiBAQCBK
U1ZhbHVlIEpTTm90aWZpY2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbihFeGVjU3RhdGUq
IGV4ZWMpCiAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiB9CiAKLX0gLy8gbmFtZXNwYWNlCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykK
KyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgJiYgIUVOQUJMRShMRUdBQ1lfTk9USUZJ
Q0FUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm90aWZp
Y2F0aW9uQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm90aWZpY2F0
aW9uQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNDNkMzhiODAyODRhYTgxYWIxNTZkN2I3MzYyN2E4
MzA3MmJiYmNmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNOb3RpZmljYXRpb25DdXN0b20uY3BwCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiSlNOb3RpZmljYXRpb24uaCIKKworI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorCisj
aW5jbHVkZSAiQ2FsbGJhY2tGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTTm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrLmgiCisjaW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgorCit1c2luZyBu
YW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0pTVmFsdWUgSlNOb3RpZmlj
YXRpb246OnJlcXVlc3RQZXJtaXNzaW9uKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICAvLyBBcmd1
bWVudHM6IE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaworICAgIGlmICghZXhlYy0+YXJn
dW1lbnQoMCkuaXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMp
OworICAgIAorICAgIFJlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNhbGxi
YWNrID0gY3JlYXRlRnVuY3Rpb25Pbmx5Q2FsbGJhY2s8SlNOb3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2s+KGV4ZWMsIHN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4
aWNhbEdsb2JhbE9iamVjdCgpKSwgZXhlYy0+YXJndW1lbnQoMCkpOworICAgIGlmIChleGVjLT5o
YWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisgICAgCisgICAg
QVNTRVJUKGNhbGxiYWNrKTsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRDb250
ZXh0ID0gc3RhdGljX2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFs
T2JqZWN0KCkpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CisgICAgTm90aWZpY2F0aW9uOjpy
ZXF1ZXN0UGVybWlzc2lvbihzY3JpcHRDb250ZXh0LCBjYWxsYmFjay5yZWxlYXNlKCkpOworICAg
IHJldHVybiBqc1VuZGVmaW5lZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DdXN0b20uY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmMyMjhmNWU1MTQyMzNjZDc2MDQ0YjMyZjM2NGE1ZTk0MDQzMDA2Y2MKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25D
dXN0b20uY3BwCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBw
bGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKKyNpbmNsdWRlICJWOE5vdGlmaWNhdGlvbi5oIgorCisjaW5jbHVkZSAiRXhjZXB0
aW9uQ29kZS5oIgorI2luY2x1ZGUgIlY4Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4Tm90aWZp
Y2F0aW9uOjpyZXF1ZXN0UGVybWlzc2lvbihjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQorewor
ICAgIElOQ19TVEFUUyhMIkRPTS5Ob3RpZmljYXRpb24uUmVxdWVzdFBlcm1pc3Npb24oKSIpOwor
CisgICAgTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24gPSBWOE5vdGlmaWNhdGlvbjo6dG9OYXRp
dmUoYXJncy5Ib2xkZXIoKSk7CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCA9
IG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworCisgICAgYm9vbCBzdWNj
ZWVkZWQgPSBmYWxzZTsKKyAgICBSZWZQdHI8VjhOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2s+IGNhbGxiYWNrID0gY3JlYXRlRnVuY3Rpb25Pbmx5Q2FsbGJhY2s8VjhOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uQ2FsbGJhY2s+KGFyZ3NbMF0sIHN1Y2NlZWRlZCk7CisgICAgaWYgKCFzdWNjZWVk
ZWQpCisgICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CisgICAgQVNTRVJUKGNhbGxiYWNr
KTsKKworICAgIE5vdGlmaWNhdGlvbjo6cmVxdWVzdFBlcm1pc3Npb24oY29udGV4dCwgY2FsbGJh
Y2sucmVsZWFzZSgpKTsKKyAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAppbmRleCA3NDk2NGRj
NzdhZGFkMDgxY2IwZWYxOWNhNDRhZDRhNDhlMDg3ZTcyLi45OGEyMmMxY2JiZmU3NDAwYTAzNjE5
ZjU1YTgwNDNhNmU3NDY5ZmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb24uY3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAw
OSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA5
LCAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAwOSwgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zNSwxMSArMzUsMTQgQEAKIAogI2luY2x1
ZGUgIk5vdGlmaWNhdGlvbi5oIgogCisjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAi
RG9jdW1lbnQuaCIKICNpbmNsdWRlICJFcnJvckV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1l
cy5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNlbnRlci5oIgogI2luY2x1ZGUgIk5vdGlmaWNh
dGlvbkNvbnRlbnRzLmgiCisjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ29udHJvbGxlci5oIgorI2lu
Y2x1ZGUgIk5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIgogI2luY2x1ZGUgIk5vdGlm
aWNhdGlvblByZXNlbnRlci5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1
ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKQEAgLTIwMSw2ICsyMDQsMzggQEAgdm9pZCBOb3RpZmlj
YXRpb246OnN0b3BMb2FkaW5nKCkKICAgICBtX2xvYWRlci0+Y2FuY2VsKCk7CiB9CiAKK2NvbnN0
IFN0cmluZyYgTm90aWZpY2F0aW9uOjpwZXJtaXNzaW9uTGV2ZWwoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogY29udGV4dCkKK3sKKyAgICBBU1NFUlQoY29udGV4dC0+aXNEb2N1bWVudCgpKTsKKyAg
ICBBU1NFUlQoc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KS0+cGFnZSgpKTsKKyAgICBy
ZXR1cm4gc3RyaW5nRm9yUGVybWlzc2lvbihOb3RpZmljYXRpb25Db250cm9sbGVyOjpmcm9tKHN0
YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCktPnBhZ2UoKSktPmNsaWVudCgpLT5jaGVja1Bl
cm1pc3Npb24oY29udGV4dCkpOworfQorCitjb25zdCBTdHJpbmcmIE5vdGlmaWNhdGlvbjo6c3Ry
aW5nRm9yUGVybWlzc2lvbihOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb24gcGVybWlz
c2lvbikKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgYWxsb3dlZFBl
cm1pc3Npb24sICgiZ3JhbnRlZCIpKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0
cmluZywgZGVuaWVkUGVybWlzc2lvbiwgKCJkZW5pZWQiKSk7CisgICAgREVGSU5FX1NUQVRJQ19M
T0NBTChjb25zdCBTdHJpbmcsIGRlZmF1bHRQZXJtaXNzaW9uLCAoImRlZmF1bHQiKSk7CisgICAg
c3dpdGNoIChwZXJtaXNzaW9uKSB7CisgICAgY2FzZSBOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBl
cm1pc3Npb25BbGxvd2VkOgorICAgICAgICByZXR1cm4gYWxsb3dlZFBlcm1pc3Npb247CisgICAg
Y2FzZSBOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb25EZW5pZWQ6CisgICAgICAgIHJl
dHVybiBkZW5pZWRQZXJtaXNzaW9uOworICAgIGNhc2UgTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQ
ZXJtaXNzaW9uTm90QWxsb3dlZDoKKyAgICAgICAgcmV0dXJuIGRlZmF1bHRQZXJtaXNzaW9uOwor
ICAgIH0KKyAgICAKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gZGVuaWVk
UGVybWlzc2lvbjsKK30KKwordm9pZCBOb3RpZmljYXRpb246OnJlcXVlc3RQZXJtaXNzaW9uKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrPiBjYWxsYmFjaykKK3sKKyAgICBBU1NFUlQoY29udGV4dC0+aXNEb2N1
bWVudCgpKTsKKyAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KS0+cGFn
ZSgpKTsKKyAgICBOb3RpZmljYXRpb25Db250cm9sbGVyOjpmcm9tKHN0YXRpY19jYXN0PERvY3Vt
ZW50Kj4oY29udGV4dCktPnBhZ2UoKSktPmNsaWVudCgpLT5yZXF1ZXN0UGVybWlzc2lvbihjb250
ZXh0LCBjYWxsYmFjayk7Cit9CisKIHZvaWQgTm90aWZpY2F0aW9uOjpkaWRSZWNlaXZlUmVzcG9u
c2UodW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7CiAg
ICAgaW50IHN0YXR1cyA9IHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oIGIvU291cmNlL1dlYkNv
cmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAppbmRleCBkZDBkNmVkODRhZDMwNzlkODhi
YTAyYTAyYmNhY2M2YTY0NWNiMzlkLi5lMGQyMDM1OGFhNjkwNTIwNTRiMzJjODkwMDI4NzM4ODcz
MGVlMTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgK
QEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDExLCAyMDEy
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgog
I2luY2x1ZGUgIktVUkwuaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25Db250ZW50cy5oIgorI2lu
Y2x1ZGUgIk5vdGlmaWNhdGlvblByZXNlbnRlci5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5o
IgogI2luY2x1ZGUgIlRleHREaXJlY3Rpb24uaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVy
Q2xpZW50LmgiCkBAIC01MCw2ICs1MSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IE5vdGlmaWNhdGlvbkNlbnRlcjsKK2NsYXNzIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFj
azsKIGNsYXNzIFJlc291cmNlRXJyb3I7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3Mg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKQEAgLTExOSw2ICsxMjEsMTAgQEAgcHVibGljOgogICAg
IC8vIERlcHJlY2F0ZWQuIFVzZSBmdW5jdGlvbnMgZnJvbSBOb3RpZmljYXRpb25DZW50ZXIuCiAg
ICAgdm9pZCBkZXRhY2hQcmVzZW50ZXIoKSB7IH0KIAorICAgIHN0YXRpYyBjb25zdCBTdHJpbmcm
IHBlcm1pc3Npb25MZXZlbChTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CisgICAgc3RhdGljIGNv
bnN0IFN0cmluZyYgc3RyaW5nRm9yUGVybWlzc2lvbihOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBl
cm1pc3Npb24pOworICAgIHN0YXRpYyB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4p
OworCiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nLCBj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVEYXRh
KGNvbnN0IGNoYXIqIGRhdGEsIGludCBkYXRhTGVuZ3RoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlk
RmluaXNoTG9hZGluZyh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGRvdWJsZSBmaW5pc2hUaW1l
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAppbmRl
eCBkOGNiM2NjMzlhMjVlNzE3NDNlOWY3NWU5ZThjZjRjMTgwZTIyMTY4Li40NTgxNmUxODQzZDBj
NDJjYzRlODYzNjBkYWIxZjVkNGI4ZWE2NzE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdo
dCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0
IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zNCwxMiArMzQsMTQgQEAgbW9kdWxlIHRocmVh
ZHMgewogICAgIGludGVyZmFjZSBbCiAgICAgICAgIENvbmRpdGlvbmFsPU5PVElGSUNBVElPTlMs
CiAgICAgICAgIEFjdGl2ZURPTU9iamVjdCwKLSAgICAgICAgRXZlbnRUYXJnZXQsCi0gICAgICAg
IE9taXRDb25zdHJ1Y3RvcgorICAgICAgICBFdmVudFRhcmdldAogICAgIF0gTm90aWZpY2F0aW9u
IHsKICAgICAgICAgdm9pZCBzaG93KCk7CiAgICAgICAgIHZvaWQgY2FuY2VsKCk7CiAKKyAgICAg
ICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHN0YXRpYyBET01TdHJpbmcgcGVy
bWlzc2lvbkxldmVsKCk7CisgICAgICAgIFtDdXN0b21dIHN0YXRpYyB2b2lkIHJlcXVlc3RQZXJt
aXNzaW9uKGluIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjayBjYWxsYmFjayk7CisKICAg
ICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25zaG93OwogICAgICAgICAvLyBGSVhNRTog
VGhlIGxhdGVzdCBXZWIgTm90aWZpY2F0aW9ucyBzdGFuZGFyZCB1c2VzIHRoZSBvbnNob3cgZXZl
bnQgbGlzdGVuZXIuCiAgICAgICAgIC8vIFRoZSBvbmRpc3BsYXkgZXZlbnQgbGlzdGVuZXIgc2hv
dWxkIGJlIHJlbW92ZWQgd2hlbiBpbXBsZW1lbnRhdGlvbnMgY2hhbmdlIHRoZSBldmVudCBsaXN0
ZW5lciB0byBvbnNob3cuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbkNlbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbkNlbnRlci5jcHAKaW5kZXggNzExNDZhZjhkYTM3MjNkMTQ3MTVlZmNiNWQxYWJl
YWM0OGUzNzE1OS4uNDY3NDQzNGFlMDFhMDczOGRmMjRjMzQ1ODE0NjA0N2FhODEwNzQxNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVy
LmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CkBAIC01MiwxOSArNTMsMjMgQEAgTm90aWZpY2F0aW9uQ2VudGVyOjpOb3RpZmljYXRpb25DZW50
ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgTm90aWZpY2EKICAgICA6IEFjdGl2
ZURPTU9iamVjdChjb250ZXh0LCB0aGlzKQogICAgICwgbV9ub3RpZmljYXRpb25QcmVzZW50ZXIo
cHJlc2VudGVyKSB7fQogCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogaW50IE5v
dGlmaWNhdGlvbkNlbnRlcjo6Y2hlY2tQZXJtaXNzaW9uKCkKIHsKICAgICBpZiAoIXByZXNlbnRl
cigpIHx8ICFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCiAgICAgICAgIHJldHVybiBOb3RpZmlj
YXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb25EZW5pZWQ7CiAgICAgcmV0dXJuIG1fbm90aWZpY2F0
aW9uUHJlc2VudGVyLT5jaGVja1Blcm1pc3Npb24oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsK
IH0KKyNlbmRpZgogCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogdm9pZCBOb3Rp
ZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9uKFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNr
PiBjYWxsYmFjaykKIHsKICAgICBpZiAoIXByZXNlbnRlcigpIHx8ICFzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkpCiAgICAgICAgIHJldHVybjsKICAgICBtX25vdGlmaWNhdGlvblByZXNlbnRlci0+
cmVxdWVzdFBlcm1pc3Npb24oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBjYWxsYmFjayk7CiB9
CisjZW5kaWYKIAogdm9pZCBOb3RpZmljYXRpb25DZW50ZXI6OmRpc2Nvbm5lY3RGcmFtZSgpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNl
bnRlci5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIu
aAppbmRleCA0MDJjY2JhOTM4YjJmZWUwODFmOGE2YThkN2JlY2VmZjc4Y2MyNjkyLi5mNjY4MzYx
MDc5ZDAxYTE3MmJiMzRmNGFjMWE0MDc2MjU2ZjdlOGMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgKQEAgLTEsNiArMSw2IEBACiAv
KgogICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTc3LDggKzc3LDEwIEBA
IHB1YmxpYzoKIAogICAgIE5vdGlmaWNhdGlvblByZXNlbnRlciogcHJlc2VudGVyKCkgY29uc3Qg
eyByZXR1cm4gbV9ub3RpZmljYXRpb25QcmVzZW50ZXI7IH0KIAorI2lmIEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykKICAgICBpbnQgY2hlY2tQZXJtaXNzaW9uKCk7CiAgICAgdm9pZCByZXF1
ZXN0UGVybWlzc2lvbihQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pOworI2VuZGlmCiAKICAgICB2
b2lkIGRpc2Nvbm5lY3RGcmFtZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwKaW5kZXggOGJlMWVjYzc2OWZiYzVhNDM3Yjc2
NGU5NmEwN2U0NzUxNzBhMzU2Ni4uYjk5N2Q5ZjMyMzE4M2IyODdlYzUxYTQ2MTNjYzQwZDZmMzIz
MTViMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25DZW50ZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ2VudGVyLmlkbApAQCAtNDEsOCArNDEsMTAgQEAgbW9kdWxlIHRocmVhZHMgewogI2VuZGlm
CiAgICAgICAgW1Y4Q3VzdG9tXSBOb3RpZmljYXRpb24gY3JlYXRlTm90aWZpY2F0aW9uKGluIERP
TVN0cmluZyBpY29uVXJsLCBpbiBET01TdHJpbmcgdGl0bGUsIGluIERPTVN0cmluZyBib2R5KSBy
YWlzZXMoRE9NRXhjZXB0aW9uKTsKIAorI2lmIGRlZmluZWQoRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TKSAmJiBFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMKICAgICAgICBpbnQgY2hlY2tQ
ZXJtaXNzaW9uKCk7CiAgICAgICAgW0N1c3RvbV0gdm9pZCByZXF1ZXN0UGVybWlzc2lvbihpbiBW
b2lkQ2FsbGJhY2sgY2FsbGJhY2spOworI2VuZGlmCiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2suaCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lv
bkNhbGxiYWNrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzQ5NGVmNWUwMzNhOTMwMmIzMGI1ODZlODkzMzkzN2Y5
OTljNDcxMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2lmbmRlZiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2tfaAorI2RlZmluZSBOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2tfaAorCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
KyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisgICAg
CitjbGFzcyBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgOiBwdWJsaWMgUmVmQ291bnRl
ZDxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFs
IH5Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2soKSB7IH0KKyAgICB2aXJ0dWFsIGJvb2wg
aGFuZGxlRXZlbnQoY29uc3QgU3RyaW5nJiBwZXJtaXNzaW9uKSA9IDA7Cit9OworICAgIAorfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gTm90aWZpY2F0aW9uUGVybWlzc2lvbkNh
bGxiYWNrX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZjExMTYx
MmUyNDBjZWNhYTE5ZmI1ZWE3MWFhY2Q3ZDI2MDkzYzIwCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2su
aWRsCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSB0aHJlYWRzIHsKKworICAgIGlu
dGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPU5PVElGSUNBVElPTlMsCisgICAgICAgIENh
bGxiYWNrCisgICAgXSBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgeworICAgICAgICBi
b29sZWFuIGhhbmRsZUV2ZW50KGluIERPTVN0cmluZyBwZXJtaXNzaW9uKTsKKyAgICB9OworCit9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBy
ZXNlbnRlci5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QcmVz
ZW50ZXIuaAppbmRleCAxOTM1Mzg0ZGMxZjZjYjkxNzQ4MGE5ZDRjODFiOTZmNDNhNDhiMTliLi41
Nzg1NzY5YjFlZGIzMzlkZTgzZmY3MmJhZTA0MTU4ZmE1NDNlZTFkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblByZXNlbnRlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUHJlc2VudGVyLmgKQEAgLTEs
NiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTM4
LDggKzM4LDkgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7Ci1jbGFz
cyBOb3RpZmljYXRpb247CiBjbGFzcyBLVVJMOworY2xhc3MgTm90aWZpY2F0aW9uOworY2xhc3Mg
Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrOwogY2xhc3MgUGFnZTsKIGNsYXNzIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ7CiAKQEAgLTcwLDEwICs3MSwxNCBAQCBwdWJsaWM6CiAgICAgLy8g
SW5mb3JtcyB0aGUgcHJlc2VudGVyIHRoZSBjb250cm9sbGVyIGF0dGFjaGVkIHRvIHRoZSBwYWdl
IGhhcyBiZWVuIGRlc3Ryb3llZC4KICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uQ29udHJv
bGxlckRlc3Ryb3llZCgpID0gMDsKIAorI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykK
ICAgICAvLyBSZXF1ZXN0cyB1c2VyIHBlcm1pc3Npb24gdG8gc2hvdyBkZXNrdG9wIG5vdGlmaWNh
dGlvbnMgZnJvbSBhIHBhcnRpY3VsYXIKICAgICAvLyBzY3JpcHQgY29udGV4dC4gVGhlIGNhbGxi
YWNrIHBhcmFtZXRlciBzaG91bGQgYmUgcnVuIHdoZW4gdGhlIHVzZXIgaGFzCiAgICAgLy8gbWFk
ZSBhIGRlY2lzaW9uLgogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+KSA9IDA7CisjZW5kaWYK
KyAgICAvLyBGSVhNRTogT25jZSBhbGwgb2YgdGhlIHBvcnRzIGhhdmUgYWRvcHRlZCB0aGUgbmV3
IEFQSSwgd2Ugc2hvdWxkIHR1cm4gdGhpcyB0byBhIHB1cmUgdmlydHVhbC4KKyAgICB2aXJ0dWFs
IHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQ
dHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPikgeyB9CiAKICAgICAvLyBDYW5jZWwg
YWxsIG91dHN0YW5kaW5nIHJlcXVlc3RzIGZvciB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dAog
ICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24oU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCopID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCAxNDA4NmJm
MjBlOWU0OTc2YWE4ODEyM2I4NjBjMDdiNDU5M2E3OWFkLi5mZGNhNjRhZTEyNmYxNjM1ZDk1OTg4
ZGM4YjY3NzRlMGQ3ZTg0NmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC0xNzIs
NiArMTcyLDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAKICNpZiBkZWZpbmVkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAmJiBFTkFCTEVfTk9USUZJQ0FUSU9OUwogICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgW1Y4RW5hYmxlZEF0UnVudGltZV0gTm90aWZpY2F0aW9uQ2VudGVyIHdlYmtpdE5vdGlmaWNh
dGlvbnM7CisgICAgICAgIGF0dHJpYnV0ZSBOb3RpZmljYXRpb25Db25zdHJ1Y3RvciBOb3RpZmlj
YXRpb247CiAjZW5kaWYKIAogI2lmIGRlZmluZWQoRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUykg
JiYgRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaAppbmRleCBhNDBjZTgx
ZTVkYzdmNjQ2NjUxZWY4Njk4YTc2MmU1MTE4ZDdiYjkzLi42NGZhZGYyMmFkMDMxNjRmNjA4N2Zj
YTFlYTY0NTM0MDVhZGQ1NWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaApAQCAtMzQsMTEgKzM0LDEzIEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE5vdGlmaWNhdGlvbjsKK2NsYXNzIE5vdGlm
aWNhdGlvblBlcm1pc3Npb25DYWxsYmFjazsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7
CiBjbGFzcyBWb2lkQ2FsbGJhY2s7CiB9CiAKIEBjbGFzcyBXZWJOb3RpZmljYXRpb247CitAY2xh
c3MgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXI7CiBAY2xhc3MgV2ViVmlldzsKIAogY2xh
c3MgV2ViTm90aWZpY2F0aW9uQ2xpZW50IDogcHVibGljIFdlYkNvcmU6Ok5vdGlmaWNhdGlvblBy
ZXNlbnRlciB7CkBAIC01MiwxMCArNTQsMTcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQg
Y2xlYXJOb3RpZmljYXRpb25zKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBPVkVS
UklERTsKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKFdlYkNv
cmU6Ok5vdGlmaWNhdGlvbiopIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRp
b25Db250cm9sbGVyRGVzdHJveWVkKCkgT1ZFUlJJREU7CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJhY2s+
KSBPVkVSUklERTsKKyNlbmRpZgorICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihX
ZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQg
Y2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqKSBPVkVSUklERSB7IH0KICAgICB2aXJ0dWFsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvblByZXNl
bnRlcjo6UGVybWlzc2lvbiBjaGVja1Blcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9u
Q29udGV4dCopIE9WRVJSSURFOwogCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisgICAgdm9p
ZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV2Vi
Tm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgKik7CisjZW5kaWYKKwogICAgIFdlYlZpZXcgKm1f
d2ViVmlldzsKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBIYXNoTWFwPFJlZlB0cjxX
ZWJDb3JlOjpOb3RpZmljYXRpb24+LCBSZXRhaW5QdHI8V2ViTm90aWZpY2F0aW9uPiA+IG1fbm90
aWZpY2F0aW9uTWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lm1tCmluZGV4IDJmN2NkNTQxMTc3MTM3MzNmYWUw
ZTFlMmMyZjRhOTkxMWQ2ZmJjNGYuLmZkY2QyOGU3Y2EwZjU2NjRlNmNiYzlhOTA2YmE5OWVlYjNi
ZjRhMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5v
dGlmaWNhdGlvbkNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJOb3RpZmljYXRpb25DbGllbnQubW0KQEAgLTMzLDE4ICszMywzMSBAQAogI2ltcG9ydCAi
V2ViVUlEZWxlZ2F0ZVByaXZhdGUuaCIKICNpbXBvcnQgIldlYlZpZXdJbnRlcm5hbC5oIgogI2lt
cG9ydCA8V2ViQ29yZS9CbG9ja0V4Y2VwdGlvbnMuaD4KKyNpbXBvcnQgPFdlYkNvcmUvTm90aWZp
Y2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4KICNp
bXBvcnQgPFdlYkNvcmUvU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oPgogI2VuZGlmCiAKKyNpZiBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaW1wb3J0IDxXZWJDb3JlL1ZvaWRDYWxsYmFj
ay5oPgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiAjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCisKIEBpbnRlcmZhY2UgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIg
OiBOU09iamVjdCA8V2ViQWxsb3dEZW55UG9saWN5TGlzdGVuZXI+CiB7Ci0gICAgUmVmUHRyPFZv
aWRDYWxsYmFjaz4gX2NhbGxiYWNrOworICAgIFJlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2s+IF9jYWxsYmFjazsKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisg
ICAgUmVmUHRyPFZvaWRDYWxsYmFjaz4gX3ZvaWRDYWxsYmFjazsKKyNlbmRpZgogfQotLSAoaWQp
aW5pdFdpdGhDYWxsYmFjazooUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+KWNhbGxiYWNrOworLSAo
aWQpaW5pdFdpdGhDYWxsYmFjazooUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2s+KWNhbGxiYWNrOworI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKy0gKGlk
KWluaXRXaXRoVm9pZENhbGxiYWNrOihQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pY2FsbGJhY2s7
CisjZW5kaWYKKwogQGVuZAogI2VuZGlmCiAKQEAgLTE0NywyOSArMTYwLDQ2IEBAIHZvaWQgV2Vi
Tm90aWZpY2F0aW9uQ2xpZW50Ojpub3RpZmljYXRpb25Db250cm9sbGVyRGVzdHJveWVkKCkKICAg
ICBkZWxldGUgdGhpczsKIH0KIAorCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQog
dm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFjaykK
IHsKKyAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CisgICAgV2ViTm90aWZpY2F0aW9u
UG9saWN5TGlzdGVuZXIqIGxpc3RlbmVyID0gW1tXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5l
ciBhbGxvY10gaW5pdFdpdGhWb2lkQ2FsbGJhY2s6Y2FsbGJhY2tdOworICAgIHJlcXVlc3RQZXJt
aXNzaW9uKGNvbnRleHQsIGxpc3RlbmVyKTsKKyAgICBbbGlzdGVuZXIgcmVsZWFzZV07CisgICAg
RU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKK30KKyNlbmRpZgorCit2b2lkIFdlYk5vdGlmaWNh
dGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCwgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNhbGxiYWNr
KQorewogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhD
RVBUSU9OUzsKLSAgICAKKyAgICBXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciAqbGlzdGVu
ZXIgPSBbW1dlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGFsbG9jXSBpbml0V2l0aENhbGxi
YWNrOmNhbGxiYWNrXTsKKyAgICByZXF1ZXN0UGVybWlzc2lvbihjb250ZXh0LCBsaXN0ZW5lcik7
CisgICAgW2xpc3RlbmVyIHJlbGVhc2VdOworICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7
CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShjb250ZXh0KTsKKyAgICBVTlVTRURfUEFSQU0oY2Fs
bGJhY2spOworI2VuZGlmCit9CisKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKK3ZvaWQgV2Vi
Tm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBjb250ZXh0LCBXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciAqbGlz
dGVuZXIpCit7CiAgICAgU0VMIHNlbGVjdG9yID0gQHNlbGVjdG9yKHdlYlZpZXc6ZGVjaWRlUG9s
aWN5Rm9yTm90aWZpY2F0aW9uUmVxdWVzdEZyb21PcmlnaW46bGlzdGVuZXI6KTsKICAgICBpZiAo
IVtbbV93ZWJWaWV3IFVJRGVsZWdhdGVdIHJlc3BvbmRzVG9TZWxlY3RvcjpzZWxlY3Rvcl0pCiAg
ICAgICAgIHJldHVybjsKICAgICAKICAgICBXZWJTZWN1cml0eU9yaWdpbiAqd2ViT3JpZ2luID0g
W1tXZWJTZWN1cml0eU9yaWdpbiBhbGxvY10gX2luaXRXaXRoV2ViQ29yZVNlY3VyaXR5T3JpZ2lu
OmNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCldOwotICAgIFdlYk5vdGlmaWNhdGlvblBvbGljeUxp
c3RlbmVyKiBsaXN0ZW5lciA9IFtbV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgYWxsb2Nd
IGluaXRXaXRoQ2FsbGJhY2s6Y2FsbGJhY2tdOwogICAgIAogICAgIENhbGxVSURlbGVnYXRlKG1f
d2ViVmlldywgc2VsZWN0b3IsIHdlYk9yaWdpbiwgbGlzdGVuZXIpOwogICAgIAogICAgIFt3ZWJP
cmlnaW4gcmVsZWFzZV07Ci0gICAgW2xpc3RlbmVyIHJlbGVhc2VdOwotICAgIAotICAgIEVORF9C
TE9DS19PQkpDX0VYQ0VQVElPTlM7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShjb250ZXh0KTsK
LSAgICBVTlVTRURfUEFSQU0oY2FsbGJhY2spOwotI2VuZGlmCiB9CisjZW5kaWYKIAogTm90aWZp
Y2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2hlY2tQ
ZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiB7CkBAIC0xOTksNyAr
MjI5LDggQEAgTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIFdlYk5vdGlmaWNhdGlv
bkNsaWVudDo6Y2hlY2tQZXJtaXNzaW9uKFNjcmlwdEUKIAogI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKQogQGltcGxlbWVudGF0aW9uIFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyCi0tIChp
ZClpbml0V2l0aENhbGxiYWNrOihQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pY2FsbGJhY2sKKwor
LSAoaWQpaW5pdFdpdGhDYWxsYmFjazooUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2s+KWNhbGxiYWNrCiB7CiAgICAgaWYgKCEoc2VsZiA9IFtzdXBlciBpbml0XSkpCiAg
ICAgICAgIHJldHVybiBuaWw7CkBAIC0yMDksMTQgKzI0MCw0MCBAQCBOb3RpZmljYXRpb25QcmVz
ZW50ZXI6OlBlcm1pc3Npb24gV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpjaGVja1Blcm1pc3Npb24o
U2NyaXB0RQogICAgIHJldHVybiBzZWxmOwogfQogCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQorLSAoaWQpaW5pdFdpdGhWb2lkQ2FsbGJhY2s6KFBhc3NSZWZQdHI8Vm9pZENhbGxi
YWNrPiljYWxsYmFjaworeworICAgIGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdF0pKQorICAgICAg
ICByZXR1cm4gbmlsOworCisgICAgQVNTRVJUKGNhbGxiYWNrKTsKKyAgICBfdm9pZENhbGxiYWNr
ID0gY2FsbGJhY2s7CisgICAgcmV0dXJuIHNlbGY7Cit9CisjZW5kaWYKKwogLSAodm9pZClhbGxv
dwogewotICAgIF9jYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyNpZiBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCisgICAgaWYgKF92b2lkQ2FsbGJhY2spIHsKKyAgICAgICAgX3ZvaWRDYWxs
YmFjay0+aGFuZGxlRXZlbnQoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorCisg
ICAgX2NhbGxiYWNrLT5oYW5kbGVFdmVudChOb3RpZmljYXRpb246OnN0cmluZ0ZvclBlcm1pc3Np
b24oTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uQWxsb3dlZCkpOwogfQogCiAtICh2
b2lkKWRlbnkKIHsKLSAgICBfY2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7CisjaWYgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQorICAgIGlmIChfdm9pZENhbGxiYWNrKSB7CisgICAgICAgIF92
b2lkQ2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5k
aWYKKworICAgIF9jYWxsYmFjay0+aGFuZGxlRXZlbnQoTm90aWZpY2F0aW9uOjpzdHJpbmdGb3JQ
ZXJtaXNzaW9uKE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbkRlbmllZCkpOwogfQog
CiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXIuY3BwCmluZGV4IDFkZGRhN2M5ODE2MGQ1NDliOTkyM2FlMjdlMTRkZTg3ZDg5NTdi
MjIuLmZiNGZjMDdkOTI1OWExNTg0Y2Q5NjBmOTAwZGNhYTEwZDY2Yzk3MmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJt
aXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
Tm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwCkBA
IC01OSwxMSArNTksMTIgQEAgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpO
b3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoV2ViUGEKIHsKIH0KIAotdm9pZCBO
b3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OnN0YXJ0UmVxdWVzdChTZWN1cml0
eU9yaWdpbiogb3JpZ2luLCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4gY2FsbGJhY2spCit2b2lk
IE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6c3RhcnRSZXF1ZXN0KFNlY3Vy
aXR5T3JpZ2luKiBvcmlnaW4sIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxi
YWNrPiBjYWxsYmFjaykKIHsKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKLSAgICBpZiAocGVy
bWlzc2lvbkxldmVsKG9yaWdpbikgIT0gTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9u
Tm90QWxsb3dlZCkgewotICAgICAgICBjYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyAgICBOb3Rp
ZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb24gcGVybWlzc2lvbiA9IHBlcm1pc3Npb25MZXZl
bChvcmlnaW4pOworICAgIGlmIChwZXJtaXNzaW9uICE9IE5vdGlmaWNhdGlvblByZXNlbnRlcjo6
UGVybWlzc2lvbk5vdEFsbG93ZWQpIHsKKyAgICAgICAgY2FsbGJhY2stPmhhbmRsZUV2ZW50KE5v
dGlmaWNhdGlvbjo6c3RyaW5nRm9yUGVybWlzc2lvbihwZXJtaXNzaW9uKSk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKQEAgLTc4LDYgKzc5LDIzIEBAIHZvaWQgTm90aWZpY2F0aW9uUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyOjpzdGFydFJlcXVlc3QoU2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwK
ICNlbmRpZgogfQogCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQordm9pZCBOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OnN0YXJ0UmVxdWVzdChTZWN1cml0eU9y
aWdpbiogb3JpZ2luLCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4gY2FsbGJhY2spCit7CisgICAg
Tm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIHBlcm1pc3Npb24gPSBwZXJtaXNzaW9u
TGV2ZWwob3JpZ2luKTsKKyAgICBpZiAocGVybWlzc2lvbiAhPSBOb3RpZmljYXRpb25QcmVzZW50
ZXI6OlBlcm1pc3Npb25Ob3RBbGxvd2VkKSB7CisgICAgICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVu
dCgpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIAorICAgIHVpbnQ2NF90IHJlcXVlc3RJ
RCA9IGdlbmVyYXRlUmVxdWVzdElEKCk7CisgICAgbV9vcmlnaW5Ub0lETWFwLnNldChvcmlnaW4s
IHJlcXVlc3RJRCk7CisgICAgbV9pZFRvT3JpZ2luTWFwLnNldChyZXF1ZXN0SUQsIG9yaWdpbik7
CisgICAgbV9pZFRvVm9pZENhbGxiYWNrTWFwLnNldChyZXF1ZXN0SUQsIGNhbGxiYWNrKTsKKyAg
ICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UmVxdWVzdE5vdGlmaWNhdGlv
blBlcm1pc3Npb24ocmVxdWVzdElELCBvcmlnaW4tPnRvU3RyaW5nKCkpKTsKK30KKyNlbmRpZgor
CiB2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6Y2FuY2VsUmVxdWVz
dChTZWN1cml0eU9yaWdpbiogb3JpZ2luKQogewogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQpA
QCAtMTExLDExICsxMjksMTkgQEAgdm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXI6OmRpZFJlY2VpdmVOb3RpZmljYXRpb25QZXJtaXNzaW9uRGVjaXMKICAgICBpZiAoIWlz
UmVxdWVzdElEVmFsaWQocmVxdWVzdElEKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgUmVmUHRy
PFZvaWRDYWxsYmFjaz4gY2FsbGJhY2sgPSBtX2lkVG9DYWxsYmFja01hcC50YWtlKHJlcXVlc3RJ
RCk7CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorICAgIFJlZlB0cjxWb2lkQ2Fs
bGJhY2s+IHZvaWRDYWxsYmFjayA9IG1faWRUb1ZvaWRDYWxsYmFja01hcC50YWtlKHJlcXVlc3RJ
RCk7CisgICAgaWYgKHZvaWRDYWxsYmFjaykgeworICAgICAgICB2b2lkQ2FsbGJhY2stPmhhbmRs
ZUV2ZW50KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYKKworICAgIFJlZlB0cjxO
b3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNhbGxiYWNrID0gbV9pZFRvQ2FsbGJhY2tN
YXAudGFrZShyZXF1ZXN0SUQpOwogICAgIGlmICghY2FsbGJhY2spCiAgICAgICAgIHJldHVybjsK
ICAgICAKLSAgICBjYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyAgICBjYWxsYmFjay0+aGFuZGxl
RXZlbnQoTm90aWZpY2F0aW9uOjpzdHJpbmdGb3JQZXJtaXNzaW9uKGFsbG93ZWQgPyBOb3RpZmlj
YXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb25BbGxvd2VkIDogTm90aWZpY2F0aW9uUHJlc2VudGVy
OjpQZXJtaXNzaW9uRGVuaWVkKSk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShyZXF1ZXN0SUQp
OwogICAgIFVOVVNFRF9QQVJBTShhbGxvd2VkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaAppbmRleCA1NTczYzZhMTExOWVmMmIwNmU3
ZWVjMmVjOTFjM2IzYWQ3ZWNmNzVkLi5iYTM5ZmJmNzJhZmUwMjBhNWJiZmMzZDA1MTk1YjM3YjI5
ZmJiMzY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlci5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIE5vdGlmaWNhdGlvblBlcm1p
c3Npb25SZXF1ZXN0TWFuYWdlcl9oCiAjZGVmaW5lIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlcl9oCiAKKyNpbmNsdWRlIDxXZWJDb3JlL05vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTm90aWZpY2F0aW9uUHJlc2VudGVyLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9Wb2lkQ2FsbGJhY2suaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5o
PgpAQCAtNDYsNyArNDcsMTAgQEAgY2xhc3MgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyIDogcHVibGljIFJlZkNvdW50ZWQ8Tm90aWZpY2F0aW9uUGVybWkKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI+
IGNyZWF0ZShXZWJQYWdlKik7CiAgICAgCisgICAgdm9pZCBzdGFydFJlcXVlc3QoV2ViQ29yZTo6
U2VjdXJpdHlPcmlnaW4qLCBQYXNzUmVmUHRyPFdlYkNvcmU6Ok5vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjaz4pOworI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICB2b2lk
IHN0YXJ0UmVxdWVzdChXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiosIFBhc3NSZWZQdHI8V2ViQ29y
ZTo6Vm9pZENhbGxiYWNrPik7CisjZW5kaWYKICAgICB2b2lkIGNhbmNlbFJlcXVlc3QoV2ViQ29y
ZTo6U2VjdXJpdHlPcmlnaW4qKTsKICAgICAKICAgICAvLyBTeW5jaHJvbm91cyBjYWxsIHRvIHJl
dHJpZXZlIHBlcm1pc3Npb24gbGV2ZWwgZm9yIGdpdmVuIHNlY3VyaXR5IG9yaWdpbgpAQCAtNTcs
NyArNjEsMTAgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBOb3RpZmljYXRpb25QZXJtaXNzaW9u
UmVxdWVzdE1hbmFnZXIoV2ViUGFnZSopOwogICAgIAotICAgIEhhc2hNYXA8dWludDY0X3QsIFJl
ZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJhY2s+ID4gbV9pZFRvQ2FsbGJhY2tNYXA7CisgICAgSGFz
aE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYkNvcmU6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxs
YmFjaz4gPiBtX2lkVG9DYWxsYmFja01hcDsKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCisgICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4g
PiBtX2lkVG9Wb2lkQ2FsbGJhY2tNYXA7CisjZW5kaWYKICAgICBIYXNoTWFwPFJlZlB0cjxXZWJD
b3JlOjpTZWN1cml0eU9yaWdpbj4sIHVpbnQ2NF90PiBtX29yaWdpblRvSURNYXA7CiAgICAgSGFz
aE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPiA+IG1faWRUb09y
aWdpbk1hcDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuY3BwCmluZGV4IDkwZWIx
NjFmMjZjZGIzMzAzNjExYjRlYThlNjA1OGU2OWViYzU0MDMuLmRjNWJiN2EyM2Y4NmUzNDY1N2Ni
YWUyZDU0NDIxNTIzMTU0ZDE5YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5j
cHAKQEAgLTc3LDYgKzc3LDExIEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0
UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQCiAgICAgbV9wYWdl
LT5ub3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKS0+c3RhcnRSZXF1ZXN0KGNv
bnRleHQtPnNlY3VyaXR5T3JpZ2luKCksIGNhbGxiYWNrKTsKIH0KIAordm9pZCBXZWJOb3RpZmlj
YXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBjYWxsYmFj
aykKK3sKKyAgICBtX3BhZ2UtPm5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcigp
LT5zdGFydFJlcXVlc3QoY29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKSwgY2FsbGJhY2spOworfQor
CiB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9u
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiB7CiAgICAgbV9wYWdlLT5ub3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKS0+Y2FuY2VsUmVxdWVzdChjb250ZXh0LT5z
ZWN1cml0eU9yaWdpbigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCmluZGV4IDE0
N2E4OGFjMTBkZDg5YzU4YzgzNjMwZTY1YWY0Yzc0OGYwZTI1ODEuLjE0OTRmOWQyNzg1NTgxMTZm
MThiYzk5ZTNiZjZiMzE2YzNiNDA1NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQu
aApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTm90aWZpY2F0aW9uUHJlc2Vu
dGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIE5vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjazsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiBjbGFzcyBWb2lkQ2Fs
bGJhY2s7CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkBAIC01MSw5ICs1MiwxMCBAQCBwcml2YXRl
OgogICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25PYmplY3REZXN0cm95ZWQoV2ViQ29yZTo6
Tm90aWZpY2F0aW9uKikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmaWNhdGlvbkNv
bnRyb2xsZXJEZXN0cm95ZWQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBl
cm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8V2Vi
Q29yZTo6Vm9pZENhbGxiYWNrPikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQ
ZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPFdl
YkNvcmU6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4pIE9WRVJSSURFOwogICAgIHZp
cnR1YWwgdm9pZCBjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCopIE9WRVJSSURFOwogICAgIHZpcnR1YWwgTm90aWZpY2F0aW9uUHJlc2Vu
dGVyOjpQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25D
b250ZXh0KikgT1ZFUlJJREU7Ci0gICAgCisKICAgICBXZWJQYWdlKiBtX3BhZ2U7CiB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131157</attachid>
            <date>2012-03-09 23:27:35 -0800</date>
            <delta_ts>2012-03-10 00:36:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80485-20120309232851.patch</filename>
            <type>text/plain</type>
            <size>58795</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMzcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRlM2FhZWU2ODE2NmEx
ODBlMjljOGY4OTk4NzU3M2I5Y2UyNjg4MS4uZWUxNjNhYWM3NWY1OGIxMzU0YjhiYjA3NTE3YmY0
MzhmOWI5MGE2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDEyLTAzLTA5ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVu
Y3Rpb25zIHRvIE5vdGlmaWNhdGlvbiBmcm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzEwOTY1NDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsOiBCZWNhdXNl
IHRoZSBmdW5jdGlvbnMgYXJlIG9uIHRoZSBOb3RpZmljYXRpb24gb2JqZWN0IGl0c2VsZiwgd2Ug
bmVlZCB0bworICAgICAgICBkZWNsYXJlIGl0IGEgY29uc3RydWN0b3Igc28gdGhhdCBpdCBpcyBh
Y2Nlc3NpYmxlIGZyb20gRE9NV2luZG93LgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDog
QWRkIE5vdGlmaWNhdGlvbiBjb25zdHJ1Y3Rvci4KKworICAgICAgICAqIG5vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6cGVybWlz
c2lvbkxldmVsKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6c3RyaW5nRm9yUGVy
bWlzc2lvbik6IERlY2xhcmUgdGhyZWUgc3RhdGljIGxvY2FscyBmb3IgZWFjaCBvZiB0aGUgdmFs
dWVzLCBhbmQgcmV0dXJuCisgICAgICAgIGJhc2VkIG9uIHRoZSBwZXJtaXNzaW9uIGVudW0uCisg
ICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb246OnJlcXVlc3RQZXJtaXNzaW9uKTogRm9yd2Fy
ZCByZXF1ZXN0IHRvIGNsaWVudC4KKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5oOgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2suaDogQWRkZWQuCisgICAgICAgIChOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sp
OgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrOjp+Tm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrKToKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGw6IEFkZGVkLgorCisgICAgICAgICogbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwOiBXcmFwIHBlcm1pc3Npb24gZnVuY3Rp
b25zIGluIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5oOiBXcmFwIHBlcm1pc3Npb24gZnVuY3Rpb25zIGluIEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbkNlbnRlci5pZGw6IFdyYXAgcGVybWlzc2lvbiBmdW5jdGlvbnMgaW4gRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQorICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
UHJlc2VudGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXI6OnJl
cXVlc3RQZXJtaXNzaW9uKTogQWRkIG5ldyByZXF1ZXN0UGVybWlzc2lvbigpIGZ1bmN0aW9uIGZv
ciBuZXcKKyAgICAgICAgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrIHR5cGUuIE1ha2Ug
aXQgYSBzdHViIGltcGxlbWVudGF0aW9uIHVudGlsIGFsbCBwb3J0cyBoYXZlIGFkb3B0ZWQuCisK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcDog
RW5jYXBzdWxhdGUgd2l0aCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpIHNpbmNlCisgICAg
ICAgIHRoZSByZXF1ZXN0UGVybWlzc2lvbigpIGZ1bmN0aW9uIGlzIG1vdmluZyB0byBOb3RpZmlj
YXRpb24uCisgICAgICAgICogYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3Rv
bS5jcHA6IEN1c3RvbSBpbXBsZW1lbnRhdGlvbiBvZiByZXF1ZXN0UGVybWlzc2lvbigpLgorICAg
ICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHA6IEN1c3Rv
bSBpbXBsZW1lbnRhdGlvbiBvZiByZXF1ZXN0UGVybWlzc2lvbigpLgorCisgICAgICAgICogRGVy
aXZlZFNvdXJjZXMubWFrZTogQWRkIG5ldyBjYWxsYmFjayBpZGwuCisgICAgICAgICogVXNlSlND
LmNtYWtlOiBJbmNsdWRlIEpTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcAorICAgICAgICAqIFVzZVY4
LmNtYWtlOiBJbmNsdWRlIFY4Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcAorICAgICAgICAqIFRhcmdl
dC5wcmk6IEluY2x1ZGUgSlNOb3RpZmljYXRpb25DdXN0b20uY3BwLCBWOE5vdGlmaWNhdGlvbkN1
c3RvbS5jcHAKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IEluY2x1ZGUgSlNOb3RpZmljYXRpb25D
dXN0b20uY3BwLCBWOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAsIEpTTm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrLntoLGNwcH0KKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvajogSW5jbHVkZSBKU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAsIEpTTm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrLntoLGNwcH0KKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjogRXhwb3J0
IHN0cmluZ0ZvclBlcm1pc3Npb24oKS4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6IEFkZCBjYWxsYmFjayBpZGwsIGgsIGFuZCBjcHAgZmlsZXMuCisKIDIwMTIt
MDMtMDkgIFJvYmVydCBLcm9lZ2VyICA8cmprcm9lZ2VAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IEhhbmRsZSBtb3JlIEdlc3R1cmUqIGV2ZW50cyBieSBwZXJmb3JtaW5nIHNjcm9sbHMgb24gdGhl
IGNvcnJlY3QgdGFyZ2V0IFNjcm9sbGFibGVBcmVhIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGFiNzM3
MWUyMTQ2MmFmNDgwMzRhYTgyZjgzZTVkYjYzNzE5ZjVlNGQuLjMxMjMxNDNjMTE2ZWEwYzU4YTM3
OTY2ZWEwNGY0ZmQ4YjZkMWJlOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAor
MjAxMi0wMy0wOSAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKKyAgICAgICAgTWlncmF0
ZSBwZXJtaXNzaW9uIGZ1bmN0aW9ucyB0byBOb3RpZmljYXRpb24gZnJvbSBOb3RpZmljYXRpb25D
ZW50ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgw
NDg1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDk2NTQ1OD4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYk5vdGlm
aWNhdGlvbkNsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlv
bkNsaWVudC5tbTogQWRkIG5ldyBtZW1iZXIgdmFyaWFibGUgdG8gaGFuZGxlIGJvdGgga2luZHMg
b2YgY2FsbGJhY2tzLgorICAgICAgICAoV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVy
bWlzc2lvbik6IEFkZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgdmVyc2lvbiBvZiB0
aGUgc2FtZQorICAgICAgICBmdW5jdGlvbi4KKyAgICAgICAgKC1bV2ViTm90aWZpY2F0aW9uUG9s
aWN5TGlzdGVuZXIgaW5pdFdpdGhDYWxsYmFjazpdKToKKyAgICAgICAgKC1bV2ViTm90aWZpY2F0
aW9uUG9saWN5TGlzdGVuZXIgaW5pdFdpdGhWb2lkQ2FsbGJhY2s6XSk6CisgICAgICAgICgtW1dl
Yk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGFsbG93XSk6CisgICAgICAgICgtW1dlYk5vdGlm
aWNhdGlvblBvbGljeUxpc3RlbmVyIGRlbnldKToKKwogMjAxMi0wMy0wOSAgRW5yaWNhIENhc3Vj
Y2kgIDxlbnJpY2FAYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgV2ViTlNVUkxFeHRyYXMgY29k
ZSBkb3duIHRvIFdlYkNvcmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTVlYTNjZDRjMWMzMDE0NTY2YjA2OTc2
Yjk0YmVlMDk4YTRiN2ZjOC4uMWI5ZDE3MzJkM2EyYmZiOTc4MTQyYmQ2NmU2ZTQ0NGQwZTRkYzIz
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTAzLTA5ICBKb24gTGVlICA8am9u
bGVlQGFwcGxlLmNvbT4KKworICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVuY3Rpb25zIHRv
IE5vdGlmaWNhdGlvbiBmcm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzEwOTY1NDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlcjo6c3RhcnRSZXF1ZXN0KToKKyAgICAgICAgKFdlYktpdCk6CisgICAg
ICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6ZGlkUmVj
ZWl2ZU5vdGlmaWNhdGlvblBlcm1pc3Npb25EZWNpc2lvbik6CisgICAgICAgICogV2ViUHJvY2Vz
cy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oOgor
ICAgICAgICAoTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pc3Npb24p
OgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChX
ZWJOb3RpZmljYXRpb25DbGllbnQpOgorCiAyMDEyLTAzLTA5ICBWaWF0Y2hlc2xhdiBPc3RhcGVu
a28gIDxvc3RhcGVua28udmlhdGNoZXNsYXZAbm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gW1dL
Ml0gU2hvdWxkbid0IHVzZSBpdGVtIGZvciBjbGlwcGluZyByZWN0IGNhbGN1bGF0aW9uIGluIHBh
aW50IG5vZGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAyNDYwNjgzM2E1NzZk
OGQ3ZmI1ODFjMWIzNjVhZjZkNjA4ZDIxYzY1Li40NDNmNmYyZDFiMWU0ZjZkMjBmNjRjMjNhMzBh
ZjQyNDNjZTM5M2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTEsNCArMSw0
IEBACi0jIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAxMiBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwg
V2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4gCiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1l
cm9uIE1jQ29ybWFjayA8Y2FtQG1jYy5pZC5hdT4KICMKQEAgLTM1NSw2ICszNTUsNyBAQCBCSU5E
SU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRp
b25DYWNoZS5pZGwgXAogICAgICQoV2ViQ29yZSkvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24u
aWRsIFwKICAgICAkKFdlYkNvcmUpL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlk
bCBcCisgICAgJChXZWJDb3JlKS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9BYnN0cmFjdFZpZXcuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL3BhZ2UvQmFySW5mby5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9Db25z
b2xlLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKaW5kZXggYWY0ZjViNTBiODU3ZjIy
ZjEwYjRjNTdiM2RhZDhlMWQyODgzNWFkOC4uZGNjNWNiZjhjYTY0NWFiZTM0NDNlNjk4YjIxY2Iz
MDkzYWViOTBmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJp
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpAQCAtMzc3LDYgKzM3Nyw3
IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgJCRQV0QvbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxp
Y2F0aW9uQ2FjaGUuaWRsIFwKICAgICAkJFBXRC9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5p
ZGwgXAogICAgICQkUFdEL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbCBcCisg
ICAgJCRQV0Qvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRs
IFwKICAgICAkJFBXRC9wYWdlL0JhckluZm8uaWRsIFwKICAgICAkJFBXRC9wYWdlL0NvbnNvbGUu
aWRsIFwKICAgICAkJFBXRC9wYWdlL0Nvb3JkaW5hdGVzLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBm
OGYyYjVhMGE2YjMxYWJkMzczOTQxYTEwYTY5ZDYxNzBhNTA0YWZjLi5hY2E1M2M0ZjhhNDIwNDQz
NGRhYmQ5Mjk5NmZlY2UyOWJlY2M2NGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJn
ZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTIzMyw2ICsyMzMsNyBA
QCB2OCB7CiAgICAgICAgIFwKICAgICAgICAgYmluZGluZ3Mvdjgvc3BlY2lhbGl6YXRpb24vVjhC
aW5kaW5nU3RhdGUuY3BwXAogICAgICAgICBcCisgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhO
b3RpZmljYXRpb25DZW50ZXJDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9t
L1Y4Q29uc29sZUN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhTUUxU
cmFuc2FjdGlvblN5bmNDdXN0b20uY3BwIFwKQEAgLTM0MSw2ICszNDIsNyBAQCB2OCB7CiAgICAg
ICAgIGJpbmRpbmdzL2pzL0pTTm9kZUZpbHRlckN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5n
cy9qcy9KU05vZGVJdGVyYXRvckN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU05v
ZGVMaXN0Q3VzdG9tLmNwcCBcCisgICAgICAgIGJpbmRpbmdzL2pzL0pTTm90aWZpY2F0aW9uQ3Vz
dG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5j
cHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwIFwKICAg
ICAgICAgYmluZGluZ3MvanMvSlNQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25DdXN0b20uY3BwIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1Vz
ZUpTQy5jbWFrZQppbmRleCAwOTAzOGRkNjg0ODc3ZTFmODIwMjE5Mjc1ZTc4MmViMTMwODNhMjY2
Li43ZTY3ZjMyNzQ2MDQwOGMyNzhmODBlNzg4YzU1N2Y2YjY0OTc0NDk2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNt
YWtlCkBAIC0xMDksNiArMTA5LDcgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAg
YmluZGluZ3MvanMvSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTTm9k
ZUl0ZXJhdG9yQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTTm9kZUxpc3RDdXN0b20uY3Bw
CisgICAgYmluZGluZ3MvanMvSlNOb3RpZmljYXRpb25DdXN0b20uY3BwCiAgICAgYmluZGluZ3Mv
anMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTUG9wU3Rh
dGVFdmVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1Byb2Nlc3NpbmdJbnN0cnVjdGlv
bkN1c3RvbS5jcHAKQEAgLTIyOCw2ICsyMjksNyBAQCBFTkRJRiAoKQogSUYgKEVOQUJMRV9OT1RJ
RklDQVRJT05TKQogICAgIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgICAgICBiaW5k
aW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcAorICAgICAgICBiaW5kaW5n
cy9qcy9KU05vdGlmaWNhdGlvbnNDdXN0b20uY3BwCiAgICAgKQogRU5ESUYgKCkKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5j
bWFrZQppbmRleCBiOGY1ZmQyNjdlYTVhM2ViOTJkODkxOWRhMTRhZGQ1MzQ2YWY3OGUwLi4wYWQ1
ZjkzMzlkM2Y2NDVmMGI2NDkyMTBhNmVlM2Y1MzUzYTUxYTczIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Vc2VWOC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQpAQCAt
MTM3LDYgKzEzNyw3IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdz
L3Y4L2N1c3RvbS9WOE5hbWVkTm9kZXNDb2xsZWN0aW9uLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOE5vZGVDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUxpc3RD
dXN0b20uY3BwCisgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ3VzdG9tLmNw
cAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkNlbnRlckN1c3RvbS5jcHAK
ICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhQZXJmb3JtYW5jZUN1c3RvbS5jcHAKICAgICBiaW5k
aW5ncy92OC9jdXN0b20vVjhQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgppbmRleCA3Y2FkYmNmMGFmYzA5MzBiYzk2NzlhMTA5MTNmN2JlZDVlMzNhNmZiLi4wNWRmMGJk
Y2JjNWQwNTBmYmQwYWFiNjkyMzQxZTRmNzI2OTUxMzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpA
QCAtMjEyOCw2ICsyMTI4LDcgQEAgX19aTjdXZWJDb3JlMTJOb3RpZmljYXRpb24xN2Rpc3BhdGNo
U2hvd0V2ZW50RXYKIF9fWk43V2ViQ29yZTEyTm90aWZpY2F0aW9uMThkaXNwYXRjaENsaWNrRXZl
bnRFdgogX19aTjdXZWJDb3JlMTJOb3RpZmljYXRpb24xOGRpc3BhdGNoQ2xvc2VFdmVudEV2CiBf
X1pON1dlYkNvcmUxMk5vdGlmaWNhdGlvbjE4ZGlzcGF0Y2hFcnJvckV2ZW50RXYKK19fWk43V2Vi
Q29yZTEyTm90aWZpY2F0aW9uMTlzdHJpbmdGb3JQZXJtaXNzaW9uRU5TXzIxTm90aWZpY2F0aW9u
UHJlc2VudGVyMTBQZXJtaXNzaW9uRQogI2VuZGlmCiAKICNpZiBFTkFCTEUoVEhSRUFERURfU0NS
T0xMSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDA0NzhjZmE5NDY4N2I1ZDlmMzQyNDcyMjk5OTgx
OTNlNGU5MTkyOWUuLjMyYTE5YTYxOTNkNTliNjhlZTZlNDg1ZDAwNzljOGNmOTZlMWMzM2YgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKQEAgLTE3NzAsNiArMTc3MCw3IEBACiAgICAgICAgICAgICAnYmluZGlu
Z3MvanMvSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMv
SlNOb2RlSXRlcmF0b3JDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU05v
ZGVMaXN0Q3VzdG9tLmNwcCcsCisgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNOb3RpZmljYXRp
b25DdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1BlZXJDb25uZWN0aW9u
Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVu
Y3Rpb25zLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNQb3BTdGF0ZUV2ZW50Q3Vz
dG9tLmNwcCcsCkBAIC0yMDc3LDYgKzIwNzgsNyBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOE5hbWVkTm9kZXNDb2xsZWN0aW9uLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOE5vZGVDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9j
dXN0b20vVjhOb2RlTGlzdEN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkNlbnRlckN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOFBlcmZvcm1hbmNlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAn
YmluZGluZ3MvdjgvY3VzdG9tL1Y4UG9wU3RhdGVFdmVudEN1c3RvbS5jcHAnLApAQCAtNzUwMSw2
ICs3NTAzLDggQEAKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTTm90aWZpY2F0aW9uLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb3RpZmljYXRpb25DZW50ZXIuY3BwJywKICAgICAgICAg
ICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9u
Q2VudGVyLmgnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suY3BwJywKKyAgICAgICAgICAg
ICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNPRVNTdGFuZGFyZERlcml2YXRpdmVzLmNwcCcsCiAgICAgICAgICAg
ICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU09FU1N0YW5kYXJkRGVy
aXZhdGl2ZXMuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU09FU1RleHR1cmVGbG9hdC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAzMDFjMDY2YTliN2M3ODIyNGY5ODgyM2UyMGY2
MzE2M2U1OTg0NGZlLi4xZjBkNjViODE3Mjg2N2VlYzkxZDkxYTNiZjE0ZmYzOWI5YmQ1NmZlIDEw
MDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMTIw
OTAsNiArMTIwOTAsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0
aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJp
dmVkU291cmNlc1xKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5jcHAiCisJCQkJPgor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxX
aW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wK
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdp
bjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAor
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdp
bjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAor
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmln
dXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8Rmls
ZQogCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU09wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24uY3Bw
IgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTY3MjczLDYgKzY3MzI5LDU4IEBACiAJCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0
aD0iLi5cYmluZGluZ3NcanNcSlNOb3RpZmljYXRpb25DdXN0b20uY3BwIgorCQkJCQk+CisJCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxp
dGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJ
CTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0i
UmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJ
PC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNQ
bHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcCIKIAkJCQkJPgogCQkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCBmZDY5ZGM1NGMwMTQ4NjQzMDM4MDU0YWM4ZTAzYjJkZGM0MzVlZmRhLi5hMDY1NmEx
NGMyYTNiNTM1YmRhNDA0YWFmYWExN2U0MzQ2MWVkZDZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04OTksNiArODk5LDggQEAK
IAkJMzFDMEZGNEMwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFDMEZGNDYw
RTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5oICovOyB9OwogCQkz
MUMwRkY0RDBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50Lm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFDMEZGNDcwRTRD
RUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5tbSAqLzsgfTsKIAkJMzFD
MEZGNEUwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudEludGVybmFs
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUMwRkY0
ODBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50SW50ZXJuYWwuaCAq
LzsgfTsKKwkJMzFFQzFFMjgxNEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDMxRUMxRTI2MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjay5jcHAgKi87IH07CisJCTMxRUMxRTI5MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzFFQzFFMjcxNEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90aWZp
Y2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggKi87IH07CiAJCTMxRkIxQTU3MTIwQTVEMDYwMERD
MDJBMCAvKiBEZXZpY2VNb3Rpb25DbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTRGMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rp
b25DbGllbnQuaCAqLzsgfTsKIAkJMzFGQjFBNTgxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1v
dGlvbkNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzFGQjFBNTAxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xs
ZXIuY3BwICovOyB9OwogCQkzMUZCMUE1OTEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9u
Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMzFGQjFBNTExMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuaCAq
LzsgfTsKQEAgLTkwOSw2ICs5MTEsOCBAQAogCQkzMUZCMUE2NTEyMEE1RDNGMDBEQzAyQTAgLyog
SlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzMUZCMUE2MzEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25F
dmVudC5jcHAgKi87IH07CiAJCTMxRkIxQTY2MTIwQTVEM0YwMERDMDJBMCAvKiBKU0RldmljZU1v
dGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAzMUZCMUE2NDEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5oICovOyB9
OwogCQkzMUZCMUE2QzEyMEE1RDY5MDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudEN1c3Rv
bS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZC
MUE2QjEyMEE1RDY5MDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgKi87
IH07CisJCTMxRkU2REZBMTUwMDRDMkEwMDA0RUJDNCAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMxRUMxREFDMTRGRjI2RUEwMEM5NDY2MiAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkz
MUZFNkU2RDE1MDFBM0JGMDAwNEVCQzQgLyogSlNOb3RpZmljYXRpb25DdXN0b20uY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGRTZFNkMxNTAxQTNC
RjAwMDRFQkM0IC8qIEpTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcCAqLzsgfTsKIAkJMzMxNEFDRUIx
MDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzE0QUNFOTEwODkyMDg2MDAwRjBFNTYgLyog
SlNFeGNlcHRpb25CYXNlLmNwcCAqLzsgfTsKIAkJMzMxNEFDRUMxMDg5MjA4NjAwMEYwRTU2IC8q
IEpTRXhjZXB0aW9uQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzMxNEFDRUExMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5oICov
OyB9OwogCQkzMzUwM0M5QTEwMTc5QTc0MDAzQjQ3RTEgLyogTm90aWZpY2F0aW9uUHJlc2VudGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzUwM0M5
OTEwMTc5QTc0MDAzQjQ3RTEgLyogTm90aWZpY2F0aW9uUHJlc2VudGVyLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTc3NTQsNiArNzc1OCwxMCBA
QAogCQkzMUMwRkY0NjBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdlYktpdFRyYW5zaXRpb25F
dmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUMwRkY0NzBFNENFRkREMDA3
RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50Lm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkzMUMwRkY0ODBFNENFRkREMDA3RDZGRTUgLyogRE9NV2Vi
S2l0VHJhbnNpdGlvbkV2ZW50SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMzFFQzFENTAxNEZFRkQwODAwQzk0NjYyIC8qIE5vdGlmaWNhdGlvblBl
cm1pc3Npb25DYWxsYmFjay5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gTm90aWZpY2F0aW9u
UGVybWlzc2lvbkNhbGxiYWNrLmlkbDsgcGF0aCA9IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
UGVybWlzc2lvbkNhbGxiYWNrLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFF
QzFEQUMxNEZGMjZFQTAwQzk0NjYyIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaDsgcGF0aCA9
IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRUMxRTI2MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlm
aWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRUMxRTI3MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlm
aWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkzMUZCMUE0RjEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ2xp
ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERldmljZU1vdGlvbkNsaWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUZCMUE1MDEyMEE1RDA2MDBEQzAy
QTAgLyogRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMzFGQjFBNTExMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNv
bnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNlTW90aW9u
Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzc2NSw2ICs3Nzcz
LDcgQEAKIAkJMzFGQjFBNjMxMjBBNUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNEZXZpY2VNb3Rpb25F
dmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxRkIxQTY0MTIwQTVEM0Yw
MERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTRGV2aWNlTW90aW9uRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMzFGQjFBNkIxMjBBNUQ2OTAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnRDdXN0
b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNEZXZpY2VNb3Rp
b25FdmVudEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRkU2RTZD
MTUwMUEzQkYwMDA0RUJDNCAvKiBKU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05vdGlmaWNhdGlvbkN1c3RvbS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzMTRBQ0U5MTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4
Y2VwdGlvbkJhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNF
eGNlcHRpb25CYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzMxNEFDRUEx
MDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0V4Y2VwdGlvbkJhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMzMzRjcwNEUwRkI0OUNBMjAwOEUxMkE2IC8qIE5vdGlmaWNhdGlvbi5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBuYW1lID0gTm90aWZpY2F0aW9uLmlkbDsgcGF0aCA9IG5vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0Mzk1LDYg
KzE0NDA0LDggQEAKIAkJCQkzMTI4Q0E2NzE0NzMzMTUyMDA3NEM3MkEgLyogTm90aWZpY2F0aW9u
Q29udHJvbGxlci5jcHAgKi8sCiAJCQkJMzEyOENBNkExNDczMzE2MzAwNzRDNzJBIC8qIE5vdGlm
aWNhdGlvbkNvbnRyb2xsZXIuaCAqLywKIAkJCQkzMzUwM0M5OTEwMTc5QTc0MDAzQjQ3RTEgLyog
Tm90aWZpY2F0aW9uUHJlc2VudGVyLmggKi8sCisJCQkJMzFFQzFENTAxNEZFRkQwODAwQzk0NjYy
IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgKi8sCisJCQkJMzFFQzFEQUMx
NEZGMjZFQTAwQzk0NjYyIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oICovLAog
CQkJKTsKIAkJCW5hbWUgPSBub3RpZmljYXRpb25zOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsKQEAgLTE0NDA2LDYgKzE0NDE3LDggQEAKIAkJCQkzMzUwM0NBMDEwMTc5QUQ3MDAzQjQ3RTEg
LyogSlNOb3RpZmljYXRpb24uaCAqLywKIAkJCQkzMzUwM0NBMTEwMTc5QUQ3MDAzQjQ3RTEgLyog
SlNOb3RpZmljYXRpb25DZW50ZXIuY3BwICovLAogCQkJCTMzNTAzQ0EyMTAxNzlBRDcwMDNCNDdF
MSAvKiBKU05vdGlmaWNhdGlvbkNlbnRlci5oICovLAorCQkJCTMxRUMxRTI2MTRGRjYwRUUwMEM5
NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5jcHAgKi8sCisJCQkJMzFF
QzFFMjcxNEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNr
LmggKi8sCiAJCQkpOwogCQkJbmFtZSA9IE5vdGlmaWNhdGlvbnM7CiAJCQlzb3VyY2VUcmVlID0g
Ijxncm91cD4iOwpAQCAtMTk2NzMsNiArMTk2ODYsNyBAQAogCQkJCUJDQjc3MzYwMEMxNzg1M0Qw
MDEzMkJBNCAvKiBKU05vZGVGaWx0ZXJDdXN0b20uY3BwICovLAogCQkJCTFBNzUwREQzMEE5MEU3
MjkwMDBGRjIxNSAvKiBKU05vZGVJdGVyYXRvckN1c3RvbS5jcHAgKi8sCiAJCQkJQkNEOUMyNjEw
QzE3QUE2NzAwNUM5MEEyIC8qIEpTTm9kZUxpc3RDdXN0b20uY3BwICovLAorCQkJCTMxRkU2RTZD
MTUwMUEzQkYwMDA0RUJDNCAvKiBKU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAgKi8sCiAJCQkJQTg1
RjIyMDgxNDMwMzc3RDAwN0NDODg0IC8qIEpTUG9wU3RhdGVFdmVudEN1c3RvbS5jcHAgKi8sCiAJ
CQkJRTFBRDEyRDUxMjk1RDBCRDAwQUNBOTg5IC8qIEpTUHJvY2Vzc2luZ0luc3RydWN0aW9uQ3Vz
dG9tLmNwcCAqLywKIAkJCQk0OTk4QUVEMzEzRkM0MTdGMDA5MEIxQUEgLyogSlNSZXF1ZXN0QW5p
bWF0aW9uRnJhbWVDYWxsYmFja0N1c3RvbS5jcHAgKi8sCkBAIC0yNDU2Niw2ICsyNDU4MCw4IEBA
CiAJCQkJRTFDREU5MjIxNTAxOTE2OTAwODYyQ0M1IC8qIEFzeW5jRmlsZVN0cmVhbS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNDUwQ0VCRjExNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVsZW1l
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUM1QjRDMjREMTUwOTIzNkMwMEE2RUYzNyAvKiBXZWJD
b3JlTlNVUkxFeHRyYXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxRUMxRTI5MTRGRjYwRUUwMEM5
NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMzFGRTZERkExNTAwNEMyQTAwMDRFQkM0IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQ
b3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yNzU0NCw2ICsyNzU2MCw4IEBACiAJCQkJNDUw
Q0VCRjAxNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQzVCNEMyNEUxNTA5MjM2QzAwQTZFRjM3IC8qIFdlYkNvcmVOU1VSTEV4dHJhcy5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTlCMkI3QUMxMTUwOTg1MEEwMDg5MzJDQyAvKiBNaWNyb0Rh
dGFJdGVtVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMzFFQzFFMjgxNEZGNjBFRTAwQzk0
NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTMxRkU2RTZEMTUwMUEzQkYwMDA0RUJDNCAvKiBKU05vdGlmaWNhdGlvbkN1c3RvbS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3RvbS5jcHAKaW5kZXggMTZhOTYyYzU2Mjlh
MzU5ZDVkYzdjZThlMjJiYWQ4NTA2NWU5MTJjZS4uYTM2MjBiODliNzJkOGNmOWY2MzEzM2I4NjZi
YmUwOTRiNWMyMWJiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
ZXNrdG9wTm90aWZpY2F0aW9uc0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3RvbS5jcHAKQEAgLTEsNSArMSw2IEBACiAv
KgogICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzAsMTQgKzMxLDEyIEBACiAK
ICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKSAmJiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAKICNp
bmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkpTQ3VzdG9tVm9pZENhbGxiYWNrLmgiCiAj
aW5jbHVkZSAiSlNFdmVudExpc3RlbmVyLmgiCi0jaW5jbHVkZSAiSlNOb3RpZmljYXRpb24uaCIK
ICNpbmNsdWRlICJKU05vdGlmaWNhdGlvbkNlbnRlci5oIgotI2luY2x1ZGUgIk5vdGlmaWNhdGlv
bi5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNlbnRlci5oIgogI2luY2x1ZGUgPHJ1bnRpbWUv
RXJyb3IuaD4KIApAQCAtNjgsNiArNjcsNiBAQCBKU1ZhbHVlIEpTTm90aWZpY2F0aW9uQ2VudGVy
OjpyZXF1ZXN0UGVybWlzc2lvbihFeGVjU3RhdGUqIGV4ZWMpCiAgICAgcmV0dXJuIGpzVW5kZWZp
bmVkKCk7CiB9CiAKLX0gLy8gbmFtZXNwYWNlCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNl
bmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FU
SU9OUykgJiYgIUVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
NDNkMzhiODAyODRhYTgxYWIxNTZkN2I3MzYyN2E4MzA3MmJiYmNmCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb3RpZmljYXRpb25DdXN0b20uY3BwCkBA
IC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwg
UmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNOb3RpZmljYXRpb24uaCIKKwor
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorCisjaW5jbHVkZSAiQ2FsbGJhY2tGdW5jdGlvbi5o
IgorI2luY2x1ZGUgIkpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgiCisjaW5jbHVk
ZSA8cnVudGltZS9FcnJvci5oPgorCit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK0pTVmFsdWUgSlNOb3RpZmljYXRpb246OnJlcXVlc3RQZXJtaXNzaW9uKEV4
ZWNTdGF0ZSogZXhlYykKK3sKKyAgICAvLyBBcmd1bWVudHM6IE5vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjaworICAgIGlmICghZXhlYy0+YXJndW1lbnQoMCkuaXNPYmplY3QoKSkKKyAgICAg
ICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMpOworICAgIAorICAgIFJlZlB0cjxOb3RpZmlj
YXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNhbGxiYWNrID0gY3JlYXRlRnVuY3Rpb25Pbmx5Q2Fs
bGJhY2s8SlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KGV4ZWMsIHN0YXRpY19jYXN0
PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKSwgZXhlYy0+
YXJndW1lbnQoMCkpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0
dXJuIGpzVW5kZWZpbmVkKCk7CisgICAgCisgICAgQVNTRVJUKGNhbGxiYWNrKTsKKyAgICBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRDb250ZXh0ID0gc3RhdGljX2Nhc3Q8SlNET01HbG9i
YWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLT5zY3JpcHRFeGVjdXRpb25D
b250ZXh0KCk7CisgICAgTm90aWZpY2F0aW9uOjpyZXF1ZXN0UGVybWlzc2lvbihzY3JpcHRDb250
ZXh0LCBjYWxsYmFjay5yZWxlYXNlKCkpOworICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlm
aWNhdGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhO
b3RpZmljYXRpb25DdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMyMjhmNWU1MTQyMzNjZDc2MDQ0YjMy
ZjM2NGE1ZTk0MDQzMDA2Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DdXN0b20uY3BwCkBAIC0wLDAgKzEsNTUgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpbmNsdWRlICJWOE5vdGlm
aWNhdGlvbi5oIgorCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIlY4Tm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
djg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4Tm90aWZpY2F0aW9uOjpyZXF1ZXN0UGVybWlzc2lvbihj
b25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQoreworICAgIElOQ19TVEFUUyhMIkRPTS5Ob3RpZmlj
YXRpb24uUmVxdWVzdFBlcm1pc3Npb24oKSIpOworCisgICAgTm90aWZpY2F0aW9uKiBub3RpZmlj
YXRpb24gPSBWOE5vdGlmaWNhdGlvbjo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CisgICAgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCA9IG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpOworCisgICAgYm9vbCBzdWNjZWVkZWQgPSBmYWxzZTsKKyAgICBSZWZQdHI8
VjhOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNhbGxiYWNrID0gY3JlYXRlRnVuY3Rp
b25Pbmx5Q2FsbGJhY2s8VjhOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KGFyZ3NbMF0s
IHN1Y2NlZWRlZCk7CisgICAgaWYgKCFzdWNjZWVkZWQpCisgICAgICAgIHJldHVybiB2ODo6VW5k
ZWZpbmVkKCk7CisgICAgQVNTRVJUKGNhbGxiYWNrKTsKKworICAgIE5vdGlmaWNhdGlvbjo6cmVx
dWVzdFBlcm1pc3Npb24oY29udGV4dCwgY2FsbGJhY2sucmVsZWFzZSgpKTsKKyAgICByZXR1cm4g
djg6OlVuZGVmaW5lZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uLmNwcAppbmRleCA3NDk2NGRjNzdhZGFkMDgxY2IwZWYxOWNhNDRhZDRhNDhl
MDg3ZTcyLi45OGEyMmMxY2JiZmU3NDAwYTAzNjE5ZjU1YTgwNDNhNmU3NDY5ZmUzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCkBAIC0xLDYgKzEs
NiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMSwgMjAxMiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CkBAIC0zNSwxMSArMzUsMTQgQEAKIAogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbi5oIgogCisjaW5j
bHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFcnJv
ckV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlv
bkNlbnRlci5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNvbnRlbnRzLmgiCisjaW5jbHVkZSAi
Tm90aWZpY2F0aW9uQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIk5vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjay5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvblByZXNlbnRlci5oIgogI2luY2x1
ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKQEAg
LTIwMSw2ICsyMDQsMzggQEAgdm9pZCBOb3RpZmljYXRpb246OnN0b3BMb2FkaW5nKCkKICAgICBt
X2xvYWRlci0+Y2FuY2VsKCk7CiB9CiAKK2NvbnN0IFN0cmluZyYgTm90aWZpY2F0aW9uOjpwZXJt
aXNzaW9uTGV2ZWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKK3sKKyAgICBBU1NF
UlQoY29udGV4dC0+aXNEb2N1bWVudCgpKTsKKyAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8RG9jdW1l
bnQqPihjb250ZXh0KS0+cGFnZSgpKTsKKyAgICByZXR1cm4gc3RyaW5nRm9yUGVybWlzc2lvbihO
b3RpZmljYXRpb25Db250cm9sbGVyOjpmcm9tKHN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4
dCktPnBhZ2UoKSktPmNsaWVudCgpLT5jaGVja1Blcm1pc3Npb24oY29udGV4dCkpOworfQorCitj
b25zdCBTdHJpbmcmIE5vdGlmaWNhdGlvbjo6c3RyaW5nRm9yUGVybWlzc2lvbihOb3RpZmljYXRp
b25QcmVzZW50ZXI6OlBlcm1pc3Npb24gcGVybWlzc2lvbikKK3sKKyAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKGNvbnN0IFN0cmluZywgYWxsb3dlZFBlcm1pc3Npb24sICgiZ3JhbnRlZCIpKTsKKyAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgZGVuaWVkUGVybWlzc2lvbiwgKCJk
ZW5pZWQiKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIGRlZmF1bHRQ
ZXJtaXNzaW9uLCAoImRlZmF1bHQiKSk7CisgICAgc3dpdGNoIChwZXJtaXNzaW9uKSB7CisgICAg
Y2FzZSBOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb25BbGxvd2VkOgorICAgICAgICBy
ZXR1cm4gYWxsb3dlZFBlcm1pc3Npb247CisgICAgY2FzZSBOb3RpZmljYXRpb25QcmVzZW50ZXI6
OlBlcm1pc3Npb25EZW5pZWQ6CisgICAgICAgIHJldHVybiBkZW5pZWRQZXJtaXNzaW9uOworICAg
IGNhc2UgTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uTm90QWxsb3dlZDoKKyAgICAg
ICAgcmV0dXJuIGRlZmF1bHRQZXJtaXNzaW9uOworICAgIH0KKyAgICAKKyAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKKyAgICByZXR1cm4gZGVuaWVkUGVybWlzc2lvbjsKK30KKwordm9pZCBOb3Rp
ZmljYXRpb246OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRl
eHQsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBjYWxsYmFjaykK
K3sKKyAgICBBU1NFUlQoY29udGV4dC0+aXNEb2N1bWVudCgpKTsKKyAgICBBU1NFUlQoc3RhdGlj
X2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KS0+cGFnZSgpKTsKKyAgICBOb3RpZmljYXRpb25Db250
cm9sbGVyOjpmcm9tKHN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCktPnBhZ2UoKSktPmNs
aWVudCgpLT5yZXF1ZXN0UGVybWlzc2lvbihjb250ZXh0LCBjYWxsYmFjayk7Cit9CisKIHZvaWQg
Tm90aWZpY2F0aW9uOjpkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZywgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7CiAgICAgaW50IHN0YXR1cyA9IHJlc3BvbnNlLmh0
dHBTdGF0dXNDb2RlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uaAppbmRleCBkZDBkNmVkODRhZDMwNzlkODhiYTAyYTAyYmNhY2M2YTY0NWNiMzlkLi5lMGQy
MDM1OGFhNjkwNTIwNTRiMzJjODkwMDI4NzM4ODczMGVlMTEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29w
eXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMDksIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDA5LCAyMDExLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTM3LDYgKzM3LDcg
QEAKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIktVUkwuaCIKICNpbmNsdWRl
ICJOb3RpZmljYXRpb25Db250ZW50cy5oIgorI2luY2x1ZGUgIk5vdGlmaWNhdGlvblByZXNlbnRl
ci5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgogI2luY2x1ZGUgIlRleHREaXJlY3Rpb24u
aCIKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgiCkBAIC01MCw2ICs1MSw3IEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIE5vdGlmaWNhdGlvbkNlbnRlcjsKK2NsYXNz
IE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjazsKIGNsYXNzIFJlc291cmNlRXJyb3I7CiBj
bGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKQEAg
LTExOSw2ICsxMjEsMTAgQEAgcHVibGljOgogICAgIC8vIERlcHJlY2F0ZWQuIFVzZSBmdW5jdGlv
bnMgZnJvbSBOb3RpZmljYXRpb25DZW50ZXIuCiAgICAgdm9pZCBkZXRhY2hQcmVzZW50ZXIoKSB7
IH0KIAorICAgIHN0YXRpYyBjb25zdCBTdHJpbmcmIHBlcm1pc3Npb25MZXZlbChTY3JpcHRFeGVj
dXRpb25Db250ZXh0Kik7CisgICAgc3RhdGljIGNvbnN0IFN0cmluZyYgc3RyaW5nRm9yUGVybWlz
c2lvbihOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb24pOworICAgIHN0YXRpYyB2b2lk
IHJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPE5v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4pOworCiAgICAgdmlydHVhbCB2b2lkIGRpZFJl
Y2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CiAg
ICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0IGNoYXIqIGRhdGEsIGludCBkYXRh
TGVuZ3RoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9hZGluZyh1bnNpZ25lZCBsb25n
IGlkZW50aWZpZXIsIGRvdWJsZSBmaW5pc2hUaW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAppbmRleCBkOGNiM2NjMzlhMjVlNzE3NDNlOWY3NWU5
ZThjZjRjMTgwZTIyMTY4Li40NTgxNmUxODQzZDBjNDJjYzRlODYzNjBkYWIxZjVkNGI4ZWE2NzE3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCkBA
IC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBA
IC0zNCwxMiArMzQsMTQgQEAgbW9kdWxlIHRocmVhZHMgewogICAgIGludGVyZmFjZSBbCiAgICAg
ICAgIENvbmRpdGlvbmFsPU5PVElGSUNBVElPTlMsCiAgICAgICAgIEFjdGl2ZURPTU9iamVjdCwK
LSAgICAgICAgRXZlbnRUYXJnZXQsCi0gICAgICAgIE9taXRDb25zdHJ1Y3RvcgorICAgICAgICBF
dmVudFRhcmdldAogICAgIF0gTm90aWZpY2F0aW9uIHsKICAgICAgICAgdm9pZCBzaG93KCk7CiAg
ICAgICAgIHZvaWQgY2FuY2VsKCk7CiAKKyAgICAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRdIHN0YXRpYyBET01TdHJpbmcgcGVybWlzc2lvbkxldmVsKCk7CisgICAgICAgIFtD
dXN0b21dIHN0YXRpYyB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKGluIE5vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjayBjYWxsYmFjayk7CisKICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVu
ZXIgb25zaG93OwogICAgICAgICAvLyBGSVhNRTogVGhlIGxhdGVzdCBXZWIgTm90aWZpY2F0aW9u
cyBzdGFuZGFyZCB1c2VzIHRoZSBvbnNob3cgZXZlbnQgbGlzdGVuZXIuCiAgICAgICAgIC8vIFRo
ZSBvbmRpc3BsYXkgZXZlbnQgbGlzdGVuZXIgc2hvdWxkIGJlIHJlbW92ZWQgd2hlbiBpbXBsZW1l
bnRhdGlvbnMgY2hhbmdlIHRoZSBldmVudCBsaXN0ZW5lciB0byBvbnNob3cuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAKaW5kZXgg
NzExNDZhZjhkYTM3MjNkMTQ3MTVlZmNiNWQxYWJlYWM0OGUzNzE1OS4uNDY3NDQzNGFlMDFhMDcz
OGRmMjRjMzQ1ODE0NjA0N2FhODEwNzQxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAg
KiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC01MiwxOSArNTMsMjMgQEAgTm90aWZp
Y2F0aW9uQ2VudGVyOjpOb3RpZmljYXRpb25DZW50ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
Y29udGV4dCwgTm90aWZpY2EKICAgICA6IEFjdGl2ZURPTU9iamVjdChjb250ZXh0LCB0aGlzKQog
ICAgICwgbV9ub3RpZmljYXRpb25QcmVzZW50ZXIocHJlc2VudGVyKSB7fQogCisjaWYgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQogaW50IE5vdGlmaWNhdGlvbkNlbnRlcjo6Y2hlY2tQZXJt
aXNzaW9uKCkKIHsKICAgICBpZiAoIXByZXNlbnRlcigpIHx8ICFzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCkpCiAgICAgICAgIHJldHVybiBOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb25E
ZW5pZWQ7CiAgICAgcmV0dXJuIG1fbm90aWZpY2F0aW9uUHJlc2VudGVyLT5jaGVja1Blcm1pc3Np
b24oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKIH0KKyNlbmRpZgogCisjaWYgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQogdm9pZCBOb3RpZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQZXJt
aXNzaW9uKFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFjaykKIHsKICAgICBpZiAoIXBy
ZXNlbnRlcigpIHx8ICFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCiAgICAgICAgIHJldHVybjsK
ICAgICBtX25vdGlmaWNhdGlvblByZXNlbnRlci0+cmVxdWVzdFBlcm1pc3Npb24oc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpLCBjYWxsYmFjayk7CiB9CisjZW5kaWYKIAogdm9pZCBOb3RpZmljYXRp
b25DZW50ZXI6OmRpc2Nvbm5lY3RGcmFtZSgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oIGIvU291cmNlL1dlYkNvcmUvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaAppbmRleCA0MDJjY2JhOTM4YjJmZWUwODFm
OGE2YThkN2JlY2VmZjc4Y2MyNjkyLi5mNjY4MzYxMDc5ZDAxYTE3MmJiMzRmNGFjMWE0MDc2MjU2
ZjdlOGMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbkNlbnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ2VudGVyLmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEy
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKQEAgLTc3LDggKzc3LDEwIEBAIHB1YmxpYzoKIAogICAgIE5vdGlmaWNhdGlv
blByZXNlbnRlciogcHJlc2VudGVyKCkgY29uc3QgeyByZXR1cm4gbV9ub3RpZmljYXRpb25QcmVz
ZW50ZXI7IH0KIAorI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBpbnQgY2hl
Y2tQZXJtaXNzaW9uKCk7CiAgICAgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihQYXNzUmVmUHRyPFZv
aWRDYWxsYmFjaz4pOworI2VuZGlmCiAKICAgICB2b2lkIGRpc2Nvbm5lY3RGcmFtZSgpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRl
ci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5p
ZGwKaW5kZXggOGJlMWVjYzc2OWZiYzVhNDM3Yjc2NGU5NmEwN2U0NzUxNzBhMzU2Ni4uYjk5N2Q5
ZjMyMzE4M2IyODdlYzUxYTQ2MTNjYzQwZDZmMzIzMTViMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbApAQCAtNDEsOCArNDEs
MTAgQEAgbW9kdWxlIHRocmVhZHMgewogI2VuZGlmCiAgICAgICAgW1Y4Q3VzdG9tXSBOb3RpZmlj
YXRpb24gY3JlYXRlTm90aWZpY2F0aW9uKGluIERPTVN0cmluZyBpY29uVXJsLCBpbiBET01TdHJp
bmcgdGl0bGUsIGluIERPTVN0cmluZyBib2R5KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAorI2lm
IGRlZmluZWQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAmJiBFTkFCTEVfTEVHQUNZX05P
VElGSUNBVElPTlMKICAgICAgICBpbnQgY2hlY2tQZXJtaXNzaW9uKCk7CiAgICAgICAgW0N1c3Rv
bV0gdm9pZCByZXF1ZXN0UGVybWlzc2lvbihpbiBWb2lkQ2FsbGJhY2sgY2FsbGJhY2spOworI2Vu
ZGlmCiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzQ5
NGVmNWUwMzNhOTMwMmIzMGI1ODZlODkzMzkzN2Y5OTljNDcxMwotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxi
YWNrLmgKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBOb3RpZmljYXRpb25QZXJt
aXNzaW9uQ2FsbGJhY2tfaAorI2RlZmluZSBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2tf
aAorCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisgICAgCitjbGFzcyBOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2sgOiBwdWJsaWMgUmVmQ291bnRlZDxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2s+IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2soKSB7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlRXZlbnQoY29uc3QgU3RyaW5nJiBw
ZXJtaXNzaW9uKSA9IDA7Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNh
bGxiYWNrLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZjExMTYxMmUyNDBjZWNhYTE5ZmI1ZWE3MWFhY2Q3ZDI2
MDkzYzIwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIs
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKK21vZHVsZSB0aHJlYWRzIHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlv
bmFsPU5PVElGSUNBVElPTlMsCisgICAgICAgIENhbGxiYWNrCisgICAgXSBOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uQ2FsbGJhY2sgeworICAgICAgICBib29sZWFuIGhhbmRsZUV2ZW50KGluIERPTVN0
cmluZyBwZXJtaXNzaW9uKTsKKyAgICB9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblByZXNlbnRlci5oIGIvU291cmNlL1dlYkNvcmUv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QcmVzZW50ZXIuaAppbmRleCAxOTM1Mzg0ZGMxZjZj
YjkxNzQ4MGE5ZDRjODFiOTZmNDNhNDhiMTliLi41Nzg1NzY5YjFlZGIzMzlkZTgzZmY3MmJhZTA0
MTU4ZmE1NDNlZTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvblByZXNlbnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uUHJlc2VudGVyLmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0
IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDExLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTM4LDggKzM4LDkgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7Ci1jbGFzcyBOb3RpZmljYXRpb247CiBjbGFzcyBLVVJM
OworY2xhc3MgTm90aWZpY2F0aW9uOworY2xhc3MgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxi
YWNrOwogY2xhc3MgUGFnZTsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKQEAgLTcw
LDEwICs3MSwxNCBAQCBwdWJsaWM6CiAgICAgLy8gSW5mb3JtcyB0aGUgcHJlc2VudGVyIHRoZSBj
b250cm9sbGVyIGF0dGFjaGVkIHRvIHRoZSBwYWdlIGhhcyBiZWVuIGRlc3Ryb3llZC4KICAgICB2
aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpID0gMDsKIAorI2lm
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICAvLyBSZXF1ZXN0cyB1c2VyIHBlcm1p
c3Npb24gdG8gc2hvdyBkZXNrdG9wIG5vdGlmaWNhdGlvbnMgZnJvbSBhIHBhcnRpY3VsYXIKICAg
ICAvLyBzY3JpcHQgY29udGV4dC4gVGhlIGNhbGxiYWNrIHBhcmFtZXRlciBzaG91bGQgYmUgcnVu
IHdoZW4gdGhlIHVzZXIgaGFzCiAgICAgLy8gbWFkZSBhIGRlY2lzaW9uLgogICAgIHZpcnR1YWwg
dm9pZCByZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0
cjxWb2lkQ2FsbGJhY2s+KSA9IDA7CisjZW5kaWYKKyAgICAvLyBGSVhNRTogT25jZSBhbGwgb2Yg
dGhlIHBvcnRzIGhhdmUgYWRvcHRlZCB0aGUgbmV3IEFQSSwgd2Ugc2hvdWxkIHR1cm4gdGhpcyB0
byBhIHB1cmUgdmlydHVhbC4KKyAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNh
bGxiYWNrPikgeyB9CiAKICAgICAvLyBDYW5jZWwgYWxsIG91dHN0YW5kaW5nIHJlcXVlc3RzIGZv
ciB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dAogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxSZXF1
ZXN0c0ZvclBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopID0gMDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmlkbAppbmRleCAxNDA4NmJmMjBlOWU0OTc2YWE4ODEyM2I4NjBjMDdiNDU5
M2E3OWFkLi5mZGNhNjRhZTEyNmYxNjM1ZDk1OTg4ZGM4YjY3NzRlMGQ3ZTg0NmViIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC0xNzIsNiArMTcyLDcgQEAgbW9kdWxlIHdpbmRvdyB7
CiAKICNpZiBkZWZpbmVkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAmJiBFTkFCTEVfTk9USUZJQ0FU
SU9OUwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZV0gTm90
aWZpY2F0aW9uQ2VudGVyIHdlYmtpdE5vdGlmaWNhdGlvbnM7CisgICAgICAgIGF0dHJpYnV0ZSBO
b3RpZmljYXRpb25Db25zdHJ1Y3RvciBOb3RpZmljYXRpb247CiAjZW5kaWYKIAogI2lmIGRlZmlu
ZWQoRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUykgJiYgRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5U
UwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZp
Y2F0aW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3Rp
ZmljYXRpb25DbGllbnQuaAppbmRleCBhNDBjZTgxZTVkYzdmNjQ2NjUxZWY4Njk4YTc2MmU1MTE4
ZDdiYjkzLi42NGZhZGYyMmFkMDMxNjRmNjA4N2ZjYTFlYTY0NTM0MDVhZGQ1NWM2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGll
bnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRp
b25DbGllbnQuaApAQCAtMzQsMTEgKzM0LDEzIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIE5vdGlmaWNhdGlvbjsKK2NsYXNzIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjazsK
IGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiBjbGFzcyBWb2lkQ2FsbGJhY2s7CiB9CiAK
IEBjbGFzcyBXZWJOb3RpZmljYXRpb247CitAY2xhc3MgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlz
dGVuZXI7CiBAY2xhc3MgV2ViVmlldzsKIAogY2xhc3MgV2ViTm90aWZpY2F0aW9uQ2xpZW50IDog
cHVibGljIFdlYkNvcmU6Ok5vdGlmaWNhdGlvblByZXNlbnRlciB7CkBAIC01MiwxMCArNTQsMTcg
QEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJOb3RpZmljYXRpb25zKFdlYkNvcmU6
OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgbm90
aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiopIE9WRVJSSURF
OwogICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25Db250cm9sbGVyRGVzdHJveWVkKCkgT1ZF
UlJJREU7CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIHZpcnR1YWwgdm9p
ZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFz
c1JlZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJhY2s+KSBPVkVSUklERTsKKyNlbmRpZgorICAgIHZp
cnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+
KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9u
KFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBPVkVSUklERSB7IH0KICAgICB2aXJ0
dWFsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbiBjaGVja1Blcm1p
c3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIE9WRVJSSURFOwogCisjaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpCisgICAgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3Jl
OjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIg
Kik7CisjZW5kaWYKKwogICAgIFdlYlZpZXcgKm1fd2ViVmlldzsKICNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKICAgICBIYXNoTWFwPFJlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRpb24+LCBSZXRh
aW5QdHI8V2ViTm90aWZpY2F0aW9uPiA+IG1fbm90aWZpY2F0aW9uTWFwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lm1t
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50
Lm1tCmluZGV4IDJmN2NkNTQxMTc3MTM3MzNmYWUwZTFlMmMyZjRhOTkxMWQ2ZmJjNGYuLmZkY2Qy
OGU3Y2EwZjU2NjRlNmNiYzlhOTA2YmE5OWVlYjNiZjRhMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQubW0K
QEAgLTMzLDE4ICszMywzMSBAQAogI2ltcG9ydCAiV2ViVUlEZWxlZ2F0ZVByaXZhdGUuaCIKICNp
bXBvcnQgIldlYlZpZXdJbnRlcm5hbC5oIgogI2ltcG9ydCA8V2ViQ29yZS9CbG9ja0V4Y2VwdGlv
bnMuaD4KKyNpbXBvcnQgPFdlYkNvcmUvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmg+
CiAjaW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5oPgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CisjaW1wb3J0IDxXZWJDb3JlL1ZvaWRDYWxsYmFjay5oPgorI2VuZGlmCisKIHVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwogCiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisKIEBpbnRlcmZhY2Ug
V2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgOiBOU09iamVjdCA8V2ViQWxsb3dEZW55UG9s
aWN5TGlzdGVuZXI+CiB7Ci0gICAgUmVmUHRyPFZvaWRDYWxsYmFjaz4gX2NhbGxiYWNrOworICAg
IFJlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IF9jYWxsYmFjazsKKyNpZiBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAgUmVmUHRyPFZvaWRDYWxsYmFjaz4gX3Zv
aWRDYWxsYmFjazsKKyNlbmRpZgogfQotLSAoaWQpaW5pdFdpdGhDYWxsYmFjazooUGFzc1JlZlB0
cjxWb2lkQ2FsbGJhY2s+KWNhbGxiYWNrOworLSAoaWQpaW5pdFdpdGhDYWxsYmFjazooUGFzc1Jl
ZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KWNhbGxiYWNrOworI2lmIEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKy0gKGlkKWluaXRXaXRoVm9pZENhbGxiYWNrOihQYXNz
UmVmUHRyPFZvaWRDYWxsYmFjaz4pY2FsbGJhY2s7CisjZW5kaWYKKwogQGVuZAogI2VuZGlmCiAK
QEAgLTE0NywyOSArMTYwLDQ2IEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50Ojpub3RpZmlj
YXRpb25Db250cm9sbGVyRGVzdHJveWVkKCkKICAgICBkZWxldGUgdGhpczsKIH0KIAorCisjaWYg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6
OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NS
ZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFjaykKIHsKKyAgICBCRUdJTl9CTE9DS19PQkpDX0VY
Q0VQVElPTlM7CisgICAgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIqIGxpc3RlbmVyID0g
W1tXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciBhbGxvY10gaW5pdFdpdGhWb2lkQ2FsbGJh
Y2s6Y2FsbGJhY2tdOworICAgIHJlcXVlc3RQZXJtaXNzaW9uKGNvbnRleHQsIGxpc3RlbmVyKTsK
KyAgICBbbGlzdGVuZXIgcmVsZWFzZV07CisgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsK
K30KKyNlbmRpZgorCit2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pc3Np
b24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxOb3RpZmljYXRp
b25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNhbGxiYWNrKQorewogI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKQogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKLSAgICAKKyAgICBXZWJOb3Rp
ZmljYXRpb25Qb2xpY3lMaXN0ZW5lciAqbGlzdGVuZXIgPSBbW1dlYk5vdGlmaWNhdGlvblBvbGlj
eUxpc3RlbmVyIGFsbG9jXSBpbml0V2l0aENhbGxiYWNrOmNhbGxiYWNrXTsKKyAgICByZXF1ZXN0
UGVybWlzc2lvbihjb250ZXh0LCBsaXN0ZW5lcik7CisgICAgW2xpc3RlbmVyIHJlbGVhc2VdOwor
ICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShj
b250ZXh0KTsKKyAgICBVTlVTRURfUEFSQU0oY2FsbGJhY2spOworI2VuZGlmCit9CisKKyNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykKK3ZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0
UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXZWJO
b3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciAqbGlzdGVuZXIpCit7CiAgICAgU0VMIHNlbGVjdG9y
ID0gQHNlbGVjdG9yKHdlYlZpZXc6ZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUmVxdWVzdEZy
b21PcmlnaW46bGlzdGVuZXI6KTsKICAgICBpZiAoIVtbbV93ZWJWaWV3IFVJRGVsZWdhdGVdIHJl
c3BvbmRzVG9TZWxlY3RvcjpzZWxlY3Rvcl0pCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBX
ZWJTZWN1cml0eU9yaWdpbiAqd2ViT3JpZ2luID0gW1tXZWJTZWN1cml0eU9yaWdpbiBhbGxvY10g
X2luaXRXaXRoV2ViQ29yZVNlY3VyaXR5T3JpZ2luOmNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCld
OwotICAgIFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyKiBsaXN0ZW5lciA9IFtbV2ViTm90
aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgYWxsb2NdIGluaXRXaXRoQ2FsbGJhY2s6Y2FsbGJhY2td
OwogICAgIAogICAgIENhbGxVSURlbGVnYXRlKG1fd2ViVmlldywgc2VsZWN0b3IsIHdlYk9yaWdp
biwgbGlzdGVuZXIpOwogICAgIAogICAgIFt3ZWJPcmlnaW4gcmVsZWFzZV07Ci0gICAgW2xpc3Rl
bmVyIHJlbGVhc2VdOwotICAgIAotICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7Ci0jZWxz
ZQotICAgIFVOVVNFRF9QQVJBTShjb250ZXh0KTsKLSAgICBVTlVTRURfUEFSQU0oY2FsbGJhY2sp
OwotI2VuZGlmCiB9CisjZW5kaWYKIAogTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9u
IFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2hlY2tQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIGNvbnRleHQpCiB7CkBAIC0xOTksNyArMjI5LDggQEAgTm90aWZpY2F0aW9uUHJlc2Vu
dGVyOjpQZXJtaXNzaW9uIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2hlY2tQZXJtaXNzaW9uKFNj
cmlwdEUKIAogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogQGltcGxlbWVudGF0aW9uIFdlYk5v
dGlmaWNhdGlvblBvbGljeUxpc3RlbmVyCi0tIChpZClpbml0V2l0aENhbGxiYWNrOihQYXNzUmVm
UHRyPFZvaWRDYWxsYmFjaz4pY2FsbGJhY2sKKworLSAoaWQpaW5pdFdpdGhDYWxsYmFjazooUGFz
c1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KWNhbGxiYWNrCiB7CiAgICAg
aWYgKCEoc2VsZiA9IFtzdXBlciBpbml0XSkpCiAgICAgICAgIHJldHVybiBuaWw7CkBAIC0yMDks
MTQgKzI0MCw0MCBAQCBOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb24gV2ViTm90aWZp
Y2F0aW9uQ2xpZW50OjpjaGVja1Blcm1pc3Npb24oU2NyaXB0RQogICAgIHJldHVybiBzZWxmOwog
fQogCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorLSAoaWQpaW5pdFdpdGhWb2lk
Q2FsbGJhY2s6KFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiljYWxsYmFjaworeworICAgIGlmICgh
KHNlbGYgPSBbc3VwZXIgaW5pdF0pKQorICAgICAgICByZXR1cm4gbmlsOworCisgICAgQVNTRVJU
KGNhbGxiYWNrKTsKKyAgICBfdm9pZENhbGxiYWNrID0gY2FsbGJhY2s7CisgICAgcmV0dXJuIHNl
bGY7Cit9CisjZW5kaWYKKwogLSAodm9pZClhbGxvdwogewotICAgIF9jYWxsYmFjay0+aGFuZGxl
RXZlbnQoKTsKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAgaWYgKF92b2lk
Q2FsbGJhY2spIHsKKyAgICAgICAgX3ZvaWRDYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorCisgICAgX2NhbGxiYWNrLT5oYW5kbGVFdmVudChO
b3RpZmljYXRpb246OnN0cmluZ0ZvclBlcm1pc3Npb24oTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQ
ZXJtaXNzaW9uQWxsb3dlZCkpOwogfQogCiAtICh2b2lkKWRlbnkKIHsKLSAgICBfY2FsbGJhY2st
PmhhbmRsZUV2ZW50KCk7CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorICAgIGlm
IChfdm9pZENhbGxiYWNrKSB7CisgICAgICAgIF92b2lkQ2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYKKworICAgIF9jYWxsYmFjay0+aGFuZGxl
RXZlbnQoTm90aWZpY2F0aW9uOjpzdHJpbmdGb3JQZXJtaXNzaW9uKE5vdGlmaWNhdGlvblByZXNl
bnRlcjo6UGVybWlzc2lvbkRlbmllZCkpOwogfQogCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwCmluZGV4IDFkZGRhN2M5
ODE2MGQ1NDliOTkyM2FlMjdlMTRkZTg3ZDg5NTdiMjIuLmZiNGZjMDdkOTI1OWExNTg0Y2Q5NjBm
OTAwZGNhYTEwZDY2Yzk3MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
Tm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwCkBAIC01OSwxMSArNTksMTIgQEAgTm90aWZpY2F0
aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXIoV2ViUGEKIHsKIH0KIAotdm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXI6OnN0YXJ0UmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2luLCBQYXNzUmVmUHRy
PFZvaWRDYWxsYmFjaz4gY2FsbGJhY2spCit2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlcjo6c3RhcnRSZXF1ZXN0KFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sIFBhc3NSZWZQ
dHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBjYWxsYmFjaykKIHsKICNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKLSAgICBpZiAocGVybWlzc2lvbkxldmVsKG9yaWdpbikgIT0gTm90
aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uTm90QWxsb3dlZCkgewotICAgICAgICBjYWxs
YmFjay0+aGFuZGxlRXZlbnQoKTsKKyAgICBOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Np
b24gcGVybWlzc2lvbiA9IHBlcm1pc3Npb25MZXZlbChvcmlnaW4pOworICAgIGlmIChwZXJtaXNz
aW9uICE9IE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbk5vdEFsbG93ZWQpIHsKKyAg
ICAgICAgY2FsbGJhY2stPmhhbmRsZUV2ZW50KE5vdGlmaWNhdGlvbjo6c3RyaW5nRm9yUGVybWlz
c2lvbihwZXJtaXNzaW9uKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTc4LDYgKzc5
LDIzIEBAIHZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpzdGFydFJl
cXVlc3QoU2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwKICNlbmRpZgogfQogCisjaWYgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQordm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXI6OnN0YXJ0UmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2luLCBQYXNzUmVmUHRyPFZv
aWRDYWxsYmFjaz4gY2FsbGJhY2spCit7CisgICAgTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJt
aXNzaW9uIHBlcm1pc3Npb24gPSBwZXJtaXNzaW9uTGV2ZWwob3JpZ2luKTsKKyAgICBpZiAocGVy
bWlzc2lvbiAhPSBOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb25Ob3RBbGxvd2VkKSB7
CisgICAgICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVudCgpOworICAgICAgICByZXR1cm47CisgICAg
fQorICAgIAorICAgIHVpbnQ2NF90IHJlcXVlc3RJRCA9IGdlbmVyYXRlUmVxdWVzdElEKCk7Cisg
ICAgbV9vcmlnaW5Ub0lETWFwLnNldChvcmlnaW4sIHJlcXVlc3RJRCk7CisgICAgbV9pZFRvT3Jp
Z2luTWFwLnNldChyZXF1ZXN0SUQsIG9yaWdpbik7CisgICAgbV9pZFRvVm9pZENhbGxiYWNrTWFw
LnNldChyZXF1ZXN0SUQsIGNhbGxiYWNrKTsKKyAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6Oldl
YlBhZ2VQcm94eTo6UmVxdWVzdE5vdGlmaWNhdGlvblBlcm1pc3Npb24ocmVxdWVzdElELCBvcmln
aW4tPnRvU3RyaW5nKCkpKTsKK30KKyNlbmRpZgorCiB2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlcjo6Y2FuY2VsUmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2luKQog
ewogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQpAQCAtMTExLDExICsxMjksMTkgQEAgdm9pZCBO
b3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OmRpZFJlY2VpdmVOb3RpZmljYXRp
b25QZXJtaXNzaW9uRGVjaXMKICAgICBpZiAoIWlzUmVxdWVzdElEVmFsaWQocmVxdWVzdElEKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgUmVmUHRyPFZvaWRDYWxsYmFjaz4gY2FsbGJhY2sgPSBt
X2lkVG9DYWxsYmFja01hcC50YWtlKHJlcXVlc3RJRCk7CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQorICAgIFJlZlB0cjxWb2lkQ2FsbGJhY2s+IHZvaWRDYWxsYmFjayA9IG1faWRU
b1ZvaWRDYWxsYmFja01hcC50YWtlKHJlcXVlc3RJRCk7CisgICAgaWYgKHZvaWRDYWxsYmFjaykg
eworICAgICAgICB2b2lkQ2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisjZW5kaWYKKworICAgIFJlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2s+IGNhbGxiYWNrID0gbV9pZFRvQ2FsbGJhY2tNYXAudGFrZShyZXF1ZXN0SUQpOwogICAgIGlm
ICghY2FsbGJhY2spCiAgICAgICAgIHJldHVybjsKICAgICAKLSAgICBjYWxsYmFjay0+aGFuZGxl
RXZlbnQoKTsKKyAgICBjYWxsYmFjay0+aGFuZGxlRXZlbnQoTm90aWZpY2F0aW9uOjpzdHJpbmdG
b3JQZXJtaXNzaW9uKGFsbG93ZWQgPyBOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb25B
bGxvd2VkIDogTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uRGVuaWVkKSk7CiAjZWxz
ZQogICAgIFVOVVNFRF9QQVJBTShyZXF1ZXN0SUQpOwogICAgIFVOVVNFRF9QQVJBTShhbGxvd2Vk
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXIuaAppbmRleCA1NTczYzZhMTExOWVmMmIwNmU3ZWVjMmVjOTFjM2IzYWQ3ZWNmNzVkLi5iYTM5
ZmJmNzJhZmUwMjBhNWJiZmMzZDA1MTk1YjM3YjI5ZmJiMzY1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRp
b25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oCkBAIC0yNiw2ICsyNiw3
IEBACiAjaWZuZGVmIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcl9oCiAjZGVm
aW5lIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcl9oCiAKKyNpbmNsdWRlIDxX
ZWJDb3JlL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvTm90aWZpY2F0aW9uUHJlc2VudGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Wb2lkQ2FsbGJh
Y2suaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgpAQCAtNDYsNyArNDcsMTAgQEAgY2xhc3Mg
Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyIDogcHVibGljIFJlZkNvdW50ZWQ8
Tm90aWZpY2F0aW9uUGVybWkKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxOb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI+IGNyZWF0ZShXZWJQYWdlKik7CiAgICAgCisg
ICAgdm9pZCBzdGFydFJlcXVlc3QoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qLCBQYXNzUmVmUHRy
PFdlYkNvcmU6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4pOworI2lmIEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICB2b2lkIHN0YXJ0UmVxdWVzdChXZWJDb3JlOjpTZWN1
cml0eU9yaWdpbiosIFBhc3NSZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxiYWNrPik7CisjZW5kaWYK
ICAgICB2b2lkIGNhbmNlbFJlcXVlc3QoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qKTsKICAgICAK
ICAgICAvLyBTeW5jaHJvbm91cyBjYWxsIHRvIHJldHJpZXZlIHBlcm1pc3Npb24gbGV2ZWwgZm9y
IGdpdmVuIHNlY3VyaXR5IG9yaWdpbgpAQCAtNTcsNyArNjEsMTAgQEAgcHVibGljOgogcHJpdmF0
ZToKICAgICBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoV2ViUGFnZSopOwog
ICAgIAotICAgIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJhY2s+
ID4gbV9pZFRvQ2FsbGJhY2tNYXA7CisgICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYkNv
cmU6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4gPiBtX2lkVG9DYWxsYmFja01hcDsK
KyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAgSGFzaE1hcDx1aW50NjRfdCwg
UmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4gPiBtX2lkVG9Wb2lkQ2FsbGJhY2tNYXA7Cisj
ZW5kaWYKICAgICBIYXNoTWFwPFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4sIHVpbnQ2
NF90PiBtX29yaWdpblRvSURNYXA7CiAgICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYkNv
cmU6OlNlY3VyaXR5T3JpZ2luPiA+IG1faWRUb09yaWdpbk1hcDsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGll
bnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3Rp
ZmljYXRpb25DbGllbnQuY3BwCmluZGV4IDkwZWIxNjFmMjZjZGIzMzAzNjExYjRlYThlNjA1OGU2
OWViYzU0MDMuLmRjNWJiN2EyM2Y4NmUzNDY1N2NiYWUyZDU0NDIxNTIzMTU0ZDE5YzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZp
Y2F0aW9uQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAKQEAgLTc3LDYgKzc3LDExIEBAIHZvaWQg
V2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0LCBQCiAgICAgbV9wYWdlLT5ub3RpZmljYXRpb25QZXJtaXNzaW9uUmVx
dWVzdE1hbmFnZXIoKS0+c3RhcnRSZXF1ZXN0KGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCksIGNh
bGxiYWNrKTsKIH0KIAordm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaXNz
aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8Tm90aWZpY2F0
aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBjYWxsYmFjaykKK3sKKyAgICBtX3BhZ2UtPm5vdGlmaWNh
dGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcigpLT5zdGFydFJlcXVlc3QoY29udGV4dC0+c2Vj
dXJpdHlPcmlnaW4oKSwgY2FsbGJhY2spOworfQorCiB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVu
dDo6Y2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQpCiB7CiAgICAgbV9wYWdlLT5ub3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXIoKS0+Y2FuY2VsUmVxdWVzdChjb250ZXh0LT5zZWN1cml0eU9yaWdpbigpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0
aW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
Yk5vdGlmaWNhdGlvbkNsaWVudC5oCmluZGV4IDE0N2E4OGFjMTBkZDg5YzU4YzgzNjMwZTY1YWY0
Yzc0OGYwZTI1ODEuLjE0OTRmOWQyNzg1NTgxMTZmMThiYzk5ZTNiZjZiMzE2YzNiNDA1NjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90
aWZpY2F0aW9uQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1
ZGUgPFdlYkNvcmUvTm90aWZpY2F0aW9uUHJlc2VudGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKK2NsYXNzIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjazsKIGNsYXNzIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ7CiBjbGFzcyBWb2lkQ2FsbGJhY2s7CiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCkBAIC01MSw5ICs1MiwxMCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBub3RpZmlj
YXRpb25PYmplY3REZXN0cm95ZWQoV2ViQ29yZTo6Tm90aWZpY2F0aW9uKikgT1ZFUlJJREU7CiAg
ICAgdmlydHVhbCB2b2lkIG5vdGlmaWNhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKSBPVkVSUklE
RTsKICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxiYWNrPikgT1ZFUlJJ
REU7CisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPFdlYkNvcmU6Ok5vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjaz4pIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxSZXF1ZXN0c0Zv
clBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIE9WRVJSSURFOwog
ICAgIHZpcnR1YWwgTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIGNoZWNrUGVybWlz
c2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgT1ZFUlJJREU7Ci0gICAgCisK
ICAgICBXZWJQYWdlKiBtX3BhZ2U7CiB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131163</attachid>
            <date>2012-03-10 00:36:11 -0800</date>
            <delta_ts>2012-03-10 01:00:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80485-20120310003727.patch</filename>
            <type>text/plain</type>
            <size>60925</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMzcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRlM2FhZWU2ODE2NmEx
ODBlMjljOGY4OTk4NzU3M2I5Y2UyNjg4MS4uYjkxMmRhN2JlMTUwOGY5Y2VhODQzZGI4OWNlN2I5
MzNlOTZmM2QwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEyLTAzLTA5ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVu
Y3Rpb25zIHRvIE5vdGlmaWNhdGlvbiBmcm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzEwOTY1NDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsOiBCZWNhdXNl
IHRoZSBmdW5jdGlvbnMgYXJlIG9uIHRoZSBOb3RpZmljYXRpb24gb2JqZWN0IGl0c2VsZiwgd2Ug
bmVlZCB0bworICAgICAgICBkZWNsYXJlIGl0IGEgY29uc3RydWN0b3Igc28gdGhhdCBpdCBpcyBh
Y2Nlc3NpYmxlIGZyb20gRE9NV2luZG93LgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDog
QWRkIE5vdGlmaWNhdGlvbiBjb25zdHJ1Y3Rvci4KKworICAgICAgICAqIG5vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6cGVybWlz
c2lvbkxldmVsKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6c3RyaW5nRm9yUGVy
bWlzc2lvbik6IERlY2xhcmUgdGhyZWUgc3RhdGljIGxvY2FscyBmb3IgZWFjaCBvZiB0aGUgdmFs
dWVzLCBhbmQgcmV0dXJuCisgICAgICAgIGJhc2VkIG9uIHRoZSBwZXJtaXNzaW9uIGVudW0uCisg
ICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb246OnJlcXVlc3RQZXJtaXNzaW9uKTogRm9yd2Fy
ZCByZXF1ZXN0IHRvIGNsaWVudC4KKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5oOgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2suaDogQWRkZWQuCisgICAgICAgIChOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sp
OgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrOjp+Tm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrKToKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGw6IEFkZGVkLgorCisgICAgICAgICogbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwOiBXcmFwIHBlcm1pc3Npb24gZnVuY3Rp
b25zIGluIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5oOiBXcmFwIHBlcm1pc3Npb24gZnVuY3Rpb25zIGluIEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbkNlbnRlci5pZGw6IFdyYXAgcGVybWlzc2lvbiBmdW5jdGlvbnMgaW4gRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQorICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
UHJlc2VudGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXI6OnJl
cXVlc3RQZXJtaXNzaW9uKTogQWRkIG5ldyByZXF1ZXN0UGVybWlzc2lvbigpIGZ1bmN0aW9uIGZv
ciBuZXcKKyAgICAgICAgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrIHR5cGUuIE1ha2Ug
aXQgYSBzdHViIGltcGxlbWVudGF0aW9uIHVudGlsIGFsbCBwb3J0cyBoYXZlIGFkb3B0ZWQuCisK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcDog
RW5jYXBzdWxhdGUgd2l0aCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpIHNpbmNlCisgICAg
ICAgIHRoZSByZXF1ZXN0UGVybWlzc2lvbigpIGZ1bmN0aW9uIGlzIG1vdmluZyB0byBOb3RpZmlj
YXRpb24uCisgICAgICAgICogYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3Rv
bS5jcHA6IEN1c3RvbSBpbXBsZW1lbnRhdGlvbiBvZiByZXF1ZXN0UGVybWlzc2lvbigpLgorICAg
ICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHA6IEN1c3Rv
bSBpbXBsZW1lbnRhdGlvbiBvZiByZXF1ZXN0UGVybWlzc2lvbigpLgorCisgICAgICAgICogQ01h
a2VMaXN0cy50eHQ6IEFkZCBuZXcgY2FsbGJhY2sgaWRsLgorICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLm1ha2U6IEFkZCBuZXcgY2FsbGJhY2sgaWRsLgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxp
c3QuYW06IEFkZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgZmlsZXMuCisgICAgICAg
ICogVGFyZ2V0LnByaTogSW5jbHVkZSBKU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAsIFY4Tm90aWZp
Y2F0aW9uQ3VzdG9tLmNwcAorICAgICAgICAqIFVzZUpTQy5jbWFrZTogSW5jbHVkZSBKU05vdGlm
aWNhdGlvbkN1c3RvbS5jcHAKKyAgICAgICAgKiBVc2VWOC5jbWFrZTogSW5jbHVkZSBWOE5vdGlm
aWNhdGlvbkN1c3RvbS5jcHAKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IEluY2x1ZGUgSlNOb3Rp
ZmljYXRpb25DdXN0b20uY3BwLCBWOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAsIEpTTm90aWZpY2F0
aW9uUGVybWlzc2lvbkNhbGxiYWNrLntoLGNwcH0KKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvajogSW5jbHVkZSBKU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAsIEpTTm90aWZp
Y2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLntoLGNwcH0KKyAgICAgICAgKiBXZWJDb3JlLmV4cC5p
bjogRXhwb3J0IHN0cmluZ0ZvclBlcm1pc3Npb24oKS4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6IEFkZCBjYWxsYmFjayBpZGwsIGgsIGFuZCBjcHAgZmlsZXMu
CisKIDIwMTItMDMtMDkgIFJvYmVydCBLcm9lZ2VyICA8cmprcm9lZ2VAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIEhhbmRsZSBtb3JlIEdlc3R1cmUqIGV2ZW50cyBieSBwZXJmb3JtaW5nIHNjcm9s
bHMgb24gdGhlIGNvcnJlY3QgdGFyZ2V0IFNjcm9sbGFibGVBcmVhIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmlu
ZGV4IGFiNzM3MWUyMTQ2MmFmNDgwMzRhYTgyZjgzZTVkYjYzNzE5ZjVlNGQuLjMxMjMxNDNjMTE2
ZWEwYzU4YTM3OTY2ZWEwNGY0ZmQ4YjZkMWJlOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMCBAQAorMjAxMi0wMy0wOSAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKKyAgICAg
ICAgTWlncmF0ZSBwZXJtaXNzaW9uIGZ1bmN0aW9ucyB0byBOb3RpZmljYXRpb24gZnJvbSBOb3Rp
ZmljYXRpb25DZW50ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTgwNDg1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDk2NTQ1OD4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYk5v
dGlmaWNhdGlvbkNsaWVudC5tbTogQWRkIG5ldyBtZW1iZXIgdmFyaWFibGUgdG8gaGFuZGxlIGJv
dGgga2luZHMgb2YgY2FsbGJhY2tzLgorICAgICAgICAoV2ViTm90aWZpY2F0aW9uQ2xpZW50Ojpy
ZXF1ZXN0UGVybWlzc2lvbik6IEFkZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgdmVy
c2lvbiBvZiB0aGUgc2FtZQorICAgICAgICBmdW5jdGlvbi4KKyAgICAgICAgKC1bV2ViTm90aWZp
Y2F0aW9uUG9saWN5TGlzdGVuZXIgaW5pdFdpdGhDYWxsYmFjazpdKToKKyAgICAgICAgKC1bV2Vi
Tm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgaW5pdFdpdGhWb2lkQ2FsbGJhY2s6XSk6CisgICAg
ICAgICgtW1dlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGFsbG93XSk6CisgICAgICAgICgt
W1dlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGRlbnldKToKKwogMjAxMi0wMy0wOSAgRW5y
aWNhIENhc3VjY2kgIDxlbnJpY2FAYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgV2ViTlNVUkxF
eHRyYXMgY29kZSBkb3duIHRvIFdlYkNvcmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTVlYTNjZDRjMWMzMDE0
NTY2YjA2OTc2Yjk0YmVlMDk4YTRiN2ZjOC4uMWI5ZDE3MzJkM2EyYmZiOTc4MTQyYmQ2NmU2ZTQ0
NGQwZTRkYzIzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTAzLTA5ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVu
Y3Rpb25zIHRvIE5vdGlmaWNhdGlvbiBmcm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzEwOTY1NDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBl
cm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6c3RhcnRSZXF1ZXN0KToKKyAgICAgICAgKFdlYktp
dCk6CisgICAgICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
cjo6ZGlkUmVjZWl2ZU5vdGlmaWNhdGlvblBlcm1pc3Npb25EZWNpc2lvbik6CisgICAgICAgICog
V2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlci5oOgorICAgICAgICAoTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVu
dC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBl
cm1pc3Npb24pOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJOb3RpZmljYXRpb25DbGllbnQpOgorCiAyMDEyLTAzLTA5ICBWaWF0Y2hlc2xh
diBPc3RhcGVua28gIDxvc3RhcGVua28udmlhdGNoZXNsYXZAbm9raWEuY29tPgogCiAgICAgICAg
IFtRdF0gW1dLMl0gU2hvdWxkbid0IHVzZSBpdGVtIGZvciBjbGlwcGluZyByZWN0IGNhbGN1bGF0
aW9uIGluIHBhaW50IG5vZGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDJmY2MyNjU1NzMzMjYz
OTVjYTQ0MDI0NDRjZDAwYThlOGNjYWMyMjAuLmM1NDVlNGVkYTZjNmIxMTRkNmYzZDcyNmIyZGQ1
OTM5ODBiOWM3NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xNjMxLDYgKzE2MzEsNyBAQCBJ
RiAoRU5BQkxFX05PVElGSUNBVElPTlMpCiAgICAgTElTVChBUFBFTkQgV2ViQ29yZV9JRExfRklM
RVMKICAgICAgICAgbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCiAgICAgICAgIG5vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbAorICAgICAgICBub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwKICAgICApCiBFTkRJRiAoKQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAyNDYwNjgzM2E1NzZkOGQ3ZmI1ODFjMWIzNjVh
ZjZkNjA4ZDIxYzY1Li40NDNmNmYyZDFiMWU0ZjZkMjBmNjRjMjNhMzBhZjQyNDNjZTM5M2U1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTEsNCArMSw0IEBACi0jIENvcHlyaWdo
dCAoQykgMjAwNiwgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisj
IENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2Vp
bmlnQGdtYWlsLmNvbT4gCiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFjayA8
Y2FtQG1jYy5pZC5hdT4KICMKQEAgLTM1NSw2ICszNTUsNyBAQCBCSU5ESU5HX0lETFMgPSBcCiAg
ICAgJChXZWJDb3JlKS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5pZGwgXAog
ICAgICQoV2ViQ29yZSkvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsIFwKICAgICAkKFdl
YkNvcmUpL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbCBcCisgICAgJChXZWJD
b3JlKS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgXAog
ICAgICQoV2ViQ29yZSkvcGFnZS9BYnN0cmFjdFZpZXcuaWRsIFwKICAgICAkKFdlYkNvcmUpL3Bh
Z2UvQmFySW5mby5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9Db25zb2xlLmlkbCBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5wcmkKaW5kZXggYWY0ZjViNTBiODU3ZjIyZjEwYjRjNTdiM2RhZDhl
MWQyODgzNWFkOC4uZGNjNWNiZjhjYTY0NWFiZTM0NDNlNjk4YjIxY2IzMDkzYWViOTBmNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpAQCAtMzc3LDYgKzM3Nyw3IEBAIElETF9CSU5ESU5H
UyArPSBcCiAgICAgJCRQV0QvbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuaWRs
IFwKICAgICAkJFBXRC9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwgXAogICAgICQkUFdE
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbCBcCisgICAgJCRQV0Qvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsIFwKICAgICAkJFBXRC9w
YWdlL0JhckluZm8uaWRsIFwKICAgICAkJFBXRC9wYWdlL0NvbnNvbGUuaWRsIFwKICAgICAkJFBX
RC9wYWdlL0Nvb3JkaW5hdGVzLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRl
eCA0NTY5NDE5ZGNlY2FlYzk0OTczYTJmODlhMmE5OGFhZjYwMmM2OWY1Li5mMjk5NmE2MDk4MWY4
ZDI2YmIwZTQ4Mzk3NWI4MTVkNzVmNjU2N2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KQEAgLTQyMCw2ICs0MjAsOCBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb3RpZmljYXRpb25DZW50ZXIuaCBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU05vdGlmaWNhdGlvbi5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNOb3RpZmljYXRpb24uaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjay5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
T0VTU3RhbmRhcmREZXJpdmF0aXZlcy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VT
VGV4dHVyZUZsb2F0LmNwcCBcCkBAIC05MDAsNiArOTAyLDcgQEAgZG9tX2JpbmRpbmdfaWRscyAr
PSBcCiAJJChXZWJDb3JlKS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5pZGwg
XAogCSQoV2ViQ29yZSkvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsIFwKIAkkKFdlYkNv
cmUpL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbCBcCisJJChXZWJDb3JlKS9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgXAogCSQoV2Vi
Q29yZSkvcGFnZS9CYXJJbmZvLmlkbCBcCiAJJChXZWJDb3JlKS9wYWdlL0NvbnNvbGUuaWRsIFwK
IAkkKFdlYkNvcmUpL3BhZ2UvQ29vcmRpbmF0ZXMuaWRsIFwKQEAgLTI4MjcsNiArMjgzMCw3IEBA
IHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25Db250cm9sbGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uaCBcCisJU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2suaCBcCiAJU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25QcmVzZW50ZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9u
QmFzZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2Uu
aCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNv
cmUvVGFyZ2V0LnByaQppbmRleCBmOGYyYjVhMGE2YjMxYWJkMzczOTQxYTEwYTY5ZDYxNzBhNTA0
YWZjLi5hY2E1M2M0ZjhhNDIwNDQzNGRhYmQ5Mjk5NmZlY2UyOWJlY2M2NGI5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5w
cmkKQEAgLTIzMyw2ICsyMzMsNyBAQCB2OCB7CiAgICAgICAgIFwKICAgICAgICAgYmluZGluZ3Mv
djgvc3BlY2lhbGl6YXRpb24vVjhCaW5kaW5nU3RhdGUuY3BwXAogICAgICAgICBcCisgICAgICAg
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAgXAogICAgICAgICBi
aW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DZW50ZXJDdXN0b20uY3BwIFwKICAgICAg
ICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q29uc29sZUN1c3RvbS5jcHAgXAogICAgICAgICBiaW5k
aW5ncy92OC9jdXN0b20vVjhTUUxUcmFuc2FjdGlvblN5bmNDdXN0b20uY3BwIFwKQEAgLTM0MSw2
ICszNDIsNyBAQCB2OCB7CiAgICAgICAgIGJpbmRpbmdzL2pzL0pTTm9kZUZpbHRlckN1c3RvbS5j
cHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU05vZGVJdGVyYXRvckN1c3RvbS5jcHAgXAogICAg
ICAgICBiaW5kaW5ncy9qcy9KU05vZGVMaXN0Q3VzdG9tLmNwcCBcCisgICAgICAgIGJpbmRpbmdz
L2pzL0pTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTUGx1
Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU1BvcFN0YXRl
RXZlbnRDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNQcm9jZXNzaW5nSW5zdHJ1
Y3Rpb25DdXN0b20uY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFr
ZSBiL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQppbmRleCAwOTAzOGRkNjg0ODc3ZTFmODIw
MjE5Mjc1ZTc4MmViMTMwODNhMjY2Li43ZTY3ZjMyNzQ2MDQwOGMyNzhmODBlNzg4YzU1N2Y2YjY0
OTc0NDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKKysrIGIvU291
cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCkBAIC0xMDksNiArMTA5LDcgQEAgTElTVChBUFBFTkQg
V2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvanMvSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcAog
ICAgIGJpbmRpbmdzL2pzL0pTTm9kZUl0ZXJhdG9yQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pz
L0pTTm9kZUxpc3RDdXN0b20uY3BwCisgICAgYmluZGluZ3MvanMvSlNOb3RpZmljYXRpb25DdXN0
b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcAogICAg
IGJpbmRpbmdzL2pzL0pTUG9wU3RhdGVFdmVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9K
U1Byb2Nlc3NpbmdJbnN0cnVjdGlvbkN1c3RvbS5jcHAKQEAgLTIyOCw2ICsyMjksNyBAQCBFTkRJ
RiAoKQogSUYgKEVOQUJMRV9OT1RJRklDQVRJT05TKQogICAgIExJU1QoQVBQRU5EIFdlYkNvcmVf
U09VUkNFUwogICAgICAgICBiaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9t
LmNwcAorICAgICAgICBiaW5kaW5ncy9qcy9KU05vdGlmaWNhdGlvbnNDdXN0b20uY3BwCiAgICAg
KQogRU5ESUYgKCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UgYi9T
b3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQppbmRleCBiOGY1ZmQyNjdlYTVhM2ViOTJkODkxOWRh
MTRhZGQ1MzQ2YWY3OGUwLi4wYWQ1ZjkzMzlkM2Y2NDVmMGI2NDkyMTBhNmVlM2Y1MzUzYTUxYTcz
IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Vc2VWOC5jbWFrZQpAQCAtMTM3LDYgKzEzNyw3IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVf
U09VUkNFUwogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZXNDb2xsZWN0aW9uLmNw
cAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vZGVDdXN0b20uY3BwCiAgICAgYmluZGluZ3Mv
djgvY3VzdG9tL1Y4Tm9kZUxpc3RDdXN0b20uY3BwCisgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNh
dGlvbkNlbnRlckN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhQZXJmb3JtYW5j
ZUN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhQb3BTdGF0ZUV2ZW50Q3VzdG9t
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA3Y2FkYmNmMGFmYzA5MzBiYzk2NzlhMTA5MTNm
N2JlZDVlMzNhNmZiLi4wNWRmMGJkY2JjNWQwNTBmYmQwYWFiNjkyMzQxZTRmNzI2OTUxMzQwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMjEyOCw2ICsyMTI4LDcgQEAgX19aTjdXZWJDb3JlMTJO
b3RpZmljYXRpb24xN2Rpc3BhdGNoU2hvd0V2ZW50RXYKIF9fWk43V2ViQ29yZTEyTm90aWZpY2F0
aW9uMThkaXNwYXRjaENsaWNrRXZlbnRFdgogX19aTjdXZWJDb3JlMTJOb3RpZmljYXRpb24xOGRp
c3BhdGNoQ2xvc2VFdmVudEV2CiBfX1pON1dlYkNvcmUxMk5vdGlmaWNhdGlvbjE4ZGlzcGF0Y2hF
cnJvckV2ZW50RXYKK19fWk43V2ViQ29yZTEyTm90aWZpY2F0aW9uMTlzdHJpbmdGb3JQZXJtaXNz
aW9uRU5TXzIxTm90aWZpY2F0aW9uUHJlc2VudGVyMTBQZXJtaXNzaW9uRQogI2VuZGlmCiAKICNp
ZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDA0NzhjZmE5
NDY4N2I1ZDlmMzQyNDcyMjk5OTgxOTNlNGU5MTkyOWUuLjMyYTE5YTYxOTNkNTliNjhlZTZlNDg1
ZDAwNzljOGNmOTZlMWMzM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTE3NzAsNiArMTc3MCw3IEBA
CiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvanMvSlNOb2RlSXRlcmF0b3JDdXN0b20uY3BwJywKICAgICAgICAg
ICAgICdiaW5kaW5ncy9qcy9KU05vZGVMaXN0Q3VzdG9tLmNwcCcsCisgICAgICAgICAgICAnYmlu
ZGluZ3MvanMvSlNOb3RpZmljYXRpb25DdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5n
cy9qcy9KU1BlZXJDb25uZWN0aW9uQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mv
anMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mv
anMvSlNQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcCcsCkBAIC0yMDc3LDYgKzIwNzgsNyBAQAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZXNDb2xsZWN0aW9uLmgnLAog
ICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vZGVDdXN0b20uY3BwJywKICAgICAg
ICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlTGlzdEN1c3RvbS5jcHAnLAorICAgICAg
ICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAnLAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkNlbnRlckN1c3RvbS5j
cHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFBlcmZvcm1hbmNlQ3VzdG9t
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4UG9wU3RhdGVFdmVudEN1
c3RvbS5jcHAnLApAQCAtNzUwMSw2ICs3NTAzLDggQEAKICAgICAgICAgICAgICc8KFBST0RVQ1Rf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uLmgnLAogICAgICAgICAg
ICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb3RpZmljYXRpb25D
ZW50ZXIuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTTm90aWZpY2F0aW9uQ2VudGVyLmgnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2suY3BwJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgnLAogICAgICAgICAgICAgJzwo
UFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPRVNTdGFuZGFyZERlcml2YXRp
dmVzLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNU
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU09FU1RleHR1cmVGbG9hdC5jcHAnLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAzMDFjMDY2
YTliN2M3ODIyNGY5ODgyM2UyMGY2MzE2M2U1OTg0NGZlLi4xZjBkNjViODE3Mjg2N2VlYzkxZDkx
YTNiZjE0ZmYzOWI5YmQ1NmZlIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagpAQCAtMTIwOTAsNiArMTIwOTAsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9i
alwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJE
ZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFz
ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRv
b2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fp
cm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgor
CQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJS
ZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
CisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJ
CS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJ
Lz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJ
CQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJ
Lz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlS
ZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCIKKwkJCQk+
CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9u
QnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU09wZXJhdGlvbk5v
dEFsbG93ZWRFeGNlcHRpb24uY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTY3MjczLDYgKzY3
MzI5LDU4IEBACiAJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJPC9GaWxlPgogCQkJCTxG
aWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNOb3RpZmljYXRpb25DdXN0
b20uY3BwIgorCQkJCQk+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVi
dWd8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJ
CTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0i
UmVsZWFzZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgor
CQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlO
YW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgor
CQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlByb2R1Y3Rpb258
V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxU
b29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0
aD0iLi5cYmluZGluZ3NcanNcSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcCIKIAkJCQkJPgog
CQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmZDY5ZGM1NGMwMTQ4NjQzMDM4MDU0YWM4ZTAz
YjJkZGM0MzVlZmRhLi5hMDY1NmExNGMyYTNiNTM1YmRhNDA0YWFmYWExN2U0MzQ2MWVkZDZkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC04OTksNiArODk5LDggQEAKIAkJMzFDMEZGNEMwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdl
YktpdFRyYW5zaXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMzFDMEZGNDYwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRp
b25FdmVudC5oICovOyB9OwogCQkzMUMwRkY0RDBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0
VHJhbnNpdGlvbkV2ZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzFDMEZGNDcwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25F
dmVudC5tbSAqLzsgfTsKIAkJMzFDMEZGNEUwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRy
YW5zaXRpb25FdmVudEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzMUMwRkY0ODBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNp
dGlvbkV2ZW50SW50ZXJuYWwuaCAqLzsgfTsKKwkJMzFFQzFFMjgxNEZGNjBFRTAwQzk0NjYyIC8q
IEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRUMxRTI2MTRGRjYwRUUwMEM5NDY2MiAvKiBK
U05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5jcHAgKi87IH07CisJCTMxRUMxRTI5MTRG
RjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFFQzFFMjcxNEZGNjBF
RTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggKi87IH07CiAJ
CTMxRkIxQTU3MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25DbGllbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTRGMTIwQTVEMDYw
MERDMDJBMCAvKiBEZXZpY2VNb3Rpb25DbGllbnQuaCAqLzsgfTsKIAkJMzFGQjFBNTgxMjBBNUQw
NjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNTAxMjBBNUQwNjAwREMwMkEwIC8q
IERldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwICovOyB9OwogCQkzMUZCMUE1OTEyMEE1RDA2MDBE
QzAyQTAgLyogRGV2aWNlTW90aW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNTExMjBBNUQwNjAwREMwMkEwIC8qIERldmlj
ZU1vdGlvbkNvbnRyb2xsZXIuaCAqLzsgfTsKQEAgLTkwOSw2ICs5MTEsOCBAQAogCQkzMUZCMUE2
NTEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE2MzEyMEE1RDNGMDBEQzAy
QTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgKi87IH07CiAJCTMxRkIxQTY2MTIwQTVEM0Yw
MERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE2NDEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZp
Y2VNb3Rpb25FdmVudC5oICovOyB9OwogCQkzMUZCMUE2QzEyMEE1RDY5MDBEQzAyQTAgLyogSlNE
ZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE2QjEyMEE1RDY5MDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rp
b25FdmVudEN1c3RvbS5jcHAgKi87IH07CisJCTMxRkU2REZBMTUwMDRDMkEwMDA0RUJDNCAvKiBO
b3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRUMxREFDMTRGRjI2RUEwMEM5NDY2MiAvKiBOb3RpZmlj
YXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQkzMUZFNkU2RDE1MDFBM0JGMDAwNEVCQzQgLyogSlNOb3RpZmlj
YXRpb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMzFGRTZFNkMxNTAxQTNCRjAwMDRFQkM0IC8qIEpTTm90aWZpY2F0aW9uQ3VzdG9tLmNw
cCAqLzsgfTsKIAkJMzMxNEFDRUIxMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzE0QUNF
OTEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25CYXNlLmNwcCAqLzsgfTsKIAkJMzMxNEFD
RUMxMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzMxNEFDRUExMDg5MjA4NjAwMEYwRTU2IC8q
IEpTRXhjZXB0aW9uQmFzZS5oICovOyB9OwogCQkzMzUwM0M5QTEwMTc5QTc0MDAzQjQ3RTEgLyog
Tm90aWZpY2F0aW9uUHJlc2VudGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzMzUwM0M5OTEwMTc5QTc0MDAzQjQ3RTEgLyogTm90aWZpY2F0aW9uUHJl
c2VudGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
QEAgLTc3NTQsNiArNzc1OCwxMCBAQAogCQkzMUMwRkY0NjBFNENFRkREMDA3RDZGRTUgLyogRE9N
V2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkzMUMwRkY0NzBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50Lm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NV2ViS2l0VHJhbnNp
dGlvbkV2ZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUMwRkY0ODBFNENF
RkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50SW50ZXJuYWwuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50SW50ZXJu
YWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFFQzFENTAxNEZFRkQwODAwQzk0
NjYyIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBuYW1lID0gTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbDsgcGF0aCA9IG5vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMzFFQzFEQUMxNEZGMjZFQTAwQzk0NjYyIC8qIE5vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2suaDsgcGF0aCA9IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lv
bkNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRUMxRTI2MTRGRjYw
RUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRUMxRTI3MTRGRjYw
RUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFj
ay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUZCMUE0RjEyMEE1RDA2MDBEQzAy
QTAgLyogRGV2aWNlTW90aW9uQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IERldmljZU1vdGlvbkNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkz
MUZCMUE1MDEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEZXZpY2VNb3Rpb25Db250cm9sbGVy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFGQjFBNTExMjBBNUQwNjAwREMw
MkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRGV2aWNlTW90aW9uQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtNzc2NSw2ICs3NzczLDcgQEAKIAkJMzFGQjFBNjMxMjBBNUQzRjAwREMwMkEwIC8q
IEpTRGV2aWNlTW90aW9uRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNEZXZpY2VNb3Rpb25FdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTMxRkIxQTY0MTIwQTVEM0YwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRGV2aWNlTW90aW9uRXZlbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFGQjFBNkIxMjBBNUQ2OTAwREMwMkEwIC8qIEpT
RGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTMxRkU2RTZDMTUwMUEzQkYwMDA0RUJDNCAvKiBKU05vdGlmaWNhdGlvbkN1
c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05vdGlmaWNh
dGlvbkN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzMTRBQ0U5MTA4
OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNFeGNlcHRpb25CYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMzMxNEFDRUExMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0V4Y2VwdGlvbkJhc2UuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzMzRjcwNEUwRkI0OUNBMjAwOEUxMkE2IC8qIE5v
dGlmaWNhdGlvbi5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gTm90aWZpY2F0aW9uLmlkbDsg
cGF0aCA9IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTE0Mzk1LDYgKzE0NDA0LDggQEAKIAkJCQkzMTI4Q0E2NzE0NzMzMTUyMDA3
NEM3MkEgLyogTm90aWZpY2F0aW9uQ29udHJvbGxlci5jcHAgKi8sCiAJCQkJMzEyOENBNkExNDcz
MzE2MzAwNzRDNzJBIC8qIE5vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaCAqLywKIAkJCQkzMzUwM0M5
OTEwMTc5QTc0MDAzQjQ3RTEgLyogTm90aWZpY2F0aW9uUHJlc2VudGVyLmggKi8sCisJCQkJMzFF
QzFENTAxNEZFRkQwODAwQzk0NjYyIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5p
ZGwgKi8sCisJCQkJMzFFQzFEQUMxNEZGMjZFQTAwQzk0NjYyIC8qIE5vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjay5oICovLAogCQkJKTsKIAkJCW5hbWUgPSBub3RpZmljYXRpb25zOwogCQkJ
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTE0NDA2LDYgKzE0NDE3LDggQEAKIAkJCQkzMzUw
M0NBMDEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb24uaCAqLywKIAkJCQkzMzUwM0NB
MTEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb25DZW50ZXIuY3BwICovLAogCQkJCTMz
NTAzQ0EyMTAxNzlBRDcwMDNCNDdFMSAvKiBKU05vdGlmaWNhdGlvbkNlbnRlci5oICovLAorCQkJ
CTMxRUMxRTI2MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxs
YmFjay5jcHAgKi8sCisJCQkJMzFFQzFFMjcxNEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0
aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggKi8sCiAJCQkpOwogCQkJbmFtZSA9IE5vdGlmaWNhdGlv
bnM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTk2NzMsNiArMTk2ODYsNyBAQAog
CQkJCUJDQjc3MzYwMEMxNzg1M0QwMDEzMkJBNCAvKiBKU05vZGVGaWx0ZXJDdXN0b20uY3BwICov
LAogCQkJCTFBNzUwREQzMEE5MEU3MjkwMDBGRjIxNSAvKiBKU05vZGVJdGVyYXRvckN1c3RvbS5j
cHAgKi8sCiAJCQkJQkNEOUMyNjEwQzE3QUE2NzAwNUM5MEEyIC8qIEpTTm9kZUxpc3RDdXN0b20u
Y3BwICovLAorCQkJCTMxRkU2RTZDMTUwMUEzQkYwMDA0RUJDNCAvKiBKU05vdGlmaWNhdGlvbkN1
c3RvbS5jcHAgKi8sCiAJCQkJQTg1RjIyMDgxNDMwMzc3RDAwN0NDODg0IC8qIEpTUG9wU3RhdGVF
dmVudEN1c3RvbS5jcHAgKi8sCiAJCQkJRTFBRDEyRDUxMjk1RDBCRDAwQUNBOTg5IC8qIEpTUHJv
Y2Vzc2luZ0luc3RydWN0aW9uQ3VzdG9tLmNwcCAqLywKIAkJCQk0OTk4QUVEMzEzRkM0MTdGMDA5
MEIxQUEgLyogSlNSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFja0N1c3RvbS5jcHAgKi8sCkBA
IC0yNDU2Niw2ICsyNDU4MCw4IEBACiAJCQkJRTFDREU5MjIxNTAxOTE2OTAwODYyQ0M1IC8qIEFz
eW5jRmlsZVN0cmVhbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDUwQ0VCRjExNTA3M0JCRTAwMkJC
MTQ5IC8qIExhYmVsYWJsZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUM1QjRDMjREMTUw
OTIzNkMwMEE2RUYzNyAvKiBXZWJDb3JlTlNVUkxFeHRyYXMuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTMxRUMxRTI5MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxs
YmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFGRTZERkExNTAwNEMyQTAwMDRFQkM0IC8qIE5v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yNzU0NCw2
ICsyNzU2MCw4IEBACiAJCQkJNDUwQ0VCRjAxNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVs
ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzVCNEMyNEUxNTA5MjM2QzAwQTZFRjM3IC8q
IFdlYkNvcmVOU1VSTEV4dHJhcy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTlCMkI3QUMxMTUwOTg1
MEEwMDg5MzJDQyAvKiBNaWNyb0RhdGFJdGVtVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
MzFFQzFFMjgxNEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxi
YWNrLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxRkU2RTZEMTUwMUEzQkYwMDA0RUJDNCAvKiBK
U05vdGlmaWNhdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5
Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20uY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3RvbS5j
cHAKaW5kZXggMTZhOTYyYzU2MjlhMzU5ZDVkYzdjZThlMjJiYWQ4NTA2NWU5MTJjZS4uYTM2MjBi
ODliNzJkOGNmOWY2MzEzM2I4NjZiYmUwOTRiNWMyMWJiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3RvbS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3RvbS5j
cHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpA
QCAtMzAsMTQgKzMxLDEyIEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSAmJiBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkpTQ3Vz
dG9tVm9pZENhbGxiYWNrLmgiCiAjaW5jbHVkZSAiSlNFdmVudExpc3RlbmVyLmgiCi0jaW5jbHVk
ZSAiSlNOb3RpZmljYXRpb24uaCIKICNpbmNsdWRlICJKU05vdGlmaWNhdGlvbkNlbnRlci5oIgot
I2luY2x1ZGUgIk5vdGlmaWNhdGlvbi5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNlbnRlci5o
IgogI2luY2x1ZGUgPHJ1bnRpbWUvRXJyb3IuaD4KIApAQCAtNjgsNiArNjcsNiBAQCBKU1ZhbHVl
IEpTTm90aWZpY2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbihFeGVjU3RhdGUqIGV4ZWMp
CiAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiB9CiAKLX0gLy8gbmFtZXNwYWNlCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNlbmRp
ZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgJiYgIUVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9O
UykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm90aWZpY2F0aW9u
Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm90aWZpY2F0aW9uQ3Vz
dG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zNDNkMzhiODAyODRhYTgxYWIxNTZkN2I3MzYyN2E4MzA3MmJi
YmNmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb3Rp
ZmljYXRpb25DdXN0b20uY3BwCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTIgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
SlNOb3RpZmljYXRpb24uaCIKKworI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorCisjaW5jbHVk
ZSAiQ2FsbGJhY2tGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTTm90aWZpY2F0aW9uUGVybWlzc2lv
bkNhbGxiYWNrLmgiCisjaW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgorCit1c2luZyBuYW1lc3Bh
Y2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0pTVmFsdWUgSlNOb3RpZmljYXRpb246
OnJlcXVlc3RQZXJtaXNzaW9uKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICAvLyBBcmd1bWVudHM6
IE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaworICAgIGlmICghZXhlYy0+YXJndW1lbnQo
MCkuaXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMpOworICAg
IAorICAgIFJlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNhbGxiYWNrID0g
Y3JlYXRlRnVuY3Rpb25Pbmx5Q2FsbGJhY2s8SlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2s+KGV4ZWMsIHN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEds
b2JhbE9iamVjdCgpKSwgZXhlYy0+YXJndW1lbnQoMCkpOworICAgIGlmIChleGVjLT5oYWRFeGNl
cHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisgICAgCisgICAgQVNTRVJU
KGNhbGxiYWNrKTsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRDb250ZXh0ID0g
c3RhdGljX2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0
KCkpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CisgICAgTm90aWZpY2F0aW9uOjpyZXF1ZXN0
UGVybWlzc2lvbihzY3JpcHRDb250ZXh0LCBjYWxsYmFjay5yZWxlYXNlKCkpOworICAgIHJldHVy
biBqc1VuZGVmaW5lZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMy
MjhmNWU1MTQyMzNjZDc2MDQ0YjMyZjM2NGE1ZTk0MDQzMDA2Y2MKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DdXN0b20u
Y3BwCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5j
LiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKKyNpbmNsdWRlICJWOE5vdGlmaWNhdGlvbi5oIgorCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29k
ZS5oIgorI2luY2x1ZGUgIlY4Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4Tm90aWZpY2F0aW9u
OjpyZXF1ZXN0UGVybWlzc2lvbihjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQoreworICAgIElO
Q19TVEFUUyhMIkRPTS5Ob3RpZmljYXRpb24uUmVxdWVzdFBlcm1pc3Npb24oKSIpOworCisgICAg
Tm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24gPSBWOE5vdGlmaWNhdGlvbjo6dG9OYXRpdmUoYXJn
cy5Ib2xkZXIoKSk7CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCA9IG5vdGlm
aWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworCisgICAgYm9vbCBzdWNjZWVkZWQg
PSBmYWxzZTsKKyAgICBSZWZQdHI8VjhOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNh
bGxiYWNrID0gY3JlYXRlRnVuY3Rpb25Pbmx5Q2FsbGJhY2s8VjhOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2s+KGFyZ3NbMF0sIHN1Y2NlZWRlZCk7CisgICAgaWYgKCFzdWNjZWVkZWQpCisg
ICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CisgICAgQVNTRVJUKGNhbGxiYWNrKTsKKwor
ICAgIE5vdGlmaWNhdGlvbjo6cmVxdWVzdFBlcm1pc3Npb24oY29udGV4dCwgY2FsbGJhY2sucmVs
ZWFzZSgpKTsKKyAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAppbmRleCA3NDk2NGRjNzdhZGFk
MDgxY2IwZWYxOWNhNDRhZDRhNDhlMDg3ZTcyLi45OGEyMmMxY2JiZmU3NDAwYTAzNjE5ZjU1YTgw
NDNhNmU3NDY5ZmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb24uY3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOSBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwg
MjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zNSwxMSArMzUsMTQgQEAKIAogI2luY2x1ZGUgIk5v
dGlmaWNhdGlvbi5oIgogCisjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRG9jdW1l
bnQuaCIKICNpbmNsdWRlICJFcnJvckV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgog
I2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNlbnRlci5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNv
bnRlbnRzLmgiCisjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ29udHJvbGxlci5oIgorI2luY2x1ZGUg
Ik5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlv
blByZXNlbnRlci5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIlJl
c291cmNlUmVzcG9uc2UuaCIKQEAgLTIwMSw2ICsyMDQsMzggQEAgdm9pZCBOb3RpZmljYXRpb246
OnN0b3BMb2FkaW5nKCkKICAgICBtX2xvYWRlci0+Y2FuY2VsKCk7CiB9CiAKK2NvbnN0IFN0cmlu
ZyYgTm90aWZpY2F0aW9uOjpwZXJtaXNzaW9uTGV2ZWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
Y29udGV4dCkKK3sKKyAgICBBU1NFUlQoY29udGV4dC0+aXNEb2N1bWVudCgpKTsKKyAgICBBU1NF
UlQoc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KS0+cGFnZSgpKTsKKyAgICByZXR1cm4g
c3RyaW5nRm9yUGVybWlzc2lvbihOb3RpZmljYXRpb25Db250cm9sbGVyOjpmcm9tKHN0YXRpY19j
YXN0PERvY3VtZW50Kj4oY29udGV4dCktPnBhZ2UoKSktPmNsaWVudCgpLT5jaGVja1Blcm1pc3Np
b24oY29udGV4dCkpOworfQorCitjb25zdCBTdHJpbmcmIE5vdGlmaWNhdGlvbjo6c3RyaW5nRm9y
UGVybWlzc2lvbihOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb24gcGVybWlzc2lvbikK
K3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgYWxsb3dlZFBlcm1pc3Np
b24sICgiZ3JhbnRlZCIpKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywg
ZGVuaWVkUGVybWlzc2lvbiwgKCJkZW5pZWQiKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChj
b25zdCBTdHJpbmcsIGRlZmF1bHRQZXJtaXNzaW9uLCAoImRlZmF1bHQiKSk7CisgICAgc3dpdGNo
IChwZXJtaXNzaW9uKSB7CisgICAgY2FzZSBOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Np
b25BbGxvd2VkOgorICAgICAgICByZXR1cm4gYWxsb3dlZFBlcm1pc3Npb247CisgICAgY2FzZSBO
b3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb25EZW5pZWQ6CisgICAgICAgIHJldHVybiBk
ZW5pZWRQZXJtaXNzaW9uOworICAgIGNhc2UgTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNz
aW9uTm90QWxsb3dlZDoKKyAgICAgICAgcmV0dXJuIGRlZmF1bHRQZXJtaXNzaW9uOworICAgIH0K
KyAgICAKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gZGVuaWVkUGVybWlz
c2lvbjsKK30KKwordm9pZCBOb3RpZmljYXRpb246OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lv
bkNhbGxiYWNrPiBjYWxsYmFjaykKK3sKKyAgICBBU1NFUlQoY29udGV4dC0+aXNEb2N1bWVudCgp
KTsKKyAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KS0+cGFnZSgpKTsK
KyAgICBOb3RpZmljYXRpb25Db250cm9sbGVyOjpmcm9tKHN0YXRpY19jYXN0PERvY3VtZW50Kj4o
Y29udGV4dCktPnBhZ2UoKSktPmNsaWVudCgpLT5yZXF1ZXN0UGVybWlzc2lvbihjb250ZXh0LCBj
YWxsYmFjayk7Cit9CisKIHZvaWQgTm90aWZpY2F0aW9uOjpkaWRSZWNlaXZlUmVzcG9uc2UodW5z
aWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7CiAgICAgaW50
IHN0YXR1cyA9IHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAppbmRleCBkZDBkNmVkODRhZDMwNzlkODhiYTAyYTAy
YmNhY2M2YTY0NWNiMzlkLi5lMGQyMDM1OGFhNjkwNTIwNTRiMzJjODkwMDI4NzM4ODczMGVlMTEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKQEAgLTEs
NiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDExLCAyMDEyIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1
ZGUgIktVUkwuaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25Db250ZW50cy5oIgorI2luY2x1ZGUg
Ik5vdGlmaWNhdGlvblByZXNlbnRlci5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgogI2lu
Y2x1ZGUgIlRleHREaXJlY3Rpb24uaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVyQ2xpZW50
LmgiCkBAIC01MCw2ICs1MSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIE5vdGlm
aWNhdGlvbkNlbnRlcjsKK2NsYXNzIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjazsKIGNs
YXNzIFJlc291cmNlRXJyb3I7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dDsKQEAgLTExOSw2ICsxMjEsMTAgQEAgcHVibGljOgogICAgIC8vIERl
cHJlY2F0ZWQuIFVzZSBmdW5jdGlvbnMgZnJvbSBOb3RpZmljYXRpb25DZW50ZXIuCiAgICAgdm9p
ZCBkZXRhY2hQcmVzZW50ZXIoKSB7IH0KIAorICAgIHN0YXRpYyBjb25zdCBTdHJpbmcmIHBlcm1p
c3Npb25MZXZlbChTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CisgICAgc3RhdGljIGNvbnN0IFN0
cmluZyYgc3RyaW5nRm9yUGVybWlzc2lvbihOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Np
b24pOworICAgIHN0YXRpYyB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4pOworCiAg
ICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nLCBjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJik7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0
IGNoYXIqIGRhdGEsIGludCBkYXRhTGVuZ3RoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNo
TG9hZGluZyh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGRvdWJsZSBmaW5pc2hUaW1lKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAppbmRleCBkOGNi
M2NjMzlhMjVlNzE3NDNlOWY3NWU5ZThjZjRjMTgwZTIyMTY4Li40NTgxNmUxODQzZDBjNDJjYzRl
ODYzNjBkYWIxZjVkNGI4ZWE2NzE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb24uaWRsCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykg
MjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAy
MDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
MSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zNCwxMiArMzQsMTQgQEAgbW9kdWxlIHRocmVhZHMgewog
ICAgIGludGVyZmFjZSBbCiAgICAgICAgIENvbmRpdGlvbmFsPU5PVElGSUNBVElPTlMsCiAgICAg
ICAgIEFjdGl2ZURPTU9iamVjdCwKLSAgICAgICAgRXZlbnRUYXJnZXQsCi0gICAgICAgIE9taXRD
b25zdHJ1Y3RvcgorICAgICAgICBFdmVudFRhcmdldAogICAgIF0gTm90aWZpY2F0aW9uIHsKICAg
ICAgICAgdm9pZCBzaG93KCk7CiAgICAgICAgIHZvaWQgY2FuY2VsKCk7CiAKKyAgICAgICAgW0Nh
bGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHN0YXRpYyBET01TdHJpbmcgcGVybWlzc2lv
bkxldmVsKCk7CisgICAgICAgIFtDdXN0b21dIHN0YXRpYyB2b2lkIHJlcXVlc3RQZXJtaXNzaW9u
KGluIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjayBjYWxsYmFjayk7CisKICAgICAgICAg
YXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25zaG93OwogICAgICAgICAvLyBGSVhNRTogVGhlIGxh
dGVzdCBXZWIgTm90aWZpY2F0aW9ucyBzdGFuZGFyZCB1c2VzIHRoZSBvbnNob3cgZXZlbnQgbGlz
dGVuZXIuCiAgICAgICAgIC8vIFRoZSBvbmRpc3BsYXkgZXZlbnQgbGlzdGVuZXIgc2hvdWxkIGJl
IHJlbW92ZWQgd2hlbiBpbXBsZW1lbnRhdGlvbnMgY2hhbmdlIHRoZSBldmVudCBsaXN0ZW5lciB0
byBvbnNob3cuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbkNlbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbkNlbnRlci5jcHAKaW5kZXggNzExNDZhZjhkYTM3MjNkMTQ3MTVlZmNiNWQxYWJlYWM0OGUz
NzE1OS4uNDY3NDQzNGFlMDFhMDczOGRmMjRjMzQ1ODE0NjA0N2FhODEwNzQxNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcApA
QCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC01
MiwxOSArNTMsMjMgQEAgTm90aWZpY2F0aW9uQ2VudGVyOjpOb3RpZmljYXRpb25DZW50ZXIoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgTm90aWZpY2EKICAgICA6IEFjdGl2ZURPTU9i
amVjdChjb250ZXh0LCB0aGlzKQogICAgICwgbV9ub3RpZmljYXRpb25QcmVzZW50ZXIocHJlc2Vu
dGVyKSB7fQogCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogaW50IE5vdGlmaWNh
dGlvbkNlbnRlcjo6Y2hlY2tQZXJtaXNzaW9uKCkKIHsKICAgICBpZiAoIXByZXNlbnRlcigpIHx8
ICFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCiAgICAgICAgIHJldHVybiBOb3RpZmljYXRpb25Q
cmVzZW50ZXI6OlBlcm1pc3Npb25EZW5pZWQ7CiAgICAgcmV0dXJuIG1fbm90aWZpY2F0aW9uUHJl
c2VudGVyLT5jaGVja1Blcm1pc3Npb24oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKIH0KKyNl
bmRpZgogCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogdm9pZCBOb3RpZmljYXRp
b25DZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9uKFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxs
YmFjaykKIHsKICAgICBpZiAoIXByZXNlbnRlcigpIHx8ICFzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkpCiAgICAgICAgIHJldHVybjsKICAgICBtX25vdGlmaWNhdGlvblByZXNlbnRlci0+cmVxdWVz
dFBlcm1pc3Npb24oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBjYWxsYmFjayk7CiB9CisjZW5k
aWYKIAogdm9pZCBOb3RpZmljYXRpb25DZW50ZXI6OmRpc2Nvbm5lY3RGcmFtZSgpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5o
IGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaAppbmRl
eCA0MDJjY2JhOTM4YjJmZWUwODFmOGE2YThkN2JlY2VmZjc4Y2MyNjkyLi5mNjY4MzYxMDc5ZDAx
YTE3MmJiMzRmNGFjMWE0MDc2MjU2ZjdlOGMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgKQEAgLTEsNiArMSw2IEBACiAvKgogICog
Q29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDExLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTc3LDggKzc3LDEwIEBAIHB1Ymxp
YzoKIAogICAgIE5vdGlmaWNhdGlvblByZXNlbnRlciogcHJlc2VudGVyKCkgY29uc3QgeyByZXR1
cm4gbV9ub3RpZmljYXRpb25QcmVzZW50ZXI7IH0KIAorI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJ
Q0FUSU9OUykKICAgICBpbnQgY2hlY2tQZXJtaXNzaW9uKCk7CiAgICAgdm9pZCByZXF1ZXN0UGVy
bWlzc2lvbihQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pOworI2VuZGlmCiAKICAgICB2b2lkIGRp
c2Nvbm5lY3RGcmFtZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbkNlbnRlci5pZGwKaW5kZXggOGJlMWVjYzc2OWZiYzVhNDM3Yjc2NGU5NmEw
N2U0NzUxNzBhMzU2Ni4uYjk5N2Q5ZjMyMzE4M2IyODdlYzUxYTQ2MTNjYzQwZDZmMzIzMTViMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50
ZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2Vu
dGVyLmlkbApAQCAtNDEsOCArNDEsMTAgQEAgbW9kdWxlIHRocmVhZHMgewogI2VuZGlmCiAgICAg
ICAgW1Y4Q3VzdG9tXSBOb3RpZmljYXRpb24gY3JlYXRlTm90aWZpY2F0aW9uKGluIERPTVN0cmlu
ZyBpY29uVXJsLCBpbiBET01TdHJpbmcgdGl0bGUsIGluIERPTVN0cmluZyBib2R5KSByYWlzZXMo
RE9NRXhjZXB0aW9uKTsKIAorI2lmIGRlZmluZWQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05T
KSAmJiBFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMKICAgICAgICBpbnQgY2hlY2tQZXJtaXNz
aW9uKCk7CiAgICAgICAgW0N1c3RvbV0gdm9pZCByZXF1ZXN0UGVybWlzc2lvbihpbiBWb2lkQ2Fs
bGJhY2sgY2FsbGJhY2spOworI2VuZGlmCiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCBi
L1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxi
YWNrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzQ5NGVmNWUwMzNhOTMwMmIzMGI1ODZlODkzMzkzN2Y5OTljNDcx
MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2tfaAorI2RlZmluZSBOb3RpZmljYXRp
b25QZXJtaXNzaW9uQ2FsbGJhY2tfaAorCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisgICAgCitjbGFz
cyBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgOiBwdWJsaWMgUmVmQ291bnRlZDxOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5Ob3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2soKSB7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaGFuZGxl
RXZlbnQoY29uc3QgU3RyaW5nJiBwZXJtaXNzaW9uKSA9IDA7Cit9OworICAgIAorfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNr
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
UGVybWlzc2lvbkNhbGxiYWNrLmlkbCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZjExMTYxMmUyNDBj
ZWNhYTE5ZmI1ZWE3MWFhY2Q3ZDI2MDkzYzIwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsCkBA
IC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSB0aHJlYWRzIHsKKworICAgIGludGVyZmFj
ZSBbCisgICAgICAgIENvbmRpdGlvbmFsPU5PVElGSUNBVElPTlMsCisgICAgICAgIENhbGxiYWNr
CisgICAgXSBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgeworICAgICAgICBib29sZWFu
IGhhbmRsZUV2ZW50KGluIERPTVN0cmluZyBwZXJtaXNzaW9uKTsKKyAgICB9OworCit9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblByZXNlbnRl
ci5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QcmVzZW50ZXIu
aAppbmRleCAxOTM1Mzg0ZGMxZjZjYjkxNzQ4MGE5ZDRjODFiOTZmNDNhNDhiMTliLi41Nzg1NzY5
YjFlZGIzMzlkZTgzZmY3MmJhZTA0MTU4ZmE1NDNlZTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblByZXNlbnRlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUHJlc2VudGVyLmgKQEAgLTEsNiArMSw2
IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTM4LDggKzM4
LDkgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7Ci1jbGFzcyBOb3Rp
ZmljYXRpb247CiBjbGFzcyBLVVJMOworY2xhc3MgTm90aWZpY2F0aW9uOworY2xhc3MgTm90aWZp
Y2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrOwogY2xhc3MgUGFnZTsKIGNsYXNzIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ7CiAKQEAgLTcwLDEwICs3MSwxNCBAQCBwdWJsaWM6CiAgICAgLy8gSW5mb3Jt
cyB0aGUgcHJlc2VudGVyIHRoZSBjb250cm9sbGVyIGF0dGFjaGVkIHRvIHRoZSBwYWdlIGhhcyBi
ZWVuIGRlc3Ryb3llZC4KICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uQ29udHJvbGxlckRl
c3Ryb3llZCgpID0gMDsKIAorI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICAv
LyBSZXF1ZXN0cyB1c2VyIHBlcm1pc3Npb24gdG8gc2hvdyBkZXNrdG9wIG5vdGlmaWNhdGlvbnMg
ZnJvbSBhIHBhcnRpY3VsYXIKICAgICAvLyBzY3JpcHQgY29udGV4dC4gVGhlIGNhbGxiYWNrIHBh
cmFtZXRlciBzaG91bGQgYmUgcnVuIHdoZW4gdGhlIHVzZXIgaGFzCiAgICAgLy8gbWFkZSBhIGRl
Y2lzaW9uLgogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiwgUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+KSA9IDA7CisjZW5kaWYKKyAgICAv
LyBGSVhNRTogT25jZSBhbGwgb2YgdGhlIHBvcnRzIGhhdmUgYWRvcHRlZCB0aGUgbmV3IEFQSSwg
d2Ugc2hvdWxkIHR1cm4gdGhpcyB0byBhIHB1cmUgdmlydHVhbC4KKyAgICB2aXJ0dWFsIHZvaWQg
cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8Tm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPikgeyB9CiAKICAgICAvLyBDYW5jZWwgYWxsIG91
dHN0YW5kaW5nIHJlcXVlc3RzIGZvciB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dAogICAgIHZp
cnR1YWwgdm9pZCBjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCopID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93Lmlk
bCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCAxNDA4NmJmMjBlOWU0
OTc2YWE4ODEyM2I4NjBjMDdiNDU5M2E3OWFkLi5mZGNhNjRhZTEyNmYxNjM1ZDk1OTg4ZGM4YjY3
NzRlMGQ3ZTg0NmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC0xNzIsNiArMTcy
LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAKICNpZiBkZWZpbmVkKEVOQUJMRV9OT1RJRklDQVRJT05T
KSAmJiBFTkFCTEVfTk9USUZJQ0FUSU9OUwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW1Y4
RW5hYmxlZEF0UnVudGltZV0gTm90aWZpY2F0aW9uQ2VudGVyIHdlYmtpdE5vdGlmaWNhdGlvbnM7
CisgICAgICAgIGF0dHJpYnV0ZSBOb3RpZmljYXRpb25Db25zdHJ1Y3RvciBOb3RpZmljYXRpb247
CiAjZW5kaWYKIAogI2lmIGRlZmluZWQoRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUykgJiYgRU5B
QkxFX09SSUVOVEFUSU9OX0VWRU5UUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaAppbmRleCBhNDBjZTgxZTVkYzdm
NjQ2NjUxZWY4Njk4YTc2MmU1MTE4ZDdiYjkzLi42NGZhZGYyMmFkMDMxNjRmNjA4N2ZjYTFlYTY0
NTM0MDVhZGQ1NWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJOb3RpZmljYXRpb25DbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaApAQCAtMzQsMTEgKzM0LDEzIEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE5vdGlmaWNhdGlvbjsKK2NsYXNzIE5vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjazsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiBjbGFz
cyBWb2lkQ2FsbGJhY2s7CiB9CiAKIEBjbGFzcyBXZWJOb3RpZmljYXRpb247CitAY2xhc3MgV2Vi
Tm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXI7CiBAY2xhc3MgV2ViVmlldzsKIAogY2xhc3MgV2Vi
Tm90aWZpY2F0aW9uQ2xpZW50IDogcHVibGljIFdlYkNvcmU6Ok5vdGlmaWNhdGlvblByZXNlbnRl
ciB7CkBAIC01MiwxMCArNTQsMTcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJO
b3RpZmljYXRpb25zKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKFdlYkNvcmU6Ok5v
dGlmaWNhdGlvbiopIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25Db250
cm9sbGVyRGVzdHJveWVkKCkgT1ZFUlJJREU7CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJ
T05TKQogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJhY2s+KSBPVkVS
UklERTsKKyNlbmRpZgorICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3Jl
OjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRp
b25QZXJtaXNzaW9uQ2FsbGJhY2s+KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2Vs
UmVxdWVzdHNGb3JQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBP
VkVSUklERSB7IH0KICAgICB2aXJ0dWFsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvblByZXNlbnRlcjo6
UGVybWlzc2lvbiBjaGVja1Blcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4
dCopIE9WRVJSSURFOwogCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisgICAgdm9pZCByZXF1
ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV2ViTm90aWZp
Y2F0aW9uUG9saWN5TGlzdGVuZXIgKik7CisjZW5kaWYKKwogICAgIFdlYlZpZXcgKm1fd2ViVmll
dzsKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBIYXNoTWFwPFJlZlB0cjxXZWJDb3Jl
OjpOb3RpZmljYXRpb24+LCBSZXRhaW5QdHI8V2ViTm90aWZpY2F0aW9uPiA+IG1fbm90aWZpY2F0
aW9uTWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
Tm90aWZpY2F0aW9uQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViTm90aWZpY2F0aW9uQ2xpZW50Lm1tCmluZGV4IDJmN2NkNTQxMTc3MTM3MzNmYWUwZTFlMmMy
ZjRhOTkxMWQ2ZmJjNGYuLmZkY2QyOGU3Y2EwZjU2NjRlNmNiYzlhOTA2YmE5OWVlYjNiZjRhMWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNh
dGlvbkNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJO
b3RpZmljYXRpb25DbGllbnQubW0KQEAgLTMzLDE4ICszMywzMSBAQAogI2ltcG9ydCAiV2ViVUlE
ZWxlZ2F0ZVByaXZhdGUuaCIKICNpbXBvcnQgIldlYlZpZXdJbnRlcm5hbC5oIgogI2ltcG9ydCA8
V2ViQ29yZS9CbG9ja0V4Y2VwdGlvbnMuaD4KKyNpbXBvcnQgPFdlYkNvcmUvTm90aWZpY2F0aW9u
UGVybWlzc2lvbkNhbGxiYWNrLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4KICNpbXBvcnQg
PFdlYkNvcmUvU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oPgogI2VuZGlmCiAKKyNpZiBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCisjaW1wb3J0IDxXZWJDb3JlL1ZvaWRDYWxsYmFjay5oPgor
I2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiAjaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpCisKIEBpbnRlcmZhY2UgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgOiBOU09i
amVjdCA8V2ViQWxsb3dEZW55UG9saWN5TGlzdGVuZXI+CiB7Ci0gICAgUmVmUHRyPFZvaWRDYWxs
YmFjaz4gX2NhbGxiYWNrOworICAgIFJlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2s+IF9jYWxsYmFjazsKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAgUmVm
UHRyPFZvaWRDYWxsYmFjaz4gX3ZvaWRDYWxsYmFjazsKKyNlbmRpZgogfQotLSAoaWQpaW5pdFdp
dGhDYWxsYmFjazooUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+KWNhbGxiYWNrOworLSAoaWQpaW5p
dFdpdGhDYWxsYmFjazooUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+
KWNhbGxiYWNrOworI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKy0gKGlkKWluaXRX
aXRoVm9pZENhbGxiYWNrOihQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pY2FsbGJhY2s7CisjZW5k
aWYKKwogQGVuZAogI2VuZGlmCiAKQEAgLTE0NywyOSArMTYwLDQ2IEBAIHZvaWQgV2ViTm90aWZp
Y2F0aW9uQ2xpZW50Ojpub3RpZmljYXRpb25Db250cm9sbGVyRGVzdHJveWVkKCkKICAgICBkZWxl
dGUgdGhpczsKIH0KIAorCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogdm9pZCBX
ZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFjaykKIHsKKyAg
ICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CisgICAgV2ViTm90aWZpY2F0aW9uUG9saWN5
TGlzdGVuZXIqIGxpc3RlbmVyID0gW1tXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciBhbGxv
Y10gaW5pdFdpdGhWb2lkQ2FsbGJhY2s6Y2FsbGJhY2tdOworICAgIHJlcXVlc3RQZXJtaXNzaW9u
KGNvbnRleHQsIGxpc3RlbmVyKTsKKyAgICBbbGlzdGVuZXIgcmVsZWFzZV07CisgICAgRU5EX0JM
T0NLX09CSkNfRVhDRVBUSU9OUzsKK30KKyNlbmRpZgorCit2b2lkIFdlYk5vdGlmaWNhdGlvbkNs
aWVudDo6cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwg
UGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNhbGxiYWNrKQorewog
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9O
UzsKLSAgICAKKyAgICBXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciAqbGlzdGVuZXIgPSBb
W1dlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGFsbG9jXSBpbml0V2l0aENhbGxiYWNrOmNh
bGxiYWNrXTsKKyAgICByZXF1ZXN0UGVybWlzc2lvbihjb250ZXh0LCBsaXN0ZW5lcik7CisgICAg
W2xpc3RlbmVyIHJlbGVhc2VdOworICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CisjZWxz
ZQorICAgIFVOVVNFRF9QQVJBTShjb250ZXh0KTsKKyAgICBVTlVTRURfUEFSQU0oY2FsbGJhY2sp
OworI2VuZGlmCit9CisKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKK3ZvaWQgV2ViTm90aWZp
Y2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0LCBXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciAqbGlzdGVuZXIp
Cit7CiAgICAgU0VMIHNlbGVjdG9yID0gQHNlbGVjdG9yKHdlYlZpZXc6ZGVjaWRlUG9saWN5Rm9y
Tm90aWZpY2F0aW9uUmVxdWVzdEZyb21PcmlnaW46bGlzdGVuZXI6KTsKICAgICBpZiAoIVtbbV93
ZWJWaWV3IFVJRGVsZWdhdGVdIHJlc3BvbmRzVG9TZWxlY3RvcjpzZWxlY3Rvcl0pCiAgICAgICAg
IHJldHVybjsKICAgICAKICAgICBXZWJTZWN1cml0eU9yaWdpbiAqd2ViT3JpZ2luID0gW1tXZWJT
ZWN1cml0eU9yaWdpbiBhbGxvY10gX2luaXRXaXRoV2ViQ29yZVNlY3VyaXR5T3JpZ2luOmNvbnRl
eHQtPnNlY3VyaXR5T3JpZ2luKCldOwotICAgIFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVy
KiBsaXN0ZW5lciA9IFtbV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgYWxsb2NdIGluaXRX
aXRoQ2FsbGJhY2s6Y2FsbGJhY2tdOwogICAgIAogICAgIENhbGxVSURlbGVnYXRlKG1fd2ViVmll
dywgc2VsZWN0b3IsIHdlYk9yaWdpbiwgbGlzdGVuZXIpOwogICAgIAogICAgIFt3ZWJPcmlnaW4g
cmVsZWFzZV07Ci0gICAgW2xpc3RlbmVyIHJlbGVhc2VdOwotICAgIAotICAgIEVORF9CTE9DS19P
QkpDX0VYQ0VQVElPTlM7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShjb250ZXh0KTsKLSAgICBV
TlVTRURfUEFSQU0oY2FsbGJhY2spOwotI2VuZGlmCiB9CisjZW5kaWYKIAogTm90aWZpY2F0aW9u
UHJlc2VudGVyOjpQZXJtaXNzaW9uIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2hlY2tQZXJtaXNz
aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiB7CkBAIC0xOTksNyArMjI5LDgg
QEAgTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIFdlYk5vdGlmaWNhdGlvbkNsaWVu
dDo6Y2hlY2tQZXJtaXNzaW9uKFNjcmlwdEUKIAogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQog
QGltcGxlbWVudGF0aW9uIFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyCi0tIChpZClpbml0
V2l0aENhbGxiYWNrOihQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pY2FsbGJhY2sKKworLSAoaWQp
aW5pdFdpdGhDYWxsYmFjazooUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2s+KWNhbGxiYWNrCiB7CiAgICAgaWYgKCEoc2VsZiA9IFtzdXBlciBpbml0XSkpCiAgICAgICAg
IHJldHVybiBuaWw7CkBAIC0yMDksMTQgKzI0MCw0MCBAQCBOb3RpZmljYXRpb25QcmVzZW50ZXI6
OlBlcm1pc3Npb24gV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpjaGVja1Blcm1pc3Npb24oU2NyaXB0
RQogICAgIHJldHVybiBzZWxmOwogfQogCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05T
KQorLSAoaWQpaW5pdFdpdGhWb2lkQ2FsbGJhY2s6KFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPilj
YWxsYmFjaworeworICAgIGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdF0pKQorICAgICAgICByZXR1
cm4gbmlsOworCisgICAgQVNTRVJUKGNhbGxiYWNrKTsKKyAgICBfdm9pZENhbGxiYWNrID0gY2Fs
bGJhY2s7CisgICAgcmV0dXJuIHNlbGY7Cit9CisjZW5kaWYKKwogLSAodm9pZClhbGxvdwogewot
ICAgIF9jYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNB
VElPTlMpCisgICAgaWYgKF92b2lkQ2FsbGJhY2spIHsKKyAgICAgICAgX3ZvaWRDYWxsYmFjay0+
aGFuZGxlRXZlbnQoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorCisgICAgX2Nh
bGxiYWNrLT5oYW5kbGVFdmVudChOb3RpZmljYXRpb246OnN0cmluZ0ZvclBlcm1pc3Npb24oTm90
aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uQWxsb3dlZCkpOwogfQogCiAtICh2b2lkKWRl
bnkKIHsKLSAgICBfY2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7CisjaWYgRU5BQkxFKExFR0FDWV9O
T1RJRklDQVRJT05TKQorICAgIGlmIChfdm9pZENhbGxiYWNrKSB7CisgICAgICAgIF92b2lkQ2Fs
bGJhY2stPmhhbmRsZUV2ZW50KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYKKwor
ICAgIF9jYWxsYmFjay0+aGFuZGxlRXZlbnQoTm90aWZpY2F0aW9uOjpzdHJpbmdGb3JQZXJtaXNz
aW9uKE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbkRlbmllZCkpOwogfQogCiBAZW5k
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXIuY3BwCmluZGV4IDFkZGRhN2M5ODE2MGQ1NDliOTkyM2FlMjdlMTRkZTg3ZDg5NTdiMjIuLmZi
NGZjMDdkOTI1OWExNTg0Y2Q5NjBmOTAwZGNhYTEwZDY2Yzk3MmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9u
UmVxdWVzdE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwCkBAIC01OSwx
MSArNTksMTIgQEAgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpOb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoV2ViUGEKIHsKIH0KIAotdm9pZCBOb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OnN0YXJ0UmVxdWVzdChTZWN1cml0eU9yaWdp
biogb3JpZ2luLCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4gY2FsbGJhY2spCit2b2lkIE5vdGlm
aWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6c3RhcnRSZXF1ZXN0KFNlY3VyaXR5T3Jp
Z2luKiBvcmlnaW4sIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBj
YWxsYmFjaykKIHsKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKLSAgICBpZiAocGVybWlzc2lv
bkxldmVsKG9yaWdpbikgIT0gTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uTm90QWxs
b3dlZCkgewotICAgICAgICBjYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyAgICBOb3RpZmljYXRp
b25QcmVzZW50ZXI6OlBlcm1pc3Npb24gcGVybWlzc2lvbiA9IHBlcm1pc3Npb25MZXZlbChvcmln
aW4pOworICAgIGlmIChwZXJtaXNzaW9uICE9IE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlz
c2lvbk5vdEFsbG93ZWQpIHsKKyAgICAgICAgY2FsbGJhY2stPmhhbmRsZUV2ZW50KE5vdGlmaWNh
dGlvbjo6c3RyaW5nRm9yUGVybWlzc2lvbihwZXJtaXNzaW9uKSk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKQEAgLTc4LDYgKzc5LDIzIEBAIHZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyOjpzdGFydFJlcXVlc3QoU2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwKICNlbmRp
ZgogfQogCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQordm9pZCBOb3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OnN0YXJ0UmVxdWVzdChTZWN1cml0eU9yaWdpbiog
b3JpZ2luLCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4gY2FsbGJhY2spCit7CisgICAgTm90aWZp
Y2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIHBlcm1pc3Npb24gPSBwZXJtaXNzaW9uTGV2ZWwo
b3JpZ2luKTsKKyAgICBpZiAocGVybWlzc2lvbiAhPSBOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBl
cm1pc3Npb25Ob3RBbGxvd2VkKSB7CisgICAgICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVudCgpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorICAgIAorICAgIHVpbnQ2NF90IHJlcXVlc3RJRCA9IGdl
bmVyYXRlUmVxdWVzdElEKCk7CisgICAgbV9vcmlnaW5Ub0lETWFwLnNldChvcmlnaW4sIHJlcXVl
c3RJRCk7CisgICAgbV9pZFRvT3JpZ2luTWFwLnNldChyZXF1ZXN0SUQsIG9yaWdpbik7CisgICAg
bV9pZFRvVm9pZENhbGxiYWNrTWFwLnNldChyZXF1ZXN0SUQsIGNhbGxiYWNrKTsKKyAgICBtX3Bh
Z2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UmVxdWVzdE5vdGlmaWNhdGlvblBlcm1p
c3Npb24ocmVxdWVzdElELCBvcmlnaW4tPnRvU3RyaW5nKCkpKTsKK30KKyNlbmRpZgorCiB2b2lk
IE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6Y2FuY2VsUmVxdWVzdChTZWN1
cml0eU9yaWdpbiogb3JpZ2luKQogewogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQpAQCAtMTEx
LDExICsxMjksMTkgQEAgdm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6
OmRpZFJlY2VpdmVOb3RpZmljYXRpb25QZXJtaXNzaW9uRGVjaXMKICAgICBpZiAoIWlzUmVxdWVz
dElEVmFsaWQocmVxdWVzdElEKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgUmVmUHRyPFZvaWRD
YWxsYmFjaz4gY2FsbGJhY2sgPSBtX2lkVG9DYWxsYmFja01hcC50YWtlKHJlcXVlc3RJRCk7Cisj
aWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorICAgIFJlZlB0cjxWb2lkQ2FsbGJhY2s+
IHZvaWRDYWxsYmFjayA9IG1faWRUb1ZvaWRDYWxsYmFja01hcC50YWtlKHJlcXVlc3RJRCk7Cisg
ICAgaWYgKHZvaWRDYWxsYmFjaykgeworICAgICAgICB2b2lkQ2FsbGJhY2stPmhhbmRsZUV2ZW50
KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYKKworICAgIFJlZlB0cjxOb3RpZmlj
YXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNhbGxiYWNrID0gbV9pZFRvQ2FsbGJhY2tNYXAudGFr
ZShyZXF1ZXN0SUQpOwogICAgIGlmICghY2FsbGJhY2spCiAgICAgICAgIHJldHVybjsKICAgICAK
LSAgICBjYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyAgICBjYWxsYmFjay0+aGFuZGxlRXZlbnQo
Tm90aWZpY2F0aW9uOjpzdHJpbmdGb3JQZXJtaXNzaW9uKGFsbG93ZWQgPyBOb3RpZmljYXRpb25Q
cmVzZW50ZXI6OlBlcm1pc3Npb25BbGxvd2VkIDogTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJt
aXNzaW9uRGVuaWVkKSk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShyZXF1ZXN0SUQpOwogICAg
IFVOVVNFRF9QQVJBTShhbGxvd2VkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIu
aCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaAppbmRleCA1NTczYzZhMTExOWVmMmIwNmU3ZWVjMmVj
OTFjM2IzYWQ3ZWNmNzVkLi5iYTM5ZmJmNzJhZmUwMjBhNWJiZmMzZDA1MTk1YjM3YjI5ZmJiMzY1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlci5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIE5vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlcl9oCiAjZGVmaW5lIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlcl9oCiAKKyNpbmNsdWRlIDxXZWJDb3JlL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFj
ay5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTm90aWZpY2F0aW9uUHJlc2VudGVyLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9Wb2lkQ2FsbGJhY2suaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgpAQCAt
NDYsNyArNDcsMTAgQEAgY2xhc3MgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
IDogcHVibGljIFJlZkNvdW50ZWQ8Tm90aWZpY2F0aW9uUGVybWkKIHB1YmxpYzoKICAgICBzdGF0
aWMgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI+IGNyZWF0
ZShXZWJQYWdlKik7CiAgICAgCisgICAgdm9pZCBzdGFydFJlcXVlc3QoV2ViQ29yZTo6U2VjdXJp
dHlPcmlnaW4qLCBQYXNzUmVmUHRyPFdlYkNvcmU6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxs
YmFjaz4pOworI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICB2b2lkIHN0YXJ0
UmVxdWVzdChXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiosIFBhc3NSZWZQdHI8V2ViQ29yZTo6Vm9p
ZENhbGxiYWNrPik7CisjZW5kaWYKICAgICB2b2lkIGNhbmNlbFJlcXVlc3QoV2ViQ29yZTo6U2Vj
dXJpdHlPcmlnaW4qKTsKICAgICAKICAgICAvLyBTeW5jaHJvbm91cyBjYWxsIHRvIHJldHJpZXZl
IHBlcm1pc3Npb24gbGV2ZWwgZm9yIGdpdmVuIHNlY3VyaXR5IG9yaWdpbgpAQCAtNTcsNyArNjEs
MTAgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXIoV2ViUGFnZSopOwogICAgIAotICAgIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxX
ZWJDb3JlOjpWb2lkQ2FsbGJhY2s+ID4gbV9pZFRvQ2FsbGJhY2tNYXA7CisgICAgSGFzaE1hcDx1
aW50NjRfdCwgUmVmUHRyPFdlYkNvcmU6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4g
PiBtX2lkVG9DYWxsYmFja01hcDsKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisg
ICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4gPiBtX2lk
VG9Wb2lkQ2FsbGJhY2tNYXA7CisjZW5kaWYKICAgICBIYXNoTWFwPFJlZlB0cjxXZWJDb3JlOjpT
ZWN1cml0eU9yaWdpbj4sIHVpbnQ2NF90PiBtX29yaWdpblRvSURNYXA7CiAgICAgSGFzaE1hcDx1
aW50NjRfdCwgUmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPiA+IG1faWRUb09yaWdpbk1h
cDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJOb3RpZmljYXRpb25DbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuY3BwCmluZGV4IDkwZWIxNjFmMjZj
ZGIzMzAzNjExYjRlYThlNjA1OGU2OWViYzU0MDMuLmRjNWJiN2EyM2Y4NmUzNDY1N2NiYWUyZDU0
NDIxNTIzMTU0ZDE5YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAKQEAg
LTc3LDYgKzc3LDExIEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlz
c2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQCiAgICAgbV9wYWdlLT5ub3Rp
ZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKS0+c3RhcnRSZXF1ZXN0KGNvbnRleHQt
PnNlY3VyaXR5T3JpZ2luKCksIGNhbGxiYWNrKTsKIH0KIAordm9pZCBXZWJOb3RpZmljYXRpb25D
bGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQs
IFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBjYWxsYmFjaykKK3sK
KyAgICBtX3BhZ2UtPm5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcigpLT5zdGFy
dFJlcXVlc3QoY29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKSwgY2FsbGJhY2spOworfQorCiB2b2lk
IFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9uKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiB7CiAgICAgbV9wYWdlLT5ub3RpZmljYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKS0+Y2FuY2VsUmVxdWVzdChjb250ZXh0LT5zZWN1cml0
eU9yaWdpbigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCmluZGV4IDE0N2E4OGFj
MTBkZDg5YzU4YzgzNjMwZTY1YWY0Yzc0OGYwZTI1ODEuLjE0OTRmOWQyNzg1NTgxMTZmMThiYzk5
ZTNiZjZiMzE2YzNiNDA1NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaApAQCAt
MzEsNiArMzEsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTm90aWZpY2F0aW9uUHJlc2VudGVyLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxs
YmFjazsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiBjbGFzcyBWb2lkQ2FsbGJhY2s7
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkBAIC01MSw5ICs1MiwxMCBAQCBwcml2YXRlOgogICAg
IHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25PYmplY3REZXN0cm95ZWQoV2ViQ29yZTo6Tm90aWZp
Y2F0aW9uKikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmaWNhdGlvbkNvbnRyb2xs
ZXJEZXN0cm95ZWQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Np
b24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8V2ViQ29yZTo6
Vm9pZENhbGxiYWNrPikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNz
aW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPFdlYkNvcmU6
Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4pIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
dm9pZCBjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9u
Q29udGV4dCopIE9WRVJSSURFOwogICAgIHZpcnR1YWwgTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQ
ZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0
KikgT1ZFUlJJREU7Ci0gICAgCisKICAgICBXZWJQYWdlKiBtX3BhZ2U7CiB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131164</attachid>
            <date>2012-03-10 01:01:01 -0800</date>
            <delta_ts>2012-03-10 12:44:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80485-20120310010217.patch</filename>
            <type>text/plain</type>
            <size>61618</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMzcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRlM2FhZWU2ODE2NmEx
ODBlMjljOGY4OTk4NzU3M2I5Y2UyNjg4MS4uYjkxMmRhN2JlMTUwOGY5Y2VhODQzZGI4OWNlN2I5
MzNlOTZmM2QwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEyLTAzLTA5ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVu
Y3Rpb25zIHRvIE5vdGlmaWNhdGlvbiBmcm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzEwOTY1NDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsOiBCZWNhdXNl
IHRoZSBmdW5jdGlvbnMgYXJlIG9uIHRoZSBOb3RpZmljYXRpb24gb2JqZWN0IGl0c2VsZiwgd2Ug
bmVlZCB0bworICAgICAgICBkZWNsYXJlIGl0IGEgY29uc3RydWN0b3Igc28gdGhhdCBpdCBpcyBh
Y2Nlc3NpYmxlIGZyb20gRE9NV2luZG93LgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDog
QWRkIE5vdGlmaWNhdGlvbiBjb25zdHJ1Y3Rvci4KKworICAgICAgICAqIG5vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6cGVybWlz
c2lvbkxldmVsKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6c3RyaW5nRm9yUGVy
bWlzc2lvbik6IERlY2xhcmUgdGhyZWUgc3RhdGljIGxvY2FscyBmb3IgZWFjaCBvZiB0aGUgdmFs
dWVzLCBhbmQgcmV0dXJuCisgICAgICAgIGJhc2VkIG9uIHRoZSBwZXJtaXNzaW9uIGVudW0uCisg
ICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb246OnJlcXVlc3RQZXJtaXNzaW9uKTogRm9yd2Fy
ZCByZXF1ZXN0IHRvIGNsaWVudC4KKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5oOgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2suaDogQWRkZWQuCisgICAgICAgIChOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sp
OgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrOjp+Tm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrKToKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGw6IEFkZGVkLgorCisgICAgICAgICogbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwOiBXcmFwIHBlcm1pc3Npb24gZnVuY3Rp
b25zIGluIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5oOiBXcmFwIHBlcm1pc3Npb24gZnVuY3Rpb25zIGluIEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbkNlbnRlci5pZGw6IFdyYXAgcGVybWlzc2lvbiBmdW5jdGlvbnMgaW4gRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQorICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
UHJlc2VudGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXI6OnJl
cXVlc3RQZXJtaXNzaW9uKTogQWRkIG5ldyByZXF1ZXN0UGVybWlzc2lvbigpIGZ1bmN0aW9uIGZv
ciBuZXcKKyAgICAgICAgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrIHR5cGUuIE1ha2Ug
aXQgYSBzdHViIGltcGxlbWVudGF0aW9uIHVudGlsIGFsbCBwb3J0cyBoYXZlIGFkb3B0ZWQuCisK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcDog
RW5jYXBzdWxhdGUgd2l0aCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpIHNpbmNlCisgICAg
ICAgIHRoZSByZXF1ZXN0UGVybWlzc2lvbigpIGZ1bmN0aW9uIGlzIG1vdmluZyB0byBOb3RpZmlj
YXRpb24uCisgICAgICAgICogYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3Rv
bS5jcHA6IEN1c3RvbSBpbXBsZW1lbnRhdGlvbiBvZiByZXF1ZXN0UGVybWlzc2lvbigpLgorICAg
ICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHA6IEN1c3Rv
bSBpbXBsZW1lbnRhdGlvbiBvZiByZXF1ZXN0UGVybWlzc2lvbigpLgorCisgICAgICAgICogQ01h
a2VMaXN0cy50eHQ6IEFkZCBuZXcgY2FsbGJhY2sgaWRsLgorICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLm1ha2U6IEFkZCBuZXcgY2FsbGJhY2sgaWRsLgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxp
c3QuYW06IEFkZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgZmlsZXMuCisgICAgICAg
ICogVGFyZ2V0LnByaTogSW5jbHVkZSBKU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAsIFY4Tm90aWZp
Y2F0aW9uQ3VzdG9tLmNwcAorICAgICAgICAqIFVzZUpTQy5jbWFrZTogSW5jbHVkZSBKU05vdGlm
aWNhdGlvbkN1c3RvbS5jcHAKKyAgICAgICAgKiBVc2VWOC5jbWFrZTogSW5jbHVkZSBWOE5vdGlm
aWNhdGlvbkN1c3RvbS5jcHAKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IEluY2x1ZGUgSlNOb3Rp
ZmljYXRpb25DdXN0b20uY3BwLCBWOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAsIEpTTm90aWZpY2F0
aW9uUGVybWlzc2lvbkNhbGxiYWNrLntoLGNwcH0KKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvajogSW5jbHVkZSBKU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAsIEpTTm90aWZp
Y2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLntoLGNwcH0KKyAgICAgICAgKiBXZWJDb3JlLmV4cC5p
bjogRXhwb3J0IHN0cmluZ0ZvclBlcm1pc3Npb24oKS4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6IEFkZCBjYWxsYmFjayBpZGwsIGgsIGFuZCBjcHAgZmlsZXMu
CisKIDIwMTItMDMtMDkgIFJvYmVydCBLcm9lZ2VyICA8cmprcm9lZ2VAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIEhhbmRsZSBtb3JlIEdlc3R1cmUqIGV2ZW50cyBieSBwZXJmb3JtaW5nIHNjcm9s
bHMgb24gdGhlIGNvcnJlY3QgdGFyZ2V0IFNjcm9sbGFibGVBcmVhIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmlu
ZGV4IGFiNzM3MWUyMTQ2MmFmNDgwMzRhYTgyZjgzZTVkYjYzNzE5ZjVlNGQuLjMxMjMxNDNjMTE2
ZWEwYzU4YTM3OTY2ZWEwNGY0ZmQ4YjZkMWJlOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMCBAQAorMjAxMi0wMy0wOSAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKKyAgICAg
ICAgTWlncmF0ZSBwZXJtaXNzaW9uIGZ1bmN0aW9ucyB0byBOb3RpZmljYXRpb24gZnJvbSBOb3Rp
ZmljYXRpb25DZW50ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTgwNDg1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDk2NTQ1OD4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYk5v
dGlmaWNhdGlvbkNsaWVudC5tbTogQWRkIG5ldyBtZW1iZXIgdmFyaWFibGUgdG8gaGFuZGxlIGJv
dGgga2luZHMgb2YgY2FsbGJhY2tzLgorICAgICAgICAoV2ViTm90aWZpY2F0aW9uQ2xpZW50Ojpy
ZXF1ZXN0UGVybWlzc2lvbik6IEFkZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgdmVy
c2lvbiBvZiB0aGUgc2FtZQorICAgICAgICBmdW5jdGlvbi4KKyAgICAgICAgKC1bV2ViTm90aWZp
Y2F0aW9uUG9saWN5TGlzdGVuZXIgaW5pdFdpdGhDYWxsYmFjazpdKToKKyAgICAgICAgKC1bV2Vi
Tm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgaW5pdFdpdGhWb2lkQ2FsbGJhY2s6XSk6CisgICAg
ICAgICgtW1dlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGFsbG93XSk6CisgICAgICAgICgt
W1dlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGRlbnldKToKKwogMjAxMi0wMy0wOSAgRW5y
aWNhIENhc3VjY2kgIDxlbnJpY2FAYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgV2ViTlNVUkxF
eHRyYXMgY29kZSBkb3duIHRvIFdlYkNvcmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTVlYTNjZDRjMWMzMDE0
NTY2YjA2OTc2Yjk0YmVlMDk4YTRiN2ZjOC4uMWI5ZDE3MzJkM2EyYmZiOTc4MTQyYmQ2NmU2ZTQ0
NGQwZTRkYzIzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTAzLTA5ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVu
Y3Rpb25zIHRvIE5vdGlmaWNhdGlvbiBmcm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzEwOTY1NDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBl
cm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6c3RhcnRSZXF1ZXN0KToKKyAgICAgICAgKFdlYktp
dCk6CisgICAgICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
cjo6ZGlkUmVjZWl2ZU5vdGlmaWNhdGlvblBlcm1pc3Npb25EZWNpc2lvbik6CisgICAgICAgICog
V2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlci5oOgorICAgICAgICAoTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVu
dC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBl
cm1pc3Npb24pOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJOb3RpZmljYXRpb25DbGllbnQpOgorCiAyMDEyLTAzLTA5ICBWaWF0Y2hlc2xh
diBPc3RhcGVua28gIDxvc3RhcGVua28udmlhdGNoZXNsYXZAbm9raWEuY29tPgogCiAgICAgICAg
IFtRdF0gW1dLMl0gU2hvdWxkbid0IHVzZSBpdGVtIGZvciBjbGlwcGluZyByZWN0IGNhbGN1bGF0
aW9uIGluIHBhaW50IG5vZGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDJmY2MyNjU1NzMzMjYz
OTVjYTQ0MDI0NDRjZDAwYThlOGNjYWMyMjAuLmM1NDVlNGVkYTZjNmIxMTRkNmYzZDcyNmIyZGQ1
OTM5ODBiOWM3NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xNjMxLDYgKzE2MzEsNyBAQCBJ
RiAoRU5BQkxFX05PVElGSUNBVElPTlMpCiAgICAgTElTVChBUFBFTkQgV2ViQ29yZV9JRExfRklM
RVMKICAgICAgICAgbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCiAgICAgICAgIG5vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbAorICAgICAgICBub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwKICAgICApCiBFTkRJRiAoKQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAyNDYwNjgzM2E1NzZkOGQ3ZmI1ODFjMWIzNjVh
ZjZkNjA4ZDIxYzY1Li40NDNmNmYyZDFiMWU0ZjZkMjBmNjRjMjNhMzBhZjQyNDNjZTM5M2U1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTEsNCArMSw0IEBACi0jIENvcHlyaWdo
dCAoQykgMjAwNiwgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisj
IENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2Vp
bmlnQGdtYWlsLmNvbT4gCiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFjayA8
Y2FtQG1jYy5pZC5hdT4KICMKQEAgLTM1NSw2ICszNTUsNyBAQCBCSU5ESU5HX0lETFMgPSBcCiAg
ICAgJChXZWJDb3JlKS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5pZGwgXAog
ICAgICQoV2ViQ29yZSkvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsIFwKICAgICAkKFdl
YkNvcmUpL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbCBcCisgICAgJChXZWJD
b3JlKS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgXAog
ICAgICQoV2ViQ29yZSkvcGFnZS9BYnN0cmFjdFZpZXcuaWRsIFwKICAgICAkKFdlYkNvcmUpL3Bh
Z2UvQmFySW5mby5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9Db25zb2xlLmlkbCBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5wcmkKaW5kZXggYWY0ZjViNTBiODU3ZjIyZjEwYjRjNTdiM2RhZDhl
MWQyODgzNWFkOC4uZGNjNWNiZjhjYTY0NWFiZTM0NDNlNjk4YjIxY2IzMDkzYWViOTBmNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpAQCAtMzc3LDYgKzM3Nyw3IEBAIElETF9CSU5ESU5H
UyArPSBcCiAgICAgJCRQV0QvbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuaWRs
IFwKICAgICAkJFBXRC9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwgXAogICAgICQkUFdE
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbCBcCisgICAgJCRQV0Qvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsIFwKICAgICAkJFBXRC9w
YWdlL0JhckluZm8uaWRsIFwKICAgICAkJFBXRC9wYWdlL0NvbnNvbGUuaWRsIFwKICAgICAkJFBX
RC9wYWdlL0Nvb3JkaW5hdGVzLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRl
eCA0NTY5NDE5ZGNlY2FlYzk0OTczYTJmODlhMmE5OGFhZjYwMmM2OWY1Li5mMjk5NmE2MDk4MWY4
ZDI2YmIwZTQ4Mzk3NWI4MTVkNzVmNjU2N2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KQEAgLTQyMCw2ICs0MjAsOCBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb3RpZmljYXRpb25DZW50ZXIuaCBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU05vdGlmaWNhdGlvbi5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNOb3RpZmljYXRpb24uaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjay5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
T0VTU3RhbmRhcmREZXJpdmF0aXZlcy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VT
VGV4dHVyZUZsb2F0LmNwcCBcCkBAIC05MDAsNiArOTAyLDcgQEAgZG9tX2JpbmRpbmdfaWRscyAr
PSBcCiAJJChXZWJDb3JlKS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5pZGwg
XAogCSQoV2ViQ29yZSkvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsIFwKIAkkKFdlYkNv
cmUpL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbCBcCisJJChXZWJDb3JlKS9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgXAogCSQoV2Vi
Q29yZSkvcGFnZS9CYXJJbmZvLmlkbCBcCiAJJChXZWJDb3JlKS9wYWdlL0NvbnNvbGUuaWRsIFwK
IAkkKFdlYkNvcmUpL3BhZ2UvQ29vcmRpbmF0ZXMuaWRsIFwKQEAgLTI4MjcsNiArMjgzMCw3IEBA
IHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25Db250cm9sbGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uaCBcCisJU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2suaCBcCiAJU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25QcmVzZW50ZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9u
QmFzZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2Uu
aCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNv
cmUvVGFyZ2V0LnByaQppbmRleCBmOGYyYjVhMGE2YjMxYWJkMzczOTQxYTEwYTY5ZDYxNzBhNTA0
YWZjLi5hY2E1M2M0ZjhhNDIwNDQzNGRhYmQ5Mjk5NmZlY2UyOWJlY2M2NGI5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5w
cmkKQEAgLTIzMyw2ICsyMzMsNyBAQCB2OCB7CiAgICAgICAgIFwKICAgICAgICAgYmluZGluZ3Mv
djgvc3BlY2lhbGl6YXRpb24vVjhCaW5kaW5nU3RhdGUuY3BwXAogICAgICAgICBcCisgICAgICAg
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAgXAogICAgICAgICBi
aW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DZW50ZXJDdXN0b20uY3BwIFwKICAgICAg
ICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q29uc29sZUN1c3RvbS5jcHAgXAogICAgICAgICBiaW5k
aW5ncy92OC9jdXN0b20vVjhTUUxUcmFuc2FjdGlvblN5bmNDdXN0b20uY3BwIFwKQEAgLTM0MSw2
ICszNDIsNyBAQCB2OCB7CiAgICAgICAgIGJpbmRpbmdzL2pzL0pTTm9kZUZpbHRlckN1c3RvbS5j
cHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU05vZGVJdGVyYXRvckN1c3RvbS5jcHAgXAogICAg
ICAgICBiaW5kaW5ncy9qcy9KU05vZGVMaXN0Q3VzdG9tLmNwcCBcCisgICAgICAgIGJpbmRpbmdz
L2pzL0pTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTUGx1
Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU1BvcFN0YXRl
RXZlbnRDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNQcm9jZXNzaW5nSW5zdHJ1
Y3Rpb25DdXN0b20uY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFr
ZSBiL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQppbmRleCAwOTAzOGRkNjg0ODc3ZTFmODIw
MjE5Mjc1ZTc4MmViMTMwODNhMjY2Li43ZTY3ZjMyNzQ2MDQwOGMyNzhmODBlNzg4YzU1N2Y2YjY0
OTc0NDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKKysrIGIvU291
cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCkBAIC0xMDksNiArMTA5LDcgQEAgTElTVChBUFBFTkQg
V2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvanMvSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcAog
ICAgIGJpbmRpbmdzL2pzL0pTTm9kZUl0ZXJhdG9yQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pz
L0pTTm9kZUxpc3RDdXN0b20uY3BwCisgICAgYmluZGluZ3MvanMvSlNOb3RpZmljYXRpb25DdXN0
b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcAogICAg
IGJpbmRpbmdzL2pzL0pTUG9wU3RhdGVFdmVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9K
U1Byb2Nlc3NpbmdJbnN0cnVjdGlvbkN1c3RvbS5jcHAKQEAgLTIyOCw2ICsyMjksNyBAQCBFTkRJ
RiAoKQogSUYgKEVOQUJMRV9OT1RJRklDQVRJT05TKQogICAgIExJU1QoQVBQRU5EIFdlYkNvcmVf
U09VUkNFUwogICAgICAgICBiaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9t
LmNwcAorICAgICAgICBiaW5kaW5ncy9qcy9KU05vdGlmaWNhdGlvbnNDdXN0b20uY3BwCiAgICAg
KQogRU5ESUYgKCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UgYi9T
b3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQppbmRleCBiOGY1ZmQyNjdlYTVhM2ViOTJkODkxOWRh
MTRhZGQ1MzQ2YWY3OGUwLi4wYWQ1ZjkzMzlkM2Y2NDVmMGI2NDkyMTBhNmVlM2Y1MzUzYTUxYTcz
IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Vc2VWOC5jbWFrZQpAQCAtMTM3LDYgKzEzNyw3IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVf
U09VUkNFUwogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZXNDb2xsZWN0aW9uLmNw
cAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vZGVDdXN0b20uY3BwCiAgICAgYmluZGluZ3Mv
djgvY3VzdG9tL1Y4Tm9kZUxpc3RDdXN0b20uY3BwCisgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNh
dGlvbkNlbnRlckN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhQZXJmb3JtYW5j
ZUN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhQb3BTdGF0ZUV2ZW50Q3VzdG9t
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA3Y2FkYmNmMGFmYzA5MzBiYzk2NzlhMTA5MTNm
N2JlZDVlMzNhNmZiLi4wNWRmMGJkY2JjNWQwNTBmYmQwYWFiNjkyMzQxZTRmNzI2OTUxMzQwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMjEyOCw2ICsyMTI4LDcgQEAgX19aTjdXZWJDb3JlMTJO
b3RpZmljYXRpb24xN2Rpc3BhdGNoU2hvd0V2ZW50RXYKIF9fWk43V2ViQ29yZTEyTm90aWZpY2F0
aW9uMThkaXNwYXRjaENsaWNrRXZlbnRFdgogX19aTjdXZWJDb3JlMTJOb3RpZmljYXRpb24xOGRp
c3BhdGNoQ2xvc2VFdmVudEV2CiBfX1pON1dlYkNvcmUxMk5vdGlmaWNhdGlvbjE4ZGlzcGF0Y2hF
cnJvckV2ZW50RXYKK19fWk43V2ViQ29yZTEyTm90aWZpY2F0aW9uMTlzdHJpbmdGb3JQZXJtaXNz
aW9uRU5TXzIxTm90aWZpY2F0aW9uUHJlc2VudGVyMTBQZXJtaXNzaW9uRQogI2VuZGlmCiAKICNp
ZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDA0NzhjZmE5
NDY4N2I1ZDlmMzQyNDcyMjk5OTgxOTNlNGU5MTkyOWUuLjI2MWEwMWRlNzkxZDdhNjZlYzhkODEy
ODE2YWFhMTI3OTc0MDhmMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTEwNTMsNiArMTA1Myw3IEBA
CiAgICAgICAgICAgICAnbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuaWRsJywK
ICAgICAgICAgICAgICdub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwnLAogICAgICAgICAg
ICAgJ25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbCcsCisgICAgICAgICAgICAn
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsJywKICAgICAg
ICAgICAgICdwYWdlL0Fic3RyYWN0Vmlldy5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvQmFySW5m
by5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvQ29uc29sZS5pZGwnLApAQCAtMTc3MCw2ICsxNzcx
LDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU05vZGVGaWx0ZXJDdXN0b20uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU05vZGVJdGVyYXRvckN1c3RvbS5jcHAnLAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTm9kZUxpc3RDdXN0b20uY3BwJywKKyAgICAgICAgICAg
ICdiaW5kaW5ncy9qcy9KU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL2pzL0pTUGVlckNvbm5lY3Rpb25DdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5k
aW5ncy9qcy9KU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuY3BwJywKICAgICAgICAgICAgICdiaW5k
aW5ncy9qcy9KU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwJywKQEAgLTIwNzcsNiArMjA3OSw3IEBA
CiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2Rlc0NvbGxlY3Rpb24u
aCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUN1c3RvbS5jcHAnLAog
ICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vZGVMaXN0Q3VzdG9tLmNwcCcsCisg
ICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcCcs
CiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2VudGVyQ3Vz
dG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4UGVyZm9ybWFuY2VD
dXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhQb3BTdGF0ZUV2
ZW50Q3VzdG9tLmNwcCcsCkBAIC0yNzg0LDYgKzI3ODcsNyBAQAogICAgICAgICAgICAgJ25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udGVudHMuaCcsCiAgICAgICAgICAgICAnbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmNwcCcsCiAgICAgICAgICAgICAnbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmgnLAorICAgICAgICAgICAgJ25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgnLAogICAgICAgICAgICAgJ3BhZ2Uv
QmFySW5mby5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvQmFySW5mby5oJywKICAgICAgICAgICAg
ICdwYWdlL0Nocm9tZS5jcHAnLApAQCAtNzUwMSw2ICs3NTA1LDggQEAKICAgICAgICAgICAgICc8
KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uLmgnLAog
ICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb3Rp
ZmljYXRpb25DZW50ZXIuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uQ2VudGVyLmgnLAorICAgICAgICAgICAgJzwo
UFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2suY3BwJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgnLAogICAgICAg
ICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPRVNTdGFuZGFy
ZERlcml2YXRpdmVzLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCcsCiAgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU09FU1RleHR1cmVGbG9hdC5j
cHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRl
eCAzMDFjMDY2YTliN2M3ODIyNGY5ODgyM2UyMGY2MzE2M2U1OTg0NGZlLi4xZjBkNjViODE3Mjg2
N2VlYzkxZDkxYTNiZjE0ZmYzOWI5YmQ1NmZlIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMTIwOTAsNiArMTIwOTAsNjIgQEAKIAkJCQk+CiAJ
CQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVp
bGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05vdGlmaWNhdGlvblBl
cm1pc3Npb25DYWxsYmFjay5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJ
CQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJ
CT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFt
ZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4K
KwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0i
RGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJ
Lz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJ
CQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZp
bGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9q
ZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2su
aCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iJChDb25m
aWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU09w
ZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24uY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTY3
MjczLDYgKzY3MzI5LDU4IEBACiAJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJPC9GaWxl
PgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNOb3RpZmlj
YXRpb25DdXN0b20uY3BwIgorCQkJCQk+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJ
TmFtZT0iRGVidWd8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJ
CT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+
CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJ
CQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgor
CQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIi
CisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJ
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQWxs
fFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8
VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlBy
b2R1Y3Rpb258V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4K
KwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJ
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJl
bGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcCIK
IAkJCQkJPgogCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmZDY5ZGM1NGMwMTQ4NjQzMDM4
MDU0YWM4ZTAzYjJkZGM0MzVlZmRhLi5hMDY1NmExNGMyYTNiNTM1YmRhNDA0YWFmYWExN2U0MzQ2
MWVkZDZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC04OTksNiArODk5LDggQEAKIAkJMzFDMEZGNEMwRTRDRUZERDAwN0Q2RkU1
IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzFDMEZGNDYwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktp
dFRyYW5zaXRpb25FdmVudC5oICovOyB9OwogCQkzMUMwRkY0RDBFNENFRkREMDA3RDZGRTUgLyog
RE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzFDMEZGNDcwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRy
YW5zaXRpb25FdmVudC5tbSAqLzsgfTsKIAkJMzFDMEZGNEUwRTRDRUZERDAwN0Q2RkU1IC8qIERP
TVdlYktpdFRyYW5zaXRpb25FdmVudEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUMwRkY0ODBFNENFRkREMDA3RDZGRTUgLyogRE9NV2Vi
S2l0VHJhbnNpdGlvbkV2ZW50SW50ZXJuYWwuaCAqLzsgfTsKKwkJMzFFQzFFMjgxNEZGNjBFRTAw
Qzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRUMxRTI2MTRGRjYwRUUwMEM5
NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5jcHAgKi87IH07CisJCTMx
RUMxRTI5MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFj
ay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFFQzFF
MjcxNEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgg
Ki87IH07CiAJCTMxRkIxQTU3MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25DbGllbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTRG
MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25DbGllbnQuaCAqLzsgfTsKIAkJMzFGQjFB
NTgxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNTAxMjBBNUQwNjAw
REMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwICovOyB9OwogCQkzMUZCMUE1OTEy
MEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNTExMjBBNUQwNjAwREMwMkEw
IC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuaCAqLzsgfTsKQEAgLTkwOSw2ICs5MTEsOCBAQAog
CQkzMUZCMUE2NTEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE2MzEyMEE1
RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgKi87IH07CiAJCTMxRkIxQTY2
MTIwQTVEM0YwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE2NDEyMEE1RDNGMDBEQzAyQTAg
LyogSlNEZXZpY2VNb3Rpb25FdmVudC5oICovOyB9OwogCQkzMUZCMUE2QzEyMEE1RDY5MDBEQzAy
QTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE2QjEyMEE1RDY5MDBEQzAyQTAgLyogSlNE
ZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgKi87IH07CisJCTMxRkU2REZBMTUwMDRDMkEwMDA0
RUJDNCAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRUMxREFDMTRGRjI2RUEwMEM5NDY2MiAv
KiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkzMUZFNkU2RDE1MDFBM0JGMDAwNEVCQzQgLyog
SlNOb3RpZmljYXRpb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMzFGRTZFNkMxNTAxQTNCRjAwMDRFQkM0IC8qIEpTTm90aWZpY2F0aW9u
Q3VzdG9tLmNwcCAqLzsgfTsKIAkJMzMxNEFDRUIxMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0
aW9uQmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAzMzE0QUNFOTEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25CYXNlLmNwcCAqLzsgfTsK
IAkJMzMxNEFDRUMxMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzMxNEFDRUExMDg5MjA4NjAw
MEYwRTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5oICovOyB9OwogCQkzMzUwM0M5QTEwMTc5QTc0MDAz
QjQ3RTEgLyogTm90aWZpY2F0aW9uUHJlc2VudGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzUwM0M5OTEwMTc5QTc0MDAzQjQ3RTEgLyogTm90aWZp
Y2F0aW9uUHJlc2VudGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKQEAgLTc3NTQsNiArNzc1OCwxMCBAQAogCQkzMUMwRkY0NjBFNENFRkREMDA3RDZG
RTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkzMUMwRkY0NzBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlv
bkV2ZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NV2Vi
S2l0VHJhbnNpdGlvbkV2ZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUMw
RkY0ODBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50SW50ZXJuYWwu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NV2ViS2l0VHJhbnNpdGlvbkV2
ZW50SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFFQzFENTAxNEZF
RkQwODAwQzk0NjYyIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBuYW1lID0gTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbDsgcGF0
aCA9IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFFQzFEQUMxNEZGMjZFQTAwQzk0NjYyIC8qIE5v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOb3RpZmljYXRp
b25QZXJtaXNzaW9uQ2FsbGJhY2suaDsgcGF0aCA9IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
UGVybWlzc2lvbkNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRUMx
RTI2MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05vdGlmaWNhdGlvblBl
cm1pc3Npb25DYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRUMx
RTI3MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU05vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUZCMUE0RjEyMEE1
RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERldmljZU1vdGlvbkNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkzMUZCMUE1MDEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ29udHJvbGxl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEZXZpY2VNb3Rpb25D
b250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFGQjFBNTExMjBB
NUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNlTW90aW9uQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtNzc2NSw2ICs3NzczLDcgQEAKIAkJMzFGQjFBNjMxMjBBNUQzRjAw
REMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNEZXZpY2VNb3Rpb25FdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTMxRkIxQTY0MTIwQTVEM0YwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2
ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRGV2aWNlTW90aW9uRXZl
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFGQjFBNkIxMjBBNUQ2OTAwREMw
MkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRkU2RTZDMTUwMUEzQkYwMDA0RUJDNCAvKiBKU05vdGlm
aWNhdGlvbkN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U05vdGlmaWNhdGlvbkN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMz
MTRBQ0U5MTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFeGNlcHRpb25CYXNlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzMxNEFDRUExMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0
aW9uQmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0V4Y2VwdGlvbkJh
c2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzMzRjcwNEUwRkI0OUNBMjAwOEUx
MkE2IC8qIE5vdGlmaWNhdGlvbi5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gTm90aWZpY2F0
aW9uLmlkbDsgcGF0aCA9IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0Mzk1LDYgKzE0NDA0LDggQEAKIAkJCQkzMTI4Q0E2NzE0
NzMzMTUyMDA3NEM3MkEgLyogTm90aWZpY2F0aW9uQ29udHJvbGxlci5jcHAgKi8sCiAJCQkJMzEy
OENBNkExNDczMzE2MzAwNzRDNzJBIC8qIE5vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaCAqLywKIAkJ
CQkzMzUwM0M5OTEwMTc5QTc0MDAzQjQ3RTEgLyogTm90aWZpY2F0aW9uUHJlc2VudGVyLmggKi8s
CisJCQkJMzFFQzFENTAxNEZFRkQwODAwQzk0NjYyIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5pZGwgKi8sCisJCQkJMzFFQzFEQUMxNEZGMjZFQTAwQzk0NjYyIC8qIE5vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjay5oICovLAogCQkJKTsKIAkJCW5hbWUgPSBub3RpZmljYXRp
b25zOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTE0NDA2LDYgKzE0NDE3LDggQEAK
IAkJCQkzMzUwM0NBMDEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb24uaCAqLywKIAkJ
CQkzMzUwM0NBMTEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb25DZW50ZXIuY3BwICov
LAogCQkJCTMzNTAzQ0EyMTAxNzlBRDcwMDNCNDdFMSAvKiBKU05vdGlmaWNhdGlvbkNlbnRlci5o
ICovLAorCQkJCTMxRUMxRTI2MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjay5jcHAgKi8sCisJCQkJMzFFQzFFMjcxNEZGNjBFRTAwQzk0NjYyIC8qIEpT
Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggKi8sCiAJCQkpOwogCQkJbmFtZSA9IE5v
dGlmaWNhdGlvbnM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTk2NzMsNiArMTk2
ODYsNyBAQAogCQkJCUJDQjc3MzYwMEMxNzg1M0QwMDEzMkJBNCAvKiBKU05vZGVGaWx0ZXJDdXN0
b20uY3BwICovLAogCQkJCTFBNzUwREQzMEE5MEU3MjkwMDBGRjIxNSAvKiBKU05vZGVJdGVyYXRv
ckN1c3RvbS5jcHAgKi8sCiAJCQkJQkNEOUMyNjEwQzE3QUE2NzAwNUM5MEEyIC8qIEpTTm9kZUxp
c3RDdXN0b20uY3BwICovLAorCQkJCTMxRkU2RTZDMTUwMUEzQkYwMDA0RUJDNCAvKiBKU05vdGlm
aWNhdGlvbkN1c3RvbS5jcHAgKi8sCiAJCQkJQTg1RjIyMDgxNDMwMzc3RDAwN0NDODg0IC8qIEpT
UG9wU3RhdGVFdmVudEN1c3RvbS5jcHAgKi8sCiAJCQkJRTFBRDEyRDUxMjk1RDBCRDAwQUNBOTg5
IC8qIEpTUHJvY2Vzc2luZ0luc3RydWN0aW9uQ3VzdG9tLmNwcCAqLywKIAkJCQk0OTk4QUVEMzEz
RkM0MTdGMDA5MEIxQUEgLyogSlNSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFja0N1c3RvbS5j
cHAgKi8sCkBAIC0yNDU2Niw2ICsyNDU4MCw4IEBACiAJCQkJRTFDREU5MjIxNTAxOTE2OTAwODYy
Q0M1IC8qIEFzeW5jRmlsZVN0cmVhbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDUwQ0VCRjExNTA3
M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUM1
QjRDMjREMTUwOTIzNkMwMEE2RUYzNyAvKiBXZWJDb3JlTlNVUkxFeHRyYXMuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTMxRUMxRTI5MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFGRTZERkExNTAwNEMyQTAwMDRF
QkM0IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBA
IC0yNzU0NCw2ICsyNzU2MCw4IEBACiAJCQkJNDUwQ0VCRjAxNTA3M0JCRTAwMkJCMTQ5IC8qIExh
YmVsYWJsZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzVCNEMyNEUxNTA5MjM2QzAw
QTZFRjM3IC8qIFdlYkNvcmVOU1VSTEV4dHJhcy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTlCMkI3
QUMxMTUwOTg1MEEwMDg5MzJDQyAvKiBNaWNyb0RhdGFJdGVtVmFsdWUuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJMzFFQzFFMjgxNEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxRkU2RTZEMTUwMUEzQkYwMDA0
RUJDNCAvKiBKU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0
b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9u
c0N1c3RvbS5jcHAKaW5kZXggMTZhOTYyYzU2MjlhMzU5ZDVkYzdjZThlMjJiYWQ4NTA2NWU5MTJj
ZS4uYTM2MjBiODliNzJkOGNmOWY2MzEzM2I4NjZiYmUwOTRiNWMyMWJiMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3RvbS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9u
c0N1c3RvbS5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQpAQCAtMzAsMTQgKzMxLDEyIEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSAmJiBFTkFC
TEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1
ZGUgIkpTQ3VzdG9tVm9pZENhbGxiYWNrLmgiCiAjaW5jbHVkZSAiSlNFdmVudExpc3RlbmVyLmgi
Ci0jaW5jbHVkZSAiSlNOb3RpZmljYXRpb24uaCIKICNpbmNsdWRlICJKU05vdGlmaWNhdGlvbkNl
bnRlci5oIgotI2luY2x1ZGUgIk5vdGlmaWNhdGlvbi5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlv
bkNlbnRlci5oIgogI2luY2x1ZGUgPHJ1bnRpbWUvRXJyb3IuaD4KIApAQCAtNjgsNiArNjcsNiBA
QCBKU1ZhbHVlIEpTTm90aWZpY2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbihFeGVjU3Rh
dGUqIGV4ZWMpCiAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiB9CiAKLX0gLy8gbmFtZXNwYWNl
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKKyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgJiYgIUVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm90
aWZpY2F0aW9uQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm90aWZp
Y2F0aW9uQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNDNkMzhiODAyODRhYTgxYWIxNTZkN2I3MzYy
N2E4MzA3MmJiYmNmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNOb3RpZmljYXRpb25DdXN0b20uY3BwCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiSlNOb3RpZmljYXRpb24uaCIKKworI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQor
CisjaW5jbHVkZSAiQ2FsbGJhY2tGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTTm90aWZpY2F0aW9u
UGVybWlzc2lvbkNhbGxiYWNrLmgiCisjaW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgorCit1c2lu
ZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0pTVmFsdWUgSlNOb3Rp
ZmljYXRpb246OnJlcXVlc3RQZXJtaXNzaW9uKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICAvLyBB
cmd1bWVudHM6IE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaworICAgIGlmICghZXhlYy0+
YXJndW1lbnQoMCkuaXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4
ZWMpOworICAgIAorICAgIFJlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNh
bGxiYWNrID0gY3JlYXRlRnVuY3Rpb25Pbmx5Q2FsbGJhY2s8SlNOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2s+KGV4ZWMsIHN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+
bGV4aWNhbEdsb2JhbE9iamVjdCgpKSwgZXhlYy0+YXJndW1lbnQoMCkpOworICAgIGlmIChleGVj
LT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisgICAgCisg
ICAgQVNTRVJUKGNhbGxiYWNrKTsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRD
b250ZXh0ID0gc3RhdGljX2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xv
YmFsT2JqZWN0KCkpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CisgICAgTm90aWZpY2F0aW9u
OjpyZXF1ZXN0UGVybWlzc2lvbihzY3JpcHRDb250ZXh0LCBjYWxsYmFjay5yZWxlYXNlKCkpOwor
ICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DdXN0b20uY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmMyMjhmNWU1MTQyMzNjZDc2MDQ0YjMyZjM2NGE1ZTk0MDQzMDA2Y2MKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRp
b25DdXN0b20uY3BwCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIg
QXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykKKyNpbmNsdWRlICJWOE5vdGlmaWNhdGlvbi5oIgorCisjaW5jbHVkZSAiRXhj
ZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIlY4Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNr
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4Tm90
aWZpY2F0aW9uOjpyZXF1ZXN0UGVybWlzc2lvbihjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQor
eworICAgIElOQ19TVEFUUyhMIkRPTS5Ob3RpZmljYXRpb24uUmVxdWVzdFBlcm1pc3Npb24oKSIp
OworCisgICAgTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24gPSBWOE5vdGlmaWNhdGlvbjo6dG9O
YXRpdmUoYXJncy5Ib2xkZXIoKSk7CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCA9IG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworCisgICAgYm9vbCBz
dWNjZWVkZWQgPSBmYWxzZTsKKyAgICBSZWZQdHI8VjhOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2s+IGNhbGxiYWNrID0gY3JlYXRlRnVuY3Rpb25Pbmx5Q2FsbGJhY2s8VjhOb3RpZmljYXRp
b25QZXJtaXNzaW9uQ2FsbGJhY2s+KGFyZ3NbMF0sIHN1Y2NlZWRlZCk7CisgICAgaWYgKCFzdWNj
ZWVkZWQpCisgICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CisgICAgQVNTRVJUKGNhbGxi
YWNrKTsKKworICAgIE5vdGlmaWNhdGlvbjo6cmVxdWVzdFBlcm1pc3Npb24oY29udGV4dCwgY2Fs
bGJhY2sucmVsZWFzZSgpKTsKKyAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAppbmRleCA3NDk2
NGRjNzdhZGFkMDgxY2IwZWYxOWNhNDRhZDRhNDhlMDg3ZTcyLi45OGEyMmMxY2JiZmU3NDAwYTAz
NjE5ZjU1YTgwNDNhNmU3NDY5ZmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb24uY3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykg
MjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAy
MDA5LCAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAwOSwgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zNSwxMSArMzUsMTQgQEAKIAogI2lu
Y2x1ZGUgIk5vdGlmaWNhdGlvbi5oIgogCisjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFcnJvckV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnRO
YW1lcy5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNlbnRlci5oIgogI2luY2x1ZGUgIk5vdGlm
aWNhdGlvbkNvbnRlbnRzLmgiCisjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ29udHJvbGxlci5oIgor
I2luY2x1ZGUgIk5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIgogI2luY2x1ZGUgIk5v
dGlmaWNhdGlvblByZXNlbnRlci5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2lu
Y2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKQEAgLTIwMSw2ICsyMDQsMzggQEAgdm9pZCBOb3Rp
ZmljYXRpb246OnN0b3BMb2FkaW5nKCkKICAgICBtX2xvYWRlci0+Y2FuY2VsKCk7CiB9CiAKK2Nv
bnN0IFN0cmluZyYgTm90aWZpY2F0aW9uOjpwZXJtaXNzaW9uTGV2ZWwoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogY29udGV4dCkKK3sKKyAgICBBU1NFUlQoY29udGV4dC0+aXNEb2N1bWVudCgpKTsK
KyAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KS0+cGFnZSgpKTsKKyAg
ICByZXR1cm4gc3RyaW5nRm9yUGVybWlzc2lvbihOb3RpZmljYXRpb25Db250cm9sbGVyOjpmcm9t
KHN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCktPnBhZ2UoKSktPmNsaWVudCgpLT5jaGVj
a1Blcm1pc3Npb24oY29udGV4dCkpOworfQorCitjb25zdCBTdHJpbmcmIE5vdGlmaWNhdGlvbjo6
c3RyaW5nRm9yUGVybWlzc2lvbihOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb24gcGVy
bWlzc2lvbikKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgYWxsb3dl
ZFBlcm1pc3Npb24sICgiZ3JhbnRlZCIpKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0
IFN0cmluZywgZGVuaWVkUGVybWlzc2lvbiwgKCJkZW5pZWQiKSk7CisgICAgREVGSU5FX1NUQVRJ
Q19MT0NBTChjb25zdCBTdHJpbmcsIGRlZmF1bHRQZXJtaXNzaW9uLCAoImRlZmF1bHQiKSk7Cisg
ICAgc3dpdGNoIChwZXJtaXNzaW9uKSB7CisgICAgY2FzZSBOb3RpZmljYXRpb25QcmVzZW50ZXI6
OlBlcm1pc3Npb25BbGxvd2VkOgorICAgICAgICByZXR1cm4gYWxsb3dlZFBlcm1pc3Npb247Cisg
ICAgY2FzZSBOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb25EZW5pZWQ6CisgICAgICAg
IHJldHVybiBkZW5pZWRQZXJtaXNzaW9uOworICAgIGNhc2UgTm90aWZpY2F0aW9uUHJlc2VudGVy
OjpQZXJtaXNzaW9uTm90QWxsb3dlZDoKKyAgICAgICAgcmV0dXJuIGRlZmF1bHRQZXJtaXNzaW9u
OworICAgIH0KKyAgICAKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gZGVu
aWVkUGVybWlzc2lvbjsKK30KKwordm9pZCBOb3RpZmljYXRpb246OnJlcXVlc3RQZXJtaXNzaW9u
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9u
UGVybWlzc2lvbkNhbGxiYWNrPiBjYWxsYmFjaykKK3sKKyAgICBBU1NFUlQoY29udGV4dC0+aXNE
b2N1bWVudCgpKTsKKyAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KS0+
cGFnZSgpKTsKKyAgICBOb3RpZmljYXRpb25Db250cm9sbGVyOjpmcm9tKHN0YXRpY19jYXN0PERv
Y3VtZW50Kj4oY29udGV4dCktPnBhZ2UoKSktPmNsaWVudCgpLT5yZXF1ZXN0UGVybWlzc2lvbihj
b250ZXh0LCBjYWxsYmFjayk7Cit9CisKIHZvaWQgTm90aWZpY2F0aW9uOjpkaWRSZWNlaXZlUmVz
cG9uc2UodW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7
CiAgICAgaW50IHN0YXR1cyA9IHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oIGIvU291cmNlL1dl
YkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAppbmRleCBkZDBkNmVkODRhZDMwNzlk
ODhiYTAyYTAyYmNhY2M2YTY0NWNiMzlkLi5lMGQyMDM1OGFhNjkwNTIwNTRiMzJjODkwMDI4NzM4
ODczMGVlMTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
LmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDExLCAy
MDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJFdmVudFRhcmdldC5o
IgogI2luY2x1ZGUgIktVUkwuaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25Db250ZW50cy5oIgor
I2luY2x1ZGUgIk5vdGlmaWNhdGlvblByZXNlbnRlci5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZl
ci5oIgogI2luY2x1ZGUgIlRleHREaXJlY3Rpb24uaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9h
ZGVyQ2xpZW50LmgiCkBAIC01MCw2ICs1MSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIE5vdGlmaWNhdGlvbkNlbnRlcjsKK2NsYXNzIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxs
YmFjazsKIGNsYXNzIFJlc291cmNlRXJyb3I7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xh
c3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKQEAgLTExOSw2ICsxMjEsMTAgQEAgcHVibGljOgog
ICAgIC8vIERlcHJlY2F0ZWQuIFVzZSBmdW5jdGlvbnMgZnJvbSBOb3RpZmljYXRpb25DZW50ZXIu
CiAgICAgdm9pZCBkZXRhY2hQcmVzZW50ZXIoKSB7IH0KIAorICAgIHN0YXRpYyBjb25zdCBTdHJp
bmcmIHBlcm1pc3Npb25MZXZlbChTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CisgICAgc3RhdGlj
IGNvbnN0IFN0cmluZyYgc3RyaW5nRm9yUGVybWlzc2lvbihOb3RpZmljYXRpb25QcmVzZW50ZXI6
OlBlcm1pc3Npb24pOworICAgIHN0YXRpYyB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFj
az4pOworCiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25n
LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVE
YXRhKGNvbnN0IGNoYXIqIGRhdGEsIGludCBkYXRhTGVuZ3RoKTsKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkRmluaXNoTG9hZGluZyh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGRvdWJsZSBmaW5pc2hU
aW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbApp
bmRleCBkOGNiM2NjMzlhMjVlNzE3NDNlOWY3NWU5ZThjZjRjMTgwZTIyMTY4Li40NTgxNmUxODQz
ZDBjNDJjYzRlODYzNjBkYWIxZjVkNGI4ZWE2NzE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHly
aWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJp
Z2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zNCwxMiArMzQsMTQgQEAgbW9kdWxlIHRo
cmVhZHMgewogICAgIGludGVyZmFjZSBbCiAgICAgICAgIENvbmRpdGlvbmFsPU5PVElGSUNBVElP
TlMsCiAgICAgICAgIEFjdGl2ZURPTU9iamVjdCwKLSAgICAgICAgRXZlbnRUYXJnZXQsCi0gICAg
ICAgIE9taXRDb25zdHJ1Y3RvcgorICAgICAgICBFdmVudFRhcmdldAogICAgIF0gTm90aWZpY2F0
aW9uIHsKICAgICAgICAgdm9pZCBzaG93KCk7CiAgICAgICAgIHZvaWQgY2FuY2VsKCk7CiAKKyAg
ICAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHN0YXRpYyBET01TdHJpbmcg
cGVybWlzc2lvbkxldmVsKCk7CisgICAgICAgIFtDdXN0b21dIHN0YXRpYyB2b2lkIHJlcXVlc3RQ
ZXJtaXNzaW9uKGluIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjayBjYWxsYmFjayk7CisK
ICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25zaG93OwogICAgICAgICAvLyBGSVhN
RTogVGhlIGxhdGVzdCBXZWIgTm90aWZpY2F0aW9ucyBzdGFuZGFyZCB1c2VzIHRoZSBvbnNob3cg
ZXZlbnQgbGlzdGVuZXIuCiAgICAgICAgIC8vIFRoZSBvbmRpc3BsYXkgZXZlbnQgbGlzdGVuZXIg
c2hvdWxkIGJlIHJlbW92ZWQgd2hlbiBpbXBsZW1lbnRhdGlvbnMgY2hhbmdlIHRoZSBldmVudCBs
aXN0ZW5lciB0byBvbnNob3cuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbkNlbnRlci5jcHAKaW5kZXggNzExNDZhZjhkYTM3MjNkMTQ3MTVlZmNiNWQx
YWJlYWM0OGUzNzE1OS4uNDY3NDQzNGFlMDFhMDczOGRmMjRjMzQ1ODE0NjA0N2FhODEwNzQxNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2Vu
dGVyLmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCkBAIC01MiwxOSArNTMsMjMgQEAgTm90aWZpY2F0aW9uQ2VudGVyOjpOb3RpZmljYXRpb25D
ZW50ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgTm90aWZpY2EKICAgICA6IEFj
dGl2ZURPTU9iamVjdChjb250ZXh0LCB0aGlzKQogICAgICwgbV9ub3RpZmljYXRpb25QcmVzZW50
ZXIocHJlc2VudGVyKSB7fQogCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogaW50
IE5vdGlmaWNhdGlvbkNlbnRlcjo6Y2hlY2tQZXJtaXNzaW9uKCkKIHsKICAgICBpZiAoIXByZXNl
bnRlcigpIHx8ICFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCiAgICAgICAgIHJldHVybiBOb3Rp
ZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb25EZW5pZWQ7CiAgICAgcmV0dXJuIG1fbm90aWZp
Y2F0aW9uUHJlc2VudGVyLT5jaGVja1Blcm1pc3Npb24oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
KTsKIH0KKyNlbmRpZgogCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogdm9pZCBO
b3RpZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9uKFBhc3NSZWZQdHI8Vm9pZENhbGxi
YWNrPiBjYWxsYmFjaykKIHsKICAgICBpZiAoIXByZXNlbnRlcigpIHx8ICFzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkpCiAgICAgICAgIHJldHVybjsKICAgICBtX25vdGlmaWNhdGlvblByZXNlbnRl
ci0+cmVxdWVzdFBlcm1pc3Npb24oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBjYWxsYmFjayk7
CiB9CisjZW5kaWYKIAogdm9pZCBOb3RpZmljYXRpb25DZW50ZXI6OmRpc2Nvbm5lY3RGcmFtZSgp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bkNlbnRlci5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50
ZXIuaAppbmRleCA0MDJjY2JhOTM4YjJmZWUwODFmOGE2YThkN2JlY2VmZjc4Y2MyNjkyLi5mNjY4
MzYxMDc5ZDAxYTE3MmJiMzRmNGFjMWE0MDc2MjU2ZjdlOGMyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgKQEAgLTEsNiArMSw2IEBA
CiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTc3LDggKzc3LDEw
IEBAIHB1YmxpYzoKIAogICAgIE5vdGlmaWNhdGlvblByZXNlbnRlciogcHJlc2VudGVyKCkgY29u
c3QgeyByZXR1cm4gbV9ub3RpZmljYXRpb25QcmVzZW50ZXI7IH0KIAorI2lmIEVOQUJMRShMRUdB
Q1lfTk9USUZJQ0FUSU9OUykKICAgICBpbnQgY2hlY2tQZXJtaXNzaW9uKCk7CiAgICAgdm9pZCBy
ZXF1ZXN0UGVybWlzc2lvbihQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pOworI2VuZGlmCiAKICAg
ICB2b2lkIGRpc2Nvbm5lY3RGcmFtZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwKaW5kZXggOGJlMWVjYzc2OWZiYzVhNDM3
Yjc2NGU5NmEwN2U0NzUxNzBhMzU2Ni4uYjk5N2Q5ZjMyMzE4M2IyODdlYzUxYTQ2MTNjYzQwZDZm
MzIzMTViMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25DZW50ZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uQ2VudGVyLmlkbApAQCAtNDEsOCArNDEsMTAgQEAgbW9kdWxlIHRocmVhZHMgewogI2Vu
ZGlmCiAgICAgICAgW1Y4Q3VzdG9tXSBOb3RpZmljYXRpb24gY3JlYXRlTm90aWZpY2F0aW9uKGlu
IERPTVN0cmluZyBpY29uVXJsLCBpbiBET01TdHJpbmcgdGl0bGUsIGluIERPTVN0cmluZyBib2R5
KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAorI2lmIGRlZmluZWQoRU5BQkxFX0xFR0FDWV9OT1RJ
RklDQVRJT05TKSAmJiBFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMKICAgICAgICBpbnQgY2hl
Y2tQZXJtaXNzaW9uKCk7CiAgICAgICAgW0N1c3RvbV0gdm9pZCByZXF1ZXN0UGVybWlzc2lvbihp
biBWb2lkQ2FsbGJhY2sgY2FsbGJhY2spOworI2VuZGlmCiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzQ5NGVmNWUwMzNhOTMwMmIzMGI1ODZlODkzMzkz
N2Y5OTljNDcxMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgKQEAgLTAsMCArMSw0MiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRF
UiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVS
LCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2tfaAorI2RlZmluZSBO
b3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2tfaAorCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7Cisg
ICAgCitjbGFzcyBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgOiBwdWJsaWMgUmVmQ291
bnRlZDxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IHsKK3B1YmxpYzoKKyAgICB2aXJ0
dWFsIH5Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2soKSB7IH0KKyAgICB2aXJ0dWFsIGJv
b2wgaGFuZGxlRXZlbnQoY29uc3QgU3RyaW5nJiBwZXJtaXNzaW9uKSA9IDA7Cit9OworICAgIAor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gTm90aWZpY2F0aW9uUGVybWlzc2lv
bkNhbGxiYWNrX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZjEx
MTYxMmUyNDBjZWNhYTE5ZmI1ZWE3MWFhY2Q3ZDI2MDkzYzIwCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2suaWRsCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSB0aHJlYWRzIHsKKworICAg
IGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPU5PVElGSUNBVElPTlMsCisgICAgICAg
IENhbGxiYWNrCisgICAgXSBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgeworICAgICAg
ICBib29sZWFuIGhhbmRsZUV2ZW50KGluIERPTVN0cmluZyBwZXJtaXNzaW9uKTsKKyAgICB9Owor
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
blByZXNlbnRlci5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Q
cmVzZW50ZXIuaAppbmRleCAxOTM1Mzg0ZGMxZjZjYjkxNzQ4MGE5ZDRjODFiOTZmNDNhNDhiMTli
Li41Nzg1NzY5YjFlZGIzMzlkZTgzZmY3MmJhZTA0MTU4ZmE1NDNlZTFkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblByZXNlbnRlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUHJlc2VudGVyLmgKQEAg
LTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAg
LTM4LDggKzM4LDkgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7Ci1j
bGFzcyBOb3RpZmljYXRpb247CiBjbGFzcyBLVVJMOworY2xhc3MgTm90aWZpY2F0aW9uOworY2xh
c3MgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrOwogY2xhc3MgUGFnZTsKIGNsYXNzIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKQEAgLTcwLDEwICs3MSwxNCBAQCBwdWJsaWM6CiAgICAg
Ly8gSW5mb3JtcyB0aGUgcHJlc2VudGVyIHRoZSBjb250cm9sbGVyIGF0dGFjaGVkIHRvIHRoZSBw
YWdlIGhhcyBiZWVuIGRlc3Ryb3llZC4KICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uQ29u
dHJvbGxlckRlc3Ryb3llZCgpID0gMDsKIAorI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9O
UykKICAgICAvLyBSZXF1ZXN0cyB1c2VyIHBlcm1pc3Npb24gdG8gc2hvdyBkZXNrdG9wIG5vdGlm
aWNhdGlvbnMgZnJvbSBhIHBhcnRpY3VsYXIKICAgICAvLyBzY3JpcHQgY29udGV4dC4gVGhlIGNh
bGxiYWNrIHBhcmFtZXRlciBzaG91bGQgYmUgcnVuIHdoZW4gdGhlIHVzZXIgaGFzCiAgICAgLy8g
bWFkZSBhIGRlY2lzaW9uLgogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+KSA9IDA7CisjZW5k
aWYKKyAgICAvLyBGSVhNRTogT25jZSBhbGwgb2YgdGhlIHBvcnRzIGhhdmUgYWRvcHRlZCB0aGUg
bmV3IEFQSSwgd2Ugc2hvdWxkIHR1cm4gdGhpcyB0byBhIHB1cmUgdmlydHVhbC4KKyAgICB2aXJ0
dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NS
ZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPikgeyB9CiAKICAgICAvLyBDYW5j
ZWwgYWxsIG91dHN0YW5kaW5nIHJlcXVlc3RzIGZvciB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dAogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24oU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCopID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCAxNDA4
NmJmMjBlOWU0OTc2YWE4ODEyM2I4NjBjMDdiNDU5M2E3OWFkLi5mZGNhNjRhZTEyNmYxNjM1ZDk1
OTg4ZGM4YjY3NzRlMGQ3ZTg0NmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC0x
NzIsNiArMTcyLDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAKICNpZiBkZWZpbmVkKEVOQUJMRV9OT1RJ
RklDQVRJT05TKSAmJiBFTkFCTEVfTk9USUZJQ0FUSU9OUwogICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZV0gTm90aWZpY2F0aW9uQ2VudGVyIHdlYmtpdE5vdGlm
aWNhdGlvbnM7CisgICAgICAgIGF0dHJpYnV0ZSBOb3RpZmljYXRpb25Db25zdHJ1Y3RvciBOb3Rp
ZmljYXRpb247CiAjZW5kaWYKIAogI2lmIGRlZmluZWQoRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5U
UykgJiYgRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaAppbmRleCBhNDBj
ZTgxZTVkYzdmNjQ2NjUxZWY4Njk4YTc2MmU1MTE4ZDdiYjkzLi42NGZhZGYyMmFkMDMxNjRmNjA4
N2ZjYTFlYTY0NTM0MDVhZGQ1NWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaApAQCAtMzQsMTEgKzM0LDEz
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE5vdGlmaWNhdGlvbjsKK2NsYXNzIE5v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjazsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ7CiBjbGFzcyBWb2lkQ2FsbGJhY2s7CiB9CiAKIEBjbGFzcyBXZWJOb3RpZmljYXRpb247CitA
Y2xhc3MgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXI7CiBAY2xhc3MgV2ViVmlldzsKIAog
Y2xhc3MgV2ViTm90aWZpY2F0aW9uQ2xpZW50IDogcHVibGljIFdlYkNvcmU6Ok5vdGlmaWNhdGlv
blByZXNlbnRlciB7CkBAIC01MiwxMCArNTQsMTcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZv
aWQgY2xlYXJOb3RpZmljYXRpb25zKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBP
VkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKFdl
YkNvcmU6Ok5vdGlmaWNhdGlvbiopIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBub3RpZmlj
YXRpb25Db250cm9sbGVyRGVzdHJveWVkKCkgT1ZFUlJJREU7CisjaWYgRU5BQkxFKExFR0FDWV9O
T1RJRklDQVRJT05TKQogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3Jl
OjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJh
Y2s+KSBPVkVSUklERTsKKyNlbmRpZgorICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lv
bihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpO
b3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZv
aWQgY2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqKSBPVkVSUklERSB7IH0KICAgICB2aXJ0dWFsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvblBy
ZXNlbnRlcjo6UGVybWlzc2lvbiBjaGVja1Blcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0
aW9uQ29udGV4dCopIE9WRVJSSURFOwogCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisgICAg
dm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
V2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgKik7CisjZW5kaWYKKwogICAgIFdlYlZpZXcg
Km1fd2ViVmlldzsKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBIYXNoTWFwPFJlZlB0
cjxXZWJDb3JlOjpOb3RpZmljYXRpb24+LCBSZXRhaW5QdHI8V2ViTm90aWZpY2F0aW9uPiA+IG1f
bm90aWZpY2F0aW9uTWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lm1tCmluZGV4IDJmN2NkNTQxMTc3MTM3MzNm
YWUwZTFlMmMyZjRhOTkxMWQ2ZmJjNGYuLmZkY2QyOGU3Y2EwZjU2NjRlNmNiYzlhOTA2YmE5OWVl
YjNiZjRhMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dl
Yk5vdGlmaWNhdGlvbkNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQubW0KQEAgLTMzLDE4ICszMywzMSBAQAogI2ltcG9y
dCAiV2ViVUlEZWxlZ2F0ZVByaXZhdGUuaCIKICNpbXBvcnQgIldlYlZpZXdJbnRlcm5hbC5oIgog
I2ltcG9ydCA8V2ViQ29yZS9CbG9ja0V4Y2VwdGlvbnMuaD4KKyNpbXBvcnQgPFdlYkNvcmUvTm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oPgogI2VuZGlmCiAKKyNp
ZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaW1wb3J0IDxXZWJDb3JlL1ZvaWRDYWxs
YmFjay5oPgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiAjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpCisKIEBpbnRlcmZhY2UgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVu
ZXIgOiBOU09iamVjdCA8V2ViQWxsb3dEZW55UG9saWN5TGlzdGVuZXI+CiB7Ci0gICAgUmVmUHRy
PFZvaWRDYWxsYmFjaz4gX2NhbGxiYWNrOworICAgIFJlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2s+IF9jYWxsYmFjazsKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CisgICAgUmVmUHRyPFZvaWRDYWxsYmFjaz4gX3ZvaWRDYWxsYmFjazsKKyNlbmRpZgogfQotLSAo
aWQpaW5pdFdpdGhDYWxsYmFjazooUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+KWNhbGxiYWNrOwor
LSAoaWQpaW5pdFdpdGhDYWxsYmFjazooUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2s+KWNhbGxiYWNrOworI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKy0g
KGlkKWluaXRXaXRoVm9pZENhbGxiYWNrOihQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pY2FsbGJh
Y2s7CisjZW5kaWYKKwogQGVuZAogI2VuZGlmCiAKQEAgLTE0NywyOSArMTYwLDQ2IEBAIHZvaWQg
V2ViTm90aWZpY2F0aW9uQ2xpZW50Ojpub3RpZmljYXRpb25Db250cm9sbGVyRGVzdHJveWVkKCkK
ICAgICBkZWxldGUgdGhpczsKIH0KIAorCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05T
KQogdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFj
aykKIHsKKyAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CisgICAgV2ViTm90aWZpY2F0
aW9uUG9saWN5TGlzdGVuZXIqIGxpc3RlbmVyID0gW1tXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0
ZW5lciBhbGxvY10gaW5pdFdpdGhWb2lkQ2FsbGJhY2s6Y2FsbGJhY2tdOworICAgIHJlcXVlc3RQ
ZXJtaXNzaW9uKGNvbnRleHQsIGxpc3RlbmVyKTsKKyAgICBbbGlzdGVuZXIgcmVsZWFzZV07Cisg
ICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKK30KKyNlbmRpZgorCit2b2lkIFdlYk5vdGlm
aWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
Y29udGV4dCwgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNhbGxi
YWNrKQorewogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIEJFR0lOX0JMT0NLX09CSkNf
RVhDRVBUSU9OUzsKLSAgICAKKyAgICBXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciAqbGlz
dGVuZXIgPSBbW1dlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGFsbG9jXSBpbml0V2l0aENh
bGxiYWNrOmNhbGxiYWNrXTsKKyAgICByZXF1ZXN0UGVybWlzc2lvbihjb250ZXh0LCBsaXN0ZW5l
cik7CisgICAgW2xpc3RlbmVyIHJlbGVhc2VdOworICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElP
TlM7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShjb250ZXh0KTsKKyAgICBVTlVTRURfUEFSQU0o
Y2FsbGJhY2spOworI2VuZGlmCit9CisKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKK3ZvaWQg
V2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciAq
bGlzdGVuZXIpCit7CiAgICAgU0VMIHNlbGVjdG9yID0gQHNlbGVjdG9yKHdlYlZpZXc6ZGVjaWRl
UG9saWN5Rm9yTm90aWZpY2F0aW9uUmVxdWVzdEZyb21PcmlnaW46bGlzdGVuZXI6KTsKICAgICBp
ZiAoIVtbbV93ZWJWaWV3IFVJRGVsZWdhdGVdIHJlc3BvbmRzVG9TZWxlY3RvcjpzZWxlY3Rvcl0p
CiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBXZWJTZWN1cml0eU9yaWdpbiAqd2ViT3JpZ2lu
ID0gW1tXZWJTZWN1cml0eU9yaWdpbiBhbGxvY10gX2luaXRXaXRoV2ViQ29yZVNlY3VyaXR5T3Jp
Z2luOmNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCldOwotICAgIFdlYk5vdGlmaWNhdGlvblBvbGlj
eUxpc3RlbmVyKiBsaXN0ZW5lciA9IFtbV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgYWxs
b2NdIGluaXRXaXRoQ2FsbGJhY2s6Y2FsbGJhY2tdOwogICAgIAogICAgIENhbGxVSURlbGVnYXRl
KG1fd2ViVmlldywgc2VsZWN0b3IsIHdlYk9yaWdpbiwgbGlzdGVuZXIpOwogICAgIAogICAgIFt3
ZWJPcmlnaW4gcmVsZWFzZV07Ci0gICAgW2xpc3RlbmVyIHJlbGVhc2VdOwotICAgIAotICAgIEVO
RF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShjb250ZXh0
KTsKLSAgICBVTlVTRURfUEFSQU0oY2FsbGJhY2spOwotI2VuZGlmCiB9CisjZW5kaWYKIAogTm90
aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2hl
Y2tQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiB7CkBAIC0xOTks
NyArMjI5LDggQEAgTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIFdlYk5vdGlmaWNh
dGlvbkNsaWVudDo6Y2hlY2tQZXJtaXNzaW9uKFNjcmlwdEUKIAogI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKQogQGltcGxlbWVudGF0aW9uIFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyCi0t
IChpZClpbml0V2l0aENhbGxiYWNrOihQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pY2FsbGJhY2sK
KworLSAoaWQpaW5pdFdpdGhDYWxsYmFjazooUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2s+KWNhbGxiYWNrCiB7CiAgICAgaWYgKCEoc2VsZiA9IFtzdXBlciBpbml0XSkp
CiAgICAgICAgIHJldHVybiBuaWw7CkBAIC0yMDksMTQgKzI0MCw0MCBAQCBOb3RpZmljYXRpb25Q
cmVzZW50ZXI6OlBlcm1pc3Npb24gV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpjaGVja1Blcm1pc3Np
b24oU2NyaXB0RQogICAgIHJldHVybiBzZWxmOwogfQogCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQorLSAoaWQpaW5pdFdpdGhWb2lkQ2FsbGJhY2s6KFBhc3NSZWZQdHI8Vm9pZENh
bGxiYWNrPiljYWxsYmFjaworeworICAgIGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdF0pKQorICAg
ICAgICByZXR1cm4gbmlsOworCisgICAgQVNTRVJUKGNhbGxiYWNrKTsKKyAgICBfdm9pZENhbGxi
YWNrID0gY2FsbGJhY2s7CisgICAgcmV0dXJuIHNlbGY7Cit9CisjZW5kaWYKKwogLSAodm9pZClh
bGxvdwogewotICAgIF9jYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyNpZiBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCisgICAgaWYgKF92b2lkQ2FsbGJhY2spIHsKKyAgICAgICAgX3ZvaWRD
YWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgor
CisgICAgX2NhbGxiYWNrLT5oYW5kbGVFdmVudChOb3RpZmljYXRpb246OnN0cmluZ0ZvclBlcm1p
c3Npb24oTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uQWxsb3dlZCkpOwogfQogCiAt
ICh2b2lkKWRlbnkKIHsKLSAgICBfY2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7CisjaWYgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQorICAgIGlmIChfdm9pZENhbGxiYWNrKSB7CisgICAgICAg
IF92b2lkQ2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9Cisj
ZW5kaWYKKworICAgIF9jYWxsYmFjay0+aGFuZGxlRXZlbnQoTm90aWZpY2F0aW9uOjpzdHJpbmdG
b3JQZXJtaXNzaW9uKE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbkRlbmllZCkpOwog
fQogCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVx
dWVzdE1hbmFnZXIuY3BwCmluZGV4IDFkZGRhN2M5ODE2MGQ1NDliOTkyM2FlMjdlMTRkZTg3ZDg5
NTdiMjIuLmZiNGZjMDdkOTI1OWExNTg0Y2Q5NjBmOTAwZGNhYTEwZDY2Yzk3MmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3Bw
CkBAIC01OSwxMSArNTksMTIgQEAgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
OjpOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoV2ViUGEKIHsKIH0KIAotdm9p
ZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OnN0YXJ0UmVxdWVzdChTZWN1
cml0eU9yaWdpbiogb3JpZ2luLCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4gY2FsbGJhY2spCit2
b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6c3RhcnRSZXF1ZXN0KFNl
Y3VyaXR5T3JpZ2luKiBvcmlnaW4sIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNh
bGxiYWNrPiBjYWxsYmFjaykKIHsKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKLSAgICBpZiAo
cGVybWlzc2lvbkxldmVsKG9yaWdpbikgIT0gTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNz
aW9uTm90QWxsb3dlZCkgewotICAgICAgICBjYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyAgICBO
b3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb24gcGVybWlzc2lvbiA9IHBlcm1pc3Npb25M
ZXZlbChvcmlnaW4pOworICAgIGlmIChwZXJtaXNzaW9uICE9IE5vdGlmaWNhdGlvblByZXNlbnRl
cjo6UGVybWlzc2lvbk5vdEFsbG93ZWQpIHsKKyAgICAgICAgY2FsbGJhY2stPmhhbmRsZUV2ZW50
KE5vdGlmaWNhdGlvbjo6c3RyaW5nRm9yUGVybWlzc2lvbihwZXJtaXNzaW9uKSk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKQEAgLTc4LDYgKzc5LDIzIEBAIHZvaWQgTm90aWZpY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpzdGFydFJlcXVlc3QoU2VjdXJpdHlPcmlnaW4qIG9yaWdp
biwKICNlbmRpZgogfQogCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQordm9pZCBO
b3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OnN0YXJ0UmVxdWVzdChTZWN1cml0
eU9yaWdpbiogb3JpZ2luLCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4gY2FsbGJhY2spCit7Cisg
ICAgTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIHBlcm1pc3Npb24gPSBwZXJtaXNz
aW9uTGV2ZWwob3JpZ2luKTsKKyAgICBpZiAocGVybWlzc2lvbiAhPSBOb3RpZmljYXRpb25QcmVz
ZW50ZXI6OlBlcm1pc3Npb25Ob3RBbGxvd2VkKSB7CisgICAgICAgIGNhbGxiYWNrLT5oYW5kbGVF
dmVudCgpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIAorICAgIHVpbnQ2NF90IHJlcXVl
c3RJRCA9IGdlbmVyYXRlUmVxdWVzdElEKCk7CisgICAgbV9vcmlnaW5Ub0lETWFwLnNldChvcmln
aW4sIHJlcXVlc3RJRCk7CisgICAgbV9pZFRvT3JpZ2luTWFwLnNldChyZXF1ZXN0SUQsIG9yaWdp
bik7CisgICAgbV9pZFRvVm9pZENhbGxiYWNrTWFwLnNldChyZXF1ZXN0SUQsIGNhbGxiYWNrKTsK
KyAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UmVxdWVzdE5vdGlmaWNh
dGlvblBlcm1pc3Npb24ocmVxdWVzdElELCBvcmlnaW4tPnRvU3RyaW5nKCkpKTsKK30KKyNlbmRp
ZgorCiB2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6Y2FuY2VsUmVx
dWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2luKQogewogI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQpAQCAtMTExLDExICsxMjksMTkgQEAgdm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXI6OmRpZFJlY2VpdmVOb3RpZmljYXRpb25QZXJtaXNzaW9uRGVjaXMKICAgICBpZiAo
IWlzUmVxdWVzdElEVmFsaWQocmVxdWVzdElEKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgUmVm
UHRyPFZvaWRDYWxsYmFjaz4gY2FsbGJhY2sgPSBtX2lkVG9DYWxsYmFja01hcC50YWtlKHJlcXVl
c3RJRCk7CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorICAgIFJlZlB0cjxWb2lk
Q2FsbGJhY2s+IHZvaWRDYWxsYmFjayA9IG1faWRUb1ZvaWRDYWxsYmFja01hcC50YWtlKHJlcXVl
c3RJRCk7CisgICAgaWYgKHZvaWRDYWxsYmFjaykgeworICAgICAgICB2b2lkQ2FsbGJhY2stPmhh
bmRsZUV2ZW50KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYKKworICAgIFJlZlB0
cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNhbGxiYWNrID0gbV9pZFRvQ2FsbGJh
Y2tNYXAudGFrZShyZXF1ZXN0SUQpOwogICAgIGlmICghY2FsbGJhY2spCiAgICAgICAgIHJldHVy
bjsKICAgICAKLSAgICBjYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyAgICBjYWxsYmFjay0+aGFu
ZGxlRXZlbnQoTm90aWZpY2F0aW9uOjpzdHJpbmdGb3JQZXJtaXNzaW9uKGFsbG93ZWQgPyBOb3Rp
ZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb25BbGxvd2VkIDogTm90aWZpY2F0aW9uUHJlc2Vu
dGVyOjpQZXJtaXNzaW9uRGVuaWVkKSk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShyZXF1ZXN0
SUQpOwogICAgIFVOVVNFRF9QQVJBTShhbGxvd2VkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaAppbmRleCA1NTczYzZhMTExOWVmMmIw
NmU3ZWVjMmVjOTFjM2IzYWQ3ZWNmNzVkLi5iYTM5ZmJmNzJhZmUwMjBhNWJiZmMzZDA1MTk1YjM3
YjI5ZmJiMzY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmgKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlci5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIE5vdGlmaWNhdGlvblBl
cm1pc3Npb25SZXF1ZXN0TWFuYWdlcl9oCiAjZGVmaW5lIE5vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlcl9oCiAKKyNpbmNsdWRlIDxXZWJDb3JlL05vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjay5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTm90aWZpY2F0aW9uUHJlc2VudGVyLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9Wb2lkQ2FsbGJhY2suaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgpAQCAtNDYsNyArNDcsMTAgQEAgY2xhc3MgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyIDogcHVibGljIFJlZkNvdW50ZWQ8Tm90aWZpY2F0aW9uUGVybWkKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXI+IGNyZWF0ZShXZWJQYWdlKik7CiAgICAgCisgICAgdm9pZCBzdGFydFJlcXVlc3QoV2ViQ29y
ZTo6U2VjdXJpdHlPcmlnaW4qLCBQYXNzUmVmUHRyPFdlYkNvcmU6Ok5vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjaz4pOworI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICB2
b2lkIHN0YXJ0UmVxdWVzdChXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiosIFBhc3NSZWZQdHI8V2Vi
Q29yZTo6Vm9pZENhbGxiYWNrPik7CisjZW5kaWYKICAgICB2b2lkIGNhbmNlbFJlcXVlc3QoV2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW4qKTsKICAgICAKICAgICAvLyBTeW5jaHJvbm91cyBjYWxsIHRv
IHJldHJpZXZlIHBlcm1pc3Npb24gbGV2ZWwgZm9yIGdpdmVuIHNlY3VyaXR5IG9yaWdpbgpAQCAt
NTcsNyArNjEsMTAgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBOb3RpZmljYXRpb25QZXJtaXNz
aW9uUmVxdWVzdE1hbmFnZXIoV2ViUGFnZSopOwogICAgIAotICAgIEhhc2hNYXA8dWludDY0X3Qs
IFJlZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJhY2s+ID4gbV9pZFRvQ2FsbGJhY2tNYXA7CisgICAg
SGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYkNvcmU6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjaz4gPiBtX2lkVG9DYWxsYmFja01hcDsKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNB
VElPTlMpCisgICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFj
az4gPiBtX2lkVG9Wb2lkQ2FsbGJhY2tNYXA7CisjZW5kaWYKICAgICBIYXNoTWFwPFJlZlB0cjxX
ZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4sIHVpbnQ2NF90PiBtX29yaWdpblRvSURNYXA7CiAgICAg
SGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPiA+IG1faWRU
b09yaWdpbk1hcDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuY3BwCmluZGV4IDkw
ZWIxNjFmMjZjZGIzMzAzNjExYjRlYThlNjA1OGU2OWViYzU0MDMuLmRjNWJiN2EyM2Y4NmUzNDY1
N2NiYWUyZDU0NDIxNTIzMTU0ZDE5YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVu
dC5jcHAKQEAgLTc3LDYgKzc3LDExIEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1
ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQCiAgICAgbV9w
YWdlLT5ub3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKS0+c3RhcnRSZXF1ZXN0
KGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCksIGNhbGxiYWNrKTsKIH0KIAordm9pZCBXZWJOb3Rp
ZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBjYWxs
YmFjaykKK3sKKyAgICBtX3BhZ2UtPm5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
cigpLT5zdGFydFJlcXVlc3QoY29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKSwgY2FsbGJhY2spOwor
fQorCiB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNz
aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiB7CiAgICAgbV9wYWdlLT5ub3Rp
ZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKS0+Y2FuY2VsUmVxdWVzdChjb250ZXh0
LT5zZWN1cml0eU9yaWdpbigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCmluZGV4
IDE0N2E4OGFjMTBkZDg5YzU4YzgzNjMwZTY1YWY0Yzc0OGYwZTI1ODEuLjE0OTRmOWQyNzg1NTgx
MTZmMThiYzk5ZTNiZjZiMzE2YzNiNDA1NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGll
bnQuaApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTm90aWZpY2F0aW9uUHJl
c2VudGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIE5vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjazsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiBjbGFzcyBWb2lk
Q2FsbGJhY2s7CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkBAIC01MSw5ICs1MiwxMCBAQCBwcml2
YXRlOgogICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25PYmplY3REZXN0cm95ZWQoV2ViQ29y
ZTo6Tm90aWZpY2F0aW9uKikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmaWNhdGlv
bkNvbnRyb2xsZXJEZXN0cm95ZWQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVz
dFBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8
V2ViQ29yZTo6Vm9pZENhbGxiYWNrPikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHJlcXVl
c3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRy
PFdlYkNvcmU6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4pIE9WRVJSSURFOwogICAg
IHZpcnR1YWwgdm9pZCBjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0
RXhlY3V0aW9uQ29udGV4dCopIE9WRVJSSURFOwogICAgIHZpcnR1YWwgTm90aWZpY2F0aW9uUHJl
c2VudGVyOjpQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRp
b25Db250ZXh0KikgT1ZFUlJJREU7Ci0gICAgCisKICAgICBXZWJQYWdlKiBtX3BhZ2U7CiB9Owog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131184</attachid>
            <date>2012-03-10 12:44:05 -0800</date>
            <delta_ts>2012-03-10 13:11:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80485-20120310124519.patch</filename>
            <type>text/plain</type>
            <size>61626</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMzcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRlM2FhZWU2ODE2NmEx
ODBlMjljOGY4OTk4NzU3M2I5Y2UyNjg4MS4uYjkxMmRhN2JlMTUwOGY5Y2VhODQzZGI4OWNlN2I5
MzNlOTZmM2QwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEyLTAzLTA5ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVu
Y3Rpb25zIHRvIE5vdGlmaWNhdGlvbiBmcm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzEwOTY1NDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsOiBCZWNhdXNl
IHRoZSBmdW5jdGlvbnMgYXJlIG9uIHRoZSBOb3RpZmljYXRpb24gb2JqZWN0IGl0c2VsZiwgd2Ug
bmVlZCB0bworICAgICAgICBkZWNsYXJlIGl0IGEgY29uc3RydWN0b3Igc28gdGhhdCBpdCBpcyBh
Y2Nlc3NpYmxlIGZyb20gRE9NV2luZG93LgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDog
QWRkIE5vdGlmaWNhdGlvbiBjb25zdHJ1Y3Rvci4KKworICAgICAgICAqIG5vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6cGVybWlz
c2lvbkxldmVsKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6c3RyaW5nRm9yUGVy
bWlzc2lvbik6IERlY2xhcmUgdGhyZWUgc3RhdGljIGxvY2FscyBmb3IgZWFjaCBvZiB0aGUgdmFs
dWVzLCBhbmQgcmV0dXJuCisgICAgICAgIGJhc2VkIG9uIHRoZSBwZXJtaXNzaW9uIGVudW0uCisg
ICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb246OnJlcXVlc3RQZXJtaXNzaW9uKTogRm9yd2Fy
ZCByZXF1ZXN0IHRvIGNsaWVudC4KKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5oOgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2suaDogQWRkZWQuCisgICAgICAgIChOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sp
OgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrOjp+Tm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrKToKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGw6IEFkZGVkLgorCisgICAgICAgICogbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwOiBXcmFwIHBlcm1pc3Npb24gZnVuY3Rp
b25zIGluIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5oOiBXcmFwIHBlcm1pc3Npb24gZnVuY3Rpb25zIGluIEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbkNlbnRlci5pZGw6IFdyYXAgcGVybWlzc2lvbiBmdW5jdGlvbnMgaW4gRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQorICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
UHJlc2VudGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXI6OnJl
cXVlc3RQZXJtaXNzaW9uKTogQWRkIG5ldyByZXF1ZXN0UGVybWlzc2lvbigpIGZ1bmN0aW9uIGZv
ciBuZXcKKyAgICAgICAgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrIHR5cGUuIE1ha2Ug
aXQgYSBzdHViIGltcGxlbWVudGF0aW9uIHVudGlsIGFsbCBwb3J0cyBoYXZlIGFkb3B0ZWQuCisK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcDog
RW5jYXBzdWxhdGUgd2l0aCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpIHNpbmNlCisgICAg
ICAgIHRoZSByZXF1ZXN0UGVybWlzc2lvbigpIGZ1bmN0aW9uIGlzIG1vdmluZyB0byBOb3RpZmlj
YXRpb24uCisgICAgICAgICogYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3Rv
bS5jcHA6IEN1c3RvbSBpbXBsZW1lbnRhdGlvbiBvZiByZXF1ZXN0UGVybWlzc2lvbigpLgorICAg
ICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHA6IEN1c3Rv
bSBpbXBsZW1lbnRhdGlvbiBvZiByZXF1ZXN0UGVybWlzc2lvbigpLgorCisgICAgICAgICogQ01h
a2VMaXN0cy50eHQ6IEFkZCBuZXcgY2FsbGJhY2sgaWRsLgorICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLm1ha2U6IEFkZCBuZXcgY2FsbGJhY2sgaWRsLgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxp
c3QuYW06IEFkZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgZmlsZXMuCisgICAgICAg
ICogVGFyZ2V0LnByaTogSW5jbHVkZSBKU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAsIFY4Tm90aWZp
Y2F0aW9uQ3VzdG9tLmNwcAorICAgICAgICAqIFVzZUpTQy5jbWFrZTogSW5jbHVkZSBKU05vdGlm
aWNhdGlvbkN1c3RvbS5jcHAKKyAgICAgICAgKiBVc2VWOC5jbWFrZTogSW5jbHVkZSBWOE5vdGlm
aWNhdGlvbkN1c3RvbS5jcHAKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IEluY2x1ZGUgSlNOb3Rp
ZmljYXRpb25DdXN0b20uY3BwLCBWOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAsIEpTTm90aWZpY2F0
aW9uUGVybWlzc2lvbkNhbGxiYWNrLntoLGNwcH0KKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvajogSW5jbHVkZSBKU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAsIEpTTm90aWZp
Y2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLntoLGNwcH0KKyAgICAgICAgKiBXZWJDb3JlLmV4cC5p
bjogRXhwb3J0IHN0cmluZ0ZvclBlcm1pc3Npb24oKS4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6IEFkZCBjYWxsYmFjayBpZGwsIGgsIGFuZCBjcHAgZmlsZXMu
CisKIDIwMTItMDMtMDkgIFJvYmVydCBLcm9lZ2VyICA8cmprcm9lZ2VAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIEhhbmRsZSBtb3JlIEdlc3R1cmUqIGV2ZW50cyBieSBwZXJmb3JtaW5nIHNjcm9s
bHMgb24gdGhlIGNvcnJlY3QgdGFyZ2V0IFNjcm9sbGFibGVBcmVhIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmlu
ZGV4IGFiNzM3MWUyMTQ2MmFmNDgwMzRhYTgyZjgzZTVkYjYzNzE5ZjVlNGQuLjMxMjMxNDNjMTE2
ZWEwYzU4YTM3OTY2ZWEwNGY0ZmQ4YjZkMWJlOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMCBAQAorMjAxMi0wMy0wOSAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKKyAgICAg
ICAgTWlncmF0ZSBwZXJtaXNzaW9uIGZ1bmN0aW9ucyB0byBOb3RpZmljYXRpb24gZnJvbSBOb3Rp
ZmljYXRpb25DZW50ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTgwNDg1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDk2NTQ1OD4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYk5v
dGlmaWNhdGlvbkNsaWVudC5tbTogQWRkIG5ldyBtZW1iZXIgdmFyaWFibGUgdG8gaGFuZGxlIGJv
dGgga2luZHMgb2YgY2FsbGJhY2tzLgorICAgICAgICAoV2ViTm90aWZpY2F0aW9uQ2xpZW50Ojpy
ZXF1ZXN0UGVybWlzc2lvbik6IEFkZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgdmVy
c2lvbiBvZiB0aGUgc2FtZQorICAgICAgICBmdW5jdGlvbi4KKyAgICAgICAgKC1bV2ViTm90aWZp
Y2F0aW9uUG9saWN5TGlzdGVuZXIgaW5pdFdpdGhDYWxsYmFjazpdKToKKyAgICAgICAgKC1bV2Vi
Tm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgaW5pdFdpdGhWb2lkQ2FsbGJhY2s6XSk6CisgICAg
ICAgICgtW1dlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGFsbG93XSk6CisgICAgICAgICgt
W1dlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGRlbnldKToKKwogMjAxMi0wMy0wOSAgRW5y
aWNhIENhc3VjY2kgIDxlbnJpY2FAYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgV2ViTlNVUkxF
eHRyYXMgY29kZSBkb3duIHRvIFdlYkNvcmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTVlYTNjZDRjMWMzMDE0
NTY2YjA2OTc2Yjk0YmVlMDk4YTRiN2ZjOC4uMWI5ZDE3MzJkM2EyYmZiOTc4MTQyYmQ2NmU2ZTQ0
NGQwZTRkYzIzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTAzLTA5ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVu
Y3Rpb25zIHRvIE5vdGlmaWNhdGlvbiBmcm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzEwOTY1NDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBl
cm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6c3RhcnRSZXF1ZXN0KToKKyAgICAgICAgKFdlYktp
dCk6CisgICAgICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
cjo6ZGlkUmVjZWl2ZU5vdGlmaWNhdGlvblBlcm1pc3Npb25EZWNpc2lvbik6CisgICAgICAgICog
V2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlci5oOgorICAgICAgICAoTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVu
dC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBl
cm1pc3Npb24pOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJOb3RpZmljYXRpb25DbGllbnQpOgorCiAyMDEyLTAzLTA5ICBWaWF0Y2hlc2xh
diBPc3RhcGVua28gIDxvc3RhcGVua28udmlhdGNoZXNsYXZAbm9raWEuY29tPgogCiAgICAgICAg
IFtRdF0gW1dLMl0gU2hvdWxkbid0IHVzZSBpdGVtIGZvciBjbGlwcGluZyByZWN0IGNhbGN1bGF0
aW9uIGluIHBhaW50IG5vZGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDJmY2MyNjU1NzMzMjYz
OTVjYTQ0MDI0NDRjZDAwYThlOGNjYWMyMjAuLmM1NDVlNGVkYTZjNmIxMTRkNmYzZDcyNmIyZGQ1
OTM5ODBiOWM3NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xNjMxLDYgKzE2MzEsNyBAQCBJ
RiAoRU5BQkxFX05PVElGSUNBVElPTlMpCiAgICAgTElTVChBUFBFTkQgV2ViQ29yZV9JRExfRklM
RVMKICAgICAgICAgbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCiAgICAgICAgIG5vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbAorICAgICAgICBub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwKICAgICApCiBFTkRJRiAoKQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAyNDYwNjgzM2E1NzZkOGQ3ZmI1ODFjMWIzNjVh
ZjZkNjA4ZDIxYzY1Li40NDNmNmYyZDFiMWU0ZjZkMjBmNjRjMjNhMzBhZjQyNDNjZTM5M2U1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTEsNCArMSw0IEBACi0jIENvcHlyaWdo
dCAoQykgMjAwNiwgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisj
IENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2Vp
bmlnQGdtYWlsLmNvbT4gCiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFjayA8
Y2FtQG1jYy5pZC5hdT4KICMKQEAgLTM1NSw2ICszNTUsNyBAQCBCSU5ESU5HX0lETFMgPSBcCiAg
ICAgJChXZWJDb3JlKS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5pZGwgXAog
ICAgICQoV2ViQ29yZSkvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsIFwKICAgICAkKFdl
YkNvcmUpL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbCBcCisgICAgJChXZWJD
b3JlKS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgXAog
ICAgICQoV2ViQ29yZSkvcGFnZS9BYnN0cmFjdFZpZXcuaWRsIFwKICAgICAkKFdlYkNvcmUpL3Bh
Z2UvQmFySW5mby5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9Db25zb2xlLmlkbCBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5wcmkKaW5kZXggYWY0ZjViNTBiODU3ZjIyZjEwYjRjNTdiM2RhZDhl
MWQyODgzNWFkOC4uZGNjNWNiZjhjYTY0NWFiZTM0NDNlNjk4YjIxY2IzMDkzYWViOTBmNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpAQCAtMzc3LDYgKzM3Nyw3IEBAIElETF9CSU5ESU5H
UyArPSBcCiAgICAgJCRQV0QvbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuaWRs
IFwKICAgICAkJFBXRC9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwgXAogICAgICQkUFdE
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbCBcCisgICAgJCRQV0Qvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsIFwKICAgICAkJFBXRC9w
YWdlL0JhckluZm8uaWRsIFwKICAgICAkJFBXRC9wYWdlL0NvbnNvbGUuaWRsIFwKICAgICAkJFBX
RC9wYWdlL0Nvb3JkaW5hdGVzLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRl
eCA0NTY5NDE5ZGNlY2FlYzk0OTczYTJmODlhMmE5OGFhZjYwMmM2OWY1Li5mMjk5NmE2MDk4MWY4
ZDI2YmIwZTQ4Mzk3NWI4MTVkNzVmNjU2N2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KQEAgLTQyMCw2ICs0MjAsOCBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb3RpZmljYXRpb25DZW50ZXIuaCBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU05vdGlmaWNhdGlvbi5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNOb3RpZmljYXRpb24uaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjay5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
T0VTU3RhbmRhcmREZXJpdmF0aXZlcy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VT
VGV4dHVyZUZsb2F0LmNwcCBcCkBAIC05MDAsNiArOTAyLDcgQEAgZG9tX2JpbmRpbmdfaWRscyAr
PSBcCiAJJChXZWJDb3JlKS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5pZGwg
XAogCSQoV2ViQ29yZSkvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsIFwKIAkkKFdlYkNv
cmUpL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbCBcCisJJChXZWJDb3JlKS9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgXAogCSQoV2Vi
Q29yZSkvcGFnZS9CYXJJbmZvLmlkbCBcCiAJJChXZWJDb3JlKS9wYWdlL0NvbnNvbGUuaWRsIFwK
IAkkKFdlYkNvcmUpL3BhZ2UvQ29vcmRpbmF0ZXMuaWRsIFwKQEAgLTI4MjcsNiArMjgzMCw3IEBA
IHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25Db250cm9sbGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uaCBcCisJU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2suaCBcCiAJU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25QcmVzZW50ZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9u
QmFzZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2Uu
aCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNv
cmUvVGFyZ2V0LnByaQppbmRleCBmOGYyYjVhMGE2YjMxYWJkMzczOTQxYTEwYTY5ZDYxNzBhNTA0
YWZjLi5hY2E1M2M0ZjhhNDIwNDQzNGRhYmQ5Mjk5NmZlY2UyOWJlY2M2NGI5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5w
cmkKQEAgLTIzMyw2ICsyMzMsNyBAQCB2OCB7CiAgICAgICAgIFwKICAgICAgICAgYmluZGluZ3Mv
djgvc3BlY2lhbGl6YXRpb24vVjhCaW5kaW5nU3RhdGUuY3BwXAogICAgICAgICBcCisgICAgICAg
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAgXAogICAgICAgICBi
aW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DZW50ZXJDdXN0b20uY3BwIFwKICAgICAg
ICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q29uc29sZUN1c3RvbS5jcHAgXAogICAgICAgICBiaW5k
aW5ncy92OC9jdXN0b20vVjhTUUxUcmFuc2FjdGlvblN5bmNDdXN0b20uY3BwIFwKQEAgLTM0MSw2
ICszNDIsNyBAQCB2OCB7CiAgICAgICAgIGJpbmRpbmdzL2pzL0pTTm9kZUZpbHRlckN1c3RvbS5j
cHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU05vZGVJdGVyYXRvckN1c3RvbS5jcHAgXAogICAg
ICAgICBiaW5kaW5ncy9qcy9KU05vZGVMaXN0Q3VzdG9tLmNwcCBcCisgICAgICAgIGJpbmRpbmdz
L2pzL0pTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTUGx1
Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU1BvcFN0YXRl
RXZlbnRDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNQcm9jZXNzaW5nSW5zdHJ1
Y3Rpb25DdXN0b20uY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFr
ZSBiL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQppbmRleCAwOTAzOGRkNjg0ODc3ZTFmODIw
MjE5Mjc1ZTc4MmViMTMwODNhMjY2Li43ZTY3ZjMyNzQ2MDQwOGMyNzhmODBlNzg4YzU1N2Y2YjY0
OTc0NDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKKysrIGIvU291
cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCkBAIC0xMDksNiArMTA5LDcgQEAgTElTVChBUFBFTkQg
V2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvanMvSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcAog
ICAgIGJpbmRpbmdzL2pzL0pTTm9kZUl0ZXJhdG9yQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pz
L0pTTm9kZUxpc3RDdXN0b20uY3BwCisgICAgYmluZGluZ3MvanMvSlNOb3RpZmljYXRpb25DdXN0
b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcAogICAg
IGJpbmRpbmdzL2pzL0pTUG9wU3RhdGVFdmVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9K
U1Byb2Nlc3NpbmdJbnN0cnVjdGlvbkN1c3RvbS5jcHAKQEAgLTIyOCw2ICsyMjksNyBAQCBFTkRJ
RiAoKQogSUYgKEVOQUJMRV9OT1RJRklDQVRJT05TKQogICAgIExJU1QoQVBQRU5EIFdlYkNvcmVf
U09VUkNFUwogICAgICAgICBiaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9t
LmNwcAorICAgICAgICBiaW5kaW5ncy9qcy9KU05vdGlmaWNhdGlvbnNDdXN0b20uY3BwCiAgICAg
KQogRU5ESUYgKCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UgYi9T
b3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQppbmRleCBiOGY1ZmQyNjdlYTVhM2ViOTJkODkxOWRh
MTRhZGQ1MzQ2YWY3OGUwLi4wYWQ1ZjkzMzlkM2Y2NDVmMGI2NDkyMTBhNmVlM2Y1MzUzYTUxYTcz
IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Vc2VWOC5jbWFrZQpAQCAtMTM3LDYgKzEzNyw3IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVf
U09VUkNFUwogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZXNDb2xsZWN0aW9uLmNw
cAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vZGVDdXN0b20uY3BwCiAgICAgYmluZGluZ3Mv
djgvY3VzdG9tL1Y4Tm9kZUxpc3RDdXN0b20uY3BwCisgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNh
dGlvbkNlbnRlckN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhQZXJmb3JtYW5j
ZUN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhQb3BTdGF0ZUV2ZW50Q3VzdG9t
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA3Y2FkYmNmMGFmYzA5MzBiYzk2NzlhMTA5MTNm
N2JlZDVlMzNhNmZiLi4wNWRmMGJkY2JjNWQwNTBmYmQwYWFiNjkyMzQxZTRmNzI2OTUxMzQwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMjEyOCw2ICsyMTI4LDcgQEAgX19aTjdXZWJDb3JlMTJO
b3RpZmljYXRpb24xN2Rpc3BhdGNoU2hvd0V2ZW50RXYKIF9fWk43V2ViQ29yZTEyTm90aWZpY2F0
aW9uMThkaXNwYXRjaENsaWNrRXZlbnRFdgogX19aTjdXZWJDb3JlMTJOb3RpZmljYXRpb24xOGRp
c3BhdGNoQ2xvc2VFdmVudEV2CiBfX1pON1dlYkNvcmUxMk5vdGlmaWNhdGlvbjE4ZGlzcGF0Y2hF
cnJvckV2ZW50RXYKK19fWk43V2ViQ29yZTEyTm90aWZpY2F0aW9uMTlzdHJpbmdGb3JQZXJtaXNz
aW9uRU5TXzIxTm90aWZpY2F0aW9uUHJlc2VudGVyMTBQZXJtaXNzaW9uRQogI2VuZGlmCiAKICNp
ZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDA0NzhjZmE5
NDY4N2I1ZDlmMzQyNDcyMjk5OTgxOTNlNGU5MTkyOWUuLjI2MWEwMWRlNzkxZDdhNjZlYzhkODEy
ODE2YWFhMTI3OTc0MDhmMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTEwNTMsNiArMTA1Myw3IEBA
CiAgICAgICAgICAgICAnbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuaWRsJywK
ICAgICAgICAgICAgICdub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwnLAogICAgICAgICAg
ICAgJ25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbCcsCisgICAgICAgICAgICAn
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsJywKICAgICAg
ICAgICAgICdwYWdlL0Fic3RyYWN0Vmlldy5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvQmFySW5m
by5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvQ29uc29sZS5pZGwnLApAQCAtMTc3MCw2ICsxNzcx
LDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU05vZGVGaWx0ZXJDdXN0b20uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU05vZGVJdGVyYXRvckN1c3RvbS5jcHAnLAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTm9kZUxpc3RDdXN0b20uY3BwJywKKyAgICAgICAgICAg
ICdiaW5kaW5ncy9qcy9KU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL2pzL0pTUGVlckNvbm5lY3Rpb25DdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5k
aW5ncy9qcy9KU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuY3BwJywKICAgICAgICAgICAgICdiaW5k
aW5ncy9qcy9KU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwJywKQEAgLTIwNzcsNiArMjA3OSw3IEBA
CiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2Rlc0NvbGxlY3Rpb24u
aCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUN1c3RvbS5jcHAnLAog
ICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vZGVMaXN0Q3VzdG9tLmNwcCcsCisg
ICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcCcs
CiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2VudGVyQ3Vz
dG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4UGVyZm9ybWFuY2VD
dXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhQb3BTdGF0ZUV2
ZW50Q3VzdG9tLmNwcCcsCkBAIC0yNzg0LDYgKzI3ODcsNyBAQAogICAgICAgICAgICAgJ25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udGVudHMuaCcsCiAgICAgICAgICAgICAnbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmNwcCcsCiAgICAgICAgICAgICAnbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmgnLAorICAgICAgICAgICAgJ25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgnLAogICAgICAgICAgICAgJ3BhZ2Uv
QmFySW5mby5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvQmFySW5mby5oJywKICAgICAgICAgICAg
ICdwYWdlL0Nocm9tZS5jcHAnLApAQCAtNzUwMSw2ICs3NTA1LDggQEAKICAgICAgICAgICAgICc8
KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uLmgnLAog
ICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb3Rp
ZmljYXRpb25DZW50ZXIuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uQ2VudGVyLmgnLAorICAgICAgICAgICAgJzwo
UFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2suY3BwJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgnLAogICAgICAg
ICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPRVNTdGFuZGFy
ZERlcml2YXRpdmVzLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCcsCiAgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU09FU1RleHR1cmVGbG9hdC5j
cHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRl
eCAzMDFjMDY2YTliN2M3ODIyNGY5ODgyM2UyMGY2MzE2M2U1OTg0NGZlLi4xZjBkNjViODE3Mjg2
N2VlYzkxZDkxYTNiZjE0ZmYzOWI5YmQ1NmZlIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMTIwOTAsNiArMTIwOTAsNjIgQEAKIAkJCQk+CiAJ
CQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVp
bGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05vdGlmaWNhdGlvblBl
cm1pc3Npb25DYWxsYmFjay5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJ
CQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJ
CT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFt
ZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4K
KwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0i
RGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJ
Lz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJ
CQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZp
bGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9q
ZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2su
aCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iJChDb25m
aWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU09w
ZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24uY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTY3
MjczLDYgKzY3MzI5LDU4IEBACiAJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJPC9GaWxl
PgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNOb3RpZmlj
YXRpb25DdXN0b20uY3BwIgorCQkJCQk+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJ
TmFtZT0iRGVidWd8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJ
CT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+
CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJ
CQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgor
CQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIi
CisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJ
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQWxs
fFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8
VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlBy
b2R1Y3Rpb258V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4K
KwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJ
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJl
bGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcCIK
IAkJCQkJPgogCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmZDY5ZGM1NGMwMTQ4NjQzMDM4
MDU0YWM4ZTAzYjJkZGM0MzVlZmRhLi5hMDY1NmExNGMyYTNiNTM1YmRhNDA0YWFmYWExN2U0MzQ2
MWVkZDZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC04OTksNiArODk5LDggQEAKIAkJMzFDMEZGNEMwRTRDRUZERDAwN0Q2RkU1
IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzFDMEZGNDYwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktp
dFRyYW5zaXRpb25FdmVudC5oICovOyB9OwogCQkzMUMwRkY0RDBFNENFRkREMDA3RDZGRTUgLyog
RE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzFDMEZGNDcwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRy
YW5zaXRpb25FdmVudC5tbSAqLzsgfTsKIAkJMzFDMEZGNEUwRTRDRUZERDAwN0Q2RkU1IC8qIERP
TVdlYktpdFRyYW5zaXRpb25FdmVudEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUMwRkY0ODBFNENFRkREMDA3RDZGRTUgLyogRE9NV2Vi
S2l0VHJhbnNpdGlvbkV2ZW50SW50ZXJuYWwuaCAqLzsgfTsKKwkJMzFFQzFFMjgxNEZGNjBFRTAw
Qzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRUMxRTI2MTRGRjYwRUUwMEM5
NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5jcHAgKi87IH07CisJCTMx
RUMxRTI5MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFj
ay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFFQzFF
MjcxNEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgg
Ki87IH07CiAJCTMxRkIxQTU3MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25DbGllbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTRG
MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25DbGllbnQuaCAqLzsgfTsKIAkJMzFGQjFB
NTgxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNTAxMjBBNUQwNjAw
REMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwICovOyB9OwogCQkzMUZCMUE1OTEy
MEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNTExMjBBNUQwNjAwREMwMkEw
IC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuaCAqLzsgfTsKQEAgLTkwOSw2ICs5MTEsOCBAQAog
CQkzMUZCMUE2NTEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE2MzEyMEE1
RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgKi87IH07CiAJCTMxRkIxQTY2
MTIwQTVEM0YwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE2NDEyMEE1RDNGMDBEQzAyQTAg
LyogSlNEZXZpY2VNb3Rpb25FdmVudC5oICovOyB9OwogCQkzMUZCMUE2QzEyMEE1RDY5MDBEQzAy
QTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE2QjEyMEE1RDY5MDBEQzAyQTAgLyogSlNE
ZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgKi87IH07CisJCTMxRkU2REZBMTUwMDRDMkEwMDA0
RUJDNCAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRUMxREFDMTRGRjI2RUEwMEM5NDY2MiAv
KiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkzMUZFNkU2RDE1MDFBM0JGMDAwNEVCQzQgLyog
SlNOb3RpZmljYXRpb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMzFGRTZFNkMxNTAxQTNCRjAwMDRFQkM0IC8qIEpTTm90aWZpY2F0aW9u
Q3VzdG9tLmNwcCAqLzsgfTsKIAkJMzMxNEFDRUIxMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0
aW9uQmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAzMzE0QUNFOTEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25CYXNlLmNwcCAqLzsgfTsK
IAkJMzMxNEFDRUMxMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzMxNEFDRUExMDg5MjA4NjAw
MEYwRTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5oICovOyB9OwogCQkzMzUwM0M5QTEwMTc5QTc0MDAz
QjQ3RTEgLyogTm90aWZpY2F0aW9uUHJlc2VudGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzUwM0M5OTEwMTc5QTc0MDAzQjQ3RTEgLyogTm90aWZp
Y2F0aW9uUHJlc2VudGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKQEAgLTc3NTQsNiArNzc1OCwxMCBAQAogCQkzMUMwRkY0NjBFNENFRkREMDA3RDZG
RTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkzMUMwRkY0NzBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlv
bkV2ZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NV2Vi
S2l0VHJhbnNpdGlvbkV2ZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUMw
RkY0ODBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50SW50ZXJuYWwu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NV2ViS2l0VHJhbnNpdGlvbkV2
ZW50SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFFQzFENTAxNEZF
RkQwODAwQzk0NjYyIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBuYW1lID0gTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbDsgcGF0
aCA9IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFFQzFEQUMxNEZGMjZFQTAwQzk0NjYyIC8qIE5v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOb3RpZmljYXRp
b25QZXJtaXNzaW9uQ2FsbGJhY2suaDsgcGF0aCA9IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
UGVybWlzc2lvbkNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRUMx
RTI2MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05vdGlmaWNhdGlvblBl
cm1pc3Npb25DYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRUMx
RTI3MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU05vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUZCMUE0RjEyMEE1
RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERldmljZU1vdGlvbkNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkzMUZCMUE1MDEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ29udHJvbGxl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEZXZpY2VNb3Rpb25D
b250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFGQjFBNTExMjBB
NUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNlTW90aW9uQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtNzc2NSw2ICs3NzczLDcgQEAKIAkJMzFGQjFBNjMxMjBBNUQzRjAw
REMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNEZXZpY2VNb3Rpb25FdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTMxRkIxQTY0MTIwQTVEM0YwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2
ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRGV2aWNlTW90aW9uRXZl
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFGQjFBNkIxMjBBNUQ2OTAwREMw
MkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRkU2RTZDMTUwMUEzQkYwMDA0RUJDNCAvKiBKU05vdGlm
aWNhdGlvbkN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U05vdGlmaWNhdGlvbkN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMz
MTRBQ0U5MTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFeGNlcHRpb25CYXNlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzMxNEFDRUExMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0
aW9uQmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0V4Y2VwdGlvbkJh
c2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzMzRjcwNEUwRkI0OUNBMjAwOEUx
MkE2IC8qIE5vdGlmaWNhdGlvbi5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gTm90aWZpY2F0
aW9uLmlkbDsgcGF0aCA9IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0Mzk1LDYgKzE0NDA0LDggQEAKIAkJCQkzMTI4Q0E2NzE0
NzMzMTUyMDA3NEM3MkEgLyogTm90aWZpY2F0aW9uQ29udHJvbGxlci5jcHAgKi8sCiAJCQkJMzEy
OENBNkExNDczMzE2MzAwNzRDNzJBIC8qIE5vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaCAqLywKIAkJ
CQkzMzUwM0M5OTEwMTc5QTc0MDAzQjQ3RTEgLyogTm90aWZpY2F0aW9uUHJlc2VudGVyLmggKi8s
CisJCQkJMzFFQzFENTAxNEZFRkQwODAwQzk0NjYyIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5pZGwgKi8sCisJCQkJMzFFQzFEQUMxNEZGMjZFQTAwQzk0NjYyIC8qIE5vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjay5oICovLAogCQkJKTsKIAkJCW5hbWUgPSBub3RpZmljYXRp
b25zOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTE0NDA2LDYgKzE0NDE3LDggQEAK
IAkJCQkzMzUwM0NBMDEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb24uaCAqLywKIAkJ
CQkzMzUwM0NBMTEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb25DZW50ZXIuY3BwICov
LAogCQkJCTMzNTAzQ0EyMTAxNzlBRDcwMDNCNDdFMSAvKiBKU05vdGlmaWNhdGlvbkNlbnRlci5o
ICovLAorCQkJCTMxRUMxRTI2MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjay5jcHAgKi8sCisJCQkJMzFFQzFFMjcxNEZGNjBFRTAwQzk0NjYyIC8qIEpT
Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggKi8sCiAJCQkpOwogCQkJbmFtZSA9IE5v
dGlmaWNhdGlvbnM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTk2NzMsNiArMTk2
ODYsNyBAQAogCQkJCUJDQjc3MzYwMEMxNzg1M0QwMDEzMkJBNCAvKiBKU05vZGVGaWx0ZXJDdXN0
b20uY3BwICovLAogCQkJCTFBNzUwREQzMEE5MEU3MjkwMDBGRjIxNSAvKiBKU05vZGVJdGVyYXRv
ckN1c3RvbS5jcHAgKi8sCiAJCQkJQkNEOUMyNjEwQzE3QUE2NzAwNUM5MEEyIC8qIEpTTm9kZUxp
c3RDdXN0b20uY3BwICovLAorCQkJCTMxRkU2RTZDMTUwMUEzQkYwMDA0RUJDNCAvKiBKU05vdGlm
aWNhdGlvbkN1c3RvbS5jcHAgKi8sCiAJCQkJQTg1RjIyMDgxNDMwMzc3RDAwN0NDODg0IC8qIEpT
UG9wU3RhdGVFdmVudEN1c3RvbS5jcHAgKi8sCiAJCQkJRTFBRDEyRDUxMjk1RDBCRDAwQUNBOTg5
IC8qIEpTUHJvY2Vzc2luZ0luc3RydWN0aW9uQ3VzdG9tLmNwcCAqLywKIAkJCQk0OTk4QUVEMzEz
RkM0MTdGMDA5MEIxQUEgLyogSlNSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFja0N1c3RvbS5j
cHAgKi8sCkBAIC0yNDU2Niw2ICsyNDU4MCw4IEBACiAJCQkJRTFDREU5MjIxNTAxOTE2OTAwODYy
Q0M1IC8qIEFzeW5jRmlsZVN0cmVhbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDUwQ0VCRjExNTA3
M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUM1
QjRDMjREMTUwOTIzNkMwMEE2RUYzNyAvKiBXZWJDb3JlTlNVUkxFeHRyYXMuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTMxRUMxRTI5MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFGRTZERkExNTAwNEMyQTAwMDRF
QkM0IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBA
IC0yNzU0NCw2ICsyNzU2MCw4IEBACiAJCQkJNDUwQ0VCRjAxNTA3M0JCRTAwMkJCMTQ5IC8qIExh
YmVsYWJsZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzVCNEMyNEUxNTA5MjM2QzAw
QTZFRjM3IC8qIFdlYkNvcmVOU1VSTEV4dHJhcy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTlCMkI3
QUMxMTUwOTg1MEEwMDg5MzJDQyAvKiBNaWNyb0RhdGFJdGVtVmFsdWUuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJMzFFQzFFMjgxNEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxRkU2RTZEMTUwMUEzQkYwMDA0
RUJDNCAvKiBKU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0
b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9u
c0N1c3RvbS5jcHAKaW5kZXggMTZhOTYyYzU2MjlhMzU5ZDVkYzdjZThlMjJiYWQ4NTA2NWU5MTJj
ZS4uYTM2MjBiODliNzJkOGNmOWY2MzEzM2I4NjZiYmUwOTRiNWMyMWJiMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3RvbS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9u
c0N1c3RvbS5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQpAQCAtMzAsMTQgKzMxLDEyIEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSAmJiBFTkFC
TEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1
ZGUgIkpTQ3VzdG9tVm9pZENhbGxiYWNrLmgiCiAjaW5jbHVkZSAiSlNFdmVudExpc3RlbmVyLmgi
Ci0jaW5jbHVkZSAiSlNOb3RpZmljYXRpb24uaCIKICNpbmNsdWRlICJKU05vdGlmaWNhdGlvbkNl
bnRlci5oIgotI2luY2x1ZGUgIk5vdGlmaWNhdGlvbi5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlv
bkNlbnRlci5oIgogI2luY2x1ZGUgPHJ1bnRpbWUvRXJyb3IuaD4KIApAQCAtNjgsNiArNjcsNiBA
QCBKU1ZhbHVlIEpTTm90aWZpY2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbihFeGVjU3Rh
dGUqIGV4ZWMpCiAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiB9CiAKLX0gLy8gbmFtZXNwYWNl
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKKyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgJiYgIUVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm90
aWZpY2F0aW9uQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm90aWZp
Y2F0aW9uQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzk1NzY1NzdhODA4YzEwMWRiOGI3NTU4MDMz
OTA0ODM5NTFmYmYxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNOb3RpZmljYXRpb25DdXN0b20uY3BwCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisK
KyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpbmNsdWRlICJKU05vdGlmaWNhdGlvbi5oIgor
CisjaW5jbHVkZSAiQ2FsbGJhY2tGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTTm90aWZpY2F0aW9u
UGVybWlzc2lvbkNhbGxiYWNrLmgiCisjaW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgorCit1c2lu
ZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0pTVmFsdWUgSlNOb3Rp
ZmljYXRpb246OnJlcXVlc3RQZXJtaXNzaW9uKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICAvLyBB
cmd1bWVudHM6IE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaworICAgIGlmICghZXhlYy0+
YXJndW1lbnQoMCkuaXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4
ZWMpOworICAgIAorICAgIFJlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNh
bGxiYWNrID0gY3JlYXRlRnVuY3Rpb25Pbmx5Q2FsbGJhY2s8SlNOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2s+KGV4ZWMsIHN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+
bGV4aWNhbEdsb2JhbE9iamVjdCgpKSwgZXhlYy0+YXJndW1lbnQoMCkpOworICAgIGlmIChleGVj
LT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisgICAgCisg
ICAgQVNTRVJUKGNhbGxiYWNrKTsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRD
b250ZXh0ID0gc3RhdGljX2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xv
YmFsT2JqZWN0KCkpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CisgICAgTm90aWZpY2F0aW9u
OjpyZXF1ZXN0UGVybWlzc2lvbihzY3JpcHRDb250ZXh0LCBjYWxsYmFjay5yZWxlYXNlKCkpOwor
ICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DdXN0b20uY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmJiMTMzNzU4MmM0MDAyYjlhNmI4OWMxNTNmMmMyMTQyMmQyMjFmZDkKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRp
b25DdXN0b20uY3BwCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIg
QXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykKKyNpbmNsdWRlICJWOE5vdGlmaWNhdGlvbi5oIgorCisjaW5jbHVkZSAiRXhj
ZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIlY4Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNr
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4Tm90
aWZpY2F0aW9uOjpyZXF1ZXN0UGVybWlzc2lvbkNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMm
IGFyZ3MpCit7CisgICAgSU5DX1NUQVRTKEwiRE9NLk5vdGlmaWNhdGlvbi5SZXF1ZXN0UGVybWlz
c2lvbigpIik7CisKKyAgICBOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbiA9IFY4Tm90aWZpY2F0
aW9uOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0ID0gbm90aWZpY2F0aW9uLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CisKKyAg
ICBib29sIHN1Y2NlZWRlZCA9IGZhbHNlOworICAgIFJlZlB0cjxWOE5vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjaz4gY2FsbGJhY2sgPSBjcmVhdGVGdW5jdGlvbk9ubHlDYWxsYmFjazxWOE5v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4oYXJnc1swXSwgc3VjY2VlZGVkKTsKKyAgICBp
ZiAoIXN1Y2NlZWRlZCkKKyAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKKyAgICBBU1NF
UlQoY2FsbGJhY2spOworCisgICAgTm90aWZpY2F0aW9uOjpyZXF1ZXN0UGVybWlzc2lvbihjb250
ZXh0LCBjYWxsYmFjay5yZWxlYXNlKCkpOworICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJ
T05TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCmlu
ZGV4IDc0OTY0ZGM3N2FkYWQwODFjYjBlZjE5Y2E0NGFkNGE0OGUwODdlNzIuLjk4YTIyYzFjYmJm
ZTc0MDBhMDM2MTlmNTVhODA0M2E2ZTc0NjlmZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJp
Z2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmln
aHQgKEMpIDIwMDksIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDA5LCAyMDExLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTM1LDExICszNSwxNCBA
QAogCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uLmgiCiAKKyNpbmNsdWRlICJET01XaW5kb3cuaCIK
ICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkVycm9yRXZlbnQuaCIKICNpbmNsdWRl
ICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ2VudGVyLmgiCiAjaW5jbHVk
ZSAiTm90aWZpY2F0aW9uQ29udGVudHMuaCIKKyNpbmNsdWRlICJOb3RpZmljYXRpb25Db250cm9s
bGVyLmgiCisjaW5jbHVkZSAiTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgiCiAjaW5j
bHVkZSAiTm90aWZpY2F0aW9uUHJlc2VudGVyLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0
LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgpAQCAtMjAxLDYgKzIwNCwzOCBAQCB2
b2lkIE5vdGlmaWNhdGlvbjo6c3RvcExvYWRpbmcoKQogICAgIG1fbG9hZGVyLT5jYW5jZWwoKTsK
IH0KIAorY29uc3QgU3RyaW5nJiBOb3RpZmljYXRpb246OnBlcm1pc3Npb25MZXZlbChTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQoreworICAgIEFTU0VSVChjb250ZXh0LT5pc0RvY3Vt
ZW50KCkpOworICAgIEFTU0VSVChzdGF0aWNfY2FzdDxEb2N1bWVudCo+KGNvbnRleHQpLT5wYWdl
KCkpOworICAgIHJldHVybiBzdHJpbmdGb3JQZXJtaXNzaW9uKE5vdGlmaWNhdGlvbkNvbnRyb2xs
ZXI6OmZyb20oc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KS0+cGFnZSgpKS0+Y2xpZW50
KCktPmNoZWNrUGVybWlzc2lvbihjb250ZXh0KSk7Cit9CisKK2NvbnN0IFN0cmluZyYgTm90aWZp
Y2F0aW9uOjpzdHJpbmdGb3JQZXJtaXNzaW9uKE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlz
c2lvbiBwZXJtaXNzaW9uKQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5n
LCBhbGxvd2VkUGVybWlzc2lvbiwgKCJncmFudGVkIikpOworICAgIERFRklORV9TVEFUSUNfTE9D
QUwoY29uc3QgU3RyaW5nLCBkZW5pZWRQZXJtaXNzaW9uLCAoImRlbmllZCIpKTsKKyAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgZGVmYXVsdFBlcm1pc3Npb24sICgiZGVmYXVs
dCIpKTsKKyAgICBzd2l0Y2ggKHBlcm1pc3Npb24pIHsKKyAgICBjYXNlIE5vdGlmaWNhdGlvblBy
ZXNlbnRlcjo6UGVybWlzc2lvbkFsbG93ZWQ6CisgICAgICAgIHJldHVybiBhbGxvd2VkUGVybWlz
c2lvbjsKKyAgICBjYXNlIE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbkRlbmllZDoK
KyAgICAgICAgcmV0dXJuIGRlbmllZFBlcm1pc3Npb247CisgICAgY2FzZSBOb3RpZmljYXRpb25Q
cmVzZW50ZXI6OlBlcm1pc3Npb25Ob3RBbGxvd2VkOgorICAgICAgICByZXR1cm4gZGVmYXVsdFBl
cm1pc3Npb247CisgICAgfQorICAgIAorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJl
dHVybiBkZW5pZWRQZXJtaXNzaW9uOworfQorCit2b2lkIE5vdGlmaWNhdGlvbjo6cmVxdWVzdFBl
cm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNhbGxiYWNrKQoreworICAgIEFTU0VSVChjb250
ZXh0LT5pc0RvY3VtZW50KCkpOworICAgIEFTU0VSVChzdGF0aWNfY2FzdDxEb2N1bWVudCo+KGNv
bnRleHQpLT5wYWdlKCkpOworICAgIE5vdGlmaWNhdGlvbkNvbnRyb2xsZXI6OmZyb20oc3RhdGlj
X2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KS0+cGFnZSgpKS0+Y2xpZW50KCktPnJlcXVlc3RQZXJt
aXNzaW9uKGNvbnRleHQsIGNhbGxiYWNrKTsKK30KKwogdm9pZCBOb3RpZmljYXRpb246OmRpZFJl
Y2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNw
b25zZSkKIHsKICAgICBpbnQgc3RhdHVzID0gcmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmggYi9T
b3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmluZGV4IGRkMGQ2ZWQ4
NGFkMzA3OWQ4OGJhMDJhMDJiY2FjYzZhNjQ1Y2IzOWQuLmUwZDIwMzU4YWE2OTA1MjA1NGIzMmM4
OTAwMjg3Mzg4NzMwZWUxMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb24uaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAx
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDks
IDIwMTEsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIkV2ZW50
VGFyZ2V0LmgiCiAjaW5jbHVkZSAiS1VSTC5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNvbnRl
bnRzLmgiCisjaW5jbHVkZSAiTm90aWZpY2F0aW9uUHJlc2VudGVyLmgiCiAjaW5jbHVkZSAiU2hh
cmVkQnVmZmVyLmgiCiAjaW5jbHVkZSAiVGV4dERpcmVjdGlvbi5oIgogI2luY2x1ZGUgIlRocmVh
ZGFibGVMb2FkZXJDbGllbnQuaCIKQEAgLTUwLDYgKzUxLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgTm90aWZpY2F0aW9uQ2VudGVyOworY2xhc3MgTm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrOwogY2xhc3MgUmVzb3VyY2VFcnJvcjsKIGNsYXNzIFJlc291cmNlUmVzcG9u
c2U7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwpAQCAtMTE5LDYgKzEyMSwxMCBAQCBw
dWJsaWM6CiAgICAgLy8gRGVwcmVjYXRlZC4gVXNlIGZ1bmN0aW9ucyBmcm9tIE5vdGlmaWNhdGlv
bkNlbnRlci4KICAgICB2b2lkIGRldGFjaFByZXNlbnRlcigpIHsgfQogCisgICAgc3RhdGljIGNv
bnN0IFN0cmluZyYgcGVybWlzc2lvbkxldmVsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKKyAg
ICBzdGF0aWMgY29uc3QgU3RyaW5nJiBzdHJpbmdGb3JQZXJtaXNzaW9uKE5vdGlmaWNhdGlvblBy
ZXNlbnRlcjo6UGVybWlzc2lvbik7CisgICAgc3RhdGljIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24o
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lv
bkNhbGxiYWNrPik7CisKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2ln
bmVkIGxvbmcsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlk
UmVjZWl2ZURhdGEoY29uc3QgY2hhciogZGF0YSwgaW50IGRhdGFMZW5ndGgpOwogICAgIHZpcnR1
YWwgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgZG91Ymxl
IGZpbmlzaFRpbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uaWRsCmluZGV4IGQ4Y2IzY2MzOWEyNWU3MTc0M2U5Zjc1ZTllOGNmNGMxODBlMjIxNjguLjQ1
ODE2ZTE4NDNkMGM0MmNjNGU4NjM2MGRhYjFmNWQ0YjhlYTY3MTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwKQEAgLTEsNiArMSw2IEBACiAvKgog
ICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDExLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTM0LDEyICszNCwxNCBAQCBt
b2R1bGUgdGhyZWFkcyB7CiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgQ29uZGl0aW9uYWw9Tk9U
SUZJQ0FUSU9OUywKICAgICAgICAgQWN0aXZlRE9NT2JqZWN0LAotICAgICAgICBFdmVudFRhcmdl
dCwKLSAgICAgICAgT21pdENvbnN0cnVjdG9yCisgICAgICAgIEV2ZW50VGFyZ2V0CiAgICAgXSBO
b3RpZmljYXRpb24gewogICAgICAgICB2b2lkIHNob3coKTsKICAgICAgICAgdm9pZCBjYW5jZWwo
KTsKIAorICAgICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gc3RhdGljIERP
TVN0cmluZyBwZXJtaXNzaW9uTGV2ZWwoKTsKKyAgICAgICAgW0N1c3RvbV0gc3RhdGljIHZvaWQg
cmVxdWVzdFBlcm1pc3Npb24oaW4gTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrIGNhbGxi
YWNrKTsKKwogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnNob3c7CiAgICAgICAg
IC8vIEZJWE1FOiBUaGUgbGF0ZXN0IFdlYiBOb3RpZmljYXRpb25zIHN0YW5kYXJkIHVzZXMgdGhl
IG9uc2hvdyBldmVudCBsaXN0ZW5lci4KICAgICAgICAgLy8gVGhlIG9uZGlzcGxheSBldmVudCBs
aXN0ZW5lciBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIGltcGxlbWVudGF0aW9ucyBjaGFuZ2UgdGhl
IGV2ZW50IGxpc3RlbmVyIHRvIG9uc2hvdy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAppbmRleCA3MTE0NmFmOGRhMzcyM2QxNDcx
NWVmY2I1ZDFhYmVhYzQ4ZTM3MTU5Li40Njc0NDM0YWUwMWEwNzM4ZGYyNGMzNDU4MTQ2MDQ3YWE4
MTA3NDE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbkNlbnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25DZW50ZXIuY3BwCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAw
OSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEy
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKQEAgLTUyLDE5ICs1MywyMyBAQCBOb3RpZmljYXRpb25DZW50ZXI6Ok5vdGlm
aWNhdGlvbkNlbnRlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBOb3RpZmljYQog
ICAgIDogQWN0aXZlRE9NT2JqZWN0KGNvbnRleHQsIHRoaXMpCiAgICAgLCBtX25vdGlmaWNhdGlv
blByZXNlbnRlcihwcmVzZW50ZXIpIHt9CiAKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCiBpbnQgTm90aWZpY2F0aW9uQ2VudGVyOjpjaGVja1Blcm1pc3Npb24oKQogewogICAgIGlm
ICghcHJlc2VudGVyKCkgfHwgIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKICAgICAgICAgcmV0
dXJuIE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbkRlbmllZDsKICAgICByZXR1cm4g
bV9ub3RpZmljYXRpb25QcmVzZW50ZXItPmNoZWNrUGVybWlzc2lvbihzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkpOwogfQorI2VuZGlmCiAKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CiB2b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6cmVxdWVzdFBlcm1pc3Npb24oUGFzc1JlZlB0cjxW
b2lkQ2FsbGJhY2s+IGNhbGxiYWNrKQogewogICAgIGlmICghcHJlc2VudGVyKCkgfHwgIXNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKSkKICAgICAgICAgcmV0dXJuOwogICAgIG1fbm90aWZpY2F0aW9u
UHJlc2VudGVyLT5yZXF1ZXN0UGVybWlzc2lvbihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIGNh
bGxiYWNrKTsKIH0KKyNlbmRpZgogCiB2b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6ZGlzY29ubmVj
dEZyYW1lKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uQ2VudGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbkNlbnRlci5oCmluZGV4IDQwMmNjYmE5MzhiMmZlZTA4MWY4YTZhOGQ3YmVjZWZmNzhjYzI2
OTIuLmY2NjgzNjEwNzlkMDFhMTcyYmIzNGY0YWMxYTQwNzYyNTZmN2U4YzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaApAQCAtMSw2
ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNzcs
OCArNzcsMTAgQEAgcHVibGljOgogCiAgICAgTm90aWZpY2F0aW9uUHJlc2VudGVyKiBwcmVzZW50
ZXIoKSBjb25zdCB7IHJldHVybiBtX25vdGlmaWNhdGlvblByZXNlbnRlcjsgfQogCisjaWYgRU5B
QkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIGludCBjaGVja1Blcm1pc3Npb24oKTsKICAg
ICB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPik7CisjZW5k
aWYKIAogICAgIHZvaWQgZGlzY29ubmVjdEZyYW1lKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbAppbmRleCA4YmUxZWNjNzY5
ZmJjNWE0MzdiNzY0ZTk2YTA3ZTQ3NTE3MGEzNTY2Li5iOTk3ZDlmMzIzMTgzYjI4N2VjNTFhNDYx
M2NjNDBkNmYzMjMxNWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbkNlbnRlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsCkBAIC00MSw4ICs0MSwxMCBAQCBtb2R1bGUgdGhyZWFk
cyB7CiAjZW5kaWYKICAgICAgICBbVjhDdXN0b21dIE5vdGlmaWNhdGlvbiBjcmVhdGVOb3RpZmlj
YXRpb24oaW4gRE9NU3RyaW5nIGljb25VcmwsIGluIERPTVN0cmluZyB0aXRsZSwgaW4gRE9NU3Ry
aW5nIGJvZHkpIHJhaXNlcyhET01FeGNlcHRpb24pOwogCisjaWYgZGVmaW5lZChFTkFCTEVfTEVH
QUNZX05PVElGSUNBVElPTlMpICYmIEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUwogICAgICAg
IGludCBjaGVja1Blcm1pc3Npb24oKTsKICAgICAgICBbQ3VzdG9tXSB2b2lkIHJlcXVlc3RQZXJt
aXNzaW9uKGluIFZvaWRDYWxsYmFjayBjYWxsYmFjayk7CisjZW5kaWYKICAgICB9OwogCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjay5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25QZXJtaXNzaW9uQ2FsbGJhY2suaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NDk0ZWY1ZTAzM2E5MzAyYjMwYjU4
NmU4OTMzOTM3Zjk5OWM0NzEzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaApAQCAtMCwwICsxLDQy
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
Q09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFja19oCisj
ZGVmaW5lIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFja19oCisKKyNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKyAgICAKK2NsYXNzIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjayA6IHB1Ymxp
YyBSZWZDb3VudGVkPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4geworcHVibGljOgor
ICAgIHZpcnR1YWwgfk5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaygpIHsgfQorICAgIHZp
cnR1YWwgYm9vbCBoYW5kbGVFdmVudChjb25zdCBTdHJpbmcmIHBlcm1pc3Npb24pID0gMDsKK307
CisgICAgCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uQ2FsbGJhY2tfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsIGIvU291cmNlL1dlYkNvcmUv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjFmMTExNjEyZTI0MGNlY2FhMTlmYjVlYTcxYWFjZDdkMjYwOTNjMjAKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjay5pZGwKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIHRocmVhZHMg
eworCisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9Tk9USUZJQ0FUSU9OUywK
KyAgICAgICAgQ2FsbGJhY2sKKyAgICBdIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjayB7
CisgICAgICAgIGJvb2xlYW4gaGFuZGxlRXZlbnQoaW4gRE9NU3RyaW5nIHBlcm1pc3Npb24pOwor
ICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uUHJlc2VudGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvblByZXNlbnRlci5oCmluZGV4IDE5MzUzODRkYzFmNmNiOTE3NDgwYTlkNGM4MWI5NmY0
M2E0OGIxOWIuLjU3ODU3NjliMWVkYjMzOWRlODNmZjcyYmFlMDQxNThmYTU0M2VlMWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUHJlc2VudGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QcmVzZW50
ZXIuaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQpAQCAtMzgsOCArMzgsOSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEb2N1
bWVudDsKLWNsYXNzIE5vdGlmaWNhdGlvbjsKIGNsYXNzIEtVUkw7CitjbGFzcyBOb3RpZmljYXRp
b247CitjbGFzcyBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s7CiBjbGFzcyBQYWdlOwog
Y2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIApAQCAtNzAsMTAgKzcxLDE0IEBAIHB1Ymxp
YzoKICAgICAvLyBJbmZvcm1zIHRoZSBwcmVzZW50ZXIgdGhlIGNvbnRyb2xsZXIgYXR0YWNoZWQg
dG8gdGhlIHBhZ2UgaGFzIGJlZW4gZGVzdHJveWVkLgogICAgIHZpcnR1YWwgdm9pZCBub3RpZmlj
YXRpb25Db250cm9sbGVyRGVzdHJveWVkKCkgPSAwOwogCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQogICAgIC8vIFJlcXVlc3RzIHVzZXIgcGVybWlzc2lvbiB0byBzaG93IGRlc2t0
b3Agbm90aWZpY2F0aW9ucyBmcm9tIGEgcGFydGljdWxhcgogICAgIC8vIHNjcmlwdCBjb250ZXh0
LiBUaGUgY2FsbGJhY2sgcGFyYW1ldGVyIHNob3VsZCBiZSBydW4gd2hlbiB0aGUgdXNlciBoYXMK
ICAgICAvLyBtYWRlIGEgZGVjaXNpb24uCiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNz
aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pID0g
MDsKKyNlbmRpZgorICAgIC8vIEZJWE1FOiBPbmNlIGFsbCBvZiB0aGUgcG9ydHMgaGF2ZSBhZG9w
dGVkIHRoZSBuZXcgQVBJLCB3ZSBzaG91bGQgdHVybiB0aGlzIHRvIGEgcHVyZSB2aXJ0dWFsLgor
ICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiwgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KSB7IH0KIAogICAg
IC8vIENhbmNlbCBhbGwgb3V0c3RhbmRpbmcgcmVxdWVzdHMgZm9yIHRoZSBTY3JpcHRFeGVjdXRp
b25Db250ZXh0CiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmlu
ZGV4IDE0MDg2YmYyMGU5ZTQ5NzZhYTg4MTIzYjg2MGMwN2I0NTkzYTc5YWQuLmZkY2E2NGFlMTI2
ZjE2MzVkOTU5ODhkYzhiNjc3NGUwZDdlODQ2ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5p
ZGwKQEAgLTE3Miw2ICsxNzIsNyBAQCBtb2R1bGUgd2luZG93IHsKIAogI2lmIGRlZmluZWQoRU5B
QkxFX05PVElGSUNBVElPTlMpICYmIEVOQUJMRV9OT1RJRklDQVRJT05TCiAgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50aW1lXSBOb3RpZmljYXRpb25DZW50ZXIgd2Vi
a2l0Tm90aWZpY2F0aW9uczsKKyAgICAgICAgYXR0cmlidXRlIE5vdGlmaWNhdGlvbkNvbnN0cnVj
dG9yIE5vdGlmaWNhdGlvbjsKICNlbmRpZgogCiAjaWYgZGVmaW5lZChFTkFCTEVfT1JJRU5UQVRJ
T05fRVZFTlRTKSAmJiBFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaCBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCmlu
ZGV4IGE0MGNlODFlNWRjN2Y2NDY2NTFlZjg2OThhNzYyZTUxMThkN2JiOTMuLjY0ZmFkZjIyYWQw
MzE2NGY2MDg3ZmNhMWVhNjQ1MzQwNWFkZDU1YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCkBAIC0zNCwx
MSArMzQsMTMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTm90aWZpY2F0aW9uOwor
Y2xhc3MgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrOwogY2xhc3MgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dDsKIGNsYXNzIFZvaWRDYWxsYmFjazsKIH0KIAogQGNsYXNzIFdlYk5vdGlmaWNh
dGlvbjsKK0BjbGFzcyBXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lcjsKIEBjbGFzcyBXZWJW
aWV3OwogCiBjbGFzcyBXZWJOb3RpZmljYXRpb25DbGllbnQgOiBwdWJsaWMgV2ViQ29yZTo6Tm90
aWZpY2F0aW9uUHJlc2VudGVyIHsKQEAgLTUyLDEwICs1NCwxNyBAQCBwcml2YXRlOgogICAgIHZp
cnR1YWwgdm9pZCBjbGVhck5vdGlmaWNhdGlvbnMoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCopIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25PYmplY3REZXN0
cm95ZWQoV2ViQ29yZTo6Tm90aWZpY2F0aW9uKikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lk
IG5vdGlmaWNhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKSBPVkVSUklERTsKKyNpZiBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9u
KFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPFdlYkNvcmU6OlZv
aWRDYWxsYmFjaz4pIE9WRVJSSURFOworI2VuZGlmCisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQ
ZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPFdl
YkNvcmU6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4pIE9WRVJSSURFOwogICAgIHZp
cnR1YWwgdm9pZCBjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCopIE9WRVJSSURFIHsgfQogICAgIHZpcnR1YWwgV2ViQ29yZTo6Tm90aWZp
Y2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihXZWJDb3JlOjpTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KikgT1ZFUlJJREU7CiAKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKKyAgICB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqLCBXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciAqKTsKKyNlbmRpZgorCiAgICAg
V2ViVmlldyAqbV93ZWJWaWV3OwogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIEhhc2hN
YXA8UmVmUHRyPFdlYkNvcmU6Ok5vdGlmaWNhdGlvbj4sIFJldGFpblB0cjxXZWJOb3RpZmljYXRp
b24+ID4gbV9ub3RpZmljYXRpb25NYXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQubW0KaW5kZXggMmY3Y2Q1NDEx
NzcxMzczM2ZhZTBlMWUyYzJmNGE5OTExZDZmYmM0Zi4uZmRjZDI4ZTdjYTBmNTY2NGU2Y2JjOWE5
MDZiYTk5ZWViM2JmNGExYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5tbQpAQCAtMzMsMTggKzMzLDMxIEBA
CiAjaW1wb3J0ICJXZWJVSURlbGVnYXRlUHJpdmF0ZS5oIgogI2ltcG9ydCAiV2ViVmlld0ludGVy
bmFsLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0Jsb2NrRXhjZXB0aW9ucy5oPgorI2ltcG9ydCA8V2Vi
Q29yZS9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaD4KICNpbXBvcnQgPFdlYkNvcmUv
UGFnZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg+CiAjZW5k
aWYKIAorI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpbXBvcnQgPFdlYkNvcmUv
Vm9pZENhbGxiYWNrLmg+CisjZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKICNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKwogQGludGVyZmFjZSBXZWJOb3RpZmljYXRpb25Qb2xp
Y3lMaXN0ZW5lciA6IE5TT2JqZWN0IDxXZWJBbGxvd0RlbnlQb2xpY3lMaXN0ZW5lcj4KIHsKLSAg
ICBSZWZQdHI8Vm9pZENhbGxiYWNrPiBfY2FsbGJhY2s7CisgICAgUmVmUHRyPE5vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjaz4gX2NhbGxiYWNrOworI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJ
Q0FUSU9OUykKKyAgICBSZWZQdHI8Vm9pZENhbGxiYWNrPiBfdm9pZENhbGxiYWNrOworI2VuZGlm
CiB9Ci0tIChpZClpbml0V2l0aENhbGxiYWNrOihQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pY2Fs
bGJhY2s7CistIChpZClpbml0V2l0aENhbGxiYWNrOihQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBl
cm1pc3Npb25DYWxsYmFjaz4pY2FsbGJhY2s7CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJ
T05TKQorLSAoaWQpaW5pdFdpdGhWb2lkQ2FsbGJhY2s6KFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNr
PiljYWxsYmFjazsKKyNlbmRpZgorCiBAZW5kCiAjZW5kaWYKIApAQCAtMTQ3LDI5ICsxNjAsNDYg
QEAgdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6Om5vdGlmaWNhdGlvbkNvbnRyb2xsZXJEZXN0
cm95ZWQoKQogICAgIGRlbGV0ZSB0aGlzOwogfQogCisKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpCiB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pc3Npb24o
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+
IGNhbGxiYWNrKQogeworICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKKyAgICBXZWJO
b3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciogbGlzdGVuZXIgPSBbW1dlYk5vdGlmaWNhdGlvblBv
bGljeUxpc3RlbmVyIGFsbG9jXSBpbml0V2l0aFZvaWRDYWxsYmFjazpjYWxsYmFja107CisgICAg
cmVxdWVzdFBlcm1pc3Npb24oY29udGV4dCwgbGlzdGVuZXIpOworICAgIFtsaXN0ZW5lciByZWxl
YXNlXTsKKyAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOworfQorI2VuZGlmCisKK3ZvaWQg
V2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFj
az4gY2FsbGJhY2spCit7CiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgQkVHSU5fQkxP
Q0tfT0JKQ19FWENFUFRJT05TOwotICAgIAorICAgIFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3Rl
bmVyICpsaXN0ZW5lciA9IFtbV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgYWxsb2NdIGlu
aXRXaXRoQ2FsbGJhY2s6Y2FsbGJhY2tdOworICAgIHJlcXVlc3RQZXJtaXNzaW9uKGNvbnRleHQs
IGxpc3RlbmVyKTsKKyAgICBbbGlzdGVuZXIgcmVsZWFzZV07CisgICAgRU5EX0JMT0NLX09CSkNf
RVhDRVBUSU9OUzsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGNvbnRleHQpOworICAgIFVOVVNF
RF9QQVJBTShjYWxsYmFjayk7CisjZW5kaWYKK30KKworI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQordm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6
OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFdlYk5vdGlmaWNhdGlvblBvbGljeUxp
c3RlbmVyICpsaXN0ZW5lcikKK3sKICAgICBTRUwgc2VsZWN0b3IgPSBAc2VsZWN0b3Iod2ViVmll
dzpkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25SZXF1ZXN0RnJvbU9yaWdpbjpsaXN0ZW5lcjop
OwogICAgIGlmICghW1ttX3dlYlZpZXcgVUlEZWxlZ2F0ZV0gcmVzcG9uZHNUb1NlbGVjdG9yOnNl
bGVjdG9yXSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIFdlYlNlY3VyaXR5T3JpZ2luICp3
ZWJPcmlnaW4gPSBbW1dlYlNlY3VyaXR5T3JpZ2luIGFsbG9jXSBfaW5pdFdpdGhXZWJDb3JlU2Vj
dXJpdHlPcmlnaW46Y29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKV07Ci0gICAgV2ViTm90aWZpY2F0
aW9uUG9saWN5TGlzdGVuZXIqIGxpc3RlbmVyID0gW1tXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0
ZW5lciBhbGxvY10gaW5pdFdpdGhDYWxsYmFjazpjYWxsYmFja107CiAgICAgCiAgICAgQ2FsbFVJ
RGVsZWdhdGUobV93ZWJWaWV3LCBzZWxlY3Rvciwgd2ViT3JpZ2luLCBsaXN0ZW5lcik7CiAgICAg
CiAgICAgW3dlYk9yaWdpbiByZWxlYXNlXTsKLSAgICBbbGlzdGVuZXIgcmVsZWFzZV07Ci0gICAg
Ci0gICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFN
KGNvbnRleHQpOwotICAgIFVOVVNFRF9QQVJBTShjYWxsYmFjayk7Ci0jZW5kaWYKIH0KKyNlbmRp
ZgogCiBOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb24gV2ViTm90aWZpY2F0aW9uQ2xp
ZW50OjpjaGVja1Blcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKIHsK
QEAgLTE5OSw3ICsyMjksOCBAQCBOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb24gV2Vi
Tm90aWZpY2F0aW9uQ2xpZW50OjpjaGVja1Blcm1pc3Npb24oU2NyaXB0RQogCiAjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpCiBAaW1wbGVtZW50YXRpb24gV2ViTm90aWZpY2F0aW9uUG9saWN5TGlz
dGVuZXIKLS0gKGlkKWluaXRXaXRoQ2FsbGJhY2s6KFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPilj
YWxsYmFjaworCistIChpZClpbml0V2l0aENhbGxiYWNrOihQYXNzUmVmUHRyPE5vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjaz4pY2FsbGJhY2sKIHsKICAgICBpZiAoIShzZWxmID0gW3N1cGVy
IGluaXRdKSkKICAgICAgICAgcmV0dXJuIG5pbDsKQEAgLTIwOSwxNCArMjQwLDQwIEBAIE5vdGlm
aWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbiBXZWJOb3RpZmljYXRpb25DbGllbnQ6OmNoZWNr
UGVybWlzc2lvbihTY3JpcHRFCiAgICAgcmV0dXJuIHNlbGY7CiB9CiAKKyNpZiBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCistIChpZClpbml0V2l0aFZvaWRDYWxsYmFjazooUGFzc1JlZlB0
cjxWb2lkQ2FsbGJhY2s+KWNhbGxiYWNrCit7CisgICAgaWYgKCEoc2VsZiA9IFtzdXBlciBpbml0
XSkpCisgICAgICAgIHJldHVybiBuaWw7CisKKyAgICBBU1NFUlQoY2FsbGJhY2spOworICAgIF92
b2lkQ2FsbGJhY2sgPSBjYWxsYmFjazsKKyAgICByZXR1cm4gc2VsZjsKK30KKyNlbmRpZgorCiAt
ICh2b2lkKWFsbG93CiB7Ci0gICAgX2NhbGxiYWNrLT5oYW5kbGVFdmVudCgpOworI2lmIEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICBpZiAoX3ZvaWRDYWxsYmFjaykgeworICAgICAg
ICBfdm9pZENhbGxiYWNrLT5oYW5kbGVFdmVudCgpOworICAgICAgICByZXR1cm47CisgICAgfQor
I2VuZGlmCisKKyAgICBfY2FsbGJhY2stPmhhbmRsZUV2ZW50KE5vdGlmaWNhdGlvbjo6c3RyaW5n
Rm9yUGVybWlzc2lvbihOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb25BbGxvd2VkKSk7
CiB9CiAKIC0gKHZvaWQpZGVueQogewotICAgIF9jYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyNp
ZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAgaWYgKF92b2lkQ2FsbGJhY2spIHsK
KyAgICAgICAgX3ZvaWRDYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKyNlbmRpZgorCisgICAgX2NhbGxiYWNrLT5oYW5kbGVFdmVudChOb3RpZmljYXRpb246
OnN0cmluZ0ZvclBlcm1pc3Npb24oTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uRGVu
aWVkKSk7CiB9CiAKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
Tm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1p
c3Npb25SZXF1ZXN0TWFuYWdlci5jcHAKaW5kZXggMWRkZGE3Yzk4MTYwZDU0OWI5OTIzYWUyN2Ux
NGRlODdkODk1N2IyMi4uZmI0ZmMwN2Q5MjU5YTE1ODRjZDk2MGY5MDBkY2FhMTBkNjZjOTcyYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlm
aWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlci5jcHAKQEAgLTU5LDExICs1OSwxMiBAQCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXI6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcihXZWJQYQogewog
fQogCi12b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6c3RhcnRSZXF1
ZXN0KFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxs
YmFjaykKK3ZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpzdGFydFJl
cXVlc3QoU2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJt
aXNzaW9uQ2FsbGJhY2s+IGNhbGxiYWNrKQogewogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQot
ICAgIGlmIChwZXJtaXNzaW9uTGV2ZWwob3JpZ2luKSAhPSBOb3RpZmljYXRpb25QcmVzZW50ZXI6
OlBlcm1pc3Npb25Ob3RBbGxvd2VkKSB7Ci0gICAgICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVudCgp
OworICAgIE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbiBwZXJtaXNzaW9uID0gcGVy
bWlzc2lvbkxldmVsKG9yaWdpbik7CisgICAgaWYgKHBlcm1pc3Npb24gIT0gTm90aWZpY2F0aW9u
UHJlc2VudGVyOjpQZXJtaXNzaW9uTm90QWxsb3dlZCkgeworICAgICAgICBjYWxsYmFjay0+aGFu
ZGxlRXZlbnQoTm90aWZpY2F0aW9uOjpzdHJpbmdGb3JQZXJtaXNzaW9uKHBlcm1pc3Npb24pKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNzgsNiArNzksMjMgQEAgdm9pZCBOb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OnN0YXJ0UmVxdWVzdChTZWN1cml0eU9yaWdp
biogb3JpZ2luLAogI2VuZGlmCiB9CiAKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
Cit2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6c3RhcnRSZXF1ZXN0
KFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFj
aykKK3sKKyAgICBOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb24gcGVybWlzc2lvbiA9
IHBlcm1pc3Npb25MZXZlbChvcmlnaW4pOworICAgIGlmIChwZXJtaXNzaW9uICE9IE5vdGlmaWNh
dGlvblByZXNlbnRlcjo6UGVybWlzc2lvbk5vdEFsbG93ZWQpIHsKKyAgICAgICAgY2FsbGJhY2st
PmhhbmRsZUV2ZW50KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgCisgICAgdWludDY0
X3QgcmVxdWVzdElEID0gZ2VuZXJhdGVSZXF1ZXN0SUQoKTsKKyAgICBtX29yaWdpblRvSURNYXAu
c2V0KG9yaWdpbiwgcmVxdWVzdElEKTsKKyAgICBtX2lkVG9PcmlnaW5NYXAuc2V0KHJlcXVlc3RJ
RCwgb3JpZ2luKTsKKyAgICBtX2lkVG9Wb2lkQ2FsbGJhY2tNYXAuc2V0KHJlcXVlc3RJRCwgY2Fs
bGJhY2spOworICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpSZXF1ZXN0
Tm90aWZpY2F0aW9uUGVybWlzc2lvbihyZXF1ZXN0SUQsIG9yaWdpbi0+dG9TdHJpbmcoKSkpOwor
fQorI2VuZGlmCisKIHZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpj
YW5jZWxSZXF1ZXN0KFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiB7CiAjaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpCkBAIC0xMTEsMTEgKzEyOSwxOSBAQCB2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlcjo6ZGlkUmVjZWl2ZU5vdGlmaWNhdGlvblBlcm1pc3Npb25EZWNpcwog
ICAgIGlmICghaXNSZXF1ZXN0SURWYWxpZChyZXF1ZXN0SUQpKQogICAgICAgICByZXR1cm47CiAK
LSAgICBSZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFjayA9IG1faWRUb0NhbGxiYWNrTWFwLnRh
a2UocmVxdWVzdElEKTsKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAgUmVm
UHRyPFZvaWRDYWxsYmFjaz4gdm9pZENhbGxiYWNrID0gbV9pZFRvVm9pZENhbGxiYWNrTWFwLnRh
a2UocmVxdWVzdElEKTsKKyAgICBpZiAodm9pZENhbGxiYWNrKSB7CisgICAgICAgIHZvaWRDYWxs
YmFjay0+aGFuZGxlRXZlbnQoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorCisg
ICAgUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4gY2FsbGJhY2sgPSBtX2lk
VG9DYWxsYmFja01hcC50YWtlKHJlcXVlc3RJRCk7CiAgICAgaWYgKCFjYWxsYmFjaykKICAgICAg
ICAgcmV0dXJuOwogICAgIAotICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVudCgpOworICAgIGNhbGxi
YWNrLT5oYW5kbGVFdmVudChOb3RpZmljYXRpb246OnN0cmluZ0ZvclBlcm1pc3Npb24oYWxsb3dl
ZCA/IE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbkFsbG93ZWQgOiBOb3RpZmljYXRp
b25QcmVzZW50ZXI6OlBlcm1pc3Npb25EZW5pZWQpKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFN
KHJlcXVlc3RJRCk7CiAgICAgVU5VU0VEX1BBUkFNKGFsbG93ZWQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRp
b25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oCmluZGV4IDU1NzNjNmEx
MTE5ZWYyYjA2ZTdlZWMyZWM5MWMzYjNhZDdlY2Y3NWQuLmJhMzlmYmY3MmFmZTAyMGE1YmJmYzNk
MDUxOTViMzdiMjlmYmIzNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
Tm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3RNYW5hZ2VyLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNpZm5kZWYgTm90aWZp
Y2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyX2gKICNkZWZpbmUgTm90aWZpY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3RNYW5hZ2VyX2gKIAorI2luY2x1ZGUgPFdlYkNvcmUvTm90aWZpY2F0aW9u
UGVybWlzc2lvbkNhbGxiYWNrLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RpZmljYXRpb25QcmVz
ZW50ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1ZvaWRDYWxsYmFjay5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoTWFwLmg+CkBAIC00Niw3ICs0NywxMCBAQCBjbGFzcyBOb3RpZmljYXRpb25QZXJtaXNz
aW9uUmVxdWVzdE1hbmFnZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxOb3RpZmljYXRpb25QZXJtaQog
cHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlcj4gY3JlYXRlKFdlYlBhZ2UqKTsKICAgICAKKyAgICB2b2lkIHN0YXJ0UmVxdWVz
dChXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiosIFBhc3NSZWZQdHI8V2ViQ29yZTo6Tm90aWZpY2F0
aW9uUGVybWlzc2lvbkNhbGxiYWNrPik7CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05T
KQogICAgIHZvaWQgc3RhcnRSZXF1ZXN0KFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luKiwgUGFzc1Jl
ZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJhY2s+KTsKKyNlbmRpZgogICAgIHZvaWQgY2FuY2VsUmVx
dWVzdChXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiopOwogICAgIAogICAgIC8vIFN5bmNocm9ub3Vz
IGNhbGwgdG8gcmV0cmlldmUgcGVybWlzc2lvbiBsZXZlbCBmb3IgZ2l2ZW4gc2VjdXJpdHkgb3Jp
Z2luCkBAIC01Nyw3ICs2MSwxMCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIE5vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcihXZWJQYWdlKik7CiAgICAgCi0gICAgSGFzaE1hcDx1
aW50NjRfdCwgUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4gPiBtX2lkVG9DYWxsYmFja01h
cDsKKyAgICBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQdHI8V2ViQ29yZTo6Tm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrPiA+IG1faWRUb0NhbGxiYWNrTWFwOworI2lmIEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykKKyAgICBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQdHI8V2ViQ29yZTo6Vm9p
ZENhbGxiYWNrPiA+IG1faWRUb1ZvaWRDYWxsYmFja01hcDsKKyNlbmRpZgogICAgIEhhc2hNYXA8
UmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPiwgdWludDY0X3Q+IG1fb3JpZ2luVG9JRE1h
cDsKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+
ID4gbV9pZFRvT3JpZ2luTWFwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAK
aW5kZXggOTBlYjE2MWYyNmNkYjMzMDM2MTFiNGVhOGU2MDU4ZTY5ZWJjNTQwMy4uZGM1YmI3YTIz
Zjg2ZTM0NjU3Y2JhZTJkNTQ0MjE1MjMxNTRkMTljNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0
aW9uQ2xpZW50LmNwcApAQCAtNzcsNiArNzcsMTEgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25DbGll
bnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFAK
ICAgICBtX3BhZ2UtPm5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcigpLT5zdGFy
dFJlcXVlc3QoY29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKSwgY2FsbGJhY2spOwogfQogCit2b2lk
IFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2s+IGNhbGxiYWNrKQoreworICAgIG1fcGFnZS0+bm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyKCktPnN0YXJ0UmVxdWVzdChjb250ZXh0LT5zZWN1cml0eU9yaWdpbigpLCBjYWxs
YmFjayk7Cit9CisKIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpjYW5jZWxSZXF1ZXN0c0Zv
clBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKIHsKICAgICBtX3Bh
Z2UtPm5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcigpLT5jYW5jZWxSZXF1ZXN0
KGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50
LmgKaW5kZXggMTQ3YTg4YWMxMGRkODljNThjODM2MzBlNjVhZjRjNzQ4ZjBlMjU4MS4uMTQ5NGY5
ZDI3ODU1ODExNmYxOGJjOTllM2JmNmIzMTZjM2I0MDU2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNh
dGlvbkNsaWVudC5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RpZmlj
YXRpb25QcmVzZW50ZXIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgTm90aWZpY2F0
aW9uUGVybWlzc2lvbkNhbGxiYWNrOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIGNs
YXNzIFZvaWRDYWxsYmFjazsKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKQEAgLTUxLDkgKzUyLDEw
IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmaWNhdGlvbk9iamVjdERlc3Ryb3ll
ZChXZWJDb3JlOjpOb3RpZmljYXRpb24qKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgbm90
aWZpY2F0aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9p
ZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFz
c1JlZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJhY2s+KSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZv
aWQgcmVxdWVzdFBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBh
c3NSZWZQdHI8V2ViQ29yZTo6Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPikgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbihXZWJDb3Jl
OjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBOb3RpZmlj
YXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb24gY2hlY2tQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqKSBPVkVSUklERTsKLSAgICAKKwogICAgIFdlYlBhZ2UqIG1fcGFn
ZTsKIH07CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131185</attachid>
            <date>2012-03-10 13:11:32 -0800</date>
            <delta_ts>2012-03-10 13:51:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80485-20120310131246.patch</filename>
            <type>text/plain</type>
            <size>62351</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMzgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjUwM2IzZWU0MTVlZTdh
MzE1YjAzMDI2Y2Y0Y2VkNDk4MTFkMWU3MS4uMDM3NjEyNjgxY2NmODIyYzVkNjJjZjQxN2VjOWRk
NWE4MDIwNGNkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEyLTAzLTEwICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVu
Y3Rpb25zIHRvIE5vdGlmaWNhdGlvbiBmcm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzEwOTY1NDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsOiBCZWNhdXNl
IHRoZSBmdW5jdGlvbnMgYXJlIG9uIHRoZSBOb3RpZmljYXRpb24gb2JqZWN0IGl0c2VsZiwgd2Ug
bmVlZCB0bworICAgICAgICBkZWNsYXJlIGl0IGEgY29uc3RydWN0b3Igc28gdGhhdCBpdCBpcyBh
Y2Nlc3NpYmxlIGZyb20gRE9NV2luZG93LgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDog
QWRkIE5vdGlmaWNhdGlvbiBjb25zdHJ1Y3Rvci4KKworICAgICAgICAqIG5vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6cGVybWlz
c2lvbkxldmVsKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6c3RyaW5nRm9yUGVy
bWlzc2lvbik6IERlY2xhcmUgdGhyZWUgc3RhdGljIGxvY2FscyBmb3IgZWFjaCBvZiB0aGUgdmFs
dWVzLCBhbmQgcmV0dXJuCisgICAgICAgIGJhc2VkIG9uIHRoZSBwZXJtaXNzaW9uIGVudW0uCisg
ICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb246OnJlcXVlc3RQZXJtaXNzaW9uKTogRm9yd2Fy
ZCByZXF1ZXN0IHRvIGNsaWVudC4KKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5oOgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2suaDogQWRkZWQuCisgICAgICAgIChOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sp
OgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrOjp+Tm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrKToKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGw6IEFkZGVkLgorCisgICAgICAgICogbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwOiBXcmFwIHBlcm1pc3Npb24gZnVuY3Rp
b25zIGluIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5oOiBXcmFwIHBlcm1pc3Npb24gZnVuY3Rpb25zIGluIEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbkNlbnRlci5pZGw6IFdyYXAgcGVybWlzc2lvbiBmdW5jdGlvbnMgaW4gRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQorICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
UHJlc2VudGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXI6OnJl
cXVlc3RQZXJtaXNzaW9uKTogQWRkIG5ldyByZXF1ZXN0UGVybWlzc2lvbigpIGZ1bmN0aW9uIGZv
ciBuZXcKKyAgICAgICAgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrIHR5cGUuIE1ha2Ug
aXQgYSBzdHViIGltcGxlbWVudGF0aW9uIHVudGlsIGFsbCBwb3J0cyBoYXZlIGFkb3B0ZWQuCisK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcDog
RW5jYXBzdWxhdGUgd2l0aCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpIHNpbmNlCisgICAg
ICAgIHRoZSByZXF1ZXN0UGVybWlzc2lvbigpIGZ1bmN0aW9uIGlzIG1vdmluZyB0byBOb3RpZmlj
YXRpb24uCisgICAgICAgICogYmluZGluZ3MvanMvSlNOb3RpZmljYXRpb25zQ3VzdG9tLmNwcDog
Q3VzdG9tIGltcGxlbWVudGF0aW9uIG9mIHJlcXVlc3RQZXJtaXNzaW9uKCkuCisgICAgICAgICog
YmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcDogQ3VzdG9tIGltcGxl
bWVudGF0aW9uIG9mIHJlcXVlc3RQZXJtaXNzaW9uKCkuCisKKyAgICAgICAgKiBDTWFrZUxpc3Rz
LnR4dDogQWRkIG5ldyBjYWxsYmFjayBpZGwuCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFr
ZTogQWRkIG5ldyBjYWxsYmFjayBpZGwuCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbTog
QWRkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjayBmaWxlcy4KKyAgICAgICAgKiBUYXJn
ZXQucHJpOiBJbmNsdWRlIEpTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcCwgVjhOb3RpZmljYXRpb25D
dXN0b20uY3BwCisgICAgICAgICogVXNlSlNDLmNtYWtlOiBJbmNsdWRlIEpTTm90aWZpY2F0aW9u
Q3VzdG9tLmNwcAorICAgICAgICAqIFVzZVY4LmNtYWtlOiBJbmNsdWRlIFY4Tm90aWZpY2F0aW9u
Q3VzdG9tLmNwcAorICAgICAgICAqIFdlYkNvcmUuZ3lwaTogSW5jbHVkZSBKU05vdGlmaWNhdGlv
bkN1c3RvbS5jcHAsIFY4Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcCwgSlNOb3RpZmljYXRpb25QZXJt
aXNzaW9uQ2FsbGJhY2sue2gsY3BwfQorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qOiBJbmNsdWRlIEpTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcCwgSlNOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uQ2FsbGJhY2sue2gsY3BwfQorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOiBFeHBv
cnQgc3RyaW5nRm9yUGVybWlzc2lvbigpLgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajogQWRkIGNhbGxiYWNrIGlkbCwgaCwgYW5kIGNwcCBmaWxlcy4KKwogMjAx
Mi0wMy0wOSAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIE5v
dGlmaWNhdGlvblByZXNlbnRlciB0byBOb3RpZmljYXRpb25DbGllbnQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpp
bmRleCA3NjE5ZDFmYjZmZWNhMDM5YjMyZjRlY2Y1YmI0ODZlOTJhOGUwNDBmLi4zOTg0NDg1NWM1
YjRhNWUyNjM1ZmJiOTAyNWRhNDE0MDBiZWZjM2M5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDUg
KzEsMjIgQEAKIDIwMTItMDMtMDkgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgogCisgICAg
ICAgIE1pZ3JhdGUgcGVybWlzc2lvbiBmdW5jdGlvbnMgdG8gTm90aWZpY2F0aW9uIGZyb20gTm90
aWZpY2F0aW9uQ2VudGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD04MDQ4NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTA5NjU0NTg+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9XZWJOb3RpZmljYXRpb25DbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJO
b3RpZmljYXRpb25DbGllbnQubW06IEFkZCBuZXcgbWVtYmVyIHZhcmlhYmxlIHRvIGhhbmRsZSBi
b3RoIGtpbmRzIG9mIGNhbGxiYWNrcy4KKyAgICAgICAgKFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6
cmVxdWVzdFBlcm1pc3Npb24pOiBBZGQgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrIHZl
cnNpb24gb2YgdGhlIHNhbWUKKyAgICAgICAgZnVuY3Rpb24uCisgICAgICAgICgtW1dlYk5vdGlm
aWNhdGlvblBvbGljeUxpc3RlbmVyIGluaXRXaXRoQ2FsbGJhY2s6XSk6CisgICAgICAgICgtW1dl
Yk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGluaXRXaXRoVm9pZENhbGxiYWNrOl0pOgorICAg
ICAgICAoLVtXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciBhbGxvd10pOgorICAgICAgICAo
LVtXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciBkZW55XSk6CisKKzIwMTItMDMtMDkgIEpv
biBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCiAgICAgICAgIFJlbmFtZSBOb3RpZmljYXRpb25Q
cmVzZW50ZXIgdG8gTm90aWZpY2F0aW9uQ2xpZW50CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQ4OAogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTA5
NjU1NTg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKaW5kZXggNDFiYTNiYzZhNjNkNDM5ZTlhMDZlMGRkN2Y1ZTFmNTJiYmFm
ZWY0Mi4uNTI5MDM3N2U5ZWE0MGQwMWY2MmQ2ZDU2NzY4OWM2NGQwODVlNWJhZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwpAQCAtMSw1ICsxLDI2IEBACiAyMDEyLTAzLTA5ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNv
bT4KIAorICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVuY3Rpb25zIHRvIE5vdGlmaWNhdGlv
biBmcm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwOTY1NDU4
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2Vi
UHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
ci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlcjo6c3RhcnRSZXF1ZXN0KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6
Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6ZGlkUmVjZWl2ZU5vdGlmaWNh
dGlvblBlcm1pc3Npb25EZWNpc2lvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9Ob3RpZmljYXRp
b25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oOgorICAgICAgICAoTm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pc3Npb24pOgorICAgICAgICAo
V2ViS2l0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNh
dGlvbkNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJOb3RpZmljYXRp
b25DbGllbnQpOgorCisyMDEyLTAzLTA5ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKwog
ICAgICAgICBSZW5hbWUgTm90aWZpY2F0aW9uUHJlc2VudGVyIHRvIE5vdGlmaWNhdGlvbkNsaWVu
dAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODgK
ICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwOTY1NTU4PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRl
eCAyZmNjMjY1NTczMzI2Mzk1Y2E0NDAyNDQ0Y2QwMGE4ZThjY2FjMjIwLi5jNTQ1ZTRlZGE2YzZi
MTE0ZDZmM2Q3MjZiMmRkNTkzOTgwYjljNzVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTYz
MSw2ICsxNjMxLDcgQEAgSUYgKEVOQUJMRV9OT1RJRklDQVRJT05TKQogICAgIExJU1QoQVBQRU5E
IFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgICAgIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlk
bAogICAgICAgICBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwKKyAgICAgICAg
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsCiAgICAgKQog
RU5ESUYgKCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMjQ2MDY4MzNhNTc2
ZDhkN2ZiNTgxYzFiMzY1YWY2ZDYwOGQyMWM2NS4uNDQzZjZmMmQxYjFlNGY2ZDIwZjY0YzIzYTMw
YWY0MjQzY2UzOTNlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xLDQgKzEs
NCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorIyBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMTIgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVs
IFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+IAogIyBDb3B5cmlnaHQgKEMpIDIwMDkgQ2Ft
ZXJvbiBNY0Nvcm1hY2sgPGNhbUBtY2MuaWQuYXU+CiAjCkBAIC0zNTUsNiArMzU1LDcgQEAgQklO
RElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0
aW9uQ2FjaGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5p
ZGwgXAorICAgICQoV2ViQ29yZSkvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2suaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvQWJzdHJhY3RWaWV3LmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9wYWdlL0JhckluZm8uaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvQ29u
c29sZS5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJp
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCmluZGV4IGFmNGY1YjUwYjg1N2Yy
MmYxMGI0YzU3YjNkYWQ4ZTFkMjg4MzVhZDguLmRjYzVjYmY4Y2E2NDVhYmUzNDQzZTY5OGIyMWNi
MzA5M2FlYjkwZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnBy
aQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKQEAgLTM3Nyw2ICszNzcs
NyBAQCBJRExfQklORElOR1MgKz0gXAogICAgICQkUFdEL2xvYWRlci9hcHBjYWNoZS9ET01BcHBs
aWNhdGlvbkNhY2hlLmlkbCBcCiAgICAgJCRQV0Qvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24u
aWRsIFwKICAgICAkJFBXRC9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwgXAor
ICAgICQkUFdEL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlk
bCBcCiAgICAgJCRQV0QvcGFnZS9CYXJJbmZvLmlkbCBcCiAgICAgJCRQV0QvcGFnZS9Db25zb2xl
LmlkbCBcCiAgICAgJCRQV0QvcGFnZS9Db29yZGluYXRlcy5pZGwgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KaW5kZXggMmJkMWY2NTRjOTBkYzcyNTlhYjkyNjM3NTNlYmJkNzMyMzMxYmQx
Yi4uZjlhYWJiM2I5NjYyYzI0ZmQwNWM5ZTQ0ZDgxMWMyNGIyNGRiZTE4YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCkBAIC00MjAsNiArNDIwLDggQEAgd2ViY29yZV9idWlsdF9zb3Vy
Y2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uQ2VudGVyLmgg
XAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb3RpZmljYXRpb24uY3BwIFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suY3BwIFwKKwlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNPRVNTdGFuZGFyZERlcml2YXRpdmVzLmNwcCBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU09FU1RleHR1cmVGbG9hdC5jcHAgXApAQCAtOTAwLDYgKzkwMiw3IEBAIGRv
bV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxp
Y2F0aW9uQ2FjaGUuaWRsIFwKIAkkKFdlYkNvcmUpL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
LmlkbCBcCiAJJChXZWJDb3JlKS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwg
XAorCSQoV2ViQ29yZSkvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2suaWRsIFwKIAkkKFdlYkNvcmUpL3BhZ2UvQmFySW5mby5pZGwgXAogCSQoV2ViQ29yZSkvcGFn
ZS9Db25zb2xlLmlkbCBcCiAJJChXZWJDb3JlKS9wYWdlL0Nvb3JkaW5hdGVzLmlkbCBcCkBAIC0y
ODI4LDYgKzI4MzEsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uLmggXAorCVNvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvYW5p
bWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlv
bi9BbmltYXRpb25CYXNlLmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1h
dGlvbkNvbnRyb2xsZXIuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5w
cmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDU2YzE3ZjNmY2FiZTYwNmNkYjBh
Y2JlNmVlZWQ0ZDMwMTNkOTQxZDYuLjk4MjliNDIxODRmNWEyNmZhNjIzOGNiZjI5Y2M5MjcxN2U4
MGJlMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMjMzLDYgKzIzMyw3IEBAIHY4IHsKICAgICAgICAgXAog
ICAgICAgICBiaW5kaW5ncy92OC9zcGVjaWFsaXphdGlvbi9WOEJpbmRpbmdTdGF0ZS5jcHBcCiAg
ICAgICAgIFwKKyAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ3VzdG9t
LmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkNlbnRlckN1
c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhDb25zb2xlQ3VzdG9tLmNw
cCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFRyYW5zYWN0aW9uU3luY0N1c3Rv
bS5jcHAgXApAQCAtMzQxLDYgKzM0Miw3IEBAIHY4IHsKICAgICAgICAgYmluZGluZ3MvanMvSlNO
b2RlRmlsdGVyQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTTm9kZUl0ZXJhdG9y
Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTTm9kZUxpc3RDdXN0b20uY3BwIFwK
KyAgICAgICAgYmluZGluZ3MvanMvSlNOb3RpZmljYXRpb25DdXN0b20uY3BwIFwKICAgICAgICAg
YmluZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcCBcCiAgICAgICAgIGJpbmRp
bmdzL2pzL0pTUG9wU3RhdGVFdmVudEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9K
U1Byb2Nlc3NpbmdJbnN0cnVjdGlvbkN1c3RvbS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvVXNlSlNDLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCmluZGV4IDA5
MDM4ZGQ2ODQ4NzdlMWY4MjAyMTkyNzVlNzgyZWIxMzA4M2EyNjYuLjdlNjdmMzI3NDYwNDA4YzI3
OGY4MGU3ODhjNTU3ZjZiNjQ5NzQ0OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1VzZUpT
Qy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKQEAgLTEwOSw2ICsxMDks
NyBAQCBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5ncy9qcy9KU05vZGVG
aWx0ZXJDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNOb2RlSXRlcmF0b3JDdXN0b20uY3Bw
CiAgICAgYmluZGluZ3MvanMvSlNOb2RlTGlzdEN1c3RvbS5jcHAKKyAgICBiaW5kaW5ncy9qcy9K
U05vdGlmaWNhdGlvbkN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1BsdWdpbkVsZW1lbnRG
dW5jdGlvbnMuY3BwCiAgICAgYmluZGluZ3MvanMvSlNQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcAog
ICAgIGJpbmRpbmdzL2pzL0pTUHJvY2Vzc2luZ0luc3RydWN0aW9uQ3VzdG9tLmNwcApAQCAtMjI4
LDYgKzIyOSw3IEBAIEVORElGICgpCiBJRiAoRU5BQkxFX05PVElGSUNBVElPTlMpCiAgICAgTElT
VChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTRGVza3RvcE5v
dGlmaWNhdGlvbnNDdXN0b20uY3BwCisgICAgICAgIGJpbmRpbmdzL2pzL0pTTm90aWZpY2F0aW9u
c0N1c3RvbS5jcHAKICAgICApCiBFTkRJRiAoKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Vc2VWOC5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtlCmluZGV4IGI4ZjVmZDI2
N2VhNWEzZWI5MmQ4OTE5ZGExNGFkZDUzNDZhZjc4ZTAuLjBhZDVmOTMzOWQzZjY0NWYwYjY0OTIx
MGE2ZWUzZjUzNTNhNTFhNzMgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtl
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtlCkBAIC0xMzcsNiArMTM3LDcgQEAgTElT
VChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWRO
b2Rlc0NvbGxlY3Rpb24uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUN1c3RvbS5j
cHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlTGlzdEN1c3RvbS5jcHAKKyAgICBiaW5k
aW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DdXN0b20uY3BwCiAgICAgYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2VudGVyQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOFBlcmZvcm1hbmNlQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFBv
cFN0YXRlRXZlbnRDdXN0b20uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDU5MGI3YzUwZmJi
OWMyOGJmMjJlZjJmM2UzZmMyNGU0MTg2MDI1ODUuLjgwMDZmYjk5NmIwMWViZDUwNTJlZGI1N2Vm
YmU1YTE4ZjkzMjQ0NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0yMTIzLDYgKzIxMjMsNyBA
QCBfX1pON1dlYkNvcmUxMk5vdGlmaWNhdGlvbjE3ZGlzcGF0Y2hTaG93RXZlbnRFdgogX19aTjdX
ZWJDb3JlMTJOb3RpZmljYXRpb24xOGRpc3BhdGNoQ2xpY2tFdmVudEV2CiBfX1pON1dlYkNvcmUx
Mk5vdGlmaWNhdGlvbjE4ZGlzcGF0Y2hDbG9zZUV2ZW50RXYKIF9fWk43V2ViQ29yZTEyTm90aWZp
Y2F0aW9uMThkaXNwYXRjaEVycm9yRXZlbnRFdgorX19aTjdXZWJDb3JlMTJOb3RpZmljYXRpb24x
OXN0cmluZ0ZvclBlcm1pc3Npb25FTlNfMThOb3RpZmljYXRpb25DbGllbnQxMFBlcm1pc3Npb25F
CiBfX1pON1dlYkNvcmUxOXByb3ZpZGVOb3RpZmljYXRpb25FUE5TXzRQYWdlRVBOU18xOE5vdGlm
aWNhdGlvbkNsaWVudEUKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggNzY4NTcyNjc0ZjE1
ZWIzYzlhMDAyMTMxYmQwNzNmZWMxMTE0ZGU3ZS4uYTA5NDk2NjhhNDI0ZTBiMzMxM2Y0ZWFhMTcw
N2I1YTlhY2VhY2MwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTA1Myw2ICsxMDUzLDcgQEAKICAg
ICAgICAgICAgICdsb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5pZGwnLAogICAg
ICAgICAgICAgJ25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbCcsCiAgICAgICAgICAgICAn
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsJywKKyAgICAgICAgICAgICdub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwnLAogICAgICAgICAg
ICAgJ3BhZ2UvQWJzdHJhY3RWaWV3LmlkbCcsCiAgICAgICAgICAgICAncGFnZS9CYXJJbmZvLmlk
bCcsCiAgICAgICAgICAgICAncGFnZS9Db25zb2xlLmlkbCcsCkBAIC0xNzcwLDYgKzE3NzEsNyBA
QAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTm9kZUZpbHRlckN1c3RvbS5jcHAnLAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTm9kZUl0ZXJhdG9yQ3VzdG9tLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvanMvSlNOb2RlTGlzdEN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2Jp
bmRpbmdzL2pzL0pTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGlu
Z3MvanMvSlNQZWVyQ29ubmVjdGlvbkN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdz
L2pzL0pTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdz
L2pzL0pTUG9wU3RhdGVFdmVudEN1c3RvbS5jcHAnLApAQCAtMjA3Nyw2ICsyMDc5LDcgQEAKICAg
ICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVzQ29sbGVjdGlvbi5oJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUxpc3RDdXN0b20uY3BwJywKKyAgICAg
ICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DdXN0b20uY3BwJywKICAg
ICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DZW50ZXJDdXN0b20u
Y3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhQZXJmb3JtYW5jZUN1c3Rv
bS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFBvcFN0YXRlRXZlbnRD
dXN0b20uY3BwJywKQEAgLTI3ODQsNiArMjc4Nyw3IEBACiAgICAgICAgICAgICAnbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25Db250ZW50cy5oJywKICAgICAgICAgICAgICdub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuY3BwJywKICAgICAgICAgICAgICdub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaCcsCisgICAgICAgICAgICAnbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAncGFnZS9CYXJJ
bmZvLmNwcCcsCiAgICAgICAgICAgICAncGFnZS9CYXJJbmZvLmgnLAogICAgICAgICAgICAgJ3Bh
Z2UvQ2hyb21lLmNwcCcsCkBAIC03NTAxLDYgKzc1MDUsOCBAQAogICAgICAgICAgICAgJzwoUFJP
RFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb3RpZmljYXRpb24uaCcsCiAgICAg
ICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05vdGlmaWNh
dGlvbkNlbnRlci5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNOb3RpZmljYXRpb25DZW50ZXIuaCcsCisgICAgICAgICAgICAnPChQUk9E
VUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5jcHAnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCcsCiAgICAgICAgICAg
ICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU09FU1N0YW5kYXJkRGVy
aXZhdGl2ZXMuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5oJywKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VTVGV4dHVyZUZsb2F0LmNwcCcs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDNh
ZDA5Y2Y0NTQ4ZWQ4ZDNmNDY5ZTdjNjA5MjRkOTFmMzQ3YTgyYWUuLmRlYWE3MWZkZjEyZGM5YzFi
YzZmZTQ3NmM2Y2RkNDYwY2RiMmMyMDYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCkBAIC0xMjA5MCw2ICsxMjA5MCw2MiBAQAogCQkJCT4KIAkJCTwv
RmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERp
cilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgor
CQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJS
ZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJ
CQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1
Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQor
CQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIgor
CQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3Vy
YXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTT3BlcmF0
aW9uTm90QWxsb3dlZEV4Y2VwdGlvbi5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtNjcyNzMs
NiArNjczMjksNTggQEAKIAkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCQk8L0ZpbGU+CiAJ
CQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU05vdGlmaWNhdGlv
bkN1c3RvbS5jcHAiCisJCQkJCT4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1l
PSJEZWJ1Z3xXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgor
CQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlO
YW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJ
CQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkv
PgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVD
b25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2lu
MzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29s
CisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUHJvZHVj
dGlvbnxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJ
CQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRp
dmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuY3BwIgogCQkJ
CQk+CiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDJlOTA1OWViMzczZTkxYjk4NmViYzc5
MTY0NTI0ZWYyNjM0OWYzODYuLjYyNjE1YWQ4OTFiYjA2MDJlNDU3MjI3NDk4ODY4ZDg3Yjc5NTVk
NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTg5OSw2ICs4OTksOCBAQAogCQkzMUMwRkY0QzBFNENFRkREMDA3RDZGRTUgLyog
RE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMUMwRkY0NjBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJh
bnNpdGlvbkV2ZW50LmggKi87IH07CiAJCTMxQzBGRjREMEU0Q0VGREQwMDdENkZFNSAvKiBET01X
ZWJLaXRUcmFuc2l0aW9uRXZlbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzMUMwRkY0NzBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNp
dGlvbkV2ZW50Lm1tICovOyB9OwogCQkzMUMwRkY0RTBFNENFRkREMDA3RDZGRTUgLyogRE9NV2Vi
S2l0VHJhbnNpdGlvbkV2ZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDMxQzBGRjQ4MEU0Q0VGREQwMDdENkZFNSAvKiBET01XZWJLaXRU
cmFuc2l0aW9uRXZlbnRJbnRlcm5hbC5oICovOyB9OworCQkzMUVDMUUyODE0RkY2MEVFMDBDOTQ2
NjIgLyogSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFFQzFFMjYxNEZGNjBFRTAwQzk0NjYy
IC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmNwcCAqLzsgfTsKKwkJMzFFQzFF
MjkxNEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUVDMUUyNzE0
RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCAqLzsg
fTsKIAkJMzFGQjFBNTcxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNsaWVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNEYxMjBB
NUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNsaWVudC5oICovOyB9OwogCQkzMUZCMUE1ODEy
MEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE1MDEyMEE1RDA2MDBEQzAy
QTAgLyogRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHAgKi87IH07CiAJCTMxRkIxQTU5MTIwQTVE
MDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE1MTEyMEE1RDA2MDBEQzAyQTAgLyog
RGV2aWNlTW90aW9uQ29udHJvbGxlci5oICovOyB9OwpAQCAtOTA5LDYgKzkxMSw4IEBACiAJCTMx
RkIxQTY1MTIwQTVEM0YwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTYzMTIwQTVEM0Yw
MERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmNwcCAqLzsgfTsKIAkJMzFGQjFBNjYxMjBB
NUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTY0MTIwQTVEM0YwMERDMDJBMCAvKiBK
U0RldmljZU1vdGlvbkV2ZW50LmggKi87IH07CiAJCTMxRkIxQTZDMTIwQTVENjkwMERDMDJBMCAv
KiBKU0RldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTZCMTIwQTVENjkwMERDMDJBMCAvKiBKU0Rldmlj
ZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCAqLzsgfTsKKwkJMzFGRTZERkExNTAwNEMyQTAwMDRFQkM0
IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFFQzFEQUMxNEZGMjZFQTAwQzk0NjYyIC8qIE5v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTMxRkU2RTZEMTUwMUEzQkYwMDA0RUJDNCAvKiBKU05v
dGlmaWNhdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMUZFNkU2QzE1MDFBM0JGMDAwNEVCQzQgLyogSlNOb3RpZmljYXRpb25DdXN0
b20uY3BwICovOyB9OwogCQkzMzE0QUNFQjEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25C
YXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMz
MTRBQ0U5MTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuY3BwICovOyB9OwogCQkz
MzE0QUNFQzEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25CYXNlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzE0QUNFQTEwODkyMDg2MDAwRjBF
NTYgLyogSlNFeGNlcHRpb25CYXNlLmggKi87IH07CiAJCTMzNTAzQzlBMTAxNzlBNzQwMDNCNDdF
MSAvKiBOb3RpZmljYXRpb25DbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDMzNTAzQzk5MTAxNzlBNzQwMDNCNDdFMSAvKiBOb3RpZmljYXRpb25D
bGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpA
QCAtNzc1NCw2ICs3NzU4LDEwIEBACiAJCTMxQzBGRjQ2MEU0Q0VGREQwMDdENkZFNSAvKiBET01X
ZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTMxQzBGRjQ3MEU0Q0VGREQwMDdENkZFNSAvKiBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnQubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01XZWJLaXRUcmFuc2l0
aW9uRXZlbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQzBGRjQ4MEU0Q0VG
REQwMDdENkZFNSAvKiBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnRJbnRlcm5hbC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnRJbnRlcm5h
bC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUVDMUQ1MDE0RkVGRDA4MDBDOTQ2
NjIgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IG5hbWUgPSBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsOyBwYXRoID0gbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkzMUVDMURBQzE0RkYyNkVBMDBDOTQ2NjIgLyogTm90aWZpY2F0aW9u
UGVybWlzc2lvbkNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjay5oOyBwYXRoID0gbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFFQzFFMjYxNEZGNjBF
RTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNh
bGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFFQzFFMjcxNEZGNjBF
RTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNr
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxRkIxQTRGMTIwQTVEMDYwMERDMDJB
MCAvKiBEZXZpY2VNb3Rpb25DbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRGV2aWNlTW90aW9uQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMx
RkIxQTUwMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERldmljZU1vdGlvbkNvbnRyb2xsZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUZCMUE1MTEyMEE1RDA2MDBEQzAy
QTAgLyogRGV2aWNlTW90aW9uQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC03NzY1LDYgKzc3NzMsNyBAQAogCQkzMUZCMUE2MzEyMEE1RDNGMDBEQzAyQTAgLyog
SlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0RldmljZU1vdGlvbkV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMzFGQjFBNjQxMjBBNUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEZXZpY2VNb3Rpb25FdmVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUZCMUE2QjEyMEE1RDY5MDBEQzAyQTAgLyogSlNE
ZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0RldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMzFGRTZFNkMxNTAxQTNCRjAwMDRFQkM0IC8qIEpTTm90aWZpY2F0aW9uQ3Vz
dG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTm90aWZpY2F0
aW9uQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzMxNEFDRTkxMDg5
MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU0V4Y2VwdGlvbkJhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkzMzE0QUNFQTEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25CYXNlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRXhjZXB0aW9uQmFzZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMzNGNzA0RTBGQjQ5Q0EyMDA4RTEyQTYgLyogTm90
aWZpY2F0aW9uLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBOb3RpZmljYXRpb24uaWRsOyBw
YXRoID0gbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMTQzOTUsNiArMTQ0MDQsOCBAQAogCQkJCTMzOTBDQTU0MEZGQzE1N0IwMDky
MTk2MiAvKiBOb3RpZmljYXRpb25Db250ZW50cy5oICovLAogCQkJCTMxMjhDQTY3MTQ3MzMxNTIw
MDc0QzcyQSAvKiBOb3RpZmljYXRpb25Db250cm9sbGVyLmNwcCAqLywKIAkJCQkzMTI4Q0E2QTE0
NzMzMTYzMDA3NEM3MkEgLyogTm90aWZpY2F0aW9uQ29udHJvbGxlci5oICovLAorCQkJCTMxRUMx
RDUwMTRGRUZEMDgwMEM5NDY2MiAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRs
ICovLAorCQkJCTMxRUMxREFDMTRGRjI2RUEwMEM5NDY2MiAvKiBOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2suaCAqLywKIAkJCSk7CiAJCQluYW1lID0gbm90aWZpY2F0aW9uczsKIAkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0xNDQwNiw2ICsxNDQxNyw4IEBACiAJCQkJMzM1MDND
QTAxMDE3OUFENzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uLmggKi8sCiAJCQkJMzM1MDNDQTEx
MDE3OUFENzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uQ2VudGVyLmNwcCAqLywKIAkJCQkzMzUw
M0NBMjEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb25DZW50ZXIuaCAqLywKKwkJCQkz
MUVDMUUyNjE0RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2suY3BwICovLAorCQkJCTMxRUMxRTI3MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjay5oICovLAogCQkJKTsKIAkJCW5hbWUgPSBOb3RpZmljYXRpb25z
OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTE5NjczLDYgKzE5Njg2LDcgQEAKIAkJ
CQlCQ0I3NzM2MDBDMTc4NTNEMDAxMzJCQTQgLyogSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcCAqLywK
IAkJCQkxQTc1MEREMzBBOTBFNzI5MDAwRkYyMTUgLyogSlNOb2RlSXRlcmF0b3JDdXN0b20uY3Bw
ICovLAogCQkJCUJDRDlDMjYxMEMxN0FBNjcwMDVDOTBBMiAvKiBKU05vZGVMaXN0Q3VzdG9tLmNw
cCAqLywKKwkJCQkzMUZFNkU2QzE1MDFBM0JGMDAwNEVCQzQgLyogSlNOb3RpZmljYXRpb25DdXN0
b20uY3BwICovLAogCQkJCUE4NUYyMjA4MTQzMDM3N0QwMDdDQzg4NCAvKiBKU1BvcFN0YXRlRXZl
bnRDdXN0b20uY3BwICovLAogCQkJCUUxQUQxMkQ1MTI5NUQwQkQwMEFDQTk4OSAvKiBKU1Byb2Nl
c3NpbmdJbnN0cnVjdGlvbkN1c3RvbS5jcHAgKi8sCiAJCQkJNDk5OEFFRDMxM0ZDNDE3RjAwOTBC
MUFBIC8qIEpTUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2tDdXN0b20uY3BwICovLApAQCAt
MjQ1NjYsNiArMjQ1ODAsOCBAQAogCQkJCUUxQ0RFOTIyMTUwMTkxNjkwMDg2MkNDNSAvKiBBc3lu
Y0ZpbGVTdHJlYW0uaCBpbiBIZWFkZXJzICovLAogCQkJCTQ1MENFQkYxMTUwNzNCQkUwMDJCQjE0
OSAvKiBMYWJlbGFibGVFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlDNUI0QzI0RDE1MDky
MzZDMDBBNkVGMzcgLyogV2ViQ29yZU5TVVJMRXh0cmFzLmggaW4gSGVhZGVycyAqLywKKwkJCQkz
MUVDMUUyOTE0RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2suaCBpbiBIZWFkZXJzICovLAorCQkJCTMxRkU2REZBMTUwMDRDMkEwMDA0RUJDNCAvKiBOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1
bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjc1NDQsNiAr
Mjc1NjAsOCBAQAogCQkJCTQ1MENFQkYwMTUwNzNCQkUwMDJCQjE0OSAvKiBMYWJlbGFibGVFbGVt
ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUM1QjRDMjRFMTUwOTIzNkMwMEE2RUYzNyAvKiBX
ZWJDb3JlTlNVUkxFeHRyYXMubW0gaW4gU291cmNlcyAqLywKIAkJCQk5QjJCN0FDMTE1MDk4NTBB
MDA4OTMyQ0MgLyogTWljcm9EYXRhSXRlbVZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMx
RUMxRTI4MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFj
ay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkzMUZFNkU2RDE1MDFBM0JGMDAwNEVCQzQgLyogSlNO
b3RpZmljYXRpb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20uY3Bw
CmluZGV4IDE2YTk2MmM1NjI5YTM1OWQ1ZGM3Y2U4ZTIyYmFkODUwNjVlOTEyY2UuLmEzNjIwYjg5
YjcyZDhjZjlmNjMxMzNiODY2YmJlMDk0YjVjMjFiYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20uY3Bw
CkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAg
LTMwLDE0ICszMSwxMiBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgJiYgRU5BQkxFKExFR0FDWV9O
T1RJRklDQVRJT05TKQogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJKU0N1c3Rv
bVZvaWRDYWxsYmFjay5oIgogI2luY2x1ZGUgIkpTRXZlbnRMaXN0ZW5lci5oIgotI2luY2x1ZGUg
IkpTTm90aWZpY2F0aW9uLmgiCiAjaW5jbHVkZSAiSlNOb3RpZmljYXRpb25DZW50ZXIuaCIKLSNp
bmNsdWRlICJOb3RpZmljYXRpb24uaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25DZW50ZXIuaCIK
ICNpbmNsdWRlIDxydW50aW1lL0Vycm9yLmg+CiAKQEAgLTY4LDYgKzY3LDYgQEAgSlNWYWx1ZSBK
U05vdGlmaWNhdGlvbkNlbnRlcjo6cmVxdWVzdFBlcm1pc3Npb24oRXhlY1N0YXRlKiBleGVjKQog
ICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogfQogCi19IC8vIG5hbWVzcGFjZQorfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpCisjZW5kaWYg
Ly8gRU5BQkxFKE5PVElGSUNBVElPTlMpICYmICFFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vdGlmaWNhdGlvbkN1
c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vdGlmaWNhdGlvbkN1c3Rv
bS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjM5NTc2NTc3YTgwOGMxMDFkYjhiNzU1ODAzMzkwNDgzOTUxZmJm
MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm90aWZp
Y2F0aW9uQ3VzdG9tLmNwcApAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEyIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpCisjaW5jbHVkZSAiSlNOb3RpZmljYXRpb24uaCIKKworI2luY2x1ZGUg
IkNhbGxiYWNrRnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU05vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5oIgorI2luY2x1ZGUgPHJ1bnRpbWUvRXJyb3IuaD4KKwordXNpbmcgbmFtZXNwYWNl
IEpTQzsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitKU1ZhbHVlIEpTTm90aWZpY2F0aW9uOjpy
ZXF1ZXN0UGVybWlzc2lvbihFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgLy8gQXJndW1lbnRzOiBO
b3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sKKyAgICBpZiAoIWV4ZWMtPmFyZ3VtZW50KDAp
LmlzT2JqZWN0KCkpCisgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcihleGVjKTsKKyAgICAK
KyAgICBSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBjYWxsYmFjayA9IGNy
ZWF0ZUZ1bmN0aW9uT25seUNhbGxiYWNrPEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNr
PihleGVjLCBzdGF0aWNfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4ZWMtPmxleGljYWxHbG9i
YWxPYmplY3QoKSksIGV4ZWMtPmFyZ3VtZW50KDApKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0
aW9uKCkpCisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworICAgIAorICAgIEFTU0VSVChj
YWxsYmFjayk7CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0Q29udGV4dCA9IHN0
YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgp
KS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworICAgIE5vdGlmaWNhdGlvbjo6cmVxdWVzdFBl
cm1pc3Npb24oc2NyaXB0Q29udGV4dCwgY2FsbGJhY2sucmVsZWFzZSgpKTsKKyAgICByZXR1cm4g
anNVbmRlZmluZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8g
RU5BQkxFKE5PVElGSUNBVElPTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYjEz
Mzc1ODJjNDAwMmI5YTZiODljMTUzZjJjMjE0MjJkMjIxZmQ5Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ3VzdG9tLmNw
cApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4g
QWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
CisjaW5jbHVkZSAiVjhOb3RpZmljYXRpb24uaCIKKworI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUu
aCIKKyNpbmNsdWRlICJWOE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOE5vdGlmaWNhdGlvbjo6
cmVxdWVzdFBlcm1pc3Npb25DYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQorewor
ICAgIElOQ19TVEFUUyhMIkRPTS5Ob3RpZmljYXRpb24uUmVxdWVzdFBlcm1pc3Npb24oKSIpOwor
CisgICAgTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24gPSBWOE5vdGlmaWNhdGlvbjo6dG9OYXRp
dmUoYXJncy5Ib2xkZXIoKSk7CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCA9
IG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworCisgICAgYm9vbCBzdWNj
ZWVkZWQgPSBmYWxzZTsKKyAgICBSZWZQdHI8VjhOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2s+IGNhbGxiYWNrID0gY3JlYXRlRnVuY3Rpb25Pbmx5Q2FsbGJhY2s8VjhOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uQ2FsbGJhY2s+KGFyZ3NbMF0sIHN1Y2NlZWRlZCk7CisgICAgaWYgKCFzdWNjZWVk
ZWQpCisgICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CisgICAgQVNTRVJUKGNhbGxiYWNr
KTsKKworICAgIE5vdGlmaWNhdGlvbjo6cmVxdWVzdFBlcm1pc3Npb24oY29udGV4dCwgY2FsbGJh
Y2sucmVsZWFzZSgpKTsKKyAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAppbmRleCA1ZGUwZTUy
N2M2YTMzMzg2NTU4MTU4YWU0ODk0NTNiZDBhNWJmOWQ2Li43YjYwMGE5NDgxN2NkOThlNjA5ZGUw
ZDM1ZjJkMTIxYzRkYzYxYTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb24uY3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAw
OSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA5
LCAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAwOSwgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zNSwxMiArMzUsMTQgQEAKIAogI2luY2x1
ZGUgIk5vdGlmaWNhdGlvbi5oIgogCisjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAi
RG9jdW1lbnQuaCIKICNpbmNsdWRlICJFcnJvckV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1l
cy5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNlbnRlci5oIgotI2luY2x1ZGUgIk5vdGlmaWNh
dGlvbkNsaWVudC5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNvbnRlbnRzLmgiCisjaW5jbHVk
ZSAiTm90aWZpY2F0aW9uQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIk5vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjay5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUg
IlJlc291cmNlUmVzcG9uc2UuaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVyLmgiCkBAIC0y
MDEsNiArMjAzLDM4IEBAIHZvaWQgTm90aWZpY2F0aW9uOjpzdG9wTG9hZGluZygpCiAgICAgbV9s
b2FkZXItPmNhbmNlbCgpOwogfQogCitjb25zdCBTdHJpbmcmIE5vdGlmaWNhdGlvbjo6cGVybWlz
c2lvbkxldmVsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCit7CisgICAgQVNTRVJU
KGNvbnRleHQtPmlzRG9jdW1lbnQoKSk7CisgICAgQVNTRVJUKHN0YXRpY19jYXN0PERvY3VtZW50
Kj4oY29udGV4dCktPnBhZ2UoKSk7CisgICAgcmV0dXJuIHN0cmluZ0ZvclBlcm1pc3Npb24oTm90
aWZpY2F0aW9uQ29udHJvbGxlcjo6ZnJvbShzdGF0aWNfY2FzdDxEb2N1bWVudCo+KGNvbnRleHQp
LT5wYWdlKCkpLT5jbGllbnQoKS0+Y2hlY2tQZXJtaXNzaW9uKGNvbnRleHQpKTsKK30KKworY29u
c3QgU3RyaW5nJiBOb3RpZmljYXRpb246OnN0cmluZ0ZvclBlcm1pc3Npb24oTm90aWZpY2F0aW9u
Q2xpZW50OjpQZXJtaXNzaW9uIHBlcm1pc3Npb24pCit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NB
TChjb25zdCBTdHJpbmcsIGFsbG93ZWRQZXJtaXNzaW9uLCAoImdyYW50ZWQiKSk7CisgICAgREVG
SU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIGRlbmllZFBlcm1pc3Npb24sICgiZGVuaWVk
IikpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBkZWZhdWx0UGVybWlz
c2lvbiwgKCJkZWZhdWx0IikpOworICAgIHN3aXRjaCAocGVybWlzc2lvbikgeworICAgIGNhc2Ug
Tm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uQWxsb3dlZDoKKyAgICAgICAgcmV0dXJuIGFs
bG93ZWRQZXJtaXNzaW9uOworICAgIGNhc2UgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9u
RGVuaWVkOgorICAgICAgICByZXR1cm4gZGVuaWVkUGVybWlzc2lvbjsKKyAgICBjYXNlIE5vdGlm
aWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbk5vdEFsbG93ZWQ6CisgICAgICAgIHJldHVybiBkZWZh
dWx0UGVybWlzc2lvbjsKKyAgICB9CisgICAgCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgcmV0dXJuIGRlbmllZFBlcm1pc3Npb247Cit9CisKK3ZvaWQgTm90aWZpY2F0aW9uOjpyZXF1
ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRy
PE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4gY2FsbGJhY2spCit7CisgICAgQVNTRVJU
KGNvbnRleHQtPmlzRG9jdW1lbnQoKSk7CisgICAgQVNTRVJUKHN0YXRpY19jYXN0PERvY3VtZW50
Kj4oY29udGV4dCktPnBhZ2UoKSk7CisgICAgTm90aWZpY2F0aW9uQ29udHJvbGxlcjo6ZnJvbShz
dGF0aWNfY2FzdDxEb2N1bWVudCo+KGNvbnRleHQpLT5wYWdlKCkpLT5jbGllbnQoKS0+cmVxdWVz
dFBlcm1pc3Npb24oY29udGV4dCwgY2FsbGJhY2spOworfQorCiB2b2lkIE5vdGlmaWNhdGlvbjo6
ZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcsIGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
IHJlc3BvbnNlKQogewogICAgIGludCBzdGF0dXMgPSByZXNwb25zZS5odHRwU3RhdHVzQ29kZSgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24u
aCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKaW5kZXggZGQw
ZDZlZDg0YWQzMDc5ZDg4YmEwMmEwMmJjYWNjNmE2NDVjYjM5ZC4uNzFhN2VlZGM3ZmZhNDdhNzBl
NTczZjdhNTZkNmZmZjRlZmMwMWRiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbi5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAw
OSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA5
LCAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAwOSwgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAi
RXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiS1VSTC5o
IgorI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNsaWVudC5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlv
bkNvbnRlbnRzLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAjaW5jbHVkZSAiVGV4dERp
cmVjdGlvbi5oIgpAQCAtNTAsNiArNTEsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBOb3RpZmljYXRpb25DZW50ZXI7CitjbGFzcyBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2s7CiBjbGFzcyBSZXNvdXJjZUVycm9yOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNz
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CkBAIC0xMTksNiArMTIxLDEwIEBAIHB1YmxpYzoKICAg
ICAvLyBEZXByZWNhdGVkLiBVc2UgZnVuY3Rpb25zIGZyb20gTm90aWZpY2F0aW9uQ2VudGVyLgog
ICAgIHZvaWQgZGV0YWNoUHJlc2VudGVyKCkgeyB9CiAKKyAgICBzdGF0aWMgY29uc3QgU3RyaW5n
JiBwZXJtaXNzaW9uTGV2ZWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOworICAgIHN0YXRpYyBj
b25zdCBTdHJpbmcmIHN0cmluZ0ZvclBlcm1pc3Npb24oTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJt
aXNzaW9uKTsKKyAgICBzdGF0aWMgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiwgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KTsK
KwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZywgY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlRGF0YShj
b25zdCBjaGFyKiBkYXRhLCBpbnQgZGF0YUxlbmd0aCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZEZp
bmlzaExvYWRpbmcodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBkb3VibGUgZmluaXNoVGltZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwKaW5kZXgg
ZDhjYjNjYzM5YTI1ZTcxNzQzZTlmNzVlOWU4Y2Y0YzE4MGUyMjE2OC4uNDU4MTZlMTg0M2QwYzQy
Y2M0ZTg2MzYwZGFiMWY1ZDRiOGVhNjcxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uLmlkbApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAo
QykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTEsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzQsMTIgKzM0LDE0IEBAIG1vZHVsZSB0aHJlYWRz
IHsKICAgICBpbnRlcmZhY2UgWwogICAgICAgICBDb25kaXRpb25hbD1OT1RJRklDQVRJT05TLAog
ICAgICAgICBBY3RpdmVET01PYmplY3QsCi0gICAgICAgIEV2ZW50VGFyZ2V0LAotICAgICAgICBP
bWl0Q29uc3RydWN0b3IKKyAgICAgICAgRXZlbnRUYXJnZXQKICAgICBdIE5vdGlmaWNhdGlvbiB7
CiAgICAgICAgIHZvaWQgc2hvdygpOwogICAgICAgICB2b2lkIGNhbmNlbCgpOwogCisgICAgICAg
IFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBzdGF0aWMgRE9NU3RyaW5nIHBlcm1p
c3Npb25MZXZlbCgpOworICAgICAgICBbQ3VzdG9tXSBzdGF0aWMgdm9pZCByZXF1ZXN0UGVybWlz
c2lvbihpbiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgY2FsbGJhY2spOworCiAgICAg
ICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uc2hvdzsKICAgICAgICAgLy8gRklYTUU6IFRo
ZSBsYXRlc3QgV2ViIE5vdGlmaWNhdGlvbnMgc3RhbmRhcmQgdXNlcyB0aGUgb25zaG93IGV2ZW50
IGxpc3RlbmVyLgogICAgICAgICAvLyBUaGUgb25kaXNwbGF5IGV2ZW50IGxpc3RlbmVyIHNob3Vs
ZCBiZSByZW1vdmVkIHdoZW4gaW1wbGVtZW50YXRpb25zIGNoYW5nZSB0aGUgZXZlbnQgbGlzdGVu
ZXIgdG8gb25zaG93LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25DZW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25DZW50ZXIuY3BwCmluZGV4IGZmNjA0NDUzMWExNTQyODIzMjRjMTU0ZTM1OWYyNWRi
NGY3N2Q1YTMuLjJjMmVlMjExZWE0ZjgzNWU3ZjJiNTVhZWEwYmZhY2M3NjljMjAzOWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5j
cHAKQEAgLTUzLDE5ICs1MywyMyBAQCBOb3RpZmljYXRpb25DZW50ZXI6Ok5vdGlmaWNhdGlvbkNl
bnRlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBOb3RpZmljYQogICAgIDogQWN0
aXZlRE9NT2JqZWN0KGNvbnRleHQsIHRoaXMpCiAgICAgLCBtX2NsaWVudChjbGllbnQpIHsgfQog
CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogaW50IE5vdGlmaWNhdGlvbkNlbnRl
cjo6Y2hlY2tQZXJtaXNzaW9uKCkKIHsKICAgICBpZiAoIWNsaWVudCgpIHx8ICFzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCkpCiAgICAgICAgIHJldHVybiBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1p
c3Npb25EZW5pZWQ7CiAgICAgcmV0dXJuIG1fY2xpZW50LT5jaGVja1Blcm1pc3Npb24oc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpKTsKIH0KKyNlbmRpZgogCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQogdm9pZCBOb3RpZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9uKFBh
c3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFjaykKIHsKICAgICBpZiAoIWNsaWVudCgpIHx8
ICFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCiAgICAgICAgIHJldHVybjsKICAgICBtX2NsaWVu
dC0+cmVxdWVzdFBlcm1pc3Npb24oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBjYWxsYmFjayk7
CiB9CisjZW5kaWYKIAogdm9pZCBOb3RpZmljYXRpb25DZW50ZXI6OmRpc2Nvbm5lY3RGcmFtZSgp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bkNlbnRlci5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50
ZXIuaAppbmRleCAyY2NjYzBkZmNjNmE2YjdhNjFkYzI5MjRhZGI3NTlhYThhY2RmNTk1Li5mZDY4
OTMwNDNjYzc0MTJlZGNhMzllYjRhNWM5ZjRhOTkzOGZmOTU3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgKQEAgLTEsNiArMSw2IEBA
CiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTc3LDggKzc3LDEw
IEBAIHB1YmxpYzoKIAogICAgIE5vdGlmaWNhdGlvbkNsaWVudCogY2xpZW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9jbGllbnQ7IH0KIAorI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAg
ICBpbnQgY2hlY2tQZXJtaXNzaW9uKCk7CiAgICAgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihQYXNz
UmVmUHRyPFZvaWRDYWxsYmFjaz4pOworI2VuZGlmCiAKICAgICB2b2lkIGRpc2Nvbm5lY3RGcmFt
ZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbkNlbnRlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bkNlbnRlci5pZGwKaW5kZXggOGJlMWVjYzc2OWZiYzVhNDM3Yjc2NGU5NmEwN2U0NzUxNzBhMzU2
Ni4uYjk5N2Q5ZjMyMzE4M2IyODdlYzUxYTQ2MTNjYzQwZDZmMzIzMTViMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbApAQCAt
NDEsOCArNDEsMTAgQEAgbW9kdWxlIHRocmVhZHMgewogI2VuZGlmCiAgICAgICAgW1Y4Q3VzdG9t
XSBOb3RpZmljYXRpb24gY3JlYXRlTm90aWZpY2F0aW9uKGluIERPTVN0cmluZyBpY29uVXJsLCBp
biBET01TdHJpbmcgdGl0bGUsIGluIERPTVN0cmluZyBib2R5KSByYWlzZXMoRE9NRXhjZXB0aW9u
KTsKIAorI2lmIGRlZmluZWQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAmJiBFTkFCTEVf
TEVHQUNZX05PVElGSUNBVElPTlMKICAgICAgICBpbnQgY2hlY2tQZXJtaXNzaW9uKCk7CiAgICAg
ICAgW0N1c3RvbV0gdm9pZCByZXF1ZXN0UGVybWlzc2lvbihpbiBWb2lkQ2FsbGJhY2sgY2FsbGJh
Y2spOworI2VuZGlmCiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uQ2xpZW50LmgKaW5kZXggYzFiMzM5YjM0YTZjNzcwZjk2Zjc5ZWM4
NTRlMmIyMDgwOTliZDFkMC4uNGQ0N2M3NTcxMmY3ODg2Yzg5ZjFmNzIwNmJkZTZjYjVlZGZlZjY4
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25D
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNs
aWVudC5oCkBAIC0zOCw4ICszOCw5IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERv
Y3VtZW50OwotY2xhc3MgTm90aWZpY2F0aW9uOwogY2xhc3MgS1VSTDsKK2NsYXNzIE5vdGlmaWNh
dGlvbjsKK2NsYXNzIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjazsKIGNsYXNzIFBhZ2U7
CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCkBAIC03MCwxMCArNzEsMTQgQEAgcHVi
bGljOgogICAgIC8vIEluZm9ybXMgdGhlIHByZXNlbnRlciB0aGUgY29udHJvbGxlciBhdHRhY2hl
ZCB0byB0aGUgcGFnZSBoYXMgYmVlbiBkZXN0cm95ZWQuCiAgICAgdmlydHVhbCB2b2lkIG5vdGlm
aWNhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKSA9IDA7CiAKKyNpZiBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCiAgICAgLy8gUmVxdWVzdHMgdXNlciBwZXJtaXNzaW9uIHRvIHNob3cgZGVz
a3RvcCBub3RpZmljYXRpb25zIGZyb20gYSBwYXJ0aWN1bGFyCiAgICAgLy8gc2NyaXB0IGNvbnRl
eHQuIFRoZSBjYWxsYmFjayBwYXJhbWV0ZXIgc2hvdWxkIGJlIHJ1biB3aGVuIHRoZSB1c2VyIGhh
cwogICAgIC8vIG1hZGUgYSBkZWNpc2lvbi4KICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1p
c3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPikg
PSAwOworI2VuZGlmCisgICAgLy8gRklYTUU6IE9uY2UgYWxsIG9mIHRoZSBwb3J0cyBoYXZlIGFk
b3B0ZWQgdGhlIG5ldyBBUEksIHdlIHNob3VsZCB0dXJuIHRoaXMgdG8gYSBwdXJlIHZpcnR1YWwu
CisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4pIHsgfQogCiAg
ICAgLy8gQ2FuY2VsIGFsbCBvdXRzdGFuZGluZyByZXF1ZXN0cyBmb3IgdGhlIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9u
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIGIvU291cmNl
L1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43NDk0ZWY1ZTAzM2E5MzAyYjMwYjU4NmU4OTMzOTM3Zjk5OWM0NzEzCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Q
ZXJtaXNzaW9uQ2FsbGJhY2suaApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE5v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFja19oCisjZGVmaW5lIE5vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFja19oCisKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICAKK2NsYXNzIE5vdGlm
aWNhdGlvblBlcm1pc3Npb25DYWxsYmFjayA6IHB1YmxpYyBSZWZDb3VudGVkPE5vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjaz4geworcHVibGljOgorICAgIHZpcnR1YWwgfk5vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjaygpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVFdmVudChj
b25zdCBTdHJpbmcmIHBlcm1pc3Npb24pID0gMDsKK307CisgICAgCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2tfaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2suaWRsIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmMTExNjEyZTI0MGNlY2FhMTlm
YjVlYTcxYWFjZDdkMjYwOTNjMjAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwKQEAgLTAsMCAr
MSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworbW9kdWxlIHRocmVhZHMgeworCisgICAgaW50ZXJmYWNlIFsKKyAg
ICAgICAgQ29uZGl0aW9uYWw9Tk9USUZJQ0FUSU9OUywKKyAgICAgICAgQ2FsbGJhY2sKKyAgICBd
IE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjayB7CisgICAgICAgIGJvb2xlYW4gaGFuZGxl
RXZlbnQoaW4gRE9NU3RyaW5nIHBlcm1pc3Npb24pOworICAgIH07CisKK30KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmlkbAppbmRleCAxNDA4NmJmMjBlOWU0OTc2YWE4ODEyM2I4NjBjMDdiNDU5M2E3
OWFkLi5iYjMxNzg0NjExYjZiNjNkYWU1NGMyZTA3YmI3Y2I2NGM4NmQ5YmNkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuaWRsCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAwNiwgMjAwNywgMjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTIgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC0xNzIsNiArMTcyLDcgQEAg
bW9kdWxlIHdpbmRvdyB7CiAKICNpZiBkZWZpbmVkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAmJiBF
TkFCTEVfTk9USUZJQ0FUSU9OUwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW1Y4RW5hYmxl
ZEF0UnVudGltZV0gTm90aWZpY2F0aW9uQ2VudGVyIHdlYmtpdE5vdGlmaWNhdGlvbnM7CisgICAg
ICAgIGF0dHJpYnV0ZSBOb3RpZmljYXRpb25Db25zdHJ1Y3RvciBOb3RpZmljYXRpb247CiAjZW5k
aWYKIAogI2lmIGRlZmluZWQoRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUykgJiYgRU5BQkxFX09S
SUVOVEFUSU9OX0VWRU5UUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaAppbmRleCBkNjhkOTIyNzU5MjhlNmViMDdj
ZmU4MmM4YTlhYjA2YmExNGIwNTQ1Li43YTQ2NDUxMzliYmI2ZGQwYTU1Y2M3Mjc5YmMyODVkNDAz
ZDM4YWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJO
b3RpZmljYXRpb25DbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJOb3RpZmljYXRpb25DbGllbnQuaApAQCAtMzQsMTEgKzM0LDEzIEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIE5vdGlmaWNhdGlvbjsKK2NsYXNzIE5vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjazsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiBjbGFzcyBWb2lk
Q2FsbGJhY2s7CiB9CiAKIEBjbGFzcyBXZWJOb3RpZmljYXRpb247CitAY2xhc3MgV2ViTm90aWZp
Y2F0aW9uUG9saWN5TGlzdGVuZXI7CiBAY2xhc3MgV2ViVmlldzsKIAogY2xhc3MgV2ViTm90aWZp
Y2F0aW9uQ2xpZW50IDogcHVibGljIFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkNsaWVudCB7CkBAIC01
MiwxMCArNTQsMTcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJOb3RpZmljYXRp
b25zKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBPVkVSUklERTsKICAgICB2aXJ0
dWFsIHZvaWQgbm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKFdlYkNvcmU6Ok5vdGlmaWNhdGlv
biopIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25Db250cm9sbGVyRGVz
dHJveWVkKCkgT1ZFUlJJREU7CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAg
IHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJhY2s+KSBPVkVSUklERTsKKyNl
bmRpZgorICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2s+KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsUmVxdWVzdHNG
b3JQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBPVkVSUklERSB7
IH0KICAgICB2aXJ0dWFsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBj
aGVja1Blcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIE9WRVJSSURF
OwogCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisgICAgdm9pZCByZXF1ZXN0UGVybWlzc2lv
bihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV2ViTm90aWZpY2F0aW9uUG9saWN5
TGlzdGVuZXIgKik7CisjZW5kaWYKKwogICAgIFdlYlZpZXcgKm1fd2ViVmlldzsKICNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKICAgICBIYXNoTWFwPFJlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRp
b24+LCBSZXRhaW5QdHI8V2ViTm90aWZpY2F0aW9uPiA+IG1fbm90aWZpY2F0aW9uTWFwOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9u
Q2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0
aW9uQ2xpZW50Lm1tCmluZGV4IDNmZGYwYmM3ZjM2MjJlZWFiNGIxMzJiOGIzOTk2MTQwYzNmZjgx
NGUuLjdjYTQwODZkNzZlYjdmZDYxZjMxOTU0NGJjNTM2NjM5Nzc5NjEyMTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25D
bGllbnQubW0KQEAgLTMzLDE4ICszMywzMSBAQAogI2ltcG9ydCAiV2ViVUlEZWxlZ2F0ZVByaXZh
dGUuaCIKICNpbXBvcnQgIldlYlZpZXdJbnRlcm5hbC5oIgogI2ltcG9ydCA8V2ViQ29yZS9CbG9j
a0V4Y2VwdGlvbnMuaD4KKyNpbXBvcnQgPFdlYkNvcmUvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNh
bGxiYWNrLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5oPgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpCisjaW1wb3J0IDxXZWJDb3JlL1ZvaWRDYWxsYmFjay5oPgorI2VuZGlmCisKIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisKIEBp
bnRlcmZhY2UgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgOiBOU09iamVjdCA8V2ViQWxs
b3dEZW55UG9saWN5TGlzdGVuZXI+CiB7Ci0gICAgUmVmUHRyPFZvaWRDYWxsYmFjaz4gX2NhbGxi
YWNrOworICAgIFJlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IF9jYWxsYmFj
azsKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAgUmVmUHRyPFZvaWRDYWxs
YmFjaz4gX3ZvaWRDYWxsYmFjazsKKyNlbmRpZgogfQotLSAoaWQpaW5pdFdpdGhDYWxsYmFjazoo
UGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+KWNhbGxiYWNrOworLSAoaWQpaW5pdFdpdGhDYWxsYmFj
azooUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KWNhbGxiYWNrOwor
I2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKy0gKGlkKWluaXRXaXRoVm9pZENhbGxi
YWNrOihQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pY2FsbGJhY2s7CisjZW5kaWYKKwogQGVuZAog
I2VuZGlmCiAKQEAgLTE0NywyOSArMTYwLDQ2IEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50
Ojpub3RpZmljYXRpb25Db250cm9sbGVyRGVzdHJveWVkKCkKICAgICBkZWxldGUgdGhpczsKIH0K
IAorCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogdm9pZCBXZWJOb3RpZmljYXRp
b25DbGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRl
eHQsIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFjaykKIHsKKyAgICBCRUdJTl9CTE9D
S19PQkpDX0VYQ0VQVElPTlM7CisgICAgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIqIGxp
c3RlbmVyID0gW1tXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciBhbGxvY10gaW5pdFdpdGhW
b2lkQ2FsbGJhY2s6Y2FsbGJhY2tdOworICAgIHJlcXVlc3RQZXJtaXNzaW9uKGNvbnRleHQsIGxp
c3RlbmVyKTsKKyAgICBbbGlzdGVuZXIgcmVsZWFzZV07CisgICAgRU5EX0JMT0NLX09CSkNfRVhD
RVBUSU9OUzsKK30KKyNlbmRpZgorCit2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVz
dFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxO
b3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNhbGxiYWNrKQorewogI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKLSAgICAKKyAg
ICBXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciAqbGlzdGVuZXIgPSBbW1dlYk5vdGlmaWNh
dGlvblBvbGljeUxpc3RlbmVyIGFsbG9jXSBpbml0V2l0aENhbGxiYWNrOmNhbGxiYWNrXTsKKyAg
ICByZXF1ZXN0UGVybWlzc2lvbihjb250ZXh0LCBsaXN0ZW5lcik7CisgICAgW2xpc3RlbmVyIHJl
bGVhc2VdOworICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CisjZWxzZQorICAgIFVOVVNF
RF9QQVJBTShjb250ZXh0KTsKKyAgICBVTlVTRURfUEFSQU0oY2FsbGJhY2spOworI2VuZGlmCit9
CisKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKK3ZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50
OjpyZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0LCBXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciAqbGlzdGVuZXIpCit7CiAgICAgU0VM
IHNlbGVjdG9yID0gQHNlbGVjdG9yKHdlYlZpZXc6ZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9u
UmVxdWVzdEZyb21PcmlnaW46bGlzdGVuZXI6KTsKICAgICBpZiAoIVtbbV93ZWJWaWV3IFVJRGVs
ZWdhdGVdIHJlc3BvbmRzVG9TZWxlY3RvcjpzZWxlY3Rvcl0pCiAgICAgICAgIHJldHVybjsKICAg
ICAKICAgICBXZWJTZWN1cml0eU9yaWdpbiAqd2ViT3JpZ2luID0gW1tXZWJTZWN1cml0eU9yaWdp
biBhbGxvY10gX2luaXRXaXRoV2ViQ29yZVNlY3VyaXR5T3JpZ2luOmNvbnRleHQtPnNlY3VyaXR5
T3JpZ2luKCldOwotICAgIFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyKiBsaXN0ZW5lciA9
IFtbV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgYWxsb2NdIGluaXRXaXRoQ2FsbGJhY2s6
Y2FsbGJhY2tdOwogICAgIAogICAgIENhbGxVSURlbGVnYXRlKG1fd2ViVmlldywgc2VsZWN0b3Is
IHdlYk9yaWdpbiwgbGlzdGVuZXIpOwogICAgIAogICAgIFt3ZWJPcmlnaW4gcmVsZWFzZV07Ci0g
ICAgW2xpc3RlbmVyIHJlbGVhc2VdOwotICAgIAotICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElP
TlM7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShjb250ZXh0KTsKLSAgICBVTlVTRURfUEFSQU0o
Y2FsbGJhY2spOwotI2VuZGlmCiB9CisjZW5kaWYKIAogTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJt
aXNzaW9uIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2hlY2tQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQpCiB7CkBAIC0xOTksNyArMjI5LDggQEAgTm90aWZpY2F0aW9u
Q2xpZW50OjpQZXJtaXNzaW9uIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2hlY2tQZXJtaXNzaW9u
KFNjcmlwdEV4ZWMKIAogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogQGltcGxlbWVudGF0aW9u
IFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyCi0tIChpZClpbml0V2l0aENhbGxiYWNrOihQ
YXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pY2FsbGJhY2sKKworLSAoaWQpaW5pdFdpdGhDYWxsYmFj
azooUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KWNhbGxiYWNrCiB7
CiAgICAgaWYgKCEoc2VsZiA9IFtzdXBlciBpbml0XSkpCiAgICAgICAgIHJldHVybiBuaWw7CkBA
IC0yMDksMTQgKzI0MCw0MCBAQCBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gV2ViTm90
aWZpY2F0aW9uQ2xpZW50OjpjaGVja1Blcm1pc3Npb24oU2NyaXB0RXhlYwogICAgIHJldHVybiBz
ZWxmOwogfQogCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorLSAoaWQpaW5pdFdp
dGhWb2lkQ2FsbGJhY2s6KFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiljYWxsYmFjaworeworICAg
IGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdF0pKQorICAgICAgICByZXR1cm4gbmlsOworCisgICAg
QVNTRVJUKGNhbGxiYWNrKTsKKyAgICBfdm9pZENhbGxiYWNrID0gY2FsbGJhY2s7CisgICAgcmV0
dXJuIHNlbGY7Cit9CisjZW5kaWYKKwogLSAodm9pZClhbGxvdwogewotICAgIF9jYWxsYmFjay0+
aGFuZGxlRXZlbnQoKTsKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAgaWYg
KF92b2lkQ2FsbGJhY2spIHsKKyAgICAgICAgX3ZvaWRDYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorCisgICAgX2NhbGxiYWNrLT5oYW5kbGVF
dmVudChOb3RpZmljYXRpb246OnN0cmluZ0ZvclBlcm1pc3Npb24oTm90aWZpY2F0aW9uQ2xpZW50
OjpQZXJtaXNzaW9uQWxsb3dlZCkpOwogfQogCiAtICh2b2lkKWRlbnkKIHsKLSAgICBfY2FsbGJh
Y2stPmhhbmRsZUV2ZW50KCk7CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorICAg
IGlmIChfdm9pZENhbGxiYWNrKSB7CisgICAgICAgIF92b2lkQ2FsbGJhY2stPmhhbmRsZUV2ZW50
KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYKKworICAgIF9jYWxsYmFjay0+aGFu
ZGxlRXZlbnQoTm90aWZpY2F0aW9uOjpzdHJpbmdGb3JQZXJtaXNzaW9uKE5vdGlmaWNhdGlvbkNs
aWVudDo6UGVybWlzc2lvbkRlbmllZCkpOwogfQogCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwCmluZGV4IDczZTcxZmJj
OTJlZDFlZmNjMzE3MzExMDhhZmE2YzQyZTQ2MGZhM2IuLjUwOWI5ZDI4OWI2OWU5YjMyNGQ1Y2E2
MjU3MjU4N2ZjMjU2MDRhODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
Tm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHly
aWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01OSwxMSArNTksMTIgQEAgTm90aWZpY2F0aW9u
UGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXIoV2ViUGEKIHsKIH0KIAotdm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXI6OnN0YXJ0UmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2luLCBQYXNzUmVmUHRyPFZv
aWRDYWxsYmFjaz4gY2FsbGJhY2spCit2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlcjo6c3RhcnRSZXF1ZXN0KFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sIFBhc3NSZWZQdHI8
Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBjYWxsYmFjaykKIHsKICNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKLSAgICBpZiAocGVybWlzc2lvbkxldmVsKG9yaWdpbikgIT0gTm90aWZp
Y2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uTm90QWxsb3dlZCkgewotICAgICAgICBjYWxsYmFjay0+
aGFuZGxlRXZlbnQoKTsKKyAgICBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gcGVybWlz
c2lvbiA9IHBlcm1pc3Npb25MZXZlbChvcmlnaW4pOworICAgIGlmIChwZXJtaXNzaW9uICE9IE5v
dGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbk5vdEFsbG93ZWQpIHsKKyAgICAgICAgY2FsbGJh
Y2stPmhhbmRsZUV2ZW50KE5vdGlmaWNhdGlvbjo6c3RyaW5nRm9yUGVybWlzc2lvbihwZXJtaXNz
aW9uKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTc4LDYgKzc5LDIzIEBAIHZvaWQg
Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpzdGFydFJlcXVlc3QoU2VjdXJp
dHlPcmlnaW4qIG9yaWdpbiwKICNlbmRpZgogfQogCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQordm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OnN0YXJ0
UmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2luLCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4g
Y2FsbGJhY2spCit7CisgICAgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIHBlcm1pc3Np
b24gPSBwZXJtaXNzaW9uTGV2ZWwob3JpZ2luKTsKKyAgICBpZiAocGVybWlzc2lvbiAhPSBOb3Rp
ZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25Ob3RBbGxvd2VkKSB7CisgICAgICAgIGNhbGxiYWNr
LT5oYW5kbGVFdmVudCgpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIAorICAgIHVpbnQ2
NF90IHJlcXVlc3RJRCA9IGdlbmVyYXRlUmVxdWVzdElEKCk7CisgICAgbV9vcmlnaW5Ub0lETWFw
LnNldChvcmlnaW4sIHJlcXVlc3RJRCk7CisgICAgbV9pZFRvT3JpZ2luTWFwLnNldChyZXF1ZXN0
SUQsIG9yaWdpbik7CisgICAgbV9pZFRvVm9pZENhbGxiYWNrTWFwLnNldChyZXF1ZXN0SUQsIGNh
bGxiYWNrKTsKKyAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UmVxdWVz
dE5vdGlmaWNhdGlvblBlcm1pc3Npb24ocmVxdWVzdElELCBvcmlnaW4tPnRvU3RyaW5nKCkpKTsK
K30KKyNlbmRpZgorCiB2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6
Y2FuY2VsUmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2luKQogewogI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKQpAQCAtMTExLDExICsxMjksMTkgQEAgdm9pZCBOb3RpZmljYXRpb25QZXJtaXNz
aW9uUmVxdWVzdE1hbmFnZXI6OmRpZFJlY2VpdmVOb3RpZmljYXRpb25QZXJtaXNzaW9uRGVjaXMK
ICAgICBpZiAoIWlzUmVxdWVzdElEVmFsaWQocmVxdWVzdElEKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgUmVmUHRyPFZvaWRDYWxsYmFjaz4gY2FsbGJhY2sgPSBtX2lkVG9DYWxsYmFja01hcC50
YWtlKHJlcXVlc3RJRCk7CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorICAgIFJl
ZlB0cjxWb2lkQ2FsbGJhY2s+IHZvaWRDYWxsYmFjayA9IG1faWRUb1ZvaWRDYWxsYmFja01hcC50
YWtlKHJlcXVlc3RJRCk7CisgICAgaWYgKHZvaWRDYWxsYmFjaykgeworICAgICAgICB2b2lkQ2Fs
bGJhY2stPmhhbmRsZUV2ZW50KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYKKwor
ICAgIFJlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNhbGxiYWNrID0gbV9p
ZFRvQ2FsbGJhY2tNYXAudGFrZShyZXF1ZXN0SUQpOwogICAgIGlmICghY2FsbGJhY2spCiAgICAg
ICAgIHJldHVybjsKICAgICAKLSAgICBjYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyAgICBjYWxs
YmFjay0+aGFuZGxlRXZlbnQoTm90aWZpY2F0aW9uOjpzdHJpbmdGb3JQZXJtaXNzaW9uKGFsbG93
ZWQgPyBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25BbGxvd2VkIDogTm90aWZpY2F0aW9u
Q2xpZW50OjpQZXJtaXNzaW9uRGVuaWVkKSk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShyZXF1
ZXN0SUQpOwogICAgIFVOVVNFRF9QQVJBTShhbGxvd2VkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVx
dWVzdE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaAppbmRleCAwMzk3ODc5YmE2YmY1
MTY2Yzg1MDg1OTQ2ZjA0ZjZlZjIzZDBlZTYwLi5iYmNjYThkOWY4YWYxZGNkMDhiZWIwNDEwZTQy
NDJkODUwYzc2MjQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmgKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlci5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0yNyw2ICsyNyw3IEBACiAjZGVmaW5lIE5vdGlmaWNhdGlvblBl
cm1pc3Npb25SZXF1ZXN0TWFuYWdlcl9oCiAKICNpbmNsdWRlIDxXZWJDb3JlL05vdGlmaWNhdGlv
bkNsaWVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxi
YWNrLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Wb2lkQ2FsbGJhY2suaD4KICNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC00Niw3ICs0NywxMCBA
QCBjbGFzcyBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIgOiBwdWJsaWMgUmVm
Q291bnRlZDxOb3RpZmljYXRpb25QZXJtaQogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRy
PE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcj4gY3JlYXRlKFdlYlBhZ2UqKTsK
ICAgICAKKyAgICB2b2lkIHN0YXJ0UmVxdWVzdChXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiosIFBh
c3NSZWZQdHI8V2ViQ29yZTo6Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPik7CisjaWYg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIHZvaWQgc3RhcnRSZXF1ZXN0KFdlYkNv
cmU6OlNlY3VyaXR5T3JpZ2luKiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJhY2s+KTsK
KyNlbmRpZgogICAgIHZvaWQgY2FuY2VsUmVxdWVzdChXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiop
OwogICAgIAogICAgIC8vIFN5bmNocm9ub3VzIGNhbGwgdG8gcmV0cmlldmUgcGVybWlzc2lvbiBs
ZXZlbCBmb3IgZ2l2ZW4gc2VjdXJpdHkgb3JpZ2luCkBAIC01Nyw3ICs2MSwxMCBAQCBwdWJsaWM6
CiBwcml2YXRlOgogICAgIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcihXZWJQ
YWdlKik7CiAgICAgCi0gICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYkNvcmU6OlZvaWRD
YWxsYmFjaz4gPiBtX2lkVG9DYWxsYmFja01hcDsKKyAgICBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQ
dHI8V2ViQ29yZTo6Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiA+IG1faWRUb0NhbGxi
YWNrTWFwOworI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICBIYXNoTWFwPHVp
bnQ2NF90LCBSZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxiYWNrPiA+IG1faWRUb1ZvaWRDYWxsYmFj
a01hcDsKKyNlbmRpZgogICAgIEhhc2hNYXA8UmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2lu
PiwgdWludDY0X3Q+IG1fb3JpZ2luVG9JRE1hcDsKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQ
dHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+ID4gbV9pZFRvT3JpZ2luTWFwOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNh
dGlvbkNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAKaW5kZXggNjQzMzEyNDQwZTFkZmQxMDIxZTMzMzRl
MzgxNTk5ZDJkYTQ0MDk1Ni4uOWMzZDM1OTEzYzRkOGU5ZGIyOWQ4M2ZjNzAzZjU2M2UzNDA2ZjFm
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJOb3RpZmljYXRpb25DbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmNwcApAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNzcsNiArNzcsMTEgQEAg
dm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQsIFAKICAgICBtX3BhZ2UtPm5vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlcigpLT5zdGFydFJlcXVlc3QoY29udGV4dC0+c2VjdXJpdHlPcmlnaW4o
KSwgY2FsbGJhY2spOwogfQogCit2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBl
cm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNhbGxiYWNrKQoreworICAgIG1fcGFnZS0+bm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKCktPnN0YXJ0UmVxdWVzdChjb250ZXh0
LT5zZWN1cml0eU9yaWdpbigpLCBjYWxsYmFjayk7Cit9CisKIHZvaWQgV2ViTm90aWZpY2F0aW9u
Q2xpZW50OjpjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCkKIHsKICAgICBtX3BhZ2UtPm5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlcigpLT5jYW5jZWxSZXF1ZXN0KGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3Rp
ZmljYXRpb25DbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgKaW5kZXggOGE4NGJlYTFlYjU1YWUyZTA0NzFjNTNk
OTUzOWI0OGVmYjg5ODg0Mi4uMjQ3ODEyNzQ1YTMwZjc1NmZiZjVlMjZkNTE5OWE3ODM3NjVmMWQ0
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJOb3RpZmljYXRpb25DbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMSw2ICszMSw3IEBACiAjaW5j
bHVkZSA8V2ViQ29yZS9Ob3RpZmljYXRpb25DbGllbnQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
eworY2xhc3MgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrOwogY2xhc3MgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dDsKIGNsYXNzIFZvaWRDYWxsYmFjazsKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKQEAgLTUxLDYgKzUyLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0
aW9uT2JqZWN0RGVzdHJveWVkKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiopIE9WRVJSSURFOwogICAg
IHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25Db250cm9sbGVyRGVzdHJveWVkKCkgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4pIE9WRVJSSURF
OworICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2s+KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsUmVxdWVzdHNGb3JQ
ZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBPVkVSUklERTsKICAg
ICB2aXJ0dWFsIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBjaGVja1Blcm1pc3Npb24o
V2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIE9WRVJSSURFOwogICAgIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131189</attachid>
            <date>2012-03-10 13:51:23 -0800</date>
            <delta_ts>2012-03-16 00:57:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80485-20120310135237.patch</filename>
            <type>text/plain</type>
            <size>62371</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMzgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjUwM2IzZWU0MTVlZTdh
MzE1YjAzMDI2Y2Y0Y2VkNDk4MTFkMWU3MS4uMDM3NjEyNjgxY2NmODIyYzVkNjJjZjQxN2VjOWRk
NWE4MDIwNGNkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEyLTAzLTEwICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVu
Y3Rpb25zIHRvIE5vdGlmaWNhdGlvbiBmcm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzEwOTY1NDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsOiBCZWNhdXNl
IHRoZSBmdW5jdGlvbnMgYXJlIG9uIHRoZSBOb3RpZmljYXRpb24gb2JqZWN0IGl0c2VsZiwgd2Ug
bmVlZCB0bworICAgICAgICBkZWNsYXJlIGl0IGEgY29uc3RydWN0b3Igc28gdGhhdCBpdCBpcyBh
Y2Nlc3NpYmxlIGZyb20gRE9NV2luZG93LgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDog
QWRkIE5vdGlmaWNhdGlvbiBjb25zdHJ1Y3Rvci4KKworICAgICAgICAqIG5vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6cGVybWlz
c2lvbkxldmVsKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6c3RyaW5nRm9yUGVy
bWlzc2lvbik6IERlY2xhcmUgdGhyZWUgc3RhdGljIGxvY2FscyBmb3IgZWFjaCBvZiB0aGUgdmFs
dWVzLCBhbmQgcmV0dXJuCisgICAgICAgIGJhc2VkIG9uIHRoZSBwZXJtaXNzaW9uIGVudW0uCisg
ICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb246OnJlcXVlc3RQZXJtaXNzaW9uKTogRm9yd2Fy
ZCByZXF1ZXN0IHRvIGNsaWVudC4KKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5oOgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2suaDogQWRkZWQuCisgICAgICAgIChOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sp
OgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrOjp+Tm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrKToKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGw6IEFkZGVkLgorCisgICAgICAgICogbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwOiBXcmFwIHBlcm1pc3Npb24gZnVuY3Rp
b25zIGluIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5oOiBXcmFwIHBlcm1pc3Npb24gZnVuY3Rpb25zIGluIEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbkNlbnRlci5pZGw6IFdyYXAgcGVybWlzc2lvbiBmdW5jdGlvbnMgaW4gRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQorICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
UHJlc2VudGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXI6OnJl
cXVlc3RQZXJtaXNzaW9uKTogQWRkIG5ldyByZXF1ZXN0UGVybWlzc2lvbigpIGZ1bmN0aW9uIGZv
ciBuZXcKKyAgICAgICAgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrIHR5cGUuIE1ha2Ug
aXQgYSBzdHViIGltcGxlbWVudGF0aW9uIHVudGlsIGFsbCBwb3J0cyBoYXZlIGFkb3B0ZWQuCisK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcDog
RW5jYXBzdWxhdGUgd2l0aCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpIHNpbmNlCisgICAg
ICAgIHRoZSByZXF1ZXN0UGVybWlzc2lvbigpIGZ1bmN0aW9uIGlzIG1vdmluZyB0byBOb3RpZmlj
YXRpb24uCisgICAgICAgICogYmluZGluZ3MvanMvSlNOb3RpZmljYXRpb25zQ3VzdG9tLmNwcDog
Q3VzdG9tIGltcGxlbWVudGF0aW9uIG9mIHJlcXVlc3RQZXJtaXNzaW9uKCkuCisgICAgICAgICog
YmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcDogQ3VzdG9tIGltcGxl
bWVudGF0aW9uIG9mIHJlcXVlc3RQZXJtaXNzaW9uKCkuCisKKyAgICAgICAgKiBDTWFrZUxpc3Rz
LnR4dDogQWRkIG5ldyBjYWxsYmFjayBpZGwuCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFr
ZTogQWRkIG5ldyBjYWxsYmFjayBpZGwuCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbTog
QWRkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjayBmaWxlcy4KKyAgICAgICAgKiBUYXJn
ZXQucHJpOiBJbmNsdWRlIEpTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcCwgVjhOb3RpZmljYXRpb25D
dXN0b20uY3BwCisgICAgICAgICogVXNlSlNDLmNtYWtlOiBJbmNsdWRlIEpTTm90aWZpY2F0aW9u
Q3VzdG9tLmNwcAorICAgICAgICAqIFVzZVY4LmNtYWtlOiBJbmNsdWRlIFY4Tm90aWZpY2F0aW9u
Q3VzdG9tLmNwcAorICAgICAgICAqIFdlYkNvcmUuZ3lwaTogSW5jbHVkZSBKU05vdGlmaWNhdGlv
bkN1c3RvbS5jcHAsIFY4Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcCwgSlNOb3RpZmljYXRpb25QZXJt
aXNzaW9uQ2FsbGJhY2sue2gsY3BwfQorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qOiBJbmNsdWRlIEpTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcCwgSlNOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uQ2FsbGJhY2sue2gsY3BwfQorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOiBFeHBv
cnQgc3RyaW5nRm9yUGVybWlzc2lvbigpLgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajogQWRkIGNhbGxiYWNrIGlkbCwgaCwgYW5kIGNwcCBmaWxlcy4KKwogMjAx
Mi0wMy0wOSAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIE5v
dGlmaWNhdGlvblByZXNlbnRlciB0byBOb3RpZmljYXRpb25DbGllbnQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpp
bmRleCA3NjE5ZDFmYjZmZWNhMDM5YjMyZjRlY2Y1YmI0ODZlOTJhOGUwNDBmLi4zOTg0NDg1NWM1
YjRhNWUyNjM1ZmJiOTAyNWRhNDE0MDBiZWZjM2M5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDUg
KzEsMjIgQEAKIDIwMTItMDMtMDkgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgogCisgICAg
ICAgIE1pZ3JhdGUgcGVybWlzc2lvbiBmdW5jdGlvbnMgdG8gTm90aWZpY2F0aW9uIGZyb20gTm90
aWZpY2F0aW9uQ2VudGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD04MDQ4NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTA5NjU0NTg+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9XZWJOb3RpZmljYXRpb25DbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJO
b3RpZmljYXRpb25DbGllbnQubW06IEFkZCBuZXcgbWVtYmVyIHZhcmlhYmxlIHRvIGhhbmRsZSBi
b3RoIGtpbmRzIG9mIGNhbGxiYWNrcy4KKyAgICAgICAgKFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6
cmVxdWVzdFBlcm1pc3Npb24pOiBBZGQgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrIHZl
cnNpb24gb2YgdGhlIHNhbWUKKyAgICAgICAgZnVuY3Rpb24uCisgICAgICAgICgtW1dlYk5vdGlm
aWNhdGlvblBvbGljeUxpc3RlbmVyIGluaXRXaXRoQ2FsbGJhY2s6XSk6CisgICAgICAgICgtW1dl
Yk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGluaXRXaXRoVm9pZENhbGxiYWNrOl0pOgorICAg
ICAgICAoLVtXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciBhbGxvd10pOgorICAgICAgICAo
LVtXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciBkZW55XSk6CisKKzIwMTItMDMtMDkgIEpv
biBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCiAgICAgICAgIFJlbmFtZSBOb3RpZmljYXRpb25Q
cmVzZW50ZXIgdG8gTm90aWZpY2F0aW9uQ2xpZW50CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQ4OAogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTA5
NjU1NTg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKaW5kZXggNDFiYTNiYzZhNjNkNDM5ZTlhMDZlMGRkN2Y1ZTFmNTJiYmFm
ZWY0Mi4uNTI5MDM3N2U5ZWE0MGQwMWY2MmQ2ZDU2NzY4OWM2NGQwODVlNWJhZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwpAQCAtMSw1ICsxLDI2IEBACiAyMDEyLTAzLTA5ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNv
bT4KIAorICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVuY3Rpb25zIHRvIE5vdGlmaWNhdGlv
biBmcm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwOTY1NDU4
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2Vi
UHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
ci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlcjo6c3RhcnRSZXF1ZXN0KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6
Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6ZGlkUmVjZWl2ZU5vdGlmaWNh
dGlvblBlcm1pc3Npb25EZWNpc2lvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9Ob3RpZmljYXRp
b25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oOgorICAgICAgICAoTm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pc3Npb24pOgorICAgICAgICAo
V2ViS2l0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNh
dGlvbkNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJOb3RpZmljYXRp
b25DbGllbnQpOgorCisyMDEyLTAzLTA5ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKwog
ICAgICAgICBSZW5hbWUgTm90aWZpY2F0aW9uUHJlc2VudGVyIHRvIE5vdGlmaWNhdGlvbkNsaWVu
dAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODgK
ICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwOTY1NTU4PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRl
eCAyZmNjMjY1NTczMzI2Mzk1Y2E0NDAyNDQ0Y2QwMGE4ZThjY2FjMjIwLi5jNTQ1ZTRlZGE2YzZi
MTE0ZDZmM2Q3MjZiMmRkNTkzOTgwYjljNzVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTYz
MSw2ICsxNjMxLDcgQEAgSUYgKEVOQUJMRV9OT1RJRklDQVRJT05TKQogICAgIExJU1QoQVBQRU5E
IFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgICAgIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlk
bAogICAgICAgICBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwKKyAgICAgICAg
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsCiAgICAgKQog
RU5ESUYgKCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMjQ2MDY4MzNhNTc2
ZDhkN2ZiNTgxYzFiMzY1YWY2ZDYwOGQyMWM2NS4uNDQzZjZmMmQxYjFlNGY2ZDIwZjY0YzIzYTMw
YWY0MjQzY2UzOTNlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xLDQgKzEs
NCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorIyBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMTIgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVs
IFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+IAogIyBDb3B5cmlnaHQgKEMpIDIwMDkgQ2Ft
ZXJvbiBNY0Nvcm1hY2sgPGNhbUBtY2MuaWQuYXU+CiAjCkBAIC0zNTUsNiArMzU1LDcgQEAgQklO
RElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0
aW9uQ2FjaGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5p
ZGwgXAorICAgICQoV2ViQ29yZSkvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2suaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvQWJzdHJhY3RWaWV3LmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9wYWdlL0JhckluZm8uaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvQ29u
c29sZS5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJp
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCmluZGV4IGFmNGY1YjUwYjg1N2Yy
MmYxMGI0YzU3YjNkYWQ4ZTFkMjg4MzVhZDguLmRjYzVjYmY4Y2E2NDVhYmUzNDQzZTY5OGIyMWNi
MzA5M2FlYjkwZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnBy
aQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKQEAgLTM3Nyw2ICszNzcs
NyBAQCBJRExfQklORElOR1MgKz0gXAogICAgICQkUFdEL2xvYWRlci9hcHBjYWNoZS9ET01BcHBs
aWNhdGlvbkNhY2hlLmlkbCBcCiAgICAgJCRQV0Qvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24u
aWRsIFwKICAgICAkJFBXRC9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwgXAor
ICAgICQkUFdEL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlk
bCBcCiAgICAgJCRQV0QvcGFnZS9CYXJJbmZvLmlkbCBcCiAgICAgJCRQV0QvcGFnZS9Db25zb2xl
LmlkbCBcCiAgICAgJCRQV0QvcGFnZS9Db29yZGluYXRlcy5pZGwgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KaW5kZXggMmJkMWY2NTRjOTBkYzcyNTlhYjkyNjM3NTNlYmJkNzMyMzMxYmQx
Yi4uZjlhYWJiM2I5NjYyYzI0ZmQwNWM5ZTQ0ZDgxMWMyNGIyNGRiZTE4YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCkBAIC00MjAsNiArNDIwLDggQEAgd2ViY29yZV9idWlsdF9zb3Vy
Y2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uQ2VudGVyLmgg
XAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb3RpZmljYXRpb24uY3BwIFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suY3BwIFwKKwlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNPRVNTdGFuZGFyZERlcml2YXRpdmVzLmNwcCBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU09FU1RleHR1cmVGbG9hdC5jcHAgXApAQCAtOTAwLDYgKzkwMiw3IEBAIGRv
bV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxp
Y2F0aW9uQ2FjaGUuaWRsIFwKIAkkKFdlYkNvcmUpL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
LmlkbCBcCiAJJChXZWJDb3JlKS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwg
XAorCSQoV2ViQ29yZSkvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2suaWRsIFwKIAkkKFdlYkNvcmUpL3BhZ2UvQmFySW5mby5pZGwgXAogCSQoV2ViQ29yZSkvcGFn
ZS9Db25zb2xlLmlkbCBcCiAJJChXZWJDb3JlKS9wYWdlL0Nvb3JkaW5hdGVzLmlkbCBcCkBAIC0y
ODI4LDYgKzI4MzEsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uLmggXAorCVNvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvYW5p
bWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlv
bi9BbmltYXRpb25CYXNlLmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1h
dGlvbkNvbnRyb2xsZXIuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5w
cmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDU2YzE3ZjNmY2FiZTYwNmNkYjBh
Y2JlNmVlZWQ0ZDMwMTNkOTQxZDYuLjk4MjliNDIxODRmNWEyNmZhNjIzOGNiZjI5Y2M5MjcxN2U4
MGJlMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMjMzLDYgKzIzMyw3IEBAIHY4IHsKICAgICAgICAgXAog
ICAgICAgICBiaW5kaW5ncy92OC9zcGVjaWFsaXphdGlvbi9WOEJpbmRpbmdTdGF0ZS5jcHBcCiAg
ICAgICAgIFwKKyAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ3VzdG9t
LmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkNlbnRlckN1
c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhDb25zb2xlQ3VzdG9tLmNw
cCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFRyYW5zYWN0aW9uU3luY0N1c3Rv
bS5jcHAgXApAQCAtMzQxLDYgKzM0Miw3IEBAIHY4IHsKICAgICAgICAgYmluZGluZ3MvanMvSlNO
b2RlRmlsdGVyQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTTm9kZUl0ZXJhdG9y
Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTTm9kZUxpc3RDdXN0b20uY3BwIFwK
KyAgICAgICAgYmluZGluZ3MvanMvSlNOb3RpZmljYXRpb25DdXN0b20uY3BwIFwKICAgICAgICAg
YmluZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcCBcCiAgICAgICAgIGJpbmRp
bmdzL2pzL0pTUG9wU3RhdGVFdmVudEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9K
U1Byb2Nlc3NpbmdJbnN0cnVjdGlvbkN1c3RvbS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvVXNlSlNDLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCmluZGV4IDA5
MDM4ZGQ2ODQ4NzdlMWY4MjAyMTkyNzVlNzgyZWIxMzA4M2EyNjYuLjdlNjdmMzI3NDYwNDA4YzI3
OGY4MGU3ODhjNTU3ZjZiNjQ5NzQ0OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1VzZUpT
Qy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKQEAgLTEwOSw2ICsxMDks
NyBAQCBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5ncy9qcy9KU05vZGVG
aWx0ZXJDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNOb2RlSXRlcmF0b3JDdXN0b20uY3Bw
CiAgICAgYmluZGluZ3MvanMvSlNOb2RlTGlzdEN1c3RvbS5jcHAKKyAgICBiaW5kaW5ncy9qcy9K
U05vdGlmaWNhdGlvbkN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1BsdWdpbkVsZW1lbnRG
dW5jdGlvbnMuY3BwCiAgICAgYmluZGluZ3MvanMvSlNQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcAog
ICAgIGJpbmRpbmdzL2pzL0pTUHJvY2Vzc2luZ0luc3RydWN0aW9uQ3VzdG9tLmNwcApAQCAtMjI4
LDYgKzIyOSw3IEBAIEVORElGICgpCiBJRiAoRU5BQkxFX05PVElGSUNBVElPTlMpCiAgICAgTElT
VChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTRGVza3RvcE5v
dGlmaWNhdGlvbnNDdXN0b20uY3BwCisgICAgICAgIGJpbmRpbmdzL2pzL0pTTm90aWZpY2F0aW9u
c0N1c3RvbS5jcHAKICAgICApCiBFTkRJRiAoKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Vc2VWOC5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtlCmluZGV4IGI4ZjVmZDI2
N2VhNWEzZWI5MmQ4OTE5ZGExNGFkZDUzNDZhZjc4ZTAuLjBhZDVmOTMzOWQzZjY0NWYwYjY0OTIx
MGE2ZWUzZjUzNTNhNTFhNzMgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtl
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtlCkBAIC0xMzcsNiArMTM3LDcgQEAgTElT
VChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWRO
b2Rlc0NvbGxlY3Rpb24uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUN1c3RvbS5j
cHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlTGlzdEN1c3RvbS5jcHAKKyAgICBiaW5k
aW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DdXN0b20uY3BwCiAgICAgYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2VudGVyQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOFBlcmZvcm1hbmNlQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFBv
cFN0YXRlRXZlbnRDdXN0b20uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDU5MGI3YzUwZmJi
OWMyOGJmMjJlZjJmM2UzZmMyNGU0MTg2MDI1ODUuLjgwMDZmYjk5NmIwMWViZDUwNTJlZGI1N2Vm
YmU1YTE4ZjkzMjQ0NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0yMTIzLDYgKzIxMjMsNyBA
QCBfX1pON1dlYkNvcmUxMk5vdGlmaWNhdGlvbjE3ZGlzcGF0Y2hTaG93RXZlbnRFdgogX19aTjdX
ZWJDb3JlMTJOb3RpZmljYXRpb24xOGRpc3BhdGNoQ2xpY2tFdmVudEV2CiBfX1pON1dlYkNvcmUx
Mk5vdGlmaWNhdGlvbjE4ZGlzcGF0Y2hDbG9zZUV2ZW50RXYKIF9fWk43V2ViQ29yZTEyTm90aWZp
Y2F0aW9uMThkaXNwYXRjaEVycm9yRXZlbnRFdgorX19aTjdXZWJDb3JlMTJOb3RpZmljYXRpb24x
OXN0cmluZ0ZvclBlcm1pc3Npb25FTlNfMThOb3RpZmljYXRpb25DbGllbnQxMFBlcm1pc3Npb25F
CiBfX1pON1dlYkNvcmUxOXByb3ZpZGVOb3RpZmljYXRpb25FUE5TXzRQYWdlRVBOU18xOE5vdGlm
aWNhdGlvbkNsaWVudEUKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggNzY4NTcyNjc0ZjE1
ZWIzYzlhMDAyMTMxYmQwNzNmZWMxMTE0ZGU3ZS4uYTA5NDk2NjhhNDI0ZTBiMzMxM2Y0ZWFhMTcw
N2I1YTlhY2VhY2MwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTA1Myw2ICsxMDUzLDcgQEAKICAg
ICAgICAgICAgICdsb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5pZGwnLAogICAg
ICAgICAgICAgJ25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbCcsCiAgICAgICAgICAgICAn
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsJywKKyAgICAgICAgICAgICdub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwnLAogICAgICAgICAg
ICAgJ3BhZ2UvQWJzdHJhY3RWaWV3LmlkbCcsCiAgICAgICAgICAgICAncGFnZS9CYXJJbmZvLmlk
bCcsCiAgICAgICAgICAgICAncGFnZS9Db25zb2xlLmlkbCcsCkBAIC0xNzcwLDYgKzE3NzEsNyBA
QAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTm9kZUZpbHRlckN1c3RvbS5jcHAnLAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTm9kZUl0ZXJhdG9yQ3VzdG9tLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvanMvSlNOb2RlTGlzdEN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2Jp
bmRpbmdzL2pzL0pTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGlu
Z3MvanMvSlNQZWVyQ29ubmVjdGlvbkN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdz
L2pzL0pTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdz
L2pzL0pTUG9wU3RhdGVFdmVudEN1c3RvbS5jcHAnLApAQCAtMjA3Nyw2ICsyMDc5LDcgQEAKICAg
ICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVzQ29sbGVjdGlvbi5oJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUxpc3RDdXN0b20uY3BwJywKKyAgICAg
ICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DdXN0b20uY3BwJywKICAg
ICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DZW50ZXJDdXN0b20u
Y3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhQZXJmb3JtYW5jZUN1c3Rv
bS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFBvcFN0YXRlRXZlbnRD
dXN0b20uY3BwJywKQEAgLTI3ODQsNiArMjc4Nyw3IEBACiAgICAgICAgICAgICAnbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25Db250ZW50cy5oJywKICAgICAgICAgICAgICdub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuY3BwJywKICAgICAgICAgICAgICdub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaCcsCisgICAgICAgICAgICAnbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAncGFnZS9CYXJJ
bmZvLmNwcCcsCiAgICAgICAgICAgICAncGFnZS9CYXJJbmZvLmgnLAogICAgICAgICAgICAgJ3Bh
Z2UvQ2hyb21lLmNwcCcsCkBAIC03NTAxLDYgKzc1MDUsOCBAQAogICAgICAgICAgICAgJzwoUFJP
RFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb3RpZmljYXRpb24uaCcsCiAgICAg
ICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05vdGlmaWNh
dGlvbkNlbnRlci5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNOb3RpZmljYXRpb25DZW50ZXIuaCcsCisgICAgICAgICAgICAnPChQUk9E
VUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5jcHAnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCcsCiAgICAgICAgICAg
ICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU09FU1N0YW5kYXJkRGVy
aXZhdGl2ZXMuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5oJywKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VTVGV4dHVyZUZsb2F0LmNwcCcs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDNh
ZDA5Y2Y0NTQ4ZWQ4ZDNmNDY5ZTdjNjA5MjRkOTFmMzQ3YTgyYWUuLmRlYWE3MWZkZjEyZGM5YzFi
YzZmZTQ3NmM2Y2RkNDYwY2RiMmMyMDYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCkBAIC0xMjA5MCw2ICsxMjA5MCw2MiBAQAogCQkJCT4KIAkJCTwv
RmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERp
cilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgor
CQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJS
ZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJ
CQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1
Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQor
CQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIgor
CQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3Vy
YXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTT3BlcmF0
aW9uTm90QWxsb3dlZEV4Y2VwdGlvbi5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtNjcyNzMs
NiArNjczMjksNTggQEAKIAkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCQk8L0ZpbGU+CiAJ
CQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU05vdGlmaWNhdGlv
bkN1c3RvbS5jcHAiCisJCQkJCT4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1l
PSJEZWJ1Z3xXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgor
CQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlO
YW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJ
CQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkv
PgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVD
b25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2lu
MzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29s
CisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUHJvZHVj
dGlvbnxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJ
CQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRp
dmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuY3BwIgogCQkJ
CQk+CiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDJlOTA1OWViMzczZTkxYjk4NmViYzc5
MTY0NTI0ZWYyNjM0OWYzODYuLjYyNjE1YWQ4OTFiYjA2MDJlNDU3MjI3NDk4ODY4ZDg3Yjc5NTVk
NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTg5OSw2ICs4OTksOCBAQAogCQkzMUMwRkY0QzBFNENFRkREMDA3RDZGRTUgLyog
RE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMUMwRkY0NjBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJh
bnNpdGlvbkV2ZW50LmggKi87IH07CiAJCTMxQzBGRjREMEU0Q0VGREQwMDdENkZFNSAvKiBET01X
ZWJLaXRUcmFuc2l0aW9uRXZlbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzMUMwRkY0NzBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNp
dGlvbkV2ZW50Lm1tICovOyB9OwogCQkzMUMwRkY0RTBFNENFRkREMDA3RDZGRTUgLyogRE9NV2Vi
S2l0VHJhbnNpdGlvbkV2ZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDMxQzBGRjQ4MEU0Q0VGREQwMDdENkZFNSAvKiBET01XZWJLaXRU
cmFuc2l0aW9uRXZlbnRJbnRlcm5hbC5oICovOyB9OworCQkzMUVDMUUyODE0RkY2MEVFMDBDOTQ2
NjIgLyogSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFFQzFFMjYxNEZGNjBFRTAwQzk0NjYy
IC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmNwcCAqLzsgfTsKKwkJMzFFQzFF
MjkxNEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUVDMUUyNzE0
RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCAqLzsg
fTsKIAkJMzFGQjFBNTcxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNsaWVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNEYxMjBB
NUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNsaWVudC5oICovOyB9OwogCQkzMUZCMUE1ODEy
MEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE1MDEyMEE1RDA2MDBEQzAy
QTAgLyogRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHAgKi87IH07CiAJCTMxRkIxQTU5MTIwQTVE
MDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE1MTEyMEE1RDA2MDBEQzAyQTAgLyog
RGV2aWNlTW90aW9uQ29udHJvbGxlci5oICovOyB9OwpAQCAtOTA5LDYgKzkxMSw4IEBACiAJCTMx
RkIxQTY1MTIwQTVEM0YwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTYzMTIwQTVEM0Yw
MERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmNwcCAqLzsgfTsKIAkJMzFGQjFBNjYxMjBB
NUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTY0MTIwQTVEM0YwMERDMDJBMCAvKiBK
U0RldmljZU1vdGlvbkV2ZW50LmggKi87IH07CiAJCTMxRkIxQTZDMTIwQTVENjkwMERDMDJBMCAv
KiBKU0RldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTZCMTIwQTVENjkwMERDMDJBMCAvKiBKU0Rldmlj
ZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCAqLzsgfTsKKwkJMzFGRTZERkExNTAwNEMyQTAwMDRFQkM0
IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFFQzFEQUMxNEZGMjZFQTAwQzk0NjYyIC8qIE5v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTMxRkU2RTZEMTUwMUEzQkYwMDA0RUJDNCAvKiBKU05v
dGlmaWNhdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMUZFNkU2QzE1MDFBM0JGMDAwNEVCQzQgLyogSlNOb3RpZmljYXRpb25DdXN0
b20uY3BwICovOyB9OwogCQkzMzE0QUNFQjEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25C
YXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMz
MTRBQ0U5MTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuY3BwICovOyB9OwogCQkz
MzE0QUNFQzEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25CYXNlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzE0QUNFQTEwODkyMDg2MDAwRjBF
NTYgLyogSlNFeGNlcHRpb25CYXNlLmggKi87IH07CiAJCTMzNTAzQzlBMTAxNzlBNzQwMDNCNDdF
MSAvKiBOb3RpZmljYXRpb25DbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDMzNTAzQzk5MTAxNzlBNzQwMDNCNDdFMSAvKiBOb3RpZmljYXRpb25D
bGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpA
QCAtNzc1NCw2ICs3NzU4LDEwIEBACiAJCTMxQzBGRjQ2MEU0Q0VGREQwMDdENkZFNSAvKiBET01X
ZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTMxQzBGRjQ3MEU0Q0VGREQwMDdENkZFNSAvKiBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnQubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01XZWJLaXRUcmFuc2l0
aW9uRXZlbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQzBGRjQ4MEU0Q0VG
REQwMDdENkZFNSAvKiBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnRJbnRlcm5hbC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnRJbnRlcm5h
bC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUVDMUQ1MDE0RkVGRDA4MDBDOTQ2
NjIgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IG5hbWUgPSBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsOyBwYXRoID0gbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkzMUVDMURBQzE0RkYyNkVBMDBDOTQ2NjIgLyogTm90aWZpY2F0aW9u
UGVybWlzc2lvbkNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjay5oOyBwYXRoID0gbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFFQzFFMjYxNEZGNjBF
RTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNh
bGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFFQzFFMjcxNEZGNjBF
RTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNr
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxRkIxQTRGMTIwQTVEMDYwMERDMDJB
MCAvKiBEZXZpY2VNb3Rpb25DbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRGV2aWNlTW90aW9uQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMx
RkIxQTUwMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERldmljZU1vdGlvbkNvbnRyb2xsZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUZCMUE1MTEyMEE1RDA2MDBEQzAy
QTAgLyogRGV2aWNlTW90aW9uQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC03NzY1LDYgKzc3NzMsNyBAQAogCQkzMUZCMUE2MzEyMEE1RDNGMDBEQzAyQTAgLyog
SlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0RldmljZU1vdGlvbkV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMzFGQjFBNjQxMjBBNUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEZXZpY2VNb3Rpb25FdmVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUZCMUE2QjEyMEE1RDY5MDBEQzAyQTAgLyogSlNE
ZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0RldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMzFGRTZFNkMxNTAxQTNCRjAwMDRFQkM0IC8qIEpTTm90aWZpY2F0aW9uQ3Vz
dG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTm90aWZpY2F0
aW9uQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzMxNEFDRTkxMDg5
MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU0V4Y2VwdGlvbkJhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkzMzE0QUNFQTEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25CYXNlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRXhjZXB0aW9uQmFzZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMzNGNzA0RTBGQjQ5Q0EyMDA4RTEyQTYgLyogTm90
aWZpY2F0aW9uLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBOb3RpZmljYXRpb24uaWRsOyBw
YXRoID0gbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMTQzOTUsNiArMTQ0MDQsOCBAQAogCQkJCTMzOTBDQTU0MEZGQzE1N0IwMDky
MTk2MiAvKiBOb3RpZmljYXRpb25Db250ZW50cy5oICovLAogCQkJCTMxMjhDQTY3MTQ3MzMxNTIw
MDc0QzcyQSAvKiBOb3RpZmljYXRpb25Db250cm9sbGVyLmNwcCAqLywKIAkJCQkzMTI4Q0E2QTE0
NzMzMTYzMDA3NEM3MkEgLyogTm90aWZpY2F0aW9uQ29udHJvbGxlci5oICovLAorCQkJCTMxRUMx
RDUwMTRGRUZEMDgwMEM5NDY2MiAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRs
ICovLAorCQkJCTMxRUMxREFDMTRGRjI2RUEwMEM5NDY2MiAvKiBOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2suaCAqLywKIAkJCSk7CiAJCQluYW1lID0gbm90aWZpY2F0aW9uczsKIAkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0xNDQwNiw2ICsxNDQxNyw4IEBACiAJCQkJMzM1MDND
QTAxMDE3OUFENzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uLmggKi8sCiAJCQkJMzM1MDNDQTEx
MDE3OUFENzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uQ2VudGVyLmNwcCAqLywKIAkJCQkzMzUw
M0NBMjEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb25DZW50ZXIuaCAqLywKKwkJCQkz
MUVDMUUyNjE0RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2suY3BwICovLAorCQkJCTMxRUMxRTI3MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjay5oICovLAogCQkJKTsKIAkJCW5hbWUgPSBOb3RpZmljYXRpb25z
OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTE5NjczLDYgKzE5Njg2LDcgQEAKIAkJ
CQlCQ0I3NzM2MDBDMTc4NTNEMDAxMzJCQTQgLyogSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcCAqLywK
IAkJCQkxQTc1MEREMzBBOTBFNzI5MDAwRkYyMTUgLyogSlNOb2RlSXRlcmF0b3JDdXN0b20uY3Bw
ICovLAogCQkJCUJDRDlDMjYxMEMxN0FBNjcwMDVDOTBBMiAvKiBKU05vZGVMaXN0Q3VzdG9tLmNw
cCAqLywKKwkJCQkzMUZFNkU2QzE1MDFBM0JGMDAwNEVCQzQgLyogSlNOb3RpZmljYXRpb25DdXN0
b20uY3BwICovLAogCQkJCUE4NUYyMjA4MTQzMDM3N0QwMDdDQzg4NCAvKiBKU1BvcFN0YXRlRXZl
bnRDdXN0b20uY3BwICovLAogCQkJCUUxQUQxMkQ1MTI5NUQwQkQwMEFDQTk4OSAvKiBKU1Byb2Nl
c3NpbmdJbnN0cnVjdGlvbkN1c3RvbS5jcHAgKi8sCiAJCQkJNDk5OEFFRDMxM0ZDNDE3RjAwOTBC
MUFBIC8qIEpTUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2tDdXN0b20uY3BwICovLApAQCAt
MjQ1NjYsNiArMjQ1ODAsOCBAQAogCQkJCUUxQ0RFOTIyMTUwMTkxNjkwMDg2MkNDNSAvKiBBc3lu
Y0ZpbGVTdHJlYW0uaCBpbiBIZWFkZXJzICovLAogCQkJCTQ1MENFQkYxMTUwNzNCQkUwMDJCQjE0
OSAvKiBMYWJlbGFibGVFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlDNUI0QzI0RDE1MDky
MzZDMDBBNkVGMzcgLyogV2ViQ29yZU5TVVJMRXh0cmFzLmggaW4gSGVhZGVycyAqLywKKwkJCQkz
MUVDMUUyOTE0RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2suaCBpbiBIZWFkZXJzICovLAorCQkJCTMxRkU2REZBMTUwMDRDMkEwMDA0RUJDNCAvKiBOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1
bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjc1NDQsNiAr
Mjc1NjAsOCBAQAogCQkJCTQ1MENFQkYwMTUwNzNCQkUwMDJCQjE0OSAvKiBMYWJlbGFibGVFbGVt
ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUM1QjRDMjRFMTUwOTIzNkMwMEE2RUYzNyAvKiBX
ZWJDb3JlTlNVUkxFeHRyYXMubW0gaW4gU291cmNlcyAqLywKIAkJCQk5QjJCN0FDMTE1MDk4NTBB
MDA4OTMyQ0MgLyogTWljcm9EYXRhSXRlbVZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMx
RUMxRTI4MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFj
ay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkzMUZFNkU2RDE1MDFBM0JGMDAwNEVCQzQgLyogSlNO
b3RpZmljYXRpb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20uY3Bw
CmluZGV4IDE2YTk2MmM1NjI5YTM1OWQ1ZGM3Y2U4ZTIyYmFkODUwNjVlOTEyY2UuLmEzNjIwYjg5
YjcyZDhjZjlmNjMxMzNiODY2YmJlMDk0YjVjMjFiYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20uY3Bw
CkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAg
LTMwLDE0ICszMSwxMiBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgJiYgRU5BQkxFKExFR0FDWV9O
T1RJRklDQVRJT05TKQogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJKU0N1c3Rv
bVZvaWRDYWxsYmFjay5oIgogI2luY2x1ZGUgIkpTRXZlbnRMaXN0ZW5lci5oIgotI2luY2x1ZGUg
IkpTTm90aWZpY2F0aW9uLmgiCiAjaW5jbHVkZSAiSlNOb3RpZmljYXRpb25DZW50ZXIuaCIKLSNp
bmNsdWRlICJOb3RpZmljYXRpb24uaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25DZW50ZXIuaCIK
ICNpbmNsdWRlIDxydW50aW1lL0Vycm9yLmg+CiAKQEAgLTY4LDYgKzY3LDYgQEAgSlNWYWx1ZSBK
U05vdGlmaWNhdGlvbkNlbnRlcjo6cmVxdWVzdFBlcm1pc3Npb24oRXhlY1N0YXRlKiBleGVjKQog
ICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogfQogCi19IC8vIG5hbWVzcGFjZQorfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpCisjZW5kaWYg
Ly8gRU5BQkxFKE5PVElGSUNBVElPTlMpICYmICFFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vdGlmaWNhdGlvbkN1
c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vdGlmaWNhdGlvbkN1c3Rv
bS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjM5NTc2NTc3YTgwOGMxMDFkYjhiNzU1ODAzMzkwNDgzOTUxZmJm
MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm90aWZp
Y2F0aW9uQ3VzdG9tLmNwcApAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEyIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpCisjaW5jbHVkZSAiSlNOb3RpZmljYXRpb24uaCIKKworI2luY2x1ZGUg
IkNhbGxiYWNrRnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU05vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5oIgorI2luY2x1ZGUgPHJ1bnRpbWUvRXJyb3IuaD4KKwordXNpbmcgbmFtZXNwYWNl
IEpTQzsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitKU1ZhbHVlIEpTTm90aWZpY2F0aW9uOjpy
ZXF1ZXN0UGVybWlzc2lvbihFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgLy8gQXJndW1lbnRzOiBO
b3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sKKyAgICBpZiAoIWV4ZWMtPmFyZ3VtZW50KDAp
LmlzT2JqZWN0KCkpCisgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcihleGVjKTsKKyAgICAK
KyAgICBSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBjYWxsYmFjayA9IGNy
ZWF0ZUZ1bmN0aW9uT25seUNhbGxiYWNrPEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNr
PihleGVjLCBzdGF0aWNfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4ZWMtPmxleGljYWxHbG9i
YWxPYmplY3QoKSksIGV4ZWMtPmFyZ3VtZW50KDApKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0
aW9uKCkpCisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworICAgIAorICAgIEFTU0VSVChj
YWxsYmFjayk7CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0Q29udGV4dCA9IHN0
YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgp
KS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworICAgIE5vdGlmaWNhdGlvbjo6cmVxdWVzdFBl
cm1pc3Npb24oc2NyaXB0Q29udGV4dCwgY2FsbGJhY2sucmVsZWFzZSgpKTsKKyAgICByZXR1cm4g
anNVbmRlZmluZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8g
RU5BQkxFKE5PVElGSUNBVElPTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZGZi
YzYwYTVlM2ZiZWQxMDY5ODE3ODM0YWVhODExZWI1Y2E5OGQyCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ3VzdG9tLmNw
cApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4g
QWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
CisjaW5jbHVkZSAiVjhOb3RpZmljYXRpb24uaCIKKworI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUu
aCIKKyNpbmNsdWRlICJWOE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIgorI2luY2x1
ZGUgIlY4UHJveHkuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gVjhOb3RpZmljYXRpb246OnJlcXVlc3RQZXJtaXNzaW9uQ2FsbGJhY2soY29uc3Qgdjg6
OkFyZ3VtZW50cyYgYXJncykKK3sKKyAgICBJTkNfU1RBVFMoTCJET00uTm90aWZpY2F0aW9uLnJl
cXVlc3RQZXJtaXNzaW9uIik7CisKKyAgICBOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbiA9IFY4
Tm90aWZpY2F0aW9uOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKKyAgICBTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0ID0gbm90aWZpY2F0aW9uLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0
KCk7CisKKyAgICBib29sIHN1Y2NlZWRlZCA9IGZhbHNlOworICAgIFJlZlB0cjxWOE5vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjaz4gY2FsbGJhY2sgPSBjcmVhdGVGdW5jdGlvbk9ubHlDYWxs
YmFjazxWOE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4oYXJnc1swXSwgc3VjY2VlZGVk
KTsKKyAgICBpZiAoIXN1Y2NlZWRlZCkKKyAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsK
KyAgICBBU1NFUlQoY2FsbGJhY2spOworCisgICAgTm90aWZpY2F0aW9uOjpyZXF1ZXN0UGVybWlz
c2lvbihjb250ZXh0LCBjYWxsYmFjay5yZWxlYXNlKCkpOworICAgIHJldHVybiB2ODo6VW5kZWZp
bmVkKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShO
T1RJRklDQVRJT05TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uY3BwCmluZGV4IDVkZTBlNTI3YzZhMzMzODY1NTgxNThhZTQ4OTQ1M2JkMGE1YmY5ZDYuLjdi
NjAwYTk0ODE3Y2Q5OGU2MDlkZTBkMzVmMmQxMjFjNGRjNjFhMzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKQEAgLTEsNiArMSw2IEBACiAvKgog
ICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDExLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTM1LDEy
ICszNSwxNCBAQAogCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uLmgiCiAKKyNpbmNsdWRlICJET01X
aW5kb3cuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkVycm9yRXZlbnQuaCIK
ICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ2VudGVyLmgi
Ci0jaW5jbHVkZSAiTm90aWZpY2F0aW9uQ2xpZW50LmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9u
Q29udGVudHMuaCIKKyNpbmNsdWRlICJOb3RpZmljYXRpb25Db250cm9sbGVyLmgiCisjaW5jbHVk
ZSAiTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VS
ZXF1ZXN0LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlRocmVh
ZGFibGVMb2FkZXIuaCIKQEAgLTIwMSw2ICsyMDMsMzggQEAgdm9pZCBOb3RpZmljYXRpb246OnN0
b3BMb2FkaW5nKCkKICAgICBtX2xvYWRlci0+Y2FuY2VsKCk7CiB9CiAKK2NvbnN0IFN0cmluZyYg
Tm90aWZpY2F0aW9uOjpwZXJtaXNzaW9uTGV2ZWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCkKK3sKKyAgICBBU1NFUlQoY29udGV4dC0+aXNEb2N1bWVudCgpKTsKKyAgICBBU1NFUlQo
c3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KS0+cGFnZSgpKTsKKyAgICByZXR1cm4gc3Ry
aW5nRm9yUGVybWlzc2lvbihOb3RpZmljYXRpb25Db250cm9sbGVyOjpmcm9tKHN0YXRpY19jYXN0
PERvY3VtZW50Kj4oY29udGV4dCktPnBhZ2UoKSktPmNsaWVudCgpLT5jaGVja1Blcm1pc3Npb24o
Y29udGV4dCkpOworfQorCitjb25zdCBTdHJpbmcmIE5vdGlmaWNhdGlvbjo6c3RyaW5nRm9yUGVy
bWlzc2lvbihOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gcGVybWlzc2lvbikKK3sKKyAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgYWxsb3dlZFBlcm1pc3Npb24sICgi
Z3JhbnRlZCIpKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgZGVuaWVk
UGVybWlzc2lvbiwgKCJkZW5pZWQiKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBT
dHJpbmcsIGRlZmF1bHRQZXJtaXNzaW9uLCAoImRlZmF1bHQiKSk7CisgICAgc3dpdGNoIChwZXJt
aXNzaW9uKSB7CisgICAgY2FzZSBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25BbGxvd2Vk
OgorICAgICAgICByZXR1cm4gYWxsb3dlZFBlcm1pc3Npb247CisgICAgY2FzZSBOb3RpZmljYXRp
b25DbGllbnQ6OlBlcm1pc3Npb25EZW5pZWQ6CisgICAgICAgIHJldHVybiBkZW5pZWRQZXJtaXNz
aW9uOworICAgIGNhc2UgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uTm90QWxsb3dlZDoK
KyAgICAgICAgcmV0dXJuIGRlZmF1bHRQZXJtaXNzaW9uOworICAgIH0KKyAgICAKKyAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gZGVuaWVkUGVybWlzc2lvbjsKK30KKwordm9p
ZCBOb3RpZmljYXRpb246OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBjYWxs
YmFjaykKK3sKKyAgICBBU1NFUlQoY29udGV4dC0+aXNEb2N1bWVudCgpKTsKKyAgICBBU1NFUlQo
c3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KS0+cGFnZSgpKTsKKyAgICBOb3RpZmljYXRp
b25Db250cm9sbGVyOjpmcm9tKHN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCktPnBhZ2Uo
KSktPmNsaWVudCgpLT5yZXF1ZXN0UGVybWlzc2lvbihjb250ZXh0LCBjYWxsYmFjayk7Cit9CisK
IHZvaWQgTm90aWZpY2F0aW9uOjpkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZywgY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7CiAgICAgaW50IHN0YXR1cyA9IHJlc3Bv
bnNlLmh0dHBTdGF0dXNDb2RlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb24uaAppbmRleCBkZDBkNmVkODRhZDMwNzlkODhiYTAyYTAyYmNhY2M2YTY0NWNiMzlk
Li43MWE3ZWVkYzdmZmE0N2E3MGU1NzNmN2E1NmQ2ZmZmNGVmYzAxZGIyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKQEAgLTEsNiArMSw2IEBACiAvKgog
ICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDExLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTM2LDYg
KzM2LDcgQEAKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQu
aCIKICNpbmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ2xpZW50LmgiCiAj
aW5jbHVkZSAiTm90aWZpY2F0aW9uQ29udGVudHMuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIu
aCIKICNpbmNsdWRlICJUZXh0RGlyZWN0aW9uLmgiCkBAIC01MCw2ICs1MSw3IEBACiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIE5vdGlmaWNhdGlvbkNlbnRlcjsKK2NsYXNzIE5vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjazsKIGNsYXNzIFJlc291cmNlRXJyb3I7CiBjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKQEAgLTExOSw2ICsx
MjEsMTAgQEAgcHVibGljOgogICAgIC8vIERlcHJlY2F0ZWQuIFVzZSBmdW5jdGlvbnMgZnJvbSBO
b3RpZmljYXRpb25DZW50ZXIuCiAgICAgdm9pZCBkZXRhY2hQcmVzZW50ZXIoKSB7IH0KIAorICAg
IHN0YXRpYyBjb25zdCBTdHJpbmcmIHBlcm1pc3Npb25MZXZlbChTY3JpcHRFeGVjdXRpb25Db250
ZXh0Kik7CisgICAgc3RhdGljIGNvbnN0IFN0cmluZyYgc3RyaW5nRm9yUGVybWlzc2lvbihOb3Rp
ZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24pOworICAgIHN0YXRpYyB2b2lkIHJlcXVlc3RQZXJt
aXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBl
cm1pc3Npb25DYWxsYmFjaz4pOworCiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZXNwb25z
ZSh1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CiAgICAgdmlydHVhbCB2
b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0IGNoYXIqIGRhdGEsIGludCBkYXRhTGVuZ3RoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9hZGluZyh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIs
IGRvdWJsZSBmaW5pc2hUaW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uLmlkbAppbmRleCBkOGNiM2NjMzlhMjVlNzE3NDNlOWY3NWU5ZThjZjRjMTgwZTIy
MTY4Li40NTgxNmUxODQzZDBjNDJjYzRlODYzNjBkYWIxZjVkNGI4ZWE2NzE3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCkBAIC0xLDYgKzEsNiBA
QAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zNCwxMiArMzQs
MTQgQEAgbW9kdWxlIHRocmVhZHMgewogICAgIGludGVyZmFjZSBbCiAgICAgICAgIENvbmRpdGlv
bmFsPU5PVElGSUNBVElPTlMsCiAgICAgICAgIEFjdGl2ZURPTU9iamVjdCwKLSAgICAgICAgRXZl
bnRUYXJnZXQsCi0gICAgICAgIE9taXRDb25zdHJ1Y3RvcgorICAgICAgICBFdmVudFRhcmdldAog
ICAgIF0gTm90aWZpY2F0aW9uIHsKICAgICAgICAgdm9pZCBzaG93KCk7CiAgICAgICAgIHZvaWQg
Y2FuY2VsKCk7CiAKKyAgICAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHN0
YXRpYyBET01TdHJpbmcgcGVybWlzc2lvbkxldmVsKCk7CisgICAgICAgIFtDdXN0b21dIHN0YXRp
YyB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKGluIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFj
ayBjYWxsYmFjayk7CisKICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25zaG93Owog
ICAgICAgICAvLyBGSVhNRTogVGhlIGxhdGVzdCBXZWIgTm90aWZpY2F0aW9ucyBzdGFuZGFyZCB1
c2VzIHRoZSBvbnNob3cgZXZlbnQgbGlzdGVuZXIuCiAgICAgICAgIC8vIFRoZSBvbmRpc3BsYXkg
ZXZlbnQgbGlzdGVuZXIgc2hvdWxkIGJlIHJlbW92ZWQgd2hlbiBpbXBsZW1lbnRhdGlvbnMgY2hh
bmdlIHRoZSBldmVudCBsaXN0ZW5lciB0byBvbnNob3cuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAKaW5kZXggZmY2MDQ0NTMxYTE1
NDI4MjMyNGMxNTRlMzU5ZjI1ZGI0Zjc3ZDVhMy4uMmMyZWUyMTFlYTRmODM1ZTdmMmI1NWFlYTBi
ZmFjYzc2OWMyMDM5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25DZW50ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uQ2VudGVyLmNwcApAQCAtNTMsMTkgKzUzLDIzIEBAIE5vdGlmaWNhdGlvbkNl
bnRlcjo6Tm90aWZpY2F0aW9uQ2VudGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQs
IE5vdGlmaWNhCiAgICAgOiBBY3RpdmVET01PYmplY3QoY29udGV4dCwgdGhpcykKICAgICAsIG1f
Y2xpZW50KGNsaWVudCkgeyB9CiAKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiBp
bnQgTm90aWZpY2F0aW9uQ2VudGVyOjpjaGVja1Blcm1pc3Npb24oKQogewogICAgIGlmICghY2xp
ZW50KCkgfHwgIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKICAgICAgICAgcmV0dXJuIE5vdGlm
aWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbkRlbmllZDsKICAgICByZXR1cm4gbV9jbGllbnQtPmNo
ZWNrUGVybWlzc2lvbihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwogfQorI2VuZGlmCiAKKyNp
ZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiB2b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6
cmVxdWVzdFBlcm1pc3Npb24oUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrKQogewog
ICAgIGlmICghY2xpZW50KCkgfHwgIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKICAgICAgICAg
cmV0dXJuOwogICAgIG1fY2xpZW50LT5yZXF1ZXN0UGVybWlzc2lvbihzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCksIGNhbGxiYWNrKTsKIH0KKyNlbmRpZgogCiB2b2lkIE5vdGlmaWNhdGlvbkNlbnRl
cjo6ZGlzY29ubmVjdEZyYW1lKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5oCmluZGV4IDJjY2NjMGRmY2M2YTZiN2E2MWRjMjkyNGFk
Yjc1OWFhOGFjZGY1OTUuLmZkNjg5MzA0M2NjNzQxMmVkY2EzOWViNGE1YzlmNGE5OTM4ZmY5NTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2Vu
dGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50
ZXIuaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQpAQCAtNzcsOCArNzcsMTAgQEAgcHVibGljOgogCiAgICAgTm90aWZpY2F0aW9uQ2xpZW50
KiBjbGllbnQoKSBjb25zdCB7IHJldHVybiBtX2NsaWVudDsgfQogCisjaWYgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQogICAgIGludCBjaGVja1Blcm1pc3Npb24oKTsKICAgICB2b2lkIHJl
cXVlc3RQZXJtaXNzaW9uKFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPik7CisjZW5kaWYKIAogICAg
IHZvaWQgZGlzY29ubmVjdEZyYW1lKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbAppbmRleCA4YmUxZWNjNzY5ZmJjNWE0Mzdi
NzY0ZTk2YTA3ZTQ3NTE3MGEzNTY2Li5iOTk3ZDlmMzIzMTgzYjI4N2VjNTFhNDYxM2NjNDBkNmYz
MjMxNWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbkNlbnRlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25DZW50ZXIuaWRsCkBAIC00MSw4ICs0MSwxMCBAQCBtb2R1bGUgdGhyZWFkcyB7CiAjZW5k
aWYKICAgICAgICBbVjhDdXN0b21dIE5vdGlmaWNhdGlvbiBjcmVhdGVOb3RpZmljYXRpb24oaW4g
RE9NU3RyaW5nIGljb25VcmwsIGluIERPTVN0cmluZyB0aXRsZSwgaW4gRE9NU3RyaW5nIGJvZHkp
IHJhaXNlcyhET01FeGNlcHRpb24pOwogCisjaWYgZGVmaW5lZChFTkFCTEVfTEVHQUNZX05PVElG
SUNBVElPTlMpICYmIEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUwogICAgICAgIGludCBjaGVj
a1Blcm1pc3Npb24oKTsKICAgICAgICBbQ3VzdG9tXSB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKGlu
IFZvaWRDYWxsYmFjayBjYWxsYmFjayk7CisjZW5kaWYKICAgICB9OwogCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNsaWVudC5oIGIvU291
cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DbGllbnQuaAppbmRleCBjMWIz
MzliMzRhNmM3NzBmOTZmNzllYzg1NGUyYjIwODA5OWJkMWQwLi40ZDQ3Yzc1NzEyZjc4ODZjODlm
MWY3MjA2YmRlNmNiNWVkZmVmNjgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uQ2xpZW50LmgKQEAgLTM4LDggKzM4LDkgQEAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7Ci1jbGFzcyBOb3RpZmljYXRpb247CiBjbGFzcyBL
VVJMOworY2xhc3MgTm90aWZpY2F0aW9uOworY2xhc3MgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNh
bGxiYWNrOwogY2xhc3MgUGFnZTsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKQEAg
LTcwLDEwICs3MSwxNCBAQCBwdWJsaWM6CiAgICAgLy8gSW5mb3JtcyB0aGUgcHJlc2VudGVyIHRo
ZSBjb250cm9sbGVyIGF0dGFjaGVkIHRvIHRoZSBwYWdlIGhhcyBiZWVuIGRlc3Ryb3llZC4KICAg
ICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpID0gMDsKIAor
I2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICAvLyBSZXF1ZXN0cyB1c2VyIHBl
cm1pc3Npb24gdG8gc2hvdyBkZXNrdG9wIG5vdGlmaWNhdGlvbnMgZnJvbSBhIHBhcnRpY3VsYXIK
ICAgICAvLyBzY3JpcHQgY29udGV4dC4gVGhlIGNhbGxiYWNrIHBhcmFtZXRlciBzaG91bGQgYmUg
cnVuIHdoZW4gdGhlIHVzZXIgaGFzCiAgICAgLy8gbWFkZSBhIGRlY2lzaW9uLgogICAgIHZpcnR1
YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1Jl
ZlB0cjxWb2lkQ2FsbGJhY2s+KSA9IDA7CisjZW5kaWYKKyAgICAvLyBGSVhNRTogT25jZSBhbGwg
b2YgdGhlIHBvcnRzIGhhdmUgYWRvcHRlZCB0aGUgbmV3IEFQSSwgd2Ugc2hvdWxkIHR1cm4gdGhp
cyB0byBhIHB1cmUgdmlydHVhbC4KKyAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24o
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lv
bkNhbGxiYWNrPikgeyB9CiAKICAgICAvLyBDYW5jZWwgYWxsIG91dHN0YW5kaW5nIHJlcXVlc3Rz
IGZvciB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dAogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxS
ZXF1ZXN0c0ZvclBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopID0gMDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lv
bkNhbGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBl
cm1pc3Npb25DYWxsYmFjay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0OTRlZjVlMDMzYTkzMDJiMzBiNTg2ZTg5
MzM5MzdmOTk5YzQ3MTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oCkBAIC0wLDAgKzEsNDIgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09N
UFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01Q
VVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrX2gKKyNkZWZp
bmUgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrX2gKKworI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworICAgIAorY2xhc3MgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrIDogcHVibGljIFJl
ZkNvdW50ZWQ8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiB7CitwdWJsaWM6CisgICAg
dmlydHVhbCB+Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrKCkgeyB9CisgICAgdmlydHVh
bCBib29sIGhhbmRsZUV2ZW50KGNvbnN0IFN0cmluZyYgcGVybWlzc2lvbikgPSAwOworfTsKKyAg
ICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIE5vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFja19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MWYxMTE2MTJlMjQwY2VjYWExOWZiNWVhNzFhYWNkN2QyNjA5M2MyMAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNh
bGxiYWNrLmlkbApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgdGhyZWFkcyB7CisK
KyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1OT1RJRklDQVRJT05TLAorICAg
ICAgICBDYWxsYmFjaworICAgIF0gTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrIHsKKyAg
ICAgICAgYm9vbGVhbiBoYW5kbGVFdmVudChpbiBET01TdHJpbmcgcGVybWlzc2lvbik7CisgICAg
fTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IDE0MDg2YmYyMGU5ZTQ5NzZh
YTg4MTIzYjg2MGMwN2I0NTkzYTc5YWQuLmJiMzE3ODQ2MTFiNmI2M2RhZTU0YzJlMDdiYjdjYjY0
Yzg2ZDliY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAw
OSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
QEAgLTE3Miw2ICsxNzIsNyBAQCBtb2R1bGUgd2luZG93IHsKIAogI2lmIGRlZmluZWQoRU5BQkxF
X05PVElGSUNBVElPTlMpICYmIEVOQUJMRV9OT1RJRklDQVRJT05TCiAgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50aW1lXSBOb3RpZmljYXRpb25DZW50ZXIgd2Via2l0
Tm90aWZpY2F0aW9uczsKKyAgICAgICAgYXR0cmlidXRlIE5vdGlmaWNhdGlvbkNvbnN0cnVjdG9y
IE5vdGlmaWNhdGlvbjsKICNlbmRpZgogCiAjaWYgZGVmaW5lZChFTkFCTEVfT1JJRU5UQVRJT05f
RVZFTlRTKSAmJiBFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaCBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCmluZGV4
IGQ2OGQ5MjI3NTkyOGU2ZWIwN2NmZTgyYzhhOWFiMDZiYTE0YjA1NDUuLjdhNDY0NTEzOWJiYjZk
ZDBhNTVjYzcyNzliYzI4NWQ0MDNkMzhhZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCkBAIC0zNCwxMSAr
MzQsMTMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTm90aWZpY2F0aW9uOworY2xh
c3MgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dDsKIGNsYXNzIFZvaWRDYWxsYmFjazsKIH0KIAogQGNsYXNzIFdlYk5vdGlmaWNhdGlv
bjsKK0BjbGFzcyBXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lcjsKIEBjbGFzcyBXZWJWaWV3
OwogCiBjbGFzcyBXZWJOb3RpZmljYXRpb25DbGllbnQgOiBwdWJsaWMgV2ViQ29yZTo6Tm90aWZp
Y2F0aW9uQ2xpZW50IHsKQEAgLTUyLDEwICs1NCwxNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwg
dm9pZCBjbGVhck5vdGlmaWNhdGlvbnMoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCop
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25PYmplY3REZXN0cm95ZWQo
V2ViQ29yZTo6Tm90aWZpY2F0aW9uKikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlm
aWNhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKSBPVkVSUklERTsKKyNpZiBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNv
cmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxs
YmFjaz4pIE9WRVJSSURFOworI2VuZGlmCisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNz
aW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPFdlYkNvcmU6
Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4pIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
dm9pZCBjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9u
Q29udGV4dCopIE9WRVJSSURFIHsgfQogICAgIHZpcnR1YWwgV2ViQ29yZTo6Tm90aWZpY2F0aW9u
Q2xpZW50OjpQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRp
b25Db250ZXh0KikgT1ZFUlJJREU7CiAKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyAgICB2
b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBX
ZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciAqKTsKKyNlbmRpZgorCiAgICAgV2ViVmlldyAq
bV93ZWJWaWV3OwogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIEhhc2hNYXA8UmVmUHRy
PFdlYkNvcmU6Ok5vdGlmaWNhdGlvbj4sIFJldGFpblB0cjxXZWJOb3RpZmljYXRpb24+ID4gbV9u
b3RpZmljYXRpb25NYXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQubW0KaW5kZXggM2ZkZjBiYzdmMzYyMmVlYWI0
YjEzMmI4YjM5OTYxNDBjM2ZmODE0ZS4uN2NhNDA4NmQ3NmViN2ZkNjFmMzE5NTQ0YmM1MzY2Mzk3
Nzk2MTIxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
Tm90aWZpY2F0aW9uQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5tbQpAQCAtMzMsMTggKzMzLDMxIEBACiAjaW1wb3J0
ICJXZWJVSURlbGVnYXRlUHJpdmF0ZS5oIgogI2ltcG9ydCAiV2ViVmlld0ludGVybmFsLmgiCiAj
aW1wb3J0IDxXZWJDb3JlL0Jsb2NrRXhjZXB0aW9ucy5oPgorI2ltcG9ydCA8V2ViQ29yZS9Ob3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaD4KICNpbXBvcnQgPFdlYkNvcmUvUGFnZS5oPgog
I2ltcG9ydCA8V2ViQ29yZS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg+CiAjZW5kaWYKIAorI2lm
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpbXBvcnQgPFdlYkNvcmUvVm9pZENhbGxi
YWNrLmg+CisjZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKICNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKKwogQGludGVyZmFjZSBXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5l
ciA6IE5TT2JqZWN0IDxXZWJBbGxvd0RlbnlQb2xpY3lMaXN0ZW5lcj4KIHsKLSAgICBSZWZQdHI8
Vm9pZENhbGxiYWNrPiBfY2FsbGJhY2s7CisgICAgUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjaz4gX2NhbGxiYWNrOworI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykK
KyAgICBSZWZQdHI8Vm9pZENhbGxiYWNrPiBfdm9pZENhbGxiYWNrOworI2VuZGlmCiB9Ci0tIChp
ZClpbml0V2l0aENhbGxiYWNrOihQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pY2FsbGJhY2s7Cist
IChpZClpbml0V2l0aENhbGxiYWNrOihQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjaz4pY2FsbGJhY2s7CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorLSAo
aWQpaW5pdFdpdGhWb2lkQ2FsbGJhY2s6KFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiljYWxsYmFj
azsKKyNlbmRpZgorCiBAZW5kCiAjZW5kaWYKIApAQCAtMTQ3LDI5ICsxNjAsNDYgQEAgdm9pZCBX
ZWJOb3RpZmljYXRpb25DbGllbnQ6Om5vdGlmaWNhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKQog
ICAgIGRlbGV0ZSB0aGlzOwogfQogCisKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CiB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNr
KQogeworICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKKyAgICBXZWJOb3RpZmljYXRp
b25Qb2xpY3lMaXN0ZW5lciogbGlzdGVuZXIgPSBbW1dlYk5vdGlmaWNhdGlvblBvbGljeUxpc3Rl
bmVyIGFsbG9jXSBpbml0V2l0aFZvaWRDYWxsYmFjazpjYWxsYmFja107CisgICAgcmVxdWVzdFBl
cm1pc3Npb24oY29udGV4dCwgbGlzdGVuZXIpOworICAgIFtsaXN0ZW5lciByZWxlYXNlXTsKKyAg
ICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOworfQorI2VuZGlmCisKK3ZvaWQgV2ViTm90aWZp
Y2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0LCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4gY2FsbGJh
Y2spCit7CiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgQkVHSU5fQkxPQ0tfT0JKQ19F
WENFUFRJT05TOwotICAgIAorICAgIFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyICpsaXN0
ZW5lciA9IFtbV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgYWxsb2NdIGluaXRXaXRoQ2Fs
bGJhY2s6Y2FsbGJhY2tdOworICAgIHJlcXVlc3RQZXJtaXNzaW9uKGNvbnRleHQsIGxpc3RlbmVy
KTsKKyAgICBbbGlzdGVuZXIgcmVsZWFzZV07CisgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9O
UzsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGNvbnRleHQpOworICAgIFVOVVNFRF9QQVJBTShj
YWxsYmFjayk7CisjZW5kaWYKK30KKworI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQordm9pZCBX
ZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyICps
aXN0ZW5lcikKK3sKICAgICBTRUwgc2VsZWN0b3IgPSBAc2VsZWN0b3Iod2ViVmlldzpkZWNpZGVQ
b2xpY3lGb3JOb3RpZmljYXRpb25SZXF1ZXN0RnJvbU9yaWdpbjpsaXN0ZW5lcjopOwogICAgIGlm
ICghW1ttX3dlYlZpZXcgVUlEZWxlZ2F0ZV0gcmVzcG9uZHNUb1NlbGVjdG9yOnNlbGVjdG9yXSkK
ICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIFdlYlNlY3VyaXR5T3JpZ2luICp3ZWJPcmlnaW4g
PSBbW1dlYlNlY3VyaXR5T3JpZ2luIGFsbG9jXSBfaW5pdFdpdGhXZWJDb3JlU2VjdXJpdHlPcmln
aW46Y29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKV07Ci0gICAgV2ViTm90aWZpY2F0aW9uUG9saWN5
TGlzdGVuZXIqIGxpc3RlbmVyID0gW1tXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciBhbGxv
Y10gaW5pdFdpdGhDYWxsYmFjazpjYWxsYmFja107CiAgICAgCiAgICAgQ2FsbFVJRGVsZWdhdGUo
bV93ZWJWaWV3LCBzZWxlY3Rvciwgd2ViT3JpZ2luLCBsaXN0ZW5lcik7CiAgICAgCiAgICAgW3dl
Yk9yaWdpbiByZWxlYXNlXTsKLSAgICBbbGlzdGVuZXIgcmVsZWFzZV07Ci0gICAgCi0gICAgRU5E
X0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGNvbnRleHQp
OwotICAgIFVOVVNFRF9QQVJBTShjYWxsYmFjayk7Ci0jZW5kaWYKIH0KKyNlbmRpZgogCiBOb3Rp
ZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpjaGVja1Bl
cm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKIHsKQEAgLTE5OSw3ICsy
MjksOCBAQCBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gV2ViTm90aWZpY2F0aW9uQ2xp
ZW50OjpjaGVja1Blcm1pc3Npb24oU2NyaXB0RXhlYwogCiAjaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpCiBAaW1wbGVtZW50YXRpb24gV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIKLS0gKGlk
KWluaXRXaXRoQ2FsbGJhY2s6KFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiljYWxsYmFjaworCist
IChpZClpbml0V2l0aENhbGxiYWNrOihQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjaz4pY2FsbGJhY2sKIHsKICAgICBpZiAoIShzZWxmID0gW3N1cGVyIGluaXRdKSkKICAg
ICAgICAgcmV0dXJuIG5pbDsKQEAgLTIwOSwxNCArMjQwLDQwIEBAIE5vdGlmaWNhdGlvbkNsaWVu
dDo6UGVybWlzc2lvbiBXZWJOb3RpZmljYXRpb25DbGllbnQ6OmNoZWNrUGVybWlzc2lvbihTY3Jp
cHRFeGVjCiAgICAgcmV0dXJuIHNlbGY7CiB9CiAKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNB
VElPTlMpCistIChpZClpbml0V2l0aFZvaWRDYWxsYmFjazooUGFzc1JlZlB0cjxWb2lkQ2FsbGJh
Y2s+KWNhbGxiYWNrCit7CisgICAgaWYgKCEoc2VsZiA9IFtzdXBlciBpbml0XSkpCisgICAgICAg
IHJldHVybiBuaWw7CisKKyAgICBBU1NFUlQoY2FsbGJhY2spOworICAgIF92b2lkQ2FsbGJhY2sg
PSBjYWxsYmFjazsKKyAgICByZXR1cm4gc2VsZjsKK30KKyNlbmRpZgorCiAtICh2b2lkKWFsbG93
CiB7Ci0gICAgX2NhbGxiYWNrLT5oYW5kbGVFdmVudCgpOworI2lmIEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKKyAgICBpZiAoX3ZvaWRDYWxsYmFjaykgeworICAgICAgICBfdm9pZENhbGxi
YWNrLT5oYW5kbGVFdmVudCgpOworICAgICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCisKKyAg
ICBfY2FsbGJhY2stPmhhbmRsZUV2ZW50KE5vdGlmaWNhdGlvbjo6c3RyaW5nRm9yUGVybWlzc2lv
bihOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25BbGxvd2VkKSk7CiB9CiAKIC0gKHZvaWQp
ZGVueQogewotICAgIF9jYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyNpZiBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCisgICAgaWYgKF92b2lkQ2FsbGJhY2spIHsKKyAgICAgICAgX3ZvaWRD
YWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgor
CisgICAgX2NhbGxiYWNrLT5oYW5kbGVFdmVudChOb3RpZmljYXRpb246OnN0cmluZ0ZvclBlcm1p
c3Npb24oTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uRGVuaWVkKSk7CiB9CiAKIEBlbmQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
ci5jcHAKaW5kZXggNzNlNzFmYmM5MmVkMWVmY2MzMTczMTEwOGFmYTZjNDJlNDYwZmEzYi4uNTA5
YjlkMjg5YjY5ZTliMzI0ZDVjYTYyNTcyNTg3ZmMyNTYwNGE4OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHAKQEAgLTEsNSAr
MSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTU5LDExICs1
OSwxMiBAQCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6Ok5vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcihXZWJQYQogewogfQogCi12b2lkIE5vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6c3RhcnRSZXF1ZXN0KFNlY3VyaXR5T3JpZ2luKiBv
cmlnaW4sIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFjaykKK3ZvaWQgTm90aWZpY2F0
aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpzdGFydFJlcXVlc3QoU2VjdXJpdHlPcmlnaW4q
IG9yaWdpbiwgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNhbGxi
YWNrKQogewogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQotICAgIGlmIChwZXJtaXNzaW9uTGV2
ZWwob3JpZ2luKSAhPSBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25Ob3RBbGxvd2VkKSB7
Ci0gICAgICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVudCgpOworICAgIE5vdGlmaWNhdGlvbkNsaWVu
dDo6UGVybWlzc2lvbiBwZXJtaXNzaW9uID0gcGVybWlzc2lvbkxldmVsKG9yaWdpbik7CisgICAg
aWYgKHBlcm1pc3Npb24gIT0gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uTm90QWxsb3dl
ZCkgeworICAgICAgICBjYWxsYmFjay0+aGFuZGxlRXZlbnQoTm90aWZpY2F0aW9uOjpzdHJpbmdG
b3JQZXJtaXNzaW9uKHBlcm1pc3Npb24pKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAt
NzgsNiArNzksMjMgQEAgdm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6
OnN0YXJ0UmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2luLAogI2VuZGlmCiB9CiAKKyNpZiBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCit2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlcjo6c3RhcnRSZXF1ZXN0KFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sIFBhc3NS
ZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFjaykKK3sKKyAgICBOb3RpZmljYXRpb25DbGllbnQ6
OlBlcm1pc3Npb24gcGVybWlzc2lvbiA9IHBlcm1pc3Npb25MZXZlbChvcmlnaW4pOworICAgIGlm
IChwZXJtaXNzaW9uICE9IE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbk5vdEFsbG93ZWQp
IHsKKyAgICAgICAgY2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisgICAgCisgICAgdWludDY0X3QgcmVxdWVzdElEID0gZ2VuZXJhdGVSZXF1ZXN0SUQoKTsK
KyAgICBtX29yaWdpblRvSURNYXAuc2V0KG9yaWdpbiwgcmVxdWVzdElEKTsKKyAgICBtX2lkVG9P
cmlnaW5NYXAuc2V0KHJlcXVlc3RJRCwgb3JpZ2luKTsKKyAgICBtX2lkVG9Wb2lkQ2FsbGJhY2tN
YXAuc2V0KHJlcXVlc3RJRCwgY2FsbGJhY2spOworICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6
V2ViUGFnZVByb3h5OjpSZXF1ZXN0Tm90aWZpY2F0aW9uUGVybWlzc2lvbihyZXF1ZXN0SUQsIG9y
aWdpbi0+dG9TdHJpbmcoKSkpOworfQorI2VuZGlmCisKIHZvaWQgTm90aWZpY2F0aW9uUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyOjpjYW5jZWxSZXF1ZXN0KFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4p
CiB7CiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCkBAIC0xMTEsMTEgKzEyOSwxOSBAQCB2b2lk
IE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6ZGlkUmVjZWl2ZU5vdGlmaWNh
dGlvblBlcm1pc3Npb25EZWNpcwogICAgIGlmICghaXNSZXF1ZXN0SURWYWxpZChyZXF1ZXN0SUQp
KQogICAgICAgICByZXR1cm47CiAKLSAgICBSZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFjayA9
IG1faWRUb0NhbGxiYWNrTWFwLnRha2UocmVxdWVzdElEKTsKKyNpZiBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCisgICAgUmVmUHRyPFZvaWRDYWxsYmFjaz4gdm9pZENhbGxiYWNrID0gbV9p
ZFRvVm9pZENhbGxiYWNrTWFwLnRha2UocmVxdWVzdElEKTsKKyAgICBpZiAodm9pZENhbGxiYWNr
KSB7CisgICAgICAgIHZvaWRDYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKyNlbmRpZgorCisgICAgUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxs
YmFjaz4gY2FsbGJhY2sgPSBtX2lkVG9DYWxsYmFja01hcC50YWtlKHJlcXVlc3RJRCk7CiAgICAg
aWYgKCFjYWxsYmFjaykKICAgICAgICAgcmV0dXJuOwogICAgIAotICAgIGNhbGxiYWNrLT5oYW5k
bGVFdmVudCgpOworICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVudChOb3RpZmljYXRpb246OnN0cmlu
Z0ZvclBlcm1pc3Npb24oYWxsb3dlZCA/IE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbkFs
bG93ZWQgOiBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25EZW5pZWQpKTsKICNlbHNlCiAg
ICAgVU5VU0VEX1BBUkFNKHJlcXVlc3RJRCk7CiAgICAgVU5VU0VEX1BBUkFNKGFsbG93ZWQpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlm
aWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5o
CmluZGV4IDAzOTc4NzliYTZiZjUxNjZjODUwODU5NDZmMDRmNmVmMjNkMGVlNjAuLmJiY2NhOGQ5
ZjhhZjFkY2QwOGJlYjA0MTBlNDI0MmQ4NTBjNzYyNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmgKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI3LDYgKzI3LDcgQEAKICNk
ZWZpbmUgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyX2gKIAogI2luY2x1ZGUg
PFdlYkNvcmUvTm90aWZpY2F0aW9uQ2xpZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Ob3RpZmlj
YXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaD4KICNpbmNsdWRlIDxXZWJDb3JlL1ZvaWRDYWxsYmFj
ay5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQu
aD4KQEAgLTQ2LDcgKzQ3LDEwIEBAIGNsYXNzIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlciA6IHB1YmxpYyBSZWZDb3VudGVkPE5vdGlmaWNhdGlvblBlcm1pCiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
PiBjcmVhdGUoV2ViUGFnZSopOwogICAgIAorICAgIHZvaWQgc3RhcnRSZXF1ZXN0KFdlYkNvcmU6
OlNlY3VyaXR5T3JpZ2luKiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2s+KTsKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgdm9p
ZCBzdGFydFJlcXVlc3QoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qLCBQYXNzUmVmUHRyPFdlYkNv
cmU6OlZvaWRDYWxsYmFjaz4pOworI2VuZGlmCiAgICAgdm9pZCBjYW5jZWxSZXF1ZXN0KFdlYkNv
cmU6OlNlY3VyaXR5T3JpZ2luKik7CiAgICAgCiAgICAgLy8gU3luY2hyb25vdXMgY2FsbCB0byBy
ZXRyaWV2ZSBwZXJtaXNzaW9uIGxldmVsIGZvciBnaXZlbiBzZWN1cml0eSBvcmlnaW4KQEAgLTU3
LDcgKzYxLDEwIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyKFdlYlBhZ2UqKTsKICAgICAKLSAgICBIYXNoTWFwPHVpbnQ2NF90LCBS
ZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxiYWNrPiA+IG1faWRUb0NhbGxiYWNrTWFwOworICAgIEhh
c2hNYXA8dWludDY0X3QsIFJlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2s+ID4gbV9pZFRvQ2FsbGJhY2tNYXA7CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJ
T05TKQorICAgIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJhY2s+
ID4gbV9pZFRvVm9pZENhbGxiYWNrTWFwOworI2VuZGlmCiAgICAgSGFzaE1hcDxSZWZQdHI8V2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW4+LCB1aW50NjRfdD4gbV9vcmlnaW5Ub0lETWFwOwogICAgIEhh
c2hNYXA8dWludDY0X3QsIFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4gPiBtX2lkVG9P
cmlnaW5NYXA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmNwcAppbmRleCA2NDMz
MTI0NDBlMWRmZDEwMjFlMzMzNGUzODE1OTlkMmRhNDQwOTU2Li45YzNkMzU5MTNjNGQ4ZTlkYjI5
ZDgzZmM3MDNmNTYzZTM0MDZmMWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQu
Y3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC03Nyw2ICs3NywxMSBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBl
cm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUAogICAgIG1fcGFnZS0+
bm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKCktPnN0YXJ0UmVxdWVzdChjb250
ZXh0LT5zZWN1cml0eU9yaWdpbigpLCBjYWxsYmFjayk7CiB9CiAKK3ZvaWQgV2ViTm90aWZpY2F0
aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0LCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4gY2FsbGJhY2sp
Cit7CisgICAgbV9wYWdlLT5ub3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKS0+
c3RhcnRSZXF1ZXN0KGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCksIGNhbGxiYWNrKTsKK30KKwog
dm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OmNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogewogICAgIG1fcGFnZS0+bm90aWZpY2F0
aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKCktPmNhbmNlbFJlcXVlc3QoY29udGV4dC0+c2Vj
dXJpdHlPcmlnaW4oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaAppbmRleCA4YTg0
YmVhMWViNTVhZTJlMDQ3MWM1M2Q5NTM5YjQ4ZWZiODk4ODQyLi4yNDc4MTI3NDVhMzBmNzU2ZmJm
NWUyNmQ1MTk5YTc4Mzc2NWYxZDQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL05vdGlmaWNhdGlvbkNsaWVudC5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgVm9pZENhbGxiYWNrOwog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpAQCAtNTEsNiArNTIsNyBAQCBwcml2YXRlOgogICAgIHZp
cnR1YWwgdm9pZCBub3RpZmljYXRpb25PYmplY3REZXN0cm95ZWQoV2ViQ29yZTo6Tm90aWZpY2F0
aW9uKikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmaWNhdGlvbkNvbnRyb2xsZXJE
ZXN0cm95ZWQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24o
V2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8V2ViQ29yZTo6Vm9p
ZENhbGxiYWNrPikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9u
KFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPFdlYkNvcmU6Ok5v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4pIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9p
ZCBjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCopIE9WRVJSSURFOwogICAgIHZpcnR1YWwgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNz
aW9uIGNoZWNrUGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgT1ZF
UlJJREU7CiAgICAgCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132223</attachid>
            <date>2012-03-16 00:58:41 -0700</date>
            <delta_ts>2012-04-27 02:14:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80485-20120316010005.patch</filename>
            <type>text/plain</type>
            <size>63144</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwOTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDIzYjJjNWRlOTVlMTMw
MGExMDg5YjkyY2U2ZDRkNjJiYWY3MDUxZS4uZjE3MTVhMjY0MjIzYTA2MWMwY2IzMmM1YzkzOThk
NmE2MjQ3ZmUxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEyLTAzLTE2ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVu
Y3Rpb25zIHRvIE5vdGlmaWNhdGlvbiBmcm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzEwOTY1NDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEV4aXN0aW5nIHRlc3RzIHdpbGwgYmUgZHVwbGljYXRlZCB0byBjb3Zl
ciB0aGUgbmV3IEpTIEFQSSBvbmNlIHRoZSBNYWMgcGxhdGZvcm0gY2FuIHN1cHBvcnQgaXQuCisK
KyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGw6IEJlY2F1c2UgdGhlIGZ1
bmN0aW9ucyBhcmUgb24gdGhlIE5vdGlmaWNhdGlvbiBvYmplY3QgaXRzZWxmLCB3ZSBuZWVkIHRv
CisgICAgICAgIGRlY2xhcmUgaXQgYSBjb25zdHJ1Y3RvciBzbyB0aGF0IGl0IGlzIGFjY2Vzc2li
bGUgZnJvbSBET01XaW5kb3cuCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOiBBZGQgTm90
aWZpY2F0aW9uIGNvbnN0cnVjdG9yLgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb24uY3BwOiBOZXcgcGVybWlzc2lvbiBmdW5jdGlvbnMgYXJlIHdyYXBwZWQgd2l0aCBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6cGVybWlz
c2lvbkxldmVsKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6c3RyaW5nRm9yUGVy
bWlzc2lvbik6IERlY2xhcmUgdGhyZWUgc3RhdGljIGxvY2FscyBmb3IgZWFjaCBvZiB0aGUgdmFs
dWVzLCBhbmQgcmV0dXJuCisgICAgICAgIGJhc2VkIG9uIHRoZSBwZXJtaXNzaW9uIGVudW0uCisg
ICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb246OnJlcXVlc3RQZXJtaXNzaW9uKTogRm9yd2Fy
ZCByZXF1ZXN0IHRvIGNsaWVudC4KKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5oOgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2suaDogQWRkZWQuCisgICAgICAgIChOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sp
OgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrOjp+Tm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrKToKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGw6IEFkZGVkLgorCisgICAgICAgICogbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwOiBXcmFwIHBlcm1pc3Npb24gZnVuY3Rp
b25zIGluIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5oOiBXcmFwIHBlcm1pc3Npb24gZnVuY3Rpb25zIGluIEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbkNlbnRlci5pZGw6IFdyYXAgcGVybWlzc2lvbiBmdW5jdGlvbnMgaW4gRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQorICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
UHJlc2VudGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXI6OnJl
cXVlc3RQZXJtaXNzaW9uKTogQWRkIG5ldyByZXF1ZXN0UGVybWlzc2lvbigpIGZ1bmN0aW9uIGZv
ciBuZXcKKyAgICAgICAgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrIHR5cGUuIE1ha2Ug
aXQgYSBzdHViIGltcGxlbWVudGF0aW9uIHVudGlsIGFsbCBwb3J0cyBoYXZlIGFkb3B0ZWQuCisK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcDog
RW5jYXBzdWxhdGUgd2l0aCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpIHNpbmNlCisgICAg
ICAgIHRoZSByZXF1ZXN0UGVybWlzc2lvbigpIGZ1bmN0aW9uIGlzIG1vdmluZyB0byBOb3RpZmlj
YXRpb24uCisgICAgICAgICogYmluZGluZ3MvanMvSlNOb3RpZmljYXRpb25zQ3VzdG9tLmNwcDog
Q3VzdG9tIGltcGxlbWVudGF0aW9uIG9mIHJlcXVlc3RQZXJtaXNzaW9uKCkuCisgICAgICAgICog
YmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcDogQ3VzdG9tIGltcGxl
bWVudGF0aW9uIG9mIHJlcXVlc3RQZXJtaXNzaW9uKCkuCisKKyAgICAgICAgKiBDTWFrZUxpc3Rz
LnR4dDogQWRkIG5ldyBjYWxsYmFjayBpZGwuCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFr
ZTogQWRkIG5ldyBjYWxsYmFjayBpZGwuCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOiBB
ZGQgbmV3IGNhbGxiYWNrIGlkbC4KKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOiBBZGQg
Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrIGZpbGVzLgorICAgICAgICAqIFRhcmdldC5w
cmk6IEluY2x1ZGUgSlNOb3RpZmljYXRpb25DdXN0b20uY3BwLCBWOE5vdGlmaWNhdGlvbkN1c3Rv
bS5jcHAKKyAgICAgICAgKiBVc2VKU0MuY21ha2U6IEluY2x1ZGUgSlNOb3RpZmljYXRpb25DdXN0
b20uY3BwCisgICAgICAgICogVXNlVjguY21ha2U6IEluY2x1ZGUgVjhOb3RpZmljYXRpb25DdXN0
b20uY3BwCisgICAgICAgICogV2ViQ29yZS5neXBpOiBJbmNsdWRlIEpTTm90aWZpY2F0aW9uQ3Vz
dG9tLmNwcCwgVjhOb3RpZmljYXRpb25DdXN0b20uY3BwLCBKU05vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjay57aCxjcHB9CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2o6IEluY2x1ZGUgSlNOb3RpZmljYXRpb25DdXN0b20uY3BwLCBKU05vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjay57aCxjcHB9CisgICAgICAgICogV2ViQ29yZS5leHAuaW46IEV4cG9ydCBz
dHJpbmdGb3JQZXJtaXNzaW9uKCkuCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOiBBZGQgY2FsbGJhY2sgaWRsLCBoLCBhbmQgY3BwIGZpbGVzLgorCiAyMDEyLTAz
LTE1ICBZb3NoaWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Zv
cm1zXSBUaGUgIm1ldGVyIiBlbGVtZW50IHNob3VsZCBub3QgYmUgYSBmb3JtLWFzc29jaWF0ZWQg
ZWxlbWVudC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA2YWU2NjJlMTRhMmQ1YmYwYzkwMTNkNjA3NzA4
OThhNDRmY2ExZmI3Li41NjExMTU1MTA2ZDc5NGUyZGFmNjllZWIzMWRmOTlkYjQ1OWRiMjgyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTItMDMtMTYgIEpvbiBMZWUgIDxq
b25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIE1pZ3JhdGUgcGVybWlzc2lvbiBmdW5jdGlvbnMg
dG8gTm90aWZpY2F0aW9uIGZyb20gTm90aWZpY2F0aW9uQ2VudGVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQ4NQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vMTA5NjU0NTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaDoKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQubW06CisgICAgICAgICgt
W1dlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGluaXRXaXRoQ2FsbGJhY2s6XSk6CisgICAg
ICAgICgtW1dlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGluaXRXaXRoVm9pZENhbGxiYWNr
Ol0pOiBBZGQgbmV3IGluaXQgbWV0aG9kIHRvIGhhbmRsZSBib3RoIGtpbmRzIG9mIGNhbGxiYWNr
cy4KKyAgICAgICAgKC1bV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgYWxsb3ddKToKKyAg
ICAgICAgKC1bV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgZGVueV0pOgorICAgICAgICAo
V2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlzc2lvbik6IEFkZCBOb3RpZmljYXRp
b25QZXJtaXNzaW9uQ2FsbGJhY2sgdmVyc2lvbiBvZiB0aGUgc2FtZQorICAgICAgICBmdW5jdGlv
bi4gUmVmYWN0b3IgY29tbW9uIGNvZGUgaW50byBwcml2YXRlIGZ1bmN0aW9uLgorCiAyMDEyLTAz
LTA3ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIE5vdGlmaWNh
dGlvbkNvbnRlbnRzIGludG8gTm90aWZpY2F0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOWE3YjUwNWQ2YTUy
N2IzZTcyYjcwOWI2MTk1YmZlYjg3MjAzZWRkZS4uMmEyYjQxYzg3YTFhODcxNjlmYTU5ZGQ3NTFh
YWFiOTE4ZmY0ZmZiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTAzLTE2ICBK
b24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24g
ZnVuY3Rpb25zIHRvIE5vdGlmaWNhdGlvbiBmcm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzEwOTY1NDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5vdGlmaWNh
dGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6c3RhcnRSZXF1ZXN0KTogQWRkIHZlcnNpb24g
dG8gc3VwcG9ydCBib3RoIGtpbmRzIG9mCisgICAgICAgIGNhbGxiYWNrcy4KKyAgICAgICAgKFdl
YktpdDo6Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpjYW5jZWxSZXF1ZXN0
KToKKyAgICAgICAgKFdlYktpdDo6Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
OjpkaWRSZWNlaXZlTm90aWZpY2F0aW9uUGVybWlzc2lvbkRlY2lzaW9uKToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5h
Z2VyLmg6IEFkZCBhbm90aGVyIG1hcCBmb3IgbmV3IGNhbGxiYWNrIHR5cGUuCisgICAgICAgIChO
b3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmNwcDoKKyAgICAgICAgKFdl
YktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBl
cm1pc3Npb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZp
Y2F0aW9uQ2xpZW50Lmg6IEltcGxlbWVudCBib3RoIGNsaWVudCBmdW5jdGlvbnMgdG8gcmVxdWVz
dCBwZXJtaXNzaW9ucy4KKwogMjAxMi0wMy0xNSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FA
YXBwbGUuY29tPgogCiAgICAgICAgIFRyeSB0byBmaXggdGhlIFNub3cgTGVvcGFyZCBidWlsZC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNDJmYTAwMjEwZmRkNzNhODRjYjNiNmUwZmZjYTNhM2Rl
ODQxZDQxNi4uZTM0NTA5MTJmZTgxMTg5MTFlNGY2Y2ZkNDJhMTk1ZjY4OGUxN2ZmNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKQEAgLTE2MzAsNiArMTYzMCw3IEBAIElGIChFTkFCTEVfTk9USUZJQ0FU
SU9OUykKICAgICBMSVNUKEFQUEVORCBXZWJDb3JlX0lETF9GSUxFUwogICAgICAgICBub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbi5pZGwKICAgICAgICAgbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25DZW50ZXIuaWRsCisgICAgICAgIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lv
bkNhbGxiYWNrLmlkbAogICAgICkKIEVORElGICgpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCmluZGV4IGM0MGZmYmYyZGM5ZGY2ZTc3NzM2Njg3OTZkMGM3ZWI0Yjg5MGNjODcuLjUwNjg2
MmJmNjc5YTgzNTkxMmNiOWE0NTFjZWJiOTFkZWZiNTFiNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQpAQCAtMSw0ICsxLDQgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAy
MDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDA2
LCAyMDA3LCAyMDA4LCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMgQ29w
eXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPiAKICMg
Q29weXJpZ2h0IChDKSAyMDA5IENhbWVyb24gTWNDb3JtYWNrIDxjYW1AbWNjLmlkLmF1PgogIwpA
QCAtMzU4LDYgKzM1OCw3IEBAIEJJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2xvYWRl
ci9hcHBjYWNoZS9ET01BcHBsaWNhdGlvbkNhY2hlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsIFwKKyAgICAkKFdlYkNvcmUpL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdl
L0Fic3RyYWN0Vmlldy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9CYXJJbmZvLmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9wYWdlL0NvbnNvbGUuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnBy
aQppbmRleCBkNTA0M2Q4MzZlOWI4OWRiOGJmYjUzZjA5YzExMmUxOTEyYWZkZDVlLi5mMmYwZjk1
M2I3ZWQ0NGMxN2ZjMDViMjdiZTY0M2U0ZWJmZTU3ZTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMucHJpCkBAIC0zNzcsNiArMzc3LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICAkJFBXRC9s
b2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5pZGwgXAogICAgICQkUFdEL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbCBcCiAgICAgJCRQV0Qvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25DZW50ZXIuaWRsIFwKKyAgICAkJFBXRC9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjay5pZGwgXAogICAgICQkUFdEL3BhZ2UvQmFySW5mby5pZGwgXAog
ICAgICQkUFdEL3BhZ2UvQ29uc29sZS5pZGwgXAogICAgICQkUFdEL3BhZ2UvQ29vcmRpbmF0ZXMu
aWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDA3MGI4N2VmOTdlNmEwYjg4
YTQyZTg2ZDk4MTk3Y2Q5MDkwODQyM2EuLjdlMGQyMTljNTg3ZTFhNmM4Y2UzYzI0OTFlZGQxNWY3
NGRkMTQzMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0K
KysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNDI0LDYgKzQyNCw4
IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U05vdGlmaWNhdGlvbkNlbnRlci5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm90aWZp
Y2F0aW9uLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05vdGlmaWNhdGlvbi5oIFwK
KwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNr
LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VTU3RhbmRhcmREZXJpdmF0
aXZlcy5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPRVNTdGFuZGFyZERlcml2YXRp
dmVzLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPRVNUZXh0dXJlRmxvYXQuY3BwIFwK
QEAgLTkwMyw2ICs5MDUsNyBAQCBkb21fYmluZGluZ19pZGxzICs9IFwKIAkkKFdlYkNvcmUpL2xv
YWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlvbkNhY2hlLmlkbCBcCiAJJChXZWJDb3JlKS9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwgXAogCSQoV2ViQ29yZSkvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25DZW50ZXIuaWRsIFwKKwkkKFdlYkNvcmUpL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbCBcCiAJJChXZWJDb3JlKS9wYWdlL0JhckluZm8u
aWRsIFwKIAkkKFdlYkNvcmUpL3BhZ2UvQ29uc29sZS5pZGwgXAogCSQoV2ViQ29yZSkvcGFnZS9D
b29yZGluYXRlcy5pZGwgXApAQCAtMjgzMCw2ICsyODMzLDcgQEAgd2ViY29yZV9zb3VyY2VzICs9
IFwKIAlTb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRyb2xsZXIu
aCBcCiAJU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oIFwKKwlTb3VyY2UvV2Vi
Q29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNwcCBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRl
eCA1ODc1Y2ZiNjczOGU4NWM3ZTA3MTU1NGIwNTQ2ZDEwNDhiMTA2ZTZhLi42ZThjZjZhZDZiNjQ5
MTNkMTFlN2U3N2NhNzUwNWE1MWQ3MDY1ZWI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9U
YXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTIzMyw2ICsyMzMs
NyBAQCB2OCB7CiAgICAgICAgIFwKICAgICAgICAgYmluZGluZ3Mvdjgvc3BlY2lhbGl6YXRpb24v
VjhCaW5kaW5nU3RhdGUuY3BwXAogICAgICAgICBcCisgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3Rv
bS9WOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20v
VjhOb3RpZmljYXRpb25DZW50ZXJDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4Q29uc29sZUN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhT
UUxUcmFuc2FjdGlvblN5bmNDdXN0b20uY3BwIFwKQEAgLTM0MSw2ICszNDIsNyBAQCB2OCB7CiAg
ICAgICAgIGJpbmRpbmdzL2pzL0pTTm9kZUZpbHRlckN1c3RvbS5jcHAgXAogICAgICAgICBiaW5k
aW5ncy9qcy9KU05vZGVJdGVyYXRvckN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9K
U05vZGVMaXN0Q3VzdG9tLmNwcCBcCisgICAgICAgIGJpbmRpbmdzL2pzL0pTTm90aWZpY2F0aW9u
Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTUGx1Z2luRWxlbWVudEZ1bmN0aW9u
cy5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwIFwK
ICAgICAgICAgYmluZGluZ3MvanMvSlNQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25DdXN0b20uY3BwIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZSBiL1NvdXJjZS9XZWJDb3Jl
L1VzZUpTQy5jbWFrZQppbmRleCAwOTAzOGRkNjg0ODc3ZTFmODIwMjE5Mjc1ZTc4MmViMTMwODNh
MjY2Li43ZTY3ZjMyNzQ2MDQwOGMyNzhmODBlNzg4YzU1N2Y2YjY0OTc0NDk2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvVXNlSlND
LmNtYWtlCkBAIC0xMDksNiArMTA5LDcgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAg
ICAgYmluZGluZ3MvanMvSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pT
Tm9kZUl0ZXJhdG9yQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTTm9kZUxpc3RDdXN0b20u
Y3BwCisgICAgYmluZGluZ3MvanMvSlNOb3RpZmljYXRpb25DdXN0b20uY3BwCiAgICAgYmluZGlu
Z3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTUG9w
U3RhdGVFdmVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1Byb2Nlc3NpbmdJbnN0cnVj
dGlvbkN1c3RvbS5jcHAKQEAgLTIyOCw2ICsyMjksNyBAQCBFTkRJRiAoKQogSUYgKEVOQUJMRV9O
T1RJRklDQVRJT05TKQogICAgIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgICAgICBi
aW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcAorICAgICAgICBiaW5k
aW5ncy9qcy9KU05vdGlmaWNhdGlvbnNDdXN0b20uY3BwCiAgICAgKQogRU5ESUYgKCkKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VW
OC5jbWFrZQppbmRleCAwOWYyOTA4ZWY5N2QxMGZjYzU0MTg5YjYzOTU2ZWQzOWZiOWQzYzVjLi40
YWYyZTgzMjg5YjBmZmIyMDRmZjgyMzhiMTNiOTA0ZjMxMGQ5NzQ1IDEwMDc1NQotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQpA
QCAtMTM3LDYgKzEzNyw3IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZXNDb2xsZWN0aW9uLmNwcAogICAgIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOE5vZGVDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUxp
c3RDdXN0b20uY3BwCisgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ3VzdG9t
LmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkNlbnRlckN1c3RvbS5j
cHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhQZXJmb3JtYW5jZUN1c3RvbS5jcHAKICAgICBi
aW5kaW5ncy92OC9jdXN0b20vVjhQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgppbmRleCA1NDFjYTI2MjZkM2JmNGMwNTE5MjhiMTIwMDhlZWY2NzkwMjBlZjNkLi5mMzgx
MDA4NDU5MjA2MDZhODBmNDVjYTM4M2RlOTQ3M2RhNjJkNzAwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgpAQCAtMjEzMSw2ICsyMTMxLDcgQEAgX19aTjdXZWJDb3JlMTJOb3RpZmljYXRpb24xN2Rpc3Bh
dGNoU2hvd0V2ZW50RXYKIF9fWk43V2ViQ29yZTEyTm90aWZpY2F0aW9uMThkaXNwYXRjaENsaWNr
RXZlbnRFdgogX19aTjdXZWJDb3JlMTJOb3RpZmljYXRpb24xOGRpc3BhdGNoQ2xvc2VFdmVudEV2
CiBfX1pON1dlYkNvcmUxMk5vdGlmaWNhdGlvbjE4ZGlzcGF0Y2hFcnJvckV2ZW50RXYKK19fWk43
V2ViQ29yZTEyTm90aWZpY2F0aW9uMTlzdHJpbmdGb3JQZXJtaXNzaW9uRU5TXzE4Tm90aWZpY2F0
aW9uQ2xpZW50MTBQZXJtaXNzaW9uRQogX19aTjdXZWJDb3JlMTlwcm92aWRlTm90aWZpY2F0aW9u
RVBOU180UGFnZUVQTlNfMThOb3RpZmljYXRpb25DbGllbnRFCiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCmluZGV4IGNkYmVhYzk5ZDAyNzYzYTUzMTc4ZWIzNzJmMmJhZmE4YjhiOWE3YzYuLmU2NTI2
ZDYxMjk4NmYzMTQ2YTE5NTQ5OWEwMThkM2I1YzVmZDI0YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAg
LTEwNTYsNiArMTA1Niw3IEBACiAgICAgICAgICAgICAnbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxp
Y2F0aW9uQ2FjaGUuaWRsJywKICAgICAgICAgICAgICdub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5pZGwnLAogICAgICAgICAgICAgJ25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlk
bCcsCisgICAgICAgICAgICAnbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2suaWRsJywKICAgICAgICAgICAgICdwYWdlL0Fic3RyYWN0Vmlldy5pZGwnLAogICAgICAg
ICAgICAgJ3BhZ2UvQmFySW5mby5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvQ29uc29sZS5pZGwn
LApAQCAtMTc3OCw2ICsxNzc5LDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU05vZGVG
aWx0ZXJDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU05vZGVJdGVyYXRv
ckN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTm9kZUxpc3RDdXN0b20u
Y3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAn
LAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAn
LAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTUG9wU3RhdGVFdmVudEN1c3RvbS5jcHAnLAog
ICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTUHJvY2Vzc2luZ0luc3RydWN0aW9uQ3VzdG9tLmNw
cCcsCkBAIC0yMDg0LDYgKzIwODYsNyBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOE5hbWVkTm9kZXNDb2xsZWN0aW9uLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOE5vZGVDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20v
VjhOb2RlTGlzdEN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOE5vdGlmaWNhdGlvbkNlbnRlckN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOFBlcmZvcm1hbmNlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4UG9wU3RhdGVFdmVudEN1c3RvbS5jcHAnLApAQCAtMjc5MSw2ICsyNzk0
LDcgQEAKICAgICAgICAgICAgICdub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRlbnRzLmgn
LAogICAgICAgICAgICAgJ25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5jcHAn
LAogICAgICAgICAgICAgJ25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5oJywK
KyAgICAgICAgICAgICdub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFj
ay5oJywKICAgICAgICAgICAgICdwYWdlL0JhckluZm8uY3BwJywKICAgICAgICAgICAgICdwYWdl
L0JhckluZm8uaCcsCiAgICAgICAgICAgICAncGFnZS9DaHJvbWUuY3BwJywKQEAgLTc1MDgsNiAr
NzUxMiw4IEBACiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU05vdGlmaWNhdGlvbi5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uQ2VudGVyLmNwcCcsCiAgICAgICAgICAg
ICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05vdGlmaWNhdGlvbkNl
bnRlci5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmNwcCcsCisgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjay5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5jcHAnLAogICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPRVNTdGFuZGFyZERlcml2
YXRpdmVzLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNPRVNUZXh0dXJlRmxvYXQuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggYTY5ZWZlOGFiMzM4ZGI2NTlmOWFiMTA4MmQxMGMy
YTc1ZjQ1ZjUzYS4uZTM4YmE0MGZhM2EwMjA3YTg5ZDg1MzRjYmU3NGVmZDNlMjJlNDJlZiAxMDA3
NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTEyMDkw
LDYgKzEyMDkwLDYyIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2
ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suY3BwIgorCQkJCT4KKwkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1
ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZp
bGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVD
b25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2lu
MzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4z
MiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4z
MiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3Vy
YXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm90aWZp
Y2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUK
IAkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0
TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmNwcCIK
IAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC02NzI0OSw2ICs2NzMwNSw1OCBAQAogCQkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgogCQkJCTwvRmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGJpbmRpbmdzXGpzXEpTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcCIKKwkJCQkJPgorCQkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRl
fFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8
VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlJl
bGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
CisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJ
CQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KKwkJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25m
aWd1cmF0aW9uCisJCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTwv
RmlsZT4KKwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTUGx1
Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAiCiAJCQkJCT4KIAkJCQkJPEZpbGVDb25maWd1cmF0aW9u
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggN2E4YjA2MTQ4MDU4ODkwZTgwNjYyODY5Njg5NTA3NmJhMWNlZTAyMy4uODk4MDYxMWQ0
M2QxOGIzYzcyZDQ0YjgyMGEwNzhjYzAwYWNiYmNjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTA0LDYgKzkwNCw4IEBACiAJ
CTMxQzBGRjRDMEU0Q0VGREQwMDdENkZFNSAvKiBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQzBGRjQ2MEU0
Q0VGREQwMDdENkZFNSAvKiBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCAqLzsgfTsKIAkJMzFD
MEZGNEQwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQzBGRjQ3MEU0Q0VG
REQwMDdENkZFNSAvKiBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnQubW0gKi87IH07CiAJCTMxQzBG
RjRFMEU0Q0VGREQwMDdENkZFNSAvKiBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnRJbnRlcm5hbC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFDMEZGNDgw
RTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudEludGVybmFsLmggKi87
IH07CisJCTMxRUMxRTI4MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAzMUVDMUUyNjE0RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2suY3BwICovOyB9OworCQkzMUVDMUUyOTE0RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDMxRUMxRTI3MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjay5oICovOyB9OwogCQkzMUZCMUE1NzEyMEE1RDA2MDBEQzAy
QTAgLyogRGV2aWNlTW90aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE0RjEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9u
Q2xpZW50LmggKi87IH07CiAJCTMxRkIxQTU4MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rp
b25Db250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDMxRkIxQTUwMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVy
LmNwcCAqLzsgfTsKIAkJMzFGQjFBNTkxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNv
bnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMxRkIxQTUxMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmggKi87
IH07CkBAIC05MTQsNiArOTE2LDggQEAKIAkJMzFGQjFBNjUxMjBBNUQzRjAwREMwMkEwIC8qIEpT
RGV2aWNlTW90aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMzFGQjFBNjMxMjBBNUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZl
bnQuY3BwICovOyB9OwogCQkzMUZCMUE2NjEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rp
b25FdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MzFGQjFBNjQxMjBBNUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuaCAqLzsgfTsK
IAkJMzFGQjFBNkMxMjBBNUQ2OTAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20u
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFB
NkIxMjBBNUQ2OTAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwICovOyB9
OworCQkzMUZFNkRGQTE1MDA0QzJBMDAwNEVCQzQgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvbkNh
bGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
MUVDMURBQzE0RkYyNkVBMDBDOTQ2NjIgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNr
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMzFG
RTZFNkQxNTAxQTNCRjAwMDRFQkM0IC8qIEpTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkU2RTZDMTUwMUEzQkYw
MDA0RUJDNCAvKiBKU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAgKi87IH07CiAJCTMzMTRBQ0VCMTA4
OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzMxNEFDRTkxMDg5MjA4NjAwMEYwRTU2IC8qIEpT
RXhjZXB0aW9uQmFzZS5jcHAgKi87IH07CiAJCTMzMTRBQ0VDMTA4OTIwODYwMDBGMEU1NiAvKiBK
U0V4Y2VwdGlvbkJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDMzMTRBQ0VBMTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuaCAqLzsg
fTsKIAkJMzM1MDNDOUExMDE3OUE3NDAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvbkNsaWVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzM1MDNDOTkxMDE3
OUE3NDAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvbkNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC03NzYyLDYgKzc3NjYsMTAgQEAKIAkJMzFD
MEZGNDYwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFDMEZGNDcwRTRDRUZERDAwN0Q2RkU1IC8q
IERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMzFDMEZGNDgwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5z
aXRpb25FdmVudEludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERP
TVdlYktpdFRyYW5zaXRpb25FdmVudEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTMxRUMxRDUwMTRGRUZEMDgwMEM5NDY2MiAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2suaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IE5vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjay5pZGw7IHBhdGggPSBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjay5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRUMxREFDMTRG
RjI2RUEwMEM5NDY2MiAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmg7IHBhdGggPSBub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkzMUVDMUUyNjE0RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkzMUVDMUUyNzE0RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNO
b3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMzFGQjFBNEYxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNsaWVudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZXZpY2VNb3Rpb25DbGllbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFGQjFBNTAxMjBBNUQwNjAwREMwMkEwIC8qIERl
dmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTMxRkIxQTUxMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERldmljZU1vdGlvbkNvbnRyb2xs
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc3NzMsNiArNzc4MSw3IEBACiAJ
CTMxRkIxQTYzMTIwQTVEM0YwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRGV2aWNlTW90aW9uRXZlbnQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUZCMUE2NDEyMEE1RDNGMDBEQzAyQTAg
LyogSlNEZXZpY2VNb3Rpb25FdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0RldmljZU1vdGlvbkV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMx
RkIxQTZCMTIwQTVENjkwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRGV2aWNlTW90aW9uRXZlbnRD
dXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUZFNkU2QzE1MDFBM0JG
MDAwNEVCQzQgLyogSlNOb3RpZmljYXRpb25DdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNOb3RpZmljYXRpb25DdXN0b20uY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkzMzE0QUNFOTEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25C
YXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRXhjZXB0aW9u
QmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzMTRBQ0VBMTA4OTIwODYw
MDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNFeGNlcHRpb25CYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMz
M0Y3MDRFMEZCNDlDQTIwMDhFMTJBNiAvKiBOb3RpZmljYXRpb24uaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgbmFtZSA9IE5vdGlmaWNhdGlvbi5pZGw7IHBhdGggPSBub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDQwMCw2ICsxNDQwOSw4
IEBACiAJCQkJMzM1MDNDOTkxMDE3OUE3NDAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvbkNsaWVudC5o
ICovLAogCQkJCTMxMjhDQTY3MTQ3MzMxNTIwMDc0QzcyQSAvKiBOb3RpZmljYXRpb25Db250cm9s
bGVyLmNwcCAqLywKIAkJCQkzMTI4Q0E2QTE0NzMzMTYzMDA3NEM3MkEgLyogTm90aWZpY2F0aW9u
Q29udHJvbGxlci5oICovLAorCQkJCTMxRUMxRDUwMTRGRUZEMDgwMEM5NDY2MiAvKiBOb3RpZmlj
YXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsICovLAorCQkJCTMxRUMxREFDMTRGRjI2RUEwMEM5
NDY2MiAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCAqLywKIAkJCSk7CiAJCQlu
YW1lID0gbm90aWZpY2F0aW9uczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0xNDQx
MSw2ICsxNDQyMiw4IEBACiAJCQkJMzM1MDNDQTAxMDE3OUFENzAwM0I0N0UxIC8qIEpTTm90aWZp
Y2F0aW9uLmggKi8sCiAJCQkJMzM1MDNDQTExMDE3OUFENzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0
aW9uQ2VudGVyLmNwcCAqLywKIAkJCQkzMzUwM0NBMjEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3Rp
ZmljYXRpb25DZW50ZXIuaCAqLywKKwkJCQkzMUVDMUUyNjE0RkY2MEVFMDBDOTQ2NjIgLyogSlNO
b3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suY3BwICovLAorCQkJCTMxRUMxRTI3MTRGRjYw
RUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oICovLAogCQkJ
KTsKIAkJCW5hbWUgPSBOb3RpZmljYXRpb25zOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
QEAgLTE5Njg0LDYgKzE5Njk3LDcgQEAKIAkJCQlCQ0I3NzM2MDBDMTc4NTNEMDAxMzJCQTQgLyog
SlNOb2RlRmlsdGVyQ3VzdG9tLmNwcCAqLywKIAkJCQkxQTc1MEREMzBBOTBFNzI5MDAwRkYyMTUg
LyogSlNOb2RlSXRlcmF0b3JDdXN0b20uY3BwICovLAogCQkJCUJDRDlDMjYxMEMxN0FBNjcwMDVD
OTBBMiAvKiBKU05vZGVMaXN0Q3VzdG9tLmNwcCAqLywKKwkJCQkzMUZFNkU2QzE1MDFBM0JGMDAw
NEVCQzQgLyogSlNOb3RpZmljYXRpb25DdXN0b20uY3BwICovLAogCQkJCUE4NUYyMjA4MTQzMDM3
N0QwMDdDQzg4NCAvKiBKU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwICovLAogCQkJCUUxQUQxMkQ1
MTI5NUQwQkQwMEFDQTk4OSAvKiBKU1Byb2Nlc3NpbmdJbnN0cnVjdGlvbkN1c3RvbS5jcHAgKi8s
CiAJCQkJNDk5OEFFRDMxM0ZDNDE3RjAwOTBCMUFBIC8qIEpTUmVxdWVzdEFuaW1hdGlvbkZyYW1l
Q2FsbGJhY2tDdXN0b20uY3BwICovLApAQCAtMjQ1NzUsNiArMjQ1ODksOCBAQAogCQkJCUUxQ0RF
OTIyMTUwMTkxNjkwMDg2MkNDNSAvKiBBc3luY0ZpbGVTdHJlYW0uaCBpbiBIZWFkZXJzICovLAog
CQkJCTQ1MENFQkYxMTUwNzNCQkUwMDJCQjE0OSAvKiBMYWJlbGFibGVFbGVtZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlDNUI0QzI0RDE1MDkyMzZDMDBBNkVGMzcgLyogV2ViQ29yZU5TVVJMRXh0
cmFzLmggaW4gSGVhZGVycyAqLywKKwkJCQkzMUVDMUUyOTE0RkY2MEVFMDBDOTQ2NjIgLyogSlNO
b3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCTMxRkU2
REZBMTUwMDRDMkEwMDA0RUJDNCAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCBp
biBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwogCQl9OwpAQCAtMjc1NTYsNiArMjc1NzIsOCBAQAogCQkJCUM1QjRDMjRFMTUwOTIz
NkMwMEE2RUYzNyAvKiBXZWJDb3JlTlNVUkxFeHRyYXMubW0gaW4gU291cmNlcyAqLywKIAkJCQk5
QjJCN0FDMTE1MDk4NTBBMDA4OTMyQ0MgLyogTWljcm9EYXRhSXRlbVZhbHVlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTcxNTdGMDYyMTUwQjY1NjQwMDZFQUFCRCAvKiBTVkdBbmltYXRlZFRyYW5z
Zm9ybUxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMzFFQzFFMjgxNEZGNjBFRTAwQzk0NjYy
IC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTMxRkU2RTZEMTUwMUEzQkYwMDA0RUJDNCAvKiBKU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3RvbS5jcHAKaW5kZXggYTBjYWQ4OGI4NDY5YzU2
M2UxZTRlYjQ2YzU1MjZmNjg1MTUxZmNlMC4uMzhjNjgyMzExYmU3YTQyYTIxYTg5NjkzNTcxZTFj
OWQyMGY1MzJiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXNr
dG9wTm90aWZpY2F0aW9uc0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3RvbS5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgog
ICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzAsMTQgKzMxLDEyIEBACiAKICNp
bmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQog
CiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJKU0N1c3RvbVZvaWRDYWxsYmFjay5o
IgogI2luY2x1ZGUgIkpTRXZlbnRMaXN0ZW5lci5oIgotI2luY2x1ZGUgIkpTTm90aWZpY2F0aW9u
LmgiCiAjaW5jbHVkZSAiSlNOb3RpZmljYXRpb25DZW50ZXIuaCIKLSNpbmNsdWRlICJOb3RpZmlj
YXRpb24uaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25DZW50ZXIuaCIKICNpbmNsdWRlIDxydW50
aW1lL0Vycm9yLmg+CiAKQEAgLTY4LDYgKzY3LDYgQEAgSlNWYWx1ZSBKU05vdGlmaWNhdGlvbkNl
bnRlcjo6cmVxdWVzdFBlcm1pc3Npb24oRXhlY1N0YXRlKiBleGVjKQogICAgIHJldHVybiBqc1Vu
ZGVmaW5lZCgpOwogfQogCi19IC8vIG5hbWVzcGFjZQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
Ci0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJ
Q0FUSU9OUykKKyNlbmRpZiAvLyBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjM5NTc2NTc3YTgwOGMxMDFkYjhiNzU1ODAzMzkwNDgzOTUxZmJmMQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm90aWZpY2F0aW9uQ3Vz
dG9tLmNwcApAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxl
IEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpCisjaW5jbHVkZSAiSlNOb3RpZmljYXRpb24uaCIKKworI2luY2x1ZGUgIkNhbGxiYWNr
RnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5o
IgorI2luY2x1ZGUgPHJ1bnRpbWUvRXJyb3IuaD4KKwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitKU1ZhbHVlIEpTTm90aWZpY2F0aW9uOjpyZXF1ZXN0UGVy
bWlzc2lvbihFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgLy8gQXJndW1lbnRzOiBOb3RpZmljYXRp
b25QZXJtaXNzaW9uQ2FsbGJhY2sKKyAgICBpZiAoIWV4ZWMtPmFyZ3VtZW50KDApLmlzT2JqZWN0
KCkpCisgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcihleGVjKTsKKyAgICAKKyAgICBSZWZQ
dHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBjYWxsYmFjayA9IGNyZWF0ZUZ1bmN0
aW9uT25seUNhbGxiYWNrPEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPihleGVjLCBz
dGF0aWNfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3Qo
KSksIGV4ZWMtPmFyZ3VtZW50KDApKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisg
ICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworICAgIAorICAgIEFTU0VSVChjYWxsYmFjayk7
CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0Q29udGV4dCA9IHN0YXRpY19jYXN0
PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKS0+c2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpOworICAgIE5vdGlmaWNhdGlvbjo6cmVxdWVzdFBlcm1pc3Npb24o
c2NyaXB0Q29udGV4dCwgY2FsbGJhY2sucmVsZWFzZSgpKTsKKyAgICByZXR1cm4ganNVbmRlZmlu
ZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE5P
VElGSUNBVElPTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhOb3RpZmljYXRpb25DdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZGZiYzYwYTVlM2Zi
ZWQxMDY5ODE3ODM0YWVhODExZWI1Y2E5OGQyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcApAQCAtMCww
ICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIFJpZ2h0
cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaW5jbHVk
ZSAiVjhOb3RpZmljYXRpb24uaCIKKworI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNs
dWRlICJWOE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIgorI2luY2x1ZGUgIlY4UHJv
eHkuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhO
b3RpZmljYXRpb246OnJlcXVlc3RQZXJtaXNzaW9uQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50
cyYgYXJncykKK3sKKyAgICBJTkNfU1RBVFMoTCJET00uTm90aWZpY2F0aW9uLnJlcXVlc3RQZXJt
aXNzaW9uIik7CisKKyAgICBOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbiA9IFY4Tm90aWZpY2F0
aW9uOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0ID0gbm90aWZpY2F0aW9uLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CisKKyAg
ICBib29sIHN1Y2NlZWRlZCA9IGZhbHNlOworICAgIFJlZlB0cjxWOE5vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjaz4gY2FsbGJhY2sgPSBjcmVhdGVGdW5jdGlvbk9ubHlDYWxsYmFjazxWOE5v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4oYXJnc1swXSwgc3VjY2VlZGVkKTsKKyAgICBp
ZiAoIXN1Y2NlZWRlZCkKKyAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKKyAgICBBU1NF
UlQoY2FsbGJhY2spOworCisgICAgTm90aWZpY2F0aW9uOjpyZXF1ZXN0UGVybWlzc2lvbihjb250
ZXh0LCBjYWxsYmFjay5yZWxlYXNlKCkpOworICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJ
T05TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCmlu
ZGV4IDAzYzgyNDQ3MGNhNTA1Y2Q1YjA0MmJlZDM0NWIyYjJkY2ZjMDYzN2MuLmVhOWUyZWI1NzRi
MjZlYjczYzAzNGY4MGNiOWI0YTAyNDVhZDBiYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKQEAgLTM1LDExICszNSwxNCBAQAogCiAjaW5jbHVk
ZSAiTm90aWZpY2F0aW9uLmgiCiAKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJE
b2N1bWVudC5oIgogI2luY2x1ZGUgIkVycm9yRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudE5hbWVz
LmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ2VudGVyLmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0
aW9uQ2xpZW50LmgiCisjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ29udHJvbGxlci5oIgorI2luY2x1
ZGUgIk5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIgogI2luY2x1ZGUgIlJlc291cmNl
UmVxdWVzdC5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKICNpbmNsdWRlICJUaHJl
YWRhYmxlTG9hZGVyLmgiCkBAIC0yMDIsNiArMjA1LDQ0IEBAIHZvaWQgTm90aWZpY2F0aW9uOjpz
dG9wTG9hZGluZygpCiAgICAgbV9sb2FkZXItPmNhbmNlbCgpOwogfQogCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCitjb25zdCBTdHJpbmcmIE5vdGlmaWNhdGlvbjo6cGVybWlzc2lvbkxldmVs
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCit7CisgICAgQVNTRVJUKGNvbnRleHQt
PmlzRG9jdW1lbnQoKSk7CisgICAgQVNTRVJUKHN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4
dCktPnBhZ2UoKSk7CisgICAgcmV0dXJuIHN0cmluZ0ZvclBlcm1pc3Npb24oTm90aWZpY2F0aW9u
Q29udHJvbGxlcjo6ZnJvbShzdGF0aWNfY2FzdDxEb2N1bWVudCo+KGNvbnRleHQpLT5wYWdlKCkp
LT5jbGllbnQoKS0+Y2hlY2tQZXJtaXNzaW9uKGNvbnRleHQpKTsKK30KKyNlbmRpZgorCisjaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpCitjb25zdCBTdHJpbmcmIE5vdGlmaWNhdGlvbjo6c3RyaW5n
Rm9yUGVybWlzc2lvbihOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gcGVybWlzc2lvbikK
K3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgYWxsb3dlZFBlcm1pc3Np
b24sICgiZ3JhbnRlZCIpKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywg
ZGVuaWVkUGVybWlzc2lvbiwgKCJkZW5pZWQiKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChj
b25zdCBTdHJpbmcsIGRlZmF1bHRQZXJtaXNzaW9uLCAoImRlZmF1bHQiKSk7CisgICAgc3dpdGNo
IChwZXJtaXNzaW9uKSB7CisgICAgY2FzZSBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25B
bGxvd2VkOgorICAgICAgICByZXR1cm4gYWxsb3dlZFBlcm1pc3Npb247CisgICAgY2FzZSBOb3Rp
ZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25EZW5pZWQ6CisgICAgICAgIHJldHVybiBkZW5pZWRQ
ZXJtaXNzaW9uOworICAgIGNhc2UgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uTm90QWxs
b3dlZDoKKyAgICAgICAgcmV0dXJuIGRlZmF1bHRQZXJtaXNzaW9uOworICAgIH0KKyAgICAKKyAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gZGVuaWVkUGVybWlzc2lvbjsKK30K
KyNlbmRpZgorCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCit2b2lkIE5vdGlmaWNhdGlvbjo6
cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1Jl
ZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNhbGxiYWNrKQoreworICAgIEFT
U0VSVChjb250ZXh0LT5pc0RvY3VtZW50KCkpOworICAgIEFTU0VSVChzdGF0aWNfY2FzdDxEb2N1
bWVudCo+KGNvbnRleHQpLT5wYWdlKCkpOworICAgIE5vdGlmaWNhdGlvbkNvbnRyb2xsZXI6OmZy
b20oc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KS0+cGFnZSgpKS0+Y2xpZW50KCktPnJl
cXVlc3RQZXJtaXNzaW9uKGNvbnRleHQsIGNhbGxiYWNrKTsKK30KKyNlbmRpZgorCiB2b2lkIE5v
dGlmaWNhdGlvbjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcsIGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewogICAgIGludCBzdGF0dXMgPSByZXNwb25zZS5odHRw
U3RhdHVzQ29kZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
LmgKaW5kZXggMTlkOGU2OTExMWY3NGFjMzA2ZDBhZDdlODUxYzE4NzVjZDZmMjMwNC4uYzA0NDQz
ZTI3NmNmZmVhZWYwYzhkMTdmNDFjZGRkMjMzNzdlYzU1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAi
RXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiS1VSTC5o
IgorI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNsaWVudC5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZl
ci5oIgogI2luY2x1ZGUgIlRleHREaXJlY3Rpb24uaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9h
ZGVyQ2xpZW50LmgiCkBAIC00OSw2ICs1MCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIE5vdGlmaWNhdGlvbkNlbnRlcjsKK2NsYXNzIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxs
YmFjazsKIGNsYXNzIFJlc291cmNlRXJyb3I7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xh
c3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKQEAgLTExNyw2ICsxMTksMTIgQEAgcHVibGljOgog
ICAgIC8vIERlcHJlY2F0ZWQuIFVzZSBmdW5jdGlvbnMgZnJvbSBOb3RpZmljYXRpb25DZW50ZXIu
CiAgICAgdm9pZCBkZXRhY2hQcmVzZW50ZXIoKSB7IH0KIAorI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKQorICAgIHN0YXRpYyBjb25zdCBTdHJpbmcmIHBlcm1pc3Npb25MZXZlbChTY3JpcHRFeGVj
dXRpb25Db250ZXh0Kik7CisgICAgc3RhdGljIGNvbnN0IFN0cmluZyYgc3RyaW5nRm9yUGVybWlz
c2lvbihOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24pOworICAgIHN0YXRpYyB2b2lkIHJl
cXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPE5vdGlm
aWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4pOworI2VuZGlmCisKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcsIGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
KTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgY2hhciogZGF0YSwgaW50
IGRhdGFMZW5ndGgpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKHVuc2lnbmVk
IGxvbmcgaWRlbnRpZmllciwgZG91YmxlIGZpbmlzaFRpbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCmluZGV4IDMxNTZhOGQwZjVjMWY5MThkYTM2
MGEwZjkzNTRhMDU0MjI3MWU0ZjkuLmNiZWI2ZTk0YjQ0MWQxMDUwNGJjMmEzMzQwNzRmYTYzMTFm
YWZkMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5p
ZGwKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKQEAgLTM0LDEyICszNCwxNiBAQCBtb2R1bGUgdGhyZWFkcyB7CiAgICAgaW50ZXJmYWNlIFsK
ICAgICAgICAgQ29uZGl0aW9uYWw9Tk9USUZJQ0FUSU9OU3xMRUdBQ1lfTk9USUZJQ0FUSU9OUywK
ICAgICAgICAgQWN0aXZlRE9NT2JqZWN0LAotICAgICAgICBFdmVudFRhcmdldCwKLSAgICAgICAg
T21pdENvbnN0cnVjdG9yCisgICAgICAgIEV2ZW50VGFyZ2V0CiAgICAgXSBOb3RpZmljYXRpb24g
ewogICAgICAgICB2b2lkIHNob3coKTsKICAgICAgICAgdm9pZCBjYW5jZWwoKTsKIAorI2lmIGRl
ZmluZWQoRU5BQkxFX05PVElGSUNBVElPTlMpICYmIEVOQUJMRV9OT1RJRklDQVRJT05TCisgICAg
ICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBzdGF0aWMgRE9NU3RyaW5nIHBl
cm1pc3Npb25MZXZlbCgpOworICAgICAgICBbQ3VzdG9tXSBzdGF0aWMgdm9pZCByZXF1ZXN0UGVy
bWlzc2lvbihpbiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgY2FsbGJhY2spOworI2Vu
ZGlmCisKICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25zaG93OwogI2lmIGRlZmlu
ZWQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAmJiBFTkFCTEVfTEVHQUNZX05PVElGSUNB
VElPTlMKICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25kaXNwbGF5OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCmlu
ZGV4IDJmMmQ3ZDZhN2NmMDI3OGQ3MzlhOThlODUwZDliYWJiMzQyMzlmN2IuLjM4Y2I2MGYyZWE1
Y2NlZWE3ODRhZjUzNDU5NGRkNDQ4OTg5Mzg4NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAKQEAgLTUzLDE5ICs1MywyMyBA
QCBOb3RpZmljYXRpb25DZW50ZXI6Ok5vdGlmaWNhdGlvbkNlbnRlcihTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0LCBOb3RpZmljYQogICAgIDogQWN0aXZlRE9NT2JqZWN0KGNvbnRleHQs
IHRoaXMpCiAgICAgLCBtX2NsaWVudChjbGllbnQpIHsgfQogCisjaWYgRU5BQkxFKExFR0FDWV9O
T1RJRklDQVRJT05TKQogaW50IE5vdGlmaWNhdGlvbkNlbnRlcjo6Y2hlY2tQZXJtaXNzaW9uKCkK
IHsKICAgICBpZiAoIWNsaWVudCgpIHx8ICFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCiAgICAg
ICAgIHJldHVybiBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25EZW5pZWQ7CiAgICAgcmV0
dXJuIG1fY2xpZW50LT5jaGVja1Blcm1pc3Npb24oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsK
IH0KKyNlbmRpZgogCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogdm9pZCBOb3Rp
ZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9uKFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNr
PiBjYWxsYmFjaykKIHsKICAgICBpZiAoIWNsaWVudCgpIHx8ICFzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCkpCiAgICAgICAgIHJldHVybjsKICAgICBtX2NsaWVudC0+cmVxdWVzdFBlcm1pc3Npb24o
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBjYWxsYmFjayk7CiB9CisjZW5kaWYKIAogdm9pZCBO
b3RpZmljYXRpb25DZW50ZXI6OmRpc2Nvbm5lY3RGcmFtZSgpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oIGIvU291cmNlL1dl
YkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaAppbmRleCBhMDg0NTYwNTYx
YTE0ZmIzZDM4NzdmNTM1NzBiZjcwZmU4ZTlhZDc5Li40ZWU4YTdhMGNlYzgyZTYyYjIyNGViYTc1
YzkyZThjYWQzY2IyNTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbkNlbnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uQ2VudGVyLmgKQEAgLTc1LDggKzc1LDEwIEBAIHB1YmxpYzoKIAogICAgIE5v
dGlmaWNhdGlvbkNsaWVudCogY2xpZW50KCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnQ7IH0KIAor
I2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBpbnQgY2hlY2tQZXJtaXNzaW9u
KCk7CiAgICAgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4p
OworI2VuZGlmCiAKICAgICB2b2lkIGRpc2Nvbm5lY3RGcmFtZSgpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwKaW5kZXggN2Iw
ZmMyNTU1N2NjNTBhM2I1NTc4YzMyYjgyMjQ1MDkxYzExYzI3Yi4uY2U0NjY4OGJiZDJiMjI0MzYy
YmRhYzEzYjBjOTJlYjk2NTUyNTZkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbApAQCAtNDEsOCArNDEsMTAgQEAgbW9kdWxl
IHRocmVhZHMgewogI2VuZGlmCiAgICAgICAgW1Y4Q3VzdG9tXSBOb3RpZmljYXRpb24gY3JlYXRl
Tm90aWZpY2F0aW9uKGluIERPTVN0cmluZyBpY29uVXJsLCBpbiBET01TdHJpbmcgdGl0bGUsIGlu
IERPTVN0cmluZyBib2R5KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAorI2lmIGRlZmluZWQoRU5B
QkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAmJiBFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMK
ICAgICAgICBpbnQgY2hlY2tQZXJtaXNzaW9uKCk7CiAgICAgICAgW0N1c3RvbV0gdm9pZCByZXF1
ZXN0UGVybWlzc2lvbihpbiBWb2lkQ2FsbGJhY2sgY2FsbGJhY2spOworI2VuZGlmCiAgICAgfTsK
IAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25DbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2xp
ZW50LmgKaW5kZXggYzFiMzM5YjM0YTZjNzcwZjk2Zjc5ZWM4NTRlMmIyMDgwOTliZDFkMC4uNmNk
MTcxNzU5ZTc4YTc3ZGRkNDRkOTQ0ZGUzNGY5ZjE4NGRiYTVjMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNsaWVudC5oCkBAIC0zOCw4ICszOCw5
IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50OwotY2xhc3MgTm90aWZp
Y2F0aW9uOwogY2xhc3MgS1VSTDsKK2NsYXNzIE5vdGlmaWNhdGlvbjsKK2NsYXNzIE5vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjazsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBTY3JpcHRFeGVjdXRp
b25Db250ZXh0OwogCkBAIC03MCwxMCArNzEsMTUgQEAgcHVibGljOgogICAgIC8vIEluZm9ybXMg
dGhlIHByZXNlbnRlciB0aGUgY29udHJvbGxlciBhdHRhY2hlZCB0byB0aGUgcGFnZSBoYXMgYmVl
biBkZXN0cm95ZWQuCiAgICAgdmlydHVhbCB2b2lkIG5vdGlmaWNhdGlvbkNvbnRyb2xsZXJEZXN0
cm95ZWQoKSA9IDA7CiAKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgLy8g
UmVxdWVzdHMgdXNlciBwZXJtaXNzaW9uIHRvIHNob3cgZGVza3RvcCBub3RpZmljYXRpb25zIGZy
b20gYSBwYXJ0aWN1bGFyCiAgICAgLy8gc2NyaXB0IGNvbnRleHQuIFRoZSBjYWxsYmFjayBwYXJh
bWV0ZXIgc2hvdWxkIGJlIHJ1biB3aGVuIHRoZSB1c2VyIGhhcwogICAgIC8vIG1hZGUgYSBkZWNp
c2lvbi4KICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCosIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPikgPSAwOworI2VuZGlmCisjaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpCisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjaz4pID0gMDsKKyNlbmRpZgogCiAgICAgLy8gQ2FuY2VsIGFsbCBvdXRzdGFuZGluZyBy
ZXF1ZXN0cyBmb3IgdGhlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQKICAgICB2aXJ0dWFsIHZvaWQg
Y2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSA9IDA7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBl
cm1pc3Npb25DYWxsYmFjay5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NGU3MzJhN2Y5YTI5OTlkMjZm
MmI3OGRkYmEzZjYyOTAwOGJmNmY5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaApAQCAtMCwwICsx
LDQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaWZuZGVmIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFja19o
CisjZGVmaW5lIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFja19oCisKKyNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKKworI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBOb3RpZmljYXRp
b25QZXJtaXNzaW9uQ2FsbGJhY2sgOiBwdWJsaWMgUmVmQ291bnRlZDxOb3RpZmljYXRpb25QZXJt
aXNzaW9uQ2FsbGJhY2s+IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5Ob3RpZmljYXRpb25QZXJt
aXNzaW9uQ2FsbGJhY2soKSB7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlRXZlbnQoY29uc3Qg
U3RyaW5nJiBwZXJtaXNzaW9uKSA9IDA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKworI2VuZGlmIC8vIE5vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFja19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMWYxMTE2MTJlMjQwY2VjYWExOWZiNWVhNzFhYWNkN2QyNjA5M2MyMAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrLmlkbApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgdGhyZWFk
cyB7CisKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1OT1RJRklDQVRJT05T
LAorICAgICAgICBDYWxsYmFjaworICAgIF0gTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNr
IHsKKyAgICAgICAgYm9vbGVhbiBoYW5kbGVFdmVudChpbiBET01TdHJpbmcgcGVybWlzc2lvbik7
CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
aWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IGYyYjkwY2U1ODEw
ZmU5NjMwNzhlNTQ4MTJhMTgwOTBiZGU4MmM3MmYuLjQyM2UzMjc4ZTJjMDNkMjM0MjBjYmUyZmJj
Yzk4ZTM5OTQ4OGNjNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTEsNSArMSw1
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAw
OCwgMjAwOSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmln
aHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKQEAgLTE3Myw2ICsxNzMsOSBAQCBtb2R1bGUgd2luZG93IHsKICNpZiAoZGVmaW5lZChF
TkFCTEVfTk9USUZJQ0FUSU9OUykgJiYgRU5BQkxFX05PVElGSUNBVElPTlMpIHx8IChkZWZpbmVk
KEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJiYgRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJ
T05TKQogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZV0gTm90
aWZpY2F0aW9uQ2VudGVyIHdlYmtpdE5vdGlmaWNhdGlvbnM7CiAjZW5kaWYKKyNpZiAoZGVmaW5l
ZChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJiYgRU5BQkxFX05PVElGSUNBVElPTlMpCisgICAgICAg
IGF0dHJpYnV0ZSBOb3RpZmljYXRpb25Db25zdHJ1Y3RvciBOb3RpZmljYXRpb247CisjZW5kaWYK
IAogI2lmIGRlZmluZWQoRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUykgJiYgRU5BQkxFX09SSUVO
VEFUSU9OX0VWRU5UUwogICAgICAgICAvLyBUaGlzIGlzIHRoZSBpbnRlcmZhY2Ugb3JpZW50YXRp
b24gaW4gZGVncmVlcy4gU29tZSBleGFtcGxlcyBhcmU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaCBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCmluZGV4IDVk
ZmEwNDZkZmRmZjU0M2MxZTIwOTQyOGQzOGI4YzhkNDdiZjMyMmIuLjk0NTM1ZDM2MTVkMTk1NTUz
YTMzOGMwZjMyOWI2ZmY2MzEzMTFlNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCkBAIC0zNCwxMSArMzQs
MTMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTm90aWZpY2F0aW9uOworY2xhc3Mg
Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDsKIGNsYXNzIFZvaWRDYWxsYmFjazsKIH0KIAogQGNsYXNzIFdlYk5vdGlmaWNhdGlvbjsK
K0BjbGFzcyBXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lcjsKIEBjbGFzcyBXZWJWaWV3Owog
CiBjbGFzcyBXZWJOb3RpZmljYXRpb25DbGllbnQgOiBwdWJsaWMgV2ViQ29yZTo6Tm90aWZpY2F0
aW9uQ2xpZW50IHsKQEAgLTUyLDEwICs1NCwxOSBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9p
ZCBjbGVhck5vdGlmaWNhdGlvbnMoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIE9W
RVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25PYmplY3REZXN0cm95ZWQoV2Vi
Q29yZTo6Tm90aWZpY2F0aW9uKikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmaWNh
dGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKSBPVkVSUklERTsKKyNpZiBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6
OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFj
az4pIE9WRVJSSURFOworI2VuZGlmCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisgICAgdmly
dHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBQYXNzUmVmUHRyPFdlYkNvcmU6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4p
IE9WRVJSSURFOworI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbFJlcXVlc3RzRm9yUGVy
bWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgT1ZFUlJJREUgeyB9CiAg
ICAgdmlydHVhbCBXZWJDb3JlOjpOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gY2hlY2tQ
ZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBPVkVSUklERTsKIAor
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CisgICAgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgKik7CisjZW5kaWYKKwogICAgIFdl
YlZpZXcgKm1fd2ViVmlldzsKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQogICAgIEhhc2hNYXA8UmVmUHRyPFdlYkNvcmU6Ok5vdGlmaWNh
dGlvbj4sIFJldGFpblB0cjxXZWJOb3RpZmljYXRpb24+ID4gbV9ub3RpZmljYXRpb25NYXA7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRp
b25DbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmlj
YXRpb25DbGllbnQubW0KaW5kZXggYjBmZmRmZDhmODUyOGNiNTZhMzc4ZTljYWM3ZTQ5MmY3Yjk5
YWYzYi4uNzU4NjFjMzc4OTNiNjYzMTk5ODY0YjY2MGYxMWQ2OTY3MTllMGQ2ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlv
bkNsaWVudC5tbQpAQCAtMzMsMTggKzMzLDMwIEBACiAjaW1wb3J0ICJXZWJVSURlbGVnYXRlUHJp
dmF0ZS5oIgogI2ltcG9ydCAiV2ViVmlld0ludGVybmFsLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0Js
b2NrRXhjZXB0aW9ucy5oPgorI2ltcG9ydCA8V2ViQ29yZS9Ob3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2suaD4KICNpbXBvcnQgPFdlYkNvcmUvUGFnZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9T
Y3JpcHRFeGVjdXRpb25Db250ZXh0Lmg+CiAjZW5kaWYKIAorI2lmIEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKKyNpbXBvcnQgPFdlYkNvcmUvVm9pZENhbGxiYWNrLmg+CisjZW5kaWYKKwog
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogQGludGVyZmFjZSBXZWJOb3RpZmljYXRpb25Q
b2xpY3lMaXN0ZW5lciA6IE5TT2JqZWN0IDxXZWJBbGxvd0RlbnlQb2xpY3lMaXN0ZW5lcj4KIHsK
LSAgICBSZWZQdHI8Vm9pZENhbGxiYWNrPiBfY2FsbGJhY2s7CisgICAgUmVmUHRyPE5vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjaz4gX2NhbGxiYWNrOworI2lmIEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKKyAgICBSZWZQdHI8Vm9pZENhbGxiYWNrPiBfdm9pZENhbGxiYWNrOworI2Vu
ZGlmCiB9Ci0tIChpZClpbml0V2l0aENhbGxiYWNrOihQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4p
Y2FsbGJhY2s7CistIChpZClpbml0V2l0aENhbGxiYWNrOihQYXNzUmVmUHRyPE5vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjaz4pY2FsbGJhY2s7CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQorLSAoaWQpaW5pdFdpdGhWb2lkQ2FsbGJhY2s6KFBhc3NSZWZQdHI8Vm9pZENhbGxi
YWNrPiljYWxsYmFjazsKKyNlbmRpZgorCiBAZW5kCiAjZW5kaWYKIApAQCAtMTQ3LDI5ICsxNTks
NDIgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6Om5vdGlmaWNhdGlvbkNvbnRyb2xsZXJE
ZXN0cm95ZWQoKQogICAgIGRlbGV0ZSB0aGlzOwogfQogCi12b2lkIFdlYk5vdGlmaWNhdGlvbkNs
aWVudDo6cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwg
UGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrKQotewogI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0gICAgQkVHSU5fQkxPQ0tf
T0JKQ19FWENFUFRJT05TOwotICAgIAordm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVl
c3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFdlYk5vdGlmaWNh
dGlvblBvbGljeUxpc3RlbmVyICpsaXN0ZW5lcikKK3sKICAgICBTRUwgc2VsZWN0b3IgPSBAc2Vs
ZWN0b3Iod2ViVmlldzpkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25SZXF1ZXN0RnJvbU9yaWdp
bjpsaXN0ZW5lcjopOwogICAgIGlmICghW1ttX3dlYlZpZXcgVUlEZWxlZ2F0ZV0gcmVzcG9uZHNU
b1NlbGVjdG9yOnNlbGVjdG9yXSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIFdlYlNlY3Vy
aXR5T3JpZ2luICp3ZWJPcmlnaW4gPSBbW1dlYlNlY3VyaXR5T3JpZ2luIGFsbG9jXSBfaW5pdFdp
dGhXZWJDb3JlU2VjdXJpdHlPcmlnaW46Y29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKV07Ci0gICAg
V2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIqIGxpc3RlbmVyID0gW1tXZWJOb3RpZmljYXRp
b25Qb2xpY3lMaXN0ZW5lciBhbGxvY10gaW5pdFdpdGhDYWxsYmFjazpjYWxsYmFja107CiAgICAg
CiAgICAgQ2FsbFVJRGVsZWdhdGUobV93ZWJWaWV3LCBzZWxlY3Rvciwgd2ViT3JpZ2luLCBsaXN0
ZW5lcik7CiAgICAgCiAgICAgW3dlYk9yaWdpbiByZWxlYXNlXTsKK30KKyNlbmRpZgorCisjaWYg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQordm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6
OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NS
ZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFjaykKK3sKKyAgICBCRUdJTl9CTE9DS19PQkpDX0VY
Q0VQVElPTlM7CisgICAgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgKmxpc3RlbmVyID0g
W1tXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciBhbGxvY10gaW5pdFdpdGhWb2lkQ2FsbGJh
Y2s6Y2FsbGJhY2tdOworICAgIHJlcXVlc3RQZXJtaXNzaW9uKGNvbnRleHQsIGxpc3RlbmVyKTsK
ICAgICBbbGlzdGVuZXIgcmVsZWFzZV07Ci0gICAgCiAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBU
SU9OUzsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGNvbnRleHQpOwotICAgIFVOVVNFRF9QQVJB
TShjYWxsYmFjayk7Cit9CiAjZW5kaWYKKworI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQordm9p
ZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxi
YWNrPiBjYWxsYmFjaykKK3sKKyAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CisgICAg
V2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgKmxpc3RlbmVyID0gW1tXZWJOb3RpZmljYXRp
b25Qb2xpY3lMaXN0ZW5lciBhbGxvY10gaW5pdFdpdGhDYWxsYmFjazpjYWxsYmFja107CisgICAg
cmVxdWVzdFBlcm1pc3Npb24oY29udGV4dCwgbGlzdGVuZXIpOworICAgIFtsaXN0ZW5lciByZWxl
YXNlXTsKKyAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogfQorI2VuZGlmCiAKIE5vdGlm
aWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBXZWJOb3RpZmljYXRpb25DbGllbnQ6OmNoZWNrUGVy
bWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogewpAQCAtMTk5LDcgKzIy
NCw4IEBAIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBXZWJOb3RpZmljYXRpb25DbGll
bnQ6OmNoZWNrUGVybWlzc2lvbihTY3JpcHRFeGVjCiAKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogQGltcGxlbWVudGF0aW9uIFdlYk5v
dGlmaWNhdGlvblBvbGljeUxpc3RlbmVyCi0tIChpZClpbml0V2l0aENhbGxiYWNrOihQYXNzUmVm
UHRyPFZvaWRDYWxsYmFjaz4pY2FsbGJhY2sKKworLSAoaWQpaW5pdFdpdGhDYWxsYmFjazooUGFz
c1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KWNhbGxiYWNrCiB7CiAgICAg
aWYgKCEoc2VsZiA9IFtzdXBlciBpbml0XSkpCiAgICAgICAgIHJldHVybiBuaWw7CkBAIC0yMDks
MTQgKzIzNSw0MCBAQCBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gV2ViTm90aWZpY2F0
aW9uQ2xpZW50OjpjaGVja1Blcm1pc3Npb24oU2NyaXB0RXhlYwogICAgIHJldHVybiBzZWxmOwog
fQogCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorLSAoaWQpaW5pdFdpdGhWb2lk
Q2FsbGJhY2s6KFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiljYWxsYmFjaworeworICAgIGlmICgh
KHNlbGYgPSBbc3VwZXIgaW5pdF0pKQorICAgICAgICByZXR1cm4gbmlsOworCisgICAgQVNTRVJU
KGNhbGxiYWNrKTsKKyAgICBfdm9pZENhbGxiYWNrID0gY2FsbGJhY2s7CisgICAgcmV0dXJuIHNl
bGY7Cit9CisjZW5kaWYKKwogLSAodm9pZClhbGxvdwogewotICAgIF9jYWxsYmFjay0+aGFuZGxl
RXZlbnQoKTsKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAgaWYgKF92b2lk
Q2FsbGJhY2spIHsKKyAgICAgICAgX3ZvaWRDYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorCisgICAgX2NhbGxiYWNrLT5oYW5kbGVFdmVudChO
b3RpZmljYXRpb246OnN0cmluZ0ZvclBlcm1pc3Npb24oTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJt
aXNzaW9uQWxsb3dlZCkpOwogfQogCiAtICh2b2lkKWRlbnkKIHsKLSAgICBfY2FsbGJhY2stPmhh
bmRsZUV2ZW50KCk7CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorICAgIGlmIChf
dm9pZENhbGxiYWNrKSB7CisgICAgICAgIF92b2lkQ2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYKKworICAgIF9jYWxsYmFjay0+aGFuZGxlRXZl
bnQoTm90aWZpY2F0aW9uOjpzdHJpbmdGb3JQZXJtaXNzaW9uKE5vdGlmaWNhdGlvbkNsaWVudDo6
UGVybWlzc2lvbkRlbmllZCkpOwogfQogCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwCmluZGV4IGZlNjZlNTZlOTQ5ZWQ0
M2RiZTY5M2RkNzlmYjIyZjY2MTYwOGZhNGUuLjY2NjRkZDFhODEwMjA5MjE1NzQyNDY2N2RiOWI4
OGI2Y2NlOTM1MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNz
aW9uUmVxdWVzdE1hbmFnZXIuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTEsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC01OSwxMSArNTksMTIgQEAgTm90aWZpY2F0aW9uUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyOjpOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIo
V2ViUGEKIHsKIH0KIAotdm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6
OnN0YXJ0UmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2luLCBQYXNzUmVmUHRyPFZvaWRDYWxs
YmFjaz4gY2FsbGJhY2spCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCit2b2lkIE5vdGlmaWNh
dGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6c3RhcnRSZXF1ZXN0KFNlY3VyaXR5T3JpZ2lu
KiBvcmlnaW4sIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBjYWxs
YmFjaykKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQotICAgIGlmIChwZXJtaXNzaW9uTGV2ZWwob3JpZ2luKSAhPSBOb3RpZmljYXRp
b25DbGllbnQ6OlBlcm1pc3Npb25Ob3RBbGxvd2VkKSB7Ci0gICAgICAgIGNhbGxiYWNrLT5oYW5k
bGVFdmVudCgpOworICAgIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBwZXJtaXNzaW9u
ID0gcGVybWlzc2lvbkxldmVsKG9yaWdpbik7CisgICAgaWYgKHBlcm1pc3Npb24gIT0gTm90aWZp
Y2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uTm90QWxsb3dlZCkgeworICAgICAgICBjYWxsYmFjay0+
aGFuZGxlRXZlbnQoTm90aWZpY2F0aW9uOjpzdHJpbmdGb3JQZXJtaXNzaW9uKHBlcm1pc3Npb24p
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNzIsMTEgKzczLDI1IEBAIHZvaWQgTm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpzdGFydFJlcXVlc3QoU2VjdXJpdHlP
cmlnaW4qIG9yaWdpbiwKICAgICBtX2lkVG9PcmlnaW5NYXAuc2V0KHJlcXVlc3RJRCwgb3JpZ2lu
KTsKICAgICBtX2lkVG9DYWxsYmFja01hcC5zZXQocmVxdWVzdElELCBjYWxsYmFjayk7CiAgICAg
bV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlJlcXVlc3ROb3RpZmljYXRpb25Q
ZXJtaXNzaW9uKHJlcXVlc3RJRCwgb3JpZ2luLT50b1N0cmluZygpKSk7Ci0jZWxzZQotICAgIFVO
VVNFRF9QQVJBTShvcmlnaW4pOwotICAgIFVOVVNFRF9QQVJBTShjYWxsYmFjayk7Cit9CiAjZW5k
aWYKKworI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKK3ZvaWQgTm90aWZpY2F0aW9u
UGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpzdGFydFJlcXVlc3QoU2VjdXJpdHlPcmlnaW4qIG9y
aWdpbiwgUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrKQoreworICAgIE5vdGlmaWNh
dGlvbkNsaWVudDo6UGVybWlzc2lvbiBwZXJtaXNzaW9uID0gcGVybWlzc2lvbkxldmVsKG9yaWdp
bik7CisgICAgaWYgKHBlcm1pc3Npb24gIT0gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9u
Tm90QWxsb3dlZCkgeworICAgICAgICBjYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKyAgICAKKyAgICB1aW50NjRfdCByZXF1ZXN0SUQgPSBnZW5lcmF0ZVJl
cXVlc3RJRCgpOworICAgIG1fb3JpZ2luVG9JRE1hcC5zZXQob3JpZ2luLCByZXF1ZXN0SUQpOwor
ICAgIG1faWRUb09yaWdpbk1hcC5zZXQocmVxdWVzdElELCBvcmlnaW4pOworICAgIG1faWRUb1Zv
aWRDYWxsYmFja01hcC5zZXQocmVxdWVzdElELCBjYWxsYmFjayk7CisgICAgbV9wYWdlLT5zZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlJlcXVlc3ROb3RpZmljYXRpb25QZXJtaXNzaW9uKHJl
cXVlc3RJRCwgb3JpZ2luLT50b1N0cmluZygpKSk7CiB9CisjZW5kaWYKIAogdm9pZCBOb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OmNhbmNlbFJlcXVlc3QoU2VjdXJpdHlPcmln
aW4qIG9yaWdpbikKIHsKQEAgLTg2LDcgKzEwMSwxMiBAQCB2b2lkIE5vdGlmaWNhdGlvblBlcm1p
c3Npb25SZXF1ZXN0TWFuYWdlcjo6Y2FuY2VsUmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2lu
KQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgbV9pZFRvT3JpZ2luTWFwLnJlbW92ZShpZCk7
CisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgbV9pZFRvQ2FsbGJhY2tNYXAucmVtb3Zl
KGlkKTsKKyNlbmRpZgorI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICBtX2lk
VG9Wb2lkQ2FsbGJhY2tNYXAucmVtb3ZlKGlkKTsKKyNlbmRpZgogI2Vsc2UKICAgICBVTlVTRURf
UEFSQU0ob3JpZ2luKTsKICNlbmRpZgpAQCAtMTExLDExICsxMzEsMTkgQEAgdm9pZCBOb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OmRpZFJlY2VpdmVOb3RpZmljYXRpb25QZXJt
aXNzaW9uRGVjaXMKICAgICBpZiAoIWlzUmVxdWVzdElEVmFsaWQocmVxdWVzdElEKSkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgUmVmUHRyPFZvaWRDYWxsYmFjaz4gY2FsbGJhY2sgPSBtX2lkVG9D
YWxsYmFja01hcC50YWtlKHJlcXVlc3RJRCk7CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJ
T05TKQorICAgIFJlZlB0cjxWb2lkQ2FsbGJhY2s+IHZvaWRDYWxsYmFjayA9IG1faWRUb1ZvaWRD
YWxsYmFja01hcC50YWtlKHJlcXVlc3RJRCk7CisgICAgaWYgKHZvaWRDYWxsYmFjaykgeworICAg
ICAgICB2b2lkQ2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisjZW5kaWYKKworICAgIFJlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNh
bGxiYWNrID0gbV9pZFRvQ2FsbGJhY2tNYXAudGFrZShyZXF1ZXN0SUQpOwogICAgIGlmICghY2Fs
bGJhY2spCiAgICAgICAgIHJldHVybjsKICAgICAKLSAgICBjYWxsYmFjay0+aGFuZGxlRXZlbnQo
KTsKKyAgICBjYWxsYmFjay0+aGFuZGxlRXZlbnQoTm90aWZpY2F0aW9uOjpzdHJpbmdGb3JQZXJt
aXNzaW9uKGFsbG93ZWQgPyBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25BbGxvd2VkIDog
Tm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uRGVuaWVkKSk7CiAjZWxzZQogICAgIFVOVVNF
RF9QQVJBTShyZXF1ZXN0SUQpOwogICAgIFVOVVNFRF9QQVJBTShhbGxvd2VkKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaAppbmRleCAw
Mzk3ODc5YmE2YmY1MTY2Yzg1MDg1OTQ2ZjA0ZjZlZjIzZDBlZTYwLi4zYjM3OTlhZTNiZmJhMDUw
MDMwOTgwMDU4YjY1ZWY3YzQyMDNkMDA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNh
dGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTEsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNyw2ICsyNyw3IEBACiAjZGVmaW5lIE5v
dGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcl9oCiAKICNpbmNsdWRlIDxXZWJDb3Jl
L05vdGlmaWNhdGlvbkNsaWVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Wb2lkQ2FsbGJhY2suaD4KICNp
bmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC00
NSw4ICs0NiwxMyBAQCBjbGFzcyBXZWJQYWdlOwogY2xhc3MgTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyIDogcHVibGljIFJlZkNvdW50ZWQ8Tm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyPiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Tm90aWZp
Y2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyPiBjcmVhdGUoV2ViUGFnZSopOwotICAgIAor
CisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisgICAgdm9pZCBzdGFydFJlcXVlc3QoV2ViQ29y
ZTo6U2VjdXJpdHlPcmlnaW4qLCBQYXNzUmVmUHRyPFdlYkNvcmU6Ok5vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjaz4pOworI2VuZGlmCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05T
KQogICAgIHZvaWQgc3RhcnRSZXF1ZXN0KFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luKiwgUGFzc1Jl
ZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJhY2s+KTsKKyNlbmRpZgogICAgIHZvaWQgY2FuY2VsUmVx
dWVzdChXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiopOwogICAgIAogICAgIC8vIFN5bmNocm9ub3Vz
IGNhbGwgdG8gcmV0cmlldmUgcGVybWlzc2lvbiBsZXZlbCBmb3IgZ2l2ZW4gc2VjdXJpdHkgb3Jp
Z2luCkBAIC01Niw4ICs2MiwxMyBAQCBwdWJsaWM6CiAgICAgCiBwcml2YXRlOgogICAgIE5vdGlm
aWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcihXZWJQYWdlKik7Ci0gICAgCi0gICAgSGFz
aE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4gPiBtX2lkVG9DYWxs
YmFja01hcDsKKworI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorICAgIEhhc2hNYXA8dWludDY0
X3QsIFJlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+ID4gbV9p
ZFRvQ2FsbGJhY2tNYXA7CisjZW5kaWYKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CisgICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4gPiBt
X2lkVG9Wb2lkQ2FsbGJhY2tNYXA7CisjZW5kaWYKICAgICBIYXNoTWFwPFJlZlB0cjxXZWJDb3Jl
OjpTZWN1cml0eU9yaWdpbj4sIHVpbnQ2NF90PiBtX29yaWdpblRvSURNYXA7CiAgICAgSGFzaE1h
cDx1aW50NjRfdCwgUmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPiA+IG1faWRUb09yaWdp
bk1hcDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuY3BwCmluZGV4IDhhYzc4ZDVm
NDQ2NzI3OTgzZjliMjVlYTU5ODExMDNjOWQzNmQ3NzguLjc5YmFjMWFlOWM2NDM5NTMzMGFkN2U4
MDc1YWJhMWMxM2M1N2ZmYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTcyLDEwICs3MiwxOSBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6bm90aWZpY2F0aW9u
Q29udHJvbGxlckRlc3Ryb3llZCgpCiAgICAgZGVsZXRlIHRoaXM7CiB9CiAKKyNpZiBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCiB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVz
dFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxW
b2lkQ2FsbGJhY2s+IGNhbGxiYWNrKQogewogICAgIG1fcGFnZS0+bm90aWZpY2F0aW9uUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyKCktPnN0YXJ0UmVxdWVzdChjb250ZXh0LT5zZWN1cml0eU9yaWdp
bigpLCBjYWxsYmFjayk7CiB9CisjZW5kaWYKKworI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQor
dm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNh
bGxiYWNrPiBjYWxsYmFjaykKK3sKKyAgICBtX3BhZ2UtPm5vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlcigpLT5zdGFydFJlcXVlc3QoY29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKSwg
Y2FsbGJhY2spOworfQorI2VuZGlmCiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpjYW5j
ZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViTm90aWZpY2F0aW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCmluZGV4IDQ2ZWIyYTVkODg4OTA2NmNi
MDQzNDYyYTExNDkxYjU5MjQ1NzVjYWIuLmRlMzBiMGU5ZWY3ZWQ2MGEwNTdhZmFiNjViOWY3NWQ3
NTYwYTkwZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaApAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzEsNiArMzEsNyBA
QAogI2luY2x1ZGUgPFdlYkNvcmUvTm90aWZpY2F0aW9uQ2xpZW50Lmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKK2NsYXNzIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjazsKIGNsYXNzIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiBjbGFzcyBWb2lkQ2FsbGJhY2s7CiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCkBAIC01MCw3ICs1MSwxMiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBj
bGVhck5vdGlmaWNhdGlvbnMoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIE9WRVJS
SURFOwogICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25PYmplY3REZXN0cm95ZWQoV2ViQ29y
ZTo6Tm90aWZpY2F0aW9uKikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmaWNhdGlv
bkNvbnRyb2xsZXJEZXN0cm95ZWQoKSBPVkVSUklERTsKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpCiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4p
IE9WRVJSSURFOworI2VuZGlmCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisgICAgdmlydHVh
bCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
LCBQYXNzUmVmUHRyPFdlYkNvcmU6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4pIE9W
RVJSSURFOworI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbFJlcXVlc3RzRm9yUGVybWlz
c2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgT1ZFUlJJREU7CiAgICAgdmly
dHVhbCBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gY2hlY2tQZXJtaXNzaW9uKFdlYkNv
cmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBPVkVSUklERTsKICAgICAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139152</attachid>
            <date>2012-04-27 02:14:49 -0700</date>
            <delta_ts>2012-04-27 23:40:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80485-20120427021708.patch</filename>
            <type>text/plain</type>
            <size>64690</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1NDA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWEzZTkxZDMwZDYwNTFm
ZmQ4MGQzNDRhYTVkMGExNDcxYzJkZWIyMi4uM2MwZDc3NzlhYzEyYjBjMjBmZTNiMjk4NDE0OTM2
OWFjMTU5NzljOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEyLTA0LTI3ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVu
Y3Rpb25zIHRvIE5vdGlmaWNhdGlvbiBmcm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzEwOTY1NDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsOiBBZGQgcGVy
bWlzc2lvbiBmdW5jdGlvbnMuCisKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5jcHA6IE5ldyBwZXJtaXNzaW9uIGZ1bmN0aW9ucyBhcmUgd3JhcHBlZCB3aXRoIEVOQUJMRShO
T1RJRklDQVRJT05TKQorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjp0YXNrVGltZXJG
aXJlZCk6IFVzZSB0aGUgbmV3IHBlcm1pc3Npb24gZnVuY3Rpb25zIHRvIGRldGVybWluZSB3aGV0
aGVyIHdlIGNhbiBzaG93IHRoZQorICAgICAgICBub3RpZmljYXRpb24uCisgICAgICAgIChXZWJD
b3JlOjpOb3RpZmljYXRpb246OnBlcm1pc3Npb25MZXZlbCk6CisgICAgICAgIChXZWJDb3JlOjpO
b3RpZmljYXRpb246OnN0cmluZ0ZvclBlcm1pc3Npb24pOiBEZWNsYXJlIHRocmVlIHN0YXRpYyBs
b2NhbHMgZm9yIGVhY2ggb2YgdGhlIHZhbHVlcywgYW5kIHJldHVybgorICAgICAgICBiYXNlZCBv
biB0aGUgcGVybWlzc2lvbiBlbnVtLgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpy
ZXF1ZXN0UGVybWlzc2lvbik6IEZvcndhcmQgcmVxdWVzdCB0byBjbGllbnQuCisgICAgICAgICog
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaDoKKworICAgICAgICAqIG5vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmg6IEFkZGVkLgorICAgICAgICAoTm90aWZp
Y2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjazo6fk5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjayk6Cisg
ICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRs
OiBBZGRlZC4KKworICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNw
cDogV3JhcCBwZXJtaXNzaW9uIGZ1bmN0aW9ucyBpbiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaDogV3JhcCBw
ZXJtaXNzaW9uIGZ1bmN0aW9ucyBpbiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAg
ICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsOiBXcmFwIHBlcm1pc3Np
b24gZnVuY3Rpb25zIGluIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBu
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvblByZXNlbnRlci5oOgorICAgICAgICAoV2ViQ29yZTo6
Tm90aWZpY2F0aW9uUHJlc2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbik6IEFkZCBuZXcgcmVxdWVz
dFBlcm1pc3Npb24oKSBmdW5jdGlvbiBmb3IgbmV3CisgICAgICAgIE5vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjayB0eXBlLiBNYWtlIGl0IGEgc3R1YiBpbXBsZW1lbnRhdGlvbiB1bnRpbCBh
bGwgcG9ydHMgaGF2ZSBhZG9wdGVkLgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25DbGllbnQuaDogQWRkIGFub3RoZXIgcmVxdWVzdFBlcm1pc3Npb24oKSBjbGllbnQgY2Fs
bCwgd3JhcHBlZCBpbgorICAgICAgICBFTkFCTEUoTk9USUZJQ0FUSU9OUykgdGhhdCBhY2NlcHRz
IHRoZSBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suIFdyYXAgdGhlIG9yaWdpbmFsIG9u
ZSBpbgorICAgICAgICBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpLgorCisgICAgICAgICog
YmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3RvbS5jcHA6IENoYW5nZSB0byBp
bmNsdWRlIHRoZSBpbXBsZW1lbnRhdGlvbiBvbmx5IGluCisgICAgICAgIEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykuCisgICAgICAgICogYmluZGluZ3MvanMvSlNOb3RpZmljYXRpb25zQ3Vz
dG9tLmNwcDogQ3VzdG9tIGltcGxlbWVudGF0aW9uIG9mIHJlcXVlc3RQZXJtaXNzaW9uKCkuCisg
ICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcDogQ3Vz
dG9tIGltcGxlbWVudGF0aW9uIG9mIHJlcXVlc3RQZXJtaXNzaW9uKCkuCisKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDogQWRkIG5ldyBjYWxsYmFjayBpZGwuCisgICAgICAgICogRGVyaXZlZFNv
dXJjZXMubWFrZTogQWRkIG5ldyBjYWxsYmFjayBpZGwuCisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMucHJpOiBBZGQgbmV3IGNhbGxiYWNrIGlkbC4KKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0
LmFtOiBBZGQgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrIGZpbGVzLgorICAgICAgICAq
IFRhcmdldC5wcmk6IEluY2x1ZGUgSlNOb3RpZmljYXRpb25DdXN0b20uY3BwLCBWOE5vdGlmaWNh
dGlvbkN1c3RvbS5jcHAKKyAgICAgICAgKiBVc2VKU0MuY21ha2U6IEluY2x1ZGUgSlNOb3RpZmlj
YXRpb25DdXN0b20uY3BwCisgICAgICAgICogVXNlVjguY21ha2U6IEluY2x1ZGUgVjhOb3RpZmlj
YXRpb25DdXN0b20uY3BwCisgICAgICAgICogV2ViQ29yZS5neXBpOiBJbmNsdWRlIEpTTm90aWZp
Y2F0aW9uQ3VzdG9tLmNwcCwgVjhOb3RpZmljYXRpb25DdXN0b20uY3BwLCBKU05vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjay57aCxjcHB9CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2o6IEluY2x1ZGUgSlNOb3RpZmljYXRpb25DdXN0b20uY3BwLCBKU05vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjay57aCxjcHB9CisgICAgICAgICogV2ViQ29yZS5leHAuaW46
IEV4cG9ydCBzdHJpbmdGb3JQZXJtaXNzaW9uKCkuCisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOiBBZGQgY2FsbGJhY2sgaWRsLCBoLCBhbmQgY3BwIGZpbGVzLgor
CiAyMDEyLTA0LTI2ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAg
IFJFR1JFU1NJT04gKHI5NDQ5Nyk6IFByZXNzaW5nIENvbW1hbmQrQSB3aGVuIGlubGluZSAoTWFy
a2VkIFRleHQpIGlzIG5vdCBlbXB0eSB3aWxsIGNsZWFuIHdob2xlIGNvbnRlbnQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwppbmRleCAyNWY4YmNhYWZkN2E5ODc4MjE0ODE2MmNlNTBhZDdjZGI4YzcwMTAxLi41MGJm
NzY3ZTA3ZjhkOWIyMDkxZjNlMTI2MmJkOWQ0NGIzNmVlZTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMTItMDQtMjcgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgor
CisgICAgICAgIE1pZ3JhdGUgcGVybWlzc2lvbiBmdW5jdGlvbnMgdG8gTm90aWZpY2F0aW9uIGZy
b20gTm90aWZpY2F0aW9uQ2VudGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MDQ4NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTA5NjU0NTg+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaDogKgorICAgICAgICBXZWJDb3JlU3VwcG9y
dC9XZWJOb3RpZmljYXRpb25DbGllbnQubW06IEFkZCBhIHNlcGFyYXRlIGNhbGxiYWNrCisgICAg
ICAgIHZhcmlhYmxlIGRlcGVuZGluZyBvbiB0aGUgbm90aWZpY2F0aW9ucyBBUEkgZW5hYmxlZC4K
KyAgICAgICAgKFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pc3Npb24pOiBBZGQK
KyAgICAgICAgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrIHZlcnNpb24gb2YgdGhlIHNh
bWUKKyAgICAgICAgZnVuY3Rpb24uIEFuZCByZWZhY3RvciBjb21tb24gY29kZSBpbnRvIHByaXZh
dGUgZnVuY3Rpb24uCisgICAgICAgICgtW1dlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGlu
aXRXaXRoQ2FsbGJhY2s6XSk6IFJlZmFjdG9yIHRvCisgICAgICAgIHRha2UgdGhlIE5vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjayBhcyBhIHBhcmFtZXRlci4KKyAgICAgICAgKC1bV2ViTm90
aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgaW5pdFdpdGhWb2lkQ2FsbGJhY2s6XSk6IEFkZCBuZXcK
KyAgICAgICAgaW5pdCBtZXRob2QgdG8gaGFuZGxlIGxlZ2FjeSBBUEkuCisgICAgICAgICgtW1dl
Yk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGFsbG93XSk6IEludm9rZSB0aGUgY2FsbGJhY2sg
Zm9yCisgICAgICAgIGJvdGggdmFyaWFibGVzLiBJZiBvbmx5IG9uZSBvZiB0aGUgQVBJcyBpcyBl
bmFibGVkLCB3ZSBhcmUKKyAgICAgICAgZ3VhcmFudGVlZCB0aGF0IHRoZSByZWxldmFudCBjYWxs
YmFjayB2YXJpYWJsZSBleGlzdHMuIElmIGJvdGgKKyAgICAgICAgQVBJcyBhcmUgc3VwcG9ydGVk
LCBpdCBpcyBwb3NzaWJsZSB0aGF0IF92b2lkQ2FsbGJhY2sgd2lsbCBiZSBuaWwKKyAgICAgICAg
aWYgdGhlIGNhbGxiYWNrIGlzIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaywgc28gd2Ug
bmVlZCB0aGUKKyAgICAgICAgZXh0cmEgcG9pbnRlciBjaGVjay4KKyAgICAgICAgKC1bV2ViTm90
aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgZGVueV0pOiBEaXR0by4KKwogMjAxMi0wNC0yNiAgSm9u
IExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dLMl0gQWx0ZXJuYXRpdmVUZXh0
Q2xpZW50IGxlYWtzIHdoZW4gdGhlIHBhZ2UgaXMgZGVzdHJveWVkCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYmM5
YWNiMWEzMzkwMDJlNjkzYTRjM2NmYWU0YzYyNWY3YjJiZjIzMi4uNzU3NzE3Mzg2YTNhNDQ3NDI2
ZjAwMDBjZGVhZmJkODMyZDQwZTk3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEy
LTA0LTI3ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBNaWdyYXRlIHBl
cm1pc3Npb24gZnVuY3Rpb25zIHRvIE5vdGlmaWNhdGlvbiBmcm9tIE5vdGlmaWNhdGlvbkNlbnRl
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODUK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwOTY1NDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05v
dGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6
Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6c3RhcnRSZXF1ZXN0KTogQWRk
IHZlcnNpb24gdG8gc3VwcG9ydCBib3RoIGtpbmRzIG9mCisgICAgICAgIGNhbGxiYWNrcy4KKyAg
ICAgICAgKFdlYktpdDo6Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpjYW5j
ZWxSZXF1ZXN0KToKKyAgICAgICAgKFdlYktpdDo6Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyOjpkaWRSZWNlaXZlTm90aWZpY2F0aW9uUGVybWlzc2lvbkRlY2lzaW9uKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyLmg6IEFkZCBhbm90aGVyIG1hcCBmb3IgbmV3IGNhbGxiYWNrIHR5cGUuCisg
ICAgICAgIChOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6c2hvdyk6IEFkZCAjaWZkZWYg
dG8gdXNlIHJlcGxhY2VJZCgpIG9yIHRhZygpIGRlcGVuZGluZyBvbiB3aGljaCBmZWF0dXJlCisg
ICAgICAgIGhhcyBiZWVuIGVuYWJsZWQuIEluIHRoZSBjYXNlIHdoZXJlIGJvdGggYXJlIGVuYWJs
ZWQsIHdlIHByZWZlciB0YWcoKSBzaW5jZSB0aGF0IGlzIGluIHRoZSBsYXRlc3Qgc3BlYy4KKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1p
c3Npb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0
aW9uQ2xpZW50Lmg6IEltcGxlbWVudCBib3RoIGNsaWVudCBmdW5jdGlvbnMgdG8gcmVxdWVzdCBw
ZXJtaXNzaW9ucy4KKwogMjAxMi0wNC0yNiAgTm8nYW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRo
YWxAbm9raWEuY29tPgogCiAgICAgICAgIFtRdF1bV0syXSBBIEdyYXBoaWNzU3VyZmFjZSBpbnN0
YW5jZSBpcyBjcmVhdGVkIHdpdGggZXZlcnkgdXBkYXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4
IDdkOTZjNzY5MmU1NDNmYTUwNjFlN2ZhMjA1YzE3MWMzMjFiN2NhMWIuLjE0ZTY3MDU4YzczOThh
ZTc5NjNkOGQ5OTJjMzkzNzhiMmY4MzNmYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xNjg2
LDYgKzE2ODYsNyBAQCBJRiAoRU5BQkxFX05PVElGSUNBVElPTlMpCiAgICAgICAgIG5vdGlmaWNh
dGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5pZGwKICAgICAgICAgbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb24uaWRsCiAgICAgICAgIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVy
LmlkbAorICAgICAgICBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFj
ay5pZGwKICAgICAgICAgbm90aWZpY2F0aW9ucy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5p
ZGwKICAgICApCiBFTkRJRiAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZDE1
ODM0M2VlYjU2YmY1NWRhODY5ZGM3MWVkYTk3OWRhZGVjZDhkNy4uNjgwYWU3MDI5YzY5MDEyMzJh
N2FjMmZiMWQwNmZjZWI4ZmYzMTM5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBA
IC0xLDQgKzEsNCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDggQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIyBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgs
IDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyBDb3B5cmlnaHQgKEMpIDIw
MDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+IAogIyBDb3B5cmlnaHQgKEMp
IDIwMDkgQ2FtZXJvbiBNY0Nvcm1hY2sgPGNhbUBtY2MuaWQuYXU+CiAjCkBAIC0zODgsNiArMzg4
LDcgQEAgQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvbm90aWZpY2F0aW9ucy9ET01X
aW5kb3dOb3RpZmljYXRpb25zLmlkbCBcCiAgICAgJChXZWJDb3JlKS9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25DZW50ZXIuaWRsIFwKKyAgICAkKFdlYkNvcmUpL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
UGVybWlzc2lvbkNhbGxiYWNrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9ub3RpZmljYXRpb25zL1dv
cmtlckNvbnRleHROb3RpZmljYXRpb25zLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL0Fic3Ry
YWN0Vmlldy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9CYXJJbmZvLmlkbCBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5wcmkKaW5kZXggMGZhNGIyNDlhM2ViNWQzNDhiYzM0NTVlYTJmNDdhNmUx
ZTM2ZGU5MS4uNzAxMDRhOGYxM2QyZWVjY2JlODgwNzE4Y2E2NTcyYTAwOGE0NzU0MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpAQCAtMzk4LDYgKzM5OCw3IEBAIElETF9CSU5ESU5HUyAr
PSBcCiAgICAgJCRQV0Qvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmlkbCBc
CiAgICAgJCRQV0Qvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsIFwKICAgICAkJFBXRC9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwgXAorICAgICQkUFdEL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbCBcCiAgICAgJCRQV0Qvbm90
aWZpY2F0aW9ucy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5pZGwgXAogICAgICQkUFdEL3Bh
Z2UvQmFySW5mby5pZGwgXAogICAgICQkUFdEL3BhZ2UvQ29uc29sZS5pZGwgXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggZTEyYTU3MmE5MzU0Mzg0OTg5MTkyNGUxZTcyZTY1ZTAx
MjcxYmY3MC4uNjdiYTNmNWEzMTJiZTlmMDQ5YzU5NTQ2ZWIyOTQyZWIxZTg3NTkzNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC00MjYsNiArNDI2LDggQEAgd2ViY29yZV9idWls
dF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uQ2Vu
dGVyLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb3RpZmljYXRpb24uY3BwIFwKIAlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uLmggXAorCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suY3BwIFwKKwlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggXAogCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPRVNTdGFuZGFyZERlcml2YXRpdmVzLmNwcCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCBcCiAJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU09FU1RleHR1cmVGbG9hdC5jcHAgXApAQCAtOTMwLDYgKzkzMiw3
IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvbG9hZGVyL2FwcGNhY2hlL0RP
TUFwcGxpY2F0aW9uQ2FjaGUuaWRsIFwKIAkkKFdlYkNvcmUpL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uLmlkbCBcCiAJJChXZWJDb3JlKS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRl
ci5pZGwgXAorCSQoV2ViQ29yZSkvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2suaWRsIFwKIAkkKFdlYkNvcmUpL3BhZ2UvQmFySW5mby5pZGwgXAogCSQoV2ViQ29y
ZSkvcGFnZS9Db25zb2xlLmlkbCBcCiAJJChXZWJDb3JlKS9wYWdlL0Nvb3JkaW5hdGVzLmlkbCBc
CkBAIC0yODg1LDYgKzI4ODgsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJD
b3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmggXAorCVNvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggXAogCVNvdXJjZS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvV29ya2VyQ29udGV4dE5vdGlmaWNhdGlvbnMuY3BwIFwKIAlTb3VyY2UvV2Vi
Q29yZS9ub3RpZmljYXRpb25zL1dvcmtlckNvbnRleHROb3RpZmljYXRpb25zLmggXAogCVNvdXJj
ZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmlu
ZGV4IGRhOTM2ZTM0NzIwNTYyMzRkYzBhNWZkMDQ5ZmIyMzk1N2RkMDc5MDIuLjE2MjUxOGI3ZmQ0
ODNjM2M4YmZhYzMzMmJkZTU0ZDE1MWY4YWEyMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMjM0LDYgKzIz
NCw3IEBAIHY4IHsKICAgICAgICAgXAogICAgICAgICBiaW5kaW5ncy92OC9zcGVjaWFsaXphdGlv
bi9WOEJpbmRpbmdTdGF0ZS5jcHBcCiAgICAgICAgIFwKKyAgICAgICAgYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3Rv
bS9WOE5vdGlmaWNhdGlvbkNlbnRlckN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9j
dXN0b20vVjhDb25zb2xlQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OFNRTFRyYW5zYWN0aW9uU3luY0N1c3RvbS5jcHAgXApAQCAtMzQyLDYgKzM0Myw3IEBAIHY4IHsK
ICAgICAgICAgYmluZGluZ3MvanMvSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJp
bmRpbmdzL2pzL0pTTm9kZUl0ZXJhdG9yQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pz
L0pTTm9kZUxpc3RDdXN0b20uY3BwIFwKKyAgICAgICAgYmluZGluZ3MvanMvSlNOb3RpZmljYXRp
b25DdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rp
b25zLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTUG9wU3RhdGVFdmVudEN1c3RvbS5jcHAg
XAogICAgICAgICBiaW5kaW5ncy9qcy9KU1Byb2Nlc3NpbmdJbnN0cnVjdGlvbkN1c3RvbS5jcHAg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlIGIvU291cmNlL1dlYkNv
cmUvVXNlSlNDLmNtYWtlCmluZGV4IDQ5M2ZhMjExNTU4MjEzMzI1MzljNTVlZTZhNmNkY2NhODc3
ZGI1OWIuLmIxZTAwMDM0NTUxZDA5MGQzYTNiZWQ1NTk3NmMyY2UwNGJkMDIwNzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VK
U0MuY21ha2UKQEAgLTEyMCw2ICsxMjAsNyBAQCBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMK
ICAgICBiaW5kaW5ncy9qcy9KU05vZGVGaWx0ZXJDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMv
SlNOb2RlSXRlcmF0b3JDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNOb2RlTGlzdEN1c3Rv
bS5jcHAKKyAgICBiaW5kaW5ncy9qcy9KU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAKICAgICBiaW5k
aW5ncy9qcy9KU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuY3BwCiAgICAgYmluZGluZ3MvanMvSlNQ
b3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTUHJvY2Vzc2luZ0luc3Ry
dWN0aW9uQ3VzdG9tLmNwcApAQCAtMjQ5LDYgKzI1MCw3IEBAIEVORElGICgpCiBJRiAoRU5BQkxF
X05PVElGSUNBVElPTlMpCiAgICAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgICAg
IGJpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20uY3BwCisgICAgICAgIGJp
bmRpbmdzL2pzL0pTTm90aWZpY2F0aW9uc0N1c3RvbS5jcHAKICAgICApCiBFTkRJRiAoKQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1Vz
ZVY4LmNtYWtlCmluZGV4IGVlNGU2Yjk1OTQwMmE0ZGY5MjBjNTRmMTVhOTkxYWE1ZjJmN2Q2M2Uu
Ljg1ZDM3ODZiMzI3OTU3YTcwNDI5ZWUxZjQ2ZjBjZTk2NWRlNGZiYTYgMTAwNzU1Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtl
CkBAIC0xMzYsNiArMTM2LDcgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2Rlc0NvbGxlY3Rpb24uY3BwCiAgICAgYmluZGluZ3Mv
djgvY3VzdG9tL1Y4Tm9kZUN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhOb2Rl
TGlzdEN1c3RvbS5jcHAKKyAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DdXN0
b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2VudGVyQ3VzdG9t
LmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFBlcmZvcm1hbmNlQ3VzdG9tLmNwcAogICAg
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFBvcFN0YXRlRXZlbnRDdXN0b20uY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluCmluZGV4IGU5MmMwMjgyYmJlYjgxMmJlOTc5NGQ1ZjBmMmQ1MGRmOTQ1N2ZhNWYuLjg3
MmRhNDc2NzQxOGI3MzY0MjIxZTBjYjE2NDIzOTZhYmQxMTBmNzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhw
LmluCkBAIC0yMTY3LDYgKzIxNjcsNyBAQCBfX1pON1dlYkNvcmUxMk5vdGlmaWNhdGlvbjE3ZGlz
cGF0Y2hTaG93RXZlbnRFdgogX19aTjdXZWJDb3JlMTJOb3RpZmljYXRpb24xOGRpc3BhdGNoQ2xp
Y2tFdmVudEV2CiBfX1pON1dlYkNvcmUxMk5vdGlmaWNhdGlvbjE4ZGlzcGF0Y2hDbG9zZUV2ZW50
RXYKIF9fWk43V2ViQ29yZTEyTm90aWZpY2F0aW9uMThkaXNwYXRjaEVycm9yRXZlbnRFdgorX19a
TjdXZWJDb3JlMTJOb3RpZmljYXRpb24xOXN0cmluZ0ZvclBlcm1pc3Npb25FTlNfMThOb3RpZmlj
YXRpb25DbGllbnQxMFBlcm1pc3Npb25FCiBfX1pON1dlYkNvcmUxOXByb3ZpZGVOb3RpZmljYXRp
b25FUE5TXzRQYWdlRVBOU18xOE5vdGlmaWNhdGlvbkNsaWVudEUKICNlbmRpZgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKaW5kZXggZjEzNzk4Y2ZhOWIxYjcyMmQyNmQ0NDBiYjczNDUzZDEwNTA3ODJhOS4uNWY1
NThhNTg2Y2RiYzhkODZkZGJmYzZkZWQzZGUwNDE1YWMxZTI0YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpA
QCAtMTEyOSw2ICsxMTI5LDcgQEAKICAgICAgICAgICAgICdub3RpZmljYXRpb25zL0RPTVdpbmRv
d05vdGlmaWNhdGlvbnMuaWRsJywKICAgICAgICAgICAgICdub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbi5pZGwnLAogICAgICAgICAgICAgJ25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVy
LmlkbCcsCisgICAgICAgICAgICAnbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdub3RpZmljYXRpb25zL1dvcmtlckNvbnRleHRO
b3RpZmljYXRpb25zLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9BYnN0cmFjdFZpZXcuaWRsJywK
ICAgICAgICAgICAgICdwYWdlL0JhckluZm8uaWRsJywKQEAgLTE5ODQsNiArMTk4NSw3IEBACiAg
ICAgICAgICAgICAnYmluZGluZ3MvanMvSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvanMvSlNOb2RlSXRlcmF0b3JDdXN0b20uY3BwJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy9qcy9KU05vZGVMaXN0Q3VzdG9tLmNwcCcsCisgICAgICAgICAgICAnYmluZGlu
Z3MvanMvSlNOb3RpZmljYXRpb25DdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9q
cy9KU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9q
cy9KU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9K
U1Byb2Nlc3NpbmdJbnN0cnVjdGlvbkN1c3RvbS5jcHAnLApAQCAtMjI5NCw2ICsyMjk2LDcgQEAK
ICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVzQ29sbGVjdGlvbi5o
JywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcCcsCiAg
ICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUxpc3RDdXN0b20uY3BwJywKKyAg
ICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DdXN0b20uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DZW50ZXJDdXN0
b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhQZXJmb3JtYW5jZUN1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFBvcFN0YXRlRXZl
bnRDdXN0b20uY3BwJywKQEAgLTI5NTEsNiArMjk1NCw3IEBACiAgICAgICAgICAgICAnbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaCcsCiAgICAgICAgICAgICAnbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmNwcCcsCiAgICAgICAgICAgICAnbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmgnLAorICAgICAgICAgICAgJ25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgnLAogICAgICAgICAgICAgJ25vdGlmaWNh
dGlvbnMvV29ya2VyQ29udGV4dE5vdGlmaWNhdGlvbnMuY3BwJywKICAgICAgICAgICAgICdub3Rp
ZmljYXRpb25zL1dvcmtlckNvbnRleHROb3RpZmljYXRpb25zLmgnLAogICAgICAgICAgICAgJ3Bh
Z2UvQmFySW5mby5jcHAnLApAQCAtNzY1NCw2ICs3NjU4LDggQEAKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uLmgnLAogICAg
ICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb3RpZmlj
YXRpb25DZW50ZXIuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uQ2VudGVyLmgnLAorICAgICAgICAgICAgJzwoUFJP
RFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2suY3BwJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgnLAogICAgICAgICAg
ICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPRVNTdGFuZGFyZERl
cml2YXRpdmVzLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCcsCiAgICAgICAgICAgICAnPChQ
Uk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU09FU1RleHR1cmVGbG9hdC5jcHAn
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA0
NDdkNzQ1YzY3ZDEzOTIyYzlhMTc4ZWM1YmQ3NmVlYWYwOTQ3YTkyLi40OTQ3MzRiNDM4YzM0NjFm
MmJmOTAyYWY2YTM3MGQ5OWFkNzdlMWM0IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMTIwMzQsNiArMTIwMzQsNjIgQEAKIAkJCQk+CiAJCQk8
L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjay5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4K
KwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0i
UmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJ
CQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVi
dWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJ
CQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUK
KwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0
TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCIK
KwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1
cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU09wZXJh
dGlvbk5vdEFsbG93ZWRFeGNlcHRpb24uY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTY3ODkz
LDYgKzY3OTQ5LDU4IEBACiAJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJPC9GaWxlPgog
CQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNOb3RpZmljYXRp
b25DdXN0b20uY3BwIgorCQkJCQk+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFt
ZT0iRGVidWd8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4K
KwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJ
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJ
TmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJ
Lz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJ
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQWxsfFdp
bjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9v
bAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlByb2R1
Y3Rpb258V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJ
CQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0
aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcCIKIAkJ
CQkJPgogCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBhNzljMTM1YjA1YzljYjJmZmY4YTI5
Mzg3ODc3NjNiZDYwOTliZTMxLi4wODI2NmVmZjI5NTlkZDg3YTNkZTBlZGZmNjQzYzFlN2Y2NTUy
OGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC05MTIsNiArOTEyLDggQEAKIAkJMzFDMEZGNEMwRTRDRUZERDAwN0Q2RkU1IC8q
IERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzFDMEZGNDYwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRy
YW5zaXRpb25FdmVudC5oICovOyB9OwogCQkzMUMwRkY0RDBFNENFRkREMDA3RDZGRTUgLyogRE9N
V2ViS2l0VHJhbnNpdGlvbkV2ZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMzFDMEZGNDcwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5z
aXRpb25FdmVudC5tbSAqLzsgfTsKIAkJMzFDMEZGNEUwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdl
YktpdFRyYW5zaXRpb25FdmVudEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzMUMwRkY0ODBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0
VHJhbnNpdGlvbkV2ZW50SW50ZXJuYWwuaCAqLzsgfTsKKwkJMzFFQzFFMjgxNEZGNjBFRTAwQzk0
NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRUMxRTI2MTRGRjYwRUUwMEM5NDY2
MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5jcHAgKi87IH07CisJCTMxRUMx
RTI5MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFFQzFFMjcx
NEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggKi87
IH07CiAJCTMxRkIxQTU3MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25DbGllbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTRGMTIw
QTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25DbGllbnQuaCAqLzsgfTsKIAkJMzFGQjFBNTgx
MjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNTAxMjBBNUQwNjAwREMw
MkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwICovOyB9OwogCQkzMUZCMUE1OTEyMEE1
RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNTExMjBBNUQwNjAwREMwMkEwIC8q
IERldmljZU1vdGlvbkNvbnRyb2xsZXIuaCAqLzsgfTsKQEAgLTkyMiw2ICs5MjQsOCBAQAogCQkz
MUZCMUE2NTEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE2MzEyMEE1RDNG
MDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgKi87IH07CiAJCTMxRkIxQTY2MTIw
QTVEM0YwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE2NDEyMEE1RDNGMDBEQzAyQTAgLyog
SlNEZXZpY2VNb3Rpb25FdmVudC5oICovOyB9OwogCQkzMUZCMUE2QzEyMEE1RDY5MDBEQzAyQTAg
LyogSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE2QjEyMEE1RDY5MDBEQzAyQTAgLyogSlNEZXZp
Y2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgKi87IH07CisJCTMxRkU2REZBMTUwMDRDMkEwMDA0RUJD
NCAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRUMxREFDMTRGRjI2RUEwMEM5NDY2MiAvKiBO
b3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQkzMUZFNkU2RDE1MDFBM0JGMDAwNEVCQzQgLyogSlNO
b3RpZmljYXRpb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMzFGRTZFNkMxNTAxQTNCRjAwMDRFQkM0IC8qIEpTTm90aWZpY2F0aW9uQ3Vz
dG9tLmNwcCAqLzsgfTsKIAkJMzMxNEFDRUIxMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9u
QmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
MzE0QUNFOTEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25CYXNlLmNwcCAqLzsgfTsKIAkJ
MzMxNEFDRUMxMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzMxNEFDRUExMDg5MjA4NjAwMEYw
RTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5oICovOyB9OwogCQkzMzUwM0M5QTEwMTc5QTc0MDAzQjQ3
RTEgLyogTm90aWZpY2F0aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMzUwM0M5OTEwMTc5QTc0MDAzQjQ3RTEgLyogTm90aWZpY2F0aW9u
Q2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
QEAgLTc4MzYsNiArNzg0MCwxMCBAQAogCQkzMUMwRkY0NjBFNENFRkREMDA3RDZGRTUgLyogRE9N
V2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkzMUMwRkY0NzBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50Lm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NV2ViS2l0VHJhbnNp
dGlvbkV2ZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUMwRkY0ODBFNENF
RkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50SW50ZXJuYWwuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50SW50ZXJu
YWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFFQzFENTAxNEZFRkQwODAwQzk0
NjYyIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBuYW1lID0gTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbDsgcGF0aCA9IG5vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMzFFQzFEQUMxNEZGMjZFQTAwQzk0NjYyIC8qIE5vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2suaDsgcGF0aCA9IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lv
bkNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRUMxRTI2MTRGRjYw
RUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRUMxRTI3MTRGRjYw
RUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFj
ay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUZCMUE0RjEyMEE1RDA2MDBEQzAy
QTAgLyogRGV2aWNlTW90aW9uQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IERldmljZU1vdGlvbkNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkz
MUZCMUE1MDEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEZXZpY2VNb3Rpb25Db250cm9sbGVy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFGQjFBNTExMjBBNUQwNjAwREMw
MkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRGV2aWNlTW90aW9uQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtNzg0Nyw2ICs3ODU1LDcgQEAKIAkJMzFGQjFBNjMxMjBBNUQzRjAwREMwMkEwIC8q
IEpTRGV2aWNlTW90aW9uRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNEZXZpY2VNb3Rpb25FdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTMxRkIxQTY0MTIwQTVEM0YwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRGV2aWNlTW90aW9uRXZlbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFGQjFBNkIxMjBBNUQ2OTAwREMwMkEwIC8qIEpT
RGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTMxRkU2RTZDMTUwMUEzQkYwMDA0RUJDNCAvKiBKU05vdGlmaWNhdGlvbkN1
c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05vdGlmaWNh
dGlvbkN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzMTRBQ0U5MTA4
OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNFeGNlcHRpb25CYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMzMxNEFDRUExMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0V4Y2VwdGlvbkJhc2UuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzMzRjcwNEUwRkI0OUNBMjAwOEUxMkE2IC8qIE5v
dGlmaWNhdGlvbi5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gTm90aWZpY2F0aW9uLmlkbDsg
cGF0aCA9IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTE0NTQ1LDYgKzE0NTU0LDggQEAKIAkJCQkzMzUwM0M5OTEwMTc5QTc0MDAz
QjQ3RTEgLyogTm90aWZpY2F0aW9uQ2xpZW50LmggKi8sCiAJCQkJMzEyOENBNjcxNDczMzE1MjAw
NzRDNzJBIC8qIE5vdGlmaWNhdGlvbkNvbnRyb2xsZXIuY3BwICovLAogCQkJCTMxMjhDQTZBMTQ3
MzMxNjMwMDc0QzcyQSAvKiBOb3RpZmljYXRpb25Db250cm9sbGVyLmggKi8sCisJCQkJMzFFQzFE
NTAxNEZFRkQwODAwQzk0NjYyIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwg
Ki8sCisJCQkJMzFFQzFEQUMxNEZGMjZFQTAwQzk0NjYyIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjay5oICovLAogCQkJCTk3RjhFNjYxMTUxRDRBM0YwMEQyRDE4MSAvKiBXb3JrZXJD
b250ZXh0Tm90aWZpY2F0aW9ucy5jcHAgKi8sCiAJCQkJOTdGOEU2NjIxNTFENEEzRjAwRDJEMTgx
IC8qIFdvcmtlckNvbnRleHROb3RpZmljYXRpb25zLmggKi8sCiAJCQkJOTdGOEU2NjMxNTFENEEz
RjAwRDJEMTgxIC8qIFdvcmtlckNvbnRleHROb3RpZmljYXRpb25zLmlkbCAqLywKQEAgLTE0NTU5
LDYgKzE0NTcwLDggQEAKIAkJCQkzMzUwM0NBMDEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmlj
YXRpb24uaCAqLywKIAkJCQkzMzUwM0NBMTEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRp
b25DZW50ZXIuY3BwICovLAogCQkJCTMzNTAzQ0EyMTAxNzlBRDcwMDNCNDdFMSAvKiBKU05vdGlm
aWNhdGlvbkNlbnRlci5oICovLAorCQkJCTMxRUMxRTI2MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5jcHAgKi8sCisJCQkJMzFFQzFFMjcxNEZGNjBF
RTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggKi8sCiAJCQkp
OwogCQkJbmFtZSA9IE5vdGlmaWNhdGlvbnM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpA
QCAtMTk4NjUsNiArMTk4NzgsNyBAQAogCQkJCUJDQjc3MzYwMEMxNzg1M0QwMDEzMkJBNCAvKiBK
U05vZGVGaWx0ZXJDdXN0b20uY3BwICovLAogCQkJCTFBNzUwREQzMEE5MEU3MjkwMDBGRjIxNSAv
KiBKU05vZGVJdGVyYXRvckN1c3RvbS5jcHAgKi8sCiAJCQkJQkNEOUMyNjEwQzE3QUE2NzAwNUM5
MEEyIC8qIEpTTm9kZUxpc3RDdXN0b20uY3BwICovLAorCQkJCTMxRkU2RTZDMTUwMUEzQkYwMDA0
RUJDNCAvKiBKU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAgKi8sCiAJCQkJQTg1RjIyMDgxNDMwMzc3
RDAwN0NDODg0IC8qIEpTUG9wU3RhdGVFdmVudEN1c3RvbS5jcHAgKi8sCiAJCQkJRTFBRDEyRDUx
Mjk1RDBCRDAwQUNBOTg5IC8qIEpTUHJvY2Vzc2luZ0luc3RydWN0aW9uQ3VzdG9tLmNwcCAqLywK
IAkJCQk0OTk4QUVEMzEzRkM0MTdGMDA5MEIxQUEgLyogSlNSZXF1ZXN0QW5pbWF0aW9uRnJhbWVD
YWxsYmFja0N1c3RvbS5jcHAgKi8sCkBAIC0yNDgyMyw2ICsyNDgzNyw4IEBACiAJCQkJRTFCRTUx
MkUwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOTc3RTJFMEYxMkYwRkM5QzAwQzEzMzc5IC8qIFhTU0F1ZGl0b3IuaCBpbiBIZWFkZXJzICov
LAogCQkJCUZENTM3MzUzMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMzFFQzFFMjkxNEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQkzMUZFNkRGQTE1MDA0QzJBMDAwNEVC
QzQgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJ
CSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAg
LTI3ODM3LDYgKzI3ODUzLDggQEAKIAkJCQlFMUJFNTEyRDBDRjZDNTEyMDAyRUE5NTkgLyogWFNM
VFVuaWNvZGVTb3J0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3N0UyRTBFMTJGMEZDOUMwMEMx
MzM3OSAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZENTM3MzUyMTM3QjY1
MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkzMUVDMUUyODE0
RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJMzFGRTZFNkQxNTAxQTNCRjAwMDRFQkM0IC8qIEpTTm90aWZpY2F0
aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3lt
ZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcAppbmRleCBh
MGNhZDg4Yjg0NjljNTYzZTFlNGViNDZjNTUyNmY2ODUxNTFmY2UwLi4zOGM2ODIzMTFiZTdhNDJh
MjFhODk2OTM1NzFlMWM5ZDIwZjUzMmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcApAQCAtMSw1
ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zMCwxNCAr
MzEsMTIgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkpTQ3VzdG9t
Vm9pZENhbGxiYWNrLmgiCiAjaW5jbHVkZSAiSlNFdmVudExpc3RlbmVyLmgiCi0jaW5jbHVkZSAi
SlNOb3RpZmljYXRpb24uaCIKICNpbmNsdWRlICJKU05vdGlmaWNhdGlvbkNlbnRlci5oIgotI2lu
Y2x1ZGUgIk5vdGlmaWNhdGlvbi5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNlbnRlci5oIgog
I2luY2x1ZGUgPHJ1bnRpbWUvRXJyb3IuaD4KIApAQCAtNjgsNiArNjcsNiBAQCBKU1ZhbHVlIEpT
Tm90aWZpY2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbihFeGVjU3RhdGUqIGV4ZWMpCiAg
ICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiB9CiAKLX0gLy8gbmFtZXNwYWNlCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQorI2VuZGlmIC8vIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FU
SU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm90aWZpY2F0
aW9uQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm90aWZpY2F0aW9u
Q3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzk1NzY1NzdhODA4YzEwMWRiOGI3NTU4MDMzOTA0ODM5
NTFmYmYxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNO
b3RpZmljYXRpb25DdXN0b20uY3BwCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpbmNsdWRlICJKU05vdGlmaWNhdGlvbi5oIgorCisjaW5j
bHVkZSAiQ2FsbGJhY2tGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTTm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrLmgiCisjaW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgorCit1c2luZyBuYW1l
c3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0pTVmFsdWUgSlNOb3RpZmljYXRp
b246OnJlcXVlc3RQZXJtaXNzaW9uKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICAvLyBBcmd1bWVu
dHM6IE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaworICAgIGlmICghZXhlYy0+YXJndW1l
bnQoMCkuaXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMpOwor
ICAgIAorICAgIFJlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNhbGxiYWNr
ID0gY3JlYXRlRnVuY3Rpb25Pbmx5Q2FsbGJhY2s8SlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2s+KGV4ZWMsIHN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNh
bEdsb2JhbE9iamVjdCgpKSwgZXhlYy0+YXJndW1lbnQoMCkpOworICAgIGlmIChleGVjLT5oYWRF
eGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisgICAgCisgICAgQVNT
RVJUKGNhbGxiYWNrKTsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRDb250ZXh0
ID0gc3RhdGljX2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2Jq
ZWN0KCkpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CisgICAgTm90aWZpY2F0aW9uOjpyZXF1
ZXN0UGVybWlzc2lvbihzY3JpcHRDb250ZXh0LCBjYWxsYmFjay5yZWxlYXNlKCkpOworICAgIHJl
dHVybiBqc1VuZGVmaW5lZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DdXN0b20uY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjBkZmJjNjBhNWUzZmJlZDEwNjk4MTc4MzRhZWE4MTFlYjVjYTk4ZDIKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DdXN0
b20uY3BwCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUg
SW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykKKyNpbmNsdWRlICJWOE5vdGlmaWNhdGlvbi5oIgorCisjaW5jbHVkZSAiRXhjZXB0aW9u
Q29kZS5oIgorI2luY2x1ZGUgIlY4Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgiCisj
aW5jbHVkZSAiVjhQcm94eS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3Y4OjpIYW5kbGU8
djg6OlZhbHVlPiBWOE5vdGlmaWNhdGlvbjo6cmVxdWVzdFBlcm1pc3Npb25DYWxsYmFjayhjb25z
dCB2ODo6QXJndW1lbnRzJiBhcmdzKQoreworICAgIElOQ19TVEFUUyhMIkRPTS5Ob3RpZmljYXRp
b24ucmVxdWVzdFBlcm1pc3Npb24iKTsKKworICAgIE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9u
ID0gVjhOb3RpZmljYXRpb246OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOworICAgIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQgPSBub3RpZmljYXRpb24tPnNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKTsKKworICAgIGJvb2wgc3VjY2VlZGVkID0gZmFsc2U7CisgICAgUmVmUHRyPFY4Tm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBjYWxsYmFjayA9IGNyZWF0ZUZ1bmN0aW9uT25s
eUNhbGxiYWNrPFY4Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPihhcmdzWzBdLCBzdWNj
ZWVkZWQpOworICAgIGlmICghc3VjY2VlZGVkKQorICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5l
ZCgpOworICAgIEFTU0VSVChjYWxsYmFjayk7CisKKyAgICBOb3RpZmljYXRpb246OnJlcXVlc3RQ
ZXJtaXNzaW9uKGNvbnRleHQsIGNhbGxiYWNrLnJlbGVhc2UoKSk7CisgICAgcmV0dXJuIHY4OjpV
bmRlZmluZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKE5PVElGSUNBVElPTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbi5jcHAKaW5kZXggZjY2ZjJiMGIwYzA0OTkyZThiZjdhZmM3ODcyZDc2Y2Q4NWYzMGNj
OS4uMzdmN2M5NTUyOWU0MTJhZGRjMDNjNDI2MzljYTE4NGFiOTdkMWRjNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcApAQCAtNDMsNiArNDMsOCBA
QAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25DZW50ZXIu
aCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25DbGllbnQuaCIKKyNpbmNsdWRlICJOb3RpZmljYXRp
b25Db250cm9sbGVyLmgiCisjaW5jbHVkZSAiTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNr
LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNw
b25zZS5oIgogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXIuaCIKQEAgLTIzNyw4ICsyMzksMTAg
QEAgdm9pZCBOb3RpZmljYXRpb246OmRpc3BhdGNoRXJyb3JFdmVudCgpCiAjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCiB2b2lkIE5vdGlmaWNhdGlvbjo6dGFza1RpbWVyRmlyZWQoVGltZXI8Tm90
aWZpY2F0aW9uPiogdGltZXIpCiB7CisgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KS0+aXNEb2N1bWVudCgpKTsKKyAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCkpLT5wYWdlKCkpOwogICAgIEFTU0VSVF9VTlVTRUQodGltZXIs
IHRpbWVyID09IG1fdGFza1RpbWVyLmdldCgpKTsKLSAgICBpZiAobV9ub3RpZmljYXRpb25DZW50
ZXItPmNoZWNrUGVybWlzc2lvbigpICE9IE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbkFs
bG93ZWQpIHsKKyAgICBpZiAoTm90aWZpY2F0aW9uQ29udHJvbGxlcjo6ZnJvbShzdGF0aWNfY2Fz
dDxEb2N1bWVudCo+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSktPnBhZ2UoKSktPmNsaWVudCgp
LT5jaGVja1Blcm1pc3Npb24oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSAhPSBOb3RpZmljYXRp
b25DbGllbnQ6OlBlcm1pc3Npb25BbGxvd2VkKSB7CiAgICAgICAgIGRpc3BhdGNoRXJyb3JFdmVu
dCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMjQ2LDYgKzI1MCw0NSBAQCB2b2lkIE5v
dGlmaWNhdGlvbjo6dGFza1RpbWVyRmlyZWQoVGltZXI8Tm90aWZpY2F0aW9uPiogdGltZXIpCiB9
CiAjZW5kaWYKIAorCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCitjb25zdCBTdHJpbmcmIE5v
dGlmaWNhdGlvbjo6cGVybWlzc2lvbkxldmVsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRl
eHQpCit7CisgICAgQVNTRVJUKGNvbnRleHQtPmlzRG9jdW1lbnQoKSk7CisgICAgQVNTRVJUKHN0
YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCktPnBhZ2UoKSk7CisgICAgcmV0dXJuIHN0cmlu
Z0ZvclBlcm1pc3Npb24oTm90aWZpY2F0aW9uQ29udHJvbGxlcjo6ZnJvbShzdGF0aWNfY2FzdDxE
b2N1bWVudCo+KGNvbnRleHQpLT5wYWdlKCkpLT5jbGllbnQoKS0+Y2hlY2tQZXJtaXNzaW9uKGNv
bnRleHQpKTsKK30KKyNlbmRpZgorCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCitjb25zdCBT
dHJpbmcmIE5vdGlmaWNhdGlvbjo6c3RyaW5nRm9yUGVybWlzc2lvbihOb3RpZmljYXRpb25DbGll
bnQ6OlBlcm1pc3Npb24gcGVybWlzc2lvbikKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNv
bnN0IFN0cmluZywgYWxsb3dlZFBlcm1pc3Npb24sICgiZ3JhbnRlZCIpKTsKKyAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgZGVuaWVkUGVybWlzc2lvbiwgKCJkZW5pZWQiKSk7
CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIGRlZmF1bHRQZXJtaXNzaW9u
LCAoImRlZmF1bHQiKSk7CisgICAgc3dpdGNoIChwZXJtaXNzaW9uKSB7CisgICAgY2FzZSBOb3Rp
ZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25BbGxvd2VkOgorICAgICAgICByZXR1cm4gYWxsb3dl
ZFBlcm1pc3Npb247CisgICAgY2FzZSBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25EZW5p
ZWQ6CisgICAgICAgIHJldHVybiBkZW5pZWRQZXJtaXNzaW9uOworICAgIGNhc2UgTm90aWZpY2F0
aW9uQ2xpZW50OjpQZXJtaXNzaW9uTm90QWxsb3dlZDoKKyAgICAgICAgcmV0dXJuIGRlZmF1bHRQ
ZXJtaXNzaW9uOworICAgIH0KKyAgICAKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBy
ZXR1cm4gZGVuaWVkUGVybWlzc2lvbjsKK30KKyNlbmRpZgorCisjaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpCit2b2lkIE5vdGlmaWNhdGlvbjo6cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2s+IGNhbGxiYWNrKQoreworICAgIEFTU0VSVChjb250ZXh0LT5pc0RvY3VtZW50KCkpOwor
ICAgIEFTU0VSVChzdGF0aWNfY2FzdDxEb2N1bWVudCo+KGNvbnRleHQpLT5wYWdlKCkpOworICAg
IE5vdGlmaWNhdGlvbkNvbnRyb2xsZXI6OmZyb20oc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250
ZXh0KS0+cGFnZSgpKS0+Y2xpZW50KCktPnJlcXVlc3RQZXJtaXNzaW9uKGNvbnRleHQsIGNhbGxi
YWNrKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKaW5kZXggNzJhZmU4NGU1
Nzc3Zjc1ZTE4ZGRhNTZlMzZjNDY2MjE4MjlmNDA5YS4uN2Q1NjJjZDMxNGI5MWE1OTEzNGQwZDQ5
NzUzYmM0YTQ5Y2YwYmUwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbi5oCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2lu
Y2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiS1VSTC5oIgorI2luY2x1ZGUgIk5vdGlm
aWNhdGlvbkNsaWVudC5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgogI2luY2x1ZGUgIlRl
eHREaXJlY3Rpb24uaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgiCkBAIC01
NCw2ICs1NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRGljdGlvbmFyeTsKIGNs
YXNzIE5vdGlmaWNhdGlvbkNlbnRlcjsKK2NsYXNzIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxs
YmFjazsKIGNsYXNzIFJlc291cmNlRXJyb3I7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xh
c3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKQEAgLTEzNSw2ICsxMzcsMTIgQEAgcHVibGljOgog
CiAgICAgdm9pZCBmaW5hbGl6ZSgpOwogCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisgICAg
c3RhdGljIGNvbnN0IFN0cmluZyYgcGVybWlzc2lvbkxldmVsKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqKTsKKyAgICBzdGF0aWMgY29uc3QgU3RyaW5nJiBzdHJpbmdGb3JQZXJtaXNzaW9uKE5vdGlm
aWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbik7CisgICAgc3RhdGljIHZvaWQgcmVxdWVzdFBlcm1p
c3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrPik7CisjZW5kaWYKKwogcHJpdmF0ZToKICNpZiBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCiAgICAgTm90aWZpY2F0aW9uKGNvbnN0IEtVUkwmLCBTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiwgRXhjZXB0aW9uQ29kZSYsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2Vu
dGVyPik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwK
aW5kZXggMDc5ZjEzZWNhMzE4MzZiMWU0MmIzOTQ1MjQ3ZjE0ZDk4NzNiZGZhYi4uZGEyZWI3ZjI0
NWY5ZjU2YzZlYjNiNzU1YThkNjY2NWRjYjRiZTMzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbApAQCAtNTAsNiArNTAsMTIgQEAgbW9kdWxlIHRo
cmVhZHMgewogICAgICAgICB2b2lkIGNsb3NlKCk7CiAjZW5kaWYKIAorCisjaWYgZGVmaW5lZChF
TkFCTEVfTk9USUZJQ0FUSU9OUykgJiYgRU5BQkxFX05PVElGSUNBVElPTlMKKyAgICAgICAgW0Nh
bGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHN0YXRpYyBET01TdHJpbmcgcGVybWlzc2lv
bkxldmVsKCk7CisgICAgICAgIFtDdXN0b21dIHN0YXRpYyB2b2lkIHJlcXVlc3RQZXJtaXNzaW9u
KGluIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjayBjYWxsYmFjayk7CisjZW5kaWYKKwog
ICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnNob3c7CiAjaWYgZGVmaW5lZChFTkFC
TEVfTEVHQUNZX05PVElGSUNBVElPTlMpICYmIEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUwog
ICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmRpc3BsYXk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAKaW5kZXggZWM1
YzhlYzE1MjBmMWM5MzA5MWJmNTVlOTg5MjhmMjFiZjRhYjdhMi4uMGViYjU0NzQwMDk1ZTU2YmZm
NjcwODJjYWRlZmYxZmYzYjZjNTg2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcApAQCAtNTUsNiArNTUsNyBAQCBOb3RpZmlj
YXRpb25DZW50ZXI6Ok5vdGlmaWNhdGlvbkNlbnRlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0LCBOb3RpZmljYQogewogfQogCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05T
KQogaW50IE5vdGlmaWNhdGlvbkNlbnRlcjo6Y2hlY2tQZXJtaXNzaW9uKCkKIHsKICAgICBpZiAo
IWNsaWVudCgpIHx8ICFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCkBAIC03Miw3ICs3Myw5IEBA
IGludCBOb3RpZmljYXRpb25DZW50ZXI6OmNoZWNrUGVybWlzc2lvbigpCiAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIG1fY2xpZW50LT5jaGVja1Blcm1pc3Npb24oc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpKTsKIH0KKyNlbmRpZgogCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQogdm9pZCBOb3RpZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9uKFBh
c3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFjaykKIHsKICAgICBpZiAoIWNsaWVudCgpIHx8
ICFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCkBAIC05MSw2ICs5NCw3IEBAIHZvaWQgTm90aWZp
Y2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbihQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4g
Y2FsbGJhY2spCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgbV9jbGllbnQtPnJlcXVl
c3RQZXJtaXNzaW9uKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgY2FsbGJhY2spOwogfQorI2Vu
ZGlmCiAKIHZvaWQgTm90aWZpY2F0aW9uQ2VudGVyOjpzdG9wKCkKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oCmluZGV4IDQ5Mjk5ZTFh
MDJhOTExZTkzMDYyNWQzMmZhNjQ4MzNkYmNjM2ExZWYuLjNmNmQ2ODkwMmYzMDU3NWM4MDdiYTNj
MjEwMjFkOTcwNTM3YTUxZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uQ2VudGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25DZW50ZXIuaApAQCAtODEsOCArODEsMTAgQEAgcHVibGljOgogCiAgICAg
Tm90aWZpY2F0aW9uQ2xpZW50KiBjbGllbnQoKSBjb25zdCB7IHJldHVybiBtX2NsaWVudDsgfQog
CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIGludCBjaGVja1Blcm1pc3Np
b24oKTsKICAgICB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNr
Pik7CisjZW5kaWYKIAogICAgIHZpcnR1YWwgdm9pZCBzdG9wKCkgT1ZFUlJJREU7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbApp
bmRleCBlNTA4NDQ3ZDQ5ZWJhYTQxOWNmZTcyNTAwMjRjOTMxMTYyZWVkZDdlLi4xNGY4OThjZWEx
MTU4OTM4YWVjYzhjMjcyYmU3MGY3OTQ1MDg2YzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsCkBAIC00Myw4ICs0MywxMCBA
QCBtb2R1bGUgdGhyZWFkcyB7CiAgICAgICAgW1Y4Q3VzdG9tXSBOb3RpZmljYXRpb24gY3JlYXRl
Tm90aWZpY2F0aW9uKGluIERPTVN0cmluZyBpY29uVXJsLCBpbiBET01TdHJpbmcgdGl0bGUsIGlu
IERPTVN0cmluZyBib2R5KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICNlbmRpZgogCisjaWYgZGVm
aW5lZChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICYmIEVOQUJMRV9MRUdBQ1lfTk9USUZJ
Q0FUSU9OUwogICAgICAgIGludCBjaGVja1Blcm1pc3Npb24oKTsKICAgICAgICBbQ3VzdG9tXSB2
b2lkIHJlcXVlc3RQZXJtaXNzaW9uKGluIFZvaWRDYWxsYmFjayBjYWxsYmFjayk7CisjZW5kaWYK
ICAgICB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbkNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25DbGllbnQuaAppbmRleCBjMWIzMzliMzRhNmM3NzBmOTZmNzllYzg1NGUyYjIwODA5OWJk
MWQwLi42Y2QxNzE3NTllNzhhNzdkZGQ0NGQ5NDRkZTM0ZjlmMTg0ZGJhNWMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2xpZW50LmgKQEAgLTM4
LDggKzM4LDkgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7Ci1jbGFz
cyBOb3RpZmljYXRpb247CiBjbGFzcyBLVVJMOworY2xhc3MgTm90aWZpY2F0aW9uOworY2xhc3Mg
Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrOwogY2xhc3MgUGFnZTsKIGNsYXNzIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ7CiAKQEAgLTcwLDEwICs3MSwxNSBAQCBwdWJsaWM6CiAgICAgLy8g
SW5mb3JtcyB0aGUgcHJlc2VudGVyIHRoZSBjb250cm9sbGVyIGF0dGFjaGVkIHRvIHRoZSBwYWdl
IGhhcyBiZWVuIGRlc3Ryb3llZC4KICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uQ29udHJv
bGxlckRlc3Ryb3llZCgpID0gMDsKIAorI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykK
ICAgICAvLyBSZXF1ZXN0cyB1c2VyIHBlcm1pc3Npb24gdG8gc2hvdyBkZXNrdG9wIG5vdGlmaWNh
dGlvbnMgZnJvbSBhIHBhcnRpY3VsYXIKICAgICAvLyBzY3JpcHQgY29udGV4dC4gVGhlIGNhbGxi
YWNrIHBhcmFtZXRlciBzaG91bGQgYmUgcnVuIHdoZW4gdGhlIHVzZXIgaGFzCiAgICAgLy8gbWFk
ZSBhIGRlY2lzaW9uLgogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+KSA9IDA7CisjZW5kaWYK
KyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1p
c3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrPikgPSAwOworI2VuZGlmCiAKICAgICAvLyBDYW5jZWwgYWxsIG91dHN0
YW5kaW5nIHJlcXVlc3RzIGZvciB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dAogICAgIHZpcnR1
YWwgdm9pZCBjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCopID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0ZTczMmE3Zjlh
Mjk5OWQyNmYyYjc4ZGRiYTNmNjI5MDA4YmY2ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oCkBA
IC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNh
bGxiYWNrX2gKKyNkZWZpbmUgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrX2gKKworI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKQorCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjayA6IHB1YmxpYyBSZWZDb3VudGVkPE5vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjaz4geworcHVibGljOgorICAgIHZpcnR1YWwgfk5vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjaygpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVFdmVu
dChjb25zdCBTdHJpbmcmIHBlcm1pc3Npb24pID0gMDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKQorCisjZW5kaWYgLy8gTm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlk
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xZjExMTYxMmUyNDBjZWNhYTE5ZmI1ZWE3MWFhY2Q3ZDI2MDkzYzIwCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVs
ZSB0aHJlYWRzIHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPU5PVElG
SUNBVElPTlMsCisgICAgICAgIENhbGxiYWNrCisgICAgXSBOb3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2sgeworICAgICAgICBib29sZWFuIGhhbmRsZUV2ZW50KGluIERPTVN0cmluZyBwZXJt
aXNzaW9uKTsKKyAgICB9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCmluZGV4IDVkZmEwNDZkZmRmZjU0
M2MxZTIwOTQyOGQzOGI4YzhkNDdiZjMyMmIuLjk0NTM1ZDM2MTVkMTk1NTUzYTMzOGMwZjMyOWI2
ZmY2MzEzMTFlNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCkBAIC0zNCwxMSArMzQsMTMgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTm90aWZpY2F0aW9uOworY2xhc3MgTm90aWZpY2F0aW9u
UGVybWlzc2lvbkNhbGxiYWNrOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIGNsYXNz
IFZvaWRDYWxsYmFjazsKIH0KIAogQGNsYXNzIFdlYk5vdGlmaWNhdGlvbjsKK0BjbGFzcyBXZWJO
b3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lcjsKIEBjbGFzcyBXZWJWaWV3OwogCiBjbGFzcyBXZWJO
b3RpZmljYXRpb25DbGllbnQgOiBwdWJsaWMgV2ViQ29yZTo6Tm90aWZpY2F0aW9uQ2xpZW50IHsK
QEAgLTUyLDEwICs1NCwxOSBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBjbGVhck5vdGlm
aWNhdGlvbnMoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIE9WRVJSSURFOwogICAg
IHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25PYmplY3REZXN0cm95ZWQoV2ViQ29yZTo6Tm90aWZp
Y2F0aW9uKikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmaWNhdGlvbkNvbnRyb2xs
ZXJEZXN0cm95ZWQoKSBPVkVSUklERTsKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4pIE9WRVJSSURF
OworI2VuZGlmCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisgICAgdmlydHVhbCB2b2lkIHJl
cXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVm
UHRyPFdlYkNvcmU6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4pIE9WRVJSSURFOwor
I2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbihXZWJD
b3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgT1ZFUlJJREUgeyB9CiAgICAgdmlydHVhbCBX
ZWJDb3JlOjpOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gY2hlY2tQZXJtaXNzaW9uKFdl
YkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBPVkVSUklERTsKIAorI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAgdm9pZCBy
ZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV2ViTm90
aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgKik7CisjZW5kaWYKKwogICAgIFdlYlZpZXcgKm1fd2Vi
VmlldzsKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQogICAgIEhhc2hNYXA8UmVmUHRyPFdlYkNvcmU6Ok5vdGlmaWNhdGlvbj4sIFJldGFp
blB0cjxXZWJOb3RpZmljYXRpb24+ID4gbV9ub3RpZmljYXRpb25NYXA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQubW0g
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQu
bW0KaW5kZXggYzhiMWUyZDFlMzdhMDEyMGI4OTA3MDBhOWJkNTg2NmZmODU2YTgxZi4uMDY4NmZl
NTNhNzVkZjEwOTA1OTE5ZjMzODA0ZGM0Mjc0OTBmNWQ4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5tbQpA
QCAtMzcsMTQgKzM3LDMyIEBACiAjaW1wb3J0IDxXZWJDb3JlL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaD4KICNlbmRpZgogCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaW1wb3J0IDxXZWJD
b3JlL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oPgorI2VuZGlmCisjaWYgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQorI2ltcG9ydCA8V2ViQ29yZS9Wb2lkQ2FsbGJhY2suaD4K
KyNlbmRpZgorCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiBAaW50ZXJmYWNlIFdlYk5v
dGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIDogTlNPYmplY3QgPFdlYkFsbG93RGVueVBvbGljeUxp
c3RlbmVyPgogewotICAgIFJlZlB0cjxWb2lkQ2FsbGJhY2s+IF9jYWxsYmFjazsKKyNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKKyAgICBSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxi
YWNrPiBfY2FsbGJhY2s7CisjZW5kaWYKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CisgICAgUmVmUHRyPFZvaWRDYWxsYmFjaz4gX3ZvaWRDYWxsYmFjazsKKyNlbmRpZgogfQotLSAo
aWQpaW5pdFdpdGhDYWxsYmFjazooUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+KWNhbGxiYWNrOwor
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorLSAoaWQpaW5pdFdpdGhDYWxsYmFjazooUGFzc1Jl
ZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KWNhbGxiYWNrOworI2VuZGlmCisj
aWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorLSAoaWQpaW5pdFdpdGhWb2lkQ2FsbGJh
Y2s6KFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiljYWxsYmFjazsKKyNlbmRpZgorCiBAZW5kCiAj
ZW5kaWYKIApAQCAtMTQ4LDI5ICsxNjYsNDIgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6
Om5vdGlmaWNhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKQogICAgIGRlbGV0ZSB0aGlzOwogfQog
Ci12b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNr
KQotewogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNB
VElPTlMpCi0gICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJT05TOwotICAgIAordm9pZCBXZWJO
b3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGNvbnRleHQsIFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyICpsaXN0ZW5lcikKK3sK
ICAgICBTRUwgc2VsZWN0b3IgPSBAc2VsZWN0b3Iod2ViVmlldzpkZWNpZGVQb2xpY3lGb3JOb3Rp
ZmljYXRpb25SZXF1ZXN0RnJvbU9yaWdpbjpsaXN0ZW5lcjopOwogICAgIGlmICghW1ttX3dlYlZp
ZXcgVUlEZWxlZ2F0ZV0gcmVzcG9uZHNUb1NlbGVjdG9yOnNlbGVjdG9yXSkKICAgICAgICAgcmV0
dXJuOwogICAgIAogICAgIFdlYlNlY3VyaXR5T3JpZ2luICp3ZWJPcmlnaW4gPSBbW1dlYlNlY3Vy
aXR5T3JpZ2luIGFsbG9jXSBfaW5pdFdpdGhXZWJDb3JlU2VjdXJpdHlPcmlnaW46Y29udGV4dC0+
c2VjdXJpdHlPcmlnaW4oKV07Ci0gICAgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIqIGxp
c3RlbmVyID0gW1tXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciBhbGxvY10gaW5pdFdpdGhD
YWxsYmFjazpjYWxsYmFja107CiAgICAgCiAgICAgQ2FsbFVJRGVsZWdhdGUobV93ZWJWaWV3LCBz
ZWxlY3Rvciwgd2ViT3JpZ2luLCBsaXN0ZW5lcik7CiAgICAgCiAgICAgW3dlYk9yaWdpbiByZWxl
YXNlXTsKK30KKyNlbmRpZgorCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQordm9p
ZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFjaykKK3sK
KyAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CisgICAgV2ViTm90aWZpY2F0aW9uUG9s
aWN5TGlzdGVuZXIgKmxpc3RlbmVyID0gW1tXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciBh
bGxvY10gaW5pdFdpdGhWb2lkQ2FsbGJhY2s6Y2FsbGJhY2tdOworICAgIHJlcXVlc3RQZXJtaXNz
aW9uKGNvbnRleHQsIGxpc3RlbmVyKTsKICAgICBbbGlzdGVuZXIgcmVsZWFzZV07Ci0gICAgCiAg
ICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGNv
bnRleHQpOwotICAgIFVOVVNFRF9QQVJBTShjYWxsYmFjayk7Cit9CiAjZW5kaWYKKworI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKQordm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQ
ZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8Tm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBjYWxsYmFjaykKK3sKKyAgICBCRUdJTl9CTE9D
S19PQkpDX0VYQ0VQVElPTlM7CisgICAgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgKmxp
c3RlbmVyID0gW1tXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciBhbGxvY10gaW5pdFdpdGhD
YWxsYmFjazpjYWxsYmFja107CisgICAgcmVxdWVzdFBlcm1pc3Npb24oY29udGV4dCwgbGlzdGVu
ZXIpOworICAgIFtsaXN0ZW5lciByZWxlYXNlXTsKKyAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJ
T05TOwogfQorI2VuZGlmCiAKIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBXZWJOb3Rp
ZmljYXRpb25DbGllbnQ6OmNoZWNrUGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0KQogewpAQCAtMjAwLDcgKzIzMSw5IEBAIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlz
c2lvbiBXZWJOb3RpZmljYXRpb25DbGllbnQ6OmNoZWNrUGVybWlzc2lvbihTY3JpcHRFeGVjCiAK
ICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05T
KQogQGltcGxlbWVudGF0aW9uIFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyCi0tIChpZClp
bml0V2l0aENhbGxiYWNrOihQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pY2FsbGJhY2sKKworI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKQorLSAoaWQpaW5pdFdpdGhDYWxsYmFjazooUGFzc1JlZlB0
cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KWNhbGxiYWNrCiB7CiAgICAgaWYgKCEo
c2VsZiA9IFtzdXBlciBpbml0XSkpCiAgICAgICAgIHJldHVybiBuaWw7CkBAIC0yMDksMTUgKzI0
Miw0NCBAQCBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gV2ViTm90aWZpY2F0aW9uQ2xp
ZW50OjpjaGVja1Blcm1pc3Npb24oU2NyaXB0RXhlYwogICAgIF9jYWxsYmFjayA9IGNhbGxiYWNr
OwogICAgIHJldHVybiBzZWxmOwogfQorI2VuZGlmCisKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpCistIChpZClpbml0V2l0aFZvaWRDYWxsYmFjazooUGFzc1JlZlB0cjxWb2lkQ2Fs
bGJhY2s+KWNhbGxiYWNrCit7CisgICAgaWYgKCEoc2VsZiA9IFtzdXBlciBpbml0XSkpCisgICAg
ICAgIHJldHVybiBuaWw7CisKKyAgICBBU1NFUlQoY2FsbGJhY2spOworICAgIF92b2lkQ2FsbGJh
Y2sgPSBjYWxsYmFjazsKKyAgICByZXR1cm4gc2VsZjsKK30KKyNlbmRpZgogCiAtICh2b2lkKWFs
bG93CiB7Ci0gICAgX2NhbGxiYWNrLT5oYW5kbGVFdmVudCgpOworI2lmIEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykKKyAgICBpZiAoX3ZvaWRDYWxsYmFjaykgeworICAgICAgICBfdm9pZENh
bGxiYWNrLT5oYW5kbGVFdmVudCgpOworICAgICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCisj
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisgICAgX2NhbGxiYWNrLT5oYW5kbGVFdmVudChOb3Rp
ZmljYXRpb246OnN0cmluZ0ZvclBlcm1pc3Npb24oTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNz
aW9uQWxsb3dlZCkpOworI2VuZGlmCiB9CiAKIC0gKHZvaWQpZGVueQogewotICAgIF9jYWxsYmFj
ay0+aGFuZGxlRXZlbnQoKTsKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAg
aWYgKF92b2lkQ2FsbGJhY2spIHsKKyAgICAgICAgX3ZvaWRDYWxsYmFjay0+aGFuZGxlRXZlbnQo
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKQorICAgIF9jYWxsYmFjay0+aGFuZGxlRXZlbnQoTm90aWZpY2F0aW9uOjpzdHJpbmdGb3JQ
ZXJtaXNzaW9uKE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbkRlbmllZCkpOworI2VuZGlm
CiB9CiAKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlci5jcHAKaW5kZXggZmU2NmU1NmU5NDllZDQzZGJlNjkzZGQ3OWZiMjJmNjYx
NjA4ZmE0ZS4uNjY2NGRkMWE4MTAyMDkyMTU3NDI0NjY3ZGI5Yjg4YjZjY2U5MzUzNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5j
cHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
QEAgLTU5LDExICs1OSwxMiBAQCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6
Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcihXZWJQYQogewogfQogCi12b2lk
IE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6c3RhcnRSZXF1ZXN0KFNlY3Vy
aXR5T3JpZ2luKiBvcmlnaW4sIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFjaykKKyNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKK3ZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyOjpzdGFydFJlcXVlc3QoU2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwgUGFzc1JlZlB0
cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNhbGxiYWNrKQogewotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0gICAgaWYg
KHBlcm1pc3Npb25MZXZlbChvcmlnaW4pICE9IE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lv
bk5vdEFsbG93ZWQpIHsKLSAgICAgICAgY2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7CisgICAgTm90
aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIHBlcm1pc3Npb24gPSBwZXJtaXNzaW9uTGV2ZWwo
b3JpZ2luKTsKKyAgICBpZiAocGVybWlzc2lvbiAhPSBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1p
c3Npb25Ob3RBbGxvd2VkKSB7CisgICAgICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVudChOb3RpZmlj
YXRpb246OnN0cmluZ0ZvclBlcm1pc3Npb24ocGVybWlzc2lvbikpOwogICAgICAgICByZXR1cm47
CiAgICAgfQogCkBAIC03MiwxMSArNzMsMjUgQEAgdm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9u
UmVxdWVzdE1hbmFnZXI6OnN0YXJ0UmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2luLAogICAg
IG1faWRUb09yaWdpbk1hcC5zZXQocmVxdWVzdElELCBvcmlnaW4pOwogICAgIG1faWRUb0NhbGxi
YWNrTWFwLnNldChyZXF1ZXN0SUQsIGNhbGxiYWNrKTsKICAgICBtX3BhZ2UtPnNlbmQoTWVzc2Fn
ZXM6OldlYlBhZ2VQcm94eTo6UmVxdWVzdE5vdGlmaWNhdGlvblBlcm1pc3Npb24ocmVxdWVzdElE
LCBvcmlnaW4tPnRvU3RyaW5nKCkpKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKG9yaWdpbik7
Ci0gICAgVU5VU0VEX1BBUkFNKGNhbGxiYWNrKTsKK30KICNlbmRpZgorCisjaWYgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQordm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXI6OnN0YXJ0UmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2luLCBQYXNzUmVmUHRyPFZv
aWRDYWxsYmFjaz4gY2FsbGJhY2spCit7CisgICAgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNz
aW9uIHBlcm1pc3Npb24gPSBwZXJtaXNzaW9uTGV2ZWwob3JpZ2luKTsKKyAgICBpZiAocGVybWlz
c2lvbiAhPSBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25Ob3RBbGxvd2VkKSB7CisgICAg
ICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVudCgpOworICAgICAgICByZXR1cm47CisgICAgfQorICAg
IAorICAgIHVpbnQ2NF90IHJlcXVlc3RJRCA9IGdlbmVyYXRlUmVxdWVzdElEKCk7CisgICAgbV9v
cmlnaW5Ub0lETWFwLnNldChvcmlnaW4sIHJlcXVlc3RJRCk7CisgICAgbV9pZFRvT3JpZ2luTWFw
LnNldChyZXF1ZXN0SUQsIG9yaWdpbik7CisgICAgbV9pZFRvVm9pZENhbGxiYWNrTWFwLnNldChy
ZXF1ZXN0SUQsIGNhbGxiYWNrKTsKKyAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQ
cm94eTo6UmVxdWVzdE5vdGlmaWNhdGlvblBlcm1pc3Npb24ocmVxdWVzdElELCBvcmlnaW4tPnRv
U3RyaW5nKCkpKTsKIH0KKyNlbmRpZgogCiB2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlcjo6Y2FuY2VsUmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2luKQogewpAQCAt
ODYsNyArMTAxLDEyIEBAIHZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
OjpjYW5jZWxSZXF1ZXN0KFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiAgICAgICAgIHJldHVybjsK
ICAgICAKICAgICBtX2lkVG9PcmlnaW5NYXAucmVtb3ZlKGlkKTsKKyNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKICAgICBtX2lkVG9DYWxsYmFja01hcC5yZW1vdmUoaWQpOworI2VuZGlmCisjaWYg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorICAgIG1faWRUb1ZvaWRDYWxsYmFja01hcC5y
ZW1vdmUoaWQpOworI2VuZGlmCiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShvcmlnaW4pOwogI2Vu
ZGlmCkBAIC0xMTEsMTEgKzEzMSwxOSBAQCB2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlcjo6ZGlkUmVjZWl2ZU5vdGlmaWNhdGlvblBlcm1pc3Npb25EZWNpcwogICAgIGlm
ICghaXNSZXF1ZXN0SURWYWxpZChyZXF1ZXN0SUQpKQogICAgICAgICByZXR1cm47CiAKLSAgICBS
ZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFjayA9IG1faWRUb0NhbGxiYWNrTWFwLnRha2UocmVx
dWVzdElEKTsKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAgUmVmUHRyPFZv
aWRDYWxsYmFjaz4gdm9pZENhbGxiYWNrID0gbV9pZFRvVm9pZENhbGxiYWNrTWFwLnRha2UocmVx
dWVzdElEKTsKKyAgICBpZiAodm9pZENhbGxiYWNrKSB7CisgICAgICAgIHZvaWRDYWxsYmFjay0+
aGFuZGxlRXZlbnQoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorCisgICAgUmVm
UHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4gY2FsbGJhY2sgPSBtX2lkVG9DYWxs
YmFja01hcC50YWtlKHJlcXVlc3RJRCk7CiAgICAgaWYgKCFjYWxsYmFjaykKICAgICAgICAgcmV0
dXJuOwogICAgIAotICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVudCgpOworICAgIGNhbGxiYWNrLT5o
YW5kbGVFdmVudChOb3RpZmljYXRpb246OnN0cmluZ0ZvclBlcm1pc3Npb24oYWxsb3dlZCA/IE5v
dGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbkFsbG93ZWQgOiBOb3RpZmljYXRpb25DbGllbnQ6
OlBlcm1pc3Npb25EZW5pZWQpKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKHJlcXVlc3RJRCk7
CiAgICAgVU5VU0VEX1BBUkFNKGFsbG93ZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNh
dGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oCmluZGV4IDAzOTc4NzliYTZiZjUxNjZjODUw
ODU5NDZmMDRmNmVmMjNkMGVlNjAuLjNiMzc5OWFlM2JmYmEwNTAwMzA5ODAwNThiNjVlZjdjNDIw
M2QwMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAx
MiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTI3LDYgKzI3LDcgQEAKICNkZWZpbmUgTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyX2gKIAogI2luY2x1ZGUgPFdlYkNvcmUvTm90aWZpY2F0aW9uQ2xpZW50
Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1ZvaWRDYWxsYmFjay5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTQ1LDggKzQ2LDEzIEBAIGNsYXNz
IFdlYlBhZ2U7CiBjbGFzcyBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIgOiBw
dWJsaWMgUmVmQ291bnRlZDxOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI+IHsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVx
dWVzdE1hbmFnZXI+IGNyZWF0ZShXZWJQYWdlKik7Ci0gICAgCisKKyNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKKyAgICB2b2lkIHN0YXJ0UmVxdWVzdChXZWJDb3JlOjpTZWN1cml0eU9yaWdpbios
IFBhc3NSZWZQdHI8V2ViQ29yZTo6Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPik7Cisj
ZW5kaWYKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgdm9pZCBzdGFydFJl
cXVlc3QoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qLCBQYXNzUmVmUHRyPFdlYkNvcmU6OlZvaWRD
YWxsYmFjaz4pOworI2VuZGlmCiAgICAgdm9pZCBjYW5jZWxSZXF1ZXN0KFdlYkNvcmU6OlNlY3Vy
aXR5T3JpZ2luKik7CiAgICAgCiAgICAgLy8gU3luY2hyb25vdXMgY2FsbCB0byByZXRyaWV2ZSBw
ZXJtaXNzaW9uIGxldmVsIGZvciBnaXZlbiBzZWN1cml0eSBvcmlnaW4KQEAgLTU2LDggKzYyLDEz
IEBAIHB1YmxpYzoKICAgICAKIHByaXZhdGU6CiAgICAgTm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyKFdlYlBhZ2UqKTsKLSAgICAKLSAgICBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQ
dHI8V2ViQ29yZTo6Vm9pZENhbGxiYWNrPiA+IG1faWRUb0NhbGxiYWNrTWFwOworCisjaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpCisgICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYkNvcmU6
Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4gPiBtX2lkVG9DYWxsYmFja01hcDsKKyNl
bmRpZgorI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICBIYXNoTWFwPHVpbnQ2
NF90LCBSZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxiYWNrPiA+IG1faWRUb1ZvaWRDYWxsYmFja01h
cDsKKyNlbmRpZgogICAgIEhhc2hNYXA8UmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPiwg
dWludDY0X3Q+IG1fb3JpZ2luVG9JRE1hcDsKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQdHI8
V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+ID4gbV9pZFRvT3JpZ2luTWFwOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9u
TWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2Vi
Tm90aWZpY2F0aW9uTWFuYWdlci5jcHAKaW5kZXggZTEwY2FjYjBhNjFjMzQwMmY5NjJlYWViNWFm
NjVjZjE4MjFiNmU5YS4uMmQ2NjdlZjVlMTcyYjFkOGNjZDg2M2U0MTcxYzZmNGI0MzRkMTg5NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5v
dGlmaWNhdGlvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90
aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcApAQCAtMTE3LDggKzExNywxMiBA
QCBib29sIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OnNob3coTm90aWZpY2F0aW9uKiBub3RpZmlj
YXRpb24sIFdlYlBhZ2UqIHBhZ2UpCiAgICAgCiAgICAgTm90aWZpY2F0aW9uQ29udGV4dE1hcDo6
aXRlcmF0b3IgaXQgPSBtX25vdGlmaWNhdGlvbkNvbnRleHRNYXAuYWRkKG5vdGlmaWNhdGlvbi0+
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBWZWN0b3I8dWludDY0X3Q+KCkpLml0ZXJhdG9yOwog
ICAgIGl0LT5zZWNvbmQuYXBwZW5kKG5vdGlmaWNhdGlvbklEKTsKLSAgICAKKworI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQorICAgIG1fcHJvY2Vzcy0+Y29ubmVjdGlvbigpLT5zZW5kKE1lc3Nh
Z2VzOjpXZWJQYWdlUHJveHk6OlNob3dOb3RpZmljYXRpb24obm90aWZpY2F0aW9uLT50aXRsZSgp
LCBub3RpZmljYXRpb24tPmJvZHkoKSwgbm90aWZpY2F0aW9uLT5pY29uVVJMKCkuc3RyaW5nKCks
IG5vdGlmaWNhdGlvbi0+dGFnKCksIG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpLT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmluZygpLCBub3RpZmljYXRpb25JRCksIHBhZ2Ut
PnBhZ2VJRCgpKTsKKyNlbHNlCiAgICAgbV9wcm9jZXNzLT5jb25uZWN0aW9uKCktPnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2VQcm94eTo6U2hvd05vdGlmaWNhdGlvbihub3RpZmljYXRpb24tPnRpdGxl
KCksIG5vdGlmaWNhdGlvbi0+Ym9keSgpLCBub3RpZmljYXRpb24tPmljb25VUkwoKS5zdHJpbmco
KSwgbm90aWZpY2F0aW9uLT5yZXBsYWNlSWQoKSwgbm90aWZpY2F0aW9uLT5zY3JpcHRFeGVjdXRp
b25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCktPnRvU3RyaW5nKCksIG5vdGlmaWNhdGlvbklE
KSwgcGFnZS0+cGFnZUlEKCkpOworI2VuZGlmCiAgICAgcmV0dXJuIHRydWU7CiAjZWxzZQogICAg
IHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmNwcAppbmRleCA4
YWM3OGQ1ZjQ0NjcyNzk4M2Y5YjI1ZWE1OTgxMTAzYzlkMzZkNzc4Li43OWJhYzFhZTljNjQzOTUz
MzBhZDdlODA3NWFiYTFjMTNjNTdmZmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGll
bnQuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC03MiwxMCArNzIsMTkgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6Om5vdGlm
aWNhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKQogICAgIGRlbGV0ZSB0aGlzOwogfQogCisjaWYg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6
OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NS
ZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFjaykKIHsKICAgICBtX3BhZ2UtPm5vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcigpLT5zdGFydFJlcXVlc3QoY29udGV4dC0+c2VjdXJp
dHlPcmlnaW4oKSwgY2FsbGJhY2spOwogfQorI2VuZGlmCisKKyNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykKK3ZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlzc2lvbihTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjaz4gY2FsbGJhY2spCit7CisgICAgbV9wYWdlLT5ub3RpZmljYXRpb25QZXJt
aXNzaW9uUmVxdWVzdE1hbmFnZXIoKS0+c3RhcnRSZXF1ZXN0KGNvbnRleHQtPnNlY3VyaXR5T3Jp
Z2luKCksIGNhbGxiYWNrKTsKK30KKyNlbmRpZgogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVu
dDo6Y2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaAppbmRleCA0NmViMmE1ZDg4
ODkwNjZjYjA0MzQ2MmExMTQ5MWI1OTI0NTc1Y2FiLi5kZTMwYjBlOWVmN2VkNjBhMDU3YWZhYjY1
YjlmNzVkNzU2MGE5MGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMxLDYg
KzMxLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL05vdGlmaWNhdGlvbkNsaWVudC5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CitjbGFzcyBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s7CiBj
bGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgVm9pZENhbGxiYWNrOwogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpAQCAtNTAsNyArNTEsMTIgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFs
IHZvaWQgY2xlYXJOb3RpZmljYXRpb25zKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVk
KFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiopIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBub3Rp
ZmljYXRpb25Db250cm9sbGVyRGVzdHJveWVkKCkgT1ZFUlJJREU7CisjaWYgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJD
b3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpWb2lkQ2Fs
bGJhY2s+KSBPVkVSUklERTsKKyNlbmRpZgorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorICAg
IHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2s+KSBPVkVSUklERTsKKyNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxSZXF1ZXN0c0Zv
clBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIE9WRVJSSURFOwog
ICAgIHZpcnR1YWwgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lv
bihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgT1ZFUlJJREU7CiAgICAgCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139343</attachid>
            <date>2012-04-27 23:40:16 -0700</date>
            <delta_ts>2012-04-28 13:00:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80485-20120427234232.patch</filename>
            <type>text/plain</type>
            <size>71217</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1NTQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjg4NmQyMjllNjBiZDk4
ZDlhYmJiNTBiYWU5ZTQ3MjAwMjI0MDliMS4uNzRjOGQ1MjJlM2JmZGMzMmI4NjJiZGZlYmZiOWZk
NDBhM2Y1YTY2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEyLTA0LTI3ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVu
Y3Rpb25zIHRvIE5vdGlmaWNhdGlvbiBmcm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzEwOTY1NDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsOiBBZGQgcGVy
bWlzc2lvbiBmdW5jdGlvbnMuCisKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5jcHA6IE5ldyBwZXJtaXNzaW9uIGZ1bmN0aW9ucyBhcmUgd3JhcHBlZCB3aXRoIEVOQUJMRShO
T1RJRklDQVRJT05TKQorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjp0YXNrVGltZXJG
aXJlZCk6IFVzZSB0aGUgbmV3IHBlcm1pc3Npb24gZnVuY3Rpb25zIHRvIGRldGVybWluZSB3aGV0
aGVyIHdlIGNhbiBzaG93IHRoZQorICAgICAgICBub3RpZmljYXRpb24uCisgICAgICAgIChXZWJD
b3JlOjpOb3RpZmljYXRpb246OnBlcm1pc3Npb25MZXZlbCk6CisgICAgICAgIChXZWJDb3JlOjpO
b3RpZmljYXRpb246OnN0cmluZ0ZvclBlcm1pc3Npb24pOiBEZWNsYXJlIHRocmVlIHN0YXRpYyBs
b2NhbHMgZm9yIGVhY2ggb2YgdGhlIHZhbHVlcywgYW5kIHJldHVybgorICAgICAgICBiYXNlZCBv
biB0aGUgcGVybWlzc2lvbiBlbnVtLgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpy
ZXF1ZXN0UGVybWlzc2lvbik6IEZvcndhcmQgcmVxdWVzdCB0byBjbGllbnQuCisgICAgICAgICog
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaDoKKworICAgICAgICAqIG5vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmg6IEFkZGVkLgorICAgICAgICAoTm90aWZp
Y2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjazo6fk5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjayk6Cisg
ICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRs
OiBBZGRlZC4KKworICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNw
cDogV3JhcCBwZXJtaXNzaW9uIGZ1bmN0aW9ucyBpbiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaDogV3JhcCBw
ZXJtaXNzaW9uIGZ1bmN0aW9ucyBpbiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAg
ICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsOiBXcmFwIHBlcm1pc3Np
b24gZnVuY3Rpb25zIGluIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBu
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvblByZXNlbnRlci5oOgorICAgICAgICAoV2ViQ29yZTo6
Tm90aWZpY2F0aW9uUHJlc2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbik6IEFkZCBuZXcgcmVxdWVz
dFBlcm1pc3Npb24oKSBmdW5jdGlvbiBmb3IgbmV3CisgICAgICAgIE5vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjayB0eXBlLiBNYWtlIGl0IGEgc3R1YiBpbXBsZW1lbnRhdGlvbiB1bnRpbCBh
bGwgcG9ydHMgaGF2ZSBhZG9wdGVkLgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25DbGllbnQuaDogQWRkIGFub3RoZXIgcmVxdWVzdFBlcm1pc3Npb24oKSBjbGllbnQgY2Fs
bCwgd3JhcHBlZCBpbgorICAgICAgICBFTkFCTEUoTk9USUZJQ0FUSU9OUykgdGhhdCBhY2NlcHRz
IHRoZSBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suIFdyYXAgdGhlIG9yaWdpbmFsIG9u
ZSBpbgorICAgICAgICBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpLgorCisgICAgICAgICog
YmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3RvbS5jcHA6IENoYW5nZSB0byBp
bmNsdWRlIHRoZSBpbXBsZW1lbnRhdGlvbiBvbmx5IGluCisgICAgICAgIEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykuCisgICAgICAgICogYmluZGluZ3MvanMvSlNOb3RpZmljYXRpb25zQ3Vz
dG9tLmNwcDogQ3VzdG9tIGltcGxlbWVudGF0aW9uIG9mIHJlcXVlc3RQZXJtaXNzaW9uKCkuCisg
ICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcDogQ3Vz
dG9tIGltcGxlbWVudGF0aW9uIG9mIHJlcXVlc3RQZXJtaXNzaW9uKCkuCisKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDogQWRkIG5ldyBjYWxsYmFjayBpZGwuCisgICAgICAgICogRGVyaXZlZFNv
dXJjZXMubWFrZTogQWRkIG5ldyBjYWxsYmFjayBpZGwuCisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMucHJpOiBBZGQgbmV3IGNhbGxiYWNrIGlkbC4KKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0
LmFtOiBBZGQgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrIGZpbGVzLgorICAgICAgICAq
IFRhcmdldC5wcmk6IEluY2x1ZGUgSlNOb3RpZmljYXRpb25DdXN0b20uY3BwLCBWOE5vdGlmaWNh
dGlvbkN1c3RvbS5jcHAKKyAgICAgICAgKiBVc2VKU0MuY21ha2U6IEluY2x1ZGUgSlNOb3RpZmlj
YXRpb25DdXN0b20uY3BwCisgICAgICAgICogVXNlVjguY21ha2U6IEluY2x1ZGUgVjhOb3RpZmlj
YXRpb25DdXN0b20uY3BwCisgICAgICAgICogV2ViQ29yZS5neXBpOiBJbmNsdWRlIEpTTm90aWZp
Y2F0aW9uQ3VzdG9tLmNwcCwgVjhOb3RpZmljYXRpb25DdXN0b20uY3BwLCBKU05vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjay57aCxjcHB9CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2o6IEluY2x1ZGUgSlNOb3RpZmljYXRpb25DdXN0b20uY3BwLCBKU05vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjay57aCxjcHB9CisgICAgICAgICogV2ViQ29yZS5leHAuaW46
IEV4cG9ydCBzdHJpbmdGb3JQZXJtaXNzaW9uKCkuCisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOiBBZGQgY2FsbGJhY2sgaWRsLCBoLCBhbmQgY3BwIGZpbGVzLgor
CiAyMDEyLTA0LTI3ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgVHJ5IHRvIGZpeCB0aGUgUXQgYnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDIyMjhiNDVmMjcwZDY1NWQxODY4OGYyMzIwMTJlMDdiN2Y3NjEwM2UuLmVmOGZlNTU5NTljM2Vk
N2UyOWRlOWUzZDU3NTMwNTY1YTZkY2ZkZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTItMDQtMjcgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgor
CisgICAgICAgIE1pZ3JhdGUgcGVybWlzc2lvbiBmdW5jdGlvbnMgdG8gTm90aWZpY2F0aW9uIGZy
b20gTm90aWZpY2F0aW9uQ2VudGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MDQ4NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTA5NjU0NTg+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzcmMvTm90
aWZpY2F0aW9uUHJlc2VudGVySW1wbC5oOgorICAgICAgICAoTm90aWZpY2F0aW9uUHJlc2VudGVy
SW1wbCk6IEFkZCBzdHViIGltcGxlbWVudGF0aW9uIG9mIHJlcXVlc3RQZXJtaXNzaW9uLgorICAg
ICAgICAoV2ViS2l0OjpOb3RpZmljYXRpb25QcmVzZW50ZXJJbXBsOjpyZXF1ZXN0UGVybWlzc2lv
bik6CisKIDIwMTItMDQtMjcgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwu
Y29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMTU1MjkuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKaW5kZXggMzNiNzgwMmZjOGEwZWVkYjlkMjE2Y2ZlMzUyZGZjNjliMTI3OTdiMS4uOTgy
YWExOWNkMTg1ZDRmMGEyZTYyMDI2NDdhYmI3Y2E4MjZlMjZlYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI5IEBACisyMDEyLTA0LTI3ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4K
KworICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVuY3Rpb25zIHRvIE5vdGlmaWNhdGlvbiBm
cm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwOTY1NDU4Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lmg6ICoKKyAgICAgICAgV2ViQ29yZVN1cHBv
cnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lm1tOiBBZGQgYSBzZXBhcmF0ZSBjYWxsYmFjaworICAg
ICAgICB2YXJpYWJsZSBkZXBlbmRpbmcgb24gdGhlIG5vdGlmaWNhdGlvbnMgQVBJIGVuYWJsZWQu
CisgICAgICAgIChXZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKTogQWRk
CisgICAgICAgIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjayB2ZXJzaW9uIG9mIHRoZSBz
YW1lCisgICAgICAgIGZ1bmN0aW9uLiBBbmQgcmVmYWN0b3IgY29tbW9uIGNvZGUgaW50byBwcml2
YXRlIGZ1bmN0aW9uLgorICAgICAgICAoLVtXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciBp
bml0V2l0aENhbGxiYWNrOl0pOiBSZWZhY3RvciB0bworICAgICAgICB0YWtlIHRoZSBOb3RpZmlj
YXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgYXMgYSBwYXJhbWV0ZXIuCisgICAgICAgICgtW1dlYk5v
dGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGluaXRXaXRoVm9pZENhbGxiYWNrOl0pOiBBZGQgbmV3
CisgICAgICAgIGluaXQgbWV0aG9kIHRvIGhhbmRsZSBsZWdhY3kgQVBJLgorICAgICAgICAoLVtX
ZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciBhbGxvd10pOiBJbnZva2UgdGhlIGNhbGxiYWNr
IGZvcgorICAgICAgICBib3RoIHZhcmlhYmxlcy4gSWYgb25seSBvbmUgb2YgdGhlIEFQSXMgaXMg
ZW5hYmxlZCwgd2UgYXJlCisgICAgICAgIGd1YXJhbnRlZWQgdGhhdCB0aGUgcmVsZXZhbnQgY2Fs
bGJhY2sgdmFyaWFibGUgZXhpc3RzLiBJZiBib3RoCisgICAgICAgIEFQSXMgYXJlIHN1cHBvcnRl
ZCwgaXQgaXMgcG9zc2libGUgdGhhdCBfdm9pZENhbGxiYWNrIHdpbGwgYmUgbmlsCisgICAgICAg
IGlmIHRoZSBjYWxsYmFjayBpcyBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2ssIHNvIHdl
IG5lZWQgdGhlCisgICAgICAgIGV4dHJhIHBvaW50ZXIgY2hlY2suCisgICAgICAgICgtW1dlYk5v
dGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGRlbnldKTogRGl0dG8uCisKIDIwMTItMDQtMjcgIEdh
dmluIFBldGVycyAgPGdhdmlucEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQWRkIG5ldyBFTkFC
TEVfTElOS19QUkVSRU5ERVIgZGVmaW5lIHRvIGNvbnRyb2wgdGhlIFByZXJlbmRlcmluZyBBUEkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9x
dC9DaGFuZ2VMb2cKaW5kZXggYjYxZDNhMzdmYTgzYmNhOGVlMDY2MDRiOWFmNTU0NzA1NTkxZjhm
MS4uODM4NmM2YTUwZWZlNzA2ZjQzYmEzNWEyZTRlNDM5N2U1MTYzYjEyYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0wNC0yNyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5j
b20+CisKKyAgICAgICAgTWlncmF0ZSBwZXJtaXNzaW9uIGZ1bmN0aW9ucyB0byBOb3RpZmljYXRp
b24gZnJvbSBOb3RpZmljYXRpb25DZW50ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTgwNDg1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDk2NTQ1
OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0Lmg6CisgICAgICAgIChO
b3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdCk6IEFkZCBzdHViIGltcGxlbWVudGF0aW9uIG9m
IHJlcXVlc3RQZXJtaXNzaW9uLgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJlc2Vu
dGVyQ2xpZW50UXQ6OnJlcXVlc3RQZXJtaXNzaW9uKToKKwogMjAxMi0wNC0yNyAgQWxsYW4gU2Fu
ZGZlbGQgSmVuc2VuICA8YWxsYW4uamVuc2VuQG5va2lhLmNvbT4KIAogICAgICAgICBNb3ZlIFdl
YktpdDEgc3BlY2lmaWMgY29udmVyc2lvbiBvZiB0b3VjaC1ldmVudHMgdG8gV2ViS2l0MQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4v
Q2hhbmdlTG9nCmluZGV4IDJkMTMyNjJhZjIwYjVmMTk5NDM5MTAwYWNhYmU1MTU3OGQ1NjgxODQu
LjgwOGI3NDZkNmIwOTljOWQ1NTM0ODc1MWZkYTVkYTNkOGYxZGI1OTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNC0yNyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5j
b20+CisKKyAgICAgICAgTWlncmF0ZSBwZXJtaXNzaW9uIGZ1bmN0aW9ucyB0byBOb3RpZmljYXRp
b24gZnJvbSBOb3RpZmljYXRpb25DZW50ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTgwNDg1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDk2NTQ1
OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUuY3BwOgorICAgICAg
ICAoV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZTo6cmVxdWVzdFBlcm1pc3Npb24pOgor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUu
aDoKKyAgICAgICAgKFdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUpOiBBZGQgc3R1YiBp
bXBsZW1lbnRhdGlvbiBvZiByZXF1ZXN0UGVybWlzc2lvbi4KKwogMjAxMi0wNC0yMCAgRW1pbCBB
IEVrbHVuZCAgPGVhZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW3dpbl0gVXBkYXRlIHdpbmRv
d3MgcGxhdGZvcm0gY29kZSB0byB1c2UgcGl4ZWwgc25hcHBlZCB2YWx1ZXMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRl
eCBkMTE4MmFkZWE0ODU5MWVkMDQxZDc2MmU2ZmRmYzlmOTVkMDdhNTNkLi4xMTZhMTVhZWE1Yzhh
NDM0M2NiMjU0OGYyM2Q5ZTZmMTZkNjZjOTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAK
KzIwMTItMDQtMjcgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIE1pZ3Jh
dGUgcGVybWlzc2lvbiBmdW5jdGlvbnMgdG8gTm90aWZpY2F0aW9uIGZyb20gTm90aWZpY2F0aW9u
Q2VudGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
MDQ4NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTA5NjU0NTg+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL05vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpzdGFydFJlcXVlc3Qp
OiBBZGQgdmVyc2lvbiB0byBzdXBwb3J0IGJvdGgga2luZHMgb2YKKyAgICAgICAgY2FsbGJhY2tz
LgorICAgICAgICAoV2ViS2l0OjpOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6
OmNhbmNlbFJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpOb3RpZmljYXRpb25QZXJtaXNzaW9u
UmVxdWVzdE1hbmFnZXI6OmRpZFJlY2VpdmVOb3RpZmljYXRpb25QZXJtaXNzaW9uRGVjaXNpb24p
OgorICAgICAgICAqIFdlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNz
aW9uUmVxdWVzdE1hbmFnZXIuaDogQWRkIGFub3RoZXIgbWFwIGZvciBuZXcgY2FsbGJhY2sgdHlw
ZS4KKyAgICAgICAgKE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcik6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpzaG93KTogQWRkICNp
ZmRlZiB0byB1c2UgcmVwbGFjZUlkKCkgb3IgdGFnKCkgZGVwZW5kaW5nIG9uIHdoaWNoIGZlYXR1
cmUKKyAgICAgICAgaGFzIGJlZW4gZW5hYmxlZC4gSW4gdGhlIGNhc2Ugd2hlcmUgYm90aCBhcmUg
ZW5hYmxlZCwgd2UgcHJlZmVyIHRhZygpIHNpbmNlIHRoYXQgaXMgaW4gdGhlIGxhdGVzdCBzcGVj
LgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xp
ZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0
UGVybWlzc2lvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3Rp
ZmljYXRpb25DbGllbnQuaDogSW1wbGVtZW50IGJvdGggY2xpZW50IGZ1bmN0aW9ucyB0byByZXF1
ZXN0IHBlcm1pc3Npb25zLgorCiAyMDEyLTA0LTI3ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBh
cHBsZS5jb20+CiAKICAgICAgICAgTWFkZSBXZWFrU2V0OjphbGxvY2F0ZSgpIHN0YXRpYyBhbmQg
cmVtb3ZlZCBpdHMgSlNHbG9iYWxEYXRhIGFyZ3VtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4
IDdkOTZjNzY5MmU1NDNmYTUwNjFlN2ZhMjA1YzE3MWMzMjFiN2NhMWIuLjE0ZTY3MDU4YzczOThh
ZTc5NjNkOGQ5OTJjMzkzNzhiMmY4MzNmYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xNjg2
LDYgKzE2ODYsNyBAQCBJRiAoRU5BQkxFX05PVElGSUNBVElPTlMpCiAgICAgICAgIG5vdGlmaWNh
dGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5pZGwKICAgICAgICAgbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb24uaWRsCiAgICAgICAgIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVy
LmlkbAorICAgICAgICBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFj
ay5pZGwKICAgICAgICAgbm90aWZpY2F0aW9ucy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5p
ZGwKICAgICApCiBFTkRJRiAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZDE1
ODM0M2VlYjU2YmY1NWRhODY5ZGM3MWVkYTk3OWRhZGVjZDhkNy4uNjgwYWU3MDI5YzY5MDEyMzJh
N2FjMmZiMWQwNmZjZWI4ZmYzMTM5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBA
IC0xLDQgKzEsNCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDggQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIyBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgs
IDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyBDb3B5cmlnaHQgKEMpIDIw
MDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+IAogIyBDb3B5cmlnaHQgKEMp
IDIwMDkgQ2FtZXJvbiBNY0Nvcm1hY2sgPGNhbUBtY2MuaWQuYXU+CiAjCkBAIC0zODgsNiArMzg4
LDcgQEAgQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvbm90aWZpY2F0aW9ucy9ET01X
aW5kb3dOb3RpZmljYXRpb25zLmlkbCBcCiAgICAgJChXZWJDb3JlKS9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25DZW50ZXIuaWRsIFwKKyAgICAkKFdlYkNvcmUpL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
UGVybWlzc2lvbkNhbGxiYWNrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9ub3RpZmljYXRpb25zL1dv
cmtlckNvbnRleHROb3RpZmljYXRpb25zLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL0Fic3Ry
YWN0Vmlldy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9CYXJJbmZvLmlkbCBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5wcmkKaW5kZXggMGZhNGIyNDlhM2ViNWQzNDhiYzM0NTVlYTJmNDdhNmUx
ZTM2ZGU5MS4uNzAxMDRhOGYxM2QyZWVjY2JlODgwNzE4Y2E2NTcyYTAwOGE0NzU0MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpAQCAtMzk4LDYgKzM5OCw3IEBAIElETF9CSU5ESU5HUyAr
PSBcCiAgICAgJCRQV0Qvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmlkbCBc
CiAgICAgJCRQV0Qvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsIFwKICAgICAkJFBXRC9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwgXAorICAgICQkUFdEL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbCBcCiAgICAgJCRQV0Qvbm90
aWZpY2F0aW9ucy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5pZGwgXAogICAgICQkUFdEL3Bh
Z2UvQmFySW5mby5pZGwgXAogICAgICQkUFdEL3BhZ2UvQ29uc29sZS5pZGwgXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggODVmNTBjNDNiNjU2NjM1YzZjNDY1ODc2NzYyZTA4NmY1
MzFmZjcyYy4uZjQ2MjU5ZTEwNmFjNzllZDMwZTljODUwMDU0MDc2YTI3NDI0NzJjYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC00MjYsNiArNDI2LDggQEAgd2ViY29yZV9idWls
dF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uQ2Vu
dGVyLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb3RpZmljYXRpb24uY3BwIFwKIAlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uLmggXAorCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suY3BwIFwKKwlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggXAogCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPRVNTdGFuZGFyZERlcml2YXRpdmVzLmNwcCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCBcCiAJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU09FU1RleHR1cmVGbG9hdC5jcHAgXApAQCAtOTMwLDYgKzkzMiw3
IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvbG9hZGVyL2FwcGNhY2hlL0RP
TUFwcGxpY2F0aW9uQ2FjaGUuaWRsIFwKIAkkKFdlYkNvcmUpL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uLmlkbCBcCiAJJChXZWJDb3JlKS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRl
ci5pZGwgXAorCSQoV2ViQ29yZSkvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2suaWRsIFwKIAkkKFdlYkNvcmUpL3BhZ2UvQmFySW5mby5pZGwgXAogCSQoV2ViQ29y
ZSkvcGFnZS9Db25zb2xlLmlkbCBcCiAJJChXZWJDb3JlKS9wYWdlL0Nvb3JkaW5hdGVzLmlkbCBc
CkBAIC0yODg1LDYgKzI4ODgsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJD
b3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmggXAorCVNvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggXAogCVNvdXJjZS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvV29ya2VyQ29udGV4dE5vdGlmaWNhdGlvbnMuY3BwIFwKIAlTb3VyY2UvV2Vi
Q29yZS9ub3RpZmljYXRpb25zL1dvcmtlckNvbnRleHROb3RpZmljYXRpb25zLmggXAogCVNvdXJj
ZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmlu
ZGV4IDYxYzIzMGYyNjMyZjlhYjI5ZGI5OWRiMDgxZmYxZTlhYjUxMGMzYjguLmE1M2E5MzU4YTY5
NDliMmYzODQwNDA2NjY0OWI4ZWM2ODAzOGE2MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMjM0LDYgKzIz
NCw3IEBAIHY4IHsKICAgICAgICAgXAogICAgICAgICBiaW5kaW5ncy92OC9zcGVjaWFsaXphdGlv
bi9WOEJpbmRpbmdTdGF0ZS5jcHBcCiAgICAgICAgIFwKKyAgICAgICAgYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3Rv
bS9WOE5vdGlmaWNhdGlvbkNlbnRlckN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9j
dXN0b20vVjhDb25zb2xlQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OFNRTFRyYW5zYWN0aW9uU3luY0N1c3RvbS5jcHAgXApAQCAtMzQyLDYgKzM0Myw3IEBAIHY4IHsK
ICAgICAgICAgYmluZGluZ3MvanMvSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJp
bmRpbmdzL2pzL0pTTm9kZUl0ZXJhdG9yQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pz
L0pTTm9kZUxpc3RDdXN0b20uY3BwIFwKKyAgICAgICAgYmluZGluZ3MvanMvSlNOb3RpZmljYXRp
b25DdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rp
b25zLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTUG9wU3RhdGVFdmVudEN1c3RvbS5jcHAg
XAogICAgICAgICBiaW5kaW5ncy9qcy9KU1Byb2Nlc3NpbmdJbnN0cnVjdGlvbkN1c3RvbS5jcHAg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlIGIvU291cmNlL1dlYkNv
cmUvVXNlSlNDLmNtYWtlCmluZGV4IDQ5M2ZhMjExNTU4MjEzMzI1MzljNTVlZTZhNmNkY2NhODc3
ZGI1OWIuLmIxZTAwMDM0NTUxZDA5MGQzYTNiZWQ1NTk3NmMyY2UwNGJkMDIwNzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VK
U0MuY21ha2UKQEAgLTEyMCw2ICsxMjAsNyBAQCBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMK
ICAgICBiaW5kaW5ncy9qcy9KU05vZGVGaWx0ZXJDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMv
SlNOb2RlSXRlcmF0b3JDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNOb2RlTGlzdEN1c3Rv
bS5jcHAKKyAgICBiaW5kaW5ncy9qcy9KU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAKICAgICBiaW5k
aW5ncy9qcy9KU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuY3BwCiAgICAgYmluZGluZ3MvanMvSlNQ
b3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTUHJvY2Vzc2luZ0luc3Ry
dWN0aW9uQ3VzdG9tLmNwcApAQCAtMjQ5LDYgKzI1MCw3IEBAIEVORElGICgpCiBJRiAoRU5BQkxF
X05PVElGSUNBVElPTlMpCiAgICAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgICAg
IGJpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20uY3BwCisgICAgICAgIGJp
bmRpbmdzL2pzL0pTTm90aWZpY2F0aW9uc0N1c3RvbS5jcHAKICAgICApCiBFTkRJRiAoKQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1Vz
ZVY4LmNtYWtlCmluZGV4IGVlNGU2Yjk1OTQwMmE0ZGY5MjBjNTRmMTVhOTkxYWE1ZjJmN2Q2M2Uu
Ljg1ZDM3ODZiMzI3OTU3YTcwNDI5ZWUxZjQ2ZjBjZTk2NWRlNGZiYTYgMTAwNzU1Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtl
CkBAIC0xMzYsNiArMTM2LDcgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2Rlc0NvbGxlY3Rpb24uY3BwCiAgICAgYmluZGluZ3Mv
djgvY3VzdG9tL1Y4Tm9kZUN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhOb2Rl
TGlzdEN1c3RvbS5jcHAKKyAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DdXN0
b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2VudGVyQ3VzdG9t
LmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFBlcmZvcm1hbmNlQ3VzdG9tLmNwcAogICAg
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFBvcFN0YXRlRXZlbnRDdXN0b20uY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluCmluZGV4IGY4YTNlNGI2NTUyMGFkNDJhZDQ3OWU3YmJiYjFhYjcxZDcyODRkNjMuLjU2
YmZjYTkyZjUxODhjMGEwNmZmN2NiNjY4Y2Y4NTRlMzllYWUxNjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhw
LmluCkBAIC0yMTY3LDYgKzIxNjcsNyBAQCBfX1pON1dlYkNvcmUxMk5vdGlmaWNhdGlvbjE3ZGlz
cGF0Y2hTaG93RXZlbnRFdgogX19aTjdXZWJDb3JlMTJOb3RpZmljYXRpb24xOGRpc3BhdGNoQ2xp
Y2tFdmVudEV2CiBfX1pON1dlYkNvcmUxMk5vdGlmaWNhdGlvbjE4ZGlzcGF0Y2hDbG9zZUV2ZW50
RXYKIF9fWk43V2ViQ29yZTEyTm90aWZpY2F0aW9uMThkaXNwYXRjaEVycm9yRXZlbnRFdgorX19a
TjdXZWJDb3JlMTJOb3RpZmljYXRpb24xOXN0cmluZ0ZvclBlcm1pc3Npb25FTlNfMThOb3RpZmlj
YXRpb25DbGllbnQxMFBlcm1pc3Npb25FCiBfX1pON1dlYkNvcmUxOXByb3ZpZGVOb3RpZmljYXRp
b25FUE5TXzRQYWdlRVBOU18xOE5vdGlmaWNhdGlvbkNsaWVudEUKICNlbmRpZgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKaW5kZXggYzE0ZmFkZmExOTMxNGExNmVmY2U4ODIxMmZmN2M4OWM3MTc2MmM2NC4uZWY5
MDRiODk2ZTY0ZWU5ZDMxYzAzNjQ3ZjkxMTY5MmFkYmQ2M2FhYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpA
QCAtMTEyOSw2ICsxMTI5LDcgQEAKICAgICAgICAgICAgICdub3RpZmljYXRpb25zL0RPTVdpbmRv
d05vdGlmaWNhdGlvbnMuaWRsJywKICAgICAgICAgICAgICdub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbi5pZGwnLAogICAgICAgICAgICAgJ25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVy
LmlkbCcsCisgICAgICAgICAgICAnbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdub3RpZmljYXRpb25zL1dvcmtlckNvbnRleHRO
b3RpZmljYXRpb25zLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9BYnN0cmFjdFZpZXcuaWRsJywK
ICAgICAgICAgICAgICdwYWdlL0JhckluZm8uaWRsJywKQEAgLTE5ODYsNiArMTk4Nyw3IEBACiAg
ICAgICAgICAgICAnYmluZGluZ3MvanMvSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvanMvSlNOb2RlSXRlcmF0b3JDdXN0b20uY3BwJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy9qcy9KU05vZGVMaXN0Q3VzdG9tLmNwcCcsCisgICAgICAgICAgICAnYmluZGlu
Z3MvanMvSlNOb3RpZmljYXRpb25DdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9q
cy9KU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9q
cy9KU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9K
U1Byb2Nlc3NpbmdJbnN0cnVjdGlvbkN1c3RvbS5jcHAnLApAQCAtMjI5Niw2ICsyMjk4LDcgQEAK
ICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVzQ29sbGVjdGlvbi5o
JywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcCcsCiAg
ICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUxpc3RDdXN0b20uY3BwJywKKyAg
ICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DdXN0b20uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DZW50ZXJDdXN0
b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhQZXJmb3JtYW5jZUN1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFBvcFN0YXRlRXZl
bnRDdXN0b20uY3BwJywKQEAgLTI5NTMsNiArMjk1Niw3IEBACiAgICAgICAgICAgICAnbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaCcsCiAgICAgICAgICAgICAnbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmNwcCcsCiAgICAgICAgICAgICAnbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmgnLAorICAgICAgICAgICAgJ25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgnLAogICAgICAgICAgICAgJ25vdGlmaWNh
dGlvbnMvV29ya2VyQ29udGV4dE5vdGlmaWNhdGlvbnMuY3BwJywKICAgICAgICAgICAgICdub3Rp
ZmljYXRpb25zL1dvcmtlckNvbnRleHROb3RpZmljYXRpb25zLmgnLAogICAgICAgICAgICAgJ3Bh
Z2UvQmFySW5mby5jcHAnLApAQCAtNzY2MSw2ICs3NjY1LDggQEAKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uLmgnLAogICAg
ICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb3RpZmlj
YXRpb25DZW50ZXIuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uQ2VudGVyLmgnLAorICAgICAgICAgICAgJzwoUFJP
RFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2suY3BwJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgnLAogICAgICAgICAg
ICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPRVNTdGFuZGFyZERl
cml2YXRpdmVzLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCcsCiAgICAgICAgICAgICAnPChQ
Uk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU09FU1RleHR1cmVGbG9hdC5jcHAn
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCBh
OGZhMzFlYmZmOGQ5ZmYyYWQ2Zjg5NmE3NDY4ZGUyNjg1NzNlYjU5Li4wYTg2ZDhmOWQzN2QwYzM1
NjE4YzU0ZTdlMTU4M2JiN2FlZGJhZDA4IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMTIwMzQsNiArMTIwMzQsNjIgQEAKIAkJCQk+CiAJCQk8
L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjay5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4K
KwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0i
UmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJ
CQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVi
dWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJ
CQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUK
KwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0
TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCIK
KwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1
cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU09wZXJh
dGlvbk5vdEFsbG93ZWRFeGNlcHRpb24uY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTY3ODkz
LDYgKzY3OTQ5LDU4IEBACiAJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJPC9GaWxlPgog
CQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNOb3RpZmljYXRp
b25DdXN0b20uY3BwIgorCQkJCQk+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFt
ZT0iRGVidWd8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4K
KwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJ
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJ
TmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJ
Lz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJ
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQWxsfFdp
bjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9v
bAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlByb2R1
Y3Rpb258V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJ
CQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0
aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcCIKIAkJ
CQkJPgogCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAwMWQxZDBmOTI1ZGZjM2MzMzdlNmFl
ZTlmMGFlZDA1OTJhODljNThkLi5jZGU5NzViNTk5YjBiMDc4NmFhZDE3YzNjNmQxMGIzM2E4Mjgx
NTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC05MTIsNiArOTEyLDggQEAKIAkJMzFDMEZGNEMwRTRDRUZERDAwN0Q2RkU1IC8q
IERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzFDMEZGNDYwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRy
YW5zaXRpb25FdmVudC5oICovOyB9OwogCQkzMUMwRkY0RDBFNENFRkREMDA3RDZGRTUgLyogRE9N
V2ViS2l0VHJhbnNpdGlvbkV2ZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMzFDMEZGNDcwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5z
aXRpb25FdmVudC5tbSAqLzsgfTsKIAkJMzFDMEZGNEUwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdl
YktpdFRyYW5zaXRpb25FdmVudEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzMUMwRkY0ODBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0
VHJhbnNpdGlvbkV2ZW50SW50ZXJuYWwuaCAqLzsgfTsKKwkJMzFFQzFFMjgxNEZGNjBFRTAwQzk0
NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRUMxRTI2MTRGRjYwRUUwMEM5NDY2
MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5jcHAgKi87IH07CisJCTMxRUMx
RTI5MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFFQzFFMjcx
NEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggKi87
IH07CiAJCTMxRkIxQTU3MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25DbGllbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTRGMTIw
QTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25DbGllbnQuaCAqLzsgfTsKIAkJMzFGQjFBNTgx
MjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNTAxMjBBNUQwNjAwREMw
MkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwICovOyB9OwogCQkzMUZCMUE1OTEyMEE1
RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNTExMjBBNUQwNjAwREMwMkEwIC8q
IERldmljZU1vdGlvbkNvbnRyb2xsZXIuaCAqLzsgfTsKQEAgLTkyMiw2ICs5MjQsOCBAQAogCQkz
MUZCMUE2NTEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE2MzEyMEE1RDNG
MDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgKi87IH07CiAJCTMxRkIxQTY2MTIw
QTVEM0YwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE2NDEyMEE1RDNGMDBEQzAyQTAgLyog
SlNEZXZpY2VNb3Rpb25FdmVudC5oICovOyB9OwogCQkzMUZCMUE2QzEyMEE1RDY5MDBEQzAyQTAg
LyogSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE2QjEyMEE1RDY5MDBEQzAyQTAgLyogSlNEZXZp
Y2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgKi87IH07CisJCTMxRkU2REZBMTUwMDRDMkEwMDA0RUJD
NCAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRUMxREFDMTRGRjI2RUEwMEM5NDY2MiAvKiBO
b3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQkzMUZFNkU2RDE1MDFBM0JGMDAwNEVCQzQgLyogSlNO
b3RpZmljYXRpb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMzFGRTZFNkMxNTAxQTNCRjAwMDRFQkM0IC8qIEpTTm90aWZpY2F0aW9uQ3Vz
dG9tLmNwcCAqLzsgfTsKIAkJMzMxNEFDRUIxMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9u
QmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
MzE0QUNFOTEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25CYXNlLmNwcCAqLzsgfTsKIAkJ
MzMxNEFDRUMxMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzMxNEFDRUExMDg5MjA4NjAwMEYw
RTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5oICovOyB9OwogCQkzMzUwM0M5QTEwMTc5QTc0MDAzQjQ3
RTEgLyogTm90aWZpY2F0aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMzUwM0M5OTEwMTc5QTc0MDAzQjQ3RTEgLyogTm90aWZpY2F0aW9u
Q2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
QEAgLTc4MzgsNiArNzg0MiwxMCBAQAogCQkzMUMwRkY0NjBFNENFRkREMDA3RDZGRTUgLyogRE9N
V2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkzMUMwRkY0NzBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50Lm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NV2ViS2l0VHJhbnNp
dGlvbkV2ZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUMwRkY0ODBFNENF
RkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50SW50ZXJuYWwuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50SW50ZXJu
YWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFFQzFENTAxNEZFRkQwODAwQzk0
NjYyIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBuYW1lID0gTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbDsgcGF0aCA9IG5vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMzFFQzFEQUMxNEZGMjZFQTAwQzk0NjYyIC8qIE5vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2suaDsgcGF0aCA9IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lv
bkNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRUMxRTI2MTRGRjYw
RUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRUMxRTI3MTRGRjYw
RUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFj
ay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUZCMUE0RjEyMEE1RDA2MDBEQzAy
QTAgLyogRGV2aWNlTW90aW9uQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IERldmljZU1vdGlvbkNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkz
MUZCMUE1MDEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEZXZpY2VNb3Rpb25Db250cm9sbGVy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFGQjFBNTExMjBBNUQwNjAwREMw
MkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRGV2aWNlTW90aW9uQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtNzg0OSw2ICs3ODU3LDcgQEAKIAkJMzFGQjFBNjMxMjBBNUQzRjAwREMwMkEwIC8q
IEpTRGV2aWNlTW90aW9uRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNEZXZpY2VNb3Rpb25FdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTMxRkIxQTY0MTIwQTVEM0YwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRGV2aWNlTW90aW9uRXZlbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFGQjFBNkIxMjBBNUQ2OTAwREMwMkEwIC8qIEpT
RGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTMxRkU2RTZDMTUwMUEzQkYwMDA0RUJDNCAvKiBKU05vdGlmaWNhdGlvbkN1
c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05vdGlmaWNh
dGlvbkN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzMTRBQ0U5MTA4
OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNFeGNlcHRpb25CYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMzMxNEFDRUExMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0V4Y2VwdGlvbkJhc2UuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzMzRjcwNEUwRkI0OUNBMjAwOEUxMkE2IC8qIE5v
dGlmaWNhdGlvbi5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gTm90aWZpY2F0aW9uLmlkbDsg
cGF0aCA9IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTE0NTQ5LDYgKzE0NTU4LDggQEAKIAkJCQkzMzUwM0M5OTEwMTc5QTc0MDAz
QjQ3RTEgLyogTm90aWZpY2F0aW9uQ2xpZW50LmggKi8sCiAJCQkJMzEyOENBNjcxNDczMzE1MjAw
NzRDNzJBIC8qIE5vdGlmaWNhdGlvbkNvbnRyb2xsZXIuY3BwICovLAogCQkJCTMxMjhDQTZBMTQ3
MzMxNjMwMDc0QzcyQSAvKiBOb3RpZmljYXRpb25Db250cm9sbGVyLmggKi8sCisJCQkJMzFFQzFE
NTAxNEZFRkQwODAwQzk0NjYyIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwg
Ki8sCisJCQkJMzFFQzFEQUMxNEZGMjZFQTAwQzk0NjYyIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjay5oICovLAogCQkJCTk3RjhFNjYxMTUxRDRBM0YwMEQyRDE4MSAvKiBXb3JrZXJD
b250ZXh0Tm90aWZpY2F0aW9ucy5jcHAgKi8sCiAJCQkJOTdGOEU2NjIxNTFENEEzRjAwRDJEMTgx
IC8qIFdvcmtlckNvbnRleHROb3RpZmljYXRpb25zLmggKi8sCiAJCQkJOTdGOEU2NjMxNTFENEEz
RjAwRDJEMTgxIC8qIFdvcmtlckNvbnRleHROb3RpZmljYXRpb25zLmlkbCAqLywKQEAgLTE0NTYz
LDYgKzE0NTc0LDggQEAKIAkJCQkzMzUwM0NBMDEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmlj
YXRpb24uaCAqLywKIAkJCQkzMzUwM0NBMTEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRp
b25DZW50ZXIuY3BwICovLAogCQkJCTMzNTAzQ0EyMTAxNzlBRDcwMDNCNDdFMSAvKiBKU05vdGlm
aWNhdGlvbkNlbnRlci5oICovLAorCQkJCTMxRUMxRTI2MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5jcHAgKi8sCisJCQkJMzFFQzFFMjcxNEZGNjBF
RTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggKi8sCiAJCQkp
OwogCQkJbmFtZSA9IE5vdGlmaWNhdGlvbnM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpA
QCAtMTk4NjksNiArMTk4ODIsNyBAQAogCQkJCUJDQjc3MzYwMEMxNzg1M0QwMDEzMkJBNCAvKiBK
U05vZGVGaWx0ZXJDdXN0b20uY3BwICovLAogCQkJCTFBNzUwREQzMEE5MEU3MjkwMDBGRjIxNSAv
KiBKU05vZGVJdGVyYXRvckN1c3RvbS5jcHAgKi8sCiAJCQkJQkNEOUMyNjEwQzE3QUE2NzAwNUM5
MEEyIC8qIEpTTm9kZUxpc3RDdXN0b20uY3BwICovLAorCQkJCTMxRkU2RTZDMTUwMUEzQkYwMDA0
RUJDNCAvKiBKU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAgKi8sCiAJCQkJQTg1RjIyMDgxNDMwMzc3
RDAwN0NDODg0IC8qIEpTUG9wU3RhdGVFdmVudEN1c3RvbS5jcHAgKi8sCiAJCQkJRTFBRDEyRDUx
Mjk1RDBCRDAwQUNBOTg5IC8qIEpTUHJvY2Vzc2luZ0luc3RydWN0aW9uQ3VzdG9tLmNwcCAqLywK
IAkJCQk0OTk4QUVEMzEzRkM0MTdGMDA5MEIxQUEgLyogSlNSZXF1ZXN0QW5pbWF0aW9uRnJhbWVD
YWxsYmFja0N1c3RvbS5jcHAgKi8sCkBAIC0yNDgzMCw2ICsyNDg0NCw4IEBACiAJCQkJOTc3RTJF
MEYxMkYwRkM5QzAwQzEzMzc5IC8qIFhTU0F1ZGl0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUZE
NTM3MzUzMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RkQ4QzQ2RUMxNTQ2MDhFNzAwQTU5MTBDIC8qIEF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZS5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMzFFQzFFMjkxNEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0
aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQkzMUZFNkRGQTE1MDA0
QzJBMDAwNEVCQzQgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggaW4gSGVhZGVy
cyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsK
IAkJfTsKQEAgLTI3ODQ1LDYgKzI3ODYxLDggQEAKIAkJCQk5NzdFMkUwRTEyRjBGQzlDMDBDMTMz
NzkgLyogWFNTQXVkaXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRDUzNzM1MjEzN0I2NTE4
MDAwMDhEQ0UgLyogWmVyb1BvbGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQ4QzQ2RUIxNTQ2
MDhFNzAwQTU5MTBDIC8qIEF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZS5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQkzMUVDMUUyODE0RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMzFGRTZFNkQxNTAxQTNCRjAwMDRF
QkM0IC8qIEpTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJ
CXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3Rv
bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25z
Q3VzdG9tLmNwcAppbmRleCBhMGNhZDg4Yjg0NjljNTYzZTFlNGViNDZjNTUyNmY2ODUxNTFmY2Uw
Li4zOGM2ODIzMTFiZTdhNDJhMjFhODk2OTM1NzFlMWM5ZDIwZjUzMmIxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25z
Q3VzdG9tLmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCkBAIC0zMCwxNCArMzEsMTIgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNp
ZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgog
I2luY2x1ZGUgIkpTQ3VzdG9tVm9pZENhbGxiYWNrLmgiCiAjaW5jbHVkZSAiSlNFdmVudExpc3Rl
bmVyLmgiCi0jaW5jbHVkZSAiSlNOb3RpZmljYXRpb24uaCIKICNpbmNsdWRlICJKU05vdGlmaWNh
dGlvbkNlbnRlci5oIgotI2luY2x1ZGUgIk5vdGlmaWNhdGlvbi5oIgogI2luY2x1ZGUgIk5vdGlm
aWNhdGlvbkNlbnRlci5oIgogI2luY2x1ZGUgPHJ1bnRpbWUvRXJyb3IuaD4KIApAQCAtNjgsNiAr
NjcsNiBAQCBKU1ZhbHVlIEpTTm90aWZpY2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbihF
eGVjU3RhdGUqIGV4ZWMpCiAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiB9CiAKLX0gLy8gbmFt
ZXNwYWNlCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2VuZGlmIC8vIEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzk1NzY1NzdhODA4YzEw
MWRiOGI3NTU4MDMzOTA0ODM5NTFmYmYxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNOb3RpZmljYXRpb25DdXN0b20uY3BwCkBAIC0wLDAgKzEsNTcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpbmNsdWRlICJKU05vdGlm
aWNhdGlvbi5oIgorCisjaW5jbHVkZSAiQ2FsbGJhY2tGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpT
Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgiCisjaW5jbHVkZSA8cnVudGltZS9FcnJv
ci5oPgorCit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0pT
VmFsdWUgSlNOb3RpZmljYXRpb246OnJlcXVlc3RQZXJtaXNzaW9uKEV4ZWNTdGF0ZSogZXhlYykK
K3sKKyAgICAvLyBBcmd1bWVudHM6IE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaworICAg
IGlmICghZXhlYy0+YXJndW1lbnQoMCkuaXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIHRocm93
VHlwZUVycm9yKGV4ZWMpOworICAgIAorICAgIFJlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2s+IGNhbGxiYWNrID0gY3JlYXRlRnVuY3Rpb25Pbmx5Q2FsbGJhY2s8SlNOb3RpZmlj
YXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KGV4ZWMsIHN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2Jq
ZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKSwgZXhlYy0+YXJndW1lbnQoMCkpOwor
ICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVk
KCk7CisgICAgCisgICAgQVNTRVJUKGNhbGxiYWNrKTsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBzY3JpcHRDb250ZXh0ID0gc3RhdGljX2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihleGVj
LT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CisgICAg
Tm90aWZpY2F0aW9uOjpyZXF1ZXN0UGVybWlzc2lvbihzY3JpcHRDb250ZXh0LCBjYWxsYmFjay5y
ZWxlYXNlKCkpOworICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkN1c3RvbS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DdXN0
b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjBkZmJjNjBhNWUzZmJlZDEwNjk4MTc4MzRhZWE4MTFlYjVjYTk4
ZDIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhOb3RpZmljYXRpb25DdXN0b20uY3BwCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpbmNsdWRlICJWOE5vdGlmaWNhdGlvbi5oIgorCisj
aW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIlY4Tm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrLmgiCisjaW5jbHVkZSAiVjhQcm94eS5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOE5vdGlmaWNhdGlvbjo6cmVxdWVzdFBlcm1p
c3Npb25DYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQoreworICAgIElOQ19TVEFU
UyhMIkRPTS5Ob3RpZmljYXRpb24ucmVxdWVzdFBlcm1pc3Npb24iKTsKKworICAgIE5vdGlmaWNh
dGlvbiogbm90aWZpY2F0aW9uID0gVjhOb3RpZmljYXRpb246OnRvTmF0aXZlKGFyZ3MuSG9sZGVy
KCkpOworICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQgPSBub3RpZmljYXRpb24t
PnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKKworICAgIGJvb2wgc3VjY2VlZGVkID0gZmFsc2U7
CisgICAgUmVmUHRyPFY4Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBjYWxsYmFjayA9
IGNyZWF0ZUZ1bmN0aW9uT25seUNhbGxiYWNrPFY4Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxi
YWNrPihhcmdzWzBdLCBzdWNjZWVkZWQpOworICAgIGlmICghc3VjY2VlZGVkKQorICAgICAgICBy
ZXR1cm4gdjg6OlVuZGVmaW5lZCgpOworICAgIEFTU0VSVChjYWxsYmFjayk7CisKKyAgICBOb3Rp
ZmljYXRpb246OnJlcXVlc3RQZXJtaXNzaW9uKGNvbnRleHQsIGNhbGxiYWNrLnJlbGVhc2UoKSk7
CisgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKaW5kZXggZjY2ZjJiMGIwYzA0OTkyZThiZjdh
ZmM3ODcyZDc2Y2Q4NWYzMGNjOS4uMzdmN2M5NTUyOWU0MTJhZGRjMDNjNDI2MzljYTE4NGFiOTdk
MWRjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNw
cApAQCAtNDMsNiArNDMsOCBAQAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJO
b3RpZmljYXRpb25DZW50ZXIuaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25DbGllbnQuaCIKKyNp
bmNsdWRlICJOb3RpZmljYXRpb25Db250cm9sbGVyLmgiCisjaW5jbHVkZSAiTm90aWZpY2F0aW9u
UGVybWlzc2lvbkNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5j
bHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXIuaCIK
QEAgLTIzNyw4ICsyMzksMTAgQEAgdm9pZCBOb3RpZmljYXRpb246OmRpc3BhdGNoRXJyb3JFdmVu
dCgpCiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiB2b2lkIE5vdGlmaWNhdGlvbjo6dGFza1Rp
bWVyRmlyZWQoVGltZXI8Tm90aWZpY2F0aW9uPiogdGltZXIpCiB7CisgICAgQVNTRVJUKHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKS0+aXNEb2N1bWVudCgpKTsKKyAgICBBU1NFUlQoc3RhdGljX2Nh
c3Q8RG9jdW1lbnQqPihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpLT5wYWdlKCkpOwogICAgIEFT
U0VSVF9VTlVTRUQodGltZXIsIHRpbWVyID09IG1fdGFza1RpbWVyLmdldCgpKTsKLSAgICBpZiAo
bV9ub3RpZmljYXRpb25DZW50ZXItPmNoZWNrUGVybWlzc2lvbigpICE9IE5vdGlmaWNhdGlvbkNs
aWVudDo6UGVybWlzc2lvbkFsbG93ZWQpIHsKKyAgICBpZiAoTm90aWZpY2F0aW9uQ29udHJvbGxl
cjo6ZnJvbShzdGF0aWNfY2FzdDxEb2N1bWVudCo+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkt
PnBhZ2UoKSktPmNsaWVudCgpLT5jaGVja1Blcm1pc3Npb24oc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpKSAhPSBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25BbGxvd2VkKSB7CiAgICAgICAg
IGRpc3BhdGNoRXJyb3JFdmVudCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMjQ2LDYg
KzI1MCw0NSBAQCB2b2lkIE5vdGlmaWNhdGlvbjo6dGFza1RpbWVyRmlyZWQoVGltZXI8Tm90aWZp
Y2F0aW9uPiogdGltZXIpCiB9CiAjZW5kaWYKIAorCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
Citjb25zdCBTdHJpbmcmIE5vdGlmaWNhdGlvbjo6cGVybWlzc2lvbkxldmVsKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQpCit7CisgICAgQVNTRVJUKGNvbnRleHQtPmlzRG9jdW1lbnQo
KSk7CisgICAgQVNTRVJUKHN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCktPnBhZ2UoKSk7
CisgICAgcmV0dXJuIHN0cmluZ0ZvclBlcm1pc3Npb24oTm90aWZpY2F0aW9uQ29udHJvbGxlcjo6
ZnJvbShzdGF0aWNfY2FzdDxEb2N1bWVudCo+KGNvbnRleHQpLT5wYWdlKCkpLT5jbGllbnQoKS0+
Y2hlY2tQZXJtaXNzaW9uKGNvbnRleHQpKTsKK30KKyNlbmRpZgorCisjaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpCitjb25zdCBTdHJpbmcmIE5vdGlmaWNhdGlvbjo6c3RyaW5nRm9yUGVybWlzc2lv
bihOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gcGVybWlzc2lvbikKK3sKKyAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgYWxsb3dlZFBlcm1pc3Npb24sICgiZ3JhbnRl
ZCIpKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgZGVuaWVkUGVybWlz
c2lvbiwgKCJkZW5pZWQiKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcs
IGRlZmF1bHRQZXJtaXNzaW9uLCAoImRlZmF1bHQiKSk7CisgICAgc3dpdGNoIChwZXJtaXNzaW9u
KSB7CisgICAgY2FzZSBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25BbGxvd2VkOgorICAg
ICAgICByZXR1cm4gYWxsb3dlZFBlcm1pc3Npb247CisgICAgY2FzZSBOb3RpZmljYXRpb25DbGll
bnQ6OlBlcm1pc3Npb25EZW5pZWQ6CisgICAgICAgIHJldHVybiBkZW5pZWRQZXJtaXNzaW9uOwor
ICAgIGNhc2UgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uTm90QWxsb3dlZDoKKyAgICAg
ICAgcmV0dXJuIGRlZmF1bHRQZXJtaXNzaW9uOworICAgIH0KKyAgICAKKyAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKKyAgICByZXR1cm4gZGVuaWVkUGVybWlzc2lvbjsKK30KKyNlbmRpZgorCisj
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCit2b2lkIE5vdGlmaWNhdGlvbjo6cmVxdWVzdFBlcm1p
c3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxOb3RpZmlj
YXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNhbGxiYWNrKQoreworICAgIEFTU0VSVChjb250ZXh0
LT5pc0RvY3VtZW50KCkpOworICAgIEFTU0VSVChzdGF0aWNfY2FzdDxEb2N1bWVudCo+KGNvbnRl
eHQpLT5wYWdlKCkpOworICAgIE5vdGlmaWNhdGlvbkNvbnRyb2xsZXI6OmZyb20oc3RhdGljX2Nh
c3Q8RG9jdW1lbnQqPihjb250ZXh0KS0+cGFnZSgpKS0+Y2xpZW50KCktPnJlcXVlc3RQZXJtaXNz
aW9uKGNvbnRleHQsIGNhbGxiYWNrKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9O
T1RJRklDQVRJT05TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
LmgKaW5kZXggNzJhZmU4NGU1Nzc3Zjc1ZTE4ZGRhNTZlMzZjNDY2MjE4MjlmNDA5YS4uN2Q1NjJj
ZDMxNGI5MWE1OTEzNGQwZDQ5NzUzYmM0YTQ5Y2YwYmUwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAi
RXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiS1VSTC5o
IgorI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNsaWVudC5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZl
ci5oIgogI2luY2x1ZGUgIlRleHREaXJlY3Rpb24uaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9h
ZGVyQ2xpZW50LmgiCkBAIC01NCw2ICs1NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgRGljdGlvbmFyeTsKIGNsYXNzIE5vdGlmaWNhdGlvbkNlbnRlcjsKK2NsYXNzIE5vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjazsKIGNsYXNzIFJlc291cmNlRXJyb3I7CiBjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKQEAgLTEzNSw2ICsx
MzcsMTIgQEAgcHVibGljOgogCiAgICAgdm9pZCBmaW5hbGl6ZSgpOwogCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCisgICAgc3RhdGljIGNvbnN0IFN0cmluZyYgcGVybWlzc2lvbkxldmVsKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKKyAgICBzdGF0aWMgY29uc3QgU3RyaW5nJiBzdHJpbmdG
b3JQZXJtaXNzaW9uKE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbik7CisgICAgc3RhdGlj
IHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQ
dHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPik7CisjZW5kaWYKKwogcHJpdmF0ZToK
ICNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgTm90aWZpY2F0aW9uKGNvbnN0
IEtVUkwmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXhjZXB0aW9uQ29kZSYsIFBhc3NSZWZQ
dHI8Tm90aWZpY2F0aW9uQ2VudGVyPik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbi5pZGwKaW5kZXggMDc5ZjEzZWNhMzE4MzZiMWU0MmIzOTQ1MjQ3ZjE0ZDk4
NzNiZGZhYi4uZGEyZWI3ZjI0NWY5ZjU2YzZlYjNiNzU1YThkNjY2NWRjYjRiZTMzZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbApAQCAtNTAsNiAr
NTAsMTIgQEAgbW9kdWxlIHRocmVhZHMgewogICAgICAgICB2b2lkIGNsb3NlKCk7CiAjZW5kaWYK
IAorCisjaWYgZGVmaW5lZChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJiYgRU5BQkxFX05PVElGSUNB
VElPTlMKKyAgICAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHN0YXRpYyBE
T01TdHJpbmcgcGVybWlzc2lvbkxldmVsKCk7CisgICAgICAgIFtDdXN0b21dIHN0YXRpYyB2b2lk
IHJlcXVlc3RQZXJtaXNzaW9uKGluIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjayBjYWxs
YmFjayk7CisjZW5kaWYKKwogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnNob3c7
CiAjaWYgZGVmaW5lZChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICYmIEVOQUJMRV9MRUdB
Q1lfTk9USUZJQ0FUSU9OUwogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmRpc3Bs
YXk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bkNlbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNl
bnRlci5jcHAKaW5kZXggZWM1YzhlYzE1MjBmMWM5MzA5MWJmNTVlOTg5MjhmMjFiZjRhYjdhMi4u
MGViYjU0NzQwMDk1ZTU2YmZmNjcwODJjYWRlZmYxZmYzYjZjNTg2NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcApAQCAtNTUs
NiArNTUsNyBAQCBOb3RpZmljYXRpb25DZW50ZXI6Ok5vdGlmaWNhdGlvbkNlbnRlcihTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBOb3RpZmljYQogewogfQogCisjaWYgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQogaW50IE5vdGlmaWNhdGlvbkNlbnRlcjo6Y2hlY2tQZXJtaXNz
aW9uKCkKIHsKICAgICBpZiAoIWNsaWVudCgpIHx8ICFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkp
CkBAIC03Miw3ICs3Myw5IEBAIGludCBOb3RpZmljYXRpb25DZW50ZXI6OmNoZWNrUGVybWlzc2lv
bigpCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIG1fY2xpZW50LT5jaGVj
a1Blcm1pc3Npb24oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKIH0KKyNlbmRpZgogCisjaWYg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogdm9pZCBOb3RpZmljYXRpb25DZW50ZXI6OnJl
cXVlc3RQZXJtaXNzaW9uKFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFjaykKIHsKICAg
ICBpZiAoIWNsaWVudCgpIHx8ICFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCkBAIC05MSw2ICs5
NCw3IEBAIHZvaWQgTm90aWZpY2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbihQYXNzUmVm
UHRyPFZvaWRDYWxsYmFjaz4gY2FsbGJhY2spCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAg
ICAgbV9jbGllbnQtPnJlcXVlc3RQZXJtaXNzaW9uKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwg
Y2FsbGJhY2spOwogfQorI2VuZGlmCiAKIHZvaWQgTm90aWZpY2F0aW9uQ2VudGVyOjpzdG9wKCkK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
Q2VudGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRl
ci5oCmluZGV4IDQ5Mjk5ZTFhMDJhOTExZTkzMDYyNWQzMmZhNjQ4MzNkYmNjM2ExZWYuLjNmNmQ2
ODkwMmYzMDU3NWM4MDdiYTNjMjEwMjFkOTcwNTM3YTUxZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaApAQCAtODEsOCArODEsMTAg
QEAgcHVibGljOgogCiAgICAgTm90aWZpY2F0aW9uQ2xpZW50KiBjbGllbnQoKSBjb25zdCB7IHJl
dHVybiBtX2NsaWVudDsgfQogCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAg
IGludCBjaGVja1Blcm1pc3Npb24oKTsKICAgICB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFBhc3NS
ZWZQdHI8Vm9pZENhbGxiYWNrPik7CisjZW5kaWYKIAogICAgIHZpcnR1YWwgdm9pZCBzdG9wKCkg
T1ZFUlJJREU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uQ2VudGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uQ2VudGVyLmlkbAppbmRleCBlNTA4NDQ3ZDQ5ZWJhYTQxOWNmZTcyNTAwMjRjOTMxMTYy
ZWVkZDdlLi4xNGY4OThjZWExMTU4OTM4YWVjYzhjMjcyYmU3MGY3OTQ1MDg2YzhlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRs
CkBAIC00Myw4ICs0MywxMCBAQCBtb2R1bGUgdGhyZWFkcyB7CiAgICAgICAgW1Y4Q3VzdG9tXSBO
b3RpZmljYXRpb24gY3JlYXRlTm90aWZpY2F0aW9uKGluIERPTVN0cmluZyBpY29uVXJsLCBpbiBE
T01TdHJpbmcgdGl0bGUsIGluIERPTVN0cmluZyBib2R5KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsK
ICNlbmRpZgogCisjaWYgZGVmaW5lZChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICYmIEVO
QUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUwogICAgICAgIGludCBjaGVja1Blcm1pc3Npb24oKTsK
ICAgICAgICBbQ3VzdG9tXSB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKGluIFZvaWRDYWxsYmFjayBj
YWxsYmFjayk7CisjZW5kaWYKICAgICB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DbGllbnQuaAppbmRleCBjMWIzMzliMzRhNmM3NzBmOTZm
NzllYzg1NGUyYjIwODA5OWJkMWQwLi42Y2QxNzE3NTllNzhhNzdkZGQ0NGQ5NDRkZTM0ZjlmMTg0
ZGJhNWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ2xpZW50LmgKQEAgLTM4LDggKzM4LDkgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgRG9jdW1lbnQ7Ci1jbGFzcyBOb3RpZmljYXRpb247CiBjbGFzcyBLVVJMOworY2xhc3MgTm90
aWZpY2F0aW9uOworY2xhc3MgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrOwogY2xhc3Mg
UGFnZTsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKQEAgLTcwLDEwICs3MSwxNSBA
QCBwdWJsaWM6CiAgICAgLy8gSW5mb3JtcyB0aGUgcHJlc2VudGVyIHRoZSBjb250cm9sbGVyIGF0
dGFjaGVkIHRvIHRoZSBwYWdlIGhhcyBiZWVuIGRlc3Ryb3llZC4KICAgICB2aXJ0dWFsIHZvaWQg
bm90aWZpY2F0aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpID0gMDsKIAorI2lmIEVOQUJMRShMRUdB
Q1lfTk9USUZJQ0FUSU9OUykKICAgICAvLyBSZXF1ZXN0cyB1c2VyIHBlcm1pc3Npb24gdG8gc2hv
dyBkZXNrdG9wIG5vdGlmaWNhdGlvbnMgZnJvbSBhIHBhcnRpY3VsYXIKICAgICAvLyBzY3JpcHQg
Y29udGV4dC4gVGhlIGNhbGxiYWNrIHBhcmFtZXRlciBzaG91bGQgYmUgcnVuIHdoZW4gdGhlIHVz
ZXIgaGFzCiAgICAgLy8gbWFkZSBhIGRlY2lzaW9uLgogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0
UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxWb2lkQ2FsbGJh
Y2s+KSA9IDA7CisjZW5kaWYKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyAgICB2aXJ0dWFs
IHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQ
dHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPikgPSAwOworI2VuZGlmCiAKICAgICAv
LyBDYW5jZWwgYWxsIG91dHN0YW5kaW5nIHJlcXVlc3RzIGZvciB0aGUgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dAogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24oU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCopID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggYi9Tb3VyY2UvV2Vi
Q29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjg0ZTczMmE3ZjlhMjk5OWQyNmYyYjc4ZGRiYTNmNjI5MDA4YmY2ZjkKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjay5oCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTm90aWZp
Y2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrX2gKKyNkZWZpbmUgTm90aWZpY2F0aW9uUGVybWlzc2lv
bkNhbGxiYWNrX2gKKworI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorCisjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjayA6IHB1YmxpYyBS
ZWZDb3VudGVkPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4geworcHVibGljOgorICAg
IHZpcnR1YWwgfk5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaygpIHsgfQorICAgIHZpcnR1
YWwgYm9vbCBoYW5kbGVFdmVudChjb25zdCBTdHJpbmcmIHBlcm1pc3Npb24pID0gMDsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05T
KQorCisjZW5kaWYgLy8gTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNh
bGxiYWNrLmlkbCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZjExMTYxMmUyNDBjZWNhYTE5ZmI1ZWE3
MWFhY2Q3ZDI2MDkzYzIwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsCkBAIC0wLDAgKzEsMzUg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
Q09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBD
T01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKK21vZHVsZSB0aHJlYWRzIHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAg
IENvbmRpdGlvbmFsPU5PVElGSUNBVElPTlMsCisgICAgICAgIENhbGxiYWNrCisgICAgXSBOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgeworICAgICAgICBib29sZWFuIGhhbmRsZUV2ZW50
KGluIERPTVN0cmluZyBwZXJtaXNzaW9uKTsKKyAgICB9OworCit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmggYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmgKaW5kZXgg
YzQzZTFkNjBkMjRmMzQ1YzkzZTg1ZTcyYzQxYmQ0MWU4MjRiNDk5Zi4uNjkxOTg0OTg5YjJjYzJl
YWEwNGJiMDU1OWMwZWQ1YjFlZTE1ODllZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL05vdGlmaWNhdGlvblByZXNlbnRlckltcGwuaApAQCAtNTYsNyArNTYsMTIg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25PYmplY3REZXN0cm95ZWQo
V2ViQ29yZTo6Tm90aWZpY2F0aW9uKiBvYmplY3QpOwogICAgIHZpcnR1YWwgdm9pZCBub3RpZmlj
YXRpb25Db250cm9sbGVyRGVzdHJveWVkKCk7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpOb3RpZmlj
YXRpb25DbGllbnQ6OlBlcm1pc3Npb24gY2hlY2tQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqKTsKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAg
dmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqICwgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4gY2FsbGJhY2sp
OworI2VuZGlmCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisgICAgdmlydHVhbCB2b2lkIHJl
cXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqICwgV1RGOjpQ
YXNzUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4gY2FsbGJhY2spIHsgfQorI2VuZGlmCiAg
ICAgdmlydHVhbCB2b2lkIGNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbihXZWJDb3JlOjpTY3Jp
cHRFeGVjdXRpb25Db250ZXh0Kikge30KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oIGIvU291cmNl
L1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgKaW5kZXgg
NWRmYTA0NmRmZGZmNTQzYzFlMjA5NDI4ZDM4YjhjOGQ0N2JmMzIyYi4uOTQ1MzVkMzYxNWQxOTU1
NTNhMzM4YzBmMzI5YjZmZjYzMTMxMWU2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgKQEAgLTM0LDExICsz
NCwxMyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBOb3RpZmljYXRpb247CitjbGFz
cyBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25D
b250ZXh0OwogY2xhc3MgVm9pZENhbGxiYWNrOwogfQogCiBAY2xhc3MgV2ViTm90aWZpY2F0aW9u
OworQGNsYXNzIFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyOwogQGNsYXNzIFdlYlZpZXc7
CiAKIGNsYXNzIFdlYk5vdGlmaWNhdGlvbkNsaWVudCA6IHB1YmxpYyBXZWJDb3JlOjpOb3RpZmlj
YXRpb25DbGllbnQgewpAQCAtNTIsMTAgKzU0LDE5IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2
b2lkIGNsZWFyTm90aWZpY2F0aW9ucyhXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Kikg
T1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmaWNhdGlvbk9iamVjdERlc3Ryb3llZChX
ZWJDb3JlOjpOb3RpZmljYXRpb24qKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZp
Y2F0aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpIE9WRVJSSURFOworI2lmIEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykKICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oV2ViQ29y
ZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxi
YWNrPikgT1ZFUlJJREU7CisjZW5kaWYKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyAgICB2
aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCosIFBhc3NSZWZQdHI8V2ViQ29yZTo6Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNr
PikgT1ZFUlJJREU7CisjZW5kaWYKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsUmVxdWVzdHNGb3JQ
ZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBPVkVSUklERSB7IH0K
ICAgICB2aXJ0dWFsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBjaGVj
a1Blcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIE9WRVJSSURFOwog
CisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9O
UykKKyAgICB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqLCBXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciAqKTsKKyNlbmRpZgorCiAgICAg
V2ViVmlldyAqbV93ZWJWaWV3OwogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgSGFzaE1hcDxSZWZQdHI8V2ViQ29yZTo6Tm90aWZp
Y2F0aW9uPiwgUmV0YWluUHRyPFdlYk5vdGlmaWNhdGlvbj4gPiBtX25vdGlmaWNhdGlvbk1hcDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNh
dGlvbkNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlm
aWNhdGlvbkNsaWVudC5tbQppbmRleCBjOGIxZTJkMWUzN2EwMTIwYjg5MDcwMGE5YmQ1ODY2ZmY4
NTZhODFmLi4wNjg2ZmU1M2E3NWRmMTA5MDU5MTlmMzM4MDRkYzQyNzQ5MGY1ZDgyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGll
bnQubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0
aW9uQ2xpZW50Lm1tCkBAIC0zNywxNCArMzcsMzIgQEAKICNpbXBvcnQgPFdlYkNvcmUvU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oPgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykK
KyNpbXBvcnQgPFdlYkNvcmUvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmg+CisjZW5k
aWYKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaW1wb3J0IDxXZWJDb3JlL1Zv
aWRDYWxsYmFjay5oPgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiAjaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIEBp
bnRlcmZhY2UgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgOiBOU09iamVjdCA8V2ViQWxs
b3dEZW55UG9saWN5TGlzdGVuZXI+CiB7Ci0gICAgUmVmUHRyPFZvaWRDYWxsYmFjaz4gX2NhbGxi
YWNrOworI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorICAgIFJlZlB0cjxOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uQ2FsbGJhY2s+IF9jYWxsYmFjazsKKyNlbmRpZgorI2lmIEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykKKyAgICBSZWZQdHI8Vm9pZENhbGxiYWNrPiBfdm9pZENhbGxiYWNrOwor
I2VuZGlmCiB9Ci0tIChpZClpbml0V2l0aENhbGxiYWNrOihQYXNzUmVmUHRyPFZvaWRDYWxsYmFj
az4pY2FsbGJhY2s7CisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCistIChpZClpbml0V2l0aENh
bGxiYWNrOihQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4pY2FsbGJh
Y2s7CisjZW5kaWYKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCistIChpZClpbml0
V2l0aFZvaWRDYWxsYmFjazooUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+KWNhbGxiYWNrOworI2Vu
ZGlmCisKIEBlbmQKICNlbmRpZgogCkBAIC0xNDgsMjkgKzE2Niw0MiBAQCB2b2lkIFdlYk5vdGlm
aWNhdGlvbkNsaWVudDo6bm90aWZpY2F0aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpCiAgICAgZGVs
ZXRlIHRoaXM7CiB9CiAKLXZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlz
c2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPFZvaWRDYWxs
YmFjaz4gY2FsbGJhY2spCi17CiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUykKLSAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7Ci0g
ICAgCit2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIg
Kmxpc3RlbmVyKQorewogICAgIFNFTCBzZWxlY3RvciA9IEBzZWxlY3Rvcih3ZWJWaWV3OmRlY2lk
ZVBvbGljeUZvck5vdGlmaWNhdGlvblJlcXVlc3RGcm9tT3JpZ2luOmxpc3RlbmVyOik7CiAgICAg
aWYgKCFbW21fd2ViVmlldyBVSURlbGVnYXRlXSByZXNwb25kc1RvU2VsZWN0b3I6c2VsZWN0b3Jd
KQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgV2ViU2VjdXJpdHlPcmlnaW4gKndlYk9yaWdp
biA9IFtbV2ViU2VjdXJpdHlPcmlnaW4gYWxsb2NdIF9pbml0V2l0aFdlYkNvcmVTZWN1cml0eU9y
aWdpbjpjb250ZXh0LT5zZWN1cml0eU9yaWdpbigpXTsKLSAgICBXZWJOb3RpZmljYXRpb25Qb2xp
Y3lMaXN0ZW5lciogbGlzdGVuZXIgPSBbW1dlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGFs
bG9jXSBpbml0V2l0aENhbGxiYWNrOmNhbGxiYWNrXTsKICAgICAKICAgICBDYWxsVUlEZWxlZ2F0
ZShtX3dlYlZpZXcsIHNlbGVjdG9yLCB3ZWJPcmlnaW4sIGxpc3RlbmVyKTsKICAgICAKICAgICBb
d2ViT3JpZ2luIHJlbGVhc2VdOworfQorI2VuZGlmCisKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpCit2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pc3Npb24o
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+
IGNhbGxiYWNrKQoreworICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKKyAgICBXZWJO
b3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciAqbGlzdGVuZXIgPSBbW1dlYk5vdGlmaWNhdGlvblBv
bGljeUxpc3RlbmVyIGFsbG9jXSBpbml0V2l0aFZvaWRDYWxsYmFjazpjYWxsYmFja107CisgICAg
cmVxdWVzdFBlcm1pc3Npb24oY29udGV4dCwgbGlzdGVuZXIpOwogICAgIFtsaXN0ZW5lciByZWxl
YXNlXTsKLSAgICAKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwotI2Vsc2UKLSAgICBV
TlVTRURfUEFSQU0oY29udGV4dCk7Ci0gICAgVU5VU0VEX1BBUkFNKGNhbGxiYWNrKTsKK30KICNl
bmRpZgorCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCit2b2lkIFdlYk5vdGlmaWNhdGlvbkNs
aWVudDo6cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwg
UGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNhbGxiYWNrKQorewor
ICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKKyAgICBXZWJOb3RpZmljYXRpb25Qb2xp
Y3lMaXN0ZW5lciAqbGlzdGVuZXIgPSBbW1dlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGFs
bG9jXSBpbml0V2l0aENhbGxiYWNrOmNhbGxiYWNrXTsKKyAgICByZXF1ZXN0UGVybWlzc2lvbihj
b250ZXh0LCBsaXN0ZW5lcik7CisgICAgW2xpc3RlbmVyIHJlbGVhc2VdOworICAgIEVORF9CTE9D
S19PQkpDX0VYQ0VQVElPTlM7CiB9CisjZW5kaWYKIAogTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJt
aXNzaW9uIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2hlY2tQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQpCiB7CkBAIC0yMDAsNyArMjMxLDkgQEAgTm90aWZpY2F0aW9u
Q2xpZW50OjpQZXJtaXNzaW9uIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2hlY2tQZXJtaXNzaW9u
KFNjcmlwdEV4ZWMKIAogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCiBAaW1wbGVtZW50YXRpb24gV2ViTm90aWZpY2F0aW9uUG9saWN5TGlz
dGVuZXIKLS0gKGlkKWluaXRXaXRoQ2FsbGJhY2s6KFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPilj
YWxsYmFjaworCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCistIChpZClpbml0V2l0aENhbGxi
YWNrOihQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4pY2FsbGJhY2sK
IHsKICAgICBpZiAoIShzZWxmID0gW3N1cGVyIGluaXRdKSkKICAgICAgICAgcmV0dXJuIG5pbDsK
QEAgLTIwOSwxNSArMjQyLDQ0IEBAIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBXZWJO
b3RpZmljYXRpb25DbGllbnQ6OmNoZWNrUGVybWlzc2lvbihTY3JpcHRFeGVjCiAgICAgX2NhbGxi
YWNrID0gY2FsbGJhY2s7CiAgICAgcmV0dXJuIHNlbGY7CiB9CisjZW5kaWYKKworI2lmIEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKy0gKGlkKWluaXRXaXRoVm9pZENhbGxiYWNrOihQYXNz
UmVmUHRyPFZvaWRDYWxsYmFjaz4pY2FsbGJhY2sKK3sKKyAgICBpZiAoIShzZWxmID0gW3N1cGVy
IGluaXRdKSkKKyAgICAgICAgcmV0dXJuIG5pbDsKKworICAgIEFTU0VSVChjYWxsYmFjayk7Cisg
ICAgX3ZvaWRDYWxsYmFjayA9IGNhbGxiYWNrOworICAgIHJldHVybiBzZWxmOworfQorI2VuZGlm
CiAKIC0gKHZvaWQpYWxsb3cKIHsKLSAgICBfY2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7CisjaWYg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorICAgIGlmIChfdm9pZENhbGxiYWNrKSB7Cisg
ICAgICAgIF92b2lkQ2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisjZW5kaWYKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyAgICBfY2FsbGJhY2stPmhh
bmRsZUV2ZW50KE5vdGlmaWNhdGlvbjo6c3RyaW5nRm9yUGVybWlzc2lvbihOb3RpZmljYXRpb25D
bGllbnQ6OlBlcm1pc3Npb25BbGxvd2VkKSk7CisjZW5kaWYKIH0KIAogLSAodm9pZClkZW55CiB7
Ci0gICAgX2NhbGxiYWNrLT5oYW5kbGVFdmVudCgpOworI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJ
Q0FUSU9OUykKKyAgICBpZiAoX3ZvaWRDYWxsYmFjaykgeworICAgICAgICBfdm9pZENhbGxiYWNr
LT5oYW5kbGVFdmVudCgpOworICAgICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCisjaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpCisgICAgX2NhbGxiYWNrLT5oYW5kbGVFdmVudChOb3RpZmljYXRp
b246OnN0cmluZ0ZvclBlcm1pc3Npb24oTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uRGVu
aWVkKSk7CisjZW5kaWYKIH0KIAogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdC5oIGIvU291cmNlL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdC5oCmlu
ZGV4IDk3ZWVlMTVmMDhkNTkzZjY0MWQ5ODI1MmQ3NGQ4MmMwYTQyNjNmYTYuLjU4MTliNGQ4MDEz
YzQwODZkMDFlNzI2MTZiYWY0ZmVhN2RhNjg5YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuaAorKysgYi9T
b3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVu
dFF0LmgKQEAgLTkzLDcgKzkzLDEyIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2Vs
KE5vdGlmaWNhdGlvbiopOwogICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25PYmplY3REZXN0
cm95ZWQoTm90aWZpY2F0aW9uKik7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmaWNhdGlvbkNvbnRy
b2xsZXJEZXN0cm95ZWQoKTsKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAg
dmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQ
YXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pOworI2VuZGlmCisjaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpCisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4pIHsgfQor
I2VuZGlmCiAgICAgdmlydHVhbCBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gY2hlY2tQ
ZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKICAgICB2aXJ0dWFsIHZvaWQgY2Fu
Y2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlm
aWNhdGlvbnNEZWxlZ2F0ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9X
ZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmNwcAppbmRleCBjZmY3YTJiOTIxN2MxMWI5
MDA0NzA2ODVkMmIyMmVlODIxMjhiODMwLi5hNTY0NmYyNTU3N2U3MzAyZDQ1N2Y5ODk0NzgwZmE1
N2FkYWE4NDhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9X
ZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmNwcApAQCAt
MTc2LDYgKzE3NiwxMCBAQCB2b2lkIFdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGU6OnJl
cXVlc3RQZXJtaXNzaW9uKFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sCiAgICAgICAgIG5vdGlmaWNh
dGlvbkRlbGVnYXRlKCktPnJlcXVlc3ROb3RpZmljYXRpb25QZXJtaXNzaW9uKG9yZyk7CiB9CiAK
K3ZvaWQgV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZTo6cmVxdWVzdFBlcm1pc3Npb24o
U2VjdXJpdHlPcmlnaW4qLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFj
az4pCit7Cit9CisKIHZvaWQgV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZTo6Y2FuY2Vs
UmVxdWVzdHNGb3JQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiB7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEZXNr
dG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3Vw
cG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmgKaW5kZXggNTc1Yzk0Y2I4ODZh
Zjc3NGJmNzM3NzgxZDZiYzA3MjgyZjQxZDBkZC4uYjZmOWMyMThmNDMwNDkwN2Y2NGI1Yzk2MjRk
ZmI5YmNjMzA5Mzk4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBv
cnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
d2luL1dlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUuaApAQCAt
NTAsNyArNTAsMTIgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWwoV2ViQ29yZTo6
Tm90aWZpY2F0aW9uKiBvYmplY3QpOwogICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25PYmpl
Y3REZXN0cm95ZWQoV2ViQ29yZTo6Tm90aWZpY2F0aW9uKiBvYmplY3QpOwogICAgIHZpcnR1YWwg
dm9pZCBub3RpZmljYXRpb25Db250cm9sbGVyRGVzdHJveWVkKCk7Ci0gICAgdmlydHVhbCB2b2lk
IHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sIFBhc3NS
ZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxiYWNrPiBjYWxsYmFjayk7CisjaWYgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQorICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJD
b3JlOjpTZWN1cml0eU9yaWdpbiosIFBhc3NSZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxiYWNrPik7
CisjZW5kaWYKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyAgICB2aXJ0dWFsIHZvaWQgcmVx
dWVzdFBlcm1pc3Npb24oV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qLCBQYXNzUmVmUHRyPFdlYkNv
cmU6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4pOworI2VuZGlmCiAgICAgdmlydHVh
bCB2b2lkIGNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRp
b25Db250ZXh0Kik7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpOb3RpZmljYXRpb25DbGllbnQ6OlBl
cm1pc3Npb24gY2hlY2tQZXJtaXNzaW9uKGNvbnN0IEtVUkwmKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcAppbmRleCBmZTY2
ZTU2ZTk0OWVkNDNkYmU2OTNkZDc5ZmIyMmY2NjE2MDhmYTRlLi42NjY0ZGQxYTgxMDIwOTIxNTc0
MjQ2NjdkYjliODhiNmNjZTkzNTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDExLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTksMTEgKzU5LDEyIEBAIE5vdGlmaWNh
dGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyKFdlYlBhCiB7CiB9CiAKLXZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyOjpzdGFydFJlcXVlc3QoU2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwgUGFzc1JlZlB0
cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQordm9p
ZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OnN0YXJ0UmVxdWVzdChTZWN1
cml0eU9yaWdpbiogb3JpZ2luLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxs
YmFjaz4gY2FsbGJhY2spCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUykKLSAgICBpZiAocGVybWlzc2lvbkxldmVsKG9yaWdpbikgIT0g
Tm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uTm90QWxsb3dlZCkgewotICAgICAgICBjYWxs
YmFjay0+aGFuZGxlRXZlbnQoKTsKKyAgICBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24g
cGVybWlzc2lvbiA9IHBlcm1pc3Npb25MZXZlbChvcmlnaW4pOworICAgIGlmIChwZXJtaXNzaW9u
ICE9IE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbk5vdEFsbG93ZWQpIHsKKyAgICAgICAg
Y2FsbGJhY2stPmhhbmRsZUV2ZW50KE5vdGlmaWNhdGlvbjo6c3RyaW5nRm9yUGVybWlzc2lvbihw
ZXJtaXNzaW9uKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTcyLDExICs3MywyNSBA
QCB2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6c3RhcnRSZXF1ZXN0
KFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sCiAgICAgbV9pZFRvT3JpZ2luTWFwLnNldChyZXF1ZXN0
SUQsIG9yaWdpbik7CiAgICAgbV9pZFRvQ2FsbGJhY2tNYXAuc2V0KHJlcXVlc3RJRCwgY2FsbGJh
Y2spOwogICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpSZXF1ZXN0Tm90
aWZpY2F0aW9uUGVybWlzc2lvbihyZXF1ZXN0SUQsIG9yaWdpbi0+dG9TdHJpbmcoKSkpOwotI2Vs
c2UKLSAgICBVTlVTRURfUEFSQU0ob3JpZ2luKTsKLSAgICBVTlVTRURfUEFSQU0oY2FsbGJhY2sp
OworfQogI2VuZGlmCisKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCit2b2lkIE5v
dGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6c3RhcnRSZXF1ZXN0KFNlY3VyaXR5
T3JpZ2luKiBvcmlnaW4sIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFjaykKK3sKKyAg
ICBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gcGVybWlzc2lvbiA9IHBlcm1pc3Npb25M
ZXZlbChvcmlnaW4pOworICAgIGlmIChwZXJtaXNzaW9uICE9IE5vdGlmaWNhdGlvbkNsaWVudDo6
UGVybWlzc2lvbk5vdEFsbG93ZWQpIHsKKyAgICAgICAgY2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgCisgICAgdWludDY0X3QgcmVxdWVzdElEID0g
Z2VuZXJhdGVSZXF1ZXN0SUQoKTsKKyAgICBtX29yaWdpblRvSURNYXAuc2V0KG9yaWdpbiwgcmVx
dWVzdElEKTsKKyAgICBtX2lkVG9PcmlnaW5NYXAuc2V0KHJlcXVlc3RJRCwgb3JpZ2luKTsKKyAg
ICBtX2lkVG9Wb2lkQ2FsbGJhY2tNYXAuc2V0KHJlcXVlc3RJRCwgY2FsbGJhY2spOworICAgIG1f
cGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpSZXF1ZXN0Tm90aWZpY2F0aW9uUGVy
bWlzc2lvbihyZXF1ZXN0SUQsIG9yaWdpbi0+dG9TdHJpbmcoKSkpOwogfQorI2VuZGlmCiAKIHZv
aWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpjYW5jZWxSZXF1ZXN0KFNl
Y3VyaXR5T3JpZ2luKiBvcmlnaW4pCiB7CkBAIC04Niw3ICsxMDEsMTIgQEAgdm9pZCBOb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OmNhbmNlbFJlcXVlc3QoU2VjdXJpdHlPcmln
aW4qIG9yaWdpbikKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIG1faWRUb09yaWdpbk1hcC5y
ZW1vdmUoaWQpOworI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIG1faWRUb0NhbGxiYWNr
TWFwLnJlbW92ZShpZCk7CisjZW5kaWYKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CisgICAgbV9pZFRvVm9pZENhbGxiYWNrTWFwLnJlbW92ZShpZCk7CisjZW5kaWYKICNlbHNlCiAg
ICAgVU5VU0VEX1BBUkFNKG9yaWdpbik7CiAjZW5kaWYKQEAgLTExMSwxMSArMTMxLDE5IEBAIHZv
aWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpkaWRSZWNlaXZlTm90aWZp
Y2F0aW9uUGVybWlzc2lvbkRlY2lzCiAgICAgaWYgKCFpc1JlcXVlc3RJRFZhbGlkKHJlcXVlc3RJ
RCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIFJlZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNr
ID0gbV9pZFRvQ2FsbGJhY2tNYXAudGFrZShyZXF1ZXN0SUQpOworI2lmIEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykKKyAgICBSZWZQdHI8Vm9pZENhbGxiYWNrPiB2b2lkQ2FsbGJhY2sgPSBt
X2lkVG9Wb2lkQ2FsbGJhY2tNYXAudGFrZShyZXF1ZXN0SUQpOworICAgIGlmICh2b2lkQ2FsbGJh
Y2spIHsKKyAgICAgICAgdm9pZENhbGxiYWNrLT5oYW5kbGVFdmVudCgpOworICAgICAgICByZXR1
cm47CisgICAgfQorI2VuZGlmCisKKyAgICBSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNh
bGxiYWNrPiBjYWxsYmFjayA9IG1faWRUb0NhbGxiYWNrTWFwLnRha2UocmVxdWVzdElEKTsKICAg
ICBpZiAoIWNhbGxiYWNrKQogICAgICAgICByZXR1cm47CiAgICAgCi0gICAgY2FsbGJhY2stPmhh
bmRsZUV2ZW50KCk7CisgICAgY2FsbGJhY2stPmhhbmRsZUV2ZW50KE5vdGlmaWNhdGlvbjo6c3Ry
aW5nRm9yUGVybWlzc2lvbihhbGxvd2VkID8gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9u
QWxsb3dlZCA6IE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbkRlbmllZCkpOwogI2Vsc2UK
ICAgICBVTlVTRURfUEFSQU0ocmVxdWVzdElEKTsKICAgICBVTlVTRURfUEFSQU0oYWxsb3dlZCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
LmgKaW5kZXggMDM5Nzg3OWJhNmJmNTE2NmM4NTA4NTk0NmYwNGY2ZWYyM2QwZWU2MC4uM2IzNzk5
YWUzYmZiYTA1MDAzMDk4MDA1OGI2NWVmN2M0MjAzZDAwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaApAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjcsNiArMjcsNyBAQAog
I2RlZmluZSBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJfaAogCiAjaW5jbHVk
ZSA8V2ViQ29yZS9Ob3RpZmljYXRpb25DbGllbnQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL05vdGlm
aWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVm9pZENhbGxi
YWNrLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRl
ZC5oPgpAQCAtNDUsOCArNDYsMTMgQEAgY2xhc3MgV2ViUGFnZTsKIGNsYXNzIE5vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlciA6IHB1YmxpYyBSZWZDb3VudGVkPE5vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcj4gewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVm
UHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcj4gY3JlYXRlKFdlYlBhZ2Uq
KTsKLSAgICAKKworI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorICAgIHZvaWQgc3RhcnRSZXF1
ZXN0KFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luKiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpOb3RpZmlj
YXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KTsKKyNlbmRpZgorI2lmIEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKICAgICB2b2lkIHN0YXJ0UmVxdWVzdChXZWJDb3JlOjpTZWN1cml0eU9yaWdp
biosIFBhc3NSZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxiYWNrPik7CisjZW5kaWYKICAgICB2b2lk
IGNhbmNlbFJlcXVlc3QoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qKTsKICAgICAKICAgICAvLyBT
eW5jaHJvbm91cyBjYWxsIHRvIHJldHJpZXZlIHBlcm1pc3Npb24gbGV2ZWwgZm9yIGdpdmVuIHNl
Y3VyaXR5IG9yaWdpbgpAQCAtNTYsOCArNjIsMTMgQEAgcHVibGljOgogICAgIAogcHJpdmF0ZToK
ICAgICBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoV2ViUGFnZSopOwotICAg
IAotICAgIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJhY2s+ID4g
bV9pZFRvQ2FsbGJhY2tNYXA7CisKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyAgICBIYXNo
TWFwPHVpbnQ2NF90LCBSZWZQdHI8V2ViQ29yZTo6Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxi
YWNrPiA+IG1faWRUb0NhbGxiYWNrTWFwOworI2VuZGlmCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQorICAgIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxXZWJDb3JlOjpWb2lkQ2Fs
bGJhY2s+ID4gbV9pZFRvVm9pZENhbGxiYWNrTWFwOworI2VuZGlmCiAgICAgSGFzaE1hcDxSZWZQ
dHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+LCB1aW50NjRfdD4gbV9vcmlnaW5Ub0lETWFwOwog
ICAgIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4gPiBt
X2lkVG9PcmlnaW5NYXA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
Tm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcAppbmRl
eCBlMTBjYWNiMGE2MWMzNDAyZjk2MmVhZWI1YWY2NWNmMTgyMWI2ZTlhLi4yZDY2N2VmNWUxNzJi
MWQ4Y2NkODYzZTQxNzFjNmY0YjQzNGQxODk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1h
bmFnZXIuY3BwCkBAIC0xMTcsOCArMTE3LDEyIEBAIGJvb2wgV2ViTm90aWZpY2F0aW9uTWFuYWdl
cjo6c2hvdyhOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbiwgV2ViUGFnZSogcGFnZSkKICAgICAK
ICAgICBOb3RpZmljYXRpb25Db250ZXh0TWFwOjppdGVyYXRvciBpdCA9IG1fbm90aWZpY2F0aW9u
Q29udGV4dE1hcC5hZGQobm90aWZpY2F0aW9uLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIFZl
Y3Rvcjx1aW50NjRfdD4oKSkuaXRlcmF0b3I7CiAgICAgaXQtPnNlY29uZC5hcHBlbmQobm90aWZp
Y2F0aW9uSUQpOwotICAgIAorCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisgICAgbV9wcm9j
ZXNzLT5jb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2hvd05vdGlm
aWNhdGlvbihub3RpZmljYXRpb24tPnRpdGxlKCksIG5vdGlmaWNhdGlvbi0+Ym9keSgpLCBub3Rp
ZmljYXRpb24tPmljb25VUkwoKS5zdHJpbmcoKSwgbm90aWZpY2F0aW9uLT50YWcoKSwgbm90aWZp
Y2F0aW9uLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCktPnRvU3Ry
aW5nKCksIG5vdGlmaWNhdGlvbklEKSwgcGFnZS0+cGFnZUlEKCkpOworI2Vsc2UKICAgICBtX3By
b2Nlc3MtPmNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTaG93Tm90
aWZpY2F0aW9uKG5vdGlmaWNhdGlvbi0+dGl0bGUoKSwgbm90aWZpY2F0aW9uLT5ib2R5KCksIG5v
dGlmaWNhdGlvbi0+aWNvblVSTCgpLnN0cmluZygpLCBub3RpZmljYXRpb24tPnJlcGxhY2VJZCgp
LCBub3RpZmljYXRpb24tPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4o
KS0+dG9TdHJpbmcoKSwgbm90aWZpY2F0aW9uSUQpLCBwYWdlLT5wYWdlSUQoKSk7CisjZW5kaWYK
ICAgICByZXR1cm4gdHJ1ZTsKICNlbHNlCiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25D
bGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJO
b3RpZmljYXRpb25DbGllbnQuY3BwCmluZGV4IDhhYzc4ZDVmNDQ2NzI3OTgzZjliMjVlYTU5ODEx
MDNjOWQzNmQ3NzguLjc5YmFjMWFlOWM2NDM5NTMzMGFkN2U4MDc1YWJhMWMxM2M1N2ZmYTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90
aWZpY2F0aW9uQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgot
ICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTcyLDEwICs3MiwxOSBAQCB2b2lk
IFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6bm90aWZpY2F0aW9uQ29udHJvbGxlckRlc3Ryb3llZCgp
CiAgICAgZGVsZXRlIHRoaXM7CiB9CiAKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CiB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNr
KQogewogICAgIG1fcGFnZS0+bm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKCkt
PnN0YXJ0UmVxdWVzdChjb250ZXh0LT5zZWN1cml0eU9yaWdpbigpLCBjYWxsYmFjayk7CiB9Cisj
ZW5kaWYKKworI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQordm9pZCBXZWJOb3RpZmljYXRpb25D
bGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQs
IFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBjYWxsYmFjaykKK3sK
KyAgICBtX3BhZ2UtPm5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcigpLT5zdGFy
dFJlcXVlc3QoY29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKSwgY2FsbGJhY2spOworfQorI2VuZGlm
CiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Np
b24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50
LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNh
dGlvbkNsaWVudC5oCmluZGV4IDQ2ZWIyYTVkODg4OTA2NmNiMDQzNDYyYTExNDkxYjU5MjQ1NzVj
YWIuLmRlMzBiMGU5ZWY3ZWQ2MGEwNTdhZmFiNjViOWY3NWQ3NTYwYTkwZjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9u
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJOb3RpZmljYXRpb25DbGllbnQuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDExLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUv
Tm90aWZpY2F0aW9uQ2xpZW50Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIE5vdGlm
aWNhdGlvblBlcm1pc3Npb25DYWxsYmFjazsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7
CiBjbGFzcyBWb2lkQ2FsbGJhY2s7CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkBAIC01MCw3ICs1
MSwxMiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBjbGVhck5vdGlmaWNhdGlvbnMoV2Vi
Q29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9p
ZCBub3RpZmljYXRpb25PYmplY3REZXN0cm95ZWQoV2ViQ29yZTo6Tm90aWZpY2F0aW9uKikgT1ZF
UlJJREU7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmaWNhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQo
KSBPVkVSUklERTsKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgdmlydHVh
bCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
LCBQYXNzUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4pIE9WRVJSSURFOworI2VuZGlmCisj
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNz
aW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPFdlYkNvcmU6
Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4pIE9WRVJSSURFOworI2VuZGlmCiAgICAg
dmlydHVhbCB2b2lkIGNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRF
eGVjdXRpb25Db250ZXh0KikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBOb3RpZmljYXRpb25DbGll
bnQ6OlBlcm1pc3Npb24gY2hlY2tQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqKSBPVkVSUklERTsKICAgICAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139370</attachid>
            <date>2012-04-28 13:00:29 -0700</date>
            <delta_ts>2012-04-28 13:41:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80485-20120428130242.patch</filename>
            <type>text/plain</type>
            <size>71347</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1NTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWJkZjg5NDZkMjlhNWVi
MTcyNWIzZGEzMWZmYzUyZDdmNGQyZDQ0Ny4uYjU4ZTVlYzQ3YmEyNDQ1ZWRlNjYzMmE1ZDZhMDU4
MGI0MDdjZDBhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEyLTA0LTI3ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVu
Y3Rpb25zIHRvIE5vdGlmaWNhdGlvbiBmcm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzEwOTY1NDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsOiBBZGQgcGVy
bWlzc2lvbiBmdW5jdGlvbnMuCisKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5jcHA6IE5ldyBwZXJtaXNzaW9uIGZ1bmN0aW9ucyBhcmUgd3JhcHBlZCB3aXRoIEVOQUJMRShO
T1RJRklDQVRJT05TKQorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjp0YXNrVGltZXJG
aXJlZCk6IFVzZSB0aGUgbmV3IHBlcm1pc3Npb24gZnVuY3Rpb25zIHRvIGRldGVybWluZSB3aGV0
aGVyIHdlIGNhbiBzaG93IHRoZQorICAgICAgICBub3RpZmljYXRpb24uCisgICAgICAgIChXZWJD
b3JlOjpOb3RpZmljYXRpb246OnBlcm1pc3Npb25MZXZlbCk6CisgICAgICAgIChXZWJDb3JlOjpO
b3RpZmljYXRpb246OnN0cmluZ0ZvclBlcm1pc3Npb24pOiBEZWNsYXJlIHRocmVlIHN0YXRpYyBs
b2NhbHMgZm9yIGVhY2ggb2YgdGhlIHZhbHVlcywgYW5kIHJldHVybgorICAgICAgICBiYXNlZCBv
biB0aGUgcGVybWlzc2lvbiBlbnVtLgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpy
ZXF1ZXN0UGVybWlzc2lvbik6IEZvcndhcmQgcmVxdWVzdCB0byBjbGllbnQuCisgICAgICAgICog
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaDoKKworICAgICAgICAqIG5vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmg6IEFkZGVkLgorICAgICAgICAoTm90aWZp
Y2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjazo6fk5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjayk6Cisg
ICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRs
OiBBZGRlZC4KKworICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNw
cDogV3JhcCBwZXJtaXNzaW9uIGZ1bmN0aW9ucyBpbiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaDogV3JhcCBw
ZXJtaXNzaW9uIGZ1bmN0aW9ucyBpbiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAg
ICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsOiBXcmFwIHBlcm1pc3Np
b24gZnVuY3Rpb25zIGluIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBu
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvblByZXNlbnRlci5oOgorICAgICAgICAoV2ViQ29yZTo6
Tm90aWZpY2F0aW9uUHJlc2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbik6IEFkZCBuZXcgcmVxdWVz
dFBlcm1pc3Npb24oKSBmdW5jdGlvbiBmb3IgbmV3CisgICAgICAgIE5vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjayB0eXBlLiBNYWtlIGl0IGEgc3R1YiBpbXBsZW1lbnRhdGlvbiB1bnRpbCBh
bGwgcG9ydHMgaGF2ZSBhZG9wdGVkLgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25DbGllbnQuaDogQWRkIGFub3RoZXIgcmVxdWVzdFBlcm1pc3Npb24oKSBjbGllbnQgY2Fs
bCwgd3JhcHBlZCBpbgorICAgICAgICBFTkFCTEUoTk9USUZJQ0FUSU9OUykgdGhhdCBhY2NlcHRz
IHRoZSBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suIFdyYXAgdGhlIG9yaWdpbmFsIG9u
ZSBpbgorICAgICAgICBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpLgorCisgICAgICAgICog
YmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3RvbS5jcHA6IENoYW5nZSB0byBp
bmNsdWRlIHRoZSBpbXBsZW1lbnRhdGlvbiBvbmx5IGluCisgICAgICAgIEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykuCisgICAgICAgICogYmluZGluZ3MvanMvSlNOb3RpZmljYXRpb25zQ3Vz
dG9tLmNwcDogQ3VzdG9tIGltcGxlbWVudGF0aW9uIG9mIHJlcXVlc3RQZXJtaXNzaW9uKCkuCisg
ICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcDogQ3Vz
dG9tIGltcGxlbWVudGF0aW9uIG9mIHJlcXVlc3RQZXJtaXNzaW9uKCkuCisKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDogQWRkIG5ldyBjYWxsYmFjayBpZGwuCisgICAgICAgICogRGVyaXZlZFNv
dXJjZXMubWFrZTogQWRkIG5ldyBjYWxsYmFjayBpZGwuCisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMucHJpOiBBZGQgbmV3IGNhbGxiYWNrIGlkbC4KKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0
LmFtOiBBZGQgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrIGZpbGVzLgorICAgICAgICAq
IFRhcmdldC5wcmk6IEluY2x1ZGUgSlNOb3RpZmljYXRpb25DdXN0b20uY3BwLCBWOE5vdGlmaWNh
dGlvbkN1c3RvbS5jcHAKKyAgICAgICAgKiBVc2VKU0MuY21ha2U6IEluY2x1ZGUgSlNOb3RpZmlj
YXRpb25DdXN0b20uY3BwCisgICAgICAgICogVXNlVjguY21ha2U6IEluY2x1ZGUgVjhOb3RpZmlj
YXRpb25DdXN0b20uY3BwCisgICAgICAgICogV2ViQ29yZS5neXBpOiBJbmNsdWRlIEpTTm90aWZp
Y2F0aW9uQ3VzdG9tLmNwcCwgVjhOb3RpZmljYXRpb25DdXN0b20uY3BwLCBKU05vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjay57aCxjcHB9CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2o6IEluY2x1ZGUgSlNOb3RpZmljYXRpb25DdXN0b20uY3BwLCBKU05vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjay57aCxjcHB9CisgICAgICAgICogV2ViQ29yZS5leHAuaW46
IEV4cG9ydCBzdHJpbmdGb3JQZXJtaXNzaW9uKCkuCisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOiBBZGQgY2FsbGJhY2sgaWRsLCBoLCBhbmQgY3BwIGZpbGVzLgor
CiAyMDEyLTA0LTI4ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBJbnNwZWN0b3JGcm9udGVuZEhvc3QuYXBwZW5kIGhhcyB0
byBiZSBpbXBsZW1lbnRlZCBmb3Igc2F2aW5nIGhlYXAgc25hcHNob3RzLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwppbmRleCA5MDEwMzJmOWVkMTFhNWMxYzgxZTFlYzA5MTk4Y2I0ZGUyNjBhNWY4
Li4yZGQwMjNjMjUwYjg3OTYxMGZhMjM1NjVjZjM1MDU1ODM2YzkzOTkyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA0LTI3ICBKb24gTGVlICA8am9u
bGVlQGFwcGxlLmNvbT4KKworICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVuY3Rpb25zIHRv
IE5vdGlmaWNhdGlvbiBmcm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzEwOTY1NDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogc3JjL05vdGlmaWNhdGlvblByZXNlbnRlckltcGwuaDoKKyAgICAgICAgKE5vdGlm
aWNhdGlvblByZXNlbnRlckltcGwpOiBBZGQgc3R1YiBpbXBsZW1lbnRhdGlvbiBvZiByZXF1ZXN0
UGVybWlzc2lvbi4KKyAgICAgICAgKFdlYktpdDo6Tm90aWZpY2F0aW9uUHJlc2VudGVySW1wbDo6
cmVxdWVzdFBlcm1pc3Npb24pOgorCiAyMDEyLTA0LTI4ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9p
c2xvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBJbnNwZWN0b3JGcm9u
dGVuZEhvc3QuYXBwZW5kIGhhcyB0byBiZSBpbXBsZW1lbnRlZCBmb3Igc2F2aW5nIGhlYXAgc25h
cHNob3RzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDMzYjc4MDJmYzhhMGVlZGI5ZDIxNmNmZTM1MmRm
YzY5YjEyNzk3YjEuLjk4MmFhMTljZDE4NWQ0ZjBhMmU2MjAyNjQ3YWJiN2NhODI2ZTI2ZWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxMi0wNC0yNyAgSm9uIExlZSAgPGpv
bmxlZUBhcHBsZS5jb20+CisKKyAgICAgICAgTWlncmF0ZSBwZXJtaXNzaW9uIGZ1bmN0aW9ucyB0
byBOb3RpZmljYXRpb24gZnJvbSBOb3RpZmljYXRpb25DZW50ZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDg1CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS8xMDk2NTQ1OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oOiAqCisgICAg
ICAgIFdlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5tbTogQWRkIGEgc2VwYXJh
dGUgY2FsbGJhY2sKKyAgICAgICAgdmFyaWFibGUgZGVwZW5kaW5nIG9uIHRoZSBub3RpZmljYXRp
b25zIEFQSSBlbmFibGVkLgorICAgICAgICAoV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0
UGVybWlzc2lvbik6IEFkZAorICAgICAgICBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sg
dmVyc2lvbiBvZiB0aGUgc2FtZQorICAgICAgICBmdW5jdGlvbi4gQW5kIHJlZmFjdG9yIGNvbW1v
biBjb2RlIGludG8gcHJpdmF0ZSBmdW5jdGlvbi4KKyAgICAgICAgKC1bV2ViTm90aWZpY2F0aW9u
UG9saWN5TGlzdGVuZXIgaW5pdFdpdGhDYWxsYmFjazpdKTogUmVmYWN0b3IgdG8KKyAgICAgICAg
dGFrZSB0aGUgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrIGFzIGEgcGFyYW1ldGVyLgor
ICAgICAgICAoLVtXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciBpbml0V2l0aFZvaWRDYWxs
YmFjazpdKTogQWRkIG5ldworICAgICAgICBpbml0IG1ldGhvZCB0byBoYW5kbGUgbGVnYWN5IEFQ
SS4KKyAgICAgICAgKC1bV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgYWxsb3ddKTogSW52
b2tlIHRoZSBjYWxsYmFjayBmb3IKKyAgICAgICAgYm90aCB2YXJpYWJsZXMuIElmIG9ubHkgb25l
IG9mIHRoZSBBUElzIGlzIGVuYWJsZWQsIHdlIGFyZQorICAgICAgICBndWFyYW50ZWVkIHRoYXQg
dGhlIHJlbGV2YW50IGNhbGxiYWNrIHZhcmlhYmxlIGV4aXN0cy4gSWYgYm90aAorICAgICAgICBB
UElzIGFyZSBzdXBwb3J0ZWQsIGl0IGlzIHBvc3NpYmxlIHRoYXQgX3ZvaWRDYWxsYmFjayB3aWxs
IGJlIG5pbAorICAgICAgICBpZiB0aGUgY2FsbGJhY2sgaXMgTm90aWZpY2F0aW9uUGVybWlzc2lv
bkNhbGxiYWNrLCBzbyB3ZSBuZWVkIHRoZQorICAgICAgICBleHRyYSBwb2ludGVyIGNoZWNrLgor
ICAgICAgICAoLVtXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciBkZW55XSk6IERpdHRvLgor
CiAyMDEyLTA0LTI3ICBHYXZpbiBQZXRlcnMgIDxnYXZpbnBAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIEFkZCBuZXcgRU5BQkxFX0xJTktfUFJFUkVOREVSIGRlZmluZSB0byBjb250cm9sIHRoZSBQ
cmVyZW5kZXJpbmcgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IGI2MWQzYTM3ZmE4M2JjYThlZTA2NjA0
YjlhZjU1NDcwNTU5MWY4ZjEuLjgzODZjNmE1MGVmZTcwNmY0M2JhMzVhMmU0ZTQzOTdlNTE2M2Ix
MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDQtMjcgIEpvbiBMZWUg
IDxqb25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIE1pZ3JhdGUgcGVybWlzc2lvbiBmdW5jdGlv
bnMgdG8gTm90aWZpY2F0aW9uIGZyb20gTm90aWZpY2F0aW9uQ2VudGVyCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQ4NQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMTA5NjU0NTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRR
dC5oOgorICAgICAgICAoTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQpOiBBZGQgc3R1YiBp
bXBsZW1lbnRhdGlvbiBvZiByZXF1ZXN0UGVybWlzc2lvbi4KKyAgICAgICAgKFdlYkNvcmU6Ok5v
dGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0OjpyZXF1ZXN0UGVybWlzc2lvbik6CisKIDIwMTIt
MDQtMjcgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBub2tpYS5jb20+CiAK
ICAgICAgICAgTW92ZSBXZWJLaXQxIHNwZWNpZmljIGNvbnZlcnNpb24gb2YgdG91Y2gtZXZlbnRz
IHRvIFdlYktpdDEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCAyZDEzMjYyYWYyMGI1ZjE5OTQzOTEwMGFj
YWJlNTE1NzhkNTY4MTg0Li44MDhiNzQ2ZDZiMDk5YzlkNTUzNDg3NTFmZGE1ZGEzZDhmMWRiNTk2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDQtMjcgIEpvbiBMZWUg
IDxqb25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIE1pZ3JhdGUgcGVybWlzc2lvbiBmdW5jdGlv
bnMgdG8gTm90aWZpY2F0aW9uIGZyb20gTm90aWZpY2F0aW9uQ2VudGVyCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQ4NQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMTA5NjU0NTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVn
YXRlLmNwcDoKKyAgICAgICAgKFdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGU6OnJlcXVl
c3RQZXJtaXNzaW9uKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZp
Y2F0aW9uc0RlbGVnYXRlLmg6CisgICAgICAgIChXZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVn
YXRlKTogQWRkIHN0dWIgaW1wbGVtZW50YXRpb24gb2YgcmVxdWVzdFBlcm1pc3Npb24uCisKIDIw
MTItMDQtMjAgIEVtaWwgQSBFa2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFt3
aW5dIFVwZGF0ZSB3aW5kb3dzIHBsYXRmb3JtIGNvZGUgdG8gdXNlIHBpeGVsIHNuYXBwZWQgdmFs
dWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKaW5kZXggMDY5N2YxNzU4NDQ4N2NlNzlmZGIzYzRiMGIwOGI2ZjJiYjNlYTU3
OC4uYmU2MDBjNWYzN2VkNjk5OTI3YzcxMDgxOWM4ODFiZGI5NzhhZWFlNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI1IEBACisyMDEyLTA0LTI3ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4K
KworICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVuY3Rpb25zIHRvIE5vdGlmaWNhdGlvbiBm
cm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwOTY1NDU4Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJv
Y2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5j
cHA6CisgICAgICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
cjo6c3RhcnRSZXF1ZXN0KTogQWRkIHZlcnNpb24gdG8gc3VwcG9ydCBib3RoIGtpbmRzIG9mCisg
ICAgICAgIGNhbGxiYWNrcy4KKyAgICAgICAgKFdlYktpdDo6Tm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyOjpjYW5jZWxSZXF1ZXN0KToKKyAgICAgICAgKFdlYktpdDo6Tm90aWZp
Y2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpkaWRSZWNlaXZlTm90aWZpY2F0aW9uUGVy
bWlzc2lvbkRlY2lzaW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmg6IEFkZCBhbm90aGVyIG1hcCBmb3Ig
bmV3IGNhbGxiYWNrIHR5cGUuCisgICAgICAgIChOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmlj
YXRpb25NYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uTWFuYWdl
cjo6c2hvdyk6IEFkZCAjaWZkZWYgdG8gdXNlIHJlcGxhY2VJZCgpIG9yIHRhZygpIGRlcGVuZGlu
ZyBvbiB3aGljaCBmZWF0dXJlCisgICAgICAgIGhhcyBiZWVuIGVuYWJsZWQuIEluIHRoZSBjYXNl
IHdoZXJlIGJvdGggYXJlIGVuYWJsZWQsIHdlIHByZWZlciB0YWcoKSBzaW5jZSB0aGF0IGlzIGlu
IHRoZSBsYXRlc3Qgc3BlYy4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
Yk5vdGlmaWNhdGlvbkNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlv
bkNsaWVudDo6cmVxdWVzdFBlcm1pc3Npb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lmg6IEltcGxlbWVudCBib3RoIGNsaWVudCBm
dW5jdGlvbnMgdG8gcmVxdWVzdCBwZXJtaXNzaW9ucy4KKwogMjAxMi0wNC0yOCAgWXVyeSBTZW1p
a2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBBZGRl
ZCBuZXcgZXhwb3J0ZWQgc3ltYm9scyBhZnRlciByMTE1NTUzLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApp
bmRleCA5ZTRmMmIxMjIwNmY4YjFkYTU4MjRjNTYwNzYwOWU4ZDVkZTllYjA5Li5mNjA3NmFmMTY0
ZWY3Yzk1NTYwYzIxZGVlODhlZTdkNzQwYzY2ZmQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAt
MTY4Niw2ICsxNjg2LDcgQEAgSUYgKEVOQUJMRV9OT1RJRklDQVRJT05TKQogICAgICAgICBub3Rp
ZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMuaWRsCiAgICAgICAgIG5vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uLmlkbAogICAgICAgICBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNl
bnRlci5pZGwKKyAgICAgICAgbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2suaWRsCiAgICAgICAgIG5vdGlmaWNhdGlvbnMvV29ya2VyQ29udGV4dE5vdGlmaWNhdGlv
bnMuaWRsCiAgICAgKQogRU5ESUYgKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4
IGQxNTgzNDNlZWI1NmJmNTVkYTg2OWRjNzFlZGE5NzlkYWRlY2Q4ZDcuLjY4MGFlNzAyOWM2OTAx
MjMyYTdhYzJmYjFkMDZmY2ViOGZmMzEzOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQpAQCAtMSw0ICsxLDQgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAy
MDA4LCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMgQ29weXJpZ2h0IChD
KSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPiAKICMgQ29weXJpZ2h0
IChDKSAyMDA5IENhbWVyb24gTWNDb3JtYWNrIDxjYW1AbWNjLmlkLmF1PgogIwpAQCAtMzg4LDYg
KzM4OCw3IEBAIEJJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL25vdGlmaWNhdGlvbnMv
RE9NV2luZG93Tm90aWZpY2F0aW9ucy5pZGwgXAogICAgICQoV2ViQ29yZSkvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uQ2VudGVyLmlkbCBcCisgICAgJChXZWJDb3JlKS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgXAogICAgICQoV2ViQ29yZSkvbm90aWZpY2F0aW9u
cy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9B
YnN0cmFjdFZpZXcuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvQmFySW5mby5pZGwgXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMucHJpCmluZGV4IDBmYTRiMjQ5YTNlYjVkMzQ4YmMzNDU1ZWEyZjQ3
YTZlMWUzNmRlOTEuLjcwMTA0YThmMTNkMmVlY2NiZTg4MDcxOGNhNjU3MmEwMDhhNDc1NDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKQEAgLTM5OCw2ICszOTgsNyBAQCBJRExfQklORElO
R1MgKz0gXAogICAgICQkUFdEL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5p
ZGwgXAogICAgICQkUFdEL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbCBcCiAgICAgJCRQ
V0Qvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsIFwKKyAgICAkJFBXRC9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgXAogICAgICQkUFdE
L25vdGlmaWNhdGlvbnMvV29ya2VyQ29udGV4dE5vdGlmaWNhdGlvbnMuaWRsIFwKICAgICAkJFBX
RC9wYWdlL0JhckluZm8uaWRsIFwKICAgICAkJFBXRC9wYWdlL0NvbnNvbGUuaWRsIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDZjNTY4Njk0MmM1NzAzNmUzODVhOWFjMWQ3N2Fm
NGVmMWJjNTNhMWUuLmQ3Y2QyYTZlMTdhMzhhMGE3MTRiMWFlOTUzZWM1MjdjYjgxOWJlZjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNDI2LDYgKzQyNiw4IEBAIHdlYmNvcmVf
YnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05vdGlmaWNhdGlv
bkNlbnRlci5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uLmNwcCBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05vdGlmaWNhdGlvbi5oIFwKKwlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmNwcCBcCisJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5jcHAgXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPRVNTdGFuZGFyZERlcml2YXRpdmVzLmggXAogCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPRVNUZXh0dXJlRmxvYXQuY3BwIFwKQEAgLTkzMCw2ICs5
MzIsNyBAQCBkb21fYmluZGluZ19pZGxzICs9IFwKIAkkKFdlYkNvcmUpL2xvYWRlci9hcHBjYWNo
ZS9ET01BcHBsaWNhdGlvbkNhY2hlLmlkbCBcCiAJJChXZWJDb3JlKS9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbi5pZGwgXAogCSQoV2ViQ29yZSkvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25D
ZW50ZXIuaWRsIFwKKwkkKFdlYkNvcmUpL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrLmlkbCBcCiAJJChXZWJDb3JlKS9wYWdlL0JhckluZm8uaWRsIFwKIAkkKFdl
YkNvcmUpL3BhZ2UvQ29uc29sZS5pZGwgXAogCSQoV2ViQ29yZSkvcGFnZS9Db29yZGluYXRlcy5p
ZGwgXApAQCAtMjg4NSw2ICsyODg4LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaCBcCiAJU291cmNl
L1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwIFwKIAlTb3VyY2UvV2ViQ29y
ZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oIFwKKwlTb3VyY2UvV2ViQ29yZS9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9ub3RpZmljYXRpb25zL1dvcmtlckNvbnRleHROb3RpZmljYXRpb25zLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcCBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnBy
aQppbmRleCA2Y2M5NzFlNTJjNTczMGFkN2Y1NGVjNTVjYTUyYmUwNGI4OTgxOWYyLi44OThmNjgz
ZDAzMWViNjM0Yzk5YjgyMThkYzhmZTI3YmY0NTc2OTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTIzNCw2
ICsyMzQsNyBAQCB2OCB7CiAgICAgICAgIFwKICAgICAgICAgYmluZGluZ3Mvdjgvc3BlY2lhbGl6
YXRpb24vVjhCaW5kaW5nU3RhdGUuY3BwXAogICAgICAgICBcCisgICAgICAgIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9j
dXN0b20vVjhOb3RpZmljYXRpb25DZW50ZXJDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3Mv
djgvY3VzdG9tL1Y4Q29uc29sZUN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0
b20vVjhTUUxUcmFuc2FjdGlvblN5bmNDdXN0b20uY3BwIFwKQEAgLTM0Miw2ICszNDMsNyBAQCB2
OCB7CiAgICAgICAgIGJpbmRpbmdzL2pzL0pTTm9kZUZpbHRlckN1c3RvbS5jcHAgXAogICAgICAg
ICBiaW5kaW5ncy9qcy9KU05vZGVJdGVyYXRvckN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5n
cy9qcy9KU05vZGVMaXN0Q3VzdG9tLmNwcCBcCisgICAgICAgIGJpbmRpbmdzL2pzL0pTTm90aWZp
Y2F0aW9uQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTUGx1Z2luRWxlbWVudEZ1
bmN0aW9ucy5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU1BvcFN0YXRlRXZlbnRDdXN0b20u
Y3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25DdXN0b20u
Y3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZSBiL1NvdXJjZS9X
ZWJDb3JlL1VzZUpTQy5jbWFrZQppbmRleCA0OTNmYTIxMTU1ODIxMzMyNTM5YzU1ZWU2YTZjZGNj
YTg3N2RiNTliLi5iMWUwMDAzNDU1MWQwOTBkM2EzYmVkNTU5NzZjMmNlMDRiZDAyMDczIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUv
VXNlSlNDLmNtYWtlCkBAIC0xMjAsNiArMTIwLDcgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VS
Q0VTCiAgICAgYmluZGluZ3MvanMvSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdz
L2pzL0pTTm9kZUl0ZXJhdG9yQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTTm9kZUxpc3RD
dXN0b20uY3BwCisgICAgYmluZGluZ3MvanMvSlNOb3RpZmljYXRpb25DdXN0b20uY3BwCiAgICAg
YmluZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcAogICAgIGJpbmRpbmdzL2pz
L0pTUG9wU3RhdGVFdmVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1Byb2Nlc3NpbmdJ
bnN0cnVjdGlvbkN1c3RvbS5jcHAKQEAgLTI0OSw2ICsyNTAsNyBAQCBFTkRJRiAoKQogSUYgKEVO
QUJMRV9OT1RJRklDQVRJT05TKQogICAgIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAg
ICAgICBiaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcAorICAgICAg
ICBiaW5kaW5ncy9qcy9KU05vdGlmaWNhdGlvbnNDdXN0b20uY3BwCiAgICAgKQogRU5ESUYgKCkK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UgYi9Tb3VyY2UvV2ViQ29y
ZS9Vc2VWOC5jbWFrZQppbmRleCBlZTRlNmI5NTk0MDJhNGRmOTIwYzU0ZjE1YTk5MWFhNWYyZjdk
NjNlLi44NWQzNzg2YjMyNzk1N2E3MDQyOWVlMWY0NmYwY2U5NjVkZTRmYmE2IDEwMDc1NQotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5j
bWFrZQpAQCAtMTM2LDYgKzEzNiw3IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAg
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZXNDb2xsZWN0aW9uLmNwcAogICAgIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOE5vZGVDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Tm9kZUxpc3RDdXN0b20uY3BwCisgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9u
Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkNlbnRlckN1
c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhQZXJmb3JtYW5jZUN1c3RvbS5jcHAK
ICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbgppbmRleCA4OGM2OGE4ZjBjMThjYjYzMzY5Mzc1ZDA3ZDU2YmE5Yjg5MjFlMzI4
Li4xZjc5OTFkNGNjMzUwNmQ4OGFlYTJjOWFlNDRiMDY4OGJmNDZiMzE3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgpAQCAtMjE2OSw2ICsyMTY5LDcgQEAgX19aTjdXZWJDb3JlMTJOb3RpZmljYXRpb24x
N2Rpc3BhdGNoU2hvd0V2ZW50RXYKIF9fWk43V2ViQ29yZTEyTm90aWZpY2F0aW9uMThkaXNwYXRj
aENsaWNrRXZlbnRFdgogX19aTjdXZWJDb3JlMTJOb3RpZmljYXRpb24xOGRpc3BhdGNoQ2xvc2VF
dmVudEV2CiBfX1pON1dlYkNvcmUxMk5vdGlmaWNhdGlvbjE4ZGlzcGF0Y2hFcnJvckV2ZW50RXYK
K19fWk43V2ViQ29yZTEyTm90aWZpY2F0aW9uMTlzdHJpbmdGb3JQZXJtaXNzaW9uRU5TXzE4Tm90
aWZpY2F0aW9uQ2xpZW50MTBQZXJtaXNzaW9uRQogX19aTjdXZWJDb3JlMTlwcm92aWRlTm90aWZp
Y2F0aW9uRVBOU180UGFnZUVQTlNfMThOb3RpZmljYXRpb25DbGllbnRFCiAjZW5kaWYKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCmluZGV4IDM1MGQ4YjRiNmFhZDBlYjhkOGZkMGU2MmZhNjhlNTY1ZjM5ZTQ2MzIu
LmEwNjZkNzlkNDUzOWE1Y2YzYmE4YTExMTkyM2U5NGFiN2M1MDM3N2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKQEAgLTExMjksNiArMTEyOSw3IEBACiAgICAgICAgICAgICAnbm90aWZpY2F0aW9ucy9ET01X
aW5kb3dOb3RpZmljYXRpb25zLmlkbCcsCiAgICAgICAgICAgICAnbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb24uaWRsJywKICAgICAgICAgICAgICdub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNl
bnRlci5pZGwnLAorICAgICAgICAgICAgJ25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrLmlkbCcsCiAgICAgICAgICAgICAnbm90aWZpY2F0aW9ucy9Xb3JrZXJDb250
ZXh0Tm90aWZpY2F0aW9ucy5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvQWJzdHJhY3RWaWV3Lmlk
bCcsCiAgICAgICAgICAgICAncGFnZS9CYXJJbmZvLmlkbCcsCkBAIC0xOTg2LDYgKzE5ODcsNyBA
QAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTm9kZUZpbHRlckN1c3RvbS5jcHAnLAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTm9kZUl0ZXJhdG9yQ3VzdG9tLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvanMvSlNOb2RlTGlzdEN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2Jp
bmRpbmdzL2pzL0pTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGlu
Z3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcCcsCiAgICAgICAgICAgICAnYmluZGlu
Z3MvanMvSlNQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mv
anMvSlNQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25DdXN0b20uY3BwJywKQEAgLTIyOTYsNiArMjI5OCw3
IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2Rlc0NvbGxlY3Rp
b24uaCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUN1c3RvbS5jcHAn
LAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vZGVMaXN0Q3VzdG9tLmNwcCcs
CisgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ3VzdG9tLmNw
cCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2VudGVy
Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4UGVyZm9ybWFu
Y2VDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhQb3BTdGF0
ZUV2ZW50Q3VzdG9tLmNwcCcsCkBAIC0yOTUzLDYgKzI5NTYsNyBAQAogICAgICAgICAgICAgJ25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgnLAogICAgICAgICAgICAgJ25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5jcHAnLAogICAgICAgICAgICAgJ25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5oJywKKyAgICAgICAgICAgICdub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oJywKICAgICAgICAgICAgICdub3Rp
ZmljYXRpb25zL1dvcmtlckNvbnRleHROb3RpZmljYXRpb25zLmNwcCcsCiAgICAgICAgICAgICAn
bm90aWZpY2F0aW9ucy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5oJywKICAgICAgICAgICAg
ICdwYWdlL0JhckluZm8uY3BwJywKQEAgLTc2NTksNiArNzY2Myw4IEBACiAgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05vdGlmaWNhdGlvbi5oJywK
ICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm90
aWZpY2F0aW9uQ2VudGVyLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU05vdGlmaWNhdGlvbkNlbnRlci5oJywKKyAgICAgICAgICAgICc8
KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrLmNwcCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oJywKICAgICAg
ICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VTU3RhbmRh
cmREZXJpdmF0aXZlcy5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNPRVNTdGFuZGFyZERlcml2YXRpdmVzLmgnLAogICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPRVNUZXh0dXJlRmxvYXQu
Y3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5k
ZXggZmFmMmRlY2Q5NjgxMWY5MWJlYTRhNGQ3ZDU0MjFkZTZiMzc5YmQyZS4uN2I0ZmIyMjQ3Njg4
OGYyZDQ3NmZkMmFjZGQzYWNlODdjZjE0MzQ2OSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTEyMDM0LDYgKzEyMDM0LDYyIEBACiAJCQkJPgog
CQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1
aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uQ2FsbGJhY2suY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
CisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJ
CS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1
cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNr
LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29u
ZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNP
cGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC02
Nzg5Myw2ICs2Nzk0OSw1OCBAQAogCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJCTwvRmls
ZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTTm90aWZp
Y2F0aW9uQ3VzdG9tLmNwcCIKKwkJCQkJPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJ
CU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJ
CQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkv
PgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMy
IgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAor
CQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IkRlYnVnX0Fs
bHxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJ
PFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJQ
cm9kdWN0aW9ufFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+
CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgor
CQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAi
CiAJCQkJCT4KIAkJCQkJPEZpbGVDb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMDc4MTBhOWMxZDA3MDlkNzMz
MzVlZWU2NjlhZTlhMDg0MzlkNjBjZi4uMTZjNzRhODM1OGE0MmU1NDc3ZDdjZGQ3NmY3ODI5Mzk4
ZGExMmMxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtOTEyLDYgKzkxMiw4IEBACiAJCTMxQzBGRjRDMEU0Q0VGREQwMDdENkZF
NSAvKiBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQzBGRjQ2MEU0Q0VGREQwMDdENkZFNSAvKiBET01XZWJL
aXRUcmFuc2l0aW9uRXZlbnQuaCAqLzsgfTsKIAkJMzFDMEZGNEQwRTRDRUZERDAwN0Q2RkU1IC8q
IERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDMxQzBGRjQ3MEU0Q0VGREQwMDdENkZFNSAvKiBET01XZWJLaXRU
cmFuc2l0aW9uRXZlbnQubW0gKi87IH07CiAJCTMxQzBGRjRFMEU0Q0VGREQwMDdENkZFNSAvKiBE
T01XZWJLaXRUcmFuc2l0aW9uRXZlbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFDMEZGNDgwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdl
YktpdFRyYW5zaXRpb25FdmVudEludGVybmFsLmggKi87IH07CisJCTMxRUMxRTI4MTRGRjYwRUUw
MEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUVDMUUyNjE0RkY2MEVFMDBD
OTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suY3BwICovOyB9OworCQkz
MUVDMUUyOTE0RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRUMx
RTI3MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5o
ICovOyB9OwogCQkzMUZCMUE1NzEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ2xpZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE0
RjEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ2xpZW50LmggKi87IH07CiAJCTMxRkIx
QTU4MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTUwMTIwQTVEMDYw
MERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcCAqLzsgfTsKIAkJMzFGQjFBNTkx
MjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTUxMTIwQTVEMDYwMERDMDJB
MCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmggKi87IH07CkBAIC05MjIsNiArOTI0LDggQEAK
IAkJMzFGQjFBNjUxMjBBNUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNjMxMjBB
NUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuY3BwICovOyB9OwogCQkzMUZCMUE2
NjEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNjQxMjBBNUQzRjAwREMwMkEw
IC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuaCAqLzsgfTsKIAkJMzFGQjFBNkMxMjBBNUQ2OTAwREMw
MkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNkIxMjBBNUQ2OTAwREMwMkEwIC8qIEpT
RGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwICovOyB9OworCQkzMUZFNkRGQTE1MDA0QzJBMDAw
NEVCQzQgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUVDMURBQzE0RkYyNkVBMDBDOTQ2NjIg
LyogTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMzFGRTZFNkQxNTAxQTNCRjAwMDRFQkM0IC8q
IEpTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDMxRkU2RTZDMTUwMUEzQkYwMDA0RUJDNCAvKiBKU05vdGlmaWNhdGlv
bkN1c3RvbS5jcHAgKi87IH07CiAJCTMzMTRBQ0VCMTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2Vw
dGlvbkJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMzMxNEFDRTkxMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5jcHAgKi87IH07
CiAJCTMzMTRBQ0VDMTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzMTRBQ0VBMTA4OTIwODYw
MDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuaCAqLzsgfTsKIAkJMzM1MDNDOUExMDE3OUE3NDAw
M0I0N0UxIC8qIE5vdGlmaWNhdGlvbkNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzM1MDNDOTkxMDE3OUE3NDAwM0I0N0UxIC8qIE5vdGlmaWNh
dGlvbkNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CkBAIC03ODM4LDYgKzc4NDIsMTAgQEAKIAkJMzFDMEZGNDYwRTRDRUZERDAwN0Q2RkU1IC8q
IERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMzFDMEZGNDcwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVu
dC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTVdlYktpdFRy
YW5zaXRpb25FdmVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFDMEZGNDgw
RTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudEludGVybmFsLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdlYktpdFRyYW5zaXRpb25FdmVudElu
dGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRUMxRDUwMTRGRUZEMDgw
MEM5NDY2MiAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgbmFtZSA9IE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGw7IHBhdGggPSBu
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRUMxREFDMTRGRjI2RUEwMEM5NDY2MiAvKiBOb3RpZmlj
YXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrLmg7IHBhdGggPSBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUVDMUUyNjE0
RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUVDMUUyNzE0
RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFGQjFBNEYxMjBBNUQwNjAw
REMwMkEwIC8qIERldmljZU1vdGlvbkNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBEZXZpY2VNb3Rpb25DbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMzFGQjFBNTAxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGV2aWNlTW90aW9uQ29udHJv
bGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxRkIxQTUxMTIwQTVEMDYw
MERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERldmljZU1vdGlvbkNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTc4NDksNiArNzg1Nyw3IEBACiAJCTMxRkIxQTYzMTIwQTVEM0YwMERDMDJB
MCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTRGV2aWNlTW90aW9uRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkzMUZCMUE2NDEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RldmljZU1vdGlvbkV2ZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxRkIxQTZCMTIwQTVENjkwMERDMDJBMCAv
KiBKU0RldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkzMUZFNkU2QzE1MDFBM0JGMDAwNEVCQzQgLyogSlNOb3RpZmljYXRp
b25DdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNOb3Rp
ZmljYXRpb25DdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMzE0QUNF
OTEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25CYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRXhjZXB0aW9uQmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTMzMTRBQ0VBMTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJh
c2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFeGNlcHRpb25CYXNlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzM0Y3MDRFMEZCNDlDQTIwMDhFMTJBNiAv
KiBOb3RpZmljYXRpb24uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IE5vdGlmaWNhdGlvbi5p
ZGw7IHBhdGggPSBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xNDU0OSw2ICsxNDU1OCw4IEBACiAJCQkJMzM1MDNDOTkxMDE3OUE3
NDAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvbkNsaWVudC5oICovLAogCQkJCTMxMjhDQTY3MTQ3MzMx
NTIwMDc0QzcyQSAvKiBOb3RpZmljYXRpb25Db250cm9sbGVyLmNwcCAqLywKIAkJCQkzMTI4Q0E2
QTE0NzMzMTYzMDA3NEM3MkEgLyogTm90aWZpY2F0aW9uQ29udHJvbGxlci5oICovLAorCQkJCTMx
RUMxRDUwMTRGRUZEMDgwMEM5NDY2MiAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2su
aWRsICovLAorCQkJCTMxRUMxREFDMTRGRjI2RUEwMEM5NDY2MiAvKiBOb3RpZmljYXRpb25QZXJt
aXNzaW9uQ2FsbGJhY2suaCAqLywKIAkJCQk5N0Y4RTY2MTE1MUQ0QTNGMDBEMkQxODEgLyogV29y
a2VyQ29udGV4dE5vdGlmaWNhdGlvbnMuY3BwICovLAogCQkJCTk3RjhFNjYyMTUxRDRBM0YwMEQy
RDE4MSAvKiBXb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5oICovLAogCQkJCTk3RjhFNjYzMTUx
RDRBM0YwMEQyRDE4MSAvKiBXb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5pZGwgKi8sCkBAIC0x
NDU2Myw2ICsxNDU3NCw4IEBACiAJCQkJMzM1MDNDQTAxMDE3OUFENzAwM0I0N0UxIC8qIEpTTm90
aWZpY2F0aW9uLmggKi8sCiAJCQkJMzM1MDNDQTExMDE3OUFENzAwM0I0N0UxIC8qIEpTTm90aWZp
Y2F0aW9uQ2VudGVyLmNwcCAqLywKIAkJCQkzMzUwM0NBMjEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNO
b3RpZmljYXRpb25DZW50ZXIuaCAqLywKKwkJCQkzMUVDMUUyNjE0RkY2MEVFMDBDOTQ2NjIgLyog
SlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suY3BwICovLAorCQkJCTMxRUMxRTI3MTRG
RjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oICovLAog
CQkJKTsKIAkJCW5hbWUgPSBOb3RpZmljYXRpb25zOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsKQEAgLTE5ODY5LDYgKzE5ODgyLDcgQEAKIAkJCQlCQ0I3NzM2MDBDMTc4NTNEMDAxMzJCQTQg
LyogSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcCAqLywKIAkJCQkxQTc1MEREMzBBOTBFNzI5MDAwRkYy
MTUgLyogSlNOb2RlSXRlcmF0b3JDdXN0b20uY3BwICovLAogCQkJCUJDRDlDMjYxMEMxN0FBNjcw
MDVDOTBBMiAvKiBKU05vZGVMaXN0Q3VzdG9tLmNwcCAqLywKKwkJCQkzMUZFNkU2QzE1MDFBM0JG
MDAwNEVCQzQgLyogSlNOb3RpZmljYXRpb25DdXN0b20uY3BwICovLAogCQkJCUE4NUYyMjA4MTQz
MDM3N0QwMDdDQzg4NCAvKiBKU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwICovLAogCQkJCUUxQUQx
MkQ1MTI5NUQwQkQwMEFDQTk4OSAvKiBKU1Byb2Nlc3NpbmdJbnN0cnVjdGlvbkN1c3RvbS5jcHAg
Ki8sCiAJCQkJNDk5OEFFRDMxM0ZDNDE3RjAwOTBCMUFBIC8qIEpTUmVxdWVzdEFuaW1hdGlvbkZy
YW1lQ2FsbGJhY2tDdXN0b20uY3BwICovLApAQCAtMjQ4MzAsNiArMjQ4NDQsOCBAQAogCQkJCUZE
NTM3MzUzMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RkQ4QzQ2RUMxNTQ2MDhFNzAwQTU5MTBDIC8qIEF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNzFBNTdERjIxNTRCRTI1QzAwMDlEMTIwIC8qIFNWR1BhdGhVdGls
aXRpZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxRUMxRTI5MTRGRjYwRUUwMEM5NDY2MiAvKiBK
U05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFG
RTZERkExNTAwNEMyQTAwMDRFQkM0IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5o
IGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CiAJCX07CkBAIC0yNzg0NSw2ICsyNzg2MSw4IEBACiAJCQkJRkQ1MzczNTIxMzdC
NjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEOEM0NkVC
MTU0NjA4RTcwMEE1OTEwQyAvKiBBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNzFBNTdERjExNTRCRTI1QzAwMDlEMTIwIC8qIFNWR1BhdGhVdGlsaXRpZXMu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMzFFQzFFMjgxNEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxRkU2
RTZEMTUwMUEzQkYwMDA0RUJDNCAvKiBKU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsK
IAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVza3RvcE5v
dGlmaWNhdGlvbnNDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXNr
dG9wTm90aWZpY2F0aW9uc0N1c3RvbS5jcHAKaW5kZXggYTBjYWQ4OGI4NDY5YzU2M2UxZTRlYjQ2
YzU1MjZmNjg1MTUxZmNlMC4uMzhjNjgyMzExYmU3YTQyYTIxYTg5NjkzNTcxZTFjOWQyMGY1MzJi
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZp
Y2F0aW9uc0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXNr
dG9wTm90aWZpY2F0aW9uc0N1c3RvbS5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJp
Z2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzAsMTQgKzMxLDEyIEBACiAKICNpbmNsdWRlICJj
b25maWcuaCIKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogCiAjaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJKU0N1c3RvbVZvaWRDYWxsYmFjay5oIgogI2luY2x1
ZGUgIkpTRXZlbnRMaXN0ZW5lci5oIgotI2luY2x1ZGUgIkpTTm90aWZpY2F0aW9uLmgiCiAjaW5j
bHVkZSAiSlNOb3RpZmljYXRpb25DZW50ZXIuaCIKLSNpbmNsdWRlICJOb3RpZmljYXRpb24uaCIK
ICNpbmNsdWRlICJOb3RpZmljYXRpb25DZW50ZXIuaCIKICNpbmNsdWRlIDxydW50aW1lL0Vycm9y
Lmg+CiAKQEAgLTY4LDYgKzY3LDYgQEAgSlNWYWx1ZSBKU05vdGlmaWNhdGlvbkNlbnRlcjo6cmVx
dWVzdFBlcm1pc3Npb24oRXhlY1N0YXRlKiBleGVjKQogICAgIHJldHVybiBqc1VuZGVmaW5lZCgp
OwogfQogCi19IC8vIG5hbWVzcGFjZQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYg
Ly8gRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykK
KyNlbmRpZiAvLyBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjM5NTc2NTc3YTgwOGMxMDFkYjhiNzU1ODAzMzkwNDgzOTUxZmJmMQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcApA
QCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxs
IFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisj
aW5jbHVkZSAiSlNOb3RpZmljYXRpb24uaCIKKworI2luY2x1ZGUgIkNhbGxiYWNrRnVuY3Rpb24u
aCIKKyNpbmNsdWRlICJKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIgorI2luY2x1
ZGUgPHJ1bnRpbWUvRXJyb3IuaD4KKwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitKU1ZhbHVlIEpTTm90aWZpY2F0aW9uOjpyZXF1ZXN0UGVybWlzc2lvbihF
eGVjU3RhdGUqIGV4ZWMpCit7CisgICAgLy8gQXJndW1lbnRzOiBOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2sKKyAgICBpZiAoIWV4ZWMtPmFyZ3VtZW50KDApLmlzT2JqZWN0KCkpCisgICAg
ICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcihleGVjKTsKKyAgICAKKyAgICBSZWZQdHI8Tm90aWZp
Y2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBjYWxsYmFjayA9IGNyZWF0ZUZ1bmN0aW9uT25seUNh
bGxiYWNrPEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPihleGVjLCBzdGF0aWNfY2Fz
dDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSksIGV4ZWMt
PmFyZ3VtZW50KDApKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJl
dHVybiBqc1VuZGVmaW5lZCgpOworICAgIAorICAgIEFTU0VSVChjYWxsYmFjayk7CisgICAgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0Q29udGV4dCA9IHN0YXRpY19jYXN0PEpTRE9NR2xv
YmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKS0+c2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpOworICAgIE5vdGlmaWNhdGlvbjo6cmVxdWVzdFBlcm1pc3Npb24oc2NyaXB0Q29u
dGV4dCwgY2FsbGJhY2sucmVsZWFzZSgpKTsKKyAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElP
TlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb3Rp
ZmljYXRpb25DdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZGZiYzYwYTVlM2ZiZWQxMDY5ODE3
ODM0YWVhODExZWI1Y2E5OGQyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcApAQCAtMCwwICsxLDU2IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaW5jbHVkZSAiVjhOb3Rp
ZmljYXRpb24uaCIKKworI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJWOE5v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIgorI2luY2x1ZGUgIlY4UHJveHkuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhOb3RpZmljYXRp
b246OnJlcXVlc3RQZXJtaXNzaW9uQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykK
K3sKKyAgICBJTkNfU1RBVFMoTCJET00uTm90aWZpY2F0aW9uLnJlcXVlc3RQZXJtaXNzaW9uIik7
CisKKyAgICBOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbiA9IFY4Tm90aWZpY2F0aW9uOjp0b05h
dGl2ZShhcmdzLkhvbGRlcigpKTsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
ID0gbm90aWZpY2F0aW9uLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CisKKyAgICBib29sIHN1
Y2NlZWRlZCA9IGZhbHNlOworICAgIFJlZlB0cjxWOE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxs
YmFjaz4gY2FsbGJhY2sgPSBjcmVhdGVGdW5jdGlvbk9ubHlDYWxsYmFjazxWOE5vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjaz4oYXJnc1swXSwgc3VjY2VlZGVkKTsKKyAgICBpZiAoIXN1Y2Nl
ZWRlZCkKKyAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKKyAgICBBU1NFUlQoY2FsbGJh
Y2spOworCisgICAgTm90aWZpY2F0aW9uOjpyZXF1ZXN0UGVybWlzc2lvbihjb250ZXh0LCBjYWxs
YmFjay5yZWxlYXNlKCkpOworICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCmluZGV4IGY2NmYy
YjBiMGMwNDk5MmU4YmY3YWZjNzg3MmQ3NmNkODVmMzBjYzkuLjM3ZjdjOTU1MjllNDEyYWRkYzAz
YzQyNjM5Y2ExODRhYjk3ZDFkYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbi5jcHAKQEAgLTQzLDYgKzQzLDggQEAKICNpbmNsdWRlICJFdmVudE5hbWVz
LmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ2VudGVyLmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0
aW9uQ2xpZW50LmgiCisjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ29udHJvbGxlci5oIgorI2luY2x1
ZGUgIk5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIgogI2luY2x1ZGUgIlJlc291cmNl
UmVxdWVzdC5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKICNpbmNsdWRlICJUaHJl
YWRhYmxlTG9hZGVyLmgiCkBAIC0yMzcsOCArMjM5LDEwIEBAIHZvaWQgTm90aWZpY2F0aW9uOjpk
aXNwYXRjaEVycm9yRXZlbnQoKQogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogdm9pZCBOb3Rp
ZmljYXRpb246OnRhc2tUaW1lckZpcmVkKFRpbWVyPE5vdGlmaWNhdGlvbj4qIHRpbWVyKQogewor
ICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmlzRG9jdW1lbnQoKSk7CisgICAg
QVNTRVJUKHN0YXRpY19jYXN0PERvY3VtZW50Kj4oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKS0+
cGFnZSgpKTsKICAgICBBU1NFUlRfVU5VU0VEKHRpbWVyLCB0aW1lciA9PSBtX3Rhc2tUaW1lci5n
ZXQoKSk7Ci0gICAgaWYgKG1fbm90aWZpY2F0aW9uQ2VudGVyLT5jaGVja1Blcm1pc3Npb24oKSAh
PSBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25BbGxvd2VkKSB7CisgICAgaWYgKE5vdGlm
aWNhdGlvbkNvbnRyb2xsZXI6OmZyb20oc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCkpLT5wYWdlKCkpLT5jbGllbnQoKS0+Y2hlY2tQZXJtaXNzaW9uKHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKSkgIT0gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uQWxs
b3dlZCkgewogICAgICAgICBkaXNwYXRjaEVycm9yRXZlbnQoKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KQEAgLTI0Niw2ICsyNTAsNDUgQEAgdm9pZCBOb3RpZmljYXRpb246OnRhc2tUaW1lckZp
cmVkKFRpbWVyPE5vdGlmaWNhdGlvbj4qIHRpbWVyKQogfQogI2VuZGlmCiAKKworI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQorY29uc3QgU3RyaW5nJiBOb3RpZmljYXRpb246OnBlcm1pc3Npb25M
ZXZlbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQoreworICAgIEFTU0VSVChjb250
ZXh0LT5pc0RvY3VtZW50KCkpOworICAgIEFTU0VSVChzdGF0aWNfY2FzdDxEb2N1bWVudCo+KGNv
bnRleHQpLT5wYWdlKCkpOworICAgIHJldHVybiBzdHJpbmdGb3JQZXJtaXNzaW9uKE5vdGlmaWNh
dGlvbkNvbnRyb2xsZXI6OmZyb20oc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KS0+cGFn
ZSgpKS0+Y2xpZW50KCktPmNoZWNrUGVybWlzc2lvbihjb250ZXh0KSk7Cit9CisjZW5kaWYKKwor
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorY29uc3QgU3RyaW5nJiBOb3RpZmljYXRpb246OnN0
cmluZ0ZvclBlcm1pc3Npb24oTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIHBlcm1pc3Np
b24pCit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIGFsbG93ZWRQZXJt
aXNzaW9uLCAoImdyYW50ZWQiKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJp
bmcsIGRlbmllZFBlcm1pc3Npb24sICgiZGVuaWVkIikpOworICAgIERFRklORV9TVEFUSUNfTE9D
QUwoY29uc3QgU3RyaW5nLCBkZWZhdWx0UGVybWlzc2lvbiwgKCJkZWZhdWx0IikpOworICAgIHN3
aXRjaCAocGVybWlzc2lvbikgeworICAgIGNhc2UgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNz
aW9uQWxsb3dlZDoKKyAgICAgICAgcmV0dXJuIGFsbG93ZWRQZXJtaXNzaW9uOworICAgIGNhc2Ug
Tm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uRGVuaWVkOgorICAgICAgICByZXR1cm4gZGVu
aWVkUGVybWlzc2lvbjsKKyAgICBjYXNlIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbk5v
dEFsbG93ZWQ6CisgICAgICAgIHJldHVybiBkZWZhdWx0UGVybWlzc2lvbjsKKyAgICB9CisgICAg
CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIGRlbmllZFBlcm1pc3Npb247
Cit9CisjZW5kaWYKKworI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQordm9pZCBOb3RpZmljYXRp
b246OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBh
c3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBjYWxsYmFjaykKK3sKKyAg
ICBBU1NFUlQoY29udGV4dC0+aXNEb2N1bWVudCgpKTsKKyAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8
RG9jdW1lbnQqPihjb250ZXh0KS0+cGFnZSgpKTsKKyAgICBOb3RpZmljYXRpb25Db250cm9sbGVy
Ojpmcm9tKHN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCktPnBhZ2UoKSktPmNsaWVudCgp
LT5yZXF1ZXN0UGVybWlzc2lvbihjb250ZXh0LCBjYWxsYmFjayk7Cit9CisjZW5kaWYKKwogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbi5oCmluZGV4IDcyYWZlODRlNTc3N2Y3NWUxOGRkYTU2ZTM2YzQ2NjIx
ODI5ZjQwOWEuLjdkNTYyY2QzMTRiOTFhNTkxMzRkMGQ0OTc1M2JjNGE0OWNmMGJlMDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaApAQCAtMzYsNiArMzYs
NyBAQAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgog
I2luY2x1ZGUgIktVUkwuaCIKKyNpbmNsdWRlICJOb3RpZmljYXRpb25DbGllbnQuaCIKICNpbmNs
dWRlICJTaGFyZWRCdWZmZXIuaCIKICNpbmNsdWRlICJUZXh0RGlyZWN0aW9uLmgiCiAjaW5jbHVk
ZSAiVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oIgpAQCAtNTQsNiArNTUsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIERpY3Rpb25hcnk7CiBjbGFzcyBOb3RpZmljYXRpb25DZW50ZXI7
CitjbGFzcyBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s7CiBjbGFzcyBSZXNvdXJjZUVy
cm9yOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ7CkBAIC0xMzUsNiArMTM3LDEyIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZmluYWxpemUoKTsK
IAorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorICAgIHN0YXRpYyBjb25zdCBTdHJpbmcmIHBl
cm1pc3Npb25MZXZlbChTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CisgICAgc3RhdGljIGNvbnN0
IFN0cmluZyYgc3RyaW5nRm9yUGVybWlzc2lvbihOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Np
b24pOworICAgIHN0YXRpYyB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4pOworI2Vu
ZGlmCisKIHByaXZhdGU6CiAjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIE5v
dGlmaWNhdGlvbihjb25zdCBLVVJMJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIEV4Y2VwdGlv
bkNvZGUmLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4pOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsIGIvU291cmNlL1dlYkNv
cmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCmluZGV4IDA3OWYxM2VjYTMxODM2YjFl
NDJiMzk0NTI0N2YxNGQ5ODczYmRmYWIuLmRhMmViN2YyNDVmOWY1NmM2ZWIzYjc1NWE4ZDY2NjVk
Y2I0YmUzM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5pZGwKQEAgLTUwLDYgKzUwLDEyIEBAIG1vZHVsZSB0aHJlYWRzIHsKICAgICAgICAgdm9pZCBj
bG9zZSgpOwogI2VuZGlmCiAKKworI2lmIGRlZmluZWQoRU5BQkxFX05PVElGSUNBVElPTlMpICYm
IEVOQUJMRV9OT1RJRklDQVRJT05TCisgICAgICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25D
b250ZXh0XSBzdGF0aWMgRE9NU3RyaW5nIHBlcm1pc3Npb25MZXZlbCgpOworICAgICAgICBbQ3Vz
dG9tXSBzdGF0aWMgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihpbiBOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2sgY2FsbGJhY2spOworI2VuZGlmCisKICAgICAgICAgYXR0cmlidXRlIEV2ZW50
TGlzdGVuZXIgb25zaG93OwogI2lmIGRlZmluZWQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05T
KSAmJiBFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMKICAgICAgICAgYXR0cmlidXRlIEV2ZW50
TGlzdGVuZXIgb25kaXNwbGF5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCmluZGV4IGVjNWM4ZWMxNTIwZjFjOTMwOTFiZjU1ZTk4
OTI4ZjIxYmY0YWI3YTIuLjBlYmI1NDc0MDA5NWU1NmJmZjY3MDgyY2FkZWZmMWZmM2I2YzU4Njcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2Vu
dGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNl
bnRlci5jcHAKQEAgLTU1LDYgKzU1LDcgQEAgTm90aWZpY2F0aW9uQ2VudGVyOjpOb3RpZmljYXRp
b25DZW50ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgTm90aWZpY2EKIHsKIH0K
IAorI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIGludCBOb3RpZmljYXRpb25DZW50
ZXI6OmNoZWNrUGVybWlzc2lvbigpCiB7CiAgICAgaWYgKCFjbGllbnQoKSB8fCAhc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpKQpAQCAtNzIsNyArNzMsOSBAQCBpbnQgTm90aWZpY2F0aW9uQ2VudGVy
OjpjaGVja1Blcm1pc3Npb24oKQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVy
biBtX2NsaWVudC0+Y2hlY2tQZXJtaXNzaW9uKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiB9
CisjZW5kaWYKIAorI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIHZvaWQgTm90aWZp
Y2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbihQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4g
Y2FsbGJhY2spCiB7CiAgICAgaWYgKCFjbGllbnQoKSB8fCAhc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpKQpAQCAtOTEsNiArOTQsNyBAQCB2b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6cmVxdWVzdFBl
cm1pc3Npb24oUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrKQogICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgIG1fY2xpZW50LT5yZXF1ZXN0UGVybWlzc2lvbihzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCksIGNhbGxiYWNrKTsKIH0KKyNlbmRpZgogCiB2b2lkIE5vdGlmaWNhdGlv
bkNlbnRlcjo6c3RvcCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25DZW50ZXIuaAppbmRleCA0OTI5OWUxYTAyYTkxMWU5MzA2MjVkMzJmYTY0ODMz
ZGJjYzNhMWVmLi4zZjZkNjg5MDJmMzA1NzVjODA3YmEzYzIxMDIxZDk3MDUzN2E1MWViIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgK
QEAgLTgxLDggKzgxLDEwIEBAIHB1YmxpYzoKIAogICAgIE5vdGlmaWNhdGlvbkNsaWVudCogY2xp
ZW50KCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnQ7IH0KIAorI2lmIEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKICAgICBpbnQgY2hlY2tQZXJtaXNzaW9uKCk7CiAgICAgdm9pZCByZXF1ZXN0
UGVybWlzc2lvbihQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pOworI2VuZGlmCiAKICAgICB2aXJ0
dWFsIHZvaWQgc3RvcCgpIE9WRVJSSURFOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwKaW5kZXggZTUwODQ0N2Q0OWViYWE0MTlj
ZmU3MjUwMDI0YzkzMTE2MmVlZGQ3ZS4uMTRmODk4Y2VhMTE1ODkzOGFlY2M4YzI3MmJlNzBmNzk0
NTA4NmM4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25DZW50ZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uQ2VudGVyLmlkbApAQCAtNDMsOCArNDMsMTAgQEAgbW9kdWxlIHRocmVhZHMgewogICAg
ICAgIFtWOEN1c3RvbV0gTm90aWZpY2F0aW9uIGNyZWF0ZU5vdGlmaWNhdGlvbihpbiBET01TdHJp
bmcgaWNvblVybCwgaW4gRE9NU3RyaW5nIHRpdGxlLCBpbiBET01TdHJpbmcgYm9keSkgcmFpc2Vz
KERPTUV4Y2VwdGlvbik7CiAjZW5kaWYKIAorI2lmIGRlZmluZWQoRU5BQkxFX0xFR0FDWV9OT1RJ
RklDQVRJT05TKSAmJiBFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMKICAgICAgICBpbnQgY2hl
Y2tQZXJtaXNzaW9uKCk7CiAgICAgICAgW0N1c3RvbV0gdm9pZCByZXF1ZXN0UGVybWlzc2lvbihp
biBWb2lkQ2FsbGJhY2sgY2FsbGJhY2spOworI2VuZGlmCiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DbGllbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2xpZW50LmgKaW5kZXggYzFi
MzM5YjM0YTZjNzcwZjk2Zjc5ZWM4NTRlMmIyMDgwOTliZDFkMC4uNmNkMTcxNzU5ZTc4YTc3ZGRk
NDRkOTQ0ZGUzNGY5ZjE4NGRiYTVjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25DbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbkNsaWVudC5oCkBAIC0zOCw4ICszOCw5IEBACiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50OwotY2xhc3MgTm90aWZpY2F0aW9uOwogY2xhc3Mg
S1VSTDsKK2NsYXNzIE5vdGlmaWNhdGlvbjsKK2NsYXNzIE5vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjazsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCkBA
IC03MCwxMCArNzEsMTUgQEAgcHVibGljOgogICAgIC8vIEluZm9ybXMgdGhlIHByZXNlbnRlciB0
aGUgY29udHJvbGxlciBhdHRhY2hlZCB0byB0aGUgcGFnZSBoYXMgYmVlbiBkZXN0cm95ZWQuCiAg
ICAgdmlydHVhbCB2b2lkIG5vdGlmaWNhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKSA9IDA7CiAK
KyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgLy8gUmVxdWVzdHMgdXNlciBw
ZXJtaXNzaW9uIHRvIHNob3cgZGVza3RvcCBub3RpZmljYXRpb25zIGZyb20gYSBwYXJ0aWN1bGFy
CiAgICAgLy8gc2NyaXB0IGNvbnRleHQuIFRoZSBjYWxsYmFjayBwYXJhbWV0ZXIgc2hvdWxkIGJl
IHJ1biB3aGVuIHRoZSB1c2VyIGhhcwogICAgIC8vIG1hZGUgYSBkZWNpc2lvbi4KICAgICB2aXJ0
dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NS
ZWZQdHI8Vm9pZENhbGxiYWNrPikgPSAwOworI2VuZGlmCisjaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpCisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4pID0gMDsK
KyNlbmRpZgogCiAgICAgLy8gQ2FuY2VsIGFsbCBvdXRzdGFuZGluZyByZXF1ZXN0cyBmb3IgdGhl
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsUmVxdWVzdHNG
b3JQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSA9IDA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFj
ay5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2suaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NGU3MzJhN2Y5YTI5OTlkMjZmMmI3OGRkYmEzZjYyOTAw
OGJmNmY5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaApAQCAtMCwwICsxLDQ2IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaWZuZGVmIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFja19oCisjZGVmaW5lIE5vdGlm
aWNhdGlvblBlcm1pc3Npb25DYWxsYmFja19oCisKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykK
KworI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2sgOiBwdWJsaWMgUmVmQ291bnRlZDxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+
IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2so
KSB7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlRXZlbnQoY29uc3QgU3RyaW5nJiBwZXJtaXNz
aW9uKSA9IDA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKKworI2VuZGlmIC8vIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxs
YmFja19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWYxMTE2MTJl
MjQwY2VjYWExOWZiNWVhNzFhYWNkN2QyNjA5M2MyMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlk
bApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgdGhyZWFkcyB7CisKKyAgICBpbnRl
cmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1OT1RJRklDQVRJT05TLAorICAgICAgICBDYWxs
YmFjaworICAgIF0gTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrIHsKKyAgICAgICAgYm9v
bGVhbiBoYW5kbGVFdmVudChpbiBET01TdHJpbmcgcGVybWlzc2lvbik7CisgICAgfTsKKworfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTm90aWZpY2F0aW9uUHJlc2Vu
dGVySW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTm90aWZpY2F0aW9uUHJlc2Vu
dGVySW1wbC5oCmluZGV4IGM0M2UxZDYwZDI0ZjM0NWM5M2U4NWU3MmM0MWJkNDFlODI0YjQ5OWYu
LjY5MTk4NDk4OWIyY2MyZWFhMDRiYjA1NTljMGVkNWIxZWUxNTg5ZWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL05vdGlmaWNhdGlvblByZXNlbnRlckltcGwuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmgK
QEAgLTU2LDcgKzU2LDEyIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9u
T2JqZWN0RGVzdHJveWVkKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiogb2JqZWN0KTsKICAgICB2aXJ0
dWFsIHZvaWQgbm90aWZpY2F0aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpOwogICAgIHZpcnR1YWwg
V2ViQ29yZTo6Tm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihX
ZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiAsIFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpWb2lkQ2Fs
bGJhY2s+IGNhbGxiYWNrKTsKKyNlbmRpZgorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorICAg
IHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiAsIFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJhY2s+IGNhbGxiYWNr
KSB7IH0KKyNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Np
b24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIHt9CiAKIHByaXZhdGU6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25D
bGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlv
bkNsaWVudC5oCmluZGV4IDVkZmEwNDZkZmRmZjU0M2MxZTIwOTQyOGQzOGI4YzhkNDdiZjMyMmIu
Ljk0NTM1ZDM2MTVkMTk1NTUzYTMzOGMwZjMyOWI2ZmY2MzEzMTFlNmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVu
dC5oCkBAIC0zNCwxMSArMzQsMTMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTm90
aWZpY2F0aW9uOworY2xhc3MgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrOwogY2xhc3Mg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIGNsYXNzIFZvaWRDYWxsYmFjazsKIH0KIAogQGNsYXNz
IFdlYk5vdGlmaWNhdGlvbjsKK0BjbGFzcyBXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lcjsK
IEBjbGFzcyBXZWJWaWV3OwogCiBjbGFzcyBXZWJOb3RpZmljYXRpb25DbGllbnQgOiBwdWJsaWMg
V2ViQ29yZTo6Tm90aWZpY2F0aW9uQ2xpZW50IHsKQEAgLTUyLDEwICs1NCwxOSBAQCBwcml2YXRl
OgogICAgIHZpcnR1YWwgdm9pZCBjbGVhck5vdGlmaWNhdGlvbnMoV2ViQ29yZTo6U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCopIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25P
YmplY3REZXN0cm95ZWQoV2ViQ29yZTo6Tm90aWZpY2F0aW9uKikgT1ZFUlJJREU7CiAgICAgdmly
dHVhbCB2b2lkIG5vdGlmaWNhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKSBPVkVSUklERTsKKyNp
ZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQ
ZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPFdl
YkNvcmU6OlZvaWRDYWxsYmFjaz4pIE9WRVJSSURFOworI2VuZGlmCisjaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpCisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPFdlYkNvcmU6Ok5vdGlmaWNhdGlvblBl
cm1pc3Npb25DYWxsYmFjaz4pIE9WRVJSSURFOworI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIGNh
bmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0
KikgT1ZFUlJJREUgeyB9CiAgICAgdmlydHVhbCBXZWJDb3JlOjpOb3RpZmljYXRpb25DbGllbnQ6
OlBlcm1pc3Npb24gY2hlY2tQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqKSBPVkVSUklERTsKIAorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCisgICAgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgKik7
CisjZW5kaWYKKwogICAgIFdlYlZpZXcgKm1fd2ViVmlldzsKICNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIEhhc2hNYXA8UmVmUHRy
PFdlYkNvcmU6Ok5vdGlmaWNhdGlvbj4sIFJldGFpblB0cjxXZWJOb3RpZmljYXRpb24+ID4gbV9u
b3RpZmljYXRpb25NYXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQubW0KaW5kZXggYzhiMWUyZDFlMzdhMDEyMGI4
OTA3MDBhOWJkNTg2NmZmODU2YTgxZi4uMDY4NmZlNTNhNzVkZjEwOTA1OTE5ZjMzODA0ZGM0Mjc0
OTBmNWQ4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
Tm90aWZpY2F0aW9uQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5tbQpAQCAtMzcsMTQgKzM3LDMyIEBACiAjaW1wb3J0
IDxXZWJDb3JlL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaD4KICNlbmRpZgogCisjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpCisjaW1wb3J0IDxXZWJDb3JlL05vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5oPgorI2VuZGlmCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lt
cG9ydCA8V2ViQ29yZS9Wb2lkQ2FsbGJhY2suaD4KKyNlbmRpZgorCiB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKIAogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCiBAaW50ZXJmYWNlIFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIDog
TlNPYmplY3QgPFdlYkFsbG93RGVueVBvbGljeUxpc3RlbmVyPgogewotICAgIFJlZlB0cjxWb2lk
Q2FsbGJhY2s+IF9jYWxsYmFjazsKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyAgICBSZWZQ
dHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBfY2FsbGJhY2s7CisjZW5kaWYKKyNp
ZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAgUmVmUHRyPFZvaWRDYWxsYmFjaz4g
X3ZvaWRDYWxsYmFjazsKKyNlbmRpZgogfQotLSAoaWQpaW5pdFdpdGhDYWxsYmFjazooUGFzc1Jl
ZlB0cjxWb2lkQ2FsbGJhY2s+KWNhbGxiYWNrOworI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQor
LSAoaWQpaW5pdFdpdGhDYWxsYmFjazooUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2s+KWNhbGxiYWNrOworI2VuZGlmCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJ
T05TKQorLSAoaWQpaW5pdFdpdGhWb2lkQ2FsbGJhY2s6KFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNr
PiljYWxsYmFjazsKKyNlbmRpZgorCiBAZW5kCiAjZW5kaWYKIApAQCAtMTQ4LDI5ICsxNjYsNDIg
QEAgdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6Om5vdGlmaWNhdGlvbkNvbnRyb2xsZXJEZXN0
cm95ZWQoKQogICAgIGRlbGV0ZSB0aGlzOwogfQogCi12b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVu
dDo6cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFz
c1JlZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrKQotewogI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0gICAgQkVHSU5fQkxPQ0tfT0JK
Q19FWENFUFRJT05TOwotICAgIAordm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQ
ZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFdlYk5vdGlmaWNhdGlv
blBvbGljeUxpc3RlbmVyICpsaXN0ZW5lcikKK3sKICAgICBTRUwgc2VsZWN0b3IgPSBAc2VsZWN0
b3Iod2ViVmlldzpkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25SZXF1ZXN0RnJvbU9yaWdpbjps
aXN0ZW5lcjopOwogICAgIGlmICghW1ttX3dlYlZpZXcgVUlEZWxlZ2F0ZV0gcmVzcG9uZHNUb1Nl
bGVjdG9yOnNlbGVjdG9yXSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIFdlYlNlY3VyaXR5
T3JpZ2luICp3ZWJPcmlnaW4gPSBbW1dlYlNlY3VyaXR5T3JpZ2luIGFsbG9jXSBfaW5pdFdpdGhX
ZWJDb3JlU2VjdXJpdHlPcmlnaW46Y29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKV07Ci0gICAgV2Vi
Tm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIqIGxpc3RlbmVyID0gW1tXZWJOb3RpZmljYXRpb25Q
b2xpY3lMaXN0ZW5lciBhbGxvY10gaW5pdFdpdGhDYWxsYmFjazpjYWxsYmFja107CiAgICAgCiAg
ICAgQ2FsbFVJRGVsZWdhdGUobV93ZWJWaWV3LCBzZWxlY3Rvciwgd2ViT3JpZ2luLCBsaXN0ZW5l
cik7CiAgICAgCiAgICAgW3dlYk9yaWdpbiByZWxlYXNlXTsKK30KKyNlbmRpZgorCisjaWYgRU5B
QkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQordm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OnJl
cXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQ
dHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFjaykKK3sKKyAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQ
VElPTlM7CisgICAgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgKmxpc3RlbmVyID0gW1tX
ZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciBhbGxvY10gaW5pdFdpdGhWb2lkQ2FsbGJhY2s6
Y2FsbGJhY2tdOworICAgIHJlcXVlc3RQZXJtaXNzaW9uKGNvbnRleHQsIGxpc3RlbmVyKTsKICAg
ICBbbGlzdGVuZXIgcmVsZWFzZV07Ci0gICAgCiAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9O
UzsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGNvbnRleHQpOwotICAgIFVOVVNFRF9QQVJBTShj
YWxsYmFjayk7Cit9CiAjZW5kaWYKKworI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQordm9pZCBX
ZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNr
PiBjYWxsYmFjaykKK3sKKyAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CisgICAgV2Vi
Tm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgKmxpc3RlbmVyID0gW1tXZWJOb3RpZmljYXRpb25Q
b2xpY3lMaXN0ZW5lciBhbGxvY10gaW5pdFdpdGhDYWxsYmFjazpjYWxsYmFja107CisgICAgcmVx
dWVzdFBlcm1pc3Npb24oY29udGV4dCwgbGlzdGVuZXIpOworICAgIFtsaXN0ZW5lciByZWxlYXNl
XTsKKyAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogfQorI2VuZGlmCiAKIE5vdGlmaWNh
dGlvbkNsaWVudDo6UGVybWlzc2lvbiBXZWJOb3RpZmljYXRpb25DbGllbnQ6OmNoZWNrUGVybWlz
c2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogewpAQCAtMjAwLDcgKzIzMSw5
IEBAIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBXZWJOb3RpZmljYXRpb25DbGllbnQ6
OmNoZWNrUGVybWlzc2lvbihTY3JpcHRFeGVjCiAKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
fHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogQGltcGxlbWVudGF0aW9uIFdlYk5vdGlm
aWNhdGlvblBvbGljeUxpc3RlbmVyCi0tIChpZClpbml0V2l0aENhbGxiYWNrOihQYXNzUmVmUHRy
PFZvaWRDYWxsYmFjaz4pY2FsbGJhY2sKKworI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorLSAo
aWQpaW5pdFdpdGhDYWxsYmFjazooUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2s+KWNhbGxiYWNrCiB7CiAgICAgaWYgKCEoc2VsZiA9IFtzdXBlciBpbml0XSkpCiAgICAg
ICAgIHJldHVybiBuaWw7CkBAIC0yMDksMTUgKzI0Miw0NCBAQCBOb3RpZmljYXRpb25DbGllbnQ6
OlBlcm1pc3Npb24gV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpjaGVja1Blcm1pc3Npb24oU2NyaXB0
RXhlYwogICAgIF9jYWxsYmFjayA9IGNhbGxiYWNrOwogICAgIHJldHVybiBzZWxmOwogfQorI2Vu
ZGlmCisKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCistIChpZClpbml0V2l0aFZv
aWRDYWxsYmFjazooUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+KWNhbGxiYWNrCit7CisgICAgaWYg
KCEoc2VsZiA9IFtzdXBlciBpbml0XSkpCisgICAgICAgIHJldHVybiBuaWw7CisKKyAgICBBU1NF
UlQoY2FsbGJhY2spOworICAgIF92b2lkQ2FsbGJhY2sgPSBjYWxsYmFjazsKKyAgICByZXR1cm4g
c2VsZjsKK30KKyNlbmRpZgogCiAtICh2b2lkKWFsbG93CiB7Ci0gICAgX2NhbGxiYWNrLT5oYW5k
bGVFdmVudCgpOworI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICBpZiAoX3Zv
aWRDYWxsYmFjaykgeworICAgICAgICBfdm9pZENhbGxiYWNrLT5oYW5kbGVFdmVudCgpOworICAg
ICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisg
ICAgX2NhbGxiYWNrLT5oYW5kbGVFdmVudChOb3RpZmljYXRpb246OnN0cmluZ0ZvclBlcm1pc3Np
b24oTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uQWxsb3dlZCkpOworI2VuZGlmCiB9CiAK
IC0gKHZvaWQpZGVueQogewotICAgIF9jYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyNpZiBFTkFC
TEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAgaWYgKF92b2lkQ2FsbGJhY2spIHsKKyAgICAg
ICAgX3ZvaWRDYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KyNlbmRpZgorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorICAgIF9jYWxsYmFjay0+aGFuZGxl
RXZlbnQoTm90aWZpY2F0aW9uOjpzdHJpbmdGb3JQZXJtaXNzaW9uKE5vdGlmaWNhdGlvbkNsaWVu
dDo6UGVybWlzc2lvbkRlbmllZCkpOworI2VuZGlmCiB9CiAKIEBlbmQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50
UXQuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2Vu
dGVyQ2xpZW50UXQuaAppbmRleCA5N2VlZTE1ZjA4ZDU5M2Y2NDFkOTgyNTJkNzRkODJjMGE0MjYz
ZmE2Li41ODE5YjRkODAxM2M0MDg2ZDAxZTcyNjE2YmFmNGZlYTdkYTY4OWI3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNs
aWVudFF0LmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRp
b25QcmVzZW50ZXJDbGllbnRRdC5oCkBAIC05Myw3ICs5MywxMiBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIGNhbmNlbChOb3RpZmljYXRpb24qKTsKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZp
Y2F0aW9uT2JqZWN0RGVzdHJveWVkKE5vdGlmaWNhdGlvbiopOwogICAgIHZpcnR1YWwgdm9pZCBu
b3RpZmljYXRpb25Db250cm9sbGVyRGVzdHJveWVkKCk7CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+KTsKKyNlbmRpZgorI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKQorICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2s+KSB7IH0KKyNlbmRpZgogICAgIHZpcnR1YWwgTm90aWZpY2F0aW9uQ2xpZW50OjpQ
ZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CiAgICAg
dmlydHVhbCB2b2lkIGNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25D
b250ZXh0Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0
L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUuY3BwIGIvU291cmNlL1dlYktpdC93aW4v
V2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5jcHAKaW5kZXgg
Y2ZmN2EyYjkyMTdjMTFiOTAwNDcwNjg1ZDJiMjJlZTgyMTI4YjgzMC4uYTU2NDZmMjU1NzdlNzMw
MmQ0NTdmOTg5NDc4MGZhNTdhZGFhODQ4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4v
V2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNE
ZWxlZ2F0ZS5jcHAKQEAgLTE3Niw2ICsxNzYsMTAgQEAgdm9pZCBXZWJEZXNrdG9wTm90aWZpY2F0
aW9uc0RlbGVnYXRlOjpyZXF1ZXN0UGVybWlzc2lvbihTZWN1cml0eU9yaWdpbiogb3JpZ2luLAog
ICAgICAgICBub3RpZmljYXRpb25EZWxlZ2F0ZSgpLT5yZXF1ZXN0Tm90aWZpY2F0aW9uUGVybWlz
c2lvbihvcmcpOwogfQogCit2b2lkIFdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGU6OnJl
cXVlc3RQZXJtaXNzaW9uKFNlY3VyaXR5T3JpZ2luKiwgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uQ2FsbGJhY2s+KQoreworfQorCiB2b2lkIFdlYkRlc2t0b3BOb3RpZmljYXRpb25z
RGVsZWdhdGU6OmNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBjb250ZXh0KQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29y
ZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5oIGIvU291cmNlL1dlYktp
dC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5oCmlu
ZGV4IDU3NWM5NGNiODg2YWY3NzRiZjczNzc4MWQ2YmMwNzI4MmY0MWQwZGQuLmI2ZjljMjE4ZjQz
MDQ5MDdmNjRiNWM5NjI0ZGZiOWJjYzMwOTM5ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
d2luL1dlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9u
c0RlbGVnYXRlLmgKQEAgLTUwLDcgKzUwLDEyIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
Y2FuY2VsKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiogb2JqZWN0KTsKICAgICB2aXJ0dWFsIHZvaWQg
bm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiogb2JqZWN0
KTsKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpOwot
ICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTZWN1cml0eU9yaWdp
biogb3JpZ2luLCBQYXNzUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4gY2FsbGJhY2spOwor
I2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICB2aXJ0dWFsIHZvaWQgcmVxdWVz
dFBlcm1pc3Npb24oV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qLCBQYXNzUmVmUHRyPFdlYkNvcmU6
OlZvaWRDYWxsYmFjaz4pOworI2VuZGlmCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisgICAg
dmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luKiwg
UGFzc1JlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KTsKKyNl
bmRpZgogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24oV2ViQ29y
ZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6Tm90aWZp
Y2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihjb25zdCBLVVJMJik7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
ci5jcHAKaW5kZXggZmU2NmU1NmU5NDllZDQzZGJlNjkzZGQ3OWZiMjJmNjYxNjA4ZmE0ZS4uNjY2
NGRkMWE4MTAyMDkyMTU3NDI0NjY3ZGI5Yjg4YjZjY2U5MzUzNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHAKQEAgLTEsNSAr
MSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTU5LDExICs1
OSwxMiBAQCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6Ok5vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcihXZWJQYQogewogfQogCi12b2lkIE5vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6c3RhcnRSZXF1ZXN0KFNlY3VyaXR5T3JpZ2luKiBv
cmlnaW4sIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFjaykKKyNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykKK3ZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpz
dGFydFJlcXVlc3QoU2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwgUGFzc1JlZlB0cjxOb3RpZmljYXRp
b25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNhbGxiYWNrKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0gICAgaWYgKHBlcm1pc3Npb25M
ZXZlbChvcmlnaW4pICE9IE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbk5vdEFsbG93ZWQp
IHsKLSAgICAgICAgY2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7CisgICAgTm90aWZpY2F0aW9uQ2xp
ZW50OjpQZXJtaXNzaW9uIHBlcm1pc3Npb24gPSBwZXJtaXNzaW9uTGV2ZWwob3JpZ2luKTsKKyAg
ICBpZiAocGVybWlzc2lvbiAhPSBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25Ob3RBbGxv
d2VkKSB7CisgICAgICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVudChOb3RpZmljYXRpb246OnN0cmlu
Z0ZvclBlcm1pc3Npb24ocGVybWlzc2lvbikpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBA
IC03MiwxMSArNzMsMjUgQEAgdm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXI6OnN0YXJ0UmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2luLAogICAgIG1faWRUb09yaWdp
bk1hcC5zZXQocmVxdWVzdElELCBvcmlnaW4pOwogICAgIG1faWRUb0NhbGxiYWNrTWFwLnNldChy
ZXF1ZXN0SUQsIGNhbGxiYWNrKTsKICAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQ
cm94eTo6UmVxdWVzdE5vdGlmaWNhdGlvblBlcm1pc3Npb24ocmVxdWVzdElELCBvcmlnaW4tPnRv
U3RyaW5nKCkpKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKG9yaWdpbik7Ci0gICAgVU5VU0VE
X1BBUkFNKGNhbGxiYWNrKTsKK30KICNlbmRpZgorCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQordm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OnN0YXJ0
UmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2luLCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4g
Y2FsbGJhY2spCit7CisgICAgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIHBlcm1pc3Np
b24gPSBwZXJtaXNzaW9uTGV2ZWwob3JpZ2luKTsKKyAgICBpZiAocGVybWlzc2lvbiAhPSBOb3Rp
ZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25Ob3RBbGxvd2VkKSB7CisgICAgICAgIGNhbGxiYWNr
LT5oYW5kbGVFdmVudCgpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIAorICAgIHVpbnQ2
NF90IHJlcXVlc3RJRCA9IGdlbmVyYXRlUmVxdWVzdElEKCk7CisgICAgbV9vcmlnaW5Ub0lETWFw
LnNldChvcmlnaW4sIHJlcXVlc3RJRCk7CisgICAgbV9pZFRvT3JpZ2luTWFwLnNldChyZXF1ZXN0
SUQsIG9yaWdpbik7CisgICAgbV9pZFRvVm9pZENhbGxiYWNrTWFwLnNldChyZXF1ZXN0SUQsIGNh
bGxiYWNrKTsKKyAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UmVxdWVz
dE5vdGlmaWNhdGlvblBlcm1pc3Npb24ocmVxdWVzdElELCBvcmlnaW4tPnRvU3RyaW5nKCkpKTsK
IH0KKyNlbmRpZgogCiB2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6
Y2FuY2VsUmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2luKQogewpAQCAtODYsNyArMTAxLDEy
IEBAIHZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpjYW5jZWxSZXF1
ZXN0KFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBt
X2lkVG9PcmlnaW5NYXAucmVtb3ZlKGlkKTsKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAg
ICBtX2lkVG9DYWxsYmFja01hcC5yZW1vdmUoaWQpOworI2VuZGlmCisjaWYgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQorICAgIG1faWRUb1ZvaWRDYWxsYmFja01hcC5yZW1vdmUoaWQpOwor
I2VuZGlmCiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShvcmlnaW4pOwogI2VuZGlmCkBAIC0xMTEs
MTEgKzEzMSwxOSBAQCB2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6
ZGlkUmVjZWl2ZU5vdGlmaWNhdGlvblBlcm1pc3Npb25EZWNpcwogICAgIGlmICghaXNSZXF1ZXN0
SURWYWxpZChyZXF1ZXN0SUQpKQogICAgICAgICByZXR1cm47CiAKLSAgICBSZWZQdHI8Vm9pZENh
bGxiYWNrPiBjYWxsYmFjayA9IG1faWRUb0NhbGxiYWNrTWFwLnRha2UocmVxdWVzdElEKTsKKyNp
ZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAgUmVmUHRyPFZvaWRDYWxsYmFjaz4g
dm9pZENhbGxiYWNrID0gbV9pZFRvVm9pZENhbGxiYWNrTWFwLnRha2UocmVxdWVzdElEKTsKKyAg
ICBpZiAodm9pZENhbGxiYWNrKSB7CisgICAgICAgIHZvaWRDYWxsYmFjay0+aGFuZGxlRXZlbnQo
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorCisgICAgUmVmUHRyPE5vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjaz4gY2FsbGJhY2sgPSBtX2lkVG9DYWxsYmFja01hcC50YWtl
KHJlcXVlc3RJRCk7CiAgICAgaWYgKCFjYWxsYmFjaykKICAgICAgICAgcmV0dXJuOwogICAgIAot
ICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVudCgpOworICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVudChO
b3RpZmljYXRpb246OnN0cmluZ0ZvclBlcm1pc3Npb24oYWxsb3dlZCA/IE5vdGlmaWNhdGlvbkNs
aWVudDo6UGVybWlzc2lvbkFsbG93ZWQgOiBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25E
ZW5pZWQpKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKHJlcXVlc3RJRCk7CiAgICAgVU5VU0VE
X1BBUkFNKGFsbG93ZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlci5oCmluZGV4IDAzOTc4NzliYTZiZjUxNjZjODUwODU5NDZmMDRmNmVm
MjNkMGVlNjAuLjNiMzc5OWFlM2JmYmEwNTAwMzA5ODAwNThiNjVlZjdjNDIwM2QwMDcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmgK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTI3LDYgKzI3LDcgQEAKICNkZWZpbmUgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5h
Z2VyX2gKIAogI2luY2x1ZGUgPFdlYkNvcmUvTm90aWZpY2F0aW9uQ2xpZW50Lmg+CisjaW5jbHVk
ZSA8V2ViQ29yZS9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1ZvaWRDYWxsYmFjay5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTQ1LDggKzQ2LDEzIEBAIGNsYXNzIFdlYlBhZ2U7CiBj
bGFzcyBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIgOiBwdWJsaWMgUmVmQ291
bnRlZDxOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI+IHsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI+
IGNyZWF0ZShXZWJQYWdlKik7Ci0gICAgCisKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyAg
ICB2b2lkIHN0YXJ0UmVxdWVzdChXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiosIFBhc3NSZWZQdHI8
V2ViQ29yZTo6Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPik7CisjZW5kaWYKKyNpZiBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgdm9pZCBzdGFydFJlcXVlc3QoV2ViQ29y
ZTo6U2VjdXJpdHlPcmlnaW4qLCBQYXNzUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4pOwor
I2VuZGlmCiAgICAgdm9pZCBjYW5jZWxSZXF1ZXN0KFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luKik7
CiAgICAgCiAgICAgLy8gU3luY2hyb25vdXMgY2FsbCB0byByZXRyaWV2ZSBwZXJtaXNzaW9uIGxl
dmVsIGZvciBnaXZlbiBzZWN1cml0eSBvcmlnaW4KQEAgLTU2LDggKzYyLDEzIEBAIHB1YmxpYzoK
ICAgICAKIHByaXZhdGU6CiAgICAgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
KFdlYlBhZ2UqKTsKLSAgICAKLSAgICBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQdHI8V2ViQ29yZTo6
Vm9pZENhbGxiYWNrPiA+IG1faWRUb0NhbGxiYWNrTWFwOworCisjaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpCisgICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYkNvcmU6Ok5vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjaz4gPiBtX2lkVG9DYWxsYmFja01hcDsKKyNlbmRpZgorI2lmIEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQdHI8
V2ViQ29yZTo6Vm9pZENhbGxiYWNrPiA+IG1faWRUb1ZvaWRDYWxsYmFja01hcDsKKyNlbmRpZgog
ICAgIEhhc2hNYXA8UmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPiwgdWludDY0X3Q+IG1f
b3JpZ2luVG9JRE1hcDsKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQdHI8V2ViQ29yZTo6U2Vj
dXJpdHlPcmlnaW4+ID4gbV9pZFRvT3JpZ2luTWFwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9u
TWFuYWdlci5jcHAKaW5kZXggZTEwY2FjYjBhNjFjMzQwMmY5NjJlYWViNWFmNjVjZjE4MjFiNmU5
YS4uMmQ2NjdlZjVlMTcyYjFkOGNjZDg2M2U0MTcxYzZmNGI0MzRkMTg5NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1h
bmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9X
ZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcApAQCAtMTE3LDggKzExNywxMiBAQCBib29sIFdlYk5v
dGlmaWNhdGlvbk1hbmFnZXI6OnNob3coTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24sIFdlYlBh
Z2UqIHBhZ2UpCiAgICAgCiAgICAgTm90aWZpY2F0aW9uQ29udGV4dE1hcDo6aXRlcmF0b3IgaXQg
PSBtX25vdGlmaWNhdGlvbkNvbnRleHRNYXAuYWRkKG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpLCBWZWN0b3I8dWludDY0X3Q+KCkpLml0ZXJhdG9yOwogICAgIGl0LT5zZWNv
bmQuYXBwZW5kKG5vdGlmaWNhdGlvbklEKTsKLSAgICAKKworI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKQorICAgIG1fcHJvY2Vzcy0+Y29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdl
UHJveHk6OlNob3dOb3RpZmljYXRpb24obm90aWZpY2F0aW9uLT50aXRsZSgpLCBub3RpZmljYXRp
b24tPmJvZHkoKSwgbm90aWZpY2F0aW9uLT5pY29uVVJMKCkuc3RyaW5nKCksIG5vdGlmaWNhdGlv
bi0+dGFnKCksIG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5zZWN1cml0
eU9yaWdpbigpLT50b1N0cmluZygpLCBub3RpZmljYXRpb25JRCksIHBhZ2UtPnBhZ2VJRCgpKTsK
KyNlbHNlCiAgICAgbV9wcm9jZXNzLT5jb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlBh
Z2VQcm94eTo6U2hvd05vdGlmaWNhdGlvbihub3RpZmljYXRpb24tPnRpdGxlKCksIG5vdGlmaWNh
dGlvbi0+Ym9keSgpLCBub3RpZmljYXRpb24tPmljb25VUkwoKS5zdHJpbmcoKSwgbm90aWZpY2F0
aW9uLT5yZXBsYWNlSWQoKSwgbm90aWZpY2F0aW9uLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkt
PnNlY3VyaXR5T3JpZ2luKCktPnRvU3RyaW5nKCksIG5vdGlmaWNhdGlvbklEKSwgcGFnZS0+cGFn
ZUlEKCkpOworI2VuZGlmCiAgICAgcmV0dXJuIHRydWU7CiAjZWxzZQogICAgIHJldHVybiBmYWxz
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViTm90aWZpY2F0aW9uQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmNwcAppbmRleCA4YWM3OGQ1ZjQ0Njcy
Nzk4M2Y5YjI1ZWE1OTgxMTAzYzlkMzZkNzc4Li43OWJhYzFhZTljNjQzOTUzMzBhZDdlODA3NWFi
YTFjMTNjNTdmZmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuY3BwCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC03Miwx
MCArNzIsMTkgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6Om5vdGlmaWNhdGlvbkNvbnRy
b2xsZXJEZXN0cm95ZWQoKQogICAgIGRlbGV0ZSB0aGlzOwogfQogCisjaWYgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQogdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJt
aXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8Vm9pZENh
bGxiYWNrPiBjYWxsYmFjaykKIHsKICAgICBtX3BhZ2UtPm5vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlcigpLT5zdGFydFJlcXVlc3QoY29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKSwg
Y2FsbGJhY2spOwogfQorI2VuZGlmCisKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKK3ZvaWQg
V2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFj
az4gY2FsbGJhY2spCit7CisgICAgbV9wYWdlLT5ub3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXIoKS0+c3RhcnRSZXF1ZXN0KGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCksIGNhbGxi
YWNrKTsKK30KKyNlbmRpZgogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2FuY2VsUmVx
dWVzdHNGb3JQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5v
dGlmaWNhdGlvbkNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaAppbmRleCA0NmViMmE1ZDg4ODkwNjZjYjA0MzQ2
MmExMTQ5MWI1OTI0NTc1Y2FiLi5kZTMwYjBlOWVmN2VkNjBhMDU3YWZhYjY1YjlmNzVkNzU2MGE5
MGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMxLDYgKzMxLDcgQEAKICNp
bmNsdWRlIDxXZWJDb3JlL05vdGlmaWNhdGlvbkNsaWVudC5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CitjbGFzcyBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s7CiBjbGFzcyBTY3JpcHRF
eGVjdXRpb25Db250ZXh0OwogY2xhc3MgVm9pZENhbGxiYWNrOwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpAQCAtNTAsNyArNTEsMTIgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJO
b3RpZmljYXRpb25zKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKFdlYkNvcmU6Ok5v
dGlmaWNhdGlvbiopIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25Db250
cm9sbGVyRGVzdHJveWVkKCkgT1ZFUlJJREU7CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJ
T05TKQogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJhY2s+KSBPVkVS
UklERTsKKyNlbmRpZgorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorICAgIHZpcnR1YWwgdm9p
ZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFz
c1JlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KSBPVkVSUklE
RTsKKyNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24o
V2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
Tm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihXZWJDb3JlOjpT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KikgT1ZFUlJJREU7CiAgICAgCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139372</attachid>
            <date>2012-04-28 13:41:51 -0700</date>
            <delta_ts>2012-04-30 13:03:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80485-20120428134405.patch</filename>
            <type>text/plain</type>
            <size>71365</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1NTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWJkZjg5NDZkMjlhNWVi
MTcyNWIzZGEzMWZmYzUyZDdmNGQyZDQ0Ny4uYjU4ZTVlYzQ3YmEyNDQ1ZWRlNjYzMmE1ZDZhMDU4
MGI0MDdjZDBhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEyLTA0LTI3ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVu
Y3Rpb25zIHRvIE5vdGlmaWNhdGlvbiBmcm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzEwOTY1NDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsOiBBZGQgcGVy
bWlzc2lvbiBmdW5jdGlvbnMuCisKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5jcHA6IE5ldyBwZXJtaXNzaW9uIGZ1bmN0aW9ucyBhcmUgd3JhcHBlZCB3aXRoIEVOQUJMRShO
T1RJRklDQVRJT05TKQorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjp0YXNrVGltZXJG
aXJlZCk6IFVzZSB0aGUgbmV3IHBlcm1pc3Npb24gZnVuY3Rpb25zIHRvIGRldGVybWluZSB3aGV0
aGVyIHdlIGNhbiBzaG93IHRoZQorICAgICAgICBub3RpZmljYXRpb24uCisgICAgICAgIChXZWJD
b3JlOjpOb3RpZmljYXRpb246OnBlcm1pc3Npb25MZXZlbCk6CisgICAgICAgIChXZWJDb3JlOjpO
b3RpZmljYXRpb246OnN0cmluZ0ZvclBlcm1pc3Npb24pOiBEZWNsYXJlIHRocmVlIHN0YXRpYyBs
b2NhbHMgZm9yIGVhY2ggb2YgdGhlIHZhbHVlcywgYW5kIHJldHVybgorICAgICAgICBiYXNlZCBv
biB0aGUgcGVybWlzc2lvbiBlbnVtLgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpy
ZXF1ZXN0UGVybWlzc2lvbik6IEZvcndhcmQgcmVxdWVzdCB0byBjbGllbnQuCisgICAgICAgICog
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaDoKKworICAgICAgICAqIG5vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmg6IEFkZGVkLgorICAgICAgICAoTm90aWZp
Y2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjazo6fk5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjayk6Cisg
ICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRs
OiBBZGRlZC4KKworICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNw
cDogV3JhcCBwZXJtaXNzaW9uIGZ1bmN0aW9ucyBpbiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaDogV3JhcCBw
ZXJtaXNzaW9uIGZ1bmN0aW9ucyBpbiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAg
ICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsOiBXcmFwIHBlcm1pc3Np
b24gZnVuY3Rpb25zIGluIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBu
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvblByZXNlbnRlci5oOgorICAgICAgICAoV2ViQ29yZTo6
Tm90aWZpY2F0aW9uUHJlc2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbik6IEFkZCBuZXcgcmVxdWVz
dFBlcm1pc3Npb24oKSBmdW5jdGlvbiBmb3IgbmV3CisgICAgICAgIE5vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjayB0eXBlLiBNYWtlIGl0IGEgc3R1YiBpbXBsZW1lbnRhdGlvbiB1bnRpbCBh
bGwgcG9ydHMgaGF2ZSBhZG9wdGVkLgorCisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25DbGllbnQuaDogQWRkIGFub3RoZXIgcmVxdWVzdFBlcm1pc3Npb24oKSBjbGllbnQgY2Fs
bCwgd3JhcHBlZCBpbgorICAgICAgICBFTkFCTEUoTk9USUZJQ0FUSU9OUykgdGhhdCBhY2NlcHRz
IHRoZSBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suIFdyYXAgdGhlIG9yaWdpbmFsIG9u
ZSBpbgorICAgICAgICBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpLgorCisgICAgICAgICog
YmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3RvbS5jcHA6IENoYW5nZSB0byBp
bmNsdWRlIHRoZSBpbXBsZW1lbnRhdGlvbiBvbmx5IGluCisgICAgICAgIEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykuCisgICAgICAgICogYmluZGluZ3MvanMvSlNOb3RpZmljYXRpb25zQ3Vz
dG9tLmNwcDogQ3VzdG9tIGltcGxlbWVudGF0aW9uIG9mIHJlcXVlc3RQZXJtaXNzaW9uKCkuCisg
ICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcDogQ3Vz
dG9tIGltcGxlbWVudGF0aW9uIG9mIHJlcXVlc3RQZXJtaXNzaW9uKCkuCisKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDogQWRkIG5ldyBjYWxsYmFjayBpZGwuCisgICAgICAgICogRGVyaXZlZFNv
dXJjZXMubWFrZTogQWRkIG5ldyBjYWxsYmFjayBpZGwuCisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMucHJpOiBBZGQgbmV3IGNhbGxiYWNrIGlkbC4KKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0
LmFtOiBBZGQgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrIGZpbGVzLgorICAgICAgICAq
IFRhcmdldC5wcmk6IEluY2x1ZGUgSlNOb3RpZmljYXRpb25DdXN0b20uY3BwLCBWOE5vdGlmaWNh
dGlvbkN1c3RvbS5jcHAKKyAgICAgICAgKiBVc2VKU0MuY21ha2U6IEluY2x1ZGUgSlNOb3RpZmlj
YXRpb25DdXN0b20uY3BwCisgICAgICAgICogVXNlVjguY21ha2U6IEluY2x1ZGUgVjhOb3RpZmlj
YXRpb25DdXN0b20uY3BwCisgICAgICAgICogV2ViQ29yZS5neXBpOiBJbmNsdWRlIEpTTm90aWZp
Y2F0aW9uQ3VzdG9tLmNwcCwgVjhOb3RpZmljYXRpb25DdXN0b20uY3BwLCBKU05vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjay57aCxjcHB9CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2o6IEluY2x1ZGUgSlNOb3RpZmljYXRpb25DdXN0b20uY3BwLCBKU05vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjay57aCxjcHB9CisgICAgICAgICogV2ViQ29yZS5leHAuaW46
IEV4cG9ydCBzdHJpbmdGb3JQZXJtaXNzaW9uKCkuCisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOiBBZGQgY2FsbGJhY2sgaWRsLCBoLCBhbmQgY3BwIGZpbGVzLgor
CiAyMDEyLTA0LTI4ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBJbnNwZWN0b3JGcm9udGVuZEhvc3QuYXBwZW5kIGhhcyB0
byBiZSBpbXBsZW1lbnRlZCBmb3Igc2F2aW5nIGhlYXAgc25hcHNob3RzLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwppbmRleCA5MDEwMzJmOWVkMTFhNWMxYzgxZTFlYzA5MTk4Y2I0ZGUyNjBhNWY4
Li4yZGQwMjNjMjUwYjg3OTYxMGZhMjM1NjVjZjM1MDU1ODM2YzkzOTkyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA0LTI3ICBKb24gTGVlICA8am9u
bGVlQGFwcGxlLmNvbT4KKworICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVuY3Rpb25zIHRv
IE5vdGlmaWNhdGlvbiBmcm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzEwOTY1NDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogc3JjL05vdGlmaWNhdGlvblByZXNlbnRlckltcGwuaDoKKyAgICAgICAgKE5vdGlm
aWNhdGlvblByZXNlbnRlckltcGwpOiBBZGQgc3R1YiBpbXBsZW1lbnRhdGlvbiBvZiByZXF1ZXN0
UGVybWlzc2lvbi4KKyAgICAgICAgKFdlYktpdDo6Tm90aWZpY2F0aW9uUHJlc2VudGVySW1wbDo6
cmVxdWVzdFBlcm1pc3Npb24pOgorCiAyMDEyLTA0LTI4ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9p
c2xvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBJbnNwZWN0b3JGcm9u
dGVuZEhvc3QuYXBwZW5kIGhhcyB0byBiZSBpbXBsZW1lbnRlZCBmb3Igc2F2aW5nIGhlYXAgc25h
cHNob3RzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDMzYjc4MDJmYzhhMGVlZGI5ZDIxNmNmZTM1MmRm
YzY5YjEyNzk3YjEuLjk4MmFhMTljZDE4NWQ0ZjBhMmU2MjAyNjQ3YWJiN2NhODI2ZTI2ZWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxMi0wNC0yNyAgSm9uIExlZSAgPGpv
bmxlZUBhcHBsZS5jb20+CisKKyAgICAgICAgTWlncmF0ZSBwZXJtaXNzaW9uIGZ1bmN0aW9ucyB0
byBOb3RpZmljYXRpb24gZnJvbSBOb3RpZmljYXRpb25DZW50ZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDg1CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS8xMDk2NTQ1OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oOiAqCisgICAg
ICAgIFdlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5tbTogQWRkIGEgc2VwYXJh
dGUgY2FsbGJhY2sKKyAgICAgICAgdmFyaWFibGUgZGVwZW5kaW5nIG9uIHRoZSBub3RpZmljYXRp
b25zIEFQSSBlbmFibGVkLgorICAgICAgICAoV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0
UGVybWlzc2lvbik6IEFkZAorICAgICAgICBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sg
dmVyc2lvbiBvZiB0aGUgc2FtZQorICAgICAgICBmdW5jdGlvbi4gQW5kIHJlZmFjdG9yIGNvbW1v
biBjb2RlIGludG8gcHJpdmF0ZSBmdW5jdGlvbi4KKyAgICAgICAgKC1bV2ViTm90aWZpY2F0aW9u
UG9saWN5TGlzdGVuZXIgaW5pdFdpdGhDYWxsYmFjazpdKTogUmVmYWN0b3IgdG8KKyAgICAgICAg
dGFrZSB0aGUgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrIGFzIGEgcGFyYW1ldGVyLgor
ICAgICAgICAoLVtXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciBpbml0V2l0aFZvaWRDYWxs
YmFjazpdKTogQWRkIG5ldworICAgICAgICBpbml0IG1ldGhvZCB0byBoYW5kbGUgbGVnYWN5IEFQ
SS4KKyAgICAgICAgKC1bV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgYWxsb3ddKTogSW52
b2tlIHRoZSBjYWxsYmFjayBmb3IKKyAgICAgICAgYm90aCB2YXJpYWJsZXMuIElmIG9ubHkgb25l
IG9mIHRoZSBBUElzIGlzIGVuYWJsZWQsIHdlIGFyZQorICAgICAgICBndWFyYW50ZWVkIHRoYXQg
dGhlIHJlbGV2YW50IGNhbGxiYWNrIHZhcmlhYmxlIGV4aXN0cy4gSWYgYm90aAorICAgICAgICBB
UElzIGFyZSBzdXBwb3J0ZWQsIGl0IGlzIHBvc3NpYmxlIHRoYXQgX3ZvaWRDYWxsYmFjayB3aWxs
IGJlIG5pbAorICAgICAgICBpZiB0aGUgY2FsbGJhY2sgaXMgTm90aWZpY2F0aW9uUGVybWlzc2lv
bkNhbGxiYWNrLCBzbyB3ZSBuZWVkIHRoZQorICAgICAgICBleHRyYSBwb2ludGVyIGNoZWNrLgor
ICAgICAgICAoLVtXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciBkZW55XSk6IERpdHRvLgor
CiAyMDEyLTA0LTI3ICBHYXZpbiBQZXRlcnMgIDxnYXZpbnBAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIEFkZCBuZXcgRU5BQkxFX0xJTktfUFJFUkVOREVSIGRlZmluZSB0byBjb250cm9sIHRoZSBQ
cmVyZW5kZXJpbmcgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IGI2MWQzYTM3ZmE4M2JjYThlZTA2NjA0
YjlhZjU1NDcwNTU5MWY4ZjEuLjgzODZjNmE1MGVmZTcwNmY0M2JhMzVhMmU0ZTQzOTdlNTE2M2Ix
MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDQtMjcgIEpvbiBMZWUg
IDxqb25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIE1pZ3JhdGUgcGVybWlzc2lvbiBmdW5jdGlv
bnMgdG8gTm90aWZpY2F0aW9uIGZyb20gTm90aWZpY2F0aW9uQ2VudGVyCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQ4NQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMTA5NjU0NTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRR
dC5oOgorICAgICAgICAoTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQpOiBBZGQgc3R1YiBp
bXBsZW1lbnRhdGlvbiBvZiByZXF1ZXN0UGVybWlzc2lvbi4KKyAgICAgICAgKFdlYkNvcmU6Ok5v
dGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0OjpyZXF1ZXN0UGVybWlzc2lvbik6CisKIDIwMTIt
MDQtMjcgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBub2tpYS5jb20+CiAK
ICAgICAgICAgTW92ZSBXZWJLaXQxIHNwZWNpZmljIGNvbnZlcnNpb24gb2YgdG91Y2gtZXZlbnRz
IHRvIFdlYktpdDEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCAyZDEzMjYyYWYyMGI1ZjE5OTQzOTEwMGFj
YWJlNTE1NzhkNTY4MTg0Li44MDhiNzQ2ZDZiMDk5YzlkNTUzNDg3NTFmZGE1ZGEzZDhmMWRiNTk2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDQtMjcgIEpvbiBMZWUg
IDxqb25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIE1pZ3JhdGUgcGVybWlzc2lvbiBmdW5jdGlv
bnMgdG8gTm90aWZpY2F0aW9uIGZyb20gTm90aWZpY2F0aW9uQ2VudGVyCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQ4NQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMTA5NjU0NTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVn
YXRlLmNwcDoKKyAgICAgICAgKFdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGU6OnJlcXVl
c3RQZXJtaXNzaW9uKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZp
Y2F0aW9uc0RlbGVnYXRlLmg6CisgICAgICAgIChXZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVn
YXRlKTogQWRkIHN0dWIgaW1wbGVtZW50YXRpb24gb2YgcmVxdWVzdFBlcm1pc3Npb24uCisKIDIw
MTItMDQtMjAgIEVtaWwgQSBFa2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFt3
aW5dIFVwZGF0ZSB3aW5kb3dzIHBsYXRmb3JtIGNvZGUgdG8gdXNlIHBpeGVsIHNuYXBwZWQgdmFs
dWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKaW5kZXggMDY5N2YxNzU4NDQ4N2NlNzlmZGIzYzRiMGIwOGI2ZjJiYjNlYTU3
OC4uYmU2MDBjNWYzN2VkNjk5OTI3YzcxMDgxOWM4ODFiZGI5NzhhZWFlNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI1IEBACisyMDEyLTA0LTI3ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4K
KworICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVuY3Rpb25zIHRvIE5vdGlmaWNhdGlvbiBm
cm9tIE5vdGlmaWNhdGlvbkNlbnRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODA0ODUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwOTY1NDU4Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJv
Y2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5j
cHA6CisgICAgICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
cjo6c3RhcnRSZXF1ZXN0KTogQWRkIHZlcnNpb24gdG8gc3VwcG9ydCBib3RoIGtpbmRzIG9mCisg
ICAgICAgIGNhbGxiYWNrcy4KKyAgICAgICAgKFdlYktpdDo6Tm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyOjpjYW5jZWxSZXF1ZXN0KToKKyAgICAgICAgKFdlYktpdDo6Tm90aWZp
Y2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpkaWRSZWNlaXZlTm90aWZpY2F0aW9uUGVy
bWlzc2lvbkRlY2lzaW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmg6IEFkZCBhbm90aGVyIG1hcCBmb3Ig
bmV3IGNhbGxiYWNrIHR5cGUuCisgICAgICAgIChOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmlj
YXRpb25NYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uTWFuYWdl
cjo6c2hvdyk6IEFkZCAjaWZkZWYgdG8gdXNlIHJlcGxhY2VJZCgpIG9yIHRhZygpIGRlcGVuZGlu
ZyBvbiB3aGljaCBmZWF0dXJlCisgICAgICAgIGhhcyBiZWVuIGVuYWJsZWQuIEluIHRoZSBjYXNl
IHdoZXJlIGJvdGggYXJlIGVuYWJsZWQsIHdlIHByZWZlciB0YWcoKSBzaW5jZSB0aGF0IGlzIGlu
IHRoZSBsYXRlc3Qgc3BlYy4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
Yk5vdGlmaWNhdGlvbkNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlv
bkNsaWVudDo6cmVxdWVzdFBlcm1pc3Npb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lmg6IEltcGxlbWVudCBib3RoIGNsaWVudCBm
dW5jdGlvbnMgdG8gcmVxdWVzdCBwZXJtaXNzaW9ucy4KKwogMjAxMi0wNC0yOCAgWXVyeSBTZW1p
a2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBBZGRl
ZCBuZXcgZXhwb3J0ZWQgc3ltYm9scyBhZnRlciByMTE1NTUzLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApp
bmRleCA5ZTRmMmIxMjIwNmY4YjFkYTU4MjRjNTYwNzYwOWU4ZDVkZTllYjA5Li5mNjA3NmFmMTY0
ZWY3Yzk1NTYwYzIxZGVlODhlZTdkNzQwYzY2ZmQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAt
MTY4Niw2ICsxNjg2LDcgQEAgSUYgKEVOQUJMRV9OT1RJRklDQVRJT05TKQogICAgICAgICBub3Rp
ZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMuaWRsCiAgICAgICAgIG5vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uLmlkbAogICAgICAgICBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNl
bnRlci5pZGwKKyAgICAgICAgbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2suaWRsCiAgICAgICAgIG5vdGlmaWNhdGlvbnMvV29ya2VyQ29udGV4dE5vdGlmaWNhdGlv
bnMuaWRsCiAgICAgKQogRU5ESUYgKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4
IGQxNTgzNDNlZWI1NmJmNTVkYTg2OWRjNzFlZGE5NzlkYWRlY2Q4ZDcuLjY4MGFlNzAyOWM2OTAx
MjMyYTdhYzJmYjFkMDZmY2ViOGZmMzEzOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQpAQCAtMSw0ICsxLDQgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAy
MDA4LCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMgQ29weXJpZ2h0IChD
KSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPiAKICMgQ29weXJpZ2h0
IChDKSAyMDA5IENhbWVyb24gTWNDb3JtYWNrIDxjYW1AbWNjLmlkLmF1PgogIwpAQCAtMzg4LDYg
KzM4OCw3IEBAIEJJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL25vdGlmaWNhdGlvbnMv
RE9NV2luZG93Tm90aWZpY2F0aW9ucy5pZGwgXAogICAgICQoV2ViQ29yZSkvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uQ2VudGVyLmlkbCBcCisgICAgJChXZWJDb3JlKS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgXAogICAgICQoV2ViQ29yZSkvbm90aWZpY2F0aW9u
cy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9B
YnN0cmFjdFZpZXcuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvQmFySW5mby5pZGwgXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMucHJpCmluZGV4IDBmYTRiMjQ5YTNlYjVkMzQ4YmMzNDU1ZWEyZjQ3
YTZlMWUzNmRlOTEuLjcwMTA0YThmMTNkMmVlY2NiZTg4MDcxOGNhNjU3MmEwMDhhNDc1NDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKQEAgLTM5OCw2ICszOTgsNyBAQCBJRExfQklORElO
R1MgKz0gXAogICAgICQkUFdEL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5p
ZGwgXAogICAgICQkUFdEL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbCBcCiAgICAgJCRQ
V0Qvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsIFwKKyAgICAkJFBXRC9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgXAogICAgICQkUFdE
L25vdGlmaWNhdGlvbnMvV29ya2VyQ29udGV4dE5vdGlmaWNhdGlvbnMuaWRsIFwKICAgICAkJFBX
RC9wYWdlL0JhckluZm8uaWRsIFwKICAgICAkJFBXRC9wYWdlL0NvbnNvbGUuaWRsIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDZjNTY4Njk0MmM1NzAzNmUzODVhOWFjMWQ3N2Fm
NGVmMWJjNTNhMWUuLmQ3Y2QyYTZlMTdhMzhhMGE3MTRiMWFlOTUzZWM1MjdjYjgxOWJlZjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNDI2LDYgKzQyNiw4IEBAIHdlYmNvcmVf
YnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05vdGlmaWNhdGlv
bkNlbnRlci5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uLmNwcCBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05vdGlmaWNhdGlvbi5oIFwKKwlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmNwcCBcCisJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5jcHAgXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPRVNTdGFuZGFyZERlcml2YXRpdmVzLmggXAogCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPRVNUZXh0dXJlRmxvYXQuY3BwIFwKQEAgLTkzMCw2ICs5
MzIsNyBAQCBkb21fYmluZGluZ19pZGxzICs9IFwKIAkkKFdlYkNvcmUpL2xvYWRlci9hcHBjYWNo
ZS9ET01BcHBsaWNhdGlvbkNhY2hlLmlkbCBcCiAJJChXZWJDb3JlKS9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbi5pZGwgXAogCSQoV2ViQ29yZSkvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25D
ZW50ZXIuaWRsIFwKKwkkKFdlYkNvcmUpL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrLmlkbCBcCiAJJChXZWJDb3JlKS9wYWdlL0JhckluZm8uaWRsIFwKIAkkKFdl
YkNvcmUpL3BhZ2UvQ29uc29sZS5pZGwgXAogCSQoV2ViQ29yZSkvcGFnZS9Db29yZGluYXRlcy5p
ZGwgXApAQCAtMjg4NSw2ICsyODg4LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaCBcCiAJU291cmNl
L1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwIFwKIAlTb3VyY2UvV2ViQ29y
ZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oIFwKKwlTb3VyY2UvV2ViQ29yZS9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9ub3RpZmljYXRpb25zL1dvcmtlckNvbnRleHROb3RpZmljYXRpb25zLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcCBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnBy
aQppbmRleCA2Y2M5NzFlNTJjNTczMGFkN2Y1NGVjNTVjYTUyYmUwNGI4OTgxOWYyLi44OThmNjgz
ZDAzMWViNjM0Yzk5YjgyMThkYzhmZTI3YmY0NTc2OTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTIzNCw2
ICsyMzQsNyBAQCB2OCB7CiAgICAgICAgIFwKICAgICAgICAgYmluZGluZ3Mvdjgvc3BlY2lhbGl6
YXRpb24vVjhCaW5kaW5nU3RhdGUuY3BwXAogICAgICAgICBcCisgICAgICAgIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9j
dXN0b20vVjhOb3RpZmljYXRpb25DZW50ZXJDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3Mv
djgvY3VzdG9tL1Y4Q29uc29sZUN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0
b20vVjhTUUxUcmFuc2FjdGlvblN5bmNDdXN0b20uY3BwIFwKQEAgLTM0Miw2ICszNDMsNyBAQCB2
OCB7CiAgICAgICAgIGJpbmRpbmdzL2pzL0pTTm9kZUZpbHRlckN1c3RvbS5jcHAgXAogICAgICAg
ICBiaW5kaW5ncy9qcy9KU05vZGVJdGVyYXRvckN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5n
cy9qcy9KU05vZGVMaXN0Q3VzdG9tLmNwcCBcCisgICAgICAgIGJpbmRpbmdzL2pzL0pTTm90aWZp
Y2F0aW9uQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTUGx1Z2luRWxlbWVudEZ1
bmN0aW9ucy5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU1BvcFN0YXRlRXZlbnRDdXN0b20u
Y3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25DdXN0b20u
Y3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZSBiL1NvdXJjZS9X
ZWJDb3JlL1VzZUpTQy5jbWFrZQppbmRleCA0OTNmYTIxMTU1ODIxMzMyNTM5YzU1ZWU2YTZjZGNj
YTg3N2RiNTliLi5iMWUwMDAzNDU1MWQwOTBkM2EzYmVkNTU5NzZjMmNlMDRiZDAyMDczIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUv
VXNlSlNDLmNtYWtlCkBAIC0xMjAsNiArMTIwLDcgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VS
Q0VTCiAgICAgYmluZGluZ3MvanMvSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdz
L2pzL0pTTm9kZUl0ZXJhdG9yQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTTm9kZUxpc3RD
dXN0b20uY3BwCisgICAgYmluZGluZ3MvanMvSlNOb3RpZmljYXRpb25DdXN0b20uY3BwCiAgICAg
YmluZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcAogICAgIGJpbmRpbmdzL2pz
L0pTUG9wU3RhdGVFdmVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1Byb2Nlc3NpbmdJ
bnN0cnVjdGlvbkN1c3RvbS5jcHAKQEAgLTI0OSw2ICsyNTAsNyBAQCBFTkRJRiAoKQogSUYgKEVO
QUJMRV9OT1RJRklDQVRJT05TKQogICAgIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAg
ICAgICBiaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcAorICAgICAg
ICBiaW5kaW5ncy9qcy9KU05vdGlmaWNhdGlvbnNDdXN0b20uY3BwCiAgICAgKQogRU5ESUYgKCkK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UgYi9Tb3VyY2UvV2ViQ29y
ZS9Vc2VWOC5jbWFrZQppbmRleCBlZTRlNmI5NTk0MDJhNGRmOTIwYzU0ZjE1YTk5MWFhNWYyZjdk
NjNlLi44NWQzNzg2YjMyNzk1N2E3MDQyOWVlMWY0NmYwY2U5NjVkZTRmYmE2IDEwMDc1NQotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5j
bWFrZQpAQCAtMTM2LDYgKzEzNiw3IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAg
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZXNDb2xsZWN0aW9uLmNwcAogICAgIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOE5vZGVDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Tm9kZUxpc3RDdXN0b20uY3BwCisgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9u
Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkNlbnRlckN1
c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhQZXJmb3JtYW5jZUN1c3RvbS5jcHAK
ICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbgppbmRleCA4OGM2OGE4ZjBjMThjYjYzMzY5Mzc1ZDA3ZDU2YmE5Yjg5MjFlMzI4
Li4xZjc5OTFkNGNjMzUwNmQ4OGFlYTJjOWFlNDRiMDY4OGJmNDZiMzE3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgpAQCAtMjE2OSw2ICsyMTY5LDcgQEAgX19aTjdXZWJDb3JlMTJOb3RpZmljYXRpb24x
N2Rpc3BhdGNoU2hvd0V2ZW50RXYKIF9fWk43V2ViQ29yZTEyTm90aWZpY2F0aW9uMThkaXNwYXRj
aENsaWNrRXZlbnRFdgogX19aTjdXZWJDb3JlMTJOb3RpZmljYXRpb24xOGRpc3BhdGNoQ2xvc2VF
dmVudEV2CiBfX1pON1dlYkNvcmUxMk5vdGlmaWNhdGlvbjE4ZGlzcGF0Y2hFcnJvckV2ZW50RXYK
K19fWk43V2ViQ29yZTEyTm90aWZpY2F0aW9uMTlzdHJpbmdGb3JQZXJtaXNzaW9uRU5TXzE4Tm90
aWZpY2F0aW9uQ2xpZW50MTBQZXJtaXNzaW9uRQogX19aTjdXZWJDb3JlMTlwcm92aWRlTm90aWZp
Y2F0aW9uRVBOU180UGFnZUVQTlNfMThOb3RpZmljYXRpb25DbGllbnRFCiAjZW5kaWYKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCmluZGV4IDM1MGQ4YjRiNmFhZDBlYjhkOGZkMGU2MmZhNjhlNTY1ZjM5ZTQ2MzIu
LmEwNjZkNzlkNDUzOWE1Y2YzYmE4YTExMTkyM2U5NGFiN2M1MDM3N2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKQEAgLTExMjksNiArMTEyOSw3IEBACiAgICAgICAgICAgICAnbm90aWZpY2F0aW9ucy9ET01X
aW5kb3dOb3RpZmljYXRpb25zLmlkbCcsCiAgICAgICAgICAgICAnbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb24uaWRsJywKICAgICAgICAgICAgICdub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNl
bnRlci5pZGwnLAorICAgICAgICAgICAgJ25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrLmlkbCcsCiAgICAgICAgICAgICAnbm90aWZpY2F0aW9ucy9Xb3JrZXJDb250
ZXh0Tm90aWZpY2F0aW9ucy5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvQWJzdHJhY3RWaWV3Lmlk
bCcsCiAgICAgICAgICAgICAncGFnZS9CYXJJbmZvLmlkbCcsCkBAIC0xOTg2LDYgKzE5ODcsNyBA
QAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTm9kZUZpbHRlckN1c3RvbS5jcHAnLAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTm9kZUl0ZXJhdG9yQ3VzdG9tLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvanMvSlNOb2RlTGlzdEN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2Jp
bmRpbmdzL2pzL0pTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGlu
Z3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcCcsCiAgICAgICAgICAgICAnYmluZGlu
Z3MvanMvSlNQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mv
anMvSlNQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25DdXN0b20uY3BwJywKQEAgLTIyOTYsNiArMjI5OCw3
IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2Rlc0NvbGxlY3Rp
b24uaCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUN1c3RvbS5jcHAn
LAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vZGVMaXN0Q3VzdG9tLmNwcCcs
CisgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ3VzdG9tLmNw
cCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2VudGVy
Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4UGVyZm9ybWFu
Y2VDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhQb3BTdGF0
ZUV2ZW50Q3VzdG9tLmNwcCcsCkBAIC0yOTUzLDYgKzI5NTYsNyBAQAogICAgICAgICAgICAgJ25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgnLAogICAgICAgICAgICAgJ25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5jcHAnLAogICAgICAgICAgICAgJ25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5oJywKKyAgICAgICAgICAgICdub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oJywKICAgICAgICAgICAgICdub3Rp
ZmljYXRpb25zL1dvcmtlckNvbnRleHROb3RpZmljYXRpb25zLmNwcCcsCiAgICAgICAgICAgICAn
bm90aWZpY2F0aW9ucy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5oJywKICAgICAgICAgICAg
ICdwYWdlL0JhckluZm8uY3BwJywKQEAgLTc2NTksNiArNzY2Myw4IEBACiAgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05vdGlmaWNhdGlvbi5oJywK
ICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm90
aWZpY2F0aW9uQ2VudGVyLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU05vdGlmaWNhdGlvbkNlbnRlci5oJywKKyAgICAgICAgICAgICc8
KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrLmNwcCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oJywKICAgICAg
ICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VTU3RhbmRh
cmREZXJpdmF0aXZlcy5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNPRVNTdGFuZGFyZERlcml2YXRpdmVzLmgnLAogICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPRVNUZXh0dXJlRmxvYXQu
Y3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5k
ZXggZmFmMmRlY2Q5NjgxMWY5MWJlYTRhNGQ3ZDU0MjFkZTZiMzc5YmQyZS4uN2I0ZmIyMjQ3Njg4
OGYyZDQ3NmZkMmFjZGQzYWNlODdjZjE0MzQ2OSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTEyMDM0LDYgKzEyMDM0LDYyIEBACiAJCQkJPgog
CQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1
aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uQ2FsbGJhY2suY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
CisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJ
CS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1
cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNr
LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29u
ZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNP
cGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC02
Nzg5Myw2ICs2Nzk0OSw1OCBAQAogCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJCTwvRmls
ZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTTm90aWZp
Y2F0aW9uQ3VzdG9tLmNwcCIKKwkJCQkJPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJ
CU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJ
CQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkv
PgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMy
IgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAor
CQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IkRlYnVnX0Fs
bHxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJ
PFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJQ
cm9kdWN0aW9ufFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+
CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgor
CQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAi
CiAJCQkJCT4KIAkJCQkJPEZpbGVDb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMDc4MTBhOWMxZDA3MDlkNzMz
MzVlZWU2NjlhZTlhMDg0MzlkNjBjZi4uMTZjNzRhODM1OGE0MmU1NDc3ZDdjZGQ3NmY3ODI5Mzk4
ZGExMmMxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtOTEyLDYgKzkxMiw4IEBACiAJCTMxQzBGRjRDMEU0Q0VGREQwMDdENkZF
NSAvKiBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQzBGRjQ2MEU0Q0VGREQwMDdENkZFNSAvKiBET01XZWJL
aXRUcmFuc2l0aW9uRXZlbnQuaCAqLzsgfTsKIAkJMzFDMEZGNEQwRTRDRUZERDAwN0Q2RkU1IC8q
IERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDMxQzBGRjQ3MEU0Q0VGREQwMDdENkZFNSAvKiBET01XZWJLaXRU
cmFuc2l0aW9uRXZlbnQubW0gKi87IH07CiAJCTMxQzBGRjRFMEU0Q0VGREQwMDdENkZFNSAvKiBE
T01XZWJLaXRUcmFuc2l0aW9uRXZlbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFDMEZGNDgwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdl
YktpdFRyYW5zaXRpb25FdmVudEludGVybmFsLmggKi87IH07CisJCTMxRUMxRTI4MTRGRjYwRUUw
MEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUVDMUUyNjE0RkY2MEVFMDBD
OTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suY3BwICovOyB9OworCQkz
MUVDMUUyOTE0RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRUMx
RTI3MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5o
ICovOyB9OwogCQkzMUZCMUE1NzEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ2xpZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE0
RjEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ2xpZW50LmggKi87IH07CiAJCTMxRkIx
QTU4MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTUwMTIwQTVEMDYw
MERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcCAqLzsgfTsKIAkJMzFGQjFBNTkx
MjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTUxMTIwQTVEMDYwMERDMDJB
MCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmggKi87IH07CkBAIC05MjIsNiArOTI0LDggQEAK
IAkJMzFGQjFBNjUxMjBBNUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNjMxMjBB
NUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuY3BwICovOyB9OwogCQkzMUZCMUE2
NjEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNjQxMjBBNUQzRjAwREMwMkEw
IC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuaCAqLzsgfTsKIAkJMzFGQjFBNkMxMjBBNUQ2OTAwREMw
MkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNkIxMjBBNUQ2OTAwREMwMkEwIC8qIEpT
RGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwICovOyB9OworCQkzMUZFNkRGQTE1MDA0QzJBMDAw
NEVCQzQgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUVDMURBQzE0RkYyNkVBMDBDOTQ2NjIg
LyogTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMzFGRTZFNkQxNTAxQTNCRjAwMDRFQkM0IC8q
IEpTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDMxRkU2RTZDMTUwMUEzQkYwMDA0RUJDNCAvKiBKU05vdGlmaWNhdGlv
bkN1c3RvbS5jcHAgKi87IH07CiAJCTMzMTRBQ0VCMTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2Vw
dGlvbkJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMzMxNEFDRTkxMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5jcHAgKi87IH07
CiAJCTMzMTRBQ0VDMTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzMTRBQ0VBMTA4OTIwODYw
MDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuaCAqLzsgfTsKIAkJMzM1MDNDOUExMDE3OUE3NDAw
M0I0N0UxIC8qIE5vdGlmaWNhdGlvbkNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzM1MDNDOTkxMDE3OUE3NDAwM0I0N0UxIC8qIE5vdGlmaWNh
dGlvbkNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CkBAIC03ODM4LDYgKzc4NDIsMTAgQEAKIAkJMzFDMEZGNDYwRTRDRUZERDAwN0Q2RkU1IC8q
IERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMzFDMEZGNDcwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVu
dC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTVdlYktpdFRy
YW5zaXRpb25FdmVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFDMEZGNDgw
RTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudEludGVybmFsLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdlYktpdFRyYW5zaXRpb25FdmVudElu
dGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRUMxRDUwMTRGRUZEMDgw
MEM5NDY2MiAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgbmFtZSA9IE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGw7IHBhdGggPSBu
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRUMxREFDMTRGRjI2RUEwMEM5NDY2MiAvKiBOb3RpZmlj
YXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrLmg7IHBhdGggPSBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUVDMUUyNjE0
RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUVDMUUyNzE0
RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFGQjFBNEYxMjBBNUQwNjAw
REMwMkEwIC8qIERldmljZU1vdGlvbkNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBEZXZpY2VNb3Rpb25DbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMzFGQjFBNTAxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGV2aWNlTW90aW9uQ29udHJv
bGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxRkIxQTUxMTIwQTVEMDYw
MERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERldmljZU1vdGlvbkNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTc4NDksNiArNzg1Nyw3IEBACiAJCTMxRkIxQTYzMTIwQTVEM0YwMERDMDJB
MCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTRGV2aWNlTW90aW9uRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkzMUZCMUE2NDEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RldmljZU1vdGlvbkV2ZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxRkIxQTZCMTIwQTVENjkwMERDMDJBMCAv
KiBKU0RldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkzMUZFNkU2QzE1MDFBM0JGMDAwNEVCQzQgLyogSlNOb3RpZmljYXRp
b25DdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNOb3Rp
ZmljYXRpb25DdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMzE0QUNF
OTEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25CYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRXhjZXB0aW9uQmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTMzMTRBQ0VBMTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJh
c2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFeGNlcHRpb25CYXNlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzM0Y3MDRFMEZCNDlDQTIwMDhFMTJBNiAv
KiBOb3RpZmljYXRpb24uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IE5vdGlmaWNhdGlvbi5p
ZGw7IHBhdGggPSBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xNDU0OSw2ICsxNDU1OCw4IEBACiAJCQkJMzM1MDNDOTkxMDE3OUE3
NDAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvbkNsaWVudC5oICovLAogCQkJCTMxMjhDQTY3MTQ3MzMx
NTIwMDc0QzcyQSAvKiBOb3RpZmljYXRpb25Db250cm9sbGVyLmNwcCAqLywKIAkJCQkzMTI4Q0E2
QTE0NzMzMTYzMDA3NEM3MkEgLyogTm90aWZpY2F0aW9uQ29udHJvbGxlci5oICovLAorCQkJCTMx
RUMxRDUwMTRGRUZEMDgwMEM5NDY2MiAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2su
aWRsICovLAorCQkJCTMxRUMxREFDMTRGRjI2RUEwMEM5NDY2MiAvKiBOb3RpZmljYXRpb25QZXJt
aXNzaW9uQ2FsbGJhY2suaCAqLywKIAkJCQk5N0Y4RTY2MTE1MUQ0QTNGMDBEMkQxODEgLyogV29y
a2VyQ29udGV4dE5vdGlmaWNhdGlvbnMuY3BwICovLAogCQkJCTk3RjhFNjYyMTUxRDRBM0YwMEQy
RDE4MSAvKiBXb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5oICovLAogCQkJCTk3RjhFNjYzMTUx
RDRBM0YwMEQyRDE4MSAvKiBXb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5pZGwgKi8sCkBAIC0x
NDU2Myw2ICsxNDU3NCw4IEBACiAJCQkJMzM1MDNDQTAxMDE3OUFENzAwM0I0N0UxIC8qIEpTTm90
aWZpY2F0aW9uLmggKi8sCiAJCQkJMzM1MDNDQTExMDE3OUFENzAwM0I0N0UxIC8qIEpTTm90aWZp
Y2F0aW9uQ2VudGVyLmNwcCAqLywKIAkJCQkzMzUwM0NBMjEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNO
b3RpZmljYXRpb25DZW50ZXIuaCAqLywKKwkJCQkzMUVDMUUyNjE0RkY2MEVFMDBDOTQ2NjIgLyog
SlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suY3BwICovLAorCQkJCTMxRUMxRTI3MTRG
RjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oICovLAog
CQkJKTsKIAkJCW5hbWUgPSBOb3RpZmljYXRpb25zOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsKQEAgLTE5ODY5LDYgKzE5ODgyLDcgQEAKIAkJCQlCQ0I3NzM2MDBDMTc4NTNEMDAxMzJCQTQg
LyogSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcCAqLywKIAkJCQkxQTc1MEREMzBBOTBFNzI5MDAwRkYy
MTUgLyogSlNOb2RlSXRlcmF0b3JDdXN0b20uY3BwICovLAogCQkJCUJDRDlDMjYxMEMxN0FBNjcw
MDVDOTBBMiAvKiBKU05vZGVMaXN0Q3VzdG9tLmNwcCAqLywKKwkJCQkzMUZFNkU2QzE1MDFBM0JG
MDAwNEVCQzQgLyogSlNOb3RpZmljYXRpb25DdXN0b20uY3BwICovLAogCQkJCUE4NUYyMjA4MTQz
MDM3N0QwMDdDQzg4NCAvKiBKU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwICovLAogCQkJCUUxQUQx
MkQ1MTI5NUQwQkQwMEFDQTk4OSAvKiBKU1Byb2Nlc3NpbmdJbnN0cnVjdGlvbkN1c3RvbS5jcHAg
Ki8sCiAJCQkJNDk5OEFFRDMxM0ZDNDE3RjAwOTBCMUFBIC8qIEpTUmVxdWVzdEFuaW1hdGlvbkZy
YW1lQ2FsbGJhY2tDdXN0b20uY3BwICovLApAQCAtMjQ4MzAsNiArMjQ4NDQsOCBAQAogCQkJCUZE
NTM3MzUzMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RkQ4QzQ2RUMxNTQ2MDhFNzAwQTU5MTBDIC8qIEF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNzFBNTdERjIxNTRCRTI1QzAwMDlEMTIwIC8qIFNWR1BhdGhVdGls
aXRpZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxRUMxRTI5MTRGRjYwRUUwMEM5NDY2MiAvKiBK
U05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFG
RTZERkExNTAwNEMyQTAwMDRFQkM0IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5o
IGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CiAJCX07CkBAIC0yNzg0NSw2ICsyNzg2MSw4IEBACiAJCQkJRkQ1MzczNTIxMzdC
NjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEOEM0NkVC
MTU0NjA4RTcwMEE1OTEwQyAvKiBBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNzFBNTdERjExNTRCRTI1QzAwMDlEMTIwIC8qIFNWR1BhdGhVdGlsaXRpZXMu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMzFFQzFFMjgxNEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxRkU2
RTZEMTUwMUEzQkYwMDA0RUJDNCAvKiBKU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsK
IAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVza3RvcE5v
dGlmaWNhdGlvbnNDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXNr
dG9wTm90aWZpY2F0aW9uc0N1c3RvbS5jcHAKaW5kZXggYTBjYWQ4OGI4NDY5YzU2M2UxZTRlYjQ2
YzU1MjZmNjg1MTUxZmNlMC4uMzhjNjgyMzExYmU3YTQyYTIxYTg5NjkzNTcxZTFjOWQyMGY1MzJi
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZp
Y2F0aW9uc0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXNr
dG9wTm90aWZpY2F0aW9uc0N1c3RvbS5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJp
Z2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzAsMTQgKzMxLDEyIEBACiAKICNpbmNsdWRlICJj
b25maWcuaCIKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogCiAjaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJKU0N1c3RvbVZvaWRDYWxsYmFjay5oIgogI2luY2x1
ZGUgIkpTRXZlbnRMaXN0ZW5lci5oIgotI2luY2x1ZGUgIkpTTm90aWZpY2F0aW9uLmgiCiAjaW5j
bHVkZSAiSlNOb3RpZmljYXRpb25DZW50ZXIuaCIKLSNpbmNsdWRlICJOb3RpZmljYXRpb24uaCIK
ICNpbmNsdWRlICJOb3RpZmljYXRpb25DZW50ZXIuaCIKICNpbmNsdWRlIDxydW50aW1lL0Vycm9y
Lmg+CiAKQEAgLTY4LDYgKzY3LDYgQEAgSlNWYWx1ZSBKU05vdGlmaWNhdGlvbkNlbnRlcjo6cmVx
dWVzdFBlcm1pc3Npb24oRXhlY1N0YXRlKiBleGVjKQogICAgIHJldHVybiBqc1VuZGVmaW5lZCgp
OwogfQogCi19IC8vIG5hbWVzcGFjZQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYg
Ly8gRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykK
KyNlbmRpZiAvLyBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjM5NTc2NTc3YTgwOGMxMDFkYjhiNzU1ODAzMzkwNDgzOTUxZmJmMQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcApA
QCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxs
IFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisj
aW5jbHVkZSAiSlNOb3RpZmljYXRpb24uaCIKKworI2luY2x1ZGUgIkNhbGxiYWNrRnVuY3Rpb24u
aCIKKyNpbmNsdWRlICJKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIgorI2luY2x1
ZGUgPHJ1bnRpbWUvRXJyb3IuaD4KKwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitKU1ZhbHVlIEpTTm90aWZpY2F0aW9uOjpyZXF1ZXN0UGVybWlzc2lvbihF
eGVjU3RhdGUqIGV4ZWMpCit7CisgICAgLy8gQXJndW1lbnRzOiBOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2sKKyAgICBpZiAoIWV4ZWMtPmFyZ3VtZW50KDApLmlzT2JqZWN0KCkpCisgICAg
ICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcihleGVjKTsKKyAgICAKKyAgICBSZWZQdHI8Tm90aWZp
Y2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBjYWxsYmFjayA9IGNyZWF0ZUZ1bmN0aW9uT25seUNh
bGxiYWNrPEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPihleGVjLCBzdGF0aWNfY2Fz
dDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSksIGV4ZWMt
PmFyZ3VtZW50KDApKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJl
dHVybiBqc1VuZGVmaW5lZCgpOworICAgIAorICAgIEFTU0VSVChjYWxsYmFjayk7CisgICAgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0Q29udGV4dCA9IHN0YXRpY19jYXN0PEpTRE9NR2xv
YmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKS0+c2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpOworICAgIE5vdGlmaWNhdGlvbjo6cmVxdWVzdFBlcm1pc3Npb24oc2NyaXB0Q29u
dGV4dCwgY2FsbGJhY2sucmVsZWFzZSgpKTsKKyAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElP
TlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb3Rp
ZmljYXRpb25DdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZGZiYzYwYTVlM2ZiZWQxMDY5ODE3
ODM0YWVhODExZWI1Y2E5OGQyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ3VzdG9tLmNwcApAQCAtMCwwICsxLDU2IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaW5jbHVkZSAiVjhOb3Rp
ZmljYXRpb24uaCIKKworI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJWOE5v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIgorI2luY2x1ZGUgIlY4UHJveHkuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhOb3RpZmljYXRp
b246OnJlcXVlc3RQZXJtaXNzaW9uQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykK
K3sKKyAgICBJTkNfU1RBVFMoTCJET00uTm90aWZpY2F0aW9uLnJlcXVlc3RQZXJtaXNzaW9uIik7
CisKKyAgICBOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbiA9IFY4Tm90aWZpY2F0aW9uOjp0b05h
dGl2ZShhcmdzLkhvbGRlcigpKTsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
ID0gbm90aWZpY2F0aW9uLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CisKKyAgICBib29sIHN1
Y2NlZWRlZCA9IGZhbHNlOworICAgIFJlZlB0cjxWOE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxs
YmFjaz4gY2FsbGJhY2sgPSBjcmVhdGVGdW5jdGlvbk9ubHlDYWxsYmFjazxWOE5vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjaz4oYXJnc1swXSwgc3VjY2VlZGVkKTsKKyAgICBpZiAoIXN1Y2Nl
ZWRlZCkKKyAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKKyAgICBBU1NFUlQoY2FsbGJh
Y2spOworCisgICAgTm90aWZpY2F0aW9uOjpyZXF1ZXN0UGVybWlzc2lvbihjb250ZXh0LCBjYWxs
YmFjay5yZWxlYXNlKCkpOworICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCmluZGV4IGY2NmYy
YjBiMGMwNDk5MmU4YmY3YWZjNzg3MmQ3NmNkODVmMzBjYzkuLjM3ZjdjOTU1MjllNDEyYWRkYzAz
YzQyNjM5Y2ExODRhYjk3ZDFkYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbi5jcHAKQEAgLTQzLDYgKzQzLDggQEAKICNpbmNsdWRlICJFdmVudE5hbWVz
LmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ2VudGVyLmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0
aW9uQ2xpZW50LmgiCisjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ29udHJvbGxlci5oIgorI2luY2x1
ZGUgIk5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIgogI2luY2x1ZGUgIlJlc291cmNl
UmVxdWVzdC5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKICNpbmNsdWRlICJUaHJl
YWRhYmxlTG9hZGVyLmgiCkBAIC0yMzcsOCArMjM5LDEwIEBAIHZvaWQgTm90aWZpY2F0aW9uOjpk
aXNwYXRjaEVycm9yRXZlbnQoKQogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogdm9pZCBOb3Rp
ZmljYXRpb246OnRhc2tUaW1lckZpcmVkKFRpbWVyPE5vdGlmaWNhdGlvbj4qIHRpbWVyKQogewor
ICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmlzRG9jdW1lbnQoKSk7CisgICAg
QVNTRVJUKHN0YXRpY19jYXN0PERvY3VtZW50Kj4oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKS0+
cGFnZSgpKTsKICAgICBBU1NFUlRfVU5VU0VEKHRpbWVyLCB0aW1lciA9PSBtX3Rhc2tUaW1lci5n
ZXQoKSk7Ci0gICAgaWYgKG1fbm90aWZpY2F0aW9uQ2VudGVyLT5jaGVja1Blcm1pc3Npb24oKSAh
PSBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25BbGxvd2VkKSB7CisgICAgaWYgKE5vdGlm
aWNhdGlvbkNvbnRyb2xsZXI6OmZyb20oc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCkpLT5wYWdlKCkpLT5jbGllbnQoKS0+Y2hlY2tQZXJtaXNzaW9uKHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKSkgIT0gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uQWxs
b3dlZCkgewogICAgICAgICBkaXNwYXRjaEVycm9yRXZlbnQoKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KQEAgLTI0Niw2ICsyNTAsNDUgQEAgdm9pZCBOb3RpZmljYXRpb246OnRhc2tUaW1lckZp
cmVkKFRpbWVyPE5vdGlmaWNhdGlvbj4qIHRpbWVyKQogfQogI2VuZGlmCiAKKworI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQorY29uc3QgU3RyaW5nJiBOb3RpZmljYXRpb246OnBlcm1pc3Npb25M
ZXZlbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQoreworICAgIEFTU0VSVChjb250
ZXh0LT5pc0RvY3VtZW50KCkpOworICAgIEFTU0VSVChzdGF0aWNfY2FzdDxEb2N1bWVudCo+KGNv
bnRleHQpLT5wYWdlKCkpOworICAgIHJldHVybiBzdHJpbmdGb3JQZXJtaXNzaW9uKE5vdGlmaWNh
dGlvbkNvbnRyb2xsZXI6OmZyb20oc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KS0+cGFn
ZSgpKS0+Y2xpZW50KCktPmNoZWNrUGVybWlzc2lvbihjb250ZXh0KSk7Cit9CisjZW5kaWYKKwor
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorY29uc3QgU3RyaW5nJiBOb3RpZmljYXRpb246OnN0
cmluZ0ZvclBlcm1pc3Npb24oTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIHBlcm1pc3Np
b24pCit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIGFsbG93ZWRQZXJt
aXNzaW9uLCAoImdyYW50ZWQiKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJp
bmcsIGRlbmllZFBlcm1pc3Npb24sICgiZGVuaWVkIikpOworICAgIERFRklORV9TVEFUSUNfTE9D
QUwoY29uc3QgU3RyaW5nLCBkZWZhdWx0UGVybWlzc2lvbiwgKCJkZWZhdWx0IikpOworICAgIHN3
aXRjaCAocGVybWlzc2lvbikgeworICAgIGNhc2UgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNz
aW9uQWxsb3dlZDoKKyAgICAgICAgcmV0dXJuIGFsbG93ZWRQZXJtaXNzaW9uOworICAgIGNhc2Ug
Tm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uRGVuaWVkOgorICAgICAgICByZXR1cm4gZGVu
aWVkUGVybWlzc2lvbjsKKyAgICBjYXNlIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbk5v
dEFsbG93ZWQ6CisgICAgICAgIHJldHVybiBkZWZhdWx0UGVybWlzc2lvbjsKKyAgICB9CisgICAg
CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIGRlbmllZFBlcm1pc3Npb247
Cit9CisjZW5kaWYKKworI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQordm9pZCBOb3RpZmljYXRp
b246OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBh
c3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBjYWxsYmFjaykKK3sKKyAg
ICBBU1NFUlQoY29udGV4dC0+aXNEb2N1bWVudCgpKTsKKyAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8
RG9jdW1lbnQqPihjb250ZXh0KS0+cGFnZSgpKTsKKyAgICBOb3RpZmljYXRpb25Db250cm9sbGVy
Ojpmcm9tKHN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCktPnBhZ2UoKSktPmNsaWVudCgp
LT5yZXF1ZXN0UGVybWlzc2lvbihjb250ZXh0LCBjYWxsYmFjayk7Cit9CisjZW5kaWYKKwogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbi5oCmluZGV4IDcyYWZlODRlNTc3N2Y3NWUxOGRkYTU2ZTM2YzQ2NjIx
ODI5ZjQwOWEuLjdkNTYyY2QzMTRiOTFhNTkxMzRkMGQ0OTc1M2JjNGE0OWNmMGJlMDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaApAQCAtMzYsNiArMzYs
NyBAQAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgog
I2luY2x1ZGUgIktVUkwuaCIKKyNpbmNsdWRlICJOb3RpZmljYXRpb25DbGllbnQuaCIKICNpbmNs
dWRlICJTaGFyZWRCdWZmZXIuaCIKICNpbmNsdWRlICJUZXh0RGlyZWN0aW9uLmgiCiAjaW5jbHVk
ZSAiVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oIgpAQCAtNTQsNiArNTUsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIERpY3Rpb25hcnk7CiBjbGFzcyBOb3RpZmljYXRpb25DZW50ZXI7
CitjbGFzcyBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s7CiBjbGFzcyBSZXNvdXJjZUVy
cm9yOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ7CkBAIC0xMzUsNiArMTM3LDEyIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZmluYWxpemUoKTsK
IAorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorICAgIHN0YXRpYyBjb25zdCBTdHJpbmcmIHBl
cm1pc3Npb25MZXZlbChTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CisgICAgc3RhdGljIGNvbnN0
IFN0cmluZyYgc3RyaW5nRm9yUGVybWlzc2lvbihOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Np
b24pOworICAgIHN0YXRpYyB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4pOworI2Vu
ZGlmCisKIHByaXZhdGU6CiAjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIE5v
dGlmaWNhdGlvbihjb25zdCBLVVJMJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIEV4Y2VwdGlv
bkNvZGUmLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4pOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsIGIvU291cmNlL1dlYkNv
cmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCmluZGV4IDA3OWYxM2VjYTMxODM2YjFl
NDJiMzk0NTI0N2YxNGQ5ODczYmRmYWIuLmRhMmViN2YyNDVmOWY1NmM2ZWIzYjc1NWE4ZDY2NjVk
Y2I0YmUzM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5pZGwKQEAgLTUwLDYgKzUwLDEyIEBAIG1vZHVsZSB0aHJlYWRzIHsKICAgICAgICAgdm9pZCBj
bG9zZSgpOwogI2VuZGlmCiAKKworI2lmIGRlZmluZWQoRU5BQkxFX05PVElGSUNBVElPTlMpICYm
IEVOQUJMRV9OT1RJRklDQVRJT05TCisgICAgICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25D
b250ZXh0XSBzdGF0aWMgRE9NU3RyaW5nIHBlcm1pc3Npb25MZXZlbCgpOworICAgICAgICBbQ3Vz
dG9tXSBzdGF0aWMgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihpbiBOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2sgY2FsbGJhY2spOworI2VuZGlmCisKICAgICAgICAgYXR0cmlidXRlIEV2ZW50
TGlzdGVuZXIgb25zaG93OwogI2lmIGRlZmluZWQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05T
KSAmJiBFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMKICAgICAgICAgYXR0cmlidXRlIEV2ZW50
TGlzdGVuZXIgb25kaXNwbGF5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCmluZGV4IGVjNWM4ZWMxNTIwZjFjOTMwOTFiZjU1ZTk4
OTI4ZjIxYmY0YWI3YTIuLjBlYmI1NDc0MDA5NWU1NmJmZjY3MDgyY2FkZWZmMWZmM2I2YzU4Njcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2Vu
dGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNl
bnRlci5jcHAKQEAgLTU1LDYgKzU1LDcgQEAgTm90aWZpY2F0aW9uQ2VudGVyOjpOb3RpZmljYXRp
b25DZW50ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgTm90aWZpY2EKIHsKIH0K
IAorI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIGludCBOb3RpZmljYXRpb25DZW50
ZXI6OmNoZWNrUGVybWlzc2lvbigpCiB7CiAgICAgaWYgKCFjbGllbnQoKSB8fCAhc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpKQpAQCAtNzIsNyArNzMsOSBAQCBpbnQgTm90aWZpY2F0aW9uQ2VudGVy
OjpjaGVja1Blcm1pc3Npb24oKQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVy
biBtX2NsaWVudC0+Y2hlY2tQZXJtaXNzaW9uKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiB9
CisjZW5kaWYKIAorI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIHZvaWQgTm90aWZp
Y2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbihQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4g
Y2FsbGJhY2spCiB7CiAgICAgaWYgKCFjbGllbnQoKSB8fCAhc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpKQpAQCAtOTEsNiArOTQsNyBAQCB2b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6cmVxdWVzdFBl
cm1pc3Npb24oUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrKQogICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgIG1fY2xpZW50LT5yZXF1ZXN0UGVybWlzc2lvbihzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCksIGNhbGxiYWNrKTsKIH0KKyNlbmRpZgogCiB2b2lkIE5vdGlmaWNhdGlv
bkNlbnRlcjo6c3RvcCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25DZW50ZXIuaAppbmRleCA0OTI5OWUxYTAyYTkxMWU5MzA2MjVkMzJmYTY0ODMz
ZGJjYzNhMWVmLi4zZjZkNjg5MDJmMzA1NzVjODA3YmEzYzIxMDIxZDk3MDUzN2E1MWViIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgK
QEAgLTgxLDggKzgxLDEwIEBAIHB1YmxpYzoKIAogICAgIE5vdGlmaWNhdGlvbkNsaWVudCogY2xp
ZW50KCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnQ7IH0KIAorI2lmIEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKICAgICBpbnQgY2hlY2tQZXJtaXNzaW9uKCk7CiAgICAgdm9pZCByZXF1ZXN0
UGVybWlzc2lvbihQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pOworI2VuZGlmCiAKICAgICB2aXJ0
dWFsIHZvaWQgc3RvcCgpIE9WRVJSSURFOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwKaW5kZXggZTUwODQ0N2Q0OWViYWE0MTlj
ZmU3MjUwMDI0YzkzMTE2MmVlZGQ3ZS4uMTRmODk4Y2VhMTE1ODkzOGFlY2M4YzI3MmJlNzBmNzk0
NTA4NmM4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25DZW50ZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uQ2VudGVyLmlkbApAQCAtNDMsOCArNDMsMTAgQEAgbW9kdWxlIHRocmVhZHMgewogICAg
ICAgIFtWOEN1c3RvbV0gTm90aWZpY2F0aW9uIGNyZWF0ZU5vdGlmaWNhdGlvbihpbiBET01TdHJp
bmcgaWNvblVybCwgaW4gRE9NU3RyaW5nIHRpdGxlLCBpbiBET01TdHJpbmcgYm9keSkgcmFpc2Vz
KERPTUV4Y2VwdGlvbik7CiAjZW5kaWYKIAorI2lmIGRlZmluZWQoRU5BQkxFX0xFR0FDWV9OT1RJ
RklDQVRJT05TKSAmJiBFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMKICAgICAgICBpbnQgY2hl
Y2tQZXJtaXNzaW9uKCk7CiAgICAgICAgW0N1c3RvbV0gdm9pZCByZXF1ZXN0UGVybWlzc2lvbihp
biBWb2lkQ2FsbGJhY2sgY2FsbGJhY2spOworI2VuZGlmCiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DbGllbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2xpZW50LmgKaW5kZXggYzFi
MzM5YjM0YTZjNzcwZjk2Zjc5ZWM4NTRlMmIyMDgwOTliZDFkMC4uNmNkMTcxNzU5ZTc4YTc3ZGRk
NDRkOTQ0ZGUzNGY5ZjE4NGRiYTVjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25DbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbkNsaWVudC5oCkBAIC0zOCw4ICszOCw5IEBACiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50OwotY2xhc3MgTm90aWZpY2F0aW9uOwogY2xhc3Mg
S1VSTDsKK2NsYXNzIE5vdGlmaWNhdGlvbjsKK2NsYXNzIE5vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjazsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCkBA
IC03MCwxMCArNzEsMTUgQEAgcHVibGljOgogICAgIC8vIEluZm9ybXMgdGhlIHByZXNlbnRlciB0
aGUgY29udHJvbGxlciBhdHRhY2hlZCB0byB0aGUgcGFnZSBoYXMgYmVlbiBkZXN0cm95ZWQuCiAg
ICAgdmlydHVhbCB2b2lkIG5vdGlmaWNhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKSA9IDA7CiAK
KyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgLy8gUmVxdWVzdHMgdXNlciBw
ZXJtaXNzaW9uIHRvIHNob3cgZGVza3RvcCBub3RpZmljYXRpb25zIGZyb20gYSBwYXJ0aWN1bGFy
CiAgICAgLy8gc2NyaXB0IGNvbnRleHQuIFRoZSBjYWxsYmFjayBwYXJhbWV0ZXIgc2hvdWxkIGJl
IHJ1biB3aGVuIHRoZSB1c2VyIGhhcwogICAgIC8vIG1hZGUgYSBkZWNpc2lvbi4KICAgICB2aXJ0
dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NS
ZWZQdHI8Vm9pZENhbGxiYWNrPikgPSAwOworI2VuZGlmCisjaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpCisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4pID0gMDsK
KyNlbmRpZgogCiAgICAgLy8gQ2FuY2VsIGFsbCBvdXRzdGFuZGluZyByZXF1ZXN0cyBmb3IgdGhl
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsUmVxdWVzdHNG
b3JQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSA9IDA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFj
ay5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2suaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NGU3MzJhN2Y5YTI5OTlkMjZmMmI3OGRkYmEzZjYyOTAw
OGJmNmY5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaApAQCAtMCwwICsxLDQ2IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaWZuZGVmIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFja19oCisjZGVmaW5lIE5vdGlm
aWNhdGlvblBlcm1pc3Npb25DYWxsYmFja19oCisKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykK
KworI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2sgOiBwdWJsaWMgUmVmQ291bnRlZDxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+
IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2so
KSB7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlRXZlbnQoY29uc3QgU3RyaW5nJiBwZXJtaXNz
aW9uKSA9IDA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKKworI2VuZGlmIC8vIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxs
YmFja19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWYxMTE2MTJl
MjQwY2VjYWExOWZiNWVhNzFhYWNkN2QyNjA5M2MyMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlk
bApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgdGhyZWFkcyB7CisKKyAgICBpbnRl
cmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1OT1RJRklDQVRJT05TLAorICAgICAgICBDYWxs
YmFjaworICAgIF0gTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrIHsKKyAgICAgICAgYm9v
bGVhbiBoYW5kbGVFdmVudChpbiBET01TdHJpbmcgcGVybWlzc2lvbik7CisgICAgfTsKKworfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTm90aWZpY2F0aW9uUHJlc2Vu
dGVySW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTm90aWZpY2F0aW9uUHJlc2Vu
dGVySW1wbC5oCmluZGV4IGM0M2UxZDYwZDI0ZjM0NWM5M2U4NWU3MmM0MWJkNDFlODI0YjQ5OWYu
LjAwMjRmMzA4NzhjYmIzOWIyNzRhZTA5MzFkN2MxYjBjYTA2ZDgxYjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL05vdGlmaWNhdGlvblByZXNlbnRlckltcGwuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmgK
QEAgLTU2LDcgKzU2LDEyIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9u
T2JqZWN0RGVzdHJveWVkKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiogb2JqZWN0KTsKICAgICB2aXJ0
dWFsIHZvaWQgbm90aWZpY2F0aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpOwogICAgIHZpcnR1YWwg
V2ViQ29yZTo6Tm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihX
ZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiAsIFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpWb2lkQ2Fs
bGJhY2s+IGNhbGxiYWNrKTsKKyNlbmRpZgorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorICAg
IHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiAsIFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2s+IGNhbGxiYWNrKSB7IH0KKyNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxS
ZXF1ZXN0c0ZvclBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIHt9
CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJOb3RpZmljYXRpb25DbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCmluZGV4IDVkZmEwNDZkZmRmZjU0M2MxZTIwOTQy
OGQzOGI4YzhkNDdiZjMyMmIuLjk0NTM1ZDM2MTVkMTk1NTUzYTMzOGMwZjMyOWI2ZmY2MzEzMTFl
NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlm
aWNhdGlvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dl
Yk5vdGlmaWNhdGlvbkNsaWVudC5oCkBAIC0zNCwxMSArMzQsMTMgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogY2xhc3MgTm90aWZpY2F0aW9uOworY2xhc3MgTm90aWZpY2F0aW9uUGVybWlzc2lv
bkNhbGxiYWNrOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIGNsYXNzIFZvaWRDYWxs
YmFjazsKIH0KIAogQGNsYXNzIFdlYk5vdGlmaWNhdGlvbjsKK0BjbGFzcyBXZWJOb3RpZmljYXRp
b25Qb2xpY3lMaXN0ZW5lcjsKIEBjbGFzcyBXZWJWaWV3OwogCiBjbGFzcyBXZWJOb3RpZmljYXRp
b25DbGllbnQgOiBwdWJsaWMgV2ViQ29yZTo6Tm90aWZpY2F0aW9uQ2xpZW50IHsKQEAgLTUyLDEw
ICs1NCwxOSBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBjbGVhck5vdGlmaWNhdGlvbnMo
V2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
dm9pZCBub3RpZmljYXRpb25PYmplY3REZXN0cm95ZWQoV2ViQ29yZTo6Tm90aWZpY2F0aW9uKikg
T1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmaWNhdGlvbkNvbnRyb2xsZXJEZXN0cm95
ZWQoKSBPVkVSUklERTsKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgdmly
dHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBQYXNzUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4pIE9WRVJSSURFOworI2VuZGlm
CisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJt
aXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPFdlYkNv
cmU6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4pIE9WRVJSSURFOworI2VuZGlmCiAg
ICAgdmlydHVhbCB2b2lkIGNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbihXZWJDb3JlOjpTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KikgT1ZFUlJJREUgeyB9CiAgICAgdmlydHVhbCBXZWJDb3JlOjpO
b3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gY2hlY2tQZXJtaXNzaW9uKFdlYkNvcmU6OlNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBPVkVSUklERTsKIAorI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAgdm9pZCByZXF1ZXN0UGVy
bWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV2ViTm90aWZpY2F0aW9u
UG9saWN5TGlzdGVuZXIgKik7CisjZW5kaWYKKwogICAgIFdlYlZpZXcgKm1fd2ViVmlldzsKICNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQog
ICAgIEhhc2hNYXA8UmVmUHRyPFdlYkNvcmU6Ok5vdGlmaWNhdGlvbj4sIFJldGFpblB0cjxXZWJO
b3RpZmljYXRpb24+ID4gbV9ub3RpZmljYXRpb25NYXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQubW0gYi9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQubW0KaW5kZXgg
YzhiMWUyZDFlMzdhMDEyMGI4OTA3MDBhOWJkNTg2NmZmODU2YTgxZi4uMDY4NmZlNTNhNzVkZjEw
OTA1OTE5ZjMzODA0ZGM0Mjc0OTBmNWQ4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5tbQpAQCAtMzcsMTQg
KzM3LDMyIEBACiAjaW1wb3J0IDxXZWJDb3JlL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaD4KICNl
bmRpZgogCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaW1wb3J0IDxXZWJDb3JlL05vdGlm
aWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oPgorI2VuZGlmCisjaWYgRU5BQkxFKExFR0FDWV9O
T1RJRklDQVRJT05TKQorI2ltcG9ydCA8V2ViQ29yZS9Wb2lkQ2FsbGJhY2suaD4KKyNlbmRpZgor
CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiBAaW50ZXJmYWNlIFdlYk5vdGlmaWNhdGlv
blBvbGljeUxpc3RlbmVyIDogTlNPYmplY3QgPFdlYkFsbG93RGVueVBvbGljeUxpc3RlbmVyPgog
ewotICAgIFJlZlB0cjxWb2lkQ2FsbGJhY2s+IF9jYWxsYmFjazsKKyNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKKyAgICBSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBfY2Fs
bGJhY2s7CisjZW5kaWYKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAgUmVm
UHRyPFZvaWRDYWxsYmFjaz4gX3ZvaWRDYWxsYmFjazsKKyNlbmRpZgogfQotLSAoaWQpaW5pdFdp
dGhDYWxsYmFjazooUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+KWNhbGxiYWNrOworI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQorLSAoaWQpaW5pdFdpdGhDYWxsYmFjazooUGFzc1JlZlB0cjxOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KWNhbGxiYWNrOworI2VuZGlmCisjaWYgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQorLSAoaWQpaW5pdFdpdGhWb2lkQ2FsbGJhY2s6KFBhc3NS
ZWZQdHI8Vm9pZENhbGxiYWNrPiljYWxsYmFjazsKKyNlbmRpZgorCiBAZW5kCiAjZW5kaWYKIApA
QCAtMTQ4LDI5ICsxNjYsNDIgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6Om5vdGlmaWNh
dGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKQogICAgIGRlbGV0ZSB0aGlzOwogfQogCi12b2lkIFdl
Yk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrKQotewogI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0g
ICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJT05TOwotICAgIAordm9pZCBXZWJOb3RpZmljYXRp
b25DbGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRl
eHQsIFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyICpsaXN0ZW5lcikKK3sKICAgICBTRUwg
c2VsZWN0b3IgPSBAc2VsZWN0b3Iod2ViVmlldzpkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25S
ZXF1ZXN0RnJvbU9yaWdpbjpsaXN0ZW5lcjopOwogICAgIGlmICghW1ttX3dlYlZpZXcgVUlEZWxl
Z2F0ZV0gcmVzcG9uZHNUb1NlbGVjdG9yOnNlbGVjdG9yXSkKICAgICAgICAgcmV0dXJuOwogICAg
IAogICAgIFdlYlNlY3VyaXR5T3JpZ2luICp3ZWJPcmlnaW4gPSBbW1dlYlNlY3VyaXR5T3JpZ2lu
IGFsbG9jXSBfaW5pdFdpdGhXZWJDb3JlU2VjdXJpdHlPcmlnaW46Y29udGV4dC0+c2VjdXJpdHlP
cmlnaW4oKV07Ci0gICAgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIqIGxpc3RlbmVyID0g
W1tXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciBhbGxvY10gaW5pdFdpdGhDYWxsYmFjazpj
YWxsYmFja107CiAgICAgCiAgICAgQ2FsbFVJRGVsZWdhdGUobV93ZWJWaWV3LCBzZWxlY3Rvciwg
d2ViT3JpZ2luLCBsaXN0ZW5lcik7CiAgICAgCiAgICAgW3dlYk9yaWdpbiByZWxlYXNlXTsKK30K
KyNlbmRpZgorCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQordm9pZCBXZWJOb3Rp
ZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQsIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFjaykKK3sKKyAgICBCRUdJ
Tl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CisgICAgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVu
ZXIgKmxpc3RlbmVyID0gW1tXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciBhbGxvY10gaW5p
dFdpdGhWb2lkQ2FsbGJhY2s6Y2FsbGJhY2tdOworICAgIHJlcXVlc3RQZXJtaXNzaW9uKGNvbnRl
eHQsIGxpc3RlbmVyKTsKICAgICBbbGlzdGVuZXIgcmVsZWFzZV07Ci0gICAgCiAgICAgRU5EX0JM
T0NLX09CSkNfRVhDRVBUSU9OUzsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGNvbnRleHQpOwot
ICAgIFVOVVNFRF9QQVJBTShjYWxsYmFjayk7Cit9CiAjZW5kaWYKKworI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKQordm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9u
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9u
UGVybWlzc2lvbkNhbGxiYWNrPiBjYWxsYmFjaykKK3sKKyAgICBCRUdJTl9CTE9DS19PQkpDX0VY
Q0VQVElPTlM7CisgICAgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgKmxpc3RlbmVyID0g
W1tXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciBhbGxvY10gaW5pdFdpdGhDYWxsYmFjazpj
YWxsYmFja107CisgICAgcmVxdWVzdFBlcm1pc3Npb24oY29udGV4dCwgbGlzdGVuZXIpOworICAg
IFtsaXN0ZW5lciByZWxlYXNlXTsKKyAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogfQor
I2VuZGlmCiAKIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBXZWJOb3RpZmljYXRpb25D
bGllbnQ6OmNoZWNrUGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQog
ewpAQCAtMjAwLDcgKzIzMSw5IEBAIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBXZWJO
b3RpZmljYXRpb25DbGllbnQ6OmNoZWNrUGVybWlzc2lvbihTY3JpcHRFeGVjCiAKICNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogQGltcGxl
bWVudGF0aW9uIFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyCi0tIChpZClpbml0V2l0aENh
bGxiYWNrOihQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pY2FsbGJhY2sKKworI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQorLSAoaWQpaW5pdFdpdGhDYWxsYmFjazooUGFzc1JlZlB0cjxOb3RpZmlj
YXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KWNhbGxiYWNrCiB7CiAgICAgaWYgKCEoc2VsZiA9IFtz
dXBlciBpbml0XSkpCiAgICAgICAgIHJldHVybiBuaWw7CkBAIC0yMDksMTUgKzI0Miw0NCBAQCBO
b3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpjaGVj
a1Blcm1pc3Npb24oU2NyaXB0RXhlYwogICAgIF9jYWxsYmFjayA9IGNhbGxiYWNrOwogICAgIHJl
dHVybiBzZWxmOwogfQorI2VuZGlmCisKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CistIChpZClpbml0V2l0aFZvaWRDYWxsYmFjazooUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+KWNh
bGxiYWNrCit7CisgICAgaWYgKCEoc2VsZiA9IFtzdXBlciBpbml0XSkpCisgICAgICAgIHJldHVy
biBuaWw7CisKKyAgICBBU1NFUlQoY2FsbGJhY2spOworICAgIF92b2lkQ2FsbGJhY2sgPSBjYWxs
YmFjazsKKyAgICByZXR1cm4gc2VsZjsKK30KKyNlbmRpZgogCiAtICh2b2lkKWFsbG93CiB7Ci0g
ICAgX2NhbGxiYWNrLT5oYW5kbGVFdmVudCgpOworI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FU
SU9OUykKKyAgICBpZiAoX3ZvaWRDYWxsYmFjaykgeworICAgICAgICBfdm9pZENhbGxiYWNrLT5o
YW5kbGVFdmVudCgpOworICAgICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCisjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpCisgICAgX2NhbGxiYWNrLT5oYW5kbGVFdmVudChOb3RpZmljYXRpb246
OnN0cmluZ0ZvclBlcm1pc3Npb24oTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uQWxsb3dl
ZCkpOworI2VuZGlmCiB9CiAKIC0gKHZvaWQpZGVueQogewotICAgIF9jYWxsYmFjay0+aGFuZGxl
RXZlbnQoKTsKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAgaWYgKF92b2lk
Q2FsbGJhY2spIHsKKyAgICAgICAgX3ZvaWRDYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorICAg
IF9jYWxsYmFjay0+aGFuZGxlRXZlbnQoTm90aWZpY2F0aW9uOjpzdHJpbmdGb3JQZXJtaXNzaW9u
KE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbkRlbmllZCkpOworI2VuZGlmCiB9CiAKIEBl
bmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0
aW9uUHJlc2VudGVyQ2xpZW50UXQuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
Tm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuaAppbmRleCA5N2VlZTE1ZjA4ZDU5M2Y2NDFk
OTgyNTJkNzRkODJjMGE0MjYzZmE2Li41ODE5YjRkODAxM2M0MDg2ZDAxZTcyNjE2YmFmNGZlYTdk
YTY4OWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlm
aWNhdGlvblByZXNlbnRlckNsaWVudFF0LmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdC5oCkBAIC05Myw3ICs5MywxMiBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbChOb3RpZmljYXRpb24qKTsKICAgICB2
aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKE5vdGlmaWNhdGlvbiopOwog
ICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25Db250cm9sbGVyRGVzdHJveWVkKCk7CisjaWYg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVy
bWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+
KTsKKyNlbmRpZgorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorICAgIHZpcnR1YWwgdm9pZCBy
ZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KSB7IH0KKyNlbmRpZgogICAgIHZpcnR1YWwgTm90
aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihTY3JpcHRFeGVjdXRp
b25Db250ZXh0Kik7CiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lv
bihTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
d2luL1dlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUuY3BwIGIv
U291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNE
ZWxlZ2F0ZS5jcHAKaW5kZXggY2ZmN2EyYjkyMTdjMTFiOTAwNDcwNjg1ZDJiMjJlZTgyMTI4Yjgz
MC4uYTU2NDZmMjU1NzdlNzMwMmQ0NTdmOTg5NDc4MGZhNTdhZGFhODQ4ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNE
ZWxlZ2F0ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVz
a3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5jcHAKQEAgLTE3Niw2ICsxNzYsMTAgQEAgdm9pZCBX
ZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlOjpyZXF1ZXN0UGVybWlzc2lvbihTZWN1cml0
eU9yaWdpbiogb3JpZ2luLAogICAgICAgICBub3RpZmljYXRpb25EZWxlZ2F0ZSgpLT5yZXF1ZXN0
Tm90aWZpY2F0aW9uUGVybWlzc2lvbihvcmcpOwogfQogCit2b2lkIFdlYkRlc2t0b3BOb3RpZmlj
YXRpb25zRGVsZWdhdGU6OnJlcXVlc3RQZXJtaXNzaW9uKFNlY3VyaXR5T3JpZ2luKiwgUGFzc1Jl
ZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KQoreworfQorCiB2b2lkIFdlYkRl
c2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGU6OmNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0
ZS5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNh
dGlvbnNEZWxlZ2F0ZS5oCmluZGV4IDU3NWM5NGNiODg2YWY3NzRiZjczNzc4MWQ2YmMwNzI4MmY0
MWQwZGQuLmI2ZjljMjE4ZjQzMDQ5MDdmNjRiNWM5NjI0ZGZiOWJjYzMwOTM5ODAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRp
b25zRGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJE
ZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmgKQEAgLTUwLDcgKzUwLDEyIEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiogb2JqZWN0KTsK
ICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKFdlYkNvcmU6Ok5v
dGlmaWNhdGlvbiogb2JqZWN0KTsKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uQ29udHJv
bGxlckRlc3Ryb3llZCgpOwotICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJD
b3JlOjpTZWN1cml0eU9yaWdpbiogb3JpZ2luLCBQYXNzUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxs
YmFjaz4gY2FsbGJhY2spOworI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICB2
aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qLCBQ
YXNzUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4pOworI2VuZGlmCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6
OlNlY3VyaXR5T3JpZ2luKiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2s+KTsKKyNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxSZXF1ZXN0c0Zv
clBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwogICAgIHZpcnR1
YWwgV2ViQ29yZTo6Tm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lv
bihjb25zdCBLVVJMJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
Tm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1p
c3Npb25SZXF1ZXN0TWFuYWdlci5jcHAKaW5kZXggZmU2NmU1NmU5NDllZDQzZGJlNjkzZGQ3OWZi
MjJmNjYxNjA4ZmE0ZS4uNjY2NGRkMWE4MTAyMDkyMTU3NDI0NjY3ZGI5Yjg4YjZjY2U5MzUzNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlm
aWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlci5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTU5LDExICs1OSwxMiBAQCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXI6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcihXZWJQYQogewogfQog
Ci12b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6c3RhcnRSZXF1ZXN0
KFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFj
aykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKK3ZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyOjpzdGFydFJlcXVlc3QoU2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwgUGFz
c1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNhbGxiYWNrKQogewotI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0g
ICAgaWYgKHBlcm1pc3Npb25MZXZlbChvcmlnaW4pICE9IE5vdGlmaWNhdGlvbkNsaWVudDo6UGVy
bWlzc2lvbk5vdEFsbG93ZWQpIHsKLSAgICAgICAgY2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7Cisg
ICAgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIHBlcm1pc3Npb24gPSBwZXJtaXNzaW9u
TGV2ZWwob3JpZ2luKTsKKyAgICBpZiAocGVybWlzc2lvbiAhPSBOb3RpZmljYXRpb25DbGllbnQ6
OlBlcm1pc3Npb25Ob3RBbGxvd2VkKSB7CisgICAgICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVudChO
b3RpZmljYXRpb246OnN0cmluZ0ZvclBlcm1pc3Npb24ocGVybWlzc2lvbikpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCkBAIC03MiwxMSArNzMsMjUgQEAgdm9pZCBOb3RpZmljYXRpb25QZXJt
aXNzaW9uUmVxdWVzdE1hbmFnZXI6OnN0YXJ0UmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2lu
LAogICAgIG1faWRUb09yaWdpbk1hcC5zZXQocmVxdWVzdElELCBvcmlnaW4pOwogICAgIG1faWRU
b0NhbGxiYWNrTWFwLnNldChyZXF1ZXN0SUQsIGNhbGxiYWNrKTsKICAgICBtX3BhZ2UtPnNlbmQo
TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UmVxdWVzdE5vdGlmaWNhdGlvblBlcm1pc3Npb24ocmVx
dWVzdElELCBvcmlnaW4tPnRvU3RyaW5nKCkpKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKG9y
aWdpbik7Ci0gICAgVU5VU0VEX1BBUkFNKGNhbGxiYWNrKTsKK30KICNlbmRpZgorCisjaWYgRU5B
QkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQordm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVx
dWVzdE1hbmFnZXI6OnN0YXJ0UmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2luLCBQYXNzUmVm
UHRyPFZvaWRDYWxsYmFjaz4gY2FsbGJhY2spCit7CisgICAgTm90aWZpY2F0aW9uQ2xpZW50OjpQ
ZXJtaXNzaW9uIHBlcm1pc3Npb24gPSBwZXJtaXNzaW9uTGV2ZWwob3JpZ2luKTsKKyAgICBpZiAo
cGVybWlzc2lvbiAhPSBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25Ob3RBbGxvd2VkKSB7
CisgICAgICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVudCgpOworICAgICAgICByZXR1cm47CisgICAg
fQorICAgIAorICAgIHVpbnQ2NF90IHJlcXVlc3RJRCA9IGdlbmVyYXRlUmVxdWVzdElEKCk7Cisg
ICAgbV9vcmlnaW5Ub0lETWFwLnNldChvcmlnaW4sIHJlcXVlc3RJRCk7CisgICAgbV9pZFRvT3Jp
Z2luTWFwLnNldChyZXF1ZXN0SUQsIG9yaWdpbik7CisgICAgbV9pZFRvVm9pZENhbGxiYWNrTWFw
LnNldChyZXF1ZXN0SUQsIGNhbGxiYWNrKTsKKyAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6Oldl
YlBhZ2VQcm94eTo6UmVxdWVzdE5vdGlmaWNhdGlvblBlcm1pc3Npb24ocmVxdWVzdElELCBvcmln
aW4tPnRvU3RyaW5nKCkpKTsKIH0KKyNlbmRpZgogCiB2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlcjo6Y2FuY2VsUmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2luKQog
ewpAQCAtODYsNyArMTAxLDEyIEBAIHZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyOjpjYW5jZWxSZXF1ZXN0KFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiAgICAgICAgIHJl
dHVybjsKICAgICAKICAgICBtX2lkVG9PcmlnaW5NYXAucmVtb3ZlKGlkKTsKKyNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKICAgICBtX2lkVG9DYWxsYmFja01hcC5yZW1vdmUoaWQpOworI2VuZGlm
CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorICAgIG1faWRUb1ZvaWRDYWxsYmFj
a01hcC5yZW1vdmUoaWQpOworI2VuZGlmCiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShvcmlnaW4p
OwogI2VuZGlmCkBAIC0xMTEsMTEgKzEzMSwxOSBAQCB2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlcjo6ZGlkUmVjZWl2ZU5vdGlmaWNhdGlvblBlcm1pc3Npb25EZWNpcwog
ICAgIGlmICghaXNSZXF1ZXN0SURWYWxpZChyZXF1ZXN0SUQpKQogICAgICAgICByZXR1cm47CiAK
LSAgICBSZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFjayA9IG1faWRUb0NhbGxiYWNrTWFwLnRh
a2UocmVxdWVzdElEKTsKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAgUmVm
UHRyPFZvaWRDYWxsYmFjaz4gdm9pZENhbGxiYWNrID0gbV9pZFRvVm9pZENhbGxiYWNrTWFwLnRh
a2UocmVxdWVzdElEKTsKKyAgICBpZiAodm9pZENhbGxiYWNrKSB7CisgICAgICAgIHZvaWRDYWxs
YmFjay0+aGFuZGxlRXZlbnQoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorCisg
ICAgUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4gY2FsbGJhY2sgPSBtX2lk
VG9DYWxsYmFja01hcC50YWtlKHJlcXVlc3RJRCk7CiAgICAgaWYgKCFjYWxsYmFjaykKICAgICAg
ICAgcmV0dXJuOwogICAgIAotICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVudCgpOworICAgIGNhbGxi
YWNrLT5oYW5kbGVFdmVudChOb3RpZmljYXRpb246OnN0cmluZ0ZvclBlcm1pc3Npb24oYWxsb3dl
ZCA/IE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbkFsbG93ZWQgOiBOb3RpZmljYXRpb25D
bGllbnQ6OlBlcm1pc3Npb25EZW5pZWQpKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKHJlcXVl
c3RJRCk7CiAgICAgVU5VU0VEX1BBUkFNKGFsbG93ZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05v
dGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oCmluZGV4IDAzOTc4NzliYTZiZjUx
NjZjODUwODU5NDZmMDRmNmVmMjNkMGVlNjAuLjNiMzc5OWFlM2JmYmEwNTAwMzA5ODAwNThiNjVl
ZjdjNDIwM2QwMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
MSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTI3LDYgKzI3LDcgQEAKICNkZWZpbmUgTm90aWZpY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3RNYW5hZ2VyX2gKIAogI2luY2x1ZGUgPFdlYkNvcmUvTm90aWZpY2F0aW9u
Q2xpZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2suaD4KICNpbmNsdWRlIDxXZWJDb3JlL1ZvaWRDYWxsYmFjay5oPgogI2luY2x1ZGUgPHd0Zi9I
YXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTQ1LDggKzQ2LDEzIEBA
IGNsYXNzIFdlYlBhZ2U7CiBjbGFzcyBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXI+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNz
aW9uUmVxdWVzdE1hbmFnZXI+IGNyZWF0ZShXZWJQYWdlKik7Ci0gICAgCisKKyNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKKyAgICB2b2lkIHN0YXJ0UmVxdWVzdChXZWJDb3JlOjpTZWN1cml0eU9y
aWdpbiosIFBhc3NSZWZQdHI8V2ViQ29yZTo6Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNr
Pik7CisjZW5kaWYKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgdm9pZCBz
dGFydFJlcXVlc3QoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qLCBQYXNzUmVmUHRyPFdlYkNvcmU6
OlZvaWRDYWxsYmFjaz4pOworI2VuZGlmCiAgICAgdm9pZCBjYW5jZWxSZXF1ZXN0KFdlYkNvcmU6
OlNlY3VyaXR5T3JpZ2luKik7CiAgICAgCiAgICAgLy8gU3luY2hyb25vdXMgY2FsbCB0byByZXRy
aWV2ZSBwZXJtaXNzaW9uIGxldmVsIGZvciBnaXZlbiBzZWN1cml0eSBvcmlnaW4KQEAgLTU2LDgg
KzYyLDEzIEBAIHB1YmxpYzoKICAgICAKIHByaXZhdGU6CiAgICAgTm90aWZpY2F0aW9uUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyKFdlYlBhZ2UqKTsKLSAgICAKLSAgICBIYXNoTWFwPHVpbnQ2NF90
LCBSZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxiYWNrPiA+IG1faWRUb0NhbGxiYWNrTWFwOworCisj
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisgICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdl
YkNvcmU6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4gPiBtX2lkVG9DYWxsYmFja01h
cDsKKyNlbmRpZgorI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICBIYXNoTWFw
PHVpbnQ2NF90LCBSZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxiYWNrPiA+IG1faWRUb1ZvaWRDYWxs
YmFja01hcDsKKyNlbmRpZgogICAgIEhhc2hNYXA8UmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3Jp
Z2luPiwgdWludDY0X3Q+IG1fb3JpZ2luVG9JRE1hcDsKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBS
ZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+ID4gbV9pZFRvT3JpZ2luTWFwOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZp
Y2F0aW9uTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlv
bnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHAKaW5kZXggZTEwY2FjYjBhNjFjMzQwMmY5NjJl
YWViNWFmNjVjZjE4MjFiNmU5YS4uMmQ2NjdlZjVlMTcyYjFkOGNjZDg2M2U0MTcxYzZmNGI0MzRk
MTg5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25z
L1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcApAQCAtMTE3LDggKzEx
NywxMiBAQCBib29sIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OnNob3coTm90aWZpY2F0aW9uKiBu
b3RpZmljYXRpb24sIFdlYlBhZ2UqIHBhZ2UpCiAgICAgCiAgICAgTm90aWZpY2F0aW9uQ29udGV4
dE1hcDo6aXRlcmF0b3IgaXQgPSBtX25vdGlmaWNhdGlvbkNvbnRleHRNYXAuYWRkKG5vdGlmaWNh
dGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBWZWN0b3I8dWludDY0X3Q+KCkpLml0ZXJh
dG9yOwogICAgIGl0LT5zZWNvbmQuYXBwZW5kKG5vdGlmaWNhdGlvbklEKTsKLSAgICAKKworI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKQorICAgIG1fcHJvY2Vzcy0+Y29ubmVjdGlvbigpLT5zZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNob3dOb3RpZmljYXRpb24obm90aWZpY2F0aW9uLT50
aXRsZSgpLCBub3RpZmljYXRpb24tPmJvZHkoKSwgbm90aWZpY2F0aW9uLT5pY29uVVJMKCkuc3Ry
aW5nKCksIG5vdGlmaWNhdGlvbi0+dGFnKCksIG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmluZygpLCBub3RpZmljYXRpb25JRCks
IHBhZ2UtPnBhZ2VJRCgpKTsKKyNlbHNlCiAgICAgbV9wcm9jZXNzLT5jb25uZWN0aW9uKCktPnNl
bmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2hvd05vdGlmaWNhdGlvbihub3RpZmljYXRpb24t
PnRpdGxlKCksIG5vdGlmaWNhdGlvbi0+Ym9keSgpLCBub3RpZmljYXRpb24tPmljb25VUkwoKS5z
dHJpbmcoKSwgbm90aWZpY2F0aW9uLT5yZXBsYWNlSWQoKSwgbm90aWZpY2F0aW9uLT5zY3JpcHRF
eGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCktPnRvU3RyaW5nKCksIG5vdGlmaWNh
dGlvbklEKSwgcGFnZS0+cGFnZUlEKCkpOworI2VuZGlmCiAgICAgcmV0dXJuIHRydWU7CiAjZWxz
ZQogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmNwcApp
bmRleCA4YWM3OGQ1ZjQ0NjcyNzk4M2Y5YjI1ZWE1OTgxMTAzYzlkMzZkNzc4Li43OWJhYzFhZTlj
NjQzOTUzMzBhZDdlODA3NWFiYTFjMTNjNTdmZmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRp
b25DbGllbnQuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIw
MTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC03MiwxMCArNzIsMTkgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6
Om5vdGlmaWNhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKQogICAgIGRlbGV0ZSB0aGlzOwogfQog
CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogdm9pZCBXZWJOb3RpZmljYXRpb25D
bGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQs
IFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFjaykKIHsKICAgICBtX3BhZ2UtPm5vdGlm
aWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcigpLT5zdGFydFJlcXVlc3QoY29udGV4dC0+
c2VjdXJpdHlPcmlnaW4oKSwgY2FsbGJhY2spOwogfQorI2VuZGlmCisKKyNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykKK3ZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlzc2lv
bihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjaz4gY2FsbGJhY2spCit7CisgICAgbV9wYWdlLT5ub3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKS0+c3RhcnRSZXF1ZXN0KGNvbnRleHQtPnNlY3Vy
aXR5T3JpZ2luKCksIGNhbGxiYWNrKTsKK30KKyNlbmRpZgogCiB2b2lkIFdlYk5vdGlmaWNhdGlv
bkNsaWVudDo6Y2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGNvbnRleHQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaAppbmRleCA0NmVi
MmE1ZDg4ODkwNjZjYjA0MzQ2MmExMTQ5MWI1OTI0NTc1Y2FiLi5kZTMwYjBlOWVmN2VkNjBhMDU3
YWZhYjY1YjlmNzVkNzU2MGE5MGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL05vdGlmaWNhdGlvbkNsaWVudC5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgVm9pZENhbGxiYWNrOwog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpAQCAtNTAsNyArNTEsMTIgQEAgcHJpdmF0ZToKICAgICB2
aXJ0dWFsIHZvaWQgY2xlYXJOb3RpZmljYXRpb25zKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uT2JqZWN0RGVz
dHJveWVkKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiopIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9p
ZCBub3RpZmljYXRpb25Db250cm9sbGVyRGVzdHJveWVkKCkgT1ZFUlJJREU7CisjaWYgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lv
bihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpW
b2lkQ2FsbGJhY2s+KSBPVkVSUklERTsKKyNlbmRpZgorI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQorICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2s+KSBPVkVSUklERTsKKyNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxSZXF1
ZXN0c0ZvclBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIE9WRVJS
SURFOwogICAgIHZpcnR1YWwgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIGNoZWNrUGVy
bWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgT1ZFUlJJREU7CiAgICAg
Cg==
</data>
<flag name="review"
          id="144985"
          type_id="1"
          status="+"
          setter="jianli"
    />
          </attachment>
      

    </bug>

</bugzilla>