<?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>62999</bug_id>
          
          <creation_ts>2011-06-20 10:35:12 -0700</creation_ts>
          <short_desc>Use Skia if Skia on Mac Chrome is enabled</short_desc>
          <delta_ts>2011-06-30 15:37:39 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>63203</dependson>
    
    <dependson>63581</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Cary Clark">caryclark</reporter>
          <assigned_to name="Cary Clark">caryclark</assigned_to>
          <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>423751</commentid>
    <comment_count>0</comment_count>
    <who name="Cary Clark">caryclark</who>
    <bug_when>2011-06-20 10:35:12 -0700</bug_when>
    <thetext>Use Skia if Skia on Mac Chrome is enabled</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424398</commentid>
    <comment_count>1</comment_count>
      <attachid>97970</attachid>
    <who name="Cary Clark">caryclark</who>
    <bug_when>2011-06-21 05:28:43 -0700</bug_when>
    <thetext>Created attachment 97970
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424548</commentid>
    <comment_count>2</comment_count>
      <attachid>97970</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-06-21 10:44:52 -0700</bug_when>
    <thetext>Comment on attachment 97970
Patch

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

I&apos;m having trouble figuring out what your design is here.  I also don&apos;t understand
why we need another &quot;use skia&quot; macro when we already have WEBKIT_USING_SKIA.  How
is that existing macro not sufficient??

&gt; Source/JavaScriptCore/wtf/Platform.h:549
&gt; +#if USE(SKIA_ON_MAC_CHROME)

nit: in WebKit, we don&apos;t say &quot;Chrome&quot;, we say &quot;Chromium&quot;

&gt; Source/WebKit/chromium/public/WebCommon.h:42
&gt; +    #if !defined(__APPLE__) || defined(USE_SKIA)

it looks like you are trying to have the embedder define a global USE_SKIA variable.
but in Platform.h, the code looks for a WTF_USE_SKIA_ON_MAC_CHROME define.  it isn&apos;t
clear how that gets set, or why we need both USE_SKIA and WTF_USE_SKIA_ON_MAC_CHROME.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424709</commentid>
    <comment_count>3</comment_count>
      <attachid>97970</attachid>
    <who name="Cary Clark">caryclark</who>
    <bug_when>2011-06-21 13:31:51 -0700</bug_when>
    <thetext>Comment on attachment 97970
Patch

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

&gt;&gt; Source/JavaScriptCore/wtf/Platform.h:549
&gt;&gt; +#if USE(SKIA_ON_MAC_CHROME)
&gt; 
&gt; nit: in WebKit, we don&apos;t say &quot;Chrome&quot;, we say &quot;Chromium&quot;

I can wag my finger at Eric Seidel, who came up with the SKIA_ON_MAC_CHROME moniker. I&apos;ve checked in 42 references -- I&apos;ll rename them all to SKIA_ON_MAC_CHROMIUM if that sounds good to you.

&gt;&gt; Source/WebKit/chromium/public/WebCommon.h:42
&gt;&gt; +    #if !defined(__APPLE__) || defined(USE_SKIA)
&gt; 
&gt; it looks like you are trying to have the embedder define a global USE_SKIA variable.
&gt; but in Platform.h, the code looks for a WTF_USE_SKIA_ON_MAC_CHROME define.  it isn&apos;t
&gt; clear how that gets set, or why we need both USE_SKIA and WTF_USE_SKIA_ON_MAC_CHROME.

When Chromium is built, many files include WebCommon.h without first including config.h. One example is plugins/ppapi/ppb_video_decoder_impl.cc. For these clients, WTF_USE_SKIA_ON_MAC_CHROME isn&apos;t an option. On the other hand, WTF_USE_SKIA_ON_MAC_CHROME is necessary for platform/graphics/IntRect.h.

USE_SKIA is defined by common/gypi. WTF_USE_SKIA_ON_MAC_CHROME is defined by chromium/features.gypi. When (if) Skia becomes the default rendering engine for OS X, much of the confusion will go away -- Chrome (non-WebKit) code will no longer need to special-case on Skia.

In the meantime, what do you suggest?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424714</commentid>
    <comment_count>4</comment_count>
    <who name="Cary Clark">caryclark</who>
    <bug_when>2011-06-21 13:39:02 -0700</bug_when>
    <thetext>I probably misunderstood -- if USE(xxx) isn&apos;t available for some WebCommon.h clients, that doesn&apos;t mean that the WTF_USE_xxx define isn&apos;t present. I&apos;ll try that instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424722</commentid>
    <comment_count>5</comment_count>
    <who name="Cary Clark">caryclark</who>
    <bug_when>2011-06-21 13:50:14 -0700</bug_when>
    <thetext>I tested and WTF_USE_SKIA_ON_MAC_CHROME isn&apos;t visible to WebCommon.h when included by files in src/glue, src/webkit/plugins, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424814</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-06-21 15:47:46 -0700</bug_when>
    <thetext>Yes, WebCommon.h does not see internal WebKit defines from config.h.  We intentionally want to hide config.h from the embedder.

OK, so can you tell me the plan here?  You are saying that within WebCore, you have the macro USE(SKIA_ON_MAC_CHROME), which is controlled by the global USE_SKIA define?  And, the USE_SKIA define also controls WEBKIT_USING_SKIA?

I guess my confusion stems from not seeing where WTF_USE_SKIA_ON_MAC_CHROME gets defined.  I also don&apos;t understand why we need both WTF_USE_SKIA_ON_MAC_CHROME and WTF_USE_SKIA.  Why wouldn&apos;t WTF_USE_SKIA be sufficient?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425166</commentid>
    <comment_count>7</comment_count>
    <who name="Cary Clark">caryclark</who>
    <bug_when>2011-06-22 05:54:28 -0700</bug_when>
    <thetext>USE(SKIA_ON_MAC_CHROME) is a convenience that is equivalent to (USE(SKIA) &amp;&amp; PLATFORM(CHROMIUM) &amp;&amp; OS(DARWIN)). In those places where it is used, it enables code only appropriate to the Mac that would break the Linux and Windows builds.

The plan:
- Once this is checked in, along with one final CL to update WebCore.gyp, the normal Mac, Windows, and Linux builds should compile unchanged. 
- If you rebuild with:
  export gyp_defines=&apos;use_skia=1&apos; ; gclient runhooks ; xcodebuild ...
then the Mac build will use Skia instead of CG.
- If you rebuild Linux or Windows with or without use_skia=1, it has no effect.
- When (if) Chrome decides to ship Mac using Skia, or if Chrome decides it will never use Skia on OS X, I will remove all scaffolding that allows choosing between Skia and CG.

Most of the code controlling gyp behavior and #defines is checked in:

build/common.gypi
        # Use Skia as WebKit renderer on Mac
        [&apos;OS==&quot;mac&quot;&apos;, {
          &apos;use_skia%&apos;: 0,
        }, {
          &apos;use_skia%&apos;: 1,
        }],
...
      &apos;use_skia%&apos;: &apos;&lt;(use_skia)&apos;,
...
      [&apos;use_skia==1&apos;, {
        &apos;defines&apos;: [
          &apos;USE_SKIA=1&apos;,
        ],
      }],

wtf/Platform.h
   /* USE(SKIA) for Win/Linux, CG for Mac, unless enabled */
   #if PLATFORM(CHROMIUM)
   #if OS(DARWIN)
   #if USE(SKIA_ON_MAC_CHROME)
   #define WTF_USE_SKIA 1
   #else
   #define WTF_USE_CG 1
   #endif

Now I see that I haven&apos;t submitted the CL for chromium/features.gypi. Oops. It should look like:

--- features.gypi	(revision 89023)
+++ features.gypi	(working copy)
@@ -106,9 +106,11 @@
       &apos;enable_svg%&apos;: 1,
       &apos;enable_touch_events%&apos;: 1,
       &apos;use_skia_gpu%&apos;: 0,
+      &apos;use_skia%&apos;: 0,
       &apos;enable_touch_icon_loading%&apos; : 0,
     },
     &apos;use_accelerated_compositing%&apos;: &apos;&lt;(use_accelerated_compositing)&apos;,
+    &apos;use_skia%&apos;: &apos;&lt;(use_skia)&apos;,
     &apos;use_threaded_compositing%&apos;: &apos;&lt;(use_threaded_compositing)&apos;,
     &apos;enable_svg%&apos;: &apos;&lt;(enable_svg)&apos;,
     &apos;enable_touch_events%&apos;: &apos;&lt;(enable_touch_events)&apos;,
@@ -119,7 +121,7 @@
           &apos;ENABLE_3D_RENDERING=1&apos;,
         ],
       }],
-      [&apos;use_accelerated_compositing==1 and OS!=&quot;mac&quot;&apos;, {
+      [&apos;use_accelerated_compositing==1 and (OS!=&quot;mac&quot; or use_skia==1)&apos;, {
         &apos;feature_defines&apos;: [
           &apos;ENABLE_ACCELERATED_2D_CANVAS=1&apos;,
         ],
@@ -145,12 +147,18 @@
         &apos;feature_defines&apos;: [
           &apos;WTF_USE_WEBAUDIO_FFMPEG=1&apos;,
         ],
+        &apos;use_skia%&apos;: 1,
       }],
       [&apos;enable_register_protocol_handler==1&apos;, {
         &apos;feature_defines&apos;: [
           &apos;ENABLE_REGISTER_PROTOCOL_HANDLER=1&apos;,
         ],
       }],
+      [&apos;OS==&quot;mac&quot;&apos;, {
+        &apos;feature_defines&apos;: [
+          &apos;WTF_USE_SKIA_ON_MAC_CHROME=&lt;(use_skia)&apos;,
+        ],
+      }],
     ],
   },
 }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425258</commentid>
    <comment_count>8</comment_count>
      <attachid>98175</attachid>
    <who name="Cary Clark">caryclark</who>
    <bug_when>2011-06-22 08:35:50 -0700</bug_when>
    <thetext>Created attachment 98175
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425260</commentid>
    <comment_count>9</comment_count>
    <who name="Cary Clark">caryclark</who>
    <bug_when>2011-06-22 08:37:19 -0700</bug_when>
    <thetext>I added all remaining patches here so that you can see the full extent of the changes. I am happy to split this up into multiple changes if that makes it more manageable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425367</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-06-22 10:58:29 -0700</bug_when>
    <thetext>I see.  So, the reason for USE(SKIA_ON_MAC_CHROMIUM) is because we are still using CG in some parts of the Mac build.  I was about to ask why can&apos;t you just use USE(SKIA) instead, but apparently you need to distinguish using skia on windows/linux from using skia on mac.

What are some of the components that still need to use CG?  Is it a long term condition that we will always need to use CG even when we are primarily using Skia?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425370</commentid>
    <comment_count>11</comment_count>
      <attachid>98175</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-06-22 11:00:46 -0700</bug_when>
    <thetext>Comment on attachment 98175
Patch

Seems reasonable to me.  I can&apos;t tell if Darin&apos;s comments are concerns.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425388</commentid>
    <comment_count>12</comment_count>
      <attachid>98175</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-06-22 11:05:55 -0700</bug_when>
    <thetext>Comment on attachment 98175
Patch

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

I think it would be helpful to have USE_SKIA defined uniformly across all platforms that are using skia.  I think that&apos;ll help us avoid accidentally introducing confusing code that assumes that USE_SKIA can only be true on the mac.

&gt; Source/WebCore/platform/chromium/DragImageRef.h:32
&gt; +#if OS(DARWIN) &amp;&amp; !USE(SKIA_ON_MAC_CHROMIUM)

maybe this should be #if USE(CG)?

&gt; Source/WebCore/platform/chromium/DragImageRef.h:40
&gt; +#if OS(DARWIN) &amp;&amp; !USE(SKIA_ON_MAC_CHROMIUM)

#if USE(CG)

&gt; Source/WebKit/chromium/WebKit.gyp:693
&gt; +                      &apos;sources/&apos;: [

bad indentation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425415</commentid>
    <comment_count>13</comment_count>
      <attachid>98175</attachid>
    <who name="Cary Clark">caryclark</who>
    <bug_when>2011-06-22 11:31:29 -0700</bug_when>
    <thetext>Comment on attachment 98175
Patch

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

&gt;&gt; Source/WebCore/platform/chromium/DragImageRef.h:32
&gt;&gt; +#if OS(DARWIN) &amp;&amp; !USE(SKIA_ON_MAC_CHROMIUM)
&gt; 
&gt; maybe this should be #if USE(CG)?

Done.

&gt;&gt; Source/WebCore/platform/chromium/DragImageRef.h:40
&gt;&gt; +#if OS(DARWIN) &amp;&amp; !USE(SKIA_ON_MAC_CHROMIUM)
&gt; 
&gt; #if USE(CG)

Done.

&gt;&gt; Source/WebKit/chromium/WebKit.gyp:693
&gt;&gt; +                      &apos;sources/&apos;: [
&gt; 
&gt; bad indentation

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425417</commentid>
    <comment_count>14</comment_count>
      <attachid>98207</attachid>
    <who name="Cary Clark">caryclark</who>
    <bug_when>2011-06-22 11:32:27 -0700</bug_when>
    <thetext>Created attachment 98207
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425669</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-22 15:34:04 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 98207:

http/tests/local/formdata/send-form-data.html bug 63034 (author: jianli@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425672</commentid>
    <comment_count>16</comment_count>
      <attachid>98207</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-22 15:35:52 -0700</bug_when>
    <thetext>Comment on attachment 98207
Patch

Clearing flags on attachment: 98207

Committed r89489: &lt;http://trac.webkit.org/changeset/89489&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425673</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-22 15:35:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425723</commentid>
    <comment_count>18</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-06-22 16:32:11 -0700</bug_when>
    <thetext>This doesn&apos;t compile on chromium mac.  Rollout in progress...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428051</commentid>
    <comment_count>19</comment_count>
      <attachid>98744</attachid>
    <who name="Cary Clark">caryclark</who>
    <bug_when>2011-06-27 10:19:15 -0700</bug_when>
    <thetext>Created attachment 98744
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428067</commentid>
    <comment_count>20</comment_count>
    <who name="Cary Clark">caryclark</who>
    <bug_when>2011-06-27 10:27:15 -0700</bug_when>
    <thetext>The uploaded patch is nearly identical to the previous approved patch. The only difference are merges in IntSize.h and FloatSize.h.

The last time, the cr-mac build failed in the bot here:

 http://build.webkit.org/builders/Chromium%20Mac%20Release/builds/25018/steps/gclient/logs/stdio

with this error:

 NameError: name &apos;use_skia&apos; is not defined while evaluating condition &apos;use_skia==0&apos; in WebKit.gyp while trying to load WebKit.gyp

I cannot reproduce this error either on a Chromium build, or by doing:

  update-webkit --chromium ; build-webkit --chromium

Since I don&apos;t have permission for the mac and cr-mac bot builds, I need help diagnosing why this cannot land in its current state. I&apos;ve re-uploaded so I can get that help.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428072</commentid>
    <comment_count>21</comment_count>
    <who name="Cary Clark">caryclark</who>
    <bug_when>2011-06-27 10:31:00 -0700</bug_when>
    <thetext>Additionally, I tried

  perl ./Tools/Scripts/update-webkit-chromium --force
  cd Source/WebKit/chromium/
  python gyp_webkit

which looks like the command sequence the bot tries that fails, and that worked for me too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428102</commentid>
    <comment_count>22</comment_count>
      <attachid>98744</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-06-27 11:07:03 -0700</bug_when>
    <thetext>Comment on attachment 98744
Patch

cq- until somebody figures out why this didn&apos;t compile last time and what will make it compile this time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428104</commentid>
    <comment_count>23</comment_count>
    <who name="Cary Clark">caryclark</who>
    <bug_when>2011-06-27 11:12:29 -0700</bug_when>
    <thetext>I&apos;ve sent two copies of the letter in to Apple, but in the meantime, is there anyway to override my committer status and get the cr-mac build to run on this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428192</commentid>
    <comment_count>24</comment_count>
      <attachid>98767</attachid>
    <who name="Cary Clark">caryclark</who>
    <bug_when>2011-06-27 12:36:35 -0700</bug_when>
    <thetext>Created attachment 98767
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428193</commentid>
    <comment_count>25</comment_count>
    <who name="Cary Clark">caryclark</who>
    <bug_when>2011-06-27 12:38:10 -0700</bug_when>
    <thetext>Thanks to Tony for finding my gyp bug. (adding 

  &apos;use_skia%&apos;: &apos;&lt;(use_skia)&apos;,

to line 119 of chromium/features.gypi )</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428498</commentid>
    <comment_count>26</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-06-27 17:44:44 -0700</bug_when>
    <thetext>(In reply to comment #25)
&gt; Thanks to Tony for finding my gyp bug. (adding 
&gt; 
&gt;   &apos;use_skia%&apos;: &apos;&lt;(use_skia)&apos;,
&gt; 
&gt; to line 119 of chromium/features.gypi )

Do you know why you couldn&apos;t reproduce the failure locally?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428500</commentid>
    <comment_count>27</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-06-27 17:45:25 -0700</bug_when>
    <thetext>Reopening since the patch was reverted</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428809</commentid>
    <comment_count>28</comment_count>
    <who name="Cary Clark">caryclark</who>
    <bug_when>2011-06-28 05:16:49 -0700</bug_when>
    <thetext>It worked locally because I had added the same variable setup to build/common.gypi, which is outside of WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429192</commentid>
    <comment_count>29</comment_count>
      <attachid>98767</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-28 15:27:28 -0700</bug_when>
    <thetext>Comment on attachment 98767
Patch

Clearing flags on attachment: 98767

Committed r89968: &lt;http://trac.webkit.org/changeset/89968&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429193</commentid>
    <comment_count>30</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-28 15:27:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429246</commentid>
    <comment_count>31</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-06-28 16:30:11 -0700</bug_when>
    <thetext>This caused compile failures on multiple windows bots, example:
http://build.webkit.org/builders/Chromium%20Win%20Release/builds/27392/steps/compile-webkit/logs/stdio

the failure:
17&gt;VDMXParser.cpp
17&gt;..\platform\graphics\chromium\VDMXParser.cpp(36) : fatal error C1083: Cannot open include file: &apos;arpa/inet.h&apos;: No such file or directory

I have no idea what that error means or how it&apos;s correlated with this patch, but the same failure showed up on multiple bots when this patch landed so I&apos;m assuming it&apos;s correlated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430441</commentid>
    <comment_count>32</comment_count>
      <attachid>99310</attachid>
    <who name="Cary Clark">caryclark</who>
    <bug_when>2011-06-30 08:41:59 -0700</bug_when>
    <thetext>Created attachment 99310
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430443</commentid>
    <comment_count>33</comment_count>
    <who name="Cary Clark">caryclark</who>
    <bug_when>2011-06-30 08:44:49 -0700</bug_when>
    <thetext>The only change from the previous patch is to correctly conditionalize the WebCore.gyp file so that VMDX is excluded from the build unless the toolkit uses GTK, or the build targets a Skia-enabled Mac build. This fixes the Windows build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430662</commentid>
    <comment_count>34</comment_count>
      <attachid>99310</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-06-30 13:53:24 -0700</bug_when>
    <thetext>Comment on attachment 99310
Patch

If at first you don&apos;t succeed...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430708</commentid>
    <comment_count>35</comment_count>
      <attachid>99310</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-30 15:00:12 -0700</bug_when>
    <thetext>Comment on attachment 99310
Patch

Clearing flags on attachment: 99310

Committed r90167: &lt;http://trac.webkit.org/changeset/90167&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430709</commentid>
    <comment_count>36</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-30 15:00:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430738</commentid>
    <comment_count>37</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-30 15:37:39 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 99310:

http/tests/local/blob/send-hybrid-blob.html bug 63761 (author: kinuko@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97970</attachid>
            <date>2011-06-21 05:28:43 -0700</date>
            <delta_ts>2011-06-22 08:35:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62999-20110621082841.patch</filename>
            <type>text/plain</type>
            <size>2546</size>
            <attacher name="Cary Clark">caryclark</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODkyNTQpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTEtMDYtMjAgIENhcnkgQ2xhcmsgIDxjYXJ5Y2xhcmtAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgU2tpYSBpZiBTa2lh
IG9uIE1hYyBDaHJvbWUgaXMgZW5hYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjI5OTkKKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgorICAg
ICAgICBXVEZfVVNFX1NLSUEgaXMgYWxyZWFkeSBkZWZpbmVkIGZvciBub24tRGFyd2luCisgICAg
ICAgIENocm9taXVtIHBsYXRmb3Jtcy4gRGVmaW5lIGl0IGZvciBEYXJ3aW4gYXMKKyAgICAgICAg
d2VsbCBpZiBVU0UoU0tJQV9NQUNfT05fQ0hST01FKSBpcyBkZWZpbmVkIGV4dGVybmFsbHkuCisK
IDIwMTEtMDYtMjAgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgUm9iIEJ1aXMuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL1BsYXRmb3JtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9QbGF0Zm9ybS5oCShyZXZpc2lvbiA4OTI1MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvUGxhdGZvcm0uaAkod29ya2luZyBjb3B5KQpAQCAtNTQzLDEwICs1NDMsMTQgQEAKICNkZWZp
bmUgV1RGX1VTRV9DQSAxCiAjZW5kaWYKIAotLyogVVNFKFNLSUEpIGZvciBXaW4vTGludXgsIENH
IGZvciBNYWMgKi8KKy8qIFVTRShTS0lBKSBmb3IgV2luL0xpbnV4LCBDRyBmb3IgTWFjLCB1bmxl
c3MgZW5hYmxlZCAqLwogI2lmIFBMQVRGT1JNKENIUk9NSVVNKQogI2lmIE9TKERBUldJTikKKyNp
ZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2RlZmluZSBXVEZfVVNFX1NLSUEgMQorI2Vsc2UK
ICNkZWZpbmUgV1RGX1VTRV9DRyAxCisjZW5kaWYKICNkZWZpbmUgV1RGX1VTRV9BVFNVSSAxCiAj
ZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDEKICNkZWZpbmUgV1RGX1VTRV9JQ0NKUEVHIDEKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA4OTI1NCkKKysrIFNvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTEtMDYtMjAgIENhcnkgQ2xhcmsgIDxjYXJ5Y2xhcmtAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgU2tpYSBpZiBTa2lh
IG9uIE1hYyBDaHJvbWUgaXMgZW5hYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjI5OTkKKworICAgICAgICAqIHB1YmxpYy9XZWJDb21tb24uaDoK
KyAgICAgICAgSW4gYW4gdXBjb21pbmcgdmVyc2lvbiBvZiBidWlsZC9jb21tb24uZ3lwaSBVU0Vf
U0tJQSBpcyBkZWZpbmVkCisgICAgICAgIGZvciBMaW51eCBhbmQgV2luZG93cyBwb3J0cywgYW5k
IGZvciBNYWMgcG9ydHMgd2hlbiBhbiBleHRlcm5hbAorICAgICAgICBneXAgZGVmaW5lIHRyaWdn
ZXJzIGl0LiBJZiBzZXQsIHNldCBXRUJLSVRfVVNJTkdfU0tJQSBhcyB3ZWxsLgorCiAyMDExLTA2
LTIwICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJDb21tb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJDb21tb24uaAkocmV2aXNpb24gODkyNTMpCisrKyBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJDb21tb24uaAkod29ya2luZyBjb3B5KQpAQCAtMzksNyArMzksNyBA
QAogI2VuZGlmCiAKICNpZiAhZGVmaW5lZChXRUJLSVRfVVNJTkdfU0tJQSkKLSAgICAjaWYgIWRl
ZmluZWQoX19BUFBMRV9fKQorICAgICNpZiAhZGVmaW5lZChfX0FQUExFX18pIHx8IGRlZmluZWQo
VVNFX1NLSUEpCiAgICAgICAgICNkZWZpbmUgV0VCS0lUX1VTSU5HX1NLSUEgMQogICAgICNlbHNl
CiAgICAgICAgICNkZWZpbmUgV0VCS0lUX1VTSU5HX1NLSUEgMAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98175</attachid>
            <date>2011-06-22 08:35:50 -0700</date>
            <delta_ts>2011-06-22 11:32:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62999-20110622113548.patch</filename>
            <type>text/plain</type>
            <size>31032</size>
            <attacher name="Cary Clark">caryclark</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODk0MzApCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTEtMDYtMjIgIENhcnkgQ2xhcmsgIDxjYXJ5Y2xhcmtAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgU2tpYSBpZiBTa2lh
IG9uIE1hYyBDaHJvbWUgaXMgZW5hYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjI5OTkKKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgorICAg
ICAgICBBZGQgc3dpdGNoIHRvIHVzZSBTa2lhIGlmLCBleHRlcm5hbGx5LAorICAgICAgICBTa2lh
IGhhcyBiZWVuIGVuYWJsZWQgYnkgYSBneXAgZGVmaW5lLgorCiAyMDExLTA2LTIxICBNT1JJVEEg
SGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxp
bmcgb3V0IHI4OTQwMSBhbmQgcjg5NDAzLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9QbGF0Zm9ybS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxh
dGZvcm0uaAkocmV2aXNpb24gODk0MjQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1Bs
YXRmb3JtLmgJKHdvcmtpbmcgY29weSkKQEAgLTU0MywxMCArNTQzLDE0IEBACiAjZGVmaW5lIFdU
Rl9VU0VfQ0EgMQogI2VuZGlmCiAKLS8qIFVTRShTS0lBKSBmb3IgV2luL0xpbnV4LCBDRyBmb3Ig
TWFjICovCisvKiBVU0UoU0tJQSkgZm9yIFdpbi9MaW51eCwgQ0cgZm9yIE1hYywgdW5sZXNzIGVu
YWJsZWQgKi8KICNpZiBQTEFURk9STShDSFJPTUlVTSkKICNpZiBPUyhEQVJXSU4pCisjaWYgVVNF
KFNLSUFfT05fTUFDX0NIUk9NSVVNKQorI2RlZmluZSBXVEZfVVNFX1NLSUEgMQorI2Vsc2UKICNk
ZWZpbmUgV1RGX1VTRV9DRyAxCisjZW5kaWYKICNkZWZpbmUgV1RGX1VTRV9BVFNVSSAxCiAjZGVm
aW5lIFdURl9VU0VfQ09SRV9URVhUIDEKICNkZWZpbmUgV1RGX1VTRV9JQ0NKUEVHIDEKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cJKHJldmlzaW9uIDg5NDMwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDggQEAKKzIwMTEtMDYtMjIgIENhcnkgQ2xhcmsgIDxj
YXJ5Y2xhcmtAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBVc2UgU2tpYSBpZiBTa2lhIG9uIE1hYyBDaHJvbWUgaXMgZW5hYmxlZAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI5OTkKKwor
ICAgICAgICBObyBuZXcgdGVzdHMuIFRoaXMgZG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nCisgICAg
ICAgIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoK
KyAgICAgICAgSW5jbHVkZSBTa2lhIGFuZCByZWxhdGVkIGZpbGVzIGFuZCBleGNsdWRlIENHCisg
ICAgICAgIGFuZCByZWxhdGVkIGZpbGVzIHdoZW4gYnVpbGRpbmcgQ2hyb21pdW0gZm9yIFNraWEK
KyAgICAgICAgb24gdGhlIE1hYy4KKworICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRGb250
LmNwcDoKKyAgICAgICAgUmVuYW1lIENIUk9NRSB0byBDSFJPTUlVTS4KKworICAgICAgICAqIHBs
YXRmb3JtL2Nocm9taXVtL0RyYWdJbWFnZVJlZi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL0Zsb2F0UG9pbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3Qu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpG
b250UGxhdGZvcm1EYXRhOjpoYXNoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HbHlw
aEJ1ZmZlci5oOgorICAgICAgICAoV2ViQ29yZTo6R2x5cGhCdWZmZXI6OmFkdmFuY2VBdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpHbHlwaEJ1ZmZlcjo6YWRkKToKKyAgICAgICAgKFdlYkNvcmU6Okds
eXBoQnVmZmVyOjpleHBhbmRMYXN0QWR2YW5jZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvSW50UG9pbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0Lmg6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvRmxvYXRQb2ludENHLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9GbG9h
dFJlY3RDRy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRTaXplQ0cu
Y3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0ludFBvaW50Q0cuY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0ludFJlY3RDRy5jcHA6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvSW50U2l6ZUNHLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
b250Q3VzdG9tUGxhdGZvcm1EYXRhOjp+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSk6CisgICAgICAg
IChXZWJDb3JlOjpjcmVhdGVGb250Q3VzdG9tUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSk6Cisg
ICAgICAgIERpdHRvLgorCiAyMDExLTA2LTIwICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtvdkBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAkocmV2aXNpb24gODk0MjQpCisrKyBT
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAkod29ya2luZyBjb3B5KQpAQCAt
MjYwLDcgKzI2MCw3IEBACiAgICAgICAgICAgJzxAKHdlYmNvcmVfc3ZnX2JpbmRpbmdzX2lkbF9m
aWxlcyknLAogICAgICAgICBdLAogICAgICAgfV0sCi0gICAgICBbJ09TPT0ibWFjIicsIHsKKyAg
ICAgIFsnT1M9PSJtYWMiIGFuZCB1c2Vfc2tpYT09MCcsIHsKICAgICAgICAgJ3dlYmNvcmVfaW5j
bHVkZV9kaXJzKyc6IFsKICAgICAgICAgICAjIHBsYXRmb3JtL2dyYXBoaWNzL2NnIGFuZCBjb2Nv
YSBuZWVkIHRvIGNvbWUgYmVmb3JlCiAgICAgICAgICAgIyBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bSBzbyB0aGF0IHRoZSBNYWMgYnVpbGQgcGlja3MgdXAgdGhlCkBAIC0yNzEsNiArMjcxLDgg
QEAKICAgICAgICAgICAnLi4vcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EnLAogICAgICAgICAgICcu
Li9wbGF0Zm9ybS9ncmFwaGljcy9jZycsCiAgICAgICAgIF0sCisgICAgICB9XSwKKyAgICAgIFsn
T1M9PSJtYWMiJywgewogICAgICAgICAnd2ViY29yZV9pbmNsdWRlX2RpcnMnOiBbCiAgICAgICAg
ICAgIyBGSVhNRTogRWxpbWluYXRlIGRlcGVuZGVuY3kgb24gcGxhdGZvcm0vbWFjIGFuZCByZWxh
dGVkCiAgICAgICAgICAgIyBkaXJlY3Rvcmllcy4KQEAgLTI4NCw2ICsyODYsMTIgQEAKICAgICAg
ICAgICAnLi4vcGxhdGZvcm0vdGV4dC9tYWMnLAogICAgICAgICBdLAogICAgICAgfV0sCisgICAg
ICBbJ09TPT0ibWFjIiBhbmQgdXNlX3NraWE9PTEnLCB7CisgICAgICAgICd3ZWJjb3JlX2luY2x1
ZGVfZGlycyc6IFsKKyAgICAgICAgICAgICAgJy4uL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hJywK
KyAgICAgICAgICAgICAgJy4uL3BsYXRmb3JtL2dyYXBoaWNzL2NnJywKKyAgICAgICAgXSwKKyAg
ICAgIH1dLAogICAgICAgWydPUz09IndpbiInLCB7CiAgICAgICAgICd3ZWJjb3JlX2luY2x1ZGVf
ZGlycyc6IFsKICAgICAgICAgICAnLi4vcGFnZS93aW4nLApAQCAtMTMzMSw3ICsxMzM5LDE1IEBA
CiAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9oYXJmYnV6ei9o
YXJmYnV6ei5neXA6aGFyZmJ1enonLAogICAgICAgICAgIF0sCiAgICAgICAgIH1dLAotICAgICAg
ICBbJ09TPT0ibWFjIicsIHsKKyAgICAgICAgWydPUz09Im1hYyIgYW5kIHVzZV9za2lhPT0wJywg
eworICAgICAgICAgICdzb3VyY2VzLyc6IFsKKyAgICAgICAgICAgICMgVGhlIE1hYyBidWlsZCBp
cyBQTEFURk9STV9DRyB0b28uICBwbGF0Zm9ybS9ncmFwaGljcy9jZyBpcyB0aGUKKyAgICAgICAg
ICAgICMgb25seSBwbGFjZSB0aGF0IENHIGZpbGVzIHdlIHdhbnQgdG8gYnVpbGQgYXJlIGxvY2F0
ZWQsIGFuZCBub3QKKyAgICAgICAgICAgICMgYWxsIG9mIHRoZW0gZXZlbiBoYXZlIGEgQ0cgc3Vm
Zml4LCBzbyBqdXN0IGFkZCB0aGVtIGJ5IGEKKyAgICAgICAgICAgICMgcmVnZXhwIG1hdGNoaW5n
IHRoZWlyIGRpcmVjdG9yeS4KKyAgICAgICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9ybS9ncmFw
aGljcy9jZy9bXi9dKig/PCFXaW4pP1xcLihjcHB8bW0/KSQnXSwKKyAgICAgICAgICBdLAorICAg
ICAgICB9XSxbJ09TPT0ibWFjIicsIHsKICAgICAgICAgICAjIE5lY2Vzc2FyeSBmb3IgTWFjIC5t
bSBzdHVmZi4KICAgICAgICAgICAnaW5jbHVkZV9kaXJzJzogWwogICAgICAgICAgICAgJy4uLy4u
Ly4uL1dlYktpdExpYnJhcmllcycsCkBAIC0xMzYxLDEyICsxMzc3LDYgQEAKICAgICAgICAgICAg
IFsnaW5jbHVkZScsICdDRlxcLmNwcCQnXSwKICAgICAgICAgICAgIFsnZXhjbHVkZScsICduZXR3
b3JrL2NmLyddLAogCi0gICAgICAgICAgICAjIFRoZSBNYWMgYnVpbGQgaXMgUExBVEZPUk1fQ0cg
dG9vLiAgcGxhdGZvcm0vZ3JhcGhpY3MvY2cgaXMgdGhlCi0gICAgICAgICAgICAjIG9ubHkgcGxh
Y2UgdGhhdCBDRyBmaWxlcyB3ZSB3YW50IHRvIGJ1aWxkIGFyZSBsb2NhdGVkLCBhbmQgbm90Ci0g
ICAgICAgICAgICAjIGFsbCBvZiB0aGVtIGV2ZW4gaGF2ZSBhIENHIHN1ZmZpeCwgc28ganVzdCBh
ZGQgdGhlbSBieSBhCi0gICAgICAgICAgICAjIHJlZ2V4cCBtYXRjaGluZyB0aGVpciBkaXJlY3Rv
cnkuCi0gICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3MvY2cvW14vXSoo
PzwhV2luKT9cXC4oY3BwfG1tPykkJ10sCi0KICAgICAgICAgICAgICMgVXNlIG5hdGl2ZSBNYWMg
Zm9udCBjb2RlIGZyb20gV2ViQ29yZS4KICAgICAgICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9y
bS8oZ3JhcGhpY3MvKT9tYWMvW14vXSpGb250W14vXSpcXC4oY3BwfG1tPykkJ10sCiAgICAgICAg
ICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0W14vXSpc
XC4oY3BwfGgpJCddLApAQCAtMTM4Myw3ICsxMzkzLDYgQEAKICAgICAgICAgICAgIFsnaW5jbHVk
ZScsICdwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRmxvYXRSZWN0TWFjXFwubW0kJ10sCiAgICAgICAg
ICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0Zsb2F0U2l6ZU1hY1xcLm1t
JCddLAogICAgICAgICAgICAgWydpbmNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HbHlw
aFBhZ2VUcmVlTm9kZU1hY1xcLmNwcCQnXSwKLSAgICAgICAgICAgIFsnaW5jbHVkZScsICdwbGF0
Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0TWFjXFwubW0kJ10sCiAgICAgICAgICAg
ICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ludFBvaW50TWFjXFwubW0kJ10s
CiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ludFJlY3RN
YWNcXC5tbSQnXSwKICAgICAgICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9ybS9tYWMvQmxvY2tF
eGNlcHRpb25zXFwubW0kJ10sCkBAIC0xMzk5LDkgKzE0MDgsNiBAQAogCiAgICAgICAgICAgICBb
J2luY2x1ZGUnLCAnV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2Vc
XC5tbSQnXSwKIAotICAgICAgICAgICAgIyBDaHJvbWl1bSBNYWMgZG9lcyBub3QgdXNlIHNraWEu
Ci0gICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9bXi9dKlNr
aWFcXC4oY3BwfGgpJCddLAotCiAgICAgICAgICAgICAjIFRoZSBNYWMgdXNlcyBwbGF0Zm9ybS9t
YWMvS2lsbFJpbmdNYWMubW0gaW5zdGVhZCBvZiB0aGUgZHVtbXkKICAgICAgICAgICAgICMgaW1w
bGVtZW50YXRpb24uCiAgICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0vS2lsbFJpbmdO
b25lXFwuY3BwJCddLApAQCAtMTQxNCwxNSArMTQyMCwzNCBAQAogICAgICAgICAgICAgIyByZWxh
dGVkIHRvIFNjcm9sbGJhclRoZW1lQ2hyb21pdW0uY3BwLgogICAgICAgICAgICAgWydleGNsdWRl
JywgJ3BsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1cXC5jcHAkJ10sCiAK
LSAgICAgICAgICAgICMgVGhlIE1hYyBjdXJyZW50bHkgdXNlcyBJbWFnZUNocm9taXVtTWFjLm1t
IGZyb20KLSAgICAgICAgICAgICMgcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0sIGluY2x1ZGVk
IGJ5IHJlZ2V4IGFib3ZlLCBpbnN0ZWFkLgotICAgICAgICAgICAgWydleGNsdWRlJywgJ3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0ltYWdlQ2hyb21pdW1cXC5jcHAkJ10sCi0KICAgICAgICAg
ICAgICMgVGhlIE1hYyBkb2VzIG5vdCB1c2UgSW1hZ2VTb3VyY2VDRy5jcHAgZnJvbSBwbGF0Zm9y
bS9ncmFwaGljcy9jZwogICAgICAgICAgICAgIyBldmVuIHRob3VnaCBpdCBpcyBpbmNsdWRlZCBi
eSByZWdleCBhYm92ZS4KICAgICAgICAgICAgIFsnZXhjbHVkZScsICdwbGF0Zm9ybS9ncmFwaGlj
cy9jZy9JbWFnZVNvdXJjZUNHXFwuY3BwJCddLAogICAgICAgICAgICAgWydleGNsdWRlJywgJ3Bs
YXRmb3JtL2dyYXBoaWNzL2NnL1BERkRvY3VtZW50SW1hZ2VcXC5jcHAkJ10sCiAKKyAgICAgICAg
ICAgIFsnaW5jbHVkZScsICcvY2hyb21lL2p1bmtcXC50eHQkJ10sCisgICAgICAgICAgXSwKKyAg
ICAgICAgfSx7ICMgT1MhPSJtYWMiCisgICAgICAgICAgJ3NvdXJjZXMvJzogWworICAgICAgICAg
ICAgIyBGSVhNRTogV2Ugd2lsbCBldmVudHVhbGx5IGNvbXBpbGUgdGhpcyB0b28sIGJ1dCBmb3Ig
bm93IGl0J3MKKyAgICAgICAgICAgICMgb25seSB1c2VkIG9uIG1hYy4KKyAgICAgICAgICAgIFsn
ZXhjbHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhXFwuY3BwJCddLAor
ICAgICAgICAgIF0sCisgICAgICAgIH1dLAorICAgICAgICBbJ09TPT0ibWFjIiBhbmQgdXNlX3Nr
aWE9PTAnLCB7CisgICAgICAgICAgJ3NvdXJjZXMvJzogWworICAgICAgICAgICAgIyBDaGVycnkt
cGljayBzb21lIGZpbGVzIHRoYXQgY2FuJ3QgYmUgaW5jbHVkZWQgYnkgYnJvYWRlciByZWdleHBz
LgorICAgICAgICAgICAgIyBTb21lIG9mIHRoZXNlIGFyZSB1c2VkIGluc3RlYWQgb2YgQ2hyb21p
dW0gcGxhdGZvcm0gZmlsZXMsIHNlZQorICAgICAgICAgICAgIyB0aGUgc3BlY2lmaWMgZXhjbHVz
aW9ucyBpbiB0aGUgInNvdXJjZXMhIiBsaXN0IGJlbG93LgorICAgICAgICAgICAgWydpbmNsdWRl
JywgJ3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHRNYWNcXC5tbSQnXSwKKwor
ICAgICAgICAgICAgIyBDaHJvbWl1bSBNYWMgZG9lcyBub3QgdXNlIHNraWEuCisgICAgICAgICAg
ICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9bXi9dKlNraWFcXC4oY3BwfGgp
JCddLAorCisgICAgICAgICAgICAjIFRoZSBNYWMgY3VycmVudGx5IHVzZXMgSW1hZ2VDaHJvbWl1
bU1hYy5tbSBmcm9tCisgICAgICAgICAgICAjIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtLCBp
bmNsdWRlZCBieSByZWdleCBhYm92ZSwgaW5zdGVhZC4KKyAgICAgICAgICAgIFsnZXhjbHVkZScs
ICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9JbWFnZUNocm9taXVtXFwuY3BwJCddLAorCiAg
ICAgICAgICAgICAjIEltYWdlRGVjb2RlclNraWEgaXMgbm90IHVzZWQgb24gbWFjLiAgSW1hZ2VE
ZWNvZGVyQ0cgaXMgdXNlZCBpbnN0ZWFkLgogICAgICAgICAgICAgWydleGNsdWRlJywgJ3BsYXRm
b3JtL2ltYWdlLWRlY29kZXJzL3NraWEvSW1hZ2VEZWNvZGVyU2tpYVxcLmNwcCQnXSwKICAgICAg
ICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9jZy9JbWFnZURlY29k
ZXJDR1xcLmNwcCQnXSwKQEAgLTE0MzAsMjYgKzE0NTUsMzkgQEAKICAgICAgICAgICAgICMgQWdh
aW4sIFNraWEgaXMgbm90IHVzZWQgb24gTWFjLgogICAgICAgICAgICAgWydleGNsdWRlJywgJ3Bs
YXRmb3JtL2Nocm9taXVtL0RyYWdJbWFnZUNocm9taXVtU2tpYVxcLmNwcCQnXSwKICAgICAgICAg
ICBdLAotICAgICAgICB9LHsgIyBPUyE9Im1hYyIKKyAgICAgICAgfV0sCisgICAgICAgIFsnT1M9
PSJtYWMiIGFuZCB1c2Vfc2tpYT09MScsIHsKICAgICAgICAgICAnc291cmNlcy8nOiBbCi0gICAg
ICAgICAgICAjIEZJWE1FOiBXZSB3aWxsIGV2ZW50dWFsbHkgY29tcGlsZSB0aGlzIHRvbywgYnV0
IGZvciBub3cgaXQncwotICAgICAgICAgICAgIyBvbmx5IHVzZWQgb24gbWFjLgotICAgICAgICAg
ICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGFcXC5jcHAk
J10sCi0KLSAgICAgICAgICAgICMgTGludXggdXNlcyBGb250TGludXg7IFdpbmRvd3MgdXNlcyBG
b250V2luLiBBZGRpdGlvbmFsbHksIEZvbnRTa2lhCi0gICAgICAgICAgICAjIGlzIGV4Y2x1ZGVk
IGJ5IGEgcnVsZSBhYm92ZSBpZiBXZWJLaXQgdXNlcyBDRyBpbnN0ZWFkIG9mIFNraWEuCi0gICAg
ICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250U2tpYVxcLmNw
cCQnXSwKKyAgICAgICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9jZy9GbG9h
dFBvaW50Q0dcXC5jcHAkJ10sCisgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvRmxvYXRSZWN0Q0dcXC5jcHAkJ10sCisgICAgICAgICAgICBbJ2luY2x1ZGUnLCAn
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRTaXplQ0dcXC5jcHAkJ10sCisgICAgICAgICAgICBb
J2luY2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50UG9pbnRDR1xcLmNwcCQnXSwKKyAg
ICAgICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9jZy9JbnRSZWN0Q0dcXC5j
cHAkJ10sCisgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50
U2l6ZUNHXFwuY3BwJCddLAorICAgICAgICAgICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2dyYXBo
aWNzL21hYy9Gb250TWFjXFwubW0kJ10sCisgICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZv
cm0vZ3JhcGhpY3Mvc2tpYS9HbHlwaFBhZ2VUcmVlTm9kZVNraWFcXC5jcHAkJ10sCisgICAgICAg
ICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0vY2hyb21pdW0vRHJhZ0ltYWdlQ2hyb21pdW1NYWNc
XC5jcHAkJ10sCiAgICAgICAgICAgXSwKICAgICAgICAgfV0sCiAgICAgICAgIFsndG9vbGtpdF91
c2VzX2d0ayA9PSAwJywgewogICAgICAgICAgICdzb3VyY2VzLyc6IFsKICAgICAgICAgICAgIFsn
ZXhjbHVkZScsICcoR3RrfExpbnV4KVxcLmNwcCQnXSwKICAgICAgICAgICAgIFsnZXhjbHVkZScs
ICdIYXJmYnV6elteL10rXFwuKGNwcHxoKSQnXSwKKyAgICAgICAgICBdLAorICAgICAgICB9XSwK
KyAgICAgICAgWyd0b29sa2l0X3VzZXNfZ3RrID09IDAgYW5kIHVzZV9za2lhPT0wJywgeworICAg
ICAgICAgICdzb3VyY2VzLyc6IFsKICAgICAgICAgICAgIFsnZXhjbHVkZScsICdWRE1YW14vXStc
XC4oY3BwfGgpJCddLAogICAgICAgICAgIF0sCiAgICAgICAgIH1dLAogICAgICAgICBbJ09TIT0i
bWFjIicsIHsKLSAgICAgICAgICAnc291cmNlcy8nOiBbWydleGNsdWRlJywgJ01hY1xcLihjcHB8
bW0/KSQnXV0KKyAgICAgICAgICAnc291cmNlcy8nOiBbCisgICAgICAgICAgICBbJ2V4Y2x1ZGUn
LCAnTWFjXFwuKGNwcHxtbT8pJCddLAorCisgICAgICAgICAgICAjIExpbnV4IHVzZXMgRm9udExp
bnV4OyBXaW5kb3dzIHVzZXMgRm9udFdpbi4gQWRkaXRpb25hbGx5LCBGb250U2tpYQorICAgICAg
ICAgICAgIyBpcyBleGNsdWRlZCBieSBhIHJ1bGUgYWJvdmUgaWYgV2ViS2l0IHVzZXMgQ0cgaW5z
dGVhZCBvZiBTa2lhLgorICAgICAgICAgICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNz
L3NraWEvRm9udFNraWFcXC5jcHAkJ10sCisgICAgICAgICAgXSwKICAgICAgICAgfV0sCiAgICAg
ICAgIFsnT1MhPSJ3aW4iJywgewogICAgICAgICAgICdzb3VyY2VzLyc6IFsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5jcHAJKHJldmlzaW9uIDg5NDI0KQor
KysgU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yOCw3ICsyOCw3IEBACiAjaW5jbHVkZSAiQ2FjaGVkRm9udC5oIgogCiAvLyBGSVhN
RTogVGhpcyBzaG91bGQgcmVhbGx5IGJlIGEgYmxhY2tsaXN0IGluc3RlYWQgb2YgYSB3aGl0ZWxp
c3QKLSNpZiBVU0UoQ0cpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspIHx8IChQTEFU
Rk9STShDSFJPTUlVTSkgJiYgKCFPUyhEQVJXSU4pIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUp
KSkgfHwgUExBVEZPUk0oSEFJS1UpIHx8IE9TKFdJTkNFKSB8fCBQTEFURk9STShBTkRST0lEKSB8
fCBQTEFURk9STShCUkVXTVApCisjaWYgVVNFKENHKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZP
Uk0oR1RLKSB8fCAoUExBVEZPUk0oQ0hST01JVU0pICYmICghT1MoREFSV0lOKSB8fCBVU0UoU0tJ
QV9PTl9NQUNfQ0hST01JVU0pKSkgfHwgUExBVEZPUk0oSEFJS1UpIHx8IE9TKFdJTkNFKSB8fCBQ
TEFURk9STShBTkRST0lEKSB8fCBQTEFURk9STShCUkVXTVApCiAjZGVmaW5lIFNUT1JFX0ZPTlRf
Q1VTVE9NX1BMQVRGT1JNX0RBVEEKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9EcmFnSW1hZ2VSZWYuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jaHJvbWl1bS9EcmFnSW1hZ2VSZWYuaAkocmV2aXNpb24gODk0MjQpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9EcmFnSW1hZ2VSZWYuaAkod29ya2luZyBj
b3B5KQpAQCAtMjksNyArMjksNyBAQAogI2lmbmRlZiBEcmFnSW1hZ2VSZWZfaAogI2RlZmluZSBE
cmFnSW1hZ2VSZWZfaAogCi0jaWYgT1MoREFSV0lOKSAmJiAhVVNFKFNLSUFfT05fTUFDX0NIUk9N
RSkKKyNpZiBPUyhEQVJXSU4pICYmICFVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiB0eXBlZGVm
IHN0cnVjdCBDR0ltYWdlKiBDR0ltYWdlUmVmOwogI2Vsc2UKIGNsYXNzIFNrQml0bWFwOwpAQCAt
MzcsNyArMzcsNyBAQCBjbGFzcyBTa0JpdG1hcDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0j
aWYgT1MoREFSV0lOKSAmJiAhVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBPUyhEQVJXSU4p
ICYmICFVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiB0eXBlZGVmIENHSW1hZ2VSZWYgRHJhZ0lt
YWdlUmVmOwogI2Vsc2UKIHR5cGVkZWYgU2tCaXRtYXAqIERyYWdJbWFnZVJlZjsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmgJKHJldmlzaW9u
IDg5NDI0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAiSW50UG9pbnQuaCIK
ICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9P
Tl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQog
dHlwZWRlZiBzdHJ1Y3QgQ0dQb2ludCBDR1BvaW50OwogI2VuZGlmCiAKQEAgLTEyNSw3ICsxMjUs
NyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBGbG9hdFBvaW50KHN0ZDo6bWF4KG1feCwgb3Ro
ZXIubV94KSwgc3RkOjptYXgobV95LCBvdGhlci5tX3kpKTsKICAgICB9ICAgCiAKLSNpZiBVU0Uo
Q0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9P
Tl9NQUNfQ0hST01JVU0pCiAgICAgRmxvYXRQb2ludChjb25zdCBDR1BvaW50Jik7CiAgICAgb3Bl
cmF0b3IgQ0dQb2ludCgpIGNvbnN0OwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuaAkocmV2aXNpb24gODk0MjQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuaAkod29ya2luZyBjb3B5KQpAQCAt
MjksNyArMjksNyBAQAogCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogCi0jaWYgVVNFKENHKSB8
fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFD
X0NIUk9NSVVNKQogdHlwZWRlZiBzdHJ1Y3QgQ0dSZWN0IENHUmVjdDsKICNlbmRpZgogCkBAIC0x
MzksNyArMTM5LDcgQEAgcHVibGljOgogICAgIHZvaWQgZml0VG9Qb2ludHMoY29uc3QgRmxvYXRQ
b2ludCYgcDAsIGNvbnN0IEZsb2F0UG9pbnQmIHAxLCBjb25zdCBGbG9hdFBvaW50JiBwMik7CiAg
ICAgdm9pZCBmaXRUb1BvaW50cyhjb25zdCBGbG9hdFBvaW50JiBwMCwgY29uc3QgRmxvYXRQb2lu
dCYgcDEsIGNvbnN0IEZsb2F0UG9pbnQmIHAyLCBjb25zdCBGbG9hdFBvaW50JiBwMyk7CiAKLSNp
ZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0Uo
U0tJQV9PTl9NQUNfQ0hST01JVU0pCiAgICAgRmxvYXRSZWN0KGNvbnN0IENHUmVjdCYpOwogICAg
IG9wZXJhdG9yIENHUmVjdCgpIGNvbnN0OwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuaAkocmV2aXNpb24gODk0MjQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuaAkod29ya2luZyBjb3B5KQpA
QCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgIkludFBvaW50LmgiCiAjaW5jbHVkZSA8d3RmL01h
dGhFeHRyYXMuaD4KIAotI2lmIFVTRShDRykgfHwgKFBMQVRGT1JNKFdYKSAmJiBPUyhEQVJXSU4p
KSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgKFBMQVRGT1JNKFdY
KSAmJiBPUyhEQVJXSU4pKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiB0eXBlZGVmIHN0
cnVjdCBDR1NpemUgQ0dTaXplOwogI2VuZGlmCiAKQEAgLTkxLDcgKzkxLDcgQEAgcHVibGljOgog
ICAgICAgICByZXR1cm4gbV93aWR0aCAqIG1fd2lkdGggKyBtX2hlaWdodCAqIG1faGVpZ2h0Owog
ICAgIH0KIAotI2lmIFVTRShDRykgfHwgKFBMQVRGT1JNKFdYKSAmJiBPUyhEQVJXSU4pKSB8fCBV
U0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgKFBMQVRGT1JNKFdYKSAmJiBP
UyhEQVJXSU4pKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiAgICAgZXhwbGljaXQgRmxv
YXRTaXplKGNvbnN0IENHU2l6ZSYpOyAvLyBkb24ndCBkbyB0aGlzIGltcGxpY2l0bHkgc2luY2Ug
aXQncyBsb3NzeQogICAgIG9wZXJhdG9yIENHU2l6ZSgpIGNvbnN0OwogI2VuZGlmCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0
YS5oCShyZXZpc2lvbiA4OTQyNCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRQbGF0Zm9ybURhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtODIsNyArODIsNyBAQCB0eXBl
ZGVmIGNvbnN0IHN0cnVjdCBfX0NURm9udCogQ1RGb250UmVmCiB0eXBlZGVmIHN0cnVjdCBIRk9O
VF9fKiBIRk9OVDsKICNlbmRpZgogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hS
T01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogdHlwZWRlZiBz
dHJ1Y3QgQ0dGb250KiBDR0ZvbnRSZWY7CiAjaWYgT1MoREFSV0lOKQogdHlwZWRlZiBjb25zdCBz
dHJ1Y3QgX19DVEZvbnQqIENURm9udFJlZjsKQEAgLTE3Niw3ICsxNzYsNyBAQCBwdWJsaWM6CiAj
aWYgT1MoREFSV0lOKQogICAgIEZvbnRQbGF0Zm9ybURhdGEoTlNGb250KiwgZmxvYXQgc2l6ZSwg
Ym9vbCBzeW50aGV0aWNCb2xkID0gZmFsc2UsIGJvb2wgc3ludGhldGljT2JsaXF1ZSA9IGZhbHNl
LCBGb250T3JpZW50YXRpb24gPSBIb3Jpem9udGFsLAogICAgICAgICAgICAgICAgICAgICAgVGV4
dE9yaWVudGF0aW9uID0gVGV4dE9yaWVudGF0aW9uVmVydGljYWxSaWdodCwgRm9udFdpZHRoVmFy
aWFudCA9IFJlZ3VsYXJXaWR0aCk7Ci0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hS
T01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogICAgIEZvbnRQ
bGF0Zm9ybURhdGEoQ0dGb250UmVmIGNnRm9udCwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNC
b2xkLCBib29sIHN5bnRoZXRpY09ibGlxdWUsIEZvbnRPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwK
ICAgICAgICAgICAgICAgICAgICAgIFRleHRPcmllbnRhdGlvbiB0ZXh0T3JpZW50YXRpb24sIEZv
bnRXaWR0aFZhcmlhbnQgd2lkdGhWYXJpYW50KQogICAgICAgICA6IG1fc3ludGhldGljQm9sZChz
eW50aGV0aWNCb2xkKQpAQCAtMjEyLDcgKzIxMiw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEZv
bnQoTlNGb250Kik7CiAjZW5kaWYKIAotI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NI
Uk9NRSkKKyNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkKICNpZiBPUyhE
QVJXSU4pCiAgICAgQ0dGb250UmVmIGNnRm9udCgpIGNvbnN0IHsgcmV0dXJuIG1fY2dGb250Lmdl
dCgpOyB9CiAgICAgQ1RGb250UmVmIGN0Rm9udCgpIGNvbnN0OwpAQCAtMjQ1LDcgKzI0NSw3IEBA
IHB1YmxpYzoKICNpZiBQTEFURk9STShXSU4pICYmICFVU0UoQ0FJUk8pCiAgICAgICAgIHJldHVy
biBtX2ZvbnQgPyBtX2ZvbnQtPmhhc2goKSA6IDA7CiAjZWxpZiBPUyhEQVJXSU4pCi0jaWYgVVNF
KENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFf
T05fTUFDX0NIUk9NSVVNKQogICAgICAgICBBU1NFUlQobV9mb250IHx8ICFtX2NnRm9udCk7CiAj
ZW5kaWYKICAgICAgICAgdWludHB0cl90IGhhc2hDb2Rlc1szXSA9IHsgKHVpbnRwdHJfdCltX2Zv
bnQsIG1fd2lkdGhWYXJpYW50LCBtX3RleHRPcmllbnRhdGlvbiA8PCAzIHwgbV9vcmllbnRhdGlv
biA8PCAyIHwgbV9zeW50aGV0aWNCb2xkIDw8IDEgfCBtX3N5bnRoZXRpY09ibGlxdWUgfTsKQEAg
LTMyMSw3ICszMjEsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxSZWZDb3VudGVkR0RJSGFuZGxl
PEhGT05UPiA+IG1fZm9udDsKICNlbmRpZgogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9N
QUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogI2lm
IFBMQVRGT1JNKFdJTikKICAgICBSZXRhaW5QdHI8Q0dGb250UmVmPiBtX2NnRm9udDsKICNlbHNl
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoQnVmZmVy
LmgJKHJldmlzaW9uIDg5NDI0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R2x5cGhCdWZmZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzUsNyArMzUsNyBAQAogI2luY2x1ZGUg
PHd0Zi9VbnVzZWRQYXJhbS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAotI2lmIFVTRShD
RykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09O
X01BQ19DSFJPTUlVTSkKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dHZW9tZXRyeS5oPgogI2Vu
ZGlmCiAKQEAgLTYyLDcgKzYyLDcgQEAgdHlwZWRlZiBHbHlwaCBHbHlwaEJ1ZmZlckdseXBoOwog
CiAvLyBDRyB1c2VzIENHU2l6ZSBpbnN0ZWFkIG9mIEZsb2F0U2l6ZSBzbyB0aGF0IHRoZSByZXN1
bHQgb2YgYWR2YW5jZXMoKQogLy8gY2FuIGJlIHBhc3NlZCBkaXJlY3RseSB0byBDR0NvbnRleHRT
aG93R2x5cGhzV2l0aEFkdmFuY2VzIGluIEZvbnRNYWMubW0KLSNpZiBVU0UoQ0cpIHx8IChQTEFU
Rk9STShXWCkgJiYgT1MoREFSV0lOKSkgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBV
U0UoQ0cpIHx8IChQTEFURk9STShXWCkgJiYgT1MoREFSV0lOKSkgfHwgVVNFKFNLSUFfT05fTUFD
X0NIUk9NSVVNKQogdHlwZWRlZiBDR1NpemUgR2x5cGhCdWZmZXJBZHZhbmNlOwogI2VsaWYgT1Mo
V0lOQ0UpCiAvLyBUaGVyZSBpcyBubyBjcm9zcy1wbGF0Zm9ybSBjb2RlIHRoYXQgdXNlcyB0aGUg
aGVpZ2h0IG9mIEdseXBoQnVmZmVyQWR2YW5jZSwKQEAgLTEyNiw3ICsxMjYsNyBAQCBwdWJsaWM6
CiAKICAgICBmbG9hdCBhZHZhbmNlQXQoaW50IGluZGV4KSBjb25zdAogICAgIHsKLSNpZiBVU0Uo
Q0cpIHx8IChQTEFURk9STShXWCkgJiYgT1MoREFSV0lOKSkgfHwgVVNFKFNLSUFfT05fTUFDX0NI
Uk9NRSkKKyNpZiBVU0UoQ0cpIHx8IChQTEFURk9STShXWCkgJiYgT1MoREFSV0lOKSkgfHwgVVNF
KFNLSUFfT05fTUFDX0NIUk9NSVVNKQogICAgICAgICByZXR1cm4gbV9hZHZhbmNlc1tpbmRleF0u
d2lkdGg7CiAjZWxpZiBPUyhXSU5DRSkKICAgICAgICAgcmV0dXJuIG1fYWR2YW5jZXNbaW5kZXhd
OwpAQCAtMTU3LDcgKzE1Nyw3IEBAIHB1YmxpYzoKICAgICAgICAgbV9nbHlwaHMuYXBwZW5kKGds
eXBoKTsKICNlbmRpZgogCi0jaWYgVVNFKENHKSB8fCAoUExBVEZPUk0oV1gpICYmIE9TKERBUldJ
TikpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCAoUExBVEZPUk0o
V1gpICYmIE9TKERBUldJTikpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkKICAgICAgICAg
Q0dTaXplIGFkdmFuY2UgPSB7IHdpZHRoLCAwIH07CiAgICAgICAgIG1fYWR2YW5jZXMuYXBwZW5k
KGFkdmFuY2UpOwogI2VsaWYgT1MoV0lOQ0UpCkBAIC0xOTYsNyArMTk2LDcgQEAgcHVibGljOgog
ICAgIHsKICAgICAgICAgQVNTRVJUKCFpc0VtcHR5KCkpOwogICAgICAgICBHbHlwaEJ1ZmZlckFk
dmFuY2UmIGxhc3RBZHZhbmNlID0gbV9hZHZhbmNlcy5sYXN0KCk7Ci0jaWYgVVNFKENHKSB8fCAo
UExBVEZPUk0oV1gpICYmIE9TKERBUldJTikpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisj
aWYgVVNFKENHKSB8fCAoUExBVEZPUk0oV1gpICYmIE9TKERBUldJTikpIHx8IFVTRShTS0lBX09O
X01BQ19DSFJPTUlVTSkKICAgICAgICAgbGFzdEFkdmFuY2Uud2lkdGggKz0gd2lkdGg7CiAjZWxp
ZiBPUyhXSU5DRSkKICAgICAgICAgbGFzdEFkdmFuY2UgKz0gd2lkdGg7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50LmgJKHJldmlzaW9uIDg5NDI0KQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtMzMsNyArMzMsNyBAQAogI2luY2x1ZGUgPFFEYXRhU3RyZWFtPgogI2VuZGlmCiAK
LSNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBV
U0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiB0eXBlZGVmIHN0cnVjdCBDR1BvaW50IENHUG9pbnQ7
CiAjZW5kaWYKIApAQCAtMTIxLDcgKzEyMSw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIElu
dFBvaW50KG1feSwgbV94KTsKICAgICB9CiAKLSNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01B
Q19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiAgICAg
ZXhwbGljaXQgSW50UG9pbnQoY29uc3QgQ0dQb2ludCYpOyAvLyBkb24ndCBkbyB0aGlzIGltcGxp
Y2l0bHkgc2luY2UgaXQncyBsb3NzeQogICAgIG9wZXJhdG9yIENHUG9pbnQoKSBjb25zdDsKICNl
bmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaAko
cmV2aXNpb24gODk0MjQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRS
ZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAKICNpbmNsdWRlICJJbnRQb2lu
dC5oIgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAotI2lmIFVTRShDRykgfHwgVVNFKFNLSUFf
T05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkK
IHR5cGVkZWYgc3RydWN0IENHUmVjdCBDR1JlY3Q7CiAjZW5kaWYKIApAQCAtMjAyLDcgKzIwMiw3
IEBAIHB1YmxpYzoKICAgICBvcGVyYXRvciBjYWlyb19yZWN0YW5nbGVfaW50X3QoKSBjb25zdDsK
ICNlbmRpZgogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVT
RShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogICAgIG9wZXJhdG9yIENHUmVjdCgp
IGNvbnN0OwogI2VuZGlmCiAKQEAgLTI0OCw3ICsyNDgsNyBAQCBpbmxpbmUgYm9vbCBvcGVyYXRv
ciE9KGNvbnN0IEludFJlY3QmIGEsCiAgICAgcmV0dXJuIGEubG9jYXRpb24oKSAhPSBiLmxvY2F0
aW9uKCkgfHwgYS5zaXplKCkgIT0gYi5zaXplKCk7CiB9CiAKLSNpZiBVU0UoQ0cpIHx8IFVTRShT
S0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01J
VU0pCiBJbnRSZWN0IGVuY2xvc2luZ0ludFJlY3QoY29uc3QgQ0dSZWN0Jik7CiAjZW5kaWYKIApJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFNpemUuaAkocmV2aXNp
b24gODk0MjQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRTaXplLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKICNpZm5kZWYgSW50U2l6ZV9oCiAjZGVm
aW5lIEludFNpemVfaAogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQor
I2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogdHlwZWRlZiBzdHJ1Y3Qg
Q0dTaXplIENHU2l6ZTsKICNlbmRpZgogCkBAIC0xMDksNyArMTA5LDcgQEAgcHVibGljOgogICAg
ICAgICByZXR1cm4gSW50U2l6ZShtX2hlaWdodCwgbV93aWR0aCk7CiAgICAgfQogCi0jaWYgVVNF
KENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFf
T05fTUFDX0NIUk9NSVVNKQogICAgIGV4cGxpY2l0IEludFNpemUoY29uc3QgQ0dTaXplJik7IC8v
IGRvbid0IGRvIHRoaXMgaW1wbGljaXRseSBzaW5jZSBpdCdzIGxvc3N5CiAgICAgb3BlcmF0b3Ig
Q0dTaXplKCkgY29uc3Q7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1NpbXBsZUZvbnREYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAkocmV2aXNpb24gODk0MjQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xMzIsNyArMTMyLDcgQEAgcHVibGljOgogICAgIGZsb2F0IHNwYWNlV2lkdGgoKSBj
b25zdCB7IHJldHVybiBtX3NwYWNlV2lkdGg7IH0KICAgICB2b2lkIHNldFNwYWNlV2lkdGgoZmxv
YXQgc3BhY2VXaWR0aCkgeyBtX3NwYWNlV2lkdGggPSBzcGFjZVdpZHRoOyB9CiAKLSNpZiBVU0Uo
Q0cpIHx8IFVTRShDQUlSTykgfHwgUExBVEZPUk0oV1gpIHx8IFVTRShTS0lBX09OX01BQ19DSFJP
TUUpCisjaWYgVVNFKENHKSB8fCBVU0UoQ0FJUk8pIHx8IFBMQVRGT1JNKFdYKSB8fCBVU0UoU0tJ
QV9PTl9NQUNfQ0hST01JVU0pCiAgICAgZmxvYXQgc3ludGhldGljQm9sZE9mZnNldCgpIGNvbnN0
IHsgcmV0dXJuIG1fc3ludGhldGljQm9sZE9mZnNldDsgfQogI2VuZGlmCiAKQEAgLTI2NCw3ICsy
NjQsNyBAQCBwcml2YXRlOgogCiAgICAgbXV0YWJsZSBPd25QdHI8RGVyaXZlZEZvbnREYXRhPiBt
X2Rlcml2ZWRGb250RGF0YTsKIAotI2lmIFVTRShDRykgfHwgVVNFKENBSVJPKSB8fCBQTEFURk9S
TShXWCkgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpIHx8IFVTRShDQUlS
TykgfHwgUExBVEZPUk0oV1gpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkKICAgICBmbG9h
dCBtX3N5bnRoZXRpY0JvbGRPZmZzZXQ7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRQb2ludENHLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9GbG9hdFBvaW50Q0cuY3BwCShyZXZpc2lv
biA4OTQyNCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0Zsb2F0UG9p
bnRDRy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDcgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCiAKLSNpZiBVU0UoQ0cpIHx8IFVTRShTS0lB
X09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0p
CiAKICNpbmNsdWRlIDxBcHBsaWNhdGlvblNlcnZpY2VzL0FwcGxpY2F0aW9uU2VydmljZXMuaD4K
IApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRSZWN0Q0cu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0Zs
b2F0UmVjdENHLmNwcAkocmV2aXNpb24gODk0MjQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jZy9GbG9hdFJlY3RDRy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3
LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKIAotI2lm
IFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpIHx8IFVTRShT
S0lBX09OX01BQ19DSFJPTUlVTSkKIAogI2luY2x1ZGUgPEFwcGxpY2F0aW9uU2VydmljZXMvQXBw
bGljYXRpb25TZXJ2aWNlcy5oPgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jZy9GbG9hdFNpemVDRy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRTaXplQ0cuY3BwCShyZXZpc2lvbiA4OTQyNCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0Zsb2F0U2l6ZUNHLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjcsNyArMjcsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IkZsb2F0U2l6ZS5oIgogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKSB8
fCAoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9P
Tl9NQUNfQ0hST01JVU0pIHx8IChQTEFURk9STShRVCkgJiYgVVNFKFFUS0lUKSkKIAogI2luY2x1
ZGUgPEFwcGxpY2F0aW9uU2VydmljZXMvQXBwbGljYXRpb25TZXJ2aWNlcy5oPgogCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbnRQb2ludENHLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbnRQb2ludENHLmNw
cAkocmV2aXNpb24gODk0MjQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
Zy9JbnRQb2ludENHLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkludFBvaW50LmgiCiAKLSNpZiBVU0UoQ0cpIHx8IFVT
RShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hS
T01JVU0pCiAKICNpbmNsdWRlIDxBcHBsaWNhdGlvblNlcnZpY2VzL0FwcGxpY2F0aW9uU2Vydmlj
ZXMuaD4KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50UmVj
dENHLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
Zy9JbnRSZWN0Q0cuY3BwCShyZXZpc2lvbiA4OTQyNCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NnL0ludFJlY3RDRy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2
LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAKLSNpZiBV
U0UoQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpIHx8IChQTEFURk9STShRVCkgJiYgVVNF
KFFUS0lUKSkKKyNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkgfHwgKFBM
QVRGT1JNKFFUKSAmJiBVU0UoUVRLSVQpKQogCiAjaW5jbHVkZSA8QXBwbGljYXRpb25TZXJ2aWNl
cy9BcHBsaWNhdGlvblNlcnZpY2VzLmg+CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NnL0ludFNpemVDRy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50U2l6ZUNHLmNwcAkocmV2aXNpb24gODk0MjQpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbnRTaXplQ0cuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
SW50U2l6ZS5oIgogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lm
IFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogCiAjaW5jbHVkZSA8QXBwbGlj
YXRpb25TZXJ2aWNlcy9BcHBsaWNhdGlvblNlcnZpY2VzLmg+CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YS5jcHAJKHJldmlzaW9uIDg5NDI0KQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNywxNCArMjcsMTQgQEAKICNpbmNsdWRlICJXT0ZGRmlsZUZvcm1hdC5oIgogI2lu
Y2x1ZGUgPEFwcGxpY2F0aW9uU2VydmljZXMvQXBwbGljYXRpb25TZXJ2aWNlcy5oPgogCi0jaWYg
VVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiAj
aW5jbHVkZSAiU2tTdHJlYW0uaCIKICNpbmNsdWRlICJTa1R5cGVmYWNlLmgiCiAjZW5kaWYKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi0jaWYgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBV
U0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiBjbGFzcyBSZW1vdGVGb250U3RyZWFtIDogcHVibGlj
IFNrU3RyZWFtIHsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBSZW1vdGVGb250U3RyZWFtKFBhc3NS
ZWZQdHI8U2hhcmVkQnVmZmVyPiBidWZmZXIpCkBAIC04Miw3ICs4Miw3IEBAIEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGE6On5Gb250Q3VzdG9tUGxhdGYKICAgICBpZiAobV9hdHNDb250YWluZXIpCiAg
ICAgICAgIEFUU0ZvbnREZWFjdGl2YXRlKG1fYXRzQ29udGFpbmVyLCBOVUxMLCBrQVRTT3B0aW9u
RmxhZ3NEZWZhdWx0KTsKICNlbmRpZgotI2lmIFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYg
VVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogICAgIFNrU2FmZVVucmVmKG1fdHlwZWZhY2UpOwog
I2VuZGlmCiAgICAgQ0dGb250UmVsZWFzZShtX2NnRm9udCk7CkBAIC0xNjAsNyArMTYwLDcgQEAg
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSogY3JlYXRlRm9udEN1c3RvbQogI2VuZGlmIC8vICFkZWZp
bmVkKEJVSUxESU5HX09OX0xFT1BBUkQpCiAKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKiBm
b250Q3VzdG9tUGxhdGZvcm1EYXRhID0gbmV3IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoY29udGFp
bmVyUmVmLCBjZ0ZvbnRSZWYucmVsZWFzZVJlZigpKTsKLSNpZiBVU0UoU0tJQV9PTl9NQUNfQ0hS
T01FKQorI2lmIFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkKICAgICBSZW1vdGVGb250U3RyZWFt
KiBzdHJlYW0gPSBuZXcgUmVtb3RlRm9udFN0cmVhbShidWZmZXIpOwogICAgIGZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEtPm1fdHlwZWZhY2UgPSBTa1R5cGVmYWNlOjpDcmVhdGVGcm9tU3RyZWFtKHN0
cmVhbSk7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21h
Yy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAkocmV2aXNpb24g
ODk0MjQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw3IEBAIHR5cGVkZWYg
c3RydWN0IENHRm9udCogQ0dGb250UmVmOwogdHlwZWRlZiBVSW50MzIgQVRTRm9udENvbnRhaW5l
clJlZjsKIHR5cGVkZWYgVUludDMyIEFUU0ZvbnRSZWY7CiAKLSNpZiBVU0UoU0tJQV9PTl9NQUNf
Q0hST01FKQorI2lmIFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkKIHN0cnVjdCBTa1R5cGVmYWNl
OwogI2VuZGlmCiAKQEAgLTQ4LDcgKzQ4LDcgQEAgcHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0
Zm9ybURhdGEoQVRTRm9udENvbnRhaW5lclJlZiBjb250YWluZXIsIENHRm9udFJlZiBjZ0ZvbnQp
CiAgICAgICAgIDogbV9hdHNDb250YWluZXIoY29udGFpbmVyKQogICAgICAgICAsIG1fY2dGb250
KGNnRm9udCkKLSNpZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShTS0lBX09OX01B
Q19DSFJPTUlVTSkKICAgICAgICAgLCBtX3R5cGVmYWNlKDApCiAjZW5kaWYKICAgICB7CkBAIC02
Miw3ICs2Miw3IEBAIHB1YmxpYzoKIAogICAgIEFUU0ZvbnRDb250YWluZXJSZWYgbV9hdHNDb250
YWluZXI7CiAgICAgQ0dGb250UmVmIG1fY2dGb250OwotI2lmIFVTRShTS0lBX09OX01BQ19DSFJP
TUUpCisjaWYgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogICAgIFNrVHlwZWZhY2UqIG1fdHlw
ZWZhY2U7CiAjZW5kaWYKIH07CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNp
b24gODk0MzApCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDExLTA2LTIyICBDYXJ5IENsYXJrICA8Y2FyeWNsYXJr
QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVXNlIFNraWEgaWYgU2tpYSBvbiBNYWMgQ2hyb21lIGlzIGVuYWJsZWQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyOTk5CisKKyAgICAgICAg
KiBXZWJLaXQuZ3lwOgorICAgICAgICBJZiBidWlsZGluZyBmb3IgU2tpYSwgZXhjbHVkZSBDRyBm
aWxlcy4KKyAgICAgICAgSWYgbm90LCBleGNsdWRlIFNraWEgZmlsZXMuCisKKyAgICAgICAgKiBm
ZWF0dXJlcy5neXBpOgorICAgICAgICBFbmFibGUgU2tpYSBvbiBDaHJvbWl1bSBNYWMgaWYgc28g
aW5zdHJ1Y3RlZCBieSB0aGUgZ3lwIGRlZmluZS4KKyAgICAgICAgQWxsb3cgU2tpYSB0byBiZSBo
YXJkd2FyZSBhY2NlbGVyYXRlZCBvbiB0aGUgTWFjLgorCisgICAgICAgICogcHVibGljL1dlYkNv
bW1vbi5oOgorICAgICAgICBJZiBTa2lhIGlzIGRlZmluZWQgb24gdGhlIE1hYywgZGVmaW5lIGl0
IGluIHRoZSBXZWJYWFgKKyAgICAgICAgaW50ZXJmYWNlcyBhcyB3ZWxsLgorCiAyMDExLTA2LTIw
ICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgS2VudCBUYW11cmEuCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktp
dC5neXAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCShy
ZXZpc2lvbiA4OTQyNCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAkod29y
a2luZyBjb3B5KQpAQCAtNjg0LDkgKzY4NCwxNyBAQAogICAgICAgICAgICAgICAgICAgICAnaW5j
bHVkZV9kaXJzJzogWwogICAgICAgICAgICAgICAgICAgICAgICAgJ3B1YmxpYy9tYWMnLAogICAg
ICAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICAgICAnc291cmNlcy8nOiBbCi0g
ICAgICAgICAgICAgICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAnU2tpYVxcLmNwcCQnXSwKLSAgICAg
ICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAgICAgJ2NvbmRpdGlvbnMnOiBbCisg
ICAgICAgICAgICAgICAgICAgICAgWyd1c2Vfc2tpYT09MCcsIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICdzb3VyY2VzLyc6IFsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgWydleGNsdWRl
JywgJ1NraWFcXC5jcHAkJ10sCisgICAgICAgICAgICAgICAgICAgICAgICBdLAorICAgICAgICAg
ICAgICAgICAgICAgIH0seyAjIHVzZV9za2lhCisgICAgICAgICAgICAgICAgICAgICAgJ3NvdXJj
ZXMvJzogWworICAgICAgICAgICAgICAgICAgICAgICAgWydleGNsdWRlJywgJ0NHXFwuY3BwJCdd
LAorICAgICAgICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgICAgIH1dLAorICAg
ICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICB9LCB7ICMgZWxzZTogT1MhPSJtYWMi
CiAgICAgICAgICAgICAgICAgICAgICdzb3VyY2VzLyc6IFsKICAgICAgICAgICAgICAgICAgICAg
ICAgIFsnZXhjbHVkZScsICcvbWFjLyddLApJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9m
ZWF0dXJlcy5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVy
ZXMuZ3lwaQkocmV2aXNpb24gODk0MjQpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1
cmVzLmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTEwNiw2ICsxMDYsNyBAQAogICAgICAgJ2VuYWJs
ZV9zdmclJzogMSwKICAgICAgICdlbmFibGVfdG91Y2hfZXZlbnRzJSc6IDEsCiAgICAgICAndXNl
X3NraWFfZ3B1JSc6IDAsCisgICAgICAndXNlX3NraWElJzogMCwKICAgICAgICdlbmFibGVfdG91
Y2hfaWNvbl9sb2FkaW5nJScgOiAwLAogICAgICAgJ2VuYWJsZV9zbW9vdGhfc2Nyb2xsaW5nJSc6
IDAsCiAgICAgICAnZW5hYmxlX2NzczNfZmxleGJveCUnOiAwLApAQCAtMTIyLDcgKzEyMyw3IEBA
CiAgICAgICAgICAgJ0VOQUJMRV8zRF9SRU5ERVJJTkc9MScsCiAgICAgICAgIF0sCiAgICAgICB9
XSwKLSAgICAgIFsndXNlX2FjY2VsZXJhdGVkX2NvbXBvc2l0aW5nPT0xIGFuZCBPUyE9Im1hYyIn
LCB7CisgICAgICBbJ3VzZV9hY2NlbGVyYXRlZF9jb21wb3NpdGluZz09MSBhbmQgKE9TIT0ibWFj
IiBvciB1c2Vfc2tpYT09MSknLCB7CiAgICAgICAgICdmZWF0dXJlX2RlZmluZXMnOiBbCiAgICAg
ICAgICAgJ0VOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVM9MScsCiAgICAgICAgIF0sCkBAIC0x
NDgsMTIgKzE0OSwxOCBAQAogICAgICAgICAnZmVhdHVyZV9kZWZpbmVzJzogWwogICAgICAgICAg
ICdXVEZfVVNFX1dFQkFVRElPX0ZGTVBFRz0xJywKICAgICAgICAgXSwKKyAgICAgICAgJ3VzZV9z
a2lhJSc6IDEsCiAgICAgICB9XSwKICAgICAgIFsnZW5hYmxlX3JlZ2lzdGVyX3Byb3RvY29sX2hh
bmRsZXI9PTEnLCB7CiAgICAgICAgICdmZWF0dXJlX2RlZmluZXMnOiBbCiAgICAgICAgICAgJ0VO
QUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSPTEnLAogICAgICAgICBdLAogICAgICAgfV0s
CisgICAgICBbJ09TPT0ibWFjIicsIHsKKyAgICAgICAgJ2ZlYXR1cmVfZGVmaW5lcyc6IFsKKyAg
ICAgICAgICAnV1RGX1VTRV9TS0lBX09OX01BQ19DSFJPTUlVTT08KHVzZV9za2lhKScsCisgICAg
ICAgIF0sCisgICAgICB9XSwKICAgICAgIFsnZW5hYmxlX3Ntb290aF9zY3JvbGxpbmc9PTEnLCB7
CiAgICAgICAgICdmZWF0dXJlX2RlZmluZXMnOiBbCiAgICAgICAgICAgJ0VOQUJMRV9TTU9PVEhf
U0NST0xMSU5HPTEnLApJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQ29t
bW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQ29t
bW9uLmgJKHJldmlzaW9uIDg5NDI0KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViQ29tbW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAKICNlbmRpZgogCiAj
aWYgIWRlZmluZWQoV0VCS0lUX1VTSU5HX1NLSUEpCi0gICAgI2lmICFkZWZpbmVkKF9fQVBQTEVf
XykKKyAgICAjaWYgIWRlZmluZWQoX19BUFBMRV9fKSB8fCBkZWZpbmVkKFVTRV9TS0lBKQogICAg
ICAgICAjZGVmaW5lIFdFQktJVF9VU0lOR19TS0lBIDEKICAgICAjZWxzZQogICAgICAgICAjZGVm
aW5lIFdFQktJVF9VU0lOR19TS0lBIDAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98207</attachid>
            <date>2011-06-22 11:32:27 -0700</date>
            <delta_ts>2011-06-27 10:19:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62999-20110622143225.patch</filename>
            <type>text/plain</type>
            <size>30939</size>
            <attacher name="Cary Clark">caryclark</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODk0MzApCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTEtMDYtMjIgIENhcnkgQ2xhcmsgIDxjYXJ5Y2xhcmtAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgU2tpYSBpZiBTa2lh
IG9uIE1hYyBDaHJvbWUgaXMgZW5hYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjI5OTkKKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgorICAg
ICAgICBBZGQgc3dpdGNoIHRvIHVzZSBTa2lhIGlmLCBleHRlcm5hbGx5LAorICAgICAgICBTa2lh
IGhhcyBiZWVuIGVuYWJsZWQgYnkgYSBneXAgZGVmaW5lLgorCiAyMDExLTA2LTIxICBNT1JJVEEg
SGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxp
bmcgb3V0IHI4OTQwMSBhbmQgcjg5NDAzLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9QbGF0Zm9ybS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxh
dGZvcm0uaAkocmV2aXNpb24gODk0MjQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1Bs
YXRmb3JtLmgJKHdvcmtpbmcgY29weSkKQEAgLTU0MywxMCArNTQzLDE0IEBACiAjZGVmaW5lIFdU
Rl9VU0VfQ0EgMQogI2VuZGlmCiAKLS8qIFVTRShTS0lBKSBmb3IgV2luL0xpbnV4LCBDRyBmb3Ig
TWFjICovCisvKiBVU0UoU0tJQSkgZm9yIFdpbi9MaW51eCwgQ0cgZm9yIE1hYywgdW5sZXNzIGVu
YWJsZWQgKi8KICNpZiBQTEFURk9STShDSFJPTUlVTSkKICNpZiBPUyhEQVJXSU4pCisjaWYgVVNF
KFNLSUFfT05fTUFDX0NIUk9NSVVNKQorI2RlZmluZSBXVEZfVVNFX1NLSUEgMQorI2Vsc2UKICNk
ZWZpbmUgV1RGX1VTRV9DRyAxCisjZW5kaWYKICNkZWZpbmUgV1RGX1VTRV9BVFNVSSAxCiAjZGVm
aW5lIFdURl9VU0VfQ09SRV9URVhUIDEKICNkZWZpbmUgV1RGX1VTRV9JQ0NKUEVHIDEKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cJKHJldmlzaW9uIDg5NDMwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDggQEAKKzIwMTEtMDYtMjIgIENhcnkgQ2xhcmsgIDxj
YXJ5Y2xhcmtAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBVc2UgU2tpYSBpZiBTa2lhIG9uIE1hYyBDaHJvbWUgaXMgZW5hYmxlZAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI5OTkKKwor
ICAgICAgICBObyBuZXcgdGVzdHMuIFRoaXMgZG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nCisgICAg
ICAgIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoK
KyAgICAgICAgSW5jbHVkZSBTa2lhIGFuZCByZWxhdGVkIGZpbGVzIGFuZCBleGNsdWRlIENHCisg
ICAgICAgIGFuZCByZWxhdGVkIGZpbGVzIHdoZW4gYnVpbGRpbmcgQ2hyb21pdW0gZm9yIFNraWEK
KyAgICAgICAgb24gdGhlIE1hYy4KKworICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRGb250
LmNwcDoKKyAgICAgICAgUmVuYW1lIENIUk9NRSB0byBDSFJPTUlVTS4KKworICAgICAgICAqIHBs
YXRmb3JtL2Nocm9taXVtL0RyYWdJbWFnZVJlZi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL0Zsb2F0UG9pbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3Qu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpG
b250UGxhdGZvcm1EYXRhOjpoYXNoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HbHlw
aEJ1ZmZlci5oOgorICAgICAgICAoV2ViQ29yZTo6R2x5cGhCdWZmZXI6OmFkdmFuY2VBdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpHbHlwaEJ1ZmZlcjo6YWRkKToKKyAgICAgICAgKFdlYkNvcmU6Okds
eXBoQnVmZmVyOjpleHBhbmRMYXN0QWR2YW5jZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvSW50UG9pbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0Lmg6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvRmxvYXRQb2ludENHLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9GbG9h
dFJlY3RDRy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRTaXplQ0cu
Y3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0ludFBvaW50Q0cuY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0ludFJlY3RDRy5jcHA6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvSW50U2l6ZUNHLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
b250Q3VzdG9tUGxhdGZvcm1EYXRhOjp+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSk6CisgICAgICAg
IChXZWJDb3JlOjpjcmVhdGVGb250Q3VzdG9tUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSk6Cisg
ICAgICAgIERpdHRvLgorCiAyMDExLTA2LTIwICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtvdkBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAkocmV2aXNpb24gODk0MjQpCisrKyBT
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAkod29ya2luZyBjb3B5KQpAQCAt
MjYwLDcgKzI2MCw3IEBACiAgICAgICAgICAgJzxAKHdlYmNvcmVfc3ZnX2JpbmRpbmdzX2lkbF9m
aWxlcyknLAogICAgICAgICBdLAogICAgICAgfV0sCi0gICAgICBbJ09TPT0ibWFjIicsIHsKKyAg
ICAgIFsnT1M9PSJtYWMiIGFuZCB1c2Vfc2tpYT09MCcsIHsKICAgICAgICAgJ3dlYmNvcmVfaW5j
bHVkZV9kaXJzKyc6IFsKICAgICAgICAgICAjIHBsYXRmb3JtL2dyYXBoaWNzL2NnIGFuZCBjb2Nv
YSBuZWVkIHRvIGNvbWUgYmVmb3JlCiAgICAgICAgICAgIyBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bSBzbyB0aGF0IHRoZSBNYWMgYnVpbGQgcGlja3MgdXAgdGhlCkBAIC0yNzEsNiArMjcxLDgg
QEAKICAgICAgICAgICAnLi4vcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EnLAogICAgICAgICAgICcu
Li9wbGF0Zm9ybS9ncmFwaGljcy9jZycsCiAgICAgICAgIF0sCisgICAgICB9XSwKKyAgICAgIFsn
T1M9PSJtYWMiJywgewogICAgICAgICAnd2ViY29yZV9pbmNsdWRlX2RpcnMnOiBbCiAgICAgICAg
ICAgIyBGSVhNRTogRWxpbWluYXRlIGRlcGVuZGVuY3kgb24gcGxhdGZvcm0vbWFjIGFuZCByZWxh
dGVkCiAgICAgICAgICAgIyBkaXJlY3Rvcmllcy4KQEAgLTI4NCw2ICsyODYsMTIgQEAKICAgICAg
ICAgICAnLi4vcGxhdGZvcm0vdGV4dC9tYWMnLAogICAgICAgICBdLAogICAgICAgfV0sCisgICAg
ICBbJ09TPT0ibWFjIiBhbmQgdXNlX3NraWE9PTEnLCB7CisgICAgICAgICd3ZWJjb3JlX2luY2x1
ZGVfZGlycyc6IFsKKyAgICAgICAgICAgICAgJy4uL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hJywK
KyAgICAgICAgICAgICAgJy4uL3BsYXRmb3JtL2dyYXBoaWNzL2NnJywKKyAgICAgICAgXSwKKyAg
ICAgIH1dLAogICAgICAgWydPUz09IndpbiInLCB7CiAgICAgICAgICd3ZWJjb3JlX2luY2x1ZGVf
ZGlycyc6IFsKICAgICAgICAgICAnLi4vcGFnZS93aW4nLApAQCAtMTMzMSw3ICsxMzM5LDE1IEBA
CiAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9oYXJmYnV6ei9o
YXJmYnV6ei5neXA6aGFyZmJ1enonLAogICAgICAgICAgIF0sCiAgICAgICAgIH1dLAotICAgICAg
ICBbJ09TPT0ibWFjIicsIHsKKyAgICAgICAgWydPUz09Im1hYyIgYW5kIHVzZV9za2lhPT0wJywg
eworICAgICAgICAgICdzb3VyY2VzLyc6IFsKKyAgICAgICAgICAgICMgVGhlIE1hYyBidWlsZCBp
cyBQTEFURk9STV9DRyB0b28uICBwbGF0Zm9ybS9ncmFwaGljcy9jZyBpcyB0aGUKKyAgICAgICAg
ICAgICMgb25seSBwbGFjZSB0aGF0IENHIGZpbGVzIHdlIHdhbnQgdG8gYnVpbGQgYXJlIGxvY2F0
ZWQsIGFuZCBub3QKKyAgICAgICAgICAgICMgYWxsIG9mIHRoZW0gZXZlbiBoYXZlIGEgQ0cgc3Vm
Zml4LCBzbyBqdXN0IGFkZCB0aGVtIGJ5IGEKKyAgICAgICAgICAgICMgcmVnZXhwIG1hdGNoaW5n
IHRoZWlyIGRpcmVjdG9yeS4KKyAgICAgICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9ybS9ncmFw
aGljcy9jZy9bXi9dKig/PCFXaW4pP1xcLihjcHB8bW0/KSQnXSwKKyAgICAgICAgICBdLAorICAg
ICAgICB9XSxbJ09TPT0ibWFjIicsIHsKICAgICAgICAgICAjIE5lY2Vzc2FyeSBmb3IgTWFjIC5t
bSBzdHVmZi4KICAgICAgICAgICAnaW5jbHVkZV9kaXJzJzogWwogICAgICAgICAgICAgJy4uLy4u
Ly4uL1dlYktpdExpYnJhcmllcycsCkBAIC0xMzYxLDEyICsxMzc3LDYgQEAKICAgICAgICAgICAg
IFsnaW5jbHVkZScsICdDRlxcLmNwcCQnXSwKICAgICAgICAgICAgIFsnZXhjbHVkZScsICduZXR3
b3JrL2NmLyddLAogCi0gICAgICAgICAgICAjIFRoZSBNYWMgYnVpbGQgaXMgUExBVEZPUk1fQ0cg
dG9vLiAgcGxhdGZvcm0vZ3JhcGhpY3MvY2cgaXMgdGhlCi0gICAgICAgICAgICAjIG9ubHkgcGxh
Y2UgdGhhdCBDRyBmaWxlcyB3ZSB3YW50IHRvIGJ1aWxkIGFyZSBsb2NhdGVkLCBhbmQgbm90Ci0g
ICAgICAgICAgICAjIGFsbCBvZiB0aGVtIGV2ZW4gaGF2ZSBhIENHIHN1ZmZpeCwgc28ganVzdCBh
ZGQgdGhlbSBieSBhCi0gICAgICAgICAgICAjIHJlZ2V4cCBtYXRjaGluZyB0aGVpciBkaXJlY3Rv
cnkuCi0gICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3MvY2cvW14vXSoo
PzwhV2luKT9cXC4oY3BwfG1tPykkJ10sCi0KICAgICAgICAgICAgICMgVXNlIG5hdGl2ZSBNYWMg
Zm9udCBjb2RlIGZyb20gV2ViQ29yZS4KICAgICAgICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9y
bS8oZ3JhcGhpY3MvKT9tYWMvW14vXSpGb250W14vXSpcXC4oY3BwfG1tPykkJ10sCiAgICAgICAg
ICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0W14vXSpc
XC4oY3BwfGgpJCddLApAQCAtMTM4Myw3ICsxMzkzLDYgQEAKICAgICAgICAgICAgIFsnaW5jbHVk
ZScsICdwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRmxvYXRSZWN0TWFjXFwubW0kJ10sCiAgICAgICAg
ICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0Zsb2F0U2l6ZU1hY1xcLm1t
JCddLAogICAgICAgICAgICAgWydpbmNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HbHlw
aFBhZ2VUcmVlTm9kZU1hY1xcLmNwcCQnXSwKLSAgICAgICAgICAgIFsnaW5jbHVkZScsICdwbGF0
Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0TWFjXFwubW0kJ10sCiAgICAgICAgICAg
ICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ludFBvaW50TWFjXFwubW0kJ10s
CiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ludFJlY3RN
YWNcXC5tbSQnXSwKICAgICAgICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9ybS9tYWMvQmxvY2tF
eGNlcHRpb25zXFwubW0kJ10sCkBAIC0xMzk5LDkgKzE0MDgsNiBAQAogCiAgICAgICAgICAgICBb
J2luY2x1ZGUnLCAnV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2Vc
XC5tbSQnXSwKIAotICAgICAgICAgICAgIyBDaHJvbWl1bSBNYWMgZG9lcyBub3QgdXNlIHNraWEu
Ci0gICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9bXi9dKlNr
aWFcXC4oY3BwfGgpJCddLAotCiAgICAgICAgICAgICAjIFRoZSBNYWMgdXNlcyBwbGF0Zm9ybS9t
YWMvS2lsbFJpbmdNYWMubW0gaW5zdGVhZCBvZiB0aGUgZHVtbXkKICAgICAgICAgICAgICMgaW1w
bGVtZW50YXRpb24uCiAgICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0vS2lsbFJpbmdO
b25lXFwuY3BwJCddLApAQCAtMTQxNCwxNSArMTQyMCwzNCBAQAogICAgICAgICAgICAgIyByZWxh
dGVkIHRvIFNjcm9sbGJhclRoZW1lQ2hyb21pdW0uY3BwLgogICAgICAgICAgICAgWydleGNsdWRl
JywgJ3BsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1cXC5jcHAkJ10sCiAK
LSAgICAgICAgICAgICMgVGhlIE1hYyBjdXJyZW50bHkgdXNlcyBJbWFnZUNocm9taXVtTWFjLm1t
IGZyb20KLSAgICAgICAgICAgICMgcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0sIGluY2x1ZGVk
IGJ5IHJlZ2V4IGFib3ZlLCBpbnN0ZWFkLgotICAgICAgICAgICAgWydleGNsdWRlJywgJ3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0ltYWdlQ2hyb21pdW1cXC5jcHAkJ10sCi0KICAgICAgICAg
ICAgICMgVGhlIE1hYyBkb2VzIG5vdCB1c2UgSW1hZ2VTb3VyY2VDRy5jcHAgZnJvbSBwbGF0Zm9y
bS9ncmFwaGljcy9jZwogICAgICAgICAgICAgIyBldmVuIHRob3VnaCBpdCBpcyBpbmNsdWRlZCBi
eSByZWdleCBhYm92ZS4KICAgICAgICAgICAgIFsnZXhjbHVkZScsICdwbGF0Zm9ybS9ncmFwaGlj
cy9jZy9JbWFnZVNvdXJjZUNHXFwuY3BwJCddLAogICAgICAgICAgICAgWydleGNsdWRlJywgJ3Bs
YXRmb3JtL2dyYXBoaWNzL2NnL1BERkRvY3VtZW50SW1hZ2VcXC5jcHAkJ10sCiAKKyAgICAgICAg
ICAgIFsnaW5jbHVkZScsICcvY2hyb21lL2p1bmtcXC50eHQkJ10sCisgICAgICAgICAgXSwKKyAg
ICAgICAgfSx7ICMgT1MhPSJtYWMiCisgICAgICAgICAgJ3NvdXJjZXMvJzogWworICAgICAgICAg
ICAgIyBGSVhNRTogV2Ugd2lsbCBldmVudHVhbGx5IGNvbXBpbGUgdGhpcyB0b28sIGJ1dCBmb3Ig
bm93IGl0J3MKKyAgICAgICAgICAgICMgb25seSB1c2VkIG9uIG1hYy4KKyAgICAgICAgICAgIFsn
ZXhjbHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhXFwuY3BwJCddLAor
ICAgICAgICAgIF0sCisgICAgICAgIH1dLAorICAgICAgICBbJ09TPT0ibWFjIiBhbmQgdXNlX3Nr
aWE9PTAnLCB7CisgICAgICAgICAgJ3NvdXJjZXMvJzogWworICAgICAgICAgICAgIyBDaGVycnkt
cGljayBzb21lIGZpbGVzIHRoYXQgY2FuJ3QgYmUgaW5jbHVkZWQgYnkgYnJvYWRlciByZWdleHBz
LgorICAgICAgICAgICAgIyBTb21lIG9mIHRoZXNlIGFyZSB1c2VkIGluc3RlYWQgb2YgQ2hyb21p
dW0gcGxhdGZvcm0gZmlsZXMsIHNlZQorICAgICAgICAgICAgIyB0aGUgc3BlY2lmaWMgZXhjbHVz
aW9ucyBpbiB0aGUgInNvdXJjZXMhIiBsaXN0IGJlbG93LgorICAgICAgICAgICAgWydpbmNsdWRl
JywgJ3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHRNYWNcXC5tbSQnXSwKKwor
ICAgICAgICAgICAgIyBDaHJvbWl1bSBNYWMgZG9lcyBub3QgdXNlIHNraWEuCisgICAgICAgICAg
ICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9bXi9dKlNraWFcXC4oY3BwfGgp
JCddLAorCisgICAgICAgICAgICAjIFRoZSBNYWMgY3VycmVudGx5IHVzZXMgSW1hZ2VDaHJvbWl1
bU1hYy5tbSBmcm9tCisgICAgICAgICAgICAjIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtLCBp
bmNsdWRlZCBieSByZWdleCBhYm92ZSwgaW5zdGVhZC4KKyAgICAgICAgICAgIFsnZXhjbHVkZScs
ICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9JbWFnZUNocm9taXVtXFwuY3BwJCddLAorCiAg
ICAgICAgICAgICAjIEltYWdlRGVjb2RlclNraWEgaXMgbm90IHVzZWQgb24gbWFjLiAgSW1hZ2VE
ZWNvZGVyQ0cgaXMgdXNlZCBpbnN0ZWFkLgogICAgICAgICAgICAgWydleGNsdWRlJywgJ3BsYXRm
b3JtL2ltYWdlLWRlY29kZXJzL3NraWEvSW1hZ2VEZWNvZGVyU2tpYVxcLmNwcCQnXSwKICAgICAg
ICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9jZy9JbWFnZURlY29k
ZXJDR1xcLmNwcCQnXSwKQEAgLTE0MzAsMjYgKzE0NTUsMzkgQEAKICAgICAgICAgICAgICMgQWdh
aW4sIFNraWEgaXMgbm90IHVzZWQgb24gTWFjLgogICAgICAgICAgICAgWydleGNsdWRlJywgJ3Bs
YXRmb3JtL2Nocm9taXVtL0RyYWdJbWFnZUNocm9taXVtU2tpYVxcLmNwcCQnXSwKICAgICAgICAg
ICBdLAotICAgICAgICB9LHsgIyBPUyE9Im1hYyIKKyAgICAgICAgfV0sCisgICAgICAgIFsnT1M9
PSJtYWMiIGFuZCB1c2Vfc2tpYT09MScsIHsKICAgICAgICAgICAnc291cmNlcy8nOiBbCi0gICAg
ICAgICAgICAjIEZJWE1FOiBXZSB3aWxsIGV2ZW50dWFsbHkgY29tcGlsZSB0aGlzIHRvbywgYnV0
IGZvciBub3cgaXQncwotICAgICAgICAgICAgIyBvbmx5IHVzZWQgb24gbWFjLgotICAgICAgICAg
ICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGFcXC5jcHAk
J10sCi0KLSAgICAgICAgICAgICMgTGludXggdXNlcyBGb250TGludXg7IFdpbmRvd3MgdXNlcyBG
b250V2luLiBBZGRpdGlvbmFsbHksIEZvbnRTa2lhCi0gICAgICAgICAgICAjIGlzIGV4Y2x1ZGVk
IGJ5IGEgcnVsZSBhYm92ZSBpZiBXZWJLaXQgdXNlcyBDRyBpbnN0ZWFkIG9mIFNraWEuCi0gICAg
ICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250U2tpYVxcLmNw
cCQnXSwKKyAgICAgICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9jZy9GbG9h
dFBvaW50Q0dcXC5jcHAkJ10sCisgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvRmxvYXRSZWN0Q0dcXC5jcHAkJ10sCisgICAgICAgICAgICBbJ2luY2x1ZGUnLCAn
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRTaXplQ0dcXC5jcHAkJ10sCisgICAgICAgICAgICBb
J2luY2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50UG9pbnRDR1xcLmNwcCQnXSwKKyAg
ICAgICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9jZy9JbnRSZWN0Q0dcXC5j
cHAkJ10sCisgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50
U2l6ZUNHXFwuY3BwJCddLAorICAgICAgICAgICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2dyYXBo
aWNzL21hYy9Gb250TWFjXFwubW0kJ10sCisgICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZv
cm0vZ3JhcGhpY3Mvc2tpYS9HbHlwaFBhZ2VUcmVlTm9kZVNraWFcXC5jcHAkJ10sCisgICAgICAg
ICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0vY2hyb21pdW0vRHJhZ0ltYWdlQ2hyb21pdW1NYWNc
XC5jcHAkJ10sCiAgICAgICAgICAgXSwKICAgICAgICAgfV0sCiAgICAgICAgIFsndG9vbGtpdF91
c2VzX2d0ayA9PSAwJywgewogICAgICAgICAgICdzb3VyY2VzLyc6IFsKICAgICAgICAgICAgIFsn
ZXhjbHVkZScsICcoR3RrfExpbnV4KVxcLmNwcCQnXSwKICAgICAgICAgICAgIFsnZXhjbHVkZScs
ICdIYXJmYnV6elteL10rXFwuKGNwcHxoKSQnXSwKKyAgICAgICAgICBdLAorICAgICAgICB9XSwK
KyAgICAgICAgWyd0b29sa2l0X3VzZXNfZ3RrID09IDAgYW5kIHVzZV9za2lhPT0wJywgeworICAg
ICAgICAgICdzb3VyY2VzLyc6IFsKICAgICAgICAgICAgIFsnZXhjbHVkZScsICdWRE1YW14vXStc
XC4oY3BwfGgpJCddLAogICAgICAgICAgIF0sCiAgICAgICAgIH1dLAogICAgICAgICBbJ09TIT0i
bWFjIicsIHsKLSAgICAgICAgICAnc291cmNlcy8nOiBbWydleGNsdWRlJywgJ01hY1xcLihjcHB8
bW0/KSQnXV0KKyAgICAgICAgICAnc291cmNlcy8nOiBbCisgICAgICAgICAgICBbJ2V4Y2x1ZGUn
LCAnTWFjXFwuKGNwcHxtbT8pJCddLAorCisgICAgICAgICAgICAjIExpbnV4IHVzZXMgRm9udExp
bnV4OyBXaW5kb3dzIHVzZXMgRm9udFdpbi4gQWRkaXRpb25hbGx5LCBGb250U2tpYQorICAgICAg
ICAgICAgIyBpcyBleGNsdWRlZCBieSBhIHJ1bGUgYWJvdmUgaWYgV2ViS2l0IHVzZXMgQ0cgaW5z
dGVhZCBvZiBTa2lhLgorICAgICAgICAgICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNz
L3NraWEvRm9udFNraWFcXC5jcHAkJ10sCisgICAgICAgICAgXSwKICAgICAgICAgfV0sCiAgICAg
ICAgIFsnT1MhPSJ3aW4iJywgewogICAgICAgICAgICdzb3VyY2VzLyc6IFsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5jcHAJKHJldmlzaW9uIDg5NDI0KQor
KysgU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yOCw3ICsyOCw3IEBACiAjaW5jbHVkZSAiQ2FjaGVkRm9udC5oIgogCiAvLyBGSVhN
RTogVGhpcyBzaG91bGQgcmVhbGx5IGJlIGEgYmxhY2tsaXN0IGluc3RlYWQgb2YgYSB3aGl0ZWxp
c3QKLSNpZiBVU0UoQ0cpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspIHx8IChQTEFU
Rk9STShDSFJPTUlVTSkgJiYgKCFPUyhEQVJXSU4pIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUp
KSkgfHwgUExBVEZPUk0oSEFJS1UpIHx8IE9TKFdJTkNFKSB8fCBQTEFURk9STShBTkRST0lEKSB8
fCBQTEFURk9STShCUkVXTVApCisjaWYgVVNFKENHKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZP
Uk0oR1RLKSB8fCAoUExBVEZPUk0oQ0hST01JVU0pICYmICghT1MoREFSV0lOKSB8fCBVU0UoU0tJ
QV9PTl9NQUNfQ0hST01JVU0pKSkgfHwgUExBVEZPUk0oSEFJS1UpIHx8IE9TKFdJTkNFKSB8fCBQ
TEFURk9STShBTkRST0lEKSB8fCBQTEFURk9STShCUkVXTVApCiAjZGVmaW5lIFNUT1JFX0ZPTlRf
Q1VTVE9NX1BMQVRGT1JNX0RBVEEKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9EcmFnSW1hZ2VSZWYuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jaHJvbWl1bS9EcmFnSW1hZ2VSZWYuaAkocmV2aXNpb24gODk0MjQpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9EcmFnSW1hZ2VSZWYuaAkod29ya2luZyBj
b3B5KQpAQCAtMjksNyArMjksNyBAQAogI2lmbmRlZiBEcmFnSW1hZ2VSZWZfaAogI2RlZmluZSBE
cmFnSW1hZ2VSZWZfaAogCi0jaWYgT1MoREFSV0lOKSAmJiAhVVNFKFNLSUFfT05fTUFDX0NIUk9N
RSkKKyNpZiBVU0UoQ0cpCiB0eXBlZGVmIHN0cnVjdCBDR0ltYWdlKiBDR0ltYWdlUmVmOwogI2Vs
c2UKIGNsYXNzIFNrQml0bWFwOwpAQCAtMzcsNyArMzcsNyBAQCBjbGFzcyBTa0JpdG1hcDsKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi0jaWYgT1MoREFSV0lOKSAmJiAhVVNFKFNLSUFfT05fTUFD
X0NIUk9NRSkKKyNpZiBVU0UoQ0cpCiB0eXBlZGVmIENHSW1hZ2VSZWYgRHJhZ0ltYWdlUmVmOwog
I2Vsc2UKIHR5cGVkZWYgU2tCaXRtYXAqIERyYWdJbWFnZVJlZjsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmgJKHJldmlzaW9uIDg5NDI0KQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRl
IDx3dGYvTWF0aEV4dHJhcy5oPgogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hS
T01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogdHlwZWRlZiBz
dHJ1Y3QgQ0dQb2ludCBDR1BvaW50OwogI2VuZGlmCiAKQEAgLTEyNSw3ICsxMjUsNyBAQCBwdWJs
aWM6CiAgICAgICAgIHJldHVybiBGbG9hdFBvaW50KHN0ZDo6bWF4KG1feCwgb3RoZXIubV94KSwg
c3RkOjptYXgobV95LCBvdGhlci5tX3kpKTsKICAgICB9ICAgCiAKLSNpZiBVU0UoQ0cpIHx8IFVT
RShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hS
T01JVU0pCiAgICAgRmxvYXRQb2ludChjb25zdCBDR1BvaW50Jik7CiAgICAgb3BlcmF0b3IgQ0dQ
b2ludCgpIGNvbnN0OwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9GbG9hdFJlY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9GbG9hdFJlY3QuaAkocmV2aXNpb24gODk0MjQpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjks
NyBAQAogCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJ
QV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVN
KQogdHlwZWRlZiBzdHJ1Y3QgQ0dSZWN0IENHUmVjdDsKICNlbmRpZgogCkBAIC0xMzksNyArMTM5
LDcgQEAgcHVibGljOgogICAgIHZvaWQgZml0VG9Qb2ludHMoY29uc3QgRmxvYXRQb2ludCYgcDAs
IGNvbnN0IEZsb2F0UG9pbnQmIHAxLCBjb25zdCBGbG9hdFBvaW50JiBwMik7CiAgICAgdm9pZCBm
aXRUb1BvaW50cyhjb25zdCBGbG9hdFBvaW50JiBwMCwgY29uc3QgRmxvYXRQb2ludCYgcDEsIGNv
bnN0IEZsb2F0UG9pbnQmIHAyLCBjb25zdCBGbG9hdFBvaW50JiBwMyk7CiAKLSNpZiBVU0UoQ0cp
IHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9N
QUNfQ0hST01JVU0pCiAgICAgRmxvYXRSZWN0KGNvbnN0IENHUmVjdCYpOwogICAgIG9wZXJhdG9y
IENHUmVjdCgpIGNvbnN0OwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9GbG9hdFNpemUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9GbG9hdFNpemUuaAkocmV2aXNpb24gODk0MjQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyAr
MzEsNyBAQAogI2luY2x1ZGUgIkludFBvaW50LmgiCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMu
aD4KIAotI2lmIFVTRShDRykgfHwgKFBMQVRGT1JNKFdYKSAmJiBPUyhEQVJXSU4pKSB8fCBVU0Uo
U0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgKFBMQVRGT1JNKFdYKSAmJiBPUyhE
QVJXSU4pKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiB0eXBlZGVmIHN0cnVjdCBDR1Np
emUgQ0dTaXplOwogI2VuZGlmCiAKQEAgLTkxLDcgKzkxLDcgQEAgcHVibGljOgogICAgICAgICBy
ZXR1cm4gbV93aWR0aCAqIG1fd2lkdGggKyBtX2hlaWdodCAqIG1faGVpZ2h0OwogICAgIH0KIAot
I2lmIFVTRShDRykgfHwgKFBMQVRGT1JNKFdYKSAmJiBPUyhEQVJXSU4pKSB8fCBVU0UoU0tJQV9P
Tl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgKFBMQVRGT1JNKFdYKSAmJiBPUyhEQVJXSU4p
KSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiAgICAgZXhwbGljaXQgRmxvYXRTaXplKGNv
bnN0IENHU2l6ZSYpOyAvLyBkb24ndCBkbyB0aGlzIGltcGxpY2l0bHkgc2luY2UgaXQncyBsb3Nz
eQogICAgIG9wZXJhdG9yIENHU2l6ZSgpIGNvbnN0OwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCShyZXZp
c2lvbiA4OTQyNCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0
Zm9ybURhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtODIsNyArODIsNyBAQCB0eXBlZGVmIGNvbnN0
IHN0cnVjdCBfX0NURm9udCogQ1RGb250UmVmCiB0eXBlZGVmIHN0cnVjdCBIRk9OVF9fKiBIRk9O
VDsKICNlbmRpZgogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lm
IFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogdHlwZWRlZiBzdHJ1Y3QgQ0dG
b250KiBDR0ZvbnRSZWY7CiAjaWYgT1MoREFSV0lOKQogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgX19D
VEZvbnQqIENURm9udFJlZjsKQEAgLTE3Niw3ICsxNzYsNyBAQCBwdWJsaWM6CiAjaWYgT1MoREFS
V0lOKQogICAgIEZvbnRQbGF0Zm9ybURhdGEoTlNGb250KiwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50
aGV0aWNCb2xkID0gZmFsc2UsIGJvb2wgc3ludGhldGljT2JsaXF1ZSA9IGZhbHNlLCBGb250T3Jp
ZW50YXRpb24gPSBIb3Jpem9udGFsLAogICAgICAgICAgICAgICAgICAgICAgVGV4dE9yaWVudGF0
aW9uID0gVGV4dE9yaWVudGF0aW9uVmVydGljYWxSaWdodCwgRm9udFdpZHRoVmFyaWFudCA9IFJl
Z3VsYXJXaWR0aCk7Ci0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lm
IFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogICAgIEZvbnRQbGF0Zm9ybURh
dGEoQ0dGb250UmVmIGNnRm9udCwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29s
IHN5bnRoZXRpY09ibGlxdWUsIEZvbnRPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwKICAgICAgICAg
ICAgICAgICAgICAgIFRleHRPcmllbnRhdGlvbiB0ZXh0T3JpZW50YXRpb24sIEZvbnRXaWR0aFZh
cmlhbnQgd2lkdGhWYXJpYW50KQogICAgICAgICA6IG1fc3ludGhldGljQm9sZChzeW50aGV0aWNC
b2xkKQpAQCAtMjEyLDcgKzIxMiw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEZvbnQoTlNGb250
Kik7CiAjZW5kaWYKIAotI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNp
ZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkKICNpZiBPUyhEQVJXSU4pCiAg
ICAgQ0dGb250UmVmIGNnRm9udCgpIGNvbnN0IHsgcmV0dXJuIG1fY2dGb250LmdldCgpOyB9CiAg
ICAgQ1RGb250UmVmIGN0Rm9udCgpIGNvbnN0OwpAQCAtMjQ1LDcgKzI0NSw3IEBAIHB1YmxpYzoK
ICNpZiBQTEFURk9STShXSU4pICYmICFVU0UoQ0FJUk8pCiAgICAgICAgIHJldHVybiBtX2ZvbnQg
PyBtX2ZvbnQtPmhhc2goKSA6IDA7CiAjZWxpZiBPUyhEQVJXSU4pCi0jaWYgVVNFKENHKSB8fCBV
U0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NI
Uk9NSVVNKQogICAgICAgICBBU1NFUlQobV9mb250IHx8ICFtX2NnRm9udCk7CiAjZW5kaWYKICAg
ICAgICAgdWludHB0cl90IGhhc2hDb2Rlc1szXSA9IHsgKHVpbnRwdHJfdCltX2ZvbnQsIG1fd2lk
dGhWYXJpYW50LCBtX3RleHRPcmllbnRhdGlvbiA8PCAzIHwgbV9vcmllbnRhdGlvbiA8PCAyIHwg
bV9zeW50aGV0aWNCb2xkIDw8IDEgfCBtX3N5bnRoZXRpY09ibGlxdWUgfTsKQEAgLTMyMSw3ICsz
MjEsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxSZWZDb3VudGVkR0RJSGFuZGxlPEhGT05UPiA+
IG1fZm9udDsKICNlbmRpZgogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01F
KQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogI2lmIFBMQVRGT1JN
KFdJTikKICAgICBSZXRhaW5QdHI8Q0dGb250UmVmPiBtX2NnRm9udDsKICNlbHNlCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoQnVmZmVyLmgJKHJldmlz
aW9uIDg5NDI0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhCdWZm
ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzUsNyArMzUsNyBAQAogI2luY2x1ZGUgPHd0Zi9VbnVz
ZWRQYXJhbS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAotI2lmIFVTRShDRykgfHwgVVNF
KFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJP
TUlVTSkKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dHZW9tZXRyeS5oPgogI2VuZGlmCiAKQEAg
LTYyLDcgKzYyLDcgQEAgdHlwZWRlZiBHbHlwaCBHbHlwaEJ1ZmZlckdseXBoOwogCiAvLyBDRyB1
c2VzIENHU2l6ZSBpbnN0ZWFkIG9mIEZsb2F0U2l6ZSBzbyB0aGF0IHRoZSByZXN1bHQgb2YgYWR2
YW5jZXMoKQogLy8gY2FuIGJlIHBhc3NlZCBkaXJlY3RseSB0byBDR0NvbnRleHRTaG93R2x5cGhz
V2l0aEFkdmFuY2VzIGluIEZvbnRNYWMubW0KLSNpZiBVU0UoQ0cpIHx8IChQTEFURk9STShXWCkg
JiYgT1MoREFSV0lOKSkgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpIHx8
IChQTEFURk9STShXWCkgJiYgT1MoREFSV0lOKSkgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVN
KQogdHlwZWRlZiBDR1NpemUgR2x5cGhCdWZmZXJBZHZhbmNlOwogI2VsaWYgT1MoV0lOQ0UpCiAv
LyBUaGVyZSBpcyBubyBjcm9zcy1wbGF0Zm9ybSBjb2RlIHRoYXQgdXNlcyB0aGUgaGVpZ2h0IG9m
IEdseXBoQnVmZmVyQWR2YW5jZSwKQEAgLTEyNiw3ICsxMjYsNyBAQCBwdWJsaWM6CiAKICAgICBm
bG9hdCBhZHZhbmNlQXQoaW50IGluZGV4KSBjb25zdAogICAgIHsKLSNpZiBVU0UoQ0cpIHx8IChQ
TEFURk9STShXWCkgJiYgT1MoREFSV0lOKSkgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNp
ZiBVU0UoQ0cpIHx8IChQTEFURk9STShXWCkgJiYgT1MoREFSV0lOKSkgfHwgVVNFKFNLSUFfT05f
TUFDX0NIUk9NSVVNKQogICAgICAgICByZXR1cm4gbV9hZHZhbmNlc1tpbmRleF0ud2lkdGg7CiAj
ZWxpZiBPUyhXSU5DRSkKICAgICAgICAgcmV0dXJuIG1fYWR2YW5jZXNbaW5kZXhdOwpAQCAtMTU3
LDcgKzE1Nyw3IEBAIHB1YmxpYzoKICAgICAgICAgbV9nbHlwaHMuYXBwZW5kKGdseXBoKTsKICNl
bmRpZgogCi0jaWYgVVNFKENHKSB8fCAoUExBVEZPUk0oV1gpICYmIE9TKERBUldJTikpIHx8IFVT
RShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCAoUExBVEZPUk0oV1gpICYmIE9T
KERBUldJTikpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkKICAgICAgICAgQ0dTaXplIGFk
dmFuY2UgPSB7IHdpZHRoLCAwIH07CiAgICAgICAgIG1fYWR2YW5jZXMuYXBwZW5kKGFkdmFuY2Up
OwogI2VsaWYgT1MoV0lOQ0UpCkBAIC0xOTYsNyArMTk2LDcgQEAgcHVibGljOgogICAgIHsKICAg
ICAgICAgQVNTRVJUKCFpc0VtcHR5KCkpOwogICAgICAgICBHbHlwaEJ1ZmZlckFkdmFuY2UmIGxh
c3RBZHZhbmNlID0gbV9hZHZhbmNlcy5sYXN0KCk7Ci0jaWYgVVNFKENHKSB8fCAoUExBVEZPUk0o
V1gpICYmIE9TKERBUldJTikpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENH
KSB8fCAoUExBVEZPUk0oV1gpICYmIE9TKERBUldJTikpIHx8IFVTRShTS0lBX09OX01BQ19DSFJP
TUlVTSkKICAgICAgICAgbGFzdEFkdmFuY2Uud2lkdGggKz0gd2lkdGg7CiAjZWxpZiBPUyhXSU5D
RSkKICAgICAgICAgbGFzdEFkdmFuY2UgKz0gd2lkdGg7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50LmgJKHJldmlzaW9uIDg5NDI0KQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaAkod29ya2luZyBjb3B5KQpAQCAt
MzMsNyArMzMsNyBAQAogI2luY2x1ZGUgPFFEYXRhU3RyZWFtPgogI2VuZGlmCiAKLSNpZiBVU0Uo
Q0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9P
Tl9NQUNfQ0hST01JVU0pCiB0eXBlZGVmIHN0cnVjdCBDR1BvaW50IENHUG9pbnQ7CiAjZW5kaWYK
IApAQCAtMTIxLDcgKzEyMSw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIEludFBvaW50KG1f
eSwgbV94KTsKICAgICB9CiAKLSNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUp
CisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiAgICAgZXhwbGljaXQg
SW50UG9pbnQoY29uc3QgQ0dQb2ludCYpOyAvLyBkb24ndCBkbyB0aGlzIGltcGxpY2l0bHkgc2lu
Y2UgaXQncyBsb3NzeQogICAgIG9wZXJhdG9yIENHUG9pbnQoKSBjb25zdDsKICNlbmRpZgpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaAkocmV2aXNpb24g
ODk0MjQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmgJKHdv
cmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAKICNpbmNsdWRlICJJbnRQb2ludC5oIgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAotI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NI
Uk9NRSkKKyNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkKIHR5cGVkZWYg
c3RydWN0IENHUmVjdCBDR1JlY3Q7CiAjZW5kaWYKIApAQCAtMjAyLDcgKzIwMiw3IEBAIHB1Ymxp
YzoKICAgICBvcGVyYXRvciBjYWlyb19yZWN0YW5nbGVfaW50X3QoKSBjb25zdDsKICNlbmRpZgog
Ci0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwg
VVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogICAgIG9wZXJhdG9yIENHUmVjdCgpIGNvbnN0Owog
I2VuZGlmCiAKQEAgLTI0OCw3ICsyNDgsNyBAQCBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGNvbnN0
IEludFJlY3QmIGEsCiAgICAgcmV0dXJuIGEubG9jYXRpb24oKSAhPSBiLmxvY2F0aW9uKCkgfHwg
YS5zaXplKCkgIT0gYi5zaXplKCk7CiB9CiAKLSNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01B
Q19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiBJbnRS
ZWN0IGVuY2xvc2luZ0ludFJlY3QoY29uc3QgQ0dSZWN0Jik7CiAjZW5kaWYKIApJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFNpemUuaAkocmV2aXNpb24gODk0MjQp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRTaXplLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTI2LDcgKzI2LDcgQEAKICNpZm5kZWYgSW50U2l6ZV9oCiAjZGVmaW5lIEludFNp
emVfaAogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShD
RykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogdHlwZWRlZiBzdHJ1Y3QgQ0dTaXplIENH
U2l6ZTsKICNlbmRpZgogCkBAIC0xMDksNyArMTA5LDcgQEAgcHVibGljOgogICAgICAgICByZXR1
cm4gSW50U2l6ZShtX2hlaWdodCwgbV93aWR0aCk7CiAgICAgfQogCi0jaWYgVVNFKENHKSB8fCBV
U0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NI
Uk9NSVVNKQogICAgIGV4cGxpY2l0IEludFNpemUoY29uc3QgQ0dTaXplJik7IC8vIGRvbid0IGRv
IHRoaXMgaW1wbGljaXRseSBzaW5jZSBpdCdzIGxvc3N5CiAgICAgb3BlcmF0b3IgQ0dTaXplKCkg
Y29uc3Q7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1Np
bXBsZUZvbnREYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvU2ltcGxlRm9udERhdGEuaAkocmV2aXNpb24gODk0MjQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
MzIsNyArMTMyLDcgQEAgcHVibGljOgogICAgIGZsb2F0IHNwYWNlV2lkdGgoKSBjb25zdCB7IHJl
dHVybiBtX3NwYWNlV2lkdGg7IH0KICAgICB2b2lkIHNldFNwYWNlV2lkdGgoZmxvYXQgc3BhY2VX
aWR0aCkgeyBtX3NwYWNlV2lkdGggPSBzcGFjZVdpZHRoOyB9CiAKLSNpZiBVU0UoQ0cpIHx8IFVT
RShDQUlSTykgfHwgUExBVEZPUk0oV1gpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYg
VVNFKENHKSB8fCBVU0UoQ0FJUk8pIHx8IFBMQVRGT1JNKFdYKSB8fCBVU0UoU0tJQV9PTl9NQUNf
Q0hST01JVU0pCiAgICAgZmxvYXQgc3ludGhldGljQm9sZE9mZnNldCgpIGNvbnN0IHsgcmV0dXJu
IG1fc3ludGhldGljQm9sZE9mZnNldDsgfQogI2VuZGlmCiAKQEAgLTI2NCw3ICsyNjQsNyBAQCBw
cml2YXRlOgogCiAgICAgbXV0YWJsZSBPd25QdHI8RGVyaXZlZEZvbnREYXRhPiBtX2Rlcml2ZWRG
b250RGF0YTsKIAotI2lmIFVTRShDRykgfHwgVVNFKENBSVJPKSB8fCBQTEFURk9STShXWCkgfHwg
VVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpIHx8IFVTRShDQUlSTykgfHwgUExB
VEZPUk0oV1gpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkKICAgICBmbG9hdCBtX3N5bnRo
ZXRpY0JvbGRPZmZzZXQ7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvRmxvYXRQb2ludENHLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9GbG9hdFBvaW50Q0cuY3BwCShyZXZpc2lvbiA4OTQyNCkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0Zsb2F0UG9pbnRDRy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJGbG9hdFBvaW50LmgiCiAKLSNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01BQ19D
SFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiAKICNpbmNs
dWRlIDxBcHBsaWNhdGlvblNlcnZpY2VzL0FwcGxpY2F0aW9uU2VydmljZXMuaD4KIApJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRSZWN0Q0cuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0Zsb2F0UmVjdENH
LmNwcAkocmV2aXNpb24gODk0MjQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jZy9GbG9hdFJlY3RDRy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDcgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKIAotI2lmIFVTRShDRykg
fHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01B
Q19DSFJPTUlVTSkKIAogI2luY2x1ZGUgPEFwcGxpY2F0aW9uU2VydmljZXMvQXBwbGljYXRpb25T
ZXJ2aWNlcy5oPgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9G
bG9hdFNpemVDRy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvRmxvYXRTaXplQ0cuY3BwCShyZXZpc2lvbiA4OTQyNCkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0Zsb2F0U2l6ZUNHLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjcsNyArMjcsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkZsb2F0U2l6
ZS5oIgogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKSB8fCAoUExBVEZP
Uk0oUVQpICYmIFVTRShRVEtJVCkpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hS
T01JVU0pIHx8IChQTEFURk9STShRVCkgJiYgVVNFKFFUS0lUKSkKIAogI2luY2x1ZGUgPEFwcGxp
Y2F0aW9uU2VydmljZXMvQXBwbGljYXRpb25TZXJ2aWNlcy5oPgogCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbnRQb2ludENHLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbnRQb2ludENHLmNwcAkocmV2aXNp
b24gODk0MjQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbnRQb2lu
dENHLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIkludFBvaW50LmgiCiAKLSNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09O
X01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiAK
ICNpbmNsdWRlIDxBcHBsaWNhdGlvblNlcnZpY2VzL0FwcGxpY2F0aW9uU2VydmljZXMuaD4KIApJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50UmVjdENHLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbnRSZWN0
Q0cuY3BwCShyZXZpc2lvbiA4OTQyNCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NnL0ludFJlY3RDRy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAKLSNpZiBVU0UoQ0cpIHx8
IFVTRShTS0lBX09OX01BQ19DSFJPTUUpIHx8IChQTEFURk9STShRVCkgJiYgVVNFKFFUS0lUKSkK
KyNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkgfHwgKFBMQVRGT1JNKFFU
KSAmJiBVU0UoUVRLSVQpKQogCiAjaW5jbHVkZSA8QXBwbGljYXRpb25TZXJ2aWNlcy9BcHBsaWNh
dGlvblNlcnZpY2VzLmg+CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NnL0ludFNpemVDRy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvSW50U2l6ZUNHLmNwcAkocmV2aXNpb24gODk0MjQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbnRTaXplQ0cuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5o
IgogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykg
fHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogCiAjaW5jbHVkZSA8QXBwbGljYXRpb25TZXJ2
aWNlcy9BcHBsaWNhdGlvblNlcnZpY2VzLmg+CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5jcHAJKHJldmlzaW9uIDg5NDI0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
NywxNCArMjcsMTQgQEAKICNpbmNsdWRlICJXT0ZGRmlsZUZvcm1hdC5oIgogI2luY2x1ZGUgPEFw
cGxpY2F0aW9uU2VydmljZXMvQXBwbGljYXRpb25TZXJ2aWNlcy5oPgogCi0jaWYgVVNFKFNLSUFf
T05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiAjaW5jbHVkZSAi
U2tTdHJlYW0uaCIKICNpbmNsdWRlICJTa1R5cGVmYWNlLmgiCiAjZW5kaWYKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi0jaWYgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoU0tJQV9P
Tl9NQUNfQ0hST01JVU0pCiBjbGFzcyBSZW1vdGVGb250U3RyZWFtIDogcHVibGljIFNrU3RyZWFt
IHsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBSZW1vdGVGb250U3RyZWFtKFBhc3NSZWZQdHI8U2hh
cmVkQnVmZmVyPiBidWZmZXIpCkBAIC04Miw3ICs4Miw3IEBAIEZvbnRDdXN0b21QbGF0Zm9ybURh
dGE6On5Gb250Q3VzdG9tUGxhdGYKICAgICBpZiAobV9hdHNDb250YWluZXIpCiAgICAgICAgIEFU
U0ZvbnREZWFjdGl2YXRlKG1fYXRzQ29udGFpbmVyLCBOVUxMLCBrQVRTT3B0aW9uRmxhZ3NEZWZh
dWx0KTsKICNlbmRpZgotI2lmIFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKFNLSUFf
T05fTUFDX0NIUk9NSVVNKQogICAgIFNrU2FmZVVucmVmKG1fdHlwZWZhY2UpOwogI2VuZGlmCiAg
ICAgQ0dGb250UmVsZWFzZShtX2NnRm9udCk7CkBAIC0xNjAsNyArMTYwLDcgQEAgRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YSogY3JlYXRlRm9udEN1c3RvbQogI2VuZGlmIC8vICFkZWZpbmVkKEJVSUxE
SU5HX09OX0xFT1BBUkQpCiAKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKiBmb250Q3VzdG9t
UGxhdGZvcm1EYXRhID0gbmV3IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoY29udGFpbmVyUmVmLCBj
Z0ZvbnRSZWYucmVsZWFzZVJlZigpKTsKLSNpZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lm
IFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkKICAgICBSZW1vdGVGb250U3RyZWFtKiBzdHJlYW0g
PSBuZXcgUmVtb3RlRm9udFN0cmVhbShidWZmZXIpOwogICAgIGZvbnRDdXN0b21QbGF0Zm9ybURh
dGEtPm1fdHlwZWZhY2UgPSBTa1R5cGVmYWNlOjpDcmVhdGVGcm9tU3RyZWFtKHN0cmVhbSk7CiAj
ZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAkocmV2aXNpb24gODk0MjQpCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw3IEBAIHR5cGVkZWYgc3RydWN0IENH
Rm9udCogQ0dGb250UmVmOwogdHlwZWRlZiBVSW50MzIgQVRTRm9udENvbnRhaW5lclJlZjsKIHR5
cGVkZWYgVUludDMyIEFUU0ZvbnRSZWY7CiAKLSNpZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQor
I2lmIFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkKIHN0cnVjdCBTa1R5cGVmYWNlOwogI2VuZGlm
CiAKQEAgLTQ4LDcgKzQ4LDcgQEAgcHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEo
QVRTRm9udENvbnRhaW5lclJlZiBjb250YWluZXIsIENHRm9udFJlZiBjZ0ZvbnQpCiAgICAgICAg
IDogbV9hdHNDb250YWluZXIoY29udGFpbmVyKQogICAgICAgICAsIG1fY2dGb250KGNnRm9udCkK
LSNpZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShTS0lBX09OX01BQ19DSFJPTUlV
TSkKICAgICAgICAgLCBtX3R5cGVmYWNlKDApCiAjZW5kaWYKICAgICB7CkBAIC02Miw3ICs2Miw3
IEBAIHB1YmxpYzoKIAogICAgIEFUU0ZvbnRDb250YWluZXJSZWYgbV9hdHNDb250YWluZXI7CiAg
ICAgQ0dGb250UmVmIG1fY2dGb250OwotI2lmIFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYg
VVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogICAgIFNrVHlwZWZhY2UqIG1fdHlwZWZhY2U7CiAj
ZW5kaWYKIH07CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gODk0MzAp
CisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDIyIEBACisyMDExLTA2LTIyICBDYXJ5IENsYXJrICA8Y2FyeWNsYXJrQGdvb2dsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNl
IFNraWEgaWYgU2tpYSBvbiBNYWMgQ2hyb21lIGlzIGVuYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyOTk5CisKKyAgICAgICAgKiBXZWJLaXQu
Z3lwOgorICAgICAgICBJZiBidWlsZGluZyBmb3IgU2tpYSwgZXhjbHVkZSBDRyBmaWxlcy4KKyAg
ICAgICAgSWYgbm90LCBleGNsdWRlIFNraWEgZmlsZXMuCisKKyAgICAgICAgKiBmZWF0dXJlcy5n
eXBpOgorICAgICAgICBFbmFibGUgU2tpYSBvbiBDaHJvbWl1bSBNYWMgaWYgc28gaW5zdHJ1Y3Rl
ZCBieSB0aGUgZ3lwIGRlZmluZS4KKyAgICAgICAgQWxsb3cgU2tpYSB0byBiZSBoYXJkd2FyZSBh
Y2NlbGVyYXRlZCBvbiB0aGUgTWFjLgorCisgICAgICAgICogcHVibGljL1dlYkNvbW1vbi5oOgor
ICAgICAgICBJZiBTa2lhIGlzIGRlZmluZWQgb24gdGhlIE1hYywgZGVmaW5lIGl0IGluIHRoZSBX
ZWJYWFgKKyAgICAgICAgaW50ZXJmYWNlcyBhcyB3ZWxsLgorCiAyMDExLTA2LTIwICBEaW1pdHJp
IEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
S2VudCBUYW11cmEuCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCShyZXZpc2lvbiA4
OTQyNCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAkod29ya2luZyBjb3B5
KQpAQCAtNjg0LDggKzY4NCwxNiBAQAogICAgICAgICAgICAgICAgICAgICAnaW5jbHVkZV9kaXJz
JzogWwogICAgICAgICAgICAgICAgICAgICAgICAgJ3B1YmxpYy9tYWMnLAogICAgICAgICAgICAg
ICAgICAgICBdLAotICAgICAgICAgICAgICAgICAgICAnc291cmNlcy8nOiBbCi0gICAgICAgICAg
ICAgICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAnU2tpYVxcLmNwcCQnXSwKKyAgICAgICAgICAgICAg
ICAgICAgJ2NvbmRpdGlvbnMnOiBbCisgICAgICAgICAgICAgICAgICAgICAgICBbJ3VzZV9za2lh
PT0wJywgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzb3VyY2VzLyc6IFsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgWydleGNsdWRlJywgJ1NraWFcXC5jcHAkJ10sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAgICAgICAgIH0s
eyAjIHVzZV9za2lhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NvdXJjZXMvJzogWwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAnQ0dcXC5jcHAkJ10s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAgICAgICAg
IH1dLAogICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgIH0sIHsgIyBlbHNl
OiBPUyE9Im1hYyIKICAgICAgICAgICAgICAgICAgICAgJ3NvdXJjZXMvJzogWwpJbmRleDogU291
cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQkocmV2aXNpb24gODk0MjQpCisrKyBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTEwNiw2ICsx
MDYsNyBAQAogICAgICAgJ2VuYWJsZV9zdmclJzogMSwKICAgICAgICdlbmFibGVfdG91Y2hfZXZl
bnRzJSc6IDEsCiAgICAgICAndXNlX3NraWFfZ3B1JSc6IDAsCisgICAgICAndXNlX3NraWElJzog
MCwKICAgICAgICdlbmFibGVfdG91Y2hfaWNvbl9sb2FkaW5nJScgOiAwLAogICAgICAgJ2VuYWJs
ZV9zbW9vdGhfc2Nyb2xsaW5nJSc6IDAsCiAgICAgICAnZW5hYmxlX2NzczNfZmxleGJveCUnOiAw
LApAQCAtMTIyLDcgKzEyMyw3IEBACiAgICAgICAgICAgJ0VOQUJMRV8zRF9SRU5ERVJJTkc9MScs
CiAgICAgICAgIF0sCiAgICAgICB9XSwKLSAgICAgIFsndXNlX2FjY2VsZXJhdGVkX2NvbXBvc2l0
aW5nPT0xIGFuZCBPUyE9Im1hYyInLCB7CisgICAgICBbJ3VzZV9hY2NlbGVyYXRlZF9jb21wb3Np
dGluZz09MSBhbmQgKE9TIT0ibWFjIiBvciB1c2Vfc2tpYT09MSknLCB7CiAgICAgICAgICdmZWF0
dXJlX2RlZmluZXMnOiBbCiAgICAgICAgICAgJ0VOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVM9
MScsCiAgICAgICAgIF0sCkBAIC0xNDgsMTIgKzE0OSwxOCBAQAogICAgICAgICAnZmVhdHVyZV9k
ZWZpbmVzJzogWwogICAgICAgICAgICdXVEZfVVNFX1dFQkFVRElPX0ZGTVBFRz0xJywKICAgICAg
ICAgXSwKKyAgICAgICAgJ3VzZV9za2lhJSc6IDEsCiAgICAgICB9XSwKICAgICAgIFsnZW5hYmxl
X3JlZ2lzdGVyX3Byb3RvY29sX2hhbmRsZXI9PTEnLCB7CiAgICAgICAgICdmZWF0dXJlX2RlZmlu
ZXMnOiBbCiAgICAgICAgICAgJ0VOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSPTEnLAog
ICAgICAgICBdLAogICAgICAgfV0sCisgICAgICBbJ09TPT0ibWFjIicsIHsKKyAgICAgICAgJ2Zl
YXR1cmVfZGVmaW5lcyc6IFsKKyAgICAgICAgICAnV1RGX1VTRV9TS0lBX09OX01BQ19DSFJPTUlV
TT08KHVzZV9za2lhKScsCisgICAgICAgIF0sCisgICAgICB9XSwKICAgICAgIFsnZW5hYmxlX3Nt
b290aF9zY3JvbGxpbmc9PTEnLCB7CiAgICAgICAgICdmZWF0dXJlX2RlZmluZXMnOiBbCiAgICAg
ICAgICAgJ0VOQUJMRV9TTU9PVEhfU0NST0xMSU5HPTEnLApJbmRleDogU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViQ29tbW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViQ29tbW9uLmgJKHJldmlzaW9uIDg5NDI0KQorKysgU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQ29tbW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcg
KzM5LDcgQEAKICNlbmRpZgogCiAjaWYgIWRlZmluZWQoV0VCS0lUX1VTSU5HX1NLSUEpCi0gICAg
I2lmICFkZWZpbmVkKF9fQVBQTEVfXykKKyAgICAjaWYgIWRlZmluZWQoX19BUFBMRV9fKSB8fCBk
ZWZpbmVkKFVTRV9TS0lBKQogICAgICAgICAjZGVmaW5lIFdFQktJVF9VU0lOR19TS0lBIDEKICAg
ICAjZWxzZQogICAgICAgICAjZGVmaW5lIFdFQktJVF9VU0lOR19TS0lBIDAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98744</attachid>
            <date>2011-06-27 10:19:15 -0700</date>
            <delta_ts>2011-06-27 12:36:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62999-20110627131913.patch</filename>
            <type>text/plain</type>
            <size>30922</size>
            <attacher name="Cary Clark">caryclark</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODk4MjgpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTEtMDYtMjcgIENhcnkgQ2xhcmsgIDxjYXJ5Y2xhcmtAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgU2tpYSBpZiBTa2lh
IG9uIE1hYyBDaHJvbWUgaXMgZW5hYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjI5OTkKKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgorICAg
ICAgICBBZGQgc3dpdGNoIHRvIHVzZSBTa2lhIGlmLCBleHRlcm5hbGx5LAorICAgICAgICBTa2lh
IGhhcyBiZWVuIGVuYWJsZWQgYnkgYSBneXAgZGVmaW5lLgorCiAyMDExLTA2LTI3ICBHdXN0YXZv
IE5vcm9uaGEgU2lsdmEgIDxnbnNAZ25vbWUub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVp
bGQgZml4LiBPbmUgbW9yZSBmaWxlZCBtaXNzaW5nIGR1cmluZyBkaXN0Y2hlY2ssIGZvcgpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAkocmV2aXNpb24gODk4MjUpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgJKHdvcmtpbmcgY29weSkKQEAgLTU0
MywxMCArNTQzLDE0IEBACiAjZGVmaW5lIFdURl9VU0VfQ0EgMQogI2VuZGlmCiAKLS8qIFVTRShT
S0lBKSBmb3IgV2luL0xpbnV4LCBDRyBmb3IgTWFjICovCisvKiBVU0UoU0tJQSkgZm9yIFdpbi9M
aW51eCwgQ0cgZm9yIE1hYywgdW5sZXNzIGVuYWJsZWQgKi8KICNpZiBQTEFURk9STShDSFJPTUlV
TSkKICNpZiBPUyhEQVJXSU4pCisjaWYgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQorI2RlZmlu
ZSBXVEZfVVNFX1NLSUEgMQorI2Vsc2UKICNkZWZpbmUgV1RGX1VTRV9DRyAxCisjZW5kaWYKICNk
ZWZpbmUgV1RGX1VTRV9BVFNVSSAxCiAjZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDEKICNkZWZp
bmUgV1RGX1VTRV9JQ0NKUEVHIDEKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg5ODI4KQorKysg
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDggQEAK
KzIwMTEtMDYtMjcgIENhcnkgQ2xhcmsgIDxjYXJ5Y2xhcmtAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgU2tpYSBpZiBTa2lh
IG9uIE1hYyBDaHJvbWUgaXMgZW5hYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjI5OTkKKworICAgICAgICBObyBuZXcgdGVzdHMuIFRoaXMgZG9l
cyBub3QgYWZmZWN0IGV4aXN0aW5nCisgICAgICAgIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAg
KiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAgICAgICAgSW5jbHVkZSBTa2lhIGFuZCByZWxh
dGVkIGZpbGVzIGFuZCBleGNsdWRlIENHCisgICAgICAgIGFuZCByZWxhdGVkIGZpbGVzIHdoZW4g
YnVpbGRpbmcgQ2hyb21pdW0gZm9yIFNraWEKKyAgICAgICAgb24gdGhlIE1hYy4KKworICAgICAg
ICAqIGxvYWRlci9jYWNoZS9DYWNoZWRGb250LmNwcDoKKyAgICAgICAgUmVuYW1lIENIUk9NRSB0
byBDSFJPTUlVTS4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL0RyYWdJbWFnZVJlZi5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9GbG9hdFNpemUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1E
YXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpoYXNoKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5oOgorICAgICAgICAoV2ViQ29yZTo6
R2x5cGhCdWZmZXI6OmFkdmFuY2VBdCk6CisgICAgICAgIChXZWJDb3JlOjpHbHlwaEJ1ZmZlcjo6
YWRkKToKKyAgICAgICAgKFdlYkNvcmU6OkdseXBoQnVmZmVyOjpleHBhbmRMYXN0QWR2YW5jZSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9JbnRSZWN0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50
U2l6ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRQb2ludENHLmNwcDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9GbG9hdFJlY3RDRy5jcHA6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvRmxvYXRTaXplQ0cuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2NnL0ludFBvaW50Q0cuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0lu
dFJlY3RDRy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50U2l6ZUNHLmNw
cDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0
YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjp+Rm9udEN1
c3RvbVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVGb250Q3VzdG9tUGxh
dGZvcm1EYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6Rm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSk6CisgICAgICAgIERpdHRvLgorCiAyMDExLTA2LTI3ICBD
aGFuZ1Nlb2sgT2ggIDxzaGl2YW1pZG93QGdtYWlsLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBNYXJ0aW4gUm9iaW5zb24uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJD
b3JlLmd5cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3Jl
Lmd5cAkocmV2aXNpb24gODk4MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJD
b3JlLmd5cAkod29ya2luZyBjb3B5KQpAQCAtMjYwLDcgKzI2MCw3IEBACiAgICAgICAgICAgJzxA
KHdlYmNvcmVfc3ZnX2JpbmRpbmdzX2lkbF9maWxlcyknLAogICAgICAgICBdLAogICAgICAgfV0s
Ci0gICAgICBbJ09TPT0ibWFjIicsIHsKKyAgICAgIFsnT1M9PSJtYWMiIGFuZCB1c2Vfc2tpYT09
MCcsIHsKICAgICAgICAgJ3dlYmNvcmVfaW5jbHVkZV9kaXJzKyc6IFsKICAgICAgICAgICAjIHBs
YXRmb3JtL2dyYXBoaWNzL2NnIGFuZCBjb2NvYSBuZWVkIHRvIGNvbWUgYmVmb3JlCiAgICAgICAg
ICAgIyBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bSBzbyB0aGF0IHRoZSBNYWMgYnVpbGQgcGlj
a3MgdXAgdGhlCkBAIC0yNzEsNiArMjcxLDggQEAKICAgICAgICAgICAnLi4vcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EnLAogICAgICAgICAgICcuLi9wbGF0Zm9ybS9ncmFwaGljcy9jZycsCiAgICAg
ICAgIF0sCisgICAgICB9XSwKKyAgICAgIFsnT1M9PSJtYWMiJywgewogICAgICAgICAnd2ViY29y
ZV9pbmNsdWRlX2RpcnMnOiBbCiAgICAgICAgICAgIyBGSVhNRTogRWxpbWluYXRlIGRlcGVuZGVu
Y3kgb24gcGxhdGZvcm0vbWFjIGFuZCByZWxhdGVkCiAgICAgICAgICAgIyBkaXJlY3Rvcmllcy4K
QEAgLTI4NCw2ICsyODYsMTIgQEAKICAgICAgICAgICAnLi4vcGxhdGZvcm0vdGV4dC9tYWMnLAog
ICAgICAgICBdLAogICAgICAgfV0sCisgICAgICBbJ09TPT0ibWFjIiBhbmQgdXNlX3NraWE9PTEn
LCB7CisgICAgICAgICd3ZWJjb3JlX2luY2x1ZGVfZGlycyc6IFsKKyAgICAgICAgICAgICAgJy4u
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hJywKKyAgICAgICAgICAgICAgJy4uL3BsYXRmb3JtL2dy
YXBoaWNzL2NnJywKKyAgICAgICAgXSwKKyAgICAgIH1dLAogICAgICAgWydPUz09IndpbiInLCB7
CiAgICAgICAgICd3ZWJjb3JlX2luY2x1ZGVfZGlycyc6IFsKICAgICAgICAgICAnLi4vcGFnZS93
aW4nLApAQCAtMTMzNyw3ICsxMzQ1LDE1IEBACiAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNf
ZGlyKS90aGlyZF9wYXJ0eS9oYXJmYnV6ei9oYXJmYnV6ei5neXA6aGFyZmJ1enonLAogICAgICAg
ICAgIF0sCiAgICAgICAgIH1dLAotICAgICAgICBbJ09TPT0ibWFjIicsIHsKKyAgICAgICAgWydP
Uz09Im1hYyIgYW5kIHVzZV9za2lhPT0wJywgeworICAgICAgICAgICdzb3VyY2VzLyc6IFsKKyAg
ICAgICAgICAgICMgVGhlIE1hYyBidWlsZCBpcyBQTEFURk9STV9DRyB0b28uICBwbGF0Zm9ybS9n
cmFwaGljcy9jZyBpcyB0aGUKKyAgICAgICAgICAgICMgb25seSBwbGFjZSB0aGF0IENHIGZpbGVz
IHdlIHdhbnQgdG8gYnVpbGQgYXJlIGxvY2F0ZWQsIGFuZCBub3QKKyAgICAgICAgICAgICMgYWxs
IG9mIHRoZW0gZXZlbiBoYXZlIGEgQ0cgc3VmZml4LCBzbyBqdXN0IGFkZCB0aGVtIGJ5IGEKKyAg
ICAgICAgICAgICMgcmVnZXhwIG1hdGNoaW5nIHRoZWlyIGRpcmVjdG9yeS4KKyAgICAgICAgICAg
IFsnaW5jbHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9jZy9bXi9dKig/PCFXaW4pP1xcLihjcHB8
bW0/KSQnXSwKKyAgICAgICAgICBdLAorICAgICAgICB9XSxbJ09TPT0ibWFjIicsIHsKICAgICAg
ICAgICAjIE5lY2Vzc2FyeSBmb3IgTWFjIC5tbSBzdHVmZi4KICAgICAgICAgICAnaW5jbHVkZV9k
aXJzJzogWwogICAgICAgICAgICAgJy4uLy4uLy4uL1dlYktpdExpYnJhcmllcycsCkBAIC0xMzY3
LDEyICsxMzgzLDYgQEAKICAgICAgICAgICAgIFsnaW5jbHVkZScsICdDRlxcLmNwcCQnXSwKICAg
ICAgICAgICAgIFsnZXhjbHVkZScsICduZXR3b3JrL2NmLyddLAogCi0gICAgICAgICAgICAjIFRo
ZSBNYWMgYnVpbGQgaXMgUExBVEZPUk1fQ0cgdG9vLiAgcGxhdGZvcm0vZ3JhcGhpY3MvY2cgaXMg
dGhlCi0gICAgICAgICAgICAjIG9ubHkgcGxhY2UgdGhhdCBDRyBmaWxlcyB3ZSB3YW50IHRvIGJ1
aWxkIGFyZSBsb2NhdGVkLCBhbmQgbm90Ci0gICAgICAgICAgICAjIGFsbCBvZiB0aGVtIGV2ZW4g
aGF2ZSBhIENHIHN1ZmZpeCwgc28ganVzdCBhZGQgdGhlbSBieSBhCi0gICAgICAgICAgICAjIHJl
Z2V4cCBtYXRjaGluZyB0aGVpciBkaXJlY3RvcnkuCi0gICAgICAgICAgICBbJ2luY2x1ZGUnLCAn
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvW14vXSooPzwhV2luKT9cXC4oY3BwfG1tPykkJ10sCi0KICAg
ICAgICAgICAgICMgVXNlIG5hdGl2ZSBNYWMgZm9udCBjb2RlIGZyb20gV2ViQ29yZS4KICAgICAg
ICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9ybS8oZ3JhcGhpY3MvKT9tYWMvW14vXSpGb250W14v
XSpcXC4oY3BwfG1tPykkJ10sCiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL0NvbXBsZXhUZXh0W14vXSpcXC4oY3BwfGgpJCddLApAQCAtMTM4OSw3ICsxMzk5
LDYgQEAKICAgICAgICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRmxv
YXRSZWN0TWFjXFwubW0kJ10sCiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL0Zsb2F0U2l6ZU1hY1xcLm1tJCddLAogICAgICAgICAgICAgWydpbmNsdWRlJywg
J3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HbHlwaFBhZ2VUcmVlTm9kZU1hY1xcLmNwcCQnXSwKLSAg
ICAgICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250
ZXh0TWFjXFwubW0kJ10sCiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL0ludFBvaW50TWFjXFwubW0kJ10sCiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxh
dGZvcm0vZ3JhcGhpY3MvbWFjL0ludFJlY3RNYWNcXC5tbSQnXSwKICAgICAgICAgICAgIFsnaW5j
bHVkZScsICdwbGF0Zm9ybS9tYWMvQmxvY2tFeGNlcHRpb25zXFwubW0kJ10sCkBAIC0xNDA1LDkg
KzE0MTQsNiBAQAogCiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAnV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2VcXC5tbSQnXSwKIAotICAgICAgICAgICAgIyBDaHJv
bWl1bSBNYWMgZG9lcyBub3QgdXNlIHNraWEuCi0gICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxh
dGZvcm0vZ3JhcGhpY3Mvc2tpYS9bXi9dKlNraWFcXC4oY3BwfGgpJCddLAotCiAgICAgICAgICAg
ICAjIFRoZSBNYWMgdXNlcyBwbGF0Zm9ybS9tYWMvS2lsbFJpbmdNYWMubW0gaW5zdGVhZCBvZiB0
aGUgZHVtbXkKICAgICAgICAgICAgICMgaW1wbGVtZW50YXRpb24uCiAgICAgICAgICAgICBbJ2V4
Y2x1ZGUnLCAncGxhdGZvcm0vS2lsbFJpbmdOb25lXFwuY3BwJCddLApAQCAtMTQyMCwxNSArMTQy
NiwzNCBAQAogICAgICAgICAgICAgIyByZWxhdGVkIHRvIFNjcm9sbGJhclRoZW1lQ2hyb21pdW0u
Y3BwLgogICAgICAgICAgICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJh
clRoZW1lQ2hyb21pdW1cXC5jcHAkJ10sCiAKLSAgICAgICAgICAgICMgVGhlIE1hYyBjdXJyZW50
bHkgdXNlcyBJbWFnZUNocm9taXVtTWFjLm1tIGZyb20KLSAgICAgICAgICAgICMgcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0sIGluY2x1ZGVkIGJ5IHJlZ2V4IGFib3ZlLCBpbnN0ZWFkLgotICAg
ICAgICAgICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ltYWdlQ2hy
b21pdW1cXC5jcHAkJ10sCi0KICAgICAgICAgICAgICMgVGhlIE1hYyBkb2VzIG5vdCB1c2UgSW1h
Z2VTb3VyY2VDRy5jcHAgZnJvbSBwbGF0Zm9ybS9ncmFwaGljcy9jZwogICAgICAgICAgICAgIyBl
dmVuIHRob3VnaCBpdCBpcyBpbmNsdWRlZCBieSByZWdleCBhYm92ZS4KICAgICAgICAgICAgIFsn
ZXhjbHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZVNvdXJjZUNHXFwuY3BwJCddLAog
ICAgICAgICAgICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNzL2NnL1BERkRvY3VtZW50
SW1hZ2VcXC5jcHAkJ10sCiAKKyAgICAgICAgICAgIFsnaW5jbHVkZScsICcvY2hyb21lL2p1bmtc
XC50eHQkJ10sCisgICAgICAgICAgXSwKKyAgICAgICAgfSx7ICMgT1MhPSJtYWMiCisgICAgICAg
ICAgJ3NvdXJjZXMvJzogWworICAgICAgICAgICAgIyBGSVhNRTogV2Ugd2lsbCBldmVudHVhbGx5
IGNvbXBpbGUgdGhpcyB0b28sIGJ1dCBmb3Igbm93IGl0J3MKKyAgICAgICAgICAgICMgb25seSB1
c2VkIG9uIG1hYy4KKyAgICAgICAgICAgIFsnZXhjbHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9G
b250UGxhdGZvcm1EYXRhXFwuY3BwJCddLAorICAgICAgICAgIF0sCisgICAgICAgIH1dLAorICAg
ICAgICBbJ09TPT0ibWFjIiBhbmQgdXNlX3NraWE9PTAnLCB7CisgICAgICAgICAgJ3NvdXJjZXMv
JzogWworICAgICAgICAgICAgIyBDaGVycnktcGljayBzb21lIGZpbGVzIHRoYXQgY2FuJ3QgYmUg
aW5jbHVkZWQgYnkgYnJvYWRlciByZWdleHBzLgorICAgICAgICAgICAgIyBTb21lIG9mIHRoZXNl
IGFyZSB1c2VkIGluc3RlYWQgb2YgQ2hyb21pdW0gcGxhdGZvcm0gZmlsZXMsIHNlZQorICAgICAg
ICAgICAgIyB0aGUgc3BlY2lmaWMgZXhjbHVzaW9ucyBpbiB0aGUgInNvdXJjZXMhIiBsaXN0IGJl
bG93LgorICAgICAgICAgICAgWydpbmNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFw
aGljc0NvbnRleHRNYWNcXC5tbSQnXSwKKworICAgICAgICAgICAgIyBDaHJvbWl1bSBNYWMgZG9l
cyBub3QgdXNlIHNraWEuCisgICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhp
Y3Mvc2tpYS9bXi9dKlNraWFcXC4oY3BwfGgpJCddLAorCisgICAgICAgICAgICAjIFRoZSBNYWMg
Y3VycmVudGx5IHVzZXMgSW1hZ2VDaHJvbWl1bU1hYy5tbSBmcm9tCisgICAgICAgICAgICAjIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtLCBpbmNsdWRlZCBieSByZWdleCBhYm92ZSwgaW5zdGVh
ZC4KKyAgICAgICAgICAgIFsnZXhjbHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9J
bWFnZUNocm9taXVtXFwuY3BwJCddLAorCiAgICAgICAgICAgICAjIEltYWdlRGVjb2RlclNraWEg
aXMgbm90IHVzZWQgb24gbWFjLiAgSW1hZ2VEZWNvZGVyQ0cgaXMgdXNlZCBpbnN0ZWFkLgogICAg
ICAgICAgICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3NraWEvSW1hZ2VE
ZWNvZGVyU2tpYVxcLmNwcCQnXSwKICAgICAgICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9ybS9p
bWFnZS1kZWNvZGVycy9jZy9JbWFnZURlY29kZXJDR1xcLmNwcCQnXSwKQEAgLTE0MzYsMjYgKzE0
NjEsMzkgQEAKICAgICAgICAgICAgICMgQWdhaW4sIFNraWEgaXMgbm90IHVzZWQgb24gTWFjLgog
ICAgICAgICAgICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2Nocm9taXVtL0RyYWdJbWFnZUNocm9t
aXVtU2tpYVxcLmNwcCQnXSwKICAgICAgICAgICBdLAotICAgICAgICB9LHsgIyBPUyE9Im1hYyIK
KyAgICAgICAgfV0sCisgICAgICAgIFsnT1M9PSJtYWMiIGFuZCB1c2Vfc2tpYT09MScsIHsKICAg
ICAgICAgICAnc291cmNlcy8nOiBbCi0gICAgICAgICAgICAjIEZJWE1FOiBXZSB3aWxsIGV2ZW50
dWFsbHkgY29tcGlsZSB0aGlzIHRvbywgYnV0IGZvciBub3cgaXQncwotICAgICAgICAgICAgIyBv
bmx5IHVzZWQgb24gbWFjLgotICAgICAgICAgICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRQbGF0Zm9ybURhdGFcXC5jcHAkJ10sCi0KLSAgICAgICAgICAgICMgTGludXggdXNl
cyBGb250TGludXg7IFdpbmRvd3MgdXNlcyBGb250V2luLiBBZGRpdGlvbmFsbHksIEZvbnRTa2lh
Ci0gICAgICAgICAgICAjIGlzIGV4Y2x1ZGVkIGJ5IGEgcnVsZSBhYm92ZSBpZiBXZWJLaXQgdXNl
cyBDRyBpbnN0ZWFkIG9mIFNraWEuCi0gICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0v
Z3JhcGhpY3Mvc2tpYS9Gb250U2tpYVxcLmNwcCQnXSwKKyAgICAgICAgICAgIFsnaW5jbHVkZScs
ICdwbGF0Zm9ybS9ncmFwaGljcy9jZy9GbG9hdFBvaW50Q0dcXC5jcHAkJ10sCisgICAgICAgICAg
ICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRSZWN0Q0dcXC5jcHAkJ10s
CisgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRTaXpl
Q0dcXC5jcHAkJ10sCisgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvSW50UG9pbnRDR1xcLmNwcCQnXSwKKyAgICAgICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9y
bS9ncmFwaGljcy9jZy9JbnRSZWN0Q0dcXC5jcHAkJ10sCisgICAgICAgICAgICBbJ2luY2x1ZGUn
LCAncGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50U2l6ZUNHXFwuY3BwJCddLAorICAgICAgICAgICAg
WydleGNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFjXFwubW0kJ10sCisgICAg
ICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HbHlwaFBhZ2VUcmVl
Tm9kZVNraWFcXC5jcHAkJ10sCisgICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0vY2hy
b21pdW0vRHJhZ0ltYWdlQ2hyb21pdW1NYWNcXC5jcHAkJ10sCiAgICAgICAgICAgXSwKICAgICAg
ICAgfV0sCiAgICAgICAgIFsndG9vbGtpdF91c2VzX2d0ayA9PSAwJywgewogICAgICAgICAgICdz
b3VyY2VzLyc6IFsKICAgICAgICAgICAgIFsnZXhjbHVkZScsICcoR3RrfExpbnV4KVxcLmNwcCQn
XSwKICAgICAgICAgICAgIFsnZXhjbHVkZScsICdIYXJmYnV6elteL10rXFwuKGNwcHxoKSQnXSwK
KyAgICAgICAgICBdLAorICAgICAgICB9XSwKKyAgICAgICAgWyd0b29sa2l0X3VzZXNfZ3RrID09
IDAgYW5kIHVzZV9za2lhPT0wJywgeworICAgICAgICAgICdzb3VyY2VzLyc6IFsKICAgICAgICAg
ICAgIFsnZXhjbHVkZScsICdWRE1YW14vXStcXC4oY3BwfGgpJCddLAogICAgICAgICAgIF0sCiAg
ICAgICAgIH1dLAogICAgICAgICBbJ09TIT0ibWFjIicsIHsKLSAgICAgICAgICAnc291cmNlcy8n
OiBbWydleGNsdWRlJywgJ01hY1xcLihjcHB8bW0/KSQnXV0KKyAgICAgICAgICAnc291cmNlcy8n
OiBbCisgICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAnTWFjXFwuKGNwcHxtbT8pJCddLAorCisgICAg
ICAgICAgICAjIExpbnV4IHVzZXMgRm9udExpbnV4OyBXaW5kb3dzIHVzZXMgRm9udFdpbi4gQWRk
aXRpb25hbGx5LCBGb250U2tpYQorICAgICAgICAgICAgIyBpcyBleGNsdWRlZCBieSBhIHJ1bGUg
YWJvdmUgaWYgV2ViS2l0IHVzZXMgQ0cgaW5zdGVhZCBvZiBTa2lhLgorICAgICAgICAgICAgWydl
eGNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udFNraWFcXC5jcHAkJ10sCisgICAg
ICAgICAgXSwKICAgICAgICAgfV0sCiAgICAgICAgIFsnT1MhPSJ3aW4iJywgewogICAgICAgICAg
ICdzb3VyY2VzLyc6IFsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRG
b250LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
Rm9udC5jcHAJKHJldmlzaW9uIDg5ODI1KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZEZvbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAjaW5jbHVk
ZSAiQ2FjaGVkRm9udC5oIgogCiAvLyBGSVhNRTogVGhpcyBzaG91bGQgcmVhbGx5IGJlIGEgYmxh
Y2tsaXN0IGluc3RlYWQgb2YgYSB3aGl0ZWxpc3QKLSNpZiBVU0UoQ0cpIHx8IFBMQVRGT1JNKFFU
KSB8fCBQTEFURk9STShHVEspIHx8IChQTEFURk9STShDSFJPTUlVTSkgJiYgKCFPUyhEQVJXSU4p
IHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpKSkgfHwgUExBVEZPUk0oSEFJS1UpIHx8IE9TKFdJ
TkNFKSB8fCBQTEFURk9STShBTkRST0lEKSB8fCBQTEFURk9STShCUkVXTVApCisjaWYgVVNFKENH
KSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oR1RLKSB8fCAoUExBVEZPUk0oQ0hST01JVU0p
ICYmICghT1MoREFSV0lOKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pKSkgfHwgUExBVEZP
Uk0oSEFJS1UpIHx8IE9TKFdJTkNFKSB8fCBQTEFURk9STShBTkRST0lEKSB8fCBQTEFURk9STShC
UkVXTVApCiAjZGVmaW5lIFNUT1JFX0ZPTlRfQ1VTVE9NX1BMQVRGT1JNX0RBVEEKICNlbmRpZgog
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9EcmFnSW1hZ2VSZWYuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9EcmFnSW1hZ2VS
ZWYuaAkocmV2aXNpb24gODk4MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9EcmFnSW1hZ2VSZWYuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogI2lmbmRl
ZiBEcmFnSW1hZ2VSZWZfaAogI2RlZmluZSBEcmFnSW1hZ2VSZWZfaAogCi0jaWYgT1MoREFSV0lO
KSAmJiAhVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpCiB0eXBlZGVmIHN0cnVj
dCBDR0ltYWdlKiBDR0ltYWdlUmVmOwogI2Vsc2UKIGNsYXNzIFNrQml0bWFwOwpAQCAtMzcsNyAr
MzcsNyBAQCBjbGFzcyBTa0JpdG1hcDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0jaWYgT1Mo
REFSV0lOKSAmJiAhVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpCiB0eXBlZGVm
IENHSW1hZ2VSZWYgRHJhZ0ltYWdlUmVmOwogI2Vsc2UKIHR5cGVkZWYgU2tCaXRtYXAqIERyYWdJ
bWFnZVJlZjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9p
bnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9h
dFBvaW50LmgJKHJldmlzaW9uIDg5ODI1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRmxvYXRQb2ludC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAjaW5j
bHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogCi0jaWYgVVNF
KENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFf
T05fTUFDX0NIUk9NSVVNKQogdHlwZWRlZiBzdHJ1Y3QgQ0dQb2ludCBDR1BvaW50OwogI2VuZGlm
CiAKQEAgLTEzMCw3ICsxMzAsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBGbG9hdFBvaW50
KG1feSwgbV94KTsKICAgICB9CiAKLSNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJP
TUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiAgICAgRmxvYXRQ
b2ludChjb25zdCBDR1BvaW50Jik7CiAgICAgb3BlcmF0b3IgQ0dQb2ludCgpIGNvbnN0OwogI2Vu
ZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3Qu
aAkocmV2aXNpb24gODk4MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
bG9hdFJlY3QuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogCiAjaW5jbHVkZSAi
RmxvYXRQb2ludC5oIgogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQor
I2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogdHlwZWRlZiBzdHJ1Y3Qg
Q0dSZWN0IENHUmVjdDsKICNlbmRpZgogCkBAIC0xNzQsNyArMTc0LDcgQEAgcHVibGljOgogICAg
IHZvaWQgZml0VG9Qb2ludHMoY29uc3QgRmxvYXRQb2ludCYgcDAsIGNvbnN0IEZsb2F0UG9pbnQm
IHAxLCBjb25zdCBGbG9hdFBvaW50JiBwMik7CiAgICAgdm9pZCBmaXRUb1BvaW50cyhjb25zdCBG
bG9hdFBvaW50JiBwMCwgY29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0IEZsb2F0UG9pbnQmIHAy
LCBjb25zdCBGbG9hdFBvaW50JiBwMyk7CiAKLSNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01B
Q19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiAgICAg
RmxvYXRSZWN0KGNvbnN0IENHUmVjdCYpOwogICAgIG9wZXJhdG9yIENHUmVjdCgpIGNvbnN0Owog
I2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNp
emUuaAkocmV2aXNpb24gODk4MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9GbG9hdFNpemUuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUg
IkludFBvaW50LmgiCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIAotI2lmIFVTRShDRykg
fHwgKFBMQVRGT1JNKFdYKSAmJiBPUyhEQVJXSU4pKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01F
KQorI2lmIFVTRShDRykgfHwgKFBMQVRGT1JNKFdYKSAmJiBPUyhEQVJXSU4pKSB8fCBVU0UoU0tJ
QV9PTl9NQUNfQ0hST01JVU0pCiB0eXBlZGVmIHN0cnVjdCBDR1NpemUgQ0dTaXplOwogI2VuZGlm
CiAKQEAgLTEwMiw3ICsxMDIsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBGbG9hdFNpemUo
bV9oZWlnaHQsIG1fd2lkdGgpOwogICAgIH0KIAotI2lmIFVTRShDRykgfHwgKFBMQVRGT1JNKFdY
KSAmJiBPUyhEQVJXSU4pKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykg
fHwgKFBMQVRGT1JNKFdYKSAmJiBPUyhEQVJXSU4pKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01J
VU0pCiAgICAgZXhwbGljaXQgRmxvYXRTaXplKGNvbnN0IENHU2l6ZSYpOyAvLyBkb24ndCBkbyB0
aGlzIGltcGxpY2l0bHkgc2luY2UgaXQncyBsb3NzeQogICAgIG9wZXJhdG9yIENHU2l6ZSgpIGNv
bnN0OwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
UGxhdGZvcm1EYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCShyZXZpc2lvbiA4OTgyNSkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuaAkod29ya2luZyBjb3B5KQpA
QCAtODIsNyArODIsNyBAQCB0eXBlZGVmIGNvbnN0IHN0cnVjdCBfX0NURm9udCogQ1RGb250UmVm
CiB0eXBlZGVmIHN0cnVjdCBIRk9OVF9fKiBIRk9OVDsKICNlbmRpZgogCi0jaWYgVVNFKENHKSB8
fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFD
X0NIUk9NSVVNKQogdHlwZWRlZiBzdHJ1Y3QgQ0dGb250KiBDR0ZvbnRSZWY7CiAjaWYgT1MoREFS
V0lOKQogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgX19DVEZvbnQqIENURm9udFJlZjsKQEAgLTE3Niw3
ICsxNzYsNyBAQCBwdWJsaWM6CiAjaWYgT1MoREFSV0lOKQogICAgIEZvbnRQbGF0Zm9ybURhdGEo
TlNGb250KiwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkID0gZmFsc2UsIGJvb2wgc3lu
dGhldGljT2JsaXF1ZSA9IGZhbHNlLCBGb250T3JpZW50YXRpb24gPSBIb3Jpem9udGFsLAogICAg
ICAgICAgICAgICAgICAgICAgVGV4dE9yaWVudGF0aW9uID0gVGV4dE9yaWVudGF0aW9uVmVydGlj
YWxSaWdodCwgRm9udFdpZHRoVmFyaWFudCA9IFJlZ3VsYXJXaWR0aCk7Ci0jaWYgVVNFKENHKSB8
fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFD
X0NIUk9NSVVNKQogICAgIEZvbnRQbGF0Zm9ybURhdGEoQ0dGb250UmVmIGNnRm9udCwgZmxvYXQg
c2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY09ibGlxdWUsIEZvbnRPcmll
bnRhdGlvbiBvcmllbnRhdGlvbiwKICAgICAgICAgICAgICAgICAgICAgIFRleHRPcmllbnRhdGlv
biB0ZXh0T3JpZW50YXRpb24sIEZvbnRXaWR0aFZhcmlhbnQgd2lkdGhWYXJpYW50KQogICAgICAg
ICA6IG1fc3ludGhldGljQm9sZChzeW50aGV0aWNCb2xkKQpAQCAtMjEyLDcgKzIxMiw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldEZvbnQoTlNGb250Kik7CiAjZW5kaWYKIAotI2lmIFVTRShDRykg
fHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01B
Q19DSFJPTUlVTSkKICNpZiBPUyhEQVJXSU4pCiAgICAgQ0dGb250UmVmIGNnRm9udCgpIGNvbnN0
IHsgcmV0dXJuIG1fY2dGb250LmdldCgpOyB9CiAgICAgQ1RGb250UmVmIGN0Rm9udCgpIGNvbnN0
OwpAQCAtMjQ1LDcgKzI0NSw3IEBAIHB1YmxpYzoKICNpZiBQTEFURk9STShXSU4pICYmICFVU0Uo
Q0FJUk8pCiAgICAgICAgIHJldHVybiBtX2ZvbnQgPyBtX2ZvbnQtPmhhc2goKSA6IDA7CiAjZWxp
ZiBPUyhEQVJXSU4pCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lm
IFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogICAgICAgICBBU1NFUlQobV9m
b250IHx8ICFtX2NnRm9udCk7CiAjZW5kaWYKICAgICAgICAgdWludHB0cl90IGhhc2hDb2Rlc1sz
XSA9IHsgKHVpbnRwdHJfdCltX2ZvbnQsIG1fd2lkdGhWYXJpYW50LCBtX3RleHRPcmllbnRhdGlv
biA8PCAzIHwgbV9vcmllbnRhdGlvbiA8PCAyIHwgbV9zeW50aGV0aWNCb2xkIDw8IDEgfCBtX3N5
bnRoZXRpY09ibGlxdWUgfTsKQEAgLTMyMSw3ICszMjEsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0
cjxSZWZDb3VudGVkR0RJSGFuZGxlPEhGT05UPiA+IG1fZm9udDsKICNlbmRpZgogCi0jaWYgVVNF
KENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFf
T05fTUFDX0NIUk9NSVVNKQogI2lmIFBMQVRGT1JNKFdJTikKICAgICBSZXRhaW5QdHI8Q0dGb250
UmVmPiBtX2NnRm9udDsKICNlbHNlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9HbHlwaEJ1ZmZlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dseXBoQnVmZmVyLmgJKHJldmlzaW9uIDg5ODI1KQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhCdWZmZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzUs
NyArMzUsNyBAQAogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIAotI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBV
U0UoQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkKICNpbmNsdWRlIDxDb3JlR3JhcGhp
Y3MvQ0dHZW9tZXRyeS5oPgogI2VuZGlmCiAKQEAgLTYyLDcgKzYyLDcgQEAgdHlwZWRlZiBHbHlw
aCBHbHlwaEJ1ZmZlckdseXBoOwogCiAvLyBDRyB1c2VzIENHU2l6ZSBpbnN0ZWFkIG9mIEZsb2F0
U2l6ZSBzbyB0aGF0IHRoZSByZXN1bHQgb2YgYWR2YW5jZXMoKQogLy8gY2FuIGJlIHBhc3NlZCBk
aXJlY3RseSB0byBDR0NvbnRleHRTaG93R2x5cGhzV2l0aEFkdmFuY2VzIGluIEZvbnRNYWMubW0K
LSNpZiBVU0UoQ0cpIHx8IChQTEFURk9STShXWCkgJiYgT1MoREFSV0lOKSkgfHwgVVNFKFNLSUFf
T05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpIHx8IChQTEFURk9STShXWCkgJiYgT1MoREFSV0lO
KSkgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogdHlwZWRlZiBDR1NpemUgR2x5cGhCdWZm
ZXJBZHZhbmNlOwogI2VsaWYgT1MoV0lOQ0UpCiAvLyBUaGVyZSBpcyBubyBjcm9zcy1wbGF0Zm9y
bSBjb2RlIHRoYXQgdXNlcyB0aGUgaGVpZ2h0IG9mIEdseXBoQnVmZmVyQWR2YW5jZSwKQEAgLTEy
Niw3ICsxMjYsNyBAQCBwdWJsaWM6CiAKICAgICBmbG9hdCBhZHZhbmNlQXQoaW50IGluZGV4KSBj
b25zdAogICAgIHsKLSNpZiBVU0UoQ0cpIHx8IChQTEFURk9STShXWCkgJiYgT1MoREFSV0lOKSkg
fHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpIHx8IChQTEFURk9STShXWCkg
JiYgT1MoREFSV0lOKSkgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogICAgICAgICByZXR1
cm4gbV9hZHZhbmNlc1tpbmRleF0ud2lkdGg7CiAjZWxpZiBPUyhXSU5DRSkKICAgICAgICAgcmV0
dXJuIG1fYWR2YW5jZXNbaW5kZXhdOwpAQCAtMTU3LDcgKzE1Nyw3IEBAIHB1YmxpYzoKICAgICAg
ICAgbV9nbHlwaHMuYXBwZW5kKGdseXBoKTsKICNlbmRpZgogCi0jaWYgVVNFKENHKSB8fCAoUExB
VEZPUk0oV1gpICYmIE9TKERBUldJTikpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYg
VVNFKENHKSB8fCAoUExBVEZPUk0oV1gpICYmIE9TKERBUldJTikpIHx8IFVTRShTS0lBX09OX01B
Q19DSFJPTUlVTSkKICAgICAgICAgQ0dTaXplIGFkdmFuY2UgPSB7IHdpZHRoLCAwIH07CiAgICAg
ICAgIG1fYWR2YW5jZXMuYXBwZW5kKGFkdmFuY2UpOwogI2VsaWYgT1MoV0lOQ0UpCkBAIC0xOTYs
NyArMTk2LDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgQVNTRVJUKCFpc0VtcHR5KCkpOwog
ICAgICAgICBHbHlwaEJ1ZmZlckFkdmFuY2UmIGxhc3RBZHZhbmNlID0gbV9hZHZhbmNlcy5sYXN0
KCk7Ci0jaWYgVVNFKENHKSB8fCAoUExBVEZPUk0oV1gpICYmIE9TKERBUldJTikpIHx8IFVTRShT
S0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCAoUExBVEZPUk0oV1gpICYmIE9TKERB
UldJTikpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkKICAgICAgICAgbGFzdEFkdmFuY2Uu
d2lkdGggKz0gd2lkdGg7CiAjZWxpZiBPUyhXSU5DRSkKICAgICAgICAgbGFzdEFkdmFuY2UgKz0g
d2lkdGg7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50
LmgJKHJldmlzaW9uIDg5ODI1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
SW50UG9pbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNyBAQAogI2luY2x1ZGUgPFFE
YXRhU3RyZWFtPgogI2VuZGlmCiAKLSNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJP
TUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiB0eXBlZGVmIHN0
cnVjdCBDR1BvaW50IENHUG9pbnQ7CiAjZW5kaWYKIApAQCAtMTIxLDcgKzEyMSw3IEBAIHB1Ymxp
YzoKICAgICAgICAgcmV0dXJuIEludFBvaW50KG1feSwgbV94KTsKICAgICB9CiAKLSNpZiBVU0Uo
Q0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9P
Tl9NQUNfQ0hST01JVU0pCiAgICAgZXhwbGljaXQgSW50UG9pbnQoY29uc3QgQ0dQb2ludCYpOyAv
LyBkb24ndCBkbyB0aGlzIGltcGxpY2l0bHkgc2luY2UgaXQncyBsb3NzeQogICAgIG9wZXJhdG9y
IENHUG9pbnQoKSBjb25zdDsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvSW50UmVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ludFJlY3QuaAkocmV2aXNpb24gODk4MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcg
QEAKICNpbmNsdWRlICJJbnRQb2ludC5oIgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAotI2lm
IFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpIHx8IFVTRShT
S0lBX09OX01BQ19DSFJPTUlVTSkKIHR5cGVkZWYgc3RydWN0IENHUmVjdCBDR1JlY3Q7CiAjZW5k
aWYKIApAQCAtMjAyLDcgKzIwMiw3IEBAIHB1YmxpYzoKICAgICBvcGVyYXRvciBjYWlyb19yZWN0
YW5nbGVfaW50X3QoKSBjb25zdDsKICNlbmRpZgogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9P
Tl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQog
ICAgIG9wZXJhdG9yIENHUmVjdCgpIGNvbnN0OwogI2VuZGlmCiAKQEAgLTI0OCw3ICsyNDgsNyBA
QCBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGNvbnN0IEludFJlY3QmIGEsCiAgICAgcmV0dXJuIGEu
bG9jYXRpb24oKSAhPSBiLmxvY2F0aW9uKCkgfHwgYS5zaXplKCkgIT0gYi5zaXplKCk7CiB9CiAK
LSNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBV
U0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiBJbnRSZWN0IGVuY2xvc2luZ0ludFJlY3QoY29uc3Qg
Q0dSZWN0Jik7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvSW50U2l6ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ludFNpemUuaAkocmV2aXNpb24gODk4MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9JbnRTaXplLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKICNp
Zm5kZWYgSW50U2l6ZV9oCiAjZGVmaW5lIEludFNpemVfaAogCi0jaWYgVVNFKENHKSB8fCBVU0Uo
U0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9N
SVVNKQogdHlwZWRlZiBzdHJ1Y3QgQ0dTaXplIENHU2l6ZTsKICNlbmRpZgogCkBAIC0xMDksNyAr
MTA5LDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gSW50U2l6ZShtX2hlaWdodCwgbV93aWR0
aCk7CiAgICAgfQogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lm
IFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogICAgIGV4cGxpY2l0IEludFNp
emUoY29uc3QgQ0dTaXplJik7IC8vIGRvbid0IGRvIHRoaXMgaW1wbGljaXRseSBzaW5jZSBpdCdz
IGxvc3N5CiAgICAgb3BlcmF0b3IgQ0dTaXplKCkgY29uc3Q7CiAjZW5kaWYKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAkocmV2
aXNpb24gODk4MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVG
b250RGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzcsNyArMTM3LDcgQEAgcHVibGljOgogICAg
IGZsb2F0IGFkanVzdGVkU3BhY2VXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fYWRqdXN0ZWRTcGFj
ZVdpZHRoOyB9CiAgICAgdm9pZCBzZXRTcGFjZVdpZHRoKGZsb2F0IHNwYWNlV2lkdGgpIHsgbV9z
cGFjZVdpZHRoID0gc3BhY2VXaWR0aDsgfQogCi0jaWYgVVNFKENHKSB8fCBVU0UoQ0FJUk8pIHx8
IFBMQVRGT1JNKFdYKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwg
VVNFKENBSVJPKSB8fCBQTEFURk9STShXWCkgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQog
ICAgIGZsb2F0IHN5bnRoZXRpY0JvbGRPZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX3N5bnRoZXRp
Y0JvbGRPZmZzZXQ7IH0KICNlbmRpZgogCkBAIC0yNzAsNyArMjcwLDcgQEAgcHJpdmF0ZToKIAog
ICAgIG11dGFibGUgT3duUHRyPERlcml2ZWRGb250RGF0YT4gbV9kZXJpdmVkRm9udERhdGE7CiAK
LSNpZiBVU0UoQ0cpIHx8IFVTRShDQUlSTykgfHwgUExBVEZPUk0oV1gpIHx8IFVTRShTS0lBX09O
X01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoQ0FJUk8pIHx8IFBMQVRGT1JNKFdYKSB8
fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiAgICAgZmxvYXQgbV9zeW50aGV0aWNCb2xkT2Zm
c2V0OwogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nn
L0Zsb2F0UG9pbnRDRy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvRmxvYXRQb2ludENHLmNwcAkocmV2aXNpb24gODk4MjUpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9GbG9hdFBvaW50Q0cuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNyw3ICsyNyw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRmxv
YXRQb2ludC5oIgogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lm
IFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogCiAjaW5jbHVkZSA8QXBwbGlj
YXRpb25TZXJ2aWNlcy9BcHBsaWNhdGlvblNlcnZpY2VzLmg+CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0Zsb2F0UmVjdENHLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9GbG9hdFJlY3RDRy5jcHAJKHJldmlz
aW9uIDg5ODI1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRS
ZWN0Q0cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAKLSNpZiBVU0UoQ0cpIHx8IFVTRShTS0lB
X09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0p
CiAKICNpbmNsdWRlIDxBcHBsaWNhdGlvblNlcnZpY2VzL0FwcGxpY2F0aW9uU2VydmljZXMuaD4K
IApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRTaXplQ0cu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0Zs
b2F0U2l6ZUNHLmNwcAkocmV2aXNpb24gODk4MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jZy9GbG9hdFNpemVDRy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3
LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJGbG9hdFNpemUuaCIKIAotI2lm
IFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkgfHwgKFBMQVRGT1JNKFFUKSAmJiBV
U0UoUVRLSVQpKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKSB8fCAo
UExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkpCiAKICNpbmNsdWRlIDxBcHBsaWNhdGlvblNlcnZp
Y2VzL0FwcGxpY2F0aW9uU2VydmljZXMuaD4KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvSW50UG9pbnRDRy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50UG9pbnRDRy5jcHAJKHJldmlzaW9uIDg5ODI1KQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50UG9pbnRDRy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJJbnRQb2ludC5oIgogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01F
KQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogCiAjaW5jbHVkZSA8
QXBwbGljYXRpb25TZXJ2aWNlcy9BcHBsaWNhdGlvblNlcnZpY2VzLmg+CiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ludFJlY3RDRy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50UmVjdENHLmNwcAkocmV2
aXNpb24gODk4MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbnRS
ZWN0Q0cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9P
Tl9NQUNfQ0hST01FKSB8fCAoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkpCisjaWYgVVNFKENH
KSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pIHx8IChQTEFURk9STShRVCkgJiYgVVNFKFFU
S0lUKSkKIAogI2luY2x1ZGUgPEFwcGxpY2F0aW9uU2VydmljZXMvQXBwbGljYXRpb25TZXJ2aWNl
cy5oPgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbnRTaXpl
Q0cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nn
L0ludFNpemVDRy5jcHAJKHJldmlzaW9uIDg5ODI1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvSW50U2l6ZUNHLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYs
NyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKIAotI2lmIFVT
RShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpIHx8IFVTRShTS0lB
X09OX01BQ19DSFJPTUlVTSkKIAogI2luY2x1ZGUgPEFwcGxpY2F0aW9uU2VydmljZXMvQXBwbGlj
YXRpb25TZXJ2aWNlcy5oPgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuY3BwCShy
ZXZpc2lvbiA4OTgyNSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9G
b250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsMTQgKzI3LDE0
IEBACiAjaW5jbHVkZSAiV09GRkZpbGVGb3JtYXQuaCIKICNpbmNsdWRlIDxBcHBsaWNhdGlvblNl
cnZpY2VzL0FwcGxpY2F0aW9uU2VydmljZXMuaD4KIAotI2lmIFVTRShTS0lBX09OX01BQ19DSFJP
TUUpCisjaWYgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogI2luY2x1ZGUgIlNrU3RyZWFtLmgi
CiAjaW5jbHVkZSAiU2tUeXBlZmFjZS5oIgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotI2lmIFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKFNLSUFfT05fTUFDX0NIUk9N
SVVNKQogY2xhc3MgUmVtb3RlRm9udFN0cmVhbSA6IHB1YmxpYyBTa1N0cmVhbSB7CiBwdWJsaWM6
CiAgICAgZXhwbGljaXQgUmVtb3RlRm9udFN0cmVhbShQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4g
YnVmZmVyKQpAQCAtODIsNyArODIsNyBAQCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjp+Rm9udEN1
c3RvbVBsYXRmCiAgICAgaWYgKG1fYXRzQ29udGFpbmVyKQogICAgICAgICBBVFNGb250RGVhY3Rp
dmF0ZShtX2F0c0NvbnRhaW5lciwgTlVMTCwga0FUU09wdGlvbkZsYWdzRGVmYXVsdCk7CiAjZW5k
aWYKLSNpZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShTS0lBX09OX01BQ19DSFJP
TUlVTSkKICAgICBTa1NhZmVVbnJlZihtX3R5cGVmYWNlKTsKICNlbmRpZgogICAgIENHRm9udFJl
bGVhc2UobV9jZ0ZvbnQpOwpAQCAtMTYwLDcgKzE2MCw3IEBAIEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEqIGNyZWF0ZUZvbnRDdXN0b20KICNlbmRpZiAvLyAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9Q
QVJEKQogCiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSogZm9udEN1c3RvbVBsYXRmb3JtRGF0
YSA9IG5ldyBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKGNvbnRhaW5lclJlZiwgY2dGb250UmVmLnJl
bGVhc2VSZWYoKSk7Ci0jaWYgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoU0tJQV9P
Tl9NQUNfQ0hST01JVU0pCiAgICAgUmVtb3RlRm9udFN0cmVhbSogc3RyZWFtID0gbmV3IFJlbW90
ZUZvbnRTdHJlYW0oYnVmZmVyKTsKICAgICBmb250Q3VzdG9tUGxhdGZvcm1EYXRhLT5tX3R5cGVm
YWNlID0gU2tUeXBlZmFjZTo6Q3JlYXRlRnJvbVN0cmVhbShzdHJlYW0pOwogI2VuZGlmCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21h
Yy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgJKHJldmlzaW9uIDg5ODI1KQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAkod29y
a2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNyBAQCB0eXBlZGVmIHN0cnVjdCBDR0ZvbnQqIENHRm9u
dFJlZjsKIHR5cGVkZWYgVUludDMyIEFUU0ZvbnRDb250YWluZXJSZWY7CiB0eXBlZGVmIFVJbnQz
MiBBVFNGb250UmVmOwogCi0jaWYgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoU0tJ
QV9PTl9NQUNfQ0hST01JVU0pCiBzdHJ1Y3QgU2tUeXBlZmFjZTsKICNlbmRpZgogCkBAIC00OCw3
ICs0OCw3IEBAIHB1YmxpYzoKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKEFUU0ZvbnRDb250
YWluZXJSZWYgY29udGFpbmVyLCBDR0ZvbnRSZWYgY2dGb250KQogICAgICAgICA6IG1fYXRzQ29u
dGFpbmVyKGNvbnRhaW5lcikKICAgICAgICAgLCBtX2NnRm9udChjZ0ZvbnQpCi0jaWYgVVNFKFNL
SUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiAgICAgICAg
ICwgbV90eXBlZmFjZSgwKQogI2VuZGlmCiAgICAgewpAQCAtNjIsNyArNjIsNyBAQCBwdWJsaWM6
CiAKICAgICBBVFNGb250Q29udGFpbmVyUmVmIG1fYXRzQ29udGFpbmVyOwogICAgIENHRm9udFJl
ZiBtX2NnRm9udDsKLSNpZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShTS0lBX09O
X01BQ19DSFJPTUlVTSkKICAgICBTa1R5cGVmYWNlKiBtX3R5cGVmYWNlOwogI2VuZGlmCiB9OwpJ
bmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg5ODI4KQorKysgU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMiBA
QAorMjAxMS0wNi0yNyAgQ2FyeSBDbGFyayAgPGNhcnljbGFya0Bnb29nbGUuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBTa2lhIGlmIFNr
aWEgb24gTWFjIENocm9tZSBpcyBlbmFibGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02Mjk5OQorCisgICAgICAgICogV2ViS2l0Lmd5cDoKKyAgICAg
ICAgSWYgYnVpbGRpbmcgZm9yIFNraWEsIGV4Y2x1ZGUgQ0cgZmlsZXMuCisgICAgICAgIElmIG5v
dCwgZXhjbHVkZSBTa2lhIGZpbGVzLgorCisgICAgICAgICogZmVhdHVyZXMuZ3lwaToKKyAgICAg
ICAgRW5hYmxlIFNraWEgb24gQ2hyb21pdW0gTWFjIGlmIHNvIGluc3RydWN0ZWQgYnkgdGhlIGd5
cCBkZWZpbmUuCisgICAgICAgIEFsbG93IFNraWEgdG8gYmUgaGFyZHdhcmUgYWNjZWxlcmF0ZWQg
b24gdGhlIE1hYy4KKworICAgICAgICAqIHB1YmxpYy9XZWJDb21tb24uaDoKKyAgICAgICAgSWYg
U2tpYSBpcyBkZWZpbmVkIG9uIHRoZSBNYWMsIGRlZmluZSBpdCBpbiB0aGUgV2ViWFhYCisgICAg
ICAgIGludGVyZmFjZXMgYXMgd2VsbC4KKwogMjAxMS0wNi0yNyAgWXV0YSBLaXRhbXVyYSAgPHl1
dGFrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpJbmRl
eDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAkocmV2aXNpb24gODk4MjUpCisrKyBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHdvcmtpbmcgY29weSkKQEAgLTY4NCw4ICs2ODQs
MTYgQEAKICAgICAgICAgICAgICAgICAgICAgJ2luY2x1ZGVfZGlycyc6IFsKICAgICAgICAgICAg
ICAgICAgICAgICAgICdwdWJsaWMvbWFjJywKICAgICAgICAgICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICAgICAgICAgJ3NvdXJjZXMvJzogWwotICAgICAgICAgICAgICAgICAgICAgICAgWydl
eGNsdWRlJywgJ1NraWFcXC5jcHAkJ10sCisgICAgICAgICAgICAgICAgICAgICdjb25kaXRpb25z
JzogWworICAgICAgICAgICAgICAgICAgICAgICAgWyd1c2Vfc2tpYT09MCcsIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnc291cmNlcy8nOiBbCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFsnZXhjbHVkZScsICdTa2lhXFwuY3BwJCddLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgICAgICAgICB9LHsgIyB1c2Vfc2tpYQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICdzb3VyY2VzLyc6IFsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgWydleGNsdWRlJywgJ0NHXFwuY3BwJCddLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgICAgICAgICB9XSwKICAgICAgICAgICAg
ICAgICAgICAgXSwKICAgICAgICAgICAgICAgICB9LCB7ICMgZWxzZTogT1MhPSJtYWMiCiAgICAg
ICAgICAgICAgICAgICAgICdzb3VyY2VzLyc6IFsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vZmVhdHVyZXMuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL2Zl
YXR1cmVzLmd5cGkJKHJldmlzaW9uIDg5ODI1KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9m
ZWF0dXJlcy5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYsNiArMTA2LDcgQEAKICAgICAgICdl
bmFibGVfc3ZnJSc6IDEsCiAgICAgICAnZW5hYmxlX3RvdWNoX2V2ZW50cyUnOiAxLAogICAgICAg
J3VzZV9za2lhX2dwdSUnOiAwLAorICAgICAgJ3VzZV9za2lhJSc6IDAsCiAgICAgICAnZW5hYmxl
X3RvdWNoX2ljb25fbG9hZGluZyUnIDogMCwKICAgICAgICdlbmFibGVfc21vb3RoX3Njcm9sbGlu
ZyUnOiAwLAogICAgICAgJ2VuYWJsZV9jc3MzX2ZsZXhib3glJzogMCwKQEAgLTEyMiw3ICsxMjMs
NyBAQAogICAgICAgICAgICdFTkFCTEVfM0RfUkVOREVSSU5HPTEnLAogICAgICAgICBdLAogICAg
ICAgfV0sCi0gICAgICBbJ3VzZV9hY2NlbGVyYXRlZF9jb21wb3NpdGluZz09MSBhbmQgT1MhPSJt
YWMiJywgeworICAgICAgWyd1c2VfYWNjZWxlcmF0ZWRfY29tcG9zaXRpbmc9PTEgYW5kIChPUyE9
Im1hYyIgb3IgdXNlX3NraWE9PTEpJywgewogICAgICAgICAnZmVhdHVyZV9kZWZpbmVzJzogWwog
ICAgICAgICAgICdFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTPTEnLAogICAgICAgICBdLApA
QCAtMTQwLDEyICsxNDEsMTggQEAKICAgICAgICAgJ2ZlYXR1cmVfZGVmaW5lcyc6IFsKICAgICAg
ICAgICAnV1RGX1VTRV9XRUJBVURJT19GRk1QRUc9MScsCiAgICAgICAgIF0sCisgICAgICAgICd1
c2Vfc2tpYSUnOiAxLAogICAgICAgfV0sCiAgICAgICBbJ2VuYWJsZV9yZWdpc3Rlcl9wcm90b2Nv
bF9oYW5kbGVyPT0xJywgewogICAgICAgICAnZmVhdHVyZV9kZWZpbmVzJzogWwogICAgICAgICAg
ICdFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUj0xJywKICAgICAgICAgXSwKICAgICAg
IH1dLAorICAgICAgWydPUz09Im1hYyInLCB7CisgICAgICAgICdmZWF0dXJlX2RlZmluZXMnOiBb
CisgICAgICAgICAgJ1dURl9VU0VfU0tJQV9PTl9NQUNfQ0hST01JVU09PCh1c2Vfc2tpYSknLAor
ICAgICAgICBdLAorICAgICAgfV0sCiAgICAgICBbJ2VuYWJsZV9zbW9vdGhfc2Nyb2xsaW5nPT0x
JywgewogICAgICAgICAnZmVhdHVyZV9kZWZpbmVzJzogWwogICAgICAgICAgICdFTkFCTEVfU01P
T1RIX1NDUk9MTElORz0xJywKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YkNvbW1vbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YkNvbW1vbi5oCShyZXZpc2lvbiA4OTgyNSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYkNvbW1vbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw3ICszOSw3IEBACiAjZW5kaWYK
IAogI2lmICFkZWZpbmVkKFdFQktJVF9VU0lOR19TS0lBKQotICAgICNpZiAhZGVmaW5lZChfX0FQ
UExFX18pCisgICAgI2lmICFkZWZpbmVkKF9fQVBQTEVfXykgfHwgZGVmaW5lZChVU0VfU0tJQSkK
ICAgICAgICAgI2RlZmluZSBXRUJLSVRfVVNJTkdfU0tJQSAxCiAgICAgI2Vsc2UKICAgICAgICAg
I2RlZmluZSBXRUJLSVRfVVNJTkdfU0tJQSAwCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98767</attachid>
            <date>2011-06-27 12:36:35 -0700</date>
            <delta_ts>2011-06-30 08:41:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62999-20110627153634.patch</filename>
            <type>text/plain</type>
            <size>31225</size>
            <attacher name="Cary Clark">caryclark</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODk4MjgpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTEtMDYtMjcgIENhcnkgQ2xhcmsgIDxjYXJ5Y2xhcmtAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgU2tpYSBpZiBTa2lh
IG9uIE1hYyBDaHJvbWUgaXMgZW5hYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjI5OTkKKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgorICAg
ICAgICBBZGQgc3dpdGNoIHRvIHVzZSBTa2lhIGlmLCBleHRlcm5hbGx5LAorICAgICAgICBTa2lh
IGhhcyBiZWVuIGVuYWJsZWQgYnkgYSBneXAgZGVmaW5lLgorCiAyMDExLTA2LTI3ICBHdXN0YXZv
IE5vcm9uaGEgU2lsdmEgIDxnbnNAZ25vbWUub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVp
bGQgZml4LiBPbmUgbW9yZSBmaWxlZCBtaXNzaW5nIGR1cmluZyBkaXN0Y2hlY2ssIGZvcgpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAkocmV2aXNpb24gODk4MjUpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgJKHdvcmtpbmcgY29weSkKQEAgLTU0
MywxMCArNTQzLDE0IEBACiAjZGVmaW5lIFdURl9VU0VfQ0EgMQogI2VuZGlmCiAKLS8qIFVTRShT
S0lBKSBmb3IgV2luL0xpbnV4LCBDRyBmb3IgTWFjICovCisvKiBVU0UoU0tJQSkgZm9yIFdpbi9M
aW51eCwgQ0cgZm9yIE1hYywgdW5sZXNzIGVuYWJsZWQgKi8KICNpZiBQTEFURk9STShDSFJPTUlV
TSkKICNpZiBPUyhEQVJXSU4pCisjaWYgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQorI2RlZmlu
ZSBXVEZfVVNFX1NLSUEgMQorI2Vsc2UKICNkZWZpbmUgV1RGX1VTRV9DRyAxCisjZW5kaWYKICNk
ZWZpbmUgV1RGX1VTRV9BVFNVSSAxCiAjZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDEKICNkZWZp
bmUgV1RGX1VTRV9JQ0NKUEVHIDEKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg5ODI4KQorKysg
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDggQEAK
KzIwMTEtMDYtMjcgIENhcnkgQ2xhcmsgIDxjYXJ5Y2xhcmtAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgU2tpYSBpZiBTa2lh
IG9uIE1hYyBDaHJvbWUgaXMgZW5hYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjI5OTkKKworICAgICAgICBObyBuZXcgdGVzdHMuIFRoaXMgZG9l
cyBub3QgYWZmZWN0IGV4aXN0aW5nCisgICAgICAgIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAg
KiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAgICAgICAgSW5jbHVkZSBTa2lhIGFuZCByZWxh
dGVkIGZpbGVzIGFuZCBleGNsdWRlIENHCisgICAgICAgIGFuZCByZWxhdGVkIGZpbGVzIHdoZW4g
YnVpbGRpbmcgQ2hyb21pdW0gZm9yIFNraWEKKyAgICAgICAgb24gdGhlIE1hYy4KKworICAgICAg
ICAqIGxvYWRlci9jYWNoZS9DYWNoZWRGb250LmNwcDoKKyAgICAgICAgUmVuYW1lIENIUk9NRSB0
byBDSFJPTUlVTS4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL0RyYWdJbWFnZVJlZi5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9GbG9hdFNpemUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1E
YXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpoYXNoKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5oOgorICAgICAgICAoV2ViQ29yZTo6
R2x5cGhCdWZmZXI6OmFkdmFuY2VBdCk6CisgICAgICAgIChXZWJDb3JlOjpHbHlwaEJ1ZmZlcjo6
YWRkKToKKyAgICAgICAgKFdlYkNvcmU6OkdseXBoQnVmZmVyOjpleHBhbmRMYXN0QWR2YW5jZSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9JbnRSZWN0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50
U2l6ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRQb2ludENHLmNwcDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9GbG9hdFJlY3RDRy5jcHA6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvRmxvYXRTaXplQ0cuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2NnL0ludFBvaW50Q0cuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0lu
dFJlY3RDRy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50U2l6ZUNHLmNw
cDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0
YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjp+Rm9udEN1
c3RvbVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVGb250Q3VzdG9tUGxh
dGZvcm1EYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6Rm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSk6CisgICAgICAgIERpdHRvLgorCiAyMDExLTA2LTI3ICBD
aGFuZ1Nlb2sgT2ggIDxzaGl2YW1pZG93QGdtYWlsLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBNYXJ0aW4gUm9iaW5zb24uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJD
b3JlLmd5cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3Jl
Lmd5cAkocmV2aXNpb24gODk4MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJD
b3JlLmd5cAkod29ya2luZyBjb3B5KQpAQCAtMjYwLDcgKzI2MCw3IEBACiAgICAgICAgICAgJzxA
KHdlYmNvcmVfc3ZnX2JpbmRpbmdzX2lkbF9maWxlcyknLAogICAgICAgICBdLAogICAgICAgfV0s
Ci0gICAgICBbJ09TPT0ibWFjIicsIHsKKyAgICAgIFsnT1M9PSJtYWMiIGFuZCB1c2Vfc2tpYT09
MCcsIHsKICAgICAgICAgJ3dlYmNvcmVfaW5jbHVkZV9kaXJzKyc6IFsKICAgICAgICAgICAjIHBs
YXRmb3JtL2dyYXBoaWNzL2NnIGFuZCBjb2NvYSBuZWVkIHRvIGNvbWUgYmVmb3JlCiAgICAgICAg
ICAgIyBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bSBzbyB0aGF0IHRoZSBNYWMgYnVpbGQgcGlj
a3MgdXAgdGhlCkBAIC0yNzEsNiArMjcxLDggQEAKICAgICAgICAgICAnLi4vcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EnLAogICAgICAgICAgICcuLi9wbGF0Zm9ybS9ncmFwaGljcy9jZycsCiAgICAg
ICAgIF0sCisgICAgICB9XSwKKyAgICAgIFsnT1M9PSJtYWMiJywgewogICAgICAgICAnd2ViY29y
ZV9pbmNsdWRlX2RpcnMnOiBbCiAgICAgICAgICAgIyBGSVhNRTogRWxpbWluYXRlIGRlcGVuZGVu
Y3kgb24gcGxhdGZvcm0vbWFjIGFuZCByZWxhdGVkCiAgICAgICAgICAgIyBkaXJlY3Rvcmllcy4K
QEAgLTI4NCw2ICsyODYsMTIgQEAKICAgICAgICAgICAnLi4vcGxhdGZvcm0vdGV4dC9tYWMnLAog
ICAgICAgICBdLAogICAgICAgfV0sCisgICAgICBbJ09TPT0ibWFjIiBhbmQgdXNlX3NraWE9PTEn
LCB7CisgICAgICAgICd3ZWJjb3JlX2luY2x1ZGVfZGlycyc6IFsKKyAgICAgICAgICAgICAgJy4u
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hJywKKyAgICAgICAgICAgICAgJy4uL3BsYXRmb3JtL2dy
YXBoaWNzL2NnJywKKyAgICAgICAgXSwKKyAgICAgIH1dLAogICAgICAgWydPUz09IndpbiInLCB7
CiAgICAgICAgICd3ZWJjb3JlX2luY2x1ZGVfZGlycyc6IFsKICAgICAgICAgICAnLi4vcGFnZS93
aW4nLApAQCAtMTMzNyw3ICsxMzQ1LDE1IEBACiAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNf
ZGlyKS90aGlyZF9wYXJ0eS9oYXJmYnV6ei9oYXJmYnV6ei5neXA6aGFyZmJ1enonLAogICAgICAg
ICAgIF0sCiAgICAgICAgIH1dLAotICAgICAgICBbJ09TPT0ibWFjIicsIHsKKyAgICAgICAgWydP
Uz09Im1hYyIgYW5kIHVzZV9za2lhPT0wJywgeworICAgICAgICAgICdzb3VyY2VzLyc6IFsKKyAg
ICAgICAgICAgICMgVGhlIE1hYyBidWlsZCBpcyBQTEFURk9STV9DRyB0b28uICBwbGF0Zm9ybS9n
cmFwaGljcy9jZyBpcyB0aGUKKyAgICAgICAgICAgICMgb25seSBwbGFjZSB0aGF0IENHIGZpbGVz
IHdlIHdhbnQgdG8gYnVpbGQgYXJlIGxvY2F0ZWQsIGFuZCBub3QKKyAgICAgICAgICAgICMgYWxs
IG9mIHRoZW0gZXZlbiBoYXZlIGEgQ0cgc3VmZml4LCBzbyBqdXN0IGFkZCB0aGVtIGJ5IGEKKyAg
ICAgICAgICAgICMgcmVnZXhwIG1hdGNoaW5nIHRoZWlyIGRpcmVjdG9yeS4KKyAgICAgICAgICAg
IFsnaW5jbHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9jZy9bXi9dKig/PCFXaW4pP1xcLihjcHB8
bW0/KSQnXSwKKyAgICAgICAgICBdLAorICAgICAgICB9XSxbJ09TPT0ibWFjIicsIHsKICAgICAg
ICAgICAjIE5lY2Vzc2FyeSBmb3IgTWFjIC5tbSBzdHVmZi4KICAgICAgICAgICAnaW5jbHVkZV9k
aXJzJzogWwogICAgICAgICAgICAgJy4uLy4uLy4uL1dlYktpdExpYnJhcmllcycsCkBAIC0xMzY3
LDEyICsxMzgzLDYgQEAKICAgICAgICAgICAgIFsnaW5jbHVkZScsICdDRlxcLmNwcCQnXSwKICAg
ICAgICAgICAgIFsnZXhjbHVkZScsICduZXR3b3JrL2NmLyddLAogCi0gICAgICAgICAgICAjIFRo
ZSBNYWMgYnVpbGQgaXMgUExBVEZPUk1fQ0cgdG9vLiAgcGxhdGZvcm0vZ3JhcGhpY3MvY2cgaXMg
dGhlCi0gICAgICAgICAgICAjIG9ubHkgcGxhY2UgdGhhdCBDRyBmaWxlcyB3ZSB3YW50IHRvIGJ1
aWxkIGFyZSBsb2NhdGVkLCBhbmQgbm90Ci0gICAgICAgICAgICAjIGFsbCBvZiB0aGVtIGV2ZW4g
aGF2ZSBhIENHIHN1ZmZpeCwgc28ganVzdCBhZGQgdGhlbSBieSBhCi0gICAgICAgICAgICAjIHJl
Z2V4cCBtYXRjaGluZyB0aGVpciBkaXJlY3RvcnkuCi0gICAgICAgICAgICBbJ2luY2x1ZGUnLCAn
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvW14vXSooPzwhV2luKT9cXC4oY3BwfG1tPykkJ10sCi0KICAg
ICAgICAgICAgICMgVXNlIG5hdGl2ZSBNYWMgZm9udCBjb2RlIGZyb20gV2ViQ29yZS4KICAgICAg
ICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9ybS8oZ3JhcGhpY3MvKT9tYWMvW14vXSpGb250W14v
XSpcXC4oY3BwfG1tPykkJ10sCiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL0NvbXBsZXhUZXh0W14vXSpcXC4oY3BwfGgpJCddLApAQCAtMTM4OSw3ICsxMzk5
LDYgQEAKICAgICAgICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRmxv
YXRSZWN0TWFjXFwubW0kJ10sCiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL0Zsb2F0U2l6ZU1hY1xcLm1tJCddLAogICAgICAgICAgICAgWydpbmNsdWRlJywg
J3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HbHlwaFBhZ2VUcmVlTm9kZU1hY1xcLmNwcCQnXSwKLSAg
ICAgICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250
ZXh0TWFjXFwubW0kJ10sCiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL0ludFBvaW50TWFjXFwubW0kJ10sCiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxh
dGZvcm0vZ3JhcGhpY3MvbWFjL0ludFJlY3RNYWNcXC5tbSQnXSwKICAgICAgICAgICAgIFsnaW5j
bHVkZScsICdwbGF0Zm9ybS9tYWMvQmxvY2tFeGNlcHRpb25zXFwubW0kJ10sCkBAIC0xNDA1LDkg
KzE0MTQsNiBAQAogCiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAnV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2VcXC5tbSQnXSwKIAotICAgICAgICAgICAgIyBDaHJv
bWl1bSBNYWMgZG9lcyBub3QgdXNlIHNraWEuCi0gICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxh
dGZvcm0vZ3JhcGhpY3Mvc2tpYS9bXi9dKlNraWFcXC4oY3BwfGgpJCddLAotCiAgICAgICAgICAg
ICAjIFRoZSBNYWMgdXNlcyBwbGF0Zm9ybS9tYWMvS2lsbFJpbmdNYWMubW0gaW5zdGVhZCBvZiB0
aGUgZHVtbXkKICAgICAgICAgICAgICMgaW1wbGVtZW50YXRpb24uCiAgICAgICAgICAgICBbJ2V4
Y2x1ZGUnLCAncGxhdGZvcm0vS2lsbFJpbmdOb25lXFwuY3BwJCddLApAQCAtMTQyMCwxNSArMTQy
NiwzNCBAQAogICAgICAgICAgICAgIyByZWxhdGVkIHRvIFNjcm9sbGJhclRoZW1lQ2hyb21pdW0u
Y3BwLgogICAgICAgICAgICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJh
clRoZW1lQ2hyb21pdW1cXC5jcHAkJ10sCiAKLSAgICAgICAgICAgICMgVGhlIE1hYyBjdXJyZW50
bHkgdXNlcyBJbWFnZUNocm9taXVtTWFjLm1tIGZyb20KLSAgICAgICAgICAgICMgcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0sIGluY2x1ZGVkIGJ5IHJlZ2V4IGFib3ZlLCBpbnN0ZWFkLgotICAg
ICAgICAgICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ltYWdlQ2hy
b21pdW1cXC5jcHAkJ10sCi0KICAgICAgICAgICAgICMgVGhlIE1hYyBkb2VzIG5vdCB1c2UgSW1h
Z2VTb3VyY2VDRy5jcHAgZnJvbSBwbGF0Zm9ybS9ncmFwaGljcy9jZwogICAgICAgICAgICAgIyBl
dmVuIHRob3VnaCBpdCBpcyBpbmNsdWRlZCBieSByZWdleCBhYm92ZS4KICAgICAgICAgICAgIFsn
ZXhjbHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZVNvdXJjZUNHXFwuY3BwJCddLAog
ICAgICAgICAgICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNzL2NnL1BERkRvY3VtZW50
SW1hZ2VcXC5jcHAkJ10sCiAKKyAgICAgICAgICAgIFsnaW5jbHVkZScsICcvY2hyb21lL2p1bmtc
XC50eHQkJ10sCisgICAgICAgICAgXSwKKyAgICAgICAgfSx7ICMgT1MhPSJtYWMiCisgICAgICAg
ICAgJ3NvdXJjZXMvJzogWworICAgICAgICAgICAgIyBGSVhNRTogV2Ugd2lsbCBldmVudHVhbGx5
IGNvbXBpbGUgdGhpcyB0b28sIGJ1dCBmb3Igbm93IGl0J3MKKyAgICAgICAgICAgICMgb25seSB1
c2VkIG9uIG1hYy4KKyAgICAgICAgICAgIFsnZXhjbHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9G
b250UGxhdGZvcm1EYXRhXFwuY3BwJCddLAorICAgICAgICAgIF0sCisgICAgICAgIH1dLAorICAg
ICAgICBbJ09TPT0ibWFjIiBhbmQgdXNlX3NraWE9PTAnLCB7CisgICAgICAgICAgJ3NvdXJjZXMv
JzogWworICAgICAgICAgICAgIyBDaGVycnktcGljayBzb21lIGZpbGVzIHRoYXQgY2FuJ3QgYmUg
aW5jbHVkZWQgYnkgYnJvYWRlciByZWdleHBzLgorICAgICAgICAgICAgIyBTb21lIG9mIHRoZXNl
IGFyZSB1c2VkIGluc3RlYWQgb2YgQ2hyb21pdW0gcGxhdGZvcm0gZmlsZXMsIHNlZQorICAgICAg
ICAgICAgIyB0aGUgc3BlY2lmaWMgZXhjbHVzaW9ucyBpbiB0aGUgInNvdXJjZXMhIiBsaXN0IGJl
bG93LgorICAgICAgICAgICAgWydpbmNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFw
aGljc0NvbnRleHRNYWNcXC5tbSQnXSwKKworICAgICAgICAgICAgIyBDaHJvbWl1bSBNYWMgZG9l
cyBub3QgdXNlIHNraWEuCisgICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhp
Y3Mvc2tpYS9bXi9dKlNraWFcXC4oY3BwfGgpJCddLAorCisgICAgICAgICAgICAjIFRoZSBNYWMg
Y3VycmVudGx5IHVzZXMgSW1hZ2VDaHJvbWl1bU1hYy5tbSBmcm9tCisgICAgICAgICAgICAjIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtLCBpbmNsdWRlZCBieSByZWdleCBhYm92ZSwgaW5zdGVh
ZC4KKyAgICAgICAgICAgIFsnZXhjbHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9J
bWFnZUNocm9taXVtXFwuY3BwJCddLAorCiAgICAgICAgICAgICAjIEltYWdlRGVjb2RlclNraWEg
aXMgbm90IHVzZWQgb24gbWFjLiAgSW1hZ2VEZWNvZGVyQ0cgaXMgdXNlZCBpbnN0ZWFkLgogICAg
ICAgICAgICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3NraWEvSW1hZ2VE
ZWNvZGVyU2tpYVxcLmNwcCQnXSwKICAgICAgICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9ybS9p
bWFnZS1kZWNvZGVycy9jZy9JbWFnZURlY29kZXJDR1xcLmNwcCQnXSwKQEAgLTE0MzYsMjYgKzE0
NjEsMzkgQEAKICAgICAgICAgICAgICMgQWdhaW4sIFNraWEgaXMgbm90IHVzZWQgb24gTWFjLgog
ICAgICAgICAgICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2Nocm9taXVtL0RyYWdJbWFnZUNocm9t
aXVtU2tpYVxcLmNwcCQnXSwKICAgICAgICAgICBdLAotICAgICAgICB9LHsgIyBPUyE9Im1hYyIK
KyAgICAgICAgfV0sCisgICAgICAgIFsnT1M9PSJtYWMiIGFuZCB1c2Vfc2tpYT09MScsIHsKICAg
ICAgICAgICAnc291cmNlcy8nOiBbCi0gICAgICAgICAgICAjIEZJWE1FOiBXZSB3aWxsIGV2ZW50
dWFsbHkgY29tcGlsZSB0aGlzIHRvbywgYnV0IGZvciBub3cgaXQncwotICAgICAgICAgICAgIyBv
bmx5IHVzZWQgb24gbWFjLgotICAgICAgICAgICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRQbGF0Zm9ybURhdGFcXC5jcHAkJ10sCi0KLSAgICAgICAgICAgICMgTGludXggdXNl
cyBGb250TGludXg7IFdpbmRvd3MgdXNlcyBGb250V2luLiBBZGRpdGlvbmFsbHksIEZvbnRTa2lh
Ci0gICAgICAgICAgICAjIGlzIGV4Y2x1ZGVkIGJ5IGEgcnVsZSBhYm92ZSBpZiBXZWJLaXQgdXNl
cyBDRyBpbnN0ZWFkIG9mIFNraWEuCi0gICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0v
Z3JhcGhpY3Mvc2tpYS9Gb250U2tpYVxcLmNwcCQnXSwKKyAgICAgICAgICAgIFsnaW5jbHVkZScs
ICdwbGF0Zm9ybS9ncmFwaGljcy9jZy9GbG9hdFBvaW50Q0dcXC5jcHAkJ10sCisgICAgICAgICAg
ICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRSZWN0Q0dcXC5jcHAkJ10s
CisgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRTaXpl
Q0dcXC5jcHAkJ10sCisgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvSW50UG9pbnRDR1xcLmNwcCQnXSwKKyAgICAgICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9y
bS9ncmFwaGljcy9jZy9JbnRSZWN0Q0dcXC5jcHAkJ10sCisgICAgICAgICAgICBbJ2luY2x1ZGUn
LCAncGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50U2l6ZUNHXFwuY3BwJCddLAorICAgICAgICAgICAg
WydleGNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFjXFwubW0kJ10sCisgICAg
ICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HbHlwaFBhZ2VUcmVl
Tm9kZVNraWFcXC5jcHAkJ10sCisgICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0vY2hy
b21pdW0vRHJhZ0ltYWdlQ2hyb21pdW1NYWNcXC5jcHAkJ10sCiAgICAgICAgICAgXSwKICAgICAg
ICAgfV0sCiAgICAgICAgIFsndG9vbGtpdF91c2VzX2d0ayA9PSAwJywgewogICAgICAgICAgICdz
b3VyY2VzLyc6IFsKICAgICAgICAgICAgIFsnZXhjbHVkZScsICcoR3RrfExpbnV4KVxcLmNwcCQn
XSwKICAgICAgICAgICAgIFsnZXhjbHVkZScsICdIYXJmYnV6elteL10rXFwuKGNwcHxoKSQnXSwK
KyAgICAgICAgICBdLAorICAgICAgICB9XSwKKyAgICAgICAgWyd0b29sa2l0X3VzZXNfZ3RrID09
IDAgYW5kIHVzZV9za2lhPT0wJywgeworICAgICAgICAgICdzb3VyY2VzLyc6IFsKICAgICAgICAg
ICAgIFsnZXhjbHVkZScsICdWRE1YW14vXStcXC4oY3BwfGgpJCddLAogICAgICAgICAgIF0sCiAg
ICAgICAgIH1dLAogICAgICAgICBbJ09TIT0ibWFjIicsIHsKLSAgICAgICAgICAnc291cmNlcy8n
OiBbWydleGNsdWRlJywgJ01hY1xcLihjcHB8bW0/KSQnXV0KKyAgICAgICAgICAnc291cmNlcy8n
OiBbCisgICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAnTWFjXFwuKGNwcHxtbT8pJCddLAorCisgICAg
ICAgICAgICAjIExpbnV4IHVzZXMgRm9udExpbnV4OyBXaW5kb3dzIHVzZXMgRm9udFdpbi4gQWRk
aXRpb25hbGx5LCBGb250U2tpYQorICAgICAgICAgICAgIyBpcyBleGNsdWRlZCBieSBhIHJ1bGUg
YWJvdmUgaWYgV2ViS2l0IHVzZXMgQ0cgaW5zdGVhZCBvZiBTa2lhLgorICAgICAgICAgICAgWydl
eGNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udFNraWFcXC5jcHAkJ10sCisgICAg
ICAgICAgXSwKICAgICAgICAgfV0sCiAgICAgICAgIFsnT1MhPSJ3aW4iJywgewogICAgICAgICAg
ICdzb3VyY2VzLyc6IFsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRG
b250LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
Rm9udC5jcHAJKHJldmlzaW9uIDg5ODI1KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZEZvbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAjaW5jbHVk
ZSAiQ2FjaGVkRm9udC5oIgogCiAvLyBGSVhNRTogVGhpcyBzaG91bGQgcmVhbGx5IGJlIGEgYmxh
Y2tsaXN0IGluc3RlYWQgb2YgYSB3aGl0ZWxpc3QKLSNpZiBVU0UoQ0cpIHx8IFBMQVRGT1JNKFFU
KSB8fCBQTEFURk9STShHVEspIHx8IChQTEFURk9STShDSFJPTUlVTSkgJiYgKCFPUyhEQVJXSU4p
IHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpKSkgfHwgUExBVEZPUk0oSEFJS1UpIHx8IE9TKFdJ
TkNFKSB8fCBQTEFURk9STShBTkRST0lEKSB8fCBQTEFURk9STShCUkVXTVApCisjaWYgVVNFKENH
KSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oR1RLKSB8fCAoUExBVEZPUk0oQ0hST01JVU0p
ICYmICghT1MoREFSV0lOKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pKSkgfHwgUExBVEZP
Uk0oSEFJS1UpIHx8IE9TKFdJTkNFKSB8fCBQTEFURk9STShBTkRST0lEKSB8fCBQTEFURk9STShC
UkVXTVApCiAjZGVmaW5lIFNUT1JFX0ZPTlRfQ1VTVE9NX1BMQVRGT1JNX0RBVEEKICNlbmRpZgog
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9EcmFnSW1hZ2VSZWYuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9EcmFnSW1hZ2VS
ZWYuaAkocmV2aXNpb24gODk4MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9EcmFnSW1hZ2VSZWYuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogI2lmbmRl
ZiBEcmFnSW1hZ2VSZWZfaAogI2RlZmluZSBEcmFnSW1hZ2VSZWZfaAogCi0jaWYgT1MoREFSV0lO
KSAmJiAhVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpCiB0eXBlZGVmIHN0cnVj
dCBDR0ltYWdlKiBDR0ltYWdlUmVmOwogI2Vsc2UKIGNsYXNzIFNrQml0bWFwOwpAQCAtMzcsNyAr
MzcsNyBAQCBjbGFzcyBTa0JpdG1hcDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0jaWYgT1Mo
REFSV0lOKSAmJiAhVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpCiB0eXBlZGVm
IENHSW1hZ2VSZWYgRHJhZ0ltYWdlUmVmOwogI2Vsc2UKIHR5cGVkZWYgU2tCaXRtYXAqIERyYWdJ
bWFnZVJlZjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9p
bnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9h
dFBvaW50LmgJKHJldmlzaW9uIDg5ODI1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRmxvYXRQb2ludC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAjaW5j
bHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogCi0jaWYgVVNF
KENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFf
T05fTUFDX0NIUk9NSVVNKQogdHlwZWRlZiBzdHJ1Y3QgQ0dQb2ludCBDR1BvaW50OwogI2VuZGlm
CiAKQEAgLTEzMCw3ICsxMzAsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBGbG9hdFBvaW50
KG1feSwgbV94KTsKICAgICB9CiAKLSNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJP
TUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiAgICAgRmxvYXRQ
b2ludChjb25zdCBDR1BvaW50Jik7CiAgICAgb3BlcmF0b3IgQ0dQb2ludCgpIGNvbnN0OwogI2Vu
ZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3Qu
aAkocmV2aXNpb24gODk4MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
bG9hdFJlY3QuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogCiAjaW5jbHVkZSAi
RmxvYXRQb2ludC5oIgogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQor
I2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogdHlwZWRlZiBzdHJ1Y3Qg
Q0dSZWN0IENHUmVjdDsKICNlbmRpZgogCkBAIC0xNzQsNyArMTc0LDcgQEAgcHVibGljOgogICAg
IHZvaWQgZml0VG9Qb2ludHMoY29uc3QgRmxvYXRQb2ludCYgcDAsIGNvbnN0IEZsb2F0UG9pbnQm
IHAxLCBjb25zdCBGbG9hdFBvaW50JiBwMik7CiAgICAgdm9pZCBmaXRUb1BvaW50cyhjb25zdCBG
bG9hdFBvaW50JiBwMCwgY29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0IEZsb2F0UG9pbnQmIHAy
LCBjb25zdCBGbG9hdFBvaW50JiBwMyk7CiAKLSNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01B
Q19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiAgICAg
RmxvYXRSZWN0KGNvbnN0IENHUmVjdCYpOwogICAgIG9wZXJhdG9yIENHUmVjdCgpIGNvbnN0Owog
I2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNp
emUuaAkocmV2aXNpb24gODk4MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9GbG9hdFNpemUuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUg
IkludFBvaW50LmgiCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIAotI2lmIFVTRShDRykg
fHwgKFBMQVRGT1JNKFdYKSAmJiBPUyhEQVJXSU4pKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01F
KQorI2lmIFVTRShDRykgfHwgKFBMQVRGT1JNKFdYKSAmJiBPUyhEQVJXSU4pKSB8fCBVU0UoU0tJ
QV9PTl9NQUNfQ0hST01JVU0pCiB0eXBlZGVmIHN0cnVjdCBDR1NpemUgQ0dTaXplOwogI2VuZGlm
CiAKQEAgLTEwMiw3ICsxMDIsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBGbG9hdFNpemUo
bV9oZWlnaHQsIG1fd2lkdGgpOwogICAgIH0KIAotI2lmIFVTRShDRykgfHwgKFBMQVRGT1JNKFdY
KSAmJiBPUyhEQVJXSU4pKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykg
fHwgKFBMQVRGT1JNKFdYKSAmJiBPUyhEQVJXSU4pKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01J
VU0pCiAgICAgZXhwbGljaXQgRmxvYXRTaXplKGNvbnN0IENHU2l6ZSYpOyAvLyBkb24ndCBkbyB0
aGlzIGltcGxpY2l0bHkgc2luY2UgaXQncyBsb3NzeQogICAgIG9wZXJhdG9yIENHU2l6ZSgpIGNv
bnN0OwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
UGxhdGZvcm1EYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCShyZXZpc2lvbiA4OTgyNSkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuaAkod29ya2luZyBjb3B5KQpA
QCAtODIsNyArODIsNyBAQCB0eXBlZGVmIGNvbnN0IHN0cnVjdCBfX0NURm9udCogQ1RGb250UmVm
CiB0eXBlZGVmIHN0cnVjdCBIRk9OVF9fKiBIRk9OVDsKICNlbmRpZgogCi0jaWYgVVNFKENHKSB8
fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFD
X0NIUk9NSVVNKQogdHlwZWRlZiBzdHJ1Y3QgQ0dGb250KiBDR0ZvbnRSZWY7CiAjaWYgT1MoREFS
V0lOKQogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgX19DVEZvbnQqIENURm9udFJlZjsKQEAgLTE3Niw3
ICsxNzYsNyBAQCBwdWJsaWM6CiAjaWYgT1MoREFSV0lOKQogICAgIEZvbnRQbGF0Zm9ybURhdGEo
TlNGb250KiwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkID0gZmFsc2UsIGJvb2wgc3lu
dGhldGljT2JsaXF1ZSA9IGZhbHNlLCBGb250T3JpZW50YXRpb24gPSBIb3Jpem9udGFsLAogICAg
ICAgICAgICAgICAgICAgICAgVGV4dE9yaWVudGF0aW9uID0gVGV4dE9yaWVudGF0aW9uVmVydGlj
YWxSaWdodCwgRm9udFdpZHRoVmFyaWFudCA9IFJlZ3VsYXJXaWR0aCk7Ci0jaWYgVVNFKENHKSB8
fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFD
X0NIUk9NSVVNKQogICAgIEZvbnRQbGF0Zm9ybURhdGEoQ0dGb250UmVmIGNnRm9udCwgZmxvYXQg
c2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY09ibGlxdWUsIEZvbnRPcmll
bnRhdGlvbiBvcmllbnRhdGlvbiwKICAgICAgICAgICAgICAgICAgICAgIFRleHRPcmllbnRhdGlv
biB0ZXh0T3JpZW50YXRpb24sIEZvbnRXaWR0aFZhcmlhbnQgd2lkdGhWYXJpYW50KQogICAgICAg
ICA6IG1fc3ludGhldGljQm9sZChzeW50aGV0aWNCb2xkKQpAQCAtMjEyLDcgKzIxMiw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldEZvbnQoTlNGb250Kik7CiAjZW5kaWYKIAotI2lmIFVTRShDRykg
fHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01B
Q19DSFJPTUlVTSkKICNpZiBPUyhEQVJXSU4pCiAgICAgQ0dGb250UmVmIGNnRm9udCgpIGNvbnN0
IHsgcmV0dXJuIG1fY2dGb250LmdldCgpOyB9CiAgICAgQ1RGb250UmVmIGN0Rm9udCgpIGNvbnN0
OwpAQCAtMjQ1LDcgKzI0NSw3IEBAIHB1YmxpYzoKICNpZiBQTEFURk9STShXSU4pICYmICFVU0Uo
Q0FJUk8pCiAgICAgICAgIHJldHVybiBtX2ZvbnQgPyBtX2ZvbnQtPmhhc2goKSA6IDA7CiAjZWxp
ZiBPUyhEQVJXSU4pCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lm
IFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogICAgICAgICBBU1NFUlQobV9m
b250IHx8ICFtX2NnRm9udCk7CiAjZW5kaWYKICAgICAgICAgdWludHB0cl90IGhhc2hDb2Rlc1sz
XSA9IHsgKHVpbnRwdHJfdCltX2ZvbnQsIG1fd2lkdGhWYXJpYW50LCBtX3RleHRPcmllbnRhdGlv
biA8PCAzIHwgbV9vcmllbnRhdGlvbiA8PCAyIHwgbV9zeW50aGV0aWNCb2xkIDw8IDEgfCBtX3N5
bnRoZXRpY09ibGlxdWUgfTsKQEAgLTMyMSw3ICszMjEsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0
cjxSZWZDb3VudGVkR0RJSGFuZGxlPEhGT05UPiA+IG1fZm9udDsKICNlbmRpZgogCi0jaWYgVVNF
KENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFf
T05fTUFDX0NIUk9NSVVNKQogI2lmIFBMQVRGT1JNKFdJTikKICAgICBSZXRhaW5QdHI8Q0dGb250
UmVmPiBtX2NnRm9udDsKICNlbHNlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9HbHlwaEJ1ZmZlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dseXBoQnVmZmVyLmgJKHJldmlzaW9uIDg5ODI1KQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhCdWZmZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzUs
NyArMzUsNyBAQAogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIAotI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBV
U0UoQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkKICNpbmNsdWRlIDxDb3JlR3JhcGhp
Y3MvQ0dHZW9tZXRyeS5oPgogI2VuZGlmCiAKQEAgLTYyLDcgKzYyLDcgQEAgdHlwZWRlZiBHbHlw
aCBHbHlwaEJ1ZmZlckdseXBoOwogCiAvLyBDRyB1c2VzIENHU2l6ZSBpbnN0ZWFkIG9mIEZsb2F0
U2l6ZSBzbyB0aGF0IHRoZSByZXN1bHQgb2YgYWR2YW5jZXMoKQogLy8gY2FuIGJlIHBhc3NlZCBk
aXJlY3RseSB0byBDR0NvbnRleHRTaG93R2x5cGhzV2l0aEFkdmFuY2VzIGluIEZvbnRNYWMubW0K
LSNpZiBVU0UoQ0cpIHx8IChQTEFURk9STShXWCkgJiYgT1MoREFSV0lOKSkgfHwgVVNFKFNLSUFf
T05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpIHx8IChQTEFURk9STShXWCkgJiYgT1MoREFSV0lO
KSkgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogdHlwZWRlZiBDR1NpemUgR2x5cGhCdWZm
ZXJBZHZhbmNlOwogI2VsaWYgT1MoV0lOQ0UpCiAvLyBUaGVyZSBpcyBubyBjcm9zcy1wbGF0Zm9y
bSBjb2RlIHRoYXQgdXNlcyB0aGUgaGVpZ2h0IG9mIEdseXBoQnVmZmVyQWR2YW5jZSwKQEAgLTEy
Niw3ICsxMjYsNyBAQCBwdWJsaWM6CiAKICAgICBmbG9hdCBhZHZhbmNlQXQoaW50IGluZGV4KSBj
b25zdAogICAgIHsKLSNpZiBVU0UoQ0cpIHx8IChQTEFURk9STShXWCkgJiYgT1MoREFSV0lOKSkg
fHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpIHx8IChQTEFURk9STShXWCkg
JiYgT1MoREFSV0lOKSkgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogICAgICAgICByZXR1
cm4gbV9hZHZhbmNlc1tpbmRleF0ud2lkdGg7CiAjZWxpZiBPUyhXSU5DRSkKICAgICAgICAgcmV0
dXJuIG1fYWR2YW5jZXNbaW5kZXhdOwpAQCAtMTU3LDcgKzE1Nyw3IEBAIHB1YmxpYzoKICAgICAg
ICAgbV9nbHlwaHMuYXBwZW5kKGdseXBoKTsKICNlbmRpZgogCi0jaWYgVVNFKENHKSB8fCAoUExB
VEZPUk0oV1gpICYmIE9TKERBUldJTikpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYg
VVNFKENHKSB8fCAoUExBVEZPUk0oV1gpICYmIE9TKERBUldJTikpIHx8IFVTRShTS0lBX09OX01B
Q19DSFJPTUlVTSkKICAgICAgICAgQ0dTaXplIGFkdmFuY2UgPSB7IHdpZHRoLCAwIH07CiAgICAg
ICAgIG1fYWR2YW5jZXMuYXBwZW5kKGFkdmFuY2UpOwogI2VsaWYgT1MoV0lOQ0UpCkBAIC0xOTYs
NyArMTk2LDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgQVNTRVJUKCFpc0VtcHR5KCkpOwog
ICAgICAgICBHbHlwaEJ1ZmZlckFkdmFuY2UmIGxhc3RBZHZhbmNlID0gbV9hZHZhbmNlcy5sYXN0
KCk7Ci0jaWYgVVNFKENHKSB8fCAoUExBVEZPUk0oV1gpICYmIE9TKERBUldJTikpIHx8IFVTRShT
S0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCAoUExBVEZPUk0oV1gpICYmIE9TKERB
UldJTikpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkKICAgICAgICAgbGFzdEFkdmFuY2Uu
d2lkdGggKz0gd2lkdGg7CiAjZWxpZiBPUyhXSU5DRSkKICAgICAgICAgbGFzdEFkdmFuY2UgKz0g
d2lkdGg7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50
LmgJKHJldmlzaW9uIDg5ODI1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
SW50UG9pbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNyBAQAogI2luY2x1ZGUgPFFE
YXRhU3RyZWFtPgogI2VuZGlmCiAKLSNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJP
TUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiB0eXBlZGVmIHN0
cnVjdCBDR1BvaW50IENHUG9pbnQ7CiAjZW5kaWYKIApAQCAtMTIxLDcgKzEyMSw3IEBAIHB1Ymxp
YzoKICAgICAgICAgcmV0dXJuIEludFBvaW50KG1feSwgbV94KTsKICAgICB9CiAKLSNpZiBVU0Uo
Q0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9P
Tl9NQUNfQ0hST01JVU0pCiAgICAgZXhwbGljaXQgSW50UG9pbnQoY29uc3QgQ0dQb2ludCYpOyAv
LyBkb24ndCBkbyB0aGlzIGltcGxpY2l0bHkgc2luY2UgaXQncyBsb3NzeQogICAgIG9wZXJhdG9y
IENHUG9pbnQoKSBjb25zdDsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvSW50UmVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ludFJlY3QuaAkocmV2aXNpb24gODk4MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcg
QEAKICNpbmNsdWRlICJJbnRQb2ludC5oIgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAotI2lm
IFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpIHx8IFVTRShT
S0lBX09OX01BQ19DSFJPTUlVTSkKIHR5cGVkZWYgc3RydWN0IENHUmVjdCBDR1JlY3Q7CiAjZW5k
aWYKIApAQCAtMjAyLDcgKzIwMiw3IEBAIHB1YmxpYzoKICAgICBvcGVyYXRvciBjYWlyb19yZWN0
YW5nbGVfaW50X3QoKSBjb25zdDsKICNlbmRpZgogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9P
Tl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQog
ICAgIG9wZXJhdG9yIENHUmVjdCgpIGNvbnN0OwogI2VuZGlmCiAKQEAgLTI0OCw3ICsyNDgsNyBA
QCBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGNvbnN0IEludFJlY3QmIGEsCiAgICAgcmV0dXJuIGEu
bG9jYXRpb24oKSAhPSBiLmxvY2F0aW9uKCkgfHwgYS5zaXplKCkgIT0gYi5zaXplKCk7CiB9CiAK
LSNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBV
U0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiBJbnRSZWN0IGVuY2xvc2luZ0ludFJlY3QoY29uc3Qg
Q0dSZWN0Jik7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvSW50U2l6ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ludFNpemUuaAkocmV2aXNpb24gODk4MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9JbnRTaXplLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKICNp
Zm5kZWYgSW50U2l6ZV9oCiAjZGVmaW5lIEludFNpemVfaAogCi0jaWYgVVNFKENHKSB8fCBVU0Uo
U0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9N
SVVNKQogdHlwZWRlZiBzdHJ1Y3QgQ0dTaXplIENHU2l6ZTsKICNlbmRpZgogCkBAIC0xMDksNyAr
MTA5LDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gSW50U2l6ZShtX2hlaWdodCwgbV93aWR0
aCk7CiAgICAgfQogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lm
IFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogICAgIGV4cGxpY2l0IEludFNp
emUoY29uc3QgQ0dTaXplJik7IC8vIGRvbid0IGRvIHRoaXMgaW1wbGljaXRseSBzaW5jZSBpdCdz
IGxvc3N5CiAgICAgb3BlcmF0b3IgQ0dTaXplKCkgY29uc3Q7CiAjZW5kaWYKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAkocmV2
aXNpb24gODk4MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVG
b250RGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzcsNyArMTM3LDcgQEAgcHVibGljOgogICAg
IGZsb2F0IGFkanVzdGVkU3BhY2VXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fYWRqdXN0ZWRTcGFj
ZVdpZHRoOyB9CiAgICAgdm9pZCBzZXRTcGFjZVdpZHRoKGZsb2F0IHNwYWNlV2lkdGgpIHsgbV9z
cGFjZVdpZHRoID0gc3BhY2VXaWR0aDsgfQogCi0jaWYgVVNFKENHKSB8fCBVU0UoQ0FJUk8pIHx8
IFBMQVRGT1JNKFdYKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwg
VVNFKENBSVJPKSB8fCBQTEFURk9STShXWCkgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQog
ICAgIGZsb2F0IHN5bnRoZXRpY0JvbGRPZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX3N5bnRoZXRp
Y0JvbGRPZmZzZXQ7IH0KICNlbmRpZgogCkBAIC0yNzAsNyArMjcwLDcgQEAgcHJpdmF0ZToKIAog
ICAgIG11dGFibGUgT3duUHRyPERlcml2ZWRGb250RGF0YT4gbV9kZXJpdmVkRm9udERhdGE7CiAK
LSNpZiBVU0UoQ0cpIHx8IFVTRShDQUlSTykgfHwgUExBVEZPUk0oV1gpIHx8IFVTRShTS0lBX09O
X01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoQ0FJUk8pIHx8IFBMQVRGT1JNKFdYKSB8
fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiAgICAgZmxvYXQgbV9zeW50aGV0aWNCb2xkT2Zm
c2V0OwogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nn
L0Zsb2F0UG9pbnRDRy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvRmxvYXRQb2ludENHLmNwcAkocmV2aXNpb24gODk4MjUpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9GbG9hdFBvaW50Q0cuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNyw3ICsyNyw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRmxv
YXRQb2ludC5oIgogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lm
IFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogCiAjaW5jbHVkZSA8QXBwbGlj
YXRpb25TZXJ2aWNlcy9BcHBsaWNhdGlvblNlcnZpY2VzLmg+CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0Zsb2F0UmVjdENHLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9GbG9hdFJlY3RDRy5jcHAJKHJldmlz
aW9uIDg5ODI1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRS
ZWN0Q0cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAKLSNpZiBVU0UoQ0cpIHx8IFVTRShTS0lB
X09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0p
CiAKICNpbmNsdWRlIDxBcHBsaWNhdGlvblNlcnZpY2VzL0FwcGxpY2F0aW9uU2VydmljZXMuaD4K
IApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRTaXplQ0cu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0Zs
b2F0U2l6ZUNHLmNwcAkocmV2aXNpb24gODk4MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jZy9GbG9hdFNpemVDRy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3
LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJGbG9hdFNpemUuaCIKIAotI2lm
IFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkgfHwgKFBMQVRGT1JNKFFUKSAmJiBV
U0UoUVRLSVQpKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKSB8fCAo
UExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkpCiAKICNpbmNsdWRlIDxBcHBsaWNhdGlvblNlcnZp
Y2VzL0FwcGxpY2F0aW9uU2VydmljZXMuaD4KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvSW50UG9pbnRDRy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50UG9pbnRDRy5jcHAJKHJldmlzaW9uIDg5ODI1KQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50UG9pbnRDRy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJJbnRQb2ludC5oIgogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01F
KQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogCiAjaW5jbHVkZSA8
QXBwbGljYXRpb25TZXJ2aWNlcy9BcHBsaWNhdGlvblNlcnZpY2VzLmg+CiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ludFJlY3RDRy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50UmVjdENHLmNwcAkocmV2
aXNpb24gODk4MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbnRS
ZWN0Q0cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9P
Tl9NQUNfQ0hST01FKSB8fCAoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkpCisjaWYgVVNFKENH
KSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pIHx8IChQTEFURk9STShRVCkgJiYgVVNFKFFU
S0lUKSkKIAogI2luY2x1ZGUgPEFwcGxpY2F0aW9uU2VydmljZXMvQXBwbGljYXRpb25TZXJ2aWNl
cy5oPgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbnRTaXpl
Q0cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nn
L0ludFNpemVDRy5jcHAJKHJldmlzaW9uIDg5ODI1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvSW50U2l6ZUNHLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYs
NyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKIAotI2lmIFVT
RShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpIHx8IFVTRShTS0lB
X09OX01BQ19DSFJPTUlVTSkKIAogI2luY2x1ZGUgPEFwcGxpY2F0aW9uU2VydmljZXMvQXBwbGlj
YXRpb25TZXJ2aWNlcy5oPgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuY3BwCShy
ZXZpc2lvbiA4OTgyNSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9G
b250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsMTQgKzI3LDE0
IEBACiAjaW5jbHVkZSAiV09GRkZpbGVGb3JtYXQuaCIKICNpbmNsdWRlIDxBcHBsaWNhdGlvblNl
cnZpY2VzL0FwcGxpY2F0aW9uU2VydmljZXMuaD4KIAotI2lmIFVTRShTS0lBX09OX01BQ19DSFJP
TUUpCisjaWYgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogI2luY2x1ZGUgIlNrU3RyZWFtLmgi
CiAjaW5jbHVkZSAiU2tUeXBlZmFjZS5oIgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotI2lmIFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKFNLSUFfT05fTUFDX0NIUk9N
SVVNKQogY2xhc3MgUmVtb3RlRm9udFN0cmVhbSA6IHB1YmxpYyBTa1N0cmVhbSB7CiBwdWJsaWM6
CiAgICAgZXhwbGljaXQgUmVtb3RlRm9udFN0cmVhbShQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4g
YnVmZmVyKQpAQCAtODIsNyArODIsNyBAQCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjp+Rm9udEN1
c3RvbVBsYXRmCiAgICAgaWYgKG1fYXRzQ29udGFpbmVyKQogICAgICAgICBBVFNGb250RGVhY3Rp
dmF0ZShtX2F0c0NvbnRhaW5lciwgTlVMTCwga0FUU09wdGlvbkZsYWdzRGVmYXVsdCk7CiAjZW5k
aWYKLSNpZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShTS0lBX09OX01BQ19DSFJP
TUlVTSkKICAgICBTa1NhZmVVbnJlZihtX3R5cGVmYWNlKTsKICNlbmRpZgogICAgIENHRm9udFJl
bGVhc2UobV9jZ0ZvbnQpOwpAQCAtMTYwLDcgKzE2MCw3IEBAIEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEqIGNyZWF0ZUZvbnRDdXN0b20KICNlbmRpZiAvLyAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9Q
QVJEKQogCiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSogZm9udEN1c3RvbVBsYXRmb3JtRGF0
YSA9IG5ldyBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKGNvbnRhaW5lclJlZiwgY2dGb250UmVmLnJl
bGVhc2VSZWYoKSk7Ci0jaWYgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoU0tJQV9P
Tl9NQUNfQ0hST01JVU0pCiAgICAgUmVtb3RlRm9udFN0cmVhbSogc3RyZWFtID0gbmV3IFJlbW90
ZUZvbnRTdHJlYW0oYnVmZmVyKTsKICAgICBmb250Q3VzdG9tUGxhdGZvcm1EYXRhLT5tX3R5cGVm
YWNlID0gU2tUeXBlZmFjZTo6Q3JlYXRlRnJvbVN0cmVhbShzdHJlYW0pOwogI2VuZGlmCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21h
Yy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgJKHJldmlzaW9uIDg5ODI1KQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAkod29y
a2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNyBAQCB0eXBlZGVmIHN0cnVjdCBDR0ZvbnQqIENHRm9u
dFJlZjsKIHR5cGVkZWYgVUludDMyIEFUU0ZvbnRDb250YWluZXJSZWY7CiB0eXBlZGVmIFVJbnQz
MiBBVFNGb250UmVmOwogCi0jaWYgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoU0tJ
QV9PTl9NQUNfQ0hST01JVU0pCiBzdHJ1Y3QgU2tUeXBlZmFjZTsKICNlbmRpZgogCkBAIC00OCw3
ICs0OCw3IEBAIHB1YmxpYzoKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKEFUU0ZvbnRDb250
YWluZXJSZWYgY29udGFpbmVyLCBDR0ZvbnRSZWYgY2dGb250KQogICAgICAgICA6IG1fYXRzQ29u
dGFpbmVyKGNvbnRhaW5lcikKICAgICAgICAgLCBtX2NnRm9udChjZ0ZvbnQpCi0jaWYgVVNFKFNL
SUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiAgICAgICAg
ICwgbV90eXBlZmFjZSgwKQogI2VuZGlmCiAgICAgewpAQCAtNjIsNyArNjIsNyBAQCBwdWJsaWM6
CiAKICAgICBBVFNGb250Q29udGFpbmVyUmVmIG1fYXRzQ29udGFpbmVyOwogICAgIENHRm9udFJl
ZiBtX2NnRm9udDsKLSNpZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShTS0lBX09O
X01BQ19DSFJPTUlVTSkKICAgICBTa1R5cGVmYWNlKiBtX3R5cGVmYWNlOwogI2VuZGlmCiB9OwpJ
bmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg5ODI4KQorKysgU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMiBA
QAorMjAxMS0wNi0yNyAgQ2FyeSBDbGFyayAgPGNhcnljbGFya0Bnb29nbGUuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBTa2lhIGlmIFNr
aWEgb24gTWFjIENocm9tZSBpcyBlbmFibGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02Mjk5OQorCisgICAgICAgICogV2ViS2l0Lmd5cDoKKyAgICAg
ICAgSWYgYnVpbGRpbmcgZm9yIFNraWEsIGV4Y2x1ZGUgQ0cgZmlsZXMuCisgICAgICAgIElmIG5v
dCwgZXhjbHVkZSBTa2lhIGZpbGVzLgorCisgICAgICAgICogZmVhdHVyZXMuZ3lwaToKKyAgICAg
ICAgRW5hYmxlIFNraWEgb24gQ2hyb21pdW0gTWFjIGlmIHNvIGluc3RydWN0ZWQgYnkgdGhlIGd5
cCBkZWZpbmUuCisgICAgICAgIEFsbG93IFNraWEgdG8gYmUgaGFyZHdhcmUgYWNjZWxlcmF0ZWQg
b24gdGhlIE1hYy4KKworICAgICAgICAqIHB1YmxpYy9XZWJDb21tb24uaDoKKyAgICAgICAgSWYg
U2tpYSBpcyBkZWZpbmVkIG9uIHRoZSBNYWMsIGRlZmluZSBpdCBpbiB0aGUgV2ViWFhYCisgICAg
ICAgIGludGVyZmFjZXMgYXMgd2VsbC4KKwogMjAxMS0wNi0yNyAgWXV0YSBLaXRhbXVyYSAgPHl1
dGFrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpJbmRl
eDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAkocmV2aXNpb24gODk4MjUpCisrKyBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHdvcmtpbmcgY29weSkKQEAgLTY4NCw4ICs2ODQs
MTYgQEAKICAgICAgICAgICAgICAgICAgICAgJ2luY2x1ZGVfZGlycyc6IFsKICAgICAgICAgICAg
ICAgICAgICAgICAgICdwdWJsaWMvbWFjJywKICAgICAgICAgICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICAgICAgICAgJ3NvdXJjZXMvJzogWwotICAgICAgICAgICAgICAgICAgICAgICAgWydl
eGNsdWRlJywgJ1NraWFcXC5jcHAkJ10sCisgICAgICAgICAgICAgICAgICAgICdjb25kaXRpb25z
JzogWworICAgICAgICAgICAgICAgICAgICAgICAgWyd1c2Vfc2tpYT09MCcsIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnc291cmNlcy8nOiBbCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFsnZXhjbHVkZScsICdTa2lhXFwuY3BwJCddLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgICAgICAgICB9LHsgIyB1c2Vfc2tpYQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICdzb3VyY2VzLyc6IFsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgWydleGNsdWRlJywgJ0NHXFwuY3BwJCddLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgICAgICAgICB9XSwKICAgICAgICAgICAg
ICAgICAgICAgXSwKICAgICAgICAgICAgICAgICB9LCB7ICMgZWxzZTogT1MhPSJtYWMiCiAgICAg
ICAgICAgICAgICAgICAgICdzb3VyY2VzLyc6IFsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vZmVhdHVyZXMuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL2Zl
YXR1cmVzLmd5cGkJKHJldmlzaW9uIDg5ODI1KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9m
ZWF0dXJlcy5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYsNiArMTA2LDcgQEAKICAgICAgICdl
bmFibGVfc3ZnJSc6IDEsCiAgICAgICAnZW5hYmxlX3RvdWNoX2V2ZW50cyUnOiAxLAogICAgICAg
J3VzZV9za2lhX2dwdSUnOiAwLAorICAgICAgJ3VzZV9za2lhJSc6IDAsCiAgICAgICAnZW5hYmxl
X3RvdWNoX2ljb25fbG9hZGluZyUnIDogMCwKICAgICAgICdlbmFibGVfc21vb3RoX3Njcm9sbGlu
ZyUnOiAwLAogICAgICAgJ2VuYWJsZV9jc3MzX2ZsZXhib3glJzogMCwKQEAgLTExNSw2ICsxMTYs
NyBAQAogICAgICdlbmFibGVfc3ZnJSc6ICc8KGVuYWJsZV9zdmcpJywKICAgICAnZW5hYmxlX3Rv
dWNoX2V2ZW50cyUnOiAnPChlbmFibGVfdG91Y2hfZXZlbnRzKScsCiAgICAgJ2VuYWJsZV9zbW9v
dGhfc2Nyb2xsaW5nJSc6ICc8KGVuYWJsZV9zbW9vdGhfc2Nyb2xsaW5nKScsCisgICAgJ3VzZV9z
a2lhJSc6ICc8KHVzZV9za2lhKScsCiAgICAgJ2NvbmRpdGlvbnMnOiBbCiAgICAgICBbJ3VzZV9h
Y2NlbGVyYXRlZF9jb21wb3NpdGluZz09MScsIHsKICAgICAgICAgJ2ZlYXR1cmVfZGVmaW5lcyc6
IFsKQEAgLTEyMiw3ICsxMjQsNyBAQAogICAgICAgICAgICdFTkFCTEVfM0RfUkVOREVSSU5HPTEn
LAogICAgICAgICBdLAogICAgICAgfV0sCi0gICAgICBbJ3VzZV9hY2NlbGVyYXRlZF9jb21wb3Np
dGluZz09MSBhbmQgT1MhPSJtYWMiJywgeworICAgICAgWyd1c2VfYWNjZWxlcmF0ZWRfY29tcG9z
aXRpbmc9PTEgYW5kIChPUyE9Im1hYyIgb3IgdXNlX3NraWE9PTEpJywgewogICAgICAgICAnZmVh
dHVyZV9kZWZpbmVzJzogWwogICAgICAgICAgICdFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
PTEnLAogICAgICAgICBdLApAQCAtMTQwLDEyICsxNDIsMTggQEAKICAgICAgICAgJ2ZlYXR1cmVf
ZGVmaW5lcyc6IFsKICAgICAgICAgICAnV1RGX1VTRV9XRUJBVURJT19GRk1QRUc9MScsCiAgICAg
ICAgIF0sCisgICAgICAgICd1c2Vfc2tpYSUnOiAxLAogICAgICAgfV0sCiAgICAgICBbJ2VuYWJs
ZV9yZWdpc3Rlcl9wcm90b2NvbF9oYW5kbGVyPT0xJywgewogICAgICAgICAnZmVhdHVyZV9kZWZp
bmVzJzogWwogICAgICAgICAgICdFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUj0xJywK
ICAgICAgICAgXSwKICAgICAgIH1dLAorICAgICAgWydPUz09Im1hYyInLCB7CisgICAgICAgICdm
ZWF0dXJlX2RlZmluZXMnOiBbCisgICAgICAgICAgJ1dURl9VU0VfU0tJQV9PTl9NQUNfQ0hST01J
VU09PCh1c2Vfc2tpYSknLAorICAgICAgICBdLAorICAgICAgfV0sCiAgICAgICBbJ2VuYWJsZV9z
bW9vdGhfc2Nyb2xsaW5nPT0xJywgewogICAgICAgICAnZmVhdHVyZV9kZWZpbmVzJzogWwogICAg
ICAgICAgICdFTkFCTEVfU01PT1RIX1NDUk9MTElORz0xJywKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYkNvbW1vbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYkNvbW1vbi5oCShyZXZpc2lvbiA4OTgyNSkKKysrIFNvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkNvbW1vbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw3
ICszOSw3IEBACiAjZW5kaWYKIAogI2lmICFkZWZpbmVkKFdFQktJVF9VU0lOR19TS0lBKQotICAg
ICNpZiAhZGVmaW5lZChfX0FQUExFX18pCisgICAgI2lmICFkZWZpbmVkKF9fQVBQTEVfXykgfHwg
ZGVmaW5lZChVU0VfU0tJQSkKICAgICAgICAgI2RlZmluZSBXRUJLSVRfVVNJTkdfU0tJQSAxCiAg
ICAgI2Vsc2UKICAgICAgICAgI2RlZmluZSBXRUJLSVRfVVNJTkdfU0tJQSAwCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99310</attachid>
            <date>2011-06-30 08:41:59 -0700</date>
            <delta_ts>2011-06-30 15:00:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62999-20110630114157.patch</filename>
            <type>text/plain</type>
            <size>31240</size>
            <attacher name="Cary Clark">caryclark</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODk4MjgpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTEtMDYtMjcgIENhcnkgQ2xhcmsgIDxjYXJ5Y2xhcmtAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgU2tpYSBpZiBTa2lh
IG9uIE1hYyBDaHJvbWUgaXMgZW5hYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjI5OTkKKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgorICAg
ICAgICBBZGQgc3dpdGNoIHRvIHVzZSBTa2lhIGlmLCBleHRlcm5hbGx5LAorICAgICAgICBTa2lh
IGhhcyBiZWVuIGVuYWJsZWQgYnkgYSBneXAgZGVmaW5lLgorCiAyMDExLTA2LTI3ICBHdXN0YXZv
IE5vcm9uaGEgU2lsdmEgIDxnbnNAZ25vbWUub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVp
bGQgZml4LiBPbmUgbW9yZSBmaWxlZCBtaXNzaW5nIGR1cmluZyBkaXN0Y2hlY2ssIGZvcgpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAkocmV2aXNpb24gODk4MjUpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgJKHdvcmtpbmcgY29weSkKQEAgLTU0
MywxMCArNTQzLDE0IEBACiAjZGVmaW5lIFdURl9VU0VfQ0EgMQogI2VuZGlmCiAKLS8qIFVTRShT
S0lBKSBmb3IgV2luL0xpbnV4LCBDRyBmb3IgTWFjICovCisvKiBVU0UoU0tJQSkgZm9yIFdpbi9M
aW51eCwgQ0cgZm9yIE1hYywgdW5sZXNzIGVuYWJsZWQgKi8KICNpZiBQTEFURk9STShDSFJPTUlV
TSkKICNpZiBPUyhEQVJXSU4pCisjaWYgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQorI2RlZmlu
ZSBXVEZfVVNFX1NLSUEgMQorI2Vsc2UKICNkZWZpbmUgV1RGX1VTRV9DRyAxCisjZW5kaWYKICNk
ZWZpbmUgV1RGX1VTRV9BVFNVSSAxCiAjZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDEKICNkZWZp
bmUgV1RGX1VTRV9JQ0NKUEVHIDEKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg5ODI4KQorKysg
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDggQEAK
KzIwMTEtMDYtMjcgIENhcnkgQ2xhcmsgIDxjYXJ5Y2xhcmtAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgU2tpYSBpZiBTa2lh
IG9uIE1hYyBDaHJvbWUgaXMgZW5hYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjI5OTkKKworICAgICAgICBObyBuZXcgdGVzdHMuIFRoaXMgZG9l
cyBub3QgYWZmZWN0IGV4aXN0aW5nCisgICAgICAgIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAg
KiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAgICAgICAgSW5jbHVkZSBTa2lhIGFuZCByZWxh
dGVkIGZpbGVzIGFuZCBleGNsdWRlIENHCisgICAgICAgIGFuZCByZWxhdGVkIGZpbGVzIHdoZW4g
YnVpbGRpbmcgQ2hyb21pdW0gZm9yIFNraWEKKyAgICAgICAgb24gdGhlIE1hYy4KKworICAgICAg
ICAqIGxvYWRlci9jYWNoZS9DYWNoZWRGb250LmNwcDoKKyAgICAgICAgUmVuYW1lIENIUk9NRSB0
byBDSFJPTUlVTS4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL0RyYWdJbWFnZVJlZi5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9GbG9hdFNpemUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1E
YXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpoYXNoKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5oOgorICAgICAgICAoV2ViQ29yZTo6
R2x5cGhCdWZmZXI6OmFkdmFuY2VBdCk6CisgICAgICAgIChXZWJDb3JlOjpHbHlwaEJ1ZmZlcjo6
YWRkKToKKyAgICAgICAgKFdlYkNvcmU6OkdseXBoQnVmZmVyOjpleHBhbmRMYXN0QWR2YW5jZSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9JbnRSZWN0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50
U2l6ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRQb2ludENHLmNwcDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9GbG9hdFJlY3RDRy5jcHA6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvRmxvYXRTaXplQ0cuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2NnL0ludFBvaW50Q0cuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0lu
dFJlY3RDRy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50U2l6ZUNHLmNw
cDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0
YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjp+Rm9udEN1
c3RvbVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVGb250Q3VzdG9tUGxh
dGZvcm1EYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6Rm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSk6CisgICAgICAgIERpdHRvLgorCiAyMDExLTA2LTI3ICBD
aGFuZ1Nlb2sgT2ggIDxzaGl2YW1pZG93QGdtYWlsLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBNYXJ0aW4gUm9iaW5zb24uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJD
b3JlLmd5cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3Jl
Lmd5cAkocmV2aXNpb24gODk4MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJD
b3JlLmd5cAkod29ya2luZyBjb3B5KQpAQCAtMjYwLDcgKzI2MCw3IEBACiAgICAgICAgICAgJzxA
KHdlYmNvcmVfc3ZnX2JpbmRpbmdzX2lkbF9maWxlcyknLAogICAgICAgICBdLAogICAgICAgfV0s
Ci0gICAgICBbJ09TPT0ibWFjIicsIHsKKyAgICAgIFsnT1M9PSJtYWMiIGFuZCB1c2Vfc2tpYT09
MCcsIHsKICAgICAgICAgJ3dlYmNvcmVfaW5jbHVkZV9kaXJzKyc6IFsKICAgICAgICAgICAjIHBs
YXRmb3JtL2dyYXBoaWNzL2NnIGFuZCBjb2NvYSBuZWVkIHRvIGNvbWUgYmVmb3JlCiAgICAgICAg
ICAgIyBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bSBzbyB0aGF0IHRoZSBNYWMgYnVpbGQgcGlj
a3MgdXAgdGhlCkBAIC0yNzEsNiArMjcxLDggQEAKICAgICAgICAgICAnLi4vcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EnLAogICAgICAgICAgICcuLi9wbGF0Zm9ybS9ncmFwaGljcy9jZycsCiAgICAg
ICAgIF0sCisgICAgICB9XSwKKyAgICAgIFsnT1M9PSJtYWMiJywgewogICAgICAgICAnd2ViY29y
ZV9pbmNsdWRlX2RpcnMnOiBbCiAgICAgICAgICAgIyBGSVhNRTogRWxpbWluYXRlIGRlcGVuZGVu
Y3kgb24gcGxhdGZvcm0vbWFjIGFuZCByZWxhdGVkCiAgICAgICAgICAgIyBkaXJlY3Rvcmllcy4K
QEAgLTI4NCw2ICsyODYsMTIgQEAKICAgICAgICAgICAnLi4vcGxhdGZvcm0vdGV4dC9tYWMnLAog
ICAgICAgICBdLAogICAgICAgfV0sCisgICAgICBbJ09TPT0ibWFjIiBhbmQgdXNlX3NraWE9PTEn
LCB7CisgICAgICAgICd3ZWJjb3JlX2luY2x1ZGVfZGlycyc6IFsKKyAgICAgICAgICAgICAgJy4u
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hJywKKyAgICAgICAgICAgICAgJy4uL3BsYXRmb3JtL2dy
YXBoaWNzL2NnJywKKyAgICAgICAgXSwKKyAgICAgIH1dLAogICAgICAgWydPUz09IndpbiInLCB7
CiAgICAgICAgICd3ZWJjb3JlX2luY2x1ZGVfZGlycyc6IFsKICAgICAgICAgICAnLi4vcGFnZS93
aW4nLApAQCAtMTMzNyw3ICsxMzQ1LDE1IEBACiAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNf
ZGlyKS90aGlyZF9wYXJ0eS9oYXJmYnV6ei9oYXJmYnV6ei5neXA6aGFyZmJ1enonLAogICAgICAg
ICAgIF0sCiAgICAgICAgIH1dLAotICAgICAgICBbJ09TPT0ibWFjIicsIHsKKyAgICAgICAgWydP
Uz09Im1hYyIgYW5kIHVzZV9za2lhPT0wJywgeworICAgICAgICAgICdzb3VyY2VzLyc6IFsKKyAg
ICAgICAgICAgICMgVGhlIE1hYyBidWlsZCBpcyBQTEFURk9STV9DRyB0b28uICBwbGF0Zm9ybS9n
cmFwaGljcy9jZyBpcyB0aGUKKyAgICAgICAgICAgICMgb25seSBwbGFjZSB0aGF0IENHIGZpbGVz
IHdlIHdhbnQgdG8gYnVpbGQgYXJlIGxvY2F0ZWQsIGFuZCBub3QKKyAgICAgICAgICAgICMgYWxs
IG9mIHRoZW0gZXZlbiBoYXZlIGEgQ0cgc3VmZml4LCBzbyBqdXN0IGFkZCB0aGVtIGJ5IGEKKyAg
ICAgICAgICAgICMgcmVnZXhwIG1hdGNoaW5nIHRoZWlyIGRpcmVjdG9yeS4KKyAgICAgICAgICAg
IFsnaW5jbHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9jZy9bXi9dKig/PCFXaW4pP1xcLihjcHB8
bW0/KSQnXSwKKyAgICAgICAgICBdLAorICAgICAgICB9XSxbJ09TPT0ibWFjIicsIHsKICAgICAg
ICAgICAjIE5lY2Vzc2FyeSBmb3IgTWFjIC5tbSBzdHVmZi4KICAgICAgICAgICAnaW5jbHVkZV9k
aXJzJzogWwogICAgICAgICAgICAgJy4uLy4uLy4uL1dlYktpdExpYnJhcmllcycsCkBAIC0xMzY3
LDEyICsxMzgzLDYgQEAKICAgICAgICAgICAgIFsnaW5jbHVkZScsICdDRlxcLmNwcCQnXSwKICAg
ICAgICAgICAgIFsnZXhjbHVkZScsICduZXR3b3JrL2NmLyddLAogCi0gICAgICAgICAgICAjIFRo
ZSBNYWMgYnVpbGQgaXMgUExBVEZPUk1fQ0cgdG9vLiAgcGxhdGZvcm0vZ3JhcGhpY3MvY2cgaXMg
dGhlCi0gICAgICAgICAgICAjIG9ubHkgcGxhY2UgdGhhdCBDRyBmaWxlcyB3ZSB3YW50IHRvIGJ1
aWxkIGFyZSBsb2NhdGVkLCBhbmQgbm90Ci0gICAgICAgICAgICAjIGFsbCBvZiB0aGVtIGV2ZW4g
aGF2ZSBhIENHIHN1ZmZpeCwgc28ganVzdCBhZGQgdGhlbSBieSBhCi0gICAgICAgICAgICAjIHJl
Z2V4cCBtYXRjaGluZyB0aGVpciBkaXJlY3RvcnkuCi0gICAgICAgICAgICBbJ2luY2x1ZGUnLCAn
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvW14vXSooPzwhV2luKT9cXC4oY3BwfG1tPykkJ10sCi0KICAg
ICAgICAgICAgICMgVXNlIG5hdGl2ZSBNYWMgZm9udCBjb2RlIGZyb20gV2ViQ29yZS4KICAgICAg
ICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9ybS8oZ3JhcGhpY3MvKT9tYWMvW14vXSpGb250W14v
XSpcXC4oY3BwfG1tPykkJ10sCiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL0NvbXBsZXhUZXh0W14vXSpcXC4oY3BwfGgpJCddLApAQCAtMTM4OSw3ICsxMzk5
LDYgQEAKICAgICAgICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRmxv
YXRSZWN0TWFjXFwubW0kJ10sCiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL0Zsb2F0U2l6ZU1hY1xcLm1tJCddLAogICAgICAgICAgICAgWydpbmNsdWRlJywg
J3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HbHlwaFBhZ2VUcmVlTm9kZU1hY1xcLmNwcCQnXSwKLSAg
ICAgICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250
ZXh0TWFjXFwubW0kJ10sCiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL0ludFBvaW50TWFjXFwubW0kJ10sCiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxh
dGZvcm0vZ3JhcGhpY3MvbWFjL0ludFJlY3RNYWNcXC5tbSQnXSwKICAgICAgICAgICAgIFsnaW5j
bHVkZScsICdwbGF0Zm9ybS9tYWMvQmxvY2tFeGNlcHRpb25zXFwubW0kJ10sCkBAIC0xNDA1LDkg
KzE0MTQsNiBAQAogCiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAnV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2VcXC5tbSQnXSwKIAotICAgICAgICAgICAgIyBDaHJv
bWl1bSBNYWMgZG9lcyBub3QgdXNlIHNraWEuCi0gICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxh
dGZvcm0vZ3JhcGhpY3Mvc2tpYS9bXi9dKlNraWFcXC4oY3BwfGgpJCddLAotCiAgICAgICAgICAg
ICAjIFRoZSBNYWMgdXNlcyBwbGF0Zm9ybS9tYWMvS2lsbFJpbmdNYWMubW0gaW5zdGVhZCBvZiB0
aGUgZHVtbXkKICAgICAgICAgICAgICMgaW1wbGVtZW50YXRpb24uCiAgICAgICAgICAgICBbJ2V4
Y2x1ZGUnLCAncGxhdGZvcm0vS2lsbFJpbmdOb25lXFwuY3BwJCddLApAQCAtMTQyMCwxNSArMTQy
NiwzNCBAQAogICAgICAgICAgICAgIyByZWxhdGVkIHRvIFNjcm9sbGJhclRoZW1lQ2hyb21pdW0u
Y3BwLgogICAgICAgICAgICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJh
clRoZW1lQ2hyb21pdW1cXC5jcHAkJ10sCiAKLSAgICAgICAgICAgICMgVGhlIE1hYyBjdXJyZW50
bHkgdXNlcyBJbWFnZUNocm9taXVtTWFjLm1tIGZyb20KLSAgICAgICAgICAgICMgcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0sIGluY2x1ZGVkIGJ5IHJlZ2V4IGFib3ZlLCBpbnN0ZWFkLgotICAg
ICAgICAgICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ltYWdlQ2hy
b21pdW1cXC5jcHAkJ10sCi0KICAgICAgICAgICAgICMgVGhlIE1hYyBkb2VzIG5vdCB1c2UgSW1h
Z2VTb3VyY2VDRy5jcHAgZnJvbSBwbGF0Zm9ybS9ncmFwaGljcy9jZwogICAgICAgICAgICAgIyBl
dmVuIHRob3VnaCBpdCBpcyBpbmNsdWRlZCBieSByZWdleCBhYm92ZS4KICAgICAgICAgICAgIFsn
ZXhjbHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZVNvdXJjZUNHXFwuY3BwJCddLAog
ICAgICAgICAgICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNzL2NnL1BERkRvY3VtZW50
SW1hZ2VcXC5jcHAkJ10sCiAKKyAgICAgICAgICAgIFsnaW5jbHVkZScsICcvY2hyb21lL2p1bmtc
XC50eHQkJ10sCisgICAgICAgICAgXSwKKyAgICAgICAgfSx7ICMgT1MhPSJtYWMiCisgICAgICAg
ICAgJ3NvdXJjZXMvJzogWworICAgICAgICAgICAgIyBGSVhNRTogV2Ugd2lsbCBldmVudHVhbGx5
IGNvbXBpbGUgdGhpcyB0b28sIGJ1dCBmb3Igbm93IGl0J3MKKyAgICAgICAgICAgICMgb25seSB1
c2VkIG9uIG1hYy4KKyAgICAgICAgICAgIFsnZXhjbHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9G
b250UGxhdGZvcm1EYXRhXFwuY3BwJCddLAorICAgICAgICAgIF0sCisgICAgICAgIH1dLAorICAg
ICAgICBbJ09TPT0ibWFjIiBhbmQgdXNlX3NraWE9PTAnLCB7CisgICAgICAgICAgJ3NvdXJjZXMv
JzogWworICAgICAgICAgICAgIyBDaGVycnktcGljayBzb21lIGZpbGVzIHRoYXQgY2FuJ3QgYmUg
aW5jbHVkZWQgYnkgYnJvYWRlciByZWdleHBzLgorICAgICAgICAgICAgIyBTb21lIG9mIHRoZXNl
IGFyZSB1c2VkIGluc3RlYWQgb2YgQ2hyb21pdW0gcGxhdGZvcm0gZmlsZXMsIHNlZQorICAgICAg
ICAgICAgIyB0aGUgc3BlY2lmaWMgZXhjbHVzaW9ucyBpbiB0aGUgInNvdXJjZXMhIiBsaXN0IGJl
bG93LgorICAgICAgICAgICAgWydpbmNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFw
aGljc0NvbnRleHRNYWNcXC5tbSQnXSwKKworICAgICAgICAgICAgIyBDaHJvbWl1bSBNYWMgZG9l
cyBub3QgdXNlIHNraWEuCisgICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhp
Y3Mvc2tpYS9bXi9dKlNraWFcXC4oY3BwfGgpJCddLAorCisgICAgICAgICAgICAjIFRoZSBNYWMg
Y3VycmVudGx5IHVzZXMgSW1hZ2VDaHJvbWl1bU1hYy5tbSBmcm9tCisgICAgICAgICAgICAjIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtLCBpbmNsdWRlZCBieSByZWdleCBhYm92ZSwgaW5zdGVh
ZC4KKyAgICAgICAgICAgIFsnZXhjbHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9J
bWFnZUNocm9taXVtXFwuY3BwJCddLAorCiAgICAgICAgICAgICAjIEltYWdlRGVjb2RlclNraWEg
aXMgbm90IHVzZWQgb24gbWFjLiAgSW1hZ2VEZWNvZGVyQ0cgaXMgdXNlZCBpbnN0ZWFkLgogICAg
ICAgICAgICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3NraWEvSW1hZ2VE
ZWNvZGVyU2tpYVxcLmNwcCQnXSwKICAgICAgICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9ybS9p
bWFnZS1kZWNvZGVycy9jZy9JbWFnZURlY29kZXJDR1xcLmNwcCQnXSwKQEAgLTE0MzYsMjYgKzE0
NjEsMzkgQEAKICAgICAgICAgICAgICMgQWdhaW4sIFNraWEgaXMgbm90IHVzZWQgb24gTWFjLgog
ICAgICAgICAgICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2Nocm9taXVtL0RyYWdJbWFnZUNocm9t
aXVtU2tpYVxcLmNwcCQnXSwKICAgICAgICAgICBdLAotICAgICAgICB9LHsgIyBPUyE9Im1hYyIK
KyAgICAgICAgfV0sCisgICAgICAgIFsnT1M9PSJtYWMiIGFuZCB1c2Vfc2tpYT09MScsIHsKICAg
ICAgICAgICAnc291cmNlcy8nOiBbCi0gICAgICAgICAgICAjIEZJWE1FOiBXZSB3aWxsIGV2ZW50
dWFsbHkgY29tcGlsZSB0aGlzIHRvbywgYnV0IGZvciBub3cgaXQncwotICAgICAgICAgICAgIyBv
bmx5IHVzZWQgb24gbWFjLgotICAgICAgICAgICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRQbGF0Zm9ybURhdGFcXC5jcHAkJ10sCi0KLSAgICAgICAgICAgICMgTGludXggdXNl
cyBGb250TGludXg7IFdpbmRvd3MgdXNlcyBGb250V2luLiBBZGRpdGlvbmFsbHksIEZvbnRTa2lh
Ci0gICAgICAgICAgICAjIGlzIGV4Y2x1ZGVkIGJ5IGEgcnVsZSBhYm92ZSBpZiBXZWJLaXQgdXNl
cyBDRyBpbnN0ZWFkIG9mIFNraWEuCi0gICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0v
Z3JhcGhpY3Mvc2tpYS9Gb250U2tpYVxcLmNwcCQnXSwKKyAgICAgICAgICAgIFsnaW5jbHVkZScs
ICdwbGF0Zm9ybS9ncmFwaGljcy9jZy9GbG9hdFBvaW50Q0dcXC5jcHAkJ10sCisgICAgICAgICAg
ICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRSZWN0Q0dcXC5jcHAkJ10s
CisgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRTaXpl
Q0dcXC5jcHAkJ10sCisgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvSW50UG9pbnRDR1xcLmNwcCQnXSwKKyAgICAgICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9y
bS9ncmFwaGljcy9jZy9JbnRSZWN0Q0dcXC5jcHAkJ10sCisgICAgICAgICAgICBbJ2luY2x1ZGUn
LCAncGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50U2l6ZUNHXFwuY3BwJCddLAorICAgICAgICAgICAg
WydleGNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFjXFwubW0kJ10sCisgICAg
ICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HbHlwaFBhZ2VUcmVl
Tm9kZVNraWFcXC5jcHAkJ10sCisgICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0vY2hy
b21pdW0vRHJhZ0ltYWdlQ2hyb21pdW1NYWNcXC5jcHAkJ10sCiAgICAgICAgICAgXSwKICAgICAg
ICAgfV0sCiAgICAgICAgIFsndG9vbGtpdF91c2VzX2d0ayA9PSAwJywgewogICAgICAgICAgICdz
b3VyY2VzLyc6IFsKICAgICAgICAgICAgIFsnZXhjbHVkZScsICcoR3RrfExpbnV4KVxcLmNwcCQn
XSwKICAgICAgICAgICAgIFsnZXhjbHVkZScsICdIYXJmYnV6elteL10rXFwuKGNwcHxoKSQnXSwK
KyAgICAgICAgICBdLAorICAgICAgICB9XSwKKyAgICAgICAgWyd0b29sa2l0X3VzZXNfZ3RrID09
IDAgYW5kIChPUyE9Im1hYyIgb3IgdXNlX3NraWE9PTApJywgeworICAgICAgICAgICdzb3VyY2Vz
Lyc6IFsKICAgICAgICAgICAgIFsnZXhjbHVkZScsICdWRE1YW14vXStcXC4oY3BwfGgpJCddLAog
ICAgICAgICAgIF0sCiAgICAgICAgIH1dLAogICAgICAgICBbJ09TIT0ibWFjIicsIHsKLSAgICAg
ICAgICAnc291cmNlcy8nOiBbWydleGNsdWRlJywgJ01hY1xcLihjcHB8bW0/KSQnXV0KKyAgICAg
ICAgICAnc291cmNlcy8nOiBbCisgICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAnTWFjXFwuKGNwcHxt
bT8pJCddLAorCisgICAgICAgICAgICAjIExpbnV4IHVzZXMgRm9udExpbnV4OyBXaW5kb3dzIHVz
ZXMgRm9udFdpbi4gQWRkaXRpb25hbGx5LCBGb250U2tpYQorICAgICAgICAgICAgIyBpcyBleGNs
dWRlZCBieSBhIHJ1bGUgYWJvdmUgaWYgV2ViS2l0IHVzZXMgQ0cgaW5zdGVhZCBvZiBTa2lhLgor
ICAgICAgICAgICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udFNraWFc
XC5jcHAkJ10sCisgICAgICAgICAgXSwKICAgICAgICAgfV0sCiAgICAgICAgIFsnT1MhPSJ3aW4i
JywgewogICAgICAgICAgICdzb3VyY2VzLyc6IFsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRGb250LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkRm9udC5jcHAJKHJldmlzaW9uIDg5ODI1KQorKysgU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsy
OCw3IEBACiAjaW5jbHVkZSAiQ2FjaGVkRm9udC5oIgogCiAvLyBGSVhNRTogVGhpcyBzaG91bGQg
cmVhbGx5IGJlIGEgYmxhY2tsaXN0IGluc3RlYWQgb2YgYSB3aGl0ZWxpc3QKLSNpZiBVU0UoQ0cp
IHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspIHx8IChQTEFURk9STShDSFJPTUlVTSkg
JiYgKCFPUyhEQVJXSU4pIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpKSkgfHwgUExBVEZPUk0o
SEFJS1UpIHx8IE9TKFdJTkNFKSB8fCBQTEFURk9STShBTkRST0lEKSB8fCBQTEFURk9STShCUkVX
TVApCisjaWYgVVNFKENHKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oR1RLKSB8fCAoUExB
VEZPUk0oQ0hST01JVU0pICYmICghT1MoREFSV0lOKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01J
VU0pKSkgfHwgUExBVEZPUk0oSEFJS1UpIHx8IE9TKFdJTkNFKSB8fCBQTEFURk9STShBTkRST0lE
KSB8fCBQTEFURk9STShCUkVXTVApCiAjZGVmaW5lIFNUT1JFX0ZPTlRfQ1VTVE9NX1BMQVRGT1JN
X0RBVEEKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9E
cmFnSW1hZ2VSZWYuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJv
bWl1bS9EcmFnSW1hZ2VSZWYuaAkocmV2aXNpb24gODk4MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jaHJvbWl1bS9EcmFnSW1hZ2VSZWYuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNyAr
MjksNyBAQAogI2lmbmRlZiBEcmFnSW1hZ2VSZWZfaAogI2RlZmluZSBEcmFnSW1hZ2VSZWZfaAog
Ci0jaWYgT1MoREFSV0lOKSAmJiAhVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cp
CiB0eXBlZGVmIHN0cnVjdCBDR0ltYWdlKiBDR0ltYWdlUmVmOwogI2Vsc2UKIGNsYXNzIFNrQml0
bWFwOwpAQCAtMzcsNyArMzcsNyBAQCBjbGFzcyBTa0JpdG1hcDsKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi0jaWYgT1MoREFSV0lOKSAmJiAhVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBV
U0UoQ0cpCiB0eXBlZGVmIENHSW1hZ2VSZWYgRHJhZ0ltYWdlUmVmOwogI2Vsc2UKIHR5cGVkZWYg
U2tCaXRtYXAqIERyYWdJbWFnZVJlZjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0Zsb2F0UG9pbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9GbG9hdFBvaW50LmgJKHJldmlzaW9uIDg5ODI1KQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3
ICszMSw3IEBACiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJh
cy5oPgogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShD
RykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogdHlwZWRlZiBzdHJ1Y3QgQ0dQb2ludCBD
R1BvaW50OwogI2VuZGlmCiAKQEAgLTEzMCw3ICsxMzAsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJl
dHVybiBGbG9hdFBvaW50KG1feSwgbV94KTsKICAgICB9CiAKLSNpZiBVU0UoQ0cpIHx8IFVTRShT
S0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01J
VU0pCiAgICAgRmxvYXRQb2ludChjb25zdCBDR1BvaW50Jik7CiAgICAgb3BlcmF0b3IgQ0dQb2lu
dCgpIGNvbnN0OwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9GbG9hdFJlY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9GbG9hdFJlY3QuaAkocmV2aXNpb24gODk4MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBA
QAogCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9P
Tl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQog
dHlwZWRlZiBzdHJ1Y3QgQ0dSZWN0IENHUmVjdDsKICNlbmRpZgogCkBAIC0xNzQsNyArMTc0LDcg
QEAgcHVibGljOgogICAgIHZvaWQgZml0VG9Qb2ludHMoY29uc3QgRmxvYXRQb2ludCYgcDAsIGNv
bnN0IEZsb2F0UG9pbnQmIHAxLCBjb25zdCBGbG9hdFBvaW50JiBwMik7CiAgICAgdm9pZCBmaXRU
b1BvaW50cyhjb25zdCBGbG9hdFBvaW50JiBwMCwgY29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0
IEZsb2F0UG9pbnQmIHAyLCBjb25zdCBGbG9hdFBvaW50JiBwMyk7CiAKLSNpZiBVU0UoQ0cpIHx8
IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNf
Q0hST01JVU0pCiAgICAgRmxvYXRSZWN0KGNvbnN0IENHUmVjdCYpOwogICAgIG9wZXJhdG9yIENH
UmVjdCgpIGNvbnN0OwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9GbG9hdFNpemUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9GbG9hdFNpemUuaAkocmV2aXNpb24gODk4MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEs
NyBAQAogI2luY2x1ZGUgIkludFBvaW50LmgiCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4K
IAotI2lmIFVTRShDRykgfHwgKFBMQVRGT1JNKFdYKSAmJiBPUyhEQVJXSU4pKSB8fCBVU0UoU0tJ
QV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgKFBMQVRGT1JNKFdYKSAmJiBPUyhEQVJX
SU4pKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiB0eXBlZGVmIHN0cnVjdCBDR1NpemUg
Q0dTaXplOwogI2VuZGlmCiAKQEAgLTEwMiw3ICsxMDIsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJl
dHVybiBGbG9hdFNpemUobV9oZWlnaHQsIG1fd2lkdGgpOwogICAgIH0KIAotI2lmIFVTRShDRykg
fHwgKFBMQVRGT1JNKFdYKSAmJiBPUyhEQVJXSU4pKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01F
KQorI2lmIFVTRShDRykgfHwgKFBMQVRGT1JNKFdYKSAmJiBPUyhEQVJXSU4pKSB8fCBVU0UoU0tJ
QV9PTl9NQUNfQ0hST01JVU0pCiAgICAgZXhwbGljaXQgRmxvYXRTaXplKGNvbnN0IENHU2l6ZSYp
OyAvLyBkb24ndCBkbyB0aGlzIGltcGxpY2l0bHkgc2luY2UgaXQncyBsb3NzeQogICAgIG9wZXJh
dG9yIENHU2l6ZSgpIGNvbnN0OwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCShyZXZpc2lvbiA4OTgyNSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuaAko
d29ya2luZyBjb3B5KQpAQCAtODIsNyArODIsNyBAQCB0eXBlZGVmIGNvbnN0IHN0cnVjdCBfX0NU
Rm9udCogQ1RGb250UmVmCiB0eXBlZGVmIHN0cnVjdCBIRk9OVF9fKiBIRk9OVDsKICNlbmRpZgog
Ci0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwg
VVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogdHlwZWRlZiBzdHJ1Y3QgQ0dGb250KiBDR0ZvbnRS
ZWY7CiAjaWYgT1MoREFSV0lOKQogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgX19DVEZvbnQqIENURm9u
dFJlZjsKQEAgLTE3Niw3ICsxNzYsNyBAQCBwdWJsaWM6CiAjaWYgT1MoREFSV0lOKQogICAgIEZv
bnRQbGF0Zm9ybURhdGEoTlNGb250KiwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkID0g
ZmFsc2UsIGJvb2wgc3ludGhldGljT2JsaXF1ZSA9IGZhbHNlLCBGb250T3JpZW50YXRpb24gPSBI
b3Jpem9udGFsLAogICAgICAgICAgICAgICAgICAgICAgVGV4dE9yaWVudGF0aW9uID0gVGV4dE9y
aWVudGF0aW9uVmVydGljYWxSaWdodCwgRm9udFdpZHRoVmFyaWFudCA9IFJlZ3VsYXJXaWR0aCk7
Ci0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwg
VVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogICAgIEZvbnRQbGF0Zm9ybURhdGEoQ0dGb250UmVm
IGNnRm9udCwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY09i
bGlxdWUsIEZvbnRPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwKICAgICAgICAgICAgICAgICAgICAg
IFRleHRPcmllbnRhdGlvbiB0ZXh0T3JpZW50YXRpb24sIEZvbnRXaWR0aFZhcmlhbnQgd2lkdGhW
YXJpYW50KQogICAgICAgICA6IG1fc3ludGhldGljQm9sZChzeW50aGV0aWNCb2xkKQpAQCAtMjEy
LDcgKzIxMiw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEZvbnQoTlNGb250Kik7CiAjZW5kaWYK
IAotI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpIHx8
IFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkKICNpZiBPUyhEQVJXSU4pCiAgICAgQ0dGb250UmVm
IGNnRm9udCgpIGNvbnN0IHsgcmV0dXJuIG1fY2dGb250LmdldCgpOyB9CiAgICAgQ1RGb250UmVm
IGN0Rm9udCgpIGNvbnN0OwpAQCAtMjQ1LDcgKzI0NSw3IEBAIHB1YmxpYzoKICNpZiBQTEFURk9S
TShXSU4pICYmICFVU0UoQ0FJUk8pCiAgICAgICAgIHJldHVybiBtX2ZvbnQgPyBtX2ZvbnQtPmhh
c2goKSA6IDA7CiAjZWxpZiBPUyhEQVJXSU4pCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9N
QUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogICAg
ICAgICBBU1NFUlQobV9mb250IHx8ICFtX2NnRm9udCk7CiAjZW5kaWYKICAgICAgICAgdWludHB0
cl90IGhhc2hDb2Rlc1szXSA9IHsgKHVpbnRwdHJfdCltX2ZvbnQsIG1fd2lkdGhWYXJpYW50LCBt
X3RleHRPcmllbnRhdGlvbiA8PCAzIHwgbV9vcmllbnRhdGlvbiA8PCAyIHwgbV9zeW50aGV0aWNC
b2xkIDw8IDEgfCBtX3N5bnRoZXRpY09ibGlxdWUgfTsKQEAgLTMyMSw3ICszMjEsNyBAQCBwcml2
YXRlOgogICAgIFJlZlB0cjxSZWZDb3VudGVkR0RJSGFuZGxlPEhGT05UPiA+IG1fZm9udDsKICNl
bmRpZgogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShD
RykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogI2lmIFBMQVRGT1JNKFdJTikKICAgICBS
ZXRhaW5QdHI8Q0dGb250UmVmPiBtX2NnRm9udDsKICNlbHNlCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoQnVmZmVyLmgJKHJldmlzaW9uIDg5ODI1KQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhCdWZmZXIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzUsNyArMzUsNyBAQAogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgog
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAotI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFD
X0NIUk9NRSkKKyNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkKICNpbmNs
dWRlIDxDb3JlR3JhcGhpY3MvQ0dHZW9tZXRyeS5oPgogI2VuZGlmCiAKQEAgLTYyLDcgKzYyLDcg
QEAgdHlwZWRlZiBHbHlwaCBHbHlwaEJ1ZmZlckdseXBoOwogCiAvLyBDRyB1c2VzIENHU2l6ZSBp
bnN0ZWFkIG9mIEZsb2F0U2l6ZSBzbyB0aGF0IHRoZSByZXN1bHQgb2YgYWR2YW5jZXMoKQogLy8g
Y2FuIGJlIHBhc3NlZCBkaXJlY3RseSB0byBDR0NvbnRleHRTaG93R2x5cGhzV2l0aEFkdmFuY2Vz
IGluIEZvbnRNYWMubW0KLSNpZiBVU0UoQ0cpIHx8IChQTEFURk9STShXWCkgJiYgT1MoREFSV0lO
KSkgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpIHx8IChQTEFURk9STShX
WCkgJiYgT1MoREFSV0lOKSkgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogdHlwZWRlZiBD
R1NpemUgR2x5cGhCdWZmZXJBZHZhbmNlOwogI2VsaWYgT1MoV0lOQ0UpCiAvLyBUaGVyZSBpcyBu
byBjcm9zcy1wbGF0Zm9ybSBjb2RlIHRoYXQgdXNlcyB0aGUgaGVpZ2h0IG9mIEdseXBoQnVmZmVy
QWR2YW5jZSwKQEAgLTEyNiw3ICsxMjYsNyBAQCBwdWJsaWM6CiAKICAgICBmbG9hdCBhZHZhbmNl
QXQoaW50IGluZGV4KSBjb25zdAogICAgIHsKLSNpZiBVU0UoQ0cpIHx8IChQTEFURk9STShXWCkg
JiYgT1MoREFSV0lOKSkgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpIHx8
IChQTEFURk9STShXWCkgJiYgT1MoREFSV0lOKSkgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVN
KQogICAgICAgICByZXR1cm4gbV9hZHZhbmNlc1tpbmRleF0ud2lkdGg7CiAjZWxpZiBPUyhXSU5D
RSkKICAgICAgICAgcmV0dXJuIG1fYWR2YW5jZXNbaW5kZXhdOwpAQCAtMTU3LDcgKzE1Nyw3IEBA
IHB1YmxpYzoKICAgICAgICAgbV9nbHlwaHMuYXBwZW5kKGdseXBoKTsKICNlbmRpZgogCi0jaWYg
VVNFKENHKSB8fCAoUExBVEZPUk0oV1gpICYmIE9TKERBUldJTikpIHx8IFVTRShTS0lBX09OX01B
Q19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCAoUExBVEZPUk0oV1gpICYmIE9TKERBUldJTikpIHx8
IFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkKICAgICAgICAgQ0dTaXplIGFkdmFuY2UgPSB7IHdp
ZHRoLCAwIH07CiAgICAgICAgIG1fYWR2YW5jZXMuYXBwZW5kKGFkdmFuY2UpOwogI2VsaWYgT1Mo
V0lOQ0UpCkBAIC0xOTYsNyArMTk2LDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgQVNTRVJU
KCFpc0VtcHR5KCkpOwogICAgICAgICBHbHlwaEJ1ZmZlckFkdmFuY2UmIGxhc3RBZHZhbmNlID0g
bV9hZHZhbmNlcy5sYXN0KCk7Ci0jaWYgVVNFKENHKSB8fCAoUExBVEZPUk0oV1gpICYmIE9TKERB
UldJTikpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCAoUExBVEZP
Uk0oV1gpICYmIE9TKERBUldJTikpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkKICAgICAg
ICAgbGFzdEFkdmFuY2Uud2lkdGggKz0gd2lkdGg7CiAjZWxpZiBPUyhXSU5DRSkKICAgICAgICAg
bGFzdEFkdmFuY2UgKz0gd2lkdGg7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbnRQb2ludC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ludFBvaW50LmgJKHJldmlzaW9uIDg5ODI1KQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNyBA
QAogI2luY2x1ZGUgPFFEYXRhU3RyZWFtPgogI2VuZGlmCiAKLSNpZiBVU0UoQ0cpIHx8IFVTRShT
S0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01J
VU0pCiB0eXBlZGVmIHN0cnVjdCBDR1BvaW50IENHUG9pbnQ7CiAjZW5kaWYKIApAQCAtMTIxLDcg
KzEyMSw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIEludFBvaW50KG1feSwgbV94KTsKICAg
ICB9CiAKLSNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENH
KSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiAgICAgZXhwbGljaXQgSW50UG9pbnQoY29u
c3QgQ0dQb2ludCYpOyAvLyBkb24ndCBkbyB0aGlzIGltcGxpY2l0bHkgc2luY2UgaXQncyBsb3Nz
eQogICAgIG9wZXJhdG9yIENHUG9pbnQoKSBjb25zdDsKICNlbmRpZgpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaAkocmV2aXNpb24gODk4MjUpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmgJKHdvcmtpbmcgY29weSkK
QEAgLTI5LDcgKzI5LDcgQEAKICNpbmNsdWRlICJJbnRQb2ludC5oIgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIAotI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBV
U0UoQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkKIHR5cGVkZWYgc3RydWN0IENHUmVj
dCBDR1JlY3Q7CiAjZW5kaWYKIApAQCAtMjAyLDcgKzIwMiw3IEBAIHB1YmxpYzoKICAgICBvcGVy
YXRvciBjYWlyb19yZWN0YW5nbGVfaW50X3QoKSBjb25zdDsKICNlbmRpZgogCi0jaWYgVVNFKENH
KSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05f
TUFDX0NIUk9NSVVNKQogICAgIG9wZXJhdG9yIENHUmVjdCgpIGNvbnN0OwogI2VuZGlmCiAKQEAg
LTI0OCw3ICsyNDgsNyBAQCBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGNvbnN0IEludFJlY3QmIGEs
CiAgICAgcmV0dXJuIGEubG9jYXRpb24oKSAhPSBiLmxvY2F0aW9uKCkgfHwgYS5zaXplKCkgIT0g
Yi5zaXplKCk7CiB9CiAKLSNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisj
aWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiBJbnRSZWN0IGVuY2xvc2lu
Z0ludFJlY3QoY29uc3QgQ0dSZWN0Jik7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ludFNpemUuaAkocmV2aXNpb24gODk4MjUpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRTaXplLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2
LDcgKzI2LDcgQEAKICNpZm5kZWYgSW50U2l6ZV9oCiAjZGVmaW5lIEludFNpemVfaAogCi0jaWYg
VVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNL
SUFfT05fTUFDX0NIUk9NSVVNKQogdHlwZWRlZiBzdHJ1Y3QgQ0dTaXplIENHU2l6ZTsKICNlbmRp
ZgogCkBAIC0xMDksNyArMTA5LDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gSW50U2l6ZSht
X2hlaWdodCwgbV93aWR0aCk7CiAgICAgfQogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9N
QUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogICAg
IGV4cGxpY2l0IEludFNpemUoY29uc3QgQ0dTaXplJik7IC8vIGRvbid0IGRvIHRoaXMgaW1wbGlj
aXRseSBzaW5jZSBpdCdzIGxvc3N5CiAgICAgb3BlcmF0b3IgQ0dTaXplKCkgY29uc3Q7CiAjZW5k
aWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRh
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxl
Rm9udERhdGEuaAkocmV2aXNpb24gODk4MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9TaW1wbGVGb250RGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzcsNyArMTM3LDcg
QEAgcHVibGljOgogICAgIGZsb2F0IGFkanVzdGVkU3BhY2VXaWR0aCgpIGNvbnN0IHsgcmV0dXJu
IG1fYWRqdXN0ZWRTcGFjZVdpZHRoOyB9CiAgICAgdm9pZCBzZXRTcGFjZVdpZHRoKGZsb2F0IHNw
YWNlV2lkdGgpIHsgbV9zcGFjZVdpZHRoID0gc3BhY2VXaWR0aDsgfQogCi0jaWYgVVNFKENHKSB8
fCBVU0UoQ0FJUk8pIHx8IFBMQVRGT1JNKFdYKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQor
I2lmIFVTRShDRykgfHwgVVNFKENBSVJPKSB8fCBQTEFURk9STShXWCkgfHwgVVNFKFNLSUFfT05f
TUFDX0NIUk9NSVVNKQogICAgIGZsb2F0IHN5bnRoZXRpY0JvbGRPZmZzZXQoKSBjb25zdCB7IHJl
dHVybiBtX3N5bnRoZXRpY0JvbGRPZmZzZXQ7IH0KICNlbmRpZgogCkBAIC0yNzAsNyArMjcwLDcg
QEAgcHJpdmF0ZToKIAogICAgIG11dGFibGUgT3duUHRyPERlcml2ZWRGb250RGF0YT4gbV9kZXJp
dmVkRm9udERhdGE7CiAKLSNpZiBVU0UoQ0cpIHx8IFVTRShDQUlSTykgfHwgUExBVEZPUk0oV1gp
IHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoQ0FJUk8pIHx8
IFBMQVRGT1JNKFdYKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiAgICAgZmxvYXQgbV9z
eW50aGV0aWNCb2xkT2Zmc2V0OwogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NnL0Zsb2F0UG9pbnRDRy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRQb2ludENHLmNwcAkocmV2aXNpb24gODk4
MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9GbG9hdFBvaW50Q0cu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9N
QUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogCiAj
aW5jbHVkZSA8QXBwbGljYXRpb25TZXJ2aWNlcy9BcHBsaWNhdGlvblNlcnZpY2VzLmg+CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0Zsb2F0UmVjdENHLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9GbG9hdFJl
Y3RDRy5jcHAJKHJldmlzaW9uIDg5ODI1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvRmxvYXRSZWN0Q0cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw3IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAKLSNpZiBVU0Uo
Q0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9P
Tl9NQUNfQ0hST01JVU0pCiAKICNpbmNsdWRlIDxBcHBsaWNhdGlvblNlcnZpY2VzL0FwcGxpY2F0
aW9uU2VydmljZXMuaD4KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvRmxvYXRTaXplQ0cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NnL0Zsb2F0U2l6ZUNHLmNwcAkocmV2aXNpb24gODk4MjUpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9GbG9hdFNpemVDRy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI3LDcgKzI3LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJGbG9h
dFNpemUuaCIKIAotI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkgfHwgKFBM
QVRGT1JNKFFUKSAmJiBVU0UoUVRLSVQpKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFD
X0NIUk9NSVVNKSB8fCAoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkpCiAKICNpbmNsdWRlIDxB
cHBsaWNhdGlvblNlcnZpY2VzL0FwcGxpY2F0aW9uU2VydmljZXMuaD4KIApJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50UG9pbnRDRy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50UG9pbnRDRy5jcHAJKHJl
dmlzaW9uIDg5ODI1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50
UG9pbnRDRy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJJbnRQb2ludC5oIgogCi0jaWYgVVNFKENHKSB8fCBVU0UoU0tJ
QV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVN
KQogCiAjaW5jbHVkZSA8QXBwbGljYXRpb25TZXJ2aWNlcy9BcHBsaWNhdGlvblNlcnZpY2VzLmg+
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ludFJlY3RDRy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50
UmVjdENHLmNwcAkocmV2aXNpb24gODk4MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jZy9JbnRSZWN0Q0cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogCi0jaWYgVVNFKENH
KSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKSB8fCAoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJ
VCkpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pIHx8IChQTEFURk9S
TShRVCkgJiYgVVNFKFFUS0lUKSkKIAogI2luY2x1ZGUgPEFwcGxpY2F0aW9uU2VydmljZXMvQXBw
bGljYXRpb25TZXJ2aWNlcy5oPgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jZy9JbnRTaXplQ0cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NnL0ludFNpemVDRy5jcHAJKHJldmlzaW9uIDg5ODI1KQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50U2l6ZUNHLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkludFNp
emUuaCIKIAotI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0Uo
Q0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkKIAogI2luY2x1ZGUgPEFwcGxpY2F0aW9u
U2VydmljZXMvQXBwbGljYXRpb25TZXJ2aWNlcy5oPgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0
Zm9ybURhdGEuY3BwCShyZXZpc2lvbiA4OTgyNSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjcsMTQgKzI3LDE0IEBACiAjaW5jbHVkZSAiV09GRkZpbGVGb3JtYXQuaCIKICNpbmNsdWRl
IDxBcHBsaWNhdGlvblNlcnZpY2VzL0FwcGxpY2F0aW9uU2VydmljZXMuaD4KIAotI2lmIFVTRShT
S0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQogI2luY2x1
ZGUgIlNrU3RyZWFtLmgiCiAjaW5jbHVkZSAiU2tUeXBlZmFjZS5oIgogI2VuZGlmCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotI2lmIFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKFNL
SUFfT05fTUFDX0NIUk9NSVVNKQogY2xhc3MgUmVtb3RlRm9udFN0cmVhbSA6IHB1YmxpYyBTa1N0
cmVhbSB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVtb3RlRm9udFN0cmVhbShQYXNzUmVmUHRy
PFNoYXJlZEJ1ZmZlcj4gYnVmZmVyKQpAQCAtODIsNyArODIsNyBAQCBGb250Q3VzdG9tUGxhdGZv
cm1EYXRhOjp+Rm9udEN1c3RvbVBsYXRmCiAgICAgaWYgKG1fYXRzQ29udGFpbmVyKQogICAgICAg
ICBBVFNGb250RGVhY3RpdmF0ZShtX2F0c0NvbnRhaW5lciwgTlVMTCwga0FUU09wdGlvbkZsYWdz
RGVmYXVsdCk7CiAjZW5kaWYKLSNpZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShT
S0lBX09OX01BQ19DSFJPTUlVTSkKICAgICBTa1NhZmVVbnJlZihtX3R5cGVmYWNlKTsKICNlbmRp
ZgogICAgIENHRm9udFJlbGVhc2UobV9jZ0ZvbnQpOwpAQCAtMTYwLDcgKzE2MCw3IEBAIEZvbnRD
dXN0b21QbGF0Zm9ybURhdGEqIGNyZWF0ZUZvbnRDdXN0b20KICNlbmRpZiAvLyAhZGVmaW5lZChC
VUlMRElOR19PTl9MRU9QQVJEKQogCiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSogZm9udEN1
c3RvbVBsYXRmb3JtRGF0YSA9IG5ldyBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKGNvbnRhaW5lclJl
ZiwgY2dGb250UmVmLnJlbGVhc2VSZWYoKSk7Ci0jaWYgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkK
KyNpZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiAgICAgUmVtb3RlRm9udFN0cmVhbSogc3Ry
ZWFtID0gbmV3IFJlbW90ZUZvbnRTdHJlYW0oYnVmZmVyKTsKICAgICBmb250Q3VzdG9tUGxhdGZv
cm1EYXRhLT5tX3R5cGVmYWNlID0gU2tUeXBlZmFjZTo6Q3JlYXRlRnJvbVN0cmVhbShzdHJlYW0p
OwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgJKHJldmlzaW9uIDg5ODI1
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0
Zm9ybURhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNyBAQCB0eXBlZGVmIHN0cnVj
dCBDR0ZvbnQqIENHRm9udFJlZjsKIHR5cGVkZWYgVUludDMyIEFUU0ZvbnRDb250YWluZXJSZWY7
CiB0eXBlZGVmIFVJbnQzMiBBVFNGb250UmVmOwogCi0jaWYgVVNFKFNLSUFfT05fTUFDX0NIUk9N
RSkKKyNpZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCiBzdHJ1Y3QgU2tUeXBlZmFjZTsKICNl
bmRpZgogCkBAIC00OCw3ICs0OCw3IEBAIHB1YmxpYzoKICAgICBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhKEFUU0ZvbnRDb250YWluZXJSZWYgY29udGFpbmVyLCBDR0ZvbnRSZWYgY2dGb250KQogICAg
ICAgICA6IG1fYXRzQ29udGFpbmVyKGNvbnRhaW5lcikKICAgICAgICAgLCBtX2NnRm9udChjZ0Zv
bnQpCi0jaWYgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoU0tJQV9PTl9NQUNfQ0hS
T01JVU0pCiAgICAgICAgICwgbV90eXBlZmFjZSgwKQogI2VuZGlmCiAgICAgewpAQCAtNjIsNyAr
NjIsNyBAQCBwdWJsaWM6CiAKICAgICBBVFNGb250Q29udGFpbmVyUmVmIG1fYXRzQ29udGFpbmVy
OwogICAgIENHRm9udFJlZiBtX2NnRm9udDsKLSNpZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQor
I2lmIFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkKICAgICBTa1R5cGVmYWNlKiBtX3R5cGVmYWNl
OwogI2VuZGlmCiB9OwpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg5
ODI4KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwyMiBAQAorMjAxMS0wNi0yNyAgQ2FyeSBDbGFyayAgPGNhcnljbGFya0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFVzZSBTa2lhIGlmIFNraWEgb24gTWFjIENocm9tZSBpcyBlbmFibGVkCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Mjk5OQorCisgICAgICAgICogV2Vi
S2l0Lmd5cDoKKyAgICAgICAgSWYgYnVpbGRpbmcgZm9yIFNraWEsIGV4Y2x1ZGUgQ0cgZmlsZXMu
CisgICAgICAgIElmIG5vdCwgZXhjbHVkZSBTa2lhIGZpbGVzLgorCisgICAgICAgICogZmVhdHVy
ZXMuZ3lwaToKKyAgICAgICAgRW5hYmxlIFNraWEgb24gQ2hyb21pdW0gTWFjIGlmIHNvIGluc3Ry
dWN0ZWQgYnkgdGhlIGd5cCBkZWZpbmUuCisgICAgICAgIEFsbG93IFNraWEgdG8gYmUgaGFyZHdh
cmUgYWNjZWxlcmF0ZWQgb24gdGhlIE1hYy4KKworICAgICAgICAqIHB1YmxpYy9XZWJDb21tb24u
aDoKKyAgICAgICAgSWYgU2tpYSBpcyBkZWZpbmVkIG9uIHRoZSBNYWMsIGRlZmluZSBpdCBpbiB0
aGUgV2ViWFhYCisgICAgICAgIGludGVyZmFjZXMgYXMgd2VsbC4KKwogMjAxMS0wNi0yNyAgWXV0
YSBLaXRhbXVyYSAgPHl1dGFrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBB
ZGFtIEJhcnRoLgpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAkocmV2aXNpb24gODk4
MjUpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHdvcmtpbmcgY29weSkK
QEAgLTY4NCw4ICs2ODQsMTYgQEAKICAgICAgICAgICAgICAgICAgICAgJ2luY2x1ZGVfZGlycyc6
IFsKICAgICAgICAgICAgICAgICAgICAgICAgICdwdWJsaWMvbWFjJywKICAgICAgICAgICAgICAg
ICAgICAgXSwKLSAgICAgICAgICAgICAgICAgICAgJ3NvdXJjZXMvJzogWwotICAgICAgICAgICAg
ICAgICAgICAgICAgWydleGNsdWRlJywgJ1NraWFcXC5jcHAkJ10sCisgICAgICAgICAgICAgICAg
ICAgICdjb25kaXRpb25zJzogWworICAgICAgICAgICAgICAgICAgICAgICAgWyd1c2Vfc2tpYT09
MCcsIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc291cmNlcy8nOiBbCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFsnZXhjbHVkZScsICdTa2lhXFwuY3BwJCddLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgICAgICAgICB9LHsg
IyB1c2Vfc2tpYQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzb3VyY2VzLyc6IFsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWydleGNsdWRlJywgJ0NHXFwuY3BwJCddLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgICAgICAgICB9
XSwKICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICB9LCB7ICMgZWxzZTog
T1MhPSJtYWMiCiAgICAgICAgICAgICAgICAgICAgICdzb3VyY2VzLyc6IFsKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkJKHJldmlzaW9uIDg5ODI1KQorKysgU291cmNlL1dl
YktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYsNiArMTA2
LDcgQEAKICAgICAgICdlbmFibGVfc3ZnJSc6IDEsCiAgICAgICAnZW5hYmxlX3RvdWNoX2V2ZW50
cyUnOiAxLAogICAgICAgJ3VzZV9za2lhX2dwdSUnOiAwLAorICAgICAgJ3VzZV9za2lhJSc6IDAs
CiAgICAgICAnZW5hYmxlX3RvdWNoX2ljb25fbG9hZGluZyUnIDogMCwKICAgICAgICdlbmFibGVf
c21vb3RoX3Njcm9sbGluZyUnOiAwLAogICAgICAgJ2VuYWJsZV9jc3MzX2ZsZXhib3glJzogMCwK
QEAgLTExNSw2ICsxMTYsNyBAQAogICAgICdlbmFibGVfc3ZnJSc6ICc8KGVuYWJsZV9zdmcpJywK
ICAgICAnZW5hYmxlX3RvdWNoX2V2ZW50cyUnOiAnPChlbmFibGVfdG91Y2hfZXZlbnRzKScsCiAg
ICAgJ2VuYWJsZV9zbW9vdGhfc2Nyb2xsaW5nJSc6ICc8KGVuYWJsZV9zbW9vdGhfc2Nyb2xsaW5n
KScsCisgICAgJ3VzZV9za2lhJSc6ICc8KHVzZV9za2lhKScsCiAgICAgJ2NvbmRpdGlvbnMnOiBb
CiAgICAgICBbJ3VzZV9hY2NlbGVyYXRlZF9jb21wb3NpdGluZz09MScsIHsKICAgICAgICAgJ2Zl
YXR1cmVfZGVmaW5lcyc6IFsKQEAgLTEyMiw3ICsxMjQsNyBAQAogICAgICAgICAgICdFTkFCTEVf
M0RfUkVOREVSSU5HPTEnLAogICAgICAgICBdLAogICAgICAgfV0sCi0gICAgICBbJ3VzZV9hY2Nl
bGVyYXRlZF9jb21wb3NpdGluZz09MSBhbmQgT1MhPSJtYWMiJywgeworICAgICAgWyd1c2VfYWNj
ZWxlcmF0ZWRfY29tcG9zaXRpbmc9PTEgYW5kIChPUyE9Im1hYyIgb3IgdXNlX3NraWE9PTEpJywg
ewogICAgICAgICAnZmVhdHVyZV9kZWZpbmVzJzogWwogICAgICAgICAgICdFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTPTEnLAogICAgICAgICBdLApAQCAtMTQwLDEyICsxNDIsMTggQEAKICAg
ICAgICAgJ2ZlYXR1cmVfZGVmaW5lcyc6IFsKICAgICAgICAgICAnV1RGX1VTRV9XRUJBVURJT19G
Rk1QRUc9MScsCiAgICAgICAgIF0sCisgICAgICAgICd1c2Vfc2tpYSUnOiAxLAogICAgICAgfV0s
CiAgICAgICBbJ2VuYWJsZV9yZWdpc3Rlcl9wcm90b2NvbF9oYW5kbGVyPT0xJywgewogICAgICAg
ICAnZmVhdHVyZV9kZWZpbmVzJzogWwogICAgICAgICAgICdFTkFCTEVfUkVHSVNURVJfUFJPVE9D
T0xfSEFORExFUj0xJywKICAgICAgICAgXSwKICAgICAgIH1dLAorICAgICAgWydPUz09Im1hYyIn
LCB7CisgICAgICAgICdmZWF0dXJlX2RlZmluZXMnOiBbCisgICAgICAgICAgJ1dURl9VU0VfU0tJ
QV9PTl9NQUNfQ0hST01JVU09PCh1c2Vfc2tpYSknLAorICAgICAgICBdLAorICAgICAgfV0sCiAg
ICAgICBbJ2VuYWJsZV9zbW9vdGhfc2Nyb2xsaW5nPT0xJywgewogICAgICAgICAnZmVhdHVyZV9k
ZWZpbmVzJzogWwogICAgICAgICAgICdFTkFCTEVfU01PT1RIX1NDUk9MTElORz0xJywKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkNvbW1vbi5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkNvbW1vbi5oCShyZXZpc2lvbiA4OTgy
NSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkNvbW1vbi5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zOSw3ICszOSw3IEBACiAjZW5kaWYKIAogI2lmICFkZWZpbmVkKFdFQktJVF9V
U0lOR19TS0lBKQotICAgICNpZiAhZGVmaW5lZChfX0FQUExFX18pCisgICAgI2lmICFkZWZpbmVk
KF9fQVBQTEVfXykgfHwgZGVmaW5lZChVU0VfU0tJQSkKICAgICAgICAgI2RlZmluZSBXRUJLSVRf
VVNJTkdfU0tJQSAxCiAgICAgI2Vsc2UKICAgICAgICAgI2RlZmluZSBXRUJLSVRfVVNJTkdfU0tJ
QSAwCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>