<?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>9181</bug_id>
          
          <creation_ts>2006-05-31 00:48:48 -0700</creation_ts>
          <short_desc>Complete DOMUIEvent Obj-C API to reflect UIEvent</short_desc>
          <delta_ts>2006-06-24 06:48:11 -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>WebKit API</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://lists.apple.com/archives/Webkitsdk-dev/2006/May/msg00046.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jonas Witt">jonas.witt</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>gavin.sharp</cc>
    
    <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>44093</commentid>
    <comment_count>0</comment_count>
    <who name="Jonas Witt">jonas.witt</who>
    <bug_when>2006-05-31 00:48:48 -0700</bug_when>
    <thetext>DOMUIEvent does not allow full access to the underlying UIEvent&apos;s properties (most important, charCode()). I&apos;ve added these accessors. Patch follows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44094</commentid>
    <comment_count>1</comment_count>
      <attachid>8616</attachid>
    <who name="Jonas Witt">jonas.witt</who>
    <bug_when>2006-05-31 00:51:04 -0700</bug_when>
    <thetext>Created attachment 8616
Patch to add accessors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44109</commentid>
    <comment_count>2</comment_count>
      <attachid>8620</attachid>
    <who name="Jonas Witt">jonas.witt</who>
    <bug_when>2006-05-31 06:32:33 -0700</bug_when>
    <thetext>Created attachment 8620
Patch to add DOMUIEventWithKeyState, DOMKeyboardEvent, DOMMouseRelatedEvent

The whole WebKit event API (subclasses of DOMEvent) seems to be out of date. This patch should put everything that&apos;s a subclass of DOMUIEvent roughly in sync with their C++ equivalents.

The classes ClipboardEvent, BeforeUnloadEvent and Clipboard remain missing from the ObjC API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44151</commentid>
    <comment_count>3</comment_count>
      <attachid>8620</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2006-05-31 14:14:32 -0700</bug_when>
    <thetext>Comment on attachment 8620
Patch to add DOMUIEventWithKeyState, DOMKeyboardEvent, DOMMouseRelatedEvent

Patch looks great.

A few things you need before landing:
1) Please add your copyright info to the files you&apos;ve modified
2) Please add a ChangeLog entry (the prepare-ChangeLog script will help you).
3) How did you test? Can you add testing functionality to DumpRenderTree?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44166</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-05-31 14:20:57 -0700</bug_when>
    <thetext>I&apos;m not entirely sure about this patch. Currently our Objective-C bindings for the DOM cover only what&apos;s in the DOM specification and extensions are put into separate categories/files.

This patch would be the first one to include all sorts of non-standard methods in the Objective-C bindings. While I think we want to go that way eventually, I think perhaps the way to do that would be to start generating the Objective-C bindings rather than expanding them by hand.

Also, since this is public API it needs to go through an API review process before it can be submitted on the Apple side, so we may have to figure out how to handle that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44176</commentid>
    <comment_count>5</comment_count>
    <who name="Jonas Witt">jonas.witt</who>
    <bug_when>2006-05-31 14:48:00 -0700</bug_when>
    <thetext>Much of what I added is actually part of the DOM Level 3 Events specs. I&apos;m all for standards, so maybe the goal could be to have an API that covers the DOM {2,3} Events specs completely (and nothing else)?

It is probably also unnecessary to expose (DOM)UIEventWithKeyState in the API - it&apos;s used in the C++ implementation, but if we want to model the API after the DOM specs, then it would be confusing.

Regarding generating the API: The C++ implementation does not closely follow the specs, so generating the ObjC API from that would expose unnecessary classes like UIEventWithKeyState. Writing the ObjC wrapper is pretty straightforward and it won&apos;t need updating very often, so I think it would be OK to do that manually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44191</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-05-31 17:13:18 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Much of what I added is actually part of the DOM Level 3 Events specs. I&apos;m all
&gt; for standards, so maybe the goal could be to have an API that covers the DOM
&gt; {2,3} Events specs completely (and nothing else)?

Sounds OK.

&gt; It is probably also unnecessary to expose (DOM)UIEventWithKeyState in the API -
&gt; it&apos;s used in the C++ implementation, but if we want to model the API after the
&gt; DOM specs, then it would be confusing.

The way this works is that we use .idl files to define what we want to expose publicly. This doesn&apos;t have to exactly match our C++.

&gt; Regarding generating the API: The C++ implementation does not closely follow
&gt; the specs, so generating the ObjC API from that would expose unnecessary
&gt; classes like UIEventWithKeyState. Writing the ObjC wrapper is pretty
&gt; straightforward and it won&apos;t need updating very often, so I think it would be
&gt; OK to do that manually.
&gt; 

(In reply to comment #5)
&gt; Much of what I added is actually part of the DOM Level 3 Events specs. I&apos;m all
&gt; for standards, so maybe the goal could be to have an API that covers the DOM
&gt; {2,3} Events specs completely (and nothing else)?
&gt; 
&gt; It is probably also unnecessary to expose (DOM)UIEventWithKeyState in the API -
&gt; it&apos;s used in the C++ implementation, but if we want to model the API after the
&gt; DOM specs, then it would be confusing.
&gt; 
&gt; Regarding generating the API: The C++ implementation does not closely follow
&gt; the specs, so generating the ObjC API from that would expose unnecessary
&gt; classes like UIEventWithKeyState. Writing the ObjC wrapper is pretty
&gt; straightforward and it won&apos;t need updating very often, so I think it would be
&gt; OK to do that manually.

As I said, we do this from .idl files, not the C++ code. We&apos;re currently using this for the JavaScript bindings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44227</commentid>
    <comment_count>7</comment_count>
      <attachid>8639</attachid>
    <who name="Jonas Witt">jonas.witt</who>
    <bug_when>2006-06-01 05:37:05 -0700</bug_when>
    <thetext>Created attachment 8639
Patch to add DOMKeyboardEvent, DOMWheelEvent

This patch adds DOMKeyboardEvent (DOM Level 3 Events-compliant). It also adds DOMWheelEvent as a non-standard event in a seperate file and two non-standard methods of DOMKeyboardEvent (keyCode and charCode). I&apos;ve also added the copyright notice and Changelog entries, as Geoffrey said. I&apos;ve removed the classes from the second patch that don&apos;t need to be exposed.

Regarding testing: I&apos;ve done testing of all properties using a simple WebView + test HTML file, an event listener set up to listen to all events and manual checking. Everything works fine for me. I couldn&apos;t figure out how/where to add something to DumpRenderTree, sorry. It doesn&apos;t even compile (unmodified), so I guess I just don&apos;t understand it. If someone can give a hint or two, I may be able to do this, though.

Regarding public API/review process: Maybe one could also add documentation, as everything DOMEvent-related is missing from the ADC Reference Library. I don&apos;t know who would (be able to) do that.

Regarding .idl files: I see that the generation is done in Perl. I don&apos;t speak Perl and generally have no experience with such things, so I probably can&apos;t do this. But it doesn&apos;t hurt when the manually written DOMKeyboardEvent from my patch is included now, IMO.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44676</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-06-04 12:42:41 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; I couldn&apos;t figure out how/where to add
&gt; something to DumpRenderTree, sorry. It doesn&apos;t even compile (unmodified)

Does it build and run when you invoke run-webkit-tests from the command line? To make an automated test, you may need to use (extend?) EventSendingController to fake user events; see how eventSender is used in LayoutTests/fast/events tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>45140</commentid>
    <comment_count>9</comment_count>
    <who name="Jonas Witt">jonas.witt</who>
    <bug_when>2006-06-08 06:57:27 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Does it build and run when you invoke run-webkit-tests from the command line?

Yes, it does. I wrongly tried to build it from the DumpRenderTree.xcodeproj, but run-webkit-tests compiles &amp; runs for me.

&gt; To make an automated test, you may need to use (extend?) EventSendingController
&gt; to fake user events; see how eventSender is used in LayoutTests/fast/events
&gt; tests.

Are there any tests that test the currently available DOMEvent API? I think that testing this API would be a bit different from the JS-based testing that&apos;s done in LayoutTests/fast/events. I don&apos;t really know where to start... maybe one could add an event listener from ObjC code (but I don&apos;t know where), then load a HTML page that fires several events from JS and then check if the events reach the ObjC event handler correctly and that their properties match the expected values. I don&apos;t know enough of the inner workings of these tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>45158</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-06-08 10:13:09 -0700</bug_when>
    <thetext>(In reply to comment #9)

Yes, this is exactly the approach I was thinking about: add an enableDOMUIEventLogging() method to eventSender (WebKitTools/DumpRenderTree/EventSendingController.*), which would install listeners and dump the coming events to stdout. The output is compared to the *-expected.txt file which is auto-generated when the test is executed for the first time, so any changes in behavior get caught.

This automated test will not work from Safari, of course - only DumpRenderTree has these debugging extensions to DOM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>45194</commentid>
    <comment_count>11</comment_count>
      <attachid>8784</attachid>
    <who name="Jonas Witt">jonas.witt</who>
    <bug_when>2006-06-09 05:28:59 -0700</bug_when>
    <thetext>Created attachment 8784
Testcase for the ObjC DOMEvent API

OK, here&apos;s what I&apos;ve got so far. I&apos;ve added enableDOMUIEventLogging: that lets the eventSender register itself as an event lister for pretty much all event types (with the exception of DOMMutationEvents) on the node that&apos;s been given as an argument.

The event handler is supposed to take the event and dump it&apos;s properties in the result &lt;div&gt; on the HTML page that called enableDOMUIEventLogging: - however, as you see in the output of the first small testcase I created, I always get 0 for the coordinates of DOMMouseEvents, for example. Since this is working in the app I&apos;m actually working on, I suppose it&apos;s related to the way that DumpRenderTree simulates and handles events. Any comments?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>45209</commentid>
    <comment_count>12</comment_count>
      <attachid>8784</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-06-09 12:45:57 -0700</bug_when>
    <thetext>Comment on attachment 8784
Testcase for the ObjC DOMEvent API

Looks really good! A few nitpicks:
 - there are some tabs in the source - please convert them to spaces;
 - I think that printing to stdout (like editing delegates print their events) would make the output more readable, as the RenderBlocks and RenderTexts pollute the output.
- why not use [DOMNode ownerDocument]?
- An explicit check that the document is a DOMHTMLDocument would be safer.

I think that the reason for incorrect coordinates printout is that the format is wrong: int variables are printed as %f; and there&apos;s an extra [event type].</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>45397</commentid>
    <comment_count>13</comment_count>
      <attachid>8820</attachid>
    <who name="Jonas Witt">jonas.witt</who>
    <bug_when>2006-06-12 03:50:35 -0700</bug_when>
    <thetext>Created attachment 8820
Testcase for the ObjC DOMEvent API

OK, this one is better. It tests all properties of all DOMEvent (sub)classes that are currently defined in the WebKit API. Exceptions are [DOMMutationEvent relatedNode], [DOMMouseEvent relatedTarget] and [DOMUIEvent view], which return pointers to objects in the DOM tree. I don&apos;t know how they could be displayed in a useful way; calling [NSObject description] would certainly be useless because of the included memory address. Maybe [DOMNode nodeName]?

The included test (objc-event-api.html) currently tests mouse and key events only. I&apos;m unsure how WheelEvents and MutationEvents could be generated from JS (For the MutationEvents, I&apos;ve tried changing properties of DOM nodes via JS or adding child nodes from JS, but neither worked).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>45398</commentid>
    <comment_count>14</comment_count>
      <attachid>8821</attachid>
    <who name="Jonas Witt">jonas.witt</who>
    <bug_when>2006-06-12 03:52:09 -0700</bug_when>
    <thetext>Created attachment 8821
Update WebCore.exp with DOMKeyboardEvent and DOMWheelEvent

This adds the new classes DOMKeyboardEvent and DOMWheelEvent to the exported symbols list of WebCore.framework</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>45433</commentid>
    <comment_count>15</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-06-12 10:23:42 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; calling [NSObject description] would certainly be useless
&gt; because of the included memory address. Maybe [DOMNode nodeName]?

  That, or maybe you could filter out the addresses with a regexp.

&gt;  I&apos;m unsure how WheelEvents and MutationEvents could be generated from JS

  I don&apos;t know about MutationEvents, but for WheelEvents, you could probably consider extending EventSendingController to send NSScrollWheel events. Actually, might make sense to do this separately, in another bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>45438</commentid>
    <comment_count>16</comment_count>
      <attachid>8828</attachid>
    <who name="Jonas Witt">jonas.witt</who>
    <bug_when>2006-06-12 11:01:35 -0700</bug_when>
    <thetext>Created attachment 8828
Testcase for the ObjC DOMEvent API

- for [DOMUIEvent view], just check if view != nil and [view document] != nil.
- for [DOMMouseEvent relatedTarget] and [DOMMutationEvent relatedNode], print out the class name and node name of the related target/node, if it&apos;s != nil

Do we need anything else before we can land this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>45441</commentid>
    <comment_count>17</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2006-06-12 11:14:59 -0700</bug_when>
    <thetext>There&apos;s still the question of API review at Apple, since this is a public header change. Not sure exactly what to do about that, since I&apos;ve never done it before. Darin?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>45878</commentid>
    <comment_count>18</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2006-06-15 19:48:51 -0700</bug_when>
    <thetext>I think the answer to the API question is that we need to land this change as private &quot;pending public&quot; code. You can see examples of this in DOMPrivate.h. Basically, you declare your methods in private categories on the API class, so that they&apos;re not visible in the public headers. 

Could you attach a new patch that does that, and includes all the previous patches you&apos;ve attached here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>45892</commentid>
    <comment_count>19</comment_count>
      <attachid>8864</attachid>
    <who name="Jonas Witt">jonas.witt</who>
    <bug_when>2006-06-16 01:56:10 -0700</bug_when>
    <thetext>Created attachment 8864
public-pending DOMKeyboardEvent, DOMWheelEvent plus testcase

I&apos;m not sure about DOMEvent&apos;s _eventWith() function. ATM we&apos;re returning a non-public DOMWheelEvent in this public function. I don&apos;t know if that&apos;s OK. On the other hand, if we don&apos;t include DOMWheelEvent there we don&apos;t need it at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46177</commentid>
    <comment_count>20</comment_count>
      <attachid>8864</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2006-06-18 11:35:13 -0700</bug_when>
    <thetext>Comment on attachment 8864
public-pending DOMKeyboardEvent, DOMWheelEvent plus testcase

Good work.

I don&apos;t think returning the non-public object from the public method is a big deal. From the public API standpoint, it will just be a DOMUIEvent.

There&apos;s no need to use a separate file for non-W3C additions. I don&apos;t think that&apos;s how we handle other private-pending-public API. Also, the Objc bindings will be autogenerated eventually, and our IDL files probably won&apos;t distinguish W3C and non-W3C interfaces.

+				EXPORTED_SYMBOLS_FILE = &quot;&quot;;

How did this line sneak into the project diff? Is it an XCode version quirk, or will it nuke WebCore&apos;s .exp file? I don&apos;t *think* it will, since we specify the .exp file through OTHER_LDFLAGS, not EXPORTED_SYMBOLS_FILE.

Anyway, addressing the comments above is optional.  r=me

Whoever lands this should make sure that WebCore still builds with its .exp file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46178</commentid>
    <comment_count>21</comment_count>
    <who name="Jonas Witt">jonas.witt</who>
    <bug_when>2006-06-18 12:05:34 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; There&apos;s no need to use a separate file for non-W3C additions.

That&apos;s what Darin suggested in comment #4. Since all its header declarations have gone to DOMPrivate.h, it looks a bit awkward, that&apos;s right.

&gt; +                               EXPORTED_SYMBOLS_FILE = &quot;&quot;;
&gt; 
&gt; How did this line sneak into the project diff? Is it an XCode version quirk, or
&gt; will it nuke WebCore&apos;s .exp file? I don&apos;t *think* it will, since we specify the
&gt; .exp file through OTHER_LDFLAGS, not EXPORTED_SYMBOLS_FILE.

I first didn&apos;t know it was handled via OTHER_LDFLAGS and edited EXPORTED_SYMBOLS_FILE. It does build for me with this empty declaration, but maybe it&apos;s safer to delete that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46947</commentid>
    <comment_count>22</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-06-24 06:48:11 -0700</bug_when>
    <thetext>Committed revision 15008.

Many y coordinates in test results were different for me. Either something has changed in mouse handling, or the results are non-deterministic - we&apos;ll learn about that from BuildBot soon... Also changed the test to be text-only (call dumpAsText()).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8616</attachid>
            <date>2006-05-31 00:51:04 -0700</date>
            <delta_ts>2006-05-31 06:32:33 -0700</delta_ts>
            <desc>Patch to add accessors.</desc>
            <filename>acc.patch</filename>
            <type>text/plain</type>
            <size>1500</size>
            <attacher name="Jonas Witt">jonas.witt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01FdmVudHMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NRXZlbnRzLmgJKHJldmlzaW9uIDE0NjE5KQorKysgV2Vi
Q29yZS9iaW5kaW5ncy9vYmpjL0RPTUV2ZW50cy5oCSh3b3JraW5nIGNvcHkpCkBAIC02OSw2ICs2
OSwxMyBAQAogQGludGVyZmFjZSBET01VSUV2ZW50IDogRE9NRXZlbnQKIC0gKERPTUFic3RyYWN0
VmlldyAqKXZpZXc7CiAtIChpbnQpZGV0YWlsOworLSAoaW50KWtleUNvZGU7CistIChpbnQpY2hh
ckNvZGU7CistIChpbnQpbGF5ZXJYOworLSAoaW50KWxheWVyWTsKKy0gKGludClwYWdlWDsKKy0g
KGludClwYWdlWTsKKy0gKGludCl3aGljaDsKIC0gKHZvaWQpaW5pdFVJRXZlbnQ6KE5TU3RyaW5n
ICopdHlwZUFyZyA6KEJPT0wpY2FuQnViYmxlQXJnIDooQk9PTCljYW5jZWxhYmxlQXJnIDooRE9N
QWJzdHJhY3RWaWV3ICopdmlld0FyZyA6KGludClkZXRhaWxBcmc7CiBAZW5kCiAKSW5kZXg6IFdl
YkNvcmUvYmluZGluZ3Mvb2JqYy9ET01FdmVudHMubW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9i
aW5kaW5ncy9vYmpjL0RPTUV2ZW50cy5tbQkocmV2aXNpb24gMTQ2MTkpCisrKyBXZWJDb3JlL2Jp
bmRpbmdzL29iamMvRE9NRXZlbnRzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNjEsNiArMjYxLDQx
IEBACiAgICAgcmV0dXJuIFtzZWxmIF9VSUV2ZW50XS0+ZGV0YWlsKCk7CiB9CiAKKy0gKGludClr
ZXlDb2RlIAoreworCXJldHVybiBbc2VsZiBfVUlFdmVudF0tPmtleUNvZGUoKTsKK30KKworLSAo
aW50KWNoYXJDb2RlIAoreworCXJldHVybiBbc2VsZiBfVUlFdmVudF0tPmNoYXJDb2RlKCk7Cit9
CisKKy0gKGludClsYXllclggCit7CisJcmV0dXJuIFtzZWxmIF9VSUV2ZW50XS0+bGF5ZXJYKCk7
Cit9CisKKy0gKGludClsYXllclkKK3sKKwlyZXR1cm4gW3NlbGYgX1VJRXZlbnRdLT5sYXllclko
KTsKK30KKworLSAoaW50KXBhZ2VYCit7CisJcmV0dXJuIFtzZWxmIF9VSUV2ZW50XS0+cGFnZVgo
KTsKK30KKworLSAoaW50KXBhZ2VZCit7CisJcmV0dXJuIFtzZWxmIF9VSUV2ZW50XS0+cGFnZVko
KTsKK30KKworLSAoaW50KXdoaWNoCit7CisJcmV0dXJuIFtzZWxmIF9VSUV2ZW50XS0+d2hpY2go
KTsKK30KKwogLSAodm9pZClpbml0VUlFdmVudDooTlNTdHJpbmcgKil0eXBlQXJnIDooQk9PTClj
YW5CdWJibGVBcmcgOihCT09MKWNhbmNlbGFibGVBcmcgOihET01BYnN0cmFjdFZpZXcgKil2aWV3
QXJnIDooaW50KWRldGFpbEFyZwogewogICAgIFtzZWxmIF9VSUV2ZW50XS0+aW5pdFVJRXZlbnQo
dHlwZUFyZywgY2FuQnViYmxlQXJnLCBjYW5jZWxhYmxlQXJnLCBbdmlld0FyZyBfYWJzdHJhY3RW
aWV3XSwgZGV0YWlsQXJnKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8620</attachid>
            <date>2006-05-31 06:32:33 -0700</date>
            <delta_ts>2006-06-01 05:37:05 -0700</delta_ts>
            <desc>Patch to add DOMUIEventWithKeyState, DOMKeyboardEvent, DOMMouseRelatedEvent</desc>
            <filename>acc2.patch</filename>
            <type>text/plain</type>
            <size>6535</size>
            <attacher name="Jonas Witt">jonas.witt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01FdmVudHMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NRXZlbnRzLmgJKHJldmlzaW9uIDE0NjE5KQorKysgV2Vi
Q29yZS9iaW5kaW5ncy9vYmpjL0RPTUV2ZW50cy5oCSh3b3JraW5nIGNvcHkpCkBAIC02OSwyMyAr
NjksNjAgQEAKIEBpbnRlcmZhY2UgRE9NVUlFdmVudCA6IERPTUV2ZW50CiAtIChET01BYnN0cmFj
dFZpZXcgKil2aWV3OwogLSAoaW50KWRldGFpbDsKKy0gKGludClrZXlDb2RlOworLSAoaW50KWNo
YXJDb2RlOworLSAoaW50KWxheWVyWDsKKy0gKGludClsYXllclk7CistIChpbnQpcGFnZVg7Cist
IChpbnQpcGFnZVk7CistIChpbnQpd2hpY2g7CiAtICh2b2lkKWluaXRVSUV2ZW50OihOU1N0cmlu
ZyAqKXR5cGVBcmcgOihCT09MKWNhbkJ1YmJsZUFyZyA6KEJPT0wpY2FuY2VsYWJsZUFyZyA6KERP
TUFic3RyYWN0VmlldyAqKXZpZXdBcmcgOihpbnQpZGV0YWlsQXJnOwogQGVuZAogCi1AaW50ZXJm
YWNlIERPTU1vdXNlRXZlbnQgOiBET01VSUV2ZW50CitAaW50ZXJmYWNlIERPTVVJRXZlbnRXaXRo
S2V5U3RhdGUgOiBET01VSUV2ZW50CistIChCT09MKWN0cmxLZXk7CistIChCT09MKXNoaWZ0S2V5
OworLSAoQk9PTClhbHRLZXk7CistIChCT09MKW1ldGFLZXk7CitAZW5kCisKK2VudW0gRE9NS2V5
TG9jYXRpb25Db2RlIHsKKyAgICBET01fS0VZX0xPQ0FUSU9OX1NUQU5EQVJEICAgICAgPSAweDAw
LAorICAgIERPTV9LRVlfTE9DQVRJT05fTEVGVCAgICAgICAgICA9IDB4MDEsCisgICAgRE9NX0tF
WV9MT0NBVElPTl9SSUdIVCAgICAgICAgID0gMHgwMiwKKyAgICBET01fS0VZX0xPQ0FUSU9OX05V
TVBBRCAgICAgICAgPSAweDAzLAorfTsKKworQGludGVyZmFjZSBET01LZXlib2FyZEV2ZW50IDog
RE9NVUlFdmVudFdpdGhLZXlTdGF0ZQorLSAoTlNTdHJpbmcqKWtleUlkZW50aWZpZXI7CistICh1
bnNpZ25lZClrZXlMb2NhdGlvbjsKKy0gKEJPT0wpYWx0R3JhcGhLZXk7CitAZW5kCisKK0BpbnRl
cmZhY2UgRE9NTW91c2VSZWxhdGVkRXZlbnQgOiBET01VSUV2ZW50V2l0aEtleVN0YXRlCiAtIChp
bnQpc2NyZWVuWDsKIC0gKGludClzY3JlZW5ZOwogLSAoaW50KWNsaWVudFg7CiAtIChpbnQpY2xp
ZW50WTsKLS0gKEJPT0wpY3RybEtleTsKLS0gKEJPT0wpc2hpZnRLZXk7Ci0tIChCT09MKWFsdEtl
eTsKLS0gKEJPT0wpbWV0YUtleTsKKy0gKGludClvZmZzZXRYOworLSAoaW50KW9mZnNldFk7Cist
IChCT09MKWlzU2ltdWxhdGVkOworLSAoaW50KXg7CistIChpbnQpeTsKK0BlbmQKKworQGludGVy
ZmFjZSBET01Nb3VzZUV2ZW50IDogRE9NTW91c2VSZWxhdGVkRXZlbnQKIC0gKHVuc2lnbmVkIHNo
b3J0KWJ1dHRvbjsKKy0gKEJPT0wpaXNEcmFnRXZlbnQ7CiAtIChpZCA8RE9NRXZlbnRUYXJnZXQ+
KXJlbGF0ZWRUYXJnZXQ7CiAtICh2b2lkKWluaXRNb3VzZUV2ZW50OihOU1N0cmluZyAqKXR5cGVB
cmcgOihCT09MKWNhbkJ1YmJsZUFyZyA6KEJPT0wpY2FuY2VsYWJsZUFyZyA6KERPTUFic3RyYWN0
VmlldyAqKXZpZXdBcmcgOihpbnQpZGV0YWlsQXJnIDooaW50KXNjcmVlblhBcmcgOihpbnQpc2Ny
ZWVuWUFyZyA6KGludCljbGllbnRYIDooaW50KWNsaWVudFkgOihCT09MKWN0cmxLZXlBcmcgOihC
T09MKWFsdEtleUFyZyA6KEJPT0wpc2hpZnRLZXlBcmcgOihCT09MKW1ldGFLZXlBcmcgOih1bnNp
Z25lZCBzaG9ydClidXR0b25BcmcgOihpZCA8RE9NRXZlbnRUYXJnZXQ+KXJlbGF0ZWRUYXJnZXRB
cmc7CiBAZW5kCiAKK0BpbnRlcmZhY2UgRE9NV2hlZWxFdmVudCA6IERPTU1vdXNlUmVsYXRlZEV2
ZW50CistIChCT09MKWlzSG9yaXpvbnRhbDsKKy0gKGludCl3aGVlbERlbHRhOworQGVuZAorCiBl
bnVtIHsKICAgICBET01fTU9ESUZJQ0FUSU9OID0gMSwKICAgICBET01fQURESVRJT04gPSAyLApJ
bmRleDogV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUV2ZW50cy5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NRXZlbnRzLm1tCShyZXZpc2lvbiAxNDYxOSkKKysrIFdl
YkNvcmUvYmluZGluZ3Mvb2JqYy9ET01FdmVudHMubW0JKHdvcmtpbmcgY29weSkKQEAgLTExOSwx
MCArMTE5LDE0IEBACiAgICAgICAgIHJldHVybiBbW2NhY2hlZEluc3RhbmNlIHJldGFpbl0gYXV0
b3JlbGVhc2VdOwogICAgIAogICAgIENsYXNzIHdyYXBwZXJDbGFzcyA9IG5pbDsKLSAgICBpZiAo
aW1wbC0+aXNNb3VzZUV2ZW50KCkpIHsKKyAgICBpZiAoaW1wbC0+aXNXaGVlbEV2ZW50KCkpIHsK
KyAgICAgICAgd3JhcHBlckNsYXNzID0gW0RPTVdoZWVsRXZlbnQgY2xhc3NdOyAgICAgICAgCisg
ICAgfSBlbHNlIGlmIChpbXBsLT5pc01vdXNlRXZlbnQoKSkgewogICAgICAgICB3cmFwcGVyQ2xh
c3MgPSBbRE9NTW91c2VFdmVudCBjbGFzc107CiAgICAgfSBlbHNlIGlmIChpbXBsLT5pc011dGF0
aW9uRXZlbnQoKSkgewogICAgICAgICB3cmFwcGVyQ2xhc3MgPSBbRE9NTXV0YXRpb25FdmVudCBj
bGFzc107CisgICAgfSBlbHNlIGlmIChpbXBsLT5pc0tleWJvYXJkRXZlbnQoKSkgeworICAgICAg
ICB3cmFwcGVyQ2xhc3MgPSBbRE9NS2V5Ym9hcmRFdmVudCBjbGFzc107CiAgICAgfSBlbHNlIGlm
IChpbXBsLT5pc1VJRXZlbnQoKSkgewogICAgICAgICB3cmFwcGVyQ2xhc3MgPSBbRE9NVUlFdmVu
dCBjbGFzc107CiAgICAgfSBlbHNlIHsKQEAgLTEzMywxMyArMTM3LDc4IEBACiAKIEBlbmQKIAot
QGltcGxlbWVudGF0aW9uIERPTU1vdXNlRXZlbnQKK0BpbXBsZW1lbnRhdGlvbiBET01VSUV2ZW50
V2l0aEtleVN0YXRlCiAKLS0gKE1vdXNlRXZlbnQgKilfbW91c2VFdmVudAorLSAoVUlFdmVudFdp
dGhLZXlTdGF0ZSAqKV9ldmVudAogewotICAgIHJldHVybiBzdGF0aWNfY2FzdDxNb3VzZUV2ZW50
ICo+KERPTV9jYXN0PEV2ZW50ICo+KF9pbnRlcm5hbCkpOworICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxVSUV2ZW50V2l0aEtleVN0YXRlICo+KERPTV9jYXN0PEV2ZW50ICo+KF9pbnRlcm5hbCkpOwog
fQogCistIChCT09MKWN0cmxLZXkKK3sKKyAgICByZXR1cm4gW3NlbGYgX2V2ZW50XS0+Y3RybEtl
eSgpOworfQorCistIChCT09MKXNoaWZ0S2V5Cit7CisgICAgcmV0dXJuIFtzZWxmIF9ldmVudF0t
PnNoaWZ0S2V5KCk7Cit9CisKKy0gKEJPT0wpYWx0S2V5IHsKKyAgICByZXR1cm4gW3NlbGYgX2V2
ZW50XS0+YWx0S2V5KCk7Cit9CisKKy0gKEJPT0wpbWV0YUtleSB7CisgICAgcmV0dXJuIFtzZWxm
IF9ldmVudF0tPm1ldGFLZXkoKTsKK30KKworQGVuZAorCitAaW1wbGVtZW50YXRpb24gRE9NS2V5
Ym9hcmRFdmVudAorCistIChLZXlib2FyZEV2ZW50ICopX2tleWJvYXJkRXZlbnQKK3sKKyAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8S2V5Ym9hcmRFdmVudCAqPihET01fY2FzdDxFdmVudCAqPihfaW50
ZXJuYWwpKTsKK30KKworLSAoTlNTdHJpbmcqKWtleUlkZW50aWZpZXIKK3sKKyAgICByZXR1cm4g
KE5TU3RyaW5nICopIFtzZWxmIF9rZXlib2FyZEV2ZW50XS0+a2V5SWRlbnRpZmllcigpOworfQor
CistICh1bnNpZ25lZClrZXlMb2NhdGlvbgoreworICAgIHJldHVybiBbc2VsZiBfa2V5Ym9hcmRF
dmVudF0tPmtleUxvY2F0aW9uKCk7Cit9CisKKy0gKEJPT0wpYWx0R3JhcGhLZXkKK3sKKyAgICBy
ZXR1cm4gW3NlbGYgX2tleWJvYXJkRXZlbnRdLT5hbHRHcmFwaEtleSgpOworfQorCistIChpbnQp
a2V5Q29kZQoreworICAgIHJldHVybiBbc2VsZiBfa2V5Ym9hcmRFdmVudF0tPmtleUNvZGUoKTsK
K30KKworLSAoaW50KWNoYXJDb2RlCit7CisgICAgcmV0dXJuIFtzZWxmIF9rZXlib2FyZEV2ZW50
XS0+Y2hhckNvZGUoKTsKK30KKworLSAoaW50KXdoaWNoIHsKKyAgICByZXR1cm4gW3NlbGYgX2tl
eWJvYXJkRXZlbnRdLT53aGljaCgpOworfQorCitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBET01N
b3VzZVJlbGF0ZWRFdmVudAorCistIChNb3VzZVJlbGF0ZWRFdmVudCAqKV9tb3VzZUV2ZW50Cit7
CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PE1vdXNlUmVsYXRlZEV2ZW50ICo+KERPTV9jYXN0PEV2
ZW50ICo+KF9pbnRlcm5hbCkpOworfQorCiAtIChpbnQpc2NyZWVuWAogewogICAgIHJldHVybiBb
c2VsZiBfbW91c2VFdmVudF0tPnNjcmVlblgoKTsKQEAgLTE2MCwzMSArMjI5LDYwIEBACiAgICAg
cmV0dXJuIFtzZWxmIF9tb3VzZUV2ZW50XS0+Y2xpZW50WSgpOwogfQogCi0tIChCT09MKWN0cmxL
ZXkKKy0gKGludClvZmZzZXRYCiB7Ci0gICAgcmV0dXJuIFtzZWxmIF9tb3VzZUV2ZW50XS0+Y3Ry
bEtleSgpOworICAgIHJldHVybiBbc2VsZiBfbW91c2VFdmVudF0tPm9mZnNldFgoKTsKIH0KIAot
LSAoQk9PTClzaGlmdEtleQorLSAoaW50KW9mZnNldFkKIHsKLSAgICByZXR1cm4gW3NlbGYgX21v
dXNlRXZlbnRdLT5zaGlmdEtleSgpOworICAgIHJldHVybiBbc2VsZiBfbW91c2VFdmVudF0tPm9m
ZnNldFkoKTsKIH0KIAotLSAoQk9PTClhbHRLZXkKKy0gKEJPT0wpaXNTaW11bGF0ZWQKIHsKLSAg
ICByZXR1cm4gW3NlbGYgX21vdXNlRXZlbnRdLT5hbHRLZXkoKTsKKyAgICByZXR1cm4gW3NlbGYg
X21vdXNlRXZlbnRdLT5pc1NpbXVsYXRlZCgpOwogfQogCi0tIChCT09MKW1ldGFLZXkKKy0gKGlu
dClwYWdlWAogewotICAgIHJldHVybiBbc2VsZiBfbW91c2VFdmVudF0tPm1ldGFLZXkoKTsKKyAg
ICByZXR1cm4gW3NlbGYgX21vdXNlRXZlbnRdLT5wYWdlWCgpOwogfQogCistIChpbnQpcGFnZVkK
K3sKKyAgICByZXR1cm4gW3NlbGYgX21vdXNlRXZlbnRdLT5wYWdlWSgpOworfQorCistIChpbnQp
eAoreworICAgIHJldHVybiBbc2VsZiBfbW91c2VFdmVudF0tPngoKTsKK30KKworLSAoaW50KXkK
K3sKKyAgICByZXR1cm4gW3NlbGYgX21vdXNlRXZlbnRdLT55KCk7Cit9CisKK0BlbmQKKworQGlt
cGxlbWVudGF0aW9uIERPTU1vdXNlRXZlbnQKKworLSAoTW91c2VFdmVudCAqKV9tb3VzZUV2ZW50
Cit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PE1vdXNlRXZlbnQgKj4oRE9NX2Nhc3Q8RXZlbnQg
Kj4oX2ludGVybmFsKSk7Cit9CisKIC0gKHVuc2lnbmVkIHNob3J0KWJ1dHRvbgogewogICAgIHJl
dHVybiBbc2VsZiBfbW91c2VFdmVudF0tPmJ1dHRvbigpOwogfQogCistIChCT09MKWlzRHJhZ0V2
ZW50Cit7CisgICAgcmV0dXJuIFtzZWxmIF9tb3VzZUV2ZW50XS0+aXNEcmFnRXZlbnQoKTsKK30K
KwogLSAoaWQgPERPTUV2ZW50VGFyZ2V0PilyZWxhdGVkVGFyZ2V0CiB7CiAgICAgcmV0dXJuIFtE
T01Ob2RlIF9ub2RlV2l0aDpbc2VsZiBfbW91c2VFdmVudF0tPnJlbGF0ZWRUYXJnZXQoKV07CkBA
IC0yMDQsNiArMzAyLDI2IEBACiAKIEBlbmQKIAorQGltcGxlbWVudGF0aW9uIERPTVdoZWVsRXZl
bnQKKworLSAoV2hlZWxFdmVudCAqKV93aGVlbEV2ZW50Cit7CisgICAgcmV0dXJuIHN0YXRpY19j
YXN0PFdoZWVsRXZlbnQgKj4oRE9NX2Nhc3Q8RXZlbnQgKj4oX2ludGVybmFsKSk7Cit9CisKKy0g
KEJPT0wpaXNIb3Jpem9udGFsIAoreworICAgIHJldHVybiBbc2VsZiBfd2hlZWxFdmVudF0tPmlz
SG9yaXpvbnRhbCgpOworfQorCistIChpbnQpd2hlZWxEZWx0YQoreworICAgIHJldHVybiBbc2Vs
ZiBfd2hlZWxFdmVudF0tPndoZWVsRGVsdGEoKTsKK30KKworQGVuZAorCisKIEBpbXBsZW1lbnRh
dGlvbiBET01NdXRhdGlvbkV2ZW50CiAKIC0gKE11dGF0aW9uRXZlbnQgKilfbXV0YXRpb25FdmVu
dApAQCAtMjYxLDYgKzM3OSw0MSBAQAogICAgIHJldHVybiBbc2VsZiBfVUlFdmVudF0tPmRldGFp
bCgpOwogfQogCistIChpbnQpa2V5Q29kZSAKK3sKKwlyZXR1cm4gW3NlbGYgX1VJRXZlbnRdLT5r
ZXlDb2RlKCk7Cit9CisKKy0gKGludCljaGFyQ29kZSAKK3sKKwlyZXR1cm4gW3NlbGYgX1VJRXZl
bnRdLT5jaGFyQ29kZSgpOworfQorCistIChpbnQpbGF5ZXJYIAoreworCXJldHVybiBbc2VsZiBf
VUlFdmVudF0tPmxheWVyWCgpOworfQorCistIChpbnQpbGF5ZXJZCit7CisJcmV0dXJuIFtzZWxm
IF9VSUV2ZW50XS0+bGF5ZXJZKCk7Cit9CisKKy0gKGludClwYWdlWAoreworCXJldHVybiBbc2Vs
ZiBfVUlFdmVudF0tPnBhZ2VYKCk7Cit9CisKKy0gKGludClwYWdlWQoreworCXJldHVybiBbc2Vs
ZiBfVUlFdmVudF0tPnBhZ2VZKCk7Cit9CisKKy0gKGludCl3aGljaAoreworCXJldHVybiBbc2Vs
ZiBfVUlFdmVudF0tPndoaWNoKCk7Cit9CisKIC0gKHZvaWQpaW5pdFVJRXZlbnQ6KE5TU3RyaW5n
ICopdHlwZUFyZyA6KEJPT0wpY2FuQnViYmxlQXJnIDooQk9PTCljYW5jZWxhYmxlQXJnIDooRE9N
QWJzdHJhY3RWaWV3ICopdmlld0FyZyA6KGludClkZXRhaWxBcmcKIHsKICAgICBbc2VsZiBfVUlF
dmVudF0tPmluaXRVSUV2ZW50KHR5cGVBcmcsIGNhbkJ1YmJsZUFyZywgY2FuY2VsYWJsZUFyZywg
W3ZpZXdBcmcgX2Fic3RyYWN0Vmlld10sIGRldGFpbEFyZyk7Cg==
</data>
<flag name="review"
          id="2478"
          type_id="1"
          status="-"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8639</attachid>
            <date>2006-06-01 05:37:05 -0700</date>
            <delta_ts>2006-06-16 01:56:10 -0700</delta_ts>
            <desc>Patch to add DOMKeyboardEvent, DOMWheelEvent</desc>
            <filename>acc3.patch</filename>
            <type>text/plain</type>
            <size>24031</size>
            <attacher name="Jonas Witt">jonas.witt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDE0
NjYzKQorKysgV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5n
IGNvcHkpCkBAIC0yODEsMjMgKzI4MSw2IEBACiAJCUVEN0Y2RDhCMDk4MDY4MzUwMEMyMzVFRCAv
KiBXZWJOU0RhdGFFeHRyYXNQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFRDdGNkQ4QTA5ODA2ODM1MDBDMjM1RUQgLyogV2ViTlNEYXRhRXh0
cmFzUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAvKiBFbmQgUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8KIAotLyogQmVnaW4gUEJYQnVpbGRT
dHlsZSBzZWN0aW9uICovCi0JCUJDNUQyNjFFMEEyRTNGQzAwMDEwMkRGMCAvKiBEZXZlbG9wbWVu
dCAqLyA9IHsKLQkJCWlzYSA9IFBCWEJ1aWxkU3R5bGU7Ci0JCQlidWlsZFNldHRpbmdzID0gewot
CQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBOTzsKLQkJCX07Ci0JCQluYW1lID0gRGV2ZWxvcG1lbnQ7
Ci0JCX07Ci0JCUJDNUQyNjFGMEEyRTNGQzAwMDEwMkRGMCAvKiBEZXBsb3ltZW50ICovID0gewot
CQkJaXNhID0gUEJYQnVpbGRTdHlsZTsKLQkJCWJ1aWxkU2V0dGluZ3MgPSB7Ci0JCQkJQ09QWV9Q
SEFTRV9TVFJJUCA9IFlFUzsKLQkJCX07Ci0JCQluYW1lID0gRGVwbG95bWVudDsKLQkJfTsKLS8q
IEVuZCBQQlhCdWlsZFN0eWxlIHNlY3Rpb24gKi8KLQogLyogQmVnaW4gUEJYRmlsZVJlZmVyZW5j
ZSBzZWN0aW9uICovCiAJCTFDNjhGNjQwMDk1QjVGQzEwMEMyOTg0RSAvKiB3ZWJJbnNwZWN0b3Ig
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBmb2xkZXI7
IG5hbWUgPSB3ZWJJbnNwZWN0b3I7IHBhdGggPSBXZWJJbnNwZWN0b3Ivd2ViSW5zcGVjdG9yOyBz
b3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CiAJCTFDNjhGNjVDMDk1QjVGQzEwMEMyOTg0RSAv
KiBXZWJJbnNwZWN0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXZWJJbnNwZWN0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lk
dGggPSA4OyB1c2VzVGFicyA9IDA7IH07CkBAIC0xMjIyLDYgKzEyMDUsNyBAQAogCQkJCTkzQUY1
MkE3MDgyNTREOEIwMDVEMDE1NiAvKiBET01Db3JlLmggKi8sCiAJCQkJOTNBRjUyQTkwODI1NEQ4
RjAwNUQwMTU2IC8qIERPTUNTUy5oICovLAogCQkJCTkzQUY1MkE1MDgyNTREODcwMDVEMDE1NiAv
KiBET01FdmVudHMuaCAqLywKKwkJCQlERDVFMUZCQzBBMkVGQTlBMDA5RTE0OTUgLyogRE9NRXZl
bnRzTm9uc3RhbmRhcmQuaCAqLywKIAkJCQk5M0FGNTJBMzA4MjU0RDgxMDA1RDAxNTYgLyogRE9N
RXh0ZW5zaW9ucy5oICovLAogCQkJCTkzQUY1MkExMDgyNTREN0QwMDVEMDE1NiAvKiBET01IVE1M
LmggKi8sCiAJCQkJOTNBRjUyOUYwODI1NEQ3QTAwNUQwMTU2IC8qIERPTVByaXZhdGUuaCAqLywK
QEAgLTEyNTYsMTIgKzEyNDAsNiBAQAogCQkwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJv
amVjdCBvYmplY3QgKi8gPSB7CiAJCQlpc2EgPSBQQlhQcm9qZWN0OwogCQkJYnVpbGRDb25maWd1
cmF0aW9uTGlzdCA9IDE0OUMyODMyMDg5MDJCMEYwMDhBOUVGQyAvKiBCdWlsZCBjb25maWd1cmF0
aW9uIGxpc3QgZm9yIFBCWFByb2plY3QgIldlYktpdCIgKi87Ci0JCQlidWlsZFNldHRpbmdzID0g
ewotCQkJfTsKLQkJCWJ1aWxkU3R5bGVzID0gKAotCQkJCUJDNUQyNjFFMEEyRTNGQzAwMDEwMkRG
MCAvKiBEZXZlbG9wbWVudCAqLywKLQkJCQlCQzVEMjYxRjBBMkUzRkMwMDAxMDJERjAgLyogRGVw
bG95bWVudCAqLywKLQkJCSk7CiAJCQloYXNTY2FubmVkRm9yRW5jb2RpbmdzID0gMTsKIAkJCWtu
b3duUmVnaW9ucyA9ICgKIAkJCQlFbmdsaXNoLApAQCAtMTU3MSw2ICsxNTQ5LDIwIEBACiAJCQlz
aGVsbFBhdGggPSAvYmluL3NoOwogCQkJc2hlbGxTY3JpcHQgPSAibWtkaXIgLXAgXCIkVEFSR0VU
X0JVSUxEX0RJUi8kUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEhcIlxuc2VkIC1lIHMvV2ViQ29y
ZS9XZWJLaXQvIFwiJFdFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJUi9ET01WaWV3cy5oXCIgPiBc
IiRUQVJHRVRfQlVJTERfRElSLyRQVUJMSUNfSEVBREVSU19GT0xERVJfUEFUSC9ET01WaWV3cy5o
XCIiOwogCQl9OworCQlERDVFMUZCQzBBMkVGQTlBMDA5RTE0OTUgLyogRE9NRXZlbnRzTm9uc3Rh
bmRhcmQuaCAqLyA9IHsKKwkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKKwkJCWJ1
aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCSk7CisJCQlpbnB1
dFBhdGhzID0gKAorCQkJKTsKKwkJCW5hbWUgPSBET01FdmVudHNOb25zdGFuZGFyZC5oOworCQkJ
b3V0cHV0UGF0aHMgPSAoCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CisJCQlzaGVsbFBhdGggPSAvYmluL3NoOworCQkJc2hlbGxTY3JpcHQgPSAibWtk
aXIgLXAgXCIkVEFSR0VUX0JVSUxEX0RJUi8kUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEhcIlxu
c2VkIC1lIHMvV2ViQ29yZS9XZWJLaXQvIFwiJFdFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJUi9E
T01FdmVudHNOb25zdGFuZGFyZC5oXCIgPiBcIiRUQVJHRVRfQlVJTERfRElSLyRQVUJMSUNfSEVB
REVSU19GT0xERVJfUEFUSC9ET01FdmVudHNOb25zdGFuZGFyZC5oXCIiOworCQl9OwogLyogRW5k
IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWFNvdXJj
ZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KSW5kZXg6IFdlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMTQ2NjQpCisrKyBXZWJLaXQvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTEgQEAKKzIwMDYtMDYtMDEgIEpvbmFzIFdp
dHQgPGpvbmFzLndpdHRAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIC0gQWRkZWQgdGhlIGZpbGUgRE9NRXZlbnRzTm9uc3RhbmRhcmQu
aCAoZnJvbSBXZWJDb3JlKSB0byB0aGUgZnJhbWV3b3JrCisKKyAgICAgICAgKiBXZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAwNi0wNS0zMSAgRGF2aWQgSHlhdHQgIDxoeWF0
dEBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBwcm9ncmFtbWF0aWMgZm9jdXMvYmx1ciBhY3R1
YWxseSB3b3JrIG9uIHN1Yi1mcmFtZXMuICBNYWtlIHRoZQpJbmRleDogV2ViQ29yZS9iaW5kaW5n
cy9vYmpjL0RPTUV2ZW50c05vbnN0YW5kYXJkLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5k
aW5ncy9vYmpjL0RPTUV2ZW50c05vbnN0YW5kYXJkLmgJKHJldmlzaW9uIDApCisrKyBXZWJDb3Jl
L2JpbmRpbmdzL29iamMvRE9NRXZlbnRzTm9uc3RhbmRhcmQuaAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNCBBcHBsZSBDb21wdXRlciwgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBKb25hcyBXaXR0
IDxqb25hcy53aXR0QGdtYWlsLmNvbT4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2ltcG9ydCAiRE9NRXZlbnRzLmgiCisK
K0BpbnRlcmZhY2UgRE9NV2hlZWxFdmVudCA6IERPTVVJRXZlbnQKKy0gKGludClzY3JlZW5YOwor
LSAoaW50KXNjcmVlblk7CistIChpbnQpY2xpZW50WDsKKy0gKGludCljbGllbnRZOworLSAoQk9P
TCljdHJsS2V5OworLSAoQk9PTClzaGlmdEtleTsKKy0gKEJPT0wpYWx0S2V5OworLSAoQk9PTClt
ZXRhS2V5OworLSAoQk9PTClpc0hvcml6b250YWw7CistIChpbnQpd2hlZWxEZWx0YTsKK0BlbmQK
KworQGludGVyZmFjZSBET01LZXlib2FyZEV2ZW50IChOb25TdGFuZGFyZEFkZGl0aW9ucykKKy0g
KGludClrZXlDb2RlOworLSAoaW50KWNoYXJDb2RlOworQGVuZApcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01FdmVudHMuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NRXZlbnRzLmgJKHJldmlzaW9uIDE0NjYz
KQorKysgV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUV2ZW50cy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNCBBcHBsZSBDb21wdXRlciwg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBKb25hcyBX
aXR0IDxqb25hcy53aXR0QGdtYWlsLmNvbT4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtNzIsNyArNzMsMjUgQEAKIC0gKHZvaWQpaW5pdFVJRXZlbnQ6KE5TU3RyaW5nICopdHlw
ZUFyZyA6KEJPT0wpY2FuQnViYmxlQXJnIDooQk9PTCljYW5jZWxhYmxlQXJnIDooRE9NQWJzdHJh
Y3RWaWV3ICopdmlld0FyZyA6KGludClkZXRhaWxBcmc7CiBAZW5kCiAKK2VudW0geworICAgIERP
TV9LRVlfTE9DQVRJT05fU1RBTkRBUkQgICAgICA9IDB4MDAsCisgICAgRE9NX0tFWV9MT0NBVElP
Tl9MRUZUICAgICAgICAgID0gMHgwMSwKKyAgICBET01fS0VZX0xPQ0FUSU9OX1JJR0hUICAgICAg
ICAgPSAweDAyLAorICAgIERPTV9LRVlfTE9DQVRJT05fTlVNUEFEICAgICAgICA9IDB4MDMsCit9
OworCitAaW50ZXJmYWNlIERPTUtleWJvYXJkRXZlbnQgOiBET01VSUV2ZW50CistIChOU1N0cmlu
Zyopa2V5SWRlbnRpZmllcjsKKy0gKHVuc2lnbmVkKWtleUxvY2F0aW9uOworLSAoQk9PTCljdHJs
S2V5OworLSAoQk9PTClzaGlmdEtleTsKKy0gKEJPT0wpYWx0S2V5OworLSAoQk9PTCltZXRhS2V5
OworLSAoQk9PTClnZXRNb2RpZmllclN0YXRlOihOU1N0cmluZyAqKWtleUlkZW50aWZpZXJBcmc7
CitAZW5kCisKIEBpbnRlcmZhY2UgRE9NTW91c2VFdmVudCA6IERPTVVJRXZlbnQKKy0gKHVuc2ln
bmVkIHNob3J0KWJ1dHRvbjsKIC0gKGludClzY3JlZW5YOwogLSAoaW50KXNjcmVlblk7CiAtIChp
bnQpY2xpZW50WDsKQEAgLTgxLDcgKzEwMCw2IEBACiAtIChCT09MKXNoaWZ0S2V5OwogLSAoQk9P
TClhbHRLZXk7CiAtIChCT09MKW1ldGFLZXk7Ci0tICh1bnNpZ25lZCBzaG9ydClidXR0b247CiAt
IChpZCA8RE9NRXZlbnRUYXJnZXQ+KXJlbGF0ZWRUYXJnZXQ7CiAtICh2b2lkKWluaXRNb3VzZUV2
ZW50OihOU1N0cmluZyAqKXR5cGVBcmcgOihCT09MKWNhbkJ1YmJsZUFyZyA6KEJPT0wpY2FuY2Vs
YWJsZUFyZyA6KERPTUFic3RyYWN0VmlldyAqKXZpZXdBcmcgOihpbnQpZGV0YWlsQXJnIDooaW50
KXNjcmVlblhBcmcgOihpbnQpc2NyZWVuWUFyZyA6KGludCljbGllbnRYIDooaW50KWNsaWVudFkg
OihCT09MKWN0cmxLZXlBcmcgOihCT09MKWFsdEtleUFyZyA6KEJPT0wpc2hpZnRLZXlBcmcgOihC
T09MKW1ldGFLZXlBcmcgOih1bnNpZ25lZCBzaG9ydClidXR0b25BcmcgOihpZCA8RE9NRXZlbnRU
YXJnZXQ+KXJlbGF0ZWRUYXJnZXRBcmc7CiBAZW5kCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL29i
amMvRE9NLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTS5oCShyZXZp
c2lvbiAxNDY2MykKKysrIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET00uaAkod29ya2luZyBjb3B5
KQpAQCAtMjcsNiArMjcsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9ET01DU1MuaD4KICNpbXBvcnQg
PFdlYkNvcmUvRE9NRXh0ZW5zaW9ucy5oPgogI2ltcG9ydCA8V2ViQ29yZS9ET01FdmVudHMuaD4K
KyNpbXBvcnQgPFdlYkNvcmUvRE9NRXZlbnRzTm9uc3RhbmRhcmQuaD4KICNpbXBvcnQgPFdlYkNv
cmUvRE9NSFRNTC5oPgogI2ltcG9ydCA8V2ViQ29yZS9ET01SYW5nZS5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9ET01TdHlsZXNoZWV0cy5oPgpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUV2
ZW50c05vbnN0YW5kYXJkLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9E
T01FdmVudHNOb25zdGFuZGFyZC5tbQkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvYmluZGluZ3Mv
b2JqYy9ET01FdmVudHNOb25zdGFuZGFyZC5tbQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMTIg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgSm9uYXMgV2l0dCA8am9uYXMu
d2l0dEBnbWFpbC5jb20+CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiRE9N
RXZlbnRzTm9uc3RhbmRhcmQuaCIKKworI2ltcG9ydCAiRE9NRXZlbnRzSW50ZXJuYWwuaCIKKyNp
bXBvcnQgIkRPTUludGVybmFsLmgiCisjaW1wb3J0ICJkb20yX2V2ZW50c2ltcGwuaCIKKwordXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK0FMTE9XX0RPTV9DQVNUKEV2ZW50KQorCitAaW1wbGVt
ZW50YXRpb24gRE9NV2hlZWxFdmVudAorCistIChXaGVlbEV2ZW50ICopX3doZWVsRXZlbnQKK3sK
KyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V2hlZWxFdmVudCAqPihET01fY2FzdDxFdmVudCAqPihf
aW50ZXJuYWwpKTsKK30KKworLSAoaW50KXNjcmVlblgKK3sKKyAgICByZXR1cm4gW3NlbGYgX3do
ZWVsRXZlbnRdLT5zY3JlZW5YKCk7Cit9CisKKy0gKGludClzY3JlZW5ZCit7CisgICAgcmV0dXJu
IFtzZWxmIF93aGVlbEV2ZW50XS0+c2NyZWVuWSgpOworfQorCistIChpbnQpY2xpZW50WAorewor
ICAgIHJldHVybiBbc2VsZiBfd2hlZWxFdmVudF0tPmNsaWVudFgoKTsKK30KKworLSAoaW50KWNs
aWVudFkKK3sKKyAgICByZXR1cm4gW3NlbGYgX3doZWVsRXZlbnRdLT5jbGllbnRZKCk7Cit9CisK
Ky0gKEJPT0wpY3RybEtleQoreworICAgIHJldHVybiBbc2VsZiBfd2hlZWxFdmVudF0tPmN0cmxL
ZXkoKTsKK30KKworLSAoQk9PTClzaGlmdEtleQoreworICAgIHJldHVybiBbc2VsZiBfd2hlZWxF
dmVudF0tPnNoaWZ0S2V5KCk7Cit9CisKKy0gKEJPT0wpYWx0S2V5IHsKKyAgICByZXR1cm4gW3Nl
bGYgX3doZWVsRXZlbnRdLT5hbHRLZXkoKTsKK30KKworLSAoQk9PTCltZXRhS2V5IHsKKyAgICBy
ZXR1cm4gW3NlbGYgX3doZWVsRXZlbnRdLT5tZXRhS2V5KCk7Cit9CisKKy0gKEJPT0wpaXNIb3Jp
em9udGFsCit7CisgICAgcmV0dXJuIFtzZWxmIF93aGVlbEV2ZW50XS0+aXNIb3Jpem9udGFsKCk7
Cit9CisKKy0gKGludCl3aGVlbERlbHRhCit7CisgICAgcmV0dXJuIFtzZWxmIF93aGVlbEV2ZW50
XS0+d2hlZWxEZWx0YSgpOworfQorCitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBET01LZXlib2Fy
ZEV2ZW50IChOb25TdGFuZGFyZEFkZGl0aW9ucykKKworLSAoS2V5Ym9hcmRFdmVudCAqKV9rZXli
b2FyZEV2ZW50Cit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PEtleWJvYXJkRXZlbnQgKj4oRE9N
X2Nhc3Q8RXZlbnQgKj4oX2ludGVybmFsKSk7Cit9CisKKy0gKGludClrZXlDb2RlCit7CisgICAg
cmV0dXJuIFtzZWxmIF9rZXlib2FyZEV2ZW50XS0+a2V5Q29kZSgpOworfQorCistIChpbnQpY2hh
ckNvZGUKK3sKKyAgICByZXR1cm4gW3NlbGYgX2tleWJvYXJkRXZlbnRdLT5jaGFyQ29kZSgpOwor
fQorCitAZW5kClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogV2ViQ29yZS9iaW5k
aW5ncy9vYmpjL0RPTUV2ZW50cy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL29i
amMvRE9NRXZlbnRzLm1tCShyZXZpc2lvbiAxNDY2MykKKysrIFdlYkNvcmUvYmluZGluZ3Mvb2Jq
Yy9ET01FdmVudHMubW0JKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29w
eXJpZ2h0IChDKSAyMDA0IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDA2IEpvbmFzIFdpdHQgPGpvbmFzLndpdHRAZ21haWwuY29t
PgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zNiw2ICszNyw4IEBACiAKIEFM
TE9XX0RPTV9DQVNUKEV2ZW50KQogCitAY2xhc3MgRE9NV2hlZWxFdmVudDsKKwogQGltcGxlbWVu
dGF0aW9uIERPTUV2ZW50CiAKIC0gKE5TU3RyaW5nICopdHlwZQpAQCAtMTE5LDEwICsxMjIsMTQg
QEAKICAgICAgICAgcmV0dXJuIFtbY2FjaGVkSW5zdGFuY2UgcmV0YWluXSBhdXRvcmVsZWFzZV07
CiAgICAgCiAgICAgQ2xhc3Mgd3JhcHBlckNsYXNzID0gbmlsOwotICAgIGlmIChpbXBsLT5pc01v
dXNlRXZlbnQoKSkgeworICAgIGlmIChpbXBsLT5pc1doZWVsRXZlbnQoKSkgeworICAgICAgICB3
cmFwcGVyQ2xhc3MgPSBbRE9NV2hlZWxFdmVudCBjbGFzc107ICAgICAgICAKKyAgICB9IGVsc2Ug
aWYgKGltcGwtPmlzTW91c2VFdmVudCgpKSB7CiAgICAgICAgIHdyYXBwZXJDbGFzcyA9IFtET01N
b3VzZUV2ZW50IGNsYXNzXTsKICAgICB9IGVsc2UgaWYgKGltcGwtPmlzTXV0YXRpb25FdmVudCgp
KSB7CiAgICAgICAgIHdyYXBwZXJDbGFzcyA9IFtET01NdXRhdGlvbkV2ZW50IGNsYXNzXTsKKyAg
ICB9IGVsc2UgaWYgKGltcGwtPmlzS2V5Ym9hcmRFdmVudCgpKSB7CisgICAgICAgIHdyYXBwZXJD
bGFzcyA9IFtET01LZXlib2FyZEV2ZW50IGNsYXNzXTsKICAgICB9IGVsc2UgaWYgKGltcGwtPmlz
VUlFdmVudCgpKSB7CiAgICAgICAgIHdyYXBwZXJDbGFzcyA9IFtET01VSUV2ZW50IGNsYXNzXTsK
ICAgICB9IGVsc2UgewpAQCAtMTMzLDYgKzE0MCw4MiBAQAogCiBAZW5kCiAKK0BpbXBsZW1lbnRh
dGlvbiBET01VSUV2ZW50CisKKy0gKFVJRXZlbnQgKilfVUlFdmVudAoreworICAgIHJldHVybiBz
dGF0aWNfY2FzdDxVSUV2ZW50ICo+KERPTV9jYXN0PEV2ZW50ICo+KF9pbnRlcm5hbCkpOworfQor
CistIChET01BYnN0cmFjdFZpZXcgKil2aWV3Cit7CisgICAgcmV0dXJuIFtET01BYnN0cmFjdFZp
ZXcgX2Fic3RyYWN0Vmlld1dpdGg6W3NlbGYgX1VJRXZlbnRdLT52aWV3KCldOworfQorCistIChp
bnQpZGV0YWlsCit7CisgICAgcmV0dXJuIFtzZWxmIF9VSUV2ZW50XS0+ZGV0YWlsKCk7Cit9CisK
Ky0gKHZvaWQpaW5pdFVJRXZlbnQ6KE5TU3RyaW5nICopdHlwZUFyZyA6KEJPT0wpY2FuQnViYmxl
QXJnIDooQk9PTCljYW5jZWxhYmxlQXJnIDooRE9NQWJzdHJhY3RWaWV3ICopdmlld0FyZyA6KGlu
dClkZXRhaWxBcmcKK3sKKyAgICBbc2VsZiBfVUlFdmVudF0tPmluaXRVSUV2ZW50KHR5cGVBcmcs
IGNhbkJ1YmJsZUFyZywgY2FuY2VsYWJsZUFyZywgW3ZpZXdBcmcgX2Fic3RyYWN0Vmlld10sIGRl
dGFpbEFyZyk7Cit9CisKK0BlbmQKKworQGltcGxlbWVudGF0aW9uIERPTUtleWJvYXJkRXZlbnQK
KworLSAoS2V5Ym9hcmRFdmVudCAqKV9rZXlib2FyZEV2ZW50Cit7CisgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PEtleWJvYXJkRXZlbnQgKj4oRE9NX2Nhc3Q8RXZlbnQgKj4oX2ludGVybmFsKSk7Cit9
CisKKy0gKE5TU3RyaW5nKilrZXlJZGVudGlmaWVyCit7CisgICAgcmV0dXJuIChOU1N0cmluZyAq
KSBbc2VsZiBfa2V5Ym9hcmRFdmVudF0tPmtleUlkZW50aWZpZXIoKTsKK30KKworLSAodW5zaWdu
ZWQpa2V5TG9jYXRpb24KK3sKKyAgICByZXR1cm4gW3NlbGYgX2tleWJvYXJkRXZlbnRdLT5rZXlM
b2NhdGlvbigpOworfQorCistIChCT09MKWN0cmxLZXkKK3sKKyAgICByZXR1cm4gW3NlbGYgX2tl
eWJvYXJkRXZlbnRdLT5jdHJsS2V5KCk7Cit9CisKKy0gKEJPT0wpc2hpZnRLZXkKK3sKKyAgICBy
ZXR1cm4gW3NlbGYgX2tleWJvYXJkRXZlbnRdLT5zaGlmdEtleSgpOworfQorCistIChCT09MKWFs
dEtleQoreworICAgIHJldHVybiBbc2VsZiBfa2V5Ym9hcmRFdmVudF0tPmFsdEtleSgpOworfQor
CistIChCT09MKW1ldGFLZXkKK3sKKyAgICByZXR1cm4gW3NlbGYgX2tleWJvYXJkRXZlbnRdLT5t
ZXRhS2V5KCk7Cit9CisKKy0gKEJPT0wpZ2V0TW9kaWZpZXJTdGF0ZTooTlNTdHJpbmcgKilrZXlJ
ZGVudGlmaWVyQXJnCit7CisgICAgaWYgKFtrZXlJZGVudGlmaWVyQXJnIGlzRXF1YWxUb1N0cmlu
ZzpAIkNvbnRyb2wiXSAmJiBbc2VsZiBjdHJsS2V5XSkKKyAgICAgICAgcmV0dXJuIFlFUzsKKyAg
ICBpZiAoW2tleUlkZW50aWZpZXJBcmcgaXNFcXVhbFRvU3RyaW5nOkAiU2hpZnQiXSAmJiBbc2Vs
ZiBzaGlmdEtleV0pCisgICAgICAgIHJldHVybiBZRVM7CisgICAgaWYgKFtrZXlJZGVudGlmaWVy
QXJnIGlzRXF1YWxUb1N0cmluZzpAIkFsdCJdICYmIFtzZWxmIGFsdEtleV0pCisgICAgICAgIHJl
dHVybiBZRVM7CisgICAgaWYgKFtrZXlJZGVudGlmaWVyQXJnIGlzRXF1YWxUb1N0cmluZzpAIk1l
dGEiXSAmJiBbc2VsZiBtZXRhS2V5XSkKKyAgICAgICAgcmV0dXJuIFlFUzsKKyAgICByZXR1cm4g
Tk87Cit9CisKK0BlbmQKKwogQGltcGxlbWVudGF0aW9uIERPTU1vdXNlRXZlbnQKIAogLSAoTW91
c2VFdmVudCAqKV9tb3VzZUV2ZW50CkBAIC0xNDAsNiArMjIzLDExIEBACiAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PE1vdXNlRXZlbnQgKj4oRE9NX2Nhc3Q8RXZlbnQgKj4oX2ludGVybmFsKSk7CiB9
CiAKKy0gKHVuc2lnbmVkIHNob3J0KWJ1dHRvbgoreworICAgIHJldHVybiBbc2VsZiBfbW91c2VF
dmVudF0tPmJ1dHRvbigpOworfQorCiAtIChpbnQpc2NyZWVuWAogewogICAgIHJldHVybiBbc2Vs
ZiBfbW91c2VFdmVudF0tPnNjcmVlblgoKTsKQEAgLTE4MCwxMSArMjY4LDYgQEAKICAgICByZXR1
cm4gW3NlbGYgX21vdXNlRXZlbnRdLT5tZXRhS2V5KCk7CiB9CiAKLS0gKHVuc2lnbmVkIHNob3J0
KWJ1dHRvbgotewotICAgIHJldHVybiBbc2VsZiBfbW91c2VFdmVudF0tPmJ1dHRvbigpOwotfQot
CiAtIChpZCA8RE9NRXZlbnRUYXJnZXQ+KXJlbGF0ZWRUYXJnZXQKIHsKICAgICByZXR1cm4gW0RP
TU5vZGUgX25vZGVXaXRoOltzZWxmIF9tb3VzZUV2ZW50XS0+cmVsYXRlZFRhcmdldCgpXTsKQEAg
LTI0NCwzMCArMzI3LDYgQEAKIAogQGVuZAogCi1AaW1wbGVtZW50YXRpb24gRE9NVUlFdmVudAot
Ci0tIChVSUV2ZW50ICopX1VJRXZlbnQKLXsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VUlFdmVu
dCAqPihET01fY2FzdDxFdmVudCAqPihfaW50ZXJuYWwpKTsKLX0KLQotLSAoRE9NQWJzdHJhY3RW
aWV3ICopdmlldwotewotICAgIHJldHVybiBbRE9NQWJzdHJhY3RWaWV3IF9hYnN0cmFjdFZpZXdX
aXRoOltzZWxmIF9VSUV2ZW50XS0+dmlldygpXTsKLX0KLQotLSAoaW50KWRldGFpbAotewotICAg
IHJldHVybiBbc2VsZiBfVUlFdmVudF0tPmRldGFpbCgpOwotfQotCi0tICh2b2lkKWluaXRVSUV2
ZW50OihOU1N0cmluZyAqKXR5cGVBcmcgOihCT09MKWNhbkJ1YmJsZUFyZyA6KEJPT0wpY2FuY2Vs
YWJsZUFyZyA6KERPTUFic3RyYWN0VmlldyAqKXZpZXdBcmcgOihpbnQpZGV0YWlsQXJnCi17Ci0g
ICAgW3NlbGYgX1VJRXZlbnRdLT5pbml0VUlFdmVudCh0eXBlQXJnLCBjYW5CdWJibGVBcmcsIGNh
bmNlbGFibGVBcmcsIFt2aWV3QXJnIF9hYnN0cmFjdFZpZXddLCBkZXRhaWxBcmcpOwotfQotCi1A
ZW5kCi0KIEBpbXBsZW1lbnRhdGlvbiBET01Eb2N1bWVudCAoRE9NRG9jdW1lbnRFdmVudCkKIAog
LSAoRE9NRXZlbnQgKiljcmVhdGVFdmVudDooTlNTdHJpbmcgKilldmVudFR5cGUKSW5kZXg6IFdl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxNDY2MykK
KysrIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNv
cHkpCkBAIC0xMzQ2LDcgKzEzNDYsNyBAQAogCQlCQzFBMzdCMTA5N0M3MTVGMDAxOUYzRDggLyog
RE9NQ1NTLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QkMxQTM3OUIwOTdDNzE1RjAwMTlGM0Q4IC8qIERPTUNTUy5tbSAqLzsgfTsKIAkJQkMxQTM3QjIw
OTdDNzE1RjAwMTlGM0Q4IC8qIERPTUV2ZW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkMxQTM3OUMwOTdDNzE1RjAwMTlGM0Q4IC8qIERPTUV2ZW50
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJD
MUEzN0IzMDk3QzcxNUYwMDE5RjNEOCAvKiBET01FdmVudHMubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzFBMzc5RDA5N0M3MTVGMDAxOUYzRDggLyog
RE9NRXZlbnRzLm1tICovOyB9OwotCQlCQzFBMzdCNDA5N0M3MTVGMDAxOUYzRDggLyogRE9NRXZl
bnRzSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEJDMUEzNzlFMDk3QzcxNUYwMDE5RjNEOCAvKiBET01FdmVudHNJbnRlcm5hbC5oICovOyB9
OworCQlCQzFBMzdCNDA5N0M3MTVGMDAxOUYzRDggLyogRE9NRXZlbnRzSW50ZXJuYWwuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMUEzNzlFMDk3Qzcx
NUYwMDE5RjNEOCAvKiBET01FdmVudHNJbnRlcm5hbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKCk7IH07IH07CiAJCUJDMUEzN0I1MDk3QzcxNUYwMDE5RjNEOCAvKiBET01FeHRlbnNp
b25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzFB
Mzc5RjA5N0M3MTVGMDAxOUYzRDggLyogRE9NRXh0ZW5zaW9ucy5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDMUEzN0I2MDk3QzcxNUYwMDE5RjNE
OCAvKiBET01IVE1MLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQzFBMzdBMDA5N0M3MTVGMDAxOUYzRDggLyogRE9NSFRNTC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDMUEzN0I3MDk3QzcxNUYwMDE5
RjNEOCAvKiBET01IVE1MLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQkMxQTM3QTEwOTdDNzE1RjAwMTlGM0Q4IC8qIERPTUhUTUwubW0gKi87IH07CkBA
IC0xNTAxLDYgKzE1MDEsOCBAQAogCQlEMDg2RkU5OTA5RDUzQUFCMDA1QkM3NEQgLyogVW5saW5r
Q29tbWFuZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBEMDg2RkU5NzA5RDUzQUFCMDA1QkM3NEQgLyogVW5saW5rQ29tbWFuZC5jcHAgKi87IH07CiAJ
CUQwQjA1NTY4MDlDNjcwMDEwMDMwN0U0MyAvKiBDcmVhdGVMaW5rQ29tbWFuZC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDBCMDU1NjYwOUM2NzAwMTAw
MzA3RTQzIC8qIENyZWF0ZUxpbmtDb21tYW5kLmggKi87IH07CiAJCUQwQjA1NTY5MDlDNjcwMDEw
MDMwN0U0MyAvKiBDcmVhdGVMaW5rQ29tbWFuZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEMEIwNTU2NzA5QzY3MDAxMDAzMDdFNDMgLyogQ3JlYXRl
TGlua0NvbW1hbmQuY3BwICovOyB9OworCQlERDVFMUY2MjBBMkVFQ0EwMDA5RTE0OTUgLyogRE9N
RXZlbnRzTm9uc3RhbmRhcmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IERENUUxRjYwMEEyRUVDQTAwMDlFMTQ5NSAvKiBET01FdmVudHNOb25zdGFuZGFy
ZC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCURE
NUUxRjYzMEEyRUVDQTAwMDlFMTQ5NSAvKiBET01FdmVudHNOb25zdGFuZGFyZC5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IERENUUxRjYxMEEyRUVDQTAw
MDlFMTQ5NSAvKiBET01FdmVudHNOb25zdGFuZGFyZC5tbSAqLzsgfTsKIAkJREQ3NjNCQjIwOTky
QzJDOTAwNzQwQjhFIC8qIGxpYnhtbDIuZHlsaWIgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBERDc2M0JCMTA5OTJDMkM5MDA3NDBCOEUgLyogbGlieG1s
Mi5keWxpYiAqLzsgfTsKIAkJREQ3Q0RGMjUwQTIzQ0Y5ODAwMDY5OTI4IC8qIENTU1Vua25vd25S
dWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODBF
NkNDRTBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTVW5rbm93blJ1bGUuaCAqLzsgfTsKIAkJRTFFRTc3
MzcwOEYxMDg2QzAwMTY2ODcwIC8qIFdlYkNvcmVUZXh0RGVjb2Rlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFFRTc3MzUwOEYxMDg2QzAwMTY2ODcw
IC8qIFdlYkNvcmVUZXh0RGVjb2Rlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CkBAIC0xNTE1LDIzICsxNTE3LDYgQEAKIAkJRkFFMDQxOTAwOTc1OTZD
OTAwMDU0MEJFIC8qIFNWR0ltYWdlTG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGQUUwNDE4RTA5NzU5NkM5MDAwNTQwQkUgLyogU1ZHSW1hZ2VM
b2FkZXIuaCAqLzsgfTsKIC8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwogCi0vKiBCZWdp
biBQQlhCdWlsZFN0eWxlIHNlY3Rpb24gKi8KLQkJREIxNDY3NkQwQTIzN0VDRTAwQzlERDE2IC8q
IERldmVsb3BtZW50ICovID0gewotCQkJaXNhID0gUEJYQnVpbGRTdHlsZTsKLQkJCWJ1aWxkU2V0
dGluZ3MgPSB7Ci0JCQkJQ09QWV9QSEFTRV9TVFJJUCA9IE5POwotCQkJfTsKLQkJCW5hbWUgPSBE
ZXZlbG9wbWVudDsKLQkJfTsKLQkJREIxNDY3NkUwQTIzN0VDRTAwQzlERDE2IC8qIERlcGxveW1l
bnQgKi8gPSB7Ci0JCQlpc2EgPSBQQlhCdWlsZFN0eWxlOwotCQkJYnVpbGRTZXR0aW5ncyA9IHsK
LQkJCQlDT1BZX1BIQVNFX1NUUklQID0gWUVTOwotCQkJfTsKLQkJCW5hbWUgPSBEZXBsb3ltZW50
OwotCQl9OwotLyogRW5kIFBCWEJ1aWxkU3R5bGUgc2VjdGlvbiAqLwotCiAvKiBCZWdpbiBQQlhD
b250YWluZXJJdGVtUHJveHkgc2VjdGlvbiAqLwogCQlERDA0MUZGMDA5RDlFMzI1MDAxMEFGMkEg
LyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovID0gewogCQkJaXNhID0gUEJYQ29udGFpbmVySXRl
bVByb3h5OwpAQCAtMzE5OCw2ICszMTgzLDggQEAKIAkJRDA4NkZFOTcwOUQ1M0FBQjAwNUJDNzRE
IC8qIFVubGlua0NvbW1hbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gVW5saW5rQ29tbWFuZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwQjA1
NTY2MDlDNjcwMDEwMDMwN0U0MyAvKiBDcmVhdGVMaW5rQ29tbWFuZC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDcmVhdGVMaW5rQ29tbWFuZC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlEMEIwNTU2NzA5QzY3MDAxMDAzMDdFNDMgLyogQ3JlYXRlTGlua0NvbW1h
bmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ3JlYXRlTGlua0Nv
bW1hbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlERDVFMUY2MDBBMkVFQ0Ew
MDA5RTE0OTUgLyogRE9NRXZlbnRzTm9uc3RhbmRhcmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERPTUV2ZW50c05vbnN0YW5kYXJkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCURENUUxRjYxMEEyRUVDQTAwMDlFMTQ5NSAvKiBET01FdmVudHNOb25zdGFuZGFy
ZC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01FdmVudHNO
b25zdGFuZGFyZC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJREQ3NjNCQjEwOTky
QzJDOTAwNzQwQjhFIC8qIGxpYnhtbDIuZHlsaWIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSAiY29tcGlsZWQubWFjaC1vLmR5bGliIjsgbmFtZSA9IGxp
YnhtbDIuZHlsaWI7IHBhdGggPSAvdXNyL2xpYi9saWJ4bWwyLmR5bGliOyBzb3VyY2VUcmVlID0g
IjxhYnNvbHV0ZT4iOyB9OwogCQlFMUVFNzczNTA4RjEwODZDMDAxNjY4NzAgLyogV2ViQ29yZVRl
eHREZWNvZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV2ViQ29yZVRleHREZWNvZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldp
ZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQlFMUVFNzczNjA4RjEwODZDMDAxNjY4NzAgLyog
V2ViQ29yZVRleHREZWNvZGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJDb3JlVGV4dERlY29kZXIubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwpAQCAtNDgwMiw2ICs0
Nzg5LDggQEAKIAkJCQlCQzFBMzc5QjA5N0M3MTVGMDAxOUYzRDggLyogRE9NQ1NTLm1tICovLAog
CQkJCUJDMUEzNzlDMDk3QzcxNUYwMDE5RjNEOCAvKiBET01FdmVudHMuaCAqLywKIAkJCQlCQzFB
Mzc5RDA5N0M3MTVGMDAxOUYzRDggLyogRE9NRXZlbnRzLm1tICovLAorCQkJCURENUUxRjYwMEEy
RUVDQTAwMDlFMTQ5NSAvKiBET01FdmVudHNOb25zdGFuZGFyZC5oICovLAorCQkJCURENUUxRjYx
MEEyRUVDQTAwMDlFMTQ5NSAvKiBET01FdmVudHNOb25zdGFuZGFyZC5tbSAqLywKIAkJCQlCQzFB
Mzc5RTA5N0M3MTVGMDAxOUYzRDggLyogRE9NRXZlbnRzSW50ZXJuYWwuaCAqLywKIAkJCQlCQzFB
Mzc5RjA5N0M3MTVGMDAxOUYzRDggLyogRE9NRXh0ZW5zaW9ucy5oICovLAogCQkJCUJDMUEzN0Ew
MDk3QzcxNUYwMDE5RjNEOCAvKiBET01IVE1MLmggKi8sCkBAIC02MTUzLDYgKzYxNDIsNyBAQAog
CQkJCUE4MzNDMTAwMEEyQzUxMzMwMEQ1NzY2NCAvKiBKU1NWR1RyYW5zZm9ybS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTgzM0M2RDgwQTJDRUE3NzAwRDU3NjY0IC8qIEpTU1ZHRWxlbWVudFdyYXBw
ZXJGYWN0b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQlBODMzQzgwRDBBMkNGMjU2MDBENTc2NjQg
LyogWE1MTmFtZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCURENUUxRjYyMEEyRUVDQTAwMDlFMTQ5
NSAvKiBET01FdmVudHNOb25zdGFuZGFyZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVu
T25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC02MTg2LDEyICs2
MTc2LDYgQEAKIAkJMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICov
ID0gewogCQkJaXNhID0gUEJYUHJvamVjdDsKIAkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAx
NDlDMjg0MzA4OTAyQjExMDA4QTlFRkMgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQ
QlhQcm9qZWN0ICJXZWJDb3JlIiAqLzsKLQkJCWJ1aWxkU2V0dGluZ3MgPSB7Ci0JCQl9OwotCQkJ
YnVpbGRTdHlsZXMgPSAoCi0JCQkJREIxNDY3NkQwQTIzN0VDRTAwQzlERDE2IC8qIERldmVsb3Bt
ZW50ICovLAotCQkJCURCMTQ2NzZFMEEyMzdFQ0UwMEM5REQxNiAvKiBEZXBsb3ltZW50ICovLAot
CQkJKTsKIAkJCWhhc1NjYW5uZWRGb3JFbmNvZGluZ3MgPSAxOwogCQkJa25vd25SZWdpb25zID0g
KAogCQkJCUVuZ2xpc2gsCkBAIC02OTg0LDYgKzY5NjgsNyBAQAogCQkJCUE4MzNDN0NDMEEyQ0Yw
NzQwMEQ1NzY2NCAvKiBYTGlua05hbWVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4MzNDODBD
MEEyQ0YyNTYwMEQ1NzY2NCAvKiBYTUxOYW1lcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODMz
Qzg1MjBBMkNGNTI4MDBENTc2NjQgLyogU1ZHRWxlbWVudEZhY3RvcnkuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJREQ1RTFGNjMwQTJFRUNBMDAwOUUxNDk1IC8qIERPTUV2ZW50c05vbnN0YW5kYXJk
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJv
Y2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBXZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQ2NjQpCisrKyBXZWJDb3JlL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUwIEBACisyMDA2LTA2LTAxICBKb25hcyBXaXR0
IDxqb25hcy53aXR0QGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKyAgICAgICAgCisgICAgICAgIC0gVXBkYXRlZCBET01VSUV2ZW50IHRvIGluY2x1ZGUg
YWxsIERPTSBMZXZlbCAyIHByb3BlcnRpZXMKKyAgICAgICAgLSBBZGRlZCBET01LZXlib2FyZEV2
ZW50IChET00gTGV2ZWwgMykKKyAgICAgICAgLSBBZGRlZCB0d28gbm9uLVczQyBhY2Nlc3NvcnMg
KGtleUNvZGUsIGNoYXJDb2RlKSBvZiBET01LZXlib2FyZEV2ZW50IHRvIGEgc2VwZXJhdGUgZmls
ZSAoRE9NRXZlbnRzTm9uc3RhbmRhcmQpCisgICAgICAgIC0gQWRkZWQgRE9NV2hlZWxFdmVudCAo
bm9uLVczQykgaW4gc2VwZXJhdGUgZmlsZSAoRE9NRXZlbnRzTm9uc3RhbmRhcmQpCisgICAgICAg
IC0gQWRkZWQgdGhpcyBmaWxlIChET01FdmVudHNOb25zdGFuZGFyZCkgdG8gdGhlIGJ1aWxkIHBy
b2Nlc3MKKworICAgICAgICBXQVJOSU5HOiBOTyBURVNUIENBU0VTIEFEREVEIE9SIENIQU5HRUQK
KworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBiaW5kaW5ncy9vYmpjL0RPTS5oOgorICAgICAgICAqIGJpbmRpbmdzL29iamMvRE9NRXZlbnRz
Lmg6CisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01FdmVudHMubW06CisgICAgICAgICgrW0RP
TUV2ZW50IF9ldmVudFdpdGg6XSk6CisgICAgICAgICgtW0RPTVVJRXZlbnQgX1VJRXZlbnRdKToK
KyAgICAgICAgKC1bRE9NVUlFdmVudCB2aWV3XSk6CisgICAgICAgICgtW0RPTVVJRXZlbnQgZGV0
YWlsXSk6CisgICAgICAgICgtW0RPTVVJRXZlbnQgaW5pdFVJRXZlbnQ6Ojo6Ol0pOgorICAgICAg
ICAoLVtET01LZXlib2FyZEV2ZW50IF9rZXlib2FyZEV2ZW50XSk6CisgICAgICAgICgtW0RPTUtl
eWJvYXJkRXZlbnQga2V5SWRlbnRpZmllcl0pOgorICAgICAgICAoLVtET01LZXlib2FyZEV2ZW50
IGtleUxvY2F0aW9uXSk6CisgICAgICAgICgtW0RPTUtleWJvYXJkRXZlbnQgY3RybEtleV0pOgor
ICAgICAgICAoLVtET01LZXlib2FyZEV2ZW50IHNoaWZ0S2V5XSk6CisgICAgICAgICgtW0RPTUtl
eWJvYXJkRXZlbnQgYWx0S2V5XSk6CisgICAgICAgICgtW0RPTUtleWJvYXJkRXZlbnQgbWV0YUtl
eV0pOgorICAgICAgICAoLVtET01LZXlib2FyZEV2ZW50IGdldE1vZGlmaWVyU3RhdGU6XSk6Cisg
ICAgICAgICgtW0RPTU1vdXNlRXZlbnQgYnV0dG9uXSk6CisgICAgICAgICogYmluZGluZ3Mvb2Jq
Yy9ET01FdmVudHNOb25zdGFuZGFyZC5oOiBBZGRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9vYmpj
L0RPTUV2ZW50c05vbnN0YW5kYXJkLm1tOiBBZGRlZC4KKyAgICAgICAgKC1bRE9NV2hlZWxFdmVu
dCBfd2hlZWxFdmVudF0pOgorICAgICAgICAoLVtET01XaGVlbEV2ZW50IHNjcmVlblhdKToKKyAg
ICAgICAgKC1bRE9NV2hlZWxFdmVudCBzY3JlZW5ZXSk6CisgICAgICAgICgtW0RPTVdoZWVsRXZl
bnQgY2xpZW50WF0pOgorICAgICAgICAoLVtET01XaGVlbEV2ZW50IGNsaWVudFldKToKKyAgICAg
ICAgKC1bRE9NV2hlZWxFdmVudCBjdHJsS2V5XSk6CisgICAgICAgICgtW0RPTVdoZWVsRXZlbnQg
c2hpZnRLZXldKToKKyAgICAgICAgKC1bRE9NV2hlZWxFdmVudCBhbHRLZXldKToKKyAgICAgICAg
KC1bRE9NV2hlZWxFdmVudCBtZXRhS2V5XSk6CisgICAgICAgICgtW0RPTVdoZWVsRXZlbnQgaXNI
b3Jpem9udGFsXSk6CisgICAgICAgICgtW0RPTVdoZWVsRXZlbnQgd2hlZWxEZWx0YV0pOgorICAg
ICAgICAoLVtET01LZXlib2FyZEV2ZW50IF9rZXlib2FyZEV2ZW50XSk6CisgICAgICAgICgtW0RP
TUtleWJvYXJkRXZlbnQga2V5Q29kZV0pOgorICAgICAgICAoLVtET01LZXlib2FyZEV2ZW50IGNo
YXJDb2RlXSk6CisKIDIwMDYtMDYtMDEgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGtpbHplci5u
ZXQ+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgZGFyaW4uCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8784</attachid>
            <date>2006-06-09 05:28:59 -0700</date>
            <delta_ts>2006-06-12 03:50:35 -0700</delta_ts>
            <desc>Testcase for the ObjC DOMEvent API</desc>
            <filename>acc4.patch</filename>
            <type>text/plain</type>
            <size>8086</size>
            <attacher name="Jonas Witt">jonas.witt</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL29iamMtZXZlbnQtYXBpLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9vYmpjLWV2ZW50LWFwaS1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9vYmpj
LWV2ZW50LWFwaS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzUgQEAKK0VE
SVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6KG51bGwpIHRvRE9N
UmFuZ2U6cmFuZ2UgZnJvbSA0IG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1l
bnQgdG8gNCBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5
Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElU
SU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb25Ob3RpZmljYXRpb24KK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJC
b2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NzYKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9
IGF0ICgwLDApIHNpemUgNDAweDMwMCBbYmdjb2xvcj0jODhBQUREXQorICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDE4Niw1MCkgc2l6ZSAyN3gxOAorICAgICAgICAgIHRleHQgcnVuIGF0
ICgxODYsNTApIHdpZHRoIDI3OiAiVGVzdCIKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwz
MTYpIHNpemUgNzg0eDE4CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDQ3NHgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQ3NDogIlRoaXMgdGVz
dHMgdGhhdCBET01FdmVudHMgYXJlIGNvcnJlY3RseSBoYW5kZWQgdG8gdGhlIE9iakMgQVBJLiBT
ZWUgYnVnICIKKyAgICAgICAgUmVuZGVySW5saW5lIHtBfSBhdCAoMCwwKSBzaXplIDMyeDE4IFtj
b2xvcj0jMDAwMEVFXQorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNDc0LDApIHNp
emUgMzJ4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0NzQsMCkgd2lkdGggMzI6ICI5MTgx
IgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDUwNiwwKSBzaXplIDR4MTgKKyAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoNTA2LDApIHdpZHRoIDQ6ICIuIgorICAgICAgUmVuZGVyQmxvY2sg
e0RJVn0gYXQgKDAsMzUwKSBzaXplIDc4NHgxNTQKKyAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0
ICgwLDApIHNpemUgNzg0eDE4CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMzgyeDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzODI6ICJt
b3VzZW92ZXIgb24gRElWLCAwLjAwMDAwMCwwLjAwMDAwMCAwLjAwMDAwMCwwLjAwMDAwMCIKKyAg
ICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDM0KSBzaXplIDc4NHgxOAorICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDM5NXgxOAorICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMCkgd2lkdGggMzk1OiAibW91c2Vkb3duIG9uIERJViwgMC4wMDAwMDAsMC4wMDAw
MDAgMC4wMDAwMDAsLTAuMDAwMDAwIgorICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsNjgp
IHNpemUgNzg0eDE4CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MTE4eDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMTg6ICJzZWxlY3Rz
dGFydCBvbiBESVYsIgorICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMTAyKSBzaXplIDc4
NHgxOAorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDM3NXgxOAor
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzc1OiAibW91c2V1cCBvbiBESVYs
IDAuMDAwMDAwLDAuMDAwMDAwIDAuMDAwMDAwLC0wLjAwMDAwMCIKKyAgICAgICAgUmVuZGVyQmxv
Y2sge1B9IGF0ICgwLDEzNikgc2l6ZSA3ODR4MTgKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAzNDN4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDM0MzogImNsaWNrIG9uIERJViwgMC4wMDAwMDAsMC4wMDAwMDAgMC4wMDAwMDAsMC4wMDAw
MDAiCitjYXJldDogcG9zaXRpb24gNCBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMSB7RElW
fSBvZiBjaGlsZCAxIHtCT0RZfSBvZiBjaGlsZCAwIHtIVE1MfSBvZiBkb2N1bWVudApJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvb2JqYy1ldmVudC1hcGkuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9vYmpjLWV2ZW50LWFwaS5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvb2JqYy1ldmVudC1hcGkuaHRtbAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwyMiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitmdW5jdGlv
biBpbml0KCkgeworICAgaWYgKGV2ZW50U2VuZGVyKSB7CisgICAgICBldmVudFNlbmRlci5tb3Vz
ZU1vdmVUbygxLDEpOworICAgICAgZXZlbnRTZW5kZXIuZW5hYmxlRE9NVUlFdmVudExvZ2dpbmco
ZG9jdW1lbnQpOworICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMTAwLDEwMCk7CisgICAg
ICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsK
KyAgIH0KK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJpbml0KCkiPgorICAg
PGRpdiBpZD0iY2xpY2t0ZXN0IiBzdHlsZT0id2lkdGg6IDMwMHB4OyBoZWlnaHQ6IDIwMHB4OyBi
YWNrZ3JvdW5kLWNvbG9yOiAjOGFkOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHBhZGRpbmc6IDUwcHg7
Ij5UZXN0PC9kaXY+CisgICAKKyAgIDxwPlRoaXMgdGVzdHMgdGhhdCBET01FdmVudHMgYXJlIGNv
cnJlY3RseSBoYW5kZWQgdG8gdGhlIE9iakMgQVBJLiBTZWUgYnVnIDxhIGhyZWY9Imh0dHA6Ly9i
dWd6aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTE4MSI+OTE4MTwvYT4uPC9w
PgorCisgICA8ZGl2IGlkPSJyZXN1bHQiIC8+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBXZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5o
CShyZXZpc2lvbiAxNDc2OCkKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0V2ZW50U2Vu
ZGluZ0NvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMDUsIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgSm9uYXMgV2l0dCA8am9uYXMud2l0dEBn
bWFpbC5jb20+CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI4LDcgKzI5LDkg
QEAKICAKICNpbXBvcnQgPENvY29hL0NvY29hLmg+CiAKLUBpbnRlcmZhY2UgRXZlbnRTZW5kaW5n
Q29udHJvbGxlciA6IE5TT2JqZWN0IHsKKyNpbXBvcnQgPFdlYktpdC9XZWJLaXQuaD4KKworQGlu
dGVyZmFjZSBFdmVudFNlbmRpbmdDb250cm9sbGVyIDogTlNPYmplY3QgPERPTUV2ZW50TGlzdGVu
ZXI+IHsKICAgICBCT09MIGRvd247CiAgICAgaW50IGNsaWNrQ291bnQ7CiAgICAgTlNUaW1lSW50
ZXJ2YWwgbGFzdENsaWNrOwpAQCAtMzYsNiArMzksMTAgQEAKICAgICBkb3VibGUgdGltZU9mZnNl
dDsKIH0KIAorLSAodm9pZCllbmFibGVET01VSUV2ZW50TG9nZ2luZzooV2ViU2NyaXB0T2JqZWN0
ICopbm9kZTsKKworLSAodm9pZCloYW5kbGVFdmVudDooRE9NRXZlbnQgKilldmVudDsKKwogQGVu
ZAogCiBleHRlcm4gTlNQb2ludCBsYXN0TW91c2VQb3NpdGlvbjsKSW5kZXg6IFdlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIubQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLm0JKHJldmlz
aW9uIDE0NzY4KQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRXZlbnRTZW5kaW5nQ29u
dHJvbGxlci5tCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdo
dCAoQykgMjAwNSwgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBKb25hcyBXaXR0IDxqb25hcy53aXR0QGdtYWlsLmNv
bT4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzUsOSArMzYsNTkgQEAKICNp
bXBvcnQgPFdlYktpdC9XZWJLaXQuaD4KIAogTlNQb2ludCBsYXN0TW91c2VQb3NpdGlvbjsKK05T
QXJyYXkgKndlYmtpdERvbUV2ZW50TmFtZXM7CiAKIEBpbXBsZW1lbnRhdGlvbiBFdmVudFNlbmRp
bmdDb250cm9sbGVyCiAKKysgKHZvaWQpaW5pdGlhbGl6ZSB7CisJd2Via2l0RG9tRXZlbnROYW1l
cyA9IFtbTlNBcnJheSBhbGxvY10gaW5pdFdpdGhPYmplY3RzOgorCQlAImFib3J0IiwKKwkJQCJi
ZWZvcmVjb3B5IiwKKwkJQCJiZWZvcmVjdXQiLAorCQlAImJlZm9yZXBhc3RlIiwKKwkJQCJibHVy
IiwKKwkJQCJjaGFuZ2UiLAorCQlAImNsaWNrIiwKKwkJQCJjb250ZXh0bWVudSIsCisJCUAiY29w
eSIsCisJCUAiY3V0IiwKKwkJQCJkYmxjbGljayIsCisJCUAiZHJhZyIsCisJCUAiZHJhZ2VuZCIs
CisJCUAiZHJhZ2VudGVyIiwKKwkJQCJkcmFnbGVhdmUiLAorCQlAImRyYWdvdmVyIiwKKwkJQCJk
cmFnc3RhcnQiLAorCQlAImRyb3AiLAorCQlAImVycm9yIiwKKwkJQCJmb2N1cyIsCisJCUAiaW5w
dXQiLAorCQlAImtleWRvd24iLAorCQlAImtleXByZXNzIiwKKwkJQCJrZXl1cCIsCisJCUAibG9h
ZCIsCisJCUAibW91c2Vkb3duIiwKKwkJQCJtb3VzZW1vdmUiLAorCQlAIm1vdXNlb3V0IiwKKwkJ
QCJtb3VzZW92ZXIiLAorCQlAIm1vdXNldXAiLAorCQlAIm1vdXNld2hlZWwiLAorCQlAImJlZm9y
ZXVubG9hZCIsCisJCUAicGFzdGUiLAorCQlAInJlYWR5c3RhdGVjaGFuZ2UiLAorCQlAInJlc2V0
IiwKKwkJQCJyZXNpemUiLCAKKwkJQCJzY3JvbGwiLCAKKwkJQCJzZWFyY2giLAorCQlAInNlbGVj
dCIsCisJCUAic2VsZWN0c3RhcnQiLAorCQlAInN1Ym1pdCIsIAorCQlAInRleHRJbnB1dCIsIAor
CQlAInVubG9hZCIsCisJCUAiem9vbSIsCisJCW5pbF07CQorfQorCiArIChCT09MKWlzU2VsZWN0
b3JFeGNsdWRlZEZyb21XZWJTY3JpcHQ6KFNFTClhU2VsZWN0b3IKIHsKICAgICBpZiAoYVNlbGVj
dG9yID09IEBzZWxlY3Rvcihtb3VzZURvd24pCkBAIC00NSw3ICs5Niw4IEBACiAgICAgICAgICAg
ICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKG1vdXNlQ2xpY2spCiAgICAgICAgICAgICB8fCBh
U2VsZWN0b3IgPT0gQHNlbGVjdG9yKG1vdXNlTW92ZVRvWDpZOikKICAgICAgICAgICAgIHx8IGFT
ZWxlY3RvciA9PSBAc2VsZWN0b3IobGVhcEZvcndhcmQ6KQotICAgICAgICAgICAgfHwgYVNlbGVj
dG9yID09IEBzZWxlY3RvcihrZXlEb3duOndpdGhNb2RpZmllcnM6KSkKKyAgICAgICAgICAgIHx8
IGFTZWxlY3RvciA9PSBAc2VsZWN0b3Ioa2V5RG93bjp3aXRoTW9kaWZpZXJzOikKKwkJCXx8IGFT
ZWxlY3RvciA9PSBAc2VsZWN0b3IoZW5hYmxlRE9NVUlFdmVudExvZ2dpbmc6KSkKICAgICAgICAg
cmV0dXJuIE5POwogICAgIHJldHVybiBZRVM7CiB9CkBAIC01OCw2ICsxMTAsOCBAQAogICAgICAg
ICByZXR1cm4gQCJsZWFwRm9yd2FyZCI7CiAgICAgaWYgKGFTZWxlY3RvciA9PSBAc2VsZWN0b3Io
a2V5RG93bjp3aXRoTW9kaWZpZXJzOikpCiAgICAgICAgIHJldHVybiBAImtleURvd24iOworICAg
IGlmIChhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKGVuYWJsZURPTVVJRXZlbnRMb2dnaW5nOikpCisg
ICAgICAgIHJldHVybiBAImVuYWJsZURPTVVJRXZlbnRMb2dnaW5nIjsKICAgICByZXR1cm4gbmls
OwogfQogCkBAIC0yMzcsNCArMjkxLDQ4IEBACiAgICAgfQogfQogCistICh2b2lkKWVuYWJsZURP
TVVJRXZlbnRMb2dnaW5nOihXZWJTY3JpcHRPYmplY3QgKilub2RlCit7CisJTlNFbnVtZXJhdG9y
ICpldmVudEVudW1lcmF0b3IgPSBbd2Via2l0RG9tRXZlbnROYW1lcyBvYmplY3RFbnVtZXJhdG9y
XTsKKwlpZCBldmVudE5hbWU7CisJd2hpbGUgKChldmVudE5hbWUgPSBbZXZlbnRFbnVtZXJhdG9y
IG5leHRPYmplY3RdKSkgeworCQlbKGlkPERPTUV2ZW50VGFyZ2V0Pilub2RlIGFkZEV2ZW50TGlz
dGVuZXI6ZXZlbnROYW1lIDpzZWxmIDpOT107CQkKKwl9Cit9CisKKy0gKHZvaWQpaGFuZGxlRXZl
bnQ6KERPTUV2ZW50ICopZXZlbnQKK3sKKwlET01Ob2RlICp0YXJnZXQgPSBbZXZlbnQgdGFyZ2V0
XTsKKwkvLyBnZXQgdGhlIHJvb3QgKGRvY3VtZW50KSBub2RlLi4uCisJd2hpbGUgKFt0YXJnZXQg
cGFyZW50Tm9kZV0pCisJCXRhcmdldCA9IFt0YXJnZXQgcGFyZW50Tm9kZV07CisJRE9NSFRNTERv
Y3VtZW50ICpkb2N1bWVudCA9IChET01IVE1MRG9jdW1lbnQqKSB0YXJnZXQ7CisJdGFyZ2V0ID0g
W2V2ZW50IHRhcmdldF07CisJLy8gLi4uIHRvIGdldCB0aGUgcmVzdWx0IDxkaXY+CisJRE9NTm9k
ZSAqcmVzdWx0ID0gW2RvY3VtZW50IGdldEVsZW1lbnRCeUlkOkAicmVzdWx0Il07CQorCQorCS8v
IG91dHB1dCBldmVudCB0eXBlICYgdGFyZ2V0IHR5cGUKKwlOU011dGFibGVTdHJpbmcgKm91dHB1
dCA9IFtbTlNNdXRhYmxlU3RyaW5nIGFsbG9jXSBpbml0V2l0aEZvcm1hdDpAIiVAIG9uICVALCAi
LAorCQlbZXZlbnQgdHlwZV0sIFt0YXJnZXQgbm9kZU5hbWVdXTsKKwkKKwlpZiAoW2V2ZW50IGlz
S2luZE9mQ2xhc3M6W0RPTU1vdXNlRXZlbnQgY2xhc3NdXSkgeworCQlbb3V0cHV0IGFwcGVuZEZv
cm1hdDpAIiVmLCVmICVmLCVmIiwgCisJCQlbZXZlbnQgdHlwZV0sIAorCQkJWyhET01Nb3VzZUV2
ZW50KilldmVudCBjbGllbnRYXSwgCisJCQlbKERPTU1vdXNlRXZlbnQqKWV2ZW50IGNsaWVudFld
LAorCQkJWyhET01Nb3VzZUV2ZW50KilldmVudCBzY3JlZW5YXSwKKwkJCVsoRE9NTW91c2VFdmVu
dCopZXZlbnQgc2NyZWVuWV1dOworCX0KKwkKKwlpZiAob3V0cHV0ICYmIFtvdXRwdXQgbGVuZ3Ro
XSA+IDApIHsKKwkJLy8gYWRkIHRoZSBvdXRwdXQgYXMgYSA8cD4gbm9kZSBpbiB0aGUgcmVzdWx0
IDxkaXY+CisJCURPTUVsZW1lbnQgKnAgPSBbZG9jdW1lbnQgY3JlYXRlRWxlbWVudDpAInAiXTsK
KwkJRE9NVGV4dCAqdGV4dE5vZGUgPSBbZG9jdW1lbnQgY3JlYXRlVGV4dE5vZGU6b3V0cHV0XTsK
KwkJW3AgYXBwZW5kQ2hpbGQ6dGV4dE5vZGVdOworCQlbcmVzdWx0IGFwcGVuZENoaWxkOnBdOwor
CX0KKwlpZiAob3V0cHV0KQorCQlbb3V0cHV0IHJlbGVhc2VdOworfQorCiBAZW5kCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8820</attachid>
            <date>2006-06-12 03:50:35 -0700</date>
            <delta_ts>2006-06-12 11:01:35 -0700</delta_ts>
            <desc>Testcase for the ObjC DOMEvent API</desc>
            <filename>acc5.patch</filename>
            <type>text/plain</type>
            <size>34947</size>
            <attacher name="Jonas Witt">jonas.witt</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL29iamMtZXZlbnQtYXBpLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9vYmpjLWV2ZW50LWFwaS1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9vYmpj
LWV2ZW50LWFwaS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjY1IEBACitl
dmVudCB0eXBlOiAgICAgIG1vdXNlb3ZlcgorICB0YXJnZXQ6ICAgICAgICA8ZGl2PgorICBldmVu
dFBoYXNlOiAgICAzCisgIGJ1YmJsZXM6ICAgICAgIDEKKyAgY2FuY2VsYWJsZTogICAgMQorICBk
ZXRhaWw6ICAgICAgICAwCisgIGJ1dHRvbjogICAgICAgIDAKKyAgc2NyZWVuWDogICAgICAgLTk5
MDAKKyAgc2NyZWVuWTogICAgICAgMTAzNTQKKyAgY2xpZW50WDogICAgICAgMTAwCisgIGNsaWVu
dFk6ICAgICAgIDEwMAorICBtb2RpZmllciBrZXlzOiBjOjAgczowIGE6MCBtOjAKK2V2ZW50IHR5
cGU6ICAgICAgbW91c2Vkb3duCisgIHRhcmdldDogICAgICAgIDxkaXY+CisgIGV2ZW50UGhhc2U6
ICAgIDMKKyAgYnViYmxlczogICAgICAgMQorICBjYW5jZWxhYmxlOiAgICAxCisgIGRldGFpbDog
ICAgICAgIDEKKyAgYnV0dG9uOiAgICAgICAgMAorICBzY3JlZW5YOiAgICAgICAtOTkwMAorICBz
Y3JlZW5ZOiAgICAgICAxMDM1NAorICBjbGllbnRYOiAgICAgICAxMDAKKyAgY2xpZW50WTogICAg
ICAgMTAwCisgIG1vZGlmaWVyIGtleXM6IGM6MCBzOjAgYTowIG06MAorZXZlbnQgdHlwZTogICAg
ICBzZWxlY3RzdGFydAorICB0YXJnZXQ6ICAgICAgICA8ZGl2PgorICBldmVudFBoYXNlOiAgICAz
CisgIGJ1YmJsZXM6ICAgICAgIDEKKyAgY2FuY2VsYWJsZTogICAgMQorRURJVElORyBERUxFR0FU
RTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZToobnVsbCkgdG9ET01SYW5nZTpyYW5nZSBm
cm9tIDQgb2YgI3RleHQgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byA0IG9mICN0
ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25B
ZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6
IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlm
aWNhdGlvbgorZXZlbnQgdHlwZTogICAgICBtb3VzZXVwCisgIHRhcmdldDogICAgICAgIDxkaXY+
CisgIGV2ZW50UGhhc2U6ICAgIDMKKyAgYnViYmxlczogICAgICAgMQorICBjYW5jZWxhYmxlOiAg
ICAxCisgIGRldGFpbDogICAgICAgIDEKKyAgYnV0dG9uOiAgICAgICAgMAorICBzY3JlZW5YOiAg
ICAgICAtOTkwMAorICBzY3JlZW5ZOiAgICAgICAxMDM1NAorICBjbGllbnRYOiAgICAgICAxMDAK
KyAgY2xpZW50WTogICAgICAgMTAwCisgIG1vZGlmaWVyIGtleXM6IGM6MCBzOjAgYTowIG06MAor
ZXZlbnQgdHlwZTogICAgICBjbGljaworICB0YXJnZXQ6ICAgICAgICA8ZGl2PgorICBldmVudFBo
YXNlOiAgICAzCisgIGJ1YmJsZXM6ICAgICAgIDEKKyAgY2FuY2VsYWJsZTogICAgMQorICBkZXRh
aWw6ICAgICAgICAxCisgIGJ1dHRvbjogICAgICAgIDAKKyAgc2NyZWVuWDogICAgICAgLTk5MDAK
KyAgc2NyZWVuWTogICAgICAgMTAzNTQKKyAgY2xpZW50WDogICAgICAgMTAwCisgIGNsaWVudFk6
ICAgICAgIDEwMAorICBtb2RpZmllciBrZXlzOiBjOjAgczowIGE6MCBtOjAKK2V2ZW50IHR5cGU6
ICAgICAga2V5ZG93bgorICB0YXJnZXQ6ICAgICAgICA8Ym9keT4KKyAgZXZlbnRQaGFzZTogICAg
MworICBidWJibGVzOiAgICAgICAxCisgIGNhbmNlbGFibGU6ICAgIDEKKyAgZGV0YWlsOiAgICAg
ICAgMAorICBrZXlJZGVudGlmaWVyOiBVKzAwMDA0MQorICBrZXlMb2NhdGlvbjogICAwCisgIG1v
ZGlmaWVyIGtleXM6IGM6MCBzOjAgYTowIG06MAorICBrZXlDb2RlOiAgICAgICA2NQorICBjaGFy
Q29kZTogICAgICA5NworZXZlbnQgdHlwZTogICAgICBrZXlwcmVzcworICB0YXJnZXQ6ICAgICAg
ICA8Ym9keT4KKyAgZXZlbnRQaGFzZTogICAgMworICBidWJibGVzOiAgICAgICAxCisgIGNhbmNl
bGFibGU6ICAgIDEKKyAgZGV0YWlsOiAgICAgICAgMAorICBrZXlJZGVudGlmaWVyOiBVKzAwMDA0
MQorICBrZXlMb2NhdGlvbjogICAwCisgIG1vZGlmaWVyIGtleXM6IGM6MCBzOjAgYTowIG06MAor
ICBrZXlDb2RlOiAgICAgICA5NworICBjaGFyQ29kZTogICAgICA5NworZXZlbnQgdHlwZTogICAg
ICBrZXlkb3duCisgIHRhcmdldDogICAgICAgIDxib2R5PgorICBldmVudFBoYXNlOiAgICAzCisg
IGJ1YmJsZXM6ICAgICAgIDEKKyAgY2FuY2VsYWJsZTogICAgMQorICBkZXRhaWw6ICAgICAgICAw
CisgIGtleUlkZW50aWZpZXI6IFUrMDAwMDQyCisgIGtleUxvY2F0aW9uOiAgIDAKKyAgbW9kaWZp
ZXIga2V5czogYzoxIHM6MCBhOjAgbTowCisgIGtleUNvZGU6ICAgICAgIDY2CisgIGNoYXJDb2Rl
OiAgICAgIDk4CitldmVudCB0eXBlOiAgICAgIGtleXByZXNzCisgIHRhcmdldDogICAgICAgIDxi
b2R5PgorICBldmVudFBoYXNlOiAgICAzCisgIGJ1YmJsZXM6ICAgICAgIDEKKyAgY2FuY2VsYWJs
ZTogICAgMQorICBkZXRhaWw6ICAgICAgICAwCisgIGtleUlkZW50aWZpZXI6IFUrMDAwMDQyCisg
IGtleUxvY2F0aW9uOiAgIDAKKyAgbW9kaWZpZXIga2V5czogYzoxIHM6MCBhOjAgbTowCisgIGtl
eUNvZGU6ICAgICAgIDk4CisgIGNoYXJDb2RlOiAgICAgIDk4CitldmVudCB0eXBlOiAgICAgIGtl
eWRvd24KKyAgdGFyZ2V0OiAgICAgICAgPGJvZHk+CisgIGV2ZW50UGhhc2U6ICAgIDMKKyAgYnVi
YmxlczogICAgICAgMQorICBjYW5jZWxhYmxlOiAgICAxCisgIGRldGFpbDogICAgICAgIDAKKyAg
a2V5SWRlbnRpZmllcjogVSswMDAwNDQKKyAga2V5TG9jYXRpb246ICAgMAorICBtb2RpZmllciBr
ZXlzOiBjOjAgczoxIGE6MCBtOjAKKyAga2V5Q29kZTogICAgICAgNjgKKyAgY2hhckNvZGU6ICAg
ICAgMTAwCitldmVudCB0eXBlOiAgICAgIGtleXByZXNzCisgIHRhcmdldDogICAgICAgIDxib2R5
PgorICBldmVudFBoYXNlOiAgICAzCisgIGJ1YmJsZXM6ICAgICAgIDEKKyAgY2FuY2VsYWJsZTog
ICAgMQorICBkZXRhaWw6ICAgICAgICAwCisgIGtleUlkZW50aWZpZXI6IFUrMDAwMDQ0CisgIGtl
eUxvY2F0aW9uOiAgIDAKKyAgbW9kaWZpZXIga2V5czogYzowIHM6MSBhOjAgbTowCisgIGtleUNv
ZGU6ICAgICAgIDEwMAorICBjaGFyQ29kZTogICAgICAxMDAKK2V2ZW50IHR5cGU6ICAgICAga2V5
ZG93bgorICB0YXJnZXQ6ICAgICAgICA8Ym9keT4KKyAgZXZlbnRQaGFzZTogICAgMworICBidWJi
bGVzOiAgICAgICAxCisgIGNhbmNlbGFibGU6ICAgIDEKKyAgZGV0YWlsOiAgICAgICAgMAorICBr
ZXlJZGVudGlmaWVyOiBVKzAwMDA0NQorICBrZXlMb2NhdGlvbjogICAwCisgIG1vZGlmaWVyIGtl
eXM6IGM6MCBzOjAgYToxIG06MQorICBrZXlDb2RlOiAgICAgICA2OQorICBjaGFyQ29kZTogICAg
ICAxMDEKK2V2ZW50IHR5cGU6ICAgICAga2V5cHJlc3MKKyAgdGFyZ2V0OiAgICAgICAgPGJvZHk+
CisgIGV2ZW50UGhhc2U6ICAgIDMKKyAgYnViYmxlczogICAgICAgMQorICBjYW5jZWxhYmxlOiAg
ICAxCisgIGRldGFpbDogICAgICAgIDAKKyAga2V5SWRlbnRpZmllcjogVSswMDAwNDUKKyAga2V5
TG9jYXRpb246ICAgMAorICBtb2RpZmllciBrZXlzOiBjOjAgczowIGE6MSBtOjEKKyAga2V5Q29k
ZTogICAgICAgMTAxCisgIGNoYXJDb2RlOiAgICAgIDEwMQorZXZlbnQgdHlwZTogICAgICBtb3Vz
ZW1vdmUKKyAgdGFyZ2V0OiAgICAgICAgPGRpdj4KKyAgZXZlbnRQaGFzZTogICAgMworICBidWJi
bGVzOiAgICAgICAxCisgIGNhbmNlbGFibGU6ICAgIDAKKyAgZGV0YWlsOiAgICAgICAgMAorICBi
dXR0b246ICAgICAgICAwCisgIHNjcmVlblg6ICAgICAgIC05NjAwCisgIHNjcmVlblk6ICAgICAg
IDEwNDA0CisgIGNsaWVudFg6ICAgICAgIDQwMAorICBjbGllbnRZOiAgICAgICAxNTAKKyAgbW9k
aWZpZXIga2V5czogYzowIHM6MCBhOjAgbTowCitldmVudCB0eXBlOiAgICAgIG1vdXNlZG93bgor
ICB0YXJnZXQ6ICAgICAgICA8ZGl2PgorICBldmVudFBoYXNlOiAgICAzCisgIGJ1YmJsZXM6ICAg
ICAgIDEKKyAgY2FuY2VsYWJsZTogICAgMQorICBkZXRhaWw6ICAgICAgICAyCisgIGJ1dHRvbjog
ICAgICAgIDAKKyAgc2NyZWVuWDogICAgICAgLTk2MDAKKyAgc2NyZWVuWTogICAgICAgMTA0MDQK
KyAgY2xpZW50WDogICAgICAgNDAwCisgIGNsaWVudFk6ICAgICAgIDE1MAorICBtb2RpZmllciBr
ZXlzOiBjOjAgczowIGE6MCBtOjAKK2V2ZW50IHR5cGU6ICAgICAgc2VsZWN0c3RhcnQKKyAgdGFy
Z2V0OiAgICAgICAgPGRpdj4KKyAgZXZlbnRQaGFzZTogICAgMworICBidWJibGVzOiAgICAgICAx
CisgIGNhbmNlbGFibGU6ICAgIDEKK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVj
dGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSA0IG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAj
ZG9jdW1lbnQgdG8gNCBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRv
RE9NUmFuZ2U6cmFuZ2UgZnJvbSA0IG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9j
dW1lbnQgdG8gMCBvZiBQID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxl
Y3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVM
RUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlv
bk5vdGlmaWNhdGlvbgorZXZlbnQgdHlwZTogICAgICBtb3VzZWRvd24KKyAgdGFyZ2V0OiAgICAg
ICAgPGRpdj4KKyAgZXZlbnRQaGFzZTogICAgMworICBidWJibGVzOiAgICAgICAxCisgIGNhbmNl
bGFibGU6ICAgIDEKKyAgZGV0YWlsOiAgICAgICAgMworICBidXR0b246ICAgICAgICAwCisgIHNj
cmVlblg6ICAgICAgIC05NjAwCisgIHNjcmVlblk6ICAgICAgIDEwNDA0CisgIGNsaWVudFg6ICAg
ICAgIDQwMAorICBjbGllbnRZOiAgICAgICAxNTAKKyAgbW9kaWZpZXIga2V5czogYzowIHM6MCBh
OjAgbTowCitldmVudCB0eXBlOiAgICAgIHNlbGVjdHN0YXJ0CisgIHRhcmdldDogICAgICAgIDxk
aXY+CisgIGV2ZW50UGhhc2U6ICAgIDMKKyAgYnViYmxlczogICAgICAgMQorICBjYW5jZWxhYmxl
OiAgICAxCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJh
bmdlIGZyb20gNCBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDAg
b2YgUCA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9m
ICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMCBvZiBQID4gQk9EWSA+
IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0g
c3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorZXZlbnQgdHlw
ZTogICAgICBtb3VzZW91dAorICB0YXJnZXQ6ICAgICAgICA8ZGl2PgorICBldmVudFBoYXNlOiAg
ICAzCisgIGJ1YmJsZXM6ICAgICAgIDEKKyAgY2FuY2VsYWJsZTogICAgMQorICBkZXRhaWw6ICAg
ICAgICAwCisgIGJ1dHRvbjogICAgICAgIDAKKyAgc2NyZWVuWDogICAgICAgLTk5OTkKKyAgc2Ny
ZWVuWTogICAgICAgMTAyNTUKKyAgY2xpZW50WDogICAgICAgMQorICBjbGllbnRZOiAgICAgICAx
CisgIG1vZGlmaWVyIGtleXM6IGM6MCBzOjAgYTowIG06MAorZXZlbnQgdHlwZTogICAgICBtb3Vz
ZW92ZXIKKyAgdGFyZ2V0OiAgICAgICAgPGh0bWw+CisgIGV2ZW50UGhhc2U6ICAgIDMKKyAgYnVi
YmxlczogICAgICAgMQorICBjYW5jZWxhYmxlOiAgICAxCisgIGRldGFpbDogICAgICAgIDAKKyAg
YnV0dG9uOiAgICAgICAgMAorICBzY3JlZW5YOiAgICAgICAtOTk5OQorICBzY3JlZW5ZOiAgICAg
ICAxMDI1NQorICBjbGllbnRYOiAgICAgICAxCisgIGNsaWVudFk6ICAgICAgIDEKKyAgbW9kaWZp
ZXIga2V5czogYzowIHM6MCBhOjAgbTowCitldmVudCB0eXBlOiAgICAgIG1vdXNlbW92ZQorICB0
YXJnZXQ6ICAgICAgICA8aHRtbD4KKyAgZXZlbnRQaGFzZTogICAgMworICBidWJibGVzOiAgICAg
ICAxCisgIGNhbmNlbGFibGU6ICAgIDAKKyAgZGV0YWlsOiAgICAgICAgMAorICBidXR0b246ICAg
ICAgICAwCisgIHNjcmVlblg6ICAgICAgIC05OTk5CisgIHNjcmVlblk6ICAgICAgIDEwMjU1Cisg
IGNsaWVudFg6ICAgICAgIDEKKyAgY2xpZW50WTogICAgICAgMQorICBtb2RpZmllciBrZXlzOiBj
OjAgczowIGE6MCBtOjAKK2V2ZW50IHR5cGU6ICAgICAgc2VsZWN0c3RhcnQKKyAgdGFyZ2V0OiAg
ICAgICAgPGh0bWw+CisgIGV2ZW50UGhhc2U6ICAgIDMKKyAgYnViYmxlczogICAgICAgMQorICBj
YW5jZWxhYmxlOiAgICAxCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERP
TVJhbmdlOnJhbmdlIGZyb20gMCBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3Vt
ZW50IHRvIDAgb2YgUCA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2Ug
ZnJvbSAwIG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMCBvZiBQ
ID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURv
d25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK2V2ZW50IHR5cGU6ICAgICAgbW91c2V1cAor
ICB0YXJnZXQ6ICAgICAgICA8aHRtbD4KKyAgZXZlbnRQaGFzZTogICAgMworICBidWJibGVzOiAg
ICAgICAxCisgIGNhbmNlbGFibGU6ICAgIDEKKyAgZGV0YWlsOiAgICAgICAgMAorICBidXR0b246
ICAgICAgICAwCisgIHNjcmVlblg6ICAgICAgIC05OTk5CisgIHNjcmVlblk6ICAgICAgIDEwMjU1
CisgIGNsaWVudFg6ICAgICAgIDEKKyAgY2xpZW50WTogICAgICAgMQorICBtb2RpZmllciBrZXlz
OiBjOjAgczowIGE6MCBtOjAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
IFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5
IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NzYKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0
ICgwLDApIHNpemUgNDAweDMwMCBbYmdjb2xvcj0jODhBQUREXQorICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDE4Niw1MCkgc2l6ZSAyN3gxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgx
ODYsNTApIHdpZHRoIDI3OiAiVGVzdCIKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwzMTYp
IHNpemUgNzg0eDE4CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ3
NHgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQ3NDogIlRoaXMgdGVzdHMg
dGhhdCBET01FdmVudHMgYXJlIGNvcnJlY3RseSBoYW5kZWQgdG8gdGhlIE9iakMgQVBJLiBTZWUg
YnVnICIKKyAgICAgICAgUmVuZGVySW5saW5lIHtBfSBhdCAoMCwwKSBzaXplIDMyeDE4IFtjb2xv
cj0jMDAwMEVFXQorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNDc0LDApIHNpemUg
MzJ4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0NzQsMCkgd2lkdGggMzI6ICI5MTgxIgor
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDUwNiwwKSBzaXplIDR4MTgKKyAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoNTA2LDApIHdpZHRoIDQ6ICIuIgorc2VsZWN0aW9uIHN0YXJ0OiBwb3Np
dGlvbiAwIG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAxIHtESVZ9IG9mIGNoaWxkIDEge0JP
RFl9IG9mIGNoaWxkIDAge0hUTUx9IG9mIGRvY3VtZW50CitzZWxlY3Rpb24gZW5kOiAgIHBvc2l0
aW9uIDAgb2YgY2hpbGQgMyB7UH0gb2YgY2hpbGQgMSB7Qk9EWX0gb2YgY2hpbGQgMCB7SFRNTH0g
b2YgZG9jdW1lbnQKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL29iamMtZXZlbnQtYXBp
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvb2JqYy1ldmVudC1h
cGkuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL29iamMtZXZl
bnQtYXBpLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzIgQEAKKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0PgorZnVuY3Rpb24gaW5pdCgpIHsKKyAgIGlmIChldmVudFNlbmRlcikgeworICAg
ICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMSwxKTsKKyAgICAgIGV2ZW50U2VuZGVyLmVuYWJs
ZURPTVVJRXZlbnRMb2dnaW5nKGRvY3VtZW50KTsKKyAgICAgIAorICAgICAgZXZlbnRTZW5kZXIu
bW91c2VNb3ZlVG8oMTAwLDEwMCk7CisgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAg
ICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oImEi
LCAiIik7CisgICAgICBldmVudFNlbmRlci5rZXlEb3duKCJiIiwgWyJjdHJsS2V5Il0pOworICAg
ICAgZXZlbnRTZW5kZXIua2V5RG93bigiZCIsIFsic2hpZnRLZXkiXSk7CisgICAgICBldmVudFNl
bmRlci5rZXlEb3duKCJlIiwgWyJhbHRLZXkiLCAibWV0YUtleSJdKTsKKyAgICAgIAorICAgICAg
ZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oNDAwLDE1MCk7CisgICAgICBldmVudFNlbmRlci5tb3Vz
ZUNsaWNrKCk7CisgICAgICAKKyAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOworICAgICAg
ZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMSwxKTsKKyAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAo
KTsKKyAgIH0KK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJpbml0KCkiPgor
ICAgPGRpdiBpZD0iY2xpY2t0ZXN0IiBzdHlsZT0id2lkdGg6IDMwMHB4OyBoZWlnaHQ6IDIwMHB4
OyBiYWNrZ3JvdW5kLWNvbG9yOiAjOGFkOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHBhZGRpbmc6IDUw
cHg7Ij5UZXN0PC9kaXY+CisgICAKKyAgIDxwPlRoaXMgdGVzdHMgdGhhdCBET01FdmVudHMgYXJl
IGNvcnJlY3RseSBoYW5kZWQgdG8gdGhlIE9iakMgQVBJLiBTZWUgYnVnIDxhIGhyZWY9Imh0dHA6
Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTE4MSI+OTE4MTwvYT4u
PC9wPgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
RXZlbnRTZW5kaW5nQ29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaAkocmV2aXNpb24gMTQ3NjgpCisrKyBX
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA2
IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDA2IEpvbmFzIFdpdHQgPGpvbmFzLndpdHRAZ21haWwuY29tPgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC0yOCw3ICsyOSw5IEBACiAgCiAjaW1wb3J0IDxDb2NvYS9D
b2NvYS5oPgogCi1AaW50ZXJmYWNlIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXIgOiBOU09iamVjdCB7
CisjaW1wb3J0IDxXZWJLaXQvV2ViS2l0Lmg+CisKK0BpbnRlcmZhY2UgRXZlbnRTZW5kaW5nQ29u
dHJvbGxlciA6IE5TT2JqZWN0IDxET01FdmVudExpc3RlbmVyPiB7CiAgICAgQk9PTCBkb3duOwog
ICAgIGludCBjbGlja0NvdW50OwogICAgIE5TVGltZUludGVydmFsIGxhc3RDbGljazsKQEAgLTM2
LDYgKzM5LDEwIEBACiAgICAgZG91YmxlIHRpbWVPZmZzZXQ7CiB9CiAKKy0gKHZvaWQpZW5hYmxl
RE9NVUlFdmVudExvZ2dpbmc6KFdlYlNjcmlwdE9iamVjdCAqKW5vZGU7CisKKy0gKHZvaWQpaGFu
ZGxlRXZlbnQ6KERPTUV2ZW50ICopZXZlbnQ7CisKIEBlbmQKIAogZXh0ZXJuIE5TUG9pbnQgbGFz
dE1vdXNlUG9zaXRpb247CkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9FdmVudFNl
bmRpbmdDb250cm9sbGVyLm0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5tCShyZXZpc2lvbiAxNDc2OCkKKysrIFdlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIubQkod29ya2luZyBjb3B5
KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDYgQXBwbGUg
Q29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDYgSm9uYXMgV2l0dCA8am9uYXMud2l0dEBnbWFpbC5jb20+CiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKQEAgLTM1LDkgKzM2LDY1IEBACiAjaW1wb3J0IDxXZWJLaXQvV2ViS2l0Lmg+
CiAKIE5TUG9pbnQgbGFzdE1vdXNlUG9zaXRpb247CitOU0FycmF5ICp3ZWJraXREb21FdmVudE5h
bWVzOworTlNBcnJheSAqd2Via2l0RG9tRXZlbnRQcm9wZXJ0aWVzOwogCiBAaW1wbGVtZW50YXRp
b24gRXZlbnRTZW5kaW5nQ29udHJvbGxlcgogCisrICh2b2lkKWluaXRpYWxpemUgeworICAgIHdl
YmtpdERvbUV2ZW50TmFtZXMgPSBbW05TQXJyYXkgYWxsb2NdIGluaXRXaXRoT2JqZWN0czoKKyAg
ICAgICAgQCJhYm9ydCIsCisgICAgICAgIEAiYmVmb3JlY29weSIsCisgICAgICAgIEAiYmVmb3Jl
Y3V0IiwKKyAgICAgICAgQCJiZWZvcmVwYXN0ZSIsCisgICAgICAgIEAiYmx1ciIsCisgICAgICAg
IEAiY2hhbmdlIiwKKyAgICAgICAgQCJjbGljayIsCisgICAgICAgIEAiY29udGV4dG1lbnUiLAor
ICAgICAgICBAImNvcHkiLAorICAgICAgICBAImN1dCIsCisgICAgICAgIEAiZGJsY2xpY2siLAor
ICAgICAgICBAImRyYWciLAorICAgICAgICBAImRyYWdlbmQiLAorICAgICAgICBAImRyYWdlbnRl
ciIsCisgICAgICAgIEAiZHJhZ2xlYXZlIiwKKyAgICAgICAgQCJkcmFnb3ZlciIsCisgICAgICAg
IEAiZHJhZ3N0YXJ0IiwKKyAgICAgICAgQCJkcm9wIiwKKyAgICAgICAgQCJlcnJvciIsCisgICAg
ICAgIEAiZm9jdXMiLAorICAgICAgICBAImlucHV0IiwKKyAgICAgICAgQCJrZXlkb3duIiwKKyAg
ICAgICAgQCJrZXlwcmVzcyIsCisgICAgICAgIEAia2V5dXAiLAorICAgICAgICBAImxvYWQiLAor
ICAgICAgICBAIm1vdXNlZG93biIsCisgICAgICAgIEAibW91c2Vtb3ZlIiwKKyAgICAgICAgQCJt
b3VzZW91dCIsCisgICAgICAgIEAibW91c2VvdmVyIiwKKyAgICAgICAgQCJtb3VzZXVwIiwKKyAg
ICAgICAgQCJtb3VzZXdoZWVsIiwKKyAgICAgICAgQCJiZWZvcmV1bmxvYWQiLAorICAgICAgICBA
InBhc3RlIiwKKyAgICAgICAgQCJyZWFkeXN0YXRlY2hhbmdlIiwKKyAgICAgICAgQCJyZXNldCIs
CisgICAgICAgIEAicmVzaXplIiwgCisgICAgICAgIEAic2Nyb2xsIiwgCisgICAgICAgIEAic2Vh
cmNoIiwKKyAgICAgICAgQCJzZWxlY3QiLAorICAgICAgICBAInNlbGVjdHN0YXJ0IiwKKyAgICAg
ICAgQCJzdWJtaXQiLCAKKyAgICAgICAgQCJ0ZXh0SW5wdXQiLCAKKyAgICAgICAgQCJ1bmxvYWQi
LAorICAgICAgICBAInpvb20iLAorICAgICAgICBuaWxdOwkKKyAgICAKKyAgICB3ZWJraXREb21F
dmVudFByb3BlcnRpZXMgPSBbW05TQXJyYXkgYWxsb2NdIGluaXRXaXRoT2JqZWN0czoKKyAgICAg
ICAgQCJjbGllbnRYIiwKKyAgICAgICAgQCJjbGllbnRZIiwKKyAgICAgICAgbmlsXTsKK30KKwog
KyAoQk9PTClpc1NlbGVjdG9yRXhjbHVkZWRGcm9tV2ViU2NyaXB0OihTRUwpYVNlbGVjdG9yCiB7
CiAgICAgaWYgKGFTZWxlY3RvciA9PSBAc2VsZWN0b3IobW91c2VEb3duKQpAQCAtNDUsNyArMTAy
LDggQEAKICAgICAgICAgICAgIHx8IGFTZWxlY3RvciA9PSBAc2VsZWN0b3IobW91c2VDbGljaykK
ICAgICAgICAgICAgIHx8IGFTZWxlY3RvciA9PSBAc2VsZWN0b3IobW91c2VNb3ZlVG9YOlk6KQog
ICAgICAgICAgICAgfHwgYVNlbGVjdG9yID09IEBzZWxlY3RvcihsZWFwRm9yd2FyZDopCi0gICAg
ICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKGtleURvd246d2l0aE1vZGlmaWVyczop
KQorICAgICAgICAgICAgfHwgYVNlbGVjdG9yID09IEBzZWxlY3RvcihrZXlEb3duOndpdGhNb2Rp
ZmllcnM6KQorICAgICAgICAgICAgfHwgYVNlbGVjdG9yID09IEBzZWxlY3RvcihlbmFibGVET01V
SUV2ZW50TG9nZ2luZzopKQogICAgICAgICByZXR1cm4gTk87CiAgICAgcmV0dXJuIFlFUzsKIH0K
QEAgLTU4LDYgKzExNiw4IEBACiAgICAgICAgIHJldHVybiBAImxlYXBGb3J3YXJkIjsKICAgICBp
ZiAoYVNlbGVjdG9yID09IEBzZWxlY3RvcihrZXlEb3duOndpdGhNb2RpZmllcnM6KSkKICAgICAg
ICAgcmV0dXJuIEAia2V5RG93biI7CisgICAgaWYgKGFTZWxlY3RvciA9PSBAc2VsZWN0b3IoZW5h
YmxlRE9NVUlFdmVudExvZ2dpbmc6KSkKKyAgICAgICAgcmV0dXJuIEAiZW5hYmxlRE9NVUlFdmVu
dExvZ2dpbmciOwogICAgIHJldHVybiBuaWw7CiB9CiAKQEAgLTIzNyw0ICsyOTcsNzcgQEAKICAg
ICB9CiB9CiAKKy0gKHZvaWQpZW5hYmxlRE9NVUlFdmVudExvZ2dpbmc6KFdlYlNjcmlwdE9iamVj
dCAqKW5vZGUKK3sKKyAgICBOU0VudW1lcmF0b3IgKmV2ZW50RW51bWVyYXRvciA9IFt3ZWJraXRE
b21FdmVudE5hbWVzIG9iamVjdEVudW1lcmF0b3JdOworICAgIGlkIGV2ZW50TmFtZTsKKyAgICB3
aGlsZSAoKGV2ZW50TmFtZSA9IFtldmVudEVudW1lcmF0b3IgbmV4dE9iamVjdF0pKSB7CisgICAg
ICAgIFsoaWQ8RE9NRXZlbnRUYXJnZXQ+KW5vZGUgYWRkRXZlbnRMaXN0ZW5lcjpldmVudE5hbWUg
OnNlbGYgOk5PXTsJCQorICAgIH0KK30KKworLSAodm9pZCloYW5kbGVFdmVudDooRE9NRXZlbnQg
KilldmVudAoreworICAgIERPTU5vZGUgKnRhcmdldCA9IFtldmVudCB0YXJnZXRdOworCisgICAg
cHJpbnRmKCJldmVudCB0eXBlOiAgICAgICVzXG4iLCBbW2V2ZW50IHR5cGVdIFVURjhTdHJpbmdd
KTsKKyAgICBwcmludGYoIiAgdGFyZ2V0OiAgICAgICAgPCVzPlxuIiwgW1tbdGFyZ2V0IG5vZGVO
YW1lXSBsb3dlcmNhc2VTdHJpbmddIFVURjhTdHJpbmddKTsKKyAgICAKKyAgICBpZiAoW2V2ZW50
IGlzS2luZE9mQ2xhc3M6W0RPTUV2ZW50IGNsYXNzXV0pIHsKKyAgICAgICAgcHJpbnRmKCIgIGV2
ZW50UGhhc2U6ICAgICVkXG4iLCBbZXZlbnQgZXZlbnRQaGFzZV0pOworICAgICAgICBwcmludGYo
IiAgYnViYmxlczogICAgICAgJWRcbiIsIFtldmVudCBidWJibGVzXSA/IDEgOiAwKTsKKyAgICAg
ICAgcHJpbnRmKCIgIGNhbmNlbGFibGU6ICAgICVkXG4iLCBbZXZlbnQgY2FuY2VsYWJsZV0gPyAx
IDogMCk7CisgICAgfQorICAgIAorICAgIGlmIChbZXZlbnQgaXNLaW5kT2ZDbGFzczpbRE9NVUlF
dmVudCBjbGFzc11dKSB7CisgICAgICAgIHByaW50ZigiICBkZXRhaWw6ICAgICAgICAlZFxuIiwg
WyhET01VSUV2ZW50KilldmVudCBkZXRhaWxdKTsKKyAgICB9CisgICAgCisgICAgaWYgKFtldmVu
dCBpc0tpbmRPZkNsYXNzOltET01LZXlib2FyZEV2ZW50IGNsYXNzXV0pIHsKKyAgICAgICAgcHJp
bnRmKCIgIGtleUlkZW50aWZpZXI6ICVzXG4iLCBbWyhET01LZXlib2FyZEV2ZW50KilldmVudCBr
ZXlJZGVudGlmaWVyXSBVVEY4U3RyaW5nXSk7CisgICAgICAgIHByaW50ZigiICBrZXlMb2NhdGlv
bjogICAlZFxuIiwgWyhET01LZXlib2FyZEV2ZW50KilldmVudCBrZXlMb2NhdGlvbl0pOworICAg
ICAgICBwcmludGYoIiAgbW9kaWZpZXIga2V5czogYzolZCBzOiVkIGE6JWQgbTolZFxuIiwgCisg
ICAgICAgICAgICAgICBbKERPTUtleWJvYXJkRXZlbnQqKWV2ZW50IGN0cmxLZXldID8gMSA6IDAs
IAorICAgICAgICAgICAgICAgWyhET01LZXlib2FyZEV2ZW50KilldmVudCBzaGlmdEtleV0gPyAx
IDogMCwgCisgICAgICAgICAgICAgICBbKERPTUtleWJvYXJkRXZlbnQqKWV2ZW50IGFsdEtleV0g
PyAxIDogMCwgCisgICAgICAgICAgICAgICBbKERPTUtleWJvYXJkRXZlbnQqKWV2ZW50IG1ldGFL
ZXldID8gMSA6IDApOworICAgICAgICBwcmludGYoIiAga2V5Q29kZTogICAgICAgJWRcbiIsIFso
RE9NS2V5Ym9hcmRFdmVudCopZXZlbnQga2V5Q29kZV0pOworICAgICAgICBwcmludGYoIiAgY2hh
ckNvZGU6ICAgICAgJWRcbiIsIFsoRE9NS2V5Ym9hcmRFdmVudCopZXZlbnQgY2hhckNvZGVdKTsK
KyAgICB9CisgICAgCisgICAgaWYgKFtldmVudCBpc0tpbmRPZkNsYXNzOltET01Nb3VzZUV2ZW50
IGNsYXNzXV0pIHsKKyAgICAgICAgcHJpbnRmKCIgIGJ1dHRvbjogICAgICAgICVkXG4iLCBbKERP
TU1vdXNlRXZlbnQqKWV2ZW50IGJ1dHRvbl0pOworICAgICAgICBwcmludGYoIiAgc2NyZWVuWDog
ICAgICAgJWRcbiIsIFsoRE9NTW91c2VFdmVudCopZXZlbnQgc2NyZWVuWF0pOworICAgICAgICBw
cmludGYoIiAgc2NyZWVuWTogICAgICAgJWRcbiIsIFsoRE9NTW91c2VFdmVudCopZXZlbnQgc2Ny
ZWVuWV0pOworICAgICAgICBwcmludGYoIiAgY2xpZW50WDogICAgICAgJWRcbiIsIFsoRE9NTW91
c2VFdmVudCopZXZlbnQgY2xpZW50WF0pOworICAgICAgICBwcmludGYoIiAgY2xpZW50WTogICAg
ICAgJWRcbiIsIFsoRE9NTW91c2VFdmVudCopZXZlbnQgY2xpZW50WV0pOworICAgICAgICBwcmlu
dGYoIiAgbW9kaWZpZXIga2V5czogYzolZCBzOiVkIGE6JWQgbTolZFxuIiwgCisgICAgICAgICAg
ICAgICBbKERPTU1vdXNlRXZlbnQqKWV2ZW50IGN0cmxLZXldID8gMSA6IDAsIAorICAgICAgICAg
ICAgICAgWyhET01Nb3VzZUV2ZW50KilldmVudCBzaGlmdEtleV0gPyAxIDogMCwgCisgICAgICAg
ICAgICAgICBbKERPTU1vdXNlRXZlbnQqKWV2ZW50IGFsdEtleV0gPyAxIDogMCwgCisgICAgICAg
ICAgICAgICBbKERPTU1vdXNlRXZlbnQqKWV2ZW50IG1ldGFLZXldID8gMSA6IDApOworICAgIH0K
KyAgICAKKyAgICBpZiAoW2V2ZW50IGlzS2luZE9mQ2xhc3M6W0RPTU11dGF0aW9uRXZlbnQgY2xh
c3NdXSkgeworICAgICAgICBwcmludGYoIiAgcHJldlZhbHVlOiAgICAgJXNcbiIsIFtbKERPTU11
dGF0aW9uRXZlbnQqKWV2ZW50IHByZXZWYWx1ZV0gVVRGOFN0cmluZ10pOworICAgICAgICBwcmlu
dGYoIiAgbmV3VmFsdWU6ICAgICAgJXNcbiIsIFtbKERPTU11dGF0aW9uRXZlbnQqKWV2ZW50IG5l
d1ZhbHVlXSBVVEY4U3RyaW5nXSk7CisgICAgICAgIHByaW50ZigiICBhdHRyTmFtZTogICAgICAl
c1xuIiwgW1soRE9NTXV0YXRpb25FdmVudCopZXZlbnQgYXR0ck5hbWVdIFVURjhTdHJpbmddKTsK
KyAgICAgICAgcHJpbnRmKCIgIGF0dHJDaGFuZ2UgICAgICVkXG4iLCBbKERPTU11dGF0aW9uRXZl
bnQqKWV2ZW50IGF0dHJDaGFuZ2VdKTsKKyAgICB9CisgICAgCisgICAgaWYgKFtldmVudCBpc0tp
bmRPZkNsYXNzOltET01XaGVlbEV2ZW50IGNsYXNzXV0pIHsKKyAgICAgICAgcHJpbnRmKCIgIHNj
cmVlblg6ICAgICAgICVkXG4iLCBbKERPTVdoZWVsRXZlbnQqKWV2ZW50IHNjcmVlblhdKTsKKyAg
ICAgICAgcHJpbnRmKCIgIHNjcmVlblk6ICAgICAgICVkXG4iLCBbKERPTVdoZWVsRXZlbnQqKWV2
ZW50IHNjcmVlblldKTsKKyAgICAgICAgcHJpbnRmKCIgIGNsaWVudFg6ICAgICAgICVkXG4iLCBb
KERPTVdoZWVsRXZlbnQqKWV2ZW50IGNsaWVudFhdKTsKKyAgICAgICAgcHJpbnRmKCIgIGNsaWVu
dFk6ICAgICAgICVkXG4iLCBbKERPTVdoZWVsRXZlbnQqKWV2ZW50IGNsaWVudFldKTsKKyAgICAg
ICAgcHJpbnRmKCIgIG1vZGlmaWVyIGtleXM6IGM6JWQgczolZCBhOiVkIG06JWRcbiIsIAorICAg
ICAgICAgICAgICAgWyhET01XaGVlbEV2ZW50KilldmVudCBjdHJsS2V5XSA/IDEgOiAwLCAKKyAg
ICAgICAgICAgICAgIFsoRE9NV2hlZWxFdmVudCopZXZlbnQgc2hpZnRLZXldID8gMSA6IDAsIAor
ICAgICAgICAgICAgICAgWyhET01XaGVlbEV2ZW50KilldmVudCBhbHRLZXldID8gMSA6IDAsIAor
ICAgICAgICAgICAgICAgWyhET01XaGVlbEV2ZW50KilldmVudCBtZXRhS2V5XSA/IDEgOiAwKTsK
KyAgICAgICAgcHJpbnRmKCIgIGlzSG9yaXpvbnRhbDogICVkXG4iLCBbKERPTVdoZWVsRXZlbnQq
KWV2ZW50IGlzSG9yaXpvbnRhbF0gPyAxIDogMCk7CisgICAgICAgIHByaW50ZigiICB3aGVlbERl
bHRhOiAgICAlZFxuIiwgWyhET01XaGVlbEV2ZW50KilldmVudCB3aGVlbERlbHRhXSk7CisgICAg
fQorfQorCiBAZW5kCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9vYmpjLWV2ZW50LWFw
aS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvb2Jq
Yy1ldmVudC1hcGktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvb2JqYy1ldmVudC1hcGktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDI2NSBAQAorZXZlbnQgdHlwZTogICAgICBtb3VzZW92ZXIKKyAgdGFyZ2V0OiAgICAgICAg
PGRpdj4KKyAgZXZlbnRQaGFzZTogICAgMworICBidWJibGVzOiAgICAgICAxCisgIGNhbmNlbGFi
bGU6ICAgIDEKKyAgZGV0YWlsOiAgICAgICAgMAorICBidXR0b246ICAgICAgICAwCisgIHNjcmVl
blg6ICAgICAgIC05OTAwCisgIHNjcmVlblk6ICAgICAgIDEwMzU0CisgIGNsaWVudFg6ICAgICAg
IDEwMAorICBjbGllbnRZOiAgICAgICAxMDAKKyAgbW9kaWZpZXIga2V5czogYzowIHM6MCBhOjAg
bTowCitldmVudCB0eXBlOiAgICAgIG1vdXNlZG93bgorICB0YXJnZXQ6ICAgICAgICA8ZGl2Pgor
ICBldmVudFBoYXNlOiAgICAzCisgIGJ1YmJsZXM6ICAgICAgIDEKKyAgY2FuY2VsYWJsZTogICAg
MQorICBkZXRhaWw6ICAgICAgICAxCisgIGJ1dHRvbjogICAgICAgIDAKKyAgc2NyZWVuWDogICAg
ICAgLTk5MDAKKyAgc2NyZWVuWTogICAgICAgMTAzNTQKKyAgY2xpZW50WDogICAgICAgMTAwCisg
IGNsaWVudFk6ICAgICAgIDEwMAorICBtb2RpZmllciBrZXlzOiBjOjAgczowIGE6MCBtOjAKK2V2
ZW50IHR5cGU6ICAgICAgc2VsZWN0c3RhcnQKKyAgdGFyZ2V0OiAgICAgICAgPGRpdj4KKyAgZXZl
bnRQaGFzZTogICAgMworICBidWJibGVzOiAgICAgICAxCisgIGNhbmNlbGFibGU6ICAgIDEKK0VE
SVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6KG51bGwpIHRvRE9N
UmFuZ2U6cmFuZ2UgZnJvbSA0IG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1l
bnQgdG8gNCBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5
Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElU
SU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb25Ob3RpZmljYXRpb24KK2V2ZW50IHR5cGU6ICAgICAgbW91c2V1cAorICB0YXJnZXQ6
ICAgICAgICA8ZGl2PgorICBldmVudFBoYXNlOiAgICAzCisgIGJ1YmJsZXM6ICAgICAgIDEKKyAg
Y2FuY2VsYWJsZTogICAgMQorICBkZXRhaWw6ICAgICAgICAxCisgIGJ1dHRvbjogICAgICAgIDAK
KyAgc2NyZWVuWDogICAgICAgLTk5MDAKKyAgc2NyZWVuWTogICAgICAgMTAzNTQKKyAgY2xpZW50
WDogICAgICAgMTAwCisgIGNsaWVudFk6ICAgICAgIDEwMAorICBtb2RpZmllciBrZXlzOiBjOjAg
czowIGE6MCBtOjAKK2V2ZW50IHR5cGU6ICAgICAgY2xpY2sKKyAgdGFyZ2V0OiAgICAgICAgPGRp
dj4KKyAgZXZlbnRQaGFzZTogICAgMworICBidWJibGVzOiAgICAgICAxCisgIGNhbmNlbGFibGU6
ICAgIDEKKyAgZGV0YWlsOiAgICAgICAgMQorICBidXR0b246ICAgICAgICAwCisgIHNjcmVlblg6
ICAgICAgIC05OTAwCisgIHNjcmVlblk6ICAgICAgIDEwMzU0CisgIGNsaWVudFg6ICAgICAgIDEw
MAorICBjbGllbnRZOiAgICAgICAxMDAKKyAgbW9kaWZpZXIga2V5czogYzowIHM6MCBhOjAgbTow
CitldmVudCB0eXBlOiAgICAgIGtleWRvd24KKyAgdGFyZ2V0OiAgICAgICAgPGJvZHk+CisgIGV2
ZW50UGhhc2U6ICAgIDMKKyAgYnViYmxlczogICAgICAgMQorICBjYW5jZWxhYmxlOiAgICAxCisg
IGRldGFpbDogICAgICAgIDAKKyAga2V5SWRlbnRpZmllcjogVSswMDAwNDEKKyAga2V5TG9jYXRp
b246ICAgMAorICBtb2RpZmllciBrZXlzOiBjOjAgczowIGE6MCBtOjAKKyAga2V5Q29kZTogICAg
ICAgNjUKKyAgY2hhckNvZGU6ICAgICAgOTcKK2V2ZW50IHR5cGU6ICAgICAga2V5cHJlc3MKKyAg
dGFyZ2V0OiAgICAgICAgPGJvZHk+CisgIGV2ZW50UGhhc2U6ICAgIDMKKyAgYnViYmxlczogICAg
ICAgMQorICBjYW5jZWxhYmxlOiAgICAxCisgIGRldGFpbDogICAgICAgIDAKKyAga2V5SWRlbnRp
ZmllcjogVSswMDAwNDEKKyAga2V5TG9jYXRpb246ICAgMAorICBtb2RpZmllciBrZXlzOiBjOjAg
czowIGE6MCBtOjAKKyAga2V5Q29kZTogICAgICAgOTcKKyAgY2hhckNvZGU6ICAgICAgOTcKK2V2
ZW50IHR5cGU6ICAgICAga2V5ZG93bgorICB0YXJnZXQ6ICAgICAgICA8Ym9keT4KKyAgZXZlbnRQ
aGFzZTogICAgMworICBidWJibGVzOiAgICAgICAxCisgIGNhbmNlbGFibGU6ICAgIDEKKyAgZGV0
YWlsOiAgICAgICAgMAorICBrZXlJZGVudGlmaWVyOiBVKzAwMDA0MgorICBrZXlMb2NhdGlvbjog
ICAwCisgIG1vZGlmaWVyIGtleXM6IGM6MSBzOjAgYTowIG06MAorICBrZXlDb2RlOiAgICAgICA2
NgorICBjaGFyQ29kZTogICAgICA5OAorZXZlbnQgdHlwZTogICAgICBrZXlwcmVzcworICB0YXJn
ZXQ6ICAgICAgICA8Ym9keT4KKyAgZXZlbnRQaGFzZTogICAgMworICBidWJibGVzOiAgICAgICAx
CisgIGNhbmNlbGFibGU6ICAgIDEKKyAgZGV0YWlsOiAgICAgICAgMAorICBrZXlJZGVudGlmaWVy
OiBVKzAwMDA0MgorICBrZXlMb2NhdGlvbjogICAwCisgIG1vZGlmaWVyIGtleXM6IGM6MSBzOjAg
YTowIG06MAorICBrZXlDb2RlOiAgICAgICA5OAorICBjaGFyQ29kZTogICAgICA5OAorZXZlbnQg
dHlwZTogICAgICBrZXlkb3duCisgIHRhcmdldDogICAgICAgIDxib2R5PgorICBldmVudFBoYXNl
OiAgICAzCisgIGJ1YmJsZXM6ICAgICAgIDEKKyAgY2FuY2VsYWJsZTogICAgMQorICBkZXRhaWw6
ICAgICAgICAwCisgIGtleUlkZW50aWZpZXI6IFUrMDAwMDQ0CisgIGtleUxvY2F0aW9uOiAgIDAK
KyAgbW9kaWZpZXIga2V5czogYzowIHM6MSBhOjAgbTowCisgIGtleUNvZGU6ICAgICAgIDY4Cisg
IGNoYXJDb2RlOiAgICAgIDEwMAorZXZlbnQgdHlwZTogICAgICBrZXlwcmVzcworICB0YXJnZXQ6
ICAgICAgICA8Ym9keT4KKyAgZXZlbnRQaGFzZTogICAgMworICBidWJibGVzOiAgICAgICAxCisg
IGNhbmNlbGFibGU6ICAgIDEKKyAgZGV0YWlsOiAgICAgICAgMAorICBrZXlJZGVudGlmaWVyOiBV
KzAwMDA0NAorICBrZXlMb2NhdGlvbjogICAwCisgIG1vZGlmaWVyIGtleXM6IGM6MCBzOjEgYTow
IG06MAorICBrZXlDb2RlOiAgICAgICAxMDAKKyAgY2hhckNvZGU6ICAgICAgMTAwCitldmVudCB0
eXBlOiAgICAgIGtleWRvd24KKyAgdGFyZ2V0OiAgICAgICAgPGJvZHk+CisgIGV2ZW50UGhhc2U6
ICAgIDMKKyAgYnViYmxlczogICAgICAgMQorICBjYW5jZWxhYmxlOiAgICAxCisgIGRldGFpbDog
ICAgICAgIDAKKyAga2V5SWRlbnRpZmllcjogVSswMDAwNDUKKyAga2V5TG9jYXRpb246ICAgMAor
ICBtb2RpZmllciBrZXlzOiBjOjAgczowIGE6MSBtOjEKKyAga2V5Q29kZTogICAgICAgNjkKKyAg
Y2hhckNvZGU6ICAgICAgMTAxCitldmVudCB0eXBlOiAgICAgIGtleXByZXNzCisgIHRhcmdldDog
ICAgICAgIDxib2R5PgorICBldmVudFBoYXNlOiAgICAzCisgIGJ1YmJsZXM6ICAgICAgIDEKKyAg
Y2FuY2VsYWJsZTogICAgMQorICBkZXRhaWw6ICAgICAgICAwCisgIGtleUlkZW50aWZpZXI6IFUr
MDAwMDQ1CisgIGtleUxvY2F0aW9uOiAgIDAKKyAgbW9kaWZpZXIga2V5czogYzowIHM6MCBhOjEg
bToxCisgIGtleUNvZGU6ICAgICAgIDEwMQorICBjaGFyQ29kZTogICAgICAxMDEKK2V2ZW50IHR5
cGU6ICAgICAgbW91c2Vtb3ZlCisgIHRhcmdldDogICAgICAgIDxkaXY+CisgIGV2ZW50UGhhc2U6
ICAgIDMKKyAgYnViYmxlczogICAgICAgMQorICBjYW5jZWxhYmxlOiAgICAwCisgIGRldGFpbDog
ICAgICAgIDAKKyAgYnV0dG9uOiAgICAgICAgMAorICBzY3JlZW5YOiAgICAgICAtOTYwMAorICBz
Y3JlZW5ZOiAgICAgICAxMDQwNAorICBjbGllbnRYOiAgICAgICA0MDAKKyAgY2xpZW50WTogICAg
ICAgMTUwCisgIG1vZGlmaWVyIGtleXM6IGM6MCBzOjAgYTowIG06MAorZXZlbnQgdHlwZTogICAg
ICBtb3VzZWRvd24KKyAgdGFyZ2V0OiAgICAgICAgPGRpdj4KKyAgZXZlbnRQaGFzZTogICAgMwor
ICBidWJibGVzOiAgICAgICAxCisgIGNhbmNlbGFibGU6ICAgIDEKKyAgZGV0YWlsOiAgICAgICAg
MgorICBidXR0b246ICAgICAgICAwCisgIHNjcmVlblg6ICAgICAgIC05NjAwCisgIHNjcmVlblk6
ICAgICAgIDEwNDA0CisgIGNsaWVudFg6ICAgICAgIDQwMAorICBjbGllbnRZOiAgICAgICAxNTAK
KyAgbW9kaWZpZXIga2V5czogYzowIHM6MCBhOjAgbTowCitldmVudCB0eXBlOiAgICAgIHNlbGVj
dHN0YXJ0CisgIHRhcmdldDogICAgICAgIDxkaXY+CisgIGV2ZW50UGhhc2U6ICAgIDMKKyAgYnVi
YmxlczogICAgICAgMQorICBjYW5jZWxhYmxlOiAgICAxCitFRElUSU5HIERFTEVHQVRFOiBzaG91
bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZyb20gNCBvZiAjdGV4dCA+IERJViA+IEJP
RFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDQgb2YgI3RleHQgPiBESVYgPiBCT0RZID4gSFRNTCA+
ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gNCBvZiAjdGV4dCA+IERJViA+IEJPRFkg
PiBIVE1MID4gI2RvY3VtZW50IHRvIDAgb2YgUCA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFm
ZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNF
CitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRD
aGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK2V2ZW50IHR5cGU6ICAgICAgbW91c2Vkb3duCisg
IHRhcmdldDogICAgICAgIDxkaXY+CisgIGV2ZW50UGhhc2U6ICAgIDMKKyAgYnViYmxlczogICAg
ICAgMQorICBjYW5jZWxhYmxlOiAgICAxCisgIGRldGFpbDogICAgICAgIDMKKyAgYnV0dG9uOiAg
ICAgICAgMAorICBzY3JlZW5YOiAgICAgICAtOTYwMAorICBzY3JlZW5ZOiAgICAgICAxMDQwNAor
ICBjbGllbnRYOiAgICAgICA0MDAKKyAgY2xpZW50WTogICAgICAgMTUwCisgIG1vZGlmaWVyIGtl
eXM6IGM6MCBzOjAgYTowIG06MAorZXZlbnQgdHlwZTogICAgICBzZWxlY3RzdGFydAorICB0YXJn
ZXQ6ICAgICAgICA8ZGl2PgorICBldmVudFBoYXNlOiAgICAzCisgIGJ1YmJsZXM6ICAgICAgIDEK
KyAgY2FuY2VsYWJsZTogICAgMQorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0
ZWRET01SYW5nZTpyYW5nZSBmcm9tIDQgb2YgI3RleHQgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNk
b2N1bWVudCB0byAwIG9mIFAgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJh
bmdlIGZyb20gMCBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDAg
b2YgUCA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5p
dHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJW
aWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRp
b24KK2V2ZW50IHR5cGU6ICAgICAgbW91c2VvdXQKKyAgdGFyZ2V0OiAgICAgICAgPGRpdj4KKyAg
ZXZlbnRQaGFzZTogICAgMworICBidWJibGVzOiAgICAgICAxCisgIGNhbmNlbGFibGU6ICAgIDEK
KyAgZGV0YWlsOiAgICAgICAgMAorICBidXR0b246ICAgICAgICAwCisgIHNjcmVlblg6ICAgICAg
IC05OTk5CisgIHNjcmVlblk6ICAgICAgIDEwMjU1CisgIGNsaWVudFg6ICAgICAgIDEKKyAgY2xp
ZW50WTogICAgICAgMQorICBtb2RpZmllciBrZXlzOiBjOjAgczowIGE6MCBtOjAKK2V2ZW50IHR5
cGU6ICAgICAgbW91c2VvdmVyCisgIHRhcmdldDogICAgICAgIDxodG1sPgorICBldmVudFBoYXNl
OiAgICAzCisgIGJ1YmJsZXM6ICAgICAgIDEKKyAgY2FuY2VsYWJsZTogICAgMQorICBkZXRhaWw6
ICAgICAgICAwCisgIGJ1dHRvbjogICAgICAgIDAKKyAgc2NyZWVuWDogICAgICAgLTk5OTkKKyAg
c2NyZWVuWTogICAgICAgMTAyNTUKKyAgY2xpZW50WDogICAgICAgMQorICBjbGllbnRZOiAgICAg
ICAxCisgIG1vZGlmaWVyIGtleXM6IGM6MCBzOjAgYTowIG06MAorZXZlbnQgdHlwZTogICAgICBt
b3VzZW1vdmUKKyAgdGFyZ2V0OiAgICAgICAgPGh0bWw+CisgIGV2ZW50UGhhc2U6ICAgIDMKKyAg
YnViYmxlczogICAgICAgMQorICBjYW5jZWxhYmxlOiAgICAwCisgIGRldGFpbDogICAgICAgIDAK
KyAgYnV0dG9uOiAgICAgICAgMAorICBzY3JlZW5YOiAgICAgICAtOTk5OQorICBzY3JlZW5ZOiAg
ICAgICAxMDI1NQorICBjbGllbnRYOiAgICAgICAxCisgIGNsaWVudFk6ICAgICAgIDEKKyAgbW9k
aWZpZXIga2V5czogYzowIHM6MCBhOjAgbTowCitldmVudCB0eXBlOiAgICAgIHNlbGVjdHN0YXJ0
CisgIHRhcmdldDogICAgICAgIDxodG1sPgorICBldmVudFBoYXNlOiAgICAzCisgIGJ1YmJsZXM6
ICAgICAgIDEKKyAgY2FuY2VsYWJsZTogICAgMQorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hh
bmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgI3RleHQgPiBESVYgPiBCT0RZID4g
SFRNTCA+ICNkb2N1bWVudCB0byAwIG9mIFAgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RP
TVJhbmdlOnJhbmdlIGZyb20gMCBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3Vt
ZW50IHRvIDAgb2YgUCA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0
aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitldmVudCB0eXBlOiAg
ICAgIG1vdXNldXAKKyAgdGFyZ2V0OiAgICAgICAgPGh0bWw+CisgIGV2ZW50UGhhc2U6ICAgIDMK
KyAgYnViYmxlczogICAgICAgMQorICBjYW5jZWxhYmxlOiAgICAxCisgIGRldGFpbDogICAgICAg
IDAKKyAgYnV0dG9uOiAgICAgICAgMAorICBzY3JlZW5YOiAgICAgICAtOTk5OQorICBzY3JlZW5Z
OiAgICAgICAxMDI1NQorICBjbGllbnRYOiAgICAgICAxCisgIGNsaWVudFk6ICAgICAgIDEKKyAg
bW9kaWZpZXIga2V5czogYzowIHM6MCBhOjAgbTowCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
ICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTc2CisgICAgICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDQwMHgzMDAgW2JnY29sb3I9Izg4QUFERF0KKyAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxODYsNTApIHNpemUgMjd4MTgKKyAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMTg2LDUwKSB3aWR0aCAyNzogIlRlc3QiCisgICAgICBSZW5kZXJCbG9jayB7
UH0gYXQgKDAsMzE2KSBzaXplIDc4NHgxOAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSA0NzR4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0NzQ6
ICJUaGlzIHRlc3RzIHRoYXQgRE9NRXZlbnRzIGFyZSBjb3JyZWN0bHkgaGFuZGVkIHRvIHRoZSBP
YmpDIEFQSS4gU2VlIGJ1ZyAiCisgICAgICAgIFJlbmRlcklubGluZSB7QX0gYXQgKDAsMCkgc2l6
ZSAzMngxOCBbY29sb3I9IzAwMDBFRV0KKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDQ3NCwwKSBzaXplIDMyeDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDc0LDApIHdpZHRo
IDMyOiAiOTE4MSIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1MDYsMCkgc2l6ZSA0
eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDUwNiwwKSB3aWR0aCA0OiAiLiIKK3NlbGVjdGlv
biBzdGFydDogcG9zaXRpb24gMCBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMSB7RElWfSBv
ZiBjaGlsZCAxIHtCT0RZfSBvZiBjaGlsZCAwIHtIVE1MfSBvZiBkb2N1bWVudAorc2VsZWN0aW9u
IGVuZDogICBwb3NpdGlvbiAwIG9mIGNoaWxkIDMge1B9IG9mIGNoaWxkIDEge0JPRFl9IG9mIGNo
aWxkIDAge0hUTUx9IG9mIGRvY3VtZW50CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9v
YmpjLWV2ZW50LWFwaS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L29iamMtZXZlbnQtYXBpLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9vYmpjLWV2ZW50LWFwaS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMyIEBACis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2Z1bmN0aW9uIGluaXQoKSB7CisgICBpZiAoZXZlbnRT
ZW5kZXIpIHsKKyAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDEsMSk7CisgICAgICBldmVu
dFNlbmRlci5lbmFibGVET01VSUV2ZW50TG9nZ2luZyhkb2N1bWVudCk7CisgICAgICAKKyAgICAg
IGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDEwMCwxMDApOworICAgICAgZXZlbnRTZW5kZXIubW91
c2VEb3duKCk7CisgICAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CisgICAgICBldmVudFNlbmRl
ci5rZXlEb3duKCJhIiwgIiIpOworICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigiYiIsIFsiY3Ry
bEtleSJdKTsKKyAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oImQiLCBbInNoaWZ0S2V5Il0pOwor
ICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigiZSIsIFsiYWx0S2V5IiwgIm1ldGFLZXkiXSk7Cisg
ICAgICAKKyAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDQwMCwxNTApOworICAgICAgZXZl
bnRTZW5kZXIubW91c2VDbGljaygpOworICAgICAgCisgICAgICBldmVudFNlbmRlci5tb3VzZURv
d24oKTsKKyAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDEsMSk7CisgICAgICBldmVudFNl
bmRlci5tb3VzZVVwKCk7CisgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9h
ZD0iaW5pdCgpIj4KKyAgIDxkaXYgaWQ9ImNsaWNrdGVzdCIgc3R5bGU9IndpZHRoOiAzMDBweDsg
aGVpZ2h0OiAyMDBweDsgYmFja2dyb3VuZC1jb2xvcjogIzhhZDsgdGV4dC1hbGlnbjogY2VudGVy
OyBwYWRkaW5nOiA1MHB4OyI+VGVzdDwvZGl2PgorICAgCisgICA8cD5UaGlzIHRlc3RzIHRoYXQg
RE9NRXZlbnRzIGFyZSBjb3JyZWN0bHkgaGFuZGVkIHRvIHRoZSBPYmpDIEFQSS4gU2VlIGJ1ZyA8
YSBocmVmPSJodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTkx
ODEiPjkxODE8L2E+LjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IFdlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmgJKHJldmlzaW9u
IDE0NzY4KQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRXZlbnRTZW5kaW5nQ29udHJv
bGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw5IEBACiAgCiAjaW1wb3J0IDxDb2Nv
YS9Db2NvYS5oPgogCi1AaW50ZXJmYWNlIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXIgOiBOU09iamVj
dCB7CisjaW1wb3J0IDxXZWJLaXQvV2ViS2l0Lmg+CisKK0BpbnRlcmZhY2UgRXZlbnRTZW5kaW5n
Q29udHJvbGxlciA6IE5TT2JqZWN0IDxET01FdmVudExpc3RlbmVyPiB7CiAgICAgQk9PTCBkb3du
OwogICAgIGludCBjbGlja0NvdW50OwogICAgIE5TVGltZUludGVydmFsIGxhc3RDbGljazsKQEAg
LTM2LDYgKzM4LDEwIEBACiAgICAgZG91YmxlIHRpbWVPZmZzZXQ7CiB9CiAKKy0gKHZvaWQpZW5h
YmxlRE9NVUlFdmVudExvZ2dpbmc6KFdlYlNjcmlwdE9iamVjdCAqKW5vZGU7CisKKy0gKHZvaWQp
aGFuZGxlRXZlbnQ6KERPTUV2ZW50ICopZXZlbnQ7CisKIEBlbmQKIAogZXh0ZXJuIE5TUG9pbnQg
bGFzdE1vdXNlUG9zaXRpb247CkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9FdmVu
dFNlbmRpbmdDb250cm9sbGVyLm0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5tCShyZXZpc2lvbiAxNDc2OCkKKysrIFdlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIubQkod29ya2luZyBj
b3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDYgQXBw
bGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDYgSm9uYXMgV2l0dCA8am9uYXMud2l0dEBnbWFpbC5jb20+CiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTM1LDkgKzM2LDY1IEBACiAjaW1wb3J0IDxXZWJLaXQvV2ViS2l0
Lmg+CiAKIE5TUG9pbnQgbGFzdE1vdXNlUG9zaXRpb247CitOU0FycmF5ICp3ZWJraXREb21FdmVu
dE5hbWVzOworTlNBcnJheSAqd2Via2l0RG9tRXZlbnRQcm9wZXJ0aWVzOwogCiBAaW1wbGVtZW50
YXRpb24gRXZlbnRTZW5kaW5nQ29udHJvbGxlcgogCisrICh2b2lkKWluaXRpYWxpemUgeworICAg
IHdlYmtpdERvbUV2ZW50TmFtZXMgPSBbW05TQXJyYXkgYWxsb2NdIGluaXRXaXRoT2JqZWN0czoK
KyAgICAgICAgQCJhYm9ydCIsCisgICAgICAgIEAiYmVmb3JlY29weSIsCisgICAgICAgIEAiYmVm
b3JlY3V0IiwKKyAgICAgICAgQCJiZWZvcmVwYXN0ZSIsCisgICAgICAgIEAiYmx1ciIsCisgICAg
ICAgIEAiY2hhbmdlIiwKKyAgICAgICAgQCJjbGljayIsCisgICAgICAgIEAiY29udGV4dG1lbnUi
LAorICAgICAgICBAImNvcHkiLAorICAgICAgICBAImN1dCIsCisgICAgICAgIEAiZGJsY2xpY2si
LAorICAgICAgICBAImRyYWciLAorICAgICAgICBAImRyYWdlbmQiLAorICAgICAgICBAImRyYWdl
bnRlciIsCisgICAgICAgIEAiZHJhZ2xlYXZlIiwKKyAgICAgICAgQCJkcmFnb3ZlciIsCisgICAg
ICAgIEAiZHJhZ3N0YXJ0IiwKKyAgICAgICAgQCJkcm9wIiwKKyAgICAgICAgQCJlcnJvciIsCisg
ICAgICAgIEAiZm9jdXMiLAorICAgICAgICBAImlucHV0IiwKKyAgICAgICAgQCJrZXlkb3duIiwK
KyAgICAgICAgQCJrZXlwcmVzcyIsCisgICAgICAgIEAia2V5dXAiLAorICAgICAgICBAImxvYWQi
LAorICAgICAgICBAIm1vdXNlZG93biIsCisgICAgICAgIEAibW91c2Vtb3ZlIiwKKyAgICAgICAg
QCJtb3VzZW91dCIsCisgICAgICAgIEAibW91c2VvdmVyIiwKKyAgICAgICAgQCJtb3VzZXVwIiwK
KyAgICAgICAgQCJtb3VzZXdoZWVsIiwKKyAgICAgICAgQCJiZWZvcmV1bmxvYWQiLAorICAgICAg
ICBAInBhc3RlIiwKKyAgICAgICAgQCJyZWFkeXN0YXRlY2hhbmdlIiwKKyAgICAgICAgQCJyZXNl
dCIsCisgICAgICAgIEAicmVzaXplIiwgCisgICAgICAgIEAic2Nyb2xsIiwgCisgICAgICAgIEAi
c2VhcmNoIiwKKyAgICAgICAgQCJzZWxlY3QiLAorICAgICAgICBAInNlbGVjdHN0YXJ0IiwKKyAg
ICAgICAgQCJzdWJtaXQiLCAKKyAgICAgICAgQCJ0ZXh0SW5wdXQiLCAKKyAgICAgICAgQCJ1bmxv
YWQiLAorICAgICAgICBAInpvb20iLAorICAgICAgICBuaWxdOwkKKyAgICAKKyAgICB3ZWJraXRE
b21FdmVudFByb3BlcnRpZXMgPSBbW05TQXJyYXkgYWxsb2NdIGluaXRXaXRoT2JqZWN0czoKKyAg
ICAgICAgQCJjbGllbnRYIiwKKyAgICAgICAgQCJjbGllbnRZIiwKKyAgICAgICAgbmlsXTsKK30K
KwogKyAoQk9PTClpc1NlbGVjdG9yRXhjbHVkZWRGcm9tV2ViU2NyaXB0OihTRUwpYVNlbGVjdG9y
CiB7CiAgICAgaWYgKGFTZWxlY3RvciA9PSBAc2VsZWN0b3IobW91c2VEb3duKQpAQCAtNDUsNyAr
MTAyLDggQEAKICAgICAgICAgICAgIHx8IGFTZWxlY3RvciA9PSBAc2VsZWN0b3IobW91c2VDbGlj
aykKICAgICAgICAgICAgIHx8IGFTZWxlY3RvciA9PSBAc2VsZWN0b3IobW91c2VNb3ZlVG9YOlk6
KQogICAgICAgICAgICAgfHwgYVNlbGVjdG9yID09IEBzZWxlY3RvcihsZWFwRm9yd2FyZDopCi0g
ICAgICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKGtleURvd246d2l0aE1vZGlmaWVy
czopKQorICAgICAgICAgICAgfHwgYVNlbGVjdG9yID09IEBzZWxlY3RvcihrZXlEb3duOndpdGhN
b2RpZmllcnM6KQorICAgICAgICAgICAgfHwgYVNlbGVjdG9yID09IEBzZWxlY3RvcihlbmFibGVE
T01VSUV2ZW50TG9nZ2luZzopKQogICAgICAgICByZXR1cm4gTk87CiAgICAgcmV0dXJuIFlFUzsK
IH0KQEAgLTU4LDYgKzExNiw4IEBACiAgICAgICAgIHJldHVybiBAImxlYXBGb3J3YXJkIjsKICAg
ICBpZiAoYVNlbGVjdG9yID09IEBzZWxlY3RvcihrZXlEb3duOndpdGhNb2RpZmllcnM6KSkKICAg
ICAgICAgcmV0dXJuIEAia2V5RG93biI7CisgICAgaWYgKGFTZWxlY3RvciA9PSBAc2VsZWN0b3Io
ZW5hYmxlRE9NVUlFdmVudExvZ2dpbmc6KSkKKyAgICAgICAgcmV0dXJuIEAiZW5hYmxlRE9NVUlF
dmVudExvZ2dpbmciOwogICAgIHJldHVybiBuaWw7CiB9CiAKQEAgLTIzNyw0ICsyOTcsNzcgQEAK
ICAgICB9CiB9CiAKKy0gKHZvaWQpZW5hYmxlRE9NVUlFdmVudExvZ2dpbmc6KFdlYlNjcmlwdE9i
amVjdCAqKW5vZGUKK3sKKyAgICBOU0VudW1lcmF0b3IgKmV2ZW50RW51bWVyYXRvciA9IFt3ZWJr
aXREb21FdmVudE5hbWVzIG9iamVjdEVudW1lcmF0b3JdOworICAgIGlkIGV2ZW50TmFtZTsKKyAg
ICB3aGlsZSAoKGV2ZW50TmFtZSA9IFtldmVudEVudW1lcmF0b3IgbmV4dE9iamVjdF0pKSB7Cisg
ICAgICAgIFsoaWQ8RE9NRXZlbnRUYXJnZXQ+KW5vZGUgYWRkRXZlbnRMaXN0ZW5lcjpldmVudE5h
bWUgOnNlbGYgOk5PXTsJCQorICAgIH0KK30KKworLSAodm9pZCloYW5kbGVFdmVudDooRE9NRXZl
bnQgKilldmVudAoreworICAgIERPTU5vZGUgKnRhcmdldCA9IFtldmVudCB0YXJnZXRdOworCisg
ICAgcHJpbnRmKCJldmVudCB0eXBlOiAgICAgICVzXG4iLCBbW2V2ZW50IHR5cGVdIFVURjhTdHJp
bmddKTsKKyAgICBwcmludGYoIiAgdGFyZ2V0OiAgICAgICAgPCVzPlxuIiwgW1tbdGFyZ2V0IG5v
ZGVOYW1lXSBsb3dlcmNhc2VTdHJpbmddIFVURjhTdHJpbmddKTsKKyAgICAKKyAgICBpZiAoW2V2
ZW50IGlzS2luZE9mQ2xhc3M6W0RPTUV2ZW50IGNsYXNzXV0pIHsKKyAgICAgICAgcHJpbnRmKCIg
IGV2ZW50UGhhc2U6ICAgICVkXG4iLCBbZXZlbnQgZXZlbnRQaGFzZV0pOworICAgICAgICBwcmlu
dGYoIiAgYnViYmxlczogICAgICAgJWRcbiIsIFtldmVudCBidWJibGVzXSA/IDEgOiAwKTsKKyAg
ICAgICAgcHJpbnRmKCIgIGNhbmNlbGFibGU6ICAgICVkXG4iLCBbZXZlbnQgY2FuY2VsYWJsZV0g
PyAxIDogMCk7CisgICAgfQorICAgIAorICAgIGlmIChbZXZlbnQgaXNLaW5kT2ZDbGFzczpbRE9N
VUlFdmVudCBjbGFzc11dKSB7CisgICAgICAgIHByaW50ZigiICBkZXRhaWw6ICAgICAgICAlZFxu
IiwgWyhET01VSUV2ZW50KilldmVudCBkZXRhaWxdKTsKKyAgICB9CisgICAgCisgICAgaWYgKFtl
dmVudCBpc0tpbmRPZkNsYXNzOltET01LZXlib2FyZEV2ZW50IGNsYXNzXV0pIHsKKyAgICAgICAg
cHJpbnRmKCIgIGtleUlkZW50aWZpZXI6ICVzXG4iLCBbWyhET01LZXlib2FyZEV2ZW50KilldmVu
dCBrZXlJZGVudGlmaWVyXSBVVEY4U3RyaW5nXSk7CisgICAgICAgIHByaW50ZigiICBrZXlMb2Nh
dGlvbjogICAlZFxuIiwgWyhET01LZXlib2FyZEV2ZW50KilldmVudCBrZXlMb2NhdGlvbl0pOwor
ICAgICAgICBwcmludGYoIiAgbW9kaWZpZXIga2V5czogYzolZCBzOiVkIGE6JWQgbTolZFxuIiwg
CisgICAgICAgICAgICAgICBbKERPTUtleWJvYXJkRXZlbnQqKWV2ZW50IGN0cmxLZXldID8gMSA6
IDAsIAorICAgICAgICAgICAgICAgWyhET01LZXlib2FyZEV2ZW50KilldmVudCBzaGlmdEtleV0g
PyAxIDogMCwgCisgICAgICAgICAgICAgICBbKERPTUtleWJvYXJkRXZlbnQqKWV2ZW50IGFsdEtl
eV0gPyAxIDogMCwgCisgICAgICAgICAgICAgICBbKERPTUtleWJvYXJkRXZlbnQqKWV2ZW50IG1l
dGFLZXldID8gMSA6IDApOworICAgICAgICBwcmludGYoIiAga2V5Q29kZTogICAgICAgJWRcbiIs
IFsoRE9NS2V5Ym9hcmRFdmVudCopZXZlbnQga2V5Q29kZV0pOworICAgICAgICBwcmludGYoIiAg
Y2hhckNvZGU6ICAgICAgJWRcbiIsIFsoRE9NS2V5Ym9hcmRFdmVudCopZXZlbnQgY2hhckNvZGVd
KTsKKyAgICB9CisgICAgCisgICAgaWYgKFtldmVudCBpc0tpbmRPZkNsYXNzOltET01Nb3VzZUV2
ZW50IGNsYXNzXV0pIHsKKyAgICAgICAgcHJpbnRmKCIgIGJ1dHRvbjogICAgICAgICVkXG4iLCBb
KERPTU1vdXNlRXZlbnQqKWV2ZW50IGJ1dHRvbl0pOworICAgICAgICBwcmludGYoIiAgc2NyZWVu
WDogICAgICAgJWRcbiIsIFsoRE9NTW91c2VFdmVudCopZXZlbnQgc2NyZWVuWF0pOworICAgICAg
ICBwcmludGYoIiAgc2NyZWVuWTogICAgICAgJWRcbiIsIFsoRE9NTW91c2VFdmVudCopZXZlbnQg
c2NyZWVuWV0pOworICAgICAgICBwcmludGYoIiAgY2xpZW50WDogICAgICAgJWRcbiIsIFsoRE9N
TW91c2VFdmVudCopZXZlbnQgY2xpZW50WF0pOworICAgICAgICBwcmludGYoIiAgY2xpZW50WTog
ICAgICAgJWRcbiIsIFsoRE9NTW91c2VFdmVudCopZXZlbnQgY2xpZW50WV0pOworICAgICAgICBw
cmludGYoIiAgbW9kaWZpZXIga2V5czogYzolZCBzOiVkIGE6JWQgbTolZFxuIiwgCisgICAgICAg
ICAgICAgICBbKERPTU1vdXNlRXZlbnQqKWV2ZW50IGN0cmxLZXldID8gMSA6IDAsIAorICAgICAg
ICAgICAgICAgWyhET01Nb3VzZUV2ZW50KilldmVudCBzaGlmdEtleV0gPyAxIDogMCwgCisgICAg
ICAgICAgICAgICBbKERPTU1vdXNlRXZlbnQqKWV2ZW50IGFsdEtleV0gPyAxIDogMCwgCisgICAg
ICAgICAgICAgICBbKERPTU1vdXNlRXZlbnQqKWV2ZW50IG1ldGFLZXldID8gMSA6IDApOworICAg
IH0KKyAgICAKKyAgICBpZiAoW2V2ZW50IGlzS2luZE9mQ2xhc3M6W0RPTU11dGF0aW9uRXZlbnQg
Y2xhc3NdXSkgeworICAgICAgICBwcmludGYoIiAgcHJldlZhbHVlOiAgICAgJXNcbiIsIFtbKERP
TU11dGF0aW9uRXZlbnQqKWV2ZW50IHByZXZWYWx1ZV0gVVRGOFN0cmluZ10pOworICAgICAgICBw
cmludGYoIiAgbmV3VmFsdWU6ICAgICAgJXNcbiIsIFtbKERPTU11dGF0aW9uRXZlbnQqKWV2ZW50
IG5ld1ZhbHVlXSBVVEY4U3RyaW5nXSk7CisgICAgICAgIHByaW50ZigiICBhdHRyTmFtZTogICAg
ICAlc1xuIiwgW1soRE9NTXV0YXRpb25FdmVudCopZXZlbnQgYXR0ck5hbWVdIFVURjhTdHJpbmdd
KTsKKyAgICAgICAgcHJpbnRmKCIgIGF0dHJDaGFuZ2UgICAgICVkXG4iLCBbKERPTU11dGF0aW9u
RXZlbnQqKWV2ZW50IGF0dHJDaGFuZ2VdKTsKKyAgICB9CisgICAgCisgICAgaWYgKFtldmVudCBp
c0tpbmRPZkNsYXNzOltET01XaGVlbEV2ZW50IGNsYXNzXV0pIHsKKyAgICAgICAgcHJpbnRmKCIg
IHNjcmVlblg6ICAgICAgICVkXG4iLCBbKERPTVdoZWVsRXZlbnQqKWV2ZW50IHNjcmVlblhdKTsK
KyAgICAgICAgcHJpbnRmKCIgIHNjcmVlblk6ICAgICAgICVkXG4iLCBbKERPTVdoZWVsRXZlbnQq
KWV2ZW50IHNjcmVlblldKTsKKyAgICAgICAgcHJpbnRmKCIgIGNsaWVudFg6ICAgICAgICVkXG4i
LCBbKERPTVdoZWVsRXZlbnQqKWV2ZW50IGNsaWVudFhdKTsKKyAgICAgICAgcHJpbnRmKCIgIGNs
aWVudFk6ICAgICAgICVkXG4iLCBbKERPTVdoZWVsRXZlbnQqKWV2ZW50IGNsaWVudFldKTsKKyAg
ICAgICAgcHJpbnRmKCIgIG1vZGlmaWVyIGtleXM6IGM6JWQgczolZCBhOiVkIG06JWRcbiIsIAor
ICAgICAgICAgICAgICAgWyhET01XaGVlbEV2ZW50KilldmVudCBjdHJsS2V5XSA/IDEgOiAwLCAK
KyAgICAgICAgICAgICAgIFsoRE9NV2hlZWxFdmVudCopZXZlbnQgc2hpZnRLZXldID8gMSA6IDAs
IAorICAgICAgICAgICAgICAgWyhET01XaGVlbEV2ZW50KilldmVudCBhbHRLZXldID8gMSA6IDAs
IAorICAgICAgICAgICAgICAgWyhET01XaGVlbEV2ZW50KilldmVudCBtZXRhS2V5XSA/IDEgOiAw
KTsKKyAgICAgICAgcHJpbnRmKCIgIGlzSG9yaXpvbnRhbDogICVkXG4iLCBbKERPTVdoZWVsRXZl
bnQqKWV2ZW50IGlzSG9yaXpvbnRhbF0gPyAxIDogMCk7CisgICAgICAgIHByaW50ZigiICB3aGVl
bERlbHRhOiAgICAlZFxuIiwgWyhET01XaGVlbEV2ZW50KilldmVudCB3aGVlbERlbHRhXSk7Cisg
ICAgfQorfQorCiBAZW5kCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNDgxOSkKKysrIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDA2LTA2LTEyICBK
b25hcyBXaXR0IDxqb25hcy53aXR0QGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIHRlc3QgdGhhdCBET01FdmVudHMgYXJlIGNvcnJl
Y3RseSBoYW5kZWQgdG8gdGhlIE9iakMgQVBJCisgICAgICAgICAgaHR0cDovL2J1Z3ppbGxhLm9w
ZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD05MTgxCisKKyAgICAgICAgKiBmYXN0L2V2ZW50
cy9vYmpjLWV2ZW50LWFwaS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZl
bnRzL29iamMtZXZlbnQtYXBpLmh0bWw6IEFkZGVkLgorCiAyMDA2LTA2LTEwICBNaXR6IFBldHRl
bCAgPG9wZW5kYXJ3aW4ub3JnQG1pdHpwZXR0ZWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IGh5YXR0LgpJbmRleDogV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMTQ4MTkpCisrKyBXZWJLaXRUb29scy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAwNi0wNi0xMiAgSm9uYXMgV2l0
dCA8am9uYXMud2l0dEBnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgLSBhZGQgZnVuY3Rpb24gdG8gZW5hYmxlIGxvZ2dpbmcgb2YgYWxs
IGV2ZW50cyBvZiBvbmUgRE9NIG5vZGUgdG8gc3Rkb3V0CisKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
RXZlbnRTZW5kaW5nQ29udHJvbGxlci5tOgorICAgICAgICAoK1tFdmVudFNlbmRpbmdDb250cm9s
bGVyIGluaXRpYWxpemVdKToKKyAgICAgICAgKCtbRXZlbnRTZW5kaW5nQ29udHJvbGxlciBpc1Nl
bGVjdG9yRXhjbHVkZWRGcm9tV2ViU2NyaXB0Ol0pOgorICAgICAgICAoK1tFdmVudFNlbmRpbmdD
b250cm9sbGVyIHdlYlNjcmlwdE5hbWVGb3JTZWxlY3RvcjpdKToKKyAgICAgICAgKC1bRXZlbnRT
ZW5kaW5nQ29udHJvbGxlciBlbmFibGVET01VSUV2ZW50TG9nZ2luZzpdKToKKyAgICAgICAgKC1b
RXZlbnRTZW5kaW5nQ29udHJvbGxlciBoYW5kbGVFdmVudDpdKToKKwogMjAwNi0wNi0xMSAgRGF2
aWQgS2lsemVyICA8ZGRraWx6ZXJAa2lsemVyLm5ldD4KIAogICAgICAgICBSZXZpZXdlZCBieSBk
YXJpbi4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8821</attachid>
            <date>2006-06-12 03:52:09 -0700</date>
            <delta_ts>2006-06-16 01:56:10 -0700</delta_ts>
            <desc>Update WebCore.exp with DOMKeyboardEvent and DOMWheelEvent</desc>
            <filename>acc6.patch</filename>
            <type>text/plain</type>
            <size>1865</size>
            <attacher name="Jonas Witt">jonas.witt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5leHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3Jl
LmV4cAkocmV2aXNpb24gMTQ3NjgpCisrKyBXZWJDb3JlL1dlYkNvcmUuZXhwCSh3b3JraW5nIGNv
cHkpCkBAIC04Myw2ICs4Myw3IEBACiAub2JqY19jbGFzc19uYW1lX0RPTUhUTUxUaXRsZUVsZW1l
bnQKIC5vYmpjX2NsYXNzX25hbWVfRE9NSFRNTFVMaXN0RWxlbWVudAogLm9iamNfY2xhc3NfbmFt
ZV9ET01JbXBsZW1lbnRhdGlvbgorLm9iamNfY2xhc3NfbmFtZV9ET01LZXlib2FyZEV2ZW50CiAu
b2JqY19jbGFzc19uYW1lX0RPTU1lZGlhTGlzdAogLm9iamNfY2xhc3NfbmFtZV9ET01Nb3VzZUV2
ZW50CiAub2JqY19jbGFzc19uYW1lX0RPTU11dGF0aW9uRXZlbnQKQEAgLTEwMiw2ICsxMDMsNyBA
QAogLm9iamNfY2xhc3NfbmFtZV9ET01UZXh0CiAub2JqY19jbGFzc19uYW1lX0RPTVRyZWVXYWxr
ZXIKIC5vYmpjX2NsYXNzX25hbWVfRE9NVUlFdmVudAorLm9iamNfY2xhc3NfbmFtZV9ET01XaGVl
bEV2ZW50CiAub2JqY19jbGFzc19uYW1lX1dlYkNvcmVDYWNoZQogLm9iamNfY2xhc3NfbmFtZV9X
ZWJDb3JlRW5jb2RpbmdzCiAub2JqY19jbGFzc19uYW1lX1dlYkNvcmVGaWxlQnV0dG9uCkluZGV4
OiBXZWJDb3JlL1dlYkNvcmUuZXhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5leHAJ
KHJldmlzaW9uIDE0NzY4KQorKysgV2ViQ29yZS9XZWJDb3JlLmV4cAkod29ya2luZyBjb3B5KQpA
QCAtODMsNiArODMsNyBAQAogLm9iamNfY2xhc3NfbmFtZV9ET01IVE1MVGl0bGVFbGVtZW50CiAu
b2JqY19jbGFzc19uYW1lX0RPTUhUTUxVTGlzdEVsZW1lbnQKIC5vYmpjX2NsYXNzX25hbWVfRE9N
SW1wbGVtZW50YXRpb24KKy5vYmpjX2NsYXNzX25hbWVfRE9NS2V5Ym9hcmRFdmVudAogLm9iamNf
Y2xhc3NfbmFtZV9ET01NZWRpYUxpc3QKIC5vYmpjX2NsYXNzX25hbWVfRE9NTW91c2VFdmVudAog
Lm9iamNfY2xhc3NfbmFtZV9ET01NdXRhdGlvbkV2ZW50CkBAIC0xMDIsNiArMTAzLDcgQEAKIC5v
YmpjX2NsYXNzX25hbWVfRE9NVGV4dAogLm9iamNfY2xhc3NfbmFtZV9ET01UcmVlV2Fsa2VyCiAu
b2JqY19jbGFzc19uYW1lX0RPTVVJRXZlbnQKKy5vYmpjX2NsYXNzX25hbWVfRE9NV2hlZWxFdmVu
dAogLm9iamNfY2xhc3NfbmFtZV9XZWJDb3JlQ2FjaGUKIC5vYmpjX2NsYXNzX25hbWVfV2ViQ29y
ZUVuY29kaW5ncwogLm9iamNfY2xhc3NfbmFtZV9XZWJDb3JlRmlsZUJ1dHRvbgpJbmRleDogV2Vi
Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9u
IDE0ODE5KQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
MiBAQAorMjAwNi0wNi0xMiAgSm9uYXMgV2l0dCA8am9uYXMud2l0dEBnbWFpbC5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBhZGQgbmV3IGNs
YXNzZXMgRE9NS2V5Ym9hcmRFdmVudCBhbmQgRE9NV2hlZWxFdmVudCB0byB0aGUgZXhwb3J0ZWQg
CisgICAgICAgICAgc3ltYm9scyBsaXN0IG9mIFdlYkNvcmUuZnJhbWV3b3JrCisKKyAgICAgICAg
KiBXZWJDb3JlLmV4cDogCisKIDIwMDYtMDYtMTEgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGtp
bHplci5uZXQ+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFjaWVqLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8828</attachid>
            <date>2006-06-12 11:01:35 -0700</date>
            <delta_ts>2006-06-16 01:56:10 -0700</delta_ts>
            <desc>Testcase for the ObjC DOMEvent API</desc>
            <filename>acc5_2.patch</filename>
            <type>text/plain</type>
            <size>19799</size>
            <attacher name="Jonas Witt">jonas.witt</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL29iamMtZXZlbnQtYXBpLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9vYmpjLWV2ZW50LWFwaS1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9vYmpj
LWV2ZW50LWFwaS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjg2IEBACitl
dmVudCB0eXBlOiAgICAgIG1vdXNlb3ZlcgorICB0YXJnZXQ6ICAgICAgICA8ZGl2PgorICBldmVu
dFBoYXNlOiAgICAzCisgIGJ1YmJsZXM6ICAgICAgIDEKKyAgY2FuY2VsYWJsZTogICAgMQorICBk
ZXRhaWw6ICAgICAgICAwCisgIHZpZXc6ICAgICAgICAgIE9LIChkb2N1bWVudDogT0spCisgIGJ1
dHRvbjogICAgICAgIDAKKyAgc2NyZWVuWDogICAgICAgLTk5MDAKKyAgc2NyZWVuWTogICAgICAg
MTAzNTQKKyAgY2xpZW50WDogICAgICAgMTAwCisgIGNsaWVudFk6ICAgICAgIDEwMAorICBtb2Rp
ZmllciBrZXlzOiBjOjAgczowIGE6MCBtOjAKK2V2ZW50IHR5cGU6ICAgICAgbW91c2Vkb3duCisg
IHRhcmdldDogICAgICAgIDxkaXY+CisgIGV2ZW50UGhhc2U6ICAgIDMKKyAgYnViYmxlczogICAg
ICAgMQorICBjYW5jZWxhYmxlOiAgICAxCisgIGRldGFpbDogICAgICAgIDEKKyAgdmlldzogICAg
ICAgICAgT0sgKGRvY3VtZW50OiBPSykKKyAgYnV0dG9uOiAgICAgICAgMAorICBzY3JlZW5YOiAg
ICAgICAtOTkwMAorICBzY3JlZW5ZOiAgICAgICAxMDM1NAorICBjbGllbnRYOiAgICAgICAxMDAK
KyAgY2xpZW50WTogICAgICAgMTAwCisgIG1vZGlmaWVyIGtleXM6IGM6MCBzOjAgYTowIG06MAor
ZXZlbnQgdHlwZTogICAgICBzZWxlY3RzdGFydAorICB0YXJnZXQ6ICAgICAgICA8ZGl2PgorICBl
dmVudFBoYXNlOiAgICAzCisgIGJ1YmJsZXM6ICAgICAgIDEKKyAgY2FuY2VsYWJsZTogICAgMQor
RURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZToobnVsbCkgdG9E
T01SYW5nZTpyYW5nZSBmcm9tIDQgb2YgI3RleHQgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1
bWVudCB0byA0IG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5p
dHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VE
SVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5n
ZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorZXZlbnQgdHlwZTogICAgICBtb3VzZXVwCisgIHRhcmdl
dDogICAgICAgIDxkaXY+CisgIGV2ZW50UGhhc2U6ICAgIDMKKyAgYnViYmxlczogICAgICAgMQor
ICBjYW5jZWxhYmxlOiAgICAxCisgIGRldGFpbDogICAgICAgIDEKKyAgdmlldzogICAgICAgICAg
T0sgKGRvY3VtZW50OiBPSykKKyAgYnV0dG9uOiAgICAgICAgMAorICBzY3JlZW5YOiAgICAgICAt
OTkwMAorICBzY3JlZW5ZOiAgICAgICAxMDM1NAorICBjbGllbnRYOiAgICAgICAxMDAKKyAgY2xp
ZW50WTogICAgICAgMTAwCisgIG1vZGlmaWVyIGtleXM6IGM6MCBzOjAgYTowIG06MAorZXZlbnQg
dHlwZTogICAgICBjbGljaworICB0YXJnZXQ6ICAgICAgICA8ZGl2PgorICBldmVudFBoYXNlOiAg
ICAzCisgIGJ1YmJsZXM6ICAgICAgIDEKKyAgY2FuY2VsYWJsZTogICAgMQorICBkZXRhaWw6ICAg
ICAgICAxCisgIHZpZXc6ICAgICAgICAgIE9LIChkb2N1bWVudDogT0spCisgIGJ1dHRvbjogICAg
ICAgIDAKKyAgc2NyZWVuWDogICAgICAgLTk5MDAKKyAgc2NyZWVuWTogICAgICAgMTAzNTQKKyAg
Y2xpZW50WDogICAgICAgMTAwCisgIGNsaWVudFk6ICAgICAgIDEwMAorICBtb2RpZmllciBrZXlz
OiBjOjAgczowIGE6MCBtOjAKK2V2ZW50IHR5cGU6ICAgICAga2V5ZG93bgorICB0YXJnZXQ6ICAg
ICAgICA8Ym9keT4KKyAgZXZlbnRQaGFzZTogICAgMworICBidWJibGVzOiAgICAgICAxCisgIGNh
bmNlbGFibGU6ICAgIDEKKyAgZGV0YWlsOiAgICAgICAgMAorICB2aWV3OiAgICAgICAgICBPSyAo
ZG9jdW1lbnQ6IE9LKQorICBrZXlJZGVudGlmaWVyOiBVKzAwMDA0MQorICBrZXlMb2NhdGlvbjog
ICAwCisgIG1vZGlmaWVyIGtleXM6IGM6MCBzOjAgYTowIG06MAorICBrZXlDb2RlOiAgICAgICA2
NQorICBjaGFyQ29kZTogICAgICA5NworZXZlbnQgdHlwZTogICAgICBrZXlwcmVzcworICB0YXJn
ZXQ6ICAgICAgICA8Ym9keT4KKyAgZXZlbnRQaGFzZTogICAgMworICBidWJibGVzOiAgICAgICAx
CisgIGNhbmNlbGFibGU6ICAgIDEKKyAgZGV0YWlsOiAgICAgICAgMAorICB2aWV3OiAgICAgICAg
ICBPSyAoZG9jdW1lbnQ6IE9LKQorICBrZXlJZGVudGlmaWVyOiBVKzAwMDA0MQorICBrZXlMb2Nh
dGlvbjogICAwCisgIG1vZGlmaWVyIGtleXM6IGM6MCBzOjAgYTowIG06MAorICBrZXlDb2RlOiAg
ICAgICA5NworICBjaGFyQ29kZTogICAgICA5NworZXZlbnQgdHlwZTogICAgICBrZXlkb3duCisg
IHRhcmdldDogICAgICAgIDxib2R5PgorICBldmVudFBoYXNlOiAgICAzCisgIGJ1YmJsZXM6ICAg
ICAgIDEKKyAgY2FuY2VsYWJsZTogICAgMQorICBkZXRhaWw6ICAgICAgICAwCisgIHZpZXc6ICAg
ICAgICAgIE9LIChkb2N1bWVudDogT0spCisgIGtleUlkZW50aWZpZXI6IFUrMDAwMDQyCisgIGtl
eUxvY2F0aW9uOiAgIDAKKyAgbW9kaWZpZXIga2V5czogYzoxIHM6MCBhOjAgbTowCisgIGtleUNv
ZGU6ICAgICAgIDY2CisgIGNoYXJDb2RlOiAgICAgIDk4CitldmVudCB0eXBlOiAgICAgIGtleXBy
ZXNzCisgIHRhcmdldDogICAgICAgIDxib2R5PgorICBldmVudFBoYXNlOiAgICAzCisgIGJ1YmJs
ZXM6ICAgICAgIDEKKyAgY2FuY2VsYWJsZTogICAgMQorICBkZXRhaWw6ICAgICAgICAwCisgIHZp
ZXc6ICAgICAgICAgIE9LIChkb2N1bWVudDogT0spCisgIGtleUlkZW50aWZpZXI6IFUrMDAwMDQy
CisgIGtleUxvY2F0aW9uOiAgIDAKKyAgbW9kaWZpZXIga2V5czogYzoxIHM6MCBhOjAgbTowCisg
IGtleUNvZGU6ICAgICAgIDk4CisgIGNoYXJDb2RlOiAgICAgIDk4CitldmVudCB0eXBlOiAgICAg
IGtleWRvd24KKyAgdGFyZ2V0OiAgICAgICAgPGJvZHk+CisgIGV2ZW50UGhhc2U6ICAgIDMKKyAg
YnViYmxlczogICAgICAgMQorICBjYW5jZWxhYmxlOiAgICAxCisgIGRldGFpbDogICAgICAgIDAK
KyAgdmlldzogICAgICAgICAgT0sgKGRvY3VtZW50OiBPSykKKyAga2V5SWRlbnRpZmllcjogVSsw
MDAwNDQKKyAga2V5TG9jYXRpb246ICAgMAorICBtb2RpZmllciBrZXlzOiBjOjAgczoxIGE6MCBt
OjAKKyAga2V5Q29kZTogICAgICAgNjgKKyAgY2hhckNvZGU6ICAgICAgMTAwCitldmVudCB0eXBl
OiAgICAgIGtleXByZXNzCisgIHRhcmdldDogICAgICAgIDxib2R5PgorICBldmVudFBoYXNlOiAg
ICAzCisgIGJ1YmJsZXM6ICAgICAgIDEKKyAgY2FuY2VsYWJsZTogICAgMQorICBkZXRhaWw6ICAg
ICAgICAwCisgIHZpZXc6ICAgICAgICAgIE9LIChkb2N1bWVudDogT0spCisgIGtleUlkZW50aWZp
ZXI6IFUrMDAwMDQ0CisgIGtleUxvY2F0aW9uOiAgIDAKKyAgbW9kaWZpZXIga2V5czogYzowIHM6
MSBhOjAgbTowCisgIGtleUNvZGU6ICAgICAgIDEwMAorICBjaGFyQ29kZTogICAgICAxMDAKK2V2
ZW50IHR5cGU6ICAgICAga2V5ZG93bgorICB0YXJnZXQ6ICAgICAgICA8Ym9keT4KKyAgZXZlbnRQ
aGFzZTogICAgMworICBidWJibGVzOiAgICAgICAxCisgIGNhbmNlbGFibGU6ICAgIDEKKyAgZGV0
YWlsOiAgICAgICAgMAorICB2aWV3OiAgICAgICAgICBPSyAoZG9jdW1lbnQ6IE9LKQorICBrZXlJ
ZGVudGlmaWVyOiBVKzAwMDA0NQorICBrZXlMb2NhdGlvbjogICAwCisgIG1vZGlmaWVyIGtleXM6
IGM6MCBzOjAgYToxIG06MQorICBrZXlDb2RlOiAgICAgICA2OQorICBjaGFyQ29kZTogICAgICAx
MDEKK2V2ZW50IHR5cGU6ICAgICAga2V5cHJlc3MKKyAgdGFyZ2V0OiAgICAgICAgPGJvZHk+Cisg
IGV2ZW50UGhhc2U6ICAgIDMKKyAgYnViYmxlczogICAgICAgMQorICBjYW5jZWxhYmxlOiAgICAx
CisgIGRldGFpbDogICAgICAgIDAKKyAgdmlldzogICAgICAgICAgT0sgKGRvY3VtZW50OiBPSykK
KyAga2V5SWRlbnRpZmllcjogVSswMDAwNDUKKyAga2V5TG9jYXRpb246ICAgMAorICBtb2RpZmll
ciBrZXlzOiBjOjAgczowIGE6MSBtOjEKKyAga2V5Q29kZTogICAgICAgMTAxCisgIGNoYXJDb2Rl
OiAgICAgIDEwMQorZXZlbnQgdHlwZTogICAgICBtb3VzZW1vdmUKKyAgdGFyZ2V0OiAgICAgICAg
PGRpdj4KKyAgZXZlbnRQaGFzZTogICAgMworICBidWJibGVzOiAgICAgICAxCisgIGNhbmNlbGFi
bGU6ICAgIDAKKyAgZGV0YWlsOiAgICAgICAgMAorICB2aWV3OiAgICAgICAgICBPSyAoZG9jdW1l
bnQ6IE9LKQorICBidXR0b246ICAgICAgICAwCisgIHNjcmVlblg6ICAgICAgIC05NjAwCisgIHNj
cmVlblk6ICAgICAgIDEwNDA0CisgIGNsaWVudFg6ICAgICAgIDQwMAorICBjbGllbnRZOiAgICAg
ICAxNTAKKyAgbW9kaWZpZXIga2V5czogYzowIHM6MCBhOjAgbTowCitldmVudCB0eXBlOiAgICAg
IG1vdXNlZG93bgorICB0YXJnZXQ6ICAgICAgICA8ZGl2PgorICBldmVudFBoYXNlOiAgICAzCisg
IGJ1YmJsZXM6ICAgICAgIDEKKyAgY2FuY2VsYWJsZTogICAgMQorICBkZXRhaWw6ICAgICAgICAy
CisgIHZpZXc6ICAgICAgICAgIE9LIChkb2N1bWVudDogT0spCisgIGJ1dHRvbjogICAgICAgIDAK
KyAgc2NyZWVuWDogICAgICAgLTk2MDAKKyAgc2NyZWVuWTogICAgICAgMTA0MDQKKyAgY2xpZW50
WDogICAgICAgNDAwCisgIGNsaWVudFk6ICAgICAgIDE1MAorICBtb2RpZmllciBrZXlzOiBjOjAg
czowIGE6MCBtOjAKK2V2ZW50IHR5cGU6ICAgICAgc2VsZWN0c3RhcnQKKyAgdGFyZ2V0OiAgICAg
ICAgPGRpdj4KKyAgZXZlbnRQaGFzZTogICAgMworICBidWJibGVzOiAgICAgICAxCisgIGNhbmNl
bGFibGU6ICAgIDEKK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFu
Z2U6cmFuZ2UgZnJvbSA0IG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQg
dG8gNCBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6
cmFuZ2UgZnJvbSA0IG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8g
MCBvZiBQID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZp
bml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHdl
YlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNh
dGlvbgorZXZlbnQgdHlwZTogICAgICBtb3VzZWRvd24KKyAgdGFyZ2V0OiAgICAgICAgPGRpdj4K
KyAgZXZlbnRQaGFzZTogICAgMworICBidWJibGVzOiAgICAgICAxCisgIGNhbmNlbGFibGU6ICAg
IDEKKyAgZGV0YWlsOiAgICAgICAgMworICB2aWV3OiAgICAgICAgICBPSyAoZG9jdW1lbnQ6IE9L
KQorICBidXR0b246ICAgICAgICAwCisgIHNjcmVlblg6ICAgICAgIC05NjAwCisgIHNjcmVlblk6
ICAgICAgIDEwNDA0CisgIGNsaWVudFg6ICAgICAgIDQwMAorICBjbGllbnRZOiAgICAgICAxNTAK
KyAgbW9kaWZpZXIga2V5czogYzowIHM6MCBhOjAgbTowCitldmVudCB0eXBlOiAgICAgIHNlbGVj
dHN0YXJ0CisgIHRhcmdldDogICAgICAgIDxkaXY+CisgIGV2ZW50UGhhc2U6ICAgIDMKKyAgYnVi
YmxlczogICAgICAgMQorICBjYW5jZWxhYmxlOiAgICAxCitFRElUSU5HIERFTEVHQVRFOiBzaG91
bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZyb20gNCBvZiAjdGV4dCA+IERJViA+IEJP
RFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDAgb2YgUCA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50
IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAj
ZG9jdW1lbnQgdG8gMCBvZiBQID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNT
ZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcg
REVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVj
dGlvbk5vdGlmaWNhdGlvbgorZXZlbnQgdHlwZTogICAgICBtb3VzZW91dAorICB0YXJnZXQ6ICAg
ICAgICA8ZGl2PgorICBldmVudFBoYXNlOiAgICAzCisgIGJ1YmJsZXM6ICAgICAgIDEKKyAgY2Fu
Y2VsYWJsZTogICAgMQorICBkZXRhaWw6ICAgICAgICAwCisgIHZpZXc6ICAgICAgICAgIE9LIChk
b2N1bWVudDogT0spCisgIGJ1dHRvbjogICAgICAgIDAKKyAgc2NyZWVuWDogICAgICAgLTk5OTkK
KyAgc2NyZWVuWTogICAgICAgMTAyNTUKKyAgY2xpZW50WDogICAgICAgMQorICBjbGllbnRZOiAg
ICAgICAxCisgIG1vZGlmaWVyIGtleXM6IGM6MCBzOjAgYTowIG06MAorICByZWxhdGVkVGFyZ2V0
OiBET01IVE1MSHRtbEVsZW1lbnQgKG5vZGVOYW1lOiBIVE1MKQorZXZlbnQgdHlwZTogICAgICBt
b3VzZW92ZXIKKyAgdGFyZ2V0OiAgICAgICAgPGh0bWw+CisgIGV2ZW50UGhhc2U6ICAgIDMKKyAg
YnViYmxlczogICAgICAgMQorICBjYW5jZWxhYmxlOiAgICAxCisgIGRldGFpbDogICAgICAgIDAK
KyAgdmlldzogICAgICAgICAgT0sgKGRvY3VtZW50OiBPSykKKyAgYnV0dG9uOiAgICAgICAgMAor
ICBzY3JlZW5YOiAgICAgICAtOTk5OQorICBzY3JlZW5ZOiAgICAgICAxMDI1NQorICBjbGllbnRY
OiAgICAgICAxCisgIGNsaWVudFk6ICAgICAgIDEKKyAgbW9kaWZpZXIga2V5czogYzowIHM6MCBh
OjAgbTowCisgIHJlbGF0ZWRUYXJnZXQ6IERPTUhUTUxEaXZFbGVtZW50IChub2RlTmFtZTogRElW
KQorZXZlbnQgdHlwZTogICAgICBtb3VzZW1vdmUKKyAgdGFyZ2V0OiAgICAgICAgPGh0bWw+Cisg
IGV2ZW50UGhhc2U6ICAgIDMKKyAgYnViYmxlczogICAgICAgMQorICBjYW5jZWxhYmxlOiAgICAw
CisgIGRldGFpbDogICAgICAgIDAKKyAgdmlldzogICAgICAgICAgT0sgKGRvY3VtZW50OiBPSykK
KyAgYnV0dG9uOiAgICAgICAgMAorICBzY3JlZW5YOiAgICAgICAtOTk5OQorICBzY3JlZW5ZOiAg
ICAgICAxMDI1NQorICBjbGllbnRYOiAgICAgICAxCisgIGNsaWVudFk6ICAgICAgIDEKKyAgbW9k
aWZpZXIga2V5czogYzowIHM6MCBhOjAgbTowCitldmVudCB0eXBlOiAgICAgIHNlbGVjdHN0YXJ0
CisgIHRhcmdldDogICAgICAgIDxodG1sPgorICBldmVudFBoYXNlOiAgICAzCisgIGJ1YmJsZXM6
ICAgICAgIDEKKyAgY2FuY2VsYWJsZTogICAgMQorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hh
bmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgI3RleHQgPiBESVYgPiBCT0RZID4g
SFRNTCA+ICNkb2N1bWVudCB0byAwIG9mIFAgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RP
TVJhbmdlOnJhbmdlIGZyb20gMCBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3Vt
ZW50IHRvIDAgb2YgUCA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0
aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitldmVudCB0eXBlOiAg
ICAgIG1vdXNldXAKKyAgdGFyZ2V0OiAgICAgICAgPGh0bWw+CisgIGV2ZW50UGhhc2U6ICAgIDMK
KyAgYnViYmxlczogICAgICAgMQorICBjYW5jZWxhYmxlOiAgICAxCisgIGRldGFpbDogICAgICAg
IDAKKyAgdmlldzogICAgICAgICAgT0sgKGRvY3VtZW50OiBPSykKKyAgYnV0dG9uOiAgICAgICAg
MAorICBzY3JlZW5YOiAgICAgICAtOTk5OQorICBzY3JlZW5ZOiAgICAgICAxMDI1NQorICBjbGll
bnRYOiAgICAgICAxCisgIGNsaWVudFk6ICAgICAgIDEKKyAgbW9kaWZpZXIga2V5czogYzowIHM6
MCBhOjAgbTowCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJC
bG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0g
YXQgKDgsOCkgc2l6ZSA3ODR4NTc2CisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBz
aXplIDQwMHgzMDAgW2JnY29sb3I9Izg4QUFERF0KKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgxODYsNTApIHNpemUgMjd4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTg2LDUwKSB3
aWR0aCAyNzogIlRlc3QiCisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMzE2KSBzaXplIDc4
NHgxOAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0NzR4MTgKKyAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0NzQ6ICJUaGlzIHRlc3RzIHRoYXQgRE9N
RXZlbnRzIGFyZSBjb3JyZWN0bHkgaGFuZGVkIHRvIHRoZSBPYmpDIEFQSS4gU2VlIGJ1ZyAiCisg
ICAgICAgIFJlbmRlcklubGluZSB7QX0gYXQgKDAsMCkgc2l6ZSAzMngxOCBbY29sb3I9IzAwMDBF
RV0KKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDQ3NCwwKSBzaXplIDMyeDE4Cisg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDc0LDApIHdpZHRoIDMyOiAiOTE4MSIKKyAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1MDYsMCkgc2l6ZSA0eDE4CisgICAgICAgICAgdGV4dCBy
dW4gYXQgKDUwNiwwKSB3aWR0aCA0OiAiLiIKK3NlbGVjdGlvbiBzdGFydDogcG9zaXRpb24gMCBv
ZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMSB7RElWfSBvZiBjaGlsZCAxIHtCT0RZfSBvZiBj
aGlsZCAwIHtIVE1MfSBvZiBkb2N1bWVudAorc2VsZWN0aW9uIGVuZDogICBwb3NpdGlvbiAwIG9m
IGNoaWxkIDMge1B9IG9mIGNoaWxkIDEge0JPRFl9IG9mIGNoaWxkIDAge0hUTUx9IG9mIGRvY3Vt
ZW50CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9vYmpjLWV2ZW50LWFwaS5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL29iamMtZXZlbnQtYXBpLmh0bWwJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9vYmpjLWV2ZW50LWFwaS5o
dG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMyIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dD4KK2Z1bmN0aW9uIGluaXQoKSB7CisgICBpZiAoZXZlbnRTZW5kZXIpIHsKKyAgICAgIGV2ZW50
U2VuZGVyLm1vdXNlTW92ZVRvKDEsMSk7CisgICAgICBldmVudFNlbmRlci5lbmFibGVET01VSUV2
ZW50TG9nZ2luZyhkb2N1bWVudCk7CisgICAgICAKKyAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92
ZVRvKDEwMCwxMDApOworICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAgICBldmVu
dFNlbmRlci5tb3VzZVVwKCk7CisgICAgICBldmVudFNlbmRlci5rZXlEb3duKCJhIiwgIiIpOwor
ICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigiYiIsIFsiY3RybEtleSJdKTsKKyAgICAgIGV2ZW50
U2VuZGVyLmtleURvd24oImQiLCBbInNoaWZ0S2V5Il0pOworICAgICAgZXZlbnRTZW5kZXIua2V5
RG93bigiZSIsIFsiYWx0S2V5IiwgIm1ldGFLZXkiXSk7CisgICAgICAKKyAgICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlTW92ZVRvKDQwMCwxNTApOworICAgICAgZXZlbnRTZW5kZXIubW91c2VDbGljaygp
OworICAgICAgCisgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlTW92ZVRvKDEsMSk7CisgICAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CisgICB9
Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0iaW5pdCgpIj4KKyAgIDxkaXYg
aWQ9ImNsaWNrdGVzdCIgc3R5bGU9IndpZHRoOiAzMDBweDsgaGVpZ2h0OiAyMDBweDsgYmFja2dy
b3VuZC1jb2xvcjogIzhhZDsgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiA1MHB4OyI+VGVz
dDwvZGl2PgorICAgCisgICA8cD5UaGlzIHRlc3RzIHRoYXQgRE9NRXZlbnRzIGFyZSBjb3JyZWN0
bHkgaGFuZGVkIHRvIHRoZSBPYmpDIEFQSS4gU2VlIGJ1ZyA8YSBocmVmPSJodHRwOi8vYnVnemls
bGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTkxODEiPjkxODE8L2E+LjwvcD4KKzwv
Ym9keT4KKzwvaHRtbD4KSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0V2ZW50U2Vu
ZGluZ0NvbnRyb2xsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmgJKHJldmlzaW9uIDE0NzY4KQorKysgV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yOCw3ICsyOCw5IEBACiAgCiAjaW1wb3J0IDxDb2NvYS9Db2NvYS5oPgogCi1AaW50ZXJm
YWNlIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXIgOiBOU09iamVjdCB7CisjaW1wb3J0IDxXZWJLaXQv
V2ViS2l0Lmg+CisKK0BpbnRlcmZhY2UgRXZlbnRTZW5kaW5nQ29udHJvbGxlciA6IE5TT2JqZWN0
IDxET01FdmVudExpc3RlbmVyPiB7CiAgICAgQk9PTCBkb3duOwogICAgIGludCBjbGlja0NvdW50
OwogICAgIE5TVGltZUludGVydmFsIGxhc3RDbGljazsKQEAgLTM2LDYgKzM4LDEwIEBACiAgICAg
ZG91YmxlIHRpbWVPZmZzZXQ7CiB9CiAKKy0gKHZvaWQpZW5hYmxlRE9NVUlFdmVudExvZ2dpbmc6
KFdlYlNjcmlwdE9iamVjdCAqKW5vZGU7CisKKy0gKHZvaWQpaGFuZGxlRXZlbnQ6KERPTUV2ZW50
ICopZXZlbnQ7CisKIEBlbmQKIAogZXh0ZXJuIE5TUG9pbnQgbGFzdE1vdXNlUG9zaXRpb247Cklu
ZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLm0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRXZlbnRTZW5kaW5nQ29u
dHJvbGxlci5tCShyZXZpc2lvbiAxNDc2OCkKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIubQkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAK
IC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgSm9uYXMgV2l0dCA8am9u
YXMud2l0dEBnbWFpbC5jb20+CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM1
LDkgKzM2LDY1IEBACiAjaW1wb3J0IDxXZWJLaXQvV2ViS2l0Lmg+CiAKIE5TUG9pbnQgbGFzdE1v
dXNlUG9zaXRpb247CitOU0FycmF5ICp3ZWJraXREb21FdmVudE5hbWVzOworTlNBcnJheSAqd2Vi
a2l0RG9tRXZlbnRQcm9wZXJ0aWVzOwogCiBAaW1wbGVtZW50YXRpb24gRXZlbnRTZW5kaW5nQ29u
dHJvbGxlcgogCisrICh2b2lkKWluaXRpYWxpemUgeworICAgIHdlYmtpdERvbUV2ZW50TmFtZXMg
PSBbW05TQXJyYXkgYWxsb2NdIGluaXRXaXRoT2JqZWN0czoKKyAgICAgICAgQCJhYm9ydCIsCisg
ICAgICAgIEAiYmVmb3JlY29weSIsCisgICAgICAgIEAiYmVmb3JlY3V0IiwKKyAgICAgICAgQCJi
ZWZvcmVwYXN0ZSIsCisgICAgICAgIEAiYmx1ciIsCisgICAgICAgIEAiY2hhbmdlIiwKKyAgICAg
ICAgQCJjbGljayIsCisgICAgICAgIEAiY29udGV4dG1lbnUiLAorICAgICAgICBAImNvcHkiLAor
ICAgICAgICBAImN1dCIsCisgICAgICAgIEAiZGJsY2xpY2siLAorICAgICAgICBAImRyYWciLAor
ICAgICAgICBAImRyYWdlbmQiLAorICAgICAgICBAImRyYWdlbnRlciIsCisgICAgICAgIEAiZHJh
Z2xlYXZlIiwKKyAgICAgICAgQCJkcmFnb3ZlciIsCisgICAgICAgIEAiZHJhZ3N0YXJ0IiwKKyAg
ICAgICAgQCJkcm9wIiwKKyAgICAgICAgQCJlcnJvciIsCisgICAgICAgIEAiZm9jdXMiLAorICAg
ICAgICBAImlucHV0IiwKKyAgICAgICAgQCJrZXlkb3duIiwKKyAgICAgICAgQCJrZXlwcmVzcyIs
CisgICAgICAgIEAia2V5dXAiLAorICAgICAgICBAImxvYWQiLAorICAgICAgICBAIm1vdXNlZG93
biIsCisgICAgICAgIEAibW91c2Vtb3ZlIiwKKyAgICAgICAgQCJtb3VzZW91dCIsCisgICAgICAg
IEAibW91c2VvdmVyIiwKKyAgICAgICAgQCJtb3VzZXVwIiwKKyAgICAgICAgQCJtb3VzZXdoZWVs
IiwKKyAgICAgICAgQCJiZWZvcmV1bmxvYWQiLAorICAgICAgICBAInBhc3RlIiwKKyAgICAgICAg
QCJyZWFkeXN0YXRlY2hhbmdlIiwKKyAgICAgICAgQCJyZXNldCIsCisgICAgICAgIEAicmVzaXpl
IiwgCisgICAgICAgIEAic2Nyb2xsIiwgCisgICAgICAgIEAic2VhcmNoIiwKKyAgICAgICAgQCJz
ZWxlY3QiLAorICAgICAgICBAInNlbGVjdHN0YXJ0IiwKKyAgICAgICAgQCJzdWJtaXQiLCAKKyAg
ICAgICAgQCJ0ZXh0SW5wdXQiLCAKKyAgICAgICAgQCJ1bmxvYWQiLAorICAgICAgICBAInpvb20i
LAorICAgICAgICBuaWxdOwkKKyAgICAKKyAgICB3ZWJraXREb21FdmVudFByb3BlcnRpZXMgPSBb
W05TQXJyYXkgYWxsb2NdIGluaXRXaXRoT2JqZWN0czoKKyAgICAgICAgQCJjbGllbnRYIiwKKyAg
ICAgICAgQCJjbGllbnRZIiwKKyAgICAgICAgbmlsXTsKK30KKwogKyAoQk9PTClpc1NlbGVjdG9y
RXhjbHVkZWRGcm9tV2ViU2NyaXB0OihTRUwpYVNlbGVjdG9yCiB7CiAgICAgaWYgKGFTZWxlY3Rv
ciA9PSBAc2VsZWN0b3IobW91c2VEb3duKQpAQCAtNDUsNyArMTAyLDggQEAKICAgICAgICAgICAg
IHx8IGFTZWxlY3RvciA9PSBAc2VsZWN0b3IobW91c2VDbGljaykKICAgICAgICAgICAgIHx8IGFT
ZWxlY3RvciA9PSBAc2VsZWN0b3IobW91c2VNb3ZlVG9YOlk6KQogICAgICAgICAgICAgfHwgYVNl
bGVjdG9yID09IEBzZWxlY3RvcihsZWFwRm9yd2FyZDopCi0gICAgICAgICAgICB8fCBhU2VsZWN0
b3IgPT0gQHNlbGVjdG9yKGtleURvd246d2l0aE1vZGlmaWVyczopKQorICAgICAgICAgICAgfHwg
YVNlbGVjdG9yID09IEBzZWxlY3RvcihrZXlEb3duOndpdGhNb2RpZmllcnM6KQorICAgICAgICAg
ICAgfHwgYVNlbGVjdG9yID09IEBzZWxlY3RvcihlbmFibGVET01VSUV2ZW50TG9nZ2luZzopKQog
ICAgICAgICByZXR1cm4gTk87CiAgICAgcmV0dXJuIFlFUzsKIH0KQEAgLTU4LDYgKzExNiw4IEBA
CiAgICAgICAgIHJldHVybiBAImxlYXBGb3J3YXJkIjsKICAgICBpZiAoYVNlbGVjdG9yID09IEBz
ZWxlY3RvcihrZXlEb3duOndpdGhNb2RpZmllcnM6KSkKICAgICAgICAgcmV0dXJuIEAia2V5RG93
biI7CisgICAgaWYgKGFTZWxlY3RvciA9PSBAc2VsZWN0b3IoZW5hYmxlRE9NVUlFdmVudExvZ2dp
bmc6KSkKKyAgICAgICAgcmV0dXJuIEAiZW5hYmxlRE9NVUlFdmVudExvZ2dpbmciOwogICAgIHJl
dHVybiBuaWw7CiB9CiAKQEAgLTIzNyw0ICsyOTcsOTggQEAKICAgICB9CiB9CiAKKy0gKHZvaWQp
ZW5hYmxlRE9NVUlFdmVudExvZ2dpbmc6KFdlYlNjcmlwdE9iamVjdCAqKW5vZGUKK3sKKyAgICBO
U0VudW1lcmF0b3IgKmV2ZW50RW51bWVyYXRvciA9IFt3ZWJraXREb21FdmVudE5hbWVzIG9iamVj
dEVudW1lcmF0b3JdOworICAgIGlkIGV2ZW50TmFtZTsKKyAgICB3aGlsZSAoKGV2ZW50TmFtZSA9
IFtldmVudEVudW1lcmF0b3IgbmV4dE9iamVjdF0pKSB7CisgICAgICAgIFsoaWQ8RE9NRXZlbnRU
YXJnZXQ+KW5vZGUgYWRkRXZlbnRMaXN0ZW5lcjpldmVudE5hbWUgOnNlbGYgOk5PXTsJCQorICAg
IH0KK30KKworLSAodm9pZCloYW5kbGVFdmVudDooRE9NRXZlbnQgKilldmVudAoreworICAgIERP
TU5vZGUgKnRhcmdldCA9IFtldmVudCB0YXJnZXRdOworCisgICAgcHJpbnRmKCJldmVudCB0eXBl
OiAgICAgICVzXG4iLCBbW2V2ZW50IHR5cGVdIFVURjhTdHJpbmddKTsKKyAgICBwcmludGYoIiAg
dGFyZ2V0OiAgICAgICAgPCVzPlxuIiwgW1tbdGFyZ2V0IG5vZGVOYW1lXSBsb3dlcmNhc2VTdHJp
bmddIFVURjhTdHJpbmddKTsKKyAgICAKKyAgICBpZiAoW2V2ZW50IGlzS2luZE9mQ2xhc3M6W0RP
TUV2ZW50IGNsYXNzXV0pIHsKKyAgICAgICAgcHJpbnRmKCIgIGV2ZW50UGhhc2U6ICAgICVkXG4i
LCBbZXZlbnQgZXZlbnRQaGFzZV0pOworICAgICAgICBwcmludGYoIiAgYnViYmxlczogICAgICAg
JWRcbiIsIFtldmVudCBidWJibGVzXSA/IDEgOiAwKTsKKyAgICAgICAgcHJpbnRmKCIgIGNhbmNl
bGFibGU6ICAgICVkXG4iLCBbZXZlbnQgY2FuY2VsYWJsZV0gPyAxIDogMCk7CisgICAgfQorICAg
IAorICAgIGlmIChbZXZlbnQgaXNLaW5kT2ZDbGFzczpbRE9NVUlFdmVudCBjbGFzc11dKSB7Cisg
ICAgICAgIHByaW50ZigiICBkZXRhaWw6ICAgICAgICAlZFxuIiwgWyhET01VSUV2ZW50KilldmVu
dCBkZXRhaWxdKTsKKyAgICAgICAgCisgICAgICAgIERPTUFic3RyYWN0VmlldyAqdmlldyA9IFso
RE9NVUlFdmVudCopZXZlbnQgdmlld107CisgICAgICAgIGlmICh2aWV3KSB7CisgICAgICAgICAg
ICBwcmludGYoIiAgdmlldzogICAgICAgICAgT0siKTsgICAgICAgICAgICAKKyAgICAgICAgICAg
IGlmIChbdmlldyBkb2N1bWVudF0pCisgICAgICAgICAgICAgICAgcHJpbnRmKCIgKGRvY3VtZW50
OiBPSykiKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAg
ICAKKyAgICBpZiAoW2V2ZW50IGlzS2luZE9mQ2xhc3M6W0RPTUtleWJvYXJkRXZlbnQgY2xhc3Nd
XSkgeworICAgICAgICBwcmludGYoIiAga2V5SWRlbnRpZmllcjogJXNcbiIsIFtbKERPTUtleWJv
YXJkRXZlbnQqKWV2ZW50IGtleUlkZW50aWZpZXJdIFVURjhTdHJpbmddKTsKKyAgICAgICAgcHJp
bnRmKCIgIGtleUxvY2F0aW9uOiAgICVkXG4iLCBbKERPTUtleWJvYXJkRXZlbnQqKWV2ZW50IGtl
eUxvY2F0aW9uXSk7CisgICAgICAgIHByaW50ZigiICBtb2RpZmllciBrZXlzOiBjOiVkIHM6JWQg
YTolZCBtOiVkXG4iLCAKKyAgICAgICAgICAgICAgIFsoRE9NS2V5Ym9hcmRFdmVudCopZXZlbnQg
Y3RybEtleV0gPyAxIDogMCwgCisgICAgICAgICAgICAgICBbKERPTUtleWJvYXJkRXZlbnQqKWV2
ZW50IHNoaWZ0S2V5XSA/IDEgOiAwLCAKKyAgICAgICAgICAgICAgIFsoRE9NS2V5Ym9hcmRFdmVu
dCopZXZlbnQgYWx0S2V5XSA/IDEgOiAwLCAKKyAgICAgICAgICAgICAgIFsoRE9NS2V5Ym9hcmRF
dmVudCopZXZlbnQgbWV0YUtleV0gPyAxIDogMCk7CisgICAgICAgIHByaW50ZigiICBrZXlDb2Rl
OiAgICAgICAlZFxuIiwgWyhET01LZXlib2FyZEV2ZW50KilldmVudCBrZXlDb2RlXSk7CisgICAg
ICAgIHByaW50ZigiICBjaGFyQ29kZTogICAgICAlZFxuIiwgWyhET01LZXlib2FyZEV2ZW50Kill
dmVudCBjaGFyQ29kZV0pOworICAgIH0KKyAgICAKKyAgICBpZiAoW2V2ZW50IGlzS2luZE9mQ2xh
c3M6W0RPTU1vdXNlRXZlbnQgY2xhc3NdXSkgeworICAgICAgICBwcmludGYoIiAgYnV0dG9uOiAg
ICAgICAgJWRcbiIsIFsoRE9NTW91c2VFdmVudCopZXZlbnQgYnV0dG9uXSk7CisgICAgICAgIHBy
aW50ZigiICBzY3JlZW5YOiAgICAgICAlZFxuIiwgWyhET01Nb3VzZUV2ZW50KilldmVudCBzY3Jl
ZW5YXSk7CisgICAgICAgIHByaW50ZigiICBzY3JlZW5ZOiAgICAgICAlZFxuIiwgWyhET01Nb3Vz
ZUV2ZW50KilldmVudCBzY3JlZW5ZXSk7CisgICAgICAgIHByaW50ZigiICBjbGllbnRYOiAgICAg
ICAlZFxuIiwgWyhET01Nb3VzZUV2ZW50KilldmVudCBjbGllbnRYXSk7CisgICAgICAgIHByaW50
ZigiICBjbGllbnRZOiAgICAgICAlZFxuIiwgWyhET01Nb3VzZUV2ZW50KilldmVudCBjbGllbnRZ
XSk7CisgICAgICAgIHByaW50ZigiICBtb2RpZmllciBrZXlzOiBjOiVkIHM6JWQgYTolZCBtOiVk
XG4iLCAKKyAgICAgICAgICAgICAgIFsoRE9NTW91c2VFdmVudCopZXZlbnQgY3RybEtleV0gPyAx
IDogMCwgCisgICAgICAgICAgICAgICBbKERPTU1vdXNlRXZlbnQqKWV2ZW50IHNoaWZ0S2V5XSA/
IDEgOiAwLCAKKyAgICAgICAgICAgICAgIFsoRE9NTW91c2VFdmVudCopZXZlbnQgYWx0S2V5XSA/
IDEgOiAwLCAKKyAgICAgICAgICAgICAgIFsoRE9NTW91c2VFdmVudCopZXZlbnQgbWV0YUtleV0g
PyAxIDogMCk7CisgICAgICAgIGlkIHJlbGF0ZWRUYXJnZXQgPSBbKERPTU1vdXNlRXZlbnQqKWV2
ZW50IHJlbGF0ZWRUYXJnZXRdOworICAgICAgICBpZiAocmVsYXRlZFRhcmdldCkgeworICAgICAg
ICAgICAgcHJpbnRmKCIgIHJlbGF0ZWRUYXJnZXQ6ICVzIiwgW1tbcmVsYXRlZFRhcmdldCBjbGFz
c10gZGVzY3JpcHRpb25dIFVURjhTdHJpbmddKTsKKyAgICAgICAgICAgIGlmIChbcmVsYXRlZFRh
cmdldCBpc0tpbmRPZkNsYXNzOltET01Ob2RlIGNsYXNzXV0pCisgICAgICAgICAgICAgICAgcHJp
bnRmKCIgKG5vZGVOYW1lOiAlcykiLCBbWyhET01Ob2RlKilyZWxhdGVkVGFyZ2V0IG5vZGVOYW1l
XSBVVEY4U3RyaW5nXSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAg
ICB9CisgICAgCisgICAgaWYgKFtldmVudCBpc0tpbmRPZkNsYXNzOltET01NdXRhdGlvbkV2ZW50
IGNsYXNzXV0pIHsKKyAgICAgICAgcHJpbnRmKCIgIHByZXZWYWx1ZTogICAgICVzXG4iLCBbWyhE
T01NdXRhdGlvbkV2ZW50KilldmVudCBwcmV2VmFsdWVdIFVURjhTdHJpbmddKTsKKyAgICAgICAg
cHJpbnRmKCIgIG5ld1ZhbHVlOiAgICAgICVzXG4iLCBbWyhET01NdXRhdGlvbkV2ZW50KilldmVu
dCBuZXdWYWx1ZV0gVVRGOFN0cmluZ10pOworICAgICAgICBwcmludGYoIiAgYXR0ck5hbWU6ICAg
ICAgJXNcbiIsIFtbKERPTU11dGF0aW9uRXZlbnQqKWV2ZW50IGF0dHJOYW1lXSBVVEY4U3RyaW5n
XSk7CisgICAgICAgIHByaW50ZigiICBhdHRyQ2hhbmdlOiAgICAlZFxuIiwgWyhET01NdXRhdGlv
bkV2ZW50KilldmVudCBhdHRyQ2hhbmdlXSk7CisgICAgICAgIERPTU5vZGUgKnJlbGF0ZWROb2Rl
ID0gWyhET01NdXRhdGlvbkV2ZW50KilldmVudCByZWxhdGVkTm9kZV07CisgICAgICAgIGlmIChy
ZWxhdGVkTm9kZSkgeworICAgICAgICAgICAgcHJpbnRmKCIgIHJlbGF0ZWROb2RlOiAgICVzIChu
b2RlTmFtZTogJXMpXG4iLCAKKyAgICAgICAgICAgICAgICAgICBbW1tyZWxhdGVkTm9kZSBjbGFz
c10gZGVzY3JpcHRpb25dIFVURjhTdHJpbmddLAorICAgICAgICAgICAgICAgICAgIFtbcmVsYXRl
ZE5vZGUgbm9kZU5hbWVdIFVURjhTdHJpbmddKTsKKyAgICAgICAgfQorICAgIH0KKyAgICAKKyAg
ICBpZiAoW2V2ZW50IGlzS2luZE9mQ2xhc3M6W0RPTVdoZWVsRXZlbnQgY2xhc3NdXSkgeworICAg
ICAgICBwcmludGYoIiAgc2NyZWVuWDogICAgICAgJWRcbiIsIFsoRE9NV2hlZWxFdmVudCopZXZl
bnQgc2NyZWVuWF0pOworICAgICAgICBwcmludGYoIiAgc2NyZWVuWTogICAgICAgJWRcbiIsIFso
RE9NV2hlZWxFdmVudCopZXZlbnQgc2NyZWVuWV0pOworICAgICAgICBwcmludGYoIiAgY2xpZW50
WDogICAgICAgJWRcbiIsIFsoRE9NV2hlZWxFdmVudCopZXZlbnQgY2xpZW50WF0pOworICAgICAg
ICBwcmludGYoIiAgY2xpZW50WTogICAgICAgJWRcbiIsIFsoRE9NV2hlZWxFdmVudCopZXZlbnQg
Y2xpZW50WV0pOworICAgICAgICBwcmludGYoIiAgbW9kaWZpZXIga2V5czogYzolZCBzOiVkIGE6
JWQgbTolZFxuIiwgCisgICAgICAgICAgICAgICBbKERPTVdoZWVsRXZlbnQqKWV2ZW50IGN0cmxL
ZXldID8gMSA6IDAsIAorICAgICAgICAgICAgICAgWyhET01XaGVlbEV2ZW50KilldmVudCBzaGlm
dEtleV0gPyAxIDogMCwgCisgICAgICAgICAgICAgICBbKERPTVdoZWVsRXZlbnQqKWV2ZW50IGFs
dEtleV0gPyAxIDogMCwgCisgICAgICAgICAgICAgICBbKERPTVdoZWVsRXZlbnQqKWV2ZW50IG1l
dGFLZXldID8gMSA6IDApOworICAgICAgICBwcmludGYoIiAgaXNIb3Jpem9udGFsOiAgJWRcbiIs
IFsoRE9NV2hlZWxFdmVudCopZXZlbnQgaXNIb3Jpem9udGFsXSA/IDEgOiAwKTsKKyAgICAgICAg
cHJpbnRmKCIgIHdoZWVsRGVsdGE6ICAgICVkXG4iLCBbKERPTVdoZWVsRXZlbnQqKWV2ZW50IHdo
ZWVsRGVsdGFdKTsKKyAgICB9Cit9CisKIEBlbmQKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0ODE5KQor
KysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMDYtMDYtMTIgIEpvbmFzIFdpdHQgPGpvbmFzLndpdHRAZ21haWwuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gdGVzdCB0aGF0IERPTUV2
ZW50cyBhcmUgY29ycmVjdGx5IGhhbmRlZCB0byB0aGUgT2JqQyBBUEkKKyAgICAgICAgICBodHRw
Oi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTkxODEKKworICAgICAg
ICAqIGZhc3QvZXZlbnRzL29iamMtZXZlbnQtYXBpLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9ldmVudHMvb2JqYy1ldmVudC1hcGkuaHRtbDogQWRkZWQuCisKIDIwMDYtMDYt
MTAgIE1pdHogUGV0dGVsICA8b3BlbmRhcndpbi5vcmdAbWl0enBldHRlbC5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgaHlhdHQuCkluZGV4OiBXZWJLaXRUb29scy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNDgxOSkKKysrIFdlYktp
dFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDA2LTA2
LTEyICBKb25hcyBXaXR0IDxqb25hcy53aXR0QGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIGFkZCBmdW5jdGlvbiB0byBlbmFibGUg
bG9nZ2luZyBvZiBhbGwgZXZlbnRzIG9mIG9uZSBET00gbm9kZSB0byBzdGRvdXQKKworICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLm06CisgICAgICAgICgrW0V2ZW50
U2VuZGluZ0NvbnRyb2xsZXIgaW5pdGlhbGl6ZV0pOgorICAgICAgICAoK1tFdmVudFNlbmRpbmdD
b250cm9sbGVyIGlzU2VsZWN0b3JFeGNsdWRlZEZyb21XZWJTY3JpcHQ6XSk6CisgICAgICAgICgr
W0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIgd2ViU2NyaXB0TmFtZUZvclNlbGVjdG9yOl0pOgorICAg
ICAgICAoLVtFdmVudFNlbmRpbmdDb250cm9sbGVyIGVuYWJsZURPTVVJRXZlbnRMb2dnaW5nOl0p
OgorICAgICAgICAoLVtFdmVudFNlbmRpbmdDb250cm9sbGVyIGhhbmRsZUV2ZW50Ol0pOgorCiAy
MDA2LTA2LTExICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBraWx6ZXIubmV0PgogCiAgICAgICAg
IFJldmlld2VkIGJ5IGRhcmluLgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8864</attachid>
            <date>2006-06-16 01:56:10 -0700</date>
            <delta_ts>2006-06-18 11:35:13 -0700</delta_ts>
            <desc>public-pending DOMKeyboardEvent, DOMWheelEvent plus testcase</desc>
            <filename>acc7.patch</filename>
            <type>text/plain</type>
            <size>35271</size>
            <attacher name="Jonas Witt">jonas.witt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01Qcml2YXRlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTVByaXZhdGUuaAkocmV2aXNpb24gMTQ3NjgpCisrKyBX
ZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2
ICsyNiw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL0RPTUNTUy5oPgogI2ltcG9ydCA8V2ViQ29yZS9E
T01IVE1MLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RPTVJhbmdlLmg+CisjaW1wb3J0IDxXZWJDb3Jl
L0RPTUV2ZW50cy5oPgogCiBAaW50ZXJmYWNlIERPTVJhbmdlIChXZWJQcml2YXRlKQogLy8gdXNl
cyBzYW1lIGFsZ29yaXRobSBhcyBpbm5lclRleHQKQEAgLTE0MSw2ICsxNDIsNDEgQEAKIC0gKE5T
VVJMICopYWJzb2x1dGVMaW5rVVJMOwogQGVuZAogCitlbnVtIHsKKyAgICBET01fS0VZX0xPQ0FU
SU9OX1NUQU5EQVJEICAgICAgPSAweDAwLAorICAgIERPTV9LRVlfTE9DQVRJT05fTEVGVCAgICAg
ICAgICA9IDB4MDEsCisgICAgRE9NX0tFWV9MT0NBVElPTl9SSUdIVCAgICAgICAgID0gMHgwMiwK
KyAgICBET01fS0VZX0xPQ0FUSU9OX05VTVBBRCAgICAgICAgPSAweDAzLAorfTsKKworQGludGVy
ZmFjZSBET01LZXlib2FyZEV2ZW50IDogRE9NVUlFdmVudAorLSAoTlNTdHJpbmcqKWtleUlkZW50
aWZpZXI7CistICh1bnNpZ25lZClrZXlMb2NhdGlvbjsKKy0gKEJPT0wpY3RybEtleTsKKy0gKEJP
T0wpc2hpZnRLZXk7CistIChCT09MKWFsdEtleTsKKy0gKEJPT0wpbWV0YUtleTsKKy0gKEJPT0wp
Z2V0TW9kaWZpZXJTdGF0ZTooTlNTdHJpbmcgKilrZXlJZGVudGlmaWVyQXJnOworQGVuZAorCitA
aW50ZXJmYWNlIERPTUtleWJvYXJkRXZlbnQgKE5vblN0YW5kYXJkQWRkaXRpb25zKQorLSAoaW50
KWtleUNvZGU7CistIChpbnQpY2hhckNvZGU7CitAZW5kCisKK0BpbnRlcmZhY2UgRE9NV2hlZWxF
dmVudCA6IERPTVVJRXZlbnQKKy0gKGludClzY3JlZW5YOworLSAoaW50KXNjcmVlblk7CistIChp
bnQpY2xpZW50WDsKKy0gKGludCljbGllbnRZOworLSAoQk9PTCljdHJsS2V5OworLSAoQk9PTClz
aGlmdEtleTsKKy0gKEJPT0wpYWx0S2V5OworLSAoQk9PTCltZXRhS2V5OworLSAoQk9PTClpc0hv
cml6b250YWw7CistIChpbnQpd2hlZWxEZWx0YTsKK0BlbmQKKwogLy8gRU5ECiAKIC8vIFBlbmRp
bmcgRE9NMyBBUElzCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NRXZlbnRzTm9uc3Rh
bmRhcmQubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUV2ZW50c05v
bnN0YW5kYXJkLm1tCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUV2
ZW50c05vbnN0YW5kYXJkLm1tCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDExMiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAwNCBBcHBsZSBDb21wdXRlciwgSW5jLiAgQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBKb25hcyBXaXR0IDxqb25hcy53aXR0QGdtYWls
LmNvbT4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
Q09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJET01Qcml2YXRlLmgi
CisKKyNpbXBvcnQgIkRPTUV2ZW50c0ludGVybmFsLmgiCisjaW1wb3J0ICJET01JbnRlcm5hbC5o
IgorI2ltcG9ydCAiZG9tMl9ldmVudHNpbXBsLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OworCitBTExPV19ET01fQ0FTVChFdmVudCkKKworQGltcGxlbWVudGF0aW9uIERPTVdoZWVsRXZl
bnQKKworLSAoV2hlZWxFdmVudCAqKV93aGVlbEV2ZW50Cit7CisgICAgcmV0dXJuIHN0YXRpY19j
YXN0PFdoZWVsRXZlbnQgKj4oRE9NX2Nhc3Q8RXZlbnQgKj4oX2ludGVybmFsKSk7Cit9CisKKy0g
KGludClzY3JlZW5YCit7CisgICAgcmV0dXJuIFtzZWxmIF93aGVlbEV2ZW50XS0+c2NyZWVuWCgp
OworfQorCistIChpbnQpc2NyZWVuWQoreworICAgIHJldHVybiBbc2VsZiBfd2hlZWxFdmVudF0t
PnNjcmVlblkoKTsKK30KKworLSAoaW50KWNsaWVudFgKK3sKKyAgICByZXR1cm4gW3NlbGYgX3do
ZWVsRXZlbnRdLT5jbGllbnRYKCk7Cit9CisKKy0gKGludCljbGllbnRZCit7CisgICAgcmV0dXJu
IFtzZWxmIF93aGVlbEV2ZW50XS0+Y2xpZW50WSgpOworfQorCistIChCT09MKWN0cmxLZXkKK3sK
KyAgICByZXR1cm4gW3NlbGYgX3doZWVsRXZlbnRdLT5jdHJsS2V5KCk7Cit9CisKKy0gKEJPT0wp
c2hpZnRLZXkKK3sKKyAgICByZXR1cm4gW3NlbGYgX3doZWVsRXZlbnRdLT5zaGlmdEtleSgpOwor
fQorCistIChCT09MKWFsdEtleSB7CisgICAgcmV0dXJuIFtzZWxmIF93aGVlbEV2ZW50XS0+YWx0
S2V5KCk7Cit9CisKKy0gKEJPT0wpbWV0YUtleSB7CisgICAgcmV0dXJuIFtzZWxmIF93aGVlbEV2
ZW50XS0+bWV0YUtleSgpOworfQorCistIChCT09MKWlzSG9yaXpvbnRhbAoreworICAgIHJldHVy
biBbc2VsZiBfd2hlZWxFdmVudF0tPmlzSG9yaXpvbnRhbCgpOworfQorCistIChpbnQpd2hlZWxE
ZWx0YQoreworICAgIHJldHVybiBbc2VsZiBfd2hlZWxFdmVudF0tPndoZWVsRGVsdGEoKTsKK30K
KworQGVuZAorCitAaW1wbGVtZW50YXRpb24gRE9NS2V5Ym9hcmRFdmVudCAoTm9uU3RhbmRhcmRB
ZGRpdGlvbnMpCisKKy0gKEtleWJvYXJkRXZlbnQgKilfa2V5Ym9hcmRFdmVudAoreworICAgIHJl
dHVybiBzdGF0aWNfY2FzdDxLZXlib2FyZEV2ZW50ICo+KERPTV9jYXN0PEV2ZW50ICo+KF9pbnRl
cm5hbCkpOworfQorCistIChpbnQpa2V5Q29kZQoreworICAgIHJldHVybiBbc2VsZiBfa2V5Ym9h
cmRFdmVudF0tPmtleUNvZGUoKTsKK30KKworLSAoaW50KWNoYXJDb2RlCit7CisgICAgcmV0dXJu
IFtzZWxmIF9rZXlib2FyZEV2ZW50XS0+Y2hhckNvZGUoKTsKK30KKworQGVuZApJbmRleDogV2Vi
Q29yZS9iaW5kaW5ncy9vYmpjL0RPTUV2ZW50cy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Jp
bmRpbmdzL29iamMvRE9NRXZlbnRzLm1tCShyZXZpc2lvbiAxNDc2OCkKKysrIFdlYkNvcmUvYmlu
ZGluZ3Mvb2JqYy9ET01FdmVudHMubW0JKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2IEBACiAv
KgogICogQ29weXJpZ2h0IChDKSAyMDA0IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2IEpvbmFzIFdpdHQgPGpvbmFzLndpdHRA
Z21haWwuY29tPgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOCw2ICsyOSw3
IEBACiAKICNpbXBvcnQgIkRPTUV2ZW50c0ludGVybmFsLmgiCiAjaW1wb3J0ICJET01JbnRlcm5h
bC5oIgorI2ltcG9ydCAiRE9NUHJpdmF0ZS5oIgogI2ltcG9ydCAiRE9NVmlld3NJbnRlcm5hbC5o
IgogI2ltcG9ydCAiRG9jdW1lbnQuaCIKICNpbXBvcnQgImRvbTJfZXZlbnRzaW1wbC5oIgpAQCAt
MzYsNiArMzgsOCBAQAogCiBBTExPV19ET01fQ0FTVChFdmVudCkKIAorQGNsYXNzIERPTVdoZWVs
RXZlbnQ7CisKIEBpbXBsZW1lbnRhdGlvbiBET01FdmVudAogCiAtIChOU1N0cmluZyAqKXR5cGUK
QEAgLTExOSwxMCArMTIzLDE0IEBACiAgICAgICAgIHJldHVybiBbW2NhY2hlZEluc3RhbmNlIHJl
dGFpbl0gYXV0b3JlbGVhc2VdOwogICAgIAogICAgIENsYXNzIHdyYXBwZXJDbGFzcyA9IG5pbDsK
LSAgICBpZiAoaW1wbC0+aXNNb3VzZUV2ZW50KCkpIHsKKyAgICBpZiAoaW1wbC0+aXNXaGVlbEV2
ZW50KCkpIHsKKyAgICAgICAgd3JhcHBlckNsYXNzID0gW0RPTVdoZWVsRXZlbnQgY2xhc3NdOyAg
ICAgICAgCisgICAgfSBlbHNlIGlmIChpbXBsLT5pc01vdXNlRXZlbnQoKSkgewogICAgICAgICB3
cmFwcGVyQ2xhc3MgPSBbRE9NTW91c2VFdmVudCBjbGFzc107CiAgICAgfSBlbHNlIGlmIChpbXBs
LT5pc011dGF0aW9uRXZlbnQoKSkgewogICAgICAgICB3cmFwcGVyQ2xhc3MgPSBbRE9NTXV0YXRp
b25FdmVudCBjbGFzc107CisgICAgfSBlbHNlIGlmIChpbXBsLT5pc0tleWJvYXJkRXZlbnQoKSkg
eworICAgICAgICB3cmFwcGVyQ2xhc3MgPSBbRE9NS2V5Ym9hcmRFdmVudCBjbGFzc107CiAgICAg
fSBlbHNlIGlmIChpbXBsLT5pc1VJRXZlbnQoKSkgewogICAgICAgICB3cmFwcGVyQ2xhc3MgPSBb
RE9NVUlFdmVudCBjbGFzc107CiAgICAgfSBlbHNlIHsKQEAgLTEzMyw2ICsxNDEsNTggQEAKIAog
QGVuZAogCitAaW1wbGVtZW50YXRpb24gRE9NS2V5Ym9hcmRFdmVudAorCistIChLZXlib2FyZEV2
ZW50ICopX2tleWJvYXJkRXZlbnQKK3sKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8S2V5Ym9hcmRF
dmVudCAqPihET01fY2FzdDxFdmVudCAqPihfaW50ZXJuYWwpKTsKK30KKworLSAoTlNTdHJpbmcq
KWtleUlkZW50aWZpZXIKK3sKKyAgICByZXR1cm4gKE5TU3RyaW5nICopIFtzZWxmIF9rZXlib2Fy
ZEV2ZW50XS0+a2V5SWRlbnRpZmllcigpOworfQorCistICh1bnNpZ25lZClrZXlMb2NhdGlvbgor
eworICAgIHJldHVybiBbc2VsZiBfa2V5Ym9hcmRFdmVudF0tPmtleUxvY2F0aW9uKCk7Cit9CisK
Ky0gKEJPT0wpY3RybEtleQoreworICAgIHJldHVybiBbc2VsZiBfa2V5Ym9hcmRFdmVudF0tPmN0
cmxLZXkoKTsKK30KKworLSAoQk9PTClzaGlmdEtleQoreworICAgIHJldHVybiBbc2VsZiBfa2V5
Ym9hcmRFdmVudF0tPnNoaWZ0S2V5KCk7Cit9CisKKy0gKEJPT0wpYWx0S2V5Cit7CisgICAgcmV0
dXJuIFtzZWxmIF9rZXlib2FyZEV2ZW50XS0+YWx0S2V5KCk7Cit9CisKKy0gKEJPT0wpbWV0YUtl
eQoreworICAgIHJldHVybiBbc2VsZiBfa2V5Ym9hcmRFdmVudF0tPm1ldGFLZXkoKTsKK30KKwor
LSAoQk9PTClnZXRNb2RpZmllclN0YXRlOihOU1N0cmluZyAqKWtleUlkZW50aWZpZXJBcmcKK3sK
KyAgICBpZiAoW2tleUlkZW50aWZpZXJBcmcgaXNFcXVhbFRvU3RyaW5nOkAiQ29udHJvbCJdICYm
IFtzZWxmIGN0cmxLZXldKQorICAgICAgICByZXR1cm4gWUVTOworICAgIGlmIChba2V5SWRlbnRp
ZmllckFyZyBpc0VxdWFsVG9TdHJpbmc6QCJTaGlmdCJdICYmIFtzZWxmIHNoaWZ0S2V5XSkKKyAg
ICAgICAgcmV0dXJuIFlFUzsKKyAgICBpZiAoW2tleUlkZW50aWZpZXJBcmcgaXNFcXVhbFRvU3Ry
aW5nOkAiQWx0Il0gJiYgW3NlbGYgYWx0S2V5XSkKKyAgICAgICAgcmV0dXJuIFlFUzsKKyAgICBp
ZiAoW2tleUlkZW50aWZpZXJBcmcgaXNFcXVhbFRvU3RyaW5nOkAiTWV0YSJdICYmIFtzZWxmIG1l
dGFLZXldKQorICAgICAgICByZXR1cm4gWUVTOworICAgIHJldHVybiBOTzsKK30KKworQGVuZAor
CiBAaW1wbGVtZW50YXRpb24gRE9NTW91c2VFdmVudAogCiAtIChNb3VzZUV2ZW50ICopX21vdXNl
RXZlbnQKSW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNDgxOSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsNTUgQEAKKzIwMDYtMDYtMTIgIEpvbmFzIFdpdHQgPGpvbmFzLndpdHRA
Z21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIC0gYWRkIG5ldyBjbGFzc2VzIERPTUtleWJvYXJkRXZlbnQgYW5kIERPTVdoZWVsRXZlbnQg
dG8gdGhlIGV4cG9ydGVkIAorICAgICAgICAgIHN5bWJvbHMgbGlzdCBvZiBXZWJDb3JlLmZyYW1l
d29yaworCisgICAgICAgICogV2ViQ29yZS5leHA6IAorCisgICAgICAgIC0gVXBkYXRlZCBET01V
SUV2ZW50IHRvIGluY2x1ZGUgYWxsIERPTSBMZXZlbCAyIHByb3BlcnRpZXMKKyAgICAgICAgLSBB
ZGRlZCBET01LZXlib2FyZEV2ZW50IChET00gTGV2ZWwgMykKKyAgICAgICAgLSBBZGRlZCB0d28g
bm9uLVczQyBhY2Nlc3NvcnMgKGtleUNvZGUsIGNoYXJDb2RlKSBvZiBET01LZXlib2FyZEV2ZW50
IHRvIGEgc2VwZXJhdGUgZmlsZSAoRE9NRXZlbnRzTm9uc3RhbmRhcmQpCisgICAgICAgIC0gQWRk
ZWQgRE9NV2hlZWxFdmVudCAobm9uLVczQykgaW4gc2VwZXJhdGUgZmlsZSAoRE9NRXZlbnRzTm9u
c3RhbmRhcmQpCisgICAgICAgIC0gQWRkZWQgdGhpcyBmaWxlIChET01FdmVudHNOb25zdGFuZGFy
ZCkgdG8gdGhlIGJ1aWxkIHByb2Nlc3MKKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTS5oOgorICAgICAgICAq
IGJpbmRpbmdzL29iamMvRE9NRXZlbnRzLmg6CisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01F
dmVudHMubW06CisgICAgICAgICgrW0RPTUV2ZW50IF9ldmVudFdpdGg6XSk6CisgICAgICAgICgt
W0RPTVVJRXZlbnQgX1VJRXZlbnRdKToKKyAgICAgICAgKC1bRE9NVUlFdmVudCB2aWV3XSk6Cisg
ICAgICAgICgtW0RPTVVJRXZlbnQgZGV0YWlsXSk6CisgICAgICAgICgtW0RPTVVJRXZlbnQgaW5p
dFVJRXZlbnQ6Ojo6Ol0pOgorICAgICAgICAoLVtET01LZXlib2FyZEV2ZW50IF9rZXlib2FyZEV2
ZW50XSk6CisgICAgICAgICgtW0RPTUtleWJvYXJkRXZlbnQga2V5SWRlbnRpZmllcl0pOgorICAg
ICAgICAoLVtET01LZXlib2FyZEV2ZW50IGtleUxvY2F0aW9uXSk6CisgICAgICAgICgtW0RPTUtl
eWJvYXJkRXZlbnQgY3RybEtleV0pOgorICAgICAgICAoLVtET01LZXlib2FyZEV2ZW50IHNoaWZ0
S2V5XSk6CisgICAgICAgICgtW0RPTUtleWJvYXJkRXZlbnQgYWx0S2V5XSk6CisgICAgICAgICgt
W0RPTUtleWJvYXJkRXZlbnQgbWV0YUtleV0pOgorICAgICAgICAoLVtET01LZXlib2FyZEV2ZW50
IGdldE1vZGlmaWVyU3RhdGU6XSk6CisgICAgICAgICgtW0RPTU1vdXNlRXZlbnQgYnV0dG9uXSk6
CisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01FdmVudHNOb25zdGFuZGFyZC5tbTogQWRkZWQu
CisgICAgICAgICgtW0RPTVdoZWVsRXZlbnQgX3doZWVsRXZlbnRdKToKKyAgICAgICAgKC1bRE9N
V2hlZWxFdmVudCBzY3JlZW5YXSk6CisgICAgICAgICgtW0RPTVdoZWVsRXZlbnQgc2NyZWVuWV0p
OgorICAgICAgICAoLVtET01XaGVlbEV2ZW50IGNsaWVudFhdKToKKyAgICAgICAgKC1bRE9NV2hl
ZWxFdmVudCBjbGllbnRZXSk6CisgICAgICAgICgtW0RPTVdoZWVsRXZlbnQgY3RybEtleV0pOgor
ICAgICAgICAoLVtET01XaGVlbEV2ZW50IHNoaWZ0S2V5XSk6CisgICAgICAgICgtW0RPTVdoZWVs
RXZlbnQgYWx0S2V5XSk6CisgICAgICAgICgtW0RPTVdoZWVsRXZlbnQgbWV0YUtleV0pOgorICAg
ICAgICAoLVtET01XaGVlbEV2ZW50IGlzSG9yaXpvbnRhbF0pOgorICAgICAgICAoLVtET01XaGVl
bEV2ZW50IHdoZWVsRGVsdGFdKToKKyAgICAgICAgKC1bRE9NS2V5Ym9hcmRFdmVudCBfa2V5Ym9h
cmRFdmVudF0pOgorICAgICAgICAoLVtET01LZXlib2FyZEV2ZW50IGtleUNvZGVdKToKKyAgICAg
ICAgKC1bRE9NS2V5Ym9hcmRFdmVudCBjaGFyQ29kZV0pOgorICAgICAgICAqIGJpbmRpbmdzL29i
amMvRE9NUHJpdmF0ZS5oOgorCisKKwogMjAwNi0wNi0xMSAgRGF2aWQgS2lsemVyICA8ZGRraWx6
ZXJAa2lsemVyLm5ldD4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYWNpZWouCkluZGV4OiBXZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTQ3NjgpCisr
KyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5
KQpAQCAtMTUxMSw2ICsxNTExLDcgQEAKIAkJRDBCMDU1NjgwOUM2NzAwMTAwMzA3RTQzIC8qIENy
ZWF0ZUxpbmtDb21tYW5kLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBEMEIwNTU2NjA5QzY3MDAxMDAzMDdFNDMgLyogQ3JlYXRlTGlua0NvbW1hbmQuaCAq
LzsgfTsKIAkJRDBCMDU1NjkwOUM2NzAwMTAwMzA3RTQzIC8qIENyZWF0ZUxpbmtDb21tYW5kLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQwQjA1NTY3
MDlDNjcwMDEwMDMwN0U0MyAvKiBDcmVhdGVMaW5rQ29tbWFuZC5jcHAgKi87IH07CiAJCURENzYz
QkIyMDk5MkMyQzkwMDc0MEI4RSAvKiBsaWJ4bWwyLmR5bGliIGluIEZyYW1ld29ya3MgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gREQ3NjNCQjEwOTkyQzJDOTAwNzQwQjhFIC8q
IGxpYnhtbDIuZHlsaWIgKi87IH07CisJCURENzZGODdCMEEzNzI0RDIwMDNEQjNBMCAvKiBET01F
dmVudHNOb25zdGFuZGFyZC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IERENzZGODdBMEEzNzI0RDIwMDNEQjNBMCAvKiBET01FdmVudHNOb25zdGFuZGFy
ZC5tbSAqLzsgfTsKIAkJREQ3Q0RGMjUwQTIzQ0Y5ODAwMDY5OTI4IC8qIENTU1Vua25vd25SdWxl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODBFNkND
RTBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTVW5rbm93blJ1bGUuaCAqLzsgfTsKIAkJRTFFRTc3Mzcw
OEYxMDg2QzAwMTY2ODcwIC8qIFdlYkNvcmVUZXh0RGVjb2Rlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFFRTc3MzUwOEYxMDg2QzAwMTY2ODcwIC8q
IFdlYkNvcmVUZXh0RGVjb2Rlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUUxRUU3NzM4MDhGMTA4NkMwMDE2Njg3MCAvKiBXZWJDb3JlVGV4dERl
Y29kZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBF
MUVFNzczNjA4RjEwODZDMDAxNjY4NzAgLyogV2ViQ29yZVRleHREZWNvZGVyLm1tICovOyB9OwpA
QCAtMTUyNCwyMyArMTUyNSw2IEBACiAJCUZBRTA0MTkwMDk3NTk2QzkwMDA1NDBCRSAvKiBTVkdJ
bWFnZUxvYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRkFFMDQxOEUwOTc1OTZDOTAwMDU0MEJFIC8qIFNWR0ltYWdlTG9hZGVyLmggKi87IH07CiAv
KiBFbmQgUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8KIAotLyogQmVnaW4gUEJYQnVpbGRTdHlsZSBz
ZWN0aW9uICovCi0JCUJDQzBDMjk2MEEzNzkyRTYwMDhDRDdBRCAvKiBEZXZlbG9wbWVudCAqLyA9
IHsKLQkJCWlzYSA9IFBCWEJ1aWxkU3R5bGU7Ci0JCQlidWlsZFNldHRpbmdzID0gewotCQkJCUNP
UFlfUEhBU0VfU1RSSVAgPSBOTzsKLQkJCX07Ci0JCQluYW1lID0gRGV2ZWxvcG1lbnQ7Ci0JCX07
Ci0JCUJDQzBDMjk3MEEzNzkyRTYwMDhDRDdBRCAvKiBEZXBsb3ltZW50ICovID0gewotCQkJaXNh
ID0gUEJYQnVpbGRTdHlsZTsKLQkJCWJ1aWxkU2V0dGluZ3MgPSB7Ci0JCQkJQ09QWV9QSEFTRV9T
VFJJUCA9IFlFUzsKLQkJCX07Ci0JCQluYW1lID0gRGVwbG95bWVudDsKLQkJfTsKLS8qIEVuZCBQ
QlhCdWlsZFN0eWxlIHNlY3Rpb24gKi8KLQogLyogQmVnaW4gUEJYQ29udGFpbmVySXRlbVByb3h5
IHNlY3Rpb24gKi8KIAkJREQwNDFGRjAwOUQ5RTMyNTAwMTBBRjJBIC8qIFBCWENvbnRhaW5lckl0
ZW1Qcm94eSAqLyA9IHsKIAkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKQEAgLTMyMjUs
NiArMzIwOSw3IEBACiAJCUQwQjA1NTY2MDlDNjcwMDEwMDMwN0U0MyAvKiBDcmVhdGVMaW5rQ29t
bWFuZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDcmVhdGVMaW5rQ29tbWFu
ZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMEIwNTU2NzA5QzY3MDAxMDAzMDdF
NDMgLyogQ3JlYXRlTGlua0NvbW1hbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gQ3JlYXRlTGlua0NvbW1hbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlERDc2M0JCMTA5OTJDMkM5MDA3NDBCOEUgLyogbGlieG1sMi5keWxpYiAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9ICJjb21waWxlZC5tYWNoLW8u
ZHlsaWIiOyBuYW1lID0gbGlieG1sMi5keWxpYjsgcGF0aCA9IC91c3IvbGliL2xpYnhtbDIuZHls
aWI7IHNvdXJjZVRyZWUgPSAiPGFic29sdXRlPiI7IH07CisJCURENzZGODdBMEEzNzI0RDIwMDNE
QjNBMCAvKiBET01FdmVudHNOb25zdGFuZGFyZC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBET01FdmVudHNOb25zdGFuZGFyZC5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRTFFRTc3MzUwOEYxMDg2QzAwMTY2ODcwIC8qIFdlYkNvcmVUZXh0RGVj
b2Rlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGlu
ZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdlYkNvcmVUZXh0RGVjb2Rlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9
IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJRTFFRTc3MzYwOEYxMDg2QzAwMTY2ODcwIC8qIFdlYkNv
cmVUZXh0RGVjb2Rlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gV2ViQ29yZVRleHREZWNvZGVyLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJRTFGMDQyNDQwOTgzOTM4
OTAwNjY5NEVBIC8qIHhtbGh0dHByZXF1ZXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IHhtbGh0dHByZXF1ZXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTQ4MzksNiArNDgyNCw3IEBACiAJCQkJQkMxQTM3OUIwOTdDNzE1RjAwMTlGM0Q4IC8q
IERPTUNTUy5tbSAqLywKIAkJCQlCQzFBMzc5QzA5N0M3MTVGMDAxOUYzRDggLyogRE9NRXZlbnRz
LmggKi8sCiAJCQkJQkMxQTM3OUQwOTdDNzE1RjAwMTlGM0Q4IC8qIERPTUV2ZW50cy5tbSAqLywK
KwkJCQlERDc2Rjg3QTBBMzcyNEQyMDAzREIzQTAgLyogRE9NRXZlbnRzTm9uc3RhbmRhcmQubW0g
Ki8sCiAJCQkJQkMxQTM3OUUwOTdDNzE1RjAwMTlGM0Q4IC8qIERPTUV2ZW50c0ludGVybmFsLmgg
Ki8sCiAJCQkJQkMxQTM3OUYwOTdDNzE1RjAwMTlGM0Q4IC8qIERPTUV4dGVuc2lvbnMuaCAqLywK
IAkJCQlCQzFBMzdBMDA5N0M3MTVGMDAxOUYzRDggLyogRE9NSFRNTC5oICovLApAQCAtNjIzMywx
MiArNjIxOSw2IEBACiAJCTA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVj
dCAqLyA9IHsKIAkJCWlzYSA9IFBCWFByb2plY3Q7CiAJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0
ID0gMTQ5QzI4NDMwODkwMkIxMTAwOEE5RUZDIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBm
b3IgUEJYUHJvamVjdCAiV2ViQ29yZSIgKi87Ci0JCQlidWlsZFNldHRpbmdzID0gewotCQkJfTsK
LQkJCWJ1aWxkU3R5bGVzID0gKAotCQkJCUJDQzBDMjk2MEEzNzkyRTYwMDhDRDdBRCAvKiBEZXZl
bG9wbWVudCAqLywKLQkJCQlCQ0MwQzI5NzBBMzc5MkU2MDA4Q0Q3QUQgLyogRGVwbG95bWVudCAq
LywKLQkJCSk7CiAJCQloYXNTY2FubmVkRm9yRW5jb2RpbmdzID0gMTsKIAkJCWtub3duUmVnaW9u
cyA9ICgKIAkJCQlFbmdsaXNoLApAQCAtNzAzNiw2ICs3MDE2LDcgQEAKIAkJCQlBODMzQzg1MjBB
MkNGNTI4MDBENTc2NjQgLyogU1ZHRWxlbWVudEZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTEyNkU2QkIwQTJFM0IxMjAwNUMyOUZBIC8qIEljb25EYXRhYmFzZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk1MTI2RTZDMDBBMkUzQjI5MDA1QzI5RkEgLyogV2ViQ29yZUljb25EYXRhYmFz
ZUJyaWRnZS5tbSBpbiBTb3VyY2VzICovLAorCQkJCURENzZGODdCMEEzNzI0RDIwMDNEQjNBMCAv
KiBET01FdmVudHNOb25zdGFuZGFyZC5tbSBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtNzA1Niw2ICs3MDM3
LDcgQEAKIAkJCQlERUJVR19ERUZJTkVTID0gIiI7CiAJCQkJRFlMSUJfQ09NUEFUSUJJTElUWV9W
RVJTSU9OID0gMTsKIAkJCQlEWUxJQl9DVVJSRU5UX1ZFUlNJT04gPSAxOworCQkJCUVYUE9SVEVE
X1NZTUJPTFNfRklMRSA9ICIiOwogCQkJCUdDQ19QUkVGSVhfSEVBREVSID0gV2ViQ29yZVByZWZp
eC5oOwogCQkJCUdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAoCiAJCQkJCSIkKERFQlVH
X0RFRklORVMpIiwKQEAgLTcwODksNiArNzA3MSw3IEBACiAJCQkJREVCVUdfREVGSU5FUyA9IE5E
RUJVRzsKIAkJCQlEWUxJQl9DT01QQVRJQklMSVRZX1ZFUlNJT04gPSAxOwogCQkJCURZTElCX0NV
UlJFTlRfVkVSU0lPTiA9IDE7CisJCQkJRVhQT1JURURfU1lNQk9MU19GSUxFID0gIiI7CiAJCQkJ
R0NDX1BSRUZJWF9IRUFERVIgPSBXZWJDb3JlUHJlZml4Lmg7CiAJCQkJR0NDX1BSRVBST0NFU1NP
Ul9ERUZJTklUSU9OUyA9ICgKIAkJCQkJIiQoREVCVUdfREVGSU5FUykiLApAQCAtNzEyMiw2ICs3
MTA1LDcgQEAKIAkJCQlERUJVR19ERUZJTkVTID0gTkRFQlVHOwogCQkJCURZTElCX0NPTVBBVElC
SUxJVFlfVkVSU0lPTiA9IDE7CiAJCQkJRFlMSUJfQ1VSUkVOVF9WRVJTSU9OID0gMTsKKwkJCQlF
WFBPUlRFRF9TWU1CT0xTX0ZJTEUgPSAiIjsKIAkJCQlGUkFNRVdPUktfU0VBUkNIX1BBVEhTID0g
IiQoU1lTVEVNX0xJQlJBUllfRElSKS9GcmFtZXdvcmtzL1dlYktpdC5mcmFtZXdvcmsvRnJhbWV3
b3JrcyI7CiAJCQkJR0NDX1BSRUZJWF9IRUFERVIgPSBXZWJDb3JlUHJlZml4Lmg7CiAJCQkJR0ND
X1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICgKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5leHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLmV4cAkocmV2aXNpb24gMTQ3NjgpCisrKyBX
ZWJDb3JlL1dlYkNvcmUuZXhwCSh3b3JraW5nIGNvcHkpCkBAIC04Myw2ICs4Myw3IEBACiAub2Jq
Y19jbGFzc19uYW1lX0RPTUhUTUxUaXRsZUVsZW1lbnQKIC5vYmpjX2NsYXNzX25hbWVfRE9NSFRN
TFVMaXN0RWxlbWVudAogLm9iamNfY2xhc3NfbmFtZV9ET01JbXBsZW1lbnRhdGlvbgorLm9iamNf
Y2xhc3NfbmFtZV9ET01LZXlib2FyZEV2ZW50CiAub2JqY19jbGFzc19uYW1lX0RPTU1lZGlhTGlz
dAogLm9iamNfY2xhc3NfbmFtZV9ET01Nb3VzZUV2ZW50CiAub2JqY19jbGFzc19uYW1lX0RPTU11
dGF0aW9uRXZlbnQKQEAgLTEwMiw2ICsxMDMsNyBAQAogLm9iamNfY2xhc3NfbmFtZV9ET01UZXh0
CiAub2JqY19jbGFzc19uYW1lX0RPTVRyZWVXYWxrZXIKIC5vYmpjX2NsYXNzX25hbWVfRE9NVUlF
dmVudAorLm9iamNfY2xhc3NfbmFtZV9ET01XaGVlbEV2ZW50CiAub2JqY19jbGFzc19uYW1lX1dl
YkNvcmVDYWNoZQogLm9iamNfY2xhc3NfbmFtZV9XZWJDb3JlRW5jb2RpbmdzCiAub2JqY19jbGFz
c19uYW1lX1dlYkNvcmVGaWxlQnV0dG9uCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9v
YmpjLWV2ZW50LWFwaS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvb2JqYy1ldmVudC1hcGktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvb2JqYy1ldmVudC1hcGktZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDI4NiBAQAorZXZlbnQgdHlwZTogICAgICBtb3VzZW92ZXIKKyAgdGFy
Z2V0OiAgICAgICAgPGRpdj4KKyAgZXZlbnRQaGFzZTogICAgMworICBidWJibGVzOiAgICAgICAx
CisgIGNhbmNlbGFibGU6ICAgIDEKKyAgZGV0YWlsOiAgICAgICAgMAorICB2aWV3OiAgICAgICAg
ICBPSyAoZG9jdW1lbnQ6IE9LKQorICBidXR0b246ICAgICAgICAwCisgIHNjcmVlblg6ICAgICAg
IC05OTAwCisgIHNjcmVlblk6ICAgICAgIDEwMzU0CisgIGNsaWVudFg6ICAgICAgIDEwMAorICBj
bGllbnRZOiAgICAgICAxMDAKKyAgbW9kaWZpZXIga2V5czogYzowIHM6MCBhOjAgbTowCitldmVu
dCB0eXBlOiAgICAgIG1vdXNlZG93bgorICB0YXJnZXQ6ICAgICAgICA8ZGl2PgorICBldmVudFBo
YXNlOiAgICAzCisgIGJ1YmJsZXM6ICAgICAgIDEKKyAgY2FuY2VsYWJsZTogICAgMQorICBkZXRh
aWw6ICAgICAgICAxCisgIHZpZXc6ICAgICAgICAgIE9LIChkb2N1bWVudDogT0spCisgIGJ1dHRv
bjogICAgICAgIDAKKyAgc2NyZWVuWDogICAgICAgLTk5MDAKKyAgc2NyZWVuWTogICAgICAgMTAz
NTQKKyAgY2xpZW50WDogICAgICAgMTAwCisgIGNsaWVudFk6ICAgICAgIDEwMAorICBtb2RpZmll
ciBrZXlzOiBjOjAgczowIGE6MCBtOjAKK2V2ZW50IHR5cGU6ICAgICAgc2VsZWN0c3RhcnQKKyAg
dGFyZ2V0OiAgICAgICAgPGRpdj4KKyAgZXZlbnRQaGFzZTogICAgMworICBidWJibGVzOiAgICAg
ICAxCisgIGNhbmNlbGFibGU6ICAgIDEKK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNl
bGVjdGVkRE9NUmFuZ2U6KG51bGwpIHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSA0IG9mICN0ZXh0ID4g
RElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gNCBvZiAjdGV4dCA+IERJViA+IEJPRFkg
PiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFt
IHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdl
U2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK2V2ZW50IHR5
cGU6ICAgICAgbW91c2V1cAorICB0YXJnZXQ6ICAgICAgICA8ZGl2PgorICBldmVudFBoYXNlOiAg
ICAzCisgIGJ1YmJsZXM6ICAgICAgIDEKKyAgY2FuY2VsYWJsZTogICAgMQorICBkZXRhaWw6ICAg
ICAgICAxCisgIHZpZXc6ICAgICAgICAgIE9LIChkb2N1bWVudDogT0spCisgIGJ1dHRvbjogICAg
ICAgIDAKKyAgc2NyZWVuWDogICAgICAgLTk5MDAKKyAgc2NyZWVuWTogICAgICAgMTAzNTQKKyAg
Y2xpZW50WDogICAgICAgMTAwCisgIGNsaWVudFk6ICAgICAgIDEwMAorICBtb2RpZmllciBrZXlz
OiBjOjAgczowIGE6MCBtOjAKK2V2ZW50IHR5cGU6ICAgICAgY2xpY2sKKyAgdGFyZ2V0OiAgICAg
ICAgPGRpdj4KKyAgZXZlbnRQaGFzZTogICAgMworICBidWJibGVzOiAgICAgICAxCisgIGNhbmNl
bGFibGU6ICAgIDEKKyAgZGV0YWlsOiAgICAgICAgMQorICB2aWV3OiAgICAgICAgICBPSyAoZG9j
dW1lbnQ6IE9LKQorICBidXR0b246ICAgICAgICAwCisgIHNjcmVlblg6ICAgICAgIC05OTAwCisg
IHNjcmVlblk6ICAgICAgIDEwMzU0CisgIGNsaWVudFg6ICAgICAgIDEwMAorICBjbGllbnRZOiAg
ICAgICAxMDAKKyAgbW9kaWZpZXIga2V5czogYzowIHM6MCBhOjAgbTowCitldmVudCB0eXBlOiAg
ICAgIGtleWRvd24KKyAgdGFyZ2V0OiAgICAgICAgPGJvZHk+CisgIGV2ZW50UGhhc2U6ICAgIDMK
KyAgYnViYmxlczogICAgICAgMQorICBjYW5jZWxhYmxlOiAgICAxCisgIGRldGFpbDogICAgICAg
IDAKKyAgdmlldzogICAgICAgICAgT0sgKGRvY3VtZW50OiBPSykKKyAga2V5SWRlbnRpZmllcjog
VSswMDAwNDEKKyAga2V5TG9jYXRpb246ICAgMAorICBtb2RpZmllciBrZXlzOiBjOjAgczowIGE6
MCBtOjAKKyAga2V5Q29kZTogICAgICAgNjUKKyAgY2hhckNvZGU6ICAgICAgOTcKK2V2ZW50IHR5
cGU6ICAgICAga2V5cHJlc3MKKyAgdGFyZ2V0OiAgICAgICAgPGJvZHk+CisgIGV2ZW50UGhhc2U6
ICAgIDMKKyAgYnViYmxlczogICAgICAgMQorICBjYW5jZWxhYmxlOiAgICAxCisgIGRldGFpbDog
ICAgICAgIDAKKyAgdmlldzogICAgICAgICAgT0sgKGRvY3VtZW50OiBPSykKKyAga2V5SWRlbnRp
ZmllcjogVSswMDAwNDEKKyAga2V5TG9jYXRpb246ICAgMAorICBtb2RpZmllciBrZXlzOiBjOjAg
czowIGE6MCBtOjAKKyAga2V5Q29kZTogICAgICAgOTcKKyAgY2hhckNvZGU6ICAgICAgOTcKK2V2
ZW50IHR5cGU6ICAgICAga2V5ZG93bgorICB0YXJnZXQ6ICAgICAgICA8Ym9keT4KKyAgZXZlbnRQ
aGFzZTogICAgMworICBidWJibGVzOiAgICAgICAxCisgIGNhbmNlbGFibGU6ICAgIDEKKyAgZGV0
YWlsOiAgICAgICAgMAorICB2aWV3OiAgICAgICAgICBPSyAoZG9jdW1lbnQ6IE9LKQorICBrZXlJ
ZGVudGlmaWVyOiBVKzAwMDA0MgorICBrZXlMb2NhdGlvbjogICAwCisgIG1vZGlmaWVyIGtleXM6
IGM6MSBzOjAgYTowIG06MAorICBrZXlDb2RlOiAgICAgICA2NgorICBjaGFyQ29kZTogICAgICA5
OAorZXZlbnQgdHlwZTogICAgICBrZXlwcmVzcworICB0YXJnZXQ6ICAgICAgICA8Ym9keT4KKyAg
ZXZlbnRQaGFzZTogICAgMworICBidWJibGVzOiAgICAgICAxCisgIGNhbmNlbGFibGU6ICAgIDEK
KyAgZGV0YWlsOiAgICAgICAgMAorICB2aWV3OiAgICAgICAgICBPSyAoZG9jdW1lbnQ6IE9LKQor
ICBrZXlJZGVudGlmaWVyOiBVKzAwMDA0MgorICBrZXlMb2NhdGlvbjogICAwCisgIG1vZGlmaWVy
IGtleXM6IGM6MSBzOjAgYTowIG06MAorICBrZXlDb2RlOiAgICAgICA5OAorICBjaGFyQ29kZTog
ICAgICA5OAorZXZlbnQgdHlwZTogICAgICBrZXlkb3duCisgIHRhcmdldDogICAgICAgIDxib2R5
PgorICBldmVudFBoYXNlOiAgICAzCisgIGJ1YmJsZXM6ICAgICAgIDEKKyAgY2FuY2VsYWJsZTog
ICAgMQorICBkZXRhaWw6ICAgICAgICAwCisgIHZpZXc6ICAgICAgICAgIE9LIChkb2N1bWVudDog
T0spCisgIGtleUlkZW50aWZpZXI6IFUrMDAwMDQ0CisgIGtleUxvY2F0aW9uOiAgIDAKKyAgbW9k
aWZpZXIga2V5czogYzowIHM6MSBhOjAgbTowCisgIGtleUNvZGU6ICAgICAgIDY4CisgIGNoYXJD
b2RlOiAgICAgIDEwMAorZXZlbnQgdHlwZTogICAgICBrZXlwcmVzcworICB0YXJnZXQ6ICAgICAg
ICA8Ym9keT4KKyAgZXZlbnRQaGFzZTogICAgMworICBidWJibGVzOiAgICAgICAxCisgIGNhbmNl
bGFibGU6ICAgIDEKKyAgZGV0YWlsOiAgICAgICAgMAorICB2aWV3OiAgICAgICAgICBPSyAoZG9j
dW1lbnQ6IE9LKQorICBrZXlJZGVudGlmaWVyOiBVKzAwMDA0NAorICBrZXlMb2NhdGlvbjogICAw
CisgIG1vZGlmaWVyIGtleXM6IGM6MCBzOjEgYTowIG06MAorICBrZXlDb2RlOiAgICAgICAxMDAK
KyAgY2hhckNvZGU6ICAgICAgMTAwCitldmVudCB0eXBlOiAgICAgIGtleWRvd24KKyAgdGFyZ2V0
OiAgICAgICAgPGJvZHk+CisgIGV2ZW50UGhhc2U6ICAgIDMKKyAgYnViYmxlczogICAgICAgMQor
ICBjYW5jZWxhYmxlOiAgICAxCisgIGRldGFpbDogICAgICAgIDAKKyAgdmlldzogICAgICAgICAg
T0sgKGRvY3VtZW50OiBPSykKKyAga2V5SWRlbnRpZmllcjogVSswMDAwNDUKKyAga2V5TG9jYXRp
b246ICAgMAorICBtb2RpZmllciBrZXlzOiBjOjAgczowIGE6MSBtOjEKKyAga2V5Q29kZTogICAg
ICAgNjkKKyAgY2hhckNvZGU6ICAgICAgMTAxCitldmVudCB0eXBlOiAgICAgIGtleXByZXNzCisg
IHRhcmdldDogICAgICAgIDxib2R5PgorICBldmVudFBoYXNlOiAgICAzCisgIGJ1YmJsZXM6ICAg
ICAgIDEKKyAgY2FuY2VsYWJsZTogICAgMQorICBkZXRhaWw6ICAgICAgICAwCisgIHZpZXc6ICAg
ICAgICAgIE9LIChkb2N1bWVudDogT0spCisgIGtleUlkZW50aWZpZXI6IFUrMDAwMDQ1CisgIGtl
eUxvY2F0aW9uOiAgIDAKKyAgbW9kaWZpZXIga2V5czogYzowIHM6MCBhOjEgbToxCisgIGtleUNv
ZGU6ICAgICAgIDEwMQorICBjaGFyQ29kZTogICAgICAxMDEKK2V2ZW50IHR5cGU6ICAgICAgbW91
c2Vtb3ZlCisgIHRhcmdldDogICAgICAgIDxkaXY+CisgIGV2ZW50UGhhc2U6ICAgIDMKKyAgYnVi
YmxlczogICAgICAgMQorICBjYW5jZWxhYmxlOiAgICAwCisgIGRldGFpbDogICAgICAgIDAKKyAg
dmlldzogICAgICAgICAgT0sgKGRvY3VtZW50OiBPSykKKyAgYnV0dG9uOiAgICAgICAgMAorICBz
Y3JlZW5YOiAgICAgICAtOTYwMAorICBzY3JlZW5ZOiAgICAgICAxMDQwNAorICBjbGllbnRYOiAg
ICAgICA0MDAKKyAgY2xpZW50WTogICAgICAgMTUwCisgIG1vZGlmaWVyIGtleXM6IGM6MCBzOjAg
YTowIG06MAorZXZlbnQgdHlwZTogICAgICBtb3VzZWRvd24KKyAgdGFyZ2V0OiAgICAgICAgPGRp
dj4KKyAgZXZlbnRQaGFzZTogICAgMworICBidWJibGVzOiAgICAgICAxCisgIGNhbmNlbGFibGU6
ICAgIDEKKyAgZGV0YWlsOiAgICAgICAgMgorICB2aWV3OiAgICAgICAgICBPSyAoZG9jdW1lbnQ6
IE9LKQorICBidXR0b246ICAgICAgICAwCisgIHNjcmVlblg6ICAgICAgIC05NjAwCisgIHNjcmVl
blk6ICAgICAgIDEwNDA0CisgIGNsaWVudFg6ICAgICAgIDQwMAorICBjbGllbnRZOiAgICAgICAx
NTAKKyAgbW9kaWZpZXIga2V5czogYzowIHM6MCBhOjAgbTowCitldmVudCB0eXBlOiAgICAgIHNl
bGVjdHN0YXJ0CisgIHRhcmdldDogICAgICAgIDxkaXY+CisgIGV2ZW50UGhhc2U6ICAgIDMKKyAg
YnViYmxlczogICAgICAgMQorICBjYW5jZWxhYmxlOiAgICAxCitFRElUSU5HIERFTEVHQVRFOiBz
aG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZyb20gNCBvZiAjdGV4dCA+IERJViA+
IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDQgb2YgI3RleHQgPiBESVYgPiBCT0RZID4gSFRN
TCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gNCBvZiAjdGV4dCA+IERJViA+IEJP
RFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDAgb2YgUCA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50
IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZB
TFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdE
aWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK2V2ZW50IHR5cGU6ICAgICAgbW91c2Vkb3du
CisgIHRhcmdldDogICAgICAgIDxkaXY+CisgIGV2ZW50UGhhc2U6ICAgIDMKKyAgYnViYmxlczog
ICAgICAgMQorICBjYW5jZWxhYmxlOiAgICAxCisgIGRldGFpbDogICAgICAgIDMKKyAgdmlldzog
ICAgICAgICAgT0sgKGRvY3VtZW50OiBPSykKKyAgYnV0dG9uOiAgICAgICAgMAorICBzY3JlZW5Y
OiAgICAgICAtOTYwMAorICBzY3JlZW5ZOiAgICAgICAxMDQwNAorICBjbGllbnRYOiAgICAgICA0
MDAKKyAgY2xpZW50WTogICAgICAgMTUwCisgIG1vZGlmaWVyIGtleXM6IGM6MCBzOjAgYTowIG06
MAorZXZlbnQgdHlwZTogICAgICBzZWxlY3RzdGFydAorICB0YXJnZXQ6ICAgICAgICA8ZGl2Pgor
ICBldmVudFBoYXNlOiAgICAzCisgIGJ1YmJsZXM6ICAgICAgIDEKKyAgY2FuY2VsYWJsZTogICAg
MQorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBm
cm9tIDQgb2YgI3RleHQgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAwIG9mIFAg
PiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiAjdGV4
dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDAgb2YgUCA+IEJPRFkgPiBIVE1M
ID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxs
U2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0
aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK2V2ZW50IHR5cGU6ICAg
ICAgbW91c2VvdXQKKyAgdGFyZ2V0OiAgICAgICAgPGRpdj4KKyAgZXZlbnRQaGFzZTogICAgMwor
ICBidWJibGVzOiAgICAgICAxCisgIGNhbmNlbGFibGU6ICAgIDEKKyAgZGV0YWlsOiAgICAgICAg
MAorICB2aWV3OiAgICAgICAgICBPSyAoZG9jdW1lbnQ6IE9LKQorICBidXR0b246ICAgICAgICAw
CisgIHNjcmVlblg6ICAgICAgIC05OTk5CisgIHNjcmVlblk6ICAgICAgIDEwMjU1CisgIGNsaWVu
dFg6ICAgICAgIDEKKyAgY2xpZW50WTogICAgICAgMQorICBtb2RpZmllciBrZXlzOiBjOjAgczow
IGE6MCBtOjAKKyAgcmVsYXRlZFRhcmdldDogRE9NSFRNTEh0bWxFbGVtZW50IChub2RlTmFtZTog
SFRNTCkKK2V2ZW50IHR5cGU6ICAgICAgbW91c2VvdmVyCisgIHRhcmdldDogICAgICAgIDxodG1s
PgorICBldmVudFBoYXNlOiAgICAzCisgIGJ1YmJsZXM6ICAgICAgIDEKKyAgY2FuY2VsYWJsZTog
ICAgMQorICBkZXRhaWw6ICAgICAgICAwCisgIHZpZXc6ICAgICAgICAgIE9LIChkb2N1bWVudDog
T0spCisgIGJ1dHRvbjogICAgICAgIDAKKyAgc2NyZWVuWDogICAgICAgLTk5OTkKKyAgc2NyZWVu
WTogICAgICAgMTAyNTUKKyAgY2xpZW50WDogICAgICAgMQorICBjbGllbnRZOiAgICAgICAxCisg
IG1vZGlmaWVyIGtleXM6IGM6MCBzOjAgYTowIG06MAorICByZWxhdGVkVGFyZ2V0OiBET01IVE1M
RGl2RWxlbWVudCAobm9kZU5hbWU6IERJVikKK2V2ZW50IHR5cGU6ICAgICAgbW91c2Vtb3ZlCisg
IHRhcmdldDogICAgICAgIDxodG1sPgorICBldmVudFBoYXNlOiAgICAzCisgIGJ1YmJsZXM6ICAg
ICAgIDEKKyAgY2FuY2VsYWJsZTogICAgMAorICBkZXRhaWw6ICAgICAgICAwCisgIHZpZXc6ICAg
ICAgICAgIE9LIChkb2N1bWVudDogT0spCisgIGJ1dHRvbjogICAgICAgIDAKKyAgc2NyZWVuWDog
ICAgICAgLTk5OTkKKyAgc2NyZWVuWTogICAgICAgMTAyNTUKKyAgY2xpZW50WDogICAgICAgMQor
ICBjbGllbnRZOiAgICAgICAxCisgIG1vZGlmaWVyIGtleXM6IGM6MCBzOjAgYTowIG06MAorZXZl
bnQgdHlwZTogICAgICBzZWxlY3RzdGFydAorICB0YXJnZXQ6ICAgICAgICA8aHRtbD4KKyAgZXZl
bnRQaGFzZTogICAgMworICBidWJibGVzOiAgICAgICAxCisgIGNhbmNlbGFibGU6ICAgIDEKK0VE
SVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAw
IG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMCBvZiBQID4gQk9E
WSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgI3RleHQgPiBE
SVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAwIG9mIFAgPiBCT0RZID4gSFRNTCA+ICNk
b2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVj
dGluZzpGQUxTRQorZXZlbnQgdHlwZTogICAgICBtb3VzZXVwCisgIHRhcmdldDogICAgICAgIDxo
dG1sPgorICBldmVudFBoYXNlOiAgICAzCisgIGJ1YmJsZXM6ICAgICAgIDEKKyAgY2FuY2VsYWJs
ZTogICAgMQorICBkZXRhaWw6ICAgICAgICAwCisgIHZpZXc6ICAgICAgICAgIE9LIChkb2N1bWVu
dDogT0spCisgIGJ1dHRvbjogICAgICAgIDAKKyAgc2NyZWVuWDogICAgICAgLTk5OTkKKyAgc2Ny
ZWVuWTogICAgICAgMTAyNTUKKyAgY2xpZW50WDogICAgICAgMQorICBjbGllbnRZOiAgICAgICAx
CisgIG1vZGlmaWVyIGtleXM6IGM6MCBzOjAgYTowIG06MAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYw
MAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU3NgorICAgICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA0MDB4MzAwIFtiZ2NvbG9yPSM4OEFBRERdCisg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTg2LDUwKSBzaXplIDI3eDE4CisgICAgICAg
ICAgdGV4dCBydW4gYXQgKDE4Niw1MCkgd2lkdGggMjc6ICJUZXN0IgorICAgICAgUmVuZGVyQmxv
Y2sge1B9IGF0ICgwLDMxNikgc2l6ZSA3ODR4MTgKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgNDc0eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGgg
NDc0OiAiVGhpcyB0ZXN0cyB0aGF0IERPTUV2ZW50cyBhcmUgY29ycmVjdGx5IGhhbmRlZCB0byB0
aGUgT2JqQyBBUEkuIFNlZSBidWcgIgorICAgICAgICBSZW5kZXJJbmxpbmUge0F9IGF0ICgwLDAp
IHNpemUgMzJ4MTggW2NvbG9yPSMwMDAwRUVdCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICg0NzQsMCkgc2l6ZSAzMngxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ3NCwwKSB3
aWR0aCAzMjogIjkxODEiCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTA2LDApIHNp
emUgNHgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICg1MDYsMCkgd2lkdGggNDogIi4iCitzZWxl
Y3Rpb24gc3RhcnQ6IHBvc2l0aW9uIDAgb2YgY2hpbGQgMCB7I3RleHR9IG9mIGNoaWxkIDEge0RJ
Vn0gb2YgY2hpbGQgMSB7Qk9EWX0gb2YgY2hpbGQgMCB7SFRNTH0gb2YgZG9jdW1lbnQKK3NlbGVj
dGlvbiBlbmQ6ICAgcG9zaXRpb24gMCBvZiBjaGlsZCAzIHtQfSBvZiBjaGlsZCAxIHtCT0RZfSBv
ZiBjaGlsZCAwIHtIVE1MfSBvZiBkb2N1bWVudApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvb2JqYy1ldmVudC1hcGkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9vYmpjLWV2ZW50LWFwaS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvb2JqYy1ldmVudC1hcGkuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzMiBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBpbml0KCkgeworICAgaWYgKGV2
ZW50U2VuZGVyKSB7CisgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygxLDEpOworICAgICAg
ZXZlbnRTZW5kZXIuZW5hYmxlRE9NVUlFdmVudExvZ2dpbmcoZG9jdW1lbnQpOworICAgICAgCisg
ICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygxMDAsMTAwKTsKKyAgICAgIGV2ZW50U2VuZGVy
Lm1vdXNlRG93bigpOworICAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOworICAgICAgZXZlbnRT
ZW5kZXIua2V5RG93bigiYSIsICIiKTsKKyAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oImIiLCBb
ImN0cmxLZXkiXSk7CisgICAgICBldmVudFNlbmRlci5rZXlEb3duKCJkIiwgWyJzaGlmdEtleSJd
KTsKKyAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oImUiLCBbImFsdEtleSIsICJtZXRhS2V5Il0p
OworICAgICAgCisgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyg0MDAsMTUwKTsKKyAgICAg
IGV2ZW50U2VuZGVyLm1vdXNlQ2xpY2soKTsKKyAgICAgIAorICAgICAgZXZlbnRTZW5kZXIubW91
c2VEb3duKCk7CisgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygxLDEpOworICAgICAgZXZl
bnRTZW5kZXIubW91c2VVcCgpOworICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBv
bmxvYWQ9ImluaXQoKSI+CisgICA8ZGl2IGlkPSJjbGlja3Rlc3QiIHN0eWxlPSJ3aWR0aDogMzAw
cHg7IGhlaWdodDogMjAwcHg7IGJhY2tncm91bmQtY29sb3I6ICM4YWQ7IHRleHQtYWxpZ246IGNl
bnRlcjsgcGFkZGluZzogNTBweDsiPlRlc3Q8L2Rpdj4KKyAgIAorICAgPHA+VGhpcyB0ZXN0cyB0
aGF0IERPTUV2ZW50cyBhcmUgY29ycmVjdGx5IGhhbmRlZCB0byB0aGUgT2JqQyBBUEkuIFNlZSBi
dWcgPGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9p
ZD05MTgxIj45MTgxPC9hPi48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBXZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oCShyZXZp
c2lvbiAxNDc2OCkKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0V2ZW50U2VuZGluZ0Nv
bnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsOSBAQAogIAogI2ltcG9ydCA8
Q29jb2EvQ29jb2EuaD4KIAotQGludGVyZmFjZSBFdmVudFNlbmRpbmdDb250cm9sbGVyIDogTlNP
YmplY3QgeworI2ltcG9ydCA8V2ViS2l0L1dlYktpdC5oPgorCitAaW50ZXJmYWNlIEV2ZW50U2Vu
ZGluZ0NvbnRyb2xsZXIgOiBOU09iamVjdCA8RE9NRXZlbnRMaXN0ZW5lcj4gewogICAgIEJPT0wg
ZG93bjsKICAgICBpbnQgY2xpY2tDb3VudDsKICAgICBOU1RpbWVJbnRlcnZhbCBsYXN0Q2xpY2s7
CkBAIC0zNiw2ICszOCwxMCBAQAogICAgIGRvdWJsZSB0aW1lT2Zmc2V0OwogfQogCistICh2b2lk
KWVuYWJsZURPTVVJRXZlbnRMb2dnaW5nOihXZWJTY3JpcHRPYmplY3QgKilub2RlOworCistICh2
b2lkKWhhbmRsZUV2ZW50OihET01FdmVudCAqKWV2ZW50OworCiBAZW5kCiAKIGV4dGVybiBOU1Bv
aW50IGxhc3RNb3VzZVBvc2l0aW9uOwpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
RXZlbnRTZW5kaW5nQ29udHJvbGxlci5tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIubQkocmV2aXNpb24gMTQ3NjgpCisrKyBX
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLm0JKHdvcmtp
bmcgY29weSkKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA2
IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDA2IEpvbmFzIFdpdHQgPGpvbmFzLndpdHRAZ21haWwuY29tPgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC0zNSw5ICszNiw2NSBAQAogI2ltcG9ydCA8V2ViS2l0L1dl
YktpdC5oPgogCiBOU1BvaW50IGxhc3RNb3VzZVBvc2l0aW9uOworTlNBcnJheSAqd2Via2l0RG9t
RXZlbnROYW1lczsKK05TQXJyYXkgKndlYmtpdERvbUV2ZW50UHJvcGVydGllczsKIAogQGltcGxl
bWVudGF0aW9uIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXIKIAorKyAodm9pZClpbml0aWFsaXplIHsK
KyAgICB3ZWJraXREb21FdmVudE5hbWVzID0gW1tOU0FycmF5IGFsbG9jXSBpbml0V2l0aE9iamVj
dHM6CisgICAgICAgIEAiYWJvcnQiLAorICAgICAgICBAImJlZm9yZWNvcHkiLAorICAgICAgICBA
ImJlZm9yZWN1dCIsCisgICAgICAgIEAiYmVmb3JlcGFzdGUiLAorICAgICAgICBAImJsdXIiLAor
ICAgICAgICBAImNoYW5nZSIsCisgICAgICAgIEAiY2xpY2siLAorICAgICAgICBAImNvbnRleHRt
ZW51IiwKKyAgICAgICAgQCJjb3B5IiwKKyAgICAgICAgQCJjdXQiLAorICAgICAgICBAImRibGNs
aWNrIiwKKyAgICAgICAgQCJkcmFnIiwKKyAgICAgICAgQCJkcmFnZW5kIiwKKyAgICAgICAgQCJk
cmFnZW50ZXIiLAorICAgICAgICBAImRyYWdsZWF2ZSIsCisgICAgICAgIEAiZHJhZ292ZXIiLAor
ICAgICAgICBAImRyYWdzdGFydCIsCisgICAgICAgIEAiZHJvcCIsCisgICAgICAgIEAiZXJyb3Ii
LAorICAgICAgICBAImZvY3VzIiwKKyAgICAgICAgQCJpbnB1dCIsCisgICAgICAgIEAia2V5ZG93
biIsCisgICAgICAgIEAia2V5cHJlc3MiLAorICAgICAgICBAImtleXVwIiwKKyAgICAgICAgQCJs
b2FkIiwKKyAgICAgICAgQCJtb3VzZWRvd24iLAorICAgICAgICBAIm1vdXNlbW92ZSIsCisgICAg
ICAgIEAibW91c2VvdXQiLAorICAgICAgICBAIm1vdXNlb3ZlciIsCisgICAgICAgIEAibW91c2V1
cCIsCisgICAgICAgIEAibW91c2V3aGVlbCIsCisgICAgICAgIEAiYmVmb3JldW5sb2FkIiwKKyAg
ICAgICAgQCJwYXN0ZSIsCisgICAgICAgIEAicmVhZHlzdGF0ZWNoYW5nZSIsCisgICAgICAgIEAi
cmVzZXQiLAorICAgICAgICBAInJlc2l6ZSIsIAorICAgICAgICBAInNjcm9sbCIsIAorICAgICAg
ICBAInNlYXJjaCIsCisgICAgICAgIEAic2VsZWN0IiwKKyAgICAgICAgQCJzZWxlY3RzdGFydCIs
CisgICAgICAgIEAic3VibWl0IiwgCisgICAgICAgIEAidGV4dElucHV0IiwgCisgICAgICAgIEAi
dW5sb2FkIiwKKyAgICAgICAgQCJ6b29tIiwKKyAgICAgICAgbmlsXTsJCisgICAgCisgICAgd2Vi
a2l0RG9tRXZlbnRQcm9wZXJ0aWVzID0gW1tOU0FycmF5IGFsbG9jXSBpbml0V2l0aE9iamVjdHM6
CisgICAgICAgIEAiY2xpZW50WCIsCisgICAgICAgIEAiY2xpZW50WSIsCisgICAgICAgIG5pbF07
Cit9CisKICsgKEJPT0wpaXNTZWxlY3RvckV4Y2x1ZGVkRnJvbVdlYlNjcmlwdDooU0VMKWFTZWxl
Y3RvcgogewogICAgIGlmIChhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKG1vdXNlRG93bikKQEAgLTQ1
LDcgKzEwMiw4IEBACiAgICAgICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKG1vdXNl
Q2xpY2spCiAgICAgICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKG1vdXNlTW92ZVRv
WDpZOikKICAgICAgICAgICAgIHx8IGFTZWxlY3RvciA9PSBAc2VsZWN0b3IobGVhcEZvcndhcmQ6
KQotICAgICAgICAgICAgfHwgYVNlbGVjdG9yID09IEBzZWxlY3RvcihrZXlEb3duOndpdGhNb2Rp
ZmllcnM6KSkKKyAgICAgICAgICAgIHx8IGFTZWxlY3RvciA9PSBAc2VsZWN0b3Ioa2V5RG93bjp3
aXRoTW9kaWZpZXJzOikKKyAgICAgICAgICAgIHx8IGFTZWxlY3RvciA9PSBAc2VsZWN0b3IoZW5h
YmxlRE9NVUlFdmVudExvZ2dpbmc6KSkKICAgICAgICAgcmV0dXJuIE5POwogICAgIHJldHVybiBZ
RVM7CiB9CkBAIC01OCw2ICsxMTYsOCBAQAogICAgICAgICByZXR1cm4gQCJsZWFwRm9yd2FyZCI7
CiAgICAgaWYgKGFTZWxlY3RvciA9PSBAc2VsZWN0b3Ioa2V5RG93bjp3aXRoTW9kaWZpZXJzOikp
CiAgICAgICAgIHJldHVybiBAImtleURvd24iOworICAgIGlmIChhU2VsZWN0b3IgPT0gQHNlbGVj
dG9yKGVuYWJsZURPTVVJRXZlbnRMb2dnaW5nOikpCisgICAgICAgIHJldHVybiBAImVuYWJsZURP
TVVJRXZlbnRMb2dnaW5nIjsKICAgICByZXR1cm4gbmlsOwogfQogCkBAIC0yMzcsNCArMjk3LDk4
IEBACiAgICAgfQogfQogCistICh2b2lkKWVuYWJsZURPTVVJRXZlbnRMb2dnaW5nOihXZWJTY3Jp
cHRPYmplY3QgKilub2RlCit7CisgICAgTlNFbnVtZXJhdG9yICpldmVudEVudW1lcmF0b3IgPSBb
d2Via2l0RG9tRXZlbnROYW1lcyBvYmplY3RFbnVtZXJhdG9yXTsKKyAgICBpZCBldmVudE5hbWU7
CisgICAgd2hpbGUgKChldmVudE5hbWUgPSBbZXZlbnRFbnVtZXJhdG9yIG5leHRPYmplY3RdKSkg
eworICAgICAgICBbKGlkPERPTUV2ZW50VGFyZ2V0Pilub2RlIGFkZEV2ZW50TGlzdGVuZXI6ZXZl
bnROYW1lIDpzZWxmIDpOT107CQkKKyAgICB9Cit9CisKKy0gKHZvaWQpaGFuZGxlRXZlbnQ6KERP
TUV2ZW50ICopZXZlbnQKK3sKKyAgICBET01Ob2RlICp0YXJnZXQgPSBbZXZlbnQgdGFyZ2V0XTsK
KworICAgIHByaW50ZigiZXZlbnQgdHlwZTogICAgICAlc1xuIiwgW1tldmVudCB0eXBlXSBVVEY4
U3RyaW5nXSk7CisgICAgcHJpbnRmKCIgIHRhcmdldDogICAgICAgIDwlcz5cbiIsIFtbW3Rhcmdl
dCBub2RlTmFtZV0gbG93ZXJjYXNlU3RyaW5nXSBVVEY4U3RyaW5nXSk7CisgICAgCisgICAgaWYg
KFtldmVudCBpc0tpbmRPZkNsYXNzOltET01FdmVudCBjbGFzc11dKSB7CisgICAgICAgIHByaW50
ZigiICBldmVudFBoYXNlOiAgICAlZFxuIiwgW2V2ZW50IGV2ZW50UGhhc2VdKTsKKyAgICAgICAg
cHJpbnRmKCIgIGJ1YmJsZXM6ICAgICAgICVkXG4iLCBbZXZlbnQgYnViYmxlc10gPyAxIDogMCk7
CisgICAgICAgIHByaW50ZigiICBjYW5jZWxhYmxlOiAgICAlZFxuIiwgW2V2ZW50IGNhbmNlbGFi
bGVdID8gMSA6IDApOworICAgIH0KKyAgICAKKyAgICBpZiAoW2V2ZW50IGlzS2luZE9mQ2xhc3M6
W0RPTVVJRXZlbnQgY2xhc3NdXSkgeworICAgICAgICBwcmludGYoIiAgZGV0YWlsOiAgICAgICAg
JWRcbiIsIFsoRE9NVUlFdmVudCopZXZlbnQgZGV0YWlsXSk7CisgICAgICAgIAorICAgICAgICBE
T01BYnN0cmFjdFZpZXcgKnZpZXcgPSBbKERPTVVJRXZlbnQqKWV2ZW50IHZpZXddOworICAgICAg
ICBpZiAodmlldykgeworICAgICAgICAgICAgcHJpbnRmKCIgIHZpZXc6ICAgICAgICAgIE9LIik7
ICAgICAgICAgICAgCisgICAgICAgICAgICBpZiAoW3ZpZXcgZG9jdW1lbnRdKQorICAgICAgICAg
ICAgICAgIHByaW50ZigiIChkb2N1bWVudDogT0spIik7CisgICAgICAgICAgICBwcmludGYoIlxu
Iik7CisgICAgICAgIH0KKyAgICB9CisgICAgCisgICAgaWYgKFtldmVudCBpc0tpbmRPZkNsYXNz
OltET01LZXlib2FyZEV2ZW50IGNsYXNzXV0pIHsKKyAgICAgICAgcHJpbnRmKCIgIGtleUlkZW50
aWZpZXI6ICVzXG4iLCBbWyhET01LZXlib2FyZEV2ZW50KilldmVudCBrZXlJZGVudGlmaWVyXSBV
VEY4U3RyaW5nXSk7CisgICAgICAgIHByaW50ZigiICBrZXlMb2NhdGlvbjogICAlZFxuIiwgWyhE
T01LZXlib2FyZEV2ZW50KilldmVudCBrZXlMb2NhdGlvbl0pOworICAgICAgICBwcmludGYoIiAg
bW9kaWZpZXIga2V5czogYzolZCBzOiVkIGE6JWQgbTolZFxuIiwgCisgICAgICAgICAgICAgICBb
KERPTUtleWJvYXJkRXZlbnQqKWV2ZW50IGN0cmxLZXldID8gMSA6IDAsIAorICAgICAgICAgICAg
ICAgWyhET01LZXlib2FyZEV2ZW50KilldmVudCBzaGlmdEtleV0gPyAxIDogMCwgCisgICAgICAg
ICAgICAgICBbKERPTUtleWJvYXJkRXZlbnQqKWV2ZW50IGFsdEtleV0gPyAxIDogMCwgCisgICAg
ICAgICAgICAgICBbKERPTUtleWJvYXJkRXZlbnQqKWV2ZW50IG1ldGFLZXldID8gMSA6IDApOwor
ICAgICAgICBwcmludGYoIiAga2V5Q29kZTogICAgICAgJWRcbiIsIFsoRE9NS2V5Ym9hcmRFdmVu
dCopZXZlbnQga2V5Q29kZV0pOworICAgICAgICBwcmludGYoIiAgY2hhckNvZGU6ICAgICAgJWRc
biIsIFsoRE9NS2V5Ym9hcmRFdmVudCopZXZlbnQgY2hhckNvZGVdKTsKKyAgICB9CisgICAgCisg
ICAgaWYgKFtldmVudCBpc0tpbmRPZkNsYXNzOltET01Nb3VzZUV2ZW50IGNsYXNzXV0pIHsKKyAg
ICAgICAgcHJpbnRmKCIgIGJ1dHRvbjogICAgICAgICVkXG4iLCBbKERPTU1vdXNlRXZlbnQqKWV2
ZW50IGJ1dHRvbl0pOworICAgICAgICBwcmludGYoIiAgc2NyZWVuWDogICAgICAgJWRcbiIsIFso
RE9NTW91c2VFdmVudCopZXZlbnQgc2NyZWVuWF0pOworICAgICAgICBwcmludGYoIiAgc2NyZWVu
WTogICAgICAgJWRcbiIsIFsoRE9NTW91c2VFdmVudCopZXZlbnQgc2NyZWVuWV0pOworICAgICAg
ICBwcmludGYoIiAgY2xpZW50WDogICAgICAgJWRcbiIsIFsoRE9NTW91c2VFdmVudCopZXZlbnQg
Y2xpZW50WF0pOworICAgICAgICBwcmludGYoIiAgY2xpZW50WTogICAgICAgJWRcbiIsIFsoRE9N
TW91c2VFdmVudCopZXZlbnQgY2xpZW50WV0pOworICAgICAgICBwcmludGYoIiAgbW9kaWZpZXIg
a2V5czogYzolZCBzOiVkIGE6JWQgbTolZFxuIiwgCisgICAgICAgICAgICAgICBbKERPTU1vdXNl
RXZlbnQqKWV2ZW50IGN0cmxLZXldID8gMSA6IDAsIAorICAgICAgICAgICAgICAgWyhET01Nb3Vz
ZUV2ZW50KilldmVudCBzaGlmdEtleV0gPyAxIDogMCwgCisgICAgICAgICAgICAgICBbKERPTU1v
dXNlRXZlbnQqKWV2ZW50IGFsdEtleV0gPyAxIDogMCwgCisgICAgICAgICAgICAgICBbKERPTU1v
dXNlRXZlbnQqKWV2ZW50IG1ldGFLZXldID8gMSA6IDApOworICAgICAgICBpZCByZWxhdGVkVGFy
Z2V0ID0gWyhET01Nb3VzZUV2ZW50KilldmVudCByZWxhdGVkVGFyZ2V0XTsKKyAgICAgICAgaWYg
KHJlbGF0ZWRUYXJnZXQpIHsKKyAgICAgICAgICAgIHByaW50ZigiICByZWxhdGVkVGFyZ2V0OiAl
cyIsIFtbW3JlbGF0ZWRUYXJnZXQgY2xhc3NdIGRlc2NyaXB0aW9uXSBVVEY4U3RyaW5nXSk7Cisg
ICAgICAgICAgICBpZiAoW3JlbGF0ZWRUYXJnZXQgaXNLaW5kT2ZDbGFzczpbRE9NTm9kZSBjbGFz
c11dKQorICAgICAgICAgICAgICAgIHByaW50ZigiIChub2RlTmFtZTogJXMpIiwgW1soRE9NTm9k
ZSopcmVsYXRlZFRhcmdldCBub2RlTmFtZV0gVVRGOFN0cmluZ10pOworICAgICAgICAgICAgcHJp
bnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIAorICAgIGlmIChbZXZlbnQgaXNLaW5k
T2ZDbGFzczpbRE9NTXV0YXRpb25FdmVudCBjbGFzc11dKSB7CisgICAgICAgIHByaW50ZigiICBw
cmV2VmFsdWU6ICAgICAlc1xuIiwgW1soRE9NTXV0YXRpb25FdmVudCopZXZlbnQgcHJldlZhbHVl
XSBVVEY4U3RyaW5nXSk7CisgICAgICAgIHByaW50ZigiICBuZXdWYWx1ZTogICAgICAlc1xuIiwg
W1soRE9NTXV0YXRpb25FdmVudCopZXZlbnQgbmV3VmFsdWVdIFVURjhTdHJpbmddKTsKKyAgICAg
ICAgcHJpbnRmKCIgIGF0dHJOYW1lOiAgICAgICVzXG4iLCBbWyhET01NdXRhdGlvbkV2ZW50Kill
dmVudCBhdHRyTmFtZV0gVVRGOFN0cmluZ10pOworICAgICAgICBwcmludGYoIiAgYXR0ckNoYW5n
ZTogICAgJWRcbiIsIFsoRE9NTXV0YXRpb25FdmVudCopZXZlbnQgYXR0ckNoYW5nZV0pOworICAg
ICAgICBET01Ob2RlICpyZWxhdGVkTm9kZSA9IFsoRE9NTXV0YXRpb25FdmVudCopZXZlbnQgcmVs
YXRlZE5vZGVdOworICAgICAgICBpZiAocmVsYXRlZE5vZGUpIHsKKyAgICAgICAgICAgIHByaW50
ZigiICByZWxhdGVkTm9kZTogICAlcyAobm9kZU5hbWU6ICVzKVxuIiwgCisgICAgICAgICAgICAg
ICAgICAgW1tbcmVsYXRlZE5vZGUgY2xhc3NdIGRlc2NyaXB0aW9uXSBVVEY4U3RyaW5nXSwKKyAg
ICAgICAgICAgICAgICAgICBbW3JlbGF0ZWROb2RlIG5vZGVOYW1lXSBVVEY4U3RyaW5nXSk7Cisg
ICAgICAgIH0KKyAgICB9CisgICAgCisgICAgaWYgKFtldmVudCBpc0tpbmRPZkNsYXNzOltET01X
aGVlbEV2ZW50IGNsYXNzXV0pIHsKKyAgICAgICAgcHJpbnRmKCIgIHNjcmVlblg6ICAgICAgICVk
XG4iLCBbKERPTVdoZWVsRXZlbnQqKWV2ZW50IHNjcmVlblhdKTsKKyAgICAgICAgcHJpbnRmKCIg
IHNjcmVlblk6ICAgICAgICVkXG4iLCBbKERPTVdoZWVsRXZlbnQqKWV2ZW50IHNjcmVlblldKTsK
KyAgICAgICAgcHJpbnRmKCIgIGNsaWVudFg6ICAgICAgICVkXG4iLCBbKERPTVdoZWVsRXZlbnQq
KWV2ZW50IGNsaWVudFhdKTsKKyAgICAgICAgcHJpbnRmKCIgIGNsaWVudFk6ICAgICAgICVkXG4i
LCBbKERPTVdoZWVsRXZlbnQqKWV2ZW50IGNsaWVudFldKTsKKyAgICAgICAgcHJpbnRmKCIgIG1v
ZGlmaWVyIGtleXM6IGM6JWQgczolZCBhOiVkIG06JWRcbiIsIAorICAgICAgICAgICAgICAgWyhE
T01XaGVlbEV2ZW50KilldmVudCBjdHJsS2V5XSA/IDEgOiAwLCAKKyAgICAgICAgICAgICAgIFso
RE9NV2hlZWxFdmVudCopZXZlbnQgc2hpZnRLZXldID8gMSA6IDAsIAorICAgICAgICAgICAgICAg
WyhET01XaGVlbEV2ZW50KilldmVudCBhbHRLZXldID8gMSA6IDAsIAorICAgICAgICAgICAgICAg
WyhET01XaGVlbEV2ZW50KilldmVudCBtZXRhS2V5XSA/IDEgOiAwKTsKKyAgICAgICAgcHJpbnRm
KCIgIGlzSG9yaXpvbnRhbDogICVkXG4iLCBbKERPTVdoZWVsRXZlbnQqKWV2ZW50IGlzSG9yaXpv
bnRhbF0gPyAxIDogMCk7CisgICAgICAgIHByaW50ZigiICB3aGVlbERlbHRhOiAgICAlZFxuIiwg
WyhET01XaGVlbEV2ZW50KilldmVudCB3aGVlbERlbHRhXSk7CisgICAgfQorfQorCiBAZW5kCklu
ZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNDgxOSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDA2LTA2LTEyICBKb25hcyBXaXR0IDxqb25hcy53
aXR0QGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAtIHRlc3QgdGhhdCBET01FdmVudHMgYXJlIGNvcnJlY3RseSBoYW5kZWQgdG8gdGhl
IE9iakMgQVBJCisgICAgICAgICAgaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3df
YnVnLmNnaT9pZD05MTgxCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9vYmpjLWV2ZW50LWFwaS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL29iamMtZXZlbnQtYXBp
Lmh0bWw6IEFkZGVkLgorCiAyMDA2LTA2LTEwICBNaXR6IFBldHRlbCAgPG9wZW5kYXJ3aW4ub3Jn
QG1pdHpwZXR0ZWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IGh5YXR0LgpJbmRleDogV2Vi
S2l0VG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0NoYW5nZUxvZwko
cmV2aXNpb24gMTQ4MTkpCisrKyBXZWJLaXRUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxNyBAQAorMjAwNi0wNi0xMiAgSm9uYXMgV2l0dCA8am9uYXMud2l0dEBnbWFp
bC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
LSBhZGQgZnVuY3Rpb24gdG8gZW5hYmxlIGxvZ2dpbmcgb2YgYWxsIGV2ZW50cyBvZiBvbmUgRE9N
IG5vZGUgdG8gc3Rkb3V0CisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9FdmVudFNlbmRpbmdD
b250cm9sbGVyLmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvRXZlbnRTZW5kaW5nQ29udHJv
bGxlci5tOgorICAgICAgICAoK1tFdmVudFNlbmRpbmdDb250cm9sbGVyIGluaXRpYWxpemVdKToK
KyAgICAgICAgKCtbRXZlbnRTZW5kaW5nQ29udHJvbGxlciBpc1NlbGVjdG9yRXhjbHVkZWRGcm9t
V2ViU2NyaXB0Ol0pOgorICAgICAgICAoK1tFdmVudFNlbmRpbmdDb250cm9sbGVyIHdlYlNjcmlw
dE5hbWVGb3JTZWxlY3RvcjpdKToKKyAgICAgICAgKC1bRXZlbnRTZW5kaW5nQ29udHJvbGxlciBl
bmFibGVET01VSUV2ZW50TG9nZ2luZzpdKToKKyAgICAgICAgKC1bRXZlbnRTZW5kaW5nQ29udHJv
bGxlciBoYW5kbGVFdmVudDpdKToKKwogMjAwNi0wNi0xMSAgRGF2aWQgS2lsemVyICA8ZGRraWx6
ZXJAa2lsemVyLm5ldD4KIAogICAgICAgICBSZXZpZXdlZCBieSBkYXJpbi4K
</data>
<flag name="review"
          id="2582"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>