<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://pkp.sfu.ca/bugzilla/bugzilla.dtd">

<bugzilla version="4.2.5+"
          urlbase="http://pkp.sfu.ca/bugzilla/"
          
          maintainer="pkp-hosted@sfu.ca"
>

    <bug>
          <bug_id>3922</bug_id>
          
          <creation_ts>2008-12-08 22:22:00 -0800</creation_ts>
          <short_desc>Allow for opt-in/out status updates/notifications</short_desc>
          <delta_ts>2012-09-21 17:35:02 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>OJS</product>
          <component>Framework</component>
          <version>2.3</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Mac OS X 10.0</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="James MacGregor">jmacgreg</reporter>
          <assigned_to name="PKP Support">pkp-support</assigned_to>
          <cc>mattcrider</cc>
          
          

      

      

      

          <long_desc isprivate="0">
            <commentid>12858</commentid>
            <who name="James MacGregor">jmacgreg</who>
            <bug_when>2008-12-08 22:22:43 -0800</bug_when>
            <thetext>This would build on the already-existing Prepared Email function, as well as the User Profile&apos;s New Issue Published email notifications. 

There are currently a certain set of functions in OJS that, when executed, can trigger an automatic notification email, such as submission of an article or registration with the site; etc. To extend automatic notifications, I would suggest the following: 

1) extending the notification trigger to all functions that require possible follow-up action, such as the uploading of a revised Author version of an article (at any time); the adding of a comment to one&apos;s published article; etc. These would be similar to Facebook notifications in that they would cover any action of note. 

2) Similarly to Facebook notifications, they should also be optional on a per-user basis. This could be controlled from the User Profile page, similarly to the New Issue Published email notifications, only on a larger scale, and possibly deserving of their own sub-page. 

I can go into more detail, with more action cases, if this sounds worth pursuing. Wordpress and phpBB also provide interesting notification options, especially with respect to thread/post comments, worth examining.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>12905</commentid>
            <who name="Matthew Crider">mattcrider</who>
            <bug_when>2008-12-12 15:19:09 -0800</bug_when>
            <thetext>I&apos;ll add some notes here to keep all related notification ideas together:

-There should be a page that aggregates all notifications together in chronological order.  Clicking on a notification will take you that part of the system.

-This page would make a good candidate for a personalized RSS feed for each user (in lieu of or in addition to emails).  There may be some concerns about security however (I&apos;m no expert with creating dynamic RSS feeds, but I know its possible to password protect feeds).

-When in a part of a system that requires attention, allow for highlighting of the specific subsection of the page (using jQuery), e.g. by highlighting the subsection or collapsing other parts of the page (I&apos;d prefer the former, as collapsing the other parts of the page might be confusing).</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13059</commentid>
            <who name="Alec Smecher">alec</who>
            <bug_when>2009-01-06 09:34:25 -0800</bug_when>
            <thetext>*** Bug 1684 has been marked as a duplicate of this bug. ***</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13259</commentid>
            <who name="James MacGregor">jmacgreg</who>
            <bug_when>2009-01-14 11:27:38 -0800</bug_when>
            <thetext>One more note, courtesy of http://www.gavinbaker.com/2008/12/31/how-to-improve-ojs-a-readers-perspective/ and ensuing conversation with John. 

There should be an option for non-registered visitors to be able to give their email to receive notifications of new content. The idea would be to allow users to enter their email address only to be signed up to a mailing list. They would then receive email every time an Editor sends the Notify Users email (notification of new content); and possibly also whenever an announcement was posted. This should be an an optional item, and managed under Journal Setup Step 4.1. Some notes: 

- Visitors should be able to sign up for notification regardless of whether content is subscription protected; or regardless of whether registration is needed to view content;

- Should be a quick process, ie., an email field and that&apos;s it;

- Gavin&apos;s suggestion on using this as a soft-sell approach to encourage future registration/subscription should be implemented, ie. possibly have a blurb attached to the confirmation page or email, such as: &quot;Thanks for signing up for the mailing list! If you would like to register as a reader, author or reviewer, please complete the registration form available at {url}. If you would like to subscribe for access to restricted content, see {url}.&quot;

- Should be implemented as a block, if possible. Visitors should be able to choose quickly between signing up for a mailing list; registering as a user; or subscribing. John has suggested the following layout: 

For free notification of
new journal content, 
simply enter your email: 
[                    ] [Register] 
Want to also _review_? 
Or _submit_ an article?
_Subscribe_ to protected content (would not appear if subscription disabled)
_Privacy protection policy_ [SMALLER FONT]

-- Another variation on the above: having a simple block link (&quot;Register/Subscribe&quot;) that would lead to an interstitial page with the above options? Also, consider changing the behaviour of clicking the &quot;Register&quot; link on the top navigation bar to do this. </thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13260</commentid>
            <who name="James MacGregor">jmacgreg</who>
            <bug_when>2009-01-14 11:39:37 -0800</bug_when>
            <thetext>One more comment: Gavin&apos;s note regarding openID makes a further case for openID support: users not needing actual authorization, but who may want to register with the site anyway, should be able to sign up with their openID credentials (if the support was developed and enabled). Of course, it&apos;d be nice to be able to take that information and elevate them to a full user with appropriate authorizations, but that&apos;s contingent on how we refactor our authentication schemes. </thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13261</commentid>
            <who name="Matthew Crider">mattcrider</who>
            <bug_when>2009-01-14 12:06:34 -0800</bug_when>
            <thetext>Well, I&apos;m almost done with the notification system (at least a rough copy, i&apos;m hoping to get some input from others on it once its completed).  Currently, notifications only appear for registered users.  I could easily implement it so there is a public notification feed, so information such as new issues/announcements would show up in the public feed, which in turn can be subscribed to via RSS.

However, allowing people to subscribe to this via email would need some thought WRT how to best implement it, i.e. what if people don&apos;t want to be on the mailing list anymore?  I suppose one way would be to have the user input their email in a form and it will email them a link that when followed would delete the user from the mailing list.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13321</commentid>
              <attachid>1347</attachid>
            <who name="Matthew Crider">mattcrider</who>
            <bug_when>2009-01-20 18:26:27 -0800</bug_when>
            <thetext>Created attachment 1347
Patch against PKP-lib pre-2.3. CVS

Suggestions greatly appreciated!  The notification types (i.e. what actions to take to trigger a notification) are in the notification settings page, which is accessed via the descriptive paragraph in the notifications page (which is accessed from the navbar within a journal&apos;s context).</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13322</commentid>
              <attachid>1348</attachid>
            <who name="Matthew Crider">mattcrider</who>
            <bug_when>2009-01-20 18:27:01 -0800</bug_when>
            <thetext>Created attachment 1348
Patch against OJS pre-2.3 CVS</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13323</commentid>
              <attachid>1349</attachid>
            <who name="Matthew Crider">mattcrider</who>
            <bug_when>2009-01-20 18:28:40 -0800</bug_when>
            <thetext>Created attachment 1349
Images for PKP pre-2.3 CVS

These images and icons go in the PKP WAL.  Note that i&apos;ve abstracted all icons out of OJS (and will do the same for the other apps) and all icons are now in PNG format.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13329</commentid>
            <who name="Alec Smecher">alec</who>
            <bug_when>2009-01-21 08:59:54 -0800</bug_when>
            <thetext>Matt, the schema doesn&apos;t appear to be included here.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13330</commentid>
              <attachid>1350</attachid>
            <who name="Matthew Crider">mattcrider</who>
            <bug_when>2009-01-21 10:32:15 -0800</bug_when>
            <thetext>Created attachment 1350
Images for PKP-lib pre-2.3 CVS

Not sure why the schema wasn&apos;t included...</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13335</commentid>
            <who name="Michael Felczak">michael.pkp</who>
            <bug_when>2009-01-22 09:04:26 -0800</bug_when>
            <thetext>(In reply to comment #8)
&gt; Created an attachment (id=1349) [details]
&gt; Images for PKP pre-2.3 CVS
&gt; 
&gt; These images and icons go in the PKP WAL.  Note that i&apos;ve abstracted all icons
&gt; out of OJS (and will do the same for the other apps) and all icons are now in
&gt; PNG format.

Matt, PNG transparency is not handled well by IE6 for Windows, which still includes many users out there. See for example Bug #3360.

There are hacks around this, e.g. http://24ways.org/2007/supersleight-transparent-png-in-ie6

I guess it depends on how many hacks we want to add to deal with IE6 oddities. We have a few already, but this one is a little more complicated and has its own issues (i.e. &quot;Pitfalls&quot; in the above).</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13336</commentid>
            <who name="Alec Smecher">alec</who>
            <bug_when>2009-01-22 09:25:55 -0800</bug_when>
            <thetext>My fault -- I asked Matt to convert over to PNG, forgetting the alpha issue. Matt, rather than fiddling with a work-around, let&apos;s just stick with GIF until the IE6 marketshare falls to a point we can be happy with (which will be pretty low, given our developing-world emphasis).</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13337</commentid>
            <who name="James MacGregor">jmacgreg</who>
            <bug_when>2009-01-22 15:57:00 -0800</bug_when>
            <thetext>Matt, looks great! Some issues and suggestions: 

1) Clicking on the rss2 feed returns the following errors: 

Warning: Invalid argument supplied for foreach() in /Users/jmacgreg/cvs/pkp/classes/core/PKPRequest.inc.php on line 676

Warning: Cannot modify header information - headers already sent by (output started at /Users/jmacgreg/cvs/pkp/classes/core/PKPRequest.inc.php:676) in /Users/jmacgreg/cvs/pkp/classes/core/PKPRequest.inc.php on line 31

... actually, that only happened once, and is not replicating for any feed at all now. 

2) Some locale keys seem to be blocked or nonrendered. I&apos;ll attach a screenshot in a sec. Clearing data/template cache produces no effect. 

3) Would suggest editing &quot;Unchecking an item will prevent notifications of the event from showing up in your notification feed ...&quot; to include a mention of emails: &quot;... or from an email being sent to your email address.&quot;

4) For &quot;Also send me an email for these types of notifications&quot;, take out the &quot;Also&quot; -- it can be an either/or. 

5) I&apos;m not sold on the Notifications link being added to the top nav bar. It seems to be awfully prominent for something that a) will probably only be configured once; b) accessible quickly via emails/rss links. 

6) Add an option for notifications regarding new Announcements (probably filed in Other Events). 

7) Are these notification options viewable depending on the user&apos;s role? For example, if I&apos;m logged in as an author only, I still have the option to receive notifications if a reviewer form review comes in, or if a new article has been submitted ... I should be seeing these if I&apos;m a JM or editor, but to an author they may be confusing. Maybe they could be left viewable, but rendered unclickable and/or shaded if  the user doesn&apos;t have the appropriate role? 


8) I wonder if there&apos;s a better way to group these. I would suggest something like 

Submission 
- Author can register whether they want submission conf. notices
- Editor can register whether they want new submission notices
Review
- Editor can register for  Reviewer comments notification
Editing
- Editor, Author, copy/proof/layout dudes can register for comment notification
Site
- Article Comment Notification
- New Issue Notification
- Announcement Notification

And possibly even grouping them further under each section by role. I&apos;m guessing visibility could at this point probably be handled nicely by JQuery, or by shading out irrelevant options as in point 7. </thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13338</commentid>
              <attachid>1351</attachid>
            <who name="James MacGregor">jmacgreg</who>
            <bug_when>2009-01-22 15:58:13 -0800</bug_when>
            <thetext>Created attachment 1351
screenshot

Screenshot to complement point 2) in above comment.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13339</commentid>
            <who name="Matthew Crider">mattcrider</who>
            <bug_when>2009-01-22 16:17:05 -0800</bug_when>
            <thetext>Thanks James.  Some comments:

&gt; 3) Would suggest editing &quot;Unchecking an item will prevent notifications of the
&gt; event from showing up in your notification feed ...&quot; to include a mention of
&gt; emails: &quot;... or from an email being sent to your email address.&quot;
&gt; 
&gt; 4) For &quot;Also send me an email for these types of notifications&quot;, take out the
&gt; &quot;Also&quot; -- it can be an either/or. 

These two suggestions are a bit contradictory in regard to how its currently set up.  Currently, the two settings are not mutually exclusive--The user must have the first checkbox checked (allow the notification to show up in the feed) for them to also receive email notifications.  So, either implement suggestion 3 and keep the functionality as is, or implement suggestion 4 and allow feed notifications (i.e. through the notification page or RSS) and email notifications to be mutually exclusive.  Your call, boss.

 
&gt; 5) I&apos;m not sold on the Notifications link being added to the top nav bar. It
&gt; seems to be awfully prominent for something that a) will probably only be
&gt; configured once; b) accessible quickly via emails/rss links. 

Sure, I just threw it in there to have somewhere to access notifications (I didn&apos;t put too much thought into it).  I&apos;m not against it being there, but it might be a good candidate for a simple block plugin that shows a link to the feed page and the amount of read/unread notifications.  I&apos;m open to other ideas.

&gt; 7) Are these notification options viewable depending on the user&apos;s role? For
&gt; example, if I&apos;m logged in as an author only, I still have the option to receive
&gt; notifications if a reviewer form review comes in, or if a new article has been
&gt; submitted ... I should be seeing these if I&apos;m a JM or editor, but to an author
&gt; they may be confusing. Maybe they could be left viewable, but rendered
&gt; unclickable and/or shaded if  the user doesn&apos;t have the appropriate role? 

The settings do not discriminate based on role, but if you&apos;re an author you&apos;ll never receive messages about e.g. new article submissions.  I could grey out irrelevant settings just to keep users from getting confused--good idea.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13340</commentid>
            <who name="James MacGregor">jmacgreg</who>
            <bug_when>2009-01-22 19:09:18 -0800</bug_when>
            <thetext>Hi Matt, additional comments below: 

(In reply to comment #15)
&gt; Thanks James.  Some comments:
&gt; 
&gt; &gt; 3) Would suggest editing &quot;Unchecking an item will prevent notifications of the
&gt; &gt; event from showing up in your notification feed ...&quot; to include a mention of
&gt; &gt; emails: &quot;... or from an email being sent to your email address.&quot;
&gt; &gt; 
&gt; &gt; 4) For &quot;Also send me an email for these types of notifications&quot;, take out the
&gt; &gt; &quot;Also&quot; -- it can be an either/or. 
&gt; 
&gt; These two suggestions are a bit contradictory in regard to how its currently
&gt; set up.  Currently, the two settings are not mutually exclusive--The user must
&gt; have the first checkbox checked (allow the notification to show up in the feed)
&gt; for them to also receive email notifications.  So, either implement suggestion
&gt; 3 and keep the functionality as is, or implement suggestion 4 and allow feed
&gt; notifications (i.e. through the notification page or RSS) and email
&gt; notifications to be mutually exclusive.  Your call, boss.

OK, I would suggest having this be an either/or situtation -- some folks like RSS vs. email and vice versa, presumably. One possibility would be to have the delivery method selection separate from the notification selection -- that is, a user could choose to have no notifications delivered (possibly the default?); all notifications delivered by RSS; delivery by email; or delivery by both; and then could choose from a list of receivable notifications. 

&gt; 
&gt; 
&gt; &gt; 5) I&apos;m not sold on the Notifications link being added to the top nav bar. It
&gt; &gt; seems to be awfully prominent for something that a) will probably only be
&gt; &gt; configured once; b) accessible quickly via emails/rss links. 
&gt; 
&gt; Sure, I just threw it in there to have somewhere to access notifications (I
&gt; didn&apos;t put too much thought into it).  I&apos;m not against it being there, but it
&gt; might be a good candidate for a simple block plugin that shows a link to the
&gt; feed page and the amount of read/unread notifications.  I&apos;m open to other
&gt; ideas.

How about adding this as a list item in the User Profile block, having it appear between &quot;My Profile&quot; and &quot;Log Out&quot;; and also linked to from the User Home, between &quot;Edit My Profile&quot; and &quot;Change My Password&quot;? I think the feature is cool and relevant enough to get prominent placement in these areas; but I still don&apos;t think it belongs in the topmost navigation bar. 

Additionally (and similar to what you did for Bug 3797, and also to how editorial queues are listed in the sidebar when viewing Editor-specific pages), it&apos;d be great to have the number of unseen notifications listed next to the Notifications text, too. 
&gt; 
&gt; &gt; 7) Are these notification options viewable depending on the user&apos;s role? For
&gt; &gt; example, if I&apos;m logged in as an author only, I still have the option to receive
&gt; &gt; notifications if a reviewer form review comes in, or if a new article has been
&gt; &gt; submitted ... I should be seeing these if I&apos;m a JM or editor, but to an author
&gt; &gt; they may be confusing. Maybe they could be left viewable, but rendered
&gt; &gt; unclickable and/or shaded if  the user doesn&apos;t have the appropriate role? 
&gt; 
&gt; The settings do not discriminate based on role, but if you&apos;re an author you&apos;ll
&gt; never receive messages about e.g. new article submissions.  I could grey out
&gt; irrelevant settings just to keep users from getting confused--good idea.
&gt; 

Sounds good to me! 

Matt, I haven&apos;t yet tested the actual notification process itself -- I haven&apos;t sent myself notifications, seen what kind of information they contained, etc. I&apos;ll take a look tonight and tomorrow, and may come back with some suggestions, or other issues if I find them. One other thing we&apos;ll have to keep in mind too is to remove now-obsolete functionality -- the &quot;New Issue Published Email Notifications&quot; option at the bottom of the User Profile page, for example -- but this is looking great so far. 
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13345</commentid>
              <attachid>1354</attachid>
            <who name="Matthew Crider">mattcrider</who>
            <bug_when>2009-01-26 11:43:11 -0800</bug_when>
            <thetext>Created attachment 1354
Patch against OJS pre-2.3 CVS

Updated patches with bugfixes and feature additions.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13346</commentid>
              <attachid>1355</attachid>
            <who name="Matthew Crider">mattcrider</who>
            <bug_when>2009-01-26 11:43:52 -0800</bug_when>
            <thetext>Created attachment 1355
Patch against PKP pre-2.3 CVS</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13347</commentid>
              <attachid>1356</attachid>
            <who name="Matthew Crider">mattcrider</who>
            <bug_when>2009-01-26 11:45:02 -0800</bug_when>
            <thetext>Created attachment 1356
Images for PKP pre-2.3 CVS</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13348</commentid>
              <attachid>1357</attachid>
            <who name="Matthew Crider">mattcrider</who>
            <bug_when>2009-01-26 13:03:43 -0800</bug_when>
            <thetext>Created attachment 1357
Patch against PKP pre-2.3. CVS

Previous patch was botched when uploaded.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13377</commentid>
              <attachid>1368</attachid>
            <who name="Matthew Crider">mattcrider</who>
            <bug_when>2009-01-28 11:47:12 -0800</bug_when>
            <thetext>Created attachment 1368
Patch against OJS pre-2.3 CVS

Another round of patches, including suggestions from James (i.e. a notification block plugin) and pagination for the notification web feed.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13378</commentid>
              <attachid>1369</attachid>
            <who name="Matthew Crider">mattcrider</who>
            <bug_when>2009-01-28 11:48:24 -0800</bug_when>
            <thetext>Created attachment 1369
Patch against PKP pre-2.3 CVS</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13391</commentid>
              <attachid>1371</attachid>
            <who name="Matthew Crider">mattcrider</who>
            <bug_when>2009-01-28 16:16:01 -0800</bug_when>
            <thetext>Created attachment 1371
Patch against OJS pre-2.3 CVS

Some files were missing from the patch.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>14051</commentid>
            <who name="Matthew Crider">mattcrider</who>
            <bug_when>2009-03-18 15:01:38 -0700</bug_when>
            <thetext>Implemented.  Note that this requires a DB upgrade after patching--And its a healthy chunk of changes, so keep an eye out for bugs everyone!</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>14140</commentid>
            <who name="Matthew Crider">mattcrider</who>
            <bug_when>2009-03-25 10:04:29 -0700</bug_when>
            <thetext>I forgot to commit the new icons into the WAL--I&apos;ll have to wait until I get to my home computer next week, since I modified some of the icons and removed unnecessary ones.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>14141</commentid>
              <attachid>1620</attachid>
            <who name="Matthew Crider">mattcrider</who>
            <bug_when>2009-03-25 12:08:40 -0700</bug_when>
            <thetext>Created attachment 1620
Patch against OJS/OCS pre-2.3 CVS

The notification block plugin was being loaded on install, causing installation to fail with a DB connection error.  This has been fixed in CVS.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>14188</commentid>
            <who name="Matthew Crider">mattcrider</who>
            <bug_when>2009-04-02 08:55:59 -0700</bug_when>
            <thetext>Icons committed.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>31506</commentid>
            <who name="Matthew Crider">mattcrider</who>
            <bug_when>2012-09-21 17:35:02 -0700</bug_when>
            <thetext>Added upgrade code for old notificiation_status table; Removed NotificationStatusDAO
https://github.com/pkp/ojs/commit/683ff963f653a4312594f4c437e5424501d4ff32</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>31507</commentid>
            <who name="Matthew Crider">mattcrider</who>
            <bug_when>2012-09-21 17:35:02 -0700</bug_when>
            <thetext>Removed NotificationStatusDAO
https://github.com/pkp/ocs/commit/4b02daf293a30796d7352ee59303255cf62bac0a</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>31508</commentid>
            <who name="Matthew Crider">mattcrider</who>
            <bug_when>2012-09-21 17:35:02 -0700</bug_when>
            <thetext>Added upgrade code for old notificiation_status table; Removed NotificationStatusDAO
https://github.com/pkp/ojs/commit/4070a37f1a5128160a5e0ff1cc603727b6d2af1b</thetext>
          </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>1347</attachid>
            <date>2009-01-20 18:26:00 -0800</date>
            <delta_ts>2009-01-21 10:32:15 -0800</delta_ts>
            <desc>Patch against PKP-lib pre-2.3. CVS</desc>
            <filename>pkpNotifs.patch</filename>
            <type>text/plain</type>
            <size>75736</size>
            <attacher>mattcrider</attacher>
            
              <data encoding="base64">SW5kZXg6IGNsYXNzZXMvY29yZS9QS1BBcHBsaWNhdGlvbi5pbmMucGhwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT
IGZpbGU6IC9jdnMvcGtwL2NsYXNzZXMvY29yZS9QS1BBcHBsaWNhdGlvbi5pbmMucGhwLHYKcmV0
cmlldmluZyByZXZpc2lvbiAxLjkKZGlmZiAtdSAtcjEuOSBQS1BBcHBsaWNhdGlvbi5pbmMucGhw
Ci0tLSBjbGFzc2VzL2NvcmUvUEtQQXBwbGljYXRpb24uaW5jLnBocAkxNiBPY3QgMjAwOCAxNzo0
NzoyOSAtMDAwMAkxLjkKKysrIGNsYXNzZXMvY29yZS9QS1BBcHBsaWNhdGlvbi5pbmMucGhwCTIx
IEphbiAyMDA5IDAyOjA4OjUxIC0wMDAwCkBAIC0xODYsNiArMTg2LDggQEAKIAkJCSdDdXJyZW5j
eURBTycgPT4gJ2N1cnJlbmN5LkN1cnJlbmN5REFPJywKIAkJCSdIZWxwVG9jREFPJyA9PiAnaGVs
cC5IZWxwVG9jREFPJywKIAkJCSdIZWxwVG9waWNEQU8nID0+ICdoZWxwLkhlbHBUb3BpY0RBTycs
CisJCQknTm90aWZpY2F0aW9uREFPJyA9PiAnbm90aWZpY2F0aW9uLk5vdGlmaWNhdGlvbkRBTycs
CisJCQknTm90aWZpY2F0aW9uU2V0dGluZ3NEQU8nID0+ICdub3RpZmljYXRpb24uTm90aWZpY2F0
aW9uU2V0dGluZ3NEQU8nLAogCQkJJ1NjaGVkdWxlZFRhc2tEQU8nID0+ICdzY2hlZHVsZWRUYXNr
LlNjaGVkdWxlZFRhc2tEQU8nLAogCQkJJ1Nlc3Npb25EQU8nID0+ICdzZXNzaW9uLlNlc3Npb25E
QU8nLAogCQkJJ1NpdGVEQU8nID0+ICdzaXRlLlNpdGVEQU8nLApJbmRleDogY2xhc3Nlcy9ub3Rp
ZmljYXRpb24vTm90aWZpY2F0aW9uLmluYy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogY2xhc3Nl
cy9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9uLmluYy5waHAKZGlmZiAtTiBjbGFzc2VzL25vdGlm
aWNhdGlvbi9Ob3RpZmljYXRpb24uaW5jLnBocAotLS0gL2Rldi9udWxsCTEgSmFuIDE5NzAgMDA6
MDA6MDAgLTAwMDAKKysrIGNsYXNzZXMvbm90aWZpY2F0aW9uL05vdGlmaWNhdGlvbi5pbmMucGhw
CTIxIEphbiAyMDA5IDAyOjA4OjUyIC0wMDAwCkBAIC0wLDAgKzEsMzA2IEBACis8P3BocAorCisv
KioKKyAqIEBmaWxlIGNsYXNzZXMvbm90aWZpY2F0aW9uL05vdGlmaWNhdGlvbi5pbmMucGhwCisg
KgorICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMDggSm9obiBXaWxsaW5za3kKKyAqIERpc3RyaWJ1
dGVkIHVuZGVyIHRoZSBHTlUgR1BMIHYyLiBGb3IgZnVsbCB0ZXJtcyBzZWUgdGhlIGZpbGUgZG9j
cy9DT1BZSU5HLgorICoKKyAqIEBjbGFzcyBOb3RpZmljYXRpb24KKyAqIEBpbmdyb3VwIG5vdGlm
aWNhdGlvbgorICogQHNlZSBOb3RpZmljYXRpb25EQU8KKyAqIEBicmllZiBDbGFzcyBmb3IgTm90
aWZpY2F0aW9uLgorICovCisKKy8vICRJZDogTm90aWZpY2F0aW9uLmluYy5waHAsdiAxLjEwIDIw
MDgvMDcvMDEgMDE6MTY6MDkgYXNtZWNoZXIgRXhwICQKKworCisvKiogTm90aWZpY2F0aW9uIGFz
c29jaWF0aXZlIHR5cGVzLiAqLworLy8gU3VibWlzc2lvbiBFdmVudHMJCQkJMHgxMDAwMDAwMAor
ZGVmaW5lKCdOT1RJRklDQVRJT05fVFlQRV9BUlRJQ0xFX1NVQk1JVFRFRCcsIAkJMHgxMDAwMDAx
KTsKK2RlZmluZSgnTk9USUZJQ0FUSU9OX1RZUEVfTUVUQURBVEFfTU9ESUZJRUQnLCAJCTB4MTAw
MDAwMik7CitkZWZpbmUoJ05PVElGSUNBVElPTl9UWVBFX1NVUFBfRklMRV9BRERFRCcsIAkJCTB4
MTAwMDAwMyk7CitkZWZpbmUoJ05PVElGSUNBVElPTl9UWVBFX1NVUFBfRklMRV9NT0RJRklFRCcs
IAkJMHgxMDAwMDA0KTsKK2RlZmluZSgnTk9USUZJQ0FUSU9OX1RZUEVfR0FMTEVZX0FEREVEJywg
CQkJCTB4MTAwMDAwNSk7CitkZWZpbmUoJ05PVElGSUNBVElPTl9UWVBFX0dBTExFWV9NT0RJRklF
RCcsIAkJCTB4MTAwMDAwNik7CitkZWZpbmUoJ05PVElGSUNBVElPTl9UWVBFX1NVQk1JU1NJT05f
Q09NTUVOVCcsIAkJMHgxMDAwMDA3KTsKK2RlZmluZSgnTk9USUZJQ0FUSU9OX1RZUEVfTEFZT1VU
X0NPTU1FTlQnLCAJCQkweDEwMDAwMDgpOworZGVmaW5lKCdOT1RJRklDQVRJT05fVFlQRV9DT1BZ
RURJVF9DT01NRU5UJywgCQkJMHgxMDAwMDA5KTsKK2RlZmluZSgnTk9USUZJQ0FUSU9OX1RZUEVf
UFJPT0ZSRUFEX0NPTU1FTlQnLCAJCTB4MTAwMDAxMCk7CitkZWZpbmUoJ05PVElGSUNBVElPTl9U
WVBFX1JFVklFV0VSX0NPTU1FTlQnLCAJCQkweDEwMDAwMTEpOworZGVmaW5lKCdOT1RJRklDQVRJ
T05fVFlQRV9SRVZJRVdFUl9GT1JNX0NPTU1FTlQnLCAJMHgxMDAwMDEyKTsKK2RlZmluZSgnTk9U
SUZJQ0FUSU9OX1RZUEVfRURJVE9SX0RFQ0lTSU9OX0NPTU1FTlQnLCAJMHgxMDAwMDEzKTsKKwor
Ly8gT3RoZXIgZXZlbnRzCitkZWZpbmUoJ05PVElGSUNBVElPTl9UWVBFX1VTRVJfQ09NTUVOVCcs
IAkJCQkweDIwMDAwMDIpOworZGVmaW5lKCdOT1RJRklDQVRJT05fVFlQRV9QVUJMSVNIRURfSVNT
VUUnLCAJCQkweDIwMDAwMDMpOworCitpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmljYXRpb25E
QU8nKTsKKworY2xhc3MgTm90aWZpY2F0aW9uIGV4dGVuZHMgRGF0YU9iamVjdCB7CisKKwkvKioK
KwkgKiBDb25zdHJ1Y3Rvci4KKwkgKi8KKwlmdW5jdGlvbiBOb3RpZmljYXRpb24oKSB7CisJCXBh
cmVudDo6RGF0YU9iamVjdCgpOworCX0KKwkKKwkvKioKKwkgKiBDcmVhdGUgYSBuZXcgbm90aWZp
Y2F0aW9uIHdpdGggdGhlIHNwZWNpZmllZCBhcmd1bWVudHMgYW5kIGluc2VydCBpbnRvIERCCisJ
ICogVGhpcyBpcyBhIHN0YXRpYyBtZXRob2QKKwkgKiBAcGFyYW0gJHVzZXJJZCBpbnQKKwkgKiBA
cGFyYW0gJGNvbnRlbnRzIHN0cmluZworCSAqIEBwYXJhbSAkcGFyYW0gc3RyaW5nCisJICogQHBh
cmFtICRsb2NhdGlvbiBzdHJpbmcKKwkgKiBAcGFyYW0gJGlzTG9jYWxpemVkIGJvb2wKKwkgKiBA
cGFyYW0gJGFzc29jVHlwZSBpbnQKKwkgKiBAcGFyYW0gJGFzc29jSWQgaW50CisJICogQHJldHVy
biBOb3RpZmljYXRpb24gb2JqZWN0CisJICovCisJZnVuY3Rpb24gY3JlYXRlTm90aWZpY2F0aW9u
KCR1c2VySWQsICRjb250ZW50cywgJHBhcmFtLCAkbG9jYXRpb24sICRpc0xvY2FsaXplZCwgJGFz
c29jVHlwZSwgJGFzc29jSWQpIHsKKwkJJG5vdGlmaWNhdGlvbiA9IG5ldyBOb3RpZmljYXRpb24o
KTsKKwkJJGNvbnRleHQgPSYgUmVxdWVzdDo6Z2V0Q29udGV4dCgpOworCQkkY29udGV4dElkID0g
JGNvbnRleHQtPmdldElkKCk7CisKKwkJJG5vdGlmaWNhdGlvbi0+c2V0VXNlcklkKCR1c2VySWQp
OworCQkkbm90aWZpY2F0aW9uLT5zZXRDb250ZW50cygkY29udGVudHMpOworCQkkbm90aWZpY2F0
aW9uLT5zZXRQYXJhbSgkcGFyYW0pOworCQkkbm90aWZpY2F0aW9uLT5zZXRMb2NhdGlvbigkbG9j
YXRpb24pOworCQkkbm90aWZpY2F0aW9uLT5zZXRJc0xvY2FsaXplZCgkaXNMb2NhbGl6ZWQpOwor
CQkkbm90aWZpY2F0aW9uLT5zZXRBc3NvY1R5cGUoJGFzc29jVHlwZSk7CisJCSRub3RpZmljYXRp
b24tPnNldENvbnRleHQoJGNvbnRleHRJZCk7CisJCQorCQkkbm90aWZpY2F0aW9uRGFvID0gJkRB
T1JlZ2lzdHJ5OjpnZXREQU8oJ05vdGlmaWNhdGlvbkRBTycpOworCQkkbm90aWZpY2F0aW9uRGFv
LT5pbnNlcnROb3RpZmljYXRpb24oJG5vdGlmaWNhdGlvbik7CisJCQorCQlyZXR1cm4gJG5vdGlm
aWNhdGlvbjsKKwl9CisKKwkvKioKKwkgKiBnZXQgbm90aWZpY2F0aW9uIGlkCisJICogQHJldHVy
biBpbnQKKwkgKi8KKwlmdW5jdGlvbiBnZXROb3RpZmljYXRpb25JZCgpIHsKKwkJcmV0dXJuICR0
aGlzLT5nZXREYXRhKCdub3RpZmljYXRpb25JZCcpOworCX0KKworCS8qKgorCSAqIHNldCBub3Rp
ZmljYXRpb24gaWQKKwkgKiBAcGFyYW0gJGNvbW1lbnRJZCBpbnQKKwkgKi8KKwlmdW5jdGlvbiBz
ZXROb3RpZmljYXRpb25JZCgkbm90aWZpY2F0aW9uSWQpIHsKKwkJcmV0dXJuICR0aGlzLT5zZXRE
YXRhKCdub3RpZmljYXRpb25JZCcsICRub3RpZmljYXRpb25JZCk7CisJfQorCQorCS8qKgorCSAq
IGdldCB1c2VyIGlkIGFzc29jaWF0ZWQgd2l0aCB0aGlzIG5vdGlmaWNhdGlvbgorCSAqIEByZXR1
cm4gaW50CisJICovCisJZnVuY3Rpb24gZ2V0VXNlcklkKCkgeworCQlyZXR1cm4gJHRoaXMtPmdl
dERhdGEoJ3VzZXJJZCcpOworCX0KKwkKKwkvKioKKwkgKiBzZXQgdXNlciBpZCBhc3NvY2lhdGVk
IHdpdGggdGhpcyBub3RpZmljYXRpb24KKwkgKiBAcGFyYW0gJHVzZXJJZCBpbnQKKwkgKi8KKwlm
dW5jdGlvbiBzZXRVc2VySWQoJHVzZXJJZCkgeworCQlyZXR1cm4gJHRoaXMtPnNldERhdGEoJ3Vz
ZXJJZCcsICR1c2VySWQpOworCX0KKwkKKwkvKioKKwkgKiBnZXQgZGF0ZSBub3RpZmljYXRpb24g
d2FzIGNyZWF0ZWQKKwkgKiBAcmV0dXJuIGRhdGUgKFlZWVktTU0tREQgSEg6TU06U1MpCisJICov
CisJZnVuY3Rpb24gZ2V0RGF0ZUNyZWF0ZWQoKSB7CisJCXJldHVybiAkdGhpcy0+Z2V0RGF0YSgn
ZGF0ZUNyZWF0ZWQnKTsKKwl9CisJCisJLyoqCisJICogc2V0IGRhdGUgbm90aWZpY2F0aW9uIHdh
cyBjcmVhdGVkCisJICogQHBhcmFtICRkYXRlQ3JlYXRlZCBkYXRlIChZWVlZLU1NLUREIEhIOk1N
OlNTKQorCSAqLworCWZ1bmN0aW9uIHNldERhdGVDcmVhdGVkKCRkYXRlQ3JlYXRlZCkgeworCQly
ZXR1cm4gJHRoaXMtPnNldERhdGEoJ2RhdGVDcmVhdGVkJywgJGRhdGVDcmVhdGVkKTsKKwl9CisJ
CisJLyoqCisJICogZ2V0IGRhdGUgbm90aWZpY2F0aW9uIGlzIHJlYWQgYnkgdXNlcgorCSAqIEBy
ZXR1cm4gZGF0ZSAoWVlZWS1NTS1ERCBISDpNTTpTUykKKwkgKi8KKwlmdW5jdGlvbiBnZXREYXRl
UmVhZCgpIHsKKwkJcmV0dXJuICR0aGlzLT5nZXREYXRhKCdkYXRlUmVhZCcpOworCX0KKwkKKwkv
KioKKwkgKiBzZXQgZGF0ZSBub3RpZmljYXRpb24gaXMgcmVhZCBieSB1c2VyCisJICogQWxzbyBz
ZXRzIHNldGlzVW5yZWFkKCkgaWYgJGRhdGVSZWFkIGlzIG51bGwKKwkgKiBAcGFyYW0gJGRhdGVS
ZWFkIGRhdGUgKFlZWVktTU0tREQgSEg6TU06U1MpCisJICovCisJZnVuY3Rpb24gc2V0RGF0ZVJl
YWQoJGRhdGVSZWFkKSB7CisJCWlmKCFpc3NldCgkZGF0ZVJlYWQpKSB7CisJCQkkdGhpcy0+c2V0
SXNVbnJlYWQodHJ1ZSk7CisJCQkkbm90aWZpY2F0aW9uRGFvID0gJkRBT1JlZ2lzdHJ5OjpnZXRE
QU8oJ05vdGlmaWNhdGlvbkRBTycpOworCQkJJG5vdGlmaWNhdGlvbkRhby0+c2V0RGF0ZVJlYWQo
JHRoaXMtPmdldE5vdGlmaWNhdGlvbklkKCkpOworCQl9IGVsc2UgeworCQkJJHRoaXMtPnNldElz
VW5yZWFkKGZhbHNlKTsKKwkJCXJldHVybiAkdGhpcy0+c2V0RGF0YSgnZGF0ZVJlYWQnLCAkZGF0
ZVJlYWQpOwkKKwkJfQorCX0KKwkKKwkvKioKKwkgKiByZXR1cm4gdHJ1ZSBpZiByZWFkaW5nIGZv
ciB0aGUgZmlyc3QgdGltZQorCSAqIEByZXR1cm4gYm9vbAorCSAqLworCWZ1bmN0aW9uIGdldElz
VW5yZWFkKCkgeworCQlyZXR1cm4gJHRoaXMtPmdldERhdGEoJ2lzVW5yZWFkJyk7CisJfQorCQor
CS8qKgorCSAqIHNldCB0byB0cnVlIGlmIG5vdGlmaWNhdGlvbiBoYXMgbm90IGJlZW4gcmVhZAor
CSAqIEBwYXJhbSAkaXNVbnJlYWQgYm9vbAorCSAqLworCWZ1bmN0aW9uIHNldElzVW5yZWFkKCRp
c1VucmVhZCkgeworCQlyZXR1cm4gJHRoaXMtPnNldERhdGEoJ2lzVW5yZWFkJywgJGlzVW5yZWFk
KTsKKwl9CisJCisJLyoqCisJICogZ2V0IG5vdGlmaWNhdGlvbiBjb250ZW50cworCSAqIEByZXR1
cm4gc3RyaW5nCisJICovCisJZnVuY3Rpb24gZ2V0Q29udGVudHMoKSB7CisJCXJldHVybiAkdGhp
cy0+Z2V0RGF0YSgnY29udGVudHMnKTsKKwl9CisJCisJLyoqCisJICogc2V0IG5vdGlmaWNhdGlv
biBjb250ZW50cworCSAqIEBwYXJhbSAkY29udGVudHMgaW50CisJICovCisJZnVuY3Rpb24gc2V0
Q29udGVudHMoJGNvbnRlbnRzKSB7CisJCXJldHVybiAkdGhpcy0+c2V0RGF0YSgnY29udGVudHMn
LCAkY29udGVudHMpOworCX0KKwkKKwkvKioKKwkgKiBnZXQgb3B0aW9uYWwgcGFyYW1ldGVyIChl
LmcuIGFydGljbGUgdGl0bGUpCisJICogQHJldHVybiBzdHJpbmcKKwkgKi8KKwlmdW5jdGlvbiBn
ZXRQYXJhbSgpIHsKKwkJcmV0dXJuICR0aGlzLT5nZXREYXRhKCdwYXJhbScpOworCX0KKwkKKwkv
KioKKwkgKiBzZXQgb3B0aW9uYWwgcGFyYW1ldGVyCisJICogQHBhcmFtICRwYXJhbSBpbnQKKwkg
Ki8KKwlmdW5jdGlvbiBzZXRQYXJhbSgkcGFyYW0pIHsKKwkJcmV0dXJuICR0aGlzLT5zZXREYXRh
KCdwYXJhbScsICRwYXJhbSk7CisJfQorCQorCS8qKgorCSAqIGdldCBVUkwgdGhhdCBub3RpZmlj
YXRpb24gcmVmZXJzIHRvCisJICogQHJldHVybiBpbnQKKwkgKi8KKwlmdW5jdGlvbiBnZXRMb2Nh
dGlvbigpIHsKKwkJcmV0dXJuICR0aGlzLT5nZXREYXRhKCdsb2NhdGlvbicpOworCX0KKwkKKwkv
KioKKwkgKiBzZXQgVVJMIHRoYXQgbm90aWZpY2F0aW9uIHJlZmVycyB0bworCSAqIEBwYXJhbSAk
bG9jYXRpb24gaW50CisJICovCisJZnVuY3Rpb24gc2V0TG9jYXRpb24oJGxvY2F0aW9uKSB7CisJ
CXJldHVybiAkdGhpcy0+c2V0RGF0YSgnbG9jYXRpb24nLCAkbG9jYXRpb24pOworCX0KKwkKKwkv
KioKKwkgKiByZXR1cm4gdHJ1ZSBpZiBtZXNzYWdlIGlzIGxvY2FsaXplZCAoaS5lLiBhIHN5c3Rl
bSBtZXNzYWdlKQorCSAqIEByZXR1cm4gaW50CisJICovCisJZnVuY3Rpb24gZ2V0SXNMb2NhbGl6
ZWQoKSB7CisJCXJldHVybiAkdGhpcy0+Z2V0RGF0YSgnaXNMb2NhbGl6ZWQnKTsKKwl9CisJCisJ
LyoqCisJICogc2V0IHRvIHRydWUgaWYgbWVzc2FnZSBpcyBsb2NhbGl6ZWQgKGkuZS4gaXMgYSBz
eXN0ZW0gbWVzc2FnZSkKKwkgKiBAcGFyYW0gJGlzTG9jYWxpemVkIGludAorCSAqLworCWZ1bmN0
aW9uIHNldElzTG9jYWxpemVkKCRpc0xvY2FsaXplZCkgeworCQlyZXR1cm4gJHRoaXMtPnNldERh
dGEoJ2lzTG9jYWxpemVkJywgJGlzTG9jYWxpemVkKTsKKwl9CisKKwkvKioKKwkgKiBnZXQgbm90
aWZpY2F0aW9uIHR5cGUKKwkgKiBAcmV0dXJuIGludAorCSAqLworCWZ1bmN0aW9uIGdldEFzc29j
VHlwZSgpIHsKKwkJcmV0dXJuICR0aGlzLT5nZXREYXRhKCdhc3NvY1R5cGUnKTsKKwl9CisKKwkv
KioKKwkgKiBzZXQgbm90aWZpY2F0aW9uIHR5cGUKKwkgKiBAcGFyYW0gJGFzc29jVHlwZSBpbnQK
KwkgKi8KKwlmdW5jdGlvbiBzZXRBc3NvY1R5cGUoJGFzc29jVHlwZSkgeworCQlyZXR1cm4gJHRo
aXMtPnNldERhdGEoJ2Fzc29jVHlwZScsICRhc3NvY1R5cGUpOworCX0KKwkKKwkvKioKKwkgKiBn
ZXQgY29udGV4dCBpZAorCSAqIEByZXR1cm4gaW50CisJICovCisJZnVuY3Rpb24gZ2V0Q29udGV4
dCgpIHsKKwkJcmV0dXJuICR0aGlzLT5nZXREYXRhKCdjb250ZXh0Jyk7CisJfQorCS8qKgorCSAq
IHNldCBjb250ZXh0IGlkCisJICogQHBhcmFtICRjb250ZXh0IGludAorCSAqLworCWZ1bmN0aW9u
IHNldENvbnRleHQoJGNvbnRleHQpIHsKKwkJcmV0dXJuICR0aGlzLT5zZXREYXRhKCdjb250ZXh0
JywgJGNvbnRleHQpOworCX0JCisJCisJLyoqCisJICogcmV0dXJuIHRoZSBwYXRoIHRvIHRoZSBp
Y29uIGZvciB0aGlzIHR5cGUKKwkgKiBAcmV0dXJuIHN0cmluZworCSAqLworCWZ1bmN0aW9uIGdl
dEljb25Mb2NhdGlvbigpIHsKKwkJJGJhc2VVcmwgPSBSZXF1ZXN0OjpnZXRCYXNlVXJsKCkgLiAn
L2xpYi9wa3AvdGVtcGxhdGVzL2ltYWdlcy9pY29ucy8nOworCQlzd2l0Y2ggKCR0aGlzLT5nZXRB
c3NvY1R5cGUoKSkgeworCQkJY2FzZSBOT1RJRklDQVRJT05fVFlQRV9BUlRJQ0xFX1NVQk1JVFRF
RDoKKwkJCWNhc2UgTk9USUZJQ0FUSU9OX1RZUEVfR0FMTEVZX0FEREVEOgorCQkJY2FzZSBOT1RJ
RklDQVRJT05fVFlQRV9TVVBQX0ZJTEVfQURERUQ6CisJCQkJcmV0dXJuICRiYXNlVXJsIC4gJ3Bh
Z2VfbmV3LnBuZyc7CisJCQkJYnJlYWs7CisJCQljYXNlIE5PVElGSUNBVElPTl9UWVBFX1NVUFBf
RklMRV9NT0RJRklFRDoKKwkJCWNhc2UgTk9USUZJQ0FUSU9OX1RZUEVfU1VQUF9GSUxFX0FEREVE
OgorCQkJCXJldHVybiAkYmFzZVVybCAuICdwYWdlX2F0dGFjaG1lbnQucG5nJzsKKwkJCQlicmVh
azsKKwkJCQorCQkJY2FzZSBOT1RJRklDQVRJT05fVFlQRV9NRVRBREFUQV9NT0RJRklFRDoKKwkJ
CWNhc2UgTk9USUZJQ0FUSU9OX1RZUEVfR0FMTEVZX01PRElGSUVEOgorCQkJCXJldHVybiAkYmFz
ZVVybCAuICdlZGl0LnBuZyc7CisJCQkJYnJlYWs7CisJCQljYXNlIE5PVElGSUNBVElPTl9UWVBF
X1NVQk1JU1NJT05fQ09NTUVOVDoKKwkJCWNhc2UgTk9USUZJQ0FUSU9OX1RZUEVfTEFZT1VUX0NP
TU1FTlQ6CisJCQljYXNlIE5PVElGSUNBVElPTl9UWVBFX0NPUFlFRElUX0NPTU1FTlQ6CisJCQlj
YXNlIE5PVElGSUNBVElPTl9UWVBFX1BST09GUkVBRF9DT01NRU5UOgorCQkJY2FzZSBOT1RJRklD
QVRJT05fVFlQRV9SRVZJRVdFUl9DT01NRU5UOgorCQkJY2FzZSBOT1RJRklDQVRJT05fVFlQRV9S
RVZJRVdFUl9GT1JNX0NPTU1FTlQ6CisJCQljYXNlIE5PVElGSUNBVElPTl9UWVBFX0VESVRPUl9E
RUNJU0lPTl9DT01NRU5UOgorCQkJY2FzZSBOT1RJRklDQVRJT05fVFlQRV9VU0VSX0NPTU1FTlQ6
CisJCQkJcmV0dXJuICRiYXNlVXJsIC4gJ2NvbW1lbnRfbmV3LnBuZyc7CisJCQkJYnJlYWs7CisJ
CQljYXNlIE5PVElGSUNBVElPTl9UWVBFX1BVQkxJU0hFRF9JU1NVRToKKwkJCQlyZXR1cm4gJGJh
c2VVcmwgLiAnbGlzdF93b3JsZC5wbmcnOworCQkJCWJyZWFrOworCQkJZGVmYXVsdDoKKwkJCQly
ZXR1cm4gJGJhc2VVcmwgLiAncGFnZV9hbGVydC5wbmcnOworCQl9CisJCQorCQkKKwl9CisKKyB9
CisKKz8+CkluZGV4OiBjbGFzc2VzL25vdGlmaWNhdGlvbi9Ob3RpZmljYXRpb25EQU8uaW5jLnBo
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09ClJDUyBmaWxlOiBjbGFzc2VzL25vdGlmaWNhdGlvbi9Ob3RpZmljYXRpb25E
QU8uaW5jLnBocApkaWZmIC1OIGNsYXNzZXMvbm90aWZpY2F0aW9uL05vdGlmaWNhdGlvbkRBTy5p
bmMucGhwCi0tLSAvZGV2L251bGwJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMAorKysgY2xhc3Nl
cy9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9uREFPLmluYy5waHAJMjEgSmFuIDIwMDkgMDI6MDg6
NTIgLTAwMDAKQEAgLTAsMCArMSwzMjQgQEAKKzw/cGhwCisKKy8qKgorICogQGZpbGUgY2xhc3Nl
cy9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9uREFPLmluYy5waHAKKyAqCisgKiBDb3B5cmlnaHQg
KGMpIDIwMDMtMjAwOCBKb2huIFdpbGxpbnNreQorICogRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEdO
VSBHUEwgdjIuIEZvciBmdWxsIHRlcm1zIHNlZSB0aGUgZmlsZSBkb2NzL0NPUFlJTkcuCisgKgor
ICogQGNsYXNzIE5vdGlmaWNhdGlvbkRBTworICogQGluZ3JvdXAgbm90aWZpY2F0aW9uCisgKiBA
c2VlIE5vdGlmaWNhdGlvbgorICoKKyAqIEBicmllZiBPcGVyYXRpb25zIGZvciByZXRyaWV2aW5n
IGFuZCBtb2RpZnlpbmcgTm90aWZpY2F0aW9uIG9iamVjdHMuCisgKi8KKworLy8gJElkOiBOb3Rp
ZmljYXRpb25EQU8uaW5jLnBocCx2IDEuMTkgMjAwOC8xMS8wNSAwMDo0NjozOSBtY3JpZGVyIEV4
cCAkCisKK2ltcG9ydCgnbm90aWZpY2F0aW9uLk5vdGlmaWNhdGlvbicpOworCitjbGFzcyBOb3Rp
ZmljYXRpb25EQU8gZXh0ZW5kcyBEQU8geworCS8qKgorCSAqIENvbnN0cnVjdG9yLgorCSAqLwor
CWZ1bmN0aW9uIE5vdGlmaWNhdGlvbkRBTygpIHsKKwkJcGFyZW50OjpEQU8oKTsKKwl9CisJCisJ
LyoqCisJICogUmV0cmlldmUgTm90aWZpY2F0aW9uIGJ5IG5vdGlmaWNhdGlvbiBpZAorCSAqIEBw
YXJhbSAkbm90aWZpY2F0aW9uSWQgaW50CisJICogQHJldHVybiBOb3RpZmljYXRpb24gb2JqZWN0
CisJICovCisJZnVuY3Rpb24gJmdldE5vdGlmaWNhdGlvbkJ5SWQoJG5vdGlmaWNhdGlvbklkKSB7
CisJCSRyZXN1bHQgPSAmJHRoaXMtPnJldHJpZXZlKAorCQkJJ1NFTEVDVCAqIEZST00gbm90aWZp
Y2F0aW9ucyBXSEVSRSBub3RpZmljYXRpb25faWQgPSA/JywgJG5vdGlmaWNhdGlvbklkCisJCSk7
CisJCisJCSRub3RpZmljYXRpb24gPSAmJHRoaXMtPl9yZXR1cm5Ob3RpZmljYXRpb25Gcm9tUm93
KCRyZXN1bHQtPkdldFJvd0Fzc29jKGZhbHNlKSk7CisJCisJCSRyZXN1bHQtPkNsb3NlKCk7CisJ
CXVuc2V0KCRyZXN1bHQpOworCQorCQlyZXR1cm4gJG5vdGlmaWNhdGlvbjsKKwl9CQorCQorCS8q
KgorCSAqIFJldHJpZXZlIE5vdGlmaWNhdGlvbnMgYnkgdXNlciBpZAorCSAqIEBwYXJhbSAkdXNl
cklkIGludAorCSAqIEByZXR1cm4gTm90aWZpY2F0aW9uIG9iamVjdHMgYXJyYXkKKwkgKi8KKwlm
dW5jdGlvbiAmZ2V0Tm90aWZpY2F0aW9uc0J5VXNlcklkKCR1c2VySWQpIHsKKwkJJGFwcGxpY2F0
aW9uID0mIFBLUEFwcGxpY2F0aW9uOjpnZXRBcHBsaWNhdGlvbigpOworCQkkcHJvZHVjdE5hbWUg
PSAkYXBwbGljYXRpb24tPmdldE5hbWUoKTsKKwkJJGNvbnRleHQgPSYgUmVxdWVzdDo6Z2V0Q29u
dGV4dCgpOworCQkkY29udGV4dElkID0gJGNvbnRleHQtPmdldElkKCk7CisJCQorCQkkbm90aWZp
Y2F0aW9ucyA9IGFycmF5KCk7CisJCisJCSRyZXN1bHQgPSAmJHRoaXMtPnJldHJpZXZlKAorCQkJ
J1NFTEVDVCAqIEZST00gbm90aWZpY2F0aW9ucyBXSEVSRSB1c2VyX2lkID0gPyBBTkQgcHJvZHVj
dCA9ID8gQU5EIGNvbnRleHQgPSA/IE9SREVSIEJZIGRhdGVfY3JlYXRlZCBERVNDJywJCisJCQlh
cnJheSgkdXNlcklkLCAkcHJvZHVjdE5hbWUsICRjb250ZXh0SWQpCisJCSk7CisJCisJCSRyZXR1
cm5lciA9IG5ldyBEQU9SZXN1bHRGYWN0b3J5KCRyZXN1bHQsICR0aGlzLCAnX3JldHVybk5vdGlm
aWNhdGlvbkZyb21Sb3cnKTsKKwkJCisJCXJldHVybiAkcmV0dXJuZXI7CisJfQorCQorCS8qKgor
CSAqIFJldHJpZXZlIE5vdGlmaWNhdGlvbnMgYnkgbm90aWZpY2F0aW9uIGlkCisJICogQHBhcmFt
ICRub3RpZmljYXRpb25JZCBpbnQKKwkgKiBAcmV0dXJuIGJvb2xlYW4KKwkgKi8KKwlmdW5jdGlv
biBzZXREYXRlUmVhZCgkbm90aWZpY2F0aW9uSWQpIHsKKwkJJHJldHVybmVyID0gJHRoaXMtPnVw
ZGF0ZSgKKwkJCXNwcmludGYoJ1VQREFURSBub3RpZmljYXRpb25zCisJCQkJU0VUIGRhdGVfcmVh
ZCA9ICVzCisJCQkJV0hFUkUgbm90aWZpY2F0aW9uX2lkID0gPycsCisJCQkJJHRoaXMtPmRhdGV0
aW1lVG9EQihkYXRlKCdZLW0tZCBIOmk6cycpKSksCisJCQlhcnJheSgKKwkJCQkkbm90aWZpY2F0
aW9uSWQKKwkJCSkKKwkJKTsKKworCQlyZXR1cm4gJHJldHVybmVyOworCX0KKwkKKwkvKioKKwkg
KiBDcmVhdGVzIGFuZCByZXR1cm5zIGFuIG5vdGlmaWNhdGlvbiBvYmplY3QgZnJvbSBhIHJvdwor
CSAqIEBwYXJhbSAkcm93IGFycmF5CisJICogQHJldHVybiBOb3RpZmljYXRpb24gb2JqZWN0CisJ
ICovCisJZnVuY3Rpb24gJl9yZXR1cm5Ob3RpZmljYXRpb25Gcm9tUm93KCRyb3cpIHsKKwkJJG5v
dGlmaWNhdGlvbiA9IG5ldyBOb3RpZmljYXRpb24oKTsKKwkJJG5vdGlmaWNhdGlvbi0+c2V0Tm90
aWZpY2F0aW9uSWQoJHJvd1snbm90aWZpY2F0aW9uX2lkJ10pOworCQkkbm90aWZpY2F0aW9uLT5z
ZXRVc2VySWQoJHJvd1sndXNlcl9pZCddKTsKKwkJJG5vdGlmaWNhdGlvbi0+c2V0RGF0ZUNyZWF0
ZWQoJHJvd1snZGF0ZV9jcmVhdGVkJ10pOworCQkkbm90aWZpY2F0aW9uLT5zZXREYXRlUmVhZCgk
cm93WydkYXRlX3JlYWQnXSk7CisJCSRub3RpZmljYXRpb24tPnNldENvbnRlbnRzKCRyb3dbJ2Nv
bnRlbnRzJ10pOworCQkkbm90aWZpY2F0aW9uLT5zZXRQYXJhbSgkcm93WydwYXJhbSddKTsKKwkJ
JG5vdGlmaWNhdGlvbi0+c2V0TG9jYXRpb24oJHJvd1snbG9jYXRpb24nXSk7CisJCSRub3RpZmlj
YXRpb24tPnNldElzTG9jYWxpemVkKCRyb3dbJ2lzX2xvY2FsaXplZCddKTsKKwkJJG5vdGlmaWNh
dGlvbi0+c2V0Q29udGV4dCgkcm93Wydjb250ZXh0J10pOworCQkkbm90aWZpY2F0aW9uLT5zZXRB
c3NvY1R5cGUoJHJvd1snYXNzb2NfdHlwZSddKTsKKwkJCisJCUhvb2tSZWdpc3RyeTo6Y2FsbCgn
Tm90aWZpY2F0aW9uREFPOjpfcmV0dXJuTm90aWZpY2F0aW9uRnJvbVJvdycsIGFycmF5KCYkbm90
aWZpY2F0aW9uLCAmJHJvdykpOworCQorCQlyZXR1cm4gJG5vdGlmaWNhdGlvbjsKKwl9CisJCisJ
LyoqCisJICogSW5zZXJ0cyBhIG5ldyBub3RpZmljYXRpb24gaW50byBub3RpZmljYXRpb25zIHRh
YmxlCisJICogQHBhcmFtIE5vdGlmaWNhdGlvbiBvYmplY3QKKwkgKiBAcmV0dXJuIGludCBOb3Rp
ZmljYXRpb24gSWQgCisJICovCisJZnVuY3Rpb24gaW5zZXJ0Tm90aWZpY2F0aW9uKCYkbm90aWZp
Y2F0aW9uKSB7CisJCSRhcHBsaWNhdGlvbiA9JiBQS1BBcHBsaWNhdGlvbjo6Z2V0QXBwbGljYXRp
b24oKTsKKwkJJHByb2R1Y3ROYW1lID0gJGFwcGxpY2F0aW9uLT5nZXROYW1lKCk7CisJCQorCQlp
ZiAoJHRoaXMtPm5vdGlmaWNhdGlvbkFscmVhZHlFeGlzdHMoJG5vdGlmaWNhdGlvbikpIHsKKwkJ
CXJldHVybiAwOworCQl9CisJCQorCQkkbm90aWZpY2F0aW9uU2V0dGluZ3NEYW8gPSAmREFPUmVn
aXN0cnk6OmdldERBTygnTm90aWZpY2F0aW9uU2V0dGluZ3NEQU8nKTsKKwkJJG5vdGlmaWNhdGlv
blNldHRpbmdzID0gJG5vdGlmaWNhdGlvblNldHRpbmdzRGFvLT5nZXROb3RpZmljYXRpb25TZXR0
aW5ncygkbm90aWZpY2F0aW9uLT5nZXRVc2VySWQoKSk7CisJCSRub3RpZmljYXRpb25FbWFpbFNl
dHRpbmdzID0gJG5vdGlmaWNhdGlvblNldHRpbmdzRGFvLT5nZXROb3RpZmljYXRpb25FbWFpbFNl
dHRpbmdzKCRub3RpZmljYXRpb24tPmdldFVzZXJJZCgpKTsKKwkJCisJCWlmKGluX2FycmF5KCRu
b3RpZmljYXRpb24tPmdldEFzc29jVHlwZSgpLCAkbm90aWZpY2F0aW9uRW1haWxTZXR0aW5ncykp
IHsKKwkJCSR0aGlzLT5zZW5kTm90aWZpY2F0aW9uRW1haWwoJG5vdGlmaWNhdGlvbik7CisJCX0K
KwkJCisJCWlmKCFpbl9hcnJheSgkbm90aWZpY2F0aW9uLT5nZXRBc3NvY1R5cGUoKSwgJG5vdGlm
aWNhdGlvblNldHRpbmdzKSkgeworCQkJJHRoaXMtPnVwZGF0ZSgKKwkJCQlzcHJpbnRmKCdJTlNF
UlQgSU5UTyBub3RpZmljYXRpb25zCisJCQkJCSh1c2VyX2lkLCBkYXRlX2NyZWF0ZWQsIGNvbnRl
bnRzLCBwYXJhbSwgbG9jYXRpb24sIGlzX2xvY2FsaXplZCwgY29udGV4dCwgcHJvZHVjdCwgYXNz
b2NfdHlwZSkKKwkJCQkJVkFMVUVTCisJCQkJCSg/LCAlcywgPywgPywgPywgPywgPywgPywgPykn
LAorCQkJCQkkdGhpcy0+ZGF0ZXRpbWVUb0RCKGRhdGUoJ1ktbS1kIEg6aTpzJykpKSwKKwkJCQlh
cnJheSgKKwkJCQkJJG5vdGlmaWNhdGlvbi0+Z2V0VXNlcklkKCksCisJCQkJCSRub3RpZmljYXRp
b24tPmdldENvbnRlbnRzKCksCisJCQkJCSRub3RpZmljYXRpb24tPmdldFBhcmFtKCksCisJCQkJ
CSRub3RpZmljYXRpb24tPmdldExvY2F0aW9uKCksCisJCQkJCSRub3RpZmljYXRpb24tPmdldElz
TG9jYWxpemVkKCksCisJCQkJCSRub3RpZmljYXRpb24tPmdldENvbnRleHQoKSwKKwkJCQkJJHBy
b2R1Y3ROYW1lLAorCQkJCQkkbm90aWZpY2F0aW9uLT5nZXRBc3NvY1R5cGUoKSwKKwkJCQkpCisJ
CQkpOworCQkKKwkJCSRub3RpZmljYXRpb24tPnNldE5vdGlmaWNhdGlvbklkKCR0aGlzLT5nZXRJ
bnNlcnROb3RpZmljYXRpb25JZCgpKTsKKwkJCXJldHVybiAkbm90aWZpY2F0aW9uLT5nZXROb3Rp
ZmljYXRpb25JZCgpOworCQl9IGVsc2UgcmV0dXJuIDA7CisJfQorCQorCS8qKgorCSAqIERlbGV0
ZSBOb3RpZmljYXRpb24gYnkgbm90aWZpY2F0aW9uIGlkCisJICogQHBhcmFtICRub3RpZmljYXRp
b25JZCBpbnQKKwkgKiBAcmV0dXJuIGJvb2xlYW4KKwkgKi8KKwlmdW5jdGlvbiBkZWxldGVOb3Rp
ZmljYXRpb25CeUlkKCRub3RpZmljYXRpb25JZCwgJHVzZXJJZCA9IG51bGwpIHsKKwkJcmV0dXJu
ICR0aGlzLT51cGRhdGUoJ0RFTEVURSBGUk9NIG5vdGlmaWNhdGlvbnMgV0hFUkUgbm90aWZpY2F0
aW9uX2lkID0gPycgLiAoaXNzZXQoJHVzZXJJZCkgPyAnIEFORCB1c2VyX2lkID0gPycgOiAnJyks
IAorCQkJaXNzZXQoJHVzZXJJZCkgPyBhcnJheSgkbm90aWZpY2F0aW9uSWQsICR1c2VySWQpIDog
JG5vdGlmaWNhdGlvbklkCisJCSk7CisJfQkKKworCS8qKgorCSAqIENoZWNrIGlmIHRoZSBzYW1l
IG5vdGlmaWNhdGlvbiB3YXMgYWRkZWQgaW4gdGhlIGxhc3QgaG91cgorCSAqIFdpbGwgcHJldmVu
dCBtdWx0aXBsZSBub3RpZmljYXRpb25zIHRvIHNob3cgdXAgaW4gYSB1c2VyJ3MgZmVlZCBlLmcu
CisJICogaWYgYSB1c2VyIGVkaXRzIGEgc3VibWlzc2lvbiBtdWx0aXBsZSB0aW1lcyBpbiBhIHNo
b3J0IHRpbWUgc3BhbgorCSAqIEBwYXJhbSBub3RpZmljYXRpb24gb2JqZWN0CisJICogQHJldHVy
biBib29sZWFuCisJICovCisJZnVuY3Rpb24gbm90aWZpY2F0aW9uQWxyZWFkeUV4aXN0cygmJG5v
dGlmaWNhdGlvbikgeworCQkkYXBwbGljYXRpb24gPSYgUEtQQXBwbGljYXRpb246OmdldEFwcGxp
Y2F0aW9uKCk7CisJCSRwcm9kdWN0TmFtZSA9ICRhcHBsaWNhdGlvbi0+Z2V0TmFtZSgpOworCQkk
Y29udGV4dCA9JiBSZXF1ZXN0OjpnZXRDb250ZXh0KCk7CisJCSRjb250ZXh0SWQgPSAkY29udGV4
dC0+Z2V0SWQoKTsKKwkJCQorCQkkcmVzdWx0ID0gJiR0aGlzLT5yZXRyaWV2ZSgKKwkJCSdTRUxF
Q1QgZGF0ZV9jcmVhdGVkIEZST00gbm90aWZpY2F0aW9ucyBXSEVSRSB1c2VyX2lkID0gPyBBTkQg
Y29udGVudHMgPSA/IEFORCBwcm9kdWN0ID0gPyBBTkQgYXNzb2NfdHlwZSA9ID8gQU5EIGNvbnRl
eHQgPSA/JywKKwkJCWFycmF5KAorCQkJCQkkbm90aWZpY2F0aW9uLT5nZXRVc2VySWQoKSwKKwkJ
CQkJJG5vdGlmaWNhdGlvbi0+Z2V0Q29udGVudHMoKSwKKwkJCQkJJHByb2R1Y3ROYW1lLAorCQkJ
CQkkbm90aWZpY2F0aW9uLT5nZXRBc3NvY1R5cGUoKSwKKwkJCQkJJGNvbnRleHRJZAorCQkJCSkK
KwkJKTsKKwkJCisJCSRkYXRlID0gaXNzZXQoJHJlc3VsdC0+ZmllbGRzWzBdKSA/ICRyZXN1bHQt
PmZpZWxkc1swXSA6IDA7CisJCQorCQlpZiAoJGRhdGUgPT0gMCkgeworCQkJcmV0dXJuIGZhbHNl
OworCQl9IGVsc2UgeworCQkJJHRpbWVEaWZmID0gc3RydG90aW1lKCRkYXRlKSAtIHRpbWUoKTsK
KwkJCWlmICgkdGltZURpZmYgPCAzNjAwKSB7IC8vIDEgaG91ciAoaW4gc2Vjb25kcykKKwkJCQly
ZXR1cm4gdHJ1ZTsKKwkJCX0gZWxzZSByZXR1cm4gZmFsc2U7CisJCX0KKwl9CisKKwkvKioKKwkg
KiBHZXQgdGhlIElEIG9mIHRoZSBsYXN0IGluc2VydGVkIG5vdGlmaWNhdGlvbgorCSAqIEByZXR1
cm4gaW50CisJICovCisJZnVuY3Rpb24gZ2V0SW5zZXJ0Tm90aWZpY2F0aW9uSWQoKSB7CisJCXJl
dHVybiAkdGhpcy0+Z2V0SW5zZXJ0SWQoJ25vdGlmaWNhdGlvbnMnLCAnbm90aWZpY2F0aW9uX2lk
Jyk7CisJfQorCQorCS8qKgorCSAqIEdldCB0aGUgbnVtYmVyIG9mIHVucmVhZCBtZXNzYWdlcyBm
b3IgYSB1c2VyCisJICogQHBhcmFtICR1c2VySWQgaW50CisJICogQHJldHVybiBpbnQKKwkgKi8K
KwlmdW5jdGlvbiBnZXRVbnJlYWROb3RpZmljYXRpb25Db3VudCgkdXNlcklkKSB7CisJCSRhcHBs
aWNhdGlvbiA9JiBQS1BBcHBsaWNhdGlvbjo6Z2V0QXBwbGljYXRpb24oKTsKKwkJJHByb2R1Y3RO
YW1lID0gJGFwcGxpY2F0aW9uLT5nZXROYW1lKCk7CisJCSRjb250ZXh0ID0mIFJlcXVlc3Q6Omdl
dENvbnRleHQoKTsKKwkJJGNvbnRleHRJZCA9ICRjb250ZXh0LT5nZXRJZCgpOworCQkKKwkJJHJl
c3VsdCA9ICYkdGhpcy0+cmV0cmlldmUoCisJCQknU0VMRUNUIGNvdW50KCopIEZST00gbm90aWZp
Y2F0aW9ucyBXSEVSRSB1c2VyX2lkID0gPyBBTkQgZGF0ZV9yZWFkIElTIE5VTEwgQU5EIHByb2R1
Y3QgPSA/IEFORCBjb250ZXh0ID0gPycsCisJCQlhcnJheSgkdXNlcklkLCAkcHJvZHVjdE5hbWUs
ICRjb250ZXh0SWQpCisJCSk7CisKKwkJJHJldHVybmVyID0gJHJlc3VsdC0+ZmllbGRzWzBdOwor
CisJCSRyZXN1bHQtPkNsb3NlKCk7CisJCXVuc2V0KCRyZXN1bHQpOworCisJCXJldHVybiAkcmV0
dXJuZXI7CisJfQorCQorCS8qKgorCSAqIEdldCB0aGUgbnVtYmVyIG9mIHJlYWQgbWVzc2FnZXMg
Zm9yIGEgdXNlcgorCSAqIEBwYXJhbSAkdXNlcklkIGludAorCSAqIEByZXR1cm4gaW50CisJICov
CisJZnVuY3Rpb24gZ2V0UmVhZE5vdGlmaWNhdGlvbkNvdW50KCR1c2VySWQpIHsKKwkJJGFwcGxp
Y2F0aW9uID0mIFBLUEFwcGxpY2F0aW9uOjpnZXRBcHBsaWNhdGlvbigpOworCQkkcHJvZHVjdE5h
bWUgPSAkYXBwbGljYXRpb24tPmdldE5hbWUoKTsKKwkJJGNvbnRleHQgPSYgUmVxdWVzdDo6Z2V0
Q29udGV4dCgpOworCQkkY29udGV4dElkID0gJGNvbnRleHQtPmdldElkKCk7CisJCQorCQkkcmVz
dWx0ID0gJiR0aGlzLT5yZXRyaWV2ZSgKKwkJCSdTRUxFQ1QgY291bnQoKikgRlJPTSBub3RpZmlj
YXRpb25zIFdIRVJFIHVzZXJfaWQgPSA/IEFORCBkYXRlX3JlYWQgSVMgTk9UIE5VTEwgQU5EIHBy
b2R1Y3QgPSA/IEFORCBjb250ZXh0ID0gPycsCisJCQlhcnJheSgkdXNlcklkLCAkcHJvZHVjdE5h
bWUsICRjb250ZXh0SWQpCisJCSk7CisKKwkJJHJldHVybmVyID0gJHJlc3VsdC0+ZmllbGRzWzBd
OworCisJCSRyZXN1bHQtPkNsb3NlKCk7CisJCXVuc2V0KCRyZXN1bHQpOworCisJCXJldHVybiAk
cmV0dXJuZXI7CisJfQorCisJLyoqCisJICogU2VuZCBhbiBlbWFpbCB0byBhIHVzZXIgcmVnYXJk
aW5nIHRoZSBub3RpZmljYXRpb24KKwkgKiBAcGFyYW0gJG5vdGlmaWNhdGlvbiBvYmplY3QgTm90
aWZpY2F0aW9uCisJICovCisJZnVuY3Rpb24gc2VuZE5vdGlmaWNhdGlvbkVtYWlsKCRub3RpZmlj
YXRpb24pIHsKKwkJJHVzZXJJZCA9ICRub3RpZmljYXRpb24tPmdldFVzZXJJZCgpOworCQkkdXNl
ckRhbyA9ICZEQU9SZWdpc3RyeTo6Z2V0REFPKCdVc2VyREFPJyk7CisJCSR1c2VyID0gJHVzZXJE
YW8tPmdldFVzZXIoJHVzZXJJZCk7CisJCQorCQlpZiAoJG5vdGlmaWNhdGlvbi0+Z2V0SXNMb2Nh
bGl6ZWQoKSkgeworCQkJJHBhcmFtcyA9IGFycmF5KCdwYXJhbScgPT4gJG5vdGlmaWNhdGlvbi0+
Z2V0UGFyYW0oKSk7CisJCQkkbm90aWZpY2F0aW9uQ29udGVudHMgPSBMb2NhbGU6OnRyYW5zbGF0
ZSgkbm90aWZpY2F0aW9uLT5nZXRDb250ZW50cygpLCAkcGFyYW1zKTsKKwkJfSBlbHNlIHsKKwkJ
CSRub3RpZmljYXRpb25Db250ZW50cyA9ICRub3RpZmljYXRpb24tPmdldENvbnRlbnRzKCk7CisJ
CX0KKwkJCisJCWltcG9ydCgnbWFpbC5NYWlsVGVtcGxhdGUnKTsKKwkJJHNpdGUgPSAmUmVxdWVz
dDo6Z2V0U2l0ZSgpOworCQkkbWFpbCA9IG5ldyBNYWlsVGVtcGxhdGUoJ05PVElGSUNBVElPTicp
OworCQkkbWFpbC0+c2V0RnJvbSgkc2l0ZS0+Z2V0U2l0ZUNvbnRhY3RFbWFpbCgpLCAkc2l0ZS0+
Z2V0U2l0ZUNvbnRhY3ROYW1lKCkpOworCQkkbWFpbC0+YXNzaWduUGFyYW1zKGFycmF5KAorCQkJ
J25vdGlmaWNhdGlvbkNvbnRlbnRzJyA9PiAkbm90aWZpY2F0aW9uQ29udGVudHMsCisJCQkndXJs
JyA9PiAkbm90aWZpY2F0aW9uLT5nZXRMb2NhdGlvbigpLAorCQkJJ3NpdGVUaXRsZScgPT4gJHNp
dGUtPmdldFNpdGVUaXRsZSgpCisJCSkpOworCQkkbWFpbC0+YWRkUmVjaXBpZW50KCR1c2VyLT5n
ZXRFbWFpbCgpLCAkdXNlci0+Z2V0RnVsbE5hbWUoKSk7CisJCSRtYWlsLT5zZW5kKCk7CisJfQkK
KwkKKwkvKioKKwkgKiBTZW5kIGFuIHVwZGF0ZSB0byBhbGwgdXNlcnMgb24gdGhlIG1haWxpbmcg
bGlzdAorCSAqIEBwYXJhbSAkbm90aWZpY2F0aW9uIG9iamVjdCBOb3RpZmljYXRpb24KKwkgKi8K
KwlmdW5jdGlvbiBzZW5kVG9NYWlsaW5nTGlzdCgkbm90aWZpY2F0aW9uKSB7CisJCSRub3RpZmlj
YXRpb25TZXR0aW5nc0RhbyA9ICZEQU9SZWdpc3RyeTo6Z2V0REFPKCdOb3RpZmljYXRpb25TZXR0
aW5nc0RBTycpOworCQkkZ3Vlc3RMaXN0ID0gJG5vdGlmaWNhdGlvblNldHRpbmdzRGFvLT5nZXRH
dWVzdExpc3QoKTsKKwkJCisJCWZvcmVhY2ggKCRndWVzdExpc3QgYXMgJGVtYWlsKSB7CisJCQlp
ZiAoJG5vdGlmaWNhdGlvbi0+Z2V0SXNMb2NhbGl6ZWQoKSkgeworCQkJCSRwYXJhbXMgPSBhcnJh
eSgncGFyYW0nID0+ICRub3RpZmljYXRpb24tPmdldFBhcmFtKCkpOworCQkJCSRub3RpZmljYXRp
b25Db250ZW50cyA9IExvY2FsZTo6dHJhbnNsYXRlKCRub3RpZmljYXRpb24tPmdldENvbnRlbnRz
KCksICRwYXJhbXMpOworCQkJfSBlbHNlIHsKKwkJCQkkbm90aWZpY2F0aW9uQ29udGVudHMgPSAk
bm90aWZpY2F0aW9uLT5nZXRDb250ZW50cygpOworCQkJfQorCQkJCisJCQlpbXBvcnQoJ21haWwu
TWFpbFRlbXBsYXRlJyk7CisJCQkkam91cm5hbCA9IFJlcXVlc3Q6OmdldEpvdXJuYWwoKTsKKwkJ
CSRzaXRlID0gJlJlcXVlc3Q6OmdldFNpdGUoKTsKKwkJCQorCQkJJG1haWwgPSBuZXcgTWFpbFRl
bXBsYXRlKCdOT1RJRklDQVRJT05fTUFJTExJU1QnKTsKKwkJCSRtYWlsLT5zZXRGcm9tKCRzaXRl
LT5nZXRTaXRlQ29udGFjdEVtYWlsKCksICRzaXRlLT5nZXRTaXRlQ29udGFjdE5hbWUoKSk7CisJ
CQkkbWFpbC0+YXNzaWduUGFyYW1zKGFycmF5KAorCQkJCSdub3RpZmljYXRpb25Db250ZW50cycg
PT4gJG5vdGlmaWNhdGlvbkNvbnRlbnRzLAorCQkJCSd1cmwnID0+ICRub3RpZmljYXRpb24tPmdl
dExvY2F0aW9uKCksCisJCQkJJ3NpdGVUaXRsZScgPT4gJGpvdXJuYWwtPmdldEpvdXJuYWxUaXRs
ZSgpLAorCQkJCSd1bnN1YnNjcmliZUxpbmsnID0+IFJlcXVlc3Q6OnVybChudWxsLCAnbm90aWZp
Y2F0aW9uJywgJ3Vuc3Vic2NyaWJlTWFpbExpc3QnKQorCQkJKSk7CisJCQkkbWFpbC0+YWRkUmVj
aXBpZW50KCRlbWFpbCk7CisJCQkkbWFpbC0+c2VuZCgpOworCQl9CisJCQorCQkKKwl9CQorfQor
Cis/PgpJbmRleDogY2xhc3Nlcy9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9uU2V0dGluZ3NEQU8u
aW5jLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiBjbGFzc2VzL25vdGlmaWNhdGlvbi9Ob3RpZmlj
YXRpb25TZXR0aW5nc0RBTy5pbmMucGhwCmRpZmYgLU4gY2xhc3Nlcy9ub3RpZmljYXRpb24vTm90
aWZpY2F0aW9uU2V0dGluZ3NEQU8uaW5jLnBocAotLS0gL2Rldi9udWxsCTEgSmFuIDE5NzAgMDA6
MDA6MDAgLTAwMDAKKysrIGNsYXNzZXMvbm90aWZpY2F0aW9uL05vdGlmaWNhdGlvblNldHRpbmdz
REFPLmluYy5waHAJMjEgSmFuIDIwMDkgMDI6MDg6NTIgLTAwMDAKQEAgLTAsMCArMSw0MzEgQEAK
Kzw/cGhwCisKKy8qKgorICogQGZpbGUgY2xhc3Nlcy9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9u
U2V0dGluZ3NEQU9EQU8uaW5jLnBocAorICoKKyAqIENvcHlyaWdodCAoYykgMjAwMy0yMDA4IEpv
aG4gV2lsbGluc2t5CisgKiBEaXN0cmlidXRlZCB1bmRlciB0aGUgR05VIEdQTCB2Mi4gRm9yIGZ1
bGwgdGVybXMgc2VlIHRoZSBmaWxlIGRvY3MvQ09QWUlORy4KKyAqCisgKiBAY2xhc3MgTm90aWZp
Y2F0aW9uU2V0dGluZ3NEQU8KKyAqIEBpbmdyb3VwIG5vdGlmaWNhdGlvbgorICogQHNlZSBOb3Rp
ZmljYXRpb24KKyAqCisgKiBAYnJpZWYgT3BlcmF0aW9ucyBmb3IgcmV0cmlldmluZyBhbmQgbW9k
aWZ5aW5nIHVzZXIncyBub3RpZmljYXRpb24gc2V0dGluZ3MuCisgKi8KKworLy8gJElkOiBOb3Rp
ZmljYXRpb25TZXR0aW5nc0RBTy5pbmMucGhwLHYgMS4xOSAyMDA4LzExLzA1IDAwOjQ2OjM5IG1j
cmlkZXIgRXhwICQKKworY2xhc3MgTm90aWZpY2F0aW9uU2V0dGluZ3NEQU8gZXh0ZW5kcyBEQU8g
eworCS8qKgorCSAqIENvbnN0cnVjdG9yLgorCSAqLworCWZ1bmN0aW9uIE5vdGlmaWNhdGlvblNl
dHRpbmdzREFPKCkgeworCQlwYXJlbnQ6OkRBTygpOworCX0KKwkKKwkvKioKKwkgKiBSZXRyaWV2
ZSBOb3RpZmljYXRpb25zIHNldHRpbmdzIGJ5IHVzZXIgaWQKKwkgKiBSZXR1cm5zIGFuIGFycmF5
IG9mIG5vdGlmaWNhdGlvbiB0eXBlcyB0aGF0IHRoZSB1c2VyCisJICogZG9lcyBOT1Qgd2FudCB0
byBiZSBub3RpZmllZCBvZgorCSAqIEBwYXJhbSAkdXNlcklkIGludAorCSAqIEByZXR1cm4gYXJy
YXkKKwkgKi8KKwlmdW5jdGlvbiAmZ2V0Tm90aWZpY2F0aW9uU2V0dGluZ3MoJHVzZXJJZCkgewor
CQkkYXBwbGljYXRpb24gPSYgUEtQQXBwbGljYXRpb246OmdldEFwcGxpY2F0aW9uKCk7CisJCSRw
cm9kdWN0TmFtZSA9ICRhcHBsaWNhdGlvbi0+Z2V0TmFtZSgpOworCQkkY29udGV4dCA9JiBSZXF1
ZXN0OjpnZXRDb250ZXh0KCk7CisJCSRjb250ZXh0SWQgPSAkY29udGV4dC0+Z2V0SWQoKTsKKwkJ
CisJCSRub3RpZmljYXRpb25TZXR0aW5ncyA9IGFycmF5KCk7CisJCisJCSRyZXN1bHQgPSAmJHRo
aXMtPnJldHJpZXZlKAorCQkJJ1NFTEVDVCBzZXR0aW5nX3ZhbHVlIEZST00gbm90aWZpY2F0aW9u
X3NldHRpbmdzIFdIRVJFIHVzZXJfaWQgPSA/IEFORCBwcm9kdWN0ID0gPyBBTkQgc2V0dGluZ19u
YW1lID0gPyBBTkQgY29udGV4dCA9ID8nLAorCQkJCWFycmF5KCR1c2VySWQsICRwcm9kdWN0TmFt
ZSwgJ25vdGlmeScsICRjb250ZXh0SWQpCisJCSk7CisJCisJCXdoaWxlICghJHJlc3VsdC0+RU9G
KSB7CisJCQkkcm93ID0gJHJlc3VsdC0+R2V0Um93QXNzb2MoZmFsc2UpOworCQkJJG5vdGlmaWNh
dGlvblNldHRpbmdzW10gPSAoaW50KSAkcm93WydzZXR0aW5nX3ZhbHVlJ107CisJCQkkcmVzdWx0
LT5tb3ZlTmV4dCgpOworCQl9CisKKwkJJHJlc3VsdC0+Q2xvc2UoKTsKKwkJdW5zZXQoJHJlc3Vs
dCk7CisJCQorCQlyZXR1cm4gJG5vdGlmaWNhdGlvblNldHRpbmdzOworCX0KKwkKKwkvKioKKwkg
KiBSZXRyaWV2ZSBOb3RpZmljYXRpb25zIGVtYWlsIHNldHRpbmdzIGJ5IHVzZXIgaWQKKwkgKiBS
ZXR1cm5zIGFuIGFycmF5IG9mIG5vdGlmaWNhdGlvbiB0eXBlcyB0aGF0IHRoZSB1c2VyCisJICog
RE9FUyB3YW50IHRvIGJlIGVtYWlsZWQgYWJvdXQKKwkgKiBAcGFyYW0gJHVzZXJJZCBpbnQKKwkg
KiBAcmV0dXJuIGFycmF5CisJICovCisJZnVuY3Rpb24gJmdldE5vdGlmaWNhdGlvbkVtYWlsU2V0
dGluZ3MoJHVzZXJJZCkgeworCQkkYXBwbGljYXRpb24gPSYgUEtQQXBwbGljYXRpb246OmdldEFw
cGxpY2F0aW9uKCk7CisJCSRwcm9kdWN0TmFtZSA9ICRhcHBsaWNhdGlvbi0+Z2V0TmFtZSgpOwor
CQkkY29udGV4dCA9JiBSZXF1ZXN0OjpnZXRDb250ZXh0KCk7CisJCSRjb250ZXh0SWQgPSAkY29u
dGV4dC0+Z2V0SWQoKTsKKwkJCisJCSRlbWFpbFNldHRpbmdzID0gYXJyYXkoKTsKKwkKKwkJJHJl
c3VsdCA9ICYkdGhpcy0+cmV0cmlldmUoCisJCQknU0VMRUNUIHNldHRpbmdfdmFsdWUgRlJPTSBu
b3RpZmljYXRpb25fc2V0dGluZ3MgV0hFUkUgdXNlcl9pZCA9ID8gQU5EIHByb2R1Y3QgPSA/IEFO
RCBzZXR0aW5nX25hbWUgPSA/IEFORCBjb250ZXh0ID0gPycsCisJCQkJYXJyYXkoJHVzZXJJZCwg
JHByb2R1Y3ROYW1lLCAnZW1haWwnLCAkY29udGV4dElkKQorCQkpOworCQorCQl3aGlsZSAoISRy
ZXN1bHQtPkVPRikgeworCQkJJHJvdyA9ICRyZXN1bHQtPkdldFJvd0Fzc29jKGZhbHNlKTsKKwkJ
CSRlbWFpbFNldHRpbmdzW10gPSAoaW50KSAkcm93WydzZXR0aW5nX3ZhbHVlJ107CisJCQkkcmVz
dWx0LT5tb3ZlTmV4dCgpOworCQl9CisKKwkJJHJlc3VsdC0+Q2xvc2UoKTsKKwkJdW5zZXQoJHJl
c3VsdCk7CisJCQorCQlyZXR1cm4gJGVtYWlsU2V0dGluZ3M7CisJfQorCQorCS8qKgorCSAqIFVw
ZGF0ZSBhIHVzZXIncyBub3RpZmljYXRpb24gc2V0dGluZ3MKKwkgKiBAcGFyYW0gJG5vdGlmaWNh
dGlvblNldHRpbmdzIGFycmF5CisJICogQHBhcmFtICR1c2VySWQgaW50CisJICovCisJZnVuY3Rp
b24gdXBkYXRlTm90aWZpY2F0aW9uU2V0dGluZ3MoJG5vdGlmaWNhdGlvblNldHRpbmdzLCAkdXNl
cklkKSB7CisJCSRhcHBsaWNhdGlvbiA9JiBQS1BBcHBsaWNhdGlvbjo6Z2V0QXBwbGljYXRpb24o
KTsKKwkJJHByb2R1Y3ROYW1lID0gJGFwcGxpY2F0aW9uLT5nZXROYW1lKCk7CisJCSRjb250ZXh0
ID0mIFJlcXVlc3Q6OmdldENvbnRleHQoKTsKKwkJJGNvbnRleHRJZCA9ICRjb250ZXh0LT5nZXRJ
ZCgpOwkJCisJCQorCQkvLyBEZWxldGUgb2xkIHNldHRpbmdzIGZpcnN0LCB0aGVuIGluc2VydCBu
ZXcgc2V0dGluZ3MKKwkJJHRoaXMtPnVwZGF0ZSgnREVMRVRFIEZST00gbm90aWZpY2F0aW9uX3Nl
dHRpbmdzIFdIRVJFIHVzZXJfaWQgPSA/IEFORCBwcm9kdWN0ID0gPyBBTkQgc2V0dGluZ19uYW1l
ID0gPyBBTkQgY29udGV4dCA9ID8nLAorCQkJYXJyYXkoJHVzZXJJZCwgJHByb2R1Y3ROYW1lLCAn
bm90aWZ5JywgJGNvbnRleHRJZCkpOworCQorCQlmb3IgKCRpPTA7ICRpPGNvdW50KCRub3RpZmlj
YXRpb25TZXR0aW5ncyk7ICRpKyspIHsKKwkJCSR0aGlzLT51cGRhdGUoCisJCQkJJ0lOU0VSVCBJ
TlRPIG5vdGlmaWNhdGlvbl9zZXR0aW5ncworCQkJCQkoc2V0dGluZ19uYW1lLCBzZXR0aW5nX3Zh
bHVlLCB1c2VyX2lkLCBwcm9kdWN0LCBjb250ZXh0KQorCQkJCQlWQUxVRVMKKwkJCQkJKD8sID8s
ID8sID8sID8pJywKKwkJCQlhcnJheSgKKwkJCQkJIm5vdGlmeSIsCisJCQkJCSRub3RpZmljYXRp
b25TZXR0aW5nc1skaV0sCisJCQkJCSR1c2VySWQsCisJCQkJCSRwcm9kdWN0TmFtZSwKKwkJCQkJ
JGNvbnRleHRJZAorCQkJCSkKKwkJCSk7CisJCX0KKwl9CisJCisJLyoqCisJICogVXBkYXRlIGEg
dXNlcidzIG5vdGlmaWNhdGlvbiBlbWFpbCBzZXR0aW5ncworCSAqIEBwYXJhbSAkbm90aWZpY2F0
aW9uRW1haWxTZXR0aW5ncyBhcnJheQorCSAqIEBwYXJhbSAkdXNlcklkIGludAorCSAqLworCWZ1
bmN0aW9uIHVwZGF0ZU5vdGlmaWNhdGlvbkVtYWlsU2V0dGluZ3MoJGVtYWlsU2V0dGluZ3MsICR1
c2VySWQpIHsKKwkJJGFwcGxpY2F0aW9uID0mIFBLUEFwcGxpY2F0aW9uOjpnZXRBcHBsaWNhdGlv
bigpOworCQkkcHJvZHVjdE5hbWUgPSAkYXBwbGljYXRpb24tPmdldE5hbWUoKTsKKwkJJGNvbnRl
eHQgPSYgUmVxdWVzdDo6Z2V0Q29udGV4dCgpOworCQkkY29udGV4dElkID0gJGNvbnRleHQtPmdl
dElkKCk7CisJCQorCQkvLyBEZWxldGUgb2xkIHNldHRpbmdzIGZpcnN0LCB0aGVuIGluc2VydCBu
ZXcgc2V0dGluZ3MKKwkJJHRoaXMtPnVwZGF0ZSgnREVMRVRFIEZST00gbm90aWZpY2F0aW9uX3Nl
dHRpbmdzIFdIRVJFIHVzZXJfaWQgPSA/IEFORCBwcm9kdWN0ID0gPyBBTkQgc2V0dGluZ19uYW1l
ID0gPyBBTkQgY29udGV4dCA9ID8nLAorCQkJYXJyYXkoJHVzZXJJZCwgJHByb2R1Y3ROYW1lLCAn
ZW1haWwnLCAkY29udGV4dElkKSk7CisJCisJCWZvciAoJGk9MDsgJGk8Y291bnQoJGVtYWlsU2V0
dGluZ3MpOyAkaSsrKSB7CisJCQkkdGhpcy0+dXBkYXRlKAorCQkJCSdJTlNFUlQgSU5UTyBub3Rp
ZmljYXRpb25fc2V0dGluZ3MKKwkJCQkJKHNldHRpbmdfbmFtZSwgc2V0dGluZ192YWx1ZSwgdXNl
cl9pZCwgcHJvZHVjdCwgY29udGV4dCkKKwkJCQkJVkFMVUVTCisJCQkJCSg/LCA/LCA/LCA/LCA/
KScsCisJCQkJYXJyYXkoCisJCQkJCSJlbWFpbCIsCisJCQkJCSRlbWFpbFNldHRpbmdzWyRpXSwK
KwkJCQkJJHVzZXJJZCwKKwkJCQkJJHByb2R1Y3ROYW1lLAorCQkJCQkkY29udGV4dElkCisJCQkJ
KQorCQkJKTsKKwkJfQorCX0KKwkKKwkvKioKKwkgKiBHZXRzIGEgdXNlciBpZCBieSBhbiBSU1Mg
dG9rZW4gdmFsdWUKKwkgKiBAcGFyYW0gJHRva2VuIGludAorCSAqIEByZXR1cm4gaW50CisJICov
CisJZnVuY3Rpb24gZ2V0VXNlcklkQnlSU1NUb2tlbigkdG9rZW4pIHsKKwkJJGFwcGxpY2F0aW9u
ID0mIFBLUEFwcGxpY2F0aW9uOjpnZXRBcHBsaWNhdGlvbigpOworCQkkcHJvZHVjdE5hbWUgPSAk
YXBwbGljYXRpb24tPmdldE5hbWUoKTsKKwkJJGNvbnRleHQgPSYgUmVxdWVzdDo6Z2V0Q29udGV4
dCgpOworCQkkY29udGV4dElkID0gJGNvbnRleHQtPmdldElkKCk7CisJCisJCSRyZXN1bHQgPSAm
JHRoaXMtPnJldHJpZXZlKAorCQkJJ1NFTEVDVCB1c2VyX2lkIEZST00gbm90aWZpY2F0aW9uX3Nl
dHRpbmdzIFdIRVJFIHNldHRpbmdfdmFsdWUgPSA/IEFORCBzZXR0aW5nX25hbWUgPSA/IEFORCBw
cm9kdWN0ID0gPyBBTkQgY29udGV4dCA9ID8nLAorCQkJCWFycmF5KCR0b2tlbiwgJ3Rva2VuJywg
JHByb2R1Y3ROYW1lLCAkY29udGV4dElkKQorCQkpOworCisJCSRyb3cgPSAkcmVzdWx0LT5HZXRS
b3dBc3NvYyhmYWxzZSk7CisJCSR1c2VySWQgPSAkcm93Wyd1c2VyX2lkJ107CisKKwkJJHJlc3Vs
dC0+Q2xvc2UoKTsKKwkJdW5zZXQoJHJlc3VsdCk7CisJCQorCQlyZXR1cm4gJHVzZXJJZDsKKwl9
CisKKwkvKioKKwkgKiBHZXRzIGFuIFJTUyB0b2tlbiBmb3IgYSB1c2VyIGlkCisJICogQHBhcmFt
ICR1c2VySWQgaW50CisJICogQHJldHVybiBpbnQKKwkgKi8KKwlmdW5jdGlvbiBnZXRSU1NUb2tl
bkJ5VXNlcklkKCR1c2VySWQpIHsKKwkJJGFwcGxpY2F0aW9uID0mIFBLUEFwcGxpY2F0aW9uOjpn
ZXRBcHBsaWNhdGlvbigpOworCQkkcHJvZHVjdE5hbWUgPSAkYXBwbGljYXRpb24tPmdldE5hbWUo
KTsKKwkJJGNvbnRleHQgPSYgUmVxdWVzdDo6Z2V0Q29udGV4dCgpOworCQkkY29udGV4dElkID0g
JGNvbnRleHQtPmdldElkKCk7CisJCisJCSRyZXN1bHQgPSAmJHRoaXMtPnJldHJpZXZlKAorCQkJ
J1NFTEVDVCBzZXR0aW5nX3ZhbHVlIEZST00gbm90aWZpY2F0aW9uX3NldHRpbmdzIFdIRVJFIHVz
ZXJfaWQgPSA/IEFORCBzZXR0aW5nX25hbWUgPSA/IEFORCBwcm9kdWN0ID0gPyBBTkQgY29udGV4
dCA9ID8nLAorCQkJCWFycmF5KCR1c2VySWQsICd0b2tlbicsICRwcm9kdWN0TmFtZSwgJGNvbnRl
eHRJZCkKKwkJKTsKKworCQkkcm93ID0gJHJlc3VsdC0+R2V0Um93QXNzb2MoZmFsc2UpOworCQkk
dXNlcklkID0gJHJvd1snc2V0dGluZ192YWx1ZSddOworCisJCSRyZXN1bHQtPkNsb3NlKCk7CisJ
CXVuc2V0KCRyZXN1bHQpOworCQkKKwkJcmV0dXJuICR1c2VySWQ7CisJfQorCisJLyoqCisJICog
R2VuZXJhdGVzIGFuZCBpbnNlcnRzIGEgbmV3IHRva2VuIGZvciBhIHVzZXIncyBSU1MgZmVlZAor
CSAqIEBwYXJhbSAkdXNlcklkIGludAorCSAqIEByZXR1cm4gaW50CisJICovCisJZnVuY3Rpb24g
aW5zZXJ0TmV3UlNTVG9rZW4oJHVzZXJJZCkgeworCQkkYXBwbGljYXRpb24gPSYgUEtQQXBwbGlj
YXRpb246OmdldEFwcGxpY2F0aW9uKCk7CisJCSRwcm9kdWN0TmFtZSA9ICRhcHBsaWNhdGlvbi0+
Z2V0TmFtZSgpOworCQkkY29udGV4dCA9JiBSZXF1ZXN0OjpnZXRDb250ZXh0KCk7CisJCSRjb250
ZXh0SWQgPSAkY29udGV4dC0+Z2V0SWQoKTsKKwkJCisJCSR0b2tlbiA9IHVuaXFpZChyYW5kKCkp
OworCQorCQkkdGhpcy0+dXBkYXRlKAorCQkJJ0lOU0VSVCBJTlRPIG5vdGlmaWNhdGlvbl9zZXR0
aW5ncworCQkJCShzZXR0aW5nX25hbWUsIHNldHRpbmdfdmFsdWUsIHVzZXJfaWQsIHByb2R1Y3Qs
IGNvbnRleHQpCisJCQkJVkFMVUVTCisJCQkJKD8sID8sID8sID8sID8pJywKKwkJCWFycmF5KAor
CQkJCSd0b2tlbicsCisJCQkJJHRva2VuLAorCQkJCSR1c2VySWQsCisJCQkJJHByb2R1Y3ROYW1l
LAorCQkJCSRjb250ZXh0SWQKKwkJCSkKKwkJKTsKKworCQlyZXR1cm4gJHRva2VuOworCX0KKwkK
KwkvKioKKwkgKiBHZW5lcmF0ZXMgYW4gYWNjZXNzIGtleSBmb3IgdGhlIGd1ZXN0IHVzZXIgYW5k
IGFkZHMgdGhlbSB0byB0aGUgc2V0dGluZ3MgdGFibGUKKwkgKiBAcGFyYW0gJHVzZXJJZCBpbnQK
KwkgKiBAcmV0dXJuIGludAorCSAqLworCWZ1bmN0aW9uIHN1YnNjcmliZUd1ZXN0KCRlbWFpbCkg
eworCQkkYXBwbGljYXRpb24gPSYgUEtQQXBwbGljYXRpb246OmdldEFwcGxpY2F0aW9uKCk7CisJ
CSRwcm9kdWN0TmFtZSA9ICRhcHBsaWNhdGlvbi0+Z2V0TmFtZSgpOworCQkkY29udGV4dCA9JiBS
ZXF1ZXN0OjpnZXRDb250ZXh0KCk7CisJCSRjb250ZXh0SWQgPSAkY29udGV4dC0+Z2V0SWQoKTsK
KwkJCisJCQorCQkvLyBDaGVjayB0aGF0IHRoZSBlbWFpbCBkb2Vzbid0IGFscmVhZHkgZXhpc3QK
KwkJJHJlc3VsdCA9ICYkdGhpcy0+cmV0cmlldmUoCisJCQknU0VMRUNUICogRlJPTSBub3RpZmlj
YXRpb25fc2V0dGluZ3MgV0hFUkUgc2V0dGluZ19uYW1lID0gPyBBTkQgc2V0dGluZ192YWx1ZSA9
ID8gQU5EIHByb2R1Y3QgPSA/IEFORCBjb250ZXh0ID0gPycsCisJCQlhcnJheSgKKwkJCQknZ3Vl
c3RMaXN0JywKKwkJCQkkZW1haWwsCisJCQkJJHByb2R1Y3ROYW1lLAorCQkJCSRjb250ZXh0SWQK
KwkJCSkKKwkJKTsKKwkJCisJCWlmICgkcmVzdWx0LT5SZWNvcmRDb3VudCgpICE9IDApIHsKKwkJ
CXJldHVybiBmYWxzZTsKKwkJfSBlbHNlIHsJCQorCQkJJHRoaXMtPnVwZGF0ZSgKKwkJCQknSU5T
RVJUIElOVE8gbm90aWZpY2F0aW9uX3NldHRpbmdzCisJCQkJCShzZXR0aW5nX25hbWUsIHNldHRp
bmdfdmFsdWUsIHVzZXJfaWQsIHByb2R1Y3QsIGNvbnRleHQpCisJCQkJCVZBTFVFUworCQkJCQko
PywgPywgPywgPywgPyknLAorCQkJCWFycmF5KAorCQkJCQknZ3Vlc3RMaXN0JywKKwkJCQkJJGVt
YWlsLAorCQkJCQkwLAorCQkJCQkkcHJvZHVjdE5hbWUsCisJCQkJCSRjb250ZXh0SWQKKwkJCQkp
CisJCQkpOworCQl9CQorCQkKKwkJLy8gR2V0IGFzc29jX2lkIGludG8gbm90aWZpY2F0aW9uX3Nl
dHRpbmdzIHRhYmxlLCBhbHNvIHVzZWQgYXMgdXNlcl9pZCBmb3IgYWNjZXNzIGtleQorCQkkYXNz
b2NJZCA9ICR0aGlzLT5nZXRJbnNlcnROb3RpZmljYXRpb25TZXR0aW5nSWQoKTsKKworCQlpbXBv
cnQoJ3NlY3VyaXR5LkFjY2Vzc0tleU1hbmFnZXInKTsKKwkJJGFjY2Vzc0tleU1hbmFnZXIgPSBu
ZXcgQWNjZXNzS2V5TWFuYWdlcigpOworCQkKKwkJJHBhc3N3b3JkID0gJGFjY2Vzc0tleU1hbmFn
ZXItPmNyZWF0ZUtleSgnTWFpbExpc3RDb250ZXh0JywgJGFzc29jSWQsICRhc3NvY0lkLCAxMDAw
MCk7CisJCXJldHVybiAkcGFzc3dvcmQ7CisJfQorCQorCQorCQorCS8qKgorCSAqIFJlbW92ZXMg
YW4gZW1haWwgYWRkcmVzcyBhbmQgYXNzb2NpYXRlZCBhY2Nlc3Mga2V5IGZyb20gZW1haWwgbm90
aWZpY2F0aW9ucworCSAqIEBwYXJhbSAkZW1haWwgc3RyaW5nCisJICogQHBhcmFtICRwYXNzd29y
ZCBzdHJpbmcKKwkgKiBAcmV0dXJuIGJvb2xlYW4KKwkgKi8KKwlmdW5jdGlvbiB1bnN1YnNjcmli
ZUd1ZXN0KCRlbWFpbCwgJHBhc3N3b3JkKSB7CisJCSRhcHBsaWNhdGlvbiA9JiBQS1BBcHBsaWNh
dGlvbjo6Z2V0QXBwbGljYXRpb24oKTsKKwkJJHByb2R1Y3ROYW1lID0gJGFwcGxpY2F0aW9uLT5n
ZXROYW1lKCk7CisJCSRjb250ZXh0ID0mIFJlcXVlc3Q6OmdldENvbnRleHQoKTsKKwkJJGNvbnRl
eHRJZCA9ICRjb250ZXh0LT5nZXRJZCgpOworCQkKKwkJJHJlc3VsdCA9ICYkdGhpcy0+cmV0cmll
dmUoCisJCQknU0VMRUNUIHNldHRpbmdfaWQgRlJPTSBub3RpZmljYXRpb25fc2V0dGluZ3MgV0hF
UkUgc2V0dGluZ19uYW1lID0gPyBBTkQgcHJvZHVjdCA9ID8gQU5EIGNvbnRleHQgPSA/JywKKwkJ
CWFycmF5KAorCQkJCSdndWVzdExpc3QnLAorCQkJCSRwcm9kdWN0TmFtZSwKKwkJCQkkY29udGV4
dElkCisJCQkpCisJCSk7CisKKwkJJHJvdyA9ICRyZXN1bHQtPkdldFJvd0Fzc29jKGZhbHNlKTsK
KwkJJHVzZXJJZCA9ICRyb3dbJ3NldHRpbmdfaWQnXTsKKworCQkkcmVzdWx0LT5DbG9zZSgpOwor
CQl1bnNldCgkcmVzdWx0KTsKKworCQlpbXBvcnQoJ3NlY3VyaXR5LkFjY2Vzc0tleU1hbmFnZXIn
KTsKKwkJJGFjY2Vzc0tleU1hbmFnZXIgPSBuZXcgQWNjZXNzS2V5TWFuYWdlcigpOworCQkkYWNj
ZXNzS2V5SGFzaCA9IEFjY2Vzc0tleU1hbmFnZXI6OmdlbmVyYXRlS2V5SGFzaCgkcGFzc3dvcmQp
OworCQkkYWNjZXNzS2V5ID0gJGFjY2Vzc0tleU1hbmFnZXItPnZhbGlkYXRlS2V5KCdNYWlsTGlz
dENvbnRleHQnLCAkdXNlcklkLCAkYWNjZXNzS2V5SGFzaCk7CisKKwkJaWYgKCRhY2Nlc3NLZXkp
IHsKKwkJCSR0aGlzLT51cGRhdGUoCisJCQkJJ0RFTEVURSBGUk9NIG5vdGlmaWNhdGlvbl9zZXR0
aW5ncyBXSEVSRSBzZXR0aW5nX25hbWUgPSA/IEFORCBzZXR0aW5nX3ZhbHVlID0gPyBBTkQgcHJv
ZHVjdCA9ID8gQU5EIGNvbnRleHQgPSA/JywKKwkJCQlhcnJheSgKKwkJCQkJJ2d1ZXN0TGlzdCcs
CisJCQkJCSRlbWFpbCwKKwkJCQkJJHByb2R1Y3ROYW1lLAorCQkJCQkkY29udGV4dElkCisJCQkJ
KQorCQkJKTsKKwkJCSRhY2Nlc3NLZXlEYW8gPSYgREFPUmVnaXN0cnk6OmdldERBTygnQWNjZXNz
S2V5REFPJyk7CisJCQkkYWNjZXNzS2V5RGFvLT5kZWxldGVBY2Nlc3NLZXkoJGFjY2Vzc0tleSk7
CisJCQlyZXR1cm4gdHJ1ZTsKKwkJfSBlbHNlIHJldHVybiBmYWxzZTsKKwkJCisJCQorCX0KKwor
CS8qKgorCSAqIEdldHMgYSBsaXN0IG9mIGVtYWlsIGFkZHJlc3NlcyBvZiB1c2VycyBzdWJzY3Jp
YmVkIHRvIHRoZSBtYWlsaW5nIGxpc3QKKwkgKiBAcmV0dXJuIGFycmF5CisJICovCisJZnVuY3Rp
b24gZ2V0R3Vlc3RMaXN0KCkgeworCQkkYXBwbGljYXRpb24gPSYgUEtQQXBwbGljYXRpb246Omdl
dEFwcGxpY2F0aW9uKCk7CisJCSRwcm9kdWN0TmFtZSA9ICRhcHBsaWNhdGlvbi0+Z2V0TmFtZSgp
OworCQkkY29udGV4dCA9JiBSZXF1ZXN0OjpnZXRDb250ZXh0KCk7CisJCSRjb250ZXh0SWQgPSAk
Y29udGV4dC0+Z2V0SWQoKTsKKwkJJGd1ZXN0TGlzdCA9IGFycmF5KCk7CisJCQorCQkkcmVzdWx0
ID0gJiR0aGlzLT5yZXRyaWV2ZSgKKwkJCSdTRUxFQ1Qgc2V0dGluZ192YWx1ZSBGUk9NIG5vdGlm
aWNhdGlvbl9zZXR0aW5ncyBXSEVSRSBzZXR0aW5nX25hbWUgPSA/IEFORCBwcm9kdWN0ID0gPyBB
TkQgY29udGV4dCA9ID8nLAorCQkJYXJyYXkoCisJCQkJJ2d1ZXN0TGlzdCcsCisJCQkJJHByb2R1
Y3ROYW1lLAorCQkJCSRjb250ZXh0SWQKKwkJCSkKKwkJKTsKKworCQl3aGlsZSAoISRyZXN1bHQt
PkVPRikgeworCQkJJHJvdyA9ICRyZXN1bHQtPkdldFJvd0Fzc29jKGZhbHNlKTsKKwkJCSRndWVz
dExpc3RbXSA9ICRyb3dbJ3NldHRpbmdfdmFsdWUnXTsKKwkJCSRyZXN1bHQtPm1vdmVOZXh0KCk7
CisJCX0KKworCQkkcmVzdWx0LT5DbG9zZSgpOworCQl1bnNldCgkcmVzdWx0KTsKKwkJCisJCXJl
dHVybiAkZ3Vlc3RMaXN0OworCX0KKworCS8qKgorCSAqIEdlbmVyYXRlcyBhbmQgaW5zZXJ0cyBh
IG5ldyBwYXNzd29yZCBmb3IgYSBtYWlsaW5nIGxpc3QgdXNlcgorCSAqIEBwYXJhbSAkZW1haWwg
c3RyaW5nCisJICogQHJldHVybiBzdHJpbmcKKwkgKi8KKwlmdW5jdGlvbiByZXNldFBhc3N3b3Jk
KCRlbWFpbCkgeworCQkkYXBwbGljYXRpb24gPSYgUEtQQXBwbGljYXRpb246OmdldEFwcGxpY2F0
aW9uKCk7CisJCSRwcm9kdWN0TmFtZSA9ICRhcHBsaWNhdGlvbi0+Z2V0TmFtZSgpOworCQkkY29u
dGV4dCA9JiBSZXF1ZXN0OjpnZXRDb250ZXh0KCk7CisJCSRjb250ZXh0SWQgPSAkY29udGV4dC0+
Z2V0SWQoKTsKKwkJCisJCSRyZXN1bHQgPSAmJHRoaXMtPnJldHJpZXZlKAorCQkJJ1NFTEVDVCBz
ZXR0aW5nX2lkIEZST00gbm90aWZpY2F0aW9uX3NldHRpbmdzIFdIRVJFIHNldHRpbmdfbmFtZSA9
ID8gQU5EIHNldHRpbmdfdmFsdWUgPSA/IEFORCBwcm9kdWN0ID0gPyBBTkQgY29udGV4dCA9ID8n
LAorCQkJYXJyYXkoCisJCQkJJ2d1ZXN0TGlzdCcsCisJCQkJJGVtYWlsLAorCQkJCSRwcm9kdWN0
TmFtZSwKKwkJCQkkY29udGV4dElkCisJCQkpCisJCSk7CisKKwkJJHJvdyA9ICRyZXN1bHQtPkdl
dFJvd0Fzc29jKGZhbHNlKTsKKwkJJHNldHRpbmdJZCA9ICRyb3dbJ3NldHRpbmdfaWQnXTsKKwor
CQkkcmVzdWx0LT5DbG9zZSgpOworCQl1bnNldCgkcmVzdWx0KTsKKworCQkkYWNjZXNzS2V5RGFv
ID0mIERBT1JlZ2lzdHJ5OjpnZXREQU8oJ0FjY2Vzc0tleURBTycpOworCQkkYWNjZXNzS2V5ID0g
JGFjY2Vzc0tleURhby0+Z2V0QWNjZXNzS2V5QnlVc2VySWQoJ01haWxMaXN0Q29udGV4dCcsICRz
ZXR0aW5nSWQpOworCisJCWlmICgkYWNjZXNzS2V5KSB7CisJCQkka2V5ID0gVmFsaWRhdGlvbjo6
Z2VuZXJhdGVQYXNzd29yZCgpOworCQkJJGFjY2Vzc0tleS0+c2V0S2V5SGFzaChtZDUoJGtleSkp
OworCQkJCisJCQkkYWNjZXNzS2V5RGFvID0mIERBT1JlZ2lzdHJ5OjpnZXREQU8oJ0FjY2Vzc0tl
eURBTycpOworCQkJJGFjY2Vzc0tleURhby0+dXBkYXRlQWNjZXNzS2V5KCRhY2Nlc3NLZXkpOwor
CQkJcmV0dXJuICRrZXk7CisJCX0gZWxzZSByZXR1cm4gZmFsc2U7CisJfQorCQorCQorCQorCQor
CQorCQorCQorCQorCQorCQorCQorCQorCisJLyoqCisJICogR2V0IHRoZSBJRCBvZiB0aGUgbGFz
dCBpbnNlcnRlZCBub3RpZmljYXRpb24KKwkgKiBAcmV0dXJuIGludAorCSAqLworCWZ1bmN0aW9u
IGdldEluc2VydE5vdGlmaWNhdGlvblNldHRpbmdJZCgpIHsKKwkJcmV0dXJuICR0aGlzLT5nZXRJ
bnNlcnRJZCgnbm90aWZpY2F0aW9uX3NldHRpbmdzJywgJ3NldHRpbmdfaWQnKTsKKwl9CisKK30K
KworPz4KSW5kZXg6IGNsYXNzZXMvc2VjdXJpdHkvQWNjZXNzS2V5REFPLmluYy5waHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQpSQ1MgZmlsZTogL2N2cy9wa3AvY2xhc3Nlcy9zZWN1cml0eS9BY2Nlc3NLZXlEQU8uaW5j
LnBocCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40CmRpZmYgLXUgLXIxLjQgQWNjZXNzS2V5REFP
LmluYy5waHAKLS0tIGNsYXNzZXMvc2VjdXJpdHkvQWNjZXNzS2V5REFPLmluYy5waHAJMiBEZWMg
MjAwOCAyMTowMToxMyAtMDAwMAkxLjQKKysrIGNsYXNzZXMvc2VjdXJpdHkvQWNjZXNzS2V5REFP
LmluYy5waHAJMjEgSmFuIDIwMDkgMDI6MDg6NTQgLTAwMDAKQEAgLTQxLDYgKzQxLDMwIEBACiAJ
CXVuc2V0KCRyZXN1bHQpOwogCQlyZXR1cm4gJGFjY2Vzc0tleTsKIAl9CisJCisJLyoqCisJICog
UmV0cmlldmUgYSBhY2Nlc3NLZXkgb2JqZWN0IHVzZXIgSUQuCisJICogQHBhcmFtICRjb250ZXh0
IHN0cmluZworCSAqIEBwYXJhbSAkdXNlcklkIGludAorCSAqIEByZXR1cm4gQWNjZXNzS2V5CisJ
ICovCisJZnVuY3Rpb24gJmdldEFjY2Vzc0tleUJ5VXNlcklkKCRjb250ZXh0LCAkdXNlcklkKSB7
CisJCSRyZXN1bHQgPSYgJHRoaXMtPnJldHJpZXZlKAorCQkJc3ByaW50ZigKKwkJCQknU0VMRUNU
ICogRlJPTSBhY2Nlc3Nfa2V5cyBXSEVSRSBjb250ZXh0ID0gPyBBTkQgdXNlcl9pZCA9ID8gQU5E
IGV4cGlyeV9kYXRlID4gJXMnLAorCQkJCSR0aGlzLT5kYXRldGltZVRvREIoQ29yZTo6Z2V0Q3Vy
cmVudERhdGUoKSkKKwkJCSksCisJCQlhcnJheSgkY29udGV4dCwgJHVzZXJJZCkKKwkJKTsKKwor
CQkkcmV0dXJuZXIgPSBudWxsOworCQlpZiAoJHJlc3VsdC0+UmVjb3JkQ291bnQoKSAhPSAwKSB7
CisJCQkkcmV0dXJuZXIgPSYgJHRoaXMtPl9yZXR1cm5BY2Nlc3NLZXlGcm9tUm93KCRyZXN1bHQt
PkdldFJvd0Fzc29jKGZhbHNlKSk7CisJCX0KKwkJJHJlc3VsdC0+Q2xvc2UoKTsKKwkJdW5zZXQo
JHJlc3VsdCk7CisJCXJldHVybiAkcmV0dXJuZXI7CisJfQogCiAJLyoqCiAJICogUmV0cmlldmUg
YSBhY2Nlc3NLZXkgb2JqZWN0IGJ5IGtleS4KQEAgLTExOCw3ICsxNDIsNyBAQAogCSAqLwogCWZ1
bmN0aW9uIHVwZGF0ZUFjY2Vzc0tleSgmJGFjY2Vzc0tleSkgewogCQlyZXR1cm4gJHRoaXMtPnVw
ZGF0ZSgKLQkJCXNwcmludGYoJ1VQREFURSBhY2Nlc3NLZXlzCisJCQlzcHJpbnRmKCdVUERBVEUg
YWNjZXNzX2tleXMKIAkJCQlTRVQKIAkJCQkJa2V5X2hhc2ggPSA/LAogCQkJCQlleHBpcnlfZGF0
ZSA9ICVzLApJbmRleDogY2xhc3Nlcy90ZW1wbGF0ZS9QS1BUZW1wbGF0ZU1hbmFnZXIuaW5jLnBo
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3BrcC9jbGFzc2VzL3RlbXBsYXRlL1BLUFRlbXBs
YXRlTWFuYWdlci5pbmMucGhwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjcKZGlmZiAtdSAtcjEu
NyBQS1BUZW1wbGF0ZU1hbmFnZXIuaW5jLnBocAotLS0gY2xhc3Nlcy90ZW1wbGF0ZS9QS1BUZW1w
bGF0ZU1hbmFnZXIuaW5jLnBocAkxOSBOb3YgMjAwOCAyMzo0NDoyNSAtMDAwMAkxLjcKKysrIGNs
YXNzZXMvdGVtcGxhdGUvUEtQVGVtcGxhdGVNYW5hZ2VyLmluYy5waHAJMjEgSmFuIDIwMDkgMDI6
MDg6NTQgLTAwMDAKQEAgLTQxNCw5ICs0MTQsOSBAQAogCQkJaWYgKGlzc2V0KCRwYXJhbXNbJ25h
bWUnXSkpIHsKIAkJCQkvLyBidWlsZCBpbWFnZSB0YWcgd2l0aCBzdGFuZGFyaXplZCBzaXplIG9m
IDE2eDE2CiAJCQkJJGRpc2FibGVkID0gKGlzc2V0KCRwYXJhbXNbJ2Rpc2FibGVkJ10pICYmICFl
bXB0eSgkcGFyYW1zWydkaXNhYmxlZCddKSk7Ci0JCQkJaWYgKCFpc3NldCgkcGFyYW1zWydwYXRo
J10pKSAkcGFyYW1zWydwYXRoJ10gPSAndGVtcGxhdGVzL2ltYWdlcy9pY29ucy8nOworCQkJCWlm
ICghaXNzZXQoJHBhcmFtc1sncGF0aCddKSkgJHBhcmFtc1sncGF0aCddID0gJ2xpYi9wa3AvdGVt
cGxhdGVzL2ltYWdlcy9pY29ucy8nOwogCQkJCSRpY29uSHRtbCA9ICc8aW1nIHNyYz0iJyAuICRz
bWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdiYXNlVXJsJykgLiAnLycgLiAkcGFyYW1zWydwYXRo
J107Ci0JCQkJJGljb25IdG1sIC49ICRwYXJhbXNbJ25hbWUnXSAuICgkZGlzYWJsZWQgPyAnX2Rp
c2FibGVkJyA6ICcnKSAuICcuZ2lmIiB3aWR0aD0iMTYiIGhlaWdodD0iMTQiIGFsdD0iJzsKKwkJ
CQkkaWNvbkh0bWwgLj0gJHBhcmFtc1snbmFtZSddIC4gKCRkaXNhYmxlZCA/ICdfZGlzYWJsZWQn
IDogJycpIC4gJy5wbmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNCIgYWx0PSInOwogCiAJCQkJLy8g
aWYgYWx0IHBhcmFtZXRlciBzcGVjaWZpZWQgdXNlIGl0LCBvdGhlcndpc2UgdXNlIGxvY2FsaXph
dGlvbiB2ZXJzaW9uCiAJCQkJaWYgKGlzc2V0KCRwYXJhbXNbJ2FsdCddKSkgewpJbmRleDogbG9j
YWxlL2VuX1VTL2NvbW1vbi54bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9wa3AvbG9jYWxl
L2VuX1VTL2NvbW1vbi54bWwsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNQpkaWZmIC11IC1yMS41
IGNvbW1vbi54bWwKLS0tIGxvY2FsZS9lbl9VUy9jb21tb24ueG1sCTUgRGVjIDIwMDggMTg6MTE6
MzYgLTAwMDAJMS41CisrKyBsb2NhbGUvZW5fVVMvY29tbW9uLnhtbAkyMSBKYW4gMjAwOSAwMjow
ODo1NiAtMDAwMApAQCAtMjQ1LDYgKzI0NSw0NiBAQAogCTxtZXNzYWdlIGtleT0ibmF2aWdhdGlv
bi5zdGVwTnVtYmVyIj5TdGVwIHskc3RlcH08L21lc3NhZ2U+CiAJPG1lc3NhZ2Uga2V5PSJuYXZp
Z2F0aW9uLnVzZXJIb21lIj5Vc2VyIEhvbWU8L21lc3NhZ2U+CiAJPG1lc3NhZ2Uga2V5PSJuYXZp
Z2F0aW9uLnVzZXIiPlVzZXI8L21lc3NhZ2U+CisJPG1lc3NhZ2Uga2V5PSJub3RpZmljYXRpb24u
YWxsb3ciPkFsbG93IHRoZXNlIHR5cGVzIG9mIG5vdGlmaWNhdGlvbnMgdG8gYXBwZWFyIGluIG15
IG5vdGlmaWNhdGlvbiBmZWVkLjwvbWVzc2FnZT4KKwk8bWVzc2FnZSBrZXk9Im5vdGlmaWNhdGlv
bi5lbWFpbCI+QWxzbyBzZW5kIG1lIGFuIGVtYWlsIGZvciB0aGVzZSB0eXBlcyBvZiBub3RpZmlj
YXRpb25zLjwvbWVzc2FnZT4KKwk8bWVzc2FnZSBrZXk9Im5vdGlmaWNhdGlvbi5sb2NhdGlvbiI+
R28gVG8gVVJMPC9tZXNzYWdlPgorCTxtZXNzYWdlIGtleT0ibm90aWZpY2F0aW9uLm1haWxMaXN0
Ij5Ob3RpZmljYXRpb24gbWFpbGluZyBsaXN0PC9tZXNzYWdlPgorCTxtZXNzYWdlIGtleT0ibm90
aWZpY2F0aW9uLm1haWxMaXN0RGVzY3JpcHRpb24iPkVudGVyIHlvdXIgZW1haWwgYWRkcmVzcyB0
byByZWNlaXZlIGltbWVkaWF0ZSBub3RpZmljYXRpb25zIG9mIGltcG9ydGFudCBuZXcgY29udGVu
dCBhZGRlZCB0byB0aGUgam91cm5hbC48L21lc3NhZ2U+CisJPG1lc3NhZ2Uga2V5PSJub3RpZmlj
YXRpb24ubWFpbExpc3QucHJpdmFjeVByb3RlY3Rpb24iPlByaXZhY3kgcHJvdGVjdGlvbiBwb2xp
Y3k8L21lc3NhZ2U+CisJPG1lc3NhZ2Uga2V5PSJub3RpZmljYXRpb24ubWFpbExpc3QucHJvdGVj
dGVkQ29udGVudCI+PCFbQ0RBVEFbPGEgaHJlZj0ieyRzdWJzY3JpYmVVcmx9Ij5TdWJzY3JpYmU8
L2E+IHRvIHByb3RlY3RlZCBjb250ZW50Ll1dPjwvbWVzc2FnZT4KKwk8bWVzc2FnZSBrZXk9Im5v
dGlmaWNhdGlvbi5tYWlsTGlzdC5zdWJtaXQiPjwhW0NEQVRBW09yIDxhIGhyZWY9Inskc3VibWl0
VXJsfSI+c3VibWl0PC9hPiBhbiBhcnRpY2xlP11dPjwvbWVzc2FnZT4KKwk8bWVzc2FnZSBrZXk9
Im5vdGlmaWNhdGlvbi5tYWlsTGlzdC5yZXZpZXciPjwhW0NEQVRBW1dhbnQgdG8gYWxzbyA8YSBo
cmVmPSJ7JHJldmlld1VybH0iPnJldmlldzwvYT4/XV0+PC9tZXNzYWdlPgorCTxtZXNzYWdlIGtl
eT0ibm90aWZpY2F0aW9uLm5vbmVFeGlzdCI+WW91IGhhdmUgbm8gbm90aWZpY2F0aW9ucyBhdCB0
aGlzIHRpbWUuPC9tZXNzYWdlPgorCTxtZXNzYWdlIGtleT0ibm90aWZpY2F0aW9uLm5vdGlmaWNh
dGlvbiI+Tm90aWZpY2F0aW9uPC9tZXNzYWdlPgkKKwk8bWVzc2FnZSBrZXk9Im5vdGlmaWNhdGlv
bi5ub3RpZmljYXRpb25zIj5Ob3RpZmljYXRpb25zPC9tZXNzYWdlPgkKKwk8bWVzc2FnZSBrZXk9
Im5vdGlmaWNhdGlvbi5ub3RpZmljYXRpb25zRGVzY3JpcHRpb24iPllvdSBoYXZlIHskdW5yZWFk
Q291bnR9IHVucmVhZCBub3RpZmljYXRpb25zIGFuZCB7JHJlYWRDb3VudH0gcmVhZCBub3RpZmlj
YXRpb25zLjwhW0NEQVRBWyAgPGEgaHJlZj0ieyRzZXR0aW5nc1VybH0iPkNsaWNrIGhlcmU8L2E+
IHRvIGNoYW5nZSB5b3VyIG5vdGlmaWNhdGlvbiBzZXR0aW5ncy5dXT48L21lc3NhZ2U+CisJPG1l
c3NhZ2Uga2V5PSJub3RpZmljYXRpb24ubm90aWZpY2F0aW9uc1B1YmxpY0Rlc2NyaXB0aW9uIj5U
aGlzIHBhZ2Ugc2hvd3MgaW1wb3J0YW50IHVwZGF0ZXMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgam91
cm5hbCBzdWNoIGFzIG5ldyBpc3N1ZXMgb3IgYW5ub3VuY2VtZW50cy4gIFlvdSBtYXkgc3Vic2Ny
aWJlIHRvIHRoZXNlIG5vdGlmaWNhdGlvbnMgdGhyb3VnaCBSU1MgZmVlZHMgKGJ5IGNsaWNraW5n
IG9uIHRoZSBpbWFnZXMgdG8gdGhlIHJpZ2h0KSwgb3IgPCFbQ0RBVEFbICA8YSBocmVmPSJ7JGVt
YWlsVXJsfSI+dGhyb3VnaCBlbWFpbC48L2E+XV0+PC9tZXNzYWdlPgorCTxtZXNzYWdlIGtleT0i
bm90aWZpY2F0aW9uLnNldHRpbmdzIj5Ob3RpZmljYXRpb24gU2V0dGluZ3M8L21lc3NhZ2U+CisJ
PG1lc3NhZ2Uga2V5PSJub3RpZmljYXRpb24uc2V0dGluZ3NEZXNjcmlwdGlvbiI+U2VsZWN0IHRo
ZSBzeXN0ZW0gZXZlbnRzIHRoYXQgeW91IHdpc2ggdG8gYmUgbm90aWZpZWQgYWJvdXQuICBVbmNo
ZWNraW5nIGFuIGl0ZW0gd2lsbCBwcmV2ZW50IG5vdGlmaWNhdGlvbnMgb2YgdGhlIGV2ZW50IGZy
b20gc2hvd2luZyB1cCBpbiB5b3VyIG5vdGlmaWNhdGlvbiBmZWVkLjwvbWVzc2FnZT4KKwk8bWVz
c2FnZSBrZXk9Im5vdGlmaWNhdGlvbi5zdWJzY3JpYmVFcnJvciI+WW91ciBlbWFpbCBhZGRyZXNz
IGlzIGFscmVhZHkgc3Vic2NyaWJlZCB0byBub3RpZmljYXRpb25zLjwvbWVzc2FnZT4KKwk8bWVz
c2FnZSBrZXk9Im5vdGlmaWNhdGlvbi5zdWJzY3JpYmVTdWNjZXNzIj5Zb3VyIGVtYWlsIGFkZHJl
c3MgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGFkZGVkIHRvIHRoZSBtYWlsaW5nIGxpc3QuPC9tZXNz
YWdlPgorCTxtZXNzYWdlIGtleT0ibm90aWZpY2F0aW9uLnJlbWluZGVyRXJyb3IiPlRoZXJlIHdh
cyBhbiBlcnJvciBzZW5kaW5nIHlvdXIgcGFzc3dvcmQsIHBsZWFzZSBlbnN1cmUgeW91J3ZlIGVu
dGVyZWQgeW91ciBlbWFpbCBhZGRyZXNzIGNvcnJlY3RseS48L21lc3NhZ2U+CisJPG1lc3NhZ2Ug
a2V5PSJub3RpZmljYXRpb24ucmVtaW5kZXJTZW50Ij5Zb3VyIG5ldyBwYXNzd29yZCBoYXMgYmVl
biBzZW50IHRvIHRoZSBlbWFpbCBhZGRyZXNzIHByb3ZpZGVkLjwvbWVzc2FnZT4KKwk8bWVzc2Fn
ZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLmFydGljbGVTdWJtaXR0ZWQiPkEgbmV3IGFydGljbGUs
ICJ7JHBhcmFtfSIsIGhhcyBiZWVuIHN1Ym1pdHRlZC48L21lc3NhZ2U+CisJPG1lc3NhZ2Uga2V5
PSJub3RpZmljYXRpb24udHlwZS5jb3B5ZWRpdENvbW1lbnQiPkEgY29weWVkaXRvciBoYXMgbGVm
dCBhIGNvbW1lbnQgb24gInskcGFyYW19Ii48L21lc3NhZ2U+CisJPG1lc3NhZ2Uga2V5PSJub3Rp
ZmljYXRpb24udHlwZS5lZGl0b3JEZWNpc2lvbkNvbW1lbnQiPkEgY29tbWVudCBoYXMgYmVlbiBs
ZWZ0IG9uIHRoZSBlZGl0b3IgZGVjaXNpb24gZm9yICJ7JHBhcmFtfSIuPC9tZXNzYWdlPgorCTxt
ZXNzYWdlIGtleT0ibm90aWZpY2F0aW9uLnR5cGUuZ2FsbGV5QWRkZWQiPkEgZ2FsbGV5IGhhcyBi
ZWVuIGFkZGVkIGZvciAieyRwYXJhbX0iLjwvbWVzc2FnZT4KKwk8bWVzc2FnZSBrZXk9Im5vdGlm
aWNhdGlvbi50eXBlLmdhbGxleU1vZGlmaWVkIj5BbiBnYWxsZXkgaGFzIGJlZW4gbW9kaWZpZWQg
Zm9yICJ7JHBhcmFtfSIuPC9tZXNzYWdlPgorCTxtZXNzYWdlIGtleT0ibm90aWZpY2F0aW9uLnR5
cGUuaXNzdWVQdWJsaXNoZWQiPkFuIGlzc3VlIGhhcyBiZWVuIHB1Ymxpc2hlZC48L21lc3NhZ2U+
CisJPG1lc3NhZ2Uga2V5PSJub3RpZmljYXRpb24udHlwZS5sYXlvdXRDb21tZW50Ij5BIGNvbW1l
bnQgaGFzIGJlZW4gbGVmdCBhYm91dCAieyRwYXJhbX0ncyIgbGF5b3V0LjwvbWVzc2FnZT4KKwk8
bWVzc2FnZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLm1ldGFkYXRhTW9kaWZpZWQiPiJ7JHBhcmFt
fSdzIiBtZXRhZGF0YSBoYXMgYmVlbiBtb2RpZmllZC48L21lc3NhZ2U+CisJPG1lc3NhZ2Uga2V5
PSJub3RpZmljYXRpb24udHlwZS5vdGhlciI+T3RoZXIgRXZlbnRzPC9tZXNzYWdlPgorCTxtZXNz
YWdlIGtleT0ibm90aWZpY2F0aW9uLnR5cGUucHJvb2ZyZWFkQ29tbWVudCI+QSBjb21tZW50IGhh
cyBiZWVuIGxlZnQgYnkgYSBwcm9vZnJlYWRlciBvbiAieyRwYXJhbX0iLjwvbWVzc2FnZT4KKwk8
bWVzc2FnZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLnJldmlld2VyQ29tbWVudCI+QSByZXZpZXdl
ciBoYXMgY29tbWVudGVkIG9uICJ7JHBhcmFtfSIuPC9tZXNzYWdlPgorCTxtZXNzYWdlIGtleT0i
bm90aWZpY2F0aW9uLnR5cGUucmV2aWV3ZXJGb3JtQ29tbWVudCI+QSByZXZpZXcgZm9ybSByZXZp
ZXcgaGFzIGJlZW4gc3VibWl0dGVkIGZvciAieyRwYXJhbX0iLjwvbWVzc2FnZT4KKwk8bWVzc2Fn
ZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLnN1Ym1pc3Npb25Db21tZW50Ij5BbiBlZGl0b3IgaGFz
IG1hZGUgYSBjb21tZW50IG9uICJ7JHBhcmFtfSIuPC9tZXNzYWdlPgorCTxtZXNzYWdlIGtleT0i
bm90aWZpY2F0aW9uLnR5cGUuc3VibWlzc2lvbnMiPlN1Ym1pc3Npb24gRXZlbnRzPC9tZXNzYWdl
PgorCTxtZXNzYWdlIGtleT0ibm90aWZpY2F0aW9uLnR5cGUuc3VwcEZpbGVBZGRlZCI+QSBzdXBw
bGVtZW50YXJ5IGZpbGUgaGFzIGJlZW4gYWRkZWQgdG8gInskcGFyYW19Ii48L21lc3NhZ2U+CisJ
PG1lc3NhZ2Uga2V5PSJub3RpZmljYXRpb24udHlwZS5zdXBwRmlsZU1vZGlmaWVkIj4ieyRwYXJh
bX0ncyIgc3VwcGxlbWVudGFyeSBmaWxlKHMpIGhhcyBiZWVuIG1vZGlmaWVkLjwvbWVzc2FnZT4K
Kwk8bWVzc2FnZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLnVzZXJDb21tZW50Ij5BIHJlYWRlciBo
YXMgbWFkZSBhIGNvbW1lbnQgb24gInskcGFyYW19IjwvbWVzc2FnZT4KKwk8bWVzc2FnZSBrZXk9
Im5vdGlmaWNhdGlvbi51bnN1YnNjcmliZURlc2NyaXB0aW9uIj5FbnRlciB5b3VyIGVtYWlsIGFk
ZHJlc3MgYW5kIHBhc3N3b3JkIGJlbG93IHRvIHVuc3Vic2NyaWJlIGZyb20gZW1haWwgbm90aWZp
Y2F0aW9ucy4gIElmIHlvdSBkbyBub3QgcmVtZW1iZXIgeW91ciBwYXNzd29yZCwgbGVhdmUgdGhl
IHBhc3N3b3JkIGZpZWxkIGJsYW5rIGFuZCBhIG5ldyBvbmUgd2lsbCBiZSBlbWFpbGVkIHRvIHlv
dSBhdCB0aGUgZ2l2ZW4gZW1haWwgYWRkcmVzcy48L21lc3NhZ2U+CQorCTxtZXNzYWdlIGtleT0i
bm90aWZpY2F0aW9uLnVuc3Vic2NyaWJlRXJyb3IiPlRoZXJlIHdhcyBhbiBlcnJvciB1bnN1YnNj
cmliaW5nIHlvdS4gIFBsZWFzZSBlbnN1cmUgeW91ciBlbWFpbCBhZGRyZXNzIGFuZCBwYXNzd29y
ZCBhcmUgY29ycmVjdC48L21lc3NhZ2U+CisJPG1lc3NhZ2Uga2V5PSJub3RpZmljYXRpb24udW5z
dWJzY3JpYmVTdWNjZXNzIj5Zb3Ugd2VyZSBzdWNjZXNzZnVsbHkgdW5zdWJzY3JpYmVkLjwvbWVz
c2FnZT4JCiAJPG1lc3NhZ2Uga2V5PSJzZWFyY2guYWJzdHJhY3QiPkFic3RyYWN0PC9tZXNzYWdl
PgogCTxtZXNzYWdlIGtleT0ic2VhcmNoLmFsbEZpZWxkcyI+QWxsPC9tZXNzYWdlPgogCTxtZXNz
YWdlIGtleT0ic2VhcmNoLmNvdmVyYWdlIj5Db3ZlcmFnZTwvbWVzc2FnZT4KSW5kZXg6IHBhZ2Vz
L25vdGlmaWNhdGlvbi9Ob3RpZmljYXRpb25IYW5kbGVyLmluYy5waHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1Mg
ZmlsZTogcGFnZXMvbm90aWZpY2F0aW9uL05vdGlmaWNhdGlvbkhhbmRsZXIuaW5jLnBocApkaWZm
IC1OIHBhZ2VzL25vdGlmaWNhdGlvbi9Ob3RpZmljYXRpb25IYW5kbGVyLmluYy5waHAKLS0tIC9k
ZXYvbnVsbAkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAwCisrKyBwYWdlcy9ub3RpZmljYXRpb24v
Tm90aWZpY2F0aW9uSGFuZGxlci5pbmMucGhwCTIxIEphbiAyMDA5IDAyOjA4OjU2IC0wMDAwCkBA
IC0wLDAgKzEsMzE5IEBACis8P3BocAorCisvKioKKyAqIEBmaWxlIE5vdGlmaWNhdGlvbkhhbmRs
ZXIuaW5jLnBocAorICoKKyAqIENvcHlyaWdodCAoYykgMjAwMC0yMDA4IEpvaG4gV2lsbGluc2t5
CisgKiBEaXN0cmlidXRlZCB1bmRlciB0aGUgR05VIEdQTCB2Mi4gRm9yIGZ1bGwgdGVybXMgc2Vl
IHRoZSBmaWxlIGRvY3MvQ09QWUlORy4KKyAqCisgKiBAY2xhc3MgTm90aWZpY2F0aW9uSGFuZGxl
cgorICogQGluZ3JvdXAgcGFnZXNfaGVscAorICoKKyAqIEBicmllZiBIYW5kbGUgcmVxdWVzdHMg
Zm9yIHZpZXdpbmcgbm90aWZpY2F0aW9ucy4gCisgKi8KKworaW1wb3J0KCdjb3JlLlBLUEhhbmRs
ZXInKTsKK2ltcG9ydCgnbm90aWZpY2F0aW9uLk5vdGlmaWNhdGlvbicpOworCitjbGFzcyBOb3Rp
ZmljYXRpb25IYW5kbGVyIGV4dGVuZHMgUEtQSGFuZGxlciB7CisKKwkvKioKKwkgKiBEaXNwbGF5
IGhlbHAgdGFibGUgb2YgY29udGVudHMuCisJICovCisJZnVuY3Rpb24gaW5kZXgoKSB7CisJCXBh
cmVudDo6dmFsaWRhdGUoKTsKKwkJcGFyZW50OjpzZXR1cFRlbXBsYXRlKCk7CisJCSR0ZW1wbGF0
ZU1nciA9JiBUZW1wbGF0ZU1hbmFnZXI6OmdldE1hbmFnZXIoKTsKKwkJCisJCSR1c2VyID0gUmVx
dWVzdDo6Z2V0VXNlcigpOworCQlpZihpc3NldCgkdXNlcikpIHsKKwkJCSR1c2VySWQgPSAkdXNl
ci0+Z2V0VXNlcklkKCk7CisJCQkkdGVtcGxhdGVNZ3ItPmFzc2lnbignaXNVc2VyTG9nZ2VkSW4n
LCB0cnVlKTsKKwkJfSBlbHNlIHsKKwkJCSR1c2VySWQgPSAwOworCQkJJHRlbXBsYXRlTWdyLT5h
c3NpZ24oJ2VtYWlsVXJsJywgUmVxdWVzdDo6dXJsKG51bGwsICdub3RpZmljYXRpb24nLCAnc3Vi
c2NyaWJlTWFpbExpc3QnKSk7CisJCQkkdGVtcGxhdGVNZ3ItPmFzc2lnbignaXNVc2VyTG9nZ2Vk
SW4nLCBmYWxzZSk7CisJCX0KKworCQkkbm90aWZpY2F0aW9uRGFvID0gJkRBT1JlZ2lzdHJ5Ojpn
ZXREQU8oJ05vdGlmaWNhdGlvbkRBTycpOworCQkkbm90aWZpY2F0aW9ucyA9ICRub3RpZmljYXRp
b25EYW8tPmdldE5vdGlmaWNhdGlvbnNCeVVzZXJJZCgkdXNlcklkKTsKKwkJCisJCSR0ZW1wbGF0
ZU1nci0+YXNzaWduKCdub3RpZmljYXRpb25zJywgJG5vdGlmaWNhdGlvbnMpOworCQkkdGVtcGxh
dGVNZ3ItPmFzc2lnbigndW5yZWFkJywgJG5vdGlmaWNhdGlvbkRhby0+Z2V0VW5yZWFkTm90aWZp
Y2F0aW9uQ291bnQoJHVzZXJJZCkpOworCQkkdGVtcGxhdGVNZ3ItPmFzc2lnbigncmVhZCcsICRu
b3RpZmljYXRpb25EYW8tPmdldFJlYWROb3RpZmljYXRpb25Db3VudCgkdXNlcklkKSk7CisJCSR0
ZW1wbGF0ZU1nci0+YXNzaWduKCd1cmwnLCBSZXF1ZXN0Ojp1cmwobnVsbCwgJ25vdGlmaWNhdGlv
bicsICdzZXR0aW5ncycpKTsKKwkJJHRlbXBsYXRlTWdyLT5kaXNwbGF5KCdub3RpZmljYXRpb24v
aW5kZXgudHBsJyk7CisJfQorCQorCS8qKgorCSAqIERlbGV0ZSBhIG5vdGlmaWNhdGlvbgorCSAq
LworCWZ1bmN0aW9uIGRlbGV0ZSgkYXJncykgeworCQlwYXJlbnQ6OnZhbGlkYXRlKCk7CisJCQor
CQkkdXNlciA9IFJlcXVlc3Q6OmdldFVzZXIoKTsKKwkJaWYoaXNzZXQoJHVzZXIpKSB7CisJCQkk
dXNlcklkID0gJHVzZXItPmdldFVzZXJJZCgpOworCQkJJG5vdGlmaWNhdGlvbkRhbyA9ICZEQU9S
ZWdpc3RyeTo6Z2V0REFPKCdOb3RpZmljYXRpb25EQU8nKTsKKwkJCSRub3RpZmljYXRpb25zID0g
JG5vdGlmaWNhdGlvbkRhby0+ZGVsZXRlTm90aWZpY2F0aW9uQnlJZCgkYXJnc1swXSwgJHVzZXJJ
ZCk7CisJCX0KKwkJCisJCVJlcXVlc3Q6OnJlZGlyZWN0KG51bGwsICdub3RpZmljYXRpb24nKTsK
Kwl9CisJCisJLyoqCisJICogRGVsZXRlIGEgbm90aWZpY2F0aW9uCisJICovCisJZnVuY3Rpb24g
ZGVsZXRlQWpheCgkYXJncykgeworCQlwYXJlbnQ6OnZhbGlkYXRlKCk7CisJCQorCQkkdXNlciA9
IFJlcXVlc3Q6OmdldFVzZXIoKTsKKwkJaWYoaXNzZXQoJHVzZXIpKSB7CisJCQkkdXNlcklkID0g
JHVzZXItPmdldFVzZXJJZCgpOworCQkJJG5vdGlmaWNhdGlvbkRhbyA9ICZEQU9SZWdpc3RyeTo6
Z2V0REFPKCdOb3RpZmljYXRpb25EQU8nKTsKKwkJCSRub3RpZmljYXRpb25zID0gJG5vdGlmaWNh
dGlvbkRhby0+ZGVsZXRlTm90aWZpY2F0aW9uQnlJZCgkYXJnc1swXSwgJHVzZXJJZCk7CisJCX0K
Kwl9CisJCisJLyoqCisJICogVmlldyBhbmQgbW9kaWZ5IG5vdGlmaWNhdGlvbiBzZXR0aW5ncwor
CSAqLworCWZ1bmN0aW9uIHNldHRpbmdzKCkgeworCQlwYXJlbnQ6OnZhbGlkYXRlKCk7CisJCQkJ
CisJCSR1c2VyID0gUmVxdWVzdDo6Z2V0VXNlcigpOworCQlpZihpc3NldCgkdXNlcikpIHsKKwkJ
CSR1c2VySWQgPSAkdXNlci0+Z2V0VXNlcklkKCk7CisJCQkJCQorCQkJJG5vdGlmaWNhdGlvblNl
dHRpbmdzRGFvID0gJkRBT1JlZ2lzdHJ5OjpnZXREQU8oJ05vdGlmaWNhdGlvblNldHRpbmdzREFP
Jyk7CisJCQkkbm90aWZpY2F0aW9uU2V0dGluZ3MgPSAkbm90aWZpY2F0aW9uU2V0dGluZ3NEYW8t
PmdldE5vdGlmaWNhdGlvblNldHRpbmdzKCR1c2VySWQpOworCQkJJGVtYWlsU2V0dGluZ3MgPSAk
bm90aWZpY2F0aW9uU2V0dGluZ3NEYW8tPmdldE5vdGlmaWNhdGlvbkVtYWlsU2V0dGluZ3MoJHVz
ZXJJZCk7CisKKwkJCSR0ZW1wbGF0ZU1nciA9ICZUZW1wbGF0ZU1hbmFnZXI6OmdldE1hbmFnZXIo
KTsKKwkJCSR0ZW1wbGF0ZU1nci0+YXNzaWduKCdub3RpZmljYXRpb25TZXR0aW5ncycsICRub3Rp
ZmljYXRpb25TZXR0aW5ncyk7CisJCQkkdGVtcGxhdGVNZ3ItPmFzc2lnbignZW1haWxTZXR0aW5n
cycsICRlbWFpbFNldHRpbmdzKTsKKwkJCSR0ZW1wbGF0ZU1nci0+YXNzaWduKCd0aXRsZVZhcics
IExvY2FsZTo6dHJhbnNsYXRlKCdjb21tb24udGl0bGUnKSk7CisJCQkkdGVtcGxhdGVNZ3ItPmFz
c2lnbigndXNlclZhcicsIExvY2FsZTo6dHJhbnNsYXRlKCdjb21tb24udXNlcicpKTsKKwkJCSR0
ZW1wbGF0ZU1nci0+ZGlzcGxheSgnbm90aWZpY2F0aW9uL3NldHRpbmdzLnRwbCcpOworCQl9IGVs
c2UgUmVxdWVzdDo6cmVkaXJlY3QobnVsbCwgJ25vdGlmaWNhdGlvbicpOworCX0KKwkKKwkvKioK
KwkgKiBTYXZlIHVzZXIgbm90aWZpY2F0aW9uIHNldHRpbmdzCisJICovCisJZnVuY3Rpb24gc2F2
ZVNldHRpbmdzKCkgeworCQlwYXJlbnQ6OnZhbGlkYXRlKCk7CisJCQorCQkkc2V0dGluZ3MgPSBh
cnJheSgpOworCQkKKwkJJHVzZXIgPSBSZXF1ZXN0OjpnZXRVc2VyKCk7CisJCWlmKGlzc2V0KCR1
c2VyKSkgeworCQkJJHVzZXJJZCA9ICR1c2VyLT5nZXRVc2VySWQoKTsKKwkJCSRub3RpZmljYXRp
b25TZXR0aW5nc0RhbyA9ICZEQU9SZWdpc3RyeTo6Z2V0REFPKCdOb3RpZmljYXRpb25TZXR0aW5n
c0RBTycpOworCQkJCisJCQkvLyBOb3RpZmljYXRpb24gc2V0dGluZ3MKKwkJCSRzZXR0aW5ncyA9
IGFycmF5KCk7CisJCQlpZighUmVxdWVzdDo6Z2V0VXNlclZhcignbm90aWZpY2F0aW9uQXJ0aWNs
ZVN1Ym1pdHRlZCcpKSAkc2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9UWVBFX0FSVElDTEVfU1VC
TUlUVEVEOworCQkJaWYoIVJlcXVlc3Q6OmdldFVzZXJWYXIoJ25vdGlmaWNhdGlvbk1ldGFkYXRh
TW9kaWZpZWQnKSkgJHNldHRpbmdzW10gPSBOT1RJRklDQVRJT05fVFlQRV9NRVRBREFUQV9NT0RJ
RklFRDsKKwkJCWlmKCFSZXF1ZXN0OjpnZXRVc2VyVmFyKCdub3RpZmljYXRpb25TdXBwRmlsZUFk
ZGVkJykpICRzZXR0aW5nc1tdID0gTk9USUZJQ0FUSU9OX1RZUEVfU1VQUF9GSUxFX0FEREVEOwor
CQkJaWYoIVJlcXVlc3Q6OmdldFVzZXJWYXIoJ25vdGlmaWNhdGlvblN1cHBGaWxlTW9kaWZpZWQn
KSkgJHNldHRpbmdzW10gPSBOT1RJRklDQVRJT05fVFlQRV9TVVBQX0ZJTEVfTU9ESUZJRUQ7CisJ
CQlpZighUmVxdWVzdDo6Z2V0VXNlclZhcignbm90aWZpY2F0aW9uR2FsbGV5QWRkZWQnKSkgJHNl
dHRpbmdzW10gPSBOT1RJRklDQVRJT05fVFlQRV9HQUxMRVlfQURERUQ7CisJCQlpZighUmVxdWVz
dDo6Z2V0VXNlclZhcignbm90aWZpY2F0aW9uR2FsbGV5TW9kaWZpZWQnKSkgJHNldHRpbmdzW10g
PSBOT1RJRklDQVRJT05fVFlQRV9HQUxMRVlfTU9ESUZJRUQ7CisJCQlpZighUmVxdWVzdDo6Z2V0
VXNlclZhcignbm90aWZpY2F0aW9uU3VibWlzc2lvbkNvbW1lbnQnKSkgJHNldHRpbmdzW10gPSBO
T1RJRklDQVRJT05fVFlQRV9TVUJNSVNTSU9OX0NPTU1FTlQ7CisJCQlpZighUmVxdWVzdDo6Z2V0
VXNlclZhcignbm90aWZpY2F0aW9uTGF5b3V0Q29tbWVudCcpKSAkc2V0dGluZ3NbXSA9IE5PVElG
SUNBVElPTl9UWVBFX0xBWU9VVF9DT01NRU5UOworCQkJaWYoIVJlcXVlc3Q6OmdldFVzZXJWYXIo
J25vdGlmaWNhdGlvbkNvcHllZGl0Q29tbWVudCcpKSAkc2V0dGluZ3NbXSA9IE5PVElGSUNBVElP
Tl9UWVBFX0NPUFlFRElUX0NPTU1FTlQ7CisJCQlpZighUmVxdWVzdDo6Z2V0VXNlclZhcignbm90
aWZpY2F0aW9uUHJvb2ZyZWFkQ29tbWVudCcpKSAkc2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9U
WVBFX1BST09GUkVBRF9DT01NRU5UOworCQkJaWYoIVJlcXVlc3Q6OmdldFVzZXJWYXIoJ25vdGlm
aWNhdGlvblJldmlld2VyQ29tbWVudCcpKSAkc2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9UWVBF
X1JFVklFV0VSX0NPTU1FTlQ7CisJCQlpZighUmVxdWVzdDo6Z2V0VXNlclZhcignbm90aWZpY2F0
aW9uUmV2aWV3ZXJGb3JtQ29tbWVudCcpKSAkc2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9UWVBF
X1JFVklFV0VSX0ZPUk1fQ09NTUVOVDsKKwkJCWlmKCFSZXF1ZXN0OjpnZXRVc2VyVmFyKCdub3Rp
ZmljYXRpb25FZGl0b3JEZWNpc2lvbkNvbW1lbnQnKSkgJHNldHRpbmdzW10gPSBOT1RJRklDQVRJ
T05fVFlQRV9FRElUT1JfREVDSVNJT05fQ09NTUVOVDsgCisJCQlpZighUmVxdWVzdDo6Z2V0VXNl
clZhcignbm90aWZpY2F0aW9uUHVibGlzaGVkSXNzdWUnKSkgJHNldHRpbmdzW10gPSBOT1RJRklD
QVRJT05fVFlQRV9QVUJMSVNIRURfSVNTVUU7CisJCQlpZighUmVxdWVzdDo6Z2V0VXNlclZhcign
bm90aWZpY2F0aW9uVXNlckNvbW1lbnQnKSkgJHNldHRpbmdzW10gPSBOT1RJRklDQVRJT05fVFlQ
RV9VU0VSX0NPTU1FTlQ7CisJCQkKKwkJCS8vIEVtYWlsIHNldHRpbmdzCisJCQkkZW1haWxTZXR0
aW5ncyA9IGFycmF5KCk7CisJCQlpZihSZXF1ZXN0OjpnZXRVc2VyVmFyKCdlbWFpbE5vdGlmaWNh
dGlvbkFydGljbGVTdWJtaXR0ZWQnKSkgJGVtYWlsU2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9U
WVBFX0FSVElDTEVfU1VCTUlUVEVEOworCQkJaWYoUmVxdWVzdDo6Z2V0VXNlclZhcignZW1haWxO
b3RpZmljYXRpb25NZXRhZGF0YU1vZGlmaWVkJykpICRlbWFpbFNldHRpbmdzW10gPSBOT1RJRklD
QVRJT05fVFlQRV9NRVRBREFUQV9NT0RJRklFRDsKKwkJCWlmKFJlcXVlc3Q6OmdldFVzZXJWYXIo
J2VtYWlsTm90aWZpY2F0aW9uU3VwcEZpbGVBZGRlZCcpKSAkZW1haWxTZXR0aW5nc1tdID0gTk9U
SUZJQ0FUSU9OX1RZUEVfU1VQUF9GSUxFX0FEREVEOworCQkJaWYoUmVxdWVzdDo6Z2V0VXNlclZh
cignZW1haWxOb3RpZmljYXRpb25TdXBwRmlsZU1vZGlmaWVkJykpICRlbWFpbFNldHRpbmdzW10g
PSBOT1RJRklDQVRJT05fVFlQRV9TVVBQX0ZJTEVfTU9ESUZJRUQ7CisJCQlpZihSZXF1ZXN0Ojpn
ZXRVc2VyVmFyKCdlbWFpbE5vdGlmaWNhdGlvbkdhbGxleUFkZGVkJykpICRlbWFpbFNldHRpbmdz
W10gPSBOT1RJRklDQVRJT05fVFlQRV9HQUxMRVlfQURERUQ7CisJCQlpZihSZXF1ZXN0OjpnZXRV
c2VyVmFyKCdlbWFpbE5vdGlmaWNhdGlvbkdhbGxleU1vZGlmaWVkJykpICRlbWFpbFNldHRpbmdz
W10gPSBOT1RJRklDQVRJT05fVFlQRV9HQUxMRVlfTU9ESUZJRUQ7CisJCQlpZihSZXF1ZXN0Ojpn
ZXRVc2VyVmFyKCdlbWFpbE5vdGlmaWNhdGlvblN1Ym1pc3Npb25Db21tZW50JykpICRlbWFpbFNl
dHRpbmdzW10gPSBOT1RJRklDQVRJT05fVFlQRV9TVUJNSVNTSU9OX0NPTU1FTlQ7CisJCQlpZihS
ZXF1ZXN0OjpnZXRVc2VyVmFyKCdlbWFpbE5vdGlmaWNhdGlvbkxheW91dENvbW1lbnQnKSkgJGVt
YWlsU2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9UWVBFX0xBWU9VVF9DT01NRU5UOworCQkJaWYo
UmVxdWVzdDo6Z2V0VXNlclZhcignZW1haWxOb3RpZmljYXRpb25Db3B5ZWRpdENvbW1lbnQnKSkg
JGVtYWlsU2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9UWVBFX0NPUFlFRElUX0NPTU1FTlQ7CisJ
CQlpZihSZXF1ZXN0OjpnZXRVc2VyVmFyKCdlbWFpbE5vdGlmaWNhdGlvblByb29mcmVhZENvbW1l
bnQnKSkgJGVtYWlsU2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9UWVBFX1BST09GUkVBRF9DT01N
RU5UOworCQkJaWYoUmVxdWVzdDo6Z2V0VXNlclZhcignZW1haWxOb3RpZmljYXRpb25SZXZpZXdl
ckNvbW1lbnQnKSkgJGVtYWlsU2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9UWVBFX1JFVklFV0VS
X0NPTU1FTlQ7CisJCQlpZihSZXF1ZXN0OjpnZXRVc2VyVmFyKCdlbWFpbE5vdGlmaWNhdGlvblJl
dmlld2VyRm9ybUNvbW1lbnQnKSkgJGVtYWlsU2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9UWVBF
X1JFVklFV0VSX0ZPUk1fQ09NTUVOVDsKKwkJCWlmKFJlcXVlc3Q6OmdldFVzZXJWYXIoJ2VtYWls
Tm90aWZpY2F0aW9uRWRpdG9yRGVjaXNpb25Db21tZW50JykpICRlbWFpbFNldHRpbmdzW10gPSBO
T1RJRklDQVRJT05fVFlQRV9FRElUT1JfREVDSVNJT05fQ09NTUVOVDsgCisJCQlpZihSZXF1ZXN0
OjpnZXRVc2VyVmFyKCdlbWFpbE5vdGlmaWNhdGlvblB1Ymxpc2hlZElzc3VlJykpICRlbWFpbFNl
dHRpbmdzW10gPSBOT1RJRklDQVRJT05fVFlQRV9QVUJMSVNIRURfSVNTVUU7CisJCQlpZihSZXF1
ZXN0OjpnZXRVc2VyVmFyKCdlbWFpbE5vdGlmaWNhdGlvblVzZXJDb21tZW50JykpICRlbWFpbFNl
dHRpbmdzW10gPSBOT1RJRklDQVRJT05fVFlQRV9VU0VSX0NPTU1FTlQ7CisJCQkKKwkJCSRub3Rp
ZmljYXRpb25TZXR0aW5nc0Rhby0+dXBkYXRlTm90aWZpY2F0aW9uU2V0dGluZ3MoJHNldHRpbmdz
LCAkdXNlcklkKTsKKwkJCSRub3RpZmljYXRpb25TZXR0aW5nc0Rhby0+dXBkYXRlTm90aWZpY2F0
aW9uRW1haWxTZXR0aW5ncygkZW1haWxTZXR0aW5ncywgJHVzZXJJZCk7CisJCQlSZXF1ZXN0Ojpy
ZWRpcmVjdChudWxsLCAnbm90aWZpY2F0aW9uJyk7CisJCX0gZWxzZSBSZXF1ZXN0OjpyZWRpcmVj
dChudWxsLCAnbm90aWZpY2F0aW9uJyk7CisJfQorCQorCS8qKgorCSAqIEZldGNoIHRoZSBleGlz
dGluZyBvciBjcmVhdGUgYSBuZXcgVVJMIGZvciB0aGUgdXNlcidzIFJTUyBmZWVkCisJICovCisJ
ZnVuY3Rpb24gZ2V0Tm90aWZpY2F0aW9uRmVlZFVybCgkYXJncykgeworCQkkdXNlciA9IFJlcXVl
c3Q6OmdldFVzZXIoKTsKKwkJaWYoaXNzZXQoJHVzZXIpKSB7CisJCQkkdXNlcklkID0gJHVzZXIt
PmdldFVzZXJJZCgpOworCQkJJG5vdGlmaWNhdGlvblNldHRpbmdzRGFvID0gJkRBT1JlZ2lzdHJ5
OjpnZXREQU8oJ05vdGlmaWNhdGlvblNldHRpbmdzREFPJyk7CisJCQkkZmVlZFR5cGUgPSAkYXJn
c1swXTsKKworCQkJJHRva2VuID0gJG5vdGlmaWNhdGlvblNldHRpbmdzRGFvLT5nZXRSU1NUb2tl
bkJ5VXNlcklkKCR1c2VySWQpOworCQkJCisJCQlpZiAoJHRva2VuKSB7CisJCQkJUmVxdWVzdDo6
cmVkaXJlY3QobnVsbCwgJ25vdGlmaWNhdGlvbicsICdub3RpZmljYXRpb25GZWVkJywgYXJyYXko
JGZlZWRUeXBlLCAkdG9rZW4pKTsKKwkJCX0gZWxzZSB7CisJCQkJJHRva2VuID0gJG5vdGlmaWNh
dGlvblNldHRpbmdzRGFvLT5pbnNlcnROZXdSU1NUb2tlbigkdXNlcklkKTsKKwkJCQlSZXF1ZXN0
OjpyZWRpcmVjdChudWxsLCAnbm90aWZpY2F0aW9uJywgJ25vdGlmaWNhdGlvbkZlZWQnLCAkZmVl
ZFR5cGUsICR0b2tlbik7CisJCQl9CisJCX0gZWxzZSBSZXF1ZXN0OjpyZWRpcmVjdChudWxsLCAn
bm90aWZpY2F0aW9uJyk7CisJfQorCQorCS8qKgorCSAqIEZldGNoIHRoZSBhY3R1YWwgUlNTIGZl
ZWQKKwkgKi8KKwlmdW5jdGlvbiBub3RpZmljYXRpb25GZWVkKCRhcmdzKSB7CisJCWlmKGlzc2V0
KCRhcmdzWzBdKSAmJiBpc3NldCgkYXJnc1sxXSkpIHsKKwkJCSR0eXBlID0gJGFyZ3NbMF07CisJ
CQkkdG9rZW4gPSAkYXJnc1sxXTsKKwkJfSBlbHNlIHJldHVybiBmYWxzZTsKKworCQkkYXBwbGlj
YXRpb24gPSBQS1BBcHBsaWNhdGlvbjo6Z2V0QXBwbGljYXRpb24oKTsKKwkJJGFwcE5hbWUgPSAk
YXBwbGljYXRpb24tPmdldE5hbWVLZXkoKTsKKwkJCisJCSRzaXRlID0mIFJlcXVlc3Q6OmdldFNp
dGUoKTsKKwkJJHNpdGVUaXRsZSA9ICRzaXRlLT5nZXRTaXRlVGl0bGUoKTsKKwkKKwkJJG5vdGlm
aWNhdGlvbkRhbyA9ICZEQU9SZWdpc3RyeTo6Z2V0REFPKCdOb3RpZmljYXRpb25EQU8nKTsKKwkJ
JG5vdGlmaWNhdGlvblNldHRpbmdzRGFvID0gJkRBT1JlZ2lzdHJ5OjpnZXREQU8oJ05vdGlmaWNh
dGlvblNldHRpbmdzREFPJyk7CisJCQorCQkkdXNlcklkID0gJG5vdGlmaWNhdGlvblNldHRpbmdz
RGFvLT5nZXRVc2VySWRCeVJTU1Rva2VuKCR0b2tlbik7CisJCSRub3RpZmljYXRpb25zID0gJG5v
dGlmaWNhdGlvbkRhby0+Z2V0Tm90aWZpY2F0aW9uc0J5VXNlcklkKCR1c2VySWQpOworCisJCS8v
IE1ha2Ugc3VyZSB0aGUgZmVlZCB0eXBlIGlzIHNwZWNpZmllZCBhbmQgdmFsaWQKKwkJJHR5cGVN
YXAgPSBhcnJheSgKKwkJCSdyc3MnID0+ICdyc3MudHBsJywKKwkJCSdyc3MyJyA9PiAncnNzMi50
cGwnLAorCQkJJ2F0b20nID0+ICdhdG9tLnRwbCcKKwkJKTsKKwkJJG1pbWVUeXBlTWFwID0gYXJy
YXkoCisJCQkncnNzJyA9PiAnYXBwbGljYXRpb24vcmRmK3htbCcsCisJCQkncnNzMicgPT4gJ2Fw
cGxpY2F0aW9uL3Jzcyt4bWwnLAorCQkJJ2F0b20nID0+ICdhcHBsaWNhdGlvbi9hdG9tK3htbCcK
KwkJKTsKKwkJaWYgKCFpc3NldCgkdHlwZU1hcFskdHlwZV0pKSByZXR1cm4gZmFsc2U7CisKKwkJ
JHZlcnNpb25EYW8gPSYgREFPUmVnaXN0cnk6OmdldERBTygnVmVyc2lvbkRBTycpOworCQkkdmVy
c2lvbiA9ICR2ZXJzaW9uRGFvLT5nZXRDdXJyZW50VmVyc2lvbigpOworCisJCSR0ZW1wbGF0ZU1n
ciA9ICZUZW1wbGF0ZU1hbmFnZXI6OmdldE1hbmFnZXIoKTsKKwkJJHRlbXBsYXRlTWdyLT5hc3Np
Z24oJ3ZlcnNpb24nLCAkdmVyc2lvbi0+Z2V0VmVyc2lvblN0cmluZygpKTsKKwkJJHRlbXBsYXRl
TWdyLT5hc3NpZ24oJ3NlbGZVcmwnLCBSZXF1ZXN0OjpnZXRDb21wbGV0ZVVybCgpKTsgCisJCSR0
ZW1wbGF0ZU1nci0+YXNzaWduKCdsb2NhbGUnLCBMb2NhbGU6OmdldFByaW1hcnlMb2NhbGUoKSk7
IAorCQkkdGVtcGxhdGVNZ3ItPmFzc2lnbignYXBwTmFtZScsICRhcHBOYW1lKTsKKwkJJHRlbXBs
YXRlTWdyLT5hc3NpZ24oJ3NpdGVUaXRsZScsICRzaXRlVGl0bGUpOworCQkkdGVtcGxhdGVNZ3It
PmFzc2lnbl9ieV9yZWYoJ25vdGlmaWNhdGlvbnMnLCAkbm90aWZpY2F0aW9ucy0+dG9BcnJheSgp
KTsKKworCQkkdGVtcGxhdGVNZ3ItPmRpc3BsYXkoQ29yZTo6Z2V0QmFzZURpcigpIC4gRElSRUNU
T1JZX1NFUEFSQVRPUiAuICdsaWInIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuIAorCQkJJ3BrcCcg
LiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJ3RlbXBsYXRlcycgLiBESVJFQ1RPUllfU0VQQVJBVE9S
IC4gJ25vdGlmaWNhdGlvbicgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJHR5cGVNYXBbJHR5cGVd
LCAkbWltZVR5cGVNYXBbJHR5cGVdKTsKKworCQlyZXR1cm4gdHJ1ZTsKKwl9CisJCisKKwkvKioK
KwkgKiBEaXNwbGF5IHRoZSBwdWJsaWMgbm90aWZpY2F0aW9uIGVtYWlsIHN1YnNjcmlwdGlvbiBm
b3JtCisJICovCisJZnVuY3Rpb24gc3Vic2NyaWJlTWFpbExpc3QoKSB7CisJCSR0ZW1wbGF0ZU1n
ciA9ICZUZW1wbGF0ZU1hbmFnZXI6OmdldE1hbmFnZXIoKTsKKwkJJHRlbXBsYXRlTWdyLT5hc3Np
Z24oJ25ldycsIHRydWUpOworCisJCSR1c2VyID0gUmVxdWVzdDo6Z2V0VXNlcigpOworCS8vCUZJ
WE1FOiBOZWVkIHRvIGFic3RyYWN0IHN1YnNjcmlwdGlvbiBlbmFibGVkIGNoZWNrCisJLy8JaW1w
b3J0KCdwYXltZW50LlBheW1lbnRNYW5hZ2VyJyk7CisJLy8JJHN1YnNjcmlwdGlvbkVuYWJsZWQg
PSBQYXltZW50TWFuYWdlcjo6aXNDb25maWd1cmVkKCk7CisJCQkJCisJCWlmKCFpc3NldCgkdXNl
cikpIHsKKwkJCS8vICR0ZW1wbGF0ZU1nci0+YXNzaWduKCdzdWJzY3JpcHRpb25FbmFibGVkJywg
JHN1YnNjcmlwdGlvbkVuYWJsZWQpOworCQkJCisJCQlpZigkdXNlckVtYWlsID0gUmVxdWVzdDo6
Z2V0VXNlclZhcignZW1haWwnKSkgeworCQkJCSRub3RpZmljYXRpb25TZXR0aW5nc0RhbyA9ICZE
QU9SZWdpc3RyeTo6Z2V0REFPKCdOb3RpZmljYXRpb25TZXR0aW5nc0RBTycpOworCQkJCWlmKCRw
YXNzd29yZCA9ICRub3RpZmljYXRpb25TZXR0aW5nc0Rhby0+c3Vic2NyaWJlR3Vlc3QoJHVzZXJF
bWFpbCkpIHsKKwkJCQkJTm90aWZpY2F0aW9uSGFuZGxlcjo6c2VuZE1haWxpbmdMaXN0RW1haWwo
JHVzZXJFbWFpbCwgJHBhc3N3b3JkLCAnTk9USUZJQ0FUSU9OX01BSUxMSVNUX1dFTENPTUUnKTsK
KwkJCQkJJHRlbXBsYXRlTWdyLT5hc3NpZ24oJ3N1Y2Nlc3MnLCAibm90aWZpY2F0aW9uLnN1YnNj
cmliZVN1Y2Nlc3MiKTsKKwkJCQkJJHRlbXBsYXRlTWdyLT5kaXNwbGF5KCdub3RpZmljYXRpb24v
bWFpbGxpc3QudHBsJyk7CisJCQkJfSBlbHNlIHsKKwkJCQkJJHRlbXBsYXRlTWdyLT5hc3NpZ24o
J2Vycm9yJywgIm5vdGlmaWNhdGlvbi5zdWJzY3JpYmVFcnJvciIpOworCQkJCQkkdGVtcGxhdGVN
Z3ItPmRpc3BsYXkoJ25vdGlmaWNhdGlvbi9tYWlsbGlzdC50cGwnKTsKKwkJCQkKKwkJCQl9CisJ
CQl9IGVsc2UgeworCQkJCSR0ZW1wbGF0ZU1nci0+ZGlzcGxheSgnbm90aWZpY2F0aW9uL21haWxs
aXN0LnRwbCcpOworCQkJfQorCQl9IGVsc2UgUmVxdWVzdDo6cmVkaXJlY3QobnVsbCwgJ25vdGlm
aWNhdGlvbicpOworCX0KKworCS8qKgorCSAqIERpc3BsYXkgdGhlIHB1YmxpYyBub3RpZmljYXRp
b24gZW1haWwgc3Vic2NyaXB0aW9uIGZvcm0KKwkgKi8KKwlmdW5jdGlvbiB1bnN1YnNjcmliZU1h
aWxMaXN0KCkgeworCQkkdGVtcGxhdGVNZ3IgPSAmVGVtcGxhdGVNYW5hZ2VyOjpnZXRNYW5hZ2Vy
KCk7CisJCSR0ZW1wbGF0ZU1nci0+YXNzaWduKCdyZW1vdmUnLCB0cnVlKTsKKwkJCisJCSR1c2Vy
ID0gUmVxdWVzdDo6Z2V0VXNlcigpOworCQlpZighaXNzZXQoJHVzZXIpKSB7CisJCQkkdXNlckVt
YWlsID0gUmVxdWVzdDo6Z2V0VXNlclZhcignZW1haWwnKTsKKwkJCSR1c2VyUGFzc3dvcmQgPSBS
ZXF1ZXN0OjpnZXRVc2VyVmFyKCdwYXNzd29yZCcpOworCQkJCisJCQlpZigkdXNlckVtYWlsICE9
ICcnICYmICR1c2VyUGFzc3dvcmQgIT0gJycpIHsKKwkJCQkkbm90aWZpY2F0aW9uU2V0dGluZ3NE
YW8gPSAmREFPUmVnaXN0cnk6OmdldERBTygnTm90aWZpY2F0aW9uU2V0dGluZ3NEQU8nKTsKKwkJ
CQlpZigkbm90aWZpY2F0aW9uU2V0dGluZ3NEYW8tPnVuc3Vic2NyaWJlR3Vlc3QoJHVzZXJFbWFp
bCwgJHVzZXJQYXNzd29yZCkpIHsKKwkJCQkJJHRlbXBsYXRlTWdyLT5hc3NpZ24oJ3N1Y2Nlc3Mn
LCAibm90aWZpY2F0aW9uLnVuc3Vic2NyaWJlU3VjY2VzcyIpOworCQkJCQkkdGVtcGxhdGVNZ3It
PmRpc3BsYXkoJ25vdGlmaWNhdGlvbi9tYWlsbGlzdC50cGwnKTsKKwkJCQl9IGVsc2UgeworCQkJ
CQkkdGVtcGxhdGVNZ3ItPmFzc2lnbignZXJyb3InLCAibm90aWZpY2F0aW9uLnVuc3Vic2NyaWJl
RXJyb3IiKTsKKwkJCQkJJHRlbXBsYXRlTWdyLT5kaXNwbGF5KCdub3RpZmljYXRpb24vbWFpbGxp
c3QudHBsJyk7CisJCQkJfQorCQkJfSBlbHNlIGlmKCR1c2VyRW1haWwgIT0gJycgJiYgJHVzZXJQ
YXNzd29yZCA9PSAnJykgeworCQkJCSRub3RpZmljYXRpb25TZXR0aW5nc0RhbyA9ICZEQU9SZWdp
c3RyeTo6Z2V0REFPKCdOb3RpZmljYXRpb25TZXR0aW5nc0RBTycpOworCQkJCWlmKCRuZXdQYXNz
d29yZCA9ICRub3RpZmljYXRpb25TZXR0aW5nc0Rhby0+cmVzZXRQYXNzd29yZCgkdXNlckVtYWls
KSkgeworCQkJCQlOb3RpZmljYXRpb25IYW5kbGVyOjpzZW5kTWFpbGluZ0xpc3RFbWFpbCgkdXNl
ckVtYWlsLCAkdXNlclBhc3N3b3JkLCAnTk9USUZJQ0FUSU9OX01BSUxMSVNUX1BBU1NXT1JEJyk7
CisJCQkJCSR0ZW1wbGF0ZU1nci0+YXNzaWduKCdzdWNjZXNzJywgIm5vdGlmaWNhdGlvbi5yZW1p
bmRlclNlbnQiKTsKKwkJCQkJJHRlbXBsYXRlTWdyLT5kaXNwbGF5KCdub3RpZmljYXRpb24vbWFp
bGxpc3QudHBsJyk7CisJCQkJfSBlbHNlIHsKKwkJCQkJJHRlbXBsYXRlTWdyLT5hc3NpZ24oJ2Vy
cm9yJywgIm5vdGlmaWNhdGlvbi5yZW1pbmRlckVycm9yIik7CisJCQkJCSR0ZW1wbGF0ZU1nci0+
ZGlzcGxheSgnbm90aWZpY2F0aW9uL21haWxsaXN0LnRwbCcpOworCQkJCX0KKwkJCX0gZWxzZSB7
CQkKKwkJCQkkdGVtcGxhdGVNZ3ItPmFzc2lnbigncmVtb3ZlJywgdHJ1ZSk7CisJCQkJJHRlbXBs
YXRlTWdyLT5kaXNwbGF5KCdub3RpZmljYXRpb24vbWFpbGxpc3QudHBsJyk7CisJCQl9CisJCX0g
ZWxzZSBSZXF1ZXN0OjpyZWRpcmVjdChudWxsLCAnbm90aWZpY2F0aW9uJyk7CisJfQorCQorCS8q
KgorCSAqIFNlbmQgYW4gZW1haWwgdG8gYSBtYWlsaW5nIGxpc3QgdXNlciByZWdhcmRpbmcgc2ln
bnVwIG9yIGEgbG9zdCBwYXNzd29yZAorCSAqLworCWZ1bmN0aW9uIHNlbmRNYWlsaW5nTGlzdEVt
YWlsKCRlbWFpbCwgJHBhc3N3b3JkLCAkdGVtcGxhdGUpIHsKKwkJaW1wb3J0KCdtYWlsLk1haWxU
ZW1wbGF0ZScpOworCQkkam91cm5hbCA9IFJlcXVlc3Q6OmdldEpvdXJuYWwoKTsKKwkJJHNpdGUg
PSBSZXF1ZXN0OjpnZXRTaXRlKCk7CisJCQorCQkkbWFpbCA9IG5ldyBNYWlsVGVtcGxhdGUoJHRl
bXBsYXRlKTsKKwkJJG1haWwtPnNldEZyb20oJHNpdGUtPmdldFNpdGVDb250YWN0RW1haWwoKSwg
JHNpdGUtPmdldFNpdGVDb250YWN0TmFtZSgpKTsKKwkJJG1haWwtPmFzc2lnblBhcmFtcyhhcnJh
eSgKKwkJCSdwYXNzd29yZCcgPT4gJHBhc3N3b3JkLAorCQkJJ3NpdGVUaXRsZScgPT4gJGpvdXJu
YWwtPmdldEpvdXJuYWxUaXRsZSgpLAorCQkJJ3Vuc3Vic2NyaWJlTGluaycgPT4gUmVxdWVzdDo6
dXJsKG51bGwsICdub3RpZmljYXRpb24nLCAndW5zdWJzY3JpYmVNYWlsTGlzdCcpCisJCSkpOwor
CQkkbWFpbC0+YWRkUmVjaXBpZW50KCRlbWFpbCk7CisJCSRtYWlsLT5zZW5kKCk7CisJfQkKK30K
KworPz4KSW5kZXg6IHBhZ2VzL25vdGlmaWNhdGlvbi9pbmRleC5waHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1Mg
ZmlsZTogcGFnZXMvbm90aWZpY2F0aW9uL2luZGV4LnBocApkaWZmIC1OIHBhZ2VzL25vdGlmaWNh
dGlvbi9pbmRleC5waHAKLS0tIC9kZXYvbnVsbAkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAwCisr
KyBwYWdlcy9ub3RpZmljYXRpb24vaW5kZXgucGhwCTIxIEphbiAyMDA5IDAyOjA4OjU2IC0wMDAw
CkBAIC0wLDAgKzEsMjMgQEAKKzw/cGhwCisKKy8qKgorICogQGRlZmdyb3VwIHBhZ2VzX25vdGlm
aWNhdGlvbgorICovCisgCisvKioKKyAqIEBmaWxlIHBhZ2VzL25vdGlmaWNhdGlvbi9pbmRleC5w
aHAKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDAtMjAwOCBKb2huIFdpbGxpbnNreQorICogRGlz
dHJpYnV0ZWQgdW5kZXIgdGhlIEdOVSBHUEwgdjIuIEZvciBmdWxsIHRlcm1zIHNlZSB0aGUgZmls
ZSBkb2NzL0NPUFlJTkcuCisgKgorICogQGluZ3JvdXAgcGFnZXNfbm90aWZpY2F0aW9uCisgKiBA
YnJpZWYgSGFuZGxlIHJlcXVlc3RzIGZvciB2aWV3aW5nIG5vdGlmaWNhdGlvbnMuIAorICoKKyAq
LworCisKK2RlZmluZSgnSEFORExFUl9DTEFTUycsICdOb3RpZmljYXRpb25IYW5kbGVyJyk7CisK
K2ltcG9ydCgncGFnZXMubm90aWZpY2F0aW9uLk5vdGlmaWNhdGlvbkhhbmRsZXInKTsKKworPz4K
SW5kZXg6IHRlbXBsYXRlcy9ub3RpZmljYXRpb24vYXRvbS50cGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmls
ZTogdGVtcGxhdGVzL25vdGlmaWNhdGlvbi9hdG9tLnRwbApkaWZmIC1OIHRlbXBsYXRlcy9ub3Rp
ZmljYXRpb24vYXRvbS50cGwKLS0tIC9kZXYvbnVsbAkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAw
CisrKyB0ZW1wbGF0ZXMvbm90aWZpY2F0aW9uL2F0b20udHBsCTIxIEphbiAyMDA5IDAyOjA4OjU3
IC0wMDAwCkBAIC0wLDAgKzEsNDMgQEAKK3sqKgorICogYXRvbS50cGwKKyAqCisgKiBDb3B5cmln
aHQgKGMpIDIwMDMtMjAwOCBKb2huIFdpbGxpbnNreQorICogRGlzdHJpYnV0ZWQgdW5kZXIgdGhl
IEdOVSBHUEwgdjIuIEZvciBmdWxsIHRlcm1zIHNlZSB0aGUgZmlsZSBkb2NzL0NPUFlJTkcuCisg
KgorICogQXRvbSBmZWVkIHRlbXBsYXRlCisgKgorICogJElkOiBhdG9tLnRwbCx2IDEuMyAyMDA4
LzA2LzExIDIxOjUyOjI2IGFzbWVjaGVyIEV4cCAkCisgKn0KKzw/eG1sIHZlcnNpb249IjEuMCIg
ZW5jb2Rpbmc9InskZGVmYXVsdENoYXJzZXR8ZXNjYXBlfSI/PgorPGZlZWQgeG1sbnM9Imh0dHA6
Ly93d3cudzMub3JnLzIwMDUvQXRvbSI+CisJPGlkPnskc2VsZlVybH08L2lkPgorCTx0aXRsZT57
JHNpdGVUaXRsZX0ge3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5ub3RpZmljYXRpb25zIn08
L3RpdGxlPgorCisJPGxpbmsgcmVsPSJzZWxmIiB0eXBlPSJhcHBsaWNhdGlvbi9hdG9tK3htbCIg
aHJlZj0ieyRzZWxmVXJsfSIgLz4KKworCTxnZW5lcmF0b3IgdXJpPSJodHRwOi8vcGtwLnNmdS5j
YS9vanMvIiB2ZXJzaW9uPSJ7JHZlcnNpb258ZXNjYXBlfSI+e3RyYW5zbGF0ZSBrZXk9JGFwcE5h
bWV9PC9nZW5lcmF0b3I+CisKK3tmb3JlYWNoIGZyb209JG5vdGlmaWNhdGlvbnMgaXRlbT1ub3Rp
ZmljYXRpb259CisJPGVudHJ5PgorCQk8aWQ+JG5vdGlmaWNhdGlvbi0+Z2V0Tm90aWZpY2F0aW9u
SWQoKTwvaWQ+CisJCTx0aXRsZT57dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLm5vdGlmaWNh
dGlvbiJ9IDogeyRub3RpZmljYXRpb24tPmdldERhdGVDcmVhdGVkKCl8ZGF0ZV9mb3JtYXQ6IiVh
LCAlZCAlYiAlWSAlVCAleiJ9PC90aXRsZT4KKwkJe2lmICRub3RpZmljYXRpb24tPmdldExvY2F0
aW9uKCkgIT0gbnVsbH0KKwkJCTxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmPSJ7JG5vdGlmaWNh
dGlvbi0+Z2V0TG9jYXRpb24oKX0iIC8+CQkJCQkKKwkJe2Vsc2V9CisJCQk8bGluayByZWw9ImFs
dGVybmF0ZSIgaHJlZj0ie3VybCBwYWdlPSJub3RpZmljYXRpb24ifSIgLz4JCQkJCQorCQl7L2lm
fQorCisJCTxzdW1tYXJ5IHR5cGU9Imh0bWwiIHhtbDpiYXNlPSJ7aWYgJG5vdGlmaWNhdGlvbi0+
Z2V0TG9jYXRpb24oKSAhPSBudWxsfXskbm90aWZpY2F0aW9uLT5nZXRMb2NhdGlvbigpfXtlbHNl
fXt1cmwgcGFnZT0ibm90aWZpY2F0aW9uIn17L2lmfSI+CisJCQl7aWYgJG5vdGlmaWNhdGlvbi0+
Z2V0SXNMb2NhbGl6ZWQoKX0KKwkJCQl7dHJhbnNsYXRlIGtleT0kbm90aWZpY2F0aW9uLT5nZXRD
b250ZW50cygpIHBhcmFtPSRub3RpZmljYXRpb24tPmdldFBhcmFtKCl9CisJCQl7ZWxzZX0KKwkJ
CQl7JG5vdGlmaWNhdGlvbi0+Z2V0Q29udGVudHMoKX0KKwkJCXsvaWZ9CisJCTwvc3VtbWFyeT4K
KworCQk8cHVibGlzaGVkPnskbm90aWZpY2F0aW9uLT5nZXREYXRlQ3JlYXRlZCgpfGRhdGVfZm9y
bWF0OiIlWS0lbS0lZFQlVCV6InxyZWdleF9yZXBsYWNlOiIvMDAkLyI6IjowMCJ9PC9wdWJsaXNo
ZWQ+CisJPC9lbnRyeT4KK3svZm9yZWFjaH0KKzwvZmVlZD4KKworCkluZGV4OiB0ZW1wbGF0ZXMv
bm90aWZpY2F0aW9uL2luZGV4LnRwbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiB0ZW1wbGF0ZXMvbm90
aWZpY2F0aW9uL2luZGV4LnRwbApkaWZmIC1OIHRlbXBsYXRlcy9ub3RpZmljYXRpb24vaW5kZXgu
dHBsCi0tLSAvZGV2L251bGwJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMAorKysgdGVtcGxhdGVz
L25vdGlmaWNhdGlvbi9pbmRleC50cGwJMjEgSmFuIDIwMDkgMDI6MDg6NTcgLTAwMDAKQEAgLTAs
MCArMSw4MyBAQAoreyoqCisgKiBpbmRleC50cGwKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDAt
MjAwOCBKb2huIFdpbGxpbnNreQorICogRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEdOVSBHUEwgdjIu
IEZvciBmdWxsIHRlcm1zIHNlZSB0aGUgZmlsZSBkb2NzL0NPUFlJTkcuCisgKgorICogRGlzcGxh
eSBsaXN0IG9mIG5vdGlmaWNhdGlvbnMuIAorICoKKyAqfQore3N0cmlwfQore2Fzc2lnbiB2YXI9
InBhZ2VUaXRsZSIgdmFsdWU9Im5vdGlmaWNhdGlvbi5ub3RpZmljYXRpb25zIn0KK3tpbmNsdWRl
IGZpbGU9ImNvbW1vbi9oZWFkZXIudHBsIn0KK3svc3RyaXB9CisKKzx0YWJsZSB3aWR0aD0iMTAw
JSI+CisJPHRyPgorCQk8dGQ+e2lmICRpc1VzZXJMb2dnZWRJbn0KKwkJCQk8cD57dHJhbnNsYXRl
IGtleT0ibm90aWZpY2F0aW9uLm5vdGlmaWNhdGlvbnNEZXNjcmlwdGlvbiIgdW5yZWFkQ291bnQ9
JHVucmVhZCByZWFkQ291bnQ9JHJlYWQgc2V0dGluZ3NVcmw9JHVybH08L3A+CisJCQl7ZWxzZX0K
KwkJCQk8cD57dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLm5vdGlmaWNhdGlvbnNQdWJsaWNE
ZXNjcmlwdGlvbiIgZW1haWxVcmw9JGVtYWlsVXJsfTwvcD4KKwkJCXsvaWZ9CisJCTwvdGQ+CisJ
CTx0ZD48dWwgY2xhc3M9InBsYWluIj4KKwkJCTxsaT48YSBocmVmPSJ7dXJsIG9wPSJnZXROb3Rp
ZmljYXRpb25GZWVkVXJsIiBwYXRoPSJyc3MifSIgY2xhc3M9Imljb24iPjxpbWcgc3JjPSJ7JGJh
c2VVcmx9L2xpYi9wa3AvdGVtcGxhdGVzL2ltYWdlcy9yc3MxMF9sb2dvLnBuZyIgYWx0PSJSU1Mg
MS4wIi8+PC9hPjwvbGk+CisJCQk8bGk+PGEgaHJlZj0ie3VybCBvcD0iZ2V0Tm90aWZpY2F0aW9u
RmVlZFVybCIgcGF0aD0icnNzMiJ9IiBjbGFzcz0iaWNvbiI+PGltZyBzcmM9InskYmFzZVVybH0v
bGliL3BrcC90ZW1wbGF0ZXMvaW1hZ2VzL3JzczIwX2xvZ28ucG5nIiBhbHQ9IlJTUyAyLjAiLz48
L2E+PC9saT4KKwkJCTxsaT48YSBocmVmPSJ7dXJsIG9wPSJnZXROb3RpZmljYXRpb25GZWVkVXJs
IiBwYXRoPSJhdG9tIn0iIGNsYXNzPSJpY29uIj48aW1nIHNyYz0ieyRiYXNlVXJsfS9saWIvcGtw
L3RlbXBsYXRlcy9pbWFnZXMvYXRvbTEwX2xvZ28ucG5nIiBhbHQ9IkF0b20gMS4wIi8+PC9hPjwv
bGk+CisJCTwvdWw+PC90ZD4KKwk8L3RyPgorPC90YWJsZT4KKworPGJyLz4KKworPGRpdiBpZD0i
bm90aWZpY2F0aW9ucyI+Cit7aXRlcmF0ZSBmcm9tPW5vdGlmaWNhdGlvbnMgaXRlbT1ub3RpZmlj
YXRpb259CisJPHRhYmxlIHdpZHRoPSIxMDAlIiBjbGFzcz0ibm90aWZpY2F0aW9ucyI+CisJCTx0
cj4KKwkJCTx0ZCB3aWR0aD0iMjUiPjxpbWcgc3JjPSJ7JG5vdGlmaWNhdGlvbi0+Z2V0SWNvbkxv
Y2F0aW9uKCl9IiBhbHQ9IiYjMTg3Ii8+PC90ZD4KKwkJCTx0ZCBjbGFzcz0ibm90aWZpY2F0aW9u
Q29udGVudCIgY29sc3Bhbj0iMiIgd2lkdGg9IjgwJSI+CisJCQkJeyRub3RpZmljYXRpb24tPmdl
dERhdGVDcmVhdGVkKCl9CisJCQk8L3RkPgorCQkJe2lmICRub3RpZmljYXRpb24tPmdldExvY2F0
aW9uKCkgIT0gbnVsbH0KKwkJCQk8dGQgaWQ9Im5vdGlmaWNhdGlvbkxpbmsiIGNsYXNzPSJub3Rp
ZmljYXRpb25GdW5jdGlvbiIgc3R5bGU9Im1pbi13aWR0aDo2MHB4Ij48YSBocmVmPSJ7JG5vdGlm
aWNhdGlvbi0+Z2V0TG9jYXRpb24oKX0iPnt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24ubG9j
YXRpb24ifTwvYT48L3RkPgorCQkJe2Vsc2V9CisJCQkJPHRkIGlkPSJub3RpZmljYXRpb25MaW5r
IiBjbGFzcz0ibm90aWZpY2F0aW9uRnVuY3Rpb24iPjwvdGQ+CisJCQl7L2lmfQorCQkJPHRkIGlk
PSJub3RpZmljYXRpb25EZWxldGUiIGNsYXNzPSJub3RpZmljYXRpb25GdW5jdGlvbiI+PGEgaWQ9
Im5vdGlmaWNhdGlvbkRlbGV0ZUxpbmsiIGhyZWY9Int1cmwgb3A9ImRlbGV0ZSIgcGF0aD0kbm90
aWZpY2F0aW9uLT5nZXROb3RpZmljYXRpb25JZCgpfSI+e3RyYW5zbGF0ZSBrZXk9ImNvbW1vbi5k
ZWxldGUifTwvYT48L3RkPgorCQk8L3RyPgorCQk8dHI+CisJCQk8dGQgd2lkdGg9IjI1Ij4mbmJz
cDs8L3RkPgorCQkJPHRkIGNsYXNzPSJub3RpZmljYXRpb25Db250ZW50Ij4KKwkJCQl7aWYgJG5v
dGlmaWNhdGlvbi0+Z2V0SXNVbnJlYWQoKX0KKwkJCQkJe2lmICRub3RpZmljYXRpb24tPmdldElz
TG9jYWxpemVkKCl9PHAgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkIj57dHJhbnNsYXRlIGtleT0k
bm90aWZpY2F0aW9uLT5nZXRDb250ZW50cygpIHBhcmFtPSRub3RpZmljYXRpb24tPmdldFBhcmFt
KCl9PC9wPgorCQkJCQl7ZWxzZX08cCBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQiPnskbm90aWZp
Y2F0aW9uLT5nZXRDb250ZW50cygpfXsvaWZ9CisJCQkJe2Vsc2V9CisJCQkJCXtpZiAkbm90aWZp
Y2F0aW9uLT5nZXRJc0xvY2FsaXplZCgpfTxwPnt0cmFuc2xhdGUga2V5PSRub3RpZmljYXRpb24t
PmdldENvbnRlbnRzKCkgcGFyYW09JG5vdGlmaWNhdGlvbi0+Z2V0UGFyYW0oKX08L3A+CisJCQkJ
CXtlbHNlfTxwPnskbm90aWZpY2F0aW9uLT5nZXRDb250ZW50cygpfTwvcD57L2lmfQkKKwkJCQl7
L2lmfQorCQkJPC90ZD4KKwkJPC90cj4KKwk8L3RhYmxlPgorCTxkaXYgY2xhc3M9InNlcGFyYXRv
ciIgc3R5bGU9Im1hcmdpbi1sZWZ0OjI1cHgiPjwvZGl2Pgorey9pdGVyYXRlfQore2lmICRub3Rp
ZmljYXRpb25zLT53YXNFbXB0eSgpfQorCTx0YWJsZSBjbGFzcz0ibm90aWZpY2F0aW9ucyI+CisJ
CTx0cj4KKwkJCTx0ZCBjb2xzcGFuPSIyIiBjbGFzcz0ibm9kYXRhIj48aDU+e3RyYW5zbGF0ZSBr
ZXk9Im5vdGlmaWNhdGlvbi5ub25lRXhpc3QifTwvaDU+PC90ZD4KKwkJPC90cj4KKwkJPHRyPgor
CQkJPHRkIGNvbHNwYW49IjIiIGNsYXNzPSJlbmRzZXBhcmF0b3IiPiZuYnNwOzwvdGQ+CisJCTwv
dHI+CisJPC90YWJsZT4KK3tlbHNlfQorCTx0YWJsZSBjbGFzcz0ibm90aWZpY2F0aW9ucyI+CisJ
CTx0cj4KKwkJCTx0ZCBhbGlnbj0ibGVmdCI+e3BhZ2VfaW5mbyBpdGVyYXRvcj0kbm90aWZpY2F0
aW9uc308L3RkPgorCQkJPHRkIGFsaWduPSJyaWdodCI+e3BhZ2VfbGlua3MgYW5jaG9yPSJub3Rp
ZmljYXRpb25zIiBuYW1lPSJub3RpZmljYXRpb25zIiBpdGVyYXRvcj0kbm90aWZpY2F0aW9uc308
L3RkPgorCQk8L3RyPgorCTwvdGFibGU+Cit7L2lmfQorCis8L2Rpdj4KKwore2luY2x1ZGUgZmls
ZT0iY29tbW9uL2Zvb3Rlci50cGwifQpJbmRleDogdGVtcGxhdGVzL25vdGlmaWNhdGlvbi9tYWls
bGlzdC50cGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogdGVtcGxhdGVzL25vdGlmaWNhdGlvbi9tYWls
bGlzdC50cGwKZGlmZiAtTiB0ZW1wbGF0ZXMvbm90aWZpY2F0aW9uL21haWxsaXN0LnRwbAotLS0g
L2Rldi9udWxsCTEgSmFuIDE5NzAgMDA6MDA6MDAgLTAwMDAKKysrIHRlbXBsYXRlcy9ub3RpZmlj
YXRpb24vbWFpbGxpc3QudHBsCTIxIEphbiAyMDA5IDAyOjA4OjU3IC0wMDAwCkBAIC0wLDAgKzEs
ODUgQEAKK3sqKgorICogaW5kZXgudHBsCisgKgorICogQ29weXJpZ2h0IChjKSAyMDAwLTIwMDgg
Sm9obiBXaWxsaW5za3kKKyAqIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR1BMIHYyLiBGb3Ig
ZnVsbCB0ZXJtcyBzZWUgdGhlIGZpbGUgZG9jcy9DT1BZSU5HLgorICoKKyAqIERpc3BsYXlzIHRo
ZSBub3RpZmljYXRpb24gc2V0dGluZ3MgcGFnZSBhbmQgdW5jaGVja3MgIAorICoKKyAqfQore3N0
cmlwfQore2Fzc2lnbiB2YXI9InBhZ2VUaXRsZSIgdmFsdWU9Im5vdGlmaWNhdGlvbi5tYWlsTGlz
dCJ9Cit7aW5jbHVkZSBmaWxlPSJjb21tb24vaGVhZGVyLnRwbCJ9Cit7L3N0cmlwfQorCit7aWYg
JG5ld30KKwk8cD48c3BhbiBjbGFzcz0iaW5zdHJ1Y3QiPnt0cmFuc2xhdGUga2V5PSJub3RpZmlj
YXRpb24ubWFpbExpc3REZXNjcmlwdGlvbiJ9PC9zcGFuPjwvcD4KKwk8YnIgLz4KKworCXtpZiAk
ZXJyb3J9CisJCTxwPjxzcGFuIGNsYXNzPSJmb3JtRXJyb3IiPnt0cmFuc2xhdGUga2V5PSIkZXJy
b3IifTwvc3Bhbj48L3A+CisJey9pZn0KKwkKKwl7aWYgJHN1Y2Nlc3N9CisJCTxwPjxzcGFuIGNs
YXNzPSJmb3JtU3VjY2VzcyI+e3RyYW5zbGF0ZSBrZXk9IiRzdWNjZXNzIn08L3NwYW4+PC9wPgor
CXsvaWZ9CisKKwk8Zm9ybSBpZD0ibm90aWZpY2F0aW9uU2V0dGluZ3MiIG1ldGhvZD0icG9zdCIg
YWN0aW9uPSJ7dXJsIG9wPSJzdWJzY3JpYmVNYWlsTGlzdCJ9Ij4KKwkKKwk8dGFibGUgY2xhc3M9
ImRhdGEiIHdpZHRoPSIxMDAlIj4KKwkJPHRyIHZhbGlnbj0idG9wIj4KKwkJCTx0ZCBjbGFzcz0i
bGFiZWwiIHdpZHRoPSI1JSI+e3RyYW5zbGF0ZSBrZXk9ImVtYWlsLmVtYWlsIn08L3RkPgorCQkJ
PHRkIGNsYXNzPSJ2YWx1ZSIgd2lkdGg9IjQ1JSI+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImVt
YWlsIiBzaXplPSIzMCIgbWF4bGVuZ3RoPSI5MCIgY2xhc3M9InRleHRGaWVsZCIgLz48L3RkPgor
CQk8L3RyPgorCQk8dHIgdmFsaWduPSJ0b3AiPgorCQkJPHRkIHdpZHRoPSI1JSI+Jm5ic3A7PC90
ZD4KKwkJCTx0ZD48cD48aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0ie3RyYW5zbGF0ZSBrZXk9
ImZvcm0uc3VibWl0In0iIGNsYXNzPSJidXR0b24gZGVmYXVsdEJ1dHRvbiIgLz48L3A+PC90ZD4K
KwkJPC90cj4KKwk8L3RhYmxlPgorCTwvZm9ybT4KKwkKKwk8dWwgY2xhc3M9InBsYWluIiBzdHls
ZT0ibWFyZ2luLWxlZnQ6MTAlIj4KKwkJe3VybHxhc3NpZ246InVybCIgcGFnZT0idXNlciIgb3A9
InJlZ2lzdGVyIn0KKwkJPGxpPiYjMTg3OyB7dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLm1h
aWxMaXN0LnJldmlldyIgcmV2aWV3VXJsPSR1cmx9IDwvbGk+CisJCXt1cmx8YXNzaWduOiJ1cmwi
IHBhZ2U9ImluZm9ybWF0aW9uIiBvcD0iYXV0aG9ycyJ9CisJCTxsaT4mIzE4Nzsge3RyYW5zbGF0
ZSBrZXk9Im5vdGlmaWNhdGlvbi5tYWlsTGlzdC5zdWJtaXQiIHN1Ym1pdFVybD0kdXJsfSA8L2xp
PgorCQl7KiogbmVlZCB0byBhYnN0cmFjdCBzdWJzY3JpcHRpb24gZW5hYmxlZCBjaGVjaworCQkq
IGFzc2lnbiB2YXI9c3Vic2NyaWJlVXJsIHZhbHVlPSJ1cmwgb3A9InN1YnNjcmlwdGlvbnMiIgor
CQkqIGlmICRzdWJzY3JpcHRpb25FbmFibGVkIDxsaT4mIzE4NzsgdHJhbnNsYXRlIGtleT0ibm90
aWZpY2F0aW9uLm1haWxMaXN0LnByb3RlY3RlZENvbnRlbnQiIHN1YnNjcmliZVVybD0kc3Vic2Ny
aWJlVXJsCisJCSp9CisJCTxsaT4mIzE4NzsgPGEgaHJlZj0ie3VybCBvcD0icHJvdGVjdGlvblBv
bGljeSJ9Ij57dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLm1haWxMaXN0LnByaXZhY3lQcm90
ZWN0aW9uIn08L2E+PC9saT4KKwk8dWw+Cit7ZWxzZSBpZiAkcmVtb3ZlfQorCTxwPjxzcGFuIGNs
YXNzPSJpbnN0cnVjdCI+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi51bnN1YnNjcmliZURl
c2NyaXB0aW9uIn08L3NwYW4+PC9wPgorCTxiciAvPgorCisJe2lmICRlcnJvcn0KKwkJPHA+PHNw
YW4gY2xhc3M9ImZvcm1FcnJvciI+e3RyYW5zbGF0ZSBrZXk9IiRlcnJvciJ9PC9zcGFuPjwvcD4K
Kwl7L2lmfQorCQorCXtpZiAkc3VjY2Vzc30KKwkJPHA+PHNwYW4gY2xhc3M9ImZvcm1TdWNjZXNz
Ij57dHJhbnNsYXRlIGtleT0iJHN1Y2Nlc3MifTwvc3Bhbj48L3A+CisJey9pZn0KKwkKKwk8Zm9y
bSBpZD0ibm90aWZpY2F0aW9uU2V0dGluZ3MiIG1ldGhvZD0icG9zdCIgYWN0aW9uPSJ7dXJsIG9w
PSJ1bnN1YnNjcmliZU1haWxMaXN0In0iPgorCTx0YWJsZSBjbGFzcz0iZGF0YSIgd2lkdGg9IjEw
MCUiPgorCQk8dHIgdmFsaWduPSJ0b3AiPgorCQkJPHRkIGNsYXNzPSJsYWJlbCIgd2lkdGg9IjUl
Ij57dHJhbnNsYXRlIGtleT0iZW1haWwuZW1haWwifTwvdGQ+CisJCQk8dGQgY2xhc3M9InZhbHVl
IiB3aWR0aD0iNDUlIj48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZW1haWwiIHNpemU9IjMwIiBt
YXhsZW5ndGg9IjkwIiBjbGFzcz0idGV4dEZpZWxkIiAvPjwvdGQ+CisJCTwvdHI+CisJCTx0ciB2
YWxpZ249InRvcCI+CisJCQk8dGQgY2xhc3M9ImxhYmVsIiB3aWR0aD0iNSUiPnt0cmFuc2xhdGUg
a2V5PSJ1c2VyLnBhc3N3b3JkIn08L3RkPgorCQkJPHRkIGNsYXNzPSJ2YWx1ZSIgd2lkdGg9IjQ1
JSI+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9InBhc3N3b3JkIiBzaXplPSIzMCIgbWF4bGVuZ3Ro
PSI5MCIgY2xhc3M9InRleHRGaWVsZCIgLz48L3RkPgorCQk8L3RyPgorCQk8dHIgdmFsaWduPSJ0
b3AiPgorCQkJPHRkIHdpZHRoPSI1JSI+Jm5ic3A7PC90ZD4KKwkJCTx0ZD48cD48aW5wdXQgdHlw
ZT0ic3VibWl0IiB2YWx1ZT0ie3RyYW5zbGF0ZSBrZXk9ImZvcm0uc3VibWl0In0iIGNsYXNzPSJi
dXR0b24gZGVmYXVsdEJ1dHRvbiIgLz48L3A+PC90ZD4KKwkJPC90cj4KKwk8L3RhYmxlPgorCQor
CTwvZm9ybT4KK3svaWZ9CisKKzwvZm9ybT4KKwore2luY2x1ZGUgZmlsZT0iY29tbW9uL2Zvb3Rl
ci50cGwifQpJbmRleDogdGVtcGxhdGVzL25vdGlmaWNhdGlvbi9yc3MudHBsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
UkNTIGZpbGU6IHRlbXBsYXRlcy9ub3RpZmljYXRpb24vcnNzLnRwbApkaWZmIC1OIHRlbXBsYXRl
cy9ub3RpZmljYXRpb24vcnNzLnRwbAotLS0gL2Rldi9udWxsCTEgSmFuIDE5NzAgMDA6MDA6MDAg
LTAwMDAKKysrIHRlbXBsYXRlcy9ub3RpZmljYXRpb24vcnNzLnRwbAkyMSBKYW4gMjAwOSAwMjow
ODo1NyAtMDAwMApAQCAtMCwwICsxLDUzIEBACit7KioKKyAqIHJzcy50cGwKKyAqCisgKiBDb3B5
cmlnaHQgKGMpIDIwMDMtMjAwOCBKb2huIFdpbGxpbnNreQorICogRGlzdHJpYnV0ZWQgdW5kZXIg
dGhlIEdOVSBHUEwgdjIuIEZvciBmdWxsIHRlcm1zIHNlZSB0aGUgZmlsZSBkb2NzL0NPUFlJTkcu
CisgKgorICogUlNTIGZlZWQgdGVtcGxhdGUKKyAqCisgKiAkSWQ6IHJzcy50cGwsdiAxLjMgMjAw
OC8wNi8xMSAyMTo1MjoyNiBhc21lY2hlciBFeHAgJAorICp9Cis8P3htbCB2ZXJzaW9uPSIxLjAi
IGVuY29kaW5nPSJ7JGRlZmF1bHRDaGFyc2V0fGVzY2FwZX0iPz4KKzxyZGY6UkRGCisJeG1sbnM6
cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIgorCXhtbG5z
PSJodHRwOi8vcHVybC5vcmcvcnNzLzEuMC8iCisJeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9k
Yy9lbGVtZW50cy8xLjEvIgorCXhtbG5zOnByaXNtPSJodHRwOi8vcHJpc21zdGFuZGFyZC5vcmcv
bmFtZXNwYWNlcy8xLjIvYmFzaWMvIj4KKyAgICAKKwk8Y2hhbm5lbCByZGY6YWJvdXQ9InskYmFz
ZVVybH0iPgorCQk8dGl0bGU+eyRzaXRlVGl0bGV9IHt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRp
b24ubm90aWZpY2F0aW9ucyJ9PC90aXRsZT4KKwkJPGxpbms+eyRzZWxmVXJsfTwvbGluaz4KKwkJ
PGxhbmd1YWdlPnskbG9jYWxlfHJlcGxhY2U6J18nOictJ3xzdHJpcHxlc2NhcGU6Imh0bWwifTwv
bGFuZ3VhZ2U+CisJCTxpdGVtcz4KKwkJCXtmb3JlYWNoIGZyb209JG5vdGlmaWNhdGlvbnMgaXRl
bT1ub3RpZmljYXRpb259CisJCQk8cmRmOlNlcT4KKwkJCQk8cmRmOmxpIHJkZjpyZXNvdXJjZT0i
e3VybCBwYWdlPSJub3RpZmljYXRpb24ifSIvPgorCQkJPC9yZGY6U2VxPgorCQkJey9mb3JlYWNo
fQorCQk8L2l0ZW1zPgorCTwvY2hhbm5lbD4KKworCXtmb3JlYWNoIGZyb209JG5vdGlmaWNhdGlv
bnMgaXRlbT1ub3RpZmljYXRpb259CisJPGl0ZW0gcmRmOmFib3V0PSJ7dXJsIHBhZ2U9Im5vdGlm
aWNhdGlvbiJ9Ij4KKwkJPHRpdGxlPnt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24ubm90aWZp
Y2F0aW9uIn0gOiB7JG5vdGlmaWNhdGlvbi0+Z2V0RGF0ZUNyZWF0ZWQoKXxkYXRlX2Zvcm1hdDoi
JWEsICVkICViICVZICVUICV6In08L3RpdGxlPgorCQk8bGluaz4KKwkJCXtpZiAkbm90aWZpY2F0
aW9uLT5nZXRMb2NhdGlvbigpICE9IG51bGx9CisJCQkJeyRub3RpZmljYXRpb24tPmdldExvY2F0
aW9uKCl9CisJCQl7ZWxzZX0KKwkJCQl7dXJsIHBhZ2U9Im5vdGlmaWNhdGlvbiJ9CisJCQl7L2lm
fQorCQk8L2xpbms+CisJCTxkZXNjcmlwdGlvbj4KKwkJCXtpZiAkbm90aWZpY2F0aW9uLT5nZXRJ
c0xvY2FsaXplZCgpfQorCQkJCXt0cmFuc2xhdGUga2V5PSRub3RpZmljYXRpb24tPmdldENvbnRl
bnRzKCkgcGFyYW09JG5vdGlmaWNhdGlvbi0+Z2V0UGFyYW0oKX0KKwkJCXtlbHNlfQorCQkJCXsk
bm90aWZpY2F0aW9uLT5nZXRDb250ZW50cygpfQorCQkJey9pZn0KKwkJPC9kZXNjcmlwdGlvbj4J
CisJCTxkYzpjcmVhdG9yPnskc2l0ZVRpdGxlfHN0cmlwfGVzY2FwZToiaHRtbCJ9PC9kYzpjcmVh
dG9yPgorCQk8ZGM6ZGF0ZT57JG5vdGlmaWNhdGlvbi0+Z2V0RGF0ZUNyZWF0ZWQoKXxkYXRlX2Zv
cm1hdDoiJVktJW0tJWQifTwvZGM6ZGF0ZT4KKwk8L2l0ZW0+CisJey9mb3JlYWNofQorCis8L3Jk
ZjpSREY+CkluZGV4OiB0ZW1wbGF0ZXMvbm90aWZpY2F0aW9uL3JzczIudHBsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
UkNTIGZpbGU6IHRlbXBsYXRlcy9ub3RpZmljYXRpb24vcnNzMi50cGwKZGlmZiAtTiB0ZW1wbGF0
ZXMvbm90aWZpY2F0aW9uL3JzczIudHBsCi0tLSAvZGV2L251bGwJMSBKYW4gMTk3MCAwMDowMDow
MCAtMDAwMAorKysgdGVtcGxhdGVzL25vdGlmaWNhdGlvbi9yc3MyLnRwbAkyMSBKYW4gMjAwOSAw
MjowODo1NyAtMDAwMApAQCAtMCwwICsxLDQ1IEBACit7KioKKyAqIHJzczIudHBsCisgKgorICog
Q29weXJpZ2h0IChjKSAyMDAzLTIwMDggSm9obiBXaWxsaW5za3kKKyAqIERpc3RyaWJ1dGVkIHVu
ZGVyIHRoZSBHTlUgR1BMIHYyLiBGb3IgZnVsbCB0ZXJtcyBzZWUgdGhlIGZpbGUgZG9jcy9DT1BZ
SU5HLgorICoKKyAqIFJTUyAyIGZlZWQgdGVtcGxhdGUKKyAqCisgKiAkSWQ6IHJzczIudHBsLHYg
MS4zIDIwMDgvMDYvMTEgMjE6NTI6MjYgYXNtZWNoZXIgRXhwICQKKyAqfQorPD94bWwgdmVyc2lv
bj0iMS4wIiBlbmNvZGluZz0ieyRkZWZhdWx0Q2hhcnNldHxlc2NhcGV9Ij8+Cis8cnNzIHZlcnNp
b249IjIuMCI+CisJPGNoYW5uZWw+CisJCXsqIHJlcXVpcmVkIGVsZW1lbnRzICp9CisJCTx0aXRs
ZT57JHNpdGVUaXRsZX0ge3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5ub3RpZmljYXRpb25z
In08L3RpdGxlPgorCQk8bGluaz57JHNlbGZVcmx9PC9saW5rPgorCisJCXsqIG9wdGlvbmFsIGVs
ZW1lbnRzICp9CisJICAgIDxsYW5ndWFnZT57JGxvY2FsZXxyZXBsYWNlOidfJzonLSd8c3RyaXB8
ZXNjYXBlOiJodG1sIn08L2xhbmd1YWdlPgorCQk8Z2VuZXJhdG9yPnt0cmFuc2xhdGUga2V5PSRh
cHBOYW1lfSB7JHZlcnNpb258ZXNjYXBlfTwvZ2VuZXJhdG9yPgorCQk8ZG9jcz5odHRwOi8vYmxv
Z3MubGF3LmhhcnZhcmQuZWR1L3RlY2gvcnNzPC9kb2NzPgorCQk8dHRsPjYwPC90dGw+CisKKwkJ
e2ZvcmVhY2ggZnJvbT0kbm90aWZpY2F0aW9ucyBpdGVtPW5vdGlmaWNhdGlvbn0KKwkJCTxpdGVt
PgorCQkJCTx0aXRsZT57dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLm5vdGlmaWNhdGlvbiJ9
IDogeyRub3RpZmljYXRpb24tPmdldERhdGVDcmVhdGVkKCl8ZGF0ZV9mb3JtYXQ6IiVhLCAlZCAl
YiAlWSAlVCAleiJ9PC90aXRsZT4KKwkJCQk8bGluaz4KKwkJCQkJe2lmICRub3RpZmljYXRpb24t
PmdldExvY2F0aW9uKCkgIT0gbnVsbH0KKwkJCQkJCXskbm90aWZpY2F0aW9uLT5nZXRMb2NhdGlv
bigpfQorCQkJCQl7ZWxzZX0KKwkJCQkJCXt1cmwgcGFnZT0ibm90aWZpY2F0aW9uIn0KKwkJCQkJ
ey9pZn0KKwkJCQk8L2xpbms+CisJCQkJPGRlc2NyaXB0aW9uPgorCQkJCQl7aWYgJG5vdGlmaWNh
dGlvbi0+Z2V0SXNMb2NhbGl6ZWQoKX0KKwkJCQkJCXt0cmFuc2xhdGUga2V5PSRub3RpZmljYXRp
b24tPmdldENvbnRlbnRzKCkgcGFyYW09JG5vdGlmaWNhdGlvbi0+Z2V0UGFyYW0oKX0KKwkJCQkJ
e2Vsc2V9CisJCQkJCQl7JG5vdGlmaWNhdGlvbi0+Z2V0Q29udGVudHMoKX0KKwkJCQkJey9pZn0K
KwkJCQk8L2Rlc2NyaXB0aW9uPgkJCisJCQkJPHB1YkRhdGU+eyRub3RpZmljYXRpb24tPmdldERh
dGVDcmVhdGVkKCl8ZGF0ZV9mb3JtYXQ6IiVhLCAlZCAlYiAlWSAlVCAleiJ9PC9wdWJEYXRlPgor
CQkJPC9pdGVtPgorCQl7L2ZvcmVhY2h9CisJPC9jaGFubmVsPgorPC9yc3M+CkluZGV4OiB0ZW1w
bGF0ZXMvbm90aWZpY2F0aW9uL3NldHRpbmdzLnRwbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiB0ZW1w
bGF0ZXMvbm90aWZpY2F0aW9uL3NldHRpbmdzLnRwbApkaWZmIC1OIHRlbXBsYXRlcy9ub3RpZmlj
YXRpb24vc2V0dGluZ3MudHBsCi0tLSAvZGV2L251bGwJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAw
MAorKysgdGVtcGxhdGVzL25vdGlmaWNhdGlvbi9zZXR0aW5ncy50cGwJMjEgSmFuIDIwMDkgMDI6
MDg6NTcgLTAwMDAKQEAgLTAsMCArMSwyNDEgQEAKK3sqKgorICogaW5kZXgudHBsCisgKgorICog
Q29weXJpZ2h0IChjKSAyMDAwLTIwMDggSm9obiBXaWxsaW5za3kKKyAqIERpc3RyaWJ1dGVkIHVu
ZGVyIHRoZSBHTlUgR1BMIHYyLiBGb3IgZnVsbCB0ZXJtcyBzZWUgdGhlIGZpbGUgZG9jcy9DT1BZ
SU5HLgorICoKKyAqIERpc3BsYXlzIHRoZSBub3RpZmljYXRpb24gc2V0dGluZ3MgcGFnZSBhbmQg
dW5jaGVja3MgIAorICoKKyAqfQore3N0cmlwfQore2Fzc2lnbiB2YXI9InBhZ2VUaXRsZSIgdmFs
dWU9Im5vdGlmaWNhdGlvbi5zZXR0aW5ncyJ9Cit7aW5jbHVkZSBmaWxlPSJjb21tb24vaGVhZGVy
LnRwbCJ9Cit7L3N0cmlwfQorCis8cD57dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLnNldHRp
bmdzRGVzY3JpcHRpb24ifTwvcD4KKworPGZvcm0gaWQ9Im5vdGlmaWNhdGlvblNldHRpbmdzIiBt
ZXRob2Q9InBvc3QiIGFjdGlvbj0ie3VybCBvcD0ic2F2ZVNldHRpbmdzIn0iPgorCisKKzxoND57
dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLnR5cGUuc3VibWlzc2lvbnMifTwvaDQ+CisKKzx1
bD4KKwk8bGk+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLmFydGljbGVTdWJtaXR0
ZWQiIHBhcmFtPSR0aXRsZVZhcn08L2xpPgorCTx1bCBjbGFzcz0icGxhaW4iPgorCQk8bGk+PHNw
YW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJub3RpZmljYXRpb25BcnRpY2xl
U3VibWl0dGVkIntpZiAhJHNtYXJ0eS5jb25zdC5OT1RJRklDQVRJT05fVFlQRV9BUlRJQ0xFX1NV
Qk1JVFRFRHxpbl9hcnJheTokbm90aWZpY2F0aW9uU2V0dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQi
ey9pZn0gLz4KKwkJCQl7dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLmFsbG93In0KKwkJCTwv
c3Bhbj48L2xpPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1l
PSJlbWFpbE5vdGlmaWNhdGlvbkFydGljbGVTdWJtaXR0ZWQie2lmICRzbWFydHkuY29uc3QuTk9U
SUZJQ0FUSU9OX1RZUEVfQVJUSUNMRV9TVUJNSVRURUR8aW5fYXJyYXk6JGVtYWlsU2V0dGluZ3N9
IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KKwkJCQl7dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0
aW9uLmVtYWlsIn0KKwkJCTwvc3Bhbj48L2xpPgorCTwvdWw+Cis8L3VsPgorCQkJCis8dWw+CisJ
PGxpPnt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24udHlwZS5tZXRhZGF0YU1vZGlmaWVkIiBw
YXJhbT0kdGl0bGVWYXJ9PC9saT4KKwk8dWwgY2xhc3M9InBsYWluIj4KKwkJPGxpPjxzcGFuPgor
CQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibm90aWZpY2F0aW9uTWV0YWRhdGFNb2Rp
ZmllZCJ7aWYgISRzbWFydHkuY29uc3QuTk9USUZJQ0FUSU9OX1RZUEVfTUVUQURBVEFfTU9ESUZJ
RUR8aW5fYXJyYXk6JG5vdGlmaWNhdGlvblNldHRpbmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9
IC8+CisJCQkJe3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5hbGxvdyJ9CisJCQk8L3NwYW4+
PC9saT4KKwkJPGxpPjxzcGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZW1h
aWxOb3RpZmljYXRpb25NZXRhZGF0YU1vZGlmaWVkIntpZiAkc21hcnR5LmNvbnN0Lk5PVElGSUNB
VElPTl9UWVBFX01FVEFEQVRBX01PRElGSUVEfGluX2FycmF5OiRlbWFpbFNldHRpbmdzfSBjaGVj
a2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5l
bWFpbCJ9CisJCQk8L3NwYW4+PC9saT4KKwk8L3VsPgorPC91bD4JCisKKzx1bD4KKwk8bGk+e3Ry
YW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLnN1cHBGaWxlQWRkZWQiIHBhcmFtPSR0aXRs
ZVZhcn08L2xpPgorCTx1bCBjbGFzcz0icGxhaW4iPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0
IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJub3RpZmljYXRpb25TdXBwRmlsZUFkZGVkIntpZiAhJHNt
YXJ0eS5jb25zdC5OT1RJRklDQVRJT05fVFlQRV9TVVBQX0ZJTEVfQURERUR8aW5fYXJyYXk6JG5v
dGlmaWNhdGlvblNldHRpbmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5z
bGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5hbGxvdyJ9CisJCQk8L3NwYW4+PC9saT4KKwkJPGxpPjxz
cGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZW1haWxOb3RpZmljYXRpb25T
dXBwRmlsZUFkZGVkIntpZiAkc21hcnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX1NVUFBfRklM
RV9BRERFRHxpbl9hcnJheTokZW1haWxTZXR0aW5nc30gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAv
PgorCQkJCXt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24uZW1haWwifQorCQkJPC9zcGFuPjwv
bGk+CisJPC91bD4KKzwvdWw+CisKKzx1bD4KKwk8bGk+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNh
dGlvbi50eXBlLnN1cHBGaWxlTW9kaWZpZWQiIHBhcmFtPSR0aXRsZVZhcn08L2xpPgorCTx1bCBj
bGFzcz0icGxhaW4iPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBu
YW1lPSJub3RpZmljYXRpb25TdXBwRmlsZU1vZGlmaWVkIntpZiAhJHNtYXJ0eS5jb25zdC5OT1RJ
RklDQVRJT05fVFlQRV9TVVBQX0ZJTEVfTU9ESUZJRUR8aW5fYXJyYXk6JG5vdGlmaWNhdGlvblNl
dHRpbmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0ZSBrZXk9Im5v
dGlmaWNhdGlvbi5hbGxvdyJ9CisJCQk8L3NwYW4+PC9saT4KKwkJPGxpPjxzcGFuPgorCQkJCTxp
bnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZW1haWxOb3RpZmljYXRpb25TdXBwRmlsZU1vZGlm
aWVkIntpZiAkc21hcnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX1NVUFBfRklMRV9NT0RJRklF
RHxpbl9hcnJheTokZW1haWxTZXR0aW5nc30gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAvPgorCQkJ
CXt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24uZW1haWwifQorCQkJPC9zcGFuPjwvbGk+CisJ
PC91bD4KKzwvdWw+CisKKzx1bD4KKwk8bGk+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi50
eXBlLmdhbGxleUFkZGVkIiBwYXJhbT0kdGl0bGVWYXJ9PC9saT4KKwk8dWwgY2xhc3M9InBsYWlu
Ij4KKwkJPGxpPjxzcGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibm90aWZp
Y2F0aW9uR2FsbGV5QWRkZWQie2lmICEkc21hcnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX0dB
TExFWV9BRERFRHxpbl9hcnJheTokbm90aWZpY2F0aW9uU2V0dGluZ3N9IGNoZWNrZWQ9ImNoZWNr
ZWQiey9pZn0gLz4KKwkJCQl7dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLmFsbG93In0KKwkJ
CTwvc3Bhbj48L2xpPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBu
YW1lPSJlbWFpbE5vdGlmaWNhdGlvbkdhbGxleUFkZGVkIntpZiAkc21hcnR5LmNvbnN0Lk5PVElG
SUNBVElPTl9UWVBFX0dBTExFWV9BRERFRHxpbl9hcnJheTokZW1haWxTZXR0aW5nc30gY2hlY2tl
ZD0iY2hlY2tlZCJ7L2lmfSAvPgorCQkJCXt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24uZW1h
aWwifQorCQkJPC9zcGFuPjwvbGk+CisJPC91bD4KKzwvdWw+CisKKzx1bD4KKwk8bGk+e3RyYW5z
bGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLmdhbGxleU1vZGlmaWVkIiBwYXJhbT0kdGl0bGVW
YXJ9PC9saT4KKwk8dWwgY2xhc3M9InBsYWluIj4KKwkJPGxpPjxzcGFuPgorCQkJCTxpbnB1dCB0
eXBlPSJjaGVja2JveCIgbmFtZT0ibm90aWZpY2F0aW9uR2FsbGV5TW9kaWZpZWQie2lmICEkc21h
cnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX0dBTExFWV9NT0RJRklFRHxpbl9hcnJheTokbm90
aWZpY2F0aW9uU2V0dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KKwkJCQl7dHJhbnNs
YXRlIGtleT0ibm90aWZpY2F0aW9uLmFsbG93In0KKwkJCTwvc3Bhbj48L2xpPgorCQk8bGk+PHNw
YW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJlbWFpbE5vdGlmaWNhdGlvbkdh
bGxleU1vZGlmaWVkIntpZiAkc21hcnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX0dBTExFWV9N
T0RJRklFRHxpbl9hcnJheTokZW1haWxTZXR0aW5nc30gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAv
PgorCQkJCXt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24uZW1haWwifQorCQkJPC9zcGFuPjwv
bGk+CisJPC91bD4KKzwvdWw+CisKKzx1bD4KKwk8bGk+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNh
dGlvbi50eXBlLnN1Ym1pc3Npb25Db21tZW50IiBwYXJhbT0kdGl0bGVWYXJ9PC9saT4KKwk8dWwg
Y2xhc3M9InBsYWluIj4KKwkJPGxpPjxzcGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIg
bmFtZT0ibm90aWZpY2F0aW9uU3VibWlzc2lvbkNvbW1lbnQie2lmICEkc21hcnR5LmNvbnN0Lk5P
VElGSUNBVElPTl9UWVBFX1NVQk1JU1NJT05fQ09NTUVOVHxpbl9hcnJheTokbm90aWZpY2F0aW9u
U2V0dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KKwkJCQl7dHJhbnNsYXRlIGtleT0i
bm90aWZpY2F0aW9uLmFsbG93In0KKwkJCTwvc3Bhbj48L2xpPgorCQk8bGk+PHNwYW4+CisJCQkJ
PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJlbWFpbE5vdGlmaWNhdGlvblN1Ym1pc3Npb25D
b21tZW50IntpZiAkc21hcnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX1NVQk1JU1NJT05fQ09N
TUVOVHxpbl9hcnJheTokZW1haWxTZXR0aW5nc30gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAvPgor
CQkJCXt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24uZW1haWwifQorCQkJPC9zcGFuPjwvbGk+
CisJPC91bD4KKzwvdWw+CisKKzx1bD4KKwk8bGk+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlv
bi50eXBlLmxheW91dENvbW1lbnQiIHBhcmFtPSR0aXRsZVZhcn08L2xpPgorCTx1bCBjbGFzcz0i
cGxhaW4iPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJu
b3RpZmljYXRpb25MYXlvdXRDb21tZW50IntpZiAhJHNtYXJ0eS5jb25zdC5OT1RJRklDQVRJT05f
VFlQRV9MQVlPVVRfQ09NTUVOVHxpbl9hcnJheTokbm90aWZpY2F0aW9uU2V0dGluZ3N9IGNoZWNr
ZWQ9ImNoZWNrZWQiey9pZn0gLz4KKwkJCQl7dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLmFs
bG93In0KKwkJCTwvc3Bhbj48L2xpPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9ImNo
ZWNrYm94IiBuYW1lPSJlbWFpbE5vdGlmaWNhdGlvbkxheW91dENvbW1lbnQie2lmICRzbWFydHku
Y29uc3QuTk9USUZJQ0FUSU9OX1RZUEVfTEFZT1VUX0NPTU1FTlR8aW5fYXJyYXk6JGVtYWlsU2V0
dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KKwkJCQl7dHJhbnNsYXRlIGtleT0ibm90
aWZpY2F0aW9uLmVtYWlsIn0KKwkJCTwvc3Bhbj48L2xpPgorCTwvdWw+Cis8L3VsPgorCis8dWw+
CisJPGxpPnt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24udHlwZS5jb3B5ZWRpdENvbW1lbnQi
IHBhcmFtPSR0aXRsZVZhcn08L2xpPgorCTx1bCBjbGFzcz0icGxhaW4iPgorCQk8bGk+PHNwYW4+
CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJub3RpZmljYXRpb25Db3B5ZWRpdENv
bW1lbnQie2lmICEkc21hcnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX0NPUFlFRElUX0NPTU1F
TlR8aW5fYXJyYXk6JG5vdGlmaWNhdGlvblNldHRpbmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9
IC8+CisJCQkJe3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5hbGxvdyJ9CisJCQk8L3NwYW4+
PC9saT4KKwkJPGxpPjxzcGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZW1h
aWxOb3RpZmljYXRpb25Db3B5ZWRpdENvbW1lbnQie2lmICRzbWFydHkuY29uc3QuTk9USUZJQ0FU
SU9OX1RZUEVfQ09QWUVESVRfQ09NTUVOVHxpbl9hcnJheTokZW1haWxTZXR0aW5nc30gY2hlY2tl
ZD0iY2hlY2tlZCJ7L2lmfSAvPgorCQkJCXt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24uZW1h
aWwifQorCQkJPC9zcGFuPjwvbGk+CisJPC91bD4KKzwvdWw+CisKKzx1bD4KKwk8bGk+e3RyYW5z
bGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLnByb29mcmVhZENvbW1lbnQiIHBhcmFtPSR0aXRs
ZVZhcn08L2xpPgorCTx1bCBjbGFzcz0icGxhaW4iPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0
IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJub3RpZmljYXRpb25Qcm9vZnJlYWRDb21tZW50IntpZiAh
JHNtYXJ0eS5jb25zdC5OT1RJRklDQVRJT05fVFlQRV9QUk9PRlJFQURfQ09NTUVOVHxpbl9hcnJh
eTokbm90aWZpY2F0aW9uU2V0dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KKwkJCQl7
dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLmFsbG93In0KKwkJCTwvc3Bhbj48L2xpPgorCQk8
bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJlbWFpbE5vdGlmaWNh
dGlvblByb29mcmVhZENvbW1lbnQie2lmICRzbWFydHkuY29uc3QuTk9USUZJQ0FUSU9OX1RZUEVf
UFJPT0ZSRUFEX0NPTU1FTlR8aW5fYXJyYXk6JGVtYWlsU2V0dGluZ3N9IGNoZWNrZWQ9ImNoZWNr
ZWQiey9pZn0gLz4KKwkJCQl7dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLmVtYWlsIn0KKwkJ
CTwvc3Bhbj48L2xpPgorCTwvdWw+Cis8L3VsPgorCis8dWw+CisJPGxpPnt0cmFuc2xhdGUga2V5
PSJub3RpZmljYXRpb24udHlwZS5yZXZpZXdlckNvbW1lbnQiIHBhcmFtPSR0aXRsZVZhcn08L2xp
PgorCTx1bCBjbGFzcz0icGxhaW4iPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9ImNo
ZWNrYm94IiBuYW1lPSJub3RpZmljYXRpb25SZXZpZXdlckNvbW1lbnQie2lmICEkc21hcnR5LmNv
bnN0Lk5PVElGSUNBVElPTl9UWVBFX1JFVklFV0VSX0NPTU1FTlR8aW5fYXJyYXk6JG5vdGlmaWNh
dGlvblNldHRpbmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0ZSBr
ZXk9Im5vdGlmaWNhdGlvbi5hbGxvdyJ9CisJCQk8L3NwYW4+PC9saT4KKwkJPGxpPjxzcGFuPgor
CQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZW1haWxOb3RpZmljYXRpb25SZXZpZXdl
ckNvbW1lbnQie2lmICRzbWFydHkuY29uc3QuTk9USUZJQ0FUSU9OX1RZUEVfUkVWSUVXRVJfQ09N
TUVOVHxpbl9hcnJheTokZW1haWxTZXR0aW5nc30gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAvPgor
CQkJCXt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24uZW1haWwifQorCQkJPC9zcGFuPjwvbGk+
CisJPC91bD4KKzwvdWw+CisKKzx1bD4KKwk8bGk+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlv
bi50eXBlLnJldmlld2VyRm9ybUNvbW1lbnQiIHBhcmFtPSR0aXRsZVZhcn08L2xpPgorCTx1bCBj
bGFzcz0icGxhaW4iPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBu
YW1lPSJub3RpZmljYXRpb25SZXZpZXdlckZvcm1Db21tZW50IntpZiAhJHNtYXJ0eS5jb25zdC5O
T1RJRklDQVRJT05fVFlQRV9SRVZJRVdFUl9GT1JNX0NPTU1FTlR8aW5fYXJyYXk6JG5vdGlmaWNh
dGlvblNldHRpbmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0ZSBr
ZXk9Im5vdGlmaWNhdGlvbi5hbGxvdyJ9CisJCQk8L3NwYW4+PC9saT4KKwkJPGxpPjxzcGFuPgor
CQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZW1haWxOb3RpZmljYXRpb25SZXZpZXdl
ckZvcm1Db21tZW50IntpZiAkc21hcnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX1JFVklFV0VS
X0ZPUk1fQ09NTUVOVHxpbl9hcnJheTokZW1haWxTZXR0aW5nc30gY2hlY2tlZD0iY2hlY2tlZCJ7
L2lmfSAvPgorCQkJCXt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24uZW1haWwifQorCQkJPC9z
cGFuPjwvbGk+CisJPC91bD4KKzwvdWw+CisKKzx1bD4KKwk8bGk+e3RyYW5zbGF0ZSBrZXk9Im5v
dGlmaWNhdGlvbi50eXBlLmVkaXRvckRlY2lzaW9uQ29tbWVudCIgcGFyYW09JHRpdGxlVmFyfTwv
bGk+CisJPHVsIGNsYXNzPSJwbGFpbiI+CisJCTxsaT48c3Bhbj4KKwkJCQk8aW5wdXQgdHlwZT0i
Y2hlY2tib3giIG5hbWU9Im5vdGlmaWNhdGlvbkVkaXRvckRlY2lzaW9uQ29tbWVudCJ7aWYgISRz
bWFydHkuY29uc3QuTk9USUZJQ0FUSU9OX1RZUEVfRURJVE9SX0RFQ0lTSU9OX0NPTU1FTlR8aW5f
YXJyYXk6JG5vdGlmaWNhdGlvblNldHRpbmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CisJ
CQkJe3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5hbGxvdyJ9CisJCQk8L3NwYW4+PC9saT4K
KwkJPGxpPjxzcGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZW1haWxOb3Rp
ZmljYXRpb25FZGl0b3JEZWNpc2lvbkNvbW1lbnQie2lmICRzbWFydHkuY29uc3QuTk9USUZJQ0FU
SU9OX1RZUEVfRURJVE9SX0RFQ0lTSU9OX0NPTU1FTlR8aW5fYXJyYXk6JGVtYWlsU2V0dGluZ3N9
IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KKwkJCQl7dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0
aW9uLmVtYWlsIn0KKwkJCTwvc3Bhbj48L2xpPgorCTwvdWw+Cis8L3VsPgorCQorPGJyIC8+CisK
KzwhLS0gT3RoZXIgZXZlbnRzIC0tPgorPGg0Pnt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24u
dHlwZS5vdGhlciJ9PC9oND4KKworPHVsPgorCTxsaT57dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0
aW9uLnR5cGUudXNlckNvbW1lbnQiIHBhcmFtPSR0aXRsZVZhcn08L2xpPgorCTx1bCBjbGFzcz0i
cGxhaW4iPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJu
b3RpZmljYXRpb25Vc2VyQ29tbWVudCJ7aWYgISRzbWFydHkuY29uc3QuTk9USUZJQ0FUSU9OX1RZ
UEVfVVNFUl9DT01NRU5UfGluX2FycmF5OiRub3RpZmljYXRpb25TZXR0aW5nc30gY2hlY2tlZD0i
Y2hlY2tlZCJ7L2lmfSAvPgorCQkJCXt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24uYWxsb3ci
fQorCQkJPC9zcGFuPjwvbGk+CisJCTxsaT48c3Bhbj4KKwkJCQk8aW5wdXQgdHlwZT0iY2hlY2ti
b3giIG5hbWU9ImVtYWlsTm90aWZpY2F0aW9uVXNlckNvbW1lbnQie2lmICRzbWFydHkuY29uc3Qu
Tk9USUZJQ0FUSU9OX1RZUEVfVVNFUl9DT01NRU5UfGluX2FycmF5OiRlbWFpbFNldHRpbmdzfSBj
aGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlv
bi5lbWFpbCJ9CisJCQk8L3NwYW4+PC9saT4KKwk8L3VsPgorPC91bD4KKworPHVsPgorCTxsaT57
dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLnR5cGUuaXNzdWVQdWJsaXNoZWQiIHBhcmFtPSR1
c2VyVmFyfTwvbGk+CisJPHVsIGNsYXNzPSJwbGFpbiI+CisJCTxsaT48c3Bhbj4KKwkJCQk8aW5w
dXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Im5vdGlmaWNhdGlvblB1Ymxpc2hlZElzc3VlIntpZiAh
JHNtYXJ0eS5jb25zdC5OT1RJRklDQVRJT05fVFlQRV9QVUJMSVNIRURfSVNTVUV8aW5fYXJyYXk6
JG5vdGlmaWNhdGlvblNldHRpbmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3Ry
YW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5hbGxvdyJ9CisJCQk8L3NwYW4+PC9saT4KKwkJPGxp
PjxzcGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZW1haWxOb3RpZmljYXRp
b25QdWJsaXNoZWRJc3N1ZSJ7aWYgJHNtYXJ0eS5jb25zdC5OT1RJRklDQVRJT05fVFlQRV9QVUJM
SVNIRURfSVNTVUV8aW5fYXJyYXk6JGVtYWlsU2V0dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9p
Zn0gLz4KKwkJCQl7dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLmVtYWlsIn0KKwkJCTwvc3Bh
bj48L2xpPgorCTwvdWw+Cis8L3VsPgorCis8cD48aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0i
e3RyYW5zbGF0ZSBrZXk9ImZvcm0uc3VibWl0In0iIGNsYXNzPSJidXR0b24gZGVmYXVsdEJ1dHRv
biIgLz4gIDxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSJ7dHJhbnNsYXRlIGtleT0iY29tbW9u
LmNhbmNlbCJ9IiBjbGFzcz0iYnV0dG9uIiBvbmNsaWNrPSJkb2N1bWVudC5sb2NhdGlvbi5ocmVm
PSd7dXJsIG9wPSJub3RpZmljYXRpb24iIGVzY2FwZT1mYWxzZX0nIiAvPjwvcD4KKworPC9mb3Jt
PgorCit7aW5jbHVkZSBmaWxlPSJjb21tb24vZm9vdGVyLnRwbCJ9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>1348</attachid>
            <date>2009-01-20 18:27:00 -0800</date>
            <delta_ts>2009-01-26 11:43:11 -0800</delta_ts>
            <desc>Patch against OJS pre-2.3 CVS</desc>
            <filename>ojsNotifs.patch</filename>
            <type>text/plain</type>
            <size>47001</size>
            <attacher>mattcrider</attacher>
            
              <data encoding="base64">SW5kZXg6IGNsYXNzZXMvYXJ0aWNsZS9BcnRpY2xlLmluYy5waHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmls
ZTogL2N2cy9vanMyL2NsYXNzZXMvYXJ0aWNsZS9BcnRpY2xlLmluYy5waHAsdgpyZXRyaWV2aW5n
IHJldmlzaW9uIDEuMzkKZGlmZiAtdSAtcjEuMzkgQXJ0aWNsZS5pbmMucGhwCi0tLSBjbGFzc2Vz
L2FydGljbGUvQXJ0aWNsZS5pbmMucGhwCTEzIE5vdiAyMDA4IDAwOjI3OjAzIC0wMDAwCTEuMzkK
KysrIGNsYXNzZXMvYXJ0aWNsZS9BcnRpY2xlLmluYy5waHAJMjEgSmFuIDIwMDkgMDE6NTk6MDgg
LTAwMDAKQEAgLTQyMyw2ICs0MjMsNzQgQEAKIAkJKTsKIAkJcmV0dXJuICRjb21tZW50c1N0YXR1
c09wdGlvbnM7CiAJfQorCQorCS8qKgorCSAqIEdldCBhbiBhcnJheSBvZiB1c2VyIElEcyBhc3Nv
Y2lhdGVkIHdpdGggdGhpcyBhcnRpY2xlCisJICogQHBhcmFtICRhdXRob3JzIGJvb2xlYW4KKwkg
KiBAcGFyYW0gJHJldmlld2VycyBib29sZWFuCisJICogQHBhcmFtICRlZGl0b3JzIGJvb2xlYW4K
KwkgKiBAcGFyYW0gJHByb29mcmVhZGVycyBib29sZWFuCisJICogQHBhcmFtICRjb3B5ZWRpdG9y
cyBib29sZWFuCisJICogQHBhcmFtICRsYXlvdXRFZGl0b3JzIGJvb2xlYW4KKwkgKiBAcmV0dXJu
IGFycmF5IFVzZXIgSURzCisJICovCisJZnVuY3Rpb24gZ2V0QXNzb2NpYXRlZFVzZXJJZHMoJGF1
dGhvcnMgPSB0cnVlLCAkcmV2aWV3ZXJzID0gdHJ1ZSwgJGVkaXRvcnMgPSB0cnVlLCAkcHJvb2Zy
ZWFkZXJzID0gdHJ1ZSwgJGNvcHllZGl0b3JzID0gdHJ1ZSwgJGxheW91dEVkaXRvcnMgPSB0cnVl
KSB7CisJCSRhcnRpY2xlSWQgPSAkdGhpcy0+Z2V0QXJ0aWNsZUlkKCk7CisJCQorCQkkdXNlcklk
cyA9IGFycmF5KCk7CisKKwkJaWYoJGF1dGhvcnMpIHsKKwkJCSRhdXRob3JEYW8gPSAmREFPUmVn
aXN0cnk6OmdldERBTygnQXV0aG9yREFPJyk7CisJCQkkYXV0aG9ycyA9ICRhdXRob3JEYW8tPmdl
dEF1dGhvcnNCeUFydGljbGUoJGFydGljbGVJZCk7CisJCQlmb3JlYWNoICgkYXV0aG9ycyBhcyAk
YXV0aG9yKSB7CisJCQkJJHVzZXJJZHNbXSA9IGFycmF5KCdpZCcgPT4gJGF1dGhvci0+Z2V0QXV0
aG9ySWQoKSwgJ3JvbGUnID0+ICdhdXRob3InKTsKKwkJCX0KKwkJfQorCQkKKwkJaWYoJGVkaXRv
cnMpIHsKKwkJCSRlZGl0QXNzaWdubWVudERhbyA9JiBEQU9SZWdpc3RyeTo6Z2V0REFPKCdFZGl0
QXNzaWdubWVudERBTycpOworCQkJJGVkaXRBc3NpZ25tZW50cyA9JiAkZWRpdEFzc2lnbm1lbnRE
YW8tPmdldEVkaXRvckFzc2lnbm1lbnRzQnlBcnRpY2xlSWQoJGFydGljbGVJZCk7CisJCQl3aGls
ZSAoJGVkaXRBc3NpZ25tZW50ID0mICRlZGl0QXNzaWdubWVudHMtPm5leHQoKSkgeworCQkJCSR1
c2VySWRzW10gPSBhcnJheSgnaWQnID0+ICRlZGl0QXNzaWdubWVudC0+Z2V0RWRpdG9ySWQoKSwg
J3JvbGUnID0+ICdlZGl0b3InKTsKKwkJCQl1bnNldCgkZWRpdEFzc2lnbm1lbnQpOworCQkJfQor
CQl9CisJCQorCQlpZigkY29weWVkaXRvcnMpIHsKKwkJCSRjb3B5QXNzaWdubWVudERhbyA9ICZE
QU9SZWdpc3RyeTo6Z2V0REFPKCdDb3B5QXNzaWdubWVudERBTycpOworCQkJJGNvcHlBc3NpZ25t
ZW50ID0mICRjb3B5QXNzaWdubWVudERhby0+Z2V0Q29weUFzc2lnbm1lbnRCeUFydGljbGVJZCgk
YXJ0aWNsZUlkKTsKKwkJCWlmICgkY29weUFzc2lnbm1lbnQgIT0gbnVsbCAmJiAkY29weUFzc2ln
bm1lbnQtPmdldENvcHllZGl0b3JJZCgpID4gMCkgeworCQkJCSR1c2VySWRzW10gPWFycmF5KCdp
ZCcgPT4gICRjb3B5QXNzaWdubWVudC0+Z2V0Q29weWVkaXRvcklkKCksICdyb2xlJyA9PiAnY29w
eWVkaXRvcicpOworCQkJfQorCQl9CisJCQorCQlpZigkbGF5b3V0RWRpdG9ycykgeworCQkJJGxh
eW91dEFzc2lnbm1lbnREYW8gPSAmREFPUmVnaXN0cnk6OmdldERBTygnTGF5b3V0QXNzaWdubWVu
dERBTycpOworCQkJJGxheW91dEVkaXRvcklkID0gJGxheW91dEFzc2lnbm1lbnREYW8tPmdldExh
eW91dEVkaXRvcklkQnlBcnRpY2xlSWQoJGFydGljbGVJZCk7CisJCQlpZiAoJGxheW91dEVkaXRv
cklkICE9IG51bGwgJiYgJGxheW91dEVkaXRvcklkID4gMCkgeworCQkJCSR1c2VySWRzW10gPSBh
cnJheSgnaWQnID0+ICRsYXlvdXRFZGl0b3JJZCwgJ3JvbGUnID0+ICdsYXlvdXRFZGl0b3InKTsK
KwkJCX0KKwkJfQkKKwkJCisJCWlmKCRwcm9vZnJlYWRlcnMpIHsKKwkJCSRwcm9vZkFzc2lnbm1l
bnREYW8gPSAmREFPUmVnaXN0cnk6OmdldERBTygnUHJvb2ZBc3NpZ25tZW50REFPJyk7CisJCQkk
cHJvb2ZBc3NpZ25tZW50ID0mICRwcm9vZkFzc2lnbm1lbnREYW8tPmdldFByb29mQXNzaWdubWVu
dEJ5QXJ0aWNsZUlkKCRhcnRpY2xlSWQpOworCQkJaWYgKCRwcm9vZkFzc2lnbm1lbnQgIT0gbnVs
bCAmJiAkcHJvb2ZBc3NpZ25tZW50LT5nZXRQcm9vZnJlYWRlcklkKCkgPiAwKSB7CisJCQkJJHVz
ZXJJZHNbXSA9IGFycmF5KCdpZCcgPT4gJHByb29mQXNzaWdubWVudC0+Z2V0UHJvb2ZyZWFkZXJJ
ZCgpLCAncm9sZScgPT4gJ3Byb29mcmVhZGVyJyk7CisJCQl9CisJCX0KKwkJCisJCWlmKCRyZXZp
ZXdlcnMpIHsKKwkJCSRyZXZpZXdBc3NpZ25tZW50RGFvID0mIERBT1JlZ2lzdHJ5OjpnZXREQU8o
J1Jldmlld0Fzc2lnbm1lbnREQU8nKTsKKwkJCSRyZXZpZXdBc3NpZ25tZW50cyA9JiAkcmV2aWV3
QXNzaWdubWVudERhby0+Z2V0UmV2aWV3QXNzaWdubWVudHNCeUFydGljbGVJZCgkYXJ0aWNsZUlk
KTsKKwkJCWZvcmVhY2ggKCRyZXZpZXdBc3NpZ25tZW50cyBhcyAkcmV2aWV3QXNzaWdubWVudCkg
eworCQkJCSR1c2VySWRzW10gPSBhcnJheSgnaWQnID0+ICRyZXZpZXdBc3NpZ25tZW50LT5nZXRS
ZXZpZXdlcklkKCksICdyb2xlJyA9PiAncmV2aWV3ZXInKTsKKwkJCQl1bnNldCgkcmV2aWV3QXNz
aWdubWVudCk7CisJCQl9CisJCX0KKwkJCQkKKwkJcmV0dXJuICR1c2VySWRzOworCX0KIH0KIAog
Pz4KSW5kZXg6IGNsYXNzZXMvam91cm5hbC9Kb3VybmFsLmluYy5waHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1Mg
ZmlsZTogL2N2cy9vanMyL2NsYXNzZXMvam91cm5hbC9Kb3VybmFsLmluYy5waHAsdgpyZXRyaWV2
aW5nIHJldmlzaW9uIDEuMjQKZGlmZiAtdSAtcjEuMjQgSm91cm5hbC5pbmMucGhwCi0tLSBjbGFz
c2VzL2pvdXJuYWwvSm91cm5hbC5pbmMucGhwCTEgSnVsIDIwMDggMDE6MTY6MTAgLTAwMDAJMS4y
NAorKysgY2xhc3Nlcy9qb3VybmFsL0pvdXJuYWwuaW5jLnBocAkyMSBKYW4gMjAwOSAwMTo1OTow
OCAtMDAwMApAQCAtMTc1LDYgKzE3NSwxNCBAQAogCWZ1bmN0aW9uIGdldEpvdXJuYWxJZCgpIHsK
IAkJcmV0dXJuICR0aGlzLT5nZXREYXRhKCdqb3VybmFsSWQnKTsKIAl9CisJCisJLyoqCisJICog
R2V0IElEIG9mIGpvdXJuYWwgKGZvciBnZW5lcmljIGNhbGxzIGluIFBLUCBXQUwpLgorCSAqIEBy
ZXR1cm4gaW50CisJICovCisJZnVuY3Rpb24gZ2V0SWQoKSB7CisJCXJldHVybiAkdGhpcy0+Z2V0
RGF0YSgnam91cm5hbElkJyk7CisJfQogCiAJLyoqCiAJICogU2V0IElEIG9mIGpvdXJuYWwuCklu
ZGV4OiBjbGFzc2VzL3N1Ym1pc3Npb24vYXV0aG9yL0F1dGhvckFjdGlvbi5pbmMucGhwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KUkNTIGZpbGU6IC9jdnMvb2pzMi9jbGFzc2VzL3N1Ym1pc3Npb24vYXV0aG9yL0F1dGhv
ckFjdGlvbi5pbmMucGhwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjcwCmRpZmYgLXUgLXIxLjcw
IEF1dGhvckFjdGlvbi5pbmMucGhwCi0tLSBjbGFzc2VzL3N1Ym1pc3Npb24vYXV0aG9yL0F1dGhv
ckFjdGlvbi5pbmMucGhwCTEwIERlYyAyMDA4IDIzOjM3OjI3IC0wMDAwCTEuNzAKKysrIGNsYXNz
ZXMvc3VibWlzc2lvbi9hdXRob3IvQXV0aG9yQWN0aW9uLmluYy5waHAJMjEgSmFuIDIwMDkgMDE6
NTk6MDggLTAwMDAKQEAgLTI3Nyw2ICsyNzcsMTUgQEAKIAkJCWlmICgkY29tbWVudEZvcm0tPnZh
bGlkYXRlKCkpIHsKIAkJCQkkY29tbWVudEZvcm0tPmV4ZWN1dGUoKTsKIAorCQkJCS8vIFNlbmQg
YSBub3RpZmljYXRpb24gdG8gYXNzb2NpYXRlZCB1c2VycworCQkJCWltcG9ydCgnbm90aWZpY2F0
aW9uLk5vdGlmaWNhdGlvbicpOworCQkJCSRub3RpZmljYXRpb25Vc2VycyA9ICRhcnRpY2xlLT5n
ZXRBc3NvY2lhdGVkVXNlcklkcyh0cnVlLCBmYWxzZSk7CisJCQkJZm9yZWFjaCAoJG5vdGlmaWNh
dGlvblVzZXJzIGFzICR1c2VyKSB7CisJCQkJCSR1cmwgPSBSZXF1ZXN0Ojp1cmwobnVsbCwgJHVz
ZXJbJ3JvbGUnXSwgJ3N1Ym1pc3Npb25FZGl0aW5nJywgJGFydGljbGUtPmdldEFydGljbGVJZCgp
KSAuICIjbGF5b3V0IjsKKwkJCQkJTm90aWZpY2F0aW9uOjpjcmVhdGVOb3RpZmljYXRpb24oJHVz
ZXJbJ2lkJ10sICJub3RpZmljYXRpb24udHlwZS5sYXlvdXRDb21tZW50IiwKKwkJCQkJCSRhcnRp
Y2xlLT5nZXRBcnRpY2xlVGl0bGUoKSwgJHVybCwgMSwgTk9USUZJQ0FUSU9OX1RZUEVfTEFZT1VU
X0NPTU1FTlQsIDEpOworCQkJCX0KKwkJCQkKIAkJCQlpZiAoJGVtYWlsQ29tbWVudCkgewogCQkJ
CQkkY29tbWVudEZvcm0tPmVtYWlsKCk7CiAJCQkJfQpAQCAtMzg5LDYgKzM5OCwxNSBAQAogCQkJ
aWYgKCRjb21tZW50Rm9ybS0+dmFsaWRhdGUoKSkgewogCQkJCSRjb21tZW50Rm9ybS0+ZXhlY3V0
ZSgpOwogCisJCQkJLy8gU2VuZCBhIG5vdGlmaWNhdGlvbiB0byBhc3NvY2lhdGVkIHVzZXJzCisJ
CQkJaW1wb3J0KCdub3RpZmljYXRpb24uTm90aWZpY2F0aW9uJyk7CisJCQkJJG5vdGlmaWNhdGlv
blVzZXJzID0gJGFydGljbGUtPmdldEFzc29jaWF0ZWRVc2VySWRzKHRydWUsIGZhbHNlKTsKKwkJ
CQlmb3JlYWNoICgkbm90aWZpY2F0aW9uVXNlcnMgYXMgJHVzZXIpIHsKKwkJCQkJJHVybCA9IFJl
cXVlc3Q6OnVybChudWxsLCAkdXNlclsncm9sZSddLCAnc3VibWlzc2lvbkVkaXRpbmcnLCAkYXJ0
aWNsZS0+Z2V0QXJ0aWNsZUlkKCkpIC4gIiNjb3B5ZWRpdCI7CisJCQkJCU5vdGlmaWNhdGlvbjo6
Y3JlYXRlTm90aWZpY2F0aW9uKCR1c2VyWydpZCddLCAibm90aWZpY2F0aW9uLnR5cGUuY29weWVk
aXRDb21tZW50IiwKKwkJCQkJCSRhcnRpY2xlLT5nZXRBcnRpY2xlVGl0bGUoKSwgJHVybCwgMSwg
Tk9USUZJQ0FUSU9OX1RZUEVfQ09QWUVESVRfQ09NTUVOVCwgMSk7CisJCQkJfQorCQkJCQogCQkJ
CWlmICgkZW1haWxDb21tZW50KSB7CiAJCQkJCSRjb21tZW50Rm9ybS0+ZW1haWwoKTsKIAkJCQl9
CkBAIC00MzIsNiArNDUwLDE1IEBACiAJCQlpZiAoJGNvbW1lbnRGb3JtLT52YWxpZGF0ZSgpKSB7
CiAJCQkJJGNvbW1lbnRGb3JtLT5leGVjdXRlKCk7CiAKKwkJCQkvLyBTZW5kIGEgbm90aWZpY2F0
aW9uIHRvIGFzc29jaWF0ZWQgdXNlcnMKKwkJCQlpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmlj
YXRpb24nKTsKKwkJCQkkbm90aWZpY2F0aW9uVXNlcnMgPSAkYXJ0aWNsZS0+Z2V0QXNzb2NpYXRl
ZFVzZXJJZHModHJ1ZSwgZmFsc2UpOworCQkJCWZvcmVhY2ggKCRub3RpZmljYXRpb25Vc2VycyBh
cyAkdXNlcikgeworCQkJCQkkdXJsID0gUmVxdWVzdDo6dXJsKG51bGwsICR1c2VyWydyb2xlJ10s
ICdzdWJtaXNzaW9uRWRpdGluZycsICRhcnRpY2xlLT5nZXRBcnRpY2xlSWQoKSkgLiAiI3Byb29m
cmVhZCI7CisJCQkJCU5vdGlmaWNhdGlvbjo6Y3JlYXRlTm90aWZpY2F0aW9uKCR1c2VyWydpZCdd
LCAibm90aWZpY2F0aW9uLnR5cGUucHJvb2ZyZWFkQ29tbWVudCIsCisJCQkJCQkkYXJ0aWNsZS0+
Z2V0QXJ0aWNsZVRpdGxlKCksICR1cmwsIDEsIE5PVElGSUNBVElPTl9UWVBFX1BST09GUkVBRF9D
T01NRU5ULCAxKTsKKwkJCQl9CisJCQkJCiAJCQkJaWYgKCRlbWFpbENvbW1lbnQpIHsKIAkJCQkJ
JGNvbW1lbnRGb3JtLT5lbWFpbCgpOwogCQkJCX0KSW5kZXg6IGNsYXNzZXMvc3VibWlzc2lvbi9j
b21tb24vQWN0aW9uLmluYy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9vanMyL2NsYXNz
ZXMvc3VibWlzc2lvbi9jb21tb24vQWN0aW9uLmluYy5waHAsdgpyZXRyaWV2aW5nIHJldmlzaW9u
IDEuMzgKZGlmZiAtdSAtcjEuMzggQWN0aW9uLmluYy5waHAKLS0tIGNsYXNzZXMvc3VibWlzc2lv
bi9jb21tb24vQWN0aW9uLmluYy5waHAJMTAgRGVjIDIwMDggMjM6Mzc6MjcgLTAwMDAJMS4zOAor
KysgY2xhc3Nlcy9zdWJtaXNzaW9uL2NvbW1vbi9BY3Rpb24uaW5jLnBocAkyMSBKYW4gMjAwOSAw
MTo1OTowOSAtMDAwMApAQCAtMTQ5LDcgKzE0OSwxNiBAQAogCiAJCQl9IGVsc2UgewogCQkJCSRt
ZXRhZGF0YUZvcm0tPmV4ZWN1dGUoKTsKLQorCQkJCQorCQkJCS8vIFNlbmQgYSBub3RpZmljYXRp
b24gdG8gYXNzb2NpYXRlZCB1c2VycworCQkJCWltcG9ydCgnbm90aWZpY2F0aW9uLk5vdGlmaWNh
dGlvbicpOworCQkJCSRub3RpZmljYXRpb25Vc2VycyA9ICRhcnRpY2xlLT5nZXRBc3NvY2lhdGVk
VXNlcklkcygpOworCQkJCWZvcmVhY2ggKCRub3RpZmljYXRpb25Vc2VycyBhcyAkdXNlcikgewor
CQkJCQkkdXJsID0gUmVxdWVzdDo6dXJsKG51bGwsICR1c2VyWydyb2xlJ10sICdzdWJtaXNzaW9u
JywgJGFydGljbGUtPmdldEFydGljbGVJZCgpKSAuICIjbWV0YWRhdGEiOworCQkJCQlOb3RpZmlj
YXRpb246OmNyZWF0ZU5vdGlmaWNhdGlvbigkdXNlclsnaWQnXSwgIm5vdGlmaWNhdGlvbi50eXBl
Lm1ldGFkYXRhTW9kaWZpZWQiLAorCQkJCQkJJGFydGljbGUtPmdldEFydGljbGVUaXRsZSgpLCAk
dXJsLCAxLCBOT1RJRklDQVRJT05fVFlQRV9NRVRBREFUQV9NT0RJRklFRCwgMSk7CisJCQkJfQor
CQkKIAkJCQkvLyBBZGQgbG9nIGVudHJ5CiAJCQkJJHVzZXIgPSAmUmVxdWVzdDo6Z2V0VXNlcigp
OwogCQkJCWltcG9ydCgnYXJ0aWNsZS5sb2cuQXJ0aWNsZUxvZycpOwpAQCAtMjU3LDYgKzI2Niwx
NSBAQAogCQkJaWYgKCRjb21tZW50Rm9ybS0+dmFsaWRhdGUoKSkgewogCQkJCSRjb21tZW50Rm9y
bS0+ZXhlY3V0ZSgpOwogCisJCQkJLy8gU2VuZCBhIG5vdGlmaWNhdGlvbiB0byBhc3NvY2lhdGVk
IHVzZXJzCisJCQkJaW1wb3J0KCdub3RpZmljYXRpb24uTm90aWZpY2F0aW9uJyk7CisJCQkJJG5v
dGlmaWNhdGlvblVzZXJzID0gJGFydGljbGUtPmdldEFzc29jaWF0ZWRVc2VySWRzKHRydWUsIGZh
bHNlKTsKKwkJCQlmb3JlYWNoICgkbm90aWZpY2F0aW9uVXNlcnMgYXMgJHVzZXIpIHsKKwkJCQkJ
JHVybCA9IFJlcXVlc3Q6OnVybChudWxsLCAkdXNlclsncm9sZSddLCAnc3VibWlzc2lvblJldmll
dycsICRhcnRpY2xlLT5nZXRBcnRpY2xlSWQoKSkgLiAiI2VkaXRvckRlY2lzaW9uIjsKKwkJCQkJ
Tm90aWZpY2F0aW9uOjpjcmVhdGVOb3RpZmljYXRpb24oJHVzZXJbJ2lkJ10sICJub3RpZmljYXRp
b24udHlwZS5zdWJtaXNzaW9uQ29tbWVudCIsCisJCQkJCQkkYXJ0aWNsZS0+Z2V0QXJ0aWNsZVRp
dGxlKCksICR1cmwsIDEsIE5PVElGSUNBVElPTl9UWVBFX1NVQk1JU1NJT05fQ09NTUVOVCwgMSk7
CisJCQkJfQorCQkJCQogCQkJCWlmICgkZW1haWxDb21tZW50KSB7CiAJCQkJCSRjb21tZW50Rm9y
bS0+ZW1haWwoJGNvbW1lbnRGb3JtLT5lbWFpbEhlbHBlcigpKTsKIAkJCQl9CkluZGV4OiBjbGFz
c2VzL3N1Ym1pc3Npb24vY29weWVkaXRvci9Db3B5ZWRpdG9yQWN0aW9uLmluYy5waHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQpSQ1MgZmlsZTogL2N2cy9vanMyL2NsYXNzZXMvc3VibWlzc2lvbi9jb3B5ZWRpdG9yL0Nv
cHllZGl0b3JBY3Rpb24uaW5jLnBocCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS41NQpkaWZmIC11
IC1yMS41NSBDb3B5ZWRpdG9yQWN0aW9uLmluYy5waHAKLS0tIGNsYXNzZXMvc3VibWlzc2lvbi9j
b3B5ZWRpdG9yL0NvcHllZGl0b3JBY3Rpb24uaW5jLnBocAkxMCBEZWMgMjAwOCAyMzozNzoyNyAt
MDAwMAkxLjU1CisrKyBjbGFzc2VzL3N1Ym1pc3Npb24vY29weWVkaXRvci9Db3B5ZWRpdG9yQWN0
aW9uLmluYy5waHAJMjEgSmFuIDIwMDkgMDE6NTk6MDkgLTAwMDAKQEAgLTI4Niw2ICsyODYsMTUg
QEAKIAkJCWlmICgkY29tbWVudEZvcm0tPnZhbGlkYXRlKCkpIHsKIAkJCQkkY29tbWVudEZvcm0t
PmV4ZWN1dGUoKTsKIAorCQkJCS8vIFNlbmQgYSBub3RpZmljYXRpb24gdG8gYXNzb2NpYXRlZCB1
c2VycworCQkJCWltcG9ydCgnbm90aWZpY2F0aW9uLk5vdGlmaWNhdGlvbicpOworCQkJCSRub3Rp
ZmljYXRpb25Vc2VycyA9ICRhcnRpY2xlLT5nZXRBc3NvY2lhdGVkVXNlcklkcyh0cnVlLCBmYWxz
ZSk7CisJCQkJZm9yZWFjaCAoJG5vdGlmaWNhdGlvblVzZXJzIGFzICR1c2VyKSB7CisJCQkJCSR1
cmwgPSBSZXF1ZXN0Ojp1cmwobnVsbCwgJHVzZXJbJ3JvbGUnXSwgJ3N1Ym1pc3Npb25FZGl0aW5n
JywgJGFydGljbGUtPmdldEFydGljbGVJZCgpKSAuICIjbGF5b3V0IjsKKwkJCQkJTm90aWZpY2F0
aW9uOjpjcmVhdGVOb3RpZmljYXRpb24oJHVzZXJbJ2lkJ10sICJub3RpZmljYXRpb24udHlwZS5s
YXlvdXRDb21tZW50IiwKKwkJCQkJCSRhcnRpY2xlLT5nZXRBcnRpY2xlVGl0bGUoKSwgJHVybCwg
MSwgTk9USUZJQ0FUSU9OX1RZUEVfTEFZT1VUX0NPTU1FTlQsIDEpOworCQkJCX0KKwkJCQkKIAkJ
CQlpZiAoJGVtYWlsQ29tbWVudCkgewogCQkJCQkkY29tbWVudEZvcm0tPmVtYWlsKCk7CiAJCQkJ
fQpAQCAtMzI4LDYgKzMzNywxNSBAQAogCQkJaWYgKCRjb21tZW50Rm9ybS0+dmFsaWRhdGUoKSkg
ewogCQkJCSRjb21tZW50Rm9ybS0+ZXhlY3V0ZSgpOwogCisJCQkJLy8gU2VuZCBhIG5vdGlmaWNh
dGlvbiB0byBhc3NvY2lhdGVkIHVzZXJzCisJCQkJaW1wb3J0KCdub3RpZmljYXRpb24uTm90aWZp
Y2F0aW9uJyk7CisJCQkJJG5vdGlmaWNhdGlvblVzZXJzID0gJGFydGljbGUtPmdldEFzc29jaWF0
ZWRVc2VySWRzKHRydWUsIGZhbHNlKTsKKwkJCQlmb3JlYWNoICgkbm90aWZpY2F0aW9uVXNlcnMg
YXMgJHVzZXIpIHsKKwkJCQkJJHVybCA9IFJlcXVlc3Q6OnVybChudWxsLCAkdXNlclsncm9sZSdd
LCAnc3VibWlzc2lvbkVkaXRpbmcnLCAkYXJ0aWNsZS0+Z2V0QXJ0aWNsZUlkKCkpIC4gIiNjb3lw
ZWRpdCI7CisJCQkJCU5vdGlmaWNhdGlvbjo6Y3JlYXRlTm90aWZpY2F0aW9uKCR1c2VyWydpZCdd
LCAibm90aWZpY2F0aW9uLnR5cGUuY29weWVkaXRDb21tZW50IiwKKwkJCQkJCSRhcnRpY2xlLT5n
ZXRBcnRpY2xlVGl0bGUoKSwgJHVybCwgMSwgTk9USUZJQ0FUSU9OX1RZUEVfQ09QWUVESVRfQ09N
TUVOVCwgMSk7CisJCQkJfQorCQkJCQogCQkJCWlmICgkZW1haWxDb21tZW50KSB7CiAJCQkJCSRj
b21tZW50Rm9ybS0+ZW1haWwoKTsKIAkJCQl9CkluZGV4OiBjbGFzc2VzL3N1Ym1pc3Npb24vbGF5
b3V0RWRpdG9yL0xheW91dEVkaXRvckFjdGlvbi5pbmMucGhwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6
IC9jdnMvb2pzMi9jbGFzc2VzL3N1Ym1pc3Npb24vbGF5b3V0RWRpdG9yL0xheW91dEVkaXRvckFj
dGlvbi5pbmMucGhwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjQwCmRpZmYgLXUgLXIxLjQwIExh
eW91dEVkaXRvckFjdGlvbi5pbmMucGhwCi0tLSBjbGFzc2VzL3N1Ym1pc3Npb24vbGF5b3V0RWRp
dG9yL0xheW91dEVkaXRvckFjdGlvbi5pbmMucGhwCTEwIERlYyAyMDA4IDIzOjM3OjI3IC0wMDAw
CTEuNDAKKysrIGNsYXNzZXMvc3VibWlzc2lvbi9sYXlvdXRFZGl0b3IvTGF5b3V0RWRpdG9yQWN0
aW9uLmluYy5waHAJMjEgSmFuIDIwMDkgMDE6NTk6MDkgLTAwMDAKQEAgLTI1Miw3ICsyNTIsMTYg
QEAKIAogCQkJaWYgKCRjb21tZW50Rm9ybS0+dmFsaWRhdGUoKSkgewogCQkJCSRjb21tZW50Rm9y
bS0+ZXhlY3V0ZSgpOwotCisJCQkJCisJCQkJLy8gU2VuZCBhIG5vdGlmaWNhdGlvbiB0byBhc3Nv
Y2lhdGVkIHVzZXJzCisJCQkJaW1wb3J0KCdub3RpZmljYXRpb24uTm90aWZpY2F0aW9uJyk7CisJ
CQkJJG5vdGlmaWNhdGlvblVzZXJzID0gJGFydGljbGUtPmdldEFzc29jaWF0ZWRVc2VySWRzKHRy
dWUsIGZhbHNlKTsKKwkJCQlmb3JlYWNoICgkbm90aWZpY2F0aW9uVXNlcnMgYXMgJHVzZXIpIHsK
KwkJCQkJJHVybCA9IFJlcXVlc3Q6OnVybChudWxsLCAkdXNlclsncm9sZSddLCAnc3VibWlzc2lv
bkVkaXRpbmcnLCAkYXJ0aWNsZS0+Z2V0QXJ0aWNsZUlkKCkpIC4gIiNsYXlvdXQiOworCQkJCQlO
b3RpZmljYXRpb246OmNyZWF0ZU5vdGlmaWNhdGlvbigkdXNlclsnaWQnXSwgIm5vdGlmaWNhdGlv
bi50eXBlLmxheW91dENvbW1lbnQiLAorCQkJCQkJJGFydGljbGUtPmdldEFydGljbGVUaXRsZSgp
LCAkdXJsLCAxLCBOT1RJRklDQVRJT05fVFlQRV9MQVlPVVRfQ09NTUVOVCwgMSk7CisJCQkJfQor
CQkJCQogCQkJCWlmICgkZW1haWxDb21tZW50KSB7CiAJCQkJCSRjb21tZW50Rm9ybS0+ZW1haWwo
KTsKIAkJCQl9CkBAIC0yOTQsNyArMzAzLDE2IEBACiAKIAkJCWlmICgkY29tbWVudEZvcm0tPnZh
bGlkYXRlKCkpIHsKIAkJCQkkY29tbWVudEZvcm0tPmV4ZWN1dGUoKTsKLQorCQkJCQorCQkJCS8v
IFNlbmQgYSBub3RpZmljYXRpb24gdG8gYXNzb2NpYXRlZCB1c2VycworCQkJCWltcG9ydCgnbm90
aWZpY2F0aW9uLk5vdGlmaWNhdGlvbicpOworCQkJCSRub3RpZmljYXRpb25Vc2VycyA9ICRhcnRp
Y2xlLT5nZXRBc3NvY2lhdGVkVXNlcklkcyh0cnVlLCBmYWxzZSk7CisJCQkJZm9yZWFjaCAoJG5v
dGlmaWNhdGlvblVzZXJzIGFzICR1c2VyKSB7CisJCQkJCSR1cmwgPSBSZXF1ZXN0Ojp1cmwobnVs
bCwgJHVzZXJbJ3JvbGUnXSwgJ3N1Ym1pc3Npb25FZGl0aW5nJywgJGFydGljbGUtPmdldEFydGlj
bGVJZCgpKSAuICIjcHJvb2ZyZWFkIjsKKwkJCQkJTm90aWZpY2F0aW9uOjpjcmVhdGVOb3RpZmlj
YXRpb24oJHVzZXJbJ2lkJ10sICJub3RpZmljYXRpb24udHlwZS5wcm9vZnJlYWRDb21tZW50IiwK
KwkJCQkJCSRhcnRpY2xlLT5nZXRBcnRpY2xlVGl0bGUoKSwgJHVybCwgMSwgTk9USUZJQ0FUSU9O
X1RZUEVfUFJPT0ZSRUFEX0NPTU1FTlQsIDEpOworCQkJCX0KKwkJCQkKIAkJCQlpZiAoJGVtYWls
Q29tbWVudCkgewogCQkJCQkkY29tbWVudEZvcm0tPmVtYWlsKCk7CiAJCQkJfQpJbmRleDogY2xh
c3Nlcy9zdWJtaXNzaW9uL3Byb29mcmVhZGVyL1Byb29mcmVhZGVyQWN0aW9uLmluYy5waHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQpSQ1MgZmlsZTogL2N2cy9vanMyL2NsYXNzZXMvc3VibWlzc2lvbi9wcm9vZnJlYWRl
ci9Qcm9vZnJlYWRlckFjdGlvbi5pbmMucGhwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjUyCmRp
ZmYgLXUgLXIxLjUyIFByb29mcmVhZGVyQWN0aW9uLmluYy5waHAKLS0tIGNsYXNzZXMvc3VibWlz
c2lvbi9wcm9vZnJlYWRlci9Qcm9vZnJlYWRlckFjdGlvbi5pbmMucGhwCTEwIERlYyAyMDA4IDIz
OjM3OjI3IC0wMDAwCTEuNTIKKysrIGNsYXNzZXMvc3VibWlzc2lvbi9wcm9vZnJlYWRlci9Qcm9v
ZnJlYWRlckFjdGlvbi5pbmMucGhwCTIxIEphbiAyMDA5IDAxOjU5OjA5IC0wMDAwCkBAIC00NzQs
NiArNDc0LDE1IEBACiAJCQlpZiAoJGNvbW1lbnRGb3JtLT52YWxpZGF0ZSgpKSB7CiAJCQkJJGNv
bW1lbnRGb3JtLT5leGVjdXRlKCk7CiAKKwkJCQkvLyBTZW5kIGEgbm90aWZpY2F0aW9uIHRvIGFz
c29jaWF0ZWQgdXNlcnMKKwkJCQlpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmljYXRpb24nKTsK
KwkJCQkkbm90aWZpY2F0aW9uVXNlcnMgPSAkYXJ0aWNsZS0+Z2V0QXNzb2NpYXRlZFVzZXJJZHMo
dHJ1ZSwgZmFsc2UpOworCQkJCWZvcmVhY2ggKCRub3RpZmljYXRpb25Vc2VycyBhcyAkdXNlcikg
eworCQkJCQkkdXJsID0gUmVxdWVzdDo6dXJsKG51bGwsICR1c2VyWydyb2xlJ10sICdzdWJtaXNz
aW9uRWRpdGluZycsICRhcnRpY2xlLT5nZXRBcnRpY2xlSWQoKSkgLiAiI3Byb29mcmVhZCI7CisJ
CQkJCU5vdGlmaWNhdGlvbjo6Y3JlYXRlTm90aWZpY2F0aW9uKCR1c2VyWydpZCddLCAibm90aWZp
Y2F0aW9uLnR5cGUucHJvb2ZyZWFkQ29tbWVudCIsCisJCQkJCQkkYXJ0aWNsZS0+Z2V0QXJ0aWNs
ZVRpdGxlKCksICR1cmwsIDEsIE5PVElGSUNBVElPTl9UWVBFX1BST09GUkVBRF9DT01NRU5ULCAx
KTsKKwkJCQl9CisJCQkJCiAJCQkJaWYgKCRlbWFpbENvbW1lbnQpIHsKIAkJCQkJJGNvbW1lbnRG
b3JtLT5lbWFpbCgpOwogCQkJCX0KQEAgLTUxNiw3ICs1MjUsMTYgQEAKIAogCQkJaWYgKCRjb21t
ZW50Rm9ybS0+dmFsaWRhdGUoKSkgewogCQkJCSRjb21tZW50Rm9ybS0+ZXhlY3V0ZSgpOwotCisJ
CQkJCQkJCQorCQkJCS8vIFNlbmQgYSBub3RpZmljYXRpb24gdG8gYXNzb2NpYXRlZCB1c2Vycwor
CQkJCWltcG9ydCgnbm90aWZpY2F0aW9uLk5vdGlmaWNhdGlvbicpOworCQkJCSRub3RpZmljYXRp
b25Vc2VycyA9ICRhcnRpY2xlLT5nZXRBc3NvY2lhdGVkVXNlcklkcyh0cnVlLCBmYWxzZSk7CisJ
CQkJZm9yZWFjaCAoJG5vdGlmaWNhdGlvblVzZXJzIGFzICR1c2VyKSB7CisJCQkJCSR1cmwgPSBS
ZXF1ZXN0Ojp1cmwobnVsbCwgJHVzZXJbJ3JvbGUnXSwgJ3N1Ym1pc3Npb25FZGl0aW5nJywgJGFy
dGljbGUtPmdldEFydGljbGVJZCgpKSAuICIjbGF5b3V0IjsKKwkJCQkJTm90aWZpY2F0aW9uOjpj
cmVhdGVOb3RpZmljYXRpb24oJHVzZXJbJ2lkJ10sICJub3RpZmljYXRpb24udHlwZS5sYXlvdXRD
b21tZW50IiwKKwkJCQkJCSRhcnRpY2xlLT5nZXRBcnRpY2xlVGl0bGUoKSwgJHVybCwgMSwgTk9U
SUZJQ0FUSU9OX1RZUEVfTEFZT1VUX0NPTU1FTlQsIDEpOworCQkJCX0KKwkJCQkKIAkJCQlpZiAo
JGVtYWlsQ29tbWVudCkgewogCQkJCQkkY29tbWVudEZvcm0tPmVtYWlsKCk7CiAJCQkJfQpJbmRl
eDogY2xhc3Nlcy9zdWJtaXNzaW9uL3Jldmlld2VyL1Jldmlld2VyQWN0aW9uLmluYy5waHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQpSQ1MgZmlsZTogL2N2cy9vanMyL2NsYXNzZXMvc3VibWlzc2lvbi9yZXZpZXdlci9S
ZXZpZXdlckFjdGlvbi5pbmMucGhwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjYyCmRpZmYgLXUg
LXIxLjYyIFJldmlld2VyQWN0aW9uLmluYy5waHAKLS0tIGNsYXNzZXMvc3VibWlzc2lvbi9yZXZp
ZXdlci9SZXZpZXdlckFjdGlvbi5pbmMucGhwCTEwIERlYyAyMDA4IDIzOjM3OjI3IC0wMDAwCTEu
NjIKKysrIGNsYXNzZXMvc3VibWlzc2lvbi9yZXZpZXdlci9SZXZpZXdlckFjdGlvbi5pbmMucGhw
CTIxIEphbiAyMDA5IDAxOjU5OjEwIC0wMDAwCkBAIC0zMDUsNiArMzA1LDE1IEBACiAJCQlpZiAo
JGNvbW1lbnRGb3JtLT52YWxpZGF0ZSgpKSB7CiAJCQkJJGNvbW1lbnRGb3JtLT5leGVjdXRlKCk7
CiAKKwkJCQkvLyBTZW5kIGEgbm90aWZpY2F0aW9uIHRvIGFzc29jaWF0ZWQgdXNlcnMKKwkJCQlp
bXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmljYXRpb24nKTsKKwkJCQkkbm90aWZpY2F0aW9uVXNl
cnMgPSAkYXJ0aWNsZS0+Z2V0QXNzb2NpYXRlZFVzZXJJZHMoKTsKKwkJCQlmb3JlYWNoICgkbm90
aWZpY2F0aW9uVXNlcnMgYXMgJHVzZXIpIHsKKwkJCQkJJHVybCA9IFJlcXVlc3Q6OnVybChudWxs
LCAkdXNlclsncm9sZSddLCAnc3VibWlzc2lvblJldmlldycsICRhcnRpY2xlLT5nZXRBcnRpY2xl
SWQoKSkgIC4gIiNwZWVyUmV2aWV3IjsKKwkJCQkJTm90aWZpY2F0aW9uOjpjcmVhdGVOb3RpZmlj
YXRpb24oJHVzZXJbJ2lkJ10sICJub3RpZmljYXRpb24udHlwZS5yZXZpZXdlckNvbW1lbnQiLAor
CQkJCQkJJGFydGljbGUtPmdldEFydGljbGVUaXRsZSgpLCAkdXJsLCAxLCBOT1RJRklDQVRJT05f
VFlQRV9SRVZJRVdFUl9DT01NRU5ULCAxKTsKKwkJCQl9CisJCQkJCiAJCQkJaWYgKCRlbWFpbENv
bW1lbnQpIHsKIAkJCQkJJGNvbW1lbnRGb3JtLT5lbWFpbCgpOwogCQkJCX0KQEAgLTM0Nyw2ICsz
NTYsMjEgQEAKIAkJCSRyZXZpZXdGb3JtLT5yZWFkSW5wdXREYXRhKCk7CiAJCQlpZiAoJHJldmll
d0Zvcm0tPnZhbGlkYXRlKCkpIHsKIAkJCQkkcmV2aWV3Rm9ybS0+ZXhlY3V0ZSgpOworCisJCQkJ
Ly8gU2VuZCBhIG5vdGlmaWNhdGlvbiB0byBhc3NvY2lhdGVkIHVzZXJzCisJCQkJaW1wb3J0KCdu
b3RpZmljYXRpb24uTm90aWZpY2F0aW9uJyk7CisJCQkJJHJldmlld0Fzc2lnbm1lbnREYW8gPSYg
REFPUmVnaXN0cnk6OmdldERBTygnUmV2aWV3QXNzaWdubWVudERBTycpOworCQkJCSRyZXZpZXdB
c3NpZ25tZW50ID0gJHJldmlld0Fzc2lnbm1lbnREYW8tPmdldFJldmlld0Fzc2lnbm1lbnRCeUlk
KCRyZXZpZXdJZCk7CisJCQkJJGFydGljbGVJZCA9ICRyZXZpZXdBc3NpZ25tZW50LT5nZXRBcnRp
Y2xlSWQoKTsKKwkJCQkkYXJ0aWNsZURhbyA9JiBEQU9SZWdpc3RyeTo6Z2V0REFPKCdBcnRpY2xl
REFPJyk7IAorCQkJCSRhcnRpY2xlID0mICRhcnRpY2xlRGFvLT5nZXRBcnRpY2xlKCRhcnRpY2xl
SWQpOworCQkJCSRub3RpZmljYXRpb25Vc2VycyA9ICRhcnRpY2xlLT5nZXRBc3NvY2lhdGVkVXNl
cklkcygpOworCQkJCWZvcmVhY2ggKCRub3RpZmljYXRpb25Vc2VycyBhcyAkdXNlcikgeworCQkJ
CQkkdXJsID0gUmVxdWVzdDo6dXJsKG51bGwsICR1c2VyWydyb2xlJ10sICdzdWJtaXNzaW9uUmV2
aWV3JywgJGFydGljbGUtPmdldEFydGljbGVJZCgpKSAgLiAiI3BlZXJSZXZpZXciOworCQkJCQlO
b3RpZmljYXRpb246OmNyZWF0ZU5vdGlmaWNhdGlvbigkdXNlclsnaWQnXSwgIm5vdGlmaWNhdGlv
bi50eXBlLnJldmlld2VyRm9ybUNvbW1lbnQiLAorCQkJCQkJJGFydGljbGUtPmdldEFydGljbGVU
aXRsZSgpLCAkdXJsLCAxLCBOT1RJRklDQVRJT05fVFlQRV9SRVZJRVdFUl9GT1JNX0NPTU1FTlQs
IDEpOworCQkJCX0KKwkJCQkKIAkJCX0gZWxzZSB7CiAJCQkJJHJldmlld0Zvcm0tPmRpc3BsYXko
KTsKIAkJCQlyZXR1cm4gZmFsc2U7CkluZGV4OiBjbGFzc2VzL3N1Ym1pc3Npb24vc2VjdGlvbkVk
aXRvci9TZWN0aW9uRWRpdG9yQWN0aW9uLmluYy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2
cy9vanMyL2NsYXNzZXMvc3VibWlzc2lvbi9zZWN0aW9uRWRpdG9yL1NlY3Rpb25FZGl0b3JBY3Rp
b24uaW5jLnBocCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xNzMKZGlmZiAtdSAtcjEuMTczIFNl
Y3Rpb25FZGl0b3JBY3Rpb24uaW5jLnBocAotLS0gY2xhc3Nlcy9zdWJtaXNzaW9uL3NlY3Rpb25F
ZGl0b3IvU2VjdGlvbkVkaXRvckFjdGlvbi5pbmMucGhwCTEwIERlYyAyMDA4IDIzOjM3OjI3IC0w
MDAwCTEuMTczCisrKyBjbGFzc2VzL3N1Ym1pc3Npb24vc2VjdGlvbkVkaXRvci9TZWN0aW9uRWRp
dG9yQWN0aW9uLmluYy5waHAJMjEgSmFuIDIwMDkgMDE6NTk6MTEgLTAwMDAKQEAgLTE3NTgsNiAr
MTc1OCwxNSBAQAogCQlpZiAoJGNvbW1lbnRGb3JtLT52YWxpZGF0ZSgpKSB7CiAJCQkkY29tbWVu
dEZvcm0tPmV4ZWN1dGUoKTsKIAorCQkJLy8gU2VuZCBhIG5vdGlmaWNhdGlvbiB0byBhc3NvY2lh
dGVkIHVzZXJzCisJCQlpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmljYXRpb24nKTsKKwkJCSRu
b3RpZmljYXRpb25Vc2VycyA9ICRhcnRpY2xlLT5nZXRBc3NvY2lhdGVkVXNlcklkcygpOworCQkJ
Zm9yZWFjaCAoJG5vdGlmaWNhdGlvblVzZXJzIGFzICR1c2VyKSB7CisJCQkJJHVybCA9IFJlcXVl
c3Q6OnVybChudWxsLCAkdXNlclsncm9sZSddLCAnc3VibWlzc2lvblJldmlldycsICRhcnRpY2xl
LT5nZXRBcnRpY2xlSWQoKSkgIC4gIiNwZWVyUmV2aWV3IjsKKwkJCQlOb3RpZmljYXRpb246OmNy
ZWF0ZU5vdGlmaWNhdGlvbigkdXNlclsnaWQnXSwgIm5vdGlmaWNhdGlvbi50eXBlLnJldmlld2Vy
Q29tbWVudCIsCisJCQkJCSRhcnRpY2xlLT5nZXRBcnRpY2xlVGl0bGUoKSwgJHVybCwgMSwgTk9U
SUZJQ0FUSU9OX1RZUEVfUkVWSUVXRVJfQ09NTUVOVCwgMSk7CisJCQl9CisJCQkJCiAJCQlpZiAo
JGVtYWlsQ29tbWVudCkgewogCQkJCSRjb21tZW50Rm9ybS0+ZW1haWwoKTsKIAkJCX0KQEAgLTE4
MDEsNiArMTgxMCwxNSBAQAogCQlpZiAoJGNvbW1lbnRGb3JtLT52YWxpZGF0ZSgpKSB7CiAJCQkk
Y29tbWVudEZvcm0tPmV4ZWN1dGUoKTsKIAorCQkJLy8gU2VuZCBhIG5vdGlmaWNhdGlvbiB0byBh
c3NvY2lhdGVkIHVzZXJzCisJCQlpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmljYXRpb24nKTsK
KwkJCSRub3RpZmljYXRpb25Vc2VycyA9ICRhcnRpY2xlLT5nZXRBc3NvY2lhdGVkVXNlcklkcyh0
cnVlLCBmYWxzZSk7CisJCQlmb3JlYWNoICgkbm90aWZpY2F0aW9uVXNlcnMgYXMgJHVzZXIpIHsK
KwkJCQkkdXJsID0gUmVxdWVzdDo6dXJsKG51bGwsICR1c2VyWydyb2xlJ10sICdzdWJtaXNzaW9u
UmV2aWV3JywgJGFydGljbGUtPmdldEFydGljbGVJZCgpKSAuICIjZWRpdG9yRGVjaXNpb24iOwor
CQkJCU5vdGlmaWNhdGlvbjo6Y3JlYXRlTm90aWZpY2F0aW9uKCR1c2VyWydpZCddLCAibm90aWZp
Y2F0aW9uLnR5cGUuZWRpdG9yRGVjaXNpb25Db21tZW50IiwKKwkJCQkJJGFydGljbGUtPmdldEFy
dGljbGVUaXRsZSgpLCAkdXJsLCAxLCBOT1RJRklDQVRJT05fVFlQRV9FRElUT1JfREVDSVNJT05f
Q09NTUVOVCwgMSk7CisJCQl9CisJCQkJCiAJCQlpZiAoJGVtYWlsQ29tbWVudCkgewogCQkJCSRj
b21tZW50Rm9ybS0+ZW1haWwoKTsKIAkJCX0KQEAgLTIwNDQsNiArMjA2MiwxNSBAQAogCQlpZiAo
JGNvbW1lbnRGb3JtLT52YWxpZGF0ZSgpKSB7CiAJCQkkY29tbWVudEZvcm0tPmV4ZWN1dGUoKTsK
IAorCQkJLy8gU2VuZCBhIG5vdGlmaWNhdGlvbiB0byBhc3NvY2lhdGVkIHVzZXJzCisJCQlpbXBv
cnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmljYXRpb24nKTsKKwkJCSRub3RpZmljYXRpb25Vc2VycyA9
ICRhcnRpY2xlLT5nZXRBc3NvY2lhdGVkVXNlcklkcyh0cnVlLCBmYWxzZSk7CisJCQlmb3JlYWNo
ICgkbm90aWZpY2F0aW9uVXNlcnMgYXMgJHVzZXIpIHsKKwkJCQkkdXJsID0gUmVxdWVzdDo6dXJs
KG51bGwsICR1c2VyWydyb2xlJ10sICdzdWJtaXNzaW9uRWRpdGluZycsICRhcnRpY2xlLT5nZXRB
cnRpY2xlSWQoKSkgLiAiI2NvcHllZGl0IjsKKwkJCQlOb3RpZmljYXRpb246OmNyZWF0ZU5vdGlm
aWNhdGlvbigkdXNlclsnaWQnXSwgIm5vdGlmaWNhdGlvbi50eXBlLmNvcHllZGl0Q29tbWVudCIs
CisJCQkJCSRhcnRpY2xlLT5nZXRBcnRpY2xlVGl0bGUoKSwgJHVybCwgMSwgTk9USUZJQ0FUSU9O
X1RZUEVfQ09QWUVESVRfQ09NTUVOVCwgMSk7CisJCQl9CisKIAkJCWlmICgkZW1haWxDb21tZW50
KSB7CiAJCQkJJGNvbW1lbnRGb3JtLT5lbWFpbCgpOwogCQkJfQpAQCAtMjA4Nyw2ICsyMTE0LDE1
IEBACiAJCWlmICgkY29tbWVudEZvcm0tPnZhbGlkYXRlKCkpIHsKIAkJCSRjb21tZW50Rm9ybS0+
ZXhlY3V0ZSgpOwogCisJCQkvLyBTZW5kIGEgbm90aWZpY2F0aW9uIHRvIGFzc29jaWF0ZWQgdXNl
cnMKKwkJCWltcG9ydCgnbm90aWZpY2F0aW9uLk5vdGlmaWNhdGlvbicpOworCQkJJG5vdGlmaWNh
dGlvblVzZXJzID0gJGFydGljbGUtPmdldEFzc29jaWF0ZWRVc2VySWRzKHRydWUsIGZhbHNlKTsK
KwkJCWZvcmVhY2ggKCRub3RpZmljYXRpb25Vc2VycyBhcyAkdXNlcikgeworCQkJCSR1cmwgPSBS
ZXF1ZXN0Ojp1cmwobnVsbCwgJHVzZXJbJ3JvbGUnXSwgJ3N1Ym1pc3Npb25FZGl0aW5nJywgJGFy
dGljbGUtPmdldEFydGljbGVJZCgpKSAuICIjbGF5b3V0IjsKKwkJCQlOb3RpZmljYXRpb246OmNy
ZWF0ZU5vdGlmaWNhdGlvbigkdXNlclsnaWQnXSwgIm5vdGlmaWNhdGlvbi50eXBlLmxheW91dENv
bW1lbnQiLAorCQkJCQkkYXJ0aWNsZS0+Z2V0QXJ0aWNsZVRpdGxlKCksICR1cmwsIDEsIE5PVElG
SUNBVElPTl9UWVBFX0xBWU9VVF9DT01NRU5ULCAxKTsKKwkJCX0KKwkJCQkKIAkJCWlmICgkZW1h
aWxDb21tZW50KSB7CiAJCQkJJGNvbW1lbnRGb3JtLT5lbWFpbCgpOwogCQkJfQpAQCAtMjEzMCw2
ICsyMTY2LDE1IEBACiAJCWlmICgkY29tbWVudEZvcm0tPnZhbGlkYXRlKCkpIHsKIAkJCSRjb21t
ZW50Rm9ybS0+ZXhlY3V0ZSgpOwogCisJCQkvLyBTZW5kIGEgbm90aWZpY2F0aW9uIHRvIGFzc29j
aWF0ZWQgdXNlcnMKKwkJCWltcG9ydCgnbm90aWZpY2F0aW9uLk5vdGlmaWNhdGlvbicpOworCQkJ
JG5vdGlmaWNhdGlvblVzZXJzID0gJGFydGljbGUtPmdldEFzc29jaWF0ZWRVc2VySWRzKHRydWUs
IGZhbHNlKTsKKwkJCWZvcmVhY2ggKCRub3RpZmljYXRpb25Vc2VycyBhcyAkdXNlcikgeworCQkJ
CSR1cmwgPSBSZXF1ZXN0Ojp1cmwobnVsbCwgJHVzZXJbJ3JvbGUnXSwgJ3N1Ym1pc3Npb25FZGl0
aW5nJywgJGFydGljbGUtPmdldEFydGljbGVJZCgpKSAuICIjcHJvb2ZyZWFkIjsKKwkJCQlOb3Rp
ZmljYXRpb246OmNyZWF0ZU5vdGlmaWNhdGlvbigkdXNlclsnaWQnXSwgIm5vdGlmaWNhdGlvbi50
eXBlLnByb29mcmVhZENvbW1lbnQiLAorCQkJCQkkYXJ0aWNsZS0+Z2V0QXJ0aWNsZVRpdGxlKCks
ICR1cmwsIDEsIE5PVElGSUNBVElPTl9UWVBFX1BST09GUkVBRF9DT01NRU5ULCAxKTsKKwkJCX0J
CisJCQkKIAkJCWlmICgkZW1haWxDb21tZW50KSB7CiAJCQkJJGNvbW1lbnRGb3JtLT5lbWFpbCgp
OwogCQkJfQpJbmRleDogZGJzY3JpcHRzL3htbC9kYXRhL2VtYWlsX3RlbXBsYXRlcy54bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQpSQ1MgZmlsZTogL2N2cy9vanMyL2Ric2NyaXB0cy94bWwvZGF0YS9lbWFpbF90ZW1w
bGF0ZXMueG1sLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjMzCmRpZmYgLXUgLXIxLjMzIGVtYWls
X3RlbXBsYXRlcy54bWwKLS0tIGRic2NyaXB0cy94bWwvZGF0YS9lbWFpbF90ZW1wbGF0ZXMueG1s
CTkgRGVjIDIwMDggMTc6NDQ6MDMgLTAwMDAJMS4zMworKysgZGJzY3JpcHRzL3htbC9kYXRhL2Vt
YWlsX3RlbXBsYXRlcy54bWwJMjEgSmFuIDIwMDkgMDE6NTk6MTEgLTAwMDAKQEAgLTIxLDYgKzIx
LDIxIEBACiAJCSAgKgogCQkgIC0tPgogCQk8cm93PgorCQkJPGZpZWxkIG5hbWU9ImVtYWlsX2tl
eSI+Tk9USUZJQ0FUSU9OPC9maWVsZD4KKwkJCTxmaWVsZCBuYW1lPSJjYW5fZWRpdCI+MTwvZmll
bGQ+CisJCQk8ZmllbGQgbmFtZT0iY2FuX2Rpc2FibGUiPjA8L2ZpZWxkPgorCQk8L3Jvdz4KKwkJ
PHJvdz4KKwkJCTxmaWVsZCBuYW1lPSJlbWFpbF9rZXkiPk5PVElGSUNBVElPTl9NQUlMTElTVDwv
ZmllbGQ+CisJCQk8ZmllbGQgbmFtZT0iY2FuX2VkaXQiPjE8L2ZpZWxkPgorCQkJPGZpZWxkIG5h
bWU9ImNhbl9kaXNhYmxlIj4wPC9maWVsZD4KKwkJPC9yb3c+CisJCTxyb3c+CisJCQk8ZmllbGQg
bmFtZT0iZW1haWxfa2V5Ij5OT1RJRklDQVRJT05fTUFJTExJU1RfUEFTU1dPUkQ8L2ZpZWxkPgor
CQkJPGZpZWxkIG5hbWU9ImNhbl9lZGl0Ij4xPC9maWVsZD4KKwkJCTxmaWVsZCBuYW1lPSJjYW5f
ZGlzYWJsZSI+MDwvZmllbGQ+CisJCTwvcm93PgorCQk8cm93PgogCQkJPGZpZWxkIG5hbWU9ImVt
YWlsX2tleSI+UEFTU1dPUkRfUkVTRVRfQ09ORklSTTwvZmllbGQ+CiAJCQk8ZmllbGQgbmFtZT0i
Y2FuX2VkaXQiPjE8L2ZpZWxkPgogCQkJPGZpZWxkIG5hbWU9ImNhbl9kaXNhYmxlIj4wPC9maWVs
ZD4KSW5kZXg6IGRic2NyaXB0cy94bWwvZGF0YS9sb2NhbGUvZW5fVVMvZW1haWxfdGVtcGxhdGVz
X2RhdGEueG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvb2pzMi9kYnNjcmlwdHMveG1sL2Rh
dGEvbG9jYWxlL2VuX1VTL2VtYWlsX3RlbXBsYXRlc19kYXRhLnhtbCx2CnJldHJpZXZpbmcgcmV2
aXNpb24gMS41NgpkaWZmIC11IC1yMS41NiBlbWFpbF90ZW1wbGF0ZXNfZGF0YS54bWwKLS0tIGRi
c2NyaXB0cy94bWwvZGF0YS9sb2NhbGUvZW5fVVMvZW1haWxfdGVtcGxhdGVzX2RhdGEueG1sCTkg
RGVjIDIwMDggMTc6NDQ6MDMgLTAwMDAJMS41NgorKysgZGJzY3JpcHRzL3htbC9kYXRhL2xvY2Fs
ZS9lbl9VUy9lbWFpbF90ZW1wbGF0ZXNfZGF0YS54bWwJMjEgSmFuIDIwMDkgMDE6NTk6MTIgLTAw
MDAKQEAgLTIyLDYgKzIyLDU1IEBACiAJCSAgKgogCQkgIC0tPgogCQk8cm93PgorCQkJPGZpZWxk
IG5hbWU9ImVtYWlsX2tleSI+Tk9USUZJQ0FUSU9OPC9maWVsZD4KKwkJCTxmaWVsZCBuYW1lPSJz
dWJqZWN0Ij5OZXcgbm90aWZpY2F0aW9uPC9maWVsZD4KKwkJCTxmaWVsZCBuYW1lPSJib2R5Ij5Z
b3UgaGF2ZSBhIG5ldyBub3RpZmljYXRpb24gZnJvbSB7JHNpdGVUaXRsZX06CisKK3skbm90aWZp
Y2F0aW9uQ29udGVudHN9CisKK0xpbms6IHskdXJsfQorCit7JHByaW5jaXBhbENvbnRhY3RTaWdu
YXR1cmV9PC9maWVsZD4KKwkJCTxmaWVsZCBuYW1lPSJkZXNjcmlwdGlvbiI+VGhlIGVtYWlsIGlz
IHNlbnQgdG8gcmVnaXN0ZXJlZCB1c2VycyB0aGF0IGhhdmUgc2VsZWN0ZWQgdG8gaGF2ZSB0aGlz
IHR5cGUgb2Ygbm90aWZpY2F0aW9uIGVtYWlsZWQgdG8gdGhlbS48L2ZpZWxkPgorCQk8L3Jvdz4K
KwkJPHJvdz4KKwkJCTxmaWVsZCBuYW1lPSJlbWFpbF9rZXkiPk5PVElGSUNBVElPTl9NQUlMTElT
VDwvZmllbGQ+CisJCQk8ZmllbGQgbmFtZT0ic3ViamVjdCI+TmV3IG5vdGlmaWNhdGlvbjwvZmll
bGQ+CisJCQk8ZmllbGQgbmFtZT0iYm9keSI+WW91IGhhdmUgYSBuZXcgbm90aWZpY2F0aW9uIGZy
b20geyRzaXRlVGl0bGV9OgorLS0KK3skbm90aWZpY2F0aW9uQ29udGVudHN9CisKK0xpbms6IHsk
dXJsfQorLS0KKworSWYgeW91IHdpc2ggdG8gc3RvcCByZWNlaXZpbmcgbm90aWZpY2F0aW9uIGVt
YWlscywgcGxlYXNlIGdvIHRvIHskdW5zdWJzY3JpYmVMaW5rfSBhbmQgZW50ZXIgeW91ciBlbWFp
bCBhZGRyZXNzIGFuZCBwYXNzd29yZC4KKworeyRwcmluY2lwYWxDb250YWN0U2lnbmF0dXJlfTwv
ZmllbGQ+CisJCQk8ZmllbGQgbmFtZT0iZGVzY3JpcHRpb24iPlRoaXMgZW1haWwgaXMgc2VudCB0
byB1bnJlZ2lzdGVyZWQgdXNlcnMgb24gdGhlIG5vdGlmaWNhdGlvbiBtYWlsaW5nIGxpc3QuPC9m
aWVsZD4KKwkJPC9yb3c+CisJCTxyb3c+CisJCQk8ZmllbGQgbmFtZT0iZW1haWxfa2V5Ij5OT1RJ
RklDQVRJT05fTUFJTExJU1RfV0VMQ09NRTwvZmllbGQ+CisJCQk8ZmllbGQgbmFtZT0ic3ViamVj
dCI+V2VsY29tZSB0byB0aGUgdGhlIHskc2l0ZVRpdGxlfSBtYWlsaW5nIGxpc3QhPC9maWVsZD4K
KwkJCTxmaWVsZCBuYW1lPSJib2R5Ij5Zb3UgaGF2ZSBzaWduZWQgdXAgdG8gcmVjZWl2ZSBub3Rp
ZmljYXRpb25zIGZyb20geyRzaXRlVGl0bGV9LgorCitJZiB5b3Ugd2lzaCB0byBzdG9wIHJlY2Vp
dmluZyBub3RpZmljYXRpb24gZW1haWxzLCBwbGVhc2UgZ28gdG8geyR1bnN1YnNjcmliZUxpbmt9
IGFuZCBlbnRlciB5b3VyIGVtYWlsIGFkZHJlc3MgYW5kIHBhc3N3b3JkLgorCitZb3VyIHBhc3N3
b3JkIGZvciBkaXNhYmxpbmcgbm90aWZpY2F0aW9uIGVtYWlscyBpczogeyRwYXNzd29yZH0KKwor
eyRwcmluY2lwYWxDb250YWN0U2lnbmF0dXJlfTwvZmllbGQ+CisJCQk8ZmllbGQgbmFtZT0iZGVz
Y3JpcHRpb24iPlRoaXMgZW1haWwgaXMgc2VudCB0byBhbiB1bnJlZ2lzdGVyZWQgdXNlciB3aG8g
anVzdCByZWdpc3RlcmVkIHdpdGggdGhlIG5vdGlmaWNhdGlvbiBtYWlsaW5nIGxpc3QuPC9maWVs
ZD4KKwkJPC9yb3c+CisJCTxyb3c+CisJCQk8ZmllbGQgbmFtZT0iZW1haWxfa2V5Ij5OT1RJRklD
QVRJT05fTUFJTExJU1RfUEFTU1dPUkQ8L2ZpZWxkPgorCQkJPGZpZWxkIG5hbWU9InN1YmplY3Qi
PllvdXIgbm90aWZpY2F0aW9uIG1haWxpbmcgbGlzdCBpbmZvcm1hdGlvbjwvZmllbGQ+CisJCQk8
ZmllbGQgbmFtZT0iYm9keSI+WW91ciBuZXcgcGFzc3dvcmQgZm9yIGRpc2FibGluZyBub3RpZmlj
YXRpb24gZW1haWxzIGlzOiB7JHBhc3N3b3JkfQorCitJZiB5b3Ugd2lzaCB0byBzdG9wIHJlY2Vp
dmluZyBub3RpZmljYXRpb24gZW1haWxzLCBwbGVhc2UgZ28gdG8geyR1bnN1YnNjcmliZUxpbmt9
IGFuZCBlbnRlciB5b3VyIGVtYWlsIGFkZHJlc3MgYW5kIHBhc3N3b3JkLgorCit7JHByaW5jaXBh
bENvbnRhY3RTaWduYXR1cmV9PC9maWVsZD4KKwkJCTxmaWVsZCBuYW1lPSJkZXNjcmlwdGlvbiI+
VGhpcyBlbWFpbCBpcyBzZW50IHRvIGFuIHVucmVnaXN0ZXJlZCB1c2VyIG9uIHRoZSBub3RpZmlj
YXRpb24gbWFpbGluZyBsaXN0IHdoZW4gdGhleSBpbmRpY2F0ZSB0aGF0IHRoZXkgaGF2ZSBmb3Jn
b3R0ZW4gdGhlaXIgcGFzc3dvcmQgb3IgYXJlIHVuYWJsZSB0byBsb2dpbi4gSXQgcHJvdmlkZXMg
YSBVUkwgdGhleSBjYW4gZm9sbG93IHRvIHJlc2V0IHRoZWlyIHBhc3N3b3JkLjwvZmllbGQ+CisJ
CTwvcm93PgorCQk8cm93PgogCQkJPGZpZWxkIG5hbWU9ImVtYWlsX2tleSI+UEFTU1dPUkRfUkVT
RVRfQ09ORklSTTwvZmllbGQ+CiAJCQk8ZmllbGQgbmFtZT0ic3ViamVjdCI+UGFzc3dvcmQgUmVz
ZXQgQ29uZmlybWF0aW9uPC9maWVsZD4KIAkJCTxmaWVsZCBuYW1lPSJib2R5Ij5XZSBoYXZlIHJl
Y2VpdmVkIGEgcmVxdWVzdCB0byByZXNldCB5b3VyIHBhc3N3b3JkIGZvciB0aGUgeyRzaXRlVGl0
bGV9IHdlYiBzaXRlLgpJbmRleDogcGFnZXMvYWRtaW4vQWRtaW5Kb3VybmFsSGFuZGxlci5pbmMu
cGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvb2pzMi9wYWdlcy9hZG1pbi9BZG1pbkpvdXJu
YWxIYW5kbGVyLmluYy5waHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjQKZGlmZiAtdSAtcjEu
MjQgQWRtaW5Kb3VybmFsSGFuZGxlci5pbmMucGhwCi0tLSBwYWdlcy9hZG1pbi9BZG1pbkpvdXJu
YWxIYW5kbGVyLmluYy5waHAJMTAgRGVjIDIwMDggMjM6Mzc6MjggLTAwMDAJMS4yNAorKysgcGFn
ZXMvYWRtaW4vQWRtaW5Kb3VybmFsSGFuZGxlci5pbmMucGhwCTIxIEphbiAyMDA5IDAxOjU5OjE0
IC0wMDAwCkBAIC03Nyw2ICs3Nyw3IEBACiAJCWlmICgkc2V0dGluZ3NGb3JtLT52YWxpZGF0ZSgp
KSB7CiAJCQlQbHVnaW5SZWdpc3RyeTo6bG9hZENhdGVnb3J5KCdibG9ja3MnKTsKIAkJCSRzZXR0
aW5nc0Zvcm0tPmV4ZWN1dGUoKTsKKwogCQkJUmVxdWVzdDo6cmVkaXJlY3QobnVsbCwgbnVsbCwg
J2pvdXJuYWxzJyk7CiAKIAkJfSBlbHNlIHsKSW5kZXg6IHBhZ2VzL2FkbWluL0FkbWluU2V0dGlu
Z3NIYW5kbGVyLmluYy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9vanMyL3BhZ2VzL2Fk
bWluL0FkbWluU2V0dGluZ3NIYW5kbGVyLmluYy5waHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEu
MTgKZGlmZiAtdSAtcjEuMTggQWRtaW5TZXR0aW5nc0hhbmRsZXIuaW5jLnBocAotLS0gcGFnZXMv
YWRtaW4vQWRtaW5TZXR0aW5nc0hhbmRsZXIuaW5jLnBocAkxMCBEZWMgMjAwOCAyMzozNzoyOCAt
MDAwMAkxLjE4CisrKyBwYWdlcy9hZG1pbi9BZG1pblNldHRpbmdzSGFuZGxlci5pbmMucGhwCTIx
IEphbiAyMDA5IDAxOjU5OjE0IC0wMDAwCkBAIC03Nyw3ICs3Nyw2IEBACiAJCQl9CiAJCX0gZWxz
ZWlmICgkc2V0dGluZ3NGb3JtLT52YWxpZGF0ZSgpKSB7CiAJCQkkc2V0dGluZ3NGb3JtLT5leGVj
dXRlKCk7Ci0KIAkJCSR0ZW1wbGF0ZU1nciA9ICZUZW1wbGF0ZU1hbmFnZXI6OmdldE1hbmFnZXIo
KTsKIAkJCSR0ZW1wbGF0ZU1nci0+YXNzaWduKGFycmF5KAogCQkJCSdjdXJyZW50VXJsJyA9PiBS
ZXF1ZXN0Ojp1cmwobnVsbCwgbnVsbCwgJ3NldHRpbmdzJyksCkluZGV4OiBwYWdlcy9hdXRob3Iv
U3VibWl0SGFuZGxlci5pbmMucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvb2pzMi9wYWdl
cy9hdXRob3IvU3VibWl0SGFuZGxlci5pbmMucGhwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjMw
CmRpZmYgLXUgLXIxLjMwIFN1Ym1pdEhhbmRsZXIuaW5jLnBocAotLS0gcGFnZXMvYXV0aG9yL1N1
Ym1pdEhhbmRsZXIuaW5jLnBocAkxMCBEZWMgMjAwOCAyMzozNzoyOCAtMDAwMAkxLjMwCisrKyBw
YWdlcy9hdXRob3IvU3VibWl0SGFuZGxlci5pbmMucGhwCTIxIEphbiAyMDA5IDAxOjU5OjE0IC0w
MDAwCkBAIC0xNDQsNiArMTQ0LDI1IEBACiAJCQkkYXJ0aWNsZUlkID0gJHN1Ym1pdEZvcm0tPmV4
ZWN1dGUoKTsKIAogCQkJaWYgKCRzdGVwID09IDUpIHsKKwkJCQkvLyBTZW5kIGEgbm90aWZpY2F0
aW9uIHRvIGFzc29jaWF0ZWQgdXNlcnMKKwkJCQlpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmlj
YXRpb24nKTsKKwkJCQkkYXJ0aWNsZURhbyA9JiBEQU9SZWdpc3RyeTo6Z2V0REFPKCdBcnRpY2xl
REFPJyk7IAorCQkJCSRhcnRpY2xlID0mICRhcnRpY2xlRGFvLT5nZXRBcnRpY2xlKCRhcnRpY2xl
SWQpOworCQkJCSRyb2xlRGFvID0gJkRBT1JlZ2lzdHJ5OjpnZXREQU8oJ1JvbGVEQU8nKTsKKwkJ
CQkkbm90aWZpY2F0aW9uVXNlcnMgPSBhcnJheSgpOworCQkJCSRqb3VybmFsTWFuYWdlcnMgPSAk
cm9sZURhby0+Z2V0VXNlcnNCeVJvbGVJZChST0xFX0lEX0pPVVJOQUxfTUFOQUdFUik7CisJCQkJ
JGFsbFVzZXJzID0gJGpvdXJuYWxNYW5hZ2Vycy0+dG9BcnJheSgpOworCQkJCSRlZGl0b3JzID0g
JHJvbGVEYW8tPmdldFVzZXJzQnlSb2xlSWQoUk9MRV9JRF9FRElUT1IpOworCQkJCWFycmF5X21l
cmdlKCRhbGxVc2VycywgJGVkaXRvcnMtPnRvQXJyYXkoKSk7CisJCQkJZm9yZWFjaCAoJGFsbFVz
ZXJzIGFzICR1c2VyKSB7CisJCQkJCSRub3RpZmljYXRpb25Vc2Vyc1tdID0gYXJyYXkoJ2lkJyA9
PiAkdXNlci0+Z2V0VXNlcklkKCkpOworCQkJCX0KKwkJCQlmb3JlYWNoICgkbm90aWZpY2F0aW9u
VXNlcnMgYXMgJHVzZXIpIHsKKwkJCQkJJHVybCA9IFJlcXVlc3Q6OnVybChudWxsLCAnZWRpdG9y
JywgJ3N1Ym1pc3Npb24nLCAkYXJ0aWNsZUlkKTsKKwkJCQkJTm90aWZpY2F0aW9uOjpjcmVhdGVO
b3RpZmljYXRpb24oJHVzZXJbJ2lkJ10sICJub3RpZmljYXRpb24udHlwZS5hcnRpY2xlU3VibWl0
dGVkIiwKKwkJCQkJCSRhcnRpY2xlLT5nZXRBcnRpY2xlVGl0bGUoKSwgJHVybCwgMSwgTk9USUZJ
Q0FUSU9OX1RZUEVfQVJUSUNMRV9TVUJNSVRURUQsIDEpOworCQkJCX0KKwkJCQkKIAkJCQkkam91
cm5hbCA9ICZSZXF1ZXN0OjpnZXRKb3VybmFsKCk7CiAJCQkJJHRlbXBsYXRlTWdyID0gJlRlbXBs
YXRlTWFuYWdlcjo6Z2V0TWFuYWdlcigpOwogCQkJCSR0ZW1wbGF0ZU1nci0+YXNzaWduX2J5X3Jl
Zignam91cm5hbCcsICRqb3VybmFsKTsKSW5kZXg6IHBhZ2VzL2NvbW1lbnQvQ29tbWVudEhhbmRs
ZXIuaW5jLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL29qczIvcGFnZXMvY29tbWVudC9D
b21tZW50SGFuZGxlci5pbmMucGhwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjM0CmRpZmYgLXUg
LXIxLjM0IENvbW1lbnRIYW5kbGVyLmluYy5waHAKLS0tIHBhZ2VzL2NvbW1lbnQvQ29tbWVudEhh
bmRsZXIuaW5jLnBocAkxMCBEZWMgMjAwOCAyMzozNzoyOCAtMDAwMAkxLjM0CisrKyBwYWdlcy9j
b21tZW50L0NvbW1lbnRIYW5kbGVyLmluYy5waHAJMjEgSmFuIDIwMDkgMDE6NTk6MTUgLTAwMDAK
QEAgLTk3LDYgKzk3LDE4IEBACiAJCQkkY29tbWVudEZvcm0tPnJlYWRJbnB1dERhdGEoKTsKIAkJ
CWlmICgkY29tbWVudEZvcm0tPnZhbGlkYXRlKCkpIHsKIAkJCQkkY29tbWVudEZvcm0tPmV4ZWN1
dGUoKTsKKwkJCQkKKwkJCQkvLyBTZW5kIGEgbm90aWZpY2F0aW9uIHRvIGFzc29jaWF0ZWQgdXNl
cnMKKwkJCQlpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmljYXRpb24nKTsKKwkJCQkkYXJ0aWNs
ZURBTyA9JiBEQU9SZWdpc3RyeTo6Z2V0REFPKCdBcnRpY2xlREFPJyk7CisJCQkJJGFydGljbGUg
PSYgJGFydGljbGVEQU8tPmdldEFydGljbGUoJGFydGljbGVJZCk7CisJCQkJJG5vdGlmaWNhdGlv
blVzZXJzID0gJGFydGljbGUtPmdldEFzc29jaWF0ZWRVc2VySWRzKCk7CisJCQkJZm9yZWFjaCAo
JG5vdGlmaWNhdGlvblVzZXJzIGFzICR1c2VyKSB7CisJCQkJCSR1cmwgPSBSZXF1ZXN0Ojp1cmwo
bnVsbCwgbnVsbCwgJ3ZpZXcnLCBhcnJheSgkYXJ0aWNsZUlkLCAkZ2FsbGV5SWQsICRwYXJlbnRJ
ZCkpOworCQkJCQlOb3RpZmljYXRpb246OmNyZWF0ZU5vdGlmaWNhdGlvbigkdXNlclsnaWQnXSwg
Im5vdGlmaWNhdGlvbi50eXBlLnVzZXJDb21tZW50IiwKKwkJCQkJCSRhcnRpY2xlLT5nZXRBcnRp
Y2xlVGl0bGUoKSwgJHVybCwgMSwgTk9USUZJQ0FUSU9OX1RZUEVfVVNFUl9DT01NRU5ULCAxKTsK
KwkJCQl9CisJCQkJCiAJCQkJUmVxdWVzdDo6cmVkaXJlY3QobnVsbCwgbnVsbCwgJ3ZpZXcnLCBh
cnJheSgkYXJ0aWNsZUlkLCAkZ2FsbGV5SWQsICRwYXJlbnRJZCksIGFycmF5KCdyZWZyZXNoJyA9
PiAxKSk7CiAJCQl9CiAJCX0KSW5kZXg6IHBhZ2VzL2VkaXRvci9Jc3N1ZU1hbmFnZW1lbnRIYW5k
bGVyLmluYy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9vanMyL3BhZ2VzL2VkaXRvci9J
c3N1ZU1hbmFnZW1lbnRIYW5kbGVyLmluYy5waHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuODMK
ZGlmZiAtdSAtcjEuODMgSXNzdWVNYW5hZ2VtZW50SGFuZGxlci5pbmMucGhwCi0tLSBwYWdlcy9l
ZGl0b3IvSXNzdWVNYW5hZ2VtZW50SGFuZGxlci5pbmMucGhwCTEwIERlYyAyMDA4IDIzOjM3OjI4
IC0wMDAwCTEuODMKKysrIHBhZ2VzL2VkaXRvci9Jc3N1ZU1hbmFnZW1lbnRIYW5kbGVyLmluYy5w
aHAJMjEgSmFuIDIwMDkgMDE6NTk6MTUgLTAwMDAKQEAgLTk0LDcgKzk0LDYgQEAKIAkJCQkkaXNz
dWVEYW8tPnVwZGF0ZUlzc3VlKCRpc3N1ZSk7CiAJCQl9CiAJCX0KLQogCQlSZXF1ZXN0OjpyZWRp
cmVjdChudWxsLCBudWxsLCAnYmFja0lzc3VlcycpOwogCX0KIApAQCAtNTM3LDcgKzUzNiwyNiBA
QAogCiAJCSRpc3N1ZURhbyA9ICZEQU9SZWdpc3RyeTo6Z2V0REFPKCdJc3N1ZURBTycpOwogCQkk
aXNzdWVEYW8tPnVwZGF0ZUN1cnJlbnRJc3N1ZSgkam91cm5hbElkLCRpc3N1ZSk7Ci0KKwkJCisJ
CS8vIFNlbmQgYSBub3RpZmljYXRpb24gdG8gYXNzb2NpYXRlZCB1c2VycworCQlpbXBvcnQoJ25v
dGlmaWNhdGlvbi5Ob3RpZmljYXRpb24nKTsKKwkJJHJvbGVEYW8gPSAmREFPUmVnaXN0cnk6Omdl
dERBTygnUm9sZURBTycpOworCQkkbm90aWZpY2F0aW9uVXNlcnMgPSBhcnJheSgpOworCQkkYWxs
VXNlcnMgPSAkcm9sZURhby0+Z2V0VXNlcnNCeUpvdXJuYWxJZCgkam91cm5hbElkKTsKKwkJd2hp
bGUgKCEkYWxsVXNlcnMtPmVvZigpKSB7CisJCQkkdXNlciA9ICYkYWxsVXNlcnMtPm5leHQoKTsK
KwkJCSRub3RpZmljYXRpb25Vc2Vyc1tdID0gYXJyYXkoJ2lkJyA9PiAkdXNlci0+Z2VVc2VySWQo
KSk7CisJCQl1bnNldCgkdXNlcik7CisJCX0KKwkJJHVybCA9IFJlcXVlc3Q6OnVybChudWxsLCAn
aXNzdWUnLCAnY3VycmVudCcpOworCQlmb3JlYWNoICgkbm90aWZpY2F0aW9uVXNlcnMgYXMgJHVz
ZXIpIHsKKwkJCU5vdGlmaWNhdGlvbjo6Y3JlYXRlTm90aWZpY2F0aW9uKCR1c2VyWydpZCddLCAi
bm90aWZpY2F0aW9uLnR5cGUuaXNzdWVQdWJsaXNoZWQiLAorCQkJCW51bGwsICR1cmwsIDEsIE5P
VElGSUNBVElPTl9UWVBFX1BVQkxJU0hFRF9JU1NVRSwgMSk7CisJCX0KKwkJJG5vdGlmaWNhdGlv
bkRhbyA9ICZEQU9SZWdpc3RyeTo6Z2V0REFPKCdOb3RpZmljYXRpb25EQU8nKTsKKwkJJG5vdGlm
aWNhdGlvbkRhby0+c2VuZFRvTWFpbGluZ0xpc3QoTm90aWZpY2F0aW9uOjpjcmVhdGVOb3RpZmlj
YXRpb24oMCwgIm5vdGlmaWNhdGlvbi50eXBlLmlzc3VlUHVibGlzaGVkIiwKKwkJCQludWxsLCAk
dXJsLCAxLCBOT1RJRklDQVRJT05fVFlQRV9QVUJMSVNIRURfSVNTVUUsIDEpKTsKKwkJCQkKIAkJ
UmVxdWVzdDo6cmVkaXJlY3QobnVsbCwgbnVsbCwgJ2lzc3VlVG9jJywgJGlzc3VlLT5nZXRJc3N1
ZUlkKCkpOwogCX0KIApJbmRleDogcGFnZXMvbGF5b3V0RWRpdG9yL1N1Ym1pc3Npb25MYXlvdXRI
YW5kbGVyLmluYy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9vanMyL3BhZ2VzL2xheW91
dEVkaXRvci9TdWJtaXNzaW9uTGF5b3V0SGFuZGxlci5pbmMucGhwLHYKcmV0cmlldmluZyByZXZp
c2lvbiAxLjQzCmRpZmYgLXUgLXIxLjQzIFN1Ym1pc3Npb25MYXlvdXRIYW5kbGVyLmluYy5waHAK
LS0tIHBhZ2VzL2xheW91dEVkaXRvci9TdWJtaXNzaW9uTGF5b3V0SGFuZGxlci5pbmMucGhwCTEw
IERlYyAyMDA4IDIzOjM3OjI4IC0wMDAwCTEuNDMKKysrIHBhZ2VzL2xheW91dEVkaXRvci9TdWJt
aXNzaW9uTGF5b3V0SGFuZGxlci5pbmMucGhwCTIxIEphbiAyMDA5IDAxOjU5OjE1IC0wMDAwCkBA
IC0xODQsNiArMTg0LDE3IEBACiAJCWlmICgkc3VibWl0Rm9ybS0+dmFsaWRhdGUoKSkgewogCQkJ
JHN1Ym1pdEZvcm0tPmV4ZWN1dGUoKTsKIAorCQkJLy8gU2VuZCBhIG5vdGlmaWNhdGlvbiB0byBh
c3NvY2lhdGVkIHVzZXJzCisJCQlpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmljYXRpb24nKTsK
KwkJCSRhcnRpY2xlRGFvID0mIERBT1JlZ2lzdHJ5OjpnZXREQU8oJ0FydGljbGVEQU8nKTsgCisJ
CQkkYXJ0aWNsZSA9JiAkYXJ0aWNsZURhby0+Z2V0QXJ0aWNsZSgkYXJ0aWNsZUlkKTsKKwkJCSRu
b3RpZmljYXRpb25Vc2VycyA9ICRhcnRpY2xlLT5nZXRBc3NvY2lhdGVkVXNlcklkcyh0cnVlLCBm
YWxzZSk7CisJCQlmb3JlYWNoICgkbm90aWZpY2F0aW9uVXNlcnMgYXMgJHVzZXIpIHsKKwkJCQkk
dXJsID0gUmVxdWVzdDo6dXJsKG51bGwsICR1c2VyWydyb2xlJ10sICdzdWJtaXNzaW9uRWRpdGlu
ZycsICRhcnRpY2xlLT5nZXRBcnRpY2xlSWQoKSkgLiAiI2xheW91dCI7CisJCQkJTm90aWZpY2F0
aW9uOjpjcmVhdGVOb3RpZmljYXRpb24oJHVzZXJbJ2lkJ10sICJub3RpZmljYXRpb24udHlwZS5n
YWxsZXlNb2RpZmllZCIsCisJCQkJCSRhcnRpY2xlLT5nZXRBcnRpY2xlVGl0bGUoKSwgJHVybCwg
MSwgTk9USUZJQ0FUSU9OX1RZUEVfR0FMTEVZX01PRElGSUVELCAxKTsKKwkJCX0KKwogCQkJaWYg
KFJlcXVlc3Q6OmdldFVzZXJWYXIoJ3VwbG9hZEltYWdlJykpIHsKIAkJCQkkc3VibWl0Rm9ybS0+
dXBsb2FkSW1hZ2UoKTsKIAkJCQlSZXF1ZXN0OjpyZWRpcmVjdChudWxsLCBudWxsLCAnZWRpdEdh
bGxleScsIGFycmF5KCRhcnRpY2xlSWQsICRnYWxsZXlJZCkpOwpAQCAtMzY4LDYgKzM3OSwxOCBA
QAogCiAJCWlmICgkc3VibWl0Rm9ybS0+dmFsaWRhdGUoKSkgewogCQkJJHN1Ym1pdEZvcm0tPmV4
ZWN1dGUoKTsKKworCQkJLy8gU2VuZCBhIG5vdGlmaWNhdGlvbiB0byBhc3NvY2lhdGVkIHVzZXJz
CisJCQlpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmljYXRpb24nKTsKKwkJCSRhcnRpY2xlRGFv
ID0mIERBT1JlZ2lzdHJ5OjpnZXREQU8oJ0FydGljbGVEQU8nKTsgCisJCQkkYXJ0aWNsZSA9JiAk
YXJ0aWNsZURhby0+Z2V0QXJ0aWNsZSgkYXJ0aWNsZUlkKTsKKwkJCSRub3RpZmljYXRpb25Vc2Vy
cyA9ICRhcnRpY2xlLT5nZXRBc3NvY2lhdGVkVXNlcklkcyh0cnVlLCBmYWxzZSk7CisJCQlmb3Jl
YWNoICgkbm90aWZpY2F0aW9uVXNlcnMgYXMgJHVzZXIpIHsKKwkJCQkkdXJsID0gUmVxdWVzdDo6
dXJsKG51bGwsICR1c2VyWydyb2xlJ10sICdzdWJtaXNzaW9uRWRpdGluZycsICRhcnRpY2xlLT5n
ZXRBcnRpY2xlSWQoKSkgLiAiI2xheW91dCI7CisJCQkJTm90aWZpY2F0aW9uOjpjcmVhdGVOb3Rp
ZmljYXRpb24oJHVzZXJbJ2lkJ10sICJub3RpZmljYXRpb24udHlwZS5zdXBwRmlsZU1vZGlmaWVk
IiwKKwkJCQkJJGFydGljbGUtPmdldEFydGljbGVUaXRsZSgpLCAkdXJsLCAxLCBOT1RJRklDQVRJ
T05fVFlQRV9TVVBQX0ZJTEVfTU9ESUZJRUQsIDEpOworCQkJfQorCQkJCiAJCQlSZXF1ZXN0Ojpy
ZWRpcmVjdChudWxsLCBudWxsLCAnc3VibWlzc2lvbicsICRhcnRpY2xlSWQpOwogCiAJCX0gZWxz
ZSB7CkluZGV4OiBwYWdlcy9tYW5hZ2VyL01hbmFnZXJQYXltZW50SGFuZGxlci5pbmMucGhwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvb2pzMi9wYWdlcy9tYW5hZ2VyL01hbmFnZXJQYXltZW50
SGFuZGxlci5pbmMucGhwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEwCmRpZmYgLXUgLXIxLjEw
IE1hbmFnZXJQYXltZW50SGFuZGxlci5pbmMucGhwCi0tLSBwYWdlcy9tYW5hZ2VyL01hbmFnZXJQ
YXltZW50SGFuZGxlci5pbmMucGhwCTEwIERlYyAyMDA4IDIzOjM3OjI4IC0wMDAwCTEuMTAKKysr
IHBhZ2VzL21hbmFnZXIvTWFuYWdlclBheW1lbnRIYW5kbGVyLmluYy5waHAJMjEgSmFuIDIwMDkg
MDE6NTk6MTYgLTAwMDAKQEAgLTE1Miw3ICsxNTIsNiBAQAogCiAJCWlmICgkc2V0dGluZ3NGb3Jt
LT52YWxpZGF0ZSgpKSB7CiAJCQkkc2V0dGluZ3NGb3JtLT5leGVjdXRlKCk7Ci0KIAkJCSR0ZW1w
bGF0ZU1nci0+YXNzaWduKGFycmF5KAogCQkJCSdjdXJyZW50VXJsJyA9PiBSZXF1ZXN0Ojp1cmwo
bnVsbCwgbnVsbCwgJ3BheU1ldGhvZFNldHRpbmdzJyksCiAJCQkJJ3BhZ2VUaXRsZScgPT4gJ21h
bmFnZXIucGF5bWVudC5wYXltZW50TWV0aG9kcycsCkluZGV4OiBwYWdlcy9tYW5hZ2VyL1N1YnNj
cmlwdGlvbkhhbmRsZXIuaW5jLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL29qczIvcGFn
ZXMvbWFuYWdlci9TdWJzY3JpcHRpb25IYW5kbGVyLmluYy5waHAsdgpyZXRyaWV2aW5nIHJldmlz
aW9uIDEuMjcKZGlmZiAtdSAtcjEuMjcgU3Vic2NyaXB0aW9uSGFuZGxlci5pbmMucGhwCi0tLSBw
YWdlcy9tYW5hZ2VyL1N1YnNjcmlwdGlvbkhhbmRsZXIuaW5jLnBocAkxMCBEZWMgMjAwOCAyMzoz
NzoyOCAtMDAwMAkxLjI3CisrKyBwYWdlcy9tYW5hZ2VyL1N1YnNjcmlwdGlvbkhhbmRsZXIuaW5j
LnBocAkyMSBKYW4gMjAwOSAwMTo1OToxNyAtMDAwMApAQCAtMjMwLDcgKzIzMCw2IEBACiAKIAkJ
CWlmICgkc3Vic2NyaXB0aW9uRm9ybS0+dmFsaWRhdGUoKSkgewogCQkJCSRzdWJzY3JpcHRpb25G
b3JtLT5leGVjdXRlKCk7Ci0KIAkJCQlpZiAoUmVxdWVzdDo6Z2V0VXNlclZhcignY3JlYXRlQW5v
dGhlcicpKSB7CiAJCQkJCVJlcXVlc3Q6OnJlZGlyZWN0KG51bGwsIG51bGwsICdzZWxlY3RTdWJz
Y3JpYmVyJywgbnVsbCwgYXJyYXkoJ3N1YnNjcmlwdGlvbkNyZWF0ZWQnLCAxKSk7CiAJCQkJfSBl
bHNlIHsKQEAgLTQ2NSw3ICs0NjQsNiBAQAogCiAJCWlmICgkc3Vic2NyaXB0aW9uUG9saWN5Rm9y
bS0+dmFsaWRhdGUoKSkgewogCQkJJHN1YnNjcmlwdGlvblBvbGljeUZvcm0tPmV4ZWN1dGUoKTsK
LQogCQkJU3Vic2NyaXB0aW9uSGFuZGxlcjo6c2V0dXBUZW1wbGF0ZSh0cnVlKTsKIAogCQkJJHRl
bXBsYXRlTWdyID0gJlRlbXBsYXRlTWFuYWdlcjo6Z2V0TWFuYWdlcigpOwpJbmRleDogcGFnZXMv
c2VjdGlvbkVkaXRvci9TdWJtaXNzaW9uRWRpdEhhbmRsZXIuaW5jLnBocAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD
UyBmaWxlOiAvY3ZzL29qczIvcGFnZXMvc2VjdGlvbkVkaXRvci9TdWJtaXNzaW9uRWRpdEhhbmRs
ZXIuaW5jLnBocCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS44MQpkaWZmIC11IC1yMS44MSBTdWJt
aXNzaW9uRWRpdEhhbmRsZXIuaW5jLnBocAotLS0gcGFnZXMvc2VjdGlvbkVkaXRvci9TdWJtaXNz
aW9uRWRpdEhhbmRsZXIuaW5jLnBocAkxMCBEZWMgMjAwOCAyMzozNzoyOCAtMDAwMAkxLjgxCisr
KyBwYWdlcy9zZWN0aW9uRWRpdG9yL1N1Ym1pc3Npb25FZGl0SGFuZGxlci5pbmMucGhwCTIxIEph
biAyMDA5IDAxOjU5OjE5IC0wMDAwCkBAIC0xMjE0LDYgKzEyMTQsMTggQEAKIAogCQlpZiAoJHN1
Ym1pdEZvcm0tPnZhbGlkYXRlKCkpIHsKIAkJCSRzdWJtaXRGb3JtLT5leGVjdXRlKCk7CisKKwkJ
CS8vIFNlbmQgYSBub3RpZmljYXRpb24gdG8gYXNzb2NpYXRlZCB1c2VycworCQkJaW1wb3J0KCdu
b3RpZmljYXRpb24uTm90aWZpY2F0aW9uJyk7CisJCQkkYXJ0aWNsZURhbyA9JiBEQU9SZWdpc3Ry
eTo6Z2V0REFPKCdBcnRpY2xlREFPJyk7IAorCQkJJGFydGljbGUgPSYgJGFydGljbGVEYW8tPmdl
dEFydGljbGUoJGFydGljbGVJZCk7CisJCQkkbm90aWZpY2F0aW9uVXNlcnMgPSAkYXJ0aWNsZS0+
Z2V0QXNzb2NpYXRlZFVzZXJJZHModHJ1ZSwgZmFsc2UpOworCQkJZm9yZWFjaCAoJG5vdGlmaWNh
dGlvblVzZXJzIGFzICR1c2VyKSB7CisJCQkJJHVybCA9IFJlcXVlc3Q6OnVybChudWxsLCAkdXNl
clsncm9sZSddLCAnc3VibWlzc2lvbkVkaXRpbmcnLCAkYXJ0aWNsZS0+Z2V0QXJ0aWNsZUlkKCkp
IC4gIiNsYXlvdXQiOworCQkJCU5vdGlmaWNhdGlvbjo6Y3JlYXRlTm90aWZpY2F0aW9uKCR1c2Vy
WydpZCddLCAibm90aWZpY2F0aW9uLnR5cGUuc3VwcEZpbGVNb2RpZmllZCIsCisJCQkJCSRhcnRp
Y2xlLT5nZXRBcnRpY2xlVGl0bGUoKSwgJHVybCwgMSwgTk9USUZJQ0FUSU9OX1RZUEVfU1VQUF9G
SUxFX01PRElGSUVELCAxKTsKKwkJCX0KKwkJCQogCQkJUmVxdWVzdDo6cmVkaXJlY3QobnVsbCwg
bnVsbCwgU3VibWlzc2lvbkVkaXRIYW5kbGVyOjpnZXRGcm9tKCksICRhcnRpY2xlSWQpOwogCQl9
IGVsc2UgewogCQkJcGFyZW50OjpzZXR1cFRlbXBsYXRlKHRydWUsICRhcnRpY2xlSWQsICdzdW1t
YXJ5Jyk7CkBAIC0xNDYzLDYgKzE0NzUsMTcgQEAKIAkJJGdhbGxleUZvcm0gPSYgbmV3IEFydGlj
bGVHYWxsZXlGb3JtKCRhcnRpY2xlSWQpOwogCQkkZ2FsbGV5SWQgPSAkZ2FsbGV5Rm9ybS0+ZXhl
Y3V0ZSgkZmlsZU5hbWUpOwogCisJCS8vIFNlbmQgYSBub3RpZmljYXRpb24gdG8gYXNzb2NpYXRl
ZCB1c2VycworCQlpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmljYXRpb24nKTsKKwkJJGFydGlj
bGVEYW8gPSAmREFPUmVnaXN0cnk6OmdldERBTygnQXJ0aWNsZURBTycpOyAKKwkJJGFydGljbGUg
PSAmJGFydGljbGVEYW8tPmdldEFydGljbGUoJGFydGljbGVJZCk7CisJCSRub3RpZmljYXRpb25V
c2VycyA9ICRhcnRpY2xlLT5nZXRBc3NvY2lhdGVkVXNlcklkcyh0cnVlLCBmYWxzZSk7CisJCWZv
cmVhY2ggKCRub3RpZmljYXRpb25Vc2VycyBhcyAkdXNlcikgeworCQkJJHVybCA9IFJlcXVlc3Q6
OnVybChudWxsLCAkdXNlclsncm9sZSddLCAnc3VibWlzc2lvbkVkaXRpbmcnLCAkYXJ0aWNsZS0+
Z2V0QXJ0aWNsZUlkKCkpIC4gIiNsYXlvdXQiOworCQkJTm90aWZpY2F0aW9uOjpjcmVhdGVOb3Rp
ZmljYXRpb24oJHVzZXJbJ2lkJ10sICJub3RpZmljYXRpb24udHlwZS5nYWxsZXlBZGRlZCIsCisJ
CQkJJGFydGljbGUtPmdldEFydGljbGVUaXRsZSgpLCAkdXJsLCAxLCBOT1RJRklDQVRJT05fVFlQ
RV9HQUxMRVlfQURERUQsIDEpOworCQl9CisJCQogCQlSZXF1ZXN0OjpyZWRpcmVjdChudWxsLCBu
dWxsLCAnZWRpdEdhbGxleScsIGFycmF5KCRhcnRpY2xlSWQsICRnYWxsZXlJZCkpOwogCX0KIApA
QCAtMTUwNyw3ICsxNTMwLDE4IEBACiAJCSRzdWJtaXRGb3JtLT5yZWFkSW5wdXREYXRhKCk7CiAJ
CWlmICgkc3VibWl0Rm9ybS0+dmFsaWRhdGUoKSkgewogCQkJJHN1Ym1pdEZvcm0tPmV4ZWN1dGUo
KTsKLQorCQkJCisJCQkvLyBTZW5kIGEgbm90aWZpY2F0aW9uIHRvIGFzc29jaWF0ZWQgdXNlcnMK
KwkJCWltcG9ydCgnbm90aWZpY2F0aW9uLk5vdGlmaWNhdGlvbicpOworCQkJJGFydGljbGVEYW8g
PSYgREFPUmVnaXN0cnk6OmdldERBTygnQXJ0aWNsZURBTycpOyAKKwkJCSRhcnRpY2xlID0mICRh
cnRpY2xlRGFvLT5nZXRBcnRpY2xlKCRhcnRpY2xlSWQpOworCQkJJG5vdGlmaWNhdGlvblVzZXJz
ID0gJGFydGljbGUtPmdldEFzc29jaWF0ZWRVc2VySWRzKHRydWUsIGZhbHNlKTsKKwkJCWZvcmVh
Y2ggKCRub3RpZmljYXRpb25Vc2VycyBhcyAkdXNlcikgeworCQkJCSR1cmwgPSBSZXF1ZXN0Ojp1
cmwobnVsbCwgJHVzZXJbJ3JvbGUnXSwgJ3N1Ym1pc3Npb25FZGl0aW5nJywgJGFydGljbGUtPmdl
dEFydGljbGVJZCgpKSAuICIjbGF5b3V0IjsKKwkJCQlOb3RpZmljYXRpb246OmNyZWF0ZU5vdGlm
aWNhdGlvbigkdXNlclsnaWQnXSwgIm5vdGlmaWNhdGlvbi50eXBlLmdhbGxleU1vZGlmaWVkIiwK
KwkJCQkJJGFydGljbGUtPmdldEFydGljbGVUaXRsZSgpLCAkdXJsLCAxLCBOT1RJRklDQVRJT05f
VFlQRV9HQUxMRVlfTU9ESUZJRUQsIDEpOworCQkJfQorCQkJCiAJCQlpZiAoUmVxdWVzdDo6Z2V0
VXNlclZhcigndXBsb2FkSW1hZ2UnKSkgewogCQkJCSRzdWJtaXRGb3JtLT51cGxvYWRJbWFnZSgp
OwogCQkJCVJlcXVlc3Q6OnJlZGlyZWN0KG51bGwsIG51bGwsICdlZGl0R2FsbGV5JywgYXJyYXko
JGFydGljbGVJZCwgJGdhbGxleUlkKSk7CkBAIC0xNjI2LDYgKzE2NjAsMTcgQEAKIAkJJHN1cHBG
aWxlRm9ybS0+c2V0RGF0YSgndGl0bGUnLCBMb2NhbGU6OnRyYW5zbGF0ZSgnY29tbW9uLnVudGl0
bGVkJykpOwogCQkkc3VwcEZpbGVJZCA9ICRzdXBwRmlsZUZvcm0tPmV4ZWN1dGUoJGZpbGVOYW1l
KTsKIAorCQkvLyBTZW5kIGEgbm90aWZpY2F0aW9uIHRvIGFzc29jaWF0ZWQgdXNlcnMKKwkJaW1w
b3J0KCdub3RpZmljYXRpb24uTm90aWZpY2F0aW9uJyk7CisJCSRhcnRpY2xlRGFvID0mIERBT1Jl
Z2lzdHJ5OjpnZXREQU8oJ0FydGljbGVEQU8nKTsgCisJCSRhcnRpY2xlID0mICRhcnRpY2xlRGFv
LT5nZXRBcnRpY2xlKCRhcnRpY2xlSWQpOworCQkkbm90aWZpY2F0aW9uVXNlcnMgPSAkYXJ0aWNs
ZS0+Z2V0QXNzb2NpYXRlZFVzZXJJZHModHJ1ZSwgZmFsc2UpOworCQlmb3JlYWNoICgkbm90aWZp
Y2F0aW9uVXNlcnMgYXMgJHVzZXIpIHsKKwkJCSR1cmwgPSBSZXF1ZXN0Ojp1cmwobnVsbCwgJHVz
ZXJbJ3JvbGUnXSwgJ3N1Ym1pc3Npb25FZGl0aW5nJywgJGFydGljbGUtPmdldEFydGljbGVJZCgp
KSAuICIjbGF5b3V0IjsKKwkJCU5vdGlmaWNhdGlvbjo6Y3JlYXRlTm90aWZpY2F0aW9uKCR1c2Vy
WydpZCddLCAibm90aWZpY2F0aW9uLnR5cGUuc3VwcEZpbGVBZGRlZCIsCisJCQkJJGFydGljbGUt
PmdldEFydGljbGVUaXRsZSgpLCAkdXJsLCAxLCBOT1RJRklDQVRJT05fVFlQRV9TVVBQX0ZJTEVf
QURERUQsIDEpOworCQl9CisKIAkJUmVxdWVzdDo6cmVkaXJlY3QobnVsbCwgbnVsbCwgJ2VkaXRT
dXBwRmlsZScsIGFycmF5KCRhcnRpY2xlSWQsICRzdXBwRmlsZUlkKSk7CiAJfQogCkluZGV4OiBw
bHVnaW5zL2Jsb2Nrcy9mb250U2l6ZS9Gb250U2l6ZUJsb2NrUGx1Z2luLmluYy5waHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQpSQ1MgZmlsZTogL2N2cy9vanMyL3BsdWdpbnMvYmxvY2tzL2ZvbnRTaXplL0ZvbnRTaXpl
QmxvY2tQbHVnaW4uaW5jLnBocCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS45CmRpZmYgLXUgLXIx
LjkgRm9udFNpemVCbG9ja1BsdWdpbi5pbmMucGhwCi0tLSBwbHVnaW5zL2Jsb2Nrcy9mb250U2l6
ZS9Gb250U2l6ZUJsb2NrUGx1Z2luLmluYy5waHAJMSBKdWwgMjAwOCAxOTo0NDo0NyAtMDAwMAkx
LjkKKysrIHBsdWdpbnMvYmxvY2tzL2ZvbnRTaXplL0ZvbnRTaXplQmxvY2tQbHVnaW4uaW5jLnBo
cAkyMSBKYW4gMjAwOSAwMTo1OToyMCAtMDAwMApAQCAtMjMsNyArMjMsNyBAQAogCQlpZiAoJHN1
Y2Nlc3MpIHsKIAkJCSR0aGlzLT5hZGRMb2NhbGVEYXRhKCk7CiAJCQkkdGVtcGxhdGVNZ3IgPSYg
VGVtcGxhdGVNYW5hZ2VyOjpnZXRNYW5hZ2VyKCk7Ci0JCQkkdGVtcGxhdGVNZ3ItPmFzc2lnbign
Zm9udEljb25QYXRoJywgJ3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMnKTsKKwkJCSR0ZW1wbGF0ZU1n
ci0+YXNzaWduKCdmb250SWNvblBhdGgnLCAnbGliL3BrcC90ZW1wbGF0ZXMvaW1hZ2VzL2ljb25z
Jyk7CiAJCQkkYWRkaXRpb25hbEhlYWREYXRhID0gJHRlbXBsYXRlTWdyLT5nZXRfdGVtcGxhdGVf
dmFycygnYWRkaXRpb25hbEhlYWREYXRhJyk7CiAKIAkJCS8vIEFkZCBmb250IHNpemVyIGpzIGFu
ZCBjc3MgaWYgbm90IGFscmVhZHkgaW4gaGVhZGVyCkluZGV4OiBzdHlsZXMvY29tbW9uLmNzcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL29qczIvc3R5bGVzL2NvbW1vbi5jc3MsdgpyZXRyaWV2
aW5nIHJldmlzaW9uIDEuNzQKZGlmZiAtdSAtcjEuNzQgY29tbW9uLmNzcwotLS0gc3R5bGVzL2Nv
bW1vbi5jc3MJMTQgSmFuIDIwMDkgMTk6MTU6MTUgLTAwMDAJMS43NAorKysgc3R5bGVzL2NvbW1v
bi5jc3MJMjEgSmFuIDIwMDkgMDE6NTk6MjMgLTAwMDAKQEAgLTY1MSw3ICs2NTEsMTMgQEAKIAlm
b250LXNpemU6IDFlbTsKIH0KIAotdWwuZm9ybUVycm9yTGlzdCBhIHsKK3NwYW4uZm9ybVN1Y2Nl
c3MgeworCWNvbG9yOiAjMDkwOworCWZvbnQtd2VpZ2h0OiBib2xkOworCWZvbnQtc2l6ZTogMWVt
OworfQorCit1bC5mb3JtRXJyb3JMaXN0IHsKIAljb2xvcjogIzkwMDsKIH0KIApAQCAtNzQyLDMg
Kzc0OCwxNCBAQAogCXdpZHRoOiA1MDVweDsKIAl6LWluZGV4OjE7CiB9CisKK3RkLm5vdGlmaWNh
dGlvbkNvbnRlbnQgeworCXBhZGRpbmctbGVmdDogNXB4OworCXBhZGRpbmctcmlnaHQ6IDVweDsK
K30KKwordGQubm90aWZpY2F0aW9uRnVuY3Rpb24geworCXBhZGRpbmctbGVmdDogNXB4OworCXBh
ZGRpbmctcmlnaHQ6IDVweDsKKwl0ZXh0LWFsaWduOiByaWdodDsKK30KSW5kZXg6IHRlbXBsYXRl
cy9hcnRpY2xlL2FydGljbGUudHBsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvb2pzMi90ZW1w
bGF0ZXMvYXJ0aWNsZS9hcnRpY2xlLnRwbCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS42MwpkaWZm
IC11IC1yMS42MyBhcnRpY2xlLnRwbAotLS0gdGVtcGxhdGVzL2FydGljbGUvYXJ0aWNsZS50cGwJ
MjYgTm92IDIwMDggMDA6MjQ6NTcgLTAwMDAJMS42MworKysgdGVtcGxhdGVzL2FydGljbGUvYXJ0
aWNsZS50cGwJMjEgSmFuIDIwMDkgMDE6NTk6MjMgLTAwMDAKQEAgLTE1LDkgKzE1LDkgQEAKIAkJ
PGRpdiBpZD0idG9wQmFyIj4KIAkJCTxkaXYgaWQ9ImFydGljbGVGb250U2l6ZSI+CiAJCQkJe3Ry
YW5zbGF0ZSBrZXk9ImFydGljbGUuZm9udFNpemUifTombmJzcDsKLQkJCQk8YSBocmVmPSIjIiBv
bmNsaWNrPSJzZXRGb250U2l6ZSgne3RyYW5zbGF0ZXxlc2NhcGU6ImpzcGFyYW0iIGtleT0iYXJ0
aWNsZS5mb250U2l6ZS5zbWFsbC5hbHRUZXh0In0nKTsiIGNsYXNzPSJpY29uIj57aWNvbiBwYXRo
PSJ0ZW1wbGF0ZXMvaW1hZ2VzL2ljb25zLyIgbmFtZT0iZm9udF9zbWFsbCJ9PC9hPiZuYnNwOwot
CQkJCTxhIGhyZWY9IiMiIG9uY2xpY2s9InNldEZvbnRTaXplKCd7dHJhbnNsYXRlfGVzY2FwZToi
anNwYXJhbSIga2V5PSJhcnRpY2xlLmZvbnRTaXplLm1lZGl1bS5hbHRUZXh0In0nKTsiIGNsYXNz
PSJpY29uIj57aWNvbiBwYXRoPSJ0ZW1wbGF0ZXMvaW1hZ2VzL2ljb25zLyIgbmFtZT0iZm9udF9t
ZWRpdW0ifTwvYT4mbmJzcDsKLQkJCQk8YSBocmVmPSIjIiBvbmNsaWNrPSJzZXRGb250U2l6ZSgn
e3RyYW5zbGF0ZXxlc2NhcGU6ImpzcGFyYW0iIGtleT0iYXJ0aWNsZS5mb250U2l6ZS5sYXJnZS5h
bHRUZXh0In0nKTsiIGNsYXNzPSJpY29uIj57aWNvbiBwYXRoPSJ0ZW1wbGF0ZXMvaW1hZ2VzL2lj
b25zLyIgbmFtZT0iZm9udF9sYXJnZSJ9PC9hPgorCQkJCTxhIGhyZWY9IiMiIG9uY2xpY2s9InNl
dEZvbnRTaXplKCd7dHJhbnNsYXRlfGVzY2FwZToianNwYXJhbSIga2V5PSJhcnRpY2xlLmZvbnRT
aXplLnNtYWxsLmFsdFRleHQifScpOyIgY2xhc3M9Imljb24iPntpY29uIHBhdGg9ImxpYi9wa3Av
dGVtcGxhdGVzL2ltYWdlcy9pY29ucy8iIG5hbWU9ImZvbnRfc21hbGwifTwvYT4mbmJzcDsKKwkJ
CQk8YSBocmVmPSIjIiBvbmNsaWNrPSJzZXRGb250U2l6ZSgne3RyYW5zbGF0ZXxlc2NhcGU6Impz
cGFyYW0iIGtleT0iYXJ0aWNsZS5mb250U2l6ZS5tZWRpdW0uYWx0VGV4dCJ9Jyk7IiBjbGFzcz0i
aWNvbiI+e2ljb24gcGF0aD0ibGliL3BrcC90ZW1wbGF0ZXMvaW1hZ2VzL2ljb25zLyIgbmFtZT0i
Zm9udF9tZWRpdW0ifTwvYT4mbmJzcDsKKwkJCQk8YSBocmVmPSIjIiBvbmNsaWNrPSJzZXRGb250
U2l6ZSgne3RyYW5zbGF0ZXxlc2NhcGU6ImpzcGFyYW0iIGtleT0iYXJ0aWNsZS5mb250U2l6ZS5s
YXJnZS5hbHRUZXh0In0nKTsiIGNsYXNzPSJpY29uIj57aWNvbiBwYXRoPSJsaWIvcGtwL3RlbXBs
YXRlcy9pbWFnZXMvaWNvbnMvIiBuYW1lPSJmb250X2xhcmdlIn08L2E+CiAJCQk8L2Rpdj4KIAkJ
PC9kaXY+CiAJCXskZ2FsbGV5LT5nZXRIVE1MQ29udGVudHMoKX0KQEAgLTI3LDkgKzI3LDkgQEAK
IAkJe2Fzc2lnbiB2YXI9Z2FsbGV5cyB2YWx1ZT0kYXJ0aWNsZS0+Z2V0TG9jYWxpemVkR2FsbGV5
cygpfQogCQl7aWYgJGdhbGxleXMgJiYgJHN1YnNjcmlwdGlvblJlcXVpcmVkICYmICRzaG93R2Fs
bGV5TGlua3N9CiAJCQk8ZGl2IGlkPSJhY2Nlc3NLZXkiPgotCQkJCTxpbWcgc3JjPSJ7JGJhc2VV
cmx9L3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMvZnVsbHRleHRfb3Blbl9tZWRpdW0uZ2lmIiBhbHQ9
Int0cmFuc2xhdGUga2V5PSJhcnRpY2xlLmFjY2Vzc0xvZ29PcGVuLmFsdFRleHQifSIgLz4KKwkJ
CQk8aW1nIHNyYz0ieyRiYXNlVXJsfS9saWIvcGtwL3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMvZnVs
bHRleHRfb3Blbl9tZWRpdW0ucG5nIiBhbHQ9Int0cmFuc2xhdGUga2V5PSJhcnRpY2xlLmFjY2Vz
c0xvZ29PcGVuLmFsdFRleHQifSIgLz4KIAkJCQl7dHJhbnNsYXRlIGtleT0icmVhZGVyLm9wZW5B
Y2Nlc3MifSZuYnNwOwotCQkJCTxpbWcgc3JjPSJ7JGJhc2VVcmx9L3RlbXBsYXRlcy9pbWFnZXMv
aWNvbnMvZnVsbHRleHRfcmVzdHJpY3RlZF9tZWRpdW0uZ2lmIiBhbHQ9Int0cmFuc2xhdGUga2V5
PSJhcnRpY2xlLmFjY2Vzc0xvZ29SZXN0cmljdGVkLmFsdFRleHQifSIgLz4KKwkJCQk8aW1nIHNy
Yz0ieyRiYXNlVXJsfS9saWIvcGtwL3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMvZnVsbHRleHRfcmVz
dHJpY3RlZF9tZWRpdW0ucG5nIiBhbHQ9Int0cmFuc2xhdGUga2V5PSJhcnRpY2xlLmFjY2Vzc0xv
Z29SZXN0cmljdGVkLmFsdFRleHQifSIgLz4KIAkJCQl7aWYgJHB1cmNoYXNlQXJ0aWNsZUVuYWJs
ZWR9CiAJCQkJCXt0cmFuc2xhdGUga2V5PSJyZWFkZXIuc3Vic2NyaXB0aW9uT3JGZWVBY2Nlc3Mi
fQogCQkJCXtlbHNlfQpAQCAtMzksOSArMzksOSBAQAogCQl7L2lmfQogCQk8ZGl2IGlkPSJhcnRp
Y2xlRm9udFNpemUiPgogCQkJCXt0cmFuc2xhdGUga2V5PSJhcnRpY2xlLmZvbnRTaXplIn06Jm5i
c3A7Ci0JCQk8YSBocmVmPSIjIiBvbmNsaWNrPSJzZXRGb250U2l6ZSgne3RyYW5zbGF0ZXxlc2Nh
cGU6ImpzcGFyYW0iIGtleT0iYXJ0aWNsZS5mb250U2l6ZS5zbWFsbC5hbHRUZXh0In0nKTsiIGNs
YXNzPSJpY29uIj57aWNvbiBwYXRoPSJ0ZW1wbGF0ZXMvaW1hZ2VzL2ljb25zLyIgbmFtZT0iZm9u
dF9zbWFsbCJ9PC9hPiZuYnNwOwotCQkJPGEgaHJlZj0iIyIgb25jbGljaz0ic2V0Rm9udFNpemUo
J3t0cmFuc2xhdGV8ZXNjYXBlOiJqc3BhcmFtIiBrZXk9ImFydGljbGUuZm9udFNpemUubWVkaXVt
LmFsdFRleHQifScpOyIgY2xhc3M9Imljb24iPntpY29uIHBhdGg9InRlbXBsYXRlcy9pbWFnZXMv
aWNvbnMvIiBuYW1lPSJmb250X21lZGl1bSJ9PC9hPiZuYnNwOwotCQkJPGEgaHJlZj0iIyIgb25j
bGljaz0ic2V0Rm9udFNpemUoJ3t0cmFuc2xhdGV8ZXNjYXBlOiJqc3BhcmFtIiBrZXk9ImFydGlj
bGUuZm9udFNpemUubGFyZ2UuYWx0VGV4dCJ9Jyk7IiBjbGFzcz0iaWNvbiI+e2ljb24gcGF0aD0i
dGVtcGxhdGVzL2ltYWdlcy9pY29ucy8iIG5hbWU9ImZvbnRfbGFyZ2UifTwvYT4KKwkJCTxhIGhy
ZWY9IiMiIG9uY2xpY2s9InNldEZvbnRTaXplKCd7dHJhbnNsYXRlfGVzY2FwZToianNwYXJhbSIg
a2V5PSJhcnRpY2xlLmZvbnRTaXplLnNtYWxsLmFsdFRleHQifScpOyIgY2xhc3M9Imljb24iPntp
Y29uIHBhdGg9ImxpYi9wa3AvdGVtcGxhdGVzL2ltYWdlcy9pY29ucy8iIG5hbWU9ImZvbnRfc21h
bGwifTwvYT4mbmJzcDsKKwkJCTxhIGhyZWY9IiMiIG9uY2xpY2s9InNldEZvbnRTaXplKCd7dHJh
bnNsYXRlfGVzY2FwZToianNwYXJhbSIga2V5PSJhcnRpY2xlLmZvbnRTaXplLm1lZGl1bS5hbHRU
ZXh0In0nKTsiIGNsYXNzPSJpY29uIj57aWNvbiBwYXRoPSJsaWIvcGtwL3RlbXBsYXRlcy9pbWFn
ZXMvaWNvbnMvIiBuYW1lPSJmb250X21lZGl1bSJ9PC9hPiZuYnNwOworCQkJPGEgaHJlZj0iIyIg
b25jbGljaz0ic2V0Rm9udFNpemUoJ3t0cmFuc2xhdGV8ZXNjYXBlOiJqc3BhcmFtIiBrZXk9ImFy
dGljbGUuZm9udFNpemUubGFyZ2UuYWx0VGV4dCJ9Jyk7IiBjbGFzcz0iaWNvbiI+e2ljb24gcGF0
aD0ibGliL3BrcC90ZW1wbGF0ZXMvaW1hZ2VzL2ljb25zLyIgbmFtZT0iZm9udF9sYXJnZSJ9PC9h
PgogCQk8L2Rpdj4KIAk8L2Rpdj4KIAl7aWYgJGNvdmVyUGFnZVBhdGh9CkBAIC03MSwxNyArNzEs
MTcgQEAKIAkJCQk8YSBocmVmPSJ7dXJsIHBhZ2U9ImFydGljbGUiIG9wPSJ2aWV3IiBwYXRoPSRh
cnRpY2xlLT5nZXRCZXN0QXJ0aWNsZUlkKCRjdXJyZW50Sm91cm5hbCl8dG9fYXJyYXk6JGdhbGxl
eS0+Z2V0QmVzdEdhbGxleUlkKCRjdXJyZW50Sm91cm5hbCl9IiBjbGFzcz0iZmlsZSIgdGFyZ2V0
PSJfcGFyZW50Ij57JGdhbGxleS0+Z2V0R2FsbGV5TGFiZWwoKXxlc2NhcGV9PC9hPgogCQkJCXtp
ZiAkc3Vic2NyaXB0aW9uUmVxdWlyZWQgJiYgJHNob3dHYWxsZXlMaW5rcyAmJiAkcmVzdHJpY3RP
bmx5UGRmfQogCQkJCQl7aWYgJGFydGljbGUtPmdldEFjY2Vzc1N0YXR1cygpIHx8ICEkZ2FsbGV5
LT5pc1BkZkdhbGxleSgpfQkKLQkJCQkJCTxpbWcgY2xhc3M9ImFjY2Vzc0xvZ28iIHNyYz0ieyRi
YXNlVXJsfS90ZW1wbGF0ZXMvaW1hZ2VzL2ljb25zL2Z1bGx0ZXh0X29wZW5fbWVkaXVtLmdpZiIg
YWx0PSJ7dHJhbnNsYXRlIGtleT0iYXJ0aWNsZS5hY2Nlc3NMb2dvT3Blbi5hbHRUZXh0In0iIC8+
CisJCQkJCQk8aW1nIGNsYXNzPSJhY2Nlc3NMb2dvIiBzcmM9InskYmFzZVVybH0vbGliL3BrcC90
ZW1wbGF0ZXMvaW1hZ2VzL2ljb25zL2Z1bGx0ZXh0X29wZW5fbWVkaXVtLnBuZyIgYWx0PSJ7dHJh
bnNsYXRlIGtleT0iYXJ0aWNsZS5hY2Nlc3NMb2dvT3Blbi5hbHRUZXh0In0iIC8+CiAJCQkJCXtl
bHNlfQotCQkJCQkJPGltZyBjbGFzcz0iYWNjZXNzTG9nbyIgc3JjPSJ7JGJhc2VVcmx9L3RlbXBs
YXRlcy9pbWFnZXMvaWNvbnMvZnVsbHRleHRfcmVzdHJpY3RlZF9tZWRpdW0uZ2lmIiBhbHQ9Int0
cmFuc2xhdGUga2V5PSJhcnRpY2xlLmFjY2Vzc0xvZ29SZXN0cmljdGVkLmFsdFRleHQifSIgLz4K
KwkJCQkJCTxpbWcgY2xhc3M9ImFjY2Vzc0xvZ28iIHNyYz0ieyRiYXNlVXJsfS9saWIvcGtwL3Rl
bXBsYXRlcy9pbWFnZXMvaWNvbnMvZnVsbHRleHRfcmVzdHJpY3RlZF9tZWRpdW0ucG5nIiBhbHQ9
Int0cmFuc2xhdGUga2V5PSJhcnRpY2xlLmFjY2Vzc0xvZ29SZXN0cmljdGVkLmFsdFRleHQifSIg
Lz4KIAkJCQkJey9pZn0KIAkJCQl7L2lmfQogCQkJey9mb3JlYWNofQogCQkJe2lmICRzdWJzY3Jp
cHRpb25SZXF1aXJlZCAmJiAkc2hvd0dhbGxleUxpbmtzICYmICEkcmVzdHJpY3RPbmx5UGRmfQog
CQkJCXtpZiAkYXJ0aWNsZS0+Z2V0QWNjZXNzU3RhdHVzKCl9Ci0JCQkJCTxpbWcgY2xhc3M9ImFj
Y2Vzc0xvZ28iIHNyYz0ieyRiYXNlVXJsfS90ZW1wbGF0ZXMvaW1hZ2VzL2ljb25zL2Z1bGx0ZXh0
X29wZW5fbWVkaXVtLmdpZiIgYWx0PSJ7dHJhbnNsYXRlIGtleT0iYXJ0aWNsZS5hY2Nlc3NMb2dv
T3Blbi5hbHRUZXh0In0iIC8+CisJCQkJCTxpbWcgY2xhc3M9ImFjY2Vzc0xvZ28iIHNyYz0ieyRi
YXNlVXJsfS9saWIvcGtwL3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMvZnVsbHRleHRfb3Blbl9tZWRp
dW0ucG5nIiBhbHQ9Int0cmFuc2xhdGUga2V5PSJhcnRpY2xlLmFjY2Vzc0xvZ29PcGVuLmFsdFRl
eHQifSIgLz4KIAkJCQl7ZWxzZX0KLQkJCQkJPGltZyBjbGFzcz0iYWNjZXNzTG9nbyIgc3JjPSJ7
JGJhc2VVcmx9L3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMvZnVsbHRleHRfcmVzdHJpY3RlZF9tZWRp
dW0uZ2lmIiBhbHQ9Int0cmFuc2xhdGUga2V5PSJhcnRpY2xlLmFjY2Vzc0xvZ29SZXN0cmljdGVk
LmFsdFRleHQifSIgLz4KKwkJCQkJPGltZyBjbGFzcz0iYWNjZXNzTG9nbyIgc3JjPSJ7JGJhc2VV
cmx9L2xpYi9wa3AvdGVtcGxhdGVzL2ltYWdlcy9pY29ucy9mdWxsdGV4dF9yZXN0cmljdGVkX21l
ZGl1bS5wbmciIGFsdD0ie3RyYW5zbGF0ZSBrZXk9ImFydGljbGUuYWNjZXNzTG9nb1Jlc3RyaWN0
ZWQuYWx0VGV4dCJ9IiAvPgogCQkJCXsvaWZ9CiAJCQl7L2lmfQkJCQkJCiAJCXtlbHNlfQpJbmRl
eDogdGVtcGxhdGVzL2NvbW1vbi9uYXZiYXIudHBsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMv
b2pzMi90ZW1wbGF0ZXMvY29tbW9uL25hdmJhci50cGwsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEu
MQpkaWZmIC11IC1yMS4xIG5hdmJhci50cGwKLS0tIHRlbXBsYXRlcy9jb21tb24vbmF2YmFyLnRw
bAkxNiBPY3QgMjAwOCAxODowMjoyNyAtMDAwMAkxLjEKKysrIHRlbXBsYXRlcy9jb21tb24vbmF2
YmFyLnRwbAkyMSBKYW4gMjAwOSAwMTo1OToyMyAtMDAwMApAQCAtMjIsNiArMjIsNyBAQAogCQk8
bGk+PGEgaHJlZj0ie3VybCBwYWdlPSJzZWFyY2gifSI+e3RyYW5zbGF0ZSBrZXk9Im5hdmlnYXRp
b24uc2VhcmNoIn08L2E+PC9saT4KIAogCQl7aWYgJGN1cnJlbnRKb3VybmFsfQorCQkJPGxpPjxh
IGhyZWY9Int1cmwgcGFnZT0ibm90aWZpY2F0aW9uIn0iPnt0cmFuc2xhdGUga2V5PSJub3RpZmlj
YXRpb24ubm90aWZpY2F0aW9ucyJ9PC9hPjwvbGk+CiAJCQk8bGk+PGEgaHJlZj0ie3VybCBwYWdl
PSJpc3N1ZSIgb3A9ImN1cnJlbnQifSI+e3RyYW5zbGF0ZSBrZXk9Im5hdmlnYXRpb24uY3VycmVu
dCJ9PC9hPjwvbGk+CiAJCQk8bGk+PGEgaHJlZj0ie3VybCBwYWdlPSJpc3N1ZSIgb3A9ImFyY2hp
dmUifSI+e3RyYW5zbGF0ZSBrZXk9Im5hdmlnYXRpb24uYXJjaGl2ZXMifTwvYT48L2xpPgogCQl7
L2lmfXsqICRjdXJyZW50Sm91cm5hbCAqfQpJbmRleDogdGVtcGxhdGVzL2lzc3VlL2lzc3VlLnRw
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL29qczIvdGVtcGxhdGVzL2lzc3VlL2lzc3VlLnRw
bCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40MgpkaWZmIC11IC1yMS40MiBpc3N1ZS50cGwKLS0t
IHRlbXBsYXRlcy9pc3N1ZS9pc3N1ZS50cGwJMjAgSnVuIDIwMDggMDg6MDg6MzQgLTAwMDAJMS40
MgorKysgdGVtcGxhdGVzL2lzc3VlL2lzc3VlLnRwbAkyMSBKYW4gMjAwOSAwMTo1OToyMyAtMDAw
MApAQCAtNDQsMTcgKzQ0LDE3IEBACiAJCQkJPGEgaHJlZj0ie3VybCBwYWdlPSJhcnRpY2xlIiBv
cD0idmlldyIgcGF0aD0kYXJ0aWNsZS0+Z2V0QmVzdEFydGljbGVJZCgkY3VycmVudEpvdXJuYWwp
fHRvX2FycmF5OiRnYWxsZXktPmdldEJlc3RHYWxsZXlJZCgkY3VycmVudEpvdXJuYWwpfSIgY2xh
c3M9ImZpbGUiPnskZ2FsbGV5LT5nZXRHYWxsZXlMYWJlbCgpfGVzY2FwZX08L2E+CiAJCQkJe2lm
ICRzdWJzY3JpcHRpb25SZXF1aXJlZCAmJiAkc2hvd0dhbGxleUxpbmtzICYmICRyZXN0cmljdE9u
bHlQZGZ9CiAJCQkJCXtpZiAkYXJ0aWNsZS0+Z2V0QWNjZXNzU3RhdHVzKCkgfHwgISRnYWxsZXkt
PmlzUGRmR2FsbGV5KCl9CQotCQkJCQkJPGltZyBjbGFzcz0iYWNjZXNzTG9nbyIgc3JjPSJ7JGJh
c2VVcmx9L3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMvZnVsbHRleHRfb3Blbl9tZWRpdW0uZ2lmIiBh
bHQ9Int0cmFuc2xhdGUga2V5PSJhcnRpY2xlLmFjY2Vzc0xvZ29PcGVuLmFsdFRleHQifSIgLz4K
KwkJCQkJCTxpbWcgY2xhc3M9ImFjY2Vzc0xvZ28iIHNyYz0ieyRiYXNlVXJsfS9saWIvcGtwL3Rl
bXBsYXRlcy9pbWFnZXMvaWNvbnMvZnVsbHRleHRfb3Blbl9tZWRpdW0ucG5nIiBhbHQ9Int0cmFu
c2xhdGUga2V5PSJhcnRpY2xlLmFjY2Vzc0xvZ29PcGVuLmFsdFRleHQifSIgLz4KIAkJCQkJe2Vs
c2V9Ci0JCQkJCQk8aW1nIGNsYXNzPSJhY2Nlc3NMb2dvIiBzcmM9InskYmFzZVVybH0vdGVtcGxh
dGVzL2ltYWdlcy9pY29ucy9mdWxsdGV4dF9yZXN0cmljdGVkX21lZGl1bS5naWYiIGFsdD0ie3Ry
YW5zbGF0ZSBrZXk9ImFydGljbGUuYWNjZXNzTG9nb1Jlc3RyaWN0ZWQuYWx0VGV4dCJ9IiAvPgor
CQkJCQkJPGltZyBjbGFzcz0iYWNjZXNzTG9nbyIgc3JjPSJ7JGJhc2VVcmx9L2xpYi9wa3AvdGVt
cGxhdGVzL2ltYWdlcy9pY29ucy9mdWxsdGV4dF9yZXN0cmljdGVkX21lZGl1bS5wbmciIGFsdD0i
e3RyYW5zbGF0ZSBrZXk9ImFydGljbGUuYWNjZXNzTG9nb1Jlc3RyaWN0ZWQuYWx0VGV4dCJ9IiAv
PgogCQkJCQl7L2lmfQogCQkJCXsvaWZ9CiAJCQl7L2ZvcmVhY2h9CiAJCQl7aWYgJHN1YnNjcmlw
dGlvblJlcXVpcmVkICYmICRzaG93R2FsbGV5TGlua3MgJiYgISRyZXN0cmljdE9ubHlQZGZ9CiAJ
CQkJe2lmICRhcnRpY2xlLT5nZXRBY2Nlc3NTdGF0dXMoKX0KLQkJCQkJPGltZyBjbGFzcz0iYWNj
ZXNzTG9nbyIgc3JjPSJ7JGJhc2VVcmx9L3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMvZnVsbHRleHRf
b3Blbl9tZWRpdW0uZ2lmIiBhbHQ9Int0cmFuc2xhdGUga2V5PSJhcnRpY2xlLmFjY2Vzc0xvZ29P
cGVuLmFsdFRleHQifSIgLz4KKwkJCQkJPGltZyBjbGFzcz0iYWNjZXNzTG9nbyIgc3JjPSJ7JGJh
c2VVcmx9L2xpYi9wa3AvdGVtcGxhdGVzL2ltYWdlcy9pY29ucy9mdWxsdGV4dF9vcGVuX21lZGl1
bS5wbmciIGFsdD0ie3RyYW5zbGF0ZSBrZXk9ImFydGljbGUuYWNjZXNzTG9nb09wZW4uYWx0VGV4
dCJ9IiAvPgogCQkJCXtlbHNlfQotCQkJCQk8aW1nIGNsYXNzPSJhY2Nlc3NMb2dvIiBzcmM9Insk
YmFzZVVybH0vdGVtcGxhdGVzL2ltYWdlcy9pY29ucy9mdWxsdGV4dF9yZXN0cmljdGVkX21lZGl1
bS5naWYiIGFsdD0ie3RyYW5zbGF0ZSBrZXk9ImFydGljbGUuYWNjZXNzTG9nb1Jlc3RyaWN0ZWQu
YWx0VGV4dCJ9IiAvPgorCQkJCQk8aW1nIGNsYXNzPSJhY2Nlc3NMb2dvIiBzcmM9InskYmFzZVVy
bH0vbGliL3BrcC90ZW1wbGF0ZXMvaW1hZ2VzL2ljb25zL2Z1bGx0ZXh0X3Jlc3RyaWN0ZWRfbWVk
aXVtLnBuZyIgYWx0PSJ7dHJhbnNsYXRlIGtleT0iYXJ0aWNsZS5hY2Nlc3NMb2dvUmVzdHJpY3Rl
ZC5hbHRUZXh0In0iIC8+CiAJCQkJey9pZn0KIAkJCXsvaWZ9CQkJCQogCQl7L2lmfQpJbmRleDog
dGVtcGxhdGVzL2lzc3VlL3ZpZXcudHBsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvb2pzMi90
ZW1wbGF0ZXMvaXNzdWUvdmlldy50cGwsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMzIKZGlmZiAt
dSAtcjEuMzIgdmlldy50cGwKLS0tIHRlbXBsYXRlcy9pc3N1ZS92aWV3LnRwbAkxOSBKdW4gMjAw
OCAxNTo1OTo0MyAtMDAwMAkxLjMyCisrKyB0ZW1wbGF0ZXMvaXNzdWUvdmlldy50cGwJMjEgSmFu
IDIwMDkgMDE6NTk6MjMgLTAwMDAKQEAgLTExLDkgKzExLDkgQEAKICAqfQoge2lmICRzdWJzY3Jp
cHRpb25SZXF1aXJlZCAmJiAkc2hvd0dhbGxleUxpbmtzICYmICRzaG93VG9jfQogCTxkaXYgaWQ9
ImFjY2Vzc0tleSI+Ci0JCTxpbWcgc3JjPSJ7JGJhc2VVcmx9L3RlbXBsYXRlcy9pbWFnZXMvaWNv
bnMvZnVsbHRleHRfb3Blbl9tZWRpdW0uZ2lmIiBhbHQ9Int0cmFuc2xhdGUga2V5PSJhcnRpY2xl
LmFjY2Vzc0xvZ29PcGVuLmFsdFRleHQifSIgLz4KKwkJPGltZyBzcmM9InskYmFzZVVybH0vbGli
L3BrcC90ZW1wbGF0ZXMvaW1hZ2VzL2ljb25zL2Z1bGx0ZXh0X29wZW5fbWVkaXVtLnBuZyIgYWx0
PSJ7dHJhbnNsYXRlIGtleT0iYXJ0aWNsZS5hY2Nlc3NMb2dvT3Blbi5hbHRUZXh0In0iIC8+CiAJ
CXt0cmFuc2xhdGUga2V5PSJyZWFkZXIub3BlbkFjY2VzcyJ9Jm5ic3A7Ci0JCTxpbWcgc3JjPSJ7
JGJhc2VVcmx9L3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMvZnVsbHRleHRfcmVzdHJpY3RlZF9tZWRp
dW0uZ2lmIiBhbHQ9Int0cmFuc2xhdGUga2V5PSJhcnRpY2xlLmFjY2Vzc0xvZ29SZXN0cmljdGVk
LmFsdFRleHQifSIgLz4KKwkJPGltZyBzcmM9InskYmFzZVVybH0vbGliL3BrcC90ZW1wbGF0ZXMv
aW1hZ2VzL2ljb25zL2Z1bGx0ZXh0X3Jlc3RyaWN0ZWRfbWVkaXVtLnBuZyIgYWx0PSJ7dHJhbnNs
YXRlIGtleT0iYXJ0aWNsZS5hY2Nlc3NMb2dvUmVzdHJpY3RlZC5hbHRUZXh0In0iIC8+CiAJCXtp
ZiAkcHVyY2hhc2VBcnRpY2xlRW5hYmxlZH0KIAkJCXt0cmFuc2xhdGUga2V5PSJyZWFkZXIuc3Vi
c2NyaXB0aW9uT3JGZWVBY2Nlc3MifQogCQl7ZWxzZX0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>1349</attachid>
            <date>2009-01-20 18:28:00 -0800</date>
            <delta_ts>2009-01-26 11:45:02 -0800</delta_ts>
            <desc>Images for PKP pre-2.3 CVS</desc>
            <filename>pkpImagesAndIcons.tar.gz</filename>
            <type>application/x-gzip</type>
            <size>50795</size>
            <attacher>mattcrider</attacher>
            
              <data encoding="base64">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
tWvXhIWFRUREREVFxcTExMXFJSQkfv311+vXr0tKSkpJSUlLS8vIyNy4cUNWVlZOTk5eXv7mzZsK
Cgq3bt1SVFS8ffu2kpLSnTt3lJWVVVRUVFVV1dTU1NXVNTQ0NDU1IRDI3bt3tbS0tLW17927p6Oj
o6urq6enp6+vf//+fQMDA0NDQyMjI2NjYxMTkwcPHpiampqZmZmbm1tYWFhaWj58+NDKysra2vrR
o0c2NjaPHz+2tbW1s7N78uSJvb29g4ODo6Ojk5PT06dPnZ2dXVxcXF1dnz175ubm5u7u7uHh8fz5
c09PTy8vL29vbx8fH19fXz8/P39//4CAgMDAwKCgoODg4JCQkBcvXrx8+TI0NDQsLOzVq1fh4eGv
X7+OiIiIjIyMiop68+ZNdHR0TEzM27dvY2Nj3717FxcXFx8f//79+4SEhMTExA8fPiQlJSUnJ6ek
pKSmpqalpaWnp2dkZGRmZmZlZWVnZ+fk5OTm5ubl5X38+DE/P7+goKCwsLCoqKi4uLikpKS0tLSs
rKy8vLyioqKysrKqqqq6uvrTp081NTW1tbV1dXX19fUNDQ1QKLSxsbGpqam5ubmlpaW1tbWtra29
vb2jo6Ozs7Orq6u7u7unp6e3t7evr6+/v39gYGBwcHBoaGh4eHhkZGR0dHRsbGx8fBwGg01MTMDh
8MnJSQQCMTU1NT09PTMzMzs7Ozc3Nz8/j0QiUSjUwgJuoC4u4YbpMm5gojEYDG6E48bn1CFffBPM
tZhY5998abvS8/qdRScphQ7Ev7rxQN/P7OUScLWN0UXK6dCMYc0nAdql/XbbJJ1sYZ3pkmJij+zI
lJS6sWeFBA6V0zgc0NCf3ks2ka/X03Y3QVoPxcU54ig04yz4DFwSLuWuyE8vDinoKGbkOurBFi/X
W6TeWCNXfAgdpvz2hDrZOF2dxOvZ9KtbtoPM3gtZl0bKYvFPhf+NtS2Svi6C/P99iDlx+3/iVwJI
/CeKSPm/TS0C/P83Rv/X458D/GX/T3bS/j+iiBD/b/fZ2n9oQZsFpaW3o7M6MTPzi3fM/fJ78Nm+
0VlsSht6EgnYRReqWYfYpHE45Fx+Xiw4PgegMVj/HKhfhYiIopF3mbDW0+iRWaxL/lXPEiH/SrFh
BGpxCW2bwfksn/dhMmtAlXheNybkE36lcCWzaBx3/nOCsK3nzGzUOO5izhHgrf5os05VRNeB1pgr
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
02JPfB7NcTsH/C0SDNgOUlIingZtkedeaJ67+9cfcWM6vIfZ9tjcEVK+u2c3kIz6iYT7k9rAjFf6
3d6dP10UXnDRbAYcmaVYKAhuLVrmuK8sPK8tqi09GtN4V5iQd4WoXWxSrUuYxyFlj3bx3pN28wXG
ey8JM3mlu3R7u8ZWKGTyufqD4Id8WdkvjzWJnBGgyVkzXRkw/tIskBI8qktdNYESmb9Bs2BT/t/T
1DNXUzfQ2sYgYAv8Z2diY//X+n+c/2MpP8T/ywIiEv+7t4zLz8sm/P8J1b9p/aN2+/2x/pmYcev/
sBJM+H/mPzjLr2msrkUignpSpLXUNG1Na7V4QKDdoN8lYWF5rX1oorlnuLKhc25h+XVF3erqKgKB
mJqZW1tbG57dAIShHNq8sYEsLqlCIDaArIxP9Hz4mP2yuPBVxWx51ctO5Mo6cmlsvKX/w/r6ekvf
6OLoh6bOIeDFgR8mUlJSMjKyixcvkpOTU1BQUFJSUlFRUVNT09DQ0NLSXrp0iY6Ojp6enoGBgZGR
EQUXZgAvLKysrGxsbOzs7BwcHJycnJcvX+bi4uLm5r5y5QoPD8/Vq1d5eXmvXbvGx8fHz88vICAg
KCgoJCR0/fr1Gzdu/Pbbb8LCwiIiIqKiomJiYuLi4hISEjdv3rx165akpKSUlJS0tPTt27dlZGRk
ZWXv3LkjJycnLy+voKCgqKh49+5dJSUlZWVlFRWVe/fuqaqqqqmpqaura2hoaGpqamlpaWtr6+jo
6Orq6unp3b9/X19f38DAwNDQ0MjIyNjY2MTExNTU1MzMzNzc3MLCwtLS0srKytra2sbGxtbW9sGD
B3Z2dvb29g4ODo6Ojk5OTs7Ozi4uLq6urm5ubu7u7h4eHp6eng8fPvTy8nr06JG3t7ePj4+vr6+f
n9/jx4/9/f0DAgLAYHBgYOCTJ0+ePn0aFBQUHBz87NmzkJCQ0NDQsLCw8PDwiIiIyMjIqKio6Ojo
58+fx8TExMbGQiCQuLi4+Pj4hISExMTEpKSk5OTklJSU1NTUtLS09PT0Fy9eZGRkZGZmZmVlZWdn
5+Tk5Obmvnz5Mi8vLz8/v6CgoLCwsKioqLi4+NWrV69fvy4pKSktLS0rKysvL6+oqKisrKyqqqqu
roZCoW/evKmpqamtra2rq6uvr29oaGhsbGxqampubm5paXn79i0MBmttbW1ra2tvb+/o6Ojs7Ozq
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
Md+P9AAoBQA=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>1350</attachid>
            <date>2009-01-21 10:32:00 -0800</date>
            <delta_ts>2009-01-26 11:44:37 -0800</delta_ts>
            <desc>Images for PKP-lib pre-2.3 CVS</desc>
            <filename>pkpNotif.patch</filename>
            <type>text/plain</type>
            <size>78404</size>
            <attacher>mattcrider</attacher>
            
              <data encoding="base64">SW5kZXg6IGNsYXNzZXMvY29yZS9QS1BBcHBsaWNhdGlvbi5pbmMucGhwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT
IGZpbGU6IC9jdnMvcGtwL2NsYXNzZXMvY29yZS9QS1BBcHBsaWNhdGlvbi5pbmMucGhwLHYKcmV0
cmlldmluZyByZXZpc2lvbiAxLjkKZGlmZiAtdSAtcjEuOSBQS1BBcHBsaWNhdGlvbi5pbmMucGhw
Ci0tLSBjbGFzc2VzL2NvcmUvUEtQQXBwbGljYXRpb24uaW5jLnBocAkxNiBPY3QgMjAwOCAxNzo0
NzoyOSAtMDAwMAkxLjkKKysrIGNsYXNzZXMvY29yZS9QS1BBcHBsaWNhdGlvbi5pbmMucGhwCTIx
IEphbiAyMDA5IDE4OjI3OjQwIC0wMDAwCkBAIC0xODYsNiArMTg2LDggQEAKIAkJCSdDdXJyZW5j
eURBTycgPT4gJ2N1cnJlbmN5LkN1cnJlbmN5REFPJywKIAkJCSdIZWxwVG9jREFPJyA9PiAnaGVs
cC5IZWxwVG9jREFPJywKIAkJCSdIZWxwVG9waWNEQU8nID0+ICdoZWxwLkhlbHBUb3BpY0RBTycs
CisJCQknTm90aWZpY2F0aW9uREFPJyA9PiAnbm90aWZpY2F0aW9uLk5vdGlmaWNhdGlvbkRBTycs
CisJCQknTm90aWZpY2F0aW9uU2V0dGluZ3NEQU8nID0+ICdub3RpZmljYXRpb24uTm90aWZpY2F0
aW9uU2V0dGluZ3NEQU8nLAogCQkJJ1NjaGVkdWxlZFRhc2tEQU8nID0+ICdzY2hlZHVsZWRUYXNr
LlNjaGVkdWxlZFRhc2tEQU8nLAogCQkJJ1Nlc3Npb25EQU8nID0+ICdzZXNzaW9uLlNlc3Npb25E
QU8nLAogCQkJJ1NpdGVEQU8nID0+ICdzaXRlLlNpdGVEQU8nLApJbmRleDogY2xhc3Nlcy9ub3Rp
ZmljYXRpb24vTm90aWZpY2F0aW9uLmluYy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogY2xhc3Nl
cy9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9uLmluYy5waHAKZGlmZiAtTiBjbGFzc2VzL25vdGlm
aWNhdGlvbi9Ob3RpZmljYXRpb24uaW5jLnBocAotLS0gL2Rldi9udWxsCTEgSmFuIDE5NzAgMDA6
MDA6MDAgLTAwMDAKKysrIGNsYXNzZXMvbm90aWZpY2F0aW9uL05vdGlmaWNhdGlvbi5pbmMucGhw
CTIxIEphbiAyMDA5IDE4OjI3OjQwIC0wMDAwCkBAIC0wLDAgKzEsMzA2IEBACis8P3BocAorCisv
KioKKyAqIEBmaWxlIGNsYXNzZXMvbm90aWZpY2F0aW9uL05vdGlmaWNhdGlvbi5pbmMucGhwCisg
KgorICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMDggSm9obiBXaWxsaW5za3kKKyAqIERpc3RyaWJ1
dGVkIHVuZGVyIHRoZSBHTlUgR1BMIHYyLiBGb3IgZnVsbCB0ZXJtcyBzZWUgdGhlIGZpbGUgZG9j
cy9DT1BZSU5HLgorICoKKyAqIEBjbGFzcyBOb3RpZmljYXRpb24KKyAqIEBpbmdyb3VwIG5vdGlm
aWNhdGlvbgorICogQHNlZSBOb3RpZmljYXRpb25EQU8KKyAqIEBicmllZiBDbGFzcyBmb3IgTm90
aWZpY2F0aW9uLgorICovCisKKy8vICRJZDogTm90aWZpY2F0aW9uLmluYy5waHAsdiAxLjEwIDIw
MDgvMDcvMDEgMDE6MTY6MDkgYXNtZWNoZXIgRXhwICQKKworCisvKiogTm90aWZpY2F0aW9uIGFz
c29jaWF0aXZlIHR5cGVzLiAqLworLy8gU3VibWlzc2lvbiBFdmVudHMJCQkJMHgxMDAwMDAwMAor
ZGVmaW5lKCdOT1RJRklDQVRJT05fVFlQRV9BUlRJQ0xFX1NVQk1JVFRFRCcsIAkJMHgxMDAwMDAx
KTsKK2RlZmluZSgnTk9USUZJQ0FUSU9OX1RZUEVfTUVUQURBVEFfTU9ESUZJRUQnLCAJCTB4MTAw
MDAwMik7CitkZWZpbmUoJ05PVElGSUNBVElPTl9UWVBFX1NVUFBfRklMRV9BRERFRCcsIAkJCTB4
MTAwMDAwMyk7CitkZWZpbmUoJ05PVElGSUNBVElPTl9UWVBFX1NVUFBfRklMRV9NT0RJRklFRCcs
IAkJMHgxMDAwMDA0KTsKK2RlZmluZSgnTk9USUZJQ0FUSU9OX1RZUEVfR0FMTEVZX0FEREVEJywg
CQkJCTB4MTAwMDAwNSk7CitkZWZpbmUoJ05PVElGSUNBVElPTl9UWVBFX0dBTExFWV9NT0RJRklF
RCcsIAkJCTB4MTAwMDAwNik7CitkZWZpbmUoJ05PVElGSUNBVElPTl9UWVBFX1NVQk1JU1NJT05f
Q09NTUVOVCcsIAkJMHgxMDAwMDA3KTsKK2RlZmluZSgnTk9USUZJQ0FUSU9OX1RZUEVfTEFZT1VU
X0NPTU1FTlQnLCAJCQkweDEwMDAwMDgpOworZGVmaW5lKCdOT1RJRklDQVRJT05fVFlQRV9DT1BZ
RURJVF9DT01NRU5UJywgCQkJMHgxMDAwMDA5KTsKK2RlZmluZSgnTk9USUZJQ0FUSU9OX1RZUEVf
UFJPT0ZSRUFEX0NPTU1FTlQnLCAJCTB4MTAwMDAxMCk7CitkZWZpbmUoJ05PVElGSUNBVElPTl9U
WVBFX1JFVklFV0VSX0NPTU1FTlQnLCAJCQkweDEwMDAwMTEpOworZGVmaW5lKCdOT1RJRklDQVRJ
T05fVFlQRV9SRVZJRVdFUl9GT1JNX0NPTU1FTlQnLCAJMHgxMDAwMDEyKTsKK2RlZmluZSgnTk9U
SUZJQ0FUSU9OX1RZUEVfRURJVE9SX0RFQ0lTSU9OX0NPTU1FTlQnLCAJMHgxMDAwMDEzKTsKKwor
Ly8gT3RoZXIgZXZlbnRzCitkZWZpbmUoJ05PVElGSUNBVElPTl9UWVBFX1VTRVJfQ09NTUVOVCcs
IAkJCQkweDIwMDAwMDIpOworZGVmaW5lKCdOT1RJRklDQVRJT05fVFlQRV9QVUJMSVNIRURfSVNT
VUUnLCAJCQkweDIwMDAwMDMpOworCitpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmljYXRpb25E
QU8nKTsKKworY2xhc3MgTm90aWZpY2F0aW9uIGV4dGVuZHMgRGF0YU9iamVjdCB7CisKKwkvKioK
KwkgKiBDb25zdHJ1Y3Rvci4KKwkgKi8KKwlmdW5jdGlvbiBOb3RpZmljYXRpb24oKSB7CisJCXBh
cmVudDo6RGF0YU9iamVjdCgpOworCX0KKwkKKwkvKioKKwkgKiBDcmVhdGUgYSBuZXcgbm90aWZp
Y2F0aW9uIHdpdGggdGhlIHNwZWNpZmllZCBhcmd1bWVudHMgYW5kIGluc2VydCBpbnRvIERCCisJ
ICogVGhpcyBpcyBhIHN0YXRpYyBtZXRob2QKKwkgKiBAcGFyYW0gJHVzZXJJZCBpbnQKKwkgKiBA
cGFyYW0gJGNvbnRlbnRzIHN0cmluZworCSAqIEBwYXJhbSAkcGFyYW0gc3RyaW5nCisJICogQHBh
cmFtICRsb2NhdGlvbiBzdHJpbmcKKwkgKiBAcGFyYW0gJGlzTG9jYWxpemVkIGJvb2wKKwkgKiBA
cGFyYW0gJGFzc29jVHlwZSBpbnQKKwkgKiBAcGFyYW0gJGFzc29jSWQgaW50CisJICogQHJldHVy
biBOb3RpZmljYXRpb24gb2JqZWN0CisJICovCisJZnVuY3Rpb24gY3JlYXRlTm90aWZpY2F0aW9u
KCR1c2VySWQsICRjb250ZW50cywgJHBhcmFtLCAkbG9jYXRpb24sICRpc0xvY2FsaXplZCwgJGFz
c29jVHlwZSwgJGFzc29jSWQpIHsKKwkJJG5vdGlmaWNhdGlvbiA9IG5ldyBOb3RpZmljYXRpb24o
KTsKKwkJJGNvbnRleHQgPSYgUmVxdWVzdDo6Z2V0Q29udGV4dCgpOworCQkkY29udGV4dElkID0g
JGNvbnRleHQtPmdldElkKCk7CisKKwkJJG5vdGlmaWNhdGlvbi0+c2V0VXNlcklkKCR1c2VySWQp
OworCQkkbm90aWZpY2F0aW9uLT5zZXRDb250ZW50cygkY29udGVudHMpOworCQkkbm90aWZpY2F0
aW9uLT5zZXRQYXJhbSgkcGFyYW0pOworCQkkbm90aWZpY2F0aW9uLT5zZXRMb2NhdGlvbigkbG9j
YXRpb24pOworCQkkbm90aWZpY2F0aW9uLT5zZXRJc0xvY2FsaXplZCgkaXNMb2NhbGl6ZWQpOwor
CQkkbm90aWZpY2F0aW9uLT5zZXRBc3NvY1R5cGUoJGFzc29jVHlwZSk7CisJCSRub3RpZmljYXRp
b24tPnNldENvbnRleHQoJGNvbnRleHRJZCk7CisJCQorCQkkbm90aWZpY2F0aW9uRGFvID0gJkRB
T1JlZ2lzdHJ5OjpnZXREQU8oJ05vdGlmaWNhdGlvbkRBTycpOworCQkkbm90aWZpY2F0aW9uRGFv
LT5pbnNlcnROb3RpZmljYXRpb24oJG5vdGlmaWNhdGlvbik7CisJCQorCQlyZXR1cm4gJG5vdGlm
aWNhdGlvbjsKKwl9CisKKwkvKioKKwkgKiBnZXQgbm90aWZpY2F0aW9uIGlkCisJICogQHJldHVy
biBpbnQKKwkgKi8KKwlmdW5jdGlvbiBnZXROb3RpZmljYXRpb25JZCgpIHsKKwkJcmV0dXJuICR0
aGlzLT5nZXREYXRhKCdub3RpZmljYXRpb25JZCcpOworCX0KKworCS8qKgorCSAqIHNldCBub3Rp
ZmljYXRpb24gaWQKKwkgKiBAcGFyYW0gJGNvbW1lbnRJZCBpbnQKKwkgKi8KKwlmdW5jdGlvbiBz
ZXROb3RpZmljYXRpb25JZCgkbm90aWZpY2F0aW9uSWQpIHsKKwkJcmV0dXJuICR0aGlzLT5zZXRE
YXRhKCdub3RpZmljYXRpb25JZCcsICRub3RpZmljYXRpb25JZCk7CisJfQorCQorCS8qKgorCSAq
IGdldCB1c2VyIGlkIGFzc29jaWF0ZWQgd2l0aCB0aGlzIG5vdGlmaWNhdGlvbgorCSAqIEByZXR1
cm4gaW50CisJICovCisJZnVuY3Rpb24gZ2V0VXNlcklkKCkgeworCQlyZXR1cm4gJHRoaXMtPmdl
dERhdGEoJ3VzZXJJZCcpOworCX0KKwkKKwkvKioKKwkgKiBzZXQgdXNlciBpZCBhc3NvY2lhdGVk
IHdpdGggdGhpcyBub3RpZmljYXRpb24KKwkgKiBAcGFyYW0gJHVzZXJJZCBpbnQKKwkgKi8KKwlm
dW5jdGlvbiBzZXRVc2VySWQoJHVzZXJJZCkgeworCQlyZXR1cm4gJHRoaXMtPnNldERhdGEoJ3Vz
ZXJJZCcsICR1c2VySWQpOworCX0KKwkKKwkvKioKKwkgKiBnZXQgZGF0ZSBub3RpZmljYXRpb24g
d2FzIGNyZWF0ZWQKKwkgKiBAcmV0dXJuIGRhdGUgKFlZWVktTU0tREQgSEg6TU06U1MpCisJICov
CisJZnVuY3Rpb24gZ2V0RGF0ZUNyZWF0ZWQoKSB7CisJCXJldHVybiAkdGhpcy0+Z2V0RGF0YSgn
ZGF0ZUNyZWF0ZWQnKTsKKwl9CisJCisJLyoqCisJICogc2V0IGRhdGUgbm90aWZpY2F0aW9uIHdh
cyBjcmVhdGVkCisJICogQHBhcmFtICRkYXRlQ3JlYXRlZCBkYXRlIChZWVlZLU1NLUREIEhIOk1N
OlNTKQorCSAqLworCWZ1bmN0aW9uIHNldERhdGVDcmVhdGVkKCRkYXRlQ3JlYXRlZCkgeworCQly
ZXR1cm4gJHRoaXMtPnNldERhdGEoJ2RhdGVDcmVhdGVkJywgJGRhdGVDcmVhdGVkKTsKKwl9CisJ
CisJLyoqCisJICogZ2V0IGRhdGUgbm90aWZpY2F0aW9uIGlzIHJlYWQgYnkgdXNlcgorCSAqIEBy
ZXR1cm4gZGF0ZSAoWVlZWS1NTS1ERCBISDpNTTpTUykKKwkgKi8KKwlmdW5jdGlvbiBnZXREYXRl
UmVhZCgpIHsKKwkJcmV0dXJuICR0aGlzLT5nZXREYXRhKCdkYXRlUmVhZCcpOworCX0KKwkKKwkv
KioKKwkgKiBzZXQgZGF0ZSBub3RpZmljYXRpb24gaXMgcmVhZCBieSB1c2VyCisJICogQWxzbyBz
ZXRzIHNldGlzVW5yZWFkKCkgaWYgJGRhdGVSZWFkIGlzIG51bGwKKwkgKiBAcGFyYW0gJGRhdGVS
ZWFkIGRhdGUgKFlZWVktTU0tREQgSEg6TU06U1MpCisJICovCisJZnVuY3Rpb24gc2V0RGF0ZVJl
YWQoJGRhdGVSZWFkKSB7CisJCWlmKCFpc3NldCgkZGF0ZVJlYWQpKSB7CisJCQkkdGhpcy0+c2V0
SXNVbnJlYWQodHJ1ZSk7CisJCQkkbm90aWZpY2F0aW9uRGFvID0gJkRBT1JlZ2lzdHJ5OjpnZXRE
QU8oJ05vdGlmaWNhdGlvbkRBTycpOworCQkJJG5vdGlmaWNhdGlvbkRhby0+c2V0RGF0ZVJlYWQo
JHRoaXMtPmdldE5vdGlmaWNhdGlvbklkKCkpOworCQl9IGVsc2UgeworCQkJJHRoaXMtPnNldElz
VW5yZWFkKGZhbHNlKTsKKwkJCXJldHVybiAkdGhpcy0+c2V0RGF0YSgnZGF0ZVJlYWQnLCAkZGF0
ZVJlYWQpOwkKKwkJfQorCX0KKwkKKwkvKioKKwkgKiByZXR1cm4gdHJ1ZSBpZiByZWFkaW5nIGZv
ciB0aGUgZmlyc3QgdGltZQorCSAqIEByZXR1cm4gYm9vbAorCSAqLworCWZ1bmN0aW9uIGdldElz
VW5yZWFkKCkgeworCQlyZXR1cm4gJHRoaXMtPmdldERhdGEoJ2lzVW5yZWFkJyk7CisJfQorCQor
CS8qKgorCSAqIHNldCB0byB0cnVlIGlmIG5vdGlmaWNhdGlvbiBoYXMgbm90IGJlZW4gcmVhZAor
CSAqIEBwYXJhbSAkaXNVbnJlYWQgYm9vbAorCSAqLworCWZ1bmN0aW9uIHNldElzVW5yZWFkKCRp
c1VucmVhZCkgeworCQlyZXR1cm4gJHRoaXMtPnNldERhdGEoJ2lzVW5yZWFkJywgJGlzVW5yZWFk
KTsKKwl9CisJCisJLyoqCisJICogZ2V0IG5vdGlmaWNhdGlvbiBjb250ZW50cworCSAqIEByZXR1
cm4gc3RyaW5nCisJICovCisJZnVuY3Rpb24gZ2V0Q29udGVudHMoKSB7CisJCXJldHVybiAkdGhp
cy0+Z2V0RGF0YSgnY29udGVudHMnKTsKKwl9CisJCisJLyoqCisJICogc2V0IG5vdGlmaWNhdGlv
biBjb250ZW50cworCSAqIEBwYXJhbSAkY29udGVudHMgaW50CisJICovCisJZnVuY3Rpb24gc2V0
Q29udGVudHMoJGNvbnRlbnRzKSB7CisJCXJldHVybiAkdGhpcy0+c2V0RGF0YSgnY29udGVudHMn
LCAkY29udGVudHMpOworCX0KKwkKKwkvKioKKwkgKiBnZXQgb3B0aW9uYWwgcGFyYW1ldGVyIChl
LmcuIGFydGljbGUgdGl0bGUpCisJICogQHJldHVybiBzdHJpbmcKKwkgKi8KKwlmdW5jdGlvbiBn
ZXRQYXJhbSgpIHsKKwkJcmV0dXJuICR0aGlzLT5nZXREYXRhKCdwYXJhbScpOworCX0KKwkKKwkv
KioKKwkgKiBzZXQgb3B0aW9uYWwgcGFyYW1ldGVyCisJICogQHBhcmFtICRwYXJhbSBpbnQKKwkg
Ki8KKwlmdW5jdGlvbiBzZXRQYXJhbSgkcGFyYW0pIHsKKwkJcmV0dXJuICR0aGlzLT5zZXREYXRh
KCdwYXJhbScsICRwYXJhbSk7CisJfQorCQorCS8qKgorCSAqIGdldCBVUkwgdGhhdCBub3RpZmlj
YXRpb24gcmVmZXJzIHRvCisJICogQHJldHVybiBpbnQKKwkgKi8KKwlmdW5jdGlvbiBnZXRMb2Nh
dGlvbigpIHsKKwkJcmV0dXJuICR0aGlzLT5nZXREYXRhKCdsb2NhdGlvbicpOworCX0KKwkKKwkv
KioKKwkgKiBzZXQgVVJMIHRoYXQgbm90aWZpY2F0aW9uIHJlZmVycyB0bworCSAqIEBwYXJhbSAk
bG9jYXRpb24gaW50CisJICovCisJZnVuY3Rpb24gc2V0TG9jYXRpb24oJGxvY2F0aW9uKSB7CisJ
CXJldHVybiAkdGhpcy0+c2V0RGF0YSgnbG9jYXRpb24nLCAkbG9jYXRpb24pOworCX0KKwkKKwkv
KioKKwkgKiByZXR1cm4gdHJ1ZSBpZiBtZXNzYWdlIGlzIGxvY2FsaXplZCAoaS5lLiBhIHN5c3Rl
bSBtZXNzYWdlKQorCSAqIEByZXR1cm4gaW50CisJICovCisJZnVuY3Rpb24gZ2V0SXNMb2NhbGl6
ZWQoKSB7CisJCXJldHVybiAkdGhpcy0+Z2V0RGF0YSgnaXNMb2NhbGl6ZWQnKTsKKwl9CisJCisJ
LyoqCisJICogc2V0IHRvIHRydWUgaWYgbWVzc2FnZSBpcyBsb2NhbGl6ZWQgKGkuZS4gaXMgYSBz
eXN0ZW0gbWVzc2FnZSkKKwkgKiBAcGFyYW0gJGlzTG9jYWxpemVkIGludAorCSAqLworCWZ1bmN0
aW9uIHNldElzTG9jYWxpemVkKCRpc0xvY2FsaXplZCkgeworCQlyZXR1cm4gJHRoaXMtPnNldERh
dGEoJ2lzTG9jYWxpemVkJywgJGlzTG9jYWxpemVkKTsKKwl9CisKKwkvKioKKwkgKiBnZXQgbm90
aWZpY2F0aW9uIHR5cGUKKwkgKiBAcmV0dXJuIGludAorCSAqLworCWZ1bmN0aW9uIGdldEFzc29j
VHlwZSgpIHsKKwkJcmV0dXJuICR0aGlzLT5nZXREYXRhKCdhc3NvY1R5cGUnKTsKKwl9CisKKwkv
KioKKwkgKiBzZXQgbm90aWZpY2F0aW9uIHR5cGUKKwkgKiBAcGFyYW0gJGFzc29jVHlwZSBpbnQK
KwkgKi8KKwlmdW5jdGlvbiBzZXRBc3NvY1R5cGUoJGFzc29jVHlwZSkgeworCQlyZXR1cm4gJHRo
aXMtPnNldERhdGEoJ2Fzc29jVHlwZScsICRhc3NvY1R5cGUpOworCX0KKwkKKwkvKioKKwkgKiBn
ZXQgY29udGV4dCBpZAorCSAqIEByZXR1cm4gaW50CisJICovCisJZnVuY3Rpb24gZ2V0Q29udGV4
dCgpIHsKKwkJcmV0dXJuICR0aGlzLT5nZXREYXRhKCdjb250ZXh0Jyk7CisJfQorCS8qKgorCSAq
IHNldCBjb250ZXh0IGlkCisJICogQHBhcmFtICRjb250ZXh0IGludAorCSAqLworCWZ1bmN0aW9u
IHNldENvbnRleHQoJGNvbnRleHQpIHsKKwkJcmV0dXJuICR0aGlzLT5zZXREYXRhKCdjb250ZXh0
JywgJGNvbnRleHQpOworCX0JCisJCisJLyoqCisJICogcmV0dXJuIHRoZSBwYXRoIHRvIHRoZSBp
Y29uIGZvciB0aGlzIHR5cGUKKwkgKiBAcmV0dXJuIHN0cmluZworCSAqLworCWZ1bmN0aW9uIGdl
dEljb25Mb2NhdGlvbigpIHsKKwkJJGJhc2VVcmwgPSBSZXF1ZXN0OjpnZXRCYXNlVXJsKCkgLiAn
L2xpYi9wa3AvdGVtcGxhdGVzL2ltYWdlcy9pY29ucy8nOworCQlzd2l0Y2ggKCR0aGlzLT5nZXRB
c3NvY1R5cGUoKSkgeworCQkJY2FzZSBOT1RJRklDQVRJT05fVFlQRV9BUlRJQ0xFX1NVQk1JVFRF
RDoKKwkJCWNhc2UgTk9USUZJQ0FUSU9OX1RZUEVfR0FMTEVZX0FEREVEOgorCQkJY2FzZSBOT1RJ
RklDQVRJT05fVFlQRV9TVVBQX0ZJTEVfQURERUQ6CisJCQkJcmV0dXJuICRiYXNlVXJsIC4gJ3Bh
Z2VfbmV3LnBuZyc7CisJCQkJYnJlYWs7CisJCQljYXNlIE5PVElGSUNBVElPTl9UWVBFX1NVUFBf
RklMRV9NT0RJRklFRDoKKwkJCWNhc2UgTk9USUZJQ0FUSU9OX1RZUEVfU1VQUF9GSUxFX0FEREVE
OgorCQkJCXJldHVybiAkYmFzZVVybCAuICdwYWdlX2F0dGFjaG1lbnQucG5nJzsKKwkJCQlicmVh
azsKKwkJCQorCQkJY2FzZSBOT1RJRklDQVRJT05fVFlQRV9NRVRBREFUQV9NT0RJRklFRDoKKwkJ
CWNhc2UgTk9USUZJQ0FUSU9OX1RZUEVfR0FMTEVZX01PRElGSUVEOgorCQkJCXJldHVybiAkYmFz
ZVVybCAuICdlZGl0LnBuZyc7CisJCQkJYnJlYWs7CisJCQljYXNlIE5PVElGSUNBVElPTl9UWVBF
X1NVQk1JU1NJT05fQ09NTUVOVDoKKwkJCWNhc2UgTk9USUZJQ0FUSU9OX1RZUEVfTEFZT1VUX0NP
TU1FTlQ6CisJCQljYXNlIE5PVElGSUNBVElPTl9UWVBFX0NPUFlFRElUX0NPTU1FTlQ6CisJCQlj
YXNlIE5PVElGSUNBVElPTl9UWVBFX1BST09GUkVBRF9DT01NRU5UOgorCQkJY2FzZSBOT1RJRklD
QVRJT05fVFlQRV9SRVZJRVdFUl9DT01NRU5UOgorCQkJY2FzZSBOT1RJRklDQVRJT05fVFlQRV9S
RVZJRVdFUl9GT1JNX0NPTU1FTlQ6CisJCQljYXNlIE5PVElGSUNBVElPTl9UWVBFX0VESVRPUl9E
RUNJU0lPTl9DT01NRU5UOgorCQkJY2FzZSBOT1RJRklDQVRJT05fVFlQRV9VU0VSX0NPTU1FTlQ6
CisJCQkJcmV0dXJuICRiYXNlVXJsIC4gJ2NvbW1lbnRfbmV3LnBuZyc7CisJCQkJYnJlYWs7CisJ
CQljYXNlIE5PVElGSUNBVElPTl9UWVBFX1BVQkxJU0hFRF9JU1NVRToKKwkJCQlyZXR1cm4gJGJh
c2VVcmwgLiAnbGlzdF93b3JsZC5wbmcnOworCQkJCWJyZWFrOworCQkJZGVmYXVsdDoKKwkJCQly
ZXR1cm4gJGJhc2VVcmwgLiAncGFnZV9hbGVydC5wbmcnOworCQl9CisJCQorCQkKKwl9CisKKyB9
CisKKz8+CkluZGV4OiBjbGFzc2VzL25vdGlmaWNhdGlvbi9Ob3RpZmljYXRpb25EQU8uaW5jLnBo
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09ClJDUyBmaWxlOiBjbGFzc2VzL25vdGlmaWNhdGlvbi9Ob3RpZmljYXRpb25E
QU8uaW5jLnBocApkaWZmIC1OIGNsYXNzZXMvbm90aWZpY2F0aW9uL05vdGlmaWNhdGlvbkRBTy5p
bmMucGhwCi0tLSAvZGV2L251bGwJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMAorKysgY2xhc3Nl
cy9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9uREFPLmluYy5waHAJMjEgSmFuIDIwMDkgMTg6Mjc6
NDEgLTAwMDAKQEAgLTAsMCArMSwzMjQgQEAKKzw/cGhwCisKKy8qKgorICogQGZpbGUgY2xhc3Nl
cy9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9uREFPLmluYy5waHAKKyAqCisgKiBDb3B5cmlnaHQg
KGMpIDIwMDMtMjAwOCBKb2huIFdpbGxpbnNreQorICogRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEdO
VSBHUEwgdjIuIEZvciBmdWxsIHRlcm1zIHNlZSB0aGUgZmlsZSBkb2NzL0NPUFlJTkcuCisgKgor
ICogQGNsYXNzIE5vdGlmaWNhdGlvbkRBTworICogQGluZ3JvdXAgbm90aWZpY2F0aW9uCisgKiBA
c2VlIE5vdGlmaWNhdGlvbgorICoKKyAqIEBicmllZiBPcGVyYXRpb25zIGZvciByZXRyaWV2aW5n
IGFuZCBtb2RpZnlpbmcgTm90aWZpY2F0aW9uIG9iamVjdHMuCisgKi8KKworLy8gJElkOiBOb3Rp
ZmljYXRpb25EQU8uaW5jLnBocCx2IDEuMTkgMjAwOC8xMS8wNSAwMDo0NjozOSBtY3JpZGVyIEV4
cCAkCisKK2ltcG9ydCgnbm90aWZpY2F0aW9uLk5vdGlmaWNhdGlvbicpOworCitjbGFzcyBOb3Rp
ZmljYXRpb25EQU8gZXh0ZW5kcyBEQU8geworCS8qKgorCSAqIENvbnN0cnVjdG9yLgorCSAqLwor
CWZ1bmN0aW9uIE5vdGlmaWNhdGlvbkRBTygpIHsKKwkJcGFyZW50OjpEQU8oKTsKKwl9CisJCisJ
LyoqCisJICogUmV0cmlldmUgTm90aWZpY2F0aW9uIGJ5IG5vdGlmaWNhdGlvbiBpZAorCSAqIEBw
YXJhbSAkbm90aWZpY2F0aW9uSWQgaW50CisJICogQHJldHVybiBOb3RpZmljYXRpb24gb2JqZWN0
CisJICovCisJZnVuY3Rpb24gJmdldE5vdGlmaWNhdGlvbkJ5SWQoJG5vdGlmaWNhdGlvbklkKSB7
CisJCSRyZXN1bHQgPSAmJHRoaXMtPnJldHJpZXZlKAorCQkJJ1NFTEVDVCAqIEZST00gbm90aWZp
Y2F0aW9ucyBXSEVSRSBub3RpZmljYXRpb25faWQgPSA/JywgJG5vdGlmaWNhdGlvbklkCisJCSk7
CisJCisJCSRub3RpZmljYXRpb24gPSAmJHRoaXMtPl9yZXR1cm5Ob3RpZmljYXRpb25Gcm9tUm93
KCRyZXN1bHQtPkdldFJvd0Fzc29jKGZhbHNlKSk7CisJCisJCSRyZXN1bHQtPkNsb3NlKCk7CisJ
CXVuc2V0KCRyZXN1bHQpOworCQorCQlyZXR1cm4gJG5vdGlmaWNhdGlvbjsKKwl9CQorCQorCS8q
KgorCSAqIFJldHJpZXZlIE5vdGlmaWNhdGlvbnMgYnkgdXNlciBpZAorCSAqIEBwYXJhbSAkdXNl
cklkIGludAorCSAqIEByZXR1cm4gTm90aWZpY2F0aW9uIG9iamVjdHMgYXJyYXkKKwkgKi8KKwlm
dW5jdGlvbiAmZ2V0Tm90aWZpY2F0aW9uc0J5VXNlcklkKCR1c2VySWQpIHsKKwkJJGFwcGxpY2F0
aW9uID0mIFBLUEFwcGxpY2F0aW9uOjpnZXRBcHBsaWNhdGlvbigpOworCQkkcHJvZHVjdE5hbWUg
PSAkYXBwbGljYXRpb24tPmdldE5hbWUoKTsKKwkJJGNvbnRleHQgPSYgUmVxdWVzdDo6Z2V0Q29u
dGV4dCgpOworCQkkY29udGV4dElkID0gJGNvbnRleHQtPmdldElkKCk7CisJCQorCQkkbm90aWZp
Y2F0aW9ucyA9IGFycmF5KCk7CisJCisJCSRyZXN1bHQgPSAmJHRoaXMtPnJldHJpZXZlKAorCQkJ
J1NFTEVDVCAqIEZST00gbm90aWZpY2F0aW9ucyBXSEVSRSB1c2VyX2lkID0gPyBBTkQgcHJvZHVj
dCA9ID8gQU5EIGNvbnRleHQgPSA/IE9SREVSIEJZIGRhdGVfY3JlYXRlZCBERVNDJywJCisJCQlh
cnJheSgkdXNlcklkLCAkcHJvZHVjdE5hbWUsICRjb250ZXh0SWQpCisJCSk7CisJCisJCSRyZXR1
cm5lciA9IG5ldyBEQU9SZXN1bHRGYWN0b3J5KCRyZXN1bHQsICR0aGlzLCAnX3JldHVybk5vdGlm
aWNhdGlvbkZyb21Sb3cnKTsKKwkJCisJCXJldHVybiAkcmV0dXJuZXI7CisJfQorCQorCS8qKgor
CSAqIFJldHJpZXZlIE5vdGlmaWNhdGlvbnMgYnkgbm90aWZpY2F0aW9uIGlkCisJICogQHBhcmFt
ICRub3RpZmljYXRpb25JZCBpbnQKKwkgKiBAcmV0dXJuIGJvb2xlYW4KKwkgKi8KKwlmdW5jdGlv
biBzZXREYXRlUmVhZCgkbm90aWZpY2F0aW9uSWQpIHsKKwkJJHJldHVybmVyID0gJHRoaXMtPnVw
ZGF0ZSgKKwkJCXNwcmludGYoJ1VQREFURSBub3RpZmljYXRpb25zCisJCQkJU0VUIGRhdGVfcmVh
ZCA9ICVzCisJCQkJV0hFUkUgbm90aWZpY2F0aW9uX2lkID0gPycsCisJCQkJJHRoaXMtPmRhdGV0
aW1lVG9EQihkYXRlKCdZLW0tZCBIOmk6cycpKSksCisJCQlhcnJheSgKKwkJCQkkbm90aWZpY2F0
aW9uSWQKKwkJCSkKKwkJKTsKKworCQlyZXR1cm4gJHJldHVybmVyOworCX0KKwkKKwkvKioKKwkg
KiBDcmVhdGVzIGFuZCByZXR1cm5zIGFuIG5vdGlmaWNhdGlvbiBvYmplY3QgZnJvbSBhIHJvdwor
CSAqIEBwYXJhbSAkcm93IGFycmF5CisJICogQHJldHVybiBOb3RpZmljYXRpb24gb2JqZWN0CisJ
ICovCisJZnVuY3Rpb24gJl9yZXR1cm5Ob3RpZmljYXRpb25Gcm9tUm93KCRyb3cpIHsKKwkJJG5v
dGlmaWNhdGlvbiA9IG5ldyBOb3RpZmljYXRpb24oKTsKKwkJJG5vdGlmaWNhdGlvbi0+c2V0Tm90
aWZpY2F0aW9uSWQoJHJvd1snbm90aWZpY2F0aW9uX2lkJ10pOworCQkkbm90aWZpY2F0aW9uLT5z
ZXRVc2VySWQoJHJvd1sndXNlcl9pZCddKTsKKwkJJG5vdGlmaWNhdGlvbi0+c2V0RGF0ZUNyZWF0
ZWQoJHJvd1snZGF0ZV9jcmVhdGVkJ10pOworCQkkbm90aWZpY2F0aW9uLT5zZXREYXRlUmVhZCgk
cm93WydkYXRlX3JlYWQnXSk7CisJCSRub3RpZmljYXRpb24tPnNldENvbnRlbnRzKCRyb3dbJ2Nv
bnRlbnRzJ10pOworCQkkbm90aWZpY2F0aW9uLT5zZXRQYXJhbSgkcm93WydwYXJhbSddKTsKKwkJ
JG5vdGlmaWNhdGlvbi0+c2V0TG9jYXRpb24oJHJvd1snbG9jYXRpb24nXSk7CisJCSRub3RpZmlj
YXRpb24tPnNldElzTG9jYWxpemVkKCRyb3dbJ2lzX2xvY2FsaXplZCddKTsKKwkJJG5vdGlmaWNh
dGlvbi0+c2V0Q29udGV4dCgkcm93Wydjb250ZXh0J10pOworCQkkbm90aWZpY2F0aW9uLT5zZXRB
c3NvY1R5cGUoJHJvd1snYXNzb2NfdHlwZSddKTsKKwkJCisJCUhvb2tSZWdpc3RyeTo6Y2FsbCgn
Tm90aWZpY2F0aW9uREFPOjpfcmV0dXJuTm90aWZpY2F0aW9uRnJvbVJvdycsIGFycmF5KCYkbm90
aWZpY2F0aW9uLCAmJHJvdykpOworCQorCQlyZXR1cm4gJG5vdGlmaWNhdGlvbjsKKwl9CisJCisJ
LyoqCisJICogSW5zZXJ0cyBhIG5ldyBub3RpZmljYXRpb24gaW50byBub3RpZmljYXRpb25zIHRh
YmxlCisJICogQHBhcmFtIE5vdGlmaWNhdGlvbiBvYmplY3QKKwkgKiBAcmV0dXJuIGludCBOb3Rp
ZmljYXRpb24gSWQgCisJICovCisJZnVuY3Rpb24gaW5zZXJ0Tm90aWZpY2F0aW9uKCYkbm90aWZp
Y2F0aW9uKSB7CisJCSRhcHBsaWNhdGlvbiA9JiBQS1BBcHBsaWNhdGlvbjo6Z2V0QXBwbGljYXRp
b24oKTsKKwkJJHByb2R1Y3ROYW1lID0gJGFwcGxpY2F0aW9uLT5nZXROYW1lKCk7CisJCQorCQlp
ZiAoJHRoaXMtPm5vdGlmaWNhdGlvbkFscmVhZHlFeGlzdHMoJG5vdGlmaWNhdGlvbikpIHsKKwkJ
CXJldHVybiAwOworCQl9CisJCQorCQkkbm90aWZpY2F0aW9uU2V0dGluZ3NEYW8gPSAmREFPUmVn
aXN0cnk6OmdldERBTygnTm90aWZpY2F0aW9uU2V0dGluZ3NEQU8nKTsKKwkJJG5vdGlmaWNhdGlv
blNldHRpbmdzID0gJG5vdGlmaWNhdGlvblNldHRpbmdzRGFvLT5nZXROb3RpZmljYXRpb25TZXR0
aW5ncygkbm90aWZpY2F0aW9uLT5nZXRVc2VySWQoKSk7CisJCSRub3RpZmljYXRpb25FbWFpbFNl
dHRpbmdzID0gJG5vdGlmaWNhdGlvblNldHRpbmdzRGFvLT5nZXROb3RpZmljYXRpb25FbWFpbFNl
dHRpbmdzKCRub3RpZmljYXRpb24tPmdldFVzZXJJZCgpKTsKKwkJCisJCWlmKGluX2FycmF5KCRu
b3RpZmljYXRpb24tPmdldEFzc29jVHlwZSgpLCAkbm90aWZpY2F0aW9uRW1haWxTZXR0aW5ncykp
IHsKKwkJCSR0aGlzLT5zZW5kTm90aWZpY2F0aW9uRW1haWwoJG5vdGlmaWNhdGlvbik7CisJCX0K
KwkJCisJCWlmKCFpbl9hcnJheSgkbm90aWZpY2F0aW9uLT5nZXRBc3NvY1R5cGUoKSwgJG5vdGlm
aWNhdGlvblNldHRpbmdzKSkgeworCQkJJHRoaXMtPnVwZGF0ZSgKKwkJCQlzcHJpbnRmKCdJTlNF
UlQgSU5UTyBub3RpZmljYXRpb25zCisJCQkJCSh1c2VyX2lkLCBkYXRlX2NyZWF0ZWQsIGNvbnRl
bnRzLCBwYXJhbSwgbG9jYXRpb24sIGlzX2xvY2FsaXplZCwgY29udGV4dCwgcHJvZHVjdCwgYXNz
b2NfdHlwZSkKKwkJCQkJVkFMVUVTCisJCQkJCSg/LCAlcywgPywgPywgPywgPywgPywgPywgPykn
LAorCQkJCQkkdGhpcy0+ZGF0ZXRpbWVUb0RCKGRhdGUoJ1ktbS1kIEg6aTpzJykpKSwKKwkJCQlh
cnJheSgKKwkJCQkJJG5vdGlmaWNhdGlvbi0+Z2V0VXNlcklkKCksCisJCQkJCSRub3RpZmljYXRp
b24tPmdldENvbnRlbnRzKCksCisJCQkJCSRub3RpZmljYXRpb24tPmdldFBhcmFtKCksCisJCQkJ
CSRub3RpZmljYXRpb24tPmdldExvY2F0aW9uKCksCisJCQkJCSRub3RpZmljYXRpb24tPmdldElz
TG9jYWxpemVkKCksCisJCQkJCSRub3RpZmljYXRpb24tPmdldENvbnRleHQoKSwKKwkJCQkJJHBy
b2R1Y3ROYW1lLAorCQkJCQkkbm90aWZpY2F0aW9uLT5nZXRBc3NvY1R5cGUoKSwKKwkJCQkpCisJ
CQkpOworCQkKKwkJCSRub3RpZmljYXRpb24tPnNldE5vdGlmaWNhdGlvbklkKCR0aGlzLT5nZXRJ
bnNlcnROb3RpZmljYXRpb25JZCgpKTsKKwkJCXJldHVybiAkbm90aWZpY2F0aW9uLT5nZXROb3Rp
ZmljYXRpb25JZCgpOworCQl9IGVsc2UgcmV0dXJuIDA7CisJfQorCQorCS8qKgorCSAqIERlbGV0
ZSBOb3RpZmljYXRpb24gYnkgbm90aWZpY2F0aW9uIGlkCisJICogQHBhcmFtICRub3RpZmljYXRp
b25JZCBpbnQKKwkgKiBAcmV0dXJuIGJvb2xlYW4KKwkgKi8KKwlmdW5jdGlvbiBkZWxldGVOb3Rp
ZmljYXRpb25CeUlkKCRub3RpZmljYXRpb25JZCwgJHVzZXJJZCA9IG51bGwpIHsKKwkJcmV0dXJu
ICR0aGlzLT51cGRhdGUoJ0RFTEVURSBGUk9NIG5vdGlmaWNhdGlvbnMgV0hFUkUgbm90aWZpY2F0
aW9uX2lkID0gPycgLiAoaXNzZXQoJHVzZXJJZCkgPyAnIEFORCB1c2VyX2lkID0gPycgOiAnJyks
IAorCQkJaXNzZXQoJHVzZXJJZCkgPyBhcnJheSgkbm90aWZpY2F0aW9uSWQsICR1c2VySWQpIDog
JG5vdGlmaWNhdGlvbklkCisJCSk7CisJfQkKKworCS8qKgorCSAqIENoZWNrIGlmIHRoZSBzYW1l
IG5vdGlmaWNhdGlvbiB3YXMgYWRkZWQgaW4gdGhlIGxhc3QgaG91cgorCSAqIFdpbGwgcHJldmVu
dCBtdWx0aXBsZSBub3RpZmljYXRpb25zIHRvIHNob3cgdXAgaW4gYSB1c2VyJ3MgZmVlZCBlLmcu
CisJICogaWYgYSB1c2VyIGVkaXRzIGEgc3VibWlzc2lvbiBtdWx0aXBsZSB0aW1lcyBpbiBhIHNo
b3J0IHRpbWUgc3BhbgorCSAqIEBwYXJhbSBub3RpZmljYXRpb24gb2JqZWN0CisJICogQHJldHVy
biBib29sZWFuCisJICovCisJZnVuY3Rpb24gbm90aWZpY2F0aW9uQWxyZWFkeUV4aXN0cygmJG5v
dGlmaWNhdGlvbikgeworCQkkYXBwbGljYXRpb24gPSYgUEtQQXBwbGljYXRpb246OmdldEFwcGxp
Y2F0aW9uKCk7CisJCSRwcm9kdWN0TmFtZSA9ICRhcHBsaWNhdGlvbi0+Z2V0TmFtZSgpOworCQkk
Y29udGV4dCA9JiBSZXF1ZXN0OjpnZXRDb250ZXh0KCk7CisJCSRjb250ZXh0SWQgPSAkY29udGV4
dC0+Z2V0SWQoKTsKKwkJCQorCQkkcmVzdWx0ID0gJiR0aGlzLT5yZXRyaWV2ZSgKKwkJCSdTRUxF
Q1QgZGF0ZV9jcmVhdGVkIEZST00gbm90aWZpY2F0aW9ucyBXSEVSRSB1c2VyX2lkID0gPyBBTkQg
Y29udGVudHMgPSA/IEFORCBwcm9kdWN0ID0gPyBBTkQgYXNzb2NfdHlwZSA9ID8gQU5EIGNvbnRl
eHQgPSA/JywKKwkJCWFycmF5KAorCQkJCQkkbm90aWZpY2F0aW9uLT5nZXRVc2VySWQoKSwKKwkJ
CQkJJG5vdGlmaWNhdGlvbi0+Z2V0Q29udGVudHMoKSwKKwkJCQkJJHByb2R1Y3ROYW1lLAorCQkJ
CQkkbm90aWZpY2F0aW9uLT5nZXRBc3NvY1R5cGUoKSwKKwkJCQkJJGNvbnRleHRJZAorCQkJCSkK
KwkJKTsKKwkJCisJCSRkYXRlID0gaXNzZXQoJHJlc3VsdC0+ZmllbGRzWzBdKSA/ICRyZXN1bHQt
PmZpZWxkc1swXSA6IDA7CisJCQorCQlpZiAoJGRhdGUgPT0gMCkgeworCQkJcmV0dXJuIGZhbHNl
OworCQl9IGVsc2UgeworCQkJJHRpbWVEaWZmID0gc3RydG90aW1lKCRkYXRlKSAtIHRpbWUoKTsK
KwkJCWlmICgkdGltZURpZmYgPCAzNjAwKSB7IC8vIDEgaG91ciAoaW4gc2Vjb25kcykKKwkJCQly
ZXR1cm4gdHJ1ZTsKKwkJCX0gZWxzZSByZXR1cm4gZmFsc2U7CisJCX0KKwl9CisKKwkvKioKKwkg
KiBHZXQgdGhlIElEIG9mIHRoZSBsYXN0IGluc2VydGVkIG5vdGlmaWNhdGlvbgorCSAqIEByZXR1
cm4gaW50CisJICovCisJZnVuY3Rpb24gZ2V0SW5zZXJ0Tm90aWZpY2F0aW9uSWQoKSB7CisJCXJl
dHVybiAkdGhpcy0+Z2V0SW5zZXJ0SWQoJ25vdGlmaWNhdGlvbnMnLCAnbm90aWZpY2F0aW9uX2lk
Jyk7CisJfQorCQorCS8qKgorCSAqIEdldCB0aGUgbnVtYmVyIG9mIHVucmVhZCBtZXNzYWdlcyBm
b3IgYSB1c2VyCisJICogQHBhcmFtICR1c2VySWQgaW50CisJICogQHJldHVybiBpbnQKKwkgKi8K
KwlmdW5jdGlvbiBnZXRVbnJlYWROb3RpZmljYXRpb25Db3VudCgkdXNlcklkKSB7CisJCSRhcHBs
aWNhdGlvbiA9JiBQS1BBcHBsaWNhdGlvbjo6Z2V0QXBwbGljYXRpb24oKTsKKwkJJHByb2R1Y3RO
YW1lID0gJGFwcGxpY2F0aW9uLT5nZXROYW1lKCk7CisJCSRjb250ZXh0ID0mIFJlcXVlc3Q6Omdl
dENvbnRleHQoKTsKKwkJJGNvbnRleHRJZCA9ICRjb250ZXh0LT5nZXRJZCgpOworCQkKKwkJJHJl
c3VsdCA9ICYkdGhpcy0+cmV0cmlldmUoCisJCQknU0VMRUNUIGNvdW50KCopIEZST00gbm90aWZp
Y2F0aW9ucyBXSEVSRSB1c2VyX2lkID0gPyBBTkQgZGF0ZV9yZWFkIElTIE5VTEwgQU5EIHByb2R1
Y3QgPSA/IEFORCBjb250ZXh0ID0gPycsCisJCQlhcnJheSgkdXNlcklkLCAkcHJvZHVjdE5hbWUs
ICRjb250ZXh0SWQpCisJCSk7CisKKwkJJHJldHVybmVyID0gJHJlc3VsdC0+ZmllbGRzWzBdOwor
CisJCSRyZXN1bHQtPkNsb3NlKCk7CisJCXVuc2V0KCRyZXN1bHQpOworCisJCXJldHVybiAkcmV0
dXJuZXI7CisJfQorCQorCS8qKgorCSAqIEdldCB0aGUgbnVtYmVyIG9mIHJlYWQgbWVzc2FnZXMg
Zm9yIGEgdXNlcgorCSAqIEBwYXJhbSAkdXNlcklkIGludAorCSAqIEByZXR1cm4gaW50CisJICov
CisJZnVuY3Rpb24gZ2V0UmVhZE5vdGlmaWNhdGlvbkNvdW50KCR1c2VySWQpIHsKKwkJJGFwcGxp
Y2F0aW9uID0mIFBLUEFwcGxpY2F0aW9uOjpnZXRBcHBsaWNhdGlvbigpOworCQkkcHJvZHVjdE5h
bWUgPSAkYXBwbGljYXRpb24tPmdldE5hbWUoKTsKKwkJJGNvbnRleHQgPSYgUmVxdWVzdDo6Z2V0
Q29udGV4dCgpOworCQkkY29udGV4dElkID0gJGNvbnRleHQtPmdldElkKCk7CisJCQorCQkkcmVz
dWx0ID0gJiR0aGlzLT5yZXRyaWV2ZSgKKwkJCSdTRUxFQ1QgY291bnQoKikgRlJPTSBub3RpZmlj
YXRpb25zIFdIRVJFIHVzZXJfaWQgPSA/IEFORCBkYXRlX3JlYWQgSVMgTk9UIE5VTEwgQU5EIHBy
b2R1Y3QgPSA/IEFORCBjb250ZXh0ID0gPycsCisJCQlhcnJheSgkdXNlcklkLCAkcHJvZHVjdE5h
bWUsICRjb250ZXh0SWQpCisJCSk7CisKKwkJJHJldHVybmVyID0gJHJlc3VsdC0+ZmllbGRzWzBd
OworCisJCSRyZXN1bHQtPkNsb3NlKCk7CisJCXVuc2V0KCRyZXN1bHQpOworCisJCXJldHVybiAk
cmV0dXJuZXI7CisJfQorCisJLyoqCisJICogU2VuZCBhbiBlbWFpbCB0byBhIHVzZXIgcmVnYXJk
aW5nIHRoZSBub3RpZmljYXRpb24KKwkgKiBAcGFyYW0gJG5vdGlmaWNhdGlvbiBvYmplY3QgTm90
aWZpY2F0aW9uCisJICovCisJZnVuY3Rpb24gc2VuZE5vdGlmaWNhdGlvbkVtYWlsKCRub3RpZmlj
YXRpb24pIHsKKwkJJHVzZXJJZCA9ICRub3RpZmljYXRpb24tPmdldFVzZXJJZCgpOworCQkkdXNl
ckRhbyA9ICZEQU9SZWdpc3RyeTo6Z2V0REFPKCdVc2VyREFPJyk7CisJCSR1c2VyID0gJHVzZXJE
YW8tPmdldFVzZXIoJHVzZXJJZCk7CisJCQorCQlpZiAoJG5vdGlmaWNhdGlvbi0+Z2V0SXNMb2Nh
bGl6ZWQoKSkgeworCQkJJHBhcmFtcyA9IGFycmF5KCdwYXJhbScgPT4gJG5vdGlmaWNhdGlvbi0+
Z2V0UGFyYW0oKSk7CisJCQkkbm90aWZpY2F0aW9uQ29udGVudHMgPSBMb2NhbGU6OnRyYW5zbGF0
ZSgkbm90aWZpY2F0aW9uLT5nZXRDb250ZW50cygpLCAkcGFyYW1zKTsKKwkJfSBlbHNlIHsKKwkJ
CSRub3RpZmljYXRpb25Db250ZW50cyA9ICRub3RpZmljYXRpb24tPmdldENvbnRlbnRzKCk7CisJ
CX0KKwkJCisJCWltcG9ydCgnbWFpbC5NYWlsVGVtcGxhdGUnKTsKKwkJJHNpdGUgPSAmUmVxdWVz
dDo6Z2V0U2l0ZSgpOworCQkkbWFpbCA9IG5ldyBNYWlsVGVtcGxhdGUoJ05PVElGSUNBVElPTicp
OworCQkkbWFpbC0+c2V0RnJvbSgkc2l0ZS0+Z2V0U2l0ZUNvbnRhY3RFbWFpbCgpLCAkc2l0ZS0+
Z2V0U2l0ZUNvbnRhY3ROYW1lKCkpOworCQkkbWFpbC0+YXNzaWduUGFyYW1zKGFycmF5KAorCQkJ
J25vdGlmaWNhdGlvbkNvbnRlbnRzJyA9PiAkbm90aWZpY2F0aW9uQ29udGVudHMsCisJCQkndXJs
JyA9PiAkbm90aWZpY2F0aW9uLT5nZXRMb2NhdGlvbigpLAorCQkJJ3NpdGVUaXRsZScgPT4gJHNp
dGUtPmdldFNpdGVUaXRsZSgpCisJCSkpOworCQkkbWFpbC0+YWRkUmVjaXBpZW50KCR1c2VyLT5n
ZXRFbWFpbCgpLCAkdXNlci0+Z2V0RnVsbE5hbWUoKSk7CisJCSRtYWlsLT5zZW5kKCk7CisJfQkK
KwkKKwkvKioKKwkgKiBTZW5kIGFuIHVwZGF0ZSB0byBhbGwgdXNlcnMgb24gdGhlIG1haWxpbmcg
bGlzdAorCSAqIEBwYXJhbSAkbm90aWZpY2F0aW9uIG9iamVjdCBOb3RpZmljYXRpb24KKwkgKi8K
KwlmdW5jdGlvbiBzZW5kVG9NYWlsaW5nTGlzdCgkbm90aWZpY2F0aW9uKSB7CisJCSRub3RpZmlj
YXRpb25TZXR0aW5nc0RhbyA9ICZEQU9SZWdpc3RyeTo6Z2V0REFPKCdOb3RpZmljYXRpb25TZXR0
aW5nc0RBTycpOworCQkkZ3Vlc3RMaXN0ID0gJG5vdGlmaWNhdGlvblNldHRpbmdzRGFvLT5nZXRH
dWVzdExpc3QoKTsKKwkJCisJCWZvcmVhY2ggKCRndWVzdExpc3QgYXMgJGVtYWlsKSB7CisJCQlp
ZiAoJG5vdGlmaWNhdGlvbi0+Z2V0SXNMb2NhbGl6ZWQoKSkgeworCQkJCSRwYXJhbXMgPSBhcnJh
eSgncGFyYW0nID0+ICRub3RpZmljYXRpb24tPmdldFBhcmFtKCkpOworCQkJCSRub3RpZmljYXRp
b25Db250ZW50cyA9IExvY2FsZTo6dHJhbnNsYXRlKCRub3RpZmljYXRpb24tPmdldENvbnRlbnRz
KCksICRwYXJhbXMpOworCQkJfSBlbHNlIHsKKwkJCQkkbm90aWZpY2F0aW9uQ29udGVudHMgPSAk
bm90aWZpY2F0aW9uLT5nZXRDb250ZW50cygpOworCQkJfQorCQkJCisJCQlpbXBvcnQoJ21haWwu
TWFpbFRlbXBsYXRlJyk7CisJCQkkam91cm5hbCA9IFJlcXVlc3Q6OmdldEpvdXJuYWwoKTsKKwkJ
CSRzaXRlID0gJlJlcXVlc3Q6OmdldFNpdGUoKTsKKwkJCQorCQkJJG1haWwgPSBuZXcgTWFpbFRl
bXBsYXRlKCdOT1RJRklDQVRJT05fTUFJTExJU1QnKTsKKwkJCSRtYWlsLT5zZXRGcm9tKCRzaXRl
LT5nZXRTaXRlQ29udGFjdEVtYWlsKCksICRzaXRlLT5nZXRTaXRlQ29udGFjdE5hbWUoKSk7CisJ
CQkkbWFpbC0+YXNzaWduUGFyYW1zKGFycmF5KAorCQkJCSdub3RpZmljYXRpb25Db250ZW50cycg
PT4gJG5vdGlmaWNhdGlvbkNvbnRlbnRzLAorCQkJCSd1cmwnID0+ICRub3RpZmljYXRpb24tPmdl
dExvY2F0aW9uKCksCisJCQkJJ3NpdGVUaXRsZScgPT4gJGpvdXJuYWwtPmdldEpvdXJuYWxUaXRs
ZSgpLAorCQkJCSd1bnN1YnNjcmliZUxpbmsnID0+IFJlcXVlc3Q6OnVybChudWxsLCAnbm90aWZp
Y2F0aW9uJywgJ3Vuc3Vic2NyaWJlTWFpbExpc3QnKQorCQkJKSk7CisJCQkkbWFpbC0+YWRkUmVj
aXBpZW50KCRlbWFpbCk7CisJCQkkbWFpbC0+c2VuZCgpOworCQl9CisJCQorCQkKKwl9CQorfQor
Cis/PgpJbmRleDogY2xhc3Nlcy9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9uU2V0dGluZ3NEQU8u
aW5jLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiBjbGFzc2VzL25vdGlmaWNhdGlvbi9Ob3RpZmlj
YXRpb25TZXR0aW5nc0RBTy5pbmMucGhwCmRpZmYgLU4gY2xhc3Nlcy9ub3RpZmljYXRpb24vTm90
aWZpY2F0aW9uU2V0dGluZ3NEQU8uaW5jLnBocAotLS0gL2Rldi9udWxsCTEgSmFuIDE5NzAgMDA6
MDA6MDAgLTAwMDAKKysrIGNsYXNzZXMvbm90aWZpY2F0aW9uL05vdGlmaWNhdGlvblNldHRpbmdz
REFPLmluYy5waHAJMjEgSmFuIDIwMDkgMTg6Mjc6NDEgLTAwMDAKQEAgLTAsMCArMSw0MzEgQEAK
Kzw/cGhwCisKKy8qKgorICogQGZpbGUgY2xhc3Nlcy9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9u
U2V0dGluZ3NEQU9EQU8uaW5jLnBocAorICoKKyAqIENvcHlyaWdodCAoYykgMjAwMy0yMDA4IEpv
aG4gV2lsbGluc2t5CisgKiBEaXN0cmlidXRlZCB1bmRlciB0aGUgR05VIEdQTCB2Mi4gRm9yIGZ1
bGwgdGVybXMgc2VlIHRoZSBmaWxlIGRvY3MvQ09QWUlORy4KKyAqCisgKiBAY2xhc3MgTm90aWZp
Y2F0aW9uU2V0dGluZ3NEQU8KKyAqIEBpbmdyb3VwIG5vdGlmaWNhdGlvbgorICogQHNlZSBOb3Rp
ZmljYXRpb24KKyAqCisgKiBAYnJpZWYgT3BlcmF0aW9ucyBmb3IgcmV0cmlldmluZyBhbmQgbW9k
aWZ5aW5nIHVzZXIncyBub3RpZmljYXRpb24gc2V0dGluZ3MuCisgKi8KKworLy8gJElkOiBOb3Rp
ZmljYXRpb25TZXR0aW5nc0RBTy5pbmMucGhwLHYgMS4xOSAyMDA4LzExLzA1IDAwOjQ2OjM5IG1j
cmlkZXIgRXhwICQKKworY2xhc3MgTm90aWZpY2F0aW9uU2V0dGluZ3NEQU8gZXh0ZW5kcyBEQU8g
eworCS8qKgorCSAqIENvbnN0cnVjdG9yLgorCSAqLworCWZ1bmN0aW9uIE5vdGlmaWNhdGlvblNl
dHRpbmdzREFPKCkgeworCQlwYXJlbnQ6OkRBTygpOworCX0KKwkKKwkvKioKKwkgKiBSZXRyaWV2
ZSBOb3RpZmljYXRpb25zIHNldHRpbmdzIGJ5IHVzZXIgaWQKKwkgKiBSZXR1cm5zIGFuIGFycmF5
IG9mIG5vdGlmaWNhdGlvbiB0eXBlcyB0aGF0IHRoZSB1c2VyCisJICogZG9lcyBOT1Qgd2FudCB0
byBiZSBub3RpZmllZCBvZgorCSAqIEBwYXJhbSAkdXNlcklkIGludAorCSAqIEByZXR1cm4gYXJy
YXkKKwkgKi8KKwlmdW5jdGlvbiAmZ2V0Tm90aWZpY2F0aW9uU2V0dGluZ3MoJHVzZXJJZCkgewor
CQkkYXBwbGljYXRpb24gPSYgUEtQQXBwbGljYXRpb246OmdldEFwcGxpY2F0aW9uKCk7CisJCSRw
cm9kdWN0TmFtZSA9ICRhcHBsaWNhdGlvbi0+Z2V0TmFtZSgpOworCQkkY29udGV4dCA9JiBSZXF1
ZXN0OjpnZXRDb250ZXh0KCk7CisJCSRjb250ZXh0SWQgPSAkY29udGV4dC0+Z2V0SWQoKTsKKwkJ
CisJCSRub3RpZmljYXRpb25TZXR0aW5ncyA9IGFycmF5KCk7CisJCisJCSRyZXN1bHQgPSAmJHRo
aXMtPnJldHJpZXZlKAorCQkJJ1NFTEVDVCBzZXR0aW5nX3ZhbHVlIEZST00gbm90aWZpY2F0aW9u
X3NldHRpbmdzIFdIRVJFIHVzZXJfaWQgPSA/IEFORCBwcm9kdWN0ID0gPyBBTkQgc2V0dGluZ19u
YW1lID0gPyBBTkQgY29udGV4dCA9ID8nLAorCQkJCWFycmF5KCR1c2VySWQsICRwcm9kdWN0TmFt
ZSwgJ25vdGlmeScsICRjb250ZXh0SWQpCisJCSk7CisJCisJCXdoaWxlICghJHJlc3VsdC0+RU9G
KSB7CisJCQkkcm93ID0gJHJlc3VsdC0+R2V0Um93QXNzb2MoZmFsc2UpOworCQkJJG5vdGlmaWNh
dGlvblNldHRpbmdzW10gPSAoaW50KSAkcm93WydzZXR0aW5nX3ZhbHVlJ107CisJCQkkcmVzdWx0
LT5tb3ZlTmV4dCgpOworCQl9CisKKwkJJHJlc3VsdC0+Q2xvc2UoKTsKKwkJdW5zZXQoJHJlc3Vs
dCk7CisJCQorCQlyZXR1cm4gJG5vdGlmaWNhdGlvblNldHRpbmdzOworCX0KKwkKKwkvKioKKwkg
KiBSZXRyaWV2ZSBOb3RpZmljYXRpb25zIGVtYWlsIHNldHRpbmdzIGJ5IHVzZXIgaWQKKwkgKiBS
ZXR1cm5zIGFuIGFycmF5IG9mIG5vdGlmaWNhdGlvbiB0eXBlcyB0aGF0IHRoZSB1c2VyCisJICog
RE9FUyB3YW50IHRvIGJlIGVtYWlsZWQgYWJvdXQKKwkgKiBAcGFyYW0gJHVzZXJJZCBpbnQKKwkg
KiBAcmV0dXJuIGFycmF5CisJICovCisJZnVuY3Rpb24gJmdldE5vdGlmaWNhdGlvbkVtYWlsU2V0
dGluZ3MoJHVzZXJJZCkgeworCQkkYXBwbGljYXRpb24gPSYgUEtQQXBwbGljYXRpb246OmdldEFw
cGxpY2F0aW9uKCk7CisJCSRwcm9kdWN0TmFtZSA9ICRhcHBsaWNhdGlvbi0+Z2V0TmFtZSgpOwor
CQkkY29udGV4dCA9JiBSZXF1ZXN0OjpnZXRDb250ZXh0KCk7CisJCSRjb250ZXh0SWQgPSAkY29u
dGV4dC0+Z2V0SWQoKTsKKwkJCisJCSRlbWFpbFNldHRpbmdzID0gYXJyYXkoKTsKKwkKKwkJJHJl
c3VsdCA9ICYkdGhpcy0+cmV0cmlldmUoCisJCQknU0VMRUNUIHNldHRpbmdfdmFsdWUgRlJPTSBu
b3RpZmljYXRpb25fc2V0dGluZ3MgV0hFUkUgdXNlcl9pZCA9ID8gQU5EIHByb2R1Y3QgPSA/IEFO
RCBzZXR0aW5nX25hbWUgPSA/IEFORCBjb250ZXh0ID0gPycsCisJCQkJYXJyYXkoJHVzZXJJZCwg
JHByb2R1Y3ROYW1lLCAnZW1haWwnLCAkY29udGV4dElkKQorCQkpOworCQorCQl3aGlsZSAoISRy
ZXN1bHQtPkVPRikgeworCQkJJHJvdyA9ICRyZXN1bHQtPkdldFJvd0Fzc29jKGZhbHNlKTsKKwkJ
CSRlbWFpbFNldHRpbmdzW10gPSAoaW50KSAkcm93WydzZXR0aW5nX3ZhbHVlJ107CisJCQkkcmVz
dWx0LT5tb3ZlTmV4dCgpOworCQl9CisKKwkJJHJlc3VsdC0+Q2xvc2UoKTsKKwkJdW5zZXQoJHJl
c3VsdCk7CisJCQorCQlyZXR1cm4gJGVtYWlsU2V0dGluZ3M7CisJfQorCQorCS8qKgorCSAqIFVw
ZGF0ZSBhIHVzZXIncyBub3RpZmljYXRpb24gc2V0dGluZ3MKKwkgKiBAcGFyYW0gJG5vdGlmaWNh
dGlvblNldHRpbmdzIGFycmF5CisJICogQHBhcmFtICR1c2VySWQgaW50CisJICovCisJZnVuY3Rp
b24gdXBkYXRlTm90aWZpY2F0aW9uU2V0dGluZ3MoJG5vdGlmaWNhdGlvblNldHRpbmdzLCAkdXNl
cklkKSB7CisJCSRhcHBsaWNhdGlvbiA9JiBQS1BBcHBsaWNhdGlvbjo6Z2V0QXBwbGljYXRpb24o
KTsKKwkJJHByb2R1Y3ROYW1lID0gJGFwcGxpY2F0aW9uLT5nZXROYW1lKCk7CisJCSRjb250ZXh0
ID0mIFJlcXVlc3Q6OmdldENvbnRleHQoKTsKKwkJJGNvbnRleHRJZCA9ICRjb250ZXh0LT5nZXRJ
ZCgpOwkJCisJCQorCQkvLyBEZWxldGUgb2xkIHNldHRpbmdzIGZpcnN0LCB0aGVuIGluc2VydCBu
ZXcgc2V0dGluZ3MKKwkJJHRoaXMtPnVwZGF0ZSgnREVMRVRFIEZST00gbm90aWZpY2F0aW9uX3Nl
dHRpbmdzIFdIRVJFIHVzZXJfaWQgPSA/IEFORCBwcm9kdWN0ID0gPyBBTkQgc2V0dGluZ19uYW1l
ID0gPyBBTkQgY29udGV4dCA9ID8nLAorCQkJYXJyYXkoJHVzZXJJZCwgJHByb2R1Y3ROYW1lLCAn
bm90aWZ5JywgJGNvbnRleHRJZCkpOworCQorCQlmb3IgKCRpPTA7ICRpPGNvdW50KCRub3RpZmlj
YXRpb25TZXR0aW5ncyk7ICRpKyspIHsKKwkJCSR0aGlzLT51cGRhdGUoCisJCQkJJ0lOU0VSVCBJ
TlRPIG5vdGlmaWNhdGlvbl9zZXR0aW5ncworCQkJCQkoc2V0dGluZ19uYW1lLCBzZXR0aW5nX3Zh
bHVlLCB1c2VyX2lkLCBwcm9kdWN0LCBjb250ZXh0KQorCQkJCQlWQUxVRVMKKwkJCQkJKD8sID8s
ID8sID8sID8pJywKKwkJCQlhcnJheSgKKwkJCQkJIm5vdGlmeSIsCisJCQkJCSRub3RpZmljYXRp
b25TZXR0aW5nc1skaV0sCisJCQkJCSR1c2VySWQsCisJCQkJCSRwcm9kdWN0TmFtZSwKKwkJCQkJ
JGNvbnRleHRJZAorCQkJCSkKKwkJCSk7CisJCX0KKwl9CisJCisJLyoqCisJICogVXBkYXRlIGEg
dXNlcidzIG5vdGlmaWNhdGlvbiBlbWFpbCBzZXR0aW5ncworCSAqIEBwYXJhbSAkbm90aWZpY2F0
aW9uRW1haWxTZXR0aW5ncyBhcnJheQorCSAqIEBwYXJhbSAkdXNlcklkIGludAorCSAqLworCWZ1
bmN0aW9uIHVwZGF0ZU5vdGlmaWNhdGlvbkVtYWlsU2V0dGluZ3MoJGVtYWlsU2V0dGluZ3MsICR1
c2VySWQpIHsKKwkJJGFwcGxpY2F0aW9uID0mIFBLUEFwcGxpY2F0aW9uOjpnZXRBcHBsaWNhdGlv
bigpOworCQkkcHJvZHVjdE5hbWUgPSAkYXBwbGljYXRpb24tPmdldE5hbWUoKTsKKwkJJGNvbnRl
eHQgPSYgUmVxdWVzdDo6Z2V0Q29udGV4dCgpOworCQkkY29udGV4dElkID0gJGNvbnRleHQtPmdl
dElkKCk7CisJCQorCQkvLyBEZWxldGUgb2xkIHNldHRpbmdzIGZpcnN0LCB0aGVuIGluc2VydCBu
ZXcgc2V0dGluZ3MKKwkJJHRoaXMtPnVwZGF0ZSgnREVMRVRFIEZST00gbm90aWZpY2F0aW9uX3Nl
dHRpbmdzIFdIRVJFIHVzZXJfaWQgPSA/IEFORCBwcm9kdWN0ID0gPyBBTkQgc2V0dGluZ19uYW1l
ID0gPyBBTkQgY29udGV4dCA9ID8nLAorCQkJYXJyYXkoJHVzZXJJZCwgJHByb2R1Y3ROYW1lLCAn
ZW1haWwnLCAkY29udGV4dElkKSk7CisJCisJCWZvciAoJGk9MDsgJGk8Y291bnQoJGVtYWlsU2V0
dGluZ3MpOyAkaSsrKSB7CisJCQkkdGhpcy0+dXBkYXRlKAorCQkJCSdJTlNFUlQgSU5UTyBub3Rp
ZmljYXRpb25fc2V0dGluZ3MKKwkJCQkJKHNldHRpbmdfbmFtZSwgc2V0dGluZ192YWx1ZSwgdXNl
cl9pZCwgcHJvZHVjdCwgY29udGV4dCkKKwkJCQkJVkFMVUVTCisJCQkJCSg/LCA/LCA/LCA/LCA/
KScsCisJCQkJYXJyYXkoCisJCQkJCSJlbWFpbCIsCisJCQkJCSRlbWFpbFNldHRpbmdzWyRpXSwK
KwkJCQkJJHVzZXJJZCwKKwkJCQkJJHByb2R1Y3ROYW1lLAorCQkJCQkkY29udGV4dElkCisJCQkJ
KQorCQkJKTsKKwkJfQorCX0KKwkKKwkvKioKKwkgKiBHZXRzIGEgdXNlciBpZCBieSBhbiBSU1Mg
dG9rZW4gdmFsdWUKKwkgKiBAcGFyYW0gJHRva2VuIGludAorCSAqIEByZXR1cm4gaW50CisJICov
CisJZnVuY3Rpb24gZ2V0VXNlcklkQnlSU1NUb2tlbigkdG9rZW4pIHsKKwkJJGFwcGxpY2F0aW9u
ID0mIFBLUEFwcGxpY2F0aW9uOjpnZXRBcHBsaWNhdGlvbigpOworCQkkcHJvZHVjdE5hbWUgPSAk
YXBwbGljYXRpb24tPmdldE5hbWUoKTsKKwkJJGNvbnRleHQgPSYgUmVxdWVzdDo6Z2V0Q29udGV4
dCgpOworCQkkY29udGV4dElkID0gJGNvbnRleHQtPmdldElkKCk7CisJCisJCSRyZXN1bHQgPSAm
JHRoaXMtPnJldHJpZXZlKAorCQkJJ1NFTEVDVCB1c2VyX2lkIEZST00gbm90aWZpY2F0aW9uX3Nl
dHRpbmdzIFdIRVJFIHNldHRpbmdfdmFsdWUgPSA/IEFORCBzZXR0aW5nX25hbWUgPSA/IEFORCBw
cm9kdWN0ID0gPyBBTkQgY29udGV4dCA9ID8nLAorCQkJCWFycmF5KCR0b2tlbiwgJ3Rva2VuJywg
JHByb2R1Y3ROYW1lLCAkY29udGV4dElkKQorCQkpOworCisJCSRyb3cgPSAkcmVzdWx0LT5HZXRS
b3dBc3NvYyhmYWxzZSk7CisJCSR1c2VySWQgPSAkcm93Wyd1c2VyX2lkJ107CisKKwkJJHJlc3Vs
dC0+Q2xvc2UoKTsKKwkJdW5zZXQoJHJlc3VsdCk7CisJCQorCQlyZXR1cm4gJHVzZXJJZDsKKwl9
CisKKwkvKioKKwkgKiBHZXRzIGFuIFJTUyB0b2tlbiBmb3IgYSB1c2VyIGlkCisJICogQHBhcmFt
ICR1c2VySWQgaW50CisJICogQHJldHVybiBpbnQKKwkgKi8KKwlmdW5jdGlvbiBnZXRSU1NUb2tl
bkJ5VXNlcklkKCR1c2VySWQpIHsKKwkJJGFwcGxpY2F0aW9uID0mIFBLUEFwcGxpY2F0aW9uOjpn
ZXRBcHBsaWNhdGlvbigpOworCQkkcHJvZHVjdE5hbWUgPSAkYXBwbGljYXRpb24tPmdldE5hbWUo
KTsKKwkJJGNvbnRleHQgPSYgUmVxdWVzdDo6Z2V0Q29udGV4dCgpOworCQkkY29udGV4dElkID0g
JGNvbnRleHQtPmdldElkKCk7CisJCisJCSRyZXN1bHQgPSAmJHRoaXMtPnJldHJpZXZlKAorCQkJ
J1NFTEVDVCBzZXR0aW5nX3ZhbHVlIEZST00gbm90aWZpY2F0aW9uX3NldHRpbmdzIFdIRVJFIHVz
ZXJfaWQgPSA/IEFORCBzZXR0aW5nX25hbWUgPSA/IEFORCBwcm9kdWN0ID0gPyBBTkQgY29udGV4
dCA9ID8nLAorCQkJCWFycmF5KCR1c2VySWQsICd0b2tlbicsICRwcm9kdWN0TmFtZSwgJGNvbnRl
eHRJZCkKKwkJKTsKKworCQkkcm93ID0gJHJlc3VsdC0+R2V0Um93QXNzb2MoZmFsc2UpOworCQkk
dXNlcklkID0gJHJvd1snc2V0dGluZ192YWx1ZSddOworCisJCSRyZXN1bHQtPkNsb3NlKCk7CisJ
CXVuc2V0KCRyZXN1bHQpOworCQkKKwkJcmV0dXJuICR1c2VySWQ7CisJfQorCisJLyoqCisJICog
R2VuZXJhdGVzIGFuZCBpbnNlcnRzIGEgbmV3IHRva2VuIGZvciBhIHVzZXIncyBSU1MgZmVlZAor
CSAqIEBwYXJhbSAkdXNlcklkIGludAorCSAqIEByZXR1cm4gaW50CisJICovCisJZnVuY3Rpb24g
aW5zZXJ0TmV3UlNTVG9rZW4oJHVzZXJJZCkgeworCQkkYXBwbGljYXRpb24gPSYgUEtQQXBwbGlj
YXRpb246OmdldEFwcGxpY2F0aW9uKCk7CisJCSRwcm9kdWN0TmFtZSA9ICRhcHBsaWNhdGlvbi0+
Z2V0TmFtZSgpOworCQkkY29udGV4dCA9JiBSZXF1ZXN0OjpnZXRDb250ZXh0KCk7CisJCSRjb250
ZXh0SWQgPSAkY29udGV4dC0+Z2V0SWQoKTsKKwkJCisJCSR0b2tlbiA9IHVuaXFpZChyYW5kKCkp
OworCQorCQkkdGhpcy0+dXBkYXRlKAorCQkJJ0lOU0VSVCBJTlRPIG5vdGlmaWNhdGlvbl9zZXR0
aW5ncworCQkJCShzZXR0aW5nX25hbWUsIHNldHRpbmdfdmFsdWUsIHVzZXJfaWQsIHByb2R1Y3Qs
IGNvbnRleHQpCisJCQkJVkFMVUVTCisJCQkJKD8sID8sID8sID8sID8pJywKKwkJCWFycmF5KAor
CQkJCSd0b2tlbicsCisJCQkJJHRva2VuLAorCQkJCSR1c2VySWQsCisJCQkJJHByb2R1Y3ROYW1l
LAorCQkJCSRjb250ZXh0SWQKKwkJCSkKKwkJKTsKKworCQlyZXR1cm4gJHRva2VuOworCX0KKwkK
KwkvKioKKwkgKiBHZW5lcmF0ZXMgYW4gYWNjZXNzIGtleSBmb3IgdGhlIGd1ZXN0IHVzZXIgYW5k
IGFkZHMgdGhlbSB0byB0aGUgc2V0dGluZ3MgdGFibGUKKwkgKiBAcGFyYW0gJHVzZXJJZCBpbnQK
KwkgKiBAcmV0dXJuIGludAorCSAqLworCWZ1bmN0aW9uIHN1YnNjcmliZUd1ZXN0KCRlbWFpbCkg
eworCQkkYXBwbGljYXRpb24gPSYgUEtQQXBwbGljYXRpb246OmdldEFwcGxpY2F0aW9uKCk7CisJ
CSRwcm9kdWN0TmFtZSA9ICRhcHBsaWNhdGlvbi0+Z2V0TmFtZSgpOworCQkkY29udGV4dCA9JiBS
ZXF1ZXN0OjpnZXRDb250ZXh0KCk7CisJCSRjb250ZXh0SWQgPSAkY29udGV4dC0+Z2V0SWQoKTsK
KwkJCisJCQorCQkvLyBDaGVjayB0aGF0IHRoZSBlbWFpbCBkb2Vzbid0IGFscmVhZHkgZXhpc3QK
KwkJJHJlc3VsdCA9ICYkdGhpcy0+cmV0cmlldmUoCisJCQknU0VMRUNUICogRlJPTSBub3RpZmlj
YXRpb25fc2V0dGluZ3MgV0hFUkUgc2V0dGluZ19uYW1lID0gPyBBTkQgc2V0dGluZ192YWx1ZSA9
ID8gQU5EIHByb2R1Y3QgPSA/IEFORCBjb250ZXh0ID0gPycsCisJCQlhcnJheSgKKwkJCQknZ3Vl
c3RMaXN0JywKKwkJCQkkZW1haWwsCisJCQkJJHByb2R1Y3ROYW1lLAorCQkJCSRjb250ZXh0SWQK
KwkJCSkKKwkJKTsKKwkJCisJCWlmICgkcmVzdWx0LT5SZWNvcmRDb3VudCgpICE9IDApIHsKKwkJ
CXJldHVybiBmYWxzZTsKKwkJfSBlbHNlIHsJCQorCQkJJHRoaXMtPnVwZGF0ZSgKKwkJCQknSU5T
RVJUIElOVE8gbm90aWZpY2F0aW9uX3NldHRpbmdzCisJCQkJCShzZXR0aW5nX25hbWUsIHNldHRp
bmdfdmFsdWUsIHVzZXJfaWQsIHByb2R1Y3QsIGNvbnRleHQpCisJCQkJCVZBTFVFUworCQkJCQko
PywgPywgPywgPywgPyknLAorCQkJCWFycmF5KAorCQkJCQknZ3Vlc3RMaXN0JywKKwkJCQkJJGVt
YWlsLAorCQkJCQkwLAorCQkJCQkkcHJvZHVjdE5hbWUsCisJCQkJCSRjb250ZXh0SWQKKwkJCQkp
CisJCQkpOworCQl9CQorCQkKKwkJLy8gR2V0IGFzc29jX2lkIGludG8gbm90aWZpY2F0aW9uX3Nl
dHRpbmdzIHRhYmxlLCBhbHNvIHVzZWQgYXMgdXNlcl9pZCBmb3IgYWNjZXNzIGtleQorCQkkYXNz
b2NJZCA9ICR0aGlzLT5nZXRJbnNlcnROb3RpZmljYXRpb25TZXR0aW5nSWQoKTsKKworCQlpbXBv
cnQoJ3NlY3VyaXR5LkFjY2Vzc0tleU1hbmFnZXInKTsKKwkJJGFjY2Vzc0tleU1hbmFnZXIgPSBu
ZXcgQWNjZXNzS2V5TWFuYWdlcigpOworCQkKKwkJJHBhc3N3b3JkID0gJGFjY2Vzc0tleU1hbmFn
ZXItPmNyZWF0ZUtleSgnTWFpbExpc3RDb250ZXh0JywgJGFzc29jSWQsICRhc3NvY0lkLCAxMDAw
MCk7CisJCXJldHVybiAkcGFzc3dvcmQ7CisJfQorCQorCQorCQorCS8qKgorCSAqIFJlbW92ZXMg
YW4gZW1haWwgYWRkcmVzcyBhbmQgYXNzb2NpYXRlZCBhY2Nlc3Mga2V5IGZyb20gZW1haWwgbm90
aWZpY2F0aW9ucworCSAqIEBwYXJhbSAkZW1haWwgc3RyaW5nCisJICogQHBhcmFtICRwYXNzd29y
ZCBzdHJpbmcKKwkgKiBAcmV0dXJuIGJvb2xlYW4KKwkgKi8KKwlmdW5jdGlvbiB1bnN1YnNjcmli
ZUd1ZXN0KCRlbWFpbCwgJHBhc3N3b3JkKSB7CisJCSRhcHBsaWNhdGlvbiA9JiBQS1BBcHBsaWNh
dGlvbjo6Z2V0QXBwbGljYXRpb24oKTsKKwkJJHByb2R1Y3ROYW1lID0gJGFwcGxpY2F0aW9uLT5n
ZXROYW1lKCk7CisJCSRjb250ZXh0ID0mIFJlcXVlc3Q6OmdldENvbnRleHQoKTsKKwkJJGNvbnRl
eHRJZCA9ICRjb250ZXh0LT5nZXRJZCgpOworCQkKKwkJJHJlc3VsdCA9ICYkdGhpcy0+cmV0cmll
dmUoCisJCQknU0VMRUNUIHNldHRpbmdfaWQgRlJPTSBub3RpZmljYXRpb25fc2V0dGluZ3MgV0hF
UkUgc2V0dGluZ19uYW1lID0gPyBBTkQgcHJvZHVjdCA9ID8gQU5EIGNvbnRleHQgPSA/JywKKwkJ
CWFycmF5KAorCQkJCSdndWVzdExpc3QnLAorCQkJCSRwcm9kdWN0TmFtZSwKKwkJCQkkY29udGV4
dElkCisJCQkpCisJCSk7CisKKwkJJHJvdyA9ICRyZXN1bHQtPkdldFJvd0Fzc29jKGZhbHNlKTsK
KwkJJHVzZXJJZCA9ICRyb3dbJ3NldHRpbmdfaWQnXTsKKworCQkkcmVzdWx0LT5DbG9zZSgpOwor
CQl1bnNldCgkcmVzdWx0KTsKKworCQlpbXBvcnQoJ3NlY3VyaXR5LkFjY2Vzc0tleU1hbmFnZXIn
KTsKKwkJJGFjY2Vzc0tleU1hbmFnZXIgPSBuZXcgQWNjZXNzS2V5TWFuYWdlcigpOworCQkkYWNj
ZXNzS2V5SGFzaCA9IEFjY2Vzc0tleU1hbmFnZXI6OmdlbmVyYXRlS2V5SGFzaCgkcGFzc3dvcmQp
OworCQkkYWNjZXNzS2V5ID0gJGFjY2Vzc0tleU1hbmFnZXItPnZhbGlkYXRlS2V5KCdNYWlsTGlz
dENvbnRleHQnLCAkdXNlcklkLCAkYWNjZXNzS2V5SGFzaCk7CisKKwkJaWYgKCRhY2Nlc3NLZXkp
IHsKKwkJCSR0aGlzLT51cGRhdGUoCisJCQkJJ0RFTEVURSBGUk9NIG5vdGlmaWNhdGlvbl9zZXR0
aW5ncyBXSEVSRSBzZXR0aW5nX25hbWUgPSA/IEFORCBzZXR0aW5nX3ZhbHVlID0gPyBBTkQgcHJv
ZHVjdCA9ID8gQU5EIGNvbnRleHQgPSA/JywKKwkJCQlhcnJheSgKKwkJCQkJJ2d1ZXN0TGlzdCcs
CisJCQkJCSRlbWFpbCwKKwkJCQkJJHByb2R1Y3ROYW1lLAorCQkJCQkkY29udGV4dElkCisJCQkJ
KQorCQkJKTsKKwkJCSRhY2Nlc3NLZXlEYW8gPSYgREFPUmVnaXN0cnk6OmdldERBTygnQWNjZXNz
S2V5REFPJyk7CisJCQkkYWNjZXNzS2V5RGFvLT5kZWxldGVBY2Nlc3NLZXkoJGFjY2Vzc0tleSk7
CisJCQlyZXR1cm4gdHJ1ZTsKKwkJfSBlbHNlIHJldHVybiBmYWxzZTsKKwkJCisJCQorCX0KKwor
CS8qKgorCSAqIEdldHMgYSBsaXN0IG9mIGVtYWlsIGFkZHJlc3NlcyBvZiB1c2VycyBzdWJzY3Jp
YmVkIHRvIHRoZSBtYWlsaW5nIGxpc3QKKwkgKiBAcmV0dXJuIGFycmF5CisJICovCisJZnVuY3Rp
b24gZ2V0R3Vlc3RMaXN0KCkgeworCQkkYXBwbGljYXRpb24gPSYgUEtQQXBwbGljYXRpb246Omdl
dEFwcGxpY2F0aW9uKCk7CisJCSRwcm9kdWN0TmFtZSA9ICRhcHBsaWNhdGlvbi0+Z2V0TmFtZSgp
OworCQkkY29udGV4dCA9JiBSZXF1ZXN0OjpnZXRDb250ZXh0KCk7CisJCSRjb250ZXh0SWQgPSAk
Y29udGV4dC0+Z2V0SWQoKTsKKwkJJGd1ZXN0TGlzdCA9IGFycmF5KCk7CisJCQorCQkkcmVzdWx0
ID0gJiR0aGlzLT5yZXRyaWV2ZSgKKwkJCSdTRUxFQ1Qgc2V0dGluZ192YWx1ZSBGUk9NIG5vdGlm
aWNhdGlvbl9zZXR0aW5ncyBXSEVSRSBzZXR0aW5nX25hbWUgPSA/IEFORCBwcm9kdWN0ID0gPyBB
TkQgY29udGV4dCA9ID8nLAorCQkJYXJyYXkoCisJCQkJJ2d1ZXN0TGlzdCcsCisJCQkJJHByb2R1
Y3ROYW1lLAorCQkJCSRjb250ZXh0SWQKKwkJCSkKKwkJKTsKKworCQl3aGlsZSAoISRyZXN1bHQt
PkVPRikgeworCQkJJHJvdyA9ICRyZXN1bHQtPkdldFJvd0Fzc29jKGZhbHNlKTsKKwkJCSRndWVz
dExpc3RbXSA9ICRyb3dbJ3NldHRpbmdfdmFsdWUnXTsKKwkJCSRyZXN1bHQtPm1vdmVOZXh0KCk7
CisJCX0KKworCQkkcmVzdWx0LT5DbG9zZSgpOworCQl1bnNldCgkcmVzdWx0KTsKKwkJCisJCXJl
dHVybiAkZ3Vlc3RMaXN0OworCX0KKworCS8qKgorCSAqIEdlbmVyYXRlcyBhbmQgaW5zZXJ0cyBh
IG5ldyBwYXNzd29yZCBmb3IgYSBtYWlsaW5nIGxpc3QgdXNlcgorCSAqIEBwYXJhbSAkZW1haWwg
c3RyaW5nCisJICogQHJldHVybiBzdHJpbmcKKwkgKi8KKwlmdW5jdGlvbiByZXNldFBhc3N3b3Jk
KCRlbWFpbCkgeworCQkkYXBwbGljYXRpb24gPSYgUEtQQXBwbGljYXRpb246OmdldEFwcGxpY2F0
aW9uKCk7CisJCSRwcm9kdWN0TmFtZSA9ICRhcHBsaWNhdGlvbi0+Z2V0TmFtZSgpOworCQkkY29u
dGV4dCA9JiBSZXF1ZXN0OjpnZXRDb250ZXh0KCk7CisJCSRjb250ZXh0SWQgPSAkY29udGV4dC0+
Z2V0SWQoKTsKKwkJCisJCSRyZXN1bHQgPSAmJHRoaXMtPnJldHJpZXZlKAorCQkJJ1NFTEVDVCBz
ZXR0aW5nX2lkIEZST00gbm90aWZpY2F0aW9uX3NldHRpbmdzIFdIRVJFIHNldHRpbmdfbmFtZSA9
ID8gQU5EIHNldHRpbmdfdmFsdWUgPSA/IEFORCBwcm9kdWN0ID0gPyBBTkQgY29udGV4dCA9ID8n
LAorCQkJYXJyYXkoCisJCQkJJ2d1ZXN0TGlzdCcsCisJCQkJJGVtYWlsLAorCQkJCSRwcm9kdWN0
TmFtZSwKKwkJCQkkY29udGV4dElkCisJCQkpCisJCSk7CisKKwkJJHJvdyA9ICRyZXN1bHQtPkdl
dFJvd0Fzc29jKGZhbHNlKTsKKwkJJHNldHRpbmdJZCA9ICRyb3dbJ3NldHRpbmdfaWQnXTsKKwor
CQkkcmVzdWx0LT5DbG9zZSgpOworCQl1bnNldCgkcmVzdWx0KTsKKworCQkkYWNjZXNzS2V5RGFv
ID0mIERBT1JlZ2lzdHJ5OjpnZXREQU8oJ0FjY2Vzc0tleURBTycpOworCQkkYWNjZXNzS2V5ID0g
JGFjY2Vzc0tleURhby0+Z2V0QWNjZXNzS2V5QnlVc2VySWQoJ01haWxMaXN0Q29udGV4dCcsICRz
ZXR0aW5nSWQpOworCisJCWlmICgkYWNjZXNzS2V5KSB7CisJCQkka2V5ID0gVmFsaWRhdGlvbjo6
Z2VuZXJhdGVQYXNzd29yZCgpOworCQkJJGFjY2Vzc0tleS0+c2V0S2V5SGFzaChtZDUoJGtleSkp
OworCQkJCisJCQkkYWNjZXNzS2V5RGFvID0mIERBT1JlZ2lzdHJ5OjpnZXREQU8oJ0FjY2Vzc0tl
eURBTycpOworCQkJJGFjY2Vzc0tleURhby0+dXBkYXRlQWNjZXNzS2V5KCRhY2Nlc3NLZXkpOwor
CQkJcmV0dXJuICRrZXk7CisJCX0gZWxzZSByZXR1cm4gZmFsc2U7CisJfQorCQorCQorCQorCQor
CQorCQorCQorCQorCQorCQorCQorCQorCisJLyoqCisJICogR2V0IHRoZSBJRCBvZiB0aGUgbGFz
dCBpbnNlcnRlZCBub3RpZmljYXRpb24KKwkgKiBAcmV0dXJuIGludAorCSAqLworCWZ1bmN0aW9u
IGdldEluc2VydE5vdGlmaWNhdGlvblNldHRpbmdJZCgpIHsKKwkJcmV0dXJuICR0aGlzLT5nZXRJ
bnNlcnRJZCgnbm90aWZpY2F0aW9uX3NldHRpbmdzJywgJ3NldHRpbmdfaWQnKTsKKwl9CisKK30K
KworPz4KSW5kZXg6IGNsYXNzZXMvc2VjdXJpdHkvQWNjZXNzS2V5REFPLmluYy5waHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQpSQ1MgZmlsZTogL2N2cy9wa3AvY2xhc3Nlcy9zZWN1cml0eS9BY2Nlc3NLZXlEQU8uaW5j
LnBocCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40CmRpZmYgLXUgLXIxLjQgQWNjZXNzS2V5REFP
LmluYy5waHAKLS0tIGNsYXNzZXMvc2VjdXJpdHkvQWNjZXNzS2V5REFPLmluYy5waHAJMiBEZWMg
MjAwOCAyMTowMToxMyAtMDAwMAkxLjQKKysrIGNsYXNzZXMvc2VjdXJpdHkvQWNjZXNzS2V5REFP
LmluYy5waHAJMjEgSmFuIDIwMDkgMTg6Mjc6NDEgLTAwMDAKQEAgLTQxLDYgKzQxLDMwIEBACiAJ
CXVuc2V0KCRyZXN1bHQpOwogCQlyZXR1cm4gJGFjY2Vzc0tleTsKIAl9CisJCisJLyoqCisJICog
UmV0cmlldmUgYSBhY2Nlc3NLZXkgb2JqZWN0IHVzZXIgSUQuCisJICogQHBhcmFtICRjb250ZXh0
IHN0cmluZworCSAqIEBwYXJhbSAkdXNlcklkIGludAorCSAqIEByZXR1cm4gQWNjZXNzS2V5CisJ
ICovCisJZnVuY3Rpb24gJmdldEFjY2Vzc0tleUJ5VXNlcklkKCRjb250ZXh0LCAkdXNlcklkKSB7
CisJCSRyZXN1bHQgPSYgJHRoaXMtPnJldHJpZXZlKAorCQkJc3ByaW50ZigKKwkJCQknU0VMRUNU
ICogRlJPTSBhY2Nlc3Nfa2V5cyBXSEVSRSBjb250ZXh0ID0gPyBBTkQgdXNlcl9pZCA9ID8gQU5E
IGV4cGlyeV9kYXRlID4gJXMnLAorCQkJCSR0aGlzLT5kYXRldGltZVRvREIoQ29yZTo6Z2V0Q3Vy
cmVudERhdGUoKSkKKwkJCSksCisJCQlhcnJheSgkY29udGV4dCwgJHVzZXJJZCkKKwkJKTsKKwor
CQkkcmV0dXJuZXIgPSBudWxsOworCQlpZiAoJHJlc3VsdC0+UmVjb3JkQ291bnQoKSAhPSAwKSB7
CisJCQkkcmV0dXJuZXIgPSYgJHRoaXMtPl9yZXR1cm5BY2Nlc3NLZXlGcm9tUm93KCRyZXN1bHQt
PkdldFJvd0Fzc29jKGZhbHNlKSk7CisJCX0KKwkJJHJlc3VsdC0+Q2xvc2UoKTsKKwkJdW5zZXQo
JHJlc3VsdCk7CisJCXJldHVybiAkcmV0dXJuZXI7CisJfQogCiAJLyoqCiAJICogUmV0cmlldmUg
YSBhY2Nlc3NLZXkgb2JqZWN0IGJ5IGtleS4KQEAgLTExOCw3ICsxNDIsNyBAQAogCSAqLwogCWZ1
bmN0aW9uIHVwZGF0ZUFjY2Vzc0tleSgmJGFjY2Vzc0tleSkgewogCQlyZXR1cm4gJHRoaXMtPnVw
ZGF0ZSgKLQkJCXNwcmludGYoJ1VQREFURSBhY2Nlc3NLZXlzCisJCQlzcHJpbnRmKCdVUERBVEUg
YWNjZXNzX2tleXMKIAkJCQlTRVQKIAkJCQkJa2V5X2hhc2ggPSA/LAogCQkJCQlleHBpcnlfZGF0
ZSA9ICVzLApJbmRleDogY2xhc3Nlcy90ZW1wbGF0ZS9QS1BUZW1wbGF0ZU1hbmFnZXIuaW5jLnBo
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3BrcC9jbGFzc2VzL3RlbXBsYXRlL1BLUFRlbXBs
YXRlTWFuYWdlci5pbmMucGhwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjkKZGlmZiAtdSAtcjEu
OSBQS1BUZW1wbGF0ZU1hbmFnZXIuaW5jLnBocAotLS0gY2xhc3Nlcy90ZW1wbGF0ZS9QS1BUZW1w
bGF0ZU1hbmFnZXIuaW5jLnBocAkxMiBKYW4gMjAwOSAxMTo1Mjo0MyAtMDAwMAkxLjkKKysrIGNs
YXNzZXMvdGVtcGxhdGUvUEtQVGVtcGxhdGVNYW5hZ2VyLmluYy5waHAJMjEgSmFuIDIwMDkgMTg6
Mjc6NDIgLTAwMDAKQEAgLTQxNSw5ICs0MTUsOSBAQAogCQkJaWYgKGlzc2V0KCRwYXJhbXNbJ25h
bWUnXSkpIHsKIAkJCQkvLyBidWlsZCBpbWFnZSB0YWcgd2l0aCBzdGFuZGFyaXplZCBzaXplIG9m
IDE2eDE2CiAJCQkJJGRpc2FibGVkID0gKGlzc2V0KCRwYXJhbXNbJ2Rpc2FibGVkJ10pICYmICFl
bXB0eSgkcGFyYW1zWydkaXNhYmxlZCddKSk7Ci0JCQkJaWYgKCFpc3NldCgkcGFyYW1zWydwYXRo
J10pKSAkcGFyYW1zWydwYXRoJ10gPSAndGVtcGxhdGVzL2ltYWdlcy9pY29ucy8nOworCQkJCWlm
ICghaXNzZXQoJHBhcmFtc1sncGF0aCddKSkgJHBhcmFtc1sncGF0aCddID0gJ2xpYi9wa3AvdGVt
cGxhdGVzL2ltYWdlcy9pY29ucy8nOwogCQkJCSRpY29uSHRtbCA9ICc8aW1nIHNyYz0iJyAuICRz
bWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdiYXNlVXJsJykgLiAnLycgLiAkcGFyYW1zWydwYXRo
J107Ci0JCQkJJGljb25IdG1sIC49ICRwYXJhbXNbJ25hbWUnXSAuICgkZGlzYWJsZWQgPyAnX2Rp
c2FibGVkJyA6ICcnKSAuICcuZ2lmIiB3aWR0aD0iMTYiIGhlaWdodD0iMTQiIGFsdD0iJzsKKwkJ
CQkkaWNvbkh0bWwgLj0gJHBhcmFtc1snbmFtZSddIC4gKCRkaXNhYmxlZCA/ICdfZGlzYWJsZWQn
IDogJycpIC4gJy5wbmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNCIgYWx0PSInOwogCiAJCQkJLy8g
aWYgYWx0IHBhcmFtZXRlciBzcGVjaWZpZWQgdXNlIGl0LCBvdGhlcndpc2UgdXNlIGxvY2FsaXph
dGlvbiB2ZXJzaW9uCiAJCQkJaWYgKGlzc2V0KCRwYXJhbXNbJ2FsdCddKSkgewpJbmRleDogbG9j
YWxlL2VuX1VTL2NvbW1vbi54bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9wa3AvbG9jYWxl
L2VuX1VTL2NvbW1vbi54bWwsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNQpkaWZmIC11IC1yMS41
IGNvbW1vbi54bWwKLS0tIGxvY2FsZS9lbl9VUy9jb21tb24ueG1sCTUgRGVjIDIwMDggMTg6MTE6
MzYgLTAwMDAJMS41CisrKyBsb2NhbGUvZW5fVVMvY29tbW9uLnhtbAkyMSBKYW4gMjAwOSAxODoy
Nzo0MyAtMDAwMApAQCAtMjQ1LDYgKzI0NSw0NiBAQAogCTxtZXNzYWdlIGtleT0ibmF2aWdhdGlv
bi5zdGVwTnVtYmVyIj5TdGVwIHskc3RlcH08L21lc3NhZ2U+CiAJPG1lc3NhZ2Uga2V5PSJuYXZp
Z2F0aW9uLnVzZXJIb21lIj5Vc2VyIEhvbWU8L21lc3NhZ2U+CiAJPG1lc3NhZ2Uga2V5PSJuYXZp
Z2F0aW9uLnVzZXIiPlVzZXI8L21lc3NhZ2U+CisJPG1lc3NhZ2Uga2V5PSJub3RpZmljYXRpb24u
YWxsb3ciPkFsbG93IHRoZXNlIHR5cGVzIG9mIG5vdGlmaWNhdGlvbnMgdG8gYXBwZWFyIGluIG15
IG5vdGlmaWNhdGlvbiBmZWVkLjwvbWVzc2FnZT4KKwk8bWVzc2FnZSBrZXk9Im5vdGlmaWNhdGlv
bi5lbWFpbCI+QWxzbyBzZW5kIG1lIGFuIGVtYWlsIGZvciB0aGVzZSB0eXBlcyBvZiBub3RpZmlj
YXRpb25zLjwvbWVzc2FnZT4KKwk8bWVzc2FnZSBrZXk9Im5vdGlmaWNhdGlvbi5sb2NhdGlvbiI+
R28gVG8gVVJMPC9tZXNzYWdlPgorCTxtZXNzYWdlIGtleT0ibm90aWZpY2F0aW9uLm1haWxMaXN0
Ij5Ob3RpZmljYXRpb24gbWFpbGluZyBsaXN0PC9tZXNzYWdlPgorCTxtZXNzYWdlIGtleT0ibm90
aWZpY2F0aW9uLm1haWxMaXN0RGVzY3JpcHRpb24iPkVudGVyIHlvdXIgZW1haWwgYWRkcmVzcyB0
byByZWNlaXZlIGltbWVkaWF0ZSBub3RpZmljYXRpb25zIG9mIGltcG9ydGFudCBuZXcgY29udGVu
dCBhZGRlZCB0byB0aGUgam91cm5hbC48L21lc3NhZ2U+CisJPG1lc3NhZ2Uga2V5PSJub3RpZmlj
YXRpb24ubWFpbExpc3QucHJpdmFjeVByb3RlY3Rpb24iPlByaXZhY3kgcHJvdGVjdGlvbiBwb2xp
Y3k8L21lc3NhZ2U+CisJPG1lc3NhZ2Uga2V5PSJub3RpZmljYXRpb24ubWFpbExpc3QucHJvdGVj
dGVkQ29udGVudCI+PCFbQ0RBVEFbPGEgaHJlZj0ieyRzdWJzY3JpYmVVcmx9Ij5TdWJzY3JpYmU8
L2E+IHRvIHByb3RlY3RlZCBjb250ZW50Ll1dPjwvbWVzc2FnZT4KKwk8bWVzc2FnZSBrZXk9Im5v
dGlmaWNhdGlvbi5tYWlsTGlzdC5zdWJtaXQiPjwhW0NEQVRBW09yIDxhIGhyZWY9Inskc3VibWl0
VXJsfSI+c3VibWl0PC9hPiBhbiBhcnRpY2xlP11dPjwvbWVzc2FnZT4KKwk8bWVzc2FnZSBrZXk9
Im5vdGlmaWNhdGlvbi5tYWlsTGlzdC5yZXZpZXciPjwhW0NEQVRBW1dhbnQgdG8gYWxzbyA8YSBo
cmVmPSJ7JHJldmlld1VybH0iPnJldmlldzwvYT4/XV0+PC9tZXNzYWdlPgorCTxtZXNzYWdlIGtl
eT0ibm90aWZpY2F0aW9uLm5vbmVFeGlzdCI+WW91IGhhdmUgbm8gbm90aWZpY2F0aW9ucyBhdCB0
aGlzIHRpbWUuPC9tZXNzYWdlPgorCTxtZXNzYWdlIGtleT0ibm90aWZpY2F0aW9uLm5vdGlmaWNh
dGlvbiI+Tm90aWZpY2F0aW9uPC9tZXNzYWdlPgkKKwk8bWVzc2FnZSBrZXk9Im5vdGlmaWNhdGlv
bi5ub3RpZmljYXRpb25zIj5Ob3RpZmljYXRpb25zPC9tZXNzYWdlPgkKKwk8bWVzc2FnZSBrZXk9
Im5vdGlmaWNhdGlvbi5ub3RpZmljYXRpb25zRGVzY3JpcHRpb24iPllvdSBoYXZlIHskdW5yZWFk
Q291bnR9IHVucmVhZCBub3RpZmljYXRpb25zIGFuZCB7JHJlYWRDb3VudH0gcmVhZCBub3RpZmlj
YXRpb25zLjwhW0NEQVRBWyAgPGEgaHJlZj0ieyRzZXR0aW5nc1VybH0iPkNsaWNrIGhlcmU8L2E+
IHRvIGNoYW5nZSB5b3VyIG5vdGlmaWNhdGlvbiBzZXR0aW5ncy5dXT48L21lc3NhZ2U+CisJPG1l
c3NhZ2Uga2V5PSJub3RpZmljYXRpb24ubm90aWZpY2F0aW9uc1B1YmxpY0Rlc2NyaXB0aW9uIj5U
aGlzIHBhZ2Ugc2hvd3MgaW1wb3J0YW50IHVwZGF0ZXMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgam91
cm5hbCBzdWNoIGFzIG5ldyBpc3N1ZXMgb3IgYW5ub3VuY2VtZW50cy4gIFlvdSBtYXkgc3Vic2Ny
aWJlIHRvIHRoZXNlIG5vdGlmaWNhdGlvbnMgdGhyb3VnaCBSU1MgZmVlZHMgKGJ5IGNsaWNraW5n
IG9uIHRoZSBpbWFnZXMgdG8gdGhlIHJpZ2h0KSwgb3IgPCFbQ0RBVEFbICA8YSBocmVmPSJ7JGVt
YWlsVXJsfSI+dGhyb3VnaCBlbWFpbC48L2E+XV0+PC9tZXNzYWdlPgorCTxtZXNzYWdlIGtleT0i
bm90aWZpY2F0aW9uLnNldHRpbmdzIj5Ob3RpZmljYXRpb24gU2V0dGluZ3M8L21lc3NhZ2U+CisJ
PG1lc3NhZ2Uga2V5PSJub3RpZmljYXRpb24uc2V0dGluZ3NEZXNjcmlwdGlvbiI+U2VsZWN0IHRo
ZSBzeXN0ZW0gZXZlbnRzIHRoYXQgeW91IHdpc2ggdG8gYmUgbm90aWZpZWQgYWJvdXQuICBVbmNo
ZWNraW5nIGFuIGl0ZW0gd2lsbCBwcmV2ZW50IG5vdGlmaWNhdGlvbnMgb2YgdGhlIGV2ZW50IGZy
b20gc2hvd2luZyB1cCBpbiB5b3VyIG5vdGlmaWNhdGlvbiBmZWVkLjwvbWVzc2FnZT4KKwk8bWVz
c2FnZSBrZXk9Im5vdGlmaWNhdGlvbi5zdWJzY3JpYmVFcnJvciI+WW91ciBlbWFpbCBhZGRyZXNz
IGlzIGFscmVhZHkgc3Vic2NyaWJlZCB0byBub3RpZmljYXRpb25zLjwvbWVzc2FnZT4KKwk8bWVz
c2FnZSBrZXk9Im5vdGlmaWNhdGlvbi5zdWJzY3JpYmVTdWNjZXNzIj5Zb3VyIGVtYWlsIGFkZHJl
c3MgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGFkZGVkIHRvIHRoZSBtYWlsaW5nIGxpc3QuPC9tZXNz
YWdlPgorCTxtZXNzYWdlIGtleT0ibm90aWZpY2F0aW9uLnJlbWluZGVyRXJyb3IiPlRoZXJlIHdh
cyBhbiBlcnJvciBzZW5kaW5nIHlvdXIgcGFzc3dvcmQsIHBsZWFzZSBlbnN1cmUgeW91J3ZlIGVu
dGVyZWQgeW91ciBlbWFpbCBhZGRyZXNzIGNvcnJlY3RseS48L21lc3NhZ2U+CisJPG1lc3NhZ2Ug
a2V5PSJub3RpZmljYXRpb24ucmVtaW5kZXJTZW50Ij5Zb3VyIG5ldyBwYXNzd29yZCBoYXMgYmVl
biBzZW50IHRvIHRoZSBlbWFpbCBhZGRyZXNzIHByb3ZpZGVkLjwvbWVzc2FnZT4KKwk8bWVzc2Fn
ZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLmFydGljbGVTdWJtaXR0ZWQiPkEgbmV3IGFydGljbGUs
ICJ7JHBhcmFtfSIsIGhhcyBiZWVuIHN1Ym1pdHRlZC48L21lc3NhZ2U+CisJPG1lc3NhZ2Uga2V5
PSJub3RpZmljYXRpb24udHlwZS5jb3B5ZWRpdENvbW1lbnQiPkEgY29weWVkaXRvciBoYXMgbGVm
dCBhIGNvbW1lbnQgb24gInskcGFyYW19Ii48L21lc3NhZ2U+CisJPG1lc3NhZ2Uga2V5PSJub3Rp
ZmljYXRpb24udHlwZS5lZGl0b3JEZWNpc2lvbkNvbW1lbnQiPkEgY29tbWVudCBoYXMgYmVlbiBs
ZWZ0IG9uIHRoZSBlZGl0b3IgZGVjaXNpb24gZm9yICJ7JHBhcmFtfSIuPC9tZXNzYWdlPgorCTxt
ZXNzYWdlIGtleT0ibm90aWZpY2F0aW9uLnR5cGUuZ2FsbGV5QWRkZWQiPkEgZ2FsbGV5IGhhcyBi
ZWVuIGFkZGVkIGZvciAieyRwYXJhbX0iLjwvbWVzc2FnZT4KKwk8bWVzc2FnZSBrZXk9Im5vdGlm
aWNhdGlvbi50eXBlLmdhbGxleU1vZGlmaWVkIj5BbiBnYWxsZXkgaGFzIGJlZW4gbW9kaWZpZWQg
Zm9yICJ7JHBhcmFtfSIuPC9tZXNzYWdlPgorCTxtZXNzYWdlIGtleT0ibm90aWZpY2F0aW9uLnR5
cGUuaXNzdWVQdWJsaXNoZWQiPkFuIGlzc3VlIGhhcyBiZWVuIHB1Ymxpc2hlZC48L21lc3NhZ2U+
CisJPG1lc3NhZ2Uga2V5PSJub3RpZmljYXRpb24udHlwZS5sYXlvdXRDb21tZW50Ij5BIGNvbW1l
bnQgaGFzIGJlZW4gbGVmdCBhYm91dCAieyRwYXJhbX0ncyIgbGF5b3V0LjwvbWVzc2FnZT4KKwk8
bWVzc2FnZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLm1ldGFkYXRhTW9kaWZpZWQiPiJ7JHBhcmFt
fSdzIiBtZXRhZGF0YSBoYXMgYmVlbiBtb2RpZmllZC48L21lc3NhZ2U+CisJPG1lc3NhZ2Uga2V5
PSJub3RpZmljYXRpb24udHlwZS5vdGhlciI+T3RoZXIgRXZlbnRzPC9tZXNzYWdlPgorCTxtZXNz
YWdlIGtleT0ibm90aWZpY2F0aW9uLnR5cGUucHJvb2ZyZWFkQ29tbWVudCI+QSBjb21tZW50IGhh
cyBiZWVuIGxlZnQgYnkgYSBwcm9vZnJlYWRlciBvbiAieyRwYXJhbX0iLjwvbWVzc2FnZT4KKwk8
bWVzc2FnZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLnJldmlld2VyQ29tbWVudCI+QSByZXZpZXdl
ciBoYXMgY29tbWVudGVkIG9uICJ7JHBhcmFtfSIuPC9tZXNzYWdlPgorCTxtZXNzYWdlIGtleT0i
bm90aWZpY2F0aW9uLnR5cGUucmV2aWV3ZXJGb3JtQ29tbWVudCI+QSByZXZpZXcgZm9ybSByZXZp
ZXcgaGFzIGJlZW4gc3VibWl0dGVkIGZvciAieyRwYXJhbX0iLjwvbWVzc2FnZT4KKwk8bWVzc2Fn
ZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLnN1Ym1pc3Npb25Db21tZW50Ij5BbiBlZGl0b3IgaGFz
IG1hZGUgYSBjb21tZW50IG9uICJ7JHBhcmFtfSIuPC9tZXNzYWdlPgorCTxtZXNzYWdlIGtleT0i
bm90aWZpY2F0aW9uLnR5cGUuc3VibWlzc2lvbnMiPlN1Ym1pc3Npb24gRXZlbnRzPC9tZXNzYWdl
PgorCTxtZXNzYWdlIGtleT0ibm90aWZpY2F0aW9uLnR5cGUuc3VwcEZpbGVBZGRlZCI+QSBzdXBw
bGVtZW50YXJ5IGZpbGUgaGFzIGJlZW4gYWRkZWQgdG8gInskcGFyYW19Ii48L21lc3NhZ2U+CisJ
PG1lc3NhZ2Uga2V5PSJub3RpZmljYXRpb24udHlwZS5zdXBwRmlsZU1vZGlmaWVkIj4ieyRwYXJh
bX0ncyIgc3VwcGxlbWVudGFyeSBmaWxlKHMpIGhhcyBiZWVuIG1vZGlmaWVkLjwvbWVzc2FnZT4K
Kwk8bWVzc2FnZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLnVzZXJDb21tZW50Ij5BIHJlYWRlciBo
YXMgbWFkZSBhIGNvbW1lbnQgb24gInskcGFyYW19IjwvbWVzc2FnZT4KKwk8bWVzc2FnZSBrZXk9
Im5vdGlmaWNhdGlvbi51bnN1YnNjcmliZURlc2NyaXB0aW9uIj5FbnRlciB5b3VyIGVtYWlsIGFk
ZHJlc3MgYW5kIHBhc3N3b3JkIGJlbG93IHRvIHVuc3Vic2NyaWJlIGZyb20gZW1haWwgbm90aWZp
Y2F0aW9ucy4gIElmIHlvdSBkbyBub3QgcmVtZW1iZXIgeW91ciBwYXNzd29yZCwgbGVhdmUgdGhl
IHBhc3N3b3JkIGZpZWxkIGJsYW5rIGFuZCBhIG5ldyBvbmUgd2lsbCBiZSBlbWFpbGVkIHRvIHlv
dSBhdCB0aGUgZ2l2ZW4gZW1haWwgYWRkcmVzcy48L21lc3NhZ2U+CQorCTxtZXNzYWdlIGtleT0i
bm90aWZpY2F0aW9uLnVuc3Vic2NyaWJlRXJyb3IiPlRoZXJlIHdhcyBhbiBlcnJvciB1bnN1YnNj
cmliaW5nIHlvdS4gIFBsZWFzZSBlbnN1cmUgeW91ciBlbWFpbCBhZGRyZXNzIGFuZCBwYXNzd29y
ZCBhcmUgY29ycmVjdC48L21lc3NhZ2U+CisJPG1lc3NhZ2Uga2V5PSJub3RpZmljYXRpb24udW5z
dWJzY3JpYmVTdWNjZXNzIj5Zb3Ugd2VyZSBzdWNjZXNzZnVsbHkgdW5zdWJzY3JpYmVkLjwvbWVz
c2FnZT4JCiAJPG1lc3NhZ2Uga2V5PSJzZWFyY2guYWJzdHJhY3QiPkFic3RyYWN0PC9tZXNzYWdl
PgogCTxtZXNzYWdlIGtleT0ic2VhcmNoLmFsbEZpZWxkcyI+QWxsPC9tZXNzYWdlPgogCTxtZXNz
YWdlIGtleT0ic2VhcmNoLmNvdmVyYWdlIj5Db3ZlcmFnZTwvbWVzc2FnZT4KSW5kZXg6IHBhZ2Vz
L25vdGlmaWNhdGlvbi9Ob3RpZmljYXRpb25IYW5kbGVyLmluYy5waHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1Mg
ZmlsZTogcGFnZXMvbm90aWZpY2F0aW9uL05vdGlmaWNhdGlvbkhhbmRsZXIuaW5jLnBocApkaWZm
IC1OIHBhZ2VzL25vdGlmaWNhdGlvbi9Ob3RpZmljYXRpb25IYW5kbGVyLmluYy5waHAKLS0tIC9k
ZXYvbnVsbAkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAwCisrKyBwYWdlcy9ub3RpZmljYXRpb24v
Tm90aWZpY2F0aW9uSGFuZGxlci5pbmMucGhwCTIxIEphbiAyMDA5IDE4OjI3OjQ0IC0wMDAwCkBA
IC0wLDAgKzEsMzE5IEBACis8P3BocAorCisvKioKKyAqIEBmaWxlIE5vdGlmaWNhdGlvbkhhbmRs
ZXIuaW5jLnBocAorICoKKyAqIENvcHlyaWdodCAoYykgMjAwMC0yMDA4IEpvaG4gV2lsbGluc2t5
CisgKiBEaXN0cmlidXRlZCB1bmRlciB0aGUgR05VIEdQTCB2Mi4gRm9yIGZ1bGwgdGVybXMgc2Vl
IHRoZSBmaWxlIGRvY3MvQ09QWUlORy4KKyAqCisgKiBAY2xhc3MgTm90aWZpY2F0aW9uSGFuZGxl
cgorICogQGluZ3JvdXAgcGFnZXNfaGVscAorICoKKyAqIEBicmllZiBIYW5kbGUgcmVxdWVzdHMg
Zm9yIHZpZXdpbmcgbm90aWZpY2F0aW9ucy4gCisgKi8KKworaW1wb3J0KCdjb3JlLlBLUEhhbmRs
ZXInKTsKK2ltcG9ydCgnbm90aWZpY2F0aW9uLk5vdGlmaWNhdGlvbicpOworCitjbGFzcyBOb3Rp
ZmljYXRpb25IYW5kbGVyIGV4dGVuZHMgUEtQSGFuZGxlciB7CisKKwkvKioKKwkgKiBEaXNwbGF5
IGhlbHAgdGFibGUgb2YgY29udGVudHMuCisJICovCisJZnVuY3Rpb24gaW5kZXgoKSB7CisJCXBh
cmVudDo6dmFsaWRhdGUoKTsKKwkJcGFyZW50OjpzZXR1cFRlbXBsYXRlKCk7CisJCSR0ZW1wbGF0
ZU1nciA9JiBUZW1wbGF0ZU1hbmFnZXI6OmdldE1hbmFnZXIoKTsKKwkJCisJCSR1c2VyID0gUmVx
dWVzdDo6Z2V0VXNlcigpOworCQlpZihpc3NldCgkdXNlcikpIHsKKwkJCSR1c2VySWQgPSAkdXNl
ci0+Z2V0VXNlcklkKCk7CisJCQkkdGVtcGxhdGVNZ3ItPmFzc2lnbignaXNVc2VyTG9nZ2VkSW4n
LCB0cnVlKTsKKwkJfSBlbHNlIHsKKwkJCSR1c2VySWQgPSAwOworCQkJJHRlbXBsYXRlTWdyLT5h
c3NpZ24oJ2VtYWlsVXJsJywgUmVxdWVzdDo6dXJsKG51bGwsICdub3RpZmljYXRpb24nLCAnc3Vi
c2NyaWJlTWFpbExpc3QnKSk7CisJCQkkdGVtcGxhdGVNZ3ItPmFzc2lnbignaXNVc2VyTG9nZ2Vk
SW4nLCBmYWxzZSk7CisJCX0KKworCQkkbm90aWZpY2F0aW9uRGFvID0gJkRBT1JlZ2lzdHJ5Ojpn
ZXREQU8oJ05vdGlmaWNhdGlvbkRBTycpOworCQkkbm90aWZpY2F0aW9ucyA9ICRub3RpZmljYXRp
b25EYW8tPmdldE5vdGlmaWNhdGlvbnNCeVVzZXJJZCgkdXNlcklkKTsKKwkJCisJCSR0ZW1wbGF0
ZU1nci0+YXNzaWduKCdub3RpZmljYXRpb25zJywgJG5vdGlmaWNhdGlvbnMpOworCQkkdGVtcGxh
dGVNZ3ItPmFzc2lnbigndW5yZWFkJywgJG5vdGlmaWNhdGlvbkRhby0+Z2V0VW5yZWFkTm90aWZp
Y2F0aW9uQ291bnQoJHVzZXJJZCkpOworCQkkdGVtcGxhdGVNZ3ItPmFzc2lnbigncmVhZCcsICRu
b3RpZmljYXRpb25EYW8tPmdldFJlYWROb3RpZmljYXRpb25Db3VudCgkdXNlcklkKSk7CisJCSR0
ZW1wbGF0ZU1nci0+YXNzaWduKCd1cmwnLCBSZXF1ZXN0Ojp1cmwobnVsbCwgJ25vdGlmaWNhdGlv
bicsICdzZXR0aW5ncycpKTsKKwkJJHRlbXBsYXRlTWdyLT5kaXNwbGF5KCdub3RpZmljYXRpb24v
aW5kZXgudHBsJyk7CisJfQorCQorCS8qKgorCSAqIERlbGV0ZSBhIG5vdGlmaWNhdGlvbgorCSAq
LworCWZ1bmN0aW9uIGRlbGV0ZSgkYXJncykgeworCQlwYXJlbnQ6OnZhbGlkYXRlKCk7CisJCQor
CQkkdXNlciA9IFJlcXVlc3Q6OmdldFVzZXIoKTsKKwkJaWYoaXNzZXQoJHVzZXIpKSB7CisJCQkk
dXNlcklkID0gJHVzZXItPmdldFVzZXJJZCgpOworCQkJJG5vdGlmaWNhdGlvbkRhbyA9ICZEQU9S
ZWdpc3RyeTo6Z2V0REFPKCdOb3RpZmljYXRpb25EQU8nKTsKKwkJCSRub3RpZmljYXRpb25zID0g
JG5vdGlmaWNhdGlvbkRhby0+ZGVsZXRlTm90aWZpY2F0aW9uQnlJZCgkYXJnc1swXSwgJHVzZXJJ
ZCk7CisJCX0KKwkJCisJCVJlcXVlc3Q6OnJlZGlyZWN0KG51bGwsICdub3RpZmljYXRpb24nKTsK
Kwl9CisJCisJLyoqCisJICogRGVsZXRlIGEgbm90aWZpY2F0aW9uCisJICovCisJZnVuY3Rpb24g
ZGVsZXRlQWpheCgkYXJncykgeworCQlwYXJlbnQ6OnZhbGlkYXRlKCk7CisJCQorCQkkdXNlciA9
IFJlcXVlc3Q6OmdldFVzZXIoKTsKKwkJaWYoaXNzZXQoJHVzZXIpKSB7CisJCQkkdXNlcklkID0g
JHVzZXItPmdldFVzZXJJZCgpOworCQkJJG5vdGlmaWNhdGlvbkRhbyA9ICZEQU9SZWdpc3RyeTo6
Z2V0REFPKCdOb3RpZmljYXRpb25EQU8nKTsKKwkJCSRub3RpZmljYXRpb25zID0gJG5vdGlmaWNh
dGlvbkRhby0+ZGVsZXRlTm90aWZpY2F0aW9uQnlJZCgkYXJnc1swXSwgJHVzZXJJZCk7CisJCX0K
Kwl9CisJCisJLyoqCisJICogVmlldyBhbmQgbW9kaWZ5IG5vdGlmaWNhdGlvbiBzZXR0aW5ncwor
CSAqLworCWZ1bmN0aW9uIHNldHRpbmdzKCkgeworCQlwYXJlbnQ6OnZhbGlkYXRlKCk7CisJCQkJ
CisJCSR1c2VyID0gUmVxdWVzdDo6Z2V0VXNlcigpOworCQlpZihpc3NldCgkdXNlcikpIHsKKwkJ
CSR1c2VySWQgPSAkdXNlci0+Z2V0VXNlcklkKCk7CisJCQkJCQorCQkJJG5vdGlmaWNhdGlvblNl
dHRpbmdzRGFvID0gJkRBT1JlZ2lzdHJ5OjpnZXREQU8oJ05vdGlmaWNhdGlvblNldHRpbmdzREFP
Jyk7CisJCQkkbm90aWZpY2F0aW9uU2V0dGluZ3MgPSAkbm90aWZpY2F0aW9uU2V0dGluZ3NEYW8t
PmdldE5vdGlmaWNhdGlvblNldHRpbmdzKCR1c2VySWQpOworCQkJJGVtYWlsU2V0dGluZ3MgPSAk
bm90aWZpY2F0aW9uU2V0dGluZ3NEYW8tPmdldE5vdGlmaWNhdGlvbkVtYWlsU2V0dGluZ3MoJHVz
ZXJJZCk7CisKKwkJCSR0ZW1wbGF0ZU1nciA9ICZUZW1wbGF0ZU1hbmFnZXI6OmdldE1hbmFnZXIo
KTsKKwkJCSR0ZW1wbGF0ZU1nci0+YXNzaWduKCdub3RpZmljYXRpb25TZXR0aW5ncycsICRub3Rp
ZmljYXRpb25TZXR0aW5ncyk7CisJCQkkdGVtcGxhdGVNZ3ItPmFzc2lnbignZW1haWxTZXR0aW5n
cycsICRlbWFpbFNldHRpbmdzKTsKKwkJCSR0ZW1wbGF0ZU1nci0+YXNzaWduKCd0aXRsZVZhcics
IExvY2FsZTo6dHJhbnNsYXRlKCdjb21tb24udGl0bGUnKSk7CisJCQkkdGVtcGxhdGVNZ3ItPmFz
c2lnbigndXNlclZhcicsIExvY2FsZTo6dHJhbnNsYXRlKCdjb21tb24udXNlcicpKTsKKwkJCSR0
ZW1wbGF0ZU1nci0+ZGlzcGxheSgnbm90aWZpY2F0aW9uL3NldHRpbmdzLnRwbCcpOworCQl9IGVs
c2UgUmVxdWVzdDo6cmVkaXJlY3QobnVsbCwgJ25vdGlmaWNhdGlvbicpOworCX0KKwkKKwkvKioK
KwkgKiBTYXZlIHVzZXIgbm90aWZpY2F0aW9uIHNldHRpbmdzCisJICovCisJZnVuY3Rpb24gc2F2
ZVNldHRpbmdzKCkgeworCQlwYXJlbnQ6OnZhbGlkYXRlKCk7CisJCQorCQkkc2V0dGluZ3MgPSBh
cnJheSgpOworCQkKKwkJJHVzZXIgPSBSZXF1ZXN0OjpnZXRVc2VyKCk7CisJCWlmKGlzc2V0KCR1
c2VyKSkgeworCQkJJHVzZXJJZCA9ICR1c2VyLT5nZXRVc2VySWQoKTsKKwkJCSRub3RpZmljYXRp
b25TZXR0aW5nc0RhbyA9ICZEQU9SZWdpc3RyeTo6Z2V0REFPKCdOb3RpZmljYXRpb25TZXR0aW5n
c0RBTycpOworCQkJCisJCQkvLyBOb3RpZmljYXRpb24gc2V0dGluZ3MKKwkJCSRzZXR0aW5ncyA9
IGFycmF5KCk7CisJCQlpZighUmVxdWVzdDo6Z2V0VXNlclZhcignbm90aWZpY2F0aW9uQXJ0aWNs
ZVN1Ym1pdHRlZCcpKSAkc2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9UWVBFX0FSVElDTEVfU1VC
TUlUVEVEOworCQkJaWYoIVJlcXVlc3Q6OmdldFVzZXJWYXIoJ25vdGlmaWNhdGlvbk1ldGFkYXRh
TW9kaWZpZWQnKSkgJHNldHRpbmdzW10gPSBOT1RJRklDQVRJT05fVFlQRV9NRVRBREFUQV9NT0RJ
RklFRDsKKwkJCWlmKCFSZXF1ZXN0OjpnZXRVc2VyVmFyKCdub3RpZmljYXRpb25TdXBwRmlsZUFk
ZGVkJykpICRzZXR0aW5nc1tdID0gTk9USUZJQ0FUSU9OX1RZUEVfU1VQUF9GSUxFX0FEREVEOwor
CQkJaWYoIVJlcXVlc3Q6OmdldFVzZXJWYXIoJ25vdGlmaWNhdGlvblN1cHBGaWxlTW9kaWZpZWQn
KSkgJHNldHRpbmdzW10gPSBOT1RJRklDQVRJT05fVFlQRV9TVVBQX0ZJTEVfTU9ESUZJRUQ7CisJ
CQlpZighUmVxdWVzdDo6Z2V0VXNlclZhcignbm90aWZpY2F0aW9uR2FsbGV5QWRkZWQnKSkgJHNl
dHRpbmdzW10gPSBOT1RJRklDQVRJT05fVFlQRV9HQUxMRVlfQURERUQ7CisJCQlpZighUmVxdWVz
dDo6Z2V0VXNlclZhcignbm90aWZpY2F0aW9uR2FsbGV5TW9kaWZpZWQnKSkgJHNldHRpbmdzW10g
PSBOT1RJRklDQVRJT05fVFlQRV9HQUxMRVlfTU9ESUZJRUQ7CisJCQlpZighUmVxdWVzdDo6Z2V0
VXNlclZhcignbm90aWZpY2F0aW9uU3VibWlzc2lvbkNvbW1lbnQnKSkgJHNldHRpbmdzW10gPSBO
T1RJRklDQVRJT05fVFlQRV9TVUJNSVNTSU9OX0NPTU1FTlQ7CisJCQlpZighUmVxdWVzdDo6Z2V0
VXNlclZhcignbm90aWZpY2F0aW9uTGF5b3V0Q29tbWVudCcpKSAkc2V0dGluZ3NbXSA9IE5PVElG
SUNBVElPTl9UWVBFX0xBWU9VVF9DT01NRU5UOworCQkJaWYoIVJlcXVlc3Q6OmdldFVzZXJWYXIo
J25vdGlmaWNhdGlvbkNvcHllZGl0Q29tbWVudCcpKSAkc2V0dGluZ3NbXSA9IE5PVElGSUNBVElP
Tl9UWVBFX0NPUFlFRElUX0NPTU1FTlQ7CisJCQlpZighUmVxdWVzdDo6Z2V0VXNlclZhcignbm90
aWZpY2F0aW9uUHJvb2ZyZWFkQ29tbWVudCcpKSAkc2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9U
WVBFX1BST09GUkVBRF9DT01NRU5UOworCQkJaWYoIVJlcXVlc3Q6OmdldFVzZXJWYXIoJ25vdGlm
aWNhdGlvblJldmlld2VyQ29tbWVudCcpKSAkc2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9UWVBF
X1JFVklFV0VSX0NPTU1FTlQ7CisJCQlpZighUmVxdWVzdDo6Z2V0VXNlclZhcignbm90aWZpY2F0
aW9uUmV2aWV3ZXJGb3JtQ29tbWVudCcpKSAkc2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9UWVBF
X1JFVklFV0VSX0ZPUk1fQ09NTUVOVDsKKwkJCWlmKCFSZXF1ZXN0OjpnZXRVc2VyVmFyKCdub3Rp
ZmljYXRpb25FZGl0b3JEZWNpc2lvbkNvbW1lbnQnKSkgJHNldHRpbmdzW10gPSBOT1RJRklDQVRJ
T05fVFlQRV9FRElUT1JfREVDSVNJT05fQ09NTUVOVDsgCisJCQlpZighUmVxdWVzdDo6Z2V0VXNl
clZhcignbm90aWZpY2F0aW9uUHVibGlzaGVkSXNzdWUnKSkgJHNldHRpbmdzW10gPSBOT1RJRklD
QVRJT05fVFlQRV9QVUJMSVNIRURfSVNTVUU7CisJCQlpZighUmVxdWVzdDo6Z2V0VXNlclZhcign
bm90aWZpY2F0aW9uVXNlckNvbW1lbnQnKSkgJHNldHRpbmdzW10gPSBOT1RJRklDQVRJT05fVFlQ
RV9VU0VSX0NPTU1FTlQ7CisJCQkKKwkJCS8vIEVtYWlsIHNldHRpbmdzCisJCQkkZW1haWxTZXR0
aW5ncyA9IGFycmF5KCk7CisJCQlpZihSZXF1ZXN0OjpnZXRVc2VyVmFyKCdlbWFpbE5vdGlmaWNh
dGlvbkFydGljbGVTdWJtaXR0ZWQnKSkgJGVtYWlsU2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9U
WVBFX0FSVElDTEVfU1VCTUlUVEVEOworCQkJaWYoUmVxdWVzdDo6Z2V0VXNlclZhcignZW1haWxO
b3RpZmljYXRpb25NZXRhZGF0YU1vZGlmaWVkJykpICRlbWFpbFNldHRpbmdzW10gPSBOT1RJRklD
QVRJT05fVFlQRV9NRVRBREFUQV9NT0RJRklFRDsKKwkJCWlmKFJlcXVlc3Q6OmdldFVzZXJWYXIo
J2VtYWlsTm90aWZpY2F0aW9uU3VwcEZpbGVBZGRlZCcpKSAkZW1haWxTZXR0aW5nc1tdID0gTk9U
SUZJQ0FUSU9OX1RZUEVfU1VQUF9GSUxFX0FEREVEOworCQkJaWYoUmVxdWVzdDo6Z2V0VXNlclZh
cignZW1haWxOb3RpZmljYXRpb25TdXBwRmlsZU1vZGlmaWVkJykpICRlbWFpbFNldHRpbmdzW10g
PSBOT1RJRklDQVRJT05fVFlQRV9TVVBQX0ZJTEVfTU9ESUZJRUQ7CisJCQlpZihSZXF1ZXN0Ojpn
ZXRVc2VyVmFyKCdlbWFpbE5vdGlmaWNhdGlvbkdhbGxleUFkZGVkJykpICRlbWFpbFNldHRpbmdz
W10gPSBOT1RJRklDQVRJT05fVFlQRV9HQUxMRVlfQURERUQ7CisJCQlpZihSZXF1ZXN0OjpnZXRV
c2VyVmFyKCdlbWFpbE5vdGlmaWNhdGlvbkdhbGxleU1vZGlmaWVkJykpICRlbWFpbFNldHRpbmdz
W10gPSBOT1RJRklDQVRJT05fVFlQRV9HQUxMRVlfTU9ESUZJRUQ7CisJCQlpZihSZXF1ZXN0Ojpn
ZXRVc2VyVmFyKCdlbWFpbE5vdGlmaWNhdGlvblN1Ym1pc3Npb25Db21tZW50JykpICRlbWFpbFNl
dHRpbmdzW10gPSBOT1RJRklDQVRJT05fVFlQRV9TVUJNSVNTSU9OX0NPTU1FTlQ7CisJCQlpZihS
ZXF1ZXN0OjpnZXRVc2VyVmFyKCdlbWFpbE5vdGlmaWNhdGlvbkxheW91dENvbW1lbnQnKSkgJGVt
YWlsU2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9UWVBFX0xBWU9VVF9DT01NRU5UOworCQkJaWYo
UmVxdWVzdDo6Z2V0VXNlclZhcignZW1haWxOb3RpZmljYXRpb25Db3B5ZWRpdENvbW1lbnQnKSkg
JGVtYWlsU2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9UWVBFX0NPUFlFRElUX0NPTU1FTlQ7CisJ
CQlpZihSZXF1ZXN0OjpnZXRVc2VyVmFyKCdlbWFpbE5vdGlmaWNhdGlvblByb29mcmVhZENvbW1l
bnQnKSkgJGVtYWlsU2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9UWVBFX1BST09GUkVBRF9DT01N
RU5UOworCQkJaWYoUmVxdWVzdDo6Z2V0VXNlclZhcignZW1haWxOb3RpZmljYXRpb25SZXZpZXdl
ckNvbW1lbnQnKSkgJGVtYWlsU2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9UWVBFX1JFVklFV0VS
X0NPTU1FTlQ7CisJCQlpZihSZXF1ZXN0OjpnZXRVc2VyVmFyKCdlbWFpbE5vdGlmaWNhdGlvblJl
dmlld2VyRm9ybUNvbW1lbnQnKSkgJGVtYWlsU2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9UWVBF
X1JFVklFV0VSX0ZPUk1fQ09NTUVOVDsKKwkJCWlmKFJlcXVlc3Q6OmdldFVzZXJWYXIoJ2VtYWls
Tm90aWZpY2F0aW9uRWRpdG9yRGVjaXNpb25Db21tZW50JykpICRlbWFpbFNldHRpbmdzW10gPSBO
T1RJRklDQVRJT05fVFlQRV9FRElUT1JfREVDSVNJT05fQ09NTUVOVDsgCisJCQlpZihSZXF1ZXN0
OjpnZXRVc2VyVmFyKCdlbWFpbE5vdGlmaWNhdGlvblB1Ymxpc2hlZElzc3VlJykpICRlbWFpbFNl
dHRpbmdzW10gPSBOT1RJRklDQVRJT05fVFlQRV9QVUJMSVNIRURfSVNTVUU7CisJCQlpZihSZXF1
ZXN0OjpnZXRVc2VyVmFyKCdlbWFpbE5vdGlmaWNhdGlvblVzZXJDb21tZW50JykpICRlbWFpbFNl
dHRpbmdzW10gPSBOT1RJRklDQVRJT05fVFlQRV9VU0VSX0NPTU1FTlQ7CisJCQkKKwkJCSRub3Rp
ZmljYXRpb25TZXR0aW5nc0Rhby0+dXBkYXRlTm90aWZpY2F0aW9uU2V0dGluZ3MoJHNldHRpbmdz
LCAkdXNlcklkKTsKKwkJCSRub3RpZmljYXRpb25TZXR0aW5nc0Rhby0+dXBkYXRlTm90aWZpY2F0
aW9uRW1haWxTZXR0aW5ncygkZW1haWxTZXR0aW5ncywgJHVzZXJJZCk7CisJCQlSZXF1ZXN0Ojpy
ZWRpcmVjdChudWxsLCAnbm90aWZpY2F0aW9uJyk7CisJCX0gZWxzZSBSZXF1ZXN0OjpyZWRpcmVj
dChudWxsLCAnbm90aWZpY2F0aW9uJyk7CisJfQorCQorCS8qKgorCSAqIEZldGNoIHRoZSBleGlz
dGluZyBvciBjcmVhdGUgYSBuZXcgVVJMIGZvciB0aGUgdXNlcidzIFJTUyBmZWVkCisJICovCisJ
ZnVuY3Rpb24gZ2V0Tm90aWZpY2F0aW9uRmVlZFVybCgkYXJncykgeworCQkkdXNlciA9IFJlcXVl
c3Q6OmdldFVzZXIoKTsKKwkJaWYoaXNzZXQoJHVzZXIpKSB7CisJCQkkdXNlcklkID0gJHVzZXIt
PmdldFVzZXJJZCgpOworCQkJJG5vdGlmaWNhdGlvblNldHRpbmdzRGFvID0gJkRBT1JlZ2lzdHJ5
OjpnZXREQU8oJ05vdGlmaWNhdGlvblNldHRpbmdzREFPJyk7CisJCQkkZmVlZFR5cGUgPSAkYXJn
c1swXTsKKworCQkJJHRva2VuID0gJG5vdGlmaWNhdGlvblNldHRpbmdzRGFvLT5nZXRSU1NUb2tl
bkJ5VXNlcklkKCR1c2VySWQpOworCQkJCisJCQlpZiAoJHRva2VuKSB7CisJCQkJUmVxdWVzdDo6
cmVkaXJlY3QobnVsbCwgJ25vdGlmaWNhdGlvbicsICdub3RpZmljYXRpb25GZWVkJywgYXJyYXko
JGZlZWRUeXBlLCAkdG9rZW4pKTsKKwkJCX0gZWxzZSB7CisJCQkJJHRva2VuID0gJG5vdGlmaWNh
dGlvblNldHRpbmdzRGFvLT5pbnNlcnROZXdSU1NUb2tlbigkdXNlcklkKTsKKwkJCQlSZXF1ZXN0
OjpyZWRpcmVjdChudWxsLCAnbm90aWZpY2F0aW9uJywgJ25vdGlmaWNhdGlvbkZlZWQnLCAkZmVl
ZFR5cGUsICR0b2tlbik7CisJCQl9CisJCX0gZWxzZSBSZXF1ZXN0OjpyZWRpcmVjdChudWxsLCAn
bm90aWZpY2F0aW9uJyk7CisJfQorCQorCS8qKgorCSAqIEZldGNoIHRoZSBhY3R1YWwgUlNTIGZl
ZWQKKwkgKi8KKwlmdW5jdGlvbiBub3RpZmljYXRpb25GZWVkKCRhcmdzKSB7CisJCWlmKGlzc2V0
KCRhcmdzWzBdKSAmJiBpc3NldCgkYXJnc1sxXSkpIHsKKwkJCSR0eXBlID0gJGFyZ3NbMF07CisJ
CQkkdG9rZW4gPSAkYXJnc1sxXTsKKwkJfSBlbHNlIHJldHVybiBmYWxzZTsKKworCQkkYXBwbGlj
YXRpb24gPSBQS1BBcHBsaWNhdGlvbjo6Z2V0QXBwbGljYXRpb24oKTsKKwkJJGFwcE5hbWUgPSAk
YXBwbGljYXRpb24tPmdldE5hbWVLZXkoKTsKKwkJCisJCSRzaXRlID0mIFJlcXVlc3Q6OmdldFNp
dGUoKTsKKwkJJHNpdGVUaXRsZSA9ICRzaXRlLT5nZXRTaXRlVGl0bGUoKTsKKwkKKwkJJG5vdGlm
aWNhdGlvbkRhbyA9ICZEQU9SZWdpc3RyeTo6Z2V0REFPKCdOb3RpZmljYXRpb25EQU8nKTsKKwkJ
JG5vdGlmaWNhdGlvblNldHRpbmdzRGFvID0gJkRBT1JlZ2lzdHJ5OjpnZXREQU8oJ05vdGlmaWNh
dGlvblNldHRpbmdzREFPJyk7CisJCQorCQkkdXNlcklkID0gJG5vdGlmaWNhdGlvblNldHRpbmdz
RGFvLT5nZXRVc2VySWRCeVJTU1Rva2VuKCR0b2tlbik7CisJCSRub3RpZmljYXRpb25zID0gJG5v
dGlmaWNhdGlvbkRhby0+Z2V0Tm90aWZpY2F0aW9uc0J5VXNlcklkKCR1c2VySWQpOworCisJCS8v
IE1ha2Ugc3VyZSB0aGUgZmVlZCB0eXBlIGlzIHNwZWNpZmllZCBhbmQgdmFsaWQKKwkJJHR5cGVN
YXAgPSBhcnJheSgKKwkJCSdyc3MnID0+ICdyc3MudHBsJywKKwkJCSdyc3MyJyA9PiAncnNzMi50
cGwnLAorCQkJJ2F0b20nID0+ICdhdG9tLnRwbCcKKwkJKTsKKwkJJG1pbWVUeXBlTWFwID0gYXJy
YXkoCisJCQkncnNzJyA9PiAnYXBwbGljYXRpb24vcmRmK3htbCcsCisJCQkncnNzMicgPT4gJ2Fw
cGxpY2F0aW9uL3Jzcyt4bWwnLAorCQkJJ2F0b20nID0+ICdhcHBsaWNhdGlvbi9hdG9tK3htbCcK
KwkJKTsKKwkJaWYgKCFpc3NldCgkdHlwZU1hcFskdHlwZV0pKSByZXR1cm4gZmFsc2U7CisKKwkJ
JHZlcnNpb25EYW8gPSYgREFPUmVnaXN0cnk6OmdldERBTygnVmVyc2lvbkRBTycpOworCQkkdmVy
c2lvbiA9ICR2ZXJzaW9uRGFvLT5nZXRDdXJyZW50VmVyc2lvbigpOworCisJCSR0ZW1wbGF0ZU1n
ciA9ICZUZW1wbGF0ZU1hbmFnZXI6OmdldE1hbmFnZXIoKTsKKwkJJHRlbXBsYXRlTWdyLT5hc3Np
Z24oJ3ZlcnNpb24nLCAkdmVyc2lvbi0+Z2V0VmVyc2lvblN0cmluZygpKTsKKwkJJHRlbXBsYXRl
TWdyLT5hc3NpZ24oJ3NlbGZVcmwnLCBSZXF1ZXN0OjpnZXRDb21wbGV0ZVVybCgpKTsgCisJCSR0
ZW1wbGF0ZU1nci0+YXNzaWduKCdsb2NhbGUnLCBMb2NhbGU6OmdldFByaW1hcnlMb2NhbGUoKSk7
IAorCQkkdGVtcGxhdGVNZ3ItPmFzc2lnbignYXBwTmFtZScsICRhcHBOYW1lKTsKKwkJJHRlbXBs
YXRlTWdyLT5hc3NpZ24oJ3NpdGVUaXRsZScsICRzaXRlVGl0bGUpOworCQkkdGVtcGxhdGVNZ3It
PmFzc2lnbl9ieV9yZWYoJ25vdGlmaWNhdGlvbnMnLCAkbm90aWZpY2F0aW9ucy0+dG9BcnJheSgp
KTsKKworCQkkdGVtcGxhdGVNZ3ItPmRpc3BsYXkoQ29yZTo6Z2V0QmFzZURpcigpIC4gRElSRUNU
T1JZX1NFUEFSQVRPUiAuICdsaWInIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuIAorCQkJJ3BrcCcg
LiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJ3RlbXBsYXRlcycgLiBESVJFQ1RPUllfU0VQQVJBVE9S
IC4gJ25vdGlmaWNhdGlvbicgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJHR5cGVNYXBbJHR5cGVd
LCAkbWltZVR5cGVNYXBbJHR5cGVdKTsKKworCQlyZXR1cm4gdHJ1ZTsKKwl9CisJCisKKwkvKioK
KwkgKiBEaXNwbGF5IHRoZSBwdWJsaWMgbm90aWZpY2F0aW9uIGVtYWlsIHN1YnNjcmlwdGlvbiBm
b3JtCisJICovCisJZnVuY3Rpb24gc3Vic2NyaWJlTWFpbExpc3QoKSB7CisJCSR0ZW1wbGF0ZU1n
ciA9ICZUZW1wbGF0ZU1hbmFnZXI6OmdldE1hbmFnZXIoKTsKKwkJJHRlbXBsYXRlTWdyLT5hc3Np
Z24oJ25ldycsIHRydWUpOworCisJCSR1c2VyID0gUmVxdWVzdDo6Z2V0VXNlcigpOworCS8vCUZJ
WE1FOiBOZWVkIHRvIGFic3RyYWN0IHN1YnNjcmlwdGlvbiBlbmFibGVkIGNoZWNrCisJLy8JaW1w
b3J0KCdwYXltZW50LlBheW1lbnRNYW5hZ2VyJyk7CisJLy8JJHN1YnNjcmlwdGlvbkVuYWJsZWQg
PSBQYXltZW50TWFuYWdlcjo6aXNDb25maWd1cmVkKCk7CisJCQkJCisJCWlmKCFpc3NldCgkdXNl
cikpIHsKKwkJCS8vICR0ZW1wbGF0ZU1nci0+YXNzaWduKCdzdWJzY3JpcHRpb25FbmFibGVkJywg
JHN1YnNjcmlwdGlvbkVuYWJsZWQpOworCQkJCisJCQlpZigkdXNlckVtYWlsID0gUmVxdWVzdDo6
Z2V0VXNlclZhcignZW1haWwnKSkgeworCQkJCSRub3RpZmljYXRpb25TZXR0aW5nc0RhbyA9ICZE
QU9SZWdpc3RyeTo6Z2V0REFPKCdOb3RpZmljYXRpb25TZXR0aW5nc0RBTycpOworCQkJCWlmKCRw
YXNzd29yZCA9ICRub3RpZmljYXRpb25TZXR0aW5nc0Rhby0+c3Vic2NyaWJlR3Vlc3QoJHVzZXJF
bWFpbCkpIHsKKwkJCQkJTm90aWZpY2F0aW9uSGFuZGxlcjo6c2VuZE1haWxpbmdMaXN0RW1haWwo
JHVzZXJFbWFpbCwgJHBhc3N3b3JkLCAnTk9USUZJQ0FUSU9OX01BSUxMSVNUX1dFTENPTUUnKTsK
KwkJCQkJJHRlbXBsYXRlTWdyLT5hc3NpZ24oJ3N1Y2Nlc3MnLCAibm90aWZpY2F0aW9uLnN1YnNj
cmliZVN1Y2Nlc3MiKTsKKwkJCQkJJHRlbXBsYXRlTWdyLT5kaXNwbGF5KCdub3RpZmljYXRpb24v
bWFpbGxpc3QudHBsJyk7CisJCQkJfSBlbHNlIHsKKwkJCQkJJHRlbXBsYXRlTWdyLT5hc3NpZ24o
J2Vycm9yJywgIm5vdGlmaWNhdGlvbi5zdWJzY3JpYmVFcnJvciIpOworCQkJCQkkdGVtcGxhdGVN
Z3ItPmRpc3BsYXkoJ25vdGlmaWNhdGlvbi9tYWlsbGlzdC50cGwnKTsKKwkJCQkKKwkJCQl9CisJ
CQl9IGVsc2UgeworCQkJCSR0ZW1wbGF0ZU1nci0+ZGlzcGxheSgnbm90aWZpY2F0aW9uL21haWxs
aXN0LnRwbCcpOworCQkJfQorCQl9IGVsc2UgUmVxdWVzdDo6cmVkaXJlY3QobnVsbCwgJ25vdGlm
aWNhdGlvbicpOworCX0KKworCS8qKgorCSAqIERpc3BsYXkgdGhlIHB1YmxpYyBub3RpZmljYXRp
b24gZW1haWwgc3Vic2NyaXB0aW9uIGZvcm0KKwkgKi8KKwlmdW5jdGlvbiB1bnN1YnNjcmliZU1h
aWxMaXN0KCkgeworCQkkdGVtcGxhdGVNZ3IgPSAmVGVtcGxhdGVNYW5hZ2VyOjpnZXRNYW5hZ2Vy
KCk7CisJCSR0ZW1wbGF0ZU1nci0+YXNzaWduKCdyZW1vdmUnLCB0cnVlKTsKKwkJCisJCSR1c2Vy
ID0gUmVxdWVzdDo6Z2V0VXNlcigpOworCQlpZighaXNzZXQoJHVzZXIpKSB7CisJCQkkdXNlckVt
YWlsID0gUmVxdWVzdDo6Z2V0VXNlclZhcignZW1haWwnKTsKKwkJCSR1c2VyUGFzc3dvcmQgPSBS
ZXF1ZXN0OjpnZXRVc2VyVmFyKCdwYXNzd29yZCcpOworCQkJCisJCQlpZigkdXNlckVtYWlsICE9
ICcnICYmICR1c2VyUGFzc3dvcmQgIT0gJycpIHsKKwkJCQkkbm90aWZpY2F0aW9uU2V0dGluZ3NE
YW8gPSAmREFPUmVnaXN0cnk6OmdldERBTygnTm90aWZpY2F0aW9uU2V0dGluZ3NEQU8nKTsKKwkJ
CQlpZigkbm90aWZpY2F0aW9uU2V0dGluZ3NEYW8tPnVuc3Vic2NyaWJlR3Vlc3QoJHVzZXJFbWFp
bCwgJHVzZXJQYXNzd29yZCkpIHsKKwkJCQkJJHRlbXBsYXRlTWdyLT5hc3NpZ24oJ3N1Y2Nlc3Mn
LCAibm90aWZpY2F0aW9uLnVuc3Vic2NyaWJlU3VjY2VzcyIpOworCQkJCQkkdGVtcGxhdGVNZ3It
PmRpc3BsYXkoJ25vdGlmaWNhdGlvbi9tYWlsbGlzdC50cGwnKTsKKwkJCQl9IGVsc2UgeworCQkJ
CQkkdGVtcGxhdGVNZ3ItPmFzc2lnbignZXJyb3InLCAibm90aWZpY2F0aW9uLnVuc3Vic2NyaWJl
RXJyb3IiKTsKKwkJCQkJJHRlbXBsYXRlTWdyLT5kaXNwbGF5KCdub3RpZmljYXRpb24vbWFpbGxp
c3QudHBsJyk7CisJCQkJfQorCQkJfSBlbHNlIGlmKCR1c2VyRW1haWwgIT0gJycgJiYgJHVzZXJQ
YXNzd29yZCA9PSAnJykgeworCQkJCSRub3RpZmljYXRpb25TZXR0aW5nc0RhbyA9ICZEQU9SZWdp
c3RyeTo6Z2V0REFPKCdOb3RpZmljYXRpb25TZXR0aW5nc0RBTycpOworCQkJCWlmKCRuZXdQYXNz
d29yZCA9ICRub3RpZmljYXRpb25TZXR0aW5nc0Rhby0+cmVzZXRQYXNzd29yZCgkdXNlckVtYWls
KSkgeworCQkJCQlOb3RpZmljYXRpb25IYW5kbGVyOjpzZW5kTWFpbGluZ0xpc3RFbWFpbCgkdXNl
ckVtYWlsLCAkdXNlclBhc3N3b3JkLCAnTk9USUZJQ0FUSU9OX01BSUxMSVNUX1BBU1NXT1JEJyk7
CisJCQkJCSR0ZW1wbGF0ZU1nci0+YXNzaWduKCdzdWNjZXNzJywgIm5vdGlmaWNhdGlvbi5yZW1p
bmRlclNlbnQiKTsKKwkJCQkJJHRlbXBsYXRlTWdyLT5kaXNwbGF5KCdub3RpZmljYXRpb24vbWFp
bGxpc3QudHBsJyk7CisJCQkJfSBlbHNlIHsKKwkJCQkJJHRlbXBsYXRlTWdyLT5hc3NpZ24oJ2Vy
cm9yJywgIm5vdGlmaWNhdGlvbi5yZW1pbmRlckVycm9yIik7CisJCQkJCSR0ZW1wbGF0ZU1nci0+
ZGlzcGxheSgnbm90aWZpY2F0aW9uL21haWxsaXN0LnRwbCcpOworCQkJCX0KKwkJCX0gZWxzZSB7
CQkKKwkJCQkkdGVtcGxhdGVNZ3ItPmFzc2lnbigncmVtb3ZlJywgdHJ1ZSk7CisJCQkJJHRlbXBs
YXRlTWdyLT5kaXNwbGF5KCdub3RpZmljYXRpb24vbWFpbGxpc3QudHBsJyk7CisJCQl9CisJCX0g
ZWxzZSBSZXF1ZXN0OjpyZWRpcmVjdChudWxsLCAnbm90aWZpY2F0aW9uJyk7CisJfQorCQorCS8q
KgorCSAqIFNlbmQgYW4gZW1haWwgdG8gYSBtYWlsaW5nIGxpc3QgdXNlciByZWdhcmRpbmcgc2ln
bnVwIG9yIGEgbG9zdCBwYXNzd29yZAorCSAqLworCWZ1bmN0aW9uIHNlbmRNYWlsaW5nTGlzdEVt
YWlsKCRlbWFpbCwgJHBhc3N3b3JkLCAkdGVtcGxhdGUpIHsKKwkJaW1wb3J0KCdtYWlsLk1haWxU
ZW1wbGF0ZScpOworCQkkam91cm5hbCA9IFJlcXVlc3Q6OmdldEpvdXJuYWwoKTsKKwkJJHNpdGUg
PSBSZXF1ZXN0OjpnZXRTaXRlKCk7CisJCQorCQkkbWFpbCA9IG5ldyBNYWlsVGVtcGxhdGUoJHRl
bXBsYXRlKTsKKwkJJG1haWwtPnNldEZyb20oJHNpdGUtPmdldFNpdGVDb250YWN0RW1haWwoKSwg
JHNpdGUtPmdldFNpdGVDb250YWN0TmFtZSgpKTsKKwkJJG1haWwtPmFzc2lnblBhcmFtcyhhcnJh
eSgKKwkJCSdwYXNzd29yZCcgPT4gJHBhc3N3b3JkLAorCQkJJ3NpdGVUaXRsZScgPT4gJGpvdXJu
YWwtPmdldEpvdXJuYWxUaXRsZSgpLAorCQkJJ3Vuc3Vic2NyaWJlTGluaycgPT4gUmVxdWVzdDo6
dXJsKG51bGwsICdub3RpZmljYXRpb24nLCAndW5zdWJzY3JpYmVNYWlsTGlzdCcpCisJCSkpOwor
CQkkbWFpbC0+YWRkUmVjaXBpZW50KCRlbWFpbCk7CisJCSRtYWlsLT5zZW5kKCk7CisJfQkKK30K
KworPz4KSW5kZXg6IHBhZ2VzL25vdGlmaWNhdGlvbi9pbmRleC5waHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1Mg
ZmlsZTogcGFnZXMvbm90aWZpY2F0aW9uL2luZGV4LnBocApkaWZmIC1OIHBhZ2VzL25vdGlmaWNh
dGlvbi9pbmRleC5waHAKLS0tIC9kZXYvbnVsbAkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAwCisr
KyBwYWdlcy9ub3RpZmljYXRpb24vaW5kZXgucGhwCTIxIEphbiAyMDA5IDE4OjI3OjQ0IC0wMDAw
CkBAIC0wLDAgKzEsMjMgQEAKKzw/cGhwCisKKy8qKgorICogQGRlZmdyb3VwIHBhZ2VzX25vdGlm
aWNhdGlvbgorICovCisgCisvKioKKyAqIEBmaWxlIHBhZ2VzL25vdGlmaWNhdGlvbi9pbmRleC5w
aHAKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDAtMjAwOCBKb2huIFdpbGxpbnNreQorICogRGlz
dHJpYnV0ZWQgdW5kZXIgdGhlIEdOVSBHUEwgdjIuIEZvciBmdWxsIHRlcm1zIHNlZSB0aGUgZmls
ZSBkb2NzL0NPUFlJTkcuCisgKgorICogQGluZ3JvdXAgcGFnZXNfbm90aWZpY2F0aW9uCisgKiBA
YnJpZWYgSGFuZGxlIHJlcXVlc3RzIGZvciB2aWV3aW5nIG5vdGlmaWNhdGlvbnMuIAorICoKKyAq
LworCisKK2RlZmluZSgnSEFORExFUl9DTEFTUycsICdOb3RpZmljYXRpb25IYW5kbGVyJyk7CisK
K2ltcG9ydCgncGFnZXMubm90aWZpY2F0aW9uLk5vdGlmaWNhdGlvbkhhbmRsZXInKTsKKworPz4K
SW5kZXg6IHRlbXBsYXRlcy9pbWFnZXMvYXRvbTEwX2xvZ28ucG5nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZp
bGU6IHRlbXBsYXRlcy9pbWFnZXMvYXRvbTEwX2xvZ28ucG5nCmRpZmYgLU4gdGVtcGxhdGVzL2lt
YWdlcy9hdG9tMTBfbG9nby5wbmcKQmluYXJ5IGZpbGVzIC9kZXYvbnVsbCBhbmQgYXRvbTEwX2xv
Z28ucG5nIGRpZmZlcgpJbmRleDogdGVtcGxhdGVzL2ltYWdlcy9yc3MxMF9sb2dvLnBuZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09ClJDUyBmaWxlOiB0ZW1wbGF0ZXMvaW1hZ2VzL3JzczEwX2xvZ28ucG5nCmRpZmYgLU4g
dGVtcGxhdGVzL2ltYWdlcy9yc3MxMF9sb2dvLnBuZwpCaW5hcnkgZmlsZXMgL2Rldi9udWxsIGFu
ZCByc3MxMF9sb2dvLnBuZyBkaWZmZXIKSW5kZXg6IHRlbXBsYXRlcy9pbWFnZXMvcnNzMjBfbG9n
by5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogdGVtcGxhdGVzL2ltYWdlcy9yc3MyMF9sb2dvLnBu
ZwpkaWZmIC1OIHRlbXBsYXRlcy9pbWFnZXMvcnNzMjBfbG9nby5wbmcKQmluYXJ5IGZpbGVzIC9k
ZXYvbnVsbCBhbmQgcnNzMjBfbG9nby5wbmcgZGlmZmVyCkluZGV4OiB0ZW1wbGF0ZXMvbm90aWZp
Y2F0aW9uL2F0b20udHBsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IHRlbXBsYXRlcy9ub3RpZmljYXRp
b24vYXRvbS50cGwKZGlmZiAtTiB0ZW1wbGF0ZXMvbm90aWZpY2F0aW9uL2F0b20udHBsCi0tLSAv
ZGV2L251bGwJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMAorKysgdGVtcGxhdGVzL25vdGlmaWNh
dGlvbi9hdG9tLnRwbAkyMSBKYW4gMjAwOSAxODoyNzo0NCAtMDAwMApAQCAtMCwwICsxLDQzIEBA
Cit7KioKKyAqIGF0b20udHBsCisgKgorICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMDggSm9obiBX
aWxsaW5za3kKKyAqIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR1BMIHYyLiBGb3IgZnVsbCB0
ZXJtcyBzZWUgdGhlIGZpbGUgZG9jcy9DT1BZSU5HLgorICoKKyAqIEF0b20gZmVlZCB0ZW1wbGF0
ZQorICoKKyAqICRJZDogYXRvbS50cGwsdiAxLjMgMjAwOC8wNi8xMSAyMTo1MjoyNiBhc21lY2hl
ciBFeHAgJAorICp9Cis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ7JGRlZmF1bHRDaGFy
c2V0fGVzY2FwZX0iPz4KKzxmZWVkIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDA1L0F0b20i
PgorCTxpZD57JHNlbGZVcmx9PC9pZD4KKwk8dGl0bGU+eyRzaXRlVGl0bGV9IHt0cmFuc2xhdGUg
a2V5PSJub3RpZmljYXRpb24ubm90aWZpY2F0aW9ucyJ9PC90aXRsZT4KKworCTxsaW5rIHJlbD0i
c2VsZiIgdHlwZT0iYXBwbGljYXRpb24vYXRvbSt4bWwiIGhyZWY9Inskc2VsZlVybH0iIC8+CisK
Kwk8Z2VuZXJhdG9yIHVyaT0iaHR0cDovL3BrcC5zZnUuY2Evb2pzLyIgdmVyc2lvbj0ieyR2ZXJz
aW9ufGVzY2FwZX0iPnt0cmFuc2xhdGUga2V5PSRhcHBOYW1lfTwvZ2VuZXJhdG9yPgorCit7Zm9y
ZWFjaCBmcm9tPSRub3RpZmljYXRpb25zIGl0ZW09bm90aWZpY2F0aW9ufQorCTxlbnRyeT4KKwkJ
PGlkPiRub3RpZmljYXRpb24tPmdldE5vdGlmaWNhdGlvbklkKCk8L2lkPgorCQk8dGl0bGU+e3Ry
YW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5ub3RpZmljYXRpb24ifSA6IHskbm90aWZpY2F0aW9u
LT5nZXREYXRlQ3JlYXRlZCgpfGRhdGVfZm9ybWF0OiIlYSwgJWQgJWIgJVkgJVQgJXoifTwvdGl0
bGU+CisJCXtpZiAkbm90aWZpY2F0aW9uLT5nZXRMb2NhdGlvbigpICE9IG51bGx9CisJCQk8bGlu
ayByZWw9ImFsdGVybmF0ZSIgaHJlZj0ieyRub3RpZmljYXRpb24tPmdldExvY2F0aW9uKCl9IiAv
PgkJCQkJCisJCXtlbHNlfQorCQkJPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWY9Int1cmwgcGFn
ZT0ibm90aWZpY2F0aW9uIn0iIC8+CQkJCQkKKwkJey9pZn0KKworCQk8c3VtbWFyeSB0eXBlPSJo
dG1sIiB4bWw6YmFzZT0ie2lmICRub3RpZmljYXRpb24tPmdldExvY2F0aW9uKCkgIT0gbnVsbH17
JG5vdGlmaWNhdGlvbi0+Z2V0TG9jYXRpb24oKX17ZWxzZX17dXJsIHBhZ2U9Im5vdGlmaWNhdGlv
biJ9ey9pZn0iPgorCQkJe2lmICRub3RpZmljYXRpb24tPmdldElzTG9jYWxpemVkKCl9CisJCQkJ
e3RyYW5zbGF0ZSBrZXk9JG5vdGlmaWNhdGlvbi0+Z2V0Q29udGVudHMoKSBwYXJhbT0kbm90aWZp
Y2F0aW9uLT5nZXRQYXJhbSgpfQorCQkJe2Vsc2V9CisJCQkJeyRub3RpZmljYXRpb24tPmdldENv
bnRlbnRzKCl9CisJCQl7L2lmfQorCQk8L3N1bW1hcnk+CisKKwkJPHB1Ymxpc2hlZD57JG5vdGlm
aWNhdGlvbi0+Z2V0RGF0ZUNyZWF0ZWQoKXxkYXRlX2Zvcm1hdDoiJVktJW0tJWRUJVQleiJ8cmVn
ZXhfcmVwbGFjZToiLzAwJC8iOiI6MDAifTwvcHVibGlzaGVkPgorCTwvZW50cnk+Cit7L2ZvcmVh
Y2h9Cis8L2ZlZWQ+CisKKwpJbmRleDogdGVtcGxhdGVzL25vdGlmaWNhdGlvbi9pbmRleC50cGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQpSQ1MgZmlsZTogdGVtcGxhdGVzL25vdGlmaWNhdGlvbi9pbmRleC50cGwKZGlm
ZiAtTiB0ZW1wbGF0ZXMvbm90aWZpY2F0aW9uL2luZGV4LnRwbAotLS0gL2Rldi9udWxsCTEgSmFu
IDE5NzAgMDA6MDA6MDAgLTAwMDAKKysrIHRlbXBsYXRlcy9ub3RpZmljYXRpb24vaW5kZXgudHBs
CTIxIEphbiAyMDA5IDE4OjI3OjQ0IC0wMDAwCkBAIC0wLDAgKzEsODMgQEAKK3sqKgorICogaW5k
ZXgudHBsCisgKgorICogQ29weXJpZ2h0IChjKSAyMDAwLTIwMDggSm9obiBXaWxsaW5za3kKKyAq
IERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR1BMIHYyLiBGb3IgZnVsbCB0ZXJtcyBzZWUgdGhl
IGZpbGUgZG9jcy9DT1BZSU5HLgorICoKKyAqIERpc3BsYXkgbGlzdCBvZiBub3RpZmljYXRpb25z
LiAKKyAqCisgKn0KK3tzdHJpcH0KK3thc3NpZ24gdmFyPSJwYWdlVGl0bGUiIHZhbHVlPSJub3Rp
ZmljYXRpb24ubm90aWZpY2F0aW9ucyJ9Cit7aW5jbHVkZSBmaWxlPSJjb21tb24vaGVhZGVyLnRw
bCJ9Cit7L3N0cmlwfQorCis8dGFibGUgd2lkdGg9IjEwMCUiPgorCTx0cj4KKwkJPHRkPntpZiAk
aXNVc2VyTG9nZ2VkSW59CisJCQkJPHA+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5ub3Rp
ZmljYXRpb25zRGVzY3JpcHRpb24iIHVucmVhZENvdW50PSR1bnJlYWQgcmVhZENvdW50PSRyZWFk
IHNldHRpbmdzVXJsPSR1cmx9PC9wPgorCQkJe2Vsc2V9CisJCQkJPHA+e3RyYW5zbGF0ZSBrZXk9
Im5vdGlmaWNhdGlvbi5ub3RpZmljYXRpb25zUHVibGljRGVzY3JpcHRpb24iIGVtYWlsVXJsPSRl
bWFpbFVybH08L3A+CisJCQl7L2lmfQorCQk8L3RkPgorCQk8dGQ+PHVsIGNsYXNzPSJwbGFpbiI+
CisJCQk8bGk+PGEgaHJlZj0ie3VybCBvcD0iZ2V0Tm90aWZpY2F0aW9uRmVlZFVybCIgcGF0aD0i
cnNzIn0iIGNsYXNzPSJpY29uIj48aW1nIHNyYz0ieyRiYXNlVXJsfS9saWIvcGtwL3RlbXBsYXRl
cy9pbWFnZXMvcnNzMTBfbG9nby5wbmciIGFsdD0iUlNTIDEuMCIvPjwvYT48L2xpPgorCQkJPGxp
PjxhIGhyZWY9Int1cmwgb3A9ImdldE5vdGlmaWNhdGlvbkZlZWRVcmwiIHBhdGg9InJzczIifSIg
Y2xhc3M9Imljb24iPjxpbWcgc3JjPSJ7JGJhc2VVcmx9L2xpYi9wa3AvdGVtcGxhdGVzL2ltYWdl
cy9yc3MyMF9sb2dvLnBuZyIgYWx0PSJSU1MgMi4wIi8+PC9hPjwvbGk+CisJCQk8bGk+PGEgaHJl
Zj0ie3VybCBvcD0iZ2V0Tm90aWZpY2F0aW9uRmVlZFVybCIgcGF0aD0iYXRvbSJ9IiBjbGFzcz0i
aWNvbiI+PGltZyBzcmM9InskYmFzZVVybH0vbGliL3BrcC90ZW1wbGF0ZXMvaW1hZ2VzL2F0b20x
MF9sb2dvLnBuZyIgYWx0PSJBdG9tIDEuMCIvPjwvYT48L2xpPgorCQk8L3VsPjwvdGQ+CisJPC90
cj4KKzwvdGFibGU+CisKKzxici8+CisKKzxkaXYgaWQ9Im5vdGlmaWNhdGlvbnMiPgore2l0ZXJh
dGUgZnJvbT1ub3RpZmljYXRpb25zIGl0ZW09bm90aWZpY2F0aW9ufQorCTx0YWJsZSB3aWR0aD0i
MTAwJSIgY2xhc3M9Im5vdGlmaWNhdGlvbnMiPgorCQk8dHI+CisJCQk8dGQgd2lkdGg9IjI1Ij48
aW1nIHNyYz0ieyRub3RpZmljYXRpb24tPmdldEljb25Mb2NhdGlvbigpfSIgYWx0PSImIzE4NyIv
PjwvdGQ+CisJCQk8dGQgY2xhc3M9Im5vdGlmaWNhdGlvbkNvbnRlbnQiIGNvbHNwYW49IjIiIHdp
ZHRoPSI4MCUiPgorCQkJCXskbm90aWZpY2F0aW9uLT5nZXREYXRlQ3JlYXRlZCgpfQorCQkJPC90
ZD4KKwkJCXtpZiAkbm90aWZpY2F0aW9uLT5nZXRMb2NhdGlvbigpICE9IG51bGx9CisJCQkJPHRk
IGlkPSJub3RpZmljYXRpb25MaW5rIiBjbGFzcz0ibm90aWZpY2F0aW9uRnVuY3Rpb24iIHN0eWxl
PSJtaW4td2lkdGg6NjBweCI+PGEgaHJlZj0ieyRub3RpZmljYXRpb24tPmdldExvY2F0aW9uKCl9
Ij57dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLmxvY2F0aW9uIn08L2E+PC90ZD4KKwkJCXtl
bHNlfQorCQkJCTx0ZCBpZD0ibm90aWZpY2F0aW9uTGluayIgY2xhc3M9Im5vdGlmaWNhdGlvbkZ1
bmN0aW9uIj48L3RkPgorCQkJey9pZn0KKwkJCTx0ZCBpZD0ibm90aWZpY2F0aW9uRGVsZXRlIiBj
bGFzcz0ibm90aWZpY2F0aW9uRnVuY3Rpb24iPjxhIGlkPSJub3RpZmljYXRpb25EZWxldGVMaW5r
IiBocmVmPSJ7dXJsIG9wPSJkZWxldGUiIHBhdGg9JG5vdGlmaWNhdGlvbi0+Z2V0Tm90aWZpY2F0
aW9uSWQoKX0iPnt0cmFuc2xhdGUga2V5PSJjb21tb24uZGVsZXRlIn08L2E+PC90ZD4KKwkJPC90
cj4KKwkJPHRyPgorCQkJPHRkIHdpZHRoPSIyNSI+Jm5ic3A7PC90ZD4KKwkJCTx0ZCBjbGFzcz0i
bm90aWZpY2F0aW9uQ29udGVudCI+CisJCQkJe2lmICRub3RpZmljYXRpb24tPmdldElzVW5yZWFk
KCl9CisJCQkJCXtpZiAkbm90aWZpY2F0aW9uLT5nZXRJc0xvY2FsaXplZCgpfTxwIHN0eWxlPSJm
b250LXdlaWdodDogYm9sZCI+e3RyYW5zbGF0ZSBrZXk9JG5vdGlmaWNhdGlvbi0+Z2V0Q29udGVu
dHMoKSBwYXJhbT0kbm90aWZpY2F0aW9uLT5nZXRQYXJhbSgpfTwvcD4KKwkJCQkJe2Vsc2V9PHAg
c3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkIj57JG5vdGlmaWNhdGlvbi0+Z2V0Q29udGVudHMoKX17
L2lmfQorCQkJCXtlbHNlfQorCQkJCQl7aWYgJG5vdGlmaWNhdGlvbi0+Z2V0SXNMb2NhbGl6ZWQo
KX08cD57dHJhbnNsYXRlIGtleT0kbm90aWZpY2F0aW9uLT5nZXRDb250ZW50cygpIHBhcmFtPSRu
b3RpZmljYXRpb24tPmdldFBhcmFtKCl9PC9wPgorCQkJCQl7ZWxzZX08cD57JG5vdGlmaWNhdGlv
bi0+Z2V0Q29udGVudHMoKX08L3A+ey9pZn0JCisJCQkJey9pZn0KKwkJCTwvdGQ+CisJCTwvdHI+
CisJPC90YWJsZT4KKwk8ZGl2IGNsYXNzPSJzZXBhcmF0b3IiIHN0eWxlPSJtYXJnaW4tbGVmdDoy
NXB4Ij48L2Rpdj4KK3svaXRlcmF0ZX0KK3tpZiAkbm90aWZpY2F0aW9ucy0+d2FzRW1wdHkoKX0K
Kwk8dGFibGUgY2xhc3M9Im5vdGlmaWNhdGlvbnMiPgorCQk8dHI+CisJCQk8dGQgY29sc3Bhbj0i
MiIgY2xhc3M9Im5vZGF0YSI+PGg1Pnt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24ubm9uZUV4
aXN0In08L2g1PjwvdGQ+CisJCTwvdHI+CisJCTx0cj4KKwkJCTx0ZCBjb2xzcGFuPSIyIiBjbGFz
cz0iZW5kc2VwYXJhdG9yIj4mbmJzcDs8L3RkPgorCQk8L3RyPgorCTwvdGFibGU+Cit7ZWxzZX0K
Kwk8dGFibGUgY2xhc3M9Im5vdGlmaWNhdGlvbnMiPgorCQk8dHI+CisJCQk8dGQgYWxpZ249Imxl
ZnQiPntwYWdlX2luZm8gaXRlcmF0b3I9JG5vdGlmaWNhdGlvbnN9PC90ZD4KKwkJCTx0ZCBhbGln
bj0icmlnaHQiPntwYWdlX2xpbmtzIGFuY2hvcj0ibm90aWZpY2F0aW9ucyIgbmFtZT0ibm90aWZp
Y2F0aW9ucyIgaXRlcmF0b3I9JG5vdGlmaWNhdGlvbnN9PC90ZD4KKwkJPC90cj4KKwk8L3RhYmxl
Pgorey9pZn0KKworPC9kaXY+CisKK3tpbmNsdWRlIGZpbGU9ImNvbW1vbi9mb290ZXIudHBsIn0K
SW5kZXg6IHRlbXBsYXRlcy9ub3RpZmljYXRpb24vbWFpbGxpc3QudHBsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT
IGZpbGU6IHRlbXBsYXRlcy9ub3RpZmljYXRpb24vbWFpbGxpc3QudHBsCmRpZmYgLU4gdGVtcGxh
dGVzL25vdGlmaWNhdGlvbi9tYWlsbGlzdC50cGwKLS0tIC9kZXYvbnVsbAkxIEphbiAxOTcwIDAw
OjAwOjAwIC0wMDAwCisrKyB0ZW1wbGF0ZXMvbm90aWZpY2F0aW9uL21haWxsaXN0LnRwbAkyMSBK
YW4gMjAwOSAxODoyNzo0NCAtMDAwMApAQCAtMCwwICsxLDg1IEBACit7KioKKyAqIGluZGV4LnRw
bAorICoKKyAqIENvcHlyaWdodCAoYykgMjAwMC0yMDA4IEpvaG4gV2lsbGluc2t5CisgKiBEaXN0
cmlidXRlZCB1bmRlciB0aGUgR05VIEdQTCB2Mi4gRm9yIGZ1bGwgdGVybXMgc2VlIHRoZSBmaWxl
IGRvY3MvQ09QWUlORy4KKyAqCisgKiBEaXNwbGF5cyB0aGUgbm90aWZpY2F0aW9uIHNldHRpbmdz
IHBhZ2UgYW5kIHVuY2hlY2tzICAKKyAqCisgKn0KK3tzdHJpcH0KK3thc3NpZ24gdmFyPSJwYWdl
VGl0bGUiIHZhbHVlPSJub3RpZmljYXRpb24ubWFpbExpc3QifQore2luY2x1ZGUgZmlsZT0iY29t
bW9uL2hlYWRlci50cGwifQorey9zdHJpcH0KKwore2lmICRuZXd9CisJPHA+PHNwYW4gY2xhc3M9
Imluc3RydWN0Ij57dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLm1haWxMaXN0RGVzY3JpcHRp
b24ifTwvc3Bhbj48L3A+CisJPGJyIC8+CisKKwl7aWYgJGVycm9yfQorCQk8cD48c3BhbiBjbGFz
cz0iZm9ybUVycm9yIj57dHJhbnNsYXRlIGtleT0iJGVycm9yIn08L3NwYW4+PC9wPgorCXsvaWZ9
CisJCisJe2lmICRzdWNjZXNzfQorCQk8cD48c3BhbiBjbGFzcz0iZm9ybVN1Y2Nlc3MiPnt0cmFu
c2xhdGUga2V5PSIkc3VjY2VzcyJ9PC9zcGFuPjwvcD4KKwl7L2lmfQorCisJPGZvcm0gaWQ9Im5v
dGlmaWNhdGlvblNldHRpbmdzIiBtZXRob2Q9InBvc3QiIGFjdGlvbj0ie3VybCBvcD0ic3Vic2Ny
aWJlTWFpbExpc3QifSI+CisJCisJPHRhYmxlIGNsYXNzPSJkYXRhIiB3aWR0aD0iMTAwJSI+CisJ
CTx0ciB2YWxpZ249InRvcCI+CisJCQk8dGQgY2xhc3M9ImxhYmVsIiB3aWR0aD0iNSUiPnt0cmFu
c2xhdGUga2V5PSJlbWFpbC5lbWFpbCJ9PC90ZD4KKwkJCTx0ZCBjbGFzcz0idmFsdWUiIHdpZHRo
PSI0NSUiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJlbWFpbCIgc2l6ZT0iMzAiIG1heGxlbmd0
aD0iOTAiIGNsYXNzPSJ0ZXh0RmllbGQiIC8+PC90ZD4KKwkJPC90cj4KKwkJPHRyIHZhbGlnbj0i
dG9wIj4KKwkJCTx0ZCB3aWR0aD0iNSUiPiZuYnNwOzwvdGQ+CisJCQk8dGQ+PHA+PGlucHV0IHR5
cGU9InN1Ym1pdCIgdmFsdWU9Int0cmFuc2xhdGUga2V5PSJmb3JtLnN1Ym1pdCJ9IiBjbGFzcz0i
YnV0dG9uIGRlZmF1bHRCdXR0b24iIC8+PC9wPjwvdGQ+CisJCTwvdHI+CisJPC90YWJsZT4KKwk8
L2Zvcm0+CisJCisJPHVsIGNsYXNzPSJwbGFpbiIgc3R5bGU9Im1hcmdpbi1sZWZ0OjEwJSI+CisJ
CXt1cmx8YXNzaWduOiJ1cmwiIHBhZ2U9InVzZXIiIG9wPSJyZWdpc3RlciJ9CisJCTxsaT4mIzE4
Nzsge3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5tYWlsTGlzdC5yZXZpZXciIHJldmlld1Vy
bD0kdXJsfSA8L2xpPgorCQl7dXJsfGFzc2lnbjoidXJsIiBwYWdlPSJpbmZvcm1hdGlvbiIgb3A9
ImF1dGhvcnMifQorCQk8bGk+JiMxODc7IHt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24ubWFp
bExpc3Quc3VibWl0IiBzdWJtaXRVcmw9JHVybH0gPC9saT4KKwkJeyoqIG5lZWQgdG8gYWJzdHJh
Y3Qgc3Vic2NyaXB0aW9uIGVuYWJsZWQgY2hlY2sKKwkJKiBhc3NpZ24gdmFyPXN1YnNjcmliZVVy
bCB2YWx1ZT0idXJsIG9wPSJzdWJzY3JpcHRpb25zIiIKKwkJKiBpZiAkc3Vic2NyaXB0aW9uRW5h
YmxlZCA8bGk+JiMxODc7IHRyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5tYWlsTGlzdC5wcm90
ZWN0ZWRDb250ZW50IiBzdWJzY3JpYmVVcmw9JHN1YnNjcmliZVVybAorCQkqfQorCQk8bGk+JiMx
ODc7IDxhIGhyZWY9Int1cmwgb3A9InByb3RlY3Rpb25Qb2xpY3kifSI+e3RyYW5zbGF0ZSBrZXk9
Im5vdGlmaWNhdGlvbi5tYWlsTGlzdC5wcml2YWN5UHJvdGVjdGlvbiJ9PC9hPjwvbGk+CisJPHVs
Pgore2Vsc2UgaWYgJHJlbW92ZX0KKwk8cD48c3BhbiBjbGFzcz0iaW5zdHJ1Y3QiPnt0cmFuc2xh
dGUga2V5PSJub3RpZmljYXRpb24udW5zdWJzY3JpYmVEZXNjcmlwdGlvbiJ9PC9zcGFuPjwvcD4K
Kwk8YnIgLz4KKworCXtpZiAkZXJyb3J9CisJCTxwPjxzcGFuIGNsYXNzPSJmb3JtRXJyb3IiPnt0
cmFuc2xhdGUga2V5PSIkZXJyb3IifTwvc3Bhbj48L3A+CisJey9pZn0KKwkKKwl7aWYgJHN1Y2Nl
c3N9CisJCTxwPjxzcGFuIGNsYXNzPSJmb3JtU3VjY2VzcyI+e3RyYW5zbGF0ZSBrZXk9IiRzdWNj
ZXNzIn08L3NwYW4+PC9wPgorCXsvaWZ9CisJCisJPGZvcm0gaWQ9Im5vdGlmaWNhdGlvblNldHRp
bmdzIiBtZXRob2Q9InBvc3QiIGFjdGlvbj0ie3VybCBvcD0idW5zdWJzY3JpYmVNYWlsTGlzdCJ9
Ij4KKwk8dGFibGUgY2xhc3M9ImRhdGEiIHdpZHRoPSIxMDAlIj4KKwkJPHRyIHZhbGlnbj0idG9w
Ij4KKwkJCTx0ZCBjbGFzcz0ibGFiZWwiIHdpZHRoPSI1JSI+e3RyYW5zbGF0ZSBrZXk9ImVtYWls
LmVtYWlsIn08L3RkPgorCQkJPHRkIGNsYXNzPSJ2YWx1ZSIgd2lkdGg9IjQ1JSI+PGlucHV0IHR5
cGU9InRleHQiIG5hbWU9ImVtYWlsIiBzaXplPSIzMCIgbWF4bGVuZ3RoPSI5MCIgY2xhc3M9InRl
eHRGaWVsZCIgLz48L3RkPgorCQk8L3RyPgorCQk8dHIgdmFsaWduPSJ0b3AiPgorCQkJPHRkIGNs
YXNzPSJsYWJlbCIgd2lkdGg9IjUlIj57dHJhbnNsYXRlIGtleT0idXNlci5wYXNzd29yZCJ9PC90
ZD4KKwkJCTx0ZCBjbGFzcz0idmFsdWUiIHdpZHRoPSI0NSUiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBu
YW1lPSJwYXNzd29yZCIgc2l6ZT0iMzAiIG1heGxlbmd0aD0iOTAiIGNsYXNzPSJ0ZXh0RmllbGQi
IC8+PC90ZD4KKwkJPC90cj4KKwkJPHRyIHZhbGlnbj0idG9wIj4KKwkJCTx0ZCB3aWR0aD0iNSUi
PiZuYnNwOzwvdGQ+CisJCQk8dGQ+PHA+PGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9Int0cmFu
c2xhdGUga2V5PSJmb3JtLnN1Ym1pdCJ9IiBjbGFzcz0iYnV0dG9uIGRlZmF1bHRCdXR0b24iIC8+
PC9wPjwvdGQ+CisJCTwvdHI+CisJPC90YWJsZT4KKwkKKwk8L2Zvcm0+Cit7L2lmfQorCis8L2Zv
cm0+CisKK3tpbmNsdWRlIGZpbGU9ImNvbW1vbi9mb290ZXIudHBsIn0KSW5kZXg6IHRlbXBsYXRl
cy9ub3RpZmljYXRpb24vcnNzLnRwbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiB0ZW1wbGF0ZXMvbm90
aWZpY2F0aW9uL3Jzcy50cGwKZGlmZiAtTiB0ZW1wbGF0ZXMvbm90aWZpY2F0aW9uL3Jzcy50cGwK
LS0tIC9kZXYvbnVsbAkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAwCisrKyB0ZW1wbGF0ZXMvbm90
aWZpY2F0aW9uL3Jzcy50cGwJMjEgSmFuIDIwMDkgMTg6Mjc6NDQgLTAwMDAKQEAgLTAsMCArMSw1
MyBAQAoreyoqCisgKiByc3MudHBsCisgKgorICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMDggSm9o
biBXaWxsaW5za3kKKyAqIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR1BMIHYyLiBGb3IgZnVs
bCB0ZXJtcyBzZWUgdGhlIGZpbGUgZG9jcy9DT1BZSU5HLgorICoKKyAqIFJTUyBmZWVkIHRlbXBs
YXRlCisgKgorICogJElkOiByc3MudHBsLHYgMS4zIDIwMDgvMDYvMTEgMjE6NTI6MjYgYXNtZWNo
ZXIgRXhwICQKKyAqfQorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0ieyRkZWZhdWx0Q2hh
cnNldHxlc2NhcGV9Ij8+Cis8cmRmOlJERgorCXhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcv
MTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKKwl4bWxucz0iaHR0cDovL3B1cmwub3JnL3Jzcy8x
LjAvIgorCXhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKKwl4bWxu
czpwcmlzbT0iaHR0cDovL3ByaXNtc3RhbmRhcmQub3JnL25hbWVzcGFjZXMvMS4yL2Jhc2ljLyI+
CisgICAgCisJPGNoYW5uZWwgcmRmOmFib3V0PSJ7JGJhc2VVcmx9Ij4KKwkJPHRpdGxlPnskc2l0
ZVRpdGxlfSB7dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLm5vdGlmaWNhdGlvbnMifTwvdGl0
bGU+CisJCTxsaW5rPnskc2VsZlVybH08L2xpbms+CisJCTxsYW5ndWFnZT57JGxvY2FsZXxyZXBs
YWNlOidfJzonLSd8c3RyaXB8ZXNjYXBlOiJodG1sIn08L2xhbmd1YWdlPgorCQk8aXRlbXM+CisJ
CQl7Zm9yZWFjaCBmcm9tPSRub3RpZmljYXRpb25zIGl0ZW09bm90aWZpY2F0aW9ufQorCQkJPHJk
ZjpTZXE+CisJCQkJPHJkZjpsaSByZGY6cmVzb3VyY2U9Int1cmwgcGFnZT0ibm90aWZpY2F0aW9u
In0iLz4KKwkJCTwvcmRmOlNlcT4KKwkJCXsvZm9yZWFjaH0KKwkJPC9pdGVtcz4KKwk8L2NoYW5u
ZWw+CisKKwl7Zm9yZWFjaCBmcm9tPSRub3RpZmljYXRpb25zIGl0ZW09bm90aWZpY2F0aW9ufQor
CTxpdGVtIHJkZjphYm91dD0ie3VybCBwYWdlPSJub3RpZmljYXRpb24ifSI+CisJCTx0aXRsZT57
dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLm5vdGlmaWNhdGlvbiJ9IDogeyRub3RpZmljYXRp
b24tPmdldERhdGVDcmVhdGVkKCl8ZGF0ZV9mb3JtYXQ6IiVhLCAlZCAlYiAlWSAlVCAleiJ9PC90
aXRsZT4KKwkJPGxpbms+CisJCQl7aWYgJG5vdGlmaWNhdGlvbi0+Z2V0TG9jYXRpb24oKSAhPSBu
dWxsfQorCQkJCXskbm90aWZpY2F0aW9uLT5nZXRMb2NhdGlvbigpfQorCQkJe2Vsc2V9CisJCQkJ
e3VybCBwYWdlPSJub3RpZmljYXRpb24ifQorCQkJey9pZn0KKwkJPC9saW5rPgorCQk8ZGVzY3Jp
cHRpb24+CisJCQl7aWYgJG5vdGlmaWNhdGlvbi0+Z2V0SXNMb2NhbGl6ZWQoKX0KKwkJCQl7dHJh
bnNsYXRlIGtleT0kbm90aWZpY2F0aW9uLT5nZXRDb250ZW50cygpIHBhcmFtPSRub3RpZmljYXRp
b24tPmdldFBhcmFtKCl9CisJCQl7ZWxzZX0KKwkJCQl7JG5vdGlmaWNhdGlvbi0+Z2V0Q29udGVu
dHMoKX0KKwkJCXsvaWZ9CisJCTwvZGVzY3JpcHRpb24+CQorCQk8ZGM6Y3JlYXRvcj57JHNpdGVU
aXRsZXxzdHJpcHxlc2NhcGU6Imh0bWwifTwvZGM6Y3JlYXRvcj4KKwkJPGRjOmRhdGU+eyRub3Rp
ZmljYXRpb24tPmdldERhdGVDcmVhdGVkKCl8ZGF0ZV9mb3JtYXQ6IiVZLSVtLSVkIn08L2RjOmRh
dGU+CisJPC9pdGVtPgorCXsvZm9yZWFjaH0KKworPC9yZGY6UkRGPgpJbmRleDogdGVtcGxhdGVz
L25vdGlmaWNhdGlvbi9yc3MyLnRwbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiB0ZW1wbGF0ZXMvbm90
aWZpY2F0aW9uL3JzczIudHBsCmRpZmYgLU4gdGVtcGxhdGVzL25vdGlmaWNhdGlvbi9yc3MyLnRw
bAotLS0gL2Rldi9udWxsCTEgSmFuIDE5NzAgMDA6MDA6MDAgLTAwMDAKKysrIHRlbXBsYXRlcy9u
b3RpZmljYXRpb24vcnNzMi50cGwJMjEgSmFuIDIwMDkgMTg6Mjc6NDQgLTAwMDAKQEAgLTAsMCAr
MSw0NSBAQAoreyoqCisgKiByc3MyLnRwbAorICoKKyAqIENvcHlyaWdodCAoYykgMjAwMy0yMDA4
IEpvaG4gV2lsbGluc2t5CisgKiBEaXN0cmlidXRlZCB1bmRlciB0aGUgR05VIEdQTCB2Mi4gRm9y
IGZ1bGwgdGVybXMgc2VlIHRoZSBmaWxlIGRvY3MvQ09QWUlORy4KKyAqCisgKiBSU1MgMiBmZWVk
IHRlbXBsYXRlCisgKgorICogJElkOiByc3MyLnRwbCx2IDEuMyAyMDA4LzA2LzExIDIxOjUyOjI2
IGFzbWVjaGVyIEV4cCAkCisgKn0KKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InskZGVm
YXVsdENoYXJzZXR8ZXNjYXBlfSI/PgorPHJzcyB2ZXJzaW9uPSIyLjAiPgorCTxjaGFubmVsPgor
CQl7KiByZXF1aXJlZCBlbGVtZW50cyAqfQorCQk8dGl0bGU+eyRzaXRlVGl0bGV9IHt0cmFuc2xh
dGUga2V5PSJub3RpZmljYXRpb24ubm90aWZpY2F0aW9ucyJ9PC90aXRsZT4KKwkJPGxpbms+eyRz
ZWxmVXJsfTwvbGluaz4KKworCQl7KiBvcHRpb25hbCBlbGVtZW50cyAqfQorCSAgICA8bGFuZ3Vh
Z2U+eyRsb2NhbGV8cmVwbGFjZTonXyc6Jy0nfHN0cmlwfGVzY2FwZToiaHRtbCJ9PC9sYW5ndWFn
ZT4KKwkJPGdlbmVyYXRvcj57dHJhbnNsYXRlIGtleT0kYXBwTmFtZX0geyR2ZXJzaW9ufGVzY2Fw
ZX08L2dlbmVyYXRvcj4KKwkJPGRvY3M+aHR0cDovL2Jsb2dzLmxhdy5oYXJ2YXJkLmVkdS90ZWNo
L3JzczwvZG9jcz4KKwkJPHR0bD42MDwvdHRsPgorCisJCXtmb3JlYWNoIGZyb209JG5vdGlmaWNh
dGlvbnMgaXRlbT1ub3RpZmljYXRpb259CisJCQk8aXRlbT4KKwkJCQk8dGl0bGU+e3RyYW5zbGF0
ZSBrZXk9Im5vdGlmaWNhdGlvbi5ub3RpZmljYXRpb24ifSA6IHskbm90aWZpY2F0aW9uLT5nZXRE
YXRlQ3JlYXRlZCgpfGRhdGVfZm9ybWF0OiIlYSwgJWQgJWIgJVkgJVQgJXoifTwvdGl0bGU+CisJ
CQkJPGxpbms+CisJCQkJCXtpZiAkbm90aWZpY2F0aW9uLT5nZXRMb2NhdGlvbigpICE9IG51bGx9
CisJCQkJCQl7JG5vdGlmaWNhdGlvbi0+Z2V0TG9jYXRpb24oKX0KKwkJCQkJe2Vsc2V9CisJCQkJ
CQl7dXJsIHBhZ2U9Im5vdGlmaWNhdGlvbiJ9CisJCQkJCXsvaWZ9CisJCQkJPC9saW5rPgorCQkJ
CTxkZXNjcmlwdGlvbj4KKwkJCQkJe2lmICRub3RpZmljYXRpb24tPmdldElzTG9jYWxpemVkKCl9
CisJCQkJCQl7dHJhbnNsYXRlIGtleT0kbm90aWZpY2F0aW9uLT5nZXRDb250ZW50cygpIHBhcmFt
PSRub3RpZmljYXRpb24tPmdldFBhcmFtKCl9CisJCQkJCXtlbHNlfQorCQkJCQkJeyRub3RpZmlj
YXRpb24tPmdldENvbnRlbnRzKCl9CisJCQkJCXsvaWZ9CisJCQkJPC9kZXNjcmlwdGlvbj4JCQor
CQkJCTxwdWJEYXRlPnskbm90aWZpY2F0aW9uLT5nZXREYXRlQ3JlYXRlZCgpfGRhdGVfZm9ybWF0
OiIlYSwgJWQgJWIgJVkgJVQgJXoifTwvcHViRGF0ZT4KKwkJCTwvaXRlbT4KKwkJey9mb3JlYWNo
fQorCTwvY2hhbm5lbD4KKzwvcnNzPgpJbmRleDogdGVtcGxhdGVzL25vdGlmaWNhdGlvbi9zZXR0
aW5ncy50cGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogdGVtcGxhdGVzL25vdGlmaWNhdGlvbi9zZXR0
aW5ncy50cGwKZGlmZiAtTiB0ZW1wbGF0ZXMvbm90aWZpY2F0aW9uL3NldHRpbmdzLnRwbAotLS0g
L2Rldi9udWxsCTEgSmFuIDE5NzAgMDA6MDA6MDAgLTAwMDAKKysrIHRlbXBsYXRlcy9ub3RpZmlj
YXRpb24vc2V0dGluZ3MudHBsCTIxIEphbiAyMDA5IDE4OjI3OjQ0IC0wMDAwCkBAIC0wLDAgKzEs
MjQxIEBACit7KioKKyAqIGluZGV4LnRwbAorICoKKyAqIENvcHlyaWdodCAoYykgMjAwMC0yMDA4
IEpvaG4gV2lsbGluc2t5CisgKiBEaXN0cmlidXRlZCB1bmRlciB0aGUgR05VIEdQTCB2Mi4gRm9y
IGZ1bGwgdGVybXMgc2VlIHRoZSBmaWxlIGRvY3MvQ09QWUlORy4KKyAqCisgKiBEaXNwbGF5cyB0
aGUgbm90aWZpY2F0aW9uIHNldHRpbmdzIHBhZ2UgYW5kIHVuY2hlY2tzICAKKyAqCisgKn0KK3tz
dHJpcH0KK3thc3NpZ24gdmFyPSJwYWdlVGl0bGUiIHZhbHVlPSJub3RpZmljYXRpb24uc2V0dGlu
Z3MifQore2luY2x1ZGUgZmlsZT0iY29tbW9uL2hlYWRlci50cGwifQorey9zdHJpcH0KKworPHA+
e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5zZXR0aW5nc0Rlc2NyaXB0aW9uIn08L3A+CisK
Kzxmb3JtIGlkPSJub3RpZmljYXRpb25TZXR0aW5ncyIgbWV0aG9kPSJwb3N0IiBhY3Rpb249Int1
cmwgb3A9InNhdmVTZXR0aW5ncyJ9Ij4KKworCis8aDQ+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNh
dGlvbi50eXBlLnN1Ym1pc3Npb25zIn08L2g0PgorCis8dWw+CisJPGxpPnt0cmFuc2xhdGUga2V5
PSJub3RpZmljYXRpb24udHlwZS5hcnRpY2xlU3VibWl0dGVkIiBwYXJhbT0kdGl0bGVWYXJ9PC9s
aT4KKwk8dWwgY2xhc3M9InBsYWluIj4KKwkJPGxpPjxzcGFuPgorCQkJCTxpbnB1dCB0eXBlPSJj
aGVja2JveCIgbmFtZT0ibm90aWZpY2F0aW9uQXJ0aWNsZVN1Ym1pdHRlZCJ7aWYgISRzbWFydHku
Y29uc3QuTk9USUZJQ0FUSU9OX1RZUEVfQVJUSUNMRV9TVUJNSVRURUR8aW5fYXJyYXk6JG5vdGlm
aWNhdGlvblNldHRpbmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0
ZSBrZXk9Im5vdGlmaWNhdGlvbi5hbGxvdyJ9CisJCQk8L3NwYW4+PC9saT4KKwkJPGxpPjxzcGFu
PgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZW1haWxOb3RpZmljYXRpb25BcnRp
Y2xlU3VibWl0dGVkIntpZiAkc21hcnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX0FSVElDTEVf
U1VCTUlUVEVEfGluX2FycmF5OiRlbWFpbFNldHRpbmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9
IC8+CisJCQkJe3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5lbWFpbCJ9CisJCQk8L3NwYW4+
PC9saT4KKwk8L3VsPgorPC91bD4KKwkJCQorPHVsPgorCTxsaT57dHJhbnNsYXRlIGtleT0ibm90
aWZpY2F0aW9uLnR5cGUubWV0YWRhdGFNb2RpZmllZCIgcGFyYW09JHRpdGxlVmFyfTwvbGk+CisJ
PHVsIGNsYXNzPSJwbGFpbiI+CisJCTxsaT48c3Bhbj4KKwkJCQk8aW5wdXQgdHlwZT0iY2hlY2ti
b3giIG5hbWU9Im5vdGlmaWNhdGlvbk1ldGFkYXRhTW9kaWZpZWQie2lmICEkc21hcnR5LmNvbnN0
Lk5PVElGSUNBVElPTl9UWVBFX01FVEFEQVRBX01PRElGSUVEfGluX2FycmF5OiRub3RpZmljYXRp
b25TZXR0aW5nc30gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAvPgorCQkJCXt0cmFuc2xhdGUga2V5
PSJub3RpZmljYXRpb24uYWxsb3cifQorCQkJPC9zcGFuPjwvbGk+CisJCTxsaT48c3Bhbj4KKwkJ
CQk8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9ImVtYWlsTm90aWZpY2F0aW9uTWV0YWRhdGFN
b2RpZmllZCJ7aWYgJHNtYXJ0eS5jb25zdC5OT1RJRklDQVRJT05fVFlQRV9NRVRBREFUQV9NT0RJ
RklFRHxpbl9hcnJheTokZW1haWxTZXR0aW5nc30gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAvPgor
CQkJCXt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24uZW1haWwifQorCQkJPC9zcGFuPjwvbGk+
CisJPC91bD4KKzwvdWw+CQorCis8dWw+CisJPGxpPnt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRp
b24udHlwZS5zdXBwRmlsZUFkZGVkIiBwYXJhbT0kdGl0bGVWYXJ9PC9saT4KKwk8dWwgY2xhc3M9
InBsYWluIj4KKwkJPGxpPjxzcGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0i
bm90aWZpY2F0aW9uU3VwcEZpbGVBZGRlZCJ7aWYgISRzbWFydHkuY29uc3QuTk9USUZJQ0FUSU9O
X1RZUEVfU1VQUF9GSUxFX0FEREVEfGluX2FycmF5OiRub3RpZmljYXRpb25TZXR0aW5nc30gY2hl
Y2tlZD0iY2hlY2tlZCJ7L2lmfSAvPgorCQkJCXt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24u
YWxsb3cifQorCQkJPC9zcGFuPjwvbGk+CisJCTxsaT48c3Bhbj4KKwkJCQk8aW5wdXQgdHlwZT0i
Y2hlY2tib3giIG5hbWU9ImVtYWlsTm90aWZpY2F0aW9uU3VwcEZpbGVBZGRlZCJ7aWYgJHNtYXJ0
eS5jb25zdC5OT1RJRklDQVRJT05fVFlQRV9TVVBQX0ZJTEVfQURERUR8aW5fYXJyYXk6JGVtYWls
U2V0dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KKwkJCQl7dHJhbnNsYXRlIGtleT0i
bm90aWZpY2F0aW9uLmVtYWlsIn0KKwkJCTwvc3Bhbj48L2xpPgorCTwvdWw+Cis8L3VsPgorCis8
dWw+CisJPGxpPnt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24udHlwZS5zdXBwRmlsZU1vZGlm
aWVkIiBwYXJhbT0kdGl0bGVWYXJ9PC9saT4KKwk8dWwgY2xhc3M9InBsYWluIj4KKwkJPGxpPjxz
cGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibm90aWZpY2F0aW9uU3VwcEZp
bGVNb2RpZmllZCJ7aWYgISRzbWFydHkuY29uc3QuTk9USUZJQ0FUSU9OX1RZUEVfU1VQUF9GSUxF
X01PRElGSUVEfGluX2FycmF5OiRub3RpZmljYXRpb25TZXR0aW5nc30gY2hlY2tlZD0iY2hlY2tl
ZCJ7L2lmfSAvPgorCQkJCXt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24uYWxsb3cifQorCQkJ
PC9zcGFuPjwvbGk+CisJCTxsaT48c3Bhbj4KKwkJCQk8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5h
bWU9ImVtYWlsTm90aWZpY2F0aW9uU3VwcEZpbGVNb2RpZmllZCJ7aWYgJHNtYXJ0eS5jb25zdC5O
T1RJRklDQVRJT05fVFlQRV9TVVBQX0ZJTEVfTU9ESUZJRUR8aW5fYXJyYXk6JGVtYWlsU2V0dGlu
Z3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KKwkJCQl7dHJhbnNsYXRlIGtleT0ibm90aWZp
Y2F0aW9uLmVtYWlsIn0KKwkJCTwvc3Bhbj48L2xpPgorCTwvdWw+Cis8L3VsPgorCis8dWw+CisJ
PGxpPnt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24udHlwZS5nYWxsZXlBZGRlZCIgcGFyYW09
JHRpdGxlVmFyfTwvbGk+CisJPHVsIGNsYXNzPSJwbGFpbiI+CisJCTxsaT48c3Bhbj4KKwkJCQk8
aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Im5vdGlmaWNhdGlvbkdhbGxleUFkZGVkIntpZiAh
JHNtYXJ0eS5jb25zdC5OT1RJRklDQVRJT05fVFlQRV9HQUxMRVlfQURERUR8aW5fYXJyYXk6JG5v
dGlmaWNhdGlvblNldHRpbmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5z
bGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5hbGxvdyJ9CisJCQk8L3NwYW4+PC9saT4KKwkJPGxpPjxz
cGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZW1haWxOb3RpZmljYXRpb25H
YWxsZXlBZGRlZCJ7aWYgJHNtYXJ0eS5jb25zdC5OT1RJRklDQVRJT05fVFlQRV9HQUxMRVlfQURE
RUR8aW5fYXJyYXk6JGVtYWlsU2V0dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KKwkJ
CQl7dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLmVtYWlsIn0KKwkJCTwvc3Bhbj48L2xpPgor
CTwvdWw+Cis8L3VsPgorCis8dWw+CisJPGxpPnt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24u
dHlwZS5nYWxsZXlNb2RpZmllZCIgcGFyYW09JHRpdGxlVmFyfTwvbGk+CisJPHVsIGNsYXNzPSJw
bGFpbiI+CisJCTxsaT48c3Bhbj4KKwkJCQk8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Im5v
dGlmaWNhdGlvbkdhbGxleU1vZGlmaWVkIntpZiAhJHNtYXJ0eS5jb25zdC5OT1RJRklDQVRJT05f
VFlQRV9HQUxMRVlfTU9ESUZJRUR8aW5fYXJyYXk6JG5vdGlmaWNhdGlvblNldHRpbmdzfSBjaGVj
a2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5h
bGxvdyJ9CisJCQk8L3NwYW4+PC9saT4KKwkJPGxpPjxzcGFuPgorCQkJCTxpbnB1dCB0eXBlPSJj
aGVja2JveCIgbmFtZT0iZW1haWxOb3RpZmljYXRpb25HYWxsZXlNb2RpZmllZCJ7aWYgJHNtYXJ0
eS5jb25zdC5OT1RJRklDQVRJT05fVFlQRV9HQUxMRVlfTU9ESUZJRUR8aW5fYXJyYXk6JGVtYWls
U2V0dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KKwkJCQl7dHJhbnNsYXRlIGtleT0i
bm90aWZpY2F0aW9uLmVtYWlsIn0KKwkJCTwvc3Bhbj48L2xpPgorCTwvdWw+Cis8L3VsPgorCis8
dWw+CisJPGxpPnt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24udHlwZS5zdWJtaXNzaW9uQ29t
bWVudCIgcGFyYW09JHRpdGxlVmFyfTwvbGk+CisJPHVsIGNsYXNzPSJwbGFpbiI+CisJCTxsaT48
c3Bhbj4KKwkJCQk8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Im5vdGlmaWNhdGlvblN1Ym1p
c3Npb25Db21tZW50IntpZiAhJHNtYXJ0eS5jb25zdC5OT1RJRklDQVRJT05fVFlQRV9TVUJNSVNT
SU9OX0NPTU1FTlR8aW5fYXJyYXk6JG5vdGlmaWNhdGlvblNldHRpbmdzfSBjaGVja2VkPSJjaGVj
a2VkInsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5hbGxvdyJ9CisJ
CQk8L3NwYW4+PC9saT4KKwkJPGxpPjxzcGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIg
bmFtZT0iZW1haWxOb3RpZmljYXRpb25TdWJtaXNzaW9uQ29tbWVudCJ7aWYgJHNtYXJ0eS5jb25z
dC5OT1RJRklDQVRJT05fVFlQRV9TVUJNSVNTSU9OX0NPTU1FTlR8aW5fYXJyYXk6JGVtYWlsU2V0
dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KKwkJCQl7dHJhbnNsYXRlIGtleT0ibm90
aWZpY2F0aW9uLmVtYWlsIn0KKwkJCTwvc3Bhbj48L2xpPgorCTwvdWw+Cis8L3VsPgorCis8dWw+
CisJPGxpPnt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24udHlwZS5sYXlvdXRDb21tZW50IiBw
YXJhbT0kdGl0bGVWYXJ9PC9saT4KKwk8dWwgY2xhc3M9InBsYWluIj4KKwkJPGxpPjxzcGFuPgor
CQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibm90aWZpY2F0aW9uTGF5b3V0Q29tbWVu
dCJ7aWYgISRzbWFydHkuY29uc3QuTk9USUZJQ0FUSU9OX1RZUEVfTEFZT1VUX0NPTU1FTlR8aW5f
YXJyYXk6JG5vdGlmaWNhdGlvblNldHRpbmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CisJ
CQkJe3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5hbGxvdyJ9CisJCQk8L3NwYW4+PC9saT4K
KwkJPGxpPjxzcGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZW1haWxOb3Rp
ZmljYXRpb25MYXlvdXRDb21tZW50IntpZiAkc21hcnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBF
X0xBWU9VVF9DT01NRU5UfGluX2FycmF5OiRlbWFpbFNldHRpbmdzfSBjaGVja2VkPSJjaGVja2Vk
InsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5lbWFpbCJ9CisJCQk8
L3NwYW4+PC9saT4KKwk8L3VsPgorPC91bD4KKworPHVsPgorCTxsaT57dHJhbnNsYXRlIGtleT0i
bm90aWZpY2F0aW9uLnR5cGUuY29weWVkaXRDb21tZW50IiBwYXJhbT0kdGl0bGVWYXJ9PC9saT4K
Kwk8dWwgY2xhc3M9InBsYWluIj4KKwkJPGxpPjxzcGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVj
a2JveCIgbmFtZT0ibm90aWZpY2F0aW9uQ29weWVkaXRDb21tZW50IntpZiAhJHNtYXJ0eS5jb25z
dC5OT1RJRklDQVRJT05fVFlQRV9DT1BZRURJVF9DT01NRU5UfGluX2FycmF5OiRub3RpZmljYXRp
b25TZXR0aW5nc30gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAvPgorCQkJCXt0cmFuc2xhdGUga2V5
PSJub3RpZmljYXRpb24uYWxsb3cifQorCQkJPC9zcGFuPjwvbGk+CisJCTxsaT48c3Bhbj4KKwkJ
CQk8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9ImVtYWlsTm90aWZpY2F0aW9uQ29weWVkaXRD
b21tZW50IntpZiAkc21hcnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX0NPUFlFRElUX0NPTU1F
TlR8aW5fYXJyYXk6JGVtYWlsU2V0dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KKwkJ
CQl7dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLmVtYWlsIn0KKwkJCTwvc3Bhbj48L2xpPgor
CTwvdWw+Cis8L3VsPgorCis8dWw+CisJPGxpPnt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24u
dHlwZS5wcm9vZnJlYWRDb21tZW50IiBwYXJhbT0kdGl0bGVWYXJ9PC9saT4KKwk8dWwgY2xhc3M9
InBsYWluIj4KKwkJPGxpPjxzcGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0i
bm90aWZpY2F0aW9uUHJvb2ZyZWFkQ29tbWVudCJ7aWYgISRzbWFydHkuY29uc3QuTk9USUZJQ0FU
SU9OX1RZUEVfUFJPT0ZSRUFEX0NPTU1FTlR8aW5fYXJyYXk6JG5vdGlmaWNhdGlvblNldHRpbmdz
fSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNh
dGlvbi5hbGxvdyJ9CisJCQk8L3NwYW4+PC9saT4KKwkJPGxpPjxzcGFuPgorCQkJCTxpbnB1dCB0
eXBlPSJjaGVja2JveCIgbmFtZT0iZW1haWxOb3RpZmljYXRpb25Qcm9vZnJlYWRDb21tZW50Intp
ZiAkc21hcnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX1BST09GUkVBRF9DT01NRU5UfGluX2Fy
cmF5OiRlbWFpbFNldHRpbmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5z
bGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5lbWFpbCJ9CisJCQk8L3NwYW4+PC9saT4KKwk8L3VsPgor
PC91bD4KKworPHVsPgorCTxsaT57dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLnR5cGUucmV2
aWV3ZXJDb21tZW50IiBwYXJhbT0kdGl0bGVWYXJ9PC9saT4KKwk8dWwgY2xhc3M9InBsYWluIj4K
KwkJPGxpPjxzcGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibm90aWZpY2F0
aW9uUmV2aWV3ZXJDb21tZW50IntpZiAhJHNtYXJ0eS5jb25zdC5OT1RJRklDQVRJT05fVFlQRV9S
RVZJRVdFUl9DT01NRU5UfGluX2FycmF5OiRub3RpZmljYXRpb25TZXR0aW5nc30gY2hlY2tlZD0i
Y2hlY2tlZCJ7L2lmfSAvPgorCQkJCXt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24uYWxsb3ci
fQorCQkJPC9zcGFuPjwvbGk+CisJCTxsaT48c3Bhbj4KKwkJCQk8aW5wdXQgdHlwZT0iY2hlY2ti
b3giIG5hbWU9ImVtYWlsTm90aWZpY2F0aW9uUmV2aWV3ZXJDb21tZW50IntpZiAkc21hcnR5LmNv
bnN0Lk5PVElGSUNBVElPTl9UWVBFX1JFVklFV0VSX0NPTU1FTlR8aW5fYXJyYXk6JGVtYWlsU2V0
dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KKwkJCQl7dHJhbnNsYXRlIGtleT0ibm90
aWZpY2F0aW9uLmVtYWlsIn0KKwkJCTwvc3Bhbj48L2xpPgorCTwvdWw+Cis8L3VsPgorCis8dWw+
CisJPGxpPnt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24udHlwZS5yZXZpZXdlckZvcm1Db21t
ZW50IiBwYXJhbT0kdGl0bGVWYXJ9PC9saT4KKwk8dWwgY2xhc3M9InBsYWluIj4KKwkJPGxpPjxz
cGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibm90aWZpY2F0aW9uUmV2aWV3
ZXJGb3JtQ29tbWVudCJ7aWYgISRzbWFydHkuY29uc3QuTk9USUZJQ0FUSU9OX1RZUEVfUkVWSUVX
RVJfRk9STV9DT01NRU5UfGluX2FycmF5OiRub3RpZmljYXRpb25TZXR0aW5nc30gY2hlY2tlZD0i
Y2hlY2tlZCJ7L2lmfSAvPgorCQkJCXt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24uYWxsb3ci
fQorCQkJPC9zcGFuPjwvbGk+CisJCTxsaT48c3Bhbj4KKwkJCQk8aW5wdXQgdHlwZT0iY2hlY2ti
b3giIG5hbWU9ImVtYWlsTm90aWZpY2F0aW9uUmV2aWV3ZXJGb3JtQ29tbWVudCJ7aWYgJHNtYXJ0
eS5jb25zdC5OT1RJRklDQVRJT05fVFlQRV9SRVZJRVdFUl9GT1JNX0NPTU1FTlR8aW5fYXJyYXk6
JGVtYWlsU2V0dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KKwkJCQl7dHJhbnNsYXRl
IGtleT0ibm90aWZpY2F0aW9uLmVtYWlsIn0KKwkJCTwvc3Bhbj48L2xpPgorCTwvdWw+Cis8L3Vs
PgorCis8dWw+CisJPGxpPnt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24udHlwZS5lZGl0b3JE
ZWNpc2lvbkNvbW1lbnQiIHBhcmFtPSR0aXRsZVZhcn08L2xpPgorCTx1bCBjbGFzcz0icGxhaW4i
PgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJub3RpZmlj
YXRpb25FZGl0b3JEZWNpc2lvbkNvbW1lbnQie2lmICEkc21hcnR5LmNvbnN0Lk5PVElGSUNBVElP
Tl9UWVBFX0VESVRPUl9ERUNJU0lPTl9DT01NRU5UfGluX2FycmF5OiRub3RpZmljYXRpb25TZXR0
aW5nc30gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAvPgorCQkJCXt0cmFuc2xhdGUga2V5PSJub3Rp
ZmljYXRpb24uYWxsb3cifQorCQkJPC9zcGFuPjwvbGk+CisJCTxsaT48c3Bhbj4KKwkJCQk8aW5w
dXQgdHlwZT0iY2hlY2tib3giIG5hbWU9ImVtYWlsTm90aWZpY2F0aW9uRWRpdG9yRGVjaXNpb25D
b21tZW50IntpZiAkc21hcnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX0VESVRPUl9ERUNJU0lP
Tl9DT01NRU5UfGluX2FycmF5OiRlbWFpbFNldHRpbmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9
IC8+CisJCQkJe3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5lbWFpbCJ9CisJCQk8L3NwYW4+
PC9saT4KKwk8L3VsPgorPC91bD4KKwkKKzxiciAvPgorCis8IS0tIE90aGVyIGV2ZW50cyAtLT4K
KzxoND57dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLnR5cGUub3RoZXIifTwvaDQ+CisKKzx1
bD4KKwk8bGk+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLnVzZXJDb21tZW50IiBw
YXJhbT0kdGl0bGVWYXJ9PC9saT4KKwk8dWwgY2xhc3M9InBsYWluIj4KKwkJPGxpPjxzcGFuPgor
CQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibm90aWZpY2F0aW9uVXNlckNvbW1lbnQi
e2lmICEkc21hcnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX1VTRVJfQ09NTUVOVHxpbl9hcnJh
eTokbm90aWZpY2F0aW9uU2V0dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KKwkJCQl7
dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLmFsbG93In0KKwkJCTwvc3Bhbj48L2xpPgorCQk8
bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJlbWFpbE5vdGlmaWNh
dGlvblVzZXJDb21tZW50IntpZiAkc21hcnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX1VTRVJf
Q09NTUVOVHxpbl9hcnJheTokZW1haWxTZXR0aW5nc30gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAv
PgorCQkJCXt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24uZW1haWwifQorCQkJPC9zcGFuPjwv
bGk+CisJPC91bD4KKzwvdWw+CisKKzx1bD4KKwk8bGk+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNh
dGlvbi50eXBlLmlzc3VlUHVibGlzaGVkIiBwYXJhbT0kdXNlclZhcn08L2xpPgorCTx1bCBjbGFz
cz0icGxhaW4iPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1l
PSJub3RpZmljYXRpb25QdWJsaXNoZWRJc3N1ZSJ7aWYgISRzbWFydHkuY29uc3QuTk9USUZJQ0FU
SU9OX1RZUEVfUFVCTElTSEVEX0lTU1VFfGluX2FycmF5OiRub3RpZmljYXRpb25TZXR0aW5nc30g
Y2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAvPgorCQkJCXt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRp
b24uYWxsb3cifQorCQkJPC9zcGFuPjwvbGk+CisJCTxsaT48c3Bhbj4KKwkJCQk8aW5wdXQgdHlw
ZT0iY2hlY2tib3giIG5hbWU9ImVtYWlsTm90aWZpY2F0aW9uUHVibGlzaGVkSXNzdWUie2lmICRz
bWFydHkuY29uc3QuTk9USUZJQ0FUSU9OX1RZUEVfUFVCTElTSEVEX0lTU1VFfGluX2FycmF5OiRl
bWFpbFNldHRpbmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0ZSBr
ZXk9Im5vdGlmaWNhdGlvbi5lbWFpbCJ9CisJCQk8L3NwYW4+PC9saT4KKwk8L3VsPgorPC91bD4K
KworPHA+PGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9Int0cmFuc2xhdGUga2V5PSJmb3JtLnN1
Ym1pdCJ9IiBjbGFzcz0iYnV0dG9uIGRlZmF1bHRCdXR0b24iIC8+ICA8aW5wdXQgdHlwZT0iYnV0
dG9uIiB2YWx1ZT0ie3RyYW5zbGF0ZSBrZXk9ImNvbW1vbi5jYW5jZWwifSIgY2xhc3M9ImJ1dHRv
biIgb25jbGljaz0iZG9jdW1lbnQubG9jYXRpb24uaHJlZj0ne3VybCBvcD0ibm90aWZpY2F0aW9u
IiBlc2NhcGU9ZmFsc2V9JyIgLz48L3A+CisKKzwvZm9ybT4KKwore2luY2x1ZGUgZmlsZT0iY29t
bW9uL2Zvb3Rlci50cGwifQpJbmRleDogeG1sL3BrcF9zY2hlbWEueG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT
IGZpbGU6IC9jdnMvcGtwL3htbC9wa3Bfc2NoZW1hLnhtbCx2CnJldHJpZXZpbmcgcmV2aXNpb24g
MS40CmRpZmYgLXUgLXIxLjQgcGtwX3NjaGVtYS54bWwKLS0tIHhtbC9wa3Bfc2NoZW1hLnhtbAk4
IE9jdCAyMDA4IDIyOjE2OjEwIC0wMDAwCTEuNAorKysgeG1sL3BrcF9zY2hlbWEueG1sCTIxIEph
biAyMDA5IDE4OjI3OjQ0IC0wMDAwCkBAIC0zMzEsNiArMzMxLDY4IEBACiAJCTwvaW5kZXg+CiAJ
PC90YWJsZT4KIAorCTwhLS0KKwkgICoKKwkgICogVEFCTEUgbm90aWZpY2F0aW9ucworCSAgKgor
CSAgLS0+CisJPHRhYmxlIG5hbWU9Im5vdGlmaWNhdGlvbnMiPgorCQk8ZmllbGQgbmFtZT0ibm90
aWZpY2F0aW9uX2lkIiB0eXBlPSJJOCI+CisJCQk8S0VZIC8+CisJCQk8QVVUT0lOQ1JFTUVOVCAv
PgorCQk8L2ZpZWxkPgorCQk8ZmllbGQgbmFtZT0idXNlcl9pZCIgdHlwZT0iSTgiPgorCQkJPE5P
VE5VTEwvPgorCQk8L2ZpZWxkPgorCQk8ZmllbGQgbmFtZT0iZGF0ZV9jcmVhdGVkIiB0eXBlPSJU
Ij4KKwkJCTxOT1ROVUxMLz4KKwkJPC9maWVsZD4KKwkJPGZpZWxkIG5hbWU9ImRhdGVfcmVhZCIg
dHlwZT0iVCIgLz4KKwkJPGZpZWxkIG5hbWU9ImNvbnRlbnRzIiB0eXBlPSJDMiIgc2l6ZT0iMjU1
IiA+CisJCQk8Tk9UTlVMTC8+CisJCTwvZmllbGQ+CisJCTxmaWVsZCBuYW1lPSJwYXJhbSIgdHlw
ZT0iQzIiIHNpemU9IjI1NSIgLz4KKwkJPGZpZWxkIG5hbWU9ImxvY2F0aW9uIiB0eXBlPSJDMiIg
c2l6ZT0iMjU1IiAvPgorCQk8ZmllbGQgbmFtZT0iaXNfbG9jYWxpemVkIiB0eXBlPSJJMSIgPgor
CQkJPE5PVE5VTEwvPgorCQkJPERFRkFVTFQgVkFMVUU9IjEiLz4KKwkJPC9maWVsZD4KKwkJPGZp
ZWxkIG5hbWU9InByb2R1Y3QiIHR5cGU9IkMyIiBzaXplPSIyMCIgLz4KKwkJPGZpZWxkIG5hbWU9
ImNvbnRleHQiIHR5cGU9Ikk4Ij4KKwkJCTxOT1ROVUxMLz4KKwkJPC9maWVsZD4KKwkJPGZpZWxk
IG5hbWU9ImFzc29jX3R5cGUiIHR5cGU9Ikk4Ij4KKwkJCTxOT1ROVUxMLz4KKwkJPC9maWVsZD4K
KwkJPGRlc2NyPlN0b3JlcyBub3RpZmljYXRpb25zIGZvciB1c2VycyBhcyBjcmVhdGVkIGJ5IHRo
ZSBzeXN0ZW0gYWZ0ZXIgY2VydGFpbiBvcGVyYXRpb25zLjwvZGVzY3I+CisJPC90YWJsZT4KKwkK
Kwk8IS0tCisJICAqCisJICAqIFRBQkxFIG5vdGlmaWNhdGlvbl9zZXR0aW5ncworCSAgKgorCSAg
LS0+CisJPHRhYmxlIG5hbWU9Im5vdGlmaWNhdGlvbl9zZXR0aW5ncyI+CisJCTxmaWVsZCBuYW1l
PSJzZXR0aW5nX2lkIiB0eXBlPSJJOCI+CisJCQk8S0VZIC8+CisJCQk8QVVUT0lOQ1JFTUVOVCAv
PgorCQk8L2ZpZWxkPgorCQk8ZmllbGQgbmFtZT0ic2V0dGluZ19uYW1lIiB0eXBlPSJDMiIgc2l6
ZT0iNjQiPgorCQkJPE5PVE5VTEwvPgorCQk8L2ZpZWxkPgorCQk8ZmllbGQgbmFtZT0ic2V0dGlu
Z192YWx1ZSIgdHlwZT0iWCI+CisJCQk8Tk9UTlVMTC8+CisJCTwvZmllbGQ+CisJCTxmaWVsZCBu
YW1lPSJ1c2VyX2lkIiB0eXBlPSJJOCI+CisJCQk8Tk9UTlVMTC8+CisJCTwvZmllbGQ+CisJCTxm
aWVsZCBuYW1lPSJwcm9kdWN0IiB0eXBlPSJDMiIgc2l6ZT0iMjAiIC8+CisJCTxmaWVsZCBuYW1l
PSJjb250ZXh0IiB0eXBlPSJJOCI+CisJCQk8Tk9UTlVMTC8+CisJCTwvZmllbGQ+CisJCTxkZXNj
cj5MaXN0cyBhbGwgbm90aWZpY2F0aW9ucyB0eXBlcyBmb3IgZWFjaCB1c2VyIHRoYXQgdGhleSBk
byBOT1Qgd2FudCB0byBiZSBpbmZvcm1lZCBvZiwgYW5kIGFsc28gY29udGFpbnMgYSBsaXN0IG9m
IFJTUyBmZWVkIHRva2VucyBmb3IgZWFjaCB1c2VyLjwvZGVzY3I+CisJPC90YWJsZT4KKwkKIAk8
IS0tIE9BSSBUYWJsZXMgLS0+CiAJCiAJPCEtLQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>1351</attachid>
            <date>2009-01-22 15:58:00 -0800</date>
            <delta_ts>2009-01-22 15:58:13 -0800</delta_ts>
            <desc>screenshot</desc>
            <filename>Picture 1.png</filename>
            <type>image/png</type>
            <size>148844</size>
            <attacher>jmacgreg</attacher>
            
              <data encoding="base64">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
iUjvo3cAAAAASUVORK5CYII=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>1354</attachid>
            <date>2009-01-26 11:43:00 -0800</date>
            <delta_ts>2009-01-28 11:47:12 -0800</delta_ts>
            <desc>Patch against OJS pre-2.3 CVS</desc>
            <filename>ojsNotifs.patch</filename>
            <type>text/plain</type>
            <size>89341</size>
            <attacher>mattcrider</attacher>
            
              <data encoding="base64">SW5kZXg6IGNsYXNzZXMvYXJ0aWNsZS9BcnRpY2xlLmluYy5waHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmls
ZTogL2N2cy9vanMyL2NsYXNzZXMvYXJ0aWNsZS9BcnRpY2xlLmluYy5waHAsdgpyZXRyaWV2aW5n
IHJldmlzaW9uIDEuMzkKZGlmZiAtdSAtcjEuMzkgQXJ0aWNsZS5pbmMucGhwCi0tLSBjbGFzc2Vz
L2FydGljbGUvQXJ0aWNsZS5pbmMucGhwCTEzIE5vdiAyMDA4IDAwOjI3OjAzIC0wMDAwCTEuMzkK
KysrIGNsYXNzZXMvYXJ0aWNsZS9BcnRpY2xlLmluYy5waHAJMjYgSmFuIDIwMDkgMTk6Mzg6MjEg
LTAwMDAKQEAgLTQyMyw2ICs0MjMsNzQgQEAKIAkJKTsKIAkJcmV0dXJuICRjb21tZW50c1N0YXR1
c09wdGlvbnM7CiAJfQorCQorCS8qKgorCSAqIEdldCBhbiBhcnJheSBvZiB1c2VyIElEcyBhc3Nv
Y2lhdGVkIHdpdGggdGhpcyBhcnRpY2xlCisJICogQHBhcmFtICRhdXRob3JzIGJvb2xlYW4KKwkg
KiBAcGFyYW0gJHJldmlld2VycyBib29sZWFuCisJICogQHBhcmFtICRlZGl0b3JzIGJvb2xlYW4K
KwkgKiBAcGFyYW0gJHByb29mcmVhZGVycyBib29sZWFuCisJICogQHBhcmFtICRjb3B5ZWRpdG9y
cyBib29sZWFuCisJICogQHBhcmFtICRsYXlvdXRFZGl0b3JzIGJvb2xlYW4KKwkgKiBAcmV0dXJu
IGFycmF5IFVzZXIgSURzCisJICovCisJZnVuY3Rpb24gZ2V0QXNzb2NpYXRlZFVzZXJJZHMoJGF1
dGhvcnMgPSB0cnVlLCAkcmV2aWV3ZXJzID0gdHJ1ZSwgJGVkaXRvcnMgPSB0cnVlLCAkcHJvb2Zy
ZWFkZXJzID0gdHJ1ZSwgJGNvcHllZGl0b3JzID0gdHJ1ZSwgJGxheW91dEVkaXRvcnMgPSB0cnVl
KSB7CisJCSRhcnRpY2xlSWQgPSAkdGhpcy0+Z2V0QXJ0aWNsZUlkKCk7CisJCQorCQkkdXNlcklk
cyA9IGFycmF5KCk7CisKKwkJaWYoJGF1dGhvcnMpIHsKKwkJCSRhdXRob3JEYW8gPSAmREFPUmVn
aXN0cnk6OmdldERBTygnQXV0aG9yREFPJyk7CisJCQkkYXV0aG9ycyA9ICRhdXRob3JEYW8tPmdl
dEF1dGhvcnNCeUFydGljbGUoJGFydGljbGVJZCk7CisJCQlmb3JlYWNoICgkYXV0aG9ycyBhcyAk
YXV0aG9yKSB7CisJCQkJJHVzZXJJZHNbXSA9IGFycmF5KCdpZCcgPT4gJGF1dGhvci0+Z2V0QXV0
aG9ySWQoKSwgJ3JvbGUnID0+ICdhdXRob3InKTsKKwkJCX0KKwkJfQorCQkKKwkJaWYoJGVkaXRv
cnMpIHsKKwkJCSRlZGl0QXNzaWdubWVudERhbyA9JiBEQU9SZWdpc3RyeTo6Z2V0REFPKCdFZGl0
QXNzaWdubWVudERBTycpOworCQkJJGVkaXRBc3NpZ25tZW50cyA9JiAkZWRpdEFzc2lnbm1lbnRE
YW8tPmdldEVkaXRvckFzc2lnbm1lbnRzQnlBcnRpY2xlSWQoJGFydGljbGVJZCk7CisJCQl3aGls
ZSAoJGVkaXRBc3NpZ25tZW50ID0mICRlZGl0QXNzaWdubWVudHMtPm5leHQoKSkgeworCQkJCSR1
c2VySWRzW10gPSBhcnJheSgnaWQnID0+ICRlZGl0QXNzaWdubWVudC0+Z2V0RWRpdG9ySWQoKSwg
J3JvbGUnID0+ICdlZGl0b3InKTsKKwkJCQl1bnNldCgkZWRpdEFzc2lnbm1lbnQpOworCQkJfQor
CQl9CisJCQorCQlpZigkY29weWVkaXRvcnMpIHsKKwkJCSRjb3B5QXNzaWdubWVudERhbyA9ICZE
QU9SZWdpc3RyeTo6Z2V0REFPKCdDb3B5QXNzaWdubWVudERBTycpOworCQkJJGNvcHlBc3NpZ25t
ZW50ID0mICRjb3B5QXNzaWdubWVudERhby0+Z2V0Q29weUFzc2lnbm1lbnRCeUFydGljbGVJZCgk
YXJ0aWNsZUlkKTsKKwkJCWlmICgkY29weUFzc2lnbm1lbnQgIT0gbnVsbCAmJiAkY29weUFzc2ln
bm1lbnQtPmdldENvcHllZGl0b3JJZCgpID4gMCkgeworCQkJCSR1c2VySWRzW10gPWFycmF5KCdp
ZCcgPT4gICRjb3B5QXNzaWdubWVudC0+Z2V0Q29weWVkaXRvcklkKCksICdyb2xlJyA9PiAnY29w
eWVkaXRvcicpOworCQkJfQorCQl9CisJCQorCQlpZigkbGF5b3V0RWRpdG9ycykgeworCQkJJGxh
eW91dEFzc2lnbm1lbnREYW8gPSAmREFPUmVnaXN0cnk6OmdldERBTygnTGF5b3V0QXNzaWdubWVu
dERBTycpOworCQkJJGxheW91dEVkaXRvcklkID0gJGxheW91dEFzc2lnbm1lbnREYW8tPmdldExh
eW91dEVkaXRvcklkQnlBcnRpY2xlSWQoJGFydGljbGVJZCk7CisJCQlpZiAoJGxheW91dEVkaXRv
cklkICE9IG51bGwgJiYgJGxheW91dEVkaXRvcklkID4gMCkgeworCQkJCSR1c2VySWRzW10gPSBh
cnJheSgnaWQnID0+ICRsYXlvdXRFZGl0b3JJZCwgJ3JvbGUnID0+ICdsYXlvdXRFZGl0b3InKTsK
KwkJCX0KKwkJfQkKKwkJCisJCWlmKCRwcm9vZnJlYWRlcnMpIHsKKwkJCSRwcm9vZkFzc2lnbm1l
bnREYW8gPSAmREFPUmVnaXN0cnk6OmdldERBTygnUHJvb2ZBc3NpZ25tZW50REFPJyk7CisJCQkk
cHJvb2ZBc3NpZ25tZW50ID0mICRwcm9vZkFzc2lnbm1lbnREYW8tPmdldFByb29mQXNzaWdubWVu
dEJ5QXJ0aWNsZUlkKCRhcnRpY2xlSWQpOworCQkJaWYgKCRwcm9vZkFzc2lnbm1lbnQgIT0gbnVs
bCAmJiAkcHJvb2ZBc3NpZ25tZW50LT5nZXRQcm9vZnJlYWRlcklkKCkgPiAwKSB7CisJCQkJJHVz
ZXJJZHNbXSA9IGFycmF5KCdpZCcgPT4gJHByb29mQXNzaWdubWVudC0+Z2V0UHJvb2ZyZWFkZXJJ
ZCgpLCAncm9sZScgPT4gJ3Byb29mcmVhZGVyJyk7CisJCQl9CisJCX0KKwkJCisJCWlmKCRyZXZp
ZXdlcnMpIHsKKwkJCSRyZXZpZXdBc3NpZ25tZW50RGFvID0mIERBT1JlZ2lzdHJ5OjpnZXREQU8o
J1Jldmlld0Fzc2lnbm1lbnREQU8nKTsKKwkJCSRyZXZpZXdBc3NpZ25tZW50cyA9JiAkcmV2aWV3
QXNzaWdubWVudERhby0+Z2V0UmV2aWV3QXNzaWdubWVudHNCeUFydGljbGVJZCgkYXJ0aWNsZUlk
KTsKKwkJCWZvcmVhY2ggKCRyZXZpZXdBc3NpZ25tZW50cyBhcyAkcmV2aWV3QXNzaWdubWVudCkg
eworCQkJCSR1c2VySWRzW10gPSBhcnJheSgnaWQnID0+ICRyZXZpZXdBc3NpZ25tZW50LT5nZXRS
ZXZpZXdlcklkKCksICdyb2xlJyA9PiAncmV2aWV3ZXInKTsKKwkJCQl1bnNldCgkcmV2aWV3QXNz
aWdubWVudCk7CisJCQl9CisJCX0KKwkJCQkKKwkJcmV0dXJuICR1c2VySWRzOworCX0KIH0KIAog
Pz4KSW5kZXg6IGNsYXNzZXMvY29yZS9PSlNBcHBsaWNhdGlvbi5pbmMucGhwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
UkNTIGZpbGU6IC9jdnMvb2pzMi9jbGFzc2VzL2NvcmUvT0pTQXBwbGljYXRpb24uaW5jLnBocCx2
CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMQpkaWZmIC11IC1yMS4xMSBPSlNBcHBsaWNhdGlvbi5p
bmMucGhwCi0tLSBjbGFzc2VzL2NvcmUvT0pTQXBwbGljYXRpb24uaW5jLnBocAk1IE5vdiAyMDA4
IDAwOjQ2OjM5IC0wMDAwCTEuMTEKKysrIGNsYXNzZXMvY29yZS9PSlNBcHBsaWNhdGlvbi5pbmMu
cGhwCTI2IEphbiAyMDA5IDE5OjM4OjIxIC0wMDAwCkBAIC0xNDUsNyArMTQ1LDYgQEAKIAkJCSdK
b3VybmFsU3RhdGlzdGljc0RBTycgPT4gJ2pvdXJuYWwuSm91cm5hbFN0YXRpc3RpY3NEQU8nLAog
CQkJJ0xheW91dEFzc2lnbm1lbnREQU8nID0+ICdzdWJtaXNzaW9uLmxheW91dEFzc2lnbm1lbnQu
TGF5b3V0QXNzaWdubWVudERBTycsCiAJCQknTGF5b3V0RWRpdG9yU3VibWlzc2lvbkRBTycgPT4g
J3N1Ym1pc3Npb24ubGF5b3V0RWRpdG9yLkxheW91dEVkaXRvclN1Ym1pc3Npb25EQU8nLAotCQkJ
J05vdGlmaWNhdGlvblN0YXR1c0RBTycgPT4gJ2pvdXJuYWwuTm90aWZpY2F0aW9uU3RhdHVzREFP
JywKIAkJCSdPQUlEQU8nID0+ICdvYWkub2pzLk9BSURBTycsCiAJCQknT0pTQ29tcGxldGVkUGF5
bWVudERBTycgPT4gJ3BheW1lbnQub2pzLk9KU0NvbXBsZXRlZFBheW1lbnREQU8nLAogCQkJJ1Bs
dWdpblNldHRpbmdzREFPJyA9PiAncGx1Z2lucy5QbHVnaW5TZXR0aW5nc0RBTycsCkluZGV4OiBj
bGFzc2VzL2luc3RhbGwvVXBncmFkZS5pbmMucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMv
b2pzMi9jbGFzc2VzL2luc3RhbGwvVXBncmFkZS5pbmMucGhwLHYKcmV0cmlldmluZyByZXZpc2lv
biAxLjM2CmRpZmYgLXUgLXIxLjM2IFVwZ3JhZGUuaW5jLnBocAotLS0gY2xhc3Nlcy9pbnN0YWxs
L1VwZ3JhZGUuaW5jLnBocAk5IERlYyAyMDA4IDE5OjQwOjQ1IC0wMDAwCTEuMzYKKysrIGNsYXNz
ZXMvaW5zdGFsbC9VcGdyYWRlLmluYy5waHAJMjYgSmFuIDIwMDkgMTk6Mzg6MjEgLTAwMDAKQEAg
LTQ2Myw3ICs0NjMsNyBAQAogCQkkdGFibGVzID0gYXJyYXkoCiAJCQkndmVyc2lvbnMnLCAnc2l0
ZScsICdzaXRlX3NldHRpbmdzJywgJ3NjaGVkdWxlZF90YXNrcycsCiAJCQknc2Vzc2lvbnMnLCAn
am91cm5hbF9zZXR0aW5ncycsCi0JCQkncGx1Z2luX3NldHRpbmdzJywgJ3JvbGVzJywgJ25vdGlm
aWNhdGlvbl9zdGF0dXMnLCAKKwkJCSdwbHVnaW5fc2V0dGluZ3MnLCAncm9sZXMnLCAKIAkJCSdz
ZWN0aW9uX3NldHRpbmdzJywgJ3NlY3Rpb25fZWRpdG9ycycsICdpc3N1ZV9zZXR0aW5ncycsCiAJ
CQknY3VzdG9tX2lzc3VlX29yZGVycycsICdjdXN0b21fc2VjdGlvbl9vcmRlcnMnLAogCQkJJ2Fy
dGljbGVfc2V0dGluZ3MnLCAnYXJ0aWNsZV9hdXRob3Jfc2V0dGluZ3MnLApJbmRleDogY2xhc3Nl
cy9qb3VybmFsL0pvdXJuYWwuaW5jLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL29qczIv
Y2xhc3Nlcy9qb3VybmFsL0pvdXJuYWwuaW5jLnBocCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4y
NApkaWZmIC11IC1yMS4yNCBKb3VybmFsLmluYy5waHAKLS0tIGNsYXNzZXMvam91cm5hbC9Kb3Vy
bmFsLmluYy5waHAJMSBKdWwgMjAwOCAwMToxNjoxMCAtMDAwMAkxLjI0CisrKyBjbGFzc2VzL2pv
dXJuYWwvSm91cm5hbC5pbmMucGhwCTI2IEphbiAyMDA5IDE5OjM4OjIxIC0wMDAwCkBAIC0xNzUs
NiArMTc1LDE0IEBACiAJZnVuY3Rpb24gZ2V0Sm91cm5hbElkKCkgewogCQlyZXR1cm4gJHRoaXMt
PmdldERhdGEoJ2pvdXJuYWxJZCcpOwogCX0KKwkKKwkvKioKKwkgKiBHZXQgSUQgb2Ygam91cm5h
bCAoZm9yIGdlbmVyaWMgY2FsbHMgaW4gUEtQIFdBTCkuCisJICogQHJldHVybiBpbnQKKwkgKi8K
KwlmdW5jdGlvbiBnZXRJZCgpIHsKKwkJcmV0dXJuICR0aGlzLT5nZXREYXRhKCdqb3VybmFsSWQn
KTsKKwl9CiAKIAkvKioKIAkgKiBTZXQgSUQgb2Ygam91cm5hbC4KSW5kZXg6IGNsYXNzZXMvam91
cm5hbC9Kb3VybmFsREFPLmluYy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9vanMyL2Ns
YXNzZXMvam91cm5hbC9Kb3VybmFsREFPLmluYy5waHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEu
MzQKZGlmZiAtdSAtcjEuMzQgSm91cm5hbERBTy5pbmMucGhwCi0tLSBjbGFzc2VzL2pvdXJuYWwv
Sm91cm5hbERBTy5pbmMucGhwCTUgTm92IDIwMDggMDA6NDY6NDAgLTAwMDAJMS4zNAorKysgY2xh
c3Nlcy9qb3VybmFsL0pvdXJuYWxEQU8uaW5jLnBocAkyNiBKYW4gMjAwOSAxOTozODoyMSAtMDAw
MApAQCAtMTQyLDkgKzE0Miw2IEBACiAJCSRpc3N1ZURhbyA9ICZEQU9SZWdpc3RyeTo6Z2V0REFP
KCdJc3N1ZURBTycpOwogCQkkaXNzdWVEYW8tPmRlbGV0ZUlzc3Vlc0J5Sm91cm5hbCgkam91cm5h
bElkKTsKIAotCQkkbm90aWZpY2F0aW9uU3RhdHVzRGFvID0gJkRBT1JlZ2lzdHJ5OjpnZXREQU8o
J05vdGlmaWNhdGlvblN0YXR1c0RBTycpOwotCQkkbm90aWZpY2F0aW9uU3RhdHVzRGFvLT5kZWxl
dGVOb3RpZmljYXRpb25TdGF0dXNCeUpvdXJuYWwoJGpvdXJuYWxJZCk7Ci0KIAkJJGVtYWlsVGVt
cGxhdGVEYW8gPSAmREFPUmVnaXN0cnk6OmdldERBTygnRW1haWxUZW1wbGF0ZURBTycpOwogCQkk
ZW1haWxUZW1wbGF0ZURhby0+ZGVsZXRlRW1haWxUZW1wbGF0ZXNCeUpvdXJuYWwoJGpvdXJuYWxJ
ZCk7CiAKSW5kZXg6IGNsYXNzZXMvbWFuYWdlci9mb3JtL0Fubm91bmNlbWVudEZvcm0uaW5jLnBo
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL29qczIvY2xhc3Nlcy9tYW5hZ2VyL2Zvcm0vQW5u
b3VuY2VtZW50Rm9ybS5pbmMucGhwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEyCmRpZmYgLXUg
LXIxLjEyIEFubm91bmNlbWVudEZvcm0uaW5jLnBocAotLS0gY2xhc3Nlcy9tYW5hZ2VyL2Zvcm0v
QW5ub3VuY2VtZW50Rm9ybS5pbmMucGhwCTUgTm92IDIwMDggMDA6NDY6NDAgLTAwMDAJMS4xMgor
KysgY2xhc3Nlcy9tYW5hZ2VyL2Zvcm0vQW5ub3VuY2VtZW50Rm9ybS5pbmMucGhwCTI2IEphbiAy
MDA5IDE5OjM4OjIxIC0wMDAwCkBAIC0xMjksNiArMTI5LDcgQEAKIAlmdW5jdGlvbiBleGVjdXRl
KCkgewogCQkkYW5ub3VuY2VtZW50RGFvID0gJkRBT1JlZ2lzdHJ5OjpnZXREQU8oJ0Fubm91bmNl
bWVudERBTycpOwogCQkkam91cm5hbCA9ICZSZXF1ZXN0OjpnZXRKb3VybmFsKCk7CisJCSRqb3Vy
bmFsSWQgPSAkam91cm5hbC0+Z2V0Sm91cm5hbElkKCk7CiAKIAkJaWYgKGlzc2V0KCR0aGlzLT5h
bm5vdW5jZW1lbnRJZCkpIHsKIAkJCSRhbm5vdW5jZW1lbnQgPSAmJGFubm91bmNlbWVudERhby0+
Z2V0QW5ub3VuY2VtZW50KCR0aGlzLT5hbm5vdW5jZW1lbnRJZCk7CkBAIC0xMzgsNyArMTM5LDcg
QEAKIAkJCSRhbm5vdW5jZW1lbnQgPSBuZXcgQW5ub3VuY2VtZW50KCk7CiAJCX0KIAotCQkkYW5u
b3VuY2VtZW50LT5zZXRKb3VybmFsSWQoJGpvdXJuYWwtPmdldEpvdXJuYWxJZCgpKTsKKwkJJGFu
bm91bmNlbWVudC0+c2V0Sm91cm5hbElkKCRqb3VybmFsSWQpOwogCQkkYW5ub3VuY2VtZW50LT5z
ZXRUaXRsZSgkdGhpcy0+Z2V0RGF0YSgndGl0bGUnKSwgbnVsbCk7IC8vIExvY2FsaXplZAogCQkk
YW5ub3VuY2VtZW50LT5zZXREZXNjcmlwdGlvblNob3J0KCR0aGlzLT5nZXREYXRhKCdkZXNjcmlw
dGlvblNob3J0JyksIG51bGwpOyAvLyBMb2NhbGl6ZWQKIAkJJGFubm91bmNlbWVudC0+c2V0RGVz
Y3JpcHRpb24oJHRoaXMtPmdldERhdGEoJ2Rlc2NyaXB0aW9uJyksIG51bGwpOyAvLyBMb2NhbGl6
ZWQKQEAgLTE2Miw2ICsxNjMsMjUgQEAKIAkJCSRhbm5vdW5jZW1lbnQtPnNldERhdGV0aW1lUG9z
dGVkKENvcmU6OmdldEN1cnJlbnREYXRlKCkpOwogCQkJJGFubm91bmNlbWVudERhby0+aW5zZXJ0
QW5ub3VuY2VtZW50KCRhbm5vdW5jZW1lbnQpOwogCQl9CisJCQorCQkvLyBTZW5kIGEgbm90aWZp
Y2F0aW9uIHRvIGFzc29jaWF0ZWQgdXNlcnMKKwkJaW1wb3J0KCdub3RpZmljYXRpb24uTm90aWZp
Y2F0aW9uJyk7CisJCSRyb2xlRGFvID0gJkRBT1JlZ2lzdHJ5OjpnZXREQU8oJ1JvbGVEQU8nKTsK
KwkJJG5vdGlmaWNhdGlvblVzZXJzID0gYXJyYXkoKTsKKwkJJGFsbFVzZXJzID0gJHJvbGVEYW8t
PmdldFVzZXJzQnlKb3VybmFsSWQoJGpvdXJuYWxJZCk7CisJCXdoaWxlICghJGFsbFVzZXJzLT5l
b2YoKSkgeworCQkJJHVzZXIgPSAmJGFsbFVzZXJzLT5uZXh0KCk7CisJCQkkbm90aWZpY2F0aW9u
VXNlcnNbXSA9IGFycmF5KCdpZCcgPT4gJHVzZXItPmdldFVzZXJJZCgpKTsKKwkJCXVuc2V0KCR1
c2VyKTsKKwkJfQorCQkkdXJsID0gUmVxdWVzdDo6dXJsKG51bGwsICdhbm5vdW5jZW1lbnQnLCAn
dmlldycsIGFycmF5KDEpKTsKKwkJZm9yZWFjaCAoJG5vdGlmaWNhdGlvblVzZXJzIGFzICR1c2Vy
KSB7CisJCQlOb3RpZmljYXRpb246OmNyZWF0ZU5vdGlmaWNhdGlvbigkdXNlclsnaWQnXSwgIm5v
dGlmaWNhdGlvbi50eXBlLm5ld0Fubm91bmNlbWVudCIsCisJCQkJbnVsbCwgJHVybCwgMSwgTk9U
SUZJQ0FUSU9OX1RZUEVfTkVXX0FOTk9VTkNFTUVOVCk7CisJCX0KKwkJJG5vdGlmaWNhdGlvbkRh
byA9ICZEQU9SZWdpc3RyeTo6Z2V0REFPKCdOb3RpZmljYXRpb25EQU8nKTsKKwkJJG5vdGlmaWNh
dGlvbkRhby0+c2VuZFRvTWFpbGluZ0xpc3QoTm90aWZpY2F0aW9uOjpjcmVhdGVOb3RpZmljYXRp
b24oMCwgIm5vdGlmaWNhdGlvbi50eXBlLm5ld0Fubm91bmNlbWVudCIsCisJCQkJbnVsbCwgJHVy
bCwgMSwgTk9USUZJQ0FUSU9OX1RZUEVfTkVXX0FOTk9VTkNFTUVOVCkpOwogCX0KIH0KIApJbmRl
eDogY2xhc3Nlcy9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9uLmluYy5waHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpS
Q1MgZmlsZTogY2xhc3Nlcy9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9uLmluYy5waHAKZGlmZiAt
TiBjbGFzc2VzL25vdGlmaWNhdGlvbi9Ob3RpZmljYXRpb24uaW5jLnBocAotLS0gL2Rldi9udWxs
CTEgSmFuIDE5NzAgMDA6MDA6MDAgLTAwMDAKKysrIGNsYXNzZXMvbm90aWZpY2F0aW9uL05vdGlm
aWNhdGlvbi5pbmMucGhwCTI2IEphbiAyMDA5IDE5OjM4OjIyIC0wMDAwCkBAIC0wLDAgKzEsMTIy
IEBACis8P3BocAorCisvKioKKyAqIEBmaWxlIGNsYXNzZXMvbm90aWZpY2F0aW9uL05vdGlmaWNh
dGlvbi5pbmMucGhwCisgKgorICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMDggSm9obiBXaWxsaW5z
a3kKKyAqIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR1BMIHYyLiBGb3IgZnVsbCB0ZXJtcyBz
ZWUgdGhlIGZpbGUgZG9jcy9DT1BZSU5HLgorICoKKyAqIEBjbGFzcyBPSlNOb3RpZmljYXRpb24K
KyAqIEBpbmdyb3VwIG5vdGlmaWNhdGlvbgorICogQHNlZSBOb3RpZmljYXRpb25EQU8KKyAqIEBi
cmllZiBPSlMgc3ViY2xhc3MgZm9yIE5vdGlmaWNhdGlvbnMgKGRlZmluZXMgT0pTLXNwZWNpZmlj
IHR5cGVzIGFuZCBpY29ucykuCisgKi8KKworLy8gJElkOiBOb3RpZmljYXRpb24uaW5jLnBocCx2
IDEuMTAgMjAwOC8wNy8wMSAwMToxNjowOSBhc21lY2hlciBFeHAgJAorCisKKy8qKiBOb3RpZmlj
YXRpb24gYXNzb2NpYXRpdmUgdHlwZXMuICovCitkZWZpbmUoJ05PVElGSUNBVElPTl9UWVBFX0FS
VElDTEVfU1VCTUlUVEVEJywgCQkweDEwMDAwMDEpOworZGVmaW5lKCdOT1RJRklDQVRJT05fVFlQ
RV9NRVRBREFUQV9NT0RJRklFRCcsIAkJMHgxMDAwMDAyKTsKK2RlZmluZSgnTk9USUZJQ0FUSU9O
X1RZUEVfU1VQUF9GSUxFX0FEREVEJywgCQkJMHgxMDAwMDAzKTsKK2RlZmluZSgnTk9USUZJQ0FU
SU9OX1RZUEVfU1VQUF9GSUxFX01PRElGSUVEJywgCQkweDEwMDAwMDQpOworZGVmaW5lKCdOT1RJ
RklDQVRJT05fVFlQRV9HQUxMRVlfQURERUQnLCAJCQkJMHgxMDAwMDA1KTsKK2RlZmluZSgnTk9U
SUZJQ0FUSU9OX1RZUEVfR0FMTEVZX01PRElGSUVEJywgCQkJMHgxMDAwMDA2KTsKK2RlZmluZSgn
Tk9USUZJQ0FUSU9OX1RZUEVfU1VCTUlTU0lPTl9DT01NRU5UJywgCQkweDEwMDAwMDcpOworZGVm
aW5lKCdOT1RJRklDQVRJT05fVFlQRV9MQVlPVVRfQ09NTUVOVCcsIAkJCTB4MTAwMDAwOCk7Citk
ZWZpbmUoJ05PVElGSUNBVElPTl9UWVBFX0NPUFlFRElUX0NPTU1FTlQnLCAJCQkweDEwMDAwMDkp
OworZGVmaW5lKCdOT1RJRklDQVRJT05fVFlQRV9QUk9PRlJFQURfQ09NTUVOVCcsIAkJMHgxMDAw
MDEwKTsKK2RlZmluZSgnTk9USUZJQ0FUSU9OX1RZUEVfUkVWSUVXRVJfQ09NTUVOVCcsIAkJCTB4
MTAwMDAxMSk7CitkZWZpbmUoJ05PVElGSUNBVElPTl9UWVBFX1JFVklFV0VSX0ZPUk1fQ09NTUVO
VCcsIAkweDEwMDAwMTIpOworZGVmaW5lKCdOT1RJRklDQVRJT05fVFlQRV9FRElUT1JfREVDSVNJ
T05fQ09NTUVOVCcsIAkweDEwMDAwMTMpOworZGVmaW5lKCdOT1RJRklDQVRJT05fVFlQRV9VU0VS
X0NPTU1FTlQnLCAJCQkJMHgxMDAwMDAxNCk7CitkZWZpbmUoJ05PVElGSUNBVElPTl9UWVBFX1BV
QkxJU0hFRF9JU1NVRScsIAkJCTB4MTAwMDAwMTUpOworZGVmaW5lKCdOT1RJRklDQVRJT05fVFlQ
RV9ORVdfQU5OT1VOQ0VNRU5UJywgCQkJMHgxMDAwMDAxNik7CisKK2ltcG9ydCgnbm90aWZpY2F0
aW9uLlBLUE5vdGlmaWNhdGlvbicpOworaW1wb3J0KCdub3RpZmljYXRpb24uTm90aWZpY2F0aW9u
REFPJyk7CisKK2NsYXNzIE5vdGlmaWNhdGlvbiBleHRlbmRzIFBLUE5vdGlmaWNhdGlvbiB7CisK
KwkvKioKKwkgKiBDb25zdHJ1Y3Rvci4KKwkgKi8KKwlmdW5jdGlvbiBOb3RpZmljYXRpb24oKSB7
CisJCXBhcmVudDo6UEtQTm90aWZpY2F0aW9uKCk7CisJfQorCQorCS8qKgorCSAqIHJldHVybiB0
aGUgcGF0aCB0byB0aGUgaWNvbiBmb3IgdGhpcyB0eXBlCisJICogQHJldHVybiBzdHJpbmcKKwkg
Ki8KKwlmdW5jdGlvbiBnZXRJY29uTG9jYXRpb24oKSB7CisJCSRiYXNlVXJsID0gUmVxdWVzdDo6
Z2V0QmFzZVVybCgpIC4gJy9saWIvcGtwL3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMvJzsKKwkJc3dp
dGNoICgkdGhpcy0+Z2V0QXNzb2NUeXBlKCkpIHsKKwkJCWNhc2UgTk9USUZJQ0FUSU9OX1RZUEVf
QVJUSUNMRV9TVUJNSVRURUQ6CisJCQljYXNlIE5PVElGSUNBVElPTl9UWVBFX0dBTExFWV9BRERF
RDoKKwkJCWNhc2UgTk9USUZJQ0FUSU9OX1RZUEVfU1VQUF9GSUxFX0FEREVEOgorCQkJCXJldHVy
biAkYmFzZVVybCAuICdwYWdlX25ldy5naWYnOworCQkJCWJyZWFrOworCQkJY2FzZSBOT1RJRklD
QVRJT05fVFlQRV9TVVBQX0ZJTEVfTU9ESUZJRUQ6CisJCQljYXNlIE5PVElGSUNBVElPTl9UWVBF
X1NVUFBfRklMRV9BRERFRDoKKwkJCQlyZXR1cm4gJGJhc2VVcmwgLiAncGFnZV9hdHRhY2htZW50
LmdpZic7CisJCQkJYnJlYWs7CisJCQkKKwkJCWNhc2UgTk9USUZJQ0FUSU9OX1RZUEVfTUVUQURB
VEFfTU9ESUZJRUQ6CisJCQljYXNlIE5PVElGSUNBVElPTl9UWVBFX0dBTExFWV9NT0RJRklFRDoK
KwkJCQlyZXR1cm4gJGJhc2VVcmwgLiAnZWRpdC5naWYnOworCQkJCWJyZWFrOworCQkJY2FzZSBO
T1RJRklDQVRJT05fVFlQRV9TVUJNSVNTSU9OX0NPTU1FTlQ6CisJCQljYXNlIE5PVElGSUNBVElP
Tl9UWVBFX0xBWU9VVF9DT01NRU5UOgorCQkJY2FzZSBOT1RJRklDQVRJT05fVFlQRV9DT1BZRURJ
VF9DT01NRU5UOgorCQkJY2FzZSBOT1RJRklDQVRJT05fVFlQRV9QUk9PRlJFQURfQ09NTUVOVDoK
KwkJCWNhc2UgTk9USUZJQ0FUSU9OX1RZUEVfUkVWSUVXRVJfQ09NTUVOVDoKKwkJCWNhc2UgTk9U
SUZJQ0FUSU9OX1RZUEVfUkVWSUVXRVJfRk9STV9DT01NRU5UOgorCQkJY2FzZSBOT1RJRklDQVRJ
T05fVFlQRV9FRElUT1JfREVDSVNJT05fQ09NTUVOVDoKKwkJCWNhc2UgTk9USUZJQ0FUSU9OX1RZ
UEVfVVNFUl9DT01NRU5UOgorCQkJCXJldHVybiAkYmFzZVVybCAuICdjb21tZW50X25ldy5naWYn
OworCQkJCWJyZWFrOworCQkJY2FzZSBOT1RJRklDQVRJT05fVFlQRV9QVUJMSVNIRURfSVNTVUU6
CisJCQkJcmV0dXJuICRiYXNlVXJsIC4gJ2xpc3Rfd29ybGQuZ2lmJzsKKwkJCQlicmVhazsKKwkJ
CWNhc2UgTk9USUZJQ0FUSU9OX1RZUEVfTkVXX0FOTk9VTkNFTUVOVDoKKwkJCQlyZXR1cm4gJGJh
c2VVcmwgLiAnbm90ZV9uZXcuZ2lmJzsKKwkJCQlicmVhazsKKwkJCWRlZmF1bHQ6CisJCQkJcmV0
dXJuICRiYXNlVXJsIC4gJ3BhZ2VfYWxlcnQuZ2lmJzsKKwkJfQorCX0KKwkKKwkvKioKKwkgKiBT
dGF0aWMgZnVuY3Rpb24gdG8gc2VuZCBhbiBlbWFpbCB0byBhIG1haWxpbmcgbGlzdCB1c2VyIHJl
Z2FyZGluZyBzaWdudXAgb3IgYSBsb3N0IHBhc3N3b3JkCisJICogQHBhcmFtICRlbWFpbCBzdHJp
bmcKKwkgKiBAcGFyYW0gJHBhc3N3b3JkIHN0cmluZyB0aGUgdXNlcidzIHBhc3N3b3JkCisJICog
QHBhcmFtICR0ZW1wbGF0ZSBzdHJpbmcgVGhlIG1haWwgdGVtcGxhdGUgdG8gdXNlCisJICovCisJ
ZnVuY3Rpb24gc2VuZE1haWxpbmdMaXN0RW1haWwoJGVtYWlsLCAkcGFzc3dvcmQsICR0ZW1wbGF0
ZSkgeworCQlpbXBvcnQoJ21haWwuTWFpbFRlbXBsYXRlJyk7CisJCSRqb3VybmFsID0gUmVxdWVz
dDo6Z2V0Sm91cm5hbCgpOworCQkkc2l0ZSA9IFJlcXVlc3Q6OmdldFNpdGUoKTsKKwkJCisJCSRw
YXJhbXMgPSBhcnJheSgKKwkJCSdwYXNzd29yZCcgPT4gJHBhc3N3b3JkLAorCQkJJ3NpdGVUaXRs
ZScgPT4gJGpvdXJuYWwtPmdldEpvdXJuYWxUaXRsZSgpLAorCQkJJ3Vuc3Vic2NyaWJlTGluaycg
PT4gUmVxdWVzdDo6dXJsKG51bGwsICdub3RpZmljYXRpb24nLCAndW5zdWJzY3JpYmVNYWlsTGlz
dCcpCisJCSk7CisJCQorCQlpZiAoJHRlbXBsYXRlID09ICdOT1RJRklDQVRJT05fTUFJTExJU1Rf
V0VMQ09NRScpIHsKKwkJCSRrZXlIYXNoID0gbWQ1KCRwYXNzd29yZCk7CisJCQkkY29uZmlybUxp
bmsgPSBSZXF1ZXN0Ojp1cmwobnVsbCwgJ25vdGlmaWNhdGlvbicsICdjb25maXJtTWFpbExpc3RT
dWJzY3JpcHRpb24nLCBhcnJheSgka2V5SGFzaCwgJGVtYWlsKSk7CisJCQkkcGFyYW1zWyJjb25m
aXJtTGluayJdID0gJGNvbmZpcm1MaW5rOworCQl9CisJCQorCQkkbWFpbCA9IG5ldyBNYWlsVGVt
cGxhdGUoJHRlbXBsYXRlKTsKKwkJJG1haWwtPnNldEZyb20oJHNpdGUtPmdldFNpdGVDb250YWN0
RW1haWwoKSwgJHNpdGUtPmdldFNpdGVDb250YWN0TmFtZSgpKTsKKwkJJG1haWwtPmFzc2lnblBh
cmFtcygkcGFyYW1zKTsKKwkJJG1haWwtPmFkZFJlY2lwaWVudCgkZW1haWwpOworCQkkbWFpbC0+
c2VuZCgpOworCX0KKworIH0KKworPz4KSW5kZXg6IGNsYXNzZXMvbm90aWZpY2F0aW9uL2Zvcm0v
Tm90aWZpY2F0aW9uU2V0dGluZ3NGb3JtLmluYy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogY2xh
c3Nlcy9ub3RpZmljYXRpb24vZm9ybS9Ob3RpZmljYXRpb25TZXR0aW5nc0Zvcm0uaW5jLnBocApk
aWZmIC1OIGNsYXNzZXMvbm90aWZpY2F0aW9uL2Zvcm0vTm90aWZpY2F0aW9uU2V0dGluZ3NGb3Jt
LmluYy5waHAKLS0tIC9kZXYvbnVsbAkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAwCisrKyBjbGFz
c2VzL25vdGlmaWNhdGlvbi9mb3JtL05vdGlmaWNhdGlvblNldHRpbmdzRm9ybS5pbmMucGhwCTI2
IEphbiAyMDA5IDE5OjM4OjIyIC0wMDAwCkBAIC0wLDAgKzEsMTUyIEBACis8P3BocAorLyoqCisg
KiBAZGVmZ3JvdXAgbm90aWZpY2F0aW9uX2Zvcm0KKyAqLworCisvKioKKyAqIEBmaWxlIGNsYXNz
ZXMvbm90aWZpY2F0aW9uL2Zvcm0vTm90aWZpY2F0aW9uU2V0dGluZ3NGb3JtLmluYy5waHAKKyAq
CisgKiBDb3B5cmlnaHQgKGMpIDIwMDAtMjAwOCBKb2huIFdpbGxpbnNreQorICogRGlzdHJpYnV0
ZWQgdW5kZXIgdGhlIEdOVSBHUEwgdjIuIEZvciBmdWxsIHRlcm1zIHNlZSB0aGUgZmlsZSBkb2Nz
L0NPUFlJTkcuCisgKgorICogQGNsYXNzIE5vdGlmaWNhdGlvblNldHRpbmdzRm9ybQorICogQGlu
Z3JvdXAgbm90aWZpY2F0aW9uX2Zvcm0KKyAqCisgKiBAYnJpZWYgRm9ybSB0byBlZGl0IG5vdGlm
aWNhdGlvbiBzZXR0aW5ncy4KKyAqLworCisvLyAkSWQ6IE5vdGlmaWNhdGlvblNldHRpbmdzRm9y
bS5pbmMucGhwLHYgMS41IDIwMDgvMTEvMDUgMDA6NDU6MTMgbWNyaWRlciBFeHAgJAorCisKK2lt
cG9ydCgnbm90aWZpY2F0aW9uLmZvcm0uUEtQTm90aWZpY2F0aW9uU2V0dGluZ3NGb3JtJyk7CisK
K2NsYXNzIE5vdGlmaWNhdGlvblNldHRpbmdzRm9ybSBleHRlbmRzIFBLUE5vdGlmaWNhdGlvblNl
dHRpbmdzRm9ybSB7CisJLyoqCisJICogQ29uc3RydWN0b3IuCisJICovCisJZnVuY3Rpb24gTm90
aWZpY2F0aW9uU2V0dGluZ3NGb3JtKCkgeworCQlwYXJlbnQ6OlBLUE5vdGlmaWNhdGlvblNldHRp
bmdzRm9ybSgpOworCX0KKworCS8qKgorCSAqIEFzc2lnbiBmb3JtIGRhdGEgdG8gdXNlci1zdWJt
aXR0ZWQgZGF0YS4KKwkgKi8KKwlmdW5jdGlvbiByZWFkSW5wdXREYXRhKCkgeworCQkkdGhpcy0+
cmVhZFVzZXJWYXJzKAorCQkJYXJyYXkoJ25vdGlmaWNhdGlvbkFydGljbGVTdWJtaXR0ZWQnLAor
CQkJCSdub3RpZmljYXRpb25NZXRhZGF0YU1vZGlmaWVkJywKKwkJCQknbm90aWZpY2F0aW9uU3Vw
cEZpbGVBZGRlZCcsCisJCQkJJ25vdGlmaWNhdGlvblN1cHBGaWxlTW9kaWZpZWQnLAorCQkJCSdu
b3RpZmljYXRpb25HYWxsZXlBZGRlZCcsCisJCQkJJ25vdGlmaWNhdGlvbkdhbGxleU1vZGlmaWVk
JywKKwkJCQknbm90aWZpY2F0aW9uU3VibWlzc2lvbkNvbW1lbnQnLAorCQkJCSdub3RpZmljYXRp
b25MYXlvdXRDb21tZW50JywKKwkJCQknbm90aWZpY2F0aW9uQ29weWVkaXRDb21tZW50JywKKwkJ
CQknbm90aWZpY2F0aW9uUHJvb2ZyZWFkQ29tbWVudCcsCisJCQkJJ25vdGlmaWNhdGlvblJldmll
d2VyQ29tbWVudCcsCisJCQkJJ25vdGlmaWNhdGlvblJldmlld2VyRm9ybUNvbW1lbnQnLAorCQkJ
CSdub3RpZmljYXRpb25FZGl0b3JEZWNpc2lvbkNvbW1lbnQnLAorCQkJCSdub3RpZmljYXRpb25Q
dWJsaXNoZWRJc3N1ZScsCisJCQkJJ25vdGlmaWNhdGlvblVzZXJDb21tZW50JywKKwkJCQknbm90
aWZpY2F0aW9uTmV3QW5ub3VuY2VtZW50JywKKwkJCQknZW1haWxOb3RpZmljYXRpb25BcnRpY2xl
U3VibWl0dGVkJywKKwkJCQknZW1haWxOb3RpZmljYXRpb25NZXRhZGF0YU1vZGlmaWVkJywKKwkJ
CQknZW1haWxOb3RpZmljYXRpb25TdXBwRmlsZUFkZGVkJywKKwkJCQknZW1haWxOb3RpZmljYXRp
b25TdXBwRmlsZU1vZGlmaWVkJywKKwkJCQknZW1haWxOb3RpZmljYXRpb25HYWxsZXlBZGRlZCcs
CisJCQkJJ2VtYWlsTm90aWZpY2F0aW9uR2FsbGV5TW9kaWZpZWQnLAorCQkJCSdlbWFpbE5vdGlm
aWNhdGlvblN1Ym1pc3Npb25Db21tZW50JywKKwkJCQknZW1haWxOb3RpZmljYXRpb25MYXlvdXRD
b21tZW50JywKKwkJCQknZW1haWxOb3RpZmljYXRpb25Db3B5ZWRpdENvbW1lbnQnLAorCQkJCSdl
bWFpbE5vdGlmaWNhdGlvblByb29mcmVhZENvbW1lbnQnLAorCQkJCSdlbWFpbE5vdGlmaWNhdGlv
blJldmlld2VyQ29tbWVudCcsCisJCQkJJ2VtYWlsTm90aWZpY2F0aW9uUmV2aWV3ZXJGb3JtQ29t
bWVudCcsCisJCQkJJ2VtYWlsTm90aWZpY2F0aW9uRWRpdG9yRGVjaXNpb25Db21tZW50JywgCisJ
CQkJJ2VtYWlsTm90aWZpY2F0aW9uUHVibGlzaGVkSXNzdWUnLAorCQkJCSdlbWFpbE5vdGlmaWNh
dGlvblVzZXJDb21tZW50JywKKwkJCQknZW1haWxOb3RpZmljYXRpb25OZXdBbm5vdW5jZW1lbnQn
KQorCQkpOworCX0KKwkKKwkvKioKKwkgKiBEaXNwbGF5IHRoZSBmb3JtLgorCSAqLworCWZ1bmN0
aW9uIGRpc3BsYXkoKSB7CisJCSRqb3VybmFsRGFvID0gJkRBT1JlZ2lzdHJ5OjpnZXREQU8oJ0pv
dXJuYWxEQU8nKTsKKwkJJGpvdXJuYWxzID0gJiRqb3VybmFsRGFvLT5nZXRKb3VybmFsVGl0bGVz
KCk7CisJCQorCQkkY2FuT25seVJlYWQgPSB0cnVlOworCQkkY2FuT25seVJldmlldyA9IGZhbHNl
OworCQkKKwkJaWYgKFZhbGlkYXRpb246OmlzUmV2aWV3ZXIoKSkgeworCQkJJGNhbk9ubHlSZWFk
ID0gZmFsc2U7CisJCQkkY2FuT25seVJldmlldyA9IHRydWU7CisJCX0KKwkJaWYgKFZhbGlkYXRp
b246OmlzU2l0ZUFkbWluKCkgfHwgVmFsaWRhdGlvbjo6aXNKb3VybmFsTWFuYWdlcigpIHx8IFZh
bGlkYXRpb246OmlzRWRpdG9yKCkgfHwgCisJCQlWYWxpZGF0aW9uOjppc1NlY3Rpb25FZGl0b3Io
KSB8fCBWYWxpZGF0aW9uOjppc0xheW91dEVkaXRvcigpIHx8IFZhbGlkYXRpb246OmlzQ29weWVk
aXRvcigpIHx8IFZhbGlkYXRpb246OmlzUHJvb2ZyZWFkZXIoKSkgeworCQkJJGNhbk9ubHlSZWFk
ID0gZmFsc2U7CisJCQkkY2FuT25seVJldmlldyA9IGZhbHNlOworCQl9CisKKwkJJHRlbXBsYXRl
TWdyID0gJlRlbXBsYXRlTWFuYWdlcjo6Z2V0TWFuYWdlcigpOworCQkkdGVtcGxhdGVNZ3ItPmFz
c2lnbignY2FuT25seVJlYWQnLCAkY2FuT25seVJlYWQpOworCQkkdGVtcGxhdGVNZ3ItPmFzc2ln
bignY2FuT25seVJldmlldycsICRjYW5Pbmx5UmV2aWV3KTsKKwkJcmV0dXJuIHBhcmVudDo6ZGlz
cGxheSgpOworCX0KKworCS8qKgorCSAqIFNhdmUgc2l0ZSBzZXR0aW5ncy4KKwkgKi8KKwlmdW5j
dGlvbiBleGVjdXRlKCkgewkJCisJCSR1c2VyID0gUmVxdWVzdDo6Z2V0VXNlcigpOworCQkkdXNl
cklkID0gJHVzZXItPmdldFVzZXJJZCgpOworCQkKKwkJLy8gTm90aWZpY2F0aW9uIHNldHRpbmdz
CisJCSRzZXR0aW5ncyA9IGFycmF5KCk7CisJCWlmKCEkdGhpcy0+Z2V0RGF0YSgnbm90aWZpY2F0
aW9uQXJ0aWNsZVN1Ym1pdHRlZCcpKSAkc2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9UWVBFX0FS
VElDTEVfU1VCTUlUVEVEOworCQlpZighJHRoaXMtPmdldERhdGEoJ25vdGlmaWNhdGlvbk1ldGFk
YXRhTW9kaWZpZWQnKSkgJHNldHRpbmdzW10gPSBOT1RJRklDQVRJT05fVFlQRV9NRVRBREFUQV9N
T0RJRklFRDsKKwkJaWYoISR0aGlzLT5nZXREYXRhKCdub3RpZmljYXRpb25TdXBwRmlsZUFkZGVk
JykpICRzZXR0aW5nc1tdID0gTk9USUZJQ0FUSU9OX1RZUEVfU1VQUF9GSUxFX0FEREVEOworCQlp
ZighJHRoaXMtPmdldERhdGEoJ25vdGlmaWNhdGlvblN1cHBGaWxlTW9kaWZpZWQnKSkgJHNldHRp
bmdzW10gPSBOT1RJRklDQVRJT05fVFlQRV9TVVBQX0ZJTEVfTU9ESUZJRUQ7CisJCWlmKCEkdGhp
cy0+Z2V0RGF0YSgnbm90aWZpY2F0aW9uR2FsbGV5QWRkZWQnKSkgJHNldHRpbmdzW10gPSBOT1RJ
RklDQVRJT05fVFlQRV9HQUxMRVlfQURERUQ7CisJCWlmKCEkdGhpcy0+Z2V0RGF0YSgnbm90aWZp
Y2F0aW9uR2FsbGV5TW9kaWZpZWQnKSkgJHNldHRpbmdzW10gPSBOT1RJRklDQVRJT05fVFlQRV9H
QUxMRVlfTU9ESUZJRUQ7CisJCWlmKCEkdGhpcy0+Z2V0RGF0YSgnbm90aWZpY2F0aW9uU3VibWlz
c2lvbkNvbW1lbnQnKSkgJHNldHRpbmdzW10gPSBOT1RJRklDQVRJT05fVFlQRV9TVUJNSVNTSU9O
X0NPTU1FTlQ7CisJCWlmKCEkdGhpcy0+Z2V0RGF0YSgnbm90aWZpY2F0aW9uTGF5b3V0Q29tbWVu
dCcpKSAkc2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9UWVBFX0xBWU9VVF9DT01NRU5UOworCQlp
ZighJHRoaXMtPmdldERhdGEoJ25vdGlmaWNhdGlvbkNvcHllZGl0Q29tbWVudCcpKSAkc2V0dGlu
Z3NbXSA9IE5PVElGSUNBVElPTl9UWVBFX0NPUFlFRElUX0NPTU1FTlQ7CisJCWlmKCEkdGhpcy0+
Z2V0RGF0YSgnbm90aWZpY2F0aW9uUHJvb2ZyZWFkQ29tbWVudCcpKSAkc2V0dGluZ3NbXSA9IE5P
VElGSUNBVElPTl9UWVBFX1BST09GUkVBRF9DT01NRU5UOworCQlpZighJHRoaXMtPmdldERhdGEo
J25vdGlmaWNhdGlvblJldmlld2VyQ29tbWVudCcpKSAkc2V0dGluZ3NbXSA9IE5PVElGSUNBVElP
Tl9UWVBFX1JFVklFV0VSX0NPTU1FTlQ7CisJCWlmKCEkdGhpcy0+Z2V0RGF0YSgnbm90aWZpY2F0
aW9uUmV2aWV3ZXJGb3JtQ29tbWVudCcpKSAkc2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9UWVBF
X1JFVklFV0VSX0ZPUk1fQ09NTUVOVDsKKwkJaWYoISR0aGlzLT5nZXREYXRhKCdub3RpZmljYXRp
b25FZGl0b3JEZWNpc2lvbkNvbW1lbnQnKSkgJHNldHRpbmdzW10gPSBOT1RJRklDQVRJT05fVFlQ
RV9FRElUT1JfREVDSVNJT05fQ09NTUVOVDsgCisJCWlmKCEkdGhpcy0+Z2V0RGF0YSgnbm90aWZp
Y2F0aW9uUHVibGlzaGVkSXNzdWUnKSkgJHNldHRpbmdzW10gPSBOT1RJRklDQVRJT05fVFlQRV9Q
VUJMSVNIRURfSVNTVUU7CisJCWlmKCEkdGhpcy0+Z2V0RGF0YSgnbm90aWZpY2F0aW9uVXNlckNv
bW1lbnQnKSkgJHNldHRpbmdzW10gPSBOT1RJRklDQVRJT05fVFlQRV9VU0VSX0NPTU1FTlQ7CisJ
CWlmKCEkdGhpcy0+Z2V0RGF0YSgnbm90aWZpY2F0aW9uTmV3QW5ub3VuY2VtZW50JykpICRzZXR0
aW5nc1tdID0gTk9USUZJQ0FUSU9OX1RZUEVfTkVXX0FOTk9VTkNFTUVOVDsKKwkJCisJCS8vIEVt
YWlsIHNldHRpbmdzCisJCSRlbWFpbFNldHRpbmdzID0gYXJyYXkoKTsKKwkJaWYoJHRoaXMtPmdl
dERhdGEoJ2VtYWlsTm90aWZpY2F0aW9uQXJ0aWNsZVN1Ym1pdHRlZCcpKSAkZW1haWxTZXR0aW5n
c1tdID0gTk9USUZJQ0FUSU9OX1RZUEVfQVJUSUNMRV9TVUJNSVRURUQ7CisJCWlmKCR0aGlzLT5n
ZXREYXRhKCdlbWFpbE5vdGlmaWNhdGlvbk1ldGFkYXRhTW9kaWZpZWQnKSkgJGVtYWlsU2V0dGlu
Z3NbXSA9IE5PVElGSUNBVElPTl9UWVBFX01FVEFEQVRBX01PRElGSUVEOworCQlpZigkdGhpcy0+
Z2V0RGF0YSgnZW1haWxOb3RpZmljYXRpb25TdXBwRmlsZUFkZGVkJykpICRlbWFpbFNldHRpbmdz
W10gPSBOT1RJRklDQVRJT05fVFlQRV9TVVBQX0ZJTEVfQURERUQ7CisJCWlmKCR0aGlzLT5nZXRE
YXRhKCdlbWFpbE5vdGlmaWNhdGlvblN1cHBGaWxlTW9kaWZpZWQnKSkgJGVtYWlsU2V0dGluZ3Nb
XSA9IE5PVElGSUNBVElPTl9UWVBFX1NVUFBfRklMRV9NT0RJRklFRDsKKwkJaWYoJHRoaXMtPmdl
dERhdGEoJ2VtYWlsTm90aWZpY2F0aW9uR2FsbGV5QWRkZWQnKSkgJGVtYWlsU2V0dGluZ3NbXSA9
IE5PVElGSUNBVElPTl9UWVBFX0dBTExFWV9BRERFRDsKKwkJaWYoJHRoaXMtPmdldERhdGEoJ2Vt
YWlsTm90aWZpY2F0aW9uR2FsbGV5TW9kaWZpZWQnKSkgJGVtYWlsU2V0dGluZ3NbXSA9IE5PVElG
SUNBVElPTl9UWVBFX0dBTExFWV9NT0RJRklFRDsKKwkJaWYoJHRoaXMtPmdldERhdGEoJ2VtYWls
Tm90aWZpY2F0aW9uU3VibWlzc2lvbkNvbW1lbnQnKSkgJGVtYWlsU2V0dGluZ3NbXSA9IE5PVElG
SUNBVElPTl9UWVBFX1NVQk1JU1NJT05fQ09NTUVOVDsKKwkJaWYoJHRoaXMtPmdldERhdGEoJ2Vt
YWlsTm90aWZpY2F0aW9uTGF5b3V0Q29tbWVudCcpKSAkZW1haWxTZXR0aW5nc1tdID0gTk9USUZJ
Q0FUSU9OX1RZUEVfTEFZT1VUX0NPTU1FTlQ7CisJCWlmKCR0aGlzLT5nZXREYXRhKCdlbWFpbE5v
dGlmaWNhdGlvbkNvcHllZGl0Q29tbWVudCcpKSAkZW1haWxTZXR0aW5nc1tdID0gTk9USUZJQ0FU
SU9OX1RZUEVfQ09QWUVESVRfQ09NTUVOVDsKKwkJaWYoJHRoaXMtPmdldERhdGEoJ2VtYWlsTm90
aWZpY2F0aW9uUHJvb2ZyZWFkQ29tbWVudCcpKSAkZW1haWxTZXR0aW5nc1tdID0gTk9USUZJQ0FU
SU9OX1RZUEVfUFJPT0ZSRUFEX0NPTU1FTlQ7CisJCWlmKCR0aGlzLT5nZXREYXRhKCdlbWFpbE5v
dGlmaWNhdGlvblJldmlld2VyQ29tbWVudCcpKSAkZW1haWxTZXR0aW5nc1tdID0gTk9USUZJQ0FU
SU9OX1RZUEVfUkVWSUVXRVJfQ09NTUVOVDsKKwkJaWYoJHRoaXMtPmdldERhdGEoJ2VtYWlsTm90
aWZpY2F0aW9uUmV2aWV3ZXJGb3JtQ29tbWVudCcpKSAkZW1haWxTZXR0aW5nc1tdID0gTk9USUZJ
Q0FUSU9OX1RZUEVfUkVWSUVXRVJfRk9STV9DT01NRU5UOworCQlpZigkdGhpcy0+Z2V0RGF0YSgn
ZW1haWxOb3RpZmljYXRpb25FZGl0b3JEZWNpc2lvbkNvbW1lbnQnKSkgJGVtYWlsU2V0dGluZ3Nb
XSA9IE5PVElGSUNBVElPTl9UWVBFX0VESVRPUl9ERUNJU0lPTl9DT01NRU5UOyAKKwkJaWYoJHRo
aXMtPmdldERhdGEoJ2VtYWlsTm90aWZpY2F0aW9uUHVibGlzaGVkSXNzdWUnKSkgJGVtYWlsU2V0
dGluZ3NbXSA9IE5PVElGSUNBVElPTl9UWVBFX1BVQkxJU0hFRF9JU1NVRTsKKwkJaWYoJHRoaXMt
PmdldERhdGEoJ2VtYWlsTm90aWZpY2F0aW9uVXNlckNvbW1lbnQnKSkgJGVtYWlsU2V0dGluZ3Nb
XSA9IE5PVElGSUNBVElPTl9UWVBFX1VTRVJfQ09NTUVOVDsKKwkJaWYoJHRoaXMtPmdldERhdGEo
J2VtYWlsTm90aWZpY2F0aW9uTmV3QW5ub3VuY2VtZW50JykpICRlbWFpbFNldHRpbmdzW10gPSBO
T1RJRklDQVRJT05fVFlQRV9ORVdfQU5OT1VOQ0VNRU5UOworCQkKKwkJJG5vdGlmaWNhdGlvblNl
dHRpbmdzRGFvID0mIERBT1JlZ2lzdHJ5OjpnZXREQU8oJ05vdGlmaWNhdGlvblNldHRpbmdzREFP
Jyk7CisJCSRub3RpZmljYXRpb25TZXR0aW5nc0Rhby0+dXBkYXRlTm90aWZpY2F0aW9uU2V0dGlu
Z3MoJHNldHRpbmdzLCAkdXNlcklkKTsKKwkJJG5vdGlmaWNhdGlvblNldHRpbmdzRGFvLT51cGRh
dGVOb3RpZmljYXRpb25FbWFpbFNldHRpbmdzKCRlbWFpbFNldHRpbmdzLCAkdXNlcklkKTsKKwkJ
CisJCXJldHVybiB0cnVlOworCX0KKworCit9CisKKz8+CkluZGV4OiBjbGFzc2VzL3NpdGUvSW1w
b3J0T0pTMS5pbmMucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvb2pzMi9jbGFzc2VzL3Np
dGUvSW1wb3J0T0pTMS5pbmMucGhwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjU5CmRpZmYgLXUg
LXIxLjU5IEltcG9ydE9KUzEuaW5jLnBocAotLS0gY2xhc3Nlcy9zaXRlL0ltcG9ydE9KUzEuaW5j
LnBocAkyIERlYyAyMDA4IDIyOjM5OjQyIC0wMDAwCTEuNTkKKysrIGNsYXNzZXMvc2l0ZS9JbXBv
cnRPSlMxLmluYy5waHAJMjYgSmFuIDIwMDkgMTk6Mzg6MjIgLTAwMDAKQEAgLTU1NSw3ICs1NTUs
NiBAQAogCiAJCSR1c2VyRGFvID0gJkRBT1JlZ2lzdHJ5OjpnZXREQU8oJ1VzZXJEQU8nKTsKIAkJ
JHJvbGVEYW8gPSAmREFPUmVnaXN0cnk6OmdldERBTygnUm9sZURBTycpOwotCQkkbm90aWZ5RGFv
ID0gJkRBT1JlZ2lzdHJ5OjpnZXREQU8oJ05vdGlmaWNhdGlvblN0YXR1c0RBTycpOwogCiAJCSRy
ZXN1bHQgPSAmJHRoaXMtPmltcG9ydERhby0+cmV0cmlldmUoJ1NFTEVDVCAqLCBERUNPREUoY2hQ
YXNzd29yZCwgPykgQVMgY2hQYXNzd29yZCBGUk9NIHRibHVzZXJzIE9SREVSIEJZIG5Vc2VySUQn
LCAkdGhpcy0+am91cm5hbENvbmZpZ0luZm9bJ2NoUGFzc3dvcmRTYWx0J10pOwogCQl3aGlsZSAo
ISRyZXN1bHQtPkVPRikgewpAQCAtNjI1LDE0ICs2MjQsNiBAQAogCQkJfQogCQkJJHVzZXJJZCA9
ICR1c2VyLT5nZXRVc2VySWQoKTsKIAotCQkJaWYgKCRyb3dbJ2JOb3RpZnknXSkgewotCQkJCWlm
ICgkZXhpc3RpbmdVc2VyKSB7Ci0JCQkJCS8vIEp1c3QgaW4gY2FzZQotCQkJCQkkbm90aWZ5RGFv
LT5zZXRKb3VybmFsTm90aWZpY2F0aW9ucygkdGhpcy0+am91cm5hbElkLCAkdXNlcklkLCAwKTsK
LQkJCQl9Ci0JCQkJJG5vdGlmeURhby0+c2V0Sm91cm5hbE5vdGlmaWNhdGlvbnMoJHRoaXMtPmpv
dXJuYWxJZCwgJHVzZXJJZCwgMSk7Ci0JCQl9Ci0KIAkJCWlmICgkcm93Wydma0VkaXRvcklEJ10p
IHsKIAkJCQkkcm9sZSA9IG5ldyBSb2xlKCk7CiAJCQkJJHJvbGUtPnNldEpvdXJuYWxJZCgkdGhp
cy0+am91cm5hbElkKTsKSW5kZXg6IGNsYXNzZXMvc3VibWlzc2lvbi9hdXRob3IvQXV0aG9yQWN0
aW9uLmluYy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9vanMyL2NsYXNzZXMvc3VibWlz
c2lvbi9hdXRob3IvQXV0aG9yQWN0aW9uLmluYy5waHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEu
NzAKZGlmZiAtdSAtcjEuNzAgQXV0aG9yQWN0aW9uLmluYy5waHAKLS0tIGNsYXNzZXMvc3VibWlz
c2lvbi9hdXRob3IvQXV0aG9yQWN0aW9uLmluYy5waHAJMTAgRGVjIDIwMDggMjM6Mzc6MjcgLTAw
MDAJMS43MAorKysgY2xhc3Nlcy9zdWJtaXNzaW9uL2F1dGhvci9BdXRob3JBY3Rpb24uaW5jLnBo
cAkyNiBKYW4gMjAwOSAxOTozODoyMyAtMDAwMApAQCAtMjc3LDYgKzI3NywxNSBAQAogCQkJaWYg
KCRjb21tZW50Rm9ybS0+dmFsaWRhdGUoKSkgewogCQkJCSRjb21tZW50Rm9ybS0+ZXhlY3V0ZSgp
OwogCisJCQkJLy8gU2VuZCBhIG5vdGlmaWNhdGlvbiB0byBhc3NvY2lhdGVkIHVzZXJzCisJCQkJ
aW1wb3J0KCdub3RpZmljYXRpb24uTm90aWZpY2F0aW9uJyk7CisJCQkJJG5vdGlmaWNhdGlvblVz
ZXJzID0gJGFydGljbGUtPmdldEFzc29jaWF0ZWRVc2VySWRzKHRydWUsIGZhbHNlKTsKKwkJCQlm
b3JlYWNoICgkbm90aWZpY2F0aW9uVXNlcnMgYXMgJHVzZXIpIHsKKwkJCQkJJHVybCA9IFJlcXVl
c3Q6OnVybChudWxsLCAkdXNlclsncm9sZSddLCAnc3VibWlzc2lvbkVkaXRpbmcnLCAkYXJ0aWNs
ZS0+Z2V0QXJ0aWNsZUlkKCksIG51bGwsICdsYXlvdXQnKTsKKwkJCQkJTm90aWZpY2F0aW9uOjpj
cmVhdGVOb3RpZmljYXRpb24oJHVzZXJbJ2lkJ10sICJub3RpZmljYXRpb24udHlwZS5sYXlvdXRD
b21tZW50IiwKKwkJCQkJCSRhcnRpY2xlLT5nZXRBcnRpY2xlVGl0bGUoKSwgJHVybCwgMSwgTk9U
SUZJQ0FUSU9OX1RZUEVfTEFZT1VUX0NPTU1FTlQpOworCQkJCX0KKwkJCQkKIAkJCQlpZiAoJGVt
YWlsQ29tbWVudCkgewogCQkJCQkkY29tbWVudEZvcm0tPmVtYWlsKCk7CiAJCQkJfQpAQCAtMzg5
LDYgKzM5OCwxNSBAQAogCQkJaWYgKCRjb21tZW50Rm9ybS0+dmFsaWRhdGUoKSkgewogCQkJCSRj
b21tZW50Rm9ybS0+ZXhlY3V0ZSgpOwogCisJCQkJLy8gU2VuZCBhIG5vdGlmaWNhdGlvbiB0byBh
c3NvY2lhdGVkIHVzZXJzCisJCQkJaW1wb3J0KCdub3RpZmljYXRpb24uTm90aWZpY2F0aW9uJyk7
CisJCQkJJG5vdGlmaWNhdGlvblVzZXJzID0gJGFydGljbGUtPmdldEFzc29jaWF0ZWRVc2VySWRz
KHRydWUsIGZhbHNlKTsKKwkJCQlmb3JlYWNoICgkbm90aWZpY2F0aW9uVXNlcnMgYXMgJHVzZXIp
IHsKKwkJCQkJJHVybCA9IFJlcXVlc3Q6OnVybChudWxsLCAkdXNlclsncm9sZSddLCAnc3VibWlz
c2lvbkVkaXRpbmcnLCAkYXJ0aWNsZS0+Z2V0QXJ0aWNsZUlkKCksIG51bGwsICdjb3B5ZWRpdCcp
OworCQkJCQlOb3RpZmljYXRpb246OmNyZWF0ZU5vdGlmaWNhdGlvbigkdXNlclsnaWQnXSwgIm5v
dGlmaWNhdGlvbi50eXBlLmNvcHllZGl0Q29tbWVudCIsCisJCQkJCQkkYXJ0aWNsZS0+Z2V0QXJ0
aWNsZVRpdGxlKCksICR1cmwsIDEsIE5PVElGSUNBVElPTl9UWVBFX0NPUFlFRElUX0NPTU1FTlQp
OworCQkJCX0KKwkJCQkKIAkJCQlpZiAoJGVtYWlsQ29tbWVudCkgewogCQkJCQkkY29tbWVudEZv
cm0tPmVtYWlsKCk7CiAJCQkJfQpAQCAtNDMyLDYgKzQ1MCwxNSBAQAogCQkJaWYgKCRjb21tZW50
Rm9ybS0+dmFsaWRhdGUoKSkgewogCQkJCSRjb21tZW50Rm9ybS0+ZXhlY3V0ZSgpOwogCisJCQkJ
Ly8gU2VuZCBhIG5vdGlmaWNhdGlvbiB0byBhc3NvY2lhdGVkIHVzZXJzCisJCQkJaW1wb3J0KCdu
b3RpZmljYXRpb24uTm90aWZpY2F0aW9uJyk7CisJCQkJJG5vdGlmaWNhdGlvblVzZXJzID0gJGFy
dGljbGUtPmdldEFzc29jaWF0ZWRVc2VySWRzKHRydWUsIGZhbHNlKTsKKwkJCQlmb3JlYWNoICgk
bm90aWZpY2F0aW9uVXNlcnMgYXMgJHVzZXIpIHsKKwkJCQkJJHVybCA9IFJlcXVlc3Q6OnVybChu
dWxsLCAkdXNlclsncm9sZSddLCAnc3VibWlzc2lvbkVkaXRpbmcnLCAkYXJ0aWNsZS0+Z2V0QXJ0
aWNsZUlkKCksIG51bGwsICdwcm9vZnJlYWQnKTsKKwkJCQkJTm90aWZpY2F0aW9uOjpjcmVhdGVO
b3RpZmljYXRpb24oJHVzZXJbJ2lkJ10sICJub3RpZmljYXRpb24udHlwZS5wcm9vZnJlYWRDb21t
ZW50IiwKKwkJCQkJCSRhcnRpY2xlLT5nZXRBcnRpY2xlVGl0bGUoKSwgJHVybCwgMSwgTk9USUZJ
Q0FUSU9OX1RZUEVfUFJPT0ZSRUFEX0NPTU1FTlQpOworCQkJCX0KKwkJCQkKIAkJCQlpZiAoJGVt
YWlsQ29tbWVudCkgewogCQkJCQkkY29tbWVudEZvcm0tPmVtYWlsKCk7CiAJCQkJfQpJbmRleDog
Y2xhc3Nlcy9zdWJtaXNzaW9uL2NvbW1vbi9BY3Rpb24uaW5jLnBocAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBm
aWxlOiAvY3ZzL29qczIvY2xhc3Nlcy9zdWJtaXNzaW9uL2NvbW1vbi9BY3Rpb24uaW5jLnBocCx2
CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zOApkaWZmIC11IC1yMS4zOCBBY3Rpb24uaW5jLnBocAot
LS0gY2xhc3Nlcy9zdWJtaXNzaW9uL2NvbW1vbi9BY3Rpb24uaW5jLnBocAkxMCBEZWMgMjAwOCAy
MzozNzoyNyAtMDAwMAkxLjM4CisrKyBjbGFzc2VzL3N1Ym1pc3Npb24vY29tbW9uL0FjdGlvbi5p
bmMucGhwCTI2IEphbiAyMDA5IDE5OjM4OjIzIC0wMDAwCkBAIC0xNDksNyArMTQ5LDE2IEBACiAK
IAkJCX0gZWxzZSB7CiAJCQkJJG1ldGFkYXRhRm9ybS0+ZXhlY3V0ZSgpOwotCisJCQkJCisJCQkJ
Ly8gU2VuZCBhIG5vdGlmaWNhdGlvbiB0byBhc3NvY2lhdGVkIHVzZXJzCisJCQkJaW1wb3J0KCdu
b3RpZmljYXRpb24uTm90aWZpY2F0aW9uJyk7CisJCQkJJG5vdGlmaWNhdGlvblVzZXJzID0gJGFy
dGljbGUtPmdldEFzc29jaWF0ZWRVc2VySWRzKCk7CisJCQkJZm9yZWFjaCAoJG5vdGlmaWNhdGlv
blVzZXJzIGFzICR1c2VyKSB7CisJCQkJCSR1cmwgPSBSZXF1ZXN0Ojp1cmwobnVsbCwgJHVzZXJb
J3JvbGUnXSwgJ3N1Ym1pc3Npb24nLCAkYXJ0aWNsZS0+Z2V0QXJ0aWNsZUlkKCksIG51bGwsICdt
ZXRhZGF0YScpOworCQkJCQlOb3RpZmljYXRpb246OmNyZWF0ZU5vdGlmaWNhdGlvbigkdXNlclsn
aWQnXSwgIm5vdGlmaWNhdGlvbi50eXBlLm1ldGFkYXRhTW9kaWZpZWQiLAorCQkJCQkJJGFydGlj
bGUtPmdldEFydGljbGVUaXRsZSgpLCAkdXJsLCAxLCBOT1RJRklDQVRJT05fVFlQRV9NRVRBREFU
QV9NT0RJRklFRCk7CisJCQkJfQorCQkKIAkJCQkvLyBBZGQgbG9nIGVudHJ5CiAJCQkJJHVzZXIg
PSAmUmVxdWVzdDo6Z2V0VXNlcigpOwogCQkJCWltcG9ydCgnYXJ0aWNsZS5sb2cuQXJ0aWNsZUxv
ZycpOwpAQCAtMjU3LDYgKzI2NiwxNSBAQAogCQkJaWYgKCRjb21tZW50Rm9ybS0+dmFsaWRhdGUo
KSkgewogCQkJCSRjb21tZW50Rm9ybS0+ZXhlY3V0ZSgpOwogCisJCQkJLy8gU2VuZCBhIG5vdGlm
aWNhdGlvbiB0byBhc3NvY2lhdGVkIHVzZXJzCisJCQkJaW1wb3J0KCdub3RpZmljYXRpb24uTm90
aWZpY2F0aW9uJyk7CisJCQkJJG5vdGlmaWNhdGlvblVzZXJzID0gJGFydGljbGUtPmdldEFzc29j
aWF0ZWRVc2VySWRzKHRydWUsIGZhbHNlKTsKKwkJCQlmb3JlYWNoICgkbm90aWZpY2F0aW9uVXNl
cnMgYXMgJHVzZXIpIHsKKwkJCQkJJHVybCA9IFJlcXVlc3Q6OnVybChudWxsLCAkdXNlclsncm9s
ZSddLCAnc3VibWlzc2lvblJldmlldycsICRhcnRpY2xlLT5nZXRBcnRpY2xlSWQoKSwgbnVsbCwg
J2VkaXRvckRlY2lzaW9uJyk7CisJCQkJCU5vdGlmaWNhdGlvbjo6Y3JlYXRlTm90aWZpY2F0aW9u
KCR1c2VyWydpZCddLCAibm90aWZpY2F0aW9uLnR5cGUuc3VibWlzc2lvbkNvbW1lbnQiLAorCQkJ
CQkJJGFydGljbGUtPmdldEFydGljbGVUaXRsZSgpLCAkdXJsLCAxLCBOT1RJRklDQVRJT05fVFlQ
RV9TVUJNSVNTSU9OX0NPTU1FTlQpOworCQkJCX0KKwkJCQkKIAkJCQlpZiAoJGVtYWlsQ29tbWVu
dCkgewogCQkJCQkkY29tbWVudEZvcm0tPmVtYWlsKCRjb21tZW50Rm9ybS0+ZW1haWxIZWxwZXIo
KSk7CiAJCQkJfQpJbmRleDogY2xhc3Nlcy9zdWJtaXNzaW9uL2NvcHllZGl0b3IvQ29weWVkaXRv
ckFjdGlvbi5pbmMucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvb2pzMi9jbGFzc2VzL3N1
Ym1pc3Npb24vY29weWVkaXRvci9Db3B5ZWRpdG9yQWN0aW9uLmluYy5waHAsdgpyZXRyaWV2aW5n
IHJldmlzaW9uIDEuNTUKZGlmZiAtdSAtcjEuNTUgQ29weWVkaXRvckFjdGlvbi5pbmMucGhwCi0t
LSBjbGFzc2VzL3N1Ym1pc3Npb24vY29weWVkaXRvci9Db3B5ZWRpdG9yQWN0aW9uLmluYy5waHAJ
MTAgRGVjIDIwMDggMjM6Mzc6MjcgLTAwMDAJMS41NQorKysgY2xhc3Nlcy9zdWJtaXNzaW9uL2Nv
cHllZGl0b3IvQ29weWVkaXRvckFjdGlvbi5pbmMucGhwCTI2IEphbiAyMDA5IDE5OjM4OjIzIC0w
MDAwCkBAIC0yODYsNiArMjg2LDE1IEBACiAJCQlpZiAoJGNvbW1lbnRGb3JtLT52YWxpZGF0ZSgp
KSB7CiAJCQkJJGNvbW1lbnRGb3JtLT5leGVjdXRlKCk7CiAKKwkJCQkvLyBTZW5kIGEgbm90aWZp
Y2F0aW9uIHRvIGFzc29jaWF0ZWQgdXNlcnMKKwkJCQlpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3Rp
ZmljYXRpb24nKTsKKwkJCQkkbm90aWZpY2F0aW9uVXNlcnMgPSAkYXJ0aWNsZS0+Z2V0QXNzb2Np
YXRlZFVzZXJJZHModHJ1ZSwgZmFsc2UpOworCQkJCWZvcmVhY2ggKCRub3RpZmljYXRpb25Vc2Vy
cyBhcyAkdXNlcikgeworCQkJCQkkdXJsID0gUmVxdWVzdDo6dXJsKG51bGwsICR1c2VyWydyb2xl
J10sICdzdWJtaXNzaW9uRWRpdGluZycsICRhcnRpY2xlLT5nZXRBcnRpY2xlSWQoKSwgbnVsbCwg
J2xheW91dCcpOworCQkJCQlOb3RpZmljYXRpb246OmNyZWF0ZU5vdGlmaWNhdGlvbigkdXNlclsn
aWQnXSwgIm5vdGlmaWNhdGlvbi50eXBlLmxheW91dENvbW1lbnQiLAorCQkJCQkJJGFydGljbGUt
PmdldEFydGljbGVUaXRsZSgpLCAkdXJsLCAxLCBOT1RJRklDQVRJT05fVFlQRV9MQVlPVVRfQ09N
TUVOVCk7CisJCQkJfQorCQkJCQogCQkJCWlmICgkZW1haWxDb21tZW50KSB7CiAJCQkJCSRjb21t
ZW50Rm9ybS0+ZW1haWwoKTsKIAkJCQl9CkBAIC0zMjgsNiArMzM3LDE1IEBACiAJCQlpZiAoJGNv
bW1lbnRGb3JtLT52YWxpZGF0ZSgpKSB7CiAJCQkJJGNvbW1lbnRGb3JtLT5leGVjdXRlKCk7CiAK
KwkJCQkvLyBTZW5kIGEgbm90aWZpY2F0aW9uIHRvIGFzc29jaWF0ZWQgdXNlcnMKKwkJCQlpbXBv
cnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmljYXRpb24nKTsKKwkJCQkkbm90aWZpY2F0aW9uVXNlcnMg
PSAkYXJ0aWNsZS0+Z2V0QXNzb2NpYXRlZFVzZXJJZHModHJ1ZSwgZmFsc2UpOworCQkJCWZvcmVh
Y2ggKCRub3RpZmljYXRpb25Vc2VycyBhcyAkdXNlcikgeworCQkJCQkkdXJsID0gUmVxdWVzdDo6
dXJsKG51bGwsICR1c2VyWydyb2xlJ10sICdzdWJtaXNzaW9uRWRpdGluZycsICRhcnRpY2xlLT5n
ZXRBcnRpY2xlSWQoKSwgbnVsbCwgJ2NveXBlZGl0Jyk7CisJCQkJCU5vdGlmaWNhdGlvbjo6Y3Jl
YXRlTm90aWZpY2F0aW9uKCR1c2VyWydpZCddLCAibm90aWZpY2F0aW9uLnR5cGUuY29weWVkaXRD
b21tZW50IiwKKwkJCQkJCSRhcnRpY2xlLT5nZXRBcnRpY2xlVGl0bGUoKSwgJHVybCwgMSwgTk9U
SUZJQ0FUSU9OX1RZUEVfQ09QWUVESVRfQ09NTUVOVCk7CisJCQkJfQorCQkJCQogCQkJCWlmICgk
ZW1haWxDb21tZW50KSB7CiAJCQkJCSRjb21tZW50Rm9ybS0+ZW1haWwoKTsKIAkJCQl9CkluZGV4
OiBjbGFzc2VzL3N1Ym1pc3Npb24vbGF5b3V0RWRpdG9yL0xheW91dEVkaXRvckFjdGlvbi5pbmMu
cGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvb2pzMi9jbGFzc2VzL3N1Ym1pc3Npb24vbGF5
b3V0RWRpdG9yL0xheW91dEVkaXRvckFjdGlvbi5pbmMucGhwLHYKcmV0cmlldmluZyByZXZpc2lv
biAxLjQwCmRpZmYgLXUgLXIxLjQwIExheW91dEVkaXRvckFjdGlvbi5pbmMucGhwCi0tLSBjbGFz
c2VzL3N1Ym1pc3Npb24vbGF5b3V0RWRpdG9yL0xheW91dEVkaXRvckFjdGlvbi5pbmMucGhwCTEw
IERlYyAyMDA4IDIzOjM3OjI3IC0wMDAwCTEuNDAKKysrIGNsYXNzZXMvc3VibWlzc2lvbi9sYXlv
dXRFZGl0b3IvTGF5b3V0RWRpdG9yQWN0aW9uLmluYy5waHAJMjYgSmFuIDIwMDkgMTk6Mzg6MjMg
LTAwMDAKQEAgLTI1Miw3ICsyNTIsMTYgQEAKIAogCQkJaWYgKCRjb21tZW50Rm9ybS0+dmFsaWRh
dGUoKSkgewogCQkJCSRjb21tZW50Rm9ybS0+ZXhlY3V0ZSgpOwotCisJCQkJCisJCQkJLy8gU2Vu
ZCBhIG5vdGlmaWNhdGlvbiB0byBhc3NvY2lhdGVkIHVzZXJzCisJCQkJaW1wb3J0KCdub3RpZmlj
YXRpb24uTm90aWZpY2F0aW9uJyk7CisJCQkJJG5vdGlmaWNhdGlvblVzZXJzID0gJGFydGljbGUt
PmdldEFzc29jaWF0ZWRVc2VySWRzKHRydWUsIGZhbHNlKTsKKwkJCQlmb3JlYWNoICgkbm90aWZp
Y2F0aW9uVXNlcnMgYXMgJHVzZXIpIHsKKwkJCQkJJHVybCA9IFJlcXVlc3Q6OnVybChudWxsLCAk
dXNlclsncm9sZSddLCAnc3VibWlzc2lvbkVkaXRpbmcnLCAkYXJ0aWNsZS0+Z2V0QXJ0aWNsZUlk
KCksIG51bGwsICdsYXlvdXQnKTsKKwkJCQkJTm90aWZpY2F0aW9uOjpjcmVhdGVOb3RpZmljYXRp
b24oJHVzZXJbJ2lkJ10sICJub3RpZmljYXRpb24udHlwZS5sYXlvdXRDb21tZW50IiwKKwkJCQkJ
CSRhcnRpY2xlLT5nZXRBcnRpY2xlVGl0bGUoKSwgJHVybCwgMSwgTk9USUZJQ0FUSU9OX1RZUEVf
TEFZT1VUX0NPTU1FTlQpOworCQkJCX0KKwkJCQkKIAkJCQlpZiAoJGVtYWlsQ29tbWVudCkgewog
CQkJCQkkY29tbWVudEZvcm0tPmVtYWlsKCk7CiAJCQkJfQpAQCAtMjk0LDcgKzMwMywxNiBAQAog
CiAJCQlpZiAoJGNvbW1lbnRGb3JtLT52YWxpZGF0ZSgpKSB7CiAJCQkJJGNvbW1lbnRGb3JtLT5l
eGVjdXRlKCk7Ci0KKwkJCQkKKwkJCQkvLyBTZW5kIGEgbm90aWZpY2F0aW9uIHRvIGFzc29jaWF0
ZWQgdXNlcnMKKwkJCQlpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmljYXRpb24nKTsKKwkJCQkk
bm90aWZpY2F0aW9uVXNlcnMgPSAkYXJ0aWNsZS0+Z2V0QXNzb2NpYXRlZFVzZXJJZHModHJ1ZSwg
ZmFsc2UpOworCQkJCWZvcmVhY2ggKCRub3RpZmljYXRpb25Vc2VycyBhcyAkdXNlcikgeworCQkJ
CQkkdXJsID0gUmVxdWVzdDo6dXJsKG51bGwsICR1c2VyWydyb2xlJ10sICdzdWJtaXNzaW9uRWRp
dGluZycsICRhcnRpY2xlLT5nZXRBcnRpY2xlSWQoKSwgbnVsbCwgJ3Byb29mcmVhZCcpOworCQkJ
CQlOb3RpZmljYXRpb246OmNyZWF0ZU5vdGlmaWNhdGlvbigkdXNlclsnaWQnXSwgIm5vdGlmaWNh
dGlvbi50eXBlLnByb29mcmVhZENvbW1lbnQiLAorCQkJCQkJJGFydGljbGUtPmdldEFydGljbGVU
aXRsZSgpLCAkdXJsLCAxLCBOT1RJRklDQVRJT05fVFlQRV9QUk9PRlJFQURfQ09NTUVOVCk7CisJ
CQkJfQorCQkJCQogCQkJCWlmICgkZW1haWxDb21tZW50KSB7CiAJCQkJCSRjb21tZW50Rm9ybS0+
ZW1haWwoKTsKIAkJCQl9CkluZGV4OiBjbGFzc2VzL3N1Ym1pc3Npb24vcHJvb2ZyZWFkZXIvUHJv
b2ZyZWFkZXJBY3Rpb24uaW5jLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL29qczIvY2xh
c3Nlcy9zdWJtaXNzaW9uL3Byb29mcmVhZGVyL1Byb29mcmVhZGVyQWN0aW9uLmluYy5waHAsdgpy
ZXRyaWV2aW5nIHJldmlzaW9uIDEuNTIKZGlmZiAtdSAtcjEuNTIgUHJvb2ZyZWFkZXJBY3Rpb24u
aW5jLnBocAotLS0gY2xhc3Nlcy9zdWJtaXNzaW9uL3Byb29mcmVhZGVyL1Byb29mcmVhZGVyQWN0
aW9uLmluYy5waHAJMTAgRGVjIDIwMDggMjM6Mzc6MjcgLTAwMDAJMS41MgorKysgY2xhc3Nlcy9z
dWJtaXNzaW9uL3Byb29mcmVhZGVyL1Byb29mcmVhZGVyQWN0aW9uLmluYy5waHAJMjYgSmFuIDIw
MDkgMTk6Mzg6MjMgLTAwMDAKQEAgLTQ3NCw2ICs0NzQsMTUgQEAKIAkJCWlmICgkY29tbWVudEZv
cm0tPnZhbGlkYXRlKCkpIHsKIAkJCQkkY29tbWVudEZvcm0tPmV4ZWN1dGUoKTsKIAorCQkJCS8v
IFNlbmQgYSBub3RpZmljYXRpb24gdG8gYXNzb2NpYXRlZCB1c2VycworCQkJCWltcG9ydCgnbm90
aWZpY2F0aW9uLk5vdGlmaWNhdGlvbicpOworCQkJCSRub3RpZmljYXRpb25Vc2VycyA9ICRhcnRp
Y2xlLT5nZXRBc3NvY2lhdGVkVXNlcklkcyh0cnVlLCBmYWxzZSk7CisJCQkJZm9yZWFjaCAoJG5v
dGlmaWNhdGlvblVzZXJzIGFzICR1c2VyKSB7CisJCQkJCSR1cmwgPSBSZXF1ZXN0Ojp1cmwobnVs
bCwgJHVzZXJbJ3JvbGUnXSwgJ3N1Ym1pc3Npb25FZGl0aW5nJywgJGFydGljbGUtPmdldEFydGlj
bGVJZCgpLCBudWxsLCAncHJvb2ZyZWFkJyk7CisJCQkJCU5vdGlmaWNhdGlvbjo6Y3JlYXRlTm90
aWZpY2F0aW9uKCR1c2VyWydpZCddLCAibm90aWZpY2F0aW9uLnR5cGUucHJvb2ZyZWFkQ29tbWVu
dCIsCisJCQkJCQkkYXJ0aWNsZS0+Z2V0QXJ0aWNsZVRpdGxlKCksICR1cmwsIDEsIE5PVElGSUNB
VElPTl9UWVBFX1BST09GUkVBRF9DT01NRU5UKTsKKwkJCQl9CisJCQkJCiAJCQkJaWYgKCRlbWFp
bENvbW1lbnQpIHsKIAkJCQkJJGNvbW1lbnRGb3JtLT5lbWFpbCgpOwogCQkJCX0KQEAgLTUxNiw3
ICs1MjUsMTYgQEAKIAogCQkJaWYgKCRjb21tZW50Rm9ybS0+dmFsaWRhdGUoKSkgewogCQkJCSRj
b21tZW50Rm9ybS0+ZXhlY3V0ZSgpOwotCisJCQkJCQkJCQorCQkJCS8vIFNlbmQgYSBub3RpZmlj
YXRpb24gdG8gYXNzb2NpYXRlZCB1c2VycworCQkJCWltcG9ydCgnbm90aWZpY2F0aW9uLk5vdGlm
aWNhdGlvbicpOworCQkJCSRub3RpZmljYXRpb25Vc2VycyA9ICRhcnRpY2xlLT5nZXRBc3NvY2lh
dGVkVXNlcklkcyh0cnVlLCBmYWxzZSk7CisJCQkJZm9yZWFjaCAoJG5vdGlmaWNhdGlvblVzZXJz
IGFzICR1c2VyKSB7CisJCQkJCSR1cmwgPSBSZXF1ZXN0Ojp1cmwobnVsbCwgJHVzZXJbJ3JvbGUn
XSwgJ3N1Ym1pc3Npb25FZGl0aW5nJywgJGFydGljbGUtPmdldEFydGljbGVJZCgpLCBudWxsLCAn
bGF5b3V0Jyk7CisJCQkJCU5vdGlmaWNhdGlvbjo6Y3JlYXRlTm90aWZpY2F0aW9uKCR1c2VyWydp
ZCddLCAibm90aWZpY2F0aW9uLnR5cGUubGF5b3V0Q29tbWVudCIsCisJCQkJCQkkYXJ0aWNsZS0+
Z2V0QXJ0aWNsZVRpdGxlKCksICR1cmwsIDEsIE5PVElGSUNBVElPTl9UWVBFX0xBWU9VVF9DT01N
RU5UKTsKKwkJCQl9CisJCQkJCiAJCQkJaWYgKCRlbWFpbENvbW1lbnQpIHsKIAkJCQkJJGNvbW1l
bnRGb3JtLT5lbWFpbCgpOwogCQkJCX0KSW5kZXg6IGNsYXNzZXMvc3VibWlzc2lvbi9yZXZpZXdl
ci9SZXZpZXdlckFjdGlvbi5pbmMucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvb2pzMi9j
bGFzc2VzL3N1Ym1pc3Npb24vcmV2aWV3ZXIvUmV2aWV3ZXJBY3Rpb24uaW5jLnBocCx2CnJldHJp
ZXZpbmcgcmV2aXNpb24gMS42MgpkaWZmIC11IC1yMS42MiBSZXZpZXdlckFjdGlvbi5pbmMucGhw
Ci0tLSBjbGFzc2VzL3N1Ym1pc3Npb24vcmV2aWV3ZXIvUmV2aWV3ZXJBY3Rpb24uaW5jLnBocAkx
MCBEZWMgMjAwOCAyMzozNzoyNyAtMDAwMAkxLjYyCisrKyBjbGFzc2VzL3N1Ym1pc3Npb24vcmV2
aWV3ZXIvUmV2aWV3ZXJBY3Rpb24uaW5jLnBocAkyNiBKYW4gMjAwOSAxOTozODoyNCAtMDAwMApA
QCAtMzA1LDYgKzMwNSwxNSBAQAogCQkJaWYgKCRjb21tZW50Rm9ybS0+dmFsaWRhdGUoKSkgewog
CQkJCSRjb21tZW50Rm9ybS0+ZXhlY3V0ZSgpOwogCisJCQkJLy8gU2VuZCBhIG5vdGlmaWNhdGlv
biB0byBhc3NvY2lhdGVkIHVzZXJzCisJCQkJaW1wb3J0KCdub3RpZmljYXRpb24uTm90aWZpY2F0
aW9uJyk7CisJCQkJJG5vdGlmaWNhdGlvblVzZXJzID0gJGFydGljbGUtPmdldEFzc29jaWF0ZWRV
c2VySWRzKCk7CisJCQkJZm9yZWFjaCAoJG5vdGlmaWNhdGlvblVzZXJzIGFzICR1c2VyKSB7CisJ
CQkJCSR1cmwgPSBSZXF1ZXN0Ojp1cmwobnVsbCwgJHVzZXJbJ3JvbGUnXSwgJ3N1Ym1pc3Npb25S
ZXZpZXcnLCAkYXJ0aWNsZS0+Z2V0QXJ0aWNsZUlkKCksIG51bGwsICdwZWVyUmV2aWV3Jyk7CisJ
CQkJCU5vdGlmaWNhdGlvbjo6Y3JlYXRlTm90aWZpY2F0aW9uKCR1c2VyWydpZCddLCAibm90aWZp
Y2F0aW9uLnR5cGUucmV2aWV3ZXJDb21tZW50IiwKKwkJCQkJCSRhcnRpY2xlLT5nZXRBcnRpY2xl
VGl0bGUoKSwgJHVybCwgMSwgTk9USUZJQ0FUSU9OX1RZUEVfUkVWSUVXRVJfQ09NTUVOVCk7CisJ
CQkJfQorCQkJCQogCQkJCWlmICgkZW1haWxDb21tZW50KSB7CiAJCQkJCSRjb21tZW50Rm9ybS0+
ZW1haWwoKTsKIAkJCQl9CkBAIC0zNDcsNiArMzU2LDIxIEBACiAJCQkkcmV2aWV3Rm9ybS0+cmVh
ZElucHV0RGF0YSgpOwogCQkJaWYgKCRyZXZpZXdGb3JtLT52YWxpZGF0ZSgpKSB7CiAJCQkJJHJl
dmlld0Zvcm0tPmV4ZWN1dGUoKTsKKworCQkJCS8vIFNlbmQgYSBub3RpZmljYXRpb24gdG8gYXNz
b2NpYXRlZCB1c2VycworCQkJCWltcG9ydCgnbm90aWZpY2F0aW9uLk5vdGlmaWNhdGlvbicpOwor
CQkJCSRyZXZpZXdBc3NpZ25tZW50RGFvID0mIERBT1JlZ2lzdHJ5OjpnZXREQU8oJ1Jldmlld0Fz
c2lnbm1lbnREQU8nKTsKKwkJCQkkcmV2aWV3QXNzaWdubWVudCA9ICRyZXZpZXdBc3NpZ25tZW50
RGFvLT5nZXRSZXZpZXdBc3NpZ25tZW50QnlJZCgkcmV2aWV3SWQpOworCQkJCSRhcnRpY2xlSWQg
PSAkcmV2aWV3QXNzaWdubWVudC0+Z2V0QXJ0aWNsZUlkKCk7CisJCQkJJGFydGljbGVEYW8gPSYg
REFPUmVnaXN0cnk6OmdldERBTygnQXJ0aWNsZURBTycpOyAKKwkJCQkkYXJ0aWNsZSA9JiAkYXJ0
aWNsZURhby0+Z2V0QXJ0aWNsZSgkYXJ0aWNsZUlkKTsKKwkJCQkkbm90aWZpY2F0aW9uVXNlcnMg
PSAkYXJ0aWNsZS0+Z2V0QXNzb2NpYXRlZFVzZXJJZHMoKTsKKwkJCQlmb3JlYWNoICgkbm90aWZp
Y2F0aW9uVXNlcnMgYXMgJHVzZXIpIHsKKwkJCQkJJHVybCA9IFJlcXVlc3Q6OnVybChudWxsLCAk
dXNlclsncm9sZSddLCAnc3VibWlzc2lvblJldmlldycsICRhcnRpY2xlLT5nZXRBcnRpY2xlSWQo
KSwgbnVsbCwgJ3BlZXJSZXZpZXcnKTsKKwkJCQkJTm90aWZpY2F0aW9uOjpjcmVhdGVOb3RpZmlj
YXRpb24oJHVzZXJbJ2lkJ10sICJub3RpZmljYXRpb24udHlwZS5yZXZpZXdlckZvcm1Db21tZW50
IiwKKwkJCQkJCSRhcnRpY2xlLT5nZXRBcnRpY2xlVGl0bGUoKSwgJHVybCwgMSwgTk9USUZJQ0FU
SU9OX1RZUEVfUkVWSUVXRVJfRk9STV9DT01NRU5UKTsKKwkJCQl9CisJCQkJCiAJCQl9IGVsc2Ug
ewogCQkJCSRyZXZpZXdGb3JtLT5kaXNwbGF5KCk7CiAJCQkJcmV0dXJuIGZhbHNlOwpJbmRleDog
Y2xhc3Nlcy9zdWJtaXNzaW9uL3NlY3Rpb25FZGl0b3IvU2VjdGlvbkVkaXRvckFjdGlvbi5pbmMu
cGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvb2pzMi9jbGFzc2VzL3N1Ym1pc3Npb24vc2Vj
dGlvbkVkaXRvci9TZWN0aW9uRWRpdG9yQWN0aW9uLmluYy5waHAsdgpyZXRyaWV2aW5nIHJldmlz
aW9uIDEuMTczCmRpZmYgLXUgLXIxLjE3MyBTZWN0aW9uRWRpdG9yQWN0aW9uLmluYy5waHAKLS0t
IGNsYXNzZXMvc3VibWlzc2lvbi9zZWN0aW9uRWRpdG9yL1NlY3Rpb25FZGl0b3JBY3Rpb24uaW5j
LnBocAkxMCBEZWMgMjAwOCAyMzozNzoyNyAtMDAwMAkxLjE3MworKysgY2xhc3Nlcy9zdWJtaXNz
aW9uL3NlY3Rpb25FZGl0b3IvU2VjdGlvbkVkaXRvckFjdGlvbi5pbmMucGhwCTI2IEphbiAyMDA5
IDE5OjM4OjI1IC0wMDAwCkBAIC0xNzU4LDYgKzE3NTgsMTUgQEAKIAkJaWYgKCRjb21tZW50Rm9y
bS0+dmFsaWRhdGUoKSkgewogCQkJJGNvbW1lbnRGb3JtLT5leGVjdXRlKCk7CiAKKwkJCS8vIFNl
bmQgYSBub3RpZmljYXRpb24gdG8gYXNzb2NpYXRlZCB1c2VycworCQkJaW1wb3J0KCdub3RpZmlj
YXRpb24uTm90aWZpY2F0aW9uJyk7CisJCQkkbm90aWZpY2F0aW9uVXNlcnMgPSAkYXJ0aWNsZS0+
Z2V0QXNzb2NpYXRlZFVzZXJJZHMoKTsKKwkJCWZvcmVhY2ggKCRub3RpZmljYXRpb25Vc2VycyBh
cyAkdXNlcikgeworCQkJCSR1cmwgPSBSZXF1ZXN0Ojp1cmwobnVsbCwgJHVzZXJbJ3JvbGUnXSwg
J3N1Ym1pc3Npb25SZXZpZXcnLCAkYXJ0aWNsZS0+Z2V0QXJ0aWNsZUlkKCksIG51bGwsICdwZWVy
UmV2aWV3Jyk7CisJCQkJTm90aWZpY2F0aW9uOjpjcmVhdGVOb3RpZmljYXRpb24oJHVzZXJbJ2lk
J10sICJub3RpZmljYXRpb24udHlwZS5yZXZpZXdlckNvbW1lbnQiLAorCQkJCQkkYXJ0aWNsZS0+
Z2V0QXJ0aWNsZVRpdGxlKCksICR1cmwsIDEsIE5PVElGSUNBVElPTl9UWVBFX1JFVklFV0VSX0NP
TU1FTlQpOworCQkJfQorCQkJCQogCQkJaWYgKCRlbWFpbENvbW1lbnQpIHsKIAkJCQkkY29tbWVu
dEZvcm0tPmVtYWlsKCk7CiAJCQl9CkBAIC0xODAxLDYgKzE4MTAsMTUgQEAKIAkJaWYgKCRjb21t
ZW50Rm9ybS0+dmFsaWRhdGUoKSkgewogCQkJJGNvbW1lbnRGb3JtLT5leGVjdXRlKCk7CiAKKwkJ
CS8vIFNlbmQgYSBub3RpZmljYXRpb24gdG8gYXNzb2NpYXRlZCB1c2VycworCQkJaW1wb3J0KCdu
b3RpZmljYXRpb24uTm90aWZpY2F0aW9uJyk7CisJCQkkbm90aWZpY2F0aW9uVXNlcnMgPSAkYXJ0
aWNsZS0+Z2V0QXNzb2NpYXRlZFVzZXJJZHModHJ1ZSwgZmFsc2UpOworCQkJZm9yZWFjaCAoJG5v
dGlmaWNhdGlvblVzZXJzIGFzICR1c2VyKSB7CisJCQkJJHVybCA9IFJlcXVlc3Q6OnVybChudWxs
LCAkdXNlclsncm9sZSddLCAnc3VibWlzc2lvblJldmlldycsICRhcnRpY2xlLT5nZXRBcnRpY2xl
SWQoKSwgbnVsbCwgJ2VkaXRvckRlY2lzaW9uJyk7CisJCQkJTm90aWZpY2F0aW9uOjpjcmVhdGVO
b3RpZmljYXRpb24oJHVzZXJbJ2lkJ10sICJub3RpZmljYXRpb24udHlwZS5lZGl0b3JEZWNpc2lv
bkNvbW1lbnQiLAorCQkJCQkkYXJ0aWNsZS0+Z2V0QXJ0aWNsZVRpdGxlKCksICR1cmwsIDEsIE5P
VElGSUNBVElPTl9UWVBFX0VESVRPUl9ERUNJU0lPTl9DT01NRU5UKTsKKwkJCX0KKwkJCQkKIAkJ
CWlmICgkZW1haWxDb21tZW50KSB7CiAJCQkJJGNvbW1lbnRGb3JtLT5lbWFpbCgpOwogCQkJfQpA
QCAtMjA0NCw2ICsyMDYyLDE1IEBACiAJCWlmICgkY29tbWVudEZvcm0tPnZhbGlkYXRlKCkpIHsK
IAkJCSRjb21tZW50Rm9ybS0+ZXhlY3V0ZSgpOwogCisJCQkvLyBTZW5kIGEgbm90aWZpY2F0aW9u
IHRvIGFzc29jaWF0ZWQgdXNlcnMKKwkJCWltcG9ydCgnbm90aWZpY2F0aW9uLk5vdGlmaWNhdGlv
bicpOworCQkJJG5vdGlmaWNhdGlvblVzZXJzID0gJGFydGljbGUtPmdldEFzc29jaWF0ZWRVc2Vy
SWRzKHRydWUsIGZhbHNlKTsKKwkJCWZvcmVhY2ggKCRub3RpZmljYXRpb25Vc2VycyBhcyAkdXNl
cikgeworCQkJCSR1cmwgPSBSZXF1ZXN0Ojp1cmwobnVsbCwgJHVzZXJbJ3JvbGUnXSwgJ3N1Ym1p
c3Npb25FZGl0aW5nJywgJGFydGljbGUtPmdldEFydGljbGVJZCgpLCBudWxsLCAnY29weWVkaXQn
KTsKKwkJCQlOb3RpZmljYXRpb246OmNyZWF0ZU5vdGlmaWNhdGlvbigkdXNlclsnaWQnXSwgIm5v
dGlmaWNhdGlvbi50eXBlLmNvcHllZGl0Q29tbWVudCIsCisJCQkJCSRhcnRpY2xlLT5nZXRBcnRp
Y2xlVGl0bGUoKSwgJHVybCwgMSwgTk9USUZJQ0FUSU9OX1RZUEVfQ09QWUVESVRfQ09NTUVOVCk7
CisJCQl9CisKIAkJCWlmICgkZW1haWxDb21tZW50KSB7CiAJCQkJJGNvbW1lbnRGb3JtLT5lbWFp
bCgpOwogCQkJfQpAQCAtMjA4Nyw2ICsyMTE0LDE1IEBACiAJCWlmICgkY29tbWVudEZvcm0tPnZh
bGlkYXRlKCkpIHsKIAkJCSRjb21tZW50Rm9ybS0+ZXhlY3V0ZSgpOwogCisJCQkvLyBTZW5kIGEg
bm90aWZpY2F0aW9uIHRvIGFzc29jaWF0ZWQgdXNlcnMKKwkJCWltcG9ydCgnbm90aWZpY2F0aW9u
Lk5vdGlmaWNhdGlvbicpOworCQkJJG5vdGlmaWNhdGlvblVzZXJzID0gJGFydGljbGUtPmdldEFz
c29jaWF0ZWRVc2VySWRzKHRydWUsIGZhbHNlKTsKKwkJCWZvcmVhY2ggKCRub3RpZmljYXRpb25V
c2VycyBhcyAkdXNlcikgeworCQkJCSR1cmwgPSBSZXF1ZXN0Ojp1cmwobnVsbCwgJHVzZXJbJ3Jv
bGUnXSwgJ3N1Ym1pc3Npb25FZGl0aW5nJywgJGFydGljbGUtPmdldEFydGljbGVJZCgpLCBudWxs
LCAnbGF5b3V0Jyk7CisJCQkJTm90aWZpY2F0aW9uOjpjcmVhdGVOb3RpZmljYXRpb24oJHVzZXJb
J2lkJ10sICJub3RpZmljYXRpb24udHlwZS5sYXlvdXRDb21tZW50IiwKKwkJCQkJJGFydGljbGUt
PmdldEFydGljbGVUaXRsZSgpLCAkdXJsLCAxLCBOT1RJRklDQVRJT05fVFlQRV9MQVlPVVRfQ09N
TUVOVCk7CisJCQl9CisJCQkJCiAJCQlpZiAoJGVtYWlsQ29tbWVudCkgewogCQkJCSRjb21tZW50
Rm9ybS0+ZW1haWwoKTsKIAkJCX0KQEAgLTIxMzAsNiArMjE2NiwxNSBAQAogCQlpZiAoJGNvbW1l
bnRGb3JtLT52YWxpZGF0ZSgpKSB7CiAJCQkkY29tbWVudEZvcm0tPmV4ZWN1dGUoKTsKIAorCQkJ
Ly8gU2VuZCBhIG5vdGlmaWNhdGlvbiB0byBhc3NvY2lhdGVkIHVzZXJzCisJCQlpbXBvcnQoJ25v
dGlmaWNhdGlvbi5Ob3RpZmljYXRpb24nKTsKKwkJCSRub3RpZmljYXRpb25Vc2VycyA9ICRhcnRp
Y2xlLT5nZXRBc3NvY2lhdGVkVXNlcklkcyh0cnVlLCBmYWxzZSk7CisJCQlmb3JlYWNoICgkbm90
aWZpY2F0aW9uVXNlcnMgYXMgJHVzZXIpIHsKKwkJCQkkdXJsID0gUmVxdWVzdDo6dXJsKG51bGws
ICR1c2VyWydyb2xlJ10sICdzdWJtaXNzaW9uRWRpdGluZycsICRhcnRpY2xlLT5nZXRBcnRpY2xl
SWQoKSwgbnVsbCwgJ3Byb29mcmVhZCcpOworCQkJCU5vdGlmaWNhdGlvbjo6Y3JlYXRlTm90aWZp
Y2F0aW9uKCR1c2VyWydpZCddLCAibm90aWZpY2F0aW9uLnR5cGUucHJvb2ZyZWFkQ29tbWVudCIs
CisJCQkJCSRhcnRpY2xlLT5nZXRBcnRpY2xlVGl0bGUoKSwgJHVybCwgMSwgTk9USUZJQ0FUSU9O
X1RZUEVfUFJPT0ZSRUFEX0NPTU1FTlQpOworCQkJfQkKKwkJCQogCQkJaWYgKCRlbWFpbENvbW1l
bnQpIHsKIAkJCQkkY29tbWVudEZvcm0tPmVtYWlsKCk7CiAJCQl9CkluZGV4OiBjbGFzc2VzL3Vz
ZXIvZm9ybS9Qcm9maWxlRm9ybS5pbmMucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvb2pz
Mi9jbGFzc2VzL3VzZXIvZm9ybS9Qcm9maWxlRm9ybS5pbmMucGhwLHYKcmV0cmlldmluZyByZXZp
c2lvbiAxLjM1CmRpZmYgLXUgLXIxLjM1IFByb2ZpbGVGb3JtLmluYy5waHAKLS0tIGNsYXNzZXMv
dXNlci9mb3JtL1Byb2ZpbGVGb3JtLmluYy5waHAJNSBOb3YgMjAwOCAwMDo0Njo0MCAtMDAwMAkx
LjM1CisrKyBjbGFzc2VzL3VzZXIvZm9ybS9Qcm9maWxlRm9ybS5pbmMucGhwCTI2IEphbiAyMDA5
IDE5OjM4OjI1IC0wMDAwCkBAIC0xMDgsNyArMTA4LDYgQEAKIAogCQkkcm9sZURhbyA9ICZEQU9S
ZWdpc3RyeTo6Z2V0REFPKCdSb2xlREFPJyk7CiAJCSRqb3VybmFsRGFvID0gJkRBT1JlZ2lzdHJ5
OjpnZXREQU8oJ0pvdXJuYWxEQU8nKTsKLQkJJG5vdGlmaWNhdGlvblN0YXR1c0RhbyA9ICZEQU9S
ZWdpc3RyeTo6Z2V0REFPKCdOb3RpZmljYXRpb25TdGF0dXNEQU8nKTsKIAkJJHVzZXJTZXR0aW5n
c0RhbyA9ICZEQU9SZWdpc3RyeTo6Z2V0REFPKCdVc2VyU2V0dGluZ3NEQU8nKTsKIAogCQkkam91
cm5hbHMgPSAmJGpvdXJuYWxEYW8tPmdldEpvdXJuYWxzKCk7CkBAIC0xMjQsNyArMTIzLDYgQEAK
IAogCQkkam91cm5hbHMgPSAmJGpvdXJuYWxEYW8tPmdldEpvdXJuYWxzKCk7CiAJCSRqb3VybmFs
cyA9ICYkam91cm5hbHMtPnRvQXJyYXkoKTsKLQkJJGpvdXJuYWxOb3RpZmljYXRpb25zID0gJiRu
b3RpZmljYXRpb25TdGF0dXNEYW8tPmdldEpvdXJuYWxOb3RpZmljYXRpb25zKCR1c2VyLT5nZXRV
c2VySWQoKSk7CiAKIAkJJGNvdW50cnlEYW8gPSYgREFPUmVnaXN0cnk6OmdldERBTygnQ291bnRy
eURBTycpOwogCQkkY291bnRyaWVzID0mICRjb3VudHJ5RGFvLT5nZXRDb3VudHJpZXMoKTsKQEAg
LTI1Nyw3ICsyNTUsNiBAQAogCiAJCSRyb2xlRGFvID0gJkRBT1JlZ2lzdHJ5OjpnZXREQU8oJ1Jv
bGVEQU8nKTsKIAkJJGpvdXJuYWxEYW8gPSAmREFPUmVnaXN0cnk6OmdldERBTygnSm91cm5hbERB
TycpOwotCQkkbm90aWZpY2F0aW9uU3RhdHVzRGFvID0gJkRBT1JlZ2lzdHJ5OjpnZXREQU8oJ05v
dGlmaWNhdGlvblN0YXR1c0RBTycpOwogCiAJCS8vIFJvbGVzCiAJCSRqb3VybmFsID0mIFJlcXVl
c3Q6OmdldEpvdXJuYWwoKTsKQEAgLTI4OCwyMSArMjg1LDYgQEAKIAkJCX0KIAkJfQogCi0JCSRq
b3VybmFscyA9ICYkam91cm5hbERhby0+Z2V0Sm91cm5hbHMoKTsKLQkJJGpvdXJuYWxzID0gJiRq
b3VybmFscy0+dG9BcnJheSgpOwotCQkkam91cm5hbE5vdGlmaWNhdGlvbnMgPSAkbm90aWZpY2F0
aW9uU3RhdHVzRGFvLT5nZXRKb3VybmFsTm90aWZpY2F0aW9ucygkdXNlci0+Z2V0VXNlcklkKCkp
OwotCi0JCSRyZWFkZXJOb3RpZnkgPSBSZXF1ZXN0OjpnZXRVc2VyVmFyKCdqb3VybmFsTm90aWZ5
Jyk7Ci0KLQkJZm9yZWFjaCAoJGpvdXJuYWxzIGFzICR0aGlzSm91cm5hbCkgewotCQkJJHRoaXNK
b3VybmFsSWQgPSAkdGhpc0pvdXJuYWwtPmdldEpvdXJuYWxJZCgpOwotCQkJJGN1cnJlbnRseVJl
Y2VpdmVzID0gIWVtcHR5KCRqb3VybmFsTm90aWZpY2F0aW9uc1skdGhpc0pvdXJuYWxJZF0pOwot
CQkJJHNob3VsZFJlY2VpdmUgPSAhZW1wdHkoJHJlYWRlck5vdGlmeSkgJiYgaW5fYXJyYXkoJHRo
aXNKb3VybmFsLT5nZXRKb3VybmFsSWQoKSwgJHJlYWRlck5vdGlmeSk7Ci0JCQlpZiAoJGN1cnJl
bnRseVJlY2VpdmVzICE9ICRzaG91bGRSZWNlaXZlKSB7Ci0JCQkJJG5vdGlmaWNhdGlvblN0YXR1
c0Rhby0+c2V0Sm91cm5hbE5vdGlmaWNhdGlvbnMoJHRoaXNKb3VybmFsSWQsICR1c2VyLT5nZXRV
c2VySWQoKSwgJHNob3VsZFJlY2VpdmUpOwotCQkJfQotCQl9Ci0KIAkJJG9wZW5BY2Nlc3NOb3Rp
ZnkgPSBSZXF1ZXN0OjpnZXRVc2VyVmFyKCdvcGVuQWNjZXNzTm90aWZ5Jyk7CiAKIAkJJHVzZXJT
ZXR0aW5nc0RhbyA9ICZEQU9SZWdpc3RyeTo6Z2V0REFPKCdVc2VyU2V0dGluZ3NEQU8nKTsKSW5k
ZXg6IGNsYXNzZXMvdXNlci9mb3JtL1JlZ2lzdHJhdGlvbkZvcm0uaW5jLnBocAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
ClJDUyBmaWxlOiAvY3ZzL29qczIvY2xhc3Nlcy91c2VyL2Zvcm0vUmVnaXN0cmF0aW9uRm9ybS5p
bmMucGhwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjUxCmRpZmYgLXUgLXIxLjUxIFJlZ2lzdHJh
dGlvbkZvcm0uaW5jLnBocAotLS0gY2xhc3Nlcy91c2VyL2Zvcm0vUmVnaXN0cmF0aW9uRm9ybS5p
bmMucGhwCTUgTm92IDIwMDggMDA6NDY6NDAgLTAwMDAJMS41MQorKysgY2xhc3Nlcy91c2VyL2Zv
cm0vUmVnaXN0cmF0aW9uRm9ybS5pbmMucGhwCTI2IEphbiAyMDA5IDE5OjM4OjI1IC0wMDAwCkBA
IC0zMjAsMTYgKzMyMCw2IEBACiAJCQl9CiAJCX0KIAotCQkvLyBCeSBkZWZhdWx0LCBzZWxmLXJl
Z2lzdGVyaW5nIHJlYWRlcnMgd2lsbCByZWNlaXZlCi0JCS8vIGpvdXJuYWwgdXBkYXRlcy4gKFRo
ZSBkb3VibGUgc2V0IGlzIGhlcmUgdG8gcHJldmVudCBhCi0JCS8vIGR1cGxpY2F0ZSBpbnNlcnQg
ZXJyb3IgbXNnIGlmIHRoZXJlIHdhcyBhIG5vdGlmaWNhdGlvbiBlbnRyeQotCQkvLyBsZWZ0IG92
ZXIgZnJvbSBhIHByZXZpb3VzIHJvbGUuKQotCQlpZiAoaXNzZXQoJGFsbG93ZWRSb2xlc1sncmVh
ZGVyJ10pICYmICR0aGlzLT5nZXREYXRhKCRhbGxvd2VkUm9sZXNbJ3JlYWRlciddKSkgewotCQkJ
JG5vdGlmaWNhdGlvblN0YXR1c0RhbyA9ICZEQU9SZWdpc3RyeTo6Z2V0REFPKCdOb3RpZmljYXRp
b25TdGF0dXNEQU8nKTsKLQkJCSRub3RpZmljYXRpb25TdGF0dXNEYW8tPnNldEpvdXJuYWxOb3Rp
ZmljYXRpb25zKCRqb3VybmFsLT5nZXRKb3VybmFsSWQoKSwgJHVzZXJJZCwgZmFsc2UpOwotCQkJ
JG5vdGlmaWNhdGlvblN0YXR1c0Rhby0+c2V0Sm91cm5hbE5vdGlmaWNhdGlvbnMoJGpvdXJuYWwt
PmdldEpvdXJuYWxJZCgpLCAkdXNlcklkLCB0cnVlKTsKLQkJfQotCiAJCWlmIChpc3NldCgkYWxs
b3dlZFJvbGVzWydyZWFkZXInXSkgJiYgJHRoaXMtPmdldERhdGEoJ29wZW5BY2Nlc3NOb3RpZmlj
YXRpb24nKSkgewogCQkJJHVzZXJTZXR0aW5nc0RhbyA9ICZEQU9SZWdpc3RyeTo6Z2V0REFPKCdV
c2VyU2V0dGluZ3NEQU8nKTsKIAkJCSR1c2VyU2V0dGluZ3NEYW8tPnVwZGF0ZVNldHRpbmcoJHVz
ZXJJZCwgJ29wZW5BY2Nlc3NOb3RpZmljYXRpb24nLCB0cnVlLCAnYm9vbCcsICRqb3VybmFsLT5n
ZXRKb3VybmFsSWQoKSk7CkluZGV4OiBkYnNjcmlwdHMveG1sL29qc19zY2hlbWEueG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KUkNTIGZpbGU6IC9jdnMvb2pzMi9kYnNjcmlwdHMveG1sL29qc19zY2hlbWEueG1sLHYK
cmV0cmlldmluZyByZXZpc2lvbiAxLjE3MgpkaWZmIC11IC1yMS4xNzIgb2pzX3NjaGVtYS54bWwK
LS0tIGRic2NyaXB0cy94bWwvb2pzX3NjaGVtYS54bWwJMjcgT2N0IDIwMDggMTY6MDA6NTggLTAw
MDAJMS4xNzIKKysrIGRic2NyaXB0cy94bWwvb2pzX3NjaGVtYS54bWwJMjYgSmFuIDIwMDkgMTk6
Mzg6MjYgLTAwMDAKQEAgLTMwNiwyMiArMzA2LDYgQEAKIAkJCTxVTklRVUUgLz4KIAkJPC9pbmRl
eD4KIAk8L3RhYmxlPgotCi0JPHRhYmxlIG5hbWU9Im5vdGlmaWNhdGlvbl9zdGF0dXMiPgotCQk8
ZmllbGQgbmFtZT0iam91cm5hbF9pZCIgdHlwZT0iSTgiPgotCQkJPE5PVE5VTEwgLz4KLQkJPC9m
aWVsZD4KLQkJPGZpZWxkIG5hbWU9InVzZXJfaWQiIHR5cGU9Ikk4Ij4KLQkJCTxOT1ROVUxMIC8+
Ci0JCTwvZmllbGQ+Ci0JCTxkZXNjcj5Vc2VyICJtYWlsIG5vdGlmaWNhdGlvbnMgdG8gbXkgYWNj
b3VudCIgZmxhZ3M8L2Rlc2NyPgotCQk8aW5kZXggbmFtZT0ibm90aWZpY2F0aW9uX3N0YXR1c19w
a2V5Ij4KLQkJCTxjb2w+am91cm5hbF9pZDwvY29sPgotCQkJPGNvbD51c2VyX2lkPC9jb2w+Ci0J
CQk8VU5JUVVFIC8+Ci0JCTwvaW5kZXg+Ci0JPC90YWJsZT4KLQogCTwhLS0KIAkgICoKIAkgICog
VEFCTEUgc2VjdGlvbnMKSW5kZXg6IGRic2NyaXB0cy94bWwvZGF0YS9lbWFpbF90ZW1wbGF0ZXMu
eG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvb2pzMi9kYnNjcmlwdHMveG1sL2RhdGEvZW1h
aWxfdGVtcGxhdGVzLnhtbCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zMwpkaWZmIC11IC1yMS4z
MyBlbWFpbF90ZW1wbGF0ZXMueG1sCi0tLSBkYnNjcmlwdHMveG1sL2RhdGEvZW1haWxfdGVtcGxh
dGVzLnhtbAk5IERlYyAyMDA4IDE3OjQ0OjAzIC0wMDAwCTEuMzMKKysrIGRic2NyaXB0cy94bWwv
ZGF0YS9lbWFpbF90ZW1wbGF0ZXMueG1sCTI2IEphbiAyMDA5IDE5OjM4OjI3IC0wMDAwCkBAIC0y
MSw2ICsyMSwyMSBAQAogCQkgICoKIAkJICAtLT4KIAkJPHJvdz4KKwkJCTxmaWVsZCBuYW1lPSJl
bWFpbF9rZXkiPk5PVElGSUNBVElPTjwvZmllbGQ+CisJCQk8ZmllbGQgbmFtZT0iY2FuX2VkaXQi
PjE8L2ZpZWxkPgorCQkJPGZpZWxkIG5hbWU9ImNhbl9kaXNhYmxlIj4wPC9maWVsZD4KKwkJPC9y
b3c+CisJCTxyb3c+CisJCQk8ZmllbGQgbmFtZT0iZW1haWxfa2V5Ij5OT1RJRklDQVRJT05fTUFJ
TExJU1Q8L2ZpZWxkPgorCQkJPGZpZWxkIG5hbWU9ImNhbl9lZGl0Ij4xPC9maWVsZD4KKwkJCTxm
aWVsZCBuYW1lPSJjYW5fZGlzYWJsZSI+MDwvZmllbGQ+CisJCTwvcm93PgorCQk8cm93PgorCQkJ
PGZpZWxkIG5hbWU9ImVtYWlsX2tleSI+Tk9USUZJQ0FUSU9OX01BSUxMSVNUX1BBU1NXT1JEPC9m
aWVsZD4KKwkJCTxmaWVsZCBuYW1lPSJjYW5fZWRpdCI+MTwvZmllbGQ+CisJCQk8ZmllbGQgbmFt
ZT0iY2FuX2Rpc2FibGUiPjA8L2ZpZWxkPgorCQk8L3Jvdz4KKwkJPHJvdz4KIAkJCTxmaWVsZCBu
YW1lPSJlbWFpbF9rZXkiPlBBU1NXT1JEX1JFU0VUX0NPTkZJUk08L2ZpZWxkPgogCQkJPGZpZWxk
IG5hbWU9ImNhbl9lZGl0Ij4xPC9maWVsZD4KIAkJCTxmaWVsZCBuYW1lPSJjYW5fZGlzYWJsZSI+
MDwvZmllbGQ+CkluZGV4OiBkYnNjcmlwdHMveG1sL2RhdGEvbG9jYWxlL2VuX1VTL2VtYWlsX3Rl
bXBsYXRlc19kYXRhLnhtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL29qczIvZGJzY3JpcHRz
L3htbC9kYXRhL2xvY2FsZS9lbl9VUy9lbWFpbF90ZW1wbGF0ZXNfZGF0YS54bWwsdgpyZXRyaWV2
aW5nIHJldmlzaW9uIDEuNTYKZGlmZiAtdSAtcjEuNTYgZW1haWxfdGVtcGxhdGVzX2RhdGEueG1s
Ci0tLSBkYnNjcmlwdHMveG1sL2RhdGEvbG9jYWxlL2VuX1VTL2VtYWlsX3RlbXBsYXRlc19kYXRh
LnhtbAk5IERlYyAyMDA4IDE3OjQ0OjAzIC0wMDAwCTEuNTYKKysrIGRic2NyaXB0cy94bWwvZGF0
YS9sb2NhbGUvZW5fVVMvZW1haWxfdGVtcGxhdGVzX2RhdGEueG1sCTI2IEphbiAyMDA5IDE5OjM4
OjI3IC0wMDAwCkBAIC0yMiw2ICsyMiw1NyBAQAogCQkgICoKIAkJICAtLT4KIAkJPHJvdz4KKwkJ
CTxmaWVsZCBuYW1lPSJlbWFpbF9rZXkiPk5PVElGSUNBVElPTjwvZmllbGQ+CisJCQk8ZmllbGQg
bmFtZT0ic3ViamVjdCI+TmV3IG5vdGlmaWNhdGlvbiBmcm9tIHskc2l0ZVRpdGxlfTwvZmllbGQ+
CisJCQk8ZmllbGQgbmFtZT0iYm9keSI+WW91IGhhdmUgYSBuZXcgbm90aWZpY2F0aW9uIGZyb20g
eyRzaXRlVGl0bGV9OgorCit7JG5vdGlmaWNhdGlvbkNvbnRlbnRzfQorCitMaW5rOiB7JHVybH0K
KworeyRwcmluY2lwYWxDb250YWN0U2lnbmF0dXJlfTwvZmllbGQ+CisJCQk8ZmllbGQgbmFtZT0i
ZGVzY3JpcHRpb24iPlRoZSBlbWFpbCBpcyBzZW50IHRvIHJlZ2lzdGVyZWQgdXNlcnMgdGhhdCBo
YXZlIHNlbGVjdGVkIHRvIGhhdmUgdGhpcyB0eXBlIG9mIG5vdGlmaWNhdGlvbiBlbWFpbGVkIHRv
IHRoZW0uPC9maWVsZD4KKwkJPC9yb3c+CisJCTxyb3c+CisJCQk8ZmllbGQgbmFtZT0iZW1haWxf
a2V5Ij5OT1RJRklDQVRJT05fTUFJTExJU1Q8L2ZpZWxkPgorCQkJPGZpZWxkIG5hbWU9InN1Ympl
Y3QiPk5ldyBub3RpZmljYXRpb24gZnJvbSB7JHNpdGVUaXRsZX08L2ZpZWxkPgorCQkJPGZpZWxk
IG5hbWU9ImJvZHkiPllvdSBoYXZlIGEgbmV3IG5vdGlmaWNhdGlvbiBmcm9tIHskc2l0ZVRpdGxl
fToKKy0tCit7JG5vdGlmaWNhdGlvbkNvbnRlbnRzfQorCitMaW5rOiB7JHVybH0KKy0tCisKK0lm
IHlvdSB3aXNoIHRvIHN0b3AgcmVjZWl2aW5nIG5vdGlmaWNhdGlvbiBlbWFpbHMsIHBsZWFzZSBn
byB0byB7JHVuc3Vic2NyaWJlTGlua30gYW5kIGVudGVyIHlvdXIgZW1haWwgYWRkcmVzcyBhbmQg
cGFzc3dvcmQuCisKK3skcHJpbmNpcGFsQ29udGFjdFNpZ25hdHVyZX08L2ZpZWxkPgorCQkJPGZp
ZWxkIG5hbWU9ImRlc2NyaXB0aW9uIj5UaGlzIGVtYWlsIGlzIHNlbnQgdG8gdW5yZWdpc3RlcmVk
IHVzZXJzIG9uIHRoZSBub3RpZmljYXRpb24gbWFpbGluZyBsaXN0LjwvZmllbGQ+CisJCTwvcm93
PgorCQk8cm93PgorCQkJPGZpZWxkIG5hbWU9ImVtYWlsX2tleSI+Tk9USUZJQ0FUSU9OX01BSUxM
SVNUX1dFTENPTUU8L2ZpZWxkPgorCQkJPGZpZWxkIG5hbWU9InN1YmplY3QiPldlbGNvbWUgdG8g
dGhlIHRoZSB7JHNpdGVUaXRsZX0gbWFpbGluZyBsaXN0ITwvZmllbGQ+CisJCQk8ZmllbGQgbmFt
ZT0iYm9keSI+WW91IGhhdmUgc2lnbmVkIHVwIHRvIHJlY2VpdmUgbm90aWZpY2F0aW9ucyBmcm9t
IHskc2l0ZVRpdGxlfS4KKwkJCQorUGxlYXNlIGNsaWNrIG9uIHRoaXMgbGluayB0byBjb25maXJt
IHlvdXIgcmVxdWVzdCBhbmQgYWRkIHlvdXIgZW1haWwgYWRkcmVzcyB0byB0aGUgbWFpbGluZyBs
aXN0OiB7JGNvbmZpcm1MaW5rfQorCitJZiB5b3Ugd2lzaCB0byBzdG9wIHJlY2VpdmluZyBub3Rp
ZmljYXRpb24gZW1haWxzLCBwbGVhc2UgZ28gdG8geyR1bnN1YnNjcmliZUxpbmt9IGFuZCBlbnRl
ciB5b3VyIGVtYWlsIGFkZHJlc3MgYW5kIHBhc3N3b3JkLgorCitZb3VyIHBhc3N3b3JkIGZvciBk
aXNhYmxpbmcgbm90aWZpY2F0aW9uIGVtYWlscyBpczogeyRwYXNzd29yZH0KKworeyRwcmluY2lw
YWxDb250YWN0U2lnbmF0dXJlfTwvZmllbGQ+CisJCQk8ZmllbGQgbmFtZT0iZGVzY3JpcHRpb24i
PlRoaXMgZW1haWwgaXMgc2VudCB0byBhbiB1bnJlZ2lzdGVyZWQgdXNlciB3aG8ganVzdCByZWdp
c3RlcmVkIHdpdGggdGhlIG5vdGlmaWNhdGlvbiBtYWlsaW5nIGxpc3QuPC9maWVsZD4KKwkJPC9y
b3c+CisJCTxyb3c+CisJCQk8ZmllbGQgbmFtZT0iZW1haWxfa2V5Ij5OT1RJRklDQVRJT05fTUFJ
TExJU1RfUEFTU1dPUkQ8L2ZpZWxkPgorCQkJPGZpZWxkIG5hbWU9InN1YmplY3QiPllvdXIgbm90
aWZpY2F0aW9uIG1haWxpbmcgbGlzdCBpbmZvcm1hdGlvbiBmb3IgeyRzaXRlVGl0bGV9PC9maWVs
ZD4KKwkJCTxmaWVsZCBuYW1lPSJib2R5Ij5Zb3VyIG5ldyBwYXNzd29yZCBmb3IgZGlzYWJsaW5n
IG5vdGlmaWNhdGlvbiBlbWFpbHMgaXM6IHskcGFzc3dvcmR9CisKK0lmIHlvdSB3aXNoIHRvIHN0
b3AgcmVjZWl2aW5nIG5vdGlmaWNhdGlvbiBlbWFpbHMsIHBsZWFzZSBnbyB0byB7JHVuc3Vic2Ny
aWJlTGlua30gYW5kIGVudGVyIHlvdXIgZW1haWwgYWRkcmVzcyBhbmQgcGFzc3dvcmQuCisKK3sk
cHJpbmNpcGFsQ29udGFjdFNpZ25hdHVyZX08L2ZpZWxkPgorCQkJPGZpZWxkIG5hbWU9ImRlc2Ny
aXB0aW9uIj5UaGlzIGVtYWlsIGlzIHNlbnQgdG8gYW4gdW5yZWdpc3RlcmVkIHVzZXIgb24gdGhl
IG5vdGlmaWNhdGlvbiBtYWlsaW5nIGxpc3Qgd2hlbiB0aGV5IGluZGljYXRlIHRoYXQgdGhleSBo
YXZlIGZvcmdvdHRlbiB0aGVpciBwYXNzd29yZCBvciBhcmUgdW5hYmxlIHRvIGxvZ2luLiBJdCBw
cm92aWRlcyBhIFVSTCB0aGV5IGNhbiBmb2xsb3cgdG8gcmVzZXQgdGhlaXIgcGFzc3dvcmQuPC9m
aWVsZD4KKwkJPC9yb3c+CisJCTxyb3c+CiAJCQk8ZmllbGQgbmFtZT0iZW1haWxfa2V5Ij5QQVNT
V09SRF9SRVNFVF9DT05GSVJNPC9maWVsZD4KIAkJCTxmaWVsZCBuYW1lPSJzdWJqZWN0Ij5QYXNz
d29yZCBSZXNldCBDb25maXJtYXRpb248L2ZpZWxkPgogCQkJPGZpZWxkIG5hbWU9ImJvZHkiPldl
IGhhdmUgcmVjZWl2ZWQgYSByZXF1ZXN0IHRvIHJlc2V0IHlvdXIgcGFzc3dvcmQgZm9yIHRoZSB7
JHNpdGVUaXRsZX0gd2ViIHNpdGUuCkluZGV4OiBkYnNjcmlwdHMveG1sL3VwZ3JhZGUvMi4zLjBf
dXBkYXRlLnhtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL29qczIvZGJzY3JpcHRzL3htbC91
cGdyYWRlLzIuMy4wX3VwZGF0ZS54bWwsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMQpkaWZmIC11
IC1yMS4xIDIuMy4wX3VwZGF0ZS54bWwKLS0tIGRic2NyaXB0cy94bWwvdXBncmFkZS8yLjMuMF91
cGRhdGUueG1sCTkgRGVjIDIwMDggMTc6NDQ6MDMgLTAwMDAJMS4xCisrKyBkYnNjcmlwdHMveG1s
L3VwZ3JhZGUvMi4zLjBfdXBkYXRlLnhtbAkyNiBKYW4gMjAwOSAxOTozODoyNyAtMDAwMApAQCAt
MjMsNCArMjMsOCBAQAogCQk8cXVlcnk+SU5TRVJUIElOVE8gZW1haWxfdGVtcGxhdGVzX2RlZmF1
bHRfZGF0YSAobG9jYWxlLCBlbWFpbF9rZXksIHN1YmplY3QsIGJvZHksIGRlc2NyaXB0aW9uKSBW
QUxVRVMgKCdlbl9VUycsICdFRElUT1JfREVDSVNJT05fUkVTVUJNSVQnLCAnRWRpdG9yIERlY2lz
aW9uJywgJ3skYXV0aG9yTmFtZX06XG5cbldlIGhhdmUgcmVhY2hlZCBhIGRlY2lzaW9uIHJlZ2Fy
ZGluZyB5b3VyIHN1Ym1pc3Npb24gdG8geyRqb3VybmFsVGl0bGV9LCBcInskYXJ0aWNsZVRpdGxl
fVwiLlxuXG5PdXIgZGVjaXNpb24gaXMgdG86XG5cbnskZWRpdG9yaWFsQ29udGFjdFNpZ25hdHVy
ZX1cbicsICdUaGlzIGVtYWlsIGZyb20gdGhlIEVkaXRvciBvciBTZWN0aW9uIEVkaXRvciB0byBh
biBBdXRob3Igbm90aWZpZXMgdGhlbSBvZiBhIGZpbmFsIGRlY2lzaW9uIHJlZ2FyZGluZyB0aGVp
ciBzdWJtaXNzaW9uLicpPC9xdWVyeT4KIAkJPHF1ZXJ5PklOU0VSVCBJTlRPIGVtYWlsX3RlbXBs
YXRlc19kZWZhdWx0X2RhdGEgKGxvY2FsZSwgZW1haWxfa2V5LCBzdWJqZWN0LCBib2R5LCBkZXNj
cmlwdGlvbikgVkFMVUVTICgnZW5fVVMnLCAnRURJVE9SX0RFQ0lTSU9OX0RFQ0xJTkUnLCAnRWRp
dG9yIERlY2lzaW9uJywgJ3skYXV0aG9yTmFtZX06XG5cbldlIGhhdmUgcmVhY2hlZCBhIGRlY2lz
aW9uIHJlZ2FyZGluZyB5b3VyIHN1Ym1pc3Npb24gdG8geyRqb3VybmFsVGl0bGV9LCBcInskYXJ0
aWNsZVRpdGxlfVwiLlxuXG5PdXIgZGVjaXNpb24gaXMgdG86XG5cbnskZWRpdG9yaWFsQ29udGFj
dFNpZ25hdHVyZX1cbicsICdUaGlzIGVtYWlsIGZyb20gdGhlIEVkaXRvciBvciBTZWN0aW9uIEVk
aXRvciB0byBhbiBBdXRob3Igbm90aWZpZXMgdGhlbSBvZiBhIGZpbmFsIGRlY2lzaW9uIHJlZ2Fy
ZGluZyB0aGVpciBzdWJtaXNzaW9uLicpPC9xdWVyeT4KIAk8L3NxbD4KKwk8IS0tIEJ1ZyAjMzky
MiMgTm8gbmVlZCBmb3IgdGhlIG5vdGlmaWNhdGlvbl9zdGF0dXMgdGFibGUgKGl0IGlzIGVuY2Fw
c3VsYXRlZCBieSB0aGUgbm90aWZpY2F0aW9uIHRhYmxlKSAtLT4KKwk8c3FsPgorCQk8ZHJvcCB0
YWJsZT0ibm90aWZpY2F0aW9uX3N0YXR1cyIgLz4KKwk8L3NxbD4KIDwvZGF0YT4KSW5kZXg6IHBh
Z2VzL2Fib3V0L0Fib3V0SGFuZGxlci5pbmMucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMv
b2pzMi9wYWdlcy9hYm91dC9BYm91dEhhbmRsZXIuaW5jLnBocCx2CnJldHJpZXZpbmcgcmV2aXNp
b24gMS41MApkaWZmIC11IC1yMS41MCBBYm91dEhhbmRsZXIuaW5jLnBocAotLS0gcGFnZXMvYWJv
dXQvQWJvdXRIYW5kbGVyLmluYy5waHAJMTYgT2N0IDIwMDggMTg6MDI6MjggLTAwMDAJMS41MAor
KysgcGFnZXMvYWJvdXQvQWJvdXRIYW5kbGVyLmluYy5waHAJMjYgSmFuIDIwMDkgMTk6Mzg6MzAg
LTAwMDAKQEAgLTU1NiwxMCArNTU2LDYgQEAKIAkJCSR0ZW1wbGF0ZU1nci0+YXNzaWduKCdzdWJz
Y3JpcHRpb25TdGF0aXN0aWNzJywgJHN1YnNjcmlwdGlvblN0YXRpc3RpY3MpOwogCQl9CiAKLQkJ
JG5vdGlmaWNhdGlvblN0YXR1c0RhbyA9JiBEQU9SZWdpc3RyeTo6Z2V0REFPKCdOb3RpZmljYXRp
b25TdGF0dXNEQU8nKTsKLQkJJG5vdGlmaWFibGVVc2VycyA9ICRub3RpZmljYXRpb25TdGF0dXNE
YW8tPmdldE5vdGlmaWFibGVVc2Vyc0NvdW50KCRqb3VybmFsLT5nZXRKb3VybmFsSWQoKSk7Ci0J
CSR0ZW1wbGF0ZU1nci0+YXNzaWduKCdub3RpZmlhYmxlVXNlcnMnLCAkbm90aWZpYWJsZVVzZXJz
KTsKLQogCQkkdGVtcGxhdGVNZ3ItPmRpc3BsYXkoJ2Fib3V0L3N0YXRpc3RpY3MudHBsJyk7CiAJ
fQogCkluZGV4OiBwYWdlcy9hZG1pbi9BZG1pbkpvdXJuYWxIYW5kbGVyLmluYy5waHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQpSQ1MgZmlsZTogL2N2cy9vanMyL3BhZ2VzL2FkbWluL0FkbWluSm91cm5hbEhhbmRsZXIu
aW5jLnBocCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yNApkaWZmIC11IC1yMS4yNCBBZG1pbkpv
dXJuYWxIYW5kbGVyLmluYy5waHAKLS0tIHBhZ2VzL2FkbWluL0FkbWluSm91cm5hbEhhbmRsZXIu
aW5jLnBocAkxMCBEZWMgMjAwOCAyMzozNzoyOCAtMDAwMAkxLjI0CisrKyBwYWdlcy9hZG1pbi9B
ZG1pbkpvdXJuYWxIYW5kbGVyLmluYy5waHAJMjYgSmFuIDIwMDkgMTk6Mzg6MzAgLTAwMDAKQEAg
LTc3LDYgKzc3LDcgQEAKIAkJaWYgKCRzZXR0aW5nc0Zvcm0tPnZhbGlkYXRlKCkpIHsKIAkJCVBs
dWdpblJlZ2lzdHJ5Ojpsb2FkQ2F0ZWdvcnkoJ2Jsb2NrcycpOwogCQkJJHNldHRpbmdzRm9ybS0+
ZXhlY3V0ZSgpOworCiAJCQlSZXF1ZXN0OjpyZWRpcmVjdChudWxsLCBudWxsLCAnam91cm5hbHMn
KTsKIAogCQl9IGVsc2UgewpJbmRleDogcGFnZXMvYWRtaW4vQWRtaW5QZW9wbGVIYW5kbGVyLmlu
Yy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9vanMyL3BhZ2VzL2FkbWluL0FkbWluUGVv
cGxlSGFuZGxlci5pbmMucGhwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjgKZGlmZiAtdSAtcjEu
OCBBZG1pblBlb3BsZUhhbmRsZXIuaW5jLnBocAotLS0gcGFnZXMvYWRtaW4vQWRtaW5QZW9wbGVI
YW5kbGVyLmluYy5waHAJMTYgT2N0IDIwMDggMTg6MDI6MjcgLTAwMDAJMS44CisrKyBwYWdlcy9h
ZG1pbi9BZG1pblBlb3BsZUhhbmRsZXIuaW5jLnBocAkyNiBKYW4gMjAwOSAxOTozODozMCAtMDAw
MApAQCAtMTI1LDggKzEyNSw2IEBACiAJCQkkc3Vic2NyaXB0aW9uRGFvLT5kZWxldGVTdWJzY3Jp
cHRpb25zQnlVc2VySWQoJG9sZFVzZXJJZCk7CiAJCQkkdGVtcG9yYXJ5RmlsZURhbyA9JiBEQU9S
ZWdpc3RyeTo6Z2V0REFPKCdUZW1wb3JhcnlGaWxlREFPJyk7CiAJCQkkdGVtcG9yYXJ5RmlsZURh
by0+ZGVsZXRlVGVtcG9yYXJ5RmlsZXNCeVVzZXJJZCgkb2xkVXNlcklkKTsKLQkJCSRub3RpZmlj
YXRpb25TdGF0dXNEYW8gPSYgREFPUmVnaXN0cnk6OmdldERBTygnTm90aWZpY2F0aW9uU3RhdHVz
REFPJyk7Ci0JCQkkbm90aWZpY2F0aW9uU3RhdHVzRGFvLT5kZWxldGVOb3RpZmljYXRpb25TdGF0
dXNCeVVzZXJJZCgkb2xkVXNlcklkKTsKIAkJCSR1c2VyU2V0dGluZ3NEYW8gPSYgREFPUmVnaXN0
cnk6OmdldERBTygnVXNlclNldHRpbmdzREFPJyk7CiAJCQkkdXNlclNldHRpbmdzRGFvLT5kZWxl
dGVTZXR0aW5ncygkb2xkVXNlcklkKTsKIAkJCSRncm91cE1lbWJlcnNoaXBEYW8gPSYgREFPUmVn
aXN0cnk6OmdldERBTygnR3JvdXBNZW1iZXJzaGlwREFPJyk7CkluZGV4OiBwYWdlcy9hZG1pbi9B
ZG1pblNldHRpbmdzSGFuZGxlci5pbmMucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvb2pz
Mi9wYWdlcy9hZG1pbi9BZG1pblNldHRpbmdzSGFuZGxlci5pbmMucGhwLHYKcmV0cmlldmluZyBy
ZXZpc2lvbiAxLjE4CmRpZmYgLXUgLXIxLjE4IEFkbWluU2V0dGluZ3NIYW5kbGVyLmluYy5waHAK
LS0tIHBhZ2VzL2FkbWluL0FkbWluU2V0dGluZ3NIYW5kbGVyLmluYy5waHAJMTAgRGVjIDIwMDgg
MjM6Mzc6MjggLTAwMDAJMS4xOAorKysgcGFnZXMvYWRtaW4vQWRtaW5TZXR0aW5nc0hhbmRsZXIu
aW5jLnBocAkyNiBKYW4gMjAwOSAxOTozODozMCAtMDAwMApAQCAtNzcsNyArNzcsNiBAQAogCQkJ
fQogCQl9IGVsc2VpZiAoJHNldHRpbmdzRm9ybS0+dmFsaWRhdGUoKSkgewogCQkJJHNldHRpbmdz
Rm9ybS0+ZXhlY3V0ZSgpOwotCiAJCQkkdGVtcGxhdGVNZ3IgPSAmVGVtcGxhdGVNYW5hZ2VyOjpn
ZXRNYW5hZ2VyKCk7CiAJCQkkdGVtcGxhdGVNZ3ItPmFzc2lnbihhcnJheSgKIAkJCQknY3VycmVu
dFVybCcgPT4gUmVxdWVzdDo6dXJsKG51bGwsIG51bGwsICdzZXR0aW5ncycpLApJbmRleDogcGFn
ZXMvYXV0aG9yL1N1Ym1pdEhhbmRsZXIuaW5jLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3Zz
L29qczIvcGFnZXMvYXV0aG9yL1N1Ym1pdEhhbmRsZXIuaW5jLnBocCx2CnJldHJpZXZpbmcgcmV2
aXNpb24gMS4zMApkaWZmIC11IC1yMS4zMCBTdWJtaXRIYW5kbGVyLmluYy5waHAKLS0tIHBhZ2Vz
L2F1dGhvci9TdWJtaXRIYW5kbGVyLmluYy5waHAJMTAgRGVjIDIwMDggMjM6Mzc6MjggLTAwMDAJ
MS4zMAorKysgcGFnZXMvYXV0aG9yL1N1Ym1pdEhhbmRsZXIuaW5jLnBocAkyNiBKYW4gMjAwOSAx
OTozODozMCAtMDAwMApAQCAtMTQ0LDYgKzE0NCwyNSBAQAogCQkJJGFydGljbGVJZCA9ICRzdWJt
aXRGb3JtLT5leGVjdXRlKCk7CiAKIAkJCWlmICgkc3RlcCA9PSA1KSB7CisJCQkJLy8gU2VuZCBh
IG5vdGlmaWNhdGlvbiB0byBhc3NvY2lhdGVkIHVzZXJzCisJCQkJaW1wb3J0KCdub3RpZmljYXRp
b24uTm90aWZpY2F0aW9uJyk7CisJCQkJJGFydGljbGVEYW8gPSYgREFPUmVnaXN0cnk6OmdldERB
TygnQXJ0aWNsZURBTycpOyAKKwkJCQkkYXJ0aWNsZSA9JiAkYXJ0aWNsZURhby0+Z2V0QXJ0aWNs
ZSgkYXJ0aWNsZUlkKTsKKwkJCQkkcm9sZURhbyA9ICZEQU9SZWdpc3RyeTo6Z2V0REFPKCdSb2xl
REFPJyk7CisJCQkJJG5vdGlmaWNhdGlvblVzZXJzID0gYXJyYXkoKTsKKwkJCQkkam91cm5hbE1h
bmFnZXJzID0gJHJvbGVEYW8tPmdldFVzZXJzQnlSb2xlSWQoUk9MRV9JRF9KT1VSTkFMX01BTkFH
RVIpOworCQkJCSRhbGxVc2VycyA9ICRqb3VybmFsTWFuYWdlcnMtPnRvQXJyYXkoKTsKKwkJCQkk
ZWRpdG9ycyA9ICRyb2xlRGFvLT5nZXRVc2Vyc0J5Um9sZUlkKFJPTEVfSURfRURJVE9SKTsKKwkJ
CQlhcnJheV9tZXJnZSgkYWxsVXNlcnMsICRlZGl0b3JzLT50b0FycmF5KCkpOworCQkJCWZvcmVh
Y2ggKCRhbGxVc2VycyBhcyAkdXNlcikgeworCQkJCQkkbm90aWZpY2F0aW9uVXNlcnNbXSA9IGFy
cmF5KCdpZCcgPT4gJHVzZXItPmdldFVzZXJJZCgpKTsKKwkJCQl9CisJCQkJZm9yZWFjaCAoJG5v
dGlmaWNhdGlvblVzZXJzIGFzICR1c2VyKSB7CisJCQkJCSR1cmwgPSBSZXF1ZXN0Ojp1cmwobnVs
bCwgJ2VkaXRvcicsICdzdWJtaXNzaW9uJywgJGFydGljbGVJZCk7CisJCQkJCU5vdGlmaWNhdGlv
bjo6Y3JlYXRlTm90aWZpY2F0aW9uKCR1c2VyWydpZCddLCAibm90aWZpY2F0aW9uLnR5cGUuYXJ0
aWNsZVN1Ym1pdHRlZCIsCisJCQkJCQkkYXJ0aWNsZS0+Z2V0QXJ0aWNsZVRpdGxlKCksICR1cmws
IDEsIE5PVElGSUNBVElPTl9UWVBFX0FSVElDTEVfU1VCTUlUVEVEKTsKKwkJCQl9CisJCQkJCiAJ
CQkJJGpvdXJuYWwgPSAmUmVxdWVzdDo6Z2V0Sm91cm5hbCgpOwogCQkJCSR0ZW1wbGF0ZU1nciA9
ICZUZW1wbGF0ZU1hbmFnZXI6OmdldE1hbmFnZXIoKTsKIAkJCQkkdGVtcGxhdGVNZ3ItPmFzc2ln
bl9ieV9yZWYoJ2pvdXJuYWwnLCAkam91cm5hbCk7CkluZGV4OiBwYWdlcy9jb21tZW50L0NvbW1l
bnRIYW5kbGVyLmluYy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9vanMyL3BhZ2VzL2Nv
bW1lbnQvQ29tbWVudEhhbmRsZXIuaW5jLnBocCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zNApk
aWZmIC11IC1yMS4zNCBDb21tZW50SGFuZGxlci5pbmMucGhwCi0tLSBwYWdlcy9jb21tZW50L0Nv
bW1lbnRIYW5kbGVyLmluYy5waHAJMTAgRGVjIDIwMDggMjM6Mzc6MjggLTAwMDAJMS4zNAorKysg
cGFnZXMvY29tbWVudC9Db21tZW50SGFuZGxlci5pbmMucGhwCTI2IEphbiAyMDA5IDE5OjM4OjMx
IC0wMDAwCkBAIC05Nyw2ICs5NywxOCBAQAogCQkJJGNvbW1lbnRGb3JtLT5yZWFkSW5wdXREYXRh
KCk7CiAJCQlpZiAoJGNvbW1lbnRGb3JtLT52YWxpZGF0ZSgpKSB7CiAJCQkJJGNvbW1lbnRGb3Jt
LT5leGVjdXRlKCk7CisJCQkJCisJCQkJLy8gU2VuZCBhIG5vdGlmaWNhdGlvbiB0byBhc3NvY2lh
dGVkIHVzZXJzCisJCQkJaW1wb3J0KCdub3RpZmljYXRpb24uTm90aWZpY2F0aW9uJyk7CisJCQkJ
JGFydGljbGVEQU8gPSYgREFPUmVnaXN0cnk6OmdldERBTygnQXJ0aWNsZURBTycpOworCQkJCSRh
cnRpY2xlID0mICRhcnRpY2xlREFPLT5nZXRBcnRpY2xlKCRhcnRpY2xlSWQpOworCQkJCSRub3Rp
ZmljYXRpb25Vc2VycyA9ICRhcnRpY2xlLT5nZXRBc3NvY2lhdGVkVXNlcklkcygpOworCQkJCWZv
cmVhY2ggKCRub3RpZmljYXRpb25Vc2VycyBhcyAkdXNlcikgeworCQkJCQkkdXJsID0gUmVxdWVz
dDo6dXJsKG51bGwsIG51bGwsICd2aWV3JywgYXJyYXkoJGFydGljbGVJZCwgJGdhbGxleUlkLCAk
cGFyZW50SWQpKTsKKwkJCQkJTm90aWZpY2F0aW9uOjpjcmVhdGVOb3RpZmljYXRpb24oJHVzZXJb
J2lkJ10sICJub3RpZmljYXRpb24udHlwZS51c2VyQ29tbWVudCIsCisJCQkJCQkkYXJ0aWNsZS0+
Z2V0QXJ0aWNsZVRpdGxlKCksICR1cmwsIDEsIE5PVElGSUNBVElPTl9UWVBFX1VTRVJfQ09NTUVO
VCk7CisJCQkJfQorCQkJCQogCQkJCVJlcXVlc3Q6OnJlZGlyZWN0KG51bGwsIG51bGwsICd2aWV3
JywgYXJyYXkoJGFydGljbGVJZCwgJGdhbGxleUlkLCAkcGFyZW50SWQpLCBhcnJheSgncmVmcmVz
aCcgPT4gMSkpOwogCQkJfQogCQl9CkluZGV4OiBwYWdlcy9lZGl0b3IvSXNzdWVNYW5hZ2VtZW50
SGFuZGxlci5pbmMucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvb2pzMi9wYWdlcy9lZGl0
b3IvSXNzdWVNYW5hZ2VtZW50SGFuZGxlci5pbmMucGhwLHYKcmV0cmlldmluZyByZXZpc2lvbiAx
LjgzCmRpZmYgLXUgLXIxLjgzIElzc3VlTWFuYWdlbWVudEhhbmRsZXIuaW5jLnBocAotLS0gcGFn
ZXMvZWRpdG9yL0lzc3VlTWFuYWdlbWVudEhhbmRsZXIuaW5jLnBocAkxMCBEZWMgMjAwOCAyMzoz
NzoyOCAtMDAwMAkxLjgzCisrKyBwYWdlcy9lZGl0b3IvSXNzdWVNYW5hZ2VtZW50SGFuZGxlci5p
bmMucGhwCTI2IEphbiAyMDA5IDE5OjM4OjMxIC0wMDAwCkBAIC05NCw3ICs5NCw2IEBACiAJCQkJ
JGlzc3VlRGFvLT51cGRhdGVJc3N1ZSgkaXNzdWUpOwogCQkJfQogCQl9Ci0KIAkJUmVxdWVzdDo6
cmVkaXJlY3QobnVsbCwgbnVsbCwgJ2JhY2tJc3N1ZXMnKTsKIAl9CiAKQEAgLTUzNyw3ICs1MzYs
MjYgQEAKIAogCQkkaXNzdWVEYW8gPSAmREFPUmVnaXN0cnk6OmdldERBTygnSXNzdWVEQU8nKTsK
IAkJJGlzc3VlRGFvLT51cGRhdGVDdXJyZW50SXNzdWUoJGpvdXJuYWxJZCwkaXNzdWUpOwotCisJ
CQorCQkvLyBTZW5kIGEgbm90aWZpY2F0aW9uIHRvIGFzc29jaWF0ZWQgdXNlcnMKKwkJaW1wb3J0
KCdub3RpZmljYXRpb24uTm90aWZpY2F0aW9uJyk7CisJCSRyb2xlRGFvID0gJkRBT1JlZ2lzdHJ5
OjpnZXREQU8oJ1JvbGVEQU8nKTsKKwkJJG5vdGlmaWNhdGlvblVzZXJzID0gYXJyYXkoKTsKKwkJ
JGFsbFVzZXJzID0gJHJvbGVEYW8tPmdldFVzZXJzQnlKb3VybmFsSWQoJGpvdXJuYWxJZCk7CisJ
CXdoaWxlICghJGFsbFVzZXJzLT5lb2YoKSkgeworCQkJJHVzZXIgPSAmJGFsbFVzZXJzLT5uZXh0
KCk7CisJCQkkbm90aWZpY2F0aW9uVXNlcnNbXSA9IGFycmF5KCdpZCcgPT4gJHVzZXItPmdldFVz
ZXJJZCgpKTsKKwkJCXVuc2V0KCR1c2VyKTsKKwkJfQorCQkkdXJsID0gUmVxdWVzdDo6dXJsKG51
bGwsICdpc3N1ZScsICdjdXJyZW50Jyk7CisJCWZvcmVhY2ggKCRub3RpZmljYXRpb25Vc2VycyBh
cyAkdXNlcikgeworCQkJTm90aWZpY2F0aW9uOjpjcmVhdGVOb3RpZmljYXRpb24oJHVzZXJbJ2lk
J10sICJub3RpZmljYXRpb24udHlwZS5pc3N1ZVB1Ymxpc2hlZCIsCisJCQkJbnVsbCwgJHVybCwg
MSwgTk9USUZJQ0FUSU9OX1RZUEVfUFVCTElTSEVEX0lTU1VFKTsKKwkJfQorCQkkbm90aWZpY2F0
aW9uRGFvID0gJkRBT1JlZ2lzdHJ5OjpnZXREQU8oJ05vdGlmaWNhdGlvbkRBTycpOworCQkkbm90
aWZpY2F0aW9uRGFvLT5zZW5kVG9NYWlsaW5nTGlzdChOb3RpZmljYXRpb246OmNyZWF0ZU5vdGlm
aWNhdGlvbigwLCAibm90aWZpY2F0aW9uLnR5cGUuaXNzdWVQdWJsaXNoZWQiLAorCQkJCW51bGws
ICR1cmwsIDEsIE5PVElGSUNBVElPTl9UWVBFX1BVQkxJU0hFRF9JU1NVRSkpOworCQkJCQogCQlS
ZXF1ZXN0OjpyZWRpcmVjdChudWxsLCBudWxsLCAnaXNzdWVUb2MnLCAkaXNzdWUtPmdldElzc3Vl
SWQoKSk7CiAJfQogCkBAIC01NTAsNyArNTY4LDYgQEAKIAogCQkkdXNlckRhbyA9ICZEQU9SZWdp
c3RyeTo6Z2V0REFPKCdVc2VyREFPJyk7CiAJCSRpc3N1ZURhbyA9ICZEQU9SZWdpc3RyeTo6Z2V0
REFPKCdJc3N1ZURBTycpOwotCQkkbm90aWZpY2F0aW9uU3RhdHVzRGFvID0gJkRBT1JlZ2lzdHJ5
OjpnZXREQU8oJ05vdGlmaWNhdGlvblN0YXR1c0RBTycpOwogCQkkcm9sZURhbyA9ICZEQU9SZWdp
c3RyeTo6Z2V0REFPKCdSb2xlREFPJyk7CiAKIAkJJGpvdXJuYWwgPSAmUmVxdWVzdDo6Z2V0Sm91
cm5hbCgpOwpAQCAtNTYzLDExICs1ODAsOCBAQAogCQlpZiAoUmVxdWVzdDo6Z2V0VXNlclZhcign
c2VuZCcpICYmICEkZW1haWwtPmhhc0Vycm9ycygpKSB7CiAJCQkkZW1haWwtPmFkZFJlY2lwaWVu
dCgkdXNlci0+Z2V0RW1haWwoKSwgJHVzZXItPmdldEZ1bGxOYW1lKCkpOwogCi0JCQlpZiAoUmVx
dWVzdDo6Z2V0VXNlclZhcignd2hpY2hVc2VycycpID09ICdhbGxVc2VycycpIHsKLQkJCQkkcmVj
aXBpZW50cyA9ICRyb2xlRGFvLT5nZXRVc2Vyc0J5Sm91cm5hbElkKCRqb3VybmFsLT5nZXRKb3Vy
bmFsSWQoKSk7Ci0JCQl9IGVsc2UgewotCQkJCSRyZWNpcGllbnRzID0gJG5vdGlmaWNhdGlvblN0
YXR1c0Rhby0+Z2V0Tm90aWZpYWJsZVVzZXJzQnlKb3VybmFsSWQoJGpvdXJuYWwtPmdldEpvdXJu
YWxJZCgpKTsKLQkJCX0KKwkJCSRyZWNpcGllbnRzID0gJHJvbGVEYW8tPmdldFVzZXJzQnlKb3Vy
bmFsSWQoJGpvdXJuYWwtPmdldEpvdXJuYWxJZCgpKTsKKwogCQkJd2hpbGUgKCEkcmVjaXBpZW50
cy0+ZW9mKCkpIHsKIAkJCQkkcmVjaXBpZW50ID0gJiRyZWNpcGllbnRzLT5uZXh0KCk7CiAJCQkJ
JGVtYWlsLT5hZGRSZWNpcGllbnQoJHJlY2lwaWVudC0+Z2V0RW1haWwoKSwgJHJlY2lwaWVudC0+
Z2V0RnVsbE5hbWUoKSk7CkBAIC02MTAsNyArNjI0LDYgQEAKIAkJCQkJJ2VkaXRvcmlhbENvbnRh
Y3RTaWduYXR1cmUnID0+ICR1c2VyLT5nZXRDb250YWN0U2lnbmF0dXJlKCkKIAkJCQkpKTsKIAkJ
CX0KLQkJCSRub3RpZmlhYmxlQ291bnQgPSAkbm90aWZpY2F0aW9uU3RhdHVzRGFvLT5nZXROb3Rp
ZmlhYmxlVXNlcnNDb3VudCgkam91cm5hbC0+Z2V0Sm91cm5hbElkKCkpOwogCQkJJGFsbFVzZXJz
Q291bnQgPSAkcm9sZURhby0+Z2V0Sm91cm5hbFVzZXJzQ291bnQoJGpvdXJuYWwtPmdldEpvdXJu
YWxJZCgpKTsKIAogCQkJJGlzc3Vlc0l0ZXJhdG9yID0gJiRpc3N1ZURhby0+Z2V0SXNzdWVzKCRq
b3VybmFsLT5nZXRKb3VybmFsSWQoKSk7CkBAIC02MjEsNyArNjM0LDYgQEAKIAkJCQknZWRpdG9y
L25vdGlmeVVzZXJzLnRwbCcsCiAJCQkJYXJyYXkoCiAJCQkJCSdpc3N1ZXMnID0+ICRpc3N1ZXNJ
dGVyYXRvciwKLQkJCQkJJ25vdGlmaWFibGVDb3VudCcgPT4gJG5vdGlmaWFibGVDb3VudCwKIAkJ
CQkJJ2FsbFVzZXJzQ291bnQnID0+ICRhbGxVc2Vyc0NvdW50CiAJCQkJKQogCQkJKTsKSW5kZXg6
IHBhZ2VzL2xheW91dEVkaXRvci9TdWJtaXNzaW9uTGF5b3V0SGFuZGxlci5pbmMucGhwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KUkNTIGZpbGU6IC9jdnMvb2pzMi9wYWdlcy9sYXlvdXRFZGl0b3IvU3VibWlzc2lvbkxh
eW91dEhhbmRsZXIuaW5jLnBocCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40MwpkaWZmIC11IC1y
MS40MyBTdWJtaXNzaW9uTGF5b3V0SGFuZGxlci5pbmMucGhwCi0tLSBwYWdlcy9sYXlvdXRFZGl0
b3IvU3VibWlzc2lvbkxheW91dEhhbmRsZXIuaW5jLnBocAkxMCBEZWMgMjAwOCAyMzozNzoyOCAt
MDAwMAkxLjQzCisrKyBwYWdlcy9sYXlvdXRFZGl0b3IvU3VibWlzc2lvbkxheW91dEhhbmRsZXIu
aW5jLnBocAkyNiBKYW4gMjAwOSAxOTozODozMSAtMDAwMApAQCAtMTg0LDYgKzE4NCwxNyBAQAog
CQlpZiAoJHN1Ym1pdEZvcm0tPnZhbGlkYXRlKCkpIHsKIAkJCSRzdWJtaXRGb3JtLT5leGVjdXRl
KCk7CiAKKwkJCS8vIFNlbmQgYSBub3RpZmljYXRpb24gdG8gYXNzb2NpYXRlZCB1c2VycworCQkJ
aW1wb3J0KCdub3RpZmljYXRpb24uTm90aWZpY2F0aW9uJyk7CisJCQkkYXJ0aWNsZURhbyA9JiBE
QU9SZWdpc3RyeTo6Z2V0REFPKCdBcnRpY2xlREFPJyk7IAorCQkJJGFydGljbGUgPSYgJGFydGlj
bGVEYW8tPmdldEFydGljbGUoJGFydGljbGVJZCk7CisJCQkkbm90aWZpY2F0aW9uVXNlcnMgPSAk
YXJ0aWNsZS0+Z2V0QXNzb2NpYXRlZFVzZXJJZHModHJ1ZSwgZmFsc2UpOworCQkJZm9yZWFjaCAo
JG5vdGlmaWNhdGlvblVzZXJzIGFzICR1c2VyKSB7CisJCQkJJHVybCA9IFJlcXVlc3Q6OnVybChu
dWxsLCAkdXNlclsncm9sZSddLCAnc3VibWlzc2lvbkVkaXRpbmcnLCAkYXJ0aWNsZS0+Z2V0QXJ0
aWNsZUlkKCksIG51bGwsICdsYXlvdXQnKTsKKwkJCQlOb3RpZmljYXRpb246OmNyZWF0ZU5vdGlm
aWNhdGlvbigkdXNlclsnaWQnXSwgIm5vdGlmaWNhdGlvbi50eXBlLmdhbGxleU1vZGlmaWVkIiwK
KwkJCQkJJGFydGljbGUtPmdldEFydGljbGVUaXRsZSgpLCAkdXJsLCAxLCBOT1RJRklDQVRJT05f
VFlQRV9HQUxMRVlfTU9ESUZJRUQpOworCQkJfQorCiAJCQlpZiAoUmVxdWVzdDo6Z2V0VXNlclZh
cigndXBsb2FkSW1hZ2UnKSkgewogCQkJCSRzdWJtaXRGb3JtLT51cGxvYWRJbWFnZSgpOwogCQkJ
CVJlcXVlc3Q6OnJlZGlyZWN0KG51bGwsIG51bGwsICdlZGl0R2FsbGV5JywgYXJyYXkoJGFydGlj
bGVJZCwgJGdhbGxleUlkKSk7CkBAIC0zNjgsNiArMzc5LDE4IEBACiAKIAkJaWYgKCRzdWJtaXRG
b3JtLT52YWxpZGF0ZSgpKSB7CiAJCQkkc3VibWl0Rm9ybS0+ZXhlY3V0ZSgpOworCisJCQkvLyBT
ZW5kIGEgbm90aWZpY2F0aW9uIHRvIGFzc29jaWF0ZWQgdXNlcnMKKwkJCWltcG9ydCgnbm90aWZp
Y2F0aW9uLk5vdGlmaWNhdGlvbicpOworCQkJJGFydGljbGVEYW8gPSYgREFPUmVnaXN0cnk6Omdl
dERBTygnQXJ0aWNsZURBTycpOyAKKwkJCSRhcnRpY2xlID0mICRhcnRpY2xlRGFvLT5nZXRBcnRp
Y2xlKCRhcnRpY2xlSWQpOworCQkJJG5vdGlmaWNhdGlvblVzZXJzID0gJGFydGljbGUtPmdldEFz
c29jaWF0ZWRVc2VySWRzKHRydWUsIGZhbHNlKTsKKwkJCWZvcmVhY2ggKCRub3RpZmljYXRpb25V
c2VycyBhcyAkdXNlcikgeworCQkJCSR1cmwgPSBSZXF1ZXN0Ojp1cmwobnVsbCwgJHVzZXJbJ3Jv
bGUnXSwgJ3N1Ym1pc3Npb25FZGl0aW5nJywgJGFydGljbGUtPmdldEFydGljbGVJZCgpLCBudWxs
LCAnbGF5b3V0Jyk7CisJCQkJTm90aWZpY2F0aW9uOjpjcmVhdGVOb3RpZmljYXRpb24oJHVzZXJb
J2lkJ10sICJub3RpZmljYXRpb24udHlwZS5zdXBwRmlsZU1vZGlmaWVkIiwKKwkJCQkJJGFydGlj
bGUtPmdldEFydGljbGVUaXRsZSgpLCAkdXJsLCAxLCBOT1RJRklDQVRJT05fVFlQRV9TVVBQX0ZJ
TEVfTU9ESUZJRUQpOworCQkJfQorCQkJCiAJCQlSZXF1ZXN0OjpyZWRpcmVjdChudWxsLCBudWxs
LCAnc3VibWlzc2lvbicsICRhcnRpY2xlSWQpOwogCiAJCX0gZWxzZSB7CkluZGV4OiBwYWdlcy9t
YW5hZ2VyL01hbmFnZXJQYXltZW50SGFuZGxlci5pbmMucGhwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6
IC9jdnMvb2pzMi9wYWdlcy9tYW5hZ2VyL01hbmFnZXJQYXltZW50SGFuZGxlci5pbmMucGhwLHYK
cmV0cmlldmluZyByZXZpc2lvbiAxLjEwCmRpZmYgLXUgLXIxLjEwIE1hbmFnZXJQYXltZW50SGFu
ZGxlci5pbmMucGhwCi0tLSBwYWdlcy9tYW5hZ2VyL01hbmFnZXJQYXltZW50SGFuZGxlci5pbmMu
cGhwCTEwIERlYyAyMDA4IDIzOjM3OjI4IC0wMDAwCTEuMTAKKysrIHBhZ2VzL21hbmFnZXIvTWFu
YWdlclBheW1lbnRIYW5kbGVyLmluYy5waHAJMjYgSmFuIDIwMDkgMTk6Mzg6MzEgLTAwMDAKQEAg
LTE1Miw3ICsxNTIsNiBAQAogCiAJCWlmICgkc2V0dGluZ3NGb3JtLT52YWxpZGF0ZSgpKSB7CiAJ
CQkkc2V0dGluZ3NGb3JtLT5leGVjdXRlKCk7Ci0KIAkJCSR0ZW1wbGF0ZU1nci0+YXNzaWduKGFy
cmF5KAogCQkJCSdjdXJyZW50VXJsJyA9PiBSZXF1ZXN0Ojp1cmwobnVsbCwgbnVsbCwgJ3BheU1l
dGhvZFNldHRpbmdzJyksCiAJCQkJJ3BhZ2VUaXRsZScgPT4gJ21hbmFnZXIucGF5bWVudC5wYXlt
ZW50TWV0aG9kcycsCkluZGV4OiBwYWdlcy9tYW5hZ2VyL1N1YnNjcmlwdGlvbkhhbmRsZXIuaW5j
LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL29qczIvcGFnZXMvbWFuYWdlci9TdWJzY3Jp
cHRpb25IYW5kbGVyLmluYy5waHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjcKZGlmZiAtdSAt
cjEuMjcgU3Vic2NyaXB0aW9uSGFuZGxlci5pbmMucGhwCi0tLSBwYWdlcy9tYW5hZ2VyL1N1YnNj
cmlwdGlvbkhhbmRsZXIuaW5jLnBocAkxMCBEZWMgMjAwOCAyMzozNzoyOCAtMDAwMAkxLjI3Cisr
KyBwYWdlcy9tYW5hZ2VyL1N1YnNjcmlwdGlvbkhhbmRsZXIuaW5jLnBocAkyNiBKYW4gMjAwOSAx
OTozODozMyAtMDAwMApAQCAtMjMwLDcgKzIzMCw2IEBACiAKIAkJCWlmICgkc3Vic2NyaXB0aW9u
Rm9ybS0+dmFsaWRhdGUoKSkgewogCQkJCSRzdWJzY3JpcHRpb25Gb3JtLT5leGVjdXRlKCk7Ci0K
IAkJCQlpZiAoUmVxdWVzdDo6Z2V0VXNlclZhcignY3JlYXRlQW5vdGhlcicpKSB7CiAJCQkJCVJl
cXVlc3Q6OnJlZGlyZWN0KG51bGwsIG51bGwsICdzZWxlY3RTdWJzY3JpYmVyJywgbnVsbCwgYXJy
YXkoJ3N1YnNjcmlwdGlvbkNyZWF0ZWQnLCAxKSk7CiAJCQkJfSBlbHNlIHsKQEAgLTQ2NSw3ICs0
NjQsNiBAQAogCiAJCWlmICgkc3Vic2NyaXB0aW9uUG9saWN5Rm9ybS0+dmFsaWRhdGUoKSkgewog
CQkJJHN1YnNjcmlwdGlvblBvbGljeUZvcm0tPmV4ZWN1dGUoKTsKLQogCQkJU3Vic2NyaXB0aW9u
SGFuZGxlcjo6c2V0dXBUZW1wbGF0ZSh0cnVlKTsKIAogCQkJJHRlbXBsYXRlTWdyID0gJlRlbXBs
YXRlTWFuYWdlcjo6Z2V0TWFuYWdlcigpOwpJbmRleDogcGFnZXMvc2VjdGlvbkVkaXRvci9TdWJt
aXNzaW9uRWRpdEhhbmRsZXIuaW5jLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL29qczIv
cGFnZXMvc2VjdGlvbkVkaXRvci9TdWJtaXNzaW9uRWRpdEhhbmRsZXIuaW5jLnBocCx2CnJldHJp
ZXZpbmcgcmV2aXNpb24gMS44MQpkaWZmIC11IC1yMS44MSBTdWJtaXNzaW9uRWRpdEhhbmRsZXIu
aW5jLnBocAotLS0gcGFnZXMvc2VjdGlvbkVkaXRvci9TdWJtaXNzaW9uRWRpdEhhbmRsZXIuaW5j
LnBocAkxMCBEZWMgMjAwOCAyMzozNzoyOCAtMDAwMAkxLjgxCisrKyBwYWdlcy9zZWN0aW9uRWRp
dG9yL1N1Ym1pc3Npb25FZGl0SGFuZGxlci5pbmMucGhwCTI2IEphbiAyMDA5IDE5OjM4OjM0IC0w
MDAwCkBAIC0xMjE0LDYgKzEyMTQsMTggQEAKIAogCQlpZiAoJHN1Ym1pdEZvcm0tPnZhbGlkYXRl
KCkpIHsKIAkJCSRzdWJtaXRGb3JtLT5leGVjdXRlKCk7CisKKwkJCS8vIFNlbmQgYSBub3RpZmlj
YXRpb24gdG8gYXNzb2NpYXRlZCB1c2VycworCQkJaW1wb3J0KCdub3RpZmljYXRpb24uTm90aWZp
Y2F0aW9uJyk7CisJCQkkYXJ0aWNsZURhbyA9JiBEQU9SZWdpc3RyeTo6Z2V0REFPKCdBcnRpY2xl
REFPJyk7IAorCQkJJGFydGljbGUgPSYgJGFydGljbGVEYW8tPmdldEFydGljbGUoJGFydGljbGVJ
ZCk7CisJCQkkbm90aWZpY2F0aW9uVXNlcnMgPSAkYXJ0aWNsZS0+Z2V0QXNzb2NpYXRlZFVzZXJJ
ZHModHJ1ZSwgZmFsc2UpOworCQkJZm9yZWFjaCAoJG5vdGlmaWNhdGlvblVzZXJzIGFzICR1c2Vy
KSB7CisJCQkJJHVybCA9IFJlcXVlc3Q6OnVybChudWxsLCAkdXNlclsncm9sZSddLCAnc3VibWlz
c2lvbkVkaXRpbmcnLCAkYXJ0aWNsZS0+Z2V0QXJ0aWNsZUlkKCksIG51bGwsICdsYXlvdXQnKTsK
KwkJCQlOb3RpZmljYXRpb246OmNyZWF0ZU5vdGlmaWNhdGlvbigkdXNlclsnaWQnXSwgIm5vdGlm
aWNhdGlvbi50eXBlLnN1cHBGaWxlTW9kaWZpZWQiLAorCQkJCQkkYXJ0aWNsZS0+Z2V0QXJ0aWNs
ZVRpdGxlKCksICR1cmwsIDEsIE5PVElGSUNBVElPTl9UWVBFX1NVUFBfRklMRV9NT0RJRklFRCk7
CisJCQl9CisJCQkKIAkJCVJlcXVlc3Q6OnJlZGlyZWN0KG51bGwsIG51bGwsIFN1Ym1pc3Npb25F
ZGl0SGFuZGxlcjo6Z2V0RnJvbSgpLCAkYXJ0aWNsZUlkKTsKIAkJfSBlbHNlIHsKIAkJCXBhcmVu
dDo6c2V0dXBUZW1wbGF0ZSh0cnVlLCAkYXJ0aWNsZUlkLCAnc3VtbWFyeScpOwpAQCAtMTQ2Myw2
ICsxNDc1LDE3IEBACiAJCSRnYWxsZXlGb3JtID0mIG5ldyBBcnRpY2xlR2FsbGV5Rm9ybSgkYXJ0
aWNsZUlkKTsKIAkJJGdhbGxleUlkID0gJGdhbGxleUZvcm0tPmV4ZWN1dGUoJGZpbGVOYW1lKTsK
IAorCQkvLyBTZW5kIGEgbm90aWZpY2F0aW9uIHRvIGFzc29jaWF0ZWQgdXNlcnMKKwkJaW1wb3J0
KCdub3RpZmljYXRpb24uTm90aWZpY2F0aW9uJyk7CisJCSRhcnRpY2xlRGFvID0gJkRBT1JlZ2lz
dHJ5OjpnZXREQU8oJ0FydGljbGVEQU8nKTsgCisJCSRhcnRpY2xlID0gJiRhcnRpY2xlRGFvLT5n
ZXRBcnRpY2xlKCRhcnRpY2xlSWQpOworCQkkbm90aWZpY2F0aW9uVXNlcnMgPSAkYXJ0aWNsZS0+
Z2V0QXNzb2NpYXRlZFVzZXJJZHModHJ1ZSwgZmFsc2UpOworCQlmb3JlYWNoICgkbm90aWZpY2F0
aW9uVXNlcnMgYXMgJHVzZXIpIHsKKwkJCSR1cmwgPSBSZXF1ZXN0Ojp1cmwobnVsbCwgJHVzZXJb
J3JvbGUnXSwgJ3N1Ym1pc3Npb25FZGl0aW5nJywgJGFydGljbGUtPmdldEFydGljbGVJZCgpLCBu
dWxsLCAnbGF5b3V0Jyk7CisJCQlOb3RpZmljYXRpb246OmNyZWF0ZU5vdGlmaWNhdGlvbigkdXNl
clsnaWQnXSwgIm5vdGlmaWNhdGlvbi50eXBlLmdhbGxleUFkZGVkIiwKKwkJCQkkYXJ0aWNsZS0+
Z2V0QXJ0aWNsZVRpdGxlKCksICR1cmwsIDEsIE5PVElGSUNBVElPTl9UWVBFX0dBTExFWV9BRERF
RCk7CisJCX0KKwkJCiAJCVJlcXVlc3Q6OnJlZGlyZWN0KG51bGwsIG51bGwsICdlZGl0R2FsbGV5
JywgYXJyYXkoJGFydGljbGVJZCwgJGdhbGxleUlkKSk7CiAJfQogCkBAIC0xNTA3LDcgKzE1MzAs
MTggQEAKIAkJJHN1Ym1pdEZvcm0tPnJlYWRJbnB1dERhdGEoKTsKIAkJaWYgKCRzdWJtaXRGb3Jt
LT52YWxpZGF0ZSgpKSB7CiAJCQkkc3VibWl0Rm9ybS0+ZXhlY3V0ZSgpOwotCisJCQkKKwkJCS8v
IFNlbmQgYSBub3RpZmljYXRpb24gdG8gYXNzb2NpYXRlZCB1c2VycworCQkJaW1wb3J0KCdub3Rp
ZmljYXRpb24uTm90aWZpY2F0aW9uJyk7CisJCQkkYXJ0aWNsZURhbyA9JiBEQU9SZWdpc3RyeTo6
Z2V0REFPKCdBcnRpY2xlREFPJyk7IAorCQkJJGFydGljbGUgPSYgJGFydGljbGVEYW8tPmdldEFy
dGljbGUoJGFydGljbGVJZCk7CisJCQkkbm90aWZpY2F0aW9uVXNlcnMgPSAkYXJ0aWNsZS0+Z2V0
QXNzb2NpYXRlZFVzZXJJZHModHJ1ZSwgZmFsc2UpOworCQkJZm9yZWFjaCAoJG5vdGlmaWNhdGlv
blVzZXJzIGFzICR1c2VyKSB7CisJCQkJJHVybCA9IFJlcXVlc3Q6OnVybChudWxsLCAkdXNlclsn
cm9sZSddLCAnc3VibWlzc2lvbkVkaXRpbmcnLCAkYXJ0aWNsZS0+Z2V0QXJ0aWNsZUlkKCksIG51
bGwsICdsYXlvdXQnKTsKKwkJCQlOb3RpZmljYXRpb246OmNyZWF0ZU5vdGlmaWNhdGlvbigkdXNl
clsnaWQnXSwgIm5vdGlmaWNhdGlvbi50eXBlLmdhbGxleU1vZGlmaWVkIiwKKwkJCQkJJGFydGlj
bGUtPmdldEFydGljbGVUaXRsZSgpLCAkdXJsLCAxLCBOT1RJRklDQVRJT05fVFlQRV9HQUxMRVlf
TU9ESUZJRUQpOworCQkJfQorCQkJCiAJCQlpZiAoUmVxdWVzdDo6Z2V0VXNlclZhcigndXBsb2Fk
SW1hZ2UnKSkgewogCQkJCSRzdWJtaXRGb3JtLT51cGxvYWRJbWFnZSgpOwogCQkJCVJlcXVlc3Q6
OnJlZGlyZWN0KG51bGwsIG51bGwsICdlZGl0R2FsbGV5JywgYXJyYXkoJGFydGljbGVJZCwgJGdh
bGxleUlkKSk7CkBAIC0xNjI2LDYgKzE2NjAsMTcgQEAKIAkJJHN1cHBGaWxlRm9ybS0+c2V0RGF0
YSgndGl0bGUnLCBMb2NhbGU6OnRyYW5zbGF0ZSgnY29tbW9uLnVudGl0bGVkJykpOwogCQkkc3Vw
cEZpbGVJZCA9ICRzdXBwRmlsZUZvcm0tPmV4ZWN1dGUoJGZpbGVOYW1lKTsKIAorCQkvLyBTZW5k
IGEgbm90aWZpY2F0aW9uIHRvIGFzc29jaWF0ZWQgdXNlcnMKKwkJaW1wb3J0KCdub3RpZmljYXRp
b24uTm90aWZpY2F0aW9uJyk7CisJCSRhcnRpY2xlRGFvID0mIERBT1JlZ2lzdHJ5OjpnZXREQU8o
J0FydGljbGVEQU8nKTsgCisJCSRhcnRpY2xlID0mICRhcnRpY2xlRGFvLT5nZXRBcnRpY2xlKCRh
cnRpY2xlSWQpOworCQkkbm90aWZpY2F0aW9uVXNlcnMgPSAkYXJ0aWNsZS0+Z2V0QXNzb2NpYXRl
ZFVzZXJJZHModHJ1ZSwgZmFsc2UpOworCQlmb3JlYWNoICgkbm90aWZpY2F0aW9uVXNlcnMgYXMg
JHVzZXIpIHsKKwkJCSR1cmwgPSBSZXF1ZXN0Ojp1cmwobnVsbCwgJHVzZXJbJ3JvbGUnXSwgJ3N1
Ym1pc3Npb25FZGl0aW5nJywgJGFydGljbGUtPmdldEFydGljbGVJZCgpLCBudWxsLCAnbGF5b3V0
Jyk7CisJCQlOb3RpZmljYXRpb246OmNyZWF0ZU5vdGlmaWNhdGlvbigkdXNlclsnaWQnXSwgIm5v
dGlmaWNhdGlvbi50eXBlLnN1cHBGaWxlQWRkZWQiLAorCQkJCSRhcnRpY2xlLT5nZXRBcnRpY2xl
VGl0bGUoKSwgJHVybCwgMSwgTk9USUZJQ0FUSU9OX1RZUEVfU1VQUF9GSUxFX0FEREVEKTsKKwkJ
fQorCiAJCVJlcXVlc3Q6OnJlZGlyZWN0KG51bGwsIG51bGwsICdlZGl0U3VwcEZpbGUnLCBhcnJh
eSgkYXJ0aWNsZUlkLCAkc3VwcEZpbGVJZCkpOwogCX0KIApJbmRleDogcGx1Z2lucy9ibG9ja3Mv
Zm9udFNpemUvRm9udFNpemVCbG9ja1BsdWdpbi5pbmMucGhwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6
IC9jdnMvb2pzMi9wbHVnaW5zL2Jsb2Nrcy9mb250U2l6ZS9Gb250U2l6ZUJsb2NrUGx1Z2luLmlu
Yy5waHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuOQpkaWZmIC11IC1yMS45IEZvbnRTaXplQmxv
Y2tQbHVnaW4uaW5jLnBocAotLS0gcGx1Z2lucy9ibG9ja3MvZm9udFNpemUvRm9udFNpemVCbG9j
a1BsdWdpbi5pbmMucGhwCTEgSnVsIDIwMDggMTk6NDQ6NDcgLTAwMDAJMS45CisrKyBwbHVnaW5z
L2Jsb2Nrcy9mb250U2l6ZS9Gb250U2l6ZUJsb2NrUGx1Z2luLmluYy5waHAJMjYgSmFuIDIwMDkg
MTk6Mzg6MzUgLTAwMDAKQEAgLTIzLDcgKzIzLDcgQEAKIAkJaWYgKCRzdWNjZXNzKSB7CiAJCQkk
dGhpcy0+YWRkTG9jYWxlRGF0YSgpOwogCQkJJHRlbXBsYXRlTWdyID0mIFRlbXBsYXRlTWFuYWdl
cjo6Z2V0TWFuYWdlcigpOwotCQkJJHRlbXBsYXRlTWdyLT5hc3NpZ24oJ2ZvbnRJY29uUGF0aCcs
ICd0ZW1wbGF0ZXMvaW1hZ2VzL2ljb25zJyk7CisJCQkkdGVtcGxhdGVNZ3ItPmFzc2lnbignZm9u
dEljb25QYXRoJywgJ2xpYi9wa3AvdGVtcGxhdGVzL2ltYWdlcy9pY29ucycpOwogCQkJJGFkZGl0
aW9uYWxIZWFkRGF0YSA9ICR0ZW1wbGF0ZU1nci0+Z2V0X3RlbXBsYXRlX3ZhcnMoJ2FkZGl0aW9u
YWxIZWFkRGF0YScpOwogCiAJCQkvLyBBZGQgZm9udCBzaXplciBqcyBhbmQgY3NzIGlmIG5vdCBh
bHJlYWR5IGluIGhlYWRlcgpJbmRleDogcGx1Z2lucy9ibG9ja3MvbmF2aWdhdGlvbi9ibG9jay50
cGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9vanMyL3BsdWdpbnMvYmxvY2tzL25hdmlnYXRp
b24vYmxvY2sudHBsLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjMKZGlmZiAtdSAtcjEuMyBibG9j
ay50cGwKLS0tIHBsdWdpbnMvYmxvY2tzL25hdmlnYXRpb24vYmxvY2sudHBsCTExIEp1biAyMDA4
IDE4OjU1OjA5IC0wMDAwCTEuMworKysgcGx1Z2lucy9ibG9ja3MvbmF2aWdhdGlvbi9ibG9jay50
cGwJMjYgSmFuIDIwMDkgMTk6Mzg6MzUgLTAwMDAKQEAgLTM4LDYgKzM4LDcgQEAKIAkJPGxpPjxh
IGhyZWY9Int1cmwgcGFnZT0ic2VhcmNoIiBvcD0idGl0bGVzIn0iPnt0cmFuc2xhdGUga2V5PSJu
YXZpZ2F0aW9uLmJyb3dzZUJ5VGl0bGUifTwvYT48L2xpPgogCQl7aWYgJGhhc090aGVySm91cm5h
bHN9CiAJCTxsaT48YSBocmVmPSJ7dXJsIGpvdXJuYWw9ImluZGV4In0iPnt0cmFuc2xhdGUga2V5
PSJuYXZpZ2F0aW9uLm90aGVySm91cm5hbHMifTwvYT48L2xpPgorCQk8bGk+PGEgaHJlZj0ie3Vy
bCBwYWdlPSJub3RpZmljYXRpb24ifSI+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5ub3Rp
ZmljYXRpb25zIn08L2E+PC9saT4KIAkJey9pZn0KIAk8L3VsPgogCXsvaWZ9CkluZGV4OiBwbHVn
aW5zL2Jsb2Nrcy91c2VyL1VzZXJCbG9ja1BsdWdpbi5pbmMucGhwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZp
bGU6IC9jdnMvb2pzMi9wbHVnaW5zL2Jsb2Nrcy91c2VyL1VzZXJCbG9ja1BsdWdpbi5pbmMucGhw
LHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjcKZGlmZiAtdSAtcjEuNyBVc2VyQmxvY2tQbHVnaW4u
aW5jLnBocAotLS0gcGx1Z2lucy9ibG9ja3MvdXNlci9Vc2VyQmxvY2tQbHVnaW4uaW5jLnBocAkx
IEp1bCAyMDA4IDAxOjE2OjEzIC0wMDAwCTEuNworKysgcGx1Z2lucy9ibG9ja3MvdXNlci9Vc2Vy
QmxvY2tQbHVnaW4uaW5jLnBocAkyNiBKYW4gMjAwOSAxOTozODozNSAtMDAwMApAQCAtNzcsOCAr
NzcsMTggQEAKIAlmdW5jdGlvbiBnZXRDb250ZW50cygmJHRlbXBsYXRlTWdyKSB7CiAJCWlmICgh
ZGVmaW5lZCgnU0VTU0lPTl9ESVNBQkxFX0lOSVQnKSkgewogCQkJJHNlc3Npb24gPSYgUmVxdWVz
dDo6Z2V0U2Vzc2lvbigpOworCQkJJHVzZXIgPSYgUmVxdWVzdDo6Z2V0VXNlcigpOworCQkJJGpv
dXJuYWwgPSYgUmVxdWVzdDo6Z2V0Sm91cm5hbCgpOworCQkJCisJCQlpZiAoJHVzZXIgJiYgJGpv
dXJuYWwpIHsKKwkJCQkkdXNlcklkID0gJHVzZXItPmdldFVzZXJJZCgpOworCQkJCSRub3RpZmlj
YXRpb25EYW8gPSYgREFPUmVnaXN0cnk6OmdldERBTygnTm90aWZpY2F0aW9uREFPJyk7CisJCQkJ
JHRlbXBsYXRlTWdyLT5hc3NpZ24oJ3VucmVhZE5vdGlmaWNhdGlvbnMnLCAgJG5vdGlmaWNhdGlv
bkRhby0+Z2V0VW5yZWFkTm90aWZpY2F0aW9uQ291bnQoJHVzZXJJZCkpOworCQkJfQorCQkJCiAJ
CQkkdGVtcGxhdGVNZ3ItPmFzc2lnbl9ieV9yZWYoJ3VzZXJTZXNzaW9uJywgJHNlc3Npb24pOwog
CQkJJHRlbXBsYXRlTWdyLT5hc3NpZ24oJ2xvZ2dlZEluVXNlcm5hbWUnLCAkc2Vzc2lvbi0+Z2V0
U2Vzc2lvblZhcigndXNlcm5hbWUnKSk7CisJCQkKIAkJfQogCQlyZXR1cm4gcGFyZW50OjpnZXRD
b250ZW50cygkdGVtcGxhdGVNZ3IpOwogCX0KSW5kZXg6IHBsdWdpbnMvYmxvY2tzL3VzZXIvYmxv
Y2sudHBsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvb2pzMi9wbHVnaW5zL2Jsb2Nrcy91c2Vy
L2Jsb2NrLnRwbCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40CmRpZmYgLXUgLXIxLjQgYmxvY2su
dHBsCi0tLSBwbHVnaW5zL2Jsb2Nrcy91c2VyL2Jsb2NrLnRwbAkxMyBKdW4gMjAwOCAxODoxNzo1
MiAtMDAwMAkxLjQKKysrIHBsdWdpbnMvYmxvY2tzL3VzZXIvYmxvY2sudHBsCTI2IEphbiAyMDA5
IDE5OjM4OjM1IC0wMDAwCkBAIC0yMyw2ICsyMywxMCBAQAogCQk8bGk+PGEgaHJlZj0ie3VybCBq
b3VybmFsPSJpbmRleCIgcGFnZT0idXNlciJ9Ij57dHJhbnNsYXRlIGtleT0icGx1Z2lucy5ibG9j
ay51c2VyLm15Sm91cm5hbHMifTwvYT48L2xpPgogCQl7L2lmfQogCQk8bGk+PGEgaHJlZj0ie3Vy
bCBwYWdlPSJ1c2VyIiBvcD0icHJvZmlsZSJ9Ij57dHJhbnNsYXRlIGtleT0icGx1Z2lucy5ibG9j
ay51c2VyLm15UHJvZmlsZSJ9PC9hPjwvbGk+CisJCXtpZiAkY3VycmVudEpvdXJuYWx9CisJCTxs
aT48YSBocmVmPSJ7dXJsIHBhZ2U9Im5vdGlmaWNhdGlvbiJ9Ij57dHJhbnNsYXRlIGtleT0ibm90
aWZpY2F0aW9uLm5vdGlmaWNhdGlvbnMifTwvYT4KKwkJCXtpZiAkdW5yZWFkTm90aWZpY2F0aW9u
cyA+IDB9e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5ub3RpZmljYXRpb25zTmV3IiBudW1O
ZXc9JHVucmVhZE5vdGlmaWNhdGlvbnN9ey9pZn08L2xpPgorCQl7L2lmfQogCQk8bGk+PGEgaHJl
Zj0ie3VybCBwYWdlPSJsb2dpbiIgb3A9InNpZ25PdXQifSI+e3RyYW5zbGF0ZSBrZXk9InBsdWdp
bnMuYmxvY2sudXNlci5sb2dvdXQifTwvYT48L2xpPgogCXtpZiAkdXNlclNlc3Npb24tPmdldFNl
c3Npb25WYXIoJ3NpZ25lZEluQXMnKX0KIAkJPGxpPjxhIGhyZWY9Int1cmwgcGFnZT0ibWFuYWdl
ciIgb3A9InNpZ25PdXRBc1VzZXIifSI+e3RyYW5zbGF0ZSBrZXk9InBsdWdpbnMuYmxvY2sudXNl
ci5zaWduT3V0QXNVc2VyIn08L2E+PC9saT4KSW5kZXg6IHN0eWxlcy9jb21tb24uY3NzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KUkNTIGZpbGU6IC9jdnMvb2pzMi9zdHlsZXMvY29tbW9uLmNzcyx2CnJldHJpZXZpbmcg
cmV2aXNpb24gMS43NApkaWZmIC11IC1yMS43NCBjb21tb24uY3NzCi0tLSBzdHlsZXMvY29tbW9u
LmNzcwkxNCBKYW4gMjAwOSAxOToxNToxNSAtMDAwMAkxLjc0CisrKyBzdHlsZXMvY29tbW9uLmNz
cwkyNiBKYW4gMjAwOSAxOTozODozNyAtMDAwMApAQCAtNjUxLDcgKzY1MSwxMyBAQAogCWZvbnQt
c2l6ZTogMWVtOwogfQogCi11bC5mb3JtRXJyb3JMaXN0IGEgeworc3Bhbi5mb3JtU3VjY2VzcyB7
CisJY29sb3I6ICMwOTA7CisJZm9udC13ZWlnaHQ6IGJvbGQ7CisJZm9udC1zaXplOiAxZW07Cit9
CisKK3VsLmZvcm1FcnJvckxpc3QgewogCWNvbG9yOiAjOTAwOwogfQogCkBAIC03NDIsMyArNzQ4
LDE0IEBACiAJd2lkdGg6IDUwNXB4OwogCXotaW5kZXg6MTsKIH0KKwordGQubm90aWZpY2F0aW9u
Q29udGVudCB7CisJcGFkZGluZy1sZWZ0OiA1cHg7CisJcGFkZGluZy1yaWdodDogNXB4OworfQor
Cit0ZC5ub3RpZmljYXRpb25GdW5jdGlvbiB7CisJcGFkZGluZy1sZWZ0OiA1cHg7CisJcGFkZGlu
Zy1yaWdodDogNXB4OworCXRleHQtYWxpZ246IHJpZ2h0OworfQpJbmRleDogdGVtcGxhdGVzL2Fy
dGljbGUvYXJ0aWNsZS50cGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9vanMyL3RlbXBsYXRl
cy9hcnRpY2xlL2FydGljbGUudHBsLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjYzCmRpZmYgLXUg
LXIxLjYzIGFydGljbGUudHBsCi0tLSB0ZW1wbGF0ZXMvYXJ0aWNsZS9hcnRpY2xlLnRwbAkyNiBO
b3YgMjAwOCAwMDoyNDo1NyAtMDAwMAkxLjYzCisrKyB0ZW1wbGF0ZXMvYXJ0aWNsZS9hcnRpY2xl
LnRwbAkyNiBKYW4gMjAwOSAxOTozODozNyAtMDAwMApAQCAtMTUsOSArMTUsOSBAQAogCQk8ZGl2
IGlkPSJ0b3BCYXIiPgogCQkJPGRpdiBpZD0iYXJ0aWNsZUZvbnRTaXplIj4KIAkJCQl7dHJhbnNs
YXRlIGtleT0iYXJ0aWNsZS5mb250U2l6ZSJ9OiZuYnNwOwotCQkJCTxhIGhyZWY9IiMiIG9uY2xp
Y2s9InNldEZvbnRTaXplKCd7dHJhbnNsYXRlfGVzY2FwZToianNwYXJhbSIga2V5PSJhcnRpY2xl
LmZvbnRTaXplLnNtYWxsLmFsdFRleHQifScpOyIgY2xhc3M9Imljb24iPntpY29uIHBhdGg9InRl
bXBsYXRlcy9pbWFnZXMvaWNvbnMvIiBuYW1lPSJmb250X3NtYWxsIn08L2E+Jm5ic3A7Ci0JCQkJ
PGEgaHJlZj0iIyIgb25jbGljaz0ic2V0Rm9udFNpemUoJ3t0cmFuc2xhdGV8ZXNjYXBlOiJqc3Bh
cmFtIiBrZXk9ImFydGljbGUuZm9udFNpemUubWVkaXVtLmFsdFRleHQifScpOyIgY2xhc3M9Imlj
b24iPntpY29uIHBhdGg9InRlbXBsYXRlcy9pbWFnZXMvaWNvbnMvIiBuYW1lPSJmb250X21lZGl1
bSJ9PC9hPiZuYnNwOwotCQkJCTxhIGhyZWY9IiMiIG9uY2xpY2s9InNldEZvbnRTaXplKCd7dHJh
bnNsYXRlfGVzY2FwZToianNwYXJhbSIga2V5PSJhcnRpY2xlLmZvbnRTaXplLmxhcmdlLmFsdFRl
eHQifScpOyIgY2xhc3M9Imljb24iPntpY29uIHBhdGg9InRlbXBsYXRlcy9pbWFnZXMvaWNvbnMv
IiBuYW1lPSJmb250X2xhcmdlIn08L2E+CisJCQkJPGEgaHJlZj0iIyIgb25jbGljaz0ic2V0Rm9u
dFNpemUoJ3t0cmFuc2xhdGV8ZXNjYXBlOiJqc3BhcmFtIiBrZXk9ImFydGljbGUuZm9udFNpemUu
c21hbGwuYWx0VGV4dCJ9Jyk7IiBjbGFzcz0iaWNvbiI+e2ljb24gcGF0aD0ibGliL3BrcC90ZW1w
bGF0ZXMvaW1hZ2VzL2ljb25zLyIgbmFtZT0iZm9udF9zbWFsbCJ9PC9hPiZuYnNwOworCQkJCTxh
IGhyZWY9IiMiIG9uY2xpY2s9InNldEZvbnRTaXplKCd7dHJhbnNsYXRlfGVzY2FwZToianNwYXJh
bSIga2V5PSJhcnRpY2xlLmZvbnRTaXplLm1lZGl1bS5hbHRUZXh0In0nKTsiIGNsYXNzPSJpY29u
Ij57aWNvbiBwYXRoPSJsaWIvcGtwL3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMvIiBuYW1lPSJmb250
X21lZGl1bSJ9PC9hPiZuYnNwOworCQkJCTxhIGhyZWY9IiMiIG9uY2xpY2s9InNldEZvbnRTaXpl
KCd7dHJhbnNsYXRlfGVzY2FwZToianNwYXJhbSIga2V5PSJhcnRpY2xlLmZvbnRTaXplLmxhcmdl
LmFsdFRleHQifScpOyIgY2xhc3M9Imljb24iPntpY29uIHBhdGg9ImxpYi9wa3AvdGVtcGxhdGVz
L2ltYWdlcy9pY29ucy8iIG5hbWU9ImZvbnRfbGFyZ2UifTwvYT4KIAkJCTwvZGl2PgogCQk8L2Rp
dj4KIAkJeyRnYWxsZXktPmdldEhUTUxDb250ZW50cygpfQpAQCAtMjcsOSArMjcsOSBAQAogCQl7
YXNzaWduIHZhcj1nYWxsZXlzIHZhbHVlPSRhcnRpY2xlLT5nZXRMb2NhbGl6ZWRHYWxsZXlzKCl9
CiAJCXtpZiAkZ2FsbGV5cyAmJiAkc3Vic2NyaXB0aW9uUmVxdWlyZWQgJiYgJHNob3dHYWxsZXlM
aW5rc30KIAkJCTxkaXYgaWQ9ImFjY2Vzc0tleSI+Ci0JCQkJPGltZyBzcmM9InskYmFzZVVybH0v
dGVtcGxhdGVzL2ltYWdlcy9pY29ucy9mdWxsdGV4dF9vcGVuX21lZGl1bS5naWYiIGFsdD0ie3Ry
YW5zbGF0ZSBrZXk9ImFydGljbGUuYWNjZXNzTG9nb09wZW4uYWx0VGV4dCJ9IiAvPgorCQkJCTxp
bWcgc3JjPSJ7JGJhc2VVcmx9L2xpYi9wa3AvdGVtcGxhdGVzL2ltYWdlcy9pY29ucy9mdWxsdGV4
dF9vcGVuX21lZGl1bS5naWYiIGFsdD0ie3RyYW5zbGF0ZSBrZXk9ImFydGljbGUuYWNjZXNzTG9n
b09wZW4uYWx0VGV4dCJ9IiAvPgogCQkJCXt0cmFuc2xhdGUga2V5PSJyZWFkZXIub3BlbkFjY2Vz
cyJ9Jm5ic3A7Ci0JCQkJPGltZyBzcmM9InskYmFzZVVybH0vdGVtcGxhdGVzL2ltYWdlcy9pY29u
cy9mdWxsdGV4dF9yZXN0cmljdGVkX21lZGl1bS5naWYiIGFsdD0ie3RyYW5zbGF0ZSBrZXk9ImFy
dGljbGUuYWNjZXNzTG9nb1Jlc3RyaWN0ZWQuYWx0VGV4dCJ9IiAvPgorCQkJCTxpbWcgc3JjPSJ7
JGJhc2VVcmx9L2xpYi9wa3AvdGVtcGxhdGVzL2ltYWdlcy9pY29ucy9mdWxsdGV4dF9yZXN0cmlj
dGVkX21lZGl1bS5naWYiIGFsdD0ie3RyYW5zbGF0ZSBrZXk9ImFydGljbGUuYWNjZXNzTG9nb1Jl
c3RyaWN0ZWQuYWx0VGV4dCJ9IiAvPgogCQkJCXtpZiAkcHVyY2hhc2VBcnRpY2xlRW5hYmxlZH0K
IAkJCQkJe3RyYW5zbGF0ZSBrZXk9InJlYWRlci5zdWJzY3JpcHRpb25PckZlZUFjY2VzcyJ9CiAJ
CQkJe2Vsc2V9CkBAIC0zOSw5ICszOSw5IEBACiAJCXsvaWZ9CiAJCTxkaXYgaWQ9ImFydGljbGVG
b250U2l6ZSI+CiAJCQkJe3RyYW5zbGF0ZSBrZXk9ImFydGljbGUuZm9udFNpemUifTombmJzcDsK
LQkJCTxhIGhyZWY9IiMiIG9uY2xpY2s9InNldEZvbnRTaXplKCd7dHJhbnNsYXRlfGVzY2FwZToi
anNwYXJhbSIga2V5PSJhcnRpY2xlLmZvbnRTaXplLnNtYWxsLmFsdFRleHQifScpOyIgY2xhc3M9
Imljb24iPntpY29uIHBhdGg9InRlbXBsYXRlcy9pbWFnZXMvaWNvbnMvIiBuYW1lPSJmb250X3Nt
YWxsIn08L2E+Jm5ic3A7Ci0JCQk8YSBocmVmPSIjIiBvbmNsaWNrPSJzZXRGb250U2l6ZSgne3Ry
YW5zbGF0ZXxlc2NhcGU6ImpzcGFyYW0iIGtleT0iYXJ0aWNsZS5mb250U2l6ZS5tZWRpdW0uYWx0
VGV4dCJ9Jyk7IiBjbGFzcz0iaWNvbiI+e2ljb24gcGF0aD0idGVtcGxhdGVzL2ltYWdlcy9pY29u
cy8iIG5hbWU9ImZvbnRfbWVkaXVtIn08L2E+Jm5ic3A7Ci0JCQk8YSBocmVmPSIjIiBvbmNsaWNr
PSJzZXRGb250U2l6ZSgne3RyYW5zbGF0ZXxlc2NhcGU6ImpzcGFyYW0iIGtleT0iYXJ0aWNsZS5m
b250U2l6ZS5sYXJnZS5hbHRUZXh0In0nKTsiIGNsYXNzPSJpY29uIj57aWNvbiBwYXRoPSJ0ZW1w
bGF0ZXMvaW1hZ2VzL2ljb25zLyIgbmFtZT0iZm9udF9sYXJnZSJ9PC9hPgorCQkJPGEgaHJlZj0i
IyIgb25jbGljaz0ic2V0Rm9udFNpemUoJ3t0cmFuc2xhdGV8ZXNjYXBlOiJqc3BhcmFtIiBrZXk9
ImFydGljbGUuZm9udFNpemUuc21hbGwuYWx0VGV4dCJ9Jyk7IiBjbGFzcz0iaWNvbiI+e2ljb24g
cGF0aD0ibGliL3BrcC90ZW1wbGF0ZXMvaW1hZ2VzL2ljb25zLyIgbmFtZT0iZm9udF9zbWFsbCJ9
PC9hPiZuYnNwOworCQkJPGEgaHJlZj0iIyIgb25jbGljaz0ic2V0Rm9udFNpemUoJ3t0cmFuc2xh
dGV8ZXNjYXBlOiJqc3BhcmFtIiBrZXk9ImFydGljbGUuZm9udFNpemUubWVkaXVtLmFsdFRleHQi
fScpOyIgY2xhc3M9Imljb24iPntpY29uIHBhdGg9ImxpYi9wa3AvdGVtcGxhdGVzL2ltYWdlcy9p
Y29ucy8iIG5hbWU9ImZvbnRfbWVkaXVtIn08L2E+Jm5ic3A7CisJCQk8YSBocmVmPSIjIiBvbmNs
aWNrPSJzZXRGb250U2l6ZSgne3RyYW5zbGF0ZXxlc2NhcGU6ImpzcGFyYW0iIGtleT0iYXJ0aWNs
ZS5mb250U2l6ZS5sYXJnZS5hbHRUZXh0In0nKTsiIGNsYXNzPSJpY29uIj57aWNvbiBwYXRoPSJs
aWIvcGtwL3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMvIiBuYW1lPSJmb250X2xhcmdlIn08L2E+CiAJ
CTwvZGl2PgogCTwvZGl2PgogCXtpZiAkY292ZXJQYWdlUGF0aH0KQEAgLTcxLDE3ICs3MSwxNyBA
QAogCQkJCTxhIGhyZWY9Int1cmwgcGFnZT0iYXJ0aWNsZSIgb3A9InZpZXciIHBhdGg9JGFydGlj
bGUtPmdldEJlc3RBcnRpY2xlSWQoJGN1cnJlbnRKb3VybmFsKXx0b19hcnJheTokZ2FsbGV5LT5n
ZXRCZXN0R2FsbGV5SWQoJGN1cnJlbnRKb3VybmFsKX0iIGNsYXNzPSJmaWxlIiB0YXJnZXQ9Il9w
YXJlbnQiPnskZ2FsbGV5LT5nZXRHYWxsZXlMYWJlbCgpfGVzY2FwZX08L2E+CiAJCQkJe2lmICRz
dWJzY3JpcHRpb25SZXF1aXJlZCAmJiAkc2hvd0dhbGxleUxpbmtzICYmICRyZXN0cmljdE9ubHlQ
ZGZ9CiAJCQkJCXtpZiAkYXJ0aWNsZS0+Z2V0QWNjZXNzU3RhdHVzKCkgfHwgISRnYWxsZXktPmlz
UGRmR2FsbGV5KCl9CQotCQkJCQkJPGltZyBjbGFzcz0iYWNjZXNzTG9nbyIgc3JjPSJ7JGJhc2VV
cmx9L3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMvZnVsbHRleHRfb3Blbl9tZWRpdW0uZ2lmIiBhbHQ9
Int0cmFuc2xhdGUga2V5PSJhcnRpY2xlLmFjY2Vzc0xvZ29PcGVuLmFsdFRleHQifSIgLz4KKwkJ
CQkJCTxpbWcgY2xhc3M9ImFjY2Vzc0xvZ28iIHNyYz0ieyRiYXNlVXJsfS9saWIvcGtwL3RlbXBs
YXRlcy9pbWFnZXMvaWNvbnMvZnVsbHRleHRfb3Blbl9tZWRpdW0uZ2lmIiBhbHQ9Int0cmFuc2xh
dGUga2V5PSJhcnRpY2xlLmFjY2Vzc0xvZ29PcGVuLmFsdFRleHQifSIgLz4KIAkJCQkJe2Vsc2V9
Ci0JCQkJCQk8aW1nIGNsYXNzPSJhY2Nlc3NMb2dvIiBzcmM9InskYmFzZVVybH0vdGVtcGxhdGVz
L2ltYWdlcy9pY29ucy9mdWxsdGV4dF9yZXN0cmljdGVkX21lZGl1bS5naWYiIGFsdD0ie3RyYW5z
bGF0ZSBrZXk9ImFydGljbGUuYWNjZXNzTG9nb1Jlc3RyaWN0ZWQuYWx0VGV4dCJ9IiAvPgorCQkJ
CQkJPGltZyBjbGFzcz0iYWNjZXNzTG9nbyIgc3JjPSJ7JGJhc2VVcmx9L2xpYi9wa3AvdGVtcGxh
dGVzL2ltYWdlcy9pY29ucy9mdWxsdGV4dF9yZXN0cmljdGVkX21lZGl1bS5naWYiIGFsdD0ie3Ry
YW5zbGF0ZSBrZXk9ImFydGljbGUuYWNjZXNzTG9nb1Jlc3RyaWN0ZWQuYWx0VGV4dCJ9IiAvPgog
CQkJCQl7L2lmfQogCQkJCXsvaWZ9CiAJCQl7L2ZvcmVhY2h9CiAJCQl7aWYgJHN1YnNjcmlwdGlv
blJlcXVpcmVkICYmICRzaG93R2FsbGV5TGlua3MgJiYgISRyZXN0cmljdE9ubHlQZGZ9CiAJCQkJ
e2lmICRhcnRpY2xlLT5nZXRBY2Nlc3NTdGF0dXMoKX0KLQkJCQkJPGltZyBjbGFzcz0iYWNjZXNz
TG9nbyIgc3JjPSJ7JGJhc2VVcmx9L3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMvZnVsbHRleHRfb3Bl
bl9tZWRpdW0uZ2lmIiBhbHQ9Int0cmFuc2xhdGUga2V5PSJhcnRpY2xlLmFjY2Vzc0xvZ29PcGVu
LmFsdFRleHQifSIgLz4KKwkJCQkJPGltZyBjbGFzcz0iYWNjZXNzTG9nbyIgc3JjPSJ7JGJhc2VV
cmx9L2xpYi9wa3AvdGVtcGxhdGVzL2ltYWdlcy9pY29ucy9mdWxsdGV4dF9vcGVuX21lZGl1bS5n
aWYiIGFsdD0ie3RyYW5zbGF0ZSBrZXk9ImFydGljbGUuYWNjZXNzTG9nb09wZW4uYWx0VGV4dCJ9
IiAvPgogCQkJCXtlbHNlfQotCQkJCQk8aW1nIGNsYXNzPSJhY2Nlc3NMb2dvIiBzcmM9InskYmFz
ZVVybH0vdGVtcGxhdGVzL2ltYWdlcy9pY29ucy9mdWxsdGV4dF9yZXN0cmljdGVkX21lZGl1bS5n
aWYiIGFsdD0ie3RyYW5zbGF0ZSBrZXk9ImFydGljbGUuYWNjZXNzTG9nb1Jlc3RyaWN0ZWQuYWx0
VGV4dCJ9IiAvPgorCQkJCQk8aW1nIGNsYXNzPSJhY2Nlc3NMb2dvIiBzcmM9InskYmFzZVVybH0v
bGliL3BrcC90ZW1wbGF0ZXMvaW1hZ2VzL2ljb25zL2Z1bGx0ZXh0X3Jlc3RyaWN0ZWRfbWVkaXVt
LmdpZiIgYWx0PSJ7dHJhbnNsYXRlIGtleT0iYXJ0aWNsZS5hY2Nlc3NMb2dvUmVzdHJpY3RlZC5h
bHRUZXh0In0iIC8+CiAJCQkJey9pZn0KIAkJCXsvaWZ9CQkJCQkKIAkJe2Vsc2V9CkluZGV4OiB0
ZW1wbGF0ZXMvZWRpdG9yL25vdGlmeVVzZXJzLnRwbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3Zz
L29qczIvdGVtcGxhdGVzL2VkaXRvci9ub3RpZnlVc2Vycy50cGwsdgpyZXRyaWV2aW5nIHJldmlz
aW9uIDEuMTUKZGlmZiAtdSAtcjEuMTUgbm90aWZ5VXNlcnMudHBsCi0tLSB0ZW1wbGF0ZXMvZWRp
dG9yL25vdGlmeVVzZXJzLnRwbAkxMSBBdWcgMjAwOCAyMTozNTozNSAtMDAwMAkxLjE1CisrKyB0
ZW1wbGF0ZXMvZWRpdG9yL25vdGlmeVVzZXJzLnRwbAkyNiBKYW4gMjAwOSAxOTozODozNyAtMDAw
MApAQCAtNDEsMjggKzQxLDYgQEAKIAk8YnIvPgogey9pZn0KIAotPGgzPnt0cmFuc2xhdGUga2V5
PSJlbWFpbC5yZWNpcGllbnRzIn08L2gzPgotPHRhYmxlIGNsYXNzPSJkYXRhIiB3aWR0aD0iMTAw
JSI+Ci08dHIgdmFsaWduPSJ0b3AiPgotCTx0ZCB3aWR0aD0iNSUiPgotCQk8aW5wdXQgY2hlY2tl
ZCB0eXBlPSJyYWRpbyIgbmFtZT0id2hpY2hVc2VycyIgaWQ9ImludGVyZXN0ZWRVc2VycyIgdmFs
dWU9ImludGVyZXN0ZWRVc2VycyIvPgotCTwvdGQ+Ci0JPHRkIHdpZHRoPSI3NSUiIGNsYXNzPSJs
YWJlbCI+Ci0JCTxsYWJlbCBmb3I9ImludGVyZXN0ZWRVc2VycyI+e3RyYW5zbGF0ZSBrZXk9ImVk
aXRvci5ub3RpZnlVc2Vycy5pbnRlcmVzdGVkVXNlcnMiIGNvdW50PSRub3RpZmlhYmxlQ291bnR9
PC9sYWJlbD4KLQk8L3RkPgotPC90cj4KLTx0ciB2YWxpZ249InRvcCI+Ci0JPHRkIHdpZHRoPSI1
JSI+Ci0JCTxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9ImFsbFVzZXJzIiBuYW1lPSJ3aGljaFVzZXJz
IiB2YWx1ZT0iYWxsVXNlcnMiLz4KLQk8L3RkPgotCTx0ZCB3aWR0aD0iOTUlIiBjbGFzcz0ibGFi
ZWwiPgotCQk8bGFiZWwgZm9yPSJhbGxVc2VycyI+e3RyYW5zbGF0ZSBrZXk9ImVkaXRvci5ub3Rp
ZnlVc2Vycy5hbGxVc2VycyIgY291bnQ9JGFsbFVzZXJzQ291bnR9PC9sYWJlbD4KLQk8L3RkPgot
PC90cj4KLTwvdGFibGU+Ci0KLTxici8+Ci0KIDxoMz57dHJhbnNsYXRlIGtleT0iaXNzdWUuaXNz
dWUifTwvaDM+CiA8dGFibGUgY2xhc3M9ImRhdGEiIHdpZHRoPSIxMDAlIj4KIDx0ciB2YWxpZ249
InRvcCI+CkluZGV4OiB0ZW1wbGF0ZXMvaXNzdWUvaXNzdWUudHBsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZp
bGU6IC9jdnMvb2pzMi90ZW1wbGF0ZXMvaXNzdWUvaXNzdWUudHBsLHYKcmV0cmlldmluZyByZXZp
c2lvbiAxLjQyCmRpZmYgLXUgLXIxLjQyIGlzc3VlLnRwbAotLS0gdGVtcGxhdGVzL2lzc3VlL2lz
c3VlLnRwbAkyMCBKdW4gMjAwOCAwODowODozNCAtMDAwMAkxLjQyCisrKyB0ZW1wbGF0ZXMvaXNz
dWUvaXNzdWUudHBsCTI2IEphbiAyMDA5IDE5OjM4OjM4IC0wMDAwCkBAIC00NCwxNyArNDQsMTcg
QEAKIAkJCQk8YSBocmVmPSJ7dXJsIHBhZ2U9ImFydGljbGUiIG9wPSJ2aWV3IiBwYXRoPSRhcnRp
Y2xlLT5nZXRCZXN0QXJ0aWNsZUlkKCRjdXJyZW50Sm91cm5hbCl8dG9fYXJyYXk6JGdhbGxleS0+
Z2V0QmVzdEdhbGxleUlkKCRjdXJyZW50Sm91cm5hbCl9IiBjbGFzcz0iZmlsZSI+eyRnYWxsZXkt
PmdldEdhbGxleUxhYmVsKCl8ZXNjYXBlfTwvYT4KIAkJCQl7aWYgJHN1YnNjcmlwdGlvblJlcXVp
cmVkICYmICRzaG93R2FsbGV5TGlua3MgJiYgJHJlc3RyaWN0T25seVBkZn0KIAkJCQkJe2lmICRh
cnRpY2xlLT5nZXRBY2Nlc3NTdGF0dXMoKSB8fCAhJGdhbGxleS0+aXNQZGZHYWxsZXkoKX0JCi0J
CQkJCQk8aW1nIGNsYXNzPSJhY2Nlc3NMb2dvIiBzcmM9InskYmFzZVVybH0vdGVtcGxhdGVzL2lt
YWdlcy9pY29ucy9mdWxsdGV4dF9vcGVuX21lZGl1bS5naWYiIGFsdD0ie3RyYW5zbGF0ZSBrZXk9
ImFydGljbGUuYWNjZXNzTG9nb09wZW4uYWx0VGV4dCJ9IiAvPgorCQkJCQkJPGltZyBjbGFzcz0i
YWNjZXNzTG9nbyIgc3JjPSJ7JGJhc2VVcmx9L2xpYi9wa3AvdGVtcGxhdGVzL2ltYWdlcy9pY29u
cy9mdWxsdGV4dF9vcGVuX21lZGl1bS5naWYiIGFsdD0ie3RyYW5zbGF0ZSBrZXk9ImFydGljbGUu
YWNjZXNzTG9nb09wZW4uYWx0VGV4dCJ9IiAvPgogCQkJCQl7ZWxzZX0KLQkJCQkJCTxpbWcgY2xh
c3M9ImFjY2Vzc0xvZ28iIHNyYz0ieyRiYXNlVXJsfS90ZW1wbGF0ZXMvaW1hZ2VzL2ljb25zL2Z1
bGx0ZXh0X3Jlc3RyaWN0ZWRfbWVkaXVtLmdpZiIgYWx0PSJ7dHJhbnNsYXRlIGtleT0iYXJ0aWNs
ZS5hY2Nlc3NMb2dvUmVzdHJpY3RlZC5hbHRUZXh0In0iIC8+CisJCQkJCQk8aW1nIGNsYXNzPSJh
Y2Nlc3NMb2dvIiBzcmM9InskYmFzZVVybH0vbGliL3BrcC90ZW1wbGF0ZXMvaW1hZ2VzL2ljb25z
L2Z1bGx0ZXh0X3Jlc3RyaWN0ZWRfbWVkaXVtLmdpZiIgYWx0PSJ7dHJhbnNsYXRlIGtleT0iYXJ0
aWNsZS5hY2Nlc3NMb2dvUmVzdHJpY3RlZC5hbHRUZXh0In0iIC8+CiAJCQkJCXsvaWZ9CiAJCQkJ
ey9pZn0KIAkJCXsvZm9yZWFjaH0KIAkJCXtpZiAkc3Vic2NyaXB0aW9uUmVxdWlyZWQgJiYgJHNo
b3dHYWxsZXlMaW5rcyAmJiAhJHJlc3RyaWN0T25seVBkZn0KIAkJCQl7aWYgJGFydGljbGUtPmdl
dEFjY2Vzc1N0YXR1cygpfQotCQkJCQk8aW1nIGNsYXNzPSJhY2Nlc3NMb2dvIiBzcmM9InskYmFz
ZVVybH0vdGVtcGxhdGVzL2ltYWdlcy9pY29ucy9mdWxsdGV4dF9vcGVuX21lZGl1bS5naWYiIGFs
dD0ie3RyYW5zbGF0ZSBrZXk9ImFydGljbGUuYWNjZXNzTG9nb09wZW4uYWx0VGV4dCJ9IiAvPgor
CQkJCQk8aW1nIGNsYXNzPSJhY2Nlc3NMb2dvIiBzcmM9InskYmFzZVVybH0vbGliL3BrcC90ZW1w
bGF0ZXMvaW1hZ2VzL2ljb25zL2Z1bGx0ZXh0X29wZW5fbWVkaXVtLmdpZiIgYWx0PSJ7dHJhbnNs
YXRlIGtleT0iYXJ0aWNsZS5hY2Nlc3NMb2dvT3Blbi5hbHRUZXh0In0iIC8+CiAJCQkJe2Vsc2V9
Ci0JCQkJCTxpbWcgY2xhc3M9ImFjY2Vzc0xvZ28iIHNyYz0ieyRiYXNlVXJsfS90ZW1wbGF0ZXMv
aW1hZ2VzL2ljb25zL2Z1bGx0ZXh0X3Jlc3RyaWN0ZWRfbWVkaXVtLmdpZiIgYWx0PSJ7dHJhbnNs
YXRlIGtleT0iYXJ0aWNsZS5hY2Nlc3NMb2dvUmVzdHJpY3RlZC5hbHRUZXh0In0iIC8+CisJCQkJ
CTxpbWcgY2xhc3M9ImFjY2Vzc0xvZ28iIHNyYz0ieyRiYXNlVXJsfS9saWIvcGtwL3RlbXBsYXRl
cy9pbWFnZXMvaWNvbnMvZnVsbHRleHRfcmVzdHJpY3RlZF9tZWRpdW0uZ2lmIiBhbHQ9Int0cmFu
c2xhdGUga2V5PSJhcnRpY2xlLmFjY2Vzc0xvZ29SZXN0cmljdGVkLmFsdFRleHQifSIgLz4KIAkJ
CQl7L2lmfQogCQkJey9pZn0JCQkJCiAJCXsvaWZ9CkluZGV4OiB0ZW1wbGF0ZXMvaXNzdWUvdmll
dy50cGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9vanMyL3RlbXBsYXRlcy9pc3N1ZS92aWV3
LnRwbCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zMgpkaWZmIC11IC1yMS4zMiB2aWV3LnRwbAot
LS0gdGVtcGxhdGVzL2lzc3VlL3ZpZXcudHBsCTE5IEp1biAyMDA4IDE1OjU5OjQzIC0wMDAwCTEu
MzIKKysrIHRlbXBsYXRlcy9pc3N1ZS92aWV3LnRwbAkyNiBKYW4gMjAwOSAxOTozODozOCAtMDAw
MApAQCAtMTEsOSArMTEsOSBAQAogICp9CiB7aWYgJHN1YnNjcmlwdGlvblJlcXVpcmVkICYmICRz
aG93R2FsbGV5TGlua3MgJiYgJHNob3dUb2N9CiAJPGRpdiBpZD0iYWNjZXNzS2V5Ij4KLQkJPGlt
ZyBzcmM9InskYmFzZVVybH0vdGVtcGxhdGVzL2ltYWdlcy9pY29ucy9mdWxsdGV4dF9vcGVuX21l
ZGl1bS5naWYiIGFsdD0ie3RyYW5zbGF0ZSBrZXk9ImFydGljbGUuYWNjZXNzTG9nb09wZW4uYWx0
VGV4dCJ9IiAvPgorCQk8aW1nIHNyYz0ieyRiYXNlVXJsfS9saWIvcGtwL3RlbXBsYXRlcy9pbWFn
ZXMvaWNvbnMvZnVsbHRleHRfb3Blbl9tZWRpdW0uZ2lmIiBhbHQ9Int0cmFuc2xhdGUga2V5PSJh
cnRpY2xlLmFjY2Vzc0xvZ29PcGVuLmFsdFRleHQifSIgLz4KIAkJe3RyYW5zbGF0ZSBrZXk9InJl
YWRlci5vcGVuQWNjZXNzIn0mbmJzcDsKLQkJPGltZyBzcmM9InskYmFzZVVybH0vdGVtcGxhdGVz
L2ltYWdlcy9pY29ucy9mdWxsdGV4dF9yZXN0cmljdGVkX21lZGl1bS5naWYiIGFsdD0ie3RyYW5z
bGF0ZSBrZXk9ImFydGljbGUuYWNjZXNzTG9nb1Jlc3RyaWN0ZWQuYWx0VGV4dCJ9IiAvPgorCQk8
aW1nIHNyYz0ieyRiYXNlVXJsfS9saWIvcGtwL3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMvZnVsbHRl
eHRfcmVzdHJpY3RlZF9tZWRpdW0uZ2lmIiBhbHQ9Int0cmFuc2xhdGUga2V5PSJhcnRpY2xlLmFj
Y2Vzc0xvZ29SZXN0cmljdGVkLmFsdFRleHQifSIgLz4KIAkJe2lmICRwdXJjaGFzZUFydGljbGVF
bmFibGVkfQogCQkJe3RyYW5zbGF0ZSBrZXk9InJlYWRlci5zdWJzY3JpcHRpb25PckZlZUFjY2Vz
cyJ9CiAJCXtlbHNlfQpJbmRleDogdGVtcGxhdGVzL25vdGlmaWNhdGlvbi9zZXR0aW5ncy50cGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQpSQ1MgZmlsZTogdGVtcGxhdGVzL25vdGlmaWNhdGlvbi9zZXR0aW5ncy50cGwK
ZGlmZiAtTiB0ZW1wbGF0ZXMvbm90aWZpY2F0aW9uL3NldHRpbmdzLnRwbAotLS0gL2Rldi9udWxs
CTEgSmFuIDE5NzAgMDA6MDA6MDAgLTAwMDAKKysrIHRlbXBsYXRlcy9ub3RpZmljYXRpb24vc2V0
dGluZ3MudHBsCTI2IEphbiAyMDA5IDE5OjM4OjM4IC0wMDAwCkBAIC0wLDAgKzEsMjcyIEBACit7
KioKKyAqIGluZGV4LnRwbAorICoKKyAqIENvcHlyaWdodCAoYykgMjAwMC0yMDA4IEpvaG4gV2ls
bGluc2t5CisgKiBEaXN0cmlidXRlZCB1bmRlciB0aGUgR05VIEdQTCB2Mi4gRm9yIGZ1bGwgdGVy
bXMgc2VlIHRoZSBmaWxlIGRvY3MvQ09QWUlORy4KKyAqCisgKiBEaXNwbGF5cyB0aGUgbm90aWZp
Y2F0aW9uIHNldHRpbmdzIHBhZ2UgYW5kIHVuY2hlY2tzICAKKyAqCisgKn0KK3tzdHJpcH0KK3th
c3NpZ24gdmFyPSJwYWdlVGl0bGUiIHZhbHVlPSJub3RpZmljYXRpb24uc2V0dGluZ3MifQore2lu
Y2x1ZGUgZmlsZT0iY29tbW9uL2hlYWRlci50cGwifQorey9zdHJpcH0KKworPHA+e3RyYW5zbGF0
ZSBrZXk9Im5vdGlmaWNhdGlvbi5zZXR0aW5nc0Rlc2NyaXB0aW9uIn08L3A+CisKKzxmb3JtIGlk
PSJub3RpZmljYXRpb25TZXR0aW5ncyIgbWV0aG9kPSJwb3N0IiBhY3Rpb249Int1cmwgb3A9InNh
dmVTZXR0aW5ncyJ9Ij4KKworPCEtLSBTdWJtaXNzaW9uIGV2ZW50cyAtLT4KK3tpZiAhJGNhbk9u
bHlSZWFkICYmICEkY2FuT25seVJldmlld30KKzxoND57dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0
aW9uLnR5cGUuc3VibWlzc2lvbnMifTwvaDQ+CisKKzx1bD4KKwk8bGk+e3RyYW5zbGF0ZSBrZXk9
Im5vdGlmaWNhdGlvbi50eXBlLmFydGljbGVTdWJtaXR0ZWQiIHBhcmFtPSR0aXRsZVZhcn08L2xp
PgorCTx1bCBjbGFzcz0icGxhaW4iPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9ImNo
ZWNrYm94IiBuYW1lPSJub3RpZmljYXRpb25BcnRpY2xlU3VibWl0dGVkIntpZiAhJHNtYXJ0eS5j
b25zdC5OT1RJRklDQVRJT05fVFlQRV9BUlRJQ0xFX1NVQk1JVFRFRHxpbl9hcnJheTokbm90aWZp
Y2F0aW9uU2V0dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KKwkJCQl7dHJhbnNsYXRl
IGtleT0ibm90aWZpY2F0aW9uLmFsbG93In0KKwkJCTwvc3Bhbj48L2xpPgorCQk8bGk+PHNwYW4+
CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJlbWFpbE5vdGlmaWNhdGlvbkFydGlj
bGVTdWJtaXR0ZWQie2lmICRzbWFydHkuY29uc3QuTk9USUZJQ0FUSU9OX1RZUEVfQVJUSUNMRV9T
VUJNSVRURUR8aW5fYXJyYXk6JGVtYWlsU2V0dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0g
Lz4KKwkJCQl7dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLmVtYWlsIn0KKwkJCTwvc3Bhbj48
L2xpPgorCTwvdWw+Cis8L3VsPgorCQkJCis8dWw+CisJPGxpPnt0cmFuc2xhdGUga2V5PSJub3Rp
ZmljYXRpb24udHlwZS5tZXRhZGF0YU1vZGlmaWVkIiBwYXJhbT0kdGl0bGVWYXJ9PC9saT4KKwk8
dWwgY2xhc3M9InBsYWluIj4KKwkJPGxpPjxzcGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2Jv
eCIgbmFtZT0ibm90aWZpY2F0aW9uTWV0YWRhdGFNb2RpZmllZCJ7aWYgISRzbWFydHkuY29uc3Qu
Tk9USUZJQ0FUSU9OX1RZUEVfTUVUQURBVEFfTU9ESUZJRUR8aW5fYXJyYXk6JG5vdGlmaWNhdGlv
blNldHRpbmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0ZSBrZXk9
Im5vdGlmaWNhdGlvbi5hbGxvdyJ9CisJCQk8L3NwYW4+PC9saT4KKwkJPGxpPjxzcGFuPgorCQkJ
CTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZW1haWxOb3RpZmljYXRpb25NZXRhZGF0YU1v
ZGlmaWVkIntpZiAkc21hcnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX01FVEFEQVRBX01PRElG
SUVEfGluX2FycmF5OiRlbWFpbFNldHRpbmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CisJ
CQkJe3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5lbWFpbCJ9CisJCQk8L3NwYW4+PC9saT4K
Kwk8L3VsPgorPC91bD4JCisKKzx1bD4KKwk8bGk+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlv
bi50eXBlLnN1cHBGaWxlQWRkZWQiIHBhcmFtPSR0aXRsZVZhcn08L2xpPgorCTx1bCBjbGFzcz0i
cGxhaW4iPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJu
b3RpZmljYXRpb25TdXBwRmlsZUFkZGVkIntpZiAhJHNtYXJ0eS5jb25zdC5OT1RJRklDQVRJT05f
VFlQRV9TVVBQX0ZJTEVfQURERUR8aW5fYXJyYXk6JG5vdGlmaWNhdGlvblNldHRpbmdzfSBjaGVj
a2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5h
bGxvdyJ9CisJCQk8L3NwYW4+PC9saT4KKwkJPGxpPjxzcGFuPgorCQkJCTxpbnB1dCB0eXBlPSJj
aGVja2JveCIgbmFtZT0iZW1haWxOb3RpZmljYXRpb25TdXBwRmlsZUFkZGVkIntpZiAkc21hcnR5
LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX1NVUFBfRklMRV9BRERFRHxpbl9hcnJheTokZW1haWxT
ZXR0aW5nc30gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAvPgorCQkJCXt0cmFuc2xhdGUga2V5PSJu
b3RpZmljYXRpb24uZW1haWwifQorCQkJPC9zcGFuPjwvbGk+CisJPC91bD4KKzwvdWw+CisKKzx1
bD4KKwk8bGk+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLnN1cHBGaWxlTW9kaWZp
ZWQiIHBhcmFtPSR0aXRsZVZhcn08L2xpPgorCTx1bCBjbGFzcz0icGxhaW4iPgorCQk8bGk+PHNw
YW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJub3RpZmljYXRpb25TdXBwRmls
ZU1vZGlmaWVkIntpZiAhJHNtYXJ0eS5jb25zdC5OT1RJRklDQVRJT05fVFlQRV9TVVBQX0ZJTEVf
TU9ESUZJRUR8aW5fYXJyYXk6JG5vdGlmaWNhdGlvblNldHRpbmdzfSBjaGVja2VkPSJjaGVja2Vk
InsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5hbGxvdyJ9CisJCQk8
L3NwYW4+PC9saT4KKwkJPGxpPjxzcGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFt
ZT0iZW1haWxOb3RpZmljYXRpb25TdXBwRmlsZU1vZGlmaWVkIntpZiAkc21hcnR5LmNvbnN0Lk5P
VElGSUNBVElPTl9UWVBFX1NVUFBfRklMRV9NT0RJRklFRHxpbl9hcnJheTokZW1haWxTZXR0aW5n
c30gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAvPgorCQkJCXt0cmFuc2xhdGUga2V5PSJub3RpZmlj
YXRpb24uZW1haWwifQorCQkJPC9zcGFuPjwvbGk+CisJPC91bD4KKzwvdWw+CisKKzxiciAvPgor
Cis8IS0tIEVkaXRpbmcgZXZlbnRzIC0tPgorPGg0Pnt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRp
b24udHlwZS5lZGl0aW5nIn08L2g0PgorCis8dWw+CisJPGxpPnt0cmFuc2xhdGUga2V5PSJub3Rp
ZmljYXRpb24udHlwZS5nYWxsZXlBZGRlZCIgcGFyYW09JHRpdGxlVmFyfTwvbGk+CisJPHVsIGNs
YXNzPSJwbGFpbiI+CisJCTxsaT48c3Bhbj4KKwkJCQk8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5h
bWU9Im5vdGlmaWNhdGlvbkdhbGxleUFkZGVkIntpZiAhJHNtYXJ0eS5jb25zdC5OT1RJRklDQVRJ
T05fVFlQRV9HQUxMRVlfQURERUR8aW5fYXJyYXk6JG5vdGlmaWNhdGlvblNldHRpbmdzfSBjaGVj
a2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5h
bGxvdyJ9CisJCQk8L3NwYW4+PC9saT4KKwkJPGxpPjxzcGFuPgorCQkJCTxpbnB1dCB0eXBlPSJj
aGVja2JveCIgbmFtZT0iZW1haWxOb3RpZmljYXRpb25HYWxsZXlBZGRlZCJ7aWYgJHNtYXJ0eS5j
b25zdC5OT1RJRklDQVRJT05fVFlQRV9HQUxMRVlfQURERUR8aW5fYXJyYXk6JGVtYWlsU2V0dGlu
Z3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KKwkJCQl7dHJhbnNsYXRlIGtleT0ibm90aWZp
Y2F0aW9uLmVtYWlsIn0KKwkJCTwvc3Bhbj48L2xpPgorCTwvdWw+Cis8L3VsPgorCis8dWw+CisJ
PGxpPnt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24udHlwZS5nYWxsZXlNb2RpZmllZCIgcGFy
YW09JHRpdGxlVmFyfTwvbGk+CisJPHVsIGNsYXNzPSJwbGFpbiI+CisJCTxsaT48c3Bhbj4KKwkJ
CQk8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Im5vdGlmaWNhdGlvbkdhbGxleU1vZGlmaWVk
IntpZiAhJHNtYXJ0eS5jb25zdC5OT1RJRklDQVRJT05fVFlQRV9HQUxMRVlfTU9ESUZJRUR8aW5f
YXJyYXk6JG5vdGlmaWNhdGlvblNldHRpbmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CisJ
CQkJe3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5hbGxvdyJ9CisJCQk8L3NwYW4+PC9saT4K
KwkJPGxpPjxzcGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZW1haWxOb3Rp
ZmljYXRpb25HYWxsZXlNb2RpZmllZCJ7aWYgJHNtYXJ0eS5jb25zdC5OT1RJRklDQVRJT05fVFlQ
RV9HQUxMRVlfTU9ESUZJRUR8aW5fYXJyYXk6JGVtYWlsU2V0dGluZ3N9IGNoZWNrZWQ9ImNoZWNr
ZWQiey9pZn0gLz4KKwkJCQl7dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLmVtYWlsIn0KKwkJ
CTwvc3Bhbj48L2xpPgorCTwvdWw+Cis8L3VsPgorCis8dWw+CisJPGxpPnt0cmFuc2xhdGUga2V5
PSJub3RpZmljYXRpb24udHlwZS5zdWJtaXNzaW9uQ29tbWVudCIgcGFyYW09JHRpdGxlVmFyfTwv
bGk+CisJPHVsIGNsYXNzPSJwbGFpbiI+CisJCTxsaT48c3Bhbj4KKwkJCQk8aW5wdXQgdHlwZT0i
Y2hlY2tib3giIG5hbWU9Im5vdGlmaWNhdGlvblN1Ym1pc3Npb25Db21tZW50IntpZiAhJHNtYXJ0
eS5jb25zdC5OT1RJRklDQVRJT05fVFlQRV9TVUJNSVNTSU9OX0NPTU1FTlR8aW5fYXJyYXk6JG5v
dGlmaWNhdGlvblNldHRpbmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5z
bGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5hbGxvdyJ9CisJCQk8L3NwYW4+PC9saT4KKwkJPGxpPjxz
cGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZW1haWxOb3RpZmljYXRpb25T
dWJtaXNzaW9uQ29tbWVudCJ7aWYgJHNtYXJ0eS5jb25zdC5OT1RJRklDQVRJT05fVFlQRV9TVUJN
SVNTSU9OX0NPTU1FTlR8aW5fYXJyYXk6JGVtYWlsU2V0dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQi
ey9pZn0gLz4KKwkJCQl7dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLmVtYWlsIn0KKwkJCTwv
c3Bhbj48L2xpPgorCTwvdWw+Cis8L3VsPgorCis8dWw+CisJPGxpPnt0cmFuc2xhdGUga2V5PSJu
b3RpZmljYXRpb24udHlwZS5sYXlvdXRDb21tZW50IiBwYXJhbT0kdGl0bGVWYXJ9PC9saT4KKwk8
dWwgY2xhc3M9InBsYWluIj4KKwkJPGxpPjxzcGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2Jv
eCIgbmFtZT0ibm90aWZpY2F0aW9uTGF5b3V0Q29tbWVudCJ7aWYgISRzbWFydHkuY29uc3QuTk9U
SUZJQ0FUSU9OX1RZUEVfTEFZT1VUX0NPTU1FTlR8aW5fYXJyYXk6JG5vdGlmaWNhdGlvblNldHRp
bmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0ZSBrZXk9Im5vdGlm
aWNhdGlvbi5hbGxvdyJ9CisJCQk8L3NwYW4+PC9saT4KKwkJPGxpPjxzcGFuPgorCQkJCTxpbnB1
dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZW1haWxOb3RpZmljYXRpb25MYXlvdXRDb21tZW50Intp
ZiAkc21hcnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX0xBWU9VVF9DT01NRU5UfGluX2FycmF5
OiRlbWFpbFNldHRpbmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0
ZSBrZXk9Im5vdGlmaWNhdGlvbi5lbWFpbCJ9CisJCQk8L3NwYW4+PC9saT4KKwk8L3VsPgorPC91
bD4KKworPHVsPgorCTxsaT57dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLnR5cGUuY29weWVk
aXRDb21tZW50IiBwYXJhbT0kdGl0bGVWYXJ9PC9saT4KKwk8dWwgY2xhc3M9InBsYWluIj4KKwkJ
PGxpPjxzcGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibm90aWZpY2F0aW9u
Q29weWVkaXRDb21tZW50IntpZiAhJHNtYXJ0eS5jb25zdC5OT1RJRklDQVRJT05fVFlQRV9DT1BZ
RURJVF9DT01NRU5UfGluX2FycmF5OiRub3RpZmljYXRpb25TZXR0aW5nc30gY2hlY2tlZD0iY2hl
Y2tlZCJ7L2lmfSAvPgorCQkJCXt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24uYWxsb3cifQor
CQkJPC9zcGFuPjwvbGk+CisJCTxsaT48c3Bhbj4KKwkJCQk8aW5wdXQgdHlwZT0iY2hlY2tib3gi
IG5hbWU9ImVtYWlsTm90aWZpY2F0aW9uQ29weWVkaXRDb21tZW50IntpZiAkc21hcnR5LmNvbnN0
Lk5PVElGSUNBVElPTl9UWVBFX0NPUFlFRElUX0NPTU1FTlR8aW5fYXJyYXk6JGVtYWlsU2V0dGlu
Z3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KKwkJCQl7dHJhbnNsYXRlIGtleT0ibm90aWZp
Y2F0aW9uLmVtYWlsIn0KKwkJCTwvc3Bhbj48L2xpPgorCTwvdWw+Cis8L3VsPgorCis8dWw+CisJ
PGxpPnt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24udHlwZS5wcm9vZnJlYWRDb21tZW50IiBw
YXJhbT0kdGl0bGVWYXJ9PC9saT4KKwk8dWwgY2xhc3M9InBsYWluIj4KKwkJPGxpPjxzcGFuPgor
CQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibm90aWZpY2F0aW9uUHJvb2ZyZWFkQ29t
bWVudCJ7aWYgISRzbWFydHkuY29uc3QuTk9USUZJQ0FUSU9OX1RZUEVfUFJPT0ZSRUFEX0NPTU1F
TlR8aW5fYXJyYXk6JG5vdGlmaWNhdGlvblNldHRpbmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9
IC8+CisJCQkJe3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5hbGxvdyJ9CisJCQk8L3NwYW4+
PC9saT4KKwkJPGxpPjxzcGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZW1h
aWxOb3RpZmljYXRpb25Qcm9vZnJlYWRDb21tZW50IntpZiAkc21hcnR5LmNvbnN0Lk5PVElGSUNB
VElPTl9UWVBFX1BST09GUkVBRF9DT01NRU5UfGluX2FycmF5OiRlbWFpbFNldHRpbmdzfSBjaGVj
a2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5l
bWFpbCJ9CisJCQk8L3NwYW4+PC9saT4KKwk8L3VsPgorPC91bD4KKworPGJyIC8+Cit7L2lmfQor
Cit7aWYgISRjYW5Pbmx5UmVhZH0KKzwhLS0gUmV2aWV3aW5nIGV2ZW50cyAtLT4KKzxoND57dHJh
bnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLnR5cGUucmV2aWV3aW5nIn08L2g0PgorCisKKzx1bD4K
Kwk8bGk+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLnJldmlld2VyQ29tbWVudCIg
cGFyYW09JHRpdGxlVmFyfTwvbGk+CisJPHVsIGNsYXNzPSJwbGFpbiI+CisJCTxsaT48c3Bhbj4K
KwkJCQk8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Im5vdGlmaWNhdGlvblJldmlld2VyQ29t
bWVudCJ7aWYgISRzbWFydHkuY29uc3QuTk9USUZJQ0FUSU9OX1RZUEVfUkVWSUVXRVJfQ09NTUVO
VHxpbl9hcnJheTokbm90aWZpY2F0aW9uU2V0dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0g
Lz4KKwkJCQl7dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLmFsbG93In0KKwkJCTwvc3Bhbj48
L2xpPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJlbWFp
bE5vdGlmaWNhdGlvblJldmlld2VyQ29tbWVudCJ7aWYgJHNtYXJ0eS5jb25zdC5OT1RJRklDQVRJ
T05fVFlQRV9SRVZJRVdFUl9DT01NRU5UfGluX2FycmF5OiRlbWFpbFNldHRpbmdzfSBjaGVja2Vk
PSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5lbWFp
bCJ9CisJCQk8L3NwYW4+PC9saT4KKwk8L3VsPgorPC91bD4KKworPHVsPgorCTxsaT57dHJhbnNs
YXRlIGtleT0ibm90aWZpY2F0aW9uLnR5cGUucmV2aWV3ZXJGb3JtQ29tbWVudCIgcGFyYW09JHRp
dGxlVmFyfTwvbGk+CisJPHVsIGNsYXNzPSJwbGFpbiI+CisJCTxsaT48c3Bhbj4KKwkJCQk8aW5w
dXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Im5vdGlmaWNhdGlvblJldmlld2VyRm9ybUNvbW1lbnQi
e2lmICEkc21hcnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX1JFVklFV0VSX0ZPUk1fQ09NTUVO
VHxpbl9hcnJheTokbm90aWZpY2F0aW9uU2V0dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0g
Lz4KKwkJCQl7dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLmFsbG93In0KKwkJCTwvc3Bhbj48
L2xpPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJlbWFp
bE5vdGlmaWNhdGlvblJldmlld2VyRm9ybUNvbW1lbnQie2lmICRzbWFydHkuY29uc3QuTk9USUZJ
Q0FUSU9OX1RZUEVfUkVWSUVXRVJfRk9STV9DT01NRU5UfGluX2FycmF5OiRlbWFpbFNldHRpbmdz
fSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNh
dGlvbi5lbWFpbCJ9CisJCQk8L3NwYW4+PC9saT4KKwk8L3VsPgorPC91bD4KKworPHVsPgorCTxs
aT57dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLnR5cGUuZWRpdG9yRGVjaXNpb25Db21tZW50
IiBwYXJhbT0kdGl0bGVWYXJ9PC9saT4KKwk8dWwgY2xhc3M9InBsYWluIj4KKwkJPGxpPjxzcGFu
PgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibm90aWZpY2F0aW9uRWRpdG9yRGVj
aXNpb25Db21tZW50IntpZiAhJHNtYXJ0eS5jb25zdC5OT1RJRklDQVRJT05fVFlQRV9FRElUT1Jf
REVDSVNJT05fQ09NTUVOVHxpbl9hcnJheTokbm90aWZpY2F0aW9uU2V0dGluZ3N9IGNoZWNrZWQ9
ImNoZWNrZWQiey9pZn0gLz4KKwkJCQl7dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLmFsbG93
In0KKwkJCTwvc3Bhbj48L2xpPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNr
Ym94IiBuYW1lPSJlbWFpbE5vdGlmaWNhdGlvbkVkaXRvckRlY2lzaW9uQ29tbWVudCJ7aWYgJHNt
YXJ0eS5jb25zdC5OT1RJRklDQVRJT05fVFlQRV9FRElUT1JfREVDSVNJT05fQ09NTUVOVHxpbl9h
cnJheTokZW1haWxTZXR0aW5nc30gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAvPgorCQkJCXt0cmFu
c2xhdGUga2V5PSJub3RpZmljYXRpb24uZW1haWwifQorCQkJPC9zcGFuPjwvbGk+CisJPC91bD4K
KzwvdWw+CisJCis8YnIgLz4KK3svaWZ9CisKKzwhLS0gU2l0ZSBldmVudHMgLS0+Cis8aDQ+e3Ry
YW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLnNpdGUifTwvaDQ+CisKKzx1bD4KKwk8bGk+
e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLnVzZXJDb21tZW50IiBwYXJhbT0kdGl0
bGVWYXJ9PC9saT4KKwk8dWwgY2xhc3M9InBsYWluIj4KKwkJPGxpPjxzcGFuPgorCQkJCTxpbnB1
dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibm90aWZpY2F0aW9uVXNlckNvbW1lbnQie2lmICEkc21h
cnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX1VTRVJfQ09NTUVOVHxpbl9hcnJheTokbm90aWZp
Y2F0aW9uU2V0dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KKwkJCQl7dHJhbnNsYXRl
IGtleT0ibm90aWZpY2F0aW9uLmFsbG93In0KKwkJCTwvc3Bhbj48L2xpPgorCQk8bGk+PHNwYW4+
CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJlbWFpbE5vdGlmaWNhdGlvblVzZXJD
b21tZW50IntpZiAkc21hcnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX1VTRVJfQ09NTUVOVHxp
bl9hcnJheTokZW1haWxTZXR0aW5nc30gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAvPgorCQkJCXt0
cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24uZW1haWwifQorCQkJPC9zcGFuPjwvbGk+CisJPC91
bD4KKzwvdWw+CisKKzx1bD4KKwk8bGk+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBl
Lmlzc3VlUHVibGlzaGVkIiBwYXJhbT0kdXNlclZhcn08L2xpPgorCTx1bCBjbGFzcz0icGxhaW4i
PgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJub3RpZmlj
YXRpb25QdWJsaXNoZWRJc3N1ZSJ7aWYgISRzbWFydHkuY29uc3QuTk9USUZJQ0FUSU9OX1RZUEVf
UFVCTElTSEVEX0lTU1VFfGluX2FycmF5OiRub3RpZmljYXRpb25TZXR0aW5nc30gY2hlY2tlZD0i
Y2hlY2tlZCJ7L2lmfSAvPgorCQkJCXt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24uYWxsb3ci
fQorCQkJPC9zcGFuPjwvbGk+CisJCTxsaT48c3Bhbj4KKwkJCQk8aW5wdXQgdHlwZT0iY2hlY2ti
b3giIG5hbWU9ImVtYWlsTm90aWZpY2F0aW9uUHVibGlzaGVkSXNzdWUie2lmICRzbWFydHkuY29u
c3QuTk9USUZJQ0FUSU9OX1RZUEVfUFVCTElTSEVEX0lTU1VFfGluX2FycmF5OiRlbWFpbFNldHRp
bmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0ZSBrZXk9Im5vdGlm
aWNhdGlvbi5lbWFpbCJ9CisJCQk8L3NwYW4+PC9saT4KKwk8L3VsPgorPC91bD4KKworPHVsPgor
CTxsaT57dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLnR5cGUubmV3QW5ub3VuY2VtZW50In08
L2xpPgorCTx1bCBjbGFzcz0icGxhaW4iPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9
ImNoZWNrYm94IiBuYW1lPSJub3RpZmljYXRpb25OZXdBbm5vdW5jZW1lbnQie2lmICEkc21hcnR5
LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX05FV19BTk5PVU5DRU1FTlR8aW5fYXJyYXk6JG5vdGlm
aWNhdGlvblNldHRpbmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0
ZSBrZXk9Im5vdGlmaWNhdGlvbi5hbGxvdyJ9CisJCQk8L3NwYW4+PC9saT4KKwkJPGxpPjxzcGFu
PgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZW1haWxOb3RpZmljYXRpb25OZXdB
bm5vdW5jZW1lbnQie2lmICRzbWFydHkuY29uc3QuTk9USUZJQ0FUSU9OX1RZUEVfTkVXX0FOTk9V
TkNFTUVOVHxpbl9hcnJheTokZW1haWxTZXR0aW5nc30gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAv
PgorCQkJCXt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24uZW1haWwifQorCQkJPC9zcGFuPjwv
bGk+CisJPC91bD4KKzwvdWw+CisKKzxiciAvPgorCis8cD48aW5wdXQgdHlwZT0ic3VibWl0IiB2
YWx1ZT0ie3RyYW5zbGF0ZSBrZXk9ImZvcm0uc3VibWl0In0iIGNsYXNzPSJidXR0b24gZGVmYXVs
dEJ1dHRvbiIgLz4gIDxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSJ7dHJhbnNsYXRlIGtleT0i
Y29tbW9uLmNhbmNlbCJ9IiBjbGFzcz0iYnV0dG9uIiBvbmNsaWNrPSJkb2N1bWVudC5sb2NhdGlv
bi5ocmVmPSd7dXJsIG9wPSJub3RpZmljYXRpb24iIGVzY2FwZT1mYWxzZX0nIiAvPjwvcD4KKwor
PC9mb3JtPgorCit7aW5jbHVkZSBmaWxlPSJjb21tb24vZm9vdGVyLnRwbCJ9CkluZGV4OiB0ZW1w
bGF0ZXMvdXNlci9wcm9maWxlLnRwbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL29qczIvdGVt
cGxhdGVzL3VzZXIvcHJvZmlsZS50cGwsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNDEKZGlmZiAt
dSAtcjEuNDEgcHJvZmlsZS50cGwKLS0tIHRlbXBsYXRlcy91c2VyL3Byb2ZpbGUudHBsCTEyIEF1
ZyAyMDA4IDIyOjE5OjI0IC0wMDAwCTEuNDEKKysrIHRlbXBsYXRlcy91c2VyL3Byb2ZpbGUudHBs
CTI2IEphbiAyMDA5IDE5OjM4OjM4IC0wMDAwCkBAIC0xMzksMjQgKzEzOSw2IEBACiA8L3RyPgog
ey9pZn0KIAote2ZvcmVhY2ggZnJvbT0kam91cm5hbHMgbmFtZT1qb3VybmFsTm90aWZpY2F0aW9u
cyBrZXk9dGhpc0pvdXJuYWxJZCBpdGVtPXRoaXNKb3VybmFsfQotCXthc3NpZ24gdmFyPXRoaXNK
b3VybmFsSWQgdmFsdWU9JHRoaXNKb3VybmFsLT5nZXRKb3VybmFsSWQoKX0KLQl7YXNzaWduIHZh
cj1ub3RpZmljYXRpb25FbmFibGVkIHZhbHVlPWAkam91cm5hbE5vdGlmaWNhdGlvbnMuJHRoaXNK
b3VybmFsSWRgfQotCXtpZiAhJG5vdEZpcnN0Sm91cm5hbH0KLQkJe2Fzc2lnbiB2YXI9bm90Rmly
c3RKb3VybmFsIHZhbHVlPTF9Ci0JCTx0ciB2YWxpZ249InRvcCI+Ci0JCQk8dGQgY2xhc3M9Imxh
YmVsIj57dHJhbnNsYXRlIGtleT0idXNlci5wcm9maWxlLmZvcm0ucHVibGlzaGVkTm90aWZpY2F0
aW9ucyJ9PC90ZD4KLQkJCTx0ZCBjbGFzcz0idmFsdWUiPgotCXsvaWZ9Ci0KLQkJCTxpbnB1dCB0
eXBlPSJjaGVja2JveCIgbmFtZT0iam91cm5hbE5vdGlmeVtdIiB7aWYgJG5vdGlmaWNhdGlvbkVu
YWJsZWR9Y2hlY2tlZD0iY2hlY2tlZCIgey9pZn1pZD0iam91cm5hbE5vdGlmeS17JHRoaXNKb3Vy
bmFsSWR8ZXNjYXBlfSIgdmFsdWU9InskdGhpc0pvdXJuYWxJZHxlc2NhcGV9IiAvPiA8bGFiZWwg
Zm9yPSJqb3VybmFsTm90aWZ5LXskdGhpc0pvdXJuYWxJZHxlc2NhcGV9Ij57JHRoaXNKb3VybmFs
LT5nZXRKb3VybmFsVGl0bGUoKXxlc2NhcGV9PC9sYWJlbD48YnIvPgotCi0Je2lmICRzbWFydHku
Zm9yZWFjaC5qb3VybmFsTm90aWZpY2F0aW9ucy5sYXN0fQotCQkJPC90ZD4KLQkJPC90cj4KLQl7
L2lmfQotey9mb3JlYWNofQotCiB7aWYgJGRpc3BsYXlPcGVuQWNjZXNzTm90aWZpY2F0aW9ufQog
CXthc3NpZ24gdmFyPW5vdEZpcnN0Sm91cm5hbCB2YWx1ZT0wfQogCXtmb3JlYWNoIGZyb209JGpv
dXJuYWxzIG5hbWU9am91cm5hbE9wZW5BY2Nlc3NOb3RpZmljYXRpb25zIGtleT10aGlzSm91cm5h
bElkIGl0ZW09dGhpc0pvdXJuYWx9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>1355</attachid>
            <date>2009-01-26 11:43:00 -0800</date>
            <delta_ts>2009-01-26 13:03:43 -0800</delta_ts>
            <desc>Patch against PKP pre-2.3 CVS</desc>
            <filename>pkpNotifs.patch</filename>
            <type>text/plain</type>
            <size>25355</size>
            <attacher>mattcrider</attacher>
            
              <data encoding="base64">SW5kZXg6IGNsYXNzZXMvY29yZS9QS1BBcHBsaWNhdGlvbi5pbmMucGhwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT
IGZpbGU6IC9jdnMvcGtwL2NsYXNzZXMvY29yZS9QS1BBcHBsaWNhdGlvbi5pbmMucGhwLHYKcmV0
cmlldmluZyByZXZpc2lvbiAxLjkKZGlmZiAtdSAtcjEuOSBQS1BBcHBsaWNhdGlvbi5pbmMucGhw
Ci0tLSBjbGFzc2VzL2NvcmUvUEtQQXBwbGljYXRpb24uaW5jLnBocAkxNiBPY3QgMjAwOCAxNzo0
NzoyOSAtMDAwMAkxLjkKKysrIGNsYXNzZXMvY29yZS9QS1BBcHBsaWNhdGlvbi5pbmMucGhwCTI2
IEphbiAyMDA5IDE5OjM5OjI0IC0wMDAwCkBAIC0xODYsNiArMTg2LDggQEAKIAkJCSdDdXJyZW5j
eURBTycgPT4gJ2N1cnJlbmN5LkN1cnJlbmN5REFPJywKIAkJCSdIZWxwVG9jREFPJyA9PiAnaGVs
cC5IZWxwVG9jREFPJywKIAkJCSdIZWxwVG9waWNEQU8nID0+ICdoZWxwLkhlbHBUb3BpY0RBTycs
CisJCQknTm90aWZpY2F0aW9uREFPJyA9PiAnbm90aWZpY2F0aW9uLk5vdGlmaWNhdGlvbkRBTycs
CisJCQknTm90aWZpY2F0aW9uU2V0dGluZ3NEQU8nID0+ICdub3RpZmljYXRpb24uTm90aWZpY2F0
aW9uU2V0dGluZ3NEQU8nLAogCQkJJ1NjaGVkdWxlZFRhc2tEQU8nID0+ICdzY2hlZHVsZWRUYXNr
LlNjaGVkdWxlZFRhc2tEQU8nLAogCQkJJ1Nlc3Npb25EQU8nID0+ICdzZXNzaW9uLlNlc3Npb25E
QU8nLAogCQkJJ1NpdGVEQU8nID0+ICdzaXRlLlNpdGVEQU8nLApJbmRleDogY2xhc3Nlcy9ub3Rp
ZmljYXRpb24vTm90aWZpY2F0aW9uREFPLmluYy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogY2xh
c3Nlcy9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9uREFPLmluYy5waHAKZGlmZiAtTiBjbGFzc2Vz
L25vdGlmaWNhdGlvbi9Ob3RpZmljYXRpb25EQU8uaW5jLnBocAotLS0gL2Rldi9udWxsCTEgSmFu
IDE5NzAgMDA6MDA6MDAgLTAwMDAKKysrIGNsYXNzZXMvbm90aWZpY2F0aW9uL05vdGlmaWNhdGlv
bkRBTy5pbmMucGhwCTI2IEphbiAyMDA5IDE5OjM5OjI0IC0wMDAwCkBAIC0wLDAgKzEsMzI1IEBA
Cis8P3BocAorCisvKioKKyAqIEBmaWxlIGNsYXNzZXMvbm90aWZpY2F0aW9uL05vdGlmaWNhdGlv
bkRBTy5pbmMucGhwCisgKgorICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMDggSm9obiBXaWxsaW5z
a3kKKyAqIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR1BMIHYyLiBGb3IgZnVsbCB0ZXJtcyBz
ZWUgdGhlIGZpbGUgZG9jcy9DT1BZSU5HLgorICoKKyAqIEBjbGFzcyBOb3RpZmljYXRpb25EQU8K
KyAqIEBpbmdyb3VwIG5vdGlmaWNhdGlvbgorICogQHNlZSBOb3RpZmljYXRpb24KKyAqCisgKiBA
YnJpZWYgT3BlcmF0aW9ucyBmb3IgcmV0cmlldmluZyBhbmQgbW9kaWZ5aW5nIE5vdGlmaWNhdGlv
biBvYmplY3RzLgorICovCisKKy8vICRJZDogTm90aWZpY2F0aW9uREFPLmluYy5waHAsdiAxLjE5
IDIwMDgvMTEvMDUgMDA6NDY6MzkgbWNyaWRlciBFeHAgJAorCitpbXBvcnQoJ25vdGlmaWNhdGlv
bi5Ob3RpZmljYXRpb24nKTsKKworY2xhc3MgTm90aWZpY2F0aW9uREFPIGV4dGVuZHMgREFPIHsK
KwkvKioKKwkgKiBDb25zdHJ1Y3Rvci4KKwkgKi8KKwlmdW5jdGlvbiBOb3RpZmljYXRpb25EQU8o
KSB7CisJCXBhcmVudDo6REFPKCk7CisJfQorCQorCS8qKgorCSAqIFJldHJpZXZlIE5vdGlmaWNh
dGlvbiBieSBub3RpZmljYXRpb24gaWQKKwkgKiBAcGFyYW0gJG5vdGlmaWNhdGlvbklkIGludAor
CSAqIEByZXR1cm4gTm90aWZpY2F0aW9uIG9iamVjdAorCSAqLworCWZ1bmN0aW9uICZnZXROb3Rp
ZmljYXRpb25CeUlkKCRub3RpZmljYXRpb25JZCkgeworCQkkcmVzdWx0ID0mICR0aGlzLT5yZXRy
aWV2ZSgKKwkJCSdTRUxFQ1QgKiBGUk9NIG5vdGlmaWNhdGlvbnMgV0hFUkUgbm90aWZpY2F0aW9u
X2lkID0gPycsIChpbnQpICRub3RpZmljYXRpb25JZAorCQkpOworCQorCQkkbm90aWZpY2F0aW9u
ID0mICR0aGlzLT5fcmV0dXJuTm90aWZpY2F0aW9uRnJvbVJvdygkcmVzdWx0LT5HZXRSb3dBc3Nv
YyhmYWxzZSkpOworCQorCQkkcmVzdWx0LT5DbG9zZSgpOworCQl1bnNldCgkcmVzdWx0KTsKKwkK
KwkJcmV0dXJuICRub3RpZmljYXRpb247CisJfQkKKwkKKwkvKioKKwkgKiBSZXRyaWV2ZSBOb3Rp
ZmljYXRpb25zIGJ5IHVzZXIgaWQKKwkgKiBAcGFyYW0gJHVzZXJJZCBpbnQKKwkgKiBAcmV0dXJu
IE5vdGlmaWNhdGlvbiBvYmplY3RzIGFycmF5CisJICovCisJZnVuY3Rpb24gJmdldE5vdGlmaWNh
dGlvbnNCeVVzZXJJZCgkdXNlcklkKSB7CisJCSRhcHBsaWNhdGlvbiA9JiBQS1BBcHBsaWNhdGlv
bjo6Z2V0QXBwbGljYXRpb24oKTsKKwkJJHByb2R1Y3ROYW1lID0gJGFwcGxpY2F0aW9uLT5nZXRO
YW1lKCk7CisJCSRjb250ZXh0ID0mIFJlcXVlc3Q6OmdldENvbnRleHQoKTsKKwkJJGNvbnRleHRJ
ZCA9ICRjb250ZXh0LT5nZXRJZCgpOworCQkKKwkJJG5vdGlmaWNhdGlvbnMgPSBhcnJheSgpOwor
CQorCQkkcmVzdWx0ID0mICR0aGlzLT5yZXRyaWV2ZSgKKwkJCSdTRUxFQ1QgKiBGUk9NIG5vdGlm
aWNhdGlvbnMgV0hFUkUgdXNlcl9pZCA9ID8gQU5EIHByb2R1Y3QgPSA/IEFORCBjb250ZXh0ID0g
PyBPUkRFUiBCWSBkYXRlX2NyZWF0ZWQgREVTQycsCQorCQkJYXJyYXkoKGludCkgJHVzZXJJZCwg
JHByb2R1Y3ROYW1lLCAoaW50KSAkY29udGV4dElkKQorCQkpOworCQorCQkkcmV0dXJuZXIgPSBu
ZXcgREFPUmVzdWx0RmFjdG9yeSgkcmVzdWx0LCAkdGhpcywgJ19yZXR1cm5Ob3RpZmljYXRpb25G
cm9tUm93Jyk7CisJCQorCQlyZXR1cm4gJHJldHVybmVyOworCX0KKwkKKwkvKioKKwkgKiBSZXRy
aWV2ZSBOb3RpZmljYXRpb25zIGJ5IG5vdGlmaWNhdGlvbiBpZAorCSAqIEBwYXJhbSAkbm90aWZp
Y2F0aW9uSWQgaW50CisJICogQHJldHVybiBib29sZWFuCisJICovCisJZnVuY3Rpb24gc2V0RGF0
ZVJlYWQoJG5vdGlmaWNhdGlvbklkKSB7CisJCSRyZXR1cm5lciA9ICR0aGlzLT51cGRhdGUoCisJ
CQlzcHJpbnRmKCdVUERBVEUgbm90aWZpY2F0aW9ucworCQkJCVNFVCBkYXRlX3JlYWQgPSAlcwor
CQkJCVdIRVJFIG5vdGlmaWNhdGlvbl9pZCA9ID8nLAorCQkJCSR0aGlzLT5kYXRldGltZVRvREIo
ZGF0ZSgnWS1tLWQgSDppOnMnKSkpLAorCQkJKGludCkgJG5vdGlmaWNhdGlvbklkCisJCSk7CisK
KwkJcmV0dXJuICRyZXR1cm5lcjsKKwl9CisJCisJLyoqCisJICogQ3JlYXRlcyBhbmQgcmV0dXJu
cyBhbiBub3RpZmljYXRpb24gb2JqZWN0IGZyb20gYSByb3cKKwkgKiBAcGFyYW0gJHJvdyBhcnJh
eQorCSAqIEByZXR1cm4gTm90aWZpY2F0aW9uIG9iamVjdAorCSAqLworCWZ1bmN0aW9uICZfcmV0
dXJuTm90aWZpY2F0aW9uRnJvbVJvdygkcm93KSB7CisJCSRub3RpZmljYXRpb24gPSBuZXcgTm90
aWZpY2F0aW9uKCk7CisJCSRub3RpZmljYXRpb24tPnNldE5vdGlmaWNhdGlvbklkKCRyb3dbJ25v
dGlmaWNhdGlvbl9pZCddKTsKKwkJJG5vdGlmaWNhdGlvbi0+c2V0VXNlcklkKCRyb3dbJ3VzZXJf
aWQnXSk7CisJCSRub3RpZmljYXRpb24tPnNldERhdGVDcmVhdGVkKCRyb3dbJ2RhdGVfY3JlYXRl
ZCddKTsKKwkJJG5vdGlmaWNhdGlvbi0+c2V0RGF0ZVJlYWQoJHJvd1snZGF0ZV9yZWFkJ10pOwor
CQkkbm90aWZpY2F0aW9uLT5zZXRDb250ZW50cygkcm93Wydjb250ZW50cyddKTsKKwkJJG5vdGlm
aWNhdGlvbi0+c2V0UGFyYW0oJHJvd1sncGFyYW0nXSk7CisJCSRub3RpZmljYXRpb24tPnNldExv
Y2F0aW9uKCRyb3dbJ2xvY2F0aW9uJ10pOworCQkkbm90aWZpY2F0aW9uLT5zZXRJc0xvY2FsaXpl
ZCgkcm93Wydpc19sb2NhbGl6ZWQnXSk7CisJCSRub3RpZmljYXRpb24tPnNldENvbnRleHQoJHJv
d1snY29udGV4dCddKTsKKwkJJG5vdGlmaWNhdGlvbi0+c2V0QXNzb2NUeXBlKCRyb3dbJ2Fzc29j
X3R5cGUnXSk7CisJCQorCQlIb29rUmVnaXN0cnk6OmNhbGwoJ05vdGlmaWNhdGlvbkRBTzo6X3Jl
dHVybk5vdGlmaWNhdGlvbkZyb21Sb3cnLCBhcnJheSgmJG5vdGlmaWNhdGlvbiwgJiRyb3cpKTsK
KwkKKwkJcmV0dXJuICRub3RpZmljYXRpb247CisJfQorCQorCS8qKgorCSAqIEluc2VydHMgYSBu
ZXcgbm90aWZpY2F0aW9uIGludG8gbm90aWZpY2F0aW9ucyB0YWJsZQorCSAqIEBwYXJhbSBOb3Rp
ZmljYXRpb24gb2JqZWN0CisJICogQHJldHVybiBpbnQgTm90aWZpY2F0aW9uIElkIAorCSAqLwor
CWZ1bmN0aW9uIGluc2VydE5vdGlmaWNhdGlvbigmJG5vdGlmaWNhdGlvbikgeworCQkkYXBwbGlj
YXRpb24gPSYgUEtQQXBwbGljYXRpb246OmdldEFwcGxpY2F0aW9uKCk7CisJCSRwcm9kdWN0TmFt
ZSA9ICRhcHBsaWNhdGlvbi0+Z2V0TmFtZSgpOworCQkKKwkJaWYgKCR0aGlzLT5ub3RpZmljYXRp
b25BbHJlYWR5RXhpc3RzKCRub3RpZmljYXRpb24pKSB7CisJCQlyZXR1cm4gMDsKKwkJfQorCQkK
KwkJJG5vdGlmaWNhdGlvblNldHRpbmdzRGFvID0mIERBT1JlZ2lzdHJ5OjpnZXREQU8oJ05vdGlm
aWNhdGlvblNldHRpbmdzREFPJyk7CisJCSRub3RpZmljYXRpb25TZXR0aW5ncyA9ICRub3RpZmlj
YXRpb25TZXR0aW5nc0Rhby0+Z2V0Tm90aWZpY2F0aW9uU2V0dGluZ3MoJG5vdGlmaWNhdGlvbi0+
Z2V0VXNlcklkKCkpOworCQkkbm90aWZpY2F0aW9uRW1haWxTZXR0aW5ncyA9ICRub3RpZmljYXRp
b25TZXR0aW5nc0Rhby0+Z2V0Tm90aWZpY2F0aW9uRW1haWxTZXR0aW5ncygkbm90aWZpY2F0aW9u
LT5nZXRVc2VySWQoKSk7CisJCQorCQlpZihpbl9hcnJheSgkbm90aWZpY2F0aW9uLT5nZXRBc3Nv
Y1R5cGUoKSwgJG5vdGlmaWNhdGlvbkVtYWlsU2V0dGluZ3MpKSB7CisJCQkkdGhpcy0+c2VuZE5v
dGlmaWNhdGlvbkVtYWlsKCRub3RpZmljYXRpb24pOworCQl9CisJCQorCQlpZighaW5fYXJyYXko
JG5vdGlmaWNhdGlvbi0+Z2V0QXNzb2NUeXBlKCksICRub3RpZmljYXRpb25TZXR0aW5ncykpIHsK
KwkJCSR0aGlzLT51cGRhdGUoCisJCQkJc3ByaW50ZignSU5TRVJUIElOVE8gbm90aWZpY2F0aW9u
cworCQkJCQkodXNlcl9pZCwgZGF0ZV9jcmVhdGVkLCBjb250ZW50cywgcGFyYW0sIGxvY2F0aW9u
LCBpc19sb2NhbGl6ZWQsIGNvbnRleHQsIHByb2R1Y3QsIGFzc29jX3R5cGUpCisJCQkJCVZBTFVF
UworCQkJCQkoPywgJXMsID8sID8sID8sID8sID8sID8sID8pJywKKwkJCQkJJHRoaXMtPmRhdGV0
aW1lVG9EQihkYXRlKCdZLW0tZCBIOmk6cycpKSksCisJCQkJYXJyYXkoCisJCQkJCShpbnQpICRu
b3RpZmljYXRpb24tPmdldFVzZXJJZCgpLAorCQkJCQkkbm90aWZpY2F0aW9uLT5nZXRDb250ZW50
cygpLAorCQkJCQkkbm90aWZpY2F0aW9uLT5nZXRQYXJhbSgpLAorCQkJCQkkbm90aWZpY2F0aW9u
LT5nZXRMb2NhdGlvbigpLAorCQkJCQkoaW50KSAkbm90aWZpY2F0aW9uLT5nZXRJc0xvY2FsaXpl
ZCgpLAorCQkJCQkoaW50KSAkbm90aWZpY2F0aW9uLT5nZXRDb250ZXh0KCksCisJCQkJCSRwcm9k
dWN0TmFtZSwKKwkJCQkJKGludCkgJG5vdGlmaWNhdGlvbi0+Z2V0QXNzb2NUeXBlKCksCisJCQkJ
KQorCQkJKTsKKwkJCisJCQkkbm90aWZpY2F0aW9uLT5zZXROb3RpZmljYXRpb25JZCgkdGhpcy0+
Z2V0SW5zZXJ0Tm90aWZpY2F0aW9uSWQoKSk7CisJCQlyZXR1cm4gJG5vdGlmaWNhdGlvbi0+Z2V0
Tm90aWZpY2F0aW9uSWQoKTsKKwkJfSBlbHNlIHJldHVybiAwOworCX0KKwkKKwkvKioKKwkgKiBE
ZWxldGUgTm90aWZpY2F0aW9uIGJ5IG5vdGlmaWNhdGlvbiBpZAorCSAqIEBwYXJhbSAkbm90aWZp
Y2F0aW9uSWQgaW50CisJICogQHJldHVybiBib29sZWFuCisJICovCisJZnVuY3Rpb24gZGVsZXRl
Tm90aWZpY2F0aW9uQnlJZCgkbm90aWZpY2F0aW9uSWQsICR1c2VySWQgPSBudWxsKSB7CisJCSRw
YXJhbXMgPSBhcnJheSgkbm90aWZpY2F0aW9uSWQpOworCQlpZiAoaXNzZXQoJHVzZXJJZCkpICRw
YXJhbXNbXSA9ICR1c2VySWQ7CisJCisJCXJldHVybiAkdGhpcy0+dXBkYXRlKCdERUxFVEUgRlJP
TSBub3RpZmljYXRpb25zIFdIRVJFIG5vdGlmaWNhdGlvbl9pZCA9ID8nIC4gKGlzc2V0KCR1c2Vy
SWQpID8gJyBBTkQgdXNlcl9pZCA9ID8nIDogJycpLCAKKwkJCSRwYXJhbXMKKwkJKTsKKwl9CQor
CisJLyoqCisJICogQ2hlY2sgaWYgdGhlIHNhbWUgbm90aWZpY2F0aW9uIHdhcyBhZGRlZCBpbiB0
aGUgbGFzdCBob3VyCisJICogV2lsbCBwcmV2ZW50IG11bHRpcGxlIG5vdGlmaWNhdGlvbnMgdG8g
c2hvdyB1cCBpbiBhIHVzZXIncyBmZWVkIGUuZy4KKwkgKiBpZiBhIHVzZXIgZWRpdHMgYSBzdWJt
aXNzaW9uIG11bHRpcGxlIHRpbWVzIGluIGEgc2hvcnQgdGltZSBzcGFuCisJICogQHBhcmFtIG5v
dGlmaWNhdGlvbiBvYmplY3QKKwkgKiBAcmV0dXJuIGJvb2xlYW4KKwkgKi8KKwlmdW5jdGlvbiBu
b3RpZmljYXRpb25BbHJlYWR5RXhpc3RzKCYkbm90aWZpY2F0aW9uKSB7CisJCSRhcHBsaWNhdGlv
biA9JiBQS1BBcHBsaWNhdGlvbjo6Z2V0QXBwbGljYXRpb24oKTsKKwkJJHByb2R1Y3ROYW1lID0g
JGFwcGxpY2F0aW9uLT5nZXROYW1lKCk7CisJCSRjb250ZXh0ID0mIFJlcXVlc3Q6OmdldENvbnRl
eHQoKTsKKwkJJGNvbnRleHRJZCA9ICRjb250ZXh0LT5nZXRJZCgpOworCQkJCisJCSRyZXN1bHQg
PSYgJHRoaXMtPnJldHJpZXZlKAorCQkJJ1NFTEVDVCBkYXRlX2NyZWF0ZWQgRlJPTSBub3RpZmlj
YXRpb25zIFdIRVJFIHVzZXJfaWQgPSA/IEFORCBjb250ZW50cyA9ID8gQU5EIHByb2R1Y3QgPSA/
IEFORCBhc3NvY190eXBlID0gPyBBTkQgY29udGV4dCA9ID8nLAorCQkJYXJyYXkoCisJCQkJCShp
bnQpICRub3RpZmljYXRpb24tPmdldFVzZXJJZCgpLAorCQkJCQkkbm90aWZpY2F0aW9uLT5nZXRD
b250ZW50cygpLAorCQkJCQkkcHJvZHVjdE5hbWUsCisJCQkJCShpbnQpICRub3RpZmljYXRpb24t
PmdldEFzc29jVHlwZSgpLAorCQkJCQkoaW50KSAkY29udGV4dElkCisJCQkJKQorCQkpOworCQkK
KwkJJGRhdGUgPSBpc3NldCgkcmVzdWx0LT5maWVsZHNbMF0pID8gJHJlc3VsdC0+ZmllbGRzWzBd
IDogMDsKKwkJCisJCWlmICgkZGF0ZSA9PSAwKSB7CisJCQlyZXR1cm4gZmFsc2U7CisJCX0gZWxz
ZSB7CisJCQkkdGltZURpZmYgPSBzdHJ0b3RpbWUoJGRhdGUpIC0gdGltZSgpOworCQkJaWYgKCR0
aW1lRGlmZiA8IDM2MDApIHsgLy8gMSBob3VyIChpbiBzZWNvbmRzKQorCQkJCXJldHVybiB0cnVl
OworCQkJfSBlbHNlIHJldHVybiBmYWxzZTsKKwkJfQorCX0KKworCS8qKgorCSAqIEdldCB0aGUg
SUQgb2YgdGhlIGxhc3QgaW5zZXJ0ZWQgbm90aWZpY2F0aW9uCisJICogQHJldHVybiBpbnQKKwkg
Ki8KKwlmdW5jdGlvbiBnZXRJbnNlcnROb3RpZmljYXRpb25JZCgpIHsKKwkJcmV0dXJuICR0aGlz
LT5nZXRJbnNlcnRJZCgnbm90aWZpY2F0aW9ucycsICdub3RpZmljYXRpb25faWQnKTsKKwl9CisJ
CisJLyoqCisJICogR2V0IHRoZSBudW1iZXIgb2YgdW5yZWFkIG1lc3NhZ2VzIGZvciBhIHVzZXIK
KwkgKiBAcGFyYW0gJHVzZXJJZCBpbnQKKwkgKiBAcmV0dXJuIGludAorCSAqLworCWZ1bmN0aW9u
IGdldFVucmVhZE5vdGlmaWNhdGlvbkNvdW50KCR1c2VySWQpIHsKKwkJJGFwcGxpY2F0aW9uID0m
IFBLUEFwcGxpY2F0aW9uOjpnZXRBcHBsaWNhdGlvbigpOworCQkkcHJvZHVjdE5hbWUgPSAkYXBw
bGljYXRpb24tPmdldE5hbWUoKTsKKwkJJGNvbnRleHQgPSYgUmVxdWVzdDo6Z2V0Q29udGV4dCgp
OworCQkkY29udGV4dElkID0gJGNvbnRleHQtPmdldElkKCk7CisJCQorCQkkcmVzdWx0ID0mICR0
aGlzLT5yZXRyaWV2ZSgKKwkJCSdTRUxFQ1QgY291bnQoKikgRlJPTSBub3RpZmljYXRpb25zIFdI
RVJFIHVzZXJfaWQgPSA/IEFORCBkYXRlX3JlYWQgSVMgTlVMTCBBTkQgcHJvZHVjdCA9ID8gQU5E
IGNvbnRleHQgPSA/JywKKwkJCWFycmF5KChpbnQpICR1c2VySWQsICRwcm9kdWN0TmFtZSwgKGlu
dCkgJGNvbnRleHRJZCkKKwkJKTsKKworCQkkcmV0dXJuZXIgPSAkcmVzdWx0LT5maWVsZHNbMF07
CisKKwkJJHJlc3VsdC0+Q2xvc2UoKTsKKwkJdW5zZXQoJHJlc3VsdCk7CisKKwkJcmV0dXJuICRy
ZXR1cm5lcjsKKwl9CisJCisJLyoqCisJICogR2V0IHRoZSBudW1iZXIgb2YgcmVhZCBtZXNzYWdl
cyBmb3IgYSB1c2VyCisJICogQHBhcmFtICR1c2VySWQgaW50CisJICogQHJldHVybiBpbnQKKwkg
Ki8KKwlmdW5jdGlvbiBnZXRSZWFkTm90aWZpY2F0aW9uQ291bnQoJHVzZXJJZCkgeworCQkkYXBw
bGljYXRpb24gPSYgUEtQQXBwbGljYXRpb246OmdldEFwcGxpY2F0aW9uKCk7CisJCSRwcm9kdWN0
TmFtZSA9ICRhcHBsaWNhdGlvbi0+Z2V0TmFtZSgpOworCQkkY29udGV4dCA9JiBSZXF1ZXN0Ojpn
ZXRDb250ZXh0KCk7CisJCSRjb250ZXh0SWQgPSAkY29udGV4dC0+Z2V0SWQoKTsKKwkJCisJCSRy
ZXN1bHQgPSYgJHRoaXMtPnJldHJpZXZlKAorCQkJJ1NFTEVDVCBjb3VudCgqKSBGUk9NIG5vdGlm
aWNhdGlvbnMgV0hFUkUgdXNlcl9pZCA9ID8gQU5EIGRhdGVfcmVhZCBJUyBOT1QgTlVMTCBBTkQg
cHJvZHVjdCA9ID8gQU5EIGNvbnRleHQgPSA/JywKKwkJCWFycmF5KChpbnQpICR1c2VySWQsICRw
cm9kdWN0TmFtZSwgKGludCkgJGNvbnRleHRJZCkKKwkJKTsKKworCQkkcmV0dXJuZXIgPSAkcmVz
dWx0LT5maWVsZHNbMF07CisKKwkJJHJlc3VsdC0+Q2xvc2UoKTsKKwkJdW5zZXQoJHJlc3VsdCk7
CisKKwkJcmV0dXJuICRyZXR1cm5lcjsKKwl9CisKKwkvKioKKwkgKiBTZW5kIGFuIGVtYWlsIHRv
IGEgdXNlciByZWdhcmRpbmcgdGhlIG5vdGlmaWNhdGlvbgorCSAqIEBwYXJhbSAkbm90aWZpY2F0
aW9uIG9iamVjdCBOb3RpZmljYXRpb24KKwkgKi8KKwlmdW5jdGlvbiBzZW5kTm90aWZpY2F0aW9u
RW1haWwoJG5vdGlmaWNhdGlvbikgeworCQkkdXNlcklkID0gJG5vdGlmaWNhdGlvbi0+Z2V0VXNl
cklkKCk7CisJCSR1c2VyRGFvID0mIERBT1JlZ2lzdHJ5OjpnZXREQU8oJ1VzZXJEQU8nKTsKKwkJ
JHVzZXIgPSAkdXNlckRhby0+Z2V0VXNlcigkdXNlcklkKTsKKwkJCisJCWlmICgkbm90aWZpY2F0
aW9uLT5nZXRJc0xvY2FsaXplZCgpKSB7CisJCQkkcGFyYW1zID0gYXJyYXkoJ3BhcmFtJyA9PiAk
bm90aWZpY2F0aW9uLT5nZXRQYXJhbSgpKTsKKwkJCSRub3RpZmljYXRpb25Db250ZW50cyA9IExv
Y2FsZTo6dHJhbnNsYXRlKCRub3RpZmljYXRpb24tPmdldENvbnRlbnRzKCksICRwYXJhbXMpOwor
CQl9IGVsc2UgeworCQkJJG5vdGlmaWNhdGlvbkNvbnRlbnRzID0gJG5vdGlmaWNhdGlvbi0+Z2V0
Q29udGVudHMoKTsKKwkJfQorCQkKKwkJaW1wb3J0KCdtYWlsLk1haWxUZW1wbGF0ZScpOworCQkk
c2l0ZSA9JiBSZXF1ZXN0OjpnZXRTaXRlKCk7CisJCSRtYWlsID0gbmV3IE1haWxUZW1wbGF0ZSgn
Tk9USUZJQ0FUSU9OJyk7CisJCSRtYWlsLT5zZXRGcm9tKCRzaXRlLT5nZXRTaXRlQ29udGFjdEVt
YWlsKCksICRzaXRlLT5nZXRTaXRlQ29udGFjdE5hbWUoKSk7CisJCSRtYWlsLT5hc3NpZ25QYXJh
bXMoYXJyYXkoCisJCQknbm90aWZpY2F0aW9uQ29udGVudHMnID0+ICRub3RpZmljYXRpb25Db250
ZW50cywKKwkJCSd1cmwnID0+ICRub3RpZmljYXRpb24tPmdldExvY2F0aW9uKCksCisJCQknc2l0
ZVRpdGxlJyA9PiAkc2l0ZS0+Z2V0U2l0ZVRpdGxlKCkKKwkJKSk7CisJCSRtYWlsLT5hZGRSZWNp
cGllbnQoJHVzZXItPmdldEVtYWlsKCksICR1c2VyLT5nZXRGdWxsTmFtZSgpKTsKKwkJJG1haWwt
PnNlbmQoKTsKKwl9CQorCQorCS8qKgorCSAqIFNlbmQgYW4gdXBkYXRlIHRvIGFsbCB1c2VycyBv
biB0aGUgbWFpbGluZyBsaXN0CisJICogQHBhcmFtICRub3RpZmljYXRpb24gb2JqZWN0IE5vdGlm
aWNhdGlvbgorCSAqLworCWZ1bmN0aW9uIHNlbmRUb01haWxpbmdMaXN0KCRub3RpZmljYXRpb24p
IHsKKwkJJG5vdGlmaWNhdGlvblNldHRpbmdzRGFvID0mIERBT1JlZ2lzdHJ5OjpnZXREQU8oJ05v
dGlmaWNhdGlvblNldHRpbmdzREFPJyk7CisJCSRtYWlsTGlzdCA9ICRub3RpZmljYXRpb25TZXR0
aW5nc0Rhby0+Z2V0TWFpbExpc3QoKTsKKwkJCisJCWZvcmVhY2ggKCRtYWlsTGlzdCBhcyAkZW1h
aWwpIHsKKwkJCWlmICgkbm90aWZpY2F0aW9uLT5nZXRJc0xvY2FsaXplZCgpKSB7CisJCQkJJHBh
cmFtcyA9IGFycmF5KCdwYXJhbScgPT4gJG5vdGlmaWNhdGlvbi0+Z2V0UGFyYW0oKSk7CisJCQkJ
JG5vdGlmaWNhdGlvbkNvbnRlbnRzID0gTG9jYWxlOjp0cmFuc2xhdGUoJG5vdGlmaWNhdGlvbi0+
Z2V0Q29udGVudHMoKSwgJHBhcmFtcyk7CisJCQl9IGVsc2UgeworCQkJCSRub3RpZmljYXRpb25D
b250ZW50cyA9ICRub3RpZmljYXRpb24tPmdldENvbnRlbnRzKCk7CisJCQl9CisJCQkKKwkJCWlt
cG9ydCgnbWFpbC5NYWlsVGVtcGxhdGUnKTsKKwkJCSRqb3VybmFsID0mIFJlcXVlc3Q6OmdldEpv
dXJuYWwoKTsKKwkJCSRzaXRlID0mIFJlcXVlc3Q6OmdldFNpdGUoKTsKKwkJCQorCQkJJG1haWwg
PSBuZXcgTWFpbFRlbXBsYXRlKCdOT1RJRklDQVRJT05fTUFJTExJU1QnKTsKKwkJCSRtYWlsLT5z
ZXRGcm9tKCRzaXRlLT5nZXRTaXRlQ29udGFjdEVtYWlsKCksICRzaXRlLT5nZXRTaXRlQ29udGFj
dE5hbWUoKSk7CisJCQkkbWFpbC0+YXNzaWduUGFyYW1zKGFycmF5KAorCQkJCSdub3RpZmljYXRp
b25Db250ZW50cycgPT4gJG5vdGlmaWNhdGlvbkNvbnRlbnRzLAorCQkJCSd1cmwnID0+ICRub3Rp
ZmljYXRpb24tPmdldExvY2F0aW9uKCksCisJCQkJJ3NpdGVUaXRsZScgPT4gJGpvdXJuYWwtPmdl
dEpvdXJuYWxUaXRsZSgpLAorCQkJCSd1bnN1YnNjcmliZUxpbmsnID0+IFJlcXVlc3Q6OnVybChu
dWxsLCAnbm90aWZpY2F0aW9uJywgJ3Vuc3Vic2NyaWJlTWFpbExpc3QnKQorCQkJKSk7CisJCQkk
bWFpbC0+YWRkUmVjaXBpZW50KCRlbWFpbCk7CisJCQkkbWFpbC0+c2VuZCgpOworCQl9CisJCQor
CQkKKwl9CQorfQorCis/PgpJbmRleDogY2xhc3Nlcy9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9u
U2V0dGluZ3NEQU8uaW5jLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiBjbGFzc2VzL25vdGlmaWNh
dGlvbi9Ob3RpZmljYXRpb25TZXR0aW5nc0RBTy5pbmMucGhwCmRpZmYgLU4gY2xhc3Nlcy9ub3Rp
ZmljYXRpb24vTm90aWZpY2F0aW9uU2V0dGluZ3NEQU8uaW5jLnBocAotLS0gL2Rldi9udWxsCTEg
SmFuIDE5NzAgMDA6MDA6MDAgLTAwMDAKKysrIGNsYXNzZXMvbm90aWZpY2F0aW9uL05vdGlmaWNh
dGlvblNldHRpbmdzREFPLmluYy5waHAJMjYgSmFuIDIwMDkgMTk6Mzk6MjQgLTAwMDAKQEAgLTAs
MCArMSw0NTMgQEAKKzw/cGhwCisKKy8qKgorICogQGZpbGUgY2xhc3Nlcy9ub3RpZmljYXRpb24v
Tm90aWZpY2F0aW9uU2V0dGluZ3NEQU9EQU8uaW5jLnBocAorICoKKyAqIENvcHlyaWdodCAoYykg
MjAwMy0yMDA4IEpvaG4gV2lsbGluc2t5CisgKiBEaXN0cmlidXRlZCB1bmRlciB0aGUgR05VIEdQ
TCB2Mi4gRm9yIGZ1bGwgdGVybXMgc2VlIHRoZSBmaWxlIGRvY3MvQ09QWUlORy4KKyAqCisgKiBA
Y2xhc3MgTm90aWZpY2F0aW9uU2V0dGluZ3NEQU8KKyAqIEBpbmdyb3VwIG5vdGlmaWNhdGlvbgor
ICogQHNlZSBOb3RpZmljYXRpb24KKyAqCisgKiBAYnJpZWYgT3BlcmF0aW9ucyBmb3IgcmV0cmll
dmluZyBhbmQgbW9kaWZ5aW5nIHVzZXIncyBub3RpZmljYXRpb24gc2V0dGluZ3MuCisgKi8KKwor
Ly8gJElkOiBOb3RpZmljYXRpb25TZXR0aW5nc0RBTy5pbmMucGhwLHYgMS4xOSAyMDA4LzExLzA1
IDAwOjQ2OjM5IG1jcmlkZXIgRXhwICQKKworY2xhc3MgTm90aWZpY2F0aW9uU2V0dGluZ3NEQU8g
ZXh0ZW5kcyBEQU8geworCS8qKgorCSAqIENvbnN0cnVjdG9yLgorCSAqLworCWZ1bmN0aW9uIE5v
dGlmaWNhdGlvblNldHRpbmdzREFPKCkgeworCQlwYXJlbnQ6OkRBTygpOworCX0KKwkKKwkvKioK
KwkgKiBSZXRyaWV2ZSBOb3RpZmljYXRpb25zIHNldHRpbmdzIGJ5IHVzZXIgaWQKKwkgKiBSZXR1
cm5zIGFuIGFycmF5IG9mIG5vdGlmaWNhdGlvbiB0eXBlcyB0aGF0IHRoZSB1c2VyCisJICogZG9l
cyBOT1Qgd2FudCB0byBiZSBub3RpZmllZCBvZgorCSAqIEBwYXJhbSAkdXNlcklkIGludAorCSAq
IEByZXR1cm4gYXJyYXkKKwkgKi8KKwlmdW5jdGlvbiAmZ2V0Tm90aWZpY2F0aW9uU2V0dGluZ3Mo
JHVzZXJJZCkgeworCQkkYXBwbGljYXRpb24gPSYgUEtQQXBwbGljYXRpb246OmdldEFwcGxpY2F0
aW9uKCk7CisJCSRwcm9kdWN0TmFtZSA9ICRhcHBsaWNhdGlvbi0+Z2V0TmFtZSgpOworCQkkY29u
dGV4dCA9JiBSZXF1ZXN0OjpnZXRDb250ZXh0KCk7CisJCSRjb250ZXh0SWQgPSAkY29udGV4dC0+
Z2V0SWQoKTsKKwkJCisJCSRub3RpZmljYXRpb25TZXR0aW5ncyA9IGFycmF5KCk7CisJCisJCSRy
ZXN1bHQgPSYgJHRoaXMtPnJldHJpZXZlKAorCQkJJ1NFTEVDVCBzZXR0aW5nX3ZhbHVlIEZST00g
bm90aWZpY2F0aW9uX3NldHRpbmdzIFdIRVJFIHVzZXJfaWQgPSA/IEFORCBwcm9kdWN0ID0gPyBB
TkQgc2V0dGluZ19uYW1lID0gPyBBTkQgY29udGV4dCA9ID8nLAorCQkJCWFycmF5KChpbnQpICR1
c2VySWQsICRwcm9kdWN0TmFtZSwgJ25vdGlmeScsIChpbnQpICRjb250ZXh0SWQpCisJCSk7CisJ
CisJCXdoaWxlICghJHJlc3VsdC0+RU9GKSB7CisJCQkkcm93ID0gJHJlc3VsdC0+R2V0Um93QXNz
b2MoZmFsc2UpOworCQkJJG5vdGlmaWNhdGlvblNldHRpbmdzW10gPSAoaW50KSAkcm93WydzZXR0
aW5nX3ZhbHVlJ107CisJCQkkcmVzdWx0LT5tb3ZlTmV4dCgpOworCQl9CisKKwkJJHJlc3VsdC0+
Q2xvc2UoKTsKKwkJdW5zZXQoJHJlc3VsdCk7CisJCQorCQlyZXR1cm4gJG5vdGlmaWNhdGlvblNl
dHRpbmdzOworCX0KKwkKKwkvKioKKwkgKiBSZXRyaWV2ZSBOb3RpZmljYXRpb25zIGVtYWlsIHNl
dHRpbmdzIGJ5IHVzZXIgaWQKKwkgKiBSZXR1cm5zIGFuIGFycmF5IG9mIG5vdGlmaWNhdGlvbiB0
eXBlcyB0aGF0IHRoZSB1c2VyCisJICogRE9FUyB3YW50IHRvIGJlIGVtYWlsZWQgYWJvdXQKKwkg
KiBAcGFyYW0gJHVzZXJJZCBpbnQKKwkgKiBAcmV0dXJuIGFycmF5CisJICovCisJZnVuY3Rpb24g
JmdldE5vdGlmaWNhdGlvbkVtYWlsU2V0dGluZ3MoJHVzZXJJZCkgeworCQkkYXBwbGljYXRpb24g
PSYgUEtQQXBwbGljYXRpb246OmdldEFwcGxpY2F0aW9uKCk7CisJCSRwcm9kdWN0TmFtZSA9ICRh
cHBsaWNhdGlvbi0+Z2V0TmFtZSgpOworCQkkY29udGV4dCA9JiBSZXF1ZXN0OjpnZXRDb250ZXh0
KCk7CisJCSRjb250ZXh0SWQgPSAkY29udGV4dC0+Z2V0SWQoKTsKKwkJCisJCSRlbWFpbFNldHRp
bmdzID0gYXJyYXkoKTsKKwkKKwkJJHJlc3VsdCA9JiAkdGhpcy0+cmV0cmlldmUoCisJCQknU0VM
RUNUIHNldHRpbmdfdmFsdWUgRlJPTSBub3RpZmljYXRpb25fc2V0dGluZ3MgV0hFUkUgdXNlcl9p
ZCA9ID8gQU5EIHByb2R1Y3QgPSA/IEFORCBzZXR0aW5nX25hbWUgPSA/IEFORCBjb250ZXh0ID0g
PycsCisJCQkJYXJyYXkoKGludCkgJHVzZXJJZCwgJHByb2R1Y3ROYW1lLCAnZW1haWwnLCAoaW50
KSAkY29udGV4dElkKQorCQkpOworCQorCQl3aGlsZSAoISRyZXN1bHQtPkVPRikgeworCQkJJHJv
dyA9ICRyZXN1bHQtPkdldFJvd0Fzc29jKGZhbHNlKTsKKwkJCSRlbWFpbFNldHRpbmdzW10gPSAo
aW50KSAkcm93WydzZXR0aW5nX3ZhbHVlJ107CisJCQkkcmVzdWx0LT5tb3ZlTmV4dCgpOworCQl9
CisKKwkJJHJlc3VsdC0+Q2xvc2UoKTsKKwkJdW5zZXQoJHJlc3VsdCk7CisJCQorCQlyZXR1cm4g
JGVtYWlsU2V0dGluZ3M7CisJfQorCQorCS8qKgorCSAqIFVwZGF0ZSBhIHVzZXIncyBub3RpZmlj
YXRpb24gc2V0dGluZ3MKKwkgKiBAcGFyYW0gJG5vdGlmaWNhdGlvblNldHRpbmdzIGFycmF5CisJ
ICogQHBhcmFtICR1c2VySWQgaW50CisJICovCisJZnVuY3Rpb24gdXBkYXRlTm90aWZpY2F0aW9u
U2V0dGluZ3MoJG5vdGlmaWNhdGlvblNldHRpbmdzLCAkdXNlcklkKSB7CisJCSRhcHBsaWNhdGlv
biA9JiBQS1BBcHBsaWNhdGlvbjo6Z2V0QXBwbGljYXRpb24oKTsKKwkJJHByb2R1Y3ROYW1lID0g
JGFwcGxpY2F0aW9uLT5nZXROYW1lKCk7CisJCSRjb250ZXh0ID0mIFJlcXVlc3Q6OmdldENvbnRl
eHQoKTsKKwkJJGNvbnRleHRJZCA9ICRjb250ZXh0LT5nZXRJZCgpOwkJCisJCQorCQkvLyBEZWxl
dGUgb2xkIHNldHRpbmdzIGZpcnN0LCB0aGVuIGluc2VydCBuZXcgc2V0dGluZ3MKKwkJJHRoaXMt
PnVwZGF0ZSgnREVMRVRFIEZST00gbm90aWZpY2F0aW9uX3NldHRpbmdzIFdIRVJFIHVzZXJfaWQg
PSA/IEFORCBwcm9kdWN0ID0gPyBBTkQgc2V0dGluZ19uYW1lID0gPyBBTkQgY29udGV4dCA9ID8n
LAorCQkJYXJyYXkoKGludCkgJHVzZXJJZCwgJHByb2R1Y3ROYW1lLCAnbm90aWZ5JywgKGludCkg
JGNvbnRleHRJZCkpOworCQorCQlmb3IgKCRpPTA7ICRpPGNvdW50KCRub3RpZmljYXRpb25TZXR0
aW5ncyk7ICRpKyspIHsKKwkJCSR0aGlzLT51cGRhdGUoCisJCQkJJ0lOU0VSVCBJTlRPIG5vdGlm
aWNhdGlvbl9zZXR0aW5ncworCQkJCQkoc2V0dGluZ19uYW1lLCBzZXR0aW5nX3ZhbHVlLCB1c2Vy
X2lkLCBwcm9kdWN0LCBjb250ZXh0KQorCQkJCQlWQUxVRVMKKwkJCQkJKD8sID8sID8sID8sID8p
JywKKwkJCQlhcnJheSgKKwkJCQkJIm5vdGlmeSIsCisJCQkJCSRub3RpZmljYXRpb25TZXR0aW5n
c1skaV0sCisJCQkJCShpbnQpICR1c2VySWQsCisJCQkJCSRwcm9kdWN0TmFtZSwKKwkJCQkJKGlu
dCkgJGNvbnRleHRJZAorCQkJCSkKKwkJCSk7CisJCX0KKwl9CisJCisJLyoqCisJICogVXBkYXRl
IGEgdXNlcidzIG5vdGlmaWNhdGlvbiBlbWFpbCBzZXR0aW5ncworCSAqIEBwYXJhbSAkbm90aWZp
Y2F0aW9uRW1haWxTZXR0aW5ncyBhcnJheQorCSAqIEBwYXJhbSAkdXNlcklkIGludAorCSAqLwor
CWZ1bmN0aW9uIHVwZGF0ZU5vdGlmaWNhdGlvbkVtYWlsU2V0dGluZ3MoJGVtYWlsU2V0dGluZ3Ms
ICR1c2VySWQpIHsKKwkJJGFwcGxpY2F0aW9uID0mIFBLUEFwcGxpY2F0aW9uOjpnZXRBcHBsaWNh
dGlvbigpOworCQkkcHJvZHVjdE5hbWUgPSAkYXBwbGljYXRpb24tPmdldE5hbWUoKTsKKwkJJGNv
bnRleHQgPSYgUmVxdWVzdDo6Z2V0Q29udGV4dCgpOworCQkkY29udGV4dElkID0gJGNvbnRleHQt
PmdldElkKCk7CisJCQorCQkvLyBEZWxldGUgb2xkIHNldHRpbmdzIGZpcnN0LCB0aGVuIGluc2Vy
dCBuZXcgc2V0dGluZ3MKKwkJJHRoaXMtPnVwZGF0ZSgnREVMRVRFIEZST00gbm90aWZpY2F0aW9u
X3NldHRpbmdzIFdIRVJFIHVzZXJfaWQgPSA/IEFORCBwcm9kdWN0ID0gPyBBTkQgc2V0dGluZ19u
YW1lID0gPyBBTkQgY29udGV4dCA9ID8nLAorCQkJYXJyYXkoJHVzZXJJZCwgJHByb2R1Y3ROYW1l
LCAnZW1haWwnLCAkY29udGV4dElkKSk7CisJCisJCWZvciAoJGk9MDsgJGk8Y291bnQoJGVtYWls
U2V0dGluZ3MpOyAkaSsrKSB7CisJCQkkdGhpcy0+dXBkYXRlKAorCQkJCSdJTlNFUlQgSU5UTyBu
b3RpZmljYXRpb25fc2V0dGluZ3MKKwkJCQkJKHNldHRpbmdfbmFtZSwgc2V0dGluZ192YWx1ZSwg
dXNlcl9pZCwgcHJvZHVjdCwgY29udGV4dCkKKwkJCQkJVkFMVUVTCisJCQkJCSg/LCA/LCA/LCA/
LCA/KScsCisJCQkJYXJyYXkoCisJCQkJCSJlbWFpbCIsCisJCQkJCSRlbWFpbFNldHRpbmdzWyRp
XSwKKwkJCQkJKGludCkgJHVzZXJJZCwKKwkJCQkJJHByb2R1Y3ROYW1lLAorCQkJCQkoaW50KSAk
Y29udGV4dElkCisJCQkJKQorCQkJKTsKKwkJfQorCX0KKwkKKwkvKioKKwkgKiBHZXRzIGEgdXNl
ciBpZCBieSBhbiBSU1MgdG9rZW4gdmFsdWUKKwkgKiBAcGFyYW0gJHRva2VuIGludAorCSAqIEBy
ZXR1cm4gaW50CisJICovCisJZnVuY3Rpb24gZ2V0VXNlcklkQnlSU1NUb2tlbigkdG9rZW4pIHsK
KwkJJGFwcGxpY2F0aW9uID0mIFBLUEFwcGxpY2F0aW9uOjpnZXRBcHBsaWNhdGlvbigpOworCQkk
cHJvZHVjdE5hbWUgPSAkYXBwbGljYXRpb24tPmdldE5hbWUoKTsKKwkJJGNvbnRleHQgPSYgUmVx
dWVzdDo6Z2V0Q29udGV4dCgpOworCQkkY29udGV4dElkID0gJGNvbnRleHQtPmdldElkKCk7CisJ
CisJCSRyZXN1bHQgPSYgJHRoaXMtPnJldHJpZXZlKAorCQkJJ1NFTEVDVCB1c2VyX2lkIEZST00g
bm90aWZpY2F0aW9uX3NldHRpbmdzIFdIRVJFIHNldHRpbmdfdmFsdWUgPSA/IEFORCBzZXR0aW5n
X25hbWUgPSA/IEFORCBwcm9kdWN0ID0gPyBBTkQgY29udGV4dCA9ID8nLAorCQkJCWFycmF5KCR0
b2tlbiwgJ3Rva2VuJywgJHByb2R1Y3ROYW1lLCAoaW50KSAkY29udGV4dElkKQorCQkpOworCisJ
CSRyb3cgPSAkcmVzdWx0LT5HZXRSb3dBc3NvYyhmYWxzZSk7CisJCSR1c2VySWQgPSAkcm93Wyd1
c2VyX2lkJ107CisKKwkJJHJlc3VsdC0+Q2xvc2UoKTsKKwkJdW5zZXQoJHJlc3VsdCk7CisJCQor
CQlyZXR1cm4gJHVzZXJJZDsKKwl9CisKKwkvKioKKwkgKiBHZXRzIGFuIFJTUyB0b2tlbiBmb3Ig
YSB1c2VyIGlkCisJICogQHBhcmFtICR1c2VySWQgaW50CisJICogQHJldHVybiBpbnQKKwkgKi8K
KwlmdW5jdGlvbiBnZXRSU1NUb2tlbkJ5VXNlcklkKCR1c2VySWQpIHsKKwkJJGFwcGxpY2F0aW9u
ID0mIFBLUEFwcGxpY2F0aW9uOjpnZXRBcHBsaWNhdGlvbigpOworCQkkcHJvZHVjdE5hbWUgPSAk
YXBwbGljYXRpb24tPmdldE5hbWUoKTsKKwkJJGNvbnRleHQgPSYgUmVxdWVzdDo6Z2V0Q29udGV4
dCgpOworCQkkY29udGV4dElkID0gJGNvbnRleHQtPmdldElkKCk7CisJCisJCSRyZXN1bHQgPSYg
JHRoaXMtPnJldHJpZXZlKAorCQkJJ1NFTEVDVCBzZXR0aW5nX3ZhbHVlIEZST00gbm90aWZpY2F0
aW9uX3NldHRpbmdzIFdIRVJFIHVzZXJfaWQgPSA/IEFORCBzZXR0aW5nX25hbWUgPSA/IEFORCBw
cm9kdWN0ID0gPyBBTkQgY29udGV4dCA9ID8nLAorCQkJCWFycmF5KChpbnQpICR1c2VySWQsICd0
b2tlbicsICRwcm9kdWN0TmFtZSwgKGludCkgJGNvbnRleHRJZCkKKwkJKTsKKworCQkkcm93ID0g
JHJlc3VsdC0+R2V0Um93QXNzb2MoZmFsc2UpOworCQkkdXNlcklkID0gJHJvd1snc2V0dGluZ192
YWx1ZSddOworCisJCSRyZXN1bHQtPkNsb3NlKCk7CisJCXVuc2V0KCRyZXN1bHQpOworCQkKKwkJ
cmV0dXJuICR1c2VySWQ7CisJfQorCisJLyoqCisJICogR2VuZXJhdGVzIGFuZCBpbnNlcnRzIGEg
bmV3IHRva2VuIGZvciBhIHVzZXIncyBSU1MgZmVlZAorCSAqIEBwYXJhbSAkdXNlcklkIGludAor
CSAqIEByZXR1cm4gaW50CisJICovCisJZnVuY3Rpb24gaW5zZXJ0TmV3UlNTVG9rZW4oJHVzZXJJ
ZCkgeworCQkkYXBwbGljYXRpb24gPSYgUEtQQXBwbGljYXRpb246OmdldEFwcGxpY2F0aW9uKCk7
CisJCSRwcm9kdWN0TmFtZSA9ICRhcHBsaWNhdGlvbi0+Z2V0TmFtZSgpOworCQkkY29udGV4dCA9
JiBSZXF1ZXN0OjpnZXRDb250ZXh0KCk7CisJCSRjb250ZXh0SWQgPSAkY29udGV4dC0+Z2V0SWQo
KTsKKwkJCisJCSR0b2tlbiA9IHVuaXFpZChyYW5kKCkpOworCQorCQkkdGhpcy0+dXBkYXRlKAor
CQkJJ0lOU0VSVCBJTlRPIG5vdGlmaWNhdGlvbl9zZXR0aW5ncworCQkJCShzZXR0aW5nX25hbWUs
IHNldHRpbmdfdmFsdWUsIHVzZXJfaWQsIHByb2R1Y3QsIGNvbnRleHQpCisJCQkJVkFMVUVTCisJ
CQkJKD8sID8sID8sID8sID8pJywKKwkJCWFycmF5KAorCQkJCSd0b2tlbicsCisJCQkJJHRva2Vu
LAorCQkJCShpbnQpICR1c2VySWQsCisJCQkJJHByb2R1Y3ROYW1lLAorCQkJCShpbnQpICRjb250
ZXh0SWQKKwkJCSkKKwkJKTsKKworCQlyZXR1cm4gJHRva2VuOworCX0KKwkKKwkvKioKKwkgKiBH
ZW5lcmF0ZXMgYW4gYWNjZXNzIGtleSBmb3IgdGhlIGd1ZXN0IHVzZXIgYW5kIGFkZHMgdGhlbSB0
byB0aGUgc2V0dGluZ3MgdGFibGUKKwkgKiBAcGFyYW0gJHVzZXJJZCBpbnQKKwkgKiBAcmV0dXJu
IGludAorCSAqLworCWZ1bmN0aW9uIHN1YnNjcmliZUd1ZXN0KCRlbWFpbCkgeworCQkkYXBwbGlj
YXRpb24gPSYgUEtQQXBwbGljYXRpb246OmdldEFwcGxpY2F0aW9uKCk7CisJCSRwcm9kdWN0TmFt
ZSA9ICRhcHBsaWNhdGlvbi0+Z2V0TmFtZSgpOworCQkkY29udGV4dCA9JiBSZXF1ZXN0OjpnZXRD
b250ZXh0KCk7CisJCSRjb250ZXh0SWQgPSAkY29udGV4dC0+Z2V0SWQoKTsKKworCQkvLyBDaGVj
ayB0aGF0IHRoZSBlbWFpbCBkb2Vzbid0IGFscmVhZHkgZXhpc3QKKwkJJHJlc3VsdCA9JiAkdGhp
cy0+cmV0cmlldmUoCisJCQknU0VMRUNUICogRlJPTSBub3RpZmljYXRpb25fc2V0dGluZ3MgV0hF
UkUgc2V0dGluZ19uYW1lID0gPyBBTkQgc2V0dGluZ192YWx1ZSA9ID8gQU5EIHByb2R1Y3QgPSA/
IEFORCBjb250ZXh0ID0gPycsCisJCQlhcnJheSgKKwkJCQknbWFpbExpc3QnLAorCQkJCSRlbWFp
bCwKKwkJCQkkcHJvZHVjdE5hbWUsCisJCQkJKGludCkgJGNvbnRleHRJZAorCQkJKQorCQkpOwor
CisJCWlmICgkcmVzdWx0LT5SZWNvcmRDb3VudCgpICE9IDApIHsKKwkJCXJldHVybiBmYWxzZTsK
KwkJfSBlbHNlIHsJCQorCQkJJHRoaXMtPnVwZGF0ZSgKKwkJCQknSU5TRVJUIElOVE8gbm90aWZp
Y2F0aW9uX3NldHRpbmdzCisJCQkJCShzZXR0aW5nX25hbWUsIHNldHRpbmdfdmFsdWUsIHVzZXJf
aWQsIHByb2R1Y3QsIGNvbnRleHQpCisJCQkJCVZBTFVFUworCQkJCQkoPywgPywgPywgPywgPykn
LAorCQkJCWFycmF5KAorCQkJCQknbWFpbExpc3RVbmNvbWZpcm1lZCcsCisJCQkJCSRlbWFpbCwK
KwkJCQkJMCwKKwkJCQkJJHByb2R1Y3ROYW1lLAorCQkJCQkoaW50KSAkY29udGV4dElkCisJCQkJ
KQorCQkJKTsKKwkJfQkKKworCQkvLyBHZXQgYXNzb2NfaWQgaW50byBub3RpZmljYXRpb25fc2V0
dGluZ3MgdGFibGUsIGFsc28gdXNlZCBhcyB1c2VyX2lkIGZvciBhY2Nlc3Mga2V5CisJCSRhc3Nv
Y0lkID0gJHRoaXMtPmdldEluc2VydE5vdGlmaWNhdGlvblNldHRpbmdJZCgpOworCisJCWltcG9y
dCgnc2VjdXJpdHkuQWNjZXNzS2V5TWFuYWdlcicpOworCQkkYWNjZXNzS2V5TWFuYWdlciA9IG5l
dyBBY2Nlc3NLZXlNYW5hZ2VyKCk7CisKKwkJJHBhc3N3b3JkID0gJGFjY2Vzc0tleU1hbmFnZXIt
PmNyZWF0ZUtleSgnTWFpbExpc3RDb250ZXh0JywgJGFzc29jSWQsICRhc3NvY0lkLCAxMDAwMCk7
CisJCXJldHVybiAkcGFzc3dvcmQ7CisJfQorCQorCQorCQorCS8qKgorCSAqIFJlbW92ZXMgYW4g
ZW1haWwgYWRkcmVzcyBhbmQgYXNzb2NpYXRlZCBhY2Nlc3Mga2V5IGZyb20gZW1haWwgbm90aWZp
Y2F0aW9ucworCSAqIEBwYXJhbSAkZW1haWwgc3RyaW5nCisJICogQHBhcmFtICRwYXNzd29yZCBz
dHJpbmcKKwkgKiBAcmV0dXJuIGJvb2xlYW4KKwkgKi8KKwlmdW5jdGlvbiB1bnN1YnNjcmliZUd1
ZXN0KCRlbWFpbCwgJHBhc3N3b3JkKSB7CisJCSRhcHBsaWNhdGlvbiA9JiBQS1BBcHBsaWNhdGlv
bjo6Z2V0QXBwbGljYXRpb24oKTsKKwkJJHByb2R1Y3ROYW1lID0gJGFwcGxpY2F0aW9uLT5nZXRO
YW1lKCk7CisJCSRjb250ZXh0ID0mIFJlcXVlc3Q6OmdldENvbnRleHQoKTsKKwkJJGNvbnRleHRJ
ZCA9ICRjb250ZXh0LT5nZXRJZCgpOworCQkKKwkJJHJlc3VsdCA9JiAkdGhpcy0+cmV0cmlldmUo
CisJCQknU0VMRUNUIHNldHRpbmdfaWQgRlJPTSBub3RpZmljYXRpb25fc2V0dGluZ3MgV0hFUkUg
c2V0dGluZ19uYW1lID0gPyBBTkQgcHJvZHVjdCA9ID8gQU5EIGNvbnRleHQgPSA/JywKKwkJCWFy
cmF5KAorCQkJCSdtYWlsTGlzdCcsCisJCQkJJHByb2R1Y3ROYW1lLAorCQkJCShpbnQpICRjb250
ZXh0SWQKKwkJCSkKKwkJKTsKKworCQkkcm93ID0gJHJlc3VsdC0+R2V0Um93QXNzb2MoZmFsc2Up
OworCQkkdXNlcklkID0gKGludCkgJHJvd1snc2V0dGluZ19pZCddOworCisJCSRyZXN1bHQtPkNs
b3NlKCk7CisJCXVuc2V0KCRyZXN1bHQpOworCisJCWltcG9ydCgnc2VjdXJpdHkuQWNjZXNzS2V5
TWFuYWdlcicpOworCQkkYWNjZXNzS2V5TWFuYWdlciA9IG5ldyBBY2Nlc3NLZXlNYW5hZ2VyKCk7
CisJCSRhY2Nlc3NLZXlIYXNoID0gQWNjZXNzS2V5TWFuYWdlcjo6Z2VuZXJhdGVLZXlIYXNoKCRw
YXNzd29yZCk7CisJCSRhY2Nlc3NLZXkgPSAkYWNjZXNzS2V5TWFuYWdlci0+dmFsaWRhdGVLZXko
J01haWxMaXN0Q29udGV4dCcsICR1c2VySWQsICRhY2Nlc3NLZXlIYXNoKTsKKworCQlpZiAoJGFj
Y2Vzc0tleSkgeworCQkJJHRoaXMtPnVwZGF0ZSgKKwkJCQknREVMRVRFIEZST00gbm90aWZpY2F0
aW9uX3NldHRpbmdzIFdIRVJFIHNldHRpbmdfbmFtZSA9ID8gQU5EIHNldHRpbmdfdmFsdWUgPSA/
IEFORCBwcm9kdWN0ID0gPyBBTkQgY29udGV4dCA9ID8nLAorCQkJCWFycmF5KAorCQkJCQknbWFp
bExpc3QnLAorCQkJCQkkZW1haWwsCisJCQkJCSRwcm9kdWN0TmFtZSwKKwkJCQkJKGludCkgJGNv
bnRleHRJZAorCQkJCSkKKwkJCSk7CisJCQkkYWNjZXNzS2V5RGFvID0mIERBT1JlZ2lzdHJ5Ojpn
ZXREQU8oJ0FjY2Vzc0tleURBTycpOworCQkJJGFjY2Vzc0tleURhby0+ZGVsZXRlQWNjZXNzS2V5
KCRhY2Nlc3NLZXkpOworCQkJcmV0dXJuIHRydWU7CisJCX0gZWxzZSByZXR1cm4gZmFsc2U7CQor
CX0KKwkKKwkvKioKKwkgKiBHZXRzIHRoZSBzZXR0aW5nIGlkIGZvciBhIG1haWxsaXN0IG1lbWJl
ciAodG8gYWNjZXNzIHRoZSBhY2NvbXBhbnlpbmcgYWNjZXNzIGtleSkKKwkgKiBAcmV0dXJuIGFy
cmF5CisJICovCisJZnVuY3Rpb24gZ2V0TWFpbExpc3RTZXR0aW5nSWQoJGVtYWlsLCAkc2V0dGlu
Z05hbWUgPSAnbWFpbExpc3RVbmNvbWZpcm1lZCcpIHsKKwkJJGFwcGxpY2F0aW9uID0mIFBLUEFw
cGxpY2F0aW9uOjpnZXRBcHBsaWNhdGlvbigpOworCQkkcHJvZHVjdE5hbWUgPSAkYXBwbGljYXRp
b24tPmdldE5hbWUoKTsKKwkJJGNvbnRleHQgPSYgUmVxdWVzdDo6Z2V0Q29udGV4dCgpOworCQkk
Y29udGV4dElkID0gJGNvbnRleHQtPmdldElkKCk7CQorCQkKKwkJJHJlc3VsdCA9JiAkdGhpcy0+
cmV0cmlldmUoCisJCQknU0VMRUNUIHNldHRpbmdfaWQgRlJPTSBub3RpZmljYXRpb25fc2V0dGlu
Z3MgV0hFUkUgc2V0dGluZ19uYW1lID0gPyBBTkQgc2V0dGluZ192YWx1ZSA9ID8gQU5EIHByb2R1
Y3QgPSA/IEFORCBjb250ZXh0ID0gPycsCisJCQlhcnJheSgKKwkJCQkkc2V0dGluZ05hbWUsCisJ
CQkJJGVtYWlsLAorCQkJCSRwcm9kdWN0TmFtZSwKKwkJCQkoaW50KSAkY29udGV4dElkCisJCQkp
CisJCSk7CisJCQorCQkkcm93ID0gJHJlc3VsdC0+R2V0Um93QXNzb2MoZmFsc2UpOworCQkkc2V0
dGluZ0lkID0gKGludCkgJHJvd1snc2V0dGluZ19pZCddOworCQkKKwkJcmV0dXJuICRzZXR0aW5n
SWQ7CisJfQorCQorCS8qKgorCSAqIFVwZGF0ZSB0aGUgbm90aWZpY2F0aW9uIHNldHRpbmdzIHRh
YmxlIHRvIGNvbmZpcm0gdGhlIG1haWxpbmcgbGlzdCBzdWJzY3JpcHRpb24KKwkgKiBAcmV0dXJu
IGJvb2xlYW4KKwkgKi8KKwlmdW5jdGlvbiBjb25maXJtTWFpbExpc3RTdWJzY3JpcHRpb24oJHNl
dHRpbmdJZCkgeworCQlyZXR1cm4gJHRoaXMtPnVwZGF0ZSgKKwkJCSdVUERBVEUgbm90aWZpY2F0
aW9uX3NldHRpbmdzIFNFVCBzZXR0aW5nX25hbWUgPSA/IFdIRVJFIHNldHRpbmdfaWQgPSA/JywK
KwkJCWFycmF5KCdtYWlsTGlzdCcsIChpbnQpICRzZXR0aW5nSWQpCisJCSk7CisJfQorCisJLyoq
CisJICogR2V0cyBhIGxpc3Qgb2YgZW1haWwgYWRkcmVzc2VzIG9mIHVzZXJzIHN1YnNjcmliZWQg
dG8gdGhlIG1haWxpbmcgbGlzdAorCSAqIEByZXR1cm4gYXJyYXkKKwkgKi8KKwlmdW5jdGlvbiBn
ZXRNYWlsTGlzdCgpIHsKKwkJJGFwcGxpY2F0aW9uID0mIFBLUEFwcGxpY2F0aW9uOjpnZXRBcHBs
aWNhdGlvbigpOworCQkkcHJvZHVjdE5hbWUgPSAkYXBwbGljYXRpb24tPmdldE5hbWUoKTsKKwkJ
JGNvbnRleHQgPSYgUmVxdWVzdDo6Z2V0Q29udGV4dCgpOworCQkkY29udGV4dElkID0gJGNvbnRl
eHQtPmdldElkKCk7CisJCSRtYWlsTGlzdCA9IGFycmF5KCk7CisJCQorCQkkcmVzdWx0ID0mICR0
aGlzLT5yZXRyaWV2ZSgKKwkJCSdTRUxFQ1Qgc2V0dGluZ192YWx1ZSBGUk9NIG5vdGlmaWNhdGlv
bl9zZXR0aW5ncyBXSEVSRSBzZXR0aW5nX25hbWUgPSA/IEFORCBwcm9kdWN0ID0gPyBBTkQgY29u
dGV4dCA9ID8nLAorCQkJYXJyYXkoCisJCQkJJ21haWxMaXN0JywKKwkJCQkkcHJvZHVjdE5hbWUs
CisJCQkJKGludCkgJGNvbnRleHRJZAorCQkJKQorCQkpOworCisJCXdoaWxlICghJHJlc3VsdC0+
RU9GKSB7CisJCQkkcm93ID0gJHJlc3VsdC0+R2V0Um93QXNzb2MoZmFsc2UpOworCQkJJG1haWxM
aXN0W10gPSAkcm93WydzZXR0aW5nX3ZhbHVlJ107CisJCQkkcmVzdWx0LT5tb3ZlTmV4dCgpOwor
CQl9CisKKwkJJHJlc3VsdC0+Q2xvc2UoKTsKKwkJdW5zZXQoJHJlc3VsdCk7CisJCQorCQlyZXR1
cm4gJG1haWxMaXN0OworCX0KKworCS8qKgorCSAqIEdlbmVyYXRlcyBhbmQgaW5zZXJ0cyBhIG5l
dyBwYXNzd29yZCBmb3IgYSBtYWlsaW5nIGxpc3QgdXNlcgorCSAqIEBwYXJhbSAkZW1haWwgc3Ry
aW5nCisJICogQHJldHVybiBzdHJpbmcKKwkgKi8KKwlmdW5jdGlvbiByZXNldFBhc3N3b3JkKCRl
bWFpbCkgeworCQkkYXBwbGljYXRpb24gPSYgUEtQQXBwbGljYXRpb246OmdldEFwcGxpY2F0aW9u
KCk7CisJCSRwcm9kdWN0TmFtZSA9ICRhcHBsaWNhdGlvbi0+Z2V0TmFtZSgpOworCQkkY29udGV4
dCA9JiBSZXF1ZXN0OjpnZXRDb250ZXh0KCk7CisJCSRjb250ZXh0SWQgPSAkY29udGV4dC0+Z2V0
SWQoKTsKKwkJCisJCSRyZXN1bHQgPSYgJHRoaXMtPnJldHJpZXZlKAorCQkJJ1NFTEVDVCBzZXR0
aW5nX2lkIEZST00gbm90aWZpY2F0aW9uX3NldHRpbmdzIFdIRVJFIHNldHRpbmdfbmFtZSA9ID8g
QU5EIHNldHRpbmdfdmFsdWUgPSA/IEFORCBwcm9kdWN0ID0gPyBBTkQgY29udGV4dCA9ID8nLAor
CQkJYXJyYXkoCisJCQkJJ21haWxMaXN0JywKKwkJCQkkZW1haWwsCisJCQkJJHByb2R1Y3ROYW1l
LAorCQkJCShpbnQpICRjb250ZXh0SWQKKwkJCSkKKwkJKTsKKworCQkkcm93ID0gJHJlc3VsdC0+
R2V0Um93QXNzb2MoZmFsc2UpOworCQkkc2V0dGluZ0lkID0gJHJvd1snc2V0dGluZ19pZCddOwor
CisJCSRyZXN1bHQtPkNsb3NlKCk7CisJCXVuc2V0KCRyZXN1bHQpOworCisJCSRhY2Nlc3NLZXlE
YW8gPSYgREFPUmVnaXN0cnk6OmdldERBTygnQWNjZXNzS2V5REFPJyk7CisJCSRhY2Nlc3NLZXkg
PSAkYWNjZXNzS2V5RGFvLT5nZXRBY2Nlc3NLZXlCeVVzZXJJZCgnTWFpbExpc3RDb250ZXh0Jywg
JHNldHRpbmdJZCk7CisKKwkJaWYgKCRhY2Nlc3NLZXkpIHsKKwkJCSRrZXkgPSBWYWxpZGF0aW9u
OjpnZW5lcmF0ZVBhc3N3b3JkKCk7CisJCQkkYWNjZXNzS2V5LT5zZXRLZXlIYXNoKG1kNSgka2V5
KSk7CisJCQkKKwkJCSRhY2Nlc3NLZXlEYW8gPSYgREFPUmVnaXN0cnk6OmdldERBTygnQWNjZXNz
S2V5REFPJyk7CisJCQkkYWNjZXNzS2V5RGFvLT51cGRhdGVBY2Nlc3NLZXkoJGFjY2Vzc0tleSk7
CisJCQlyZXR1cm4gJGtleTsKKwkJfSBlbHNlIHJldHVybiBmYWxzZTsKKwl9CisKKwkvKioKKwkg
KiBHZXQgdGhlIElEIG9mIHRoZSBsYXN0IGluc2VydGVkIG5vdGlmaWNhdGlvbgorCSAqIEByZXR1
cm4gaW50CisJICovCisJZnVuY3Rpb24gZ2V0SW5zZXJ0Tm90aWZpY2F0aW9uU2V0dGluZ0lkKCkg
eworCQlyZXR1cm4gJHRoaXMtPmdldEluc2VydElkKCdub3RpZmljYXRpb25fc2V0dGluZ3MnLCAn
c2V0dGluZ19pZCcpOworCX0KKworfQorCis/PgpJbmRleDogY2xhc3Nlcy9ub3RpZmljYXRpb24v
UEtQTm90aWZpY2F0aW9uLmluYy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogY2xhc3Nlcy9ub3Rp
ZmljYXRpb24vUEtQTm90aWZpY2F0aW9uLmluYy5waHAKZGlmZiAtTiBjbGFzc2VzL25vdGlmaWNh
dGlvbi9QS1BOb3RpZmljYXRpb24uaW5jLnBocAotLS0gL2Rldi9udWxsCTEgSmFuIDE5NzAgMDA6
MDA6MDAgLTAwMDAKKysrIGNsYXNzZXMvbm90aWZpY2F0aW9uL1BLUE5vdGlmaWNhdGlvbi5pbmMu
cGhwCTI2IEphbiAyMDA5IDE5OjM5OjI0IC0wMDAwCkBAIC0wLDAgKzEsMjUyIEBACis8P3BocAor
CisvKioKKyAqIEBmaWxlIGNsYXNzZXMvbm90aWZpY2F0aW9uL05vdGlmaWNhdGlvbi5pbmMucGhw
CisgKgorICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMDggSm9obiBXaWxsaW5za3kKKyAqIERpc3Ry
aWJ1dGVkIHVuZGVyIHRoZSBHTlUgR1BMIHYyLiBGb3IgZnVsbCB0ZXJtcyBzZWUgdGhlIGZpbGUg
ZG9jcy9DT1BZSU5HLgorICoKKyAqIEBjbGFzcyBOb3RpZmljYXRpb24KKyAqIEBpbmdyb3VwIG5v
dGlmaWNhdGlvbgorICogQHNlZSBOb3RpZmljYXRpb25EQU8KKyAqIEBicmllZiBDbGFzcyBmb3Ig
Tm90aWZpY2F0aW9uLgorICovCisKKy8vICRJZDogTm90aWZpY2F0aW9uLmluYy5waHAsdiAxLjEw
IDIwMDgvMDcvMDEgMDE6MTY6MDkgYXNtZWNoZXIgRXhwICQKKworaW1wb3J0KCdub3RpZmljYXRp
b24uTm90aWZpY2F0aW9uREFPJyk7CisKK2NsYXNzIFBLUE5vdGlmaWNhdGlvbiBleHRlbmRzIERh
dGFPYmplY3QgeworCisJLyoqCisJICogQ29uc3RydWN0b3IuCisJICovCisJZnVuY3Rpb24gUEtQ
Tm90aWZpY2F0aW9uKCkgeworCQlwYXJlbnQ6OkRhdGFPYmplY3QoKTsKKwl9CisJCisJLyoqCisJ
ICogQ3JlYXRlIGEgbmV3IG5vdGlmaWNhdGlvbiB3aXRoIHRoZSBzcGVjaWZpZWQgYXJndW1lbnRz
IGFuZCBpbnNlcnQgaW50byBEQgorCSAqIFRoaXMgaXMgYSBzdGF0aWMgbWV0aG9kCisJICogQHBh
cmFtICR1c2VySWQgaW50CisJICogQHBhcmFtICRjb250ZW50cyBzdHJpbmcKKwkgKiBAcGFyYW0g
JHBhcmFtIHN0cmluZworCSAqIEBwYXJhbSAkbG9jYXRpb24gc3RyaW5nCisJICogQHBhcmFtICRp
c0xvY2FsaXplZCBib29sCisJICogQHBhcmFtICRhc3NvY1R5cGUgaW50CisJICogQHBhcmFtICRh
c3NvY0lkIGludAorCSAqIEByZXR1cm4gTm90aWZpY2F0aW9uIG9iamVjdAorCSAqLworCWZ1bmN0
aW9uIGNyZWF0ZU5vdGlmaWNhdGlvbigkdXNlcklkLCAkY29udGVudHMsICRwYXJhbSwgJGxvY2F0
aW9uLCAkaXNMb2NhbGl6ZWQsICRhc3NvY1R5cGUpIHsKKwkJJG5vdGlmaWNhdGlvbiA9IG5ldyBO
b3RpZmljYXRpb24oKTsKKwkJJGNvbnRleHQgPSYgUmVxdWVzdDo6Z2V0Q29udGV4dCgpOworCQkk
Y29udGV4dElkID0gJGNvbnRleHQtPmdldElkKCk7CisKKwkJJG5vdGlmaWNhdGlvbi0+c2V0VXNl
cklkKCR1c2VySWQpOworCQkkbm90aWZpY2F0aW9uLT5zZXRDb250ZW50cygkY29udGVudHMpOwor
CQkkbm90aWZpY2F0aW9uLT5zZXRQYXJhbSgkcGFyYW0pOworCQkkbm90aWZpY2F0aW9uLT5zZXRM
b2NhdGlvbigkbG9jYXRpb24pOworCQkkbm90aWZpY2F0aW9uLT5zZXRJc0xvY2E=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>1356</attachid>
            <date>2009-01-26 11:45:00 -0800</date>
            <delta_ts>2009-01-26 11:45:02 -0800</delta_ts>
            <desc>Images for PKP pre-2.3 CVS</desc>
            <filename>pkp.tar.gz</filename>
            <type>application/x-gzip</type>
            <size>54700</size>
            <attacher>mattcrider</attacher>
            
              <data encoding="base64">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
rPrsB0bGJqAv3zc0t7Z3DI6MQz/f0d3b1dsPfTk+PtE3ODQxMdnTN9De2Q19bmhqqX5XOzk1VZy/
D9KVFStW4HC4lStXiomJrVq1SlxcXEJCQlJSUkpKavXq1WvWrJGWll67du26devWr1//eXHIQNVB
Vk5OTl5efsOGDRs3QgtEQVFRcdOmTZs3b96yZYuSktLWrVu3bdv2yy+/EAgEIpGorKysoqKiqqq6
ffv2HTt27Ny5U01NTV1dXUNDY9euXZqamrt3796zZ8+vv/6qpaWlra2to6Ozd+9eXV1dPT29ffv2
7d+/X19f/8CBAwYGBgcPHjQ0NDx06JCRkdHhw4dJJJKxsbGJiYmpqamZmZm5ufmRI0csLCwsLS2P
Hj167Nix48ePW1lZnThx4uTJk9bW1jY2NqdOnbK1tT19+rSdnd2ZM2fs7e0dHBwcHR2dnJycnZ1d
XFxcXV3Pnj177ty58+fPk8lkCoXi5ubm7u7u4eHh6enp5eXl7e3t4+Pj6+vr5+d34cIFf3//gICA
wMDAoKCg4ODgkJCQ0NDQsLCw8PDwiIiIixcvXrp0KTIyMioqKjo6OiYm5vLly1euXImNjY2Li4uP
j09ISLh69WpiYuK1a9euX7+elJR048aN5OTkmzdvpqSk3Lp1KzU19fbt23fu3ElLS6NSqXfv3r13
7156evr9+/cfPHiQkZHx8OHDzMzMR48ePX78OCsrKzs7+8mTJ0+fPv3Xv/5Fo9GePXuWk5OTm5ub
l5f3/PnzFy9e5OfnFxQUvHz5srCwsKio6NWrV69fvy4uLn7z5k1JScnbt29LS0vLysrKy8srKioq
Kyurqqqqq6vfvXtXU1NTW1tbV1f3/v37+vr6hoaGxsbGpqam5ubmDx8+tLS0tLa2fvz4sa2trb29
/dOnTx0dHZ2dnV1dXd3d3T09Pb29vX19ff39/QMDA4ODg0NDQ8PDwyMjI6Ojo2Nj0EIdn4CW6SS0
MKemp6ehFQ78af9/1Of+fzWqKBFA8ayWRjUqM2N45AlkPAlgARDLViPJZBgzKz+KVF4df40cBucW
o9IaYcoYQDNWE9tEcEOwqcIjyYB5YTQLB2+BLxbuHkX05MeTaG5wD4RSCZsB6SYFgEnbkTtgyVpJ
+uknpwHRFO90C4SA4pZ9omQWTpSkVgmlG+7PolB54ngfieXpWTk4Rxd/r/dPuhEwD/0/ae7wn53/
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
XAMDg3nz5hkaGs6fP3/BggULFy6kUChGRkZUKtXY2NjExMTU1NTMzMzc3JxGo1lYWFhaWi5atGjx
4sVLliyxsrJaunSptbX1smXLbGxsbG1t7ezs7O3tly9f/ttvvzk4OKxYsWLlypWrVq1ydHR0cnL6
/fffnZ2dXVxcXF1dV69e7ebm5u7u7uHh4enp6eXl5e3t7ePjs2bNmrVr/83evUdDufZ9AJ8ZY4xD
Qk5laOg0te32pFLbrqchlVI7HbbsaheinRIqG+lgjNNgMOScashZJEqiw8i50CCHVJpCiDKSQzPG
vD/bs9bbZr/07Hr0rmW+f/jDYlmz3L/r+tzXff+u64i1tfXRo0dtbGxsbW3t7OyOHTt2/PjxEydO
2Nvb//HHHw4ODo6Ojk5OTidPnnR2dj516tTp06fPnDlz9uxZFxcXMpns6upKoVDc3Nzc3d09PDw8
PT29vLyoVKq3t7ePj4+vry+NRvPz8/P39w8ICKDT6YGBgUFBQefOnQsODg4JCQkNDQ0LCwsPD4+I
iIiMjDx//nxUVNSFCxcuXrx46dIlBoMRHR0dExNz+fLl2NjYuLi4+Pj4hISExMTEpKSk5OTklJSU
K1eupKampqWlXb16NT09/dq1axkZGZmZmdevX79x40ZWVtbNmzezs7Nv3bqVk5OTm5t7+/btO3fu
3L179969e0wmMy8v7/79+/n5+QUFBYWFhUVFRcXFxSUlJaWlpQ8ePHj48GFZWVl5eXlFRcWjR49Y
LFZlZWVVVVV1dfXjx49rampqa2vr6urq6+ufPHnS0NDw9OnTZ8+ePX/+vLGx8cWLF2w2++XLl69e
vWpqampubm5paXn9+nVra2tbW1t7e/ubN286Ojo6Ozvfvn37Dm5Turo4HE433L68f9/T0/MBbl96
e/v6+vrhpmRgAC5juLDhkoZLlP/ndYwQ+m+M/2xtrOxtj4MDD/w3n/+P9R9xxTJh//fkROi/KZ3x
/Pd1qv8z/KelPbr+lwvf/52cjPbf5t0ntlv5aAcKYBJ1jMiCOfXXuKGrVc36EUMwfepv2b/5wlBQ
NutSQX3iw8Y1oQL21jUOtITqVo5LLJNeuPtNJW3NemNb/6sEoh7M35YpfJieYRpeGiCgt9d+6w8r
jDDj5W/8l/nvfaCZ4liZVXYsBlJUQlTCVAavi0eJqurI1BswyRukMWiTTnZ0rNc0MWmiAUI9lik2
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
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>1357</attachid>
            <date>2009-01-26 13:03:00 -0800</date>
            <delta_ts>2009-01-28 11:48:24 -0800</delta_ts>
            <desc>Patch against PKP pre-2.3. CVS</desc>
            <filename>pkpNotifs.patch</filename>
            <type>text/plain</type>
            <size>65299</size>
            <attacher>mattcrider</attacher>
            
              <data encoding="base64">PyAuRFNfU3RvcmUKPyBjbGFzc2VzLy5EU19TdG9yZQo/IGNsYXNzZXMvbm90aWZpY2F0aW9uLy5E
U19TdG9yZQo/IGxpYi8uRFNfU3RvcmUKPyBsaWIvanF1ZXJ5L2pxdWVyeS0xLjIuNi5qcwo/IGxp
Yi9qcXVlcnkvanF1ZXJ5LTEuMi42Lm1pbi5qcwo/IGxpYi9qcXVlcnkvanF1ZXJ5LTEuMi42LnBh
Y2suanMKPyBsb2NhbGUvLkRTX1N0b3JlCj8gcGFnZXMvLkRTX1N0b3JlCj8gdGVtcGxhdGVzLy5E
U19TdG9yZQo/IHRlbXBsYXRlcy9pbWFnZXMvLkRTX1N0b3JlCj8gdGVtcGxhdGVzL2ltYWdlcy9h
dG9tMTBfbG9nby5naWYKPyB0ZW1wbGF0ZXMvaW1hZ2VzL2ljb25zCj8gdGVtcGxhdGVzL2ltYWdl
cy9yc3MxMF9sb2dvLmdpZgo/IHRlbXBsYXRlcy9pbWFnZXMvcnNzMjBfbG9nby5naWYKSW5kZXg6
IGNsYXNzZXMvY29yZS9QS1BBcHBsaWNhdGlvbi5pbmMucGhwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6
IC9jdnMvcGtwL2NsYXNzZXMvY29yZS9QS1BBcHBsaWNhdGlvbi5pbmMucGhwLHYKcmV0cmlldmlu
ZyByZXZpc2lvbiAxLjkKZGlmZiAtdSAtcjEuOSBQS1BBcHBsaWNhdGlvbi5pbmMucGhwCi0tLSBj
bGFzc2VzL2NvcmUvUEtQQXBwbGljYXRpb24uaW5jLnBocAkxNiBPY3QgMjAwOCAxNzo0NzoyOSAt
MDAwMAkxLjkKKysrIGNsYXNzZXMvY29yZS9QS1BBcHBsaWNhdGlvbi5pbmMucGhwCTI2IEphbiAy
MDA5IDIxOjAyOjM3IC0wMDAwCkBAIC0xODYsNiArMTg2LDggQEAKIAkJCSdDdXJyZW5jeURBTycg
PT4gJ2N1cnJlbmN5LkN1cnJlbmN5REFPJywKIAkJCSdIZWxwVG9jREFPJyA9PiAnaGVscC5IZWxw
VG9jREFPJywKIAkJCSdIZWxwVG9waWNEQU8nID0+ICdoZWxwLkhlbHBUb3BpY0RBTycsCisJCQkn
Tm90aWZpY2F0aW9uREFPJyA9PiAnbm90aWZpY2F0aW9uLk5vdGlmaWNhdGlvbkRBTycsCisJCQkn
Tm90aWZpY2F0aW9uU2V0dGluZ3NEQU8nID0+ICdub3RpZmljYXRpb24uTm90aWZpY2F0aW9uU2V0
dGluZ3NEQU8nLAogCQkJJ1NjaGVkdWxlZFRhc2tEQU8nID0+ICdzY2hlZHVsZWRUYXNrLlNjaGVk
dWxlZFRhc2tEQU8nLAogCQkJJ1Nlc3Npb25EQU8nID0+ICdzZXNzaW9uLlNlc3Npb25EQU8nLAog
CQkJJ1NpdGVEQU8nID0+ICdzaXRlLlNpdGVEQU8nLApJbmRleDogY2xhc3Nlcy9ub3RpZmljYXRp
b24vTm90aWZpY2F0aW9uREFPLmluYy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogY2xhc3Nlcy9u
b3RpZmljYXRpb24vTm90aWZpY2F0aW9uREFPLmluYy5waHAKZGlmZiAtTiBjbGFzc2VzL25vdGlm
aWNhdGlvbi9Ob3RpZmljYXRpb25EQU8uaW5jLnBocAotLS0gL2Rldi9udWxsCTEgSmFuIDE5NzAg
MDA6MDA6MDAgLTAwMDAKKysrIGNsYXNzZXMvbm90aWZpY2F0aW9uL05vdGlmaWNhdGlvbkRBTy5p
bmMucGhwCTI2IEphbiAyMDA5IDIxOjAyOjM3IC0wMDAwCkBAIC0wLDAgKzEsMzI1IEBACis8P3Bo
cAorCisvKioKKyAqIEBmaWxlIGNsYXNzZXMvbm90aWZpY2F0aW9uL05vdGlmaWNhdGlvbkRBTy5p
bmMucGhwCisgKgorICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMDggSm9obiBXaWxsaW5za3kKKyAq
IERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR1BMIHYyLiBGb3IgZnVsbCB0ZXJtcyBzZWUgdGhl
IGZpbGUgZG9jcy9DT1BZSU5HLgorICoKKyAqIEBjbGFzcyBOb3RpZmljYXRpb25EQU8KKyAqIEBp
bmdyb3VwIG5vdGlmaWNhdGlvbgorICogQHNlZSBOb3RpZmljYXRpb24KKyAqCisgKiBAYnJpZWYg
T3BlcmF0aW9ucyBmb3IgcmV0cmlldmluZyBhbmQgbW9kaWZ5aW5nIE5vdGlmaWNhdGlvbiBvYmpl
Y3RzLgorICovCisKKy8vICRJZDogTm90aWZpY2F0aW9uREFPLmluYy5waHAsdiAxLjE5IDIwMDgv
MTEvMDUgMDA6NDY6MzkgbWNyaWRlciBFeHAgJAorCitpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3Rp
ZmljYXRpb24nKTsKKworY2xhc3MgTm90aWZpY2F0aW9uREFPIGV4dGVuZHMgREFPIHsKKwkvKioK
KwkgKiBDb25zdHJ1Y3Rvci4KKwkgKi8KKwlmdW5jdGlvbiBOb3RpZmljYXRpb25EQU8oKSB7CisJ
CXBhcmVudDo6REFPKCk7CisJfQorCQorCS8qKgorCSAqIFJldHJpZXZlIE5vdGlmaWNhdGlvbiBi
eSBub3RpZmljYXRpb24gaWQKKwkgKiBAcGFyYW0gJG5vdGlmaWNhdGlvbklkIGludAorCSAqIEBy
ZXR1cm4gTm90aWZpY2F0aW9uIG9iamVjdAorCSAqLworCWZ1bmN0aW9uICZnZXROb3RpZmljYXRp
b25CeUlkKCRub3RpZmljYXRpb25JZCkgeworCQkkcmVzdWx0ID0mICR0aGlzLT5yZXRyaWV2ZSgK
KwkJCSdTRUxFQ1QgKiBGUk9NIG5vdGlmaWNhdGlvbnMgV0hFUkUgbm90aWZpY2F0aW9uX2lkID0g
PycsIChpbnQpICRub3RpZmljYXRpb25JZAorCQkpOworCQorCQkkbm90aWZpY2F0aW9uID0mICR0
aGlzLT5fcmV0dXJuTm90aWZpY2F0aW9uRnJvbVJvdygkcmVzdWx0LT5HZXRSb3dBc3NvYyhmYWxz
ZSkpOworCQorCQkkcmVzdWx0LT5DbG9zZSgpOworCQl1bnNldCgkcmVzdWx0KTsKKwkKKwkJcmV0
dXJuICRub3RpZmljYXRpb247CisJfQkKKwkKKwkvKioKKwkgKiBSZXRyaWV2ZSBOb3RpZmljYXRp
b25zIGJ5IHVzZXIgaWQKKwkgKiBAcGFyYW0gJHVzZXJJZCBpbnQKKwkgKiBAcmV0dXJuIE5vdGlm
aWNhdGlvbiBvYmplY3RzIGFycmF5CisJICovCisJZnVuY3Rpb24gJmdldE5vdGlmaWNhdGlvbnNC
eVVzZXJJZCgkdXNlcklkKSB7CisJCSRhcHBsaWNhdGlvbiA9JiBQS1BBcHBsaWNhdGlvbjo6Z2V0
QXBwbGljYXRpb24oKTsKKwkJJHByb2R1Y3ROYW1lID0gJGFwcGxpY2F0aW9uLT5nZXROYW1lKCk7
CisJCSRjb250ZXh0ID0mIFJlcXVlc3Q6OmdldENvbnRleHQoKTsKKwkJJGNvbnRleHRJZCA9ICRj
b250ZXh0LT5nZXRJZCgpOworCQkKKwkJJG5vdGlmaWNhdGlvbnMgPSBhcnJheSgpOworCQorCQkk
cmVzdWx0ID0mICR0aGlzLT5yZXRyaWV2ZSgKKwkJCSdTRUxFQ1QgKiBGUk9NIG5vdGlmaWNhdGlv
bnMgV0hFUkUgdXNlcl9pZCA9ID8gQU5EIHByb2R1Y3QgPSA/IEFORCBjb250ZXh0ID0gPyBPUkRF
UiBCWSBkYXRlX2NyZWF0ZWQgREVTQycsCQorCQkJYXJyYXkoKGludCkgJHVzZXJJZCwgJHByb2R1
Y3ROYW1lLCAoaW50KSAkY29udGV4dElkKQorCQkpOworCQorCQkkcmV0dXJuZXIgPSBuZXcgREFP
UmVzdWx0RmFjdG9yeSgkcmVzdWx0LCAkdGhpcywgJ19yZXR1cm5Ob3RpZmljYXRpb25Gcm9tUm93
Jyk7CisJCQorCQlyZXR1cm4gJHJldHVybmVyOworCX0KKwkKKwkvKioKKwkgKiBSZXRyaWV2ZSBO
b3RpZmljYXRpb25zIGJ5IG5vdGlmaWNhdGlvbiBpZAorCSAqIEBwYXJhbSAkbm90aWZpY2F0aW9u
SWQgaW50CisJICogQHJldHVybiBib29sZWFuCisJICovCisJZnVuY3Rpb24gc2V0RGF0ZVJlYWQo
JG5vdGlmaWNhdGlvbklkKSB7CisJCSRyZXR1cm5lciA9ICR0aGlzLT51cGRhdGUoCisJCQlzcHJp
bnRmKCdVUERBVEUgbm90aWZpY2F0aW9ucworCQkJCVNFVCBkYXRlX3JlYWQgPSAlcworCQkJCVdI
RVJFIG5vdGlmaWNhdGlvbl9pZCA9ID8nLAorCQkJCSR0aGlzLT5kYXRldGltZVRvREIoZGF0ZSgn
WS1tLWQgSDppOnMnKSkpLAorCQkJKGludCkgJG5vdGlmaWNhdGlvbklkCisJCSk7CisKKwkJcmV0
dXJuICRyZXR1cm5lcjsKKwl9CisJCisJLyoqCisJICogQ3JlYXRlcyBhbmQgcmV0dXJucyBhbiBu
b3RpZmljYXRpb24gb2JqZWN0IGZyb20gYSByb3cKKwkgKiBAcGFyYW0gJHJvdyBhcnJheQorCSAq
IEByZXR1cm4gTm90aWZpY2F0aW9uIG9iamVjdAorCSAqLworCWZ1bmN0aW9uICZfcmV0dXJuTm90
aWZpY2F0aW9uRnJvbVJvdygkcm93KSB7CisJCSRub3RpZmljYXRpb24gPSBuZXcgTm90aWZpY2F0
aW9uKCk7CisJCSRub3RpZmljYXRpb24tPnNldE5vdGlmaWNhdGlvbklkKCRyb3dbJ25vdGlmaWNh
dGlvbl9pZCddKTsKKwkJJG5vdGlmaWNhdGlvbi0+c2V0VXNlcklkKCRyb3dbJ3VzZXJfaWQnXSk7
CisJCSRub3RpZmljYXRpb24tPnNldERhdGVDcmVhdGVkKCRyb3dbJ2RhdGVfY3JlYXRlZCddKTsK
KwkJJG5vdGlmaWNhdGlvbi0+c2V0RGF0ZVJlYWQoJHJvd1snZGF0ZV9yZWFkJ10pOworCQkkbm90
aWZpY2F0aW9uLT5zZXRDb250ZW50cygkcm93Wydjb250ZW50cyddKTsKKwkJJG5vdGlmaWNhdGlv
bi0+c2V0UGFyYW0oJHJvd1sncGFyYW0nXSk7CisJCSRub3RpZmljYXRpb24tPnNldExvY2F0aW9u
KCRyb3dbJ2xvY2F0aW9uJ10pOworCQkkbm90aWZpY2F0aW9uLT5zZXRJc0xvY2FsaXplZCgkcm93
Wydpc19sb2NhbGl6ZWQnXSk7CisJCSRub3RpZmljYXRpb24tPnNldENvbnRleHQoJHJvd1snY29u
dGV4dCddKTsKKwkJJG5vdGlmaWNhdGlvbi0+c2V0QXNzb2NUeXBlKCRyb3dbJ2Fzc29jX3R5cGUn
XSk7CisJCQorCQlIb29rUmVnaXN0cnk6OmNhbGwoJ05vdGlmaWNhdGlvbkRBTzo6X3JldHVybk5v
dGlmaWNhdGlvbkZyb21Sb3cnLCBhcnJheSgmJG5vdGlmaWNhdGlvbiwgJiRyb3cpKTsKKwkKKwkJ
cmV0dXJuICRub3RpZmljYXRpb247CisJfQorCQorCS8qKgorCSAqIEluc2VydHMgYSBuZXcgbm90
aWZpY2F0aW9uIGludG8gbm90aWZpY2F0aW9ucyB0YWJsZQorCSAqIEBwYXJhbSBOb3RpZmljYXRp
b24gb2JqZWN0CisJICogQHJldHVybiBpbnQgTm90aWZpY2F0aW9uIElkIAorCSAqLworCWZ1bmN0
aW9uIGluc2VydE5vdGlmaWNhdGlvbigmJG5vdGlmaWNhdGlvbikgeworCQkkYXBwbGljYXRpb24g
PSYgUEtQQXBwbGljYXRpb246OmdldEFwcGxpY2F0aW9uKCk7CisJCSRwcm9kdWN0TmFtZSA9ICRh
cHBsaWNhdGlvbi0+Z2V0TmFtZSgpOworCQkKKwkJaWYgKCR0aGlzLT5ub3RpZmljYXRpb25BbHJl
YWR5RXhpc3RzKCRub3RpZmljYXRpb24pKSB7CisJCQlyZXR1cm4gMDsKKwkJfQorCQkKKwkJJG5v
dGlmaWNhdGlvblNldHRpbmdzRGFvID0mIERBT1JlZ2lzdHJ5OjpnZXREQU8oJ05vdGlmaWNhdGlv
blNldHRpbmdzREFPJyk7CisJCSRub3RpZmljYXRpb25TZXR0aW5ncyA9ICRub3RpZmljYXRpb25T
ZXR0aW5nc0Rhby0+Z2V0Tm90aWZpY2F0aW9uU2V0dGluZ3MoJG5vdGlmaWNhdGlvbi0+Z2V0VXNl
cklkKCkpOworCQkkbm90aWZpY2F0aW9uRW1haWxTZXR0aW5ncyA9ICRub3RpZmljYXRpb25TZXR0
aW5nc0Rhby0+Z2V0Tm90aWZpY2F0aW9uRW1haWxTZXR0aW5ncygkbm90aWZpY2F0aW9uLT5nZXRV
c2VySWQoKSk7CisJCQorCQlpZihpbl9hcnJheSgkbm90aWZpY2F0aW9uLT5nZXRBc3NvY1R5cGUo
KSwgJG5vdGlmaWNhdGlvbkVtYWlsU2V0dGluZ3MpKSB7CisJCQkkdGhpcy0+c2VuZE5vdGlmaWNh
dGlvbkVtYWlsKCRub3RpZmljYXRpb24pOworCQl9CisJCQorCQlpZighaW5fYXJyYXkoJG5vdGlm
aWNhdGlvbi0+Z2V0QXNzb2NUeXBlKCksICRub3RpZmljYXRpb25TZXR0aW5ncykpIHsKKwkJCSR0
aGlzLT51cGRhdGUoCisJCQkJc3ByaW50ZignSU5TRVJUIElOVE8gbm90aWZpY2F0aW9ucworCQkJ
CQkodXNlcl9pZCwgZGF0ZV9jcmVhdGVkLCBjb250ZW50cywgcGFyYW0sIGxvY2F0aW9uLCBpc19s
b2NhbGl6ZWQsIGNvbnRleHQsIHByb2R1Y3QsIGFzc29jX3R5cGUpCisJCQkJCVZBTFVFUworCQkJ
CQkoPywgJXMsID8sID8sID8sID8sID8sID8sID8pJywKKwkJCQkJJHRoaXMtPmRhdGV0aW1lVG9E
QihkYXRlKCdZLW0tZCBIOmk6cycpKSksCisJCQkJYXJyYXkoCisJCQkJCShpbnQpICRub3RpZmlj
YXRpb24tPmdldFVzZXJJZCgpLAorCQkJCQkkbm90aWZpY2F0aW9uLT5nZXRDb250ZW50cygpLAor
CQkJCQkkbm90aWZpY2F0aW9uLT5nZXRQYXJhbSgpLAorCQkJCQkkbm90aWZpY2F0aW9uLT5nZXRM
b2NhdGlvbigpLAorCQkJCQkoaW50KSAkbm90aWZpY2F0aW9uLT5nZXRJc0xvY2FsaXplZCgpLAor
CQkJCQkoaW50KSAkbm90aWZpY2F0aW9uLT5nZXRDb250ZXh0KCksCisJCQkJCSRwcm9kdWN0TmFt
ZSwKKwkJCQkJKGludCkgJG5vdGlmaWNhdGlvbi0+Z2V0QXNzb2NUeXBlKCksCisJCQkJKQorCQkJ
KTsKKwkJCisJCQkkbm90aWZpY2F0aW9uLT5zZXROb3RpZmljYXRpb25JZCgkdGhpcy0+Z2V0SW5z
ZXJ0Tm90aWZpY2F0aW9uSWQoKSk7CisJCQlyZXR1cm4gJG5vdGlmaWNhdGlvbi0+Z2V0Tm90aWZp
Y2F0aW9uSWQoKTsKKwkJfSBlbHNlIHJldHVybiAwOworCX0KKwkKKwkvKioKKwkgKiBEZWxldGUg
Tm90aWZpY2F0aW9uIGJ5IG5vdGlmaWNhdGlvbiBpZAorCSAqIEBwYXJhbSAkbm90aWZpY2F0aW9u
SWQgaW50CisJICogQHJldHVybiBib29sZWFuCisJICovCisJZnVuY3Rpb24gZGVsZXRlTm90aWZp
Y2F0aW9uQnlJZCgkbm90aWZpY2F0aW9uSWQsICR1c2VySWQgPSBudWxsKSB7CisJCSRwYXJhbXMg
PSBhcnJheSgkbm90aWZpY2F0aW9uSWQpOworCQlpZiAoaXNzZXQoJHVzZXJJZCkpICRwYXJhbXNb
XSA9ICR1c2VySWQ7CisJCisJCXJldHVybiAkdGhpcy0+dXBkYXRlKCdERUxFVEUgRlJPTSBub3Rp
ZmljYXRpb25zIFdIRVJFIG5vdGlmaWNhdGlvbl9pZCA9ID8nIC4gKGlzc2V0KCR1c2VySWQpID8g
JyBBTkQgdXNlcl9pZCA9ID8nIDogJycpLCAKKwkJCSRwYXJhbXMKKwkJKTsKKwl9CQorCisJLyoq
CisJICogQ2hlY2sgaWYgdGhlIHNhbWUgbm90aWZpY2F0aW9uIHdhcyBhZGRlZCBpbiB0aGUgbGFz
dCBob3VyCisJICogV2lsbCBwcmV2ZW50IG11bHRpcGxlIG5vdGlmaWNhdGlvbnMgdG8gc2hvdyB1
cCBpbiBhIHVzZXIncyBmZWVkIGUuZy4KKwkgKiBpZiBhIHVzZXIgZWRpdHMgYSBzdWJtaXNzaW9u
IG11bHRpcGxlIHRpbWVzIGluIGEgc2hvcnQgdGltZSBzcGFuCisJICogQHBhcmFtIG5vdGlmaWNh
dGlvbiBvYmplY3QKKwkgKiBAcmV0dXJuIGJvb2xlYW4KKwkgKi8KKwlmdW5jdGlvbiBub3RpZmlj
YXRpb25BbHJlYWR5RXhpc3RzKCYkbm90aWZpY2F0aW9uKSB7CisJCSRhcHBsaWNhdGlvbiA9JiBQ
S1BBcHBsaWNhdGlvbjo6Z2V0QXBwbGljYXRpb24oKTsKKwkJJHByb2R1Y3ROYW1lID0gJGFwcGxp
Y2F0aW9uLT5nZXROYW1lKCk7CisJCSRjb250ZXh0ID0mIFJlcXVlc3Q6OmdldENvbnRleHQoKTsK
KwkJJGNvbnRleHRJZCA9ICRjb250ZXh0LT5nZXRJZCgpOworCQkJCisJCSRyZXN1bHQgPSYgJHRo
aXMtPnJldHJpZXZlKAorCQkJJ1NFTEVDVCBkYXRlX2NyZWF0ZWQgRlJPTSBub3RpZmljYXRpb25z
IFdIRVJFIHVzZXJfaWQgPSA/IEFORCBjb250ZW50cyA9ID8gQU5EIHByb2R1Y3QgPSA/IEFORCBh
c3NvY190eXBlID0gPyBBTkQgY29udGV4dCA9ID8nLAorCQkJYXJyYXkoCisJCQkJCShpbnQpICRu
b3RpZmljYXRpb24tPmdldFVzZXJJZCgpLAorCQkJCQkkbm90aWZpY2F0aW9uLT5nZXRDb250ZW50
cygpLAorCQkJCQkkcHJvZHVjdE5hbWUsCisJCQkJCShpbnQpICRub3RpZmljYXRpb24tPmdldEFz
c29jVHlwZSgpLAorCQkJCQkoaW50KSAkY29udGV4dElkCisJCQkJKQorCQkpOworCQkKKwkJJGRh
dGUgPSBpc3NldCgkcmVzdWx0LT5maWVsZHNbMF0pID8gJHJlc3VsdC0+ZmllbGRzWzBdIDogMDsK
KwkJCisJCWlmICgkZGF0ZSA9PSAwKSB7CisJCQlyZXR1cm4gZmFsc2U7CisJCX0gZWxzZSB7CisJ
CQkkdGltZURpZmYgPSBzdHJ0b3RpbWUoJGRhdGUpIC0gdGltZSgpOworCQkJaWYgKCR0aW1lRGlm
ZiA8IDM2MDApIHsgLy8gMSBob3VyIChpbiBzZWNvbmRzKQorCQkJCXJldHVybiB0cnVlOworCQkJ
fSBlbHNlIHJldHVybiBmYWxzZTsKKwkJfQorCX0KKworCS8qKgorCSAqIEdldCB0aGUgSUQgb2Yg
dGhlIGxhc3QgaW5zZXJ0ZWQgbm90aWZpY2F0aW9uCisJICogQHJldHVybiBpbnQKKwkgKi8KKwlm
dW5jdGlvbiBnZXRJbnNlcnROb3RpZmljYXRpb25JZCgpIHsKKwkJcmV0dXJuICR0aGlzLT5nZXRJ
bnNlcnRJZCgnbm90aWZpY2F0aW9ucycsICdub3RpZmljYXRpb25faWQnKTsKKwl9CisJCisJLyoq
CisJICogR2V0IHRoZSBudW1iZXIgb2YgdW5yZWFkIG1lc3NhZ2VzIGZvciBhIHVzZXIKKwkgKiBA
cGFyYW0gJHVzZXJJZCBpbnQKKwkgKiBAcmV0dXJuIGludAorCSAqLworCWZ1bmN0aW9uIGdldFVu
cmVhZE5vdGlmaWNhdGlvbkNvdW50KCR1c2VySWQpIHsKKwkJJGFwcGxpY2F0aW9uID0mIFBLUEFw
cGxpY2F0aW9uOjpnZXRBcHBsaWNhdGlvbigpOworCQkkcHJvZHVjdE5hbWUgPSAkYXBwbGljYXRp
b24tPmdldE5hbWUoKTsKKwkJJGNvbnRleHQgPSYgUmVxdWVzdDo6Z2V0Q29udGV4dCgpOworCQkk
Y29udGV4dElkID0gJGNvbnRleHQtPmdldElkKCk7CisJCQorCQkkcmVzdWx0ID0mICR0aGlzLT5y
ZXRyaWV2ZSgKKwkJCSdTRUxFQ1QgY291bnQoKikgRlJPTSBub3RpZmljYXRpb25zIFdIRVJFIHVz
ZXJfaWQgPSA/IEFORCBkYXRlX3JlYWQgSVMgTlVMTCBBTkQgcHJvZHVjdCA9ID8gQU5EIGNvbnRl
eHQgPSA/JywKKwkJCWFycmF5KChpbnQpICR1c2VySWQsICRwcm9kdWN0TmFtZSwgKGludCkgJGNv
bnRleHRJZCkKKwkJKTsKKworCQkkcmV0dXJuZXIgPSAkcmVzdWx0LT5maWVsZHNbMF07CisKKwkJ
JHJlc3VsdC0+Q2xvc2UoKTsKKwkJdW5zZXQoJHJlc3VsdCk7CisKKwkJcmV0dXJuICRyZXR1cm5l
cjsKKwl9CisJCisJLyoqCisJICogR2V0IHRoZSBudW1iZXIgb2YgcmVhZCBtZXNzYWdlcyBmb3Ig
YSB1c2VyCisJICogQHBhcmFtICR1c2VySWQgaW50CisJICogQHJldHVybiBpbnQKKwkgKi8KKwlm
dW5jdGlvbiBnZXRSZWFkTm90aWZpY2F0aW9uQ291bnQoJHVzZXJJZCkgeworCQkkYXBwbGljYXRp
b24gPSYgUEtQQXBwbGljYXRpb246OmdldEFwcGxpY2F0aW9uKCk7CisJCSRwcm9kdWN0TmFtZSA9
ICRhcHBsaWNhdGlvbi0+Z2V0TmFtZSgpOworCQkkY29udGV4dCA9JiBSZXF1ZXN0OjpnZXRDb250
ZXh0KCk7CisJCSRjb250ZXh0SWQgPSAkY29udGV4dC0+Z2V0SWQoKTsKKwkJCisJCSRyZXN1bHQg
PSYgJHRoaXMtPnJldHJpZXZlKAorCQkJJ1NFTEVDVCBjb3VudCgqKSBGUk9NIG5vdGlmaWNhdGlv
bnMgV0hFUkUgdXNlcl9pZCA9ID8gQU5EIGRhdGVfcmVhZCBJUyBOT1QgTlVMTCBBTkQgcHJvZHVj
dCA9ID8gQU5EIGNvbnRleHQgPSA/JywKKwkJCWFycmF5KChpbnQpICR1c2VySWQsICRwcm9kdWN0
TmFtZSwgKGludCkgJGNvbnRleHRJZCkKKwkJKTsKKworCQkkcmV0dXJuZXIgPSAkcmVzdWx0LT5m
aWVsZHNbMF07CisKKwkJJHJlc3VsdC0+Q2xvc2UoKTsKKwkJdW5zZXQoJHJlc3VsdCk7CisKKwkJ
cmV0dXJuICRyZXR1cm5lcjsKKwl9CisKKwkvKioKKwkgKiBTZW5kIGFuIGVtYWlsIHRvIGEgdXNl
ciByZWdhcmRpbmcgdGhlIG5vdGlmaWNhdGlvbgorCSAqIEBwYXJhbSAkbm90aWZpY2F0aW9uIG9i
amVjdCBOb3RpZmljYXRpb24KKwkgKi8KKwlmdW5jdGlvbiBzZW5kTm90aWZpY2F0aW9uRW1haWwo
JG5vdGlmaWNhdGlvbikgeworCQkkdXNlcklkID0gJG5vdGlmaWNhdGlvbi0+Z2V0VXNlcklkKCk7
CisJCSR1c2VyRGFvID0mIERBT1JlZ2lzdHJ5OjpnZXREQU8oJ1VzZXJEQU8nKTsKKwkJJHVzZXIg
PSAkdXNlckRhby0+Z2V0VXNlcigkdXNlcklkKTsKKwkJCisJCWlmICgkbm90aWZpY2F0aW9uLT5n
ZXRJc0xvY2FsaXplZCgpKSB7CisJCQkkcGFyYW1zID0gYXJyYXkoJ3BhcmFtJyA9PiAkbm90aWZp
Y2F0aW9uLT5nZXRQYXJhbSgpKTsKKwkJCSRub3RpZmljYXRpb25Db250ZW50cyA9IExvY2FsZTo6
dHJhbnNsYXRlKCRub3RpZmljYXRpb24tPmdldENvbnRlbnRzKCksICRwYXJhbXMpOworCQl9IGVs
c2UgeworCQkJJG5vdGlmaWNhdGlvbkNvbnRlbnRzID0gJG5vdGlmaWNhdGlvbi0+Z2V0Q29udGVu
dHMoKTsKKwkJfQorCQkKKwkJaW1wb3J0KCdtYWlsLk1haWxUZW1wbGF0ZScpOworCQkkc2l0ZSA9
JiBSZXF1ZXN0OjpnZXRTaXRlKCk7CisJCSRtYWlsID0gbmV3IE1haWxUZW1wbGF0ZSgnTk9USUZJ
Q0FUSU9OJyk7CisJCSRtYWlsLT5zZXRGcm9tKCRzaXRlLT5nZXRTaXRlQ29udGFjdEVtYWlsKCks
ICRzaXRlLT5nZXRTaXRlQ29udGFjdE5hbWUoKSk7CisJCSRtYWlsLT5hc3NpZ25QYXJhbXMoYXJy
YXkoCisJCQknbm90aWZpY2F0aW9uQ29udGVudHMnID0+ICRub3RpZmljYXRpb25Db250ZW50cywK
KwkJCSd1cmwnID0+ICRub3RpZmljYXRpb24tPmdldExvY2F0aW9uKCksCisJCQknc2l0ZVRpdGxl
JyA9PiAkc2l0ZS0+Z2V0U2l0ZVRpdGxlKCkKKwkJKSk7CisJCSRtYWlsLT5hZGRSZWNpcGllbnQo
JHVzZXItPmdldEVtYWlsKCksICR1c2VyLT5nZXRGdWxsTmFtZSgpKTsKKwkJJG1haWwtPnNlbmQo
KTsKKwl9CQorCQorCS8qKgorCSAqIFNlbmQgYW4gdXBkYXRlIHRvIGFsbCB1c2VycyBvbiB0aGUg
bWFpbGluZyBsaXN0CisJICogQHBhcmFtICRub3RpZmljYXRpb24gb2JqZWN0IE5vdGlmaWNhdGlv
bgorCSAqLworCWZ1bmN0aW9uIHNlbmRUb01haWxpbmdMaXN0KCRub3RpZmljYXRpb24pIHsKKwkJ
JG5vdGlmaWNhdGlvblNldHRpbmdzRGFvID0mIERBT1JlZ2lzdHJ5OjpnZXREQU8oJ05vdGlmaWNh
dGlvblNldHRpbmdzREFPJyk7CisJCSRtYWlsTGlzdCA9ICRub3RpZmljYXRpb25TZXR0aW5nc0Rh
by0+Z2V0TWFpbExpc3QoKTsKKwkJCisJCWZvcmVhY2ggKCRtYWlsTGlzdCBhcyAkZW1haWwpIHsK
KwkJCWlmICgkbm90aWZpY2F0aW9uLT5nZXRJc0xvY2FsaXplZCgpKSB7CisJCQkJJHBhcmFtcyA9
IGFycmF5KCdwYXJhbScgPT4gJG5vdGlmaWNhdGlvbi0+Z2V0UGFyYW0oKSk7CisJCQkJJG5vdGlm
aWNhdGlvbkNvbnRlbnRzID0gTG9jYWxlOjp0cmFuc2xhdGUoJG5vdGlmaWNhdGlvbi0+Z2V0Q29u
dGVudHMoKSwgJHBhcmFtcyk7CisJCQl9IGVsc2UgeworCQkJCSRub3RpZmljYXRpb25Db250ZW50
cyA9ICRub3RpZmljYXRpb24tPmdldENvbnRlbnRzKCk7CisJCQl9CisJCQkKKwkJCWltcG9ydCgn
bWFpbC5NYWlsVGVtcGxhdGUnKTsKKwkJCSRqb3VybmFsID0mIFJlcXVlc3Q6OmdldEpvdXJuYWwo
KTsKKwkJCSRzaXRlID0mIFJlcXVlc3Q6OmdldFNpdGUoKTsKKwkJCQorCQkJJG1haWwgPSBuZXcg
TWFpbFRlbXBsYXRlKCdOT1RJRklDQVRJT05fTUFJTExJU1QnKTsKKwkJCSRtYWlsLT5zZXRGcm9t
KCRzaXRlLT5nZXRTaXRlQ29udGFjdEVtYWlsKCksICRzaXRlLT5nZXRTaXRlQ29udGFjdE5hbWUo
KSk7CisJCQkkbWFpbC0+YXNzaWduUGFyYW1zKGFycmF5KAorCQkJCSdub3RpZmljYXRpb25Db250
ZW50cycgPT4gJG5vdGlmaWNhdGlvbkNvbnRlbnRzLAorCQkJCSd1cmwnID0+ICRub3RpZmljYXRp
b24tPmdldExvY2F0aW9uKCksCisJCQkJJ3NpdGVUaXRsZScgPT4gJGpvdXJuYWwtPmdldEpvdXJu
YWxUaXRsZSgpLAorCQkJCSd1bnN1YnNjcmliZUxpbmsnID0+IFJlcXVlc3Q6OnVybChudWxsLCAn
bm90aWZpY2F0aW9uJywgJ3Vuc3Vic2NyaWJlTWFpbExpc3QnKQorCQkJKSk7CisJCQkkbWFpbC0+
YWRkUmVjaXBpZW50KCRlbWFpbCk7CisJCQkkbWFpbC0+c2VuZCgpOworCQl9CisJCQorCQkKKwl9
CQorfQorCis/PgpJbmRleDogY2xhc3Nlcy9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9uU2V0dGlu
Z3NEQU8uaW5jLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiBjbGFzc2VzL25vdGlmaWNhdGlvbi9O
b3RpZmljYXRpb25TZXR0aW5nc0RBTy5pbmMucGhwCmRpZmYgLU4gY2xhc3Nlcy9ub3RpZmljYXRp
b24vTm90aWZpY2F0aW9uU2V0dGluZ3NEQU8uaW5jLnBocAotLS0gL2Rldi9udWxsCTEgSmFuIDE5
NzAgMDA6MDA6MDAgLTAwMDAKKysrIGNsYXNzZXMvbm90aWZpY2F0aW9uL05vdGlmaWNhdGlvblNl
dHRpbmdzREFPLmluYy5waHAJMjYgSmFuIDIwMDkgMjE6MDI6MzcgLTAwMDAKQEAgLTAsMCArMSw0
NTMgQEAKKzw/cGhwCisKKy8qKgorICogQGZpbGUgY2xhc3Nlcy9ub3RpZmljYXRpb24vTm90aWZp
Y2F0aW9uU2V0dGluZ3NEQU9EQU8uaW5jLnBocAorICoKKyAqIENvcHlyaWdodCAoYykgMjAwMy0y
MDA4IEpvaG4gV2lsbGluc2t5CisgKiBEaXN0cmlidXRlZCB1bmRlciB0aGUgR05VIEdQTCB2Mi4g
Rm9yIGZ1bGwgdGVybXMgc2VlIHRoZSBmaWxlIGRvY3MvQ09QWUlORy4KKyAqCisgKiBAY2xhc3Mg
Tm90aWZpY2F0aW9uU2V0dGluZ3NEQU8KKyAqIEBpbmdyb3VwIG5vdGlmaWNhdGlvbgorICogQHNl
ZSBOb3RpZmljYXRpb24KKyAqCisgKiBAYnJpZWYgT3BlcmF0aW9ucyBmb3IgcmV0cmlldmluZyBh
bmQgbW9kaWZ5aW5nIHVzZXIncyBub3RpZmljYXRpb24gc2V0dGluZ3MuCisgKi8KKworLy8gJElk
OiBOb3RpZmljYXRpb25TZXR0aW5nc0RBTy5pbmMucGhwLHYgMS4xOSAyMDA4LzExLzA1IDAwOjQ2
OjM5IG1jcmlkZXIgRXhwICQKKworY2xhc3MgTm90aWZpY2F0aW9uU2V0dGluZ3NEQU8gZXh0ZW5k
cyBEQU8geworCS8qKgorCSAqIENvbnN0cnVjdG9yLgorCSAqLworCWZ1bmN0aW9uIE5vdGlmaWNh
dGlvblNldHRpbmdzREFPKCkgeworCQlwYXJlbnQ6OkRBTygpOworCX0KKwkKKwkvKioKKwkgKiBS
ZXRyaWV2ZSBOb3RpZmljYXRpb25zIHNldHRpbmdzIGJ5IHVzZXIgaWQKKwkgKiBSZXR1cm5zIGFu
IGFycmF5IG9mIG5vdGlmaWNhdGlvbiB0eXBlcyB0aGF0IHRoZSB1c2VyCisJICogZG9lcyBOT1Qg
d2FudCB0byBiZSBub3RpZmllZCBvZgorCSAqIEBwYXJhbSAkdXNlcklkIGludAorCSAqIEByZXR1
cm4gYXJyYXkKKwkgKi8KKwlmdW5jdGlvbiAmZ2V0Tm90aWZpY2F0aW9uU2V0dGluZ3MoJHVzZXJJ
ZCkgeworCQkkYXBwbGljYXRpb24gPSYgUEtQQXBwbGljYXRpb246OmdldEFwcGxpY2F0aW9uKCk7
CisJCSRwcm9kdWN0TmFtZSA9ICRhcHBsaWNhdGlvbi0+Z2V0TmFtZSgpOworCQkkY29udGV4dCA9
JiBSZXF1ZXN0OjpnZXRDb250ZXh0KCk7CisJCSRjb250ZXh0SWQgPSAkY29udGV4dC0+Z2V0SWQo
KTsKKwkJCisJCSRub3RpZmljYXRpb25TZXR0aW5ncyA9IGFycmF5KCk7CisJCisJCSRyZXN1bHQg
PSYgJHRoaXMtPnJldHJpZXZlKAorCQkJJ1NFTEVDVCBzZXR0aW5nX3ZhbHVlIEZST00gbm90aWZp
Y2F0aW9uX3NldHRpbmdzIFdIRVJFIHVzZXJfaWQgPSA/IEFORCBwcm9kdWN0ID0gPyBBTkQgc2V0
dGluZ19uYW1lID0gPyBBTkQgY29udGV4dCA9ID8nLAorCQkJCWFycmF5KChpbnQpICR1c2VySWQs
ICRwcm9kdWN0TmFtZSwgJ25vdGlmeScsIChpbnQpICRjb250ZXh0SWQpCisJCSk7CisJCisJCXdo
aWxlICghJHJlc3VsdC0+RU9GKSB7CisJCQkkcm93ID0gJHJlc3VsdC0+R2V0Um93QXNzb2MoZmFs
c2UpOworCQkJJG5vdGlmaWNhdGlvblNldHRpbmdzW10gPSAoaW50KSAkcm93WydzZXR0aW5nX3Zh
bHVlJ107CisJCQkkcmVzdWx0LT5tb3ZlTmV4dCgpOworCQl9CisKKwkJJHJlc3VsdC0+Q2xvc2Uo
KTsKKwkJdW5zZXQoJHJlc3VsdCk7CisJCQorCQlyZXR1cm4gJG5vdGlmaWNhdGlvblNldHRpbmdz
OworCX0KKwkKKwkvKioKKwkgKiBSZXRyaWV2ZSBOb3RpZmljYXRpb25zIGVtYWlsIHNldHRpbmdz
IGJ5IHVzZXIgaWQKKwkgKiBSZXR1cm5zIGFuIGFycmF5IG9mIG5vdGlmaWNhdGlvbiB0eXBlcyB0
aGF0IHRoZSB1c2VyCisJICogRE9FUyB3YW50IHRvIGJlIGVtYWlsZWQgYWJvdXQKKwkgKiBAcGFy
YW0gJHVzZXJJZCBpbnQKKwkgKiBAcmV0dXJuIGFycmF5CisJICovCisJZnVuY3Rpb24gJmdldE5v
dGlmaWNhdGlvbkVtYWlsU2V0dGluZ3MoJHVzZXJJZCkgeworCQkkYXBwbGljYXRpb24gPSYgUEtQ
QXBwbGljYXRpb246OmdldEFwcGxpY2F0aW9uKCk7CisJCSRwcm9kdWN0TmFtZSA9ICRhcHBsaWNh
dGlvbi0+Z2V0TmFtZSgpOworCQkkY29udGV4dCA9JiBSZXF1ZXN0OjpnZXRDb250ZXh0KCk7CisJ
CSRjb250ZXh0SWQgPSAkY29udGV4dC0+Z2V0SWQoKTsKKwkJCisJCSRlbWFpbFNldHRpbmdzID0g
YXJyYXkoKTsKKwkKKwkJJHJlc3VsdCA9JiAkdGhpcy0+cmV0cmlldmUoCisJCQknU0VMRUNUIHNl
dHRpbmdfdmFsdWUgRlJPTSBub3RpZmljYXRpb25fc2V0dGluZ3MgV0hFUkUgdXNlcl9pZCA9ID8g
QU5EIHByb2R1Y3QgPSA/IEFORCBzZXR0aW5nX25hbWUgPSA/IEFORCBjb250ZXh0ID0gPycsCisJ
CQkJYXJyYXkoKGludCkgJHVzZXJJZCwgJHByb2R1Y3ROYW1lLCAnZW1haWwnLCAoaW50KSAkY29u
dGV4dElkKQorCQkpOworCQorCQl3aGlsZSAoISRyZXN1bHQtPkVPRikgeworCQkJJHJvdyA9ICRy
ZXN1bHQtPkdldFJvd0Fzc29jKGZhbHNlKTsKKwkJCSRlbWFpbFNldHRpbmdzW10gPSAoaW50KSAk
cm93WydzZXR0aW5nX3ZhbHVlJ107CisJCQkkcmVzdWx0LT5tb3ZlTmV4dCgpOworCQl9CisKKwkJ
JHJlc3VsdC0+Q2xvc2UoKTsKKwkJdW5zZXQoJHJlc3VsdCk7CisJCQorCQlyZXR1cm4gJGVtYWls
U2V0dGluZ3M7CisJfQorCQorCS8qKgorCSAqIFVwZGF0ZSBhIHVzZXIncyBub3RpZmljYXRpb24g
c2V0dGluZ3MKKwkgKiBAcGFyYW0gJG5vdGlmaWNhdGlvblNldHRpbmdzIGFycmF5CisJICogQHBh
cmFtICR1c2VySWQgaW50CisJICovCisJZnVuY3Rpb24gdXBkYXRlTm90aWZpY2F0aW9uU2V0dGlu
Z3MoJG5vdGlmaWNhdGlvblNldHRpbmdzLCAkdXNlcklkKSB7CisJCSRhcHBsaWNhdGlvbiA9JiBQ
S1BBcHBsaWNhdGlvbjo6Z2V0QXBwbGljYXRpb24oKTsKKwkJJHByb2R1Y3ROYW1lID0gJGFwcGxp
Y2F0aW9uLT5nZXROYW1lKCk7CisJCSRjb250ZXh0ID0mIFJlcXVlc3Q6OmdldENvbnRleHQoKTsK
KwkJJGNvbnRleHRJZCA9ICRjb250ZXh0LT5nZXRJZCgpOwkJCisJCQorCQkvLyBEZWxldGUgb2xk
IHNldHRpbmdzIGZpcnN0LCB0aGVuIGluc2VydCBuZXcgc2V0dGluZ3MKKwkJJHRoaXMtPnVwZGF0
ZSgnREVMRVRFIEZST00gbm90aWZpY2F0aW9uX3NldHRpbmdzIFdIRVJFIHVzZXJfaWQgPSA/IEFO
RCBwcm9kdWN0ID0gPyBBTkQgc2V0dGluZ19uYW1lID0gPyBBTkQgY29udGV4dCA9ID8nLAorCQkJ
YXJyYXkoKGludCkgJHVzZXJJZCwgJHByb2R1Y3ROYW1lLCAnbm90aWZ5JywgKGludCkgJGNvbnRl
eHRJZCkpOworCQorCQlmb3IgKCRpPTA7ICRpPGNvdW50KCRub3RpZmljYXRpb25TZXR0aW5ncyk7
ICRpKyspIHsKKwkJCSR0aGlzLT51cGRhdGUoCisJCQkJJ0lOU0VSVCBJTlRPIG5vdGlmaWNhdGlv
bl9zZXR0aW5ncworCQkJCQkoc2V0dGluZ19uYW1lLCBzZXR0aW5nX3ZhbHVlLCB1c2VyX2lkLCBw
cm9kdWN0LCBjb250ZXh0KQorCQkJCQlWQUxVRVMKKwkJCQkJKD8sID8sID8sID8sID8pJywKKwkJ
CQlhcnJheSgKKwkJCQkJIm5vdGlmeSIsCisJCQkJCSRub3RpZmljYXRpb25TZXR0aW5nc1skaV0s
CisJCQkJCShpbnQpICR1c2VySWQsCisJCQkJCSRwcm9kdWN0TmFtZSwKKwkJCQkJKGludCkgJGNv
bnRleHRJZAorCQkJCSkKKwkJCSk7CisJCX0KKwl9CisJCisJLyoqCisJICogVXBkYXRlIGEgdXNl
cidzIG5vdGlmaWNhdGlvbiBlbWFpbCBzZXR0aW5ncworCSAqIEBwYXJhbSAkbm90aWZpY2F0aW9u
RW1haWxTZXR0aW5ncyBhcnJheQorCSAqIEBwYXJhbSAkdXNlcklkIGludAorCSAqLworCWZ1bmN0
aW9uIHVwZGF0ZU5vdGlmaWNhdGlvbkVtYWlsU2V0dGluZ3MoJGVtYWlsU2V0dGluZ3MsICR1c2Vy
SWQpIHsKKwkJJGFwcGxpY2F0aW9uID0mIFBLUEFwcGxpY2F0aW9uOjpnZXRBcHBsaWNhdGlvbigp
OworCQkkcHJvZHVjdE5hbWUgPSAkYXBwbGljYXRpb24tPmdldE5hbWUoKTsKKwkJJGNvbnRleHQg
PSYgUmVxdWVzdDo6Z2V0Q29udGV4dCgpOworCQkkY29udGV4dElkID0gJGNvbnRleHQtPmdldElk
KCk7CisJCQorCQkvLyBEZWxldGUgb2xkIHNldHRpbmdzIGZpcnN0LCB0aGVuIGluc2VydCBuZXcg
c2V0dGluZ3MKKwkJJHRoaXMtPnVwZGF0ZSgnREVMRVRFIEZST00gbm90aWZpY2F0aW9uX3NldHRp
bmdzIFdIRVJFIHVzZXJfaWQgPSA/IEFORCBwcm9kdWN0ID0gPyBBTkQgc2V0dGluZ19uYW1lID0g
PyBBTkQgY29udGV4dCA9ID8nLAorCQkJYXJyYXkoJHVzZXJJZCwgJHByb2R1Y3ROYW1lLCAnZW1h
aWwnLCAkY29udGV4dElkKSk7CisJCisJCWZvciAoJGk9MDsgJGk8Y291bnQoJGVtYWlsU2V0dGlu
Z3MpOyAkaSsrKSB7CisJCQkkdGhpcy0+dXBkYXRlKAorCQkJCSdJTlNFUlQgSU5UTyBub3RpZmlj
YXRpb25fc2V0dGluZ3MKKwkJCQkJKHNldHRpbmdfbmFtZSwgc2V0dGluZ192YWx1ZSwgdXNlcl9p
ZCwgcHJvZHVjdCwgY29udGV4dCkKKwkJCQkJVkFMVUVTCisJCQkJCSg/LCA/LCA/LCA/LCA/KScs
CisJCQkJYXJyYXkoCisJCQkJCSJlbWFpbCIsCisJCQkJCSRlbWFpbFNldHRpbmdzWyRpXSwKKwkJ
CQkJKGludCkgJHVzZXJJZCwKKwkJCQkJJHByb2R1Y3ROYW1lLAorCQkJCQkoaW50KSAkY29udGV4
dElkCisJCQkJKQorCQkJKTsKKwkJfQorCX0KKwkKKwkvKioKKwkgKiBHZXRzIGEgdXNlciBpZCBi
eSBhbiBSU1MgdG9rZW4gdmFsdWUKKwkgKiBAcGFyYW0gJHRva2VuIGludAorCSAqIEByZXR1cm4g
aW50CisJICovCisJZnVuY3Rpb24gZ2V0VXNlcklkQnlSU1NUb2tlbigkdG9rZW4pIHsKKwkJJGFw
cGxpY2F0aW9uID0mIFBLUEFwcGxpY2F0aW9uOjpnZXRBcHBsaWNhdGlvbigpOworCQkkcHJvZHVj
dE5hbWUgPSAkYXBwbGljYXRpb24tPmdldE5hbWUoKTsKKwkJJGNvbnRleHQgPSYgUmVxdWVzdDo6
Z2V0Q29udGV4dCgpOworCQkkY29udGV4dElkID0gJGNvbnRleHQtPmdldElkKCk7CisJCisJCSRy
ZXN1bHQgPSYgJHRoaXMtPnJldHJpZXZlKAorCQkJJ1NFTEVDVCB1c2VyX2lkIEZST00gbm90aWZp
Y2F0aW9uX3NldHRpbmdzIFdIRVJFIHNldHRpbmdfdmFsdWUgPSA/IEFORCBzZXR0aW5nX25hbWUg
PSA/IEFORCBwcm9kdWN0ID0gPyBBTkQgY29udGV4dCA9ID8nLAorCQkJCWFycmF5KCR0b2tlbiwg
J3Rva2VuJywgJHByb2R1Y3ROYW1lLCAoaW50KSAkY29udGV4dElkKQorCQkpOworCisJCSRyb3cg
PSAkcmVzdWx0LT5HZXRSb3dBc3NvYyhmYWxzZSk7CisJCSR1c2VySWQgPSAkcm93Wyd1c2VyX2lk
J107CisKKwkJJHJlc3VsdC0+Q2xvc2UoKTsKKwkJdW5zZXQoJHJlc3VsdCk7CisJCQorCQlyZXR1
cm4gJHVzZXJJZDsKKwl9CisKKwkvKioKKwkgKiBHZXRzIGFuIFJTUyB0b2tlbiBmb3IgYSB1c2Vy
IGlkCisJICogQHBhcmFtICR1c2VySWQgaW50CisJICogQHJldHVybiBpbnQKKwkgKi8KKwlmdW5j
dGlvbiBnZXRSU1NUb2tlbkJ5VXNlcklkKCR1c2VySWQpIHsKKwkJJGFwcGxpY2F0aW9uID0mIFBL
UEFwcGxpY2F0aW9uOjpnZXRBcHBsaWNhdGlvbigpOworCQkkcHJvZHVjdE5hbWUgPSAkYXBwbGlj
YXRpb24tPmdldE5hbWUoKTsKKwkJJGNvbnRleHQgPSYgUmVxdWVzdDo6Z2V0Q29udGV4dCgpOwor
CQkkY29udGV4dElkID0gJGNvbnRleHQtPmdldElkKCk7CisJCisJCSRyZXN1bHQgPSYgJHRoaXMt
PnJldHJpZXZlKAorCQkJJ1NFTEVDVCBzZXR0aW5nX3ZhbHVlIEZST00gbm90aWZpY2F0aW9uX3Nl
dHRpbmdzIFdIRVJFIHVzZXJfaWQgPSA/IEFORCBzZXR0aW5nX25hbWUgPSA/IEFORCBwcm9kdWN0
ID0gPyBBTkQgY29udGV4dCA9ID8nLAorCQkJCWFycmF5KChpbnQpICR1c2VySWQsICd0b2tlbics
ICRwcm9kdWN0TmFtZSwgKGludCkgJGNvbnRleHRJZCkKKwkJKTsKKworCQkkcm93ID0gJHJlc3Vs
dC0+R2V0Um93QXNzb2MoZmFsc2UpOworCQkkdXNlcklkID0gJHJvd1snc2V0dGluZ192YWx1ZSdd
OworCisJCSRyZXN1bHQtPkNsb3NlKCk7CisJCXVuc2V0KCRyZXN1bHQpOworCQkKKwkJcmV0dXJu
ICR1c2VySWQ7CisJfQorCisJLyoqCisJICogR2VuZXJhdGVzIGFuZCBpbnNlcnRzIGEgbmV3IHRv
a2VuIGZvciBhIHVzZXIncyBSU1MgZmVlZAorCSAqIEBwYXJhbSAkdXNlcklkIGludAorCSAqIEBy
ZXR1cm4gaW50CisJICovCisJZnVuY3Rpb24gaW5zZXJ0TmV3UlNTVG9rZW4oJHVzZXJJZCkgewor
CQkkYXBwbGljYXRpb24gPSYgUEtQQXBwbGljYXRpb246OmdldEFwcGxpY2F0aW9uKCk7CisJCSRw
cm9kdWN0TmFtZSA9ICRhcHBsaWNhdGlvbi0+Z2V0TmFtZSgpOworCQkkY29udGV4dCA9JiBSZXF1
ZXN0OjpnZXRDb250ZXh0KCk7CisJCSRjb250ZXh0SWQgPSAkY29udGV4dC0+Z2V0SWQoKTsKKwkJ
CisJCSR0b2tlbiA9IHVuaXFpZChyYW5kKCkpOworCQorCQkkdGhpcy0+dXBkYXRlKAorCQkJJ0lO
U0VSVCBJTlRPIG5vdGlmaWNhdGlvbl9zZXR0aW5ncworCQkJCShzZXR0aW5nX25hbWUsIHNldHRp
bmdfdmFsdWUsIHVzZXJfaWQsIHByb2R1Y3QsIGNvbnRleHQpCisJCQkJVkFMVUVTCisJCQkJKD8s
ID8sID8sID8sID8pJywKKwkJCWFycmF5KAorCQkJCSd0b2tlbicsCisJCQkJJHRva2VuLAorCQkJ
CShpbnQpICR1c2VySWQsCisJCQkJJHByb2R1Y3ROYW1lLAorCQkJCShpbnQpICRjb250ZXh0SWQK
KwkJCSkKKwkJKTsKKworCQlyZXR1cm4gJHRva2VuOworCX0KKwkKKwkvKioKKwkgKiBHZW5lcmF0
ZXMgYW4gYWNjZXNzIGtleSBmb3IgdGhlIGd1ZXN0IHVzZXIgYW5kIGFkZHMgdGhlbSB0byB0aGUg
c2V0dGluZ3MgdGFibGUKKwkgKiBAcGFyYW0gJHVzZXJJZCBpbnQKKwkgKiBAcmV0dXJuIGludAor
CSAqLworCWZ1bmN0aW9uIHN1YnNjcmliZUd1ZXN0KCRlbWFpbCkgeworCQkkYXBwbGljYXRpb24g
PSYgUEtQQXBwbGljYXRpb246OmdldEFwcGxpY2F0aW9uKCk7CisJCSRwcm9kdWN0TmFtZSA9ICRh
cHBsaWNhdGlvbi0+Z2V0TmFtZSgpOworCQkkY29udGV4dCA9JiBSZXF1ZXN0OjpnZXRDb250ZXh0
KCk7CisJCSRjb250ZXh0SWQgPSAkY29udGV4dC0+Z2V0SWQoKTsKKworCQkvLyBDaGVjayB0aGF0
IHRoZSBlbWFpbCBkb2Vzbid0IGFscmVhZHkgZXhpc3QKKwkJJHJlc3VsdCA9JiAkdGhpcy0+cmV0
cmlldmUoCisJCQknU0VMRUNUICogRlJPTSBub3RpZmljYXRpb25fc2V0dGluZ3MgV0hFUkUgc2V0
dGluZ19uYW1lID0gPyBBTkQgc2V0dGluZ192YWx1ZSA9ID8gQU5EIHByb2R1Y3QgPSA/IEFORCBj
b250ZXh0ID0gPycsCisJCQlhcnJheSgKKwkJCQknbWFpbExpc3QnLAorCQkJCSRlbWFpbCwKKwkJ
CQkkcHJvZHVjdE5hbWUsCisJCQkJKGludCkgJGNvbnRleHRJZAorCQkJKQorCQkpOworCisJCWlm
ICgkcmVzdWx0LT5SZWNvcmRDb3VudCgpICE9IDApIHsKKwkJCXJldHVybiBmYWxzZTsKKwkJfSBl
bHNlIHsJCQorCQkJJHRoaXMtPnVwZGF0ZSgKKwkJCQknSU5TRVJUIElOVE8gbm90aWZpY2F0aW9u
X3NldHRpbmdzCisJCQkJCShzZXR0aW5nX25hbWUsIHNldHRpbmdfdmFsdWUsIHVzZXJfaWQsIHBy
b2R1Y3QsIGNvbnRleHQpCisJCQkJCVZBTFVFUworCQkJCQkoPywgPywgPywgPywgPyknLAorCQkJ
CWFycmF5KAorCQkJCQknbWFpbExpc3RVbmNvbWZpcm1lZCcsCisJCQkJCSRlbWFpbCwKKwkJCQkJ
MCwKKwkJCQkJJHByb2R1Y3ROYW1lLAorCQkJCQkoaW50KSAkY29udGV4dElkCisJCQkJKQorCQkJ
KTsKKwkJfQkKKworCQkvLyBHZXQgYXNzb2NfaWQgaW50byBub3RpZmljYXRpb25fc2V0dGluZ3Mg
dGFibGUsIGFsc28gdXNlZCBhcyB1c2VyX2lkIGZvciBhY2Nlc3Mga2V5CisJCSRhc3NvY0lkID0g
JHRoaXMtPmdldEluc2VydE5vdGlmaWNhdGlvblNldHRpbmdJZCgpOworCisJCWltcG9ydCgnc2Vj
dXJpdHkuQWNjZXNzS2V5TWFuYWdlcicpOworCQkkYWNjZXNzS2V5TWFuYWdlciA9IG5ldyBBY2Nl
c3NLZXlNYW5hZ2VyKCk7CisKKwkJJHBhc3N3b3JkID0gJGFjY2Vzc0tleU1hbmFnZXItPmNyZWF0
ZUtleSgnTWFpbExpc3RDb250ZXh0JywgJGFzc29jSWQsICRhc3NvY0lkLCAxMDAwMCk7CisJCXJl
dHVybiAkcGFzc3dvcmQ7CisJfQorCQorCQorCQorCS8qKgorCSAqIFJlbW92ZXMgYW4gZW1haWwg
YWRkcmVzcyBhbmQgYXNzb2NpYXRlZCBhY2Nlc3Mga2V5IGZyb20gZW1haWwgbm90aWZpY2F0aW9u
cworCSAqIEBwYXJhbSAkZW1haWwgc3RyaW5nCisJICogQHBhcmFtICRwYXNzd29yZCBzdHJpbmcK
KwkgKiBAcmV0dXJuIGJvb2xlYW4KKwkgKi8KKwlmdW5jdGlvbiB1bnN1YnNjcmliZUd1ZXN0KCRl
bWFpbCwgJHBhc3N3b3JkKSB7CisJCSRhcHBsaWNhdGlvbiA9JiBQS1BBcHBsaWNhdGlvbjo6Z2V0
QXBwbGljYXRpb24oKTsKKwkJJHByb2R1Y3ROYW1lID0gJGFwcGxpY2F0aW9uLT5nZXROYW1lKCk7
CisJCSRjb250ZXh0ID0mIFJlcXVlc3Q6OmdldENvbnRleHQoKTsKKwkJJGNvbnRleHRJZCA9ICRj
b250ZXh0LT5nZXRJZCgpOworCQkKKwkJJHJlc3VsdCA9JiAkdGhpcy0+cmV0cmlldmUoCisJCQkn
U0VMRUNUIHNldHRpbmdfaWQgRlJPTSBub3RpZmljYXRpb25fc2V0dGluZ3MgV0hFUkUgc2V0dGlu
Z19uYW1lID0gPyBBTkQgcHJvZHVjdCA9ID8gQU5EIGNvbnRleHQgPSA/JywKKwkJCWFycmF5KAor
CQkJCSdtYWlsTGlzdCcsCisJCQkJJHByb2R1Y3ROYW1lLAorCQkJCShpbnQpICRjb250ZXh0SWQK
KwkJCSkKKwkJKTsKKworCQkkcm93ID0gJHJlc3VsdC0+R2V0Um93QXNzb2MoZmFsc2UpOworCQkk
dXNlcklkID0gKGludCkgJHJvd1snc2V0dGluZ19pZCddOworCisJCSRyZXN1bHQtPkNsb3NlKCk7
CisJCXVuc2V0KCRyZXN1bHQpOworCisJCWltcG9ydCgnc2VjdXJpdHkuQWNjZXNzS2V5TWFuYWdl
cicpOworCQkkYWNjZXNzS2V5TWFuYWdlciA9IG5ldyBBY2Nlc3NLZXlNYW5hZ2VyKCk7CisJCSRh
Y2Nlc3NLZXlIYXNoID0gQWNjZXNzS2V5TWFuYWdlcjo6Z2VuZXJhdGVLZXlIYXNoKCRwYXNzd29y
ZCk7CisJCSRhY2Nlc3NLZXkgPSAkYWNjZXNzS2V5TWFuYWdlci0+dmFsaWRhdGVLZXkoJ01haWxM
aXN0Q29udGV4dCcsICR1c2VySWQsICRhY2Nlc3NLZXlIYXNoKTsKKworCQlpZiAoJGFjY2Vzc0tl
eSkgeworCQkJJHRoaXMtPnVwZGF0ZSgKKwkJCQknREVMRVRFIEZST00gbm90aWZpY2F0aW9uX3Nl
dHRpbmdzIFdIRVJFIHNldHRpbmdfbmFtZSA9ID8gQU5EIHNldHRpbmdfdmFsdWUgPSA/IEFORCBw
cm9kdWN0ID0gPyBBTkQgY29udGV4dCA9ID8nLAorCQkJCWFycmF5KAorCQkJCQknbWFpbExpc3Qn
LAorCQkJCQkkZW1haWwsCisJCQkJCSRwcm9kdWN0TmFtZSwKKwkJCQkJKGludCkgJGNvbnRleHRJ
ZAorCQkJCSkKKwkJCSk7CisJCQkkYWNjZXNzS2V5RGFvID0mIERBT1JlZ2lzdHJ5OjpnZXREQU8o
J0FjY2Vzc0tleURBTycpOworCQkJJGFjY2Vzc0tleURhby0+ZGVsZXRlQWNjZXNzS2V5KCRhY2Nl
c3NLZXkpOworCQkJcmV0dXJuIHRydWU7CisJCX0gZWxzZSByZXR1cm4gZmFsc2U7CQorCX0KKwkK
KwkvKioKKwkgKiBHZXRzIHRoZSBzZXR0aW5nIGlkIGZvciBhIG1haWxsaXN0IG1lbWJlciAodG8g
YWNjZXNzIHRoZSBhY2NvbXBhbnlpbmcgYWNjZXNzIGtleSkKKwkgKiBAcmV0dXJuIGFycmF5CisJ
ICovCisJZnVuY3Rpb24gZ2V0TWFpbExpc3RTZXR0aW5nSWQoJGVtYWlsLCAkc2V0dGluZ05hbWUg
PSAnbWFpbExpc3RVbmNvbWZpcm1lZCcpIHsKKwkJJGFwcGxpY2F0aW9uID0mIFBLUEFwcGxpY2F0
aW9uOjpnZXRBcHBsaWNhdGlvbigpOworCQkkcHJvZHVjdE5hbWUgPSAkYXBwbGljYXRpb24tPmdl
dE5hbWUoKTsKKwkJJGNvbnRleHQgPSYgUmVxdWVzdDo6Z2V0Q29udGV4dCgpOworCQkkY29udGV4
dElkID0gJGNvbnRleHQtPmdldElkKCk7CQorCQkKKwkJJHJlc3VsdCA9JiAkdGhpcy0+cmV0cmll
dmUoCisJCQknU0VMRUNUIHNldHRpbmdfaWQgRlJPTSBub3RpZmljYXRpb25fc2V0dGluZ3MgV0hF
UkUgc2V0dGluZ19uYW1lID0gPyBBTkQgc2V0dGluZ192YWx1ZSA9ID8gQU5EIHByb2R1Y3QgPSA/
IEFORCBjb250ZXh0ID0gPycsCisJCQlhcnJheSgKKwkJCQkkc2V0dGluZ05hbWUsCisJCQkJJGVt
YWlsLAorCQkJCSRwcm9kdWN0TmFtZSwKKwkJCQkoaW50KSAkY29udGV4dElkCisJCQkpCisJCSk7
CisJCQorCQkkcm93ID0gJHJlc3VsdC0+R2V0Um93QXNzb2MoZmFsc2UpOworCQkkc2V0dGluZ0lk
ID0gKGludCkgJHJvd1snc2V0dGluZ19pZCddOworCQkKKwkJcmV0dXJuICRzZXR0aW5nSWQ7CisJ
fQorCQorCS8qKgorCSAqIFVwZGF0ZSB0aGUgbm90aWZpY2F0aW9uIHNldHRpbmdzIHRhYmxlIHRv
IGNvbmZpcm0gdGhlIG1haWxpbmcgbGlzdCBzdWJzY3JpcHRpb24KKwkgKiBAcmV0dXJuIGJvb2xl
YW4KKwkgKi8KKwlmdW5jdGlvbiBjb25maXJtTWFpbExpc3RTdWJzY3JpcHRpb24oJHNldHRpbmdJ
ZCkgeworCQlyZXR1cm4gJHRoaXMtPnVwZGF0ZSgKKwkJCSdVUERBVEUgbm90aWZpY2F0aW9uX3Nl
dHRpbmdzIFNFVCBzZXR0aW5nX25hbWUgPSA/IFdIRVJFIHNldHRpbmdfaWQgPSA/JywKKwkJCWFy
cmF5KCdtYWlsTGlzdCcsIChpbnQpICRzZXR0aW5nSWQpCisJCSk7CisJfQorCisJLyoqCisJICog
R2V0cyBhIGxpc3Qgb2YgZW1haWwgYWRkcmVzc2VzIG9mIHVzZXJzIHN1YnNjcmliZWQgdG8gdGhl
IG1haWxpbmcgbGlzdAorCSAqIEByZXR1cm4gYXJyYXkKKwkgKi8KKwlmdW5jdGlvbiBnZXRNYWls
TGlzdCgpIHsKKwkJJGFwcGxpY2F0aW9uID0mIFBLUEFwcGxpY2F0aW9uOjpnZXRBcHBsaWNhdGlv
bigpOworCQkkcHJvZHVjdE5hbWUgPSAkYXBwbGljYXRpb24tPmdldE5hbWUoKTsKKwkJJGNvbnRl
eHQgPSYgUmVxdWVzdDo6Z2V0Q29udGV4dCgpOworCQkkY29udGV4dElkID0gJGNvbnRleHQtPmdl
dElkKCk7CisJCSRtYWlsTGlzdCA9IGFycmF5KCk7CisJCQorCQkkcmVzdWx0ID0mICR0aGlzLT5y
ZXRyaWV2ZSgKKwkJCSdTRUxFQ1Qgc2V0dGluZ192YWx1ZSBGUk9NIG5vdGlmaWNhdGlvbl9zZXR0
aW5ncyBXSEVSRSBzZXR0aW5nX25hbWUgPSA/IEFORCBwcm9kdWN0ID0gPyBBTkQgY29udGV4dCA9
ID8nLAorCQkJYXJyYXkoCisJCQkJJ21haWxMaXN0JywKKwkJCQkkcHJvZHVjdE5hbWUsCisJCQkJ
KGludCkgJGNvbnRleHRJZAorCQkJKQorCQkpOworCisJCXdoaWxlICghJHJlc3VsdC0+RU9GKSB7
CisJCQkkcm93ID0gJHJlc3VsdC0+R2V0Um93QXNzb2MoZmFsc2UpOworCQkJJG1haWxMaXN0W10g
PSAkcm93WydzZXR0aW5nX3ZhbHVlJ107CisJCQkkcmVzdWx0LT5tb3ZlTmV4dCgpOworCQl9CisK
KwkJJHJlc3VsdC0+Q2xvc2UoKTsKKwkJdW5zZXQoJHJlc3VsdCk7CisJCQorCQlyZXR1cm4gJG1h
aWxMaXN0OworCX0KKworCS8qKgorCSAqIEdlbmVyYXRlcyBhbmQgaW5zZXJ0cyBhIG5ldyBwYXNz
d29yZCBmb3IgYSBtYWlsaW5nIGxpc3QgdXNlcgorCSAqIEBwYXJhbSAkZW1haWwgc3RyaW5nCisJ
ICogQHJldHVybiBzdHJpbmcKKwkgKi8KKwlmdW5jdGlvbiByZXNldFBhc3N3b3JkKCRlbWFpbCkg
eworCQkkYXBwbGljYXRpb24gPSYgUEtQQXBwbGljYXRpb246OmdldEFwcGxpY2F0aW9uKCk7CisJ
CSRwcm9kdWN0TmFtZSA9ICRhcHBsaWNhdGlvbi0+Z2V0TmFtZSgpOworCQkkY29udGV4dCA9JiBS
ZXF1ZXN0OjpnZXRDb250ZXh0KCk7CisJCSRjb250ZXh0SWQgPSAkY29udGV4dC0+Z2V0SWQoKTsK
KwkJCisJCSRyZXN1bHQgPSYgJHRoaXMtPnJldHJpZXZlKAorCQkJJ1NFTEVDVCBzZXR0aW5nX2lk
IEZST00gbm90aWZpY2F0aW9uX3NldHRpbmdzIFdIRVJFIHNldHRpbmdfbmFtZSA9ID8gQU5EIHNl
dHRpbmdfdmFsdWUgPSA/IEFORCBwcm9kdWN0ID0gPyBBTkQgY29udGV4dCA9ID8nLAorCQkJYXJy
YXkoCisJCQkJJ21haWxMaXN0JywKKwkJCQkkZW1haWwsCisJCQkJJHByb2R1Y3ROYW1lLAorCQkJ
CShpbnQpICRjb250ZXh0SWQKKwkJCSkKKwkJKTsKKworCQkkcm93ID0gJHJlc3VsdC0+R2V0Um93
QXNzb2MoZmFsc2UpOworCQkkc2V0dGluZ0lkID0gJHJvd1snc2V0dGluZ19pZCddOworCisJCSRy
ZXN1bHQtPkNsb3NlKCk7CisJCXVuc2V0KCRyZXN1bHQpOworCisJCSRhY2Nlc3NLZXlEYW8gPSYg
REFPUmVnaXN0cnk6OmdldERBTygnQWNjZXNzS2V5REFPJyk7CisJCSRhY2Nlc3NLZXkgPSAkYWNj
ZXNzS2V5RGFvLT5nZXRBY2Nlc3NLZXlCeVVzZXJJZCgnTWFpbExpc3RDb250ZXh0JywgJHNldHRp
bmdJZCk7CisKKwkJaWYgKCRhY2Nlc3NLZXkpIHsKKwkJCSRrZXkgPSBWYWxpZGF0aW9uOjpnZW5l
cmF0ZVBhc3N3b3JkKCk7CisJCQkkYWNjZXNzS2V5LT5zZXRLZXlIYXNoKG1kNSgka2V5KSk7CisJ
CQkKKwkJCSRhY2Nlc3NLZXlEYW8gPSYgREFPUmVnaXN0cnk6OmdldERBTygnQWNjZXNzS2V5REFP
Jyk7CisJCQkkYWNjZXNzS2V5RGFvLT51cGRhdGVBY2Nlc3NLZXkoJGFjY2Vzc0tleSk7CisJCQly
ZXR1cm4gJGtleTsKKwkJfSBlbHNlIHJldHVybiBmYWxzZTsKKwl9CisKKwkvKioKKwkgKiBHZXQg
dGhlIElEIG9mIHRoZSBsYXN0IGluc2VydGVkIG5vdGlmaWNhdGlvbgorCSAqIEByZXR1cm4gaW50
CisJICovCisJZnVuY3Rpb24gZ2V0SW5zZXJ0Tm90aWZpY2F0aW9uU2V0dGluZ0lkKCkgeworCQly
ZXR1cm4gJHRoaXMtPmdldEluc2VydElkKCdub3RpZmljYXRpb25fc2V0dGluZ3MnLCAnc2V0dGlu
Z19pZCcpOworCX0KKworfQorCis/PgpJbmRleDogY2xhc3Nlcy9ub3RpZmljYXRpb24vUEtQTm90
aWZpY2F0aW9uLmluYy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogY2xhc3Nlcy9ub3RpZmljYXRp
b24vUEtQTm90aWZpY2F0aW9uLmluYy5waHAKZGlmZiAtTiBjbGFzc2VzL25vdGlmaWNhdGlvbi9Q
S1BOb3RpZmljYXRpb24uaW5jLnBocAotLS0gL2Rldi9udWxsCTEgSmFuIDE5NzAgMDA6MDA6MDAg
LTAwMDAKKysrIGNsYXNzZXMvbm90aWZpY2F0aW9uL1BLUE5vdGlmaWNhdGlvbi5pbmMucGhwCTI2
IEphbiAyMDA5IDIxOjAyOjM3IC0wMDAwCkBAIC0wLDAgKzEsMjUyIEBACis8P3BocAorCisvKioK
KyAqIEBmaWxlIGNsYXNzZXMvbm90aWZpY2F0aW9uL05vdGlmaWNhdGlvbi5pbmMucGhwCisgKgor
ICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMDggSm9obiBXaWxsaW5za3kKKyAqIERpc3RyaWJ1dGVk
IHVuZGVyIHRoZSBHTlUgR1BMIHYyLiBGb3IgZnVsbCB0ZXJtcyBzZWUgdGhlIGZpbGUgZG9jcy9D
T1BZSU5HLgorICoKKyAqIEBjbGFzcyBOb3RpZmljYXRpb24KKyAqIEBpbmdyb3VwIG5vdGlmaWNh
dGlvbgorICogQHNlZSBOb3RpZmljYXRpb25EQU8KKyAqIEBicmllZiBDbGFzcyBmb3IgTm90aWZp
Y2F0aW9uLgorICovCisKKy8vICRJZDogTm90aWZpY2F0aW9uLmluYy5waHAsdiAxLjEwIDIwMDgv
MDcvMDEgMDE6MTY6MDkgYXNtZWNoZXIgRXhwICQKKworaW1wb3J0KCdub3RpZmljYXRpb24uTm90
aWZpY2F0aW9uREFPJyk7CisKK2NsYXNzIFBLUE5vdGlmaWNhdGlvbiBleHRlbmRzIERhdGFPYmpl
Y3QgeworCisJLyoqCisJICogQ29uc3RydWN0b3IuCisJICovCisJZnVuY3Rpb24gUEtQTm90aWZp
Y2F0aW9uKCkgeworCQlwYXJlbnQ6OkRhdGFPYmplY3QoKTsKKwl9CisJCisJLyoqCisJICogQ3Jl
YXRlIGEgbmV3IG5vdGlmaWNhdGlvbiB3aXRoIHRoZSBzcGVjaWZpZWQgYXJndW1lbnRzIGFuZCBp
bnNlcnQgaW50byBEQgorCSAqIFRoaXMgaXMgYSBzdGF0aWMgbWV0aG9kCisJICogQHBhcmFtICR1
c2VySWQgaW50CisJICogQHBhcmFtICRjb250ZW50cyBzdHJpbmcKKwkgKiBAcGFyYW0gJHBhcmFt
IHN0cmluZworCSAqIEBwYXJhbSAkbG9jYXRpb24gc3RyaW5nCisJICogQHBhcmFtICRpc0xvY2Fs
aXplZCBib29sCisJICogQHBhcmFtICRhc3NvY1R5cGUgaW50CisJICogQHBhcmFtICRhc3NvY0lk
IGludAorCSAqIEByZXR1cm4gTm90aWZpY2F0aW9uIG9iamVjdAorCSAqLworCWZ1bmN0aW9uIGNy
ZWF0ZU5vdGlmaWNhdGlvbigkdXNlcklkLCAkY29udGVudHMsICRwYXJhbSwgJGxvY2F0aW9uLCAk
aXNMb2NhbGl6ZWQsICRhc3NvY1R5cGUpIHsKKwkJJG5vdGlmaWNhdGlvbiA9IG5ldyBOb3RpZmlj
YXRpb24oKTsKKwkJJGNvbnRleHQgPSYgUmVxdWVzdDo6Z2V0Q29udGV4dCgpOworCQkkY29udGV4
dElkID0gJGNvbnRleHQtPmdldElkKCk7CisKKwkJJG5vdGlmaWNhdGlvbi0+c2V0VXNlcklkKCR1
c2VySWQpOworCQkkbm90aWZpY2F0aW9uLT5zZXRDb250ZW50cygkY29udGVudHMpOworCQkkbm90
aWZpY2F0aW9uLT5zZXRQYXJhbSgkcGFyYW0pOworCQkkbm90aWZpY2F0aW9uLT5zZXRMb2NhdGlv
bigkbG9jYXRpb24pOworCQkkbm90aWZpY2F0aW9uLT5zZXRJc0xvY2FsaXplZCgkaXNMb2NhbGl6
ZWQpOworCQkkbm90aWZpY2F0aW9uLT5zZXRBc3NvY1R5cGUoJGFzc29jVHlwZSk7CisJCSRub3Rp
ZmljYXRpb24tPnNldENvbnRleHQoJGNvbnRleHRJZCk7CisJCQorCQkkbm90aWZpY2F0aW9uRGFv
ID0mIERBT1JlZ2lzdHJ5OjpnZXREQU8oJ05vdGlmaWNhdGlvbkRBTycpOworCQkkbm90aWZpY2F0
aW9uRGFvLT5pbnNlcnROb3RpZmljYXRpb24oJG5vdGlmaWNhdGlvbik7CisJCQorCQlyZXR1cm4g
JG5vdGlmaWNhdGlvbjsKKwl9CisKKwkvKioKKwkgKiBnZXQgbm90aWZpY2F0aW9uIGlkCisJICog
QHJldHVybiBpbnQKKwkgKi8KKwlmdW5jdGlvbiBnZXROb3RpZmljYXRpb25JZCgpIHsKKwkJcmV0
dXJuICR0aGlzLT5nZXREYXRhKCdub3RpZmljYXRpb25JZCcpOworCX0KKworCS8qKgorCSAqIHNl
dCBub3RpZmljYXRpb24gaWQKKwkgKiBAcGFyYW0gJGNvbW1lbnRJZCBpbnQKKwkgKi8KKwlmdW5j
dGlvbiBzZXROb3RpZmljYXRpb25JZCgkbm90aWZpY2F0aW9uSWQpIHsKKwkJcmV0dXJuICR0aGlz
LT5zZXREYXRhKCdub3RpZmljYXRpb25JZCcsICRub3RpZmljYXRpb25JZCk7CisJfQorCQorCS8q
KgorCSAqIGdldCB1c2VyIGlkIGFzc29jaWF0ZWQgd2l0aCB0aGlzIG5vdGlmaWNhdGlvbgorCSAq
IEByZXR1cm4gaW50CisJICovCisJZnVuY3Rpb24gZ2V0VXNlcklkKCkgeworCQlyZXR1cm4gJHRo
aXMtPmdldERhdGEoJ3VzZXJJZCcpOworCX0KKwkKKwkvKioKKwkgKiBzZXQgdXNlciBpZCBhc3Nv
Y2lhdGVkIHdpdGggdGhpcyBub3RpZmljYXRpb24KKwkgKiBAcGFyYW0gJHVzZXJJZCBpbnQKKwkg
Ki8KKwlmdW5jdGlvbiBzZXRVc2VySWQoJHVzZXJJZCkgeworCQlyZXR1cm4gJHRoaXMtPnNldERh
dGEoJ3VzZXJJZCcsICR1c2VySWQpOworCX0KKwkKKwkvKioKKwkgKiBnZXQgZGF0ZSBub3RpZmlj
YXRpb24gd2FzIGNyZWF0ZWQKKwkgKiBAcmV0dXJuIGRhdGUgKFlZWVktTU0tREQgSEg6TU06U1Mp
CisJICovCisJZnVuY3Rpb24gZ2V0RGF0ZUNyZWF0ZWQoKSB7CisJCXJldHVybiAkdGhpcy0+Z2V0
RGF0YSgnZGF0ZUNyZWF0ZWQnKTsKKwl9CisJCisJLyoqCisJICogc2V0IGRhdGUgbm90aWZpY2F0
aW9uIHdhcyBjcmVhdGVkCisJICogQHBhcmFtICRkYXRlQ3JlYXRlZCBkYXRlIChZWVlZLU1NLURE
IEhIOk1NOlNTKQorCSAqLworCWZ1bmN0aW9uIHNldERhdGVDcmVhdGVkKCRkYXRlQ3JlYXRlZCkg
eworCQlyZXR1cm4gJHRoaXMtPnNldERhdGEoJ2RhdGVDcmVhdGVkJywgJGRhdGVDcmVhdGVkKTsK
Kwl9CisJCisJLyoqCisJICogZ2V0IGRhdGUgbm90aWZpY2F0aW9uIGlzIHJlYWQgYnkgdXNlcgor
CSAqIEByZXR1cm4gZGF0ZSAoWVlZWS1NTS1ERCBISDpNTTpTUykKKwkgKi8KKwlmdW5jdGlvbiBn
ZXREYXRlUmVhZCgpIHsKKwkJcmV0dXJuICR0aGlzLT5nZXREYXRhKCdkYXRlUmVhZCcpOworCX0K
KwkKKwkvKioKKwkgKiBzZXQgZGF0ZSBub3RpZmljYXRpb24gaXMgcmVhZCBieSB1c2VyCisJICog
QWxzbyBzZXRzIHNldGlzVW5yZWFkKCkgaWYgJGRhdGVSZWFkIGlzIG51bGwKKwkgKiBAcGFyYW0g
JGRhdGVSZWFkIGRhdGUgKFlZWVktTU0tREQgSEg6TU06U1MpCisJICovCisJZnVuY3Rpb24gc2V0
RGF0ZVJlYWQoJGRhdGVSZWFkKSB7CisJCWlmKCFpc3NldCgkZGF0ZVJlYWQpKSB7CisJCQkkdGhp
cy0+c2V0SXNVbnJlYWQodHJ1ZSk7CisJCQkkbm90aWZpY2F0aW9uRGFvID0mIERBT1JlZ2lzdHJ5
OjpnZXREQU8oJ05vdGlmaWNhdGlvbkRBTycpOworCQkJJG5vdGlmaWNhdGlvbkRhby0+c2V0RGF0
ZVJlYWQoJHRoaXMtPmdldE5vdGlmaWNhdGlvbklkKCkpOworCQl9IGVsc2UgeworCQkJJHRoaXMt
PnNldElzVW5yZWFkKGZhbHNlKTsKKwkJCXJldHVybiAkdGhpcy0+c2V0RGF0YSgnZGF0ZVJlYWQn
LCAkZGF0ZVJlYWQpOwkKKwkJfQorCX0KKwkKKwkvKioKKwkgKiByZXR1cm4gdHJ1ZSBpZiByZWFk
aW5nIGZvciB0aGUgZmlyc3QgdGltZQorCSAqIEByZXR1cm4gYm9vbAorCSAqLworCWZ1bmN0aW9u
IGdldElzVW5yZWFkKCkgeworCQlyZXR1cm4gJHRoaXMtPmdldERhdGEoJ2lzVW5yZWFkJyk7CisJ
fQorCQorCS8qKgorCSAqIHNldCB0byB0cnVlIGlmIG5vdGlmaWNhdGlvbiBoYXMgbm90IGJlZW4g
cmVhZAorCSAqIEBwYXJhbSAkaXNVbnJlYWQgYm9vbAorCSAqLworCWZ1bmN0aW9uIHNldElzVW5y
ZWFkKCRpc1VucmVhZCkgeworCQlyZXR1cm4gJHRoaXMtPnNldERhdGEoJ2lzVW5yZWFkJywgJGlz
VW5yZWFkKTsKKwl9CisJCisJLyoqCisJICogZ2V0IG5vdGlmaWNhdGlvbiBjb250ZW50cworCSAq
IEByZXR1cm4gc3RyaW5nCisJICovCisJZnVuY3Rpb24gZ2V0Q29udGVudHMoKSB7CisJCXJldHVy
biAkdGhpcy0+Z2V0RGF0YSgnY29udGVudHMnKTsKKwl9CisJCisJLyoqCisJICogc2V0IG5vdGlm
aWNhdGlvbiBjb250ZW50cworCSAqIEBwYXJhbSAkY29udGVudHMgaW50CisJICovCisJZnVuY3Rp
b24gc2V0Q29udGVudHMoJGNvbnRlbnRzKSB7CisJCXJldHVybiAkdGhpcy0+c2V0RGF0YSgnY29u
dGVudHMnLCAkY29udGVudHMpOworCX0KKwkKKwkvKioKKwkgKiBnZXQgb3B0aW9uYWwgcGFyYW1l
dGVyIChlLmcuIGFydGljbGUgdGl0bGUpCisJICogQHJldHVybiBzdHJpbmcKKwkgKi8KKwlmdW5j
dGlvbiBnZXRQYXJhbSgpIHsKKwkJcmV0dXJuICR0aGlzLT5nZXREYXRhKCdwYXJhbScpOworCX0K
KwkKKwkvKioKKwkgKiBzZXQgb3B0aW9uYWwgcGFyYW1ldGVyCisJICogQHBhcmFtICRwYXJhbSBp
bnQKKwkgKi8KKwlmdW5jdGlvbiBzZXRQYXJhbSgkcGFyYW0pIHsKKwkJcmV0dXJuICR0aGlzLT5z
ZXREYXRhKCdwYXJhbScsICRwYXJhbSk7CisJfQorCQorCS8qKgorCSAqIGdldCBVUkwgdGhhdCBu
b3RpZmljYXRpb24gcmVmZXJzIHRvCisJICogQHJldHVybiBpbnQKKwkgKi8KKwlmdW5jdGlvbiBn
ZXRMb2NhdGlvbigpIHsKKwkJcmV0dXJuICR0aGlzLT5nZXREYXRhKCdsb2NhdGlvbicpOworCX0K
KwkKKwkvKioKKwkgKiBzZXQgVVJMIHRoYXQgbm90aWZpY2F0aW9uIHJlZmVycyB0bworCSAqIEBw
YXJhbSAkbG9jYXRpb24gaW50CisJICovCisJZnVuY3Rpb24gc2V0TG9jYXRpb24oJGxvY2F0aW9u
KSB7CisJCXJldHVybiAkdGhpcy0+c2V0RGF0YSgnbG9jYXRpb24nLCAkbG9jYXRpb24pOworCX0K
KwkKKwkvKioKKwkgKiByZXR1cm4gdHJ1ZSBpZiBtZXNzYWdlIGlzIGxvY2FsaXplZCAoaS5lLiBh
IHN5c3RlbSBtZXNzYWdlKQorCSAqIEByZXR1cm4gaW50CisJICovCisJZnVuY3Rpb24gZ2V0SXNM
b2NhbGl6ZWQoKSB7CisJCXJldHVybiAkdGhpcy0+Z2V0RGF0YSgnaXNMb2NhbGl6ZWQnKTsKKwl9
CisJCisJLyoqCisJICogc2V0IHRvIHRydWUgaWYgbWVzc2FnZSBpcyBsb2NhbGl6ZWQgKGkuZS4g
aXMgYSBzeXN0ZW0gbWVzc2FnZSkKKwkgKiBAcGFyYW0gJGlzTG9jYWxpemVkIGludAorCSAqLwor
CWZ1bmN0aW9uIHNldElzTG9jYWxpemVkKCRpc0xvY2FsaXplZCkgeworCQlyZXR1cm4gJHRoaXMt
PnNldERhdGEoJ2lzTG9jYWxpemVkJywgJGlzTG9jYWxpemVkKTsKKwl9CisKKwkvKioKKwkgKiBn
ZXQgbm90aWZpY2F0aW9uIHR5cGUKKwkgKiBAcmV0dXJuIGludAorCSAqLworCWZ1bmN0aW9uIGdl
dEFzc29jVHlwZSgpIHsKKwkJcmV0dXJuICR0aGlzLT5nZXREYXRhKCdhc3NvY1R5cGUnKTsKKwl9
CisKKwkvKioKKwkgKiBzZXQgbm90aWZpY2F0aW9uIHR5cGUKKwkgKiBAcGFyYW0gJGFzc29jVHlw
ZSBpbnQKKwkgKi8KKwlmdW5jdGlvbiBzZXRBc3NvY1R5cGUoJGFzc29jVHlwZSkgeworCQlyZXR1
cm4gJHRoaXMtPnNldERhdGEoJ2Fzc29jVHlwZScsICRhc3NvY1R5cGUpOworCX0KKwkKKwkvKioK
KwkgKiBnZXQgY29udGV4dCBpZAorCSAqIEByZXR1cm4gaW50CisJICovCisJZnVuY3Rpb24gZ2V0
Q29udGV4dCgpIHsKKwkJcmV0dXJuICR0aGlzLT5nZXREYXRhKCdjb250ZXh0Jyk7CisJfQorCS8q
KgorCSAqIHNldCBjb250ZXh0IGlkCisJICogQHBhcmFtICRjb250ZXh0IGludAorCSAqLworCWZ1
bmN0aW9uIHNldENvbnRleHQoJGNvbnRleHQpIHsKKwkJcmV0dXJuICR0aGlzLT5zZXREYXRhKCdj
b250ZXh0JywgJGNvbnRleHQpOworCX0JCisJCisJLyoqCisJICogcmV0dXJuIHRoZSBwYXRoIHRv
IHRoZSBpY29uIGZvciB0aGlzIHR5cGUKKwkgKiBAcmV0dXJuIHN0cmluZworCSAqLworCWZ1bmN0
aW9uIGdldEljb25Mb2NhdGlvbigpIHsKKwkJZGllICgnQUJTVFJBQ1QgQ0xBU1MnKTsKKwl9CisK
KyB9CisKKz8+CkluZGV4OiBjbGFzc2VzL25vdGlmaWNhdGlvbi9mb3JtL1BLUE5vdGlmaWNhdGlv
blNldHRpbmdzRm9ybS5pbmMucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IGNsYXNzZXMvbm90aWZp
Y2F0aW9uL2Zvcm0vUEtQTm90aWZpY2F0aW9uU2V0dGluZ3NGb3JtLmluYy5waHAKZGlmZiAtTiBj
bGFzc2VzL25vdGlmaWNhdGlvbi9mb3JtL1BLUE5vdGlmaWNhdGlvblNldHRpbmdzRm9ybS5pbmMu
cGhwCi0tLSAvZGV2L251bGwJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMAorKysgY2xhc3Nlcy9u
b3RpZmljYXRpb24vZm9ybS9QS1BOb3RpZmljYXRpb25TZXR0aW5nc0Zvcm0uaW5jLnBocAkyNiBK
YW4gMjAwOSAyMTowMjozNyAtMDAwMApAQCAtMCwwICsxLDU0IEBACis8P3BocAorLyoqCisgKiBA
ZGVmZ3JvdXAgbm90aWZpY2F0aW9uX2Zvcm0KKyAqLworCisvKioKKyAqIEBmaWxlIGNsYXNzZXMv
bm90aWZpY2F0aW9uL2Zvcm0vTm90aWZpY2F0aW9uU2V0dGluZ3NGb3JtLmluYy5waHAKKyAqCisg
KiBDb3B5cmlnaHQgKGMpIDIwMDAtMjAwOCBKb2huIFdpbGxpbnNreQorICogRGlzdHJpYnV0ZWQg
dW5kZXIgdGhlIEdOVSBHUEwgdjIuIEZvciBmdWxsIHRlcm1zIHNlZSB0aGUgZmlsZSBkb2NzL0NP
UFlJTkcuCisgKgorICogQGNsYXNzIFBLUE5vdGlmaWNhdGlvblNldHRpbmdzRm9ybQorICogQGlu
Z3JvdXAgbm90aWZpY2F0aW9uX2Zvcm0KKyAqCisgKiBAYnJpZWYgRm9ybSB0byBlZGl0IG5vdGlm
aWNhdGlvbiBzZXR0aW5ncy4KKyAqLworCisvLyAkSWQ6IFBLUE5vdGlmaWNhdGlvblNldHRpbmdz
Rm9ybS5pbmMucGhwLHYgMS41IDIwMDgvMTEvMDUgMDA6NDU6MTMgbWNyaWRlciBFeHAgJAorCisK
K2ltcG9ydCgnZm9ybS5Gb3JtJyk7CisKK2NsYXNzIFBLUE5vdGlmaWNhdGlvblNldHRpbmdzRm9y
bSBleHRlbmRzIEZvcm0geworCS8qKgorCSAqIENvbnN0cnVjdG9yLgorCSAqLworCWZ1bmN0aW9u
IFBLUE5vdGlmaWNhdGlvblNldHRpbmdzRm9ybSgpIHsKKwkJcGFyZW50OjpGb3JtKCdub3RpZmlj
YXRpb24vc2V0dGluZ3MudHBsJyk7CisJCQorCQkvLyBWYWxpZGF0aW9uIGNoZWNrcyBmb3IgdGhp
cyBmb3JtCisJCSR0aGlzLT5hZGRDaGVjayhuZXcgRm9ybVZhbGlkYXRvclBvc3QoJHRoaXMpKTsK
Kwl9CisKKwkvKioKKwkgKiBEaXNwbGF5IHRoZSBmb3JtLgorCSAqLworCWZ1bmN0aW9uIGRpc3Bs
YXkoKSB7CisJCSR1c2VyID0gUmVxdWVzdDo6Z2V0VXNlcigpOworCQkkdXNlcklkID0gJHVzZXIt
PmdldFVzZXJJZCgpOworCisJCSRub3RpZmljYXRpb25TZXR0aW5nc0RhbyA9JiBEQU9SZWdpc3Ry
eTo6Z2V0REFPKCdOb3RpZmljYXRpb25TZXR0aW5nc0RBTycpOworCQkkbm90aWZpY2F0aW9uU2V0
dGluZ3MgPSAkbm90aWZpY2F0aW9uU2V0dGluZ3NEYW8tPmdldE5vdGlmaWNhdGlvblNldHRpbmdz
KCR1c2VySWQpOworCQkkZW1haWxTZXR0aW5ncyA9ICRub3RpZmljYXRpb25TZXR0aW5nc0Rhby0+
Z2V0Tm90aWZpY2F0aW9uRW1haWxTZXR0aW5ncygkdXNlcklkKTsKKworCQkkdGVtcGxhdGVNZ3Ig
PSYgVGVtcGxhdGVNYW5hZ2VyOjpnZXRNYW5hZ2VyKCk7CisJCSR0ZW1wbGF0ZU1nci0+YXNzaWdu
KCdub3RpZmljYXRpb25TZXR0aW5ncycsICRub3RpZmljYXRpb25TZXR0aW5ncyk7CisJCSR0ZW1w
bGF0ZU1nci0+YXNzaWduKCdlbWFpbFNldHRpbmdzJywgJGVtYWlsU2V0dGluZ3MpOworCQkkdGVt
cGxhdGVNZ3ItPmFzc2lnbigndGl0bGVWYXInLCBMb2NhbGU6OnRyYW5zbGF0ZSgnY29tbW9uLnRp
dGxlJykpOworCQkkdGVtcGxhdGVNZ3ItPmFzc2lnbigndXNlclZhcicsIExvY2FsZTo6dHJhbnNs
YXRlKCdjb21tb24udXNlcicpKTsKKwkJcmV0dXJuIHBhcmVudDo6ZGlzcGxheSgpOworCX0KK30K
KworPz4KSW5kZXg6IGNsYXNzZXMvc2VjdXJpdHkvQWNjZXNzS2V5REFPLmluYy5waHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQpSQ1MgZmlsZTogL2N2cy9wa3AvY2xhc3Nlcy9zZWN1cml0eS9BY2Nlc3NLZXlEQU8uaW5j
LnBocCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40CmRpZmYgLXUgLXIxLjQgQWNjZXNzS2V5REFP
LmluYy5waHAKLS0tIGNsYXNzZXMvc2VjdXJpdHkvQWNjZXNzS2V5REFPLmluYy5waHAJMiBEZWMg
MjAwOCAyMTowMToxMyAtMDAwMAkxLjQKKysrIGNsYXNzZXMvc2VjdXJpdHkvQWNjZXNzS2V5REFP
LmluYy5waHAJMjYgSmFuIDIwMDkgMjE6MDI6MzcgLTAwMDAKQEAgLTQxLDYgKzQxLDMwIEBACiAJ
CXVuc2V0KCRyZXN1bHQpOwogCQlyZXR1cm4gJGFjY2Vzc0tleTsKIAl9CisJCisJLyoqCisJICog
UmV0cmlldmUgYSBhY2Nlc3NLZXkgb2JqZWN0IHVzZXIgSUQuCisJICogQHBhcmFtICRjb250ZXh0
IHN0cmluZworCSAqIEBwYXJhbSAkdXNlcklkIGludAorCSAqIEByZXR1cm4gQWNjZXNzS2V5CisJ
ICovCisJZnVuY3Rpb24gJmdldEFjY2Vzc0tleUJ5VXNlcklkKCRjb250ZXh0LCAkdXNlcklkKSB7
CisJCSRyZXN1bHQgPSYgJHRoaXMtPnJldHJpZXZlKAorCQkJc3ByaW50ZigKKwkJCQknU0VMRUNU
ICogRlJPTSBhY2Nlc3Nfa2V5cyBXSEVSRSBjb250ZXh0ID0gPyBBTkQgdXNlcl9pZCA9ID8gQU5E
IGV4cGlyeV9kYXRlID4gJXMnLAorCQkJCSR0aGlzLT5kYXRldGltZVRvREIoQ29yZTo6Z2V0Q3Vy
cmVudERhdGUoKSkKKwkJCSksCisJCQlhcnJheSgkY29udGV4dCwgJHVzZXJJZCkKKwkJKTsKKwor
CQkkcmV0dXJuZXIgPSBudWxsOworCQlpZiAoJHJlc3VsdC0+UmVjb3JkQ291bnQoKSAhPSAwKSB7
CisJCQkkcmV0dXJuZXIgPSYgJHRoaXMtPl9yZXR1cm5BY2Nlc3NLZXlGcm9tUm93KCRyZXN1bHQt
PkdldFJvd0Fzc29jKGZhbHNlKSk7CisJCX0KKwkJJHJlc3VsdC0+Q2xvc2UoKTsKKwkJdW5zZXQo
JHJlc3VsdCk7CisJCXJldHVybiAkcmV0dXJuZXI7CisJfQogCiAJLyoqCiAJICogUmV0cmlldmUg
YSBhY2Nlc3NLZXkgb2JqZWN0IGJ5IGtleS4KQEAgLTExOCw3ICsxNDIsNyBAQAogCSAqLwogCWZ1
bmN0aW9uIHVwZGF0ZUFjY2Vzc0tleSgmJGFjY2Vzc0tleSkgewogCQlyZXR1cm4gJHRoaXMtPnVw
ZGF0ZSgKLQkJCXNwcmludGYoJ1VQREFURSBhY2Nlc3NLZXlzCisJCQlzcHJpbnRmKCdVUERBVEUg
YWNjZXNzX2tleXMKIAkJCQlTRVQKIAkJCQkJa2V5X2hhc2ggPSA/LAogCQkJCQlleHBpcnlfZGF0
ZSA9ICVzLApJbmRleDogY2xhc3Nlcy90ZW1wbGF0ZS9QS1BUZW1wbGF0ZU1hbmFnZXIuaW5jLnBo
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3BrcC9jbGFzc2VzL3RlbXBsYXRlL1BLUFRlbXBs
YXRlTWFuYWdlci5pbmMucGhwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjkKZGlmZiAtdSAtcjEu
OSBQS1BUZW1wbGF0ZU1hbmFnZXIuaW5jLnBocAotLS0gY2xhc3Nlcy90ZW1wbGF0ZS9QS1BUZW1w
bGF0ZU1hbmFnZXIuaW5jLnBocAkxMiBKYW4gMjAwOSAxMTo1Mjo0MyAtMDAwMAkxLjkKKysrIGNs
YXNzZXMvdGVtcGxhdGUvUEtQVGVtcGxhdGVNYW5hZ2VyLmluYy5waHAJMjYgSmFuIDIwMDkgMjE6
MDI6MzcgLTAwMDAKQEAgLTQxNSw3ICs0MTUsNyBAQAogCQkJaWYgKGlzc2V0KCRwYXJhbXNbJ25h
bWUnXSkpIHsKIAkJCQkvLyBidWlsZCBpbWFnZSB0YWcgd2l0aCBzdGFuZGFyaXplZCBzaXplIG9m
IDE2eDE2CiAJCQkJJGRpc2FibGVkID0gKGlzc2V0KCRwYXJhbXNbJ2Rpc2FibGVkJ10pICYmICFl
bXB0eSgkcGFyYW1zWydkaXNhYmxlZCddKSk7Ci0JCQkJaWYgKCFpc3NldCgkcGFyYW1zWydwYXRo
J10pKSAkcGFyYW1zWydwYXRoJ10gPSAndGVtcGxhdGVzL2ltYWdlcy9pY29ucy8nOworCQkJCWlm
ICghaXNzZXQoJHBhcmFtc1sncGF0aCddKSkgJHBhcmFtc1sncGF0aCddID0gJ2xpYi9wa3AvdGVt
cGxhdGVzL2ltYWdlcy9pY29ucy8nOwogCQkJCSRpY29uSHRtbCA9ICc8aW1nIHNyYz0iJyAuICRz
bWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdiYXNlVXJsJykgLiAnLycgLiAkcGFyYW1zWydwYXRo
J107CiAJCQkJJGljb25IdG1sIC49ICRwYXJhbXNbJ25hbWUnXSAuICgkZGlzYWJsZWQgPyAnX2Rp
c2FibGVkJyA6ICcnKSAuICcuZ2lmIiB3aWR0aD0iMTYiIGhlaWdodD0iMTQiIGFsdD0iJzsKIApJ
bmRleDogbG9jYWxlL2VuX1VTL2NvbW1vbi54bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9w
a3AvbG9jYWxlL2VuX1VTL2NvbW1vbi54bWwsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNQpkaWZm
IC11IC1yMS41IGNvbW1vbi54bWwKLS0tIGxvY2FsZS9lbl9VUy9jb21tb24ueG1sCTUgRGVjIDIw
MDggMTg6MTE6MzYgLTAwMDAJMS41CisrKyBsb2NhbGUvZW5fVVMvY29tbW9uLnhtbAkyNiBKYW4g
MjAwOSAyMTowMjozOCAtMDAwMApAQCAtMjQ1LDYgKzI0NSw1MiBAQAogCTxtZXNzYWdlIGtleT0i
bmF2aWdhdGlvbi5zdGVwTnVtYmVyIj5TdGVwIHskc3RlcH08L21lc3NhZ2U+CiAJPG1lc3NhZ2Ug
a2V5PSJuYXZpZ2F0aW9uLnVzZXJIb21lIj5Vc2VyIEhvbWU8L21lc3NhZ2U+CiAJPG1lc3NhZ2Ug
a2V5PSJuYXZpZ2F0aW9uLnVzZXIiPlVzZXI8L21lc3NhZ2U+CisJPG1lc3NhZ2Uga2V5PSJub3Rp
ZmljYXRpb24uYWxsb3ciPkFsbG93IHRoZXNlIHR5cGVzIG9mIG5vdGlmaWNhdGlvbnMgdG8gYXBw
ZWFyIGluIG15IG5vdGlmaWNhdGlvbiBmZWVkLjwvbWVzc2FnZT4KKwk8bWVzc2FnZSBrZXk9Im5v
dGlmaWNhdGlvbi5jb25maXJtRXJyb3IiPlRoZXJlIHdhcyBhbiBlcnJvciBjb25maXJtaW5nIHlv
dXIgc3Vic2NyaXB0aW9uLjwvbWVzc2FnZT4KKwk8bWVzc2FnZSBrZXk9Im5vdGlmaWNhdGlvbi5j
b25maXJtU3VjY2VzcyI+WW91IGhhdmUgYmVlbiBzdWNjZXNzZnVsbHkgc3Vic2NyaWJlZC48L21l
c3NhZ2U+CisJPG1lc3NhZ2Uga2V5PSJub3RpZmljYXRpb24uZW1haWwiPlNlbmQgbWUgYW4gZW1h
aWwgZm9yIHRoZXNlIHR5cGVzIG9mIG5vdGlmaWNhdGlvbnMuPC9tZXNzYWdlPgorCTxtZXNzYWdl
IGtleT0ibm90aWZpY2F0aW9uLmxvY2F0aW9uIj5HbyBUbyBVUkw8L21lc3NhZ2U+CisJPG1lc3Nh
Z2Uga2V5PSJub3RpZmljYXRpb24ubWFpbExpc3QiPk5vdGlmaWNhdGlvbiBtYWlsaW5nIGxpc3Q8
L21lc3NhZ2U+CisJPG1lc3NhZ2Uga2V5PSJub3RpZmljYXRpb24ubWFpbExpc3REZXNjcmlwdGlv
biI+RW50ZXIgeW91ciBlbWFpbCBhZGRyZXNzIHRvIHJlY2VpdmUgaW1tZWRpYXRlIG5vdGlmaWNh
dGlvbnMgb2YgaW1wb3J0YW50IG5ldyBjb250ZW50IGFkZGVkIHRvIHRoZSBqb3VybmFsLjwvbWVz
c2FnZT4KKwk8bWVzc2FnZSBrZXk9Im5vdGlmaWNhdGlvbi5tYWlsTGlzdC5wcml2YWN5UHJvdGVj
dGlvbiI+UHJpdmFjeSBwcm90ZWN0aW9uIHBvbGljeTwvbWVzc2FnZT4KKwk8bWVzc2FnZSBrZXk9
Im5vdGlmaWNhdGlvbi5tYWlsTGlzdC5wcm90ZWN0ZWRDb250ZW50Ij48IVtDREFUQVs8YSBocmVm
PSJ7JHN1YnNjcmliZVVybH0iPlN1YnNjcmliZTwvYT4gdG8gcHJvdGVjdGVkIGNvbnRlbnQuXV0+
PC9tZXNzYWdlPgorCTxtZXNzYWdlIGtleT0ibm90aWZpY2F0aW9uLm1haWxMaXN0LnN1Ym1pdCI+
PCFbQ0RBVEFbT3IgPGEgaHJlZj0ieyRzdWJtaXRVcmx9Ij5zdWJtaXQ8L2E+IGFuIGFydGljbGU/
XV0+PC9tZXNzYWdlPgorCTxtZXNzYWdlIGtleT0ibm90aWZpY2F0aW9uLm1haWxMaXN0LnJldmll
dyI+PCFbQ0RBVEFbV2FudCB0byBhbHNvIDxhIGhyZWY9InskcmV2aWV3VXJsfSI+cmV2aWV3PC9h
Pj9dXT48L21lc3NhZ2U+CisJPG1lc3NhZ2Uga2V5PSJub3RpZmljYXRpb24ubm9uZUV4aXN0Ij5Z
b3UgaGF2ZSBubyBub3RpZmljYXRpb25zIGF0IHRoaXMgdGltZS48L21lc3NhZ2U+CisJPG1lc3Nh
Z2Uga2V5PSJub3RpZmljYXRpb24ubm90aWZpY2F0aW9uIj5Ob3RpZmljYXRpb248L21lc3NhZ2U+
CQorCTxtZXNzYWdlIGtleT0ibm90aWZpY2F0aW9uLm5vdGlmaWNhdGlvbnMiPk5vdGlmaWNhdGlv
bnM8L21lc3NhZ2U+CQorCTxtZXNzYWdlIGtleT0ibm90aWZpY2F0aW9uLm5vdGlmaWNhdGlvbnNO
ZXciPih7JG51bU5ld30gbmV3KTwvbWVzc2FnZT4KKwk8bWVzc2FnZSBrZXk9Im5vdGlmaWNhdGlv
bi5ub3RpZmljYXRpb25zRGVzY3JpcHRpb24iPllvdSBoYXZlIHskdW5yZWFkQ291bnR9IHVucmVh
ZCBub3RpZmljYXRpb25zIGFuZCB7JHJlYWRDb3VudH0gcmVhZCBub3RpZmljYXRpb25zLjwhW0NE
QVRBWyAgPGEgaHJlZj0ieyRzZXR0aW5nc1VybH0iPkNsaWNrIGhlcmU8L2E+IHRvIGNoYW5nZSB5
b3VyIG5vdGlmaWNhdGlvbiBzZXR0aW5ncy5dXT48L21lc3NhZ2U+CisJPG1lc3NhZ2Uga2V5PSJu
b3RpZmljYXRpb24ubm90aWZpY2F0aW9uc1B1YmxpY0Rlc2NyaXB0aW9uIj5UaGlzIHBhZ2Ugc2hv
d3MgaW1wb3J0YW50IHVwZGF0ZXMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgam91cm5hbCBzdWNoIGFz
IG5ldyBpc3N1ZXMgb3IgYW5ub3VuY2VtZW50cy4gIFlvdSBtYXkgc3Vic2NyaWJlIHRvIHRoZXNl
IG5vdGlmaWNhdGlvbnMgdGhyb3VnaCBSU1MgZmVlZHMgKGJ5IGNsaWNraW5nIG9uIHRoZSBpbWFn
ZXMgdG8gdGhlIHJpZ2h0KSwgb3IgPCFbQ0RBVEFbICA8YSBocmVmPSJ7JGVtYWlsVXJsfSI+dGhy
b3VnaCBlbWFpbC48L2E+XV0+PC9tZXNzYWdlPgorCTxtZXNzYWdlIGtleT0ibm90aWZpY2F0aW9u
LnNldHRpbmdzIj5Ob3RpZmljYXRpb24gU2V0dGluZ3M8L21lc3NhZ2U+CisJPG1lc3NhZ2Uga2V5
PSJub3RpZmljYXRpb24uc2V0dGluZ3NEZXNjcmlwdGlvbiI+U2VsZWN0IHRoZSBzeXN0ZW0gZXZl
bnRzIHRoYXQgeW91IHdpc2ggdG8gYmUgbm90aWZpZWQgYWJvdXQuICBVbmNoZWNraW5nIGFuIGl0
ZW0gd2lsbCBwcmV2ZW50IG5vdGlmaWNhdGlvbnMgb2YgdGhlIGV2ZW50IGZyb20gc2hvd2luZyB1
cCBpbiB5b3VyIG5vdGlmaWNhdGlvbiBmZWVkLjwvbWVzc2FnZT4KKwk8bWVzc2FnZSBrZXk9Im5v
dGlmaWNhdGlvbi5zdWJzY3JpYmVFcnJvciI+WW91ciBlbWFpbCBhZGRyZXNzIGlzIGFscmVhZHkg
c3Vic2NyaWJlZCB0byBub3RpZmljYXRpb25zLjwvbWVzc2FnZT4KKwk8bWVzc2FnZSBrZXk9Im5v
dGlmaWNhdGlvbi5zdWJzY3JpYmVTdWNjZXNzIj5BbiBlbWFpbCBoYXMgYmVlbiBzZW50IHRvIHRo
ZSBhZGRyZXNzIHlvdSBzcGVjaWZpZWQuICBQbGVhc2UgY2xpY2sgb24gdGhlIGNvbmZpcm1hdGlv
biBsaW5rIGluIHRoZSBlbWFpbCB0byBhZGQgeW91cnNlbGYgdG8gdGhlIG1haWxpbmcgbGlzdC48
L21lc3NhZ2U+CisJPG1lc3NhZ2Uga2V5PSJub3RpZmljYXRpb24ucmVtaW5kZXJFcnJvciI+VGhl
cmUgd2FzIGFuIGVycm9yIHNlbmRpbmcgeW91ciBwYXNzd29yZCwgcGxlYXNlIGVuc3VyZSB5b3Un
dmUgZW50ZXJlZCB5b3VyIGVtYWlsIGFkZHJlc3MgY29ycmVjdGx5LjwvbWVzc2FnZT4KKwk8bWVz
c2FnZSBrZXk9Im5vdGlmaWNhdGlvbi5yZW1pbmRlclNlbnQiPllvdXIgbmV3IHBhc3N3b3JkIGhh
cyBiZWVuIHNlbnQgdG8gdGhlIGVtYWlsIGFkZHJlc3MgcHJvdmlkZWQuPC9tZXNzYWdlPgorCTxt
ZXNzYWdlIGtleT0ibm90aWZpY2F0aW9uLnR5cGUuYXJ0aWNsZVN1Ym1pdHRlZCI+QSBuZXcgYXJ0
aWNsZSwgInskcGFyYW19IiwgaGFzIGJlZW4gc3VibWl0dGVkLjwvbWVzc2FnZT4KKwk8bWVzc2Fn
ZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLmNvcHllZGl0Q29tbWVudCI+QSBjb3B5ZWRpdG9yIGhh
cyBsZWZ0IGEgY29tbWVudCBvbiAieyRwYXJhbX0iLjwvbWVzc2FnZT4KKwk8bWVzc2FnZSBrZXk9
Im5vdGlmaWNhdGlvbi50eXBlLmVkaXRpbmciPkVkaXRpbmcgRXZlbnRzPC9tZXNzYWdlPgorCTxt
ZXNzYWdlIGtleT0ibm90aWZpY2F0aW9uLnR5cGUuZWRpdG9yRGVjaXNpb25Db21tZW50Ij5BIGNv
bW1lbnQgaGFzIGJlZW4gbGVmdCBvbiB0aGUgZWRpdG9yIGRlY2lzaW9uIGZvciAieyRwYXJhbX0i
LjwvbWVzc2FnZT4KKwk8bWVzc2FnZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLmdhbGxleUFkZGVk
Ij5BIGdhbGxleSBoYXMgYmVlbiBhZGRlZCBmb3IgInskcGFyYW19Ii48L21lc3NhZ2U+CisJPG1l
c3NhZ2Uga2V5PSJub3RpZmljYXRpb24udHlwZS5nYWxsZXlNb2RpZmllZCI+QSBnYWxsZXkgaGFz
IGJlZW4gbW9kaWZpZWQgZm9yICJ7JHBhcmFtfSIuPC9tZXNzYWdlPgorCTxtZXNzYWdlIGtleT0i
bm90aWZpY2F0aW9uLnR5cGUuaXNzdWVQdWJsaXNoZWQiPkFuIGlzc3VlIGhhcyBiZWVuIHB1Ymxp
c2hlZC48L21lc3NhZ2U+CisJPG1lc3NhZ2Uga2V5PSJub3RpZmljYXRpb24udHlwZS5sYXlvdXRD
b21tZW50Ij5BIGNvbW1lbnQgaGFzIGJlZW4gbGVmdCBhYm91dCAieyRwYXJhbX0ncyIgbGF5b3V0
LjwvbWVzc2FnZT4KKwk8bWVzc2FnZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLm1ldGFkYXRhTW9k
aWZpZWQiPiJ7JHBhcmFtfSdzIiBtZXRhZGF0YSBoYXMgYmVlbiBtb2RpZmllZC48L21lc3NhZ2U+
CisJPG1lc3NhZ2Uga2V5PSJub3RpZmljYXRpb24udHlwZS5uZXdBbm5vdW5jZW1lbnQiPkEgbmV3
IGFubm91bmNlbWVudCBoYXMgYmVlbiBjcmVhdGVkLjwvbWVzc2FnZT4JCisJPG1lc3NhZ2Uga2V5
PSJub3RpZmljYXRpb24udHlwZS5wcm9vZnJlYWRDb21tZW50Ij5BIGNvbW1lbnQgaGFzIGJlZW4g
bGVmdCBieSBhIHByb29mcmVhZGVyIG9uICJ7JHBhcmFtfSIuPC9tZXNzYWdlPgorCTxtZXNzYWdl
IGtleT0ibm90aWZpY2F0aW9uLnR5cGUucmV2aWV3ZXJDb21tZW50Ij5BIHJldmlld2VyIGhhcyBj
b21tZW50ZWQgb24gInskcGFyYW19Ii48L21lc3NhZ2U+CisJPG1lc3NhZ2Uga2V5PSJub3RpZmlj
YXRpb24udHlwZS5yZXZpZXdlckZvcm1Db21tZW50Ij5BIHJldmlldyBmb3JtIHJldmlldyBoYXMg
YmVlbiBzdWJtaXR0ZWQgZm9yICJ7JHBhcmFtfSIuPC9tZXNzYWdlPgorCTxtZXNzYWdlIGtleT0i
bm90aWZpY2F0aW9uLnR5cGUucmV2aWV3aW5nIj5SZXZpZXdpbmcgRXZlbnRzPC9tZXNzYWdlPgor
CTxtZXNzYWdlIGtleT0ibm90aWZpY2F0aW9uLnR5cGUuc2l0ZSI+U2l0ZSBFdmVudHM8L21lc3Nh
Z2U+CisJPG1lc3NhZ2Uga2V5PSJub3RpZmljYXRpb24udHlwZS5zdWJtaXNzaW9uQ29tbWVudCI+
QW4gZWRpdG9yIGhhcyBtYWRlIGEgY29tbWVudCBvbiAieyRwYXJhbX0iLjwvbWVzc2FnZT4KKwk8
bWVzc2FnZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLnN1Ym1pc3Npb25zIj5TdWJtaXNzaW9uIEV2
ZW50czwvbWVzc2FnZT4KKwk8bWVzc2FnZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLnN1cHBGaWxl
QWRkZWQiPkEgc3VwcGxlbWVudGFyeSBmaWxlIGhhcyBiZWVuIGFkZGVkIHRvICJ7JHBhcmFtfSIu
PC9tZXNzYWdlPgorCTxtZXNzYWdlIGtleT0ibm90aWZpY2F0aW9uLnR5cGUuc3VwcEZpbGVNb2Rp
ZmllZCI+InskcGFyYW19J3MiIHN1cHBsZW1lbnRhcnkgZmlsZShzKSBoYXMgYmVlbiBtb2RpZmll
ZC48L21lc3NhZ2U+CisJPG1lc3NhZ2Uga2V5PSJub3RpZmljYXRpb24udHlwZS51c2VyQ29tbWVu
dCI+QSByZWFkZXIgaGFzIG1hZGUgYSBjb21tZW50IG9uICJ7JHBhcmFtfSI8L21lc3NhZ2U+CisJ
PG1lc3NhZ2Uga2V5PSJub3RpZmljYXRpb24udW5zdWJzY3JpYmVEZXNjcmlwdGlvbiI+RW50ZXIg
eW91ciBlbWFpbCBhZGRyZXNzIGFuZCBwYXNzd29yZCBiZWxvdyB0byB1bnN1YnNjcmliZSBmcm9t
IGVtYWlsIG5vdGlmaWNhdGlvbnMuICBJZiB5b3UgZG8gbm90IHJlbWVtYmVyIHlvdXIgcGFzc3dv
cmQsIGxlYXZlIHRoZSBwYXNzd29yZCBmaWVsZCBibGFuayBhbmQgYSBuZXcgb25lIHdpbGwgYmUg
ZW1haWxlZCB0byB5b3UgYXQgdGhlIGdpdmVuIGVtYWlsIGFkZHJlc3MuPC9tZXNzYWdlPgkKKwk8
bWVzc2FnZSBrZXk9Im5vdGlmaWNhdGlvbi51bnN1YnNjcmliZUVycm9yIj5UaGVyZSB3YXMgYW4g
ZXJyb3IgdW5zdWJzY3JpYmluZyB5b3UuICBQbGVhc2UgZW5zdXJlIHlvdXIgZW1haWwgYWRkcmVz
cyBhbmQgcGFzc3dvcmQgYXJlIGNvcnJlY3QuPC9tZXNzYWdlPgorCTxtZXNzYWdlIGtleT0ibm90
aWZpY2F0aW9uLnVuc3Vic2NyaWJlU3VjY2VzcyI+WW91IHdlcmUgc3VjY2Vzc2Z1bGx5IHVuc3Vi
c2NyaWJlZC48L21lc3NhZ2U+CQogCTxtZXNzYWdlIGtleT0ic2VhcmNoLmFic3RyYWN0Ij5BYnN0
cmFjdDwvbWVzc2FnZT4KIAk8bWVzc2FnZSBrZXk9InNlYXJjaC5hbGxGaWVsZHMiPkFsbDwvbWVz
c2FnZT4KIAk8bWVzc2FnZSBrZXk9InNlYXJjaC5jb3ZlcmFnZSI+Q292ZXJhZ2U8L21lc3NhZ2U+
CkluZGV4OiBwYWdlcy9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9uSGFuZGxlci5pbmMucGhwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KUkNTIGZpbGU6IHBhZ2VzL25vdGlmaWNhdGlvbi9Ob3RpZmljYXRpb25IYW5kbGVy
LmluYy5waHAKZGlmZiAtTiBwYWdlcy9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9uSGFuZGxlci5p
bmMucGhwCi0tLSAvZGV2L251bGwJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMAorKysgcGFnZXMv
bm90aWZpY2F0aW9uL05vdGlmaWNhdGlvbkhhbmRsZXIuaW5jLnBocAkyNiBKYW4gMjAwOSAyMTow
MjozOCAtMDAwMApAQCAtMCwwICsxLDI3OCBAQAorPD9waHAKKworLyoqCisgKiBAZmlsZSBOb3Rp
ZmljYXRpb25IYW5kbGVyLmluYy5waHAKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDAtMjAwOCBK
b2huIFdpbGxpbnNreQorICogRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEdOVSBHUEwgdjIuIEZvciBm
dWxsIHRlcm1zIHNlZSB0aGUgZmlsZSBkb2NzL0NPUFlJTkcuCisgKgorICogQGNsYXNzIE5vdGlm
aWNhdGlvbkhhbmRsZXIKKyAqIEBpbmdyb3VwIHBhZ2VzX2hlbHAKKyAqCisgKiBAYnJpZWYgSGFu
ZGxlIHJlcXVlc3RzIGZvciB2aWV3aW5nIG5vdGlmaWNhdGlvbnMuIAorICovCisKK2ltcG9ydCgn
Y29yZS5QS1BIYW5kbGVyJyk7CitpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmljYXRpb24nKTsK
KworY2xhc3MgTm90aWZpY2F0aW9uSGFuZGxlciBleHRlbmRzIFBLUEhhbmRsZXIgeworCisJLyoq
CisJICogRGlzcGxheSBoZWxwIHRhYmxlIG9mIGNvbnRlbnRzLgorCSAqLworCWZ1bmN0aW9uIGlu
ZGV4KCkgeworCQlwYXJlbnQ6OnZhbGlkYXRlKCk7CisJCXBhcmVudDo6c2V0dXBUZW1wbGF0ZSgp
OworCQkkdGVtcGxhdGVNZ3IgPSYgVGVtcGxhdGVNYW5hZ2VyOjpnZXRNYW5hZ2VyKCk7CisJCQor
CQkkdXNlciA9IFJlcXVlc3Q6OmdldFVzZXIoKTsKKwkJaWYoaXNzZXQoJHVzZXIpKSB7CisJCQkk
dXNlcklkID0gJHVzZXItPmdldFVzZXJJZCgpOworCQkJJHRlbXBsYXRlTWdyLT5hc3NpZ24oJ2lz
VXNlckxvZ2dlZEluJywgdHJ1ZSk7CisJCX0gZWxzZSB7CisJCQkkdXNlcklkID0gMDsKKwkJCSR0
ZW1wbGF0ZU1nci0+YXNzaWduKCdlbWFpbFVybCcsIFJlcXVlc3Q6OnVybChudWxsLCAnbm90aWZp
Y2F0aW9uJywgJ3N1YnNjcmliZU1haWxMaXN0JykpOworCQkJJHRlbXBsYXRlTWdyLT5hc3NpZ24o
J2lzVXNlckxvZ2dlZEluJywgZmFsc2UpOworCQl9CisKKwkJJG5vdGlmaWNhdGlvbkRhbyA9JiBE
QU9SZWdpc3RyeTo6Z2V0REFPKCdOb3RpZmljYXRpb25EQU8nKTsKKwkJJG5vdGlmaWNhdGlvbnMg
PSAkbm90aWZpY2F0aW9uRGFvLT5nZXROb3RpZmljYXRpb25zQnlVc2VySWQoJHVzZXJJZCk7CisJ
CQorCQkkdGVtcGxhdGVNZ3ItPmFzc2lnbignbm90aWZpY2F0aW9ucycsICRub3RpZmljYXRpb25z
KTsKKwkJJHRlbXBsYXRlTWdyLT5hc3NpZ24oJ3VucmVhZCcsICRub3RpZmljYXRpb25EYW8tPmdl
dFVucmVhZE5vdGlmaWNhdGlvbkNvdW50KCR1c2VySWQpKTsKKwkJJHRlbXBsYXRlTWdyLT5hc3Np
Z24oJ3JlYWQnLCAkbm90aWZpY2F0aW9uRGFvLT5nZXRSZWFkTm90aWZpY2F0aW9uQ291bnQoJHVz
ZXJJZCkpOworCQkkdGVtcGxhdGVNZ3ItPmFzc2lnbigndXJsJywgUmVxdWVzdDo6dXJsKG51bGws
ICdub3RpZmljYXRpb24nLCAnc2V0dGluZ3MnKSk7CisJCSR0ZW1wbGF0ZU1nci0+ZGlzcGxheSgn
bm90aWZpY2F0aW9uL2luZGV4LnRwbCcpOworCX0KKwkKKwkvKioKKwkgKiBEZWxldGUgYSBub3Rp
ZmljYXRpb24KKwkgKi8KKwlmdW5jdGlvbiBkZWxldGUoJGFyZ3MpIHsKKwkJcGFyZW50Ojp2YWxp
ZGF0ZSgpOworCQkKKwkJJG5vdGlmaWNhdGlvbklkID0gYXJyYXlfc2hpZnQoJGFyZ3MpOworCQlp
ZiAoYXJyYXlfc2hpZnQoJGFyZ3MpID09ICdhamF4JykgeworCQkJJGlzQWpheCA9IHRydWU7CisJ
CX0gZWxzZSAkaXNBamF4ID0gZmFsc2U7CisJCQorCQkkdXNlciA9IFJlcXVlc3Q6OmdldFVzZXIo
KTsKKwkJaWYoaXNzZXQoJHVzZXIpKSB7CisJCQkkdXNlcklkID0gJHVzZXItPmdldFVzZXJJZCgp
OworCQkJJG5vdGlmaWNhdGlvbkRhbyA9JiBEQU9SZWdpc3RyeTo6Z2V0REFPKCdOb3RpZmljYXRp
b25EQU8nKTsKKwkJCSRub3RpZmljYXRpb25zID0gJG5vdGlmaWNhdGlvbkRhby0+ZGVsZXRlTm90
aWZpY2F0aW9uQnlJZCgkbm90aWZpY2F0aW9uSWQsICR1c2VySWQpOworCQl9CisJCQorCQlpZiAo
ISRpc0FqYXgpIFJlcXVlc3Q6OnJlZGlyZWN0KG51bGwsICdub3RpZmljYXRpb24nKTsKKwl9CisK
KwkvKioKKwkgKiBWaWV3IGFuZCBtb2RpZnkgbm90aWZpY2F0aW9uIHNldHRpbmdzCisJICovCisJ
ZnVuY3Rpb24gc2V0dGluZ3MoKSB7CisJCXBhcmVudDo6dmFsaWRhdGUoKTsKKwkJcGFyZW50Ojpz
ZXR1cFRlbXBsYXRlKCk7CisKKworCQkkdXNlciA9IFJlcXVlc3Q6OmdldFVzZXIoKTsKKwkJaWYo
aXNzZXQoJHVzZXIpKSB7CisJCQlpbXBvcnQoJ25vdGlmaWNhdGlvbi5mb3JtLk5vdGlmaWNhdGlv
blNldHRpbmdzRm9ybScpOworCQkJJG5vdGlmaWNhdGlvblNldHRpbmdzRm9ybSA9JiBuZXcgTm90
aWZpY2F0aW9uU2V0dGluZ3NGb3JtKCk7CisJCQkkbm90aWZpY2F0aW9uU2V0dGluZ3NGb3JtLT5k
aXNwbGF5KCk7CisJCX0gZWxzZSBSZXF1ZXN0OjpyZWRpcmVjdChudWxsLCAnbm90aWZpY2F0aW9u
Jyk7CisJfQorCQorCS8qKgorCSAqIFNhdmUgdXNlciBub3RpZmljYXRpb24gc2V0dGluZ3MKKwkg
Ki8KKwlmdW5jdGlvbiBzYXZlU2V0dGluZ3MoKSB7CisJCXBhcmVudDo6dmFsaWRhdGUoKTsKKwkJ
CisJCWltcG9ydCgnbm90aWZpY2F0aW9uLmZvcm0uTm90aWZpY2F0aW9uU2V0dGluZ3NGb3JtJyk7
CisJCQorCQkkbm90aWZpY2F0aW9uU2V0dGluZ3NGb3JtID0mIG5ldyBOb3RpZmljYXRpb25TZXR0
aW5nc0Zvcm0oKTsKKwkJJG5vdGlmaWNhdGlvblNldHRpbmdzRm9ybS0+cmVhZElucHV0RGF0YSgp
OworCQkKKwkJaWYgKCRub3RpZmljYXRpb25TZXR0aW5nc0Zvcm0tPnZhbGlkYXRlKCkpIHsKKwkJ
CSRub3RpZmljYXRpb25TZXR0aW5nc0Zvcm0tPmV4ZWN1dGUoKTsKKwkJCVJlcXVlc3Q6OnJlZGly
ZWN0KG51bGwsICdub3RpZmljYXRpb24nLCAnc2V0dGluZ3MnKTsKKwkJfSBlbHNlIHsKKwkJCXBh
cmVudDo6c2V0dXBUZW1wbGF0ZSh0cnVlKTsKKwkJCSRub3RpZmljYXRpb25TZXR0aW5nc0Zvcm0t
PmRpc3BsYXkoKTsKKwkJfQorCX0KKwkKKwkvKioKKwkgKiBGZXRjaCB0aGUgZXhpc3Rpbmcgb3Ig
Y3JlYXRlIGEgbmV3IFVSTCBmb3IgdGhlIHVzZXIncyBSU1MgZmVlZAorCSAqLworCWZ1bmN0aW9u
IGdldE5vdGlmaWNhdGlvbkZlZWRVcmwoJGFyZ3MpIHsKKwkJJHVzZXIgPSBSZXF1ZXN0OjpnZXRV
c2VyKCk7CisJCWlmKGlzc2V0KCR1c2VyKSkgeworCQkJJHVzZXJJZCA9ICR1c2VyLT5nZXRVc2Vy
SWQoKTsKKwkJfSBlbHNlICR1c2VySWQgPSAwOworCQkKKwkJJG5vdGlmaWNhdGlvblNldHRpbmdz
RGFvID0mIERBT1JlZ2lzdHJ5OjpnZXREQU8oJ05vdGlmaWNhdGlvblNldHRpbmdzREFPJyk7CisJ
CSRmZWVkVHlwZSA9IGFycmF5X3NoaWZ0KCRhcmdzKTsKKworCQkkdG9rZW4gPSAkbm90aWZpY2F0
aW9uU2V0dGluZ3NEYW8tPmdldFJTU1Rva2VuQnlVc2VySWQoJHVzZXJJZCk7CisJCQorCQlpZiAo
JHRva2VuKSB7CisJCQlSZXF1ZXN0OjpyZWRpcmVjdChudWxsLCAnbm90aWZpY2F0aW9uJywgJ25v
dGlmaWNhdGlvbkZlZWQnLCBhcnJheSgkZmVlZFR5cGUsICR0b2tlbikpOworCQl9IGVsc2Ugewor
CQkJJHRva2VuID0gJG5vdGlmaWNhdGlvblNldHRpbmdzRGFvLT5pbnNlcnROZXdSU1NUb2tlbigk
dXNlcklkKTsKKwkJCVJlcXVlc3Q6OnJlZGlyZWN0KG51bGwsICdub3RpZmljYXRpb24nLCAnbm90
aWZpY2F0aW9uRmVlZCcsIGFycmF5KCRmZWVkVHlwZSwgJHRva2VuKSk7CisJCX0KKwl9CisJCisJ
LyoqCisJICogRmV0Y2ggdGhlIGFjdHVhbCBSU1MgZmVlZAorCSAqLworCWZ1bmN0aW9uIG5vdGlm
aWNhdGlvbkZlZWQoJGFyZ3MpIHsKKwkJaWYoaXNzZXQoJGFyZ3NbMF0pICYmIGlzc2V0KCRhcmdz
WzFdKSkgeworCQkJJHR5cGUgPSAkYXJnc1swXTsKKwkJCSR0b2tlbiA9ICRhcmdzWzFdOworCQl9
IGVsc2UgcmV0dXJuIGZhbHNlOworCisJCSRhcHBsaWNhdGlvbiA9IFBLUEFwcGxpY2F0aW9uOjpn
ZXRBcHBsaWNhdGlvbigpOworCQkkYXBwTmFtZSA9ICRhcHBsaWNhdGlvbi0+Z2V0TmFtZUtleSgp
OworCQkKKwkJJHNpdGUgPSYgUmVxdWVzdDo6Z2V0U2l0ZSgpOworCQkkc2l0ZVRpdGxlID0gJHNp
dGUtPmdldFNpdGVUaXRsZSgpOworCQorCQkkbm90aWZpY2F0aW9uRGFvID0mIERBT1JlZ2lzdHJ5
OjpnZXREQU8oJ05vdGlmaWNhdGlvbkRBTycpOworCQkkbm90aWZpY2F0aW9uU2V0dGluZ3NEYW8g
PSYgREFPUmVnaXN0cnk6OmdldERBTygnTm90aWZpY2F0aW9uU2V0dGluZ3NEQU8nKTsKKwkJCisJ
CSR1c2VySWQgPSAkbm90aWZpY2F0aW9uU2V0dGluZ3NEYW8tPmdldFVzZXJJZEJ5UlNTVG9rZW4o
JHRva2VuKTsKKwkJJG5vdGlmaWNhdGlvbnMgPSAkbm90aWZpY2F0aW9uRGFvLT5nZXROb3RpZmlj
YXRpb25zQnlVc2VySWQoJHVzZXJJZCk7CisKKwkJLy8gTWFrZSBzdXJlIHRoZSBmZWVkIHR5cGUg
aXMgc3BlY2lmaWVkIGFuZCB2YWxpZAorCQkkdHlwZU1hcCA9IGFycmF5KAorCQkJJ3JzcycgPT4g
J3Jzcy50cGwnLAorCQkJJ3JzczInID0+ICdyc3MyLnRwbCcsCisJCQknYXRvbScgPT4gJ2F0b20u
dHBsJworCQkpOworCQkkbWltZVR5cGVNYXAgPSBhcnJheSgKKwkJCSdyc3MnID0+ICdhcHBsaWNh
dGlvbi9yZGYreG1sJywKKwkJCSdyc3MyJyA9PiAnYXBwbGljYXRpb24vcnNzK3htbCcsCisJCQkn
YXRvbScgPT4gJ2FwcGxpY2F0aW9uL2F0b20reG1sJworCQkpOworCQlpZiAoIWlzc2V0KCR0eXBl
TWFwWyR0eXBlXSkpIHJldHVybiBmYWxzZTsKKworCQkkdmVyc2lvbkRhbyA9JiBEQU9SZWdpc3Ry
eTo6Z2V0REFPKCdWZXJzaW9uREFPJyk7CisJCSR2ZXJzaW9uID0gJHZlcnNpb25EYW8tPmdldEN1
cnJlbnRWZXJzaW9uKCk7CisKKwkJJHRlbXBsYXRlTWdyID0mIFRlbXBsYXRlTWFuYWdlcjo6Z2V0
TWFuYWdlcigpOworCQkkdGVtcGxhdGVNZ3ItPmFzc2lnbigndmVyc2lvbicsICR2ZXJzaW9uLT5n
ZXRWZXJzaW9uU3RyaW5nKCkpOworCQkkdGVtcGxhdGVNZ3ItPmFzc2lnbignc2VsZlVybCcsIFJl
cXVlc3Q6OmdldENvbXBsZXRlVXJsKCkpOyAKKwkJJHRlbXBsYXRlTWdyLT5hc3NpZ24oJ2xvY2Fs
ZScsIExvY2FsZTo6Z2V0UHJpbWFyeUxvY2FsZSgpKTsgCisJCSR0ZW1wbGF0ZU1nci0+YXNzaWdu
KCdhcHBOYW1lJywgJGFwcE5hbWUpOworCQkkdGVtcGxhdGVNZ3ItPmFzc2lnbignc2l0ZVRpdGxl
JywgJHNpdGVUaXRsZSk7CisJCSR0ZW1wbGF0ZU1nci0+YXNzaWduX2J5X3JlZignbm90aWZpY2F0
aW9ucycsICRub3RpZmljYXRpb25zLT50b0FycmF5KCkpOworCisJCSR0ZW1wbGF0ZU1nci0+ZGlz
cGxheShDb3JlOjpnZXRCYXNlRGlyKCkgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJ2xpYicgLiBE
SVJFQ1RPUllfU0VQQVJBVE9SIC4gCisJCQkncGtwJyAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAn
dGVtcGxhdGVzJyAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAnbm90aWZpY2F0aW9uJyAuIERJUkVD
VE9SWV9TRVBBUkFUT1IgLiAkdHlwZU1hcFskdHlwZV0sICRtaW1lVHlwZU1hcFskdHlwZV0pOwor
CisJCXJldHVybiB0cnVlOworCX0KKworCS8qKgorCSAqIERpc3BsYXkgdGhlIHB1YmxpYyBub3Rp
ZmljYXRpb24gZW1haWwgc3Vic2NyaXB0aW9uIGZvcm0KKwkgKi8KKwlmdW5jdGlvbiBzdWJzY3Jp
YmVNYWlsTGlzdCgpIHsKKwkJcGFyZW50OjpzZXR1cFRlbXBsYXRlKCk7CisJCSR0ZW1wbGF0ZU1n
ciA9ICZUZW1wbGF0ZU1hbmFnZXI6OmdldE1hbmFnZXIoKTsKKwkJJHRlbXBsYXRlTWdyLT5hc3Np
Z24oJ25ldycsIHRydWUpOworCisJCSR1c2VyID0gUmVxdWVzdDo6Z2V0VXNlcigpOworCQkvLwlG
SVhNRTogTmVlZCB0byBhYnN0cmFjdCBzdWJzY3JpcHRpb24gZW5hYmxlZCBjaGVjaworCQkvLwlp
bXBvcnQoJ3BheW1lbnQuUGF5bWVudE1hbmFnZXInKTsKKwkJLy8JJHN1YnNjcmlwdGlvbkVuYWJs
ZWQgPSBQYXltZW50TWFuYWdlcjo6aXNDb25maWd1cmVkKCk7CisJCQkJCisJCWlmKCFpc3NldCgk
dXNlcikpIHsKKwkJCS8vICR0ZW1wbGF0ZU1nci0+YXNzaWduKCdzdWJzY3JpcHRpb25FbmFibGVk
JywgJHN1YnNjcmlwdGlvbkVuYWJsZWQpOworCQkJCisJCQlpZigkdXNlckVtYWlsID0gUmVxdWVz
dDo6Z2V0VXNlclZhcignZW1haWwnKSkgeworCQkJCSRub3RpZmljYXRpb25TZXR0aW5nc0RhbyA9
JiBEQU9SZWdpc3RyeTo6Z2V0REFPKCdOb3RpZmljYXRpb25TZXR0aW5nc0RBTycpOworCQkJCWlm
KCRwYXNzd29yZCA9ICRub3RpZmljYXRpb25TZXR0aW5nc0Rhby0+c3Vic2NyaWJlR3Vlc3QoJHVz
ZXJFbWFpbCkpIHsKKwkJCQkJTm90aWZpY2F0aW9uOjpzZW5kTWFpbGluZ0xpc3RFbWFpbCgkdXNl
ckVtYWlsLCAkcGFzc3dvcmQsICdOT1RJRklDQVRJT05fTUFJTExJU1RfV0VMQ09NRScpOworCQkJ
CQkkdGVtcGxhdGVNZ3ItPmFzc2lnbignc3VjY2VzcycsICJub3RpZmljYXRpb24uc3Vic2NyaWJl
U3VjY2VzcyIpOworCQkJCQkkdGVtcGxhdGVNZ3ItPmRpc3BsYXkoJ25vdGlmaWNhdGlvbi9tYWls
bGlzdC50cGwnKTsKKwkJCQl9IGVsc2UgeworCQkJCQkkdGVtcGxhdGVNZ3ItPmFzc2lnbignZXJy
b3InLCAibm90aWZpY2F0aW9uLnN1YnNjcmliZUVycm9yIik7CisJCQkJCSR0ZW1wbGF0ZU1nci0+
ZGlzcGxheSgnbm90aWZpY2F0aW9uL21haWxsaXN0LnRwbCcpOworCQkJCQorCQkJCX0KKwkJCX0g
ZWxzZSB7CisJCQkJJHRlbXBsYXRlTWdyLT5kaXNwbGF5KCdub3RpZmljYXRpb24vbWFpbGxpc3Qu
dHBsJyk7CisJCQl9CisJCX0gZWxzZSBSZXF1ZXN0OjpyZWRpcmVjdChudWxsLCAnbm90aWZpY2F0
aW9uJyk7CisJfQorCisJLyoqCisJICogRGlzcGxheSB0aGUgcHVibGljIG5vdGlmaWNhdGlvbiBl
bWFpbCBzdWJzY3JpcHRpb24gZm9ybQorCSAqLworCWZ1bmN0aW9uIGNvbmZpcm1NYWlsTGlzdFN1
YnNjcmlwdGlvbigkYXJncykgeworCQlwYXJlbnQ6OnNldHVwVGVtcGxhdGUoKTsKKwkJJGtleUhh
c2ggPSBhcnJheV9zaGlmdCgkYXJncyk7CisJCSRlbWFpbCA9IGFycmF5X3NoaWZ0KCRhcmdzKTsK
KwkJCisJCSR0ZW1wbGF0ZU1nciA9JiBUZW1wbGF0ZU1hbmFnZXI6OmdldE1hbmFnZXIoKTsKKwkJ
JHRlbXBsYXRlTWdyLT5hc3NpZ24oJ2NvbmZpcm0nLCB0cnVlKTsKKworCQkkbm90aWZpY2F0aW9u
U2V0dGluZ3NEYW8gPSYgREFPUmVnaXN0cnk6OmdldERBTygnTm90aWZpY2F0aW9uU2V0dGluZ3NE
QU8nKTsKKwkJJHNldHRpbmdJZCA9ICRub3RpZmljYXRpb25TZXR0aW5nc0Rhby0+Z2V0TWFpbExp
c3RTZXR0aW5nSWQoJGVtYWlsKTsKKworCQkkYWNjZXNzS2V5RGFvID0mIERBT1JlZ2lzdHJ5Ojpn
ZXREQU8oJ0FjY2Vzc0tleURBTycpOworCQkkYWNjZXNzS2V5ID0gJGFjY2Vzc0tleURhby0+Z2V0
QWNjZXNzS2V5QnlLZXlIYXNoKCdNYWlsTGlzdENvbnRleHQnLCAkc2V0dGluZ0lkLCAka2V5SGFz
aCk7CisJCisJCWlmKCRhY2Nlc3NLZXkpIHsKKwkJCSRub3RpZmljYXRpb25TZXR0aW5nc0Rhby0+
Y29uZmlybU1haWxMaXN0U3Vic2NyaXB0aW9uKCRzZXR0aW5nSWQpOworCQkJJHRlbXBsYXRlTWdy
LT5hc3NpZ24oJ3N1Y2Nlc3MnLCAibm90aWZpY2F0aW9uLmNvbmZpcm1TdWNjZXNzIik7CisJCQkk
dGVtcGxhdGVNZ3ItPmRpc3BsYXkoJ25vdGlmaWNhdGlvbi9tYWlsbGlzdC50cGwnKTsKKwkJfSBl
bHNlIHsKKwkJCSR0ZW1wbGF0ZU1nci0+YXNzaWduKCdlcnJvcicsICJub3RpZmljYXRpb24uY29u
ZmlybUVycm9yIik7CisJCQkkdGVtcGxhdGVNZ3ItPmRpc3BsYXkoJ25vdGlmaWNhdGlvbi9tYWls
bGlzdC50cGwnKTsKKwkJfQorCX0KKworCS8qKgorCSAqIERpc3BsYXkgdGhlIHB1YmxpYyBub3Rp
ZmljYXRpb24gZW1haWwgc3Vic2NyaXB0aW9uIGZvcm0KKwkgKi8KKwlmdW5jdGlvbiB1bnN1YnNj
cmliZU1haWxMaXN0KCkgeworCQlwYXJlbnQ6OnNldHVwVGVtcGxhdGUoKTsKKwkJJHRlbXBsYXRl
TWdyID0mIFRlbXBsYXRlTWFuYWdlcjo6Z2V0TWFuYWdlcigpOworCQkkdGVtcGxhdGVNZ3ItPmFz
c2lnbigncmVtb3ZlJywgdHJ1ZSk7CisJCQorCQkkdXNlciA9IFJlcXVlc3Q6OmdldFVzZXIoKTsK
KwkJaWYoIWlzc2V0KCR1c2VyKSkgeworCQkJJHVzZXJFbWFpbCA9IFJlcXVlc3Q6OmdldFVzZXJW
YXIoJ2VtYWlsJyk7CisJCQkkdXNlclBhc3N3b3JkID0gUmVxdWVzdDo6Z2V0VXNlclZhcigncGFz
c3dvcmQnKTsKKwkJCQorCQkJaWYoJHVzZXJFbWFpbCAhPSAnJyAmJiAkdXNlclBhc3N3b3JkICE9
ICcnKSB7CisJCQkJJG5vdGlmaWNhdGlvblNldHRpbmdzRGFvID0mIERBT1JlZ2lzdHJ5OjpnZXRE
QU8oJ05vdGlmaWNhdGlvblNldHRpbmdzREFPJyk7CisJCQkJaWYoJG5vdGlmaWNhdGlvblNldHRp
bmdzRGFvLT51bnN1YnNjcmliZUd1ZXN0KCR1c2VyRW1haWwsICR1c2VyUGFzc3dvcmQpKSB7CisJ
CQkJCSR0ZW1wbGF0ZU1nci0+YXNzaWduKCdzdWNjZXNzJywgIm5vdGlmaWNhdGlvbi51bnN1YnNj
cmliZVN1Y2Nlc3MiKTsKKwkJCQkJJHRlbXBsYXRlTWdyLT5kaXNwbGF5KCdub3RpZmljYXRpb24v
bWFpbGxpc3QudHBsJyk7CisJCQkJfSBlbHNlIHsKKwkJCQkJJHRlbXBsYXRlTWdyLT5hc3NpZ24o
J2Vycm9yJywgIm5vdGlmaWNhdGlvbi51bnN1YnNjcmliZUVycm9yIik7CisJCQkJCSR0ZW1wbGF0
ZU1nci0+ZGlzcGxheSgnbm90aWZpY2F0aW9uL21haWxsaXN0LnRwbCcpOworCQkJCX0KKwkJCX0g
ZWxzZSBpZigkdXNlckVtYWlsICE9ICcnICYmICR1c2VyUGFzc3dvcmQgPT0gJycpIHsKKwkJCQkk
bm90aWZpY2F0aW9uU2V0dGluZ3NEYW8gPSYgREFPUmVnaXN0cnk6OmdldERBTygnTm90aWZpY2F0
aW9uU2V0dGluZ3NEQU8nKTsKKwkJCQlpZigkbmV3UGFzc3dvcmQgPSAkbm90aWZpY2F0aW9uU2V0
dGluZ3NEYW8tPnJlc2V0UGFzc3dvcmQoJHVzZXJFbWFpbCkpIHsKKwkJCQkJTm90aWZpY2F0aW9u
OjpzZW5kTWFpbGluZ0xpc3RFbWFpbCgkdXNlckVtYWlsLCAkbmV3UGFzc3dvcmQsICdOT1RJRklD
QVRJT05fTUFJTExJU1RfUEFTU1dPUkQnKTsKKwkJCQkJJHRlbXBsYXRlTWdyLT5hc3NpZ24oJ3N1
Y2Nlc3MnLCAibm90aWZpY2F0aW9uLnJlbWluZGVyU2VudCIpOworCQkJCQkkdGVtcGxhdGVNZ3It
PmRpc3BsYXkoJ25vdGlmaWNhdGlvbi9tYWlsbGlzdC50cGwnKTsKKwkJCQl9IGVsc2UgeworCQkJ
CQkkdGVtcGxhdGVNZ3ItPmFzc2lnbignZXJyb3InLCAibm90aWZpY2F0aW9uLnJlbWluZGVyRXJy
b3IiKTsKKwkJCQkJJHRlbXBsYXRlTWdyLT5kaXNwbGF5KCdub3RpZmljYXRpb24vbWFpbGxpc3Qu
dHBsJyk7CisJCQkJfQorCQkJfSBlbHNlIHsJCQorCQkJCSR0ZW1wbGF0ZU1nci0+YXNzaWduKCdy
ZW1vdmUnLCB0cnVlKTsKKwkJCQkkdGVtcGxhdGVNZ3ItPmRpc3BsYXkoJ25vdGlmaWNhdGlvbi9t
YWlsbGlzdC50cGwnKTsKKwkJCX0KKwkJfSBlbHNlIFJlcXVlc3Q6OnJlZGlyZWN0KG51bGwsICdu
b3RpZmljYXRpb24nKTsKKwl9Cit9CisKKz8+CkluZGV4OiBwYWdlcy9ub3RpZmljYXRpb24vaW5k
ZXgucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IHBhZ2VzL25vdGlmaWNhdGlvbi9pbmRleC5waHAK
ZGlmZiAtTiBwYWdlcy9ub3RpZmljYXRpb24vaW5kZXgucGhwCi0tLSAvZGV2L251bGwJMSBKYW4g
MTk3MCAwMDowMDowMCAtMDAwMAorKysgcGFnZXMvbm90aWZpY2F0aW9uL2luZGV4LnBocAkyNiBK
YW4gMjAwOSAyMTowMjozOCAtMDAwMApAQCAtMCwwICsxLDIzIEBACis8P3BocAorCisvKioKKyAq
IEBkZWZncm91cCBwYWdlc19ub3RpZmljYXRpb24KKyAqLworIAorLyoqCisgKiBAZmlsZSBwYWdl
cy9ub3RpZmljYXRpb24vaW5kZXgucGhwCisgKgorICogQ29weXJpZ2h0IChjKSAyMDAwLTIwMDgg
Sm9obiBXaWxsaW5za3kKKyAqIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR1BMIHYyLiBGb3Ig
ZnVsbCB0ZXJtcyBzZWUgdGhlIGZpbGUgZG9jcy9DT1BZSU5HLgorICoKKyAqIEBpbmdyb3VwIHBh
Z2VzX25vdGlmaWNhdGlvbgorICogQGJyaWVmIEhhbmRsZSByZXF1ZXN0cyBmb3Igdmlld2luZyBu
b3RpZmljYXRpb25zLiAKKyAqCisgKi8KKworCitkZWZpbmUoJ0hBTkRMRVJfQ0xBU1MnLCAnTm90
aWZpY2F0aW9uSGFuZGxlcicpOworCitpbXBvcnQoJ3BhZ2VzLm5vdGlmaWNhdGlvbi5Ob3RpZmlj
YXRpb25IYW5kbGVyJyk7CisKKz8+CkluZGV4OiB0ZW1wbGF0ZXMvbm90aWZpY2F0aW9uL2F0b20u
dHBsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KUkNTIGZpbGU6IHRlbXBsYXRlcy9ub3RpZmljYXRpb24vYXRvbS50cGwK
ZGlmZiAtTiB0ZW1wbGF0ZXMvbm90aWZpY2F0aW9uL2F0b20udHBsCi0tLSAvZGV2L251bGwJMSBK
YW4gMTk3MCAwMDowMDowMCAtMDAwMAorKysgdGVtcGxhdGVzL25vdGlmaWNhdGlvbi9hdG9tLnRw
bAkyNiBKYW4gMjAwOSAyMTowMjozOCAtMDAwMApAQCAtMCwwICsxLDQzIEBACit7KioKKyAqIGF0
b20udHBsCisgKgorICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMDggSm9obiBXaWxsaW5za3kKKyAq
IERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR1BMIHYyLiBGb3IgZnVsbCB0ZXJtcyBzZWUgdGhl
IGZpbGUgZG9jcy9DT1BZSU5HLgorICoKKyAqIEF0b20gZmVlZCB0ZW1wbGF0ZQorICoKKyAqICRJ
ZDogYXRvbS50cGwsdiAxLjMgMjAwOC8wNi8xMSAyMTo1MjoyNiBhc21lY2hlciBFeHAgJAorICp9
Cis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ7JGRlZmF1bHRDaGFyc2V0fGVzY2FwZX0i
Pz4KKzxmZWVkIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDA1L0F0b20iPgorCTxpZD57JHNl
bGZVcmx9PC9pZD4KKwk8dGl0bGU+eyRzaXRlVGl0bGV9IHt0cmFuc2xhdGUga2V5PSJub3RpZmlj
YXRpb24ubm90aWZpY2F0aW9ucyJ9PC90aXRsZT4KKworCTxsaW5rIHJlbD0ic2VsZiIgdHlwZT0i
YXBwbGljYXRpb24vYXRvbSt4bWwiIGhyZWY9Inskc2VsZlVybH0iIC8+CisKKwk8Z2VuZXJhdG9y
IHVyaT0iaHR0cDovL3BrcC5zZnUuY2Evb2pzLyIgdmVyc2lvbj0ieyR2ZXJzaW9ufGVzY2FwZX0i
Pnt0cmFuc2xhdGUga2V5PSRhcHBOYW1lfTwvZ2VuZXJhdG9yPgorCit7Zm9yZWFjaCBmcm9tPSRu
b3RpZmljYXRpb25zIGl0ZW09bm90aWZpY2F0aW9ufQorCTxlbnRyeT4KKwkJPGlkPiRub3RpZmlj
YXRpb24tPmdldE5vdGlmaWNhdGlvbklkKCk8L2lkPgorCQk8dGl0bGU+e3RyYW5zbGF0ZSBrZXk9
Im5vdGlmaWNhdGlvbi5ub3RpZmljYXRpb24ifSA6IHskbm90aWZpY2F0aW9uLT5nZXREYXRlQ3Jl
YXRlZCgpfGRhdGVfZm9ybWF0OiIlYSwgJWQgJWIgJVkgJVQgJXoifTwvdGl0bGU+CisJCXtpZiAk
bm90aWZpY2F0aW9uLT5nZXRMb2NhdGlvbigpICE9IG51bGx9CisJCQk8bGluayByZWw9ImFsdGVy
bmF0ZSIgaHJlZj0ieyRub3RpZmljYXRpb24tPmdldExvY2F0aW9uKCl9IiAvPgkJCQkJCisJCXtl
bHNlfQorCQkJPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWY9Int1cmwgcGFnZT0ibm90aWZpY2F0
aW9uIn0iIC8+CQkJCQkKKwkJey9pZn0KKworCQk8c3VtbWFyeSB0eXBlPSJodG1sIiB4bWw6YmFz
ZT0ie2lmICRub3RpZmljYXRpb24tPmdldExvY2F0aW9uKCkgIT0gbnVsbH17JG5vdGlmaWNhdGlv
bi0+Z2V0TG9jYXRpb24oKX17ZWxzZX17dXJsIHBhZ2U9Im5vdGlmaWNhdGlvbiJ9ey9pZn0iPgor
CQkJe2lmICRub3RpZmljYXRpb24tPmdldElzTG9jYWxpemVkKCl9CisJCQkJe3RyYW5zbGF0ZSBr
ZXk9JG5vdGlmaWNhdGlvbi0+Z2V0Q29udGVudHMoKSBwYXJhbT0kbm90aWZpY2F0aW9uLT5nZXRQ
YXJhbSgpfQorCQkJe2Vsc2V9CisJCQkJeyRub3RpZmljYXRpb24tPmdldENvbnRlbnRzKCl9CisJ
CQl7L2lmfQorCQk8L3N1bW1hcnk+CisKKwkJPHB1Ymxpc2hlZD57JG5vdGlmaWNhdGlvbi0+Z2V0
RGF0ZUNyZWF0ZWQoKXxkYXRlX2Zvcm1hdDoiJVktJW0tJWRUJVQleiJ8cmVnZXhfcmVwbGFjZToi
LzAwJC8iOiI6MDAifTwvcHVibGlzaGVkPgorCTwvZW50cnk+Cit7L2ZvcmVhY2h9Cis8L2ZlZWQ+
CisKKwpJbmRleDogdGVtcGxhdGVzL25vdGlmaWNhdGlvbi9pbmRleC50cGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpS
Q1MgZmlsZTogdGVtcGxhdGVzL25vdGlmaWNhdGlvbi9pbmRleC50cGwKZGlmZiAtTiB0ZW1wbGF0
ZXMvbm90aWZpY2F0aW9uL2luZGV4LnRwbAotLS0gL2Rldi9udWxsCTEgSmFuIDE5NzAgMDA6MDA6
MDAgLTAwMDAKKysrIHRlbXBsYXRlcy9ub3RpZmljYXRpb24vaW5kZXgudHBsCTI2IEphbiAyMDA5
IDIxOjAyOjM4IC0wMDAwCkBAIC0wLDAgKzEsODUgQEAKK3sqKgorICogaW5kZXgudHBsCisgKgor
ICogQ29weXJpZ2h0IChjKSAyMDAwLTIwMDggSm9obiBXaWxsaW5za3kKKyAqIERpc3RyaWJ1dGVk
IHVuZGVyIHRoZSBHTlUgR1BMIHYyLiBGb3IgZnVsbCB0ZXJtcyBzZWUgdGhlIGZpbGUgZG9jcy9D
T1BZSU5HLgorICoKKyAqIERpc3BsYXkgbGlzdCBvZiBub3RpZmljYXRpb25zLiAKKyAqCisgKn0K
K3tzdHJpcH0KK3thc3NpZ24gdmFyPSJwYWdlVGl0bGUiIHZhbHVlPSJub3RpZmljYXRpb24ubm90
aWZpY2F0aW9ucyJ9Cit7aW5jbHVkZSBmaWxlPSJjb21tb24vaGVhZGVyLnRwbCJ9Cit7L3N0cmlw
fQorCis8dGFibGUgd2lkdGg9IjEwMCUiPgorCTx0cj4KKwkJPHRkPntpZiAkaXNVc2VyTG9nZ2Vk
SW59CisJCQkJPHA+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5ub3RpZmljYXRpb25zRGVz
Y3JpcHRpb24iIHVucmVhZENvdW50PSR1bnJlYWQgcmVhZENvdW50PSRyZWFkIHNldHRpbmdzVXJs
PSR1cmx9PC9wPgorCQkJe2Vsc2V9CisJCQkJPHA+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlv
bi5ub3RpZmljYXRpb25zUHVibGljRGVzY3JpcHRpb24iIGVtYWlsVXJsPSRlbWFpbFVybH08L3A+
CisJCQl7L2lmfQorCQk8L3RkPgorCQk8dGQ+PHVsIGNsYXNzPSJwbGFpbiI+CisJCQk8bGk+PGEg
aHJlZj0ie3VybCBvcD0iZ2V0Tm90aWZpY2F0aW9uRmVlZFVybCIgcGF0aD0icnNzIn0iIGNsYXNz
PSJpY29uIj48aW1nIHNyYz0ieyRiYXNlVXJsfS9saWIvcGtwL3RlbXBsYXRlcy9pbWFnZXMvcnNz
MTBfbG9nby5naWYiIGFsdD0iUlNTIDEuMCIvPjwvYT48L2xpPgorCQkJPGxpPjxhIGhyZWY9Int1
cmwgb3A9ImdldE5vdGlmaWNhdGlvbkZlZWRVcmwiIHBhdGg9InJzczIifSIgY2xhc3M9Imljb24i
PjxpbWcgc3JjPSJ7JGJhc2VVcmx9L2xpYi9wa3AvdGVtcGxhdGVzL2ltYWdlcy9yc3MyMF9sb2dv
LmdpZiIgYWx0PSJSU1MgMi4wIi8+PC9hPjwvbGk+CisJCQk8bGk+PGEgaHJlZj0ie3VybCBvcD0i
Z2V0Tm90aWZpY2F0aW9uRmVlZFVybCIgcGF0aD0iYXRvbSJ9IiBjbGFzcz0iaWNvbiI+PGltZyBz
cmM9InskYmFzZVVybH0vbGliL3BrcC90ZW1wbGF0ZXMvaW1hZ2VzL2F0b20xMF9sb2dvLmdpZiIg
YWx0PSJBdG9tIDEuMCIvPjwvYT48L2xpPgorCQk8L3VsPjwvdGQ+CisJPC90cj4KKzwvdGFibGU+
CisKKzxici8+CisKKzxkaXYgaWQ9Im5vdGlmaWNhdGlvbnMiPgore2l0ZXJhdGUgZnJvbT1ub3Rp
ZmljYXRpb25zIGl0ZW09bm90aWZpY2F0aW9ufQorCTx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9
Im5vdGlmaWNhdGlvbnMiPgorCQk8dHI+CisJCQk8dGQgd2lkdGg9IjI1Ij48aW1nIHNyYz0ieyRu
b3RpZmljYXRpb24tPmdldEljb25Mb2NhdGlvbigpfSIgYWx0PSImIzE4NyIvPjwvdGQ+CisJCQk8
dGQgY2xhc3M9Im5vdGlmaWNhdGlvbkNvbnRlbnQiIGNvbHNwYW49IjIiIHdpZHRoPSI4MCUiPgor
CQkJCXskbm90aWZpY2F0aW9uLT5nZXREYXRlQ3JlYXRlZCgpfQorCQkJPC90ZD4KKwkJCXtpZiAk
bm90aWZpY2F0aW9uLT5nZXRMb2NhdGlvbigpICE9IG51bGx9CisJCQkJPHRkIGlkPSJub3RpZmlj
YXRpb25MaW5rIiBjbGFzcz0ibm90aWZpY2F0aW9uRnVuY3Rpb24iIHN0eWxlPSJtaW4td2lkdGg6
NjBweCI+PGEgaHJlZj0ieyRub3RpZmljYXRpb24tPmdldExvY2F0aW9uKCl9Ij57dHJhbnNsYXRl
IGtleT0ibm90aWZpY2F0aW9uLmxvY2F0aW9uIn08L2E+PC90ZD4KKwkJCXtlbHNlfQorCQkJCTx0
ZCBpZD0ibm90aWZpY2F0aW9uTGluayIgY2xhc3M9Im5vdGlmaWNhdGlvbkZ1bmN0aW9uIj48L3Rk
PgorCQkJey9pZn0KKwkJCXtpZiAkaXNVc2VyTG9nZ2VkSW59CisJCQkJPHRkIGlkPSJub3RpZmlj
YXRpb25EZWxldGUiIGNsYXNzPSJub3RpZmljYXRpb25GdW5jdGlvbiI+PGEgaWQ9Im5vdGlmaWNh
dGlvbkRlbGV0ZUxpbmsiIGhyZWY9Int1cmwgb3A9ImRlbGV0ZSIgcGF0aD0kbm90aWZpY2F0aW9u
LT5nZXROb3RpZmljYXRpb25JZCgpfSI+e3RyYW5zbGF0ZSBrZXk9ImNvbW1vbi5kZWxldGUifTwv
YT48L3RkPgorCQkJey9pZn0KKwkJPC90cj4KKwkJPHRyPgorCQkJPHRkIHdpZHRoPSIyNSI+Jm5i
c3A7PC90ZD4KKwkJCTx0ZCBjbGFzcz0ibm90aWZpY2F0aW9uQ29udGVudCI+CisJCQkJe2lmICRu
b3RpZmljYXRpb24tPmdldElzVW5yZWFkKCl9CisJCQkJCXtpZiAkbm90aWZpY2F0aW9uLT5nZXRJ
c0xvY2FsaXplZCgpfTxwIHN0eWxlPSJmb250LXdlaWdodDogYm9sZCI+e3RyYW5zbGF0ZSBrZXk9
JG5vdGlmaWNhdGlvbi0+Z2V0Q29udGVudHMoKSBwYXJhbT0kbm90aWZpY2F0aW9uLT5nZXRQYXJh
bSgpfTwvcD4KKwkJCQkJe2Vsc2V9PHAgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkIj57JG5vdGlm
aWNhdGlvbi0+Z2V0Q29udGVudHMoKX17L2lmfQorCQkJCXtlbHNlfQorCQkJCQl7aWYgJG5vdGlm
aWNhdGlvbi0+Z2V0SXNMb2NhbGl6ZWQoKX08cD57dHJhbnNsYXRlIGtleT0kbm90aWZpY2F0aW9u
LT5nZXRDb250ZW50cygpIHBhcmFtPSRub3RpZmljYXRpb24tPmdldFBhcmFtKCl9PC9wPgorCQkJ
CQl7ZWxzZX08cD57JG5vdGlmaWNhdGlvbi0+Z2V0Q29udGVudHMoKX08L3A+ey9pZn0JCisJCQkJ
ey9pZn0KKwkJCTwvdGQ+CisJCTwvdHI+CisJPC90YWJsZT4KKwk8ZGl2IGNsYXNzPSJzZXBhcmF0
b3IiIHN0eWxlPSJtYXJnaW4tbGVmdDoyNXB4Ij48L2Rpdj4KK3svaXRlcmF0ZX0KK3tpZiAkbm90
aWZpY2F0aW9ucy0+d2FzRW1wdHkoKX0KKwk8dGFibGUgY2xhc3M9Im5vdGlmaWNhdGlvbnMiPgor
CQk8dHI+CisJCQk8dGQgY29sc3Bhbj0iMiIgY2xhc3M9Im5vZGF0YSI+PGg1Pnt0cmFuc2xhdGUg
a2V5PSJub3RpZmljYXRpb24ubm9uZUV4aXN0In08L2g1PjwvdGQ+CisJCTwvdHI+CisJCTx0cj4K
KwkJCTx0ZCBjb2xzcGFuPSIyIiBjbGFzcz0iZW5kc2VwYXJhdG9yIj4mbmJzcDs8L3RkPgorCQk8
L3RyPgorCTwvdGFibGU+Cit7ZWxzZX0KKwk8dGFibGUgY2xhc3M9Im5vdGlmaWNhdGlvbnMiPgor
CQk8dHI+CisJCQk8dGQgYWxpZ249ImxlZnQiPntwYWdlX2luZm8gaXRlcmF0b3I9JG5vdGlmaWNh
dGlvbnN9PC90ZD4KKwkJCTx0ZCBhbGlnbj0icmlnaHQiPntwYWdlX2xpbmtzIGFuY2hvcj0ibm90
aWZpY2F0aW9ucyIgbmFtZT0ibm90aWZpY2F0aW9ucyIgaXRlcmF0b3I9JG5vdGlmaWNhdGlvbnN9
PC90ZD4KKwkJPC90cj4KKwk8L3RhYmxlPgorey9pZn0KKworPC9kaXY+CisKK3tpbmNsdWRlIGZp
bGU9ImNvbW1vbi9mb290ZXIudHBsIn0KSW5kZXg6IHRlbXBsYXRlcy9ub3RpZmljYXRpb24vbWFp
bGxpc3QudHBsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IHRlbXBsYXRlcy9ub3RpZmljYXRpb24vbWFp
bGxpc3QudHBsCmRpZmYgLU4gdGVtcGxhdGVzL25vdGlmaWNhdGlvbi9tYWlsbGlzdC50cGwKLS0t
IC9kZXYvbnVsbAkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAwCisrKyB0ZW1wbGF0ZXMvbm90aWZp
Y2F0aW9uL21haWxsaXN0LnRwbAkyNiBKYW4gMjAwOSAyMTowMjozOCAtMDAwMApAQCAtMCwwICsx
LDkzIEBACit7KioKKyAqIGluZGV4LnRwbAorICoKKyAqIENvcHlyaWdodCAoYykgMjAwMC0yMDA4
IEpvaG4gV2lsbGluc2t5CisgKiBEaXN0cmlidXRlZCB1bmRlciB0aGUgR05VIEdQTCB2Mi4gRm9y
IGZ1bGwgdGVybXMgc2VlIHRoZSBmaWxlIGRvY3MvQ09QWUlORy4KKyAqCisgKiBEaXNwbGF5cyB0
aGUgbm90aWZpY2F0aW9uIHNldHRpbmdzIHBhZ2UgYW5kIHVuY2hlY2tzICAKKyAqCisgKn0KK3tz
dHJpcH0KK3thc3NpZ24gdmFyPSJwYWdlVGl0bGUiIHZhbHVlPSJub3RpZmljYXRpb24ubWFpbExp
c3QifQore2luY2x1ZGUgZmlsZT0iY29tbW9uL2hlYWRlci50cGwifQorey9zdHJpcH0KKwore2lm
ICRuZXd9CisJPHA+PHNwYW4gY2xhc3M9Imluc3RydWN0Ij57dHJhbnNsYXRlIGtleT0ibm90aWZp
Y2F0aW9uLm1haWxMaXN0RGVzY3JpcHRpb24ifTwvc3Bhbj48L3A+CisJPGJyIC8+CisKKwl7aWYg
JGVycm9yfQorCQk8cD48c3BhbiBjbGFzcz0iZm9ybUVycm9yIj57dHJhbnNsYXRlIGtleT0iJGVy
cm9yIn08L3NwYW4+PC9wPgorCXsvaWZ9CisJCisJe2lmICRzdWNjZXNzfQorCQk8cD48c3BhbiBj
bGFzcz0iZm9ybVN1Y2Nlc3MiPnt0cmFuc2xhdGUga2V5PSIkc3VjY2VzcyJ9PC9zcGFuPjwvcD4K
Kwl7L2lmfQorCisJPGZvcm0gaWQ9Im5vdGlmaWNhdGlvblNldHRpbmdzIiBtZXRob2Q9InBvc3Qi
IGFjdGlvbj0ie3VybCBvcD0ic3Vic2NyaWJlTWFpbExpc3QifSI+CisJCisJPHRhYmxlIGNsYXNz
PSJkYXRhIiB3aWR0aD0iMTAwJSI+CisJCTx0ciB2YWxpZ249InRvcCI+CisJCQk8dGQgY2xhc3M9
ImxhYmVsIiB3aWR0aD0iNSUiPnt0cmFuc2xhdGUga2V5PSJlbWFpbC5lbWFpbCJ9PC90ZD4KKwkJ
CTx0ZCBjbGFzcz0idmFsdWUiIHdpZHRoPSI0NSUiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJl
bWFpbCIgc2l6ZT0iMzAiIG1heGxlbmd0aD0iOTAiIGNsYXNzPSJ0ZXh0RmllbGQiIC8+PC90ZD4K
KwkJPC90cj4KKwkJPHRyIHZhbGlnbj0idG9wIj4KKwkJCTx0ZCB3aWR0aD0iNSUiPiZuYnNwOzwv
dGQ+CisJCQk8dGQ+PHA+PGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9Int0cmFuc2xhdGUga2V5
PSJmb3JtLnN1Ym1pdCJ9IiBjbGFzcz0iYnV0dG9uIGRlZmF1bHRCdXR0b24iIC8+PC9wPjwvdGQ+
CisJCTwvdHI+CisJPC90YWJsZT4KKwk8L2Zvcm0+CisJCisJPHVsIGNsYXNzPSJwbGFpbiIgc3R5
bGU9Im1hcmdpbi1sZWZ0OjEwJSI+CisJCXt1cmx8YXNzaWduOiJ1cmwiIHBhZ2U9InVzZXIiIG9w
PSJyZWdpc3RlciJ9CisJCTxsaT4mIzE4Nzsge3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5t
YWlsTGlzdC5yZXZpZXciIHJldmlld1VybD0kdXJsfSA8L2xpPgorCQl7dXJsfGFzc2lnbjoidXJs
IiBwYWdlPSJpbmZvcm1hdGlvbiIgb3A9ImF1dGhvcnMifQorCQk8bGk+JiMxODc7IHt0cmFuc2xh
dGUga2V5PSJub3RpZmljYXRpb24ubWFpbExpc3Quc3VibWl0IiBzdWJtaXRVcmw9JHVybH0gPC9s
aT4KKwkJeyoqIG5lZWQgdG8gYWJzdHJhY3Qgc3Vic2NyaXB0aW9uIGVuYWJsZWQgY2hlY2sKKwkJ
KiBhc3NpZ24gdmFyPXN1YnNjcmliZVVybCB2YWx1ZT0idXJsIG9wPSJzdWJzY3JpcHRpb25zIiIK
KwkJKiBpZiAkc3Vic2NyaXB0aW9uRW5hYmxlZCA8bGk+JiMxODc7IHRyYW5zbGF0ZSBrZXk9Im5v
dGlmaWNhdGlvbi5tYWlsTGlzdC5wcm90ZWN0ZWRDb250ZW50IiBzdWJzY3JpYmVVcmw9JHN1YnNj
cmliZVVybAorCQkqfQorCQk8bGk+JiMxODc7IDxhIGhyZWY9Int1cmwgb3A9InByb3RlY3Rpb25Q
b2xpY3kifSI+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5tYWlsTGlzdC5wcml2YWN5UHJv
dGVjdGlvbiJ9PC9hPjwvbGk+CisJPHVsPgore2Vsc2VpZiAkcmVtb3ZlfQorCTxwPjxzcGFuIGNs
YXNzPSJpbnN0cnVjdCI+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi51bnN1YnNjcmliZURl
c2NyaXB0aW9uIn08L3NwYW4+PC9wPgorCTxiciAvPgorCisJe2lmICRlcnJvcn0KKwkJPHA+PHNw
YW4gY2xhc3M9ImZvcm1FcnJvciI+e3RyYW5zbGF0ZSBrZXk9IiRlcnJvciJ9PC9zcGFuPjwvcD4K
Kwl7L2lmfQorCQorCXtpZiAkc3VjY2Vzc30KKwkJPHA+PHNwYW4gY2xhc3M9ImZvcm1TdWNjZXNz
Ij57dHJhbnNsYXRlIGtleT0iJHN1Y2Nlc3MifTwvc3Bhbj48L3A+CisJey9pZn0KKwkKKwk8Zm9y
bSBpZD0ibm90aWZpY2F0aW9uU2V0dGluZ3MiIG1ldGhvZD0icG9zdCIgYWN0aW9uPSJ7dXJsIG9w
PSJ1bnN1YnNjcmliZU1haWxMaXN0In0iPgorCTx0YWJsZSBjbGFzcz0iZGF0YSIgd2lkdGg9IjEw
MCUiPgorCQk8dHIgdmFsaWduPSJ0b3AiPgorCQkJPHRkIGNsYXNzPSJsYWJlbCIgd2lkdGg9IjUl
Ij57dHJhbnNsYXRlIGtleT0iZW1haWwuZW1haWwifTwvdGQ+CisJCQk8dGQgY2xhc3M9InZhbHVl
IiB3aWR0aD0iNDUlIj48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZW1haWwiIHNpemU9IjMwIiBt
YXhsZW5ndGg9IjkwIiBjbGFzcz0idGV4dEZpZWxkIiAvPjwvdGQ+CisJCTwvdHI+CisJCTx0ciB2
YWxpZ249InRvcCI+CisJCQk8dGQgY2xhc3M9ImxhYmVsIiB3aWR0aD0iNSUiPnt0cmFuc2xhdGUg
a2V5PSJ1c2VyLnBhc3N3b3JkIn08L3RkPgorCQkJPHRkIGNsYXNzPSJ2YWx1ZSIgd2lkdGg9IjQ1
JSI+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9InBhc3N3b3JkIiBzaXplPSIzMCIgbWF4bGVuZ3Ro
PSI5MCIgY2xhc3M9InRleHRGaWVsZCIgLz48L3RkPgorCQk8L3RyPgorCQk8dHIgdmFsaWduPSJ0
b3AiPgorCQkJPHRkIHdpZHRoPSI1JSI+Jm5ic3A7PC90ZD4KKwkJCTx0ZD48cD48aW5wdXQgdHlw
ZT0ic3VibWl0IiB2YWx1ZT0ie3RyYW5zbGF0ZSBrZXk9ImZvcm0uc3VibWl0In0iIGNsYXNzPSJi
dXR0b24gZGVmYXVsdEJ1dHRvbiIgLz48L3A+PC90ZD4KKwkJPC90cj4KKwk8L3RhYmxlPgorCQor
CTwvZm9ybT4KK3tlbHNlaWYgJGNvbmZpcm19CisJe2lmICRlcnJvcn0KKwkJPHA+PHNwYW4gY2xh
c3M9ImZvcm1FcnJvciI+e3RyYW5zbGF0ZSBrZXk9IiRlcnJvciJ9PC9zcGFuPjwvcD4KKwl7L2lm
fQorCQorCXtpZiAkc3VjY2Vzc30KKwkJPHA+PHNwYW4gY2xhc3M9ImZvcm1TdWNjZXNzIj57dHJh
bnNsYXRlIGtleT0iJHN1Y2Nlc3MifTwvc3Bhbj48L3A+CisJey9pZn0KK3svaWZ9CisKKzwvZm9y
bT4KKwore2luY2x1ZGUgZmlsZT0iY29tbW9uL2Zvb3Rlci50cGwifQpJbmRleDogdGVtcGxhdGVz
L25vdGlmaWNhdGlvbi9yc3MudHBsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IHRlbXBsYXRlcy9ub3Rp
ZmljYXRpb24vcnNzLnRwbApkaWZmIC1OIHRlbXBsYXRlcy9ub3RpZmljYXRpb24vcnNzLnRwbAot
LS0gL2Rldi9udWxsCTEgSmFuIDE5NzAgMDA6MDA6MDAgLTAwMDAKKysrIHRlbXBsYXRlcy9ub3Rp
ZmljYXRpb24vcnNzLnRwbAkyNiBKYW4gMjAwOSAyMTowMjozOCAtMDAwMApAQCAtMCwwICsxLDUz
IEBACit7KioKKyAqIHJzcy50cGwKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwOCBKb2hu
IFdpbGxpbnNreQorICogRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEdOVSBHUEwgdjIuIEZvciBmdWxs
IHRlcm1zIHNlZSB0aGUgZmlsZSBkb2NzL0NPUFlJTkcuCisgKgorICogUlNTIGZlZWQgdGVtcGxh
dGUKKyAqCisgKiAkSWQ6IHJzcy50cGwsdiAxLjMgMjAwOC8wNi8xMSAyMTo1MjoyNiBhc21lY2hl
ciBFeHAgJAorICp9Cis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ7JGRlZmF1bHRDaGFy
c2V0fGVzY2FwZX0iPz4KKzxyZGY6UkRGCisJeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8x
OTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIgorCXhtbG5zPSJodHRwOi8vcHVybC5vcmcvcnNzLzEu
MC8iCisJeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgorCXhtbG5z
OnByaXNtPSJodHRwOi8vcHJpc21zdGFuZGFyZC5vcmcvbmFtZXNwYWNlcy8xLjIvYmFzaWMvIj4K
KyAgICAKKwk8Y2hhbm5lbCByZGY6YWJvdXQ9InskYmFzZVVybH0iPgorCQk8dGl0bGU+eyRzaXRl
VGl0bGV9IHt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24ubm90aWZpY2F0aW9ucyJ9PC90aXRs
ZT4KKwkJPGxpbms+eyRzZWxmVXJsfTwvbGluaz4KKwkJPGxhbmd1YWdlPnskbG9jYWxlfHJlcGxh
Y2U6J18nOictJ3xzdHJpcHxlc2NhcGU6Imh0bWwifTwvbGFuZ3VhZ2U+CisJCTxpdGVtcz4KKwkJ
CXtmb3JlYWNoIGZyb209JG5vdGlmaWNhdGlvbnMgaXRlbT1ub3RpZmljYXRpb259CisJCQk8cmRm
OlNlcT4KKwkJCQk8cmRmOmxpIHJkZjpyZXNvdXJjZT0ie3VybCBwYWdlPSJub3RpZmljYXRpb24i
fSIvPgorCQkJPC9yZGY6U2VxPgorCQkJey9mb3JlYWNofQorCQk8L2l0ZW1zPgorCTwvY2hhbm5l
bD4KKworCXtmb3JlYWNoIGZyb209JG5vdGlmaWNhdGlvbnMgaXRlbT1ub3RpZmljYXRpb259CisJ
PGl0ZW0gcmRmOmFib3V0PSJ7dXJsIHBhZ2U9Im5vdGlmaWNhdGlvbiJ9Ij4KKwkJPHRpdGxlPnt0
cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24ubm90aWZpY2F0aW9uIn0gOiB7JG5vdGlmaWNhdGlv
bi0+Z2V0RGF0ZUNyZWF0ZWQoKXxkYXRlX2Zvcm1hdDoiJWEsICVkICViICVZICVUICV6In08L3Rp
dGxlPgorCQk8bGluaz4KKwkJCXtpZiAkbm90aWZpY2F0aW9uLT5nZXRMb2NhdGlvbigpICE9IG51
bGx9CisJCQkJeyRub3RpZmljYXRpb24tPmdldExvY2F0aW9uKCl9CisJCQl7ZWxzZX0KKwkJCQl7
dXJsIHBhZ2U9Im5vdGlmaWNhdGlvbiJ9CisJCQl7L2lmfQorCQk8L2xpbms+CisJCTxkZXNjcmlw
dGlvbj4KKwkJCXtpZiAkbm90aWZpY2F0aW9uLT5nZXRJc0xvY2FsaXplZCgpfQorCQkJCXt0cmFu
c2xhdGUga2V5PSRub3RpZmljYXRpb24tPmdldENvbnRlbnRzKCkgcGFyYW09JG5vdGlmaWNhdGlv
bi0+Z2V0UGFyYW0oKX0KKwkJCXtlbHNlfQorCQkJCXskbm90aWZpY2F0aW9uLT5nZXRDb250ZW50
cygpfQorCQkJey9pZn0KKwkJPC9kZXNjcmlwdGlvbj4JCisJCTxkYzpjcmVhdG9yPnskc2l0ZVRp
dGxlfHN0cmlwfGVzY2FwZToiaHRtbCJ9PC9kYzpjcmVhdG9yPgorCQk8ZGM6ZGF0ZT57JG5vdGlm
aWNhdGlvbi0+Z2V0RGF0ZUNyZWF0ZWQoKXxkYXRlX2Zvcm1hdDoiJVktJW0tJWQifTwvZGM6ZGF0
ZT4KKwk8L2l0ZW0+CisJey9mb3JlYWNofQorCis8L3JkZjpSREY+CkluZGV4OiB0ZW1wbGF0ZXMv
bm90aWZpY2F0aW9uL3JzczIudHBsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IHRlbXBsYXRlcy9ub3Rp
ZmljYXRpb24vcnNzMi50cGwKZGlmZiAtTiB0ZW1wbGF0ZXMvbm90aWZpY2F0aW9uL3JzczIudHBs
Ci0tLSAvZGV2L251bGwJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMAorKysgdGVtcGxhdGVzL25v
dGlmaWNhdGlvbi9yc3MyLnRwbAkyNiBKYW4gMjAwOSAyMTowMjozOCAtMDAwMApAQCAtMCwwICsx
LDQ1IEBACit7KioKKyAqIHJzczIudHBsCisgKgorICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMDgg
Sm9obiBXaWxsaW5za3kKKyAqIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR1BMIHYyLiBGb3Ig
ZnVsbCB0ZXJtcyBzZWUgdGhlIGZpbGUgZG9jcy9DT1BZSU5HLgorICoKKyAqIFJTUyAyIGZlZWQg
dGVtcGxhdGUKKyAqCisgKiAkSWQ6IHJzczIudHBsLHYgMS4zIDIwMDgvMDYvMTEgMjE6NTI6MjYg
YXNtZWNoZXIgRXhwICQKKyAqfQorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0ieyRkZWZh
dWx0Q2hhcnNldHxlc2NhcGV9Ij8+Cis8cnNzIHZlcnNpb249IjIuMCI+CisJPGNoYW5uZWw+CisJ
CXsqIHJlcXVpcmVkIGVsZW1lbnRzICp9CisJCTx0aXRsZT57JHNpdGVUaXRsZX0ge3RyYW5zbGF0
ZSBrZXk9Im5vdGlmaWNhdGlvbi5ub3RpZmljYXRpb25zIn08L3RpdGxlPgorCQk8bGluaz57JHNl
bGZVcmx9PC9saW5rPgorCisJCXsqIG9wdGlvbmFsIGVsZW1lbnRzICp9CisJICAgIDxsYW5ndWFn
ZT57JGxvY2FsZXxyZXBsYWNlOidfJzonLSd8c3RyaXB8ZXNjYXBlOiJodG1sIn08L2xhbmd1YWdl
PgorCQk8Z2VuZXJhdG9yPnt0cmFuc2xhdGUga2V5PSRhcHBOYW1lfSB7JHZlcnNpb258ZXNjYXBl
fTwvZ2VuZXJhdG9yPgorCQk8ZG9jcz5odHRwOi8vYmxvZ3MubGF3LmhhcnZhcmQuZWR1L3RlY2gv
cnNzPC9kb2NzPgorCQk8dHRsPjYwPC90dGw+CisKKwkJe2ZvcmVhY2ggZnJvbT0kbm90aWZpY2F0
aW9ucyBpdGVtPW5vdGlmaWNhdGlvbn0KKwkJCTxpdGVtPgorCQkJCTx0aXRsZT57dHJhbnNsYXRl
IGtleT0ibm90aWZpY2F0aW9uLm5vdGlmaWNhdGlvbiJ9IDogeyRub3RpZmljYXRpb24tPmdldERh
dGVDcmVhdGVkKCl8ZGF0ZV9mb3JtYXQ6IiVhLCAlZCAlYiAlWSAlVCAleiJ9PC90aXRsZT4KKwkJ
CQk8bGluaz4KKwkJCQkJe2lmICRub3RpZmljYXRpb24tPmdldExvY2F0aW9uKCkgIT0gbnVsbH0K
KwkJCQkJCXskbm90aWZpY2F0aW9uLT5nZXRMb2NhdGlvbigpfQorCQkJCQl7ZWxzZX0KKwkJCQkJ
CXt1cmwgcGFnZT0ibm90aWZpY2F0aW9uIn0KKwkJCQkJey9pZn0KKwkJCQk8L2xpbms+CisJCQkJ
PGRlc2NyaXB0aW9uPgorCQkJCQl7aWYgJG5vdGlmaWNhdGlvbi0+Z2V0SXNMb2NhbGl6ZWQoKX0K
KwkJCQkJCXt0cmFuc2xhdGUga2V5PSRub3RpZmljYXRpb24tPmdldENvbnRlbnRzKCkgcGFyYW09
JG5vdGlmaWNhdGlvbi0+Z2V0UGFyYW0oKX0KKwkJCQkJe2Vsc2V9CisJCQkJCQl7JG5vdGlmaWNh
dGlvbi0+Z2V0Q29udGVudHMoKX0KKwkJCQkJey9pZn0KKwkJCQk8L2Rlc2NyaXB0aW9uPgkJCisJ
CQkJPHB1YkRhdGU+eyRub3RpZmljYXRpb24tPmdldERhdGVDcmVhdGVkKCl8ZGF0ZV9mb3JtYXQ6
IiVhLCAlZCAlYiAlWSAlVCAleiJ9PC9wdWJEYXRlPgorCQkJPC9pdGVtPgorCQl7L2ZvcmVhY2h9
CisJPC9jaGFubmVsPgorPC9yc3M+CkluZGV4OiB4bWwvcGtwX3NjaGVtYS54bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQpSQ1MgZmlsZTogL2N2cy9wa3AveG1sL3BrcF9zY2hlbWEueG1sLHYKcmV0cmlldmluZyByZXZp
c2lvbiAxLjQKZGlmZiAtdSAtcjEuNCBwa3Bfc2NoZW1hLnhtbAotLS0geG1sL3BrcF9zY2hlbWEu
eG1sCTggT2N0IDIwMDggMjI6MTY6MTAgLTAwMDAJMS40CisrKyB4bWwvcGtwX3NjaGVtYS54bWwJ
MjYgSmFuIDIwMDkgMjE6MDI6MzggLTAwMDAKQEAgLTMzMSw2ICszMzEsNjggQEAKIAkJPC9pbmRl
eD4KIAk8L3RhYmxlPgogCisJPCEtLQorCSAgKgorCSAgKiBUQUJMRSBub3RpZmljYXRpb25zCisJ
ICAqCisJICAtLT4KKwk8dGFibGUgbmFtZT0ibm90aWZpY2F0aW9ucyI+CisJCTxmaWVsZCBuYW1l
PSJub3RpZmljYXRpb25faWQiIHR5cGU9Ikk4Ij4KKwkJCTxLRVkgLz4KKwkJCTxBVVRPSU5DUkVN
RU5UIC8+CisJCTwvZmllbGQ+CisJCTxmaWVsZCBuYW1lPSJ1c2VyX2lkIiB0eXBlPSJJOCI+CisJ
CQk8Tk9UTlVMTC8+CisJCTwvZmllbGQ+CisJCTxmaWVsZCBuYW1lPSJkYXRlX2NyZWF0ZWQiIHR5
cGU9IlQiPgorCQkJPE5PVE5VTEwvPgorCQk8L2ZpZWxkPgorCQk8ZmllbGQgbmFtZT0iZGF0ZV9y
ZWFkIiB0eXBlPSJUIiAvPgorCQk8ZmllbGQgbmFtZT0iY29udGVudHMiIHR5cGU9IkMyIiBzaXpl
PSIyNTUiID4KKwkJCTxOT1ROVUxMLz4KKwkJPC9maWVsZD4KKwkJPGZpZWxkIG5hbWU9InBhcmFt
IiB0eXBlPSJDMiIgc2l6ZT0iMjU1IiAvPgorCQk8ZmllbGQgbmFtZT0ibG9jYXRpb24iIHR5cGU9
IkMyIiBzaXplPSIyNTUiIC8+CisJCTxmaWVsZCBuYW1lPSJpc19sb2NhbGl6ZWQiIHR5cGU9Ikkx
IiA+CisJCQk8Tk9UTlVMTC8+CisJCQk8REVGQVVMVCBWQUxVRT0iMSIvPgorCQk8L2ZpZWxkPgor
CQk8ZmllbGQgbmFtZT0icHJvZHVjdCIgdHlwZT0iQzIiIHNpemU9IjIwIiAvPgorCQk8ZmllbGQg
bmFtZT0iY29udGV4dCIgdHlwZT0iSTgiPgorCQkJPE5PVE5VTEwvPgorCQk8L2ZpZWxkPgorCQk8
ZmllbGQgbmFtZT0iYXNzb2NfdHlwZSIgdHlwZT0iSTgiPgorCQkJPE5PVE5VTEwvPgorCQk8L2Zp
ZWxkPgorCQk8ZGVzY3I+U3RvcmVzIG5vdGlmaWNhdGlvbnMgZm9yIHVzZXJzIGFzIGNyZWF0ZWQg
YnkgdGhlIHN5c3RlbSBhZnRlciBjZXJ0YWluIG9wZXJhdGlvbnMuPC9kZXNjcj4KKwk8L3RhYmxl
PgorCQorCTwhLS0KKwkgICoKKwkgICogVEFCTEUgbm90aWZpY2F0aW9uX3NldHRpbmdzCisJICAq
CisJICAtLT4KKwk8dGFibGUgbmFtZT0ibm90aWZpY2F0aW9uX3NldHRpbmdzIj4KKwkJPGZpZWxk
IG5hbWU9InNldHRpbmdfaWQiIHR5cGU9Ikk4Ij4KKwkJCTxLRVkgLz4KKwkJCTxBVVRPSU5DUkVN
RU5UIC8+CisJCTwvZmllbGQ+CisJCTxmaWVsZCBuYW1lPSJzZXR0aW5nX25hbWUiIHR5cGU9IkMy
IiBzaXplPSI2NCI+CisJCQk8Tk9UTlVMTC8+CisJCTwvZmllbGQ+CisJCTxmaWVsZCBuYW1lPSJz
ZXR0aW5nX3ZhbHVlIiB0eXBlPSJYIj4KKwkJCTxOT1ROVUxMLz4KKwkJPC9maWVsZD4KKwkJPGZp
ZWxkIG5hbWU9InVzZXJfaWQiIHR5cGU9Ikk4Ij4KKwkJCTxOT1ROVUxMLz4KKwkJPC9maWVsZD4K
KwkJPGZpZWxkIG5hbWU9InByb2R1Y3QiIHR5cGU9IkMyIiBzaXplPSIyMCIgLz4KKwkJPGZpZWxk
IG5hbWU9ImNvbnRleHQiIHR5cGU9Ikk4Ij4KKwkJCTxOT1ROVUxMLz4KKwkJPC9maWVsZD4KKwkJ
PGRlc2NyPkxpc3RzIGFsbCBub3RpZmljYXRpb25zIHR5cGVzIGZvciBlYWNoIHVzZXIgdGhhdCB0
aGV5IGRvIE5PVCB3YW50IHRvIGJlIGluZm9ybWVkIG9mLCBhbmQgYWxzbyBjb250YWlucyBhIGxp
c3Qgb2YgUlNTIGZlZWQgdG9rZW5zIGZvciBlYWNoIHVzZXIuPC9kZXNjcj4KKwk8L3RhYmxlPgor
CQogCTwhLS0gT0FJIFRhYmxlcyAtLT4KIAkKIAk8IS0tCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>1368</attachid>
            <date>2009-01-28 11:47:00 -0800</date>
            <delta_ts>2009-01-28 16:16:01 -0800</delta_ts>
            <desc>Patch against OJS pre-2.3 CVS</desc>
            <filename>ojsNotifs.patch</filename>
            <type>text/plain</type>
            <size>90655</size>
            <attacher>mattcrider</attacher>
            
              <data encoding="base64">SW5kZXg6IGNsYXNzZXMvYXJ0aWNsZS9BcnRpY2xlLmluYy5waHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmls
ZTogL2N2cy9vanMyL2NsYXNzZXMvYXJ0aWNsZS9BcnRpY2xlLmluYy5waHAsdgpyZXRyaWV2aW5n
IHJldmlzaW9uIDEuMzkKZGlmZiAtdSAtcjEuMzkgQXJ0aWNsZS5pbmMucGhwCi0tLSBjbGFzc2Vz
L2FydGljbGUvQXJ0aWNsZS5pbmMucGhwCTEzIE5vdiAyMDA4IDAwOjI3OjAzIC0wMDAwCTEuMzkK
KysrIGNsYXNzZXMvYXJ0aWNsZS9BcnRpY2xlLmluYy5waHAJMjggSmFuIDIwMDkgMTk6MjQ6MjUg
LTAwMDAKQEAgLTQyMyw2ICs0MjMsNzQgQEAKIAkJKTsKIAkJcmV0dXJuICRjb21tZW50c1N0YXR1
c09wdGlvbnM7CiAJfQorCQorCS8qKgorCSAqIEdldCBhbiBhcnJheSBvZiB1c2VyIElEcyBhc3Nv
Y2lhdGVkIHdpdGggdGhpcyBhcnRpY2xlCisJICogQHBhcmFtICRhdXRob3JzIGJvb2xlYW4KKwkg
KiBAcGFyYW0gJHJldmlld2VycyBib29sZWFuCisJICogQHBhcmFtICRlZGl0b3JzIGJvb2xlYW4K
KwkgKiBAcGFyYW0gJHByb29mcmVhZGVycyBib29sZWFuCisJICogQHBhcmFtICRjb3B5ZWRpdG9y
cyBib29sZWFuCisJICogQHBhcmFtICRsYXlvdXRFZGl0b3JzIGJvb2xlYW4KKwkgKiBAcmV0dXJu
IGFycmF5IFVzZXIgSURzCisJICovCisJZnVuY3Rpb24gZ2V0QXNzb2NpYXRlZFVzZXJJZHMoJGF1
dGhvcnMgPSB0cnVlLCAkcmV2aWV3ZXJzID0gdHJ1ZSwgJGVkaXRvcnMgPSB0cnVlLCAkcHJvb2Zy
ZWFkZXJzID0gdHJ1ZSwgJGNvcHllZGl0b3JzID0gdHJ1ZSwgJGxheW91dEVkaXRvcnMgPSB0cnVl
KSB7CisJCSRhcnRpY2xlSWQgPSAkdGhpcy0+Z2V0QXJ0aWNsZUlkKCk7CisJCQorCQkkdXNlcklk
cyA9IGFycmF5KCk7CisKKwkJaWYoJGF1dGhvcnMpIHsKKwkJCSRhdXRob3JEYW8gPSAmREFPUmVn
aXN0cnk6OmdldERBTygnQXV0aG9yREFPJyk7CisJCQkkYXV0aG9ycyA9ICRhdXRob3JEYW8tPmdl
dEF1dGhvcnNCeUFydGljbGUoJGFydGljbGVJZCk7CisJCQlmb3JlYWNoICgkYXV0aG9ycyBhcyAk
YXV0aG9yKSB7CisJCQkJJHVzZXJJZHNbXSA9IGFycmF5KCdpZCcgPT4gJGF1dGhvci0+Z2V0QXV0
aG9ySWQoKSwgJ3JvbGUnID0+ICdhdXRob3InKTsKKwkJCX0KKwkJfQorCQkKKwkJaWYoJGVkaXRv
cnMpIHsKKwkJCSRlZGl0QXNzaWdubWVudERhbyA9JiBEQU9SZWdpc3RyeTo6Z2V0REFPKCdFZGl0
QXNzaWdubWVudERBTycpOworCQkJJGVkaXRBc3NpZ25tZW50cyA9JiAkZWRpdEFzc2lnbm1lbnRE
YW8tPmdldEVkaXRvckFzc2lnbm1lbnRzQnlBcnRpY2xlSWQoJGFydGljbGVJZCk7CisJCQl3aGls
ZSAoJGVkaXRBc3NpZ25tZW50ID0mICRlZGl0QXNzaWdubWVudHMtPm5leHQoKSkgeworCQkJCSR1
c2VySWRzW10gPSBhcnJheSgnaWQnID0+ICRlZGl0QXNzaWdubWVudC0+Z2V0RWRpdG9ySWQoKSwg
J3JvbGUnID0+ICdlZGl0b3InKTsKKwkJCQl1bnNldCgkZWRpdEFzc2lnbm1lbnQpOworCQkJfQor
CQl9CisJCQorCQlpZigkY29weWVkaXRvcnMpIHsKKwkJCSRjb3B5QXNzaWdubWVudERhbyA9ICZE
QU9SZWdpc3RyeTo6Z2V0REFPKCdDb3B5QXNzaWdubWVudERBTycpOworCQkJJGNvcHlBc3NpZ25t
ZW50ID0mICRjb3B5QXNzaWdubWVudERhby0+Z2V0Q29weUFzc2lnbm1lbnRCeUFydGljbGVJZCgk
YXJ0aWNsZUlkKTsKKwkJCWlmICgkY29weUFzc2lnbm1lbnQgIT0gbnVsbCAmJiAkY29weUFzc2ln
bm1lbnQtPmdldENvcHllZGl0b3JJZCgpID4gMCkgeworCQkJCSR1c2VySWRzW10gPWFycmF5KCdp
ZCcgPT4gICRjb3B5QXNzaWdubWVudC0+Z2V0Q29weWVkaXRvcklkKCksICdyb2xlJyA9PiAnY29w
eWVkaXRvcicpOworCQkJfQorCQl9CisJCQorCQlpZigkbGF5b3V0RWRpdG9ycykgeworCQkJJGxh
eW91dEFzc2lnbm1lbnREYW8gPSAmREFPUmVnaXN0cnk6OmdldERBTygnTGF5b3V0QXNzaWdubWVu
dERBTycpOworCQkJJGxheW91dEVkaXRvcklkID0gJGxheW91dEFzc2lnbm1lbnREYW8tPmdldExh
eW91dEVkaXRvcklkQnlBcnRpY2xlSWQoJGFydGljbGVJZCk7CisJCQlpZiAoJGxheW91dEVkaXRv
cklkICE9IG51bGwgJiYgJGxheW91dEVkaXRvcklkID4gMCkgeworCQkJCSR1c2VySWRzW10gPSBh
cnJheSgnaWQnID0+ICRsYXlvdXRFZGl0b3JJZCwgJ3JvbGUnID0+ICdsYXlvdXRFZGl0b3InKTsK
KwkJCX0KKwkJfQkKKwkJCisJCWlmKCRwcm9vZnJlYWRlcnMpIHsKKwkJCSRwcm9vZkFzc2lnbm1l
bnREYW8gPSAmREFPUmVnaXN0cnk6OmdldERBTygnUHJvb2ZBc3NpZ25tZW50REFPJyk7CisJCQkk
cHJvb2ZBc3NpZ25tZW50ID0mICRwcm9vZkFzc2lnbm1lbnREYW8tPmdldFByb29mQXNzaWdubWVu
dEJ5QXJ0aWNsZUlkKCRhcnRpY2xlSWQpOworCQkJaWYgKCRwcm9vZkFzc2lnbm1lbnQgIT0gbnVs
bCAmJiAkcHJvb2ZBc3NpZ25tZW50LT5nZXRQcm9vZnJlYWRlcklkKCkgPiAwKSB7CisJCQkJJHVz
ZXJJZHNbXSA9IGFycmF5KCdpZCcgPT4gJHByb29mQXNzaWdubWVudC0+Z2V0UHJvb2ZyZWFkZXJJ
ZCgpLCAncm9sZScgPT4gJ3Byb29mcmVhZGVyJyk7CisJCQl9CisJCX0KKwkJCisJCWlmKCRyZXZp
ZXdlcnMpIHsKKwkJCSRyZXZpZXdBc3NpZ25tZW50RGFvID0mIERBT1JlZ2lzdHJ5OjpnZXREQU8o
J1Jldmlld0Fzc2lnbm1lbnREQU8nKTsKKwkJCSRyZXZpZXdBc3NpZ25tZW50cyA9JiAkcmV2aWV3
QXNzaWdubWVudERhby0+Z2V0UmV2aWV3QXNzaWdubWVudHNCeUFydGljbGVJZCgkYXJ0aWNsZUlk
KTsKKwkJCWZvcmVhY2ggKCRyZXZpZXdBc3NpZ25tZW50cyBhcyAkcmV2aWV3QXNzaWdubWVudCkg
eworCQkJCSR1c2VySWRzW10gPSBhcnJheSgnaWQnID0+ICRyZXZpZXdBc3NpZ25tZW50LT5nZXRS
ZXZpZXdlcklkKCksICdyb2xlJyA9PiAncmV2aWV3ZXInKTsKKwkJCQl1bnNldCgkcmV2aWV3QXNz
aWdubWVudCk7CisJCQl9CisJCX0KKwkJCQkKKwkJcmV0dXJuICR1c2VySWRzOworCX0KIH0KIAog
Pz4KSW5kZXg6IGNsYXNzZXMvY29yZS9PSlNBcHBsaWNhdGlvbi5pbmMucGhwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
UkNTIGZpbGU6IC9jdnMvb2pzMi9jbGFzc2VzL2NvcmUvT0pTQXBwbGljYXRpb24uaW5jLnBocCx2
CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMQpkaWZmIC11IC1yMS4xMSBPSlNBcHBsaWNhdGlvbi5p
bmMucGhwCi0tLSBjbGFzc2VzL2NvcmUvT0pTQXBwbGljYXRpb24uaW5jLnBocAk1IE5vdiAyMDA4
IDAwOjQ2OjM5IC0wMDAwCTEuMTEKKysrIGNsYXNzZXMvY29yZS9PSlNBcHBsaWNhdGlvbi5pbmMu
cGhwCTI4IEphbiAyMDA5IDE5OjI0OjI1IC0wMDAwCkBAIC0xNDUsNyArMTQ1LDYgQEAKIAkJCSdK
b3VybmFsU3RhdGlzdGljc0RBTycgPT4gJ2pvdXJuYWwuSm91cm5hbFN0YXRpc3RpY3NEQU8nLAog
CQkJJ0xheW91dEFzc2lnbm1lbnREQU8nID0+ICdzdWJtaXNzaW9uLmxheW91dEFzc2lnbm1lbnQu
TGF5b3V0QXNzaWdubWVudERBTycsCiAJCQknTGF5b3V0RWRpdG9yU3VibWlzc2lvbkRBTycgPT4g
J3N1Ym1pc3Npb24ubGF5b3V0RWRpdG9yLkxheW91dEVkaXRvclN1Ym1pc3Npb25EQU8nLAotCQkJ
J05vdGlmaWNhdGlvblN0YXR1c0RBTycgPT4gJ2pvdXJuYWwuTm90aWZpY2F0aW9uU3RhdHVzREFP
JywKIAkJCSdPQUlEQU8nID0+ICdvYWkub2pzLk9BSURBTycsCiAJCQknT0pTQ29tcGxldGVkUGF5
bWVudERBTycgPT4gJ3BheW1lbnQub2pzLk9KU0NvbXBsZXRlZFBheW1lbnREQU8nLAogCQkJJ1Bs
dWdpblNldHRpbmdzREFPJyA9PiAncGx1Z2lucy5QbHVnaW5TZXR0aW5nc0RBTycsCkluZGV4OiBj
bGFzc2VzL2luc3RhbGwvVXBncmFkZS5pbmMucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMv
b2pzMi9jbGFzc2VzL2luc3RhbGwvVXBncmFkZS5pbmMucGhwLHYKcmV0cmlldmluZyByZXZpc2lv
biAxLjM2CmRpZmYgLXUgLXIxLjM2IFVwZ3JhZGUuaW5jLnBocAotLS0gY2xhc3Nlcy9pbnN0YWxs
L1VwZ3JhZGUuaW5jLnBocAk5IERlYyAyMDA4IDE5OjQwOjQ1IC0wMDAwCTEuMzYKKysrIGNsYXNz
ZXMvaW5zdGFsbC9VcGdyYWRlLmluYy5waHAJMjggSmFuIDIwMDkgMTk6MjQ6MjUgLTAwMDAKQEAg
LTQ2Myw3ICs0NjMsNyBAQAogCQkkdGFibGVzID0gYXJyYXkoCiAJCQkndmVyc2lvbnMnLCAnc2l0
ZScsICdzaXRlX3NldHRpbmdzJywgJ3NjaGVkdWxlZF90YXNrcycsCiAJCQknc2Vzc2lvbnMnLCAn
am91cm5hbF9zZXR0aW5ncycsCi0JCQkncGx1Z2luX3NldHRpbmdzJywgJ3JvbGVzJywgJ25vdGlm
aWNhdGlvbl9zdGF0dXMnLCAKKwkJCSdwbHVnaW5fc2V0dGluZ3MnLCAncm9sZXMnLCAKIAkJCSdz
ZWN0aW9uX3NldHRpbmdzJywgJ3NlY3Rpb25fZWRpdG9ycycsICdpc3N1ZV9zZXR0aW5ncycsCiAJ
CQknY3VzdG9tX2lzc3VlX29yZGVycycsICdjdXN0b21fc2VjdGlvbl9vcmRlcnMnLAogCQkJJ2Fy
dGljbGVfc2V0dGluZ3MnLCAnYXJ0aWNsZV9hdXRob3Jfc2V0dGluZ3MnLApJbmRleDogY2xhc3Nl
cy9qb3VybmFsL0pvdXJuYWwuaW5jLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL29qczIv
Y2xhc3Nlcy9qb3VybmFsL0pvdXJuYWwuaW5jLnBocCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4y
NApkaWZmIC11IC1yMS4yNCBKb3VybmFsLmluYy5waHAKLS0tIGNsYXNzZXMvam91cm5hbC9Kb3Vy
bmFsLmluYy5waHAJMSBKdWwgMjAwOCAwMToxNjoxMCAtMDAwMAkxLjI0CisrKyBjbGFzc2VzL2pv
dXJuYWwvSm91cm5hbC5pbmMucGhwCTI4IEphbiAyMDA5IDE5OjI0OjI1IC0wMDAwCkBAIC0xNzUs
NiArMTc1LDE0IEBACiAJZnVuY3Rpb24gZ2V0Sm91cm5hbElkKCkgewogCQlyZXR1cm4gJHRoaXMt
PmdldERhdGEoJ2pvdXJuYWxJZCcpOwogCX0KKwkKKwkvKioKKwkgKiBHZXQgSUQgb2Ygam91cm5h
bCAoZm9yIGdlbmVyaWMgY2FsbHMgaW4gUEtQIFdBTCkuCisJICogQHJldHVybiBpbnQKKwkgKi8K
KwlmdW5jdGlvbiBnZXRJZCgpIHsKKwkJcmV0dXJuICR0aGlzLT5nZXREYXRhKCdqb3VybmFsSWQn
KTsKKwl9CiAKIAkvKioKIAkgKiBTZXQgSUQgb2Ygam91cm5hbC4KSW5kZXg6IGNsYXNzZXMvam91
cm5hbC9Kb3VybmFsREFPLmluYy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9vanMyL2Ns
YXNzZXMvam91cm5hbC9Kb3VybmFsREFPLmluYy5waHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEu
MzQKZGlmZiAtdSAtcjEuMzQgSm91cm5hbERBTy5pbmMucGhwCi0tLSBjbGFzc2VzL2pvdXJuYWwv
Sm91cm5hbERBTy5pbmMucGhwCTUgTm92IDIwMDggMDA6NDY6NDAgLTAwMDAJMS4zNAorKysgY2xh
c3Nlcy9qb3VybmFsL0pvdXJuYWxEQU8uaW5jLnBocAkyOCBKYW4gMjAwOSAxOToyNDoyNSAtMDAw
MApAQCAtMTQyLDkgKzE0Miw2IEBACiAJCSRpc3N1ZURhbyA9ICZEQU9SZWdpc3RyeTo6Z2V0REFP
KCdJc3N1ZURBTycpOwogCQkkaXNzdWVEYW8tPmRlbGV0ZUlzc3Vlc0J5Sm91cm5hbCgkam91cm5h
bElkKTsKIAotCQkkbm90aWZpY2F0aW9uU3RhdHVzRGFvID0gJkRBT1JlZ2lzdHJ5OjpnZXREQU8o
J05vdGlmaWNhdGlvblN0YXR1c0RBTycpOwotCQkkbm90aWZpY2F0aW9uU3RhdHVzRGFvLT5kZWxl
dGVOb3RpZmljYXRpb25TdGF0dXNCeUpvdXJuYWwoJGpvdXJuYWxJZCk7Ci0KIAkJJGVtYWlsVGVt
cGxhdGVEYW8gPSAmREFPUmVnaXN0cnk6OmdldERBTygnRW1haWxUZW1wbGF0ZURBTycpOwogCQkk
ZW1haWxUZW1wbGF0ZURhby0+ZGVsZXRlRW1haWxUZW1wbGF0ZXNCeUpvdXJuYWwoJGpvdXJuYWxJ
ZCk7CiAKSW5kZXg6IGNsYXNzZXMvbWFuYWdlci9mb3JtL0Fubm91bmNlbWVudEZvcm0uaW5jLnBo
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL29qczIvY2xhc3Nlcy9tYW5hZ2VyL2Zvcm0vQW5u
b3VuY2VtZW50Rm9ybS5pbmMucGhwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEyCmRpZmYgLXUg
LXIxLjEyIEFubm91bmNlbWVudEZvcm0uaW5jLnBocAotLS0gY2xhc3Nlcy9tYW5hZ2VyL2Zvcm0v
QW5ub3VuY2VtZW50Rm9ybS5pbmMucGhwCTUgTm92IDIwMDggMDA6NDY6NDAgLTAwMDAJMS4xMgor
KysgY2xhc3Nlcy9tYW5hZ2VyL2Zvcm0vQW5ub3VuY2VtZW50Rm9ybS5pbmMucGhwCTI4IEphbiAy
MDA5IDE5OjI0OjI1IC0wMDAwCkBAIC0xMjksNiArMTI5LDcgQEAKIAlmdW5jdGlvbiBleGVjdXRl
KCkgewogCQkkYW5ub3VuY2VtZW50RGFvID0gJkRBT1JlZ2lzdHJ5OjpnZXREQU8oJ0Fubm91bmNl
bWVudERBTycpOwogCQkkam91cm5hbCA9ICZSZXF1ZXN0OjpnZXRKb3VybmFsKCk7CisJCSRqb3Vy
bmFsSWQgPSAkam91cm5hbC0+Z2V0Sm91cm5hbElkKCk7CiAKIAkJaWYgKGlzc2V0KCR0aGlzLT5h
bm5vdW5jZW1lbnRJZCkpIHsKIAkJCSRhbm5vdW5jZW1lbnQgPSAmJGFubm91bmNlbWVudERhby0+
Z2V0QW5ub3VuY2VtZW50KCR0aGlzLT5hbm5vdW5jZW1lbnRJZCk7CkBAIC0xMzgsNyArMTM5LDcg
QEAKIAkJCSRhbm5vdW5jZW1lbnQgPSBuZXcgQW5ub3VuY2VtZW50KCk7CiAJCX0KIAotCQkkYW5u
b3VuY2VtZW50LT5zZXRKb3VybmFsSWQoJGpvdXJuYWwtPmdldEpvdXJuYWxJZCgpKTsKKwkJJGFu
bm91bmNlbWVudC0+c2V0Sm91cm5hbElkKCRqb3VybmFsSWQpOwogCQkkYW5ub3VuY2VtZW50LT5z
ZXRUaXRsZSgkdGhpcy0+Z2V0RGF0YSgndGl0bGUnKSwgbnVsbCk7IC8vIExvY2FsaXplZAogCQkk
YW5ub3VuY2VtZW50LT5zZXREZXNjcmlwdGlvblNob3J0KCR0aGlzLT5nZXREYXRhKCdkZXNjcmlw
dGlvblNob3J0JyksIG51bGwpOyAvLyBMb2NhbGl6ZWQKIAkJJGFubm91bmNlbWVudC0+c2V0RGVz
Y3JpcHRpb24oJHRoaXMtPmdldERhdGEoJ2Rlc2NyaXB0aW9uJyksIG51bGwpOyAvLyBMb2NhbGl6
ZWQKQEAgLTE2Miw2ICsxNjMsMjUgQEAKIAkJCSRhbm5vdW5jZW1lbnQtPnNldERhdGV0aW1lUG9z
dGVkKENvcmU6OmdldEN1cnJlbnREYXRlKCkpOwogCQkJJGFubm91bmNlbWVudERhby0+aW5zZXJ0
QW5ub3VuY2VtZW50KCRhbm5vdW5jZW1lbnQpOwogCQl9CisJCQorCQkvLyBTZW5kIGEgbm90aWZp
Y2F0aW9uIHRvIGFzc29jaWF0ZWQgdXNlcnMKKwkJaW1wb3J0KCdub3RpZmljYXRpb24uTm90aWZp
Y2F0aW9uJyk7CisJCSRyb2xlRGFvID0gJkRBT1JlZ2lzdHJ5OjpnZXREQU8oJ1JvbGVEQU8nKTsK
KwkJJG5vdGlmaWNhdGlvblVzZXJzID0gYXJyYXkoKTsKKwkJJGFsbFVzZXJzID0gJHJvbGVEYW8t
PmdldFVzZXJzQnlKb3VybmFsSWQoJGpvdXJuYWxJZCk7CisJCXdoaWxlICghJGFsbFVzZXJzLT5l
b2YoKSkgeworCQkJJHVzZXIgPSAmJGFsbFVzZXJzLT5uZXh0KCk7CisJCQkkbm90aWZpY2F0aW9u
VXNlcnNbXSA9IGFycmF5KCdpZCcgPT4gJHVzZXItPmdldFVzZXJJZCgpKTsKKwkJCXVuc2V0KCR1
c2VyKTsKKwkJfQorCQkkdXJsID0gUmVxdWVzdDo6dXJsKG51bGwsICdhbm5vdW5jZW1lbnQnLCAn
dmlldycsIGFycmF5KDEpKTsKKwkJZm9yZWFjaCAoJG5vdGlmaWNhdGlvblVzZXJzIGFzICR1c2Vy
KSB7CisJCQlOb3RpZmljYXRpb246OmNyZWF0ZU5vdGlmaWNhdGlvbigkdXNlclsnaWQnXSwgIm5v
dGlmaWNhdGlvbi50eXBlLm5ld0Fubm91bmNlbWVudCIsCisJCQkJbnVsbCwgJHVybCwgMSwgTk9U
SUZJQ0FUSU9OX1RZUEVfTkVXX0FOTk9VTkNFTUVOVCk7CisJCX0KKwkJJG5vdGlmaWNhdGlvbkRh
byA9ICZEQU9SZWdpc3RyeTo6Z2V0REFPKCdOb3RpZmljYXRpb25EQU8nKTsKKwkJJG5vdGlmaWNh
dGlvbkRhby0+c2VuZFRvTWFpbGluZ0xpc3QoTm90aWZpY2F0aW9uOjpjcmVhdGVOb3RpZmljYXRp
b24oMCwgIm5vdGlmaWNhdGlvbi50eXBlLm5ld0Fubm91bmNlbWVudCIsCisJCQkJbnVsbCwgJHVy
bCwgMSwgTk9USUZJQ0FUSU9OX1RZUEVfTkVXX0FOTk9VTkNFTUVOVCkpOwogCX0KIH0KIApJbmRl
eDogY2xhc3Nlcy9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9uLmluYy5waHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpS
Q1MgZmlsZTogY2xhc3Nlcy9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9uLmluYy5waHAKZGlmZiAt
TiBjbGFzc2VzL25vdGlmaWNhdGlvbi9Ob3RpZmljYXRpb24uaW5jLnBocAotLS0gL2Rldi9udWxs
CTEgSmFuIDE5NzAgMDA6MDA6MDAgLTAwMDAKKysrIGNsYXNzZXMvbm90aWZpY2F0aW9uL05vdGlm
aWNhdGlvbi5pbmMucGhwCTI4IEphbiAyMDA5IDE5OjI0OjI1IC0wMDAwCkBAIC0wLDAgKzEsMTM3
IEBACis8P3BocAorCisvKioKKyAqIEBmaWxlIGNsYXNzZXMvbm90aWZpY2F0aW9uL05vdGlmaWNh
dGlvbi5pbmMucGhwCisgKgorICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMDggSm9obiBXaWxsaW5z
a3kKKyAqIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR1BMIHYyLiBGb3IgZnVsbCB0ZXJtcyBz
ZWUgdGhlIGZpbGUgZG9jcy9DT1BZSU5HLgorICoKKyAqIEBjbGFzcyBPSlNOb3RpZmljYXRpb24K
KyAqIEBpbmdyb3VwIG5vdGlmaWNhdGlvbgorICogQHNlZSBOb3RpZmljYXRpb25EQU8KKyAqIEBi
cmllZiBPSlMgc3ViY2xhc3MgZm9yIE5vdGlmaWNhdGlvbnMgKGRlZmluZXMgT0pTLXNwZWNpZmlj
IHR5cGVzIGFuZCBpY29ucykuCisgKi8KKworLy8gJElkOiBOb3RpZmljYXRpb24uaW5jLnBocCx2
IDEuMTAgMjAwOC8wNy8wMSAwMToxNjowOSBhc21lY2hlciBFeHAgJAorCisKKy8qKiBOb3RpZmlj
YXRpb24gYXNzb2NpYXRpdmUgdHlwZXMuICovCitkZWZpbmUoJ05PVElGSUNBVElPTl9UWVBFX0FS
VElDTEVfU1VCTUlUVEVEJywgCQkweDEwMDAwMDEpOworZGVmaW5lKCdOT1RJRklDQVRJT05fVFlQ
RV9NRVRBREFUQV9NT0RJRklFRCcsIAkJMHgxMDAwMDAyKTsKK2RlZmluZSgnTk9USUZJQ0FUSU9O
X1RZUEVfU1VQUF9GSUxFX0FEREVEJywgCQkJMHgxMDAwMDAzKTsKK2RlZmluZSgnTk9USUZJQ0FU
SU9OX1RZUEVfU1VQUF9GSUxFX01PRElGSUVEJywgCQkweDEwMDAwMDQpOworZGVmaW5lKCdOT1RJ
RklDQVRJT05fVFlQRV9HQUxMRVlfQURERUQnLCAJCQkJMHgxMDAwMDA1KTsKK2RlZmluZSgnTk9U
SUZJQ0FUSU9OX1RZUEVfR0FMTEVZX01PRElGSUVEJywgCQkJMHgxMDAwMDA2KTsKK2RlZmluZSgn
Tk9USUZJQ0FUSU9OX1RZUEVfU1VCTUlTU0lPTl9DT01NRU5UJywgCQkweDEwMDAwMDcpOworZGVm
aW5lKCdOT1RJRklDQVRJT05fVFlQRV9MQVlPVVRfQ09NTUVOVCcsIAkJCTB4MTAwMDAwOCk7Citk
ZWZpbmUoJ05PVElGSUNBVElPTl9UWVBFX0NPUFlFRElUX0NPTU1FTlQnLCAJCQkweDEwMDAwMDkp
OworZGVmaW5lKCdOT1RJRklDQVRJT05fVFlQRV9QUk9PRlJFQURfQ09NTUVOVCcsIAkJMHgxMDAw
MDEwKTsKK2RlZmluZSgnTk9USUZJQ0FUSU9OX1RZUEVfUkVWSUVXRVJfQ09NTUVOVCcsIAkJCTB4
MTAwMDAxMSk7CitkZWZpbmUoJ05PVElGSUNBVElPTl9UWVBFX1JFVklFV0VSX0ZPUk1fQ09NTUVO
VCcsIAkweDEwMDAwMTIpOworZGVmaW5lKCdOT1RJRklDQVRJT05fVFlQRV9FRElUT1JfREVDSVNJ
T05fQ09NTUVOVCcsIAkweDEwMDAwMTMpOworZGVmaW5lKCdOT1RJRklDQVRJT05fVFlQRV9VU0VS
X0NPTU1FTlQnLCAJCQkJMHgxMDAwMDAxNCk7CitkZWZpbmUoJ05PVElGSUNBVElPTl9UWVBFX1BV
QkxJU0hFRF9JU1NVRScsIAkJCTB4MTAwMDAwMTUpOworZGVmaW5lKCdOT1RJRklDQVRJT05fVFlQ
RV9ORVdfQU5OT1VOQ0VNRU5UJywgCQkJMHgxMDAwMDAxNik7CisKK2ltcG9ydCgnbm90aWZpY2F0
aW9uLlBLUE5vdGlmaWNhdGlvbicpOworaW1wb3J0KCdub3RpZmljYXRpb24uTm90aWZpY2F0aW9u
REFPJyk7CisKK2NsYXNzIE5vdGlmaWNhdGlvbiBleHRlbmRzIFBLUE5vdGlmaWNhdGlvbiB7CisK
KwkvKioKKwkgKiBDb25zdHJ1Y3Rvci4KKwkgKi8KKwlmdW5jdGlvbiBOb3RpZmljYXRpb24oKSB7
CisJCXBhcmVudDo6UEtQTm90aWZpY2F0aW9uKCk7CisJfQorCQorCS8qKgorCSAqIHJldHVybiB0
aGUgcGF0aCB0byB0aGUgaWNvbiBmb3IgdGhpcyB0eXBlCisJICogQHJldHVybiBzdHJpbmcKKwkg
Ki8KKwlmdW5jdGlvbiBnZXRJY29uTG9jYXRpb24oKSB7CisJCSRiYXNlVXJsID0gUmVxdWVzdDo6
Z2V0QmFzZVVybCgpIC4gJy9saWIvcGtwL3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMvJzsKKwkJc3dp
dGNoICgkdGhpcy0+Z2V0QXNzb2NUeXBlKCkpIHsKKwkJCWNhc2UgTk9USUZJQ0FUSU9OX1RZUEVf
QVJUSUNMRV9TVUJNSVRURUQ6CisJCQljYXNlIE5PVElGSUNBVElPTl9UWVBFX0dBTExFWV9BRERF
RDoKKwkJCWNhc2UgTk9USUZJQ0FUSU9OX1RZUEVfU1VQUF9GSUxFX0FEREVEOgorCQkJCXJldHVy
biAkYmFzZVVybCAuICdwYWdlX25ldy5naWYnOworCQkJCWJyZWFrOworCQkJY2FzZSBOT1RJRklD
QVRJT05fVFlQRV9TVVBQX0ZJTEVfTU9ESUZJRUQ6CisJCQljYXNlIE5PVElGSUNBVElPTl9UWVBF
X1NVUFBfRklMRV9BRERFRDoKKwkJCQlyZXR1cm4gJGJhc2VVcmwgLiAncGFnZV9hdHRhY2htZW50
LmdpZic7CisJCQkJYnJlYWs7CisJCQkKKwkJCWNhc2UgTk9USUZJQ0FUSU9OX1RZUEVfTUVUQURB
VEFfTU9ESUZJRUQ6CisJCQljYXNlIE5PVElGSUNBVElPTl9UWVBFX0dBTExFWV9NT0RJRklFRDoK
KwkJCQlyZXR1cm4gJGJhc2VVcmwgLiAnZWRpdC5naWYnOworCQkJCWJyZWFrOworCQkJY2FzZSBO
T1RJRklDQVRJT05fVFlQRV9TVUJNSVNTSU9OX0NPTU1FTlQ6CisJCQljYXNlIE5PVElGSUNBVElP
Tl9UWVBFX0xBWU9VVF9DT01NRU5UOgorCQkJY2FzZSBOT1RJRklDQVRJT05fVFlQRV9DT1BZRURJ
VF9DT01NRU5UOgorCQkJY2FzZSBOT1RJRklDQVRJT05fVFlQRV9QUk9PRlJFQURfQ09NTUVOVDoK
KwkJCWNhc2UgTk9USUZJQ0FUSU9OX1RZUEVfUkVWSUVXRVJfQ09NTUVOVDoKKwkJCWNhc2UgTk9U
SUZJQ0FUSU9OX1RZUEVfUkVWSUVXRVJfRk9STV9DT01NRU5UOgorCQkJY2FzZSBOT1RJRklDQVRJ
T05fVFlQRV9FRElUT1JfREVDSVNJT05fQ09NTUVOVDoKKwkJCWNhc2UgTk9USUZJQ0FUSU9OX1RZ
UEVfVVNFUl9DT01NRU5UOgorCQkJCXJldHVybiAkYmFzZVVybCAuICdjb21tZW50X25ldy5naWYn
OworCQkJCWJyZWFrOworCQkJY2FzZSBOT1RJRklDQVRJT05fVFlQRV9QVUJMSVNIRURfSVNTVUU6
CisJCQkJcmV0dXJuICRiYXNlVXJsIC4gJ2xpc3Rfd29ybGQuZ2lmJzsKKwkJCQlicmVhazsKKwkJ
CWNhc2UgTk9USUZJQ0FUSU9OX1RZUEVfTkVXX0FOTk9VTkNFTUVOVDoKKwkJCQlyZXR1cm4gJGJh
c2VVcmwgLiAnbm90ZV9uZXcuZ2lmJzsKKwkJCQlicmVhazsKKwkJCWRlZmF1bHQ6CisJCQkJcmV0
dXJuICRiYXNlVXJsIC4gJ3BhZ2VfYWxlcnQuZ2lmJzsKKwkJfQorCX0KKwkKKwkvKioKKwkgKiBT
dGF0aWMgZnVuY3Rpb24gdG8gc2VuZCBhbiBlbWFpbCB0byBhIG1haWxpbmcgbGlzdCB1c2VyIHJl
Z2FyZGluZyBzaWdudXAgb3IgYSBsb3N0IHBhc3N3b3JkCisJICogQHBhcmFtICRlbWFpbCBzdHJp
bmcKKwkgKiBAcGFyYW0gJHBhc3N3b3JkIHN0cmluZyB0aGUgdXNlcidzIHBhc3N3b3JkCisJICog
QHBhcmFtICR0ZW1wbGF0ZSBzdHJpbmcgVGhlIG1haWwgdGVtcGxhdGUgdG8gdXNlCisJICovCisJ
ZnVuY3Rpb24gc2VuZE1haWxpbmdMaXN0RW1haWwoJGVtYWlsLCAkcGFzc3dvcmQsICR0ZW1wbGF0
ZSkgeworCQlpbXBvcnQoJ21haWwuTWFpbFRlbXBsYXRlJyk7CisJCSRqb3VybmFsID0gUmVxdWVz
dDo6Z2V0Sm91cm5hbCgpOworCQkkc2l0ZSA9IFJlcXVlc3Q6OmdldFNpdGUoKTsKKwkJCisJCSRw
YXJhbXMgPSBhcnJheSgKKwkJCSdwYXNzd29yZCcgPT4gJHBhc3N3b3JkLAorCQkJJ3NpdGVUaXRs
ZScgPT4gJGpvdXJuYWwtPmdldEpvdXJuYWxUaXRsZSgpLAorCQkJJ3Vuc3Vic2NyaWJlTGluaycg
PT4gUmVxdWVzdDo6dXJsKG51bGwsICdub3RpZmljYXRpb24nLCAndW5zdWJzY3JpYmVNYWlsTGlz
dCcpCisJCSk7CisJCQorCQlpZiAoJHRlbXBsYXRlID09ICdOT1RJRklDQVRJT05fTUFJTExJU1Rf
V0VMQ09NRScpIHsKKwkJCSRrZXlIYXNoID0gbWQ1KCRwYXNzd29yZCk7CisJCQkkY29uZmlybUxp
bmsgPSBSZXF1ZXN0Ojp1cmwobnVsbCwgJ25vdGlmaWNhdGlvbicsICdjb25maXJtTWFpbExpc3RT
dWJzY3JpcHRpb24nLCBhcnJheSgka2V5SGFzaCwgJGVtYWlsKSk7CisJCQkkcGFyYW1zWyJjb25m
aXJtTGluayJdID0gJGNvbmZpcm1MaW5rOworCQl9CisJCQorCQkkbWFpbCA9IG5ldyBNYWlsVGVt
cGxhdGUoJHRlbXBsYXRlKTsKKwkJJG1haWwtPnNldEZyb20oJHNpdGUtPmdldFNpdGVDb250YWN0
RW1haWwoKSwgJHNpdGUtPmdldFNpdGVDb250YWN0TmFtZSgpKTsKKwkJJG1haWwtPmFzc2lnblBh
cmFtcygkcGFyYW1zKTsKKwkJJG1haWwtPmFkZFJlY2lwaWVudCgkZW1haWwpOworCQkkbWFpbC0+
c2VuZCgpOworCX0KKwkKKwkvKioKKwkgKiBSZXR1cm5zIGFuIGFycmF5IG9mIGluZm9ybWF0aW9u
IG9uIHRoZSBqb3VybmFsJ3Mgc3Vic2NyaXB0aW9uIHNldHRpbmdzCisJICogQHJldHVybiBhcnJh
eQorCSAqLworCWZ1bmN0aW9uIGdldFN1YnNjcmlwdGlvblNldHRpbmdzKCkgeworCQkkam91cm5h
bCA9IFJlcXVlc3Q6OmdldEpvdXJuYWwoKTsKKwkJaW1wb3J0KCdwYXltZW50Lm9qcy5PSlNQYXlt
ZW50TWFuYWdlcicpOworCQkkcGF5bWVudE1hbmFnZXIgPSYgT0pTUGF5bWVudE1hbmFnZXI6Omdl
dE1hbmFnZXIoKTsKKwkJCisJCSRzZXR0aW5ncyA9IGFycmF5KCdzdWJzY3JpcHRpb25zRW5hYmxl
ZCcgPT4gJHBheW1lbnRNYW5hZ2VyLT5hY2NlcHRTdWJzY3JpcHRpb25QYXltZW50cygpLAorCQkJ
CSdhbGxvd1JlZ1Jldmlld2VyJyA9PiAkam91cm5hbC0+Z2V0U2V0dGluZygnYWxsb3dSZWdSZXZp
ZXdlcicpLAorCQkJCSdhbGxvd1JlZ0F1dGhvcicgPT4gJGpvdXJuYWwtPmdldFNldHRpbmcoJ2Fs
bG93UmVnQXV0aG9yJykpOworCQkKKwkJcmV0dXJuICRzZXR0aW5nczsKKwl9CisgfQorCis/PgpJ
bmRleDogY2xhc3Nlcy9ub3RpZmljYXRpb24vZm9ybS9Ob3RpZmljYXRpb25TZXR0aW5nc0Zvcm0u
aW5jLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiBjbGFzc2VzL25vdGlmaWNhdGlvbi9mb3JtL05v
dGlmaWNhdGlvblNldHRpbmdzRm9ybS5pbmMucGhwCmRpZmYgLU4gY2xhc3Nlcy9ub3RpZmljYXRp
b24vZm9ybS9Ob3RpZmljYXRpb25TZXR0aW5nc0Zvcm0uaW5jLnBocAotLS0gL2Rldi9udWxsCTEg
SmFuIDE5NzAgMDA6MDA6MDAgLTAwMDAKKysrIGNsYXNzZXMvbm90aWZpY2F0aW9uL2Zvcm0vTm90
aWZpY2F0aW9uU2V0dGluZ3NGb3JtLmluYy5waHAJMjggSmFuIDIwMDkgMTk6MjQ6MjUgLTAwMDAK
QEAgLTAsMCArMSwxNTIgQEAKKzw/cGhwCisvKioKKyAqIEBkZWZncm91cCBub3RpZmljYXRpb25f
Zm9ybQorICovCisKKy8qKgorICogQGZpbGUgY2xhc3Nlcy9ub3RpZmljYXRpb24vZm9ybS9Ob3Rp
ZmljYXRpb25TZXR0aW5nc0Zvcm0uaW5jLnBocAorICoKKyAqIENvcHlyaWdodCAoYykgMjAwMC0y
MDA4IEpvaG4gV2lsbGluc2t5CisgKiBEaXN0cmlidXRlZCB1bmRlciB0aGUgR05VIEdQTCB2Mi4g
Rm9yIGZ1bGwgdGVybXMgc2VlIHRoZSBmaWxlIGRvY3MvQ09QWUlORy4KKyAqCisgKiBAY2xhc3Mg
Tm90aWZpY2F0aW9uU2V0dGluZ3NGb3JtCisgKiBAaW5ncm91cCBub3RpZmljYXRpb25fZm9ybQor
ICoKKyAqIEBicmllZiBGb3JtIHRvIGVkaXQgbm90aWZpY2F0aW9uIHNldHRpbmdzLgorICovCisK
Ky8vICRJZDogTm90aWZpY2F0aW9uU2V0dGluZ3NGb3JtLmluYy5waHAsdiAxLjUgMjAwOC8xMS8w
NSAwMDo0NToxMyBtY3JpZGVyIEV4cCAkCisKKworaW1wb3J0KCdub3RpZmljYXRpb24uZm9ybS5Q
S1BOb3RpZmljYXRpb25TZXR0aW5nc0Zvcm0nKTsKKworY2xhc3MgTm90aWZpY2F0aW9uU2V0dGlu
Z3NGb3JtIGV4dGVuZHMgUEtQTm90aWZpY2F0aW9uU2V0dGluZ3NGb3JtIHsKKwkvKioKKwkgKiBD
b25zdHJ1Y3Rvci4KKwkgKi8KKwlmdW5jdGlvbiBOb3RpZmljYXRpb25TZXR0aW5nc0Zvcm0oKSB7
CisJCXBhcmVudDo6UEtQTm90aWZpY2F0aW9uU2V0dGluZ3NGb3JtKCk7CisJfQorCisJLyoqCisJ
ICogQXNzaWduIGZvcm0gZGF0YSB0byB1c2VyLXN1Ym1pdHRlZCBkYXRhLgorCSAqLworCWZ1bmN0
aW9uIHJlYWRJbnB1dERhdGEoKSB7CisJCSR0aGlzLT5yZWFkVXNlclZhcnMoCisJCQlhcnJheSgn
bm90aWZpY2F0aW9uQXJ0aWNsZVN1Ym1pdHRlZCcsCisJCQkJJ25vdGlmaWNhdGlvbk1ldGFkYXRh
TW9kaWZpZWQnLAorCQkJCSdub3RpZmljYXRpb25TdXBwRmlsZUFkZGVkJywKKwkJCQknbm90aWZp
Y2F0aW9uU3VwcEZpbGVNb2RpZmllZCcsCisJCQkJJ25vdGlmaWNhdGlvbkdhbGxleUFkZGVkJywK
KwkJCQknbm90aWZpY2F0aW9uR2FsbGV5TW9kaWZpZWQnLAorCQkJCSdub3RpZmljYXRpb25TdWJt
aXNzaW9uQ29tbWVudCcsCisJCQkJJ25vdGlmaWNhdGlvbkxheW91dENvbW1lbnQnLAorCQkJCSdu
b3RpZmljYXRpb25Db3B5ZWRpdENvbW1lbnQnLAorCQkJCSdub3RpZmljYXRpb25Qcm9vZnJlYWRD
b21tZW50JywKKwkJCQknbm90aWZpY2F0aW9uUmV2aWV3ZXJDb21tZW50JywKKwkJCQknbm90aWZp
Y2F0aW9uUmV2aWV3ZXJGb3JtQ29tbWVudCcsCisJCQkJJ25vdGlmaWNhdGlvbkVkaXRvckRlY2lz
aW9uQ29tbWVudCcsCisJCQkJJ25vdGlmaWNhdGlvblB1Ymxpc2hlZElzc3VlJywKKwkJCQknbm90
aWZpY2F0aW9uVXNlckNvbW1lbnQnLAorCQkJCSdub3RpZmljYXRpb25OZXdBbm5vdW5jZW1lbnQn
LAorCQkJCSdlbWFpbE5vdGlmaWNhdGlvbkFydGljbGVTdWJtaXR0ZWQnLAorCQkJCSdlbWFpbE5v
dGlmaWNhdGlvbk1ldGFkYXRhTW9kaWZpZWQnLAorCQkJCSdlbWFpbE5vdGlmaWNhdGlvblN1cHBG
aWxlQWRkZWQnLAorCQkJCSdlbWFpbE5vdGlmaWNhdGlvblN1cHBGaWxlTW9kaWZpZWQnLAorCQkJ
CSdlbWFpbE5vdGlmaWNhdGlvbkdhbGxleUFkZGVkJywKKwkJCQknZW1haWxOb3RpZmljYXRpb25H
YWxsZXlNb2RpZmllZCcsCisJCQkJJ2VtYWlsTm90aWZpY2F0aW9uU3VibWlzc2lvbkNvbW1lbnQn
LAorCQkJCSdlbWFpbE5vdGlmaWNhdGlvbkxheW91dENvbW1lbnQnLAorCQkJCSdlbWFpbE5vdGlm
aWNhdGlvbkNvcHllZGl0Q29tbWVudCcsCisJCQkJJ2VtYWlsTm90aWZpY2F0aW9uUHJvb2ZyZWFk
Q29tbWVudCcsCisJCQkJJ2VtYWlsTm90aWZpY2F0aW9uUmV2aWV3ZXJDb21tZW50JywKKwkJCQkn
ZW1haWxOb3RpZmljYXRpb25SZXZpZXdlckZvcm1Db21tZW50JywKKwkJCQknZW1haWxOb3RpZmlj
YXRpb25FZGl0b3JEZWNpc2lvbkNvbW1lbnQnLCAKKwkJCQknZW1haWxOb3RpZmljYXRpb25QdWJs
aXNoZWRJc3N1ZScsCisJCQkJJ2VtYWlsTm90aWZpY2F0aW9uVXNlckNvbW1lbnQnLAorCQkJCSdl
bWFpbE5vdGlmaWNhdGlvbk5ld0Fubm91bmNlbWVudCcpCisJCSk7CisJfQorCQorCS8qKgorCSAq
IERpc3BsYXkgdGhlIGZvcm0uCisJICovCisJZnVuY3Rpb24gZGlzcGxheSgpIHsKKwkJJGpvdXJu
YWxEYW8gPSAmREFPUmVnaXN0cnk6OmdldERBTygnSm91cm5hbERBTycpOworCQkkam91cm5hbHMg
PSAmJGpvdXJuYWxEYW8tPmdldEpvdXJuYWxUaXRsZXMoKTsKKwkJCisJCSRjYW5Pbmx5UmVhZCA9
IHRydWU7CisJCSRjYW5Pbmx5UmV2aWV3ID0gZmFsc2U7CisJCQorCQlpZiAoVmFsaWRhdGlvbjo6
aXNSZXZpZXdlcigpKSB7CisJCQkkY2FuT25seVJlYWQgPSBmYWxzZTsKKwkJCSRjYW5Pbmx5UmV2
aWV3ID0gdHJ1ZTsKKwkJfQorCQlpZiAoVmFsaWRhdGlvbjo6aXNTaXRlQWRtaW4oKSB8fCBWYWxp
ZGF0aW9uOjppc0pvdXJuYWxNYW5hZ2VyKCkgfHwgVmFsaWRhdGlvbjo6aXNFZGl0b3IoKSB8fCAK
KwkJCVZhbGlkYXRpb246OmlzU2VjdGlvbkVkaXRvcigpIHx8IFZhbGlkYXRpb246OmlzTGF5b3V0
RWRpdG9yKCkgfHwgVmFsaWRhdGlvbjo6aXNDb3B5ZWRpdG9yKCkgfHwgVmFsaWRhdGlvbjo6aXNQ
cm9vZnJlYWRlcigpKSB7CisJCQkkY2FuT25seVJlYWQgPSBmYWxzZTsKKwkJCSRjYW5Pbmx5UmV2
aWV3ID0gZmFsc2U7CisJCX0KKworCQkkdGVtcGxhdGVNZ3IgPSAmVGVtcGxhdGVNYW5hZ2VyOjpn
ZXRNYW5hZ2VyKCk7CisJCSR0ZW1wbGF0ZU1nci0+YXNzaWduKCdjYW5Pbmx5UmVhZCcsICRjYW5P
bmx5UmVhZCk7CisJCSR0ZW1wbGF0ZU1nci0+YXNzaWduKCdjYW5Pbmx5UmV2aWV3JywgJGNhbk9u
bHlSZXZpZXcpOworCQlyZXR1cm4gcGFyZW50OjpkaXNwbGF5KCk7CisJfQorCisJLyoqCisJICog
U2F2ZSBzaXRlIHNldHRpbmdzLgorCSAqLworCWZ1bmN0aW9uIGV4ZWN1dGUoKSB7CQkKKwkJJHVz
ZXIgPSBSZXF1ZXN0OjpnZXRVc2VyKCk7CisJCSR1c2VySWQgPSAkdXNlci0+Z2V0VXNlcklkKCk7
CisJCQorCQkvLyBOb3RpZmljYXRpb24gc2V0dGluZ3MKKwkJJHNldHRpbmdzID0gYXJyYXkoKTsK
KwkJaWYoISR0aGlzLT5nZXREYXRhKCdub3RpZmljYXRpb25BcnRpY2xlU3VibWl0dGVkJykpICRz
ZXR0aW5nc1tdID0gTk9USUZJQ0FUSU9OX1RZUEVfQVJUSUNMRV9TVUJNSVRURUQ7CisJCWlmKCEk
dGhpcy0+Z2V0RGF0YSgnbm90aWZpY2F0aW9uTWV0YWRhdGFNb2RpZmllZCcpKSAkc2V0dGluZ3Nb
XSA9IE5PVElGSUNBVElPTl9UWVBFX01FVEFEQVRBX01PRElGSUVEOworCQlpZighJHRoaXMtPmdl
dERhdGEoJ25vdGlmaWNhdGlvblN1cHBGaWxlQWRkZWQnKSkgJHNldHRpbmdzW10gPSBOT1RJRklD
QVRJT05fVFlQRV9TVVBQX0ZJTEVfQURERUQ7CisJCWlmKCEkdGhpcy0+Z2V0RGF0YSgnbm90aWZp
Y2F0aW9uU3VwcEZpbGVNb2RpZmllZCcpKSAkc2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9UWVBF
X1NVUFBfRklMRV9NT0RJRklFRDsKKwkJaWYoISR0aGlzLT5nZXREYXRhKCdub3RpZmljYXRpb25H
YWxsZXlBZGRlZCcpKSAkc2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9UWVBFX0dBTExFWV9BRERF
RDsKKwkJaWYoISR0aGlzLT5nZXREYXRhKCdub3RpZmljYXRpb25HYWxsZXlNb2RpZmllZCcpKSAk
c2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9UWVBFX0dBTExFWV9NT0RJRklFRDsKKwkJaWYoISR0
aGlzLT5nZXREYXRhKCdub3RpZmljYXRpb25TdWJtaXNzaW9uQ29tbWVudCcpKSAkc2V0dGluZ3Nb
XSA9IE5PVElGSUNBVElPTl9UWVBFX1NVQk1JU1NJT05fQ09NTUVOVDsKKwkJaWYoISR0aGlzLT5n
ZXREYXRhKCdub3RpZmljYXRpb25MYXlvdXRDb21tZW50JykpICRzZXR0aW5nc1tdID0gTk9USUZJ
Q0FUSU9OX1RZUEVfTEFZT1VUX0NPTU1FTlQ7CisJCWlmKCEkdGhpcy0+Z2V0RGF0YSgnbm90aWZp
Y2F0aW9uQ29weWVkaXRDb21tZW50JykpICRzZXR0aW5nc1tdID0gTk9USUZJQ0FUSU9OX1RZUEVf
Q09QWUVESVRfQ09NTUVOVDsKKwkJaWYoISR0aGlzLT5nZXREYXRhKCdub3RpZmljYXRpb25Qcm9v
ZnJlYWRDb21tZW50JykpICRzZXR0aW5nc1tdID0gTk9USUZJQ0FUSU9OX1RZUEVfUFJPT0ZSRUFE
X0NPTU1FTlQ7CisJCWlmKCEkdGhpcy0+Z2V0RGF0YSgnbm90aWZpY2F0aW9uUmV2aWV3ZXJDb21t
ZW50JykpICRzZXR0aW5nc1tdID0gTk9USUZJQ0FUSU9OX1RZUEVfUkVWSUVXRVJfQ09NTUVOVDsK
KwkJaWYoISR0aGlzLT5nZXREYXRhKCdub3RpZmljYXRpb25SZXZpZXdlckZvcm1Db21tZW50Jykp
ICRzZXR0aW5nc1tdID0gTk9USUZJQ0FUSU9OX1RZUEVfUkVWSUVXRVJfRk9STV9DT01NRU5UOwor
CQlpZighJHRoaXMtPmdldERhdGEoJ25vdGlmaWNhdGlvbkVkaXRvckRlY2lzaW9uQ29tbWVudCcp
KSAkc2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9UWVBFX0VESVRPUl9ERUNJU0lPTl9DT01NRU5U
OyAKKwkJaWYoISR0aGlzLT5nZXREYXRhKCdub3RpZmljYXRpb25QdWJsaXNoZWRJc3N1ZScpKSAk
c2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9UWVBFX1BVQkxJU0hFRF9JU1NVRTsKKwkJaWYoISR0
aGlzLT5nZXREYXRhKCdub3RpZmljYXRpb25Vc2VyQ29tbWVudCcpKSAkc2V0dGluZ3NbXSA9IE5P
VElGSUNBVElPTl9UWVBFX1VTRVJfQ09NTUVOVDsKKwkJaWYoISR0aGlzLT5nZXREYXRhKCdub3Rp
ZmljYXRpb25OZXdBbm5vdW5jZW1lbnQnKSkgJHNldHRpbmdzW10gPSBOT1RJRklDQVRJT05fVFlQ
RV9ORVdfQU5OT1VOQ0VNRU5UOworCQkKKwkJLy8gRW1haWwgc2V0dGluZ3MKKwkJJGVtYWlsU2V0
dGluZ3MgPSBhcnJheSgpOworCQlpZigkdGhpcy0+Z2V0RGF0YSgnZW1haWxOb3RpZmljYXRpb25B
cnRpY2xlU3VibWl0dGVkJykpICRlbWFpbFNldHRpbmdzW10gPSBOT1RJRklDQVRJT05fVFlQRV9B
UlRJQ0xFX1NVQk1JVFRFRDsKKwkJaWYoJHRoaXMtPmdldERhdGEoJ2VtYWlsTm90aWZpY2F0aW9u
TWV0YWRhdGFNb2RpZmllZCcpKSAkZW1haWxTZXR0aW5nc1tdID0gTk9USUZJQ0FUSU9OX1RZUEVf
TUVUQURBVEFfTU9ESUZJRUQ7CisJCWlmKCR0aGlzLT5nZXREYXRhKCdlbWFpbE5vdGlmaWNhdGlv
blN1cHBGaWxlQWRkZWQnKSkgJGVtYWlsU2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9UWVBFX1NV
UFBfRklMRV9BRERFRDsKKwkJaWYoJHRoaXMtPmdldERhdGEoJ2VtYWlsTm90aWZpY2F0aW9uU3Vw
cEZpbGVNb2RpZmllZCcpKSAkZW1haWxTZXR0aW5nc1tdID0gTk9USUZJQ0FUSU9OX1RZUEVfU1VQ
UF9GSUxFX01PRElGSUVEOworCQlpZigkdGhpcy0+Z2V0RGF0YSgnZW1haWxOb3RpZmljYXRpb25H
YWxsZXlBZGRlZCcpKSAkZW1haWxTZXR0aW5nc1tdID0gTk9USUZJQ0FUSU9OX1RZUEVfR0FMTEVZ
X0FEREVEOworCQlpZigkdGhpcy0+Z2V0RGF0YSgnZW1haWxOb3RpZmljYXRpb25HYWxsZXlNb2Rp
ZmllZCcpKSAkZW1haWxTZXR0aW5nc1tdID0gTk9USUZJQ0FUSU9OX1RZUEVfR0FMTEVZX01PRElG
SUVEOworCQlpZigkdGhpcy0+Z2V0RGF0YSgnZW1haWxOb3RpZmljYXRpb25TdWJtaXNzaW9uQ29t
bWVudCcpKSAkZW1haWxTZXR0aW5nc1tdID0gTk9USUZJQ0FUSU9OX1RZUEVfU1VCTUlTU0lPTl9D
T01NRU5UOworCQlpZigkdGhpcy0+Z2V0RGF0YSgnZW1haWxOb3RpZmljYXRpb25MYXlvdXRDb21t
ZW50JykpICRlbWFpbFNldHRpbmdzW10gPSBOT1RJRklDQVRJT05fVFlQRV9MQVlPVVRfQ09NTUVO
VDsKKwkJaWYoJHRoaXMtPmdldERhdGEoJ2VtYWlsTm90aWZpY2F0aW9uQ29weWVkaXRDb21tZW50
JykpICRlbWFpbFNldHRpbmdzW10gPSBOT1RJRklDQVRJT05fVFlQRV9DT1BZRURJVF9DT01NRU5U
OworCQlpZigkdGhpcy0+Z2V0RGF0YSgnZW1haWxOb3RpZmljYXRpb25Qcm9vZnJlYWRDb21tZW50
JykpICRlbWFpbFNldHRpbmdzW10gPSBOT1RJRklDQVRJT05fVFlQRV9QUk9PRlJFQURfQ09NTUVO
VDsKKwkJaWYoJHRoaXMtPmdldERhdGEoJ2VtYWlsTm90aWZpY2F0aW9uUmV2aWV3ZXJDb21tZW50
JykpICRlbWFpbFNldHRpbmdzW10gPSBOT1RJRklDQVRJT05fVFlQRV9SRVZJRVdFUl9DT01NRU5U
OworCQlpZigkdGhpcy0+Z2V0RGF0YSgnZW1haWxOb3RpZmljYXRpb25SZXZpZXdlckZvcm1Db21t
ZW50JykpICRlbWFpbFNldHRpbmdzW10gPSBOT1RJRklDQVRJT05fVFlQRV9SRVZJRVdFUl9GT1JN
X0NPTU1FTlQ7CisJCWlmKCR0aGlzLT5nZXREYXRhKCdlbWFpbE5vdGlmaWNhdGlvbkVkaXRvckRl
Y2lzaW9uQ29tbWVudCcpKSAkZW1haWxTZXR0aW5nc1tdID0gTk9USUZJQ0FUSU9OX1RZUEVfRURJ
VE9SX0RFQ0lTSU9OX0NPTU1FTlQ7IAorCQlpZigkdGhpcy0+Z2V0RGF0YSgnZW1haWxOb3RpZmlj
YXRpb25QdWJsaXNoZWRJc3N1ZScpKSAkZW1haWxTZXR0aW5nc1tdID0gTk9USUZJQ0FUSU9OX1RZ
UEVfUFVCTElTSEVEX0lTU1VFOworCQlpZigkdGhpcy0+Z2V0RGF0YSgnZW1haWxOb3RpZmljYXRp
b25Vc2VyQ29tbWVudCcpKSAkZW1haWxTZXR0aW5nc1tdID0gTk9USUZJQ0FUSU9OX1RZUEVfVVNF
Ul9DT01NRU5UOworCQlpZigkdGhpcy0+Z2V0RGF0YSgnZW1haWxOb3RpZmljYXRpb25OZXdBbm5v
dW5jZW1lbnQnKSkgJGVtYWlsU2V0dGluZ3NbXSA9IE5PVElGSUNBVElPTl9UWVBFX05FV19BTk5P
VU5DRU1FTlQ7CisJCQorCQkkbm90aWZpY2F0aW9uU2V0dGluZ3NEYW8gPSYgREFPUmVnaXN0cnk6
OmdldERBTygnTm90aWZpY2F0aW9uU2V0dGluZ3NEQU8nKTsKKwkJJG5vdGlmaWNhdGlvblNldHRp
bmdzRGFvLT51cGRhdGVOb3RpZmljYXRpb25TZXR0aW5ncygkc2V0dGluZ3MsICR1c2VySWQpOwor
CQkkbm90aWZpY2F0aW9uU2V0dGluZ3NEYW8tPnVwZGF0ZU5vdGlmaWNhdGlvbkVtYWlsU2V0dGlu
Z3MoJGVtYWlsU2V0dGluZ3MsICR1c2VySWQpOworCQkKKwkJcmV0dXJuIHRydWU7CisJfQorCisK
K30KKworPz4KSW5kZXg6IGNsYXNzZXMvc2l0ZS9JbXBvcnRPSlMxLmluYy5waHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQpSQ1MgZmlsZTogL2N2cy9vanMyL2NsYXNzZXMvc2l0ZS9JbXBvcnRPSlMxLmluYy5waHAsdgpy
ZXRyaWV2aW5nIHJldmlzaW9uIDEuNTkKZGlmZiAtdSAtcjEuNTkgSW1wb3J0T0pTMS5pbmMucGhw
Ci0tLSBjbGFzc2VzL3NpdGUvSW1wb3J0T0pTMS5pbmMucGhwCTIgRGVjIDIwMDggMjI6Mzk6NDIg
LTAwMDAJMS41OQorKysgY2xhc3Nlcy9zaXRlL0ltcG9ydE9KUzEuaW5jLnBocAkyOCBKYW4gMjAw
OSAxOToyNDoyNiAtMDAwMApAQCAtNTU1LDcgKzU1NSw2IEBACiAKIAkJJHVzZXJEYW8gPSAmREFP
UmVnaXN0cnk6OmdldERBTygnVXNlckRBTycpOwogCQkkcm9sZURhbyA9ICZEQU9SZWdpc3RyeTo6
Z2V0REFPKCdSb2xlREFPJyk7Ci0JCSRub3RpZnlEYW8gPSAmREFPUmVnaXN0cnk6OmdldERBTygn
Tm90aWZpY2F0aW9uU3RhdHVzREFPJyk7CiAKIAkJJHJlc3VsdCA9ICYkdGhpcy0+aW1wb3J0RGFv
LT5yZXRyaWV2ZSgnU0VMRUNUICosIERFQ09ERShjaFBhc3N3b3JkLCA/KSBBUyBjaFBhc3N3b3Jk
IEZST00gdGJsdXNlcnMgT1JERVIgQlkgblVzZXJJRCcsICR0aGlzLT5qb3VybmFsQ29uZmlnSW5m
b1snY2hQYXNzd29yZFNhbHQnXSk7CiAJCXdoaWxlICghJHJlc3VsdC0+RU9GKSB7CkBAIC02MjUs
MTQgKzYyNCw2IEBACiAJCQl9CiAJCQkkdXNlcklkID0gJHVzZXItPmdldFVzZXJJZCgpOwogCi0J
CQlpZiAoJHJvd1snYk5vdGlmeSddKSB7Ci0JCQkJaWYgKCRleGlzdGluZ1VzZXIpIHsKLQkJCQkJ
Ly8gSnVzdCBpbiBjYXNlCi0JCQkJCSRub3RpZnlEYW8tPnNldEpvdXJuYWxOb3RpZmljYXRpb25z
KCR0aGlzLT5qb3VybmFsSWQsICR1c2VySWQsIDApOwotCQkJCX0KLQkJCQkkbm90aWZ5RGFvLT5z
ZXRKb3VybmFsTm90aWZpY2F0aW9ucygkdGhpcy0+am91cm5hbElkLCAkdXNlcklkLCAxKTsKLQkJ
CX0KLQogCQkJaWYgKCRyb3dbJ2ZrRWRpdG9ySUQnXSkgewogCQkJCSRyb2xlID0gbmV3IFJvbGUo
KTsKIAkJCQkkcm9sZS0+c2V0Sm91cm5hbElkKCR0aGlzLT5qb3VybmFsSWQpOwpJbmRleDogY2xh
c3Nlcy9zdWJtaXNzaW9uL2F1dGhvci9BdXRob3JBY3Rpb24uaW5jLnBocAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD
UyBmaWxlOiAvY3ZzL29qczIvY2xhc3Nlcy9zdWJtaXNzaW9uL2F1dGhvci9BdXRob3JBY3Rpb24u
aW5jLnBocCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS43MApkaWZmIC11IC1yMS43MCBBdXRob3JB
Y3Rpb24uaW5jLnBocAotLS0gY2xhc3Nlcy9zdWJtaXNzaW9uL2F1dGhvci9BdXRob3JBY3Rpb24u
aW5jLnBocAkxMCBEZWMgMjAwOCAyMzozNzoyNyAtMDAwMAkxLjcwCisrKyBjbGFzc2VzL3N1Ym1p
c3Npb24vYXV0aG9yL0F1dGhvckFjdGlvbi5pbmMucGhwCTI4IEphbiAyMDA5IDE5OjI0OjI2IC0w
MDAwCkBAIC0yNzcsNiArMjc3LDE1IEBACiAJCQlpZiAoJGNvbW1lbnRGb3JtLT52YWxpZGF0ZSgp
KSB7CiAJCQkJJGNvbW1lbnRGb3JtLT5leGVjdXRlKCk7CiAKKwkJCQkvLyBTZW5kIGEgbm90aWZp
Y2F0aW9uIHRvIGFzc29jaWF0ZWQgdXNlcnMKKwkJCQlpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3Rp
ZmljYXRpb24nKTsKKwkJCQkkbm90aWZpY2F0aW9uVXNlcnMgPSAkYXJ0aWNsZS0+Z2V0QXNzb2Np
YXRlZFVzZXJJZHModHJ1ZSwgZmFsc2UpOworCQkJCWZvcmVhY2ggKCRub3RpZmljYXRpb25Vc2Vy
cyBhcyAkdXNlcikgeworCQkJCQkkdXJsID0gUmVxdWVzdDo6dXJsKG51bGwsICR1c2VyWydyb2xl
J10sICdzdWJtaXNzaW9uRWRpdGluZycsICRhcnRpY2xlLT5nZXRBcnRpY2xlSWQoKSwgbnVsbCwg
J2xheW91dCcpOworCQkJCQlOb3RpZmljYXRpb246OmNyZWF0ZU5vdGlmaWNhdGlvbigkdXNlclsn
aWQnXSwgIm5vdGlmaWNhdGlvbi50eXBlLmxheW91dENvbW1lbnQiLAorCQkJCQkJJGFydGljbGUt
PmdldEFydGljbGVUaXRsZSgpLCAkdXJsLCAxLCBOT1RJRklDQVRJT05fVFlQRV9MQVlPVVRfQ09N
TUVOVCk7CisJCQkJfQorCQkJCQogCQkJCWlmICgkZW1haWxDb21tZW50KSB7CiAJCQkJCSRjb21t
ZW50Rm9ybS0+ZW1haWwoKTsKIAkJCQl9CkBAIC0zODksNiArMzk4LDE1IEBACiAJCQlpZiAoJGNv
bW1lbnRGb3JtLT52YWxpZGF0ZSgpKSB7CiAJCQkJJGNvbW1lbnRGb3JtLT5leGVjdXRlKCk7CiAK
KwkJCQkvLyBTZW5kIGEgbm90aWZpY2F0aW9uIHRvIGFzc29jaWF0ZWQgdXNlcnMKKwkJCQlpbXBv
cnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmljYXRpb24nKTsKKwkJCQkkbm90aWZpY2F0aW9uVXNlcnMg
PSAkYXJ0aWNsZS0+Z2V0QXNzb2NpYXRlZFVzZXJJZHModHJ1ZSwgZmFsc2UpOworCQkJCWZvcmVh
Y2ggKCRub3RpZmljYXRpb25Vc2VycyBhcyAkdXNlcikgeworCQkJCQkkdXJsID0gUmVxdWVzdDo6
dXJsKG51bGwsICR1c2VyWydyb2xlJ10sICdzdWJtaXNzaW9uRWRpdGluZycsICRhcnRpY2xlLT5n
ZXRBcnRpY2xlSWQoKSwgbnVsbCwgJ2NvcHllZGl0Jyk7CisJCQkJCU5vdGlmaWNhdGlvbjo6Y3Jl
YXRlTm90aWZpY2F0aW9uKCR1c2VyWydpZCddLCAibm90aWZpY2F0aW9uLnR5cGUuY29weWVkaXRD
b21tZW50IiwKKwkJCQkJCSRhcnRpY2xlLT5nZXRBcnRpY2xlVGl0bGUoKSwgJHVybCwgMSwgTk9U
SUZJQ0FUSU9OX1RZUEVfQ09QWUVESVRfQ09NTUVOVCk7CisJCQkJfQorCQkJCQogCQkJCWlmICgk
ZW1haWxDb21tZW50KSB7CiAJCQkJCSRjb21tZW50Rm9ybS0+ZW1haWwoKTsKIAkJCQl9CkBAIC00
MzIsNiArNDUwLDE1IEBACiAJCQlpZiAoJGNvbW1lbnRGb3JtLT52YWxpZGF0ZSgpKSB7CiAJCQkJ
JGNvbW1lbnRGb3JtLT5leGVjdXRlKCk7CiAKKwkJCQkvLyBTZW5kIGEgbm90aWZpY2F0aW9uIHRv
IGFzc29jaWF0ZWQgdXNlcnMKKwkJCQlpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmljYXRpb24n
KTsKKwkJCQkkbm90aWZpY2F0aW9uVXNlcnMgPSAkYXJ0aWNsZS0+Z2V0QXNzb2NpYXRlZFVzZXJJ
ZHModHJ1ZSwgZmFsc2UpOworCQkJCWZvcmVhY2ggKCRub3RpZmljYXRpb25Vc2VycyBhcyAkdXNl
cikgeworCQkJCQkkdXJsID0gUmVxdWVzdDo6dXJsKG51bGwsICR1c2VyWydyb2xlJ10sICdzdWJt
aXNzaW9uRWRpdGluZycsICRhcnRpY2xlLT5nZXRBcnRpY2xlSWQoKSwgbnVsbCwgJ3Byb29mcmVh
ZCcpOworCQkJCQlOb3RpZmljYXRpb246OmNyZWF0ZU5vdGlmaWNhdGlvbigkdXNlclsnaWQnXSwg
Im5vdGlmaWNhdGlvbi50eXBlLnByb29mcmVhZENvbW1lbnQiLAorCQkJCQkJJGFydGljbGUtPmdl
dEFydGljbGVUaXRsZSgpLCAkdXJsLCAxLCBOT1RJRklDQVRJT05fVFlQRV9QUk9PRlJFQURfQ09N
TUVOVCk7CisJCQkJfQorCQkJCQogCQkJCWlmICgkZW1haWxDb21tZW50KSB7CiAJCQkJCSRjb21t
ZW50Rm9ybS0+ZW1haWwoKTsKIAkJCQl9CkluZGV4OiBjbGFzc2VzL3N1Ym1pc3Npb24vY29tbW9u
L0FjdGlvbi5pbmMucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvb2pzMi9jbGFzc2VzL3N1
Ym1pc3Npb24vY29tbW9uL0FjdGlvbi5pbmMucGhwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjM4
CmRpZmYgLXUgLXIxLjM4IEFjdGlvbi5pbmMucGhwCi0tLSBjbGFzc2VzL3N1Ym1pc3Npb24vY29t
bW9uL0FjdGlvbi5pbmMucGhwCTEwIERlYyAyMDA4IDIzOjM3OjI3IC0wMDAwCTEuMzgKKysrIGNs
YXNzZXMvc3VibWlzc2lvbi9jb21tb24vQWN0aW9uLmluYy5waHAJMjggSmFuIDIwMDkgMTk6MjQ6
MjYgLTAwMDAKQEAgLTE0OSw3ICsxNDksMTYgQEAKIAogCQkJfSBlbHNlIHsKIAkJCQkkbWV0YWRh
dGFGb3JtLT5leGVjdXRlKCk7Ci0KKwkJCQkKKwkJCQkvLyBTZW5kIGEgbm90aWZpY2F0aW9uIHRv
IGFzc29jaWF0ZWQgdXNlcnMKKwkJCQlpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmljYXRpb24n
KTsKKwkJCQkkbm90aWZpY2F0aW9uVXNlcnMgPSAkYXJ0aWNsZS0+Z2V0QXNzb2NpYXRlZFVzZXJJ
ZHMoKTsKKwkJCQlmb3JlYWNoICgkbm90aWZpY2F0aW9uVXNlcnMgYXMgJHVzZXIpIHsKKwkJCQkJ
JHVybCA9IFJlcXVlc3Q6OnVybChudWxsLCAkdXNlclsncm9sZSddLCAnc3VibWlzc2lvbicsICRh
cnRpY2xlLT5nZXRBcnRpY2xlSWQoKSwgbnVsbCwgJ21ldGFkYXRhJyk7CisJCQkJCU5vdGlmaWNh
dGlvbjo6Y3JlYXRlTm90aWZpY2F0aW9uKCR1c2VyWydpZCddLCAibm90aWZpY2F0aW9uLnR5cGUu
bWV0YWRhdGFNb2RpZmllZCIsCisJCQkJCQkkYXJ0aWNsZS0+Z2V0QXJ0aWNsZVRpdGxlKCksICR1
cmwsIDEsIE5PVElGSUNBVElPTl9UWVBFX01FVEFEQVRBX01PRElGSUVEKTsKKwkJCQl9CisJCQog
CQkJCS8vIEFkZCBsb2cgZW50cnkKIAkJCQkkdXNlciA9ICZSZXF1ZXN0OjpnZXRVc2VyKCk7CiAJ
CQkJaW1wb3J0KCdhcnRpY2xlLmxvZy5BcnRpY2xlTG9nJyk7CkBAIC0yNTcsNiArMjY2LDE1IEBA
CiAJCQlpZiAoJGNvbW1lbnRGb3JtLT52YWxpZGF0ZSgpKSB7CiAJCQkJJGNvbW1lbnRGb3JtLT5l
eGVjdXRlKCk7CiAKKwkJCQkvLyBTZW5kIGEgbm90aWZpY2F0aW9uIHRvIGFzc29jaWF0ZWQgdXNl
cnMKKwkJCQlpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmljYXRpb24nKTsKKwkJCQkkbm90aWZp
Y2F0aW9uVXNlcnMgPSAkYXJ0aWNsZS0+Z2V0QXNzb2NpYXRlZFVzZXJJZHModHJ1ZSwgZmFsc2Up
OworCQkJCWZvcmVhY2ggKCRub3RpZmljYXRpb25Vc2VycyBhcyAkdXNlcikgeworCQkJCQkkdXJs
ID0gUmVxdWVzdDo6dXJsKG51bGwsICR1c2VyWydyb2xlJ10sICdzdWJtaXNzaW9uUmV2aWV3Jywg
JGFydGljbGUtPmdldEFydGljbGVJZCgpLCBudWxsLCAnZWRpdG9yRGVjaXNpb24nKTsKKwkJCQkJ
Tm90aWZpY2F0aW9uOjpjcmVhdGVOb3RpZmljYXRpb24oJHVzZXJbJ2lkJ10sICJub3RpZmljYXRp
b24udHlwZS5zdWJtaXNzaW9uQ29tbWVudCIsCisJCQkJCQkkYXJ0aWNsZS0+Z2V0QXJ0aWNsZVRp
dGxlKCksICR1cmwsIDEsIE5PVElGSUNBVElPTl9UWVBFX1NVQk1JU1NJT05fQ09NTUVOVCk7CisJ
CQkJfQorCQkJCQogCQkJCWlmICgkZW1haWxDb21tZW50KSB7CiAJCQkJCSRjb21tZW50Rm9ybS0+
ZW1haWwoJGNvbW1lbnRGb3JtLT5lbWFpbEhlbHBlcigpKTsKIAkJCQl9CkluZGV4OiBjbGFzc2Vz
L3N1Ym1pc3Npb24vY29weWVkaXRvci9Db3B5ZWRpdG9yQWN0aW9uLmluYy5waHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQpSQ1MgZmlsZTogL2N2cy9vanMyL2NsYXNzZXMvc3VibWlzc2lvbi9jb3B5ZWRpdG9yL0NvcHll
ZGl0b3JBY3Rpb24uaW5jLnBocCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS41NQpkaWZmIC11IC1y
MS41NSBDb3B5ZWRpdG9yQWN0aW9uLmluYy5waHAKLS0tIGNsYXNzZXMvc3VibWlzc2lvbi9jb3B5
ZWRpdG9yL0NvcHllZGl0b3JBY3Rpb24uaW5jLnBocAkxMCBEZWMgMjAwOCAyMzozNzoyNyAtMDAw
MAkxLjU1CisrKyBjbGFzc2VzL3N1Ym1pc3Npb24vY29weWVkaXRvci9Db3B5ZWRpdG9yQWN0aW9u
LmluYy5waHAJMjggSmFuIDIwMDkgMTk6MjQ6MjYgLTAwMDAKQEAgLTI4Niw2ICsyODYsMTUgQEAK
IAkJCWlmICgkY29tbWVudEZvcm0tPnZhbGlkYXRlKCkpIHsKIAkJCQkkY29tbWVudEZvcm0tPmV4
ZWN1dGUoKTsKIAorCQkJCS8vIFNlbmQgYSBub3RpZmljYXRpb24gdG8gYXNzb2NpYXRlZCB1c2Vy
cworCQkJCWltcG9ydCgnbm90aWZpY2F0aW9uLk5vdGlmaWNhdGlvbicpOworCQkJCSRub3RpZmlj
YXRpb25Vc2VycyA9ICRhcnRpY2xlLT5nZXRBc3NvY2lhdGVkVXNlcklkcyh0cnVlLCBmYWxzZSk7
CisJCQkJZm9yZWFjaCAoJG5vdGlmaWNhdGlvblVzZXJzIGFzICR1c2VyKSB7CisJCQkJCSR1cmwg
PSBSZXF1ZXN0Ojp1cmwobnVsbCwgJHVzZXJbJ3JvbGUnXSwgJ3N1Ym1pc3Npb25FZGl0aW5nJywg
JGFydGljbGUtPmdldEFydGljbGVJZCgpLCBudWxsLCAnbGF5b3V0Jyk7CisJCQkJCU5vdGlmaWNh
dGlvbjo6Y3JlYXRlTm90aWZpY2F0aW9uKCR1c2VyWydpZCddLCAibm90aWZpY2F0aW9uLnR5cGUu
bGF5b3V0Q29tbWVudCIsCisJCQkJCQkkYXJ0aWNsZS0+Z2V0QXJ0aWNsZVRpdGxlKCksICR1cmws
IDEsIE5PVElGSUNBVElPTl9UWVBFX0xBWU9VVF9DT01NRU5UKTsKKwkJCQl9CisJCQkJCiAJCQkJ
aWYgKCRlbWFpbENvbW1lbnQpIHsKIAkJCQkJJGNvbW1lbnRGb3JtLT5lbWFpbCgpOwogCQkJCX0K
QEAgLTMyOCw2ICszMzcsMTUgQEAKIAkJCWlmICgkY29tbWVudEZvcm0tPnZhbGlkYXRlKCkpIHsK
IAkJCQkkY29tbWVudEZvcm0tPmV4ZWN1dGUoKTsKIAorCQkJCS8vIFNlbmQgYSBub3RpZmljYXRp
b24gdG8gYXNzb2NpYXRlZCB1c2VycworCQkJCWltcG9ydCgnbm90aWZpY2F0aW9uLk5vdGlmaWNh
dGlvbicpOworCQkJCSRub3RpZmljYXRpb25Vc2VycyA9ICRhcnRpY2xlLT5nZXRBc3NvY2lhdGVk
VXNlcklkcyh0cnVlLCBmYWxzZSk7CisJCQkJZm9yZWFjaCAoJG5vdGlmaWNhdGlvblVzZXJzIGFz
ICR1c2VyKSB7CisJCQkJCSR1cmwgPSBSZXF1ZXN0Ojp1cmwobnVsbCwgJHVzZXJbJ3JvbGUnXSwg
J3N1Ym1pc3Npb25FZGl0aW5nJywgJGFydGljbGUtPmdldEFydGljbGVJZCgpLCBudWxsLCAnY295
cGVkaXQnKTsKKwkJCQkJTm90aWZpY2F0aW9uOjpjcmVhdGVOb3RpZmljYXRpb24oJHVzZXJbJ2lk
J10sICJub3RpZmljYXRpb24udHlwZS5jb3B5ZWRpdENvbW1lbnQiLAorCQkJCQkJJGFydGljbGUt
PmdldEFydGljbGVUaXRsZSgpLCAkdXJsLCAxLCBOT1RJRklDQVRJT05fVFlQRV9DT1BZRURJVF9D
T01NRU5UKTsKKwkJCQl9CisJCQkJCiAJCQkJaWYgKCRlbWFpbENvbW1lbnQpIHsKIAkJCQkJJGNv
bW1lbnRGb3JtLT5lbWFpbCgpOwogCQkJCX0KSW5kZXg6IGNsYXNzZXMvc3VibWlzc2lvbi9sYXlv
dXRFZGl0b3IvTGF5b3V0RWRpdG9yQWN0aW9uLmluYy5waHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog
L2N2cy9vanMyL2NsYXNzZXMvc3VibWlzc2lvbi9sYXlvdXRFZGl0b3IvTGF5b3V0RWRpdG9yQWN0
aW9uLmluYy5waHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNDAKZGlmZiAtdSAtcjEuNDAgTGF5
b3V0RWRpdG9yQWN0aW9uLmluYy5waHAKLS0tIGNsYXNzZXMvc3VibWlzc2lvbi9sYXlvdXRFZGl0
b3IvTGF5b3V0RWRpdG9yQWN0aW9uLmluYy5waHAJMTAgRGVjIDIwMDggMjM6Mzc6MjcgLTAwMDAJ
MS40MAorKysgY2xhc3Nlcy9zdWJtaXNzaW9uL2xheW91dEVkaXRvci9MYXlvdXRFZGl0b3JBY3Rp
b24uaW5jLnBocAkyOCBKYW4gMjAwOSAxOToyNDoyNiAtMDAwMApAQCAtMjUyLDcgKzI1MiwxNiBA
QAogCiAJCQlpZiAoJGNvbW1lbnRGb3JtLT52YWxpZGF0ZSgpKSB7CiAJCQkJJGNvbW1lbnRGb3Jt
LT5leGVjdXRlKCk7Ci0KKwkJCQkKKwkJCQkvLyBTZW5kIGEgbm90aWZpY2F0aW9uIHRvIGFzc29j
aWF0ZWQgdXNlcnMKKwkJCQlpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmljYXRpb24nKTsKKwkJ
CQkkbm90aWZpY2F0aW9uVXNlcnMgPSAkYXJ0aWNsZS0+Z2V0QXNzb2NpYXRlZFVzZXJJZHModHJ1
ZSwgZmFsc2UpOworCQkJCWZvcmVhY2ggKCRub3RpZmljYXRpb25Vc2VycyBhcyAkdXNlcikgewor
CQkJCQkkdXJsID0gUmVxdWVzdDo6dXJsKG51bGwsICR1c2VyWydyb2xlJ10sICdzdWJtaXNzaW9u
RWRpdGluZycsICRhcnRpY2xlLT5nZXRBcnRpY2xlSWQoKSwgbnVsbCwgJ2xheW91dCcpOworCQkJ
CQlOb3RpZmljYXRpb246OmNyZWF0ZU5vdGlmaWNhdGlvbigkdXNlclsnaWQnXSwgIm5vdGlmaWNh
dGlvbi50eXBlLmxheW91dENvbW1lbnQiLAorCQkJCQkJJGFydGljbGUtPmdldEFydGljbGVUaXRs
ZSgpLCAkdXJsLCAxLCBOT1RJRklDQVRJT05fVFlQRV9MQVlPVVRfQ09NTUVOVCk7CisJCQkJfQor
CQkJCQogCQkJCWlmICgkZW1haWxDb21tZW50KSB7CiAJCQkJCSRjb21tZW50Rm9ybS0+ZW1haWwo
KTsKIAkJCQl9CkBAIC0yOTQsNyArMzAzLDE2IEBACiAKIAkJCWlmICgkY29tbWVudEZvcm0tPnZh
bGlkYXRlKCkpIHsKIAkJCQkkY29tbWVudEZvcm0tPmV4ZWN1dGUoKTsKLQorCQkJCQorCQkJCS8v
IFNlbmQgYSBub3RpZmljYXRpb24gdG8gYXNzb2NpYXRlZCB1c2VycworCQkJCWltcG9ydCgnbm90
aWZpY2F0aW9uLk5vdGlmaWNhdGlvbicpOworCQkJCSRub3RpZmljYXRpb25Vc2VycyA9ICRhcnRp
Y2xlLT5nZXRBc3NvY2lhdGVkVXNlcklkcyh0cnVlLCBmYWxzZSk7CisJCQkJZm9yZWFjaCAoJG5v
dGlmaWNhdGlvblVzZXJzIGFzICR1c2VyKSB7CisJCQkJCSR1cmwgPSBSZXF1ZXN0Ojp1cmwobnVs
bCwgJHVzZXJbJ3JvbGUnXSwgJ3N1Ym1pc3Npb25FZGl0aW5nJywgJGFydGljbGUtPmdldEFydGlj
bGVJZCgpLCBudWxsLCAncHJvb2ZyZWFkJyk7CisJCQkJCU5vdGlmaWNhdGlvbjo6Y3JlYXRlTm90
aWZpY2F0aW9uKCR1c2VyWydpZCddLCAibm90aWZpY2F0aW9uLnR5cGUucHJvb2ZyZWFkQ29tbWVu
dCIsCisJCQkJCQkkYXJ0aWNsZS0+Z2V0QXJ0aWNsZVRpdGxlKCksICR1cmwsIDEsIE5PVElGSUNB
VElPTl9UWVBFX1BST09GUkVBRF9DT01NRU5UKTsKKwkJCQl9CisJCQkJCiAJCQkJaWYgKCRlbWFp
bENvbW1lbnQpIHsKIAkJCQkJJGNvbW1lbnRGb3JtLT5lbWFpbCgpOwogCQkJCX0KSW5kZXg6IGNs
YXNzZXMvc3VibWlzc2lvbi9wcm9vZnJlYWRlci9Qcm9vZnJlYWRlckFjdGlvbi5pbmMucGhwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvb2pzMi9jbGFzc2VzL3N1Ym1pc3Npb24vcHJvb2ZyZWFk
ZXIvUHJvb2ZyZWFkZXJBY3Rpb24uaW5jLnBocCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS41Mgpk
aWZmIC11IC1yMS41MiBQcm9vZnJlYWRlckFjdGlvbi5pbmMucGhwCi0tLSBjbGFzc2VzL3N1Ym1p
c3Npb24vcHJvb2ZyZWFkZXIvUHJvb2ZyZWFkZXJBY3Rpb24uaW5jLnBocAkxMCBEZWMgMjAwOCAy
MzozNzoyNyAtMDAwMAkxLjUyCisrKyBjbGFzc2VzL3N1Ym1pc3Npb24vcHJvb2ZyZWFkZXIvUHJv
b2ZyZWFkZXJBY3Rpb24uaW5jLnBocAkyOCBKYW4gMjAwOSAxOToyNDoyNyAtMDAwMApAQCAtNDc0
LDYgKzQ3NCwxNSBAQAogCQkJaWYgKCRjb21tZW50Rm9ybS0+dmFsaWRhdGUoKSkgewogCQkJCSRj
b21tZW50Rm9ybS0+ZXhlY3V0ZSgpOwogCisJCQkJLy8gU2VuZCBhIG5vdGlmaWNhdGlvbiB0byBh
c3NvY2lhdGVkIHVzZXJzCisJCQkJaW1wb3J0KCdub3RpZmljYXRpb24uTm90aWZpY2F0aW9uJyk7
CisJCQkJJG5vdGlmaWNhdGlvblVzZXJzID0gJGFydGljbGUtPmdldEFzc29jaWF0ZWRVc2VySWRz
KHRydWUsIGZhbHNlKTsKKwkJCQlmb3JlYWNoICgkbm90aWZpY2F0aW9uVXNlcnMgYXMgJHVzZXIp
IHsKKwkJCQkJJHVybCA9IFJlcXVlc3Q6OnVybChudWxsLCAkdXNlclsncm9sZSddLCAnc3VibWlz
c2lvbkVkaXRpbmcnLCAkYXJ0aWNsZS0+Z2V0QXJ0aWNsZUlkKCksIG51bGwsICdwcm9vZnJlYWQn
KTsKKwkJCQkJTm90aWZpY2F0aW9uOjpjcmVhdGVOb3RpZmljYXRpb24oJHVzZXJbJ2lkJ10sICJu
b3RpZmljYXRpb24udHlwZS5wcm9vZnJlYWRDb21tZW50IiwKKwkJCQkJCSRhcnRpY2xlLT5nZXRB
cnRpY2xlVGl0bGUoKSwgJHVybCwgMSwgTk9USUZJQ0FUSU9OX1RZUEVfUFJPT0ZSRUFEX0NPTU1F
TlQpOworCQkJCX0KKwkJCQkKIAkJCQlpZiAoJGVtYWlsQ29tbWVudCkgewogCQkJCQkkY29tbWVu
dEZvcm0tPmVtYWlsKCk7CiAJCQkJfQpAQCAtNTE2LDcgKzUyNSwxNiBAQAogCiAJCQlpZiAoJGNv
bW1lbnRGb3JtLT52YWxpZGF0ZSgpKSB7CiAJCQkJJGNvbW1lbnRGb3JtLT5leGVjdXRlKCk7Ci0K
KwkJCQkJCQkJCisJCQkJLy8gU2VuZCBhIG5vdGlmaWNhdGlvbiB0byBhc3NvY2lhdGVkIHVzZXJz
CisJCQkJaW1wb3J0KCdub3RpZmljYXRpb24uTm90aWZpY2F0aW9uJyk7CisJCQkJJG5vdGlmaWNh
dGlvblVzZXJzID0gJGFydGljbGUtPmdldEFzc29jaWF0ZWRVc2VySWRzKHRydWUsIGZhbHNlKTsK
KwkJCQlmb3JlYWNoICgkbm90aWZpY2F0aW9uVXNlcnMgYXMgJHVzZXIpIHsKKwkJCQkJJHVybCA9
IFJlcXVlc3Q6OnVybChudWxsLCAkdXNlclsncm9sZSddLCAnc3VibWlzc2lvbkVkaXRpbmcnLCAk
YXJ0aWNsZS0+Z2V0QXJ0aWNsZUlkKCksIG51bGwsICdsYXlvdXQnKTsKKwkJCQkJTm90aWZpY2F0
aW9uOjpjcmVhdGVOb3RpZmljYXRpb24oJHVzZXJbJ2lkJ10sICJub3RpZmljYXRpb24udHlwZS5s
YXlvdXRDb21tZW50IiwKKwkJCQkJCSRhcnRpY2xlLT5nZXRBcnRpY2xlVGl0bGUoKSwgJHVybCwg
MSwgTk9USUZJQ0FUSU9OX1RZUEVfTEFZT1VUX0NPTU1FTlQpOworCQkJCX0KKwkJCQkKIAkJCQlp
ZiAoJGVtYWlsQ29tbWVudCkgewogCQkJCQkkY29tbWVudEZvcm0tPmVtYWlsKCk7CiAJCQkJfQpJ
bmRleDogY2xhc3Nlcy9zdWJtaXNzaW9uL3Jldmlld2VyL1Jldmlld2VyQWN0aW9uLmluYy5waHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9vanMyL2NsYXNzZXMvc3VibWlzc2lvbi9yZXZpZXdl
ci9SZXZpZXdlckFjdGlvbi5pbmMucGhwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjYyCmRpZmYg
LXUgLXIxLjYyIFJldmlld2VyQWN0aW9uLmluYy5waHAKLS0tIGNsYXNzZXMvc3VibWlzc2lvbi9y
ZXZpZXdlci9SZXZpZXdlckFjdGlvbi5pbmMucGhwCTEwIERlYyAyMDA4IDIzOjM3OjI3IC0wMDAw
CTEuNjIKKysrIGNsYXNzZXMvc3VibWlzc2lvbi9yZXZpZXdlci9SZXZpZXdlckFjdGlvbi5pbmMu
cGhwCTI4IEphbiAyMDA5IDE5OjI0OjI3IC0wMDAwCkBAIC0zMDUsNiArMzA1LDE1IEBACiAJCQlp
ZiAoJGNvbW1lbnRGb3JtLT52YWxpZGF0ZSgpKSB7CiAJCQkJJGNvbW1lbnRGb3JtLT5leGVjdXRl
KCk7CiAKKwkJCQkvLyBTZW5kIGEgbm90aWZpY2F0aW9uIHRvIGFzc29jaWF0ZWQgdXNlcnMKKwkJ
CQlpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmljYXRpb24nKTsKKwkJCQkkbm90aWZpY2F0aW9u
VXNlcnMgPSAkYXJ0aWNsZS0+Z2V0QXNzb2NpYXRlZFVzZXJJZHMoKTsKKwkJCQlmb3JlYWNoICgk
bm90aWZpY2F0aW9uVXNlcnMgYXMgJHVzZXIpIHsKKwkJCQkJJHVybCA9IFJlcXVlc3Q6OnVybChu
dWxsLCAkdXNlclsncm9sZSddLCAnc3VibWlzc2lvblJldmlldycsICRhcnRpY2xlLT5nZXRBcnRp
Y2xlSWQoKSwgbnVsbCwgJ3BlZXJSZXZpZXcnKTsKKwkJCQkJTm90aWZpY2F0aW9uOjpjcmVhdGVO
b3RpZmljYXRpb24oJHVzZXJbJ2lkJ10sICJub3RpZmljYXRpb24udHlwZS5yZXZpZXdlckNvbW1l
bnQiLAorCQkJCQkJJGFydGljbGUtPmdldEFydGljbGVUaXRsZSgpLCAkdXJsLCAxLCBOT1RJRklD
QVRJT05fVFlQRV9SRVZJRVdFUl9DT01NRU5UKTsKKwkJCQl9CisJCQkJCiAJCQkJaWYgKCRlbWFp
bENvbW1lbnQpIHsKIAkJCQkJJGNvbW1lbnRGb3JtLT5lbWFpbCgpOwogCQkJCX0KQEAgLTM0Nyw2
ICszNTYsMjEgQEAKIAkJCSRyZXZpZXdGb3JtLT5yZWFkSW5wdXREYXRhKCk7CiAJCQlpZiAoJHJl
dmlld0Zvcm0tPnZhbGlkYXRlKCkpIHsKIAkJCQkkcmV2aWV3Rm9ybS0+ZXhlY3V0ZSgpOworCisJ
CQkJLy8gU2VuZCBhIG5vdGlmaWNhdGlvbiB0byBhc3NvY2lhdGVkIHVzZXJzCisJCQkJaW1wb3J0
KCdub3RpZmljYXRpb24uTm90aWZpY2F0aW9uJyk7CisJCQkJJHJldmlld0Fzc2lnbm1lbnREYW8g
PSYgREFPUmVnaXN0cnk6OmdldERBTygnUmV2aWV3QXNzaWdubWVudERBTycpOworCQkJCSRyZXZp
ZXdBc3NpZ25tZW50ID0gJHJldmlld0Fzc2lnbm1lbnREYW8tPmdldFJldmlld0Fzc2lnbm1lbnRC
eUlkKCRyZXZpZXdJZCk7CisJCQkJJGFydGljbGVJZCA9ICRyZXZpZXdBc3NpZ25tZW50LT5nZXRB
cnRpY2xlSWQoKTsKKwkJCQkkYXJ0aWNsZURhbyA9JiBEQU9SZWdpc3RyeTo6Z2V0REFPKCdBcnRp
Y2xlREFPJyk7IAorCQkJCSRhcnRpY2xlID0mICRhcnRpY2xlRGFvLT5nZXRBcnRpY2xlKCRhcnRp
Y2xlSWQpOworCQkJCSRub3RpZmljYXRpb25Vc2VycyA9ICRhcnRpY2xlLT5nZXRBc3NvY2lhdGVk
VXNlcklkcygpOworCQkJCWZvcmVhY2ggKCRub3RpZmljYXRpb25Vc2VycyBhcyAkdXNlcikgewor
CQkJCQkkdXJsID0gUmVxdWVzdDo6dXJsKG51bGwsICR1c2VyWydyb2xlJ10sICdzdWJtaXNzaW9u
UmV2aWV3JywgJGFydGljbGUtPmdldEFydGljbGVJZCgpLCBudWxsLCAncGVlclJldmlldycpOwor
CQkJCQlOb3RpZmljYXRpb246OmNyZWF0ZU5vdGlmaWNhdGlvbigkdXNlclsnaWQnXSwgIm5vdGlm
aWNhdGlvbi50eXBlLnJldmlld2VyRm9ybUNvbW1lbnQiLAorCQkJCQkJJGFydGljbGUtPmdldEFy
dGljbGVUaXRsZSgpLCAkdXJsLCAxLCBOT1RJRklDQVRJT05fVFlQRV9SRVZJRVdFUl9GT1JNX0NP
TU1FTlQpOworCQkJCX0KKwkJCQkKIAkJCX0gZWxzZSB7CiAJCQkJJHJldmlld0Zvcm0tPmRpc3Bs
YXkoKTsKIAkJCQlyZXR1cm4gZmFsc2U7CkluZGV4OiBjbGFzc2VzL3N1Ym1pc3Npb24vc2VjdGlv
bkVkaXRvci9TZWN0aW9uRWRpdG9yQWN0aW9uLmluYy5waHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog
L2N2cy9vanMyL2NsYXNzZXMvc3VibWlzc2lvbi9zZWN0aW9uRWRpdG9yL1NlY3Rpb25FZGl0b3JB
Y3Rpb24uaW5jLnBocCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xNzMKZGlmZiAtdSAtcjEuMTcz
IFNlY3Rpb25FZGl0b3JBY3Rpb24uaW5jLnBocAotLS0gY2xhc3Nlcy9zdWJtaXNzaW9uL3NlY3Rp
b25FZGl0b3IvU2VjdGlvbkVkaXRvckFjdGlvbi5pbmMucGhwCTEwIERlYyAyMDA4IDIzOjM3OjI3
IC0wMDAwCTEuMTczCisrKyBjbGFzc2VzL3N1Ym1pc3Npb24vc2VjdGlvbkVkaXRvci9TZWN0aW9u
RWRpdG9yQWN0aW9uLmluYy5waHAJMjggSmFuIDIwMDkgMTk6MjQ6MjggLTAwMDAKQEAgLTE3NTgs
NiArMTc1OCwxNSBAQAogCQlpZiAoJGNvbW1lbnRGb3JtLT52YWxpZGF0ZSgpKSB7CiAJCQkkY29t
bWVudEZvcm0tPmV4ZWN1dGUoKTsKIAorCQkJLy8gU2VuZCBhIG5vdGlmaWNhdGlvbiB0byBhc3Nv
Y2lhdGVkIHVzZXJzCisJCQlpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmljYXRpb24nKTsKKwkJ
CSRub3RpZmljYXRpb25Vc2VycyA9ICRhcnRpY2xlLT5nZXRBc3NvY2lhdGVkVXNlcklkcygpOwor
CQkJZm9yZWFjaCAoJG5vdGlmaWNhdGlvblVzZXJzIGFzICR1c2VyKSB7CisJCQkJJHVybCA9IFJl
cXVlc3Q6OnVybChudWxsLCAkdXNlclsncm9sZSddLCAnc3VibWlzc2lvblJldmlldycsICRhcnRp
Y2xlLT5nZXRBcnRpY2xlSWQoKSwgbnVsbCwgJ3BlZXJSZXZpZXcnKTsKKwkJCQlOb3RpZmljYXRp
b246OmNyZWF0ZU5vdGlmaWNhdGlvbigkdXNlclsnaWQnXSwgIm5vdGlmaWNhdGlvbi50eXBlLnJl
dmlld2VyQ29tbWVudCIsCisJCQkJCSRhcnRpY2xlLT5nZXRBcnRpY2xlVGl0bGUoKSwgJHVybCwg
MSwgTk9USUZJQ0FUSU9OX1RZUEVfUkVWSUVXRVJfQ09NTUVOVCk7CisJCQl9CisJCQkJCiAJCQlp
ZiAoJGVtYWlsQ29tbWVudCkgewogCQkJCSRjb21tZW50Rm9ybS0+ZW1haWwoKTsKIAkJCX0KQEAg
LTE4MDEsNiArMTgxMCwxNSBAQAogCQlpZiAoJGNvbW1lbnRGb3JtLT52YWxpZGF0ZSgpKSB7CiAJ
CQkkY29tbWVudEZvcm0tPmV4ZWN1dGUoKTsKIAorCQkJLy8gU2VuZCBhIG5vdGlmaWNhdGlvbiB0
byBhc3NvY2lhdGVkIHVzZXJzCisJCQlpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmljYXRpb24n
KTsKKwkJCSRub3RpZmljYXRpb25Vc2VycyA9ICRhcnRpY2xlLT5nZXRBc3NvY2lhdGVkVXNlcklk
cyh0cnVlLCBmYWxzZSk7CisJCQlmb3JlYWNoICgkbm90aWZpY2F0aW9uVXNlcnMgYXMgJHVzZXIp
IHsKKwkJCQkkdXJsID0gUmVxdWVzdDo6dXJsKG51bGwsICR1c2VyWydyb2xlJ10sICdzdWJtaXNz
aW9uUmV2aWV3JywgJGFydGljbGUtPmdldEFydGljbGVJZCgpLCBudWxsLCAnZWRpdG9yRGVjaXNp
b24nKTsKKwkJCQlOb3RpZmljYXRpb246OmNyZWF0ZU5vdGlmaWNhdGlvbigkdXNlclsnaWQnXSwg
Im5vdGlmaWNhdGlvbi50eXBlLmVkaXRvckRlY2lzaW9uQ29tbWVudCIsCisJCQkJCSRhcnRpY2xl
LT5nZXRBcnRpY2xlVGl0bGUoKSwgJHVybCwgMSwgTk9USUZJQ0FUSU9OX1RZUEVfRURJVE9SX0RF
Q0lTSU9OX0NPTU1FTlQpOworCQkJfQorCQkJCQogCQkJaWYgKCRlbWFpbENvbW1lbnQpIHsKIAkJ
CQkkY29tbWVudEZvcm0tPmVtYWlsKCk7CiAJCQl9CkBAIC0yMDQ0LDYgKzIwNjIsMTUgQEAKIAkJ
aWYgKCRjb21tZW50Rm9ybS0+dmFsaWRhdGUoKSkgewogCQkJJGNvbW1lbnRGb3JtLT5leGVjdXRl
KCk7CiAKKwkJCS8vIFNlbmQgYSBub3RpZmljYXRpb24gdG8gYXNzb2NpYXRlZCB1c2VycworCQkJ
aW1wb3J0KCdub3RpZmljYXRpb24uTm90aWZpY2F0aW9uJyk7CisJCQkkbm90aWZpY2F0aW9uVXNl
cnMgPSAkYXJ0aWNsZS0+Z2V0QXNzb2NpYXRlZFVzZXJJZHModHJ1ZSwgZmFsc2UpOworCQkJZm9y
ZWFjaCAoJG5vdGlmaWNhdGlvblVzZXJzIGFzICR1c2VyKSB7CisJCQkJJHVybCA9IFJlcXVlc3Q6
OnVybChudWxsLCAkdXNlclsncm9sZSddLCAnc3VibWlzc2lvbkVkaXRpbmcnLCAkYXJ0aWNsZS0+
Z2V0QXJ0aWNsZUlkKCksIG51bGwsICdjb3B5ZWRpdCcpOworCQkJCU5vdGlmaWNhdGlvbjo6Y3Jl
YXRlTm90aWZpY2F0aW9uKCR1c2VyWydpZCddLCAibm90aWZpY2F0aW9uLnR5cGUuY29weWVkaXRD
b21tZW50IiwKKwkJCQkJJGFydGljbGUtPmdldEFydGljbGVUaXRsZSgpLCAkdXJsLCAxLCBOT1RJ
RklDQVRJT05fVFlQRV9DT1BZRURJVF9DT01NRU5UKTsKKwkJCX0KKwogCQkJaWYgKCRlbWFpbENv
bW1lbnQpIHsKIAkJCQkkY29tbWVudEZvcm0tPmVtYWlsKCk7CiAJCQl9CkBAIC0yMDg3LDYgKzIx
MTQsMTUgQEAKIAkJaWYgKCRjb21tZW50Rm9ybS0+dmFsaWRhdGUoKSkgewogCQkJJGNvbW1lbnRG
b3JtLT5leGVjdXRlKCk7CiAKKwkJCS8vIFNlbmQgYSBub3RpZmljYXRpb24gdG8gYXNzb2NpYXRl
ZCB1c2VycworCQkJaW1wb3J0KCdub3RpZmljYXRpb24uTm90aWZpY2F0aW9uJyk7CisJCQkkbm90
aWZpY2F0aW9uVXNlcnMgPSAkYXJ0aWNsZS0+Z2V0QXNzb2NpYXRlZFVzZXJJZHModHJ1ZSwgZmFs
c2UpOworCQkJZm9yZWFjaCAoJG5vdGlmaWNhdGlvblVzZXJzIGFzICR1c2VyKSB7CisJCQkJJHVy
bCA9IFJlcXVlc3Q6OnVybChudWxsLCAkdXNlclsncm9sZSddLCAnc3VibWlzc2lvbkVkaXRpbmcn
LCAkYXJ0aWNsZS0+Z2V0QXJ0aWNsZUlkKCksIG51bGwsICdsYXlvdXQnKTsKKwkJCQlOb3RpZmlj
YXRpb246OmNyZWF0ZU5vdGlmaWNhdGlvbigkdXNlclsnaWQnXSwgIm5vdGlmaWNhdGlvbi50eXBl
LmxheW91dENvbW1lbnQiLAorCQkJCQkkYXJ0aWNsZS0+Z2V0QXJ0aWNsZVRpdGxlKCksICR1cmws
IDEsIE5PVElGSUNBVElPTl9UWVBFX0xBWU9VVF9DT01NRU5UKTsKKwkJCX0KKwkJCQkKIAkJCWlm
ICgkZW1haWxDb21tZW50KSB7CiAJCQkJJGNvbW1lbnRGb3JtLT5lbWFpbCgpOwogCQkJfQpAQCAt
MjEzMCw2ICsyMTY2LDE1IEBACiAJCWlmICgkY29tbWVudEZvcm0tPnZhbGlkYXRlKCkpIHsKIAkJ
CSRjb21tZW50Rm9ybS0+ZXhlY3V0ZSgpOwogCisJCQkvLyBTZW5kIGEgbm90aWZpY2F0aW9uIHRv
IGFzc29jaWF0ZWQgdXNlcnMKKwkJCWltcG9ydCgnbm90aWZpY2F0aW9uLk5vdGlmaWNhdGlvbicp
OworCQkJJG5vdGlmaWNhdGlvblVzZXJzID0gJGFydGljbGUtPmdldEFzc29jaWF0ZWRVc2VySWRz
KHRydWUsIGZhbHNlKTsKKwkJCWZvcmVhY2ggKCRub3RpZmljYXRpb25Vc2VycyBhcyAkdXNlcikg
eworCQkJCSR1cmwgPSBSZXF1ZXN0Ojp1cmwobnVsbCwgJHVzZXJbJ3JvbGUnXSwgJ3N1Ym1pc3Np
b25FZGl0aW5nJywgJGFydGljbGUtPmdldEFydGljbGVJZCgpLCBudWxsLCAncHJvb2ZyZWFkJyk7
CisJCQkJTm90aWZpY2F0aW9uOjpjcmVhdGVOb3RpZmljYXRpb24oJHVzZXJbJ2lkJ10sICJub3Rp
ZmljYXRpb24udHlwZS5wcm9vZnJlYWRDb21tZW50IiwKKwkJCQkJJGFydGljbGUtPmdldEFydGlj
bGVUaXRsZSgpLCAkdXJsLCAxLCBOT1RJRklDQVRJT05fVFlQRV9QUk9PRlJFQURfQ09NTUVOVCk7
CisJCQl9CQorCQkJCiAJCQlpZiAoJGVtYWlsQ29tbWVudCkgewogCQkJCSRjb21tZW50Rm9ybS0+
ZW1haWwoKTsKIAkJCX0KSW5kZXg6IGNsYXNzZXMvdXNlci9mb3JtL1Byb2ZpbGVGb3JtLmluYy5w
aHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9vanMyL2NsYXNzZXMvdXNlci9mb3JtL1Byb2Zp
bGVGb3JtLmluYy5waHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMzUKZGlmZiAtdSAtcjEuMzUg
UHJvZmlsZUZvcm0uaW5jLnBocAotLS0gY2xhc3Nlcy91c2VyL2Zvcm0vUHJvZmlsZUZvcm0uaW5j
LnBocAk1IE5vdiAyMDA4IDAwOjQ2OjQwIC0wMDAwCTEuMzUKKysrIGNsYXNzZXMvdXNlci9mb3Jt
L1Byb2ZpbGVGb3JtLmluYy5waHAJMjggSmFuIDIwMDkgMTk6MjQ6MjggLTAwMDAKQEAgLTEwOCw3
ICsxMDgsNiBAQAogCiAJCSRyb2xlRGFvID0gJkRBT1JlZ2lzdHJ5OjpnZXREQU8oJ1JvbGVEQU8n
KTsKIAkJJGpvdXJuYWxEYW8gPSAmREFPUmVnaXN0cnk6OmdldERBTygnSm91cm5hbERBTycpOwot
CQkkbm90aWZpY2F0aW9uU3RhdHVzRGFvID0gJkRBT1JlZ2lzdHJ5OjpnZXREQU8oJ05vdGlmaWNh
dGlvblN0YXR1c0RBTycpOwogCQkkdXNlclNldHRpbmdzRGFvID0gJkRBT1JlZ2lzdHJ5OjpnZXRE
QU8oJ1VzZXJTZXR0aW5nc0RBTycpOwogCiAJCSRqb3VybmFscyA9ICYkam91cm5hbERhby0+Z2V0
Sm91cm5hbHMoKTsKQEAgLTEyNCw3ICsxMjMsNiBAQAogCiAJCSRqb3VybmFscyA9ICYkam91cm5h
bERhby0+Z2V0Sm91cm5hbHMoKTsKIAkJJGpvdXJuYWxzID0gJiRqb3VybmFscy0+dG9BcnJheSgp
OwotCQkkam91cm5hbE5vdGlmaWNhdGlvbnMgPSAmJG5vdGlmaWNhdGlvblN0YXR1c0Rhby0+Z2V0
Sm91cm5hbE5vdGlmaWNhdGlvbnMoJHVzZXItPmdldFVzZXJJZCgpKTsKIAogCQkkY291bnRyeURh
byA9JiBEQU9SZWdpc3RyeTo6Z2V0REFPKCdDb3VudHJ5REFPJyk7CiAJCSRjb3VudHJpZXMgPSYg
JGNvdW50cnlEYW8tPmdldENvdW50cmllcygpOwpAQCAtMjU3LDcgKzI1NSw2IEBACiAKIAkJJHJv
bGVEYW8gPSAmREFPUmVnaXN0cnk6OmdldERBTygnUm9sZURBTycpOwogCQkkam91cm5hbERhbyA9
ICZEQU9SZWdpc3RyeTo6Z2V0REFPKCdKb3VybmFsREFPJyk7Ci0JCSRub3RpZmljYXRpb25TdGF0
dXNEYW8gPSAmREFPUmVnaXN0cnk6OmdldERBTygnTm90aWZpY2F0aW9uU3RhdHVzREFPJyk7CiAK
IAkJLy8gUm9sZXMKIAkJJGpvdXJuYWwgPSYgUmVxdWVzdDo6Z2V0Sm91cm5hbCgpOwpAQCAtMjg4
LDIxICsyODUsNiBAQAogCQkJfQogCQl9CiAKLQkJJGpvdXJuYWxzID0gJiRqb3VybmFsRGFvLT5n
ZXRKb3VybmFscygpOwotCQkkam91cm5hbHMgPSAmJGpvdXJuYWxzLT50b0FycmF5KCk7Ci0JCSRq
b3VybmFsTm90aWZpY2F0aW9ucyA9ICRub3RpZmljYXRpb25TdGF0dXNEYW8tPmdldEpvdXJuYWxO
b3RpZmljYXRpb25zKCR1c2VyLT5nZXRVc2VySWQoKSk7Ci0KLQkJJHJlYWRlck5vdGlmeSA9IFJl
cXVlc3Q6OmdldFVzZXJWYXIoJ2pvdXJuYWxOb3RpZnknKTsKLQotCQlmb3JlYWNoICgkam91cm5h
bHMgYXMgJHRoaXNKb3VybmFsKSB7Ci0JCQkkdGhpc0pvdXJuYWxJZCA9ICR0aGlzSm91cm5hbC0+
Z2V0Sm91cm5hbElkKCk7Ci0JCQkkY3VycmVudGx5UmVjZWl2ZXMgPSAhZW1wdHkoJGpvdXJuYWxO
b3RpZmljYXRpb25zWyR0aGlzSm91cm5hbElkXSk7Ci0JCQkkc2hvdWxkUmVjZWl2ZSA9ICFlbXB0
eSgkcmVhZGVyTm90aWZ5KSAmJiBpbl9hcnJheSgkdGhpc0pvdXJuYWwtPmdldEpvdXJuYWxJZCgp
LCAkcmVhZGVyTm90aWZ5KTsKLQkJCWlmICgkY3VycmVudGx5UmVjZWl2ZXMgIT0gJHNob3VsZFJl
Y2VpdmUpIHsKLQkJCQkkbm90aWZpY2F0aW9uU3RhdHVzRGFvLT5zZXRKb3VybmFsTm90aWZpY2F0
aW9ucygkdGhpc0pvdXJuYWxJZCwgJHVzZXItPmdldFVzZXJJZCgpLCAkc2hvdWxkUmVjZWl2ZSk7
Ci0JCQl9Ci0JCX0KLQogCQkkb3BlbkFjY2Vzc05vdGlmeSA9IFJlcXVlc3Q6OmdldFVzZXJWYXIo
J29wZW5BY2Nlc3NOb3RpZnknKTsKIAogCQkkdXNlclNldHRpbmdzRGFvID0gJkRBT1JlZ2lzdHJ5
OjpnZXREQU8oJ1VzZXJTZXR0aW5nc0RBTycpOwpJbmRleDogY2xhc3Nlcy91c2VyL2Zvcm0vUmVn
aXN0cmF0aW9uRm9ybS5pbmMucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvb2pzMi9jbGFz
c2VzL3VzZXIvZm9ybS9SZWdpc3RyYXRpb25Gb3JtLmluYy5waHAsdgpyZXRyaWV2aW5nIHJldmlz
aW9uIDEuNTEKZGlmZiAtdSAtcjEuNTEgUmVnaXN0cmF0aW9uRm9ybS5pbmMucGhwCi0tLSBjbGFz
c2VzL3VzZXIvZm9ybS9SZWdpc3RyYXRpb25Gb3JtLmluYy5waHAJNSBOb3YgMjAwOCAwMDo0Njo0
MCAtMDAwMAkxLjUxCisrKyBjbGFzc2VzL3VzZXIvZm9ybS9SZWdpc3RyYXRpb25Gb3JtLmluYy5w
aHAJMjggSmFuIDIwMDkgMTk6MjQ6MjggLTAwMDAKQEAgLTMyMCwxNiArMzIwLDYgQEAKIAkJCX0K
IAkJfQogCi0JCS8vIEJ5IGRlZmF1bHQsIHNlbGYtcmVnaXN0ZXJpbmcgcmVhZGVycyB3aWxsIHJl
Y2VpdmUKLQkJLy8gam91cm5hbCB1cGRhdGVzLiAoVGhlIGRvdWJsZSBzZXQgaXMgaGVyZSB0byBw
cmV2ZW50IGEKLQkJLy8gZHVwbGljYXRlIGluc2VydCBlcnJvciBtc2cgaWYgdGhlcmUgd2FzIGEg
bm90aWZpY2F0aW9uIGVudHJ5Ci0JCS8vIGxlZnQgb3ZlciBmcm9tIGEgcHJldmlvdXMgcm9sZS4p
Ci0JCWlmIChpc3NldCgkYWxsb3dlZFJvbGVzWydyZWFkZXInXSkgJiYgJHRoaXMtPmdldERhdGEo
JGFsbG93ZWRSb2xlc1sncmVhZGVyJ10pKSB7Ci0JCQkkbm90aWZpY2F0aW9uU3RhdHVzRGFvID0g
JkRBT1JlZ2lzdHJ5OjpnZXREQU8oJ05vdGlmaWNhdGlvblN0YXR1c0RBTycpOwotCQkJJG5vdGlm
aWNhdGlvblN0YXR1c0Rhby0+c2V0Sm91cm5hbE5vdGlmaWNhdGlvbnMoJGpvdXJuYWwtPmdldEpv
dXJuYWxJZCgpLCAkdXNlcklkLCBmYWxzZSk7Ci0JCQkkbm90aWZpY2F0aW9uU3RhdHVzRGFvLT5z
ZXRKb3VybmFsTm90aWZpY2F0aW9ucygkam91cm5hbC0+Z2V0Sm91cm5hbElkKCksICR1c2VySWQs
IHRydWUpOwotCQl9Ci0KIAkJaWYgKGlzc2V0KCRhbGxvd2VkUm9sZXNbJ3JlYWRlciddKSAmJiAk
dGhpcy0+Z2V0RGF0YSgnb3BlbkFjY2Vzc05vdGlmaWNhdGlvbicpKSB7CiAJCQkkdXNlclNldHRp
bmdzRGFvID0gJkRBT1JlZ2lzdHJ5OjpnZXREQU8oJ1VzZXJTZXR0aW5nc0RBTycpOwogCQkJJHVz
ZXJTZXR0aW5nc0Rhby0+dXBkYXRlU2V0dGluZygkdXNlcklkLCAnb3BlbkFjY2Vzc05vdGlmaWNh
dGlvbicsIHRydWUsICdib29sJywgJGpvdXJuYWwtPmdldEpvdXJuYWxJZCgpKTsKSW5kZXg6IGRi
c2NyaXB0cy94bWwvb2pzX3NjaGVtYS54bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9vanMy
L2Ric2NyaXB0cy94bWwvb2pzX3NjaGVtYS54bWwsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTcy
CmRpZmYgLXUgLXIxLjE3MiBvanNfc2NoZW1hLnhtbAotLS0gZGJzY3JpcHRzL3htbC9vanNfc2No
ZW1hLnhtbAkyNyBPY3QgMjAwOCAxNjowMDo1OCAtMDAwMAkxLjE3MgorKysgZGJzY3JpcHRzL3ht
bC9vanNfc2NoZW1hLnhtbAkyOCBKYW4gMjAwOSAxOToyNDoyOCAtMDAwMApAQCAtMzA2LDIyICsz
MDYsNiBAQAogCQkJPFVOSVFVRSAvPgogCQk8L2luZGV4PgogCTwvdGFibGU+Ci0KLQk8dGFibGUg
bmFtZT0ibm90aWZpY2F0aW9uX3N0YXR1cyI+Ci0JCTxmaWVsZCBuYW1lPSJqb3VybmFsX2lkIiB0
eXBlPSJJOCI+Ci0JCQk8Tk9UTlVMTCAvPgotCQk8L2ZpZWxkPgotCQk8ZmllbGQgbmFtZT0idXNl
cl9pZCIgdHlwZT0iSTgiPgotCQkJPE5PVE5VTEwgLz4KLQkJPC9maWVsZD4KLQkJPGRlc2NyPlVz
ZXIgIm1haWwgbm90aWZpY2F0aW9ucyB0byBteSBhY2NvdW50IiBmbGFnczwvZGVzY3I+Ci0JCTxp
bmRleCBuYW1lPSJub3RpZmljYXRpb25fc3RhdHVzX3BrZXkiPgotCQkJPGNvbD5qb3VybmFsX2lk
PC9jb2w+Ci0JCQk8Y29sPnVzZXJfaWQ8L2NvbD4KLQkJCTxVTklRVUUgLz4KLQkJPC9pbmRleD4K
LQk8L3RhYmxlPgotCiAJPCEtLQogCSAgKgogCSAgKiBUQUJMRSBzZWN0aW9ucwpJbmRleDogZGJz
Y3JpcHRzL3htbC9kYXRhL2VtYWlsX3RlbXBsYXRlcy54bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog
L2N2cy9vanMyL2Ric2NyaXB0cy94bWwvZGF0YS9lbWFpbF90ZW1wbGF0ZXMueG1sLHYKcmV0cmll
dmluZyByZXZpc2lvbiAxLjMzCmRpZmYgLXUgLXIxLjMzIGVtYWlsX3RlbXBsYXRlcy54bWwKLS0t
IGRic2NyaXB0cy94bWwvZGF0YS9lbWFpbF90ZW1wbGF0ZXMueG1sCTkgRGVjIDIwMDggMTc6NDQ6
MDMgLTAwMDAJMS4zMworKysgZGJzY3JpcHRzL3htbC9kYXRhL2VtYWlsX3RlbXBsYXRlcy54bWwJ
MjggSmFuIDIwMDkgMTk6MjQ6MjggLTAwMDAKQEAgLTIxLDYgKzIxLDIxIEBACiAJCSAgKgogCQkg
IC0tPgogCQk8cm93PgorCQkJPGZpZWxkIG5hbWU9ImVtYWlsX2tleSI+Tk9USUZJQ0FUSU9OPC9m
aWVsZD4KKwkJCTxmaWVsZCBuYW1lPSJjYW5fZWRpdCI+MTwvZmllbGQ+CisJCQk8ZmllbGQgbmFt
ZT0iY2FuX2Rpc2FibGUiPjA8L2ZpZWxkPgorCQk8L3Jvdz4KKwkJPHJvdz4KKwkJCTxmaWVsZCBu
YW1lPSJlbWFpbF9rZXkiPk5PVElGSUNBVElPTl9NQUlMTElTVDwvZmllbGQ+CisJCQk8ZmllbGQg
bmFtZT0iY2FuX2VkaXQiPjE8L2ZpZWxkPgorCQkJPGZpZWxkIG5hbWU9ImNhbl9kaXNhYmxlIj4w
PC9maWVsZD4KKwkJPC9yb3c+CisJCTxyb3c+CisJCQk8ZmllbGQgbmFtZT0iZW1haWxfa2V5Ij5O
T1RJRklDQVRJT05fTUFJTExJU1RfUEFTU1dPUkQ8L2ZpZWxkPgorCQkJPGZpZWxkIG5hbWU9ImNh
bl9lZGl0Ij4xPC9maWVsZD4KKwkJCTxmaWVsZCBuYW1lPSJjYW5fZGlzYWJsZSI+MDwvZmllbGQ+
CisJCTwvcm93PgorCQk8cm93PgogCQkJPGZpZWxkIG5hbWU9ImVtYWlsX2tleSI+UEFTU1dPUkRf
UkVTRVRfQ09ORklSTTwvZmllbGQ+CiAJCQk8ZmllbGQgbmFtZT0iY2FuX2VkaXQiPjE8L2ZpZWxk
PgogCQkJPGZpZWxkIG5hbWU9ImNhbl9kaXNhYmxlIj4wPC9maWVsZD4KSW5kZXg6IGRic2NyaXB0
cy94bWwvZGF0YS9sb2NhbGUvZW5fVVMvZW1haWxfdGVtcGxhdGVzX2RhdGEueG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KUkNTIGZpbGU6IC9jdnMvb2pzMi9kYnNjcmlwdHMveG1sL2RhdGEvbG9jYWxlL2VuX1VTL2Vt
YWlsX3RlbXBsYXRlc19kYXRhLnhtbCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS41NgpkaWZmIC11
IC1yMS41NiBlbWFpbF90ZW1wbGF0ZXNfZGF0YS54bWwKLS0tIGRic2NyaXB0cy94bWwvZGF0YS9s
b2NhbGUvZW5fVVMvZW1haWxfdGVtcGxhdGVzX2RhdGEueG1sCTkgRGVjIDIwMDggMTc6NDQ6MDMg
LTAwMDAJMS41NgorKysgZGJzY3JpcHRzL3htbC9kYXRhL2xvY2FsZS9lbl9VUy9lbWFpbF90ZW1w
bGF0ZXNfZGF0YS54bWwJMjggSmFuIDIwMDkgMTk6MjQ6MjkgLTAwMDAKQEAgLTIyLDYgKzIyLDU3
IEBACiAJCSAgKgogCQkgIC0tPgogCQk8cm93PgorCQkJPGZpZWxkIG5hbWU9ImVtYWlsX2tleSI+
Tk9USUZJQ0FUSU9OPC9maWVsZD4KKwkJCTxmaWVsZCBuYW1lPSJzdWJqZWN0Ij5OZXcgbm90aWZp
Y2F0aW9uIGZyb20geyRzaXRlVGl0bGV9PC9maWVsZD4KKwkJCTxmaWVsZCBuYW1lPSJib2R5Ij5Z
b3UgaGF2ZSBhIG5ldyBub3RpZmljYXRpb24gZnJvbSB7JHNpdGVUaXRsZX06CisKK3skbm90aWZp
Y2F0aW9uQ29udGVudHN9CisKK0xpbms6IHskdXJsfQorCit7JHByaW5jaXBhbENvbnRhY3RTaWdu
YXR1cmV9PC9maWVsZD4KKwkJCTxmaWVsZCBuYW1lPSJkZXNjcmlwdGlvbiI+VGhlIGVtYWlsIGlz
IHNlbnQgdG8gcmVnaXN0ZXJlZCB1c2VycyB0aGF0IGhhdmUgc2VsZWN0ZWQgdG8gaGF2ZSB0aGlz
IHR5cGUgb2Ygbm90aWZpY2F0aW9uIGVtYWlsZWQgdG8gdGhlbS48L2ZpZWxkPgorCQk8L3Jvdz4K
KwkJPHJvdz4KKwkJCTxmaWVsZCBuYW1lPSJlbWFpbF9rZXkiPk5PVElGSUNBVElPTl9NQUlMTElT
VDwvZmllbGQ+CisJCQk8ZmllbGQgbmFtZT0ic3ViamVjdCI+TmV3IG5vdGlmaWNhdGlvbiBmcm9t
IHskc2l0ZVRpdGxlfTwvZmllbGQ+CisJCQk8ZmllbGQgbmFtZT0iYm9keSI+WW91IGhhdmUgYSBu
ZXcgbm90aWZpY2F0aW9uIGZyb20geyRzaXRlVGl0bGV9OgorLS0KK3skbm90aWZpY2F0aW9uQ29u
dGVudHN9CisKK0xpbms6IHskdXJsfQorLS0KKworSWYgeW91IHdpc2ggdG8gc3RvcCByZWNlaXZp
bmcgbm90aWZpY2F0aW9uIGVtYWlscywgcGxlYXNlIGdvIHRvIHskdW5zdWJzY3JpYmVMaW5rfSBh
bmQgZW50ZXIgeW91ciBlbWFpbCBhZGRyZXNzIGFuZCBwYXNzd29yZC4KKworeyRwcmluY2lwYWxD
b250YWN0U2lnbmF0dXJlfTwvZmllbGQ+CisJCQk8ZmllbGQgbmFtZT0iZGVzY3JpcHRpb24iPlRo
aXMgZW1haWwgaXMgc2VudCB0byB1bnJlZ2lzdGVyZWQgdXNlcnMgb24gdGhlIG5vdGlmaWNhdGlv
biBtYWlsaW5nIGxpc3QuPC9maWVsZD4KKwkJPC9yb3c+CisJCTxyb3c+CisJCQk8ZmllbGQgbmFt
ZT0iZW1haWxfa2V5Ij5OT1RJRklDQVRJT05fTUFJTExJU1RfV0VMQ09NRTwvZmllbGQ+CisJCQk8
ZmllbGQgbmFtZT0ic3ViamVjdCI+V2VsY29tZSB0byB0aGUgdGhlIHskc2l0ZVRpdGxlfSBtYWls
aW5nIGxpc3QhPC9maWVsZD4KKwkJCTxmaWVsZCBuYW1lPSJib2R5Ij5Zb3UgaGF2ZSBzaWduZWQg
dXAgdG8gcmVjZWl2ZSBub3RpZmljYXRpb25zIGZyb20geyRzaXRlVGl0bGV9LgorCQkJCitQbGVh
c2UgY2xpY2sgb24gdGhpcyBsaW5rIHRvIGNvbmZpcm0geW91ciByZXF1ZXN0IGFuZCBhZGQgeW91
ciBlbWFpbCBhZGRyZXNzIHRvIHRoZSBtYWlsaW5nIGxpc3Q6IHskY29uZmlybUxpbmt9CisKK0lm
IHlvdSB3aXNoIHRvIHN0b3AgcmVjZWl2aW5nIG5vdGlmaWNhdGlvbiBlbWFpbHMsIHBsZWFzZSBn
byB0byB7JHVuc3Vic2NyaWJlTGlua30gYW5kIGVudGVyIHlvdXIgZW1haWwgYWRkcmVzcyBhbmQg
cGFzc3dvcmQuCisKK1lvdXIgcGFzc3dvcmQgZm9yIGRpc2FibGluZyBub3RpZmljYXRpb24gZW1h
aWxzIGlzOiB7JHBhc3N3b3JkfQorCit7JHByaW5jaXBhbENvbnRhY3RTaWduYXR1cmV9PC9maWVs
ZD4KKwkJCTxmaWVsZCBuYW1lPSJkZXNjcmlwdGlvbiI+VGhpcyBlbWFpbCBpcyBzZW50IHRvIGFu
IHVucmVnaXN0ZXJlZCB1c2VyIHdobyBqdXN0IHJlZ2lzdGVyZWQgd2l0aCB0aGUgbm90aWZpY2F0
aW9uIG1haWxpbmcgbGlzdC48L2ZpZWxkPgorCQk8L3Jvdz4KKwkJPHJvdz4KKwkJCTxmaWVsZCBu
YW1lPSJlbWFpbF9rZXkiPk5PVElGSUNBVElPTl9NQUlMTElTVF9QQVNTV09SRDwvZmllbGQ+CisJ
CQk8ZmllbGQgbmFtZT0ic3ViamVjdCI+WW91ciBub3RpZmljYXRpb24gbWFpbGluZyBsaXN0IGlu
Zm9ybWF0aW9uIGZvciB7JHNpdGVUaXRsZX08L2ZpZWxkPgorCQkJPGZpZWxkIG5hbWU9ImJvZHki
PllvdXIgbmV3IHBhc3N3b3JkIGZvciBkaXNhYmxpbmcgbm90aWZpY2F0aW9uIGVtYWlscyBpczog
eyRwYXNzd29yZH0KKworSWYgeW91IHdpc2ggdG8gc3RvcCByZWNlaXZpbmcgbm90aWZpY2F0aW9u
IGVtYWlscywgcGxlYXNlIGdvIHRvIHskdW5zdWJzY3JpYmVMaW5rfSBhbmQgZW50ZXIgeW91ciBl
bWFpbCBhZGRyZXNzIGFuZCBwYXNzd29yZC4KKworeyRwcmluY2lwYWxDb250YWN0U2lnbmF0dXJl
fTwvZmllbGQ+CisJCQk8ZmllbGQgbmFtZT0iZGVzY3JpcHRpb24iPlRoaXMgZW1haWwgaXMgc2Vu
dCB0byBhbiB1bnJlZ2lzdGVyZWQgdXNlciBvbiB0aGUgbm90aWZpY2F0aW9uIG1haWxpbmcgbGlz
dCB3aGVuIHRoZXkgaW5kaWNhdGUgdGhhdCB0aGV5IGhhdmUgZm9yZ290dGVuIHRoZWlyIHBhc3N3
b3JkIG9yIGFyZSB1bmFibGUgdG8gbG9naW4uIEl0IHByb3ZpZGVzIGEgVVJMIHRoZXkgY2FuIGZv
bGxvdyB0byByZXNldCB0aGVpciBwYXNzd29yZC48L2ZpZWxkPgorCQk8L3Jvdz4KKwkJPHJvdz4K
IAkJCTxmaWVsZCBuYW1lPSJlbWFpbF9rZXkiPlBBU1NXT1JEX1JFU0VUX0NPTkZJUk08L2ZpZWxk
PgogCQkJPGZpZWxkIG5hbWU9InN1YmplY3QiPlBhc3N3b3JkIFJlc2V0IENvbmZpcm1hdGlvbjwv
ZmllbGQ+CiAJCQk8ZmllbGQgbmFtZT0iYm9keSI+V2UgaGF2ZSByZWNlaXZlZCBhIHJlcXVlc3Qg
dG8gcmVzZXQgeW91ciBwYXNzd29yZCBmb3IgdGhlIHskc2l0ZVRpdGxlfSB3ZWIgc2l0ZS4KSW5k
ZXg6IGRic2NyaXB0cy94bWwvdXBncmFkZS8yLjMuMF91cGRhdGUueG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT
IGZpbGU6IC9jdnMvb2pzMi9kYnNjcmlwdHMveG1sL3VwZ3JhZGUvMi4zLjBfdXBkYXRlLnhtbCx2
CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xCmRpZmYgLXUgLXIxLjEgMi4zLjBfdXBkYXRlLnhtbAot
LS0gZGJzY3JpcHRzL3htbC91cGdyYWRlLzIuMy4wX3VwZGF0ZS54bWwJOSBEZWMgMjAwOCAxNzo0
NDowMyAtMDAwMAkxLjEKKysrIGRic2NyaXB0cy94bWwvdXBncmFkZS8yLjMuMF91cGRhdGUueG1s
CTI4IEphbiAyMDA5IDE5OjI0OjI5IC0wMDAwCkBAIC0yMyw0ICsyMyw4IEBACiAJCTxxdWVyeT5J
TlNFUlQgSU5UTyBlbWFpbF90ZW1wbGF0ZXNfZGVmYXVsdF9kYXRhIChsb2NhbGUsIGVtYWlsX2tl
eSwgc3ViamVjdCwgYm9keSwgZGVzY3JpcHRpb24pIFZBTFVFUyAoJ2VuX1VTJywgJ0VESVRPUl9E
RUNJU0lPTl9SRVNVQk1JVCcsICdFZGl0b3IgRGVjaXNpb24nLCAneyRhdXRob3JOYW1lfTpcblxu
V2UgaGF2ZSByZWFjaGVkIGEgZGVjaXNpb24gcmVnYXJkaW5nIHlvdXIgc3VibWlzc2lvbiB0byB7
JGpvdXJuYWxUaXRsZX0sIFwieyRhcnRpY2xlVGl0bGV9XCIuXG5cbk91ciBkZWNpc2lvbiBpcyB0
bzpcblxueyRlZGl0b3JpYWxDb250YWN0U2lnbmF0dXJlfVxuJywgJ1RoaXMgZW1haWwgZnJvbSB0
aGUgRWRpdG9yIG9yIFNlY3Rpb24gRWRpdG9yIHRvIGFuIEF1dGhvciBub3RpZmllcyB0aGVtIG9m
IGEgZmluYWwgZGVjaXNpb24gcmVnYXJkaW5nIHRoZWlyIHN1Ym1pc3Npb24uJyk8L3F1ZXJ5Pgog
CQk8cXVlcnk+SU5TRVJUIElOVE8gZW1haWxfdGVtcGxhdGVzX2RlZmF1bHRfZGF0YSAobG9jYWxl
LCBlbWFpbF9rZXksIHN1YmplY3QsIGJvZHksIGRlc2NyaXB0aW9uKSBWQUxVRVMgKCdlbl9VUycs
ICdFRElUT1JfREVDSVNJT05fREVDTElORScsICdFZGl0b3IgRGVjaXNpb24nLCAneyRhdXRob3JO
YW1lfTpcblxuV2UgaGF2ZSByZWFjaGVkIGEgZGVjaXNpb24gcmVnYXJkaW5nIHlvdXIgc3VibWlz
c2lvbiB0byB7JGpvdXJuYWxUaXRsZX0sIFwieyRhcnRpY2xlVGl0bGV9XCIuXG5cbk91ciBkZWNp
c2lvbiBpcyB0bzpcblxueyRlZGl0b3JpYWxDb250YWN0U2lnbmF0dXJlfVxuJywgJ1RoaXMgZW1h
aWwgZnJvbSB0aGUgRWRpdG9yIG9yIFNlY3Rpb24gRWRpdG9yIHRvIGFuIEF1dGhvciBub3RpZmll
cyB0aGVtIG9mIGEgZmluYWwgZGVjaXNpb24gcmVnYXJkaW5nIHRoZWlyIHN1Ym1pc3Npb24uJyk8
L3F1ZXJ5PgogCTwvc3FsPgorCTwhLS0gQnVnICMzOTIyIyBObyBuZWVkIGZvciB0aGUgbm90aWZp
Y2F0aW9uX3N0YXR1cyB0YWJsZSAoaXQgaXMgZW5jYXBzdWxhdGVkIGJ5IHRoZSBub3RpZmljYXRp
b24gdGFibGUpIC0tPgorCTxzcWw+CisJCTxkcm9wIHRhYmxlPSJub3RpZmljYXRpb25fc3RhdHVz
IiAvPgorCTwvc3FsPgogPC9kYXRhPgpJbmRleDogcGFnZXMvYWJvdXQvQWJvdXRIYW5kbGVyLmlu
Yy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9vanMyL3BhZ2VzL2Fib3V0L0Fib3V0SGFu
ZGxlci5pbmMucGhwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjUwCmRpZmYgLXUgLXIxLjUwIEFi
b3V0SGFuZGxlci5pbmMucGhwCi0tLSBwYWdlcy9hYm91dC9BYm91dEhhbmRsZXIuaW5jLnBocAkx
NiBPY3QgMjAwOCAxODowMjoyOCAtMDAwMAkxLjUwCisrKyBwYWdlcy9hYm91dC9BYm91dEhhbmRs
ZXIuaW5jLnBocAkyOCBKYW4gMjAwOSAxOToyNDozMCAtMDAwMApAQCAtNTU2LDEwICs1NTYsNiBA
QAogCQkJJHRlbXBsYXRlTWdyLT5hc3NpZ24oJ3N1YnNjcmlwdGlvblN0YXRpc3RpY3MnLCAkc3Vi
c2NyaXB0aW9uU3RhdGlzdGljcyk7CiAJCX0KIAotCQkkbm90aWZpY2F0aW9uU3RhdHVzRGFvID0m
IERBT1JlZ2lzdHJ5OjpnZXREQU8oJ05vdGlmaWNhdGlvblN0YXR1c0RBTycpOwotCQkkbm90aWZp
YWJsZVVzZXJzID0gJG5vdGlmaWNhdGlvblN0YXR1c0Rhby0+Z2V0Tm90aWZpYWJsZVVzZXJzQ291
bnQoJGpvdXJuYWwtPmdldEpvdXJuYWxJZCgpKTsKLQkJJHRlbXBsYXRlTWdyLT5hc3NpZ24oJ25v
dGlmaWFibGVVc2VycycsICRub3RpZmlhYmxlVXNlcnMpOwotCiAJCSR0ZW1wbGF0ZU1nci0+ZGlz
cGxheSgnYWJvdXQvc3RhdGlzdGljcy50cGwnKTsKIAl9CiAKSW5kZXg6IHBhZ2VzL2FkbWluL0Fk
bWluSm91cm5hbEhhbmRsZXIuaW5jLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL29qczIv
cGFnZXMvYWRtaW4vQWRtaW5Kb3VybmFsSGFuZGxlci5pbmMucGhwLHYKcmV0cmlldmluZyByZXZp
c2lvbiAxLjI0CmRpZmYgLXUgLXIxLjI0IEFkbWluSm91cm5hbEhhbmRsZXIuaW5jLnBocAotLS0g
cGFnZXMvYWRtaW4vQWRtaW5Kb3VybmFsSGFuZGxlci5pbmMucGhwCTEwIERlYyAyMDA4IDIzOjM3
OjI4IC0wMDAwCTEuMjQKKysrIHBhZ2VzL2FkbWluL0FkbWluSm91cm5hbEhhbmRsZXIuaW5jLnBo
cAkyOCBKYW4gMjAwOSAxOToyNDozMCAtMDAwMApAQCAtNzcsNiArNzcsNyBAQAogCQlpZiAoJHNl
dHRpbmdzRm9ybS0+dmFsaWRhdGUoKSkgewogCQkJUGx1Z2luUmVnaXN0cnk6OmxvYWRDYXRlZ29y
eSgnYmxvY2tzJyk7CiAJCQkkc2V0dGluZ3NGb3JtLT5leGVjdXRlKCk7CisKIAkJCVJlcXVlc3Q6
OnJlZGlyZWN0KG51bGwsIG51bGwsICdqb3VybmFscycpOwogCiAJCX0gZWxzZSB7CkluZGV4OiBw
YWdlcy9hZG1pbi9BZG1pblBlb3BsZUhhbmRsZXIuaW5jLnBocAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxl
OiAvY3ZzL29qczIvcGFnZXMvYWRtaW4vQWRtaW5QZW9wbGVIYW5kbGVyLmluYy5waHAsdgpyZXRy
aWV2aW5nIHJldmlzaW9uIDEuOApkaWZmIC11IC1yMS44IEFkbWluUGVvcGxlSGFuZGxlci5pbmMu
cGhwCi0tLSBwYWdlcy9hZG1pbi9BZG1pblBlb3BsZUhhbmRsZXIuaW5jLnBocAkxNiBPY3QgMjAw
OCAxODowMjoyNyAtMDAwMAkxLjgKKysrIHBhZ2VzL2FkbWluL0FkbWluUGVvcGxlSGFuZGxlci5p
bmMucGhwCTI4IEphbiAyMDA5IDE5OjI0OjMwIC0wMDAwCkBAIC0xMjUsOCArMTI1LDYgQEAKIAkJ
CSRzdWJzY3JpcHRpb25EYW8tPmRlbGV0ZVN1YnNjcmlwdGlvbnNCeVVzZXJJZCgkb2xkVXNlcklk
KTsKIAkJCSR0ZW1wb3JhcnlGaWxlRGFvID0mIERBT1JlZ2lzdHJ5OjpnZXREQU8oJ1RlbXBvcmFy
eUZpbGVEQU8nKTsKIAkJCSR0ZW1wb3JhcnlGaWxlRGFvLT5kZWxldGVUZW1wb3JhcnlGaWxlc0J5
VXNlcklkKCRvbGRVc2VySWQpOwotCQkJJG5vdGlmaWNhdGlvblN0YXR1c0RhbyA9JiBEQU9SZWdp
c3RyeTo6Z2V0REFPKCdOb3RpZmljYXRpb25TdGF0dXNEQU8nKTsKLQkJCSRub3RpZmljYXRpb25T
dGF0dXNEYW8tPmRlbGV0ZU5vdGlmaWNhdGlvblN0YXR1c0J5VXNlcklkKCRvbGRVc2VySWQpOwog
CQkJJHVzZXJTZXR0aW5nc0RhbyA9JiBEQU9SZWdpc3RyeTo6Z2V0REFPKCdVc2VyU2V0dGluZ3NE
QU8nKTsKIAkJCSR1c2VyU2V0dGluZ3NEYW8tPmRlbGV0ZVNldHRpbmdzKCRvbGRVc2VySWQpOwog
CQkJJGdyb3VwTWVtYmVyc2hpcERhbyA9JiBEQU9SZWdpc3RyeTo6Z2V0REFPKCdHcm91cE1lbWJl
cnNoaXBEQU8nKTsKSW5kZXg6IHBhZ2VzL2FkbWluL0FkbWluU2V0dGluZ3NIYW5kbGVyLmluYy5w
aHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9vanMyL3BhZ2VzL2FkbWluL0FkbWluU2V0dGlu
Z3NIYW5kbGVyLmluYy5waHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTgKZGlmZiAtdSAtcjEu
MTggQWRtaW5TZXR0aW5nc0hhbmRsZXIuaW5jLnBocAotLS0gcGFnZXMvYWRtaW4vQWRtaW5TZXR0
aW5nc0hhbmRsZXIuaW5jLnBocAkxMCBEZWMgMjAwOCAyMzozNzoyOCAtMDAwMAkxLjE4CisrKyBw
YWdlcy9hZG1pbi9BZG1pblNldHRpbmdzSGFuZGxlci5pbmMucGhwCTI4IEphbiAyMDA5IDE5OjI0
OjMwIC0wMDAwCkBAIC03Nyw3ICs3Nyw2IEBACiAJCQl9CiAJCX0gZWxzZWlmICgkc2V0dGluZ3NG
b3JtLT52YWxpZGF0ZSgpKSB7CiAJCQkkc2V0dGluZ3NGb3JtLT5leGVjdXRlKCk7Ci0KIAkJCSR0
ZW1wbGF0ZU1nciA9ICZUZW1wbGF0ZU1hbmFnZXI6OmdldE1hbmFnZXIoKTsKIAkJCSR0ZW1wbGF0
ZU1nci0+YXNzaWduKGFycmF5KAogCQkJCSdjdXJyZW50VXJsJyA9PiBSZXF1ZXN0Ojp1cmwobnVs
bCwgbnVsbCwgJ3NldHRpbmdzJyksCkluZGV4OiBwYWdlcy9hdXRob3IvU3VibWl0SGFuZGxlci5p
bmMucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvb2pzMi9wYWdlcy9hdXRob3IvU3VibWl0
SGFuZGxlci5pbmMucGhwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjMwCmRpZmYgLXUgLXIxLjMw
IFN1Ym1pdEhhbmRsZXIuaW5jLnBocAotLS0gcGFnZXMvYXV0aG9yL1N1Ym1pdEhhbmRsZXIuaW5j
LnBocAkxMCBEZWMgMjAwOCAyMzozNzoyOCAtMDAwMAkxLjMwCisrKyBwYWdlcy9hdXRob3IvU3Vi
bWl0SGFuZGxlci5pbmMucGhwCTI4IEphbiAyMDA5IDE5OjI0OjMwIC0wMDAwCkBAIC0xNDQsNiAr
MTQ0LDI1IEBACiAJCQkkYXJ0aWNsZUlkID0gJHN1Ym1pdEZvcm0tPmV4ZWN1dGUoKTsKIAogCQkJ
aWYgKCRzdGVwID09IDUpIHsKKwkJCQkvLyBTZW5kIGEgbm90aWZpY2F0aW9uIHRvIGFzc29jaWF0
ZWQgdXNlcnMKKwkJCQlpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmljYXRpb24nKTsKKwkJCQkk
YXJ0aWNsZURhbyA9JiBEQU9SZWdpc3RyeTo6Z2V0REFPKCdBcnRpY2xlREFPJyk7IAorCQkJCSRh
cnRpY2xlID0mICRhcnRpY2xlRGFvLT5nZXRBcnRpY2xlKCRhcnRpY2xlSWQpOworCQkJCSRyb2xl
RGFvID0gJkRBT1JlZ2lzdHJ5OjpnZXREQU8oJ1JvbGVEQU8nKTsKKwkJCQkkbm90aWZpY2F0aW9u
VXNlcnMgPSBhcnJheSgpOworCQkJCSRqb3VybmFsTWFuYWdlcnMgPSAkcm9sZURhby0+Z2V0VXNl
cnNCeVJvbGVJZChST0xFX0lEX0pPVVJOQUxfTUFOQUdFUik7CisJCQkJJGFsbFVzZXJzID0gJGpv
dXJuYWxNYW5hZ2Vycy0+dG9BcnJheSgpOworCQkJCSRlZGl0b3JzID0gJHJvbGVEYW8tPmdldFVz
ZXJzQnlSb2xlSWQoUk9MRV9JRF9FRElUT1IpOworCQkJCWFycmF5X21lcmdlKCRhbGxVc2Vycywg
JGVkaXRvcnMtPnRvQXJyYXkoKSk7CisJCQkJZm9yZWFjaCAoJGFsbFVzZXJzIGFzICR1c2VyKSB7
CisJCQkJCSRub3RpZmljYXRpb25Vc2Vyc1tdID0gYXJyYXkoJ2lkJyA9PiAkdXNlci0+Z2V0VXNl
cklkKCkpOworCQkJCX0KKwkJCQlmb3JlYWNoICgkbm90aWZpY2F0aW9uVXNlcnMgYXMgJHVzZXIp
IHsKKwkJCQkJJHVybCA9IFJlcXVlc3Q6OnVybChudWxsLCAnZWRpdG9yJywgJ3N1Ym1pc3Npb24n
LCAkYXJ0aWNsZUlkKTsKKwkJCQkJTm90aWZpY2F0aW9uOjpjcmVhdGVOb3RpZmljYXRpb24oJHVz
ZXJbJ2lkJ10sICJub3RpZmljYXRpb24udHlwZS5hcnRpY2xlU3VibWl0dGVkIiwKKwkJCQkJCSRh
cnRpY2xlLT5nZXRBcnRpY2xlVGl0bGUoKSwgJHVybCwgMSwgTk9USUZJQ0FUSU9OX1RZUEVfQVJU
SUNMRV9TVUJNSVRURUQpOworCQkJCX0KKwkJCQkKIAkJCQkkam91cm5hbCA9ICZSZXF1ZXN0Ojpn
ZXRKb3VybmFsKCk7CiAJCQkJJHRlbXBsYXRlTWdyID0gJlRlbXBsYXRlTWFuYWdlcjo6Z2V0TWFu
YWdlcigpOwogCQkJCSR0ZW1wbGF0ZU1nci0+YXNzaWduX2J5X3JlZignam91cm5hbCcsICRqb3Vy
bmFsKTsKSW5kZXg6IHBhZ2VzL2NvbW1lbnQvQ29tbWVudEhhbmRsZXIuaW5jLnBocAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09ClJDUyBmaWxlOiAvY3ZzL29qczIvcGFnZXMvY29tbWVudC9Db21tZW50SGFuZGxlci5pbmMu
cGhwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjM0CmRpZmYgLXUgLXIxLjM0IENvbW1lbnRIYW5k
bGVyLmluYy5waHAKLS0tIHBhZ2VzL2NvbW1lbnQvQ29tbWVudEhhbmRsZXIuaW5jLnBocAkxMCBE
ZWMgMjAwOCAyMzozNzoyOCAtMDAwMAkxLjM0CisrKyBwYWdlcy9jb21tZW50L0NvbW1lbnRIYW5k
bGVyLmluYy5waHAJMjggSmFuIDIwMDkgMTk6MjQ6MzAgLTAwMDAKQEAgLTk3LDYgKzk3LDE4IEBA
CiAJCQkkY29tbWVudEZvcm0tPnJlYWRJbnB1dERhdGEoKTsKIAkJCWlmICgkY29tbWVudEZvcm0t
PnZhbGlkYXRlKCkpIHsKIAkJCQkkY29tbWVudEZvcm0tPmV4ZWN1dGUoKTsKKwkJCQkKKwkJCQkv
LyBTZW5kIGEgbm90aWZpY2F0aW9uIHRvIGFzc29jaWF0ZWQgdXNlcnMKKwkJCQlpbXBvcnQoJ25v
dGlmaWNhdGlvbi5Ob3RpZmljYXRpb24nKTsKKwkJCQkkYXJ0aWNsZURBTyA9JiBEQU9SZWdpc3Ry
eTo6Z2V0REFPKCdBcnRpY2xlREFPJyk7CisJCQkJJGFydGljbGUgPSYgJGFydGljbGVEQU8tPmdl
dEFydGljbGUoJGFydGljbGVJZCk7CisJCQkJJG5vdGlmaWNhdGlvblVzZXJzID0gJGFydGljbGUt
PmdldEFzc29jaWF0ZWRVc2VySWRzKCk7CisJCQkJZm9yZWFjaCAoJG5vdGlmaWNhdGlvblVzZXJz
IGFzICR1c2VyKSB7CisJCQkJCSR1cmwgPSBSZXF1ZXN0Ojp1cmwobnVsbCwgbnVsbCwgJ3ZpZXcn
LCBhcnJheSgkYXJ0aWNsZUlkLCAkZ2FsbGV5SWQsICRwYXJlbnRJZCkpOworCQkJCQlOb3RpZmlj
YXRpb246OmNyZWF0ZU5vdGlmaWNhdGlvbigkdXNlclsnaWQnXSwgIm5vdGlmaWNhdGlvbi50eXBl
LnVzZXJDb21tZW50IiwKKwkJCQkJCSRhcnRpY2xlLT5nZXRBcnRpY2xlVGl0bGUoKSwgJHVybCwg
MSwgTk9USUZJQ0FUSU9OX1RZUEVfVVNFUl9DT01NRU5UKTsKKwkJCQl9CisJCQkJCiAJCQkJUmVx
dWVzdDo6cmVkaXJlY3QobnVsbCwgbnVsbCwgJ3ZpZXcnLCBhcnJheSgkYXJ0aWNsZUlkLCAkZ2Fs
bGV5SWQsICRwYXJlbnRJZCksIGFycmF5KCdyZWZyZXNoJyA9PiAxKSk7CiAJCQl9CiAJCX0KSW5k
ZXg6IHBhZ2VzL2VkaXRvci9Jc3N1ZU1hbmFnZW1lbnRIYW5kbGVyLmluYy5waHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQpSQ1MgZmlsZTogL2N2cy9vanMyL3BhZ2VzL2VkaXRvci9Jc3N1ZU1hbmFnZW1lbnRIYW5kbGVy
LmluYy5waHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuODMKZGlmZiAtdSAtcjEuODMgSXNzdWVN
YW5hZ2VtZW50SGFuZGxlci5pbmMucGhwCi0tLSBwYWdlcy9lZGl0b3IvSXNzdWVNYW5hZ2VtZW50
SGFuZGxlci5pbmMucGhwCTEwIERlYyAyMDA4IDIzOjM3OjI4IC0wMDAwCTEuODMKKysrIHBhZ2Vz
L2VkaXRvci9Jc3N1ZU1hbmFnZW1lbnRIYW5kbGVyLmluYy5waHAJMjggSmFuIDIwMDkgMTk6MjQ6
MzAgLTAwMDAKQEAgLTk0LDcgKzk0LDYgQEAKIAkJCQkkaXNzdWVEYW8tPnVwZGF0ZUlzc3VlKCRp
c3N1ZSk7CiAJCQl9CiAJCX0KLQogCQlSZXF1ZXN0OjpyZWRpcmVjdChudWxsLCBudWxsLCAnYmFj
a0lzc3VlcycpOwogCX0KIApAQCAtNTM3LDcgKzUzNiwyNiBAQAogCiAJCSRpc3N1ZURhbyA9ICZE
QU9SZWdpc3RyeTo6Z2V0REFPKCdJc3N1ZURBTycpOwogCQkkaXNzdWVEYW8tPnVwZGF0ZUN1cnJl
bnRJc3N1ZSgkam91cm5hbElkLCRpc3N1ZSk7Ci0KKwkJCisJCS8vIFNlbmQgYSBub3RpZmljYXRp
b24gdG8gYXNzb2NpYXRlZCB1c2VycworCQlpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmljYXRp
b24nKTsKKwkJJHJvbGVEYW8gPSAmREFPUmVnaXN0cnk6OmdldERBTygnUm9sZURBTycpOworCQkk
bm90aWZpY2F0aW9uVXNlcnMgPSBhcnJheSgpOworCQkkYWxsVXNlcnMgPSAkcm9sZURhby0+Z2V0
VXNlcnNCeUpvdXJuYWxJZCgkam91cm5hbElkKTsKKwkJd2hpbGUgKCEkYWxsVXNlcnMtPmVvZigp
KSB7CisJCQkkdXNlciA9ICYkYWxsVXNlcnMtPm5leHQoKTsKKwkJCSRub3RpZmljYXRpb25Vc2Vy
c1tdID0gYXJyYXkoJ2lkJyA9PiAkdXNlci0+Z2V0VXNlcklkKCkpOworCQkJdW5zZXQoJHVzZXIp
OworCQl9CisJCSR1cmwgPSBSZXF1ZXN0Ojp1cmwobnVsbCwgJ2lzc3VlJywgJ2N1cnJlbnQnKTsK
KwkJZm9yZWFjaCAoJG5vdGlmaWNhdGlvblVzZXJzIGFzICR1c2VyKSB7CisJCQlOb3RpZmljYXRp
b246OmNyZWF0ZU5vdGlmaWNhdGlvbigkdXNlclsnaWQnXSwgIm5vdGlmaWNhdGlvbi50eXBlLmlz
c3VlUHVibGlzaGVkIiwKKwkJCQludWxsLCAkdXJsLCAxLCBOT1RJRklDQVRJT05fVFlQRV9QVUJM
SVNIRURfSVNTVUUpOworCQl9CisJCSRub3RpZmljYXRpb25EYW8gPSAmREFPUmVnaXN0cnk6Omdl
dERBTygnTm90aWZpY2F0aW9uREFPJyk7CisJCSRub3RpZmljYXRpb25EYW8tPnNlbmRUb01haWxp
bmdMaXN0KE5vdGlmaWNhdGlvbjo6Y3JlYXRlTm90aWZpY2F0aW9uKDAsICJub3RpZmljYXRpb24u
dHlwZS5pc3N1ZVB1Ymxpc2hlZCIsCisJCQkJbnVsbCwgJHVybCwgMSwgTk9USUZJQ0FUSU9OX1RZ
UEVfUFVCTElTSEVEX0lTU1VFKSk7CisJCQkJCiAJCVJlcXVlc3Q6OnJlZGlyZWN0KG51bGwsIG51
bGwsICdpc3N1ZVRvYycsICRpc3N1ZS0+Z2V0SXNzdWVJZCgpKTsKIAl9CiAKQEAgLTU1MCw3ICs1
NjgsNiBAQAogCiAJCSR1c2VyRGFvID0gJkRBT1JlZ2lzdHJ5OjpnZXREQU8oJ1VzZXJEQU8nKTsK
IAkJJGlzc3VlRGFvID0gJkRBT1JlZ2lzdHJ5OjpnZXREQU8oJ0lzc3VlREFPJyk7Ci0JCSRub3Rp
ZmljYXRpb25TdGF0dXNEYW8gPSAmREFPUmVnaXN0cnk6OmdldERBTygnTm90aWZpY2F0aW9uU3Rh
dHVzREFPJyk7CiAJCSRyb2xlRGFvID0gJkRBT1JlZ2lzdHJ5OjpnZXREQU8oJ1JvbGVEQU8nKTsK
IAogCQkkam91cm5hbCA9ICZSZXF1ZXN0OjpnZXRKb3VybmFsKCk7CkBAIC01NjMsMTEgKzU4MCw4
IEBACiAJCWlmIChSZXF1ZXN0OjpnZXRVc2VyVmFyKCdzZW5kJykgJiYgISRlbWFpbC0+aGFzRXJy
b3JzKCkpIHsKIAkJCSRlbWFpbC0+YWRkUmVjaXBpZW50KCR1c2VyLT5nZXRFbWFpbCgpLCAkdXNl
ci0+Z2V0RnVsbE5hbWUoKSk7CiAKLQkJCWlmIChSZXF1ZXN0OjpnZXRVc2VyVmFyKCd3aGljaFVz
ZXJzJykgPT0gJ2FsbFVzZXJzJykgewotCQkJCSRyZWNpcGllbnRzID0gJHJvbGVEYW8tPmdldFVz
ZXJzQnlKb3VybmFsSWQoJGpvdXJuYWwtPmdldEpvdXJuYWxJZCgpKTsKLQkJCX0gZWxzZSB7Ci0J
CQkJJHJlY2lwaWVudHMgPSAkbm90aWZpY2F0aW9uU3RhdHVzRGFvLT5nZXROb3RpZmlhYmxlVXNl
cnNCeUpvdXJuYWxJZCgkam91cm5hbC0+Z2V0Sm91cm5hbElkKCkpOwotCQkJfQorCQkJJHJlY2lw
aWVudHMgPSAkcm9sZURhby0+Z2V0VXNlcnNCeUpvdXJuYWxJZCgkam91cm5hbC0+Z2V0Sm91cm5h
bElkKCkpOworCiAJCQl3aGlsZSAoISRyZWNpcGllbnRzLT5lb2YoKSkgewogCQkJCSRyZWNpcGll
bnQgPSAmJHJlY2lwaWVudHMtPm5leHQoKTsKIAkJCQkkZW1haWwtPmFkZFJlY2lwaWVudCgkcmVj
aXBpZW50LT5nZXRFbWFpbCgpLCAkcmVjaXBpZW50LT5nZXRGdWxsTmFtZSgpKTsKQEAgLTYxMCw3
ICs2MjQsNiBAQAogCQkJCQknZWRpdG9yaWFsQ29udGFjdFNpZ25hdHVyZScgPT4gJHVzZXItPmdl
dENvbnRhY3RTaWduYXR1cmUoKQogCQkJCSkpOwogCQkJfQotCQkJJG5vdGlmaWFibGVDb3VudCA9
ICRub3RpZmljYXRpb25TdGF0dXNEYW8tPmdldE5vdGlmaWFibGVVc2Vyc0NvdW50KCRqb3VybmFs
LT5nZXRKb3VybmFsSWQoKSk7CiAJCQkkYWxsVXNlcnNDb3VudCA9ICRyb2xlRGFvLT5nZXRKb3Vy
bmFsVXNlcnNDb3VudCgkam91cm5hbC0+Z2V0Sm91cm5hbElkKCkpOwogCiAJCQkkaXNzdWVzSXRl
cmF0b3IgPSAmJGlzc3VlRGFvLT5nZXRJc3N1ZXMoJGpvdXJuYWwtPmdldEpvdXJuYWxJZCgpKTsK
QEAgLTYyMSw3ICs2MzQsNiBAQAogCQkJCSdlZGl0b3Ivbm90aWZ5VXNlcnMudHBsJywKIAkJCQlh
cnJheSgKIAkJCQkJJ2lzc3VlcycgPT4gJGlzc3Vlc0l0ZXJhdG9yLAotCQkJCQknbm90aWZpYWJs
ZUNvdW50JyA9PiAkbm90aWZpYWJsZUNvdW50LAogCQkJCQknYWxsVXNlcnNDb3VudCcgPT4gJGFs
bFVzZXJzQ291bnQKIAkJCQkpCiAJCQkpOwpJbmRleDogcGFnZXMvbGF5b3V0RWRpdG9yL1N1Ym1p
c3Npb25MYXlvdXRIYW5kbGVyLmluYy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9vanMy
L3BhZ2VzL2xheW91dEVkaXRvci9TdWJtaXNzaW9uTGF5b3V0SGFuZGxlci5pbmMucGhwLHYKcmV0
cmlldmluZyByZXZpc2lvbiAxLjQzCmRpZmYgLXUgLXIxLjQzIFN1Ym1pc3Npb25MYXlvdXRIYW5k
bGVyLmluYy5waHAKLS0tIHBhZ2VzL2xheW91dEVkaXRvci9TdWJtaXNzaW9uTGF5b3V0SGFuZGxl
ci5pbmMucGhwCTEwIERlYyAyMDA4IDIzOjM3OjI4IC0wMDAwCTEuNDMKKysrIHBhZ2VzL2xheW91
dEVkaXRvci9TdWJtaXNzaW9uTGF5b3V0SGFuZGxlci5pbmMucGhwCTI4IEphbiAyMDA5IDE5OjI0
OjMxIC0wMDAwCkBAIC0xODQsNiArMTg0LDE3IEBACiAJCWlmICgkc3VibWl0Rm9ybS0+dmFsaWRh
dGUoKSkgewogCQkJJHN1Ym1pdEZvcm0tPmV4ZWN1dGUoKTsKIAorCQkJLy8gU2VuZCBhIG5vdGlm
aWNhdGlvbiB0byBhc3NvY2lhdGVkIHVzZXJzCisJCQlpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3Rp
ZmljYXRpb24nKTsKKwkJCSRhcnRpY2xlRGFvID0mIERBT1JlZ2lzdHJ5OjpnZXREQU8oJ0FydGlj
bGVEQU8nKTsgCisJCQkkYXJ0aWNsZSA9JiAkYXJ0aWNsZURhby0+Z2V0QXJ0aWNsZSgkYXJ0aWNs
ZUlkKTsKKwkJCSRub3RpZmljYXRpb25Vc2VycyA9ICRhcnRpY2xlLT5nZXRBc3NvY2lhdGVkVXNl
cklkcyh0cnVlLCBmYWxzZSk7CisJCQlmb3JlYWNoICgkbm90aWZpY2F0aW9uVXNlcnMgYXMgJHVz
ZXIpIHsKKwkJCQkkdXJsID0gUmVxdWVzdDo6dXJsKG51bGwsICR1c2VyWydyb2xlJ10sICdzdWJt
aXNzaW9uRWRpdGluZycsICRhcnRpY2xlLT5nZXRBcnRpY2xlSWQoKSwgbnVsbCwgJ2xheW91dCcp
OworCQkJCU5vdGlmaWNhdGlvbjo6Y3JlYXRlTm90aWZpY2F0aW9uKCR1c2VyWydpZCddLCAibm90
aWZpY2F0aW9uLnR5cGUuZ2FsbGV5TW9kaWZpZWQiLAorCQkJCQkkYXJ0aWNsZS0+Z2V0QXJ0aWNs
ZVRpdGxlKCksICR1cmwsIDEsIE5PVElGSUNBVElPTl9UWVBFX0dBTExFWV9NT0RJRklFRCk7CisJ
CQl9CisKIAkJCWlmIChSZXF1ZXN0OjpnZXRVc2VyVmFyKCd1cGxvYWRJbWFnZScpKSB7CiAJCQkJ
JHN1Ym1pdEZvcm0tPnVwbG9hZEltYWdlKCk7CiAJCQkJUmVxdWVzdDo6cmVkaXJlY3QobnVsbCwg
bnVsbCwgJ2VkaXRHYWxsZXknLCBhcnJheSgkYXJ0aWNsZUlkLCAkZ2FsbGV5SWQpKTsKQEAgLTM2
OCw2ICszNzksMTggQEAKIAogCQlpZiAoJHN1Ym1pdEZvcm0tPnZhbGlkYXRlKCkpIHsKIAkJCSRz
dWJtaXRGb3JtLT5leGVjdXRlKCk7CisKKwkJCS8vIFNlbmQgYSBub3RpZmljYXRpb24gdG8gYXNz
b2NpYXRlZCB1c2VycworCQkJaW1wb3J0KCdub3RpZmljYXRpb24uTm90aWZpY2F0aW9uJyk7CisJ
CQkkYXJ0aWNsZURhbyA9JiBEQU9SZWdpc3RyeTo6Z2V0REFPKCdBcnRpY2xlREFPJyk7IAorCQkJ
JGFydGljbGUgPSYgJGFydGljbGVEYW8tPmdldEFydGljbGUoJGFydGljbGVJZCk7CisJCQkkbm90
aWZpY2F0aW9uVXNlcnMgPSAkYXJ0aWNsZS0+Z2V0QXNzb2NpYXRlZFVzZXJJZHModHJ1ZSwgZmFs
c2UpOworCQkJZm9yZWFjaCAoJG5vdGlmaWNhdGlvblVzZXJzIGFzICR1c2VyKSB7CisJCQkJJHVy
bCA9IFJlcXVlc3Q6OnVybChudWxsLCAkdXNlclsncm9sZSddLCAnc3VibWlzc2lvbkVkaXRpbmcn
LCAkYXJ0aWNsZS0+Z2V0QXJ0aWNsZUlkKCksIG51bGwsICdsYXlvdXQnKTsKKwkJCQlOb3RpZmlj
YXRpb246OmNyZWF0ZU5vdGlmaWNhdGlvbigkdXNlclsnaWQnXSwgIm5vdGlmaWNhdGlvbi50eXBl
LnN1cHBGaWxlTW9kaWZpZWQiLAorCQkJCQkkYXJ0aWNsZS0+Z2V0QXJ0aWNsZVRpdGxlKCksICR1
cmwsIDEsIE5PVElGSUNBVElPTl9UWVBFX1NVUFBfRklMRV9NT0RJRklFRCk7CisJCQl9CisJCQkK
IAkJCVJlcXVlc3Q6OnJlZGlyZWN0KG51bGwsIG51bGwsICdzdWJtaXNzaW9uJywgJGFydGljbGVJ
ZCk7CiAKIAkJfSBlbHNlIHsKSW5kZXg6IHBhZ2VzL21hbmFnZXIvTWFuYWdlclBheW1lbnRIYW5k
bGVyLmluYy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9vanMyL3BhZ2VzL21hbmFnZXIv
TWFuYWdlclBheW1lbnRIYW5kbGVyLmluYy5waHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTAK
ZGlmZiAtdSAtcjEuMTAgTWFuYWdlclBheW1lbnRIYW5kbGVyLmluYy5waHAKLS0tIHBhZ2VzL21h
bmFnZXIvTWFuYWdlclBheW1lbnRIYW5kbGVyLmluYy5waHAJMTAgRGVjIDIwMDggMjM6Mzc6Mjgg
LTAwMDAJMS4xMAorKysgcGFnZXMvbWFuYWdlci9NYW5hZ2VyUGF5bWVudEhhbmRsZXIuaW5jLnBo
cAkyOCBKYW4gMjAwOSAxOToyNDozMSAtMDAwMApAQCAtMTUyLDcgKzE1Miw2IEBACiAKIAkJaWYg
KCRzZXR0aW5nc0Zvcm0tPnZhbGlkYXRlKCkpIHsKIAkJCSRzZXR0aW5nc0Zvcm0tPmV4ZWN1dGUo
KTsKLQogCQkJJHRlbXBsYXRlTWdyLT5hc3NpZ24oYXJyYXkoCiAJCQkJJ2N1cnJlbnRVcmwnID0+
IFJlcXVlc3Q6OnVybChudWxsLCBudWxsLCAncGF5TWV0aG9kU2V0dGluZ3MnKSwKIAkJCQkncGFn
ZVRpdGxlJyA9PiAnbWFuYWdlci5wYXltZW50LnBheW1lbnRNZXRob2RzJywKSW5kZXg6IHBhZ2Vz
L21hbmFnZXIvU3Vic2NyaXB0aW9uSGFuZGxlci5pbmMucGhwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6
IC9jdnMvb2pzMi9wYWdlcy9tYW5hZ2VyL1N1YnNjcmlwdGlvbkhhbmRsZXIuaW5jLnBocCx2CnJl
dHJpZXZpbmcgcmV2aXNpb24gMS4yNwpkaWZmIC11IC1yMS4yNyBTdWJzY3JpcHRpb25IYW5kbGVy
LmluYy5waHAKLS0tIHBhZ2VzL21hbmFnZXIvU3Vic2NyaXB0aW9uSGFuZGxlci5pbmMucGhwCTEw
IERlYyAyMDA4IDIzOjM3OjI4IC0wMDAwCTEuMjcKKysrIHBhZ2VzL21hbmFnZXIvU3Vic2NyaXB0
aW9uSGFuZGxlci5pbmMucGhwCTI4IEphbiAyMDA5IDE5OjI0OjMyIC0wMDAwCkBAIC0yMzAsNyAr
MjMwLDYgQEAKIAogCQkJaWYgKCRzdWJzY3JpcHRpb25Gb3JtLT52YWxpZGF0ZSgpKSB7CiAJCQkJ
JHN1YnNjcmlwdGlvbkZvcm0tPmV4ZWN1dGUoKTsKLQogCQkJCWlmIChSZXF1ZXN0OjpnZXRVc2Vy
VmFyKCdjcmVhdGVBbm90aGVyJykpIHsKIAkJCQkJUmVxdWVzdDo6cmVkaXJlY3QobnVsbCwgbnVs
bCwgJ3NlbGVjdFN1YnNjcmliZXInLCBudWxsLCBhcnJheSgnc3Vic2NyaXB0aW9uQ3JlYXRlZCcs
IDEpKTsKIAkJCQl9IGVsc2UgewpAQCAtNDY1LDcgKzQ2NCw2IEBACiAKIAkJaWYgKCRzdWJzY3Jp
cHRpb25Qb2xpY3lGb3JtLT52YWxpZGF0ZSgpKSB7CiAJCQkkc3Vic2NyaXB0aW9uUG9saWN5Rm9y
bS0+ZXhlY3V0ZSgpOwotCiAJCQlTdWJzY3JpcHRpb25IYW5kbGVyOjpzZXR1cFRlbXBsYXRlKHRy
dWUpOwogCiAJCQkkdGVtcGxhdGVNZ3IgPSAmVGVtcGxhdGVNYW5hZ2VyOjpnZXRNYW5hZ2VyKCk7
CkluZGV4OiBwYWdlcy9zZWN0aW9uRWRpdG9yL1N1Ym1pc3Npb25FZGl0SGFuZGxlci5pbmMucGhw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvb2pzMi9wYWdlcy9zZWN0aW9uRWRpdG9yL1N1Ym1p
c3Npb25FZGl0SGFuZGxlci5pbmMucGhwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjgxCmRpZmYg
LXUgLXIxLjgxIFN1Ym1pc3Npb25FZGl0SGFuZGxlci5pbmMucGhwCi0tLSBwYWdlcy9zZWN0aW9u
RWRpdG9yL1N1Ym1pc3Npb25FZGl0SGFuZGxlci5pbmMucGhwCTEwIERlYyAyMDA4IDIzOjM3OjI4
IC0wMDAwCTEuODEKKysrIHBhZ2VzL3NlY3Rpb25FZGl0b3IvU3VibWlzc2lvbkVkaXRIYW5kbGVy
LmluYy5waHAJMjggSmFuIDIwMDkgMTk6MjQ6MzIgLTAwMDAKQEAgLTEyMTQsNiArMTIxNCwxOCBA
QAogCiAJCWlmICgkc3VibWl0Rm9ybS0+dmFsaWRhdGUoKSkgewogCQkJJHN1Ym1pdEZvcm0tPmV4
ZWN1dGUoKTsKKworCQkJLy8gU2VuZCBhIG5vdGlmaWNhdGlvbiB0byBhc3NvY2lhdGVkIHVzZXJz
CisJCQlpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmljYXRpb24nKTsKKwkJCSRhcnRpY2xlRGFv
ID0mIERBT1JlZ2lzdHJ5OjpnZXREQU8oJ0FydGljbGVEQU8nKTsgCisJCQkkYXJ0aWNsZSA9JiAk
YXJ0aWNsZURhby0+Z2V0QXJ0aWNsZSgkYXJ0aWNsZUlkKTsKKwkJCSRub3RpZmljYXRpb25Vc2Vy
cyA9ICRhcnRpY2xlLT5nZXRBc3NvY2lhdGVkVXNlcklkcyh0cnVlLCBmYWxzZSk7CisJCQlmb3Jl
YWNoICgkbm90aWZpY2F0aW9uVXNlcnMgYXMgJHVzZXIpIHsKKwkJCQkkdXJsID0gUmVxdWVzdDo6
dXJsKG51bGwsICR1c2VyWydyb2xlJ10sICdzdWJtaXNzaW9uRWRpdGluZycsICRhcnRpY2xlLT5n
ZXRBcnRpY2xlSWQoKSwgbnVsbCwgJ2xheW91dCcpOworCQkJCU5vdGlmaWNhdGlvbjo6Y3JlYXRl
Tm90aWZpY2F0aW9uKCR1c2VyWydpZCddLCAibm90aWZpY2F0aW9uLnR5cGUuc3VwcEZpbGVNb2Rp
ZmllZCIsCisJCQkJCSRhcnRpY2xlLT5nZXRBcnRpY2xlVGl0bGUoKSwgJHVybCwgMSwgTk9USUZJ
Q0FUSU9OX1RZUEVfU1VQUF9GSUxFX01PRElGSUVEKTsKKwkJCX0KKwkJCQogCQkJUmVxdWVzdDo6
cmVkaXJlY3QobnVsbCwgbnVsbCwgU3VibWlzc2lvbkVkaXRIYW5kbGVyOjpnZXRGcm9tKCksICRh
cnRpY2xlSWQpOwogCQl9IGVsc2UgewogCQkJcGFyZW50OjpzZXR1cFRlbXBsYXRlKHRydWUsICRh
cnRpY2xlSWQsICdzdW1tYXJ5Jyk7CkBAIC0xNDYzLDYgKzE0NzUsMTcgQEAKIAkJJGdhbGxleUZv
cm0gPSYgbmV3IEFydGljbGVHYWxsZXlGb3JtKCRhcnRpY2xlSWQpOwogCQkkZ2FsbGV5SWQgPSAk
Z2FsbGV5Rm9ybS0+ZXhlY3V0ZSgkZmlsZU5hbWUpOwogCisJCS8vIFNlbmQgYSBub3RpZmljYXRp
b24gdG8gYXNzb2NpYXRlZCB1c2VycworCQlpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmljYXRp
b24nKTsKKwkJJGFydGljbGVEYW8gPSAmREFPUmVnaXN0cnk6OmdldERBTygnQXJ0aWNsZURBTycp
OyAKKwkJJGFydGljbGUgPSAmJGFydGljbGVEYW8tPmdldEFydGljbGUoJGFydGljbGVJZCk7CisJ
CSRub3RpZmljYXRpb25Vc2VycyA9ICRhcnRpY2xlLT5nZXRBc3NvY2lhdGVkVXNlcklkcyh0cnVl
LCBmYWxzZSk7CisJCWZvcmVhY2ggKCRub3RpZmljYXRpb25Vc2VycyBhcyAkdXNlcikgeworCQkJ
JHVybCA9IFJlcXVlc3Q6OnVybChudWxsLCAkdXNlclsncm9sZSddLCAnc3VibWlzc2lvbkVkaXRp
bmcnLCAkYXJ0aWNsZS0+Z2V0QXJ0aWNsZUlkKCksIG51bGwsICdsYXlvdXQnKTsKKwkJCU5vdGlm
aWNhdGlvbjo6Y3JlYXRlTm90aWZpY2F0aW9uKCR1c2VyWydpZCddLCAibm90aWZpY2F0aW9uLnR5
cGUuZ2FsbGV5QWRkZWQiLAorCQkJCSRhcnRpY2xlLT5nZXRBcnRpY2xlVGl0bGUoKSwgJHVybCwg
MSwgTk9USUZJQ0FUSU9OX1RZUEVfR0FMTEVZX0FEREVEKTsKKwkJfQorCQkKIAkJUmVxdWVzdDo6
cmVkaXJlY3QobnVsbCwgbnVsbCwgJ2VkaXRHYWxsZXknLCBhcnJheSgkYXJ0aWNsZUlkLCAkZ2Fs
bGV5SWQpKTsKIAl9CiAKQEAgLTE1MDcsNyArMTUzMCwxOCBAQAogCQkkc3VibWl0Rm9ybS0+cmVh
ZElucHV0RGF0YSgpOwogCQlpZiAoJHN1Ym1pdEZvcm0tPnZhbGlkYXRlKCkpIHsKIAkJCSRzdWJt
aXRGb3JtLT5leGVjdXRlKCk7Ci0KKwkJCQorCQkJLy8gU2VuZCBhIG5vdGlmaWNhdGlvbiB0byBh
c3NvY2lhdGVkIHVzZXJzCisJCQlpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmljYXRpb24nKTsK
KwkJCSRhcnRpY2xlRGFvID0mIERBT1JlZ2lzdHJ5OjpnZXREQU8oJ0FydGljbGVEQU8nKTsgCisJ
CQkkYXJ0aWNsZSA9JiAkYXJ0aWNsZURhby0+Z2V0QXJ0aWNsZSgkYXJ0aWNsZUlkKTsKKwkJCSRu
b3RpZmljYXRpb25Vc2VycyA9ICRhcnRpY2xlLT5nZXRBc3NvY2lhdGVkVXNlcklkcyh0cnVlLCBm
YWxzZSk7CisJCQlmb3JlYWNoICgkbm90aWZpY2F0aW9uVXNlcnMgYXMgJHVzZXIpIHsKKwkJCQkk
dXJsID0gUmVxdWVzdDo6dXJsKG51bGwsICR1c2VyWydyb2xlJ10sICdzdWJtaXNzaW9uRWRpdGlu
ZycsICRhcnRpY2xlLT5nZXRBcnRpY2xlSWQoKSwgbnVsbCwgJ2xheW91dCcpOworCQkJCU5vdGlm
aWNhdGlvbjo6Y3JlYXRlTm90aWZpY2F0aW9uKCR1c2VyWydpZCddLCAibm90aWZpY2F0aW9uLnR5
cGUuZ2FsbGV5TW9kaWZpZWQiLAorCQkJCQkkYXJ0aWNsZS0+Z2V0QXJ0aWNsZVRpdGxlKCksICR1
cmwsIDEsIE5PVElGSUNBVElPTl9UWVBFX0dBTExFWV9NT0RJRklFRCk7CisJCQl9CisJCQkKIAkJ
CWlmIChSZXF1ZXN0OjpnZXRVc2VyVmFyKCd1cGxvYWRJbWFnZScpKSB7CiAJCQkJJHN1Ym1pdEZv
cm0tPnVwbG9hZEltYWdlKCk7CiAJCQkJUmVxdWVzdDo6cmVkaXJlY3QobnVsbCwgbnVsbCwgJ2Vk
aXRHYWxsZXknLCBhcnJheSgkYXJ0aWNsZUlkLCAkZ2FsbGV5SWQpKTsKQEAgLTE2MjYsNiArMTY2
MCwxNyBAQAogCQkkc3VwcEZpbGVGb3JtLT5zZXREYXRhKCd0aXRsZScsIExvY2FsZTo6dHJhbnNs
YXRlKCdjb21tb24udW50aXRsZWQnKSk7CiAJCSRzdXBwRmlsZUlkID0gJHN1cHBGaWxlRm9ybS0+
ZXhlY3V0ZSgkZmlsZU5hbWUpOwogCisJCS8vIFNlbmQgYSBub3RpZmljYXRpb24gdG8gYXNzb2Np
YXRlZCB1c2VycworCQlpbXBvcnQoJ25vdGlmaWNhdGlvbi5Ob3RpZmljYXRpb24nKTsKKwkJJGFy
dGljbGVEYW8gPSYgREFPUmVnaXN0cnk6OmdldERBTygnQXJ0aWNsZURBTycpOyAKKwkJJGFydGlj
bGUgPSYgJGFydGljbGVEYW8tPmdldEFydGljbGUoJGFydGljbGVJZCk7CisJCSRub3RpZmljYXRp
b25Vc2VycyA9ICRhcnRpY2xlLT5nZXRBc3NvY2lhdGVkVXNlcklkcyh0cnVlLCBmYWxzZSk7CisJ
CWZvcmVhY2ggKCRub3RpZmljYXRpb25Vc2VycyBhcyAkdXNlcikgeworCQkJJHVybCA9IFJlcXVl
c3Q6OnVybChudWxsLCAkdXNlclsncm9sZSddLCAnc3VibWlzc2lvbkVkaXRpbmcnLCAkYXJ0aWNs
ZS0+Z2V0QXJ0aWNsZUlkKCksIG51bGwsICdsYXlvdXQnKTsKKwkJCU5vdGlmaWNhdGlvbjo6Y3Jl
YXRlTm90aWZpY2F0aW9uKCR1c2VyWydpZCddLCAibm90aWZpY2F0aW9uLnR5cGUuc3VwcEZpbGVB
ZGRlZCIsCisJCQkJJGFydGljbGUtPmdldEFydGljbGVUaXRsZSgpLCAkdXJsLCAxLCBOT1RJRklD
QVRJT05fVFlQRV9TVVBQX0ZJTEVfQURERUQpOworCQl9CisKIAkJUmVxdWVzdDo6cmVkaXJlY3Qo
bnVsbCwgbnVsbCwgJ2VkaXRTdXBwRmlsZScsIGFycmF5KCRhcnRpY2xlSWQsICRzdXBwRmlsZUlk
KSk7CiAJfQogCkluZGV4OiBwbHVnaW5zL2Jsb2Nrcy9mb250U2l6ZS9Gb250U2l6ZUJsb2NrUGx1
Z2luLmluYy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9vanMyL3BsdWdpbnMvYmxvY2tz
L2ZvbnRTaXplL0ZvbnRTaXplQmxvY2tQbHVnaW4uaW5jLnBocCx2CnJldHJpZXZpbmcgcmV2aXNp
b24gMS45CmRpZmYgLXUgLXIxLjkgRm9udFNpemVCbG9ja1BsdWdpbi5pbmMucGhwCi0tLSBwbHVn
aW5zL2Jsb2Nrcy9mb250U2l6ZS9Gb250U2l6ZUJsb2NrUGx1Z2luLmluYy5waHAJMSBKdWwgMjAw
OCAxOTo0NDo0NyAtMDAwMAkxLjkKKysrIHBsdWdpbnMvYmxvY2tzL2ZvbnRTaXplL0ZvbnRTaXpl
QmxvY2tQbHVnaW4uaW5jLnBocAkyOCBKYW4gMjAwOSAxOToyNDozMyAtMDAwMApAQCAtMjMsNyAr
MjMsNyBAQAogCQlpZiAoJHN1Y2Nlc3MpIHsKIAkJCSR0aGlzLT5hZGRMb2NhbGVEYXRhKCk7CiAJ
CQkkdGVtcGxhdGVNZ3IgPSYgVGVtcGxhdGVNYW5hZ2VyOjpnZXRNYW5hZ2VyKCk7Ci0JCQkkdGVt
cGxhdGVNZ3ItPmFzc2lnbignZm9udEljb25QYXRoJywgJ3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMn
KTsKKwkJCSR0ZW1wbGF0ZU1nci0+YXNzaWduKCdmb250SWNvblBhdGgnLCAnbGliL3BrcC90ZW1w
bGF0ZXMvaW1hZ2VzL2ljb25zJyk7CiAJCQkkYWRkaXRpb25hbEhlYWREYXRhID0gJHRlbXBsYXRl
TWdyLT5nZXRfdGVtcGxhdGVfdmFycygnYWRkaXRpb25hbEhlYWREYXRhJyk7CiAKIAkJCS8vIEFk
ZCBmb250IHNpemVyIGpzIGFuZCBjc3MgaWYgbm90IGFscmVhZHkgaW4gaGVhZGVyCkluZGV4OiBz
dHlsZXMvY29tbW9uLmNzcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL29qczIvc3R5bGVzL2Nv
bW1vbi5jc3MsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNzQKZGlmZiAtdSAtcjEuNzQgY29tbW9u
LmNzcwotLS0gc3R5bGVzL2NvbW1vbi5jc3MJMTQgSmFuIDIwMDkgMTk6MTU6MTUgLTAwMDAJMS43
NAorKysgc3R5bGVzL2NvbW1vbi5jc3MJMjggSmFuIDIwMDkgMTk6MjQ6MzQgLTAwMDAKQEAgLTY1
MSw3ICs2NTEsMTMgQEAKIAlmb250LXNpemU6IDFlbTsKIH0KIAotdWwuZm9ybUVycm9yTGlzdCBh
IHsKK3NwYW4uZm9ybVN1Y2Nlc3MgeworCWNvbG9yOiAjMDkwOworCWZvbnQtd2VpZ2h0OiBib2xk
OworCWZvbnQtc2l6ZTogMWVtOworfQorCit1bC5mb3JtRXJyb3JMaXN0IHsKIAljb2xvcjogIzkw
MDsKIH0KIApAQCAtNzQyLDMgKzc0OCwxNCBAQAogCXdpZHRoOiA1MDVweDsKIAl6LWluZGV4OjE7
CiB9CisKK3RkLm5vdGlmaWNhdGlvbkNvbnRlbnQgeworCXBhZGRpbmctbGVmdDogNXB4OworCXBh
ZGRpbmctcmlnaHQ6IDVweDsKK30KKwordGQubm90aWZpY2F0aW9uRnVuY3Rpb24geworCXBhZGRp
bmctbGVmdDogNXB4OworCXBhZGRpbmctcmlnaHQ6IDVweDsKKwl0ZXh0LWFsaWduOiByaWdodDsK
K30KSW5kZXg6IHRlbXBsYXRlcy9hcnRpY2xlL2FydGljbGUudHBsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZp
bGU6IC9jdnMvb2pzMi90ZW1wbGF0ZXMvYXJ0aWNsZS9hcnRpY2xlLnRwbCx2CnJldHJpZXZpbmcg
cmV2aXNpb24gMS42MwpkaWZmIC11IC1yMS42MyBhcnRpY2xlLnRwbAotLS0gdGVtcGxhdGVzL2Fy
dGljbGUvYXJ0aWNsZS50cGwJMjYgTm92IDIwMDggMDA6MjQ6NTcgLTAwMDAJMS42MworKysgdGVt
cGxhdGVzL2FydGljbGUvYXJ0aWNsZS50cGwJMjggSmFuIDIwMDkgMTk6MjQ6MzQgLTAwMDAKQEAg
LTE1LDkgKzE1LDkgQEAKIAkJPGRpdiBpZD0idG9wQmFyIj4KIAkJCTxkaXYgaWQ9ImFydGljbGVG
b250U2l6ZSI+CiAJCQkJe3RyYW5zbGF0ZSBrZXk9ImFydGljbGUuZm9udFNpemUifTombmJzcDsK
LQkJCQk8YSBocmVmPSIjIiBvbmNsaWNrPSJzZXRGb250U2l6ZSgne3RyYW5zbGF0ZXxlc2NhcGU6
ImpzcGFyYW0iIGtleT0iYXJ0aWNsZS5mb250U2l6ZS5zbWFsbC5hbHRUZXh0In0nKTsiIGNsYXNz
PSJpY29uIj57aWNvbiBwYXRoPSJ0ZW1wbGF0ZXMvaW1hZ2VzL2ljb25zLyIgbmFtZT0iZm9udF9z
bWFsbCJ9PC9hPiZuYnNwOwotCQkJCTxhIGhyZWY9IiMiIG9uY2xpY2s9InNldEZvbnRTaXplKCd7
dHJhbnNsYXRlfGVzY2FwZToianNwYXJhbSIga2V5PSJhcnRpY2xlLmZvbnRTaXplLm1lZGl1bS5h
bHRUZXh0In0nKTsiIGNsYXNzPSJpY29uIj57aWNvbiBwYXRoPSJ0ZW1wbGF0ZXMvaW1hZ2VzL2lj
b25zLyIgbmFtZT0iZm9udF9tZWRpdW0ifTwvYT4mbmJzcDsKLQkJCQk8YSBocmVmPSIjIiBvbmNs
aWNrPSJzZXRGb250U2l6ZSgne3RyYW5zbGF0ZXxlc2NhcGU6ImpzcGFyYW0iIGtleT0iYXJ0aWNs
ZS5mb250U2l6ZS5sYXJnZS5hbHRUZXh0In0nKTsiIGNsYXNzPSJpY29uIj57aWNvbiBwYXRoPSJ0
ZW1wbGF0ZXMvaW1hZ2VzL2ljb25zLyIgbmFtZT0iZm9udF9sYXJnZSJ9PC9hPgorCQkJCTxhIGhy
ZWY9IiMiIG9uY2xpY2s9InNldEZvbnRTaXplKCd7dHJhbnNsYXRlfGVzY2FwZToianNwYXJhbSIg
a2V5PSJhcnRpY2xlLmZvbnRTaXplLnNtYWxsLmFsdFRleHQifScpOyIgY2xhc3M9Imljb24iPntp
Y29uIHBhdGg9ImxpYi9wa3AvdGVtcGxhdGVzL2ltYWdlcy9pY29ucy8iIG5hbWU9ImZvbnRfc21h
bGwifTwvYT4mbmJzcDsKKwkJCQk8YSBocmVmPSIjIiBvbmNsaWNrPSJzZXRGb250U2l6ZSgne3Ry
YW5zbGF0ZXxlc2NhcGU6ImpzcGFyYW0iIGtleT0iYXJ0aWNsZS5mb250U2l6ZS5tZWRpdW0uYWx0
VGV4dCJ9Jyk7IiBjbGFzcz0iaWNvbiI+e2ljb24gcGF0aD0ibGliL3BrcC90ZW1wbGF0ZXMvaW1h
Z2VzL2ljb25zLyIgbmFtZT0iZm9udF9tZWRpdW0ifTwvYT4mbmJzcDsKKwkJCQk8YSBocmVmPSIj
IiBvbmNsaWNrPSJzZXRGb250U2l6ZSgne3RyYW5zbGF0ZXxlc2NhcGU6ImpzcGFyYW0iIGtleT0i
YXJ0aWNsZS5mb250U2l6ZS5sYXJnZS5hbHRUZXh0In0nKTsiIGNsYXNzPSJpY29uIj57aWNvbiBw
YXRoPSJsaWIvcGtwL3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMvIiBuYW1lPSJmb250X2xhcmdlIn08
L2E+CiAJCQk8L2Rpdj4KIAkJPC9kaXY+CiAJCXskZ2FsbGV5LT5nZXRIVE1MQ29udGVudHMoKX0K
QEAgLTI3LDkgKzI3LDkgQEAKIAkJe2Fzc2lnbiB2YXI9Z2FsbGV5cyB2YWx1ZT0kYXJ0aWNsZS0+
Z2V0TG9jYWxpemVkR2FsbGV5cygpfQogCQl7aWYgJGdhbGxleXMgJiYgJHN1YnNjcmlwdGlvblJl
cXVpcmVkICYmICRzaG93R2FsbGV5TGlua3N9CiAJCQk8ZGl2IGlkPSJhY2Nlc3NLZXkiPgotCQkJ
CTxpbWcgc3JjPSJ7JGJhc2VVcmx9L3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMvZnVsbHRleHRfb3Bl
bl9tZWRpdW0uZ2lmIiBhbHQ9Int0cmFuc2xhdGUga2V5PSJhcnRpY2xlLmFjY2Vzc0xvZ29PcGVu
LmFsdFRleHQifSIgLz4KKwkJCQk8aW1nIHNyYz0ieyRiYXNlVXJsfS9saWIvcGtwL3RlbXBsYXRl
cy9pbWFnZXMvaWNvbnMvZnVsbHRleHRfb3Blbl9tZWRpdW0uZ2lmIiBhbHQ9Int0cmFuc2xhdGUg
a2V5PSJhcnRpY2xlLmFjY2Vzc0xvZ29PcGVuLmFsdFRleHQifSIgLz4KIAkJCQl7dHJhbnNsYXRl
IGtleT0icmVhZGVyLm9wZW5BY2Nlc3MifSZuYnNwOwotCQkJCTxpbWcgc3JjPSJ7JGJhc2VVcmx9
L3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMvZnVsbHRleHRfcmVzdHJpY3RlZF9tZWRpdW0uZ2lmIiBh
bHQ9Int0cmFuc2xhdGUga2V5PSJhcnRpY2xlLmFjY2Vzc0xvZ29SZXN0cmljdGVkLmFsdFRleHQi
fSIgLz4KKwkJCQk8aW1nIHNyYz0ieyRiYXNlVXJsfS9saWIvcGtwL3RlbXBsYXRlcy9pbWFnZXMv
aWNvbnMvZnVsbHRleHRfcmVzdHJpY3RlZF9tZWRpdW0uZ2lmIiBhbHQ9Int0cmFuc2xhdGUga2V5
PSJhcnRpY2xlLmFjY2Vzc0xvZ29SZXN0cmljdGVkLmFsdFRleHQifSIgLz4KIAkJCQl7aWYgJHB1
cmNoYXNlQXJ0aWNsZUVuYWJsZWR9CiAJCQkJCXt0cmFuc2xhdGUga2V5PSJyZWFkZXIuc3Vic2Ny
aXB0aW9uT3JGZWVBY2Nlc3MifQogCQkJCXtlbHNlfQpAQCAtMzksOSArMzksOSBAQAogCQl7L2lm
fQogCQk8ZGl2IGlkPSJhcnRpY2xlRm9udFNpemUiPgogCQkJCXt0cmFuc2xhdGUga2V5PSJhcnRp
Y2xlLmZvbnRTaXplIn06Jm5ic3A7Ci0JCQk8YSBocmVmPSIjIiBvbmNsaWNrPSJzZXRGb250U2l6
ZSgne3RyYW5zbGF0ZXxlc2NhcGU6ImpzcGFyYW0iIGtleT0iYXJ0aWNsZS5mb250U2l6ZS5zbWFs
bC5hbHRUZXh0In0nKTsiIGNsYXNzPSJpY29uIj57aWNvbiBwYXRoPSJ0ZW1wbGF0ZXMvaW1hZ2Vz
L2ljb25zLyIgbmFtZT0iZm9udF9zbWFsbCJ9PC9hPiZuYnNwOwotCQkJPGEgaHJlZj0iIyIgb25j
bGljaz0ic2V0Rm9udFNpemUoJ3t0cmFuc2xhdGV8ZXNjYXBlOiJqc3BhcmFtIiBrZXk9ImFydGlj
bGUuZm9udFNpemUubWVkaXVtLmFsdFRleHQifScpOyIgY2xhc3M9Imljb24iPntpY29uIHBhdGg9
InRlbXBsYXRlcy9pbWFnZXMvaWNvbnMvIiBuYW1lPSJmb250X21lZGl1bSJ9PC9hPiZuYnNwOwot
CQkJPGEgaHJlZj0iIyIgb25jbGljaz0ic2V0Rm9udFNpemUoJ3t0cmFuc2xhdGV8ZXNjYXBlOiJq
c3BhcmFtIiBrZXk9ImFydGljbGUuZm9udFNpemUubGFyZ2UuYWx0VGV4dCJ9Jyk7IiBjbGFzcz0i
aWNvbiI+e2ljb24gcGF0aD0idGVtcGxhdGVzL2ltYWdlcy9pY29ucy8iIG5hbWU9ImZvbnRfbGFy
Z2UifTwvYT4KKwkJCTxhIGhyZWY9IiMiIG9uY2xpY2s9InNldEZvbnRTaXplKCd7dHJhbnNsYXRl
fGVzY2FwZToianNwYXJhbSIga2V5PSJhcnRpY2xlLmZvbnRTaXplLnNtYWxsLmFsdFRleHQifScp
OyIgY2xhc3M9Imljb24iPntpY29uIHBhdGg9ImxpYi9wa3AvdGVtcGxhdGVzL2ltYWdlcy9pY29u
cy8iIG5hbWU9ImZvbnRfc21hbGwifTwvYT4mbmJzcDsKKwkJCTxhIGhyZWY9IiMiIG9uY2xpY2s9
InNldEZvbnRTaXplKCd7dHJhbnNsYXRlfGVzY2FwZToianNwYXJhbSIga2V5PSJhcnRpY2xlLmZv
bnRTaXplLm1lZGl1bS5hbHRUZXh0In0nKTsiIGNsYXNzPSJpY29uIj57aWNvbiBwYXRoPSJsaWIv
cGtwL3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMvIiBuYW1lPSJmb250X21lZGl1bSJ9PC9hPiZuYnNw
OworCQkJPGEgaHJlZj0iIyIgb25jbGljaz0ic2V0Rm9udFNpemUoJ3t0cmFuc2xhdGV8ZXNjYXBl
OiJqc3BhcmFtIiBrZXk9ImFydGljbGUuZm9udFNpemUubGFyZ2UuYWx0VGV4dCJ9Jyk7IiBjbGFz
cz0iaWNvbiI+e2ljb24gcGF0aD0ibGliL3BrcC90ZW1wbGF0ZXMvaW1hZ2VzL2ljb25zLyIgbmFt
ZT0iZm9udF9sYXJnZSJ9PC9hPgogCQk8L2Rpdj4KIAk8L2Rpdj4KIAl7aWYgJGNvdmVyUGFnZVBh
dGh9CkBAIC03MSwxNyArNzEsMTcgQEAKIAkJCQk8YSBocmVmPSJ7dXJsIHBhZ2U9ImFydGljbGUi
IG9wPSJ2aWV3IiBwYXRoPSRhcnRpY2xlLT5nZXRCZXN0QXJ0aWNsZUlkKCRjdXJyZW50Sm91cm5h
bCl8dG9fYXJyYXk6JGdhbGxleS0+Z2V0QmVzdEdhbGxleUlkKCRjdXJyZW50Sm91cm5hbCl9IiBj
bGFzcz0iZmlsZSIgdGFyZ2V0PSJfcGFyZW50Ij57JGdhbGxleS0+Z2V0R2FsbGV5TGFiZWwoKXxl
c2NhcGV9PC9hPgogCQkJCXtpZiAkc3Vic2NyaXB0aW9uUmVxdWlyZWQgJiYgJHNob3dHYWxsZXlM
aW5rcyAmJiAkcmVzdHJpY3RPbmx5UGRmfQogCQkJCQl7aWYgJGFydGljbGUtPmdldEFjY2Vzc1N0
YXR1cygpIHx8ICEkZ2FsbGV5LT5pc1BkZkdhbGxleSgpfQkKLQkJCQkJCTxpbWcgY2xhc3M9ImFj
Y2Vzc0xvZ28iIHNyYz0ieyRiYXNlVXJsfS90ZW1wbGF0ZXMvaW1hZ2VzL2ljb25zL2Z1bGx0ZXh0
X29wZW5fbWVkaXVtLmdpZiIgYWx0PSJ7dHJhbnNsYXRlIGtleT0iYXJ0aWNsZS5hY2Nlc3NMb2dv
T3Blbi5hbHRUZXh0In0iIC8+CisJCQkJCQk8aW1nIGNsYXNzPSJhY2Nlc3NMb2dvIiBzcmM9Insk
YmFzZVVybH0vbGliL3BrcC90ZW1wbGF0ZXMvaW1hZ2VzL2ljb25zL2Z1bGx0ZXh0X29wZW5fbWVk
aXVtLmdpZiIgYWx0PSJ7dHJhbnNsYXRlIGtleT0iYXJ0aWNsZS5hY2Nlc3NMb2dvT3Blbi5hbHRU
ZXh0In0iIC8+CiAJCQkJCXtlbHNlfQotCQkJCQkJPGltZyBjbGFzcz0iYWNjZXNzTG9nbyIgc3Jj
PSJ7JGJhc2VVcmx9L3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMvZnVsbHRleHRfcmVzdHJpY3RlZF9t
ZWRpdW0uZ2lmIiBhbHQ9Int0cmFuc2xhdGUga2V5PSJhcnRpY2xlLmFjY2Vzc0xvZ29SZXN0cmlj
dGVkLmFsdFRleHQifSIgLz4KKwkJCQkJCTxpbWcgY2xhc3M9ImFjY2Vzc0xvZ28iIHNyYz0ieyRi
YXNlVXJsfS9saWIvcGtwL3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMvZnVsbHRleHRfcmVzdHJpY3Rl
ZF9tZWRpdW0uZ2lmIiBhbHQ9Int0cmFuc2xhdGUga2V5PSJhcnRpY2xlLmFjY2Vzc0xvZ29SZXN0
cmljdGVkLmFsdFRleHQifSIgLz4KIAkJCQkJey9pZn0KIAkJCQl7L2lmfQogCQkJey9mb3JlYWNo
fQogCQkJe2lmICRzdWJzY3JpcHRpb25SZXF1aXJlZCAmJiAkc2hvd0dhbGxleUxpbmtzICYmICEk
cmVzdHJpY3RPbmx5UGRmfQogCQkJCXtpZiAkYXJ0aWNsZS0+Z2V0QWNjZXNzU3RhdHVzKCl9Ci0J
CQkJCTxpbWcgY2xhc3M9ImFjY2Vzc0xvZ28iIHNyYz0ieyRiYXNlVXJsfS90ZW1wbGF0ZXMvaW1h
Z2VzL2ljb25zL2Z1bGx0ZXh0X29wZW5fbWVkaXVtLmdpZiIgYWx0PSJ7dHJhbnNsYXRlIGtleT0i
YXJ0aWNsZS5hY2Nlc3NMb2dvT3Blbi5hbHRUZXh0In0iIC8+CisJCQkJCTxpbWcgY2xhc3M9ImFj
Y2Vzc0xvZ28iIHNyYz0ieyRiYXNlVXJsfS9saWIvcGtwL3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMv
ZnVsbHRleHRfb3Blbl9tZWRpdW0uZ2lmIiBhbHQ9Int0cmFuc2xhdGUga2V5PSJhcnRpY2xlLmFj
Y2Vzc0xvZ29PcGVuLmFsdFRleHQifSIgLz4KIAkJCQl7ZWxzZX0KLQkJCQkJPGltZyBjbGFzcz0i
YWNjZXNzTG9nbyIgc3JjPSJ7JGJhc2VVcmx9L3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMvZnVsbHRl
eHRfcmVzdHJpY3RlZF9tZWRpdW0uZ2lmIiBhbHQ9Int0cmFuc2xhdGUga2V5PSJhcnRpY2xlLmFj
Y2Vzc0xvZ29SZXN0cmljdGVkLmFsdFRleHQifSIgLz4KKwkJCQkJPGltZyBjbGFzcz0iYWNjZXNz
TG9nbyIgc3JjPSJ7JGJhc2VVcmx9L2xpYi9wa3AvdGVtcGxhdGVzL2ltYWdlcy9pY29ucy9mdWxs
dGV4dF9yZXN0cmljdGVkX21lZGl1bS5naWYiIGFsdD0ie3RyYW5zbGF0ZSBrZXk9ImFydGljbGUu
YWNjZXNzTG9nb1Jlc3RyaWN0ZWQuYWx0VGV4dCJ9IiAvPgogCQkJCXsvaWZ9CiAJCQl7L2lmfQkJ
CQkJCiAJCXtlbHNlfQpJbmRleDogdGVtcGxhdGVzL2VkaXRvci9ub3RpZnlVc2Vycy50cGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQpSQ1MgZmlsZTogL2N2cy9vanMyL3RlbXBsYXRlcy9lZGl0b3Ivbm90aWZ5VXNlcnMu
dHBsLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE1CmRpZmYgLXUgLXIxLjE1IG5vdGlmeVVzZXJz
LnRwbAotLS0gdGVtcGxhdGVzL2VkaXRvci9ub3RpZnlVc2Vycy50cGwJMTEgQXVnIDIwMDggMjE6
MzU6MzUgLTAwMDAJMS4xNQorKysgdGVtcGxhdGVzL2VkaXRvci9ub3RpZnlVc2Vycy50cGwJMjgg
SmFuIDIwMDkgMTk6MjQ6MzQgLTAwMDAKQEAgLTQxLDI4ICs0MSw2IEBACiAJPGJyLz4KIHsvaWZ9
CiAKLTxoMz57dHJhbnNsYXRlIGtleT0iZW1haWwucmVjaXBpZW50cyJ9PC9oMz4KLTx0YWJsZSBj
bGFzcz0iZGF0YSIgd2lkdGg9IjEwMCUiPgotPHRyIHZhbGlnbj0idG9wIj4KLQk8dGQgd2lkdGg9
IjUlIj4KLQkJPGlucHV0IGNoZWNrZWQgdHlwZT0icmFkaW8iIG5hbWU9IndoaWNoVXNlcnMiIGlk
PSJpbnRlcmVzdGVkVXNlcnMiIHZhbHVlPSJpbnRlcmVzdGVkVXNlcnMiLz4KLQk8L3RkPgotCTx0
ZCB3aWR0aD0iNzUlIiBjbGFzcz0ibGFiZWwiPgotCQk8bGFiZWwgZm9yPSJpbnRlcmVzdGVkVXNl
cnMiPnt0cmFuc2xhdGUga2V5PSJlZGl0b3Iubm90aWZ5VXNlcnMuaW50ZXJlc3RlZFVzZXJzIiBj
b3VudD0kbm90aWZpYWJsZUNvdW50fTwvbGFiZWw+Ci0JPC90ZD4KLTwvdHI+Ci08dHIgdmFsaWdu
PSJ0b3AiPgotCTx0ZCB3aWR0aD0iNSUiPgotCQk8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJhbGxV
c2VycyIgbmFtZT0id2hpY2hVc2VycyIgdmFsdWU9ImFsbFVzZXJzIi8+Ci0JPC90ZD4KLQk8dGQg
d2lkdGg9Ijk1JSIgY2xhc3M9ImxhYmVsIj4KLQkJPGxhYmVsIGZvcj0iYWxsVXNlcnMiPnt0cmFu
c2xhdGUga2V5PSJlZGl0b3Iubm90aWZ5VXNlcnMuYWxsVXNlcnMiIGNvdW50PSRhbGxVc2Vyc0Nv
dW50fTwvbGFiZWw+Ci0JPC90ZD4KLTwvdHI+Ci08L3RhYmxlPgotCi08YnIvPgotCiA8aDM+e3Ry
YW5zbGF0ZSBrZXk9Imlzc3VlLmlzc3VlIn08L2gzPgogPHRhYmxlIGNsYXNzPSJkYXRhIiB3aWR0
aD0iMTAwJSI+CiA8dHIgdmFsaWduPSJ0b3AiPgpJbmRleDogdGVtcGxhdGVzL2lzc3VlL2lzc3Vl
LnRwbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL29qczIvdGVtcGxhdGVzL2lzc3VlL2lzc3Vl
LnRwbCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40MgpkaWZmIC11IC1yMS40MiBpc3N1ZS50cGwK
LS0tIHRlbXBsYXRlcy9pc3N1ZS9pc3N1ZS50cGwJMjAgSnVuIDIwMDggMDg6MDg6MzQgLTAwMDAJ
MS40MgorKysgdGVtcGxhdGVzL2lzc3VlL2lzc3VlLnRwbAkyOCBKYW4gMjAwOSAxOToyNDozNCAt
MDAwMApAQCAtNDQsMTcgKzQ0LDE3IEBACiAJCQkJPGEgaHJlZj0ie3VybCBwYWdlPSJhcnRpY2xl
IiBvcD0idmlldyIgcGF0aD0kYXJ0aWNsZS0+Z2V0QmVzdEFydGljbGVJZCgkY3VycmVudEpvdXJu
YWwpfHRvX2FycmF5OiRnYWxsZXktPmdldEJlc3RHYWxsZXlJZCgkY3VycmVudEpvdXJuYWwpfSIg
Y2xhc3M9ImZpbGUiPnskZ2FsbGV5LT5nZXRHYWxsZXlMYWJlbCgpfGVzY2FwZX08L2E+CiAJCQkJ
e2lmICRzdWJzY3JpcHRpb25SZXF1aXJlZCAmJiAkc2hvd0dhbGxleUxpbmtzICYmICRyZXN0cmlj
dE9ubHlQZGZ9CiAJCQkJCXtpZiAkYXJ0aWNsZS0+Z2V0QWNjZXNzU3RhdHVzKCkgfHwgISRnYWxs
ZXktPmlzUGRmR2FsbGV5KCl9CQotCQkJCQkJPGltZyBjbGFzcz0iYWNjZXNzTG9nbyIgc3JjPSJ7
JGJhc2VVcmx9L3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMvZnVsbHRleHRfb3Blbl9tZWRpdW0uZ2lm
IiBhbHQ9Int0cmFuc2xhdGUga2V5PSJhcnRpY2xlLmFjY2Vzc0xvZ29PcGVuLmFsdFRleHQifSIg
Lz4KKwkJCQkJCTxpbWcgY2xhc3M9ImFjY2Vzc0xvZ28iIHNyYz0ieyRiYXNlVXJsfS9saWIvcGtw
L3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMvZnVsbHRleHRfb3Blbl9tZWRpdW0uZ2lmIiBhbHQ9Int0
cmFuc2xhdGUga2V5PSJhcnRpY2xlLmFjY2Vzc0xvZ29PcGVuLmFsdFRleHQifSIgLz4KIAkJCQkJ
e2Vsc2V9Ci0JCQkJCQk8aW1nIGNsYXNzPSJhY2Nlc3NMb2dvIiBzcmM9InskYmFzZVVybH0vdGVt
cGxhdGVzL2ltYWdlcy9pY29ucy9mdWxsdGV4dF9yZXN0cmljdGVkX21lZGl1bS5naWYiIGFsdD0i
e3RyYW5zbGF0ZSBrZXk9ImFydGljbGUuYWNjZXNzTG9nb1Jlc3RyaWN0ZWQuYWx0VGV4dCJ9IiAv
PgorCQkJCQkJPGltZyBjbGFzcz0iYWNjZXNzTG9nbyIgc3JjPSJ7JGJhc2VVcmx9L2xpYi9wa3Av
dGVtcGxhdGVzL2ltYWdlcy9pY29ucy9mdWxsdGV4dF9yZXN0cmljdGVkX21lZGl1bS5naWYiIGFs
dD0ie3RyYW5zbGF0ZSBrZXk9ImFydGljbGUuYWNjZXNzTG9nb1Jlc3RyaWN0ZWQuYWx0VGV4dCJ9
IiAvPgogCQkJCQl7L2lmfQogCQkJCXsvaWZ9CiAJCQl7L2ZvcmVhY2h9CiAJCQl7aWYgJHN1YnNj
cmlwdGlvblJlcXVpcmVkICYmICRzaG93R2FsbGV5TGlua3MgJiYgISRyZXN0cmljdE9ubHlQZGZ9
CiAJCQkJe2lmICRhcnRpY2xlLT5nZXRBY2Nlc3NTdGF0dXMoKX0KLQkJCQkJPGltZyBjbGFzcz0i
YWNjZXNzTG9nbyIgc3JjPSJ7JGJhc2VVcmx9L3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMvZnVsbHRl
eHRfb3Blbl9tZWRpdW0uZ2lmIiBhbHQ9Int0cmFuc2xhdGUga2V5PSJhcnRpY2xlLmFjY2Vzc0xv
Z29PcGVuLmFsdFRleHQifSIgLz4KKwkJCQkJPGltZyBjbGFzcz0iYWNjZXNzTG9nbyIgc3JjPSJ7
JGJhc2VVcmx9L2xpYi9wa3AvdGVtcGxhdGVzL2ltYWdlcy9pY29ucy9mdWxsdGV4dF9vcGVuX21l
ZGl1bS5naWYiIGFsdD0ie3RyYW5zbGF0ZSBrZXk9ImFydGljbGUuYWNjZXNzTG9nb09wZW4uYWx0
VGV4dCJ9IiAvPgogCQkJCXtlbHNlfQotCQkJCQk8aW1nIGNsYXNzPSJhY2Nlc3NMb2dvIiBzcmM9
InskYmFzZVVybH0vdGVtcGxhdGVzL2ltYWdlcy9pY29ucy9mdWxsdGV4dF9yZXN0cmljdGVkX21l
ZGl1bS5naWYiIGFsdD0ie3RyYW5zbGF0ZSBrZXk9ImFydGljbGUuYWNjZXNzTG9nb1Jlc3RyaWN0
ZWQuYWx0VGV4dCJ9IiAvPgorCQkJCQk8aW1nIGNsYXNzPSJhY2Nlc3NMb2dvIiBzcmM9InskYmFz
ZVVybH0vbGliL3BrcC90ZW1wbGF0ZXMvaW1hZ2VzL2ljb25zL2Z1bGx0ZXh0X3Jlc3RyaWN0ZWRf
bWVkaXVtLmdpZiIgYWx0PSJ7dHJhbnNsYXRlIGtleT0iYXJ0aWNsZS5hY2Nlc3NMb2dvUmVzdHJp
Y3RlZC5hbHRUZXh0In0iIC8+CiAJCQkJey9pZn0KIAkJCXsvaWZ9CQkJCQogCQl7L2lmfQpJbmRl
eDogdGVtcGxhdGVzL2lzc3VlL3ZpZXcudHBsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvb2pz
Mi90ZW1wbGF0ZXMvaXNzdWUvdmlldy50cGwsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMzIKZGlm
ZiAtdSAtcjEuMzIgdmlldy50cGwKLS0tIHRlbXBsYXRlcy9pc3N1ZS92aWV3LnRwbAkxOSBKdW4g
MjAwOCAxNTo1OTo0MyAtMDAwMAkxLjMyCisrKyB0ZW1wbGF0ZXMvaXNzdWUvdmlldy50cGwJMjgg
SmFuIDIwMDkgMTk6MjQ6MzQgLTAwMDAKQEAgLTExLDkgKzExLDkgQEAKICAqfQoge2lmICRzdWJz
Y3JpcHRpb25SZXF1aXJlZCAmJiAkc2hvd0dhbGxleUxpbmtzICYmICRzaG93VG9jfQogCTxkaXYg
aWQ9ImFjY2Vzc0tleSI+Ci0JCTxpbWcgc3JjPSJ7JGJhc2VVcmx9L3RlbXBsYXRlcy9pbWFnZXMv
aWNvbnMvZnVsbHRleHRfb3Blbl9tZWRpdW0uZ2lmIiBhbHQ9Int0cmFuc2xhdGUga2V5PSJhcnRp
Y2xlLmFjY2Vzc0xvZ29PcGVuLmFsdFRleHQifSIgLz4KKwkJPGltZyBzcmM9InskYmFzZVVybH0v
bGliL3BrcC90ZW1wbGF0ZXMvaW1hZ2VzL2ljb25zL2Z1bGx0ZXh0X29wZW5fbWVkaXVtLmdpZiIg
YWx0PSJ7dHJhbnNsYXRlIGtleT0iYXJ0aWNsZS5hY2Nlc3NMb2dvT3Blbi5hbHRUZXh0In0iIC8+
CiAJCXt0cmFuc2xhdGUga2V5PSJyZWFkZXIub3BlbkFjY2VzcyJ9Jm5ic3A7Ci0JCTxpbWcgc3Jj
PSJ7JGJhc2VVcmx9L3RlbXBsYXRlcy9pbWFnZXMvaWNvbnMvZnVsbHRleHRfcmVzdHJpY3RlZF9t
ZWRpdW0uZ2lmIiBhbHQ9Int0cmFuc2xhdGUga2V5PSJhcnRpY2xlLmFjY2Vzc0xvZ29SZXN0cmlj
dGVkLmFsdFRleHQifSIgLz4KKwkJPGltZyBzcmM9InskYmFzZVVybH0vbGliL3BrcC90ZW1wbGF0
ZXMvaW1hZ2VzL2ljb25zL2Z1bGx0ZXh0X3Jlc3RyaWN0ZWRfbWVkaXVtLmdpZiIgYWx0PSJ7dHJh
bnNsYXRlIGtleT0iYXJ0aWNsZS5hY2Nlc3NMb2dvUmVzdHJpY3RlZC5hbHRUZXh0In0iIC8+CiAJ
CXtpZiAkcHVyY2hhc2VBcnRpY2xlRW5hYmxlZH0KIAkJCXt0cmFuc2xhdGUga2V5PSJyZWFkZXIu
c3Vic2NyaXB0aW9uT3JGZWVBY2Nlc3MifQogCQl7ZWxzZX0KSW5kZXg6IHRlbXBsYXRlcy9ub3Rp
ZmljYXRpb24vbWFpbGxpc3QudHBsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IHRlbXBsYXRlcy9ub3Rp
ZmljYXRpb24vbWFpbGxpc3QudHBsCmRpZmYgLU4gdGVtcGxhdGVzL25vdGlmaWNhdGlvbi9tYWls
bGlzdC50cGwKLS0tIC9kZXYvbnVsbAkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAwCisrKyB0ZW1w
bGF0ZXMvbm90aWZpY2F0aW9uL21haWxsaXN0LnRwbAkyOCBKYW4gMjAwOSAxOToyNDozNCAtMDAw
MApAQCAtMCwwICsxLDk3IEBACit7KioKKyAqIGluZGV4LnRwbAorICoKKyAqIENvcHlyaWdodCAo
YykgMjAwMC0yMDA4IEpvaG4gV2lsbGluc2t5CisgKiBEaXN0cmlidXRlZCB1bmRlciB0aGUgR05V
IEdQTCB2Mi4gRm9yIGZ1bGwgdGVybXMgc2VlIHRoZSBmaWxlIGRvY3MvQ09QWUlORy4KKyAqCisg
KiBEaXNwbGF5cyB0aGUgbm90aWZpY2F0aW9uIHNldHRpbmdzIHBhZ2UgYW5kIHVuY2hlY2tzICAK
KyAqCisgKn0KK3tzdHJpcH0KK3thc3NpZ24gdmFyPSJwYWdlVGl0bGUiIHZhbHVlPSJub3RpZmlj
YXRpb24ubWFpbExpc3QifQore2luY2x1ZGUgZmlsZT0iY29tbW9uL2hlYWRlci50cGwifQorey9z
dHJpcH0KKwore2lmICRuZXd9CisJPHA+PHNwYW4gY2xhc3M9Imluc3RydWN0Ij57dHJhbnNsYXRl
IGtleT0ibm90aWZpY2F0aW9uLm1haWxMaXN0RGVzY3JpcHRpb24ifTwvc3Bhbj48L3A+CisJPGJy
IC8+CisKKwl7aWYgJGVycm9yfQorCQk8cD48c3BhbiBjbGFzcz0iZm9ybUVycm9yIj57dHJhbnNs
YXRlIGtleT0iJGVycm9yIn08L3NwYW4+PC9wPgorCXsvaWZ9CisJCisJe2lmICRzdWNjZXNzfQor
CQk8cD48c3BhbiBjbGFzcz0iZm9ybVN1Y2Nlc3MiPnt0cmFuc2xhdGUga2V5PSIkc3VjY2VzcyJ9
PC9zcGFuPjwvcD4KKwl7L2lmfQorCisJPGZvcm0gaWQ9Im5vdGlmaWNhdGlvblNldHRpbmdzIiBt
ZXRob2Q9InBvc3QiIGFjdGlvbj0ie3VybCBvcD0ic3Vic2NyaWJlTWFpbExpc3QifSI+CisJCisJ
PHRhYmxlIGNsYXNzPSJkYXRhIiB3aWR0aD0iMTAwJSI+CisJCTx0ciB2YWxpZ249InRvcCI+CisJ
CQk8dGQgY2xhc3M9ImxhYmVsIiB3aWR0aD0iNSUiPnt0cmFuc2xhdGUga2V5PSJlbWFpbC5lbWFp
bCJ9PC90ZD4KKwkJCTx0ZCBjbGFzcz0idmFsdWUiIHdpZHRoPSI0NSUiPjxpbnB1dCB0eXBlPSJ0
ZXh0IiBuYW1lPSJlbWFpbCIgc2l6ZT0iMzAiIG1heGxlbmd0aD0iOTAiIGNsYXNzPSJ0ZXh0Rmll
bGQiIC8+PC90ZD4KKwkJPC90cj4KKwkJPHRyIHZhbGlnbj0idG9wIj4KKwkJCTx0ZCB3aWR0aD0i
NSUiPiZuYnNwOzwvdGQ+CisJCQk8dGQ+PHA+PGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9Int0
cmFuc2xhdGUga2V5PSJmb3JtLnN1Ym1pdCJ9IiBjbGFzcz0iYnV0dG9uIGRlZmF1bHRCdXR0b24i
IC8+PC9wPjwvdGQ+CisJCTwvdHI+CisJPC90YWJsZT4KKwk8L2Zvcm0+CisJPGg1IHN0eWxlPSJt
YXJnaW4tbGVmdDoxMCUiPnt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24ubWFpbExpc3QucmVn
aXN0ZXIifTwvaDU+CisJPHVsIGNsYXNzPSJwbGFpbiIgc3R5bGU9Im1hcmdpbi1sZWZ0OjEwJSI+
CisJCXtpZiAkc2V0dGluZ3MuYWxsb3dSZWdSZXZpZXdlcn0KKwkJCXt1cmx8YXNzaWduOiJ1cmwi
IHBhZ2U9InVzZXIiIG9wPSJyZWdpc3RlciJ9CisJCQk8bGk+JiMxODc7IHt0cmFuc2xhdGUga2V5
PSJub3RpZmljYXRpb24ubWFpbExpc3QucmV2aWV3IiByZXZpZXdVcmw9JHVybH0gPC9saT4KKwkJ
ey9pZn0KKwkJe2lmICRzZXR0aW5ncy5hbGxvd1JlZ0F1dGhvcn0KKwkJCXt1cmx8YXNzaWduOiJ1
cmwiIHBhZ2U9ImluZm9ybWF0aW9uIiBvcD0iYXV0aG9ycyJ9CisJCQk8bGk+JiMxODc7IHt0cmFu
c2xhdGUga2V5PSJub3RpZmljYXRpb24ubWFpbExpc3Quc3VibWl0IiBzdWJtaXRVcmw9JHVybH0g
PC9saT4KKwkJey9pZn0KKwkJe2lmICRzZXR0aW5ncy5zdWJzY3JpcHRpb25zRW5hYmxlZH0KKwkJ
CXt1cmx8YXNzaWduOiJ1cmwiIHBhZ2U9InVzZXIiIG9wPSJyZWdpc3RlciJ9CisJCQk8bGk+JiMx
ODc7IHt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24ubWFpbExpc3QucHJvdGVjdGVkQ29udGVu
dCIgc3Vic2NyaWJlVXJsPSR1cmx9CisJCXsvaWZ9CisJPGxpPiYjMTg3OyA8YSBocmVmPSJ7dXJs
IHBhZ2U9ImFib3V0IiBvcD0ic3VibWlzc2lvbnMiIGFuY2hvcj0icHJpdmFjeVN0YXRlbWVudCJ9
Ij57dHJhbnNsYXRlIGtleT0iYWJvdXQucHJpdmFjeVN0YXRlbWVudCJ9PC9hPjwvbGk+CisJPHVs
Pgore2Vsc2VpZiAkcmVtb3ZlfQorCTxwPjxzcGFuIGNsYXNzPSJpbnN0cnVjdCI+e3RyYW5zbGF0
ZSBrZXk9Im5vdGlmaWNhdGlvbi51bnN1YnNjcmliZURlc2NyaXB0aW9uIn08L3NwYW4+PC9wPgor
CTxiciAvPgorCisJe2lmICRlcnJvcn0KKwkJPHA+PHNwYW4gY2xhc3M9ImZvcm1FcnJvciI+e3Ry
YW5zbGF0ZSBrZXk9IiRlcnJvciJ9PC9zcGFuPjwvcD4KKwl7L2lmfQorCQorCXtpZiAkc3VjY2Vz
c30KKwkJPHA+PHNwYW4gY2xhc3M9ImZvcm1TdWNjZXNzIj57dHJhbnNsYXRlIGtleT0iJHN1Y2Nl
c3MifTwvc3Bhbj48L3A+CisJey9pZn0KKwkKKwk8Zm9ybSBpZD0ibm90aWZpY2F0aW9uU2V0dGlu
Z3MiIG1ldGhvZD0icG9zdCIgYWN0aW9uPSJ7dXJsIG9wPSJ1bnN1YnNjcmliZU1haWxMaXN0In0i
PgorCTx0YWJsZSBjbGFzcz0iZGF0YSIgd2lkdGg9IjEwMCUiPgorCQk8dHIgdmFsaWduPSJ0b3Ai
PgorCQkJPHRkIGNsYXNzPSJsYWJlbCIgd2lkdGg9IjUlIj57dHJhbnNsYXRlIGtleT0iZW1haWwu
ZW1haWwifTwvdGQ+CisJCQk8dGQgY2xhc3M9InZhbHVlIiB3aWR0aD0iNDUlIj48aW5wdXQgdHlw
ZT0idGV4dCIgbmFtZT0iZW1haWwiIHNpemU9IjMwIiBtYXhsZW5ndGg9IjkwIiBjbGFzcz0idGV4
dEZpZWxkIiAvPjwvdGQ+CisJCTwvdHI+CisJCTx0ciB2YWxpZ249InRvcCI+CisJCQk8dGQgY2xh
c3M9ImxhYmVsIiB3aWR0aD0iNSUiPnt0cmFuc2xhdGUga2V5PSJ1c2VyLnBhc3N3b3JkIn08L3Rk
PgorCQkJPHRkIGNsYXNzPSJ2YWx1ZSIgd2lkdGg9IjQ1JSI+PGlucHV0IHR5cGU9InRleHQiIG5h
bWU9InBhc3N3b3JkIiBzaXplPSIzMCIgbWF4bGVuZ3RoPSI5MCIgY2xhc3M9InRleHRGaWVsZCIg
Lz48L3RkPgorCQk8L3RyPgorCQk8dHIgdmFsaWduPSJ0b3AiPgorCQkJPHRkIHdpZHRoPSI1JSI+
Jm5ic3A7PC90ZD4KKwkJCTx0ZD48cD48aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0ie3RyYW5z
bGF0ZSBrZXk9ImZvcm0uc3VibWl0In0iIGNsYXNzPSJidXR0b24gZGVmYXVsdEJ1dHRvbiIgLz48
L3A+PC90ZD4KKwkJPC90cj4KKwk8L3RhYmxlPgorCQorCTwvZm9ybT4KK3tlbHNlaWYgJGNvbmZp
cm19CisJe2lmICRlcnJvcn0KKwkJPHA+PHNwYW4gY2xhc3M9ImZvcm1FcnJvciI+e3RyYW5zbGF0
ZSBrZXk9IiRlcnJvciJ9PC9zcGFuPjwvcD4KKwl7L2lmfQorCQorCXtpZiAkc3VjY2Vzc30KKwkJ
PHA+PHNwYW4gY2xhc3M9ImZvcm1TdWNjZXNzIj57dHJhbnNsYXRlIGtleT0iJHN1Y2Nlc3MifTwv
c3Bhbj48L3A+CisJey9pZn0KK3svaWZ9CisKKzwvZm9ybT4KKwore2luY2x1ZGUgZmlsZT0iY29t
bW9uL2Zvb3Rlci50cGwifQpJbmRleDogdGVtcGxhdGVzL25vdGlmaWNhdGlvbi9zZXR0aW5ncy50
cGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQpSQ1MgZmlsZTogdGVtcGxhdGVzL25vdGlmaWNhdGlvbi9zZXR0aW5ncy50
cGwKZGlmZiAtTiB0ZW1wbGF0ZXMvbm90aWZpY2F0aW9uL3NldHRpbmdzLnRwbAotLS0gL2Rldi9u
dWxsCTEgSmFuIDE5NzAgMDA6MDA6MDAgLTAwMDAKKysrIHRlbXBsYXRlcy9ub3RpZmljYXRpb24v
c2V0dGluZ3MudHBsCTI4IEphbiAyMDA5IDE5OjI0OjM0IC0wMDAwCkBAIC0wLDAgKzEsMjcyIEBA
Cit7KioKKyAqIGluZGV4LnRwbAorICoKKyAqIENvcHlyaWdodCAoYykgMjAwMC0yMDA4IEpvaG4g
V2lsbGluc2t5CisgKiBEaXN0cmlidXRlZCB1bmRlciB0aGUgR05VIEdQTCB2Mi4gRm9yIGZ1bGwg
dGVybXMgc2VlIHRoZSBmaWxlIGRvY3MvQ09QWUlORy4KKyAqCisgKiBEaXNwbGF5cyB0aGUgbm90
aWZpY2F0aW9uIHNldHRpbmdzIHBhZ2UgYW5kIHVuY2hlY2tzICAKKyAqCisgKn0KK3tzdHJpcH0K
K3thc3NpZ24gdmFyPSJwYWdlVGl0bGUiIHZhbHVlPSJub3RpZmljYXRpb24uc2V0dGluZ3MifQor
e2luY2x1ZGUgZmlsZT0iY29tbW9uL2hlYWRlci50cGwifQorey9zdHJpcH0KKworPHA+e3RyYW5z
bGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5zZXR0aW5nc0Rlc2NyaXB0aW9uIn08L3A+CisKKzxmb3Jt
IGlkPSJub3RpZmljYXRpb25TZXR0aW5ncyIgbWV0aG9kPSJwb3N0IiBhY3Rpb249Int1cmwgb3A9
InNhdmVTZXR0aW5ncyJ9Ij4KKworPCEtLSBTdWJtaXNzaW9uIGV2ZW50cyAtLT4KK3tpZiAhJGNh
bk9ubHlSZWFkICYmICEkY2FuT25seVJldmlld30KKzxoND57dHJhbnNsYXRlIGtleT0ibm90aWZp
Y2F0aW9uLnR5cGUuc3VibWlzc2lvbnMifTwvaDQ+CisKKzx1bD4KKwk8bGk+e3RyYW5zbGF0ZSBr
ZXk9Im5vdGlmaWNhdGlvbi50eXBlLmFydGljbGVTdWJtaXR0ZWQiIHBhcmFtPSR0aXRsZVZhcn08
L2xpPgorCTx1bCBjbGFzcz0icGxhaW4iPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9
ImNoZWNrYm94IiBuYW1lPSJub3RpZmljYXRpb25BcnRpY2xlU3VibWl0dGVkIntpZiAhJHNtYXJ0
eS5jb25zdC5OT1RJRklDQVRJT05fVFlQRV9BUlRJQ0xFX1NVQk1JVFRFRHxpbl9hcnJheTokbm90
aWZpY2F0aW9uU2V0dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KKwkJCQl7dHJhbnNs
YXRlIGtleT0ibm90aWZpY2F0aW9uLmFsbG93In0KKwkJCTwvc3Bhbj48L2xpPgorCQk8bGk+PHNw
YW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJlbWFpbE5vdGlmaWNhdGlvbkFy
dGljbGVTdWJtaXR0ZWQie2lmICRzbWFydHkuY29uc3QuTk9USUZJQ0FUSU9OX1RZUEVfQVJUSUNM
RV9TVUJNSVRURUR8aW5fYXJyYXk6JGVtYWlsU2V0dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9p
Zn0gLz4KKwkJCQl7dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLmVtYWlsIn0KKwkJCTwvc3Bh
bj48L2xpPgorCTwvdWw+Cis8L3VsPgorCQkJCis8dWw+CisJPGxpPnt0cmFuc2xhdGUga2V5PSJu
b3RpZmljYXRpb24udHlwZS5tZXRhZGF0YU1vZGlmaWVkIiBwYXJhbT0kdGl0bGVWYXJ9PC9saT4K
Kwk8dWwgY2xhc3M9InBsYWluIj4KKwkJPGxpPjxzcGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVj
a2JveCIgbmFtZT0ibm90aWZpY2F0aW9uTWV0YWRhdGFNb2RpZmllZCJ7aWYgISRzbWFydHkuY29u
c3QuTk9USUZJQ0FUSU9OX1RZUEVfTUVUQURBVEFfTU9ESUZJRUR8aW5fYXJyYXk6JG5vdGlmaWNh
dGlvblNldHRpbmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0ZSBr
ZXk9Im5vdGlmaWNhdGlvbi5hbGxvdyJ9CisJCQk8L3NwYW4+PC9saT4KKwkJPGxpPjxzcGFuPgor
CQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZW1haWxOb3RpZmljYXRpb25NZXRhZGF0
YU1vZGlmaWVkIntpZiAkc21hcnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX01FVEFEQVRBX01P
RElGSUVEfGluX2FycmF5OiRlbWFpbFNldHRpbmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+
CisJCQkJe3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5lbWFpbCJ9CisJCQk8L3NwYW4+PC9s
aT4KKwk8L3VsPgorPC91bD4JCisKKzx1bD4KKwk8bGk+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNh
dGlvbi50eXBlLnN1cHBGaWxlQWRkZWQiIHBhcmFtPSR0aXRsZVZhcn08L2xpPgorCTx1bCBjbGFz
cz0icGxhaW4iPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1l
PSJub3RpZmljYXRpb25TdXBwRmlsZUFkZGVkIntpZiAhJHNtYXJ0eS5jb25zdC5OT1RJRklDQVRJ
T05fVFlQRV9TVVBQX0ZJTEVfQURERUR8aW5fYXJyYXk6JG5vdGlmaWNhdGlvblNldHRpbmdzfSBj
aGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlv
bi5hbGxvdyJ9CisJCQk8L3NwYW4+PC9saT4KKwkJPGxpPjxzcGFuPgorCQkJCTxpbnB1dCB0eXBl
PSJjaGVja2JveCIgbmFtZT0iZW1haWxOb3RpZmljYXRpb25TdXBwRmlsZUFkZGVkIntpZiAkc21h
cnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX1NVUFBfRklMRV9BRERFRHxpbl9hcnJheTokZW1h
aWxTZXR0aW5nc30gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAvPgorCQkJCXt0cmFuc2xhdGUga2V5
PSJub3RpZmljYXRpb24uZW1haWwifQorCQkJPC9zcGFuPjwvbGk+CisJPC91bD4KKzwvdWw+CisK
Kzx1bD4KKwk8bGk+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLnN1cHBGaWxlTW9k
aWZpZWQiIHBhcmFtPSR0aXRsZVZhcn08L2xpPgorCTx1bCBjbGFzcz0icGxhaW4iPgorCQk8bGk+
PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJub3RpZmljYXRpb25TdXBw
RmlsZU1vZGlmaWVkIntpZiAhJHNtYXJ0eS5jb25zdC5OT1RJRklDQVRJT05fVFlQRV9TVVBQX0ZJ
TEVfTU9ESUZJRUR8aW5fYXJyYXk6JG5vdGlmaWNhdGlvblNldHRpbmdzfSBjaGVja2VkPSJjaGVj
a2VkInsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5hbGxvdyJ9CisJ
CQk8L3NwYW4+PC9saT4KKwkJPGxpPjxzcGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIg
bmFtZT0iZW1haWxOb3RpZmljYXRpb25TdXBwRmlsZU1vZGlmaWVkIntpZiAkc21hcnR5LmNvbnN0
Lk5PVElGSUNBVElPTl9UWVBFX1NVUFBfRklMRV9NT0RJRklFRHxpbl9hcnJheTokZW1haWxTZXR0
aW5nc30gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAvPgorCQkJCXt0cmFuc2xhdGUga2V5PSJub3Rp
ZmljYXRpb24uZW1haWwifQorCQkJPC9zcGFuPjwvbGk+CisJPC91bD4KKzwvdWw+CisKKzxiciAv
PgorCit7aWYgISRjYW5Pbmx5UmVhZH0KKzwhLS0gUmV2aWV3aW5nIGV2ZW50cyAtLT4KKzxoND57
dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLnR5cGUucmV2aWV3aW5nIn08L2g0PgorCisKKzx1
bD4KKwk8bGk+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLnJldmlld2VyQ29tbWVu
dCIgcGFyYW09JHRpdGxlVmFyfTwvbGk+CisJPHVsIGNsYXNzPSJwbGFpbiI+CisJCTxsaT48c3Bh
bj4KKwkJCQk8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Im5vdGlmaWNhdGlvblJldmlld2Vy
Q29tbWVudCJ7aWYgISRzbWFydHkuY29uc3QuTk9USUZJQ0FUSU9OX1RZUEVfUkVWSUVXRVJfQ09N
TUVOVHxpbl9hcnJheTokbm90aWZpY2F0aW9uU2V0dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9p
Zn0gLz4KKwkJCQl7dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLmFsbG93In0KKwkJCTwvc3Bh
bj48L2xpPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJl
bWFpbE5vdGlmaWNhdGlvblJldmlld2VyQ29tbWVudCJ7aWYgJHNtYXJ0eS5jb25zdC5OT1RJRklD
QVRJT05fVFlQRV9SRVZJRVdFUl9DT01NRU5UfGluX2FycmF5OiRlbWFpbFNldHRpbmdzfSBjaGVj
a2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5l
bWFpbCJ9CisJCQk8L3NwYW4+PC9saT4KKwk8L3VsPgorPC91bD4KKworPHVsPgorCTxsaT57dHJh
bnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLnR5cGUucmV2aWV3ZXJGb3JtQ29tbWVudCIgcGFyYW09
JHRpdGxlVmFyfTwvbGk+CisJPHVsIGNsYXNzPSJwbGFpbiI+CisJCTxsaT48c3Bhbj4KKwkJCQk8
aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Im5vdGlmaWNhdGlvblJldmlld2VyRm9ybUNvbW1l
bnQie2lmICEkc21hcnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX1JFVklFV0VSX0ZPUk1fQ09N
TUVOVHxpbl9hcnJheTokbm90aWZpY2F0aW9uU2V0dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9p
Zn0gLz4KKwkJCQl7dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLmFsbG93In0KKwkJCTwvc3Bh
bj48L2xpPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJl
bWFpbE5vdGlmaWNhdGlvblJldmlld2VyRm9ybUNvbW1lbnQie2lmICRzbWFydHkuY29uc3QuTk9U
SUZJQ0FUSU9OX1RZUEVfUkVWSUVXRVJfRk9STV9DT01NRU5UfGluX2FycmF5OiRlbWFpbFNldHRp
bmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0ZSBrZXk9Im5vdGlm
aWNhdGlvbi5lbWFpbCJ9CisJCQk8L3NwYW4+PC9saT4KKwk8L3VsPgorPC91bD4KKworPHVsPgor
CTxsaT57dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLnR5cGUuZWRpdG9yRGVjaXNpb25Db21t
ZW50IiBwYXJhbT0kdGl0bGVWYXJ9PC9saT4KKwk8dWwgY2xhc3M9InBsYWluIj4KKwkJPGxpPjxz
cGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibm90aWZpY2F0aW9uRWRpdG9y
RGVjaXNpb25Db21tZW50IntpZiAhJHNtYXJ0eS5jb25zdC5OT1RJRklDQVRJT05fVFlQRV9FRElU
T1JfREVDSVNJT05fQ09NTUVOVHxpbl9hcnJheTokbm90aWZpY2F0aW9uU2V0dGluZ3N9IGNoZWNr
ZWQ9ImNoZWNrZWQiey9pZn0gLz4KKwkJCQl7dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLmFs
bG93In0KKwkJCTwvc3Bhbj48L2xpPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9ImNo
ZWNrYm94IiBuYW1lPSJlbWFpbE5vdGlmaWNhdGlvbkVkaXRvckRlY2lzaW9uQ29tbWVudCJ7aWYg
JHNtYXJ0eS5jb25zdC5OT1RJRklDQVRJT05fVFlQRV9FRElUT1JfREVDSVNJT05fQ09NTUVOVHxp
bl9hcnJheTokZW1haWxTZXR0aW5nc30gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAvPgorCQkJCXt0
cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24uZW1haWwifQorCQkJPC9zcGFuPjwvbGk+CisJPC91
bD4KKzwvdWw+CisJCis8YnIgLz4KK3svaWZ9CisKKzwhLS0gRWRpdGluZyBldmVudHMgLS0+Cis8
aDQ+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLmVkaXRpbmcifTwvaDQ+CisKKzx1
bD4KKwk8bGk+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLmdhbGxleUFkZGVkIiBw
YXJhbT0kdGl0bGVWYXJ9PC9saT4KKwk8dWwgY2xhc3M9InBsYWluIj4KKwkJPGxpPjxzcGFuPgor
CQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibm90aWZpY2F0aW9uR2FsbGV5QWRkZWQi
e2lmICEkc21hcnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX0dBTExFWV9BRERFRHxpbl9hcnJh
eTokbm90aWZpY2F0aW9uU2V0dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KKwkJCQl7
dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLmFsbG93In0KKwkJCTwvc3Bhbj48L2xpPgorCQk8
bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJlbWFpbE5vdGlmaWNh
dGlvbkdhbGxleUFkZGVkIntpZiAkc21hcnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX0dBTExF
WV9BRERFRHxpbl9hcnJheTokZW1haWxTZXR0aW5nc30gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAv
PgorCQkJCXt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24uZW1haWwifQorCQkJPC9zcGFuPjwv
bGk+CisJPC91bD4KKzwvdWw+CisKKzx1bD4KKwk8bGk+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNh
dGlvbi50eXBlLmdhbGxleU1vZGlmaWVkIiBwYXJhbT0kdGl0bGVWYXJ9PC9saT4KKwk8dWwgY2xh
c3M9InBsYWluIj4KKwkJPGxpPjxzcGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFt
ZT0ibm90aWZpY2F0aW9uR2FsbGV5TW9kaWZpZWQie2lmICEkc21hcnR5LmNvbnN0Lk5PVElGSUNB
VElPTl9UWVBFX0dBTExFWV9NT0RJRklFRHxpbl9hcnJheTokbm90aWZpY2F0aW9uU2V0dGluZ3N9
IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KKwkJCQl7dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0
aW9uLmFsbG93In0KKwkJCTwvc3Bhbj48L2xpPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5
cGU9ImNoZWNrYm94IiBuYW1lPSJlbWFpbE5vdGlmaWNhdGlvbkdhbGxleU1vZGlmaWVkIntpZiAk
c21hcnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX0dBTExFWV9NT0RJRklFRHxpbl9hcnJheTok
ZW1haWxTZXR0aW5nc30gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAvPgorCQkJCXt0cmFuc2xhdGUg
a2V5PSJub3RpZmljYXRpb24uZW1haWwifQorCQkJPC9zcGFuPjwvbGk+CisJPC91bD4KKzwvdWw+
CisKKzx1bD4KKwk8bGk+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLnN1Ym1pc3Np
b25Db21tZW50IiBwYXJhbT0kdGl0bGVWYXJ9PC9saT4KKwk8dWwgY2xhc3M9InBsYWluIj4KKwkJ
PGxpPjxzcGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibm90aWZpY2F0aW9u
U3VibWlzc2lvbkNvbW1lbnQie2lmICEkc21hcnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX1NV
Qk1JU1NJT05fQ09NTUVOVHxpbl9hcnJheTokbm90aWZpY2F0aW9uU2V0dGluZ3N9IGNoZWNrZWQ9
ImNoZWNrZWQiey9pZn0gLz4KKwkJCQl7dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLmFsbG93
In0KKwkJCTwvc3Bhbj48L2xpPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNr
Ym94IiBuYW1lPSJlbWFpbE5vdGlmaWNhdGlvblN1Ym1pc3Npb25Db21tZW50IntpZiAkc21hcnR5
LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX1NVQk1JU1NJT05fQ09NTUVOVHxpbl9hcnJheTokZW1h
aWxTZXR0aW5nc30gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAvPgorCQkJCXt0cmFuc2xhdGUga2V5
PSJub3RpZmljYXRpb24uZW1haWwifQorCQkJPC9zcGFuPjwvbGk+CisJPC91bD4KKzwvdWw+CisK
Kzx1bD4KKwk8bGk+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLmxheW91dENvbW1l
bnQiIHBhcmFtPSR0aXRsZVZhcn08L2xpPgorCTx1bCBjbGFzcz0icGxhaW4iPgorCQk8bGk+PHNw
YW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJub3RpZmljYXRpb25MYXlvdXRD
b21tZW50IntpZiAhJHNtYXJ0eS5jb25zdC5OT1RJRklDQVRJT05fVFlQRV9MQVlPVVRfQ09NTUVO
VHxpbl9hcnJheTokbm90aWZpY2F0aW9uU2V0dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0g
Lz4KKwkJCQl7dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLmFsbG93In0KKwkJCTwvc3Bhbj48
L2xpPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJlbWFp
bE5vdGlmaWNhdGlvbkxheW91dENvbW1lbnQie2lmICRzbWFydHkuY29uc3QuTk9USUZJQ0FUSU9O
X1RZUEVfTEFZT1VUX0NPTU1FTlR8aW5fYXJyYXk6JGVtYWlsU2V0dGluZ3N9IGNoZWNrZWQ9ImNo
ZWNrZWQiey9pZn0gLz4KKwkJCQl7dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLmVtYWlsIn0K
KwkJCTwvc3Bhbj48L2xpPgorCTwvdWw+Cis8L3VsPgorCis8dWw+CisJPGxpPnt0cmFuc2xhdGUg
a2V5PSJub3RpZmljYXRpb24udHlwZS5jb3B5ZWRpdENvbW1lbnQiIHBhcmFtPSR0aXRsZVZhcn08
L2xpPgorCTx1bCBjbGFzcz0icGxhaW4iPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9
ImNoZWNrYm94IiBuYW1lPSJub3RpZmljYXRpb25Db3B5ZWRpdENvbW1lbnQie2lmICEkc21hcnR5
LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX0NPUFlFRElUX0NPTU1FTlR8aW5fYXJyYXk6JG5vdGlm
aWNhdGlvblNldHRpbmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0
ZSBrZXk9Im5vdGlmaWNhdGlvbi5hbGxvdyJ9CisJCQk8L3NwYW4+PC9saT4KKwkJPGxpPjxzcGFu
PgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZW1haWxOb3RpZmljYXRpb25Db3B5
ZWRpdENvbW1lbnQie2lmICRzbWFydHkuY29uc3QuTk9USUZJQ0FUSU9OX1RZUEVfQ09QWUVESVRf
Q09NTUVOVHxpbl9hcnJheTokZW1haWxTZXR0aW5nc30gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAv
PgorCQkJCXt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24uZW1haWwifQorCQkJPC9zcGFuPjwv
bGk+CisJPC91bD4KKzwvdWw+CisKKzx1bD4KKwk8bGk+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNh
dGlvbi50eXBlLnByb29mcmVhZENvbW1lbnQiIHBhcmFtPSR0aXRsZVZhcn08L2xpPgorCTx1bCBj
bGFzcz0icGxhaW4iPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBu
YW1lPSJub3RpZmljYXRpb25Qcm9vZnJlYWRDb21tZW50IntpZiAhJHNtYXJ0eS5jb25zdC5OT1RJ
RklDQVRJT05fVFlQRV9QUk9PRlJFQURfQ09NTUVOVHxpbl9hcnJheTokbm90aWZpY2F0aW9uU2V0
dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KKwkJCQl7dHJhbnNsYXRlIGtleT0ibm90
aWZpY2F0aW9uLmFsbG93In0KKwkJCTwvc3Bhbj48L2xpPgorCQk8bGk+PHNwYW4+CisJCQkJPGlu
cHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJlbWFpbE5vdGlmaWNhdGlvblByb29mcmVhZENvbW1l
bnQie2lmICRzbWFydHkuY29uc3QuTk9USUZJQ0FUSU9OX1RZUEVfUFJPT0ZSRUFEX0NPTU1FTlR8
aW5fYXJyYXk6JGVtYWlsU2V0dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KKwkJCQl7
dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLmVtYWlsIn0KKwkJCTwvc3Bhbj48L2xpPgorCTwv
dWw+Cis8L3VsPgorCis8YnIgLz4KK3svaWZ9CisKKzwhLS0gU2l0ZSBldmVudHMgLS0+Cis8aDQ+
e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLnNpdGUifTwvaDQ+CisKKzx1bD4KKwk8
bGk+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi50eXBlLnVzZXJDb21tZW50IiBwYXJhbT0k
dGl0bGVWYXJ9PC9saT4KKwk8dWwgY2xhc3M9InBsYWluIj4KKwkJPGxpPjxzcGFuPgorCQkJCTxp
bnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibm90aWZpY2F0aW9uVXNlckNvbW1lbnQie2lmICEk
c21hcnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX1VTRVJfQ09NTUVOVHxpbl9hcnJheTokbm90
aWZpY2F0aW9uU2V0dGluZ3N9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KKwkJCQl7dHJhbnNs
YXRlIGtleT0ibm90aWZpY2F0aW9uLmFsbG93In0KKwkJCTwvc3Bhbj48L2xpPgorCQk8bGk+PHNw
YW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJlbWFpbE5vdGlmaWNhdGlvblVz
ZXJDb21tZW50IntpZiAkc21hcnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX1VTRVJfQ09NTUVO
VHxpbl9hcnJheTokZW1haWxTZXR0aW5nc30gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAvPgorCQkJ
CXt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24uZW1haWwifQorCQkJPC9zcGFuPjwvbGk+CisJ
PC91bD4KKzwvdWw+CisKKzx1bD4KKwk8bGk+e3RyYW5zbGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi50
eXBlLmlzc3VlUHVibGlzaGVkIiBwYXJhbT0kdXNlclZhcn08L2xpPgorCTx1bCBjbGFzcz0icGxh
aW4iPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJub3Rp
ZmljYXRpb25QdWJsaXNoZWRJc3N1ZSJ7aWYgISRzbWFydHkuY29uc3QuTk9USUZJQ0FUSU9OX1RZ
UEVfUFVCTElTSEVEX0lTU1VFfGluX2FycmF5OiRub3RpZmljYXRpb25TZXR0aW5nc30gY2hlY2tl
ZD0iY2hlY2tlZCJ7L2lmfSAvPgorCQkJCXt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24uYWxs
b3cifQorCQkJPC9zcGFuPjwvbGk+CisJCTxsaT48c3Bhbj4KKwkJCQk8aW5wdXQgdHlwZT0iY2hl
Y2tib3giIG5hbWU9ImVtYWlsTm90aWZpY2F0aW9uUHVibGlzaGVkSXNzdWUie2lmICRzbWFydHku
Y29uc3QuTk9USUZJQ0FUSU9OX1RZUEVfUFVCTElTSEVEX0lTU1VFfGluX2FycmF5OiRlbWFpbFNl
dHRpbmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5zbGF0ZSBrZXk9Im5v
dGlmaWNhdGlvbi5lbWFpbCJ9CisJCQk8L3NwYW4+PC9saT4KKwk8L3VsPgorPC91bD4KKworPHVs
PgorCTxsaT57dHJhbnNsYXRlIGtleT0ibm90aWZpY2F0aW9uLnR5cGUubmV3QW5ub3VuY2VtZW50
In08L2xpPgorCTx1bCBjbGFzcz0icGxhaW4iPgorCQk8bGk+PHNwYW4+CisJCQkJPGlucHV0IHR5
cGU9ImNoZWNrYm94IiBuYW1lPSJub3RpZmljYXRpb25OZXdBbm5vdW5jZW1lbnQie2lmICEkc21h
cnR5LmNvbnN0Lk5PVElGSUNBVElPTl9UWVBFX05FV19BTk5PVU5DRU1FTlR8aW5fYXJyYXk6JG5v
dGlmaWNhdGlvblNldHRpbmdzfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CisJCQkJe3RyYW5z
bGF0ZSBrZXk9Im5vdGlmaWNhdGlvbi5hbGxvdyJ9CisJCQk8L3NwYW4+PC9saT4KKwkJPGxpPjxz
cGFuPgorCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZW1haWxOb3RpZmljYXRpb25O
ZXdBbm5vdW5jZW1lbnQie2lmICRzbWFydHkuY29uc3QuTk9USUZJQ0FUSU9OX1RZUEVfTkVXX0FO
Tk9VTkNFTUVOVHxpbl9hcnJheTokZW1haWxTZXR0aW5nc30gY2hlY2tlZD0iY2hlY2tlZCJ7L2lm
fSAvPgorCQkJCXt0cmFuc2xhdGUga2V5PSJub3RpZmljYXRpb24uZW1haWwifQorCQkJPC9zcGFu
PjwvbGk+CisJPC91bD4KKzwvdWw+CisKKzxiciAvPgorCis8cD48aW5wdXQgdHlwZT0ic3VibWl0
IiB2YWx1ZT0ie3RyYW5zbGF0ZSBrZXk9ImZvcm0uc3VibWl0In0iIGNsYXNzPSJidXR0b24gZGVm
YXVsdEJ1dHRvbiIgLz4gIDxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSJ7dHJhbnNsYXRlIGtl
eT0iY29tbW9uLmNhbmNlbCJ9IiBjbGFzcz0iYnV0dG9uIiBvbmNsaWNrPSJkb2N1bWVudC5sb2Nh
dGlvbi5ocmVmPSd7dXJsIG9wPSJub3RpZmljYXRpb24iIGVzY2FwZT1mYWxzZX0nIiAvPjwvcD4K
KworPC9mb3JtPgorCit7aW5jbHVkZSBmaWxlPSJjb21tb24vZm9vdGVyLnRwbCJ9CkluZGV4OiB0
ZW1wbGF0ZXMvdXNlci9wcm9maWxlLnRwbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL29qczIv
dGVtcGxhdGVzL3VzZXIvcHJvZmlsZS50cGwsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNDEKZGlm
ZiAtdSAtcjEuNDEgcHJvZmlsZS50cGwKLS0tIHRlbXBsYXRlcy91c2VyL3Byb2ZpbGUudHBsCTEy
IEF1ZyAyMDA4IDIyOjE5OjI0IC0wMDAwCTEuNDEKKysrIHRlbXBsYXRlcy91c2VyL3Byb2ZpbGUu
dHBsCTI4IEphbiAyMDA5IDE5OjI0OjM0IC0wMDAwCkBAIC0xMzksMjQgKzEzOSw2IEBACiA8L3Ry
Pgogey9pZn0KIAote2ZvcmVhY2ggZnJvbT0kam91cm5hbHMgbmFtZT1qb3VybmFsTm90aWZpY2F0
aW9ucyBrZXk9dGhpc0pvdXJuYWxJZCBpdGVtPXRoaXNKb3VybmFsfQotCXthc3NpZ24gdmFyPXRo
aXNKb3VybmFsSWQgdmFsdWU9JHRoaXNKb3VybmFsLT5nZXRKb3VybmFsSWQoKX0KLQl7YXNzaWdu
IHZhcj1ub3RpZmljYXRpb25FbmFibGVkIHZhbHVlPWAkam91cm5hbE5vdGlmaWNhdGlvbnMuJHRo
aXNKb3VybmFsSWRgfQotCXtpZiAhJG5vdEZpcnN0Sm91cm5hbH0KLQkJe2Fzc2lnbiB2YXI9bm90
Rmlyc3RKb3VybmFsIHZhbHVlPTF9Ci0JCTx0ciB2YWxpZ249InRvcCI+Ci0JCQk8dGQgY2xhc3M9
ImxhYmVsIj57dHJhbnNsYXRlIGtleT0idXNlci5wcm9maWxlLmZvcm0ucHVibGlzaGVkTm90aWZp
Y2F0aW9ucyJ9PC90ZD4KLQkJCTx0ZCBjbGFzcz0idmFsdWUiPgotCXsvaWZ9Ci0KLQkJCTxpbnB1
dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iam91cm5hbE5vdGlmeVtdIiB7aWYgJG5vdGlmaWNhdGlv
bkVuYWJsZWR9Y2hlY2tlZD0iY2hlY2tlZCIgey9pZn1pZD0iam91cm5hbE5vdGlmeS17JHRoaXNK
b3VybmFsSWR8ZXNjYXBlfSIgdmFsdWU9InskdGhpc0pvdXJuYWxJZHxlc2NhcGV9IiAvPiA8bGFi
ZWwgZm9yPSJqb3VybmFsTm90aWZ5LXskdGhpc0pvdXJuYWxJZHxlc2NhcGV9Ij57JHRoaXNKb3Vy
bmFsLT5nZXRKb3VybmFsVGl0bGUoKXxlc2NhcGV9PC9sYWJlbD48YnIvPgotCi0Je2lmICRzbWFy
dHkuZm9yZWFjaC5qb3VybmFsTm90aWZpY2F0aW9ucy5sYXN0fQotCQkJPC90ZD4KLQkJPC90cj4K
LQl7L2lmfQotey9mb3JlYWNofQotCiB7aWYgJGRpc3BsYXlPcGVuQWNjZXNzTm90aWZpY2F0aW9u
fQogCXthc3NpZ24gdmFyPW5vdEZpcnN0Sm91cm5hbCB2YWx1ZT0wfQogCXtmb3JlYWNoIGZyb209
JGpvdXJuYWxzIG5hbWU9am91cm5hbE9wZW5BY2Nlc3NOb3RpZmljYXRpb25zIGtleT10aGlzSm91
cm5hbElkIGl0ZW09dGhpc0pvdXJuYWx9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>1369</attachid>
            <date>2009-01-28 11:48:00 -0800</date>
            <delta_ts>2009-01-28 11:48:24 -0800</delta_ts>
            <desc>Patch against PKP pre-2.3 CVS</desc>
            <filename>pkpNotifs.patch</filename>
            <type>text/plain</type>
            <size>56458</size>
            <attacher>mattcrider</attacher>
            
              <data encoding="base64">SW5kZXg6IGNsYXNzZXMvY29yZS9QS1BBcHBsaWNhdGlvbi5pbmMucGhwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT
IGZpbGU6IC9jdnMvcGtwL2NsYXNzZXMvY29yZS9QS1BBcHBsaWNhdGlvbi5pbmMucGhwLHYKcmV0
cmlldmluZyByZXZpc2lvbiAxLjkKZGlmZiAtdSAtcjEuOSBQS1BBcHBsaWNhdGlvbi5pbmMucGhw
Ci0tLSBjbGFzc2VzL2NvcmUvUEtQQXBwbGljYXRpb24uaW5jLnBocAkxNiBPY3QgMjAwOCAxNzo0
NzoyOSAtMDAwMAkxLjkKKysrIGNsYXNzZXMvY29yZS9QS1BBcHBsaWNhdGlvbi5pbmMucGhwCTI4
IEphbiAyMDA5IDE5OjIwOjAyIC0wMDAwCkBAIC0xODYsNiArMTg2LDggQEAKIAkJCSdDdXJyZW5j
eURBTycgPT4gJ2N1cnJlbmN5LkN1cnJlbmN5REFPJywKIAkJCSdIZWxwVG9jREFPJyA9PiAnaGVs
cC5IZWxwVG9jREFPJywKIAkJCSdIZWxwVG9waWNEQU8nID0+ICdoZWxwLkhlbHBUb3BpY0RBTycs
CisJCQknTm90aWZpY2F0aW9uREFPJyA9PiAnbm90aWZpY2F0aW9uLk5vdGlmaWNhdGlvbkRBTycs
CisJCQknTm90aWZpY2F0aW9uU2V0dGluZ3NEQU8nID0+ICdub3RpZmljYXRpb24uTm90aWZpY2F0
aW9uU2V0dGluZ3NEQU8nLAogCQkJJ1NjaGVkdWxlZFRhc2tEQU8nID0+ICdzY2hlZHVsZWRUYXNr
LlNjaGVkdWxlZFRhc2tEQU8nLAogCQkJJ1Nlc3Npb25EQU8nID0+ICdzZXNzaW9uLlNlc3Npb25E
QU8nLAogCQkJJ1NpdGVEQU8nID0+ICdzaXRlLlNpdGVEQU8nLApJbmRleDogY2xhc3Nlcy9ub3Rp
ZmljYXRpb24vTm90aWZpY2F0aW9uREFPLmluYy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogY2xh
c3Nlcy9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9uREFPLmluYy5waHAKZGlmZiAtTiBjbGFzc2Vz
L25vdGlmaWNhdGlvbi9Ob3RpZmljYXRpb25EQU8uaW5jLnBocAotLS0gL2Rldi9udWxsCTEgSmFu
IDE5NzAgMDA6MDA6MDAgLTAwMDAKKysrIGNsYXNzZXMvbm90aWZpY2F0aW9uL05vdGlmaWNhdGlv
bkRBTy5pbmMucGhwCTI4IEphbiAyMDA5IDE5OjIwOjAzIC0wMDAwCkBAIC0wLDAgKzEsMzI1IEBA
Cis8P3BocAorCisvKioKKyAqIEBmaWxlIGNsYXNzZXMvbm90aWZpY2F0aW9uL05vdGlmaWNhdGlv
bkRBTy5pbmMucGhwCisgKgorICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMDggSm9obiBXaWxsaW5z
a3kKKyAqIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR1BMIHYyLiBGb3IgZnVsbCB0ZXJtcyBz
ZWUgdGhlIGZpbGUgZG9jcy9DT1BZSU5HLgorICoKKyAqIEBjbGFzcyBOb3RpZmljYXRpb25EQU8K
KyAqIEBpbmdyb3VwIG5vdGlmaWNhdGlvbgorICogQHNlZSBOb3RpZmljYXRpb24KKyAqCisgKiBA
YnJpZWYgT3BlcmF0aW9ucyBmb3IgcmV0cmlldmluZyBhbmQgbW9kaWZ5aW5nIE5vdGlmaWNhdGlv
biBvYmplY3RzLgorICovCisKKy8vICRJZDogTm90aWZpY2F0aW9uREFPLmluYy5waHAsdiAxLjE5
IDIwMDgvMTEvMDUgMDA6NDY6MzkgbWNyaWRlciBFeHAgJAorCitpbXBvcnQoJ25vdGlmaWNhdGlv
bi5Ob3RpZmljYXRpb24nKTsKKworY2xhc3MgTm90aWZpY2F0aW9uREFPIGV4dGVuZHMgREFPIHsK
KwkvKioKKwkgKiBDb25zdHJ1Y3Rvci4KKwkgKi8KKwlmdW5jdGlvbiBOb3RpZmljYXRpb25EQU8o
KSB7CisJCXBhcmVudDo6REFPKCk7CisJfQorCQorCS8qKgorCSAqIFJldHJpZXZlIE5vdGlmaWNh
dGlvbiBieSBub3RpZmljYXRpb24gaWQKKwkgKiBAcGFyYW0gJG5vdGlmaWNhdGlvbklkIGludAor
CSAqIEByZXR1cm4gTm90aWZpY2F0aW9uIG9iamVjdAorCSAqLworCWZ1bmN0aW9uICZnZXROb3Rp
ZmljYXRpb25CeUlkKCRub3RpZmljYXRpb25JZCkgeworCQkkcmVzdWx0ID0mICR0aGlzLT5yZXRy
aWV2ZSgKKwkJCSdTRUxFQ1QgKiBGUk9NIG5vdGlmaWNhdGlvbnMgV0hFUkUgbm90aWZpY2F0aW9u
X2lkID0gPycsIChpbnQpICRub3RpZmljYXRpb25JZAorCQkpOworCQorCQkkbm90aWZpY2F0aW9u
ID0mICR0aGlzLT5fcmV0dXJuTm90aWZpY2F0aW9uRnJvbVJvdygkcmVzdWx0LT5HZXRSb3dBc3Nv
YyhmYWxzZSkpOworCQorCQkkcmVzdWx0LT5DbG9zZSgpOworCQl1bnNldCgkcmVzdWx0KTsKKwkK
KwkJcmV0dXJuICRub3RpZmljYXRpb247CisJfQkKKwkKKwkvKioKKwkgKiBSZXRyaWV2ZSBOb3Rp
ZmljYXRpb25zIGJ5IHVzZXIgaWQKKwkgKiBAcGFyYW0gJHVzZXJJZCBpbnQKKwkgKiBAcmV0dXJu
IG9iamVjdCBEQU9SZXN1bHRGYWN0b3J5IGNvbnRhaW5pbmcgbWF0Y2hpbmcgTm90aWZpY2F0aW9u
IG9iamVjdHMKKwkgKi8KKwlmdW5jdGlvbiAmZ2V0Tm90aWZpY2F0aW9uc0J5VXNlcklkKCR1c2Vy
SWQsICRyYW5nZUluZm8gPSBudWxsKSB7CisJCSRhcHBsaWNhdGlvbiA9JiBQS1BBcHBsaWNhdGlv
bjo6Z2V0QXBwbGljYXRpb24oKTsKKwkJJHByb2R1Y3ROYW1lID0gJGFwcGxpY2F0aW9uLT5nZXRO
YW1lKCk7CisJCSRjb250ZXh0ID0mIFJlcXVlc3Q6OmdldENvbnRleHQoKTsKKwkJJGNvbnRleHRJ
ZCA9ICRjb250ZXh0LT5nZXRJZCgpOworCQkKKwkJJG5vdGlmaWNhdGlvbnMgPSBhcnJheSgpOwor
CQorCQkkcmVzdWx0ID0mICR0aGlzLT5yZXRyaWV2ZVJhbmdlKAorCQkJJ1NFTEVDVCAqIEZST00g
bm90aWZpY2F0aW9ucyBXSEVSRSB1c2VyX2lkID0gPyBBTkQgcHJvZHVjdCA9ID8gQU5EIGNvbnRl
eHQgPSA/IE9SREVSIEJZIGRhdGVfY3JlYXRlZCBERVNDJywJCisJCQlhcnJheSgoaW50KSAkdXNl
cklkLCAkcHJvZHVjdE5hbWUsIChpbnQpICRjb250ZXh0SWQpLCAkcmFuZ2VJbmZvCisJCSk7CisJ
CisJCSRyZXR1cm5lciA9IG5ldyBEQU9SZXN1bHRGYWN0b3J5KCRyZXN1bHQsICR0aGlzLCAnX3Jl
dHVybk5vdGlmaWNhdGlvbkZyb21Sb3cnKTsKKwkJCisJCXJldHVybiAkcmV0dXJuZXI7CisJfQor
CQorCS8qKgorCSAqIFJldHJpZXZlIE5vdGlmaWNhdGlvbnMgYnkgbm90aWZpY2F0aW9uIGlkCisJ
ICogQHBhcmFtICRub3RpZmljYXRpb25JZCBpbnQKKwkgKiBAcmV0dXJuIGJvb2xlYW4KKwkgKi8K
KwlmdW5jdGlvbiBzZXREYXRlUmVhZCgkbm90aWZpY2F0aW9uSWQpIHsKKwkJJHJldHVybmVyID0g
JHRoaXMtPnVwZGF0ZSgKKwkJCXNwcmludGYoJ1VQREFURSBub3RpZmljYXRpb25zCisJCQkJU0VU
IGRhdGVfcmVhZCA9ICVzCisJCQkJV0hFUkUgbm90aWZpY2F0aW9uX2lkID0gPycsCisJCQkJJHRo
aXMtPmRhdGV0aW1lVG9EQihkYXRlKCdZLW0tZCBIOmk6cycpKSksCisJCQkoaW50KSAkbm90aWZp
Y2F0aW9uSWQKKwkJKTsKKworCQlyZXR1cm4gJHJldHVybmVyOworCX0KKwkKKwkvKioKKwkgKiBD
cmVhdGVzIGFuZCByZXR1cm5zIGFuIG5vdGlmaWNhdGlvbiBvYmplY3QgZnJvbSBhIHJvdworCSAq
IEBwYXJhbSAkcm93IGFycmF5CisJICogQHJldHVybiBOb3RpZmljYXRpb24gb2JqZWN0CisJICov
CisJZnVuY3Rpb24gJl9yZXR1cm5Ob3RpZmljYXRpb25Gcm9tUm93KCRyb3cpIHsKKwkJJG5vdGlm
aWNhdGlvbiA9IG5ldyBOb3RpZmljYXRpb24oKTsKKwkJJG5vdGlmaWNhdGlvbi0+c2V0Tm90aWZp
Y2F0aW9uSWQoJHJvd1snbm90aWZpY2F0aW9uX2lkJ10pOworCQkkbm90aWZpY2F0aW9uLT5zZXRV
c2VySWQoJHJvd1sndXNlcl9pZCddKTsKKwkJJG5vdGlmaWNhdGlvbi0+c2V0RGF0ZUNyZWF0ZWQo
JHJvd1snZGF0ZV9jcmVhdGVkJ10pOworCQkkbm90aWZpY2F0aW9uLT5zZXREYXRlUmVhZCgkcm93
WydkYXRlX3JlYWQnXSk7CisJCSRub3RpZmljYXRpb24tPnNldENvbnRlbnRzKCRyb3dbJ2NvbnRl
bnRzJ10pOworCQkkbm90aWZpY2F0aW9uLT5zZXRQYXJhbSgkcm93WydwYXJhbSddKTsKKwkJJG5v
dGlmaWNhdGlvbi0+c2V0TG9jYXRpb24oJHJvd1snbG9jYXRpb24nXSk7CisJCSRub3RpZmljYXRp
b24tPnNldElzTG9jYWxpemVkKCRyb3dbJ2lzX2xvY2FsaXplZCddKTsKKwkJJG5vdGlmaWNhdGlv
bi0+c2V0Q29udGV4dCgkcm93Wydjb250ZXh0J10pOworCQkkbm90aWZpY2F0aW9uLT5zZXRBc3Nv
Y1R5cGUoJHJvd1snYXNzb2NfdHlwZSddKTsKKwkJCisJCUhvb2tSZWdpc3RyeTo6Y2FsbCgnTm90
aWZpY2F0aW9uREFPOjpfcmV0dXJuTm90aWZpY2F0aW9uRnJvbVJvdycsIGFycmF5KCYkbm90aWZp
Y2F0aW9uLCAmJHJvdykpOworCQorCQlyZXR1cm4gJG5vdGlmaWNhdGlvbjsKKwl9CisJCisJLyoq
CisJICogSW5zZXJ0cyBhIG5ldyBub3RpZmljYXRpb24gaW50byBub3RpZmljYXRpb25zIHRhYmxl
CisJICogQHBhcmFtIE5vdGlmaWNhdGlvbiBvYmplY3QKKwkgKiBAcmV0dXJuIGludCBOb3RpZmlj
YXRpb24gSWQgCisJICovCisJZnVuY3Rpb24gaW5zZXJ0Tm90aWZpY2F0aW9uKCYkbm90aWZpY2F0
aW9uKSB7CisJCSRhcHBsaWNhdGlvbiA9JiBQS1BBcHBsaWNhdGlvbjo6Z2V0QXBwbGljYXRpb24o
KTsKKwkJJHByb2R1Y3ROYW1lID0gJGFwcGxpY2F0aW9uLT5nZXROYW1lKCk7CisJCQorCQlpZiAo
JHRoaXMtPm5vdGlmaWNhdGlvbkFscmVhZHlFeGlzdHMoJG5vdGlmaWNhdGlvbikpIHsKKwkJCXJl
dHVybiAwOworCQl9CisJCQorCQkkbm90aWZpY2F0aW9uU2V0dGluZ3NEYW8gPSYgREFPUmVnaXN0
cnk6OmdldERBTygnTm90aWZpY2F0aW9uU2V0dGluZ3NEQU8nKTsKKwkJJG5vdGlmaWNhdGlvblNl
dHRpbmdzID0gJG5vdGlmaWNhdGlvblNldHRpbmdzRGFvLT5nZXROb3RpZmljYXRpb25TZXR0aW5n
cygkbm90aWZpY2F0aW9uLT5nZXRVc2VySWQoKSk7CisJCSRub3RpZmljYXRpb25FbWFpbFNldHRp
bmdzID0gJG5vdGlmaWNhdGlvblNldHRpbmdzRGFvLT5nZXROb3RpZmljYXRpb25FbWFpbFNldHRp
bmdzKCRub3RpZmljYXRpb24tPmdldFVzZXJJZCgpKTsKKwkJCisJCWlmKGluX2FycmF5KCRub3Rp
ZmljYXRpb24tPmdldEFzc29jVHlwZSgpLCAkbm90aWZpY2F0aW9uRW1haWxTZXR0aW5ncykpIHsK
KwkJCSR0aGlzLT5zZW5kTm90aWZpY2F0aW9uRW1haWwoJG5vdGlmaWNhdGlvbik7CisJCX0KKwkJ
CisJCWlmKCFpbl9hcnJheSgkbm90aWZpY2F0aW9uLT5nZXRBc3NvY1R5cGUoKSwgJG5vdGlmaWNh
dGlvblNldHRpbmdzKSkgeworCQkJJHRoaXMtPnVwZGF0ZSgKKwkJCQlzcHJpbnRmKCdJTlNFUlQg
SU5UTyBub3RpZmljYXRpb25zCisJCQkJCSh1c2VyX2lkLCBkYXRlX2NyZWF0ZWQsIGNvbnRlbnRz
LCBwYXJhbSwgbG9jYXRpb24sIGlzX2xvY2FsaXplZCwgY29udGV4dCwgcHJvZHVjdCwgYXNzb2Nf
dHlwZSkKKwkJCQkJVkFMVUVTCisJCQkJCSg/LCAlcywgPywgPywgPywgPywgPywgPywgPyknLAor
CQkJCQkkdGhpcy0+ZGF0ZXRpbWVUb0RCKGRhdGUoJ1ktbS1kIEg6aTpzJykpKSwKKwkJCQlhcnJh
eSgKKwkJCQkJKGludCkgJG5vdGlmaWNhdGlvbi0+Z2V0VXNlcklkKCksCisJCQkJCSRub3RpZmlj
YXRpb24tPmdldENvbnRlbnRzKCksCisJCQkJCSRub3RpZmljYXRpb24tPmdldFBhcmFtKCksCisJ
CQkJCSRub3RpZmljYXRpb24tPmdldExvY2F0aW9uKCksCisJCQkJCShpbnQpICRub3RpZmljYXRp
b24tPmdldElzTG9jYWxpemVkKCksCisJCQkJCShpbnQpICRub3RpZmljYXRpb24tPmdldENvbnRl
eHQoKSwKKwkJCQkJJHByb2R1Y3ROYW1lLAorCQkJCQkoaW50KSAkbm90aWZpY2F0aW9uLT5nZXRB
c3NvY1R5cGUoKSwKKwkJCQkpCisJCQkpOworCQkKKwkJCSRub3RpZmljYXRpb24tPnNldE5vdGlm
aWNhdGlvbklkKCR0aGlzLT5nZXRJbnNlcnROb3RpZmljYXRpb25JZCgpKTsKKwkJCXJldHVybiAk
bm90aWZpY2F0aW9uLT5nZXROb3RpZmljYXRpb25JZCgpOworCQl9IGVsc2UgcmV0dXJuIDA7CisJ
fQorCQorCS8qKgorCSAqIERlbGV0ZSBOb3RpZmljYXRpb24gYnkgbm90aWZpY2F0aW9uIGlkCisJ
ICogQHBhcmFtICRub3RpZmljYXRpb25JZCBpbnQKKwkgKiBAcmV0dXJuIGJvb2xlYW4KKwkgKi8K
KwlmdW5jdGlvbiBkZWxldGVOb3RpZmljYXRpb25CeUlkKCRub3RpZmljYXRpb25JZCwgJHVzZXJJ
ZCA9IG51bGwpIHsKKwkJJHBhcmFtcyA9IGFycmF5KCRub3RpZmljYXRpb25JZCk7CisJCWlmIChp
c3NldCgkdXNlcklkKSkgJHBhcmFtc1tdID0gJHVzZXJJZDsKKwkKKwkJcmV0dXJuICR0aGlzLT51
cGRhdGUoJ0RFTEVURSBGUk9NIG5vdGlmaWNhdGlvbnMgV0hFUkUgbm90aWZpY2F0aW9uX2lkID0g
PycgLiAoaXNzZXQoJHVzZXJJZCkgPyAnIEFORCB1c2VyX2lkID0gPycgOiAnJyksIAorCQkJJHBh
cmFtcworCQkpOworCX0JCisKKwkvKioKKwkgKiBDaGVjayBpZiB0aGUgc2FtZSBub3RpZmljYXRp
b24gd2FzIGFkZGVkIGluIHRoZSBsYXN0IGhvdXIKKwkgKiBXaWxsIHByZXZlbnQgbXVsdGlwbGUg
bm90aWZpY2F0aW9ucyB0byBzaG93IHVwIGluIGEgdXNlcidzIGZlZWQgZS5nLgorCSAqIGlmIGEg
dXNlciBlZGl0cyBhIHN1Ym1pc3Npb24gbXVsdGlwbGUgdGltZXMgaW4gYSBzaG9ydCB0aW1lIHNw
YW4KKwkgKiBAcGFyYW0gbm90aWZpY2F0aW9uIG9iamVjdAorCSAqIEByZXR1cm4gYm9vbGVhbgor
CSAqLworCWZ1bmN0aW9uIG5vdGlmaWNhdGlvbkFscmVhZHlFeGlzdHMoJiRub3RpZmljYXRpb24p
IHsKKwkJJGFwcGxpY2F0aW9uID0mIFBLUEFwcGxpY2F0aW9uOjpnZXRBcHBsaWNhdGlvbigpOwor
CQkkcHJvZHVjdE5hbWUgPSAkYXBwbGljYXRpb24tPmdldE5hbWUoKTsKKwkJJGNvbnRleHQgPSYg
UmVxdWVzdDo6Z2V0Q29udGV4dCgpOworCQkkY29udGV4dElkID0gJGNvbnRleHQtPmdldElkKCk7
CisJCQkKKwkJJHJlc3VsdCA9JiAkdGhpcy0+cmV0cmlldmUoCisJCQknU0VMRUNUIGRhdGVfY3Jl
YXRlZCBGUk9NIG5vdGlmaWNhdGlvbnMgV0hFUkUgdXNlcl9pZCA9ID8gQU5EIGNvbnRlbnRzID0g
PyBBTkQgcHJvZHVjdCA9ID8gQU5EIGFzc29jX3R5cGUgPSA/IEFORCBjb250ZXh0ID0gPycsCisJ
CQlhcnJheSgKKwkJCQkJKGludCkgJG5vdGlmaWNhdGlvbi0+Z2V0VXNlcklkKCksCisJCQkJCSRu
b3RpZmljYXRpb24tPmdldENvbnRlbnRzKCksCisJCQkJCSRwcm9kdWN0TmFtZSwKKwkJCQkJKGlu
dCkgJG5vdGlmaWNhdGlvbi0+Z2V0QXNzb2NUeXBlKCksCisJCQkJCShpbnQpICRjb250ZXh0SWQK
KwkJCQkpCisJCSk7CisJCQorCQkkZGF0ZSA9IGlzc2V0KCRyZXN1bHQtPmZpZWxkc1swXSkgPyAk
cmVzdWx0LT5maWVsZHNbMF0gOiAwOworCQkKKwkJaWYgKCRkYXRlID09IDApIHsKKwkJCXJldHVy
biBmYWxzZTsKKwkJfSBlbHNlIHsKKwkJCSR0aW1lRGlmZiA9IHN0cnRvdGltZSgkZGF0ZSkgLSB0
aW1lKCk7CisJCQlpZiAoJHRpbWVEaWZmIDwgMzYwMCkgeyAvLyAxIGhvdXIgKGluIHNlY29uZHMp
CisJCQkJcmV0dXJuIHRydWU7CisJCQl9IGVsc2UgcmV0dXJuIGZhbHNlOworCQl9CisJfQorCisJ
LyoqCisJICogR2V0IHRoZSBJRCBvZiB0aGUgbGFzdCBpbnNlcnRlZCBub3RpZmljYXRpb24KKwkg
KiBAcmV0dXJuIGludAorCSAqLworCWZ1bmN0aW9uIGdldEluc2VydE5vdGlmaWNhdGlvbklkKCkg
eworCQlyZXR1cm4gJHRoaXMtPmdldEluc2VydElkKCdub3RpZmljYXRpb25zJywgJ25vdGlmaWNh
dGlvbl9pZCcpOworCX0KKwkKKwkvKioKKwkgKiBHZXQgdGhlIG51bWJlciBvZiB1bnJlYWQgbWVz
c2FnZXMgZm9yIGEgdXNlcgorCSAqIEBwYXJhbSAkdXNlcklkIGludAorCSAqIEByZXR1cm4gaW50
CisJICovCisJZnVuY3Rpb24gZ2V0VW5yZWFkTm90aWZpY2F0aW9uQ291bnQoJHVzZXJJZCkgewor
CQkkYXBwbGljYXRpb24gPSYgUEtQQXBwbGljYXRpb246OmdldEFwcGxpY2F0aW9uKCk7CisJCSRw
cm9kdWN0TmFtZSA9ICRhcHBsaWNhdGlvbi0+Z2V0TmFtZSgpOworCQkkY29udGV4dCA9JiBSZXF1
ZXN0OjpnZXRDb250ZXh0KCk7CisJCSRjb250ZXh0SWQgPSAkY29udGV4dC0+Z2V0SWQoKTsKKwkJ
CisJCSRyZXN1bHQgPSYgJHRoaXMtPnJldHJpZXZlKAorCQkJJ1NFTEVDVCBjb3VudCgqKSBGUk9N
IG5vdGlmaWNhdGlvbnMgV0hFUkUgdXNlcl9pZCA9ID8gQU5EIGRhdGVfcmVhZCBJUyBOVUxMIEFO
RCBwcm9kdWN0ID0gPyBBTkQgY29udGV4dCA9ID8nLAorCQkJYXJyYXkoKGludCkgJHVzZXJJZCwg
JHByb2R1Y3ROYW1lLCAoaW50KSAkY29udGV4dElkKQorCQkpOworCisJCSRyZXR1cm5lciA9ICRy
ZXN1bHQtPmZpZWxkc1swXTsKKworCQkkcmVzdWx0LT5DbG9zZSgpOworCQl1bnNldCgkcmVzdWx0
KTsKKworCQlyZXR1cm4gJHJldHVybmVyOworCX0KKwkKKwkvKioKKwkgKiBHZXQgdGhlIG51bWJl
ciBvZiByZWFkIG1lc3NhZ2VzIGZvciBhIHVzZXIKKwkgKiBAcGFyYW0gJHVzZXJJZCBpbnQKKwkg
KiBAcmV0dXJuIGludAorCSAqLworCWZ1bmN0aW9uIGdldFJlYWROb3RpZmljYXRpb25Db3VudCgk
dXNlcklkKSB7CisJCSRhcHBsaWNhdGlvbiA9JiBQS1BBcHBsaWNhdGlvbjo6Z2V0QXBwbGljYXRp
b24oKTsKKwkJJHByb2R1Y3ROYW1lID0gJGFwcGxpY2F0aW9uLT5nZXROYW1lKCk7CisJCSRjb250
ZXh0ID0mIFJlcXVlc3Q6OmdldENvbnRleHQoKTsKKwkJJGNvbnRleHRJZCA9ICRjb250ZXh0LT5n
ZXRJZCgpOworCQkKKwkJJHJlc3VsdCA9JiAkdGhpcy0+cmV0cmlldmUoCisJCQknU0VMRUNUIGNv
dW50KCopIEZST00gbm90aWZpY2F0aW9ucyBXSEVSRSB1c2VyX2lkID0gPyBBTkQgZGF0ZV9yZWFk
IElTIE5PVCBOVUxMIEFORCBwcm9kdWN0ID0gPyBBTkQgY29udGV4dCA9ID8nLAorCQkJYXJyYXko
KGludCkgJHVzZXJJZCwgJHByb2R1Y3ROYW1lLCAoaW50KSAkY29udGV4dElkKQorCQkpOworCisJ
CSRyZXR1cm5lciA9ICRyZXN1bHQtPmZpZWxkc1swXTsKKworCQkkcmVzdWx0LT5DbG9zZSgpOwor
CQl1bnNldCgkcmVzdWx0KTsKKworCQlyZXR1cm4gJHJldHVybmVyOworCX0KKworCS8qKgorCSAq
IFNlbmQgYW4gZW1haWwgdG8gYSB1c2VyIHJlZ2FyZGluZyB0aGUgbm90aWZpY2F0aW9uCisJICog
QHBhcmFtICRub3RpZmljYXRpb24gb2JqZWN0IE5vdGlmaWNhdGlvbgorCSAqLworCWZ1bmN0aW9u
IHNlbmROb3RpZmljYXRpb25FbWFpbCgkbm90aWZpY2F0aW9uKSB7CisJCSR1c2VySWQgPSAkbm90
aWZpY2F0aW9uLT5nZXRVc2VySWQoKTsKKwkJJHVzZXJEYW8gPSYgREFPUmVnaXN0cnk6OmdldERB
TygnVXNlckRBTycpOworCQkkdXNlciA9ICR1c2VyRGFvLT5nZXRVc2VyKCR1c2VySWQpOworCQkK
KwkJaWYgKCRub3RpZmljYXRpb24tPmdldElzTG9jYWxpemVkKCkpIHsKKwkJCSRwYXJhbXMgPSBh
cnJheSgncGFyYW0nID0+ICRub3RpZmljYXRpb24tPmdldFBhcmFtKCkpOworCQkJJG5vdGlmaWNh
dGlvbkNvbnRlbnRzID0gTG9jYWxlOjp0cmFuc2xhdGUoJG5vdGlmaWNhdGlvbi0+Z2V0Q29udGVu
dHMoKSwgJHBhcmFtcyk7CisJCX0gZWxzZSB7CisJCQkkbm90aWZpY2F0aW9uQ29udGVudHMgPSAk
bm90aWZpY2F0aW9uLT5nZXRDb250ZW50cygpOworCQl9CisJCQorCQlpbXBvcnQoJ21haWwuTWFp
bFRlbXBsYXRlJyk7CisJCSRzaXRlID0mIFJlcXVlc3Q6OmdldFNpdGUoKTsKKwkJJG1haWwgPSBu
ZXcgTWFpbFRlbXBsYXRlKCdOT1RJRklDQVRJT04nKTsKKwkJJG1haWwtPnNldEZyb20oJHNpdGUt
PmdldFNpdGVDb250YWN0RW1haWwoKSwgJHNpdGUtPmdldFNpdGVDb250YWN0TmFtZSgpKTsKKwkJ
JG1haWwtPmFzc2lnblBhcmFtcyhhcnJheSgKKwkJCSdub3RpZmljYXRpb25Db250ZW50cycgPT4g
JG5vdGlmaWNhdGlvbkNvbnRlbnRzLAorCQkJJ3VybCcgPT4gJG5vdGlmaWNhdGlvbi0+Z2V0TG9j
YXRpb24oKSwKKwkJCSdzaXRlVGl0bGUnID0+ICRzaXRlLT5nZXRTaXRlVGl0bGUoKQorCQkpKTsK
KwkJJG1haWwtPmFkZFJlY2lwaWVudCgkdXNlci0+Z2V0RW1haWwoKSwgJHVzZXItPmdldEZ1bGxO
YW1lKCkpOworCQkkbWFpbC0+c2VuZCgpOworCX0JCisJCisJLyoqCisJICogU2VuZCBhbiB1cGRh
dGUgdG8gYWxsIHVzZXJzIG9uIHRoZSBtYWlsaW5nIGxpc3QKKwkgKiBAcGFyYW0gJG5vdGlmaWNh
dGlvbiBvYmplY3QgTm90aWZpY2F0aW9uCisJICovCisJZnVuY3Rpb24gc2VuZFRvTWFpbGluZ0xp
c3QoJG5vdGlmaWNhdGlvbikgeworCQkkbm90aWZpY2F0aW9uU2V0dGluZ3NEYW8gPSYgREFPUmVn
aXN0cnk6OmdldERBTygnTm90aWZpY2F0aW9uU2V0dGluZ3NEQU8nKTsKKwkJJG1haWxMaXN0ID0g
JG5vdGlmaWNhdGlvblNldHRpbmdzRGFvLT5nZXRNYWlsTGlzdCgpOworCQkKKwkJZm9yZWFjaCAo
JG1haWxMaXN0IGFzICRlbWFpbCkgeworCQkJaWYgKCRub3RpZmljYXRpb24tPmdldElzTG9jYWxp
emVkKCkpIHsKKwkJCQkkcGFyYW1zID0gYXJyYXkoJ3BhcmFtJyA9PiAkbm90aWZpY2F0aW9uLT5n
ZXRQYXJhbSgpKTsKKwkJCQkkbm90aWZpY2F0aW9uQ29udGVudHMgPSBMb2NhbGU6OnRyYW5zbGF0
ZSgkbm90aWZpY2F0aW9uLT5nZXRDb250ZW50cygpLCAkcGFyYW1zKTsKKwkJCX0gZWxzZSB7CisJ
CQkJJG5vdGlmaWNhdGlvbkNvbnRlbnRzID0gJG5vdGlmaWNhdGlvbi0+Z2V0Q29udGVudHMoKTsK
KwkJCX0KKwkJCQorCQkJaW1wb3J0KCdtYWlsLk1haWxUZW1wbGF0ZScpOworCQkJJGpvdXJuYWwg
PSYgUmVxdWVzdDo6Z2V0Sm91cm5hbCgpOworCQkJJHNpdGUgPSYgUmVxdWVzdDo6Z2V0U2l0ZSgp
OworCQkJCisJCQkkbWFpbCA9IG5ldyBNYWlsVGVtcGxhdGUoJ05PVElGSUNBVElPTl9NQUlMTElT
VCcpOworCQkJJG1haWwtPnNldEZyb20oJHNpdGUtPmdldFNpdGVDb250YWN0RW1haWwoKSwgJHNp
dGUtPmdldFNpdGVDb250YWN0TmFtZSgpKTsKKwkJCSRtYWlsLT5hc3NpZ25QYXJhbXMoYXJyYXko
CisJCQkJJ25vdGlmaWNhdGlvbkNvbnRlbnRzJyA9PiAkbm90aWZpY2F0aW9uQ29udGVudHMsCisJ
CQkJJ3VybCcgPT4gJG5vdGlmaWNhdGlvbi0+Z2V0TG9jYXRpb24oKSwKKwkJCQknc2l0ZVRpdGxl
JyA9PiAkam91cm5hbC0+Z2V0Sm91cm5hbFRpdGxlKCksCisJCQkJJ3Vuc3Vic2NyaWJlTGluaycg
PT4gUmVxdWVzdDo6dXJsKG51bGwsICdub3RpZmljYXRpb24nLCAndW5zdWJzY3JpYmVNYWlsTGlz
dCcpCisJCQkpKTsKKwkJCSRtYWlsLT5hZGRSZWNpcGllbnQoJGVtYWlsKTsKKwkJCSRtYWlsLT5z
ZW5kKCk7CisJCX0KKwkJCisJCQorCX0JCit9CisKKz8+CkluZGV4OiBjbGFzc2VzL25vdGlmaWNh
dGlvbi9Ob3RpZmljYXRpb25TZXR0aW5nc0RBTy5pbmMucGhwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6
IGNsYXNzZXMvbm90aWZpY2F0aW9uL05vdGlmaWNhdGlvblNldHRpbmdzREFPLmluYy5waHAKZGlm
ZiAtTiBjbGFzc2VzL25vdGlmaWNhdGlvbi9Ob3RpZmljYXRpb25TZXR0aW5nc0RBTy5pbmMucGhw
Ci0tLSAvZGV2L251bGwJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMAorKysgY2xhc3Nlcy9ub3Rp
ZmljYXRpb24vTm90aWZpY2F0aW9uU2V0dGluZ3NEQU8uaW5jLnBocAkyOCBKYW4gMjAwOSAxOToy
MDowMyAtMDAwMApAQCAtMCwwICsxLDQ1MyBAQAorPD9waHAKKworLyoqCisgKiBAZmlsZSBjbGFz
c2VzL25vdGlmaWNhdGlvbi9Ob3RpZmljYXRpb25TZXR0aW5nc0RBT0RBTy5pbmMucGhwCisgKgor
ICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMDggSm9obiBXaWxsaW5za3kKKyAqIERpc3RyaWJ1dGVk
IHVuZGVyIHRoZSBHTlUgR1BMIHYyLiBGb3IgZnVsbCB0ZXJtcyBzZWUgdGhlIGZpbGUgZG9jcy9D
T1BZSU5HLgorICoKKyAqIEBjbGFzcyBOb3RpZmljYXRpb25TZXR0aW5nc0RBTworICogQGluZ3Jv
dXAgbm90aWZpY2F0aW9uCisgKiBAc2VlIE5vdGlmaWNhdGlvbgorICoKKyAqIEBicmllZiBPcGVy
YXRpb25zIGZvciByZXRyaWV2aW5nIGFuZCBtb2RpZnlpbmcgdXNlcidzIG5vdGlmaWNhdGlvbiBz
ZXR0aW5ncy4KKyAqLworCisvLyAkSWQ6IE5vdGlmaWNhdGlvblNldHRpbmdzREFPLmluYy5waHAs
diAxLjE5IDIwMDgvMTEvMDUgMDA6NDY6MzkgbWNyaWRlciBFeHAgJAorCitjbGFzcyBOb3RpZmlj
YXRpb25TZXR0aW5nc0RBTyBleHRlbmRzIERBTyB7CisJLyoqCisJICogQ29uc3RydWN0b3IuCisJ
ICovCisJZnVuY3Rpb24gTm90aWZpY2F0aW9uU2V0dGluZ3NEQU8oKSB7CisJCXBhcmVudDo6REFP
KCk7CisJfQorCQorCS8qKgorCSAqIFJldHJpZXZlIE5vdGlmaWNhdGlvbnMgc2V0dGluZ3MgYnkg
dXNlciBpZAorCSAqIFJldHVybnMgYW4gYXJyYXkgb2Ygbm90aWZpY2F0aW9uIHR5cGVzIHRoYXQg
dGhlIHVzZXIKKwkgKiBkb2VzIE5PVCB3YW50IHRvIGJlIG5vdGlmaWVkIG9mCisJICogQHBhcmFt
ICR1c2VySWQgaW50CisJICogQHJldHVybiBhcnJheQorCSAqLworCWZ1bmN0aW9uICZnZXROb3Rp
ZmljYXRpb25TZXR0aW5ncygkdXNlcklkKSB7CisJCSRhcHBsaWNhdGlvbiA9JiBQS1BBcHBsaWNh
dGlvbjo6Z2V0QXBwbGljYXRpb24oKTsKKwkJJHByb2R1Y3ROYW1lID0gJGFwcGxpY2F0aW9uLT5n
ZXROYW1lKCk7CisJCSRjb250ZXh0ID0mIFJlcXVlc3Q6OmdldENvbnRleHQoKTsKKwkJJGNvbnRl
eHRJZCA9ICRjb250ZXh0LT5nZXRJZCgpOworCQkKKwkJJG5vdGlmaWNhdGlvblNldHRpbmdzID0g
YXJyYXkoKTsKKwkKKwkJJHJlc3VsdCA9JiAkdGhpcy0+cmV0cmlldmUoCisJCQknU0VMRUNUIHNl
dHRpbmdfdmFsdWUgRlJPTSBub3RpZmljYXRpb25fc2V0dGluZ3MgV0hFUkUgdXNlcl9pZCA9ID8g
QU5EIHByb2R1Y3QgPSA/IEFORCBzZXR0aW5nX25hbWUgPSA/IEFORCBjb250ZXh0ID0gPycsCisJ
CQkJYXJyYXkoKGludCkgJHVzZXJJZCwgJHByb2R1Y3ROYW1lLCAnbm90aWZ5JywgKGludCkgJGNv
bnRleHRJZCkKKwkJKTsKKwkKKwkJd2hpbGUgKCEkcmVzdWx0LT5FT0YpIHsKKwkJCSRyb3cgPSAk
cmVzdWx0LT5HZXRSb3dBc3NvYyhmYWxzZSk7CisJCQkkbm90aWZpY2F0aW9uU2V0dGluZ3NbXSA9
IChpbnQpICRyb3dbJ3NldHRpbmdfdmFsdWUnXTsKKwkJCSRyZXN1bHQtPm1vdmVOZXh0KCk7CisJ
CX0KKworCQkkcmVzdWx0LT5DbG9zZSgpOworCQl1bnNldCgkcmVzdWx0KTsKKwkJCisJCXJldHVy
biAkbm90aWZpY2F0aW9uU2V0dGluZ3M7CisJfQorCQorCS8qKgorCSAqIFJldHJpZXZlIE5vdGlm
aWNhdGlvbnMgZW1haWwgc2V0dGluZ3MgYnkgdXNlciBpZAorCSAqIFJldHVybnMgYW4gYXJyYXkg
b2Ygbm90aWZpY2F0aW9uIHR5cGVzIHRoYXQgdGhlIHVzZXIKKwkgKiBET0VTIHdhbnQgdG8gYmUg
ZW1haWxlZCBhYm91dAorCSAqIEBwYXJhbSAkdXNlcklkIGludAorCSAqIEByZXR1cm4gYXJyYXkK
KwkgKi8KKwlmdW5jdGlvbiAmZ2V0Tm90aWZpY2F0aW9uRW1haWxTZXR0aW5ncygkdXNlcklkKSB7
CisJCSRhcHBsaWNhdGlvbiA9JiBQS1BBcHBsaWNhdGlvbjo6Z2V0QXBwbGljYXRpb24oKTsKKwkJ
JHByb2R1Y3ROYW1lID0gJGFwcGxpY2F0aW9uLT5nZXROYW1lKCk7CisJCSRjb250ZXh0ID0mIFJl
cXVlc3Q6OmdldENvbnRleHQoKTsKKwkJJGNvbnRleHRJZCA9ICRjb250ZXh0LT5nZXRJZCgpOwor
CQkKKwkJJGVtYWlsU2V0dGluZ3MgPSBhcnJheSgpOworCQorCQkkcmVzdWx0ID0mICR0aGlzLT5y
ZXRyaWV2ZSgKKwkJCSdTRUxFQ1Qgc2V0dGluZ192YWx1ZSBGUk9NIG5vdGlmaWNhdGlvbl9zZXR0
aW5ncyBXSEVSRSB1c2VyX2lkID0gPyBBTkQgcHJvZHVjdCA9ID8gQU5EIHNldHRpbmdfbmFtZSA9
ID8gQU5EIGNvbnRleHQgPSA/JywKKwkJCQlhcnJheSgoaW50KSAkdXNlcklkLCAkcHJvZHVjdE5h
bWUsICdlbWFpbCcsIChpbnQpICRjb250ZXh0SWQpCisJCSk7CisJCisJCXdoaWxlICghJHJlc3Vs
dC0+RU9GKSB7CisJCQkkcm93ID0gJHJlc3VsdC0+R2V0Um93QXNzb2MoZmFsc2UpOworCQkJJGVt
YWlsU2V0dGluZ3NbXSA9IChpbnQpICRyb3dbJ3NldHRpbmdfdmFsdWUnXTsKKwkJCSRyZXN1bHQt
Pm1vdmVOZXh0KCk7CisJCX0KKworCQkkcmVzdWx0LT5DbG9zZSgpOworCQl1bnNldCgkcmVzdWx0
KTsKKwkJCisJCXJldHVybiAkZW1haWxTZXR0aW5nczsKKwl9CisJCisJLyoqCisJICogVXBkYXRl
IGEgdXNlcidzIG5vdGlmaWNhdGlvbiBzZXR0aW5ncworCSAqIEBwYXJhbSAkbm90aWZpY2F0aW9u
U2V0dGluZ3MgYXJyYXkKKwkgKiBAcGFyYW0gJHVzZXJJZCBpbnQKKwkgKi8KKwlmdW5jdGlvbiB1
cGRhdGVOb3RpZmljYXRpb25TZXR0aW5ncygkbm90aWZpY2F0aW9uU2V0dGluZ3MsICR1c2VySWQp
IHsKKwkJJGFwcGxpY2F0aW9uID0mIFBLUEFwcGxpY2F0aW9uOjpnZXRBcHBsaWNhdGlvbigpOwor
CQkkcHJvZHVjdE5hbWUgPSAkYXBwbGljYXRpb24tPmdldE5hbWUoKTsKKwkJJGNvbnRleHQgPSYg
UmVxdWVzdDo6Z2V0Q29udGV4dCgpOworCQkkY29udGV4dElkID0gJGNvbnRleHQtPmdldElkKCk7
CQkKKwkJCisJCS8vIERlbGV0ZSBvbGQgc2V0dGluZ3MgZmlyc3QsIHRoZW4gaW5zZXJ0IG5ldyBz
ZXR0aW5ncworCQkkdGhpcy0+dXBkYXRlKCdERUxFVEUgRlJPTSBub3RpZmljYXRpb25fc2V0dGlu
Z3MgV0hFUkUgdXNlcl9pZCA9ID8gQU5EIHByb2R1Y3QgPSA/IEFORCBzZXR0aW5nX25hbWUgPSA/
IEFORCBjb250ZXh0ID0gPycsCisJCQlhcnJheSgoaW50KSAkdXNlcklkLCAkcHJvZHVjdE5hbWUs
ICdub3RpZnknLCAoaW50KSAkY29udGV4dElkKSk7CisJCisJCWZvciAoJGk9MDsgJGk8Y291bnQo
JG5vdGlmaWNhdGlvblNldHRpbmdzKTsgJGkrKykgeworCQkJJHRoaXMtPnVwZGF0ZSgKKwkJCQkn
SU5TRVJUIElOVE8gbm90aWZpY2F0aW9uX3NldHRpbmdzCisJCQkJCShzZXR0aW5nX25hbWUsIHNl
dHRpbmdfdmFsdWUsIHVzZXJfaWQsIHByb2R1Y3QsIGNvbnRleHQpCisJCQkJCVZBTFVFUworCQkJ
CQkoPywgPywgPywgPywgPyknLAorCQkJCWFycmF5KAorCQkJCQkibm90aWZ5IiwKKwkJCQkJJG5v
dGlmaWNhdGlvblNldHRpbmdzWyRpXSwKKwkJCQkJKGludCkgJHVzZXJJZCwKKwkJCQkJJHByb2R1
Y3ROYW1lLAorCQkJCQkoaW50KSAkY29udGV4dElkCisJCQkJKQorCQkJKTsKKwkJfQorCX0KKwkK
KwkvKioKKwkgKiBVcGRhdGUgYSB1c2VyJ3Mgbm90aWZpY2F0aW9uIGVtYWlsIHNldHRpbmdzCisJ
ICogQHBhcmFtICRub3RpZmljYXRpb25FbWFpbFNldHRpbmdzIGFycmF5CisJICogQHBhcmFtICR1
c2VySWQgaW50CisJICovCisJZnVuY3Rpb24gdXBkYXRlTm90aWZpY2F0aW9uRW1haWxTZXR0aW5n
cygkZW1haWxTZXR0aW5ncywgJHVzZXJJZCkgeworCQkkYXBwbGljYXRpb24gPSYgUEtQQXBwbGlj
YXRpb246OmdldEFwcGxpY2F0aW9uKCk7CisJCSRwcm9kdWN0TmFtZSA9ICRhcHBsaWNhdGlvbi0+
Z2V0TmFtZSgpOworCQkkY29udGV4dCA9JiBSZXF1ZXN0OjpnZXRDb250ZXh0KCk7CisJCSRjb250
ZXh0SWQgPSAkY29udGV4dC0+Z2V0SWQoKTsKKwkJCisJCS8vIERlbGV0ZSBvbGQgc2V0dGluZ3Mg
Zmlyc3QsIHRoZW4gaW5zZXJ0IG5ldyBzZXR0aW5ncworCQkkdGhpcy0+dXBkYXRlKCdERUxFVEUg
RlJPTSBub3RpZmljYXRpb25fc2V0dGluZ3MgV0hFUkUgdXNlcl9pZCA9ID8gQU5EIHByb2R1Y3Qg
PSA/IEFORCBzZXR0aW5nX25hbWUgPSA/IEFORCBjb250ZXh0ID0gPycsCisJCQlhcnJheSgkdXNl
cklkLCAkcHJvZHVjdE5hbWUsICdlbWFpbCcsICRjb250ZXh0SWQpKTsKKwkKKwkJZm9yICgkaT0w
OyAkaTxjb3VudCgkZW1haWxTZXR0aW5ncyk7ICRpKyspIHsKKwkJCSR0aGlzLT51cGRhdGUoCisJ
CQkJJ0lOU0VSVCBJTlRPIG5vdGlmaWNhdGlvbl9zZXR0aW5ncworCQkJCQkoc2V0dGluZ19uYW1l
LCBzZXR0aW5nX3ZhbHVlLCB1c2VyX2lkLCBwcm9kdWN0LCBjb250ZXh0KQorCQkJCQlWQUxVRVMK
KwkJCQkJKD8sID8sID8sID8sID8pJywKKwkJCQlhcnJheSgKKwkJCQkJImVtYWlsIiwKKwkJCQkJ
JGVtYWlsU2V0dGluZ3NbJGldLAorCQkJCQkoaW50KSAkdXNlcklkLAorCQkJCQkkcHJvZHVjdE5h
bWUsCisJCQkJCShpbnQpICRjb250ZXh0SWQKKwkJCQkpCisJCQkpOworCQl9CisJfQorCQorCS8q
KgorCSAqIEdldHMgYSB1c2VyIGlkIGJ5IGFuIFJTUyB0b2tlbiB2YWx1ZQorCSAqIEBwYXJhbSAk
dG9rZW4gaW50CisJICogQHJldHVybiBpbnQKKwkgKi8KKwlmdW5jdGlvbiBnZXRVc2VySWRCeVJT
U1Rva2VuKCR0b2tlbikgeworCQkkYXBwbGljYXRpb24gPSYgUEtQQXBwbGljYXRpb246OmdldEFw
cGxpY2F0aW9uKCk7CisJCSRwcm9kdWN0TmFtZSA9ICRhcHBsaWNhdGlvbi0+Z2V0TmFtZSgpOwor
CQkkY29udGV4dCA9JiBSZXF1ZXN0OjpnZXRDb250ZXh0KCk7CisJCSRjb250ZXh0SWQgPSAkY29u
dGV4dC0+Z2V0SWQoKTsKKwkKKwkJJHJlc3VsdCA9JiAkdGhpcy0+cmV0cmlldmUoCisJCQknU0VM
RUNUIHVzZXJfaWQgRlJPTSBub3RpZmljYXRpb25fc2V0dGluZ3MgV0hFUkUgc2V0dGluZ192YWx1
ZSA9ID8gQU5EIHNldHRpbmdfbmFtZSA9ID8gQU5EIHByb2R1Y3QgPSA/IEFORCBjb250ZXh0ID0g
PycsCisJCQkJYXJyYXkoJHRva2VuLCAndG9rZW4nLCAkcHJvZHVjdE5hbWUsIChpbnQpICRjb250
ZXh0SWQpCisJCSk7CisKKwkJJHJvdyA9ICRyZXN1bHQtPkdldFJvd0Fzc29jKGZhbHNlKTsKKwkJ
JHVzZXJJZCA9ICRyb3dbJ3VzZXJfaWQnXTsKKworCQkkcmVzdWx0LT5DbG9zZSgpOworCQl1bnNl
dCgkcmVzdWx0KTsKKwkJCisJCXJldHVybiAkdXNlcklkOworCX0KKworCS8qKgorCSAqIEdldHMg
YW4gUlNTIHRva2VuIGZvciBhIHVzZXIgaWQKKwkgKiBAcGFyYW0gJHVzZXJJZCBpbnQKKwkgKiBA
cmV0dXJuIGludAorCSAqLworCWZ1bmN0aW9uIGdldFJTU1Rva2VuQnlVc2VySWQoJHVzZXJJZCkg
eworCQkkYXBwbGljYXRpb24gPSYgUEtQQXBwbGljYXRpb246OmdldEFwcGxpY2F0aW9uKCk7CisJ
CSRwcm9kdWN0TmFtZSA9ICRhcHBsaWNhdGlvbi0+Z2V0TmFtZSgpOworCQkkY29udGV4dCA9JiBS
ZXF1ZXN0OjpnZXRDb250ZXh0KCk7CisJCSRjb250ZXh0SWQgPSAkY29udGV4dC0+Z2V0SWQoKTsK
KwkKKwkJJHJlc3VsdCA9JiAkdGhpcy0+cmV0cmlldmUoCisJCQknU0VMRUNUIHNldHRpbmdfdmFs
dWUgRlJPTSBub3RpZmljYXRpb25fc2V0dGluZ3MgV0hFUkUgdXNlcl9pZCA9ID8gQU5EIHNldHRp
bmdfbmFtZSA9ID8gQU5EIHByb2R1Y3QgPSA/IEFORCBjb250ZXh0ID0gPycsCisJCQkJYXJyYXko
KGludCkgJHVzZXJJZCwgJ3Rva2VuJywgJHByb2R1Y3ROYW1lLCAoaW50KSAkY29udGV4dElkKQor
CQkpOworCisJCSRyb3cgPSAkcmVzdWx0LT5HZXRSb3dBc3NvYyhmYWxzZSk7CisJCSR1c2VySWQg
PSAkcm93WydzZXR0aW5nX3ZhbHVlJ107CisKKwkJJHJlc3VsdC0+Q2xvc2UoKTsKKwkJdW5zZXQo
JHJlc3VsdCk7CisJCQorCQlyZXR1cm4gJHVzZXJJZDsKKwl9CisKKwkvKioKKwkgKiBHZW5lcmF0
ZXMgYW5kIGluc2VydHMgYSBuZXcgdG9rZW4gZm9yIGEgdXNlcidzIFJTUyBmZWVkCisJICogQHBh
cmFtICR1c2VySWQgaW50CisJICogQHJldHVybiBpbnQKKwkgKi8KKwlmdW5jdGlvbiBpbnNlcnRO
ZXdSU1NUb2tlbigkdXNlcklkKSB7CisJCSRhcHBsaWNhdGlvbiA9JiBQS1BBcHBsaWNhdGlvbjo6
Z2V0QXBwbGljYXRpb24oKTsKKwkJJHByb2R1Y3ROYW1lID0gJGFwcGxpY2F0aW9uLT5nZXROYW1l
KCk7CisJCSRjb250ZXh0ID0mIFJlcXVlc3Q6OmdldENvbnRleHQoKTsKKwkJJGNvbnRleHRJZCA9
ICRjb250ZXh0LT5nZXRJZCgpOworCQkKKwkJJHRva2VuID0gdW5pcWlkKHJhbmQoKSk7CisJCisJ
CSR0aGlzLT51cGRhdGUoCisJCQknSU5TRVJUIElOVE8gbm90aWZpY2F0aW9uX3NldHRpbmdzCisJ
CQkJKHNldHRpbmdfbmFtZSwgc2V0dGluZ192YWx1ZSwgdXNlcl9pZCwgcHJvZHVjdCwgY29udGV4
dCkKKwkJCQlWQUxVRVMKKwkJCQkoPywgPywgPywgPywgPyknLAorCQkJYXJyYXkoCisJCQkJJ3Rv
a2VuJywKKwkJCQkkdG9rZW4sCisJCQkJKGludCkgJHVzZXJJZCwKKwkJCQkkcHJvZHVjdE5hbWUs
CisJCQkJKGludCkgJGNvbnRleHRJZAorCQkJKQorCQkpOworCisJCXJldHVybiAkdG9rZW47CisJ
fQorCQorCS8qKgorCSAqIEdlbmVyYXRlcyBhbiBhY2Nlc3Mga2V5IGZvciB0aGUgZ3Vlc3QgdXNl
ciBhbmQgYWRkcyB0aGVtIHRvIHRoZSBzZXR0aW5ncyB0YWJsZQorCSAqIEBwYXJhbSAkdXNlcklk
IGludAorCSAqIEByZXR1cm4gaW50CisJICovCisJZnVuY3Rpb24gc3Vic2NyaWJlR3Vlc3QoJGVt
YWlsKSB7CisJCSRhcHBsaWNhdGlvbiA9JiBQS1BBcHBsaWNhdGlvbjo6Z2V0QXBwbGljYXRpb24o
KTsKKwkJJHByb2R1Y3ROYW1lID0gJGFwcGxpY2F0aW9uLT5nZXROYW1lKCk7CisJCSRjb250ZXh0
ID0mIFJlcXVlc3Q6OmdldENvbnRleHQoKTsKKwkJJGNvbnRleHRJZCA9ICRjb250ZXh0LT5nZXRJ
ZCgpOworCisJCS8vIENoZWNrIHRoYXQgdGhlIGVtYWlsIGRvZXNuJ3QgYWxyZWFkeSBleGlzdAor
CQkkcmVzdWx0ID0mICR0aGlzLT5yZXRyaWV2ZSgKKwkJCSdTRUxFQ1QgKiBGUk9NIG5vdGlmaWNh
dGlvbl9zZXR0aW5ncyBXSEVSRSBzZXR0aW5nX25hbWUgPSA/IEFORCBzZXR0aW5nX3ZhbHVlID0g
PyBBTkQgcHJvZHVjdCA9ID8gQU5EIGNvbnRleHQgPSA/JywKKwkJCWFycmF5KAorCQkJCSdtYWls
TGlzdCcsCisJCQkJJGVtYWlsLAorCQkJCSRwcm9kdWN0TmFtZSwKKwkJCQkoaW50KSAkY29udGV4
dElkCisJCQkpCisJCSk7CisKKwkJaWYgKCRyZXN1bHQtPlJlY29yZENvdW50KCkgIT0gMCkgewor
CQkJcmV0dXJuIGZhbHNlOworCQl9IGVsc2UgewkJCisJCQkkdGhpcy0+dXBkYXRlKAorCQkJCSdJ
TlNFUlQgSU5UTyBub3RpZmljYXRpb25fc2V0dGluZ3MKKwkJCQkJKHNldHRpbmdfbmFtZSwgc2V0
dGluZ192YWx1ZSwgdXNlcl9pZCwgcHJvZHVjdCwgY29udGV4dCkKKwkJCQkJVkFMVUVTCisJCQkJ
CSg/LCA/LCA/LCA/LCA/KScsCisJCQkJYXJyYXkoCisJCQkJCSdtYWlsTGlzdFVuY29tZmlybWVk
JywKKwkJCQkJJGVtYWlsLAorCQkJCQkwLAorCQkJCQkkcHJvZHVjdE5hbWUsCisJCQkJCShpbnQp
ICRjb250ZXh0SWQKKwkJCQkpCisJCQkpOworCQl9CQorCisJCS8vIEdldCBhc3NvY19pZCBpbnRv
IG5vdGlmaWNhdGlvbl9zZXR0aW5ncyB0YWJsZSwgYWxzbyB1c2VkIGFzIHVzZXJfaWQgZm9yIGFj
Y2VzcyBrZXkKKwkJJGFzc29jSWQgPSAkdGhpcy0+Z2V0SW5zZXJ0Tm90aWZpY2F0aW9uU2V0dGlu
Z0lkKCk7CisKKwkJaW1wb3J0KCdzZWN1cml0eS5BY2Nlc3NLZXlNYW5hZ2VyJyk7CisJCSRhY2Nl
c3NLZXlNYW5hZ2VyID0gbmV3IEFjY2Vzc0tleU1hbmFnZXIoKTsKKworCQkkcGFzc3dvcmQgPSAk
YWNjZXNzS2V5TWFuYWdlci0+Y3JlYXRlS2V5KCdNYWlsTGlzdENvbnRleHQnLCAkYXNzb2NJZCwg
JGFzc29jSWQsIDEwMDAwKTsKKwkJcmV0dXJuICRwYXNzd29yZDsKKwl9CisJCisJCisJCisJLyoq
CisJICogUmVtb3ZlcyBhbiBlbWFpbCBhZGRyZXNzIGFuZCBhc3NvY2lhdGVkIGFjY2VzcyBrZXkg
ZnJvbSBlbWFpbCBub3RpZmljYXRpb25zCisJICogQHBhcmFtICRlbWFpbCBzdHJpbmcKKwkgKiBA
cGFyYW0gJHBhc3N3b3JkIHN0cmluZworCSAqIEByZXR1cm4gYm9vbGVhbgorCSAqLworCWZ1bmN0
aW9uIHVuc3Vic2NyaWJlR3Vlc3QoJGVtYWlsLCAkcGFzc3dvcmQpIHsKKwkJJGFwcGxpY2F0aW9u
ID0mIFBLUEFwcGxpY2F0aW9uOjpnZXRBcHBsaWNhdGlvbigpOworCQkkcHJvZHVjdE5hbWUgPSAk
YXBwbGljYXRpb24tPmdldE5hbWUoKTsKKwkJJGNvbnRleHQgPSYgUmVxdWVzdDo6Z2V0Q29udGV4
dCgpOworCQkkY29udGV4dElkID0gJGNvbnRleHQtPmdldElkKCk7CisJCQorCQkkcmVzdWx0ID0m
ICR0aGlzLT5yZXRyaWV2ZSgKKwkJCSdTRUxFQ1Qgc2V0dGluZ19pZCBGUk9NIG5vdGlmaWNhdGlv
bl9zZXR0aW5ncyBXSEVSRSBzZXR0aW5nX25hbWUgPSA/IEFORCBwcm9kdWN0ID0gPyBBTkQgY29u
dGV4dCA9ID8nLAorCQkJYXJyYXkoCisJCQkJJ21haWxMaXN0JywKKwkJCQkkcHJvZHVjdE5hbWUs
CisJCQkJKGludCkgJGNvbnRleHRJZAorCQkJKQorCQkpOworCisJCSRyb3cgPSAkcmVzdWx0LT5H
ZXRSb3dBc3NvYyhmYWxzZSk7CisJCSR1c2VySWQgPSAoaW50KSAkcm93WydzZXR0aW5nX2lkJ107
CisKKwkJJHJlc3VsdC0+Q2xvc2UoKTsKKwkJdW5zZXQoJHJlc3VsdCk7CisKKwkJaW1wb3J0KCdz
ZWN1cml0eS5BY2Nlc3NLZXlNYW5hZ2VyJyk7CisJCSRhY2Nlc3NLZXlNYW5hZ2VyID0gbmV3IEFj
Y2Vzc0tleU1hbmFnZXIoKTsKKwkJJGFjY2Vzc0tleUhhc2ggPSBBY2Nlc3NLZXlNYW5hZ2VyOjpn
ZW5lcmF0ZUtleUhhc2goJHBhc3N3b3JkKTsKKwkJJGFjY2Vzc0tleSA9ICRhY2Nlc3NLZXlNYW5h
Z2VyLT52YWxpZGF0ZUtleSgnTWFpbExpc3RDb250ZXh0JywgJHVzZXJJZCwgJGFjY2Vzc0tleUhh
c2gpOworCisJCWlmICgkYWNjZXNzS2V5KSB7CisJCQkkdGhpcy0+dXBkYXRlKAorCQkJCSdERUxF
VEUgRlJPTSBub3RpZmljYXRpb25fc2V0dGluZ3MgV0hFUkUgc2V0dGluZ19uYW1lID0gPyBBTkQg
c2V0dGluZ192YWx1ZSA9ID8gQU5EIHByb2R1Y3QgPSA/IEFORCBjb250ZXh0ID0gPycsCisJCQkJ
YXJyYXkoCisJCQkJCSdtYWlsTGlzdCcsCisJCQkJCSRlbWFpbCwKKwkJCQkJJHByb2R1Y3ROYW1l
LAorCQkJCQkoaW50KSAkY29udGV4dElkCisJCQkJKQorCQkJKTsKKwkJCSRhY2Nlc3NLZXlEYW8g
PSYgREFPUmVnaXN0cnk6OmdldERBTygnQWNjZXNzS2V5REFPJyk7CisJCQkkYWNjZXNzS2V5RGFv
LT5kZWxldGVBY2Nlc3NLZXkoJGFjY2Vzc0tleSk7CisJCQlyZXR1cm4gdHJ1ZTsKKwkJfSBlbHNl
IHJldHVybiBmYWxzZTsJCisJfQorCQorCS8qKgorCSAqIEdldHMgdGhlIHNldHRpbmcgaWQgZm9y
IGEgbWFpbGxpc3QgbWVtYmVyICh0byBhY2Nlc3MgdGhlIGFjY29tcGFueWluZyBhY2Nlc3Mga2V5
KQorCSAqIEByZXR1cm4gYXJyYXkKKwkgKi8KKwlmdW5jdGlvbiBnZXRNYWlsTGlzdFNldHRpbmdJ
ZCgkZW1haWwsICRzZXR0aW5nTmFtZSA9ICdtYWlsTGlzdFVuY29tZmlybWVkJykgeworCQkkYXBw
bGljYXRpb24gPSYgUEtQQXBwbGljYXRpb246OmdldEFwcGxpY2F0aW9uKCk7CisJCSRwcm9kdWN0
TmFtZSA9ICRhcHBsaWNhdGlvbi0+Z2V0TmFtZSgpOworCQkkY29udGV4dCA9JiBSZXF1ZXN0Ojpn
ZXRDb250ZXh0KCk7CisJCSRjb250ZXh0SWQgPSAkY29udGV4dC0+Z2V0SWQoKTsJCisJCQorCQkk
cmVzdWx0ID0mICR0aGlzLT5yZXRyaWV2ZSgKKwkJCSdTRUxFQ1Qgc2V0dGluZ19pZCBGUk9NIG5v
dGlmaWNhdGlvbl9zZXR0aW5ncyBXSEVSRSBzZXR0aW5nX25hbWUgPSA/IEFORCBzZXR0aW5nX3Zh
bHVlID0gPyBBTkQgcHJvZHVjdCA9ID8gQU5EIGNvbnRleHQgPSA/JywKKwkJCWFycmF5KAorCQkJ
CSRzZXR0aW5nTmFtZSwKKwkJCQkkZW1haWwsCisJCQkJJHByb2R1Y3ROYW1lLAorCQkJCShpbnQp
ICRjb250ZXh0SWQKKwkJCSkKKwkJKTsKKwkJCisJCSRyb3cgPSAkcmVzdWx0LT5HZXRSb3dBc3Nv
YyhmYWxzZSk7CisJCSRzZXR0aW5nSWQgPSAoaW50KSAkcm93WydzZXR0aW5nX2lkJ107CisJCQor
CQlyZXR1cm4gJHNldHRpbmdJZDsKKwl9CisJCisJLyoqCisJICogVXBkYXRlIHRoZSBub3RpZmlj
YXRpb24gc2V0dGluZ3MgdGFibGUgdG8gY29uZmlybSB0aGUgbWFpbGluZyBsaXN0IHN1YnNjcmlw
dGlvbgorCSAqIEByZXR1cm4gYm9vbGVhbgorCSAqLworCWZ1bmN0aW9uIGNvbmZpcm1NYWlsTGlz
dFN1YnNjcmlwdGlvbigkc2V0dGluZ0lkKSB7CisJCXJldHVybiAkdGhpcy0+dXBkYXRlKAorCQkJ
J1VQREFURSBub3RpZmljYXRpb25fc2V0dGluZ3MgU0VUIHNldHRpbmdfbmFtZSA9ID8gV0hFUkUg
c2V0dGluZ19pZCA9ID8nLAorCQkJYXJyYXkoJ21haWxMaXN0JywgKGludCkgJHNldHRpbmdJZCkK
KwkJKTsKKwl9CisKKwkvKioKKwkgKiBHZXRzIGEgbGlzdCBvZiBlbWFpbCBhZGRyZXNzZXMgb2Yg
dXNlcnMgc3Vic2NyaWJlZCB0byB0aGUgbWFpbGluZyBsaXN0CisJICogQHJldHVybiBhcnJheQor
CSAqLworCWZ1bmN0aW9uIGdldE1haWxMaXN0KCkgeworCQkkYXBwbGljYXRpb24gPSYgUEtQQXBw
bGljYXRpb246OmdldEFwcGxpY2F0aW9uKCk7CisJCSRwcm9kdWN0TmFtZSA9ICRhcHBsaWNhdGlv
bi0+Z2V0TmFtZSgpOworCQkkY29udGV4dCA9JiBSZXF1ZXN0OjpnZXRDb250ZXh0KCk7CisJCSRj
b250ZXh0SWQgPSAkY29udGV4dC0+Z2V0SWQoKTsKKwkJJG1haWxMaXN0ID0gYXJyYXkoKTsKKwkJ
CisJCSRyZXN1bHQgPSYgJHRoaXMtPnJldHJpZXZlKAorCQkJJ1NFTEVDVCBzZXR0aW5nX3ZhbHVl
IEZST00gbm90aWZpY2F0aW9uX3NldHRpbmdzIFdIRVJFIHNldHRpbmdfbmFtZSA9ID8gQU5EIHBy
b2R1Y3QgPSA/IEFORCBjb250ZXh0ID0gPycsCisJCQlhcnJheSgKKwkJCQknbWFpbExpc3QnLAor
CQkJCSRwcm9kdWN0TmFtZSwKKwkJCQkoaW50KSAkY29udGV4dElkCisJCQkpCisJCSk7CisKKwkJ
d2hpbGUgKCEkcmVzdWx0LT5FT0YpIHsKKwkJCSRyb3cgPSAkcmVzdWx0LT5HZXRSb3dBc3NvYyhm
YWxzZSk7CisJCQkkbWFpbExpc3RbXSA9ICRyb3dbJ3NldHRpbmdfdmFsdWUnXTsKKwkJCSRyZXN1
bHQtPm1vdmVOZXh0KCk7CisJCX0KKworCQkkcmVzdWx0LT5DbG9zZSgpOworCQl1bnNldCgkcmVz
dWx0KTsKKwkJCisJCXJldHVybiAkbWFpbExpc3Q7CisJfQorCisJLyoqCisJICogR2VuZXJhdGVz
IGFuZCBpbnNlcnRzIGEgbmV3IHBhc3N3b3JkIGZvciBhIG1haWxpbmcgbGlzdCB1c2VyCisJICog
QHBhcmFtICRlbWFpbCBzdHJpbmcKKwkgKiBAcmV0dXJuIHN0cmluZworCSAqLworCWZ1bmN0aW9u
IHJlc2V0UGFzc3dvcmQoJGVtYWlsKSB7CisJCSRhcHBsaWNhdGlvbiA9JiBQS1BBcHBsaWNhdGlv
bjo6Z2V0QXBwbGljYXRpb24oKTsKKwkJJHByb2R1Y3ROYW1lID0gJGFwcGxpY2F0aW9uLT5nZXRO
YW1lKCk7CisJCSRjb250ZXh0ID0mIFJlcXVlc3Q6OmdldENvbnRleHQoKTsKKwkJJGNvbnRleHRJ
ZCA9ICRjb250ZXh0LT5nZXRJZCgpOworCQkKKwkJJHJlc3VsdCA9JiAkdGhpcy0+cmV0cmlldmUo
CisJCQknU0VMRUNUIHNldHRpbmdfaWQgRlJPTSBub3RpZmljYXRpb25fc2V0dGluZ3MgV0hFUkUg
c2V0dGluZ19uYW1lID0gPyBBTkQgc2V0dGluZ192YWx1ZSA9ID8gQU5EIHByb2R1Y3QgPSA/IEFO
RCBjb250ZXh0ID0gPycsCisJCQlhcnJheSgKKwkJCQknbWFpbExpc3QnLAorCQkJCSRlbWFpbCwK
KwkJCQkkcHJvZHVjdE5hbWUsCisJCQkJKGludCkgJGNvbnRleHRJZAorCQkJKQorCQkpOworCisJ
CSRyb3cgPSAkcmVzdWx0LT5HZXRSb3dBc3NvYyhmYWxzZSk7CisJCSRzZXR0aW5nSWQgPSAkcm93
WydzZXR0aW5nX2lkJ107CisKKwkJJHJlc3VsdC0+Q2xvc2UoKTsKKwkJdW5zZXQoJHJlc3VsdCk7
CisKKwkJJGFjY2Vzc0tleURhbyA9JiBEQU9SZWdpc3RyeTo6Z2V0REFPKCdBY2Nlc3NLZXlEQU8n
KTsKKwkJJGFjY2Vzc0tleSA9ICRhY2Nlc3NLZXlEYW8tPmdldEFjY2Vzc0tleUJ5VXNlcklkKCdN
YWlsTGlzdENvbnRleHQnLCAkc2V0dGluZ0lkKTsKKworCQlpZiAoJGFjY2Vzc0tleSkgeworCQkJ
JGtleSA9IFZhbGlkYXRpb246OmdlbmVyYXRlUGFzc3dvcmQoKTsKKwkJCSRhY2Nlc3NLZXktPnNl
dEtleUhhc2gobWQ1KCRrZXkpKTsKKwkJCQorCQkJJGFjY2Vzc0tleURhbyA9JiBEQU9SZWdpc3Ry
eTo6Z2V0REFPKCdBY2Nlc3NLZXlEQU8nKTsKKwkJCSRhY2Nlc3NLZXlEYW8tPnVwZGF0ZUFjY2Vz
c0tleSgkYWNjZXNzS2V5KTsKKwkJCXJldHVybiAka2V5OworCQl9IGVsc2UgcmV0dXJuIGZhbHNl
OworCX0KKworCS8qKgorCSAqIEdldCB0aGUgSUQgb2YgdGhlIGxhc3QgaW5zZXJ0ZWQgbm90aWZp
Y2F0aW9uCisJICogQHJldHVybiBpbnQKKwkgKi8KKwlmdW5jdGlvbiBnZXRJbnNlcnROb3RpZmlj
YXRpb25TZXR0aW5nSWQoKSB7CisJCXJldHVybiAkdGhpcy0+Z2V0SW5zZXJ0SWQoJ25vdGlmaWNh
dGlvbl9zZXR0aW5ncycsICdzZXR0aW5nX2lkJyk7CisJfQorCit9CisKKz8+CkluZGV4OiBjbGFz
c2VzL25vdGlmaWNhdGlvbi9QS1BOb3RpZmljYXRpb24uaW5jLnBocAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBm
aWxlOiBjbGFzc2VzL25vdGlmaWNhdGlvbi9QS1BOb3RpZmljYXRpb24uaW5jLnBocApkaWZmIC1O
IGNsYXNzZXMvbm90aWZpY2F0aW9uL1BLUE5vdGlmaWNhdGlvbi5pbmMucGhwCi0tLSAvZGV2L251
bGwJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMAorKysgY2xhc3Nlcy9ub3RpZmljYXRpb24vUEtQ
Tm90aWZpY2F0aW9uLmluYy5waHAJMjggSmFuIDIwMDkgMTk6MjA6MDMgLTAwMDAKQEAgLTAsMCAr
MSwyNTIgQEAKKzw/cGhwCisKKy8qKgorICogQGZpbGUgY2xhc3Nlcy9ub3RpZmljYXRpb24vTm90
aWZpY2F0aW9uLmluYy5waHAKKyAqCisgKiBDb3B5cml