<?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>39757</bug_id>
          
          <creation_ts>2010-05-26 12:54:49 -0700</creation_ts>
          <short_desc>Add TransformActionEvent support</short_desc>
          <delta_ts>2013-06-24 06:55:56 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</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>40329</dependson>
    
    <dependson>40123</dependson>
    
    <dependson>40125</dependson>
    
    <dependson>40232</dependson>
          <blocked>39979</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kim Grönholm">kim.1.gronholm</reporter>
          <assigned_to name="Kim Grönholm">kim.1.gronholm</assigned_to>
          <cc>abarth</cc>
    
    <cc>ademar</cc>
    
    <cc>benm</cc>
    
    <cc>christian.webkit</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>230822</commentid>
    <comment_count>0</comment_count>
    <who name="Kim Grönholm">kim.1.gronholm</who>
    <bug_when>2010-05-26 12:54:49 -0700</bug_when>
    <thetext>The TransformAction events enable direct manipulation of a DOM element. Typically these events are generated as the user does an action or gesture such as &quot;pan&quot;, &quot;zoom&quot;, or &quot;rotate&quot; requesting transformation of a visual element. As the gestures and actions to transform a visual element vary from device to device, this proposal abstracts them out and provides interface to the actual action the end user is attempting to do.

A draft of the proposal can be found from: http://portaali.org/~ilkkao/w3c/manipulate/Transformaction.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>230870</commentid>
    <comment_count>1</comment_count>
      <attachid>57130</attachid>
    <who name="Kim Grönholm">kim.1.gronholm</who>
    <bug_when>2010-05-26 13:53:39 -0700</bug_when>
    <thetext>Created attachment 57130
Adds TransformActionEvent interfaces

Added only the necessary TransformAction event interfaces and not 
e.g. any eventhandler hooks that generate and dispatch them.

I will later add another patch that enables generating these events
from multi-touch gestures. This separation is done to make
reviewing easier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>230899</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-26 14:32:30 -0700</bug_when>
    <thetext>Attachment 57130 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/2525049</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>230989</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-26 16:09:23 -0700</bug_when>
    <thetext>Attachment 57130 did not build on win:
Build output: http://webkit-commit-queue.appspot.com/results/2551003</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231106</commentid>
    <comment_count>4</comment_count>
      <attachid>57194</attachid>
    <who name="Kim Grönholm">kim.1.gronholm</who>
    <bug_when>2010-05-26 22:36:12 -0700</bug_when>
    <thetext>Created attachment 57194
Updated patch

Missed some V8 bindings etc. Added updated patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231239</commentid>
    <comment_count>5</comment_count>
      <attachid>57226</attachid>
    <who name="Kim Grönholm">kim.1.gronholm</who>
    <bug_when>2010-05-27 05:13:27 -0700</bug_when>
    <thetext>Created attachment 57226
Manual TransformActionEvent test

Uploading a manual test case for TransformAction events.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231250</commentid>
    <comment_count>6</comment_count>
      <attachid>57229</attachid>
    <who name="Kim Grönholm">kim.1.gronholm</who>
    <bug_when>2010-05-27 05:52:50 -0700</bug_when>
    <thetext>Created attachment 57229
Enables generating TransformAction events from touch gestures

This patch enables transformaction events to be generated from touch 
gestures by adding gesture handling machinery and eventhandler hooks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231253</commentid>
    <comment_count>7</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-05-27 05:58:31 -0700</bug_when>
    <thetext>Hi Kim,

I think that the second patch should be in a separate bug that is blocked by this one to make reviews easier. What do you think?

Thanks, Ben</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231286</commentid>
    <comment_count>8</comment_count>
      <attachid>57194</attachid>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-05-27 07:18:49 -0700</bug_when>
    <thetext>Comment on attachment 57194
Updated patch

Looks like a good start! I&apos;m not a reviewer but some comments after trying the first patch on Android:

WebCore/dom/Document.idl:313
 +          attribute [DontEnum,Conditional=TRANSFORMACTION_EVENTS,EnabledAtRuntime] EventListener ontransformactionstart;
If you want to make this a runtime enabled feature then you also need to add methods to the RuntimeEnabledFeatures class
in WebCore/bindings/generic/RuntimeEnabledFeatures.h|cpp - see how touch does it for an example.
I think as the feature is protected by a compile time guard it is safe to default the runtime flag to true.

And a few whitespace nits that my patch tool complained about:

WebCore/dom/TransformActionEvent.cpp:49
 +      int screenY, int clientX, int clientY, bool ctrlKey, bool altKey, 
Trailing whitespace

WebCore/dom/TransformActionEvent.cpp:51
 +      int translateSpeedX, int translateSpeedY, float scale, float scaleSpeed, 
Trailing whitespace

WebCore/dom/TransformActionEvent.h:35
 +      static PassRefPtr&lt;TransformActionEvent&gt; create(const AtomicString&amp; type, 
Trailing whitespace

WebCore/dom/TransformActionEvent.h:36
 +          bool canBubble, bool cancelable, PassRefPtr&lt;AbstractView&gt; view, 
Trailing whitespace

WebCore/dom/TransformActionEvent.h:43
 +              view, screenX, screenY, pageX, pageY, ctrlKey, altKey, shiftKey, 
Trailing whitespace

Would you also mind adding the new files to the Android makefiles? TransformActionEvent.cpp should go in
WebCore/Android.mk and the idl should go into WebCore/Android.derived.v8bindings.mk and
WebCore/Android.derived.jscbindings.mk.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231569</commentid>
    <comment_count>9</comment_count>
      <attachid>57294</attachid>
    <who name="Kim Grönholm">kim.1.gronholm</who>
    <bug_when>2010-05-27 23:02:45 -0700</bug_when>
    <thetext>Created attachment 57294
TransformActionEvent patch #3

Thanks Ben!

I made the changes that you requested and added the new files to the Android makefiles.

Hopefully you have time to test these more and enable support for the event also in the Android port.
At least with QtWebKit on Win7 multi-touch laptop the event and the test page work fine! :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232590</commentid>
    <comment_count>10</comment_count>
      <attachid>57509</attachid>
    <who name="Kim Grönholm">kim.1.gronholm</who>
    <bug_when>2010-05-31 19:47:49 -0700</bug_when>
    <thetext>Created attachment 57509
TransformActionEvent patch #4

Changed my e-mail address in the Changelogs to my new Nokia e-mail address.
Obsoleted also the touch gestures patch as I&apos;m going to create a separate bug for that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232640</commentid>
    <comment_count>11</comment_count>
      <attachid>57509</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-06-01 00:25:24 -0700</bug_when>
    <thetext>Comment on attachment 57509
TransformActionEvent patch #4

r=me

Landing this may require adjusting LayoutTests/platform/chromium/test_expectations.txt

This is work in progress and we must make sure in our communication that the interface is going to change in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232880</commentid>
    <comment_count>12</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-06-01 11:51:22 -0700</bug_when>
    <thetext>Latest patch LGTM as far as Android goes! I&apos;ll try to take a look at the other bug/patch tomorrow.

Cheers, Ben</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233664</commentid>
    <comment_count>13</comment_count>
      <attachid>57744</attachid>
    <who name="Kim Grönholm">kim.1.gronholm</who>
    <bug_when>2010-06-03 01:32:41 -0700</bug_when>
    <thetext>Created attachment 57744
TransformActionEvent patch #5

Rebased the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233675</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-03 02:40:53 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/60614 might have broken Qt Linux Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233679</commentid>
    <comment_count>15</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-06-03 03:00:09 -0700</bug_when>
    <thetext>Committed r60614: &lt;http://trac.webkit.org/changeset/60614&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233680</commentid>
    <comment_count>16</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-06-03 03:00:48 -0700</bug_when>
    <thetext>Committed r60615: &lt;http://trac.webkit.org/changeset/60615&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233685</commentid>
    <comment_count>17</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-06-03 03:23:00 -0700</bug_when>
    <thetext>Committed r60617: &lt;http://trac.webkit.org/changeset/60617&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233801</commentid>
    <comment_count>18</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-06-03 09:47:58 -0700</bug_when>
    <thetext>Rolled out by 
http://trac.webkit.org/changeset/60624
http://trac.webkit.org/changeset/60625
http://trac.webkit.org/changeset/60626

because it made fast/dom/Window/window-postmessage-clone.html 
fail on Mac bots (Tiger, Leopard, Snow Leopard):
http://build.webkit.org/results/Leopard%20Intel%20Release%20%28Tests%29/r60623%20%2815561%29/fast/dom/Window/window-postmessage-clone-pretty-diff.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233803</commentid>
    <comment_count>19</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-06-03 09:50:17 -0700</bug_when>
    <thetext>It is a very-very strange bug, because I can&apos;t reopen it as other bugs.
I can only choose RESOLVED/UNCONFIRMED/VERIED/CLOSED. :o</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234820</commentid>
    <comment_count>20</comment_count>
    <who name="Kim Grönholm">kim.1.gronholm</who>
    <bug_when>2010-06-07 06:21:47 -0700</bug_when>
    <thetext>The failing test is due to a separate bug which this patch revealed. The bug is being tracked here: https://bugs.webkit.org/show_bug.cgi?id=40232</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>239085</commentid>
    <comment_count>21</comment_count>
      <attachid>58935</attachid>
    <who name="Kim Grönholm">kim.1.gronholm</who>
    <bug_when>2010-06-16 14:11:52 -0700</bug_when>
    <thetext>Created attachment 58935
 TransformActionEvent patch #6

Rebased and added the necessary expected results to qt tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>239109</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-16 15:05:23 -0700</bug_when>
    <thetext>Attachment 58935 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/3282236</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>239228</commentid>
    <comment_count>23</comment_count>
    <who name="Kim Grönholm">kim.1.gronholm</who>
    <bug_when>2010-06-16 22:34:47 -0700</bug_when>
    <thetext>Could you Ben take a look at what is wrong? To me it looks like the patch is effectively identical to the previous ones that didn&apos;t break the chromium build. Has something changed somewhere?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>239520</commentid>
    <comment_count>24</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-06-17 12:03:44 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; Could you Ben take a look at what is wrong? To me it looks like the patch is effectively identical to the previous ones that didn&apos;t break the chromium build. Has something changed somewhere?

Hmm, looks to me like the EWS bot didn&apos;t regenerate the makefile for the derived bindings to add in the new TransformAction.idl...

Eric, Dimitri, what do you think? Is it possible to get the EWS to try again and force it to do a clean build?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240598</commentid>
    <comment_count>25</comment_count>
      <attachid>59229</attachid>
    <who name="Kim Grönholm">kim.1.gronholm</who>
    <bug_when>2010-06-20 22:47:20 -0700</bug_when>
    <thetext>Created attachment 59229
TransformActionEvent patch #7

Modified the patch so that it changes the expected result of LayoutTests/fast/dom/Window/window-postmessage-clone.html
so that it doesn&apos;t fail due to a separate bug. See: https://bugs.webkit.org/show_bug.cgi?id=40329</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240602</commentid>
    <comment_count>26</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-20 23:29:52 -0700</bug_when>
    <thetext>Attachment 59229 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/3334508</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258164</commentid>
    <comment_count>27</comment_count>
      <attachid>59229</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-07-30 05:56:51 -0700</bug_when>
    <thetext>Comment on attachment 59229
TransformActionEvent patch #7

Postponing the review until we have more progress on the standardization side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258165</commentid>
    <comment_count>28</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-07-30 05:58:05 -0700</bug_when>
    <thetext>Re-opening as it&apos;s not landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260091</commentid>
    <comment_count>29</comment_count>
      <attachid>57509</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-04 10:25:14 -0700</bug_when>
    <thetext>Comment on attachment 57509
TransformActionEvent patch #4

Cleared Simon Hausmann&apos;s review+ from obsolete attachment 57509 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260092</commentid>
    <comment_count>30</comment_count>
      <attachid>57744</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-04 10:25:19 -0700</bug_when>
    <thetext>Comment on attachment 57744
TransformActionEvent patch #5

Cleared Simon Hausmann&apos;s review+ from obsolete attachment 57744 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333858</commentid>
    <comment_count>31</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2011-01-13 12:05:30 -0800</bug_when>
    <thetext>This patch was applied to QtWebKit-2.1 but now it has been reverted.

Nobody is requiring this anymore, so we&apos;ll wait for it be standardized and get into trunk first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562963</commentid>
    <comment_count>32</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-02-23 01:53:11 -0800</bug_when>
    <thetext>This development is not active anymore.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57130</attachid>
            <date>2010-05-26 13:53:39 -0700</date>
            <delta_ts>2010-05-26 22:36:12 -0700</delta_ts>
            <desc>Adds TransformActionEvent interfaces</desc>
            <filename>transformaction.patch</filename>
            <type>text/plain</type>
            <size>30371</size>
            <attacher name="Kim Grönholm">kim.1.gronholm</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmNDNlYWM4Li44ZWMxNDViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDUt
MjYgIEtpbSBHcsO2bmhvbG0gIDxraW0uZ3JvbmhvbG1Ab3ZpLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgVHJhbnNmb3JtQWN0aW9uRXZl
bnQgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9Mzk3NTcKKworICAgICAgICAqIGZhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9jcmVhdGUt
dHJhbnNmb3JtYWN0aW9uLWV2ZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9ldmVudHMvdHJhbnNmb3JtYWN0aW9uL2NyZWF0ZS10cmFuc2Zvcm1hY3Rpb24tZXZlbnQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvdHJhbnNmb3JtYWN0aW9uL3Jlc291cmNl
cy9jcmVhdGUtdHJhbnNmb3JtYWN0aW9uLWV2ZW50LmpzOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9ndGsvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2tpcHBlZDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS93aW4vU2tpcHBlZDoKKwogMjAxMC0wNS0yNiAgQ3NhYmEgT3N6dHJvZ29u
w6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZml4LCBRdCBzcGVj
aWZpYyBleHBlY3RlZCBmaWxlIHVwZGF0ZWQgYWZ0ZXIgcjYwMjM1LgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
U2tpcHBlZAppbmRleCA2ZTJjMDUwLi5hODM1MjExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBl
ZApAQCAtNTk0MSwzICs1OTQxLDYgQEAgc3RvcmFnZS9pbmRleGVkZGIKIGZhc3QvZG9tL0dlb2xv
Y2F0aW9uL2FyZ3VtZW50LXR5cGVzLmh0bWwKIGZhc3QvZG9tL0dlb2xvY2F0aW9uL25vdGltZXIt
YWZ0ZXItdW5sb2FkLmh0bWwKIGZhc3QvZG9tL0dlb2xvY2F0aW9uL3RpbWVvdXQtemVyby5odG1s
CisKKyMgVGhlc2UgdGVzdHMgcmVxdWlyZSB0cmFuc2Zvcm1hY3Rpb24gZXZlbnQgc3VwcG9ydAor
ZmFzdC9ldmVudHMvdHJhbnNmb3JtYWN0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCmluZGV4
IGNjM2EwNjYuLmJhM2Y3YmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9T
a2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCkBAIC0xMDgsNiAr
MTA4LDkgQEAgbWVkaWEvbWVkaWEtY2FuLXBsYXktb2dnLmh0bWwKICMgVGhlc2UgdGVzdHMgcmVx
dWlyZSB0b3VjaCBzdXBwb3J0CiBmYXN0L2V2ZW50cy90b3VjaAogCisjIFRoZXNlIHRlc3RzIHJl
cXVpcmUgdHJhbnNmb3JtYWN0aW9uIGV2ZW50IHN1cHBvcnQKK2Zhc3QvZXZlbnRzL3RyYW5zZm9y
bWFjdGlvbgorCiAjIFNraXBwZWQgdW50aWwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTMzOTIzIGlzIHJlc29sdmVkLgogcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkv
Y2hhbmdlLW5vdGlmaWNhdGlvbi1vbi1zY3JvbGwuaHRtbAogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lw
cGVkCmluZGV4IGU3ODEzMzQuLjMwOTBlNzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBA
IC03MzksNiArNzM5LDkgQEAgbWVkaWEvbWVkaWEtY2FuLXBsYXktb2dnLmh0bWwKICMgVGhlc2Ug
dGVzdHMgcmVxdWlyZSB0b3VjaCBzdXBwb3J0CiBmYXN0L2V2ZW50cy90b3VjaAogCisjIFRoZXNl
IHRlc3RzIHJlcXVpcmUgdHJhbnNmb3JtYWN0aW9uIGV2ZW50IHN1cHBvcnQKK2Zhc3QvZXZlbnRz
L3RyYW5zZm9ybWFjdGlvbgorCiAjIFhTUyBhdWRpdG9yIHRlc3RzIGludGVybWl0dGVudGx5IHRp
bWUgb3V0IDxodHRwOi8vd2Via2l0Lm9yZy9iLzMyNTI4PgogaHR0cC90ZXN0cy9zZWN1cml0eS94
c3MtREVOSUVELWdldFNWR0RvY3VtZW50LWlmcmFtZS5odG1sCiBodHRwL3Rlc3RzL3NlY3VyaXR5
L3hzcy1ERU5JRUQtZ2V0U1ZHRG9jdW1lbnQtb2JqZWN0Lmh0bWwKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjIxMjJhNy4uYmQyMmZhYSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSw1OCBAQAorMjAxMC0wNS0yNiAgS2ltIEdyw7ZuaG9sbSAgPGtpbS5ncm9uaG9sbUBv
dmkuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBUcmFuc2Zvcm1BY3Rpb25FdmVudCBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTc1NworICAgICAgICAKKyAgICAgICAgQWRkZWQg
b25seSB0aGUgbmVjZXNzYXJ5IFRyYW5zZm9ybUFjdGlvbiBldmVudCBpbnRlcmZhY2VzIGFuZCBu
b3QgZS5nLgorICAgICAgICBhbnkgZXZlbnRoYW5kbGVyIGhvb2tzIHRoYXQgZ2VuZXJhdGUgYW5k
IGRpc3BhdGNoIHRoZW0uCisKKyAgICAgICAgVGVzdDogZmFzdC9ldmVudHMvdHJhbnNmb3JtYWN0
aW9uL2NyZWF0ZS10cmFuc2Zvcm1hY3Rpb24tZXZlbnQuaHRtbAorICAgICAgICBNb3JlIHRlc3Rz
IHdpbGwgYmUgYWRkZWQgd2l0aCB0aGUgbWFjaGluZXJ5IHRoYXQgZ2VuZXJhdGVzIGFuZAorICAg
ICAgICBkaXNwYXRjaGVzIHRoZXNlIGV2ZW50cy4KKworICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
LmNwcDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLnByaToK
KyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50Q3Vz
dG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAgICAqIGRvbS9Eb2N1bWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Y3JlYXRlRXZlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmFkZExpc3RlbmVyVHlwZUlmTmVlZGVkKToKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjopOgorICAgICAg
ICAqIGRvbS9Eb2N1bWVudC5pZGw6CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAgICAg
KiBkb20vRWxlbWVudC5pZGw6CisgICAgICAgICogZG9tL0V2ZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkV2ZW50Ojppc1RyYW5zZm9ybUFjdGlvbkV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkV2ZW50Ojpmcm9tVXNlckdlc3R1cmUpOgorICAgICAgICAqIGRvbS9FdmVudC5oOgorICAgICAg
ICAqIGRvbS9FdmVudE5hbWVzLmg6CisgICAgICAgICogZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1BY3Rpb25FdmVudDo6VHJh
bnNmb3JtQWN0aW9uRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNmb3JtQWN0aW9uRXZl
bnQ6OmluaXRUcmFuc2Zvcm1BY3Rpb25FdmVudCk6CisgICAgICAgICogZG9tL1RyYW5zZm9ybUFj
dGlvbkV2ZW50Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNmb3JtQWN0aW9uRXZl
bnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1BY3Rpb25FdmVudDo6dHJh
bnNsYXRlWCk6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1BY3Rpb25FdmVudDo6dHJhbnNs
YXRlWSk6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1BY3Rpb25FdmVudDo6dHJhbnNsYXRl
U3BlZWRYKToKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9ybUFjdGlvbkV2ZW50Ojp0cmFuc2xh
dGVTcGVlZFkpOgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNmb3JtQWN0aW9uRXZlbnQ6OnNjYWxl
KToKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9ybUFjdGlvbkV2ZW50OjpzY2FsZVNwZWVkKToK
KyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9ybUFjdGlvbkV2ZW50Ojpyb3RhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6VHJhbnNmb3JtQWN0aW9uRXZlbnQ6OnJvdGF0ZVNwZWVkKToKKyAgICAgICAg
KFdlYkNvcmU6OlRyYW5zZm9ybUFjdGlvbkV2ZW50OjpUcmFuc2Zvcm1BY3Rpb25FdmVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1BY3Rpb25FdmVudDo6aXNUcmFuc2Zvcm1BY3Rpb25F
dmVudCk6CisgICAgICAgICogZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50LmlkbDogQWRkZWQuCisg
ICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW46CisgICAgICAgICogaHRtbC9IVE1M
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRWxlbWVudDo6cGFyc2VNYXBwZWRB
dHRyaWJ1dGUpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmg6CisgICAgICAgICogcGFnZS9E
T01XaW5kb3cuaWRsOgorCiAyMDEwLTA1LTI2ICBKZXJlbXkgT3Jsb3cgIDxqb3Jsb3dAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4IGZvciBXaW5kb3dzICsgY2xl
YW4gdXAgdGhlIFZpc3VhbCBTdHVkaW8gcHJvamVjdC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMuY3BwIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggZTVkNjBl
Yy4uMGQ0Y2I5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTM3Myw2ICszNzMsNyBAQAogI2luY2x1ZGUg
IkpTVG91Y2guY3BwIgogI2luY2x1ZGUgIkpTVG91Y2hFdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNU
b3VjaExpc3QuY3BwIgorI2luY2x1ZGUgIkpTVHJhbnNmb3JtQWN0aW9uRXZlbnQuY3BwIgogI2lu
Y2x1ZGUgIkpTVHJlZVdhbGtlci5jcHAiCiAjaW5jbHVkZSAiSlNVSUV2ZW50LmNwcCIKICNpbmNs
dWRlICJKU1ZhbGlkaXR5U3RhdGUuY3BwIgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmls
ZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggMWJiNjcxYy4uZWMxM2I5NiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxl
LmFtCkBAIC0xNzQsNiArMTc0LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKIAlXZWJDb3JlL2RvbS9U
b3VjaC5pZGwgXAogCVdlYkNvcmUvZG9tL1RvdWNoRXZlbnQuaWRsIFwKIAlXZWJDb3JlL2RvbS9U
b3VjaExpc3QuaWRsIFwKKwlXZWJDb3JlL2RvbS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5pZGwgXAog
CVdlYkNvcmUvZG9tL1RyZWVXYWxrZXIuaWRsIFwKIAlXZWJDb3JlL2RvbS9VSUV2ZW50LmlkbCBc
CiAJV2ViQ29yZS9kb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuaWRsIFwKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvV2ViQ29yZS5wcmkgYi9XZWJDb3JlL1dlYkNvcmUucHJpCmluZGV4IDYxODRlNTQuLjZl
ODk4YmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcmkKKysrIGIvV2ViQ29yZS9XZWJD
b3JlLnByaQpAQCAtMTIwLDggKzEyMCwxMSBAQCBncmVhdGVyVGhhbihRVF9NSU5PUl9WRVJTSU9O
LCA1KSB7CiAjIEJlYXJlciBtYW5hZ2VtZW50IGlzIHBhcnQgb2YgUXQgNC43CiAhbGVzc1RoYW4o
UVRfTUlOT1JfVkVSU0lPTiwgNyk6IWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9RVF9CRUFSRVI9
Lik6REVGSU5FUyArPSBFTkFCTEVfUVRfQkVBUkVSPTEKIAotIyBFbmFibGUgdG91Y2ggZXZlbnQg
c3VwcG9ydCB3aXRoIFF0IDQuNgotIWxlc3NUaGFuKFFUX01JTk9SX1ZFUlNJT04sIDYpOiBERUZJ
TkVTICs9IEVOQUJMRV9UT1VDSF9FVkVOVFM9MQorIyBFbmFibGUgdG91Y2ggc3VwcG9ydCB3aXRo
IFF0IDQuNgorIWxlc3NUaGFuKFFUX01JTk9SX1ZFUlNJT04sIDYpIHsKKyAgICBERUZJTkVTICs9
IEVOQUJMRV9UT1VDSF9FVkVOVFM9MQorICAgIERFRklORVMgKz0gRU5BQkxFX1RSQU5TRk9STUFD
VElPTl9FVkVOVFM9MQorfQogCiAjIFVzZWQgdG8gY29tcHV0ZSBkZWZhdWx0cyBmb3IgdGhlIGJ1
aWxkLXdlYmtpdCBzY3JpcHQKIENPTkZJRyhjb21wdXRlX2RlZmF1bHRzKSB7CkBAIC0xNjIsNiAr
MTY1LDcgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVI9MSk6
IEZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBUICs9IEUKIGNvbnRhaW5zKERFRklORVMsIEVOQUJM
RV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlM9MSk6IEZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBU
ICs9IEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlM9MQogY29udGFpbnMoREVGSU5FUywg
RU5BQkxFX1dFQl9TT0NLRVRTPTEpOiBGRUFUVVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBFTkFC
TEVfV0VCX1NPQ0tFVFM9MQogY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1RPVUNIX0VWRU5UUz0x
KTogRkVBVFVSRV9ERUZJTkVTX0pBVkFTQ1JJUFQgKz0gRU5BQkxFX1RPVUNIX0VWRU5UUz0xCitj
b250YWlucyhERUZJTkVTLCBFTkFCTEVfVFJBTlNGT1JNQUNUSU9OX0VWRU5UUz0xKTogRkVBVFVS
RV9ERUZJTkVTX0pBVkFTQ1JJUFQgKz0gRU5BQkxFX1RSQU5TRk9STUFDVElPTl9FVkVOVFM9MQog
Y29udGFpbnMoREVGSU5FUywgRU5BQkxFX1RJTEVEX0JBQ0tJTkdfU1RPUkU9MSk6IEZFQVRVUkVf
REVGSU5FU19KQVZBU0NSSVBUICs9IEVOQUJMRV9USUxFRF9CQUNLSU5HX1NUT1JFPTEKIGNvbnRh
aW5zKERFRklORVMsIEVOQUJMRV9OT1RJRklDQVRJT05TPTEpOiBGRUFUVVJFX0RFRklORVNfSkFW
QVNDUklQVCArPSBFTkFCTEVfTk9USUZJQ0FUSU9OUz0xCiBjb250YWlucyhERUZJTkVTLCBFTkFC
TEVfTUVURVJfVEFHPTEpOiBGRUFUVVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBFTkFCTEVfTUVU
RVJfVEFHPTEKQEAgLTI5OSw2ICszMDMsNyBAQCBJRExfQklORElOR1MgKz0gXAogICAgIGRvbS9U
b3VjaC5pZGwgXAogICAgIGRvbS9Ub3VjaEV2ZW50LmlkbCBcCiAgICAgZG9tL1RvdWNoTGlzdC5p
ZGwgXAorICAgIGRvbS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5pZGwgXAogICAgIGRvbS9UcmVlV2Fs
a2VyLmlkbCBcCiAgICAgZG9tL1VJRXZlbnQuaWRsIFwKICAgICBkb20vV2ViS2l0QW5pbWF0aW9u
RXZlbnQuaWRsIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9XZWJDb3JlL1dl
YkNvcmUucHJvCmluZGV4IDYyNzg1ZjQuLjEyZTE2NmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2Vi
Q29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtNTI0LDYgKzUyNCw3IEBAIFNP
VVJDRVMgKz0gXAogICAgIGRvbS9Ub3VjaC5jcHAgXAogICAgIGRvbS9Ub3VjaEV2ZW50LmNwcCBc
CiAgICAgZG9tL1RvdWNoTGlzdC5jcHAgXAorICAgIGRvbS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5j
cHAgXAogICAgIGRvbS9UcmF2ZXJzYWwuY3BwIFwKICAgICBkb20vVHJlZVdhbGtlci5jcHAgXAog
ICAgIGRvbS9VSUV2ZW50LmNwcCBcCkBAIC0xMjUzLDYgKzEyNTQsNyBAQCBIRUFERVJTICs9IFwK
ICAgICBkb20vVG91Y2guaCBcCiAgICAgZG9tL1RvdWNoRXZlbnQuaCBcCiAgICAgZG9tL1RvdWNo
TGlzdC5oIFwKKyAgICBkb20vVHJhbnNmb3JtQWN0aW9uRXZlbnQuaCBcCiAgICAgZG9tL1RyYW5z
Zm9ybVNvdXJjZS5oIFwKICAgICBkb20vVHJhdmVyc2FsLmggXAogICAgIGRvbS9UcmVlRGVwdGhM
aW1pdC5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5j
cHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCmluZGV4IGI2MTkwZmYu
LjUxMzE4NzEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5j
cHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcApAQCAtODYsNiAr
ODYsMTAgQEAKICNpbmNsdWRlICJKU1RvdWNoRXZlbnQuaCIKICNpbmNsdWRlICJUb3VjaEV2ZW50
LmgiCiAjZW5kaWYKKyNpZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VWRU5UUykKKyNpbmNsdWRl
ICJKU1RyYW5zZm9ybUFjdGlvbkV2ZW50LmgiCisjaW5jbHVkZSAiVHJhbnNmb3JtQWN0aW9uRXZl
bnQuaCIKKyNlbmRpZgogCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAjaW5jbHVkZSAi
SURCRXJyb3JFdmVudC5oIgpAQCAtMTMzLDYgKzEzNywxMCBAQCBKU1ZhbHVlIHRvSlMoRXhlY1N0
YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFdmVudCogZXZlbnQp
CiAgICAgICAgIGVsc2UgaWYgKGV2ZW50LT5pc1RvdWNoRXZlbnQoKSkKICAgICAgICAgICAgIHdy
YXBwZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgVG91
Y2hFdmVudCwgZXZlbnQpOwogI2VuZGlmCisjaWYgRU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVO
VFMpCisgICAgICAgIGVsc2UgaWYgKGV2ZW50LT5pc1RyYW5zZm9ybUFjdGlvbkV2ZW50KCkpCisg
ICAgICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBFUihleGVjLCBnbG9i
YWxPYmplY3QsIFRyYW5zZm9ybUFjdGlvbkV2ZW50LCBldmVudCk7CisjZW5kaWYKICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fT0JKRUNUX1dSQVBQRVIoZXhl
YywgZ2xvYmFsT2JqZWN0LCBVSUV2ZW50LCBldmVudCk7CiAgICAgfSBlbHNlIGlmIChldmVudC0+
aXNNdXRhdGlvbkV2ZW50KCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAg
Yi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggMTg3NDY5MC4uODU3YzA0OCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcApAQCAtMTgwLDYgKzE4MCwxMCBAQAogI2luY2x1ZGUgIlRvdWNoRXZlbnQuaCIKICNlbmRp
ZgogCisjaWYgRU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMpCisjaW5jbHVkZSAiVHJhbnNm
b3JtQWN0aW9uRXZlbnQuaCIKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFdNTCkKICNpbmNsdWRlICJX
TUxEb2N1bWVudC5oIgogI2luY2x1ZGUgIldNTEVsZW1lbnQuaCIKQEAgLTMyMDgsNiArMzIxMiwx
MCBAQCBQYXNzUmVmUHRyPEV2ZW50PiBEb2N1bWVudDo6Y3JlYXRlRXZlbnQoY29uc3QgU3RyaW5n
JiBldmVudFR5cGUsIEV4Y2VwdGlvbkNvZGUmCiAjZW5kaWYKICAgICAgICAgZXZlbnQgPSBUb3Vj
aEV2ZW50OjpjcmVhdGUoKTsKICNlbmRpZgorI2lmIEVOQUJMRShUUkFOU0ZPUk1BQ1RJT05fRVZF
TlRTKQorICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSAiVHJhbnNmb3JtQWN0aW9uRXZlbnQiKQor
ICAgICAgICBldmVudCA9IFRyYW5zZm9ybUFjdGlvbkV2ZW50OjpjcmVhdGUoKTsKKyNlbmRpZgog
ICAgIGlmIChldmVudCkKICAgICAgICAgcmV0dXJuIGV2ZW50LnJlbGVhc2UoKTsKIApAQCAtMzI1
Myw2ICszMjYxLDEyIEBAIHZvaWQgRG9jdW1lbnQ6OmFkZExpc3RlbmVyVHlwZUlmTmVlZGVkKGNv
bnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlKQogICAgICAgICAgICAgcGFnZS0+Y2hyb21lKCkt
PmNsaWVudCgpLT5uZWVkVG91Y2hFdmVudHModHJ1ZSk7CiAgICAgfQogI2VuZGlmCisjaWYgRU5B
QkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMpCisgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2
ZW50TmFtZXMoKS50cmFuc2Zvcm1hY3Rpb25zdGFydEV2ZW50CisgICAgICAgICAgICAgfHwgZXZl
bnRUeXBlID09IGV2ZW50TmFtZXMoKS50cmFuc2Zvcm1hY3Rpb251cGRhdGVFdmVudAorICAgICAg
ICAgICAgIHx8IGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkudHJhbnNmb3JtYWN0aW9uZW5kRXZl
bnQpCisgICAgICAgIGFkZExpc3RlbmVyVHlwZShUUkFOU0ZPUk1BQ1RJT05fTElTVEVORVIpOwor
I2VuZGlmCiB9CiAKIENTU1N0eWxlRGVjbGFyYXRpb24qIERvY3VtZW50OjpnZXRPdmVycmlkZVN0
eWxlKEVsZW1lbnQqLCBjb25zdCBTdHJpbmcmKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggZjBmZGQ1My4uMmQwYjQ5MyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5oCkBAIC0yNzAsNiArMjcwLDExIEBAIHB1YmxpYzoKICAgICBERUZJTkVfQVRUUklCVVRF
X0VWRU5UX0xJU1RFTkVSKHRvdWNoZW5kKTsKICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSKHRvdWNoY2FuY2VsKTsKICNlbmRpZgorI2lmIEVOQUJMRShUUkFOU0ZPUk1BQ1RJT05f
RVZFTlRTKQorICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodHJhbnNmb3JtYWN0
aW9uc3RhcnQpOworICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodHJhbnNmb3Jt
YWN0aW9udXBkYXRlKTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHRyYW5z
Zm9ybWFjdGlvbmVuZCk7CisjZW5kaWYKIAogICAgIERvY3VtZW50VHlwZSogZG9jdHlwZSgpIGNv
bnN0IHsgcmV0dXJuIG1fZG9jVHlwZS5nZXQoKTsgfQogCkBAIC02NTcsNyArNjYyLDggQEAgcHVi
bGljOgogICAgICAgICBBTklNQVRJT05JVEVSQVRJT05fTElTVEVORVIgICAgICAgICAgPSAweDQw
MCwKICAgICAgICAgVFJBTlNJVElPTkVORF9MSVNURU5FUiAgICAgICAgICAgICAgID0gMHg4MDAs
CiAgICAgICAgIEJFRk9SRUxPQURfTElTVEVORVIgICAgICAgICAgICAgICAgICA9IDB4MTAwMCwK
LSAgICAgICAgVE9VQ0hfTElTVEVORVIgICAgICAgICAgICAgICAgICAgICAgID0gMHgyMDAwCisg
ICAgICAgIFRPVUNIX0xJU1RFTkVSICAgICAgICAgICAgICAgICAgICAgICA9IDB4MjAwMCwKKyAg
ICAgICAgVFJBTlNGT1JNQUNUSU9OX0xJU1RFTkVSICAgICAgICAgICAgID0gMHg0MDAwCiAgICAg
fTsKIAogICAgIGJvb2wgaGFzTGlzdGVuZXJUeXBlKExpc3RlbmVyVHlwZSBsaXN0ZW5lclR5cGUp
IGNvbnN0IHsgcmV0dXJuIChtX2xpc3RlbmVyVHlwZXMgJiBsaXN0ZW5lclR5cGUpOyB9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5p
ZGwKaW5kZXggY2Q4NzdiMy4uOTMxOWJjMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1l
bnQuaWRsCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbApAQCAtMzEwLDYgKzMxMCw5IEBA
IG1vZHVsZSBjb3JlIHsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSxDb25kaXRpb25hbD1U
T1VDSF9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRvdWNobW92ZTsK
ICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSxDb25kaXRpb25hbD1UT1VDSF9FVkVOVFMsRW5h
YmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRvdWNoZW5kOwogICAgICAgICBhdHRyaWJ1
dGUgW0RvbnRFbnVtLENvbmRpdGlvbmFsPVRPVUNIX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBF
dmVudExpc3RlbmVyIG9udG91Y2hjYW5jZWw7CisgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0s
Q29uZGl0aW9uYWw9VFJBTlNGT1JNQUNUSU9OX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBFdmVu
dExpc3RlbmVyIG9udHJhbnNmb3JtYWN0aW9uc3RhcnQ7CisgICAgICAgIGF0dHJpYnV0ZSBbRG9u
dEVudW0sQ29uZGl0aW9uYWw9VFJBTlNGT1JNQUNUSU9OX0VWRU5UUyxFbmFibGVkQXRSdW50aW1l
XSBFdmVudExpc3RlbmVyIG9udHJhbnNmb3JtYWN0aW9udXBkYXRlOworICAgICAgICBhdHRyaWJ1
dGUgW0RvbnRFbnVtLENvbmRpdGlvbmFsPVRSQU5TRk9STUFDVElPTl9FVkVOVFMsRW5hYmxlZEF0
UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRyYW5zZm9ybWFjdGlvbmVuZDsKICNlbmRpZgogICAg
IH07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuaAppbmRleCA4ZGEyODkyLi5hNTBiYmRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9F
bGVtZW50LmgKKysrIGIvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC05OCw2ICs5OCwxMSBAQCBw
dWJsaWM6CiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0b3VjaGVuZCk7CiAg
ICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0b3VjaGNhbmNlbCk7CiAjZW5kaWYK
KyNpZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VWRU5UUykKKyAgICBERUZJTkVfQVRUUklCVVRF
X0VWRU5UX0xJU1RFTkVSKHRyYW5zZm9ybWFjdGlvbnN0YXJ0KTsKKyAgICBERUZJTkVfQVRUUklC
VVRFX0VWRU5UX0xJU1RFTkVSKHRyYW5zZm9ybWFjdGlvbnVwZGF0ZSk7CisgICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUih0cmFuc2Zvcm1hY3Rpb25lbmQpOworI2VuZGlmCiAKICAg
ICB2aXJ0dWFsIFBhc3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gY3JlYXRlQ29udGV4dHVhbEZy
YWdtZW50KGNvbnN0IFN0cmluZyYsIEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbiA9IEZyYWdt
ZW50U2NyaXB0aW5nQWxsb3dlZCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0VsZW1lbnQu
aWRsIGIvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwKaW5kZXggNmJiMDY4Ny4uYzg2ODg1ZCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwKKysrIGIvV2ViQ29yZS9kb20vRWxlbWVu
dC5pZGwKQEAgLTE5OSw2ICsxOTksOSBAQCBtb2R1bGUgY29yZSB7CiAgICAgICAgIGF0dHJpYnV0
ZSBbRG9udEVudW0sQ29uZGl0aW9uYWw9VE9VQ0hfRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2
ZW50TGlzdGVuZXIgb250b3VjaG1vdmU7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sQ29u
ZGl0aW9uYWw9VE9VQ0hfRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250
b3VjaGVuZDsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSxDb25kaXRpb25hbD1UT1VDSF9F
VkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRvdWNoY2FuY2VsOworICAg
ICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtLENvbmRpdGlvbmFsPVRSQU5TRk9STUFDVElPTl9FVkVO
VFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRyYW5zZm9ybWFjdGlvbnN0YXJ0
OworICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtLENvbmRpdGlvbmFsPVRSQU5TRk9STUFDVElP
Tl9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRyYW5zZm9ybWFjdGlv
bnVwZGF0ZTsKKyAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSxDb25kaXRpb25hbD1UUkFOU0ZP
Uk1BQ1RJT05fRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250cmFuc2Zv
cm1hY3Rpb25lbmQ7CiAjZW5kaWYKICAgICB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9F
dmVudC5jcHAgYi9XZWJDb3JlL2RvbS9FdmVudC5jcHAKaW5kZXggNGVhM2UwYy4uYjEzYzI4MSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50
LmNwcApAQCAtMjE5LDYgKzIxOSwxMyBAQCBib29sIEV2ZW50Ojppc0RldmljZU9yaWVudGF0aW9u
RXZlbnQoKSBjb25zdAogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VW
RU5UUykKK2Jvb2wgRXZlbnQ6OmlzVHJhbnNmb3JtQWN0aW9uRXZlbnQoKSBjb25zdAoreworICAg
IHJldHVybiBmYWxzZTsKK30KKyNlbmRpZgorCiBib29sIEV2ZW50Ojpmcm9tVXNlckdlc3R1cmUo
KQogewogICAgIGlmICghVXNlckdlc3R1cmVJbmRpY2F0b3I6OnByb2Nlc3NpbmdVc2VyR2VzdHVy
ZSgpKQpAQCAtMjM3LDYgKzI0NCwxMiBAQCBib29sIEV2ZW50Ojpmcm9tVXNlckdlc3R1cmUoKQog
ICAgICAgICB8fCB0eXBlID09IGV2ZW50TmFtZXMoKS50b3VjaHN0YXJ0RXZlbnQgfHwgdHlwZSA9
PSBldmVudE5hbWVzKCkudG91Y2htb3ZlRXZlbnQKICAgICAgICAgfHwgdHlwZSA9PSBldmVudE5h
bWVzKCkudG91Y2hlbmRFdmVudCB8fCB0eXBlID09IGV2ZW50TmFtZXMoKS50b3VjaGNhbmNlbEV2
ZW50CiAjZW5kaWYKKyNpZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VWRU5UUykKKyAgICAgICAg
Ly8gdHJhbnNmb3JtYWN0aW9uIGV2ZW50cworICAgICAgICB8fCB0eXBlID09IGV2ZW50TmFtZXMo
KS50cmFuc2Zvcm1hY3Rpb25zdGFydEV2ZW50CisgICAgICAgIHx8IHR5cGUgPT0gZXZlbnROYW1l
cygpLnRyYW5zZm9ybWFjdGlvbnVwZGF0ZUV2ZW50CisgICAgICAgIHx8IHR5cGUgPT0gZXZlbnRO
YW1lcygpLnRyYW5zZm9ybWFjdGlvbmVuZEV2ZW50CisjZW5kaWYKICAgICAgICAgLy8gb3RoZXIg
YWNjZXB0ZWQgZXZlbnRzCiAgICAgICAgIHx8IHR5cGUgPT0gZXZlbnROYW1lcygpLnNlbGVjdEV2
ZW50IHx8IHR5cGUgPT0gZXZlbnROYW1lcygpLmNoYW5nZUV2ZW50CiAgICAgICAgIHx8IHR5cGUg
PT0gZXZlbnROYW1lcygpLmZvY3VzRXZlbnQgfHwgdHlwZSA9PSBldmVudE5hbWVzKCkuYmx1ckV2
ZW50CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudC5oIGIvV2ViQ29yZS9kb20vRXZlbnQu
aAppbmRleCAyYjU3MGQ1Li4yYzMyNTU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudC5o
CisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50LmgKQEAgLTE0Miw2ICsxNDIsOSBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKICAgICAgICAgdmlydHVh
bCBib29sIGlzRGV2aWNlT3JpZW50YXRpb25FdmVudCgpIGNvbnN0OwogI2VuZGlmCisjaWYgRU5B
QkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMpCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc1RyYW5z
Zm9ybUFjdGlvbkV2ZW50KCkgY29uc3Q7CisjZW5kaWYKICAgICAgICAgYm9vbCBmcm9tVXNlckdl
c3R1cmUoKTsKICAgICAgICAgCiAgICAgICAgIGJvb2wgcHJvcGFnYXRpb25TdG9wcGVkKCkgY29u
c3QgeyByZXR1cm4gbV9wcm9wYWdhdGlvblN0b3BwZWQgfHwgbV9pbW1lZGlhdGVQcm9wYWdhdGlv
blN0b3BwZWQ7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaCBiL1dlYkNv
cmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCA2Y2NlY2VmLi5iYTJkOGUzIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBA
IC0xNTQsNiArMTU0LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyh0b3VjaGVu
ZCkgXAogICAgIG1hY3JvKHRvdWNoY2FuY2VsKSBcCiAgICAgXAorICAgIG1hY3JvKHRyYW5zZm9y
bWFjdGlvbnN0YXJ0KSBcCisgICAgbWFjcm8odHJhbnNmb3JtYWN0aW9udXBkYXRlKSBcCisgICAg
bWFjcm8odHJhbnNmb3JtYWN0aW9uZW5kKSBcCisgICAgXAogICAgIG1hY3JvKHN1Y2Nlc3MpIFwK
ICAgICBcCiAgICAgbWFjcm8obG9hZGVuZCkgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hU
TUxBdHRyaWJ1dGVOYW1lcy5pbiBiL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4K
aW5kZXggN2NkZTMyZi4uMTExMDkyNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxBdHRy
aWJ1dGVOYW1lcy5pbgorKysgYi9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCkBA
IC0yMTIsNiArMjEyLDkgQEAgb250b3VjaHN0YXJ0CiBvbnRvdWNobW92ZQogb250b3VjaGVuZAog
b250b3VjaGNhbmNlbAorb250cmFuc2Zvcm1hY3Rpb25zdGFydAorb250cmFuc2Zvcm1hY3Rpb251
cGRhdGUKK29udHJhbnNmb3JtYWN0aW9uZW5kCiBvbnVubG9hZAogb252b2x1bWVjaGFuZ2UKIG9u
d2FpdGluZwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcCBiL1dlYkNv
cmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKaW5kZXggYTYyM2YyNC4uZGI4YTg3YSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTEVs
ZW1lbnQuY3BwCkBAIC0yNjQsNiArMjY0LDEyIEBAIHZvaWQgSFRNTEVsZW1lbnQ6OnBhcnNlTWFw
cGVkQXR0cmlidXRlKEF0dHJpYnV0ZSogYXR0cikKICAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRM
aXN0ZW5lcihldmVudE5hbWVzKCkudG91Y2hlbmRFdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRM
aXN0ZW5lcih0aGlzLCBhdHRyKSk7CiAgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gb250
b3VjaGNhbmNlbEF0dHIpIHsKICAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVu
dE5hbWVzKCkudG91Y2hjYW5jZWxFdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0
aGlzLCBhdHRyKSk7CisgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gb250cmFuc2Zvcm1h
Y3Rpb25zdGFydEF0dHIpIHsKKyAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVu
dE5hbWVzKCkudHJhbnNmb3JtYWN0aW9uc3RhcnRFdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRM
aXN0ZW5lcih0aGlzLCBhdHRyKSk7CisgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gb250
cmFuc2Zvcm1hY3Rpb251cGRhdGVBdHRyKSB7CisgICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlz
dGVuZXIoZXZlbnROYW1lcygpLnRyYW5zZm9ybWFjdGlvbnVwZGF0ZUV2ZW50LCBjcmVhdGVBdHRy
aWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0dHIpKTsKKyAgICB9IGVsc2UgaWYgKGF0dHItPm5h
bWUoKSA9PSBvbnRyYW5zZm9ybWFjdGlvbmVuZEF0dHIpIHsKKyAgICAgICAgc2V0QXR0cmlidXRl
RXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkudHJhbnNmb3JtYWN0aW9uZW5kRXZlbnQsIGNyZWF0
ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhpcywgYXR0cikpOwogICAgIH0KIH0KIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5o
CmluZGV4IGExZjQwYTguLmRiOGM0NWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuaAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKQEAgLTM0MCw2ICszNDAsMTEgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKHRvdWNoZW5kKTsKICAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0
b3VjaGNhbmNlbCk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VWRU5UUykK
KyAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0cmFuc2Zvcm1hY3Rpb25z
dGFydCk7CisgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodHJhbnNmb3Jt
YWN0aW9udXBkYXRlKTsKKyAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0
cmFuc2Zvcm1hY3Rpb25lbmQpOworI2VuZGlmCiAgICAgICAgIHZvaWQgY2FwdHVyZUV2ZW50cygp
OwogICAgICAgICB2b2lkIHJlbGVhc2VFdmVudHMoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5pZGwgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCBiNDc2
NTE0Li5iMDMyNzBlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysg
Yi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtNzI4LDcgKzcyOCw3IEBAIG1vZHVsZSB3
aW5kb3cgewogI2VuZGlmCiAKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1UT1VDSF9F
VkVOVFNdIFRvdWNoRXZlbnRDb25zdHJ1Y3RvciBUb3VjaEV2ZW50OwotCisgICAgICAgIGF0dHJp
YnV0ZSBbQ29uZGl0aW9uYWw9VFJBTlNGT1JNQUNUSU9OX0VWRU5UU10gVHJhbnNmb3JtQWN0aW9u
RXZlbnRDb25zdHJ1Y3RvciBUcmFuc2Zvcm1BY3Rpb25FdmVudDsKICAgICAgICAgYXR0cmlidXRl
IERPTUZvcm1EYXRhQ29uc3RydWN0b3IgRm9ybURhdGE7CiAKICAgICAgICAgYXR0cmlidXRlIFtD
b25kaXRpb25hbD1GSUxFX1JFQURFUnxGSUxFX1dSSVRFUl0gRmlsZUVycm9yQ29uc3RydWN0b3Ig
RmlsZUVycm9yOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdHJhbnNmb3Jt
YWN0aW9uL2NyZWF0ZS10cmFuc2Zvcm1hY3Rpb24tZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvdHJhbnNmb3JtYWN0aW9uL2NyZWF0ZS10cmFuc2Zvcm1hY3Rpb24t
ZXZlbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5
NjVhNWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90cmFuc2Zv
cm1hY3Rpb24vY3JlYXRlLXRyYW5zZm9ybWFjdGlvbi1ldmVudC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw2IEBACitUaGlzIHRlc3RzIHdoZXRoZXIgdGhlIERPTSBjYW4gY3JlYXRlIFRyYW5zZm9y
bUFjdGlvbkV2ZW50cy4KK1BBU1MgZXZlbnQgaXMgbm9uLW51bGwuCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvdHJhbnNmb3JtYWN0aW9uL2NyZWF0ZS10cmFuc2Zvcm1hY3Rpb24tZXZl
bnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9jcmVhdGUt
dHJhbnNmb3JtYWN0aW9uLWV2ZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uZGY1N2UxYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3RyYW5zZm9ybWFjdGlvbi9jcmVhdGUtdHJhbnNmb3JtYWN0aW9uLWV2ZW50Lmh0bWwKQEAgLTAs
MCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9
InJlc291cmNlcy9jcmVhdGUtdHJhbnNmb3JtYWN0aW9uLWV2ZW50LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Ry
YW5zZm9ybWFjdGlvbi9yZXNvdXJjZXMvY3JlYXRlLXRyYW5zZm9ybWFjdGlvbi1ldmVudC5qcyBi
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9yZXNvdXJjZXMvY3JlYXRl
LXRyYW5zZm9ybWFjdGlvbi1ldmVudC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi5kMjMwOGJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
dHJhbnNmb3JtYWN0aW9uL3Jlc291cmNlcy9jcmVhdGUtdHJhbnNmb3JtYWN0aW9uLWV2ZW50Lmpz
CkBAIC0wLDAgKzEsMTcgQEAKK2Rlc2NyaXB0aW9uID0gIlRoaXMgdGVzdHMgd2hldGhlciB0aGUg
RE9NIGNhbiBjcmVhdGUgVHJhbnNmb3JtQWN0aW9uRXZlbnRzLiI7CisKK2RlYnVnKGRlc2NyaXB0
aW9uKTsKKwordmFyIGV2ZW50ID0gbnVsbDsKKwordHJ5Cit7CisgICAgZXZlbnQgPSBkb2N1bWVu
dC5jcmVhdGVFdmVudCgiVHJhbnNmb3JtQWN0aW9uRXZlbnQiKTsKKyAgICBzaG91bGRCZU5vbk51
bGwoImV2ZW50Iik7Cit9CitjYXRjaCAoZSkKK3sKKyAgICB0ZXN0RmFpbGVkKCJBbiBleGNlcHRp
b24gd2FzIHRocm93bjogIiArIGUubWVzc2FnZSk7Cit9CisKK3N1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5jcHAg
Yi9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uMmEyNWU5NwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZG9t
L1RyYW5zZm9ybUFjdGlvbkV2ZW50LmNwcApAQCAtMCwwICsxLDgwIEBACisvKgorICAgIENvcHly
aWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWll
cykKKworICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYworICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9u
ZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3
cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0Eu
CisqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9O
X0VWRU5UUykKKworI2luY2x1ZGUgIlRyYW5zZm9ybUFjdGlvbkV2ZW50LmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworVHJhbnNmb3JtQWN0aW9uRXZlbnQ6OlRyYW5zZm9ybUFjdGlvbkV2ZW50
KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwKKyAgICBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5j
ZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywgaW50IHNjcmVlblgsCisgICAg
aW50IHNjcmVlblksIGludCBwYWdlWCwgaW50IHBhZ2VZLCBib29sIGN0cmxLZXksIGJvb2wgYWx0
S2V5LAorICAgIGJvb2wgc2hpZnRLZXksIGJvb2wgbWV0YUtleSwgaW50IHRyYW5zbGF0ZVgsIGlu
dCB0cmFuc2xhdGVZLAorICAgIGludCB0cmFuc2xhdGVTcGVlZFgsIGludCB0cmFuc2xhdGVTcGVl
ZFksIGZsb2F0IHNjYWxlLCBmbG9hdCBzY2FsZVNwZWVkLAorICAgIGZsb2F0IHJvdGF0ZSwgZmxv
YXQgcm90YXRlU3BlZWQpCisgICAgOiBNb3VzZVJlbGF0ZWRFdmVudCh0eXBlLCBjYW5CdWJibGUs
IGNhbmNlbGFibGUsIHZpZXcsIDAsIHNjcmVlblgsIHNjcmVlblksCisgICAgICAgICAgICAgICAg
ICAgICAgICBwYWdlWCwgcGFnZVksIGN0cmxLZXksIGFsdEtleSwgc2hpZnRLZXksIG1ldGFLZXkp
CisgICAgLCBtX3RyYW5zbGF0ZVgodHJhbnNsYXRlWCkKKyAgICAsIG1fdHJhbnNsYXRlWSh0cmFu
c2xhdGVZKQorICAgICwgbV90cmFuc2xhdGVTcGVlZFgodHJhbnNsYXRlU3BlZWRYKQorICAgICwg
bV90cmFuc2xhdGVTcGVlZFkodHJhbnNsYXRlU3BlZWRZKQorICAgICwgbV9zY2FsZShzY2FsZSkK
KyAgICAsIG1fc2NhbGVTcGVlZChzY2FsZVNwZWVkKQorICAgICwgbV9yb3RhdGUocm90YXRlKQor
ICAgICwgbV9yb3RhdGVTcGVlZChyb3RhdGVTcGVlZCkKK3sKK30KKwordm9pZCBUcmFuc2Zvcm1B
Y3Rpb25FdmVudDo6aW5pdFRyYW5zZm9ybUFjdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYg
dHlwZSwKKyAgICBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFi
c3RyYWN0Vmlldz4gdmlldywgaW50IHNjcmVlblgsCisgICAgaW50IHNjcmVlblksIGludCBjbGll
bnRYLCBpbnQgY2xpZW50WSwgYm9vbCBjdHJsS2V5LCBib29sIGFsdEtleSwgCisgICAgYm9vbCBz
aGlmdEtleSwgYm9vbCBtZXRhS2V5LCBpbnQgdHJhbnNsYXRlWCwgaW50IHRyYW5zbGF0ZVksCisg
ICAgaW50IHRyYW5zbGF0ZVNwZWVkWCwgaW50IHRyYW5zbGF0ZVNwZWVkWSwgZmxvYXQgc2NhbGUs
IGZsb2F0IHNjYWxlU3BlZWQsIAorICAgIGZsb2F0IHJvdGF0ZSwgZmxvYXQgcm90YXRlU3BlZWQp
Cit7CisgICAgaWYgKGRpc3BhdGNoZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaW5pdFVJ
RXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlLCB2aWV3LCAwKTsKKworICAgIG1fY3Ry
bEtleSA9IGN0cmxLZXk7CisgICAgbV9hbHRLZXkgPSBhbHRLZXk7CisgICAgbV9zaGlmdEtleSA9
IHNoaWZ0S2V5OworICAgIG1fbWV0YUtleSA9IG1ldGFLZXk7CisKKyAgICBtX3NjcmVlblggPSBz
Y3JlZW5YOworICAgIG1fc2NyZWVuWSA9IHNjcmVlblk7CisgICAgaW5pdENvb3JkaW5hdGVzKGNs
aWVudFgsIGNsaWVudFkpOworCisgICAgbV90cmFuc2xhdGVYID0gdHJhbnNsYXRlWDsKKyAgICBt
X3RyYW5zbGF0ZVkgPSB0cmFuc2xhdGVZOworICAgIG1fdHJhbnNsYXRlU3BlZWRYID0gdHJhbnNs
YXRlU3BlZWRYOworICAgIG1fdHJhbnNsYXRlU3BlZWRZID0gdHJhbnNsYXRlU3BlZWRZOworICAg
IG1fc2NhbGUgPSBzY2FsZTsKKyAgICBtX3NjYWxlU3BlZWQgPSBzY2FsZVNwZWVkOworICAgIG1f
cm90YXRlID0gcm90YXRlOworICAgIG1fcm90YXRlU3BlZWQgPSByb3RhdGVTcGVlZDsKK30KKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFRSQU5TRk9STUFDVElP
Tl9FVkVOVFMpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5o
IGIvV2ViQ29yZS9kb20vVHJhbnNmb3JtQWN0aW9uRXZlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi4yYTkzZDc5Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9kb20v
VHJhbnNmb3JtQWN0aW9uRXZlbnQuaApAQCAtMCwwICsxLDg5IEBACisvKgorICAgIENvcHlyaWdo
dCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykK
KworICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYworICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor
ICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisq
LworCisjaWZuZGVmIFRyYW5zZm9ybUFjdGlvbkV2ZW50X2gKKyNkZWZpbmUgVHJhbnNmb3JtQWN0
aW9uRXZlbnRfaAorCisjaWYgRU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMpCisKKyNpbmNs
dWRlICJNb3VzZVJlbGF0ZWRFdmVudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IFRyYW5zZm9ybUFjdGlvbkV2ZW50IDogcHVibGljIE1vdXNlUmVsYXRlZEV2ZW50IHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxUcmFuc2Zvcm1BY3Rpb25FdmVudD4gY3JlYXRlKCkK
KyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgVHJhbnNmb3JtQWN0aW9uRXZlbnQp
OworICAgIH0KKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxUcmFuc2Zvcm1BY3Rpb25FdmVudD4gY3Jl
YXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgCisgICAgICAgIGJvb2wgY2FuQnViYmxlLCBi
b29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCAKKyAgICAgICAg
aW50IHNjcmVlblgsIGludCBzY3JlZW5ZLCBpbnQgcGFnZVgsIGludCBwYWdlWSwgYm9vbCBjdHJs
S2V5LAorICAgICAgICBib29sIGFsdEtleSwgYm9vbCBzaGlmdEtleSwgYm9vbCBtZXRhS2V5LCBp
bnQgdHJhbnNsYXRlWCwKKyAgICAgICAgaW50IHRyYW5zbGF0ZVksIGludCB0cmFuc2xhdGVTcGVl
ZFgsIGludCB0cmFuc2xhdGVTcGVlZFksIGZsb2F0IHNjYWxlLAorICAgICAgICBmbG9hdCBzY2Fs
ZVNwZWVkLCBmbG9hdCByb3RhdGUsIGZsb2F0IHJvdGF0ZVNwZWVkKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBUcmFuc2Zvcm1BY3Rpb25FdmVudCh0eXBlLCBjYW5CdWJibGUs
IGNhbmNlbGFibGUsCisgICAgICAgICAgICB2aWV3LCBzY3JlZW5YLCBzY3JlZW5ZLCBwYWdlWCwg
cGFnZVksIGN0cmxLZXksIGFsdEtleSwgc2hpZnRLZXksIAorICAgICAgICAgICAgbWV0YUtleSwg
dHJhbnNsYXRlWCwgdHJhbnNsYXRlWSwgdHJhbnNsYXRlU3BlZWRYLCB0cmFuc2xhdGVTcGVlZFks
CisgICAgICAgICAgICBzY2FsZSwgc2NhbGVTcGVlZCwgcm90YXRlLCByb3RhdGVTcGVlZCkpOwor
ICAgIH0KKyAgICAKKyAgICB2b2lkIGluaXRUcmFuc2Zvcm1BY3Rpb25FdmVudChjb25zdCBBdG9t
aWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCAKKyAgICAgICAgYm9vbCBjYW5jZWxhYmxl
LCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywgaW50IHNjcmVlblgsCisgICAgICAgIGlu
dCBzY3JlZW5ZLCBpbnQgY2xpZW50WCwgaW50IGNsaWVudFksIGJvb2wgY3RybEtleSwgYm9vbCBh
bHRLZXksIAorICAgICAgICBib29sIHNoaWZ0S2V5LCBib29sIG1ldGFLZXksIGludCB0cmFuc2xh
dGVYLCBpbnQgdHJhbnNsYXRlWSwKKyAgICAgICAgaW50IHRyYW5zbGF0ZVNwZWVkWCwgaW50IHRy
YW5zbGF0ZVNwZWVkWSwgZmxvYXQgc2NhbGUsIGZsb2F0IHNjYWxlU3BlZWQsIAorICAgICAgICBm
bG9hdCByb3RhdGUsIGZsb2F0IHJvdGF0ZVNwZWVkKTsKKworICAgIGludCB0cmFuc2xhdGVYKCkg
Y29uc3QgeyByZXR1cm4gbV90cmFuc2xhdGVYOyB9CisgICAgaW50IHRyYW5zbGF0ZVkoKSBjb25z
dCB7IHJldHVybiBtX3RyYW5zbGF0ZVk7IH0KKyAgICBpbnQgdHJhbnNsYXRlU3BlZWRYKCkgY29u
c3QgeyByZXR1cm4gbV90cmFuc2xhdGVTcGVlZFg7IH0KKyAgICBpbnQgdHJhbnNsYXRlU3BlZWRZ
KCkgY29uc3QgeyByZXR1cm4gbV90cmFuc2xhdGVTcGVlZFk7IH0KKyAgICBmbG9hdCBzY2FsZSgp
IGNvbnN0IHsgcmV0dXJuIG1fc2NhbGU7IH0KKyAgICBmbG9hdCBzY2FsZVNwZWVkKCkgY29uc3Qg
eyByZXR1cm4gbV9zY2FsZVNwZWVkOyB9CisgICAgZmxvYXQgcm90YXRlKCkgY29uc3QgeyByZXR1
cm4gbV9yb3RhdGU7IH0KKyAgICBmbG9hdCByb3RhdGVTcGVlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
cm90YXRlU3BlZWQ7IH0KKworcHJpdmF0ZToKKyAgICBUcmFuc2Zvcm1BY3Rpb25FdmVudCgpIHt9
CisgICAgVHJhbnNmb3JtQWN0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29s
IGNhbkJ1YmJsZSwKKyAgICAgICAgYm9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0
Vmlldz4gdmlldywgaW50IHNjcmVlblgsCisgICAgICAgIGludCBzY3JlZW5ZLCBpbnQgcGFnZVgs
IGludCBwYWdlWSwgYm9vbCBjdHJsS2V5LCBib29sIGFsdEtleSwKKyAgICAgICAgYm9vbCBzaGlm
dEtleSwgYm9vbCBtZXRhS2V5LCBpbnQgdHJhbnNsYXRlWCwgaW50IHRyYW5zbGF0ZVksCisgICAg
ICAgIGludCB0cmFuc2xhdGVTcGVlZFgsIGludCB0cmFuc2xhdGVTcGVlZFksIGZsb2F0IHNjYWxl
LCBmbG9hdCBzY2FsZVNwZWVkLAorICAgICAgICBmbG9hdCByb3RhdGUsIGZsb2F0IHJvdGF0ZVNw
ZWVkKTsKKyAgICAgICAgCisgICAgdmlydHVhbCBib29sIGlzVHJhbnNmb3JtQWN0aW9uRXZlbnQo
KSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisKKyAgICBpbnQgbV90cmFuc2xhdGVYOworICAgIGlu
dCBtX3RyYW5zbGF0ZVk7CisgICAgaW50IG1fdHJhbnNsYXRlU3BlZWRYOworICAgIGludCBtX3Ry
YW5zbGF0ZVNwZWVkWTsKKyAgICBmbG9hdCBtX3NjYWxlOworICAgIGZsb2F0IG1fc2NhbGVTcGVl
ZDsKKyAgICBmbG9hdCBtX3JvdGF0ZTsKKyAgICBmbG9hdCBtX3JvdGF0ZVNwZWVkOworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFRSQU5TRk9STUFDVElP
Tl9FVkVOVFMpCisKKyNlbmRpZiAvLyBUcmFuc2Zvcm1BY3Rpb25FdmVudF9oCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5pZGwgYi9XZWJDb3JlL2RvbS9UcmFu
c2Zvcm1BY3Rpb25FdmVudC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
NGIyMTNiMQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZG9tL1RyYW5zZm9ybUFjdGlvbkV2
ZW50LmlkbApAQCAtMCwwICsxLDY2IEBACisvKgorICAgIENvcHlyaWdodCAoQykgMjAxMCBOb2tp
YSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKworICAgIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAg
ICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYworICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAg
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAgIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisqLworCittb2R1bGUgZXZl
bnRzIHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPVRSQU5TRk9STUFD
VElPTl9FVkVOVFMKKyAgICBdIFRyYW5zZm9ybUFjdGlvbkV2ZW50IDogVUlFdmVudCB7CisgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHNjcmVlblg7CisgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBsb25nIHNjcmVlblk7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIGNs
aWVudFg7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIGNsaWVudFk7CisgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIG9mZnNldFg7CisgICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBsb25nIG9mZnNldFk7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGN0
cmxLZXk7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGFsdEtleTsKKyAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gc2hpZnRLZXk7CisgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBib29sZWFuIG1ldGFLZXk7CisKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IGxvbmcgdHJhbnNsYXRlWDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgdHJhbnNs
YXRlWTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgdHJhbnNsYXRlU3BlZWRYOwor
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyB0cmFuc2xhdGVTcGVlZFk7CisgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBzY2FsZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIGZsb2F0IHNjYWxlU3BlZWQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBy
b3RhdGU7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCByb3RhdGVTcGVlZDsKKwor
ICAgICAgICB2b2lkIGluaXRUcmFuc2Zvcm1BY3Rpb25FdmVudChpbiBET01TdHJpbmcgdHlwZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiBjYW5CdWJi
bGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gY2Fu
Y2VsYWJsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRE9NV2lu
ZG93IHZpZXcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGxvbmcg
c2NyZWVuWCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gbG9uZyBz
Y3JlZW5ZLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBsb25nIGNs
aWVudFgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGxvbmcgY2xp
ZW50WSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiBj
dHJsS2V5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFu
IGFsdEtleSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVh
biBzaGlmdEtleSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9v
bGVhbiBtZXRhS2V5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBs
b25nIHRyYW5zbGF0ZVgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
IGxvbmcgdHJhbnNsYXRlWSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW4gbG9uZyB0cmFuc2xhdGVTcGVlZFgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGluIGxvbmcgdHJhbnNsYXRlU3BlZWRZLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbiBmbG9hdCBzY2FsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW4gZmxvYXQgc2NhbGVTcGVlZCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW4gZmxvYXQgcm90YXRlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbiBmbG9hdCByb3RhdGVTcGVlZCk7CisgICB9OworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57194</attachid>
            <date>2010-05-26 22:36:12 -0700</date>
            <delta_ts>2010-05-27 23:02:45 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>transformaction2.patch</filename>
            <type>text/plain</type>
            <size>33530</size>
            <attacher name="Kim Grönholm">kim.1.gronholm</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmNDNlYWM4Li44ZWMxNDViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDUt
MjYgIEtpbSBHcsO2bmhvbG0gIDxraW0uZ3JvbmhvbG1Ab3ZpLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgVHJhbnNmb3JtQWN0aW9uRXZl
bnQgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9Mzk3NTcKKworICAgICAgICAqIGZhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9jcmVhdGUt
dHJhbnNmb3JtYWN0aW9uLWV2ZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9ldmVudHMvdHJhbnNmb3JtYWN0aW9uL2NyZWF0ZS10cmFuc2Zvcm1hY3Rpb24tZXZlbnQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvdHJhbnNmb3JtYWN0aW9uL3Jlc291cmNl
cy9jcmVhdGUtdHJhbnNmb3JtYWN0aW9uLWV2ZW50LmpzOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9ndGsvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2tpcHBlZDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS93aW4vU2tpcHBlZDoKKwogMjAxMC0wNS0yNiAgQ3NhYmEgT3N6dHJvZ29u
w6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZml4LCBRdCBzcGVj
aWZpYyBleHBlY3RlZCBmaWxlIHVwZGF0ZWQgYWZ0ZXIgcjYwMjM1LgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
U2tpcHBlZAppbmRleCA2ZTJjMDUwLi5hODM1MjExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBl
ZApAQCAtNTk0MSwzICs1OTQxLDYgQEAgc3RvcmFnZS9pbmRleGVkZGIKIGZhc3QvZG9tL0dlb2xv
Y2F0aW9uL2FyZ3VtZW50LXR5cGVzLmh0bWwKIGZhc3QvZG9tL0dlb2xvY2F0aW9uL25vdGltZXIt
YWZ0ZXItdW5sb2FkLmh0bWwKIGZhc3QvZG9tL0dlb2xvY2F0aW9uL3RpbWVvdXQtemVyby5odG1s
CisKKyMgVGhlc2UgdGVzdHMgcmVxdWlyZSB0cmFuc2Zvcm1hY3Rpb24gZXZlbnQgc3VwcG9ydAor
ZmFzdC9ldmVudHMvdHJhbnNmb3JtYWN0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCmluZGV4
IGNjM2EwNjYuLmJhM2Y3YmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9T
a2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCkBAIC0xMDgsNiAr
MTA4LDkgQEAgbWVkaWEvbWVkaWEtY2FuLXBsYXktb2dnLmh0bWwKICMgVGhlc2UgdGVzdHMgcmVx
dWlyZSB0b3VjaCBzdXBwb3J0CiBmYXN0L2V2ZW50cy90b3VjaAogCisjIFRoZXNlIHRlc3RzIHJl
cXVpcmUgdHJhbnNmb3JtYWN0aW9uIGV2ZW50IHN1cHBvcnQKK2Zhc3QvZXZlbnRzL3RyYW5zZm9y
bWFjdGlvbgorCiAjIFNraXBwZWQgdW50aWwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTMzOTIzIGlzIHJlc29sdmVkLgogcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkv
Y2hhbmdlLW5vdGlmaWNhdGlvbi1vbi1zY3JvbGwuaHRtbAogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lw
cGVkCmluZGV4IGU3ODEzMzQuLjMwOTBlNzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBA
IC03MzksNiArNzM5LDkgQEAgbWVkaWEvbWVkaWEtY2FuLXBsYXktb2dnLmh0bWwKICMgVGhlc2Ug
dGVzdHMgcmVxdWlyZSB0b3VjaCBzdXBwb3J0CiBmYXN0L2V2ZW50cy90b3VjaAogCisjIFRoZXNl
IHRlc3RzIHJlcXVpcmUgdHJhbnNmb3JtYWN0aW9uIGV2ZW50IHN1cHBvcnQKK2Zhc3QvZXZlbnRz
L3RyYW5zZm9ybWFjdGlvbgorCiAjIFhTUyBhdWRpdG9yIHRlc3RzIGludGVybWl0dGVudGx5IHRp
bWUgb3V0IDxodHRwOi8vd2Via2l0Lm9yZy9iLzMyNTI4PgogaHR0cC90ZXN0cy9zZWN1cml0eS94
c3MtREVOSUVELWdldFNWR0RvY3VtZW50LWlmcmFtZS5odG1sCiBodHRwL3Rlc3RzL3NlY3VyaXR5
L3hzcy1ERU5JRUQtZ2V0U1ZHRG9jdW1lbnQtb2JqZWN0Lmh0bWwKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGI4OTBjM2Eu
LjE2MTJlNWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dApAQCAtMTc1LDYgKzE3NSw3IEBAIFNFVChXZWJDb3JlX0lETF9GSUxF
UwogICAgIGRvbS9Ub3VjaEV2ZW50LmlkbAogICAgIGRvbS9Ub3VjaC5pZGwKICAgICBkb20vVG91
Y2hMaXN0LmlkbAorICAgIGRvbS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5pZGwKICAgICBkb20vVHJl
ZVdhbGtlci5pZGwKICAgICBkb20vVUlFdmVudC5pZGwKICAgICBkb20vV2ViS2l0QW5pbWF0aW9u
RXZlbnQuaWRsCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDYyMTIyYTcuLjk4OThkYjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjMgQEAKKzIwMTAtMDUtMjYgIEtp
bSBHcsO2bmhvbG0gIDxraW0uZ3JvbmhvbG1Ab3ZpLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgVHJhbnNmb3JtQWN0aW9uRXZlbnQgc3Vw
cG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzk3
NTcKKworICAgICAgICBBZGRlZCBvbmx5IHRoZSBuZWNlc3NhcnkgVHJhbnNmb3JtQWN0aW9uIGV2
ZW50IGludGVyZmFjZXMgYW5kIG5vdCBlLmcuCisgICAgICAgIGFueSBldmVudGhhbmRsZXIgaG9v
a3MgdGhhdCBnZW5lcmF0ZSBhbmQgZGlzcGF0Y2ggdGhlbS4KKworICAgICAgICBUZXN0OiBmYXN0
L2V2ZW50cy90cmFuc2Zvcm1hY3Rpb24vY3JlYXRlLXRyYW5zZm9ybWFjdGlvbi1ldmVudC5odG1s
CisgICAgICAgIE1vcmUgdGVzdHMgd2lsbCBiZSBhZGRlZCB3aXRoIHRoZSBtYWNoaW5lcnkgdGhh
dCBnZW5lcmF0ZXMgYW5kCisgICAgICAgIGRpc3BhdGNoZXMgdGhlc2UgZXZlbnRzLgorCisgICAg
ICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAg
ICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06Cisg
ICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJpOgorICAgICAgICAq
IFdlYkNvcmUucHJvOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4
RXZlbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogZG9t
L0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpjcmVhdGVFdmVudCk6
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6YWRkTGlzdGVuZXJUeXBlSWZOZWVkZWQpOgor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6Oik6
CisgICAgICAgICogZG9tL0RvY3VtZW50LmlkbDoKKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgor
ICAgICAgICAqIGRvbS9FbGVtZW50LmlkbDoKKyAgICAgICAgKiBkb20vRXZlbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RXZlbnQ6OmlzVHJhbnNmb3JtQWN0aW9uRXZlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6RXZlbnQ6OmZyb21Vc2VyR2VzdHVyZSk6CisgICAgICAgICogZG9tL0V2ZW50Lmg6
CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKiBkb20vVHJhbnNmb3JtQWN0
aW9uRXZlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9ybUFjdGlvbkV2
ZW50OjpUcmFuc2Zvcm1BY3Rpb25FdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1B
Y3Rpb25FdmVudDo6aW5pdFRyYW5zZm9ybUFjdGlvbkV2ZW50KToKKyAgICAgICAgKiBkb20vVHJh
bnNmb3JtQWN0aW9uRXZlbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1B
Y3Rpb25FdmVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9ybUFjdGlvbkV2
ZW50Ojp0cmFuc2xhdGVYKToKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9ybUFjdGlvbkV2ZW50
Ojp0cmFuc2xhdGVZKToKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9ybUFjdGlvbkV2ZW50Ojp0
cmFuc2xhdGVTcGVlZFgpOgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNmb3JtQWN0aW9uRXZlbnQ6
OnRyYW5zbGF0ZVNwZWVkWSk6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1BY3Rpb25FdmVu
dDo6c2NhbGUpOgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNmb3JtQWN0aW9uRXZlbnQ6OnNjYWxl
U3BlZWQpOgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNmb3JtQWN0aW9uRXZlbnQ6OnJvdGF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1BY3Rpb25FdmVudDo6cm90YXRlU3BlZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6VHJhbnNmb3JtQWN0aW9uRXZlbnQ6OlRyYW5zZm9ybUFjdGlvbkV2
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9ybUFjdGlvbkV2ZW50Ojppc1RyYW5zZm9y
bUFjdGlvbkV2ZW50KToKKyAgICAgICAgKiBkb20vVHJhbnNmb3JtQWN0aW9uRXZlbnQuaWRsOiBB
ZGRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbjoKKyAgICAgICAgKiBo
dG1sL0hUTUxFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxFbGVtZW50OjpwYXJz
ZU1hcHBlZEF0dHJpYnV0ZSk6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAgICAg
KiBwYWdlL0RPTVdpbmRvdy5pZGw6CisKIDIwMTAtMDUtMjYgIEplcmVteSBPcmxvdyAgPGpvcmxv
d0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXggZm9yIFdpbmRv
d3MgKyBjbGVhbiB1cCB0aGUgVmlzdWFsIFN0dWRpbyBwcm9qZWN0LgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRl
eCBlNWQ2MGVjLi4wZDRjYjlmIDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNw
cAorKysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtMzczLDYgKzM3Myw3IEBACiAj
aW5jbHVkZSAiSlNUb3VjaC5jcHAiCiAjaW5jbHVkZSAiSlNUb3VjaEV2ZW50LmNwcCIKICNpbmNs
dWRlICJKU1RvdWNoTGlzdC5jcHAiCisjaW5jbHVkZSAiSlNUcmFuc2Zvcm1BY3Rpb25FdmVudC5j
cHAiCiAjaW5jbHVkZSAiSlNUcmVlV2Fsa2VyLmNwcCIKICNpbmNsdWRlICJKU1VJRXZlbnQuY3Bw
IgogI2luY2x1ZGUgIkpTVmFsaWRpdHlTdGF0ZS5jcHAiCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggYmQw
NjEzMC4uOWJhMzNkZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisr
KyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNDMwLDYgKzQzMCw3IEBAIERPTV9D
TEFTU0VTID0gXAogICAgIFRvdWNoIFwKICAgICBUb3VjaEV2ZW50IFwKICAgICBUb3VjaExpc3Qg
XAorICAgIFRyYW5zZm9ybUFjdGlvbkV2ZW50IFwKICAgICBUcmVlV2Fsa2VyIFwKICAgICBVSUV2
ZW50IFwKICAgICBWYWxpZGl0eVN0YXRlIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZp
bGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDFiYjY3MWMuLmVjMTNiOTYgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmls
ZS5hbQpAQCAtMTc0LDYgKzE3NCw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAJV2ViQ29yZS9kb20v
VG91Y2guaWRsIFwKIAlXZWJDb3JlL2RvbS9Ub3VjaEV2ZW50LmlkbCBcCiAJV2ViQ29yZS9kb20v
VG91Y2hMaXN0LmlkbCBcCisJV2ViQ29yZS9kb20vVHJhbnNmb3JtQWN0aW9uRXZlbnQuaWRsIFwK
IAlXZWJDb3JlL2RvbS9UcmVlV2Fsa2VyLmlkbCBcCiAJV2ViQ29yZS9kb20vVUlFdmVudC5pZGwg
XAogCVdlYkNvcmUvZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmlkbCBcCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGNjZGUxZmIu
LjAxZGU0ZjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUv
V2ViQ29yZS5neXBpCkBAIC03Nyw2ICs3Nyw3IEBACiAgICAgICAgICAgICAnZG9tL1RvdWNoLmlk
bCcsCiAgICAgICAgICAgICAnZG9tL1RvdWNoRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20v
VG91Y2hMaXN0LmlkbCcsCisgICAgICAgICAgICAnZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50Lmlk
bCcsCiAgICAgICAgICAgICAnZG9tL1RyZWVXYWxrZXIuaWRsJywKICAgICAgICAgICAgICdkb20v
VUlFdmVudC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9XZWJLaXRBbmltYXRpb25FdmVudC5pZGwn
LApAQCAtMTIzNiw2ICsxMjM3LDggQEAKICAgICAgICAgICAgICdkb20vVG91Y2hMaXN0LmNwcCcs
CiAgICAgICAgICAgICAnZG9tL1RvdWNoTGlzdC5oJywKICAgICAgICAgICAgICdkb20vVG9rZW5p
emVyLmgnLAorICAgICAgICAgICAgJ2RvbS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5jcHAnLAorICAg
ICAgICAgICAgJ2RvbS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5oJywKICAgICAgICAgICAgICdkb20v
VHJhbnNmb3JtU291cmNlTGlieHNsdC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9UcmFuc2Zvcm1T
b3VyY2UuaCcsCiAgICAgICAgICAgICAnZG9tL1RyYXZlcnNhbC5jcHAnLApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9XZWJDb3JlLnByaSBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKaW5kZXggNjE4NGU1NC4u
NmU4OThiYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dl
YkNvcmUucHJpCkBAIC0xMjAsOCArMTIwLDExIEBAIGdyZWF0ZXJUaGFuKFFUX01JTk9SX1ZFUlNJ
T04sIDUpIHsKICMgQmVhcmVyIG1hbmFnZW1lbnQgaXMgcGFydCBvZiBRdCA0LjcKICFsZXNzVGhh
bihRVF9NSU5PUl9WRVJTSU9OLCA3KTohY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1FUX0JFQVJF
Uj0uKTpERUZJTkVTICs9IEVOQUJMRV9RVF9CRUFSRVI9MQogCi0jIEVuYWJsZSB0b3VjaCBldmVu
dCBzdXBwb3J0IHdpdGggUXQgNC42Ci0hbGVzc1RoYW4oUVRfTUlOT1JfVkVSU0lPTiwgNik6IERF
RklORVMgKz0gRU5BQkxFX1RPVUNIX0VWRU5UUz0xCisjIEVuYWJsZSB0b3VjaCBzdXBwb3J0IHdp
dGggUXQgNC42CishbGVzc1RoYW4oUVRfTUlOT1JfVkVSU0lPTiwgNikgeworICAgIERFRklORVMg
Kz0gRU5BQkxFX1RPVUNIX0VWRU5UUz0xCisgICAgREVGSU5FUyArPSBFTkFCTEVfVFJBTlNGT1JN
QUNUSU9OX0VWRU5UUz0xCit9CiAKICMgVXNlZCB0byBjb21wdXRlIGRlZmF1bHRzIGZvciB0aGUg
YnVpbGQtd2Via2l0IHNjcmlwdAogQ09ORklHKGNvbXB1dGVfZGVmYXVsdHMpIHsKQEAgLTE2Miw2
ICsxNjUsNyBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUj0x
KTogRkVBVFVSRV9ERUZJTkVTX0pBVkFTQ1JJUFQgKz0gRQogY29udGFpbnMoREVGSU5FUywgRU5B
QkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUz0xKTogRkVBVFVSRV9ERUZJTkVTX0pBVkFTQ1JJ
UFQgKz0gRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUz0xCiBjb250YWlucyhERUZJTkVT
LCBFTkFCTEVfV0VCX1NPQ0tFVFM9MSk6IEZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBUICs9IEVO
QUJMRV9XRUJfU09DS0VUUz0xCiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVE9VQ0hfRVZFTlRT
PTEpOiBGRUFUVVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBFTkFCTEVfVE9VQ0hfRVZFTlRTPTEK
K2NvbnRhaW5zKERFRklORVMsIEVOQUJMRV9UUkFOU0ZPUk1BQ1RJT05fRVZFTlRTPTEpOiBGRUFU
VVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBFTkFCTEVfVFJBTlNGT1JNQUNUSU9OX0VWRU5UUz0x
CiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVElMRURfQkFDS0lOR19TVE9SRT0xKTogRkVBVFVS
RV9ERUZJTkVTX0pBVkFTQ1JJUFQgKz0gRU5BQkxFX1RJTEVEX0JBQ0tJTkdfU1RPUkU9MQogY29u
dGFpbnMoREVGSU5FUywgRU5BQkxFX05PVElGSUNBVElPTlM9MSk6IEZFQVRVUkVfREVGSU5FU19K
QVZBU0NSSVBUICs9IEVOQUJMRV9OT1RJRklDQVRJT05TPTEKIGNvbnRhaW5zKERFRklORVMsIEVO
QUJMRV9NRVRFUl9UQUc9MSk6IEZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBUICs9IEVOQUJMRV9N
RVRFUl9UQUc9MQpAQCAtMjk5LDYgKzMwMyw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgZG9t
L1RvdWNoLmlkbCBcCiAgICAgZG9tL1RvdWNoRXZlbnQuaWRsIFwKICAgICBkb20vVG91Y2hMaXN0
LmlkbCBcCisgICAgZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50LmlkbCBcCiAgICAgZG9tL1RyZWVX
YWxrZXIuaWRsIFwKICAgICBkb20vVUlFdmVudC5pZGwgXAogICAgIGRvbS9XZWJLaXRBbmltYXRp
b25FdmVudC5pZGwgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUv
V2ViQ29yZS5wcm8KaW5kZXggNjI3ODVmNC4uMTJlMTY2ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9X
ZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC01MjQsNiArNTI0LDcgQEAg
U09VUkNFUyArPSBcCiAgICAgZG9tL1RvdWNoLmNwcCBcCiAgICAgZG9tL1RvdWNoRXZlbnQuY3Bw
IFwKICAgICBkb20vVG91Y2hMaXN0LmNwcCBcCisgICAgZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50
LmNwcCBcCiAgICAgZG9tL1RyYXZlcnNhbC5jcHAgXAogICAgIGRvbS9UcmVlV2Fsa2VyLmNwcCBc
CiAgICAgZG9tL1VJRXZlbnQuY3BwIFwKQEAgLTEyNTMsNiArMTI1NCw3IEBAIEhFQURFUlMgKz0g
XAogICAgIGRvbS9Ub3VjaC5oIFwKICAgICBkb20vVG91Y2hFdmVudC5oIFwKICAgICBkb20vVG91
Y2hMaXN0LmggXAorICAgIGRvbS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5oIFwKICAgICBkb20vVHJh
bnNmb3JtU291cmNlLmggXAogICAgIGRvbS9UcmF2ZXJzYWwuaCBcCiAgICAgZG9tL1RyZWVEZXB0
aExpbWl0LmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9t
LmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAKaW5kZXggYjYxOTBm
Zi4uNTEzMTg3MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9t
LmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCkBAIC04Niw2
ICs4NiwxMCBAQAogI2luY2x1ZGUgIkpTVG91Y2hFdmVudC5oIgogI2luY2x1ZGUgIlRvdWNoRXZl
bnQuaCIKICNlbmRpZgorI2lmIEVOQUJMRShUUkFOU0ZPUk1BQ1RJT05fRVZFTlRTKQorI2luY2x1
ZGUgIkpTVHJhbnNmb3JtQWN0aW9uRXZlbnQuaCIKKyNpbmNsdWRlICJUcmFuc2Zvcm1BY3Rpb25F
dmVudC5oIgorI2VuZGlmCiAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKICNpbmNsdWRl
ICJJREJFcnJvckV2ZW50LmgiCkBAIC0xMzMsNiArMTM3LDEwIEBAIEpTVmFsdWUgdG9KUyhFeGVj
U3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEV2ZW50KiBldmVu
dCkKICAgICAgICAgZWxzZSBpZiAoZXZlbnQtPmlzVG91Y2hFdmVudCgpKQogICAgICAgICAgICAg
d3JhcHBlciA9IENSRUFURV9ET01fT0JKRUNUX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBU
b3VjaEV2ZW50LCBldmVudCk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VW
RU5UUykKKyAgICAgICAgZWxzZSBpZiAoZXZlbnQtPmlzVHJhbnNmb3JtQWN0aW9uRXZlbnQoKSkK
KyAgICAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9XUkFQUEVSKGV4ZWMsIGds
b2JhbE9iamVjdCwgVHJhbnNmb3JtQWN0aW9uRXZlbnQsIGV2ZW50KTsKKyNlbmRpZgogICAgICAg
ICBlbHNlCiAgICAgICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBFUihl
eGVjLCBnbG9iYWxPYmplY3QsIFVJRXZlbnQsIGV2ZW50KTsKICAgICB9IGVsc2UgaWYgKGV2ZW50
LT5pc011dGF0aW9uRXZlbnQoKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RXZlbnRDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFdmVu
dEN1c3RvbS5jcHAKaW5kZXggYmNlMTU2MS4uMTUyZDk2ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHAKQEAgLTU2LDYgKzU2LDcgQEAKICNpbmNsdWRl
ICJWOFN0b3JhZ2VFdmVudC5oIgogI2luY2x1ZGUgIlY4VGV4dEV2ZW50LmgiCiAjaW5jbHVkZSAi
VjhUb3VjaEV2ZW50LmgiCisjaW5jbHVkZSAiVjhUcmFuc2Zvcm1BY3Rpb25FdmVudC5oIgogI2lu
Y2x1ZGUgIlY4VUlFdmVudC5oIgogI2luY2x1ZGUgIlY4V2ViS2l0QW5pbWF0aW9uRXZlbnQuaCIK
ICNpbmNsdWRlICJWOFdlYktpdFRyYW5zaXRpb25FdmVudC5oIgpAQCAtMTE3LDYgKzExOCwxMCBA
QCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChFdmVudCogaW1wbCkKICAgICAgICAgaWYgKGlt
cGwtPmlzVG91Y2hFdmVudCgpKQogICAgICAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8
VG91Y2hFdmVudCo+KGltcGwpKTsKICNlbmRpZgorI2lmIEVOQUJMRShUUkFOU0ZPUk1BQ1RJT05f
RVZFTlRTKQorICAgICAgICBpZiAoaW1wbC0+aXNUcmFuc2Zvcm1BY3Rpb25FdmVudCgpKQorICAg
ICAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8VHJhbnNmb3JtQWN0aW9uRXZlbnQqPihp
bXBsKSk7CisjZW5kaWYKICAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8VUlFdmVudCo+
KGltcGwpKTsKICAgICB9CiAgICAgaWYgKGltcGwtPmlzTXV0YXRpb25FdmVudCgpKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CmluZGV4IDE4NzQ2OTAuLjg1N2MwNDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTE4MCw2ICsxODAsMTAgQEAK
ICNpbmNsdWRlICJUb3VjaEV2ZW50LmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShUUkFOU0ZPUk1B
Q1RJT05fRVZFTlRTKQorI2luY2x1ZGUgIlRyYW5zZm9ybUFjdGlvbkV2ZW50LmgiCisjZW5kaWYK
KwogI2lmIEVOQUJMRShXTUwpCiAjaW5jbHVkZSAiV01MRG9jdW1lbnQuaCIKICNpbmNsdWRlICJX
TUxFbGVtZW50LmgiCkBAIC0zMjA4LDYgKzMyMTIsMTAgQEAgUGFzc1JlZlB0cjxFdmVudD4gRG9j
dW1lbnQ6OmNyZWF0ZUV2ZW50KGNvbnN0IFN0cmluZyYgZXZlbnRUeXBlLCBFeGNlcHRpb25Db2Rl
JgogI2VuZGlmCiAgICAgICAgIGV2ZW50ID0gVG91Y2hFdmVudDo6Y3JlYXRlKCk7CiAjZW5kaWYK
KyNpZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VWRU5UUykKKyAgICBlbHNlIGlmIChldmVudFR5
cGUgPT0gIlRyYW5zZm9ybUFjdGlvbkV2ZW50IikKKyAgICAgICAgZXZlbnQgPSBUcmFuc2Zvcm1B
Y3Rpb25FdmVudDo6Y3JlYXRlKCk7CisjZW5kaWYKICAgICBpZiAoZXZlbnQpCiAgICAgICAgIHJl
dHVybiBldmVudC5yZWxlYXNlKCk7CiAKQEAgLTMyNTMsNiArMzI2MSwxMiBAQCB2b2lkIERvY3Vt
ZW50OjphZGRMaXN0ZW5lclR5cGVJZk5lZWRlZChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlw
ZSkKICAgICAgICAgICAgIHBhZ2UtPmNocm9tZSgpLT5jbGllbnQoKS0+bmVlZFRvdWNoRXZlbnRz
KHRydWUpOwogICAgIH0KICNlbmRpZgorI2lmIEVOQUJMRShUUkFOU0ZPUk1BQ1RJT05fRVZFTlRT
KQorICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkudHJhbnNmb3JtYWN0aW9u
c3RhcnRFdmVudAorICAgICAgICAgICAgIHx8IGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkudHJh
bnNmb3JtYWN0aW9udXBkYXRlRXZlbnQKKyAgICAgICAgICAgICB8fCBldmVudFR5cGUgPT0gZXZl
bnROYW1lcygpLnRyYW5zZm9ybWFjdGlvbmVuZEV2ZW50KQorICAgICAgICBhZGRMaXN0ZW5lclR5
cGUoVFJBTlNGT1JNQUNUSU9OX0xJU1RFTkVSKTsKKyNlbmRpZgogfQogCiBDU1NTdHlsZURlY2xh
cmF0aW9uKiBEb2N1bWVudDo6Z2V0T3ZlcnJpZGVTdHlsZShFbGVtZW50KiwgY29uc3QgU3RyaW5n
JikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5oCmluZGV4IGYwZmRkNTMuLjJkMGI0OTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmgKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMjcwLDYgKzI3MCwxMSBA
QCBwdWJsaWM6CiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0b3VjaGVuZCk7
CiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0b3VjaGNhbmNlbCk7CiAjZW5k
aWYKKyNpZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VWRU5UUykKKyAgICBERUZJTkVfQVRUUklC
VVRFX0VWRU5UX0xJU1RFTkVSKHRyYW5zZm9ybWFjdGlvbnN0YXJ0KTsKKyAgICBERUZJTkVfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKHRyYW5zZm9ybWFjdGlvbnVwZGF0ZSk7CisgICAgREVGSU5F
X0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0cmFuc2Zvcm1hY3Rpb25lbmQpOworI2VuZGlmCiAK
ICAgICBEb2N1bWVudFR5cGUqIGRvY3R5cGUoKSBjb25zdCB7IHJldHVybiBtX2RvY1R5cGUuZ2V0
KCk7IH0KIApAQCAtNjU3LDcgKzY2Miw4IEBAIHB1YmxpYzoKICAgICAgICAgQU5JTUFUSU9OSVRF
UkFUSU9OX0xJU1RFTkVSICAgICAgICAgID0gMHg0MDAsCiAgICAgICAgIFRSQU5TSVRJT05FTkRf
TElTVEVORVIgICAgICAgICAgICAgICA9IDB4ODAwLAogICAgICAgICBCRUZPUkVMT0FEX0xJU1RF
TkVSICAgICAgICAgICAgICAgICAgPSAweDEwMDAsCi0gICAgICAgIFRPVUNIX0xJU1RFTkVSICAg
ICAgICAgICAgICAgICAgICAgICA9IDB4MjAwMAorICAgICAgICBUT1VDSF9MSVNURU5FUiAgICAg
ICAgICAgICAgICAgICAgICAgPSAweDIwMDAsCisgICAgICAgIFRSQU5TRk9STUFDVElPTl9MSVNU
RU5FUiAgICAgICAgICAgICA9IDB4NDAwMAogICAgIH07CiAKICAgICBib29sIGhhc0xpc3RlbmVy
VHlwZShMaXN0ZW5lclR5cGUgbGlzdGVuZXJUeXBlKSBjb25zdCB7IHJldHVybiAobV9saXN0ZW5l
clR5cGVzICYgbGlzdGVuZXJUeXBlKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1l
bnQuaWRsIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCmluZGV4IGNkODc3YjMuLjkzMTliYzIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAorKysgYi9XZWJDb3JlL2RvbS9E
b2N1bWVudC5pZGwKQEAgLTMxMCw2ICszMTAsOSBAQCBtb2R1bGUgY29yZSB7CiAgICAgICAgIGF0
dHJpYnV0ZSBbRG9udEVudW0sQ29uZGl0aW9uYWw9VE9VQ0hfRVZFTlRTLEVuYWJsZWRBdFJ1bnRp
bWVdIEV2ZW50TGlzdGVuZXIgb250b3VjaG1vdmU7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVu
dW0sQ29uZGl0aW9uYWw9VE9VQ0hfRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVu
ZXIgb250b3VjaGVuZDsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSxDb25kaXRpb25hbD1U
T1VDSF9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRvdWNoY2FuY2Vs
OworICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtLENvbmRpdGlvbmFsPVRSQU5TRk9STUFDVElP
Tl9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRyYW5zZm9ybWFjdGlv
bnN0YXJ0OworICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtLENvbmRpdGlvbmFsPVRSQU5TRk9S
TUFDVElPTl9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRyYW5zZm9y
bWFjdGlvbnVwZGF0ZTsKKyAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSxDb25kaXRpb25hbD1U
UkFOU0ZPUk1BQ1RJT05fRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250
cmFuc2Zvcm1hY3Rpb25lbmQ7CiAjZW5kaWYKICAgICB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmggYi9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggOGRhMjg5Mi4uYTUw
YmJkZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1dlYkNvcmUvZG9t
L0VsZW1lbnQuaApAQCAtOTgsNiArOTgsMTEgQEAgcHVibGljOgogICAgIERFRklORV9BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIodG91Y2hlbmQpOwogICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIodG91Y2hjYW5jZWwpOwogI2VuZGlmCisjaWYgRU5BQkxFKFRSQU5TRk9STUFDVElP
Tl9FVkVOVFMpCisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0cmFuc2Zvcm1h
Y3Rpb25zdGFydCk7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0cmFuc2Zv
cm1hY3Rpb251cGRhdGUpOworICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodHJh
bnNmb3JtYWN0aW9uZW5kKTsKKyNlbmRpZgogCiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPERvY3Vt
ZW50RnJhZ21lbnQ+IGNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudChjb25zdCBTdHJpbmcmLCBGcmFn
bWVudFNjcmlwdGluZ1Blcm1pc3Npb24gPSBGcmFnbWVudFNjcmlwdGluZ0FsbG93ZWQpOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbCBiL1dlYkNvcmUvZG9tL0VsZW1lbnQu
aWRsCmluZGV4IDZiYjA2ODcuLmM4Njg4NWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0VsZW1l
bnQuaWRsCisrKyBiL1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRsCkBAIC0xOTksNiArMTk5LDkgQEAg
bW9kdWxlIGNvcmUgewogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtLENvbmRpdGlvbmFsPVRP
VUNIX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9udG91Y2htb3ZlOwog
ICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtLENvbmRpdGlvbmFsPVRPVUNIX0VWRU5UUyxFbmFi
bGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9udG91Y2hlbmQ7CiAgICAgICAgIGF0dHJpYnV0
ZSBbRG9udEVudW0sQ29uZGl0aW9uYWw9VE9VQ0hfRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2
ZW50TGlzdGVuZXIgb250b3VjaGNhbmNlbDsKKyAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSxD
b25kaXRpb25hbD1UUkFOU0ZPUk1BQ1RJT05fRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50
TGlzdGVuZXIgb250cmFuc2Zvcm1hY3Rpb25zdGFydDsKKyAgICAgICAgYXR0cmlidXRlIFtEb250
RW51bSxDb25kaXRpb25hbD1UUkFOU0ZPUk1BQ1RJT05fRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVd
IEV2ZW50TGlzdGVuZXIgb250cmFuc2Zvcm1hY3Rpb251cGRhdGU7CisgICAgICAgIGF0dHJpYnV0
ZSBbRG9udEVudW0sQ29uZGl0aW9uYWw9VFJBTlNGT1JNQUNUSU9OX0VWRU5UUyxFbmFibGVkQXRS
dW50aW1lXSBFdmVudExpc3RlbmVyIG9udHJhbnNmb3JtYWN0aW9uZW5kOwogI2VuZGlmCiAgICAg
fTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnQuY3BwIGIvV2ViQ29yZS9kb20vRXZl
bnQuY3BwCmluZGV4IDRlYTNlMGMuLmIxM2MyODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0V2
ZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9FdmVudC5jcHAKQEAgLTIxOSw2ICsyMTksMTMgQEAg
Ym9vbCBFdmVudDo6aXNEZXZpY2VPcmllbnRhdGlvbkV2ZW50KCkgY29uc3QKIH0KICNlbmRpZgog
CisjaWYgRU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMpCitib29sIEV2ZW50Ojppc1RyYW5z
Zm9ybUFjdGlvbkV2ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisjZW5kaWYK
KwogYm9vbCBFdmVudDo6ZnJvbVVzZXJHZXN0dXJlKCkKIHsKICAgICBpZiAoIVVzZXJHZXN0dXJl
SW5kaWNhdG9yOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSkKQEAgLTIzNyw2ICsyNDQsMTIgQEAg
Ym9vbCBFdmVudDo6ZnJvbVVzZXJHZXN0dXJlKCkKICAgICAgICAgfHwgdHlwZSA9PSBldmVudE5h
bWVzKCkudG91Y2hzdGFydEV2ZW50IHx8IHR5cGUgPT0gZXZlbnROYW1lcygpLnRvdWNobW92ZUV2
ZW50CiAgICAgICAgIHx8IHR5cGUgPT0gZXZlbnROYW1lcygpLnRvdWNoZW5kRXZlbnQgfHwgdHlw
ZSA9PSBldmVudE5hbWVzKCkudG91Y2hjYW5jZWxFdmVudAogI2VuZGlmCisjaWYgRU5BQkxFKFRS
QU5TRk9STUFDVElPTl9FVkVOVFMpCisgICAgICAgIC8vIHRyYW5zZm9ybWFjdGlvbiBldmVudHMK
KyAgICAgICAgfHwgdHlwZSA9PSBldmVudE5hbWVzKCkudHJhbnNmb3JtYWN0aW9uc3RhcnRFdmVu
dAorICAgICAgICB8fCB0eXBlID09IGV2ZW50TmFtZXMoKS50cmFuc2Zvcm1hY3Rpb251cGRhdGVF
dmVudAorICAgICAgICB8fCB0eXBlID09IGV2ZW50TmFtZXMoKS50cmFuc2Zvcm1hY3Rpb25lbmRF
dmVudAorI2VuZGlmCiAgICAgICAgIC8vIG90aGVyIGFjY2VwdGVkIGV2ZW50cwogICAgICAgICB8
fCB0eXBlID09IGV2ZW50TmFtZXMoKS5zZWxlY3RFdmVudCB8fCB0eXBlID09IGV2ZW50TmFtZXMo
KS5jaGFuZ2VFdmVudAogICAgICAgICB8fCB0eXBlID09IGV2ZW50TmFtZXMoKS5mb2N1c0V2ZW50
IHx8IHR5cGUgPT0gZXZlbnROYW1lcygpLmJsdXJFdmVudApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9k
b20vRXZlbnQuaCBiL1dlYkNvcmUvZG9tL0V2ZW50LmgKaW5kZXggMmI1NzBkNS4uMmMzMjU1NSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnQuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudC5o
CkBAIC0xNDIsNiArMTQyLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2lmIEVOQUJMRShERVZJ
Q0VfT1JJRU5UQVRJT04pCiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0RldmljZU9yaWVudGF0aW9u
RXZlbnQoKSBjb25zdDsKICNlbmRpZgorI2lmIEVOQUJMRShUUkFOU0ZPUk1BQ1RJT05fRVZFTlRT
KQorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNUcmFuc2Zvcm1BY3Rpb25FdmVudCgpIGNvbnN0Owor
I2VuZGlmCiAgICAgICAgIGJvb2wgZnJvbVVzZXJHZXN0dXJlKCk7CiAgICAgICAgIAogICAgICAg
ICBib29sIHByb3BhZ2F0aW9uU3RvcHBlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvcGFnYXRpb25T
dG9wcGVkIHx8IG1faW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOyB9CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2RvbS9FdmVudE5hbWVzLmggYi9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXgg
NmNjZWNlZi4uYmEyZDhlMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisr
KyBiL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaApAQCAtMTU0LDYgKzE1NCwxMCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgbWFjcm8odG91Y2hlbmQpIFwKICAgICBtYWNybyh0b3VjaGNhbmNl
bCkgXAogICAgIFwKKyAgICBtYWNybyh0cmFuc2Zvcm1hY3Rpb25zdGFydCkgXAorICAgIG1hY3Jv
KHRyYW5zZm9ybWFjdGlvbnVwZGF0ZSkgXAorICAgIG1hY3JvKHRyYW5zZm9ybWFjdGlvbmVuZCkg
XAorICAgIFwKICAgICBtYWNybyhzdWNjZXNzKSBcCiAgICAgXAogICAgIG1hY3JvKGxvYWRlbmQp
IFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4gYi9XZWJD
b3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCmluZGV4IDdjZGUzMmYuLjExMTA5MjQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KKysrIGIvV2ViQ29y
ZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgpAQCAtMjEyLDYgKzIxMiw5IEBAIG9udG91Y2hz
dGFydAogb250b3VjaG1vdmUKIG9udG91Y2hlbmQKIG9udG91Y2hjYW5jZWwKK29udHJhbnNmb3Jt
YWN0aW9uc3RhcnQKK29udHJhbnNmb3JtYWN0aW9udXBkYXRlCitvbnRyYW5zZm9ybWFjdGlvbmVu
ZAogb251bmxvYWQKIG9udm9sdW1lY2hhbmdlCiBvbndhaXRpbmcKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9IVE1MRWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCmlu
ZGV4IGE2MjNmMjQuLmRiOGE4N2EgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVu
dC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcApAQCAtMjY0LDYgKzI2NCwx
MiBAQCB2b2lkIEhUTUxFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqIGF0
dHIpCiAgICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLnRvdWNo
ZW5kRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhpcywgYXR0cikpOwogICAg
IH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG9udG91Y2hjYW5jZWxBdHRyKSB7CiAgICAgICAg
IHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLnRvdWNoY2FuY2VsRXZlbnQs
IGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhpcywgYXR0cikpOworICAgIH0gZWxzZSBp
ZiAoYXR0ci0+bmFtZSgpID09IG9udHJhbnNmb3JtYWN0aW9uc3RhcnRBdHRyKSB7CisgICAgICAg
IHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLnRyYW5zZm9ybWFjdGlvbnN0
YXJ0RXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhpcywgYXR0cikpOworICAg
IH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG9udHJhbnNmb3JtYWN0aW9udXBkYXRlQXR0cikg
eworICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS50cmFuc2Zv
cm1hY3Rpb251cGRhdGVFdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBh
dHRyKSk7CisgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gb250cmFuc2Zvcm1hY3Rpb25l
bmRBdHRyKSB7CisgICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygp
LnRyYW5zZm9ybWFjdGlvbmVuZEV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRo
aXMsIGF0dHIpKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuaCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAppbmRleCBhMWY0MGE4Li5kYjhjNDVmIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKKysrIGIvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5oCkBAIC0zNDAsNiArMzQwLDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0b3VjaGVuZCk7CiAgICAgICAgIERF
RklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodG91Y2hjYW5jZWwpOwogI2VuZGlmCisjaWYg
RU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMpCisgICAgICAgIERFRklORV9BVFRSSUJVVEVf
RVZFTlRfTElTVEVORVIodHJhbnNmb3JtYWN0aW9uc3RhcnQpOworICAgICAgICBERUZJTkVfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKHRyYW5zZm9ybWFjdGlvbnVwZGF0ZSk7CisgICAgICAgIERF
RklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodHJhbnNmb3JtYWN0aW9uZW5kKTsKKyNlbmRp
ZgogICAgICAgICB2b2lkIGNhcHR1cmVFdmVudHMoKTsKICAgICAgICAgdm9pZCByZWxlYXNlRXZl
bnRzKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggYjQ3NjUxNC4uODhmZTlmOSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5p
ZGwKQEAgLTI5OSw2ICsyOTksMTAgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIGF0dHJpYnV0
ZSBbQ29uZGl0aW9uYWw9VE9VQ0hfRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVu
ZXIgb250b3VjaGVuZDsKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1UT1VDSF9FVkVO
VFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRvdWNoY2FuY2VsOwogCisgICAg
ICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9VFJBTlNGT1JNQUNUSU9OX0VWRU5UUyxFbmFibGVk
QXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9udHJhbnNmb3JtYWN0aW9uc3RhcnQ7CisgICAgICAg
IGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9VFJBTlNGT1JNQUNUSU9OX0VWRU5UUyxFbmFibGVkQXRS
dW50aW1lXSBFdmVudExpc3RlbmVyIG9udHJhbnNmb3JtYWN0aW9udXBkYXRlOworICAgICAgICBh
dHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVRSQU5TRk9STUFDVElPTl9FVkVOVFMsRW5hYmxlZEF0UnVu
dGltZV0gRXZlbnRMaXN0ZW5lciBvbnRyYW5zZm9ybWFjdGlvbmVuZDsKKwogICAgICAgICBhdHRy
aWJ1dGUgW0NvbmRpdGlvbmFsPURFVklDRV9PUklFTlRBVElPTl0gRXZlbnRMaXN0ZW5lciBvbmRl
dmljZW9yaWVudGF0aW9uOwogCiAgICAgICAgIC8vIEV2ZW50VGFyZ2V0IGludGVyZmFjZQpAQCAt
NzI4LDcgKzczMiw3IEBAIG1vZHVsZSB3aW5kb3cgewogI2VuZGlmCiAKICAgICAgICAgYXR0cmli
dXRlIFtDb25kaXRpb25hbD1UT1VDSF9FVkVOVFNdIFRvdWNoRXZlbnRDb25zdHJ1Y3RvciBUb3Vj
aEV2ZW50OwotCisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9VFJBTlNGT1JNQUNUSU9O
X0VWRU5UU10gVHJhbnNmb3JtQWN0aW9uRXZlbnRDb25zdHJ1Y3RvciBUcmFuc2Zvcm1BY3Rpb25F
dmVudDsKICAgICAgICAgYXR0cmlidXRlIERPTUZvcm1EYXRhQ29uc3RydWN0b3IgRm9ybURhdGE7
CiAKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1GSUxFX1JFQURFUnxGSUxFX1dSSVRF
Ul0gRmlsZUVycm9yQ29uc3RydWN0b3IgRmlsZUVycm9yOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvdHJhbnNmb3JtYWN0aW9uL2NyZWF0ZS10cmFuc2Zvcm1hY3Rpb24tZXZl
bnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdHJhbnNmb3JtYWN0aW9u
L2NyZWF0ZS10cmFuc2Zvcm1hY3Rpb24tZXZlbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5NjVhNWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy90cmFuc2Zvcm1hY3Rpb24vY3JlYXRlLXRyYW5zZm9ybWFjdGlvbi1l
dmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitUaGlzIHRlc3RzIHdoZXRoZXIgdGhl
IERPTSBjYW4gY3JlYXRlIFRyYW5zZm9ybUFjdGlvbkV2ZW50cy4KK1BBU1MgZXZlbnQgaXMgbm9u
LW51bGwuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdHJhbnNmb3JtYWN0aW9uL2Ny
ZWF0ZS10cmFuc2Zvcm1hY3Rpb24tZXZlbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3RyYW5zZm9ybWFjdGlvbi9jcmVhdGUtdHJhbnNmb3JtYWN0aW9uLWV2ZW50Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGY1N2UxYQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9jcmVhdGUtdHJhbnNmb3Jt
YWN0aW9uLWV2ZW50Lmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9jcmVhdGUtdHJhbnNmb3JtYWN0aW9u
LWV2ZW50LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9yZXNvdXJjZXMvY3JlYXRlLXRy
YW5zZm9ybWFjdGlvbi1ldmVudC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RyYW5zZm9y
bWFjdGlvbi9yZXNvdXJjZXMvY3JlYXRlLXRyYW5zZm9ybWFjdGlvbi1ldmVudC5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMjMwOGJmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdHJhbnNmb3JtYWN0aW9uL3Jlc291cmNlcy9jcmVhdGUt
dHJhbnNmb3JtYWN0aW9uLWV2ZW50LmpzCkBAIC0wLDAgKzEsMTcgQEAKK2Rlc2NyaXB0aW9uID0g
IlRoaXMgdGVzdHMgd2hldGhlciB0aGUgRE9NIGNhbiBjcmVhdGUgVHJhbnNmb3JtQWN0aW9uRXZl
bnRzLiI7CisKK2RlYnVnKGRlc2NyaXB0aW9uKTsKKwordmFyIGV2ZW50ID0gbnVsbDsKKwordHJ5
Cit7CisgICAgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgiVHJhbnNmb3JtQWN0aW9uRXZl
bnQiKTsKKyAgICBzaG91bGRCZU5vbk51bGwoImV2ZW50Iik7Cit9CitjYXRjaCAoZSkKK3sKKyAg
ICB0ZXN0RmFpbGVkKCJBbiBleGNlcHRpb24gd2FzIHRocm93bjogIiArIGUubWVzc2FnZSk7Cit9
CisKK3N1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9U
cmFuc2Zvcm1BY3Rpb25FdmVudC5jcHAgYi9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1BY3Rpb25FdmVu
dC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmEyNWU5NwotLS0gL2Rl
di9udWxsCisrKyBiL1dlYkNvcmUvZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50LmNwcApAQCAtMCww
ICsxLDgwIEBACisvKgorICAgIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBh
bmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKworICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICAgIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor
ICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxl
IENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNp
ZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VWRU5UUykKKworI2luY2x1ZGUgIlRyYW5zZm9ybUFj
dGlvbkV2ZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworVHJhbnNmb3JtQWN0aW9uRXZl
bnQ6OlRyYW5zZm9ybUFjdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwKKyAgICBi
b29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4g
dmlldywgaW50IHNjcmVlblgsCisgICAgaW50IHNjcmVlblksIGludCBwYWdlWCwgaW50IHBhZ2VZ
LCBib29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LAorICAgIGJvb2wgc2hpZnRLZXksIGJvb2wgbWV0
YUtleSwgaW50IHRyYW5zbGF0ZVgsIGludCB0cmFuc2xhdGVZLAorICAgIGludCB0cmFuc2xhdGVT
cGVlZFgsIGludCB0cmFuc2xhdGVTcGVlZFksIGZsb2F0IHNjYWxlLCBmbG9hdCBzY2FsZVNwZWVk
LAorICAgIGZsb2F0IHJvdGF0ZSwgZmxvYXQgcm90YXRlU3BlZWQpCisgICAgOiBNb3VzZVJlbGF0
ZWRFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUsIHZpZXcsIDAsIHNjcmVlblgsIHNj
cmVlblksCisgICAgICAgICAgICAgICAgICAgICAgICBwYWdlWCwgcGFnZVksIGN0cmxLZXksIGFs
dEtleSwgc2hpZnRLZXksIG1ldGFLZXkpCisgICAgLCBtX3RyYW5zbGF0ZVgodHJhbnNsYXRlWCkK
KyAgICAsIG1fdHJhbnNsYXRlWSh0cmFuc2xhdGVZKQorICAgICwgbV90cmFuc2xhdGVTcGVlZFgo
dHJhbnNsYXRlU3BlZWRYKQorICAgICwgbV90cmFuc2xhdGVTcGVlZFkodHJhbnNsYXRlU3BlZWRZ
KQorICAgICwgbV9zY2FsZShzY2FsZSkKKyAgICAsIG1fc2NhbGVTcGVlZChzY2FsZVNwZWVkKQor
ICAgICwgbV9yb3RhdGUocm90YXRlKQorICAgICwgbV9yb3RhdGVTcGVlZChyb3RhdGVTcGVlZCkK
K3sKK30KKwordm9pZCBUcmFuc2Zvcm1BY3Rpb25FdmVudDo6aW5pdFRyYW5zZm9ybUFjdGlvbkV2
ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwKKyAgICBib29sIGNhbkJ1YmJsZSwgYm9vbCBj
YW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywgaW50IHNjcmVlblgsCisg
ICAgaW50IHNjcmVlblksIGludCBjbGllbnRYLCBpbnQgY2xpZW50WSwgYm9vbCBjdHJsS2V5LCBi
b29sIGFsdEtleSwgCisgICAgYm9vbCBzaGlmdEtleSwgYm9vbCBtZXRhS2V5LCBpbnQgdHJhbnNs
YXRlWCwgaW50IHRyYW5zbGF0ZVksCisgICAgaW50IHRyYW5zbGF0ZVNwZWVkWCwgaW50IHRyYW5z
bGF0ZVNwZWVkWSwgZmxvYXQgc2NhbGUsIGZsb2F0IHNjYWxlU3BlZWQsIAorICAgIGZsb2F0IHJv
dGF0ZSwgZmxvYXQgcm90YXRlU3BlZWQpCit7CisgICAgaWYgKGRpc3BhdGNoZWQoKSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW5pdFVJRXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxl
LCB2aWV3LCAwKTsKKworICAgIG1fY3RybEtleSA9IGN0cmxLZXk7CisgICAgbV9hbHRLZXkgPSBh
bHRLZXk7CisgICAgbV9zaGlmdEtleSA9IHNoaWZ0S2V5OworICAgIG1fbWV0YUtleSA9IG1ldGFL
ZXk7CisKKyAgICBtX3NjcmVlblggPSBzY3JlZW5YOworICAgIG1fc2NyZWVuWSA9IHNjcmVlblk7
CisgICAgaW5pdENvb3JkaW5hdGVzKGNsaWVudFgsIGNsaWVudFkpOworCisgICAgbV90cmFuc2xh
dGVYID0gdHJhbnNsYXRlWDsKKyAgICBtX3RyYW5zbGF0ZVkgPSB0cmFuc2xhdGVZOworICAgIG1f
dHJhbnNsYXRlU3BlZWRYID0gdHJhbnNsYXRlU3BlZWRYOworICAgIG1fdHJhbnNsYXRlU3BlZWRZ
ID0gdHJhbnNsYXRlU3BlZWRZOworICAgIG1fc2NhbGUgPSBzY2FsZTsKKyAgICBtX3NjYWxlU3Bl
ZWQgPSBzY2FsZVNwZWVkOworICAgIG1fcm90YXRlID0gcm90YXRlOworICAgIG1fcm90YXRlU3Bl
ZWQgPSByb3RhdGVTcGVlZDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Rv
bS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5oIGIvV2ViQ29yZS9kb20vVHJhbnNmb3JtQWN0aW9uRXZl
bnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYTkzZDc5Ci0tLSAvZGV2
L251bGwKKysrIGIvV2ViQ29yZS9kb20vVHJhbnNmb3JtQWN0aW9uRXZlbnQuaApAQCAtMCwwICsx
LDg5IEBACisvKgorICAgIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQv
b3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKworICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICAgIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAg
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9u
LCBNQSAwMjExMC0xMzAxLCBVU0EuCisqLworCisjaWZuZGVmIFRyYW5zZm9ybUFjdGlvbkV2ZW50
X2gKKyNkZWZpbmUgVHJhbnNmb3JtQWN0aW9uRXZlbnRfaAorCisjaWYgRU5BQkxFKFRSQU5TRk9S
TUFDVElPTl9FVkVOVFMpCisKKyNpbmNsdWRlICJNb3VzZVJlbGF0ZWRFdmVudC5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFRyYW5zZm9ybUFjdGlvbkV2ZW50IDogcHVibGljIE1v
dXNlUmVsYXRlZEV2ZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxUcmFuc2Zv
cm1BY3Rpb25FdmVudD4gY3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgVHJhbnNmb3JtQWN0aW9uRXZlbnQpOworICAgIH0KKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxU
cmFuc2Zvcm1BY3Rpb25FdmVudD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgCisg
ICAgICAgIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJzdHJh
Y3RWaWV3PiB2aWV3LCAKKyAgICAgICAgaW50IHNjcmVlblgsIGludCBzY3JlZW5ZLCBpbnQgcGFn
ZVgsIGludCBwYWdlWSwgYm9vbCBjdHJsS2V5LAorICAgICAgICBib29sIGFsdEtleSwgYm9vbCBz
aGlmdEtleSwgYm9vbCBtZXRhS2V5LCBpbnQgdHJhbnNsYXRlWCwKKyAgICAgICAgaW50IHRyYW5z
bGF0ZVksIGludCB0cmFuc2xhdGVTcGVlZFgsIGludCB0cmFuc2xhdGVTcGVlZFksIGZsb2F0IHNj
YWxlLAorICAgICAgICBmbG9hdCBzY2FsZVNwZWVkLCBmbG9hdCByb3RhdGUsIGZsb2F0IHJvdGF0
ZVNwZWVkKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBUcmFuc2Zvcm1BY3Rp
b25FdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUsCisgICAgICAgICAgICB2aWV3LCBz
Y3JlZW5YLCBzY3JlZW5ZLCBwYWdlWCwgcGFnZVksIGN0cmxLZXksIGFsdEtleSwgc2hpZnRLZXks
IAorICAgICAgICAgICAgbWV0YUtleSwgdHJhbnNsYXRlWCwgdHJhbnNsYXRlWSwgdHJhbnNsYXRl
U3BlZWRYLCB0cmFuc2xhdGVTcGVlZFksCisgICAgICAgICAgICBzY2FsZSwgc2NhbGVTcGVlZCwg
cm90YXRlLCByb3RhdGVTcGVlZCkpOworICAgIH0KKyAgICAKKyAgICB2b2lkIGluaXRUcmFuc2Zv
cm1BY3Rpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCAK
KyAgICAgICAgYm9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywg
aW50IHNjcmVlblgsCisgICAgICAgIGludCBzY3JlZW5ZLCBpbnQgY2xpZW50WCwgaW50IGNsaWVu
dFksIGJvb2wgY3RybEtleSwgYm9vbCBhbHRLZXksIAorICAgICAgICBib29sIHNoaWZ0S2V5LCBi
b29sIG1ldGFLZXksIGludCB0cmFuc2xhdGVYLCBpbnQgdHJhbnNsYXRlWSwKKyAgICAgICAgaW50
IHRyYW5zbGF0ZVNwZWVkWCwgaW50IHRyYW5zbGF0ZVNwZWVkWSwgZmxvYXQgc2NhbGUsIGZsb2F0
IHNjYWxlU3BlZWQsIAorICAgICAgICBmbG9hdCByb3RhdGUsIGZsb2F0IHJvdGF0ZVNwZWVkKTsK
KworICAgIGludCB0cmFuc2xhdGVYKCkgY29uc3QgeyByZXR1cm4gbV90cmFuc2xhdGVYOyB9Cisg
ICAgaW50IHRyYW5zbGF0ZVkoKSBjb25zdCB7IHJldHVybiBtX3RyYW5zbGF0ZVk7IH0KKyAgICBp
bnQgdHJhbnNsYXRlU3BlZWRYKCkgY29uc3QgeyByZXR1cm4gbV90cmFuc2xhdGVTcGVlZFg7IH0K
KyAgICBpbnQgdHJhbnNsYXRlU3BlZWRZKCkgY29uc3QgeyByZXR1cm4gbV90cmFuc2xhdGVTcGVl
ZFk7IH0KKyAgICBmbG9hdCBzY2FsZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2NhbGU7IH0KKyAgICBm
bG9hdCBzY2FsZVNwZWVkKCkgY29uc3QgeyByZXR1cm4gbV9zY2FsZVNwZWVkOyB9CisgICAgZmxv
YXQgcm90YXRlKCkgY29uc3QgeyByZXR1cm4gbV9yb3RhdGU7IH0KKyAgICBmbG9hdCByb3RhdGVT
cGVlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcm90YXRlU3BlZWQ7IH0KKworcHJpdmF0ZToKKyAgICBU
cmFuc2Zvcm1BY3Rpb25FdmVudCgpIHt9CisgICAgVHJhbnNmb3JtQWN0aW9uRXZlbnQoY29uc3Qg
QXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwKKyAgICAgICAgYm9vbCBjYW5jZWxh
YmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywgaW50IHNjcmVlblgsCisgICAgICAg
IGludCBzY3JlZW5ZLCBpbnQgcGFnZVgsIGludCBwYWdlWSwgYm9vbCBjdHJsS2V5LCBib29sIGFs
dEtleSwKKyAgICAgICAgYm9vbCBzaGlmdEtleSwgYm9vbCBtZXRhS2V5LCBpbnQgdHJhbnNsYXRl
WCwgaW50IHRyYW5zbGF0ZVksCisgICAgICAgIGludCB0cmFuc2xhdGVTcGVlZFgsIGludCB0cmFu
c2xhdGVTcGVlZFksIGZsb2F0IHNjYWxlLCBmbG9hdCBzY2FsZVNwZWVkLAorICAgICAgICBmbG9h
dCByb3RhdGUsIGZsb2F0IHJvdGF0ZVNwZWVkKTsKKyAgICAgICAgCisgICAgdmlydHVhbCBib29s
IGlzVHJhbnNmb3JtQWN0aW9uRXZlbnQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisKKyAgICBp
bnQgbV90cmFuc2xhdGVYOworICAgIGludCBtX3RyYW5zbGF0ZVk7CisgICAgaW50IG1fdHJhbnNs
YXRlU3BlZWRYOworICAgIGludCBtX3RyYW5zbGF0ZVNwZWVkWTsKKyAgICBmbG9hdCBtX3NjYWxl
OworICAgIGZsb2F0IG1fc2NhbGVTcGVlZDsKKyAgICBmbG9hdCBtX3JvdGF0ZTsKKyAgICBmbG9h
dCBtX3JvdGF0ZVNwZWVkOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMpCisKKyNlbmRpZiAvLyBUcmFuc2Zvcm1B
Y3Rpb25FdmVudF9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1BY3Rpb25FdmVu
dC5pZGwgYi9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGIyMTNiMQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNv
cmUvZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50LmlkbApAQCAtMCwwICsxLDY2IEBACisvKgorICAg
IENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlh
cnkoLWllcykKKworICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAgIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAg
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAg
ICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYg
bm90LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUx
IEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCisqLworCittb2R1bGUgZXZlbnRzIHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAg
IENvbmRpdGlvbmFsPVRSQU5TRk9STUFDVElPTl9FVkVOVFMKKyAgICBdIFRyYW5zZm9ybUFjdGlv
bkV2ZW50IDogVUlFdmVudCB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHNjcmVl
blg7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHNjcmVlblk7CisgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBsb25nIGNsaWVudFg7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBsb25nIGNsaWVudFk7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIG9mZnNldFg7
CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIG9mZnNldFk7CisgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBib29sZWFuIGN0cmxLZXk7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBib29sZWFuIGFsdEtleTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gc2hp
ZnRLZXk7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIG1ldGFLZXk7CisKKyAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgdHJhbnNsYXRlWDsKKyAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIGxvbmcgdHJhbnNsYXRlWTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IGxvbmcgdHJhbnNsYXRlU3BlZWRYOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyB0
cmFuc2xhdGVTcGVlZFk7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBzY2FsZTsK
KyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGZsb2F0IHNjYWxlU3BlZWQ7CisgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCByb3RhdGU7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBmbG9hdCByb3RhdGVTcGVlZDsKKworICAgICAgICB2b2lkIGluaXRUcmFuc2Zvcm1BY3Rpb25F
dmVudChpbiBET01TdHJpbmcgdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW4gYm9vbGVhbiBjYW5CdWJibGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGluIGJvb2xlYW4gY2FuY2VsYWJsZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW4gRE9NV2luZG93IHZpZXcsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGluIGxvbmcgc2NyZWVuWCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW4gbG9uZyBzY3JlZW5ZLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbiBsb25nIGNsaWVudFgsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGluIGxvbmcgY2xpZW50WSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW4gYm9vbGVhbiBjdHJsS2V5LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbiBib29sZWFuIGFsdEtleSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW4gYm9vbGVhbiBzaGlmdEtleSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiBtZXRhS2V5LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbiBsb25nIHRyYW5zbGF0ZVgsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGluIGxvbmcgdHJhbnNsYXRlWSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW4gbG9uZyB0cmFuc2xhdGVTcGVlZFgsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGxvbmcgdHJhbnNsYXRlU3BlZWRZLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBmbG9hdCBzY2FsZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gZmxvYXQgc2NhbGVTcGVlZCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gZmxvYXQgcm90YXRlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBmbG9hdCByb3RhdGVTcGVl
ZCk7CisgICB9OworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>57226</attachid>
            <date>2010-05-27 05:13:27 -0700</date>
            <delta_ts>2010-05-27 05:13:27 -0700</delta_ts>
            <desc>Manual TransformActionEvent test</desc>
            <filename>tatest.html</filename>
            <type>text/html</type>
            <size>1781</size>
            <attacher name="Kim Grönholm">kim.1.gronholm</attacher>
            
              <data encoding="base64">PGh0bWw+IAo8aGVhZD4gCiAgICA8c3R5bGU+IAogICAgICAgICNib3ggewogICAgICAgICAgICBw
b3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIGJsYWNrOwog
ICAgICAgICAgICB3aWR0aDogMjAwcHg7CiAgICAgICAgICAgIGhlaWdodDogMjAwcHg7CiAgICAg
ICAgICAgIGxlZnQ6IDIwMHB4OwogICAgICAgICAgICB0b3A6IDEwMHB4OwogICAgICAgIH0KICAg
IDwvc3R5bGU+IAo8L2hlYWQ+IAo8Ym9keSBvbnRvdWNoc3RhcnQ9ImV2ZW50LnByZXZlbnREZWZh
dWx0KCk7IgogICAgPGRpdiBpZD0iYm94IgogICAgICAgIG9udHJhbnNmb3JtYWN0aW9uc3RhcnQ9
InRyYW5zZm9ybVN0YXJ0KGV2ZW50KTsiCiAgICAgICAgb250cmFuc2Zvcm1hY3Rpb251cGRhdGU9
InRyYW5zZm9ybVVwZGF0ZShldmVudCk7IgogICAgICAgIG9udHJhbnNmb3JtYWN0aW9uZW5kPSJ0
cmFuc2Zvcm1FbmQoZXZlbnQpOyI+CiAgICAgICAgPGRpdiBzdHlsZT0id2lkdGg6IDEwMCU7IGhl
aWdodDoxMDA7IGJhY2tncm91bmQtY29sb3I6IzIyMjsgY29sb3I6I2UwMDsgZm9udC1zaXplOiAz
MHB4OyB0ZXh0LWFsaWduOiBjZW50ZXIiPlBPV0VSRUQ8YnIvPkJZOjwvZGl2PgogICAgICAgIDxj
ZW50ZXI+CiAgICAgICAgCSAgPGJyLz48YnIvPgogICAgICAgICAgICA8aT48Zm9udCBzaXplPSI1
IiBmYWNlPSJBcmlhbCI+VHJhbnNmb3JtQWN0aW9uPC9mb250PjwvaT4KICAgICAgICA8L2NlbnRl
cj4KICAgIDwvZGl2PiAKICAgIDxzY3JpcHQ+IAogICAgICAgICAgICAvLyBJbml0aWFsaXplIHRo
ZSBjdXJyZW50IHRyYW5zZm9ybSB2YWx1ZXMKICAgICAgICAgICAgdmFyIGN1clggPSAwOwogICAg
ICAgICAgICB2YXIgY3VyWSA9IDA7CiAgICAgICAgICAgIHZhciBjdXJSb3RhdGlvbiA9IDA7CiAg
ICAgICAgICAgIHZhciBjdXJTY2FsZWZhY3RvciA9IDEuMDsKICAgICAgICAgICAgdmFyIGJveCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib3giKTsKIAogICAgICAgICAgICBmdW5jdGlvbiB0
cmFuc2Zvcm1TdGFydChlKSB7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAg
ICAgICAgICAgIH0KICAgIAogICAgICAgICAgICBmdW5jdGlvbiB0cmFuc2Zvcm1VcGRhdGUoZSkg
ewogICAgICAgICAgICAgICAgLy8gU2V0IHRoZSBuZXcgdHJhbnNmb3JtCiAgICAgICAgICAgICAg
ICBib3guc3R5bGUud2Via2l0VHJhbnNmb3JtID0gCiAgICAgICAgICAgICAgICAgICAgInRyYW5z
bGF0ZSgiICsgKGN1clggKyBlLnRyYW5zbGF0ZVgpICsgInB4LCAiICsgKGN1clkgKyBlLnRyYW5z
bGF0ZVkpICsgInB4KSAiICsKICAgICAgICAgICAgICAgICAgICAicm90YXRlKCIgKyAoY3VyUm90
YXRpb24gKyBlLnJvdGF0ZSkgKyAicmFkKSAiICsKICAgICAgICAgICAgICAgICAgICAic2NhbGUo
IiArIChjdXJTY2FsZWZhY3RvciAqIGUuc2NhbGUpICsgIikgIjsKICAgICAgICAgICAgfQogCiAg
ICAgICAgICAgIGZ1bmN0aW9uIHRyYW5zZm9ybUVuZChlKSB7CiAgICAgICAgICAgICAgICAvLyBV
cGRhdGUgdGhlIGN1cnJlbnQgdHJhbnNmb3JtIHZhbHVlcwogICAgICAgICAgICAgICAgY3VyWCAr
PSBlLnRyYW5zbGF0ZVg7CiAgICAgICAgICAgICAgICBjdXJZICs9IGUudHJhbnNsYXRlWTsKICAg
ICAgICAgICAgICAgIGN1clJvdGF0aW9uICs9IGUucm90YXRlOwogICAgICAgICAgICAgICAgY3Vy
U2NhbGVmYWN0b3IgKj0gZS5zY2FsZTsKICAgICAgICAgICAgfQogICAgPC9zY3JpcHQ+IAo8L2Jv
ZHk+IAo8L2h0bWw+IAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57229</attachid>
            <date>2010-05-27 05:52:50 -0700</date>
            <delta_ts>2010-05-31 19:47:49 -0700</delta_ts>
            <desc>Enables generating TransformAction events from touch gestures</desc>
            <filename>gesturesupport.patch</filename>
            <type>text/plain</type>
            <size>28895</size>
            <attacher name="Kim Grönholm">kim.1.gronholm</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4ZWUwOWIwLi41MDIzNmZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTAtMDUt
MjcgIEtpbSBHcsO2bmhvbG0gIDxraW0uZ3JvbmhvbG1Ab3ZpLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgVHJhbnNmb3JtQWN0aW9uRXZl
bnQgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9Mzk3NTcKKworICAgICAgICBUZXN0cyBiYXNpYyBzaW5nbGUtIGFuZCBtdWx0aS10b3VjaCBz
ZXF1ZW5jZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nCisgICAgICAgIFRyYW5zZm9ybUFjdGlvbiBl
dmVudHMgdGhhdCBhcmUgZ2VuZXJhdGVkLgorCisgICAgICAgICogZmFzdC9ldmVudHMvdHJhbnNm
b3JtYWN0aW9uL2Jhc2ljLXRyYW5zZm9ybWFjdGlvbi1ldmVudHMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy90cmFuc2Zvcm1hY3Rpb24vYmFzaWMtdHJhbnNmb3Jt
YWN0aW9uLWV2ZW50cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy90cmFuc2Zv
cm1hY3Rpb24vcmVzb3VyY2VzL2Jhc2ljLXRyYW5zZm9ybWFjdGlvbi1ldmVudHMuanM6IEFkZGVk
LgorICAgICAgICAoc2hvdWxkQmVDbG9zZSk6CisgICAgICAgIChhcHBlbmRFdmVudExvZyk6Cisg
ICAgICAgICh2ZXJpZnl0cmFuc2Zvcm1hY3Rpb25FdmVudCk6CisgICAgICAgIChzaW5nbGVUb3Vj
aFNlcXVlbmNlKToKKyAgICAgICAgKG11bHRpVG91Y2hTZXF1ZW5jZSk6CisKIDIwMTAtMDUtMjYg
IEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFk
YW0gQmFydGguCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDI0Mjc0NWEuLjk0NjE4Y2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTAtMDUtMjcgIEtp
bSBHcsO2bmhvbG0gIDxraW0uZ3JvbmhvbG1Ab3ZpLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgVHJhbnNmb3JtQWN0aW9uRXZlbnQgc3Vw
cG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzk3
NTcKKworICAgICAgICBFbmFibGluZyB0cmFuc2Zvcm1hY3Rpb24gZXZlbnRzIHRvIGJlIGdlbmVy
YXRlZCBmcm9tIG11bHRpLXRvdWNoCisgICAgICAgIGdlc3R1cmVzIGJ5IGFkZGluZyBnZXN0dXJl
IGhhbmRsaW5nIG1hY2hpbmVyeSBhbmQgZXZlbnRoYW5kbGVyIGhvb2tzLgorCisgICAgICAgIFRl
c3Q6IGZhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9iYXNpYy10cmFuc2Zvcm1hY3Rpb24tZXZl
bnRzLmh0bWwKKyAgICAgICAgVGVzdHMgYmFzaWMgc2luZ2xlLSBhbmQgbXVsdGktdG91Y2ggc2Vx
dWVuY2VzIGFuZCB0aGUgY29ycmVzcG9uZGluZworICAgICAgICBUcmFuc2Zvcm1BY3Rpb24gZXZl
bnRzIHRoYXQgYXJlIGdlbmVyYXRlZC4KKworICAgICAgICBBIG1hbnVhbCB0ZXN0IGNhbiBiZSBm
b3VuZCBmcm9tOgorICAgICAgICBodHRwczovL2J1Zy0zOTc1Ny1hdHRhY2htZW50cy53ZWJraXQu
b3JnL2F0dGFjaG1lbnQuY2dpP2lkPTU3MjI2CisKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAg
ICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpoYXNUcmFu
c2Zvcm1BY3Rpb25FdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxl
cjo6aGFuZGxlVG91Y2hFdmVudCk6CisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuaDoKKyAg
ICAgICAgKiBwYWdlL1RvdWNoR2VzdHVyZUhhbmRsZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlRvdWNoR2VzdHVyZUhhbmRsZXI6OlRvdWNoR2VzdHVyZUhhbmRsZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6VG91Y2hHZXN0dXJlSGFuZGxlcjo6dXBkYXRlUmVmcmVzaE5lZWRlZFN0YXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OlRvdWNoR2VzdHVyZUhhbmRsZXI6OnVwZGF0ZVRvdWNoUG9p
bnRzKToKKyAgICAgICAgKFdlYkNvcmU6OlRvdWNoR2VzdHVyZUhhbmRsZXI6OnJlc2V0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlRvdWNoR2VzdHVyZUhhbmRsZXI6OmNhbGNBbmdsZSk6CisgICAgICAg
IChXZWJDb3JlOjpUb3VjaEdlc3R1cmVIYW5kbGVyOjpkaWZmQW5nbGUpOgorICAgICAgICAoV2Vi
Q29yZTo6VG91Y2hHZXN0dXJlSGFuZGxlcjo6Y2FsY1Bvcyk6CisgICAgICAgIChXZWJDb3JlOjpU
b3VjaEdlc3R1cmVIYW5kbGVyOjpjYWxjRGlzdGFuY2UpOgorICAgICAgICAqIHBhZ2UvVG91Y2hH
ZXN0dXJlSGFuZGxlci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRvdWNoR2VzdHVyZUhh
bmRsZXI6OnRyYW5zbGF0ZVgpOgorICAgICAgICAoV2ViQ29yZTo6VG91Y2hHZXN0dXJlSGFuZGxl
cjo6dHJhbnNsYXRlWSk6CisgICAgICAgIChXZWJDb3JlOjpUb3VjaEdlc3R1cmVIYW5kbGVyOjpw
b3MpOgorICAgICAgICAoV2ViQ29yZTo6VG91Y2hHZXN0dXJlSGFuZGxlcjo6c2NyZWVuUG9zKToK
KyAgICAgICAgKFdlYkNvcmU6OlRvdWNoR2VzdHVyZUhhbmRsZXI6OnNjYWxlKToKKyAgICAgICAg
KFdlYkNvcmU6OlRvdWNoR2VzdHVyZUhhbmRsZXI6OnJvdGF0ZSk6CisKIDIwMTAtMDUtMjYgIEVy
aWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0g
QmFydGguCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3Jl
LnBybwppbmRleCA0NTBlZjE4Li40N2JhMmU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUu
cHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTI5NTksNiArMjk1OSwxMSBAQCBjb250
YWlucyhERUZJTkVTLCBFTkFCTEVfU1lNQklBTl9ESUFMT0dfUFJPVklERVJTKSB7CiAgICAgfQog
fQogCitjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVFJBTlNGT1JNQUNUSU9OX0VWRU5UUz0xKSB7
CisgICAgSEVBREVSUyArPSBwYWdlL1RvdWNoR2VzdHVyZUhhbmRsZXIuaAorICAgIFNPVVJDRVMg
Kz0gcGFnZS9Ub3VjaEdlc3R1cmVIYW5kbGVyLmNwcAorfQorCiBpbmNsdWRlKCQkUFdELy4uL1dl
YktpdC9xdC9BcGkvaGVhZGVycy5wcmkpCiBIRUFERVJTICs9ICQkV0VCS0lUX0FQSV9IRUFERVJT
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvV2ViQ29yZS9w
YWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggODUyNThjMi4uMDE5OTEyYyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5jcHAKQEAgLTgzLDYgKzgzLDEwIEBACiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKICNp
bmNsdWRlICJQbGF0Zm9ybVRvdWNoRXZlbnQuaCIKICNpbmNsdWRlICJUb3VjaEV2ZW50LmgiCisK
KyNpZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VWRU5UUykKKyNpbmNsdWRlICJUcmFuc2Zvcm1B
Y3Rpb25FdmVudC5oIgorI2VuZGlmCiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
MjczNyw3ICsyNzQxLDYgQEAgdm9pZCBFdmVudEhhbmRsZXI6OnVwZGF0ZUxhc3RTY3JvbGxiYXJV
bmRlck1vdXNlKFNjcm9sbGJhciogc2Nyb2xsYmFyLCBib29sIHNldEwKIH0KIAogI2lmIEVOQUJM
RShUT1VDSF9FVkVOVFMpCi0KIHN0YXRpYyBQYXNzUmVmUHRyPFRvdWNoTGlzdD4gYXNzZW1ibGVU
YXJnZXRUb3VjaGVzKFRvdWNoKiB0b3VjaFRhcmdldCwgVG91Y2hMaXN0KiB0b3VjaGVzKQogewog
ICAgIFJlZlB0cjxUb3VjaExpc3Q+IHRhcmdldFRvdWNoZXMgPSBUb3VjaExpc3Q6OmNyZWF0ZSgp
OwpAQCAtMjc1Niw2ICsyNzU5LDE5IEBAIHN0YXRpYyBmbG9hdCBwYWdlWm9vbUZhY3RvcihGcmFt
ZSogZnJhbWUpCiAgICAgcmV0dXJuIHZpZXcgPyB2aWV3LT5wYWdlWm9vbUZhY3RvcigpIDogMS4w
ZjsKIH0KIAorI2lmIEVOQUJMRShUUkFOU0ZPUk1BQ1RJT05fRVZFTlRTKQorc3RhdGljIGJvb2wg
aGFzVHJhbnNmb3JtQWN0aW9uRXZlbnRMaXN0ZW5lcihOb2RlKiB0YXJnZXQpCit7CisgICAgZm9y
IChOb2RlKiBuID0gdGFyZ2V0OyBuOyBuID0gbi0+ZXZlbnRQYXJlbnROb2RlKCkpIHsKKyAgICAg
ICAgaWYgKG4tPmhhc0V2ZW50TGlzdGVuZXJzKGV2ZW50TmFtZXMoKS50cmFuc2Zvcm1hY3Rpb25z
dGFydEV2ZW50KQorICAgICAgICAgICAgfHwgbi0+aGFzRXZlbnRMaXN0ZW5lcnMoZXZlbnROYW1l
cygpLnRyYW5zZm9ybWFjdGlvbnVwZGF0ZUV2ZW50KQorICAgICAgICAgICAgfHwgbi0+aGFzRXZl
bnRMaXN0ZW5lcnMoZXZlbnROYW1lcygpLnRyYW5zZm9ybWFjdGlvbmVuZEV2ZW50KSkKKyAgICAg
ICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisjZW5kaWYK
KwogYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZVRvdWNoRXZlbnQoY29uc3QgUGxhdGZvcm1Ub3Vj
aEV2ZW50JiBldmVudCkKIHsKICAgICBSZWZQdHI8VG91Y2hMaXN0PiB0b3VjaGVzID0gVG91Y2hM
aXN0OjpjcmVhdGUoKTsKQEAgLTI3NjksNiArMjc4NSwxMiBAQCBib29sIEV2ZW50SGFuZGxlcjo6
aGFuZGxlVG91Y2hFdmVudChjb25zdCBQbGF0Zm9ybVRvdWNoRXZlbnQmIGV2ZW50KQogCiAgICAg
VXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2lu
Z1VzZXJHZXN0dXJlKTsKIAorI2lmIEVOQUJMRShUUkFOU0ZPUk1BQ1RJT05fRVZFTlRTKQorICAg
IFZlY3Rvcjxjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQqPiBnZXN0dXJlVG91Y2hQb2ludHM7Cisg
ICAgYm9vbCBnZXN0dXJlVG91Y2hQb2ludE9uVGFyZ2V0ID0gZmFsc2U7CisgICAgYm9vbCBnZXN0
dXJlVG91Y2hQb2ludFJlbGVhc2VkID0gZmFsc2U7CisjZW5kaWYKKwogICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBwb2ludHMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgY29uc3QgUGxhdGZv
cm1Ub3VjaFBvaW50JiBwb2ludCA9IHBvaW50c1tpXTsKICAgICAgICAgSW50UG9pbnQgcGFnZVBv
aW50ID0gZG9jdW1lbnRQb2ludEZvcldpbmRvd1BvaW50KG1fZnJhbWUsIHBvaW50LnBvcygpKTsK
QEAgLTI3ODIsNiArMjgwNCw0MiBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlVG91Y2hFdmVu
dChjb25zdCBQbGF0Zm9ybVRvdWNoRXZlbnQmIGV2ZW50KQogICAgICAgICBEb2N1bWVudCogZG9j
ID0gdGFyZ2V0LT5kb2N1bWVudCgpOwogICAgICAgICBpZiAoIWRvYykKICAgICAgICAgICAgIGNv
bnRpbnVlOworCisjaWYgRU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMpCisgICAgICAgIGlm
IChkb2MtPmhhc0xpc3RlbmVyVHlwZShEb2N1bWVudDo6VFJBTlNGT1JNQUNUSU9OX0xJU1RFTkVS
KSkgeworICAgICAgICAgICAgaWYgKHBvaW50LnN0YXRlKCkgPT0gUGxhdGZvcm1Ub3VjaFBvaW50
OjpUb3VjaFByZXNzZWQKKyAgICAgICAgICAgICAgICAmJiBtX2dlc3R1cmVUb3VjaFBvaW50SWRz
LnNpemUoKSA8IDIpIHsKKyAgICAgICAgICAgICAgICBpZiAobV9nZXN0dXJlVG91Y2hQb2ludElk
cy5zaXplKCkgPT0gMSkKKyAgICAgICAgICAgICAgICAgICAgbV9nZXN0dXJlVG91Y2hQb2ludElk
cy5hcHBlbmQocG9pbnQuaWQoKSk7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAocG9pbnRzLnNp
emUoKSA8IDMpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGhhc1RyYW5zZm9ybUFjdGlvbkV2
ZW50TGlzdGVuZXIodGFyZ2V0KSkgeworICAgICAgICAgICAgICAgICAgICAgICAgbV90cmFuc2Zv
cm1BY3Rpb25UYXJnZXQgPSB0YXJnZXQ7CisgICAgICAgICAgICAgICAgICAgICAgICBtX2dlc3R1
cmVUb3VjaFBvaW50SWRzLmFwcGVuZChwb2ludC5pZCgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIElmIHRoZXJlIGFyZSB0d28gdG91Y2hwb2ludHMsIGFkZCB0aGUgb3RoZXIgb25lIHRv
bworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBvaW50cy5zaXplKCkgPT0gMikKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBtX2dlc3R1cmVUb3VjaFBvaW50SWRzLmFwcGVuZChwb2lu
dHNbMSAtIGldLmlkKCkpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAoKG1fZ2VzdHVyZVRvdWNoUG9pbnRJ
ZHMuc2l6ZSgpID4gMCAmJiBtX2dlc3R1cmVUb3VjaFBvaW50SWRzWzBdID09IHBvaW50LmlkKCkp
CisgICAgICAgICAgICAgICAgfHwgKG1fZ2VzdHVyZVRvdWNoUG9pbnRJZHMuc2l6ZSgpID4gMSAm
JiBtX2dlc3R1cmVUb3VjaFBvaW50SWRzWzFdID09IHBvaW50LmlkKCkpKSB7CisgICAgICAgICAg
ICAgICAgZ2VzdHVyZVRvdWNoUG9pbnRzLmFwcGVuZCgmcG9pbnQpOworICAgICAgICAgICAgICAg
IGlmIChwb2ludC5zdGF0ZSgpID09IFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hSZWxlYXNlZAor
ICAgICAgICAgICAgICAgICAgICB8fCBwb2ludC5zdGF0ZSgpID09IFBsYXRmb3JtVG91Y2hQb2lu
dDo6VG91Y2hDYW5jZWxsZWQpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHBvaW50LmlkKCkg
PT0gbV9nZXN0dXJlVG91Y2hQb2ludElkc1swXSkgeworICAgICAgICAgICAgICAgICAgICAgICAg
bV9nZXN0dXJlVG91Y2hQb2ludElkcy5yZW1vdmUoMCk7CisgICAgICAgICAgICAgICAgICAgICAg
ICBnZXN0dXJlVG91Y2hQb2ludFJlbGVhc2VkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAg
fSBlbHNlIGlmIChtX2dlc3R1cmVUb3VjaFBvaW50SWRzLnNpemUoKSA+IDEgJiYgcG9pbnQuaWQo
KSA9PSBtX2dlc3R1cmVUb3VjaFBvaW50SWRzWzFdKSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICBtX2dlc3R1cmVUb3VjaFBvaW50SWRzLnJlbW92ZSgxKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGdlc3R1cmVUb3VjaFBvaW50UmVsZWFzZWQgPSB0cnVlOworICAgICAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChtX3RyYW5zZm9ybUFjdGlvblRhcmdldCA9
PSB0YXJnZXQpCisgICAgICAgICAgICAgICAgICAgIGdlc3R1cmVUb3VjaFBvaW50T25UYXJnZXQg
PSB0cnVlOworICAgICAgICAgICAgfQorICAgICAgICB9CisjZW5kaWYgLy8gRU5BQkxFKFRSQU5T
Rk9STUFDVElPTl9FVkVOVFMpCisKICAgICAgICAgaWYgKCFkb2MtPmhhc0xpc3RlbmVyVHlwZShE
b2N1bWVudDo6VE9VQ0hfTElTVEVORVIpKQogICAgICAgICAgICAgY29udGludWU7CiAKQEAgLTI5
MTcsNiArMjk3NSw0NyBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlVG91Y2hFdmVudChjb25z
dCBQbGF0Zm9ybVRvdWNoRXZlbnQmIGV2ZW50KQogICAgICAgICBkZWZhdWx0UHJldmVudGVkIHw9
IG1vdmVFdi0+ZGVmYXVsdFByZXZlbnRlZCgpOwogICAgIH0KIAorI2lmIEVOQUJMRShUUkFOU0ZP
Uk1BQ1RJT05fRVZFTlRTKQorICAgIGlmIChnZXN0dXJlVG91Y2hQb2ludHMuc2l6ZSgpID4gMCAm
JiBtX3RyYW5zZm9ybUFjdGlvblRhcmdldC5nZXQoKSkgeworICAgICAgICAvLyBJZiBhIGdlc3R1
cmUgdG91Y2hwb2ludCB3YXMgcmVsZWFzZWQgYW5kIHRoZSBvdGhlciB0b3VjaHBvaW50IGlzCisg
ICAgICAgIC8vIG5vdCBvbiB0aGUgdGFyZ2V0LCBlbmQgdGhlIGdlc3R1cmUKKyAgICAgICAgaWYg
KGdlc3R1cmVUb3VjaFBvaW50UmVsZWFzZWQgJiYgIWdlc3R1cmVUb3VjaFBvaW50T25UYXJnZXQp
CisgICAgICAgICAgICBtX2dlc3R1cmVUb3VjaFBvaW50SWRzLmNsZWFyKCk7CisKKyAgICAgICAg
ZXZlbnROYW1lID0gJmV2ZW50TmFtZXMoKS50cmFuc2Zvcm1hY3Rpb251cGRhdGVFdmVudDsKKyAg
ICAgICAgaWYgKCFtX3RyYW5zZm9ybUFjdGlvbkFjdGl2ZSkgeworICAgICAgICAgICAgZXZlbnRO
YW1lID0gJmV2ZW50TmFtZXMoKS50cmFuc2Zvcm1hY3Rpb25zdGFydEV2ZW50OworICAgICAgICAg
ICAgbV90cmFuc2Zvcm1BY3Rpb25BY3RpdmUgPSB0cnVlOworICAgICAgICAgICAgbV90b3VjaEdl
c3R1cmUucmVzZXQoKTsKKyAgICAgICAgfSBlbHNlIGlmIChtX2dlc3R1cmVUb3VjaFBvaW50SWRz
LmlzRW1wdHkoKSkgeworICAgICAgICAgICAgZXZlbnROYW1lID0gJmV2ZW50TmFtZXMoKS50cmFu
c2Zvcm1hY3Rpb25lbmRFdmVudDsKKyAgICAgICAgICAgIG1fdHJhbnNmb3JtQWN0aW9uQWN0aXZl
ID0gZmFsc2U7CisgICAgICAgIH0KKworICAgICAgICBtX3RvdWNoR2VzdHVyZS51cGRhdGVUb3Vj
aFBvaW50cyhnZXN0dXJlVG91Y2hQb2ludHMpOworCisgICAgICAgIEZyYW1lKiB0YXJnZXRGcmFt
ZSA9IG1fdHJhbnNmb3JtQWN0aW9uVGFyZ2V0LT50b05vZGUoKS0+ZG9jdW1lbnQoKS0+ZnJhbWUo
KTsKKyAgICAgICAgSW50UG9pbnQgcGFnZVBvaW50ID0gZG9jdW1lbnRQb2ludEZvcldpbmRvd1Bv
aW50KHRhcmdldEZyYW1lLCBtX3RvdWNoR2VzdHVyZS5wb3MoKSk7CisgICAgICAgIGludCBhZGp1
c3RlZFBhZ2VYID0gbHJvdW5kZihwYWdlUG9pbnQueCgpIC8gcGFnZVpvb21GYWN0b3IobV9mcmFt
ZSkpOworICAgICAgICBpbnQgYWRqdXN0ZWRQYWdlWSA9IGxyb3VuZGYocGFnZVBvaW50LnkoKSAv
IHBhZ2Vab29tRmFjdG9yKG1fZnJhbWUpKTsKKyAgICAgICAgUmVmUHRyPFRyYW5zZm9ybUFjdGlv
bkV2ZW50PiB0cmFuc2Zvcm1BY3Rpb25FdiA9CisgICAgICAgICAgICBUcmFuc2Zvcm1BY3Rpb25F
dmVudDo6Y3JlYXRlKCpldmVudE5hbWUsIHRydWUsIHRydWUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1fdHJhbnNmb3JtQWN0aW9uVGFyZ2V0LT50b05vZGUoKS0+
ZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbV90b3VjaEdlc3R1cmUuc2NyZWVuUG9zKCkueCgpLCBtX3RvdWNoR2VzdHVy
ZS5zY3JlZW5Qb3MoKS55KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGFkanVzdGVkUGFnZVgsIGFkanVzdGVkUGFnZVksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGV2ZW50LmN0cmxLZXkoKSwgZXZlbnQuYWx0S2V5KCksIGV2ZW50
LnNoaWZ0S2V5KCksIGV2ZW50Lm1ldGFLZXkoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbV90b3VjaEdlc3R1cmUudHJhbnNsYXRlWCgpLCBtX3RvdWNoR2VzdHVy
ZS50cmFuc2xhdGVZKCksIDAsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG1fdG91Y2hHZXN0dXJlLnNjYWxlKCksIDAsIG1fdG91Y2hHZXN0dXJlLnJvdGF0ZSgp
LCAwKTsKKyAgICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgICAgIG1fdHJhbnNmb3Jt
QWN0aW9uVGFyZ2V0LT5kaXNwYXRjaEV2ZW50KHRyYW5zZm9ybUFjdGlvbkV2LmdldCgpLCBlYyk7
CisgICAgICAgIGRlZmF1bHRQcmV2ZW50ZWQgfD0gdHJhbnNmb3JtQWN0aW9uRXYtPmRlZmF1bHRQ
cmV2ZW50ZWQoKTsKKworICAgICAgICAvLyBDbGVhciB0aGUgdHJhbnNmb3JtYWN0aW9uIHRhcmdl
dCBpZiB0cmFuc2Zvcm1hY3Rpb24gaXMgbm90IGFjdGl2ZSBhbnltb3JlCisgICAgICAgIGlmICgh
bV90cmFuc2Zvcm1BY3Rpb25BY3RpdmUgJiYgbV90cmFuc2Zvcm1BY3Rpb25UYXJnZXQuZ2V0KCkp
CisgICAgICAgICAgICBtX3RyYW5zZm9ybUFjdGlvblRhcmdldC5jbGVhcigpOworICAgIH0KKyNl
bmRpZiAvLyBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VWRU5UUykKKwogICAgIHJldHVybiBkZWZh
dWx0UHJldmVudGVkOwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmggYi9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKaW5kZXggMmY5NzJmYy4uNzY4
MDIxYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCisrKyBiL1dlYkNv
cmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAtNDAsNiArNDAsMTAgQEAgY2xhc3MgTlNWaWV3Owog
CiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorCisj
aWYgRU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMpCisjaW5jbHVkZSAiVG91Y2hHZXN0dXJl
SGFuZGxlci5oIgorI2VuZGlmCiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDMw
LDYgKzQzNCwxMiBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiAgICAgdHlw
ZWRlZiBIYXNoTWFwPGludCwgUmVmUHRyPEV2ZW50VGFyZ2V0PiA+IFRvdWNoVGFyZ2V0TWFwOwog
ICAgIFRvdWNoVGFyZ2V0TWFwIG1fb3JpZ2luYXRpbmdUb3VjaFBvaW50VGFyZ2V0czsKKyNpZiBF
TkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VWRU5UUykKKyAgICBUb3VjaEdlc3R1cmVIYW5kbGVyIG1f
dG91Y2hHZXN0dXJlOworICAgIFZlY3RvcjxpbnQ+IG1fZ2VzdHVyZVRvdWNoUG9pbnRJZHM7Cisg
ICAgUmVmUHRyPEV2ZW50VGFyZ2V0PiBtX3RyYW5zZm9ybUFjdGlvblRhcmdldDsKKyAgICBib29s
IG1fdHJhbnNmb3JtQWN0aW9uQWN0aXZlOworI2VuZGlmCiAjZW5kaWYKIH07CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9iYXNpYy10cmFuc2Zv
cm1hY3Rpb24tZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Ry
YW5zZm9ybWFjdGlvbi9iYXNpYy10cmFuc2Zvcm1hY3Rpb24tZXZlbnRzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMjZhM2QwCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdHJhbnNmb3JtYWN0aW9uL2Jhc2ljLXRyYW5z
Zm9ybWFjdGlvbi1ldmVudHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNzEgQEAKK1RoaXMgdGVz
dHMgYmFzaWMgdHJhbnNmb3JtYWN0aW9uIGV2ZW50IHN1cHBvcnQuCit0cmFuc2Zvcm1hY3Rpb24g
c2VxdWVuY2Ugd2l0aCBhIHNpbmdsZSB0b3VjaHBvaW50CitQQVNTIGxhc3RFdmVudC50eXBlIGlz
ICJ0cmFuc2Zvcm1hY3Rpb25zdGFydCIKK1BBU1MgbGFzdEV2ZW50LnRyYW5zbGF0ZVggaXMgTWF0
aC5mbG9vcigwKQorUEFTUyBsYXN0RXZlbnQudHJhbnNsYXRlWSBpcyBNYXRoLmZsb29yKDApCitQ
QVNTIGxhc3RFdmVudC5yb3RhdGUgaXMgY2xvc2UgdG8gMAorUEFTUyBsYXN0RXZlbnQuc2NhbGUg
aXMgY2xvc2UgdG8gMQorUEFTUyBsYXN0RXZlbnQuc2hpZnRLZXkgaXMgZmFsc2UKK1BBU1MgbGFz
dEV2ZW50LnR5cGUgaXMgInRyYW5zZm9ybWFjdGlvbnVwZGF0ZSIKK1BBU1MgbGFzdEV2ZW50LnRy
YW5zbGF0ZVggaXMgTWF0aC5mbG9vcig1KQorUEFTUyBsYXN0RXZlbnQudHJhbnNsYXRlWSBpcyBN
YXRoLmZsb29yKDEwKQorUEFTUyBsYXN0RXZlbnQucm90YXRlIGlzIGNsb3NlIHRvIDAKK1BBU1Mg
bGFzdEV2ZW50LnNjYWxlIGlzIGNsb3NlIHRvIDEKK1BBU1MgbGFzdEV2ZW50LnNoaWZ0S2V5IGlz
IHRydWUKK1BBU1MgbGFzdEV2ZW50LmFsdEtleSBpcyB0cnVlCitQQVNTIGxhc3RFdmVudC5jdHJs
S2V5IGlzIGZhbHNlCitQQVNTIGxhc3RFdmVudC5tZXRhS2V5IGlzIGZhbHNlCitQQVNTIGxhc3RF
dmVudC50eXBlIGlzICJ0cmFuc2Zvcm1hY3Rpb25lbmQiCitQQVNTIGxhc3RFdmVudC50cmFuc2xh
dGVYIGlzIE1hdGguZmxvb3IoNSkKK1BBU1MgbGFzdEV2ZW50LnRyYW5zbGF0ZVkgaXMgTWF0aC5m
bG9vcigxMCkKK1BBU1MgbGFzdEV2ZW50LnJvdGF0ZSBpcyBjbG9zZSB0byAwCitQQVNTIGxhc3RF
dmVudC5zY2FsZSBpcyBjbG9zZSB0byAxCitQQVNTIGxhc3RFdmVudC5zaGlmdEtleSBpcyBmYWxz
ZQorUEFTUyBsYXN0RXZlbnQuYWx0S2V5IGlzIGZhbHNlCit0cmFuc2Zvcm1hY3Rpb24gc2VxdWVu
Y2Ugd2l0aCB0d28gdG91Y2hwb2ludHMKK0ZpcnN0IHRvdWNocG9pbnQgcHJlc3NlZAorUEFTUyBs
YXN0RXZlbnQudHlwZSBpcyAidHJhbnNmb3JtYWN0aW9uc3RhcnQiCitQQVNTIGxhc3RFdmVudC50
cmFuc2xhdGVYIGlzIE1hdGguZmxvb3IoMCkKK1BBU1MgbGFzdEV2ZW50LnRyYW5zbGF0ZVkgaXMg
TWF0aC5mbG9vcigwKQorUEFTUyBsYXN0RXZlbnQucm90YXRlIGlzIGNsb3NlIHRvIDAKK1BBU1Mg
bGFzdEV2ZW50LnNjYWxlIGlzIGNsb3NlIHRvIDEKK1NlY29uZCB0b3VjaHBvaW50IHByZXNzZWQK
K1BBU1MgbGFzdEV2ZW50LnR5cGUgaXMgInRyYW5zZm9ybWFjdGlvbnVwZGF0ZSIKK1BBU1MgbGFz
dEV2ZW50LnRyYW5zbGF0ZVggaXMgTWF0aC5mbG9vcigwKQorUEFTUyBsYXN0RXZlbnQudHJhbnNs
YXRlWSBpcyBNYXRoLmZsb29yKDApCitQQVNTIGxhc3RFdmVudC5yb3RhdGUgaXMgY2xvc2UgdG8g
MAorUEFTUyBsYXN0RXZlbnQuc2NhbGUgaXMgY2xvc2UgdG8gMQorRmlyc3QgdG91Y2hwb2ludCB1
cGRhdGVkCitQQVNTIGxhc3RFdmVudC50eXBlIGlzICJ0cmFuc2Zvcm1hY3Rpb251cGRhdGUiCitQ
QVNTIGxhc3RFdmVudC50cmFuc2xhdGVYIGlzIE1hdGguZmxvb3IoMi41KQorUEFTUyBsYXN0RXZl
bnQudHJhbnNsYXRlWSBpcyBNYXRoLmZsb29yKDEwKQorUEFTUyBsYXN0RXZlbnQucm90YXRlIGlz
IGNsb3NlIHRvIC0wLjA3MTEwNDk5NDY1MjQwMjA1CitQQVNTIGxhc3RFdmVudC5zY2FsZSBpcyBj
bG9zZSB0byAwLjg3MTAxMjgzOTM2MzgyNTgKK1NlY29uZCB0b3VjaHBvaW50IGlzIHJlbGVhc2Vk
CitQQVNTIGxhc3RFdmVudC50eXBlIGlzICJ0cmFuc2Zvcm1hY3Rpb251cGRhdGUiCitQQVNTIGxh
c3RFdmVudC50cmFuc2xhdGVYIGlzIE1hdGguZmxvb3IoMi41KQorUEFTUyBsYXN0RXZlbnQudHJh
bnNsYXRlWSBpcyBNYXRoLmZsb29yKDEwKQorUEFTUyBsYXN0RXZlbnQucm90YXRlIGlzIGNsb3Nl
IHRvIC0wLjA3MTEwNDk5NDY1MjQwMjA1CitQQVNTIGxhc3RFdmVudC5zY2FsZSBpcyBjbG9zZSB0
byAwLjg3MTAxMjgzOTM2MzgyNTgKK1NlY29uZCB0b3VjaHBvaW50IHByZXNzZWQgYWdhaW4KK1BB
U1MgbGFzdEV2ZW50LnR5cGUgaXMgInRyYW5zZm9ybWFjdGlvbnVwZGF0ZSIKK1BBU1MgbGFzdEV2
ZW50LnRyYW5zbGF0ZVggaXMgTWF0aC5mbG9vcigyLjUpCitQQVNTIGxhc3RFdmVudC50cmFuc2xh
dGVZIGlzIE1hdGguZmxvb3IoMTApCitQQVNTIGxhc3RFdmVudC5yb3RhdGUgaXMgY2xvc2UgdG8g
LTAuMDcxMTA0OTk0NjUyNDAyMDUKK1BBU1MgbGFzdEV2ZW50LnNjYWxlIGlzIGNsb3NlIHRvIDAu
ODcxMDEyODM5MzYzODI1OAorQm90aCB0b3VjaCBwb2ludHMgdXBkYXRlCitQQVNTIGxhc3RFdmVu
dC50eXBlIGlzICJ0cmFuc2Zvcm1hY3Rpb251cGRhdGUiCitQQVNTIGxhc3RFdmVudC50cmFuc2xh
dGVYIGlzIE1hdGguZmxvb3IoLTcuNSkKK1BBU1MgbGFzdEV2ZW50LnRyYW5zbGF0ZVkgaXMgTWF0
aC5mbG9vcigxMCkKK1BBU1MgbGFzdEV2ZW50LnJvdGF0ZSBpcyBjbG9zZSB0byAtMC4wNzExMDQ5
OTQ2NTI0MDIwNQorUEFTUyBsYXN0RXZlbnQuc2NhbGUgaXMgY2xvc2UgdG8gMC44NzEwMTI4Mzkz
NjM4MjU4CitSZWxlYXNlIGJvdGggdG91Y2ggcG9pbnRzCitQQVNTIGxhc3RFdmVudC50eXBlIGlz
ICJ0cmFuc2Zvcm1hY3Rpb25lbmQiCitQQVNTIGxhc3RFdmVudC50cmFuc2xhdGVYIGlzIE1hdGgu
Zmxvb3IoLTcuNSkKK1BBU1MgbGFzdEV2ZW50LnRyYW5zbGF0ZVkgaXMgTWF0aC5mbG9vcigxMCkK
K1BBU1MgbGFzdEV2ZW50LnJvdGF0ZSBpcyBjbG9zZSB0byAtMC4wNzExMDQ5OTQ2NTI0MDIwNQor
UEFTUyBsYXN0RXZlbnQuc2NhbGUgaXMgY2xvc2UgdG8gMC44NzEwMTI4MzkzNjM4MjU4CitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdHJhbnNmb3JtYWN0aW9uL2Jhc2ljLXRyYW5zZm9y
bWFjdGlvbi1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RyYW5zZm9ybWFj
dGlvbi9iYXNpYy10cmFuc2Zvcm1hY3Rpb24tZXZlbnRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uZDcwZGZiMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9iYXNpYy10cmFuc2Zvcm1hY3Rpb24tZXZlbnRz
Lmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9iYXNpYy10cmFuc2Zvcm1hY3Rpb24tZXZlbnRzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9yZXNvdXJjZXMvYmFzaWMtdHJhbnNmb3JtYWN0aW9u
LWV2ZW50cy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9yZXNv
dXJjZXMvYmFzaWMtdHJhbnNmb3JtYWN0aW9uLWV2ZW50cy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi4zNTdiMmQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvdHJhbnNmb3JtYWN0aW9uL3Jlc291cmNlcy9iYXNpYy10cmFuc2Zvcm1hY3Rp
b24tZXZlbnRzLmpzCkBAIC0wLDAgKzEsMTcwIEBACitkZXNjcmlwdGlvbiA9ICJUaGlzIHRlc3Rz
IGJhc2ljIHRyYW5zZm9ybWFjdGlvbiBldmVudCBzdXBwb3J0LiI7CisKK3ZhciBkaXYgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKK2Rpdi5pZCA9ICJ0b3VjaHRhcmdldCI7CitkaXYu
c3R5bGUud2lkdGggPSAiMTAwcHgiOworZGl2LnN0eWxlLmhlaWdodCA9ICIxMDBweCI7CitkaXYu
c3R5bGUuYmFja2dyb3VuZENvbG9yID0gImJsdWUiOworCit2YXIgbGFzdEV2ZW50ID0gbnVsbDsK
KworZnVuY3Rpb24gc2hvdWxkQmVDbG9zZShfYSwgX2IsIF9lcHNpbG9uKQoreworICAgIC8vIExp
a2Ugc2hvdWxkQmUsIGV2YWx1YXRlIF9hIGFuZCBjb21wYXJlIGl0IHRvIF9iLiBfYiBhbmQgX2Vw
c2lsb24gc2hvdWxkIGJlIG51bWJlcnMgYW5kCisgICAgLy8gdGhlIHJlc3VsdGluZyB2YWx1ZSBv
ZiBfYSBldmFsdWF0ZWQgc2hvdWxkIGJlIHdpdGhpbiBfZXBzaWxvbiBmcm9tIF9iLgorCisgIGlm
ICh0eXBlb2YgX2EgIT0gInN0cmluZyIgfHwgdHlwZW9mIF9iICE9ICJudW1iZXIiIHx8IHR5cGVv
ZiBfZXBzaWxvbiAhPSAibnVtYmVyIikKKyAgICBkZWJ1ZygiV0FSTjogc2hvdWxkQmVDbG9zZSgp
IGV4cGVjdHMgYSBzdHJpbmcgYW5kIHR3byBudW1iZXJzIGFzIGFyZ3VtZW50cyIpOworICB2YXIg
ZXhjZXB0aW9uOworICB2YXIgX2F2OworICB0cnkgeworICAgICBfYXYgPSBldmFsKF9hKTsKKyAg
fSBjYXRjaCAoZSkgeworICAgICBleGNlcHRpb24gPSBlOworICB9CisKKyAgaWYgKGV4Y2VwdGlv
bikKKyAgICB0ZXN0RmFpbGVkKF9hICsgIiBzaG91bGQgYmUgY2xvc2UgdG8gIiArIF9iICsgIi4g
VGhyZXcgZXhjZXB0aW9uICIgKyBleGNlcHRpb24pOworICBlbHNlIGlmICh0eXBlb2YoX2F2KSAh
PSAibnVtYmVyIikKKyAgICB0ZXN0RmFpbGVkKF9hICsgIiBzaG91bGQgYmUgYSBudW1iZXIuIFdh
cyAiICsgdHlwZW9mKF9hdikpOworICBlbHNlIGlmIChNYXRoLmFicyhfYXYgLSBfYikgPCBfZXBz
aWxvbikKKyAgICB0ZXN0UGFzc2VkKF9hICsgIiBpcyBjbG9zZSB0byAiICsgX2IpOworICBlbHNl
CisgICAgdGVzdEZhaWxlZChfYSArICIgc2hvdWxkIGJlIGNsb3NlIHRvICIgKyBfYiArICIuIFdh
cyAiICsgX2F2ICsgIi4iKTsKK30KKworZnVuY3Rpb24gYXBwZW5kRXZlbnRMb2coKSB7CisgICAg
aWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICBsYXN0RXZlbnQgPSBldmVudDsKKyAg
ICB9IGVsc2UgeworICAgICAgICBkZWJ1ZyhldmVudC50eXBlKTsKKyAgICB9Cit9CisKK2Rpdi5h
ZGRFdmVudExpc3RlbmVyKCJ0cmFuc2Zvcm1hY3Rpb25zdGFydCIsIGFwcGVuZEV2ZW50TG9nLCBm
YWxzZSk7CitkaXYuYWRkRXZlbnRMaXN0ZW5lcigidHJhbnNmb3JtYWN0aW9udXBkYXRlIiwgYXBw
ZW5kRXZlbnRMb2csIGZhbHNlKTsKK2Rpdi5hZGRFdmVudExpc3RlbmVyKCJ0cmFuc2Zvcm1hY3Rp
b25lbmQiLCBhcHBlbmRFdmVudExvZywgZmFsc2UpOworZG9jdW1lbnQuYm9keS5pbnNlcnRCZWZv
cmUoZGl2LCBkb2N1bWVudC5ib2R5LmZpcnN0Q2hpbGQpOworCitmdW5jdGlvbiB2ZXJpZnl0cmFu
c2Zvcm1hY3Rpb25FdmVudCh0eXBlLCB0cmFuc2xhdGVYLCB0cmFuc2xhdGVZLCByb3RhdGUsIHNj
YWxlKQoreworICAgIHZhciB0b2xlcmFuY2UgPSAwLjAwMDAwMTsKKworICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygibGFzdEV2ZW50LnR5cGUiLCB0eXBlKTsKKyAgICBzaG91bGRCZSgibGFzdEV2
ZW50LnRyYW5zbGF0ZVgiLCAiTWF0aC5mbG9vcigiICsgdHJhbnNsYXRlWCArICIpIik7CisgICAg
c2hvdWxkQmUoImxhc3RFdmVudC50cmFuc2xhdGVZIiwgIk1hdGguZmxvb3IoIiArIHRyYW5zbGF0
ZVkgKyAiKSIpOworICAgIHNob3VsZEJlQ2xvc2UoImxhc3RFdmVudC5yb3RhdGUiLCByb3RhdGUs
IHRvbGVyYW5jZSk7CisgICAgc2hvdWxkQmVDbG9zZSgibGFzdEV2ZW50LnNjYWxlIiwgc2NhbGUs
IHRvbGVyYW5jZSk7Cit9CisKK2Z1bmN0aW9uIHNpbmdsZVRvdWNoU2VxdWVuY2UoKQoreworICAg
IGRlYnVnKCJ0cmFuc2Zvcm1hY3Rpb24gc2VxdWVuY2Ugd2l0aCBhIHNpbmdsZSB0b3VjaHBvaW50
Iik7CisKKyAgICBldmVudFNlbmRlci5hZGRUb3VjaFBvaW50KDEwLCAxMCk7CisgICAgZXZlbnRT
ZW5kZXIudG91Y2hTdGFydCgpOworCisgICAgdmVyaWZ5dHJhbnNmb3JtYWN0aW9uRXZlbnQoInRy
YW5zZm9ybWFjdGlvbnN0YXJ0IiwgMCwgMCwgMCwgMSk7CisgICAgc2hvdWxkQmUoImxhc3RFdmVu
dC5zaGlmdEtleSIsICJmYWxzZSIpOworCisgICAgZXZlbnRTZW5kZXIudXBkYXRlVG91Y2hQb2lu
dCgwLCAxNSwgMjApOworICAgIGV2ZW50U2VuZGVyLnNldFRvdWNoTW9kaWZpZXIoInNoaWZ0Iiwg
dHJ1ZSk7CisgICAgZXZlbnRTZW5kZXIuc2V0VG91Y2hNb2RpZmllcigiYWx0IiwgdHJ1ZSk7Cisg
ICAgZXZlbnRTZW5kZXIudG91Y2hNb3ZlKCk7CisKKyAgICB2ZXJpZnl0cmFuc2Zvcm1hY3Rpb25F
dmVudCgidHJhbnNmb3JtYWN0aW9udXBkYXRlIiwgNSwgMTAsIDAsIDEpOworICAgIHNob3VsZEJl
KCJsYXN0RXZlbnQuc2hpZnRLZXkiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJsYXN0RXZlbnQu
YWx0S2V5IiwgInRydWUiKTsKKyAgICBzaG91bGRCZSgibGFzdEV2ZW50LmN0cmxLZXkiLCAiZmFs
c2UiKTsKKyAgICBzaG91bGRCZSgibGFzdEV2ZW50Lm1ldGFLZXkiLCAiZmFsc2UiKTsKKworICAg
IGV2ZW50U2VuZGVyLnNldFRvdWNoTW9kaWZpZXIoInNoaWZ0IiwgZmFsc2UpOworICAgIGV2ZW50
U2VuZGVyLnNldFRvdWNoTW9kaWZpZXIoImFsdCIsIGZhbHNlKTsKKworICAgIGV2ZW50U2VuZGVy
LnJlbGVhc2VUb3VjaFBvaW50KDApOworICAgIGV2ZW50U2VuZGVyLnRvdWNoRW5kKCk7CisKKyAg
ICB2ZXJpZnl0cmFuc2Zvcm1hY3Rpb25FdmVudCgidHJhbnNmb3JtYWN0aW9uZW5kIiwgNSwgMTAs
IDAsIDEpOworICAgIHNob3VsZEJlKCJsYXN0RXZlbnQuc2hpZnRLZXkiLCAiZmFsc2UiKTsKKyAg
ICBzaG91bGRCZSgibGFzdEV2ZW50LmFsdEtleSIsICJmYWxzZSIpOworfQorCitmdW5jdGlvbiBt
dWx0aVRvdWNoU2VxdWVuY2UoKQoreworICAgIGRlYnVnKCJ0cmFuc2Zvcm1hY3Rpb24gc2VxdWVu
Y2Ugd2l0aCB0d28gdG91Y2hwb2ludHMiKTsKKworICAgIGRlYnVnKCJGaXJzdCB0b3VjaHBvaW50
IHByZXNzZWQiKTsKKyAgICBldmVudFNlbmRlci5hZGRUb3VjaFBvaW50KDEwLCAxMCk7CisgICAg
ZXZlbnRTZW5kZXIudG91Y2hTdGFydCgpOworICAgIHZlcmlmeXRyYW5zZm9ybWFjdGlvbkV2ZW50
KCJ0cmFuc2Zvcm1hY3Rpb25zdGFydCIsIDAsIDAsIDAsIDEpOworCisgICAgZGVidWcoIlNlY29u
ZCB0b3VjaHBvaW50IHByZXNzZWQiKTsKKyAgICBldmVudFNlbmRlci5hZGRUb3VjaFBvaW50KDEw
MCwgMTIwKTsKKyAgICBldmVudFNlbmRlci50b3VjaE1vdmUoKTsKKyAgICB2ZXJpZnl0cmFuc2Zv
cm1hY3Rpb25FdmVudCgidHJhbnNmb3JtYWN0aW9udXBkYXRlIiwgMCwgMCwgMCwgMSk7CisKKyAg
ICBkZWJ1ZygiRmlyc3QgdG91Y2hwb2ludCB1cGRhdGVkIik7CisgICAgZXZlbnRTZW5kZXIudXBk
YXRlVG91Y2hQb2ludCgwLCAxNSwgMzApOworICAgIGV2ZW50U2VuZGVyLnRvdWNoTW92ZSgpOwor
ICAgIHZlcmlmeXRyYW5zZm9ybWFjdGlvbkV2ZW50KCJ0cmFuc2Zvcm1hY3Rpb251cGRhdGUiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUtMTAwKS8yLSgxMC0xMDApLzIsIC8vIHRyYW5z
bGF0ZVgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKDMwLTEyMCkvMi0oMTAtMTIwKS8yLCAv
LyB0cmFuc2xhdGVZCisgICAgICAgICAgICAgICAgICAgICAgICAgIE1hdGguYXRhbigoMzAtMTIw
KS8oMTUtMTAwKSkgLSBNYXRoLmF0YW4oKDEwLTEyMCkvKDEwLTEwMCkpLCAvLyByb3RhdGUKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgTWF0aC5zcXJ0KCgxNS0xMDApKigxNS0xMDApKygzMC0x
MjApKigzMC0xMjApKSAvIE1hdGguc3FydCgoMTAtMTAwKSooMTAtMTAwKSsoMTAtMTIwKSooMTAt
MTIwKSkpOyAvLyBzY2FsZQorCisgICAgZGVidWcoIlNlY29uZCB0b3VjaHBvaW50IGlzIHJlbGVh
c2VkIik7CisgICAgZXZlbnRTZW5kZXIucmVsZWFzZVRvdWNoUG9pbnQoMSk7CisgICAgZXZlbnRT
ZW5kZXIudG91Y2hNb3ZlKCk7CisgICAgdmVyaWZ5dHJhbnNmb3JtYWN0aW9uRXZlbnQoInRyYW5z
Zm9ybWFjdGlvbnVwZGF0ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICgxNS0xMDApLzIt
KDEwLTEwMCkvMiwgLy8gdHJhbnNsYXRlWAorICAgICAgICAgICAgICAgICAgICAgICAgICAoMzAt
MTIwKS8yLSgxMC0xMjApLzIsIC8vIHRyYW5zbGF0ZVkKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgTWF0aC5hdGFuKCgzMC0xMjApLygxNS0xMDApKSAtIE1hdGguYXRhbigoMTAtMTIwKS8oMTAt
MTAwKSksIC8vIHJvdGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLnNxcnQoKDE1
LTEwMCkqKDE1LTEwMCkrKDMwLTEyMCkqKDMwLTEyMCkpIC8gTWF0aC5zcXJ0KCgxMC0xMDApKigx
MC0xMDApKygxMC0xMjApKigxMC0xMjApKSk7IC8vIHNjYWxlCisKKyAgICBkZWJ1ZygiU2Vjb25k
IHRvdWNocG9pbnQgcHJlc3NlZCBhZ2FpbiIpOworICAgIGV2ZW50U2VuZGVyLmFkZFRvdWNoUG9p
bnQoMjAwLCAxMCk7CisgICAgZXZlbnRTZW5kZXIudG91Y2hNb3ZlKCk7CisgICAgLy8gU2hvdWxk
IHN0aWxsIGhhdmUgdGhlIHNhbWUgdmFsdWVzIGFzIGFib3ZlLCBhcyB0aGUgbWFuaXB1bGF0aW9u
IGlzIHN0aWxsIG9uZ29pbmcgYW5kIG5vdGhpbmcgaGFzIHVwZGF0ZWQKKyAgICB2ZXJpZnl0cmFu
c2Zvcm1hY3Rpb25FdmVudCgidHJhbnNmb3JtYWN0aW9udXBkYXRlIiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgKDE1LTEwMCkvMi0oMTAtMTAwKS8yLCAvLyB0cmFuc2xhdGVYCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICgzMC0xMjApLzItKDEwLTEyMCkvMiwgLy8gdHJhbnNsYXRlWQor
ICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLmF0YW4oKDMwLTEyMCkvKDE1LTEwMCkpIC0g
TWF0aC5hdGFuKCgxMC0xMjApLygxMC0xMDApKSwgLy8gcm90YXRlCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIE1hdGguc3FydCgoMTUtMTAwKSooMTUtMTAwKSsoMzAtMTIwKSooMzAtMTIwKSkg
LyBNYXRoLnNxcnQoKDEwLTEwMCkqKDEwLTEwMCkrKDEwLTEyMCkqKDEwLTEyMCkpKTsgLy8gc2Nh
bGUKKworICAgIGRlYnVnKCJCb3RoIHRvdWNoIHBvaW50cyB1cGRhdGUiKTsKKyAgICBldmVudFNl
bmRlci51cGRhdGVUb3VjaFBvaW50KDAsIDUsIDMwKTsKKyAgICBldmVudFNlbmRlci51cGRhdGVU
b3VjaFBvaW50KDEsIDE5MCwgMTApOworICAgIGV2ZW50U2VuZGVyLnRvdWNoTW92ZSgpOworICAg
IHZlcmlmeXRyYW5zZm9ybWFjdGlvbkV2ZW50KCJ0cmFuc2Zvcm1hY3Rpb251cGRhdGUiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAoMTUtMTAwKS8yLSgxMC0xMDApLzIgLSAxMCwgLy8gdHJh
bnNsYXRlWAorICAgICAgICAgICAgICAgICAgICAgICAgICAoMzAtMTIwKS8yLSgxMC0xMjApLzIs
IC8vIHRyYW5zbGF0ZVkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgTWF0aC5hdGFuKCgzMC0x
MjApLygxNS0xMDApKSAtIE1hdGguYXRhbigoMTAtMTIwKS8oMTAtMTAwKSksIC8vIHJvdGF0ZQor
ICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLnNxcnQoKDE1LTEwMCkqKDE1LTEwMCkrKDMw
LTEyMCkqKDMwLTEyMCkpIC8gTWF0aC5zcXJ0KCgxMC0xMDApKigxMC0xMDApKygxMC0xMjApKigx
MC0xMjApKSk7IC8vIHNjYWxlCisKKyAgICBkZWJ1ZygiUmVsZWFzZSBib3RoIHRvdWNoIHBvaW50
cyIpOworICAgIGV2ZW50U2VuZGVyLnJlbGVhc2VUb3VjaFBvaW50KDEpOworICAgIGV2ZW50U2Vu
ZGVyLnJlbGVhc2VUb3VjaFBvaW50KDApOworICAgIGV2ZW50U2VuZGVyLnRvdWNoRW5kKCk7Cisg
ICAgdmVyaWZ5dHJhbnNmb3JtYWN0aW9uRXZlbnQoInRyYW5zZm9ybWFjdGlvbmVuZCIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICgxNS0xMDApLzItKDEwLTEwMCkvMiAtIDEwLCAvLyB0cmFu
c2xhdGVYCisgICAgICAgICAgICAgICAgICAgICAgICAgICgzMC0xMjApLzItKDEwLTEyMCkvMiwg
Ly8gdHJhbnNsYXRlWQorICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLmF0YW4oKDMwLTEy
MCkvKDE1LTEwMCkpIC0gTWF0aC5hdGFuKCgxMC0xMjApLygxMC0xMDApKSwgLy8gcm90YXRlCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIE1hdGguc3FydCgoMTUtMTAwKSooMTUtMTAwKSsoMzAt
MTIwKSooMzAtMTIwKSkgLyBNYXRoLnNxcnQoKDEwLTEwMCkqKDEwLTEwMCkrKDEwLTEyMCkqKDEw
LTEyMCkpKTsgLy8gc2NhbGUKK30KKworaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgIGRl
YnVnKGRlc2NyaXB0aW9uKTsKKworICAgIGxhc3RFdmVudCA9IG51bGw7CisgICAgZXZlbnRTZW5k
ZXIuY2xlYXJUb3VjaFBvaW50cygpOworICAgIHNpbmdsZVRvdWNoU2VxdWVuY2UoKTsKKworICAg
IGxhc3RFdmVudCA9IG51bGw7CisgICAgZXZlbnRTZW5kZXIuY2xlYXJUb3VjaFBvaW50cygpOwor
ICAgIG11bHRpVG91Y2hTZXF1ZW5jZSgpOworCit9IGVsc2UgeworICAgIGRlYnVnKCJUaGlzIHRl
c3QgcmVxdWlyZXMgRHVtcFJlbmRlclRyZWUuICBUYXAgb24gdGhlIGJsdWUgcmVjdCB0byBsb2cu
IikKK30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BhZ2UvVG91Y2hHZXN0dXJlSGFuZGxlci5jcHAgYi9XZWJDb3JlL3BhZ2UvVG91Y2hHZXN0
dXJlSGFuZGxlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzc4MDE0
YwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvcGFnZS9Ub3VjaEdlc3R1cmVIYW5kbGVyLmNw
cApAQCAtMCwwICsxLDE0NSBAQAorLyoKKyAgICBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29y
cG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisKKyAgICBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICAgbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
KyAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKKyAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCisgICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
CisKKyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNl
ZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAgICB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29y
LAorICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIlRvdWNoR2VzdHVyZUhhbmRsZXIuaCIKKworI2luY2x1ZGUgPG1hdGgu
aD4KKworI2lmbmRlZiBNX1BJCisjZGVmaW5lIE1fUEkgMy4xNDE1OTI2NTM2CisjZW5kaWYKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitUb3VjaEdlc3R1cmVIYW5kbGVyOjpUb3VjaEdlc3R1cmVI
YW5kbGVyKCkKK3sKKyAgICByZXNldCgpOworfQorCit2b2lkIFRvdWNoR2VzdHVyZUhhbmRsZXI6
OnVwZGF0ZVJlZnJlc2hOZWVkZWRTdGF0ZShjb25zdCBWZWN0b3I8Y29uc3QgUGxhdGZvcm1Ub3Vj
aFBvaW50Kj4mIHRvdWNoUG9pbnRzKQoreworICAgIC8vIE51bWJlciBvZiB0b3VjaHBvaW50cyBj
aGFuZ2VkCisgICAgaWYgKHRvdWNoUG9pbnRzLnNpemUoKSAhPSBtX3ByZXZTaXplKQorICAgICAg
ICBtX3JlZnJlc2hOZWVkZWQgPSB0cnVlOworICAgIGVsc2UgeworICAgICAgICBmb3IgKGludCBp
ID0gMDsgaSA8IHRvdWNoUG9pbnRzLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICAvLyBUb3Vj
aHBvaW50cyBpbiBwcmVzc2VkIHN0YXRlIG9yIGlkcyBtaXNtYXRjaAorICAgICAgICAgICAgaWYg
KHRvdWNoUG9pbnRzW2ldLT5zdGF0ZSgpID09IFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hQcmVz
c2VkCisgICAgICAgICAgICAgICAgfHwgdG91Y2hQb2ludHNbaV0tPmlkKCkgIT0gbV9wcmV2SWRz
W2ldKSBtX3JlZnJlc2hOZWVkZWQgPSB0cnVlOworICAgICAgICB9CisgICAgfQorCisgICAgbV9w
cmV2U2l6ZSA9IHRvdWNoUG9pbnRzLnNpemUoKTsKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IHRv
dWNoUG9pbnRzLnNpemUoKTsgKytpKQorICAgICAgICBtX3ByZXZJZHNbaV0gPSB0b3VjaFBvaW50
c1tpXS0+aWQoKTsKK30KKwordm9pZCBUb3VjaEdlc3R1cmVIYW5kbGVyOjp1cGRhdGVUb3VjaFBv
aW50cyhjb25zdCBWZWN0b3I8Y29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50Kj4mIHRvdWNoUG9pbnRz
KQoreworICAgIGlmICh0b3VjaFBvaW50cy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKwor
ICAgIHVwZGF0ZVJlZnJlc2hOZWVkZWRTdGF0ZSh0b3VjaFBvaW50cyk7CisKKyAgICBpZiAobV9y
ZWZyZXNoTmVlZGVkKSB7CisgICAgICAgIG1fcG9zID0gY2FsY1Bvcyh0b3VjaFBvaW50cyk7Cisg
ICAgICAgIEludFNpemUgY2xpZW50T2Zmc2V0ID0gdG91Y2hQb2ludHNbMF0tPnNjcmVlblBvcygp
IC0gdG91Y2hQb2ludHNbMF0tPnBvcygpOworICAgICAgICBtX3NjcmVlblBvcyA9IG1fcG9zICsg
Y2xpZW50T2Zmc2V0OworCisgICAgICAgIGlmICh0b3VjaFBvaW50cy5zaXplKCkgPiAxKSB7Cisg
ICAgICAgICAgICBtX3ByZXZBbmdsZSA9IGNhbGNBbmdsZSh0b3VjaFBvaW50c1swXS0+cG9zKCks
IHRvdWNoUG9pbnRzWzFdLT5wb3MoKSk7CisgICAgICAgICAgICBtX3ByZXZEaXN0YW5jZSA9IGNh
bGNEaXN0YW5jZSh0b3VjaFBvaW50c1swXS0+cG9zKCksIHRvdWNoUG9pbnRzWzFdLT5wb3MoKSk7
CisgICAgICAgIH0KKyAgICAgICAgbV9yZWZyZXNoTmVlZGVkID0gZmFsc2U7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICAvLyBQYW4KKyAgICBJbnRQb2ludCBuZXh0UG9zID0gY2FsY1Bv
cyh0b3VjaFBvaW50cyk7CisgICAgbV90cmFuc2xhdGVYICs9IChuZXh0UG9zLngoKSAtIG1fcG9z
LngoKSk7CisgICAgbV90cmFuc2xhdGVZICs9IChuZXh0UG9zLnkoKSAtIG1fcG9zLnkoKSk7Cisg
ICAgbV9wb3MgPSBuZXh0UG9zOworICAgIEludFNpemUgY2xpZW50T2Zmc2V0ID0gdG91Y2hQb2lu
dHNbMF0tPnNjcmVlblBvcygpIC0gdG91Y2hQb2ludHNbMF0tPnBvcygpOworICAgIG1fc2NyZWVu
UG9zID0gbV9wb3MgKyBjbGllbnRPZmZzZXQ7CisKKyAgICBpZiAodG91Y2hQb2ludHMuc2l6ZSgp
ID4gMSkgeworICAgICAgICAvLyBSb3RhdGUKKyAgICAgICAgZmxvYXQgYW5nbGUgPSBjYWxjQW5n
bGUodG91Y2hQb2ludHNbMF0tPnBvcygpLCB0b3VjaFBvaW50c1sxXS0+cG9zKCkpOworICAgICAg
ICBtX3JvdGF0ZSArPSBkaWZmQW5nbGUobV9wcmV2QW5nbGUsIGFuZ2xlKTsKKyAgICAgICAgbV9w
cmV2QW5nbGUgPSBhbmdsZTsKKworICAgICAgICAvLyBQaW5jaAorICAgICAgICBmbG9hdCBkaXN0
YW5jZSA9IGNhbGNEaXN0YW5jZSh0b3VjaFBvaW50c1swXS0+cG9zKCksIHRvdWNoUG9pbnRzWzFd
LT5wb3MoKSk7CisgICAgICAgIGZsb2F0IG5leHRTY2FsZSA9IG1fc2NhbGUgKiAoZGlzdGFuY2Ug
LyAobV9wcmV2RGlzdGFuY2UgPyBtX3ByZXZEaXN0YW5jZSA6IDAuMDAwMWYpKTsKKyAgICAgICAg
bV9zY2FsZSA9IG5leHRTY2FsZTsKKyAgICAgICAgbV9wcmV2RGlzdGFuY2UgPSBkaXN0YW5jZTsK
KyAgICB9Cit9CisKK3ZvaWQgVG91Y2hHZXN0dXJlSGFuZGxlcjo6cmVzZXQoKQoreworICAgIG1f
cmVmcmVzaE5lZWRlZCA9IHRydWU7CisgICAgbV9zY2FsZSA9IDEuMDsKKyAgICBtX3JvdGF0ZSA9
IDA7CisgICAgbV90cmFuc2xhdGVYID0gMDsKKyAgICBtX3RyYW5zbGF0ZVkgPSAwOworICAgIG1f
cG9zID0gSW50UG9pbnQoMCwgMCk7CisgICAgbV9zY3JlZW5Qb3MgPSBJbnRQb2ludCgwLCAwKTsK
KyAgICBtX3ByZXZTaXplID0gMDsKK30KKworZmxvYXQgVG91Y2hHZXN0dXJlSGFuZGxlcjo6Y2Fs
Y0FuZ2xlKGNvbnN0IEludFBvaW50JiBwMSwgY29uc3QgSW50UG9pbnQmIHAyKSBjb25zdAorewor
ICAgIGZsb2F0IGRlbHRhWCA9IHAxLngoKSAtIHAyLngoKTsKKyAgICBmbG9hdCBkZWx0YVkgPSBw
MS55KCkgLSBwMi55KCk7CisgICAgcmV0dXJuIGF0YW4yKGRlbHRhWSwgZGVsdGFYKTsKK30KKwor
ZmxvYXQgVG91Y2hHZXN0dXJlSGFuZGxlcjo6ZGlmZkFuZ2xlKGZsb2F0IGFscGhhLCBmbG9hdCBi
ZXRhKSBjb25zdAoreworICAgIGZsb2F0IGJldHdlZW4gPSBiZXRhIC0gYWxwaGE7CisKKyAgICBp
ZiAoYmV0d2VlbiA+IE1fUEkpCisgICAgICAgIGJldHdlZW4gLT0gMiAqIE1fUEk7CisgICAgZWxz
ZSBpZiAoYmV0d2VlbiA8IC1NX1BJKQorICAgICAgICBiZXR3ZWVuICs9IDIgKiBNX1BJOworCisg
ICAgcmV0dXJuIGJldHdlZW47Cit9CisKK0ludFBvaW50IFRvdWNoR2VzdHVyZUhhbmRsZXI6OmNh
bGNQb3MoY29uc3QgVmVjdG9yPGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCo+JiB0b3VjaFBvaW50
cykgY29uc3QKK3sKKyAgICBpZiAodG91Y2hQb2ludHMuc2l6ZSgpID09IDEpCisgICAgICAgIHJl
dHVybiB0b3VjaFBvaW50c1swXS0+cG9zKCk7CisKKyAgICBJbnRQb2ludCBwb3M7CisgICAgcG9z
LnNldFgoKHRvdWNoUG9pbnRzWzBdLT5wb3MoKS54KCkgKyB0b3VjaFBvaW50c1sxXS0+cG9zKCku
eCgpKSAvIDIpOworICAgIHBvcy5zZXRZKCh0b3VjaFBvaW50c1swXS0+cG9zKCkueSgpICsgdG91
Y2hQb2ludHNbMV0tPnBvcygpLnkoKSkgLyAyKTsKKyAgICByZXR1cm4gcG9zOworfQorCitmbG9h
dCBUb3VjaEdlc3R1cmVIYW5kbGVyOjpjYWxjRGlzdGFuY2UoY29uc3QgSW50UG9pbnQmIHAxLCBj
b25zdCBJbnRQb2ludCYgcDIpIGNvbnN0Cit7CisgICAgZmxvYXQgZHggPSBwMS54KCkgLSBwMi54
KCk7CisgICAgZmxvYXQgZHkgPSBwMS55KCkgLSBwMi55KCk7CisgICAgcmV0dXJuIHNxcnQoZHgg
KiBkeCArIGR5ICogZHkpOworfQorCit9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvVG91Y2hH
ZXN0dXJlSGFuZGxlci5oIGIvV2ViQ29yZS9wYWdlL1RvdWNoR2VzdHVyZUhhbmRsZXIuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYzc1OGQwCi0tLSAvZGV2L251bGwKKysr
IGIvV2ViQ29yZS9wYWdlL1RvdWNoR2VzdHVyZUhhbmRsZXIuaApAQCAtMCwwICsxLDY0IEBACisv
KgorICAgIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1
YnNpZGlhcnkoLWllcykKKworICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICAgIExpY2Vuc2UgYXMgcHVibGlz
aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAgIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
KworICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UKKyAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElC
LiAgSWYgbm90LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCisqLworCisjaWZuZGVmIFRvdWNoR2VzdHVyZUhhbmRsZXJfaAorI2RlZmlu
ZSBUb3VjaEdlc3R1cmVIYW5kbGVyX2gKKworI2luY2x1ZGUgIlBsYXRmb3JtVG91Y2hFdmVudC5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFRvdWNoR2VzdHVyZUhhbmRsZXIgewor
CitwdWJsaWM6CisgICAgVG91Y2hHZXN0dXJlSGFuZGxlcigpOworCisgICAgdm9pZCByZXNldCgp
OworICAgIHZvaWQgdXBkYXRlVG91Y2hQb2ludHMoY29uc3QgVmVjdG9yPGNvbnN0IFBsYXRmb3Jt
VG91Y2hQb2ludCo+JiB0b3VjaFBvaW50cyk7CisKKyAgICBpbnQgdHJhbnNsYXRlWCgpIGNvbnN0
IHsgcmV0dXJuIG1fdHJhbnNsYXRlWDsgfQorICAgIGludCB0cmFuc2xhdGVZKCkgY29uc3QgeyBy
ZXR1cm4gbV90cmFuc2xhdGVZOyB9CisgICAgY29uc3QgSW50UG9pbnQmIHBvcygpIGNvbnN0IHsg
cmV0dXJuIG1fcG9zOyB9CisgICAgY29uc3QgSW50UG9pbnQmIHNjcmVlblBvcygpIGNvbnN0IHsg
cmV0dXJuIG1fc2NyZWVuUG9zOyB9CisgICAgZmxvYXQgc2NhbGUoKSBjb25zdCB7IHJldHVybiBt
X3NjYWxlOyB9CisgICAgZmxvYXQgcm90YXRlKCkgY29uc3QgeyByZXR1cm4gbV9yb3RhdGU7IH0K
KworcHJpdmF0ZToKKyAgICBmbG9hdCBjYWxjQW5nbGUoY29uc3QgSW50UG9pbnQmIHAxLCBjb25z
dCBJbnRQb2ludCYgcDIpIGNvbnN0OworICAgIGZsb2F0IGRpZmZBbmdsZShmbG9hdCBhbHBoYSwg
ZmxvYXQgYmV0YSkgY29uc3Q7CisgICAgSW50UG9pbnQgY2FsY1Bvcyhjb25zdCBWZWN0b3I8Y29u
c3QgUGxhdGZvcm1Ub3VjaFBvaW50Kj4mIHRvdWNoUG9pbnRzKSBjb25zdDsKKyAgICBmbG9hdCBj
YWxjRGlzdGFuY2UoY29uc3QgSW50UG9pbnQmIHAxLCBjb25zdCBJbnRQb2ludCYgcDIpIGNvbnN0
OworICAgIHZvaWQgdXBkYXRlUmVmcmVzaE5lZWRlZFN0YXRlKGNvbnN0IFZlY3Rvcjxjb25zdCBQ
bGF0Zm9ybVRvdWNoUG9pbnQqPiYgdG91Y2hQb2ludHMpOworCisgICAgYm9vbCBtX3JlZnJlc2hO
ZWVkZWQ7CisgICAgaW50IG1fdHJhbnNsYXRlWDsKKyAgICBpbnQgbV90cmFuc2xhdGVZOworICAg
IGZsb2F0IG1fc2NhbGU7CisgICAgZmxvYXQgbV9yb3RhdGU7CisgICAgSW50UG9pbnQgbV9wb3M7
CisgICAgSW50UG9pbnQgbV9zY3JlZW5Qb3M7CisgICAgZmxvYXQgbV9wcmV2QW5nbGU7CisgICAg
aW50IG1fcHJldlNpemU7CisgICAgaW50IG1fcHJldklkc1syXTsKKyAgICBmbG9hdCBtX3ByZXZE
aXN0YW5jZTsKK307CisKK30KKworI2VuZGlmIC8vIFRvdWNoR2VzdHVyZUhhbmRsZXJfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57294</attachid>
            <date>2010-05-27 23:02:45 -0700</date>
            <delta_ts>2010-05-31 19:47:49 -0700</delta_ts>
            <desc>TransformActionEvent patch #3</desc>
            <filename>transformaction3.patch</filename>
            <type>text/plain</type>
            <size>37430</size>
            <attacher name="Kim Grönholm">kim.1.gronholm</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmNDNlYWM4Li5mYjRhYTZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDUt
MjcgIEtpbSBHcsO2bmhvbG0gIDxraW0uZ3JvbmhvbG1Ab3ZpLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgVHJhbnNmb3JtQWN0aW9uRXZl
bnQgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9Mzk3NTcKKworICAgICAgICAqIGZhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9jcmVhdGUt
dHJhbnNmb3JtYWN0aW9uLWV2ZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9ldmVudHMvdHJhbnNmb3JtYWN0aW9uL2NyZWF0ZS10cmFuc2Zvcm1hY3Rpb24tZXZlbnQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvdHJhbnNmb3JtYWN0aW9uL3Jlc291cmNl
cy9jcmVhdGUtdHJhbnNmb3JtYWN0aW9uLWV2ZW50LmpzOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9ndGsvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2tpcHBlZDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS93aW4vU2tpcHBlZDoKKwogMjAxMC0wNS0yNiAgQ3NhYmEgT3N6dHJvZ29u
w6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZml4LCBRdCBzcGVj
aWZpYyBleHBlY3RlZCBmaWxlIHVwZGF0ZWQgYWZ0ZXIgcjYwMjM1LgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
U2tpcHBlZAppbmRleCA2ZTJjMDUwLi5hODM1MjExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBl
ZApAQCAtNTk0MSwzICs1OTQxLDYgQEAgc3RvcmFnZS9pbmRleGVkZGIKIGZhc3QvZG9tL0dlb2xv
Y2F0aW9uL2FyZ3VtZW50LXR5cGVzLmh0bWwKIGZhc3QvZG9tL0dlb2xvY2F0aW9uL25vdGltZXIt
YWZ0ZXItdW5sb2FkLmh0bWwKIGZhc3QvZG9tL0dlb2xvY2F0aW9uL3RpbWVvdXQtemVyby5odG1s
CisKKyMgVGhlc2UgdGVzdHMgcmVxdWlyZSB0cmFuc2Zvcm1hY3Rpb24gZXZlbnQgc3VwcG9ydAor
ZmFzdC9ldmVudHMvdHJhbnNmb3JtYWN0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCmluZGV4
IGNjM2EwNjYuLmJhM2Y3YmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9T
a2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCkBAIC0xMDgsNiAr
MTA4LDkgQEAgbWVkaWEvbWVkaWEtY2FuLXBsYXktb2dnLmh0bWwKICMgVGhlc2UgdGVzdHMgcmVx
dWlyZSB0b3VjaCBzdXBwb3J0CiBmYXN0L2V2ZW50cy90b3VjaAogCisjIFRoZXNlIHRlc3RzIHJl
cXVpcmUgdHJhbnNmb3JtYWN0aW9uIGV2ZW50IHN1cHBvcnQKK2Zhc3QvZXZlbnRzL3RyYW5zZm9y
bWFjdGlvbgorCiAjIFNraXBwZWQgdW50aWwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTMzOTIzIGlzIHJlc29sdmVkLgogcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkv
Y2hhbmdlLW5vdGlmaWNhdGlvbi1vbi1zY3JvbGwuaHRtbAogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lw
cGVkCmluZGV4IGU3ODEzMzQuLjMwOTBlNzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBA
IC03MzksNiArNzM5LDkgQEAgbWVkaWEvbWVkaWEtY2FuLXBsYXktb2dnLmh0bWwKICMgVGhlc2Ug
dGVzdHMgcmVxdWlyZSB0b3VjaCBzdXBwb3J0CiBmYXN0L2V2ZW50cy90b3VjaAogCisjIFRoZXNl
IHRlc3RzIHJlcXVpcmUgdHJhbnNmb3JtYWN0aW9uIGV2ZW50IHN1cHBvcnQKK2Zhc3QvZXZlbnRz
L3RyYW5zZm9ybWFjdGlvbgorCiAjIFhTUyBhdWRpdG9yIHRlc3RzIGludGVybWl0dGVudGx5IHRp
bWUgb3V0IDxodHRwOi8vd2Via2l0Lm9yZy9iLzMyNTI4PgogaHR0cC90ZXN0cy9zZWN1cml0eS94
c3MtREVOSUVELWdldFNWR0RvY3VtZW50LWlmcmFtZS5odG1sCiBodHRwL3Rlc3RzL3NlY3VyaXR5
L3hzcy1ERU5JRUQtZ2V0U1ZHRG9jdW1lbnQtb2JqZWN0Lmh0bWwKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rIGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2
ZWQuanNjYmluZGluZ3MubWsKaW5kZXggYTlkMTUxNi4uZWM0MmQ2ZSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lk
LmRlcml2ZWQuanNjYmluZGluZ3MubWsKQEAgLTEzNyw2ICsxMzcsNyBAQCBHRU4gOj0gXAogICAg
ICQoaW50ZXJtZWRpYXRlcykvZG9tL0pTVG91Y2guaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9k
b20vSlNUb3VjaEV2ZW50LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvZG9tL0pTVG91Y2hMaXN0
LmggXAorICAgICQoaW50ZXJtZWRpYXRlcykvZG9tL0pTVHJhbnNmb3JtQWN0aW9uRXZlbnQuaCBc
CiAgICAgJChpbnRlcm1lZGlhdGVzKS9kb20vSlNUcmVlV2Fsa2VyLmggXAogICAgICQoaW50ZXJt
ZWRpYXRlcykvZG9tL0pTVUlFdmVudC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2RvbS9KU1dl
YktpdEFuaW1hdGlvbkV2ZW50LmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2
ZWQudjhiaW5kaW5ncy5tayBiL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsK
aW5kZXggOTQ4ZDI4Mi4uYjliMmMyMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2
ZWQudjhiaW5kaW5ncy5taworKysgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdz
Lm1rCkBAIC0xMTksNiArMTE5LDcgQEAgR0VOIDo9IFwKICAgICAkKGludGVybWVkaWF0ZXMpL2Jp
bmRpbmdzL1Y4VG91Y2guaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOFRvdWNo
RXZlbnQuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOFRvdWNoTGlzdC5oIFwK
KyAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4VHJhbnNmb3JtQWN0aW9uRXZlbnQuaCBc
CiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOFRyZWVXYWxrZXIuaCBcCiAgICAgJChp
bnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOFVJRXZlbnQuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVz
KS9iaW5kaW5ncy9WOFdlYktpdEFuaW1hdGlvbkV2ZW50LmggXApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9BbmRyb2lkLm1rIGIvV2ViQ29yZS9BbmRyb2lkLm1rCmluZGV4IDljMzY4YjkuLjJkMzYzN2Yg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQW5kcm9pZC5taworKysgYi9XZWJDb3JlL0FuZHJvaWQubWsK
QEAgLTE3MCw2ICsxNzAsNyBAQCBMT0NBTF9TUkNfRklMRVMgOj0gJChMT0NBTF9TUkNfRklMRVMp
IFwKIAlkb20vVG91Y2guY3BwIFwKIAlkb20vVG91Y2hFdmVudC5jcHAgXAogCWRvbS9Ub3VjaExp
c3QuY3BwIFwKKwlkb20vVHJhbnNmb3JtQWN0aW9uRXZlbnQuY3BwIFwKIAlkb20vVHJhdmVyc2Fs
LmNwcCBcCiAJZG9tL1RyZWVXYWxrZXIuY3BwIFwKIAlkb20vVUlFdmVudC5jcHAgXApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5k
ZXggYjg5MGMzYS4uMTYxMmU1YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAor
KysgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xNzUsNiArMTc1LDcgQEAgU0VUKFdlYkNv
cmVfSURMX0ZJTEVTCiAgICAgZG9tL1RvdWNoRXZlbnQuaWRsCiAgICAgZG9tL1RvdWNoLmlkbAog
ICAgIGRvbS9Ub3VjaExpc3QuaWRsCisgICAgZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50LmlkbAog
ICAgIGRvbS9UcmVlV2Fsa2VyLmlkbAogICAgIGRvbS9VSUV2ZW50LmlkbAogICAgIGRvbS9XZWJL
aXRBbmltYXRpb25FdmVudC5pZGwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggNjIxMjJhNy4uNTk4ZTVjNiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3MyBAQAorMjAx
MC0wNS0yNyAgS2ltIEdyw7ZuaG9sbSAgPGtpbS5ncm9uaG9sbUBvdmkuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBUcmFuc2Zvcm1BY3Rp
b25FdmVudCBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zOTc1NworCisgICAgICAgIEFkZGVkIG9ubHkgdGhlIG5lY2Vzc2FyeSBUcmFuc2Zv
cm1BY3Rpb24gZXZlbnQgaW50ZXJmYWNlcyBhbmQgbm90IGUuZy4KKyAgICAgICAgYW55IGV2ZW50
aGFuZGxlciBob29rcyB0aGF0IGdlbmVyYXRlIGFuZCBkaXNwYXRjaCB0aGVtLgorCisgICAgICAg
IFRlc3Q6IGZhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9jcmVhdGUtdHJhbnNmb3JtYWN0aW9u
LWV2ZW50Lmh0bWwKKyAgICAgICAgTW9yZSB0ZXN0cyB3aWxsIGJlIGFkZGVkIHdpdGggdGhlIG1h
Y2hpbmVyeSB0aGF0IGdlbmVyYXRlcyBhbmQKKyAgICAgICAgZGlzcGF0Y2hlcyB0aGVzZSBldmVu
dHMuCisKKyAgICAgICAgKiBBbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWs6CisgICAgICAg
ICogQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWs6CisgICAgICAgICogQW5kcm9pZC5tazoK
KyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5h
bToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcmk6CisgICAg
ICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5h
YmxlZEZlYXR1cmVzLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFi
bGVkRmVhdHVyZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnRyYW5zZm9ybWFjdGlvbkVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2V0VHJhbnNmb3JtQWN0aW9uRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpvbnRyYW5zZm9ybWFjdGlvbnN0YXJ0RW5hYmxlZCk6
CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpvbnRyYW5zZm9ybWFj
dGlvbnVwZGF0ZUVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0
dXJlczo6b250cmFuc2Zvcm1hY3Rpb25lbmRFbmFibGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU0V2ZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAgICAq
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OnRvVjgpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6Y3JlYXRlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmFkZExp
c3RlbmVyVHlwZUlmTmVlZGVkKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjopOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5pZGw6CisgICAg
ICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAgICAgKiBkb20vRWxlbWVudC5pZGw6CisgICAgICAg
ICogZG9tL0V2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50Ojppc1RyYW5zZm9ybUFj
dGlvbkV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50Ojpmcm9tVXNlckdlc3R1cmUpOgor
ICAgICAgICAqIGRvbS9FdmVudC5oOgorICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmg6CisgICAg
ICAgICogZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpUcmFuc2Zvcm1BY3Rpb25FdmVudDo6VHJhbnNmb3JtQWN0aW9uRXZlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6VHJhbnNmb3JtQWN0aW9uRXZlbnQ6OmluaXRUcmFuc2Zvcm1BY3Rpb25FdmVu
dCk6CisgICAgICAgICogZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50Lmg6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6VHJhbnNmb3JtQWN0aW9uRXZlbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpUcmFuc2Zvcm1BY3Rpb25FdmVudDo6dHJhbnNsYXRlWCk6CisgICAgICAgIChXZWJDb3Jl
OjpUcmFuc2Zvcm1BY3Rpb25FdmVudDo6dHJhbnNsYXRlWSk6CisgICAgICAgIChXZWJDb3JlOjpU
cmFuc2Zvcm1BY3Rpb25FdmVudDo6dHJhbnNsYXRlU3BlZWRYKToKKyAgICAgICAgKFdlYkNvcmU6
OlRyYW5zZm9ybUFjdGlvbkV2ZW50Ojp0cmFuc2xhdGVTcGVlZFkpOgorICAgICAgICAoV2ViQ29y
ZTo6VHJhbnNmb3JtQWN0aW9uRXZlbnQ6OnNjYWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5z
Zm9ybUFjdGlvbkV2ZW50OjpzY2FsZVNwZWVkKToKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9y
bUFjdGlvbkV2ZW50Ojpyb3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNmb3JtQWN0aW9u
RXZlbnQ6OnJvdGF0ZVNwZWVkKToKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9ybUFjdGlvbkV2
ZW50OjpUcmFuc2Zvcm1BY3Rpb25FdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1B
Y3Rpb25FdmVudDo6aXNUcmFuc2Zvcm1BY3Rpb25FdmVudCk6CisgICAgICAgICogZG9tL1RyYW5z
Zm9ybUFjdGlvbkV2ZW50LmlkbDogQWRkZWQuCisgICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRl
TmFtZXMuaW46CisgICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAqIHBhZ2Uv
RE9NV2luZG93Lmg6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorCiAyMDEwLTA1LTI2
ICBKZXJlbXkgT3Jsb3cgIDxqb3Jsb3dAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3
ZWQgYnVpbGQgZml4IGZvciBXaW5kb3dzICsgY2xlYW4gdXAgdGhlIFZpc3VhbCBTdHVkaW8gcHJv
amVjdC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5jcHAKaW5kZXggZTVkNjBlYy4uMGQ0Y2I5ZiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAK
QEAgLTM3Myw2ICszNzMsNyBAQAogI2luY2x1ZGUgIkpTVG91Y2guY3BwIgogI2luY2x1ZGUgIkpT
VG91Y2hFdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNUb3VjaExpc3QuY3BwIgorI2luY2x1ZGUgIkpT
VHJhbnNmb3JtQWN0aW9uRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTVHJlZVdhbGtlci5jcHAiCiAj
aW5jbHVkZSAiSlNVSUV2ZW50LmNwcCIKICNpbmNsdWRlICJKU1ZhbGlkaXR5U3RhdGUuY3BwIgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCmluZGV4IGJkMDYxMzAuLjliYTMzZGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAg
LTQzMCw2ICs0MzAsNyBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBUb3VjaCBcCiAgICAgVG91Y2hF
dmVudCBcCiAgICAgVG91Y2hMaXN0IFwKKyAgICBUcmFuc2Zvcm1BY3Rpb25FdmVudCBcCiAgICAg
VHJlZVdhbGtlciBcCiAgICAgVUlFdmVudCBcCiAgICAgVmFsaWRpdHlTdGF0ZSBcCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRl
eCAxYmI2NzFjLi5lYzEzYjk2IDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisr
KyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTE3NCw2ICsxNzQsNyBAQCBJRExfQklORElO
R1MgKz0gXAogCVdlYkNvcmUvZG9tL1RvdWNoLmlkbCBcCiAJV2ViQ29yZS9kb20vVG91Y2hFdmVu
dC5pZGwgXAogCVdlYkNvcmUvZG9tL1RvdWNoTGlzdC5pZGwgXAorCVdlYkNvcmUvZG9tL1RyYW5z
Zm9ybUFjdGlvbkV2ZW50LmlkbCBcCiAJV2ViQ29yZS9kb20vVHJlZVdhbGtlci5pZGwgXAogCVdl
YkNvcmUvZG9tL1VJRXZlbnQuaWRsIFwKIAlXZWJDb3JlL2RvbS9XZWJLaXRBbmltYXRpb25FdmVu
dC5pZGwgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQppbmRleCBjY2RlMWZiLi4wMWRlNGY0IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtNzcsNiArNzcsNyBAQAogICAg
ICAgICAgICAgJ2RvbS9Ub3VjaC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9Ub3VjaEV2ZW50Lmlk
bCcsCiAgICAgICAgICAgICAnZG9tL1RvdWNoTGlzdC5pZGwnLAorICAgICAgICAgICAgJ2RvbS9U
cmFuc2Zvcm1BY3Rpb25FdmVudC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9UcmVlV2Fsa2VyLmlk
bCcsCiAgICAgICAgICAgICAnZG9tL1VJRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vV2Vi
S2l0QW5pbWF0aW9uRXZlbnQuaWRsJywKQEAgLTEyMzYsNiArMTIzNyw4IEBACiAgICAgICAgICAg
ICAnZG9tL1RvdWNoTGlzdC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9Ub3VjaExpc3QuaCcsCiAg
ICAgICAgICAgICAnZG9tL1Rva2VuaXplci5oJywKKyAgICAgICAgICAgICdkb20vVHJhbnNmb3Jt
QWN0aW9uRXZlbnQuY3BwJywKKyAgICAgICAgICAgICdkb20vVHJhbnNmb3JtQWN0aW9uRXZlbnQu
aCcsCiAgICAgICAgICAgICAnZG9tL1RyYW5zZm9ybVNvdXJjZUxpYnhzbHQuY3BwJywKICAgICAg
ICAgICAgICdkb20vVHJhbnNmb3JtU291cmNlLmgnLAogICAgICAgICAgICAgJ2RvbS9UcmF2ZXJz
YWwuY3BwJywKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcmkgYi9XZWJDb3JlL1dlYkNv
cmUucHJpCmluZGV4IDYxODRlNTQuLjZlODk4YmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29y
ZS5wcmkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnByaQpAQCAtMTIwLDggKzEyMCwxMSBAQCBncmVh
dGVyVGhhbihRVF9NSU5PUl9WRVJTSU9OLCA1KSB7CiAjIEJlYXJlciBtYW5hZ2VtZW50IGlzIHBh
cnQgb2YgUXQgNC43CiAhbGVzc1RoYW4oUVRfTUlOT1JfVkVSU0lPTiwgNyk6IWNvbnRhaW5zKERF
RklORVMsIEVOQUJMRV9RVF9CRUFSRVI9Lik6REVGSU5FUyArPSBFTkFCTEVfUVRfQkVBUkVSPTEK
IAotIyBFbmFibGUgdG91Y2ggZXZlbnQgc3VwcG9ydCB3aXRoIFF0IDQuNgotIWxlc3NUaGFuKFFU
X01JTk9SX1ZFUlNJT04sIDYpOiBERUZJTkVTICs9IEVOQUJMRV9UT1VDSF9FVkVOVFM9MQorIyBF
bmFibGUgdG91Y2ggc3VwcG9ydCB3aXRoIFF0IDQuNgorIWxlc3NUaGFuKFFUX01JTk9SX1ZFUlNJ
T04sIDYpIHsKKyAgICBERUZJTkVTICs9IEVOQUJMRV9UT1VDSF9FVkVOVFM9MQorICAgIERFRklO
RVMgKz0gRU5BQkxFX1RSQU5TRk9STUFDVElPTl9FVkVOVFM9MQorfQogCiAjIFVzZWQgdG8gY29t
cHV0ZSBkZWZhdWx0cyBmb3IgdGhlIGJ1aWxkLXdlYmtpdCBzY3JpcHQKIENPTkZJRyhjb21wdXRl
X2RlZmF1bHRzKSB7CkBAIC0xNjIsNiArMTY1LDcgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxF
X0pBVkFTQ1JJUFRfREVCVUdHRVI9MSk6IEZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBUICs9IEUK
IGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlM9MSk6IEZF
QVRVUkVfREVGSU5FU19KQVZBU0NSSVBUICs9IEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElP
TlM9MQogY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1dFQl9TT0NLRVRTPTEpOiBGRUFUVVJFX0RF
RklORVNfSkFWQVNDUklQVCArPSBFTkFCTEVfV0VCX1NPQ0tFVFM9MQogY29udGFpbnMoREVGSU5F
UywgRU5BQkxFX1RPVUNIX0VWRU5UUz0xKTogRkVBVFVSRV9ERUZJTkVTX0pBVkFTQ1JJUFQgKz0g
RU5BQkxFX1RPVUNIX0VWRU5UUz0xCitjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVFJBTlNGT1JN
QUNUSU9OX0VWRU5UUz0xKTogRkVBVFVSRV9ERUZJTkVTX0pBVkFTQ1JJUFQgKz0gRU5BQkxFX1RS
QU5TRk9STUFDVElPTl9FVkVOVFM9MQogY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1RJTEVEX0JB
Q0tJTkdfU1RPUkU9MSk6IEZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBUICs9IEVOQUJMRV9USUxF
RF9CQUNLSU5HX1NUT1JFPTEKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9OT1RJRklDQVRJT05T
PTEpOiBGRUFUVVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBFTkFCTEVfTk9USUZJQ0FUSU9OUz0x
CiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfTUVURVJfVEFHPTEpOiBGRUFUVVJFX0RFRklORVNf
SkFWQVNDUklQVCArPSBFTkFCTEVfTUVURVJfVEFHPTEKQEAgLTI5OSw2ICszMDMsNyBAQCBJRExf
QklORElOR1MgKz0gXAogICAgIGRvbS9Ub3VjaC5pZGwgXAogICAgIGRvbS9Ub3VjaEV2ZW50Lmlk
bCBcCiAgICAgZG9tL1RvdWNoTGlzdC5pZGwgXAorICAgIGRvbS9UcmFuc2Zvcm1BY3Rpb25FdmVu
dC5pZGwgXAogICAgIGRvbS9UcmVlV2Fsa2VyLmlkbCBcCiAgICAgZG9tL1VJRXZlbnQuaWRsIFwK
ICAgICBkb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuaWRsIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
V2ViQ29yZS5wcm8gYi9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDYyNzg1ZjQuLjEyZTE2NmQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBy
bwpAQCAtNTI0LDYgKzUyNCw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGRvbS9Ub3VjaC5jcHAgXAog
ICAgIGRvbS9Ub3VjaEV2ZW50LmNwcCBcCiAgICAgZG9tL1RvdWNoTGlzdC5jcHAgXAorICAgIGRv
bS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5jcHAgXAogICAgIGRvbS9UcmF2ZXJzYWwuY3BwIFwKICAg
ICBkb20vVHJlZVdhbGtlci5jcHAgXAogICAgIGRvbS9VSUV2ZW50LmNwcCBcCkBAIC0xMjUzLDYg
KzEyNTQsNyBAQCBIRUFERVJTICs9IFwKICAgICBkb20vVG91Y2guaCBcCiAgICAgZG9tL1RvdWNo
RXZlbnQuaCBcCiAgICAgZG9tL1RvdWNoTGlzdC5oIFwKKyAgICBkb20vVHJhbnNmb3JtQWN0aW9u
RXZlbnQuaCBcCiAgICAgZG9tL1RyYW5zZm9ybVNvdXJjZS5oIFwKICAgICBkb20vVHJhdmVyc2Fs
LmggXAogICAgIGRvbS9UcmVlRGVwdGhMaW1pdC5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmlu
ZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcCBiL1dlYkNvcmUvYmluZGlu
Z3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAppbmRleCBhM2U0ODhlLi44YWUx
MGUzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVk
RmVhdHVyZXMuY3BwCkBAIC00OCw2ICs0OCw3IEBAIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6aXNJbmRleGVkREJFbmFibGVkID0gZmFsc2U7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OmlzV2ViR0xFbmFibGVkID0gZmFsc2U7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OmlzUHVzaFN0YXRlRW5hYmxlZCA9IGZhbHNlOwogYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
Ojppc1RvdWNoRW5hYmxlZCA9IHRydWU7Citib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6Omlz
VHJhbnNmb3JtQWN0aW9uRW5hYmxlZCA9IHRydWU7CiAKICNpZiBFTkFCTEUoVklERU8pCiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVz
LmggYi9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCmlu
ZGV4IGM4NDQ2NWEuLjg3MDkwY2MgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJp
Yy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmlj
L1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtMTEyLDYgKzExMiwxNCBAQCBwdWJsaWM6CiAg
ICAgc3RhdGljIGJvb2wgb250b3VjaGNhbmNlbEVuYWJsZWQoKSB7IHJldHVybiBpc1RvdWNoRW5h
YmxlZDsgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VWRU5UUykKKyAg
ICBzdGF0aWMgYm9vbCB0cmFuc2Zvcm1hY3Rpb25FbmFibGVkKCkgeyByZXR1cm4gaXNUcmFuc2Zv
cm1BY3Rpb25FbmFibGVkOyB9CisgICAgc3RhdGljIHZvaWQgc2V0VHJhbnNmb3JtQWN0aW9uRW5h
YmxlZChib29sIGlzRW5hYmxlZCkgeyBpc1RyYW5zZm9ybUFjdGlvbkVuYWJsZWQgPSBpc0VuYWJs
ZWQ7IH0KKyAgICBzdGF0aWMgYm9vbCBvbnRyYW5zZm9ybWFjdGlvbnN0YXJ0RW5hYmxlZCgpIHsg
cmV0dXJuIGlzVHJhbnNmb3JtQWN0aW9uRW5hYmxlZDsgfQorICAgIHN0YXRpYyBib29sIG9udHJh
bnNmb3JtYWN0aW9udXBkYXRlRW5hYmxlZCgpIHsgcmV0dXJuIGlzVHJhbnNmb3JtQWN0aW9uRW5h
YmxlZDsgfQorICAgIHN0YXRpYyBib29sIG9udHJhbnNmb3JtYWN0aW9uZW5kRW5hYmxlZCgpIHsg
cmV0dXJuIGlzVHJhbnNmb3JtQWN0aW9uRW5hYmxlZDsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAg
ICAgLy8gTmV2ZXIgaW5zdGFudGlhdGUuCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlcygpIHsg
fQpAQCAtMTI1LDYgKzEzMyw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGJvb2wgaXNXZWJHTEVu
YWJsZWQ7CiAgICAgc3RhdGljIGJvb2wgaXNQdXNoU3RhdGVFbmFibGVkOwogICAgIHN0YXRpYyBi
b29sIGlzVG91Y2hFbmFibGVkOworICAgIHN0YXRpYyBib29sIGlzVHJhbnNmb3JtQWN0aW9uRW5h
YmxlZDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZl
bnRDdXN0b20uY3BwCmluZGV4IGI2MTkwZmYuLjUxMzE4NzEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0V2ZW50Q3VzdG9tLmNwcApAQCAtODYsNiArODYsMTAgQEAKICNpbmNsdWRlICJKU1RvdWNoRXZl
bnQuaCIKICNpbmNsdWRlICJUb3VjaEV2ZW50LmgiCiAjZW5kaWYKKyNpZiBFTkFCTEUoVFJBTlNG
T1JNQUNUSU9OX0VWRU5UUykKKyNpbmNsdWRlICJKU1RyYW5zZm9ybUFjdGlvbkV2ZW50LmgiCisj
aW5jbHVkZSAiVHJhbnNmb3JtQWN0aW9uRXZlbnQuaCIKKyNlbmRpZgogCiAjaWYgRU5BQkxFKElO
REVYRURfREFUQUJBU0UpCiAjaW5jbHVkZSAiSURCRXJyb3JFdmVudC5oIgpAQCAtMTMzLDYgKzEz
NywxMCBAQCBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBFdmVudCogZXZlbnQpCiAgICAgICAgIGVsc2UgaWYgKGV2ZW50LT5pc1Rv
dWNoRXZlbnQoKSkKICAgICAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9XUkFQ
UEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgVG91Y2hFdmVudCwgZXZlbnQpOwogI2VuZGlmCisjaWYg
RU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMpCisgICAgICAgIGVsc2UgaWYgKGV2ZW50LT5p
c1RyYW5zZm9ybUFjdGlvbkV2ZW50KCkpCisgICAgICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RP
TV9PQkpFQ1RfV1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3QsIFRyYW5zZm9ybUFjdGlvbkV2ZW50
LCBldmVudCk7CisjZW5kaWYKICAgICAgICAgZWxzZQogICAgICAgICAgICAgd3JhcHBlciA9IENS
RUFURV9ET01fT0JKRUNUX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBVSUV2ZW50LCBldmVu
dCk7CiAgICAgfSBlbHNlIGlmIChldmVudC0+aXNNdXRhdGlvbkV2ZW50KCkpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50Q3VzdG9tLmNwcCBiL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20uY3BwCmluZGV4IGJjZTE1NjEuLjE1MmQ5
NmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20u
Y3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20uY3BwCkBA
IC01Niw2ICs1Niw3IEBACiAjaW5jbHVkZSAiVjhTdG9yYWdlRXZlbnQuaCIKICNpbmNsdWRlICJW
OFRleHRFdmVudC5oIgogI2luY2x1ZGUgIlY4VG91Y2hFdmVudC5oIgorI2luY2x1ZGUgIlY4VHJh
bnNmb3JtQWN0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJWOFVJRXZlbnQuaCIKICNpbmNsdWRlICJW
OFdlYktpdEFuaW1hdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiVjhXZWJLaXRUcmFuc2l0aW9uRXZl
bnQuaCIKQEAgLTExNyw2ICsxMTgsMTAgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoRXZl
bnQqIGltcGwpCiAgICAgICAgIGlmIChpbXBsLT5pc1RvdWNoRXZlbnQoKSkKICAgICAgICAgICAg
IHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PFRvdWNoRXZlbnQqPihpbXBsKSk7CiAjZW5kaWYKKyNp
ZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VWRU5UUykKKyAgICAgICAgaWYgKGltcGwtPmlzVHJh
bnNmb3JtQWN0aW9uRXZlbnQoKSkKKyAgICAgICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0
PFRyYW5zZm9ybUFjdGlvbkV2ZW50Kj4oaW1wbCkpOworI2VuZGlmCiAgICAgICAgIHJldHVybiB0
b1Y4KHN0YXRpY19jYXN0PFVJRXZlbnQqPihpbXBsKSk7CiAgICAgfQogICAgIGlmIChpbXBsLT5p
c011dGF0aW9uRXZlbnQoKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBi
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCAxODc0NjkwLi5iODg3OTdjIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCkBAIC0xODAsNiArMTgwLDEwIEBACiAjaW5jbHVkZSAiVG91Y2hFdmVudC5oIgogI2VuZGlm
CiAKKyNpZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VWRU5UUykKKyNpbmNsdWRlICJUcmFuc2Zv
cm1BY3Rpb25FdmVudC5oIgorI2VuZGlmCisKICNpZiBFTkFCTEUoV01MKQogI2luY2x1ZGUgIldN
TERvY3VtZW50LmgiCiAjaW5jbHVkZSAiV01MRWxlbWVudC5oIgpAQCAtMzIwOCw2ICszMjEyLDE1
IEBAIFBhc3NSZWZQdHI8RXZlbnQ+IERvY3VtZW50OjpjcmVhdGVFdmVudChjb25zdCBTdHJpbmcm
IGV2ZW50VHlwZSwgRXhjZXB0aW9uQ29kZSYKICNlbmRpZgogICAgICAgICBldmVudCA9IFRvdWNo
RXZlbnQ6OmNyZWF0ZSgpOwogI2VuZGlmCisKKyNpZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VW
RU5UUykKKyNpZiBVU0UoVjgpCisgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09ICJUcmFuc2Zvcm1B
Y3Rpb25FdmVudCIgJiYgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6dHJhbnNmb3JtYWN0aW9uRW5h
YmxlZCgpKQorI2Vsc2UKKyAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gIlRyYW5zZm9ybUFjdGlv
bkV2ZW50IikKKyNlbmRpZgorICAgICAgICBldmVudCA9IFRyYW5zZm9ybUFjdGlvbkV2ZW50Ojpj
cmVhdGUoKTsKKyNlbmRpZgogICAgIGlmIChldmVudCkKICAgICAgICAgcmV0dXJuIGV2ZW50LnJl
bGVhc2UoKTsKIApAQCAtMzI1Myw2ICszMjY2LDEyIEBAIHZvaWQgRG9jdW1lbnQ6OmFkZExpc3Rl
bmVyVHlwZUlmTmVlZGVkKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlKQogICAgICAgICAg
ICAgcGFnZS0+Y2hyb21lKCktPmNsaWVudCgpLT5uZWVkVG91Y2hFdmVudHModHJ1ZSk7CiAgICAg
fQogI2VuZGlmCisjaWYgRU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMpCisgICAgZWxzZSBp
ZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS50cmFuc2Zvcm1hY3Rpb25zdGFydEV2ZW50Cisg
ICAgICAgICAgICAgfHwgZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS50cmFuc2Zvcm1hY3Rpb251
cGRhdGVFdmVudAorICAgICAgICAgICAgIHx8IGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkudHJh
bnNmb3JtYWN0aW9uZW5kRXZlbnQpCisgICAgICAgIGFkZExpc3RlbmVyVHlwZShUUkFOU0ZPUk1B
Q1RJT05fTElTVEVORVIpOworI2VuZGlmCiB9CiAKIENTU1N0eWxlRGVjbGFyYXRpb24qIERvY3Vt
ZW50OjpnZXRPdmVycmlkZVN0eWxlKEVsZW1lbnQqLCBjb25zdCBTdHJpbmcmKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXgg
ZjBmZGQ1My4uMmQwYjQ5MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysg
Yi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0yNzAsNiArMjcwLDExIEBAIHB1YmxpYzoKICAg
ICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHRvdWNoZW5kKTsKICAgICBERUZJTkVf
QVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHRvdWNoY2FuY2VsKTsKICNlbmRpZgorI2lmIEVOQUJM
RShUUkFOU0ZPUk1BQ1RJT05fRVZFTlRTKQorICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElT
VEVORVIodHJhbnNmb3JtYWN0aW9uc3RhcnQpOworICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIodHJhbnNmb3JtYWN0aW9udXBkYXRlKTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKHRyYW5zZm9ybWFjdGlvbmVuZCk7CisjZW5kaWYKIAogICAgIERvY3VtZW50
VHlwZSogZG9jdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fZG9jVHlwZS5nZXQoKTsgfQogCkBAIC02
NTcsNyArNjYyLDggQEAgcHVibGljOgogICAgICAgICBBTklNQVRJT05JVEVSQVRJT05fTElTVEVO
RVIgICAgICAgICAgPSAweDQwMCwKICAgICAgICAgVFJBTlNJVElPTkVORF9MSVNURU5FUiAgICAg
ICAgICAgICAgID0gMHg4MDAsCiAgICAgICAgIEJFRk9SRUxPQURfTElTVEVORVIgICAgICAgICAg
ICAgICAgICA9IDB4MTAwMCwKLSAgICAgICAgVE9VQ0hfTElTVEVORVIgICAgICAgICAgICAgICAg
ICAgICAgID0gMHgyMDAwCisgICAgICAgIFRPVUNIX0xJU1RFTkVSICAgICAgICAgICAgICAgICAg
ICAgICA9IDB4MjAwMCwKKyAgICAgICAgVFJBTlNGT1JNQUNUSU9OX0xJU1RFTkVSICAgICAgICAg
ICAgID0gMHg0MDAwCiAgICAgfTsKIAogICAgIGJvb2wgaGFzTGlzdGVuZXJUeXBlKExpc3RlbmVy
VHlwZSBsaXN0ZW5lclR5cGUpIGNvbnN0IHsgcmV0dXJuIChtX2xpc3RlbmVyVHlwZXMgJiBsaXN0
ZW5lclR5cGUpOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwgYi9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5pZGwKaW5kZXggY2Q4NzdiMy4uOTMxOWJjMiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbApA
QCAtMzEwLDYgKzMxMCw5IEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgYXR0cmlidXRlIFtEb250
RW51bSxDb25kaXRpb25hbD1UT1VDSF9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0
ZW5lciBvbnRvdWNobW92ZTsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSxDb25kaXRpb25h
bD1UT1VDSF9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRvdWNoZW5k
OwogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtLENvbmRpdGlvbmFsPVRPVUNIX0VWRU5UUyxF
bmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9udG91Y2hjYW5jZWw7CisgICAgICAgIGF0
dHJpYnV0ZSBbRG9udEVudW0sQ29uZGl0aW9uYWw9VFJBTlNGT1JNQUNUSU9OX0VWRU5UUyxFbmFi
bGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9udHJhbnNmb3JtYWN0aW9uc3RhcnQ7CisgICAg
ICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sQ29uZGl0aW9uYWw9VFJBTlNGT1JNQUNUSU9OX0VWRU5U
UyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9udHJhbnNmb3JtYWN0aW9udXBkYXRl
OworICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtLENvbmRpdGlvbmFsPVRSQU5TRk9STUFDVElP
Tl9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRyYW5zZm9ybWFjdGlv
bmVuZDsKICNlbmRpZgogICAgIH07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0VsZW1lbnQu
aCBiL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCA4ZGEyODkyLi5hNTBiYmRlIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBA
IC05OCw2ICs5OCwxMSBAQCBwdWJsaWM6CiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNU
RU5FUih0b3VjaGVuZCk7CiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0b3Vj
aGNhbmNlbCk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VWRU5UUykKKyAg
ICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHRyYW5zZm9ybWFjdGlvbnN0YXJ0KTsK
KyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHRyYW5zZm9ybWFjdGlvbnVwZGF0
ZSk7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0cmFuc2Zvcm1hY3Rpb25l
bmQpOworI2VuZGlmCiAKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4g
Y3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KGNvbnN0IFN0cmluZyYsIEZyYWdtZW50U2NyaXB0aW5n
UGVybWlzc2lvbiA9IEZyYWdtZW50U2NyaXB0aW5nQWxsb3dlZCk7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZG9tL0VsZW1lbnQuaWRsIGIvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwKaW5kZXggNmJi
MDY4Ny4uYzg2ODg1ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwKKysrIGIv
V2ViQ29yZS9kb20vRWxlbWVudC5pZGwKQEAgLTE5OSw2ICsxOTksOSBAQCBtb2R1bGUgY29yZSB7
CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sQ29uZGl0aW9uYWw9VE9VQ0hfRVZFTlRTLEVu
YWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250b3VjaG1vdmU7CiAgICAgICAgIGF0dHJp
YnV0ZSBbRG9udEVudW0sQ29uZGl0aW9uYWw9VE9VQ0hfRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVd
IEV2ZW50TGlzdGVuZXIgb250b3VjaGVuZDsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSxD
b25kaXRpb25hbD1UT1VDSF9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBv
bnRvdWNoY2FuY2VsOworICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtLENvbmRpdGlvbmFsPVRS
QU5TRk9STUFDVElPTl9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRy
YW5zZm9ybWFjdGlvbnN0YXJ0OworICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtLENvbmRpdGlv
bmFsPVRSQU5TRk9STUFDVElPTl9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5l
ciBvbnRyYW5zZm9ybWFjdGlvbnVwZGF0ZTsKKyAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSxD
b25kaXRpb25hbD1UUkFOU0ZPUk1BQ1RJT05fRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50
TGlzdGVuZXIgb250cmFuc2Zvcm1hY3Rpb25lbmQ7CiAjZW5kaWYKICAgICB9OwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2RvbS9FdmVudC5jcHAgYi9XZWJDb3JlL2RvbS9FdmVudC5jcHAKaW5kZXgg
NGVhM2UwYy4uYjEzYzI4MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnQuY3BwCisrKyBi
L1dlYkNvcmUvZG9tL0V2ZW50LmNwcApAQCAtMjE5LDYgKzIxOSwxMyBAQCBib29sIEV2ZW50Ojpp
c0RldmljZU9yaWVudGF0aW9uRXZlbnQoKSBjb25zdAogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUo
VFJBTlNGT1JNQUNUSU9OX0VWRU5UUykKK2Jvb2wgRXZlbnQ6OmlzVHJhbnNmb3JtQWN0aW9uRXZl
bnQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKyNlbmRpZgorCiBib29sIEV2ZW50
Ojpmcm9tVXNlckdlc3R1cmUoKQogewogICAgIGlmICghVXNlckdlc3R1cmVJbmRpY2F0b3I6OnBy
b2Nlc3NpbmdVc2VyR2VzdHVyZSgpKQpAQCAtMjM3LDYgKzI0NCwxMiBAQCBib29sIEV2ZW50Ojpm
cm9tVXNlckdlc3R1cmUoKQogICAgICAgICB8fCB0eXBlID09IGV2ZW50TmFtZXMoKS50b3VjaHN0
YXJ0RXZlbnQgfHwgdHlwZSA9PSBldmVudE5hbWVzKCkudG91Y2htb3ZlRXZlbnQKICAgICAgICAg
fHwgdHlwZSA9PSBldmVudE5hbWVzKCkudG91Y2hlbmRFdmVudCB8fCB0eXBlID09IGV2ZW50TmFt
ZXMoKS50b3VjaGNhbmNlbEV2ZW50CiAjZW5kaWYKKyNpZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9O
X0VWRU5UUykKKyAgICAgICAgLy8gdHJhbnNmb3JtYWN0aW9uIGV2ZW50cworICAgICAgICB8fCB0
eXBlID09IGV2ZW50TmFtZXMoKS50cmFuc2Zvcm1hY3Rpb25zdGFydEV2ZW50CisgICAgICAgIHx8
IHR5cGUgPT0gZXZlbnROYW1lcygpLnRyYW5zZm9ybWFjdGlvbnVwZGF0ZUV2ZW50CisgICAgICAg
IHx8IHR5cGUgPT0gZXZlbnROYW1lcygpLnRyYW5zZm9ybWFjdGlvbmVuZEV2ZW50CisjZW5kaWYK
ICAgICAgICAgLy8gb3RoZXIgYWNjZXB0ZWQgZXZlbnRzCiAgICAgICAgIHx8IHR5cGUgPT0gZXZl
bnROYW1lcygpLnNlbGVjdEV2ZW50IHx8IHR5cGUgPT0gZXZlbnROYW1lcygpLmNoYW5nZUV2ZW50
CiAgICAgICAgIHx8IHR5cGUgPT0gZXZlbnROYW1lcygpLmZvY3VzRXZlbnQgfHwgdHlwZSA9PSBl
dmVudE5hbWVzKCkuYmx1ckV2ZW50CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudC5oIGIv
V2ViQ29yZS9kb20vRXZlbnQuaAppbmRleCAyYjU3MGQ1Li4yYzMyNTU1IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2RvbS9FdmVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50LmgKQEAgLTE0Miw2ICsx
NDIsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElP
TikKICAgICAgICAgdmlydHVhbCBib29sIGlzRGV2aWNlT3JpZW50YXRpb25FdmVudCgpIGNvbnN0
OwogI2VuZGlmCisjaWYgRU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMpCisgICAgICAgIHZp
cnR1YWwgYm9vbCBpc1RyYW5zZm9ybUFjdGlvbkV2ZW50KCkgY29uc3Q7CisjZW5kaWYKICAgICAg
ICAgYm9vbCBmcm9tVXNlckdlc3R1cmUoKTsKICAgICAgICAgCiAgICAgICAgIGJvb2wgcHJvcGFn
YXRpb25TdG9wcGVkKCkgY29uc3QgeyByZXR1cm4gbV9wcm9wYWdhdGlvblN0b3BwZWQgfHwgbV9p
bW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2
ZW50TmFtZXMuaCBiL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCA2Y2NlY2VmLi5iYTJk
OGUzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvV2ViQ29yZS9k
b20vRXZlbnROYW1lcy5oCkBAIC0xNTQsNiArMTU0LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBtYWNybyh0b3VjaGVuZCkgXAogICAgIG1hY3JvKHRvdWNoY2FuY2VsKSBcCiAgICAgXAor
ICAgIG1hY3JvKHRyYW5zZm9ybWFjdGlvbnN0YXJ0KSBcCisgICAgbWFjcm8odHJhbnNmb3JtYWN0
aW9udXBkYXRlKSBcCisgICAgbWFjcm8odHJhbnNmb3JtYWN0aW9uZW5kKSBcCisgICAgXAogICAg
IG1hY3JvKHN1Y2Nlc3MpIFwKICAgICBcCiAgICAgbWFjcm8obG9hZGVuZCkgXApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbiBiL1dlYkNvcmUvaHRtbC9IVE1M
QXR0cmlidXRlTmFtZXMuaW4KaW5kZXggN2NkZTMyZi4uMTExMDkyNCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgorKysgYi9XZWJDb3JlL2h0bWwvSFRNTEF0
dHJpYnV0ZU5hbWVzLmluCkBAIC0yMTIsNiArMjEyLDkgQEAgb250b3VjaHN0YXJ0CiBvbnRvdWNo
bW92ZQogb250b3VjaGVuZAogb250b3VjaGNhbmNlbAorb250cmFuc2Zvcm1hY3Rpb25zdGFydAor
b250cmFuc2Zvcm1hY3Rpb251cGRhdGUKK29udHJhbnNmb3JtYWN0aW9uZW5kCiBvbnVubG9hZAog
b252b2x1bWVjaGFuZ2UKIG9ud2FpdGluZwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxF
bGVtZW50LmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKaW5kZXggYTYyM2YyNC4u
ZGI4YTg3YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAorKysgYi9X
ZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCkBAIC0yNjQsNiArMjY0LDEyIEBAIHZvaWQgSFRN
TEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSogYXR0cikKICAgICAgICAg
c2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkudG91Y2hlbmRFdmVudCwgY3Jl
YXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRyKSk7CiAgICAgfSBlbHNlIGlmIChh
dHRyLT5uYW1lKCkgPT0gb250b3VjaGNhbmNlbEF0dHIpIHsKICAgICAgICAgc2V0QXR0cmlidXRl
RXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkudG91Y2hjYW5jZWxFdmVudCwgY3JlYXRlQXR0cmli
dXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRyKSk7CisgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1l
KCkgPT0gb250cmFuc2Zvcm1hY3Rpb25zdGFydEF0dHIpIHsKKyAgICAgICAgc2V0QXR0cmlidXRl
RXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkudHJhbnNmb3JtYWN0aW9uc3RhcnRFdmVudCwgY3Jl
YXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRyKSk7CisgICAgfSBlbHNlIGlmIChh
dHRyLT5uYW1lKCkgPT0gb250cmFuc2Zvcm1hY3Rpb251cGRhdGVBdHRyKSB7CisgICAgICAgIHNl
dEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLnRyYW5zZm9ybWFjdGlvbnVwZGF0
ZUV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0dHIpKTsKKyAgICB9
IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbnRyYW5zZm9ybWFjdGlvbmVuZEF0dHIpIHsKKyAg
ICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkudHJhbnNmb3JtYWN0
aW9uZW5kRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhpcywgYXR0cikpOwog
ICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oIGIvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5oCmluZGV4IGExZjQwYTguLmRiOGM0NWYgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuaAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKQEAg
LTM0MCw2ICszNDAsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBERUZJTkVfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKHRvdWNoZW5kKTsKICAgICAgICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUih0b3VjaGNhbmNlbCk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoVFJBTlNG
T1JNQUNUSU9OX0VWRU5UUykKKyAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5F
Uih0cmFuc2Zvcm1hY3Rpb25zdGFydCk7CisgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIodHJhbnNmb3JtYWN0aW9udXBkYXRlKTsKKyAgICAgICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUih0cmFuc2Zvcm1hY3Rpb25lbmQpOworI2VuZGlmCiAgICAgICAgIHZv
aWQgY2FwdHVyZUV2ZW50cygpOwogICAgICAgICB2b2lkIHJlbGVhc2VFdmVudHMoKTsKIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmlkbAppbmRleCBiNDc2NTE0Li44OGZlOWY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmlkbAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtMjk5LDYg
KzI5OSwxMCBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25h
bD1UT1VDSF9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRvdWNoZW5k
OwogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVRPVUNIX0VWRU5UUyxFbmFibGVkQXRS
dW50aW1lXSBFdmVudExpc3RlbmVyIG9udG91Y2hjYW5jZWw7CiAKKyAgICAgICAgYXR0cmlidXRl
IFtDb25kaXRpb25hbD1UUkFOU0ZPUk1BQ1RJT05fRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2
ZW50TGlzdGVuZXIgb250cmFuc2Zvcm1hY3Rpb25zdGFydDsKKyAgICAgICAgYXR0cmlidXRlIFtD
b25kaXRpb25hbD1UUkFOU0ZPUk1BQ1RJT05fRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50
TGlzdGVuZXIgb250cmFuc2Zvcm1hY3Rpb251cGRhdGU7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29u
ZGl0aW9uYWw9VFJBTlNGT1JNQUNUSU9OX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExp
c3RlbmVyIG9udHJhbnNmb3JtYWN0aW9uZW5kOworCiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0
aW9uYWw9REVWSUNFX09SSUVOVEFUSU9OXSBFdmVudExpc3RlbmVyIG9uZGV2aWNlb3JpZW50YXRp
b247CiAKICAgICAgICAgLy8gRXZlbnRUYXJnZXQgaW50ZXJmYWNlCkBAIC03MjgsNyArNzMyLDcg
QEAgbW9kdWxlIHdpbmRvdyB7CiAjZW5kaWYKIAogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlv
bmFsPVRPVUNIX0VWRU5UU10gVG91Y2hFdmVudENvbnN0cnVjdG9yIFRvdWNoRXZlbnQ7Ci0KKyAg
ICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1UUkFOU0ZPUk1BQ1RJT05fRVZFTlRTXSBUcmFu
c2Zvcm1BY3Rpb25FdmVudENvbnN0cnVjdG9yIFRyYW5zZm9ybUFjdGlvbkV2ZW50OwogICAgICAg
ICBhdHRyaWJ1dGUgRE9NRm9ybURhdGFDb25zdHJ1Y3RvciBGb3JtRGF0YTsKIAogICAgICAgICBh
dHRyaWJ1dGUgW0NvbmRpdGlvbmFsPUZJTEVfUkVBREVSfEZJTEVfV1JJVEVSXSBGaWxlRXJyb3JD
b25zdHJ1Y3RvciBGaWxlRXJyb3I7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy90cmFuc2Zvcm1hY3Rpb24vY3JlYXRlLXRyYW5zZm9ybWFjdGlvbi1ldmVudC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90cmFuc2Zvcm1hY3Rpb24vY3JlYXRlLXRyYW5z
Zm9ybWFjdGlvbi1ldmVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uMDk2NWE1ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3RyYW5zZm9ybWFjdGlvbi9jcmVhdGUtdHJhbnNmb3JtYWN0aW9uLWV2ZW50LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDYgQEAKK1RoaXMgdGVzdHMgd2hldGhlciB0aGUgRE9NIGNhbiBjcmVh
dGUgVHJhbnNmb3JtQWN0aW9uRXZlbnRzLgorUEFTUyBldmVudCBpcyBub24tbnVsbC4KK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90cmFuc2Zvcm1hY3Rpb24vY3JlYXRlLXRyYW5zZm9y
bWFjdGlvbi1ldmVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdHJhbnNmb3JtYWN0
aW9uL2NyZWF0ZS10cmFuc2Zvcm1hY3Rpb24tZXZlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi5kZjU3ZTFhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvdHJhbnNmb3JtYWN0aW9uL2NyZWF0ZS10cmFuc2Zvcm1hY3Rpb24tZXZlbnQu
aHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL2NyZWF0ZS10cmFuc2Zvcm1hY3Rpb24tZXZlbnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvdHJhbnNmb3JtYWN0aW9uL3Jlc291cmNlcy9jcmVhdGUtdHJhbnNmb3JtYWN0aW9u
LWV2ZW50LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdHJhbnNmb3JtYWN0aW9uL3Jlc291
cmNlcy9jcmVhdGUtdHJhbnNmb3JtYWN0aW9uLWV2ZW50LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmQyMzA4YmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy90cmFuc2Zvcm1hY3Rpb24vcmVzb3VyY2VzL2NyZWF0ZS10cmFuc2Zvcm1hY3Rp
b24tZXZlbnQuanMKQEAgLTAsMCArMSwxNyBAQAorZGVzY3JpcHRpb24gPSAiVGhpcyB0ZXN0cyB3
aGV0aGVyIHRoZSBET00gY2FuIGNyZWF0ZSBUcmFuc2Zvcm1BY3Rpb25FdmVudHMuIjsKKworZGVi
dWcoZGVzY3JpcHRpb24pOworCit2YXIgZXZlbnQgPSBudWxsOworCit0cnkKK3sKKyAgICBldmVu
dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCJUcmFuc2Zvcm1BY3Rpb25FdmVudCIpOworICAgIHNo
b3VsZEJlTm9uTnVsbCgiZXZlbnQiKTsKK30KK2NhdGNoIChlKQoreworICAgIHRlc3RGYWlsZWQo
IkFuIGV4Y2VwdGlvbiB3YXMgdGhyb3duOiAiICsgZS5tZXNzYWdlKTsKK30KKworc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1RyYW5zZm9ybUFjdGlv
bkV2ZW50LmNwcCBiL1dlYkNvcmUvZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50LmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNzQ2NjdhCi0tLSAvZGV2L251bGwKKysrIGIv
V2ViQ29yZS9kb20vVHJhbnNmb3JtQWN0aW9uRXZlbnQuY3BwCkBAIC0wLDAgKzEsODAgQEAKKy8q
CisgICAgQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vi
c2lkaWFyeSgtaWVzKQorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgICAgTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgICAgdmVyc2lvbiAy
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor
CisgICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCisgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g
dGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICAgIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZQorICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCisgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAgICBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KKyovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShUUkFO
U0ZPUk1BQ1RJT05fRVZFTlRTKQorCisjaW5jbHVkZSAiVHJhbnNmb3JtQWN0aW9uRXZlbnQuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitUcmFuc2Zvcm1BY3Rpb25FdmVudDo6VHJhbnNmb3Jt
QWN0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLAorICAgIGJvb2wgY2FuQnViYmxl
LCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBpbnQgc2Ny
ZWVuWCwKKyAgICBpbnQgc2NyZWVuWSwgaW50IHBhZ2VYLCBpbnQgcGFnZVksIGJvb2wgY3RybEtl
eSwgYm9vbCBhbHRLZXksCisgICAgYm9vbCBzaGlmdEtleSwgYm9vbCBtZXRhS2V5LCBpbnQgdHJh
bnNsYXRlWCwgaW50IHRyYW5zbGF0ZVksCisgICAgaW50IHRyYW5zbGF0ZVNwZWVkWCwgaW50IHRy
YW5zbGF0ZVNwZWVkWSwgZmxvYXQgc2NhbGUsIGZsb2F0IHNjYWxlU3BlZWQsCisgICAgZmxvYXQg
cm90YXRlLCBmbG9hdCByb3RhdGVTcGVlZCkKKyAgICA6IE1vdXNlUmVsYXRlZEV2ZW50KHR5cGUs
IGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSwgdmlldywgMCwgc2NyZWVuWCwgc2NyZWVuWSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHBhZ2VYLCBwYWdlWSwgY3RybEtleSwgYWx0S2V5LCBzaGlmdEtl
eSwgbWV0YUtleSkKKyAgICAsIG1fdHJhbnNsYXRlWCh0cmFuc2xhdGVYKQorICAgICwgbV90cmFu
c2xhdGVZKHRyYW5zbGF0ZVkpCisgICAgLCBtX3RyYW5zbGF0ZVNwZWVkWCh0cmFuc2xhdGVTcGVl
ZFgpCisgICAgLCBtX3RyYW5zbGF0ZVNwZWVkWSh0cmFuc2xhdGVTcGVlZFkpCisgICAgLCBtX3Nj
YWxlKHNjYWxlKQorICAgICwgbV9zY2FsZVNwZWVkKHNjYWxlU3BlZWQpCisgICAgLCBtX3JvdGF0
ZShyb3RhdGUpCisgICAgLCBtX3JvdGF0ZVNwZWVkKHJvdGF0ZVNwZWVkKQoreworfQorCit2b2lk
IFRyYW5zZm9ybUFjdGlvbkV2ZW50Ojppbml0VHJhbnNmb3JtQWN0aW9uRXZlbnQoY29uc3QgQXRv
bWljU3RyaW5nJiB0eXBlLAorICAgIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBh
c3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBpbnQgc2NyZWVuWCwKKyAgICBpbnQgc2NyZWVu
WSwgaW50IGNsaWVudFgsIGludCBjbGllbnRZLCBib29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LAor
ICAgIGJvb2wgc2hpZnRLZXksIGJvb2wgbWV0YUtleSwgaW50IHRyYW5zbGF0ZVgsIGludCB0cmFu
c2xhdGVZLAorICAgIGludCB0cmFuc2xhdGVTcGVlZFgsIGludCB0cmFuc2xhdGVTcGVlZFksIGZs
b2F0IHNjYWxlLCBmbG9hdCBzY2FsZVNwZWVkLAorICAgIGZsb2F0IHJvdGF0ZSwgZmxvYXQgcm90
YXRlU3BlZWQpCit7CisgICAgaWYgKGRpc3BhdGNoZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW5pdFVJRXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlLCB2aWV3LCAwKTsKKwor
ICAgIG1fY3RybEtleSA9IGN0cmxLZXk7CisgICAgbV9hbHRLZXkgPSBhbHRLZXk7CisgICAgbV9z
aGlmdEtleSA9IHNoaWZ0S2V5OworICAgIG1fbWV0YUtleSA9IG1ldGFLZXk7CisKKyAgICBtX3Nj
cmVlblggPSBzY3JlZW5YOworICAgIG1fc2NyZWVuWSA9IHNjcmVlblk7CisgICAgaW5pdENvb3Jk
aW5hdGVzKGNsaWVudFgsIGNsaWVudFkpOworCisgICAgbV90cmFuc2xhdGVYID0gdHJhbnNsYXRl
WDsKKyAgICBtX3RyYW5zbGF0ZVkgPSB0cmFuc2xhdGVZOworICAgIG1fdHJhbnNsYXRlU3BlZWRY
ID0gdHJhbnNsYXRlU3BlZWRYOworICAgIG1fdHJhbnNsYXRlU3BlZWRZID0gdHJhbnNsYXRlU3Bl
ZWRZOworICAgIG1fc2NhbGUgPSBzY2FsZTsKKyAgICBtX3NjYWxlU3BlZWQgPSBzY2FsZVNwZWVk
OworICAgIG1fcm90YXRlID0gcm90YXRlOworICAgIG1fcm90YXRlU3BlZWQgPSByb3RhdGVTcGVl
ZDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFRSQU5T
Rk9STUFDVElPTl9FVkVOVFMpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1BY3Rp
b25FdmVudC5oIGIvV2ViQ29yZS9kb20vVHJhbnNmb3JtQWN0aW9uRXZlbnQuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDNmNWRiCi0tLSAvZGV2L251bGwKKysrIGIvV2Vi
Q29yZS9kb20vVHJhbnNmb3JtQWN0aW9uRXZlbnQuaApAQCAtMCwwICsxLDg5IEBACisvKgorICAg
IENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlh
cnkoLWllcykKKworICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAgIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAg
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAg
ICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYg
bm90LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUx
IEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCisqLworCisjaWZuZGVmIFRyYW5zZm9ybUFjdGlvbkV2ZW50X2gKKyNkZWZpbmUgVHJh
bnNmb3JtQWN0aW9uRXZlbnRfaAorCisjaWYgRU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMp
CisKKyNpbmNsdWRlICJNb3VzZVJlbGF0ZWRFdmVudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIFRyYW5zZm9ybUFjdGlvbkV2ZW50IDogcHVibGljIE1vdXNlUmVsYXRlZEV2ZW50
IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxUcmFuc2Zvcm1BY3Rpb25FdmVudD4g
Y3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgVHJhbnNmb3JtQWN0
aW9uRXZlbnQpOworICAgIH0KKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxUcmFuc2Zvcm1BY3Rpb25F
dmVudD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwKKyAgICAgICAgYm9vbCBjYW5C
dWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsCisg
ICAgICAgIGludCBzY3JlZW5YLCBpbnQgc2NyZWVuWSwgaW50IHBhZ2VYLCBpbnQgcGFnZVksIGJv
b2wgY3RybEtleSwKKyAgICAgICAgYm9vbCBhbHRLZXksIGJvb2wgc2hpZnRLZXksIGJvb2wgbWV0
YUtleSwgaW50IHRyYW5zbGF0ZVgsCisgICAgICAgIGludCB0cmFuc2xhdGVZLCBpbnQgdHJhbnNs
YXRlU3BlZWRYLCBpbnQgdHJhbnNsYXRlU3BlZWRZLCBmbG9hdCBzY2FsZSwKKyAgICAgICAgZmxv
YXQgc2NhbGVTcGVlZCwgZmxvYXQgcm90YXRlLCBmbG9hdCByb3RhdGVTcGVlZCkKKyAgICB7Cisg
ICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgVHJhbnNmb3JtQWN0aW9uRXZlbnQodHlwZSwgY2Fu
QnViYmxlLCBjYW5jZWxhYmxlLAorICAgICAgICAgICAgdmlldywgc2NyZWVuWCwgc2NyZWVuWSwg
cGFnZVgsIHBhZ2VZLCBjdHJsS2V5LCBhbHRLZXksIHNoaWZ0S2V5LAorICAgICAgICAgICAgbWV0
YUtleSwgdHJhbnNsYXRlWCwgdHJhbnNsYXRlWSwgdHJhbnNsYXRlU3BlZWRYLCB0cmFuc2xhdGVT
cGVlZFksCisgICAgICAgICAgICBzY2FsZSwgc2NhbGVTcGVlZCwgcm90YXRlLCByb3RhdGVTcGVl
ZCkpOworICAgIH0KKworICAgIHZvaWQgaW5pdFRyYW5zZm9ybUFjdGlvbkV2ZW50KGNvbnN0IEF0
b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsCisgICAgICAgIGJvb2wgY2FuY2VsYWJs
ZSwgUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIGludCBzY3JlZW5YLAorICAgICAgICBp
bnQgc2NyZWVuWSwgaW50IGNsaWVudFgsIGludCBjbGllbnRZLCBib29sIGN0cmxLZXksIGJvb2wg
YWx0S2V5LAorICAgICAgICBib29sIHNoaWZ0S2V5LCBib29sIG1ldGFLZXksIGludCB0cmFuc2xh
dGVYLCBpbnQgdHJhbnNsYXRlWSwKKyAgICAgICAgaW50IHRyYW5zbGF0ZVNwZWVkWCwgaW50IHRy
YW5zbGF0ZVNwZWVkWSwgZmxvYXQgc2NhbGUsIGZsb2F0IHNjYWxlU3BlZWQsCisgICAgICAgIGZs
b2F0IHJvdGF0ZSwgZmxvYXQgcm90YXRlU3BlZWQpOworCisgICAgaW50IHRyYW5zbGF0ZVgoKSBj
b25zdCB7IHJldHVybiBtX3RyYW5zbGF0ZVg7IH0KKyAgICBpbnQgdHJhbnNsYXRlWSgpIGNvbnN0
IHsgcmV0dXJuIG1fdHJhbnNsYXRlWTsgfQorICAgIGludCB0cmFuc2xhdGVTcGVlZFgoKSBjb25z
dCB7IHJldHVybiBtX3RyYW5zbGF0ZVNwZWVkWDsgfQorICAgIGludCB0cmFuc2xhdGVTcGVlZFko
KSBjb25zdCB7IHJldHVybiBtX3RyYW5zbGF0ZVNwZWVkWTsgfQorICAgIGZsb2F0IHNjYWxlKCkg
Y29uc3QgeyByZXR1cm4gbV9zY2FsZTsgfQorICAgIGZsb2F0IHNjYWxlU3BlZWQoKSBjb25zdCB7
IHJldHVybiBtX3NjYWxlU3BlZWQ7IH0KKyAgICBmbG9hdCByb3RhdGUoKSBjb25zdCB7IHJldHVy
biBtX3JvdGF0ZTsgfQorICAgIGZsb2F0IHJvdGF0ZVNwZWVkKCkgY29uc3QgeyByZXR1cm4gbV9y
b3RhdGVTcGVlZDsgfQorCitwcml2YXRlOgorICAgIFRyYW5zZm9ybUFjdGlvbkV2ZW50KCkge30K
KyAgICBUcmFuc2Zvcm1BY3Rpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wg
Y2FuQnViYmxlLAorICAgICAgICBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RW
aWV3PiB2aWV3LCBpbnQgc2NyZWVuWCwKKyAgICAgICAgaW50IHNjcmVlblksIGludCBwYWdlWCwg
aW50IHBhZ2VZLCBib29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LAorICAgICAgICBib29sIHNoaWZ0
S2V5LCBib29sIG1ldGFLZXksIGludCB0cmFuc2xhdGVYLCBpbnQgdHJhbnNsYXRlWSwKKyAgICAg
ICAgaW50IHRyYW5zbGF0ZVNwZWVkWCwgaW50IHRyYW5zbGF0ZVNwZWVkWSwgZmxvYXQgc2NhbGUs
IGZsb2F0IHNjYWxlU3BlZWQsCisgICAgICAgIGZsb2F0IHJvdGF0ZSwgZmxvYXQgcm90YXRlU3Bl
ZWQpOworCisgICAgdmlydHVhbCBib29sIGlzVHJhbnNmb3JtQWN0aW9uRXZlbnQoKSBjb25zdCB7
IHJldHVybiB0cnVlOyB9CisKKyAgICBpbnQgbV90cmFuc2xhdGVYOworICAgIGludCBtX3RyYW5z
bGF0ZVk7CisgICAgaW50IG1fdHJhbnNsYXRlU3BlZWRYOworICAgIGludCBtX3RyYW5zbGF0ZVNw
ZWVkWTsKKyAgICBmbG9hdCBtX3NjYWxlOworICAgIGZsb2F0IG1fc2NhbGVTcGVlZDsKKyAgICBm
bG9hdCBtX3JvdGF0ZTsKKyAgICBmbG9hdCBtX3JvdGF0ZVNwZWVkOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMp
CisKKyNlbmRpZiAvLyBUcmFuc2Zvcm1BY3Rpb25FdmVudF9oCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2RvbS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5pZGwgYi9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1BY3Rp
b25FdmVudC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGIyMTNiMQot
LS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50LmlkbApA
QCAtMCwwICsxLDY2IEBACisvKgorICAgIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3Jh
dGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKworICAgIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICAg
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
KyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKwor
ICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisg
ICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisqLworCittb2R1bGUgZXZlbnRzIHsKKwor
ICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPVRSQU5TRk9STUFDVElPTl9FVkVO
VFMKKyAgICBdIFRyYW5zZm9ybUFjdGlvbkV2ZW50IDogVUlFdmVudCB7CisgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBsb25nIHNjcmVlblg7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBs
b25nIHNjcmVlblk7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIGNsaWVudFg7Cisg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIGNsaWVudFk7CisgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBsb25nIG9mZnNldFg7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25n
IG9mZnNldFk7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGN0cmxLZXk7Cisg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGFsdEtleTsKKyAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIGJvb2xlYW4gc2hpZnRLZXk7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBib29sZWFuIG1ldGFLZXk7CisKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgdHJh
bnNsYXRlWDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgdHJhbnNsYXRlWTsKKyAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgdHJhbnNsYXRlU3BlZWRYOworICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgbG9uZyB0cmFuc2xhdGVTcGVlZFk7CisgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBmbG9hdCBzY2FsZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGZsb2F0
IHNjYWxlU3BlZWQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCByb3RhdGU7Cisg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCByb3RhdGVTcGVlZDsKKworICAgICAgICB2
b2lkIGluaXRUcmFuc2Zvcm1BY3Rpb25FdmVudChpbiBET01TdHJpbmcgdHlwZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiBjYW5CdWJibGUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gY2FuY2VsYWJsZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRE9NV2luZG93IHZpZXcs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGxvbmcgc2NyZWVuWCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gbG9uZyBzY3JlZW5ZLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBsb25nIGNsaWVudFgsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGxvbmcgY2xpZW50WSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiBjdHJsS2V5LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIGFsdEtleSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiBzaGlmdEtl
eSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiBtZXRh
S2V5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBsb25nIHRyYW5z
bGF0ZVgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGxvbmcgdHJh
bnNsYXRlWSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gbG9uZyB0
cmFuc2xhdGVTcGVlZFgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
IGxvbmcgdHJhbnNsYXRlU3BlZWRZLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbiBmbG9hdCBzY2FsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW4gZmxvYXQgc2NhbGVTcGVlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW4gZmxvYXQgcm90YXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbiBmbG9hdCByb3RhdGVTcGVlZCk7CisgICB9OworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57509</attachid>
            <date>2010-05-31 19:47:49 -0700</date>
            <delta_ts>2010-08-04 10:25:14 -0700</delta_ts>
            <desc>TransformActionEvent patch #4</desc>
            <filename>transformaction4.patch</filename>
            <type>text/plain</type>
            <size>37365</size>
            <attacher name="Kim Grönholm">kim.1.gronholm</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmNDNlYWM4Li5mYjRhYTZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDUt
MjcgIEtpbSBHcsO2bmhvbG0gIDxraW0uMS5ncm9uaG9sbUBub2tpYS5jb20+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFRyYW5zZm9ybUFjdGlv
bkV2ZW50IHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTM5NzU3CisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy90cmFuc2Zvcm1hY3Rpb24vY3Jl
YXRlLXRyYW5zZm9ybWFjdGlvbi1ldmVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9jcmVhdGUtdHJhbnNmb3JtYWN0aW9uLWV2ZW50
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9yZXNv
dXJjZXMvY3JlYXRlLXRyYW5zZm9ybWFjdGlvbi1ldmVudC5qczogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBwZWQ6Cisg
ICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisKIDIwMTAtMDUtMzEgIExlbyBZYW5nICA8
bGVvLnlhbmdAdG9yY2htb2JpbGUuY29tLmNuPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEdlb3Jn
ZSBTdGFpa29zLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAppbmRleCA2ZTJjMDUwLi5hODM1MjEx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZApAQCAtNTk0MSwzICs1OTQxLDYgQEAgc3RvcmFn
ZS9pbmRleGVkZGIKIGZhc3QvZG9tL0dlb2xvY2F0aW9uL2FyZ3VtZW50LXR5cGVzLmh0bWwKIGZh
c3QvZG9tL0dlb2xvY2F0aW9uL25vdGltZXItYWZ0ZXItdW5sb2FkLmh0bWwKIGZhc3QvZG9tL0dl
b2xvY2F0aW9uL3RpbWVvdXQtemVyby5odG1sCisKKyMgVGhlc2UgdGVzdHMgcmVxdWlyZSB0cmFu
c2Zvcm1hY3Rpb24gZXZlbnQgc3VwcG9ydAorZmFzdC9ldmVudHMvdHJhbnNmb3JtYWN0aW9uCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9Ta2lwcGVkCmluZGV4IGNjM2EwNjYuLmJhM2Y3YmUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9Ta2lwcGVkCkBAIC0xMDgsNiArMTA4LDkgQEAgbWVkaWEvbWVkaWEtY2FuLXBsYXkt
b2dnLmh0bWwKICMgVGhlc2UgdGVzdHMgcmVxdWlyZSB0b3VjaCBzdXBwb3J0CiBmYXN0L2V2ZW50
cy90b3VjaAogCisjIFRoZXNlIHRlc3RzIHJlcXVpcmUgdHJhbnNmb3JtYWN0aW9uIGV2ZW50IHN1
cHBvcnQKK2Zhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbgorCiAjIFNraXBwZWQgdW50aWwgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzOTIzIGlzIHJlc29sdmVkLgog
cGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvY2hhbmdlLW5vdGlmaWNhdGlvbi1vbi1zY3JvbGwu
aHRtbAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IGU3ODEzMzQuLjMwOTBlNzYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC03MzksNiArNzM5LDkgQEAgbWVkaWEvbWVkaWEt
Y2FuLXBsYXktb2dnLmh0bWwKICMgVGhlc2UgdGVzdHMgcmVxdWlyZSB0b3VjaCBzdXBwb3J0CiBm
YXN0L2V2ZW50cy90b3VjaAogCisjIFRoZXNlIHRlc3RzIHJlcXVpcmUgdHJhbnNmb3JtYWN0aW9u
IGV2ZW50IHN1cHBvcnQKK2Zhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbgorCiAjIFhTUyBhdWRp
dG9yIHRlc3RzIGludGVybWl0dGVudGx5IHRpbWUgb3V0IDxodHRwOi8vd2Via2l0Lm9yZy9iLzMy
NTI4PgogaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELWdldFNWR0RvY3VtZW50LWlmcmFt
ZS5odG1sCiBodHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtZ2V0U1ZHRG9jdW1lbnQtb2Jq
ZWN0Lmh0bWwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdz
Lm1rIGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKaW5kZXggYTlkMTUx
Ni4uZWM0MmQ2ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGlu
Z3MubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKQEAgLTEz
Nyw2ICsxMzcsNyBAQCBHRU4gOj0gXAogICAgICQoaW50ZXJtZWRpYXRlcykvZG9tL0pTVG91Y2gu
aCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9kb20vSlNUb3VjaEV2ZW50LmggXAogICAgICQoaW50
ZXJtZWRpYXRlcykvZG9tL0pTVG91Y2hMaXN0LmggXAorICAgICQoaW50ZXJtZWRpYXRlcykvZG9t
L0pTVHJhbnNmb3JtQWN0aW9uRXZlbnQuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9kb20vSlNU
cmVlV2Fsa2VyLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvZG9tL0pTVUlFdmVudC5oIFwKICAg
ICAkKGludGVybWVkaWF0ZXMpL2RvbS9KU1dlYktpdEFuaW1hdGlvbkV2ZW50LmggXApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tayBiL1dlYkNvcmUvQW5k
cm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsKaW5kZXggOTQ4ZDI4Mi4uYjliMmMyMiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5taworKysgYi9XZWJDb3Jl
L0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rCkBAIC0xMTksNiArMTE5LDcgQEAgR0VOIDo9
IFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4VG91Y2guaCBcCiAgICAgJChpbnRl
cm1lZGlhdGVzKS9iaW5kaW5ncy9WOFRvdWNoRXZlbnQuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVz
KS9iaW5kaW5ncy9WOFRvdWNoTGlzdC5oIFwKKyAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdz
L1Y4VHJhbnNmb3JtQWN0aW9uRXZlbnQuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5n
cy9WOFRyZWVXYWxrZXIuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOFVJRXZl
bnQuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOFdlYktpdEFuaW1hdGlvbkV2
ZW50LmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9BbmRyb2lkLm1rIGIvV2ViQ29yZS9BbmRyb2lk
Lm1rCmluZGV4IDljMzY4YjkuLjJkMzYzN2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQW5kcm9pZC5t
aworKysgYi9XZWJDb3JlL0FuZHJvaWQubWsKQEAgLTE3MCw2ICsxNzAsNyBAQCBMT0NBTF9TUkNf
RklMRVMgOj0gJChMT0NBTF9TUkNfRklMRVMpIFwKIAlkb20vVG91Y2guY3BwIFwKIAlkb20vVG91
Y2hFdmVudC5jcHAgXAogCWRvbS9Ub3VjaExpc3QuY3BwIFwKKwlkb20vVHJhbnNmb3JtQWN0aW9u
RXZlbnQuY3BwIFwKIAlkb20vVHJhdmVyc2FsLmNwcCBcCiAJZG9tL1RyZWVXYWxrZXIuY3BwIFwK
IAlkb20vVUlFdmVudC5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBi
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYjg5MGMzYS4uMTYxMmU1YiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBA
IC0xNzUsNiArMTc1LDcgQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgZG9tL1RvdWNoRXZl
bnQuaWRsCiAgICAgZG9tL1RvdWNoLmlkbAogICAgIGRvbS9Ub3VjaExpc3QuaWRsCisgICAgZG9t
L1RyYW5zZm9ybUFjdGlvbkV2ZW50LmlkbAogICAgIGRvbS9UcmVlV2Fsa2VyLmlkbAogICAgIGRv
bS9VSUV2ZW50LmlkbAogICAgIGRvbS9XZWJLaXRBbmltYXRpb25FdmVudC5pZGwKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjIxMjJhNy4u
NTk4ZTVjNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw3MyBAQAorMjAxMC0wNS0yNyAgS2ltIEdyw7ZuaG9sbSAgPGtpbS4x
Lmdyb25ob2xtQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgVHJhbnNmb3JtQWN0aW9uRXZlbnQgc3VwcG9ydAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzk3NTcKKworICAgICAgICBB
ZGRlZCBvbmx5IHRoZSBuZWNlc3NhcnkgVHJhbnNmb3JtQWN0aW9uIGV2ZW50IGludGVyZmFjZXMg
YW5kIG5vdCBlLmcuCisgICAgICAgIGFueSBldmVudGhhbmRsZXIgaG9va3MgdGhhdCBnZW5lcmF0
ZSBhbmQgZGlzcGF0Y2ggdGhlbS4KKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy90cmFuc2Zv
cm1hY3Rpb24vY3JlYXRlLXRyYW5zZm9ybWFjdGlvbi1ldmVudC5odG1sCisgICAgICAgIE1vcmUg
dGVzdHMgd2lsbCBiZSBhZGRlZCB3aXRoIHRoZSBtYWNoaW5lcnkgdGhhdCBnZW5lcmF0ZXMgYW5k
CisgICAgICAgIGRpc3BhdGNoZXMgdGhlc2UgZXZlbnRzLgorCisgICAgICAgICogQW5kcm9pZC5k
ZXJpdmVkLmpzY2JpbmRpbmdzLm1rOgorICAgICAgICAqIEFuZHJvaWQuZGVyaXZlZC52OGJpbmRp
bmdzLm1rOgorICAgICAgICAqIEFuZHJvaWQubWs6CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
Lm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBp
OgorICAgICAgICAqIFdlYkNvcmUucHJpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAg
ICAqIGJpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHA6CisgICAgICAg
ICogYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChX
ZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjp0cmFuc2Zvcm1hY3Rpb25FbmFibGVkKToK
KyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldFRyYW5zZm9ybUFj
dGlvbkVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6
b250cmFuc2Zvcm1hY3Rpb25zdGFydEVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6UnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6b250cmFuc2Zvcm1hY3Rpb251cGRhdGVFbmFibGVkKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6Om9udHJhbnNmb3JtYWN0aW9uZW5k
RW5hYmxlZCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjp0b0pTKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhFdmVu
dEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBkb20vRG9j
dW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNyZWF0ZUV2ZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjphZGRMaXN0ZW5lclR5cGVJZk5lZWRlZCk6CisgICAg
ICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6KToKKyAg
ICAgICAgKiBkb20vRG9jdW1lbnQuaWRsOgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6CisgICAg
ICAgICogZG9tL0VsZW1lbnQuaWRsOgorICAgICAgICAqIGRvbS9FdmVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpFdmVudDo6aXNUcmFuc2Zvcm1BY3Rpb25FdmVudCk6CisgICAgICAgIChXZWJD
b3JlOjpFdmVudDo6ZnJvbVVzZXJHZXN0dXJlKToKKyAgICAgICAgKiBkb20vRXZlbnQuaDoKKyAg
ICAgICAgKiBkb20vRXZlbnROYW1lcy5oOgorICAgICAgICAqIGRvbS9UcmFuc2Zvcm1BY3Rpb25F
dmVudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNmb3JtQWN0aW9uRXZlbnQ6
OlRyYW5zZm9ybUFjdGlvbkV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9ybUFjdGlv
bkV2ZW50Ojppbml0VHJhbnNmb3JtQWN0aW9uRXZlbnQpOgorICAgICAgICAqIGRvbS9UcmFuc2Zv
cm1BY3Rpb25FdmVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9ybUFjdGlv
bkV2ZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNmb3JtQWN0aW9uRXZlbnQ6
OnRyYW5zbGF0ZVgpOgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNmb3JtQWN0aW9uRXZlbnQ6OnRy
YW5zbGF0ZVkpOgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNmb3JtQWN0aW9uRXZlbnQ6OnRyYW5z
bGF0ZVNwZWVkWCk6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1BY3Rpb25FdmVudDo6dHJh
bnNsYXRlU3BlZWRZKToKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9ybUFjdGlvbkV2ZW50Ojpz
Y2FsZSk6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1BY3Rpb25FdmVudDo6c2NhbGVTcGVl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1BY3Rpb25FdmVudDo6cm90YXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlRyYW5zZm9ybUFjdGlvbkV2ZW50Ojpyb3RhdGVTcGVlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1BY3Rpb25FdmVudDo6VHJhbnNmb3JtQWN0aW9uRXZlbnQp
OgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNmb3JtQWN0aW9uRXZlbnQ6OmlzVHJhbnNmb3JtQWN0
aW9uRXZlbnQpOgorICAgICAgICAqIGRvbS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5pZGw6IEFkZGVk
LgorICAgICAgICAqIGh0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwv
SFRNTEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEVsZW1lbnQ6OnBhcnNlTWFw
cGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOgorICAgICAgICAqIHBh
Z2UvRE9NV2luZG93LmlkbDoKKwogMjAxMC0wNS0zMSAgTGVvIFlhbmcgIDxsZW8ueWFuZ0B0b3Jj
aG1vYmlsZS5jb20uY24+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgR2VvcmdlIFN0YWlrb3MuCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMuY3BwCmluZGV4IGU1ZDYwZWMuLjBkNGNiOWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMuY3BwCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0zNzMs
NiArMzczLDcgQEAKICNpbmNsdWRlICJKU1RvdWNoLmNwcCIKICNpbmNsdWRlICJKU1RvdWNoRXZl
bnQuY3BwIgogI2luY2x1ZGUgIkpTVG91Y2hMaXN0LmNwcCIKKyNpbmNsdWRlICJKU1RyYW5zZm9y
bUFjdGlvbkV2ZW50LmNwcCIKICNpbmNsdWRlICJKU1RyZWVXYWxrZXIuY3BwIgogI2luY2x1ZGUg
IkpTVUlFdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNWYWxpZGl0eVN0YXRlLmNwcCIKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQppbmRleCBiZDA2MTMwLi45YmEzM2RkIDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC00MzAsNiAr
NDMwLDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgVG91Y2ggXAogICAgIFRvdWNoRXZlbnQgXAog
ICAgIFRvdWNoTGlzdCBcCisgICAgVHJhbnNmb3JtQWN0aW9uRXZlbnQgXAogICAgIFRyZWVXYWxr
ZXIgXAogICAgIFVJRXZlbnQgXAogICAgIFZhbGlkaXR5U3RhdGUgXApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggMWJiNjcx
Yy4uZWMxM2I5NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJD
b3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0xNzQsNiArMTc0LDcgQEAgSURMX0JJTkRJTkdTICs9IFwK
IAlXZWJDb3JlL2RvbS9Ub3VjaC5pZGwgXAogCVdlYkNvcmUvZG9tL1RvdWNoRXZlbnQuaWRsIFwK
IAlXZWJDb3JlL2RvbS9Ub3VjaExpc3QuaWRsIFwKKwlXZWJDb3JlL2RvbS9UcmFuc2Zvcm1BY3Rp
b25FdmVudC5pZGwgXAogCVdlYkNvcmUvZG9tL1RyZWVXYWxrZXIuaWRsIFwKIAlXZWJDb3JlL2Rv
bS9VSUV2ZW50LmlkbCBcCiAJV2ViQ29yZS9kb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuaWRsIFwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
aW5kZXggY2NkZTFmYi4uMDFkZTRmNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
KysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTc3LDYgKzc3LDcgQEAKICAgICAgICAgICAg
ICdkb20vVG91Y2guaWRsJywKICAgICAgICAgICAgICdkb20vVG91Y2hFdmVudC5pZGwnLAogICAg
ICAgICAgICAgJ2RvbS9Ub3VjaExpc3QuaWRsJywKKyAgICAgICAgICAgICdkb20vVHJhbnNmb3Jt
QWN0aW9uRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vVHJlZVdhbGtlci5pZGwnLAogICAg
ICAgICAgICAgJ2RvbS9VSUV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL1dlYktpdEFuaW1h
dGlvbkV2ZW50LmlkbCcsCkBAIC0xMjM2LDYgKzEyMzcsOCBAQAogICAgICAgICAgICAgJ2RvbS9U
b3VjaExpc3QuY3BwJywKICAgICAgICAgICAgICdkb20vVG91Y2hMaXN0LmgnLAogICAgICAgICAg
ICAgJ2RvbS9Ub2tlbml6ZXIuaCcsCisgICAgICAgICAgICAnZG9tL1RyYW5zZm9ybUFjdGlvbkV2
ZW50LmNwcCcsCisgICAgICAgICAgICAnZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50LmgnLAogICAg
ICAgICAgICAgJ2RvbS9UcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcCcsCiAgICAgICAgICAgICAn
ZG9tL1RyYW5zZm9ybVNvdXJjZS5oJywKICAgICAgICAgICAgICdkb20vVHJhdmVyc2FsLmNwcCcs
CmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJpIGIvV2ViQ29yZS9XZWJDb3JlLnByaQpp
bmRleCA2MTg0ZTU0Li42ZTg5OGJiIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJpCisr
KyBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKQEAgLTEyMCw4ICsxMjAsMTEgQEAgZ3JlYXRlclRoYW4o
UVRfTUlOT1JfVkVSU0lPTiwgNSkgewogIyBCZWFyZXIgbWFuYWdlbWVudCBpcyBwYXJ0IG9mIFF0
IDQuNwogIWxlc3NUaGFuKFFUX01JTk9SX1ZFUlNJT04sIDcpOiFjb250YWlucyhERUZJTkVTLCBF
TkFCTEVfUVRfQkVBUkVSPS4pOkRFRklORVMgKz0gRU5BQkxFX1FUX0JFQVJFUj0xCiAKLSMgRW5h
YmxlIHRvdWNoIGV2ZW50IHN1cHBvcnQgd2l0aCBRdCA0LjYKLSFsZXNzVGhhbihRVF9NSU5PUl9W
RVJTSU9OLCA2KTogREVGSU5FUyArPSBFTkFCTEVfVE9VQ0hfRVZFTlRTPTEKKyMgRW5hYmxlIHRv
dWNoIHN1cHBvcnQgd2l0aCBRdCA0LjYKKyFsZXNzVGhhbihRVF9NSU5PUl9WRVJTSU9OLCA2KSB7
CisgICAgREVGSU5FUyArPSBFTkFCTEVfVE9VQ0hfRVZFTlRTPTEKKyAgICBERUZJTkVTICs9IEVO
QUJMRV9UUkFOU0ZPUk1BQ1RJT05fRVZFTlRTPTEKK30KIAogIyBVc2VkIHRvIGNvbXB1dGUgZGVm
YXVsdHMgZm9yIHRoZSBidWlsZC13ZWJraXQgc2NyaXB0CiBDT05GSUcoY29tcHV0ZV9kZWZhdWx0
cykgewpAQCAtMTYyLDYgKzE2NSw3IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9KQVZBU0NS
SVBUX0RFQlVHR0VSPTEpOiBGRUFUVVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBFCiBjb250YWlu
cyhERUZJTkVTLCBFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TPTEpOiBGRUFUVVJFX0RF
RklORVNfSkFWQVNDUklQVCArPSBFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TPTEKIGNv
bnRhaW5zKERFRklORVMsIEVOQUJMRV9XRUJfU09DS0VUUz0xKTogRkVBVFVSRV9ERUZJTkVTX0pB
VkFTQ1JJUFQgKz0gRU5BQkxFX1dFQl9TT0NLRVRTPTEKIGNvbnRhaW5zKERFRklORVMsIEVOQUJM
RV9UT1VDSF9FVkVOVFM9MSk6IEZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBUICs9IEVOQUJMRV9U
T1VDSF9FVkVOVFM9MQorY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1RSQU5TRk9STUFDVElPTl9F
VkVOVFM9MSk6IEZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBUICs9IEVOQUJMRV9UUkFOU0ZPUk1B
Q1RJT05fRVZFTlRTPTEKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9USUxFRF9CQUNLSU5HX1NU
T1JFPTEpOiBGRUFUVVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBFTkFCTEVfVElMRURfQkFDS0lO
R19TVE9SRT0xCiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfTk9USUZJQ0FUSU9OUz0xKTogRkVB
VFVSRV9ERUZJTkVTX0pBVkFTQ1JJUFQgKz0gRU5BQkxFX05PVElGSUNBVElPTlM9MQogY29udGFp
bnMoREVGSU5FUywgRU5BQkxFX01FVEVSX1RBRz0xKTogRkVBVFVSRV9ERUZJTkVTX0pBVkFTQ1JJ
UFQgKz0gRU5BQkxFX01FVEVSX1RBRz0xCkBAIC0yOTksNiArMzAzLDcgQEAgSURMX0JJTkRJTkdT
ICs9IFwKICAgICBkb20vVG91Y2guaWRsIFwKICAgICBkb20vVG91Y2hFdmVudC5pZGwgXAogICAg
IGRvbS9Ub3VjaExpc3QuaWRsIFwKKyAgICBkb20vVHJhbnNmb3JtQWN0aW9uRXZlbnQuaWRsIFwK
ICAgICBkb20vVHJlZVdhbGtlci5pZGwgXAogICAgIGRvbS9VSUV2ZW50LmlkbCBcCiAgICAgZG9t
L1dlYktpdEFuaW1hdGlvbkV2ZW50LmlkbCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUu
cHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCA2Mjc4NWY0Li4xMmUxNjZkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTUy
NCw2ICs1MjQsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBkb20vVG91Y2guY3BwIFwKICAgICBkb20v
VG91Y2hFdmVudC5jcHAgXAogICAgIGRvbS9Ub3VjaExpc3QuY3BwIFwKKyAgICBkb20vVHJhbnNm
b3JtQWN0aW9uRXZlbnQuY3BwIFwKICAgICBkb20vVHJhdmVyc2FsLmNwcCBcCiAgICAgZG9tL1Ry
ZWVXYWxrZXIuY3BwIFwKICAgICBkb20vVUlFdmVudC5jcHAgXApAQCAtMTI1Myw2ICsxMjU0LDcg
QEAgSEVBREVSUyArPSBcCiAgICAgZG9tL1RvdWNoLmggXAogICAgIGRvbS9Ub3VjaEV2ZW50Lmgg
XAogICAgIGRvbS9Ub3VjaExpc3QuaCBcCisgICAgZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50Lmgg
XAogICAgIGRvbS9UcmFuc2Zvcm1Tb3VyY2UuaCBcCiAgICAgZG9tL1RyYXZlcnNhbC5oIFwKICAg
ICBkb20vVHJlZURlcHRoTGltaXQuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2dl
bmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2dlbmVy
aWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAKaW5kZXggYTNlNDg4ZS4uOGFlMTBlMyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
Y3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVz
LmNwcApAQCAtNDgsNiArNDgsNyBAQCBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzSW5k
ZXhlZERCRW5hYmxlZCA9IGZhbHNlOwogYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc1dl
YkdMRW5hYmxlZCA9IGZhbHNlOwogYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc1B1c2hT
dGF0ZUVuYWJsZWQgPSBmYWxzZTsKIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNUb3Vj
aEVuYWJsZWQgPSB0cnVlOworYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc1RyYW5zZm9y
bUFjdGlvbkVuYWJsZWQgPSB0cnVlOwogCiAjaWYgRU5BQkxFKFZJREVPKQogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIGIvV2Vi
Q29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAppbmRleCBjODQ0
NjVhLi44NzA5MGNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcy5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1l
RW5hYmxlZEZlYXR1cmVzLmgKQEAgLTExMiw2ICsxMTIsMTQgQEAgcHVibGljOgogICAgIHN0YXRp
YyBib29sIG9udG91Y2hjYW5jZWxFbmFibGVkKCkgeyByZXR1cm4gaXNUb3VjaEVuYWJsZWQ7IH0K
ICNlbmRpZgogCisjaWYgRU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMpCisgICAgc3RhdGlj
IGJvb2wgdHJhbnNmb3JtYWN0aW9uRW5hYmxlZCgpIHsgcmV0dXJuIGlzVHJhbnNmb3JtQWN0aW9u
RW5hYmxlZDsgfQorICAgIHN0YXRpYyB2b2lkIHNldFRyYW5zZm9ybUFjdGlvbkVuYWJsZWQoYm9v
bCBpc0VuYWJsZWQpIHsgaXNUcmFuc2Zvcm1BY3Rpb25FbmFibGVkID0gaXNFbmFibGVkOyB9Cisg
ICAgc3RhdGljIGJvb2wgb250cmFuc2Zvcm1hY3Rpb25zdGFydEVuYWJsZWQoKSB7IHJldHVybiBp
c1RyYW5zZm9ybUFjdGlvbkVuYWJsZWQ7IH0KKyAgICBzdGF0aWMgYm9vbCBvbnRyYW5zZm9ybWFj
dGlvbnVwZGF0ZUVuYWJsZWQoKSB7IHJldHVybiBpc1RyYW5zZm9ybUFjdGlvbkVuYWJsZWQ7IH0K
KyAgICBzdGF0aWMgYm9vbCBvbnRyYW5zZm9ybWFjdGlvbmVuZEVuYWJsZWQoKSB7IHJldHVybiBp
c1RyYW5zZm9ybUFjdGlvbkVuYWJsZWQ7IH0KKyNlbmRpZgorCiBwcml2YXRlOgogICAgIC8vIE5l
dmVyIGluc3RhbnRpYXRlLgogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMoKSB7IH0KQEAgLTEy
NSw2ICsxMzMsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBib29sIGlzV2ViR0xFbmFibGVkOwog
ICAgIHN0YXRpYyBib29sIGlzUHVzaFN0YXRlRW5hYmxlZDsKICAgICBzdGF0aWMgYm9vbCBpc1Rv
dWNoRW5hYmxlZDsKKyAgICBzdGF0aWMgYm9vbCBpc1RyYW5zZm9ybUFjdGlvbkVuYWJsZWQ7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRXZlbnRDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9t
LmNwcAppbmRleCBiNjE5MGZmLi41MTMxODcxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRXZlbnRDdXN0b20uY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1
c3RvbS5jcHAKQEAgLTg2LDYgKzg2LDEwIEBACiAjaW5jbHVkZSAiSlNUb3VjaEV2ZW50LmgiCiAj
aW5jbHVkZSAiVG91Y2hFdmVudC5oIgogI2VuZGlmCisjaWYgRU5BQkxFKFRSQU5TRk9STUFDVElP
Tl9FVkVOVFMpCisjaW5jbHVkZSAiSlNUcmFuc2Zvcm1BY3Rpb25FdmVudC5oIgorI2luY2x1ZGUg
IlRyYW5zZm9ybUFjdGlvbkV2ZW50LmgiCisjZW5kaWYKIAogI2lmIEVOQUJMRShJTkRFWEVEX0RB
VEFCQVNFKQogI2luY2x1ZGUgIklEQkVycm9yRXZlbnQuaCIKQEAgLTEzMyw2ICsxMzcsMTAgQEAg
SlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgRXZlbnQqIGV2ZW50KQogICAgICAgICBlbHNlIGlmIChldmVudC0+aXNUb3VjaEV2ZW50
KCkpCiAgICAgICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBFUihleGVj
LCBnbG9iYWxPYmplY3QsIFRvdWNoRXZlbnQsIGV2ZW50KTsKICNlbmRpZgorI2lmIEVOQUJMRShU
UkFOU0ZPUk1BQ1RJT05fRVZFTlRTKQorICAgICAgICBlbHNlIGlmIChldmVudC0+aXNUcmFuc2Zv
cm1BY3Rpb25FdmVudCgpKQorICAgICAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fT0JKRUNU
X1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBUcmFuc2Zvcm1BY3Rpb25FdmVudCwgZXZlbnQp
OworI2VuZGlmCiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9N
X09CSkVDVF9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgVUlFdmVudCwgZXZlbnQpOwogICAg
IH0gZWxzZSBpZiAoZXZlbnQtPmlzTXV0YXRpb25FdmVudCgpKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEV2ZW50Q3VzdG9tLmNwcAppbmRleCBiY2UxNTYxLi4xNTJkOTZlIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50Q3VzdG9tLmNwcAorKysg
Yi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50Q3VzdG9tLmNwcApAQCAtNTYsNiAr
NTYsNyBAQAogI2luY2x1ZGUgIlY4U3RvcmFnZUV2ZW50LmgiCiAjaW5jbHVkZSAiVjhUZXh0RXZl
bnQuaCIKICNpbmNsdWRlICJWOFRvdWNoRXZlbnQuaCIKKyNpbmNsdWRlICJWOFRyYW5zZm9ybUFj
dGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiVjhVSUV2ZW50LmgiCiAjaW5jbHVkZSAiVjhXZWJLaXRB
bmltYXRpb25FdmVudC5oIgogI2luY2x1ZGUgIlY4V2ViS2l0VHJhbnNpdGlvbkV2ZW50LmgiCkBA
IC0xMTcsNiArMTE4LDEwIEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KEV2ZW50KiBpbXBs
KQogICAgICAgICBpZiAoaW1wbC0+aXNUb3VjaEV2ZW50KCkpCiAgICAgICAgICAgICByZXR1cm4g
dG9WOChzdGF0aWNfY2FzdDxUb3VjaEV2ZW50Kj4oaW1wbCkpOwogI2VuZGlmCisjaWYgRU5BQkxF
KFRSQU5TRk9STUFDVElPTl9FVkVOVFMpCisgICAgICAgIGlmIChpbXBsLT5pc1RyYW5zZm9ybUFj
dGlvbkV2ZW50KCkpCisgICAgICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxUcmFuc2Zv
cm1BY3Rpb25FdmVudCo+KGltcGwpKTsKKyNlbmRpZgogICAgICAgICByZXR1cm4gdG9WOChzdGF0
aWNfY2FzdDxVSUV2ZW50Kj4oaW1wbCkpOwogICAgIH0KICAgICBpZiAoaW1wbC0+aXNNdXRhdGlv
bkV2ZW50KCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggMTg3NDY5MC4uYjg4Nzk3YyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAt
MTgwLDYgKzE4MCwxMCBAQAogI2luY2x1ZGUgIlRvdWNoRXZlbnQuaCIKICNlbmRpZgogCisjaWYg
RU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMpCisjaW5jbHVkZSAiVHJhbnNmb3JtQWN0aW9u
RXZlbnQuaCIKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFdNTCkKICNpbmNsdWRlICJXTUxEb2N1bWVu
dC5oIgogI2luY2x1ZGUgIldNTEVsZW1lbnQuaCIKQEAgLTMyMDgsNiArMzIxMiwxNSBAQCBQYXNz
UmVmUHRyPEV2ZW50PiBEb2N1bWVudDo6Y3JlYXRlRXZlbnQoY29uc3QgU3RyaW5nJiBldmVudFR5
cGUsIEV4Y2VwdGlvbkNvZGUmCiAjZW5kaWYKICAgICAgICAgZXZlbnQgPSBUb3VjaEV2ZW50Ojpj
cmVhdGUoKTsKICNlbmRpZgorCisjaWYgRU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMpCisj
aWYgVVNFKFY4KQorICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSAiVHJhbnNmb3JtQWN0aW9uRXZl
bnQiICYmIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnRyYW5zZm9ybWFjdGlvbkVuYWJsZWQoKSkK
KyNlbHNlCisgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09ICJUcmFuc2Zvcm1BY3Rpb25FdmVudCIp
CisjZW5kaWYKKyAgICAgICAgZXZlbnQgPSBUcmFuc2Zvcm1BY3Rpb25FdmVudDo6Y3JlYXRlKCk7
CisjZW5kaWYKICAgICBpZiAoZXZlbnQpCiAgICAgICAgIHJldHVybiBldmVudC5yZWxlYXNlKCk7
CiAKQEAgLTMyNTMsNiArMzI2NiwxMiBAQCB2b2lkIERvY3VtZW50OjphZGRMaXN0ZW5lclR5cGVJ
Zk5lZWRlZChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSkKICAgICAgICAgICAgIHBhZ2Ut
PmNocm9tZSgpLT5jbGllbnQoKS0+bmVlZFRvdWNoRXZlbnRzKHRydWUpOwogICAgIH0KICNlbmRp
ZgorI2lmIEVOQUJMRShUUkFOU0ZPUk1BQ1RJT05fRVZFTlRTKQorICAgIGVsc2UgaWYgKGV2ZW50
VHlwZSA9PSBldmVudE5hbWVzKCkudHJhbnNmb3JtYWN0aW9uc3RhcnRFdmVudAorICAgICAgICAg
ICAgIHx8IGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkudHJhbnNmb3JtYWN0aW9udXBkYXRlRXZl
bnQKKyAgICAgICAgICAgICB8fCBldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLnRyYW5zZm9ybWFj
dGlvbmVuZEV2ZW50KQorICAgICAgICBhZGRMaXN0ZW5lclR5cGUoVFJBTlNGT1JNQUNUSU9OX0xJ
U1RFTkVSKTsKKyNlbmRpZgogfQogCiBDU1NTdHlsZURlY2xhcmF0aW9uKiBEb2N1bWVudDo6Z2V0
T3ZlcnJpZGVTdHlsZShFbGVtZW50KiwgY29uc3QgU3RyaW5nJikKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmggYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IGYwZmRkNTMu
LjJkMGI0OTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaApAQCAtMjcwLDYgKzI3MCwxMSBAQCBwdWJsaWM6CiAgICAgREVGSU5F
X0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0b3VjaGVuZCk7CiAgICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUih0b3VjaGNhbmNlbCk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoVFJBTlNG
T1JNQUNUSU9OX0VWRU5UUykKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHRy
YW5zZm9ybWFjdGlvbnN0YXJ0KTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KHRyYW5zZm9ybWFjdGlvbnVwZGF0ZSk7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNU
RU5FUih0cmFuc2Zvcm1hY3Rpb25lbmQpOworI2VuZGlmCiAKICAgICBEb2N1bWVudFR5cGUqIGRv
Y3R5cGUoKSBjb25zdCB7IHJldHVybiBtX2RvY1R5cGUuZ2V0KCk7IH0KIApAQCAtNjU3LDcgKzY2
Miw4IEBAIHB1YmxpYzoKICAgICAgICAgQU5JTUFUSU9OSVRFUkFUSU9OX0xJU1RFTkVSICAgICAg
ICAgID0gMHg0MDAsCiAgICAgICAgIFRSQU5TSVRJT05FTkRfTElTVEVORVIgICAgICAgICAgICAg
ICA9IDB4ODAwLAogICAgICAgICBCRUZPUkVMT0FEX0xJU1RFTkVSICAgICAgICAgICAgICAgICAg
PSAweDEwMDAsCi0gICAgICAgIFRPVUNIX0xJU1RFTkVSICAgICAgICAgICAgICAgICAgICAgICA9
IDB4MjAwMAorICAgICAgICBUT1VDSF9MSVNURU5FUiAgICAgICAgICAgICAgICAgICAgICAgPSAw
eDIwMDAsCisgICAgICAgIFRSQU5TRk9STUFDVElPTl9MSVNURU5FUiAgICAgICAgICAgICA9IDB4
NDAwMAogICAgIH07CiAKICAgICBib29sIGhhc0xpc3RlbmVyVHlwZShMaXN0ZW5lclR5cGUgbGlz
dGVuZXJUeXBlKSBjb25zdCB7IHJldHVybiAobV9saXN0ZW5lclR5cGVzICYgbGlzdGVuZXJUeXBl
KTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsIGIvV2ViQ29yZS9kb20v
RG9jdW1lbnQuaWRsCmluZGV4IGNkODc3YjMuLjkzMTliYzIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmlkbAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKQEAgLTMxMCw2
ICszMTAsOSBAQCBtb2R1bGUgY29yZSB7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sQ29u
ZGl0aW9uYWw9VE9VQ0hfRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250
b3VjaG1vdmU7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sQ29uZGl0aW9uYWw9VE9VQ0hf
RVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250b3VjaGVuZDsKICAgICAg
ICAgYXR0cmlidXRlIFtEb250RW51bSxDb25kaXRpb25hbD1UT1VDSF9FVkVOVFMsRW5hYmxlZEF0
UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRvdWNoY2FuY2VsOworICAgICAgICBhdHRyaWJ1dGUg
W0RvbnRFbnVtLENvbmRpdGlvbmFsPVRSQU5TRk9STUFDVElPTl9FVkVOVFMsRW5hYmxlZEF0UnVu
dGltZV0gRXZlbnRMaXN0ZW5lciBvbnRyYW5zZm9ybWFjdGlvbnN0YXJ0OworICAgICAgICBhdHRy
aWJ1dGUgW0RvbnRFbnVtLENvbmRpdGlvbmFsPVRSQU5TRk9STUFDVElPTl9FVkVOVFMsRW5hYmxl
ZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRyYW5zZm9ybWFjdGlvbnVwZGF0ZTsKKyAgICAg
ICAgYXR0cmlidXRlIFtEb250RW51bSxDb25kaXRpb25hbD1UUkFOU0ZPUk1BQ1RJT05fRVZFTlRT
LEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250cmFuc2Zvcm1hY3Rpb25lbmQ7CiAj
ZW5kaWYKICAgICB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9XZWJD
b3JlL2RvbS9FbGVtZW50LmgKaW5kZXggOGRhMjg5Mi4uYTUwYmJkZSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9kb20vRWxlbWVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtOTgsNiAr
OTgsMTEgQEAgcHVibGljOgogICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodG91
Y2hlbmQpOwogICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodG91Y2hjYW5jZWwp
OwogI2VuZGlmCisjaWYgRU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMpCisgICAgREVGSU5F
X0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0cmFuc2Zvcm1hY3Rpb25zdGFydCk7CisgICAgREVG
SU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0cmFuc2Zvcm1hY3Rpb251cGRhdGUpOworICAg
IERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodHJhbnNmb3JtYWN0aW9uZW5kKTsKKyNl
bmRpZgogCiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IGNyZWF0ZUNv
bnRleHR1YWxGcmFnbWVudChjb25zdCBTdHJpbmcmLCBGcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Np
b24gPSBGcmFnbWVudFNjcmlwdGluZ0FsbG93ZWQpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmlkbCBiL1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRsCmluZGV4IDZiYjA2ODcuLmM4
Njg4NWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRsCisrKyBiL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuaWRsCkBAIC0xOTksNiArMTk5LDkgQEAgbW9kdWxlIGNvcmUgewogICAgICAg
ICBhdHRyaWJ1dGUgW0RvbnRFbnVtLENvbmRpdGlvbmFsPVRPVUNIX0VWRU5UUyxFbmFibGVkQXRS
dW50aW1lXSBFdmVudExpc3RlbmVyIG9udG91Y2htb3ZlOwogICAgICAgICBhdHRyaWJ1dGUgW0Rv
bnRFbnVtLENvbmRpdGlvbmFsPVRPVUNIX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExp
c3RlbmVyIG9udG91Y2hlbmQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sQ29uZGl0aW9u
YWw9VE9VQ0hfRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250b3VjaGNh
bmNlbDsKKyAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSxDb25kaXRpb25hbD1UUkFOU0ZPUk1B
Q1RJT05fRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250cmFuc2Zvcm1h
Y3Rpb25zdGFydDsKKyAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSxDb25kaXRpb25hbD1UUkFO
U0ZPUk1BQ1RJT05fRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250cmFu
c2Zvcm1hY3Rpb251cGRhdGU7CisgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sQ29uZGl0aW9u
YWw9VFJBTlNGT1JNQUNUSU9OX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVy
IG9udHJhbnNmb3JtYWN0aW9uZW5kOwogI2VuZGlmCiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9kb20vRXZlbnQuY3BwIGIvV2ViQ29yZS9kb20vRXZlbnQuY3BwCmluZGV4IDRlYTNlMGMu
LmIxM2MyODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0V2ZW50LmNwcAorKysgYi9XZWJDb3Jl
L2RvbS9FdmVudC5jcHAKQEAgLTIxOSw2ICsyMTksMTMgQEAgYm9vbCBFdmVudDo6aXNEZXZpY2VP
cmllbnRhdGlvbkV2ZW50KCkgY29uc3QKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFRSQU5TRk9S
TUFDVElPTl9FVkVOVFMpCitib29sIEV2ZW50Ojppc1RyYW5zZm9ybUFjdGlvbkV2ZW50KCkgY29u
c3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisjZW5kaWYKKwogYm9vbCBFdmVudDo6ZnJvbVVz
ZXJHZXN0dXJlKCkKIHsKICAgICBpZiAoIVVzZXJHZXN0dXJlSW5kaWNhdG9yOjpwcm9jZXNzaW5n
VXNlckdlc3R1cmUoKSkKQEAgLTIzNyw2ICsyNDQsMTIgQEAgYm9vbCBFdmVudDo6ZnJvbVVzZXJH
ZXN0dXJlKCkKICAgICAgICAgfHwgdHlwZSA9PSBldmVudE5hbWVzKCkudG91Y2hzdGFydEV2ZW50
IHx8IHR5cGUgPT0gZXZlbnROYW1lcygpLnRvdWNobW92ZUV2ZW50CiAgICAgICAgIHx8IHR5cGUg
PT0gZXZlbnROYW1lcygpLnRvdWNoZW5kRXZlbnQgfHwgdHlwZSA9PSBldmVudE5hbWVzKCkudG91
Y2hjYW5jZWxFdmVudAogI2VuZGlmCisjaWYgRU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMp
CisgICAgICAgIC8vIHRyYW5zZm9ybWFjdGlvbiBldmVudHMKKyAgICAgICAgfHwgdHlwZSA9PSBl
dmVudE5hbWVzKCkudHJhbnNmb3JtYWN0aW9uc3RhcnRFdmVudAorICAgICAgICB8fCB0eXBlID09
IGV2ZW50TmFtZXMoKS50cmFuc2Zvcm1hY3Rpb251cGRhdGVFdmVudAorICAgICAgICB8fCB0eXBl
ID09IGV2ZW50TmFtZXMoKS50cmFuc2Zvcm1hY3Rpb25lbmRFdmVudAorI2VuZGlmCiAgICAgICAg
IC8vIG90aGVyIGFjY2VwdGVkIGV2ZW50cwogICAgICAgICB8fCB0eXBlID09IGV2ZW50TmFtZXMo
KS5zZWxlY3RFdmVudCB8fCB0eXBlID09IGV2ZW50TmFtZXMoKS5jaGFuZ2VFdmVudAogICAgICAg
ICB8fCB0eXBlID09IGV2ZW50TmFtZXMoKS5mb2N1c0V2ZW50IHx8IHR5cGUgPT0gZXZlbnROYW1l
cygpLmJsdXJFdmVudApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnQuaCBiL1dlYkNvcmUv
ZG9tL0V2ZW50LmgKaW5kZXggMmI1NzBkNS4uMmMzMjU1NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9k
b20vRXZlbnQuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudC5oCkBAIC0xNDIsNiArMTQyLDkgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAgICAg
ICAgIHZpcnR1YWwgYm9vbCBpc0RldmljZU9yaWVudGF0aW9uRXZlbnQoKSBjb25zdDsKICNlbmRp
ZgorI2lmIEVOQUJMRShUUkFOU0ZPUk1BQ1RJT05fRVZFTlRTKQorICAgICAgICB2aXJ0dWFsIGJv
b2wgaXNUcmFuc2Zvcm1BY3Rpb25FdmVudCgpIGNvbnN0OworI2VuZGlmCiAgICAgICAgIGJvb2wg
ZnJvbVVzZXJHZXN0dXJlKCk7CiAgICAgICAgIAogICAgICAgICBib29sIHByb3BhZ2F0aW9uU3Rv
cHBlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvcGFnYXRpb25TdG9wcGVkIHx8IG1faW1tZWRpYXRl
UHJvcGFnYXRpb25TdG9wcGVkOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudE5hbWVz
LmggYi9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggNmNjZWNlZi4uYmEyZDhlMyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50
TmFtZXMuaApAQCAtMTU0LDYgKzE1NCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFj
cm8odG91Y2hlbmQpIFwKICAgICBtYWNybyh0b3VjaGNhbmNlbCkgXAogICAgIFwKKyAgICBtYWNy
byh0cmFuc2Zvcm1hY3Rpb25zdGFydCkgXAorICAgIG1hY3JvKHRyYW5zZm9ybWFjdGlvbnVwZGF0
ZSkgXAorICAgIG1hY3JvKHRyYW5zZm9ybWFjdGlvbmVuZCkgXAorICAgIFwKICAgICBtYWNybyhz
dWNjZXNzKSBcCiAgICAgXAogICAgIG1hY3JvKGxvYWRlbmQpIFwKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4gYi9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0
ZU5hbWVzLmluCmluZGV4IDdjZGUzMmYuLjExMTA5MjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRt
bC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KKysrIGIvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVO
YW1lcy5pbgpAQCAtMjEyLDYgKzIxMiw5IEBAIG9udG91Y2hzdGFydAogb250b3VjaG1vdmUKIG9u
dG91Y2hlbmQKIG9udG91Y2hjYW5jZWwKK29udHJhbnNmb3JtYWN0aW9uc3RhcnQKK29udHJhbnNm
b3JtYWN0aW9udXBkYXRlCitvbnRyYW5zZm9ybWFjdGlvbmVuZAogb251bmxvYWQKIG9udm9sdW1l
Y2hhbmdlCiBvbndhaXRpbmcKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5j
cHAgYi9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCmluZGV4IGE2MjNmMjQuLmRiOGE4N2Eg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9o
dG1sL0hUTUxFbGVtZW50LmNwcApAQCAtMjY0LDYgKzI2NCwxMiBAQCB2b2lkIEhUTUxFbGVtZW50
OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqIGF0dHIpCiAgICAgICAgIHNldEF0dHJp
YnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLnRvdWNoZW5kRXZlbnQsIGNyZWF0ZUF0dHJp
YnV0ZUV2ZW50TGlzdGVuZXIodGhpcywgYXR0cikpOwogICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFt
ZSgpID09IG9udG91Y2hjYW5jZWxBdHRyKSB7CiAgICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlz
dGVuZXIoZXZlbnROYW1lcygpLnRvdWNoY2FuY2VsRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50
TGlzdGVuZXIodGhpcywgYXR0cikpOworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG9u
dHJhbnNmb3JtYWN0aW9uc3RhcnRBdHRyKSB7CisgICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlz
dGVuZXIoZXZlbnROYW1lcygpLnRyYW5zZm9ybWFjdGlvbnN0YXJ0RXZlbnQsIGNyZWF0ZUF0dHJp
YnV0ZUV2ZW50TGlzdGVuZXIodGhpcywgYXR0cikpOworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFt
ZSgpID09IG9udHJhbnNmb3JtYWN0aW9udXBkYXRlQXR0cikgeworICAgICAgICBzZXRBdHRyaWJ1
dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS50cmFuc2Zvcm1hY3Rpb251cGRhdGVFdmVudCwg
Y3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRyKSk7CisgICAgfSBlbHNlIGlm
IChhdHRyLT5uYW1lKCkgPT0gb250cmFuc2Zvcm1hY3Rpb25lbmRBdHRyKSB7CisgICAgICAgIHNl
dEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLnRyYW5zZm9ybWFjdGlvbmVuZEV2
ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0dHIpKTsKICAgICB9CiB9
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaCBiL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuaAppbmRleCBhMWY0MGE4Li5kYjhjNDVmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmgKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCkBAIC0zNDAsNiAr
MzQwLDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgREVGSU5FX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUih0b3VjaGVuZCk7CiAgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIodG91Y2hjYW5jZWwpOwogI2VuZGlmCisjaWYgRU5BQkxFKFRSQU5TRk9STUFDVElP
Tl9FVkVOVFMpCisgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodHJhbnNm
b3JtYWN0aW9uc3RhcnQpOworICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KHRyYW5zZm9ybWFjdGlvbnVwZGF0ZSk7CisgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIodHJhbnNmb3JtYWN0aW9uZW5kKTsKKyNlbmRpZgogICAgICAgICB2b2lkIGNhcHR1
cmVFdmVudHMoKTsKICAgICAgICAgdm9pZCByZWxlYXNlRXZlbnRzKCk7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwK
aW5kZXggYjQ3NjUxNC4uODhmZTlmOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5pZGwKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTI5OSw2ICsyOTksMTAg
QEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9VE9VQ0hf
RVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250b3VjaGVuZDsKICAgICAg
ICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1UT1VDSF9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0g
RXZlbnRMaXN0ZW5lciBvbnRvdWNoY2FuY2VsOwogCisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0
aW9uYWw9VFJBTlNGT1JNQUNUSU9OX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3Rl
bmVyIG9udHJhbnNmb3JtYWN0aW9uc3RhcnQ7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9u
YWw9VFJBTlNGT1JNQUNUSU9OX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVy
IG9udHJhbnNmb3JtYWN0aW9udXBkYXRlOworICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFs
PVRSQU5TRk9STUFDVElPTl9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBv
bnRyYW5zZm9ybWFjdGlvbmVuZDsKKwogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPURF
VklDRV9PUklFTlRBVElPTl0gRXZlbnRMaXN0ZW5lciBvbmRldmljZW9yaWVudGF0aW9uOwogCiAg
ICAgICAgIC8vIEV2ZW50VGFyZ2V0IGludGVyZmFjZQpAQCAtNzI4LDcgKzczMiw3IEBAIG1vZHVs
ZSB3aW5kb3cgewogI2VuZGlmCiAKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1UT1VD
SF9FVkVOVFNdIFRvdWNoRXZlbnRDb25zdHJ1Y3RvciBUb3VjaEV2ZW50OwotCisgICAgICAgIGF0
dHJpYnV0ZSBbQ29uZGl0aW9uYWw9VFJBTlNGT1JNQUNUSU9OX0VWRU5UU10gVHJhbnNmb3JtQWN0
aW9uRXZlbnRDb25zdHJ1Y3RvciBUcmFuc2Zvcm1BY3Rpb25FdmVudDsKICAgICAgICAgYXR0cmli
dXRlIERPTUZvcm1EYXRhQ29uc3RydWN0b3IgRm9ybURhdGE7CiAKICAgICAgICAgYXR0cmlidXRl
IFtDb25kaXRpb25hbD1GSUxFX1JFQURFUnxGSUxFX1dSSVRFUl0gRmlsZUVycm9yQ29uc3RydWN0
b3IgRmlsZUVycm9yOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdHJhbnNm
b3JtYWN0aW9uL2NyZWF0ZS10cmFuc2Zvcm1hY3Rpb24tZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvdHJhbnNmb3JtYWN0aW9uL2NyZWF0ZS10cmFuc2Zvcm1hY3Rp
b24tZXZlbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjA5NjVhNWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90cmFu
c2Zvcm1hY3Rpb24vY3JlYXRlLXRyYW5zZm9ybWFjdGlvbi1ldmVudC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw2IEBACitUaGlzIHRlc3RzIHdoZXRoZXIgdGhlIERPTSBjYW4gY3JlYXRlIFRyYW5z
Zm9ybUFjdGlvbkV2ZW50cy4KK1BBU1MgZXZlbnQgaXMgbm9uLW51bGwuCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvdHJhbnNmb3JtYWN0aW9uL2NyZWF0ZS10cmFuc2Zvcm1hY3Rpb24t
ZXZlbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9jcmVh
dGUtdHJhbnNmb3JtYWN0aW9uLWV2ZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uZGY1N2UxYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3RyYW5zZm9ybWFjdGlvbi9jcmVhdGUtdHJhbnNmb3JtYWN0aW9uLWV2ZW50Lmh0bWwKQEAg
LTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9jcmVhdGUtdHJhbnNmb3JtYWN0aW9uLWV2ZW50LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3RyYW5zZm9ybWFjdGlvbi9yZXNvdXJjZXMvY3JlYXRlLXRyYW5zZm9ybWFjdGlvbi1ldmVudC5q
cyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9yZXNvdXJjZXMvY3Jl
YXRlLXRyYW5zZm9ybWFjdGlvbi1ldmVudC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi5kMjMwOGJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvdHJhbnNmb3JtYWN0aW9uL3Jlc291cmNlcy9jcmVhdGUtdHJhbnNmb3JtYWN0aW9uLWV2ZW50
LmpzCkBAIC0wLDAgKzEsMTcgQEAKK2Rlc2NyaXB0aW9uID0gIlRoaXMgdGVzdHMgd2hldGhlciB0
aGUgRE9NIGNhbiBjcmVhdGUgVHJhbnNmb3JtQWN0aW9uRXZlbnRzLiI7CisKK2RlYnVnKGRlc2Ny
aXB0aW9uKTsKKwordmFyIGV2ZW50ID0gbnVsbDsKKwordHJ5Cit7CisgICAgZXZlbnQgPSBkb2N1
bWVudC5jcmVhdGVFdmVudCgiVHJhbnNmb3JtQWN0aW9uRXZlbnQiKTsKKyAgICBzaG91bGRCZU5v
bk51bGwoImV2ZW50Iik7Cit9CitjYXRjaCAoZSkKK3sKKyAgICB0ZXN0RmFpbGVkKCJBbiBleGNl
cHRpb24gd2FzIHRocm93bjogIiArIGUubWVzc2FnZSk7Cit9CisKK3N1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5j
cHAgYi9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uZTc0NjY3YQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUv
ZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50LmNwcApAQCAtMCwwICsxLDgwIEBACisvKgorICAgIENv
cHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnko
LWllcykKKworICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBV
U0EuCisqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoVFJBTlNGT1JNQUNU
SU9OX0VWRU5UUykKKworI2luY2x1ZGUgIlRyYW5zZm9ybUFjdGlvbkV2ZW50LmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworVHJhbnNmb3JtQWN0aW9uRXZlbnQ6OlRyYW5zZm9ybUFjdGlvbkV2
ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwKKyAgICBib29sIGNhbkJ1YmJsZSwgYm9vbCBj
YW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywgaW50IHNjcmVlblgsCisg
ICAgaW50IHNjcmVlblksIGludCBwYWdlWCwgaW50IHBhZ2VZLCBib29sIGN0cmxLZXksIGJvb2wg
YWx0S2V5LAorICAgIGJvb2wgc2hpZnRLZXksIGJvb2wgbWV0YUtleSwgaW50IHRyYW5zbGF0ZVgs
IGludCB0cmFuc2xhdGVZLAorICAgIGludCB0cmFuc2xhdGVTcGVlZFgsIGludCB0cmFuc2xhdGVT
cGVlZFksIGZsb2F0IHNjYWxlLCBmbG9hdCBzY2FsZVNwZWVkLAorICAgIGZsb2F0IHJvdGF0ZSwg
ZmxvYXQgcm90YXRlU3BlZWQpCisgICAgOiBNb3VzZVJlbGF0ZWRFdmVudCh0eXBlLCBjYW5CdWJi
bGUsIGNhbmNlbGFibGUsIHZpZXcsIDAsIHNjcmVlblgsIHNjcmVlblksCisgICAgICAgICAgICAg
ICAgICAgICAgICBwYWdlWCwgcGFnZVksIGN0cmxLZXksIGFsdEtleSwgc2hpZnRLZXksIG1ldGFL
ZXkpCisgICAgLCBtX3RyYW5zbGF0ZVgodHJhbnNsYXRlWCkKKyAgICAsIG1fdHJhbnNsYXRlWSh0
cmFuc2xhdGVZKQorICAgICwgbV90cmFuc2xhdGVTcGVlZFgodHJhbnNsYXRlU3BlZWRYKQorICAg
ICwgbV90cmFuc2xhdGVTcGVlZFkodHJhbnNsYXRlU3BlZWRZKQorICAgICwgbV9zY2FsZShzY2Fs
ZSkKKyAgICAsIG1fc2NhbGVTcGVlZChzY2FsZVNwZWVkKQorICAgICwgbV9yb3RhdGUocm90YXRl
KQorICAgICwgbV9yb3RhdGVTcGVlZChyb3RhdGVTcGVlZCkKK3sKK30KKwordm9pZCBUcmFuc2Zv
cm1BY3Rpb25FdmVudDo6aW5pdFRyYW5zZm9ybUFjdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmlu
ZyYgdHlwZSwKKyAgICBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRy
PEFic3RyYWN0Vmlldz4gdmlldywgaW50IHNjcmVlblgsCisgICAgaW50IHNjcmVlblksIGludCBj
bGllbnRYLCBpbnQgY2xpZW50WSwgYm9vbCBjdHJsS2V5LCBib29sIGFsdEtleSwKKyAgICBib29s
IHNoaWZ0S2V5LCBib29sIG1ldGFLZXksIGludCB0cmFuc2xhdGVYLCBpbnQgdHJhbnNsYXRlWSwK
KyAgICBpbnQgdHJhbnNsYXRlU3BlZWRYLCBpbnQgdHJhbnNsYXRlU3BlZWRZLCBmbG9hdCBzY2Fs
ZSwgZmxvYXQgc2NhbGVTcGVlZCwKKyAgICBmbG9hdCByb3RhdGUsIGZsb2F0IHJvdGF0ZVNwZWVk
KQoreworICAgIGlmIChkaXNwYXRjaGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGluaXRV
SUV2ZW50KHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSwgdmlldywgMCk7CisKKyAgICBtX2N0
cmxLZXkgPSBjdHJsS2V5OworICAgIG1fYWx0S2V5ID0gYWx0S2V5OworICAgIG1fc2hpZnRLZXkg
PSBzaGlmdEtleTsKKyAgICBtX21ldGFLZXkgPSBtZXRhS2V5OworCisgICAgbV9zY3JlZW5YID0g
c2NyZWVuWDsKKyAgICBtX3NjcmVlblkgPSBzY3JlZW5ZOworICAgIGluaXRDb29yZGluYXRlcyhj
bGllbnRYLCBjbGllbnRZKTsKKworICAgIG1fdHJhbnNsYXRlWCA9IHRyYW5zbGF0ZVg7CisgICAg
bV90cmFuc2xhdGVZID0gdHJhbnNsYXRlWTsKKyAgICBtX3RyYW5zbGF0ZVNwZWVkWCA9IHRyYW5z
bGF0ZVNwZWVkWDsKKyAgICBtX3RyYW5zbGF0ZVNwZWVkWSA9IHRyYW5zbGF0ZVNwZWVkWTsKKyAg
ICBtX3NjYWxlID0gc2NhbGU7CisgICAgbV9zY2FsZVNwZWVkID0gc2NhbGVTcGVlZDsKKyAgICBt
X3JvdGF0ZSA9IHJvdGF0ZTsKKyAgICBtX3JvdGF0ZVNwZWVkID0gcm90YXRlU3BlZWQ7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShUUkFOU0ZPUk1BQ1RJ
T05fRVZFTlRTKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vVHJhbnNmb3JtQWN0aW9uRXZlbnQu
aCBiL1dlYkNvcmUvZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uNzQzZjVkYgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZG9t
L1RyYW5zZm9ybUFjdGlvbkV2ZW50LmgKQEAgLTAsMCArMSw4OSBAQAorLyoKKyAgICBDb3B5cmln
aHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMp
CisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgICBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
KyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICAgYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KKyAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdHJlZXQsIEZpZnRoIEZsb29yLAorICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgor
Ki8KKworI2lmbmRlZiBUcmFuc2Zvcm1BY3Rpb25FdmVudF9oCisjZGVmaW5lIFRyYW5zZm9ybUFj
dGlvbkV2ZW50X2gKKworI2lmIEVOQUJMRShUUkFOU0ZPUk1BQ1RJT05fRVZFTlRTKQorCisjaW5j
bHVkZSAiTW91c2VSZWxhdGVkRXZlbnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBUcmFuc2Zvcm1BY3Rpb25FdmVudCA6IHB1YmxpYyBNb3VzZVJlbGF0ZWRFdmVudCB7CitwdWJs
aWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8VHJhbnNmb3JtQWN0aW9uRXZlbnQ+IGNyZWF0ZSgp
CisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFRyYW5zZm9ybUFjdGlvbkV2ZW50
KTsKKyAgICB9CisgICAgc3RhdGljIFBhc3NSZWZQdHI8VHJhbnNmb3JtQWN0aW9uRXZlbnQ+IGNy
ZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsCisgICAgICAgIGJvb2wgY2FuQnViYmxlLCBi
b29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LAorICAgICAgICBp
bnQgc2NyZWVuWCwgaW50IHNjcmVlblksIGludCBwYWdlWCwgaW50IHBhZ2VZLCBib29sIGN0cmxL
ZXksCisgICAgICAgIGJvb2wgYWx0S2V5LCBib29sIHNoaWZ0S2V5LCBib29sIG1ldGFLZXksIGlu
dCB0cmFuc2xhdGVYLAorICAgICAgICBpbnQgdHJhbnNsYXRlWSwgaW50IHRyYW5zbGF0ZVNwZWVk
WCwgaW50IHRyYW5zbGF0ZVNwZWVkWSwgZmxvYXQgc2NhbGUsCisgICAgICAgIGZsb2F0IHNjYWxl
U3BlZWQsIGZsb2F0IHJvdGF0ZSwgZmxvYXQgcm90YXRlU3BlZWQpCisgICAgeworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IFRyYW5zZm9ybUFjdGlvbkV2ZW50KHR5cGUsIGNhbkJ1YmJsZSwg
Y2FuY2VsYWJsZSwKKyAgICAgICAgICAgIHZpZXcsIHNjcmVlblgsIHNjcmVlblksIHBhZ2VYLCBw
YWdlWSwgY3RybEtleSwgYWx0S2V5LCBzaGlmdEtleSwKKyAgICAgICAgICAgIG1ldGFLZXksIHRy
YW5zbGF0ZVgsIHRyYW5zbGF0ZVksIHRyYW5zbGF0ZVNwZWVkWCwgdHJhbnNsYXRlU3BlZWRZLAor
ICAgICAgICAgICAgc2NhbGUsIHNjYWxlU3BlZWQsIHJvdGF0ZSwgcm90YXRlU3BlZWQpKTsKKyAg
ICB9CisKKyAgICB2b2lkIGluaXRUcmFuc2Zvcm1BY3Rpb25FdmVudChjb25zdCBBdG9taWNTdHJp
bmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLAorICAgICAgICBib29sIGNhbmNlbGFibGUsIFBhc3NS
ZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBpbnQgc2NyZWVuWCwKKyAgICAgICAgaW50IHNjcmVl
blksIGludCBjbGllbnRYLCBpbnQgY2xpZW50WSwgYm9vbCBjdHJsS2V5LCBib29sIGFsdEtleSwK
KyAgICAgICAgYm9vbCBzaGlmdEtleSwgYm9vbCBtZXRhS2V5LCBpbnQgdHJhbnNsYXRlWCwgaW50
IHRyYW5zbGF0ZVksCisgICAgICAgIGludCB0cmFuc2xhdGVTcGVlZFgsIGludCB0cmFuc2xhdGVT
cGVlZFksIGZsb2F0IHNjYWxlLCBmbG9hdCBzY2FsZVNwZWVkLAorICAgICAgICBmbG9hdCByb3Rh
dGUsIGZsb2F0IHJvdGF0ZVNwZWVkKTsKKworICAgIGludCB0cmFuc2xhdGVYKCkgY29uc3QgeyBy
ZXR1cm4gbV90cmFuc2xhdGVYOyB9CisgICAgaW50IHRyYW5zbGF0ZVkoKSBjb25zdCB7IHJldHVy
biBtX3RyYW5zbGF0ZVk7IH0KKyAgICBpbnQgdHJhbnNsYXRlU3BlZWRYKCkgY29uc3QgeyByZXR1
cm4gbV90cmFuc2xhdGVTcGVlZFg7IH0KKyAgICBpbnQgdHJhbnNsYXRlU3BlZWRZKCkgY29uc3Qg
eyByZXR1cm4gbV90cmFuc2xhdGVTcGVlZFk7IH0KKyAgICBmbG9hdCBzY2FsZSgpIGNvbnN0IHsg
cmV0dXJuIG1fc2NhbGU7IH0KKyAgICBmbG9hdCBzY2FsZVNwZWVkKCkgY29uc3QgeyByZXR1cm4g
bV9zY2FsZVNwZWVkOyB9CisgICAgZmxvYXQgcm90YXRlKCkgY29uc3QgeyByZXR1cm4gbV9yb3Rh
dGU7IH0KKyAgICBmbG9hdCByb3RhdGVTcGVlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcm90YXRlU3Bl
ZWQ7IH0KKworcHJpdmF0ZToKKyAgICBUcmFuc2Zvcm1BY3Rpb25FdmVudCgpIHt9CisgICAgVHJh
bnNmb3JtQWN0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJs
ZSwKKyAgICAgICAgYm9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmll
dywgaW50IHNjcmVlblgsCisgICAgICAgIGludCBzY3JlZW5ZLCBpbnQgcGFnZVgsIGludCBwYWdl
WSwgYm9vbCBjdHJsS2V5LCBib29sIGFsdEtleSwKKyAgICAgICAgYm9vbCBzaGlmdEtleSwgYm9v
bCBtZXRhS2V5LCBpbnQgdHJhbnNsYXRlWCwgaW50IHRyYW5zbGF0ZVksCisgICAgICAgIGludCB0
cmFuc2xhdGVTcGVlZFgsIGludCB0cmFuc2xhdGVTcGVlZFksIGZsb2F0IHNjYWxlLCBmbG9hdCBz
Y2FsZVNwZWVkLAorICAgICAgICBmbG9hdCByb3RhdGUsIGZsb2F0IHJvdGF0ZVNwZWVkKTsKKwor
ICAgIHZpcnR1YWwgYm9vbCBpc1RyYW5zZm9ybUFjdGlvbkV2ZW50KCkgY29uc3QgeyByZXR1cm4g
dHJ1ZTsgfQorCisgICAgaW50IG1fdHJhbnNsYXRlWDsKKyAgICBpbnQgbV90cmFuc2xhdGVZOwor
ICAgIGludCBtX3RyYW5zbGF0ZVNwZWVkWDsKKyAgICBpbnQgbV90cmFuc2xhdGVTcGVlZFk7Cisg
ICAgZmxvYXQgbV9zY2FsZTsKKyAgICBmbG9hdCBtX3NjYWxlU3BlZWQ7CisgICAgZmxvYXQgbV9y
b3RhdGU7CisgICAgZmxvYXQgbV9yb3RhdGVTcGVlZDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShUUkFOU0ZPUk1BQ1RJT05fRVZFTlRTKQorCisjZW5k
aWYgLy8gVHJhbnNmb3JtQWN0aW9uRXZlbnRfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vVHJh
bnNmb3JtQWN0aW9uRXZlbnQuaWRsIGIvV2ViQ29yZS9kb20vVHJhbnNmb3JtQWN0aW9uRXZlbnQu
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiMjEzYjEKLS0tIC9kZXYv
bnVsbAorKysgYi9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5pZGwKQEAgLTAsMCAr
MSw2NiBAQAorLyoKKyAgICBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5k
L29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAg
ICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICAgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBD
T1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICAgIEJvc3Rv
biwgTUEgMDIxMTAtMTMwMSwgVVNBLgorKi8KKworbW9kdWxlIGV2ZW50cyB7CisKKyAgICBpbnRl
cmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1UUkFOU0ZPUk1BQ1RJT05fRVZFTlRTCisgICAg
XSBUcmFuc2Zvcm1BY3Rpb25FdmVudCA6IFVJRXZlbnQgeworICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgbG9uZyBzY3JlZW5YOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBzY3Jl
ZW5ZOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBjbGllbnRYOworICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBjbGllbnRZOworICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgbG9uZyBvZmZzZXRYOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBvZmZzZXRZ
OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBjdHJsS2V5OworICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBhbHRLZXk7CisgICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBib29sZWFuIHNoaWZ0S2V5OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVh
biBtZXRhS2V5OworCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHRyYW5zbGF0ZVg7
CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHRyYW5zbGF0ZVk7CisgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBsb25nIHRyYW5zbGF0ZVNwZWVkWDsKKyAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIGxvbmcgdHJhbnNsYXRlU3BlZWRZOworICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgZmxvYXQgc2NhbGU7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBzY2FsZVNw
ZWVkOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgcm90YXRlOworICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgcm90YXRlU3BlZWQ7CisKKyAgICAgICAgdm9pZCBpbml0
VHJhbnNmb3JtQWN0aW9uRXZlbnQoaW4gRE9NU3RyaW5nIHR5cGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gY2FuQnViYmxlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIGNhbmNlbGFibGUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIERPTVdpbmRvdyB2aWV3LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBsb25nIHNjcmVlblgsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGxvbmcgc2NyZWVuWSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gbG9uZyBjbGllbnRYLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBsb25nIGNsaWVudFksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gY3RybEtleSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiBhbHRLZXksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gc2hpZnRLZXksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gbWV0YUtleSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gbG9uZyB0cmFuc2xhdGVYLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBsb25nIHRyYW5zbGF0ZVks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGxvbmcgdHJhbnNsYXRl
U3BlZWRYLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBsb25nIHRy
YW5zbGF0ZVNwZWVkWSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4g
ZmxvYXQgc2NhbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGZs
b2F0IHNjYWxlU3BlZWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
IGZsb2F0IHJvdGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4g
ZmxvYXQgcm90YXRlU3BlZWQpOworICAgfTsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57744</attachid>
            <date>2010-06-03 01:32:41 -0700</date>
            <delta_ts>2010-08-04 10:25:19 -0700</delta_ts>
            <desc>TransformActionEvent patch #5</desc>
            <filename>transformaction5.patch</filename>
            <type>text/plain</type>
            <size>37356</size>
            <attacher name="Kim Grönholm">kim.1.gronholm</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0NjM3NGEyLi40NmFhYWZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDYt
MDMgIEtpbSBHcsO2bmhvbG0gIDxraW0uMS5ncm9uaG9sbUBub2tpYS5jb20+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFRyYW5zZm9ybUFjdGlv
bkV2ZW50IHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTM5NzU3CisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy90cmFuc2Zvcm1hY3Rpb24vY3Jl
YXRlLXRyYW5zZm9ybWFjdGlvbi1ldmVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9jcmVhdGUtdHJhbnNmb3JtYWN0aW9uLWV2ZW50
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9yZXNv
dXJjZXMvY3JlYXRlLXRyYW5zZm9ybWFjdGlvbi1ldmVudC5qczogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBwZWQ6Cisg
ICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisKIDIwMTAtMDYtMDMgIEZ1bWl0b3NoaSBV
a2FpICA8dWthaUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgdGVzdCBleHBl
Y3RhdGlvbiB1cGRhdGUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tp
cHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCmluZGV4IDc2ZmQxZWIuLmJm
OTc3N2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCkBAIC01OTE2LDMgKzU5MTYsNiBAQCBl
ZGl0aW5nL3NwZWxsaW5nL2NvbnRleHQtbWVudS1zdWdnZXN0aW9ucy5odG1sCiAKICMgSW5kZXhl
ZERCIGlzIG5vdCB5ZXQgZW5hYmxlZC4KIHN0b3JhZ2UvaW5kZXhlZGRiCisKKyMgVGhlc2UgdGVz
dHMgcmVxdWlyZSB0cmFuc2Zvcm1hY3Rpb24gZXZlbnQgc3VwcG9ydAorZmFzdC9ldmVudHMvdHJh
bnNmb3JtYWN0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBl
ZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCmluZGV4IGQwYWZjN2QuLmMxYjQy
YTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCkBAIC0xMDUsNiArMTA1LDkgQEAgbWVkaWEv
bWVkaWEtY2FuLXBsYXktb2dnLmh0bWwKICMgVGhlc2UgdGVzdHMgcmVxdWlyZSB0b3VjaCBzdXBw
b3J0CiBmYXN0L2V2ZW50cy90b3VjaAogCisjIFRoZXNlIHRlc3RzIHJlcXVpcmUgdHJhbnNmb3Jt
YWN0aW9uIGV2ZW50IHN1cHBvcnQKK2Zhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbgorCiAjIFNr
aXBwZWQgdW50aWwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzOTIz
IGlzIHJlc29sdmVkLgogcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvY2hhbmdlLW5vdGlmaWNh
dGlvbi1vbi1zY3JvbGwuaHRtbAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW4vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IGU3ODEz
MzQuLjMwOTBlNzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVk
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC03MzksNiArNzM5LDkg
QEAgbWVkaWEvbWVkaWEtY2FuLXBsYXktb2dnLmh0bWwKICMgVGhlc2UgdGVzdHMgcmVxdWlyZSB0
b3VjaCBzdXBwb3J0CiBmYXN0L2V2ZW50cy90b3VjaAogCisjIFRoZXNlIHRlc3RzIHJlcXVpcmUg
dHJhbnNmb3JtYWN0aW9uIGV2ZW50IHN1cHBvcnQKK2Zhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlv
bgorCiAjIFhTUyBhdWRpdG9yIHRlc3RzIGludGVybWl0dGVudGx5IHRpbWUgb3V0IDxodHRwOi8v
d2Via2l0Lm9yZy9iLzMyNTI4PgogaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELWdldFNW
R0RvY3VtZW50LWlmcmFtZS5odG1sCiBodHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtZ2V0
U1ZHRG9jdW1lbnQtb2JqZWN0Lmh0bWwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5kZXJp
dmVkLmpzY2JpbmRpbmdzLm1rIGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3Mu
bWsKaW5kZXggZjU0ZWJmMS4uNTdmZTZkYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLmRl
cml2ZWQuanNjYmluZGluZ3MubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmlu
ZGluZ3MubWsKQEAgLTEzNyw2ICsxMzcsNyBAQCBHRU4gOj0gXAogICAgICQoaW50ZXJtZWRpYXRl
cykvZG9tL0pTVG91Y2guaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9kb20vSlNUb3VjaEV2ZW50
LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvZG9tL0pTVG91Y2hMaXN0LmggXAorICAgICQoaW50
ZXJtZWRpYXRlcykvZG9tL0pTVHJhbnNmb3JtQWN0aW9uRXZlbnQuaCBcCiAgICAgJChpbnRlcm1l
ZGlhdGVzKS9kb20vSlNUcmVlV2Fsa2VyLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvZG9tL0pT
VUlFdmVudC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2RvbS9KU1dlYktpdEFuaW1hdGlvbkV2
ZW50LmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5t
ayBiL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsKaW5kZXggOWNlZmU2YS4u
MjI2MWU2NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5t
aworKysgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rCkBAIC0xMTksNiAr
MTE5LDcgQEAgR0VOIDo9IFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4VG91Y2gu
aCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOFRvdWNoRXZlbnQuaCBcCiAgICAg
JChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOFRvdWNoTGlzdC5oIFwKKyAgICAkKGludGVybWVk
aWF0ZXMpL2JpbmRpbmdzL1Y4VHJhbnNmb3JtQWN0aW9uRXZlbnQuaCBcCiAgICAgJChpbnRlcm1l
ZGlhdGVzKS9iaW5kaW5ncy9WOFRyZWVXYWxrZXIuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9i
aW5kaW5ncy9WOFVJRXZlbnQuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOFdl
YktpdEFuaW1hdGlvbkV2ZW50LmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9BbmRyb2lkLm1rIGIv
V2ViQ29yZS9BbmRyb2lkLm1rCmluZGV4IDI4YzlhY2EuLjlkNTkyOWQgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvQW5kcm9pZC5taworKysgYi9XZWJDb3JlL0FuZHJvaWQubWsKQEAgLTE3MCw2ICsxNzAs
NyBAQCBMT0NBTF9TUkNfRklMRVMgOj0gJChMT0NBTF9TUkNfRklMRVMpIFwKIAlkb20vVG91Y2gu
Y3BwIFwKIAlkb20vVG91Y2hFdmVudC5jcHAgXAogCWRvbS9Ub3VjaExpc3QuY3BwIFwKKwlkb20v
VHJhbnNmb3JtQWN0aW9uRXZlbnQuY3BwIFwKIAlkb20vVHJhdmVyc2FsLmNwcCBcCiAJZG9tL1Ry
ZWVXYWxrZXIuY3BwIFwKIAlkb20vVUlFdmVudC5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dCBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMWFkY2FkZS4uYTU3
NzM4ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CkBAIC0xNzUsNiArMTc1LDcgQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAg
ICAgZG9tL1RvdWNoRXZlbnQuaWRsCiAgICAgZG9tL1RvdWNoLmlkbAogICAgIGRvbS9Ub3VjaExp
c3QuaWRsCisgICAgZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50LmlkbAogICAgIGRvbS9UcmVlV2Fs
a2VyLmlkbAogICAgIGRvbS9VSUV2ZW50LmlkbAogICAgIGRvbS9XZWJLaXRBbmltYXRpb25FdmVu
dC5pZGwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggZWM0MDczNy4uODcwNDNmNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3MyBAQAorMjAxMC0wNi0wMyAgS2ltIEdy
w7ZuaG9sbSAgPGtpbS4xLmdyb25ob2xtQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgVHJhbnNmb3JtQWN0aW9uRXZlbnQgc3Vw
cG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzk3
NTcKKworICAgICAgICBBZGRlZCBvbmx5IHRoZSBuZWNlc3NhcnkgVHJhbnNmb3JtQWN0aW9uIGV2
ZW50IGludGVyZmFjZXMgYW5kIG5vdCBlLmcuCisgICAgICAgIGFueSBldmVudGhhbmRsZXIgaG9v
a3MgdGhhdCBnZW5lcmF0ZSBhbmQgZGlzcGF0Y2ggdGhlbS4KKworICAgICAgICBUZXN0OiBmYXN0
L2V2ZW50cy90cmFuc2Zvcm1hY3Rpb24vY3JlYXRlLXRyYW5zZm9ybWFjdGlvbi1ldmVudC5odG1s
CisgICAgICAgIE1vcmUgdGVzdHMgd2lsbCBiZSBhZGRlZCB3aXRoIHRoZSBtYWNoaW5lcnkgdGhh
dCBnZW5lcmF0ZXMgYW5kCisgICAgICAgIGRpc3BhdGNoZXMgdGhlc2UgZXZlbnRzLgorCisgICAg
ICAgICogQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rOgorICAgICAgICAqIEFuZHJvaWQu
ZGVyaXZlZC52OGJpbmRpbmdzLm1rOgorICAgICAgICAqIEFuZHJvaWQubWs6CisgICAgICAgICog
Q01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAg
ICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJpOgorICAgICAgICAqIFdlYkNv
cmUucHJvOgorICAgICAgICAqIGJpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJl
cy5jcHA6CisgICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVz
Lmg6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjp0cmFuc2Zvcm1h
Y3Rpb25FbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNldFRyYW5zZm9ybUFjdGlvbkVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVu
YWJsZWRGZWF0dXJlczo6b250cmFuc2Zvcm1hY3Rpb25zdGFydEVuYWJsZWQpOgorICAgICAgICAo
V2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6b250cmFuc2Zvcm1hY3Rpb251cGRhdGVF
bmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6Om9udHJh
bnNmb3JtYWN0aW9uZW5kRW5hYmxlZCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNFdmVudEN1
c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTKToKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAg
ICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNy
ZWF0ZUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjphZGRMaXN0ZW5lclR5cGVJ
Zk5lZWRlZCk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaWRsOgorICAgICAgICAqIGRvbS9F
bGVtZW50Lmg6CisgICAgICAgICogZG9tL0VsZW1lbnQuaWRsOgorICAgICAgICAqIGRvbS9FdmVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudDo6aXNUcmFuc2Zvcm1BY3Rpb25FdmVudCk6
CisgICAgICAgIChXZWJDb3JlOjpFdmVudDo6ZnJvbVVzZXJHZXN0dXJlKToKKyAgICAgICAgKiBk
b20vRXZlbnQuaDoKKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5oOgorICAgICAgICAqIGRvbS9U
cmFuc2Zvcm1BY3Rpb25FdmVudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNm
b3JtQWN0aW9uRXZlbnQ6OlRyYW5zZm9ybUFjdGlvbkV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OlRyYW5zZm9ybUFjdGlvbkV2ZW50Ojppbml0VHJhbnNmb3JtQWN0aW9uRXZlbnQpOgorICAgICAg
ICAqIGRvbS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlRyYW5zZm9ybUFjdGlvbkV2ZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNm
b3JtQWN0aW9uRXZlbnQ6OnRyYW5zbGF0ZVgpOgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNmb3Jt
QWN0aW9uRXZlbnQ6OnRyYW5zbGF0ZVkpOgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNmb3JtQWN0
aW9uRXZlbnQ6OnRyYW5zbGF0ZVNwZWVkWCk6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1B
Y3Rpb25FdmVudDo6dHJhbnNsYXRlU3BlZWRZKToKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9y
bUFjdGlvbkV2ZW50OjpzY2FsZSk6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1BY3Rpb25F
dmVudDo6c2NhbGVTcGVlZCk6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1BY3Rpb25FdmVu
dDo6cm90YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9ybUFjdGlvbkV2ZW50Ojpyb3Rh
dGVTcGVlZCk6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1BY3Rpb25FdmVudDo6VHJhbnNm
b3JtQWN0aW9uRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNmb3JtQWN0aW9uRXZlbnQ6
OmlzVHJhbnNmb3JtQWN0aW9uRXZlbnQpOgorICAgICAgICAqIGRvbS9UcmFuc2Zvcm1BY3Rpb25F
dmVudC5pZGw6IEFkZGVkLgorICAgICAgICAqIGh0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluOgor
ICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEVs
ZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5o
OgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKwogMjAxMC0wNi0wMyAgUGF2ZWwgRmVs
ZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBOb3QgcmV2aWV3ZWQuIFJv
bGxpbmcgb3V0IGFnZ3Jlc3NpdmUgY2FjaGUgcGFydCBvZiB0aGUgcjYwMzkxCmRpZmYgLS1naXQg
YS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3Bw
CmluZGV4IGM1MDUzMWIuLmI3YzEwMDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMuY3BwCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0zNzUsNiArMzc1LDcg
QEAKICNpbmNsdWRlICJKU1RvdWNoLmNwcCIKICNpbmNsdWRlICJKU1RvdWNoRXZlbnQuY3BwIgog
I2luY2x1ZGUgIkpTVG91Y2hMaXN0LmNwcCIKKyNpbmNsdWRlICJKU1RyYW5zZm9ybUFjdGlvbkV2
ZW50LmNwcCIKICNpbmNsdWRlICJKU1RyZWVXYWxrZXIuY3BwIgogI2luY2x1ZGUgIkpTVUlFdmVu
dC5jcHAiCiAjaW5jbHVkZSAiSlNWYWxpZGl0eVN0YXRlLmNwcCIKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRl
eCA5OTlmMDU1Li4zYjIyMDMzIDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC00MzIsNiArNDMyLDcgQEAg
RE9NX0NMQVNTRVMgPSBcCiAgICAgVG91Y2ggXAogICAgIFRvdWNoRXZlbnQgXAogICAgIFRvdWNo
TGlzdCBcCisgICAgVHJhbnNmb3JtQWN0aW9uRXZlbnQgXAogICAgIFRyZWVXYWxrZXIgXAogICAg
IFVJRXZlbnQgXAogICAgIFZhbGlkaXR5U3RhdGUgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVt
YWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggNGRjZTYyZi4uZWIxNTRj
OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCkBAIC0xNzQsNiArMTc0LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKIAlXZWJDb3Jl
L2RvbS9Ub3VjaC5pZGwgXAogCVdlYkNvcmUvZG9tL1RvdWNoRXZlbnQuaWRsIFwKIAlXZWJDb3Jl
L2RvbS9Ub3VjaExpc3QuaWRsIFwKKwlXZWJDb3JlL2RvbS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5p
ZGwgXAogCVdlYkNvcmUvZG9tL1RyZWVXYWxrZXIuaWRsIFwKIAlXZWJDb3JlL2RvbS9VSUV2ZW50
LmlkbCBcCiAJV2ViQ29yZS9kb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuaWRsIFwKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMjkz
Zjc4NS4uYjUwNjgxNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKQEAgLTc3LDYgKzc3LDcgQEAKICAgICAgICAgICAgICdkb20vVG91
Y2guaWRsJywKICAgICAgICAgICAgICdkb20vVG91Y2hFdmVudC5pZGwnLAogICAgICAgICAgICAg
J2RvbS9Ub3VjaExpc3QuaWRsJywKKyAgICAgICAgICAgICdkb20vVHJhbnNmb3JtQWN0aW9uRXZl
bnQuaWRsJywKICAgICAgICAgICAgICdkb20vVHJlZVdhbGtlci5pZGwnLAogICAgICAgICAgICAg
J2RvbS9VSUV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50
LmlkbCcsCkBAIC0xMjM4LDYgKzEyMzksOCBAQAogICAgICAgICAgICAgJ2RvbS9Ub3VjaExpc3Qu
Y3BwJywKICAgICAgICAgICAgICdkb20vVG91Y2hMaXN0LmgnLAogICAgICAgICAgICAgJ2RvbS9U
b2tlbml6ZXIuaCcsCisgICAgICAgICAgICAnZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50LmNwcCcs
CisgICAgICAgICAgICAnZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50LmgnLAogICAgICAgICAgICAg
J2RvbS9UcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcCcsCiAgICAgICAgICAgICAnZG9tL1RyYW5z
Zm9ybVNvdXJjZS5oJywKICAgICAgICAgICAgICdkb20vVHJhdmVyc2FsLmNwcCcsCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL1dlYkNvcmUucHJpIGIvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRleCBkNDBj
MmFhLi44ZGM1NWFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJpCisrKyBiL1dlYkNv
cmUvV2ViQ29yZS5wcmkKQEAgLTEyMSw4ICsxMjEsMTEgQEAgZ3JlYXRlclRoYW4oUVRfTUlOT1Jf
VkVSU0lPTiwgNSkgewogIyBCZWFyZXIgbWFuYWdlbWVudCBpcyBwYXJ0IG9mIFF0IDQuNwogIWxl
c3NUaGFuKFFUX01JTk9SX1ZFUlNJT04sIDcpOiFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfUVRf
QkVBUkVSPS4pOkRFRklORVMgKz0gRU5BQkxFX1FUX0JFQVJFUj0xCiAKLSMgRW5hYmxlIHRvdWNo
IGV2ZW50IHN1cHBvcnQgd2l0aCBRdCA0LjYKLSFsZXNzVGhhbihRVF9NSU5PUl9WRVJTSU9OLCA2
KTogREVGSU5FUyArPSBFTkFCTEVfVE9VQ0hfRVZFTlRTPTEKKyMgRW5hYmxlIHRvdWNoIHN1cHBv
cnQgd2l0aCBRdCA0LjYKKyFsZXNzVGhhbihRVF9NSU5PUl9WRVJTSU9OLCA2KSB7CisgICAgREVG
SU5FUyArPSBFTkFCTEVfVE9VQ0hfRVZFTlRTPTEKKyAgICBERUZJTkVTICs9IEVOQUJMRV9UUkFO
U0ZPUk1BQ1RJT05fRVZFTlRTPTEKK30KIAogIyBVc2VkIHRvIGNvbXB1dGUgZGVmYXVsdHMgZm9y
IHRoZSBidWlsZC13ZWJraXQgc2NyaXB0CiBDT05GSUcoY29tcHV0ZV9kZWZhdWx0cykgewpAQCAt
MTYzLDYgKzE2Niw3IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVH
R0VSPTEpOiBGRUFUVVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBFCiBjb250YWlucyhERUZJTkVT
LCBFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TPTEpOiBGRUFUVVJFX0RFRklORVNfSkFW
QVNDUklQVCArPSBFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TPTEKIGNvbnRhaW5zKERF
RklORVMsIEVOQUJMRV9XRUJfU09DS0VUUz0xKTogRkVBVFVSRV9ERUZJTkVTX0pBVkFTQ1JJUFQg
Kz0gRU5BQkxFX1dFQl9TT0NLRVRTPTEKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9UT1VDSF9F
VkVOVFM9MSk6IEZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBUICs9IEVOQUJMRV9UT1VDSF9FVkVO
VFM9MQorY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1RSQU5TRk9STUFDVElPTl9FVkVOVFM9MSk6
IEZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBUICs9IEVOQUJMRV9UUkFOU0ZPUk1BQ1RJT05fRVZF
TlRTPTEKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9USUxFRF9CQUNLSU5HX1NUT1JFPTEpOiBG
RUFUVVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBFTkFCTEVfVElMRURfQkFDS0lOR19TVE9SRT0x
CiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfTk9USUZJQ0FUSU9OUz0xKTogRkVBVFVSRV9ERUZJ
TkVTX0pBVkFTQ1JJUFQgKz0gRU5BQkxFX05PVElGSUNBVElPTlM9MQogY29udGFpbnMoREVGSU5F
UywgRU5BQkxFX01FVEVSX1RBRz0xKTogRkVBVFVSRV9ERUZJTkVTX0pBVkFTQ1JJUFQgKz0gRU5B
QkxFX01FVEVSX1RBRz0xCkBAIC0zMDAsNiArMzA0LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAg
ICBkb20vVG91Y2guaWRsIFwKICAgICBkb20vVG91Y2hFdmVudC5pZGwgXAogICAgIGRvbS9Ub3Vj
aExpc3QuaWRsIFwKKyAgICBkb20vVHJhbnNmb3JtQWN0aW9uRXZlbnQuaWRsIFwKICAgICBkb20v
VHJlZVdhbGtlci5pZGwgXAogICAgIGRvbS9VSUV2ZW50LmlkbCBcCiAgICAgZG9tL1dlYktpdEFu
aW1hdGlvbkV2ZW50LmlkbCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2Vi
Q29yZS9XZWJDb3JlLnBybwppbmRleCAxMWEzZGNiLi4zYmQzZGI2IDEwMDY0NAotLS0gYS9XZWJD
b3JlL1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTUyNSw2ICs1MjUs
NyBAQCBTT1VSQ0VTICs9IFwKICAgICBkb20vVG91Y2guY3BwIFwKICAgICBkb20vVG91Y2hFdmVu
dC5jcHAgXAogICAgIGRvbS9Ub3VjaExpc3QuY3BwIFwKKyAgICBkb20vVHJhbnNmb3JtQWN0aW9u
RXZlbnQuY3BwIFwKICAgICBkb20vVHJhdmVyc2FsLmNwcCBcCiAgICAgZG9tL1RyZWVXYWxrZXIu
Y3BwIFwKICAgICBkb20vVUlFdmVudC5jcHAgXApAQCAtMTI1OCw2ICsxMjU5LDcgQEAgSEVBREVS
UyArPSBcCiAgICAgZG9tL1RvdWNoLmggXAogICAgIGRvbS9Ub3VjaEV2ZW50LmggXAogICAgIGRv
bS9Ub3VjaExpc3QuaCBcCisgICAgZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50LmggXAogICAgIGRv
bS9UcmFuc2Zvcm1Tb3VyY2UuaCBcCiAgICAgZG9tL1RyYXZlcnNhbC5oIFwKICAgICBkb20vVHJl
ZURlcHRoTGltaXQuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVu
dGltZUVuYWJsZWRGZWF0dXJlcy5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcy5jcHAKaW5kZXggYTNlNDg4ZS4uOGFlMTBlMyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCisrKyBi
L1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcApAQCAt
NDgsNiArNDgsNyBAQCBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzSW5kZXhlZERCRW5h
YmxlZCA9IGZhbHNlOwogYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc1dlYkdMRW5hYmxl
ZCA9IGZhbHNlOwogYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc1B1c2hTdGF0ZUVuYWJs
ZWQgPSBmYWxzZTsKIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNUb3VjaEVuYWJsZWQg
PSB0cnVlOworYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc1RyYW5zZm9ybUFjdGlvbkVu
YWJsZWQgPSB0cnVlOwogCiAjaWYgRU5BQkxFKFZJREVPKQogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIGIvV2ViQ29yZS9iaW5k
aW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAppbmRleCBjODQ0NjVhLi44NzA5
MGNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZl
YXR1cmVzLmgKQEAgLTExMiw2ICsxMTIsMTQgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIG9u
dG91Y2hjYW5jZWxFbmFibGVkKCkgeyByZXR1cm4gaXNUb3VjaEVuYWJsZWQ7IH0KICNlbmRpZgog
CisjaWYgRU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMpCisgICAgc3RhdGljIGJvb2wgdHJh
bnNmb3JtYWN0aW9uRW5hYmxlZCgpIHsgcmV0dXJuIGlzVHJhbnNmb3JtQWN0aW9uRW5hYmxlZDsg
fQorICAgIHN0YXRpYyB2b2lkIHNldFRyYW5zZm9ybUFjdGlvbkVuYWJsZWQoYm9vbCBpc0VuYWJs
ZWQpIHsgaXNUcmFuc2Zvcm1BY3Rpb25FbmFibGVkID0gaXNFbmFibGVkOyB9CisgICAgc3RhdGlj
IGJvb2wgb250cmFuc2Zvcm1hY3Rpb25zdGFydEVuYWJsZWQoKSB7IHJldHVybiBpc1RyYW5zZm9y
bUFjdGlvbkVuYWJsZWQ7IH0KKyAgICBzdGF0aWMgYm9vbCBvbnRyYW5zZm9ybWFjdGlvbnVwZGF0
ZUVuYWJsZWQoKSB7IHJldHVybiBpc1RyYW5zZm9ybUFjdGlvbkVuYWJsZWQ7IH0KKyAgICBzdGF0
aWMgYm9vbCBvbnRyYW5zZm9ybWFjdGlvbmVuZEVuYWJsZWQoKSB7IHJldHVybiBpc1RyYW5zZm9y
bUFjdGlvbkVuYWJsZWQ7IH0KKyNlbmRpZgorCiBwcml2YXRlOgogICAgIC8vIE5ldmVyIGluc3Rh
bnRpYXRlLgogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMoKSB7IH0KQEAgLTEyNSw2ICsxMzMs
NyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBib29sIGlzV2ViR0xFbmFibGVkOwogICAgIHN0YXRp
YyBib29sIGlzUHVzaFN0YXRlRW5hYmxlZDsKICAgICBzdGF0aWMgYm9vbCBpc1RvdWNoRW5hYmxl
ZDsKKyAgICBzdGF0aWMgYm9vbCBpc1RyYW5zZm9ybUFjdGlvbkVuYWJsZWQ7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZl
bnRDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcAppbmRl
eCBiNjE5MGZmLi41MTMxODcxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZl
bnRDdXN0b20uY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAK
QEAgLTg2LDYgKzg2LDEwIEBACiAjaW5jbHVkZSAiSlNUb3VjaEV2ZW50LmgiCiAjaW5jbHVkZSAi
VG91Y2hFdmVudC5oIgogI2VuZGlmCisjaWYgRU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMp
CisjaW5jbHVkZSAiSlNUcmFuc2Zvcm1BY3Rpb25FdmVudC5oIgorI2luY2x1ZGUgIlRyYW5zZm9y
bUFjdGlvbkV2ZW50LmgiCisjZW5kaWYKIAogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQog
I2luY2x1ZGUgIklEQkVycm9yRXZlbnQuaCIKQEAgLTEzMyw2ICsxMzcsMTAgQEAgSlNWYWx1ZSB0
b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRXZl
bnQqIGV2ZW50KQogICAgICAgICBlbHNlIGlmIChldmVudC0+aXNUb3VjaEV2ZW50KCkpCiAgICAg
ICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBFUihleGVjLCBnbG9iYWxP
YmplY3QsIFRvdWNoRXZlbnQsIGV2ZW50KTsKICNlbmRpZgorI2lmIEVOQUJMRShUUkFOU0ZPUk1B
Q1RJT05fRVZFTlRTKQorICAgICAgICBlbHNlIGlmIChldmVudC0+aXNUcmFuc2Zvcm1BY3Rpb25F
dmVudCgpKQorICAgICAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fT0JKRUNUX1dSQVBQRVIo
ZXhlYywgZ2xvYmFsT2JqZWN0LCBUcmFuc2Zvcm1BY3Rpb25FdmVudCwgZXZlbnQpOworI2VuZGlm
CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9X
UkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgVUlFdmVudCwgZXZlbnQpOwogICAgIH0gZWxzZSBp
ZiAoZXZlbnQtPmlzTXV0YXRpb25FdmVudCgpKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOEV2ZW50Q3VzdG9tLmNwcAppbmRleCBiY2UxNTYxLi4xNTJkOTZlIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50Q3VzdG9tLmNwcAorKysgYi9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50Q3VzdG9tLmNwcApAQCAtNTYsNiArNTYsNyBAQAog
I2luY2x1ZGUgIlY4U3RvcmFnZUV2ZW50LmgiCiAjaW5jbHVkZSAiVjhUZXh0RXZlbnQuaCIKICNp
bmNsdWRlICJWOFRvdWNoRXZlbnQuaCIKKyNpbmNsdWRlICJWOFRyYW5zZm9ybUFjdGlvbkV2ZW50
LmgiCiAjaW5jbHVkZSAiVjhVSUV2ZW50LmgiCiAjaW5jbHVkZSAiVjhXZWJLaXRBbmltYXRpb25F
dmVudC5oIgogI2luY2x1ZGUgIlY4V2ViS2l0VHJhbnNpdGlvbkV2ZW50LmgiCkBAIC0xMTcsNiAr
MTE4LDEwIEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KEV2ZW50KiBpbXBsKQogICAgICAg
ICBpZiAoaW1wbC0+aXNUb3VjaEV2ZW50KCkpCiAgICAgICAgICAgICByZXR1cm4gdG9WOChzdGF0
aWNfY2FzdDxUb3VjaEV2ZW50Kj4oaW1wbCkpOwogI2VuZGlmCisjaWYgRU5BQkxFKFRSQU5TRk9S
TUFDVElPTl9FVkVOVFMpCisgICAgICAgIGlmIChpbXBsLT5pc1RyYW5zZm9ybUFjdGlvbkV2ZW50
KCkpCisgICAgICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxUcmFuc2Zvcm1BY3Rpb25F
dmVudCo+KGltcGwpKTsKKyNlbmRpZgogICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxV
SUV2ZW50Kj4oaW1wbCkpOwogICAgIH0KICAgICBpZiAoaW1wbC0+aXNNdXRhdGlvbkV2ZW50KCkp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKaW5kZXggNGVkZGJhNC4uNzViZWY4MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTgwLDYgKzE4
MCwxMCBAQAogI2luY2x1ZGUgIlRvdWNoRXZlbnQuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKFRS
QU5TRk9STUFDVElPTl9FVkVOVFMpCisjaW5jbHVkZSAiVHJhbnNmb3JtQWN0aW9uRXZlbnQuaCIK
KyNlbmRpZgorCiAjaWYgRU5BQkxFKFdNTCkKICNpbmNsdWRlICJXTUxEb2N1bWVudC5oIgogI2lu
Y2x1ZGUgIldNTEVsZW1lbnQuaCIKQEAgLTMyMDgsNiArMzIxMiwxNSBAQCBQYXNzUmVmUHRyPEV2
ZW50PiBEb2N1bWVudDo6Y3JlYXRlRXZlbnQoY29uc3QgU3RyaW5nJiBldmVudFR5cGUsIEV4Y2Vw
dGlvbkNvZGUmCiAjZW5kaWYKICAgICAgICAgZXZlbnQgPSBUb3VjaEV2ZW50OjpjcmVhdGUoKTsK
ICNlbmRpZgorCisjaWYgRU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMpCisjaWYgVVNFKFY4
KQorICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSAiVHJhbnNmb3JtQWN0aW9uRXZlbnQiICYmIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnRyYW5zZm9ybWFjdGlvbkVuYWJsZWQoKSkKKyNlbHNlCisg
ICAgZWxzZSBpZiAoZXZlbnRUeXBlID09ICJUcmFuc2Zvcm1BY3Rpb25FdmVudCIpCisjZW5kaWYK
KyAgICAgICAgZXZlbnQgPSBUcmFuc2Zvcm1BY3Rpb25FdmVudDo6Y3JlYXRlKCk7CisjZW5kaWYK
ICAgICBpZiAoZXZlbnQpCiAgICAgICAgIHJldHVybiBldmVudC5yZWxlYXNlKCk7CiAKQEAgLTMy
NTMsNiArMzI2NiwxMiBAQCB2b2lkIERvY3VtZW50OjphZGRMaXN0ZW5lclR5cGVJZk5lZWRlZChj
b25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSkKICAgICAgICAgICAgIHBhZ2UtPmNocm9tZSgp
LT5jbGllbnQoKS0+bmVlZFRvdWNoRXZlbnRzKHRydWUpOwogICAgIH0KICNlbmRpZgorI2lmIEVO
QUJMRShUUkFOU0ZPUk1BQ1RJT05fRVZFTlRTKQorICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBl
dmVudE5hbWVzKCkudHJhbnNmb3JtYWN0aW9uc3RhcnRFdmVudAorICAgICAgICAgICAgIHx8IGV2
ZW50VHlwZSA9PSBldmVudE5hbWVzKCkudHJhbnNmb3JtYWN0aW9udXBkYXRlRXZlbnQKKyAgICAg
ICAgICAgICB8fCBldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLnRyYW5zZm9ybWFjdGlvbmVuZEV2
ZW50KQorICAgICAgICBhZGRMaXN0ZW5lclR5cGUoVFJBTlNGT1JNQUNUSU9OX0xJU1RFTkVSKTsK
KyNlbmRpZgogfQogCiBDU1NTdHlsZURlY2xhcmF0aW9uKiBEb2N1bWVudDo6Z2V0T3ZlcnJpZGVT
dHlsZShFbGVtZW50KiwgY29uc3QgU3RyaW5nJikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmggYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDUwOTMxMDAuLjNhYWViNzMg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaApAQCAtMjcwLDYgKzI3MCwxMSBAQCBwdWJsaWM6CiAgICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUih0b3VjaGVuZCk7CiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9M
SVNURU5FUih0b3VjaGNhbmNlbCk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9O
X0VWRU5UUykKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHRyYW5zZm9ybWFj
dGlvbnN0YXJ0KTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHRyYW5zZm9y
bWFjdGlvbnVwZGF0ZSk7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0cmFu
c2Zvcm1hY3Rpb25lbmQpOworI2VuZGlmCiAKICAgICBEb2N1bWVudFR5cGUqIGRvY3R5cGUoKSBj
b25zdCB7IHJldHVybiBtX2RvY1R5cGUuZ2V0KCk7IH0KIApAQCAtNjU4LDcgKzY2Myw4IEBAIHB1
YmxpYzoKICAgICAgICAgQU5JTUFUSU9OSVRFUkFUSU9OX0xJU1RFTkVSICAgICAgICAgID0gMHg0
MDAsCiAgICAgICAgIFRSQU5TSVRJT05FTkRfTElTVEVORVIgICAgICAgICAgICAgICA9IDB4ODAw
LAogICAgICAgICBCRUZPUkVMT0FEX0xJU1RFTkVSICAgICAgICAgICAgICAgICAgPSAweDEwMDAs
Ci0gICAgICAgIFRPVUNIX0xJU1RFTkVSICAgICAgICAgICAgICAgICAgICAgICA9IDB4MjAwMAor
ICAgICAgICBUT1VDSF9MSVNURU5FUiAgICAgICAgICAgICAgICAgICAgICAgPSAweDIwMDAsCisg
ICAgICAgIFRSQU5TRk9STUFDVElPTl9MSVNURU5FUiAgICAgICAgICAgICA9IDB4NDAwMAogICAg
IH07CiAKICAgICBib29sIGhhc0xpc3RlbmVyVHlwZShMaXN0ZW5lclR5cGUgbGlzdGVuZXJUeXBl
KSBjb25zdCB7IHJldHVybiAobV9saXN0ZW5lclR5cGVzICYgbGlzdGVuZXJUeXBlKTsgfQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aWRsCmluZGV4IGNkODc3YjMuLjkzMTliYzIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmlkbAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKQEAgLTMxMCw2ICszMTAsOSBA
QCBtb2R1bGUgY29yZSB7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sQ29uZGl0aW9uYWw9
VE9VQ0hfRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250b3VjaG1vdmU7
CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sQ29uZGl0aW9uYWw9VE9VQ0hfRVZFTlRTLEVu
YWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250b3VjaGVuZDsKICAgICAgICAgYXR0cmli
dXRlIFtEb250RW51bSxDb25kaXRpb25hbD1UT1VDSF9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0g
RXZlbnRMaXN0ZW5lciBvbnRvdWNoY2FuY2VsOworICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVt
LENvbmRpdGlvbmFsPVRSQU5TRk9STUFDVElPTl9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZl
bnRMaXN0ZW5lciBvbnRyYW5zZm9ybWFjdGlvbnN0YXJ0OworICAgICAgICBhdHRyaWJ1dGUgW0Rv
bnRFbnVtLENvbmRpdGlvbmFsPVRSQU5TRk9STUFDVElPTl9FVkVOVFMsRW5hYmxlZEF0UnVudGlt
ZV0gRXZlbnRMaXN0ZW5lciBvbnRyYW5zZm9ybWFjdGlvbnVwZGF0ZTsKKyAgICAgICAgYXR0cmli
dXRlIFtEb250RW51bSxDb25kaXRpb25hbD1UUkFOU0ZPUk1BQ1RJT05fRVZFTlRTLEVuYWJsZWRB
dFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250cmFuc2Zvcm1hY3Rpb25lbmQ7CiAjZW5kaWYKICAg
ICB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9XZWJDb3JlL2RvbS9F
bGVtZW50LmgKaW5kZXggOGRhMjg5Mi4uYTUwYmJkZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20v
RWxlbWVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtOTgsNiArOTgsMTEgQEAg
cHVibGljOgogICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodG91Y2hlbmQpOwog
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodG91Y2hjYW5jZWwpOwogI2VuZGlm
CisjaWYgRU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMpCisgICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUih0cmFuc2Zvcm1hY3Rpb25zdGFydCk7CisgICAgREVGSU5FX0FUVFJJ
QlVURV9FVkVOVF9MSVNURU5FUih0cmFuc2Zvcm1hY3Rpb251cGRhdGUpOworICAgIERFRklORV9B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIodHJhbnNmb3JtYWN0aW9uZW5kKTsKKyNlbmRpZgogCiAg
ICAgdmlydHVhbCBQYXNzUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IGNyZWF0ZUNvbnRleHR1YWxG
cmFnbWVudChjb25zdCBTdHJpbmcmLCBGcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24gPSBGcmFn
bWVudFNjcmlwdGluZ0FsbG93ZWQpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FbGVtZW50
LmlkbCBiL1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRsCmluZGV4IDZiYjA2ODcuLmM4Njg4NWQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRsCisrKyBiL1dlYkNvcmUvZG9tL0VsZW1l
bnQuaWRsCkBAIC0xOTksNiArMTk5LDkgQEAgbW9kdWxlIGNvcmUgewogICAgICAgICBhdHRyaWJ1
dGUgW0RvbnRFbnVtLENvbmRpdGlvbmFsPVRPVUNIX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBF
dmVudExpc3RlbmVyIG9udG91Y2htb3ZlOwogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtLENv
bmRpdGlvbmFsPVRPVUNIX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9u
dG91Y2hlbmQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sQ29uZGl0aW9uYWw9VE9VQ0hf
RVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250b3VjaGNhbmNlbDsKKyAg
ICAgICAgYXR0cmlidXRlIFtEb250RW51bSxDb25kaXRpb25hbD1UUkFOU0ZPUk1BQ1RJT05fRVZF
TlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250cmFuc2Zvcm1hY3Rpb25zdGFy
dDsKKyAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSxDb25kaXRpb25hbD1UUkFOU0ZPUk1BQ1RJ
T05fRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250cmFuc2Zvcm1hY3Rp
b251cGRhdGU7CisgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sQ29uZGl0aW9uYWw9VFJBTlNG
T1JNQUNUSU9OX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9udHJhbnNm
b3JtYWN0aW9uZW5kOwogI2VuZGlmCiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20v
RXZlbnQuY3BwIGIvV2ViQ29yZS9kb20vRXZlbnQuY3BwCmluZGV4IDRlYTNlMGMuLmIxM2MyODEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0V2ZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9FdmVu
dC5jcHAKQEAgLTIxOSw2ICsyMTksMTMgQEAgYm9vbCBFdmVudDo6aXNEZXZpY2VPcmllbnRhdGlv
bkV2ZW50KCkgY29uc3QKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFRSQU5TRk9STUFDVElPTl9F
VkVOVFMpCitib29sIEV2ZW50Ojppc1RyYW5zZm9ybUFjdGlvbkV2ZW50KCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisjZW5kaWYKKwogYm9vbCBFdmVudDo6ZnJvbVVzZXJHZXN0dXJl
KCkKIHsKICAgICBpZiAoIVVzZXJHZXN0dXJlSW5kaWNhdG9yOjpwcm9jZXNzaW5nVXNlckdlc3R1
cmUoKSkKQEAgLTIzNyw2ICsyNDQsMTIgQEAgYm9vbCBFdmVudDo6ZnJvbVVzZXJHZXN0dXJlKCkK
ICAgICAgICAgfHwgdHlwZSA9PSBldmVudE5hbWVzKCkudG91Y2hzdGFydEV2ZW50IHx8IHR5cGUg
PT0gZXZlbnROYW1lcygpLnRvdWNobW92ZUV2ZW50CiAgICAgICAgIHx8IHR5cGUgPT0gZXZlbnRO
YW1lcygpLnRvdWNoZW5kRXZlbnQgfHwgdHlwZSA9PSBldmVudE5hbWVzKCkudG91Y2hjYW5jZWxF
dmVudAogI2VuZGlmCisjaWYgRU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMpCisgICAgICAg
IC8vIHRyYW5zZm9ybWFjdGlvbiBldmVudHMKKyAgICAgICAgfHwgdHlwZSA9PSBldmVudE5hbWVz
KCkudHJhbnNmb3JtYWN0aW9uc3RhcnRFdmVudAorICAgICAgICB8fCB0eXBlID09IGV2ZW50TmFt
ZXMoKS50cmFuc2Zvcm1hY3Rpb251cGRhdGVFdmVudAorICAgICAgICB8fCB0eXBlID09IGV2ZW50
TmFtZXMoKS50cmFuc2Zvcm1hY3Rpb25lbmRFdmVudAorI2VuZGlmCiAgICAgICAgIC8vIG90aGVy
IGFjY2VwdGVkIGV2ZW50cwogICAgICAgICB8fCB0eXBlID09IGV2ZW50TmFtZXMoKS5zZWxlY3RF
dmVudCB8fCB0eXBlID09IGV2ZW50TmFtZXMoKS5jaGFuZ2VFdmVudAogICAgICAgICB8fCB0eXBl
ID09IGV2ZW50TmFtZXMoKS5mb2N1c0V2ZW50IHx8IHR5cGUgPT0gZXZlbnROYW1lcygpLmJsdXJF
dmVudApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnQuaCBiL1dlYkNvcmUvZG9tL0V2ZW50
LmgKaW5kZXggMmI1NzBkNS4uMmMzMjU1NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnQu
aAorKysgYi9XZWJDb3JlL2RvbS9FdmVudC5oCkBAIC0xNDIsNiArMTQyLDkgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAgICAgICAgIHZpcnR1
YWwgYm9vbCBpc0RldmljZU9yaWVudGF0aW9uRXZlbnQoKSBjb25zdDsKICNlbmRpZgorI2lmIEVO
QUJMRShUUkFOU0ZPUk1BQ1RJT05fRVZFTlRTKQorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNUcmFu
c2Zvcm1BY3Rpb25FdmVudCgpIGNvbnN0OworI2VuZGlmCiAgICAgICAgIGJvb2wgZnJvbVVzZXJH
ZXN0dXJlKCk7CiAgICAgICAgIAogICAgICAgICBib29sIHByb3BhZ2F0aW9uU3RvcHBlZCgpIGNv
bnN0IHsgcmV0dXJuIG1fcHJvcGFnYXRpb25TdG9wcGVkIHx8IG1faW1tZWRpYXRlUHJvcGFnYXRp
b25TdG9wcGVkOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmggYi9XZWJD
b3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggNmNjZWNlZi4uYmEyZDhlMyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaApA
QCAtMTU0LDYgKzE1NCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8odG91Y2hl
bmQpIFwKICAgICBtYWNybyh0b3VjaGNhbmNlbCkgXAogICAgIFwKKyAgICBtYWNybyh0cmFuc2Zv
cm1hY3Rpb25zdGFydCkgXAorICAgIG1hY3JvKHRyYW5zZm9ybWFjdGlvbnVwZGF0ZSkgXAorICAg
IG1hY3JvKHRyYW5zZm9ybWFjdGlvbmVuZCkgXAorICAgIFwKICAgICBtYWNybyhzdWNjZXNzKSBc
CiAgICAgXAogICAgIG1hY3JvKGxvYWRlbmQpIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9I
VE1MQXR0cmlidXRlTmFtZXMuaW4gYi9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmlu
CmluZGV4IDdjZGUzMmYuLjExMTA5MjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MQXR0
cmlidXRlTmFtZXMuaW4KKysrIGIvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgpA
QCAtMjEyLDYgKzIxMiw5IEBAIG9udG91Y2hzdGFydAogb250b3VjaG1vdmUKIG9udG91Y2hlbmQK
IG9udG91Y2hjYW5jZWwKK29udHJhbnNmb3JtYWN0aW9uc3RhcnQKK29udHJhbnNmb3JtYWN0aW9u
dXBkYXRlCitvbnRyYW5zZm9ybWFjdGlvbmVuZAogb251bmxvYWQKIG9udm9sdW1lY2hhbmdlCiBv
bndhaXRpbmcKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAgYi9XZWJD
b3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCmluZGV4IGQ5NWEyMzYuLjgzN2JiNzAgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxF
bGVtZW50LmNwcApAQCAtMjY0LDYgKzI2NCwxMiBAQCB2b2lkIEhUTUxFbGVtZW50OjpwYXJzZU1h
cHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqIGF0dHIpCiAgICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50
TGlzdGVuZXIoZXZlbnROYW1lcygpLnRvdWNoZW5kRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50
TGlzdGVuZXIodGhpcywgYXR0cikpOwogICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG9u
dG91Y2hjYW5jZWxBdHRyKSB7CiAgICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZl
bnROYW1lcygpLnRvdWNoY2FuY2VsRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIo
dGhpcywgYXR0cikpOworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG9udHJhbnNmb3Jt
YWN0aW9uc3RhcnRBdHRyKSB7CisgICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZl
bnROYW1lcygpLnRyYW5zZm9ybWFjdGlvbnN0YXJ0RXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50
TGlzdGVuZXIodGhpcywgYXR0cikpOworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG9u
dHJhbnNmb3JtYWN0aW9udXBkYXRlQXR0cikgeworICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExp
c3RlbmVyKGV2ZW50TmFtZXMoKS50cmFuc2Zvcm1hY3Rpb251cGRhdGVFdmVudCwgY3JlYXRlQXR0
cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRyKSk7CisgICAgfSBlbHNlIGlmIChhdHRyLT5u
YW1lKCkgPT0gb250cmFuc2Zvcm1hY3Rpb25lbmRBdHRyKSB7CisgICAgICAgIHNldEF0dHJpYnV0
ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLnRyYW5zZm9ybWFjdGlvbmVuZEV2ZW50LCBjcmVh
dGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0dHIpKTsKICAgICB9CiB9CiAKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
aAppbmRleCBhMWY0MGE4Li5kYjhjNDVmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmgKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCkBAIC0zNDAsNiArMzQwLDExIEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNU
RU5FUih0b3VjaGVuZCk7CiAgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
dG91Y2hjYW5jZWwpOwogI2VuZGlmCisjaWYgRU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMp
CisgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodHJhbnNmb3JtYWN0aW9u
c3RhcnQpOworICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHRyYW5zZm9y
bWFjdGlvbnVwZGF0ZSk7CisgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
dHJhbnNmb3JtYWN0aW9uZW5kKTsKKyNlbmRpZgogICAgICAgICB2b2lkIGNhcHR1cmVFdmVudHMo
KTsKICAgICAgICAgdm9pZCByZWxlYXNlRXZlbnRzKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuaWRsIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggYjQ3
NjUxNC4uODhmZTlmOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysr
IGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTI5OSw2ICsyOTksMTAgQEAgbW9kdWxl
IHdpbmRvdyB7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9VE9VQ0hfRVZFTlRTLEVu
YWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250b3VjaGVuZDsKICAgICAgICAgYXR0cmli
dXRlIFtDb25kaXRpb25hbD1UT1VDSF9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0
ZW5lciBvbnRvdWNoY2FuY2VsOwogCisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9VFJB
TlNGT1JNQUNUSU9OX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9udHJh
bnNmb3JtYWN0aW9uc3RhcnQ7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9VFJBTlNG
T1JNQUNUSU9OX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9udHJhbnNm
b3JtYWN0aW9udXBkYXRlOworICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVRSQU5TRk9S
TUFDVElPTl9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRyYW5zZm9y
bWFjdGlvbmVuZDsKKwogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPURFVklDRV9PUklF
TlRBVElPTl0gRXZlbnRMaXN0ZW5lciBvbmRldmljZW9yaWVudGF0aW9uOwogCiAgICAgICAgIC8v
IEV2ZW50VGFyZ2V0IGludGVyZmFjZQpAQCAtNzI4LDcgKzczMiw3IEBAIG1vZHVsZSB3aW5kb3cg
ewogI2VuZGlmCiAKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1UT1VDSF9FVkVOVFNd
IFRvdWNoRXZlbnRDb25zdHJ1Y3RvciBUb3VjaEV2ZW50OwotCisgICAgICAgIGF0dHJpYnV0ZSBb
Q29uZGl0aW9uYWw9VFJBTlNGT1JNQUNUSU9OX0VWRU5UU10gVHJhbnNmb3JtQWN0aW9uRXZlbnRD
b25zdHJ1Y3RvciBUcmFuc2Zvcm1BY3Rpb25FdmVudDsKICAgICAgICAgYXR0cmlidXRlIERPTUZv
cm1EYXRhQ29uc3RydWN0b3IgRm9ybURhdGE7CiAKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRp
b25hbD1GSUxFX1JFQURFUnxGSUxFX1dSSVRFUl0gRmlsZUVycm9yQ29uc3RydWN0b3IgRmlsZUVy
cm9yOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdHJhbnNmb3JtYWN0aW9u
L2NyZWF0ZS10cmFuc2Zvcm1hY3Rpb24tZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvdHJhbnNmb3JtYWN0aW9uL2NyZWF0ZS10cmFuc2Zvcm1hY3Rpb24tZXZlbnQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5NjVhNWYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90cmFuc2Zvcm1hY3Rp
b24vY3JlYXRlLXRyYW5zZm9ybWFjdGlvbi1ldmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2
IEBACitUaGlzIHRlc3RzIHdoZXRoZXIgdGhlIERPTSBjYW4gY3JlYXRlIFRyYW5zZm9ybUFjdGlv
bkV2ZW50cy4KK1BBU1MgZXZlbnQgaXMgbm9uLW51bGwuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvdHJhbnNmb3JtYWN0aW9uL2NyZWF0ZS10cmFuc2Zvcm1hY3Rpb24tZXZlbnQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9jcmVhdGUtdHJhbnNm
b3JtYWN0aW9uLWV2ZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
ZGY1N2UxYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RyYW5z
Zm9ybWFjdGlvbi9jcmVhdGUtdHJhbnNmb3JtYWN0aW9uLWV2ZW50Lmh0bWwKQEAgLTAsMCArMSwx
MyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3Vy
Y2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy9jcmVhdGUtdHJhbnNmb3JtYWN0aW9uLWV2ZW50LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RyYW5zZm9y
bWFjdGlvbi9yZXNvdXJjZXMvY3JlYXRlLXRyYW5zZm9ybWFjdGlvbi1ldmVudC5qcyBiL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9yZXNvdXJjZXMvY3JlYXRlLXRyYW5z
Zm9ybWFjdGlvbi1ldmVudC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5k
MjMwOGJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdHJhbnNm
b3JtYWN0aW9uL3Jlc291cmNlcy9jcmVhdGUtdHJhbnNmb3JtYWN0aW9uLWV2ZW50LmpzCkBAIC0w
LDAgKzEsMTcgQEAKK2Rlc2NyaXB0aW9uID0gIlRoaXMgdGVzdHMgd2hldGhlciB0aGUgRE9NIGNh
biBjcmVhdGUgVHJhbnNmb3JtQWN0aW9uRXZlbnRzLiI7CisKK2RlYnVnKGRlc2NyaXB0aW9uKTsK
KwordmFyIGV2ZW50ID0gbnVsbDsKKwordHJ5Cit7CisgICAgZXZlbnQgPSBkb2N1bWVudC5jcmVh
dGVFdmVudCgiVHJhbnNmb3JtQWN0aW9uRXZlbnQiKTsKKyAgICBzaG91bGRCZU5vbk51bGwoImV2
ZW50Iik7Cit9CitjYXRjaCAoZSkKK3sKKyAgICB0ZXN0RmFpbGVkKCJBbiBleGNlcHRpb24gd2Fz
IHRocm93bjogIiArIGUubWVzc2FnZSk7Cit9CisKK3N1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5jcHAgYi9XZWJD
b3JlL2RvbS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uZTc0NjY3YQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZG9tL1RyYW5z
Zm9ybUFjdGlvbkV2ZW50LmNwcApAQCAtMCwwICsxLDgwIEBACisvKgorICAgIENvcHlyaWdodCAo
QykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKwor
ICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKKyAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYworICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAg
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0
bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VWRU5U
UykKKworI2luY2x1ZGUgIlRyYW5zZm9ybUFjdGlvbkV2ZW50LmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworVHJhbnNmb3JtQWN0aW9uRXZlbnQ6OlRyYW5zZm9ybUFjdGlvbkV2ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYgdHlwZSwKKyAgICBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxl
LCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywgaW50IHNjcmVlblgsCisgICAgaW50IHNj
cmVlblksIGludCBwYWdlWCwgaW50IHBhZ2VZLCBib29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LAor
ICAgIGJvb2wgc2hpZnRLZXksIGJvb2wgbWV0YUtleSwgaW50IHRyYW5zbGF0ZVgsIGludCB0cmFu
c2xhdGVZLAorICAgIGludCB0cmFuc2xhdGVTcGVlZFgsIGludCB0cmFuc2xhdGVTcGVlZFksIGZs
b2F0IHNjYWxlLCBmbG9hdCBzY2FsZVNwZWVkLAorICAgIGZsb2F0IHJvdGF0ZSwgZmxvYXQgcm90
YXRlU3BlZWQpCisgICAgOiBNb3VzZVJlbGF0ZWRFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNl
bGFibGUsIHZpZXcsIDAsIHNjcmVlblgsIHNjcmVlblksCisgICAgICAgICAgICAgICAgICAgICAg
ICBwYWdlWCwgcGFnZVksIGN0cmxLZXksIGFsdEtleSwgc2hpZnRLZXksIG1ldGFLZXkpCisgICAg
LCBtX3RyYW5zbGF0ZVgodHJhbnNsYXRlWCkKKyAgICAsIG1fdHJhbnNsYXRlWSh0cmFuc2xhdGVZ
KQorICAgICwgbV90cmFuc2xhdGVTcGVlZFgodHJhbnNsYXRlU3BlZWRYKQorICAgICwgbV90cmFu
c2xhdGVTcGVlZFkodHJhbnNsYXRlU3BlZWRZKQorICAgICwgbV9zY2FsZShzY2FsZSkKKyAgICAs
IG1fc2NhbGVTcGVlZChzY2FsZVNwZWVkKQorICAgICwgbV9yb3RhdGUocm90YXRlKQorICAgICwg
bV9yb3RhdGVTcGVlZChyb3RhdGVTcGVlZCkKK3sKK30KKwordm9pZCBUcmFuc2Zvcm1BY3Rpb25F
dmVudDo6aW5pdFRyYW5zZm9ybUFjdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwK
KyAgICBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0
Vmlldz4gdmlldywgaW50IHNjcmVlblgsCisgICAgaW50IHNjcmVlblksIGludCBjbGllbnRYLCBp
bnQgY2xpZW50WSwgYm9vbCBjdHJsS2V5LCBib29sIGFsdEtleSwKKyAgICBib29sIHNoaWZ0S2V5
LCBib29sIG1ldGFLZXksIGludCB0cmFuc2xhdGVYLCBpbnQgdHJhbnNsYXRlWSwKKyAgICBpbnQg
dHJhbnNsYXRlU3BlZWRYLCBpbnQgdHJhbnNsYXRlU3BlZWRZLCBmbG9hdCBzY2FsZSwgZmxvYXQg
c2NhbGVTcGVlZCwKKyAgICBmbG9hdCByb3RhdGUsIGZsb2F0IHJvdGF0ZVNwZWVkKQoreworICAg
IGlmIChkaXNwYXRjaGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGluaXRVSUV2ZW50KHR5
cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSwgdmlldywgMCk7CisKKyAgICBtX2N0cmxLZXkgPSBj
dHJsS2V5OworICAgIG1fYWx0S2V5ID0gYWx0S2V5OworICAgIG1fc2hpZnRLZXkgPSBzaGlmdEtl
eTsKKyAgICBtX21ldGFLZXkgPSBtZXRhS2V5OworCisgICAgbV9zY3JlZW5YID0gc2NyZWVuWDsK
KyAgICBtX3NjcmVlblkgPSBzY3JlZW5ZOworICAgIGluaXRDb29yZGluYXRlcyhjbGllbnRYLCBj
bGllbnRZKTsKKworICAgIG1fdHJhbnNsYXRlWCA9IHRyYW5zbGF0ZVg7CisgICAgbV90cmFuc2xh
dGVZID0gdHJhbnNsYXRlWTsKKyAgICBtX3RyYW5zbGF0ZVNwZWVkWCA9IHRyYW5zbGF0ZVNwZWVk
WDsKKyAgICBtX3RyYW5zbGF0ZVNwZWVkWSA9IHRyYW5zbGF0ZVNwZWVkWTsKKyAgICBtX3NjYWxl
ID0gc2NhbGU7CisgICAgbV9zY2FsZVNwZWVkID0gc2NhbGVTcGVlZDsKKyAgICBtX3JvdGF0ZSA9
IHJvdGF0ZTsKKyAgICBtX3JvdGF0ZVNwZWVkID0gcm90YXRlU3BlZWQ7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShUUkFOU0ZPUk1BQ1RJT05fRVZFTlRT
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vVHJhbnNmb3JtQWN0aW9uRXZlbnQuaCBiL1dlYkNv
cmUvZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uNzQzZjVkYgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZG9tL1RyYW5zZm9y
bUFjdGlvbkV2ZW50LmgKQEAgLTAsMCArMSw4OSBAQAorLyoKKyAgICBDb3B5cmlnaHQgKEMpIDIw
MTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisKKyAgICBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCisgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCisgICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuCisKKyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlz
IGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAg
ICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs
IEZpZnRoIEZsb29yLAorICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorKi8KKworI2lm
bmRlZiBUcmFuc2Zvcm1BY3Rpb25FdmVudF9oCisjZGVmaW5lIFRyYW5zZm9ybUFjdGlvbkV2ZW50
X2gKKworI2lmIEVOQUJMRShUUkFOU0ZPUk1BQ1RJT05fRVZFTlRTKQorCisjaW5jbHVkZSAiTW91
c2VSZWxhdGVkRXZlbnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBUcmFuc2Zv
cm1BY3Rpb25FdmVudCA6IHB1YmxpYyBNb3VzZVJlbGF0ZWRFdmVudCB7CitwdWJsaWM6CisgICAg
c3RhdGljIFBhc3NSZWZQdHI8VHJhbnNmb3JtQWN0aW9uRXZlbnQ+IGNyZWF0ZSgpCisgICAgewor
ICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFRyYW5zZm9ybUFjdGlvbkV2ZW50KTsKKyAgICB9
CisgICAgc3RhdGljIFBhc3NSZWZQdHI8VHJhbnNmb3JtQWN0aW9uRXZlbnQ+IGNyZWF0ZShjb25z
dCBBdG9taWNTdHJpbmcmIHR5cGUsCisgICAgICAgIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNl
bGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LAorICAgICAgICBpbnQgc2NyZWVu
WCwgaW50IHNjcmVlblksIGludCBwYWdlWCwgaW50IHBhZ2VZLCBib29sIGN0cmxLZXksCisgICAg
ICAgIGJvb2wgYWx0S2V5LCBib29sIHNoaWZ0S2V5LCBib29sIG1ldGFLZXksIGludCB0cmFuc2xh
dGVYLAorICAgICAgICBpbnQgdHJhbnNsYXRlWSwgaW50IHRyYW5zbGF0ZVNwZWVkWCwgaW50IHRy
YW5zbGF0ZVNwZWVkWSwgZmxvYXQgc2NhbGUsCisgICAgICAgIGZsb2F0IHNjYWxlU3BlZWQsIGZs
b2F0IHJvdGF0ZSwgZmxvYXQgcm90YXRlU3BlZWQpCisgICAgeworICAgICAgICByZXR1cm4gYWRv
cHRSZWYobmV3IFRyYW5zZm9ybUFjdGlvbkV2ZW50KHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJs
ZSwKKyAgICAgICAgICAgIHZpZXcsIHNjcmVlblgsIHNjcmVlblksIHBhZ2VYLCBwYWdlWSwgY3Ry
bEtleSwgYWx0S2V5LCBzaGlmdEtleSwKKyAgICAgICAgICAgIG1ldGFLZXksIHRyYW5zbGF0ZVgs
IHRyYW5zbGF0ZVksIHRyYW5zbGF0ZVNwZWVkWCwgdHJhbnNsYXRlU3BlZWRZLAorICAgICAgICAg
ICAgc2NhbGUsIHNjYWxlU3BlZWQsIHJvdGF0ZSwgcm90YXRlU3BlZWQpKTsKKyAgICB9CisKKyAg
ICB2b2lkIGluaXRUcmFuc2Zvcm1BY3Rpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUs
IGJvb2wgY2FuQnViYmxlLAorICAgICAgICBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJz
dHJhY3RWaWV3PiB2aWV3LCBpbnQgc2NyZWVuWCwKKyAgICAgICAgaW50IHNjcmVlblksIGludCBj
bGllbnRYLCBpbnQgY2xpZW50WSwgYm9vbCBjdHJsS2V5LCBib29sIGFsdEtleSwKKyAgICAgICAg
Ym9vbCBzaGlmdEtleSwgYm9vbCBtZXRhS2V5LCBpbnQgdHJhbnNsYXRlWCwgaW50IHRyYW5zbGF0
ZVksCisgICAgICAgIGludCB0cmFuc2xhdGVTcGVlZFgsIGludCB0cmFuc2xhdGVTcGVlZFksIGZs
b2F0IHNjYWxlLCBmbG9hdCBzY2FsZVNwZWVkLAorICAgICAgICBmbG9hdCByb3RhdGUsIGZsb2F0
IHJvdGF0ZVNwZWVkKTsKKworICAgIGludCB0cmFuc2xhdGVYKCkgY29uc3QgeyByZXR1cm4gbV90
cmFuc2xhdGVYOyB9CisgICAgaW50IHRyYW5zbGF0ZVkoKSBjb25zdCB7IHJldHVybiBtX3RyYW5z
bGF0ZVk7IH0KKyAgICBpbnQgdHJhbnNsYXRlU3BlZWRYKCkgY29uc3QgeyByZXR1cm4gbV90cmFu
c2xhdGVTcGVlZFg7IH0KKyAgICBpbnQgdHJhbnNsYXRlU3BlZWRZKCkgY29uc3QgeyByZXR1cm4g
bV90cmFuc2xhdGVTcGVlZFk7IH0KKyAgICBmbG9hdCBzY2FsZSgpIGNvbnN0IHsgcmV0dXJuIG1f
c2NhbGU7IH0KKyAgICBmbG9hdCBzY2FsZVNwZWVkKCkgY29uc3QgeyByZXR1cm4gbV9zY2FsZVNw
ZWVkOyB9CisgICAgZmxvYXQgcm90YXRlKCkgY29uc3QgeyByZXR1cm4gbV9yb3RhdGU7IH0KKyAg
ICBmbG9hdCByb3RhdGVTcGVlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcm90YXRlU3BlZWQ7IH0KKwor
cHJpdmF0ZToKKyAgICBUcmFuc2Zvcm1BY3Rpb25FdmVudCgpIHt9CisgICAgVHJhbnNmb3JtQWN0
aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwKKyAgICAg
ICAgYm9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywgaW50IHNj
cmVlblgsCisgICAgICAgIGludCBzY3JlZW5ZLCBpbnQgcGFnZVgsIGludCBwYWdlWSwgYm9vbCBj
dHJsS2V5LCBib29sIGFsdEtleSwKKyAgICAgICAgYm9vbCBzaGlmdEtleSwgYm9vbCBtZXRhS2V5
LCBpbnQgdHJhbnNsYXRlWCwgaW50IHRyYW5zbGF0ZVksCisgICAgICAgIGludCB0cmFuc2xhdGVT
cGVlZFgsIGludCB0cmFuc2xhdGVTcGVlZFksIGZsb2F0IHNjYWxlLCBmbG9hdCBzY2FsZVNwZWVk
LAorICAgICAgICBmbG9hdCByb3RhdGUsIGZsb2F0IHJvdGF0ZVNwZWVkKTsKKworICAgIHZpcnR1
YWwgYm9vbCBpc1RyYW5zZm9ybUFjdGlvbkV2ZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQor
CisgICAgaW50IG1fdHJhbnNsYXRlWDsKKyAgICBpbnQgbV90cmFuc2xhdGVZOworICAgIGludCBt
X3RyYW5zbGF0ZVNwZWVkWDsKKyAgICBpbnQgbV90cmFuc2xhdGVTcGVlZFk7CisgICAgZmxvYXQg
bV9zY2FsZTsKKyAgICBmbG9hdCBtX3NjYWxlU3BlZWQ7CisgICAgZmxvYXQgbV9yb3RhdGU7Cisg
ICAgZmxvYXQgbV9yb3RhdGVTcGVlZDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShUUkFOU0ZPUk1BQ1RJT05fRVZFTlRTKQorCisjZW5kaWYgLy8gVHJh
bnNmb3JtQWN0aW9uRXZlbnRfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vVHJhbnNmb3JtQWN0
aW9uRXZlbnQuaWRsIGIvV2ViQ29yZS9kb20vVHJhbnNmb3JtQWN0aW9uRXZlbnQuaWRsCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiMjEzYjEKLS0tIC9kZXYvbnVsbAorKysg
Yi9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5pZGwKQEAgLTAsMCArMSw2NiBAQAor
LyoKKyAgICBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBz
dWJzaWRpYXJ5KC1pZXMpCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNlIGFzIHB1Ymxp
c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgICB2ZXJzaW9u
IDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
CisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICAgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlCisgICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJ
Qi4gIElmIG5vdCwgd3JpdGUgdG8KKyAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICAgIEJvc3RvbiwgTUEgMDIx
MTAtMTMwMSwgVVNBLgorKi8KKworbW9kdWxlIGV2ZW50cyB7CisKKyAgICBpbnRlcmZhY2UgWwor
ICAgICAgICBDb25kaXRpb25hbD1UUkFOU0ZPUk1BQ1RJT05fRVZFTlRTCisgICAgXSBUcmFuc2Zv
cm1BY3Rpb25FdmVudCA6IFVJRXZlbnQgeworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9u
ZyBzY3JlZW5YOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBzY3JlZW5ZOworICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBjbGllbnRYOworICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgbG9uZyBjbGllbnRZOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBv
ZmZzZXRYOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBvZmZzZXRZOworICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBjdHJsS2V5OworICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgYm9vbGVhbiBhbHRLZXk7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29s
ZWFuIHNoaWZ0S2V5OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBtZXRhS2V5
OworCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHRyYW5zbGF0ZVg7CisgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHRyYW5zbGF0ZVk7CisgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBsb25nIHRyYW5zbGF0ZVNwZWVkWDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IGxvbmcgdHJhbnNsYXRlU3BlZWRZOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQg
c2NhbGU7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBzY2FsZVNwZWVkOworICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgcm90YXRlOworICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgZmxvYXQgcm90YXRlU3BlZWQ7CisKKyAgICAgICAgdm9pZCBpbml0VHJhbnNmb3Jt
QWN0aW9uRXZlbnQoaW4gRE9NU3RyaW5nIHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGluIGJvb2xlYW4gY2FuQnViYmxlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbiBib29sZWFuIGNhbmNlbGFibGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGluIERPTVdpbmRvdyB2aWV3LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbiBsb25nIHNjcmVlblgsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGluIGxvbmcgc2NyZWVuWSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW4gbG9uZyBjbGllbnRYLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbiBsb25nIGNsaWVudFksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gY3RybEtleSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiBhbHRLZXksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gc2hpZnRLZXksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gbWV0YUtleSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gbG9uZyB0cmFuc2xhdGVYLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBsb25nIHRyYW5zbGF0ZVksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGxvbmcgdHJhbnNsYXRlU3BlZWRYLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBsb25nIHRyYW5zbGF0ZVNw
ZWVkWSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gZmxvYXQgc2Nh
bGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGZsb2F0IHNjYWxl
U3BlZWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGZsb2F0IHJv
dGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gZmxvYXQgcm90
YXRlU3BlZWQpOworICAgfTsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>58935</attachid>
            <date>2010-06-16 14:11:52 -0700</date>
            <delta_ts>2010-06-20 22:47:20 -0700</delta_ts>
            <desc> TransformActionEvent patch #6</desc>
            <filename>transformaction6.patch</filename>
            <type>text/plain</type>
            <size>42481</size>
            <attacher name="Kim Grönholm">kim.1.gronholm</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyNzZlOWQyLi5hYjVlNWUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTAtMDYt
MTYgIEtpbSBHcsO2bmhvbG0gIDxraW0uMS5ncm9uaG9sbUBub2tpYS5jb20+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFRyYW5zZm9ybUFjdGlv
bkV2ZW50IHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTM5NzU3CisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy90cmFuc2Zvcm1hY3Rpb24vY3Jl
YXRlLXRyYW5zZm9ybWFjdGlvbi1ldmVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9jcmVhdGUtdHJhbnNmb3JtYWN0aW9uLWV2ZW50
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9yZXNv
dXJjZXMvY3JlYXRlLXRyYW5zZm9ybWFjdGlvbi1ldmVudC5qczogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBwZWQ6Cisg
ICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9x
dC9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL3F0L2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisKIDIwMTAtMDYtMTYgIEVyaWMgU2VpZGVs
ICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuICBEaXNhYmxpbmcgYSB0
ZXN0IHdoaWNoIGZhaWxzIG9uIFRpZ2VyIGZvciBwbGF0Zm9ybS1zcGVjaWZpYyBkZWNvZGluZyBy
ZWFzb25zLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAppbmRleCBlZTQ1MTQ4Li43MjFkZjNhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZApAQCAtNTkwNiw2ICs1OTA2LDkgQEAgZWRpdGluZy9z
cGVsbGluZy9jb250ZXh0LW1lbnUtc3VnZ2VzdGlvbnMuaHRtbAogIyBJbmRleGVkREIgaXMgbm90
IHlldCBlbmFibGVkLgogc3RvcmFnZS9pbmRleGVkZGIKIAorIyBUaGVzZSB0ZXN0cyByZXF1aXJl
IHRyYW5zZm9ybWFjdGlvbiBldmVudCBzdXBwb3J0CitmYXN0L2V2ZW50cy90cmFuc2Zvcm1hY3Rp
b24KKwogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDAxNTMKIGZh
c3QvZG9tL0dlb2xvY2F0aW9uL2NhbGxiYWNrLXRvLXJlbW90ZS1jb250ZXh0Lmh0bWwKIGZhc3Qv
ZG9tL0dlb2xvY2F0aW9uL2NhbGxiYWNrLXRvLXJlbW90ZS1jb250ZXh0Mi5odG1sCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9Ta2lwcGVkCmluZGV4IDQxMTE3MmIuLjFmY2IzNWIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9Ta2lwcGVkCkBAIC0xMDYsNiArMTA2LDkgQEAgbWVkaWEvbWVkaWEtY2FuLXBsYXktb2dnLmh0
bWwKICMgVGhlc2UgdGVzdHMgcmVxdWlyZSB0b3VjaCBzdXBwb3J0CiBmYXN0L2V2ZW50cy90b3Vj
aAogCisjIFRoZXNlIHRlc3RzIHJlcXVpcmUgdHJhbnNmb3JtYWN0aW9uIGV2ZW50IHN1cHBvcnQK
K2Zhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbgorCiAjIFNraXBwZWQgdW50aWwgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzOTIzIGlzIHJlc29sdmVkLgogcGxhdGZv
cm0vbWFjL2FjY2Vzc2liaWxpdHkvY2hhbmdlLW5vdGlmaWNhdGlvbi1vbi1zY3JvbGwuaHRtbAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9XaW5kb3cvd2lu
ZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFz
dC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAppbmRleCA1NDI0OTYw
Li5hMTM3MzNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9X
aW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3F0L2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQK
QEAgLTE4MzQsNiArMTgzNCw4IEBAIHdpbmRvdy5UZXh0TWV0cmljcyBbb2JqZWN0IFRleHRNZXRy
aWNzQ29uc3RydWN0b3JdCiB3aW5kb3cuVGV4dE1ldHJpY3MucHJvdG90eXBlIFtvYmplY3QgVGV4
dE1ldHJpY3NQcm90b3R5cGVdCiB3aW5kb3cuVG91Y2hFdmVudCBbb2JqZWN0IFRvdWNoRXZlbnRD
b25zdHJ1Y3Rvcl0KIHdpbmRvdy5Ub3VjaEV2ZW50LnByb3RvdHlwZSBbcHJpbnRlZCBhYm92ZSBh
cyB3aW5kb3cuRXZlbnQucHJvdG90eXBlXQord2luZG93LlRyYW5zZm9ybUFjdGlvbkV2ZW50IFtv
YmplY3QgVHJhbnNmb3JtQWN0aW9uRXZlbnRDb25zdHJ1Y3Rvcl0KK3dpbmRvdy5UcmFuc2Zvcm1B
Y3Rpb25FdmVudC5wcm90b3R5cGUgW3ByaW50ZWQgYWJvdmUgYXMgd2luZG93LkV2ZW50LnByb3Rv
dHlwZV0KIHdpbmRvdy5UeXBlRXJyb3IgW2Z1bmN0aW9uXQogd2luZG93LlVJRXZlbnQgW29iamVj
dCBVSUV2ZW50Q29uc3RydWN0b3JdCiB3aW5kb3cuVUlFdmVudC5wcm90b3R5cGUgW3ByaW50ZWQg
YWJvdmUgYXMgd2luZG93LkV2ZW50LnByb3RvdHlwZV0KQEAgLTIxNzIsNiArMjE3NCw5IEBAIHdp
bmRvdy5vbnRvdWNoY2FuY2VsIFtudWxsXQogd2luZG93Lm9udG91Y2hlbmQgW251bGxdCiB3aW5k
b3cub250b3VjaG1vdmUgW251bGxdCiB3aW5kb3cub250b3VjaHN0YXJ0IFtudWxsXQord2luZG93
Lm9udHJhbnNmb3JtYWN0aW9uZW5kIFtudWxsXQord2luZG93Lm9udHJhbnNmb3JtYWN0aW9uc3Rh
cnQgW251bGxdCit3aW5kb3cub250cmFuc2Zvcm1hY3Rpb251cGRhdGUgW251bGxdCiB3aW5kb3cu
b251bmxvYWQgW251bGxdCiB3aW5kb3cub252b2x1bWVjaGFuZ2UgW251bGxdCiB3aW5kb3cub253
YWl0aW5nIFtudWxsXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9k
b20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnR5LWRlc2Ny
aXB0b3JzLWV4cGVjdGVkLnR4dAppbmRleCBmOWFlNDg2Li4wYjNiZWZkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnR5LWRl
c2NyaXB0b3JzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0
L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dApAQCAt
Mjg0LDYgKzI4NCw3IEBAIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3Iod2luZG93LCAnVGV4dCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ1RleHRFdmVudCcpIGlzICdvYmplY3QnCiBQQVNT
IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ1RleHRNZXRy
aWNzJykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3Iod2luZG93LCAnVG91Y2hFdmVudCcpIGlzICdvYmplY3QnCitQQVNTIHR5cGVvZiBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ1RyYW5zZm9ybUFjdGlvbkV2ZW50
JykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3Iod2luZG93LCAnVHlwZUVycm9yJykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnVUlFdmVudCcpIGlzICdvYmplY3QnCiBQ
QVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ1VSSUVy
cm9yJykgaXMgJ29iamVjdCcKQEAgLTQxMiw2ICs0MTMsOSBAQCBQQVNTIHR5cGVvZiBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ29udG91Y2hjYW5jZWwnKSBpcyAnb2Jq
ZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3cs
ICdvbnRvdWNoZW5kJykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnb250b3VjaG1vdmUnKSBpcyAnb2JqZWN0JwogUEFTUyB0
eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdvbnRvdWNoc3Rh
cnQnKSBpcyAnb2JqZWN0JworUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcih3aW5kb3csICdvbnRyYW5zZm9ybWFjdGlvbmVuZCcpIGlzICdvYmplY3QnCitQQVNTIHR5
cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ29udHJhbnNmb3Jt
YWN0aW9uc3RhcnQnKSBpcyAnb2JqZWN0JworUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcih3aW5kb3csICdvbnRyYW5zZm9ybWFjdGlvbnVwZGF0ZScpIGlzICdvYmpl
Y3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywg
J29udW5sb2FkJykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3Iod2luZG93LCAnb252b2x1bWVjaGFuZ2UnKSBpcyAnb2JqZWN0JwogUEFTUyB0
eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdvbndhaXRpbmcn
KSBpcyAnb2JqZWN0JwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9k
b20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL3F0L2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKaW5kZXgg
NDhiYmQ3ZC4uYzdlOWY2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFz
dC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0
CkBAIC01MzksNiArNTM5LDggQEAgUEFTUyBpbm5lci5UZXh0TWV0cmljcy5pc0lubmVyIGlzIHRy
dWUKIFBBU1MgaW5uZXIuVGV4dE1ldHJpY3MuY29uc3RydWN0b3IuaXNJbm5lciBpcyB0cnVlCiBQ
QVNTIGlubmVyLlRvdWNoRXZlbnQuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLlRvdWNoRXZl
bnQuY29uc3RydWN0b3IuaXNJbm5lciBpcyB0cnVlCitQQVNTIGlubmVyLlRyYW5zZm9ybUFjdGlv
bkV2ZW50LmlzSW5uZXIgaXMgdHJ1ZQorUEFTUyBpbm5lci5UcmFuc2Zvcm1BY3Rpb25FdmVudC5j
b25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuVHlwZUVycm9yLmlzSW5uZXIg
aXMgdHJ1ZQogUEFTUyBpbm5lci5UeXBlRXJyb3IuY29uc3RydWN0b3IuaXNJbm5lciBpcyB0cnVl
CiBQQVNTIGlubmVyLlVJRXZlbnQuaXNJbm5lciBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4
cGVjdGVkLnR4dAppbmRleCAxZmQ5YTAzLi5lOWQ0MmQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1l
eHBlY3RlZC50eHQKQEAgLTI2Nyw2ICsyNjcsNyBAQCBQQVNTIFRleHQudG9TdHJpbmcoKSBpcyAn
W29iamVjdCBUZXh0Q29uc3RydWN0b3JdJwogUEFTUyBUZXh0RXZlbnQudG9TdHJpbmcoKSBpcyAn
W29iamVjdCBUZXh0RXZlbnRDb25zdHJ1Y3Rvcl0nCiBQQVNTIFRleHRNZXRyaWNzLnRvU3RyaW5n
KCkgaXMgJ1tvYmplY3QgVGV4dE1ldHJpY3NDb25zdHJ1Y3Rvcl0nCiBQQVNTIFRvdWNoRXZlbnQu
dG9TdHJpbmcoKSBpcyAnW29iamVjdCBUb3VjaEV2ZW50Q29uc3RydWN0b3JdJworUEFTUyBUcmFu
c2Zvcm1BY3Rpb25FdmVudC50b1N0cmluZygpIGlzICdbb2JqZWN0IFRyYW5zZm9ybUFjdGlvbkV2
ZW50Q29uc3RydWN0b3JdJwogUEFTUyBVSUV2ZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgVUlF
dmVudENvbnN0cnVjdG9yXScKIFBBU1MgV2ViS2l0QW5pbWF0aW9uRXZlbnQudG9TdHJpbmcoKSBp
cyAnW29iamVjdCBXZWJLaXRBbmltYXRpb25FdmVudENvbnN0cnVjdG9yXScKIFBBU1MgV2ViS2l0
Q1NTS2V5ZnJhbWVSdWxlLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgV2ViS2l0Q1NTS2V5ZnJhbWVS
dWxlQ29uc3RydWN0b3JdJwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Nr
aXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCA3ZmI5YWFkLi44
NDVlMjBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtNzQyLDYgKzc0Miw5IEBAIG1l
ZGlhL21lZGlhLWNhbi1wbGF5LW9nZy5odG1sCiAjIFRoZXNlIHRlc3RzIHJlcXVpcmUgdG91Y2gg
c3VwcG9ydAogZmFzdC9ldmVudHMvdG91Y2gKIAorIyBUaGVzZSB0ZXN0cyByZXF1aXJlIHRyYW5z
Zm9ybWFjdGlvbiBldmVudCBzdXBwb3J0CitmYXN0L2V2ZW50cy90cmFuc2Zvcm1hY3Rpb24KKwog
IyBYU1MgYXVkaXRvciB0ZXN0cyBpbnRlcm1pdHRlbnRseSB0aW1lIG91dCA8aHR0cDovL3dlYmtp
dC5vcmcvYi8zMjUyOD4KIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1nZXRTVkdEb2N1
bWVudC1pZnJhbWUuaHRtbAogaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELWdldFNWR0Rv
Y3VtZW50LW9iamVjdC5odG1sCmRpZmYgLS1naXQgYS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5q
c2NiaW5kaW5ncy5tayBiL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rCmlu
ZGV4IGE4YWM2MWMuLjEzNjg1MDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVk
LmpzY2JpbmRpbmdzLm1rCisrKyBiL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdz
Lm1rCkBAIC0xMzcsNiArMTM3LDcgQEAgR0VOIDo9IFwKICAgICAkKGludGVybWVkaWF0ZXMpL2Rv
bS9KU1RvdWNoLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvZG9tL0pTVG91Y2hFdmVudC5oIFwK
ICAgICAkKGludGVybWVkaWF0ZXMpL2RvbS9KU1RvdWNoTGlzdC5oIFwKKyAgICAkKGludGVybWVk
aWF0ZXMpL2RvbS9KU1RyYW5zZm9ybUFjdGlvbkV2ZW50LmggXAogICAgICQoaW50ZXJtZWRpYXRl
cykvZG9tL0pTVHJlZVdhbGtlci5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2RvbS9KU1VJRXZl
bnQuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9kb20vSlNXZWJLaXRBbmltYXRpb25FdmVudC5o
IFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsgYi9X
ZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rCmluZGV4IGRkNWYzMDUuLmRlMjY3
YjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsKKysr
IGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tawpAQCAtMTE5LDYgKzExOSw3
IEBAIEdFTiA6PSBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOFRvdWNoLmggXAog
ICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhUb3VjaEV2ZW50LmggXAogICAgICQoaW50
ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhUb3VjaExpc3QuaCBcCisgICAgJChpbnRlcm1lZGlhdGVz
KS9iaW5kaW5ncy9WOFRyYW5zZm9ybUFjdGlvbkV2ZW50LmggXAogICAgICQoaW50ZXJtZWRpYXRl
cykvYmluZGluZ3MvVjhUcmVlV2Fsa2VyLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGlu
Z3MvVjhVSUV2ZW50LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhXZWJLaXRB
bmltYXRpb25FdmVudC5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5tayBiL1dlYkNv
cmUvQW5kcm9pZC5tawppbmRleCAzNmMxNzk5Li5mYmIyMGFhIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L0FuZHJvaWQubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLm1rCkBAIC0xNzEsNiArMTcxLDcgQEAg
TE9DQUxfU1JDX0ZJTEVTIDo9ICQoTE9DQUxfU1JDX0ZJTEVTKSBcCiAJZG9tL1RvdWNoLmNwcCBc
CiAJZG9tL1RvdWNoRXZlbnQuY3BwIFwKIAlkb20vVG91Y2hMaXN0LmNwcCBcCisJZG9tL1RyYW5z
Zm9ybUFjdGlvbkV2ZW50LmNwcCBcCiAJZG9tL1RyYXZlcnNhbC5jcHAgXAogCWRvbS9UcmVlV2Fs
a2VyLmNwcCBcCiAJZG9tL1VJRXZlbnQuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDlmMjdmNTIuLmRiNjllZjMg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dApAQCAtMTc1LDYgKzE3NSw3IEBAIFNFVChXZWJDb3JlX0lETF9GSUxFUwogICAgIGRv
bS9Ub3VjaEV2ZW50LmlkbAogICAgIGRvbS9Ub3VjaC5pZGwKICAgICBkb20vVG91Y2hMaXN0Lmlk
bAorICAgIGRvbS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5pZGwKICAgICBkb20vVHJlZVdhbGtlci5p
ZGwKICAgICBkb20vVUlFdmVudC5pZGwKICAgICBkb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuaWRs
CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGJkMWQxMjguLjU3NTk3NjcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzMgQEAKKzIwMTAtMDYtMTYgIEtpbSBHcsO2bmhv
bG0gIDxraW0uMS5ncm9uaG9sbUBub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFRyYW5zZm9ybUFjdGlvbkV2ZW50IHN1cHBvcnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5NzU3CisK
KyAgICAgICAgQWRkZWQgb25seSB0aGUgbmVjZXNzYXJ5IFRyYW5zZm9ybUFjdGlvbiBldmVudCBp
bnRlcmZhY2VzIGFuZCBub3QgZS5nLgorICAgICAgICBhbnkgZXZlbnRoYW5kbGVyIGhvb2tzIHRo
YXQgZ2VuZXJhdGUgYW5kIGRpc3BhdGNoIHRoZW0uCisKKyAgICAgICAgTmV3IHRlc3Q6IGZhc3Qv
ZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9jcmVhdGUtdHJhbnNmb3JtYWN0aW9uLWV2ZW50Lmh0bWwK
KyAgICAgICAgTW9yZSB0ZXN0cyB3aWxsIGJlIGFkZGVkIHdpdGggdGhlIG1hY2hpbmVyeSB0aGF0
IGdlbmVyYXRlcyBhbmQKKyAgICAgICAgZGlzcGF0Y2hlcyB0aGVzZSBldmVudHMuCisKKyAgICAg
ICAgKiBBbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWs6CisgICAgICAgICogQW5kcm9pZC5k
ZXJpdmVkLnY4YmluZGluZ3MubWs6CisgICAgICAgICogQW5kcm9pZC5tazoKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAg
KiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcmk6CisgICAgICAgICogV2ViQ29y
ZS5wcm86CisgICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVz
LmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnRyYW5zZm9ybWFj
dGlvbkVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2V0VHJhbnNmb3JtQWN0aW9uRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpvbnRyYW5zZm9ybWFjdGlvbnN0YXJ0RW5hYmxlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpvbnRyYW5zZm9ybWFjdGlvbnVwZGF0ZUVu
YWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6b250cmFu
c2Zvcm1hY3Rpb25lbmRFbmFibGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50Q3Vz
dG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOEV2ZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvVjgpOgorICAg
ICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Y3Jl
YXRlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmFkZExpc3RlbmVyVHlwZUlm
TmVlZGVkKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50OjopOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5pZGw6CisgICAgICAgICogZG9tL0Vs
ZW1lbnQuaDoKKyAgICAgICAgKiBkb20vRWxlbWVudC5pZGw6CisgICAgICAgICogZG9tL0V2ZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50Ojppc1RyYW5zZm9ybUFjdGlvbkV2ZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OkV2ZW50Ojpmcm9tVXNlckdlc3R1cmUpOgorICAgICAgICAqIGRv
bS9FdmVudC5oOgorICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmg6CisgICAgICAgICogZG9tL1Ry
YW5zZm9ybUFjdGlvbkV2ZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zv
cm1BY3Rpb25FdmVudDo6VHJhbnNmb3JtQWN0aW9uRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6
VHJhbnNmb3JtQWN0aW9uRXZlbnQ6OmluaXRUcmFuc2Zvcm1BY3Rpb25FdmVudCk6CisgICAgICAg
ICogZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
VHJhbnNmb3JtQWN0aW9uRXZlbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zv
cm1BY3Rpb25FdmVudDo6dHJhbnNsYXRlWCk6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1B
Y3Rpb25FdmVudDo6dHJhbnNsYXRlWSk6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1BY3Rp
b25FdmVudDo6dHJhbnNsYXRlU3BlZWRYKToKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9ybUFj
dGlvbkV2ZW50Ojp0cmFuc2xhdGVTcGVlZFkpOgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNmb3Jt
QWN0aW9uRXZlbnQ6OnNjYWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9ybUFjdGlvbkV2
ZW50OjpzY2FsZVNwZWVkKToKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9ybUFjdGlvbkV2ZW50
Ojpyb3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNmb3JtQWN0aW9uRXZlbnQ6OnJvdGF0
ZVNwZWVkKToKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9ybUFjdGlvbkV2ZW50OjpUcmFuc2Zv
cm1BY3Rpb25FdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1BY3Rpb25FdmVudDo6
aXNUcmFuc2Zvcm1BY3Rpb25FdmVudCk6CisgICAgICAgICogZG9tL1RyYW5zZm9ybUFjdGlvbkV2
ZW50LmlkbDogQWRkZWQuCisgICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW46Cisg
ICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRWxl
bWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmg6
CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorCiAyMDEwLTA2LTE2ICBCcmFkeSBFaWRz
b24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKEJ1
aWxkIGZpeCBmb3IgTWFjKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAg
Yi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCA3YWMzZTUxLi4xNjZjMTNhIDEwMDY0
NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAorKysgYi9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLmNwcApAQCAtMzc2LDYgKzM3Niw3IEBACiAjaW5jbHVkZSAiSlNUb3VjaC5jcHAiCiAj
aW5jbHVkZSAiSlNUb3VjaEV2ZW50LmNwcCIKICNpbmNsdWRlICJKU1RvdWNoTGlzdC5jcHAiCisj
aW5jbHVkZSAiSlNUcmFuc2Zvcm1BY3Rpb25FdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNUcmVlV2Fs
a2VyLmNwcCIKICNpbmNsdWRlICJKU1VJRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTVmFsaWRpdHlT
dGF0ZS5jcHAiCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggN2VjOTE1Zi4uNDE0OTIxYyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQpAQCAtNDMzLDYgKzQzMyw3IEBAIERPTV9DTEFTU0VTID0gXAogICAgIFRvdWNoIFwK
ICAgICBUb3VjaEV2ZW50IFwKICAgICBUb3VjaExpc3QgXAorICAgIFRyYW5zZm9ybUFjdGlvbkV2
ZW50IFwKICAgICBUcmVlV2Fsa2VyIFwKICAgICBVSUV2ZW50IFwKICAgICBWYWxpZGl0eVN0YXRl
IFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCmluZGV4IDQ5YTFjOGIuLjY5MTkzY2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFr
ZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTc0LDYgKzE3NCw3IEBA
IElETF9CSU5ESU5HUyArPSBcCiAJV2ViQ29yZS9kb20vVG91Y2guaWRsIFwKIAlXZWJDb3JlL2Rv
bS9Ub3VjaEV2ZW50LmlkbCBcCiAJV2ViQ29yZS9kb20vVG91Y2hMaXN0LmlkbCBcCisJV2ViQ29y
ZS9kb20vVHJhbnNmb3JtQWN0aW9uRXZlbnQuaWRsIFwKIAlXZWJDb3JlL2RvbS9UcmVlV2Fsa2Vy
LmlkbCBcCiAJV2ViQ29yZS9kb20vVUlFdmVudC5pZGwgXAogCVdlYkNvcmUvZG9tL1dlYktpdEFu
aW1hdGlvbkV2ZW50LmlkbCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dl
YkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDBjMGY1ODAuLmFkNWJhNjUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC03Nyw2ICs3
Nyw3IEBACiAgICAgICAgICAgICAnZG9tL1RvdWNoLmlkbCcsCiAgICAgICAgICAgICAnZG9tL1Rv
dWNoRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vVG91Y2hMaXN0LmlkbCcsCisgICAgICAg
ICAgICAnZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL1Ry
ZWVXYWxrZXIuaWRsJywKICAgICAgICAgICAgICdkb20vVUlFdmVudC5pZGwnLAogICAgICAgICAg
ICAgJ2RvbS9XZWJLaXRBbmltYXRpb25FdmVudC5pZGwnLApAQCAtMTIyOCw2ICsxMjI5LDggQEAK
ICAgICAgICAgICAgICdkb20vVG91Y2hMaXN0LmNwcCcsCiAgICAgICAgICAgICAnZG9tL1RvdWNo
TGlzdC5oJywKICAgICAgICAgICAgICdkb20vRG9jdW1lbnRQYXJzZXIuaCcsCisgICAgICAgICAg
ICAnZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50LmNwcCcsCisgICAgICAgICAgICAnZG9tL1RyYW5z
Zm9ybUFjdGlvbkV2ZW50LmgnLAogICAgICAgICAgICAgJ2RvbS9UcmFuc2Zvcm1Tb3VyY2VMaWJ4
c2x0LmNwcCcsCiAgICAgICAgICAgICAnZG9tL1RyYW5zZm9ybVNvdXJjZS5oJywKICAgICAgICAg
ICAgICdkb20vVHJhdmVyc2FsLmNwcCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJp
IGIvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRleCBmNGFiYzI3Li5hYzUwMTA0IDEwMDY0NAotLS0g
YS9XZWJDb3JlL1dlYkNvcmUucHJpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKQEAgLTEzMSw4
ICsxMzEsMTEgQEAgZ3JlYXRlclRoYW4oUVRfTUlOT1JfVkVSU0lPTiwgNSkgewogICAgIH0KIH0K
IAotIyBFbmFibGUgdG91Y2ggZXZlbnQgc3VwcG9ydCB3aXRoIFF0IDQuNgotIWxlc3NUaGFuKFFU
X01JTk9SX1ZFUlNJT04sIDYpOiBERUZJTkVTICs9IEVOQUJMRV9UT1VDSF9FVkVOVFM9MQorIyBF
bmFibGUgdG91Y2ggc3VwcG9ydCB3aXRoIFF0IDQuNgorIWxlc3NUaGFuKFFUX01JTk9SX1ZFUlNJ
T04sIDYpIHsKKyAgICBERUZJTkVTICs9IEVOQUJMRV9UT1VDSF9FVkVOVFM9MQorICAgIERFRklO
RVMgKz0gRU5BQkxFX1RSQU5TRk9STUFDVElPTl9FVkVOVFM9MQorfQogCiAjIFVzZWQgdG8gY29t
cHV0ZSBkZWZhdWx0cyBmb3IgdGhlIGJ1aWxkLXdlYmtpdCBzY3JpcHQKIENPTkZJRyhjb21wdXRl
X2RlZmF1bHRzKSB7CkBAIC0xNzMsNiArMTc2LDcgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxF
X0pBVkFTQ1JJUFRfREVCVUdHRVI9MSk6IEZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBUICs9IEUK
IGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlM9MSk6IEZF
QVRVUkVfREVGSU5FU19KQVZBU0NSSVBUICs9IEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElP
TlM9MQogY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1dFQl9TT0NLRVRTPTEpOiBGRUFUVVJFX0RF
RklORVNfSkFWQVNDUklQVCArPSBFTkFCTEVfV0VCX1NPQ0tFVFM9MQogY29udGFpbnMoREVGSU5F
UywgRU5BQkxFX1RPVUNIX0VWRU5UUz0xKTogRkVBVFVSRV9ERUZJTkVTX0pBVkFTQ1JJUFQgKz0g
RU5BQkxFX1RPVUNIX0VWRU5UUz0xCitjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVFJBTlNGT1JN
QUNUSU9OX0VWRU5UUz0xKTogRkVBVFVSRV9ERUZJTkVTX0pBVkFTQ1JJUFQgKz0gRU5BQkxFX1RS
QU5TRk9STUFDVElPTl9FVkVOVFM9MQogY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1RJTEVEX0JB
Q0tJTkdfU1RPUkU9MSk6IEZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBUICs9IEVOQUJMRV9USUxF
RF9CQUNLSU5HX1NUT1JFPTEKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9OT1RJRklDQVRJT05T
PTEpOiBGRUFUVVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBFTkFCTEVfTk9USUZJQ0FUSU9OUz0x
CiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfTUVURVJfVEFHPTEpOiBGRUFUVVJFX0RFRklORVNf
SkFWQVNDUklQVCArPSBFTkFCTEVfTUVURVJfVEFHPTEKQEAgLTMxMCw2ICszMTQsNyBAQCBJRExf
QklORElOR1MgKz0gXAogICAgIGRvbS9Ub3VjaC5pZGwgXAogICAgIGRvbS9Ub3VjaEV2ZW50Lmlk
bCBcCiAgICAgZG9tL1RvdWNoTGlzdC5pZGwgXAorICAgIGRvbS9UcmFuc2Zvcm1BY3Rpb25FdmVu
dC5pZGwgXAogICAgIGRvbS9UcmVlV2Fsa2VyLmlkbCBcCiAgICAgZG9tL1VJRXZlbnQuaWRsIFwK
ICAgICBkb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuaWRsIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
V2ViQ29yZS5wcm8gYi9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDc3Nzc5ODEuLjAzOGMxMDgg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBy
bwpAQCAtNTI0LDYgKzUyNCw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGRvbS9Ub3VjaC5jcHAgXAog
ICAgIGRvbS9Ub3VjaEV2ZW50LmNwcCBcCiAgICAgZG9tL1RvdWNoTGlzdC5jcHAgXAorICAgIGRv
bS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5jcHAgXAogICAgIGRvbS9UcmF2ZXJzYWwuY3BwIFwKICAg
ICBkb20vVHJlZVdhbGtlci5jcHAgXAogICAgIGRvbS9VSUV2ZW50LmNwcCBcCkBAIC0xMjU3LDYg
KzEyNTgsNyBAQCBIRUFERVJTICs9IFwKICAgICBkb20vVG91Y2guaCBcCiAgICAgZG9tL1RvdWNo
RXZlbnQuaCBcCiAgICAgZG9tL1RvdWNoTGlzdC5oIFwKKyAgICBkb20vVHJhbnNmb3JtQWN0aW9u
RXZlbnQuaCBcCiAgICAgZG9tL1RyYW5zZm9ybVNvdXJjZS5oIFwKICAgICBkb20vVHJhdmVyc2Fs
LmggXAogICAgIGRvbS9UcmVlRGVwdGhMaW1pdC5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmlu
ZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcCBiL1dlYkNvcmUvYmluZGlu
Z3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAppbmRleCBhM2U0ODhlLi44YWUx
MGUzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVk
RmVhdHVyZXMuY3BwCkBAIC00OCw2ICs0OCw3IEBAIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6aXNJbmRleGVkREJFbmFibGVkID0gZmFsc2U7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OmlzV2ViR0xFbmFibGVkID0gZmFsc2U7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OmlzUHVzaFN0YXRlRW5hYmxlZCA9IGZhbHNlOwogYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
Ojppc1RvdWNoRW5hYmxlZCA9IHRydWU7Citib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6Omlz
VHJhbnNmb3JtQWN0aW9uRW5hYmxlZCA9IHRydWU7CiAKICNpZiBFTkFCTEUoVklERU8pCiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVz
LmggYi9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCmlu
ZGV4IDJkNjJhMjcuLjA4ODdhNDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJp
Yy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmlj
L1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtMTEyLDYgKzExMiwxNCBAQCBwdWJsaWM6CiAg
ICAgc3RhdGljIGJvb2wgb250b3VjaGNhbmNlbEVuYWJsZWQoKSB7IHJldHVybiBpc1RvdWNoRW5h
YmxlZDsgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VWRU5UUykKKyAg
ICBzdGF0aWMgYm9vbCB0cmFuc2Zvcm1hY3Rpb25FbmFibGVkKCkgeyByZXR1cm4gaXNUcmFuc2Zv
cm1BY3Rpb25FbmFibGVkOyB9CisgICAgc3RhdGljIHZvaWQgc2V0VHJhbnNmb3JtQWN0aW9uRW5h
YmxlZChib29sIGlzRW5hYmxlZCkgeyBpc1RyYW5zZm9ybUFjdGlvbkVuYWJsZWQgPSBpc0VuYWJs
ZWQ7IH0KKyAgICBzdGF0aWMgYm9vbCBvbnRyYW5zZm9ybWFjdGlvbnN0YXJ0RW5hYmxlZCgpIHsg
cmV0dXJuIGlzVHJhbnNmb3JtQWN0aW9uRW5hYmxlZDsgfQorICAgIHN0YXRpYyBib29sIG9udHJh
bnNmb3JtYWN0aW9udXBkYXRlRW5hYmxlZCgpIHsgcmV0dXJuIGlzVHJhbnNmb3JtQWN0aW9uRW5h
YmxlZDsgfQorICAgIHN0YXRpYyBib29sIG9udHJhbnNmb3JtYWN0aW9uZW5kRW5hYmxlZCgpIHsg
cmV0dXJuIGlzVHJhbnNmb3JtQWN0aW9uRW5hYmxlZDsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAg
ICAgLy8gTmV2ZXIgaW5zdGFudGlhdGUuCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlcygpIHsg
fQpAQCAtMTI1LDYgKzEzMyw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGJvb2wgaXNXZWJHTEVu
YWJsZWQ7CiAgICAgc3RhdGljIGJvb2wgaXNQdXNoU3RhdGVFbmFibGVkOwogICAgIHN0YXRpYyBi
b29sIGlzVG91Y2hFbmFibGVkOworICAgIHN0YXRpYyBib29sIGlzVHJhbnNmb3JtQWN0aW9uRW5h
YmxlZDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZl
bnRDdXN0b20uY3BwCmluZGV4IGI2MTkwZmYuLjUxMzE4NzEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0V2ZW50Q3VzdG9tLmNwcApAQCAtODYsNiArODYsMTAgQEAKICNpbmNsdWRlICJKU1RvdWNoRXZl
bnQuaCIKICNpbmNsdWRlICJUb3VjaEV2ZW50LmgiCiAjZW5kaWYKKyNpZiBFTkFCTEUoVFJBTlNG
T1JNQUNUSU9OX0VWRU5UUykKKyNpbmNsdWRlICJKU1RyYW5zZm9ybUFjdGlvbkV2ZW50LmgiCisj
aW5jbHVkZSAiVHJhbnNmb3JtQWN0aW9uRXZlbnQuaCIKKyNlbmRpZgogCiAjaWYgRU5BQkxFKElO
REVYRURfREFUQUJBU0UpCiAjaW5jbHVkZSAiSURCRXJyb3JFdmVudC5oIgpAQCAtMTMzLDYgKzEz
NywxMCBAQCBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBFdmVudCogZXZlbnQpCiAgICAgICAgIGVsc2UgaWYgKGV2ZW50LT5pc1Rv
dWNoRXZlbnQoKSkKICAgICAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9XUkFQ
UEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgVG91Y2hFdmVudCwgZXZlbnQpOwogI2VuZGlmCisjaWYg
RU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMpCisgICAgICAgIGVsc2UgaWYgKGV2ZW50LT5p
c1RyYW5zZm9ybUFjdGlvbkV2ZW50KCkpCisgICAgICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RP
TV9PQkpFQ1RfV1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3QsIFRyYW5zZm9ybUFjdGlvbkV2ZW50
LCBldmVudCk7CisjZW5kaWYKICAgICAgICAgZWxzZQogICAgICAgICAgICAgd3JhcHBlciA9IENS
RUFURV9ET01fT0JKRUNUX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBVSUV2ZW50LCBldmVu
dCk7CiAgICAgfSBlbHNlIGlmIChldmVudC0+aXNNdXRhdGlvbkV2ZW50KCkpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50Q3VzdG9tLmNwcCBiL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20uY3BwCmluZGV4IGJjZTE1NjEuLjE1MmQ5
NmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20u
Y3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20uY3BwCkBA
IC01Niw2ICs1Niw3IEBACiAjaW5jbHVkZSAiVjhTdG9yYWdlRXZlbnQuaCIKICNpbmNsdWRlICJW
OFRleHRFdmVudC5oIgogI2luY2x1ZGUgIlY4VG91Y2hFdmVudC5oIgorI2luY2x1ZGUgIlY4VHJh
bnNmb3JtQWN0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJWOFVJRXZlbnQuaCIKICNpbmNsdWRlICJW
OFdlYktpdEFuaW1hdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiVjhXZWJLaXRUcmFuc2l0aW9uRXZl
bnQuaCIKQEAgLTExNyw2ICsxMTgsMTAgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoRXZl
bnQqIGltcGwpCiAgICAgICAgIGlmIChpbXBsLT5pc1RvdWNoRXZlbnQoKSkKICAgICAgICAgICAg
IHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PFRvdWNoRXZlbnQqPihpbXBsKSk7CiAjZW5kaWYKKyNp
ZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VWRU5UUykKKyAgICAgICAgaWYgKGltcGwtPmlzVHJh
bnNmb3JtQWN0aW9uRXZlbnQoKSkKKyAgICAgICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0
PFRyYW5zZm9ybUFjdGlvbkV2ZW50Kj4oaW1wbCkpOworI2VuZGlmCiAgICAgICAgIHJldHVybiB0
b1Y4KHN0YXRpY19jYXN0PFVJRXZlbnQqPihpbXBsKSk7CiAgICAgfQogICAgIGlmIChpbXBsLT5p
c011dGF0aW9uRXZlbnQoKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBi
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA4ZjkxNTcxLi41NmVmNzM2IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCkBAIC0xODEsNiArMTgxLDEwIEBACiAjaW5jbHVkZSAiVG91Y2hFdmVudC5oIgogI2VuZGlm
CiAKKyNpZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VWRU5UUykKKyNpbmNsdWRlICJUcmFuc2Zv
cm1BY3Rpb25FdmVudC5oIgorI2VuZGlmCisKICNpZiBFTkFCTEUoV01MKQogI2luY2x1ZGUgIldN
TERvY3VtZW50LmgiCiAjaW5jbHVkZSAiV01MRWxlbWVudC5oIgpAQCAtMzIxNiw2ICszMjIwLDE1
IEBAIFBhc3NSZWZQdHI8RXZlbnQ+IERvY3VtZW50OjpjcmVhdGVFdmVudChjb25zdCBTdHJpbmcm
IGV2ZW50VHlwZSwgRXhjZXB0aW9uQ29kZSYKICNlbmRpZgogICAgICAgICBldmVudCA9IFRvdWNo
RXZlbnQ6OmNyZWF0ZSgpOwogI2VuZGlmCisKKyNpZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VW
RU5UUykKKyNpZiBVU0UoVjgpCisgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09ICJUcmFuc2Zvcm1B
Y3Rpb25FdmVudCIgJiYgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6dHJhbnNmb3JtYWN0aW9uRW5h
YmxlZCgpKQorI2Vsc2UKKyAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gIlRyYW5zZm9ybUFjdGlv
bkV2ZW50IikKKyNlbmRpZgorICAgICAgICBldmVudCA9IFRyYW5zZm9ybUFjdGlvbkV2ZW50Ojpj
cmVhdGUoKTsKKyNlbmRpZgogICAgIGlmIChldmVudCkKICAgICAgICAgcmV0dXJuIGV2ZW50LnJl
bGVhc2UoKTsKIApAQCAtMzI2MSw2ICszMjc0LDEyIEBAIHZvaWQgRG9jdW1lbnQ6OmFkZExpc3Rl
bmVyVHlwZUlmTmVlZGVkKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlKQogICAgICAgICAg
ICAgcGFnZS0+Y2hyb21lKCktPmNsaWVudCgpLT5uZWVkVG91Y2hFdmVudHModHJ1ZSk7CiAgICAg
fQogI2VuZGlmCisjaWYgRU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMpCisgICAgZWxzZSBp
ZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS50cmFuc2Zvcm1hY3Rpb25zdGFydEV2ZW50Cisg
ICAgICAgICAgICAgfHwgZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS50cmFuc2Zvcm1hY3Rpb251
cGRhdGVFdmVudAorICAgICAgICAgICAgIHx8IGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkudHJh
bnNmb3JtYWN0aW9uZW5kRXZlbnQpCisgICAgICAgIGFkZExpc3RlbmVyVHlwZShUUkFOU0ZPUk1B
Q1RJT05fTElTVEVORVIpOworI2VuZGlmCiB9CiAKIENTU1N0eWxlRGVjbGFyYXRpb24qIERvY3Vt
ZW50OjpnZXRPdmVycmlkZVN0eWxlKEVsZW1lbnQqLCBjb25zdCBTdHJpbmcmKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXgg
YmMxMmRhMy4uZDBhMjMxNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysg
Yi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0yNzEsNiArMjcxLDExIEBAIHB1YmxpYzoKICAg
ICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHRvdWNoZW5kKTsKICAgICBERUZJTkVf
QVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHRvdWNoY2FuY2VsKTsKICNlbmRpZgorI2lmIEVOQUJM
RShUUkFOU0ZPUk1BQ1RJT05fRVZFTlRTKQorICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElT
VEVORVIodHJhbnNmb3JtYWN0aW9uc3RhcnQpOworICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIodHJhbnNmb3JtYWN0aW9udXBkYXRlKTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKHRyYW5zZm9ybWFjdGlvbmVuZCk7CisjZW5kaWYKIAogICAgIERvY3VtZW50
VHlwZSogZG9jdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fZG9jVHlwZS5nZXQoKTsgfQogCkBAIC02
NjAsNyArNjY1LDggQEAgcHVibGljOgogICAgICAgICBBTklNQVRJT05JVEVSQVRJT05fTElTVEVO
RVIgICAgICAgICAgPSAweDQwMCwKICAgICAgICAgVFJBTlNJVElPTkVORF9MSVNURU5FUiAgICAg
ICAgICAgICAgID0gMHg4MDAsCiAgICAgICAgIEJFRk9SRUxPQURfTElTVEVORVIgICAgICAgICAg
ICAgICAgICA9IDB4MTAwMCwKLSAgICAgICAgVE9VQ0hfTElTVEVORVIgICAgICAgICAgICAgICAg
ICAgICAgID0gMHgyMDAwCisgICAgICAgIFRPVUNIX0xJU1RFTkVSICAgICAgICAgICAgICAgICAg
ICAgICA9IDB4MjAwMCwKKyAgICAgICAgVFJBTlNGT1JNQUNUSU9OX0xJU1RFTkVSICAgICAgICAg
ICAgID0gMHg0MDAwCiAgICAgfTsKIAogICAgIGJvb2wgaGFzTGlzdGVuZXJUeXBlKExpc3RlbmVy
VHlwZSBsaXN0ZW5lclR5cGUpIGNvbnN0IHsgcmV0dXJuIChtX2xpc3RlbmVyVHlwZXMgJiBsaXN0
ZW5lclR5cGUpOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwgYi9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5pZGwKaW5kZXggOTU5OWQ3Ni4uYzBhY2Y1MSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbApA
QCAtMzEyLDYgKzMxMiw5IEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgYXR0cmlidXRlIFtEb250
RW51bSxDb25kaXRpb25hbD1UT1VDSF9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0
ZW5lciBvbnRvdWNobW92ZTsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSxDb25kaXRpb25h
bD1UT1VDSF9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRvdWNoZW5k
OwogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtLENvbmRpdGlvbmFsPVRPVUNIX0VWRU5UUyxF
bmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9udG91Y2hjYW5jZWw7CisgICAgICAgIGF0
dHJpYnV0ZSBbRG9udEVudW0sQ29uZGl0aW9uYWw9VFJBTlNGT1JNQUNUSU9OX0VWRU5UUyxFbmFi
bGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9udHJhbnNmb3JtYWN0aW9uc3RhcnQ7CisgICAg
ICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sQ29uZGl0aW9uYWw9VFJBTlNGT1JNQUNUSU9OX0VWRU5U
UyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9udHJhbnNmb3JtYWN0aW9udXBkYXRl
OworICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtLENvbmRpdGlvbmFsPVRSQU5TRk9STUFDVElP
Tl9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRyYW5zZm9ybWFjdGlv
bmVuZDsKICNlbmRpZgogCiAjaWYgZGVmaW5lZChMQU5HVUFHRV9DUFApICYmIExBTkdVQUdFX0NQ
UApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvV2ViQ29yZS9kb20vRWxlbWVu
dC5oCmluZGV4IGM2ZWViY2IuLjQ5ZDVhNjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0VsZW1l
bnQuaAorKysgYi9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTkzLDYgKzkzLDExIEBAIHB1Ymxp
YzoKICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHRvdWNoZW5kKTsKICAgICBE
RUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHRvdWNoY2FuY2VsKTsKICNlbmRpZgorI2lm
IEVOQUJMRShUUkFOU0ZPUk1BQ1RJT05fRVZFTlRTKQorICAgIERFRklORV9BVFRSSUJVVEVfRVZF
TlRfTElTVEVORVIodHJhbnNmb3JtYWN0aW9uc3RhcnQpOworICAgIERFRklORV9BVFRSSUJVVEVf
RVZFTlRfTElTVEVORVIodHJhbnNmb3JtYWN0aW9udXBkYXRlKTsKKyAgICBERUZJTkVfQVRUUklC
VVRFX0VWRU5UX0xJU1RFTkVSKHRyYW5zZm9ybWFjdGlvbmVuZCk7CisjZW5kaWYKIAogICAgIHZp
cnR1YWwgUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBjcmVhdGVDb250ZXh0dWFsRnJhZ21l
bnQoY29uc3QgU3RyaW5nJiwgRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uID0gRnJhZ21lbnRT
Y3JpcHRpbmdBbGxvd2VkKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwg
Yi9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbAppbmRleCA2YmIwNjg3Li5jODY4ODVkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbAorKysgYi9XZWJDb3JlL2RvbS9FbGVtZW50Lmlk
bApAQCAtMTk5LDYgKzE5OSw5IEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgYXR0cmlidXRlIFtE
b250RW51bSxDb25kaXRpb25hbD1UT1VDSF9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRM
aXN0ZW5lciBvbnRvdWNobW92ZTsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSxDb25kaXRp
b25hbD1UT1VDSF9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRvdWNo
ZW5kOwogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtLENvbmRpdGlvbmFsPVRPVUNIX0VWRU5U
UyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9udG91Y2hjYW5jZWw7CisgICAgICAg
IGF0dHJpYnV0ZSBbRG9udEVudW0sQ29uZGl0aW9uYWw9VFJBTlNGT1JNQUNUSU9OX0VWRU5UUyxF
bmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9udHJhbnNmb3JtYWN0aW9uc3RhcnQ7Cisg
ICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sQ29uZGl0aW9uYWw9VFJBTlNGT1JNQUNUSU9OX0VW
RU5UUyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9udHJhbnNmb3JtYWN0aW9udXBk
YXRlOworICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtLENvbmRpdGlvbmFsPVRSQU5TRk9STUFD
VElPTl9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRyYW5zZm9ybWFj
dGlvbmVuZDsKICNlbmRpZgogICAgIH07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50
LmNwcCBiL1dlYkNvcmUvZG9tL0V2ZW50LmNwcAppbmRleCA0ZWEzZTBjLi5iMTNjMjgxIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20vRXZlbnQuY3Bw
CkBAIC0yMTksNiArMjE5LDEzIEBAIGJvb2wgRXZlbnQ6OmlzRGV2aWNlT3JpZW50YXRpb25FdmVu
dCgpIGNvbnN0CiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShUUkFOU0ZPUk1BQ1RJT05fRVZFTlRT
KQorYm9vbCBFdmVudDo6aXNUcmFuc2Zvcm1BY3Rpb25FdmVudCgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGZhbHNlOworfQorI2VuZGlmCisKIGJvb2wgRXZlbnQ6OmZyb21Vc2VyR2VzdHVyZSgpCiB7
CiAgICAgaWYgKCFVc2VyR2VzdHVyZUluZGljYXRvcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkp
CkBAIC0yMzcsNiArMjQ0LDEyIEBAIGJvb2wgRXZlbnQ6OmZyb21Vc2VyR2VzdHVyZSgpCiAgICAg
ICAgIHx8IHR5cGUgPT0gZXZlbnROYW1lcygpLnRvdWNoc3RhcnRFdmVudCB8fCB0eXBlID09IGV2
ZW50TmFtZXMoKS50b3VjaG1vdmVFdmVudAogICAgICAgICB8fCB0eXBlID09IGV2ZW50TmFtZXMo
KS50b3VjaGVuZEV2ZW50IHx8IHR5cGUgPT0gZXZlbnROYW1lcygpLnRvdWNoY2FuY2VsRXZlbnQK
ICNlbmRpZgorI2lmIEVOQUJMRShUUkFOU0ZPUk1BQ1RJT05fRVZFTlRTKQorICAgICAgICAvLyB0
cmFuc2Zvcm1hY3Rpb24gZXZlbnRzCisgICAgICAgIHx8IHR5cGUgPT0gZXZlbnROYW1lcygpLnRy
YW5zZm9ybWFjdGlvbnN0YXJ0RXZlbnQKKyAgICAgICAgfHwgdHlwZSA9PSBldmVudE5hbWVzKCku
dHJhbnNmb3JtYWN0aW9udXBkYXRlRXZlbnQKKyAgICAgICAgfHwgdHlwZSA9PSBldmVudE5hbWVz
KCkudHJhbnNmb3JtYWN0aW9uZW5kRXZlbnQKKyNlbmRpZgogICAgICAgICAvLyBvdGhlciBhY2Nl
cHRlZCBldmVudHMKICAgICAgICAgfHwgdHlwZSA9PSBldmVudE5hbWVzKCkuc2VsZWN0RXZlbnQg
fHwgdHlwZSA9PSBldmVudE5hbWVzKCkuY2hhbmdlRXZlbnQKICAgICAgICAgfHwgdHlwZSA9PSBl
dmVudE5hbWVzKCkuZm9jdXNFdmVudCB8fCB0eXBlID09IGV2ZW50TmFtZXMoKS5ibHVyRXZlbnQK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50LmggYi9XZWJDb3JlL2RvbS9FdmVudC5oCmlu
ZGV4IDJiNTcwZDUuLjJjMzI1NTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0V2ZW50LmgKKysr
IGIvV2ViQ29yZS9kb20vRXZlbnQuaApAQCAtMTQyLDYgKzE0Miw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQogICAgICAgICB2aXJ0dWFsIGJv
b2wgaXNEZXZpY2VPcmllbnRhdGlvbkV2ZW50KCkgY29uc3Q7CiAjZW5kaWYKKyNpZiBFTkFCTEUo
VFJBTlNGT1JNQUNUSU9OX0VWRU5UUykKKyAgICAgICAgdmlydHVhbCBib29sIGlzVHJhbnNmb3Jt
QWN0aW9uRXZlbnQoKSBjb25zdDsKKyNlbmRpZgogICAgICAgICBib29sIGZyb21Vc2VyR2VzdHVy
ZSgpOwogICAgICAgICAKICAgICAgICAgYm9vbCBwcm9wYWdhdGlvblN0b3BwZWQoKSBjb25zdCB7
IHJldHVybiBtX3Byb3BhZ2F0aW9uU3RvcHBlZCB8fCBtX2ltbWVkaWF0ZVByb3BhZ2F0aW9uU3Rv
cHBlZDsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oIGIvV2ViQ29yZS9k
b20vRXZlbnROYW1lcy5oCmluZGV4IDZjY2VjZWYuLmJhMmQ4ZTMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvZG9tL0V2ZW50TmFtZXMuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTE1
NCw2ICsxNTQsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKHRvdWNoZW5kKSBc
CiAgICAgbWFjcm8odG91Y2hjYW5jZWwpIFwKICAgICBcCisgICAgbWFjcm8odHJhbnNmb3JtYWN0
aW9uc3RhcnQpIFwKKyAgICBtYWNybyh0cmFuc2Zvcm1hY3Rpb251cGRhdGUpIFwKKyAgICBtYWNy
byh0cmFuc2Zvcm1hY3Rpb25lbmQpIFwKKyAgICBcCiAgICAgbWFjcm8oc3VjY2VzcykgXAogICAg
IFwKICAgICBtYWNybyhsb2FkZW5kKSBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTEF0
dHJpYnV0ZU5hbWVzLmluIGIvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgppbmRl
eCA5MGIyNDlhLi45YWZmZDgxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0
ZU5hbWVzLmluCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KQEAgLTIx
Myw2ICsyMTMsOSBAQCBvbnRvdWNoc3RhcnQKIG9udG91Y2htb3ZlCiBvbnRvdWNoZW5kCiBvbnRv
dWNoY2FuY2VsCitvbnRyYW5zZm9ybWFjdGlvbnN0YXJ0CitvbnRyYW5zZm9ybWFjdGlvbnVwZGF0
ZQorb250cmFuc2Zvcm1hY3Rpb25lbmQKIG9udW5sb2FkCiBvbnZvbHVtZWNoYW5nZQogb253YWl0
aW5nCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9o
dG1sL0hUTUxFbGVtZW50LmNwcAppbmRleCA4ZjJiZWFkLi5lNThmZjI3IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVu
dC5jcHAKQEAgLTI2NCw2ICsyNjQsMTIgQEAgdm9pZCBIVE1MRWxlbWVudDo6cGFyc2VNYXBwZWRB
dHRyaWJ1dGUoQXR0cmlidXRlKiBhdHRyKQogICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3Rl
bmVyKGV2ZW50TmFtZXMoKS50b3VjaGVuZEV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3Rl
bmVyKHRoaXMsIGF0dHIpKTsKICAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbnRvdWNo
Y2FuY2VsQXR0cikgewogICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFt
ZXMoKS50b3VjaGNhbmNlbEV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMs
IGF0dHIpKTsKKyAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbnRyYW5zZm9ybWFjdGlv
bnN0YXJ0QXR0cikgeworICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFt
ZXMoKS50cmFuc2Zvcm1hY3Rpb25zdGFydEV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3Rl
bmVyKHRoaXMsIGF0dHIpKTsKKyAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbnRyYW5z
Zm9ybWFjdGlvbnVwZGF0ZUF0dHIpIHsKKyAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5l
cihldmVudE5hbWVzKCkudHJhbnNmb3JtYWN0aW9udXBkYXRlRXZlbnQsIGNyZWF0ZUF0dHJpYnV0
ZUV2ZW50TGlzdGVuZXIodGhpcywgYXR0cikpOworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgp
ID09IG9udHJhbnNmb3JtYWN0aW9uZW5kQXR0cikgeworICAgICAgICBzZXRBdHRyaWJ1dGVFdmVu
dExpc3RlbmVyKGV2ZW50TmFtZXMoKS50cmFuc2Zvcm1hY3Rpb25lbmRFdmVudCwgY3JlYXRlQXR0
cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRyKSk7CiAgICAgfQogfQogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmggYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKaW5k
ZXggNDc2NWIzMS4uYjE3OWE0NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5o
CisrKyBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaApAQCAtMzQwLDYgKzM0MCwxMSBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
dG91Y2hlbmQpOwogICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHRvdWNo
Y2FuY2VsKTsKICNlbmRpZgorI2lmIEVOQUJMRShUUkFOU0ZPUk1BQ1RJT05fRVZFTlRTKQorICAg
ICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHRyYW5zZm9ybWFjdGlvbnN0YXJ0
KTsKKyAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0cmFuc2Zvcm1hY3Rp
b251cGRhdGUpOworICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHRyYW5z
Zm9ybWFjdGlvbmVuZCk7CisjZW5kaWYKICAgICAgICAgdm9pZCBjYXB0dXJlRXZlbnRzKCk7CiAg
ICAgICAgIHZvaWQgcmVsZWFzZUV2ZW50cygpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmlkbCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IDc5MWVjYjEu
LjZmZTkyYTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC0yOTksNiArMjk5LDEwIEBAIG1vZHVsZSB3aW5k
b3cgewogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVRPVUNIX0VWRU5UUyxFbmFibGVk
QXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9udG91Y2hlbmQ7CiAgICAgICAgIGF0dHJpYnV0ZSBb
Q29uZGl0aW9uYWw9VE9VQ0hfRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIg
b250b3VjaGNhbmNlbDsKIAorICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVRSQU5TRk9S
TUFDVElPTl9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRyYW5zZm9y
bWFjdGlvbnN0YXJ0OworICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVRSQU5TRk9STUFD
VElPTl9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRyYW5zZm9ybWFj
dGlvbnVwZGF0ZTsKKyAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1UUkFOU0ZPUk1BQ1RJ
T05fRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250cmFuc2Zvcm1hY3Rp
b25lbmQ7CisKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJ
T05dIEV2ZW50TGlzdGVuZXIgb25kZXZpY2VvcmllbnRhdGlvbjsKIAogICAgICAgICAvLyBFdmVu
dFRhcmdldCBpbnRlcmZhY2UKQEAgLTczMCw3ICs3MzQsNyBAQCBtb2R1bGUgd2luZG93IHsKICNl
bmRpZgogCiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9VE9VQ0hfRVZFTlRTXSBUb3Vj
aEV2ZW50Q29uc3RydWN0b3IgVG91Y2hFdmVudDsKLQorICAgICAgICBhdHRyaWJ1dGUgW0NvbmRp
dGlvbmFsPVRSQU5TRk9STUFDVElPTl9FVkVOVFNdIFRyYW5zZm9ybUFjdGlvbkV2ZW50Q29uc3Ry
dWN0b3IgVHJhbnNmb3JtQWN0aW9uRXZlbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBET01Gb3JtRGF0
YUNvbnN0cnVjdG9yIEZvcm1EYXRhOwogCiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9
RklMRV9SRUFERVJ8RklMRV9XUklURVJdIEZpbGVFcnJvckNvbnN0cnVjdG9yIEZpbGVFcnJvcjsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9jcmVh
dGUtdHJhbnNmb3JtYWN0aW9uLWV2ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9jcmVhdGUtdHJhbnNmb3JtYWN0aW9uLWV2ZW50LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOTY1YTVmCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdHJhbnNmb3JtYWN0aW9uL2Ny
ZWF0ZS10cmFuc2Zvcm1hY3Rpb24tZXZlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAor
VGhpcyB0ZXN0cyB3aGV0aGVyIHRoZSBET00gY2FuIGNyZWF0ZSBUcmFuc2Zvcm1BY3Rpb25FdmVu
dHMuCitQQVNTIGV2ZW50IGlzIG5vbi1udWxsLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3RyYW5zZm9ybWFjdGlvbi9jcmVhdGUtdHJhbnNmb3JtYWN0aW9uLWV2ZW50Lmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90cmFuc2Zvcm1hY3Rpb24vY3JlYXRlLXRyYW5zZm9ybWFj
dGlvbi1ldmVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmNTdl
MWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90cmFuc2Zvcm1h
Y3Rpb24vY3JlYXRlLXRyYW5zZm9ybWFjdGlvbi1ldmVudC5odG1sCkBAIC0wLDAgKzEsMTMgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
Y3JlYXRlLXRyYW5zZm9ybWFjdGlvbi1ldmVudC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90cmFuc2Zvcm1hY3Rp
b24vcmVzb3VyY2VzL2NyZWF0ZS10cmFuc2Zvcm1hY3Rpb24tZXZlbnQuanMgYi9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy90cmFuc2Zvcm1hY3Rpb24vcmVzb3VyY2VzL2NyZWF0ZS10cmFuc2Zvcm1h
Y3Rpb24tZXZlbnQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDIzMDhi
ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RyYW5zZm9ybWFj
dGlvbi9yZXNvdXJjZXMvY3JlYXRlLXRyYW5zZm9ybWFjdGlvbi1ldmVudC5qcwpAQCAtMCwwICsx
LDE3IEBACitkZXNjcmlwdGlvbiA9ICJUaGlzIHRlc3RzIHdoZXRoZXIgdGhlIERPTSBjYW4gY3Jl
YXRlIFRyYW5zZm9ybUFjdGlvbkV2ZW50cy4iOworCitkZWJ1ZyhkZXNjcmlwdGlvbik7CisKK3Zh
ciBldmVudCA9IG51bGw7CisKK3RyeQoreworICAgIGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZl
bnQoIlRyYW5zZm9ybUFjdGlvbkV2ZW50Iik7CisgICAgc2hvdWxkQmVOb25OdWxsKCJldmVudCIp
OworfQorY2F0Y2ggKGUpCit7CisgICAgdGVzdEZhaWxlZCgiQW4gZXhjZXB0aW9uIHdhcyB0aHJv
d246ICIgKyBlLm1lc3NhZ2UpOworfQorCitzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9kb20vVHJhbnNmb3JtQWN0aW9uRXZlbnQuY3BwIGIvV2ViQ29yZS9k
b20vVHJhbnNmb3JtQWN0aW9uRXZlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLmU3NDY2N2EKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1B
Y3Rpb25FdmVudC5jcHAKQEAgLTAsMCArMSw4MCBAQAorLyoKKyAgICBDb3B5cmlnaHQgKEMpIDIw
MTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisKKyAgICBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCisgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCisgICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuCisKKyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlz
IGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAg
ICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs
IEZpZnRoIEZsb29yLAorICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMpCisK
KyNpbmNsdWRlICJUcmFuc2Zvcm1BY3Rpb25FdmVudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK1RyYW5zZm9ybUFjdGlvbkV2ZW50OjpUcmFuc2Zvcm1BY3Rpb25FdmVudChjb25zdCBBdG9t
aWNTdHJpbmcmIHR5cGUsCisgICAgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFz
c1JlZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIGludCBzY3JlZW5YLAorICAgIGludCBzY3JlZW5Z
LCBpbnQgcGFnZVgsIGludCBwYWdlWSwgYm9vbCBjdHJsS2V5LCBib29sIGFsdEtleSwKKyAgICBi
b29sIHNoaWZ0S2V5LCBib29sIG1ldGFLZXksIGludCB0cmFuc2xhdGVYLCBpbnQgdHJhbnNsYXRl
WSwKKyAgICBpbnQgdHJhbnNsYXRlU3BlZWRYLCBpbnQgdHJhbnNsYXRlU3BlZWRZLCBmbG9hdCBz
Y2FsZSwgZmxvYXQgc2NhbGVTcGVlZCwKKyAgICBmbG9hdCByb3RhdGUsIGZsb2F0IHJvdGF0ZVNw
ZWVkKQorICAgIDogTW91c2VSZWxhdGVkRXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxl
LCB2aWV3LCAwLCBzY3JlZW5YLCBzY3JlZW5ZLAorICAgICAgICAgICAgICAgICAgICAgICAgcGFn
ZVgsIHBhZ2VZLCBjdHJsS2V5LCBhbHRLZXksIHNoaWZ0S2V5LCBtZXRhS2V5KQorICAgICwgbV90
cmFuc2xhdGVYKHRyYW5zbGF0ZVgpCisgICAgLCBtX3RyYW5zbGF0ZVkodHJhbnNsYXRlWSkKKyAg
ICAsIG1fdHJhbnNsYXRlU3BlZWRYKHRyYW5zbGF0ZVNwZWVkWCkKKyAgICAsIG1fdHJhbnNsYXRl
U3BlZWRZKHRyYW5zbGF0ZVNwZWVkWSkKKyAgICAsIG1fc2NhbGUoc2NhbGUpCisgICAgLCBtX3Nj
YWxlU3BlZWQoc2NhbGVTcGVlZCkKKyAgICAsIG1fcm90YXRlKHJvdGF0ZSkKKyAgICAsIG1fcm90
YXRlU3BlZWQocm90YXRlU3BlZWQpCit7Cit9CisKK3ZvaWQgVHJhbnNmb3JtQWN0aW9uRXZlbnQ6
OmluaXRUcmFuc2Zvcm1BY3Rpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsCisgICAg
Ym9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+
IHZpZXcsIGludCBzY3JlZW5YLAorICAgIGludCBzY3JlZW5ZLCBpbnQgY2xpZW50WCwgaW50IGNs
aWVudFksIGJvb2wgY3RybEtleSwgYm9vbCBhbHRLZXksCisgICAgYm9vbCBzaGlmdEtleSwgYm9v
bCBtZXRhS2V5LCBpbnQgdHJhbnNsYXRlWCwgaW50IHRyYW5zbGF0ZVksCisgICAgaW50IHRyYW5z
bGF0ZVNwZWVkWCwgaW50IHRyYW5zbGF0ZVNwZWVkWSwgZmxvYXQgc2NhbGUsIGZsb2F0IHNjYWxl
U3BlZWQsCisgICAgZmxvYXQgcm90YXRlLCBmbG9hdCByb3RhdGVTcGVlZCkKK3sKKyAgICBpZiAo
ZGlzcGF0Y2hlZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpbml0VUlFdmVudCh0eXBlLCBj
YW5CdWJibGUsIGNhbmNlbGFibGUsIHZpZXcsIDApOworCisgICAgbV9jdHJsS2V5ID0gY3RybEtl
eTsKKyAgICBtX2FsdEtleSA9IGFsdEtleTsKKyAgICBtX3NoaWZ0S2V5ID0gc2hpZnRLZXk7Cisg
ICAgbV9tZXRhS2V5ID0gbWV0YUtleTsKKworICAgIG1fc2NyZWVuWCA9IHNjcmVlblg7CisgICAg
bV9zY3JlZW5ZID0gc2NyZWVuWTsKKyAgICBpbml0Q29vcmRpbmF0ZXMoY2xpZW50WCwgY2xpZW50
WSk7CisKKyAgICBtX3RyYW5zbGF0ZVggPSB0cmFuc2xhdGVYOworICAgIG1fdHJhbnNsYXRlWSA9
IHRyYW5zbGF0ZVk7CisgICAgbV90cmFuc2xhdGVTcGVlZFggPSB0cmFuc2xhdGVTcGVlZFg7Cisg
ICAgbV90cmFuc2xhdGVTcGVlZFkgPSB0cmFuc2xhdGVTcGVlZFk7CisgICAgbV9zY2FsZSA9IHNj
YWxlOworICAgIG1fc2NhbGVTcGVlZCA9IHNjYWxlU3BlZWQ7CisgICAgbV9yb3RhdGUgPSByb3Rh
dGU7CisgICAgbV9yb3RhdGVTcGVlZCA9IHJvdGF0ZVNwZWVkOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VWRU5UUykKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50LmggYi9XZWJDb3JlL2Rv
bS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjc0M2Y1ZGIKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1BY3Rp
b25FdmVudC5oCkBAIC0wLDAgKzEsODkgQEAKKy8qCisgICAgQ29weXJpZ2h0IChDKSAyMDEwIE5v
a2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorCisgICAgVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgor
ICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCisgICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCisgICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICAgYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAg
ICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQorICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLgorCisgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgIGFsb25nIHdpdGggdGhpcyBsaWJy
YXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgICAgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0
aCBGbG9vciwKKyAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyovCisKKyNpZm5kZWYg
VHJhbnNmb3JtQWN0aW9uRXZlbnRfaAorI2RlZmluZSBUcmFuc2Zvcm1BY3Rpb25FdmVudF9oCisK
KyNpZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VWRU5UUykKKworI2luY2x1ZGUgIk1vdXNlUmVs
YXRlZEV2ZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgVHJhbnNmb3JtQWN0
aW9uRXZlbnQgOiBwdWJsaWMgTW91c2VSZWxhdGVkRXZlbnQgeworcHVibGljOgorICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFRyYW5zZm9ybUFjdGlvbkV2ZW50PiBjcmVhdGUoKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBUcmFuc2Zvcm1BY3Rpb25FdmVudCk7CisgICAgfQorICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFRyYW5zZm9ybUFjdGlvbkV2ZW50PiBjcmVhdGUoY29uc3QgQXRv
bWljU3RyaW5nJiB0eXBlLAorICAgICAgICBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxl
LCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywKKyAgICAgICAgaW50IHNjcmVlblgsIGlu
dCBzY3JlZW5ZLCBpbnQgcGFnZVgsIGludCBwYWdlWSwgYm9vbCBjdHJsS2V5LAorICAgICAgICBi
b29sIGFsdEtleSwgYm9vbCBzaGlmdEtleSwgYm9vbCBtZXRhS2V5LCBpbnQgdHJhbnNsYXRlWCwK
KyAgICAgICAgaW50IHRyYW5zbGF0ZVksIGludCB0cmFuc2xhdGVTcGVlZFgsIGludCB0cmFuc2xh
dGVTcGVlZFksIGZsb2F0IHNjYWxlLAorICAgICAgICBmbG9hdCBzY2FsZVNwZWVkLCBmbG9hdCBy
b3RhdGUsIGZsb2F0IHJvdGF0ZVNwZWVkKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBUcmFuc2Zvcm1BY3Rpb25FdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUsCisg
ICAgICAgICAgICB2aWV3LCBzY3JlZW5YLCBzY3JlZW5ZLCBwYWdlWCwgcGFnZVksIGN0cmxLZXks
IGFsdEtleSwgc2hpZnRLZXksCisgICAgICAgICAgICBtZXRhS2V5LCB0cmFuc2xhdGVYLCB0cmFu
c2xhdGVZLCB0cmFuc2xhdGVTcGVlZFgsIHRyYW5zbGF0ZVNwZWVkWSwKKyAgICAgICAgICAgIHNj
YWxlLCBzY2FsZVNwZWVkLCByb3RhdGUsIHJvdGF0ZVNwZWVkKSk7CisgICAgfQorCisgICAgdm9p
ZCBpbml0VHJhbnNmb3JtQWN0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29s
IGNhbkJ1YmJsZSwKKyAgICAgICAgYm9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0
Vmlldz4gdmlldywgaW50IHNjcmVlblgsCisgICAgICAgIGludCBzY3JlZW5ZLCBpbnQgY2xpZW50
WCwgaW50IGNsaWVudFksIGJvb2wgY3RybEtleSwgYm9vbCBhbHRLZXksCisgICAgICAgIGJvb2wg
c2hpZnRLZXksIGJvb2wgbWV0YUtleSwgaW50IHRyYW5zbGF0ZVgsIGludCB0cmFuc2xhdGVZLAor
ICAgICAgICBpbnQgdHJhbnNsYXRlU3BlZWRYLCBpbnQgdHJhbnNsYXRlU3BlZWRZLCBmbG9hdCBz
Y2FsZSwgZmxvYXQgc2NhbGVTcGVlZCwKKyAgICAgICAgZmxvYXQgcm90YXRlLCBmbG9hdCByb3Rh
dGVTcGVlZCk7CisKKyAgICBpbnQgdHJhbnNsYXRlWCgpIGNvbnN0IHsgcmV0dXJuIG1fdHJhbnNs
YXRlWDsgfQorICAgIGludCB0cmFuc2xhdGVZKCkgY29uc3QgeyByZXR1cm4gbV90cmFuc2xhdGVZ
OyB9CisgICAgaW50IHRyYW5zbGF0ZVNwZWVkWCgpIGNvbnN0IHsgcmV0dXJuIG1fdHJhbnNsYXRl
U3BlZWRYOyB9CisgICAgaW50IHRyYW5zbGF0ZVNwZWVkWSgpIGNvbnN0IHsgcmV0dXJuIG1fdHJh
bnNsYXRlU3BlZWRZOyB9CisgICAgZmxvYXQgc2NhbGUoKSBjb25zdCB7IHJldHVybiBtX3NjYWxl
OyB9CisgICAgZmxvYXQgc2NhbGVTcGVlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2NhbGVTcGVlZDsg
fQorICAgIGZsb2F0IHJvdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcm90YXRlOyB9CisgICAgZmxv
YXQgcm90YXRlU3BlZWQoKSBjb25zdCB7IHJldHVybiBtX3JvdGF0ZVNwZWVkOyB9CisKK3ByaXZh
dGU6CisgICAgVHJhbnNmb3JtQWN0aW9uRXZlbnQoKSB7fQorICAgIFRyYW5zZm9ybUFjdGlvbkV2
ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsCisgICAgICAgIGJv
b2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIGludCBzY3JlZW5Y
LAorICAgICAgICBpbnQgc2NyZWVuWSwgaW50IHBhZ2VYLCBpbnQgcGFnZVksIGJvb2wgY3RybEtl
eSwgYm9vbCBhbHRLZXksCisgICAgICAgIGJvb2wgc2hpZnRLZXksIGJvb2wgbWV0YUtleSwgaW50
IHRyYW5zbGF0ZVgsIGludCB0cmFuc2xhdGVZLAorICAgICAgICBpbnQgdHJhbnNsYXRlU3BlZWRY
LCBpbnQgdHJhbnNsYXRlU3BlZWRZLCBmbG9hdCBzY2FsZSwgZmxvYXQgc2NhbGVTcGVlZCwKKyAg
ICAgICAgZmxvYXQgcm90YXRlLCBmbG9hdCByb3RhdGVTcGVlZCk7CisKKyAgICB2aXJ0dWFsIGJv
b2wgaXNUcmFuc2Zvcm1BY3Rpb25FdmVudCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKworICAg
IGludCBtX3RyYW5zbGF0ZVg7CisgICAgaW50IG1fdHJhbnNsYXRlWTsKKyAgICBpbnQgbV90cmFu
c2xhdGVTcGVlZFg7CisgICAgaW50IG1fdHJhbnNsYXRlU3BlZWRZOworICAgIGZsb2F0IG1fc2Nh
bGU7CisgICAgZmxvYXQgbV9zY2FsZVNwZWVkOworICAgIGZsb2F0IG1fcm90YXRlOworICAgIGZs
b2F0IG1fcm90YXRlU3BlZWQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VWRU5UUykKKworI2VuZGlmIC8vIFRyYW5zZm9y
bUFjdGlvbkV2ZW50X2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1RyYW5zZm9ybUFjdGlvbkV2
ZW50LmlkbCBiL1dlYkNvcmUvZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50LmlkbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YjIxM2IxCi0tLSAvZGV2L251bGwKKysrIGIvV2Vi
Q29yZS9kb20vVHJhbnNmb3JtQWN0aW9uRXZlbnQuaWRsCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisg
ICAgQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lk
aWFyeSgtaWVzKQorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgICAgTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgICAgdmVyc2lvbiAyIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisg
ICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCisgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKKyAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICAgIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQor
ICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJ
ZiBub3QsIHdyaXRlIHRvCisgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwg
NTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAgICBCb3N0b24sIE1BIDAyMTEwLTEz
MDEsIFVTQS4KKyovCisKK21vZHVsZSBldmVudHMgeworCisgICAgaW50ZXJmYWNlIFsKKyAgICAg
ICAgQ29uZGl0aW9uYWw9VFJBTlNGT1JNQUNUSU9OX0VWRU5UUworICAgIF0gVHJhbnNmb3JtQWN0
aW9uRXZlbnQgOiBVSUV2ZW50IHsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgc2Ny
ZWVuWDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgc2NyZWVuWTsKKyAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgY2xpZW50WDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIGxvbmcgY2xpZW50WTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgb2Zmc2V0
WDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgb2Zmc2V0WTsKKyAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gY3RybEtleTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIGJvb2xlYW4gYWx0S2V5OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBz
aGlmdEtleTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gbWV0YUtleTsKKwor
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyB0cmFuc2xhdGVYOworICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgbG9uZyB0cmFuc2xhdGVZOworICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgbG9uZyB0cmFuc2xhdGVTcGVlZFg7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25n
IHRyYW5zbGF0ZVNwZWVkWTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGZsb2F0IHNjYWxl
OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgc2NhbGVTcGVlZDsKKyAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIGZsb2F0IHJvdGF0ZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIGZsb2F0IHJvdGF0ZVNwZWVkOworCisgICAgICAgIHZvaWQgaW5pdFRyYW5zZm9ybUFjdGlv
bkV2ZW50KGluIERPTVN0cmluZyB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbiBib29sZWFuIGNhbkJ1YmJsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW4gYm9vbGVhbiBjYW5jZWxhYmxlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbiBET01XaW5kb3cgdmlldywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW4gbG9uZyBzY3JlZW5YLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbiBsb25nIHNjcmVlblksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGluIGxvbmcgY2xpZW50WCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW4gbG9uZyBjbGllbnRZLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbiBib29sZWFuIGN0cmxLZXksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gYWx0S2V5LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbiBib29sZWFuIHNoaWZ0S2V5LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIG1ldGFLZXksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGluIGxvbmcgdHJhbnNsYXRlWCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW4gbG9uZyB0cmFuc2xhdGVZLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBsb25nIHRyYW5zbGF0ZVNwZWVkWCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gbG9uZyB0cmFuc2xhdGVTcGVlZFks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGZsb2F0IHNjYWxlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBmbG9hdCBzY2FsZVNwZWVk
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBmbG9hdCByb3RhdGUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGZsb2F0IHJvdGF0ZVNw
ZWVkKTsKKyAgIH07Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59229</attachid>
            <date>2010-06-20 22:47:20 -0700</date>
            <delta_ts>2010-07-30 05:56:51 -0700</delta_ts>
            <desc>TransformActionEvent patch #7</desc>
            <filename>transformaction7.patch</filename>
            <type>text/plain</type>
            <size>43420</size>
            <attacher name="Kim Grönholm">kim.1.gronholm</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3ZGE2NzQ2Li4yM2FhYjE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTAtMDYt
MjAgIEtpbSBHcsO2bmhvbG0gIDxraW0uMS5ncm9uaG9sbUBub2tpYS5jb20+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFRyYW5zZm9ybUFjdGlv
bkV2ZW50IHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTM5NzU3CisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNz
YWdlLWNsb25lLWV4cGVjdGVkLnR4dDogTW9kaWZpZWQgZHVlIHRvIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDMyOQorICAgICAgICAqIGZhc3QvZXZlbnRzL3RyYW5z
Zm9ybWFjdGlvbi9jcmVhdGUtdHJhbnNmb3JtYWN0aW9uLWV2ZW50LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvdHJhbnNmb3JtYWN0aW9uL2NyZWF0ZS10cmFuc2Zv
cm1hY3Rpb24tZXZlbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvdHJhbnNm
b3JtYWN0aW9uL3Jlc291cmNlcy9jcmVhdGUtdHJhbnNmb3JtYWN0aW9uLWV2ZW50LmpzOiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zhc3QvZG9t
L1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHBsYXRmb3JtL3F0L2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2tpcHBlZDoKKwogMjAxMC0wNi0x
OSAgSGF5YXRvIEl0byAgPGhheWF0b0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgQWRhbSBCYXJ0aC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93
aW5kb3ctcG9zdG1lc3NhZ2UtY2xvbmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1jbG9uZS1leHBlY3RlZC50eHQKaW5kZXggNmRm
MjVhZi4uNTRmMTk0MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dp
bmRvdy1wb3N0bWVzc2FnZS1jbG9uZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1jbG9uZS1leHBlY3RlZC50eHQKQEAgLTIs
NyArMiw3IEBAIFRlc3RzIHRoYXQgd2UgY2xvbmUgb2JqZWN0IGhpZXJhcmNoaWVzCiBQQVNTOiAn
cG9zdE1lc3NhZ2UoY3ljbGljT2JqZWN0KScgdGhyZXcgVHlwZUVycm9yOiBDYW5ub3QgcG9zdCBj
eWNsaWMgc3RydWN0dXJlcy4KIFBBU1M6ICdwb3N0TWVzc2FnZShjeWNsaWNBcnJheSknIHRocmV3
IFR5cGVFcnJvcjogQ2Fubm90IHBvc3QgY3ljbGljIHN0cnVjdHVyZXMuCiBQQVNTOiAncG9zdE1l
c3NhZ2UocmVhbGx5RGVlcEFycmF5KScgdGhyZXcgUmFuZ2VFcnJvcjogTWF4aW11bSBjYWxsIHN0
YWNrIHNpemUgZXhjZWVkZWQuCi1QQVNTOiAncG9zdE1lc3NhZ2Uod2luZG93KScgdGhyZXcgVHlw
ZUVycm9yOiBDYW5ub3QgcG9zdCBjeWNsaWMgc3RydWN0dXJlcy4KK1BBU1M6ICdwb3N0TWVzc2Fn
ZSh3aW5kb3cpJyB0aHJldyBUeXBlRXJyb3I6IFR5cGUgZXJyb3IKIFBBU1M6IGV2ZW50RGF0YSBp
cyBudWxsIG9mIHR5cGUgb2JqZWN0CiBQQVNTOiBldmVudERhdGEgaXMgdW5kZWZpbmVkIG9mIHR5
cGUgdW5kZWZpbmVkCiBQQVNTOiBldmVudERhdGEgaXMgMSBvZiB0eXBlIG51bWJlcgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvU2tpcHBlZAppbmRleCBmODMzNmM3Li5lYzM0ZThhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
dGsvU2tpcHBlZApAQCAtNTg0Miw2ICs1ODQyLDkgQEAgZWRpdGluZy9zcGVsbGluZy9jb250ZXh0
LW1lbnUtc3VnZ2VzdGlvbnMuaHRtbAogIyBJbmRleGVkREIgaXMgbm90IHlldCBlbmFibGVkLgog
c3RvcmFnZS9pbmRleGVkZGIKIAorIyBUaGVzZSB0ZXN0cyByZXF1aXJlIHRyYW5zZm9ybWFjdGlv
biBldmVudCBzdXBwb3J0CitmYXN0L2V2ZW50cy90cmFuc2Zvcm1hY3Rpb24KKwogIyBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDAxNTMKIGZhc3QvZG9tL0dlb2xvY2F0
aW9uL2NhbGxiYWNrLXRvLXJlbW90ZS1jb250ZXh0Lmh0bWwKIGZhc3QvZG9tL0dlb2xvY2F0aW9u
L2NhbGxiYWNrLXRvLXJlbW90ZS1jb250ZXh0Mi5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVk
CmluZGV4IGVmOGUyZmUuLjg4MzhjZTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCkBAIC0x
MDYsNiArMTA2LDkgQEAgbWVkaWEvbWVkaWEtY2FuLXBsYXktb2dnLmh0bWwKICMgVGhlc2UgdGVz
dHMgcmVxdWlyZSB0b3VjaCBzdXBwb3J0CiBmYXN0L2V2ZW50cy90b3VjaAogCisjIFRoZXNlIHRl
c3RzIHJlcXVpcmUgdHJhbnNmb3JtYWN0aW9uIGV2ZW50IHN1cHBvcnQKK2Zhc3QvZXZlbnRzL3Ry
YW5zZm9ybWFjdGlvbgorCiAjIFNraXBwZWQgdW50aWwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTMzOTIzIGlzIHJlc29sdmVkLgogcGxhdGZvcm0vbWFjL2FjY2Vzc2li
aWxpdHkvY2hhbmdlLW5vdGlmaWNhdGlvbi1vbi1zY3JvbGwuaHRtbAogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vV2luZG93L3dp
bmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAppbmRleCA1NDI0OTYwLi5hMTM3MzNmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBy
b3BlcnRpZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQKQEAgLTE4MzQsNiArMTgz
NCw4IEBAIHdpbmRvdy5UZXh0TWV0cmljcyBbb2JqZWN0IFRleHRNZXRyaWNzQ29uc3RydWN0b3Jd
CiB3aW5kb3cuVGV4dE1ldHJpY3MucHJvdG90eXBlIFtvYmplY3QgVGV4dE1ldHJpY3NQcm90b3R5
cGVdCiB3aW5kb3cuVG91Y2hFdmVudCBbb2JqZWN0IFRvdWNoRXZlbnRDb25zdHJ1Y3Rvcl0KIHdp
bmRvdy5Ub3VjaEV2ZW50LnByb3RvdHlwZSBbcHJpbnRlZCBhYm92ZSBhcyB3aW5kb3cuRXZlbnQu
cHJvdG90eXBlXQord2luZG93LlRyYW5zZm9ybUFjdGlvbkV2ZW50IFtvYmplY3QgVHJhbnNmb3Jt
QWN0aW9uRXZlbnRDb25zdHJ1Y3Rvcl0KK3dpbmRvdy5UcmFuc2Zvcm1BY3Rpb25FdmVudC5wcm90
b3R5cGUgW3ByaW50ZWQgYWJvdmUgYXMgd2luZG93LkV2ZW50LnByb3RvdHlwZV0KIHdpbmRvdy5U
eXBlRXJyb3IgW2Z1bmN0aW9uXQogd2luZG93LlVJRXZlbnQgW29iamVjdCBVSUV2ZW50Q29uc3Ry
dWN0b3JdCiB3aW5kb3cuVUlFdmVudC5wcm90b3R5cGUgW3ByaW50ZWQgYWJvdmUgYXMgd2luZG93
LkV2ZW50LnByb3RvdHlwZV0KQEAgLTIxNzIsNiArMjE3NCw5IEBAIHdpbmRvdy5vbnRvdWNoY2Fu
Y2VsIFtudWxsXQogd2luZG93Lm9udG91Y2hlbmQgW251bGxdCiB3aW5kb3cub250b3VjaG1vdmUg
W251bGxdCiB3aW5kb3cub250b3VjaHN0YXJ0IFtudWxsXQord2luZG93Lm9udHJhbnNmb3JtYWN0
aW9uZW5kIFtudWxsXQord2luZG93Lm9udHJhbnNmb3JtYWN0aW9uc3RhcnQgW251bGxdCit3aW5k
b3cub250cmFuc2Zvcm1hY3Rpb251cGRhdGUgW251bGxdCiB3aW5kb3cub251bmxvYWQgW251bGxd
CiB3aW5kb3cub252b2x1bWVjaGFuZ2UgW251bGxdCiB3aW5kb3cub253YWl0aW5nIFtudWxsXQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vV2luZG93L3dpbmRv
dy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVk
LnR4dAppbmRleCBmOWFlNDg2Li4wYjNiZWZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9xdC9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9XaW5kb3cvd2lu
ZG93LXByb3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dApAQCAtMjg0LDYgKzI4NCw3IEBA
IFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnVGV4
dCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKHdpbmRvdywgJ1RleHRFdmVudCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ1RleHRNZXRyaWNzJykgaXMgJ29iamVj
dCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAn
VG91Y2hFdmVudCcpIGlzICdvYmplY3QnCitQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKHdpbmRvdywgJ1RyYW5zZm9ybUFjdGlvbkV2ZW50JykgaXMgJ29iamVjdCcK
IFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnVHlw
ZUVycm9yJykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3Iod2luZG93LCAnVUlFdmVudCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ1VSSUVycm9yJykgaXMgJ29iamVj
dCcKQEAgLTQxMiw2ICs0MTMsOSBAQCBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKHdpbmRvdywgJ29udG91Y2hjYW5jZWwnKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBl
b2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdvbnRvdWNoZW5kJykg
aXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
d2luZG93LCAnb250b3VjaG1vdmUnKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdvbnRvdWNoc3RhcnQnKSBpcyAnb2JqZWN0
JworUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdv
bnRyYW5zZm9ybWFjdGlvbmVuZCcpIGlzICdvYmplY3QnCitQQVNTIHR5cGVvZiBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ29udHJhbnNmb3JtYWN0aW9uc3RhcnQnKSBp
cyAnb2JqZWN0JworUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3
aW5kb3csICdvbnRyYW5zZm9ybWFjdGlvbnVwZGF0ZScpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVv
ZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ29udW5sb2FkJykgaXMg
J29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2lu
ZG93LCAnb252b2x1bWVjaGFuZ2UnKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdvbndhaXRpbmcnKSBpcyAnb2JqZWN0Jwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vcHJvdG90eXBlLWlu
aGVyaXRhbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9t
L3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKaW5kZXggNDhiYmQ3ZC4uYzdlOWY2
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vcHJvdG90eXBl
LWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9m
YXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CkBAIC01MzksNiArNTM5
LDggQEAgUEFTUyBpbm5lci5UZXh0TWV0cmljcy5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIu
VGV4dE1ldHJpY3MuY29uc3RydWN0b3IuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLlRvdWNo
RXZlbnQuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLlRvdWNoRXZlbnQuY29uc3RydWN0b3Iu
aXNJbm5lciBpcyB0cnVlCitQQVNTIGlubmVyLlRyYW5zZm9ybUFjdGlvbkV2ZW50LmlzSW5uZXIg
aXMgdHJ1ZQorUEFTUyBpbm5lci5UcmFuc2Zvcm1BY3Rpb25FdmVudC5jb25zdHJ1Y3Rvci5pc0lu
bmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuVHlwZUVycm9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBp
bm5lci5UeXBlRXJyb3IuY29uc3RydWN0b3IuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLlVJ
RXZlbnQuaXNJbm5lciBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9x
dC9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAppbmRl
eCAxZmQ5YTAzLi5lOWQ0MmQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9m
YXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKQEAg
LTI2Nyw2ICsyNjcsNyBAQCBQQVNTIFRleHQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBUZXh0Q29u
c3RydWN0b3JdJwogUEFTUyBUZXh0RXZlbnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBUZXh0RXZl
bnRDb25zdHJ1Y3Rvcl0nCiBQQVNTIFRleHRNZXRyaWNzLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3Qg
VGV4dE1ldHJpY3NDb25zdHJ1Y3Rvcl0nCiBQQVNTIFRvdWNoRXZlbnQudG9TdHJpbmcoKSBpcyAn
W29iamVjdCBUb3VjaEV2ZW50Q29uc3RydWN0b3JdJworUEFTUyBUcmFuc2Zvcm1BY3Rpb25FdmVu
dC50b1N0cmluZygpIGlzICdbb2JqZWN0IFRyYW5zZm9ybUFjdGlvbkV2ZW50Q29uc3RydWN0b3Jd
JwogUEFTUyBVSUV2ZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgVUlFdmVudENvbnN0cnVjdG9y
XScKIFBBU1MgV2ViS2l0QW5pbWF0aW9uRXZlbnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBXZWJL
aXRBbmltYXRpb25FdmVudENvbnN0cnVjdG9yXScKIFBBU1MgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxl
LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlQ29uc3RydWN0b3Jd
JwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCA5MWEwMGI5Li41OGFiYjU3IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtNzQyLDYgKzc0Miw5IEBAIG1lZGlhL21lZGlhLWNhbi1w
bGF5LW9nZy5odG1sCiAjIFRoZXNlIHRlc3RzIHJlcXVpcmUgdG91Y2ggc3VwcG9ydAogZmFzdC9l
dmVudHMvdG91Y2gKIAorIyBUaGVzZSB0ZXN0cyByZXF1aXJlIHRyYW5zZm9ybWFjdGlvbiBldmVu
dCBzdXBwb3J0CitmYXN0L2V2ZW50cy90cmFuc2Zvcm1hY3Rpb24KKwogIyBYU1MgYXVkaXRvciB0
ZXN0cyBpbnRlcm1pdHRlbnRseSB0aW1lIG91dCA8aHR0cDovL3dlYmtpdC5vcmcvYi8zMjUyOD4K
IGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1nZXRTVkdEb2N1bWVudC1pZnJhbWUuaHRt
bAogaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELWdldFNWR0RvY3VtZW50LW9iamVjdC5o
dG1sCmRpZmYgLS1naXQgYS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tayBi
L1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rCmluZGV4IGE4YWM2MWMuLjEz
Njg1MDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1r
CisrKyBiL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rCkBAIC0xMzcsNiAr
MTM3LDcgQEAgR0VOIDo9IFwKICAgICAkKGludGVybWVkaWF0ZXMpL2RvbS9KU1RvdWNoLmggXAog
ICAgICQoaW50ZXJtZWRpYXRlcykvZG9tL0pTVG91Y2hFdmVudC5oIFwKICAgICAkKGludGVybWVk
aWF0ZXMpL2RvbS9KU1RvdWNoTGlzdC5oIFwKKyAgICAkKGludGVybWVkaWF0ZXMpL2RvbS9KU1Ry
YW5zZm9ybUFjdGlvbkV2ZW50LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvZG9tL0pTVHJlZVdh
bGtlci5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2RvbS9KU1VJRXZlbnQuaCBcCiAgICAgJChp
bnRlcm1lZGlhdGVzKS9kb20vSlNXZWJLaXRBbmltYXRpb25FdmVudC5oIFwKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsgYi9XZWJDb3JlL0FuZHJvaWQu
ZGVyaXZlZC52OGJpbmRpbmdzLm1rCmluZGV4IGRkNWYzMDUuLmRlMjY3YjAgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsKKysrIGIvV2ViQ29yZS9BbmRy
b2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tawpAQCAtMTE5LDYgKzExOSw3IEBAIEdFTiA6PSBcCiAg
ICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOFRvdWNoLmggXAogICAgICQoaW50ZXJtZWRp
YXRlcykvYmluZGluZ3MvVjhUb3VjaEV2ZW50LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmlu
ZGluZ3MvVjhUb3VjaExpc3QuaCBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOFRy
YW5zZm9ybUFjdGlvbkV2ZW50LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhU
cmVlV2Fsa2VyLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhVSUV2ZW50Lmgg
XAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhXZWJLaXRBbmltYXRpb25FdmVudC5o
IFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5tayBiL1dlYkNvcmUvQW5kcm9pZC5tawpp
bmRleCBkZjI1ZDU2Li43ZmFlMzUyIDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQubWsKKysr
IGIvV2ViQ29yZS9BbmRyb2lkLm1rCkBAIC0xNzEsNiArMTcxLDcgQEAgTE9DQUxfU1JDX0ZJTEVT
IDo9ICQoTE9DQUxfU1JDX0ZJTEVTKSBcCiAJZG9tL1RvdWNoLmNwcCBcCiAJZG9tL1RvdWNoRXZl
bnQuY3BwIFwKIAlkb20vVG91Y2hMaXN0LmNwcCBcCisJZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50
LmNwcCBcCiAJZG9tL1RyYXZlcnNhbC5jcHAgXAogCWRvbS9UcmVlV2Fsa2VyLmNwcCBcCiAJZG9t
L1VJRXZlbnQuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGQzMTIzYjQuLjA1OTg4NTQgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTc1
LDYgKzE3NSw3IEBAIFNFVChXZWJDb3JlX0lETF9GSUxFUwogICAgIGRvbS9Ub3VjaEV2ZW50Lmlk
bAogICAgIGRvbS9Ub3VjaC5pZGwKICAgICBkb20vVG91Y2hMaXN0LmlkbAorICAgIGRvbS9UcmFu
c2Zvcm1BY3Rpb25FdmVudC5pZGwKICAgICBkb20vVHJlZVdhbGtlci5pZGwKICAgICBkb20vVUlF
dmVudC5pZGwKICAgICBkb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuaWRsCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDc5MzI5ZTAuLmEyNmVh
ODAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsNzMgQEAKKzIwMTAtMDYtMjAgIEtpbSBHcsO2bmhvbG0gIDxraW0uMS5ncm9u
aG9sbUBub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIFRyYW5zZm9ybUFjdGlvbkV2ZW50IHN1cHBvcnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5NzU3CisKKyAgICAgICAgQWRkZWQg
b25seSB0aGUgbmVjZXNzYXJ5IFRyYW5zZm9ybUFjdGlvbiBldmVudCBpbnRlcmZhY2VzIGFuZCBu
b3QgZS5nLgorICAgICAgICBhbnkgZXZlbnRoYW5kbGVyIGhvb2tzIHRoYXQgZ2VuZXJhdGUgYW5k
IGRpc3BhdGNoIHRoZW0uCisKKyAgICAgICAgVGVzdDogZmFzdC9ldmVudHMvdHJhbnNmb3JtYWN0
aW9uL2NyZWF0ZS10cmFuc2Zvcm1hY3Rpb24tZXZlbnQuaHRtbAorICAgICAgICBNb3JlIHRlc3Rz
IHdpbGwgYmUgYWRkZWQgd2l0aCB0aGUgbWFjaGluZXJ5IHRoYXQgZ2VuZXJhdGVzIGFuZAorICAg
ICAgICBkaXNwYXRjaGVzIHRoZXNlIGV2ZW50cy4KKworICAgICAgICAqIEFuZHJvaWQuZGVyaXZl
ZC5qc2NiaW5kaW5ncy5tazoKKyAgICAgICAgKiBBbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5t
azoKKyAgICAgICAgKiBBbmRyb2lkLm1rOgorICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAg
ICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtl
OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAg
ICAgICAgKiBXZWJDb3JlLnByaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBi
aW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwOgorICAgICAgICAqIGJp
bmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoV2ViQ29y
ZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6dHJhbnNmb3JtYWN0aW9uRW5hYmxlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRUcmFuc2Zvcm1BY3Rpb25F
bmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6Om9udHJh
bnNmb3JtYWN0aW9uc3RhcnRFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6Om9udHJhbnNmb3JtYWN0aW9udXBkYXRlRW5hYmxlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpvbnRyYW5zZm9ybWFjdGlvbmVuZEVuYWJs
ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6dG9KUyk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0
b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogZG9tL0RvY3VtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpjcmVhdGVFdmVudCk6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6YWRkTGlzdGVuZXJUeXBlSWZOZWVkZWQpOgorICAgICAgICAq
IGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6Oik6CisgICAgICAg
ICogZG9tL0RvY3VtZW50LmlkbDoKKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAq
IGRvbS9FbGVtZW50LmlkbDoKKyAgICAgICAgKiBkb20vRXZlbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RXZlbnQ6OmlzVHJhbnNmb3JtQWN0aW9uRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6
RXZlbnQ6OmZyb21Vc2VyR2VzdHVyZSk6CisgICAgICAgICogZG9tL0V2ZW50Lmg6CisgICAgICAg
ICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKiBkb20vVHJhbnNmb3JtQWN0aW9uRXZlbnQu
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9ybUFjdGlvbkV2ZW50OjpUcmFu
c2Zvcm1BY3Rpb25FdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1BY3Rpb25FdmVu
dDo6aW5pdFRyYW5zZm9ybUFjdGlvbkV2ZW50KToKKyAgICAgICAgKiBkb20vVHJhbnNmb3JtQWN0
aW9uRXZlbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1BY3Rpb25FdmVu
dDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9ybUFjdGlvbkV2ZW50Ojp0cmFu
c2xhdGVYKToKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9ybUFjdGlvbkV2ZW50Ojp0cmFuc2xh
dGVZKToKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9ybUFjdGlvbkV2ZW50Ojp0cmFuc2xhdGVT
cGVlZFgpOgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNmb3JtQWN0aW9uRXZlbnQ6OnRyYW5zbGF0
ZVNwZWVkWSk6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1BY3Rpb25FdmVudDo6c2NhbGUp
OgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNmb3JtQWN0aW9uRXZlbnQ6OnNjYWxlU3BlZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6VHJhbnNmb3JtQWN0aW9uRXZlbnQ6OnJvdGF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpUcmFuc2Zvcm1BY3Rpb25FdmVudDo6cm90YXRlU3BlZWQpOgorICAgICAgICAo
V2ViQ29yZTo6VHJhbnNmb3JtQWN0aW9uRXZlbnQ6OlRyYW5zZm9ybUFjdGlvbkV2ZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OlRyYW5zZm9ybUFjdGlvbkV2ZW50Ojppc1RyYW5zZm9ybUFjdGlvbkV2
ZW50KToKKyAgICAgICAgKiBkb20vVHJhbnNmb3JtQWN0aW9uRXZlbnQuaWRsOiBBZGRlZC4KKyAg
ICAgICAgKiBodG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbjoKKyAgICAgICAgKiBodG1sL0hUTUxF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxFbGVtZW50OjpwYXJzZU1hcHBlZEF0
dHJpYnV0ZSk6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAgICAgKiBwYWdlL0RP
TVdpbmRvdy5pZGw6CisKIDIwMTAtMDYtMTkgIFRvbnkgR2VudGlsY29yZSAgPHRvbnlnQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApp
bmRleCA3YWMzZTUxLi4xNjZjMTNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LmNwcAorKysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtMzc2LDYgKzM3Niw3IEBA
CiAjaW5jbHVkZSAiSlNUb3VjaC5jcHAiCiAjaW5jbHVkZSAiSlNUb3VjaEV2ZW50LmNwcCIKICNp
bmNsdWRlICJKU1RvdWNoTGlzdC5jcHAiCisjaW5jbHVkZSAiSlNUcmFuc2Zvcm1BY3Rpb25FdmVu
dC5jcHAiCiAjaW5jbHVkZSAiSlNUcmVlV2Fsa2VyLmNwcCIKICNpbmNsdWRlICJKU1VJRXZlbnQu
Y3BwIgogI2luY2x1ZGUgIkpTVmFsaWRpdHlTdGF0ZS5jcHAiCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXgg
N2VjOTE1Zi4uNDE0OTIxYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNDMzLDYgKzQzMyw3IEBAIERP
TV9DTEFTU0VTID0gXAogICAgIFRvdWNoIFwKICAgICBUb3VjaEV2ZW50IFwKICAgICBUb3VjaExp
c3QgXAorICAgIFRyYW5zZm9ybUFjdGlvbkV2ZW50IFwKICAgICBUcmVlV2Fsa2VyIFwKICAgICBV
SUV2ZW50IFwKICAgICBWYWxpZGl0eVN0YXRlIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFr
ZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGU3ODU3NDkuLjI5NjI2YzIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5hbQpAQCAtMTc0LDYgKzE3NCw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAJV2ViQ29yZS9k
b20vVG91Y2guaWRsIFwKIAlXZWJDb3JlL2RvbS9Ub3VjaEV2ZW50LmlkbCBcCiAJV2ViQ29yZS9k
b20vVG91Y2hMaXN0LmlkbCBcCisJV2ViQ29yZS9kb20vVHJhbnNmb3JtQWN0aW9uRXZlbnQuaWRs
IFwKIAlXZWJDb3JlL2RvbS9UcmVlV2Fsa2VyLmlkbCBcCiAJV2ViQ29yZS9kb20vVUlFdmVudC5p
ZGwgXAogCVdlYkNvcmUvZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmlkbCBcCmRpZmYgLS1naXQg
YS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGYyY2Rk
NjcuLjY3YTJhNDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dlYkNv
cmUvV2ViQ29yZS5neXBpCkBAIC03Nyw2ICs3Nyw3IEBACiAgICAgICAgICAgICAnZG9tL1RvdWNo
LmlkbCcsCiAgICAgICAgICAgICAnZG9tL1RvdWNoRXZlbnQuaWRsJywKICAgICAgICAgICAgICdk
b20vVG91Y2hMaXN0LmlkbCcsCisgICAgICAgICAgICAnZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50
LmlkbCcsCiAgICAgICAgICAgICAnZG9tL1RyZWVXYWxrZXIuaWRsJywKICAgICAgICAgICAgICdk
b20vVUlFdmVudC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9XZWJLaXRBbmltYXRpb25FdmVudC5p
ZGwnLApAQCAtMTIyOCw2ICsxMjI5LDggQEAKICAgICAgICAgICAgICdkb20vVG91Y2hMaXN0LmNw
cCcsCiAgICAgICAgICAgICAnZG9tL1RvdWNoTGlzdC5oJywKICAgICAgICAgICAgICdkb20vRG9j
dW1lbnRQYXJzZXIuaCcsCisgICAgICAgICAgICAnZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50LmNw
cCcsCisgICAgICAgICAgICAnZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50LmgnLAogICAgICAgICAg
ICAgJ2RvbS9UcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcCcsCiAgICAgICAgICAgICAnZG9tL1Ry
YW5zZm9ybVNvdXJjZS5oJywKICAgICAgICAgICAgICdkb20vVHJhdmVyc2FsLmNwcCcsCmRpZmYg
LS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJpIGIvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRleCAy
NWM5NWZmLi4wZTdhODZmIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJpCisrKyBiL1dl
YkNvcmUvV2ViQ29yZS5wcmkKQEAgLTEzNCw4ICsxMzQsMTEgQEAgZ3JlYXRlclRoYW4oUVRfTUlO
T1JfVkVSU0lPTiwgNSkgewogICAgIH0KIH0KIAotIyBFbmFibGUgdG91Y2ggZXZlbnQgc3VwcG9y
dCB3aXRoIFF0IDQuNgotIWxlc3NUaGFuKFFUX01JTk9SX1ZFUlNJT04sIDYpOiBERUZJTkVTICs9
IEVOQUJMRV9UT1VDSF9FVkVOVFM9MQorIyBFbmFibGUgdG91Y2ggc3VwcG9ydCB3aXRoIFF0IDQu
NgorIWxlc3NUaGFuKFFUX01JTk9SX1ZFUlNJT04sIDYpIHsKKyAgICBERUZJTkVTICs9IEVOQUJM
RV9UT1VDSF9FVkVOVFM9MQorICAgIERFRklORVMgKz0gRU5BQkxFX1RSQU5TRk9STUFDVElPTl9F
VkVOVFM9MQorfQogCiAjIFVzZWQgdG8gY29tcHV0ZSBkZWZhdWx0cyBmb3IgdGhlIGJ1aWxkLXdl
YmtpdCBzY3JpcHQKIENPTkZJRyhjb21wdXRlX2RlZmF1bHRzKSB7CkBAIC0xNzYsNiArMTc5LDcg
QEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVI9MSk6IEZFQVRV
UkVfREVGSU5FU19KQVZBU0NSSVBUICs9IEUKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9PRkZM
SU5FX1dFQl9BUFBMSUNBVElPTlM9MSk6IEZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBUICs9IEVO
QUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlM9MQogY29udGFpbnMoREVGSU5FUywgRU5BQkxF
X1dFQl9TT0NLRVRTPTEpOiBGRUFUVVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBFTkFCTEVfV0VC
X1NPQ0tFVFM9MQogY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1RPVUNIX0VWRU5UUz0xKTogRkVB
VFVSRV9ERUZJTkVTX0pBVkFTQ1JJUFQgKz0gRU5BQkxFX1RPVUNIX0VWRU5UUz0xCitjb250YWlu
cyhERUZJTkVTLCBFTkFCTEVfVFJBTlNGT1JNQUNUSU9OX0VWRU5UUz0xKTogRkVBVFVSRV9ERUZJ
TkVTX0pBVkFTQ1JJUFQgKz0gRU5BQkxFX1RSQU5TRk9STUFDVElPTl9FVkVOVFM9MQogY29udGFp
bnMoREVGSU5FUywgRU5BQkxFX1RJTEVEX0JBQ0tJTkdfU1RPUkU9MSk6IEZFQVRVUkVfREVGSU5F
U19KQVZBU0NSSVBUICs9IEVOQUJMRV9USUxFRF9CQUNLSU5HX1NUT1JFPTEKIGNvbnRhaW5zKERF
RklORVMsIEVOQUJMRV9OT1RJRklDQVRJT05TPTEpOiBGRUFUVVJFX0RFRklORVNfSkFWQVNDUklQ
VCArPSBFTkFCTEVfTk9USUZJQ0FUSU9OUz0xCiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfTUVU
RVJfVEFHPTEpOiBGRUFUVVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBFTkFCTEVfTUVURVJfVEFH
PTEKQEAgLTMxMyw2ICszMTcsNyBAQCBJRExfQklORElOR1MgKz0gXAogICAgIGRvbS9Ub3VjaC5p
ZGwgXAogICAgIGRvbS9Ub3VjaEV2ZW50LmlkbCBcCiAgICAgZG9tL1RvdWNoTGlzdC5pZGwgXAor
ICAgIGRvbS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5pZGwgXAogICAgIGRvbS9UcmVlV2Fsa2VyLmlk
bCBcCiAgICAgZG9tL1VJRXZlbnQuaWRsIFwKICAgICBkb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQu
aWRsIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9XZWJDb3JlL1dlYkNvcmUu
cHJvCmluZGV4IGI5NzFiNjIuLjFiZmVkMzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5w
cm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtNTI0LDYgKzUyNCw3IEBAIFNPVVJDRVMg
Kz0gXAogICAgIGRvbS9Ub3VjaC5jcHAgXAogICAgIGRvbS9Ub3VjaEV2ZW50LmNwcCBcCiAgICAg
ZG9tL1RvdWNoTGlzdC5jcHAgXAorICAgIGRvbS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5jcHAgXAog
ICAgIGRvbS9UcmF2ZXJzYWwuY3BwIFwKICAgICBkb20vVHJlZVdhbGtlci5jcHAgXAogICAgIGRv
bS9VSUV2ZW50LmNwcCBcCkBAIC0xMjYwLDYgKzEyNjEsNyBAQCBIRUFERVJTICs9IFwKICAgICBk
b20vVG91Y2guaCBcCiAgICAgZG9tL1RvdWNoRXZlbnQuaCBcCiAgICAgZG9tL1RvdWNoTGlzdC5o
IFwKKyAgICBkb20vVHJhbnNmb3JtQWN0aW9uRXZlbnQuaCBcCiAgICAgZG9tL1RyYW5zZm9ybVNv
dXJjZS5oIFwKICAgICBkb20vVHJhdmVyc2FsLmggXAogICAgIGRvbS9UcmVlRGVwdGhMaW1pdC5o
IFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZl
YXR1cmVzLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1
cmVzLmNwcAppbmRleCA5M2NlMWVlLi43NDQ4ZTliIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRp
bmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAKKysrIGIvV2ViQ29yZS9iaW5k
aW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCkBAIC00Nyw2ICs0Nyw3IEBA
IGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNJbmRleGVkREJFbmFibGVkID0gZmFsc2U7
CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzV2ViR0xFbmFibGVkID0gZmFsc2U7CiBi
b29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzUHVzaFN0YXRlRW5hYmxlZCA9IGZhbHNlOwog
Ym9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc1RvdWNoRW5hYmxlZCA9IHRydWU7Citib29s
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzVHJhbnNmb3JtQWN0aW9uRW5hYmxlZCA9IHRydWU7
CiAKICNpZiBFTkFCTEUoVklERU8pCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvZ2Vu
ZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmggYi9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMv
UnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCmluZGV4IDJkNjJhMjcuLjA4ODdhNDggMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAt
MTEyLDYgKzExMiwxNCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgb250b3VjaGNhbmNlbEVu
YWJsZWQoKSB7IHJldHVybiBpc1RvdWNoRW5hYmxlZDsgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUo
VFJBTlNGT1JNQUNUSU9OX0VWRU5UUykKKyAgICBzdGF0aWMgYm9vbCB0cmFuc2Zvcm1hY3Rpb25F
bmFibGVkKCkgeyByZXR1cm4gaXNUcmFuc2Zvcm1BY3Rpb25FbmFibGVkOyB9CisgICAgc3RhdGlj
IHZvaWQgc2V0VHJhbnNmb3JtQWN0aW9uRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBpc1RyYW5z
Zm9ybUFjdGlvbkVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KKyAgICBzdGF0aWMgYm9vbCBvbnRyYW5z
Zm9ybWFjdGlvbnN0YXJ0RW5hYmxlZCgpIHsgcmV0dXJuIGlzVHJhbnNmb3JtQWN0aW9uRW5hYmxl
ZDsgfQorICAgIHN0YXRpYyBib29sIG9udHJhbnNmb3JtYWN0aW9udXBkYXRlRW5hYmxlZCgpIHsg
cmV0dXJuIGlzVHJhbnNmb3JtQWN0aW9uRW5hYmxlZDsgfQorICAgIHN0YXRpYyBib29sIG9udHJh
bnNmb3JtYWN0aW9uZW5kRW5hYmxlZCgpIHsgcmV0dXJuIGlzVHJhbnNmb3JtQWN0aW9uRW5hYmxl
ZDsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAgICAgLy8gTmV2ZXIgaW5zdGFudGlhdGUuCiAgICAg
UnVudGltZUVuYWJsZWRGZWF0dXJlcygpIHsgfQpAQCAtMTI1LDYgKzEzMyw3IEBAIHByaXZhdGU6
CiAgICAgc3RhdGljIGJvb2wgaXNXZWJHTEVuYWJsZWQ7CiAgICAgc3RhdGljIGJvb2wgaXNQdXNo
U3RhdGVFbmFibGVkOwogICAgIHN0YXRpYyBib29sIGlzVG91Y2hFbmFibGVkOworICAgIHN0YXRp
YyBib29sIGlzVHJhbnNmb3JtQWN0aW9uRW5hYmxlZDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAg
Yi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCmluZGV4IGI2MTkwZmYuLjUx
MzE4NzEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAK
KysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcApAQCAtODYsNiArODYs
MTAgQEAKICNpbmNsdWRlICJKU1RvdWNoRXZlbnQuaCIKICNpbmNsdWRlICJUb3VjaEV2ZW50Lmgi
CiAjZW5kaWYKKyNpZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VWRU5UUykKKyNpbmNsdWRlICJK
U1RyYW5zZm9ybUFjdGlvbkV2ZW50LmgiCisjaW5jbHVkZSAiVHJhbnNmb3JtQWN0aW9uRXZlbnQu
aCIKKyNlbmRpZgogCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAjaW5jbHVkZSAiSURC
RXJyb3JFdmVudC5oIgpAQCAtMTMzLDYgKzEzNywxMCBAQCBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRl
KiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFdmVudCogZXZlbnQpCiAg
ICAgICAgIGVsc2UgaWYgKGV2ZW50LT5pc1RvdWNoRXZlbnQoKSkKICAgICAgICAgICAgIHdyYXBw
ZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgVG91Y2hF
dmVudCwgZXZlbnQpOwogI2VuZGlmCisjaWYgRU5BQkxFKFRSQU5TRk9STUFDVElPTl9FVkVOVFMp
CisgICAgICAgIGVsc2UgaWYgKGV2ZW50LT5pc1RyYW5zZm9ybUFjdGlvbkV2ZW50KCkpCisgICAg
ICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBFUihleGVjLCBnbG9iYWxP
YmplY3QsIFRyYW5zZm9ybUFjdGlvbkV2ZW50LCBldmVudCk7CisjZW5kaWYKICAgICAgICAgZWxz
ZQogICAgICAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fT0JKRUNUX1dSQVBQRVIoZXhlYywg
Z2xvYmFsT2JqZWN0LCBVSUV2ZW50LCBldmVudCk7CiAgICAgfSBlbHNlIGlmIChldmVudC0+aXNN
dXRhdGlvbkV2ZW50KCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OEV2ZW50Q3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0
b20uY3BwCmluZGV4IGJjZTE1NjEuLjE1MmQ5NmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20uY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RXZlbnRDdXN0b20uY3BwCkBAIC01Niw2ICs1Niw3IEBACiAjaW5jbHVkZSAiVjhT
dG9yYWdlRXZlbnQuaCIKICNpbmNsdWRlICJWOFRleHRFdmVudC5oIgogI2luY2x1ZGUgIlY4VG91
Y2hFdmVudC5oIgorI2luY2x1ZGUgIlY4VHJhbnNmb3JtQWN0aW9uRXZlbnQuaCIKICNpbmNsdWRl
ICJWOFVJRXZlbnQuaCIKICNpbmNsdWRlICJWOFdlYktpdEFuaW1hdGlvbkV2ZW50LmgiCiAjaW5j
bHVkZSAiVjhXZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCIKQEAgLTExNyw2ICsxMTgsMTAgQEAgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoRXZlbnQqIGltcGwpCiAgICAgICAgIGlmIChpbXBsLT5p
c1RvdWNoRXZlbnQoKSkKICAgICAgICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PFRvdWNo
RXZlbnQqPihpbXBsKSk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VWRU5U
UykKKyAgICAgICAgaWYgKGltcGwtPmlzVHJhbnNmb3JtQWN0aW9uRXZlbnQoKSkKKyAgICAgICAg
ICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PFRyYW5zZm9ybUFjdGlvbkV2ZW50Kj4oaW1wbCkp
OworI2VuZGlmCiAgICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PFVJRXZlbnQqPihpbXBs
KSk7CiAgICAgfQogICAgIGlmIChpbXBsLT5pc011dGF0aW9uRXZlbnQoKSkKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRl
eCBlOWJhNzhjLi45ZTBiYjJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAK
KysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0xODEsNiArMTgxLDEwIEBACiAjaW5j
bHVkZSAiVG91Y2hFdmVudC5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9O
X0VWRU5UUykKKyNpbmNsdWRlICJUcmFuc2Zvcm1BY3Rpb25FdmVudC5oIgorI2VuZGlmCisKICNp
ZiBFTkFCTEUoV01MKQogI2luY2x1ZGUgIldNTERvY3VtZW50LmgiCiAjaW5jbHVkZSAiV01MRWxl
bWVudC5oIgpAQCAtMzIyMCw2ICszMjI0LDE1IEBAIFBhc3NSZWZQdHI8RXZlbnQ+IERvY3VtZW50
OjpjcmVhdGVFdmVudChjb25zdCBTdHJpbmcmIGV2ZW50VHlwZSwgRXhjZXB0aW9uQ29kZSYKICNl
bmRpZgogICAgICAgICBldmVudCA9IFRvdWNoRXZlbnQ6OmNyZWF0ZSgpOwogI2VuZGlmCisKKyNp
ZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VWRU5UUykKKyNpZiBVU0UoVjgpCisgICAgZWxzZSBp
ZiAoZXZlbnRUeXBlID09ICJUcmFuc2Zvcm1BY3Rpb25FdmVudCIgJiYgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6dHJhbnNmb3JtYWN0aW9uRW5hYmxlZCgpKQorI2Vsc2UKKyAgICBlbHNlIGlmIChl
dmVudFR5cGUgPT0gIlRyYW5zZm9ybUFjdGlvbkV2ZW50IikKKyNlbmRpZgorICAgICAgICBldmVu
dCA9IFRyYW5zZm9ybUFjdGlvbkV2ZW50OjpjcmVhdGUoKTsKKyNlbmRpZgogICAgIGlmIChldmVu
dCkKICAgICAgICAgcmV0dXJuIGV2ZW50LnJlbGVhc2UoKTsKIApAQCAtMzI2NSw2ICszMjc4LDEy
IEBAIHZvaWQgRG9jdW1lbnQ6OmFkZExpc3RlbmVyVHlwZUlmTmVlZGVkKGNvbnN0IEF0b21pY1N0
cmluZyYgZXZlbnRUeXBlKQogICAgICAgICAgICAgcGFnZS0+Y2hyb21lKCktPmNsaWVudCgpLT5u
ZWVkVG91Y2hFdmVudHModHJ1ZSk7CiAgICAgfQogI2VuZGlmCisjaWYgRU5BQkxFKFRSQU5TRk9S
TUFDVElPTl9FVkVOVFMpCisgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS50
cmFuc2Zvcm1hY3Rpb25zdGFydEV2ZW50CisgICAgICAgICAgICAgfHwgZXZlbnRUeXBlID09IGV2
ZW50TmFtZXMoKS50cmFuc2Zvcm1hY3Rpb251cGRhdGVFdmVudAorICAgICAgICAgICAgIHx8IGV2
ZW50VHlwZSA9PSBldmVudE5hbWVzKCkudHJhbnNmb3JtYWN0aW9uZW5kRXZlbnQpCisgICAgICAg
IGFkZExpc3RlbmVyVHlwZShUUkFOU0ZPUk1BQ1RJT05fTElTVEVORVIpOworI2VuZGlmCiB9CiAK
IENTU1N0eWxlRGVjbGFyYXRpb24qIERvY3VtZW50OjpnZXRPdmVycmlkZVN0eWxlKEVsZW1lbnQq
LCBjb25zdCBTdHJpbmcmKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggYmMxMmRhMy4uZDBhMjMxNCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0y
NzEsNiArMjcxLDExIEBAIHB1YmxpYzoKICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKHRvdWNoZW5kKTsKICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHRvdWNo
Y2FuY2VsKTsKICNlbmRpZgorI2lmIEVOQUJMRShUUkFOU0ZPUk1BQ1RJT05fRVZFTlRTKQorICAg
IERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodHJhbnNmb3JtYWN0aW9uc3RhcnQpOwor
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodHJhbnNmb3JtYWN0aW9udXBkYXRl
KTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHRyYW5zZm9ybWFjdGlvbmVu
ZCk7CisjZW5kaWYKIAogICAgIERvY3VtZW50VHlwZSogZG9jdHlwZSgpIGNvbnN0IHsgcmV0dXJu
IG1fZG9jVHlwZS5nZXQoKTsgfQogCkBAIC02NjAsNyArNjY1LDggQEAgcHVibGljOgogICAgICAg
ICBBTklNQVRJT05JVEVSQVRJT05fTElTVEVORVIgICAgICAgICAgPSAweDQwMCwKICAgICAgICAg
VFJBTlNJVElPTkVORF9MSVNURU5FUiAgICAgICAgICAgICAgID0gMHg4MDAsCiAgICAgICAgIEJF
Rk9SRUxPQURfTElTVEVORVIgICAgICAgICAgICAgICAgICA9IDB4MTAwMCwKLSAgICAgICAgVE9V
Q0hfTElTVEVORVIgICAgICAgICAgICAgICAgICAgICAgID0gMHgyMDAwCisgICAgICAgIFRPVUNI
X0xJU1RFTkVSICAgICAgICAgICAgICAgICAgICAgICA9IDB4MjAwMCwKKyAgICAgICAgVFJBTlNG
T1JNQUNUSU9OX0xJU1RFTkVSICAgICAgICAgICAgID0gMHg0MDAwCiAgICAgfTsKIAogICAgIGJv
b2wgaGFzTGlzdGVuZXJUeXBlKExpc3RlbmVyVHlwZSBsaXN0ZW5lclR5cGUpIGNvbnN0IHsgcmV0
dXJuIChtX2xpc3RlbmVyVHlwZXMgJiBsaXN0ZW5lclR5cGUpOyB9CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5pZGwgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKaW5kZXggOTU5
OWQ3Ni4uYzBhY2Y1MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCisrKyBi
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbApAQCAtMzEyLDYgKzMxMiw5IEBAIG1vZHVsZSBjb3Jl
IHsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSxDb25kaXRpb25hbD1UT1VDSF9FVkVOVFMs
RW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRvdWNobW92ZTsKICAgICAgICAgYXR0
cmlidXRlIFtEb250RW51bSxDb25kaXRpb25hbD1UT1VDSF9FVkVOVFMsRW5hYmxlZEF0UnVudGlt
ZV0gRXZlbnRMaXN0ZW5lciBvbnRvdWNoZW5kOwogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVt
LENvbmRpdGlvbmFsPVRPVUNIX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVy
IG9udG91Y2hjYW5jZWw7CisgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sQ29uZGl0aW9uYWw9
VFJBTlNGT1JNQUNUSU9OX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9u
dHJhbnNmb3JtYWN0aW9uc3RhcnQ7CisgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sQ29uZGl0
aW9uYWw9VFJBTlNGT1JNQUNUSU9OX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3Rl
bmVyIG9udHJhbnNmb3JtYWN0aW9udXBkYXRlOworICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVt
LENvbmRpdGlvbmFsPVRSQU5TRk9STUFDVElPTl9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZl
bnRMaXN0ZW5lciBvbnRyYW5zZm9ybWFjdGlvbmVuZDsKICNlbmRpZgogCiAjaWYgZGVmaW5lZChM
QU5HVUFHRV9DUFApICYmIExBTkdVQUdFX0NQUApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRWxl
bWVudC5oIGIvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IGZjNzI5OGEuLmJkOWFiNzAgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9XZWJDb3JlL2RvbS9FbGVtZW50
LmgKQEAgLTkzLDYgKzkzLDExIEBAIHB1YmxpYzoKICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5U
X0xJU1RFTkVSKHRvdWNoZW5kKTsKICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KHRvdWNoY2FuY2VsKTsKICNlbmRpZgorI2lmIEVOQUJMRShUUkFOU0ZPUk1BQ1RJT05fRVZFTlRT
KQorICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodHJhbnNmb3JtYWN0aW9uc3Rh
cnQpOworICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodHJhbnNmb3JtYWN0aW9u
dXBkYXRlKTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHRyYW5zZm9ybWFj
dGlvbmVuZCk7CisjZW5kaWYKIAogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdt
ZW50PiBjcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQoY29uc3QgU3RyaW5nJiwgRnJhZ21lbnRTY3Jp
cHRpbmdQZXJtaXNzaW9uID0gRnJhZ21lbnRTY3JpcHRpbmdBbGxvd2VkKTsKIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwgYi9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbAppbmRl
eCA2YmIwNjg3Li5jODY4ODVkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbAor
KysgYi9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbApAQCAtMTk5LDYgKzE5OSw5IEBAIG1vZHVsZSBj
b3JlIHsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSxDb25kaXRpb25hbD1UT1VDSF9FVkVO
VFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRvdWNobW92ZTsKICAgICAgICAg
YXR0cmlidXRlIFtEb250RW51bSxDb25kaXRpb25hbD1UT1VDSF9FVkVOVFMsRW5hYmxlZEF0UnVu
dGltZV0gRXZlbnRMaXN0ZW5lciBvbnRvdWNoZW5kOwogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRF
bnVtLENvbmRpdGlvbmFsPVRPVUNIX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3Rl
bmVyIG9udG91Y2hjYW5jZWw7CisgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sQ29uZGl0aW9u
YWw9VFJBTlNGT1JNQUNUSU9OX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVy
IG9udHJhbnNmb3JtYWN0aW9uc3RhcnQ7CisgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sQ29u
ZGl0aW9uYWw9VFJBTlNGT1JNQUNUSU9OX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExp
c3RlbmVyIG9udHJhbnNmb3JtYWN0aW9udXBkYXRlOworICAgICAgICBhdHRyaWJ1dGUgW0RvbnRF
bnVtLENvbmRpdGlvbmFsPVRSQU5TRk9STUFDVElPTl9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0g
RXZlbnRMaXN0ZW5lciBvbnRyYW5zZm9ybWFjdGlvbmVuZDsKICNlbmRpZgogICAgIH07CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50LmNwcCBiL1dlYkNvcmUvZG9tL0V2ZW50LmNwcApp
bmRleCA0ZWEzZTBjLi5iMTNjMjgxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudC5jcHAK
KysrIGIvV2ViQ29yZS9kb20vRXZlbnQuY3BwCkBAIC0yMTksNiArMjE5LDEzIEBAIGJvb2wgRXZl
bnQ6OmlzRGV2aWNlT3JpZW50YXRpb25FdmVudCgpIGNvbnN0CiB9CiAjZW5kaWYKIAorI2lmIEVO
QUJMRShUUkFOU0ZPUk1BQ1RJT05fRVZFTlRTKQorYm9vbCBFdmVudDo6aXNUcmFuc2Zvcm1BY3Rp
b25FdmVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorI2VuZGlmCisKIGJvb2wg
RXZlbnQ6OmZyb21Vc2VyR2VzdHVyZSgpCiB7CiAgICAgaWYgKCFVc2VyR2VzdHVyZUluZGljYXRv
cjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkpCkBAIC0yMzcsNiArMjQ0LDEyIEBAIGJvb2wgRXZl
bnQ6OmZyb21Vc2VyR2VzdHVyZSgpCiAgICAgICAgIHx8IHR5cGUgPT0gZXZlbnROYW1lcygpLnRv
dWNoc3RhcnRFdmVudCB8fCB0eXBlID09IGV2ZW50TmFtZXMoKS50b3VjaG1vdmVFdmVudAogICAg
ICAgICB8fCB0eXBlID09IGV2ZW50TmFtZXMoKS50b3VjaGVuZEV2ZW50IHx8IHR5cGUgPT0gZXZl
bnROYW1lcygpLnRvdWNoY2FuY2VsRXZlbnQKICNlbmRpZgorI2lmIEVOQUJMRShUUkFOU0ZPUk1B
Q1RJT05fRVZFTlRTKQorICAgICAgICAvLyB0cmFuc2Zvcm1hY3Rpb24gZXZlbnRzCisgICAgICAg
IHx8IHR5cGUgPT0gZXZlbnROYW1lcygpLnRyYW5zZm9ybWFjdGlvbnN0YXJ0RXZlbnQKKyAgICAg
ICAgfHwgdHlwZSA9PSBldmVudE5hbWVzKCkudHJhbnNmb3JtYWN0aW9udXBkYXRlRXZlbnQKKyAg
ICAgICAgfHwgdHlwZSA9PSBldmVudE5hbWVzKCkudHJhbnNmb3JtYWN0aW9uZW5kRXZlbnQKKyNl
bmRpZgogICAgICAgICAvLyBvdGhlciBhY2NlcHRlZCBldmVudHMKICAgICAgICAgfHwgdHlwZSA9
PSBldmVudE5hbWVzKCkuc2VsZWN0RXZlbnQgfHwgdHlwZSA9PSBldmVudE5hbWVzKCkuY2hhbmdl
RXZlbnQKICAgICAgICAgfHwgdHlwZSA9PSBldmVudE5hbWVzKCkuZm9jdXNFdmVudCB8fCB0eXBl
ID09IGV2ZW50TmFtZXMoKS5ibHVyRXZlbnQKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50
LmggYi9XZWJDb3JlL2RvbS9FdmVudC5oCmluZGV4IDJiNTcwZDUuLjJjMzI1NTUgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvZG9tL0V2ZW50LmgKKysrIGIvV2ViQ29yZS9kb20vRXZlbnQuaApAQCAtMTQy
LDYgKzE0Miw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNpZiBFTkFCTEUoREVWSUNFX09SSUVO
VEFUSU9OKQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNEZXZpY2VPcmllbnRhdGlvbkV2ZW50KCkg
Y29uc3Q7CiAjZW5kaWYKKyNpZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VWRU5UUykKKyAgICAg
ICAgdmlydHVhbCBib29sIGlzVHJhbnNmb3JtQWN0aW9uRXZlbnQoKSBjb25zdDsKKyNlbmRpZgog
ICAgICAgICBib29sIGZyb21Vc2VyR2VzdHVyZSgpOwogICAgICAgICAKICAgICAgICAgYm9vbCBw
cm9wYWdhdGlvblN0b3BwZWQoKSBjb25zdCB7IHJldHVybiBtX3Byb3BhZ2F0aW9uU3RvcHBlZCB8
fCBtX2ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZDsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9k
b20vRXZlbnROYW1lcy5oIGIvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCmluZGV4IDZjY2VjZWYu
LmJhMmQ4ZTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAorKysgYi9XZWJD
b3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTE1NCw2ICsxNTQsMTAgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIG1hY3JvKHRvdWNoZW5kKSBcCiAgICAgbWFjcm8odG91Y2hjYW5jZWwpIFwKICAg
ICBcCisgICAgbWFjcm8odHJhbnNmb3JtYWN0aW9uc3RhcnQpIFwKKyAgICBtYWNybyh0cmFuc2Zv
cm1hY3Rpb251cGRhdGUpIFwKKyAgICBtYWNybyh0cmFuc2Zvcm1hY3Rpb25lbmQpIFwKKyAgICBc
CiAgICAgbWFjcm8oc3VjY2VzcykgXAogICAgIFwKICAgICBtYWNybyhsb2FkZW5kKSBcCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluIGIvV2ViQ29yZS9odG1s
L0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgppbmRleCA5MGIyNDlhLi45YWZmZDgxIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCisrKyBiL1dlYkNvcmUvaHRtbC9I
VE1MQXR0cmlidXRlTmFtZXMuaW4KQEAgLTIxMyw2ICsyMTMsOSBAQCBvbnRvdWNoc3RhcnQKIG9u
dG91Y2htb3ZlCiBvbnRvdWNoZW5kCiBvbnRvdWNoY2FuY2VsCitvbnRyYW5zZm9ybWFjdGlvbnN0
YXJ0CitvbnRyYW5zZm9ybWFjdGlvbnVwZGF0ZQorb250cmFuc2Zvcm1hY3Rpb25lbmQKIG9udW5s
b2FkCiBvbnZvbHVtZWNoYW5nZQogb253YWl0aW5nCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
SFRNTEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAppbmRleCAwNTlm
MGExLi4wMGU3MDVkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCisr
KyBiL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKQEAgLTI2NCw2ICsyNjQsMTIgQEAgdm9p
ZCBIVE1MRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKiBhdHRyKQogICAg
ICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS50b3VjaGVuZEV2ZW50
LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0dHIpKTsKICAgICB9IGVsc2Ug
aWYgKGF0dHItPm5hbWUoKSA9PSBvbnRvdWNoY2FuY2VsQXR0cikgewogICAgICAgICBzZXRBdHRy
aWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS50b3VjaGNhbmNlbEV2ZW50LCBjcmVhdGVB
dHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0dHIpKTsKKyAgICB9IGVsc2UgaWYgKGF0dHIt
Pm5hbWUoKSA9PSBvbnRyYW5zZm9ybWFjdGlvbnN0YXJ0QXR0cikgeworICAgICAgICBzZXRBdHRy
aWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS50cmFuc2Zvcm1hY3Rpb25zdGFydEV2ZW50
LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0dHIpKTsKKyAgICB9IGVsc2Ug
aWYgKGF0dHItPm5hbWUoKSA9PSBvbnRyYW5zZm9ybWFjdGlvbnVwZGF0ZUF0dHIpIHsKKyAgICAg
ICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkudHJhbnNmb3JtYWN0aW9u
dXBkYXRlRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhpcywgYXR0cikpOwor
ICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG9udHJhbnNmb3JtYWN0aW9uZW5kQXR0cikg
eworICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS50cmFuc2Zv
cm1hY3Rpb25lbmRFdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRy
KSk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmggYi9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKaW5kZXggNDc2NWIzMS4uYjE3OWE0NCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCisrKyBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
aApAQCAtMzQwLDYgKzM0MCwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIERFRklO
RV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodG91Y2hlbmQpOwogICAgICAgICBERUZJTkVfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKHRvdWNoY2FuY2VsKTsKICNlbmRpZgorI2lmIEVOQUJMRShU
UkFOU0ZPUk1BQ1RJT05fRVZFTlRTKQorICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSKHRyYW5zZm9ybWFjdGlvbnN0YXJ0KTsKKyAgICAgICAgREVGSU5FX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUih0cmFuc2Zvcm1hY3Rpb251cGRhdGUpOworICAgICAgICBERUZJTkVfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKHRyYW5zZm9ybWFjdGlvbmVuZCk7CisjZW5kaWYKICAgICAg
ICAgdm9pZCBjYXB0dXJlRXZlbnRzKCk7CiAgICAgICAgIHZvaWQgcmVsZWFzZUV2ZW50cygpOwog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbCBiL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuaWRsCmluZGV4IDNjM2ZiNTYuLjI2ZDVjZTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC0y
OTksNiArMjk5LDEwIEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRp
dGlvbmFsPVRPVUNIX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9udG91
Y2hlbmQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9VE9VQ0hfRVZFTlRTLEVuYWJs
ZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250b3VjaGNhbmNlbDsKIAorICAgICAgICBhdHRy
aWJ1dGUgW0NvbmRpdGlvbmFsPVRSQU5TRk9STUFDVElPTl9FVkVOVFMsRW5hYmxlZEF0UnVudGlt
ZV0gRXZlbnRMaXN0ZW5lciBvbnRyYW5zZm9ybWFjdGlvbnN0YXJ0OworICAgICAgICBhdHRyaWJ1
dGUgW0NvbmRpdGlvbmFsPVRSQU5TRk9STUFDVElPTl9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0g
RXZlbnRMaXN0ZW5lciBvbnRyYW5zZm9ybWFjdGlvbnVwZGF0ZTsKKyAgICAgICAgYXR0cmlidXRl
IFtDb25kaXRpb25hbD1UUkFOU0ZPUk1BQ1RJT05fRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2
ZW50TGlzdGVuZXIgb250cmFuc2Zvcm1hY3Rpb25lbmQ7CisKICAgICAgICAgYXR0cmlidXRlIFtD
b25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT05dIEV2ZW50TGlzdGVuZXIgb25kZXZpY2Vvcmll
bnRhdGlvbjsKIAogICAgICAgICAvLyBFdmVudFRhcmdldCBpbnRlcmZhY2UKQEAgLTczMCw3ICs3
MzQsNyBAQCBtb2R1bGUgd2luZG93IHsKICNlbmRpZgogCiAgICAgICAgIGF0dHJpYnV0ZSBbQ29u
ZGl0aW9uYWw9VE9VQ0hfRVZFTlRTXSBUb3VjaEV2ZW50Q29uc3RydWN0b3IgVG91Y2hFdmVudDsK
LQorICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVRSQU5TRk9STUFDVElPTl9FVkVOVFNd
IFRyYW5zZm9ybUFjdGlvbkV2ZW50Q29uc3RydWN0b3IgVHJhbnNmb3JtQWN0aW9uRXZlbnQ7CiAg
ICAgICAgIGF0dHJpYnV0ZSBET01Gb3JtRGF0YUNvbnN0cnVjdG9yIEZvcm1EYXRhOwogCiAgICAg
ICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9RklMRV9SRUFERVJ8RklMRV9XUklURVJdIEZpbGVF
cnJvckNvbnN0cnVjdG9yIEZpbGVFcnJvcjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9jcmVhdGUtdHJhbnNmb3JtYWN0aW9uLWV2ZW50LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9jcmVhdGUt
dHJhbnNmb3JtYWN0aW9uLWV2ZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi4wOTY1YTVmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvdHJhbnNmb3JtYWN0aW9uL2NyZWF0ZS10cmFuc2Zvcm1hY3Rpb24tZXZlbnQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorVGhpcyB0ZXN0cyB3aGV0aGVyIHRoZSBET00gY2Fu
IGNyZWF0ZSBUcmFuc2Zvcm1BY3Rpb25FdmVudHMuCitQQVNTIGV2ZW50IGlzIG5vbi1udWxsLgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9jcmVhdGUtdHJh
bnNmb3JtYWN0aW9uLWV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90cmFuc2Zv
cm1hY3Rpb24vY3JlYXRlLXRyYW5zZm9ybWFjdGlvbi1ldmVudC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmNTdlMWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy90cmFuc2Zvcm1hY3Rpb24vY3JlYXRlLXRyYW5zZm9ybWFjdGlvbi1l
dmVudC5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvY3JlYXRlLXRyYW5zZm9ybWFjdGlvbi1ldmVudC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy90cmFuc2Zvcm1hY3Rpb24vcmVzb3VyY2VzL2NyZWF0ZS10cmFuc2Zvcm1h
Y3Rpb24tZXZlbnQuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90cmFuc2Zvcm1hY3Rpb24v
cmVzb3VyY2VzL2NyZWF0ZS10cmFuc2Zvcm1hY3Rpb24tZXZlbnQuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uZDIzMDhiZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3RyYW5zZm9ybWFjdGlvbi9yZXNvdXJjZXMvY3JlYXRlLXRyYW5zZm9y
bWFjdGlvbi1ldmVudC5qcwpAQCAtMCwwICsxLDE3IEBACitkZXNjcmlwdGlvbiA9ICJUaGlzIHRl
c3RzIHdoZXRoZXIgdGhlIERPTSBjYW4gY3JlYXRlIFRyYW5zZm9ybUFjdGlvbkV2ZW50cy4iOwor
CitkZWJ1ZyhkZXNjcmlwdGlvbik7CisKK3ZhciBldmVudCA9IG51bGw7CisKK3RyeQoreworICAg
IGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoIlRyYW5zZm9ybUFjdGlvbkV2ZW50Iik7Cisg
ICAgc2hvdWxkQmVOb25OdWxsKCJldmVudCIpOworfQorY2F0Y2ggKGUpCit7CisgICAgdGVzdEZh
aWxlZCgiQW4gZXhjZXB0aW9uIHdhcyB0aHJvd246ICIgKyBlLm1lc3NhZ2UpOworfQorCitzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vVHJhbnNmb3Jt
QWN0aW9uRXZlbnQuY3BwIGIvV2ViQ29yZS9kb20vVHJhbnNmb3JtQWN0aW9uRXZlbnQuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3NDY2N2EKLS0tIC9kZXYvbnVsbAor
KysgYi9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5jcHAKQEAgLTAsMCArMSw4MCBA
QAorLyoKKyAgICBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0
cyBzdWJzaWRpYXJ5KC1pZXMpCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgICB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICAgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICAgIEJvc3RvbiwgTUEg
MDIxMTAtMTMwMSwgVVNBLgorKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxF
KFRSQU5TRk9STUFDVElPTl9FVkVOVFMpCisKKyNpbmNsdWRlICJUcmFuc2Zvcm1BY3Rpb25FdmVu
dC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1RyYW5zZm9ybUFjdGlvbkV2ZW50OjpUcmFu
c2Zvcm1BY3Rpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsCisgICAgYm9vbCBjYW5C
dWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIGlu
dCBzY3JlZW5YLAorICAgIGludCBzY3JlZW5ZLCBpbnQgcGFnZVgsIGludCBwYWdlWSwgYm9vbCBj
dHJsS2V5LCBib29sIGFsdEtleSwKKyAgICBib29sIHNoaWZ0S2V5LCBib29sIG1ldGFLZXksIGlu
dCB0cmFuc2xhdGVYLCBpbnQgdHJhbnNsYXRlWSwKKyAgICBpbnQgdHJhbnNsYXRlU3BlZWRYLCBp
bnQgdHJhbnNsYXRlU3BlZWRZLCBmbG9hdCBzY2FsZSwgZmxvYXQgc2NhbGVTcGVlZCwKKyAgICBm
bG9hdCByb3RhdGUsIGZsb2F0IHJvdGF0ZVNwZWVkKQorICAgIDogTW91c2VSZWxhdGVkRXZlbnQo
dHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlLCB2aWV3LCAwLCBzY3JlZW5YLCBzY3JlZW5ZLAor
ICAgICAgICAgICAgICAgICAgICAgICAgcGFnZVgsIHBhZ2VZLCBjdHJsS2V5LCBhbHRLZXksIHNo
aWZ0S2V5LCBtZXRhS2V5KQorICAgICwgbV90cmFuc2xhdGVYKHRyYW5zbGF0ZVgpCisgICAgLCBt
X3RyYW5zbGF0ZVkodHJhbnNsYXRlWSkKKyAgICAsIG1fdHJhbnNsYXRlU3BlZWRYKHRyYW5zbGF0
ZVNwZWVkWCkKKyAgICAsIG1fdHJhbnNsYXRlU3BlZWRZKHRyYW5zbGF0ZVNwZWVkWSkKKyAgICAs
IG1fc2NhbGUoc2NhbGUpCisgICAgLCBtX3NjYWxlU3BlZWQoc2NhbGVTcGVlZCkKKyAgICAsIG1f
cm90YXRlKHJvdGF0ZSkKKyAgICAsIG1fcm90YXRlU3BlZWQocm90YXRlU3BlZWQpCit7Cit9CisK
K3ZvaWQgVHJhbnNmb3JtQWN0aW9uRXZlbnQ6OmluaXRUcmFuc2Zvcm1BY3Rpb25FdmVudChjb25z
dCBBdG9taWNTdHJpbmcmIHR5cGUsCisgICAgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJs
ZSwgUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIGludCBzY3JlZW5YLAorICAgIGludCBz
Y3JlZW5ZLCBpbnQgY2xpZW50WCwgaW50IGNsaWVudFksIGJvb2wgY3RybEtleSwgYm9vbCBhbHRL
ZXksCisgICAgYm9vbCBzaGlmdEtleSwgYm9vbCBtZXRhS2V5LCBpbnQgdHJhbnNsYXRlWCwgaW50
IHRyYW5zbGF0ZVksCisgICAgaW50IHRyYW5zbGF0ZVNwZWVkWCwgaW50IHRyYW5zbGF0ZVNwZWVk
WSwgZmxvYXQgc2NhbGUsIGZsb2F0IHNjYWxlU3BlZWQsCisgICAgZmxvYXQgcm90YXRlLCBmbG9h
dCByb3RhdGVTcGVlZCkKK3sKKyAgICBpZiAoZGlzcGF0Y2hlZCgpKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbml0VUlFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUsIHZpZXcsIDAp
OworCisgICAgbV9jdHJsS2V5ID0gY3RybEtleTsKKyAgICBtX2FsdEtleSA9IGFsdEtleTsKKyAg
ICBtX3NoaWZ0S2V5ID0gc2hpZnRLZXk7CisgICAgbV9tZXRhS2V5ID0gbWV0YUtleTsKKworICAg
IG1fc2NyZWVuWCA9IHNjcmVlblg7CisgICAgbV9zY3JlZW5ZID0gc2NyZWVuWTsKKyAgICBpbml0
Q29vcmRpbmF0ZXMoY2xpZW50WCwgY2xpZW50WSk7CisKKyAgICBtX3RyYW5zbGF0ZVggPSB0cmFu
c2xhdGVYOworICAgIG1fdHJhbnNsYXRlWSA9IHRyYW5zbGF0ZVk7CisgICAgbV90cmFuc2xhdGVT
cGVlZFggPSB0cmFuc2xhdGVTcGVlZFg7CisgICAgbV90cmFuc2xhdGVTcGVlZFkgPSB0cmFuc2xh
dGVTcGVlZFk7CisgICAgbV9zY2FsZSA9IHNjYWxlOworICAgIG1fc2NhbGVTcGVlZCA9IHNjYWxl
U3BlZWQ7CisgICAgbV9yb3RhdGUgPSByb3RhdGU7CisgICAgbV9yb3RhdGVTcGVlZCA9IHJvdGF0
ZVNwZWVkOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUo
VFJBTlNGT1JNQUNUSU9OX0VWRU5UUykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1RyYW5zZm9y
bUFjdGlvbkV2ZW50LmggYi9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0M2Y1ZGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1BY3Rpb25FdmVudC5oCkBAIC0wLDAgKzEsODkgQEAKKy8q
CisgICAgQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vi
c2lkaWFyeSgtaWVzKQorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgICAgTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgICAgdmVyc2lvbiAy
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor
CisgICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCisgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g
dGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICAgIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZQorICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCisgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAgICBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KKyovCisKKyNpZm5kZWYgVHJhbnNmb3JtQWN0aW9uRXZlbnRfaAorI2RlZmlu
ZSBUcmFuc2Zvcm1BY3Rpb25FdmVudF9oCisKKyNpZiBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VW
RU5UUykKKworI2luY2x1ZGUgIk1vdXNlUmVsYXRlZEV2ZW50LmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgVHJhbnNmb3JtQWN0aW9uRXZlbnQgOiBwdWJsaWMgTW91c2VSZWxhdGVk
RXZlbnQgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRyYW5zZm9ybUFjdGlvbkV2
ZW50PiBjcmVhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBUcmFuc2Zv
cm1BY3Rpb25FdmVudCk7CisgICAgfQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRyYW5zZm9ybUFj
dGlvbkV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLAorICAgICAgICBib29s
IGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmll
dywKKyAgICAgICAgaW50IHNjcmVlblgsIGludCBzY3JlZW5ZLCBpbnQgcGFnZVgsIGludCBwYWdl
WSwgYm9vbCBjdHJsS2V5LAorICAgICAgICBib29sIGFsdEtleSwgYm9vbCBzaGlmdEtleSwgYm9v
bCBtZXRhS2V5LCBpbnQgdHJhbnNsYXRlWCwKKyAgICAgICAgaW50IHRyYW5zbGF0ZVksIGludCB0
cmFuc2xhdGVTcGVlZFgsIGludCB0cmFuc2xhdGVTcGVlZFksIGZsb2F0IHNjYWxlLAorICAgICAg
ICBmbG9hdCBzY2FsZVNwZWVkLCBmbG9hdCByb3RhdGUsIGZsb2F0IHJvdGF0ZVNwZWVkKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBUcmFuc2Zvcm1BY3Rpb25FdmVudCh0eXBl
LCBjYW5CdWJibGUsIGNhbmNlbGFibGUsCisgICAgICAgICAgICB2aWV3LCBzY3JlZW5YLCBzY3Jl
ZW5ZLCBwYWdlWCwgcGFnZVksIGN0cmxLZXksIGFsdEtleSwgc2hpZnRLZXksCisgICAgICAgICAg
ICBtZXRhS2V5LCB0cmFuc2xhdGVYLCB0cmFuc2xhdGVZLCB0cmFuc2xhdGVTcGVlZFgsIHRyYW5z
bGF0ZVNwZWVkWSwKKyAgICAgICAgICAgIHNjYWxlLCBzY2FsZVNwZWVkLCByb3RhdGUsIHJvdGF0
ZVNwZWVkKSk7CisgICAgfQorCisgICAgdm9pZCBpbml0VHJhbnNmb3JtQWN0aW9uRXZlbnQoY29u
c3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwKKyAgICAgICAgYm9vbCBjYW5j
ZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywgaW50IHNjcmVlblgsCisgICAg
ICAgIGludCBzY3JlZW5ZLCBpbnQgY2xpZW50WCwgaW50IGNsaWVudFksIGJvb2wgY3RybEtleSwg
Ym9vbCBhbHRLZXksCisgICAgICAgIGJvb2wgc2hpZnRLZXksIGJvb2wgbWV0YUtleSwgaW50IHRy
YW5zbGF0ZVgsIGludCB0cmFuc2xhdGVZLAorICAgICAgICBpbnQgdHJhbnNsYXRlU3BlZWRYLCBp
bnQgdHJhbnNsYXRlU3BlZWRZLCBmbG9hdCBzY2FsZSwgZmxvYXQgc2NhbGVTcGVlZCwKKyAgICAg
ICAgZmxvYXQgcm90YXRlLCBmbG9hdCByb3RhdGVTcGVlZCk7CisKKyAgICBpbnQgdHJhbnNsYXRl
WCgpIGNvbnN0IHsgcmV0dXJuIG1fdHJhbnNsYXRlWDsgfQorICAgIGludCB0cmFuc2xhdGVZKCkg
Y29uc3QgeyByZXR1cm4gbV90cmFuc2xhdGVZOyB9CisgICAgaW50IHRyYW5zbGF0ZVNwZWVkWCgp
IGNvbnN0IHsgcmV0dXJuIG1fdHJhbnNsYXRlU3BlZWRYOyB9CisgICAgaW50IHRyYW5zbGF0ZVNw
ZWVkWSgpIGNvbnN0IHsgcmV0dXJuIG1fdHJhbnNsYXRlU3BlZWRZOyB9CisgICAgZmxvYXQgc2Nh
bGUoKSBjb25zdCB7IHJldHVybiBtX3NjYWxlOyB9CisgICAgZmxvYXQgc2NhbGVTcGVlZCgpIGNv
bnN0IHsgcmV0dXJuIG1fc2NhbGVTcGVlZDsgfQorICAgIGZsb2F0IHJvdGF0ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fcm90YXRlOyB9CisgICAgZmxvYXQgcm90YXRlU3BlZWQoKSBjb25zdCB7IHJldHVy
biBtX3JvdGF0ZVNwZWVkOyB9CisKK3ByaXZhdGU6CisgICAgVHJhbnNmb3JtQWN0aW9uRXZlbnQo
KSB7fQorICAgIFRyYW5zZm9ybUFjdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwg
Ym9vbCBjYW5CdWJibGUsCisgICAgICAgIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxBYnN0
cmFjdFZpZXc+IHZpZXcsIGludCBzY3JlZW5YLAorICAgICAgICBpbnQgc2NyZWVuWSwgaW50IHBh
Z2VYLCBpbnQgcGFnZVksIGJvb2wgY3RybEtleSwgYm9vbCBhbHRLZXksCisgICAgICAgIGJvb2wg
c2hpZnRLZXksIGJvb2wgbWV0YUtleSwgaW50IHRyYW5zbGF0ZVgsIGludCB0cmFuc2xhdGVZLAor
ICAgICAgICBpbnQgdHJhbnNsYXRlU3BlZWRYLCBpbnQgdHJhbnNsYXRlU3BlZWRZLCBmbG9hdCBz
Y2FsZSwgZmxvYXQgc2NhbGVTcGVlZCwKKyAgICAgICAgZmxvYXQgcm90YXRlLCBmbG9hdCByb3Rh
dGVTcGVlZCk7CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNUcmFuc2Zvcm1BY3Rpb25FdmVudCgpIGNv
bnN0IHsgcmV0dXJuIHRydWU7IH0KKworICAgIGludCBtX3RyYW5zbGF0ZVg7CisgICAgaW50IG1f
dHJhbnNsYXRlWTsKKyAgICBpbnQgbV90cmFuc2xhdGVTcGVlZFg7CisgICAgaW50IG1fdHJhbnNs
YXRlU3BlZWRZOworICAgIGZsb2F0IG1fc2NhbGU7CisgICAgZmxvYXQgbV9zY2FsZVNwZWVkOwor
ICAgIGZsb2F0IG1fcm90YXRlOworICAgIGZsb2F0IG1fcm90YXRlU3BlZWQ7Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoVFJBTlNGT1JNQUNUSU9OX0VW
RU5UUykKKworI2VuZGlmIC8vIFRyYW5zZm9ybUFjdGlvbkV2ZW50X2gKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZG9tL1RyYW5zZm9ybUFjdGlvbkV2ZW50LmlkbCBiL1dlYkNvcmUvZG9tL1RyYW5zZm9y
bUFjdGlvbkV2ZW50LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YjIx
M2IxCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9kb20vVHJhbnNmb3JtQWN0aW9uRXZlbnQu
aWRsCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgICAgQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENv
cnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorCisgICAgVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAgIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
CisgICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCisgICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICAgYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgICBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQorICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgorCisgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBz
ZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgICAgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9v
ciwKKyAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyovCisKK21vZHVsZSBldmVudHMg
eworCisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9VFJBTlNGT1JNQUNUSU9O
X0VWRU5UUworICAgIF0gVHJhbnNmb3JtQWN0aW9uRXZlbnQgOiBVSUV2ZW50IHsKKyAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgc2NyZWVuWDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIGxvbmcgc2NyZWVuWTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgY2xpZW50
WDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgY2xpZW50WTsKKyAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIGxvbmcgb2Zmc2V0WDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IGxvbmcgb2Zmc2V0WTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gY3RybEtl
eTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gYWx0S2V5OworICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBzaGlmdEtleTsKKyAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIGJvb2xlYW4gbWV0YUtleTsKKworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9u
ZyB0cmFuc2xhdGVYOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyB0cmFuc2xhdGVZ
OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyB0cmFuc2xhdGVTcGVlZFg7CisgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHRyYW5zbGF0ZVNwZWVkWTsKKyAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIGZsb2F0IHNjYWxlOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
ZmxvYXQgc2NhbGVTcGVlZDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGZsb2F0IHJvdGF0
ZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGZsb2F0IHJvdGF0ZVNwZWVkOworCisgICAg
ICAgIHZvaWQgaW5pdFRyYW5zZm9ybUFjdGlvbkV2ZW50KGluIERPTVN0cmluZyB0eXBlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIGNhbkJ1YmJsZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiBjYW5jZWxh
YmxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBET01XaW5kb3cg
dmlldywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gbG9uZyBzY3Jl
ZW5YLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBsb25nIHNjcmVl
blksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGxvbmcgY2xpZW50
WCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gbG9uZyBjbGllbnRZ
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIGN0cmxL
ZXksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gYWx0
S2V5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIHNo
aWZ0S2V5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFu
IG1ldGFLZXksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGxvbmcg
dHJhbnNsYXRlWCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gbG9u
ZyB0cmFuc2xhdGVZLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBs
b25nIHRyYW5zbGF0ZVNwZWVkWCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW4gbG9uZyB0cmFuc2xhdGVTcGVlZFksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGluIGZsb2F0IHNjYWxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbiBmbG9hdCBzY2FsZVNwZWVkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbiBmbG9hdCByb3RhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGluIGZsb2F0IHJvdGF0ZVNwZWVkKTsKKyAgIH07Cit9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>